Index: branches/wmf-deployment/maintenance/cleanupTable.inc |
— | — | @@ -91,19 +91,20 @@ |
92 | 92 | flush(); |
93 | 93 | } |
94 | 94 | |
95 | | - protected function runTable( $table, $where, $callback ) { |
96 | | - $dbw = wfGetDB( DB_MASTER ); |
97 | | - |
98 | | - $count = $dbw->selectField( $table, 'count(*)', '', __METHOD__ ); |
| 95 | + public function runTable( $params ) { |
| 96 | + $dbr = wfGetDB( DB_SLAVE ); |
| 97 | + |
| 98 | + if ( array_diff( array_keys( $params ), |
| 99 | + array( 'table', 'conds', 'index', 'callback' ) ) ) |
| 100 | + { |
| 101 | + throw new MWException( __METHOD__.': Missing parameter ' . implode( ', ', $params ) ); |
| 102 | + } |
| 103 | + |
| 104 | + $table = $params['table']; |
| 105 | + $count = $dbr->selectField( $table, 'count(*)', $params['conds'], __METHOD__ ); |
99 | 106 | $this->init( $count, $table ); |
100 | 107 | $this->output( "Processing $table...\n" ); |
101 | 108 | |
102 | | - // Unbuffered queries, avoids OOM |
103 | | - $dbw->bufferResults( false ); |
104 | | - |
105 | | - $tableName = $dbw->tableName( $table ); |
106 | | - $sql = "SELECT * FROM $tableName $where"; |
107 | | - $result = $dbw->query( $sql, __METHOD__ ); |
108 | 109 | |
109 | 110 | $index = (array)$params['index']; |
110 | 111 | $indexConds = array(); |
Index: branches/wmf-deployment/includes/diff/DifferenceInterface.php |
— | — | @@ -0,0 +1,2144 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * @defgroup DifferenceEngine DifferenceEngine |
| 5 | + */ |
| 6 | + |
| 7 | +/** |
| 8 | + * Constant to indicate diff cache compatibility. |
| 9 | + * Bump this when changing the diff formatting in a way that |
| 10 | + * fixes important bugs or such to force cached diff views to |
| 11 | + * clear. |
| 12 | + */ |
| 13 | +define( 'MW_DIFF_VERSION', '1.11a' ); |
| 14 | +/** |
| 15 | + * @todo document |
| 16 | + * @ingroup DifferenceEngine |
| 17 | + */ |
| 18 | +class DifferenceEngine { |
| 19 | + /**#@+ |
| 20 | + * @private |
| 21 | + */ |
| 22 | + var $mOldid, $mNewid, $mTitle; |
| 23 | + var $mOldtitle, $mNewtitle, $mPagetitle; |
| 24 | + var $mOldtext, $mNewtext; |
| 25 | + var $mOldPage, $mNewPage; |
| 26 | + var $mRcidMarkPatrolled; |
| 27 | + var $mOldRev, $mNewRev; |
| 28 | + var $mRevisionsLoaded = false; // Have the revisions been loaded |
| 29 | + var $mTextLoaded = 0; // How many text blobs have been loaded, 0, 1 or 2? |
| 30 | + var $mCacheHit = false; // Was the diff fetched from cache? |
| 31 | + var $htmldiff; |
| 32 | + /** |
| 33 | + * Set this to true to add debug info to the HTML output. |
| 34 | + * Warning: this may cause RSS readers to spuriously mark articles as "new" |
| 35 | + * (bug 20601) |
| 36 | + */ |
| 37 | + var $enableDebugComment = false; |
| 38 | + // If true, line X is not displayed when X is 1, for example to increase |
| 39 | + // readability and conserve space with many small diffs. |
| 40 | + protected $mReducedLineNumbers = false; |
| 41 | + protected $unhide = false; |
| 42 | + /**#@-*/ |
| 43 | + /** |
| 44 | + * Constructor |
| 45 | + * @param $titleObj Title object that the diff is associated with |
| 46 | + * @param $old Integer: old ID we want to show and diff with. |
| 47 | + * @param $new String: either 'prev' or 'next'. |
| 48 | + * @param $rcid Integer: ??? FIXME (default 0) |
| 49 | + * @param $refreshCache boolean If set, refreshes the diff cache |
| 50 | + * @param $htmldiff boolean If set, output using HTMLDiff instead of raw wikicode diff |
| 51 | + * @param $unhide boolean If set, allow viewing deleted revs |
| 52 | + */ |
| 53 | + function __construct( $titleObj = null, $old = 0, $new = 0, $rcid = 0, |
| 54 | + $refreshCache = false, $htmldiff = false, $unhide = false ) |
| 55 | + { |
| 56 | + if ( $titleObj ) { |
| 57 | + $this->mTitle = $titleObj; |
| 58 | + } else { |
| 59 | + global $wgTitle; |
| 60 | + $this->mTitle = $wgTitle; |
| 61 | + } |
| 62 | + wfDebug("DifferenceEngine old '$old' new '$new' rcid '$rcid'\n"); |
| 63 | + if ( 'prev' === $new ) { |
| 64 | + # Show diff between revision $old and the previous one. |
| 65 | + # Get previous one from DB. |
| 66 | + $this->mNewid = intval($old); |
| 67 | + $this->mOldid = $this->mTitle->getPreviousRevisionID( $this->mNewid ); |
| 68 | + } elseif ( 'next' === $new ) { |
| 69 | + # Show diff between revision $old and the next one. |
| 70 | + # Get next one from DB. |
| 71 | + $this->mOldid = intval($old); |
| 72 | + $this->mNewid = $this->mTitle->getNextRevisionID( $this->mOldid ); |
| 73 | + if ( false === $this->mNewid ) { |
| 74 | + # if no result, NewId points to the newest old revision. The only newer |
| 75 | + # revision is cur, which is "0". |
| 76 | + $this->mNewid = 0; |
| 77 | + } |
| 78 | + } else { |
| 79 | + $this->mOldid = intval($old); |
| 80 | + $this->mNewid = intval($new); |
| 81 | + wfRunHooks( 'NewDifferenceEngine', array(&$titleObj, &$this->mOldid, &$this->mNewid, $old, $new) ); |
| 82 | + } |
| 83 | + $this->mRcidMarkPatrolled = intval($rcid); # force it to be an integer |
| 84 | + $this->mRefreshCache = $refreshCache; |
| 85 | + $this->htmldiff = $htmldiff; |
| 86 | + $this->unhide = $unhide; |
| 87 | + } |
| 88 | + function setReducedLineNumbers( $value = true ) { |
| 89 | + $this->mReducedLineNumbers = $value; |
| 90 | + } |
| 91 | + function getTitle() { |
| 92 | + return $this->mTitle; |
| 93 | + } |
| 94 | + |
| 95 | + function wasCacheHit() { |
| 96 | + return $this->mCacheHit; |
| 97 | + } |
| 98 | + |
| 99 | + function getOldid() { |
| 100 | + return $this->mOldid; |
| 101 | + } |
| 102 | + |
| 103 | + function getNewid() { |
| 104 | + return $this->mNewid; |
| 105 | + } |
| 106 | + function showDiffPage( $diffOnly = false ) { |
| 107 | + global $wgUser, $wgOut, $wgUseExternalEditor, $wgUseRCPatrol, $wgEnableHtmlDiff; |
| 108 | + wfProfileIn( __METHOD__ ); |
| 109 | + |
| 110 | + # If external diffs are enabled both globally and for the user, |
| 111 | + # we'll use the application/x-external-editor interface to call |
| 112 | + # an external diff tool like kompare, kdiff3, etc. |
| 113 | + if($wgUseExternalEditor && $wgUser->getOption('externaldiff')) { |
| 114 | + global $wgInputEncoding,$wgServer,$wgScript,$wgLang; |
| 115 | + $wgOut->disable(); |
| 116 | + header ( "Content-type: application/x-external-editor; charset=".$wgInputEncoding ); |
| 117 | + $url1=$this->mTitle->getFullURL( array( |
| 118 | + 'action' => 'raw', |
| 119 | + 'oldid' => $this->mOldid |
| 120 | + ) ); |
| 121 | + $url2=$this->mTitle->getFullURL( array( |
| 122 | + 'action' => 'raw', |
| 123 | + 'oldid' => $this->mNewid |
| 124 | + ) ); |
| 125 | + $special=$wgLang->getNsText(NS_SPECIAL); |
| 126 | + $control=<<<CONTROL |
| 127 | + [Process] |
| 128 | + Type=Diff text |
| 129 | + Engine=MediaWiki |
| 130 | + Script={$wgServer}{$wgScript} |
| 131 | + Special namespace={$special} |
| 132 | + [File] |
| 133 | + Extension=wiki |
| 134 | + URL=$url1 |
| 135 | + [File 2] |
| 136 | + Extension=wiki |
| 137 | + URL=$url2 |
| 138 | +CONTROL; |
| 139 | + echo($control); |
| 140 | + return; |
| 141 | + } |
| 142 | + $wgOut->setArticleFlag( false ); |
| 143 | + if ( !$this->loadRevisionData() ) { |
| 144 | + $t = $this->mTitle->getPrefixedText(); |
| 145 | + $d = wfMsgExt( 'missingarticle-diff', array( 'escape' ), $this->mOldid, $this->mNewid ); |
| 146 | + $wgOut->setPagetitle( wfMsg( 'errorpagetitle' ) ); |
| 147 | + $wgOut->addWikiMsg( 'missing-article', "<nowiki>$t</nowiki>", $d ); |
| 148 | + wfProfileOut( __METHOD__ ); |
| 149 | + return; |
| 150 | + } |
| 151 | + wfRunHooks( 'DiffViewHeader', array( $this, $this->mOldRev, $this->mNewRev ) ); |
| 152 | + if ( $this->mNewRev->isCurrent() ) { |
| 153 | + $wgOut->setArticleFlag( true ); |
| 154 | + } |
| 155 | + # mOldid is false if the difference engine is called with a "vague" query for |
| 156 | + # a diff between a version V and its previous version V' AND the version V |
| 157 | + # is the first version of that article. In that case, V' does not exist. |
| 158 | + if ( $this->mOldid === false ) { |
| 159 | + $this->showFirstRevision(); |
| 160 | + $this->renderNewRevision(); // should we respect $diffOnly here or not? |
| 161 | + wfProfileOut( __METHOD__ ); |
| 162 | + return; |
| 163 | + } |
| 164 | + $wgOut->suppressQuickbar(); |
| 165 | + $oldTitle = $this->mOldPage->getPrefixedText(); |
| 166 | + $newTitle = $this->mNewPage->getPrefixedText(); |
| 167 | + if( $oldTitle == $newTitle ) { |
| 168 | + $wgOut->setPageTitle( $newTitle ); |
| 169 | + } else { |
| 170 | + $wgOut->setPageTitle( $oldTitle . ', ' . $newTitle ); |
| 171 | + } |
| 172 | + $wgOut->setSubtitle( wfMsgExt( 'difference', array( 'parseinline' ) ) ); |
| 173 | + $wgOut->setRobotPolicy( 'noindex,nofollow' ); |
| 174 | + if ( !$this->mOldPage->userCanRead() || !$this->mNewPage->userCanRead() ) { |
| 175 | + $wgOut->loginToUse(); |
| 176 | + $wgOut->output(); |
| 177 | + $wgOut->disable(); |
| 178 | + wfProfileOut( __METHOD__ ); |
| 179 | + return; |
| 180 | + } |
| 181 | + $sk = $wgUser->getSkin(); |
| 182 | + // Check if page is editable |
| 183 | + $editable = $this->mNewRev->getTitle()->userCan( 'edit' ); |
| 184 | + if ( $editable && $this->mNewRev->isCurrent() && $wgUser->isAllowed( 'rollback' ) ) { |
| 185 | + $rollback = ' ' . $sk->generateRollback( $this->mNewRev ); |
| 186 | + } else { |
| 187 | + $rollback = ''; |
| 188 | + } |
| 189 | + // Prepare a change patrol link, if applicable |
| 190 | + if( $wgUseRCPatrol && $this->mTitle->userCan('patrol') ) { |
| 191 | + // If we've been given an explicit change identifier, use it; saves time |
| 192 | + if( $this->mRcidMarkPatrolled ) { |
| 193 | + $rcid = $this->mRcidMarkPatrolled; |
| 194 | + $rc = RecentChange::newFromId( $rcid ); |
| 195 | + // Already patrolled? |
| 196 | + $rcid = is_object($rc) && !$rc->getAttribute('rc_patrolled') ? $rcid : 0; |
| 197 | + } else { |
| 198 | + // Look for an unpatrolled change corresponding to this diff |
| 199 | + $db = wfGetDB( DB_SLAVE ); |
| 200 | + $change = RecentChange::newFromConds( |
| 201 | + array( |
| 202 | + // Redundant user,timestamp condition so we can use the existing index |
| 203 | + 'rc_user_text' => $this->mNewRev->getRawUserText(), |
| 204 | + 'rc_timestamp' => $db->timestamp( $this->mNewRev->getTimestamp() ), |
| 205 | + 'rc_this_oldid' => $this->mNewid, |
| 206 | + 'rc_last_oldid' => $this->mOldid, |
| 207 | + 'rc_patrolled' => 0 |
| 208 | + ), |
| 209 | + __METHOD__ |
| 210 | + ); |
| 211 | + if( $change instanceof RecentChange ) { |
| 212 | + $rcid = $change->mAttribs['rc_id']; |
| 213 | + $this->mRcidMarkPatrolled = $rcid; |
| 214 | + } else { |
| 215 | + // None found |
| 216 | + $rcid = 0; |
| 217 | + } |
| 218 | + } |
| 219 | + // Build the link |
| 220 | + if( $rcid ) { |
| 221 | + $patrol = ' <span class="patrollink">[' . $sk->link( |
| 222 | + $this->mTitle, |
| 223 | + wfMsgHtml( 'markaspatrolleddiff' ), |
| 224 | + array(), |
| 225 | + array( |
| 226 | + 'action' => 'markpatrolled', |
| 227 | + 'rcid' => $rcid |
| 228 | + ), |
| 229 | + array( |
| 230 | + 'known', |
| 231 | + 'noclasses' |
| 232 | + ) |
| 233 | + ) . ']</span>'; |
| 234 | + } else { |
| 235 | + $patrol = ''; |
| 236 | + } |
| 237 | + } else { |
| 238 | + $patrol = ''; |
| 239 | + } |
| 240 | + # Carry over 'diffonly' param via navigation links |
| 241 | + if( $diffOnly != $wgUser->getBoolOption('diffonly') ) { |
| 242 | + $query['diffonly'] = $diffOnly; |
| 243 | + } |
| 244 | + $htmldiffarg = $this->htmlDiffArgument(); |
| 245 | + if( $htmldiffarg ) { |
| 246 | + $query['htmldiff'] = $htmldiffarg['htmldiff']; |
| 247 | + } |
| 248 | + # Make "previous revision link" |
| 249 | + $query['diff'] = 'prev'; |
| 250 | + $query['oldid'] = $this->mOldid; |
| 251 | + $prevlink = $sk->link( |
| 252 | + $this->mTitle, |
| 253 | + wfMsgHtml( 'previousdiff' ), |
| 254 | + array( |
| 255 | + 'id' => 'differences-prevlink' |
| 256 | + ), |
| 257 | + $query, |
| 258 | + array( |
| 259 | + 'known', |
| 260 | + 'noclasses' |
| 261 | + ) |
| 262 | + ); |
| 263 | + # Make "next revision link" |
| 264 | + $query['diff'] = 'next'; |
| 265 | + $query['oldid'] = $this->mNewid; |
| 266 | + if( $this->mNewRev->isCurrent() ) { |
| 267 | + $nextlink = ' '; |
| 268 | + } else { |
| 269 | + $nextlink = $sk->link( |
| 270 | + $this->mTitle, |
| 271 | + wfMsgHtml( 'nextdiff' ), |
| 272 | + array( |
| 273 | + 'id' => 'differences-nextlink' |
| 274 | + ), |
| 275 | + $query, |
| 276 | + array( |
| 277 | + 'known', |
| 278 | + 'noclasses' |
| 279 | + ) |
| 280 | + ); |
| 281 | + } |
| 282 | + $oldminor = ''; |
| 283 | + $newminor = ''; |
| 284 | + if( $this->mOldRev->isMinor() ) { |
| 285 | + $oldminor = ChangesList::flag( 'minor' ); |
| 286 | + } |
| 287 | + if( $this->mNewRev->isMinor() ) { |
| 288 | + $newminor = ChangesList::flag( 'minor' ); |
| 289 | + } |
| 290 | + $rdel = ''; $ldel = ''; |
| 291 | + if( $wgUser->isAllowed( 'deletedhistory' ) ) { |
| 292 | + // Don't show useless link to people who cannot hide revisions |
| 293 | + if( $this->mOldRev->getVisibility() || $wgUser->isAllowed( 'deleterevision' ) ) { |
| 294 | + if( !$this->mOldRev->userCan( Revision::DELETED_RESTRICTED ) ) { |
| 295 | + // If revision was hidden from sysops |
| 296 | + $ldel = Xml::tags( 'span', array( 'class' => 'mw-revdelundel-link' ), |
| 297 | + '(' . wfMsgHtml( 'rev-delundel' ) . ')' ); |
| 298 | + } else { |
| 299 | + $query = array( |
| 300 | + 'type' => 'revision', |
| 301 | + 'target' => $this->mOldRev->mTitle->getPrefixedDbkey(), |
| 302 | + 'ids' => $this->mOldRev->getId() |
| 303 | + ); |
| 304 | + $ldel = $sk->revDeleteLink( $query, $this->mOldRev->isDeleted( Revision::DELETED_RESTRICTED ) ); |
| 305 | + } |
| 306 | + $ldel = " $ldel "; |
| 307 | + } |
| 308 | + // Don't show useless link to people who cannot hide revisions |
| 309 | + if( $this->mNewRev->getVisibility() || $wgUser->isAllowed( 'deleterevision' ) ) { |
| 310 | + if( !$this->mNewRev->userCan( Revision::DELETED_RESTRICTED ) ) { |
| 311 | + // If revision was hidden from sysops |
| 312 | + $rdel = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ), '('.wfMsgHtml( 'rev-delundel' ).')' ); |
| 313 | + } else { |
| 314 | + $query = array( |
| 315 | + 'type' => 'revision', |
| 316 | + 'target' => $this->mNewRev->mTitle->getPrefixedDbkey(), |
| 317 | + 'ids' => $this->mNewRev->getId() |
| 318 | + ); |
| 319 | + $rdel = $sk->revDeleteLink( $query, $this->mNewRev->isDeleted( Revision::DELETED_RESTRICTED ) ); |
| 320 | + } |
| 321 | + $rdel = " $rdel "; |
| 322 | + } |
| 323 | + } |
| 324 | + $oldHeader = '<div id="mw-diff-otitle1"><strong>'.$this->mOldtitle.'</strong></div>' . |
| 325 | + '<div id="mw-diff-otitle2">' . $sk->revUserTools( $this->mOldRev, !$this->unhide ) . "</div>" . |
| 326 | + '<div id="mw-diff-otitle3">' . $oldminor . $sk->revComment( $this->mOldRev, !$diffOnly, !$this->unhide ).$ldel."</div>" . |
| 327 | + '<div id="mw-diff-otitle4">' . $prevlink .'</div>'; |
| 328 | + $newHeader = '<div id="mw-diff-ntitle1"><strong>'.$this->mNewtitle.'</strong></div>' . |
| 329 | + '<div id="mw-diff-ntitle2">' . $sk->revUserTools( $this->mNewRev, !$this->unhide ) . " $rollback</div>" . |
| 330 | + '<div id="mw-diff-ntitle3">' . $newminor . $sk->revComment( $this->mNewRev, !$diffOnly, !$this->unhide ).$rdel."</div>" . |
| 331 | + '<div id="mw-diff-ntitle4">' . $nextlink . $patrol . '</div>'; |
| 332 | + # Check if this user can see the revisions |
| 333 | + $allowed = $this->mOldRev->userCan(Revision::DELETED_TEXT) |
| 334 | + && $this->mNewRev->userCan(Revision::DELETED_TEXT); |
| 335 | + # Check if one of the revisions is deleted/suppressed |
| 336 | + $deleted = $suppressed = false; |
| 337 | + if( $this->mOldRev->isDeleted(Revision::DELETED_TEXT) ) { |
| 338 | + $deleted = true; // old revisions text is hidden |
| 339 | + if( $this->mOldRev->isDeleted(Revision::DELETED_RESTRICTED) ) |
| 340 | + $suppressed = true; // also suppressed |
| 341 | + } |
| 342 | + if( $this->mNewRev->isDeleted(Revision::DELETED_TEXT) ) { |
| 343 | + $deleted = true; // new revisions text is hidden |
| 344 | + if( $this->mNewRev->isDeleted(Revision::DELETED_RESTRICTED) ) |
| 345 | + $suppressed = true; // also suppressed |
| 346 | + } |
| 347 | + # Output the diff if allowed... |
| 348 | + if( $deleted && (!$this->unhide || !$allowed) ) { |
| 349 | + $this->showDiffStyle(); |
| 350 | + $multi = $this->getMultiNotice(); |
| 351 | + $wgOut->addHTML( $this->addHeader( '', $oldHeader, $newHeader, $multi ) ); |
| 352 | + if( !$allowed ) { |
| 353 | + # Give explanation for why revision is not visible |
| 354 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", |
| 355 | + array( 'rev-deleted-no-diff' ) ); |
| 356 | + } else { |
| 357 | + # Give explanation and add a link to view the diff... |
| 358 | + $link = $this->mTitle->getFullUrl( array( |
| 359 | + 'diff' => $this->mNewid, |
| 360 | + 'oldid' => $this->mOldid, |
| 361 | + 'unhide' => 1 |
| 362 | + ) ); |
| 363 | + $msg = $suppressed ? 'rev-suppressed-unhide-diff' : 'rev-deleted-unhide-diff'; |
| 364 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", array( $msg, $link ) ); |
| 365 | + } |
| 366 | + } else if( $wgEnableHtmlDiff && $this->htmldiff ) { |
| 367 | + $multi = $this->getMultiNotice(); |
| 368 | + $wgOut->addHTML( '<div class="diff-switchtype">' . $sk->link( |
| 369 | + $this->mTitle, |
| 370 | + wfMsgHtml( 'wikicodecomparison' ), |
| 371 | + array( |
| 372 | + 'id' => 'differences-switchtype' |
| 373 | + ), |
| 374 | + array( |
| 375 | + 'diff' => $this->mNewid, |
| 376 | + 'oldid' => $this->mOldid, |
| 377 | + 'htmldiff' => 0 |
| 378 | + ), |
| 379 | + array( |
| 380 | + 'known', |
| 381 | + 'noclasses' |
| 382 | + ) |
| 383 | + ) . '</div>'); |
| 384 | + $wgOut->addHTML( $this->addHeader( '', $oldHeader, $newHeader, $multi ) ); |
| 385 | + $this->renderHtmlDiff(); |
| 386 | + } else { |
| 387 | + if( $wgEnableHtmlDiff ) { |
| 388 | + $wgOut->addHTML( '<div class="diff-switchtype">' . $sk->link( |
| 389 | + $this->mTitle, |
| 390 | + wfMsgHtml( 'visualcomparison' ), |
| 391 | + array( |
| 392 | + 'id' => 'differences-switchtype' |
| 393 | + ), |
| 394 | + array( |
| 395 | + 'diff' => $this->mNewid, |
| 396 | + 'oldid' => $this->mOldid, |
| 397 | + 'htmldiff' => 1 |
| 398 | + ), |
| 399 | + array( |
| 400 | + 'known', |
| 401 | + 'noclasses' |
| 402 | + ) |
| 403 | + ) . '</div>'); |
| 404 | + } |
| 405 | + $this->showDiff( $oldHeader, $newHeader ); |
| 406 | + if( !$diffOnly ) { |
| 407 | + $this->renderNewRevision(); |
| 408 | + } |
| 409 | + } |
| 410 | + wfProfileOut( __METHOD__ ); |
| 411 | + } |
| 412 | + /** |
| 413 | + * Show the new revision of the page. |
| 414 | + */ |
| 415 | + function renderNewRevision() { |
| 416 | + global $wgOut, $wgUser; |
| 417 | + wfProfileIn( __METHOD__ ); |
| 418 | + $wgOut->addHTML( "<hr /><h2>{$this->mPagetitle}</h2>\n" ); |
| 419 | + # Add deleted rev tag if needed |
| 420 | + if( !$this->mNewRev->userCan(Revision::DELETED_TEXT) ) { |
| 421 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", 'rev-deleted-text-permission' ); |
| 422 | + } else if( $this->mNewRev->isDeleted(Revision::DELETED_TEXT) ) { |
| 423 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", 'rev-deleted-text-view' ); |
| 424 | + } |
| 425 | + if( !$this->mNewRev->isCurrent() ) { |
| 426 | + $oldEditSectionSetting = $wgOut->parserOptions()->setEditSection( false ); |
| 427 | + } |
| 428 | + $this->loadNewText(); |
| 429 | + if( is_object( $this->mNewRev ) ) { |
| 430 | + $wgOut->setRevisionId( $this->mNewRev->getId() ); |
| 431 | + } |
| 432 | + if( $this->mTitle->isCssJsSubpage() || $this->mTitle->isCssOrJsPage() ) { |
| 433 | + // Stolen from Article::view --AG 2007-10-11 |
| 434 | + // Give hooks a chance to customise the output |
| 435 | + if( wfRunHooks( 'ShowRawCssJs', array( $this->mNewtext, $this->mTitle, $wgOut ) ) ) { |
| 436 | + // Wrap the whole lot in a <pre> and don't parse |
| 437 | + $m = array(); |
| 438 | + preg_match( '!\.(css|js)$!u', $this->mTitle->getText(), $m ); |
| 439 | + $wgOut->addHTML( "<pre class=\"mw-code mw-{$m[1]}\" dir=\"ltr\">\n" ); |
| 440 | + $wgOut->addHTML( htmlspecialchars( $this->mNewtext ) ); |
| 441 | + $wgOut->addHTML( "\n</pre>\n" ); |
| 442 | + } |
| 443 | + } else { |
| 444 | + $wgOut->addWikiTextTidy( $this->mNewtext ); |
| 445 | + } |
| 446 | + if( is_object( $this->mNewRev ) && !$this->mNewRev->isCurrent() ) { |
| 447 | + $wgOut->parserOptions()->setEditSection( $oldEditSectionSetting ); |
| 448 | + } |
| 449 | + # Add redundant patrol link on bottom... |
| 450 | + if( $this->mRcidMarkPatrolled && $this->mTitle->quickUserCan('patrol') ) { |
| 451 | + $sk = $wgUser->getSkin(); |
| 452 | + $wgOut->addHTML( |
| 453 | + "<div class='patrollink'>[" . $sk->link( |
| 454 | + $this->mTitle, |
| 455 | + wfMsgHtml( 'markaspatrolleddiff' ), |
| 456 | + array(), |
| 457 | + array( |
| 458 | + 'action' => 'markpatrolled', |
| 459 | + 'rcid' => $this->mRcidMarkPatrolled |
| 460 | + ) |
| 461 | + ) . ']</div>' |
| 462 | + ); |
| 463 | + } |
| 464 | + wfProfileOut( __METHOD__ ); |
| 465 | + } |
| 466 | + |
| 467 | + function renderHtmlDiff() { |
| 468 | + global $wgOut, $wgParser, $wgDebugComments; |
| 469 | + wfProfileIn( __METHOD__ ); |
| 470 | + $this->showDiffStyle(); |
| 471 | + $wgOut->addHTML( '<h2>'.wfMsgHtml( 'visual-comparison' )."</h2>\n" ); |
| 472 | + #add deleted rev tag if needed |
| 473 | + if( !$this->mNewRev->userCan(Revision::DELETED_TEXT) ) { |
| 474 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", 'rev-deleted-text-permission' ); |
| 475 | + } else if( $this->mNewRev->isDeleted(Revision::DELETED_TEXT) ) { |
| 476 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", 'rev-deleted-text-view' ); |
| 477 | + } |
| 478 | + if( !$this->mNewRev->isCurrent() ) { |
| 479 | + $oldEditSectionSetting = $wgOut->parserOptions()->setEditSection( false ); |
| 480 | + } |
| 481 | + $this->loadText(); |
| 482 | + // Old revision |
| 483 | + if( is_object( $this->mOldRev ) ) { |
| 484 | + $wgOut->setRevisionId( $this->mOldRev->getId() ); |
| 485 | + } |
| 486 | + $popts = $wgOut->parserOptions(); |
| 487 | + $oldTidy = $popts->setTidy( true ); |
| 488 | + $popts->setEditSection( false ); |
| 489 | + $parserOutput = $wgParser->parse( $this->mOldtext, $this->getTitle(), $popts, true, true, $wgOut->getRevisionId() ); |
| 490 | + $popts->setTidy( $oldTidy ); |
| 491 | + //only for new? |
| 492 | + //$wgOut->addParserOutputNoText( $parserOutput ); |
| 493 | + $oldHtml = $parserOutput->getText(); |
| 494 | + wfRunHooks( 'OutputPageBeforeHTML', array( &$wgOut, &$oldHtml ) ); |
| 495 | + // New revision |
| 496 | + if( is_object( $this->mNewRev ) ) { |
| 497 | + $wgOut->setRevisionId( $this->mNewRev->getId() ); |
| 498 | + } |
| 499 | + $popts = $wgOut->parserOptions(); |
| 500 | + $oldTidy = $popts->setTidy( true ); |
| 501 | + $parserOutput = $wgParser->parse( $this->mNewtext, $this->getTitle(), $popts, true, true, $wgOut->getRevisionId() ); |
| 502 | + $popts->setTidy( $oldTidy ); |
| 503 | + $wgOut->addParserOutputNoText( $parserOutput ); |
| 504 | + $newHtml = $parserOutput->getText(); |
| 505 | + wfRunHooks( 'OutputPageBeforeHTML', array( &$wgOut, &$newHtml ) ); |
| 506 | + unset($parserOutput, $popts); |
| 507 | + $differ = new HTMLDiffer(new DelegatingContentHandler($wgOut)); |
| 508 | + $differ->htmlDiff($oldHtml, $newHtml); |
| 509 | + if ( $wgDebugComments ) { |
| 510 | + $wgOut->addHTML( "\n<!-- HtmlDiff Debug Output:\n" . HTMLDiffer::getDebugOutput() . " End Debug -->" ); |
| 511 | + } |
| 512 | + wfProfileOut( __METHOD__ ); |
| 513 | + } |
| 514 | + /** |
| 515 | + * Show the first revision of an article. Uses normal diff headers in |
| 516 | + * contrast to normal "old revision" display style. |
| 517 | + */ |
| 518 | + function showFirstRevision() { |
| 519 | + global $wgOut, $wgUser; |
| 520 | + wfProfileIn( __METHOD__ ); |
| 521 | + # Get article text from the DB |
| 522 | + # |
| 523 | + if ( ! $this->loadNewText() ) { |
| 524 | + $t = $this->mTitle->getPrefixedText(); |
| 525 | + $d = wfMsgExt( 'missingarticle-diff', array( 'escape' ), $this->mOldid, $this->mNewid ); |
| 526 | + $wgOut->setPagetitle( wfMsg( 'errorpagetitle' ) ); |
| 527 | + $wgOut->addWikiMsg( 'missing-article', "<nowiki>$t</nowiki>", $d ); |
| 528 | + wfProfileOut( __METHOD__ ); |
| 529 | + return; |
| 530 | + } |
| 531 | + if ( $this->mNewRev->isCurrent() ) { |
| 532 | + $wgOut->setArticleFlag( true ); |
| 533 | + } |
| 534 | + # Check if user is allowed to look at this page. If not, bail out. |
| 535 | + # |
| 536 | + if ( !$this->mTitle->userCanRead() ) { |
| 537 | + $wgOut->loginToUse(); |
| 538 | + $wgOut->output(); |
| 539 | + wfProfileOut( __METHOD__ ); |
| 540 | + throw new MWException("Permission Error: you do not have access to view this page"); |
| 541 | + } |
| 542 | + # Prepare the header box |
| 543 | + # |
| 544 | + $sk = $wgUser->getSkin(); |
| 545 | + $next = $this->mTitle->getNextRevisionID( $this->mNewid ); |
| 546 | + if( !$next ) { |
| 547 | + $nextlink = ''; |
| 548 | + } else { |
| 549 | + $nextlink = '<br/>' . $sk->link( |
| 550 | + $this->mTitle, |
| 551 | + wfMsgHtml( 'nextdiff' ), |
| 552 | + array( |
| 553 | + 'id' => 'differences-nextlink' |
| 554 | + ), |
| 555 | + array( |
| 556 | + 'diff' => 'next', |
| 557 | + 'oldid' => $this->mNewid, |
| 558 | + $this->htmlDiffArgument() |
| 559 | + ), |
| 560 | + array( |
| 561 | + 'known', |
| 562 | + 'noclasses' |
| 563 | + ) |
| 564 | + ); |
| 565 | + } |
| 566 | + $header = "<div class=\"firstrevisionheader\" style=\"text-align: center\">" . |
| 567 | + $sk->revUserTools( $this->mNewRev ) . "<br/>" . $sk->revComment( $this->mNewRev ) . $nextlink . "</div>\n"; |
| 568 | + $wgOut->addHTML( $header ); |
| 569 | + $wgOut->setSubtitle( wfMsgExt( 'difference', array( 'parseinline' ) ) ); |
| 570 | + $wgOut->setRobotPolicy( 'noindex,nofollow' ); |
| 571 | + wfProfileOut( __METHOD__ ); |
| 572 | + } |
| 573 | + function htmlDiffArgument(){ |
| 574 | + global $wgEnableHtmlDiff; |
| 575 | + if($wgEnableHtmlDiff){ |
| 576 | + if($this->htmldiff){ |
| 577 | + return array( 'htmldiff' => 1 ); |
| 578 | + }else{ |
| 579 | + return array( 'htmldiff' => 0 ); |
| 580 | + } |
| 581 | + }else{ |
| 582 | + return array(); |
| 583 | + } |
| 584 | + } |
| 585 | + /** |
| 586 | + * Get the diff text, send it to $wgOut |
| 587 | + * Returns false if the diff could not be generated, otherwise returns true |
| 588 | + */ |
| 589 | + function showDiff( $otitle, $ntitle ) { |
| 590 | + global $wgOut; |
| 591 | + $diff = $this->getDiff( $otitle, $ntitle ); |
| 592 | + if ( $diff === false ) { |
| 593 | + $wgOut->addWikiMsg( 'missing-article', "<nowiki>(fixme, bug)</nowiki>", '' ); |
| 594 | + return false; |
| 595 | + } else { |
| 596 | + $this->showDiffStyle(); |
| 597 | + $wgOut->addHTML( $diff ); |
| 598 | + return true; |
| 599 | + } |
| 600 | + } |
| 601 | + /** |
| 602 | + * Add style sheets and supporting JS for diff display. |
| 603 | + */ |
| 604 | + function showDiffStyle() { |
| 605 | + global $wgStylePath, $wgStyleVersion, $wgOut; |
| 606 | + $wgOut->addStyle( 'common/diff.css' ); |
| 607 | + // JS is needed to detect old versions of Mozilla to work around an annoyance bug. |
| 608 | + $wgOut->addScript( "<script type=\"text/javascript\" src=\"$wgStylePath/common/diff.js?$wgStyleVersion\"></script>" ); |
| 609 | + } |
| 610 | + /** |
| 611 | + * Get complete diff table, including header |
| 612 | + * |
| 613 | + * @param Title $otitle Old title |
| 614 | + * @param Title $ntitle New title |
| 615 | + * @return mixed |
| 616 | + */ |
| 617 | + function getDiff( $otitle, $ntitle ) { |
| 618 | + $body = $this->getDiffBody(); |
| 619 | + if ( $body === false ) { |
| 620 | + return false; |
| 621 | + } else { |
| 622 | + $multi = $this->getMultiNotice(); |
| 623 | + return $this->addHeader( $body, $otitle, $ntitle, $multi ); |
| 624 | + } |
| 625 | + } |
| 626 | + /** |
| 627 | + * Get the diff table body, without header |
| 628 | + * |
| 629 | + * @return mixed |
| 630 | + */ |
| 631 | + function getDiffBody() { |
| 632 | + global $wgMemc; |
| 633 | + wfProfileIn( __METHOD__ ); |
| 634 | + $this->mCacheHit = true; |
| 635 | + // Check if the diff should be hidden from this user |
| 636 | + if ( !$this->loadRevisionData() ) |
| 637 | + return ''; |
| 638 | + if ( $this->mOldRev && !$this->mOldRev->userCan(Revision::DELETED_TEXT) ) { |
| 639 | + return ''; |
| 640 | + } else if ( $this->mNewRev && !$this->mNewRev->userCan(Revision::DELETED_TEXT) ) { |
| 641 | + return ''; |
| 642 | + } else if ( $this->mOldRev && $this->mNewRev && $this->mOldRev->getID() == $this->mNewRev->getID() ) { |
| 643 | + return ''; |
| 644 | + } |
| 645 | + // Cacheable? |
| 646 | + $key = false; |
| 647 | + if ( $this->mOldid && $this->mNewid ) { |
| 648 | + $key = wfMemcKey( 'diff', 'version', MW_DIFF_VERSION, 'oldid', $this->mOldid, 'newid', $this->mNewid ); |
| 649 | + // Try cache |
| 650 | + if ( !$this->mRefreshCache ) { |
| 651 | + $difftext = $wgMemc->get( $key ); |
| 652 | + if ( $difftext ) { |
| 653 | + wfIncrStats( 'diff_cache_hit' ); |
| 654 | + $difftext = $this->localiseLineNumbers( $difftext ); |
| 655 | + $difftext .= "\n<!-- diff cache key $key -->\n"; |
| 656 | + wfProfileOut( __METHOD__ ); |
| 657 | + return $difftext; |
| 658 | + } |
| 659 | + } // don't try to load but save the result |
| 660 | + } |
| 661 | + $this->mCacheHit = false; |
| 662 | + // Loadtext is permission safe, this just clears out the diff |
| 663 | + if ( !$this->loadText() ) { |
| 664 | + wfProfileOut( __METHOD__ ); |
| 665 | + return false; |
| 666 | + } |
| 667 | + $difftext = $this->generateDiffBody( $this->mOldtext, $this->mNewtext ); |
| 668 | + // Save to cache for 7 days |
| 669 | + if ( !wfRunHooks( 'AbortDiffCache', array( &$this ) ) ) { |
| 670 | + wfIncrStats( 'diff_uncacheable' ); |
| 671 | + } else if ( $key !== false && $difftext !== false ) { |
| 672 | + wfIncrStats( 'diff_cache_miss' ); |
| 673 | + $wgMemc->set( $key, $difftext, 7*86400 ); |
| 674 | + } else { |
| 675 | + wfIncrStats( 'diff_uncacheable' ); |
| 676 | + } |
| 677 | + // Replace line numbers with the text in the user's language |
| 678 | + if ( $difftext !== false ) { |
| 679 | + $difftext = $this->localiseLineNumbers( $difftext ); |
| 680 | + } |
| 681 | + wfProfileOut( __METHOD__ ); |
| 682 | + return $difftext; |
| 683 | + } |
| 684 | + /** |
| 685 | + * Make sure the proper modules are loaded before we try to |
| 686 | + * make the diff |
| 687 | + */ |
| 688 | + private function initDiffEngines() { |
| 689 | + global $wgExternalDiffEngine; |
| 690 | + if ( $wgExternalDiffEngine == 'wikidiff' && !function_exists( 'wikidiff_do_diff' ) ) { |
| 691 | + wfProfileIn( __METHOD__ . '-php_wikidiff.so' ); |
| 692 | + wfSuppressWarnings(); |
| 693 | + dl( 'php_wikidiff.so' ); |
| 694 | + wfRestoreWarnings(); |
| 695 | + wfProfileOut( __METHOD__ . '-php_wikidiff.so' ); |
| 696 | + } |
| 697 | + else if ( $wgExternalDiffEngine == 'wikidiff2' && !function_exists( 'wikidiff2_do_diff' ) ) { |
| 698 | + wfProfileIn( __METHOD__ . '-php_wikidiff2.so' ); |
| 699 | + wfSuppressWarnings(); |
| 700 | + dl( 'php_wikidiff2.so' ); |
| 701 | + wfRestoreWarnings(); |
| 702 | + wfProfileOut( __METHOD__ . '-php_wikidiff2.so' ); |
| 703 | + } |
| 704 | + } |
| 705 | + /** |
| 706 | + * Generate a diff, no caching |
| 707 | + * $otext and $ntext must be already segmented |
| 708 | + */ |
| 709 | + function generateDiffBody( $otext, $ntext ) { |
| 710 | + global $wgExternalDiffEngine, $wgContLang; |
| 711 | + $otext = str_replace( "\r\n", "\n", $otext ); |
| 712 | + $ntext = str_replace( "\r\n", "\n", $ntext ); |
| 713 | + $this->initDiffEngines(); |
| 714 | + if ( $wgExternalDiffEngine == 'wikidiff' && function_exists( 'wikidiff_do_diff' ) ) { |
| 715 | + # For historical reasons, external diff engine expects |
| 716 | + # input text to be HTML-escaped already |
| 717 | + $otext = htmlspecialchars ( $wgContLang->segmentForDiff( $otext ) ); |
| 718 | + $ntext = htmlspecialchars ( $wgContLang->segmentForDiff( $ntext ) ); |
| 719 | + return $wgContLang->unsegementForDiff( wikidiff_do_diff( $otext, $ntext, 2 ) ) . |
| 720 | + $this->debug( 'wikidiff1' ); |
| 721 | + } |
| 722 | + if ( $wgExternalDiffEngine == 'wikidiff2' && function_exists( 'wikidiff2_do_diff' ) ) { |
| 723 | + # Better external diff engine, the 2 may some day be dropped |
| 724 | + # This one does the escaping and segmenting itself |
| 725 | + wfProfileIn( 'wikidiff2_do_diff' ); |
| 726 | + $text = wikidiff2_do_diff( $otext, $ntext, 2 ); |
| 727 | + $text .= $this->debug( 'wikidiff2' ); |
| 728 | + wfProfileOut( 'wikidiff2_do_diff' ); |
| 729 | + return $text; |
| 730 | + } |
| 731 | + if ( $wgExternalDiffEngine != 'wikidiff3' && $wgExternalDiffEngine !== false ) { |
| 732 | + # Diff via the shell |
| 733 | + global $wgTmpDirectory; |
| 734 | + $tempName1 = tempnam( $wgTmpDirectory, 'diff_' ); |
| 735 | + $tempName2 = tempnam( $wgTmpDirectory, 'diff_' ); |
| 736 | + $tempFile1 = fopen( $tempName1, "w" ); |
| 737 | + if ( !$tempFile1 ) { |
| 738 | + wfProfileOut( __METHOD__ ); |
| 739 | + return false; |
| 740 | + } |
| 741 | + $tempFile2 = fopen( $tempName2, "w" ); |
| 742 | + if ( !$tempFile2 ) { |
| 743 | + wfProfileOut( __METHOD__ ); |
| 744 | + return false; |
| 745 | + } |
| 746 | + fwrite( $tempFile1, $otext ); |
| 747 | + fwrite( $tempFile2, $ntext ); |
| 748 | + fclose( $tempFile1 ); |
| 749 | + fclose( $tempFile2 ); |
| 750 | + $cmd = wfEscapeShellArg( $wgExternalDiffEngine, $tempName1, $tempName2 ); |
| 751 | + wfProfileIn( __METHOD__ . "-shellexec" ); |
| 752 | + $difftext = wfShellExec( $cmd ); |
| 753 | + $difftext .= $this->debug( "external $wgExternalDiffEngine" ); |
| 754 | + wfProfileOut( __METHOD__ . "-shellexec" ); |
| 755 | + unlink( $tempName1 ); |
| 756 | + unlink( $tempName2 ); |
| 757 | + return $difftext; |
| 758 | + } |
| 759 | + # Native PHP diff |
| 760 | + $ota = explode( "\n", $wgContLang->segmentForDiff( $otext ) ); |
| 761 | + $nta = explode( "\n", $wgContLang->segmentForDiff( $ntext ) ); |
| 762 | + $diffs = new Diff( $ota, $nta ); |
| 763 | + $formatter = new TableDiffFormatter(); |
| 764 | + return $wgContLang->unsegmentForDiff( $formatter->format( $diffs ) ) . |
| 765 | + $this->debug(); |
| 766 | + } |
| 767 | + /** |
| 768 | + * Generate a debug comment indicating diff generating time, |
| 769 | + * server node, and generator backend. |
| 770 | + */ |
| 771 | + protected function debug( $generator="internal" ) { |
| 772 | + global $wgShowHostnames; |
| 773 | + if ( !$this->enableDebugComment ) { |
| 774 | + return ''; |
| 775 | + } |
| 776 | + $data = array( $generator ); |
| 777 | + if( $wgShowHostnames ) { |
| 778 | + $data[] = wfHostname(); |
| 779 | + } |
| 780 | + $data[] = wfTimestamp( TS_DB ); |
| 781 | + return "<!-- diff generator: " . |
| 782 | + implode( " ", |
| 783 | + array_map( |
| 784 | + "htmlspecialchars", |
| 785 | + $data ) ) . |
| 786 | + " -->\n"; |
| 787 | + } |
| 788 | + /** |
| 789 | + * Replace line numbers with the text in the user's language |
| 790 | + */ |
| 791 | + function localiseLineNumbers( $text ) { |
| 792 | + return preg_replace_callback( '/<!--LINE (\d+)-->/', |
| 793 | + array( &$this, 'localiseLineNumbersCb' ), $text ); |
| 794 | + } |
| 795 | + function localiseLineNumbersCb( $matches ) { |
| 796 | + global $wgLang; |
| 797 | + if ( $matches[1] === '1' && $this->mReducedLineNumbers ) return ''; |
| 798 | + return wfMsgExt( 'lineno', 'escape', $wgLang->formatNum( $matches[1] ) ); |
| 799 | + } |
| 800 | + |
| 801 | + /** |
| 802 | + * If there are revisions between the ones being compared, return a note saying so. |
| 803 | + */ |
| 804 | + function getMultiNotice() { |
| 805 | + if ( !is_object($this->mOldRev) || !is_object($this->mNewRev) ) |
| 806 | + return ''; |
| 807 | + if( !$this->mOldPage->equals( $this->mNewPage ) ) { |
| 808 | + // Comparing two different pages? Count would be meaningless. |
| 809 | + return ''; |
| 810 | + } |
| 811 | + $oldid = $this->mOldRev->getId(); |
| 812 | + $newid = $this->mNewRev->getId(); |
| 813 | + if ( $oldid > $newid ) { |
| 814 | + $tmp = $oldid; $oldid = $newid; $newid = $tmp; |
| 815 | + } |
| 816 | + $n = $this->mTitle->countRevisionsBetween( $oldid, $newid ); |
| 817 | + if ( !$n ) |
| 818 | + return ''; |
| 819 | + return wfMsgExt( 'diff-multi', array( 'parseinline' ), $n ); |
| 820 | + } |
| 821 | + |
| 822 | + /** |
| 823 | + * Add the header to a diff body |
| 824 | + */ |
| 825 | + static function addHeader( $diff, $otitle, $ntitle, $multi = '' ) { |
| 826 | + $colspan = 1; |
| 827 | + $header = "<table class='diff'>"; |
| 828 | + if( $diff ) { // Safari/Chrome show broken output if cols not used |
| 829 | + $header .= " |
| 830 | + <col class='diff-marker' /> |
| 831 | + <col class='diff-content' /> |
| 832 | + <col class='diff-marker' /> |
| 833 | + <col class='diff-content' />"; |
| 834 | + $colspan = 2; |
| 835 | + } |
| 836 | + $header .= " |
| 837 | + <tr valign='top'> |
| 838 | + <td colspan='$colspan' class='diff-otitle'>{$otitle}</td> |
| 839 | + <td colspan='$colspan' class='diff-ntitle'>{$ntitle}</td> |
| 840 | + </tr>"; |
| 841 | + if ( $multi != '' ) |
| 842 | + $header .= "<tr><td colspan='4' align='center' class='diff-multi'>{$multi}</td></tr>"; |
| 843 | + return $header . $diff . "</table>"; |
| 844 | + } |
| 845 | + /** |
| 846 | + * Use specified text instead of loading from the database |
| 847 | + */ |
| 848 | + function setText( $oldText, $newText ) { |
| 849 | + $this->mOldtext = $oldText; |
| 850 | + $this->mNewtext = $newText; |
| 851 | + $this->mTextLoaded = 2; |
| 852 | + $this->mRevisionsLoaded = true; |
| 853 | + } |
| 854 | + /** |
| 855 | + * Load revision metadata for the specified articles. If newid is 0, then compare |
| 856 | + * the old article in oldid to the current article; if oldid is 0, then |
| 857 | + * compare the current article to the immediately previous one (ignoring the |
| 858 | + * value of newid). |
| 859 | + * |
| 860 | + * If oldid is false, leave the corresponding revision object set |
| 861 | + * to false. This is impossible via ordinary user input, and is provided for |
| 862 | + * API convenience. |
| 863 | + */ |
| 864 | + function loadRevisionData() { |
| 865 | + global $wgLang, $wgUser; |
| 866 | + if ( $this->mRevisionsLoaded ) { |
| 867 | + return true; |
| 868 | + } else { |
| 869 | + // Whether it succeeds or fails, we don't want to try again |
| 870 | + $this->mRevisionsLoaded = true; |
| 871 | + } |
| 872 | + // Load the new revision object |
| 873 | + $this->mNewRev = $this->mNewid |
| 874 | + ? Revision::newFromId( $this->mNewid ) |
| 875 | + : Revision::newFromTitle( $this->mTitle ); |
| 876 | + if( !$this->mNewRev instanceof Revision ) |
| 877 | + return false; |
| 878 | + // Update the new revision ID in case it was 0 (makes life easier doing UI stuff) |
| 879 | + $this->mNewid = $this->mNewRev->getId(); |
| 880 | + // Check if page is editable |
| 881 | + $editable = $this->mNewRev->getTitle()->userCan( 'edit' ); |
| 882 | + // Set assorted variables |
| 883 | + $timestamp = $wgLang->timeanddate( $this->mNewRev->getTimestamp(), true ); |
| 884 | + $dateofrev = $wgLang->date( $this->mNewRev->getTimestamp(), true ); |
| 885 | + $timeofrev = $wgLang->time( $this->mNewRev->getTimestamp(), true ); |
| 886 | + $this->mNewPage = $this->mNewRev->getTitle(); |
| 887 | + if( $this->mNewRev->isCurrent() ) { |
| 888 | + $newLink = $this->mNewPage->escapeLocalUrl( array( |
| 889 | + 'oldid' => $this->mNewid |
| 890 | + ) ); |
| 891 | + $this->mPagetitle = htmlspecialchars( wfMsg( |
| 892 | + 'currentrev-asof', |
| 893 | + $timestamp, |
| 894 | + $dateofrev, |
| 895 | + $timeofrev |
| 896 | + ) ); |
| 897 | + $newEdit = $this->mNewPage->escapeLocalUrl( array( |
| 898 | + 'action' => 'edit' |
| 899 | + ) ); |
| 900 | + $this->mNewtitle = "<a href='$newLink'>{$this->mPagetitle}</a>"; |
| 901 | + $this->mNewtitle .= " (<a href='$newEdit'>" . wfMsgHtml( $editable ? 'editold' : 'viewsourceold' ) . "</a>)"; |
| 902 | + } else { |
| 903 | + $newLink = $this->mNewPage->escapeLocalUrl( array( |
| 904 | + 'oldid' => $this->mNewid |
| 905 | + ) ); |
| 906 | + $newEdit = $this->mNewPage->escapeLocalUrl( array( |
| 907 | + 'action' => 'edit', |
| 908 | + 'oldid' => $this->mNewid |
| 909 | + ) ); |
| 910 | + $this->mPagetitle = htmlspecialchars( wfMsg( |
| 911 | + 'revisionasof', |
| 912 | + $timestamp, |
| 913 | + $dateofrev, |
| 914 | + $timeofrev |
| 915 | + ) ); |
| 916 | + $this->mNewtitle = "<a href='$newLink'>{$this->mPagetitle}</a>"; |
| 917 | + $this->mNewtitle .= " (<a href='$newEdit'>" . wfMsgHtml( $editable ? 'editold' : 'viewsourceold' ) . "</a>)"; |
| 918 | + } |
| 919 | + if( !$this->mNewRev->userCan(Revision::DELETED_TEXT) ) { |
| 920 | + $this->mNewtitle = "<span class='history-deleted'>{$this->mPagetitle}</span>"; |
| 921 | + } else if ( $this->mNewRev->isDeleted(Revision::DELETED_TEXT) ) { |
| 922 | + $this->mNewtitle = "<span class='history-deleted'>{$this->mNewtitle}</span>"; |
| 923 | + } |
| 924 | + // Load the old revision object |
| 925 | + $this->mOldRev = false; |
| 926 | + if( $this->mOldid ) { |
| 927 | + $this->mOldRev = Revision::newFromId( $this->mOldid ); |
| 928 | + } elseif ( $this->mOldid === 0 ) { |
| 929 | + $rev = $this->mNewRev->getPrevious(); |
| 930 | + if( $rev ) { |
| 931 | + $this->mOldid = $rev->getId(); |
| 932 | + $this->mOldRev = $rev; |
| 933 | + } else { |
| 934 | + // No previous revision; mark to show as first-version only. |
| 935 | + $this->mOldid = false; |
| 936 | + $this->mOldRev = false; |
| 937 | + } |
| 938 | + }/* elseif ( $this->mOldid === false ) leave mOldRev false; */ |
| 939 | + if( is_null( $this->mOldRev ) ) { |
| 940 | + return false; |
| 941 | + } |
| 942 | + if ( $this->mOldRev ) { |
| 943 | + $this->mOldPage = $this->mOldRev->getTitle(); |
| 944 | + $t = $wgLang->timeanddate( $this->mOldRev->getTimestamp(), true ); |
| 945 | + $dateofrev = $wgLang->date( $this->mOldRev->getTimestamp(), true ); |
| 946 | + $timeofrev = $wgLang->time( $this->mOldRev->getTimestamp(), true ); |
| 947 | + $oldLink = $this->mOldPage->escapeLocalUrl( array( |
| 948 | + 'oldid' => $this->mOldid |
| 949 | + ) ); |
| 950 | + $oldEdit = $this->mOldPage->escapeLocalUrl( array( |
| 951 | + 'action' => 'edit', |
| 952 | + 'oldid' => $this->mOldid |
| 953 | + ) ); |
| 954 | + $this->mOldPagetitle = htmlspecialchars( wfMsg( 'revisionasof', $t, $dateofrev, $timeofrev ) ); |
| 955 | + $this->mOldtitle = "<a href='$oldLink'>{$this->mOldPagetitle}</a>" |
| 956 | + . " (<a href='$oldEdit'>" . wfMsgHtml( $editable ? 'editold' : 'viewsourceold' ) . "</a>)"; |
| 957 | + // Add an "undo" link |
| 958 | + $newUndo = $this->mNewPage->escapeLocalUrl( array( |
| 959 | + 'action' => 'edit', |
| 960 | + 'undoafter' => $this->mOldid, |
| 961 | + 'undo' => $this->mNewid |
| 962 | + ) ); |
| 963 | + $htmlLink = htmlspecialchars( wfMsg( 'editundo' ) ); |
| 964 | + $htmlTitle = $wgUser->getSkin()->tooltip( 'undo' ); |
| 965 | + if( $editable && !$this->mOldRev->isDeleted( Revision::DELETED_TEXT ) && !$this->mNewRev->isDeleted( Revision::DELETED_TEXT ) ) { |
| 966 | + $this->mNewtitle .= " (<a href='$newUndo' $htmlTitle>" . $htmlLink . "</a>)"; |
| 967 | + } |
| 968 | + if( !$this->mOldRev->userCan( Revision::DELETED_TEXT ) ) { |
| 969 | + $this->mOldtitle = '<span class="history-deleted">' . $this->mOldPagetitle . '</span>'; |
| 970 | + } else if( $this->mOldRev->isDeleted( Revision::DELETED_TEXT ) ) { |
| 971 | + $this->mOldtitle = '<span class="history-deleted">' . $this->mOldtitle . '</span>'; |
| 972 | + } |
| 973 | + } |
| 974 | + return true; |
| 975 | + } |
| 976 | + /** |
| 977 | + * Load the text of the revisions, as well as revision data. |
| 978 | + */ |
| 979 | + function loadText() { |
| 980 | + if ( $this->mTextLoaded == 2 ) { |
| 981 | + return true; |
| 982 | + } else { |
| 983 | + // Whether it succeeds or fails, we don't want to try again |
| 984 | + $this->mTextLoaded = 2; |
| 985 | + } |
| 986 | + if ( !$this->loadRevisionData() ) { |
| 987 | + return false; |
| 988 | + } |
| 989 | + if ( $this->mOldRev ) { |
| 990 | + $this->mOldtext = $this->mOldRev->getText( Revision::FOR_THIS_USER ); |
| 991 | + if ( $this->mOldtext === false ) { |
| 992 | + return false; |
| 993 | + } |
| 994 | + } |
| 995 | + if ( $this->mNewRev ) { |
| 996 | + $this->mNewtext = $this->mNewRev->getText( Revision::FOR_THIS_USER ); |
| 997 | + if ( $this->mNewtext === false ) { |
| 998 | + return false; |
| 999 | + } |
| 1000 | + } |
| 1001 | + return true; |
| 1002 | + } |
| 1003 | + /** |
| 1004 | + * Load the text of the new revision, not the old one |
| 1005 | + */ |
| 1006 | + function loadNewText() { |
| 1007 | + if ( $this->mTextLoaded >= 1 ) { |
| 1008 | + return true; |
| 1009 | + } else { |
| 1010 | + $this->mTextLoaded = 1; |
| 1011 | + } |
| 1012 | + if ( !$this->loadRevisionData() ) { |
| 1013 | + return false; |
| 1014 | + } |
| 1015 | + $this->mNewtext = $this->mNewRev->getText( Revision::FOR_THIS_USER ); |
| 1016 | + return true; |
| 1017 | + } |
| 1018 | +} |
| 1019 | +<?php |
| 1020 | +/** |
| 1021 | + * @defgroup DifferenceEngine DifferenceEngine |
| 1022 | + */ |
| 1023 | + |
| 1024 | +/** |
| 1025 | + * Constant to indicate diff cache compatibility. |
| 1026 | + * Bump this when changing the diff formatting in a way that |
| 1027 | + * fixes important bugs or such to force cached diff views to |
| 1028 | + * clear. |
| 1029 | + */ |
| 1030 | +define( 'MW_DIFF_VERSION', '1.11a' ); |
| 1031 | + |
| 1032 | +/** |
| 1033 | + * @todo document |
| 1034 | + * @ingroup DifferenceEngine |
| 1035 | + */ |
| 1036 | +class DifferenceEngine { |
| 1037 | + /**#@+ |
| 1038 | + * @private |
| 1039 | + */ |
| 1040 | + var $mOldid, $mNewid, $mTitle; |
| 1041 | + var $mOldtitle, $mNewtitle, $mPagetitle; |
| 1042 | + var $mOldtext, $mNewtext; |
| 1043 | + var $mOldPage, $mNewPage; |
| 1044 | + var $mRcidMarkPatrolled; |
| 1045 | + var $mOldRev, $mNewRev; |
| 1046 | + var $mRevisionsLoaded = false; // Have the revisions been loaded |
| 1047 | + var $mTextLoaded = 0; // How many text blobs have been loaded, 0, 1 or 2? |
| 1048 | + var $mCacheHit = false; // Was the diff fetched from cache? |
| 1049 | + var $htmldiff; |
| 1050 | + |
| 1051 | + /** |
| 1052 | + * Set this to true to add debug info to the HTML output. |
| 1053 | + * Warning: this may cause RSS readers to spuriously mark articles as "new" |
| 1054 | + * (bug 20601) |
| 1055 | + */ |
| 1056 | + var $enableDebugComment = false; |
| 1057 | + |
| 1058 | + // If true, line X is not displayed when X is 1, for example to increase |
| 1059 | + // readability and conserve space with many small diffs. |
| 1060 | + protected $mReducedLineNumbers = false; |
| 1061 | + |
| 1062 | + protected $unhide = false; |
| 1063 | + /**#@-*/ |
| 1064 | + |
| 1065 | + /** |
| 1066 | + * Constructor |
| 1067 | + * @param $titleObj Title object that the diff is associated with |
| 1068 | + * @param $old Integer: old ID we want to show and diff with. |
| 1069 | + * @param $new String: either 'prev' or 'next'. |
| 1070 | + * @param $rcid Integer: ??? FIXME (default 0) |
| 1071 | + * @param $refreshCache boolean If set, refreshes the diff cache |
| 1072 | + * @param $htmldiff boolean If set, output using HTMLDiff instead of raw wikicode diff |
| 1073 | + * @param $unhide boolean If set, allow viewing deleted revs |
| 1074 | + */ |
| 1075 | + function __construct( $titleObj = null, $old = 0, $new = 0, $rcid = 0, |
| 1076 | + $refreshCache = false, $htmldiff = false, $unhide = false ) |
| 1077 | + { |
| 1078 | + if ( $titleObj ) { |
| 1079 | + $this->mTitle = $titleObj; |
| 1080 | + } else { |
| 1081 | + global $wgTitle; |
| 1082 | + $this->mTitle = $wgTitle; |
| 1083 | + } |
| 1084 | + wfDebug("DifferenceEngine old '$old' new '$new' rcid '$rcid'\n"); |
| 1085 | + |
| 1086 | + if ( 'prev' === $new ) { |
| 1087 | + # Show diff between revision $old and the previous one. |
| 1088 | + # Get previous one from DB. |
| 1089 | + $this->mNewid = intval($old); |
| 1090 | + $this->mOldid = $this->mTitle->getPreviousRevisionID( $this->mNewid ); |
| 1091 | + } elseif ( 'next' === $new ) { |
| 1092 | + # Show diff between revision $old and the next one. |
| 1093 | + # Get next one from DB. |
| 1094 | + $this->mOldid = intval($old); |
| 1095 | + $this->mNewid = $this->mTitle->getNextRevisionID( $this->mOldid ); |
| 1096 | + if ( false === $this->mNewid ) { |
| 1097 | + # if no result, NewId points to the newest old revision. The only newer |
| 1098 | + # revision is cur, which is "0". |
| 1099 | + $this->mNewid = 0; |
| 1100 | + } |
| 1101 | + } else { |
| 1102 | + $this->mOldid = intval($old); |
| 1103 | + $this->mNewid = intval($new); |
| 1104 | + wfRunHooks( 'NewDifferenceEngine', array(&$titleObj, &$this->mOldid, &$this->mNewid, $old, $new) ); |
| 1105 | + } |
| 1106 | + $this->mRcidMarkPatrolled = intval($rcid); # force it to be an integer |
| 1107 | + $this->mRefreshCache = $refreshCache; |
| 1108 | + $this->htmldiff = $htmldiff; |
| 1109 | + $this->unhide = $unhide; |
| 1110 | + } |
| 1111 | + |
| 1112 | + function setReducedLineNumbers( $value = true ) { |
| 1113 | + $this->mReducedLineNumbers = $value; |
| 1114 | + } |
| 1115 | + |
| 1116 | + function getTitle() { |
| 1117 | + return $this->mTitle; |
| 1118 | + } |
| 1119 | + |
| 1120 | + function wasCacheHit() { |
| 1121 | + return $this->mCacheHit; |
| 1122 | + } |
| 1123 | + |
| 1124 | + function getOldid() { |
| 1125 | + return $this->mOldid; |
| 1126 | + } |
| 1127 | + |
| 1128 | + function getNewid() { |
| 1129 | + return $this->mNewid; |
| 1130 | + } |
| 1131 | + |
| 1132 | + function showDiffPage( $diffOnly = false ) { |
| 1133 | + global $wgUser, $wgOut, $wgUseExternalEditor, $wgUseRCPatrol, $wgEnableHtmlDiff; |
| 1134 | + wfProfileIn( __METHOD__ ); |
| 1135 | + |
| 1136 | + |
| 1137 | + # If external diffs are enabled both globally and for the user, |
| 1138 | + # we'll use the application/x-external-editor interface to call |
| 1139 | + # an external diff tool like kompare, kdiff3, etc. |
| 1140 | + if($wgUseExternalEditor && $wgUser->getOption('externaldiff')) { |
| 1141 | + global $wgInputEncoding,$wgServer,$wgScript,$wgLang; |
| 1142 | + $wgOut->disable(); |
| 1143 | + header ( "Content-type: application/x-external-editor; charset=".$wgInputEncoding ); |
| 1144 | + $url1=$this->mTitle->getFullURL( array( |
| 1145 | + 'action' => 'raw', |
| 1146 | + 'oldid' => $this->mOldid |
| 1147 | + ) ); |
| 1148 | + $url2=$this->mTitle->getFullURL( array( |
| 1149 | + 'action' => 'raw', |
| 1150 | + 'oldid' => $this->mNewid |
| 1151 | + ) ); |
| 1152 | + $special=$wgLang->getNsText(NS_SPECIAL); |
| 1153 | + $control=<<<CONTROL |
| 1154 | + [Process] |
| 1155 | + Type=Diff text |
| 1156 | + Engine=MediaWiki |
| 1157 | + Script={$wgServer}{$wgScript} |
| 1158 | + Special namespace={$special} |
| 1159 | + |
| 1160 | + [File] |
| 1161 | + Extension=wiki |
| 1162 | + URL=$url1 |
| 1163 | + |
| 1164 | + [File 2] |
| 1165 | + Extension=wiki |
| 1166 | + URL=$url2 |
| 1167 | +CONTROL; |
| 1168 | + echo($control); |
| 1169 | + return; |
| 1170 | + } |
| 1171 | + |
| 1172 | + $wgOut->setArticleFlag( false ); |
| 1173 | + if ( !$this->loadRevisionData() ) { |
| 1174 | + $t = $this->mTitle->getPrefixedText(); |
| 1175 | + $d = wfMsgExt( 'missingarticle-diff', array( 'escape' ), $this->mOldid, $this->mNewid ); |
| 1176 | + $wgOut->setPagetitle( wfMsg( 'errorpagetitle' ) ); |
| 1177 | + $wgOut->addWikiMsg( 'missing-article', "<nowiki>$t</nowiki>", $d ); |
| 1178 | + wfProfileOut( __METHOD__ ); |
| 1179 | + return; |
| 1180 | + } |
| 1181 | + |
| 1182 | + wfRunHooks( 'DiffViewHeader', array( $this, $this->mOldRev, $this->mNewRev ) ); |
| 1183 | + |
| 1184 | + if ( $this->mNewRev->isCurrent() ) { |
| 1185 | + $wgOut->setArticleFlag( true ); |
| 1186 | + } |
| 1187 | + |
| 1188 | + # mOldid is false if the difference engine is called with a "vague" query for |
| 1189 | + # a diff between a version V and its previous version V' AND the version V |
| 1190 | + # is the first version of that article. In that case, V' does not exist. |
| 1191 | + if ( $this->mOldid === false ) { |
| 1192 | + $this->showFirstRevision(); |
| 1193 | + $this->renderNewRevision(); // should we respect $diffOnly here or not? |
| 1194 | + wfProfileOut( __METHOD__ ); |
| 1195 | + return; |
| 1196 | + } |
| 1197 | + |
| 1198 | + $wgOut->suppressQuickbar(); |
| 1199 | + |
| 1200 | + $oldTitle = $this->mOldPage->getPrefixedText(); |
| 1201 | + $newTitle = $this->mNewPage->getPrefixedText(); |
| 1202 | + if( $oldTitle == $newTitle ) { |
| 1203 | + $wgOut->setPageTitle( $newTitle ); |
| 1204 | + } else { |
| 1205 | + $wgOut->setPageTitle( $oldTitle . ', ' . $newTitle ); |
| 1206 | + } |
| 1207 | + $wgOut->setSubtitle( wfMsgExt( 'difference', array( 'parseinline' ) ) ); |
| 1208 | + $wgOut->setRobotPolicy( 'noindex,nofollow' ); |
| 1209 | + |
| 1210 | + if ( !$this->mOldPage->userCanRead() || !$this->mNewPage->userCanRead() ) { |
| 1211 | + $wgOut->loginToUse(); |
| 1212 | + $wgOut->output(); |
| 1213 | + $wgOut->disable(); |
| 1214 | + wfProfileOut( __METHOD__ ); |
| 1215 | + return; |
| 1216 | + } |
| 1217 | + |
| 1218 | + $sk = $wgUser->getSkin(); |
| 1219 | + |
| 1220 | + // Check if page is editable |
| 1221 | + $editable = $this->mNewRev->getTitle()->userCan( 'edit' ); |
| 1222 | + if ( $editable && $this->mNewRev->isCurrent() && $wgUser->isAllowed( 'rollback' ) ) { |
| 1223 | + $rollback = ' ' . $sk->generateRollback( $this->mNewRev ); |
| 1224 | + } else { |
| 1225 | + $rollback = ''; |
| 1226 | + } |
| 1227 | + |
| 1228 | + // Prepare a change patrol link, if applicable |
| 1229 | + if( $wgUseRCPatrol && $this->mTitle->userCan('patrol') ) { |
| 1230 | + // If we've been given an explicit change identifier, use it; saves time |
| 1231 | + if( $this->mRcidMarkPatrolled ) { |
| 1232 | + $rcid = $this->mRcidMarkPatrolled; |
| 1233 | + $rc = RecentChange::newFromId( $rcid ); |
| 1234 | + // Already patrolled? |
| 1235 | + $rcid = is_object($rc) && !$rc->getAttribute('rc_patrolled') ? $rcid : 0; |
| 1236 | + } else { |
| 1237 | + // Look for an unpatrolled change corresponding to this diff |
| 1238 | + $db = wfGetDB( DB_SLAVE ); |
| 1239 | + $change = RecentChange::newFromConds( |
| 1240 | + array( |
| 1241 | + // Redundant user,timestamp condition so we can use the existing index |
| 1242 | + 'rc_user_text' => $this->mNewRev->getRawUserText(), |
| 1243 | + 'rc_timestamp' => $db->timestamp( $this->mNewRev->getTimestamp() ), |
| 1244 | + 'rc_this_oldid' => $this->mNewid, |
| 1245 | + 'rc_last_oldid' => $this->mOldid, |
| 1246 | + 'rc_patrolled' => 0 |
| 1247 | + ), |
| 1248 | + __METHOD__ |
| 1249 | + ); |
| 1250 | + if( $change instanceof RecentChange ) { |
| 1251 | + $rcid = $change->mAttribs['rc_id']; |
| 1252 | + $this->mRcidMarkPatrolled = $rcid; |
| 1253 | + } else { |
| 1254 | + // None found |
| 1255 | + $rcid = 0; |
| 1256 | + } |
| 1257 | + } |
| 1258 | + // Build the link |
| 1259 | + if( $rcid ) { |
| 1260 | + $patrol = ' <span class="patrollink">[' . $sk->link( |
| 1261 | + $this->mTitle, |
| 1262 | + wfMsgHtml( 'markaspatrolleddiff' ), |
| 1263 | + array(), |
| 1264 | + array( |
| 1265 | + 'action' => 'markpatrolled', |
| 1266 | + 'rcid' => $rcid |
| 1267 | + ), |
| 1268 | + array( |
| 1269 | + 'known', |
| 1270 | + 'noclasses' |
| 1271 | + ) |
| 1272 | + ) . ']</span>'; |
| 1273 | + } else { |
| 1274 | + $patrol = ''; |
| 1275 | + } |
| 1276 | + } else { |
| 1277 | + $patrol = ''; |
| 1278 | + } |
| 1279 | + |
| 1280 | + # Carry over 'diffonly' param via navigation links |
| 1281 | + if( $diffOnly != $wgUser->getBoolOption('diffonly') ) { |
| 1282 | + $query['diffonly'] = $diffOnly; |
| 1283 | + } |
| 1284 | + |
| 1285 | + $htmldiffarg = $this->htmlDiffArgument(); |
| 1286 | + |
| 1287 | + if( $htmldiffarg ) { |
| 1288 | + $query['htmldiff'] = $htmldiffarg['htmldiff']; |
| 1289 | + } |
| 1290 | + |
| 1291 | + # Make "previous revision link" |
| 1292 | + $query['diff'] = 'prev'; |
| 1293 | + $query['oldid'] = $this->mOldid; |
| 1294 | + |
| 1295 | + $prevlink = $sk->link( |
| 1296 | + $this->mTitle, |
| 1297 | + wfMsgHtml( 'previousdiff' ), |
| 1298 | + array( |
| 1299 | + 'id' => 'differences-prevlink' |
| 1300 | + ), |
| 1301 | + $query, |
| 1302 | + array( |
| 1303 | + 'known', |
| 1304 | + 'noclasses' |
| 1305 | + ) |
| 1306 | + ); |
| 1307 | + # Make "next revision link" |
| 1308 | + $query['diff'] = 'next'; |
| 1309 | + $query['oldid'] = $this->mNewid; |
| 1310 | + |
| 1311 | + if( $this->mNewRev->isCurrent() ) { |
| 1312 | + $nextlink = ' '; |
| 1313 | + } else { |
| 1314 | + $nextlink = $sk->link( |
| 1315 | + $this->mTitle, |
| 1316 | + wfMsgHtml( 'nextdiff' ), |
| 1317 | + array( |
| 1318 | + 'id' => 'differences-nextlink' |
| 1319 | + ), |
| 1320 | + $query, |
| 1321 | + array( |
| 1322 | + 'known', |
| 1323 | + 'noclasses' |
| 1324 | + ) |
| 1325 | + ); |
| 1326 | + } |
| 1327 | + |
| 1328 | + $oldminor = ''; |
| 1329 | + $newminor = ''; |
| 1330 | + |
| 1331 | + if( $this->mOldRev->isMinor() ) { |
| 1332 | + $oldminor = ChangesList::flag( 'minor' ); |
| 1333 | + } |
| 1334 | + if( $this->mNewRev->isMinor() ) { |
| 1335 | + $newminor = ChangesList::flag( 'minor' ); |
| 1336 | + } |
| 1337 | + |
| 1338 | + $rdel = ''; $ldel = ''; |
| 1339 | + if( $wgUser->isAllowed( 'deletedhistory' ) ) { |
| 1340 | + // Don't show useless link to people who cannot hide revisions |
| 1341 | + if( $this->mOldRev->getVisibility() || $wgUser->isAllowed( 'deleterevision' ) ) { |
| 1342 | + if( !$this->mOldRev->userCan( Revision::DELETED_RESTRICTED ) ) { |
| 1343 | + // If revision was hidden from sysops |
| 1344 | + $ldel = Xml::tags( 'span', array( 'class' => 'mw-revdelundel-link' ), |
| 1345 | + '(' . wfMsgHtml( 'rev-delundel' ) . ')' ); |
| 1346 | + } else { |
| 1347 | + $query = array( |
| 1348 | + 'type' => 'revision', |
| 1349 | + 'target' => $this->mOldRev->mTitle->getPrefixedDbkey(), |
| 1350 | + 'ids' => $this->mOldRev->getId() |
| 1351 | + ); |
| 1352 | + $ldel = $sk->revDeleteLink( $query, $this->mOldRev->isDeleted( Revision::DELETED_RESTRICTED ) ); |
| 1353 | + } |
| 1354 | + $ldel = " $ldel "; |
| 1355 | + } |
| 1356 | + // Don't show useless link to people who cannot hide revisions |
| 1357 | + if( $this->mNewRev->getVisibility() || $wgUser->isAllowed( 'deleterevision' ) ) { |
| 1358 | + if( !$this->mNewRev->userCan( Revision::DELETED_RESTRICTED ) ) { |
| 1359 | + // If revision was hidden from sysops |
| 1360 | + $rdel = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ), '('.wfMsgHtml( 'rev-delundel' ).')' ); |
| 1361 | + } else { |
| 1362 | + $query = array( |
| 1363 | + 'type' => 'revision', |
| 1364 | + 'target' => $this->mNewRev->mTitle->getPrefixedDbkey(), |
| 1365 | + 'ids' => $this->mNewRev->getId() |
| 1366 | + ); |
| 1367 | + $rdel = $sk->revDeleteLink( $query, $this->mNewRev->isDeleted( Revision::DELETED_RESTRICTED ) ); |
| 1368 | + } |
| 1369 | + $rdel = " $rdel "; |
| 1370 | + } |
| 1371 | + } |
| 1372 | + |
| 1373 | + $oldHeader = '<div id="mw-diff-otitle1"><strong>'.$this->mOldtitle.'</strong></div>' . |
| 1374 | + '<div id="mw-diff-otitle2">' . $sk->revUserTools( $this->mOldRev, !$this->unhide ) . "</div>" . |
| 1375 | + '<div id="mw-diff-otitle3">' . $oldminor . $sk->revComment( $this->mOldRev, !$diffOnly, !$this->unhide ).$ldel."</div>" . |
| 1376 | + '<div id="mw-diff-otitle4">' . $prevlink .'</div>'; |
| 1377 | + $newHeader = '<div id="mw-diff-ntitle1"><strong>'.$this->mNewtitle.'</strong></div>' . |
| 1378 | + '<div id="mw-diff-ntitle2">' . $sk->revUserTools( $this->mNewRev, !$this->unhide ) . " $rollback</div>" . |
| 1379 | + '<div id="mw-diff-ntitle3">' . $newminor . $sk->revComment( $this->mNewRev, !$diffOnly, !$this->unhide ).$rdel."</div>" . |
| 1380 | + '<div id="mw-diff-ntitle4">' . $nextlink . $patrol . '</div>'; |
| 1381 | + |
| 1382 | + # Check if this user can see the revisions |
| 1383 | + $allowed = $this->mOldRev->userCan(Revision::DELETED_TEXT) |
| 1384 | + && $this->mNewRev->userCan(Revision::DELETED_TEXT); |
| 1385 | + # Check if one of the revisions is deleted/suppressed |
| 1386 | + $deleted = $suppressed = false; |
| 1387 | + if( $this->mOldRev->isDeleted(Revision::DELETED_TEXT) ) { |
| 1388 | + $deleted = true; // old revisions text is hidden |
| 1389 | + if( $this->mOldRev->isDeleted(Revision::DELETED_RESTRICTED) ) |
| 1390 | + $suppressed = true; // also suppressed |
| 1391 | + } |
| 1392 | + if( $this->mNewRev->isDeleted(Revision::DELETED_TEXT) ) { |
| 1393 | + $deleted = true; // new revisions text is hidden |
| 1394 | + if( $this->mNewRev->isDeleted(Revision::DELETED_RESTRICTED) ) |
| 1395 | + $suppressed = true; // also suppressed |
| 1396 | + } |
| 1397 | + # Output the diff if allowed... |
| 1398 | + if( $deleted && (!$this->unhide || !$allowed) ) { |
| 1399 | + $this->showDiffStyle(); |
| 1400 | + $multi = $this->getMultiNotice(); |
| 1401 | + $wgOut->addHTML( $this->addHeader( '', $oldHeader, $newHeader, $multi ) ); |
| 1402 | + if( !$allowed ) { |
| 1403 | + # Give explanation for why revision is not visible |
| 1404 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", |
| 1405 | + array( 'rev-deleted-no-diff' ) ); |
| 1406 | + } else { |
| 1407 | + # Give explanation and add a link to view the diff... |
| 1408 | + $link = $this->mTitle->getFullUrl( array( |
| 1409 | + 'diff' => $this->mNewid, |
| 1410 | + 'oldid' => $this->mOldid, |
| 1411 | + 'unhide' => 1 |
| 1412 | + ) ); |
| 1413 | + $msg = $suppressed ? 'rev-suppressed-unhide-diff' : 'rev-deleted-unhide-diff'; |
| 1414 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", array( $msg, $link ) ); |
| 1415 | + } |
| 1416 | + } else if( $wgEnableHtmlDiff && $this->htmldiff ) { |
| 1417 | + $multi = $this->getMultiNotice(); |
| 1418 | + $wgOut->addHTML( '<div class="diff-switchtype">' . $sk->link( |
| 1419 | + $this->mTitle, |
| 1420 | + wfMsgHtml( 'wikicodecomparison' ), |
| 1421 | + array( |
| 1422 | + 'id' => 'differences-switchtype' |
| 1423 | + ), |
| 1424 | + array( |
| 1425 | + 'diff' => $this->mNewid, |
| 1426 | + 'oldid' => $this->mOldid, |
| 1427 | + 'htmldiff' => 0 |
| 1428 | + ), |
| 1429 | + array( |
| 1430 | + 'known', |
| 1431 | + 'noclasses' |
| 1432 | + ) |
| 1433 | + ) . '</div>'); |
| 1434 | + $wgOut->addHTML( $this->addHeader( '', $oldHeader, $newHeader, $multi ) ); |
| 1435 | + $this->renderHtmlDiff(); |
| 1436 | + } else { |
| 1437 | + if( $wgEnableHtmlDiff ) { |
| 1438 | + $wgOut->addHTML( '<div class="diff-switchtype">' . $sk->link( |
| 1439 | + $this->mTitle, |
| 1440 | + wfMsgHtml( 'visualcomparison' ), |
| 1441 | + array( |
| 1442 | + 'id' => 'differences-switchtype' |
| 1443 | + ), |
| 1444 | + array( |
| 1445 | + 'diff' => $this->mNewid, |
| 1446 | + 'oldid' => $this->mOldid, |
| 1447 | + 'htmldiff' => 1 |
| 1448 | + ), |
| 1449 | + array( |
| 1450 | + 'known', |
| 1451 | + 'noclasses' |
| 1452 | + ) |
| 1453 | + ) . '</div>'); |
| 1454 | + } |
| 1455 | + $this->showDiff( $oldHeader, $newHeader ); |
| 1456 | + if( !$diffOnly ) { |
| 1457 | + $this->renderNewRevision(); |
| 1458 | + } |
| 1459 | + } |
| 1460 | + wfProfileOut( __METHOD__ ); |
| 1461 | + } |
| 1462 | + |
| 1463 | + /** |
| 1464 | + * Show the new revision of the page. |
| 1465 | + */ |
| 1466 | + function renderNewRevision() { |
| 1467 | + global $wgOut, $wgUser; |
| 1468 | + wfProfileIn( __METHOD__ ); |
| 1469 | + |
| 1470 | + $wgOut->addHTML( "<hr /><h2>{$this->mPagetitle}</h2>\n" ); |
| 1471 | + # Add deleted rev tag if needed |
| 1472 | + if( !$this->mNewRev->userCan(Revision::DELETED_TEXT) ) { |
| 1473 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", 'rev-deleted-text-permission' ); |
| 1474 | + } else if( $this->mNewRev->isDeleted(Revision::DELETED_TEXT) ) { |
| 1475 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", 'rev-deleted-text-view' ); |
| 1476 | + } |
| 1477 | + |
| 1478 | + if( !$this->mNewRev->isCurrent() ) { |
| 1479 | + $oldEditSectionSetting = $wgOut->parserOptions()->setEditSection( false ); |
| 1480 | + } |
| 1481 | + |
| 1482 | + $this->loadNewText(); |
| 1483 | + if( is_object( $this->mNewRev ) ) { |
| 1484 | + $wgOut->setRevisionId( $this->mNewRev->getId() ); |
| 1485 | + } |
| 1486 | + |
| 1487 | + if( $this->mTitle->isCssJsSubpage() || $this->mTitle->isCssOrJsPage() ) { |
| 1488 | + // Stolen from Article::view --AG 2007-10-11 |
| 1489 | + // Give hooks a chance to customise the output |
| 1490 | + if( wfRunHooks( 'ShowRawCssJs', array( $this->mNewtext, $this->mTitle, $wgOut ) ) ) { |
| 1491 | + // Wrap the whole lot in a <pre> and don't parse |
| 1492 | + $m = array(); |
| 1493 | + preg_match( '!\.(css|js)$!u', $this->mTitle->getText(), $m ); |
| 1494 | + $wgOut->addHTML( "<pre class=\"mw-code mw-{$m[1]}\" dir=\"ltr\">\n" ); |
| 1495 | + $wgOut->addHTML( htmlspecialchars( $this->mNewtext ) ); |
| 1496 | + $wgOut->addHTML( "\n</pre>\n" ); |
| 1497 | + } |
| 1498 | + } else { |
| 1499 | + $wgOut->addWikiTextTidy( $this->mNewtext ); |
| 1500 | + } |
| 1501 | + |
| 1502 | + if( is_object( $this->mNewRev ) && !$this->mNewRev->isCurrent() ) { |
| 1503 | + $wgOut->parserOptions()->setEditSection( $oldEditSectionSetting ); |
| 1504 | + } |
| 1505 | + # Add redundant patrol link on bottom... |
| 1506 | + if( $this->mRcidMarkPatrolled && $this->mTitle->quickUserCan('patrol') ) { |
| 1507 | + $sk = $wgUser->getSkin(); |
| 1508 | + $wgOut->addHTML( |
| 1509 | + "<div class='patrollink'>[" . $sk->link( |
| 1510 | + $this->mTitle, |
| 1511 | + wfMsgHtml( 'markaspatrolleddiff' ), |
| 1512 | + array(), |
| 1513 | + array( |
| 1514 | + 'action' => 'markpatrolled', |
| 1515 | + 'rcid' => $this->mRcidMarkPatrolled |
| 1516 | + ) |
| 1517 | + ) . ']</div>' |
| 1518 | + ); |
| 1519 | + } |
| 1520 | + |
| 1521 | + wfProfileOut( __METHOD__ ); |
| 1522 | + } |
| 1523 | + |
| 1524 | + |
| 1525 | + function renderHtmlDiff() { |
| 1526 | + global $wgOut, $wgParser, $wgDebugComments; |
| 1527 | + wfProfileIn( __METHOD__ ); |
| 1528 | + |
| 1529 | + $this->showDiffStyle(); |
| 1530 | + |
| 1531 | + $wgOut->addHTML( '<h2>'.wfMsgHtml( 'visual-comparison' )."</h2>\n" ); |
| 1532 | + #add deleted rev tag if needed |
| 1533 | + if( !$this->mNewRev->userCan(Revision::DELETED_TEXT) ) { |
| 1534 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", 'rev-deleted-text-permission' ); |
| 1535 | + } else if( $this->mNewRev->isDeleted(Revision::DELETED_TEXT) ) { |
| 1536 | + $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1</div>\n", 'rev-deleted-text-view' ); |
| 1537 | + } |
| 1538 | + |
| 1539 | + if( !$this->mNewRev->isCurrent() ) { |
| 1540 | + $oldEditSectionSetting = $wgOut->parserOptions()->setEditSection( false ); |
| 1541 | + } |
| 1542 | + |
| 1543 | + $this->loadText(); |
| 1544 | + |
| 1545 | + // Old revision |
| 1546 | + if( is_object( $this->mOldRev ) ) { |
| 1547 | + $wgOut->setRevisionId( $this->mOldRev->getId() ); |
| 1548 | + } |
| 1549 | + |
| 1550 | + $popts = $wgOut->parserOptions(); |
| 1551 | + $oldTidy = $popts->setTidy( true ); |
| 1552 | + $popts->setEditSection( false ); |
| 1553 | + |
| 1554 | + $parserOutput = $wgParser->parse( $this->mOldtext, $this->getTitle(), $popts, true, true, $wgOut->getRevisionId() ); |
| 1555 | + $popts->setTidy( $oldTidy ); |
| 1556 | + |
| 1557 | + //only for new? |
| 1558 | + //$wgOut->addParserOutputNoText( $parserOutput ); |
| 1559 | + $oldHtml = $parserOutput->getText(); |
| 1560 | + wfRunHooks( 'OutputPageBeforeHTML', array( &$wgOut, &$oldHtml ) ); |
| 1561 | + |
| 1562 | + // New revision |
| 1563 | + if( is_object( $this->mNewRev ) ) { |
| 1564 | + $wgOut->setRevisionId( $this->mNewRev->getId() ); |
| 1565 | + } |
| 1566 | + |
| 1567 | + $popts = $wgOut->parserOptions(); |
| 1568 | + $oldTidy = $popts->setTidy( true ); |
| 1569 | + |
| 1570 | + $parserOutput = $wgParser->parse( $this->mNewtext, $this->getTitle(), $popts, true, true, $wgOut->getRevisionId() ); |
| 1571 | + $popts->setTidy( $oldTidy ); |
| 1572 | + |
| 1573 | + $wgOut->addParserOutputNoText( $parserOutput ); |
| 1574 | + $newHtml = $parserOutput->getText(); |
| 1575 | + wfRunHooks( 'OutputPageBeforeHTML', array( &$wgOut, &$newHtml ) ); |
| 1576 | + |
| 1577 | + unset($parserOutput, $popts); |
| 1578 | + |
| 1579 | + $differ = new HTMLDiffer(new DelegatingContentHandler($wgOut)); |
| 1580 | + $differ->htmlDiff($oldHtml, $newHtml); |
| 1581 | + if ( $wgDebugComments ) { |
| 1582 | + $wgOut->addHTML( "\n<!-- HtmlDiff Debug Output:\n" . HTMLDiffer::getDebugOutput() . " End Debug -->" ); |
| 1583 | + } |
| 1584 | + |
| 1585 | + wfProfileOut( __METHOD__ ); |
| 1586 | + } |
| 1587 | + |
| 1588 | + /** |
| 1589 | + * Show the first revision of an article. Uses normal diff headers in |
| 1590 | + * contrast to normal "old revision" display style. |
| 1591 | + */ |
| 1592 | + function showFirstRevision() { |
| 1593 | + global $wgOut, $wgUser; |
| 1594 | + wfProfileIn( __METHOD__ ); |
| 1595 | + |
| 1596 | + # Get article text from the DB |
| 1597 | + # |
| 1598 | + if ( ! $this->loadNewText() ) { |
| 1599 | + $t = $this->mTitle->getPrefixedText(); |
| 1600 | + $d = wfMsgExt( 'missingarticle-diff', array( 'escape' ), $this->mOldid, $this->mNewid ); |
| 1601 | + $wgOut->setPagetitle( wfMsg( 'errorpagetitle' ) ); |
| 1602 | + $wgOut->addWikiMsg( 'missing-article', "<nowiki>$t</nowiki>", $d ); |
| 1603 | + wfProfileOut( __METHOD__ ); |
| 1604 | + return; |
| 1605 | + } |
| 1606 | + if ( $this->mNewRev->isCurrent() ) { |
| 1607 | + $wgOut->setArticleFlag( true ); |
| 1608 | + } |
| 1609 | + |
| 1610 | + # Check if user is allowed to look at this page. If not, bail out. |
| 1611 | + # |
| 1612 | + if ( !$this->mTitle->userCanRead() ) { |
| 1613 | + $wgOut->loginToUse(); |
| 1614 | + $wgOut->output(); |
| 1615 | + wfProfileOut( __METHOD__ ); |
| 1616 | + throw new MWException("Permission Error: you do not have access to view this page"); |
| 1617 | + } |
| 1618 | + |
| 1619 | + # Prepare the header box |
| 1620 | + # |
| 1621 | + $sk = $wgUser->getSkin(); |
| 1622 | + |
| 1623 | + $next = $this->mTitle->getNextRevisionID( $this->mNewid ); |
| 1624 | + if( !$next ) { |
| 1625 | + $nextlink = ''; |
| 1626 | + } else { |
| 1627 | + $nextlink = '<br/>' . $sk->link( |
| 1628 | + $this->mTitle, |
| 1629 | + wfMsgHtml( 'nextdiff' ), |
| 1630 | + array( |
| 1631 | + 'id' => 'differences-nextlink' |
| 1632 | + ), |
| 1633 | + array( |
| 1634 | + 'diff' => 'next', |
| 1635 | + 'oldid' => $this->mNewid, |
| 1636 | + $this->htmlDiffArgument() |
| 1637 | + ), |
| 1638 | + array( |
| 1639 | + 'known', |
| 1640 | + 'noclasses' |
| 1641 | + ) |
| 1642 | + ); |
| 1643 | + } |
| 1644 | + $header = "<div class=\"firstrevisionheader\" style=\"text-align: center\">" . |
| 1645 | + $sk->revUserTools( $this->mNewRev ) . "<br/>" . $sk->revComment( $this->mNewRev ) . $nextlink . "</div>\n"; |
| 1646 | + |
| 1647 | + $wgOut->addHTML( $header ); |
| 1648 | + |
| 1649 | + $wgOut->setSubtitle( wfMsgExt( 'difference', array( 'parseinline' ) ) ); |
| 1650 | + $wgOut->setRobotPolicy( 'noindex,nofollow' ); |
| 1651 | + |
| 1652 | + wfProfileOut( __METHOD__ ); |
| 1653 | + } |
| 1654 | + |
| 1655 | + function htmlDiffArgument(){ |
| 1656 | + global $wgEnableHtmlDiff; |
| 1657 | + if($wgEnableHtmlDiff){ |
| 1658 | + if($this->htmldiff){ |
| 1659 | + return array( 'htmldiff' => 1 ); |
| 1660 | + }else{ |
| 1661 | + return array( 'htmldiff' => 0 ); |
| 1662 | + } |
| 1663 | + }else{ |
| 1664 | + return array(); |
| 1665 | + } |
| 1666 | + } |
| 1667 | + |
| 1668 | + /** |
| 1669 | + * Get the diff text, send it to $wgOut |
| 1670 | + * Returns false if the diff could not be generated, otherwise returns true |
| 1671 | + */ |
| 1672 | + function showDiff( $otitle, $ntitle ) { |
| 1673 | + global $wgOut; |
| 1674 | + $diff = $this->getDiff( $otitle, $ntitle ); |
| 1675 | + if ( $diff === false ) { |
| 1676 | + $wgOut->addWikiMsg( 'missing-article', "<nowiki>(fixme, bug)</nowiki>", '' ); |
| 1677 | + return false; |
| 1678 | + } else { |
| 1679 | + $this->showDiffStyle(); |
| 1680 | + $wgOut->addHTML( $diff ); |
| 1681 | + return true; |
| 1682 | + } |
| 1683 | + } |
| 1684 | + |
| 1685 | + /** |
| 1686 | + * Add style sheets and supporting JS for diff display. |
| 1687 | + */ |
| 1688 | + function showDiffStyle() { |
| 1689 | + global $wgStylePath, $wgStyleVersion, $wgOut; |
| 1690 | + $wgOut->addStyle( 'common/diff.css' ); |
| 1691 | + |
| 1692 | + // JS is needed to detect old versions of Mozilla to work around an annoyance bug. |
| 1693 | + $wgOut->addScript( "<script type=\"text/javascript\" src=\"$wgStylePath/common/diff.js?$wgStyleVersion\"></script>" ); |
| 1694 | + } |
| 1695 | + |
| 1696 | + /** |
| 1697 | + * Get complete diff table, including header |
| 1698 | + * |
| 1699 | + * @param Title $otitle Old title |
| 1700 | + * @param Title $ntitle New title |
| 1701 | + * @return mixed |
| 1702 | + */ |
| 1703 | + function getDiff( $otitle, $ntitle ) { |
| 1704 | + $body = $this->getDiffBody(); |
| 1705 | + if ( $body === false ) { |
| 1706 | + return false; |
| 1707 | + } else { |
| 1708 | + $multi = $this->getMultiNotice(); |
| 1709 | + return $this->addHeader( $body, $otitle, $ntitle, $multi ); |
| 1710 | + } |
| 1711 | + } |
| 1712 | + |
| 1713 | + /** |
| 1714 | + * Get the diff table body, without header |
| 1715 | + * |
| 1716 | + * @return mixed |
| 1717 | + */ |
| 1718 | + function getDiffBody() { |
| 1719 | + global $wgMemc; |
| 1720 | + wfProfileIn( __METHOD__ ); |
| 1721 | + $this->mCacheHit = true; |
| 1722 | + // Check if the diff should be hidden from this user |
| 1723 | + if ( !$this->loadRevisionData() ) |
| 1724 | + return ''; |
| 1725 | + if ( $this->mOldRev && !$this->mOldRev->userCan(Revision::DELETED_TEXT) ) { |
| 1726 | + return ''; |
| 1727 | + } else if ( $this->mNewRev && !$this->mNewRev->userCan(Revision::DELETED_TEXT) ) { |
| 1728 | + return ''; |
| 1729 | + } else if ( $this->mOldRev && $this->mNewRev && $this->mOldRev->getID() == $this->mNewRev->getID() ) { |
| 1730 | + return ''; |
| 1731 | + } |
| 1732 | + // Cacheable? |
| 1733 | + $key = false; |
| 1734 | + if ( $this->mOldid && $this->mNewid ) { |
| 1735 | + $key = wfMemcKey( 'diff', 'version', MW_DIFF_VERSION, 'oldid', $this->mOldid, 'newid', $this->mNewid ); |
| 1736 | + // Try cache |
| 1737 | + if ( !$this->mRefreshCache ) { |
| 1738 | + $difftext = $wgMemc->get( $key ); |
| 1739 | + if ( $difftext ) { |
| 1740 | + wfIncrStats( 'diff_cache_hit' ); |
| 1741 | + $difftext = $this->localiseLineNumbers( $difftext ); |
| 1742 | + $difftext .= "\n<!-- diff cache key $key -->\n"; |
| 1743 | + wfProfileOut( __METHOD__ ); |
| 1744 | + return $difftext; |
| 1745 | + } |
| 1746 | + } // don't try to load but save the result |
| 1747 | + } |
| 1748 | + $this->mCacheHit = false; |
| 1749 | + |
| 1750 | + // Loadtext is permission safe, this just clears out the diff |
| 1751 | + if ( !$this->loadText() ) { |
| 1752 | + wfProfileOut( __METHOD__ ); |
| 1753 | + return false; |
| 1754 | + } |
| 1755 | + |
| 1756 | + $difftext = $this->generateDiffBody( $this->mOldtext, $this->mNewtext ); |
| 1757 | + |
| 1758 | + // Save to cache for 7 days |
| 1759 | + if ( !wfRunHooks( 'AbortDiffCache', array( &$this ) ) ) { |
| 1760 | + wfIncrStats( 'diff_uncacheable' ); |
| 1761 | + } else if ( $key !== false && $difftext !== false ) { |
| 1762 | + wfIncrStats( 'diff_cache_miss' ); |
| 1763 | + $wgMemc->set( $key, $difftext, 7*86400 ); |
| 1764 | + } else { |
| 1765 | + wfIncrStats( 'diff_uncacheable' ); |
| 1766 | + } |
| 1767 | + // Replace line numbers with the text in the user's language |
| 1768 | + if ( $difftext !== false ) { |
| 1769 | + $difftext = $this->localiseLineNumbers( $difftext ); |
| 1770 | + } |
| 1771 | + wfProfileOut( __METHOD__ ); |
| 1772 | + return $difftext; |
| 1773 | + } |
| 1774 | + |
| 1775 | + /** |
| 1776 | + * Make sure the proper modules are loaded before we try to |
| 1777 | + * make the diff |
| 1778 | + */ |
| 1779 | + private function initDiffEngines() { |
| 1780 | + global $wgExternalDiffEngine; |
| 1781 | + if ( $wgExternalDiffEngine == 'wikidiff' && !function_exists( 'wikidiff_do_diff' ) ) { |
| 1782 | + wfProfileIn( __METHOD__ . '-php_wikidiff.so' ); |
| 1783 | + wfSuppressWarnings(); |
| 1784 | + dl( 'php_wikidiff.so' ); |
| 1785 | + wfRestoreWarnings(); |
| 1786 | + wfProfileOut( __METHOD__ . '-php_wikidiff.so' ); |
| 1787 | + } |
| 1788 | + else if ( $wgExternalDiffEngine == 'wikidiff2' && !function_exists( 'wikidiff2_do_diff' ) ) { |
| 1789 | + wfProfileIn( __METHOD__ . '-php_wikidiff2.so' ); |
| 1790 | + wfSuppressWarnings(); |
| 1791 | + dl( 'php_wikidiff2.so' ); |
| 1792 | + wfRestoreWarnings(); |
| 1793 | + wfProfileOut( __METHOD__ . '-php_wikidiff2.so' ); |
| 1794 | + } |
| 1795 | + } |
| 1796 | + |
| 1797 | + /** |
| 1798 | + * Generate a diff, no caching |
| 1799 | + * $otext and $ntext must be already segmented |
| 1800 | + */ |
| 1801 | + function generateDiffBody( $otext, $ntext ) { |
| 1802 | + global $wgExternalDiffEngine, $wgContLang; |
| 1803 | + |
| 1804 | + $otext = str_replace( "\r\n", "\n", $otext ); |
| 1805 | + $ntext = str_replace( "\r\n", "\n", $ntext ); |
| 1806 | + |
| 1807 | + $this->initDiffEngines(); |
| 1808 | + |
| 1809 | + if ( $wgExternalDiffEngine == 'wikidiff' && function_exists( 'wikidiff_do_diff' ) ) { |
| 1810 | + # For historical reasons, external diff engine expects |
| 1811 | + # input text to be HTML-escaped already |
| 1812 | + $otext = htmlspecialchars ( $wgContLang->segmentForDiff( $otext ) ); |
| 1813 | + $ntext = htmlspecialchars ( $wgContLang->segmentForDiff( $ntext ) ); |
| 1814 | + return $wgContLang->unsegementForDiff( wikidiff_do_diff( $otext, $ntext, 2 ) ) . |
| 1815 | + $this->debug( 'wikidiff1' ); |
| 1816 | + } |
| 1817 | + |
| 1818 | + if ( $wgExternalDiffEngine == 'wikidiff2' && function_exists( 'wikidiff2_do_diff' ) ) { |
| 1819 | + # Better external diff engine, the 2 may some day be dropped |
| 1820 | + # This one does the escaping and segmenting itself |
| 1821 | + wfProfileIn( 'wikidiff2_do_diff' ); |
| 1822 | + $text = wikidiff2_do_diff( $otext, $ntext, 2 ); |
| 1823 | + $text .= $this->debug( 'wikidiff2' ); |
| 1824 | + wfProfileOut( 'wikidiff2_do_diff' ); |
| 1825 | + return $text; |
| 1826 | + } |
| 1827 | + if ( $wgExternalDiffEngine != 'wikidiff3' && $wgExternalDiffEngine !== false ) { |
| 1828 | + # Diff via the shell |
| 1829 | + global $wgTmpDirectory; |
| 1830 | + $tempName1 = tempnam( $wgTmpDirectory, 'diff_' ); |
| 1831 | + $tempName2 = tempnam( $wgTmpDirectory, 'diff_' ); |
| 1832 | + |
| 1833 | + $tempFile1 = fopen( $tempName1, "w" ); |
| 1834 | + if ( !$tempFile1 ) { |
| 1835 | + wfProfileOut( __METHOD__ ); |
| 1836 | + return false; |
| 1837 | + } |
| 1838 | + $tempFile2 = fopen( $tempName2, "w" ); |
| 1839 | + if ( !$tempFile2 ) { |
| 1840 | + wfProfileOut( __METHOD__ ); |
| 1841 | + return false; |
| 1842 | + } |
| 1843 | + fwrite( $tempFile1, $otext ); |
| 1844 | + fwrite( $tempFile2, $ntext ); |
| 1845 | + fclose( $tempFile1 ); |
| 1846 | + fclose( $tempFile2 ); |
| 1847 | + $cmd = wfEscapeShellArg( $wgExternalDiffEngine, $tempName1, $tempName2 ); |
| 1848 | + wfProfileIn( __METHOD__ . "-shellexec" ); |
| 1849 | + $difftext = wfShellExec( $cmd ); |
| 1850 | + $difftext .= $this->debug( "external $wgExternalDiffEngine" ); |
| 1851 | + wfProfileOut( __METHOD__ . "-shellexec" ); |
| 1852 | + unlink( $tempName1 ); |
| 1853 | + unlink( $tempName2 ); |
| 1854 | + return $difftext; |
| 1855 | + } |
| 1856 | + |
| 1857 | + # Native PHP diff |
| 1858 | + $ota = explode( "\n", $wgContLang->segmentForDiff( $otext ) ); |
| 1859 | + $nta = explode( "\n", $wgContLang->segmentForDiff( $ntext ) ); |
| 1860 | + $diffs = new Diff( $ota, $nta ); |
| 1861 | + $formatter = new TableDiffFormatter(); |
| 1862 | + return $wgContLang->unsegmentForDiff( $formatter->format( $diffs ) ) . |
| 1863 | + $this->debug(); |
| 1864 | + } |
| 1865 | + |
| 1866 | + /** |
| 1867 | + * Generate a debug comment indicating diff generating time, |
| 1868 | + * server node, and generator backend. |
| 1869 | + */ |
| 1870 | + protected function debug( $generator="internal" ) { |
| 1871 | + global $wgShowHostnames; |
| 1872 | + if ( !$this->enableDebugComment ) { |
| 1873 | + return ''; |
| 1874 | + } |
| 1875 | + $data = array( $generator ); |
| 1876 | + if( $wgShowHostnames ) { |
| 1877 | + $data[] = wfHostname(); |
| 1878 | + } |
| 1879 | + $data[] = wfTimestamp( TS_DB ); |
| 1880 | + return "<!-- diff generator: " . |
| 1881 | + implode( " ", |
| 1882 | + array_map( |
| 1883 | + "htmlspecialchars", |
| 1884 | + $data ) ) . |
| 1885 | + " -->\n"; |
| 1886 | + } |
| 1887 | + |
| 1888 | + /** |
| 1889 | + * Replace line numbers with the text in the user's language |
| 1890 | + */ |
| 1891 | + function localiseLineNumbers( $text ) { |
| 1892 | + return preg_replace_callback( '/<!--LINE (\d+)-->/', |
| 1893 | + array( &$this, 'localiseLineNumbersCb' ), $text ); |
| 1894 | + } |
| 1895 | + |
| 1896 | + function localiseLineNumbersCb( $matches ) { |
| 1897 | + global $wgLang; |
| 1898 | + if ( $matches[1] === '1' && $this->mReducedLineNumbers ) return ''; |
| 1899 | + return wfMsgExt( 'lineno', 'escape', $wgLang->formatNum( $matches[1] ) ); |
| 1900 | + } |
| 1901 | + |
| 1902 | + |
| 1903 | + /** |
| 1904 | + * If there are revisions between the ones being compared, return a note saying so. |
| 1905 | + */ |
| 1906 | + function getMultiNotice() { |
| 1907 | + if ( !is_object($this->mOldRev) || !is_object($this->mNewRev) ) |
| 1908 | + return ''; |
| 1909 | + |
| 1910 | + if( !$this->mOldPage->equals( $this->mNewPage ) ) { |
| 1911 | + // Comparing two different pages? Count would be meaningless. |
| 1912 | + return ''; |
| 1913 | + } |
| 1914 | + |
| 1915 | + $oldid = $this->mOldRev->getId(); |
| 1916 | + $newid = $this->mNewRev->getId(); |
| 1917 | + if ( $oldid > $newid ) { |
| 1918 | + $tmp = $oldid; $oldid = $newid; $newid = $tmp; |
| 1919 | + } |
| 1920 | + |
| 1921 | + $n = $this->mTitle->countRevisionsBetween( $oldid, $newid ); |
| 1922 | + if ( !$n ) |
| 1923 | + return ''; |
| 1924 | + |
| 1925 | + return wfMsgExt( 'diff-multi', array( 'parseinline' ), $n ); |
| 1926 | + } |
| 1927 | + |
| 1928 | + |
| 1929 | + /** |
| 1930 | + * Add the header to a diff body |
| 1931 | + */ |
| 1932 | + static function addHeader( $diff, $otitle, $ntitle, $multi = '' ) { |
| 1933 | + $colspan = 1; |
| 1934 | + $header = "<table class='diff'>"; |
| 1935 | + if( $diff ) { // Safari/Chrome show broken output if cols not used |
| 1936 | + $header .= " |
| 1937 | + <col class='diff-marker' /> |
| 1938 | + <col class='diff-content' /> |
| 1939 | + <col class='diff-marker' /> |
| 1940 | + <col class='diff-content' />"; |
| 1941 | + $colspan = 2; |
| 1942 | + } |
| 1943 | + $header .= " |
| 1944 | + <tr valign='top'> |
| 1945 | + <td colspan='$colspan' class='diff-otitle'>{$otitle}</td> |
| 1946 | + <td colspan='$colspan' class='diff-ntitle'>{$ntitle}</td> |
| 1947 | + </tr>"; |
| 1948 | + |
| 1949 | + if ( $multi != '' ) |
| 1950 | + $header .= "<tr><td colspan='4' align='center' class='diff-multi'>{$multi}</td></tr>"; |
| 1951 | + |
| 1952 | + return $header . $diff . "</table>"; |
| 1953 | + } |
| 1954 | + |
| 1955 | + /** |
| 1956 | + * Use specified text instead of loading from the database |
| 1957 | + */ |
| 1958 | + function setText( $oldText, $newText ) { |
| 1959 | + $this->mOldtext = $oldText; |
| 1960 | + $this->mNewtext = $newText; |
| 1961 | + $this->mTextLoaded = 2; |
| 1962 | + $this->mRevisionsLoaded = true; |
| 1963 | + } |
| 1964 | + |
| 1965 | + /** |
| 1966 | + * Load revision metadata for the specified articles. If newid is 0, then compare |
| 1967 | + * the old article in oldid to the current article; if oldid is 0, then |
| 1968 | + * compare the current article to the immediately previous one (ignoring the |
| 1969 | + * value of newid). |
| 1970 | + * |
| 1971 | + * If oldid is false, leave the corresponding revision object set |
| 1972 | + * to false. This is impossible via ordinary user input, and is provided for |
| 1973 | + * API convenience. |
| 1974 | + */ |
| 1975 | + function loadRevisionData() { |
| 1976 | + global $wgLang, $wgUser; |
| 1977 | + if ( $this->mRevisionsLoaded ) { |
| 1978 | + return true; |
| 1979 | + } else { |
| 1980 | + // Whether it succeeds or fails, we don't want to try again |
| 1981 | + $this->mRevisionsLoaded = true; |
| 1982 | + } |
| 1983 | + |
| 1984 | + // Load the new revision object |
| 1985 | + $this->mNewRev = $this->mNewid |
| 1986 | + ? Revision::newFromId( $this->mNewid ) |
| 1987 | + : Revision::newFromTitle( $this->mTitle ); |
| 1988 | + if( !$this->mNewRev instanceof Revision ) |
| 1989 | + return false; |
| 1990 | + |
| 1991 | + // Update the new revision ID in case it was 0 (makes life easier doing UI stuff) |
| 1992 | + $this->mNewid = $this->mNewRev->getId(); |
| 1993 | + |
| 1994 | + // Check if page is editable |
| 1995 | + $editable = $this->mNewRev->getTitle()->userCan( 'edit' ); |
| 1996 | + |
| 1997 | + // Set assorted variables |
| 1998 | + $timestamp = $wgLang->timeanddate( $this->mNewRev->getTimestamp(), true ); |
| 1999 | + $dateofrev = $wgLang->date( $this->mNewRev->getTimestamp(), true ); |
| 2000 | + $timeofrev = $wgLang->time( $this->mNewRev->getTimestamp(), true ); |
| 2001 | + $this->mNewPage = $this->mNewRev->getTitle(); |
| 2002 | + if( $this->mNewRev->isCurrent() ) { |
| 2003 | + $newLink = $this->mNewPage->escapeLocalUrl( array( |
| 2004 | + 'oldid' => $this->mNewid |
| 2005 | + ) ); |
| 2006 | + $this->mPagetitle = htmlspecialchars( wfMsg( |
| 2007 | + 'currentrev-asof', |
| 2008 | + $timestamp, |
| 2009 | + $dateofrev, |
| 2010 | + $timeofrev |
| 2011 | + ) ); |
| 2012 | + $newEdit = $this->mNewPage->escapeLocalUrl( array( |
| 2013 | + 'action' => 'edit' |
| 2014 | + ) ); |
| 2015 | + |
| 2016 | + $this->mNewtitle = "<a href='$newLink'>{$this->mPagetitle}</a>"; |
| 2017 | + $this->mNewtitle .= " (<a href='$newEdit'>" . wfMsgHtml( $editable ? 'editold' : 'viewsourceold' ) . "</a>)"; |
| 2018 | + } else { |
| 2019 | + $newLink = $this->mNewPage->escapeLocalUrl( array( |
| 2020 | + 'oldid' => $this->mNewid |
| 2021 | + ) ); |
| 2022 | + $newEdit = $this->mNewPage->escapeLocalUrl( array( |
| 2023 | + 'action' => 'edit', |
| 2024 | + 'oldid' => $this->mNewid |
| 2025 | + ) ); |
| 2026 | + $this->mPagetitle = htmlspecialchars( wfMsg( |
| 2027 | + 'revisionasof', |
| 2028 | + $timestamp, |
| 2029 | + $dateofrev, |
| 2030 | + $timeofrev |
| 2031 | + ) ); |
| 2032 | + |
| 2033 | + $this->mNewtitle = "<a href='$newLink'>{$this->mPagetitle}</a>"; |
| 2034 | + $this->mNewtitle .= " (<a href='$newEdit'>" . wfMsgHtml( $editable ? 'editold' : 'viewsourceold' ) . "</a>)"; |
| 2035 | + } |
| 2036 | + if( !$this->mNewRev->userCan(Revision::DELETED_TEXT) ) { |
| 2037 | + $this->mNewtitle = "<span class='history-deleted'>{$this->mPagetitle}</span>"; |
| 2038 | + } else if ( $this->mNewRev->isDeleted(Revision::DELETED_TEXT) ) { |
| 2039 | + $this->mNewtitle = "<span class='history-deleted'>{$this->mNewtitle}</span>"; |
| 2040 | + } |
| 2041 | + |
| 2042 | + // Load the old revision object |
| 2043 | + $this->mOldRev = false; |
| 2044 | + if( $this->mOldid ) { |
| 2045 | + $this->mOldRev = Revision::newFromId( $this->mOldid ); |
| 2046 | + } elseif ( $this->mOldid === 0 ) { |
| 2047 | + $rev = $this->mNewRev->getPrevious(); |
| 2048 | + if( $rev ) { |
| 2049 | + $this->mOldid = $rev->getId(); |
| 2050 | + $this->mOldRev = $rev; |
| 2051 | + } else { |
| 2052 | + // No previous revision; mark to show as first-version only. |
| 2053 | + $this->mOldid = false; |
| 2054 | + $this->mOldRev = false; |
| 2055 | + } |
| 2056 | + }/* elseif ( $this->mOldid === false ) leave mOldRev false; */ |
| 2057 | + |
| 2058 | + if( is_null( $this->mOldRev ) ) { |
| 2059 | + return false; |
| 2060 | + } |
| 2061 | + |
| 2062 | + if ( $this->mOldRev ) { |
| 2063 | + $this->mOldPage = $this->mOldRev->getTitle(); |
| 2064 | + |
| 2065 | + $t = $wgLang->timeanddate( $this->mOldRev->getTimestamp(), true ); |
| 2066 | + $dateofrev = $wgLang->date( $this->mOldRev->getTimestamp(), true ); |
| 2067 | + $timeofrev = $wgLang->time( $this->mOldRev->getTimestamp(), true ); |
| 2068 | + $oldLink = $this->mOldPage->escapeLocalUrl( array( |
| 2069 | + 'oldid' => $this->mOldid |
| 2070 | + ) ); |
| 2071 | + $oldEdit = $this->mOldPage->escapeLocalUrl( array( |
| 2072 | + 'action' => 'edit', |
| 2073 | + 'oldid' => $this->mOldid |
| 2074 | + ) ); |
| 2075 | + $this->mOldPagetitle = htmlspecialchars( wfMsg( 'revisionasof', $t, $dateofrev, $timeofrev ) ); |
| 2076 | + |
| 2077 | + $this->mOldtitle = "<a href='$oldLink'>{$this->mOldPagetitle}</a>" |
| 2078 | + . " (<a href='$oldEdit'>" . wfMsgHtml( $editable ? 'editold' : 'viewsourceold' ) . "</a>)"; |
| 2079 | + // Add an "undo" link |
| 2080 | + $newUndo = $this->mNewPage->escapeLocalUrl( array( |
| 2081 | + 'action' => 'edit', |
| 2082 | + 'undoafter' => $this->mOldid, |
| 2083 | + 'undo' => $this->mNewid |
| 2084 | + ) ); |
| 2085 | + $htmlLink = htmlspecialchars( wfMsg( 'editundo' ) ); |
| 2086 | + $htmlTitle = $wgUser->getSkin()->tooltip( 'undo' ); |
| 2087 | + if( $editable && !$this->mOldRev->isDeleted( Revision::DELETED_TEXT ) && !$this->mNewRev->isDeleted( Revision::DELETED_TEXT ) ) { |
| 2088 | + $this->mNewtitle .= " (<a href='$newUndo' $htmlTitle>" . $htmlLink . "</a>)"; |
| 2089 | + } |
| 2090 | + |
| 2091 | + if( !$this->mOldRev->userCan( Revision::DELETED_TEXT ) ) { |
| 2092 | + $this->mOldtitle = '<span class="history-deleted">' . $this->mOldPagetitle . '</span>'; |
| 2093 | + } else if( $this->mOldRev->isDeleted( Revision::DELETED_TEXT ) ) { |
| 2094 | + $this->mOldtitle = '<span class="history-deleted">' . $this->mOldtitle . '</span>'; |
| 2095 | + } |
| 2096 | + } |
| 2097 | + |
| 2098 | + return true; |
| 2099 | + } |
| 2100 | + |
| 2101 | + /** |
| 2102 | + * Load the text of the revisions, as well as revision data. |
| 2103 | + */ |
| 2104 | + function loadText() { |
| 2105 | + if ( $this->mTextLoaded == 2 ) { |
| 2106 | + return true; |
| 2107 | + } else { |
| 2108 | + // Whether it succeeds or fails, we don't want to try again |
| 2109 | + $this->mTextLoaded = 2; |
| 2110 | + } |
| 2111 | + |
| 2112 | + if ( !$this->loadRevisionData() ) { |
| 2113 | + return false; |
| 2114 | + } |
| 2115 | + if ( $this->mOldRev ) { |
| 2116 | + $this->mOldtext = $this->mOldRev->getText( Revision::FOR_THIS_USER ); |
| 2117 | + if ( $this->mOldtext === false ) { |
| 2118 | + return false; |
| 2119 | + } |
| 2120 | + } |
| 2121 | + if ( $this->mNewRev ) { |
| 2122 | + $this->mNewtext = $this->mNewRev->getText( Revision::FOR_THIS_USER ); |
| 2123 | + if ( $this->mNewtext === false ) { |
| 2124 | + return false; |
| 2125 | + } |
| 2126 | + } |
| 2127 | + return true; |
| 2128 | + } |
| 2129 | + |
| 2130 | + /** |
| 2131 | + * Load the text of the new revision, not the old one |
| 2132 | + */ |
| 2133 | + function loadNewText() { |
| 2134 | + if ( $this->mTextLoaded >= 1 ) { |
| 2135 | + return true; |
| 2136 | + } else { |
| 2137 | + $this->mTextLoaded = 1; |
| 2138 | + } |
| 2139 | + if ( !$this->loadRevisionData() ) { |
| 2140 | + return false; |
| 2141 | + } |
| 2142 | + $this->mNewtext = $this->mNewRev->getText( Revision::FOR_THIS_USER ); |
| 2143 | + return true; |
| 2144 | + } |
| 2145 | +} |
Index: branches/wmf-deployment/languages/messages/MessagesKiu.php |
— | — | @@ -0,0 +1,3396 @@ |
| 2 | +<?php |
| 3 | +/** Kurmancî (Kurmancî) |
| 4 | + * |
| 5 | + * See MessagesQqq.php for message documentation incl. usage of parameters |
| 6 | + * To improve a translation please visit http://translatewiki.net |
| 7 | + * |
| 8 | + * @ingroup Language |
| 9 | + * @file |
| 10 | + * |
| 11 | + * @author Mirzali |
| 12 | + */ |
| 13 | + |
| 14 | +$fallback = 'tr'; |
| 15 | + |
| 16 | +$messages = array( |
| 17 | +# User preference toggles |
| 18 | +'tog-underline' => 'Bınê girêu de xete bonce:', |
| 19 | +'tog-highlightbroken' => 'Girêunê thalu {a href="" class="new"}nia{/a} (alternative: nia{a |
| 20 | +href="" class="internal"}?{/a}) basne.', |
| 21 | +'tog-justify' => 'Nustey dı hetu ser bazne', |
| 22 | +'tog-hideminor' => 'Vurnaisunê senıku pela „vurnaisê peyêni“ de wedare', |
| 23 | +'tog-hidepatrolled' => 'Vurnaisunê qontrolkerdu pela vurnaisê peyêni de wedare', |
| 24 | +'tog-newpageshidepatrolled' => 'Lista pelunê newu ra pelunê qontrolkerdu wedare', |
| 25 | +'tog-extendwatchlist' => 'Lista şêrkerdene serba, teyna tewr peyênu nê, diyaena pêro vurnaisu hira ke', |
| 26 | +'tog-usenewrc' => 'Vurnaisunê peyênunê hirakerdiu bıgurene (JavaScript lazımo)', |
| 27 | +'tog-numberheadings' => 'Sernustu be ho numra cısane', |
| 28 | +'tog-showtoolbar' => 'Gozagunê hacetunê vurnaişi basne (JavaScript lazımo)', |
| 29 | +'tog-editondblclick' => 'Pê dı rey tıknais pele sero bıguriye (JavaScript lazımo)', |
| 30 | +'tog-editsection' => 'Vurnaisê tek tek qısmu rê girêu basne', |
| 31 | +'tog-editsectiononrightclick' => 'Sernustê qısımu sero be gozaga raste tıknaene bıvurne (JavaScript lazımo)', |
| 32 | +'tog-showtoc' => 'Tabloê tedeesteu basne (de pelunê be hirê sernustu ra jêdêri de)', |
| 33 | +'tog-rememberpassword' => 'Parola mı bia ho viri', |
| 34 | +'tog-editwidth' => 'Warê nustey hira ke, ke verıniya pela cıdaisê nustey tam baso', |
| 35 | +'tog-watchcreations' => 'Pelê ke mı afernê, lista mına şêr-kerdişi ke', |
| 36 | +'tog-watchdefault' => 'Pelê ke mı vurnê, lista mına şêr-kerdişi ke', |
| 37 | +'tog-watchmoves' => 'Pelê ke mı kırısnê, lista mına şêr-kerdişi ke', |
| 38 | +'tog-watchdeletion' => 'Pelê ke mı esterıtê, lista mına şêr-kerdişi ke', |
| 39 | +'tog-minordefault' => 'Vurnaisunê ho pêrune ‘vurnaiso qızkek’ nisan bıde', |
| 40 | +'tog-previewontop' => 'Verqayti pela nustene ser de bıasne', |
| 41 | +'tog-previewonfirst' => 'Vurnaiso verên de verqayti tım bıasne', |
| 42 | +'tog-nocache' => 'Pelun mia ho viri', |
| 43 | +'tog-enotifwatchlistpages' => 'Pela ke ez şêr kenane eke vurnê mı rê e-mail bırusne', |
| 44 | +'tog-enotifusertalkpages' => 'Pela mına werênaişi ke vurnê mı rê e-mail bırusne', |
| 45 | +'tog-enotifminoredits' => 'Vurnaisunê qızkekun de ki mı rê e-mail bırusne', |
| 46 | +'tog-enotifrevealaddr' => 'E-mailadresa mı emailunê xeberun de bıasne', |
| 47 | +'tog-shownumberswatching' => 'Amarê (reqemê) karberunê şêrkerdoğun bıasne', |
| 48 | +'tog-oldsig' => 'Verqaytê imza mewcude:', |
| 49 | +'tog-fancysig' => 'İmza rê mamelê wikimeqaley bıke (bê gireo otomatik)', |
| 50 | +'tog-externaleditor' => 'itorê teberi standart bıgurene (teyna serba ekspertuno, komputerê sıma de ayarê xusuşiy lazımê)', |
| 51 | +'tog-externaldiff' => 'Têversanaene pê programê teberi vıraze (teyna serba ekspertuno, komputerê sıma de ayarê xusuşiy lazımê)', |
| 52 | +'tog-showjumplinks' => 'Girê "so"y aktif/fael ke', |
| 53 | +'tog-uselivepreview' => 'Verqayto cınde bıgurene (JavaScript) (hona cerrebnaene dero)', |
| 54 | +'tog-forceeditsummary' => 'Mı ke xulasa kerde cı vira, hay be mı ser de', |
| 55 | +'tog-watchlisthideown' => 'Vurnaisunê mı lista mına şêr-kerdişi de wedare', |
| 56 | +'tog-watchlisthidebots' => 'Vurnaisunê boti lista mına şêr-kerdişi de wedare', |
| 57 | +'tog-watchlisthideminor' => 'Vurnaisunê qızkekun lista mına şêr-kerdişi de wedare', |
| 58 | +'tog-watchlisthideliu' => 'Lista şêrkerdışi ra vurnaisunê karberunê cıkotun wedare', |
| 59 | +'tog-watchlisthideanons' => 'Lista şêrkerdışi ra vurnaisunê karberunê anonimun wedare', |
| 60 | +'tog-watchlisthidepatrolled' => 'Lista şêrkerdışi ra vurnaisunê qontrolkerdun wedare', |
| 61 | +'tog-ccmeonemails' => 'E-mailunê ke ez karberunê binun rê rusnenun, mı rê kopya inun bırusne', |
| 62 | +'tog-diffonly' => 'Qıyasê verziyonun de tek ferqun bıasne, pela butıne nê', |
| 63 | +'tog-showhiddencats' => 'Kategoriunê nımıtu bıasne', |
| 64 | +'tog-norollbackdiff' => 'Peyserardene ra dıme ferqi caverde', |
| 65 | + |
| 66 | +'underline-always' => 'Tım', |
| 67 | +'underline-never' => 'Qet', |
| 68 | +'underline-default' => 'Qerar cıcêraoği dest dero', |
| 69 | + |
| 70 | +# Font style option in Special:Preferences |
| 71 | +'editfont-style' => 'Warê vurnaena tipê nustey:', |
| 72 | +'editfont-default' => 'Fereziya cıfeteliyaoği', |
| 73 | +'editfont-monospace' => 'Tipê nustê sabıtcaguretoği', |
| 74 | +'editfont-sansserif' => 'Tipê nustê Sans-serifi', |
| 75 | +'editfont-serif' => 'Tipê nustê Serifi', |
| 76 | + |
| 77 | +# Dates |
| 78 | +'sunday' => 'Bazar', |
| 79 | +'monday' => 'Dıseme', |
| 80 | +'tuesday' => 'Şêseme', |
| 81 | +'wednesday' => 'Çarseme', |
| 82 | +'thursday' => 'Phoseme', |
| 83 | +'friday' => 'Yene', |
| 84 | +'saturday' => 'Seme', |
| 85 | +'sun' => 'Baz', |
| 86 | +'mon' => 'Dıs', |
| 87 | +'tue' => 'Şês', |
| 88 | +'wed' => 'Çar', |
| 89 | +'thu' => 'Pho', |
| 90 | +'fri' => 'Yen', |
| 91 | +'sat' => 'Sem', |
| 92 | +'january' => 'Çele', |
| 93 | +'february' => 'Gucige', |
| 94 | +'march' => 'Mart', |
| 95 | +'april' => 'Nisane', |
| 96 | +'may_long' => 'Gulane', |
| 97 | +'june' => 'Haziran', |
| 98 | +'july' => 'Temmuz', |
| 99 | +'august' => 'Tebaxe', |
| 100 | +'september' => 'Eylule', |
| 101 | +'october' => 'Keşkelun', |
| 102 | +'november' => 'Tişrin', |
| 103 | +'december' => 'Gağan', |
| 104 | +'january-gen' => 'Çeley', |
| 105 | +'february-gen' => 'Gucige', |
| 106 | +'march-gen' => 'Marti', |
| 107 | +'april-gen' => 'Nisane', |
| 108 | +'may-gen' => 'Gulane', |
| 109 | +'june-gen' => 'Hazirani', |
| 110 | +'july-gen' => 'Temmuzi', |
| 111 | +'august-gen' => 'Tebaxe', |
| 112 | +'september-gen' => 'Eylule', |
| 113 | +'october-gen' => 'Keşkeluni', |
| 114 | +'november-gen' => 'Tişrini', |
| 115 | +'december-gen' => 'Gağani', |
| 116 | +'jan' => 'Çel', |
| 117 | +'feb' => 'Guc', |
| 118 | +'mar' => 'Mar', |
| 119 | +'apr' => 'Nis', |
| 120 | +'may' => 'Gul', |
| 121 | +'jun' => 'Haz', |
| 122 | +'jul' => 'Tem', |
| 123 | +'aug' => 'Teb', |
| 124 | +'sep' => 'Eyl', |
| 125 | +'oct' => 'Keş', |
| 126 | +'nov' => 'Tiş', |
| 127 | +'dec' => 'Gağ', |
| 128 | + |
| 129 | +# Categories related messages |
| 130 | +'pagecategories' => '{{PLURAL:$1|Kategoriye|Kategoriy}}', |
| 131 | +'category_header' => 'Pela ke kategoriya "$1" dera', |
| 132 | +'subcategories' => 'Kategoriyê bınêni', |
| 133 | +'category-media-header' => 'Medyawa ke kategoriya "$1" dera', |
| 134 | +'category-empty' => "''Na kategoriye de nıka pelgi ya ki medya çinê.''", |
| 135 | +'hidden-categories' => '{{PLURAL:$1|Kategoriya nımıtiye|Kategoriyê nımıtey}}', |
| 136 | +'hidden-category-category' => 'Kategoriyê nımıtey', |
| 137 | +'category-subcat-count' => '{{PLURAL:$2|Na kategoriye de ana kategoriya bınêne esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ana kategoriya bınêne esta|ani $1 kategoriyê bınêni estê.}}}}', |
| 138 | +'category-subcat-count-limited' => 'Na kategoriye de {{PLURAL:$1|ana kategoriya bınêne esta|ani $1 kategoriyê bınêni estê}}.', |
| 139 | +'category-article-count' => '{{PLURAL:$2|Na kategoriye de teyna ana pele esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ana pele esta|ani $1 peli estê.}}}}', |
| 140 | +'category-article-count-limited' => '{{PLURAL:$1|Ana pele kategoriya peyêne dera|Ani $1 peli kategoriya peyêne derê}}.', |
| 141 | +'category-file-count' => '{{PLURAL:$2|Na kategoriye de teyna ana dosya esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ana dosya esta|ani $1 dosyey estê.}}}}', |
| 142 | +'category-file-count-limited' => '{{PLURAL:$1|Ana dosya kategoriya peyêne dera|Ani $1 dosyey kategoriya peyêne derê}}.', |
| 143 | +'listingcontinuesabbrev' => 'işt.', |
| 144 | + |
| 145 | +'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD', |
| 146 | +'mainpagetext' => "<big>'''MediaWiki ebe mıwefeq instale bi.'''</big>", |
| 147 | +'mainpagedocfooter' => "Serba melumatê gurenaena ''wiki software''i [http://meta.wikimedia.org/wiki/Help:Contents İdarê karberi] de mıracaet ke. |
| 148 | + |
| 149 | +== Gamê verêni == |
| 150 | +* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Lista ayarunê vıraştene] |
| 151 | +* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki de ÇZP] |
| 152 | +* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki ra lista serbest-daena postey]", |
| 153 | + |
| 154 | +'about' => 'Heqa', |
| 155 | +'article' => 'Pela tede-esteun', |
| 156 | +'newwindow' => '(pençereo newe de beno ra)', |
| 157 | +'cancel' => 'Bıtexelne', |
| 158 | +'moredotdotdot' => 'Jêde...', |
| 159 | +'mypage' => 'Pela mı', |
| 160 | +'mytalk' => 'Hurênaisê mı', |
| 161 | +'anontalk' => "Hurênaisê ni ''IP''y", |
| 162 | +'navigation' => 'Pusula', |
| 163 | +'and' => ' u', |
| 164 | + |
| 165 | +# Cologne Blue skin |
| 166 | +'qbfind' => 'Bıvêne', |
| 167 | +'qbbrowse' => 'Çım ra viarne', |
| 168 | +'qbedit' => 'Bıvurne', |
| 169 | +'qbpageoptions' => 'Na pele', |
| 170 | +'qbpageinfo' => 'Girê', |
| 171 | +'qbmyoptions' => 'Pelê mı', |
| 172 | +'qbspecialpages' => 'Pelê xususiy', |
| 173 | +'faq' => 'ÇZP', |
| 174 | +'faqpage' => 'Project:ÇZP', |
| 175 | + |
| 176 | +# Vector skin |
| 177 | +'vector-action-addsection' => 'Mewzu ilawe ke', |
| 178 | +'vector-action-delete' => 'Bıestere', |
| 179 | +'vector-action-move' => 'Bere', |
| 180 | +'vector-action-protect' => 'Bısevekne', |
| 181 | +'vector-action-undelete' => 'Esterıtene peyser bıcê', |
| 182 | +'vector-action-unprotect' => 'Seveknaene wedare', |
| 183 | +'vector-namespace-category' => 'Kategoriye', |
| 184 | +'vector-namespace-help' => 'Pela phoşti', |
| 185 | +'vector-namespace-image' => 'Dosya', |
| 186 | +'vector-namespace-main' => 'Pele', |
| 187 | +'vector-namespace-media' => 'Pela weseti', |
| 188 | +'vector-namespace-mediawiki' => 'Mesac', |
| 189 | +'vector-namespace-project' => 'Pela procey', |
| 190 | +'vector-namespace-special' => 'Pela xususiye', |
| 191 | +'vector-namespace-talk' => 'Hurênais', |
| 192 | +'vector-namespace-template' => 'Şablon', |
| 193 | +'vector-namespace-user' => 'Pela karberi', |
| 194 | +'vector-view-create' => 'Bıaferne', |
| 195 | +'vector-view-edit' => 'Bıvurne', |
| 196 | +'vector-view-history' => 'Tarixi bıasne', |
| 197 | +'vector-view-view' => 'Bıwane', |
| 198 | +'vector-view-viewsource' => 'Çımey bıvêne', |
| 199 | +'actions' => 'Kerdeni', |
| 200 | +'namespaces' => 'Caê namey', |
| 201 | +'variants' => 'Varyanti', |
| 202 | + |
| 203 | +# Metadata in edit box |
| 204 | +'metadata_help' => 'Daê meta:', |
| 205 | + |
| 206 | +'errorpagetitle' => 'Xeta', |
| 207 | +'returnto' => 'Peyser so $1.', |
| 208 | +'tagline' => '{{SITENAME}} ra', |
| 209 | +'help' => 'Phoşti', |
| 210 | +'search' => 'Cıcêrais', |
| 211 | +'searchbutton' => 'Cıcêrais', |
| 212 | +'go' => 'So', |
| 213 | +'searcharticle' => 'So', |
| 214 | +'history' => 'Tarixçê pele', |
| 215 | +'history_short' => 'Tarixçe', |
| 216 | +'updatedmarker' => 'cıkotena mına peyêne ra dıme biya rocaniye', |
| 217 | +'info_short' => 'Melumat', |
| 218 | +'printableversion' => 'Nımunê çapkerdene', |
| 219 | +'permalink' => 'Girêo daimi', |
| 220 | +'print' => 'Çapkerdis', |
| 221 | +'edit' => 'Vurnais', |
| 222 | +'create' => 'Afernais', |
| 223 | +'editthispage' => 'Na pele bıvurne', |
| 224 | +'create-this-page' => 'Na pele bıaferne', |
| 225 | +'delete' => 'Esterıtis', |
| 226 | +'deletethispage' => 'Na pele bıestere', |
| 227 | +'undelete_short' => '{{PLURAL:$1|Jü vurnaişi|$1 Vurnaisun}} meestere', |
| 228 | +'protect' => 'Sıtar ke', |
| 229 | +'protect_change' => 'bıvurne', |
| 230 | +'protectthispage' => 'Na pele sıtar ke', |
| 231 | +'unprotect' => 'Sıtar meke', |
| 232 | +'unprotectthispage' => 'Na pele sıtar meke', |
| 233 | +'newpage' => 'Pela newiye', |
| 234 | +'talkpage' => 'Na pele sero hurêne', |
| 235 | +'talkpagelinktext' => 'Hurênais', |
| 236 | +'specialpage' => 'Pela xususiye', |
| 237 | +'personaltools' => 'Hacetê keşi', |
| 238 | +'postcomment' => 'Qısımo newe', |
| 239 | +'articlepage' => 'Pela tede esteun bıvêne', |
| 240 | +'talk' => 'Hurênais', |
| 241 | +'views' => 'Vênaişi', |
| 242 | +'toolbox' => 'Qutiya hacetun', |
| 243 | +'userpage' => 'Pela karberi bıvêne', |
| 244 | +'projectpage' => 'Pela procey bıvêne', |
| 245 | +'imagepage' => 'Pela dosya bıvêne', |
| 246 | +'mediawikipage' => 'Pela mesacun bıvêne', |
| 247 | +'templatepage' => 'Pela nımunun bıvêne', |
| 248 | +'viewhelppage' => 'Pela phoşti bıvêne', |
| 249 | +'categorypage' => 'Pela kategoriu bıvêne', |
| 250 | +'viewtalkpage' => 'Hurênaişi bıvêne', |
| 251 | +'otherlanguages' => 'Zonunê binun de', |
| 252 | +'redirectedfrom' => '($1 ra ard)', |
| 253 | +'redirectpagesub' => 'Pela ardene', |
| 254 | +'lastmodifiedat' => 'Na pela tewr peyên $1 de, $2 de vuriye', |
| 255 | +'viewcount' => 'Na pele hata nıka {{PLURAL:$1|jü rae|$1 rey}} vêniye.', |
| 256 | +'protectedpage' => 'Pela kılit-kerdiye', |
| 257 | +'jumpto' => 'So:', |
| 258 | +'jumptonavigation' => 'pusula', |
| 259 | +'jumptosearch' => 'cıcêre', |
| 260 | + |
| 261 | +# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations). |
| 262 | +'aboutsite' => '{{SITENAME}} sero', |
| 263 | +'aboutpage' => 'Project:Heqa', |
| 264 | +'copyright' => 'Zerrek bınê $1i dero.', |
| 265 | +'copyrightpage' => '{{ns:project}}:Telifheqiye', |
| 266 | +'currentevents' => 'Veng u vac', |
| 267 | +'currentevents-url' => 'Project:Veng u vac', |
| 268 | +'disclaimers' => 'Diwanê mesuliyeti', |
| 269 | +'disclaimerpage' => 'Project:Diwanê mesuliyetê bıngey', |
| 270 | +'edithelp' => 'Phoştdariya vurnaişi', |
| 271 | +'edithelppage' => 'Help:Vurnais', |
| 272 | +'helppage' => 'Help:Tede estey', |
| 273 | +'mainpage' => 'Pela Seri', |
| 274 | +'mainpage-description' => 'Pela Seri', |
| 275 | +'policy-url' => 'Project:Poliça', |
| 276 | +'portal' => 'Portalê cemaeti', |
| 277 | +'portal-url' => 'Project:Portalê cemaeti', |
| 278 | +'privacy' => 'Poliça seveknaena daeyu', |
| 279 | +'privacypage' => 'Project:Poliça seveknaena daeyu', |
| 280 | + |
| 281 | +'badaccess' => 'Xeta desturi', |
| 282 | +'badaccess-group0' => 'Faeliyeto ke sıma wazenê, sıma nêşikinê ney ravêr berê.', |
| 283 | +'badaccess-groups' => 'No faeliyet teyna, keso ke {{PLURAL:$2|grube|grubu ra jüye}}: $1 dero, serba dino.', |
| 284 | + |
| 285 | +'versionrequired' => 'MediaWiki ra vurnaisê $1i lazımo', |
| 286 | +'versionrequiredtext' => 'MediaWiki ra vurnaisê $1i lazımo ke na pele bıgurenê. Qaytê [[Special:Version|vurnaisê pele]] ke.', |
| 287 | + |
| 288 | +'ok' => 'Temam', |
| 289 | +'pagetitle-view-mainpage' => '', |
| 290 | +'retrievedfrom' => '"$1" ra ard', |
| 291 | +'youhavenewmessages' => 'Yê sıma $1 ($2) esto.', |
| 292 | +'newmessageslink' => 'mesacê newey', |
| 293 | +'newmessagesdifflink' => 'vurnaiso peyên', |
| 294 | +'youhavenewmessagesmulti' => '$1 de mesacê sımaê newey estê', |
| 295 | +'editsection' => 'bıvurne', |
| 296 | +'editsection-brackets' => '[$1]', |
| 297 | +'editold' => 'bıvurne', |
| 298 | +'viewsourceold' => 'çımey bıvêne', |
| 299 | +'editlink' => 'bıvurne', |
| 300 | +'viewsourcelink' => 'çıme bıvêne', |
| 301 | +'editsectionhint' => 'Qısımê vurnaişi: $1', |
| 302 | +'toc' => 'Tede estey', |
| 303 | +'showtoc' => 'bıasne', |
| 304 | +'hidetoc' => 'bınımne', |
| 305 | +'thisisdeleted' => '$1i bıasne ya ki peyser biya?', |
| 306 | +'viewdeleted' => '$1i bıasne?', |
| 307 | +'restorelink' => '{{PLURAL:$1|jü vurnaiso esterıte|$1 vurnaisê esterıtey}}', |
| 308 | +'feedlinks' => 'Cı de:', |
| 309 | +'feed-invalid' => 'Aboneo nêvêrdoğ.', |
| 310 | +'feed-unavailable' => 'Qutê sendikasyoni çino', |
| 311 | +'site-rss-feed' => '$1 RSS Qut', |
| 312 | +'site-atom-feed' => '$1 Qutê Atomi', |
| 313 | +'page-rss-feed' => '"$1" RSS Qut', |
| 314 | +'page-atom-feed' => '"$1" Qutê Atomi', |
| 315 | +'feed-atom' => 'Atom', |
| 316 | +'feed-rss' => 'RSS', |
| 317 | +'red-link-title' => '$1 (pele çina)', |
| 318 | + |
| 319 | +# Short words for each namespace, by default used in the namespace tab in monobook |
| 320 | +'nstab-main' => 'Pele', |
| 321 | +'nstab-user' => 'Pela karberi', |
| 322 | +'nstab-media' => 'Pela medya', |
| 323 | +'nstab-special' => 'Pela xususiye', |
| 324 | +'nstab-project' => 'Pela procey', |
| 325 | +'nstab-image' => 'Dosya', |
| 326 | +'nstab-mediawiki' => 'Mesac', |
| 327 | +'nstab-template' => 'Nımune', |
| 328 | +'nstab-help' => 'Pela phoşti', |
| 329 | +'nstab-category' => 'Kategoriye', |
| 330 | + |
| 331 | +# Main script and global functions |
| 332 | +'nosuchaction' => 'Çiyo de nianên çino', |
| 333 | +'nosuchactiontext' => "Faeliyeto ke hetê URL ra tesnif biyo, nêvêreno. |
| 334 | +To, beno ke URL ğelet nusno ya ki tı girêo de ğelet dıma şiya. |
| 335 | +No mısneno ke, ''software''o ke terefê {{SITENAME}} ra gurenino, jü ğeleliye tede esta.", |
| 336 | +'nosuchspecialpage' => 'Pela de xususiya nianêne çina', |
| 337 | +'nospecialpagetext' => '<strong>Sıma pela xususiya de nêvêrdiye kerde ra.</strong> |
| 338 | + |
| 339 | +Jü lista pelunê vêrdoğu bınê [[Special:SpecialPages|{{int:specialpages}}]] de vênina.', |
| 340 | + |
| 341 | +# General errors |
| 342 | +'error' => 'Xeta', |
| 343 | +'databaseerror' => 'Xeta panga daeyu', |
| 344 | +'dberrortext' => 'Jü xeta persê cumla panga daeyu de amê meydan. |
| 345 | +Heni aseno ke na xeta nustene de esta. |
| 346 | +Persê panga daeyuno peyên nia bi: |
| 347 | +<blockquote><tt>$1</tt></blockquote> |
| 348 | +ebe gurê zerrê "<tt>$2</tt>"y ra. |
| 349 | +Panga daeyu xetawa ke asnena "<tt>$3: $4</tt>".', |
| 350 | +'dberrortextcl' => 'Rêza cumleunê panga daeyu de jü xeta amê meydan. |
| 351 | +Heni aseno ke na xeta nustene de esta. |
| 352 | +Persê panga daeyuno peyên nia bi: |
| 353 | +"$1" |
| 354 | +Fonksiyono ke gureniyo "$2". |
| 355 | +Panga daeyu xetawa ke asnena "$3: $4"', |
| 356 | +'laggedslavemode' => 'Teme: Beno ke vurnaisê peyêni pele de niyê.', |
| 357 | +'readonly' => 'Panga daeyu kılit kerdiya', |
| 358 | +'enterlockreason' => 'Serba kılit-kerdişi jü sebeb bıde ke, kılitkerdis texminen key beno ra', |
| 359 | +'readonlytext' => 'Panga daeyu nustunê newun u vurnaisunê binu rê kılita, seba ke bena pak, hama badêna oncia normal gurina. |
| 360 | + |
| 361 | +İdarekeru ra kami ke kılit kerda, na tesrih aseno: $1', |
| 362 | +'missing-article' => "Panga, pela be namê \"\$1\" \$2 ke gunê bıbo, nêdiye. |
| 363 | + |
| 364 | +Na belkia serba jü vurnaiso khan ya ki tarixê girê jü pelge esteriya. |
| 365 | + |
| 366 | +Eke nia niyo, belkia ''software''i de jü xeta esta. |
| 367 | +Kerem kerê, nae be namê ''URL''i jü [[Special:ListUsers/sysop|karber]]i ra vazê.", |
| 368 | +'missingarticle-rev' => '(tekrar diyais#: $1)', |
| 369 | +'missingarticle-diff' => '(Ferq: $1, $2)', |
| 370 | +'readonly_lag' => "Panga daeyu otomatikman qapan biye ''slave-database-servers''i ra be hata ''master''i", |
| 371 | +'internalerror' => 'Xeta zerrey', |
| 372 | +'internalerror_info' => 'Xeta zerrey: $1', |
| 373 | +'fileappenderror' => 'Dosya "$1"ine dosya "$2"ine ser nêbena.', |
| 374 | +'filecopyerror' => 'Dosya "$1"i kopya nêbiye be dosya "$2".', |
| 375 | +'filerenameerror' => 'Namê dosya "$1"i nêvuriya be dosya "$2".', |
| 376 | +'filedeleteerror' => 'Dosya "$1"i nêesteriye.', |
| 377 | +'directorycreateerror' => 'İndeksê "$1"i nêvıraşt.', |
| 378 | +'filenotfound' => 'Dosya "$1"i nêvêniye.', |
| 379 | +'fileexistserror' => 'Sıma nêşikinê dosya "$1" de bınusê: dosya esta', |
| 380 | +'unexpected' => 'Qimeto nêpawıte: "$1"="$2".', |
| 381 | +'formerror' => 'Xeta: form niard', |
| 382 | +'badarticleerror' => 'No faeliyet na pele de nêvıracino.', |
| 383 | +'cannotdelete' => 'Pele ya ki dosya ke asniye nêesterina. |
| 384 | +Beno ke, verênde terefê kesê de bini ra esteriya.', |
| 385 | +'badtitle' => 'Sernameo xırabın', |
| 386 | +'badtitletext' => "Sernamê pela ke sıma wast, nêvêrde, thal, ya girê mabênê zoni ğelet ya ki sernamê mabênê ''wiki'' bi. |
| 387 | +Beno ke, tede jü ya ki jêdê isareti estê ke sernameu de nêgurinê.", |
| 388 | +'perfcached' => 'Ni daey nımıteyê u beno ke rocaney niyê.', |
| 389 | +'perfcachedts' => 'Ni daey nımıteyê, u tewr peyên $1 de biyê rocaniy.', |
| 390 | +'querypage-no-updates' => 'Rocane-biyaena na pele nıka cadaiyê. |
| 391 | +Daey ita nıka newe nêbenê.', |
| 392 | +'wrong_wfQuery_params' => 'Parametreo ğelet serba wfPers()<br /> |
| 393 | +Fonksiyon: $1<br /> |
| 394 | +Pers: $2', |
| 395 | +'viewsource' => 'Çımey bıvêne', |
| 396 | +'viewsourcefor' => 'serba $1i', |
| 397 | +'actionthrottled' => 'Faeliyet xenekıt', |
| 398 | +'actionthrottledtext' => "Berqestiya tedbirê ''anti-spam''i ra vırastena ni faeliyeti rê sıma zafê rey zemano senık de sindor viarna ra. |
| 399 | +Kerem kerê, deqêna oncia bıcerrebnê.", |
| 400 | +'protectedpagetext' => 'Na pele vurnaisu rê qapan biya.', |
| 401 | +'viewsourcetext' => 'Sıma şikinê çımê na pele bıvênê u kopya kerê:', |
| 402 | +'protectedinterface' => "Na pele ''software'' rê meqalunê caunê bırnau dana, u qapana ke suıstımalu rê engel bo.", |
| 403 | +'editinginterface' => "'''Teme:''' Sıma hao jü pela ke serba ''software'' meqalunê caunê bırnau dana, vurnenê. |
| 404 | +Vurnaisê na pele karberunê binu rê serpela karberi kena ke bıasno. |
| 405 | +Serba çarnais, yardımê [http://translatewiki.net/wiki/Main_Page?setlang=kiu translatewiki.net]yê procê dos-kerdene rê diqet kerê.", |
| 406 | +'sqlhidden' => '(Persê SQLi nımıteo)', |
| 407 | +'cascadeprotected' => 'Na pele esterıtene ra sıtar biya, çıke na zerrê {{PLURAL:$1|pela ke|pelunê ke}} dera/derê be "cascading" opsiyoni kılit biya, $2 de bena ra.', |
| 408 | +'namespaceprotected' => "'''$1''' ''namespace'' de desturê sıma be vurnaisê pelu çino.", |
| 409 | +'customcssjsprotected' => 'Desturê sıma be vurnaisê na pele çino, çıke nae de ayarê kesê karberê bini esto.', |
| 410 | +'ns-specialprotected' => 'Pelê xususi nêvurrinê.', |
| 411 | +'titleprotected' => "No sername terefê [[User:$1|$1]]i ra, afernaene ra sıtar biyo. |
| 412 | +Sebebê ho ''$2'' dero.", |
| 413 | + |
| 414 | +# Virus scanner |
| 415 | +'virus-badscanner' => "Sıkılo xırabın: ''scanner''ê ''virus''ê nêzanıtey: ''$1''", |
| 416 | +'virus-scanfailed' => "''scan'' nêbi (code $1)", |
| 417 | +'virus-unknownscanner' => "''antivirus''o nêzanıte:", |
| 418 | + |
| 419 | +# Login and logout pages |
| 420 | +'logouttext' => "'''Sıma nıka cı ra veciyê.''' |
| 421 | +Sıma şikinê dızdêni {{SITENAME}} de dewam kerê, ya jê eyni karberi ya ki jê jüyê de bini [[Special:UserLogin|oncia cıkuyê]]. |
| 422 | +Beno ke taê peli sıma hona cıkote asnenê, hata ke sıma ''browser cache''ê ho kerd pak.", |
| 423 | +'welcomecreation' => '== Xêr amê, $1! == |
| 424 | +Hesabê sıma vıraciya. |
| 425 | +Vurnaena [[Special:Preferences|melumatanê {{SITENAME}}]] ho vira mekerê.', |
| 426 | +'yourname' => 'Namê karberi:', |
| 427 | +'yourpassword' => 'Parola:', |
| 428 | +'yourpasswordagain' => 'Parola tekrar ke:', |
| 429 | +'remembermypassword' => 'Mı na komputeri de biya ho viri', |
| 430 | +'yourdomainname' => 'Bandıra sıma:', |
| 431 | +'externaldberror' => 'Cıfeteliyaisê naskerdene de ya xeta esta ya ki tebera vırastena hesabê sıma rê destur çino.', |
| 432 | +'login' => 'Cıkuye', |
| 433 | +'nav-login-createaccount' => 'Cıkuye / hesab vıraze', |
| 434 | +'loginprompt' => "Cıkotena {{SITENAME}} rê gunê ''cookies'' akerdey bê.", |
| 435 | +'userlogin' => 'Cıkuye / hesab vıraze', |
| 436 | +'logout' => 'Veciye', |
| 437 | +'userlogout' => 'Veciye', |
| 438 | +'notloggedin' => 'Cı nêkota', |
| 439 | +'nologin' => "Hesabê sıma çino? '''$1'''.", |
| 440 | +'nologinlink' => 'Jü hesab rake', |
| 441 | +'createaccount' => 'Hesab vıraze', |
| 442 | +'gotaccount' => "Hesabê sıma ke esto? '''$1'''.", |
| 443 | +'gotaccountlink' => 'Cıkuye', |
| 444 | +'createaccountmail' => 'e-poste sera', |
| 445 | +'badretype' => 'Parola sıma nêvêrena.', |
| 446 | +'userexists' => 'No namê karberi guretiyo. |
| 447 | +Kerem ke, namêna weçine.', |
| 448 | +'loginerror' => 'Xeta cıkotene', |
| 449 | +'noname' => 'Ebe namê do vêrdoği ra cınêkota.', |
| 450 | +'loginsuccesstitle' => 'Cıkotene biye ra', |
| 451 | +'loginsuccess' => "'''Sıta {{SITENAME}} de ebe namê karberi \"\$1\" kota cı.'''", |
| 452 | +'nosuchusershort' => 'Karberê do ebe namê "<nowiki>$1</nowiki>" çino. |
| 453 | +Nustena cı qontrol ke.', |
| 454 | +'nouserspecified' => 'Gunê namê jü karberi bıdekernê.', |
| 455 | +'wrongpassword' => 'Parola ğelete kota cı. |
| 456 | +Kerem ke, oncia bıcerrebne.', |
| 457 | +'wrongpasswordempty' => 'Parola thale kota cı. |
| 458 | +Kerem ke, oncia bıcerrebne.', |
| 459 | +'passwordtooshort' => 'Paroley tewr senık ebe {{PLURAL:$1|1 karakter|$1 karakteru}} gunê derg bê.', |
| 460 | +'password-name-match' => 'Parola sıma namê sımaê karberi ra gunê ferqın bo.', |
| 461 | +'mailmypassword' => 'E-mail sera parola newiye bırusne', |
| 462 | +'passwordremindertitle' => 'Serba {{SITENAME}} parola newiya vêrdoğe', |
| 463 | +'noemail' => 'Adresa de e-posteya ke ebe namê karberi "$1" beqeyda, çina.', |
| 464 | +'mailerror' => 'Xeta rusnaena e-postey: $1', |
| 465 | +'emailconfirmlink' => 'Adresa e-postê ho tesdiq ke', |
| 466 | +'accountcreated' => 'Hesab vırajiya', |
| 467 | +'loginlanguagelabel' => 'Zon: $1', |
| 468 | + |
| 469 | +# Password reset dialog |
| 470 | +'oldpassword' => 'Parola khane:', |
| 471 | +'newpassword' => 'Parola newiye:', |
| 472 | +'retypenew' => 'Parola newiye tekrar ke:', |
| 473 | + |
| 474 | +# Edit page toolbar |
| 475 | +'bold_sample' => 'Nusto qolınd', |
| 476 | +'bold_tip' => 'Nusto qolınd', |
| 477 | +'italic_sample' => 'Meqalo italik', |
| 478 | +'italic_tip' => 'Meqalo italik', |
| 479 | +'link_sample' => 'Serrêza girêy', |
| 480 | +'link_tip' => 'Girê zerri', |
| 481 | +'extlink_sample' => 'http://www.example.com arezekerdena adrese', |
| 482 | +'extlink_tip' => 'Girê teberi (verbendê http:// ho vira mekerê)', |
| 483 | +'headline_sample' => 'Nustê serrêze', |
| 484 | +'headline_tip' => 'Serrêza sewiya 2ine', |
| 485 | +'math_sample' => 'İta formuli cıke', |
| 486 | +'math_tip' => 'Formulê matematiki (formatê LaTeXi de)', |
| 487 | +'nowiki_sample' => 'Formatê nustê huyo serbeti ita bınuse', |
| 488 | +'nowiki_tip' => 'Ehemêt formatê wikiy mede', |
| 489 | +'image_tip' => 'Dosya arêkerdiye', |
| 490 | +'media_tip' => 'Girê dosya', |
| 491 | +'sig_tip' => 'İmza to be tarix', |
| 492 | +'hr_tip' => 'Xeta ufqiye (zaf megurene)', |
| 493 | + |
| 494 | +# Edit pages |
| 495 | +'summary' => 'Xulasa:', |
| 496 | +'subject' => 'Mewzu/serrêze:', |
| 497 | +'minoredit' => 'No jü vurnaiso qızkeko', |
| 498 | +'watchthis' => 'Na pele de şêr ke', |
| 499 | +'savearticle' => 'Pele qeyd ke', |
| 500 | +'preview' => 'Verqayt', |
| 501 | +'showpreview' => 'Verqayti bıasne', |
| 502 | +'showdiff' => 'Vurnaisun bıasne', |
| 503 | +'anoneditwarning' => "'''Diqet:''' Tı cınêkota. |
| 504 | +Tarixê vurnaena na pele de, hurêndia leqeme de numra tuya IPy qeyd bena.", |
| 505 | +'blockednoreason' => 'sebeb nêdiyo', |
| 506 | +'loginreqlink' => 'cı kuye', |
| 507 | +'newarticle' => '(Newe)', |
| 508 | +'updated' => '(Bi rozane)', |
| 509 | +'note' => "'''Not:'''", |
| 510 | +'editing' => 'Tıya $1 vurnena', |
| 511 | +'editingsection' => 'Vurnaena $1 (qısım)', |
| 512 | +'yourtext' => 'Metnê to', |
| 513 | +'yourdiff' => 'Ferqi', |
| 514 | +'templatesused' => 'Şablonê ke na pele de gureninê:', |
| 515 | +'template-protected' => '(sevekna)', |
| 516 | +'template-semiprotected' => '(nêm-seveknais)', |
| 517 | + |
| 518 | +# History pages |
| 519 | +'viewpagelogs' => 'Qeydê ke na pele ra alaqedarê, inu bıasne', |
| 520 | +'currentrev-asof' => '$1 ra gore pele be halo nıkaên', |
| 521 | +'revisionasof' => 'Halê roca $1ine', |
| 522 | +'previousrevision' => '← Halo khanêr', |
| 523 | +'cur' => 'pey', |
| 524 | +'next' => 'badên', |
| 525 | +'last' => 'peyên', |
| 526 | +'page_first' => 'verên', |
| 527 | +'page_last' => 'peyên', |
| 528 | +'histlegend' => "Ferqê weçinıtene: Qutiya verziyonun serba têversanaene isaret ke u dest be ''enter''i ya ki gozaga cêrêne ro ne.<br /> |
| 529 | +Cedwel: (pey) = ferqê verziyonê peyêni, |
| 530 | +(ver) = ferqê verziyonê verêni, Q = vurnaiso qızkek.", |
| 531 | +'history-fieldset-title' => 'Tarixê cıcêraişi', |
| 532 | +'histfirst' => 'Verênêr', |
| 533 | +'histlast' => 'Peyênêr', |
| 534 | +'historysize' => '({{PLURAL:$1|1 byte|$1 bytes}})', |
| 535 | +'historyempty' => '(thal)', |
| 536 | + |
| 537 | +# Revision feed |
| 538 | +'history-feed-title' => 'Tarixê çımraviarnaişi', |
| 539 | +'history-feed-description' => 'Wiki de tarixê çımraviarnaişê na pele', |
| 540 | +'history-feed-item-nocomment' => '$1 wertê $2i de', |
| 541 | +'history-feed-empty' => 'Pela cıfeteliyaiye çina. |
| 542 | +Beno ke na esteriya, ya ki namê cı vuriyo. |
| 543 | +Serba pelunê muhimunê newun [[Special:Cıcêre|cıcêraişê wiki de]] bıcerebne.', |
| 544 | + |
| 545 | +# Revision deletion |
| 546 | +'rev-deleted-comment' => '(tefşir esteriyo)', |
| 547 | +'rev-deleted-user' => '(namê karberi esteriyo)', |
| 548 | +'rev-deleted-event' => '(faeliyetê cıkotene esteriyo)', |
| 549 | +'rev-delundel' => 'bıasne/wedare', |
| 550 | +'revdelete-show-file-submit' => 'Heya', |
| 551 | +'revdel-restore' => 'asaişi bıvurne', |
| 552 | +'revdelete-content' => 'zerrek', |
| 553 | +'revdelete-uname' => 'namê karberi', |
| 554 | +'revdelete-reasonotherlist' => 'Sebebo bin', |
| 555 | + |
| 556 | +# History merging |
| 557 | +'mergehistory-from' => 'Pela çımey:', |
| 558 | +'mergehistory-reason' => 'Sebeb:', |
| 559 | + |
| 560 | +# Merge log |
| 561 | +'revertmerge' => 'Cia ke', |
| 562 | + |
| 563 | +# Diffs |
| 564 | +'history-title' => 'Viartê pelga "$1"ine', |
| 565 | +'difference' => 'Ferqê wertê vurnaisu', |
| 566 | +'lineno' => 'Rêza $1i:', |
| 567 | +'compareselectedversions' => 'Varyantunê weçinıtun têver sane', |
| 568 | +'visualcomparison' => 'Têver-sanıtena diyaiye', |
| 569 | +'wikicodecomparison' => 'Têver-sanıtena wiki-meqaley', |
| 570 | +'editundo' => 'peyser biya', |
| 571 | +'diff-multi' => '({{PLURAL:$1|Jü çımraviarnaena wertey|$1 çımraviarnaena wertey}} nêasna.)', |
| 572 | +'diff-movedto' => 'berd $1', |
| 573 | +'diff-styleadded' => 'terzê $1i kerd ser', |
| 574 | +'diff-added' => '$1 kerd ser', |
| 575 | +'diff-changedto' => 'vurna ra $1', |
| 576 | +'diff-movedoutof' => '$1 ra vet berd', |
| 577 | +'diff-styleremoved' => 'terzê $1i esterıt', |
| 578 | +'diff-removed' => '$1 esterıt', |
| 579 | +'diff-changedfrom' => '$1 ra vurna', |
| 580 | +'diff-src' => 'çıme', |
| 581 | +'diff-withdestination' => 'ebe hedefê $1i', |
| 582 | +'diff-with' => ' ebe $1 $2', |
| 583 | +'diff-with-additional' => '$1 $2', |
| 584 | +'diff-with-final' => ' u $1 $2', |
| 585 | +'diff-width' => 'verınêni', |
| 586 | +'diff-height' => 'berzêni', |
| 587 | +'diff-p' => "jü '''parağraf'''", |
| 588 | +'diff-blockquote' => "jü '''teklif'''", |
| 589 | +'diff-h1' => "jü '''pozisyon (sewiya 1yine)'''", |
| 590 | +'diff-h2' => "jü '''pozisyon (sewiya 2yine)'''", |
| 591 | +'diff-h3' => "jü '''pozisyon (sewiya 3ine)'''", |
| 592 | +'diff-h4' => "jü '''pozisyon (sewiya 4ine)'''", |
| 593 | +'diff-h5' => "jü '''pozisyon (sewiya 5ine)'''", |
| 594 | +'diff-pre' => "jü '''komo versıkıldae'''", |
| 595 | +'diff-div' => "jü '''teqşim'''", |
| 596 | +'diff-ul' => "jü '''lista bêtertibıne'''", |
| 597 | +'diff-ol' => "jü '''lista tertibıne'''", |
| 598 | +'diff-li' => "jü '''maddê lista'''", |
| 599 | +'diff-table' => "jü '''cedwel'''", |
| 600 | +'diff-tbody' => "jü '''zerrê cedweli'''", |
| 601 | +'diff-tr' => "jü '''rêze'''", |
| 602 | +'diff-td' => "jü '''hucra'''", |
| 603 | + |
| 604 | +# Search results |
| 605 | +'searchresults' => 'Neticê cıfeteliyaene', |
| 606 | +'searchresults-title' => '"$1" rê neticê cıfeteliyaene', |
| 607 | +'searchresulttext' => 'Zerrê {{SITENAME}} de heqa cıfeteliyaene de serba melumat guretene, şikina qaytê [[{{MediaWiki:Helppage}}|{{int:help}}]] ke.', |
| 608 | +'searchsubtitleinvalid' => "Serbacıfeteliyae: '''$1'''", |
| 609 | +'noexactmatch' => "'''Pela be namê \"\$1\"i nêvêniye.''' |
| 610 | +Tı şikina na pele [[:\$1|bıaferne]].", |
| 611 | +'noexactmatch-nocreate' => "'''Pele be namê \"\$1\"i çina.'''", |
| 612 | +'notitlematches' => 'Qet zu serrêze de nêvêniya', |
| 613 | +'notextmatches' => 'Qet zu pele de nêvêniya', |
| 614 | +'prevn' => '{{PLURAL:$1|$1}} verên', |
| 615 | +'nextn' => '{{PLURAL:$1|$1}} peyên', |
| 616 | +'viewprevnext' => 'Bıvêne ($1 {{int:pipe-separator}} $2) ($3)', |
| 617 | +'searchprofile-images' => 'Dosyey', |
| 618 | +'search-result-size' => '$1 ({{PLURAL:$2|1 çekuye|$2 çekuy}})', |
| 619 | +'search-redirect' => '(hetêcıraberdene $1)', |
| 620 | +'search-section' => '(qısımo $1)', |
| 621 | +'search-suggest' => 'To ney rê vat: $1', |
| 622 | +'search-interwiki-caption' => 'Procê bıray', |
| 623 | +'search-interwiki-default' => '$1 neticey:', |
| 624 | +'search-interwiki-more' => '(zafêr)', |
| 625 | +'search-mwsuggest-enabled' => 'ebe teklifu', |
| 626 | +'search-mwsuggest-disabled' => 'teklifi çinê', |
| 627 | +'powersearch' => 'Cıcêraiso hira', |
| 628 | +'powersearch-legend' => 'Cıcêraiso hira', |
| 629 | +'powersearch-ns' => 'Caunê namun de cıcêre:', |
| 630 | +'powersearch-redir' => 'Girêun lista ke', |
| 631 | +'powersearch-field' => 'Serba cı qayt ke', |
| 632 | +'search-external' => 'Cıcêraisê teberi', |
| 633 | +'searchdisabled' => "Cıcêraisê {{SITENAME}} qapan biyo. |
| 634 | +Sıma şikinê na sıre ''Google'' de şêr kerê. |
| 635 | +Diqet kerê, beno ke tedeestê {{SITENAME}} uza endi rozane niyê.", |
| 636 | + |
| 637 | +# Quickbar |
| 638 | +'qbsettings' => 'Herbişiyaena hedefi', |
| 639 | +'qbsettings-none' => 'Qet', |
| 640 | +'qbsettings-fixedleft' => 'Çhep de bestniyo pa', |
| 641 | +'qbsettings-fixedright' => 'Rast de bestniyo pa', |
| 642 | +'qbsettings-floatingleft' => 'Çhepi ser aznino', |
| 643 | +'qbsettings-floatingright' => 'Rasti ser aznino', |
| 644 | + |
| 645 | +# Preferences page |
| 646 | +'preferences' => 'Tercihi', |
| 647 | +'mypreferences' => 'Tercihê mı', |
| 648 | +'prefs-edits' => 'Numra vurnaisun:', |
| 649 | +'prefsnologin' => 'Cı nêkota', |
| 650 | +'prefsnologintext' => 'Sıma gunê <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} cı kuyê]</span> ke dıma tercihunê karberi bınusnê.', |
| 651 | +'changepassword' => 'Parola bıvurne', |
| 652 | +'prefs-skin' => 'Çerme', |
| 653 | +'skin-preview' => 'Verqayt', |
| 654 | +'prefs-math' => 'Mat', |
| 655 | +'datedefault' => 'Tercihi çinê', |
| 656 | +'prefs-datetime' => 'Tarix u zeman', |
| 657 | +'prefs-personal' => 'Dosya karberi', |
| 658 | +'prefs-rc' => 'Vurnaisê peyêni', |
| 659 | +'prefs-watchlist' => 'Lista şêr-kerdişi', |
| 660 | +'prefs-watchlist-days' => 'Rozê ke lista şêr-kerdişi de asenê:', |
| 661 | +'prefs-watchlist-edits' => 'Miqdarê tewr jêdêr vurnaisuno ke lista şêr-kerdişia hirakerdiye derê:', |
| 662 | +'prefs-misc' => 'Ğelet', |
| 663 | +'saveprefs' => 'Qeyd ke', |
| 664 | +'resetprefs' => 'Vurnaisunê qeydnêkerdun pak ke', |
| 665 | +'prefs-editing' => 'Vurnais', |
| 666 | +'rows' => 'Rêji:', |
| 667 | +'columns' => 'Ustıni:', |
| 668 | +'searchresultshead' => 'Cıcêre', |
| 669 | +'resultsperpage' => 'Pelgê be vênıtun:', |
| 670 | +'contextlines' => 'Vênıtê be xetun:', |
| 671 | +'contextchars' => 'Xetê be zerrek:', |
| 672 | +'stub-threshold' => 'Tertibê şêmıga <a href="#" class="stub">stub link</a> (\'\'bytes\'\'):', |
| 673 | +'recentchangesdays' => 'Rozê ke vurnaisunê peyênun de asenê:', |
| 674 | +'recentchangescount' => 'Miqdarê vurnaisuno ke vurnaisê peyênun asenê, tarixê pele u protokolu, standardwari:', |
| 675 | +'savedprefs' => 'Tercihê sıma qeydi biy.', |
| 676 | +'timezonelegend' => 'Warê sate', |
| 677 | +'localtime' => 'Waxto mehelın:', |
| 678 | +'timezoneoffset' => 'Ware¹:', |
| 679 | +'servertime' => "Waxtê ''server''i:", |
| 680 | +'guesstimezone' => "''Browser''i ra pırr ke", |
| 681 | +'allowemail' => "Karberunê binun ra ''e-mail''i fael ke", |
| 682 | +'prefs-searchoptions' => 'Alternatifê cıcêraişi', |
| 683 | +'prefs-namespaces' => 'Caê namey', |
| 684 | +'defaultns' => 'İhmal-kerdene de ni caunê namey de cıcêre:', |
| 685 | +'default' => 'ihmal', |
| 686 | +'prefs-files' => 'Dosyey', |
| 687 | +'youremail' => 'E-poste:', |
| 688 | +'username' => 'Namê karberi:', |
| 689 | +'uid' => 'Kamiya karberi:', |
| 690 | +'prefs-memberingroups' => 'Ezaê de {{PLURAL:$1|gruba|grubunê}}:', |
| 691 | +'yourrealname' => 'Namo rastıkên:', |
| 692 | +'yourlanguage' => 'Zon:', |
| 693 | +'yourvariant' => 'Varyant:', |
| 694 | +'yournick' => 'İmza:', |
| 695 | +'badsig' => "İmza kala nêvêrdiye. |
| 696 | +Etiketê ''HTML''i qontrol ke.", |
| 697 | +'badsiglength' => 'İmza to zaf derga. |
| 698 | +Gunê $1 {{PLURAL:$1|herfe|herfun}} ra senık bo.', |
| 699 | +'yourgender' => 'Cınsiyet:', |
| 700 | +'gender-male' => 'Cüamêrd', |
| 701 | +'gender-female' => 'Cüanıke', |
| 702 | +'email' => 'E-poste', |
| 703 | +'prefs-help-realname' => 'Namo rastıkên serbesto. |
| 704 | +Sıma ke ney bıgurenê, karê sıma de no namdarêni dano.', |
| 705 | + |
| 706 | +# User rights |
| 707 | +'userrights' => 'İdarê hequnê karberi', |
| 708 | +'userrights-lookup-user' => 'Komunê karberun idare ke', |
| 709 | +'userrights-user-editname' => 'Jü namê karberi bıdê:', |
| 710 | +'editusergroup' => 'Komunê karberun bıvurne', |
| 711 | +'editinguser' => "Hequnê karberê '''[[User:$1|$1]]'''i vurnais ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])", |
| 712 | +'userrights-editusergroup' => 'Komunê karberun bıvurne', |
| 713 | +'saveusergroups' => 'Komunê karberun qeyd ke', |
| 714 | +'userrights-groupsmember' => 'Ezaê de:', |
| 715 | + |
| 716 | +# Groups |
| 717 | +'group-sysop' => 'İdarekeri', |
| 718 | + |
| 719 | +'grouppage-sysop' => '{{ns:project}}:İdarekeri', |
| 720 | + |
| 721 | +# User rights log |
| 722 | +'rightslog' => 'Qeydê hequnê karberi', |
| 723 | +'rightslogtext' => 'No jü qeydê vurnaisê hequnê karberio.', |
| 724 | +'rightslogentry' => 'selahiyetê $1i $2 ra vurniya be $3i', |
| 725 | +'rightsnone' => '(qet jü)', |
| 726 | + |
| 727 | +# Associated actions - in the sentence "You do not have permission to X" |
| 728 | +'action-read' => 'na pele bıwane', |
| 729 | +'action-edit' => 'na pele bıvurne', |
| 730 | +'action-createpage' => 'pelu bıaferne', |
| 731 | +'action-createtalk' => 'pelunê hurênaişi bıaferne', |
| 732 | +'action-createaccount' => 'na hesabê karberi bıaferne', |
| 733 | + |
| 734 | +# Recent changes |
| 735 | +'recentchanges' => 'Vurnaisê peyêni', |
| 736 | +'recentchanges-legend' => 'Alternatifê vurnaisunê peyênu', |
| 737 | +'recentchanges-feed-description' => 'Na weiyekerdena wiki de vurnaisê tewrpeyêne ke biyê ine teqib ke.', |
| 738 | +'rcnote' => "Cêr {{PLURAL:$1|'''1''' vurnaiso peyên|'''$1''' vurnaisê peyêni}} be {{PLURAL:$2|roza peyêne|'''$2''' rozunê peyênunê}} $5, $4 ra estê.", |
| 739 | +'rclistfrom' => '$1 ra hata nıka vurnaisunê newu bıasne', |
| 740 | +'rcshowhideminor' => '$1 vurnaisê qızkeki', |
| 741 | +'rcshowhidebots' => 'botê $1i', |
| 742 | +'rcshowhideliu' => '$1 karberê qeydbiyaey', |
| 743 | +'rcshowhideanons' => '$1 karberê anonimi', |
| 744 | +'rcshowhidemine' => '$1 vurnaisê mı', |
| 745 | +'rclinks' => '$1 vurnaisunê peyênunê $2 rozunê<br />$3 peyênun bıasne', |
| 746 | +'diff' => 'ferq', |
| 747 | +'hist' => 'tarix', |
| 748 | +'hide' => 'Bınımne', |
| 749 | +'show' => 'Bıasne', |
| 750 | +'minoreditletter' => 'q', |
| 751 | +'newpageletter' => 'N', |
| 752 | +'boteditletter' => 'b', |
| 753 | +'rc-enhanced-expand' => 'Tefsilatu bıasne (JavaScript lazımo)', |
| 754 | +'rc-enhanced-hide' => 'Tefsilatu bınımne', |
| 755 | + |
| 756 | +# Recent changes linked |
| 757 | +'recentchangeslinked' => 'Heqe de vurnais', |
| 758 | +'recentchangeslinked-title' => 'Heqa "$1"i de vurnais', |
| 759 | +'recentchangeslinked-backlink' => '← $1', |
| 760 | +'recentchangeslinked-page' => 'Namê pele:', |
| 761 | +'recentchangeslinked-to' => 'Hurêndia pela ke yena daene, vurnaisunê pelunê ke dae ra girêdaiyê, inu bıasne', |
| 762 | + |
| 763 | +# Upload |
| 764 | +'upload' => 'Dosya bar ke', |
| 765 | +'uploadbtn' => 'Dosya bar ke', |
| 766 | +'reupload' => 'Tekrar bar ke', |
| 767 | +'reuploaddesc' => 'Bar-kerdene bıtexelne u racêre ra formê bar-kerdene', |
| 768 | +'uploadnologin' => 'Ede cı nêkotê', |
| 769 | +'uploadnologintext' => 'Sıma gunê [[Special:UserLogin|cı kuyê]] ke dosyeun bar kerê.', |
| 770 | +'upload_directory_missing' => "İndeksê bar-kerdena ($1)i çino u terefê ''webserver''i ra nêşikino ke bıaferiyo.", |
| 771 | +'upload_directory_read_only' => "İndeksê bar-kerdena ($1)i terefê ''webserver''i nênuşino.", |
| 772 | +'uploaderror' => 'Xeta bar-kerdene', |
| 773 | + |
| 774 | +# File description page |
| 775 | +'filehist' => 'Tarixê dosya', |
| 776 | +'filehist-help' => "Serba diyaena viartê dosya tarixê ke qısımê tarix/zeman'i derê inu bıteqne.", |
| 777 | +'filehist-current' => 'nıkaên', |
| 778 | +'filehist-datetime' => 'Tarix/Dem', |
| 779 | +'filehist-thumb' => 'Resmo qızkek', |
| 780 | +'filehist-thumbtext' => 'Halo qızkek be versiyonê roza $1ine', |
| 781 | +'filehist-user' => 'Karber', |
| 782 | +'filehist-dimensions' => 'Budi', |
| 783 | +'filehist-filesize' => 'Gırşênia dosya', |
| 784 | +'filehist-comment' => 'Areze-kerdene', |
| 785 | +'imagelinks' => 'Girê dosya', |
| 786 | +'linkstoimage' => 'Ano {{PLURAL:$1|girê pele|$1 girê pelu}} be na dosya:', |
| 787 | +'sharedupload' => 'Na dosya depoê $1 rawa u beno ke procunê binu de gurenina.', |
| 788 | + |
| 789 | +# Statistics |
| 790 | +'statistics' => 'İstatistiki', |
| 791 | + |
| 792 | +# Miscellaneous special pages |
| 793 | +'nbytes' => '$1 {{PLURAL:$1|bayt|bayti}}', |
| 794 | +'ncategories' => '$1 {{PLURAL:$1|kategoriye|kategoriy}}', |
| 795 | +'nlinks' => '$1 {{PLURAL:$1|gire|girey}}', |
| 796 | +'nmembers' => '$1 {{PLURAL:$1|eza|ezay}}', |
| 797 | +'nrevisions' => '$1 {{PLURAL:$1|çım-ra-viarnais|çım-ra-viarnaişi}}', |
| 798 | +'nviews' => '$1 {{PLURAL:$1|vênais|vênaişi}}', |
| 799 | +'uncategorizedpages' => 'Pelê kategorizenêkerdey', |
| 800 | +'shortpages' => 'Pelê kılmi', |
| 801 | +'longpages' => 'Pelê dergi', |
| 802 | +'listusers' => 'Lista karberi', |
| 803 | +'newpages' => 'Pelê newey', |
| 804 | +'ancientpages' => 'Pelê khanêri', |
| 805 | +'move' => 'Bere', |
| 806 | +'pager-newer-n' => '{{PLURAL:$1|1 newêr|$1 newêri}}', |
| 807 | +'pager-older-n' => '{{PLURAL:$1|1 khanêr|$1 khanêri}}', |
| 808 | + |
| 809 | +# Book sources |
| 810 | +'booksources' => 'Çımê kıtabun', |
| 811 | +'booksources-go' => 'So', |
| 812 | + |
| 813 | +# Special:Log |
| 814 | +'specialloguserlabel' => 'Karber:', |
| 815 | +'log' => 'Qeydi', |
| 816 | + |
| 817 | +# Special:AllPages |
| 818 | +'allpages' => 'Peli pêro', |
| 819 | +'alphaindexline' => '$1 bere $2', |
| 820 | +'prevpage' => 'Pela verêne ($1)', |
| 821 | +'allpagessubmit' => 'So', |
| 822 | + |
| 823 | +# Special:Log/newusers |
| 824 | +'newuserlog-create-entry' => 'Hesabê karberê newey', |
| 825 | + |
| 826 | +# Special:ListGroupRights |
| 827 | +'listgrouprights-members' => '(lista azau)', |
| 828 | + |
| 829 | +# E-mail user |
| 830 | +'emailuser' => 'Nê karberi rê e-poste bırusne', |
| 831 | + |
| 832 | +# Watchlist |
| 833 | +'watchlist' => 'Pela mına şêrkerdene', |
| 834 | +'mywatchlist' => 'Lista mına şêrkerdışi', |
| 835 | +'watchlistfor' => "(serba '''$1''')", |
| 836 | +'watch' => 'Şêr ke', |
| 837 | +'watchthispage' => 'Na pele de şêr ke', |
| 838 | +'unwatch' => 'Endi şêr meke', |
| 839 | +'watchlist-details' => 'Pelunê hurênaişi ra qêri {{PLURAL:$1|$1 pele lista şêrkerdişi dera|$1 peli lista şêrkerdişi derê}}.', |
| 840 | +'wlshowlast' => '$1 saetunê $2 rozunê peyênu bıasne $3', |
| 841 | +'watchlist-options' => 'Alternatifê lista şêrkerdene', |
| 842 | + |
| 843 | +# Displayed when you click the "watch" button and it is in the process of watching |
| 844 | +'watching' => 'Şêr ke…', |
| 845 | +'unwatching' => 'Şêr meke…', |
| 846 | + |
| 847 | +# Delete |
| 848 | +'deletepage' => 'Pele bıestere', |
| 849 | +'actioncomplete' => 'Kar bi temam', |
| 850 | +'deletedarticle' => '"[[$1]]" esterıt', |
| 851 | +'dellogpage' => 'Qeydê esterıtene', |
| 852 | +'deletecomment' => 'Sebebê esterıtene:', |
| 853 | +'deletereasonotherlist' => 'Sebebo bin', |
| 854 | + |
| 855 | +# Rollback |
| 856 | +'rollbacklink' => 'peyser bia', |
| 857 | + |
| 858 | +# Protect |
| 859 | +'protectlogpage' => 'Qeydê seveknaene', |
| 860 | +'protectedarticle' => '"[[$1]]" sevekna', |
| 861 | +'protectcomment' => 'Sebeb:', |
| 862 | +'protectexpiry' => 'Tarixê qediyaene:', |
| 863 | +'protect-summary-cascade' => 'qedemein', |
| 864 | +'protect-expiring' => 'tarixê qediyaene $1 (UTC)', |
| 865 | +'restriction-type' => 'Destur:', |
| 866 | +'restriction-level' => 'Sinorê desturi:', |
| 867 | + |
| 868 | +# Undelete |
| 869 | +'undeletebtn' => 'Peyser bia', |
| 870 | +'undeletelink' => 'bıvêne/peyser bia', |
| 871 | +'undeletedarticle' => 'peyser ard "[[$1]]"', |
| 872 | + |
| 873 | +# Namespace form on various pages |
| 874 | +'namespace' => 'Caê namey:', |
| 875 | +'invert' => 'Weçinıtu ra qêri bıasne', |
| 876 | +'blanknamespace' => '(Ser)', |
| 877 | + |
| 878 | +# Contributions |
| 879 | +'contributions' => 'İştırakê karberi', |
| 880 | +'contributions-title' => '$1 de iştırakê karberi', |
| 881 | +'mycontris' => 'İştırakê mı', |
| 882 | +'contribsub2' => 'Serba $1 ($2)', |
| 883 | +'uctop' => '(ser)', |
| 884 | +'month' => 'Asme ra (u ravêr):', |
| 885 | +'year' => 'Serre ra (u ravêr):', |
| 886 | + |
| 887 | +'sp-contributions-username' => 'IP ya ki karber:', |
| 888 | +'sp-contributions-submit' => 'Cıfeteliye', |
| 889 | + |
| 890 | +# What links here |
| 891 | +'whatlinkshere' => 'Çı itay asneno', |
| 892 | +'whatlinkshere-title' => 'Pelê ke be "$1"i bestninê pa', |
| 893 | +'whatlinkshere-page' => 'Pele:', |
| 894 | +'whatlinkshere-backlink' => '← $1', |
| 895 | +'linkshere' => "Ni pelgi '''[[:$1]]'''i asnenê:", |
| 896 | +'nolinkshere' => "Pelgê ke '''[[:$1]]'''i asnenê çinê.", |
| 897 | +'isredirect' => 'pela ciheti', |
| 898 | +'istemplate' => 'ilawekerdis', |
| 899 | +'isimage' => 'girê sıkıli', |
| 900 | +'whatlinkshere-prev' => '{{PLURAL:$1|verêni|verên $1}}', |
| 901 | +'whatlinkshere-next' => '{{PLURAL:$1|tepiyaên|tepiyaên $1}}', |
| 902 | +'whatlinkshere-links' => '← girê beno', |
| 903 | +'whatlinkshere-hideredirs' => 'peyser sono $1', |
| 904 | +'whatlinkshere-hidetrans' => 'İlawekerdê çaprazi $1', |
| 905 | +'whatlinkshere-hidelinks' => '$1 girey', |
| 906 | +'whatlinkshere-filters' => 'Filtrey', |
| 907 | + |
| 908 | +# Block/unblock |
| 909 | +'ipboptions' => '2 saeti:2 hours,1 roze:1 day,3 roji:3 days,1 hefte:1 week,2 heftey:2 weeks,1 asme:1 month,3 asmi:3 months,6 asmi:6 months,1 serre:1 year,bêmıdet:infinite', |
| 910 | +'blocklink' => 'kilıt ke', |
| 911 | +'unblocklink' => 'ra ke', |
| 912 | +'change-blocklink' => 'mani bıvurne', |
| 913 | +'contribslink' => 'iştıraki', |
| 914 | +'autoblocker' => 'Sıma otomatikmen kılit biy, çıke adresa sımawa \'\'IP\'\'y terefê "[[User:$1|$1]]" gurenina. |
| 915 | +Sebebê kılit-biyaena $1\'i: "$2"o', |
| 916 | +'blocklogpage' => 'Protokolê kilıti', |
| 917 | +'blocklogentry' => '[[$1]] hata peyê $2 $3ine kilıt bi', |
| 918 | +'reblock-logentry' => 'kilıt-kerdena [[$1]]i hata peyê $2 $3ine vurnê', |
| 919 | +'blocklogtext' => "No jü protokolê faeliyetê kilıt- u rakerdena karberuno. |
| 920 | +Otomatikmen kilıt biyaiyê adresê ''IP''y lista de çinê. |
| 921 | +Serba men- u kilıt-biyaene nıkaêne qaytê [[Special:IPBlockList|lista kilıt-kerdena ''IP''y]] ke.", |
| 922 | +'unblocklogentry' => "kilıt-kerdena $1'i", |
| 923 | +'block-log-flags-anononly' => 'teyna karberê bênamey', |
| 924 | +'block-log-flags-nocreate' => 'afernaena hesabi qapan biye', |
| 925 | +'block-log-flags-noautoblock' => 'kilıto otomatik qapan bi', |
| 926 | +'block-log-flags-noemail' => 'e-mail kilıt bi', |
| 927 | +'block-log-flags-nousertalk' => 'pela hurênaişi ho nêşikina bıvurnê', |
| 928 | +'block-log-flags-angry-autoblock' => 'kilıto otomatiko qewetın bi ra', |
| 929 | +'range_block_disabled' => 'Qabılıyetê idarekeri be afernaena komuna têdine qapan bi.', |
| 930 | +'ipb_expiry_invalid' => 'Xêlê zeman nêvêreno.', |
| 931 | + |
| 932 | +# Move page |
| 933 | +'movearticle' => 'Pele bere:', |
| 934 | +'move-watch' => 'Na pele de şêr ke', |
| 935 | +'1movedto2' => '[[$1]] berd be [[$2]]', |
| 936 | +'movelogpage' => 'Qeydê berdene', |
| 937 | +'movereason' => 'Sebeb:', |
| 938 | +'revertmove' => 'raçarnaene', |
| 939 | + |
| 940 | +# Export |
| 941 | +'export' => 'Pelu qeyd ke', |
| 942 | + |
| 943 | +# Namespace 8 related |
| 944 | +'allmessages' => 'Mesacê sistemi', |
| 945 | + |
| 946 | +# Thumbnails |
| 947 | +'thumbnail-more' => 'Gırs ke', |
| 948 | + |
| 949 | +# Tooltip help for the actions |
| 950 | +'tooltip-pt-userpage' => 'Pela sımawa karberi', |
| 951 | +'tooltip-pt-mytalk' => 'Pela sımawa hurênaişi', |
| 952 | +'tooltip-pt-preferences' => 'Tercihê mı', |
| 953 | +'tooltip-pt-watchlist' => 'Pelê ke to guretê şêrkerdene', |
| 954 | +'tooltip-pt-mycontris' => 'Lista iştıraqunê sıma', |
| 955 | +'tooltip-pt-login' => 'Serba cıkotene sıma rê sılaiya, hama na zeruriye niya.', |
| 956 | +'tooltip-pt-anonlogin' => 'Serba cıkotene sıma rê sılaiya, hama na zeruriye niya.', |
| 957 | +'tooltip-pt-logout' => 'Veciye', |
| 958 | +'tooltip-ca-talk' => 'Pela tedeesteun sero hurênais', |
| 959 | +'tooltip-ca-edit' => 'Tı şikina na pele bıvurnê. |
| 960 | +Kerem ke, qeyd-kerdene ra ver gozaga verqayti bıgurene.', |
| 961 | +'tooltip-ca-addsection' => 'Jü qısımo newe rake', |
| 962 | +'tooltip-ca-viewsource' => 'Na pele seveknaiya. |
| 963 | +Tı şikina çımunê dae bıvênê', |
| 964 | +'tooltip-ca-history' => 'Versiyonê verênê na pele', |
| 965 | +'tooltip-ca-protect' => 'Na pele bısevekne', |
| 966 | +'tooltip-ca-delete' => 'Na pele bıestere', |
| 967 | +'tooltip-ca-move' => 'Namê na pele bıvurne', |
| 968 | +'tooltip-ca-watch' => 'Na pele bıcê lista huya şêrkerdene', |
| 969 | +'tooltip-ca-unwatch' => 'Na pele lista huya şêrkerdene ra wedare', |
| 970 | +'tooltip-search' => 'Cıcêre {{SITENAME}}', |
| 971 | +'tooltip-search-go' => 'Ebe ni namey so jü pele, eke esta', |
| 972 | +'tooltip-search-fulltext' => 'Serba ni meqaley pelu sae ke', |
| 973 | +'tooltip-p-logo' => 'Pela Seri', |
| 974 | +'tooltip-n-mainpage' => 'Pela Seri bıvêne', |
| 975 | +'tooltip-n-mainpage-description' => 'Pela Seri bıvêne', |
| 976 | +'tooltip-n-portal' => 'Heqa procey de, sıma çı şikinê, çı koti vênenê', |
| 977 | +'tooltip-n-currentevents' => 'Vurnaisunê peyênu sero melumatê pey bıvêne', |
| 978 | +'tooltip-n-recentchanges' => 'Wiki de lista vurnaisunê peyênu', |
| 979 | +'tooltip-n-randompage' => 'Pelê da rastamaiye bar ke', |
| 980 | +'tooltip-n-help' => 'Caê dos-kerdene.', |
| 981 | +'tooltip-t-whatlinkshere' => 'Lista pelunê wiki pêroina ke ita girê bena', |
| 982 | +'tooltip-t-recentchangeslinked' => 'Vurnaiso peyêno peluno ke na pela ra gire beno', |
| 983 | +'tooltip-feed-rss' => 'Qutê RSSê na pele', |
| 984 | +'tooltip-feed-atom' => 'Qutê atomê na pele', |
| 985 | +'tooltip-t-contributions' => 'Lista iştırakunê ni karberi bıvêne', |
| 986 | +'tooltip-t-emailuser' => 'Jü e-mail ni karberi rê bırusne', |
| 987 | +'tooltip-t-upload' => 'Dosya bar ke', |
| 988 | +'tooltip-t-specialpages' => 'Lista pelunê xususiunê pêroinu', |
| 989 | +'tooltip-t-print' => 'Nımunê kopya-kerdena na pele', |
| 990 | +'tooltip-t-permalink' => 'Giro daimiyo nımunê na pele', |
| 991 | +'tooltip-ca-nstab-main' => 'Pela tede esteu bıvêne', |
| 992 | +'tooltip-ca-nstab-user' => 'Pela karberi bıvêne', |
| 993 | +'tooltip-ca-nstab-media' => 'Pela medya bıvêne', |
| 994 | +'tooltip-ca-nstab-special' => 'Na jü pelê da xususiya, sıma nêşikinê nae bıvurnê', |
| 995 | +'tooltip-ca-nstab-project' => 'Pela procey bıvêne', |
| 996 | +'tooltip-ca-nstab-image' => 'Pela dosya bıvêne', |
| 997 | +'tooltip-ca-nstab-mediawiki' => 'Mesacê sistemi bıvêne', |
| 998 | +'tooltip-ca-nstab-template' => 'Nımuney bıvêne', |
| 999 | +'tooltip-ca-nstab-help' => 'Pela phoşti bıvêne', |
| 1000 | +'tooltip-ca-nstab-category' => 'Pela kategoriye bıvêne', |
| 1001 | +'tooltip-minoredit' => 'Ney jê vurnaiso qıc isaret ke', |
| 1002 | +'tooltip-save' => 'Vurnaisunê ho qeyd ke', |
| 1003 | +'tooltip-preview' => 'Kerem ke, vurnaisunê ho qeyd-kerdene ra ravêr be verqayt bıasne!', |
| 1004 | +'tooltip-diff' => 'Kamci vurnaişi ke to meqale de kerdê, naine bıasne.', |
| 1005 | +'tooltip-compareselectedversions' => 'Ferqunê wertê ni dı nımınunê weçinıtu bıvêne.', |
| 1006 | +'tooltip-watch' => 'Na pele lista huya şêrkerdişi ser ke', |
| 1007 | +'tooltip-recreate' => 'Na pele esterıte bo ki, nae oncia bıaferne', |
| 1008 | +'tooltip-upload' => 'Dest be bar-kerdene ke', |
| 1009 | +'tooltip-rollback' => '"Peyser biya" ebe jü tık pela iştırak(un)ê peyên(u)/i peyser ano.', |
| 1010 | +'tooltip-undo' => '"Peyser" ni vurnaişi peyser ano u modusê verqayt de vurnaisê formi keno ra. |
| 1011 | +Têser-kerdena jü sebebi rê xulasa de imkan dano cı.', |
| 1012 | + |
| 1013 | +# Stylesheets |
| 1014 | +'common.css' => '/* CSSo ke itaro, serba çermu pêroine gurenino */', |
| 1015 | + |
| 1016 | +# Math errors |
| 1017 | +'math_failure' => 'Analiz de xeta', |
| 1018 | +'math_unknown_error' => 'xeta nêzanaiye', |
| 1019 | +'math_unknown_function' => 'fonksiyono nêzanae', |
| 1020 | +'math_lexing_error' => 'xeta grameri', |
| 1021 | +'math_syntax_error' => 'xeta cumla', |
| 1022 | +'math_image_error' => "Werênaisê ''PNG''y de xeta biye; |
| 1023 | +enstale-kerdena ''latex'', ''dvips'', ''gs'', u ''convert''i qontrol ke", |
| 1024 | +'math_bad_tmpdir' => "Sıma nêşikinê indeksê ''math temp''i de bınusê ya ki bıafernê", |
| 1025 | +'math_bad_output' => 'Sıma nêşikinê indeksê formulunê matematiki de bınusê ya ki bıafernê', |
| 1026 | +'math_notexvc' => "''Texvc''o gurênae çino; |
| 1027 | +Serba areze-kerdene qaytê ''math/README''y ke.", |
| 1028 | + |
| 1029 | +# Browsing diffs |
| 1030 | +'previousdiff' => '← Vurnaiso khanêr', |
| 1031 | + |
| 1032 | +# Media information |
| 1033 | +'file-info-size' => '($1 × $2 piksel, gırsênia dosya: $3, MIME tipê cı: $4)', |
| 1034 | +'file-nohires' => '<small>Tewrêna berz rovıleşiyaene nêbena.</small>', |
| 1035 | +'show-big-image' => 'Rovıleşiyaena tame', |
| 1036 | +'show-big-image-thumb' => '<small>Gırsênia verqayti: $1 × $2 piksel</small>', |
| 1037 | + |
| 1038 | +# Bad image list |
| 1039 | +'bad_image_list' => 'Sıkılo umumi niaro: |
| 1040 | + |
| 1041 | +Teyna çiyo ke beno lista (rezê ke be * dest kenê cı) çımun ver de vênino. |
| 1042 | +Jü rêze de girêo sıftein gunê girêo de dosya xırabıne bo. |
| 1043 | +Na rêze de her girêo bin jê istisna vênino, yanê pelê ke dosya beno ke sero rêzbiyae asena.', |
| 1044 | + |
| 1045 | +/* |
| 1046 | +Short names for language variants used for language conversion links. |
| 1047 | +To disable showing a particular link, set it to 'disable', e.g. |
| 1048 | +'variantname-zh-sg' => 'disable', |
| 1049 | +Variants for Chinese language |
| 1050 | +*/ |
| 1051 | +'variantname-zh-hans' => 'hans', |
| 1052 | +'variantname-zh-hant' => 'hant', |
| 1053 | +'variantname-zh-cn' => 'cn', |
| 1054 | +'variantname-zh-tw' => 'tw', |
| 1055 | +'variantname-zh-hk' => 'hk', |
| 1056 | +'variantname-zh-mo' => 'mo', |
| 1057 | +'variantname-zh-sg' => 'sg', |
| 1058 | +'variantname-zh-my' => 'mın', |
| 1059 | +'variantname-zh' => 'zh', |
| 1060 | + |
| 1061 | +# Variants for Serbian language |
| 1062 | +'variantname-sr-ec' => 'sr-ek', |
| 1063 | +'variantname-sr-el' => 'sr-el', |
| 1064 | +'variantname-sr' => 'sr', |
| 1065 | + |
| 1066 | +# Variants for Kazakh language |
| 1067 | +'variantname-kk-kz' => 'kk-kz', |
| 1068 | +'variantname-kk-tr' => 'kk-tr', |
| 1069 | +'variantname-kk-cn' => 'kk-kn', |
| 1070 | +'variantname-kk-cyrl' => 'kk-kırl', |
| 1071 | +'variantname-kk-latn' => 'kk-latn', |
| 1072 | +'variantname-kk-arab' => 'kk-areb', |
| 1073 | +'variantname-kk' => 'kk', |
| 1074 | + |
| 1075 | +# Variants for Kurdish language |
| 1076 | +'variantname-ku-arab' => 'ku-Areb', |
| 1077 | +'variantname-ku-latn' => 'ku-Latn', |
| 1078 | +'variantname-ku' => 'ku', |
| 1079 | + |
| 1080 | +# Variants for Tajiki language |
| 1081 | +'variantname-tg-cyrl' => 'tg-Kırl', |
| 1082 | +'variantname-tg-latn' => 'tg-Latn', |
| 1083 | +'variantname-tg' => 'tg', |
| 1084 | + |
| 1085 | +# Metadata |
| 1086 | +'metadata' => 'Daê seri', |
| 1087 | +'metadata-expand' => 'Arezekerdu bıasne', |
| 1088 | +'metadata-collapse' => 'Arezekerdu measne', |
| 1089 | +'metadata-fields' => "Meydanê EXIF metadataê ke na pele de benê lista, pela resımasnaene de ke tabloê metadata gına waro, gureninê. |
| 1090 | +İ bini zê ''saekerdoğu'' nıminê. |
| 1091 | +* make |
| 1092 | +* model |
| 1093 | +* datetimeoriginal |
| 1094 | +* exposuretime |
| 1095 | +* fnumber |
| 1096 | +* isospeedratings |
| 1097 | +* focallength", |
| 1098 | + |
| 1099 | +# External editor support |
| 1100 | +'edit-externally-help' => '(Serba daêna melumati qaytê pelga [http://www.mediawiki.org/wiki/Manual:External_editors ayarê gurenaena teberi] be)', |
| 1101 | + |
| 1102 | +# 'all' in various places, this might be different for inflected languages |
| 1103 | +'watchlistall2' => 'pêro', |
| 1104 | +'namespacesall' => 'pêro', |
| 1105 | +'monthsall' => 'pêro', |
| 1106 | + |
| 1107 | +# Watchlist editing tools |
| 1108 | +'watchlisttools-view' => 'Vurnaisunê alaqadaru bımısne', |
| 1109 | +'watchlisttools-edit' => 'Lista şêrkerdene bıvêne u vıraze', |
| 1110 | +'watchlisttools-raw' => 'Lista şêrkerdena xame vıraze', |
| 1111 | + |
| 1112 | +# Special:SpecialPages |
| 1113 | +'specialpages' => 'Pelê xususiy', |
| 1114 | +'specialpages-note' => '---- |
| 1115 | +* Pelê xususiyê normali. |
| 1116 | +* <span class="mw-specialpagerestricted">Pelê xususiyê mehcuri.</span>', |
| 1117 | +'specialpages-group-maintenance' => 'Tebliğê baxımi', |
| 1118 | +'specialpages-group-other' => 'Pelê xususiyê bini', |
| 1119 | +'specialpages-group-login' => 'Cıkotene / qeyd', |
| 1120 | +'specialpages-group-changes' => 'Vurnais u protokolê pêyêni', |
| 1121 | +'specialpages-group-media' => 'Raporê medya u bar-kerdey', |
| 1122 | +'specialpages-group-users' => 'Karber u heqi', |
| 1123 | +'specialpages-group-highuse' => 'Pelê jêdêr gurenaey', |
| 1124 | +'specialpages-group-pages' => 'Lista pelun', |
| 1125 | +'specialpages-group-pagetools' => 'Hacetê pele', |
| 1126 | +'specialpages-group-wiki' => "Daê ''Wiki''y u haceti", |
| 1127 | +'specialpages-group-redirects' => 'Newe-vırastena pelunê xususiyun', |
| 1128 | +'specialpages-group-spam' => "Hacetê ''spam''i", |
| 1129 | + |
| 1130 | +# Special:BlankPage |
| 1131 | +'blankpage' => 'Pela thale', |
| 1132 | + |
| 1133 | +); |
| 1134 | +<?php |
| 1135 | +/** Kurmancî (Kurmancî) |
| 1136 | + * |
| 1137 | + * See MessagesQqq.php for message documentation incl. usage of parameters |
| 1138 | + * To improve a translation please visit http://translatewiki.net |
| 1139 | + * |
| 1140 | + * @ingroup Language |
| 1141 | + * @file |
| 1142 | + * |
| 1143 | + * @author Mirzali |
| 1144 | + */ |
| 1145 | + |
| 1146 | +$fallback = 'tr'; |
| 1147 | + |
| 1148 | +$messages = array( |
| 1149 | +# User preference toggles |
| 1150 | +'tog-underline' => 'Bınê girêu de xete bonce:', |
| 1151 | +'tog-highlightbroken' => 'Girêunê thalu {a href="" class="new"}nia{/a} (alternative: nia{a |
| 1152 | +href="" class="internal"}?{/a}) basne.', |
| 1153 | +'tog-justify' => 'Nustey dı hetu ser bazne', |
| 1154 | +'tog-hideminor' => 'Vurnaisunê senıku pela „vurnaisê peyêni“ de wedare', |
| 1155 | +'tog-hidepatrolled' => 'Vurnaisunê qontrolkerdu pela vurnaisê peyêni de wedare', |
| 1156 | +'tog-newpageshidepatrolled' => 'Lista pelunê newu ra pelunê qontrolkerdu wedare', |
| 1157 | +'tog-extendwatchlist' => 'Lista şêrkerdene serba, teyna tewr peyênu nê, diyaena pêro vurnaisu hira ke', |
| 1158 | +'tog-usenewrc' => 'Vurnaisunê peyênunê hirakerdiu bıgurene (JavaScript lazımo)', |
| 1159 | +'tog-numberheadings' => 'Sernustu be ho numra cısane', |
| 1160 | +'tog-showtoolbar' => 'Gozagunê hacetunê vurnaişi basne (JavaScript lazımo)', |
| 1161 | +'tog-editondblclick' => 'Pê dı rey tıknais pele sero bıguriye (JavaScript lazımo)', |
| 1162 | +'tog-editsection' => 'Vurnaisê tek tek qısmu rê girêu basne', |
| 1163 | +'tog-editsectiononrightclick' => 'Sernustê qısımu sero be gozaga raste tıknaene bıvurne (JavaScript lazımo)', |
| 1164 | +'tog-showtoc' => 'Tabloê tedeesteu basne (de pelunê be hirê sernustu ra jêdêri de)', |
| 1165 | +'tog-rememberpassword' => 'Parola mı bia ho viri', |
| 1166 | +'tog-editwidth' => 'Warê nustey hira ke, ke verıniya pela cıdaisê nustey tam baso', |
| 1167 | +'tog-watchcreations' => 'Pelê ke mı afernê, lista mına şêr-kerdişi ke', |
| 1168 | +'tog-watchdefault' => 'Pelê ke mı vurnê, lista mına şêr-kerdişi ke', |
| 1169 | +'tog-watchmoves' => 'Pelê ke mı kırısnê, lista mına şêr-kerdişi ke', |
| 1170 | +'tog-watchdeletion' => 'Pelê ke mı esterıtê, lista mına şêr-kerdişi ke', |
| 1171 | +'tog-minordefault' => 'Vurnaisunê ho pêrune ‘vurnaiso qızkek’ nisan bıde', |
| 1172 | +'tog-previewontop' => 'Verqayti pela nustene ser de bıasne', |
| 1173 | +'tog-previewonfirst' => 'Vurnaiso verên de verqayti tım bıasne', |
| 1174 | +'tog-nocache' => 'Pelun mia ho viri', |
| 1175 | +'tog-enotifwatchlistpages' => 'Pela ke ez şêr kenane eke vurnê mı rê e-mail bırusne', |
| 1176 | +'tog-enotifusertalkpages' => 'Pela mına werênaişi ke vurnê mı rê e-mail bırusne', |
| 1177 | +'tog-enotifminoredits' => 'Vurnaisunê qızkekun de ki mı rê e-mail bırusne', |
| 1178 | +'tog-enotifrevealaddr' => 'E-mailadresa mı emailunê xeberun de bıasne', |
| 1179 | +'tog-shownumberswatching' => 'Amarê (reqemê) karberunê şêrkerdoğun bıasne', |
| 1180 | +'tog-oldsig' => 'Verqaytê imza mewcude:', |
| 1181 | +'tog-fancysig' => 'İmza rê mamelê wikimeqaley bıke (bê gireo otomatik)', |
| 1182 | +'tog-externaleditor' => 'itorê teberi standart bıgurene (teyna serba ekspertuno, komputerê sıma de ayarê xusuşiy lazımê)', |
| 1183 | +'tog-externaldiff' => 'Têversanaene pê programê teberi vıraze (teyna serba ekspertuno, komputerê sıma de ayarê xusuşiy lazımê)', |
| 1184 | +'tog-showjumplinks' => 'Girê "so"y aktif/fael ke', |
| 1185 | +'tog-uselivepreview' => 'Verqayto cınde bıgurene (JavaScript) (hona cerrebnaene dero)', |
| 1186 | +'tog-forceeditsummary' => 'Mı ke xulasa kerde cı vira, hay be mı ser de', |
| 1187 | +'tog-watchlisthideown' => 'Vurnaisunê mı lista mına şêr-kerdişi de wedare', |
| 1188 | +'tog-watchlisthidebots' => 'Vurnaisunê boti lista mına şêr-kerdişi de wedare', |
| 1189 | +'tog-watchlisthideminor' => 'Vurnaisunê qızkekun lista mına şêr-kerdişi de wedare', |
| 1190 | +'tog-watchlisthideliu' => 'Lista şêrkerdışi ra vurnaisunê karberunê cıkotun wedare', |
| 1191 | +'tog-watchlisthideanons' => 'Lista şêrkerdışi ra vurnaisunê karberunê anonimun wedare', |
| 1192 | +'tog-watchlisthidepatrolled' => 'Lista şêrkerdışi ra vurnaisunê qontrolkerdun wedare', |
| 1193 | +'tog-ccmeonemails' => 'E-mailunê ke ez karberunê binun rê rusnenun, mı rê kopya inun bırusne', |
| 1194 | +'tog-diffonly' => 'Qıyasê verziyonun de tek ferqun bıasne, pela butıne nê', |
| 1195 | +'tog-showhiddencats' => 'Kategoriunê nımıtu bıasne', |
| 1196 | +'tog-norollbackdiff' => 'Peyserardene ra dıme ferqi caverde', |
| 1197 | + |
| 1198 | +'underline-always' => 'Tım', |
| 1199 | +'underline-never' => 'Qet', |
| 1200 | +'underline-default' => 'Qerar cıcêraoği dest dero', |
| 1201 | + |
| 1202 | +# Font style option in Special:Preferences |
| 1203 | +'editfont-style' => 'Warê vurnaena tipê nustey:', |
| 1204 | +'editfont-default' => 'Fereziya cıfeteliyaoği', |
| 1205 | +'editfont-monospace' => 'Tipê nustê sabıtcaguretoği', |
| 1206 | +'editfont-sansserif' => 'Tipê nustê Sans-serifi', |
| 1207 | +'editfont-serif' => 'Tipê nustê Serifi', |
| 1208 | + |
| 1209 | +# Dates |
| 1210 | +'sunday' => 'Bazar', |
| 1211 | +'monday' => 'Dıseme', |
| 1212 | +'tuesday' => 'Şêseme', |
| 1213 | +'wednesday' => 'Çarseme', |
| 1214 | +'thursday' => 'Phoseme', |
| 1215 | +'friday' => 'Yene', |
| 1216 | +'saturday' => 'Seme', |
| 1217 | +'sun' => 'Baz', |
| 1218 | +'mon' => 'Dıs', |
| 1219 | +'tue' => 'Şês', |
| 1220 | +'wed' => 'Çar', |
| 1221 | +'thu' => 'Pho', |
| 1222 | +'fri' => 'Yen', |
| 1223 | +'sat' => 'Sem', |
| 1224 | +'january' => 'Çele', |
| 1225 | +'february' => 'Gucige', |
| 1226 | +'march' => 'Mart', |
| 1227 | +'april' => 'Nisane', |
| 1228 | +'may_long' => 'Gulane', |
| 1229 | +'june' => 'Haziran', |
| 1230 | +'july' => 'Temmuz', |
| 1231 | +'august' => 'Tebaxe', |
| 1232 | +'september' => 'Eylule', |
| 1233 | +'october' => 'Keşkelun', |
| 1234 | +'november' => 'Tişrin', |
| 1235 | +'december' => 'Gağan', |
| 1236 | +'january-gen' => 'Çeley', |
| 1237 | +'february-gen' => 'Gucige', |
| 1238 | +'march-gen' => 'Marti', |
| 1239 | +'april-gen' => 'Nisane', |
| 1240 | +'may-gen' => 'Gulane', |
| 1241 | +'june-gen' => 'Hazirani', |
| 1242 | +'july-gen' => 'Temmuzi', |
| 1243 | +'august-gen' => 'Tebaxe', |
| 1244 | +'september-gen' => 'Eylule', |
| 1245 | +'october-gen' => 'Keşkeluni', |
| 1246 | +'november-gen' => 'Tişrini', |
| 1247 | +'december-gen' => 'Gağani', |
| 1248 | +'jan' => 'Çel', |
| 1249 | +'feb' => 'Guc', |
| 1250 | +'mar' => 'Mar', |
| 1251 | +'apr' => 'Nis', |
| 1252 | +'may' => 'Gul', |
| 1253 | +'jun' => 'Haz', |
| 1254 | +'jul' => 'Tem', |
| 1255 | +'aug' => 'Teb', |
| 1256 | +'sep' => 'Eyl', |
| 1257 | +'oct' => 'Keş', |
| 1258 | +'nov' => 'Tiş', |
| 1259 | +'dec' => 'Gağ', |
| 1260 | + |
| 1261 | +# Categories related messages |
| 1262 | +'pagecategories' => '{{PLURAL:$1|Kategoriye|Kategoriy}}', |
| 1263 | +'category_header' => 'Pela ke kategoriya "$1" dera', |
| 1264 | +'subcategories' => 'Kategoriyê bınêni', |
| 1265 | +'category-media-header' => 'Medyawa ke kategoriya "$1" dera', |
| 1266 | +'category-empty' => "''Na kategoriye de nıka pelgi ya ki medya çinê.''", |
| 1267 | +'hidden-categories' => '{{PLURAL:$1|Kategoriya nımıtiye|Kategoriyê nımıtey}}', |
| 1268 | +'hidden-category-category' => 'Kategoriyê nımıtey', |
| 1269 | +'category-subcat-count' => '{{PLURAL:$2|Na kategoriye de ana kategoriya bınêne esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ana kategoriya bınêne esta|ani $1 kategoriyê bınêni estê.}}}}', |
| 1270 | +'category-subcat-count-limited' => 'Na kategoriye de {{PLURAL:$1|ana kategoriya bınêne esta|ani $1 kategoriyê bınêni estê}}.', |
| 1271 | +'category-article-count' => '{{PLURAL:$2|Na kategoriye de teyna ana pele esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ana pele esta|ani $1 peli estê.}}}}', |
| 1272 | +'category-article-count-limited' => '{{PLURAL:$1|Ana pele kategoriya peyêne dera|Ani $1 peli kategoriya peyêne derê}}.', |
| 1273 | +'category-file-count' => '{{PLURAL:$2|Na kategoriye de teyna ana dosya esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ana dosya esta|ani $1 dosyey estê.}}}}', |
| 1274 | +'category-file-count-limited' => '{{PLURAL:$1|Ana dosya kategoriya peyêne dera|Ani $1 dosyey kategoriya peyêne derê}}.', |
| 1275 | +'listingcontinuesabbrev' => 'işt.', |
| 1276 | + |
| 1277 | +'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD', |
| 1278 | +'mainpagetext' => "<big>'''MediaWiki ebe mıwefeq instale bi.'''</big>", |
| 1279 | +'mainpagedocfooter' => "Serba melumatê gurenaena ''wiki software''i [http://meta.wikimedia.org/wiki/Help:Contents İdarê karberi] de mıracaet ke. |
| 1280 | + |
| 1281 | +== Gamê verêni == |
| 1282 | +* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Lista ayarunê vıraştene] |
| 1283 | +* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki de ÇZP] |
| 1284 | +* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki ra lista serbest-daena postey]", |
| 1285 | + |
| 1286 | +'about' => 'Heqa', |
| 1287 | +'article' => 'Pela tede-esteun', |
| 1288 | +'newwindow' => '(pençereo newe de beno ra)', |
| 1289 | +'cancel' => 'Bıtexelne', |
| 1290 | +'moredotdotdot' => 'Jêde...', |
| 1291 | +'mypage' => 'Pela mı', |
| 1292 | +'mytalk' => 'Hurênaisê mı', |
| 1293 | +'anontalk' => "Hurênaisê ni ''IP''y", |
| 1294 | +'navigation' => 'Pusula', |
| 1295 | +'and' => ' u', |
| 1296 | + |
| 1297 | +# Cologne Blue skin |
| 1298 | +'qbfind' => 'Bıvêne', |
| 1299 | +'qbbrowse' => 'Çım ra viarne', |
| 1300 | +'qbedit' => 'Bıvurne', |
| 1301 | +'qbpageoptions' => 'Na pele', |
| 1302 | +'qbpageinfo' => 'Girê', |
| 1303 | +'qbmyoptions' => 'Pelê mı', |
| 1304 | +'qbspecialpages' => 'Pelê xususiy', |
| 1305 | +'faq' => 'ÇZP', |
| 1306 | +'faqpage' => 'Project:ÇZP', |
| 1307 | + |
| 1308 | +# Vector skin |
| 1309 | +'vector-action-addsection' => 'Mewzu ilawe ke', |
| 1310 | +'vector-action-delete' => 'Bıestere', |
| 1311 | +'vector-action-move' => 'Bere', |
| 1312 | +'vector-action-protect' => 'Bısevekne', |
| 1313 | +'vector-action-undelete' => 'Esterıtene peyser bıcê', |
| 1314 | +'vector-action-unprotect' => 'Seveknaene wedare', |
| 1315 | +'vector-namespace-category' => 'Kategoriye', |
| 1316 | +'vector-namespace-help' => 'Pela phoşti', |
| 1317 | +'vector-namespace-image' => 'Dosya', |
| 1318 | +'vector-namespace-main' => 'Pele', |
| 1319 | +'vector-namespace-media' => 'Pela weseti', |
| 1320 | +'vector-namespace-mediawiki' => 'Mesac', |
| 1321 | +'vector-namespace-project' => 'Pela procey', |
| 1322 | +'vector-namespace-special' => 'Pela xususiye', |
| 1323 | +'vector-namespace-talk' => 'Hurênais', |
| 1324 | +'vector-namespace-template' => 'Şablon', |
| 1325 | +'vector-namespace-user' => 'Pela karberi', |
| 1326 | +'vector-view-create' => 'Bıaferne', |
| 1327 | +'vector-view-edit' => 'Bıvurne', |
| 1328 | +'vector-view-history' => 'Tarixi bıasne', |
| 1329 | +'vector-view-view' => 'Bıwane', |
| 1330 | +'vector-view-viewsource' => 'Çımey bıvêne', |
| 1331 | +'actions' => 'Kerdeni', |
| 1332 | +'namespaces' => 'Caê namey', |
| 1333 | +'variants' => 'Varyanti', |
| 1334 | + |
| 1335 | +# Metadata in edit box |
| 1336 | +'metadata_help' => 'Daê meta:', |
| 1337 | + |
| 1338 | +'errorpagetitle' => 'Xeta', |
| 1339 | +'returnto' => 'Peyser so $1.', |
| 1340 | +'tagline' => '{{SITENAME}} ra', |
| 1341 | +'help' => 'Phoşti', |
| 1342 | +'search' => 'Cıcêrais', |
| 1343 | +'searchbutton' => 'Cıcêrais', |
| 1344 | +'go' => 'So', |
| 1345 | +'searcharticle' => 'So', |
| 1346 | +'history' => 'Tarixçê pele', |
| 1347 | +'history_short' => 'Tarixçe', |
| 1348 | +'updatedmarker' => 'cıkotena mına peyêne ra dıme biya rocaniye', |
| 1349 | +'info_short' => 'Melumat', |
| 1350 | +'printableversion' => 'Nımunê çapkerdene', |
| 1351 | +'permalink' => 'Girêo daimi', |
| 1352 | +'print' => 'Çapkerdis', |
| 1353 | +'edit' => 'Vurnais', |
| 1354 | +'create' => 'Afernais', |
| 1355 | +'editthispage' => 'Na pele bıvurne', |
| 1356 | +'create-this-page' => 'Na pele bıaferne', |
| 1357 | +'delete' => 'Esterıtis', |
| 1358 | +'deletethispage' => 'Na pele bıestere', |
| 1359 | +'undelete_short' => '{{PLURAL:$1|Jü vurnaişi|$1 Vurnaisun}} meestere', |
| 1360 | +'protect' => 'Sıtar ke', |
| 1361 | +'protect_change' => 'bıvurne', |
| 1362 | +'protectthispage' => 'Na pele sıtar ke', |
| 1363 | +'unprotect' => 'Sıtar meke', |
| 1364 | +'unprotectthispage' => 'Na pele sıtar meke', |
| 1365 | +'newpage' => 'Pela newiye', |
| 1366 | +'talkpage' => 'Na pele sero hurêne', |
| 1367 | +'talkpagelinktext' => 'Hurênais', |
| 1368 | +'specialpage' => 'Pela xususiye', |
| 1369 | +'personaltools' => 'Hacetê keşi', |
| 1370 | +'postcomment' => 'Qısımo newe', |
| 1371 | +'articlepage' => 'Pela tede esteun bıvêne', |
| 1372 | +'talk' => 'Hurênais', |
| 1373 | +'views' => 'Vênaişi', |
| 1374 | +'toolbox' => 'Qutiya hacetun', |
| 1375 | +'userpage' => 'Pela karberi bıvêne', |
| 1376 | +'projectpage' => 'Pela procey bıvêne', |
| 1377 | +'imagepage' => 'Pela dosya bıvêne', |
| 1378 | +'mediawikipage' => 'Pela mesacun bıvêne', |
| 1379 | +'templatepage' => 'Pela nımunun bıvêne', |
| 1380 | +'viewhelppage' => 'Pela phoşti bıvêne', |
| 1381 | +'categorypage' => 'Pela kategoriu bıvêne', |
| 1382 | +'viewtalkpage' => 'Hurênaişi bıvêne', |
| 1383 | +'otherlanguages' => 'Zonunê binun de', |
| 1384 | +'redirectedfrom' => '($1 ra ard)', |
| 1385 | +'redirectpagesub' => 'Pela ardene', |
| 1386 | +'lastmodifiedat' => 'Na pela tewr peyên $1 de, $2 de vuriye', |
| 1387 | +'viewcount' => 'Na pele hata nıka {{PLURAL:$1|jü rae|$1 rey}} vêniye.', |
| 1388 | +'protectedpage' => 'Pela kılit-kerdiye', |
| 1389 | +'jumpto' => 'So:', |
| 1390 | +'jumptonavigation' => 'pusula', |
| 1391 | +'jumptosearch' => 'cıcêre', |
| 1392 | + |
| 1393 | +# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations). |
| 1394 | +'aboutsite' => '{{SITENAME}} sero', |
| 1395 | +'aboutpage' => 'Project:Heqa', |
| 1396 | +'copyright' => 'Zerrek bınê $1i dero.', |
| 1397 | +'copyrightpage' => '{{ns:project}}:Telifheqiye', |
| 1398 | +'currentevents' => 'Veng u vac', |
| 1399 | +'currentevents-url' => 'Project:Veng u vac', |
| 1400 | +'disclaimers' => 'Diwanê mesuliyeti', |
| 1401 | +'disclaimerpage' => 'Project:Diwanê mesuliyetê bıngey', |
| 1402 | +'edithelp' => 'Phoştdariya vurnaişi', |
| 1403 | +'edithelppage' => 'Help:Vurnais', |
| 1404 | +'helppage' => 'Help:Tede estey', |
| 1405 | +'mainpage' => 'Pela Seri', |
| 1406 | +'mainpage-description' => 'Pela Seri', |
| 1407 | +'policy-url' => 'Project:Poliça', |
| 1408 | +'portal' => 'Portalê cemaeti', |
| 1409 | +'portal-url' => 'Project:Portalê cemaeti', |
| 1410 | +'privacy' => 'Poliça seveknaena daeyu', |
| 1411 | +'privacypage' => 'Project:Poliça seveknaena daeyu', |
| 1412 | + |
| 1413 | +'badaccess' => 'Xeta desturi', |
| 1414 | +'badaccess-group0' => 'Faeliyeto ke sıma wazenê, sıma nêşikinê ney ravêr berê.', |
| 1415 | +'badaccess-groups' => 'No faeliyet teyna, keso ke {{PLURAL:$2|grube|grubu ra jüye}}: $1 dero, serba dino.', |
| 1416 | + |
| 1417 | +'versionrequired' => 'MediaWiki ra vurnaisê $1i lazımo', |
| 1418 | +'versionrequiredtext' => 'MediaWiki ra vurnaisê $1i lazımo ke na pele bıgurenê. Qaytê [[Special:Version|vurnaisê pele]] ke.', |
| 1419 | + |
| 1420 | +'ok' => 'Temam', |
| 1421 | +'pagetitle-view-mainpage' => '', |
| 1422 | +'retrievedfrom' => '"$1" ra ard', |
| 1423 | +'youhavenewmessages' => 'Yê sıma $1 ($2) esto.', |
| 1424 | +'newmessageslink' => 'mesacê newey', |
| 1425 | +'newmessagesdifflink' => 'vurnaiso peyên', |
| 1426 | +'youhavenewmessagesmulti' => '$1 de mesacê sımaê newey estê', |
| 1427 | +'editsection' => 'bıvurne', |
| 1428 | +'editsection-brackets' => '[$1]', |
| 1429 | +'editold' => 'bıvurne', |
| 1430 | +'viewsourceold' => 'çımey bıvêne', |
| 1431 | +'editlink' => 'bıvurne', |
| 1432 | +'viewsourcelink' => 'çıme bıvêne', |
| 1433 | +'editsectionhint' => 'Qısımê vurnaişi: $1', |
| 1434 | +'toc' => 'Tede estey', |
| 1435 | +'showtoc' => 'bıasne', |
| 1436 | +'hidetoc' => 'bınımne', |
| 1437 | +'thisisdeleted' => '$1i bıasne ya ki peyser biya?', |
| 1438 | +'viewdeleted' => '$1i bıasne?', |
| 1439 | +'restorelink' => '{{PLURAL:$1|jü vurnaiso esterıte|$1 vurnaisê esterıtey}}', |
| 1440 | +'feedlinks' => 'Cı de:', |
| 1441 | +'feed-invalid' => 'Aboneo nêvêrdoğ.', |
| 1442 | +'feed-unavailable' => 'Qutê sendikasyoni çino', |
| 1443 | +'site-rss-feed' => '$1 RSS Qut', |
| 1444 | +'site-atom-feed' => '$1 Qutê Atomi', |
| 1445 | +'page-rss-feed' => '"$1" RSS Qut', |
| 1446 | +'page-atom-feed' => '"$1" Qutê Atomi', |
| 1447 | +'feed-atom' => 'Atom', |
| 1448 | +'feed-rss' => 'RSS', |
| 1449 | +'red-link-title' => '$1 (pele çina)', |
| 1450 | + |
| 1451 | +# Short words for each namespace, by default used in the namespace tab in monobook |
| 1452 | +'nstab-main' => 'Pele', |
| 1453 | +'nstab-user' => 'Pela karberi', |
| 1454 | +'nstab-media' => 'Pela medya', |
| 1455 | +'nstab-special' => 'Pela xususiye', |
| 1456 | +'nstab-project' => 'Pela procey', |
| 1457 | +'nstab-image' => 'Dosya', |
| 1458 | +'nstab-mediawiki' => 'Mesac', |
| 1459 | +'nstab-template' => 'Nımune', |
| 1460 | +'nstab-help' => 'Pela phoşti', |
| 1461 | +'nstab-category' => 'Kategoriye', |
| 1462 | + |
| 1463 | +# Main script and global functions |
| 1464 | +'nosuchaction' => 'Çiyo de nianên çino', |
| 1465 | +'nosuchactiontext' => "Faeliyeto ke hetê URL ra tesnif biyo, nêvêreno. |
| 1466 | +To, beno ke URL ğelet nusno ya ki tı girêo de ğelet dıma şiya. |
| 1467 | +No mısneno ke, ''software''o ke terefê {{SITENAME}} ra gurenino, jü ğeleliye tede esta.", |
| 1468 | +'nosuchspecialpage' => 'Pela de xususiya nianêne çina', |
| 1469 | +'nospecialpagetext' => '<strong>Sıma pela xususiya de nêvêrdiye kerde ra.</strong> |
| 1470 | + |
| 1471 | +Jü lista pelunê vêrdoğu bınê [[Special:SpecialPages|{{int:specialpages}}]] de vênina.', |
| 1472 | + |
| 1473 | +# General errors |
| 1474 | +'error' => 'Xeta', |
| 1475 | +'databaseerror' => 'Xeta panga daeyu', |
| 1476 | +'dberrortext' => 'Jü xeta persê cumla panga daeyu de amê meydan. |
| 1477 | +Heni aseno ke na xeta nustene de esta. |
| 1478 | +Persê panga daeyuno peyên nia bi: |
| 1479 | +<blockquote><tt>$1</tt></blockquote> |
| 1480 | +ebe gurê zerrê "<tt>$2</tt>"y ra. |
| 1481 | +Panga daeyu xetawa ke asnena "<tt>$3: $4</tt>".', |
| 1482 | +'dberrortextcl' => 'Rêza cumleunê panga daeyu de jü xeta amê meydan. |
| 1483 | +Heni aseno ke na xeta nustene de esta. |
| 1484 | +Persê panga daeyuno peyên nia bi: |
| 1485 | +"$1" |
| 1486 | +Fonksiyono ke gureniyo "$2". |
| 1487 | +Panga daeyu xetawa ke asnena "$3: $4"', |
| 1488 | +'laggedslavemode' => 'Teme: Beno ke vurnaisê peyêni pele de niyê.', |
| 1489 | +'readonly' => 'Panga daeyu kılit kerdiya', |
| 1490 | +'enterlockreason' => 'Serba kılit-kerdişi jü sebeb bıde ke, kılitkerdis texminen key beno ra', |
| 1491 | +'readonlytext' => 'Panga daeyu nustunê newun u vurnaisunê binu rê kılita, seba ke bena pak, hama badêna oncia normal gurina. |
| 1492 | + |
| 1493 | +İdarekeru ra kami ke kılit kerda, na tesrih aseno: $1', |
| 1494 | +'missing-article' => "Panga, pela be namê \"\$1\" \$2 ke gunê bıbo, nêdiye. |
| 1495 | + |
| 1496 | +Na belkia serba jü vurnaiso khan ya ki tarixê girê jü pelge esteriya. |
| 1497 | + |
| 1498 | +Eke nia niyo, belkia ''software''i de jü xeta esta. |
| 1499 | +Kerem kerê, nae be namê ''URL''i jü [[Special:ListUsers/sysop|karber]]i ra vazê.", |
| 1500 | +'missingarticle-rev' => '(tekrar diyais#: $1)', |
| 1501 | +'missingarticle-diff' => '(Ferq: $1, $2)', |
| 1502 | +'readonly_lag' => "Panga daeyu otomatikman qapan biye ''slave-database-servers''i ra be hata ''master''i", |
| 1503 | +'internalerror' => 'Xeta zerrey', |
| 1504 | +'internalerror_info' => 'Xeta zerrey: $1', |
| 1505 | +'fileappenderror' => 'Dosya "$1"ine dosya "$2"ine ser nêbena.', |
| 1506 | +'filecopyerror' => 'Dosya "$1"i kopya nêbiye be dosya "$2".', |
| 1507 | +'filerenameerror' => 'Namê dosya "$1"i nêvuriya be dosya "$2".', |
| 1508 | +'filedeleteerror' => 'Dosya "$1"i nêesteriye.', |
| 1509 | +'directorycreateerror' => 'İndeksê "$1"i nêvıraşt.', |
| 1510 | +'filenotfound' => 'Dosya "$1"i nêvêniye.', |
| 1511 | +'fileexistserror' => 'Sıma nêşikinê dosya "$1" de bınusê: dosya esta', |
| 1512 | +'unexpected' => 'Qimeto nêpawıte: "$1"="$2".', |
| 1513 | +'formerror' => 'Xeta: form niard', |
| 1514 | +'badarticleerror' => 'No faeliyet na pele de nêvıracino.', |
| 1515 | +'cannotdelete' => 'Pele ya ki dosya ke asniye nêesterina. |
| 1516 | +Beno ke, verênde terefê kesê de bini ra esteriya.', |
| 1517 | +'badtitle' => 'Sernameo xırabın', |
| 1518 | +'badtitletext' => "Sernamê pela ke sıma wast, nêvêrde, thal, ya girê mabênê zoni ğelet ya ki sernamê mabênê ''wiki'' bi. |
| 1519 | +Beno ke, tede jü ya ki jêdê isareti estê ke sernameu de nêgurinê.", |
| 1520 | +'perfcached' => 'Ni daey nımıteyê u beno ke rocaney niyê.', |
| 1521 | +'perfcachedts' => 'Ni daey nımıteyê, u tewr peyên $1 de biyê rocaniy.', |
| 1522 | +'querypage-no-updates' => 'Rocane-biyaena na pele nıka cadaiyê. |
| 1523 | +Daey ita nıka newe nêbenê.', |
| 1524 | +'wrong_wfQuery_params' => 'Parametreo ğelet serba wfPers()<br /> |
| 1525 | +Fonksiyon: $1<br /> |
| 1526 | +Pers: $2', |
| 1527 | +'viewsource' => 'Çımey bıvêne', |
| 1528 | +'viewsourcefor' => 'serba $1i', |
| 1529 | +'actionthrottled' => 'Faeliyet xenekıt', |
| 1530 | +'actionthrottledtext' => "Berqestiya tedbirê ''anti-spam''i ra vırastena ni faeliyeti rê sıma zafê rey zemano senık de sindor viarna ra. |
| 1531 | +Kerem kerê, deqêna oncia bıcerrebnê.", |
| 1532 | +'protectedpagetext' => 'Na pele vurnaisu rê qapan biya.', |
| 1533 | +'viewsourcetext' => 'Sıma şikinê çımê na pele bıvênê u kopya kerê:', |
| 1534 | +'protectedinterface' => "Na pele ''software'' rê meqalunê caunê bırnau dana, u qapana ke suıstımalu rê engel bo.", |
| 1535 | +'editinginterface' => "'''Teme:''' Sıma hao jü pela ke serba ''software'' meqalunê caunê bırnau dana, vurnenê. |
| 1536 | +Vurnaisê na pele karberunê binu rê serpela karberi kena ke bıasno. |
| 1537 | +Serba çarnais, yardımê [http://translatewiki.net/wiki/Main_Page?setlang=kiu translatewiki.net]yê procê dos-kerdene rê diqet kerê.", |
| 1538 | +'sqlhidden' => '(Persê SQLi nımıteo)', |
| 1539 | +'cascadeprotected' => 'Na pele esterıtene ra sıtar biya, çıke na zerrê {{PLURAL:$1|pela ke|pelunê ke}} dera/derê be "cascading" opsiyoni kılit biya, $2 de bena ra.', |
| 1540 | +'namespaceprotected' => "'''$1''' ''namespace'' de desturê sıma be vurnaisê pelu çino.", |
| 1541 | +'customcssjsprotected' => 'Desturê sıma be vurnaisê na pele çino, çıke nae de ayarê kesê karberê bini esto.', |
| 1542 | +'ns-specialprotected' => 'Pelê xususi nêvurrinê.', |
| 1543 | +'titleprotected' => "No sername terefê [[User:$1|$1]]i ra, afernaene ra sıtar biyo. |
| 1544 | +Sebebê ho ''$2'' dero.", |
| 1545 | + |
| 1546 | +# Virus scanner |
| 1547 | +'virus-badscanner' => "Sıkılo xırabın: ''scanner''ê ''virus''ê nêzanıtey: ''$1''", |
| 1548 | +'virus-scanfailed' => "''scan'' nêbi (code $1)", |
| 1549 | +'virus-unknownscanner' => "''antivirus''o nêzanıte:", |
| 1550 | + |
| 1551 | +# Login and logout pages |
| 1552 | +'logouttext' => "'''Sıma nıka cı ra veciyê.''' |
| 1553 | +Sıma şikinê dızdêni {{SITENAME}} de dewam kerê, ya jê eyni karberi ya ki jê jüyê de bini [[Special:UserLogin|oncia cıkuyê]]. |
| 1554 | +Beno ke taê peli sıma hona cıkote asnenê, hata ke sıma ''browser cache''ê ho kerd pak.", |
| 1555 | +'welcomecreation' => '== Xêr amê, $1! == |
| 1556 | +Hesabê sıma vıraciya. |
| 1557 | +Vurnaena [[Special:Preferences|melumatanê {{SITENAME}}]] ho vira mekerê.', |
| 1558 | +'yourname' => 'Namê karberi:', |
| 1559 | +'yourpassword' => 'Parola:', |
| 1560 | +'yourpasswordagain' => 'Parola tekrar ke:', |
| 1561 | +'remembermypassword' => 'Mı na komputeri de biya ho viri', |
| 1562 | +'yourdomainname' => 'Bandıra sıma:', |
| 1563 | +'externaldberror' => 'Cıfeteliyaisê naskerdene de ya xeta esta ya ki tebera vırastena hesabê sıma rê destur çino.', |
| 1564 | +'login' => 'Cıkuye', |
| 1565 | +'nav-login-createaccount' => 'Cıkuye / hesab vıraze', |
| 1566 | +'loginprompt' => "Cıkotena {{SITENAME}} rê gunê ''cookies'' akerdey bê.", |
| 1567 | +'userlogin' => 'Cıkuye / hesab vıraze', |
| 1568 | +'logout' => 'Veciye', |
| 1569 | +'userlogout' => 'Veciye', |
| 1570 | +'notloggedin' => 'Cı nêkota', |
| 1571 | +'nologin' => "Hesabê sıma çino? '''$1'''.", |
| 1572 | +'nologinlink' => 'Jü hesab rake', |
| 1573 | +'createaccount' => 'Hesab vıraze', |
| 1574 | +'gotaccount' => "Hesabê sıma ke esto? '''$1'''.", |
| 1575 | +'gotaccountlink' => 'Cıkuye', |
| 1576 | +'createaccountmail' => 'e-poste sera', |
| 1577 | +'badretype' => 'Parola sıma nêvêrena.', |
| 1578 | +'userexists' => 'No namê karberi guretiyo. |
| 1579 | +Kerem ke, namêna weçine.', |
| 1580 | +'loginerror' => 'Xeta cıkotene', |
| 1581 | +'noname' => 'Ebe namê do vêrdoği ra cınêkota.', |
| 1582 | +'loginsuccesstitle' => 'Cıkotene biye ra', |
| 1583 | +'loginsuccess' => "'''Sıta {{SITENAME}} de ebe namê karberi \"\$1\" kota cı.'''", |
| 1584 | +'nosuchusershort' => 'Karberê do ebe namê "<nowiki>$1</nowiki>" çino. |
| 1585 | +Nustena cı qontrol ke.', |
| 1586 | +'nouserspecified' => 'Gunê namê jü karberi bıdekernê.', |
| 1587 | +'wrongpassword' => 'Parola ğelete kota cı. |
| 1588 | +Kerem ke, oncia bıcerrebne.', |
| 1589 | +'wrongpasswordempty' => 'Parola thale kota cı. |
| 1590 | +Kerem ke, oncia bıcerrebne.', |
| 1591 | +'passwordtooshort' => 'Paroley tewr senık ebe {{PLURAL:$1|1 karakter|$1 karakteru}} gunê derg bê.', |
| 1592 | +'password-name-match' => 'Parola sıma namê sımaê karberi ra gunê ferqın bo.', |
| 1593 | +'mailmypassword' => 'E-mail sera parola newiye bırusne', |
| 1594 | +'passwordremindertitle' => 'Serba {{SITENAME}} parola newiya vêrdoğe', |
| 1595 | +'noemail' => 'Adresa de e-posteya ke ebe namê karberi "$1" beqeyda, çina.', |
| 1596 | +'mailerror' => 'Xeta rusnaena e-postey: $1', |
| 1597 | +'emailconfirmlink' => 'Adresa e-postê ho tesdiq ke', |
| 1598 | +'accountcreated' => 'Hesab vırajiya', |
| 1599 | +'loginlanguagelabel' => 'Zon: $1', |
| 1600 | + |
| 1601 | +# Password reset dialog |
| 1602 | +'oldpassword' => 'Parola khane:', |
| 1603 | +'newpassword' => 'Parola newiye:', |
| 1604 | +'retypenew' => 'Parola newiye tekrar ke:', |
| 1605 | + |
| 1606 | +# Edit page toolbar |
| 1607 | +'bold_sample' => 'Nusto qolınd', |
| 1608 | +'bold_tip' => 'Nusto qolınd', |
| 1609 | +'italic_sample' => 'Meqalo italik', |
| 1610 | +'italic_tip' => 'Meqalo italik', |
| 1611 | +'link_sample' => 'Serrêza girêy', |
| 1612 | +'link_tip' => 'Girê zerri', |
| 1613 | +'extlink_sample' => 'http://www.example.com arezekerdena adrese', |
| 1614 | +'extlink_tip' => 'Girê teberi (verbendê http:// ho vira mekerê)', |
| 1615 | +'headline_sample' => 'Nustê serrêze', |
| 1616 | +'headline_tip' => 'Serrêza sewiya 2ine', |
| 1617 | +'math_sample' => 'İta formuli cıke', |
| 1618 | +'math_tip' => 'Formulê matematiki (formatê LaTeXi de)', |
| 1619 | +'nowiki_sample' => 'Formatê nustê huyo serbeti ita bınuse', |
| 1620 | +'nowiki_tip' => 'Ehemêt formatê wikiy mede', |
| 1621 | +'image_tip' => 'Dosya arêkerdiye', |
| 1622 | +'media_tip' => 'Girê dosya', |
| 1623 | +'sig_tip' => 'İmza to be tarix', |
| 1624 | +'hr_tip' => 'Xeta ufqiye (zaf megurene)', |
| 1625 | + |
| 1626 | +# Edit pages |
| 1627 | +'summary' => 'Xulasa:', |
| 1628 | +'subject' => 'Mewzu/serrêze:', |
| 1629 | +'minoredit' => 'No jü vurnaiso qızkeko', |
| 1630 | +'watchthis' => 'Na pele de şêr ke', |
| 1631 | +'savearticle' => 'Pele qeyd ke', |
| 1632 | +'preview' => 'Verqayt', |
| 1633 | +'showpreview' => 'Verqayti bıasne', |
| 1634 | +'showdiff' => 'Vurnaisun bıasne', |
| 1635 | +'anoneditwarning' => "'''Diqet:''' Tı cınêkota. |
| 1636 | +Tarixê vurnaena na pele de, hurêndia leqeme de numra tuya IPy qeyd bena.", |
| 1637 | +'blockednoreason' => 'sebeb nêdiyo', |
| 1638 | +'loginreqlink' => 'cı kuye', |
| 1639 | +'newarticle' => '(Newe)', |
| 1640 | +'updated' => '(Bi rozane)', |
| 1641 | +'note' => "'''Not:'''", |
| 1642 | +'editing' => 'Tıya $1 vurnena', |
| 1643 | +'editingsection' => 'Vurnaena $1 (qısım)', |
| 1644 | +'yourtext' => 'Metnê to', |
| 1645 | +'yourdiff' => 'Ferqi', |
| 1646 | +'templatesused' => 'Şablonê ke na pele de gureninê:', |
| 1647 | +'template-protected' => '(sevekna)', |
| 1648 | +'template-semiprotected' => '(nêm-seveknais)', |
| 1649 | + |
| 1650 | +# History pages |
| 1651 | +'viewpagelogs' => 'Qeydê ke na pele ra alaqedarê, inu bıasne', |
| 1652 | +'currentrev-asof' => '$1 ra gore pele be halo nıkaên', |
| 1653 | +'revisionasof' => 'Halê roca $1ine', |
| 1654 | +'previousrevision' => '← Halo khanêr', |
| 1655 | +'cur' => 'pey', |
| 1656 | +'next' => 'badên', |
| 1657 | +'last' => 'peyên', |
| 1658 | +'page_first' => 'verên', |
| 1659 | +'page_last' => 'peyên', |
| 1660 | +'histlegend' => "Ferqê weçinıtene: Qutiya verziyonun serba têversanaene isaret ke u dest be ''enter''i ya ki gozaga cêrêne ro ne.<br /> |
| 1661 | +Cedwel: (pey) = ferqê verziyonê peyêni, |
| 1662 | +(ver) = ferqê verziyonê verêni, Q = vurnaiso qızkek.", |
| 1663 | +'history-fieldset-title' => 'Tarixê cıcêraişi', |
| 1664 | +'histfirst' => 'Verênêr', |
| 1665 | +'histlast' => 'Peyênêr', |
| 1666 | +'historysize' => '({{PLURAL:$1|1 byte|$1 bytes}})', |
| 1667 | +'historyempty' => '(thal)', |
| 1668 | + |
| 1669 | +# Revision feed |
| 1670 | +'history-feed-title' => 'Tarixê çımraviarnaişi', |
| 1671 | +'history-feed-description' => 'Wiki de tarixê çımraviarnaişê na pele', |
| 1672 | +'history-feed-item-nocomment' => '$1 wertê $2i de', |
| 1673 | +'history-feed-empty' => 'Pela cıfeteliyaiye çina. |
| 1674 | +Beno ke na esteriya, ya ki namê cı vuriyo. |
| 1675 | +Serba pelunê muhimunê newun [[Special:Cıcêre|cıcêraişê wiki de]] bıcerebne.', |
| 1676 | + |
| 1677 | +# Revision deletion |
| 1678 | +'rev-deleted-comment' => '(tefşir esteriyo)', |
| 1679 | +'rev-deleted-user' => '(namê karberi esteriyo)', |
| 1680 | +'rev-deleted-event' => '(faeliyetê cıkotene esteriyo)', |
| 1681 | +'rev-delundel' => 'bıasne/wedare', |
| 1682 | +'revdelete-show-file-submit' => 'Heya', |
| 1683 | +'revdel-restore' => 'asaişi bıvurne', |
| 1684 | +'revdelete-content' => 'zerrek', |
| 1685 | +'revdelete-uname' => 'namê karberi', |
| 1686 | +'revdelete-reasonotherlist' => 'Sebebo bin', |
| 1687 | + |
| 1688 | +# History merging |
| 1689 | +'mergehistory-from' => 'Pela çımey:', |
| 1690 | +'mergehistory-reason' => 'Sebeb:', |
| 1691 | + |
| 1692 | +# Merge log |
| 1693 | +'revertmerge' => 'Cia ke', |
| 1694 | + |
| 1695 | +# Diffs |
| 1696 | +'history-title' => 'Viartê pelga "$1"ine', |
| 1697 | +'difference' => 'Ferqê wertê vurnaisu', |
| 1698 | +'lineno' => 'Rêza $1i:', |
| 1699 | +'compareselectedversions' => 'Varyantunê weçinıtun têver sane', |
| 1700 | +'visualcomparison' => 'Têver-sanıtena diyaiye', |
| 1701 | +'wikicodecomparison' => 'Têver-sanıtena wiki-meqaley', |
| 1702 | +'editundo' => 'peyser biya', |
| 1703 | +'diff-multi' => '({{PLURAL:$1|Jü çımraviarnaena wertey|$1 çımraviarnaena wertey}} nêasna.)', |
| 1704 | +'diff-movedto' => 'berd $1', |
| 1705 | +'diff-styleadded' => 'terzê $1i kerd ser', |
| 1706 | +'diff-added' => '$1 kerd ser', |
| 1707 | +'diff-changedto' => 'vurna ra $1', |
| 1708 | +'diff-movedoutof' => '$1 ra vet berd', |
| 1709 | +'diff-styleremoved' => 'terzê $1i esterıt', |
| 1710 | +'diff-removed' => '$1 esterıt', |
| 1711 | +'diff-changedfrom' => '$1 ra vurna', |
| 1712 | +'diff-src' => 'çıme', |
| 1713 | +'diff-withdestination' => 'ebe hedefê $1i', |
| 1714 | +'diff-with' => ' ebe $1 $2', |
| 1715 | +'diff-with-additional' => '$1 $2', |
| 1716 | +'diff-with-final' => ' u $1 $2', |
| 1717 | +'diff-width' => 'verınêni', |
| 1718 | +'diff-height' => 'berzêni', |
| 1719 | +'diff-p' => "jü '''parağraf'''", |
| 1720 | +'diff-blockquote' => "jü '''teklif'''", |
| 1721 | +'diff-h1' => "jü '''pozisyon (sewiya 1yine)'''", |
| 1722 | +'diff-h2' => "jü '''pozisyon (sewiya 2yine)'''", |
| 1723 | +'diff-h3' => "jü '''pozisyon (sewiya 3ine)'''", |
| 1724 | +'diff-h4' => "jü '''pozisyon (sewiya 4ine)'''", |
| 1725 | +'diff-h5' => "jü '''pozisyon (sewiya 5ine)'''", |
| 1726 | +'diff-pre' => "jü '''komo versıkıldae'''", |
| 1727 | +'diff-div' => "jü '''teqşim'''", |
| 1728 | +'diff-ul' => "jü '''lista bêtertibıne'''", |
| 1729 | +'diff-ol' => "jü '''lista tertibıne'''", |
| 1730 | +'diff-li' => "jü '''maddê lista'''", |
| 1731 | +'diff-table' => "jü '''cedwel'''", |
| 1732 | +'diff-tbody' => "jü '''zerrê cedweli'''", |
| 1733 | +'diff-tr' => "jü '''rêze'''", |
| 1734 | +'diff-td' => "jü '''hucra'''", |
| 1735 | + |
| 1736 | +# Search results |
| 1737 | +'searchresults' => 'Neticê cıfeteliyaene', |
| 1738 | +'searchresults-title' => '"$1" rê neticê cıfeteliyaene', |
| 1739 | +'searchresulttext' => 'Zerrê {{SITENAME}} de heqa cıfeteliyaene de serba melumat guretene, şikina qaytê [[{{MediaWiki:Helppage}}|{{int:help}}]] ke.', |
| 1740 | +'searchsubtitleinvalid' => "Serbacıfeteliyae: '''$1'''", |
| 1741 | +'noexactmatch' => "'''Pela be namê \"\$1\"i nêvêniye.''' |
| 1742 | +Tı şikina na pele [[:\$1|bıaferne]].", |
| 1743 | +'noexactmatch-nocreate' => "'''Pele be namê \"\$1\"i çina.'''", |
| 1744 | +'notitlematches' => 'Qet zu serrêze de nêvêniya', |
| 1745 | +'notextmatches' => 'Qet zu pele de nêvêniya', |
| 1746 | +'prevn' => '{{PLURAL:$1|$1}} verên', |
| 1747 | +'nextn' => '{{PLURAL:$1|$1}} peyên', |
| 1748 | +'viewprevnext' => 'Bıvêne ($1 {{int:pipe-separator}} $2) ($3)', |
| 1749 | +'searchprofile-images' => 'Dosyey', |
| 1750 | +'search-result-size' => '$1 ({{PLURAL:$2|1 çekuye|$2 çekuy}})', |
| 1751 | +'search-redirect' => '(hetêcıraberdene $1)', |
| 1752 | +'search-section' => '(qısımo $1)', |
| 1753 | +'search-suggest' => 'To ney rê vat: $1', |
| 1754 | +'search-interwiki-caption' => 'Procê bıray', |
| 1755 | +'search-interwiki-default' => '$1 neticey:', |
| 1756 | +'search-interwiki-more' => '(zafêr)', |
| 1757 | +'search-mwsuggest-enabled' => 'ebe teklifu', |
| 1758 | +'search-mwsuggest-disabled' => 'teklifi çinê', |
| 1759 | +'powersearch' => 'Cıcêraiso hira', |
| 1760 | +'powersearch-legend' => 'Cıcêraiso hira', |
| 1761 | +'powersearch-ns' => 'Caunê namun de cıcêre:', |
| 1762 | +'powersearch-redir' => 'Girêun lista ke', |
| 1763 | +'powersearch-field' => 'Serba cı qayt ke', |
| 1764 | +'search-external' => 'Cıcêraisê teberi', |
| 1765 | +'searchdisabled' => "Cıcêraisê {{SITENAME}} qapan biyo. |
| 1766 | +Sıma şikinê na sıre ''Google'' de şêr kerê. |
| 1767 | +Diqet kerê, beno ke tedeestê {{SITENAME}} uza endi rozane niyê.", |
| 1768 | + |
| 1769 | +# Quickbar |
| 1770 | +'qbsettings' => 'Herbişiyaena hedefi', |
| 1771 | +'qbsettings-none' => 'Qet', |
| 1772 | +'qbsettings-fixedleft' => 'Çhep de bestniyo pa', |
| 1773 | +'qbsettings-fixedright' => 'Rast de bestniyo pa', |
| 1774 | +'qbsettings-floatingleft' => 'Çhepi ser aznino', |
| 1775 | +'qbsettings-floatingright' => 'Rasti ser aznino', |
| 1776 | + |
| 1777 | +# Preferences page |
| 1778 | +'preferences' => 'Tercihi', |
| 1779 | +'mypreferences' => 'Tercihê mı', |
| 1780 | +'prefs-edits' => 'Numra vurnaisun:', |
| 1781 | +'prefsnologin' => 'Cı nêkota', |
| 1782 | +'prefsnologintext' => 'Sıma gunê <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} cı kuyê]</span> ke dıma tercihunê karberi bınusnê.', |
| 1783 | +'changepassword' => 'Parola bıvurne', |
| 1784 | +'prefs-skin' => 'Çerme', |
| 1785 | +'skin-preview' => 'Verqayt', |
| 1786 | +'prefs-math' => 'Mat', |
| 1787 | +'datedefault' => 'Tercihi çinê', |
| 1788 | +'prefs-datetime' => 'Tarix u zeman', |
| 1789 | +'prefs-personal' => 'Dosya karberi', |
| 1790 | +'prefs-rc' => 'Vurnaisê peyêni', |
| 1791 | +'prefs-watchlist' => 'Lista şêr-kerdişi', |
| 1792 | +'prefs-watchlist-days' => 'Rozê ke lista şêr-kerdişi de asenê:', |
| 1793 | +'prefs-watchlist-edits' => 'Miqdarê tewr jêdêr vurnaisuno ke lista şêr-kerdişia hirakerdiye derê:', |
| 1794 | +'prefs-misc' => 'Ğelet', |
| 1795 | +'saveprefs' => 'Qeyd ke', |
| 1796 | +'resetprefs' => 'Vurnaisunê qeydnêkerdun pak ke', |
| 1797 | +'prefs-editing' => 'Vurnais', |
| 1798 | +'rows' => 'Rêji:', |
| 1799 | +'columns' => 'Ustıni:', |
| 1800 | +'searchresultshead' => 'Cıcêre', |
| 1801 | +'resultsperpage' => 'Pelgê be vênıtun:', |
| 1802 | +'contextlines' => 'Vênıtê be xetun:', |
| 1803 | +'contextchars' => 'Xetê be zerrek:', |
| 1804 | +'stub-threshold' => 'Tertibê şêmıga <a href="#" class="stub">stub link</a> (\'\'bytes\'\'):', |
| 1805 | +'recentchangesdays' => 'Rozê ke vurnaisunê peyênun de asenê:', |
| 1806 | +'recentchangescount' => 'Miqdarê vurnaisuno ke vurnaisê peyênun asenê, tarixê pele u protokolu, standardwari:', |
| 1807 | +'savedprefs' => 'Tercihê sıma qeydi biy.', |
| 1808 | +'timezonelegend' => 'Warê sate', |
| 1809 | +'localtime' => 'Waxto mehelın:', |
| 1810 | +'timezoneoffset' => 'Ware¹:', |
| 1811 | +'servertime' => "Waxtê ''server''i:", |
| 1812 | +'guesstimezone' => "''Browser''i ra pırr ke", |
| 1813 | +'allowemail' => "Karberunê binun ra ''e-mail''i fael ke", |
| 1814 | +'prefs-searchoptions' => 'Alternatifê cıcêraişi', |
| 1815 | +'prefs-namespaces' => 'Caê namey', |
| 1816 | +'defaultns' => 'İhmal-kerdene de ni caunê namey de cıcêre:', |
| 1817 | +'default' => 'ihmal', |
| 1818 | +'prefs-files' => 'Dosyey', |
| 1819 | +'youremail' => 'E-poste:', |
| 1820 | +'username' => 'Namê karberi:', |
| 1821 | +'uid' => 'Kamiya karberi:', |
| 1822 | +'prefs-memberingroups' => 'Ezaê de {{PLURAL:$1|gruba|grubunê}}:', |
| 1823 | +'yourrealname' => 'Namo rastıkên:', |
| 1824 | +'yourlanguage' => 'Zon:', |
| 1825 | +'yourvariant' => 'Varyant:', |
| 1826 | +'yournick' => 'İmza:', |
| 1827 | +'badsig' => "İmza kala nêvêrdiye. |
| 1828 | +Etiketê ''HTML''i qontrol ke.", |
| 1829 | +'badsiglength' => 'İmza to zaf derga. |
| 1830 | +Gunê $1 {{PLURAL:$1|herfe|herfun}} ra senık bo.', |
| 1831 | +'yourgender' => 'Cınsiyet:', |
| 1832 | +'gender-male' => 'Cüamêrd', |
| 1833 | +'gender-female' => 'Cüanıke', |
| 1834 | +'email' => 'E-poste', |
| 1835 | +'prefs-help-realname' => 'Namo rastıkên serbesto. |
| 1836 | +Sıma ke ney bıgurenê, karê sıma de no namdarêni dano.', |
| 1837 | + |
| 1838 | +# User rights |
| 1839 | +'userrights' => 'İdarê hequnê karberi', |
| 1840 | +'userrights-lookup-user' => 'Komunê karberun idare ke', |
| 1841 | +'userrights-user-editname' => 'Jü namê karberi bıdê:', |
| 1842 | +'editusergroup' => 'Komunê karberun bıvurne', |
| 1843 | +'editinguser' => "Hequnê karberê '''[[User:$1|$1]]'''i vurnais ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])", |
| 1844 | +'userrights-editusergroup' => 'Komunê karberun bıvurne', |
| 1845 | +'saveusergroups' => 'Komunê karberun qeyd ke', |
| 1846 | +'userrights-groupsmember' => 'Ezaê de:', |
| 1847 | + |
| 1848 | +# Groups |
| 1849 | +'group-sysop' => 'İdarekeri', |
| 1850 | + |
| 1851 | +'grouppage-sysop' => '{{ns:project}}:İdarekeri', |
| 1852 | + |
| 1853 | +# User rights log |
| 1854 | +'rightslog' => 'Qeydê hequnê karberi', |
| 1855 | +'rightslogtext' => 'No jü qeydê vurnaisê hequnê karberio.', |
| 1856 | +'rightslogentry' => 'selahiyetê $1i $2 ra vurniya be $3i', |
| 1857 | +'rightsnone' => '(qet jü)', |
| 1858 | + |
| 1859 | +# Associated actions - in the sentence "You do not have permission to X" |
| 1860 | +'action-read' => 'na pele bıwane', |
| 1861 | +'action-edit' => 'na pele bıvurne', |
| 1862 | +'action-createpage' => 'pelu bıaferne', |
| 1863 | +'action-createtalk' => 'pelunê hurênaişi bıaferne', |
| 1864 | +'action-createaccount' => 'na hesabê karberi bıaferne', |
| 1865 | + |
| 1866 | +# Recent changes |
| 1867 | +'recentchanges' => 'Vurnaisê peyêni', |
| 1868 | +'recentchanges-legend' => 'Alternatifê vurnaisunê peyênu', |
| 1869 | +'recentchanges-feed-description' => 'Na weiyekerdena wiki de vurnaisê tewrpeyêne ke biyê ine teqib ke.', |
| 1870 | +'rcnote' => "Cêr {{PLURAL:$1|'''1''' vurnaiso peyên|'''$1''' vurnaisê peyêni}} be {{PLURAL:$2|roza peyêne|'''$2''' rozunê peyênunê}} $5, $4 ra estê.", |
| 1871 | +'rclistfrom' => '$1 ra hata nıka vurnaisunê newu bıasne', |
| 1872 | +'rcshowhideminor' => '$1 vurnaisê qızkeki', |
| 1873 | +'rcshowhidebots' => 'botê $1i', |
| 1874 | +'rcshowhideliu' => '$1 karberê qeydbiyaey', |
| 1875 | +'rcshowhideanons' => '$1 karberê anonimi', |
| 1876 | +'rcshowhidemine' => '$1 vurnaisê mı', |
| 1877 | +'rclinks' => '$1 vurnaisunê peyênunê $2 rozunê<br />$3 peyênun bıasne', |
| 1878 | +'diff' => 'ferq', |
| 1879 | +'hist' => 'tarix', |
| 1880 | +'hide' => 'Bınımne', |
| 1881 | +'show' => 'Bıasne', |
| 1882 | +'minoreditletter' => 'q', |
| 1883 | +'newpageletter' => 'N', |
| 1884 | +'boteditletter' => 'b', |
| 1885 | +'rc-enhanced-expand' => 'Tefsilatu bıasne (JavaScript lazımo)', |
| 1886 | +'rc-enhanced-hide' => 'Tefsilatu bınımne', |
| 1887 | + |
| 1888 | +# Recent changes linked |
| 1889 | +'recentchangeslinked' => 'Heqe de vurnais', |
| 1890 | +'recentchangeslinked-title' => 'Heqa "$1"i de vurnais', |
| 1891 | +'recentchangeslinked-backlink' => '← $1', |
| 1892 | +'recentchangeslinked-page' => 'Namê pele:', |
| 1893 | +'recentchangeslinked-to' => 'Hurêndia pela ke yena daene, vurnaisunê pelunê ke dae ra girêdaiyê, inu bıasne', |
| 1894 | + |
| 1895 | +# Upload |
| 1896 | +'upload' => 'Dosya bar ke', |
| 1897 | +'uploadbtn' => 'Dosya bar ke', |
| 1898 | +'reupload' => 'Tekrar bar ke', |
| 1899 | +'reuploaddesc' => 'Bar-kerdene bıtexelne u racêre ra formê bar-kerdene', |
| 1900 | +'uploadnologin' => 'Ede cı nêkotê', |
| 1901 | +'uploadnologintext' => 'Sıma gunê [[Special:UserLogin|cı kuyê]] ke dosyeun bar kerê.', |
| 1902 | +'upload_directory_missing' => "İndeksê bar-kerdena ($1)i çino u terefê ''webserver''i ra nêşikino ke bıaferiyo.", |
| 1903 | +'upload_directory_read_only' => "İndeksê bar-kerdena ($1)i terefê ''webserver''i nênuşino.", |
| 1904 | +'uploaderror' => 'Xeta bar-kerdene', |
| 1905 | + |
| 1906 | +# File description page |
| 1907 | +'filehist' => 'Tarixê dosya', |
| 1908 | +'filehist-help' => "Serba diyaena viartê dosya tarixê ke qısımê tarix/zeman'i derê inu bıteqne.", |
| 1909 | +'filehist-current' => 'nıkaên', |
| 1910 | +'filehist-datetime' => 'Tarix/Dem', |
| 1911 | +'filehist-thumb' => 'Resmo qızkek', |
| 1912 | +'filehist-thumbtext' => 'Halo qızkek be versiyonê roza $1ine', |
| 1913 | +'filehist-user' => 'Karber', |
| 1914 | +'filehist-dimensions' => 'Budi', |
| 1915 | +'filehist-filesize' => 'Gırşênia dosya', |
| 1916 | +'filehist-comment' => 'Areze-kerdene', |
| 1917 | +'imagelinks' => 'Girê dosya', |
| 1918 | +'linkstoimage' => 'Ano {{PLURAL:$1|girê pele|$1 girê pelu}} be na dosya:', |
| 1919 | +'sharedupload' => 'Na dosya depoê $1 rawa u beno ke procunê binu de gurenina.', |
| 1920 | + |
| 1921 | +# Statistics |
| 1922 | +'statistics' => 'İstatistiki', |
| 1923 | + |
| 1924 | +# Miscellaneous special pages |
| 1925 | +'nbytes' => '$1 {{PLURAL:$1|bayt|bayti}}', |
| 1926 | +'ncategories' => '$1 {{PLURAL:$1|kategoriye|kategoriy}}', |
| 1927 | +'nlinks' => '$1 {{PLURAL:$1|gire|girey}}', |
| 1928 | +'nmembers' => '$1 {{PLURAL:$1|eza|ezay}}', |
| 1929 | +'nrevisions' => '$1 {{PLURAL:$1|çım-ra-viarnais|çım-ra-viarnaişi}}', |
| 1930 | +'nviews' => '$1 {{PLURAL:$1|vênais|vênaişi}}', |
| 1931 | +'uncategorizedpages' => 'Pelê kategorizenêkerdey', |
| 1932 | +'shortpages' => 'Pelê kılmi', |
| 1933 | +'longpages' => 'Pelê dergi', |
| 1934 | +'listusers' => 'Lista karberi', |
| 1935 | +'newpages' => 'Pelê newey', |
| 1936 | +'ancientpages' => 'Pelê khanêri', |
| 1937 | +'move' => 'Bere', |
| 1938 | +'pager-newer-n' => '{{PLURAL:$1|1 newêr|$1 newêri}}', |
| 1939 | +'pager-older-n' => '{{PLURAL:$1|1 khanêr|$1 khanêri}}', |
| 1940 | + |
| 1941 | +# Book sources |
| 1942 | +'booksources' => 'Çımê kıtabun', |
| 1943 | +'booksources-go' => 'So', |
| 1944 | + |
| 1945 | +# Special:Log |
| 1946 | +'specialloguserlabel' => 'Karber:', |
| 1947 | +'log' => 'Qeydi', |
| 1948 | + |
| 1949 | +# Special:AllPages |
| 1950 | +'allpages' => 'Peli pêro', |
| 1951 | +'alphaindexline' => '$1 bere $2', |
| 1952 | +'prevpage' => 'Pela verêne ($1)', |
| 1953 | +'allpagessubmit' => 'So', |
| 1954 | + |
| 1955 | +# Special:Log/newusers |
| 1956 | +'newuserlog-create-entry' => 'Hesabê karberê newey', |
| 1957 | + |
| 1958 | +# Special:ListGroupRights |
| 1959 | +'listgrouprights-members' => '(lista azau)', |
| 1960 | + |
| 1961 | +# E-mail user |
| 1962 | +'emailuser' => 'Nê karberi rê e-poste bırusne', |
| 1963 | + |
| 1964 | +# Watchlist |
| 1965 | +'watchlist' => 'Pela mına şêrkerdene', |
| 1966 | +'mywatchlist' => 'Lista mına şêrkerdışi', |
| 1967 | +'watchlistfor' => "(serba '''$1''')", |
| 1968 | +'watch' => 'Şêr ke', |
| 1969 | +'watchthispage' => 'Na pele de şêr ke', |
| 1970 | +'unwatch' => 'Endi şêr meke', |
| 1971 | +'watchlist-details' => 'Pelunê hurênaişi ra qêri {{PLURAL:$1|$1 pele lista şêrkerdişi dera|$1 peli lista şêrkerdişi derê}}.', |
| 1972 | +'wlshowlast' => '$1 saetunê $2 rozunê peyênu bıasne $3', |
| 1973 | +'watchlist-options' => 'Alternatifê lista şêrkerdene', |
| 1974 | + |
| 1975 | +# Displayed when you click the "watch" button and it is in the process of watching |
| 1976 | +'watching' => 'Şêr ke…', |
| 1977 | +'unwatching' => 'Şêr meke…', |
| 1978 | + |
| 1979 | +# Delete |
| 1980 | +'deletepage' => 'Pele bıestere', |
| 1981 | +'actioncomplete' => 'Kar bi temam', |
| 1982 | +'deletedarticle' => '"[[$1]]" esterıt', |
| 1983 | +'dellogpage' => 'Qeydê esterıtene', |
| 1984 | +'deletecomment' => 'Sebebê esterıtene:', |
| 1985 | +'deletereasonotherlist' => 'Sebebo bin', |
| 1986 | + |
| 1987 | +# Rollback |
| 1988 | +'rollbacklink' => 'peyser bia', |
| 1989 | + |
| 1990 | +# Protect |
| 1991 | +'protectlogpage' => 'Qeydê seveknaene', |
| 1992 | +'protectedarticle' => '"[[$1]]" sevekna', |
| 1993 | +'protectcomment' => 'Sebeb:', |
| 1994 | +'protectexpiry' => 'Tarixê qediyaene:', |
| 1995 | +'protect-summary-cascade' => 'qedemein', |
| 1996 | +'protect-expiring' => 'tarixê qediyaene $1 (UTC)', |
| 1997 | +'restriction-type' => 'Destur:', |
| 1998 | +'restriction-level' => 'Sinorê desturi:', |
| 1999 | + |
| 2000 | +# Undelete |
| 2001 | +'undeletebtn' => 'Peyser bia', |
| 2002 | +'undeletelink' => 'bıvêne/peyser bia', |
| 2003 | +'undeletedarticle' => 'peyser ard "[[$1]]"', |
| 2004 | + |
| 2005 | +# Namespace form on various pages |
| 2006 | +'namespace' => 'Caê namey:', |
| 2007 | +'invert' => 'Weçinıtu ra qêri bıasne', |
| 2008 | +'blanknamespace' => '(Ser)', |
| 2009 | + |
| 2010 | +# Contributions |
| 2011 | +'contributions' => 'İştırakê karberi', |
| 2012 | +'contributions-title' => '$1 de iştırakê karberi', |
| 2013 | +'mycontris' => 'İştırakê mı', |
| 2014 | +'contribsub2' => 'Serba $1 ($2)', |
| 2015 | +'uctop' => '(ser)', |
| 2016 | +'month' => 'Asme ra (u ravêr):', |
| 2017 | +'year' => 'Serre ra (u ravêr):', |
| 2018 | + |
| 2019 | +'sp-contributions-username' => 'IP ya ki karber:', |
| 2020 | +'sp-contributions-submit' => 'Cıfeteliye', |
| 2021 | + |
| 2022 | +# What links here |
| 2023 | +'whatlinkshere' => 'Çı itay asneno', |
| 2024 | +'whatlinkshere-title' => 'Pelê ke be "$1"i bestninê pa', |
| 2025 | +'whatlinkshere-page' => 'Pele:', |
| 2026 | +'whatlinkshere-backlink' => '← $1', |
| 2027 | +'linkshere' => "Ni pelgi '''[[:$1]]'''i asnenê:", |
| 2028 | +'nolinkshere' => "Pelgê ke '''[[:$1]]'''i asnenê çinê.", |
| 2029 | +'isredirect' => 'pela ciheti', |
| 2030 | +'istemplate' => 'ilawekerdis', |
| 2031 | +'isimage' => 'girê sıkıli', |
| 2032 | +'whatlinkshere-prev' => '{{PLURAL:$1|verêni|verên $1}}', |
| 2033 | +'whatlinkshere-next' => '{{PLURAL:$1|tepiyaên|tepiyaên $1}}', |
| 2034 | +'whatlinkshere-links' => '← girê beno', |
| 2035 | +'whatlinkshere-hideredirs' => 'peyser sono $1', |
| 2036 | +'whatlinkshere-hidetrans' => 'İlawekerdê çaprazi $1', |
| 2037 | +'whatlinkshere-hidelinks' => '$1 girey', |
| 2038 | +'whatlinkshere-filters' => 'Filtrey', |
| 2039 | + |
| 2040 | +# Block/unblock |
| 2041 | +'ipboptions' => '2 saeti:2 hours,1 roze:1 day,3 roji:3 days,1 hefte:1 week,2 heftey:2 weeks,1 asme:1 month,3 asmi:3 months,6 asmi:6 months,1 serre:1 year,bêmıdet:infinite', |
| 2042 | +'blocklink' => 'kilıt ke', |
| 2043 | +'unblocklink' => 'ra ke', |
| 2044 | +'change-blocklink' => 'mani bıvurne', |
| 2045 | +'contribslink' => 'iştıraki', |
| 2046 | +'autoblocker' => 'Sıma otomatikmen kılit biy, çıke adresa sımawa \'\'IP\'\'y terefê "[[User:$1|$1]]" gurenina. |
| 2047 | +Sebebê kılit-biyaena $1\'i: "$2"o', |
| 2048 | +'blocklogpage' => 'Protokolê kilıti', |
| 2049 | +'blocklogentry' => '[[$1]] hata peyê $2 $3ine kilıt bi', |
| 2050 | +'reblock-logentry' => 'kilıt-kerdena [[$1]]i hata peyê $2 $3ine vurnê', |
| 2051 | +'blocklogtext' => "No jü protokolê faeliyetê kilıt- u rakerdena karberuno. |
| 2052 | +Otomatikmen kilıt biyaiyê adresê ''IP''y lista de çinê. |
| 2053 | +Serba men- u kilıt-biyaene nıkaêne qaytê [[Special:IPBlockList|lista kilıt-kerdena ''IP''y]] ke.", |
| 2054 | +'unblocklogentry' => "kilıt-kerdena $1'i", |
| 2055 | +'block-log-flags-anononly' => 'teyna karberê bênamey', |
| 2056 | +'block-log-flags-nocreate' => 'afernaena hesabi qapan biye', |
| 2057 | +'block-log-flags-noautoblock' => 'kilıto otomatik qapan bi', |
| 2058 | +'block-log-flags-noemail' => 'e-mail kilıt bi', |
| 2059 | +'block-log-flags-nousertalk' => 'pela hurênaişi ho nêşikina bıvurnê', |
| 2060 | +'block-log-flags-angry-autoblock' => 'kilıto otomatiko qewetın bi ra', |
| 2061 | +'range_block_disabled' => 'Qabılıyetê idarekeri be afernaena komuna têdine qapan bi.', |
| 2062 | +'ipb_expiry_invalid' => 'Xêlê zeman nêvêreno.', |
| 2063 | + |
| 2064 | +# Move page |
| 2065 | +'movearticle' => 'Pele bere:', |
| 2066 | +'move-watch' => 'Na pele de şêr ke', |
| 2067 | +'1movedto2' => '[[$1]] berd be [[$2]]', |
| 2068 | +'movelogpage' => 'Qeydê berdene', |
| 2069 | +'movereason' => 'Sebeb:', |
| 2070 | +'revertmove' => 'raçarnaene', |
| 2071 | + |
| 2072 | +# Export |
| 2073 | +'export' => 'Pelu qeyd ke', |
| 2074 | + |
| 2075 | +# Namespace 8 related |
| 2076 | +'allmessages' => 'Mesacê sistemi', |
| 2077 | + |
| 2078 | +# Thumbnails |
| 2079 | +'thumbnail-more' => 'Gırs ke', |
| 2080 | + |
| 2081 | +# Tooltip help for the actions |
| 2082 | +'tooltip-pt-userpage' => 'Pela sımawa karberi', |
| 2083 | +'tooltip-pt-mytalk' => 'Pela sımawa hurênaişi', |
| 2084 | +'tooltip-pt-preferences' => 'Tercihê mı', |
| 2085 | +'tooltip-pt-watchlist' => 'Pelê ke to guretê şêrkerdene', |
| 2086 | +'tooltip-pt-mycontris' => 'Lista iştıraqunê sıma', |
| 2087 | +'tooltip-pt-login' => 'Serba cıkotene sıma rê sılaiya, hama na zeruriye niya.', |
| 2088 | +'tooltip-pt-anonlogin' => 'Serba cıkotene sıma rê sılaiya, hama na zeruriye niya.', |
| 2089 | +'tooltip-pt-logout' => 'Veciye', |
| 2090 | +'tooltip-ca-talk' => 'Pela tedeesteun sero hurênais', |
| 2091 | +'tooltip-ca-edit' => 'Tı şikina na pele bıvurnê. |
| 2092 | +Kerem ke, qeyd-kerdene ra ver gozaga verqayti bıgurene.', |
| 2093 | +'tooltip-ca-addsection' => 'Jü qısımo newe rake', |
| 2094 | +'tooltip-ca-viewsource' => 'Na pele seveknaiya. |
| 2095 | +Tı şikina çımunê dae bıvênê', |
| 2096 | +'tooltip-ca-history' => 'Versiyonê verênê na pele', |
| 2097 | +'tooltip-ca-protect' => 'Na pele bısevekne', |
| 2098 | +'tooltip-ca-delete' => 'Na pele bıestere', |
| 2099 | +'tooltip-ca-move' => 'Namê na pele bıvurne', |
| 2100 | +'tooltip-ca-watch' => 'Na pele bıcê lista huya şêrkerdene', |
| 2101 | +'tooltip-ca-unwatch' => 'Na pele lista huya şêrkerdene ra wedare', |
| 2102 | +'tooltip-search' => 'Cıcêre {{SITENAME}}', |
| 2103 | +'tooltip-search-go' => 'Ebe ni namey so jü pele, eke esta', |
| 2104 | +'tooltip-search-fulltext' => 'Serba ni meqaley pelu sae ke', |
| 2105 | +'tooltip-p-logo' => 'Pela Seri', |
| 2106 | +'tooltip-n-mainpage' => 'Pela Seri bıvêne', |
| 2107 | +'tooltip-n-mainpage-description' => 'Pela Seri bıvêne', |
| 2108 | +'tooltip-n-portal' => 'Heqa procey de, sıma çı şikinê, çı koti vênenê', |
| 2109 | +'tooltip-n-currentevents' => 'Vurnaisunê peyênu sero melumatê pey bıvêne', |
| 2110 | +'tooltip-n-recentchanges' => 'Wiki de lista vurnaisunê peyênu', |
| 2111 | +'tooltip-n-randompage' => 'Pelê da rastamaiye bar ke', |
| 2112 | +'tooltip-n-help' => 'Caê dos-kerdene.', |
| 2113 | +'tooltip-t-whatlinkshere' => 'Lista pelunê wiki pêroina ke ita girê bena', |
| 2114 | +'tooltip-t-recentchangeslinked' => 'Vurnaiso peyêno peluno ke na pela ra gire beno', |
| 2115 | +'tooltip-feed-rss' => 'Qutê RSSê na pele', |
| 2116 | +'tooltip-feed-atom' => 'Qutê atomê na pele', |
| 2117 | +'tooltip-t-contributions' => 'Lista iştırakunê ni karberi bıvêne', |
| 2118 | +'tooltip-t-emailuser' => 'Jü e-mail ni karberi rê bırusne', |
| 2119 | +'tooltip-t-upload' => 'Dosya bar ke', |
| 2120 | +'tooltip-t-specialpages' => 'Lista pelunê xususiunê pêroinu', |
| 2121 | +'tooltip-t-print' => 'Nımunê kopya-kerdena na pele', |
| 2122 | +'tooltip-t-permalink' => 'Giro daimiyo nımunê na pele', |
| 2123 | +'tooltip-ca-nstab-main' => 'Pela tede esteu bıvêne', |
| 2124 | +'tooltip-ca-nstab-user' => 'Pela karberi bıvêne', |
| 2125 | +'tooltip-ca-nstab-media' => 'Pela medya bıvêne', |
| 2126 | +'tooltip-ca-nstab-special' => 'Na jü pelê da xususiya, sıma nêşikinê nae bıvurnê', |
| 2127 | +'tooltip-ca-nstab-project' => 'Pela procey bıvêne', |
| 2128 | +'tooltip-ca-nstab-image' => 'Pela dosya bıvêne', |
| 2129 | +'tooltip-ca-nstab-mediawiki' => 'Mesacê sistemi bıvêne', |
| 2130 | +'tooltip-ca-nstab-template' => 'Nımuney bıvêne', |
| 2131 | +'tooltip-ca-nstab-help' => 'Pela phoşti bıvêne', |
| 2132 | +'tooltip-ca-nstab-category' => 'Pela kategoriye bıvêne', |
| 2133 | +'tooltip-minoredit' => 'Ney jê vurnaiso qıc isaret ke', |
| 2134 | +'tooltip-save' => 'Vurnaisunê ho qeyd ke', |
| 2135 | +'tooltip-preview' => 'Kerem ke, vurnaisunê ho qeyd-kerdene ra ravêr be verqayt bıasne!', |
| 2136 | +'tooltip-diff' => 'Kamci vurnaişi ke to meqale de kerdê, naine bıasne.', |
| 2137 | +'tooltip-compareselectedversions' => 'Ferqunê wertê ni dı nımınunê weçinıtu bıvêne.', |
| 2138 | +'tooltip-watch' => 'Na pele lista huya şêrkerdişi ser ke', |
| 2139 | +'tooltip-recreate' => 'Na pele esterıte bo ki, nae oncia bıaferne', |
| 2140 | +'tooltip-upload' => 'Dest be bar-kerdene ke', |
| 2141 | +'tooltip-rollback' => '"Peyser biya" ebe jü tık pela iştırak(un)ê peyên(u)/i peyser ano.', |
| 2142 | +'tooltip-undo' => '"Peyser" ni vurnaişi peyser ano u modusê verqayt de vurnaisê formi keno ra. |
| 2143 | +Têser-kerdena jü sebebi rê xulasa de imkan dano cı.', |
| 2144 | + |
| 2145 | +# Stylesheets |
| 2146 | +'common.css' => '/* CSSo ke itaro, serba çermu pêroine gurenino */', |
| 2147 | + |
| 2148 | +# Math errors |
| 2149 | +'math_failure' => 'Analiz de xeta', |
| 2150 | +'math_unknown_error' => 'xeta nêzanaiye', |
| 2151 | +'math_unknown_function' => 'fonksiyono nêzanae', |
| 2152 | +'math_lexing_error' => 'xeta grameri', |
| 2153 | +'math_syntax_error' => 'xeta cumla', |
| 2154 | +'math_image_error' => "Werênaisê ''PNG''y de xeta biye; |
| 2155 | +enstale-kerdena ''latex'', ''dvips'', ''gs'', u ''convert''i qontrol ke", |
| 2156 | +'math_bad_tmpdir' => "Sıma nêşikinê indeksê ''math temp''i de bınusê ya ki bıafernê", |
| 2157 | +'math_bad_output' => 'Sıma nêşikinê indeksê formulunê matematiki de bınusê ya ki bıafernê', |
| 2158 | +'math_notexvc' => "''Texvc''o gurênae çino; |
| 2159 | +Serba areze-kerdene qaytê ''math/README''y ke.", |
| 2160 | + |
| 2161 | +# Browsing diffs |
| 2162 | +'previousdiff' => '← Vurnaiso khanêr', |
| 2163 | + |
| 2164 | +# Media information |
| 2165 | +'file-info-size' => '($1 × $2 piksel, gırsênia dosya: $3, MIME tipê cı: $4)', |
| 2166 | +'file-nohires' => '<small>Tewrêna berz rovıleşiyaene nêbena.</small>', |
| 2167 | +'show-big-image' => 'Rovıleşiyaena tame', |
| 2168 | +'show-big-image-thumb' => '<small>Gırsênia verqayti: $1 × $2 piksel</small>', |
| 2169 | + |
| 2170 | +# Bad image list |
| 2171 | +'bad_image_list' => 'Sıkılo umumi niaro: |
| 2172 | + |
| 2173 | +Teyna çiyo ke beno lista (rezê ke be * dest kenê cı) çımun ver de vênino. |
| 2174 | +Jü rêze de girêo sıftein gunê girêo de dosya xırabıne bo. |
| 2175 | +Na rêze de her girêo bin jê istisna vênino, yanê pelê ke dosya beno ke sero rêzbiyae asena.', |
| 2176 | + |
| 2177 | +/* |
| 2178 | +Short names for language variants used for language conversion links. |
| 2179 | +To disable showing a particular link, set it to 'disable', e.g. |
| 2180 | +'variantname-zh-sg' => 'disable', |
| 2181 | +Variants for Chinese language |
| 2182 | +*/ |
| 2183 | +'variantname-zh-hans' => 'hans', |
| 2184 | +'variantname-zh-hant' => 'hant', |
| 2185 | +'variantname-zh-cn' => 'cn', |
| 2186 | +'variantname-zh-tw' => 'tw', |
| 2187 | +'variantname-zh-hk' => 'hk', |
| 2188 | +'variantname-zh-mo' => 'mo', |
| 2189 | +'variantname-zh-sg' => 'sg', |
| 2190 | +'variantname-zh-my' => 'mın', |
| 2191 | +'variantname-zh' => 'zh', |
| 2192 | + |
| 2193 | +# Variants for Serbian language |
| 2194 | +'variantname-sr-ec' => 'sr-ek', |
| 2195 | +'variantname-sr-el' => 'sr-el', |
| 2196 | +'variantname-sr' => 'sr', |
| 2197 | + |
| 2198 | +# Variants for Kazakh language |
| 2199 | +'variantname-kk-kz' => 'kk-kz', |
| 2200 | +'variantname-kk-tr' => 'kk-tr', |
| 2201 | +'variantname-kk-cn' => 'kk-kn', |
| 2202 | +'variantname-kk-cyrl' => 'kk-kırl', |
| 2203 | +'variantname-kk-latn' => 'kk-latn', |
| 2204 | +'variantname-kk-arab' => 'kk-areb', |
| 2205 | +'variantname-kk' => 'kk', |
| 2206 | + |
| 2207 | +# Variants for Kurdish language |
| 2208 | +'variantname-ku-arab' => 'ku-Areb', |
| 2209 | +'variantname-ku-latn' => 'ku-Latn', |
| 2210 | +'variantname-ku' => 'ku', |
| 2211 | + |
| 2212 | +# Variants for Tajiki language |
| 2213 | +'variantname-tg-cyrl' => 'tg-Kırl', |
| 2214 | +'variantname-tg-latn' => 'tg-Latn', |
| 2215 | +'variantname-tg' => 'tg', |
| 2216 | + |
| 2217 | +# Metadata |
| 2218 | +'metadata' => 'Daê seri', |
| 2219 | +'metadata-expand' => 'Arezekerdu bıasne', |
| 2220 | +'metadata-collapse' => 'Arezekerdu measne', |
| 2221 | +'metadata-fields' => "Meydanê EXIF metadataê ke na pele de benê lista, pela resımasnaene de ke tabloê metadata gına waro, gureninê. |
| 2222 | +İ bini zê ''saekerdoğu'' nıminê. |
| 2223 | +* make |
| 2224 | +* model |
| 2225 | +* datetimeoriginal |
| 2226 | +* exposuretime |
| 2227 | +* fnumber |
| 2228 | +* isospeedratings |
| 2229 | +* focallength", |
| 2230 | + |
| 2231 | +# External editor support |
| 2232 | +'edit-externally-help' => '(Serba daêna melumati qaytê pelga [http://www.mediawiki.org/wiki/Manual:External_editors ayarê gurenaena teberi] be)', |
| 2233 | + |
| 2234 | +# 'all' in various places, this might be different for inflected languages |
| 2235 | +'watchlistall2' => 'pêro', |
| 2236 | +'namespacesall' => 'pêro', |
| 2237 | +'monthsall' => 'pêro', |
| 2238 | + |
| 2239 | +# Watchlist editing tools |
| 2240 | +'watchlisttools-view' => 'Vurnaisunê alaqadaru bımısne', |
| 2241 | +'watchlisttools-edit' => 'Lista şêrkerdene bıvêne u vıraze', |
| 2242 | +'watchlisttools-raw' => 'Lista şêrkerdena xame vıraze', |
| 2243 | + |
| 2244 | +# Special:SpecialPages |
| 2245 | +'specialpages' => 'Pelê xususiy', |
| 2246 | +'specialpages-note' => '---- |
| 2247 | +* Pelê xususiyê normali. |
| 2248 | +* <span class="mw-specialpagerestricted">Pelê xususiyê mehcuri.</span>', |
| 2249 | +'specialpages-group-maintenance' => 'Tebliğê baxımi', |
| 2250 | +'specialpages-group-other' => 'Pelê xususiyê bini', |
| 2251 | +'specialpages-group-login' => 'Cıkotene / qeyd', |
| 2252 | +'specialpages-group-changes' => 'Vurnais u protokolê pêyêni', |
| 2253 | +'specialpages-group-media' => 'Raporê medya u bar-kerdey', |
| 2254 | +'specialpages-group-users' => 'Karber u heqi', |
| 2255 | +'specialpages-group-highuse' => 'Pelê jêdêr gurenaey', |
| 2256 | +'specialpages-group-pages' => 'Lista pelun', |
| 2257 | +'specialpages-group-pagetools' => 'Hacetê pele', |
| 2258 | +'specialpages-group-wiki' => "Daê ''Wiki''y u haceti", |
| 2259 | +'specialpages-group-redirects' => 'Newe-vırastena pelunê xususiyun', |
| 2260 | +'specialpages-group-spam' => "Hacetê ''spam''i", |
| 2261 | + |
| 2262 | +# Special:BlankPage |
| 2263 | +'blankpage' => 'Pela thale', |
| 2264 | + |
| 2265 | +); |
| 2266 | +<?php |
| 2267 | +/** Kurmancî (Kirmanjki) |
| 2268 | + * |
| 2269 | + * See MessagesQqq.php for message documentation incl. usage of parameters |
| 2270 | + * To improve a translation please visit http://translatewiki.net |
| 2271 | + * |
| 2272 | + * @ingroup Language |
| 2273 | + * @file |
| 2274 | + * |
| 2275 | + * @author Mirzali |
| 2276 | + */ |
| 2277 | + |
| 2278 | +$fallback = 'tr'; |
| 2279 | + |
| 2280 | +$messages = array( |
| 2281 | +# User preference toggles |
| 2282 | +'tog-underline' => 'Bınê girêu de xete bonce:', |
| 2283 | +'tog-highlightbroken' => 'Girêunê thalu {a href="" class="new"}nia{/a} (alternative: nia{a |
| 2284 | +href="" class="internal"}?{/a}) basne.', |
| 2285 | +'tog-justify' => 'Nustey dı hetu ser bazne', |
| 2286 | +'tog-hideminor' => 'Vurnaisunê senıku pela „vurnaisê peyêni“ de wedare', |
| 2287 | +'tog-hidepatrolled' => 'Vurnaisunê qontrolkerdu pela vurnaisê peyêni de wedare', |
| 2288 | +'tog-newpageshidepatrolled' => 'Lista pelunê newu ra pelunê qontrolkerdu wedare', |
| 2289 | +'tog-extendwatchlist' => 'Lista şêrkerdene serba, teyna tewr peyênu nê, diyaena pêro vurnaisu hira ke', |
| 2290 | +'tog-usenewrc' => 'Vurnaisunê peyênunê hirakerdiu bıgurene (JavaScript lazımo)', |
| 2291 | +'tog-numberheadings' => 'Sernustu be ho numra cısane', |
| 2292 | +'tog-showtoolbar' => 'Gozagunê hacetunê vurnaişi basne (JavaScript lazımo)', |
| 2293 | +'tog-editondblclick' => 'Pê dı rey tıknais pele sero bıguriye (JavaScript lazımo)', |
| 2294 | +'tog-editsection' => 'Vurnaisê tek tek qısmu rê girêu basne', |
| 2295 | +'tog-editsectiononrightclick' => 'Sernustê qısımu sero be gozaga raste tıknaene bıvurne (JavaScript lazımo)', |
| 2296 | +'tog-showtoc' => 'Tabloê tedeesteu basne (de pelunê be hirê sernustu ra jêdêri de)', |
| 2297 | +'tog-rememberpassword' => 'Parola mı bia ho viri', |
| 2298 | +'tog-editwidth' => 'Warê nustey hira ke, ke verıniya pela cıdaisê nustey tam baso', |
| 2299 | +'tog-watchcreations' => 'Pelê ke mı afernê, lista mına şêr-kerdişi ke', |
| 2300 | +'tog-watchdefault' => 'Pelê ke mı vurnê, lista mına şêr-kerdişi ke', |
| 2301 | +'tog-watchmoves' => 'Pelê ke mı kırısnê, lista mına şêr-kerdişi ke', |
| 2302 | +'tog-watchdeletion' => 'Pelê ke mı esterıtê, lista mına şêr-kerdişi ke', |
| 2303 | +'tog-minordefault' => 'Vurnaisunê ho pêrune ‘vurnaiso qızkek’ nisan bıde', |
| 2304 | +'tog-previewontop' => 'Verqayti pela nustene ser de bıasne', |
| 2305 | +'tog-previewonfirst' => 'Vurnaiso verên de verqayti tım bıasne', |
| 2306 | +'tog-nocache' => 'Pelun mia ho viri', |
| 2307 | +'tog-enotifwatchlistpages' => 'Pela ke ez şêr kenane eke vurnê mı rê e-mail bırusne', |
| 2308 | +'tog-enotifusertalkpages' => 'Pela mına werênaişi ke vurnê mı rê e-mail bırusne', |
| 2309 | +'tog-enotifminoredits' => 'Vurnaisunê qızkekun de ki mı rê e-mail bırusne', |
| 2310 | +'tog-enotifrevealaddr' => 'E-mailadresa mı emailunê xeberun de bıasne', |
| 2311 | +'tog-shownumberswatching' => 'Amarê (reqemê) karberunê şêrkerdoğun bıasne', |
| 2312 | +'tog-oldsig' => 'Verqaytê imza mewcude:', |
| 2313 | +'tog-fancysig' => 'İmza rê mamelê wikimeqaley bıke (bê gireo otomatik)', |
| 2314 | +'tog-externaleditor' => 'itorê teberi standart bıgurene (teyna serba ekspertuno, komputerê sıma de ayarê xusuşiy lazımê)', |
| 2315 | +'tog-externaldiff' => 'Têversanaene pê programê teberi vıraze (teyna serba ekspertuno, komputerê sıma de ayarê xusuşiy lazımê)', |
| 2316 | +'tog-showjumplinks' => 'Girê "so"y aktif/fael ke', |
| 2317 | +'tog-uselivepreview' => 'Verqayto cınde bıgurene (JavaScript) (hona cerrebnaene dero)', |
| 2318 | +'tog-forceeditsummary' => 'Mı ke xulasa kerde cı vira, hay be mı ser de', |
| 2319 | +'tog-watchlisthideown' => 'Vurnaisunê mı lista mına şêr-kerdişi de wedare', |
| 2320 | +'tog-watchlisthidebots' => 'Vurnaisunê boti lista mına şêr-kerdişi de wedare', |
| 2321 | +'tog-watchlisthideminor' => 'Vurnaisunê qızkekun lista mına şêr-kerdişi de wedare', |
| 2322 | +'tog-watchlisthideliu' => 'Lista şêrkerdışi ra vurnaisunê karberunê cıkotun wedare', |
| 2323 | +'tog-watchlisthideanons' => 'Lista şêrkerdışi ra vurnaisunê karberunê anonimun wedare', |
| 2324 | +'tog-watchlisthidepatrolled' => 'Lista şêrkerdışi ra vurnaisunê qontrolkerdun wedare', |
| 2325 | +'tog-ccmeonemails' => 'E-mailunê ke ez karberunê binun rê rusnenun, mı rê kopya inun bırusne', |
| 2326 | +'tog-diffonly' => 'Qıyasê verziyonun de tek ferqun bıasne, pela butıne nê', |
| 2327 | +'tog-showhiddencats' => 'Kategoriunê nımıtu bıasne', |
| 2328 | +'tog-norollbackdiff' => 'Peyserardene ra dıme ferqi caverde', |
| 2329 | + |
| 2330 | +'underline-always' => 'Tım', |
| 2331 | +'underline-never' => 'Qet', |
| 2332 | +'underline-default' => 'Qerar cıcêraoği dest dero', |
| 2333 | + |
| 2334 | +# Font style option in Special:Preferences |
| 2335 | +'editfont-style' => 'Warê vurnaena tipê nustey:', |
| 2336 | +'editfont-default' => 'Fereziya cıfeteliyaoği', |
| 2337 | +'editfont-monospace' => 'Tipê nustê sabıtcaguretoği', |
| 2338 | +'editfont-sansserif' => 'Tipê nustê Sans-serifi', |
| 2339 | +'editfont-serif' => 'Tipê nustê Serifi', |
| 2340 | + |
| 2341 | +# Dates |
| 2342 | +'sunday' => 'Bazar', |
| 2343 | +'monday' => 'Dıseme', |
| 2344 | +'tuesday' => 'Şêseme', |
| 2345 | +'wednesday' => 'Çarseme', |
| 2346 | +'thursday' => 'Phoseme', |
| 2347 | +'friday' => 'Yene', |
| 2348 | +'saturday' => 'Seme', |
| 2349 | +'sun' => 'Baz', |
| 2350 | +'mon' => 'Dıs', |
| 2351 | +'tue' => 'Şês', |
| 2352 | +'wed' => 'Çar', |
| 2353 | +'thu' => 'Pho', |
| 2354 | +'fri' => 'Yen', |
| 2355 | +'sat' => 'Sem', |
| 2356 | +'january' => 'Çele', |
| 2357 | +'february' => 'Gucige', |
| 2358 | +'march' => 'Mart', |
| 2359 | +'april' => 'Nisane', |
| 2360 | +'may_long' => 'Gulane', |
| 2361 | +'june' => 'Haziran', |
| 2362 | +'july' => 'Temmuz', |
| 2363 | +'august' => 'Tebaxe', |
| 2364 | +'september' => 'Eylule', |
| 2365 | +'october' => 'Keşkelun', |
| 2366 | +'november' => 'Tişrin', |
| 2367 | +'december' => 'Gağan', |
| 2368 | +'january-gen' => 'Çeley', |
| 2369 | +'february-gen' => 'Gucige', |
| 2370 | +'march-gen' => 'Marti', |
| 2371 | +'april-gen' => 'Nisane', |
| 2372 | +'may-gen' => 'Gulane', |
| 2373 | +'june-gen' => 'Hazirani', |
| 2374 | +'july-gen' => 'Temmuzi', |
| 2375 | +'august-gen' => 'Tebaxe', |
| 2376 | +'september-gen' => 'Eylule', |
| 2377 | +'october-gen' => 'Keşkeluni', |
| 2378 | +'november-gen' => 'Tişrini', |
| 2379 | +'december-gen' => 'Gağani', |
| 2380 | +'jan' => 'Çel', |
| 2381 | +'feb' => 'Guc', |
| 2382 | +'mar' => 'Mar', |
| 2383 | +'apr' => 'Nis', |
| 2384 | +'may' => 'Gul', |
| 2385 | +'jun' => 'Haz', |
| 2386 | +'jul' => 'Tem', |
| 2387 | +'aug' => 'Teb', |
| 2388 | +'sep' => 'Eyl', |
| 2389 | +'oct' => 'Keş', |
| 2390 | +'nov' => 'Tiş', |
| 2391 | +'dec' => 'Gağ', |
| 2392 | + |
| 2393 | +# Categories related messages |
| 2394 | +'pagecategories' => '{{PLURAL:$1|Kategoriye|Kategoriy}}', |
| 2395 | +'category_header' => 'Pela ke kategoriya "$1" dera', |
| 2396 | +'subcategories' => 'Kategoriyê bınêni', |
| 2397 | +'category-media-header' => 'Medyawa ke kategoriya "$1" dera', |
| 2398 | +'category-empty' => "''Na kategoriye de nıka pelgi ya ki medya çinê.''", |
| 2399 | +'hidden-categories' => '{{PLURAL:$1|Kategoriya nımıtiye|Kategoriyê nımıtey}}', |
| 2400 | +'hidden-category-category' => 'Kategoriyê nımıtey', |
| 2401 | +'category-subcat-count' => '{{PLURAL:$2|Na kategoriye de ana kategoriya bınêne esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ana kategoriya bınêne esta|ani $1 kategoriyê bınêni estê.}}}}', |
| 2402 | +'category-subcat-count-limited' => 'Na kategoriye de {{PLURAL:$1|ana kategoriya bınêne esta|ani $1 kategoriyê bınêni estê}}.', |
| 2403 | +'category-article-count' => '{{PLURAL:$2|Na kategoriye de teyna ana pele esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ana pele esta|ani $1 peli estê.}}}}', |
| 2404 | +'category-article-count-limited' => '{{PLURAL:$1|Ana pele kategoriya peyêne dera|Ani $1 peli kategoriya peyêne derê}}.', |
| 2405 | +'category-file-count' => '{{PLURAL:$2|Na kategoriye de teyna ana dosya esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ana dosya esta|ani $1 dosyey estê.}}}}', |
| 2406 | +'category-file-count-limited' => '{{PLURAL:$1|Ana dosya kategoriya peyêne dera|Ani $1 dosyey kategoriya peyêne derê}}.', |
| 2407 | +'listingcontinuesabbrev' => 'işt.', |
| 2408 | + |
| 2409 | +'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD', |
| 2410 | +'mainpagetext' => "<big>'''MediaWiki ebe mıwefeq instale bi.'''</big>", |
| 2411 | +'mainpagedocfooter' => "Serba melumatê gurenaena ''wiki software''i [http://meta.wikimedia.org/wiki/Help:Contents İdarê karberi] de mıracaet ke. |
| 2412 | + |
| 2413 | +== Gamê verêni == |
| 2414 | +* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Lista ayarunê vıraştene] |
| 2415 | +* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki de ÇZP] |
| 2416 | +* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki ra lista serbest-daena postey]", |
| 2417 | + |
| 2418 | +'about' => 'Heqa', |
| 2419 | +'article' => 'Pela tede-esteun', |
| 2420 | +'newwindow' => '(pençereo newe de beno ra)', |
| 2421 | +'cancel' => 'Bıtexelne', |
| 2422 | +'moredotdotdot' => 'Jêde...', |
| 2423 | +'mypage' => 'Pela mı', |
| 2424 | +'mytalk' => 'Hurênaisê mı', |
| 2425 | +'anontalk' => "Hurênaisê ni ''IP''y", |
| 2426 | +'navigation' => 'Pusula', |
| 2427 | +'and' => ' u', |
| 2428 | + |
| 2429 | +# Cologne Blue skin |
| 2430 | +'qbfind' => 'Bıvêne', |
| 2431 | +'qbbrowse' => 'Çım ra viarne', |
| 2432 | +'qbedit' => 'Bıvurne', |
| 2433 | +'qbpageoptions' => 'Na pele', |
| 2434 | +'qbpageinfo' => 'Girê', |
| 2435 | +'qbmyoptions' => 'Pelê mı', |
| 2436 | +'qbspecialpages' => 'Pelê xususiy', |
| 2437 | +'faq' => 'ÇZP', |
| 2438 | +'faqpage' => 'Project:ÇZP', |
| 2439 | + |
| 2440 | +# Vector skin |
| 2441 | +'vector-action-addsection' => 'Mewzu ilawe ke', |
| 2442 | +'vector-action-delete' => 'Bıestere', |
| 2443 | +'vector-action-move' => 'Bere', |
| 2444 | +'vector-action-protect' => 'Bısevekne', |
| 2445 | +'vector-action-undelete' => 'Esterıtene peyser bıcê', |
| 2446 | +'vector-action-unprotect' => 'Seveknaene wedare', |
| 2447 | +'vector-namespace-category' => 'Kategoriye', |
| 2448 | +'vector-namespace-help' => 'Pela phoşti', |
| 2449 | +'vector-namespace-image' => 'Dosya', |
| 2450 | +'vector-namespace-main' => 'Pele', |
| 2451 | +'vector-namespace-media' => 'Pela weseti', |
| 2452 | +'vector-namespace-mediawiki' => 'Mesac', |
| 2453 | +'vector-namespace-project' => 'Pela procey', |
| 2454 | +'vector-namespace-special' => 'Pela xususiye', |
| 2455 | +'vector-namespace-talk' => 'Hurênais', |
| 2456 | +'vector-namespace-template' => 'Şablon', |
| 2457 | +'vector-namespace-user' => 'Pela karberi', |
| 2458 | +'vector-view-create' => 'Bıaferne', |
| 2459 | +'vector-view-edit' => 'Bıvurne', |
| 2460 | +'vector-view-history' => 'Tarixi bıasne', |
| 2461 | +'vector-view-view' => 'Bıwane', |
| 2462 | +'vector-view-viewsource' => 'Çımey bıvêne', |
| 2463 | +'actions' => 'Kerdeni', |
| 2464 | +'namespaces' => 'Caê namey', |
| 2465 | +'variants' => 'Varyanti', |
| 2466 | + |
| 2467 | +# Metadata in edit box |
| 2468 | +'metadata_help' => 'Daê meta:', |
| 2469 | + |
| 2470 | +'errorpagetitle' => 'Xeta', |
| 2471 | +'returnto' => 'Peyser so $1.', |
| 2472 | +'tagline' => '{{SITENAME}} ra', |
| 2473 | +'help' => 'Phoşti', |
| 2474 | +'search' => 'Cıcêrais', |
| 2475 | +'searchbutton' => 'Cıcêrais', |
| 2476 | +'go' => 'So', |
| 2477 | +'searcharticle' => 'So', |
| 2478 | +'history' => 'Tarixçê pele', |
| 2479 | +'history_short' => 'Tarixçe', |
| 2480 | +'updatedmarker' => 'cıkotena mına peyêne ra dıme biya rocaniye', |
| 2481 | +'info_short' => 'Melumat', |
| 2482 | +'printableversion' => 'Nımunê çapkerdene', |
| 2483 | +'permalink' => 'Girêo daimi', |
| 2484 | +'print' => 'Çapkerdis', |
| 2485 | +'edit' => 'Vurnais', |
| 2486 | +'create' => 'Afernais', |
| 2487 | +'editthispage' => 'Na pele bıvurne', |
| 2488 | +'create-this-page' => 'Na pele bıaferne', |
| 2489 | +'delete' => 'Esterıtis', |
| 2490 | +'deletethispage' => 'Na pele bıestere', |
| 2491 | +'undelete_short' => '{{PLURAL:$1|Jü vurnaişi|$1 Vurnaisun}} meestere', |
| 2492 | +'protect' => 'Sıtar ke', |
| 2493 | +'protect_change' => 'bıvurne', |
| 2494 | +'protectthispage' => 'Na pele sıtar ke', |
| 2495 | +'unprotect' => 'Sıtar meke', |
| 2496 | +'unprotectthispage' => 'Na pele sıtar meke', |
| 2497 | +'newpage' => 'Pela newiye', |
| 2498 | +'talkpage' => 'Na pele sero hurêne', |
| 2499 | +'talkpagelinktext' => 'Hurênais', |
| 2500 | +'specialpage' => 'Pela xususiye', |
| 2501 | +'personaltools' => 'Hacetê keşi', |
| 2502 | +'postcomment' => 'Qısımo newe', |
| 2503 | +'articlepage' => 'Pela tede esteun bıvêne', |
| 2504 | +'talk' => 'Hurênais', |
| 2505 | +'views' => 'Vênaişi', |
| 2506 | +'toolbox' => 'Qutiya hacetun', |
| 2507 | +'userpage' => 'Pela karberi bıvêne', |
| 2508 | +'projectpage' => 'Pela procey bıvêne', |
| 2509 | +'imagepage' => 'Pela dosya bıvêne', |
| 2510 | +'mediawikipage' => 'Pela mesacun bıvêne', |
| 2511 | +'templatepage' => 'Pela nımunun bıvêne', |
| 2512 | +'viewhelppage' => 'Pela phoşti bıvêne', |
| 2513 | +'categorypage' => 'Pela kategoriu bıvêne', |
| 2514 | +'viewtalkpage' => 'Hurênaişi bıvêne', |
| 2515 | +'otherlanguages' => 'Zonunê binun de', |
| 2516 | +'redirectedfrom' => '($1 ra ard)', |
| 2517 | +'redirectpagesub' => 'Pela ardene', |
| 2518 | +'lastmodifiedat' => 'Na pela tewr peyên $1 de, $2 de vuriye', |
| 2519 | +'viewcount' => 'Na pele hata nıka {{PLURAL:$1|jü rae|$1 rey}} vêniye.', |
| 2520 | +'protectedpage' => 'Pela kılit-kerdiye', |
| 2521 | +'jumpto' => 'So:', |
| 2522 | +'jumptonavigation' => 'pusula', |
| 2523 | +'jumptosearch' => 'cıcêre', |
| 2524 | + |
| 2525 | +# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations). |
| 2526 | +'aboutsite' => '{{SITENAME}} sero', |
| 2527 | +'aboutpage' => 'Project:Heqa', |
| 2528 | +'copyright' => 'Zerrek bınê $1i dero.', |
| 2529 | +'copyrightpage' => '{{ns:project}}:Telifheqiye', |
| 2530 | +'currentevents' => 'Veng u vac', |
| 2531 | +'currentevents-url' => 'Project:Veng u vac', |
| 2532 | +'disclaimers' => 'Diwanê mesuliyeti', |
| 2533 | +'disclaimerpage' => 'Project:Diwanê mesuliyetê bıngey', |
| 2534 | +'edithelp' => 'Phoştdariya vurnaişi', |
| 2535 | +'edithelppage' => 'Help:Vurnais', |
| 2536 | +'helppage' => 'Help:Tede estey', |
| 2537 | +'mainpage' => 'Pela Seri', |
| 2538 | +'mainpage-description' => 'Pela Seri', |
| 2539 | +'policy-url' => 'Project:Poliça', |
| 2540 | +'portal' => 'Portalê cemaeti', |
| 2541 | +'portal-url' => 'Project:Portalê cemaeti', |
| 2542 | +'privacy' => 'Poliça seveknaena daeyu', |
| 2543 | +'privacypage' => 'Project:Poliça seveknaena daeyu', |
| 2544 | + |
| 2545 | +'badaccess' => 'Xeta desturi', |
| 2546 | +'badaccess-group0' => 'Faeliyeto ke sıma wazenê, sıma nêşikinê ney ravêr berê.', |
| 2547 | +'badaccess-groups' => 'No faeliyet teyna, keso ke {{PLURAL:$2|grube|grubu ra jüye}}: $1 dero, serba dino.', |
| 2548 | + |
| 2549 | +'versionrequired' => 'MediaWiki ra vurnaisê $1i lazımo', |
| 2550 | +'versionrequiredtext' => 'MediaWiki ra vurnaisê $1i lazımo ke na pele bıgurenê. Qaytê [[Special:Version|vurnaisê pele]] ke.', |
| 2551 | + |
| 2552 | +'ok' => 'Temam', |
| 2553 | +'pagetitle-view-mainpage' => '', |
| 2554 | +'retrievedfrom' => '"$1" ra ard', |
| 2555 | +'youhavenewmessages' => 'Yê sıma $1 ($2) esto.', |
| 2556 | +'newmessageslink' => 'mesacê newey', |
| 2557 | +'newmessagesdifflink' => 'vurnaiso peyên', |
| 2558 | +'youhavenewmessagesmulti' => '$1 de mesacê sımaê newey estê', |
| 2559 | +'editsection' => 'bıvurne', |
| 2560 | +'editsection-brackets' => '[$1]', |
| 2561 | +'editold' => 'bıvurne', |
| 2562 | +'viewsourceold' => 'çımey bıvêne', |
| 2563 | +'editlink' => 'bıvurne', |
| 2564 | +'viewsourcelink' => 'çıme bıvêne', |
| 2565 | +'editsectionhint' => 'Qısımê vurnaişi: $1', |
| 2566 | +'toc' => 'Tede estey', |
| 2567 | +'showtoc' => 'bıasne', |
| 2568 | +'hidetoc' => 'bınımne', |
| 2569 | +'thisisdeleted' => '$1i bıasne ya ki peyser biya?', |
| 2570 | +'viewdeleted' => '$1i bıasne?', |
| 2571 | +'restorelink' => '{{PLURAL:$1|jü vurnaiso esterıte|$1 vurnaisê esterıtey}}', |
| 2572 | +'feedlinks' => 'Cı de:', |
| 2573 | +'feed-invalid' => 'Aboneo nêvêrdoğ.', |
| 2574 | +'feed-unavailable' => 'Qutê sendikasyoni çino', |
| 2575 | +'site-rss-feed' => '$1 RSS Qut', |
| 2576 | +'site-atom-feed' => '$1 Qutê Atomi', |
| 2577 | +'page-rss-feed' => '"$1" RSS Qut', |
| 2578 | +'page-atom-feed' => '"$1" Qutê Atomi', |
| 2579 | +'feed-atom' => 'Atom', |
| 2580 | +'feed-rss' => 'RSS', |
| 2581 | +'red-link-title' => '$1 (pele çina)', |
| 2582 | + |
| 2583 | +# Short words for each namespace, by default used in the namespace tab in monobook |
| 2584 | +'nstab-main' => 'Pele', |
| 2585 | +'nstab-user' => 'Pela karberi', |
| 2586 | +'nstab-media' => 'Pela medya', |
| 2587 | +'nstab-special' => 'Pela xususiye', |
| 2588 | +'nstab-project' => 'Pela procey', |
| 2589 | +'nstab-image' => 'Dosya', |
| 2590 | +'nstab-mediawiki' => 'Mesac', |
| 2591 | +'nstab-template' => 'Nımune', |
| 2592 | +'nstab-help' => 'Pela phoşti', |
| 2593 | +'nstab-category' => 'Kategoriye', |
| 2594 | + |
| 2595 | +# Main script and global functions |
| 2596 | +'nosuchaction' => 'Çiyo de nianên çino', |
| 2597 | +'nosuchactiontext' => "Faeliyeto ke hetê URL ra tesnif biyo, nêvêreno. |
| 2598 | +To, beno ke URL ğelet nusno ya ki tı girêo de ğelet dıma şiya. |
| 2599 | +No mısneno ke, ''software''o ke terefê {{SITENAME}} ra gurenino, jü ğeleliye tede esta.", |
| 2600 | +'nosuchspecialpage' => 'Pela de xususiya nianêne çina', |
| 2601 | +'nospecialpagetext' => "<big>'''Sıma pela xususiya de nêvêrdiye kerde ra.'''</big> |
| 2602 | + |
| 2603 | +Jü lista pelunê vêrdoğu bınê [[Special:SpecialPages|{{int:specialpages}}]] de vênina.", |
| 2604 | + |
| 2605 | +# General errors |
| 2606 | +'error' => 'Xeta', |
| 2607 | +'databaseerror' => 'Xeta panga daeyu', |
| 2608 | +'dberrortext' => 'Jü xeta persê cumla panga daeyu de amê meydan. |
| 2609 | +Heni aseno ke na xeta nustene de esta. |
| 2610 | +Persê panga daeyuno peyên nia bi: |
| 2611 | +<blockquote><tt>$1</tt></blockquote> |
| 2612 | +ebe gurê zerrê "<tt>$2</tt>"y ra. |
| 2613 | +Panga daeyu xetawa ke asnena "<tt>$3: $4</tt>".', |
| 2614 | +'dberrortextcl' => 'Rêza cumleunê panga daeyu de jü xeta amê meydan. |
| 2615 | +Heni aseno ke na xeta nustene de esta. |
| 2616 | +Persê panga daeyuno peyên nia bi: |
| 2617 | +"$1" |
| 2618 | +Fonksiyono ke gureniyo "$2". |
| 2619 | +Panga daeyu xetawa ke asnena "$3: $4"', |
| 2620 | +'laggedslavemode' => 'Teme: Beno ke vurnaisê peyêni pele de niyê.', |
| 2621 | +'readonly' => 'Panga daeyu kılit kerdiya', |
| 2622 | +'enterlockreason' => 'Serba kılit-kerdişi jü sebeb bıde ke, kılitkerdis texminen key beno ra', |
| 2623 | +'readonlytext' => 'Panga daeyu nustunê newun u vurnaisunê binu rê kılita, seba ke bena pak, hama badêna oncia normal gurina. |
| 2624 | + |
| 2625 | +İdarekeru ra kami ke kılit kerda, na tesrih aseno: $1', |
| 2626 | +'missing-article' => "Panga, pela be namê \"\$1\" \$2 ke gunê bıbo, nêdiye. |
| 2627 | + |
| 2628 | +Na belkia serba jü vurnaiso khan ya ki tarixê girê jü pelge esteriya. |
| 2629 | + |
| 2630 | +Eke nia niyo, belkia ''software''i de jü xeta esta. |
| 2631 | +Kerem kerê, nae be namê ''URL''i jü [[Special:ListUsers/sysop|karber]]i ra vazê.", |
| 2632 | +'missingarticle-rev' => '(tekrar diyais#: $1)', |
| 2633 | +'missingarticle-diff' => '(Ferq: $1, $2)', |
| 2634 | +'readonly_lag' => "Panga daeyu otomatikman qapan biye ''slave-database-servers''i ra be hata ''master''i", |
| 2635 | +'internalerror' => 'Xeta zerrey', |
| 2636 | +'internalerror_info' => 'Xeta zerrey: $1', |
| 2637 | +'fileappenderror' => 'Dosya "$1"ine dosya "$2"ine ser nêbena.', |
| 2638 | +'filecopyerror' => 'Dosya "$1"i kopya nêbiye be dosya "$2".', |
| 2639 | +'filerenameerror' => 'Namê dosya "$1"i nêvuriya be dosya "$2".', |
| 2640 | +'filedeleteerror' => 'Dosya "$1"i nêesteriye.', |
| 2641 | +'directorycreateerror' => 'İndeksê "$1"i nêvıraşt.', |
| 2642 | +'filenotfound' => 'Dosya "$1"i nêvêniye.', |
| 2643 | +'fileexistserror' => 'Sıma nêşikinê dosya "$1" de bınusê: dosya esta', |
| 2644 | +'unexpected' => 'Qimeto nêpawıte: "$1"="$2".', |
| 2645 | +'formerror' => 'Xeta: form niard', |
| 2646 | +'badarticleerror' => 'No faeliyet na pele de nêvıracino.', |
| 2647 | +'cannotdelete' => 'Pele ya ki dosya ke asniye nêesterina. |
| 2648 | +Beno ke, verênde terefê kesê de bini ra esteriya.', |
| 2649 | +'badtitle' => 'Sernameo xırabın', |
| 2650 | +'badtitletext' => "Sernamê pela ke sıma wast, nêvêrde, thal, ya girê mabênê zoni ğelet ya ki sernamê mabênê ''wiki'' bi. |
| 2651 | +Beno ke, tede jü ya ki jêdê isareti estê ke sernameu de nêgurinê.", |
| 2652 | +'perfcached' => 'Ni daey nımıteyê u beno ke rocaney niyê.', |
| 2653 | +'perfcachedts' => 'Ni daey nımıteyê, u tewr peyên $1 de biyê rocaniy.', |
| 2654 | +'querypage-no-updates' => 'Rocane-biyaena na pele nıka cadaiyê. |
| 2655 | +Daey ita nıka newe nêbenê.', |
| 2656 | +'wrong_wfQuery_params' => 'Parametreo ğelet serba wfPers()<br /> |
| 2657 | +Fonksiyon: $1<br /> |
| 2658 | +Pers: $2', |
| 2659 | +'viewsource' => 'Çımey bıvêne', |
| 2660 | +'viewsourcefor' => 'serba $1i', |
| 2661 | +'actionthrottled' => 'Faeliyet xenekıt', |
| 2662 | +'actionthrottledtext' => "Berqestiya tedbirê ''anti-spam''i ra vırastena ni faeliyeti rê sıma zafê rey zemano senık de sindor viarna ra. |
| 2663 | +Kerem kerê, deqêna oncia bıcerrebnê.", |
| 2664 | +'protectedpagetext' => 'Na pele vurnaisu rê qapan biya.', |
| 2665 | +'viewsourcetext' => 'Sıma şikinê çımê na pele bıvênê u kopya kerê:', |
| 2666 | +'protectedinterface' => "Na pele ''software'' rê meqalunê caunê bırnau dana, u qapana ke suıstımalu rê engel bo.", |
| 2667 | +'editinginterface' => "'''Teme:''' Sıma hao jü pela ke serba ''software'' meqalunê caunê bırnau dana, vurnenê. |
| 2668 | +Vurnaisê na pele karberunê binu rê serpela karberi kena ke bıasno. |
| 2669 | +Serba çarnais, yardımê [http://translatewiki.net/wiki/Main_Page?setlang=kiu translatewiki.net]yê procê dos-kerdene rê diqet kerê.", |
| 2670 | +'sqlhidden' => '(Persê SQLi nımıteo)', |
| 2671 | +'cascadeprotected' => 'Na pele esterıtene ra sıtar biya, çıke na zerrê {{PLURAL:$1|pela ke|pelunê ke}} dera/derê be "cascading" opsiyoni kılit biya, $2 de bena ra.', |
| 2672 | +'namespaceprotected' => "'''$1''' ''namespace'' de desturê sıma be vurnaisê pelu çino.", |
| 2673 | +'customcssjsprotected' => 'Desturê sıma be vurnaisê na pele çino, çıke nae de ayarê kesê karberê bini esto.', |
| 2674 | +'ns-specialprotected' => 'Pelê xususi nêvurrinê.', |
| 2675 | +'titleprotected' => "No sername terefê [[User:$1|$1]]i ra, afernaene ra sıtar biyo. |
| 2676 | +Sebebê ho ''$2'' dero.", |
| 2677 | + |
| 2678 | +# Virus scanner |
| 2679 | +'virus-badscanner' => "Sıkılo xırabın: ''scanner''ê ''virus''ê nêzanıtey: ''$1''", |
| 2680 | +'virus-scanfailed' => "''scan'' nêbi (code $1)", |
| 2681 | +'virus-unknownscanner' => "''antivirus''o nêzanıte:", |
| 2682 | + |
| 2683 | +# Login and logout pages |
| 2684 | +'logouttext' => "'''Sıma nıka cı ra veciyê.''' |
| 2685 | +Sıma şikinê dızdêni {{SITENAME}} de dewam kerê, ya jê eyni karberi ya ki jê jüyê de bini [[Special:UserLogin|oncia cıkuyê]]. |
| 2686 | +Beno ke taê peli sıma hona cıkote asnenê, hata ke sıma ''browser cache''ê ho kerd pak.", |
| 2687 | +'welcomecreation' => '== Xêr amê, $1! == |
| 2688 | +Hesabê sıma vıraciya. |
| 2689 | +Vurnaena [[Special:Preferences|melumatanê {{SITENAME}}]] ho vira mekerê.', |
| 2690 | +'yourname' => 'Namê karberi:', |
| 2691 | +'yourpassword' => 'Parola:', |
| 2692 | +'yourpasswordagain' => 'Parola tekrar ke:', |
| 2693 | +'remembermypassword' => 'Mı na komputeri de biya ho viri', |
| 2694 | +'yourdomainname' => 'Bandıra sıma:', |
| 2695 | +'externaldberror' => 'Cıfeteliyaisê naskerdene de ya xeta esta ya ki tebera vırastena hesabê sıma rê destur çino.', |
| 2696 | +'login' => 'Cıkuye', |
| 2697 | +'nav-login-createaccount' => 'Cıkuye / hesab vıraze', |
| 2698 | +'loginprompt' => "Cıkotena {{SITENAME}} rê gunê ''cookies'' akerdey bê.", |
| 2699 | +'userlogin' => 'Cıkuye', |
| 2700 | +'logout' => 'Veciye', |
| 2701 | +'userlogout' => 'Veciye', |
| 2702 | +'notloggedin' => 'Cı nêkota', |
| 2703 | +'nologin' => 'Hesabê sıma çino? $1.', |
| 2704 | +'nologinlink' => 'Jü hesab rake', |
| 2705 | +'createaccount' => 'Hesab vıraze', |
| 2706 | +'gotaccount' => 'Hesabê sıma ke esto? $1.', |
| 2707 | +'gotaccountlink' => 'Cıkuye', |
| 2708 | +'createaccountmail' => 'e-poste sera', |
| 2709 | +'badretype' => 'Parola sıma nêvêrena.', |
| 2710 | +'userexists' => 'No namê karberi guretiyo. |
| 2711 | +Kerem ke, namêna weçine.', |
| 2712 | +'loginerror' => 'Xeta cıkotene', |
| 2713 | +'noname' => 'Ebe namê do vêrdoği ra cınêkota.', |
| 2714 | +'loginsuccesstitle' => 'Cıkotene biye ra', |
| 2715 | +'loginsuccess' => "'''Sıta {{SITENAME}} de ebe namê karberi \"\$1\" kota cı.'''", |
| 2716 | +'nosuchusershort' => 'Karberê do ebe namê "<nowiki>$1</nowiki>" çino. |
| 2717 | +Nustena cı qontrol ke.', |
| 2718 | +'nouserspecified' => 'Gunê namê jü karberi bıdekernê.', |
| 2719 | +'wrongpassword' => 'Parola ğelete kota cı. |
| 2720 | +Kerem ke, oncia bıcerrebne.', |
| 2721 | +'wrongpasswordempty' => 'Parola thale kota cı. |
| 2722 | +Kerem ke, oncia bıcerrebne.', |
| 2723 | +'passwordtooshort' => 'Paroley tewr senık ebe {{PLURAL:$1|1 karakter|$1 karakteru}} gunê derg bê.', |
| 2724 | +'password-name-match' => 'Parola sıma namê sımaê karberi ra gunê ferqın bo.', |
| 2725 | +'mailmypassword' => 'E-mail sera parola newiye bırusne', |
| 2726 | +'passwordremindertitle' => 'Serba {{SITENAME}} parola newiya vêrdoğe', |
| 2727 | +'noemail' => 'Adresa de e-posteya ke ebe namê karberi "$1" beqeyda, çina.', |
| 2728 | +'mailerror' => 'Xeta rusnaena e-postey: $1', |
| 2729 | +'emailconfirmlink' => 'Adresa e-postê ho tesdiq ke', |
| 2730 | +'accountcreated' => 'Hesab vırajiya', |
| 2731 | +'loginlanguagelabel' => 'Zon: $1', |
| 2732 | + |
| 2733 | +# Password reset dialog |
| 2734 | +'oldpassword' => 'Parola khane:', |
| 2735 | +'newpassword' => 'Parola newiye:', |
| 2736 | +'retypenew' => 'Parola newiye tekrar ke:', |
| 2737 | + |
| 2738 | +# Edit page toolbar |
| 2739 | +'bold_sample' => 'Nusto qolınd', |
| 2740 | +'bold_tip' => 'Nusto qolınd', |
| 2741 | +'italic_sample' => 'Meqalo italik', |
| 2742 | +'italic_tip' => 'Meqalo italik', |
| 2743 | +'link_sample' => 'Serrêza girêy', |
| 2744 | +'link_tip' => 'Girê zerri', |
| 2745 | +'extlink_sample' => 'http://www.example.com arezekerdena adrese', |
| 2746 | +'extlink_tip' => 'Girê teberi (verbendê http:// ho vira mekerê)', |
| 2747 | +'headline_sample' => 'Nustê serrêze', |
| 2748 | +'headline_tip' => 'Serrêza sewiya 2ine', |
| 2749 | +'math_sample' => 'İta formuli cıke', |
| 2750 | +'math_tip' => 'Formulê matematiki (formatê LaTeXi de)', |
| 2751 | +'nowiki_sample' => 'Formatê nustê huyo serbeti ita bınuse', |
| 2752 | +'nowiki_tip' => 'Ehemêt formatê wikiy mede', |
| 2753 | +'image_tip' => 'Dosya arêkerdiye', |
| 2754 | +'media_tip' => 'Girê dosya', |
| 2755 | +'sig_tip' => 'İmza to be tarix', |
| 2756 | +'hr_tip' => 'Xeta ufqiye (zaf megurene)', |
| 2757 | + |
| 2758 | +# Edit pages |
| 2759 | +'summary' => 'Xulasa:', |
| 2760 | +'subject' => 'Mewzu/serrêze:', |
| 2761 | +'minoredit' => 'No jü vurnaiso qızkeko', |
| 2762 | +'watchthis' => 'Na pele de şêr ke', |
| 2763 | +'savearticle' => 'Pele qeyd ke', |
| 2764 | +'preview' => 'Verqayt', |
| 2765 | +'showpreview' => 'Verqayti bıasne', |
| 2766 | +'showdiff' => 'Vurnaisun bıasne', |
| 2767 | +'anoneditwarning' => "'''Diqet:''' Tı cınêkota. |
| 2768 | +Tarixê vurnaena na pele de, hurêndia leqeme de numra tuya IPy qeyd bena.", |
| 2769 | +'blockednoreason' => 'sebeb nêdiyo', |
| 2770 | +'loginreqlink' => 'cı kuye', |
| 2771 | +'newarticle' => '(Newe)', |
| 2772 | +'updated' => '(Bi rozane)', |
| 2773 | +'note' => "'''Not:'''", |
| 2774 | +'editing' => 'Tıya $1 vurnena', |
| 2775 | +'editingsection' => 'Vurnaena $1 (qısım)', |
| 2776 | +'yourtext' => 'Metnê to', |
| 2777 | +'yourdiff' => 'Ferqi', |
| 2778 | +'templatesused' => 'Şablonê ke na pele de gureninê:', |
| 2779 | +'template-protected' => '(sevekna)', |
| 2780 | +'template-semiprotected' => '(nêm-seveknais)', |
| 2781 | + |
| 2782 | +# History pages |
| 2783 | +'viewpagelogs' => 'Qeydê ke na pele ra alaqedarê, inu bıasne', |
| 2784 | +'currentrev-asof' => '$1 ra gore pele be halo nıkaên', |
| 2785 | +'revisionasof' => 'Halê roca $1ine', |
| 2786 | +'previousrevision' => '← Halo khanêr', |
| 2787 | +'cur' => 'pey', |
| 2788 | +'next' => 'badên', |
| 2789 | +'last' => 'peyên', |
| 2790 | +'page_first' => 'verên', |
| 2791 | +'page_last' => 'peyên', |
| 2792 | +'histlegend' => "Ferqê weçinıtene: Qutiya verziyonun serba têversanaene isaret ke u dest be ''enter''i ya ki gozaga cêrêne ro ne.<br /> |
| 2793 | +Cedwel: (pey) = ferqê verziyonê peyêni, |
| 2794 | +(ver) = ferqê verziyonê verêni, Q = vurnaiso qızkek.", |
| 2795 | +'history-fieldset-title' => 'Tarixê cıcêraişi', |
| 2796 | +'histfirst' => 'Verênêr', |
| 2797 | +'histlast' => 'Peyênêr', |
| 2798 | +'historysize' => '({{PLURAL:$1|1 byte|$1 bytes}})', |
| 2799 | +'historyempty' => '(thal)', |
| 2800 | + |
| 2801 | +# Revision feed |
| 2802 | +'history-feed-title' => 'Tarixê çımraviarnaişi', |
| 2803 | +'history-feed-description' => 'Wiki de tarixê çımraviarnaişê na pele', |
| 2804 | +'history-feed-item-nocomment' => '$1 wertê $2i de', |
| 2805 | +'history-feed-empty' => 'Pela cıfeteliyaiye çina. |
| 2806 | +Beno ke na esteriya, ya ki namê cı vuriyo. |
| 2807 | +Serba pelunê muhimunê newun [[Special:Cıcêre|cıcêraişê wiki de]] bıcerebne.', |
| 2808 | + |
| 2809 | +# Revision deletion |
| 2810 | +'rev-deleted-comment' => '(tefşir esteriyo)', |
| 2811 | +'rev-deleted-user' => '(namê karberi esteriyo)', |
| 2812 | +'rev-deleted-event' => '(faeliyetê cıkotene esteriyo)', |
| 2813 | +'rev-delundel' => 'bıasne/wedare', |
| 2814 | +'revdelete-show-file-submit' => 'Heya', |
| 2815 | +'revdel-restore' => 'asaişi bıvurne', |
| 2816 | +'revdelete-content' => 'zerrek', |
| 2817 | +'revdelete-uname' => 'namê karberi', |
| 2818 | +'revdelete-reasonotherlist' => 'Sebebo bin', |
| 2819 | + |
| 2820 | +# History merging |
| 2821 | +'mergehistory-from' => 'Pela çımey:', |
| 2822 | +'mergehistory-reason' => 'Sebeb:', |
| 2823 | + |
| 2824 | +# Merge log |
| 2825 | +'revertmerge' => 'Cia ke', |
| 2826 | + |
| 2827 | +# Diffs |
| 2828 | +'history-title' => 'Viartê pelga "$1"ine', |
| 2829 | +'difference' => 'Ferqê wertê vurnaisu', |
| 2830 | +'lineno' => 'Rêza $1i:', |
| 2831 | +'compareselectedversions' => 'Varyantunê weçinıtun têver sane', |
| 2832 | +'visualcomparison' => 'Têver-sanıtena diyaiye', |
| 2833 | +'wikicodecomparison' => 'Têver-sanıtena wiki-meqaley', |
| 2834 | +'editundo' => 'peyser biya', |
| 2835 | +'diff-multi' => '({{PLURAL:$1|Jü çımraviarnaena wertey|$1 çımraviarnaena wertey}} nêasna.)', |
| 2836 | +'diff-movedto' => 'berd $1', |
| 2837 | +'diff-styleadded' => 'terzê $1i kerd ser', |
| 2838 | +'diff-added' => '$1 kerd ser', |
| 2839 | +'diff-changedto' => 'vurna ra $1', |
| 2840 | +'diff-movedoutof' => '$1 ra vet berd', |
| 2841 | +'diff-styleremoved' => 'terzê $1i esterıt', |
| 2842 | +'diff-removed' => '$1 esterıt', |
| 2843 | +'diff-changedfrom' => '$1 ra vurna', |
| 2844 | +'diff-src' => 'çıme', |
| 2845 | +'diff-withdestination' => 'ebe hedefê $1i', |
| 2846 | +'diff-with' => ' ebe $1 $2', |
| 2847 | +'diff-with-additional' => '$1 $2', |
| 2848 | +'diff-with-final' => ' u $1 $2', |
| 2849 | +'diff-width' => 'verınêni', |
| 2850 | +'diff-height' => 'berzêni', |
| 2851 | +'diff-p' => "jü '''parağraf'''", |
| 2852 | +'diff-blockquote' => "jü '''teklif'''", |
| 2853 | +'diff-h1' => "jü '''pozisyon (sewiya 1yine)'''", |
| 2854 | +'diff-h2' => "jü '''pozisyon (sewiya 2yine)'''", |
| 2855 | +'diff-h3' => "jü '''pozisyon (sewiya 3ine)'''", |
| 2856 | +'diff-h4' => "jü '''pozisyon (sewiya 4ine)'''", |
| 2857 | +'diff-h5' => "jü '''pozisyon (sewiya 5ine)'''", |
| 2858 | +'diff-pre' => "jü '''komo versıkıldae'''", |
| 2859 | +'diff-div' => "jü '''teqşim'''", |
| 2860 | +'diff-ul' => "jü '''lista bêtertibıne'''", |
| 2861 | +'diff-ol' => "jü '''lista tertibıne'''", |
| 2862 | +'diff-li' => "jü '''maddê lista'''", |
| 2863 | +'diff-table' => "jü '''cedwel'''", |
| 2864 | +'diff-tbody' => "jü '''zerrê cedweli'''", |
| 2865 | +'diff-tr' => "jü '''rêze'''", |
| 2866 | +'diff-td' => "jü '''hucra'''", |
| 2867 | + |
| 2868 | +# Search results |
| 2869 | +'searchresults' => 'Neticê cıfeteliyaene', |
| 2870 | +'searchresults-title' => '"$1" rê neticê cıfeteliyaene', |
| 2871 | +'searchresulttext' => 'Zerrê {{SITENAME}} de heqa cıfeteliyaene de serba melumat guretene, şikina qaytê [[{{MediaWiki:Helppage}}|{{int:help}}]] ke.', |
| 2872 | +'searchsubtitleinvalid' => "Serbacıfeteliyae: '''$1'''", |
| 2873 | +'noexactmatch' => "'''Pela be namê \"\$1\"i nêvêniye.''' |
| 2874 | +Tı şikina na pele [[:\$1|bıaferne]].", |
| 2875 | +'noexactmatch-nocreate' => "'''Pele be namê \"\$1\"i çina.'''", |
| 2876 | +'notitlematches' => 'Qet zu serrêze de nêvêniya', |
| 2877 | +'notextmatches' => 'Qet zu pele de nêvêniya', |
| 2878 | +'prevn' => '{{PLURAL:$1|$1}} verên', |
| 2879 | +'nextn' => '{{PLURAL:$1|$1}} peyên', |
| 2880 | +'viewprevnext' => 'Bıvêne ($1 {{int:pipe-separator}} $2) ($3)', |
| 2881 | +'searchprofile-images' => 'Dosyey', |
| 2882 | +'search-result-size' => '$1 ({{PLURAL:$2|1 çekuye|$2 çekuy}})', |
| 2883 | +'search-redirect' => '(hetêcıraberdene $1)', |
| 2884 | +'search-section' => '(qısımo $1)', |
| 2885 | +'search-suggest' => 'To ney rê vat: $1', |
| 2886 | +'search-interwiki-caption' => 'Procê bıray', |
| 2887 | +'search-interwiki-default' => '$1 neticey:', |
| 2888 | +'search-interwiki-more' => '(zafêr)', |
| 2889 | +'search-mwsuggest-enabled' => 'ebe teklifu', |
| 2890 | +'search-mwsuggest-disabled' => 'teklifi çinê', |
| 2891 | +'powersearch' => 'Cıcêraiso hira', |
| 2892 | +'powersearch-legend' => 'Cıcêraiso hira', |
| 2893 | +'powersearch-ns' => 'Caunê namun de cıcêre:', |
| 2894 | +'powersearch-redir' => 'Girêun lista ke', |
| 2895 | +'powersearch-field' => 'Serba cı qayt ke', |
| 2896 | +'search-external' => 'Cıcêraisê teberi', |
| 2897 | +'searchdisabled' => "Cıcêraisê {{SITENAME}} qapan biyo. |
| 2898 | +Sıma şikinê na sıre ''Google'' de şêr kerê. |
| 2899 | +Diqet kerê, beno ke tedeestê {{SITENAME}} uza endi rozane niyê.", |
| 2900 | + |
| 2901 | +# Quickbar |
| 2902 | +'qbsettings' => 'Herbişiyaena hedefi', |
| 2903 | +'qbsettings-none' => 'Qet', |
| 2904 | +'qbsettings-fixedleft' => 'Çhep de bestniyo pa', |
| 2905 | +'qbsettings-fixedright' => 'Rast de bestniyo pa', |
| 2906 | +'qbsettings-floatingleft' => 'Çhepi ser aznino', |
| 2907 | +'qbsettings-floatingright' => 'Rasti ser aznino', |
| 2908 | + |
| 2909 | +# Preferences page |
| 2910 | +'preferences' => 'Tercihi', |
| 2911 | +'mypreferences' => 'Tercihê mı', |
| 2912 | +'prefs-edits' => 'Numra vurnaisun:', |
| 2913 | +'prefsnologin' => 'Cı nêkota', |
| 2914 | +'prefsnologintext' => 'Sıma gunê <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} cı kuyê]</span> ke dıma tercihunê karberi bınusnê.', |
| 2915 | +'changepassword' => 'Parola bıvurne', |
| 2916 | +'prefs-skin' => 'Çerme', |
| 2917 | +'skin-preview' => 'Verqayt', |
| 2918 | +'prefs-math' => 'Mat', |
| 2919 | +'datedefault' => 'Tercihi çinê', |
| 2920 | +'prefs-datetime' => 'Tarix u zeman', |
| 2921 | +'prefs-personal' => 'Dosya karberi', |
| 2922 | +'prefs-rc' => 'Vurnaisê peyêni', |
| 2923 | +'prefs-watchlist' => 'Lista şêr-kerdişi', |
| 2924 | +'prefs-watchlist-days' => 'Rozê ke lista şêr-kerdişi de asenê:', |
| 2925 | +'prefs-watchlist-edits' => 'Miqdarê tewr jêdêr vurnaisuno ke lista şêr-kerdişia hirakerdiye derê:', |
| 2926 | +'prefs-misc' => 'Ğelet', |
| 2927 | +'saveprefs' => 'Qeyd ke', |
| 2928 | +'resetprefs' => 'Vurnaisunê qeydnêkerdun pak ke', |
| 2929 | +'prefs-editing' => 'Vurnais', |
| 2930 | +'rows' => 'Rêji:', |
| 2931 | +'columns' => 'Ustıni:', |
| 2932 | +'searchresultshead' => 'Cıcêre', |
| 2933 | +'resultsperpage' => 'Pelgê be vênıtun:', |
| 2934 | +'contextlines' => 'Vênıtê be xetun:', |
| 2935 | +'contextchars' => 'Xetê be zerrek:', |
| 2936 | +'stub-threshold' => 'Tertibê şêmıga <a href="#" class="stub">stub link</a> (\'\'bytes\'\'):', |
| 2937 | +'recentchangesdays' => 'Rozê ke vurnaisunê peyênun de asenê:', |
| 2938 | +'recentchangescount' => 'Miqdarê vurnaisuno ke vurnaisê peyênun asenê, tarixê pele u protokolu, standardwari:', |
| 2939 | +'savedprefs' => 'Tercihê sıma qeydi biy.', |
| 2940 | +'timezonelegend' => 'Warê sate', |
| 2941 | +'localtime' => 'Waxto mehelın:', |
| 2942 | +'timezoneoffset' => 'Ware¹:', |
| 2943 | +'servertime' => "Waxtê ''server''i:", |
| 2944 | +'guesstimezone' => "''Browser''i ra pırr ke", |
| 2945 | +'allowemail' => "Karberunê binun ra ''e-mail''i fael ke", |
| 2946 | +'prefs-searchoptions' => 'Alternatifê cıcêraişi', |
| 2947 | +'prefs-namespaces' => 'Caê namey', |
| 2948 | +'defaultns' => 'İhmal-kerdene de ni caunê namey de cıcêre:', |
| 2949 | +'default' => 'ihmal', |
| 2950 | +'prefs-files' => 'Dosyey', |
| 2951 | +'youremail' => 'E-poste:', |
| 2952 | +'username' => 'Namê karberi:', |
| 2953 | +'uid' => 'Kamiya karberi:', |
| 2954 | +'prefs-memberingroups' => 'Ezaê de {{PLURAL:$1|gruba|grubunê}}:', |
| 2955 | +'yourrealname' => 'Namo rastıkên:', |
| 2956 | +'yourlanguage' => 'Zon:', |
| 2957 | +'yourvariant' => 'Varyant:', |
| 2958 | +'yournick' => 'İmza:', |
| 2959 | +'badsig' => "İmza kala nêvêrdiye. |
| 2960 | +Etiketê ''HTML''i qontrol ke.", |
| 2961 | +'badsiglength' => 'İmza to zaf derga. |
| 2962 | +Gunê $1 {{PLURAL:$1|herfe|herfun}} ra senık bo.', |
| 2963 | +'yourgender' => 'Cınsiyet:', |
| 2964 | +'gender-male' => 'Cüamêrd', |
| 2965 | +'gender-female' => 'Cüanıke', |
| 2966 | +'email' => 'E-poste', |
| 2967 | +'prefs-help-realname' => 'Namo rastıkên serbesto. |
| 2968 | +Sıma ke ney bıgurenê, karê sıma de no namdarêni dano.', |
| 2969 | + |
| 2970 | +# User rights |
| 2971 | +'userrights' => 'İdarê hequnê karberi', |
| 2972 | +'userrights-lookup-user' => 'Komunê karberun idare ke', |
| 2973 | +'userrights-user-editname' => 'Jü namê karberi bıdê:', |
| 2974 | +'editusergroup' => 'Komunê karberun bıvurne', |
| 2975 | +'editinguser' => "Hequnê karberê '''[[User:$1|$1]]'''i vurnais ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])", |
| 2976 | +'userrights-editusergroup' => 'Komunê karberun bıvurne', |
| 2977 | +'saveusergroups' => 'Komunê karberun qeyd ke', |
| 2978 | +'userrights-groupsmember' => 'Ezaê de:', |
| 2979 | + |
| 2980 | +# Groups |
| 2981 | +'group-sysop' => 'İdarekeri', |
| 2982 | + |
| 2983 | +'grouppage-sysop' => '{{ns:project}}:İdarekeri', |
| 2984 | + |
| 2985 | +# User rights log |
| 2986 | +'rightslog' => 'Qeydê hequnê karberi', |
| 2987 | +'rightslogtext' => 'No jü qeydê vurnaisê hequnê karberio.', |
| 2988 | +'rightslogentry' => 'selahiyetê $1i $2 ra vurniya be $3i', |
| 2989 | +'rightsnone' => '(qet jü)', |
| 2990 | + |
| 2991 | +# Associated actions - in the sentence "You do not have permission to X" |
| 2992 | +'action-read' => 'na pele bıwane', |
| 2993 | +'action-edit' => 'na pele bıvurne', |
| 2994 | +'action-createpage' => 'pelu bıaferne', |
| 2995 | +'action-createtalk' => 'pelunê hurênaişi bıaferne', |
| 2996 | +'action-createaccount' => 'na hesabê karberi bıaferne', |
| 2997 | + |
| 2998 | +# Recent changes |
| 2999 | +'recentchanges' => 'Vurnaisê peyêni', |
| 3000 | +'recentchanges-legend' => 'Alternatifê vurnaisunê peyênu', |
| 3001 | +'recentchanges-feed-description' => 'Na weiyekerdena wiki de vurnaisê tewrpeyêne ke biyê ine teqib ke.', |
| 3002 | +'rcnote' => "Cêr {{PLURAL:$1|'''1''' vurnaiso peyên|'''$1''' vurnaisê peyêni}} be {{PLURAL:$2|roza peyêne|'''$2''' rozunê peyênunê}} $5, $4 ra estê.", |
| 3003 | +'rclistfrom' => '$1 ra hata nıka vurnaisunê newu bıasne', |
| 3004 | +'rcshowhideminor' => '$1 vurnaisê qızkeki', |
| 3005 | +'rcshowhidebots' => 'botê $1i', |
| 3006 | +'rcshowhideliu' => '$1 karberê qeydbiyaey', |
| 3007 | +'rcshowhideanons' => '$1 karberê anonimi', |
| 3008 | +'rcshowhidemine' => '$1 vurnaisê mı', |
| 3009 | +'rclinks' => '$1 vurnaisunê peyênunê $2 rozunê<br />$3 peyênun bıasne', |
| 3010 | +'diff' => 'ferq', |
| 3011 | +'hist' => 'tarix', |
| 3012 | +'hide' => 'Bınımne', |
| 3013 | +'show' => 'Bıasne', |
| 3014 | +'minoreditletter' => 'q', |
| 3015 | +'newpageletter' => 'N', |
| 3016 | +'boteditletter' => 'b', |
| 3017 | +'rc-enhanced-expand' => 'Tefsilatu bıasne (JavaScript lazımo)', |
| 3018 | +'rc-enhanced-hide' => 'Tefsilatu bınımne', |
| 3019 | + |
| 3020 | +# Recent changes linked |
| 3021 | +'recentchangeslinked' => 'Heqe de vurnais', |
| 3022 | +'recentchangeslinked-title' => 'Heqa "$1"i de vurnais', |
| 3023 | +'recentchangeslinked-backlink' => '← $1', |
| 3024 | +'recentchangeslinked-page' => 'Namê pele:', |
| 3025 | +'recentchangeslinked-to' => 'Hurêndia pela ke yena daene, vurnaisunê pelunê ke dae ra girêdaiyê, inu bıasne', |
| 3026 | + |
| 3027 | +# Upload |
| 3028 | +'upload' => 'Dosya bar ke', |
| 3029 | +'uploadbtn' => 'Dosya bar ke', |
| 3030 | +'reupload' => 'Tekrar bar ke', |
| 3031 | +'reuploaddesc' => 'Bar-kerdene bıtexelne u racêre ra formê bar-kerdene', |
| 3032 | +'uploadnologin' => 'Ede cı nêkotê', |
| 3033 | +'uploadnologintext' => 'Sıma gunê [[Special:UserLogin|cı kuyê]] ke dosyeun bar kerê.', |
| 3034 | +'upload_directory_missing' => "İndeksê bar-kerdena ($1)i çino u terefê ''webserver''i ra nêşikino ke bıaferiyo.", |
| 3035 | +'upload_directory_read_only' => "İndeksê bar-kerdena ($1)i terefê ''webserver''i nênuşino.", |
| 3036 | +'uploaderror' => 'Xeta bar-kerdene', |
| 3037 | + |
| 3038 | +# File description page |
| 3039 | +'filehist' => 'Tarixê dosya', |
| 3040 | +'filehist-help' => "Serba diyaena viartê dosya tarixê ke qısımê tarix/zeman'i derê inu bıteqne.", |
| 3041 | +'filehist-current' => 'nıkaên', |
| 3042 | +'filehist-datetime' => 'Tarix/Dem', |
| 3043 | +'filehist-thumb' => 'Resmo qızkek', |
| 3044 | +'filehist-thumbtext' => 'Halo qızkek be versiyonê roza $1ine', |
| 3045 | +'filehist-user' => 'Karber', |
| 3046 | +'filehist-dimensions' => 'Budi', |
| 3047 | +'filehist-filesize' => 'Gırşênia dosya', |
| 3048 | +'filehist-comment' => 'Areze-kerdene', |
| 3049 | +'imagelinks' => 'Girê dosya', |
| 3050 | +'linkstoimage' => 'Ano {{PLURAL:$1|girê pele|$1 girê pelu}} be na dosya:', |
| 3051 | +'sharedupload' => 'Na dosya depoê $1 rawa u beno ke procunê binu de gurenina.', |
| 3052 | + |
| 3053 | +# Statistics |
| 3054 | +'statistics' => 'İstatistiki', |
| 3055 | + |
| 3056 | +# Miscellaneous special pages |
| 3057 | +'nbytes' => '$1 {{PLURAL:$1|bayt|bayti}}', |
| 3058 | +'ncategories' => '$1 {{PLURAL:$1|kategoriye|kategoriy}}', |
| 3059 | +'nlinks' => '$1 {{PLURAL:$1|gire|girey}}', |
| 3060 | +'nmembers' => '$1 {{PLURAL:$1|eza|ezay}}', |
| 3061 | +'nrevisions' => '$1 {{PLURAL:$1|çım-ra-viarnais|çım-ra-viarnaişi}}', |
| 3062 | +'nviews' => '$1 {{PLURAL:$1|vênais|vênaişi}}', |
| 3063 | +'uncategorizedpages' => 'Pelê kategorizenêkerdey', |
| 3064 | +'shortpages' => 'Pelê kılmi', |
| 3065 | +'longpages' => 'Pelê dergi', |
| 3066 | +'listusers' => 'Lista karberi', |
| 3067 | +'newpages' => 'Pelê newey', |
| 3068 | +'ancientpages' => 'Pelê khanêri', |
| 3069 | +'move' => 'Bere', |
| 3070 | +'pager-newer-n' => '{{PLURAL:$1|1 newêr|$1 newêri}}', |
| 3071 | +'pager-older-n' => '{{PLURAL:$1|1 khanêr|$1 khanêri}}', |
| 3072 | + |
| 3073 | +# Book sources |
| 3074 | +'booksources' => 'Çımê kıtabun', |
| 3075 | +'booksources-go' => 'So', |
| 3076 | + |
| 3077 | +# Special:Log |
| 3078 | +'specialloguserlabel' => 'Karber:', |
| 3079 | +'log' => 'Qeydi', |
| 3080 | + |
| 3081 | +# Special:AllPages |
| 3082 | +'allpages' => 'Peli pêro', |
| 3083 | +'alphaindexline' => '$1 bere $2', |
| 3084 | +'prevpage' => 'Pela verêne ($1)', |
| 3085 | +'allpagessubmit' => 'So', |
| 3086 | + |
| 3087 | +# Special:Log/newusers |
| 3088 | +'newuserlog-create-entry' => 'Hesabê karberê newey', |
| 3089 | + |
| 3090 | +# Special:ListGroupRights |
| 3091 | +'listgrouprights-members' => '(lista azau)', |
| 3092 | + |
| 3093 | +# E-mail user |
| 3094 | +'emailuser' => 'Nê karberi rê e-poste bırusne', |
| 3095 | + |
| 3096 | +# Watchlist |
| 3097 | +'watchlist' => 'Pela mına şêrkerdene', |
| 3098 | +'mywatchlist' => 'Lista mına şêrkerdışi', |
| 3099 | +'watchlistfor' => "(serba '''$1''')", |
| 3100 | +'watch' => 'Şêr ke', |
| 3101 | +'watchthispage' => 'Na pele de şêr ke', |
| 3102 | +'unwatch' => 'Endi şêr meke', |
| 3103 | +'watchlist-details' => 'Pelunê hurênaişi ra qêri {{PLURAL:$1|$1 pele lista şêrkerdişi dera|$1 peli lista şêrkerdişi derê}}.', |
| 3104 | +'wlshowlast' => '$1 saetunê $2 rozunê peyênu bıasne $3', |
| 3105 | +'watchlist-options' => 'Alternatifê lista şêrkerdene', |
| 3106 | + |
| 3107 | +# Displayed when you click the "watch" button and it is in the process of watching |
| 3108 | +'watching' => 'Şêr ke…', |
| 3109 | +'unwatching' => 'Şêr meke…', |
| 3110 | + |
| 3111 | +# Delete |
| 3112 | +'deletepage' => 'Pele bıestere', |
| 3113 | +'actioncomplete' => 'Kar bi temam', |
| 3114 | +'deletedarticle' => '"[[$1]]" esterıt', |
| 3115 | +'dellogpage' => 'Qeydê esterıtene', |
| 3116 | +'deletecomment' => 'Sebebê esterıtene:', |
| 3117 | +'deletereasonotherlist' => 'Sebebo bin', |
| 3118 | + |
| 3119 | +# Rollback |
| 3120 | +'rollbacklink' => 'peyser bia', |
| 3121 | + |
| 3122 | +# Protect |
| 3123 | +'protectlogpage' => 'Qeydê seveknaene', |
| 3124 | +'protectedarticle' => '"[[$1]]" sevekna', |
| 3125 | +'protectcomment' => 'Sebeb:', |
| 3126 | +'protectexpiry' => 'Tarixê qediyaene:', |
| 3127 | +'protect-summary-cascade' => 'qedemein', |
| 3128 | +'protect-expiring' => 'tarixê qediyaene $1 (UTC)', |
| 3129 | +'restriction-type' => 'Destur:', |
| 3130 | +'restriction-level' => 'Sinorê desturi:', |
| 3131 | + |
| 3132 | +# Undelete |
| 3133 | +'undeletebtn' => 'Peyser bia', |
| 3134 | +'undeletelink' => 'bıvêne/peyser bia', |
| 3135 | +'undeletedarticle' => 'peyser ard "[[$1]]"', |
| 3136 | + |
| 3137 | +# Namespace form on various pages |
| 3138 | +'namespace' => 'Caê namey:', |
| 3139 | +'invert' => 'Weçinıtu ra qêri bıasne', |
| 3140 | +'blanknamespace' => '(Ser)', |
| 3141 | + |
| 3142 | +# Contributions |
| 3143 | +'contributions' => 'İştırakê karberi', |
| 3144 | +'contributions-title' => '$1 de iştırakê karberi', |
| 3145 | +'mycontris' => 'İştırakê mı', |
| 3146 | +'contribsub2' => 'Serba $1 ($2)', |
| 3147 | +'uctop' => '(ser)', |
| 3148 | +'month' => 'Asme ra (u ravêr):', |
| 3149 | +'year' => 'Serre ra (u ravêr):', |
| 3150 | + |
| 3151 | +'sp-contributions-username' => 'IP ya ki karber:', |
| 3152 | +'sp-contributions-submit' => 'Cıfeteliye', |
| 3153 | + |
| 3154 | +# What links here |
| 3155 | +'whatlinkshere' => 'Çı itay asneno', |
| 3156 | +'whatlinkshere-title' => 'Pelê ke be "$1"i bestninê pa', |
| 3157 | +'whatlinkshere-page' => 'Pele:', |
| 3158 | +'whatlinkshere-backlink' => '← $1', |
| 3159 | +'linkshere' => "Ni pelgi '''[[:$1]]'''i asnenê:", |
| 3160 | +'nolinkshere' => "Pelgê ke '''[[:$1]]'''i asnenê çinê.", |
| 3161 | +'isredirect' => 'pela ciheti', |
| 3162 | +'istemplate' => 'ilawekerdis', |
| 3163 | +'isimage' => 'girê sıkıli', |
| 3164 | +'whatlinkshere-prev' => '{{PLURAL:$1|verêni|verên $1}}', |
| 3165 | +'whatlinkshere-next' => '{{PLURAL:$1|tepiyaên|tepiyaên $1}}', |
| 3166 | +'whatlinkshere-links' => '← girê beno', |
| 3167 | +'whatlinkshere-hideredirs' => 'peyser sono $1', |
| 3168 | +'whatlinkshere-hidetrans' => 'İlawekerdê çaprazi $1', |
| 3169 | +'whatlinkshere-hidelinks' => '$1 girey', |
| 3170 | +'whatlinkshere-filters' => 'Filtrey', |
| 3171 | + |
| 3172 | +# Block/unblock |
| 3173 | +'ipboptions' => '2 saeti:2 hours,1 roze:1 day,3 roji:3 days,1 hefte:1 week,2 heftey:2 weeks,1 asme:1 month,3 asmi:3 months,6 asmi:6 months,1 serre:1 year,bêmıdet:infinite', |
| 3174 | +'blocklink' => 'kilıt ke', |
| 3175 | +'unblocklink' => 'ra ke', |
| 3176 | +'change-blocklink' => 'mani bıvurne', |
| 3177 | +'contribslink' => 'iştıraki', |
| 3178 | +'autoblocker' => 'Sıma otomatikmen kılit biy, çıke adresa sımawa \'\'IP\'\'y terefê "[[User:$1|$1]]" gurenina. |
| 3179 | +Sebebê kılit-biyaena $1\'i: "$2"o', |
| 3180 | +'blocklogpage' => 'Protokolê kilıti', |
| 3181 | +'blocklogentry' => '[[$1]] hata peyê $2 $3ine kilıt bi', |
| 3182 | +'reblock-logentry' => 'kilıt-kerdena [[$1]]i hata peyê $2 $3ine vurnê', |
| 3183 | +'blocklogtext' => "No jü protokolê faeliyetê kilıt- u rakerdena karberuno. |
| 3184 | +Otomatikmen kilıt biyaiyê adresê ''IP''y lista de çinê. |
| 3185 | +Serba men- u kilıt-biyaene nıkaêne qaytê [[Special:IPBlockList|lista kilıt-kerdena ''IP''y]] ke.", |
| 3186 | +'unblocklogentry' => "kilıt-kerdena $1'i", |
| 3187 | +'block-log-flags-anononly' => 'teyna karberê bênamey', |
| 3188 | +'block-log-flags-nocreate' => 'afernaena hesabi qapan biye', |
| 3189 | +'block-log-flags-noautoblock' => 'kilıto otomatik qapan bi', |
| 3190 | +'block-log-flags-noemail' => 'e-mail kilıt bi', |
| 3191 | +'block-log-flags-nousertalk' => 'pela hurênaişi ho nêşikina bıvurnê', |
| 3192 | +'block-log-flags-angry-autoblock' => 'kilıto otomatiko qewetın bi ra', |
| 3193 | +'range_block_disabled' => 'Qabılıyetê idarekeri be afernaena komuna têdine qapan bi.', |
| 3194 | +'ipb_expiry_invalid' => 'Xêlê zeman nêvêreno.', |
| 3195 | + |
| 3196 | +# Move page |
| 3197 | +'movearticle' => 'Pele bere:', |
| 3198 | +'move-watch' => 'Na pele de şêr ke', |
| 3199 | +'1movedto2' => '[[$1]] berd be [[$2]]', |
| 3200 | +'movelogpage' => 'Qeydê berdene', |
| 3201 | +'movereason' => 'Sebeb:', |
| 3202 | +'revertmove' => 'raçarnaene', |
| 3203 | + |
| 3204 | +# Export |
| 3205 | +'export' => 'Pelu qeyd ke', |
| 3206 | + |
| 3207 | +# Namespace 8 related |
| 3208 | +'allmessages' => 'Mesacê sistemi', |
| 3209 | + |
| 3210 | +# Thumbnails |
| 3211 | +'thumbnail-more' => 'Gırs ke', |
| 3212 | + |
| 3213 | +# Tooltip help for the actions |
| 3214 | +'tooltip-pt-userpage' => 'Pela sımawa karberi', |
| 3215 | +'tooltip-pt-mytalk' => 'Pela sımawa hurênaişi', |
| 3216 | +'tooltip-pt-preferences' => 'Tercihê mı', |
| 3217 | +'tooltip-pt-watchlist' => 'Pelê ke to guretê şêrkerdene', |
| 3218 | +'tooltip-pt-mycontris' => 'Lista iştıraqunê sıma', |
| 3219 | +'tooltip-pt-login' => 'Serba cıkotene sıma rê sılaiya, hama na zeruriye niya.', |
| 3220 | +'tooltip-pt-anonlogin' => 'Serba cıkotene sıma rê sılaiya, hama na zeruriye niya.', |
| 3221 | +'tooltip-pt-logout' => 'Veciye', |
| 3222 | +'tooltip-ca-talk' => 'Pela tedeesteun sero hurênais', |
| 3223 | +'tooltip-ca-edit' => 'Tı şikina na pele bıvurnê. |
| 3224 | +Kerem ke, qeyd-kerdene ra ver gozaga verqayti bıgurene.', |
| 3225 | +'tooltip-ca-addsection' => 'Jü qısımo newe rake', |
| 3226 | +'tooltip-ca-viewsource' => 'Na pele seveknaiya. |
| 3227 | +Tı şikina çımunê dae bıvênê', |
| 3228 | +'tooltip-ca-history' => 'Versiyonê verênê na pele', |
| 3229 | +'tooltip-ca-protect' => 'Na pele bısevekne', |
| 3230 | +'tooltip-ca-delete' => 'Na pele bıestere', |
| 3231 | +'tooltip-ca-move' => 'Namê na pele bıvurne', |
| 3232 | +'tooltip-ca-watch' => 'Na pele bıcê lista huya şêrkerdene', |
| 3233 | +'tooltip-ca-unwatch' => 'Na pele lista huya şêrkerdene ra wedare', |
| 3234 | +'tooltip-search' => 'Cıcêre {{SITENAME}}', |
| 3235 | +'tooltip-search-go' => 'Ebe ni namey so jü pele, eke esta', |
| 3236 | +'tooltip-search-fulltext' => 'Serba ni meqaley pelu sae ke', |
| 3237 | +'tooltip-p-logo' => 'Pela Seri', |
| 3238 | +'tooltip-n-mainpage' => 'Pela Seri bıvêne', |
| 3239 | +'tooltip-n-mainpage-description' => 'Pela Seri bıvêne', |
| 3240 | +'tooltip-n-portal' => 'Heqa procey de, sıma çı şikinê, çı koti vênenê', |
| 3241 | +'tooltip-n-currentevents' => 'Vurnaisunê peyênu sero melumatê pey bıvêne', |
| 3242 | +'tooltip-n-recentchanges' => 'Wiki de lista vurnaisunê peyênu', |
| 3243 | +'tooltip-n-randompage' => 'Pelê da rastamaiye bar ke', |
| 3244 | +'tooltip-n-help' => 'Caê dos-kerdene.', |
| 3245 | +'tooltip-t-whatlinkshere' => 'Lista pelunê wiki pêroina ke ita girê bena', |
| 3246 | +'tooltip-t-recentchangeslinked' => 'Vurnaiso peyêno peluno ke na pela ra gire beno', |
| 3247 | +'tooltip-feed-rss' => 'Qutê RSSê na pele', |
| 3248 | +'tooltip-feed-atom' => 'Qutê atomê na pele', |
| 3249 | +'tooltip-t-contributions' => 'Lista iştırakunê ni karberi bıvêne', |
| 3250 | +'tooltip-t-emailuser' => 'Jü e-mail ni karberi rê bırusne', |
| 3251 | +'tooltip-t-upload' => 'Dosya bar ke', |
| 3252 | +'tooltip-t-specialpages' => 'Lista pelunê xususiunê pêroinu', |
| 3253 | +'tooltip-t-print' => 'Nımunê kopya-kerdena na pele', |
| 3254 | +'tooltip-t-permalink' => 'Giro daimiyo nımunê na pele', |
| 3255 | +'tooltip-ca-nstab-main' => 'Pela tede esteu bıvêne', |
| 3256 | +'tooltip-ca-nstab-user' => 'Pela karberi bıvêne', |
| 3257 | +'tooltip-ca-nstab-media' => 'Pela medya bıvêne', |
| 3258 | +'tooltip-ca-nstab-special' => 'Na jü pelê da xususiya, sıma nêşikinê nae bıvurnê', |
| 3259 | +'tooltip-ca-nstab-project' => 'Pela procey bıvêne', |
| 3260 | +'tooltip-ca-nstab-image' => 'Pela dosya bıvêne', |
| 3261 | +'tooltip-ca-nstab-mediawiki' => 'Mesacê sistemi bıvêne', |
| 3262 | +'tooltip-ca-nstab-template' => 'Nımuney bıvêne', |
| 3263 | +'tooltip-ca-nstab-help' => 'Pela phoşti bıvêne', |
| 3264 | +'tooltip-ca-nstab-category' => 'Pela kategoriye bıvêne', |
| 3265 | +'tooltip-minoredit' => 'Ney jê vurnaiso qıc isaret ke', |
| 3266 | +'tooltip-save' => 'Vurnaisunê ho qeyd ke', |
| 3267 | +'tooltip-preview' => 'Kerem ke, vurnaisunê ho qeyd-kerdene ra ravêr be verqayt bıasne!', |
| 3268 | +'tooltip-diff' => 'Kamci vurnaişi ke to meqale de kerdê, naine bıasne.', |
| 3269 | +'tooltip-compareselectedversions' => 'Ferqunê wertê ni dı nımınunê weçinıtu bıvêne.', |
| 3270 | +'tooltip-watch' => 'Na pele lista huya şêrkerdişi ser ke', |
| 3271 | +'tooltip-recreate' => 'Na pele esterıte bo ki, nae oncia bıaferne', |
| 3272 | +'tooltip-upload' => 'Dest be bar-kerdene ke', |
| 3273 | +'tooltip-rollback' => '"Peyser biya" ebe jü tık pela iştırak(un)ê peyên(u)/i peyser ano.', |
| 3274 | +'tooltip-undo' => '"Peyser" ni vurnaişi peyser ano u modusê verqayt de vurnaisê formi keno ra. |
| 3275 | +Têser-kerdena jü sebebi rê xulasa de imkan dano cı.', |
| 3276 | + |
| 3277 | +# Stylesheets |
| 3278 | +'common.css' => '/* CSSo ke itaro, serba çermu pêroine gurenino */', |
| 3279 | + |
| 3280 | +# Math errors |
| 3281 | +'math_failure' => 'Analiz de xeta', |
| 3282 | +'math_unknown_error' => 'xeta nêzanaiye', |
| 3283 | +'math_unknown_function' => 'fonksiyono nêzanae', |
| 3284 | +'math_lexing_error' => 'xeta grameri', |
| 3285 | +'math_syntax_error' => 'xeta cumla', |
| 3286 | +'math_image_error' => "Werênaisê ''PNG''y de xeta biye; |
| 3287 | +enstale-kerdena ''latex'', ''dvips'', ''gs'', u ''convert''i qontrol ke", |
| 3288 | +'math_bad_tmpdir' => "Sıma nêşikinê indeksê ''math temp''i de bınusê ya ki bıafernê", |
| 3289 | +'math_bad_output' => 'Sıma nêşikinê indeksê formulunê matematiki de bınusê ya ki bıafernê', |
| 3290 | +'math_notexvc' => "''Texvc''o gurênae çino; |
| 3291 | +Serba areze-kerdene qaytê ''math/README''y ke.", |
| 3292 | + |
| 3293 | +# Browsing diffs |
| 3294 | +'previousdiff' => '← Vurnaiso khanêr', |
| 3295 | + |
| 3296 | +# Media information |
| 3297 | +'file-info-size' => '($1 × $2 piksel, gırsênia dosya: $3, MIME tipê cı: $4)', |
| 3298 | +'file-nohires' => '<small>Tewrêna berz rovıleşiyaene nêbena.</small>', |
| 3299 | +'show-big-image' => 'Rovıleşiyaena tame', |
| 3300 | +'show-big-image-thumb' => '<small>Gırsênia verqayti: $1 × $2 piksel</small>', |
| 3301 | + |
| 3302 | +# Bad image list |
| 3303 | +'bad_image_list' => 'Sıkılo umumi niaro: |
| 3304 | + |
| 3305 | +Teyna çiyo ke beno lista (rezê ke be * dest kenê cı) çımun ver de vênino. |
| 3306 | +Jü rêze de girêo sıftein gunê girêo de dosya xırabıne bo. |
| 3307 | +Na rêze de her girêo bin jê istisna vênino, yanê pelê ke dosya beno ke sero rêzbiyae asena.', |
| 3308 | + |
| 3309 | +/* |
| 3310 | +Short names for language variants used for language conversion links. |
| 3311 | +To disable showing a particular link, set it to 'disable', e.g. |
| 3312 | +'variantname-zh-sg' => 'disable', |
| 3313 | +Variants for Chinese language |
| 3314 | +*/ |
| 3315 | +'variantname-zh-hans' => 'hans', |
| 3316 | +'variantname-zh-hant' => 'hant', |
| 3317 | +'variantname-zh-cn' => 'cn', |
| 3318 | +'variantname-zh-tw' => 'tw', |
| 3319 | +'variantname-zh-hk' => 'hk', |
| 3320 | +'variantname-zh-mo' => 'mo', |
| 3321 | +'variantname-zh-sg' => 'sg', |
| 3322 | +'variantname-zh-my' => 'mın', |
| 3323 | +'variantname-zh' => 'zh', |
| 3324 | + |
| 3325 | +# Variants for Serbian language |
| 3326 | +'variantname-sr-ec' => 'sr-ek', |
| 3327 | +'variantname-sr-el' => 'sr-el', |
| 3328 | +'variantname-sr' => 'sr', |
| 3329 | + |
| 3330 | +# Variants for Kazakh language |
| 3331 | +'variantname-kk-kz' => 'kk-kz', |
| 3332 | +'variantname-kk-tr' => 'kk-tr', |
| 3333 | +'variantname-kk-cn' => 'kk-kn', |
| 3334 | +'variantname-kk-cyrl' => 'kk-kırl', |
| 3335 | +'variantname-kk-latn' => 'kk-latn', |
| 3336 | +'variantname-kk-arab' => 'kk-areb', |
| 3337 | +'variantname-kk' => 'kk', |
| 3338 | + |
| 3339 | +# Variants for Kurdish language |
| 3340 | +'variantname-ku-arab' => 'ku-Areb', |
| 3341 | +'variantname-ku-latn' => 'ku-Latn', |
| 3342 | +'variantname-ku' => 'ku', |
| 3343 | + |
| 3344 | +# Variants for Tajiki language |
| 3345 | +'variantname-tg-cyrl' => 'tg-Kırl', |
| 3346 | +'variantname-tg-latn' => 'tg-Latn', |
| 3347 | +'variantname-tg' => 'tg', |
| 3348 | + |
| 3349 | +# Metadata |
| 3350 | +'metadata' => 'Daê seri', |
| 3351 | +'metadata-expand' => 'Arezekerdu bıasne', |
| 3352 | +'metadata-collapse' => 'Arezekerdu measne', |
| 3353 | +'metadata-fields' => "Meydanê EXIF metadataê ke na pele de benê lista, pela resımasnaene de ke tabloê metadata gına waro, gureninê. |
| 3354 | +İ bini zê ''saekerdoğu'' nıminê. |
| 3355 | +* make |
| 3356 | +* model |
| 3357 | +* datetimeoriginal |
| 3358 | +* exposuretime |
| 3359 | +* fnumber |
| 3360 | +* isospeedratings |
| 3361 | +* focallength", |
| 3362 | + |
| 3363 | +# External editor support |
| 3364 | +'edit-externally-help' => '(Serba daêna melumati qaytê pelga [http://www.mediawiki.org/wiki/Manual:External_editors ayarê gurenaena teberi] be)', |
| 3365 | + |
| 3366 | +# 'all' in various places, this might be different for inflected languages |
| 3367 | +'watchlistall2' => 'pêro', |
| 3368 | +'namespacesall' => 'pêro', |
| 3369 | +'monthsall' => 'pêro', |
| 3370 | + |
| 3371 | +# Watchlist editing tools |
| 3372 | +'watchlisttools-view' => 'Vurnaisunê alaqadaru bımısne', |
| 3373 | +'watchlisttools-edit' => 'Lista şêrkerdene bıvêne u vıraze', |
| 3374 | +'watchlisttools-raw' => 'Lista şêrkerdena xame vıraze', |
| 3375 | + |
| 3376 | +# Special:SpecialPages |
| 3377 | +'specialpages' => 'Pelê xususiy', |
| 3378 | +'specialpages-note' => '---- |
| 3379 | +* Pelê xususiyê normali. |
| 3380 | +* <span class="mw-specialpagerestricted">Pelê xususiyê mehcuri.</span>', |
| 3381 | +'specialpages-group-maintenance' => 'Tebliğê baxımi', |
| 3382 | +'specialpages-group-other' => 'Pelê xususiyê bini', |
| 3383 | +'specialpages-group-login' => 'Cıkotene / qeyd', |
| 3384 | +'specialpages-group-changes' => 'Vurnais u protokolê pêyêni', |
| 3385 | +'specialpages-group-media' => 'Raporê medya u bar-kerdey', |
| 3386 | +'specialpages-group-users' => 'Karber u heqi', |
| 3387 | +'specialpages-group-highuse' => 'Pelê jêdêr gurenaey', |
| 3388 | +'specialpages-group-pages' => 'Lista pelun', |
| 3389 | +'specialpages-group-pagetools' => 'Hacetê pele', |
| 3390 | +'specialpages-group-wiki' => "Daê ''Wiki''y u haceti", |
| 3391 | +'specialpages-group-redirects' => 'Newe-vırastena pelunê xususiyun', |
| 3392 | +'specialpages-group-spam' => "Hacetê ''spam''i", |
| 3393 | + |
| 3394 | +# Special:BlankPage |
| 3395 | +'blankpage' => 'Pela thale', |
| 3396 | + |
| 3397 | +); |
Property changes on: branches/wmf-deployment/languages/messages/MessagesKiu.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 3398 | + native |
Index: branches/wmf-deployment/languages/classes/LanguageHi.php |
— | — | @@ -0,0 +1,32 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * |
| 5 | + * @ingroup Language |
| 6 | + */ |
| 7 | +class LanguageHi extends Language { |
| 8 | + /** |
| 9 | + * Use singular form for zero |
| 10 | + */ |
| 11 | + function convertPlural( $count, $forms ) { |
| 12 | + if ( !count($forms) ) { return ''; } |
| 13 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 14 | + |
| 15 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 16 | + } |
| 17 | +} |
| 18 | +<?php |
| 19 | +/** |
| 20 | + * |
| 21 | + * @ingroup Language |
| 22 | + */ |
| 23 | +class LanguageHi extends Language { |
| 24 | + /** |
| 25 | + * Use singular form for zero |
| 26 | + */ |
| 27 | + function convertPlural( $count, $forms ) { |
| 28 | + if ( !count($forms) ) { return ''; } |
| 29 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 30 | + |
| 31 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 32 | + } |
| 33 | +} |
Property changes on: branches/wmf-deployment/languages/classes/LanguageHi.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 34 | + native |
Index: branches/wmf-deployment/languages/classes/LanguageTi.php |
— | — | @@ -0,0 +1,32 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * |
| 5 | + * @ingroup Language |
| 6 | + */ |
| 7 | +class LanguageTi extends Language { |
| 8 | + /** |
| 9 | + * Use singular form for zero |
| 10 | + */ |
| 11 | + function convertPlural( $count, $forms ) { |
| 12 | + if ( !count($forms) ) { return ''; } |
| 13 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 14 | + |
| 15 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 16 | + } |
| 17 | +} |
| 18 | +<?php |
| 19 | +/** |
| 20 | + * |
| 21 | + * @ingroup Language |
| 22 | + */ |
| 23 | +class LanguageTi extends Language { |
| 24 | + /** |
| 25 | + * Use singular form for zero |
| 26 | + */ |
| 27 | + function convertPlural( $count, $forms ) { |
| 28 | + if ( !count($forms) ) { return ''; } |
| 29 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 30 | + |
| 31 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 32 | + } |
| 33 | +} |
Property changes on: branches/wmf-deployment/languages/classes/LanguageTi.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 34 | + native |
Index: branches/wmf-deployment/languages/classes/LanguageTl.php |
— | — | @@ -0,0 +1,32 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * |
| 5 | + * @ingroup Language |
| 6 | + */ |
| 7 | +class LanguageTl extends Language { |
| 8 | + /** |
| 9 | + * Use singular form for zero |
| 10 | + */ |
| 11 | + function convertPlural( $count, $forms ) { |
| 12 | + if ( !count($forms) ) { return ''; } |
| 13 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 14 | + |
| 15 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 16 | + } |
| 17 | +} |
| 18 | +<?php |
| 19 | +/** |
| 20 | + * |
| 21 | + * @ingroup Language |
| 22 | + */ |
| 23 | +class LanguageTl extends Language { |
| 24 | + /** |
| 25 | + * Use singular form for zero |
| 26 | + */ |
| 27 | + function convertPlural( $count, $forms ) { |
| 28 | + if ( !count($forms) ) { return ''; } |
| 29 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 30 | + |
| 31 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 32 | + } |
| 33 | +} |
Property changes on: branches/wmf-deployment/languages/classes/LanguageTl.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 34 | + native |
Index: branches/wmf-deployment/languages/classes/LanguagePt.php |
— | — | @@ -0,0 +1,32 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * |
| 5 | + * @ingroup Language |
| 6 | + */ |
| 7 | +class LanguagePt extends Language { |
| 8 | + /** |
| 9 | + * Use singular form for zero |
| 10 | + */ |
| 11 | + function convertPlural( $count, $forms ) { |
| 12 | + if ( !count($forms) ) { return ''; } |
| 13 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 14 | + |
| 15 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 16 | + } |
| 17 | +} |
| 18 | +<?php |
| 19 | +/** |
| 20 | + * |
| 21 | + * @ingroup Language |
| 22 | + */ |
| 23 | +class LanguagePt extends Language { |
| 24 | + /** |
| 25 | + * Use singular form for zero |
| 26 | + */ |
| 27 | + function convertPlural( $count, $forms ) { |
| 28 | + if ( !count($forms) ) { return ''; } |
| 29 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 30 | + |
| 31 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 32 | + } |
| 33 | +} |
Property changes on: branches/wmf-deployment/languages/classes/LanguagePt.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 34 | + native |
Index: branches/wmf-deployment/languages/classes/LanguageAm.php |
— | — | @@ -0,0 +1,32 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * |
| 5 | + * @ingroup Language |
| 6 | + */ |
| 7 | +class LanguageAm extends Language { |
| 8 | + /** |
| 9 | + * Use singular form for zero |
| 10 | + */ |
| 11 | + function convertPlural( $count, $forms ) { |
| 12 | + if ( !count($forms) ) { return ''; } |
| 13 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 14 | + |
| 15 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 16 | + } |
| 17 | +} |
| 18 | +<?php |
| 19 | +/** |
| 20 | + * |
| 21 | + * @ingroup Language |
| 22 | + */ |
| 23 | +class LanguageAm extends Language { |
| 24 | + /** |
| 25 | + * Use singular form for zero |
| 26 | + */ |
| 27 | + function convertPlural( $count, $forms ) { |
| 28 | + if ( !count($forms) ) { return ''; } |
| 29 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 30 | + |
| 31 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 32 | + } |
| 33 | +} |
Property changes on: branches/wmf-deployment/languages/classes/LanguageAm.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 34 | + native |
Index: branches/wmf-deployment/languages/classes/LanguageMg.php |
— | — | @@ -0,0 +1,32 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * |
| 5 | + * @ingroup Language |
| 6 | + */ |
| 7 | +class LanguageMg extends Language { |
| 8 | + /** |
| 9 | + * Use singular form for zero |
| 10 | + */ |
| 11 | + function convertPlural( $count, $forms ) { |
| 12 | + if ( !count($forms) ) { return ''; } |
| 13 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 14 | + |
| 15 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 16 | + } |
| 17 | +} |
| 18 | +<?php |
| 19 | +/** |
| 20 | + * |
| 21 | + * @ingroup Language |
| 22 | + */ |
| 23 | +class LanguageMg extends Language { |
| 24 | + /** |
| 25 | + * Use singular form for zero |
| 26 | + */ |
| 27 | + function convertPlural( $count, $forms ) { |
| 28 | + if ( !count($forms) ) { return ''; } |
| 29 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 30 | + |
| 31 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 32 | + } |
| 33 | +} |
Property changes on: branches/wmf-deployment/languages/classes/LanguageMg.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 34 | + native |
Index: branches/wmf-deployment/languages/classes/LanguageBh.php |
— | — | @@ -0,0 +1,32 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * |
| 5 | + * @ingroup Language |
| 6 | + */ |
| 7 | +class LanguageBh extends Language { |
| 8 | + /** |
| 9 | + * Use singular form for zero |
| 10 | + */ |
| 11 | + function convertPlural( $count, $forms ) { |
| 12 | + if ( !count($forms) ) { return ''; } |
| 13 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 14 | + |
| 15 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 16 | + } |
| 17 | +} |
| 18 | +<?php |
| 19 | +/** |
| 20 | + * |
| 21 | + * @ingroup Language |
| 22 | + */ |
| 23 | +class LanguageBh extends Language { |
| 24 | + /** |
| 25 | + * Use singular form for zero |
| 26 | + */ |
| 27 | + function convertPlural( $count, $forms ) { |
| 28 | + if ( !count($forms) ) { return ''; } |
| 29 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 30 | + |
| 31 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 32 | + } |
| 33 | +} |
Property changes on: branches/wmf-deployment/languages/classes/LanguageBh.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 34 | + native |
Index: branches/wmf-deployment/languages/classes/LanguageNso.php |
— | — | @@ -0,0 +1,32 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * |
| 5 | + * @ingroup Language |
| 6 | + */ |
| 7 | +class LanguageNso extends Language { |
| 8 | + /** |
| 9 | + * Use singular form for zero |
| 10 | + */ |
| 11 | + function convertPlural( $count, $forms ) { |
| 12 | + if ( !count($forms) ) { return ''; } |
| 13 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 14 | + |
| 15 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 16 | + } |
| 17 | +} |
| 18 | +<?php |
| 19 | +/** |
| 20 | + * |
| 21 | + * @ingroup Language |
| 22 | + */ |
| 23 | +class LanguageNso extends Language { |
| 24 | + /** |
| 25 | + * Use singular form for zero |
| 26 | + */ |
| 27 | + function convertPlural( $count, $forms ) { |
| 28 | + if ( !count($forms) ) { return ''; } |
| 29 | + $forms = $this->preConvertPlural( $forms, 2 ); |
| 30 | + |
| 31 | + return ($count <= 1) ? $forms[0] : $forms[1]; |
| 32 | + } |
| 33 | +} |
Property changes on: branches/wmf-deployment/languages/classes/LanguageNso.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 34 | + native |