r93072 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r93071‎ | r93072 | r93073 >
Date:17:28, 25 July 2011
Author:demon
Status:resolved
Tags:
Comment:
Merge CodeReview from trunk as of r93046
Modified paths:
  • /branches/wmf/1.17wmf1/extensions/CodeReview (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/CodeReview.alias.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/CodeReview.i18n.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/CodeReview.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/api/ApiQueryCodeComments.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/api/ApiQueryCodeRevisions.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeComment.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeCommentLinker.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodePropChange.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeRepository.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeRevision.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeSignoff.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/backend/RepoStats.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/backend/Subversion.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/codereview.sql (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/modules/ext.codereview.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/modules/ext.codereview.styles.css (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/modules/ext.codereview.tooltips.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/populateFollowupRevisions.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/svnImport.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeCommentsListView.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeReleaseNotes.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRepoListView.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRepoStatsView.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionAuthorLink.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionAuthorView.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionCommitter.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionListView.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionStatusView.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionTagView.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionView.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeStatusChangeListView.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeView.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/SpecialCode.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/SpecialRepoAdmin.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CodeReview/ui/WordCloud.php (modified) (history)

Diff [purge]

Index: branches/wmf/1.17wmf1/extensions/CodeReview/CodeReview.php
@@ -41,7 +41,9 @@
4242 $wgAutoloadClasses['ApiCodeDiff'] = $dir . 'api/ApiCodeDiff.php';
4343 $wgAutoloadClasses['ApiRevisionUpdate'] = $dir . 'api/ApiRevisionUpdate.php';
4444 $wgAutoloadClasses['ApiQueryCodeComments'] = $dir . 'api/ApiQueryCodeComments.php';
 45+$wgAutoloadClasses['ApiQueryCodePaths'] = $dir . 'api/ApiQueryCodePaths.php';
4546 $wgAutoloadClasses['ApiQueryCodeRevisions'] = $dir . 'api/ApiQueryCodeRevisions.php';
 47+$wgAutoloadClasses['ApiQueryCodeTags'] = $dir . 'api/ApiQueryCodeTags.php';
4648 $wgAutoloadClasses['CodeRevisionCommitterApi'] = $dir . 'api/CodeRevisionCommitterApi.php';
4749
4850 $wgAutoloadClasses['SubversionAdaptor'] = $dir . 'backend/Subversion.php';
@@ -79,6 +81,13 @@
8082 $wgAutoloadClasses['SpecialRepoAdmin'] = $dir . 'ui/SpecialRepoAdmin.php';
8183 $wgAutoloadClasses['WordCloud'] = $dir . 'ui/WordCloud.php';
8284
 85+$wgAutoloadClasses['SvnRevTablePager'] = $dir . 'ui/CodeRevisionListView.php';
 86+$wgAutoloadClasses['CodeCommentsTablePager'] = $dir . 'ui/CodeCommentsListView.php';
 87+$wgAutoloadClasses['SvnRevAuthorTablePager'] = $dir . 'ui/CodeRevisionAuthorView.php';
 88+$wgAutoloadClasses['SvnRevStatusTablePager'] = $dir . 'ui/CodeRevisionStatusView.php';
 89+$wgAutoloadClasses['SvnRevTagTablePager'] = $dir . 'ui/CodeRevisionTagView.php';
 90+$wgAutoloadClasses['CodeStatusChangeTablePager'] = $dir . 'ui/CodeRevisionStatusView.php';
 91+
8392 $wgSpecialPages['Code'] = 'SpecialCode';
8493 $wgSpecialPageGroups['Code'] = 'developer';
8594 $wgSpecialPages['RepoAdmin'] = 'SpecialRepoAdmin';
@@ -88,7 +97,9 @@
8998 $wgAPIModules['codediff'] = 'ApiCodeDiff';
9099 $wgAPIModules['coderevisionupdate'] ='ApiRevisionUpdate';
91100 $wgAPIListModules['codecomments'] = 'ApiQueryCodeComments';
 101+$wgAPIListModules['codepaths'] = 'ApiQueryCodePaths';
92102 $wgAPIListModules['coderevisions'] = 'ApiQueryCodeRevisions';
 103+$wgAPIListModules['codetags'] = 'ApiQueryCodeTags';
93104
94105 $wgExtensionMessagesFiles['CodeReview'] = $dir . 'CodeReview.i18n.php';
95106 $wgExtensionAliasesFiles['CodeReview'] = $dir . 'CodeReview.alias.php';
@@ -142,6 +153,7 @@
143154 // Styles and any code common to all Special:Code subviews:
144155 $wgResourceModules['ext.codereview'] = array(
145156 'scripts' => 'ext.codereview.js',
 157+ 'dependencies' => 'jquery.suggestions',
146158 ) + $commonModuleInfo;
147159
148160 $wgResourceModules['ext.codereview.styles'] = array(
@@ -156,9 +168,18 @@
157169 // Revision tooltips CodeRevisionView:
158170 $wgResourceModules['ext.codereview.tooltips'] = array(
159171 'scripts' => 'ext.codereview.tooltips.js',
160 - 'dependencies' => 'jquery.tipsy'
 172+ 'dependencies' => 'jquery.tipsy',
 173+ 'messages' => array_merge( CodeRevision::getPossibleStateMessageKeys(), array( 'code-tooltip-withsummary', 'code-tooltip-withoutsummary' ) ),
161174 ) + $commonModuleInfo;
162175
 176+// Revision 'scapmap':
 177+$wgResourceModules['ext.codereview.overview'] = array(
 178+ 'scripts' => 'ext.codereview.overview.js',
 179+ 'styles' => 'ext.codereview.overview.css',
 180+ 'dependencies' => 'jquery.tipsy',
 181+ 'messages' => array( 'codereview-overview-title', 'codereview-overview-desc' ),
 182+) + $commonModuleInfo;
 183+
163184 // If you are running a closed svn, fill the following two lines with the username and password
164185 // of a user allowed to access it. Otherwise, leave it false.
165186 // This is only necessary if using the shell method to access Subversion
@@ -183,7 +204,7 @@
184205
185206 /**
186207 * The maximum number of paths that we will perform a diff on.
187 - * If a revision contains more changed paths than this, we will skip getting the
 208+ * If a revision contains more changed paths than this, we will skip getting the
188209 * diff altogether.
189210 * May be set to 0 to indicate no limit.
190211 */
@@ -215,14 +236,13 @@
216237 $wgHooks['LoadExtensionSchemaUpdates'][] = 'efCodeReviewSchemaUpdates';
217238
218239 /**
219 - * @param $updater DatabaseUpdater
 240+ * @param $updater DatabaseUpdater
220241 * @return bool
221242 */
222243 function efCodeReviewSchemaUpdates( $updater ) {
223244 $base = dirname( __FILE__ );
224245 switch ( $updater->getDB()->getType() ) {
225246 case 'mysql':
226 - $updater->addNewExtension( 'CodeReview', "$base/codereview.sql" );
227247 $updater->addExtensionUpdate( array( 'addTable', 'code_rev',
228248 "$base/codereview.sql", true ) ); // Initial install tables
229249 $updater->addExtensionUpdate( array( 'addField', 'code_rev', 'cr_diff',
@@ -259,15 +279,19 @@
260280 $updater->addExtensionUpdate( array( 'modifyField', 'code_prop_changes', 'cpc_attrib',
261281 "$base/archives/codereview-cpc_attrib_varchar.sql", true ) );
262282 }
 283+
 284+ $updater->addExtensionUpdate( array( 'addIndex', 'code_paths', 'repo_path',
 285+ "$base/archives/codereview-repopath.sql", true ) );
263286 break;
264287 case 'sqlite':
265 - $updater->addNewExtension( 'CodeReview', "$base/codereview.sql" );
266288 $updater->addExtensionUpdate( array( 'addTable', 'code_rev', "$base/codereview.sql", true ) );
267289 $updater->addExtensionUpdate( array( 'addTable', 'code_signoffs', "$base/archives/code_signoffs.sql", true ) );
268290 $updater->addExtensionUpdate( array( 'addField', 'code_signoffs', 'cs_user',
269291 "$base/archives/code_signoffs_userid-sqlite.sql", true ) );
270292 $updater->addExtensionUpdate( array( 'addField', 'code_signoffs', 'cs_timestamp_struck',
271293 "$base/archives/code_signoffs_timestamp_struck.sql", true ) );
 294+ $updater->addExtensionUpdate( array( 'addIndex', 'code_paths', 'repo_path',
 295+ "$base/archives/codereview-repopath.sql", true ) );
272296 break;
273297 case 'postgres':
274298 // TODO
@@ -283,3 +307,18 @@
284308 $files[] = dirname( __FILE__ ) . '/tests/CodeReviewTest.php';
285309 return true;
286310 }
 311+
 312+# Add global JS vars
 313+$wgHooks['MakeGlobalVariablesScript'][] = 'efCodeReviewResourceLoaderGlobals';
 314+
 315+function efCodeReviewResourceLoaderGlobals( &$values ){
 316+ # Bleugh, this is horrible
 317+ global $wgTitle;
 318+ if( $wgTitle->isSpecial( 'Code' ) ){
 319+ $bits = explode( '/', $wgTitle->getText() );
 320+ if( isset( $bits[1] ) ){
 321+ $values['wgCodeReviewRepository'] = $bits[1];
 322+ }
 323+ }
 324+ return true;
 325+}
Index: branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeRevision.php
@@ -165,8 +165,8 @@
166166 * confusing (e.g. in e-mails, page titles etc.). If only one repository is
167167 * defined then this returns the same as getIdString() as there is no ambiguity.
168168 *
169 - * @param null $id
170 - * @return
 169+ * @param $id int
 170+ * @return string
171171 */
172172 public function getIdStringUnique( $id = null ) {
173173 if ( $id === null ) {
@@ -240,6 +240,21 @@
241241 }
242242
243243 /**
 244+ * @return array
 245+ */
 246+ public static function getPossibleStateMessageKeys() {
 247+ return array_map( array( 'self', 'makeStateMessageKey'), self::getPossibleStates() );
 248+ }
 249+
 250+ /**
 251+ * @param $key string
 252+ * @return string
 253+ */
 254+ private static function makeStateMessageKey( $key ) {
 255+ return "code-status-$key";
 256+ }
 257+
 258+ /**
244259 * List of all flags a user can mark themself as having done to a revision
245260 * @return Array
246261 */
@@ -446,7 +461,7 @@
447462 // No sense in notifying the author of this rev if they are a commenter/the author on the target rev
448463 if ( $commitAuthorId == $user->getId() ) {
449464 continue;
450 - }
 465+ }
451466
452467 if ( $user->canReceiveEmail() ) {
453468 // Send message in receiver's language
@@ -743,7 +758,7 @@
744759 return $comments;
745760 }
746761
747 - /*
 762+ /**
748763 * @return int
749764 */
750765 public function getCommentCount() {
@@ -813,8 +828,10 @@
814829 }
815830
816831 /**
817 - * "Review" being revision commenters, and people who set/removed tags and changed the status
818 - */
 832+ * "Review" being revision commenters, and people who set/removed tags and changed the status
 833+ *
 834+ * @return array
 835+ */
819836 public function getReviewContributingUsers() {
820837 return array_merge( $this->getCommentingUsers(), $this->getPropChangeUsers() );
821838 }
@@ -936,7 +953,7 @@
937954
938955 /**
939956 * Get all sign-offs for this revision
940 - * @param $from DB_SLAVE or DB_MASTER
 957+ * @param $from int DB_SLAVE or DB_MASTER
941958 * @return array of CodeSignoff objects
942959 */
943960 public function getSignoffs( $from = DB_SLAVE ) {
@@ -1018,10 +1035,9 @@
10191036 }
10201037
10211038 /**
1022 - * @param $addTags
1023 - * @param $removeTags
1024 - * @param null $user
1025 - * @return void
 1039+ * @param $addTags array
 1040+ * @param $removeTags array
 1041+ * @param $user User
10261042 */
10271043 public function changeTags( $addTags, $removeTags, $user = null ) {
10281044 // Get the current tags and see what changes
@@ -1258,9 +1274,8 @@
12591275 }
12601276
12611277 /**
1262 - * @param $status
1263 - * @param $oldStatus
1264 - * @return void
 1278+ * @param $status string
 1279+ * @param $oldStatus string
12651280 */
12661281 protected function sendStatusToUDP( $status, $oldStatus ) {
12671282 global $wgCodeReviewUDPAddress, $wgCodeReviewUDPPort, $wgCodeReviewUDPPrefix, $wgUser;
Index: branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeRepository.php
@@ -33,7 +33,7 @@
3434 * @param $id Int Database id for the repo
3535 * @param $name String User-defined name for the repository
3636 * @param $path String Path to SVN
37 - * @param $viewVc String Base path to ViewVC URLs
 37+ * @param $viewvc String Base path to ViewVC URLs
3838 * @param $bugzilla String Base path to Bugzilla
3939 */
4040 public function __construct( $id, $name, $path, $viewvc, $bugzilla ) {
@@ -44,6 +44,10 @@
4545 $this->bugzilla = $bugzilla;
4646 }
4747
 48+ /**
 49+ * @param $name string
 50+ * @return CodeRepository|null
 51+ */
4852 public static function newFromName( $name ) {
4953 $dbw = wfGetDB( DB_MASTER );
5054 $row = $dbw->selectRow(
@@ -64,6 +68,10 @@
6569 }
6670 }
6771
 72+ /**
 73+ * @param $id int
 74+ * @return CodeRepository|null
 75+ */
6876 public static function newFromId( $id ) {
6977 $dbw = wfGetDB( DB_MASTER );
7078 $row = $dbw->selectRow(
@@ -84,6 +92,10 @@
8593 }
8694 }
8795
 96+ /**
 97+ * @param $row
 98+ * @return CodeRepository
 99+ */
88100 static function newFromRow( $row ) {
89101 return new CodeRepository(
90102 intval( $row->repo_id ),
@@ -94,6 +106,9 @@
95107 );
96108 }
97109
 110+ /**
 111+ * @return array
 112+ */
98113 static function getRepoList() {
99114 $dbr = wfGetDB( DB_SLAVE );
100115 $options = array( 'ORDER BY' => 'repo_name' );
@@ -105,28 +120,46 @@
106121 return $repos;
107122 }
108123
 124+ /**
 125+ * @return int
 126+ */
109127 public function getId() {
110128 return intval( $this->id );
111129 }
112130
 131+ /**
 132+ * @return String
 133+ */
113134 public function getName() {
114135 return $this->name;
115136 }
116137
 138+ /**
 139+ * @return String
 140+ */
117141 public function getPath() {
118142 return $this->path;
119143 }
120144
 145+ /**
 146+ * @return String
 147+ */
121148 public function getViewVcBase() {
122149 return $this->viewVc;
123150 }
124151
 152+ /**
 153+ * @return String
 154+ */
125155 public function getBugzillaBase() {
126156 return $this->bugzilla;
127157 }
128158
129159 /**
130 - * Return a bug URL or false.
 160+ * Return a bug URL or false
 161+ *
 162+ * @param $bugId int|string
 163+ * @return string|false.
131164 */
132165 public function getBugPath( $bugId ) {
133166 if ( $this->bugzilla ) {
@@ -136,6 +169,9 @@
137170 return false;
138171 }
139172
 173+ /**
 174+ * @return int
 175+ */
140176 public function getLastStoredRev() {
141177 $dbr = wfGetDB( DB_SLAVE );
142178 $row = $dbr->selectField(
@@ -147,6 +183,9 @@
148184 return intval( $row );
149185 }
150186
 187+ /**
 188+ * @return array
 189+ */
151190 public function getAuthorList() {
152191 global $wgMemc;
153192 $key = wfMemcKey( 'codereview', 'authors', $this->getId() );
@@ -173,6 +212,9 @@
174213 return $authors;
175214 }
176215
 216+ /**
 217+ * @return int
 218+ */
177219 public function getAuthorCount() {
178220 return count( $this->getAuthorList() );
179221 }
@@ -208,6 +250,8 @@
209251
210252 /**
211253 * Load a particular revision out of the DB
 254+ * @param $id int|string
 255+ * @return CodeRevision
212256 */
213257 public function getRevision( $id ) {
214258 if ( !$this->isValidRev( $id ) ) {
@@ -231,6 +275,9 @@
232276 /**
233277 * Returns the supplied revision ID as a string ready for output, including the
234278 * appropriate (localisable) prefix (e.g. "r123" instead of 123).
 279+ *
 280+ * @param $id string
 281+ * @return string
235282 */
236283 public function getRevIdString( $id ) {
237284 return wfMsg( 'code-rev-id', $id );
@@ -244,6 +291,9 @@
245292 * confusing (e.g. in e-mails, page titles etc.). If only one repository is
246293 * defined then this returns the same as getRevIdString() as there
247294 * is no ambiguity.
 295+ *
 296+ * @param $id string
 297+ * @return string
248298 */
249299 public function getRevIdStringUnique( $id ) {
250300 $id = wfMsg( 'code-rev-id', $id );
@@ -258,8 +308,8 @@
259309 }
260310
261311 /**
262 - * @param int $rev Revision ID
263 - * @param $useCache 'skipcache' to avoid caching
 312+ * @param $rev int Revision ID
 313+ * @param $useCache string 'skipcache' to avoid caching
264314 * 'cached' to *only* fetch if cached
265315 * @return string|int The diff text on success, a DIFFRESULT_* constant on failure.
266316 */
@@ -471,6 +521,9 @@
472522 /**
473523 * returns a User object if $author has a wikiuser associated,
474524 * or false
 525+ *
 526+ * @param $author string
 527+ *
475528 * @return User|bool
476529 */
477530 public function authorWikiUser( $author ) {
@@ -503,6 +556,10 @@
504557 /**
505558 * returns an author name if $name wikiuser has an author associated,
506559 * or false
 560+ *
 561+ * @param $name string
 562+ *
 563+ * @return string|false
507564 */
508565 public function wikiUserAuthor( $name ) {
509566 if ( isset( self::$authorLinks[$name] ) )
@@ -523,21 +580,31 @@
524581
525582 /**
526583 * @static
527 - * @param int $error
528 - * @return string
 584+ * @param $diff int (error code) or string (diff text), as returned from getDiff()
 585+ * @return string (error message, or empty string if valid diff)
529586 */
530 - public static function getDiffErrorMessage( $error ) {
531 - switch( $error ) {
532 - case self::DIFFRESULT_BadRevision:
533 - return 'Bad revision specified.';
534 - case self::DIFFRESULT_TooManyPaths:
535 - return 'Too many paths returned to diff';
536 - case self::DIFFRESULT_NoDataReturned:
537 - return 'No data returned for diff';
538 - case self::DIFFRESULT_NotInCache:
539 - return 'Not in cache';
540 - default:
541 - return 'Unknown';
 587+ public static function getDiffErrorMessage( $diff ) {
 588+ global $wgCodeReviewMaxDiffPaths;
 589+
 590+ if ( is_integer( $diff ) ) {
 591+ switch( $diff ) {
 592+ case self::DIFFRESULT_BadRevision:
 593+ return 'Bad revision';
 594+ case self::DIFFRESULT_NothingToCompare:
 595+ return 'Nothing to compare';
 596+ case self::DIFFRESULT_TooManyPaths:
 597+ return 'Too many paths ($wgCodeReviewMaxDiffPaths = '
 598+ . $wgCodeReviewMaxDiffPaths . ')';
 599+ case self::DIFFRESULT_NoDataReturned:
 600+ return 'No data returned - no diff data, or connection lost';
 601+ case self::DIFFRESULT_NotInCache:
 602+ return 'Not in cache';
 603+ default:
 604+ return 'Unknown reason!';
 605+ }
542606 }
 607+
 608+ // TODO: Should this return "", $diff or a message string, e.g. "OK"?
 609+ return "";
543610 }
544611 }
Index: branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeComment.php
@@ -3,14 +3,32 @@
44 class CodeComment {
55 public $id, $text, $user, $userText, $timestamp, $review, $sortkey, $attrib, $removed, $added;
66
 7+ /**
 8+ * @var CodeRevision
 9+ */
 10+ public $rev;
 11+
 12+ /**
 13+ * @param $rev CodeRevision
 14+ */
715 function __construct( $rev ) {
816 $this->rev = $rev;
917 }
1018
 19+ /**
 20+ * @param $rev Revision
 21+ * @param $row
 22+ * @return CodeComment
 23+ */
1124 static function newFromRow( $rev, $row ) {
1225 return self::newFromData( $rev, get_object_vars( $row ) );
1326 }
1427
 28+ /**
 29+ * @param $rev Revision
 30+ * @param $data array
 31+ * @return CodeComment
 32+ */
1533 static function newFromData( $rev, $data ) {
1634 $comment = new CodeComment( $rev );
1735 $comment->id = intval( $data['cc_id'] );
@@ -23,6 +41,9 @@
2442 return $comment;
2543 }
2644
 45+ /**
 46+ * @return int
 47+ */
2748 function threadDepth() {
2849 $timestamps = explode( ",", $this->sortkey );
2950 return count( $timestamps );
Index: branches/wmf/1.17wmf1/extensions/CodeReview/backend/Subversion.php
@@ -7,6 +7,10 @@
88 */
99 protected $mRepoPath;
1010
 11+ /**
 12+ * @param $repo string
 13+ * @return SubversionAdaptor
 14+ */
1115 public static function newFromRepo( $repo ) {
1216 global $wgSubversionProxy, $wgSubversionProxyTimeout;
1317 if ( $wgSubversionProxy ) {
@@ -19,7 +23,7 @@
2024 }
2125
2226 /**
23 - * @param $repo String Path to SVN Repo
 27+ * @param $repo String Path to SVN Repo
2428 */
2529 function __construct( $repoPath ) {
2630 $this->mRepoPath = $repoPath;
@@ -63,6 +67,15 @@
6468 */
6569 class SubversionPecl extends SubversionAdaptor {
6670
 71+ function __construct( $repoPath ) {
 72+ parent::__construct( $repoPath );
 73+ global $wgSubversionUser, $wgSubversionPassword;
 74+ if ( $wgSubversionUser ) {
 75+ svn_auth_set_parameter( SVN_AUTH_PARAM_DEFAULT_USERNAME, $wgSubversionUser );
 76+ svn_auth_set_parameter( SVN_AUTH_PARAM_DEFAULT_PASSWORD, $wgSubversionPassword );
 77+ }
 78+ }
 79+
6780 /**
6881 * Just return true for now. svn_info() is too slow to be useful...
6982 *
Property changes on: branches/wmf/1.17wmf1/extensions/CodeReview/backend/Subversion.php
___________________________________________________________________
Modified: svn:mergeinfo
7083 Merged /trunk/extensions/CodeReview/backend/Subversion.php:r85971-86048,86050-86476,86478-87011,87013-93070
Index: branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodePropChange.php
@@ -9,14 +9,27 @@
1010 */
1111 public $rev;
1212
 13+ /**
 14+ * @param $rev CodeRevision
 15+ */
1316 function __construct( $rev ) {
1417 $this->rev = $rev;
1518 }
1619
 20+ /**
 21+ * @param $rev CodeRevision
 22+ * @param $row
 23+ * @return CodePropChange
 24+ */
1725 static function newFromRow( $rev, $row ) {
1826 return self::newFromData( $rev, get_object_vars( $row ) );
1927 }
2028
 29+ /**
 30+ * @param $rev CodeRevision
 31+ * @param $data
 32+ * @return CodePropChange
 33+ */
2134 static function newFromData( $rev, $data ) {
2235 $change = new CodePropChange( $rev );
2336 $change->attrib = $data['cpc_attrib'];
Index: branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeCommentLinker.php
@@ -12,12 +12,19 @@
1313 */
1414 protected $mRepo;
1515
 16+ /**
 17+ * @param $repo CodeRepository
 18+ */
1619 function __construct( $repo ) {
1720 global $wgUser;
1821 $this->skin = $wgUser->getSkin();
1922 $this->mRepo = $repo;
2023 }
2124
 25+ /**
 26+ * @param $text string
 27+ * @return string
 28+ */
2229 function link( $text ) {
2330 # Catch links like http://www.mediawiki.org/wiki/Special:Code/MediaWiki/44245#c829
2431 # Ended by space or brackets (like those pesky <br /> tags)
@@ -30,12 +37,20 @@
3138 return $text;
3239 }
3340
 41+ /**
 42+ * @param $arr array
 43+ * @return string
 44+ */
3445 function generalLink( $arr ) {
3546 $url = $arr[2] . $arr[3];
3647 // Re-add the surrounding space/punctuation
3748 return $arr[1] . $this->makeExternalLink( $url, $url );
3849 }
3950
 51+ /**
 52+ * @param $arr array
 53+ * @return string
 54+ */
4055 function messageBugLink( $arr ) {
4156 $text = $arr[0];
4257 $bugNo = intval( $arr[1] );
@@ -47,6 +62,9 @@
4863 }
4964 }
5065
 66+ /**
 67+ * @param $matches array
 68+ */
5169 function messageRevLink( $matches ) {
5270 $text = $matches[0];
5371 $rev = intval( $matches[1] );
@@ -57,29 +75,50 @@
5876 return $this->makeInternalLink( $title, $text );
5977 }
6078
 79+ /**
 80+ * @param $url string
 81+ * @param $text string
 82+ * @return string
 83+ */
6184 abstract function makeExternalLink( $url, $text );
6285
6386 abstract function makeInternalLink( $title, $text );
6487 }
6588
6689 class CodeCommentLinkerHtml extends CodeCommentLinker {
 90+
 91+ /**
 92+ * @param $url string
 93+ * @param $text string
 94+ * @return string
 95+ */
6796 function makeExternalLink( $url, $text ) {
6897 return $this->skin->makeExternalLink( $url, $text );
6998 }
7099
 100+ /**
 101+ * @param $title Title
 102+ * @param $text string
 103+ * @return string
 104+ */
71105 function makeInternalLink( $title, $text ) {
72106 return $this->skin->link( $title, $text );
73107 }
74108 }
75109
76110 class CodeCommentLinkerWiki extends CodeCommentLinker {
 111+ /**
 112+ * @param $url string
 113+ * @param $text string
 114+ * @return string
 115+ */
77116 function makeExternalLink( $url, $text ) {
78117 return "[$url $text]";
79118 }
80119
81120 /**
82 - * @param Title $title
83 - * @param $text
 121+ * @param $title Title
 122+ * @param $text string
84123 * @return string
85124 */
86125 function makeInternalLink( $title, $text ) {
Index: branches/wmf/1.17wmf1/extensions/CodeReview/backend/RepoStats.php
@@ -1,6 +1,10 @@
22 <?php
33
44 class RepoStats {
 5+
 6+ /**
 7+ * @var CodeRepository
 8+ */
59 private $repo;
610
711 public $time;
@@ -9,8 +13,13 @@
1014 public $revisions,
1115 $authors,
1216 $states,
13 - $fixmes;
 17+ $fixmes,
 18+ $new;
1419
 20+ /**
 21+ * @param CodeRepository $repo
 22+ * @return RepoStats
 23+ */
1524 public static function newFromRepo( CodeRepository $repo ) {
1625 global $wgMemc, $wgCodeReviewRepoStatsCacheTime;
1726
@@ -28,6 +37,9 @@
2938 return $stats;
3039 }
3140
 41+ /**
 42+ * @param $repo CodeRepository
 43+ */
3244 public function __construct( CodeRepository $repo ) {
3345 $this->repo = $repo;
3446 $this->time = wfTimestamp( TS_MW );
@@ -60,10 +72,23 @@
6173 $this->states[$row->cr_status] = $row->revs;
6274 }
6375
64 - $this->fixmes = array();
 76+ $this->fixmes = $this->getAuthorStatusCounts( 'fixme' );
 77+ $this->new = $this->getAuthorStatusCounts( 'new' );
 78+
 79+ wfProfileOut( __METHOD__ );
 80+ }
 81+
 82+ /**
 83+ * @param $status string
 84+ *
 85+ * @return array
 86+ */
 87+ private function getAuthorStatusCounts( $status ) {
 88+ $array = array();
 89+ $dbr = wfGetDB( DB_SLAVE );
6590 $res = $dbr->select( 'code_rev',
6691 array( 'COUNT(*) AS revs', 'cr_author' ),
67 - array( 'cr_repo_id' => $this->repo->getId(), 'cr_status' => 'fixme' ),
 92+ array( 'cr_repo_id' => $this->repo->getId(), 'cr_status' => $status ),
6893 __METHOD__,
6994 array(
7095 'GROUP BY' => 'cr_author',
@@ -72,9 +97,8 @@
7398 )
7499 );
75100 foreach ( $res as $row ) {
76 - $this->fixmes[$row->cr_author] = $row->revs;
 101+ $array[$row->cr_author] = $row->revs;
77102 }
78 -
79 - wfProfileOut( __METHOD__ );
 103+ return $array;
80104 }
81105 }
\ No newline at end of file
Index: branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeSignoff.php
@@ -98,7 +98,7 @@
9999 /**
100100 * Create a CodeSignoff object from a revision and a database row in array format
101101 * @param $rev CodeRevision object the signoff belongs to
102 - * @param $row array Database row with cs_* fields from code_signoffs
 102+ * @param $data array Database row with cs_* fields from code_signoffs
103103 * @return CodeSignoff
104104 */
105105 public static function newFromData( $rev, $data ) {
Index: branches/wmf/1.17wmf1/extensions/CodeReview/svnImport.php
@@ -33,14 +33,19 @@
3434 }
3535 }
3636
37 - $repo = $this->getArg();
 37+ $repo = $this->getArg( 0 );
 38+
3839 if ( $repo == "all" ) {
3940 $repoList = CodeRepository::getRepoList();
4041 foreach ( $repoList as $repoInfo ) {
4142 $this->importRepo( $repoInfo->getName(), null, $cacheSize );
4243 }
4344 } else {
44 - $this->importRepo( $repo, $this->getArg( 1 ), $cacheSize );
 45+ $startRev = null;
 46+ if ( $this->hasArg( 1 ) ) {
 47+ $startRev = $this->getArg( 1 );
 48+ }
 49+ $this->importRepo( $repo, $startRev, $cacheSize );
4550 }
4651 }
4752
@@ -50,7 +55,8 @@
5156 * @param $start Int Revision to begin the import from (Default: null, means last stored revision);
5257 */
5358 private function importRepo( $repoName, $start = null, $cacheSize = 0 ) {
54 - global $wgCodeReviewImportBatchSize, $wgCodeReviewMaxDiffPaths;
 59+ global $wgCodeReviewImportBatchSize;
 60+ static $adaptorReported = false;
5561
5662 $repo = CodeRepository::newFromName( $repoName );
5763
@@ -60,7 +66,12 @@
6167 }
6268
6369 $svn = SubversionAdaptor::newFromRepo( $repo->getPath() );
64 - $this->output( "Using " . get_class($svn). " adaptor\n" );
 70+ if ( !$adaptorReported ) {
 71+ $this->output( "Using " . get_class($svn). " adaptor\n" );
 72+ $adaptorReported = true;
 73+ }
 74+
 75+ $this->output( "IMPORT FROM REPO: $repoName\n" );
6576 $lastStoredRev = $repo->getLastStoredRev();
6677 $this->output( "Last stored revision: $lastStoredRev\n" );
6778
@@ -69,6 +80,7 @@
7081 $startTime = microtime( true );
7182 $revCount = 0;
7283 $start = ( $start !== null ) ? intval( $start ) : $lastStoredRev + 1;
 84+
7385 /*
7486 * FIXME: when importing only a part of a repository, the given path
7587 * might not have been created with revision 1. For example, the
@@ -79,7 +91,7 @@
8092 return;
8193 }
8294
83 - $this->output( "Syncing repo $repoName from r$start to HEAD...\n" );
 95+ $this->output( "Syncing from r$start to HEAD...\n" );
8496
8597 if ( !$svn->canConnect() ) {
8698 $this->error( "Unable to connect to repository." );
@@ -154,25 +166,7 @@
155167 $diff = $repo->getDiff( $row->cr_id ); // trigger caching
156168 $msg = "Diff r{$row->cr_id} ";
157169 if ( is_integer( $diff ) ) {
158 - $msg .= "Skipped: ";
159 - switch ($diff) {
160 - case CodeRepository::DIFFRESULT_BadRevision:
161 - $msg .= "Bad revision";
162 - break;
163 - case CodeRepository::DIFFRESULT_NothingToCompare:
164 - $msg .= "Nothing to compare";
165 - break;
166 - case CodeRepository::DIFFRESULT_TooManyPaths:
167 - $msg .= "Too many paths (\$wgCodeReviewMaxDiffPaths = "
168 - . $wgCodeReviewMaxDiffPaths . ")";
169 - break;
170 - case CodeRepository::DIFFRESULT_NoDataReturned:
171 - $msg .= "No data returned - no diff data, or connection lost.";
172 - break;
173 - default:
174 - $msg .= "Unknown reason!";
175 - break;
176 - }
 170+ $msg .= "Skipped: " . CodeRepository::getDiffErrorMessage( $diff );
177171 } else {
178172 $msg .= "done";
179173 }
Index: branches/wmf/1.17wmf1/extensions/CodeReview/codereview.sql
@@ -65,7 +65,7 @@
6666 cr_diff mediumblob NULL,
6767 -- Text flags: gzip,utf-8,external
6868 cr_flags tinyblob NOT NULL,
69 -
 69+
7070 primary key (cr_repo_id, cr_id)
7171 ) /*$wgDBTableOptions*/;
7272
@@ -116,6 +116,7 @@
117117 primary key (cp_repo_id, cp_rev_id, cp_path)
118118 ) /*$wgDBTableOptions*/;
119119
 120+CREATE INDEX /*i*/repo_path ON /*_*/code_paths (cp_repo_id, cp_path);
120121
121122 -- And for our commenting system...
122123 -- To specify follow-up relationships...
@@ -235,10 +236,10 @@
236237 -- Type of signoff. Current values: 'inspected', 'tested'
237238 -- See CodeRevision::getPossibleFlags() (in backend/CodeRevision.php) for most up to date list
238239 cs_flag varchar(25) not null,
239 -
 240+
240241 -- Timestamp of the sign-off
241242 cs_timestamp binary(14) not null default '',
242 -
 243+
243244 -- Timestamp the sign-off was struck, or Block::infinity() if not struck
244245 cs_timestamp_struck varbinary(14) not null default 'infinity'
245246 ) /*$wgDBTableOptions*/;
Index: branches/wmf/1.17wmf1/extensions/CodeReview/CodeReview.i18n.php
@@ -38,7 +38,7 @@
3939 'code-tags-no-tags' => 'No tags exist in this repository.',
4040 'code-authors-text' => 'Below is a list of repo authors in order of commit name. Local wiki accounts are shown in parentheses. Data may be cached.',
4141 'code-author-haslink' => 'This author is linked to the wiki user $1',
42 - 'code-author-orphan' => 'This author has no link with a wiki account',
 42+ 'code-author-orphan' => 'SVN user/Author $1 has no link with a wiki account',
4343 'code-author-dolink' => 'Link this author to a wiki user:',
4444 'code-author-alterlink' => 'Change the wiki user linked to this author:',
4545 'code-author-orunlink' => 'Or unlink this wiki user:',
@@ -95,7 +95,7 @@
9696 'code-status-new' => 'new',
9797 'code-status-desc-new' => 'Revision is pending an action (default status).',
9898 'code-status-fixme' => 'fixme',
99 - 'code-status-desc-fixme' => 'A reviewer marked this revision introduce a bug or is broken. It should be corrected.',
 99+ 'code-status-desc-fixme' => 'Revision introduced a bug or is broken. It should be fixed or reverted.',
100100 'code-status-reverted' => 'reverted',
101101 'code-status-desc-reverted' => 'Revision was undone by a later revision.',
102102 'code-status-resolved' => 'resolved',
@@ -119,14 +119,17 @@
120120 'code-signoff-struckdate' => '$1 (struck $2)',
121121 'code-pathsearch-legend' => 'Search revisions in this repo by path',
122122 'code-pathsearch-path' => 'Path:',
123 - 'code-pathsearch-filter' => 'Filter applied:',
 123+ 'code-pathsearch-filter' => 'Show only:',
124124 'code-revfilter-cr_status' => 'Status = $1',
125125 'code-revfilter-cr_author' => 'Author = $1',
 126+ 'code-revfilter-ct_tag' => 'Tag = $1',
126127 'code-revfilter-clear' => 'Clear filter',
127128 'code-rev-submit' => 'Save changes',
128129 'code-rev-submit-accesskey' => 's',
129130 'code-rev-submit-next' => 'Save & next unresolved',
130131 'code-rev-submit-next-accesskey' => '',
 132+ 'code-rev-next' => 'Next unresolved',
 133+ 'code-rev-next-accesskey' => '',
131134 'code-batch-status' => 'Change status:',
132135 'code-batch-tags' => 'Change tags:',
133136 'codereview-batch-title' => 'Change all selected revisions',
@@ -141,6 +144,9 @@
142145
143146 'codereview-reply-link' => 'reply',
144147
 148+ 'codereview-overview-title' => 'Overview',
 149+ 'codereview-overview-desc' => 'Show a graphical overview of this list',
 150+
145151 'codereview-email-subj' => '[$1 $2]: New comment added',
146152 'codereview-email-body' => 'User "$1" posted a comment on $3.
147153
@@ -198,9 +204,13 @@
199205 'code-stats-header' => 'Statistics for repository $1',
200206 'code-stats-main' => 'As of $1, the repository has $2 {{PLURAL:$2|revision|revisions}} by [[Special:Code/$3/author|$4 {{PLURAL:$4|author|authors}}]].',
201207 'code-stats-status-breakdown' => 'Number of revisions per state',
202 - 'code-stats-fixme-breakdown' => 'Breakdown of fixmes per author',
 208+ 'code-stats-fixme-breakdown' => 'Breakdown of fixme revisions per author',
 209+ 'code-stats-new-breakdown' => 'Breakdown of new revisions per author',
203210 'code-stats-count' => 'Number of revisions',
204211
 212+ 'code-tooltip-withsummary' => 'r$1 [$2] by $3 - $4',
 213+ 'code-tooltip-withoutsummary' => 'r$1 [$2] by $3',
 214+
205215 'repoadmin' => 'Repository Administration',
206216 'repoadmin-new-legend' => 'Create a new repository',
207217 'repoadmin-new-label' => 'Repository name:',
@@ -257,6 +267,8 @@
258268 'code-need-group-with-rights' => 'Do not translate the word <code>repoadmin</code>.',
259269 'code-repo-not-found' => "Message displayed when the requested repository does not exist in the wiki's repo definitions. $1 is the name that was requested, and will be fully escaped before output.",
260270 'code-tags' => '{{Identical|Tag}}',
 271+ 'code-author-total' => 'This is a message shown above the list of contributors. An example can be found at http://www.mediawiki.org/wiki/Special:Code/MediaWiki/author',
 272+ 'code-author-lastcommit' => 'This is a column title in the list of contributors. An example can be found at http://www.mediawiki.org/wiki/Special:Code/MediaWiki/author',
261273 'code-field-id' => '{{Identical|Revision}}',
262274 'code-field-author' => '{{Identical|Author}}',
263275 'code-field-message' => 'This is probably a noun instead of verb, a column header.',
@@ -296,14 +308,14 @@
297309 * {{msg-mw|code-signoff-flag-inspected}}
298310 * {{msg-mw|code-signoff-flag-tested}}',
299311 'code-signoff-field-date' => 'Table column header: timestamp of the sign-off. {{Identical|Date}}',
300 - 'code-signoff-struckdate' => 'This is displayed in the date column for a struck sign-off. $1 is the timestamp of the sign-off, $2 is the timestamp of when it was struck.
301 -Struck is the past tense of verb strike (as in delete).',
 312+ 'code-signoff-struckdate' => 'This is displayed in the date column for a struck sign-off. $1 is the timestamp of the sign-off, $2 is the timestamp of when it was struck. Struck is the past tense of verb strike (as in delete).',
302313 'code-pathsearch-path' => '{{Identical|Path}}',
303314 'code-revfilter-cr_status' => '{{Identical|Status}}',
304315 'code-revfilter-cr_author' => '{{Identical|Author}}',
305316 'code-rev-submit' => 'Caption of the button used to Save changes when viewing a revision.
306317 {{Identical|Save changes}}',
307318 'code-rev-submit-next' => 'Caption of the button used when viewing a revision to Save changes moving to next unresolved revision.',
 319+ 'code-rev-next' => 'Caption of the button used when viewing a revision to move to the next unresolved revision.',
308320 'codereview-batch-submit' => '{{Identical|Submit}}',
309321 'codereview-subtitle' => '{{Identical|For $1}}
310322 ----
@@ -580,6 +592,7 @@
581593 'code-load-diff' => 'جاري تحميل الفرق...',
582594 'code-notes' => 'التعليقات الحديثة',
583595 'code-statuschanges' => 'تغييرات الحالة',
 596+ 'code-mycomments' => 'تعليقاتي',
584597 'code-authors' => 'مؤلفون',
585598 'code-status' => 'الحالات',
586599 'code-tags' => 'وسوم',
@@ -644,7 +657,7 @@
645658 'code-batch-status' => 'غير الحالة:',
646659 'code-batch-tags' => 'غير الوسوم:',
647660 'codereview-batch-title' => 'غير كل المراجعات المختارة',
648 - 'codereview-batch-submit' => 'تنفيذ',
 661+ 'codereview-batch-submit' => 'أرسل',
649662 'code-releasenotes' => 'ملاحظات الإصدار',
650663 'code-release-legend' => 'توليد ملاحظات الإصدار',
651664 'code-release-startrev' => 'مراجعة البداية:',
@@ -675,6 +688,7 @@
676689 ملخص الكوميت:
677690
678691 $3',
 692+ 'code-stats' => 'إحصاءات',
679693 'repoadmin' => 'إدارة المستودع',
680694 'repoadmin-new-legend' => 'إنشاء مستودع جديد',
681695 'repoadmin-new-label' => 'اسم المستودع:',
@@ -837,6 +851,33 @@
838852 'specialpages-group-developer' => 'أدوات المطورين',
839853 );
840854
 855+/** Azerbaijani (Azərbaycanca)
 856+ * @author Cekli829
 857+ */
 858+$messages['az'] = array(
 859+ 'code-comments' => 'Şərhlər',
 860+ 'code-old-status' => 'Qədim status',
 861+ 'code-new-status' => 'Yeni status',
 862+ 'code-authors' => 'müəlliflər',
 863+ 'code-field-author' => 'Müəllif',
 864+ 'code-field-status' => 'Status',
 865+ 'code-field-timestamp' => 'Tarix',
 866+ 'code-field-comments' => 'Şərhlər',
 867+ 'code-field-text' => 'Qeyd',
 868+ 'code-rev-author' => 'Müəllif:',
 869+ 'code-rev-date' => 'Tarix:',
 870+ 'code-rev-message' => 'Şərhlər:',
 871+ 'code-rev-status' => 'Status:',
 872+ 'code-status-new' => 'yeni',
 873+ 'code-status-ok' => 'ok',
 874+ 'code-status-old' => 'qədim',
 875+ 'code-signoff-field-user' => 'İstifadəçi',
 876+ 'code-signoff-field-date' => 'Tarix',
 877+ 'code-revfilter-cr_status' => 'Status = $1',
 878+ 'code-revfilter-cr_author' => 'Müəllif = $1',
 879+ 'repoadmin-edit-button' => 'OK',
 880+);
 881+
841882 /** Bashkir (Башҡортса)
842883 * @author Assele
843884 * @author Haqmar
@@ -927,8 +968,6 @@
928969 'code-status-desc-new' => 'Өлгө ғәмәлде көтә (ғәҙәттәге торош).',
929970 'code-status-fixme' => 'төҙәтергә кәрәк',
930971 'code-status-desc-fixme' => 'Тикшереүсе был өлгөлә хата барлығын йәки боҙолоуын билдәләгән. Уны төҙәтергә кәрәк.',
931 - 'code-status-improveme' => 'яҡшыртырға',
932 - 'code-status-desc-improveme' => 'Тикшереүсе был өлгөнөң эшләнеп еткерелмәгәнлеген билдәләгән. Уны төҙәтергә кәрәк.',
933972 'code-status-reverted' => 'кире алынған',
934973 'code-status-desc-reverted' => 'Өлгө һуңғыраҡ өлгөлә кире алынған',
935974 'code-status-resolved' => 'төҙәтелгән',
@@ -972,7 +1011,7 @@
9731012 'codereview-email-body' => '"$1" ҡулланыусыһы $3 өсөн аңлатма өҫтәне.
9741013
9751014 Тулы URL: $2
976 -Ҡыҫҡаса тасуирлама:
 1015+Ҡыҫҡаса тасуирлама:
9771016
9781017 $5
9791018
@@ -983,7 +1022,7 @@
9841023 'codereview-email-body2' => '"$1" ҡатнашыусыһы $2 өлгөһөнә артабанғы үҙгәрештәр кереткән.
9851024
9861025 Алдағы өлгөнөң тулы URL адресы: $5
987 -Ҡыҫҡаса тасуирлама:
 1026+Ҡыҫҡаса тасуирлама:
9881027
9891028 $6
9901029
@@ -1197,7 +1236,7 @@
11981237 'code-status-new' => 'новая',
11991238 'code-status-desc-new' => 'Вэрсія чакае дзеяньня (статус па змоўчваньні).',
12001239 'code-status-fixme' => 'выправіць',
1201 - 'code-status-desc-fixme' => 'Рэцэнзэнт пазначыў гэтую вэрсію як памылковую, ці як непрацуючую. Яна павінна быць выпраўленая.',
 1240+ 'code-status-desc-fixme' => 'Новая вэрсія ўтрымлівае памылку ці сапсаваная. Яна мусіць быць выпраўленая ці скасаваная.',
12021241 'code-status-reverted' => 'адмененая',
12031242 'code-status-desc-reverted' => 'Вэрсія была замененая больш позьняю.',
12041243 'code-status-resolved' => 'вырашаная',
@@ -1224,9 +1263,11 @@
12251264 'code-pathsearch-filter' => 'Выкарыстаны фільтар:',
12261265 'code-revfilter-cr_status' => 'Статус = $1',
12271266 'code-revfilter-cr_author' => 'Аўтар = $1',
 1267+ 'code-revfilter-ct_tag' => 'Тэг = $1',
12281268 'code-revfilter-clear' => 'Ачысьціць фільтар',
12291269 'code-rev-submit' => 'Захаваць зьмены',
12301270 'code-rev-submit-next' => 'Захаваць і перайсьці да наступнай зьмены',
 1271+ 'code-rev-next' => 'Наступная нявырашаная',
12311272 'code-batch-status' => 'Зьмяніць статус:',
12321273 'code-batch-tags' => 'Зьмяніць тэгі:',
12331274 'codereview-batch-title' => 'Зьмяніць усе выбраныя вэрсіі',
@@ -1237,6 +1278,8 @@
12381279 'code-release-endrev' => 'Апошняя вэрсія:',
12391280 'codereview-subtitle' => 'Для $1',
12401281 'codereview-reply-link' => 'адказаць',
 1282+ 'codereview-overview-title' => 'Агляд',
 1283+ 'codereview-overview-desc' => 'Паказаць графічны агляд гэтага сьпісу',
12411284 'codereview-email-subj' => '[$1 $2]: Дададзены новы камэнтар',
12421285 'codereview-email-body' => 'Удзельнік «$1» дадаў камэнтар для $3.
12431286
@@ -1291,8 +1334,11 @@
12921335 'code-stats-header' => 'Статыстыка для сховішча $1',
12931336 'code-stats-main' => 'На $1 ў сховішчы {{PLURAL:$2|утрымліваецца $2 вэрсія|утрымліваюцца $2 вэрсіі|утрымліваюцца $2 вэрсіяў}} [[Special:Code/$3/author|$4 {{PLURAL:$4|аўтара|аўтараў|аўтараў}}]].',
12941337 'code-stats-status-breakdown' => 'Колькасьць вэрсіяў па станах',
1295 - 'code-stats-fixme-breakdown' => 'Разьмеркаваньне запытаў на выпраўленьне па аўтарах',
 1338+ 'code-stats-fixme-breakdown' => 'Разьмеркаваньне вэрсіяў з запытамі на выпраўленьне па аўтарах',
 1339+ 'code-stats-new-breakdown' => 'Разьмеркаваньне новых вэрсіяў па аўтарах',
12961340 'code-stats-count' => 'Колькасьць вэрсіяў',
 1341+ 'code-tooltip-withsummary' => 'r$1 [$2] $3 — $4',
 1342+ 'code-tooltip-withoutsummary' => 'r$1 [$2] $3',
12971343 'repoadmin' => 'Кіраваньне сховішчам коду',
12981344 'repoadmin-new-legend' => 'Стварыць новае сховішча',
12991345 'repoadmin-new-label' => 'Назва сховішча:',
@@ -1337,9 +1383,11 @@
13381384 'code-new-status' => 'Ново състояние',
13391385 'codereview-desc' => '[[Special:Code|Инструмент за преглеждане на код]] с [[Special:RepoAdmin|поддръжка на Subversion]]',
13401386 'code-no-repo' => 'Не е конфигурирано хранилище!',
 1387+ 'code-need-repoadmin-rights' => 'За създаване на хранилище са необходими права на repoadmin',
13411388 'code-load-diff' => 'Зареждане на разлики...',
13421389 'code-notes' => 'скорошни коментари',
13431390 'code-statuschanges' => 'промени на състоянието',
 1391+ 'code-mycomments' => 'моите коментари',
13441392 'code-authors' => 'автори',
13451393 'code-status' => 'състояния',
13461394 'code-tags' => 'етикети',
@@ -1349,7 +1397,7 @@
13501398 'code-author-alterlink' => 'Променете името на уики потребителя, свързан с този автор:',
13511399 'code-author-orunlink' => 'Или премахнете връзката към този уики потребител:',
13521400 'code-author-name' => 'Въведете потребителско име:',
1353 - 'code-author-success' => 'Авторът $1 е бил свързан с уики потребителя $2',
 1401+ 'code-author-success' => 'Авторът $1 беше свързан с потребителя на уикито $2',
13541402 'code-author-link' => 'да се сложи ли връзка?',
13551403 'code-author-unlink' => 'да се премахне ли връзката?',
13561404 'code-author-unlinksuccess' => 'Премахната връзката към автора $1',
@@ -1369,6 +1417,7 @@
13701418 'code-rev-message' => 'Коментар:',
13711419 'code-rev-repo' => 'Хранилище:',
13721420 'code-rev-rev' => 'Версия:',
 1421+ 'code-rev-rev-viewvc' => 'във ViewVC',
13731422 'code-rev-paths' => 'Променени пътища:',
13741423 'code-rev-modified-a' => 'добавено',
13751424 'code-rev-modified-r' => 'заместено',
@@ -1386,11 +1435,13 @@
13871436 'code-rev-diff' => 'Разлика',
13881437 'code-rev-diff-link' => 'разлика',
13891438 'code-rev-purge-link' => 'изчистване',
 1439+ 'code-rev-not-found' => "Версия '''$1''' не съществува!",
13901440 'code-status-new' => 'ново',
13911441 'code-status-fixme' => 'за поправка',
13921442 'code-status-reverted' => 'върнато',
13931443 'code-status-resolved' => 'разрешено',
13941444 'code-status-deferred' => 'отложено',
 1445+ 'code-signoff-field-user' => 'Потребител',
13951446 'code-signoff-field-date' => 'Дата',
13961447 'code-pathsearch-legend' => 'Търсене на версии в това хранилище по път',
13971448 'code-pathsearch-path' => 'Път:',
@@ -1425,6 +1476,7 @@
14261477 'repoadmin-edit-bug' => 'Път до Bugzilla:',
14271478 'repoadmin-edit-view' => 'Път до ViewVC:',
14281479 'repoadmin-edit-sucess' => 'Хранилището „[[Special:Code/$1|$1]]“ беше променено успешно.',
 1480+ 'repoadmin-nav' => 'администриране на хранилището',
14291481 'right-repoadmin' => 'Управление на хранилищата с код',
14301482 'right-codereview-use' => 'Употреба на Special:Code',
14311483 'right-codereview-add-tag' => 'Добавяне на нови етикети към версиите',
@@ -1433,41 +1485,171 @@
14341486 'right-codereview-set-status' => 'Променяне на статута на версиите',
14351487 'right-codereview-link-user' => 'Свързване на имената на авторите с имена на уики потребители',
14361488 'specialpages-group-developer' => 'Инструменти за разработчици',
 1489+ 'group-svnadmins' => 'SVN администратори',
 1490+ 'group-svnadmins-member' => 'SVN администратор',
 1491+ 'grouppage-svnadmins' => '{{ns:project}}:SVN администратори',
14371492 );
14381493
14391494 /** Bengali (বাংলা)
14401495 * @author Bellayet
 1496+ * @author Wikitanvir
14411497 */
14421498 $messages['bn'] = array(
 1499+ 'code' => 'কোড পর্যবেক্ষণ',
 1500+ 'code-rev-title' => '$1 - কোড পর্যবেক্ষণ',
14431501 'code-comments' => 'মন্তব্য',
 1502+ 'code-references' => 'পরবর্তীতে চালিয়ে যাওয়া সংস্করণসমূহ',
 1503+ 'code-change-status' => "$1-এর '''অবস্থান''' পরিবর্তন করুন",
 1504+ 'code-change-tags' => "$1-এর '''ট্যাগ''' পরিবর্তন করুন",
14441505 'code-change-removed' => 'অপসারিত',
14451506 'code-change-added' => 'সংযোজিত:',
 1507+ 'code-old-status' => 'পুরোনো অবস্থান',
 1508+ 'code-new-status' => 'নতুন অবস্থান',
 1509+ 'code-prop-changes' => 'অবস্থান ও ট্যাগিং লগ',
 1510+ 'codereview-desc' => '[[Special:RepoAdmin|সাবভার্সন সহায়তার]] সঙ্গে [[Special:Code|কোড রিভিউ সরঞ্জাম]]',
 1511+ 'code-no-repo' => 'কোনো রিপোজিটরি কনফিগার করা হয়নি!',
 1512+ 'code-create-repo' => 'রিপোজিটরি তৈরি করতে [[Special:RepoAdmin|রিপোঅ্যাডমিনে]] যান',
 1513+ 'code-need-repoadmin-rights' => 'রিপোজিটরি তৈরি করার জন্য আপনার রিপোঅ্যাডমিন অধিকার প্রয়োজন',
 1514+ 'code-need-group-with-rights' => 'রিপোঅ্যাডমিন অধিকার আছে এমন কোনো দল নেই। অনুগ্রহ করে এমন একটি যোগ করুন, যা নতুন রিপোজিটরি তৈরি করতে পারে',
 1515+ 'code-repo-not-found' => "'''$1''' নামে কোনো রিপোজিটরি নেই!",
 1516+ 'code-load-diff' => 'পার্থক্য লোড করা হচ্ছে...',
 1517+ 'code-notes' => 'সাম্প্রতিক মন্তব্যসমূহ',
 1518+ 'code-statuschanges' => 'অবস্থান পরিবর্তন',
 1519+ 'code-mycommits' => 'আমার কমিটসমূহ',
 1520+ 'code-mycomments' => 'আমার মন্তব্যসমূহ',
14461521 'code-authors' => 'লেখক',
 1522+ 'code-status' => 'অবস্থানসমূহ',
14471523 'code-tags' => 'ট্যাগসমূহ',
 1524+ 'code-tags-no-tags' => 'এই রিপোজিটরিতে কোনো ট্যাগ নেই।',
 1525+ 'code-authors-text' => 'নিচে কমিট নাম অনুসারে রিপো প্রণেতার নাম দেওয়া হলো। স্থানীয় উইকি অ্যাকাউন্টের নাম বন্ধনীতে উল্লেখ করা হয়েছে। তারিখ ক্যাশে করা থাকতে পারে।',
 1526+ 'code-author-haslink' => 'এই প্রণেতা উইকি ব্যবহারকারী $1 হিসেবে সংযোগকৃত',
 1527+ 'code-author-orphan' => 'এই অ্যাকাউন্টটির কোনো উইকি অ্যাকাউন্টে সংযোগ নেই',
 1528+ 'code-author-dolink' => 'এই প্রণেতাকে একটি উইকি ব্যবহারকারীতে সংযোগ প্রদান করুন:',
 1529+ 'code-author-alterlink' => 'উইকি ব্যবহারকারীর সংযোগটি অথরে পরিবর্তন করুন:',
 1530+ 'code-author-orunlink' => 'এই উইকি ব্যবহারকারীর সংযোগ বাতিল করুন:',
14481531 'code-author-name' => 'ব্যবহারকারীর নাম লিখুন:',
 1532+ 'code-author-success' => 'প্রণেতা $1-কে উইকি ব্যবহারকারী $2-এ সংযোগ প্রদান করা হয়েছে',
 1533+ 'code-author-link' => 'সংযোগ?',
 1534+ 'code-author-unlink' => 'সংযোগ বাতিল?',
 1535+ 'code-author-unlinksuccess' => 'প্রণেতা $1-এর সংযোগ বাতিল করা হয়েছে',
 1536+ 'code-author-badtoken' => 'সেশন ত্রুটি অ্যাকশনটি কার্যকর করার চেষ্টা করছে।',
 1537+ 'code-author-total' => 'প্রণেতার মোট সংখ্যা: $1',
 1538+ 'code-author-lastcommit' => 'সর্বশেষ কমিটের তারিখ',
 1539+ 'code-browsing-path' => "'''$1'''-এর ভেতর সংস্করণগুলো ব্রাউজ করছি",
 1540+ 'code-field-id' => 'সংস্করণ',
14491541 'code-field-author' => 'লেখক:',
 1542+ 'code-field-user' => 'মন্তব্যকারী',
 1543+ 'code-field-message' => 'কমিট সারাংশ',
14501544 'code-field-status' => 'অবস্থা',
 1545+ 'code-field-status-description' => 'অবস্থানের বিবরণ',
14511546 'code-field-timestamp' => 'তারিখ',
1452 - 'code-field-comments' => 'টীকা',
 1547+ 'code-field-comments' => 'মন্তব্যসমূহ',
 1548+ 'code-field-path' => 'পাথ',
14531549 'code-field-text' => 'টীকা',
14541550 'code-field-select' => 'নির্বাচন',
 1551+ 'code-reference-remove' => 'নির্ধারিত অ্যাসোসিয়েশনগুলো বাতিল করো',
 1552+ 'code-reference-associate' => 'কার্য-পরবর্তী সংস্করণগুলো সংযোজিত করো:',
 1553+ 'code-reference-associate-submit' => 'অ্যাসোসিয়েট',
14551554 'code-rev-author' => 'লেখক:',
14561555 'code-rev-date' => 'তারিখ:',
14571556 'code-rev-message' => 'মন্তব্য:',
 1557+ 'code-rev-repo' => 'রিপোজিটরি:',
 1558+ 'code-rev-rev' => 'সংস্করণ:',
 1559+ 'code-rev-rev-viewvc' => 'ভিউভিসিতে দেখুন',
 1560+ 'code-rev-paths' => 'পরিবর্তিত পাথসমূহ:',
14581561 'code-rev-modified-a' => 'সংযোজিত',
14591562 'code-rev-modified-r' => 'প্রতিস্থাপিত',
 1563+ 'code-rev-modified-d' => 'অপসারিত',
 1564+ 'code-rev-modified-m' => 'পরিবর্তিত',
 1565+ 'code-rev-imagediff' => 'চিত্র পরিবর্তন',
 1566+ 'code-rev-status' => 'অবস্থা:',
 1567+ 'code-rev-status-set' => 'পরিবর্তনের অবস্থা',
 1568+ 'code-rev-tags' => 'ট্যাগসমূহ:',
 1569+ 'code-rev-tag-add' => 'ট্যাগ সংযোগ:',
 1570+ 'code-rev-tag-remove' => 'ট্যাগ বাতিল:',
 1571+ 'code-rev-comment-by' => '$1-এর মন্তব্য',
14601572 'code-rev-comment-preview' => 'প্রাকদর্শন',
 1573+ 'code-rev-inline-preview' => 'প্রাকদর্শন:',
 1574+ 'code-rev-diff' => 'পার্থক্য',
14611575 'code-rev-diff-link' => 'পার্থক্য',
 1576+ 'code-rev-diff-too-large' => 'এই পরিবর্তনটি প্রদর্শনের জন্য অনেক বড়।',
14621577 'code-rev-purge-link' => 'পার্জ',
14631578 'code-rev-total' => 'ফলাফলের মোট সংখ্যা: $1',
 1579+ 'code-rev-not-found' => "'''$1''' নামে কোনো সংস্করণ নেই!",
14641580 'code-status-new' => 'নতুন',
 1581+ 'code-status-desc-new' => 'সংস্করণটি একটি অ্যাকশন মূলতবি রয়েছে (প্রাথমিক অবস্থা)।',
 1582+ 'code-status-fixme' => 'ফিক্সমি',
 1583+ 'code-status-desc-fixme' => 'একজন পর্যবেক্ষক এই সংস্করণটিতে বাগ রয়েছে বা ভাঙা হিসেব নির্ধারণ করেছে। এটি শুদ্ধ করা প্রয়োজন।',
 1584+ 'code-status-reverted' => 'বাতিলকৃত',
 1585+ 'code-status-desc-reverted' => 'সংস্করণটি পরবর্তী সংস্করণ দ্বারা বাতিল করা হয়েছে।',
 1586+ 'code-status-resolved' => 'সমাধানকৃত',
 1587+ 'code-status-desc-resolved' => 'সংস্করণটি একটি সমস্যা ছিলো যা পরবর্তী সংস্করণে উল্লেখ করা হয়েছে।',
14651588 'code-status-ok' => 'ঠিক আছে',
 1589+ 'code-status-desc-ok' => 'সংস্করণটি সম্পূর্ণ পরীক্ষিত এবং পর্যবেক্ষক নিশ্চিত যে এটি সব দিক দিয়ে ঠিক আছে।',
 1590+ 'code-status-deferred' => 'পার্থক্যসূচক',
 1591+ 'code-status-desc-deferred' => 'সংস্করণটির কোনো পরীক্ষণের প্রয়োজন নেই।',
14661592 'code-status-old' => 'পুরাতন',
 1593+ 'code-status-desc-old' => 'সম্ভাব্য বাগসহ পুরোনো সংস্করণ, কিন্তু এগুলোকে পরীক্ষা করা কোনো কার্যকর প্রচেষ্টা নয়।',
 1594+ 'code-signoffs' => 'সাইন-অফ',
 1595+ 'code-signoff-legend' => 'সাইন-অফ যোগ',
 1596+ 'code-signoff-submit' => 'সাইন অফ',
 1597+ 'code-signoff-strike' => 'নির্বাচিত সাইন-অফগুলো বাতিল করো',
 1598+ 'code-signoff-signoff' => 'যে সংস্করণে সাইন অফ হয়েছে তা হচ্ছে:',
 1599+ 'code-signoff-flag-inspected' => 'পর্যবেক্ষণকৃত',
 1600+ 'code-signoff-flag-tested' => 'পরীক্ষিত',
 1601+ 'code-signoff-field-user' => 'ব্যবহারকারী',
 1602+ 'code-signoff-field-flag' => 'পতাকা',
 1603+ 'code-signoff-field-date' => 'তারিখ',
 1604+ 'code-pathsearch-legend' => 'রিপোতে পাথ অনুসারে সংস্করণ অনুসন্ধান করুন',
 1605+ 'code-pathsearch-path' => 'পাথ:',
 1606+ 'code-pathsearch-filter' => 'ফিল্টার প্রদান করা হয়েছে:',
 1607+ 'code-revfilter-cr_status' => 'অবস্থান = $1',
 1608+ 'code-revfilter-cr_author' => 'প্রণেতা = $1',
 1609+ 'code-revfilter-clear' => 'ফিল্টার পরিস্কার',
 1610+ 'code-rev-submit' => 'পরিবর্তন সংরক্ষণ',
 1611+ 'code-batch-status' => 'অবস্থা পরিবর্তন',
 1612+ 'code-batch-tags' => 'ট্যাগ পরিবর্তন:',
 1613+ 'codereview-batch-title' => 'নির্বাচিত সকল সংস্করণ পরিবর্তন করুন',
14671614 'codereview-batch-submit' => 'জমা',
 1615+ 'code-releasenotes' => 'রিলিজ টীকা',
 1616+ 'code-release-legend' => 'রিলিজ টীকা তৈরি করুন',
 1617+ 'code-release-startrev' => 'সংস্করণ শুরু:',
 1618+ 'code-release-endrev' => 'শেষ সংস্করণ:',
 1619+ 'codereview-subtitle' => '$1-এর জন্য',
14681620 'codereview-reply-link' => 'উত্তর',
 1621+ 'codereview-email-subj' => '[$1 $2]: নতুন মন্তব্য যোগ করা হয়েছে',
 1622+ 'codereview-email-subj2' => '[$1 $2]: কার্য-পরবর্তী পরির্তন',
 1623+ 'codereview-email-subj3' => '[$1 $2]: সংস্করণ অবস্থা পরিবর্তন',
 1624+ 'codereview-email-subj4' => '[$1 $2]: নতুন মন্তব্য যোগ করা হয়েছে, এবং সংস্করণ অবস্থা পরিবর্তিত হয়েছে',
14691625 'code-stats' => 'পরিসংখ্যান',
 1626+ 'code-stats-header' => 'রিপোজিটরি $1-এর জন্য পরিসংখ্যান',
 1627+ 'code-stats-status-breakdown' => 'প্রতিটি অবস্থায় সংস্করণের সংখ্যা',
 1628+ 'code-stats-count' => 'সংস্করণের সংখ্যা',
 1629+ 'repoadmin' => 'রিপোজিটরি প্রশাসন',
 1630+ 'repoadmin-new-legend' => 'নতুন রিপোজিটরি তৈরি করুন',
 1631+ 'repoadmin-new-label' => 'রিপোজিটরির নাম:',
14701632 'repoadmin-new-button' => 'তৈরি',
 1633+ 'repoadmin-edit-legend' => 'রিপোজিটরি "$1"-এর পরিবর্তন',
 1634+ 'repoadmin-edit-path' => 'রিপোজিটরি পাথ:',
 1635+ 'repoadmin-edit-bug' => 'বাগজিলা পাথ:',
 1636+ 'repoadmin-edit-view' => 'ভিউভিসি পাথ:',
14711637 'repoadmin-edit-button' => 'ঠিক আছে',
 1638+ 'repoadmin-edit-sucess' => 'রিপোজিটরি "[[Special:Code/$1|$1]]" সফলভাবে পরিবর্তিত হয়েছে।',
 1639+ 'repoadmin-nav' => 'রিপোজিটরি প্রশাসন',
 1640+ 'right-repoadmin' => 'কোড রিপোজিটরি ব্যবস্থাপনা',
 1641+ 'right-codereview-use' => 'বিশেষ: কোড-এর ব্যবহার',
 1642+ 'right-codereview-add-tag' => 'সংস্করণে নতুন ট্যাগ যোগ করুন',
 1643+ 'right-codereview-remove-tag' => 'সংস্করণ থেকে ট্যাগ অপসারণ করুন',
 1644+ 'right-codereview-post-comment' => 'সংস্করণে মন্তব্য যোগ করুন',
 1645+ 'right-codereview-set-status' => 'সংস্করণের অবস্থা পরিবর্তন করুন',
 1646+ 'right-codereview-signoff' => 'সংস্করণের ওপর সাইন অফ করুন',
 1647+ 'right-codereview-link-user' => 'উইকি ব্যবহারকারী হিসেবে প্রণেতার সংযোগ প্রদান করুন',
 1648+ 'right-codereview-associate' => 'সংস্করণের অ্যাসোসিয়েশনগুলো ব্যবস্থাপনা করুন',
 1649+ 'right-codereview-review-own' => 'আপনার নিজের সংস্করণ ঠিক হিসেবে চিহ্নিত করুন',
 1650+ 'specialpages-group-developer' => 'ডেভলপারের সরঞ্জাম',
 1651+ 'group-svnadmins' => 'এসভিএন প্রশাসক',
 1652+ 'group-svnadmins-member' => 'এসভিএন প্রশাসক',
 1653+ 'grouppage-svnadmins' => '{{ns:project}}:এসএভিএন প্রশাসক',
14721654 );
14731655
14741656 /** Breton (Brezhoneg)
@@ -1587,7 +1769,8 @@
15881770 'code-pathsearch-path' => 'Hent moned :',
15891771 'code-pathsearch-filter' => 'Sil arloet :',
15901772 'code-revfilter-cr_status' => 'Statud = $1',
1591 - 'code-revfilter-cr_author' => 'Oberour = $1',
 1773+ 'code-revfilter-cr_author' => 'Aozer = $1',
 1774+ 'code-revfilter-ct_tag' => 'Tikedenn = $1',
15921775 'code-revfilter-clear' => 'Diverkañ ar sil',
15931776 'code-rev-submit' => "Enrollañ ar c'hemmoù",
15941777 'code-rev-submit-next' => "Enrollañ & kudenn war-lerc'h",
@@ -1601,6 +1784,7 @@
16021785 'code-release-endrev' => 'Aweladenn ziwezhañ :',
16031786 'codereview-subtitle' => 'Evit $1',
16041787 'codereview-reply-link' => 'respont',
 1788+ 'codereview-overview-title' => 'Brassell',
16051789 'codereview-email-subj' => '[$1 $2] : evezhiadenn nevez bet ouzhpennet',
16061790 'codereview-email-body' => 'Lakaet en deus an implijer "$1" un evezhiadenn war $3.
16071791
@@ -1643,7 +1827,7 @@
16441828 Postet ez eus bet un evezhiadenn war $2 gant an implijer "$1" ivez.
16451829
16461830 URL klok : $5
1647 -Diverrañ eus ar c\'hemmoù :
 1831+Diverrañ eus ar c\'hemmoù :
16481832
16491833 $7
16501834
@@ -1654,8 +1838,11 @@
16551839 'code-stats-header' => 'Stadegoù evit ar sanailh $1',
16561840 'code-stats-main' => "D'an deiziad $1, an dastummlec'h en doa $2 {{PLURAL:$2|adweladenn|adweladenn}} gant [[Special:Code/$3/author|$4 {{PLURAL:$4|oberour|oberour}}]].",
16571841 'code-stats-status-breakdown' => 'Niver a adweladennoù dre stad',
1658 - 'code-stats-fixme-breakdown' => 'Arnodenn an adweladennoù da reizhañ gant an oberour',
 1842+ 'code-stats-fixme-breakdown' => 'Dasparzh an adweladennoù da reizhañ dre aozer',
 1843+ 'code-stats-new-breakdown' => 'Dasparzh an adweladennoù nevez dre aozer',
16591844 'code-stats-count' => 'Niver a adweladennoù',
 1845+ 'code-tooltip-withsummary' => 'r$1 [$2] gant $3 - $4',
 1846+ 'code-tooltip-withoutsummary' => 'r$1 [$2] gant $3',
16601847 'repoadmin' => "Melestradurezh an dastumlec'hioù",
16611848 'repoadmin-new-legend' => 'Krouiñ ur sanailh nevez',
16621849 'repoadmin-new-label' => 'Anv ar sanailh :',
@@ -1799,9 +1986,11 @@
18001987 'code-pathsearch-filter' => 'Primijenjen filter:',
18011988 'code-revfilter-cr_status' => 'Stanje = $1',
18021989 'code-revfilter-cr_author' => 'Autor = $1',
 1990+ 'code-revfilter-ct_tag' => 'Oznaka = $1',
18031991 'code-revfilter-clear' => 'Očisti filtere',
18041992 'code-rev-submit' => 'Spremi izmjene',
18051993 'code-rev-submit-next' => 'Spremi i prikaži slijedeći nerješeni',
 1994+ 'code-rev-next' => 'Slijedeći neriješeni',
18061995 'code-batch-status' => 'Promijeni status:',
18071996 'code-batch-tags' => 'Promijeni oznake:',
18081997 'codereview-batch-title' => 'Promijeni sve odabrane revizije',
@@ -1812,6 +2001,8 @@
18132002 'code-release-endrev' => 'Zadnja rev:',
18142003 'codereview-subtitle' => 'Za $1',
18152004 'codereview-reply-link' => 'odgovor',
 2005+ 'codereview-overview-title' => 'Pregled',
 2006+ 'codereview-overview-desc' => 'Prikaži grafički pregled ovog spiska',
18162007 'codereview-email-subj' => '[$1 $2]: Dodan novi komentar',
18172008 'codereview-email-body' => 'Korisnik "$1" je napravio komentar na $3.
18182009
@@ -1865,8 +2056,11 @@
18662057 'code-stats-header' => 'Statistike za repozitorij $1',
18672058 'code-stats-main' => 'Sa stanjem od $1, repozitorij je imao $2 {{PLURAL:$2|reviziju|revizije|revizija}} od strane [[Special:Code/$3/author|$4 {{PLURAL:$4|autora|autora}}]].',
18682059 'code-stats-status-breakdown' => 'Broj revizija po stanju',
1869 - 'code-stats-fixme-breakdown' => 'Analiza popravaka po autoru',
 2060+ 'code-stats-fixme-breakdown' => 'Rasčlanjen pregled revizija popravaka po autoru',
 2061+ 'code-stats-new-breakdown' => 'Rasčlanjen pregled novih revizija po autoru',
18702062 'code-stats-count' => 'Broj revizija',
 2063+ 'code-tooltip-withsummary' => 'r$1 [$2] od $3 - $4',
 2064+ 'code-tooltip-withoutsummary' => 'r$1 [$2] od $3',
18712065 'repoadmin' => 'Administracija repozitorijuma',
18722066 'repoadmin-new-legend' => 'Napravi novi repozitorijum',
18732067 'repoadmin-new-label' => 'Naziv repozitorija:',
@@ -1920,6 +2114,7 @@
19212115 'code-notes' => 'comentaris recents',
19222116 'code-statuschanges' => "Canvis d'estat",
19232117 'code-mycommits' => 'les meves publicacions',
 2118+ 'code-mycomments' => 'els meus comentaris',
19242119 'code-authors' => 'autors',
19252120 'code-status' => 'Estats',
19262121 'code-tags' => 'Etiquetes',
@@ -2180,6 +2375,7 @@
21812376 'code-pathsearch-filter' => 'Použitý filtr:',
21822377 'code-revfilter-cr_status' => 'Stav = $1',
21832378 'code-revfilter-cr_author' => 'Autor = $1',
 2379+ 'code-revfilter-ct_tag' => 'Značka = $1',
21842380 'code-revfilter-clear' => 'Zrušit filtr',
21852381 'code-rev-submit' => 'Uložit změny',
21862382 'code-rev-submit-next' => 'Uložit & další nevyřešená',
@@ -2405,7 +2601,7 @@
24062602 'code-tags-no-tags' => 'In diesem Repositorium gibt es keine Tags.',
24072603 'code-authors-text' => 'Es folgt die Liste der Repositoriumsautoren, nach Namen sortiert. Lokale Wikikonten werden in runden Klammern angezeigt. Daten könnten aus dem Cache stammen.',
24082604 'code-author-haslink' => 'Dieser Autor ist mit dem Wiki-Benutzer $1 verlinkt',
2409 - 'code-author-orphan' => 'Dieser Autor hat keinen Link zu einem Wiki-Benutzerkonto',
 2605+ 'code-author-orphan' => 'Autor $1 hat keinen Link zu einem Wiki-Benutzerkonto',
24102606 'code-author-dolink' => 'Diesen Autor zu einem Wiki-Benutzerkonto verlinken:',
24112607 'code-author-alterlink' => 'Die Verlinkung zu einem Wiki-Benutzerkonto für diesen Autor ändern:',
24122608 'code-author-orunlink' => 'Verlinkung zu dem Wiki-Benutzerkonto aufheben:',
@@ -2425,7 +2621,7 @@
24262622 'code-field-status' => 'Status',
24272623 'code-field-status-description' => 'Status-Beschreibung',
24282624 'code-field-timestamp' => 'Datum',
2429 - 'code-field-comments' => 'Notizen',
 2625+ 'code-field-comments' => 'Kommentare',
24302626 'code-field-path' => 'Pfad',
24312627 'code-field-text' => 'Notiz',
24322628 'code-field-select' => 'Auswählen',
@@ -2461,7 +2657,7 @@
24622658 'code-status-new' => 'neu',
24632659 'code-status-desc-new' => 'Revision erwartet eine Aktion (Standardstatus).',
24642660 'code-status-fixme' => 'FIXME',
2465 - 'code-status-desc-fixme' => 'Ein Gutachter markierte diese Revision als fehlerhaft oder Verursacher eines Softwarefehlers. Sie sollte korrigiert werden.',
 2661+ 'code-status-desc-fixme' => 'Diese Revision verursacht einen Softwarefehler oder ist defekt. Sie sollte korrigiert oder rückgängig gemacht werden.',
24662662 'code-status-reverted' => 'rückgängig gemacht',
24672663 'code-status-desc-reverted' => 'Revision wurde durch eine spätere Revision rückgängig gemacht.',
24682664 'code-status-resolved' => 'erledigt',
@@ -2485,12 +2681,14 @@
24862682 'code-signoff-struckdate' => '$1 (gestrichen $2)',
24872683 'code-pathsearch-legend' => 'Suche in diesem Repositorium per Pfad nach Revisionen',
24882684 'code-pathsearch-path' => 'Pfad:',
2489 - 'code-pathsearch-filter' => 'Angewendeter Filter:',
 2685+ 'code-pathsearch-filter' => 'Nur anzeigen:',
24902686 'code-revfilter-cr_status' => 'Status = $1',
24912687 'code-revfilter-cr_author' => 'Autor = $1',
 2688+ 'code-revfilter-ct_tag' => 'Tag = $1',
24922689 'code-revfilter-clear' => 'Filter löschen',
24932690 'code-rev-submit' => 'Änderungen speichern',
2494 - 'code-rev-submit-next' => 'Speichern und gehe zum nächsten ungeprüften',
 2691+ 'code-rev-submit-next' => 'Änderungen speichern und weiter zur nächsten ungeprüften',
 2692+ 'code-rev-next' => 'Weiter zur nächsten ungeprüften',
24952693 'code-batch-status' => 'Änderungsstatus:',
24962694 'code-batch-tags' => 'Tags ändern:',
24972695 'codereview-batch-title' => 'Alle ausgewählten Revisionen ändern',
@@ -2501,6 +2699,8 @@
25022700 'code-release-endrev' => 'Letzte Revision:',
25032701 'codereview-subtitle' => 'Für $1',
25042702 'codereview-reply-link' => 'antworten',
 2703+ 'codereview-overview-title' => 'Übersicht',
 2704+ 'codereview-overview-desc' => 'Eine grafische Übersicht dieser Liste anzeigen',
25052705 'codereview-email-subj' => '[$1 $2]: Neuen Kommentar hinzugefügt',
25062706 'codereview-email-body' => 'Benutzer „$1“ hat Revision $3 kommentiert:
25072707
@@ -2512,15 +2712,15 @@
25132713 Kommentar:
25142714
25152715 $4',
2516 - 'codereview-email-subj2' => '[$1 $2]: Nachbearbeitung',
2517 - 'codereview-email-body2' => 'Benutzer „$1“ machte eine Nachbearbeitung zu $2.
 2716+ 'codereview-email-subj2' => '[$1 $2]: Folgebearbeitung',
 2717+ 'codereview-email-body2' => 'Benutzer „$1“ machte eine Folgebearbeitung zu $2.
25182718
2519 -Vollständige URL der nachbearbeiteten Revision: $5
 2719+URL der nachfolgenden Revision: $5
25202720 Zusammenfassung:
25212721
25222722 $6
25232723
2524 -Vollständige URL: $3
 2724+URL: $3
25252725
25262726 Zusammenfassung:
25272727
@@ -2555,8 +2755,11 @@
25562756 'code-stats-header' => 'Statistik des Repositoriums „$1“',
25572757 'code-stats-main' => 'Mit Stand $1 wurden von [[Special:Code/$3/author|$4 {{PLURAL:$4|Autor|Autoren}}]] $2 {{PLURAL:$2|Revision|Revisionen}} im Repositorium durchgeführt.',
25582758 'code-stats-status-breakdown' => 'Anzahl der Revisionen pro Status',
2559 - 'code-stats-fixme-breakdown' => 'Aufschlüsselung der FIXMEs pro Autor',
 2759+ 'code-stats-fixme-breakdown' => 'Aufschlüsselung der Revisionen mit FIXMEs pro Autor',
 2760+ 'code-stats-new-breakdown' => 'Aufschlüsselung der neuen Revisionen pro Autor',
25602761 'code-stats-count' => 'Anzahl der Revisionen',
 2762+ 'code-tooltip-withsummary' => 'r$1 [$2] von $3 - $4',
 2763+ 'code-tooltip-withoutsummary' => 'r$1 [$2] von $3',
25612764 'repoadmin' => 'Repositoriumsadministration',
25622765 'repoadmin-new-legend' => 'Neues Repositorium erstellen',
25632766 'repoadmin-new-label' => 'Name des Repositoriums:',
@@ -2683,7 +2886,7 @@
26842887 'codereview-subtitle' => 'Qe $1',
26852888 'codereview-reply-link' => 'cewab bide',
26862889 'codereview-email-subj' => '[$1 $2]: Xulasayê newî de biyo',
2687 - 'codereview-email-body' => 'Karberê "$1"î yew xulasa se $3 rê nuşt.
 2890+ 'codereview-email-body' => 'Karberê "$1"î yew xulasa se $3 rê nuşt.
26882891
26892892 Full URL: $2
26902893
@@ -2691,7 +2894,7 @@
26922895
26932896 $4',
26942897 'codereview-email-subj2' => '[$1 $2]: Vurnayîşan kontrol bike',
2695 - 'codereview-email-body2' => 'Karberê "$1"î, $2 vurna.
 2898+ 'codereview-email-body2' => 'Karberê "$1"î, $2 vurna.
26962899
26972900 Full URL: $3
26982901
@@ -2699,7 +2902,7 @@
27002903
27012904 $4',
27022905 'codereview-email-subj3' => '[$1 $2]: Regression otomatik test keno',
2703 - 'codereview-email-body3' => 'Qe vurnayîşê $1î otomatik test yew regression mucna.
 2906+ 'codereview-email-body3' => 'Qe vurnayîşê $1î otomatik test yew regression mucna.
27042907
27052908 Full URL: $2
27062909
@@ -2919,7 +3122,7 @@
29203123 'codereview-desc' => '[[Special:Code|Εργαλείο ανασκόπησης κώδικα]] με [[Special:RepoAdmin|υποστήριξη Subversion]]',
29213124 'code-no-repo' => 'Κανένα αποθηκευτήριο δεν έχει διαμορφωθεί!',
29223125 'code-need-repoadmin-rights' => 'Δικαιώματα διαχείρισης αποθηκευτηρίου απαιτούνται για τη δημιουργία αποθηκευτηρίου.',
2923 - 'code-repo-not-found' => "Repository '''\$ 1'' ' δεν υπάρχει!",
 3126+ 'code-repo-not-found' => "Το αποθετήριο '''$1''' δεν υπάρχει!",
29243127 'code-load-diff' => 'Φόρτωση διαφ...',
29253128 'code-notes' => 'πρόσφατα σχόλια',
29263129 'code-statuschanges' => 'αλλαγές κατάστασης',
@@ -2982,8 +3185,6 @@
29833186 'code-status-new' => 'νέο',
29843187 'code-status-fixme' => 'επιδιόρθωση',
29853188 'code-status-desc-fixme' => 'Ένας επιθεωρητής σημείωσε αυτή την αλλαγή διότι δημιουργεί σφάλμα ή δεν λειτουργεί. Θα έπρεπε να διορθωθεί.',
2986 - 'code-status-improveme' => 'βελτίωση',
2987 - 'code-status-desc-improveme' => 'Ένας επιθεωρητής σημείωσε αυτή την αλλαγή για βελτίωση διότι έχει κάποια μικρά προβλήματα. Θα έπρεπε να διορθωθεί.',
29883189 'code-status-reverted' => 'αναστράφηκε',
29893190 'code-status-desc-reverted' => 'Η αλλαγή αναιρέθηκε από μεταγενέστερη αναθεώρηση.',
29903191 'code-status-resolved' => 'επιλύθηκε',
@@ -3039,7 +3240,7 @@
30403241 $6
30413242
30423243 Πλήρες URL: $3
3043 -Σύνοψη της καταχώρησης:
 3244+Σύνοψη της καταχώρησης:
30443245
30453246 $4',
30463247 'codereview-email-subj3' => '[$1 $2]: Η κατάσταση της αλλαγής άλλαξε',
@@ -3061,7 +3262,7 @@
30623263 Ο χρήστης "$1" επίσης απέστειλε σχόλιο για το $2.
30633264
30643265 Πλήρες URL: $5
3065 -Σύνοψη της καταχώρησης:
 3266+Σύνοψη της καταχώρησης:
30663267
30673268 $7
30683269
@@ -3116,6 +3317,7 @@
31173318 'code-prop-changes' => 'Protokolo pri statuso kaj etikedoj',
31183319 'codereview-desc' => '[[Special:Code|Koda kontrolilo]] kun [[Special:RepoAdmin|subteno por Subversion]]',
31193320 'code-no-repo' => 'Neniu kodujoj estas konfigurataj',
 3321+ 'code-create-repo' => 'Iru al [[Special:RepoAdmin|RepoAdmin]] por krei kodo-deponejon',
31203322 'code-repo-not-found' => "Dosierujo '''$1''' ne ekzistas!",
31213323 'code-load-diff' => 'Ŝarĝante diferencon...',
31223324 'code-notes' => 'lastaj komentoj',
@@ -3125,6 +3327,7 @@
31263328 'code-authors' => 'aŭtoroj',
31273329 'code-status' => 'statoj',
31283330 'code-tags' => 'etikedoj',
 3331+ 'code-tags-no-tags' => 'Neniuj etikedoj en ĉi tiu deponujo.',
31293332 'code-authors-text' => 'Jen listo de dosierujaj aŭtoroj ordigitaj laŭ sendita nomo. Loka vikikontoj estas montrataj en parentezoj. Datenoj eble estas en kaŝmemoro.',
31303333 'code-author-haslink' => 'Ĉi tiu aŭtoro estas ligita al la vikiuzanto $1',
31313334 'code-author-orphan' => 'La aŭtoro ne havas ligilon kun vikia konto',
@@ -3145,11 +3348,15 @@
31463349 'code-field-user' => 'Komentanto',
31473350 'code-field-message' => 'Resumo pri enigo',
31483351 'code-field-status' => 'Statuso',
 3352+ 'code-field-status-description' => 'Priskribo de statuso',
31493353 'code-field-timestamp' => 'Dato',
31503354 'code-field-comments' => 'Komentoj',
31513355 'code-field-path' => 'Vojo',
31523356 'code-field-text' => 'Noto',
31533357 'code-field-select' => 'Elekti',
 3358+ 'code-reference-remove' => 'Forigi elektitajn kungrupigojn',
 3359+ 'code-reference-associate' => 'Kungrupigi revizion kontrolindan:',
 3360+ 'code-reference-associate-submit' => 'Kungrupigi',
31543361 'code-rev-author' => 'Aŭtoro:',
31553362 'code-rev-date' => 'Dato:',
31563363 'code-rev-message' => 'Komento:',
@@ -3190,8 +3397,17 @@
31913398 'code-status-desc-deferred' => 'Revizio ne nepras kontroladon.',
31923399 'code-status-old' => 'malnova',
31933400 'code-status-desc-old' => 'Malnova revizio kun eblaj cimoj kiuj ne sufiĉe gravas kontroli ilin.',
 3401+ 'code-signoffs' => 'Aprobadoj',
 3402+ 'code-signoff-legend' => 'Aldoni aprobon',
 3403+ 'code-signoff-submit' => 'Aprobi',
 3404+ 'code-signoff-strike' => 'Forstreki elektitajn aprobojn',
 3405+ 'code-signoff-signoff' => 'Aprobi ĉi tiun revizion kiel:',
 3406+ 'code-signoff-flag-inspected' => 'Inspektita',
 3407+ 'code-signoff-flag-tested' => 'Testita',
31943408 'code-signoff-field-user' => 'Uzanto',
 3409+ 'code-signoff-field-flag' => 'Marki',
31953410 'code-signoff-field-date' => 'Dato',
 3411+ 'code-signoff-struckdate' => '$1 (forstrekita $2)',
31963412 'code-pathsearch-legend' => 'Serĉi versiojn en ĉi tiu kodujo laŭ vojo',
31973413 'code-pathsearch-path' => 'Vojo:',
31983414 'code-pathsearch-filter' => 'Filtrilo uzata:',
@@ -3211,10 +3427,13 @@
32123428 'codereview-subtitle' => 'Por $1',
32133429 'codereview-reply-link' => 'respondo',
32143430 'codereview-email-subj' => '[$1 $2]: Nova komento estis aldonita',
3215 - 'codereview-email-body' => 'Uzanto "$1" afiŝis komenton de $3.
 3431+ 'codereview-email-body' => 'Uzanto "$1" afiŝis komenton en $3.
32163432
32173433 Plena URL-o: $2
 3434+Resumo de faraĵo:
32183435
 3436+$5
 3437+
32193438 Komento:
32203439
32213440 $4',
@@ -3222,11 +3441,13 @@
32233442 'codereview-email-body2' => 'Uzanto "$1" faris postatentadajn ŝanĝojn al $2.
32243443
32253444 Plena URL por la postatentadaj revizio: $5
 3445+Resumo de faraĵo:
32263446
 3447+$6
 3448+
32273449 Plena URL: $3
 3450+Resumo de faraĵo:
32283451
3229 -Resumo de ŝanĝoj:
3230 -
32313452 $4',
32323453 'codereview-email-subj3' => '[$1 $2]: Revizio-statuso ŝanĝis',
32333454 'codereview-email-body3' => 'Uzanto $1 ŝanĝis la statuson de $2.
@@ -3234,7 +3455,11 @@
32353456 Malnova statuso: $3
32363457 Nova statuso: $4
32373458
3238 -Plena URL-o: $5',
 3459+Plena URL-o: $5
 3460+Resumo de faraĵo:
 3461+
 3462+$6',
 3463+ 'codereview-email-subj4' => '[$1 $2]: Nova komento estis aldonita, kaj revizio-statuso estis ŝanĝita',
32393464 'codereview-email-body4' => 'Uzanto "$1" ŝanĝis la statuson de $2.
32403465
32413466 Malnova statuso: $3
@@ -3243,7 +3468,10 @@
32443469 La uzanto "$1" ankaŭ skribis komenton en $2.
32453470
32463471 Plena URL-o: $5
 3472+Resumo de faraĵo:
32473473
 3474+$7
 3475+
32483476 Komento:
32493477
32503478 $6',
@@ -3270,6 +3498,7 @@
32713499 'right-codereview-remove-tag' => 'Forigi etikedojn de versioj',
32723500 'right-codereview-post-comment' => 'Aldoni komentojn en versioj',
32733501 'right-codereview-set-status' => 'Ŝanĝi statuson de versioj',
 3502+ 'right-codereview-signoff' => 'Aprobi reviziojn',
32743503 'right-codereview-link-user' => 'Ligi aŭtorojn al viki-uzantoj',
32753504 'specialpages-group-developer' => 'Disvolvistaj iloj',
32763505 'group-svnadmins' => 'SVN-administrantoj',
@@ -3408,10 +3637,13 @@
34093638 'codereview-subtitle' => 'Para $1',
34103639 'codereview-reply-link' => 'responder',
34113640 'codereview-email-subj' => '[$1 $2]: Añadido nuevo comentario',
3412 - 'codereview-email-body' => 'El usuario «$1» envió un comentario en $3.
 3641+ 'codereview-email-body' => 'El usuario "$1" envió un comentario en $3.
34133642
34143643 URL completa: $2
 3644+Resumen de confirmaciones:
34153645
 3646+$5
 3647+
34163648 Comentario:
34173649
34183650 $4',
@@ -3419,9 +3651,11 @@
34203652 'codereview-email-body2' => 'El usuario "$1" ha hecho de modificaciones de seguimiento a $2.
34213653
34223654 URL completa para la revisión de seguimiento: $5
 3655+Resumen de confirmaciones:
34233656
 3657+$6
 3658+
34243659 URL completa : $3
3425 -
34263660 Resumen de las confirmaciones:
34273661
34283662 $4',
@@ -3429,7 +3663,12 @@
34303664 'codereview-email-body3' => 'El usuario "$1" modificó el estado de $2.
34313665
34323666 Estado antiguo: $3
3433 -Estado nuevo: $4',
 3667+Estado nuevo: $4
 3668+
 3669+URL completa: $5
 3670+Resumen de confirmaciones:
 3671+
 3672+$6',
34343673 'codereview-email-subj4' => '[$1 $2]: Nuevo comentario añadido, y cambiado el estado de la revisión',
34353674 'codereview-email-body4' => 'El usuario "$1" modificó el estado de $2.
34363675
@@ -3439,7 +3678,10 @@
34403679 El usuario "$1" ha escrito también un comentario en $2.
34413680
34423681 URL completa: $5
 3682+Resumen de confirmaciones:
34433683
 3684+$7
 3685+
34443686 Comentario:
34453687
34463688 $6',
@@ -3505,6 +3747,7 @@
35063748 'code-author-unlinksuccess' => 'Autor $1 pole enam ühendatud.',
35073749 'code-author-total' => 'Autorite koguarv: $1',
35083750 'code-author-lastcommit' => 'Viimane kehtestamiskuupäev',
 3751+ 'code-browsing-path' => "Redaktsioonide sirvimine rajal '''$1'''",
35093752 'code-field-id' => 'Redaktsioon',
35103753 'code-field-author' => 'Autor',
35113754 'code-field-user' => 'Kommenteerija',
@@ -3541,7 +3784,7 @@
35423785 'code-status-new' => 'uus',
35433786 'code-status-desc-new' => 'Redaktsioon ootab toimingut (vaikeolek).',
35443787 'code-status-fixme' => 'vajab parandamist',
3545 - 'code-status-desc-fixme' => 'Ülevaataja märkis selle redaktsiooni vigaseks. Seda tuleks parandada.',
 3788+ 'code-status-desc-fixme' => 'Redaktsiooniga kaasnes viga. See tuleks parandada või tühistada.',
35463789 'code-status-reverted' => 'tagasi võetud',
35473790 'code-status-resolved' => 'lahendatud',
35483791 'code-status-desc-resolved' => 'Redaktsioonil oli viga, mis parandati hilisema redaktsiooniga.',
@@ -3570,7 +3813,10 @@
35713814 'codereview-email-body' => 'Kasutaja $1 kommenteeris koodi $3.
35723815
35733816 Täielik URL: $2
 3817+Kehtestamise kokkuvõte:
35743818
 3819+$5
 3820+
35753821 Kommentaar:
35763822
35773823 $4',
@@ -3578,12 +3824,40 @@
35793825 'codereview-email-body2' => 'Kasutaja $1 tegi koodile $2 järelmuudatusi.
35803826
35813827 Täielik URL järelmuudatuste juurde: $5
 3828+Kehtestamise kokkuvõte:
35823829
 3830+$6
 3831+
35833832 Täielik URL: $3
 3833+Kehtestamise kokkuvõte:
35843834
 3835+$4',
 3836+ 'codereview-email-subj3' => '[$1 $2]: Redaktsiooni olek muudetud',
 3837+ 'codereview-email-body3' => 'Kasutaja $1 muutis redaktsiooni $2 olekut.
 3838+
 3839+Vana olek: $3
 3840+Uus olek: $4
 3841+
 3842+Täielik URL: $5
35853843 Kehtestamise kokkuvõte:
35863844
3587 -$4',
 3845+$6',
 3846+ 'codereview-email-subj4' => '[$1 $2]: Lisatud uus kommentaar ja redaktsiooni olek muudetud',
 3847+ 'codereview-email-body4' => 'Kasutaja $1 muutis redaktsiooni $2 olekut.
 3848+
 3849+Vana olek: $3
 3850+Uus olek: $4
 3851+
 3852+Kasutaja $1 postitas redaktsiooni $2 kohta ka kommentaari.
 3853+
 3854+Täielik URL: $5
 3855+Kehtestamise kokkuvõte:
 3856+
 3857+$7
 3858+
 3859+Kommentaar:
 3860+
 3861+$6',
35883862 'code-stats' => 'statistika',
35893863 'code-stats-header' => 'Hoidla $1 arvandmed',
35903864 'code-stats-main' => 'Seisuga $1 on hoidlas {{PLURAL:$2|üks redaktsioon|$2 redaktsiooni}} [[Special:Code/$3/author|{{PLURAL:$4|ühelt|$4}} autorilt]].',
@@ -3694,7 +3968,7 @@
36953969 'repoadmin-edit-path' => 'Biltegiaren bidea:',
36963970 'repoadmin-edit-bug' => 'Bugzilla bidea:',
36973971 'repoadmin-edit-view' => 'ViewVC bidea:',
3698 - 'repoadmin-edit-button' => 'Ondo',
 3972+ 'repoadmin-edit-button' => 'Ados',
36993973 'repoadmin-edit-sucess' => '"[[Special:Code/$1|$1]]" biltegia arrakastaz aldtu da.',
37003974 'right-repoadmin' => 'Kudeatu kode biltegiak',
37013975 'right-codereview-add-tag' => 'Gehitu etiketa berriak aldaketei',
@@ -3807,7 +4081,7 @@
38084082 'code-signoff-struckdate' => '$1 (رخ داد $2)',
38094083 'code-pathsearch-legend' => 'جستجوی نسخه‌ها در این مخزن بر اساس مسیر',
38104084 'code-pathsearch-path' => 'مسیر:',
3811 - 'code-pathsearch-filter' => 'پالایهٔ اعمال‌شده:',
 4085+ 'code-pathsearch-filter' => 'فقط نمایش:',
38124086 'code-revfilter-cr_status' => 'وضعیت = $1',
38134087 'code-revfilter-cr_author' => 'نویسنده = $1',
38144088 'code-revfilter-clear' => 'صافی پاک کننده',
@@ -4074,8 +4348,10 @@
40754349 * @author Grondin
40764350 * @author IAlex
40774351 * @author Jean-Frédéric
 4352+ * @author Od1n
40784353 * @author Peter17
40794354 * @author PieRRoMaN
 4355+ * @author Seb35
40804356 * @author Sherbrooke
40814357 * @author Verdy p
40824358 * @author Zetud
@@ -4096,8 +4372,8 @@
40974373 'code-no-repo' => 'Pas de dépôt configuré !',
40984374 'code-create-repo' => 'Allez à [[Special:RepoAdmin|support de Subversion]] pour créer un dépôt',
40994375 'code-need-repoadmin-rights' => "Des privilèges de niveau ''repoadmin'' sont requis pour créer un dépôt",
4100 - 'code-need-group-with-rights' => "Aucun groupe de niveau ''repoadmin'' n'existe. Veuillez en ajouter un pour être en mesure de créer un nouveau dépôt.",
4101 - 'code-repo-not-found' => "Le dépôt '''$1''' n'existe pas !",
 4376+ 'code-need-group-with-rights' => "Aucun groupe de niveau ''repoadmin'' n’existe. Veuillez en ajouter un pour être en mesure de créer un nouveau dépôt.",
 4377+ 'code-repo-not-found' => "Le dépôt '''$1''' n’existe pas !",
41024378 'code-load-diff' => 'Chargement du diff en cours...',
41034379 'code-notes' => 'commentaires récents',
41044380 'code-statuschanges' => 'modifications de statut',
@@ -4147,7 +4423,7 @@
41484424 'code-rev-modified-r' => 'remplacé',
41494425 'code-rev-modified-d' => 'supprimé',
41504426 'code-rev-modified-m' => 'modifié',
4151 - 'code-rev-imagediff' => "Modifications d'images",
 4427+ 'code-rev-imagediff' => 'Modifications d’images',
41524428 'code-rev-status' => 'État :',
41534429 'code-rev-status-set' => 'Changer l’état',
41544430 'code-rev-tags' => 'Balises :',
@@ -4165,7 +4441,7 @@
41664442 'code-status-new' => 'nouveau',
41674443 'code-status-desc-new' => 'Une action est en attente pour cette révision (état par défaut).',
41684444 'code-status-fixme' => 'à corriger',
4169 - 'code-status-desc-fixme' => 'Un relecteur a marqué cette révision comme introduisant un bug ou étant erronée. Elle devrait être corrigée.',
 4445+ 'code-status-desc-fixme' => 'La révision a introduit un bug ou est erronée. Elle devrait être corrigée ou annulée.',
41704446 'code-status-reverted' => 'révoqué',
41714447 'code-status-desc-reverted' => 'La révision a été rejetée par une révision ultérieure.',
41724448 'code-status-resolved' => 'résolu',
@@ -4189,12 +4465,14 @@
41904466 'code-signoff-struckdate' => '$1 (a rayé $2)',
41914467 'code-pathsearch-legend' => 'Rechercher des révisions dans ce dépôt par chemin',
41924468 'code-pathsearch-path' => 'Chemin :',
4193 - 'code-pathsearch-filter' => 'Filtre appliqué :',
 4469+ 'code-pathsearch-filter' => 'Montrer seulement :',
41944470 'code-revfilter-cr_status' => 'Statut = $1',
41954471 'code-revfilter-cr_author' => 'Auteur = $1',
 4472+ 'code-revfilter-ct_tag' => 'Balise = $1',
41964473 'code-revfilter-clear' => 'Effacer le filtre',
41974474 'code-rev-submit' => 'Sauver les modifications',
41984475 'code-rev-submit-next' => 'Sauver & problème suivant',
 4476+ 'code-rev-next' => 'Prochaine en suspens',
41994477 'code-batch-status' => 'Modifier le statut :',
42004478 'code-batch-tags' => 'Modifier les balises :',
42014479 'codereview-batch-title' => 'Modifier toutes les révisions sélectionnées',
@@ -4205,6 +4483,8 @@
42064484 'code-release-endrev' => 'Révision de fin :',
42074485 'codereview-subtitle' => 'Pour $1',
42084486 'codereview-reply-link' => 'répondre',
 4487+ 'codereview-overview-title' => 'Vue d’ensemble',
 4488+ 'codereview-overview-desc' => 'Affiche une vue d’ensemble graphique de cette liste.',
42094489 'codereview-email-subj' => '[$1 $2] : nouveau commentaire ajouté',
42104490 'codereview-email-body' => 'L’utilisateur « $1 » a posté un commentaire sur $3.
42114491
@@ -4230,7 +4510,7 @@
42314511
42324512 $4',
42334513 'codereview-email-subj3' => '[$1 $2] : l’état de la version a changé',
4234 - 'codereview-email-body3' => 'L’utilisateur « $1 » a modifié l’état de $2.
 4514+ 'codereview-email-body3' => 'L’utilisateur « $1 » a modifié l’état de $2.
42354515
42364516 Ancien état : $3
42374517 Nouvel état : $4
@@ -4259,8 +4539,11 @@
42604540 'code-stats-header' => 'Statistiques du dépôt $1',
42614541 'code-stats-main' => 'À la date du $1, le dépôt a $2 {{PLURAL:$2|révision|révisions}} faites par [[Special:Code/$3/author|$4 {{PLURAL:$4|auteur|auteurs}}]].',
42624542 'code-stats-status-breakdown' => 'Nombre de révisions par état',
4263 - 'code-stats-fixme-breakdown' => 'Examen des révisions à corriger par auteur',
 4543+ 'code-stats-fixme-breakdown' => 'Ventilation des révisions à corriger par auteur',
 4544+ 'code-stats-new-breakdown' => 'Ventilation des nouvelles révisions par auteur',
42644545 'code-stats-count' => 'Nombre de révisions',
 4546+ 'code-tooltip-withsummary' => 'r$1 [$2] par $3 - $4',
 4547+ 'code-tooltip-withoutsummary' => 'r$1 [$2] par $3',
42654548 'repoadmin' => 'Administration des dépôts',
42664549 'repoadmin-new-legend' => 'Créer un nouveau dépôt',
42674550 'repoadmin-new-label' => 'Nom du dépôt :',
@@ -4310,6 +4593,7 @@
43114594 'code-notes' => 'novéls comentèros',
43124595 'code-statuschanges' => 'changements d’ètat',
43134596 'code-mycommits' => 'mes publecacions',
 4597+ 'code-mycomments' => 'mos comentèros',
43144598 'code-authors' => 'ôtors',
43154599 'code-status' => 'ètats',
43164600 'code-tags' => 'balises',
@@ -4333,11 +4617,15 @@
43344618 'code-field-user' => 'Comentator',
43354619 'code-field-message' => 'Rèsumâ de publecacion',
43364620 'code-field-status' => 'Ètat',
 4621+ 'code-field-status-description' => 'Dèscripcion de l’ètat',
43374622 'code-field-timestamp' => 'Dâta',
43384623 'code-field-comments' => 'Comentèros',
43394624 'code-field-path' => 'Chemin',
43404625 'code-field-text' => 'Nota',
43414626 'code-field-select' => 'Chouèsir',
 4627+ 'code-reference-remove' => 'Enlevar les associacions chouèsies',
 4628+ 'code-reference-associate' => 'Associyér ceta rèvision :',
 4629+ 'code-reference-associate-submit' => 'Associyér',
43424630 'code-rev-author' => 'Ôtor :',
43434631 'code-rev-date' => 'Dâta :',
43444632 'code-rev-message' => 'Comentèro :',
@@ -4371,11 +4659,23 @@
43724660 'code-status-ok' => 'd’acôrd',
43734661 'code-status-deferred' => 'retardâ',
43744662 'code-status-old' => 'viely',
 4663+ 'code-signoffs' => 'Aprobacions',
 4664+ 'code-signoff-legend' => 'Apondre una aprobacion',
 4665+ 'code-signoff-submit' => 'Aprovar',
 4666+ 'code-signoff-strike' => 'Traciér les aprobacions chouèsies',
 4667+ 'code-signoff-signoff' => 'Aprovar cela rèvision coment :',
 4668+ 'code-signoff-flag-inspected' => 'Controlâ',
 4669+ 'code-signoff-flag-tested' => 'Èprovâ',
 4670+ 'code-signoff-field-user' => 'Utilisator',
 4671+ 'code-signoff-field-flag' => 'Endiquior',
 4672+ 'code-signoff-field-date' => 'Dâta',
 4673+ 'code-signoff-struckdate' => '$1 (at traciê $2)',
43754674 'code-pathsearch-legend' => 'Rechèrchiér des rèvisions dens ceti dèpôt per chemin',
43764675 'code-pathsearch-path' => 'Chemin :',
4377 - 'code-pathsearch-filter' => 'Filtro aplicâ :',
 4676+ 'code-pathsearch-filter' => 'Fâre vêre ren que :',
43784677 'code-revfilter-cr_status' => 'Statut = $1',
43794678 'code-revfilter-cr_author' => 'Ôtor = $1',
 4679+ 'code-revfilter-ct_tag' => 'Balisa = $1',
43804680 'code-revfilter-clear' => 'Èfaciér lo filtro',
43814681 'code-rev-submit' => 'Sôvar los changements',
43824682 'code-rev-submit-next' => 'Sôvar & problèmo aprés',
@@ -4389,6 +4689,7 @@
43904690 'code-release-endrev' => 'Rèvision de fin :',
43914691 'codereview-subtitle' => 'Por $1',
43924692 'codereview-reply-link' => 'rèpondre',
 4693+ 'codereview-overview-title' => 'Apèrçu',
43934694 'codereview-email-subj' => '[$1 $2] : novél comentèro apondu',
43944695 'codereview-email-body' => 'L’utilisator « $1 » at postâ un comentèro dessus $3.
43954696
@@ -4422,12 +4723,30 @@
44234724 Rèsumâ de changement :
44244725
44254726 $6',
 4727+ 'codereview-email-subj4' => '[$1 $2] : novél comentèro apondu et pués ètat de la vèrsion changiê',
 4728+ 'codereview-email-body4' => 'L’utilisator « $1 » at changiê l’ètat de $2.
 4729+
 4730+Viely ètat : $3
 4731+Novél ètat : $4
 4732+
 4733+L’utilisator « $1 » at asse-ben pôstâ un comentèro sur $2.
 4734+
 4735+Adrèce URL complèta : $5
 4736+Rèsumâ du changement :
 4737+
 4738+$7
 4739+
 4740+Comentèro :
 4741+
 4742+$6',
44264743 'code-stats' => 'statistiques',
44274744 'code-stats-header' => 'Statistiques por lo dèpôt $1',
44284745 'code-stats-main' => 'A la dâta du $1, lo dèpôt at $2 {{PLURAL:$2|rèvision fêta|rèvisions fêtes}} per [[Special:Code/$3/author|$4 ôtor{{PLURAL:$4||s}}]].',
44294746 'code-stats-status-breakdown' => 'Nombro de rèvisions per ètat',
4430 - 'code-stats-fixme-breakdown' => 'Ègzamen de les rèvisions a corregiér per ôtor',
 4747+ 'code-stats-fixme-breakdown' => 'Ventilacion de les rèvisions a corregiér per ôtor',
44314748 'code-stats-count' => 'Nombro de rèvisions',
 4749+ 'code-tooltip-withsummary' => 'r$1 [$2] per $3 - $4',
 4750+ 'code-tooltip-withoutsummary' => 'r$1 [$2] per $3',
44324751 'repoadmin' => 'Administracion des dèpôts',
44334752 'repoadmin-new-legend' => 'Fâre un dèpôt novél',
44344753 'repoadmin-new-label' => 'Nom du dèpôt :',
@@ -4445,8 +4764,14 @@
44464765 'right-codereview-remove-tag' => 'Enlevar des balises de les rèvisions',
44474766 'right-codereview-post-comment' => 'Apondre des comentèros a les rèvisions',
44484767 'right-codereview-set-status' => 'Changiér l’ètat de les rèvisions',
 4768+ 'right-codereview-signoff' => 'Aprovar des rèvisions',
44494769 'right-codereview-link-user' => 'Liyér los ôtors ux utilisators vouiqui',
 4770+ 'right-codereview-associate' => 'Administrar les associacions de rèvisions',
 4771+ 'right-codereview-review-own' => 'Marcar ses prôpres rèvisions coment OK',
44504772 'specialpages-group-developer' => 'Outils u dèvelopor',
 4773+ 'group-svnadmins' => 'Administrators SVN',
 4774+ 'group-svnadmins-member' => 'Administrator SVN',
 4775+ 'grouppage-svnadmins' => '{{ns:project}}:Administrators SVN',
44514776 );
44524777
44534778 /** Friulian (Furlan)
@@ -4562,8 +4887,6 @@
45634888 'code-status-desc-new' => 'Esta revisión está á espera dunha acción (estado por defecto).',
45644889 'code-status-fixme' => 'arránxeme',
45654890 'code-status-desc-fixme' => 'Un revisor marcou esta revisión como que introduce un erro ou que é errónea. Cómpre corrección.',
4566 - 'code-status-improveme' => 'mellóreme',
4567 - 'code-status-desc-improveme' => 'Un revisor marcou esta revisión como que ten algún pequeno problema. Cómpre corrección.',
45684891 'code-status-reverted' => 'revertido',
45694892 'code-status-desc-reverted' => 'A revisión desbotouna outra revisión posterior.',
45704893 'code-status-resolved' => 'resolto',
@@ -4590,9 +4913,11 @@
45914914 'code-pathsearch-filter' => 'Filtro aplicado:',
45924915 'code-revfilter-cr_status' => 'Estado = $1',
45934916 'code-revfilter-cr_author' => 'Autor = $1',
 4917+ 'code-revfilter-ct_tag' => 'Etiqueta = $1',
45944918 'code-revfilter-clear' => 'Borrar o filtro',
45954919 'code-rev-submit' => 'Gardar os cambios',
45964920 'code-rev-submit-next' => 'Gardar e vindeiro non resolto',
 4921+ 'code-rev-next' => 'Seguinte sen resolver',
45974922 'code-batch-status' => 'Cambiar o estado:',
45984923 'code-batch-tags' => 'Cambiar as etiquetas:',
45994924 'codereview-batch-title' => 'Cambiar todas as revisións seleccionadas',
@@ -4603,6 +4928,8 @@
46044929 'code-release-endrev' => 'Última revisión:',
46054930 'codereview-subtitle' => 'De $1',
46064931 'codereview-reply-link' => 'responder',
 4932+ 'codereview-overview-title' => 'Vista xeral',
 4933+ 'codereview-overview-desc' => 'Mostrar unha vista xeral gráfica desta lista',
46074934 'codereview-email-subj' => '[$1 $2]: engadido un novo comentario',
46084935 'codereview-email-body' => 'O usuario "$1" deixou un comentario na versión $3.
46094936
@@ -4657,8 +4984,11 @@
46584985 'code-stats-header' => 'Estatísticas do repositorio "$1"',
46594986 'code-stats-main' => 'A día $6 ás $5, o repositorio ten $2 {{PLURAL:$2|revisión|revisións}} feitas por [[Special:Code/$3/author|$4 {{PLURAL:$4|autor|autores}}]].',
46604987 'code-stats-status-breakdown' => 'Número de revisións por estado',
4661 - 'code-stats-fixme-breakdown' => 'Análise de correccións por autor',
 4988+ 'code-stats-fixme-breakdown' => 'Detalle das revisións de corrección por autor',
 4989+ 'code-stats-new-breakdown' => 'Detalle das novas revisións por autor',
46624990 'code-stats-count' => 'Número de revisións',
 4991+ 'code-tooltip-withsummary' => 'r$1 [$2] por $3 - $4',
 4992+ 'code-tooltip-withoutsummary' => 'r$1 [$2] por $3',
46634993 'repoadmin' => 'Administración do repositorio',
46644994 'repoadmin-new-legend' => 'Crear un novo repositorio',
46654995 'repoadmin-new-label' => 'Nome do repositorio:',
@@ -4679,6 +5009,7 @@
46805010 'right-codereview-signoff' => 'Aprobar revisións',
46815011 'right-codereview-link-user' => 'Ligar autores a usuarios do wiki',
46825012 'right-codereview-associate' => 'Xestionar as asociacións de revisións',
 5013+ 'right-codereview-review-own' => 'Marcar as revisións propias como "de acordo"',
46835014 'specialpages-group-developer' => 'Ferramentas dos desenvolvedores',
46845015 'group-svnadmins' => 'Administradores do SVN',
46855016 'group-svnadmins-member' => 'Administrador do SVN',
@@ -5088,9 +5419,7 @@
50895420 'code-status-new' => 'חדש',
50905421 'code-status-desc-new' => 'הגרסה ממתינה לפעולה (מצב בררת המחדל).',
50915422 'code-status-fixme' => 'לתיקון',
5092 - 'code-status-desc-fixme' => 'סוקר סימן שגרסה זו גורמת לתקלה או שאינה תקינה. יש לתקן זאת.',
5093 - 'code-status-improveme' => 'שפר־אותי',
5094 - 'code-status-desc-improveme' => 'סוקר סימן את הגרסה הזאת כגרסה בעלת בעיות קטנות מסוימות. רצוי לתקן אותן.',
 5423+ 'code-status-desc-fixme' => 'בגרסה הזאת נוצר באג או שהיא מקולקלת. יש לתקן או לבטל אותה.',
50955424 'code-status-reverted' => 'בוטל',
50965425 'code-status-desc-reverted' => 'הגרסה נדחקה הצידה על ידי גרסה עדכנית יותר.',
50975426 'code-status-resolved' => 'תוקן',
@@ -5105,31 +5434,35 @@
51065435 'code-signoff-legend' => 'הוספת חתימה',
51075436 'code-signoff-submit' => 'חתימה',
51085437 'code-signoff-strike' => 'סימון החתימות הנבחרות בקו חוצה',
5109 - 'code-signoff-signoff' => 'חתימה על גרסה זו בתור:',
5110 - 'code-signoff-flag-inspected' => 'נבחן',
5111 - 'code-signoff-flag-tested' => 'נבדק',
 5438+ 'code-signoff-signoff' => 'לחתום על גרסה זו ולסמן שהיא:',
 5439+ 'code-signoff-flag-inspected' => 'נבחנה',
 5440+ 'code-signoff-flag-tested' => 'נבדקה',
51125441 'code-signoff-field-user' => 'משתמש',
51135442 'code-signoff-field-flag' => 'דגלון',
51145443 'code-signoff-field-date' => 'תאריך',
51155444 'code-signoff-struckdate' => '$1 (סומן בקו חוצה ב־$2)',
51165445 'code-pathsearch-legend' => 'חיפוש גרסאות במאגר זה לפי נתיב',
51175446 'code-pathsearch-path' => 'נתיב:',
5118 - 'code-pathsearch-filter' => 'מסנן הוחל:',
 5447+ 'code-pathsearch-filter' => 'להציג רק:',
51195448 'code-revfilter-cr_status' => 'מצב = $1',
51205449 'code-revfilter-cr_author' => 'מחבר = $1',
 5450+ 'code-revfilter-ct_tag' => 'תג = $1',
51215451 'code-revfilter-clear' => 'ניקוי הסינון',
51225452 'code-rev-submit' => 'שמירת השינויים',
51235453 'code-rev-submit-next' => 'שמירה ומעבר לבא שלא תוקן',
 5454+ 'code-rev-next' => 'הבא שלא תוקן',
51245455 'code-batch-status' => 'שינוי מצב:',
51255456 'code-batch-tags' => 'שינוי תגים:',
51265457 'codereview-batch-title' => 'שינוי כל הגרסאות שנבחרו',
51275458 'codereview-batch-submit' => 'שליחה',
5128 - 'code-releasenotes' => 'הערות שחרור',
5129 - 'code-release-legend' => 'יצירת הערות שחרור',
 5459+ 'code-releasenotes' => 'הערות גרסה',
 5460+ 'code-release-legend' => 'יצירת הערות גרסה',
51305461 'code-release-startrev' => 'גרסת התחלה:',
51315462 'code-release-endrev' => 'גרסה אחרונה:',
51325463 'codereview-subtitle' => 'עבור $1',
51335464 'codereview-reply-link' => 'תגובה',
 5465+ 'codereview-overview-title' => 'סקירה כללית',
 5466+ 'codereview-overview-desc' => 'הצגת סקירה כללית גרפית של הרשימה הזאת',
51345467 'codereview-email-subj' => '[$1] [גרסה $2]: נוספה הערה חדשה',
51355468 'codereview-email-body' => 'המשתמש "$1" פרסם הערה ב־{{GRAMMAR:תחילית|$3}}.
51365469
@@ -5183,8 +5516,11 @@
51845517 'code-stats-header' => 'סטטיסטיקה עבור המאגר $1',
51855518 'code-stats-main' => 'נכון ל־$1, למאגר יש {{PLURAL:$2|גרסה אחת|$2 גרסאות}} מאת [[Special:Code/$3/author|{{PLURAL:$4|יוצר אחד|$4 יוצרים}}]].',
51865519 'code-stats-status-breakdown' => 'מספר הגרסאות למצב',
5187 - 'code-stats-fixme-breakdown' => 'מיון של פריטים לתיקון לפי מחבר',
 5520+ 'code-stats-fixme-breakdown' => 'מיון של גרסאות לתיקון לפי מחבר',
 5521+ 'code-stats-new-breakdown' => 'מיון של גרסאות חדשות לפי מחבר',
51885522 'code-stats-count' => 'מספר הגרסאות',
 5523+ 'code-tooltip-withsummary' => '<span dir="ltr">r$1</span>‏ [$2] מאת ‏$3 – $4',
 5524+ 'code-tooltip-withoutsummary' => '<span dir="ltr">r$1</span>‏ [$2] מאת ‏$3',
51895525 'repoadmin' => 'ניהול מאגרים',
51905526 'repoadmin-new-legend' => 'יצירת מאגר חדש',
51915527 'repoadmin-new-label' => 'שם המאגר:',
@@ -5205,6 +5541,7 @@
52065542 'right-codereview-signoff' => 'חתימה על גרסאות',
52075543 'right-codereview-link-user' => 'קישור הכותבים למשתמשי ויקי',
52085544 'right-codereview-associate' => 'ניהול שיוכי גרסה',
 5545+ 'right-codereview-review-own' => 'לסמן את הגרסאות שלך כמאושרות',
52095546 'specialpages-group-developer' => 'כלי פיתוח',
52105547 'group-svnadmins' => 'מנהלי שרת SVN',
52115548 'group-svnadmins-member' => 'מנהל שרת SVN',
@@ -5514,8 +5851,6 @@
55155852 'code-status-desc-new' => 'Wersija akciju wočakuje (standardny status)',
55165853 'code-status-fixme' => 'porjedźić',
55175854 'code-status-desc-fixme' => 'Posudźowar markěrowaše wersiju jako poškodźeny abo jako zawinowar programoweho zmylka. Wona měła so porjedźić.',
5518 - 'code-status-improveme' => 'IMPROVEME',
5519 - 'code-status-desc-improveme' => 'Posudźowar je tutu wersiju jako polěpšenja potrěbnu markěrował. Měła so korigować.',
55205855 'code-status-reverted' => 'anulowany',
55215856 'code-status-desc-reverted' => 'Wersija bu přez pozdźišu wersiju cofnjena.',
55225857 'code-status-resolved' => 'sčinjeny',
@@ -5665,14 +6000,19 @@
56666001 'code-prop-changes' => 'Állapot & címkézési napló',
56676002 'codereview-desc' => '[[Special:Code|Kódellenőrző eszköz]] [[Special:RepoAdmin|Subversion-támogatással]]',
56686003 'code-no-repo' => 'Nincs kódtárhely beállítva!',
 6004+ 'code-create-repo' => 'Új tároló létrehozásához menj a [[Special:RepoAdmin|RepoAdmin]] lapra',
 6005+ 'code-need-repoadmin-rights' => 'Tároló létrehozásához repoadmin jogosultság szükséges',
 6006+ 'code-need-group-with-rights' => 'Nincs repoadmin jogosultsággal rendelkező csoport. Hozz létre egyet új tároló felvételéhez.',
56696007 'code-repo-not-found' => "A(z) '''$1''' kódtárhely nem létezik!",
56706008 'code-load-diff' => 'Változtatások betöltése...',
56716009 'code-notes' => 'legutóbbi hozzászólások',
56726010 'code-statuschanges' => 'állapotváltoztatások',
56736011 'code-mycommits' => 'saját commitok',
 6012+ 'code-mycomments' => 'saját megjegyzések',
56746013 'code-authors' => 'szerzők',
56756014 'code-status' => 'állapotok',
56766015 'code-tags' => 'címkék',
 6016+ 'code-tags-no-tags' => 'Nincs egyetlen címke sem ebben a tárolóban.',
56776017 'code-authors-text' => 'Alább a tárhelyen műveleteket végző szerzők láthatóak a commitok neve szerint rendezve. A helyi, wikis fiókok zárójelben szerepelnek. Lehetséges, hogy az adatok a gyorsítótárból származnak.',
56786018 'code-author-haslink' => 'Ez a szerző megegyezi a wiki $1 nevű szerkesztőjével',
56796019 'code-author-orphan' => 'Ez a szerkesztő nem rendelkezik felhasználói fiókkal ezen a wikin',
@@ -5693,11 +6033,14 @@
56946034 'code-field-user' => 'Hozzászóló',
56956035 'code-field-message' => 'Összefoglaló',
56966036 'code-field-status' => 'Állapot',
 6037+ 'code-field-status-description' => 'Állapotleírás',
56976038 'code-field-timestamp' => 'Időpont',
56986039 'code-field-comments' => 'Hozzászólások',
56996040 'code-field-path' => 'Elérési út',
57006041 'code-field-text' => 'Megjegyzés',
57016042 'code-field-select' => 'Kiválaszt',
 6043+ 'code-reference-associate' => 'Kapcsolódó későbbi változat:',
 6044+ 'code-reference-associate-submit' => 'Kapcsolódó',
57026045 'code-rev-author' => 'Szerző:',
57036046 'code-rev-date' => 'Dátum:',
57046047 'code-rev-message' => 'Megjegyzés:',
@@ -5728,7 +6071,6 @@
57296072 'code-status-desc-new' => 'A változat felülvizsgálatra vár (alapértelmezett állapot).',
57306073 'code-status-fixme' => 'javítandó',
57316074 'code-status-desc-fixme' => 'Az ellenőrzést végző személy szerint a változatban új hiba van, vagy nem működik. Javításra szorul.',
5732 - 'code-status-improveme' => 'fejlesztendő',
57336075 'code-status-reverted' => 'visszaállítva',
57346076 'code-status-desc-reverted' => 'A változatot eldobták egy későbbi változatban.',
57356077 'code-status-resolved' => 'javítva',
@@ -5741,6 +6083,8 @@
57426084 'code-status-desc-old' => 'Olyan régi változat, ami tartalmazhat hibákat, de nem éri meg a fáradozást az ellenőrzésük.',
57436085 'code-signoffs' => 'Aláírások',
57446086 'code-signoff-legend' => 'Aláírás hozzáadása',
 6087+ 'code-signoff-strike' => 'A kiválasztott aláírások áthúzása',
 6088+ 'code-signoff-signoff' => 'Változat aláírása mint:',
57456089 'code-signoff-flag-inspected' => 'megvizsgálva',
57466090 'code-signoff-flag-tested' => 'tesztelve',
57476091 'code-signoff-field-user' => 'Felhasználó',
@@ -5831,7 +6175,7 @@
58326176 'code-change-status' => "cambiava le '''stato''' de v$1",
58336177 'code-change-tags' => "cambiava le '''etiquettas''' de v$1",
58346178 'code-change-removed' => 'removeva:',
5835 - 'code-change-added' => 'addeva:',
 6179+ 'code-change-added' => 'addite:',
58366180 'code-old-status' => 'Stato ancian',
58376181 'code-new-status' => 'Stato nove',
58386182 'code-prop-changes' => 'Registro de stato e de etiquettage',
@@ -5908,7 +6252,7 @@
59096253 'code-status-new' => 'nove',
59106254 'code-status-desc-new' => 'Le version attende un action (stato predefinite).',
59116255 'code-status-fixme' => 'corrigeme',
5912 - 'code-status-desc-fixme' => 'Un revisor marcava iste version como introductor de un error o como defectuose. Illo debe esser corrigite.',
 6256+ 'code-status-desc-fixme' => 'Iste version introduceva un error o es defectuose. Illo debe esser corrigite o revertite.',
59136257 'code-status-reverted' => 'revertite',
59146258 'code-status-desc-reverted' => 'Le version esseva jectate via per un version plus recente.',
59156259 'code-status-resolved' => 'resolvite',
@@ -5932,12 +6276,14 @@
59336277 'code-signoff-struckdate' => '$1 (cancellate a $2)',
59346278 'code-pathsearch-legend' => 'Cercar versiones in iste deposito per cammino',
59356279 'code-pathsearch-path' => 'Cammino:',
5936 - 'code-pathsearch-filter' => 'Filtro applicate:',
 6280+ 'code-pathsearch-filter' => 'Monstrar solmente:',
59376281 'code-revfilter-cr_status' => 'Stato = $1',
59386282 'code-revfilter-cr_author' => 'Autor = $1',
 6283+ 'code-revfilter-ct_tag' => 'Etiquetta = $1',
59396284 'code-revfilter-clear' => 'Rader filtro',
59406285 'code-rev-submit' => 'Salveguardar modificationes',
59416286 'code-rev-submit-next' => 'Salveguardar & problema sequente',
 6287+ 'code-rev-next' => 'Proxime non resolvite',
59426288 'code-batch-status' => 'Cambiar stato:',
59436289 'code-batch-tags' => 'Cambiar etiquettas:',
59446290 'codereview-batch-title' => 'Cambiar tote le revisiones seligite',
@@ -5948,6 +6294,8 @@
59496295 'code-release-endrev' => 'Version final:',
59506296 'codereview-subtitle' => 'Pro $1',
59516297 'codereview-reply-link' => 'responder',
 6298+ 'codereview-overview-title' => 'Summario',
 6299+ 'codereview-overview-desc' => 'Monstrar un summario graphic de iste lista',
59526300 'codereview-email-subj' => '[$1] [v$2]: Nove commento addite',
59536301 'codereview-email-body' => 'Le usator "$1" publicava un commento super $3.
59546302
@@ -6001,8 +6349,11 @@
60026350 'code-stats-header' => 'Statisticas pro le deposito $1',
60036351 'code-stats-main' => 'Al data de $1, le deposito ha $2 {{PLURAL:$2|version|versiones}} per [[Special:Code/$3/author|$4 {{PLURAL:$4|autor|autores}}]].',
60046352 'code-stats-status-breakdown' => 'Numero de versiones per stato',
6005 - 'code-stats-fixme-breakdown' => 'Separation de corrigenda per autor',
 6353+ 'code-stats-fixme-breakdown' => 'Classification de corrigenda per autor',
 6354+ 'code-stats-new-breakdown' => 'Classification de nove versiones per autor',
60066355 'code-stats-count' => 'Numero de versiones',
 6356+ 'code-tooltip-withsummary' => 'v$1 [$2] per $3 - $4',
 6357+ 'code-tooltip-withoutsummary' => 'v$1 [$2] per $3',
60076358 'repoadmin' => 'Administration de depositos',
60086359 'repoadmin-new-legend' => 'Crear un nove deposito',
60096360 'repoadmin-new-label' => 'Nomine del deposito:',
@@ -6166,18 +6517,23 @@
61676518 'codereview-email-body' => 'Pengguna "$1" berkomentar pada $3.
61686519
61696520 URL lengkap: $2
 6521+Ringkasan masukan:
61706522
 6523+$5
 6524+
61716525 Komentar:
61726526
61736527 $4',
61746528 'codereview-email-subj2' => '[$1 $2]:Menindaklanjuti perubahan',
6175 - 'codereview-email-body2' => 'Pengguna "$1" membbuat perubahan lanjutan terhadap $2.
 6529+ 'codereview-email-body2' => 'Pengguna "$1" membuat perubahan lanjutan terhadap $2.
61766530
6177 -URL penuh untuk revisi lanjutan: $5
 6531+URL lengkap untuk revisi lanjutan: $5
 6532+Ringkasan masukan:
61786533
6179 -URL penuh: $3
 6534+$6
61806535
6181 -Ringkasan:
 6536+URL lengkap: $3
 6537+Ringkasan masukan:
61826538
61836539 $4',
61846540 'codereview-email-subj3' => '[$1 $2]: Status revisi berubah',
@@ -6187,19 +6543,22 @@
61886544 Status baru: $4
61896545
61906546 URL lengkap: $5
6191 -Ringkasan:
 6547+Ringkasan masukan:
61926548
61936549 $6',
61946550 'codereview-email-subj4' => '[$1 $2]: Komentar baru ditambahkan dan revisi status berubah',
6195 - 'codereview-email-body4' => 'Pengguna "$1" mengganti status $2.
 6551+ 'codereview-email-body4' => 'Pengguna "$1" mengubah status $2.
61966552
61976553 Status lama: $3
61986554 Status baru: $4
61996555
6200 -Pengguna "$1" juga mengirim komentar terhadap $2.
 6556+Pengguna "$1" juga berkomentar terhadap $2.
62016557
62026558 URL lengkap: $5
 6559+Ringkasan masukan:
62036560
 6561+$7
 6562+
62046563 Komentar:
62056564
62066565 $6',
@@ -6229,6 +6588,7 @@
62306589 'right-codereview-signoff' => 'Persetujuan revisi',
62316590 'right-codereview-link-user' => 'Pranala penulis ke wiki pengguna',
62326591 'right-codereview-associate' => 'Mengelola keterkaitan revisi',
 6592+ 'right-codereview-review-own' => 'Tandai suntingan Anda sendiri sebagai OK',
62336593 'specialpages-group-developer' => 'Alat Pengembang',
62346594 'group-svnadmins' => 'Pengurus SVN',
62356595 'group-svnadmins-member' => 'Pengurus SVN',
@@ -6382,7 +6742,7 @@
63836743 'code-signoff-field-date' => 'Data',
63846744 'code-pathsearch-legend' => 'Ricerca nelle revisioni di questo repository in base al percorso',
63856745 'code-pathsearch-path' => 'Percorso:',
6386 - 'code-pathsearch-filter' => 'Filtro applicato:',
 6746+ 'code-pathsearch-filter' => 'Mostra solo:',
63876747 'code-revfilter-cr_status' => 'Stato = $1',
63886748 'code-revfilter-cr_author' => 'Autore = $1',
63896749 'code-revfilter-clear' => 'Cancella filtro',
@@ -6530,7 +6890,6 @@
65316891 'code-status-desc-new' => 'リビジョンは操作を保留中です(既定の状態)。',
65326892 'code-status-fixme' => '要修正',
65336893 'code-status-desc-fixme' => 'レビュアーは、この版にはバグがある、あるいは壊れていると印付けました。修正する必要があります。',
6534 - 'code-status-desc-improveme' => 'この版に、査読者が細かい問題があるという印をつけました。修正する必要があります。',
65356894 'code-status-reverted' => '差し戻し済み',
65366895 'code-status-desc-reverted' => 'リビジョンは、以降の版で廃棄されました。',
65376896 'code-status-resolved' => '解決済',
@@ -7161,7 +7520,7 @@
71627521 'code-author-unlinksuccess' => 'Dä Schriiver $1 es jäz nit mieh met dämm Wiki verlengk',
71637522 'code-author-badtoken' => 'Ene Fähler met dä <i lang="en">Session</i>-Daate es opjetrodde, wi mer dat maache wullte.',
71647523 'code-author-total' => 'Schriever insjesamp: $1',
7165 - 'code-author-lastcommit' => 'Et Dattum vum läzde Beidraach',
 7524+ 'code-author-lastcommit' => 'Dä läzde Beidraach',
71667525 'code-browsing-path' => "Bläddere en de Versione vun '''$1'''",
71677526 'code-field-id' => 'Version',
71687527 'code-field-author' => 'Schriiver',
@@ -7173,7 +7532,7 @@
71747533 'code-field-comments' => 'Aanmärkunge',
71757534 'code-field-path' => 'Pad',
71767535 'code-field-text' => 'Notiz',
7177 - 'code-field-select' => 'Ußsöke',
 7536+ 'code-field-select' => 'Ußsöhke',
71787537 'code-reference-remove' => 'Ußjewählte Zosammehäng oplühse',
71797538 'code-reference-associate' => 'Opfoljer-Version faßlääje:',
71807539 'code-reference-associate-submit' => 'Donn se zesamme!',
@@ -7206,7 +7565,7 @@
72077566 'code-status-new' => 'neu',
72087567 'code-status-desc-new' => 'Di Version es drop am waade, dat mer jet med_er deiht, dad_es och der Aanfangs_Zohshtand.',
72097568 'code-status-fixme' => 'zom Verbessere',
7210 - 'code-status-desc-fixme' => 'Ene Prööfer hät di Version als kappott ennjeshtoof udder se määt jet kapoot un leuf nit. Doh jidd_et jet draan ze verbäßere.',
 7569+ 'code-status-desc-fixme' => 'Di Version deiht et nit udder se määt jet verkiehrt. Doh jidd_et jet draan ze verbäßere, udder se sullt retuur jemaat wääde.',
72117570 'code-status-reverted' => 'retuur jemaat',
72127571 'code-status-desc-reverted' => 'Di Version es vun ene shpäädere Version widder opjehovve woode.',
72137572 'code-status-resolved' => 'äleedesch',
@@ -7230,12 +7589,14 @@
72317590 'code-signoff-struckdate' => '$1 (fottjeschmeße: $2)',
72327591 'code-pathsearch-legend' => 'Söhk en däm Repositorijum noh Versione, övver dänne iere Pahdt',
72337592 'code-pathsearch-path' => 'Pahdt:',
7234 - 'code-pathsearch-filter' => 'Ußjesöhk noh:&nbsp;',
 7593+ 'code-pathsearch-filter' => 'Ußsöhke noh:&nbsp;',
72357594 'code-revfilter-cr_status' => 'Stattus = $1',
72367595 'code-revfilter-cr_author' => 'Schriever = $1',
 7596+ 'code-revfilter-ct_tag' => 'Makeerong = $1',
72377597 'code-revfilter-clear' => 'Donn nix mieh udder keine mieh ußwähle!',
72387598 'code-rev-submit' => 'Änderunge faßhallde',
72397599 'code-rev-submit-next' => 'Don dat faßhallde, un jangk nohm nächste unjelöste Kumflick',
 7600+ 'code-rev-next' => 'De nääßte Version zom jet draan donn',
72407601 'code-batch-status' => 'Shtattus ändere:',
72417602 'code-batch-tags' => 'Makeerunge ändere:',
72427603 'codereview-batch-title' => 'All de ußjesoohte Versione ändere',
@@ -7246,6 +7607,8 @@
72477608 'code-release-endrev' => 'Läz Version:',
72487609 'codereview-subtitle' => 'För $1',
72497610 'codereview-reply-link' => 'antwoote',
 7611+ 'codereview-overview-title' => 'Övverbleck',
 7612+ 'codereview-overview-desc' => 'Donn en Övverssesch vun dä Leß als e Beld aanzeije',
72507613 'codereview-email-subj' => '[$1 $2]: Neu Aanmerkung dobei jedonn',
72517614 'codereview-email-body' => '{{GENDER:$1|Dä|Et|Dä Metmaacher|De|Dat}} "$1" hät en Aanmerkung enjedraare för $3
72527615
@@ -7304,8 +7667,11 @@
73057668 'code-stats-header' => 'Statistike vum Repositorijum „$1“',
73067669 'code-stats-main' => 'Bes aam $6 öm $5 Uhr {{PLURAL:$4|hät [[Special:Code/$3/author|eine Schriever]]|han [[Special:Code/$3/author|$4 Schriever]]}} {{PLURAL:$2|ein Änderung|$2 Änderunge}} em Repositorijum jemaat.',
73077670 'code-stats-status-breakdown' => 'Aanzahl Versione per Stattus',
7308 - 'code-stats-fixme-breakdown' => 'Woh jet draan ze Verbessere es, opjeschlößelt noh Schriever',
 7671+ 'code-stats-fixme-breakdown' => 'Woh noch jet draan ze Verbessere es, opjeschlößelt noh de Schriever',
 7672+ 'code-stats-new-breakdown' => 'De neue Versione, opjeschlößelt noh de Schriever',
73097673 'code-stats-count' => 'Aanzahl Versione',
 7674+ 'code-tooltip-withsummary' => 'r$1 [$2] vum $3 - $4',
 7675+ 'code-tooltip-withoutsummary' => 'r$1 [$2] vum $3',
73107676 'repoadmin' => 'Repositorijums-Verwalldung',
73117677 'repoadmin-new-legend' => 'E neu Repositorijum aanlääje',
73127678 'repoadmin-new-label' => 'Däm Repositorijum singe Name:',
@@ -7373,7 +7739,7 @@
73747740 'code-tags' => 'Tagen',
73757741 'code-authors-text' => 'Ënnendrënner ass eng Lëscht vun de Repo-Auteuren an der Reiefolleg vum Commit Numm. Lokal Wikikonte ginn tëschent Klamere gewisen. Et ka sinn datt Daten aus dem Tëschspäicher kommen.',
73767742 'code-author-haslink' => 'Dësen Auteur ass mam Wiki-Benotzer $1 verbonn',
7377 - 'code-author-orphan' => 'Dëse Benotzer huet kee Link mat engem Wiki-Benotzerkont',
 7743+ 'code-author-orphan' => 'De Wiki-Benotzer $1 huet kee Link mat engem Wiki-Benotzerkont',
73787744 'code-author-dolink' => 'Dësen Auteur mat engem Wiki-Benotzer verbannen:',
73797745 'code-author-alterlink' => 'De Wiki-Benotzer de mat dësem Auteur verlinkt ass änneren:',
73807746 'code-author-orunlink' => 'oder dëse Benotzer net méi verlinken:',
@@ -7398,6 +7764,7 @@
73997765 'code-field-text' => 'Notiz',
74007766 'code-field-select' => 'Auswielen',
74017767 'code-reference-remove' => 'Déi erausgesichte Verbindunge läschen',
 7768+ 'code-reference-associate' => "Mat der 'Versioun déi duerno kënnt' verbannen:",
74027769 'code-reference-associate-submit' => 'Associéieren',
74037770 'code-rev-author' => 'Auteur:',
74047771 'code-rev-date' => 'Datum:',
@@ -7443,10 +7810,12 @@
74447811 'code-signoff-field-user' => 'Benotzer',
74457812 'code-signoff-field-flag' => 'Markéierung',
74467813 'code-signoff-field-date' => 'Datum',
 7814+ 'code-signoff-struckdate' => '$1 (huet $2 gestrach)',
74477815 'code-pathsearch-path' => 'Pad:',
7448 - 'code-pathsearch-filter' => 'Filter dee bnotzt gouf:',
 7816+ 'code-pathsearch-filter' => 'Weis nëmmen:',
74497817 'code-revfilter-cr_status' => 'Statut = $1',
74507818 'code-revfilter-cr_author' => 'Auteur = $1',
 7819+ 'code-revfilter-ct_tag' => 'Tag = $1',
74517820 'code-revfilter-clear' => 'Filter eidel maachen',
74527821 'code-rev-submit' => 'Ännerunge späicheren',
74537822 'code-rev-submit-next' => 'Späicheren & nächst ongeléist',
@@ -7460,6 +7829,8 @@
74617830 'code-release-endrev' => 'Lescht Versioun:',
74627831 'codereview-subtitle' => 'Fir $1',
74637832 'codereview-reply-link' => 'äntwerten',
 7833+ 'codereview-overview-title' => 'Iwwersiicht',
 7834+ 'codereview-overview-desc' => 'Eng grafesch Iwwersiicht vun dëser Lëscht wesien',
74647835 'codereview-email-subj' => '[$1 $2]: Nei Bemierkung derbäigesat',
74657836 'codereview-email-body' => 'De Benotzer "$1" huet eng Bemierkung op $3 hannerlooss.
74667837
@@ -7512,8 +7883,11 @@
75137884 $6',
75147885 'code-stats' => 'Statistiken',
75157886 'code-stats-status-breakdown' => 'Zuel vun de Versioune pro Statut',
7516 - 'code-stats-fixme-breakdown' => 'Opdeelung vun de FixMe pro Auteur',
 7887+ 'code-stats-fixme-breakdown' => 'Opdeelung vun de FixMe-Versioune pro Auteur',
 7888+ 'code-stats-new-breakdown' => 'Opdeelung vun neie Versioune pro Auteur',
75177889 'code-stats-count' => 'Zuel vun de Versiounen',
 7890+ 'code-tooltip-withsummary' => 'r$1 [$2] vum $3 - $4',
 7891+ 'code-tooltip-withoutsummary' => 'r$1 [$2] vum $3',
75187892 'repoadmin-new-button' => 'Uleeën',
75197893 'repoadmin-edit-bug' => 'Bugzilla Pad:',
75207894 'repoadmin-edit-view' => 'Pad op ViewVC:',
@@ -7526,12 +7900,22 @@
75277901 'right-codereview-set-status' => 'Ännere vum Status vun de Versiounen',
75287902 'right-codereview-signoff' => 'Ännerunge fräiginn',
75297903 'right-codereview-link-user' => 'Auteure mat Wiki-Benotzer verbannen (verlinken)',
 7904+ 'right-codereview-review-own' => 'Markéiert Är eege Versiounen als OK',
75307905 'specialpages-group-developer' => 'Handwierksgeschir fir Entwéckler (Programméierer)',
75317906 'group-svnadmins' => 'SVN-Administrateuren',
75327907 'group-svnadmins-member' => 'SVN-Administrateur',
75337908 'grouppage-svnadmins' => '{{ns:project}}:SVN-Administrateuren',
75347909 );
75357910
 7911+/** Lezghian (Лезги)
 7912+ * @author Namik
 7913+ */
 7914+$messages['lez'] = array(
 7915+ 'code-rev-date' => 'Нумра/заман',
 7916+ 'code-status-old' => 'иски',
 7917+ 'code-signoff-field-flag' => 'Пайдах',
 7918+);
 7919+
75367920 /** Lingua Franca Nova (Lingua Franca Nova)
75377921 * @author Malafaya
75387922 */
@@ -7698,9 +8082,17 @@
76998083 );
77008084
77018085 /** Lithuanian (Lietuvių)
 8086+ * @author Eitvys200
77028087 * @author Matasg
77038088 */
77048089 $messages['lt'] = array(
 8090+ 'code' => 'Kodo peržiūra',
 8091+ 'code-rev-title' => '$1 - kodo peržiura',
 8092+ 'code-comments' => 'Komentarai',
 8093+ 'code-change-removed' => 'pašalintas:',
 8094+ 'code-change-added' => 'Pridėtas:',
 8095+ 'code-old-status' => 'Senas statusas',
 8096+ 'code-new-status' => 'Naujas statusas',
77058097 'repoadmin-new-button' => 'Sukurti',
77068098 'repoadmin-edit-button' => 'Gerai',
77078099 );
@@ -7713,6 +8105,7 @@
77148106 );
77158107
77168108 /** Latvian (Latviešu)
 8109+ * @author GreenZeb
77178110 * @author Papuass
77188111 */
77198112 $messages['lv'] = array(
@@ -7786,7 +8179,7 @@
77878180 'code-authors-text' => 'Еве список на автори на складишта подредени по име. Сметките на локалните викија се прикажани во загради.
77888181 Податоците може да бидат кеширани.',
77898182 'code-author-haslink' => 'Овој автор е сврзан со корисникот $1',
7790 - 'code-author-orphan' => 'Овој автор нема врска до вики-сметка',
 8183+ 'code-author-orphan' => 'Корисникот $1 нема врска со вики-сметка',
77918184 'code-author-dolink' => 'Сврзи го овој автор со корисник:',
77928185 'code-author-alterlink' => 'Сменете го корисникот сврзан со овој автор:',
77938186 'code-author-orunlink' => 'Или отстранете врска до корисникот',
@@ -7842,7 +8235,7 @@
78438236 'code-status-new' => 'нов',
78448237 'code-status-desc-new' => 'Ревизијата е во исчекување на дејство (статус по основно).',
78458238 'code-status-fixme' => 'корегирај ме',
7846 - 'code-status-desc-fixme' => 'Прегледувач во оваа ревизија означил грешка или неисправност. Треба да се поправи.',
 8239+ 'code-status-desc-fixme' => 'Ревизијата предизвика грешка или е неисправна. Треба да се поправи или врати.',
78478240 'code-status-reverted' => 'вратено',
78488241 'code-status-desc-reverted' => 'Ревизијата е исфрлена од понова верзија.',
78498242 'code-status-resolved' => 'разрешено',
@@ -7866,12 +8259,14 @@
78678260 'code-signoff-struckdate' => '$1 (поништена $2)',
78688261 'code-pathsearch-legend' => 'Пребарај ревизии на ова складиште по нивниот пат',
78698262 'code-pathsearch-path' => 'Патека:',
7870 - 'code-pathsearch-filter' => 'Применет филтер:',
 8263+ 'code-pathsearch-filter' => 'Прикажи само:',
78718264 'code-revfilter-cr_status' => 'Статус = $1',
78728265 'code-revfilter-cr_author' => 'Автор = $1',
 8266+ 'code-revfilter-ct_tag' => 'Ознака = $1',
78738267 'code-revfilter-clear' => 'Исчисти филтер',
78748268 'code-rev-submit' => 'Зачувај промени',
78758269 'code-rev-submit-next' => 'Зачувај и прикажи следно нерешено',
 8270+ 'code-rev-next' => 'Следна нерешена',
78768271 'code-batch-status' => 'Измени статус:',
78778272 'code-batch-tags' => 'Измени ги ознаките:',
78788273 'codereview-batch-title' => 'Измени ги сите избрани ревизии',
@@ -7882,6 +8277,8 @@
78838278 'code-release-endrev' => 'Последна ревиз:',
78848279 'codereview-subtitle' => 'За $1',
78858280 'codereview-reply-link' => 'одговори',
 8281+ 'codereview-overview-title' => 'Преглед',
 8282+ 'codereview-overview-desc' => 'Прикажи графички преглед на списоков',
78868283 'codereview-email-subj' => '[$1 $2]: Додаден е нов коментар',
78878284 'codereview-email-body' => 'Корисникот „$1“ објави коментар за $3.
78888285
@@ -7934,8 +8331,11 @@
79358332 'code-stats-header' => 'Статистики за складот $1',
79368333 'code-stats-main' => 'На $1 складиштето имало $2 {{PLURAL:$2|ревизија|ревизии}} од [[Special:Code/$3/author|$4 {{PLURAL:$4|автор|автори}}]].',
79378334 'code-stats-status-breakdown' => 'Број на ревизии по состојба',
7938 - 'code-stats-fixme-breakdown' => 'Расчленет преглед на проблеми на за поправка по автор',
 8335+ 'code-stats-fixme-breakdown' => 'Расчленет преглед на ревизии за поправка по автор',
 8336+ 'code-stats-new-breakdown' => 'Расчленет преглед на нови ревизии по автор',
79398337 'code-stats-count' => 'Број на ревизии',
 8338+ 'code-tooltip-withsummary' => 'r$1 [$2] од $3 - $4',
 8339+ 'code-tooltip-withoutsummary' => 'r$1 [$2] од $3',
79408340 'repoadmin' => 'Управување со складиштето',
79418341 'repoadmin-new-legend' => 'Создај ново складиште',
79428342 'repoadmin-new-label' => 'Име на складиштето:',
@@ -8031,7 +8431,7 @@
80328432 'code-rev-paths' => 'മാറ്റം വരുത്തിയ പഥങ്ങൾ:',
80338433 'code-rev-modified-a' => 'കൂട്ടിച്ചേർത്തു',
80348434 'code-rev-modified-r' => 'പകരം വെച്ചു',
8035 - 'code-rev-modified-d' => 'മായ്ച്ചുകളഞ്ഞു',
 8435+ 'code-rev-modified-d' => 'മായ്ച്ചിരിക്കുന്നു',
80368436 'code-rev-modified-m' => 'മാറ്റം വരുത്തി',
80378437 'code-rev-imagediff' => 'ചിത്രത്തിന്റെ മാറ്റങ്ങൾ',
80388438 'code-rev-status' => 'സ്ഥിതി:',
@@ -8051,9 +8451,7 @@
80528452 'code-status-new' => 'പുതിയത്',
80538453 'code-status-desc-new' => 'നാൾപ്പതിപ്പിന് ഒരു പ്രവൃത്തി അവശേഷിക്കുന്നു (സ്വതേയുള്ള സ്ഥിതി).',
80548454 'code-status-fixme' => 'ഈ പ്രശ്നം പരിഹരിക്കുക',
8055 - 'code-status-desc-fixme' => 'ഈ നാൾപ്പതിപ്പ് ബഗ് ആണെന്നോ തകർന്നതാണെന്നോ ഒരു സംശോധകൻ അടയാളപ്പെടുത്തിയിരിക്കുന്നു. ഇത് ശരിയാക്കേണ്ടതാണ്.',
8056 - 'code-status-improveme' => 'ഇതുമെച്ചപ്പെടുത്തുക',
8057 - 'code-status-desc-improveme' => 'ഈ നാൾപ്പതിപ്പിൽ ചില നിസ്സാരപ്രശ്നങ്ങൾ ഉള്ളതായി ഒരു സംശോധകൻ അടയാളപ്പെടുത്തിയിരിക്കുന്നു. ഇത് ശരിയാക്കേണ്ടതാണ്.',
 8455+ 'code-status-desc-fixme' => 'ഈ നാൾപ്പതിപ്പ് ബഗ് ആണെന്നോ തകർന്നതാണെന്നോ കാണിക്കുന്നു. ഇത് ശരിയാക്കുകയോ മുൻപ്രാപനം ചെയ്യുകയോ ചെയ്യേണ്ടതാണ്.',
80588456 'code-status-reverted' => 'മുൻപ്രാപനം ചെയ്തിരിക്കുന്നു',
80598457 'code-status-desc-reverted' => 'പിന്നീട് വന്ന നാൾപ്പതിപ്പിനാൽ ഈ നാൾപ്പതിപ്പ് മാറ്റപ്പെട്ടിരിക്കുന്നു.',
80608458 'code-status-resolved' => 'പരിഹരിച്ചിരിക്കുന്നു',
@@ -8077,12 +8475,14 @@
80788476 'code-signoff-struckdate' => '$1 ($2 തടയൽ)',
80798477 'code-pathsearch-legend' => 'ഈ റെപ്പോയിലെ നാൾപ്പതിപ്പുകൾ പഥമനുസരിച്ച് തിരയുക',
80808478 'code-pathsearch-path' => 'പഥം:',
8081 - 'code-pathsearch-filter' => 'അരിപ്പയിൽ പ്രയോഗിച്ചത്:',
 8479+ 'code-pathsearch-filter' => 'പ്രദർശിപ്പിക്കേണ്ടത്:',
80828480 'code-revfilter-cr_status' => 'സ്ഥിതി = $1',
80838481 'code-revfilter-cr_author' => 'രചയിതാവ് = $1',
 8482+ 'code-revfilter-ct_tag' => 'റ്റാഗ് = $1',
80848483 'code-revfilter-clear' => 'അരിപ്പ ശുദ്ധമാക്കുക',
80858484 'code-rev-submit' => 'മാറ്റങ്ങൾ സേവ് ചെയ്യുക',
80868485 'code-rev-submit-next' => 'സേവ് ചെയ്യുക, പരിഹരിക്കാത്ത അടുത്തതിലേയ്ക്ക് പോവുക',
 8486+ 'code-rev-next' => 'പരിഹരിക്കപ്പെടാത്ത അടുത്തത്',
80878487 'code-batch-status' => 'സ്ഥിതിയിൽ മാറ്റം വരുത്തുക:',
80888488 'code-batch-tags' => 'റ്റാഗുകൾ മാറ്റുക:',
80898489 'codereview-batch-title' => 'തിരഞ്ഞെടുത്ത എല്ലാ നാൾപ്പതിപ്പുകളിലും മാറ്റം‌‌വരുത്തുക',
@@ -8093,6 +8493,8 @@
80948494 'code-release-endrev' => 'അവസാന നാൾപ്പതിപ്പ്:',
80958495 'codereview-subtitle' => 'റെപ്പോസിറ്ററി $1',
80968496 'codereview-reply-link' => 'മറുപടി',
 8497+ 'codereview-overview-title' => 'അവലോകനം',
 8498+ 'codereview-overview-desc' => 'ഈ പട്ടികയുടെ ഗ്രാഫിക്കൽ അവലോകനം പ്രദർശിപ്പിക്കുക',
80978499 'codereview-email-subj' => '[$1 $2]: പുതിയ അഭിപ്രായം ചേർത്തിരിക്കുന്നു',
80988500 'codereview-email-body' => '$3 താളിൽ "$1" എന്ന ഉപയോക്താവ് ഒരു അഭിപ്രായം ചേർത്തിരിക്കുന്നു.
80998501
@@ -8139,7 +8541,7 @@
81408542
81418543 $7
81428544
8143 -അഭിപ്രായം:
 8545+അഭിപ്രായം:
81448546
81458547 $6',
81468548 'code-stats' => 'സ്ഥിതിവിവരക്കണക്കുകൾ',
@@ -8168,6 +8570,7 @@
81698571 'right-codereview-signoff' => 'നാൾപ്പതിപ്പുകൾ അവസാനിപ്പിച്ചിറങ്ങുക',
81708572 'right-codereview-link-user' => 'രചയിതാക്കളെ വിക്കി ഉപയോക്താക്കളുമായി കണ്ണി ചേർക്കുക',
81718573 'right-codereview-associate' => 'നാൾപ്പതിപ്പ് ബന്ധങ്ങളുടെ കൈകാര്യം',
 8574+ 'right-codereview-review-own' => 'താങ്കൾ സ്വയം സൃഷ്ടിച്ച നാൾപ്പതിപ്പുകൾ ശരിയാണെന്ന് അടയാളപ്പെടുത്തുക',
81728575 'specialpages-group-developer' => 'വികസന ഉപകരണങ്ങൾ',
81738576 'group-svnadmins' => 'എസ്.വി.എൻ. കാര്യനിർവ്വഹകർ',
81748577 'group-svnadmins-member' => 'എസ്.വി.എൻ. കാര്യനിർവ്വാഹക(ൻ)',
@@ -8192,21 +8595,33 @@
81938596 * @author Izzudin
81948597 */
81958598 $messages['ms'] = array(
8196 - 'code' => 'Semakan Kod',
8197 - 'code-comments' => 'Ulasan',
 8599+ 'code' => 'Kajian Kod',
 8600+ 'code-rev-title' => '$1 - Kajian Kod',
 8601+ 'code-comments' => 'Komen',
 8602+ 'code-references' => 'Semakan susulan',
81988603 'code-change-status' => "'''status''' $1 ditukar",
81998604 'code-change-tags' => "'''label''' untuk $1 ditukar",
82008605 'code-change-removed' => 'membuang:',
82018606 'code-change-added' => 'menambah:',
 8607+ 'code-old-status' => 'Status lama',
 8608+ 'code-new-status' => 'Status baru',
82028609 'code-prop-changes' => 'Log status & label',
8203 - 'codereview-desc' => '[[Special:Code|Alat semakan kod]] dengan [[Special:RepoAdmin|sokongan Subversion]]',
 8610+ 'codereview-desc' => '[[Special:Code|Alat mengkaji kod]] dengan [[Special:RepoAdmin|sokongan Subversion]]',
82048611 'code-no-repo' => 'Tiada gedung yang ditetapkan!',
 8612+ 'code-create-repo' => 'Pergi ke [[Special:RepoAdmin|RepoAdmin]] untuk membuka Gedung',
 8613+ 'code-need-repoadmin-rights' => 'hak repoadmin (pentadbir gedung) diperlukan untuk membuka Gedung',
 8614+ 'code-need-group-with-rights' => 'Tiada kumpulan yang memegang hak repoadmin. Sila tambahkan satu kumpulan sedemikian supaya dapat membuat Gedung baru',
 8615+ 'code-repo-not-found' => "Gedung '''$1''' tidak wujud!",
82058616 'code-load-diff' => 'Memuat perbezaan…',
82068617 'code-notes' => 'komen terbaru',
 8618+ 'code-statuschanges' => 'perubahan status',
 8619+ 'code-mycommits' => 'lakuan saya',
 8620+ 'code-mycomments' => 'komen saya',
82078621 'code-authors' => 'pengarang',
82088622 'code-status' => 'status',
82098623 'code-tags' => 'label',
8210 - 'code-authors-text' => 'Yang berikut ialah senarai pengarang gedung mengikut tertib lakuan terkini.',
 8624+ 'code-tags-no-tags' => 'Tiada tag dalam gedung ini.',
 8625+ 'code-authors-text' => 'Yang berikut ialah senarai pengarang gedung mengikut tertib lakuan terkini. Akaun wiki tempatan ditunjukkan dalam tanda kurungan. Data mungkin dicachekan.',
82118626 'code-author-haslink' => 'Pengarang ini dihubungkan dengan pengguna wiki $1',
82128627 'code-author-orphan' => 'Pengarang ini tiada hubungan dengan sebarang akaun wiki',
82138628 'code-author-dolink' => 'Hubungkan pengarang ini dengan pengguna wiki:',
@@ -8217,16 +8632,24 @@
82188633 'code-author-link' => 'hubungkan?',
82198634 'code-author-unlink' => 'putuskan?',
82208635 'code-author-unlinksuccess' => 'Hubungan pengarang $1 telah diputuskan',
 8636+ 'code-author-badtoken' => 'Ralat sesi ketika cuba melakukan tindakan.',
 8637+ 'code-author-total' => 'Jumlah pengarang: $1',
 8638+ 'code-author-lastcommit' => 'Tarikh lakuan terakhir',
 8639+ 'code-browsing-path' => "Menyemak seimbas semakan dalam '''$1'''",
82218640 'code-field-id' => 'Semakan',
82228641 'code-field-author' => 'Pengarang',
82238642 'code-field-user' => 'Pengulas',
82248643 'code-field-message' => 'Ringkasan lakuan',
82258644 'code-field-status' => 'Status',
 8645+ 'code-field-status-description' => 'Keterangan status',
82268646 'code-field-timestamp' => 'Tarikh',
8227 - 'code-field-comments' => 'Catatan',
 8647+ 'code-field-comments' => 'Ulasan',
82288648 'code-field-path' => 'Laluan',
82298649 'code-field-text' => 'Catatan',
82308650 'code-field-select' => 'Pilih',
 8651+ 'code-reference-remove' => 'Buang perkaitan terpilih',
 8652+ 'code-reference-associate' => 'Semakan susulan berkaitan:',
 8653+ 'code-reference-associate-submit' => 'Perkaitan',
82318654 'code-rev-author' => 'Pengarang:',
82328655 'code-rev-date' => 'Tarikh:',
82338656 'code-rev-message' => 'Ulasan:',
@@ -8246,19 +8669,48 @@
82478670 'code-rev-tag-remove' => 'Buang label:',
82488671 'code-rev-comment-by' => 'Ulasan oleh $1',
82498672 'code-rev-comment-preview' => 'Pratonton',
 8673+ 'code-rev-inline-preview' => 'Pralihat:',
82508674 'code-rev-diff' => 'Beza',
82518675 'code-rev-diff-link' => 'beza',
8252 - 'code-rev-purge-link' => 'bersihkan',
 8676+ 'code-rev-diff-too-large' => 'Perbezaan ini terlalu besar untuk dipaparkan.',
 8677+ 'code-rev-purge-link' => 'singkirkan',
 8678+ 'code-rev-total' => 'Jumlah hasil: $1',
 8679+ 'code-rev-not-found' => "Semakan '''$1''' tidak wujud!",
82538680 'code-status-new' => 'baru',
 8681+ 'code-status-desc-new' => 'Pindaan menunggu tindakan (status tersedia).',
82548682 'code-status-fixme' => 'baiki',
 8683+ 'code-status-desc-fixme' => 'Semakan membawa pepijat atau rosak, dan patut dibetulkan atau dibatalkan.',
82558684 'code-status-reverted' => 'dibatalkan',
 8685+ 'code-status-desc-reverted' => 'Semakan dibuat asal oleh semakan kemudian.',
82568686 'code-status-resolved' => 'beres',
 8687+ 'code-status-desc-resolved' => 'Semakan mengalami masalah yang diselesaikan oleh semakan kemudian.',
82578688 'code-status-ok' => 'ok',
 8689+ 'code-status-desc-ok' => 'Semakan dikaji sepenihnya. Pengkaji pasti bahawa ia elok sepenuhnya.',
82588690 'code-status-deferred' => 'tunda',
 8691+ 'code-status-desc-deferred' => 'Semakan tidak memerlukan kajian.',
 8692+ 'code-status-old' => 'lama',
 8693+ 'code-status-desc-old' => 'Semakan lama yang mungkin mengandungi pepijat tetapi tidak berbaloi dikaji.',
 8694+ 'code-signoffs' => 'Rakam keluar',
 8695+ 'code-signoff-legend' => 'Bubuh rakam keluar',
 8696+ 'code-signoff-submit' => 'Rakam keluar',
 8697+ 'code-signoff-strike' => 'Potong rakam keluar terpilih',
 8698+ 'code-signoff-signoff' => 'Rakam keluar semakan ini sebagai:',
 8699+ 'code-signoff-flag-inspected' => 'Diperiksa',
 8700+ 'code-signoff-flag-tested' => 'Diuji',
 8701+ 'code-signoff-field-user' => 'Pengguna',
 8702+ 'code-signoff-field-flag' => 'Bendera',
 8703+ 'code-signoff-field-date' => 'Tarikh',
 8704+ 'code-signoff-struckdate' => '$1 (memotong $2)',
82598705 'code-pathsearch-legend' => 'Cari semakan dalam gedung ini mengikut laluan',
82608706 'code-pathsearch-path' => 'Laluan:',
 8707+ 'code-pathsearch-filter' => 'Hanya tunjukkan:',
 8708+ 'code-revfilter-cr_status' => 'Status = $1',
 8709+ 'code-revfilter-cr_author' => 'Pengarang = $1',
 8710+ 'code-revfilter-ct_tag' => 'Tag = $1',
 8711+ 'code-revfilter-clear' => 'Kosongkan penapis',
82618712 'code-rev-submit' => 'Simpan perubahan',
82628713 'code-rev-submit-next' => 'Simpan & selesaikan yang berikutnya',
 8714+ 'code-rev-next' => 'Semakan tak terselesai yang seterusnya',
82638715 'code-batch-status' => 'Tukar status:',
82648716 'code-batch-tags' => 'Tukar label:',
82658717 'codereview-batch-title' => 'Tukar semua semakan yang dipilih',
@@ -8269,14 +8721,66 @@
82708722 'code-release-endrev' => 'Semakan terakhir:',
82718723 'codereview-subtitle' => 'Untuk $1',
82728724 'codereview-reply-link' => 'balas',
 8725+ 'codereview-overview-title' => 'Gambaran keseluruhan',
 8726+ 'codereview-overview-desc' => 'Tunjukkan gambaran keseluruhan senarai ini dalam bentuk grafik',
82738727 'codereview-email-subj' => '[$1] [s$2]: Ulasan baru',
82748728 'codereview-email-body' => 'Pengguna "$1" mengirim ulasan bagi s$3.
82758729
82768730 URL penuh: $2
 8731+Ringkasan lakuan:
82778732
 8733+$5
 8734+
82788735 Ulasan:
82798736
82808737 $4',
 8738+ 'codereview-email-subj2' => '[$1 $2]: Perubahan susulan',
 8739+ 'codereview-email-body2' => 'Pengguna "$1" membuat perubahan susulan pada $2.
 8740+
 8741+URL penuh untuk semakan yang disusuli: $5
 8742+Ringkasan lakuan:
 8743+
 8744+$6
 8745+
 8746+URL penuh: $3
 8747+Ringkasan lakuan:
 8748+
 8749+$4',
 8750+ 'codereview-email-subj3' => '[$1 $2]: Status semakan diubah',
 8751+ 'codereview-email-body3' => 'Pengguna "$1" mengubah status $2.
 8752+
 8753+Status Lama: $3
 8754+Status Baru: $4
 8755+
 8756+URL penuh: $5
 8757+Ringkasan lakuan:
 8758+
 8759+$6',
 8760+ 'codereview-email-subj4' => '[$1 $2]: Komen baru ditambahkan, dan status semakan diubah',
 8761+ 'codereview-email-body4' => 'Pengguna "$1" mengubah status $2.
 8762+
 8763+Status Lama: $3
 8764+Status Baru: $4
 8765+
 8766+Pengguna "$1" juga mencatatkan komen di $2.
 8767+
 8768+URL penuh: $5
 8769+Ringkasan lakuan:
 8770+
 8771+$7
 8772+
 8773+Komen:
 8774+
 8775+$6',
 8776+ 'code-stats' => 'statistik',
 8777+ 'code-stats-header' => 'Statistik untuk gedung $1',
 8778+ 'code-stats-main' => 'Pada $1, gedung ini mendapat $2 semakan oleh [[Special:Code/$3/author|$4 pengarang]].',
 8779+ 'code-stats-status-breakdown' => 'Bilangan semakan per keadaan',
 8780+ 'code-stats-fixme-breakdown' => 'Penghuraian semakan dibaiki sepengarang',
 8781+ 'code-stats-new-breakdown' => 'Penghuraian semakan baru sepengarang',
 8782+ 'code-stats-count' => 'Bilangan semakan',
 8783+ 'code-tooltip-withsummary' => 'r$1 [$2] oleh $3 - $4',
 8784+ 'code-tooltip-withoutsummary' => 'r$1 [$2] oleh $3',
82818785 'repoadmin' => 'Pentadbiran Gedung',
82828786 'repoadmin-new-legend' => 'Cipta gedung baru',
82838787 'repoadmin-new-label' => 'Nama gedung:',
@@ -8287,13 +8791,21 @@
82888792 'repoadmin-edit-view' => 'Laluan ViewVC:',
82898793 'repoadmin-edit-button' => 'OK',
82908794 'repoadmin-edit-sucess' => 'Gedung "[[Special:Code/$1|$1]]" telah diubahsuai.',
 8795+ 'repoadmin-nav' => 'pentadbiran gedung',
82918796 'right-repoadmin' => 'Mengurus gedung kod',
 8797+ 'right-codereview-use' => 'Menggunakan Special:Code',
82928798 'right-codereview-add-tag' => 'Menambah label pada semakan',
82938799 'right-codereview-remove-tag' => 'Membuang label daripada semakan',
82948800 'right-codereview-post-comment' => 'Menambah ulasan pada semakan',
82958801 'right-codereview-set-status' => 'Menukar status semakan',
 8802+ 'right-codereview-signoff' => 'Merakam keluar semakan',
82968803 'right-codereview-link-user' => 'Membuat pautan dari pengarang ke pengguna wiki',
 8804+ 'right-codereview-associate' => 'Mengurus perkaitan semakan',
 8805+ 'right-codereview-review-own' => 'Menandai semakan sendiri sebagai OK',
82978806 'specialpages-group-developer' => 'Alatan pembangun',
 8807+ 'group-svnadmins' => 'Pentadbir SVN',
 8808+ 'group-svnadmins-member' => 'Pentadbir SVN',
 8809+ 'grouppage-svnadmins' => '{{ns:project}}:Pentadbir SVN',
82988810 );
82998811
83008812 /** Erzya (Эрзянь)
@@ -8311,13 +8823,20 @@
83128824 'code-field-user' => 'Мелень-арьсемань каицязо',
83138825 'code-field-timestamp' => 'Ковчизэ',
83148826 'code-field-path' => 'Яннэ',
 8827+ 'code-field-select' => 'Кочкамс',
83158828 'code-rev-author' => 'Теицязо:',
83168829 'code-rev-date' => 'Ковчизэ:',
 8830+ 'code-rev-modified-a' => 'поладозь',
 8831+ 'code-rev-modified-d' => 'нардазь',
 8832+ 'code-rev-modified-m' => 'лиякстомтозь',
 8833+ 'code-rev-comment-preview' => 'Васнянь неевтезэ',
83178834 'code-rev-diff' => 'Мейсэ явовить верзиятне',
83188835 'code-rev-purge-link' => 'панемс',
83198836 'code-status-new' => 'од',
83208837 'code-status-fixme' => 'витемак',
 8838+ 'code-status-old' => 'ташто',
83218839 'code-pathsearch-path' => 'Яннэсь:',
 8840+ 'code-revfilter-cr_author' => 'Авторозо = $1',
83228841 'code-stats' => 'статистикат',
83238842 'repoadmin-new-button' => 'Шкик-теик',
83248843 'repoadmin-edit-button' => 'Маштови',
@@ -8572,7 +9091,7 @@
85739092 'code-status-new' => 'nieuw',
85749093 'code-status-desc-new' => 'De versie wacht op een actie (standaardstatus).',
85759094 'code-status-fixme' => 'fixme',
8576 - 'code-status-desc-fixme' => 'Een reviewer heeft geconstateerd dat door deze versie een bug wordt geïntroduceerd of dat deze versie stuk is. Dat moet gecorrigeerd worden.',
 9095+ 'code-status-desc-fixme' => 'Deze versie introduceerde een bug of is stuk. Dat moet gecorrigeerd worden.',
85779096 'code-status-reverted' => 'teruggedraaid',
85789097 'code-status-desc-reverted' => 'De versie is ongedaan gemaakt door een latere versie.',
85799098 'code-status-resolved' => 'opgelost',
@@ -8596,12 +9115,14 @@
85979116 'code-signoff-struckdate' => '$1 (heeft $2 doorgehaald)',
85989117 'code-pathsearch-legend' => 'Op pad versies in deze repository zoeken',
85999118 'code-pathsearch-path' => 'Pad:',
8600 - 'code-pathsearch-filter' => 'Toegepaste filter:',
 9119+ 'code-pathsearch-filter' => 'Alleen weergeven:',
86019120 'code-revfilter-cr_status' => 'Status = $1',
86029121 'code-revfilter-cr_author' => 'Auteur = $1',
 9122+ 'code-revfilter-ct_tag' => 'Label = $1',
86039123 'code-revfilter-clear' => 'Filter verwijderen',
86049124 'code-rev-submit' => 'Wijzigingen opslaan',
86059125 'code-rev-submit-next' => 'Opslaan en volgende ongecontroleerde',
 9126+ 'code-rev-next' => 'Volgende onopgeloste',
86069127 'code-batch-status' => 'Status wijzigen:',
86079128 'code-batch-tags' => 'Labels wijzigen:',
86089129 'codereview-batch-title' => 'Alle geselecteerde versies wijzigen',
@@ -8612,6 +9133,8 @@
86139134 'code-release-endrev' => 'Eindversie:',
86149135 'codereview-subtitle' => 'Voor $1',
86159136 'codereview-reply-link' => 'antwoorden',
 9137+ 'codereview-overview-title' => 'Overzicht',
 9138+ 'codereview-overview-desc' => 'Een grafisch overzicht van deze lijst tonen',
86169139 'codereview-email-subj' => '[$1 $2]: Nieuwe opmerking toegevoegd',
86179140 'codereview-email-body' => 'Gebruiker "$1" heeft een opmerking toegevoegd aan $3:
86189141
@@ -8666,8 +9189,11 @@
86679190 'code-stats-header' => 'Repositorystatistieken voor $1',
86689191 'code-stats-main' => 'Per $1 heeft de repository $2 {{PLURAL:$2|versie|versies}} door [[Special:Code/$3/author|$4 {{PLURAL:$4|auteur|auteurs}}]].',
86699192 'code-stats-status-breakdown' => 'Aantal versies per status',
8670 - 'code-stats-fixme-breakdown' => "Verdeling van de fixme's per auteur",
 9193+ 'code-stats-fixme-breakdown' => 'Verdeling van de versies gemarkeerd als fixme per auteur',
 9194+ 'code-stats-new-breakdown' => 'Verdeling van nieuwe versies per auteur',
86719195 'code-stats-count' => 'Aantal versies',
 9196+ 'code-tooltip-withsummary' => 'r$1 [$2] door $3 - $4',
 9197+ 'code-tooltip-withoutsummary' => 'r$1 [$2] door $3',
86729198 'repoadmin' => 'Repositorybeheer',
86739199 'repoadmin-new-legend' => 'Nieuwe repository instellen',
86749200 'repoadmin-new-label' => 'Repositorynaam:',
@@ -8770,6 +9296,8 @@
87719297 'code-status-ok' => 'OK',
87729298 'code-status-deferred' => 'forskjøve',
87739299 'code-status-old' => 'gamal',
 9300+ 'code-signoff-field-user' => 'Brukar',
 9301+ 'code-signoff-field-date' => 'Dato',
87749302 'code-pathsearch-legend' => 'Søk i versjonar i databsen etter stig',
87759303 'code-pathsearch-path' => 'Stig:',
87769304 'code-revfilter-cr_status' => 'Status = $1',
@@ -8824,8 +9352,10 @@
88259353 );
88269354
88279355 /** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
 9356+ * @author Event
88289357 * @author Jon Harald Søby
88299358 * @author Laaknor
 9359+ * @author Lokal Profil
88309360 * @author Nghtwlkr
88319361 */
88329362 $messages['no'] = array(
@@ -8842,6 +9372,9 @@
88439373 'code-prop-changes' => 'Logg for status og tagging',
88449374 'codereview-desc' => '[[Special:Code|Kodegjennomgangsverktøy]] med [[Special:RepoAdmin|støtte for Subversion]]',
88459375 'code-no-repo' => 'Ingen database konfigurert!',
 9376+ 'code-create-repo' => 'Gå til [[Special:RepoAdmin|RepoAdmin]] for å opprette et repositorium',
 9377+ 'code-need-repoadmin-rights' => 'repoadminrettigheter kreves for å kunne opprette et repositorium',
 9378+ 'code-need-group-with-rights' => 'Ingen grupper med repoadminrettigheter finnes. Legg til en for å kunne legge til et nytt repositorium',
88469379 'code-repo-not-found' => "Lageret '''$1''' finnes ikke!",
88479380 'code-load-diff' => 'Laster diff...',
88489381 'code-notes' => 'Siste kommentarer',
@@ -8854,7 +9387,7 @@
88559388 'code-tags-no-tags' => 'Ingen merkelapper finnes i dette repositoriet.',
88569389 'code-authors-text' => 'Nedenfor er en liste over repo-forfattere sortert etter bidragsnavn. Lokale wikikontoer vises i parantes. Data kan være hurtiglagret.',
88579390 'code-author-haslink' => 'Denne forfatteren er lenket til wikibruker $1',
8858 - 'code-author-orphan' => 'Denne forfatteren har ingen lenke til en wiki-konto',
 9391+ 'code-author-orphan' => 'Wikibruker $1 har ingen lenke til en wikikonto',
88599392 'code-author-dolink' => 'Lenk denne forfatteren til en wikibruker:',
88609393 'code-author-alterlink' => 'Endre denne wikibrukeren til denne forfatteren:',
88619394 'code-author-orunlink' => 'Eller fjern lenke til denne wikibrukeren:',
@@ -8878,6 +9411,9 @@
88799412 'code-field-path' => 'Sti',
88809413 'code-field-text' => 'Notat',
88819414 'code-field-select' => 'Velg',
 9415+ 'code-reference-remove' => 'Fjern valgte merker',
 9416+ 'code-reference-associate' => 'Merk revisjon for oppfølging:',
 9417+ 'code-reference-associate-submit' => 'Merk',
88829418 'code-rev-author' => 'Forfatter:',
88839419 'code-rev-date' => 'Dato:',
88849420 'code-rev-message' => 'Kommentar:',
@@ -8907,7 +9443,7 @@
89089444 'code-status-new' => 'ny',
89099445 'code-status-desc-new' => 'Revisjon venter på en handling (standard status).',
89109446 'code-status-fixme' => 'fiksmeg',
8911 - 'code-status-desc-fixme' => 'En anmelder markerte at denne revisjonen innførte en feil eller er ødelagt. Det bør fikses.',
 9447+ 'code-status-desc-fixme' => 'Endringen innførte en feil eller ble bare delvis gjennomført. Den må repareres eller tilbakestilles.',
89129448 'code-status-reverted' => 'tilbakestilt',
89139449 'code-status-desc-reverted' => 'Revisjonen ble kastet vekk av en senere revisjon.',
89149450 'code-status-resolved' => 'løst',
@@ -8931,12 +9467,14 @@
89329468 'code-signoff-struckdate' => '$1 (strøket $2)',
89339469 'code-pathsearch-legend' => 'Søk revisjoner i denne repo etter sti',
89349470 'code-pathsearch-path' => 'Sti:',
8935 - 'code-pathsearch-filter' => 'Benyttet filter:',
 9471+ 'code-pathsearch-filter' => 'Vis bare:',
89369472 'code-revfilter-cr_status' => 'Status = $1',
89379473 'code-revfilter-cr_author' => 'Forfatter = $1',
 9474+ 'code-revfilter-ct_tag' => 'Tagg = $1',
89389475 'code-revfilter-clear' => 'Fjern filter',
89399476 'code-rev-submit' => 'Lagre endringer',
89409477 'code-rev-submit-next' => 'Lagre og neste uløste',
 9478+ 'code-rev-next' => 'Neste uløste',
89419479 'code-batch-status' => 'Endre status:',
89429480 'code-batch-tags' => 'Endre merker:',
89439481 'codereview-batch-title' => 'Endre alle valgte versjoner',
@@ -8947,35 +9485,61 @@
89489486 'code-release-endrev' => 'Siste revisjon:',
89499487 'codereview-subtitle' => 'For $1',
89509488 'codereview-reply-link' => 'svar',
 9489+ 'codereview-overview-title' => 'Oversikt',
 9490+ 'codereview-overview-desc' => 'Vis en grafisk oversikt over denne listen',
89519491 'codereview-email-subj' => '[$1 $2]: Ny kommentar lagt inn',
8952 - 'codereview-email-body' => 'Bruker $1 la inn en kommentar på $3
 9492+ 'codereview-email-body' => 'Brukeren «$1» la inn en kommentar på $3.
89539493
89549494 Fullstendig URL: $2
 9495+Bidragssammendrag:
89559496
 9497+$5
 9498+
89569499 Kommentar:
89579500
89589501 $4',
89599502 'codereview-email-subj2' => '[$1 $2]: Påfølgende endringer',
8960 - 'codereview-email-body2' => 'Bruker «$1» gjorde oppfølgende endringer til $2.
 9503+ 'codereview-email-body2' => 'Brukeren «$1» gjorde oppfølgende endringer til $2.
89619504
89629505 Full nettadresse til oppfølgende revisjon: $5
 9506+Bidragssammendrag:
89639507
 9508+$6
 9509+
89649510 Full nettadresse: $3
 9511+Bidragssammendrag:
89659512
8966 -Sammendrag:
8967 -
89689513 $4',
89699514 'codereview-email-subj3' => '[$1 $2]: Revisjonsstatus endret',
8970 - 'codereview-email-body3' => 'Bruker «$1» endret statusen til $2.
 9515+ 'codereview-email-body3' => 'Brukeren «$1» endret statusen til $2.
89719516
89729517 Gammel status: $3
8973 -Ny status: $4',
 9518+Ny status: $4
 9519+
 9520+Full URL: $5
 9521+Bidragssammendrag:
 9522+
 9523+$6',
89749524 'codereview-email-subj4' => '[$1 $2]: Ny kommentar lagt til og revisjonsstatus endret',
8975 - 'codereview-email-body4' => 'Bruker «$1» endret statusen til $2.
 9525+ 'codereview-email-body4' => 'Brukeren «$1» endret statusen til $2.
89769526
89779527 Gammel status: $3
89789528 Ny status: $4
89799529
 9530+Brukeren «$1» la også inn en kommentar på $2.
 9531+
 9532+Full URL: $5
 9533+Bidragssammendrag:
 9534+
 9535+$7
 9536+
 9537+Kommentar:
 9538+
 9539+$6
 9540+
 9541+Gammel status: $3
 9542+Ny status: $4
 9543+
89809544 Bruker «$1» postet også en kommentar på $2
89819545
89829546 Fullstendig URL-adresse: $5
@@ -8987,8 +9551,11 @@
89889552 'code-stats-header' => 'Statistikk for repositoriet $1',
89899553 'code-stats-main' => 'Som på $1 har depoet $2 {{PLURAL:$2|revisjon|revisjoner}} av [[Special:Code/$3/author|$4 {{PLURAL:$4|forfatter|forfattere}}]]',
89909554 'code-stats-status-breakdown' => 'Antall revisjoner per status',
8991 - 'code-stats-fixme-breakdown' => 'Fordeling av fiksmeg-er per forfatter',
 9555+ 'code-stats-fixme-breakdown' => 'Inndeling av fiksmeg-revisjoner per forfatter',
 9556+ 'code-stats-new-breakdown' => 'Inndeling av nye revisjoner per forfatter',
89929557 'code-stats-count' => 'Antall revisjoner',
 9558+ 'code-tooltip-withsummary' => 'r$1 [$2] av $3 - $4',
 9559+ 'code-tooltip-withoutsummary' => 'r$1 [$2] av $3',
89939560 'repoadmin' => 'Databaseadministrasjon',
89949561 'repoadmin-new-legend' => 'Lag en ny database',
89959562 'repoadmin-new-label' => 'Databasenavn',
@@ -9008,6 +9575,8 @@
90099576 'right-codereview-set-status' => 'Endre versjonens status',
90109577 'right-codereview-signoff' => 'Skriv under på revisjoner',
90119578 'right-codereview-link-user' => 'Lenke forfattere til wikibrukere',
 9579+ 'right-codereview-associate' => 'Behandle revisjonsmerker',
 9580+ 'right-codereview-review-own' => 'Merk dine egne revisjoner som OK',
90129581 'specialpages-group-developer' => 'Utviklerverktøy',
90139582 'group-svnadmins' => 'SVN administratorer',
90149583 'group-svnadmins-member' => 'SVN administrator',
@@ -9148,6 +9717,16 @@
91499718 'specialpages-group-developer' => 'Aisinas del desvolopaire',
91509719 );
91519720
 9721+/** Oriya (ଓଡ଼ିଆ)
 9722+ * @author Odisha1
 9723+ */
 9724+$messages['or'] = array(
 9725+ 'code-status-ok' => 'ଠିକ ଅଛି',
 9726+ 'code-signoff-field-user' => 'ବ୍ୟବାହାରକାରୀ',
 9727+ 'repoadmin-new-button' => 'ତିଆରି',
 9728+ 'repoadmin-edit-button' => 'ଠିକ ଅଛି',
 9729+);
 9730+
91529731 /** Ossetic (Иронау)
91539732 * @author Amikeco
91549733 */
@@ -9239,7 +9818,7 @@
92409819 'code-tags-no-tags' => 'Brak znaczników w tym repozytorium.',
92419820 'code-authors-text' => 'Poniżej znajduje się lista autorów repozytorium w kolejności nazwy poprawki. Lokalne konta wiki są wyświetlane w nawiasach. Dane mogą pochodzi z pamięci tymczasowej.',
92429821 'code-author-haslink' => 'Ten autor jest podlinkowany do konta użytkownika na wiki jako $1',
9243 - 'code-author-orphan' => 'Ten autor nie jest podlinkowany do żadnego konta użytkownika na wiki',
 9822+ 'code-author-orphan' => 'Użytkownik wiki $1 nie jest powiązany z żadnym kontem',
92449823 'code-author-dolink' => 'Podlinkuj tego autora do konta użytkownika na wiki:',
92459824 'code-author-alterlink' => 'Zmień linkowanie tego autora do konta użytkownika na wiki:',
92469825 'code-author-orunlink' => 'Lub odlinkuj to konto użytkownika na wiki:',
@@ -9295,7 +9874,7 @@
92969875 'code-status-new' => 'nowy',
92979876 'code-status-desc-new' => 'Wersja oczekuje podjęcia jakiegoś działania (status domyślny).',
92989877 'code-status-fixme' => 'wymaga naprawy',
9299 - 'code-status-desc-fixme' => 'Redaktor oznaczył te zmianę jako zawierającą błędy. Wersja wymaga poprawek.',
 9878+ 'code-status-desc-fixme' => 'Wersja jest błędna lub uszkodzona. Powinna zostać naprawiona lub wycofana.',
93009879 'code-status-reverted' => 'cofnięty',
93019880 'code-status-desc-reverted' => 'Wersja została zastąpiona późniejszą treścią.',
93029881 'code-status-resolved' => 'rozwiązany',
@@ -9319,12 +9898,14 @@
93209899 'code-signoff-struckdate' => '$1 (skreślił $2)',
93219900 'code-pathsearch-legend' => 'Szukaj wersji w tym repozytorium na podstawie ścieżki',
93229901 'code-pathsearch-path' => 'Ścieżka',
9323 - 'code-pathsearch-filter' => 'Zastosowany filtr',
 9902+ 'code-pathsearch-filter' => 'Pokaż tylko:',
93249903 'code-revfilter-cr_status' => 'Status = $1',
93259904 'code-revfilter-cr_author' => 'Autor = $1',
 9905+ 'code-revfilter-ct_tag' => 'Znacznik = $1',
93269906 'code-revfilter-clear' => 'Wyczyść filtr',
93279907 'code-rev-submit' => 'Zapisz zmiany',
93289908 'code-rev-submit-next' => 'Zapisz i pokaż kolejny nierozwiązany',
 9909+ 'code-rev-next' => 'Następny nierozwiązany',
93299910 'code-batch-status' => 'Zmiana statusu:',
93309911 'code-batch-tags' => 'Zmiana znaczników:',
93319912 'codereview-batch-title' => 'Zmień wszystkie wybrane wersje',
@@ -9335,6 +9916,8 @@
93369917 'code-release-endrev' => 'Ostatnia wersja',
93379918 'codereview-subtitle' => 'Dla $1',
93389919 'codereview-reply-link' => 'odpowiedz',
 9920+ 'codereview-overview-title' => 'Przegląd',
 9921+ 'codereview-overview-desc' => 'Pokaż graficzny przegląd tej listy',
93399922 'codereview-email-subj' => '[$1 $2] - dodano nowy komentarz',
93409923 'codereview-email-body' => 'Użytkownik „$1” dodał komentarz w $3.
93419924
@@ -9389,8 +9972,11 @@
93909973 'code-stats-header' => 'Statystyki repozytorium $1',
93919974 'code-stats-main' => 'Na dzień $1 w repozytorium znajduje się $2 {{PLURAL:$2|poprawka wprowadzona|poprawki wprowadzone|poprawek wprowadzonych}} przez [[Special:Code/$3/author|$4 {{PLURAL:$4|autora|autorów}}]].',
93929975 'code-stats-status-breakdown' => 'Liczba poprawek dla stanu',
9393 - 'code-stats-fixme-breakdown' => 'Rozkład poprawek ze względu na autora',
 9976+ 'code-stats-fixme-breakdown' => 'Zestawienie zmian wymagających sprawdzenia ze względu na autora',
 9977+ 'code-stats-new-breakdown' => 'Zestawienie nowych zmian ze względu na autora',
93949978 'code-stats-count' => 'Liczba poprawek',
 9979+ 'code-tooltip-withsummary' => 'r$1 [$2] przez $3 – $4',
 9980+ 'code-tooltip-withoutsummary' => 'r$1 [$2] przez $3',
93959981 'repoadmin' => 'Administrowanie repozytorium',
93969982 'repoadmin-new-legend' => 'Utwórz nowe repozytorium',
93979983 'repoadmin-new-label' => 'Nazwa repozytorium',
@@ -9438,7 +10024,7 @@
943910025 'code-no-repo' => 'Gnun depòsit configurà!',
944010026 'code-create-repo' => 'Va a [[Special:RepoAdmin|RepoAdmin]] për creé un Depòsit',
944110027 'code-need-repoadmin-rights' => 'a-i é dabzògn dij drit ëd repoadmin për podèj creé un Depòsit',
9442 - 'code-need-group-with-rights' => 'A esisto pa gnun-e partìe con ij drit ëd repoadmin. Për piasì giont-ne un për podèj gionté un Depòsit neuv',
 10028+ 'code-need-group-with-rights' => "A esisto gnun-e partìe con ij drit ëd repoadmin. Për piasì, ch'a na gionta un-a për podèj gionté un Depòsit neuv",
944310029 'code-repo-not-found' => "L'archivi '''$1''' a esist pa!",
944410030 'code-load-diff' => 'Cariament dif...',
944510031 'code-notes' => 'coment recent',
@@ -9551,7 +10137,10 @@
955210138 'codereview-email-body' => 'L\'utent "$1" a l\'ha spedì un coment su $3.
955310139
955410140 Adrëssa dl\'aragnà completa: $2
 10141+Resumé dla modìfica:
955510142
 10143+$5
 10144+
955610145 Coment:
955710146
955810147 $4',
@@ -9559,10 +10148,13 @@
956010149 'codereview-email-body2' => 'L\'utent "$1" a l\'ha fàit dij cangiament suplementar a $2.
956110150
956210151 Adrëssa dl\'aragnà completa apress la revision: $5
 10152+Resumé dla modìfica:
956310153
 10154+$6
 10155+
956410156 Adrëssa dl\'aragnà completa: $3
956510157
9566 -Resumé dël coment:
 10158+Resumé dla modìfica:
956710159
956810160 $4',
956910161 'codereview-email-subj3' => "[$1 $2]: Lë stat ëd revision a l'é cangià",
@@ -9571,7 +10163,10 @@
957210164 Stat Vej: $3
957310165 Stat Neuv: $4
957410166
9575 -Anliura completa: $5',
 10167+Anliura completa: $5
 10168+Resumé dla modìfica:
 10169+
 10170+$6',
957610171 'codereview-email-subj4' => '[$1 $2]: Giontà coment neuv, e cangià stat ëd la revision',
957710172 'codereview-email-body4' => 'L\'utent "$1" a l\'ha cangià lë stat ëd $2.
957810173
@@ -9581,7 +10176,10 @@
958210177 L\'utent "$1" a l\'ha ëdcò spedì un coment su $2.
958310178
958410179 Anliura completa: $5
 10180+Resumé dla modìfica:
958510181
 10182+$7
 10183+
958610184 Coment:
958710185
958810186 $6',
@@ -9610,7 +10208,8 @@
961110209 'right-codereview-set-status' => 'Cangia stat ëd revision',
961210210 'right-codereview-signoff' => 'Conclud le revision',
961310211 'right-codereview-link-user' => 'Colega autor a utent wiki',
9614 - 'right-codereview-associate' => 'Gestiss assossiassion ëd revision',
 10212+ 'right-codereview-associate' => "Gestì j'associassion ëd revision",
 10213+ 'right-codereview-review-own' => "Marché le pròpie revision com ch'a van bin",
961510214 'specialpages-group-developer' => 'Utiss dël dësvlupador',
961610215 'group-svnadmins' => 'Aministrator SVN',
961710216 'group-svnadmins-member' => 'Aministrator SVN',
@@ -9629,11 +10228,12 @@
963010229 */
963110230 $messages['ps'] = array(
963210231 'code-comments' => 'تبصرې',
 10232+ 'code-new-status' => 'نوی دريځ',
963310233 'code-authors' => 'ليکوالان',
963410234 'code-field-author' => 'ليکوال',
963510235 'code-field-status' => 'دريځ',
963610236 'code-field-timestamp' => 'نېټه',
9637 - 'code-field-comments' => 'يادښتونه',
 10237+ 'code-field-comments' => 'تبصرې',
963810238 'code-field-text' => 'يادښت',
963910239 'code-field-select' => 'ټاکل',
964010240 'code-rev-author' => 'ليکوال:',
@@ -9650,16 +10250,23 @@
965110251 'code-status-new' => 'نوی',
965210252 'code-status-ok' => 'ښه',
965310253 'code-status-old' => 'زوړ',
 10254+ 'code-signoff-field-user' => 'کارن',
 10255+ 'code-signoff-field-flag' => 'رپی',
 10256+ 'code-signoff-field-date' => 'نېټه',
965410257 'code-rev-submit' => 'بدلونونه خوندي کول',
965510258 'codereview-batch-submit' => 'سپارل',
965610259 'codereview-reply-link' => 'ځوابول',
9657 - 'codereview-email-body' => 'د "$1" کارن $3 ته يو نظر ورکړی.
 10260+ 'codereview-email-body' => 'د "$1" کارن په $3 يوه تبصره کړې.
965810261
965910262 بشپړه پته: $2
 10263+د تبصرې لنډيز:
966010264
 10265+$5
 10266+
966110267 تبصره:
966210268
966310269 $4',
 10270+ 'code-stats' => 'شمارنې',
966410271 'repoadmin-new-button' => 'جوړول',
966510272 'repoadmin-edit-button' => 'ښه',
966610273 );
@@ -9688,7 +10295,7 @@
968910296 'code-no-repo' => 'Não há nenhum repositório configurado!',
969010297 'code-create-repo' => 'Visite o [[Special:RepoAdmin|suporte Subversion]] para criar um Repositório',
969110298 'code-need-repoadmin-rights' => 'o privilégio repoadmin é necessário para ser capaz de criar um Repositório',
9692 - 'code-need-group-with-rights' => 'Não existe nenhum grupo com o privilégio repoadmin. Crie um para poder adicionar um novo Armazém, por favor.',
 10299+ 'code-need-group-with-rights' => 'Não existe nenhum grupo com o privilégio repoadmin. Crie um para poder adicionar um novo Repositório, por favor.',
969310300 'code-repo-not-found' => "O repositório '''$1''' não existe!",
969410301 'code-load-diff' => 'A carregar diferenças…',
969510302 'code-notes' => 'comentários recentes',
@@ -9757,9 +10364,9 @@
975810365 'code-status-new' => 'novo',
975910366 'code-status-desc-new' => 'Esta revisão está pendente (estado padrão).',
976010367 'code-status-fixme' => 'corrigir',
9761 - 'code-status-desc-fixme' => 'Esta revisão introduz um defeito ou não funciona. Precisa de correcção.',
 10368+ 'code-status-desc-fixme' => 'Esta revisão introduziu um defeito ou não funciona. Precisa de ser corrigida ou revertida.',
976210369 'code-status-reverted' => 'revertido',
9763 - 'code-status-desc-reverted' => 'A revisão foi descartada por outra revisão posterior.',
 10370+ 'code-status-desc-reverted' => 'A revisão foi desfeita por outra revisão posterior.',
976410371 'code-status-resolved' => 'resolvido',
976510372 'code-status-desc-resolved' => 'A revisão tinha um problema que foi resolvido numa revisão posterior.',
976610373 'code-status-ok' => 'ok',
@@ -9781,22 +10388,26 @@
978210389 'code-signoff-struckdate' => '$1 (anulada a $2)',
978310390 'code-pathsearch-legend' => 'Pesquisar revisões neste repositório por caminho',
978410391 'code-pathsearch-path' => 'Caminho:',
9785 - 'code-pathsearch-filter' => 'Filtro aplicado:',
 10392+ 'code-pathsearch-filter' => 'Mostrar apenas:',
978610393 'code-revfilter-cr_status' => 'Estado = $1',
978710394 'code-revfilter-cr_author' => 'Autor = $1',
 10395+ 'code-revfilter-ct_tag' => 'Etiqueta = $1',
978810396 'code-revfilter-clear' => 'Remover filtro',
978910397 'code-rev-submit' => 'Gravar alterações',
979010398 'code-rev-submit-next' => 'Gravar e próximo por resolver',
 10399+ 'code-rev-next' => 'Próximo por resolver',
979110400 'code-batch-status' => 'Estado da modificação:',
979210401 'code-batch-tags' => 'Etiquetas da modificação:',
979310402 'codereview-batch-title' => 'Alterar todas as revisões seleccionadas',
9794 - 'codereview-batch-submit' => 'Submeter',
 10403+ 'codereview-batch-submit' => 'Enviar',
979510404 'code-releasenotes' => 'Notas de lançamento',
979610405 'code-release-legend' => 'Gerar notas de lançamento',
979710406 'code-release-startrev' => 'Primeira rev:',
979810407 'code-release-endrev' => 'Última rev:',
979910408 'codereview-subtitle' => 'Para $1',
980010409 'codereview-reply-link' => 'responder',
 10410+ 'codereview-overview-title' => 'Resumo',
 10411+ 'codereview-overview-desc' => 'Mostrar um resumo gráfico desta lista',
980110412 'codereview-email-subj' => '[$1 $2]: Comentário adicionado',
980210413 'codereview-email-body' => 'O utilizador "$1" colocou um comentário em $3.
980310414
@@ -9849,9 +10460,12 @@
985010461 'code-stats' => 'estatísticas',
985110462 'code-stats-header' => 'Estatísticas do repositório $1',
985210463 'code-stats-main' => 'À data de $1, o repositório tinha $2 {{PLURAL:$2|revisão|revisões}} de [[Special:Code/$3/author|$4 {{PLURAL:$4|autor|autores}}]].',
9853 - 'code-stats-status-breakdown' => 'Número de revisões por estado',
9854 - 'code-stats-fixme-breakdown' => 'Detalhe de correcções por autor',
 10464+ 'code-stats-status-breakdown' => 'Número de revisões, por estado',
 10465+ 'code-stats-fixme-breakdown' => 'Detalhe das revisões de correcção, por autor',
 10466+ 'code-stats-new-breakdown' => 'Detalhe das novas revisões, por autor',
985510467 'code-stats-count' => 'Número de revisões',
 10468+ 'code-tooltip-withsummary' => 'r$1 [$2] por $3 - $4',
 10469+ 'code-tooltip-withoutsummary' => 'r$1 [$2] por $3',
985610470 'repoadmin' => 'Administração do Repositório',
985710471 'repoadmin-new-legend' => 'Criar um repositório novo',
985810472 'repoadmin-new-label' => 'Nome do repositório:',
@@ -9880,6 +10494,7 @@
988110495 );
988210496
988310497 /** Brazilian Portuguese (Português do Brasil)
 10498+ * @author 555
988410499 * @author Eduardo.mps
988510500 * @author Giro720
988610501 * @author Helder.wiki
@@ -9899,6 +10514,9 @@
990010515 'code-prop-changes' => "''Status'' e registro de etiquetagem",
990110516 'codereview-desc' => '[[Special:Code|Ferramenta de revisão de código]] com [[Special:RepoAdmin|suporte à subversão]]',
990210517 'code-no-repo' => 'Nenhum repositório configurado!',
 10518+ 'code-create-repo' => 'Visite o [[Special:RepoAdmin|suporte Subversion]] para criar um Repositório',
 10519+ 'code-need-repoadmin-rights' => 'o privilégio repoadmin é necessário para ser capaz de criar um Repositório',
 10520+ 'code-need-group-with-rights' => 'Não existe nenhum grupo com o privilégio repoadmin. Crie um para poder adicionar um novo Repositório, por favor.',
990310521 'code-repo-not-found' => "O repositório '''$1''' não existe!",
990410522 'code-load-diff' => 'Carregando diferenças…',
990510523 'code-notes' => 'comentários recentes',
@@ -9994,6 +10612,7 @@
999510613 'code-pathsearch-filter' => 'Filtro aplicado:',
999610614 'code-revfilter-cr_status' => 'Estado = $1',
999710615 'code-revfilter-cr_author' => 'Autor = $1',
 10616+ 'code-revfilter-ct_tag' => 'Etiqueta = $1',
999810617 'code-revfilter-clear' => 'Remover filtro',
999910618 'code-rev-submit' => 'Salvar alterações',
1000010619 'code-rev-submit-next' => 'Gravar & próximo por resolver',
@@ -10008,20 +10627,25 @@
1000910628 'codereview-subtitle' => 'Para $1',
1001010629 'codereview-reply-link' => 'responder',
1001110630 'codereview-email-subj' => '[$1 $2]: Novo comentário adicionado',
10012 - 'codereview-email-body' => 'O utilizador "$1" colocou um comentário em $3.
 10631+ 'codereview-email-body' => 'O usuário "$1" postou um comentário em $3.
1001310632
1001410633 URL completa: $2
 10634+Resumo de envio:
1001510635
 10636+$5
 10637+
1001610638 Comentário:
1001710639
1001810640 $4',
1001910641 'codereview-email-subj2' => '[$1 $2]: Mudanças seguintes',
10020 - 'codereview-email-body2' => 'O usuário "$1" fez alterações de seguimento à $2.
 10642+ 'codereview-email-body2' => 'O usuário "$1" fez alterações de seguimento à revisão $2.
1002110643
1002210644 URL completa para a revisão de seguimento: $5
 10645+Resumo da efetivação:
1002310646
 10647+$6
 10648+
1002410649 URL completa: $3
10025 -
1002610650 Resumo da efetivação:
1002710651
1002810652 $4',
@@ -10031,17 +10655,23 @@
1003210656 Estado Antigo: $3
1003310657 Estado Novo: $4
1003410658
10035 -URL Completa: $5',
 10659+URL Completa: $5
 10660+Resumo da efetivação:
 10661+
 10662+$6',
1003610663 'codereview-email-subj4' => '[$1 $2]: Adicionado novo comentário e alterado o estado da revisão',
10037 - 'codereview-email-body4' => 'O usuário "$1" alterou o estado de $2.
 10664+ 'codereview-email-body4' => 'O usuário "$1" alterou o estado da revisão $2.
1003810665
10039 -Estado anterior: $3
10040 -Estado atual: $4
 10666+Estado Antigo: $3
 10667+Estado Novo: $4
1004110668
10042 -O usuário "$1" postou também um comentário em $2.
 10669+O usuário "$1" também colocou um comentário em $2.
1004310670
1004410671 URL completa: $5
 10672+Resumo da efetivação:
1004510673
 10674+$7
 10675+
1004610676 Comentário:
1004710677
1004810678 $6',
@@ -10071,6 +10701,7 @@
1007210702 'right-codereview-signoff' => 'Aprovação de revisões',
1007310703 'right-codereview-link-user' => 'Associar autores a utilizadores de wiki',
1007410704 'right-codereview-associate' => 'Administrar a associação de revisões',
 10705+ 'right-codereview-review-own' => 'Marcar as suas próprias revisões como OK',
1007510706 'specialpages-group-developer' => 'Ferramentas de desenvolvimento',
1007610707 'group-svnadmins' => 'Administradores do SVN',
1007710708 'group-svnadmins-member' => 'Administrador do SVN',
@@ -10102,7 +10733,7 @@
1010310734 'code-mycommits' => 'publicările mele',
1010410735 'code-authors' => 'autori',
1010510736 'code-tags' => 'etichete',
10106 - 'code-author-orphan' => 'Acest autor nu are nicio legătură cu un cont wiki',
 10737+ 'code-author-orphan' => 'Utilizatorul $1 nu are nicio legătură către un cont wiki',
1010710738 'code-author-orunlink' => 'Sau dezlegați acest utilizator:',
1010810739 'code-author-name' => 'Introduceți un nume de utilizator:',
1010910740 'code-author-success' => 'Autorul $1 a fost legat la utilizatorul $2',
@@ -10155,8 +10786,14 @@
1015610787 'code-status-ok' => 'ok',
1015710788 'code-status-deferred' => 'amânat',
1015810789 'code-status-old' => 'vechi',
 10790+ 'code-signoff-submit' => 'Aprobă',
 10791+ 'code-signoff-flag-inspected' => 'Inspectat',
 10792+ 'code-signoff-flag-tested' => 'Testat',
 10793+ 'code-signoff-field-user' => 'Utilizator',
 10794+ 'code-signoff-field-flag' => 'Tip',
 10795+ 'code-signoff-field-date' => 'Dată',
1015910796 'code-pathsearch-path' => 'Cale:',
10160 - 'code-pathsearch-filter' => 'Filtru aplicat:',
 10797+ 'code-pathsearch-filter' => 'Arată doar:',
1016110798 'code-revfilter-cr_status' => 'Stare = $1',
1016210799 'code-revfilter-cr_author' => 'Autor = $1',
1016310800 'code-revfilter-clear' => 'Curăță filtru',
@@ -10221,6 +10858,9 @@
1022210859 'right-codereview-set-status' => 'Schimbă statutul reviziilor',
1022310860 'right-codereview-link-user' => 'Leagă autori de utilizatori wiki',
1022410861 'specialpages-group-developer' => 'Unelte pentru dezvolatori',
 10862+ 'group-svnadmins' => 'Administratori SVN',
 10863+ 'group-svnadmins-member' => 'Administrator SVN',
 10864+ 'grouppage-svnadmins' => '{{ns:project}}:Administratori SVN',
1022510865 );
1022610866
1022710867 /** Tarandíne (Tarandíne)
@@ -10246,9 +10886,11 @@
1024710887 'code-notes' => 'commende recende',
1024810888 'code-statuschanges' => 'cangiaminde de le state',
1024910889 'code-mycommits' => 'reggistraziune mie',
 10890+ 'code-mycomments' => 'commende mije',
1025010891 'code-authors' => 'le autore',
1025110892 'code-status' => 'state',
1025210893 'code-tags' => 'le tag',
 10894+ 'code-tags-no-tags' => "Nisciune tag esiste jndr'à st'archivije.",
1025310895 'code-author-haslink' => "Quiste autore jè cullegate a l'utinde uicchi $1",
1025410896 'code-author-orphan' => "Quiste autore non ge tène nisciune cullegamende cu 'nu cunde uicchi",
1025510897 'code-author-dolink' => "Colleghe st'autore a 'n'utende de Uicchi:",
@@ -10261,19 +10903,23 @@
1026210904 'code-author-unlinksuccess' => 'Autore $1 ha state scollegate',
1026310905 'code-author-badtoken' => "Errore de sessione cercanne de combiere l'aziune.",
1026410906 'code-author-total' => 'Numere totale de le autore: $1',
 10907+ 'code-author-lastcommit' => 'Urtema date de commit',
1026510908 'code-field-id' => 'Revisione',
1026610909 'code-field-author' => 'Autore',
1026710910 'code-field-user' => 'Commendatore',
1026810911 'code-field-message' => 'Reggistre riepileghe',
1026910912 'code-field-status' => 'State',
 10913+ 'code-field-status-description' => "Descrizione d'u state",
1027010914 'code-field-timestamp' => 'Date',
1027110915 'code-field-comments' => 'Commende',
1027210916 'code-field-path' => 'Percorse',
1027310917 'code-field-text' => 'Note',
1027410918 'code-field-select' => 'Scacchie',
 10919+ 'code-reference-associate-submit' => 'Associate',
1027510920 'code-rev-author' => 'Autore:',
1027610921 'code-rev-date' => 'Date:',
1027710922 'code-rev-message' => 'Commende:',
 10923+ 'code-rev-repo' => 'Archivije:',
1027810924 'code-rev-rev' => 'Revisione:',
1027910925 'code-rev-rev-viewvc' => 'sus a ViewVC',
1028010926 'code-rev-paths' => 'Percorse modifichete:',
@@ -10306,11 +10952,17 @@
1030710953 'code-status-desc-ok' => "Revisione revisionate combletamende e 'u recensore jè secure ca jèdde vèje bbuène jndre ogne mode.",
1030810954 'code-status-deferred' => 'differite',
1030910955 'code-status-old' => 'vecchie',
 10956+ 'code-signoffs' => 'Smarche',
 10957+ 'code-signoff-legend' => "Aggiunge 'nu smarcamende",
 10958+ 'code-signoff-submit' => 'Smarche',
 10959+ 'code-signoff-strike' => 'Sbarre le smarcaminde scacchiate',
1031010960 'code-signoff-flag-inspected' => 'Ispezionate',
1031110961 'code-signoff-flag-tested' => 'Testate',
1031210962 'code-signoff-field-user' => 'Utende',
1031310963 'code-signoff-field-flag' => 'Bandiere',
1031410964 'code-signoff-field-date' => 'Date',
 10965+ 'code-signoff-struckdate' => '$1 (colpite $2)',
 10966+ 'code-pathsearch-legend' => "Cirche le revisiune jndrìà st'archivije pe percorse",
1031510967 'code-pathsearch-path' => 'Percorse:',
1031610968 'code-pathsearch-filter' => 'Filtre applicate:',
1031710969 'code-revfilter-cr_status' => 'State = $1',
@@ -10377,19 +11029,29 @@
1037811030
1037911031 $6',
1038011032 'code-stats' => 'statisteche',
 11033+ 'code-stats-header' => "Statisteche pe l'archivije $1",
1038111034 'code-stats-status-breakdown' => 'Numere de revisione pè state',
1038211035 'code-stats-count' => 'Numere de le revisiune',
 11036+ 'repoadmin-new-legend' => "Ccreje 'n'archivije nuève",
 11037+ 'repoadmin-new-label' => "Nome de l'archivije:",
1038311038 'repoadmin-new-button' => 'Ccreje',
 11039+ 'repoadmin-edit-path' => "Percorse de l'archivije:",
1038411040 'repoadmin-edit-bug' => 'Percorse de Bugzilla:',
1038511041 'repoadmin-edit-view' => "Percorse d'u ViewVC:",
1038611042 'repoadmin-edit-button' => 'OK',
 11043+ 'repoadmin-nav' => "amministrazione de l'archivije",
1038711044 'right-codereview-use' => 'Ause de speciale:Codece',
1038811045 'right-codereview-add-tag' => 'Aggiunge nuève etichette pè le revsione',
1038911046 'right-codereview-remove-tag' => 'Luà le etichette da le revisione',
1039011047 'right-codereview-post-comment' => "Aggiunge commende sus 'a revisione",
1039111048 'right-codereview-set-status' => "Cange 'u state d'a revisione",
 11049+ 'right-codereview-signoff' => 'Smarche sus le revisiune',
1039211050 'right-codereview-link-user' => 'Culleghe le autore a le utinde uicchi',
 11051+ 'right-codereview-review-own' => 'Marche le revisiune tune cumme OK',
1039311052 'specialpages-group-developer' => 'Struminde pe le sviluppature',
 11053+ 'group-svnadmins' => 'Amministrature de SVN',
 11054+ 'group-svnadmins-member' => 'Amministratore de SVN',
 11055+ 'grouppage-svnadmins' => '{{ns:project}}:Amministrature de SVN',
1039411056 );
1039511057
1039611058 /** Russian (Русский)
@@ -10487,7 +11149,7 @@
1048811150 'code-status-new' => 'новая',
1048911151 'code-status-desc-new' => 'Ревизия ожидает действия (статус по умолчанию).',
1049011152 'code-status-fixme' => 'исправить',
10491 - 'code-status-desc-fixme' => 'Рецензент отметил в этой ревизии ошибку или неисправность. Она должна быть исправлена.',
 11153+ 'code-status-desc-fixme' => 'В этой версии появилась ошибка, или что-то не работает. Она должна быть исправлена, или возвращена к прежнему состоянию.',
1049211154 'code-status-reverted' => 'откачена',
1049311155 'code-status-desc-reverted' => 'Ревизия была откачена в другой ревизии.',
1049411156 'code-status-resolved' => 'решена',
@@ -10511,12 +11173,14 @@
1051211174 'code-signoff-struckdate' => '$1 (вычеркнул $2)',
1051311175 'code-pathsearch-legend' => 'Поиск в этом хранилище конкретных ревизий по их адресу',
1051411176 'code-pathsearch-path' => 'Путь:',
10515 - 'code-pathsearch-filter' => 'Применённые фильтры:',
 11177+ 'code-pathsearch-filter' => 'Показать только:',
1051611178 'code-revfilter-cr_status' => 'Состояние = $1',
1051711179 'code-revfilter-cr_author' => 'Автор = $1',
 11180+ 'code-revfilter-ct_tag' => 'Метка = $1',
1051811181 'code-revfilter-clear' => 'Снять фильтр',
1051911182 'code-rev-submit' => 'Сохранить изменения',
1052011183 'code-rev-submit-next' => 'Сохранить и показать следующую нерешённую',
 11184+ 'code-rev-next' => 'Следующая нерешённая',
1052111185 'code-batch-status' => 'Изменить состояние:',
1052211186 'code-batch-tags' => 'Изменить метки:',
1052311187 'codereview-batch-title' => 'Изменить все выбранные ревизии',
@@ -10527,6 +11191,8 @@
1052811192 'code-release-endrev' => 'Последняя ревизия:',
1052911193 'codereview-subtitle' => 'для $1',
1053011194 'codereview-reply-link' => 'ответить',
 11195+ 'codereview-overview-title' => 'Обзор',
 11196+ 'codereview-overview-desc' => 'Показать графическое представление этого списка',
1053111197 'codereview-email-subj' => '[$1] [r$2]: Добавлен новый комментарий',
1053211198 'codereview-email-body' => 'Участник «$1» разместил комментарий к $3.
1053311199
@@ -10581,8 +11247,11 @@
1058211248 'code-stats-header' => 'Статистика репозитория «$1»',
1058311249 'code-stats-main' => 'На $1 в репозитории {{PLURAL:$2|содержится одна ревизия|содержатся $2 ревизии|содержатся $2 ревизий}} [[Special:Code/$3/author|$4 {{PLURAL:$4|автора|авторов}}]].',
1058411250 'code-stats-status-breakdown' => 'Статистика по состояниям',
10585 - 'code-stats-fixme-breakdown' => 'Распределение изменений со статусом «исправить» по авторам',
 11251+ 'code-stats-fixme-breakdown' => 'Распределение версий со статусом «исправить» по авторам',
 11252+ 'code-stats-new-breakdown' => 'Распределение новых версий по авторам',
1058611253 'code-stats-count' => 'Количество версий',
 11254+ 'code-tooltip-withsummary' => 'r$1 [$2] $3 — $4',
 11255+ 'code-tooltip-withoutsummary' => 'r$1 [$2] $3',
1058711256 'repoadmin' => 'Управление хранилищем программного кода',
1058811257 'repoadmin-new-legend' => 'Создать новое хранилище',
1058911258 'repoadmin-new-label' => 'Название хранилища:',
@@ -10771,7 +11440,7 @@
1077211441 'grouppage-svnadmins' => '{{ns:project}}:SVN адміністраторы',
1077311442 );
1077411443
10775 -/** Yakut (Саха тыла)
 11444+/** Sakha (Саха тыла)
1077611445 * @author HalanTul
1077711446 */
1077811447 $messages['sah'] = array(
@@ -11100,14 +11769,19 @@
1110111770 'code-prop-changes' => 'Záznam stavu a značiek',
1110211771 'codereview-desc' => '[[Special:Code|Nástroj na kontrolu kódu]] s [[Special:RepoAdmin|podporou Subversion]]',
1110311772 'code-no-repo' => 'Nebolo nastavené žiadne úložisko',
 11773+ 'code-create-repo' => 'Prejsť na [[Special:RepoAdmin|RepoAdmin]] na vytvorenie Úložiska',
 11774+ 'code-need-repoadmin-rights' => 'Aby ste mohli vytvoriť úložisko, potrebujete práva repoadmin',
 11775+ 'code-need-group-with-rights' => 'Neexistuje žiadna skupina s právami repoadmin. Prosím, pridajte ju, aby ste mohli pridať nové Úložisko.',
1110411776 'code-repo-not-found' => "Úložisko '''$1''' neexistuje!",
1110511777 'code-load-diff' => 'Načítava sa rozdiel…',
1110611778 'code-notes' => 'posledné komentáre',
1110711779 'code-statuschanges' => 'zmeny stavu',
1110811780 'code-mycommits' => 'moje začlenenia',
 11781+ 'code-mycomments' => 'moje komentáre',
1110911782 'code-authors' => 'autori',
1111011783 'code-status' => 'stavy',
1111111784 'code-tags' => 'značky',
 11785+ 'code-tags-no-tags' => 'V tomto úložisku neexistujú žiadne značky.',
1111211786 'code-authors-text' => 'Toto je zoznam autorov v úložisku v poradí podľa posledných začlenení. V zátvorkách sú zobrazené lokálne účty wiki. Dáta môžu pochádzať z vyrovnávacej pamäte.',
1111311787 'code-author-haslink' => 'Tento autor je zviazaný s používateľom wiki $1',
1111411788 'code-author-orphan' => 'Tento autor nie je zviazaný s používateľom wiki',
@@ -11128,11 +11802,15 @@
1112911803 'code-field-user' => 'Komentoval',
1113011804 'code-field-message' => 'Zhrnutie commitu',
1113111805 'code-field-status' => 'Stav',
 11806+ 'code-field-status-description' => 'Popis stavu',
1113211807 'code-field-timestamp' => 'Dátum',
1113311808 'code-field-comments' => 'Komentáre',
1113411809 'code-field-path' => 'Cesta',
1113511810 'code-field-text' => 'Poznámka',
1113611811 'code-field-select' => 'Vybrať',
 11812+ 'code-reference-remove' => 'Odstrániť vybrané združenia',
 11813+ 'code-reference-associate' => 'Združiť nadväzujúcu revíziu:',
 11814+ 'code-reference-associate-submit' => 'Združiť',
1113711815 'code-rev-author' => 'Autor:',
1113811816 'code-rev-date' => 'Dátum:',
1113911817 'code-rev-message' => 'Komentár:',
@@ -11173,6 +11851,17 @@
1117411852 'code-status-desc-deferred' => 'Revízia nevyžaduje kontrolu.',
1117511853 'code-status-old' => 'stará',
1117611854 'code-status-desc-old' => 'Stará revízia, ktorá môže obsahovať chyby, ale nestojí za snahu skontrolovať ju.',
 11855+ 'code-signoffs' => 'Schválenia',
 11856+ 'code-signoff-legend' => 'Pridať schválenie',
 11857+ 'code-signoff-submit' => 'Schváliť',
 11858+ 'code-signoff-strike' => 'Vyškrtnúť vybrané schválenia',
 11859+ 'code-signoff-signoff' => 'Schváliť túto revíziu ako:',
 11860+ 'code-signoff-flag-inspected' => 'Skontrolované',
 11861+ 'code-signoff-flag-tested' => 'Otestované',
 11862+ 'code-signoff-field-user' => 'Používateľ',
 11863+ 'code-signoff-field-flag' => 'Príznak',
 11864+ 'code-signoff-field-date' => 'Dátum',
 11865+ 'code-signoff-struckdate' => '$1 (vyškrtnuté $2)',
1117711866 'code-pathsearch-legend' => 'Hľadať revízie v tomto úložisku podľa cesty',
1117811867 'code-pathsearch-path' => 'Cesta:',
1117911868 'code-pathsearch-filter' => 'Použitý filter:',
@@ -11195,7 +11884,10 @@
1119611885 'codereview-email-body' => 'Používateľ „$1” poslal komentár k $3.
1119711886
1119811887 Plný URL: $2
 11888+Zhrnutie začlenenia:
1119911889
 11890+$5
 11891+
1120011892 Komentár:
1120111893
1120211894 $4',
@@ -11203,22 +11895,41 @@
1120411896 'codereview-email-body2' => 'Používateľ „$1“ urobil v $2 nadväzujúce zmeny.
1120511897
1120611898 Plný URL nadväzujúcej revízie: $5
 11899+Zhrnutie začlenenia:
1120711900
 11901+$6
 11902+
1120811903 Plný URL: $3
11209 -
1121011904 Zhrnutie začlenenia:
1121111905
1121211906 $4',
1121311907 'codereview-email-subj3' => '[$1 $2]: Stav revízie sa zmenil',
1121411908 'codereview-email-body3' => 'Používateľ „$1“ zmenil stav $2.
1121511909
11216 -Starý stav: $2
11217 -Nový stav: $3
 11910+Starý stav: $3
 11911+Nový stav: $4
1121811912
1121911913 Plný URL: $5
11220 -Zhrnutie úprav:
 11914+Zhrnutie začlenenia:
1122111915
1122211916 $6',
 11917+ 'codereview-email-subj4' => '[$1 $2]: Pridaný nový komentár a zmenený stav revízie',
 11918+ 'codereview-email-body4' => 'Používateľ „$1“ zmenil stav $2.
 11919+
 11920+Starý stav: $3
 11921+Nový stav: $4
 11922+
 11923+Používateľ „$1“ tiež pridal komentár k $2.
 11924+
 11925+Plný URL: $5
 11926+
 11927+Zhrnutie začlenenia:
 11928+
 11929+$7
 11930+
 11931+Komentár:
 11932+
 11933+$6',
1122311934 'code-stats' => 'štatistika',
1122411935 'code-stats-header' => 'Štatistika úložiska $1',
1122511936 'code-stats-main' => '$1, úložisko má $2 {{PLURAL:$2|revíziu|revízie|revízií}} od [[Special:Code/$3/author|$4 {{PLURAL:$4|autora|autorov}}]].',
@@ -11242,7 +11953,10 @@
1124311954 'right-codereview-remove-tag' => 'Odstrániť značky z revízií',
1124411955 'right-codereview-post-comment' => 'Pridať revíziám komentáre',
1124511956 'right-codereview-set-status' => 'Zmeniť stav revízií',
 11957+ 'right-codereview-signoff' => 'Schváliť revízie',
1124611958 'right-codereview-link-user' => 'Zviazať autorov s používateľmi wiki',
 11959+ 'right-codereview-associate' => 'Spravovať združenia revízií',
 11960+ 'right-codereview-review-own' => 'Označiť vlastné revízie ako OK',
1124711961 'specialpages-group-developer' => 'Nástroje vývojárov',
1124811962 'group-svnadmins' => 'správcovia SVN',
1124911963 'group-svnadmins-member' => 'správca SVN',
@@ -11281,7 +11995,7 @@
1128211996 'code-tags-no-tags' => 'V tej shrambi ne obstaja nobena oznaka.',
1128311997 'code-authors-text' => 'Spodaj je seznam avtorjev shrambe razporejenih po prispevajočem imenu. Lokalni wikiračuni so prikazani v oklepajih. Podatki so lahko predpomnjeni.',
1128411998 'code-author-haslink' => 'Ta avtor je povezan z wikiuporabnikom $1',
11285 - 'code-author-orphan' => 'Ta avtor nima povezave z wikiračunom',
 11999+ 'code-author-orphan' => 'Wikiuporabnik $1 ni povezan z wikiračunom',
1128612000 'code-author-dolink' => 'Poveži tega avtorja z wikiuporabnikom:',
1128712001 'code-author-alterlink' => 'Spremeni wikiuporabnika, povezanega s tem avtorjem:',
1128812002 'code-author-orunlink' => 'Ali odstrani povezavo tega wikiuporabnika:',
@@ -11337,7 +12051,7 @@
1133812052 'code-status-new' => 'novo',
1133912053 'code-status-desc-new' => 'Redakcija izvaja dejanje (privzeto stanje).',
1134012054 'code-status-fixme' => 'popravi me',
11341 - 'code-status-desc-fixme' => 'Pregledovalec je označil to redakcijo kot hroščato ali pokvarjeno. To je treba popraviti.',
 12055+ 'code-status-desc-fixme' => 'Redakcija je uvedla hrošč ali pa je pokvarjena. To je treba popraviti ali povrniti.',
1134212056 'code-status-reverted' => 'vrnjeno',
1134312057 'code-status-desc-reverted' => 'Redakcijo je zavrgla poznejša redakcija.',
1134412058 'code-status-resolved' => 'razrešeno',
@@ -11361,12 +12075,14 @@
1136212076 'code-signoff-struckdate' => '$1 (udarjeno $2)',
1136312077 'code-pathsearch-legend' => 'Iskanje redakcij v tej shrambi po poti',
1136412078 'code-pathsearch-path' => 'Pot:',
11365 - 'code-pathsearch-filter' => 'Uporabljen filter:',
 12079+ 'code-pathsearch-filter' => 'Prikaži samo:',
1136612080 'code-revfilter-cr_status' => 'Stanje = $1',
1136712081 'code-revfilter-cr_author' => 'Avtor = $1',
 12082+ 'code-revfilter-ct_tag' => 'Oznaka = $1',
1136812083 'code-revfilter-clear' => 'Počisti filter',
1136912084 'code-rev-submit' => 'Shrani spremembe',
1137012085 'code-rev-submit-next' => 'Shrani in pojdi na naslednjo nerazrešeno',
 12086+ 'code-rev-next' => 'Naslednje nerazrešeno',
1137112087 'code-batch-status' => 'Spremeni stanje:',
1137212088 'code-batch-tags' => 'Spremeni oznake:',
1137312089 'codereview-batch-title' => 'Spremeni vse izbrane redakcije',
@@ -11377,6 +12093,8 @@
1137812094 'code-release-endrev' => 'Končna redakcija:',
1137912095 'codereview-subtitle' => 'Za $1',
1138012096 'codereview-reply-link' => 'odgovori',
 12097+ 'codereview-overview-title' => 'Pregled',
 12098+ 'codereview-overview-desc' => 'Prikaži grafični pregled seznama',
1138112099 'codereview-email-subj' => '[$1 $2]: Dodana nova pripomba',
1138212100 'codereview-email-body' => 'Uporabnik »$1« je objavil pripombo na $3.
1138312101
@@ -11430,8 +12148,11 @@
1143112149 'code-stats-header' => 'Statistike shrambe $1',
1143212150 'code-stats-main' => 'Dne $1 ima shramba $2 {{PLURAL:$2|redakcijo|redakciji|redakcije|redakcij}} od [[Special:Code/$3/author|$4 {{PLURAL:$4|avtorja|avtorjev}}]].',
1143312151 'code-stats-status-breakdown' => 'Število redakcij glede na stanje',
11434 - 'code-stats-fixme-breakdown' => 'Odprava »popravi me«-jev glede na avtorja',
 12152+ 'code-stats-fixme-breakdown' => 'Razčlenitev redakcij »popravi me« po avtorju',
 12153+ 'code-stats-new-breakdown' => 'Razčlenitev novih redakcij po avtorju',
1143512154 'code-stats-count' => 'Število redakcij',
 12155+ 'code-tooltip-withsummary' => 'r$1 [$2] od $3 – $4',
 12156+ 'code-tooltip-withoutsummary' => 'r$1 [$2] od $3',
1143612157 'repoadmin' => 'Upravljanje shramb',
1143712158 'repoadmin-new-legend' => 'Ustvari novo shrambo',
1143812159 'repoadmin-new-label' => 'Ime shrambe:',
@@ -11499,7 +12220,7 @@
1150012221 'code-author-link' => 'повезати?',
1150112222 'code-author-unlink' => 'делинковати?',
1150212223 'code-author-unlinksuccess' => 'Аутор $1 је био делинкован',
11503 - 'code-field-id' => 'Ревизија',
 12224+ 'code-field-id' => 'Измена',
1150412225 'code-field-author' => 'Аутор',
1150512226 'code-field-user' => 'Коментатор',
1150612227 'code-field-message' => 'Пошаљи опис',
@@ -11512,7 +12233,7 @@
1151312234 'code-rev-author' => 'Аутор:',
1151412235 'code-rev-date' => 'Датум:',
1151512236 'code-rev-message' => 'Коментар:',
11516 - 'code-rev-rev' => 'Ревизија:',
 12237+ 'code-rev-rev' => 'Измена:',
1151712238 'code-rev-paths' => 'Измењене путање:',
1151812239 'code-rev-modified-a' => 'додато',
1151912240 'code-rev-modified-r' => 'замењено',
@@ -11561,6 +12282,7 @@
1156212283
1156312284 /** Serbian Latin ekavian (‪Srpski (latinica)‬)
1156412285 * @author Michaello
 12286+ * @author Rancher
1156512287 * @author Жељко Тодоровић
1156612288 */
1156712289 $messages['sr-el'] = array(
@@ -11587,7 +12309,7 @@
1158812310 'code-author-link' => 'linkovati?',
1158912311 'code-author-unlink' => 'delinkovati?',
1159012312 'code-author-unlinksuccess' => 'Autor $1 je bio delinkovan',
11591 - 'code-field-id' => 'Revizija',
 12313+ 'code-field-id' => 'Izmena',
1159212314 'code-field-author' => 'Autor',
1159312315 'code-field-user' => 'Komentator',
1159412316 'code-field-message' => 'Pošalji opis',
@@ -11600,7 +12322,7 @@
1160112323 'code-rev-author' => 'Autor:',
1160212324 'code-rev-date' => 'Datum:',
1160312325 'code-rev-message' => 'Komentar:',
11604 - 'code-rev-rev' => 'Revizija:',
 12326+ 'code-rev-rev' => 'Izmena:',
1160512327 'code-rev-paths' => 'Izmenjene putanje:',
1160612328 'code-rev-modified-a' => 'dodato',
1160712329 'code-rev-modified-r' => 'zamenjeno',
@@ -11653,8 +12375,8 @@
1165412376 $messages['stq'] = array(
1165512377 'code' => 'Codewröich',
1165612378 'code-comments' => 'Kommentoare',
11657 - 'code-change-status' => "annerde dän '''Stoatus''' fon disse Revision",
11658 - 'code-change-tags' => "annerde do '''Tags''' fon disse Revision",
 12379+ 'code-change-status' => "annerde dän '''Stoatus''' fon Revision $1",
 12380+ 'code-change-tags' => "annerde do '''Tags''' fon Revision $1",
1165912381 'code-change-removed' => 'wächhoald:',
1166012382 'code-change-added' => 'bietouföiged:',
1166112383 'code-prop-changes' => 'Stoatus- un Tagging-Logbouk',
@@ -11665,7 +12387,7 @@
1166612388 'code-authors' => 'Autore',
1166712389 'code-status' => 'Stoatus',
1166812390 'code-tags' => 'Tags',
11669 - 'code-authors-text' => 'Dit is ne Lieste fon do Autore ap Riege fon do Ienspielengen.',
 12391+ 'code-authors-text' => 'Hierunner foulget ne Lieste fon Repositoriumautore, ätter Noomen sortierd. Lokoale Wikikonten wäide in runde Klammere anwiesd. Doaten kuuden uut dän Cache stamme.',
1167012392 'code-author-haslink' => 'Dissen Autor is tou dän Wiki-Benutser $1 ferlinked',
1167112393 'code-author-orphan' => 'Dissen Autor häd neen Link tou n Wiki-Benutserkonto',
1167212394 'code-author-dolink' => 'Dissen Autor tou n Wiki-Benutserkonto ferlinkje:',
@@ -11718,8 +12440,15 @@
1171912441 'code-rev-submit-next' => 'Spiekerje un gung tou n naisten nit-wröigeden',
1172012442 'codereview-reply-link' => 'oantwoudje',
1172112443 'codereview-email-subj' => '[$1 $2]: Näien Kommentoar bietouföiged',
11722 - 'codereview-email-body' => 'Benutser <b>$1</b> häd $3 <a href="$2">kommentierd</a>:
 12444+ 'codereview-email-body' => 'Benutser "$1" häd Revision $3 kommentierd:
1172312445
 12446+Fulständige URL: $2
 12447+Touhoopefoatenge:
 12448+
 12449+$5
 12450+
 12451+Kommentoar:
 12452+
1172412453 $4',
1172512454 'repoadmin' => 'Repositoriums-Administration',
1172612455 'repoadmin-new-legend' => 'Näi Repositorium moakje',
@@ -11747,10 +12476,12 @@
1174812477 * @author Fluff
1174912478 * @author Gabbe.g
1175012479 * @author GameOn
 12480+ * @author Lokal Profil
1175112481 * @author Najami
1175212482 * @author Per
1175312483 * @author Rotsee
1175412484 * @author Tobulos1
 12485+ * @author WikiPhoenix
1175512486 */
1175612487 $messages['sv'] = array(
1175712488 'code' => 'Kodgranskning',
@@ -11853,7 +12584,7 @@
1185412585 'code-signoff-field-date' => 'Datum',
1185512586 'code-pathsearch-legend' => 'Sök versioner i denna repo efter sökväg',
1185612587 'code-pathsearch-path' => 'Sökväg:',
11857 - 'code-pathsearch-filter' => 'Använt filter:',
 12588+ 'code-pathsearch-filter' => 'Visa endast:',
1185812589 'code-revfilter-cr_status' => 'Status = $1',
1185912590 'code-revfilter-cr_author' => 'Författare = $1',
1186012591 'code-revfilter-clear' => 'Rensa filter',
@@ -11869,29 +12600,41 @@
1187012601 'code-release-endrev' => 'Senaste revision:',
1187112602 'codereview-subtitle' => 'För $1',
1187212603 'codereview-reply-link' => 'svara',
 12604+ 'codereview-overview-title' => 'Översikt',
1187312605 'codereview-email-subj' => '[$1 $2]: Ny kommentar tillagd',
1187412606 'codereview-email-body' => 'Användaren "$1" postade en kommenter på $3
1187512607
1187612608 Fullständig URL: $2
 12609+Bidragssammanfattning:
1187712610
 12611+$5
 12612+
 12613+
1187812614 Kommentar:
1187912615
11880 -$4',
 12616+$4:',
1188112617 'codereview-email-subj2' => '[$1 $2]: Påföljande ändringar',
1188212618 'codereview-email-body2' => 'Användare "$1" gjorde påföljande ändringar till $2.
1188312619
11884 -Full URL för påföljande revision: $5
 12620+Fullständig URL för påföljande revision: $5
 12621+Bidragssammanfattning:
1188512622
11886 -Full URL: $3
 12623+$6
1188712624
11888 -Sammanfattning:
 12625+Fullständig URL: $3
 12626+Bidragssammanfattning
1188912627
1189012628 $4',
1189112629 'codereview-email-subj3' => '[$1 $2]: Versionsstatus ändrad',
1189212630 'codereview-email-body3' => "Användare ''$1'' ändrade statusen för $2.
1189312631
1189412632 Gammal status: $3
11895 -Ny status: $4",
 12633+Ny status: $4
 12634+
 12635+Fullständig URL: $5
 12636+Bidragssammanfattning:
 12637+
 12638+$6",
1189612639 'codereview-email-subj4' => '[$1 $2]: Ny kommentar tillagd, och versionsstatus ändrad',
1189712640 'codereview-email-body4' => 'Användare "$1" ändrade statusen för $2.
1189812641
@@ -11901,7 +12644,11 @@
1190212645 Användare "$1" postade också en kommentar på $2.
1190312646
1190412647 Fullständig URL: $5
 12648+Bidragssammanfattning:
1190512649
 12650+$7
 12651+
 12652+
1190612653 Kommentar:
1190712654
1190812655 $6',
@@ -11911,6 +12658,8 @@
1191212659 'code-stats-status-breakdown' => 'Antal revisioner per status',
1191312660 'code-stats-fixme-breakdown' => 'Fördelning av fixmes per författare',
1191412661 'code-stats-count' => 'Antal revideringar',
 12662+ 'code-tooltip-withsummary' => 'r$1 [$2] av $3 - $4',
 12663+ 'code-tooltip-withoutsummary' => 'r$1 [$2] av $3',
1191512664 'repoadmin' => 'Databasadministration',
1191612665 'repoadmin-new-legend' => 'Skapa en ny databas',
1191712666 'repoadmin-new-label' => 'Databasnamn:',
@@ -11960,6 +12709,7 @@
1196112710
1196212711 /** Tamil (தமிழ்)
1196312712 * @author TRYPPN
 12713+ * @author செல்வா
1196412714 */
1196512715 $messages['ta'] = array(
1196612716 'code-comments' => 'கருத்துரைகள்',
@@ -11979,7 +12729,7 @@
1198012730 'code-field-text' => 'குறிப்பு',
1198112731 'code-field-select' => 'தேர்வு செய்',
1198212732 'code-rev-author' => 'ஆசிரியர்:',
11983 - 'code-rev-date' => 'தேதி:',
 12733+ 'code-rev-date' => 'நாள் (தேதி):',
1198412734 'code-rev-message' => 'கருத்து:',
1198512735 'code-rev-rev' => 'திருத்தம்:',
1198612736 'code-rev-modified-d' => 'நீக்கப்பட்டது',
@@ -12004,6 +12754,7 @@
1200512755
1200612756 /** Telugu (తెలుగు)
1200712757 * @author C.Chandra Kanth Rao
 12758+ * @author Chaduvari
1200812759 * @author Kiranmayee
1200912760 * @author Veeven
1201012761 */
@@ -12015,6 +12766,7 @@
1201612767 'code-prop-changes' => 'స్థితి & ట్యాగుల చిట్టా',
1201712768 'code-notes' => 'ఇటీవలి వ్యాఖ్యలు',
1201812769 'code-statuschanges' => 'స్థితి మార్పులు',
 12770+ 'code-mycomments' => 'నా వ్యాఖ్యలు',
1201912771 'code-authors' => 'రచయితలు',
1202012772 'code-status' => 'స్థితులు',
1202112773 'code-author-orphan' => 'ఈ రచయితకి వికీ ఖాతాలో లంకె లేదు',
@@ -12045,17 +12797,33 @@
1204612798 'code-rev-total' => 'మొత్తం ఫలితాల సంఖ్య: $1',
1204712799 'code-rev-not-found' => "'''$1''' అనే కూర్పు లేనే లేదు!",
1204812800 'code-status-new' => 'కొత్త',
 12801+ 'code-status-desc-fixme' => 'ఈ కూర్పు బగ్ ను చొప్పిస్తోందనో, లేక తెగిపోయిందనో ఒక వాడుకరి గుర్తు పెట్టారు. దాన్ని సరిచెయ్యాలి.',
1204912802 'code-status-reverted' => 'వెనక్కి తీసుకోబడినది',
 12803+ 'code-status-desc-reverted' => 'ఈ కూర్పులో చేసిన మార్పులు తరువాతి మార్పు ద్వారా చెయ్యబడ్డాయి.',
 12804+ 'code-status-resolved' => 'పరిష్కరించబడింది',
 12805+ 'code-status-desc-resolved' => 'ఈ కూర్పులో ఒక సమస్య ఉండేది. అది తరువాతి కూర్పులో పరిష్కరించబడింది.',
1205012806 'code-status-ok' => 'సరి',
 12807+ 'code-status-desc-ok' => 'ఈ కూర్పు కూలంకషంగా సమీక్షించబడింది. ఇది అన్ని విధాలా బాగుందని సమీక్షకుడు నిశ్చయంగా ఉన్నారు.',
1205112808 'code-status-desc-deferred' => 'కూర్పుకి సమీక్ష అవసరం లేదు.',
1205212809 'code-status-old' => 'పాతది',
12053 - 'code-pathsearch-filter' => 'ఆపాదించిన వడపోత:',
 12810+ 'code-status-desc-old' => 'బగ్ లు ఉండే అవకాశం ఉన్న పాత కూర్పు. అయితే ఈ బగ్ లు సమీక్షించేంత శ్రమ పడాల్సిన అవసరం లేనివి.',
 12811+ 'code-signoff-flag-inspected' => 'పరీక్షించబడిన',
 12812+ 'code-signoff-flag-tested' => 'పరీక్షించబడినవి',
 12813+ 'code-signoff-field-user' => 'వాడుకరి',
 12814+ 'code-signoff-field-flag' => 'ప్లాగ్',
 12815+ 'code-signoff-field-date' => 'తేదీ',
 12816+ 'code-signoff-struckdate' => '$1 (రద్దైనది $2)',
 12817+ 'code-pathsearch-filter' => 'దీనిని మాత్రమే చూపించు:',
1205412818 'code-revfilter-cr_status' => 'స్థితి = $1',
1205512819 'code-revfilter-cr_author' => 'రచయిత = $1',
 12820+ 'code-revfilter-clear' => 'వడపోతను ఖాళీచేయి',
1205612821 'code-rev-submit' => 'మార్పులను భద్రపరచు',
 12822+ 'code-rev-submit-next' => 'భద్రపరచు & తరువాతి అపరిష్కృతం',
1205712823 'code-batch-status' => 'మార్పు స్థితి:',
 12824+ 'codereview-batch-title' => 'ఎంచుకున్న అన్ని కూర్పులనూ మార్చు',
1205812825 'codereview-batch-submit' => 'దాఖలుచెయ్యి',
1205912826 'code-releasenotes' => 'విడుదల విశేషాలు',
 12827+ 'code-release-endrev' => 'చివరి కూర్పు:',
1206012828 'codereview-subtitle' => '$1 కొరకు',
1206112829 'codereview-reply-link' => 'స్పందించు',
1206212830 'codereview-email-subj' => '[$1 $2]: కొత్త వ్యాఖ్యని చేర్చారు',
@@ -12070,13 +12838,70 @@
1207112839
1207212840 $4',
1207312841 'codereview-email-subj2' => '[$1 $2]: తదనంతర మార్పులు',
 12842+ 'codereview-email-body2' => 'వాడుకరి "$1" $2 లో ఫాలో-అప్ మార్పులు చేసారు.
 12843+
 12844+ఫాలో-అప్ కూర్పు యొక్క పూర్తి URL: $5
 12845+కమిట్ సారాంశాం:
 12846+
 12847+$6
 12848+
 12849+పూర్తి URL: $3
 12850+కమిట్ సారాంశం:
 12851+
 12852+$4',
 12853+ 'codereview-email-subj3' => '[$1 $2]: కూర్పు స్థితి మారింది',
 12854+ 'codereview-email-body3' => 'వాడుకరి "$1", $2 యొక్క సథితిని మార్చారు.
 12855+
 12856+పాత స్థితి: $3
 12857+కొత్త స్థితి: $4
 12858+
 12859+పూర్తి URL: $5
 12860+కమిట్ సారాంశం:
 12861+
 12862+$6',
 12863+ 'codereview-email-subj4' => '[$1 $2]: కొత్త కమిట్ చేర్చబడింది, కూర్పు స్థితి మార్చబడింది.',
 12864+ 'codereview-email-body4' => 'వాడుకరి "$1", $2 యొక్క స్థితిని మార్చారు.
 12865+
 12866+పాత స్థితి: $3
 12867+కొత్త స్థితి: $4
 12868+
 12869+వాడుకరి "$1" $2 పై ఒక వ్యాఖ్య కూడా రాసారు.
 12870+
 12871+పూర్తి URL: $5
 12872+కమిట్ సారాంశం:
 12873+
 12874+$7
 12875+
 12876+వ్యాఖ్య:
 12877+
 12878+$6',
1207412879 'code-stats' => 'గణాంకాలు',
 12880+ 'code-stats-header' => 'ఖజానా $1 గణాంకాలు',
 12881+ 'code-stats-main' => '$1 నాటికి, ఖజానాలో [[Special:Code/$3/author|$4 {{PLURAL:$4|కర్త|కర్తలు}}]] చేసిన $2 {{PLURAL:$2|కూర్పు|కూర్పులు}} ఉన్నాయి.',
 12882+ 'code-stats-status-breakdown' => 'ఒక్కో స్థితికి ఉన్న కూర్పుల సంఖ్య',
1207512883 'code-stats-count' => 'కూర్పుల యొక్క సంఖ్య',
 12884+ 'repoadmin' => 'ఖజానా నిర్వహణ',
 12885+ 'repoadmin-new-legend' => 'ఓ కొత్త ఖజానాను సృష్టించండి',
 12886+ 'repoadmin-new-label' => 'ఖజానా పేరు:',
1207612887 'repoadmin-new-button' => 'సృష్టించు',
 12888+ 'repoadmin-edit-legend' => 'ఖజానా "$1" యొక్క మార్పు',
 12889+ 'repoadmin-edit-path' => 'ఖజానా పాత్:',
 12890+ 'repoadmin-edit-bug' => 'Bugzilla పాత్:',
 12891+ 'repoadmin-edit-view' => 'ViewVC పాత్:',
1207712892 'repoadmin-edit-button' => 'సరే',
 12893+ 'repoadmin-edit-sucess' => 'ఖజానా "[[Special:Code/$1|$1]]" ను జయప్రదంగా మార్చాం.',
 12894+ 'repoadmin-nav' => 'ఖజానా నిర్వహణ',
 12895+ 'right-repoadmin' => 'కోడ్ ఖజానాలను నిర్వహించండి',
 12896+ 'right-codereview-add-tag' => 'కొత్త ట్యాగులు, కూర్పులను చేర్చు',
 12897+ 'right-codereview-remove-tag' => 'కూర్పుల నుండి ట్యాగులను తీసెయ్యి',
1207812898 'right-codereview-post-comment' => 'కూర్పులపై వ్యాఖ్యలు చేర్చగలగడం',
1207912899 'right-codereview-set-status' => 'కూర్పుల స్థితిని మార్చగలగడం',
 12900+ 'right-codereview-link-user' => 'కర్తలను వికీ వాడుకరులతో లింకు చెయ్యి',
 12901+ 'right-codereview-review-own' => 'మీ స్వంత కూర్పులను ’సరే’ గా గుర్తించండి',
1208012902 'specialpages-group-developer' => 'వికాసకుల పనిముట్లు',
 12903+ 'group-svnadmins' => 'SVN నిర్వాహకులు',
 12904+ 'group-svnadmins-member' => 'SVN నిర్వాహకుడు',
 12905+ 'grouppage-svnadmins' => '{{ns:project}}:SVN నిర్వాహకులు',
1208112906 );
1208212907
1208312908 /** Tetum (Tetun)
@@ -12097,6 +12922,7 @@
1209812923 'code-rev-diff-link' => 'dif',
1209912924 'code-status-new' => 'foun',
1210012925 'code-status-ok' => 'ok',
 12926+ 'code-revfilter-cr_author' => 'Autór = $1',
1210112927 'repoadmin-new-button' => 'Kria',
1210212928 'repoadmin-edit-button' => 'OK',
1210312929 );
@@ -12423,7 +13249,7 @@
1242413250
1242513251 $4',
1242613252 'codereview-email-subj3' => '[$1 $2]: Awtomatik synag regressiýany ýüze çykardy',
12427 - 'codereview-email-body3' => '$1 üçin üýtgeşmeler zerarly awtomatik synag bir regressiýany ýüze çykardy.
 13253+ 'codereview-email-body3' => '$1 üçin üýtgeşmeler zerarly awtomatik synag bir regressiýany ýüze çykardy.
1242813254
1242913255 Doly URL: $2
1243013256
@@ -12626,7 +13452,7 @@
1262713453 Nagpaskil din ang tagagamit na si "$1" ng isang puna sa $2.
1262813454
1262913455 Buong URL: $5
12630 -Buod ng pagsasagawa:
 13456+Buod ng pagsasagawa:
1263113457
1263213458 $7
1263313459
@@ -12946,10 +13772,13 @@
1294713773 'codereview-subtitle' => 'Для $1',
1294813774 'codereview-reply-link' => 'відповісти',
1294913775 'codereview-email-subj' => '[$1 $2]: Доданий новий коментар',
12950 - 'codereview-email-body' => 'Користувач «$1» розмістив коментар до редакції $3.
 13776+ 'codereview-email-body' => 'Користувач «$1» залишив коментар на $3.
1295113777
1295213778 Повний URL: $2
 13779+Опис коментаря:
1295313780
 13781+$5
 13782+
1295413783 Коментар:
1295513784
1295613785 $4',
@@ -13248,7 +14077,7 @@
1324914078 'code-tags-no-tags' => 'Không có thẻ nào trong kho này.',
1325014079 'code-authors-text' => 'Đây có danh sách tác giả trong kho, xếp theo tên thay đổi. Trong dấu ngoặc có tài khoản wiki địa phương. Dữ liệu có thể được lấy từ vùng nhớ đệm.',
1325114080 'code-author-haslink' => 'Tác giả này được liên kết đến thành viên wiki $1',
13252 - 'code-author-orphan' => 'Tác giả này chưa được liên kết đến tài khoản wiki nào',
 14081+ 'code-author-orphan' => 'Người dùng wiki “$1” chưa được liên kết đến tài khoản wiki nào',
1325314082 'code-author-dolink' => 'Liên kết tác giả mã nguồn này đến thành viên wiki:',
1325414083 'code-author-alterlink' => 'Đổi thành viên wiki được liên kết đến tác giả này:',
1325514084 'code-author-orunlink' => 'Hoặc bỏ liên kết đến thành viên wiki này:',
@@ -13304,7 +14133,7 @@
1330514134 'code-status-new' => 'mới',
1330614135 'code-status-desc-new' => 'Phiên bản đang chờ xử lý (trạng thái mặc định).',
1330714136 'code-status-fixme' => 'cần sửa',
13308 - 'code-status-desc-fixme' => 'Người duyệt đã đánh dấu phiên bản này là gây lỗi hoặc hư hỏng. Nó cần được sửa chữa.',
 14137+ 'code-status-desc-fixme' => 'Thay đổi đã gây lỗi hoặc bị hư hỏng. Nó cần được sửa chữa hoặc lùi lại.',
1330914138 'code-status-reverted' => 'khôi phục',
1331014139 'code-status-desc-reverted' => 'Phiên bản được thay thế bằng một phiên bản sau.',
1331114140 'code-status-resolved' => 'giải quyết',
@@ -13328,12 +14157,14 @@
1332914158 'code-signoff-struckdate' => '$1 (đã gạch bỏ $2)',
1333014159 'code-pathsearch-legend' => 'Tìm kiếm các thay đổi trong kho này theo đường dẫn',
1333114160 'code-pathsearch-path' => 'Đường dẫn:',
13332 - 'code-pathsearch-filter' => 'Áp dụng bộ lọc:',
 14161+ 'code-pathsearch-filter' => 'Chỉ hiển thị:',
1333314162 'code-revfilter-cr_status' => 'Trạng thái = $1',
1333414163 'code-revfilter-cr_author' => 'Tác giả = $1',
 14164+ 'code-revfilter-ct_tag' => 'Thẻ = $1',
1333514165 'code-revfilter-clear' => 'Tẩy trống bộ lọc',
1333614166 'code-rev-submit' => 'Lưu các thay đổi',
1333714167 'code-rev-submit-next' => 'Lưu và xem thay đổi chưa giải quyết sau',
 14168+ 'code-rev-next' => 'Thay đổi chưa giải sau',
1333814169 'code-batch-status' => 'Thay đổi trạng thái:',
1333914170 'code-batch-tags' => 'Thay đổi thẻ:',
1334014171 'codereview-batch-title' => 'Thay đổi tất cả các phiên bản được chọn',
@@ -13344,6 +14175,8 @@
1334514176 'code-release-endrev' => 'Phiên bản kết thúc:',
1334614177 'codereview-subtitle' => 'Dành cho $1',
1334714178 'codereview-reply-link' => 'trả lời',
 14179+ 'codereview-overview-title' => 'Tóm tắt',
 14180+ 'codereview-overview-desc' => 'Hiện biểu đồ tóm tắt danh sách này',
1334814181 'codereview-email-subj' => '[$1] [r$2]: Tin nhắn mới',
1334914182 'codereview-email-body' => 'Người dùng "$1" đã bình luận về $3.
1335014183
@@ -13397,8 +14230,11 @@
1339814231 'code-stats-header' => 'Thống kê của kho $1',
1339914232 'code-stats-main' => 'Vào $1, kho được sửa đổi $2 lần bởi [[Special:Code/$3/author|$4 người dùng]].',
1340014233 'code-stats-status-breakdown' => 'Số thay đổi cho mỗi trạng thái',
13401 - 'code-stats-fixme-breakdown' => 'Chú thích cần sửa từng tác giả',
 14234+ 'code-stats-fixme-breakdown' => 'Thay đổi được đánh dấu là cần sửa từng tác giả',
 14235+ 'code-stats-new-breakdown' => 'Thay đổi mới được đánh dấu là cần sửa từng tác giả',
1340214236 'code-stats-count' => 'Số thay đổi',
 14237+ 'code-tooltip-withsummary' => 'r$1 [$2] bởi $3 – $4',
 14238+ 'code-tooltip-withoutsummary' => 'r$1 [$2] bởi $3',
1340314239 'repoadmin' => 'Quản lý kho dữ liệu',
1340414240 'repoadmin-new-legend' => 'Tạo kho dữ liệu',
1340514241 'repoadmin-new-label' => 'Tên kho dữ liệu:',
@@ -13657,6 +14493,7 @@
1365814494 * @author Chenzw
1365914495 * @author Gaoxuewei
1366014496 * @author Hydra
 14497+ * @author Kuailong
1366114498 * @author Liangent
1366214499 * @author PhiLiP
1366314500 * @author Wmr89502270
@@ -13705,7 +14542,7 @@
1370614543 'code-author-total' => '作者总数:$1',
1370714544 'code-author-lastcommit' => '最后提交日期',
1370814545 'code-browsing-path' => "正在浏览在'''$1'''的修改",
13709 - 'code-field-id' => '修订',
 14546+ 'code-field-id' => '修订版本',
1371014547 'code-field-author' => '作者',
1371114548 'code-field-user' => '评论员',
1371214549 'code-field-message' => '评论汇总',
@@ -13723,7 +14560,7 @@
1372414561 'code-rev-date' => '日期:',
1372514562 'code-rev-message' => '评论:',
1372614563 'code-rev-repo' => '储存库:',
13727 - 'code-rev-rev' => '修订:',
 14564+ 'code-rev-rev' => '修订版本:',
1372814565 'code-rev-rev-viewvc' => '在ViewVC上',
1372914566 'code-rev-paths' => '修改路径:',
1373014567 'code-rev-modified-a' => '增加',
@@ -13736,7 +14573,7 @@
1373714574 'code-rev-tags' => '标签:',
1373814575 'code-rev-tag-add' => '添加标签:',
1373914576 'code-rev-tag-remove' => '移除标签:',
13740 - 'code-rev-comment-by' => '$1 的评论',
 14577+ 'code-rev-comment-by' => '$1的评论',
1374114578 'code-rev-comment-preview' => '预览',
1374214579 'code-rev-inline-preview' => '预览:',
1374314580 'code-rev-diff' => '差异',
@@ -13749,8 +14586,6 @@
1375014587 'code-status-desc-new' => '修订是挂起的操作 (默认状态)。',
1375114588 'code-status-fixme' => '修正',
1375214589 'code-status-desc-fixme' => '审阅者标记此版本引入一个错误或已损坏。它应该得到纠正。',
13753 - 'code-status-improveme' => '改造我',
13754 - 'code-status-desc-improveme' => '审阅者标记此版本,有一些小问题。它应改正。',
1375514590 'code-status-reverted' => '回复',
1375614591 'code-status-desc-reverted' => '修订被撤消的更高版本的修订。',
1375714592 'code-status-resolved' => '解决',
@@ -13777,6 +14612,7 @@
1377814613 'code-pathsearch-filter' => '过滤器适用于:',
1377914614 'code-revfilter-cr_status' => '状态 = $1',
1378014615 'code-revfilter-cr_author' => '作者= $1',
 14616+ 'code-revfilter-ct_tag' => '标签 = $1',
1378114617 'code-revfilter-clear' => '清除过滤器',
1378214618 'code-rev-submit' => '保存修改',
1378314619 'code-rev-submit-next' => '保存,并处理下一条',
@@ -13788,42 +14624,51 @@
1378914625 'code-release-legend' => '产发发布说明',
1379014626 'code-release-startrev' => '开始修订:',
1379114627 'code-release-endrev' => '结束修订:',
13792 - 'codereview-subtitle' => '对$1',
 14628+ 'codereview-subtitle' => '给$1',
1379314629 'codereview-reply-link' => '回复',
1379414630 'codereview-email-subj' => '[$1 $2]: 新的评论已添加',
1379514631 'codereview-email-body' => '用户 "$1" 在 $3 上添加了一条评论。
1379614632
13797 -完成URL地址: $2
 14633+完整URL地址: $2
 14634+评论摘要:
 14635+$5
1379814636
13799 -评论:
 14637+评论:
1380014638
1380114639 $4',
1380214640 'codereview-email-subj2' => '[$1 $2]:后续更改',
1380314641 'codereview-email-body2' => '用户“$1”对$2作出了后续更改。
1380414642
13805 -后续修订的URL链接:$5
 14643+后续修订的完整URL链接:$5
 14644+编辑摘要:
1380614645
13807 -URL链接:$3
 14646+$6
1380814647
13809 -提交摘要:
 14648+完整URL链接:$3
 14649+编辑摘要:
1381014650
1381114651 $4',
1381214652 'codereview-email-subj3' => '[$1 $2]: 修订状态改变',
13813 - 'codereview-email-body3' => '用户"$1"更改"$2"的状态。
 14653+ 'codereview-email-body3' => '用户“$1”更改了$2的状态。
1381414654
13815 -之前:$3
13816 -目前:$4
 14655+原状态:$3
 14656+新状态:$4
1381714657
13818 -完整URL:$5',
 14658+完整URL:$5
 14659+编辑摘要:
 14660+
 14661+$6',
1381914662 'codereview-email-subj4' => '[$1 $2]: 添加,新的注释和修订状态改变',
13820 - 'codereview-email-body4' => '$2的状态更改用户"$1"。
 14663+ 'codereview-email-body4' => '用户"$1"更改了$2的状态。
1382114664
1382214665 旧状态: $3
13823 -新局面: $4
 14666+新状态: $4
1382414667
1382514668 用户"$1"还张贴评论 $2。
1382614669
13827 -的完整 URL: $5
 14670+完整 URL: $5
 14671+评论摘要:
 14672+$7
1382814673
1382914674 评论:
1383014675
@@ -13854,6 +14699,7 @@
1385514700 'right-codereview-signoff' => '登录修订',
1385614701 'right-codereview-link-user' => '将作者链接到维基用户',
1385714702 'right-codereview-associate' => '管理版本关联',
 14703+ 'right-codereview-review-own' => '将您自己的修订标记为确定',
1385814704 'specialpages-group-developer' => '开发者工具',
1385914705 'group-svnadmins' => 'SVN 管理员',
1386014706 'group-svnadmins-member' => 'SVN 管理员',
Index: branches/wmf/1.17wmf1/extensions/CodeReview/modules/ext.codereview.tooltips.js
@@ -8,11 +8,11 @@
99 if ( !link ) {
1010 return;
1111 }
12 - var matches = link.match( /^\/.*\/Special:Code\/([-A-Za-z\d_]*?)\/(\d+)$/ );
 12+ var matches = link.match( /^\/.*\/Special:Code\/([-A-Za-z\d_]*?)\/(\d+)(#.*)?$/ );
1313 if ( !matches ) {
1414 return;
1515 }
16 -
 16+
1717 function showTooltip() {
1818 var $el = $( this );
1919 if ( $el.data('codeTooltip') ) {
@@ -38,17 +38,19 @@
3939 }
4040 var rev = data.query.coderevisions[0];
4141 var text = rev['*'].length > 82 ? rev['*'].substr(0,80) + '...' : rev['*'];
42 - text = text.replace( /</g, '&lt;' ).replace( />/g, '&gt;' );
 42+ text = mw.html.escape( text );
4343 text = text.replace( /\n/g, '<br/>' );
4444 var status = mw.html.escape( rev.status );
4545 var author = mw.html.escape( rev.author );
4646
47 - var tip = '<div class="mw-codereview-status-' + status + '" style="padding:5px 8px 4px; margin:-5px -8px -4px;">'
48 - + 'r' + matches[2]
49 - + ' [' + status + '] by '
50 - + author
51 - + ( rev['*'] ? ' - ' + text : '' )
52 - + '</div>';
 47+ var tip = '<div class="mw-codereview-status-' + status + '" style="padding:5px 8px 4px; margin:-5px -8px -4px;">';
 48+
 49+ if ( rev['*'] ) {
 50+ tip += mw.msg( 'code-tooltip-withsummary', matches[2], mw.msg( 'code-status-' + status ), author, text );
 51+ } else {
 52+ tip += mw.msg( 'code-tooltip-withoutsummary', matches[2], mw.msg( 'code-status-' + status ), author );
 53+ }
 54+ tip += '</div>';
5355 $el.attr( 'title', tip );
5456 $el.data( 'codeTooltip', true );
5557 if ( !$el.data( 'codeTooltipLeft' ) ) {
@@ -57,7 +59,7 @@
5860 }
5961 );
6062 }
61 -
 63+
6264 // We want to avoid doing API calls just because someone accidentally moves the mouse
6365 // over a link, so we only want to do an API call after the mouse has been on a link
6466 // for 250ms.
@@ -80,7 +82,7 @@
8183 // Clear the running timer
8284 clearTimeout( timerID );
8385 }
84 -
 86+
8587 if ( $el.data( 'codeTooltip' ) || !$el.data( 'codeTooltipLoading' ) ) {
8688 return;
8789 }
Property changes on: branches/wmf/1.17wmf1/extensions/CodeReview/modules/ext.codereview.tooltips.js
___________________________________________________________________
Modified: svn:mergeinfo
8890 Merged /trunk/extensions/CodeReview/modules/ext.codereview.tooltips.js:r85971-86048,86050-86477,86480-87011,87013-93070
Index: branches/wmf/1.17wmf1/extensions/CodeReview/modules/ext.codereview.styles.css
@@ -15,6 +15,12 @@
1616 max-width: 20em;
1717 overflow: hidden;
1818 }
 19+/* @noflip */.sitedir-ltr .TablePager_col_cr_message, .sitedir-ltr .mw-codereview-message {
 20+ direction: ltr;
 21+}
 22+/* @noflip */.sitedir-rtl .TablePager_col_cr_message, .sitedir-rtl .mw-codereview-message {
 23+ direction: rtl;
 24+}
1925
2026 .TablePager_col_cr_timestamp {
2127 white-space: nowrap;
@@ -69,7 +75,6 @@
7076 .mw-codereview-status-fixme:hover td a {
7177 color: #ff0 !important;
7278 }
73 -
7479 .mw-codereview-status-resolved,
7580 .mw-codereview-status-resolved td {
7681 background: #c0ffc0 !important;
@@ -78,7 +83,6 @@
7984 .mw-codereview-status-resolved:hover td {
8085 background: #a0dfa0 !important;
8186 }
82 -
8387 .mw-codereview-status-reverted,
8488 .mw-codereview-status-reverted td {
8589 background: #ddd !important;
@@ -121,6 +125,9 @@
122126 }
123127
124128 /* Diffs */
 129+.mw-codereview-diff {
 130+ /* @noflip */direction: ltr; /* Source code is always LTR */
 131+}
125132 .mw-codereview-diff ins {
126133 text-decoration: none;
127134 color: green;
Index: branches/wmf/1.17wmf1/extensions/CodeReview/modules/ext.codereview.js
@@ -0,0 +1,84 @@
 2+jQuery( function( $ ) {
 3+ // Animate the add-tags input to suggest existing tabs
 4+ $('#wpTag').suggestions( {
 5+ fetch: function( query ) {
 6+ var $this = $(this);
 7+ var doUpdate = function(){
 8+ var currentText = $this.val();
 9+ var currentTags = currentText.split( /, */ );
 10+ var lastTag, doneTags;
 11+ if( currentTags.length == 0 ){
 12+ lastTag = doneTags = '';
 13+ } else {
 14+ lastTag = currentTags.pop();
 15+ doneTags = currentTags.length > 0
 16+ ? currentTags.join( ', ' ) + ', '
 17+ : '';
 18+ }
 19+ var tags = $this.data( 'suggestions' );
 20+
 21+ var suggestions = [];
 22+ for( var i in tags ){
 23+ // Don't suggest a tag that's already been added
 24+ var good = true;
 25+ for( var j in currentTags ){
 26+ if( currentTags[j] === tags[i] ){
 27+ good = false;
 28+ }
 29+ }
 30+ if( good && tags[i].indexOf( lastTag ) != -1 ){
 31+ suggestions.push( doneTags + tags[i] );
 32+ }
 33+ }
 34+
 35+ $this.suggestions( 'suggestions', suggestions );
 36+ };
 37+ if( $(this).data( 'suggestions' ) ){
 38+ doUpdate();
 39+ } else if( $(this).data( 'request' ) ){
 40+ // A request is in progress, we'll get to it eventually
 41+ } else {
 42+ // Need to get the tags from the API
 43+ var request = $.getJSON(
 44+ mw.config.get( 'wgScriptPath' ) + '/api.php',
 45+ {
 46+ action: 'query',
 47+ list: 'codetags',
 48+ ctrepo: mw.config.get( 'wgCodeReviewRepository' ),
 49+ format: 'json'
 50+ },
 51+ function( data ) {
 52+ if ( data && 'query' in data && 'codetags' in data.query ) {
 53+ var d = data.query.codetags;
 54+ var tags = [];
 55+ for ( var i in d ){
 56+ tags.push( d[i].name );
 57+ }
 58+ $this.data( 'suggestions', tags );
 59+ // Go again
 60+ doUpdate();
 61+ }
 62+ }
 63+ );
 64+ }
 65+ $(this).data( 'request', request );
 66+ },
 67+ cancel: function () {
 68+ var request = $(this).data( 'request' );
 69+ // If the delay setting has caused the fetch to have not even happend yet, the request object will
 70+ // have never been set
 71+ if ( request && $.isFunction( request.abort ) ) {
 72+ request.abort();
 73+ $(this).removeData( 'request' );
 74+ }
 75+ },
 76+ delay: 0,
 77+ positionFromLeft: $( 'body' ).hasClass( 'rtl' ),
 78+ highlightInput: true
 79+ } )
 80+ .bind( 'paste cut drop', function( e ) {
 81+ // make sure paste and cut events from the mouse and drag&drop events
 82+ // trigger the keypress handler and cause the suggestions to update
 83+ $( this ).trigger( 'keypress' );
 84+ } );
 85+});
\ No newline at end of file
Index: branches/wmf/1.17wmf1/extensions/CodeReview/api/ApiQueryCodeRevisions.php
@@ -3,8 +3,6 @@
44 /**
55 * Created on July 06, 2010
66 *
7 - * API for MediaWiki 1.8+
8 - *
97 * Copyright © 2010 Sam Reed
108 * Copyright © 2008 Bryan Tong Minh <Bryan.TongMinh@Gmail.com>
119 *
@@ -51,6 +49,10 @@
5250 $data = array();
5351
5452 $listview = new CodeRevisionListView( $repo );
 53+ if ( isset( $params['path'] ) && $params['path'] !== '' ) {
 54+ $listview->mPath = CodeRevisionListView::pathsToArray( $params['path'] );
 55+ }
 56+
5557 $pager = $listview->getPager();
5658
5759 $revsSet = count( $params['revs'] );
@@ -135,6 +137,7 @@
136138 ApiBase::PARAM_MAX => ApiBase::LIMIT_BIG1,
137139 ApiBase::PARAM_MAX2 => ApiBase::LIMIT_BIG2
138140 ),
 141+ 'path' => null,
139142 'start' => array(
140143 ApiBase::PARAM_TYPE => 'integer'
141144 ),
@@ -164,6 +167,7 @@
165168 return array(
166169 'repo' => 'Name of the repository',
167170 'limit' => 'How many revisions to return',
 171+ 'path' => 'Only show revisions in these path(s)',
168172 'start' => 'Timestamp to start listing at',
169173 'revs' => "List of revisions to get information about. Overrides {$p}start",
170174 'prop' => 'Which properties to return',
Index: branches/wmf/1.17wmf1/extensions/CodeReview/api/ApiQueryCodeComments.php
@@ -3,8 +3,6 @@
44 /**
55 * Created on Oct 29, 2008
66 *
7 - * API for MediaWiki 1.8+
8 - *
97 * Copyright © 2008 Bryan Tong Minh <Bryan.TongMinh@Gmail.com>
108 *
119 * This program is free software; you can redistribute it and/or modify
@@ -154,7 +152,7 @@
155153 public function getExamples() {
156154 return array(
157155 'api.php?action=query&list=codecomments&ccrepo=MediaWiki',
158 - 'api.php?action=query&list=codecomments&ccrepo=MediaWiki&ccprop=timestamp|user|revision|text',
 156+ 'api.php?action=query&list=codecomments&ccrepo=MediaWiki&ccprop=timestamp|user|status|text',
159157 );
160158 }
161159
Index: branches/wmf/1.17wmf1/extensions/CodeReview/populateFollowupRevisions.php
@@ -11,7 +11,7 @@
1212 parent::__construct();
1313 $this->mDescription = "Populates followup revisions. Useful for setting them on old revisions, without reimporting";
1414 $this->addArg( 'repo', 'The name of the repo. Cannot be all.' );
15 - $this->addArg( 'revisions', "The revisions to set status for. Format: start:end" );
 15+ $this->addArg( 'revisions', "The revisions to set followups revisions for. Format: start:end" );
1616 $this->addOption( 'dry-run', 'Perform a dry run' );
1717 }
1818
Index: branches/wmf/1.17wmf1/extensions/CodeReview/CodeReview.alias.php
@@ -8,9 +8,7 @@
99
1010 $specialPageAliases = array();
1111
12 -/** English
13 - * @author Brion Vibber
14 - */
 12+/** English (English) */
1513 $specialPageAliases['en'] = array(
1614 'Code' => array( 'Code', 'CodeReview' ),
1715 'RepoAdmin' => array( 'RepoAdmin' ),
@@ -75,6 +73,11 @@
7674 'Code' => array( 'Koodin_katselmointi' ),
7775 );
7876
 77+/** Gagauz (Gagauz) */
 78+$specialPageAliases['gag'] = array(
 79+ 'Code' => array( 'Kod' ),
 80+);
 81+
7982 /** Galician (Galego) */
8083 $specialPageAliases['gl'] = array(
8184 'Code' => array( 'Código' ),
@@ -101,6 +104,17 @@
102105 'Code' => array( 'Žórłowy_tekst' ),
103106 );
104107
 108+/** 湘语 (湘语) */
 109+$specialPageAliases['hsn'] = array(
 110+ 'Code' => array( '编码', '编码审查' ),
 111+);
 112+
 113+/** Haitian (Kreyòl ayisyen) */
 114+$specialPageAliases['ht'] = array(
 115+ 'Code' => array( 'Kòd', 'RevizeKòd' ),
 116+ 'RepoAdmin' => array( 'DepoAdmin' ),
 117+);
 118+
105119 /** Hungarian (Magyar) */
106120 $specialPageAliases['hu'] = array(
107121 'Code' => array( 'Kód' ),
@@ -123,6 +137,11 @@
124138 'RepoAdmin' => array( 'リポジトリ管理' ),
125139 );
126140
 141+/** Georgian (ქართული) */
 142+$specialPageAliases['ka'] = array(
 143+ 'Code' => array( 'კოდი' ),
 144+);
 145+
127146 /** Khmer (ភាសាខ្មែរ) */
128147 $specialPageAliases['km'] = array(
129148 'Code' => array( 'កូដ' ),
@@ -154,6 +173,7 @@
155174 /** Macedonian (Македонски) */
156175 $specialPageAliases['mk'] = array(
157176 'Code' => array( 'ПрограмскиКод', 'Код', 'ПрегледНаКод' ),
 177+ 'RepoAdmin' => array( 'АдминНаСкладиштето' ),
158178 );
159179
160180 /** Malayalam (മലയാളം) */
@@ -221,7 +241,7 @@
222242 /** Turkish (Türkçe) */
223243 $specialPageAliases['tr'] = array(
224244 'Code' => array( 'Kod' ),
225 - 'RepoAdmin' => array( 'RepoHizmetli' ),
 245+ 'RepoAdmin' => array( 'RepoHizmetli', 'RepoYönetici' ),
226246 );
227247
228248 /** Vèneto (Vèneto) */
@@ -234,9 +254,15 @@
235255 'Code' => array( 'Kod' ),
236256 );
237257
 258+/** Vietnamese (Tiếng Việt) */
 259+$specialPageAliases['vi'] = array(
 260+ 'Code' => array( 'Mã_nguồn', 'Mã', 'Duyệt_mã' ),
 261+);
 262+
238263 /** Simplified Chinese (‪中文(简体)‬) */
239264 $specialPageAliases['zh-hans'] = array(
240265 'Code' => array( '代码' ),
 266+ 'RepoAdmin' => array( '信息库管理' ),
241267 );
242268
243269 /** Traditional Chinese (‪中文(繁體)‬) */
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionAuthorLink.php
@@ -81,9 +81,9 @@
8282 '</div>'
8383 );
8484 // Unlink an author to a wiki users
85 - } else if ( $wgRequest->getVal( 'unlink' ) ) {
 85+ } elseif ( $wgRequest->getVal( 'unlink' ) ) {
8686 if ( !$this->mUser ) {
87 - $wgOut->addHTML( wfMsg( 'code-author-orphan' ) );
 87+ $wgOut->addHTML( wfMsg( 'code-author-orphan', $this->authorLink( $this->mAuthor ) ) );
8888 return;
8989 }
9090 $this->mRepo->unlinkUser( $this->mAuthor );
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/WordCloud.php
@@ -86,7 +86,7 @@
8787 */
8888 public function getCloudHtml() {
8989 if( 0 === count( $this->wordsArray ) ) {
90 - return;
 90+ return '';
9191 }
9292 $this->shuffleCloud();
9393 $max = max( $this->wordsArray );
@@ -98,10 +98,16 @@
9999 }
100100 return '<div class="mw-wordcloud">' . $return . '</div>';
101101 }
 102+ return '';
102103 }
103104
104105 /**
105106 * Default text callback for word display
 107+ *
 108+ * @param $word string
 109+ * @param $sizeRange
 110+ *
 111+ * @return string
106112 */
107113 public function defaultTextCallback( $word, $sizeRange ) {
108114 return Html::element( 'span', array(
@@ -128,6 +134,8 @@
129135 /**
130136 * Get the class range using a percentage
131137 *
 138+ * @param $percent
 139+ *
132140 * @return Int
133141 */
134142 private function getClassFromPercent( $percent ) {
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeView.php
@@ -112,7 +112,7 @@
113113 protected $mView;
114114
115115 /**
116 - * @param $view CodeView
 116+ * @param $view CodeView
117117 *
118118 */
119119 function __construct( $view ) {
@@ -151,4 +151,10 @@
152152 $s .= "</tr>\n";
153153 return $s;
154154 }
 155+
 156+ function getStartBody() {
 157+ global $wgOut;
 158+ $wgOut->addModules( 'ext.codereview.overview' );
 159+ return parent::getStartBody();
 160+ }
155161 }
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeCommentsListView.php
@@ -1,39 +1,13 @@
22 <?php
33
4 -// Special:Code/MediaWiki
5 -class CodeCommentsListView extends CodeView {
6 - public $mRepo;
7 -
8 - function __construct( $repo ) {
9 - parent::__construct( $repo );
10 -
11 - global $wgRequest;
12 - $this->mAuthor = $wgRequest->getText( 'author' );
13 - }
14 -
15 - function execute() {
16 - global $wgOut;
17 - $pager = $this->getPager();
18 - $limitForm = $pager->getLimitForm();
19 - $wgOut->addHTML(
20 - $pager->getNavigationBar() .
21 - $limitForm .
22 - $pager->getBody() .
23 - $limitForm .
24 - $pager->getNavigationBar()
25 - );
26 - }
27 -
 4+// Special:Code/MediaWiki/comments
 5+class CodeCommentsListView extends CodeRevisionListView {
286 function getPager() {
297 return new CodeCommentsTablePager( $this );
308 }
31 -
32 - function getRepo() {
33 - return $this->mRepo;
34 - }
359 }
3610
37 -// Pager for CodeRevisionListView
 11+// Pager for CodeCommentsListView
3812 class CodeCommentsTablePager extends SvnTablePager {
3913
4014 function isFieldSortable( $field ) {
@@ -51,9 +25,15 @@
5226 'conds' => array( 'cc_repo_id' => $this->mRepo->getId() ),
5327 'join_conds' => array(
5428 'code_rev' => array( 'LEFT JOIN', 'cc_repo_id = cr_repo_id AND cc_rev_id = cr_id' )
55 - )
 29+ ),
 30+ 'options' => array(),
5631 );
5732
 33+ if( count( $this->mView->mPath ) ) {
 34+ $query['tables'][] = 'code_paths';
 35+ $query['join_conds']['code_paths'] = array( 'INNER JOIN', 'cc_repo_id = cp_repo_id AND cc_rev_id = cp_rev_id' );
 36+ $query['conds']['cp_path'] = $this->mView->mPath;
 37+ }
5838 if( $this->mView->mAuthor ) {
5939 $query['conds']['cc_user_text'] = User::newFromName( $this->mView->mAuthor )->getName();
6040 }
@@ -61,6 +41,14 @@
6242 return $query;
6343 }
6444
 45+ function getCountQuery() {
 46+ $query = $this->getQueryInfo();
 47+
 48+ $query['fields'] = array( 'COUNT( DISTINCT cc_id ) AS rev_count' );
 49+ unset( $query['options']['GROUP BY'] );
 50+ return $query;
 51+ }
 52+
6553 function getFieldNames() {
6654 return array(
6755 'cc_timestamp' => wfMsg( 'code-field-timestamp' ),
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionAuthorView.php
@@ -1,11 +1,11 @@
22 <?php
33
44 class CodeRevisionAuthorView extends CodeRevisionListView {
 5+
56 function __construct( $repo, $author ) {
67 parent::__construct( $repo );
78 $this->mAuthor = $author;
89 $this->mUser = $this->mRepo->authorWikiUser( $author );
9 - $this->mAppliedFilter = wfMsg( 'code-revfilter-cr_author', $author );
1010 }
1111
1212 function getPager() {
@@ -14,7 +14,7 @@
1515
1616 function linkStatus() {
1717 if ( !$this->mUser ) {
18 - return wfMsg( 'code-author-orphan' );
 18+ return wfMsg( 'code-author-orphan', $this->authorLink( $this->mAuthor ) );
1919 }
2020
2121 return wfMsgHtml( 'code-author-haslink',
@@ -34,11 +34,11 @@
3535 wfMsg( 'code-author-' . ( $this->mUser ? 'un':'' ) . 'link' ) ) . ')' ;
3636 }
3737
38 - $repoLink = $wgUser->getSkin()->link( SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() ),
 38+ $repoLink = $this->skin->link( SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() ),
3939 htmlspecialchars( $this->mRepo->getName() ) );
4040 $fields = array(
4141 'code-rev-repo' => $repoLink,
42 - 'code-rev-author' => $this->authorLink( $this->mAuthor ),
 42+ 'code-rev-author' => $this->mAuthor,
4343 );
4444
4545 $wgOut->addHTML( $this->formatMetaData( $fields ) . $linkInfo );
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRepoStatsView.php
@@ -41,22 +41,37 @@
4242 }
4343
4444 if ( !empty( $stats->fixmes ) ) {
45 - $wgOut->wrapWikiMsg( '<h3 id="stats-fixme">$1</h3>', 'code-stats-fixme-breakdown' );
46 - $wgOut->addHTML( '<table class="TablePager">'
47 - . '<tr><th>' . wfMsgHtml( 'code-field-author' ) . '</th><th>'
48 - . wfMsgHtml( 'code-stats-count' ) . '</th></tr>' );
49 - foreach ( $stats->fixmes as $user => $count ) {
50 - $count = htmlspecialchars( $wgLang->formatNum( $count ) );
51 - $link = $this->skin->link(
52 - SpecialPage::getTitleFor( 'Code', $repoName . '/status/fixme' ),
53 - htmlspecialchars( $user ),
54 - array(),
55 - array( 'author' => $user )
56 - );
57 - $wgOut->addHTML( "<tr><td>$link</td>"
58 - . "<td>$count</td></tr>" );
59 - }
60 - $wgOut->addHTML( '</table>' );
 45+ $this->writeAuthorStatusTable( 'fixme', $stats->fixmes );
6146 }
 47+
 48+ if ( !empty( $stats->new ) ) {
 49+ $this->writeAuthorStatusTable( 'new', $stats->new );
 50+ }
6251 }
 52+
 53+ /**
 54+ * @param $status string
 55+ * @param $array array
 56+ */
 57+ function writeAuthorStatusTable( $status, $array ) {
 58+ global $wgOut, $wgLang;
 59+ $repoName = $this->mRepo->getName();
 60+ $wgOut->wrapWikiMsg( "<h3 id=\"stats-{$status}\">$1</h3>", "code-stats-{$status}-breakdown" );
 61+ $wgOut->addHTML( '<table class="TablePager">'
 62+ . '<tr><th>' . wfMsgHtml( 'code-field-author' ) . '</th><th>'
 63+ . wfMsgHtml( 'code-stats-count' ) . '</th></tr>' );
 64+ $title = SpecialPage::getTitleFor( 'Code', $repoName . "/status/{$status}" );
 65+ foreach ( $array as $user => $count ) {
 66+ $count = htmlspecialchars( $wgLang->formatNum( $count ) );
 67+ $link = $this->skin->link(
 68+ $title,
 69+ htmlspecialchars( $user ),
 70+ array(),
 71+ array( 'author' => $user )
 72+ );
 73+ $wgOut->addHTML( "<tr><td>$link</td>"
 74+ . "<td>$count</td></tr>" );
 75+ }
 76+ $wgOut->addHTML( '</table>' );
 77+ }
6378 }
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/SpecialCode.php
@@ -26,7 +26,7 @@
2727 if( $view ) {
2828 $view->execute();
2929 } else {
30 - $wgOut->addWikiText( wfMsg( 'nosuchactiontext' ) );
 30+ $wgOut->addWikiMsg( 'nosuchactiontext' );
3131 $wgOut->returnToMain( null, $this->getTitle() );
3232 return;
3333 }
@@ -50,95 +50,80 @@
5151 private function getViewFrom( $subpage ) {
5252 global $wgRequest;
5353
 54+ // Defines the classes to use for each view type.
 55+ // The first class name is used if no additional parameters are provided.
 56+ // The second, if defined, is used if there is an additional parameter. If
 57+ // there is no second class defined, then the first class is used in both
 58+ // cases.
 59+ static $paramClasses
 60+ = array(
 61+ 'tag' => array( "CodeTagListView", "CodeRevisionTagView" ),
 62+ 'author' => array( "CodeAuthorListView", "CodeRevisionAuthorView" ),
 63+ 'status' => array( "CodeStatusListView", "CodeRevisionStatusView" ),
 64+ 'comments' => array( "CodeCommentsListView" ),
 65+ 'statuschanges' => array( "CodeStatusChangeListView" ),
 66+ 'releasenotes' => array( "CodeReleaseNotes" ),
 67+ 'stats' => array( "CodeRepoStatsView" ),
 68+ );
 69+
5470 # Remove stray slashes
5571 $subpage = preg_replace( '/\/$/', '', $subpage );
5672 if ( $subpage == '' ) {
5773 $view = new CodeRepoListView();
5874 } else {
5975 $params = explode( '/', $subpage );
 76+
 77+ $repo = CodeRepository::newFromName( $params[0] );
 78+ // If a repository was specified, but it does not exist, redirect to the
 79+ // repository list with an appropriate message.
 80+ if ( !$repo ) {
 81+ $view = new CodeRepoListView();
 82+ global $wgOut;
 83+ $wgOut->addWikiMsg( 'code-repo-not-found', wfEscapeWikiText( $params[0] ) );
 84+ return $view;
 85+ }
 86+
6087 switch( count( $params ) ) {
6188 case 1:
62 - $view = new CodeRevisionListView( $params[0] );
 89+ $view = new CodeRevisionListView( $repo );
6390 break;
64 - case 2:
65 - if ( $params[1] === 'tag' ) {
66 - $view = new CodeTagListView( $params[0] );
67 - break;
68 - } elseif ( $params[1] === 'author' ) {
69 - $view = new CodeAuthorListView( $params[0] );
70 - break;
71 - } elseif ( $params[1] === 'stats' ) {
72 - $view = new CodeRepoStatsView( $params[0] );
73 - break;
74 - } elseif ( $params[1] === 'status' ) {
75 - $view = new CodeStatusListView( $params[0] );
76 - break;
77 - } elseif ( $params[1] === 'comments' ) {
78 - $view = new CodeCommentsListView( $params[0] );
79 - break;
80 - } elseif ( $params[1] === 'statuschanges' ) {
81 - $view = new CodeStatusChangeListView( $params[0] );
82 - break;
83 - } elseif ( $params[1] === 'releasenotes' ) {
84 - $view = new CodeReleaseNotes( $params[0] );
85 - break;
86 - } else if ( $wgRequest->wasPosted() && !$wgRequest->getCheck( 'wpPreview' ) ) {
87 - # This is not really a view, but we return it nonetheless.
88 - # Add any tags, Set status, Adds comments
89 - $view = new CodeRevisionCommitter( $params[0], $params[1] );
90 - break;
91 - } else { // revision details
92 - $view = new CodeRevisionView( $params[0], $params[1] );
93 - break;
94 - }
 91+ case 2: // drop through...
9592 case 3:
96 - if ( $params[1] === 'tag' ) {
97 - $view = new CodeRevisionTagView( $params[0], $params[2] );
98 - break;
99 - } elseif ( $params[1] === 'author' ) {
100 - $view = new CodeRevisionAuthorView( $params[0], $params[2] );
101 - break;
102 - } elseif ( $params[1] === 'status' ) {
103 - $view = new CodeRevisionStatusView( $params[0], $params[2] );
104 - break;
105 - } elseif ( $params[1] === 'comments' ) {
106 - $view = new CodeCommentsListView( $params[0] );
107 - break;
108 - } else {
109 - # Nonsense parameters, back out
110 - if ( empty( $params[1] ) ) {
111 - $view = new CodeRevisionListView( $params[0] );
 93+ if ( isset( $paramClasses[$params[1]] ) ) {
 94+ $row = $paramClasses[$params[1]];
 95+ if ( isset( $params[2] ) && isset( $row[1] ) ) {
 96+ $view = new $row[1]( $repo, $params[2] );
11297 } else {
113 - $view = new CodeRevisionView( $params[0], $params[1] );
 98+ $view = new $row[0]( $repo );
11499 }
115 - break;
 100+ } elseif ( $wgRequest->wasPosted() && !$wgRequest->getCheck( 'wpPreview' ) ) {
 101+ # This is not really a view, but we return it nonetheless.
 102+ # Add any tags, Set status, Adds comments
 103+ $view = new CodeRevisionCommitter( $repo, $params[1] );
 104+ } elseif ( empty( $params[1] ) ) {
 105+ $view = new CodeRevisionListView( $repo );
 106+ } else {
 107+ $view = new CodeRevisionView( $repo, $params[1] );
116108 }
 109+ break;
117110 case 4:
118111 if ( $params[1] === 'author' && $params[3] === 'link' ) {
119 - $view = new CodeRevisionAuthorLink( $params[0], $params[2] );
 112+ $view = new CodeRevisionAuthorLink( $repo, $params[2] );
120113 break;
121114 } elseif ( $params[1] === 'comments' ) {
122 - $view = new CodeCommentsAuthorListView( $params[0], $params[3] );
 115+ $view = new CodeCommentsAuthorListView( $repo, $params[3] );
123116 break;
124117 } elseif ( $params[1] === 'statuschanges' ) {
125 - $view = new CodeStatusChangeAuthorListView( $params[0], $params[3] );
 118+ $view = new CodeStatusChangeAuthorListView( $repo, $params[3] );
126119 break;
127120 }
128121 default:
129122 if ( $params[2] == 'reply' ) {
130 - $view = new CodeRevisionView( $params[0], $params[1], $params[3] );
 123+ $view = new CodeRevisionView( $repo, $params[1], $params[3] );
131124 break;
132125 }
133126 return null;
134127 }
135 -
136 - // If a repository was specified, but it does not exist, redirect to the
137 - // repository list with an appropriate message.
138 - if ( !$view->mRepo ) {
139 - $view = new CodeRepoListView();
140 - global $wgOut;
141 - $wgOut->addWikiMsg( 'code-repo-not-found', wfEscapeWikiText( $params[0] ) );
142 - }
143128 }
144129 return $view;
145130 }
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeStatusChangeListView.php
@@ -1,35 +1,13 @@
22 <?php
33
44 // Special:Code/MediaWiki
5 -class CodeStatusChangeListView extends CodeView {
6 - public $mRepo;
7 -
8 - function __construct( $repo ) {
9 - parent::__construct( $repo );
10 -
11 - global $wgRequest;
12 - $this->mAuthor = $wgRequest->getText( 'author' );
13 - }
14 -
15 - function execute() {
16 - global $wgOut;
17 - $pager = $this->getPager();
18 - $limitForm = $pager->getLimitForm();
19 - $wgOut->addHTML(
20 - $pager->getNavigationBar() .
21 - $limitForm .
22 - $pager->getBody() .
23 - $limitForm .
24 - $pager->getNavigationBar()
25 - );
26 - }
27 -
 5+class CodeStatusChangeListView extends CodeRevisionListView {
286 function getPager() {
297 return new CodeStatusChangeTablePager( $this );
308 }
319
32 - function getRepo() {
33 - return $this->mRepo;
 10+ function getRevCount( $dbr ) {
 11+ return -1;
3412 }
3513 }
3614
@@ -40,7 +18,9 @@
4119 return $field == 'cpc_timestamp';
4220 }
4321
44 - function getDefaultSort() { return 'cpc_timestamp'; }
 22+ function getDefaultSort() {
 23+ return 'cpc_timestamp';
 24+ }
4525
4626 function getQueryInfo() {
4727 $query = array(
@@ -49,9 +29,15 @@
5030 'conds' => array( 'cpc_repo_id' => $this->mRepo->getId(), 'cpc_attrib' => 'status' ),
5131 'join_conds' => array(
5232 'code_rev' => array( 'LEFT JOIN', 'cpc_repo_id = cr_repo_id AND cpc_rev_id = cr_id' )
53 - )
 33+ ),
 34+ 'options' => array(),
5435 );
5536
 37+ if( count( $this->mView->mPath ) ) {
 38+ $query['tables'][] = 'code_paths';
 39+ $query['join_conds']['code_paths'] = array( 'INNER JOIN', 'cpc_repo_id = cp_repo_id AND cpc_rev_id = cp_rev_id' );
 40+ $query['conds']['cp_path'] = $this->mView->mPath;
 41+ }
5642 if ( $this->mView->mAuthor ) {
5743 $query['conds']['cpc_user_text'] = User::newFromName( $this->mView->mAuthor )->getName();
5844 }
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionCommitter.php
@@ -29,7 +29,7 @@
3030
3131 // Return to rev page
3232 if ( !$redirTarget ) {
33 - // Was "next & unresolved" clicked?
 33+ // Was "next" (or "save & next") clicked?
3434 if ( $this->jumpToNext ) {
3535 $next = $this->mRev->getNextUnresolved( $this->mPath );
3636 if ( $next ) {
@@ -123,12 +123,12 @@
124124 $wgUser->getName(), $this->mRev->getIdStringUnique(), $this->mRev->getOldStatus(),
125125 $this->mRev->getStatus(), $url, $this->text, $this->mRev->getMessage()
126126 );
127 - } else if ( $statusChanged ) {
 127+ } elseif ( $statusChanged ) {
128128 $this->mRev->emailNotifyUsersOfChanges( 'codereview-email-subj3', 'codereview-email-body3',
129129 $wgUser->getName(), $this->mRev->getIdStringUnique(), $this->mRev->getOldStatus(),
130130 $this->mRev->getStatus(), $url, $this->mRev->getMessage()
131131 );
132 - } else if ( $commentAdded ) {
 132+ } elseif ( $commentAdded ) {
133133 $this->mRev->emailNotifyUsersOfChanges( 'codereview-email-subj', 'codereview-email-body',
134134 $wgUser->getName(), $url, $this->mRev->getIdStringUnique(), $this->text,
135135 $this->mRev->getMessage()
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/SpecialRepoAdmin.php
@@ -148,11 +148,11 @@
149149 Xml::buildForm(
150150 array(
151151 'repoadmin-edit-path' =>
152 - Xml::input( 'wpRepoPath', 60, $repoPath ),
 152+ Xml::input( 'wpRepoPath', 60, $repoPath, array( 'dir' => 'ltr') ),
153153 'repoadmin-edit-bug' =>
154 - Xml::input( 'wpBugPath', 60, $bugPath ),
 154+ Xml::input( 'wpBugPath', 60, $bugPath, array( 'dir' => 'ltr') ),
155155 'repoadmin-edit-view' =>
156 - Xml::input( 'wpViewPath', 60, $viewPath ) ) ) .
 156+ Xml::input( 'wpViewPath', 60, $viewPath, array( 'dir' => 'ltr') ) ) ) .
157157 Html::hidden( 'wpEditToken', $wgUser->editToken( $this->repoName ) ) .
158158 Xml::submitButton( wfMsg( 'repoadmin-edit-button' ) ) .
159159 '</form></fieldset>'
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionListView.php
@@ -9,6 +9,11 @@
1010 public $mPath, $batchForm;
1111
1212 /**
 13+ * @var
 14+ */
 15+ protected $filters = array();
 16+
 17+ /**
1318 * @param $repo CodeRepository|String
1419 */
1520 function __construct( $repo ) {
@@ -18,20 +23,42 @@
1924 $path = $wgRequest->getVal( 'path' );
2025
2126 if ( $path != '' ) {
22 - $this->mPath = array_map( array( $this, 'preparePaths' ), explode( '|', $path ) );
 27+ $this->mPath = self::pathsToArray( $path );
2328 } else {
2429 $this->mPath = array();
2530 }
2631
2732 $this->mAuthor = $wgRequest->getText( 'author' );
28 - $this->mAppliedFilter = null;
 33+ $this->mStatus = $wgRequest->getText( 'status' );
 34+
 35+ if ( $this->mAuthor ) {
 36+ $this->filters[] = wfMsg( 'code-revfilter-cr_author', $this->mAuthor );
 37+ }
 38+ if ( $this->mStatus ) {
 39+ $this->filters[] = wfMsg( 'code-revfilter-cr_status', $this->mStatus );
 40+ }
 41+
 42+ if ( count( $this->filters ) ) {
 43+ global $wgLang;
 44+ $this->mAppliedFilter = $wgLang->listToText( $this->filters );
 45+ } else {
 46+ $this->mAppliedFilter = null;
 47+ }
2948 }
3049
3150 /**
32 - * @param string $path
 51+ * @param $path string
 52+ * @return array
 53+ */
 54+ public static function pathsToArray( $path ) {
 55+ return array_map( array( 'self', 'preparePaths' ), explode( '|', $path ) );
 56+ }
 57+
 58+ /**
 59+ * @param $path string
3360 * @return string
3461 */
35 - function preparePaths( $path ) {
 62+ public static function preparePaths( $path ) {
3663 $path = trim( $path );
3764 $path = rtrim( $path, '/' );
3865 $path = htmlspecialchars( $path );
@@ -64,13 +91,12 @@
6592 return;
6693 }
6794
68 - $pathForm = $this->showForm();
69 -
7095 // Get the total count across all pages
7196 $dbr = wfGetDB( DB_SLAVE );
7297 $revCount = $this->getRevCount( $dbr );
7398
7499 $pager = $this->getPager();
 100+ $pathForm = $this->showForm( $pager );
75101
76102 // Build batch change interface as needed
77103 $this->batchForm = $wgUser->isAllowed( 'codereview-set-status' ) ||
@@ -82,22 +108,30 @@
83109
84110 $wgOut->addHTML(
85111 $navBar .
86 - '<table><tr><td>' . $pager->getLimitForm() . '</td>' .
87 - '<td>&#160;<strong>' . wfMsgHtml( 'code-rev-total', $wgLang->formatNum( $revCount ) ) . '</strong></td>' .
 112+ '<table><tr><td>' . $pager->getLimitForm() . '</td>'
 113+ );
 114+ if ( $revCount !== -1 ) {
 115+ $wgOut->addHTML(
 116+ '<td>&#160;<strong>' . wfMsgHtml( 'code-rev-total', $wgLang->formatNum( $revCount ) ) . '</strong></td>'
 117+ );
 118+ }
 119+
 120+ $wgOut->addHTML(
88121 '</tr></table>' .
89122 Xml::openElement( 'form',
90123 array( 'action' => $pager->getTitle()->getLocalURL(), 'method' => 'post' )
91124 ) .
92125 $pager->getBody() .
93126 //$pager->getLimitDropdown() .
94 - $navBar .
95 - ( $this->batchForm ?
96 - $this->buildBatchInterface( $pager )
97 - : "" ) .
98 - Xml::closeElement( 'form' )
 127+ $navBar
99128 );
 129+ if ( $this->batchForm ) {
 130+ $wgOut->addHTML(
 131+ $this->buildBatchInterface( $pager )
 132+ );
 133+ }
100134
101 - $wgOut->addHTML( $pathForm );
 135+ $wgOut->addHTML( Xml::closeElement( 'form' ) . $pathForm );
102136 }
103137
104138 function doBatchChange() {
@@ -182,35 +216,45 @@
183217 }
184218
185219 /**
 220+ * @param $pager SvnTablePager
 221+ *
186222 * @return string
187223 */
188 - function showForm() {
189 - global $wgScript;
190 - if ( $this->mAuthor ) {
191 - $special = SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() . '/author/' . $this->mAuthor );
192 - } else {
193 - $special = SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() . '/path' );
 224+ function showForm( $pager ) {
 225+ global $wgScript, $wgRequest;
 226+
 227+ $states = CodeRevision::getPossibleStates();
 228+ $name = $this->mRepo->getName();
 229+
 230+ $title = SpecialPage::getTitleFor( 'Code', $name );
 231+ $options = array( Xml::option( '', $title->getPrefixedText(), $this->mStatus == '' ) );
 232+
 233+
 234+ foreach ( $states as $key => $state ) {
 235+ $title = SpecialPage::getTitleFor( 'Code', $name . "/status/$state" );
 236+ $options[] = Xml::option(
 237+ wfMsgHtml( "code-status-$state" ),
 238+ $title->getPrefixedText(),
 239+ $this->mStatus == $state
 240+ );
194241 }
195 -
196 - $ret = Xml::openElement( 'form', array( 'action' => $wgScript, 'method' => 'get' ) ) .
197 - "<fieldset><legend>" . wfMsgHtml( 'code-pathsearch-legend' ) . "</legend>" .
 242+
 243+ $ret = "<fieldset><legend>" . wfMsgHtml( 'code-pathsearch-legend' ) . "</legend>" .
198244 '<table width="100%"><tr><td>' .
199 - Xml::inputlabel( wfMsg( "code-pathsearch-path" ), 'path', 'path', 55, $this->getPathsAsString() ) .
 245+ Xml::openElement( 'form', array( 'action' => $wgScript, 'method' => 'get' ) ) .
 246+ Xml::inputlabel( wfMsg( "code-pathsearch-path" ), 'path', 'path', 55,
 247+ $this->getPathsAsString(), array( 'dir' => 'ltr' ) ) . '&#160;' .
 248+ Xml::label( wfMsg( 'code-pathsearch-filter' ), 'code-status-filter' ) . '&#160;' .
 249+ Xml::openElement( 'select', array( 'id' => 'code-status-filter', 'name' => 'title' ) ) .
 250+ "\n" .
 251+ implode( "\n", $options ) .
 252+ "\n" .
 253+ Xml::closeElement( 'select' ) .
200254 '&#160;' . Xml::submitButton( wfMsg( 'allpagessubmit' ) ) .
201 - '</td>';
 255+ $pager->getHiddenFields( array( 'path', 'title' ) ) .
 256+ Xml::closeElement( 'form' ) .
 257+ '</td></tr></table></fieldset>' ;
202258
203 - if ( strlen( $this->mAppliedFilter ) ) {
204 - $ret .= '<td>' .
205 - Xml::label( wfMsg( 'code-pathsearch-filter' ), 'revFilter' ) . '&#160;<strong>' .
206 - Xml::span( $this->mAppliedFilter, '' ) . '</strong>&#160;' .
207 - Xml::submitButton( wfMsg( 'code-revfilter-clear' ) ) .
208 - '</td>' .
209 - Html::hidden( 'title', SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() ) );
210 - } else {
211 - $ret .= Html::hidden( 'title', $special->getPrefixedDBKey() ) ;
212 - }
213 - $ret .= "</tr></table></fieldset></form>" ;
214 -
215259 return $ret;
216260 }
217261
@@ -292,6 +336,9 @@
293337 if( $this->mView->mAuthor ) {
294338 $query['conds']['cr_author'] = $this->mView->mAuthor;
295339 }
 340+ if( $this->mView->mStatus ) {
 341+ $query['conds']['cr_status'] = $this->mView->mStatus;
 342+ }
296343 return $query;
297344 }
298345
@@ -349,17 +396,32 @@
350397 SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() . '/' . $value ),
351398 htmlspecialchars( $value ),
352399 array(),
353 - $pathQuery
 400+ array()
354401 );
355402 case 'cr_status':
 403+ $options = $pathQuery;
 404+ if ( $this->mView->mAuthor ) {
 405+ $options['author'] = $this->mView->mAuthor;
 406+ }
 407+ $options['status'] = $value;
356408 return $this->mView->skin->link(
357 - SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() . '/status/' . $value ),
 409+ SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() ),
358410 htmlspecialchars( $this->mView->statusDesc( $value ) ),
359411 array(),
360 - $pathQuery
 412+ $options
361413 );
362414 case 'cr_author':
363 - return $this->mView->authorLink( $value, $pathQuery );
 415+ $options = $pathQuery;
 416+ if ( $this->mView->mStatus ) {
 417+ $options['status'] = $this->mView->mStatus;
 418+ }
 419+ $options['author'] = $value;
 420+ return $this->mView->skin->link(
 421+ SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() ),
 422+ htmlspecialchars( $value ),
 423+ array(),
 424+ $options
 425+ );
364426 case 'cr_message':
365427 return $this->mView->messageFragment( $value );
366428 case 'cr_timestamp':
@@ -374,16 +436,21 @@
375437 }
376438 case 'cr_path':
377439 $title = $this->mRepo->getName();
 440+
 441+ $options = array( 'path' => (string)$value );
378442 if( $this->mView->mAuthor ) {
379 - $title .= '/author/' . $this->mView->mAuthor;
 443+ $options['author'] = $this->mView->mAuthor;
380444 }
 445+ if ( $this->mView->mStatus ) {
 446+ $options['status'] = $this->mView->mStatus;
 447+ }
381448
382 - return Xml::openElement( 'div', array( 'title' => (string)$value ) ) .
 449+ return Xml::openElement( 'div', array( 'title' => (string)$value, 'dir' => 'ltr' ) ) .
383450 $this->mView->skin->link(
384451 SpecialPage::getTitleFor( 'Code', $title ),
385452 $wgLang->truncate( (string)$value, 50 ),
386453 array( 'title' => (string)$value ),
387 - array( 'path' => (string)$value )
 454+ $options
388455 ) . "</div>";
389456 }
390457 }
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionTagView.php
@@ -2,8 +2,12 @@
33
44 class CodeRevisionTagView extends CodeRevisionListView {
55 function __construct( $repo, $tag ) {
 6+ $this->mTag = $tag;
 7+
 8+ if ( $this->mTag ) {
 9+ $this->filters[] = wfMsg( 'code-revfilter-ct_tag', $this->mTag );
 10+ }
611 parent::__construct( $repo );
7 - $this->mTag = $tag;
812 }
913
1014 function getPager() {
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionView.php
@@ -9,7 +9,6 @@
1010 * @param string|CodeRepository $repo
1111 * @param string|CodeRevision $rev
1212 * @param null $replyTarget
13 - *
1413 */
1514 function __construct( $repo, $rev, $replyTarget = null ) {
1615 parent::__construct( $repo );
@@ -35,7 +34,7 @@
3635 $this->mAddTags = $wgRequest->getText( 'wpTag' );
3736 $this->mRemoveTags = $wgRequest->getText( 'wpRemoveTag' );
3837 $this->mStatus = $wgRequest->getText( 'wpStatus' );
39 - $this->jumpToNext = $wgRequest->getCheck( 'wpSaveAndNext' );
 38+ $this->jumpToNext = $wgRequest->getCheck( 'wpSaveAndNext' ) || $wgRequest->getCheck( 'wpNext' );
4039 $this->mReplyTarget = $replyTarget ?
4140 (int)$replyTarget : $wgRequest->getIntOrNull( 'wpParent' );
4241 $this->text = $wgRequest->getText( "wpReply{$this->mReplyTarget}" );
@@ -57,6 +56,10 @@
5857 $wgRequest->getIntArray( 'wpReferences', array() ) : array();
5958 }
6059
 60+ /**
 61+ * @param $item string
 62+ * @return int
 63+ */
6164 private function ltrimIntval( $item ) {
6265 $item = ltrim( $item, 'r' );
6366 return intval( $item );
@@ -106,7 +109,7 @@
107110 $paths .= $this->formatPathLine( $row->cp_path, $row->cp_action );
108111 }
109112 if ( $paths ) {
110 - $paths = "<div class='mw-codereview-paths'><ul>\n$paths</ul></div>\n";
 113+ $paths = "<div class='mw-codereview-paths mw-content-ltr'><ul>\n$paths</ul></div>\n";
111114 }
112115 $comments = $this->formatComments();
113116 $commentsLink = "";
@@ -120,7 +123,8 @@
121124 'code-rev-author' => $this->authorLink( $this->mRev->getAuthor() ),
122125 'code-rev-status' => $this->statusForm() . $commentsLink,
123126 'code-rev-tags' => $this->tagForm(),
124 - 'code-rev-message' => $this->formatMessage( $this->mRev->getMessage() ),
 127+ 'code-rev-message' => Html::rawElement( 'div', array( 'class' => 'mw-codereview-message' ),
 128+ $this->formatMessage( $this->mRev->getMessage() ) ),
125129 'code-rev-paths' => $paths,
126130 );
127131 $special = SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() . '/' . $this->mRev->getId() );
@@ -152,7 +156,7 @@
153157 $html .=
154158 "<h2>" . wfMsgHtml( 'code-rev-diff' ) .
155159 ' <small>[' . $this->skin->makeLinkObj( $special,
156 - wfMsg( 'code-rev-purge-link' ), 'action=purge' ) . ']</small></h2>' .
 160+ wfMsgHtml( 'code-rev-purge-link' ), 'action=purge' ) . ']</small></h2>' .
157161 "<div class='mw-codereview-diff' id='mw-codereview-diff'>" . $diffHtml . "</div>\n";
158162 $html .= $this->formatImgDiff();
159163 }
@@ -213,7 +217,7 @@
214218 if ( $viewvc ) {
215219 $url = htmlspecialchars( "$viewvc/?view=rev&revision=$rev" );
216220 $viewvcTxt = wfMsgHtml( 'code-rev-rev-viewvc' );
217 - $revText .= " (<a href=\"$url\" title=\"revision $rev\">$viewvcTxt</a>)";
 221+ $revText .= " (<a href=\"$url\" title=\"revision $rev\">$viewvcTxt</a>)".wfUILang()->getDirMark();
218222 }
219223 $links[] = $revText;
220224
@@ -240,6 +244,9 @@
241245 return false;
242246 }
243247
 248+ /**
 249+ * @return bool
 250+ */
244251 protected function canPostComments() {
245252 global $wgUser;
246253 return $wgUser->isAllowed( 'codereview-post-comment' ) && !$wgUser->isBlocked();
@@ -282,14 +289,20 @@
283290 if ( $viewvc ) {
284291 $rev = $this->mRev->getId();
285292 $prev = $rev - 1;
286 - if ( $action !== 'D' ) {
 293+ if ( $action === 'd' ) {
 294+ if ( $rev > 1 ) {
 295+ $link = $this->skin->makeExternalLink( // last rev
 296+ "{$viewvc}{$safePath}?view=markup&pathrev=".($rev-1),
 297+ $path . $from );
 298+ } else {
 299+ $link = $safePath; // imported to SVN or something
 300+ }
 301+ } else {
287302 $link = $this->skin->makeExternalLink(
288 - "$viewvc$safePath?view=markup&pathrev=$rev",
 303+ "{$viewvc}{$safePath}?view=markup&pathrev=$rev",
289304 $path . $from );
290 - } else {
291 - $link = $safePath;
292305 }
293 - if ( $action !== 'A' && $action !== 'D' ) {
 306+ if ( $action !== 'a' && $action !== 'd' ) {
294307 $diff = ' (' .
295308 $this->skin->makeExternalLink(
296309 "$viewvc$safePath?&pathrev=$rev&r1=$prev&r2=$rev",
@@ -332,6 +345,10 @@
333346 return $tags;
334347 }
335348
 349+ /**
 350+ * @param $tags array
 351+ * @return string
 352+ */
336353 static function listTags( $tags ) {
337354 if ( empty( $tags ) ) {
338355 return "";
@@ -339,6 +356,9 @@
340357 return implode( ",", $tags );
341358 }
342359
 360+ /**
 361+ * @return string
 362+ */
343363 protected function statusForm() {
344364 global $wgUser;
345365 if ( $wgUser->isAllowed( 'codereview-set-status' ) ) {
@@ -366,7 +386,12 @@
367387 return $out;
368388 }
369389
370 - /** Parameters are the tags to be added/removed sent with the request */
 390+ /**
 391+ * Parameters are the tags to be added/removed sent with the request
 392+ * @param $addTags array
 393+ * @param $removeTags array
 394+ * @return string
 395+ */
371396 static function addTagForm( $addTags, $removeTags ) {
372397 return '<div><table><tr><td>' .
373398 Xml::inputLabel( wfMsg( 'code-rev-tag-add' ), 'wpTag', 'wpTag', 20,
@@ -375,12 +400,19 @@
376401 self::listTags( $removeTags ) ) . '</td></tr></table></div>';
377402 }
378403
 404+ /**
 405+ * @param $tag string
 406+ * @return string
 407+ */
379408 protected function formatTag( $tag ) {
380409 $repo = $this->mRepo->getName();
381410 $special = SpecialPage::getTitleFor( 'Code', "$repo/tag/$tag" );
382411 return $this->skin->link( $special, htmlspecialchars( $tag ) );
383412 }
384413
 414+ /**
 415+ * @return string
 416+ */
385417 protected function formatDiff() {
386418 global $wgEnableAPI, $wgCodeReviewMaxDiffSize;
387419
@@ -413,6 +445,9 @@
414446 }
415447 }
416448
 449+ /**
 450+ * @return string
 451+ */
417452 protected function formatImgDiff() {
418453 global $wgCodeReviewImgRegex;
419454 // Get image diffs
@@ -445,6 +480,12 @@
446481 return $html;
447482 }
448483
 484+ /**
 485+ * @param $path
 486+ * @param $rev
 487+ * @param $message
 488+ * @return string
 489+ */
449490 protected function formatImgCell( $path, $rev, $message ) {
450491 $viewvc = $this->mRepo->getViewVcBase();
451492 $safePath = wfUrlEncode( $path );
@@ -464,6 +505,9 @@
465506 'border' => '0' ) ) ) );
466507 }
467508
 509+ /**
 510+ * @return bool|string
 511+ */
468512 protected function stubDiffLoader() {
469513 global $wgOut;
470514 $encRepo = Xml::encodeJsVar( $this->mRepo->getName() );
@@ -477,9 +521,10 @@
478522 );" );
479523 return wfMsg( 'code-load-diff' );
480524 }
481 -
 525+
482526 /**
483527 * Format the sign-offs table
 528+ * @param $signOffs array
484529 * @param $showButtons bool Whether the buttons to strike and submit sign-offs should be shown
485530 * @return string HTML
486531 */
@@ -500,6 +545,9 @@
501546 return "<table border='1' class='TablePager'><tr>$header</tr>$signoffs$buttonrow</table>";
502547 }
503548
 549+ /**
 550+ * @return bool|string
 551+ */
504552 protected function formatComments() {
505553 $comments = implode( "\n",
506554 array_map( array( $this, 'formatCommentInline' ), $this->mRev->getComments() )
@@ -513,6 +561,9 @@
514562 return "<div class='mw-codereview-comments'>$comments</div>";
515563 }
516564
 565+ /**
 566+ * @return bool|string
 567+ */
517568 protected function formatPropChanges() {
518569 $changes = implode( "\n",
519570 array_map( array( $this, 'formatChangeInline' ), $this->mRev->getPropChanges() )
@@ -523,6 +574,11 @@
524575 return "<ul class='mw-codereview-changes'>$changes</ul>";
525576 }
526577
 578+ /**
 579+ * @param $references array
 580+ * @param $showButtons bool
 581+ * @return string
 582+ */
527583 protected function formatReferences( $references, $showButtons ) {
528584 $this->showButtonsFormatReference = $showButtons;
529585 $refs = implode( "\n",
@@ -583,7 +639,7 @@
584640 }
585641
586642 /**
587 - * @param $change CodePropChange
 643+ * @param $change CodePropChange
588644 * @return string
589645 */
590646 protected function formatChangeInline( $change ) {
@@ -603,7 +659,7 @@
604660 $line .= wfMsgHtml( 'code-status-' . $change->removed );
605661 $line .= $change->added ? "&#160;" : ""; // spacing
606662 // Tag changes
607 - } else if ( $change->attrib == 'tags' ) {
 663+ } elseif ( $change->attrib == 'tags' ) {
608664 $line .= htmlspecialchars( $change->removed );
609665 $line .= $change->added ? "&#160;" : ""; // spacing
610666 }
@@ -623,6 +679,10 @@
624680 return "<li>$line</li>";
625681 }
626682
 683+ /**
 684+ * @param $row
 685+ * @return string
 686+ */
627687 protected function formatReferenceInline( $row ) {
628688 global $wgLang;
629689 $rev = intval( $row->cr_id );
@@ -644,6 +704,10 @@
645705 return $ret;
646706 }
647707
 708+ /**
 709+ * @param $commentId int
 710+ * @return Title
 711+ */
648712 protected function commentLink( $commentId ) {
649713 $repo = $this->mRepo->getName();
650714 $rev = $this->mRev->getId();
@@ -652,6 +716,9 @@
653717 return $title;
654718 }
655719
 720+ /**
 721+ * @return Title
 722+ */
656723 protected function revLink() {
657724 $repo = $this->mRepo->getName();
658725 $rev = $this->mRev->getId();
@@ -659,6 +726,11 @@
660727 return $title;
661728 }
662729
 730+ /**
 731+ * @param $text string
 732+ * @param $review int
 733+ * @return string
 734+ */
663735 protected function previewComment( $text, $review = 0 ) {
664736 $comment = $this->mRev->previewComment( $text, $review );
665737 return $this->formatComment( $comment );
@@ -670,7 +742,7 @@
671743 * @return string
672744 */
673745 protected function formatComment( $comment, $replyForm = '' ) {
674 - global $wgOut, $wgLang;
 746+ global $wgOut, $wgLang, $wgContLang;
675747
676748 if ( $comment->id === 0 ) {
677749 $linkId = 'cpreview';
@@ -680,6 +752,10 @@
681753 $permaLink = $this->skin->link( $this->commentLink( $comment->id ), "#" );
682754 }
683755
 756+ $popts = $wgOut->parserOptions();
 757+ $popts->setEditSection( false );
 758+ $wgOut->parserOptions( $popts );
 759+
684760 return Xml::openElement( 'div',
685761 array(
686762 'class' => 'mw-codereview-comment',
@@ -695,7 +771,7 @@
696772 ' ' .
697773 $this->commentReplyLink( $comment->id ) .
698774 '</div>' .
699 - '<div class="mw-codereview-comment-text">' .
 775+ '<div class="mw-codereview-comment-text mw-content-' . $wgContLang->getDir() . '">' .
700776 $wgOut->parse( $this->codeCommentLinkerWiki->link( $comment->text ) ) .
701777 '</div>' .
702778 $replyForm .
@@ -707,13 +783,20 @@
708784 * @return string
709785 */
710786 protected function commentStyle( $comment ) {
 787+ $align = wfUILang()->AlignStart();
711788 $depth = $comment->threadDepth();
712789 $margin = ( $depth - 1 ) * 48;
713 - return "margin-left: ${margin}px";
 790+ return "margin-$align: ${margin}px";
714791 }
715792
 793+ /**
 794+ * @param $id int
 795+ * @return string
 796+ */
716797 protected function commentReplyLink( $id ) {
717 - if ( !$this->canPostComments() ) return '';
 798+ if ( !$this->canPostComments() ) {
 799+ return '';
 800+ }
718801 $repo = $this->mRepo->getName();
719802 $rev = $this->mRev->getId();
720803 $self = SpecialPage::getTitleFor( 'Code', "$repo/$rev/reply/$id" );
@@ -754,11 +837,15 @@
755838 /**
756839 * Render the bottom row of the sign-offs table containing the buttons to
757840 * strike and submit sign-offs
 841+ *
 842+ * @param $signOffs array
758843 * @return string HTML
759844 */
760845 protected function signoffButtons( $signOffs ) {
761846 $userSignOffs = $this->getUserSignoffs( $signOffs );
762 - $strikeButton = Xml::submitButton( wfMsg( 'code-signoff-strike' ), array( 'name' => 'wpStrikeSignoffs' ) );
 847+ $strikeButton = count( $userSignOffs )
 848+ ? Xml::submitButton( wfMsg( 'code-signoff-strike' ), array( 'name' => 'wpStrikeSignoffs' ) )
 849+ : '';
763850 $signoffText = wfMsgHtml( 'code-signoff-signoff' );
764851 $signoffButton = Xml::submitButton( wfMsg( 'code-signoff-submit' ), array( 'name' => 'wpSignoff' ) );
765852 $checks = '';
@@ -771,7 +858,7 @@
772859 ) ) .
773860 ' ' . Xml::label( wfMsg( "code-signoff-flag-$flag" ), "wpSignoffFlags-$flag" ) . ' ';
774861 }
775 - return "<tr class='mw-codereview-signoffbuttons'><td colspan='4'>$strikeButton " .
 862+ return "<tr class='mw-codereview-signoffbuttons'><td colspan='4'>$strikeButton " .
776863 "<div class='mw-codereview-signoffchecks'>$signoffText $checks $signoffButton</div></td></tr>";
777864 }
778865
@@ -807,6 +894,9 @@
808895 "<div class='mw-codereview-associateform'>$associateText $textbox $associateButton</div></td></tr>";
809896 }
810897
 898+ /**
 899+ * @return string
 900+ */
811901 protected function addActionButtons() {
812902 return '<div>' .
813903 Xml::submitButton( wfMsg( 'code-rev-submit' ),
@@ -817,6 +907,10 @@
818908 array( 'name' => 'wpSaveAndNext',
819909 'accesskey' => wfMsg( 'code-rev-submit-next-accesskey' ) )
820910 ) . ' ' .
 911+ Xml::submitButton( wfMsg( 'code-rev-next' ),
 912+ array( 'name' => 'wpNext',
 913+ 'accesskey' => wfMsg( 'code-rev-next-accesskey' ) )
 914+ ) . ' ' .
821915 Xml::submitButton( wfMsg( 'code-rev-comment-preview' ),
822916 array( 'name' => 'wpPreview',
823917 'accesskey' => wfMsg( 'code-rev-comment-preview-accesskey' ) )
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeReleaseNotes.php
@@ -99,7 +99,7 @@
100100 if ( preg_match( '/(^|\n) ?\*/', $summary ) ) {
101101 $blurbs = explode( '*', $summary );
102102 # Double newlines separate importance generally
103 - } else if ( strpos( $summary, "\n\n" ) !== false ) {
 103+ } elseif ( strpos( $summary, "\n\n" ) !== false ) {
104104 $blurbs = explode( "\n\n", $summary );
105105 } else {
106106 return trim( $summary );
@@ -121,7 +121,7 @@
122122 if ( $header && $first && count( $summary ) == 0 ) {
123123 $summary[] = $this->shortenSummary( $blurb, true );
124124 # Is this bit important? Does it mention a revision?
125 - } else if ( $this->isRelevant( $blurb ) || preg_match( '/\br(\d+)\b/', $blurb ) ) {
 125+ } elseif ( $this->isRelevant( $blurb ) || preg_match( '/\br(\d+)\b/', $blurb ) ) {
126126 $bit = $this->shortenSummary( $blurb, false );
127127 if ( $bit ) $summary[] = $bit;
128128 }
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRepoListView.php
@@ -37,29 +37,31 @@
3838 public static function getNavItem( $repo ) {
3939 global $wgLang, $wgUser;
4040 $name = $repo->getName();
41 - $links[] = "[[Special:Code/$name/comments|" . wfMsgHtml( 'code-notes' ) . "]]";
42 - $links[] = "[[Special:Code/$name/statuschanges|" . wfMsgHtml( 'code-statuschanges' ) . "]]";
 41+
 42+ $code = SpecialPage::getTitleFor( 'Code', $name );
 43+ $links[] = "[[$code/comments|" . wfMsgHtml( 'code-notes' ) . "]]";
 44+ $links[] = "[[$code/statuschanges|" . wfMsgHtml( 'code-statuschanges' ) . "]]";
4345 if ( $wgUser->getId() ) {
4446 $author = $repo->wikiUserAuthor( $wgUser->getName() );
4547 if ( $author !== false ) {
46 - $links[] = "[[Special:Code/$name/author/$author|" . wfMsgHtml( 'code-mycommits' ) . "]]";
 48+ $links[] = "[[$code/author/$author|" . wfMsgHtml( 'code-mycommits' ) . "]]";
4749 }
4850 }
4951
5052 if ( $wgUser->isAllowed( 'codereview-post-comment' ) ) {
5153 $userName = $wgUser->getName();
52 - $links[] = "[[Special:Code/$name/comments/author/$userName|" . wfMsgHtml( 'code-mycomments' ) . "]]";
 54+ $links[] = "[[$code/comments/author/$userName|" . wfMsgHtml( 'code-mycomments' ) . "]]";
5355 }
5456
55 - $links[] = "[[Special:Code/$name/tag|" . wfMsgHtml( 'code-tags' ) . "]]";
56 - $links[] = "[[Special:Code/$name/author|" . wfMsgHtml( 'code-authors' ) . "]]";
57 - $links[] = "[[Special:Code/$name/status|" . wfMsgHtml( 'code-status' ) . "]]";
58 - $links[] = "[[Special:Code/$name/releasenotes|" . wfMsgHtml( 'code-releasenotes' ) . "]]";
59 - $links[] = "[[Special:Code/$name/stats|" . wfMsgHtml( 'code-stats' ) . "]]";
 57+ $links[] = "[[$code/tag|" . wfMsgHtml( 'code-tags' ) . "]]";
 58+ $links[] = "[[$code/author|" . wfMsgHtml( 'code-authors' ) . "]]";
 59+ $links[] = "[[$code/status|" . wfMsgHtml( 'code-status' ) . "]]";
 60+ $links[] = "[[$code/releasenotes|" . wfMsgHtml( 'code-releasenotes' ) . "]]";
 61+ $links[] = "[[$code/stats|" . wfMsgHtml( 'code-stats' ) . "]]";
6062 if( $wgUser->isAllowed( 'repoadmin' ) ) {
6163 $links[] = "[[Special:RepoAdmin/$name|" . wfMsgHtml( 'repoadmin-nav' ) . "]]";
6264 }
63 - $text = "'''[[Special:Code/$name|$name]]''' " . wfMsg( 'parentheses', $wgLang->pipeList( $links ) );
 65+ $text = "'''[[$code|$name]]''' " . wfMsg( 'parentheses', $wgLang->pipeList( $links ) );
6466 return $text;
6567 }
6668 }
Index: branches/wmf/1.17wmf1/extensions/CodeReview/ui/CodeRevisionStatusView.php
@@ -4,7 +4,6 @@
55 function __construct( $repo, $status ) {
66 parent::__construct( $repo );
77 $this->mStatus = $status;
8 - $this->mAppliedFilter = wfMsg( 'code-revfilter-cr_status', $status );
98 }
109
1110 function getPager() {
Property changes on: branches/wmf/1.17wmf1/extensions/CodeReview
___________________________________________________________________
Modified: svn:mergeinfo
1211 Merged /trunk/extensions/CodeReview:r85971-86048,86050-87011,87013-88583,88585-93070
1312 Merged /:r91549

Follow-up revisions

RevisionCommit summaryAuthorDate
r93073svn merge missed the adds? Stupid svn :(demon17:34, 25 July 2011
r93074svn:eol-style native for r93073reedy17:39, 25 July 2011

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r93046Fix message fail from r92943reedy09:18, 25 July 2011

Status & tagging log