r57449 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r57448‎ | r57449 | r57450 >
Date:00:51, 7 October 2009
Author:brion
Status:ok
Tags:
Comment:
Add some files from trunk and a couple patches that didn't get merged right
Modified paths:
  • /branches/wmf-deployment/includes/diff/DifferenceInterface.php (added) (history)
  • /branches/wmf-deployment/languages/classes/LanguageAm.php (added) (history)
  • /branches/wmf-deployment/languages/classes/LanguageBh.php (added) (history)
  • /branches/wmf-deployment/languages/classes/LanguageHi.php (added) (history)
  • /branches/wmf-deployment/languages/classes/LanguageMg.php (added) (history)
  • /branches/wmf-deployment/languages/classes/LanguageNso.php (added) (history)
  • /branches/wmf-deployment/languages/classes/LanguagePt.php (added) (history)
  • /branches/wmf-deployment/languages/classes/LanguageTi.php (added) (history)
  • /branches/wmf-deployment/languages/classes/LanguageTl.php (added) (history)
  • /branches/wmf-deployment/languages/messages/MessagesKiu.php (added) (history)
  • /branches/wmf-deployment/maintenance/cleanupTable.inc (modified) (history)

Diff [purge]

Index: branches/wmf-deployment/maintenance/cleanupTable.inc
@@ -91,19 +91,20 @@
9292 flush();
9393 }
9494
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__ );
99106 $this->init( $count, $table );
100107 $this->output( "Processing $table...\n" );
101108
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__ );
108109
109110 $index = (array)$params['index'];
110111 $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 = '&nbsp;&nbsp;&nbsp;' . $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 = '&nbsp;';
 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 = "&nbsp;&nbsp;&nbsp;$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 = "&nbsp;&nbsp;&nbsp;$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 = '&nbsp;&nbsp;&nbsp;' . $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 = '&nbsp;';
 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 = "&nbsp;&nbsp;&nbsp;$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 = "&nbsp;&nbsp;&nbsp;$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' => '&#32;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' => '&#32;ebe $1 $2',
 583+'diff-with-additional' => '$1 $2',
 584+'diff-with-final' => '&#32;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' => '&#32;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' => '&#32;ebe $1 $2',
 1715+'diff-with-additional' => '$1 $2',
 1716+'diff-with-final' => '&#32;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' => '&#32;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' => '&#32;ebe $1 $2',
 2847+'diff-with-additional' => '$1 $2',
 2848+'diff-with-final' => '&#32;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
13398 + 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
134 + 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
134 + 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
134 + 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
134 + 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
134 + 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
134 + 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
134 + 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
134 + native

Follow-up revisions

RevisionCommit summaryAuthorDate
r57450Update a bunch of extensions to what I sincerely hope resembles trunk r57449brion01:47, 7 October 2009

Status & tagging log