Index: branches/apiedit/phase3/docs/hooks.txt |
— | — | @@ -656,14 +656,9 @@ |
657 | 657 | Can be used to set custom CSS/JS |
658 | 658 | $out: OutputPage object |
659 | 659 | |
660 | | -'ShowRawCssJs': Customise the output of raw CSS and JavaScript in page views |
661 | | -$text: Text being shown |
662 | | -$title: Title of the custom script/stylesheet page |
663 | | -$output: Current OutputPage object |
664 | | - |
665 | 660 | 'AjaxAddScript': Called in output page just before the initialisation |
666 | 661 | of the javascript ajax engine. The hook is only called when ajax |
667 | 662 | is enabled ( $wgUseAjax = true; ). |
668 | 663 | |
669 | 664 | More hooks might be available but undocumented, you can execute |
670 | | -./maintenance/findhooks.php to find hidden one. |
\ No newline at end of file |
| 665 | +./maintenance/findhooks.php to find hidden one. |
Index: branches/apiedit/phase3/RELEASE-NOTES |
— | — | @@ -104,15 +104,18 @@ |
105 | 105 | * (bug 9250) Remove hardcoded minimum image name length of three characters |
106 | 106 | * Fixed DISPLAYTITLE behaviour to reject titles which don't normalise to the |
107 | 107 | same title as the current page, and enabled per default |
108 | | -* Wrap site CSS and JavaScript in a <pre> tag, like user JS/CSS |
109 | | -* (bug 10196) Add classes and dir="ltr" to the <pre>s on CSS and JS pages (new |
110 | | - classes: mw-code, mw-css, mw-js) |
| 108 | +* (bug 10196) Add classes and dir="ltr" to <div>s wrapping CSS and JS pages |
| 109 | + (new classes: mw-code, mw-css, mw-js) |
111 | 110 | * (bug 6711) Add $wgAddGroups and $wgRemoveGroups to allow finer control over |
112 | 111 | usergroup assignment. |
113 | 112 | * Introduce 'UserEffectiveGroups' hook; see docs/hooks.txt for more information |
114 | 113 | * (bug 10387) Detect and handle '.php5' extension environments at install time |
115 | 114 | Patch by Edward Z. Yang. |
116 | | -* Introduce 'ShowRawCssJs' hook; see docs/hooks.txt for more information |
| 115 | +* (bug 10404) Show rights log for the selected user in Special:Userrights |
| 116 | +* New javascript for upload page that will show a warning if a file with the |
| 117 | + "destination filename" already exists. |
| 118 | +* (bug 10422) Do not wrap user JS/CSS in <pre>; allow it to render as wikitext. |
| 119 | + like site CSS/JS. |
117 | 120 | * (bug 10404) Show rights log fragment for the selected user in Special:Userrights |
118 | 121 | |
119 | 122 | == Bugfixes since 1.10 == |
— | — | @@ -286,7 +289,7 @@ |
287 | 290 | * (bug 10260) Show page protection status |
288 | 291 | * (bug 10392) Include MediaWiki version details in version output |
289 | 292 | * (bug 10411) Site language in meta=siteinfo |
290 | | -* (bug 10297) include previous revision ID in prop=revisions |
| 293 | +* (bug 10391) action=help doesn't return help if format is fancy markup |
291 | 294 | |
292 | 295 | == Maintenance script changes since 1.10 == |
293 | 296 | |
Index: branches/apiedit/phase3/includes/Setup.php |
— | — | @@ -257,6 +257,7 @@ |
258 | 258 | |
259 | 259 | if ( $wgAjaxSearch ) $wgAjaxExportList[] = 'wfSajaxSearch'; |
260 | 260 | if ( $wgAjaxWatch ) $wgAjaxExportList[] = 'wfAjaxWatch'; |
| 261 | +if ( $wgAjaxUploadDestCheck ) $wgAjaxExportList[] = 'UploadForm::ajaxGetExistsWarning'; |
261 | 262 | |
262 | 263 | wfSeedRandom(); |
263 | 264 | |
Index: branches/apiedit/phase3/includes/Article.php |
— | — | @@ -784,15 +784,12 @@ |
785 | 785 | if( $this->mTitle->isCssOrJsPage() || $this->mTitle->isCssJsSubpage() ) { |
786 | 786 | $wgOut->addHtml( wfMsgExt( 'clearyourcache', 'parse' ) ); |
787 | 787 | |
788 | | - // Give hooks a chance to customise the output |
789 | | - if( wfRunHooks( 'ShowRawCssJs', array( $this->mContent, $this->mTitle, $wgOut ) ) ) { |
790 | | - // Wrap the whole lot in a <pre> and don't parse |
791 | | - preg_match( '!\.(css|js)$!u', $this->mTitle->getText(), $m ); |
792 | | - $wgOut->addHtml( "<pre class=\"mw-code mw-{$m[1]}\" dir=\"ltr\">\n" ); |
793 | | - $wgOut->addHtml( htmlspecialchars( $this->mContent ) ); |
794 | | - $wgOut->addHtml( "\n</pre>\n" ); |
795 | | - } |
796 | | - |
| 788 | + // Add classes, give directionality. Do parse it as wikitext |
| 789 | + // (bug 10422). |
| 790 | + preg_match( '!\.(css|js)$!u', $this->mTitle->getText(), $m ); |
| 791 | + $wgOut->addHtml( "<div class=\"mw-code mw-{$m[1]}\" dir=\"ltr\">\n" ); |
| 792 | + $wgOut->addWikiText( $this->mContent ); |
| 793 | + $wgOut->addHtml( "\n</div>\n" ); |
797 | 794 | } |
798 | 795 | |
799 | 796 | elseif ( $rt = Title::newFromRedirect( $text ) ) { |
Index: branches/apiedit/phase3/includes/SpecialUpload.php |
— | — | @@ -26,7 +26,7 @@ |
27 | 27 | var $mDestName, $mTempPath, $mFileSize, $mFileProps; |
28 | 28 | var $mCopyrightStatus, $mCopyrightSource, $mReUpload, $mAction, $mUploadClicked; |
29 | 29 | var $mSrcName, $mSessionKey, $mStashed, $mDesiredDestName, $mRemoveTempFile, $mSourceType; |
30 | | - var $mCurlDestHandle; |
| 30 | + var $mDestWarningAck, $mCurlDestHandle; |
31 | 31 | var $mLocalFile; |
32 | 32 | |
33 | 33 | # Placeholders for text injection by hooks (must be HTML) |
— | — | @@ -65,7 +65,7 @@ |
66 | 66 | $this->mCopyrightSource = $request->getText( 'wpUploadSource' ); |
67 | 67 | $this->mWatchthis = $request->getBool( 'wpWatchthis' ); |
68 | 68 | $this->mSourceType = $request->getText( 'wpSourceType' ); |
69 | | - wfDebug( "UploadForm: watchthis is: '$this->mWatchthis'\n" ); |
| 69 | + $this->mDestWarningAck = $request->getText( 'wpDestFileWarningAck' ); |
70 | 70 | |
71 | 71 | $this->mAction = $request->getVal( 'action' ); |
72 | 72 | |
— | — | @@ -411,89 +411,9 @@ |
412 | 412 | $warning .= '<li>'.wfMsgHtml( 'emptyfile' ).'</li>'; |
413 | 413 | } |
414 | 414 | |
415 | | - global $wgUser; |
416 | | - $sk = $wgUser->getSkin(); |
417 | | - |
418 | | - // Check for uppercase extension. We allow these filenames but check if an image |
419 | | - // with lowercase extension exists already |
420 | | - if ( $finalExt != strtolower( $finalExt ) ) { |
421 | | - $nt_lc = Title::newFromText( $partname . '.' . strtolower( $finalExt ) ); |
422 | | - $image_lc = wfLocalFile( $nt_lc ); |
| 415 | + if ( !$this->mDestWarningAck ) { |
| 416 | + $warning .= self::getExistsWarning( $this->mLocalFile ); |
423 | 417 | } |
424 | | - |
425 | | - if( $this->mLocalFile->exists() ) { |
426 | | - $dlink = $sk->makeKnownLinkObj( $nt ); |
427 | | - if ( $this->mLocalFile->allowInlineDisplay() ) { |
428 | | - $dlink2 = $sk->makeImageLinkObj( $nt, wfMsgExt( 'fileexists-thumb', 'parseinline', $dlink ), |
429 | | - $nt->getText(), 'right', array(), false, true ); |
430 | | - } elseif ( !$this->mLocalFile->allowInlineDisplay() && $this->mLocalFile->isSafeFile() ) { |
431 | | - $icon = $this->mLocalFile->iconThumb(); |
432 | | - $dlink2 = '<div style="float:right" id="mw-media-icon"><a href="' . $this->mLocalFile->getURL() . '">' . |
433 | | - $icon->toHtml() . '</a><br />' . $dlink . '</div>'; |
434 | | - } else { |
435 | | - $dlink2 = ''; |
436 | | - } |
437 | | - |
438 | | - $warning .= '<li>' . wfMsgExt( 'fileexists', 'parseline', $dlink ) . '</li>' . $dlink2; |
439 | | - |
440 | | - } elseif ( isset( $image_lc) && $image_lc->exists() ) { |
441 | | - # Check if image with lowercase extension exists. |
442 | | - # It's not forbidden but in 99% it makes no sense to upload the same filename with uppercase extension |
443 | | - $dlink = $sk->makeKnownLinkObj( $nt_lc ); |
444 | | - if ( $image_lc->allowInlineDisplay() ) { |
445 | | - $dlink2 = $sk->makeImageLinkObj( $nt_lc, wfMsgExt( 'fileexists-thumb', 'parseinline', $dlink ), |
446 | | - $nt_lc->getText(), 'right', array(), false, true ); |
447 | | - } elseif ( !$image_lc->allowInlineDisplay() && $image_lc->isSafeFile() ) { |
448 | | - $icon = $image_lc->iconThumb(); |
449 | | - $dlink2 = '<div style="float:right" id="mw-media-icon"><a href="' . $image_lc->getURL() . '">' . |
450 | | - $icon->toHtml() . '</a><br />' . $dlink . '</div>'; |
451 | | - } else { |
452 | | - $dlink2 = ''; |
453 | | - } |
454 | | - |
455 | | - $warning .= '<li>' . wfMsgExt( 'fileexists-extension', 'parsemag' , $partname . '.' |
456 | | - . $finalExt , $dlink ) . '</li>' . $dlink2; |
457 | | - |
458 | | - } elseif ( ( substr( $partname , 3, 3 ) == 'px-' || substr( $partname , 2, 3 ) == 'px-' ) |
459 | | - && ereg( "[0-9]{2}" , substr( $partname , 0, 2) ) ) |
460 | | - { |
461 | | - # Check for filenames like 50px- or 180px-, these are mostly thumbnails |
462 | | - $nt_thb = Title::newFromText( substr( $partname , strpos( $partname , '-' ) +1 ) . '.' . $finalExt ); |
463 | | - $image_thb = wfLocalFile( $nt_thb ); |
464 | | - if ($image_thb->exists() ) { |
465 | | - # Check if an image without leading '180px-' (or similiar) exists |
466 | | - $dlink = $sk->makeKnownLinkObj( $nt_thb); |
467 | | - if ( $image_thb->allowInlineDisplay() ) { |
468 | | - $dlink2 = $sk->makeImageLinkObj( $nt_thb, |
469 | | - wfMsgExt( 'fileexists-thumb', 'parseinline', $dlink ), |
470 | | - $nt_thb->getText(), 'right', array(), false, true ); |
471 | | - } elseif ( !$image_thb->allowInlineDisplay() && $image_thb->isSafeFile() ) { |
472 | | - $icon = $image_thb->iconThumb(); |
473 | | - $dlink2 = '<div style="float:right" id="mw-media-icon"><a href="' . |
474 | | - $image_thb->getURL() . '">' . $icon->toHtml() . '</a><br />' . |
475 | | - $dlink . '</div>'; |
476 | | - } else { |
477 | | - $dlink2 = ''; |
478 | | - } |
479 | | - |
480 | | - $warning .= '<li>' . wfMsgExt( 'fileexists-thumbnail-yes', 'parsemag', $dlink ) . |
481 | | - '</li>' . $dlink2; |
482 | | - } else { |
483 | | - # Image w/o '180px-' does not exists, but we do not like these filenames |
484 | | - $warning .= '<li>' . wfMsgExt( 'file-thumbnail-no', 'parseinline' , |
485 | | - substr( $partname , 0, strpos( $partname , '-' ) +1 ) ) . '</li>'; |
486 | | - } |
487 | | - } |
488 | | - if ( $this->mLocalFile->wasDeleted() ) { |
489 | | - # If the file existed before and was deleted, warn the user of this |
490 | | - # Don't bother doing so if the image exists now, however |
491 | | - $ltitle = SpecialPage::getTitleFor( 'Log' ); |
492 | | - $llink = $sk->makeKnownLinkObj( $ltitle, wfMsgHtml( 'deletionlog' ), |
493 | | - 'type=delete&page=' . $nt->getPrefixedUrl() ); |
494 | | - $warning .= wfOpenElement( 'li' ) . wfMsgWikiHtml( 'filewasdeleted', $llink ) . |
495 | | - wfCloseElement( 'li' ); |
496 | | - } |
497 | | - |
498 | 418 | if( $warning != '' ) { |
499 | 419 | /** |
500 | 420 | * Stash the file in a temporary location; the user can choose |
— | — | @@ -519,17 +439,124 @@ |
520 | 440 | global $wgUser; |
521 | 441 | $wgUser->addWatch( $this->mLocalFile->getTitle() ); |
522 | 442 | } |
523 | | - if ( $status === '' ) { |
524 | | - // New upload, redirect to description page |
525 | | - $wgOut->redirect( $this->mLocalFile->getTitle()->getFullURL() ); |
| 443 | + // Success, redirect to description page |
| 444 | + $wgOut->redirect( $this->mLocalFile->getTitle()->getFullURL() ); |
| 445 | + wfRunHooks( 'UploadComplete', array( &$img ) ); |
| 446 | + } |
| 447 | + } |
| 448 | + |
| 449 | + /** |
| 450 | + * Do existence checks on a file and produce a warning |
| 451 | + * This check is static and can be done pre-upload via AJAX |
| 452 | + * Returns an HTML fragment consisting of one or more LI elements if there is a warning |
| 453 | + * Returns an empty string if there is no warning |
| 454 | + */ |
| 455 | + static function getExistsWarning( $file ) { |
| 456 | + global $wgUser; |
| 457 | + // Check for uppercase extension. We allow these filenames but check if an image |
| 458 | + // with lowercase extension exists already |
| 459 | + $warning = ''; |
| 460 | + $ext = $file->getExtension(); |
| 461 | + $sk = $wgUser->getSkin(); |
| 462 | + if ( $ext !== '' ) { |
| 463 | + $partname = substr( $file->getName(), 0, -strlen( $ext ) - 1 ); |
| 464 | + } else { |
| 465 | + $partname = $file->getName(); |
| 466 | + } |
| 467 | + |
| 468 | + if ( $ext != strtolower( $ext ) ) { |
| 469 | + $nt_lc = Title::newFromText( $partname . '.' . strtolower( $ext ) ); |
| 470 | + $file_lc = wfLocalFile( $nt_lc ); |
| 471 | + } else { |
| 472 | + $file_lc = false; |
| 473 | + } |
| 474 | + |
| 475 | + if( $file->exists() ) { |
| 476 | + $dlink = $sk->makeKnownLinkObj( $file->getTitle() ); |
| 477 | + if ( $file->allowInlineDisplay() ) { |
| 478 | + $dlink2 = $sk->makeImageLinkObj( $file->getTitle(), wfMsgExt( 'fileexists-thumb', 'parseinline', $dlink ), |
| 479 | + $file->getName(), 'right', array(), false, true ); |
| 480 | + } elseif ( !$file->allowInlineDisplay() && $file->isSafeFile() ) { |
| 481 | + $icon = $file->iconThumb(); |
| 482 | + $dlink2 = '<div style="float:right" id="mw-media-icon"><a href="' . $file->getURL() . '">' . |
| 483 | + $icon->toHtml() . '</a><br />' . $dlink . '</div>'; |
526 | 484 | } else { |
527 | | - // Reupload, show success page |
528 | | - $this->showSuccess(); |
| 485 | + $dlink2 = ''; |
529 | 486 | } |
530 | | - wfRunHooks( 'UploadComplete', array( &$img ) ); |
| 487 | + |
| 488 | + $warning .= '<li>' . wfMsgExt( 'fileexists', 'parseline', $dlink ) . '</li>' . $dlink2; |
| 489 | + |
| 490 | + } elseif ( $file_lc && $file_lc->exists() ) { |
| 491 | + # Check if image with lowercase extension exists. |
| 492 | + # It's not forbidden but in 99% it makes no sense to upload the same filename with uppercase extension |
| 493 | + $dlink = $sk->makeKnownLinkObj( $nt_lc ); |
| 494 | + if ( $file_lc->allowInlineDisplay() ) { |
| 495 | + $dlink2 = $sk->makeImageLinkObj( $nt_lc, wfMsgExt( 'fileexists-thumb', 'parseinline', $dlink ), |
| 496 | + $nt_lc->getText(), 'right', array(), false, true ); |
| 497 | + } elseif ( !$file_lc->allowInlineDisplay() && $file_lc->isSafeFile() ) { |
| 498 | + $icon = $file_lc->iconThumb(); |
| 499 | + $dlink2 = '<div style="float:right" id="mw-media-icon"><a href="' . $file_lc->getURL() . '">' . |
| 500 | + $icon->toHtml() . '</a><br />' . $dlink . '</div>'; |
| 501 | + } else { |
| 502 | + $dlink2 = ''; |
| 503 | + } |
| 504 | + |
| 505 | + $warning .= '<li>' . wfMsgExt( 'fileexists-extension', 'parsemag' , $partname . '.' |
| 506 | + . $ext , $dlink ) . '</li>' . $dlink2; |
| 507 | + |
| 508 | + } elseif ( ( substr( $partname , 3, 3 ) == 'px-' || substr( $partname , 2, 3 ) == 'px-' ) |
| 509 | + && ereg( "[0-9]{2}" , substr( $partname , 0, 2) ) ) |
| 510 | + { |
| 511 | + # Check for filenames like 50px- or 180px-, these are mostly thumbnails |
| 512 | + $nt_thb = Title::newFromText( substr( $partname , strpos( $partname , '-' ) +1 ) . '.' . $ext ); |
| 513 | + $file_thb = wfLocalFile( $nt_thb ); |
| 514 | + if ($file_thb->exists() ) { |
| 515 | + # Check if an image without leading '180px-' (or similiar) exists |
| 516 | + $dlink = $sk->makeKnownLinkObj( $nt_thb); |
| 517 | + if ( $file_thb->allowInlineDisplay() ) { |
| 518 | + $dlink2 = $sk->makeImageLinkObj( $nt_thb, |
| 519 | + wfMsgExt( 'fileexists-thumb', 'parseinline', $dlink ), |
| 520 | + $nt_thb->getText(), 'right', array(), false, true ); |
| 521 | + } elseif ( !$file_thb->allowInlineDisplay() && $file_thb->isSafeFile() ) { |
| 522 | + $icon = $file_thb->iconThumb(); |
| 523 | + $dlink2 = '<div style="float:right" id="mw-media-icon"><a href="' . |
| 524 | + $file_thb->getURL() . '">' . $icon->toHtml() . '</a><br />' . |
| 525 | + $dlink . '</div>'; |
| 526 | + } else { |
| 527 | + $dlink2 = ''; |
| 528 | + } |
| 529 | + |
| 530 | + $warning .= '<li>' . wfMsgExt( 'fileexists-thumbnail-yes', 'parsemag', $dlink ) . |
| 531 | + '</li>' . $dlink2; |
| 532 | + } else { |
| 533 | + # Image w/o '180px-' does not exists, but we do not like these filenames |
| 534 | + $warning .= '<li>' . wfMsgExt( 'file-thumbnail-no', 'parseinline' , |
| 535 | + substr( $partname , 0, strpos( $partname , '-' ) +1 ) ) . '</li>'; |
| 536 | + } |
531 | 537 | } |
| 538 | + if ( $file->wasDeleted() ) { |
| 539 | + # If the file existed before and was deleted, warn the user of this |
| 540 | + # Don't bother doing so if the image exists now, however |
| 541 | + $ltitle = SpecialPage::getTitleFor( 'Log' ); |
| 542 | + $llink = $sk->makeKnownLinkObj( $ltitle, wfMsgHtml( 'deletionlog' ), |
| 543 | + 'type=delete&page=' . $file->getTitle()->getPrefixedUrl() ); |
| 544 | + $warning .= '<li>' . wfMsgWikiHtml( 'filewasdeleted', $llink ) . '</li>'; |
| 545 | + } |
| 546 | + return $warning; |
532 | 547 | } |
533 | 548 | |
| 549 | + static function ajaxGetExistsWarning( $filename ) { |
| 550 | + $file = wfFindFile( $filename ); |
| 551 | + $s = ' '; |
| 552 | + if ( $file ) { |
| 553 | + $warning = self::getExistsWarning( $file ); |
| 554 | + if ( $warning !== '' ) { |
| 555 | + $s = "<ul>$warning</ul>"; |
| 556 | + } |
| 557 | + } |
| 558 | + return $s; |
| 559 | + } |
| 560 | + |
534 | 561 | /** |
535 | 562 | * Stash a file in a temporary directory for later processing |
536 | 563 | * after the user has confirmed it. |
— | — | @@ -602,24 +629,6 @@ |
603 | 630 | /* -------------------------------------------------------------- */ |
604 | 631 | |
605 | 632 | /** |
606 | | - * Show some text and linkage on successful upload. |
607 | | - * @access private |
608 | | - */ |
609 | | - function showSuccess() { |
610 | | - global $wgUser, $wgOut, $wgContLang; |
611 | | - |
612 | | - $sk = $wgUser->getSkin(); |
613 | | - $ilink = $sk->makeMediaLinkObj( $this->mLocalFile->getTitle() ); |
614 | | - $dname = $wgContLang->getNsText( NS_IMAGE ) . ':'.$this->mDestName; |
615 | | - $dlink = $sk->makeKnownLink( $dname, $dname ); |
616 | | - |
617 | | - $wgOut->addHTML( '<h2>' . wfMsgHtml( 'successfulupload' ) . "</h2>\n" ); |
618 | | - $text = wfMsgWikiHtml( 'fileuploaded', $ilink, $dlink ); |
619 | | - $wgOut->addHTML( $text ); |
620 | | - $wgOut->returnToMain( false ); |
621 | | - } |
622 | | - |
623 | | - /** |
624 | 633 | * @param string $error as HTML |
625 | 634 | * @access private |
626 | 635 | */ |
— | — | @@ -703,9 +712,18 @@ |
704 | 713 | */ |
705 | 714 | function mainUploadForm( $msg='' ) { |
706 | 715 | global $wgOut, $wgUser; |
707 | | - global $wgUseCopyrightUpload; |
708 | | - global $wgRequest, $wgAllowCopyUploads; |
| 716 | + global $wgUseCopyrightUpload, $wgAjaxUploadDestCheck, $wgUseAjax; |
| 717 | + global $wgRequest, $wgAllowCopyUploads, $wgEnableAPI; |
| 718 | + global $wgStylePath; |
709 | 719 | |
| 720 | + $useAjax = $wgAjaxUploadDestCheck && $wgUseAjax; |
| 721 | + |
| 722 | + $wgOut->addScript( |
| 723 | + "<script type='text/javascript'>wgAjaxUploadDestCheck = " . |
| 724 | + ($useAjax ? 'true' : 'false' ) . ";</script>\n" . |
| 725 | + "<script type='text/javascript' src=\"$wgStylePath/common/upload.js?1\"></script>\n" |
| 726 | + ); |
| 727 | + |
710 | 728 | if( !wfRunHooks( 'UploadForm:initial', array( &$this ) ) ) |
711 | 729 | { |
712 | 730 | wfDebug( "Hook 'UploadForm:initial' broke output of the upload form" ); |
— | — | @@ -776,6 +794,14 @@ |
777 | 795 | "size='40' />" . |
778 | 796 | "<input type='hidden' name='wpSourceType' value='file' />" ; |
779 | 797 | } |
| 798 | + if ( $useAjax ) { |
| 799 | + $warningRow = "<tr><td colspan='2' id='wpDestFile-warning'> </td></tr>"; |
| 800 | + $destOnkeyup = 'onkeyup="wgUploadWarningObj.keypress();"'; |
| 801 | + } else { |
| 802 | + $warningRow = ''; |
| 803 | + $destOnkeyup = ''; |
| 804 | + } |
| 805 | + |
780 | 806 | $encComment = htmlspecialchars( $this->mComment ); |
781 | 807 | |
782 | 808 | $wgOut->addHTML( <<<EOT |
— | — | @@ -791,7 +817,8 @@ |
792 | 818 | <tr> |
793 | 819 | <td align='right'><label for='wpDestFile'>{$destfilename}:</label></td> |
794 | 820 | <td align='left'> |
795 | | - <input tabindex='2' type='text' name='wpDestFile' id='wpDestFile' size='40' value="$encDestName" /> |
| 821 | + <input tabindex='2' type='text' name='wpDestFile' id='wpDestFile' size='40' |
| 822 | + value="$encDestName" $destOnkeyup /> |
796 | 823 | </td> |
797 | 824 | </tr> |
798 | 825 | <tr> |
— | — | @@ -811,7 +838,6 @@ |
812 | 839 | $wgOut->addHTML( " |
813 | 840 | <td align='right'><label for='wpLicense'>$license:</label></td> |
814 | 841 | <td align='left'> |
815 | | - <script type='text/javascript' src=\"$wgStylePath/common/upload.js\"></script> |
816 | 842 | <select name='wpLicense' id='wpLicense' tabindex='4' |
817 | 843 | onchange='licenseSelectorCheck()'> |
818 | 844 | <option value=''>$nolicense</option> |
— | — | @@ -843,7 +869,6 @@ |
844 | 870 | "); |
845 | 871 | } |
846 | 872 | |
847 | | - |
848 | 873 | $wgOut->addHtml( " |
849 | 874 | <td></td> |
850 | 875 | <td> |
— | — | @@ -853,11 +878,11 @@ |
854 | 879 | <label for='wpIgnoreWarning'>" . wfMsgHtml( 'ignorewarnings' ) . "</label> |
855 | 880 | </td> |
856 | 881 | </tr> |
| 882 | + $warningRow |
857 | 883 | <tr> |
858 | 884 | <td></td> |
859 | 885 | <td align='left'><input tabindex='9' type='submit' name='wpUpload' value=\"{$ulb}\" /></td> |
860 | 886 | </tr> |
861 | | - |
862 | 887 | <tr> |
863 | 888 | <td></td> |
864 | 889 | <td align='left'> |
— | — | @@ -868,6 +893,7 @@ |
869 | 894 | </tr> |
870 | 895 | |
871 | 896 | </table> |
| 897 | + <input type='hidden' name='wpDestFileWarningAck' id='wpDestFileWarningAck' value=''/> |
872 | 898 | </form>" ); |
873 | 899 | } |
874 | 900 | |
Index: branches/apiedit/phase3/includes/AjaxDispatcher.php |
— | — | @@ -84,8 +84,13 @@ |
85 | 85 | wfHttpError( 400, 'Bad Request', |
86 | 86 | "unknown function " . (string) $this->func_name ); |
87 | 87 | } else { |
| 88 | + if ( strpos( $this->func_name, '::' ) !== false ) { |
| 89 | + $func = explode( '::', $this->func_name, 2 ); |
| 90 | + } else { |
| 91 | + $func = $this->func_name; |
| 92 | + } |
88 | 93 | try { |
89 | | - $result = call_user_func_array($this->func_name, $this->args); |
| 94 | + $result = call_user_func_array($func, $this->args); |
90 | 95 | |
91 | 96 | if ( $result === false || $result === NULL ) { |
92 | 97 | wfHttpError( 500, 'Internal Error', |
Index: branches/apiedit/phase3/includes/SpecialMovepage.php |
— | — | @@ -274,22 +274,25 @@ |
275 | 275 | $old = Title::newFromText( $wgRequest->getText( 'oldtitle' ) ); |
276 | 276 | $new = Title::newFromText( $wgRequest->getText( 'newtitle' ) ); |
277 | 277 | $talkmoved = $wgRequest->getVal( 'talkmoved' ); |
278 | | - |
279 | | - $olink = $wgUser->getSkin()->makeKnownLinkObj( $old, '', 'redirect=no' ); |
280 | | - $nlink = $wgUser->getSkin()->makeKnownLinkObj( $new ); |
| 278 | + $oldUrl = $old->getFullUrl( 'redirect=no' ); |
| 279 | + $newUrl = $new->getFullURl(); |
| 280 | + $oldText = $old->getPrefixedText(); |
| 281 | + $newText = $new->getPrefixedText(); |
| 282 | + $oldLink = "<span class='plainlinks'>[$oldUrl $oldText]</span>"; |
| 283 | + $newLink = "<span class='plainlinks'>[$newUrl $newText]</span>"; |
281 | 284 | |
282 | | - $wgOut->addHtml( wfMsgExt( 'movepage-moved', array( 'parseinline', 'replaceafter' ), |
283 | | - $olink, $nlink, $old->getPrefixedText(), $new->getPrefixedText() ) ); |
| 285 | + $s = wfMsg( 'movepage-moved', $oldLink, $newLink, $oldText, $newText ); |
284 | 286 | |
285 | 287 | if ( $talkmoved == 1 ) { |
286 | | - $wgOut->addWikiText( wfMsg( 'talkpagemoved' ) ); |
| 288 | + $s .= "\n\n" . wfMsg( 'talkpagemoved' ); |
287 | 289 | } elseif( 'articleexists' == $talkmoved ) { |
288 | | - $wgOut->addWikiText( wfMsg( 'talkexists' ) ); |
| 290 | + $s .= "\n\n" . wfMsg( 'talkexists' ); |
289 | 291 | } else { |
290 | 292 | if( !$old->isTalkPage() && $talkmoved != 'notalkpage' ) { |
291 | | - $wgOut->addWikiText( wfMsg( 'talkpagenotmoved', wfMsg( $talkmoved ) ) ); |
| 293 | + $s .= "\n\n" . wfMsg( 'talkpagenotmoved', wfMsg( $talkmoved ) ); |
292 | 294 | } |
293 | 295 | } |
| 296 | + $wgOut->addWikiText( $s ); |
294 | 297 | } |
295 | 298 | |
296 | 299 | function showLogFragment( $title, &$out ) { |
Index: branches/apiedit/phase3/includes/EditPage.php |
— | — | @@ -20,6 +20,7 @@ |
21 | 21 | var $firsttime; |
22 | 22 | var $lastDelete; |
23 | 23 | var $mTokenOk = false; |
| 24 | + var $mTokenOkExceptSuffix = false; |
24 | 25 | var $mTriedSave = false; |
25 | 26 | var $tooBig = false; |
26 | 27 | var $kblength = false; |
— | — | @@ -576,7 +577,9 @@ |
577 | 578 | */ |
578 | 579 | function tokenOk( &$request ) { |
579 | 580 | global $wgUser; |
580 | | - $this->mTokenOk = $wgUser->matchEditToken( $request->getVal( 'wpEditToken' ) ); |
| 581 | + $token = $request->getVal( 'wpEditToken' ); |
| 582 | + $this->mTokenOk = $wgUser->matchEditToken( $token ); |
| 583 | + $this->mTokenOkExceptSuffix = $wgUser->matchEditTokenNoSuffix( $token ); |
581 | 584 | return $this->mTokenOk; |
582 | 585 | } |
583 | 586 | |
— | — | @@ -1369,7 +1372,11 @@ |
1370 | 1373 | wfProfileIn( $fname ); |
1371 | 1374 | |
1372 | 1375 | if ( $this->mTriedSave && !$this->mTokenOk ) { |
1373 | | - $msg = 'session_fail_preview'; |
| 1376 | + if ( $this->mTokenOkExceptSuffix ) { |
| 1377 | + $msg = 'token_suffix_mismatch'; |
| 1378 | + } else { |
| 1379 | + $msg = 'session_fail_preview'; |
| 1380 | + } |
1374 | 1381 | } else { |
1375 | 1382 | $msg = 'previewnote'; |
1376 | 1383 | } |
Index: branches/apiedit/phase3/includes/DefaultSettings.php |
— | — | @@ -2552,6 +2552,11 @@ |
2553 | 2553 | $wgAjaxWatch = true; |
2554 | 2554 | |
2555 | 2555 | /** |
| 2556 | + * Enable AJAX check for file overwrite, pre-upload |
| 2557 | + */ |
| 2558 | +$wgAjaxUploadDestCheck = true; |
| 2559 | + |
| 2560 | +/** |
2556 | 2561 | * Allow DISPLAYTITLE to change title display |
2557 | 2562 | */ |
2558 | 2563 | $wgAllowDisplayTitle = true; |
Index: branches/apiedit/phase3/includes/User.php |
— | — | @@ -2312,7 +2312,6 @@ |
2313 | 2313 | * @public |
2314 | 2314 | */ |
2315 | 2315 | function matchEditToken( $val, $salt = '' ) { |
2316 | | - global $wgMemc; |
2317 | 2316 | $sessionToken = $this->editToken( $salt ); |
2318 | 2317 | if ( $val != $sessionToken ) { |
2319 | 2318 | wfDebug( "User::matchEditToken: broken session data\n" ); |
— | — | @@ -2321,6 +2320,14 @@ |
2322 | 2321 | } |
2323 | 2322 | |
2324 | 2323 | /** |
| 2324 | + * Check whether the edit token is fine except for the suffix |
| 2325 | + */ |
| 2326 | + function matchEditTokenNoSuffix( $val, $salt = '' ) { |
| 2327 | + $sessionToken = $this->editToken( $salt ); |
| 2328 | + return substr( $sessionToken, 0, 32 ) == substr( $val, 0, 32 ); |
| 2329 | + } |
| 2330 | + |
| 2331 | + /** |
2325 | 2332 | * Generate a new e-mail confirmation token and send a confirmation |
2326 | 2333 | * mail to the user's given address. |
2327 | 2334 | * |
Index: branches/apiedit/phase3/languages/messages/MessagesTi.php |
— | — | @@ -37,10 +37,12 @@ |
38 | 38 | 'qbmyoptions' => 'ፅሑፋተይ', |
39 | 39 | 'mypage' => 'ፅሑፈይ', |
40 | 40 | |
| 41 | +'help' => 'ፍንጪ', |
41 | 42 | 'search' => 'ድሉይ', |
42 | 43 | 'searchbutton' => 'ድሉይ', |
43 | 44 | 'history' => 'ናይ ፅሑፍ ታሪኽ', |
44 | 45 | 'history_short' => 'ታሪኽ', |
| 46 | +'newpage' => 'ሓዳስ ፅሑፍ', |
45 | 47 | 'jumptosearch' => 'ድሉይ', |
46 | 48 | |
47 | 49 | # 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). |
— | — | @@ -57,10 +59,18 @@ |
58 | 60 | 'viewsourcefor' => 'ን$1', |
59 | 61 | |
60 | 62 | # Login and logout pages |
| 63 | +'yourname' => 'ናይ ኣባል ሽም:', |
| 64 | +'youremail' => 'ኢ-መይል:', |
61 | 65 | 'yourlanguage' => 'ቋንቋ:', |
| 66 | +'email' => 'ኢ-መይል', |
62 | 67 | |
| 68 | +# Edit pages |
| 69 | +'savearticle' => 'ፅሑፍ ኣቐምጥ', |
| 70 | +'newarticle' => '(ሓዳስ)', |
| 71 | + |
63 | 72 | # History pages |
64 | | -'next' => 'ዝቕጽል', |
| 73 | +'next' => 'ዝቕጽል', |
| 74 | +'historysize' => '($1 ባይታት)', |
65 | 75 | |
66 | 76 | # Search results |
67 | 77 | 'prevn' => 'ናይ ቀደም $1', |
— | — | @@ -70,7 +80,9 @@ |
71 | 81 | # Preferences page |
72 | 82 | 'preferences' => 'ኣማረጽቲ', |
73 | 83 | 'mypreferences' => 'ናተይ ኣማረጽቲ', |
| 84 | +'saveprefs' => 'ኣቐምጥ', |
74 | 85 | 'searchresultshead' => 'ድሉይ', |
| 86 | +'savedprefs' => 'ዘቕረብኩሞ መርኣይ ብትክክል ተቀሚጡ ኣሎ።', |
75 | 87 | 'files' => 'ምስልታት', |
76 | 88 | |
77 | 89 | # Groups |
— | — | @@ -80,30 +92,42 @@ |
81 | 93 | 'group-sysop-member' => 'ሲሶፕ', |
82 | 94 | |
83 | 95 | # Recent changes |
84 | | -'hist' => 'ታሪኽ', |
| 96 | +'hist' => 'ታሪኽ', |
| 97 | +'newpageletter' => 'ሓ', |
85 | 98 | |
| 99 | +# Upload |
| 100 | +'savefile' => 'ምስሊ ኣቐምጥ', |
| 101 | + |
86 | 102 | # Image list |
87 | 103 | 'imagelist' => 'ምስልታት', |
88 | 104 | 'ilsubmit' => 'ድሉይ', |
89 | 105 | 'imgfile' => 'ምስሊ', |
90 | 106 | 'imghistory' => 'ናይ ምስሊ ታሪኽ', |
| 107 | +'imagelist_name' => 'ሽም', |
91 | 108 | 'imagelist_user' => 'ኣባል', |
92 | 109 | |
93 | 110 | # Miscellaneous special pages |
94 | | -'nbytes' => '$1 {{PLURAL:$1|ባይት|ባይታት}}', |
95 | | -'listusers' => 'ኣባላት', |
96 | | -'newpages' => 'ሓደሽቲ ዛዕባታት', |
| 111 | +'nbytes' => '$1 {{PLURAL:$1|ባይት|ባይታት}}', |
| 112 | +'longpages' => 'ነዋሕቲ ፅሑፋት', |
| 113 | +'listusers' => 'ኣባላት', |
| 114 | +'newpages' => 'ሓደሽቲ ዛዕባታት', |
| 115 | +'newpages-username' => 'ናይ ኣባል ሽም:', |
97 | 116 | |
| 117 | +# Book sources |
| 118 | +'booksources-go' => 'ኪድ', |
| 119 | + |
98 | 120 | 'alphaindexline' => '$1 ናብ $2', |
99 | 121 | |
100 | 122 | # Special:Log |
101 | 123 | 'specialloguserlabel' => 'ኣባል:', |
| 124 | +'log-search-submit' => 'ኪድ', |
102 | 125 | |
103 | 126 | # Special:Allpages |
104 | | -'nextpage' => 'ዝቕጽል ፅሑፍ ($1)', |
105 | | -'prevpage' => 'ናይ ቀደም ፅሑፍ ($1)', |
106 | | -'allpagesprev' => 'ናይ ቀደም', |
107 | | -'allpagesnext' => 'ዝቕጽል', |
| 127 | +'nextpage' => 'ዝቕጽል ፅሑፍ ($1)', |
| 128 | +'prevpage' => 'ናይ ቀደም ፅሑፍ ($1)', |
| 129 | +'allpagesprev' => 'ናይ ቀደም', |
| 130 | +'allpagesnext' => 'ዝቕጽል', |
| 131 | +'allpagessubmit' => 'ኪድ', |
108 | 132 | |
109 | 133 | # Watchlist |
110 | 134 | 'watchlistfor' => "(ን'''$1''')", |
— | — | @@ -122,9 +146,15 @@ |
123 | 147 | # Block/unblock |
124 | 148 | 'ipblocklist-submit' => 'ድሉይ', |
125 | 149 | |
| 150 | +# Namespace 8 related |
| 151 | +'allmessagesname' => 'ሽም', |
| 152 | + |
126 | 153 | # Tooltip help for the actions |
127 | 154 | 'tooltip-pt-preferences' => 'ናተይ ኣማረጽቲ', |
128 | 155 | |
| 156 | +# Metadata |
| 157 | +'metadata' => 'ሜታዳታ', |
| 158 | + |
129 | 159 | 'loginlanguagelabel' => 'ቋንቋ: $1', |
130 | 160 | |
131 | 161 | # Multipage image navigation |
— | — | @@ -132,9 +162,13 @@ |
133 | 163 | 'imgmultipagenext' => 'ዝቕጽል ፅሑፍ →', |
134 | 164 | |
135 | 165 | # Table pager |
136 | | -'table_pager_next' => 'ዝቕጽል ፅሑፍ', |
137 | | -'table_pager_prev' => 'ናይ ቀደም ፅሑፍ', |
| 166 | +'table_pager_next' => 'ዝቕጽል ፅሑፍ', |
| 167 | +'table_pager_prev' => 'ናይ ቀደም ፅሑፍ', |
| 168 | +'table_pager_limit_submit' => 'ኪድ', |
138 | 169 | |
| 170 | +# Auto-summaries |
| 171 | +'autosumm-new' => 'ሓዳስ ፅሑፍ: $1', |
| 172 | + |
139 | 173 | # Size units |
140 | 174 | 'size-bytes' => '$1 ባይታት', |
141 | 175 | 'size-kilobytes' => '$1 ኪሎባይታት', |
— | — | @@ -143,4 +177,4 @@ |
144 | 178 | |
145 | 179 | ); |
146 | 180 | |
147 | | - |
| 181 | +?> |
Index: branches/apiedit/phase3/languages/messages/MessagesEn.php |
— | — | @@ -995,6 +995,9 @@ |
996 | 996 | ''Because this wiki has raw HTML enabled, the preview is hidden as a precaution against JavaScript attacks.'' |
997 | 997 | |
998 | 998 | <strong>If this is a legitimate edit attempt, please try again. If it still doesn't work, try logging out and logging back in.</strong>", |
| 999 | +'token_suffix_mismatch' => '<strong>Your edit has been rejected because your client mangled the punctuation characters |
| 1000 | +in the edit token. The edit has been rejected to prevent corruption of the article text. |
| 1001 | +This sometimes happens when you are using a buggy web-based anonymous proxy service.</strong>', |
999 | 1002 | 'importing' => 'Importing $1', |
1000 | 1003 | 'editing' => 'Editing $1', |
1001 | 1004 | 'editinguser' => 'Editing user <b>$1</b>', |
Index: branches/apiedit/phase3/languages/messages/MessagesKab.php |
— | — | @@ -18,14 +18,19 @@ |
19 | 19 | NS_IMAGE_TALK => 'Amyannan_n_tugna', |
20 | 20 | NS_MEDIAWIKI => 'MediaWiki', |
21 | 21 | NS_MEDIAWIKI_TALK => 'Amyannan_n_MediaWiki', |
22 | | - NS_TEMPLATE => 'Talγa', |
23 | | - NS_TEMPLATE_TALK => 'Amyannan_n_talγa', |
| 22 | + NS_TEMPLATE => 'Talɣa', |
| 23 | + NS_TEMPLATE_TALK => 'Amyannan_n_talɣa', |
24 | 24 | NS_HELP => 'Tallat', |
25 | 25 | NS_HELP_TALK => 'Amyannan_n_tallat', |
26 | 26 | NS_CATEGORY => 'Taggayt', |
27 | 27 | NS_CATEGORY_TALK => 'Amyannan_n_taggayt' |
28 | 28 | ); |
29 | 29 | |
| 30 | +$namespaceAliases = array( |
| 31 | + 'Talγa' => NS_TEMPLATE, |
| 32 | + 'Amyannan_n_talγa' => NS_TEMPLATE_TALK, |
| 33 | +); |
| 34 | + |
30 | 35 | $messages = array( |
31 | 36 | # User preference toggles |
32 | 37 | 'tog-underline' => 'Derrer izdayen:', |
— | — | @@ -38,9 +43,9 @@ |
39 | 44 | 'tog-showtoolbar' => 'Ssken tanuga n dduzan n ubeddel (JavaScript)', |
40 | 45 | 'tog-editondblclick' => 'Beddel isebtaren asmi wekkiɣ snat n tikwal (JavaScript)', |
41 | 46 | 'tog-editsection' => 'Eğğ abeddel n umur s yizdayen [beddel]', |
42 | | -'tog-editsectiononrightclick' => 'Eğğ abeddel n umur asmi wekkiɣ ɣef uyeffus<br /> γef yizwal n umur (JavaScript)', |
| 47 | +'tog-editsectiononrightclick' => 'Eğğ abeddel n umur asmi wekkiɣ ɣef uyeffus<br /> ɣef yizwal n umur (JavaScript)', |
43 | 48 | 'tog-showtoc' => 'Ssken agbur (i isebtaren i yesɛan kter n 3 izwalen)', |
44 | | -'tog-rememberpassword' => 'Cfu ɣef yisem n umseqdac inu di uselkim-agi', |
| 49 | +'tog-rememberpassword' => 'Cfu ɣef yisem n wemseqdac inu di uselkim-agi', |
45 | 50 | 'tog-editwidth' => 'Tankult ubeddel tesɛa tehri ettmam', |
46 | 51 | 'tog-watchcreations' => 'Rnu isebtaren i xelqeɣ di umuɣ n uɛessi inu', |
47 | 52 | 'tog-watchdefault' => 'Rnu isebtaren i beddleɣ di umuruɣ n uɛessi inu', |
— | — | @@ -185,7 +190,7 @@ |
186 | 191 | 'talk' => 'Amyannan', |
187 | 192 | 'views' => 'Tuẓrin', |
188 | 193 | 'toolbox' => 'Dduzan', |
189 | | -'userpage' => 'Ẓer asebtar n umseqdac', |
| 194 | +'userpage' => 'Ẓer asebtar n wemseqdac', |
190 | 195 | 'projectpage' => 'Ẓer asebtar n usenfar', |
191 | 196 | 'imagepage' => 'Ẓer asebtar n tugna', |
192 | 197 | 'mediawikipage' => 'Ẓer asebtar n izen', |
— | — | @@ -256,7 +261,7 @@ |
257 | 262 | |
258 | 263 | # Short words for each namespace, by default used in the 'article' tab in monobook |
259 | 264 | 'nstab-main' => 'Amagrad', |
260 | | -'nstab-user' => 'Asebtar n umseqdac', |
| 265 | +'nstab-user' => 'Asebtar n wemseqdac', |
261 | 266 | 'nstab-media' => 'Asebtar n media', |
262 | 267 | 'nstab-special' => 'Uslig', |
263 | 268 | 'nstab-project' => 'Awal ɣef...', |
— | — | @@ -333,62 +338,62 @@ |
334 | 339 | # Login and logout pages |
335 | 340 | 'logouttitle' => 'Tuffɣa', |
336 | 341 | 'logouttext' => '<strong>Tura teffɣeḍ.</strong><br /> |
337 | | -Tzemreḍ ad tesseqdceḍ {{SITENAME}} d udrig, neɣ tzemreḍ ad tkecmeḍ daɣen s yisem umseqdac inek (neɣ nniḍen). Kra n yisebtaren zemren ad sskanen belli mazal-ik s yisem umseqdac inek armi temḥuḍ lkac.', |
| 342 | +Tzemreḍ ad tesseqdceḍ {{SITENAME}} d udrig, neɣ tzemreḍ ad tkecmeḍ daɣen s yisem n wemseqdac inek (neɣ nniḍen). Kra n yisebtaren zemren ad sskanen belli mazal-ik s yisem n wemseqdac inek armi temḥuḍ lkac.', |
338 | 343 | 'welcomecreation' => '== Anṣuf yis-k, $1! == |
339 | 344 | |
340 | | -Isem n umseqdac inek yettwaxleq. Ur tettuḍ ara ad tbeddleḍ Isemyifiyen n {{SITENAME}} inek.', |
| 345 | +Isem n wemseqdac inek yettwaxleq. Ur tettuḍ ara ad tbeddleḍ Isemyifiyen n {{SITENAME}} inek.', |
341 | 346 | 'loginpagetitle' => 'Takcemt', |
342 | | -'yourname' => 'Isem n umseqdac', |
| 347 | +'yourname' => 'Isem n wemseqdac', |
343 | 348 | 'yourpassword' => 'Awal n tbaḍnit', |
344 | 349 | 'yourpasswordagain' => 'Ɛiwed ssekcem awal n tbaḍnit', |
345 | 350 | 'remembermypassword' => 'Cfu ɣef wawal n tbaḍnit inu di uselkim-agi.', |
346 | 351 | 'yourdomainname' => 'Taɣult inek', |
347 | | -'externaldberror' => 'Yella ugul aberrani n database neɣ ur tettalaseḍ ara ad tbeddleḍ isem an umseqdac aberrani inek.', |
| 352 | +'externaldberror' => 'Yella ugul aberrani n database neɣ ur tettalaseḍ ara ad tbeddleḍ isem an wemseqdac aberrani inek.', |
348 | 353 | 'loginproblem' => '<b>Yella ugur akk d ukcam inek.</b><br />Ɛreḍ daɣen!', |
349 | 354 | 'alreadyloggedin' => '<strong>A(y) $1, tkecmeḍ yagi!</strong><br />', |
350 | 355 | 'login' => 'Kcem', |
351 | | -'loginprompt' => 'Yessefk teğğiḍ ikukiyen (cookies) iwakken ad tkecmeḍ ar {{SITENAME}}.', |
352 | | -'userlogin' => 'Kcem / Xleq isem n umseqdac', |
| 356 | +'loginprompt' => 'Yessefk ad teğğiḍ ikukiyen (cookies) iwakken ad tkecmeḍ ar {{SITENAME}}.', |
| 357 | +'userlogin' => 'Kcem / Xleq isem n wemseqdac', |
353 | 358 | 'logout' => 'Ffeɣ', |
354 | 359 | 'userlogout' => 'Ffeɣ', |
355 | 360 | 'notloggedin' => 'Ur tekcimeḍ ara', |
356 | | -'nologin' => 'Ur tesɛiḍ ara isem n umseqdac? $1.', |
357 | | -'nologinlink' => 'Xleq isem n umseqdac', |
358 | | -'createaccount' => 'Xleq isem n umseqdac', |
359 | | -'gotaccount' => 'Tesɛiḍ yagi isem n umseqdac? $1.', |
| 361 | +'nologin' => 'Ur tesɛiḍ ara isem n wemseqdac? $1.', |
| 362 | +'nologinlink' => 'Xleq isem n wemseqdac', |
| 363 | +'createaccount' => 'Xleq isem n wemseqdac', |
| 364 | +'gotaccount' => 'Tesɛiḍ yagi isem n wemseqdac? $1.', |
360 | 365 | 'gotaccountlink' => 'Kcem', |
361 | 366 | 'createaccountmail' => 's e-mail', |
362 | 367 | 'badretype' => 'Awal n tbaḍnit amezwaru d wis sin mačči d kif-kif.', |
363 | | -'userexists' => 'Isem umseqdac yeddem-as amdan wayeḍ. Fren yiwen nniḍen.', |
| 368 | +'userexists' => 'Isem n wemseqdac yeddem-as amdan wayeḍ. Fren yiwen nniḍen.', |
364 | 369 | 'youremail' => 'E-mail *:', |
365 | | -'username' => 'Isem n umseqdac:', |
| 370 | +'username' => 'Isem n wemseqdac:', |
366 | 371 | 'uid' => 'Amseqdac ID:', |
367 | 372 | 'yourrealname' => 'Isem n ṣṣeḥ *:', |
368 | 373 | 'yourlanguage' => 'Tutlayt:', |
369 | 374 | 'yourvariant' => 'Ameskil', |
370 | 375 | 'yournick' => 'Isem wis sin (mačči d amenṣib):', |
371 | 376 | 'badsig' => 'Azmul mačči d ṣaḥiḥ; Ssenqed tags n HTML.', |
372 | | -'prefs-help-realname' => '* Isem n ṣṣeḥ (am tebγiḍ): ma textareḍ a t-tefkeḍ, ad yettuseqdac iwakken ad snen medden anwa yura tikkin inek.', |
| 377 | +'prefs-help-realname' => '* Isem n ṣṣeḥ (am tebɣiḍ): ma textareḍ a t-tefkeḍ, ad yettuseqdac iwakken ad snen medden anwa yura tikkin inek.', |
373 | 378 | 'loginerror' => 'Agul n ukcam', |
374 | 379 | 'prefs-help-email' => '* E-mail (am tebɣiḍ): Teğği imseqdacen wiyaḍ a k-aznen email mebla ma ẓren tansa email inek.', |
375 | | -'nocookiesnew' => 'Isem umseqdac-agi yettwaxleq, meɛna ur tekcimeḍ ara. {{SITENAME}} yesseqdac ikukiyen (cookies) iwakken ad tkecmeḍ. Tekseḍ ikukiyen-nni. Eğğ-aten, umbeɛd kecm s yisem umseqdac akk d awal n tbaḍnit inek.', |
| 380 | +'nocookiesnew' => 'Isem n wemseqdac-agi yettwaxleq, meɛna ur tekcimeḍ ara. {{SITENAME}} yesseqdac ikukiyen (cookies) iwakken ad tkecmeḍ. Tekseḍ ikukiyen-nni. Eğğ-aten, umbeɛd kecm s yisem n wemseqdac akk d wawal n tbaḍnit inek.', |
376 | 381 | 'nocookieslogin' => '{{SITENAME}} yesseqdac ikukiyen (cookies) iwakken ad tkecmeḍ. Tekseḍ ikukiyen-nni. Eğğ-aten iwakken ad tkecmeḍ.', |
377 | | -'noname' => 'Ur tefkiḍ ara isem n umseqdac ṣaḥiḥ.', |
| 382 | +'noname' => 'Ur tefkiḍ ara isem n wemseqdac ṣaḥiḥ.', |
378 | 383 | 'loginsuccesstitle' => 'Tkecmeḍ!', |
379 | | -'loginsuccess' => "'''Tkecmeḍ ar {{SITENAME}} s yisem umseqdac \"\$1\".'''", |
380 | | -'nosuchuser' => 'Ulac isem umseqdac s yisem "$1". Ssenqed tira n yisem-nni, neɣ xelq isem umseqdac amaynut.', |
381 | | -'nosuchusershort' => 'Ulac isem umseqdac s yisem "$1". Ssenqed tira n yisem-nni.', |
382 | | -'nouserspecified' => 'Yessefk ad tefkeḍ isem n umseqdac.', |
| 384 | +'loginsuccess' => "'''Tkecmeḍ ar {{SITENAME}} s yisem n wemseqdac \"\$1\".'''", |
| 385 | +'nosuchuser' => 'Ulac isem n wemseqdac s yisem "$1". Ssenqed tira n yisem-nni, neɣ xelq isem n wemseqdac amaynut.', |
| 386 | +'nosuchusershort' => 'Ulac isem n wemseqdac s yisem "$1". Ssenqed tira n yisem-nni.', |
| 387 | +'nouserspecified' => 'Yessefk ad tefkeḍ isem n wemseqdac.', |
383 | 388 | 'wrongpassword' => 'Awal n tbaḍnit ɣaleṭ. Ɛreḍ daɣen.', |
384 | 389 | 'wrongpasswordempty' => 'Awal n tbaḍnit ulac-it. Ɛreḍ daɣen.', |
385 | 390 | 'mailmypassword' => 'Awal n tbaḍnit n e-mail', |
386 | 391 | 'passwordremindertitle' => 'Asmekti n wawal n tbaḍnit seg {{SITENAME}}', |
387 | 392 | 'passwordremindertext' => 'Amdan (waqila d kečč, seg tansa IP $1) |
388 | 393 | yesteqsa iwakken a nazen awal n tbaḍnit amaynut i {{SITENAME}} ($4). |
389 | | -Awal n tbaḍnit iumseqdac "$2" yuɣal-d tura "$3". |
| 394 | +Awal n tbaḍnit i wemseqdac "$2" yuɣal-d tura "$3". |
390 | 395 | Mliḥ lukan tkecmeḍ u tbeddleḍ awal n tbaḍnit tura. |
391 | 396 | |
392 | | -Lukan mačči d kečč i yesteqsatn neɣ tecfiḍ ɣef awal n tbaḍnit, tzemreḍ ad tkemmleḍ mebla ma tbeddleḍ awal n tbaḍnit.', |
| 397 | +Lukan mačči d kečč i yesteqsan neɣ tecfiḍ ɣef awal n tbaḍnit, tzemreḍ ad tkemmleḍ mebla ma tbeddleḍ awal n tbaḍnit.', |
393 | 398 | 'noemail' => '"$1" ur yesɛi ara email.', |
394 | 399 | 'passwordsent' => 'Awal n tbaḍnit amaynut yettwazen i emal inek, aylaw n "$1". |
395 | 400 | G leɛnaya-k, kcem tikelt nniḍen yis-s.', |
— | — | @@ -399,14 +404,14 @@ |
400 | 405 | iwakken ad tbeyyneḍ belli tansa n email inek.', |
401 | 406 | 'throttled-mailpassword' => 'Asmekti n wawal n tbaḍnit yettwazen yagi deg $1 sswayeɛ i iɛeddan. Asmekti n wawal n tbaḍnit yettwazen tikelt kan mkul $1 swayeɛ.', |
402 | 407 | 'mailerror' => 'Agul asmi yettwazen e-mail: $1', |
403 | | -'acct_creation_throttle_hit' => 'Surf-aɣ, txelqeḍ aṭas n ysimawen umseqdac ($1). Ur tettalaseḍ ara txelqeḍ kter.', |
| 408 | +'acct_creation_throttle_hit' => 'Surf-aɣ, txelqeḍ aṭas n yismawen n wemseqdac ($1). Ur tettalaseḍ ara ad txelqeḍ kter.', |
404 | 409 | 'emailauthenticated' => 'Tansa e-mail inek tettuɛqel deg $1.', |
405 | 410 | 'emailnotauthenticated' => 'Tansa e-mail inek mazal ur tettuɛqel. Ḥedd e-mail ur ttwazen i ulaḥedd n iḍaɣaren-agi.', |
406 | 411 | 'noemailprefs' => 'Efk tansa e-mail iwakken ad leḥḥun iḍaɣaren-nni.', |
407 | 412 | 'emailconfirmlink' => 'Sentem tansa e-mail inek', |
408 | 413 | 'invalidemailaddress' => 'Tansa e-mail-agi ur telhi, ur tesɛi ara taseddast n lɛali. Ssekcem tansa e-mail s taseddast n lɛali neɣ ur tefkiḍ acemma.', |
409 | | -'accountcreated' => 'Isem umseqdac yettwaxleq', |
410 | | -'accountcreatedtext' => 'Isem umseqdac i $1 yettwaxleq.', |
| 414 | +'accountcreated' => 'Isem n wemseqdac yettwaxleq', |
| 415 | +'accountcreatedtext' => 'Isem n wemseqdac i $1 yettwaxleq.', |
411 | 416 | |
412 | 417 | # Password reset dialog |
413 | 418 | 'resetpass' => 'Iɛawed awal n tbaḍnit', |
— | — | @@ -458,22 +463,22 @@ |
459 | 464 | 'summary-preview' => 'Pre-timeẓriwt n ugzul', |
460 | 465 | 'subject-preview' => 'Pre-timeẓriwt asentel/azwel azellum', |
461 | 466 | 'blockedtitle' => 'Amseqdac iɛekkel', |
462 | | -'blockedtext' => "<big>'''Isem umseqdac neɣ tansa n IP inek ɛekkelen.'''</big> |
| 467 | +'blockedtext' => "<big>'''Isem n wemseqdac neɣ tansa n IP inek ɛekkelen.'''</big> |
463 | 468 | |
464 | 469 | $1 iɛekkel-it u yenna-d ''$2''. |
465 | 470 | |
466 | 471 | Tzemreḍ ad tmeslayeḍ akk d $1 neɣ [[{{MediaWiki:grouppage-sysop}}|anedbal]] nniḍen iwakken ad tsmelayem ɣef uɛekkil-nni. |
467 | | -Lukan ur tefkiḍ ara email saḥih deg [[Special:Preferences|isemyifiyen umseqdac]], ur tezmireḍ ara ad tazneḍ email. Tansa n IP inek n tura d $3, ID n uɛekkil d #$5. Smekti-ten u fka-ten i unedbal-nni.", |
| 472 | +Lukan ur tefkiḍ ara email saḥih deg [[Special:Preferences|isemyifiyen n wemseqdac]], ur tezmireḍ ara ad tazneḍ email. Tansa n IP inek n tura d $3, ID n uɛekkil d #$5. Smekti-ten u fka-ten i unedbal-nni.", |
468 | 473 | 'blockedoriginalsource' => "Aɣablu n '''$1''' hat deg ukessar:", |
469 | 474 | 'blockededitsource' => "Aḍris n '''ubeddel inek''' i '''$1''' hat deg ukessar:", |
470 | 475 | 'whitelistedittitle' => 'Yessefk ad tkecmeḍ iwakken ad tbeddleḍ', |
471 | 476 | 'whitelistedittext' => 'Yessefk ad $1 iwakken ad tbeddleḍ isebtaren.', |
472 | 477 | 'whitelistreadtitle' => 'Yessefk ad tkecmeḍ iwakken ad teqqareḍ', |
473 | 478 | 'whitelistreadtext' => 'Yessefk ad [[Special:Userlogin|tkecmeḍ]] iwakken ad teqqareḍ isebtaren.', |
474 | | -'whitelistacctitle' => 'Ur tettalaseḍ ara txelqeḍ isem n umseqdac', |
475 | | -'whitelistacctext' => 'Aakken ad txelqeḍ isem umseqdac deg wiki-yagi yessefk ad [[Special:Userlogin|tkecmeḍ]] u tesɛa izerfan usligen.', |
| 479 | +'whitelistacctitle' => 'Ur tettalaseḍ ara ad txelqeḍ isem n wemseqdac', |
| 480 | +'whitelistacctext' => 'Aakken ad txelqeḍ isem n wemseqdac deg wiki-yagi yessefk ad [[Special:Userlogin|tkecmeḍ]] u tesɛa izerfan usligen.', |
476 | 481 | 'confirmedittitle' => 'Yessef ad tsentmeḍ e-mail inek iwakken ad tbeddleḍ', |
477 | | -'confirmedittext' => 'Yessefl ad tsentmeḍ tansa e-mail inek uqbel abeddel. Xtar tansa e-mail di [[Special:Preferences|isemyifiyen umseqdac]].', |
| 482 | +'confirmedittext' => 'Yessefk ad tsentmeḍ tansa e-mail inek uqbel abeddel. Xtar tansa e-mail di [[Special:Preferences|isemyifiyen n wemseqdac]].', |
478 | 483 | 'nosuchsectiontitle' => 'Amur ulac-it', |
479 | 484 | 'nosuchsectiontext' => 'Tɛerḍeḍ ad tbeddleḍ amur ulac-it. Ulac amur am akka deg usebtar $1.', |
480 | 485 | 'loginreqtitle' => 'Yessefk ad tkecmeḍ', |
— | — | @@ -486,7 +491,7 @@ |
487 | 492 | Akken ad txelqeḍ asebtar-nni, aru deg tankult i tella deg ukessar |
488 | 493 | (ẓer [[{{MediaWiki:helppage}}|asebtar n tallat]] akken ad tessneḍ kter). |
489 | 494 | Ma tɣelṭeḍ, wekki kan ɣef tqeffalt "Back/Précédent" n browser/explorateur inek.', |
490 | | -'anontalkpagetext' => "----''Wagi d asebtar n umyennan n umseqdac adrig. Ihi, yessef a nefk-as ID, nesseqdac tansa n IP ines akken a t-neɛqel. Tansa n IP nni ahat tettuseqdac sɣur aṭṭas n yimdanen. Lukan ula d kečč aqla-k amseqdac adrig u ur tebɣiḍ ara ad tettwabcreḍ izen am wigini, ihi [[Special:Userlogin|xleq isem umseqdac neɣ kcem]].''", |
| 495 | +'anontalkpagetext' => "----''Wagi d asebtar n umyennan n wemseqdac adrig. Ihi, yessef ad as nefk ID, nesseqdac tansa n IP ines akken a t-neɛqel. Tansa n IP nni ahat tettuseqdac sɣur aṭṭas n yimdanen. Lukan ula d kečč aqla-k amseqdac adrig u ur tebɣiḍ ara ad tettwabcreḍ izen am wigini, ihi [[Special:Userlogin|xleq isem n wemseqdac neɣ kcem]].''", |
491 | 496 | 'noarticletext' => 'Ulac aḍris deg usebtar-agi, tzemreḍ ad [[Special:Search/{{PAGENAME}}|tnadiḍ ɣef uzwel n usebtar-agi]] deg isebtaren wiyaḍ neɣ [{{fullurl:{{FULLPAGENAME}}|action=edit}} tettbeddileḍ asebtar-agi].', |
492 | 497 | 'clearyourcache' => "'''Tamawt:''' Beɛd asmekti, ahat yessefk ad temḥuḍ lkac n browser/explorateur inek akken teẓriḍ ibeddlen. '''Mozilla / Firefox / Safari:''' qqim twekkiḍ ''Shift'' u wekki ɣef ''Reload/Recharger'', neɣ wekki ɣef ''Ctrl-Shift-R'' (''Cmd-Shift-R'' deg Apple Mac); '''IE:''' qqim twekkiḍ ɣef ''Ctrl'' u wekki ɣef ''Refresh/Actualiser'', neɣ wekki ɣef ''Ctrl-F5''; '''Konqueror:''': wekki kan ɣef taqeffalt ''Reload'', neɣ wekki ɣef ''F5''; '''Opera''' yessefk ad tesseqdceḍ ''Tools→Preferences/Outils→Préférences'' akken ad temḥud akk lkac.", |
493 | 498 | 'usercssjsyoucanpreview' => "<strong>Tixidest:</strong> Sseqdec taqeffalt 'Ssken pre-timeẓriwt' iwakken ad tɛerḍeḍ CSS/JS amynut inek uqbel ma tesmektiḍ.", |
— | — | @@ -506,7 +511,7 @@ |
507 | 512 | <strong>Lukan abeddel agi d aḥeqqani, g leɛnayek ɛreḍ tikelt nniḍen.. Lukan mazal yella ugur, ffeɣ umbeɛd kcem.</strong>", |
508 | 513 | 'importing' => 'Asekcam n $1', |
509 | 514 | 'editing' => 'Abeddel n $1', |
510 | | -'editinguser' => 'Abeddel n umseqdac <b>$1</b>', |
| 515 | +'editinguser' => 'Abeddel n wemseqdac <b>$1</b>', |
511 | 516 | 'editingsection' => 'Abeddel n $1 (amur)', |
512 | 517 | 'editingcomment' => 'Abeddel n $1 (awennit)', |
513 | 518 | 'editconflict' => 'Amennuɣ deg ubeddel: $1', |
— | — | @@ -534,7 +539,7 @@ |
535 | 540 | ihi ur tezmireḍ ara ad tesmektiḍ ibeddlen inek tura. Smekti aḍris inek |
536 | 541 | deg afaylu nniḍen akken tesseqdceḍ-it umbeɛd.</strong>', |
537 | 542 | 'protectedpagewarning' => '<strong>AƔTAL: Asebtar-agi yettwaḥrez, ala inedbalen i zemren a t-beddlen</strong>', |
538 | | -'semiprotectedpagewarning' => "'''Tamawt:''' Asebtar-agi yettwaḥrez, ala imseqdacen i yesɛan isem umseqdac i zemren a t-beddlen.", |
| 543 | +'semiprotectedpagewarning' => "'''Tamawt:''' Asebtar-agi yettwaḥrez, ala imseqdacen i yesɛan isem n wemseqdac i zemren a t-beddlen.", |
539 | 544 | 'cascadeprotectedwarning' => "'''Aɣtal:''' Asebtar-agi iɛekkel akken ad zemren ala sysop i t-beddlen, axaṭer yettwassekcem deg isebtaren i yettwaḥerzen agi (acercur):", |
540 | 545 | 'templatesused' => 'Talɣiwin ttuseqdacen deg usebtar-agi:', |
541 | 546 | 'templatesusedpreview' => 'Talɣiwin ttuseqdacen deg pre-timeẓriwt-agi:', |
— | — | @@ -544,7 +549,7 @@ |
545 | 550 | 'edittools' => '<!-- Aḍris yettbanen-d seddaw talɣa n ubeddil d uzen. -->', |
546 | 551 | 'nocreatetitle' => 'Axleq n yisebtaren meḥdud', |
547 | 552 | 'nocreatetext' => 'Adeg in internet agi iḥedd axleq n yisebtaren imaynuten. |
548 | | -Tzemreḍ ad d-uɣaleḍ u tbeddleḍ asebtar i yellan, neɣ ad [[Special:Userlogin|tkecmeḍ neɣ ad txelqeḍ isem umseqdac]].', |
| 553 | +Tzemreḍ ad d-uɣaleḍ u tbeddleḍ asebtar i yellan, neɣ ad [[Special:Userlogin|tkecmeḍ neɣ ad txelqeḍ isem n wemseqdac]].', |
549 | 554 | |
550 | 555 | # "Undo" feature |
551 | 556 | 'undo-success' => 'Tzemreḍ ad tessefsuḍ abeddil. Ssenqed asidmer akken ad tessneḍ ayen tebɣiḍ ad txdmeḍ d ṣṣeḥ, umbeɛd smekti ibeddlen u tkemmleḍ ad tessefsuḍ abeddil.', |
— | — | @@ -552,8 +557,8 @@ |
553 | 558 | 'undo-summary' => 'Ssefsu tasiwelt $1 sɣur [[Special:Contributions/$2|$2]] ([[User talk:$2|Meslay]])', |
554 | 559 | |
555 | 560 | # Account creation failure |
556 | | -'cantcreateaccounttitle' => 'Ur yezmir ara yexleq isem umseqdac', |
557 | | -'cantcreateaccounttext' => 'Yeɛkel axleq n isem umseqdac n tansa n IP agi : (<b>$1</b>). |
| 561 | +'cantcreateaccounttitle' => 'Ur yezmir ara ad yexleq isem n wemseqdac', |
| 562 | +'cantcreateaccounttext' => 'Yeɛkel axlaq n yisem n wemseqdac n tansa n IP agi : (<b>$1</b>). |
558 | 563 | Ahat llan aṭas n yimidanen icerrɛen seg lakul inek neɣ provider inek.', |
559 | 564 | |
560 | 565 | # History pages |
— | — | @@ -595,7 +600,7 @@ |
596 | 601 | |
597 | 602 | # Revision deletion |
598 | 603 | 'rev-deleted-comment' => '(awennit yettwakes)', |
599 | | -'rev-deleted-user' => '(isem umseqdac yettwakes)', |
| 604 | +'rev-deleted-user' => '(isem n wemseqdac yettwakes)', |
600 | 605 | 'rev-deleted-event' => '(asekcem yettwakkes)', |
601 | 606 | 'rev-deleted-text-permission' => '<div class="mw-warning plainlinks"> |
602 | 607 | Tasiwelt-agi n tettwakkes seg weɣbar azayez. |
— | — | @@ -620,7 +625,7 @@ |
621 | 626 | 'revdelete-hide-text' => 'Ffer aḍris n tsiwelt', |
622 | 627 | 'revdelete-hide-name' => 'Ffer tigawt d nnican', |
623 | 628 | 'revdelete-hide-comment' => 'Ffer abeddel n uwennit', |
624 | | -'revdelete-hide-user' => 'Ffer Isem-umseqdac/IP n umeskar', |
| 629 | +'revdelete-hide-user' => 'Ffer Isem n wemseqdac/IP n umeskar', |
625 | 630 | 'revdelete-hide-restricted' => 'Eg icekkilen i inedbalen d yimdanen wiyaḍ', |
626 | 631 | 'revdelete-suppress' => 'Kkes talɣut seg inedbalen d yimdanen wiyaḍ', |
627 | 632 | 'revdelete-hide-image' => 'Ffer ayen yellan deg ufaylu', |
— | — | @@ -655,9 +660,9 @@ |
656 | 661 | 'searchsubtitle' => "Tnadiḍ ɣef '''[[:$1]]'''", |
657 | 662 | 'searchsubtitleinvalid' => "Tnadiḍ ɣef '''$1'''", |
658 | 663 | 'badquery' => 'Anadi ur yelhi', |
659 | | -'badquerytext' => 'Ur nezmir ara ad naf ayen tebγiḍ. |
660 | | -Axaṭer balak tnadiḍ γef awal yesɛan qell n 3 isekkilen, |
661 | | -Neγ ur turiḍ ara mliḥ γef wayen tnadiḍ, |
| 664 | +'badquerytext' => 'Ur nezmir ara ad naf ayen tebɣiḍ. |
| 665 | +Axaṭer balak tnadiḍ ɣef awal yesɛan qell n 3 isekkilen, |
| 666 | +Neɣ ur turiḍ ara mliḥ ɣef wayen tnadiḍ, |
662 | 667 | s umedya : "izem d d wuccen". |
663 | 668 | Ɛreḍ d wawal nniḍen.', |
664 | 669 | 'matchtotals' => 'Ayen tnadiḍ : "$1" yecban $2 n yizwal n usebtar |
— | — | @@ -674,7 +679,7 @@ |
675 | 680 | 'showingresultsnum' => "Tamuli n {{PLURAL:$3|'''Yiwen''' wegmud|'''$3''' n yigmad}} seg #'''$2'''.", |
676 | 681 | 'nonefound' => "'''Tamawt''': S umata, asmi ur tufiḍ acemma |
677 | 682 | d ilmen awalen am \"ala\" and \"seg\", |
678 | | -awalen-agi mačči deg tasmult, neγ tefkiḍ kter n yiwen n wawal (ala isebtaren |
| 683 | +awalen-agi mačči deg tasmult, neɣ tefkiḍ kter n yiwen n wawal (ala isebtaren |
679 | 684 | i yesɛan akk awalen i banen-d).", |
680 | 685 | 'powersearch' => 'Nadi', |
681 | 686 | 'powersearchtext' => 'Nadi deg yismawen n taɣult:<br />$1<br />$2 Amuɣ n yisemmimḍen<br />Nadi ɣef $3 $9', |
— | — | @@ -708,7 +713,7 @@ |
709 | 714 | 'math_bad_tmpdir' => 'Ur yezmir ara ad yaru ɣef/ɣer tusnakt n temp directory/dossier', |
710 | 715 | 'math_bad_output' => 'Ur yezmir ara ad yaru ɣef/ɣer tusnakt n tuffɣa directory/dossier', |
711 | 716 | 'math_notexvc' => "''texvc executable'' / ''executable texvc'' ulac-it; ẓer math/README akken a textareḍ isemyifiyen.", |
712 | | -'prefs-personal' => 'Profile n umseqdac', |
| 717 | +'prefs-personal' => 'Profile n wemseqdac', |
713 | 718 | 'prefs-rc' => 'Ibeddlen imaynuten', |
714 | 719 | 'prefs-watchlist' => 'Amuɣ uɛessi', |
715 | 720 | 'prefs-watchlist-days' => 'Geddac n wussan yessefk ad yesskan deg umuɣ uɛessi:', |
— | — | @@ -734,16 +739,16 @@ |
735 | 740 | 'timezoneoffset' => 'Amgirred n ukud', |
736 | 741 | 'servertime' => 'Akud n server', |
737 | 742 | 'guesstimezone' => 'Sseqdec azal n browser/explorateur', |
738 | | -'allowemail' => 'Eğğ imseqdacen wiyaḍ ad azen-ik email', |
| 743 | +'allowemail' => 'Eğğ imseqdacen wiyaḍ a k-aznen email', |
739 | 744 | 'defaultns' => 'Nadi deg yismawen n taɣult s umeslugen:', |
740 | 745 | 'default' => 'ameslugen', |
741 | 746 | 'files' => 'Ifayluwen', |
742 | 747 | |
743 | 748 | # User rights |
744 | 749 | 'userrights-lookup-user' => 'Laɛej iderman n yimseqdacen', |
745 | | -'userrights-user-editname' => 'Ssekcem isem n umseqdac:', |
| 750 | +'userrights-user-editname' => 'Ssekcem isem n wemseqdac:', |
746 | 751 | 'editusergroup' => 'Beddel iderman n yimseqdacen', |
747 | | -'userrights-editusergroup' => 'Beddel iderman n umseqdac', |
| 752 | +'userrights-editusergroup' => 'Beddel iderman n wemseqdac', |
748 | 753 | 'saveusergroups' => 'Smekti iderman n yimseqdacen', |
749 | 754 | 'userrights-groupsmember' => 'Amaslad deg:', |
750 | 755 | 'userrights-groupsavailable' => 'Iderman i yellan:', |
— | — | @@ -760,7 +765,7 @@ |
761 | 766 | 'grouppage-sysop' => '{{ns:project}}:Inedbalen', |
762 | 767 | |
763 | 768 | # User rights log |
764 | | -'rightslog' => 'Aɣmis n yizerfan n umseqdac', |
| 769 | +'rightslog' => 'Aɣmis n yizerfan n wemseqdac', |
765 | 770 | 'rightslogtext' => 'Wagi d aɣmis n yibeddlen n yizerfan n umseqdac', |
766 | 771 | 'rightslogentry' => 'Yettubeddel izerfan n umseqdac $1 seg $2 ar $3', |
767 | 772 | 'rightsnone' => '(ulaḥedd)', |
— | — | @@ -818,15 +823,14 @@ |
819 | 824 | 'uploadedfiles' => 'Ifayluwen yettwaznen', |
820 | 825 | 'ignorewarning' => 'Ttu aɣtal u smekti afaylu', |
821 | 826 | 'ignorewarnings' => 'Ttu iɣtalen', |
822 | | -'minlength' => 'Isem n ufaylu yessefk ad yesɛu 3 isekkilen neɣ kter.', |
823 | | -'illegalfilename' => 'Isem n ufaylu "$1" yesɛa isekkilen i ur tettalaseḍ ara tesseqdceḍ deg yizwal n yisebtaren. G leɛnayek beddel isem n ufaylu u azen-it tikelt nniḍen.', |
| 827 | +'illegalfilename' => 'Isem n ufaylu "$1" yesɛa isekkilen ur tettalaseḍ ara a ten-tesseqdceḍ deg yizwal n yisebtaren. G leɛnayek beddel isem n ufaylu u azen-it tikkelt nniḍen.', |
824 | 828 | 'badfilename' => 'Isem ufaylu yettubeddel ar "$1".', |
825 | | -'filetype-badmime' => 'Ur tettalaseḍ ara tazneḍ ufayluwen n anaw n MIME "$1".', |
| 829 | +'filetype-badmime' => 'Ur tettalaseḍ ara ad tazneḍ ufayluwen n anaw n MIME "$1".', |
826 | 830 | 'filetype-badtype' => "Ur neqbil ara ufayluwen n anwan am '''\".\$1\"''' |
827 | 831 | : Amuɣ n inawen i neqbel: \$2", |
828 | 832 | 'filetype-missing' => 'Afaylu ur yesɛi ara taseggiwit (am ".jpg").', |
829 | 833 | 'large-file' => 'Ilaq tiddi n ufayluwen ur tettili kter n $1; tiddi n ufaylu-agi $2.', |
830 | | -'largefileserver' => 'Afaylu meqqer aṭṭas, server ur t-yebil ara.', |
| 834 | +'largefileserver' => 'Afaylu meqqer aṭṭas, server ur t-yeqbil ara.', |
831 | 835 | 'emptyfile' => 'Afaylu i tazneḍ d ilem. Waqila tɣelṭeḍ deg isem-is. G leɛnayek ssenqed-it.', |
832 | 836 | 'fileexists' => 'Afaylu s yisem-agi yewğed yagi, ssenqed <strong><tt>$1</tt></strong> ma telliḍ mačči meḍmun akken a t-tbeddleḍ.', |
833 | 837 | 'fileexists-extension' => 'Afaylu s yisem-agi yewğed:<br /> |
— | — | @@ -948,7 +952,7 @@ |
949 | 953 | |
950 | 954 | Ṭul n [http://meta.wikimedia.org/wiki/Help:Job_queue umuti n wexdam] '''\$7'''.", |
951 | 955 | 'userstatstext' => "{{PLURAL:$1|Yella '''yiwen''' umseqdac|Llan '''$1''' n yimseqdacen}}, seg-sen |
952 | | -'''$2''' (neγ '''$4%''') {{PLURAL:$2|yesɛa|sɛan}} $5 n yizerfan.", |
| 956 | +'''$2''' (neɣ '''$4%''') {{PLURAL:$2|yesɛa|sɛan}} izerfan n $5.", |
953 | 957 | 'statistics-mostpopular' => 'Isebtaren mmeẓren aṭṭas', |
954 | 958 | |
955 | 959 | 'disambiguations' => 'Isebtaren n usefham', |
— | — | @@ -1006,7 +1010,7 @@ |
1007 | 1011 | 'restrictedpheading' => 'Isebtaren usligen gedlen', |
1008 | 1012 | 'rclsub' => '(ar isebtaren myezdin seg "$1")', |
1009 | 1013 | 'newpages' => 'Isebtaren imaynuten', |
1010 | | -'newpages-username' => 'Isem n umseqdac:', |
| 1014 | +'newpages-username' => 'Isem n wemseqdac:', |
1011 | 1015 | 'ancientpages' => 'Isebtaren iqdimen', |
1012 | 1016 | 'intl' => 'Izdayen ar tutlayin nniḍen zdaxel wikipedia', |
1013 | 1017 | 'move' => 'Smimeḍ', |
— | — | @@ -1022,7 +1026,7 @@ |
1023 | 1027 | |
1024 | 1028 | 'categoriespagetext' => 'Llant taggayin-agi deg wiki-yagi.', |
1025 | 1029 | 'data' => 'Talɣut', |
1026 | | -'userrights' => 'Laɛej iserfan n umseqdac', |
| 1030 | +'userrights' => 'Laɛej iserfan n wemseqdac', |
1027 | 1031 | 'groups' => 'Iderman n yimseqdacen', |
1028 | 1032 | 'alphaindexline' => '$1 ar $2', |
1029 | 1033 | 'version' => 'Tasiwelt', |
— | — | @@ -1060,8 +1064,8 @@ |
1061 | 1065 | 'mailnologin' => 'Ur yufi ḥedd (tansa)', |
1062 | 1066 | 'mailnologintext' => 'Yessefk ad [[Special:Userlogin|tkecmeḍ]] u tesɛiḍ tansa e-mail ṭaṣhiḥt deg [[Special:Preferences|isemyifiyen]] inek |
1063 | 1067 | iwakken ad tazneḍ email i imseqdacen wiyaḍ.', |
1064 | | -'emailuser' => 'Azen e-mail i umseqdac-agi', |
1065 | | -'emailpage' => 'Azen e-mail i umseqdac', |
| 1068 | +'emailuser' => 'Azen e-mail i wemseqdac-agi', |
| 1069 | +'emailpage' => 'Azen e-mail i wemseqdac', |
1066 | 1070 | 'emailpagetext' => 'Lukan amseqdac-agi yefka-d tansa n email ṣaḥiḥ |
1067 | 1071 | deg imsifiyen ines, talɣa deg ukessar a t-tazen izen. |
1068 | 1072 | Tansa n email i tefkiḍ deg imisifyen inek ad tban-d |
— | — | @@ -1108,7 +1112,7 @@ |
1109 | 1113 | 'notanarticle' => 'Mačči d amagrad', |
1110 | 1114 | 'watchnochange' => 'Ulaḥedd n yiferdas n umuɣ n uɛessi inek ma yettubeddel deg tawala i textareḍ.', |
1111 | 1115 | 'watchdetails' => '* ttɛassaɣ {{PLURAL:$1|$1 usebtar|$1 n yisebtaren}} mebla isebtaren "amyannan" |
1112 | | -* [[Special:Watchlist/edit|Ssken u beddel amuɣ uɛesi]] |
| 1116 | +* [[Special:Watchlist/edit|Ssken u beddel amuɣ uɛessi]] |
1113 | 1117 | * [[Special:Watchlist/clear|Kkes akk isebtaren]]', |
1114 | 1118 | 'wlheader-enotif' => '* Yeğğa Email n talɣut.', |
1115 | 1119 | 'wlheader-showupdated' => "* Isebtaren ttubeddlen segwasmi tkecmeḍ tikelt taneggarut ttbanen-d s '''uḍris aberbuz'''", |
— | — | @@ -1190,7 +1194,7 @@ |
1191 | 1195 | 'editcomment' => 'Agzul n ubeddel yella: "<i>$1</i>".', # only shown if there is an edit comment |
1192 | 1196 | 'revertpage' => 'Yessuɣal ibeddlen n [[Special:Contributions/$2|$2]] ([[User talk:$2|Meslay]]); yettubeddel ɣer tasiwelt taneggarut n [[User:$1|$1]]', |
1193 | 1197 | 'sessionfailure' => 'Yella ugul akk d takmect inek; |
1194 | | -Axdam-agi yebṭel axaṭer waqila yella wemdan nniḍen i yeddem isem umseqdac inek. |
| 1198 | +Axdam-agi yebṭel axaṭer waqila yella wemdan nniḍen i yeddem isem n wemseqdac inek. |
1195 | 1199 | G leɛnayek wekki ɣef taqeffalt "Back/Précédent" n browser/explorateur inek, umbeɛd wekki ɣef "Actualiser/reload" akk ad tɛerḍeḍ tikelt nniḍen.', |
1196 | 1200 | 'protectlogpage' => 'Aɣmis n wemḥay', |
1197 | 1201 | 'protectedarticle' => '"[[$1]]" yettwaḥrez', |
— | — | @@ -1220,7 +1224,7 @@ |
1221 | 1225 | 'invert' => 'Snegdam ayen textareḍ', |
1222 | 1226 | |
1223 | 1227 | # Contributions |
1224 | | -'contributions' => 'Tikkin n umseqdac', |
| 1228 | +'contributions' => 'Tikkin n wemseqdac', |
1225 | 1229 | 'mycontris' => 'Tikkin inu', |
1226 | 1230 | 'contribsub2' => 'n $1 ($2)', |
1227 | 1231 | 'nocontribs' => 'Ur yufi ara abddel i tebɣiḍ.', |
— | — | @@ -1236,7 +1240,7 @@ |
1237 | 1241 | 'sp-contributions-newbies-sub' => 'I yisem yimseqdacen imaynuten', |
1238 | 1242 | 'sp-contributions-blocklog' => 'Aɣmis n uɛeṭṭil', |
1239 | 1243 | 'sp-contributions-search' => 'Nadi i tikkin', |
1240 | | -'sp-contributions-username' => 'Tansa IP neɣ isem umseqdac:', |
| 1244 | +'sp-contributions-username' => 'Tansa IP neɣ isem n wemseqdac:', |
1241 | 1245 | 'sp-contributions-submit' => 'Nadi', |
1242 | 1246 | |
1243 | 1247 | 'sp-newimages-showfrom' => 'Ssken tugniwin timaynutin seg $1', |
— | — | @@ -1244,7 +1248,7 @@ |
1245 | 1249 | # What links here |
1246 | 1250 | 'whatlinkshere' => 'Ayen yewwi-d ɣer dagi', |
1247 | 1251 | 'notargettitle' => 'Ulac nnican', |
1248 | | -'notargettext' => 'Ur textareḍ ara asebtar d nnican neɣ umseqdac d nnican.', |
| 1252 | +'notargettext' => 'Ur textareḍ ara asebtar d nnican neɣ asebtar n wemseqdac d nnican.', |
1249 | 1253 | 'linklistsub' => '(Amuɣ n yizdayen)', |
1250 | 1254 | 'linkshere' => "Isebtaren-agi sɛan azday ɣer '''[[:$1]]''':", |
1251 | 1255 | 'nolinkshere' => "Ulac asebtar i yesɛan azday ɣer '''[[:$1]]'''.", |
— | — | @@ -1256,7 +1260,7 @@ |
1257 | 1261 | |
1258 | 1262 | # Block/unblock |
1259 | 1263 | 'ipaddress' => 'Tansa IP', |
1260 | | -'ipadressorusername' => 'Tansa IP neɣ isem umseqdac', |
| 1264 | +'ipadressorusername' => 'Tansa IP neɣ isem n wemseqdac', |
1261 | 1265 | 'ipbreason' => 'Ayɣer', |
1262 | 1266 | 'ipbotheroption' => 'nniḍen', |
1263 | 1267 | 'badipaddress' => 'Tansa IP mačči d ṣaḥiḥ', |
— | — | @@ -1266,20 +1270,20 @@ |
1267 | 1271 | 'proxyblockreason' => 'Tansa n IP inek teɛkel axaṭer nettat "open proxy". G leɛnayek, meslay akk d provider inek.', |
1268 | 1272 | 'proxyblocksuccess' => 'D ayen.', |
1269 | 1273 | 'sorbsreason' => 'Tansa n IP inek teɛkel axaṭer nettat "open proxy" deg DNSBL yettuseqdac da.', |
1270 | | -'sorbs_create_account_reason' => 'Tansa n IP inek teɛkel axaṭer nettat "open proxy" deg DNSBL yettuseqdac da. Ur tezmireḍ ara ad txelqeḍ isem umseqdac', |
| 1274 | +'sorbs_create_account_reason' => 'Tansa n IP inek teɛkel axaṭer nettat "open proxy" deg DNSBL yettuseqdac da. Ur tezmireḍ ara ad txelqeḍ isem n wemseqdac', |
1271 | 1275 | |
1272 | 1276 | # Move page |
1273 | 1277 | 'movepage' => 'Smimeḍ asebtar', |
1274 | 1278 | 'movepagetext' => "Mi tedsseqdceḍ talɣa deg ukessar ad ibddel isem n usebtar, yesmimeḍ akk |
1275 | | -umezruy-is γer isem amaynut. |
1276 | | -Azwel aqdim ad yuγal azady n wesmimeḍ γer azwel amaynut. |
1277 | | -Izdayen γer azwel aqdim ur ttubeddlen ara; ssenqd-iten |
| 1279 | +umezruy-is ɣer isem amaynut. |
| 1280 | +Azwel aqdim ad yuɣal azady n wesmimeḍ ɣer azwel amaynut. |
| 1281 | +Izdayen ɣer azwel aqdim ur ttubeddlen ara; ssenqd-iten |
1278 | 1282 | u ssenqed izdayen n snat d tlata tikkwal. |
1279 | 1283 | D kečč i yessefk a ten-yessenqed. |
1280 | 1284 | |
1281 | | -Meɛna, ma yella amagrad deg azwel amaynut neγ azday n wamsmimeḍ |
| 1285 | +Meɛna, ma yella amagrad deg azwel amaynut neɣ azday n wamsmimeḍ |
1282 | 1286 | mebla amezruy, asebtar-inek '''ur''' yettusmimeḍ '''ara'''. |
1283 | | -Yernu, tzemreḍ ad tesmimeḍ asebtar γer isem-is aqdim ma tγelṭeḍ.", |
| 1287 | +Yernu, tzemreḍ ad tesmimeḍ asebtar ɣer isem-is aqdim ma tɣelṭeḍ.", |
1284 | 1288 | 'movepagetalktext' => "Asebtar \"Amyannan\" yettusmimeḍ ula d netta '''ma ulac:''' |
1285 | 1289 | *Yella asebtar \"Amyannan\" deg isem amaynut, neɣ |
1286 | 1290 | *Trecmeḍ tankult deg ukessar. |
— | — | @@ -1287,13 +1291,12 @@ |
1288 | 1292 | Lukan akka, yessefk a t-tedmeḍ weḥdek.", |
1289 | 1293 | 'movearticle' => 'Smimeḍ asebtar', |
1290 | 1294 | 'movenologin' => 'Ur tekcimeḍ ara', |
1291 | | -'movenologintext' => 'Yessefk ad tesɛuḍ isem n umseqdac u [[Special:Userlogin|tkecmeḍ]] |
| 1295 | +'movenologintext' => 'Yessefk ad tesɛuḍ isem n wemseqdac u [[Special:Userlogin|tkecmeḍ]] |
1292 | 1296 | iwakken ad tesmimḍeḍ asebtar.', |
1293 | 1297 | 'newtitle' => 'Ar azwel amaynut', |
1294 | 1298 | 'move-watch' => 'Ɛass asebtar-agi', |
1295 | 1299 | 'movepagebtn' => 'Smimeḍ asebtar', |
1296 | 1300 | 'pagemovedsub' => 'Asemmimeḍ yekfa', |
1297 | | -'pagemovedtext' => 'Asebtar "[[$1]]" yettwasmimeḍ ar "[[$2]]".', |
1298 | 1301 | 'articleexists' => 'Yella yagi yisem am wagi, neɣ |
1299 | 1302 | isem ayen textareḍ mačči d ṣaḥiḥ. |
1300 | 1303 | Xtar yiwen nniḍen.', |
— | — | @@ -1370,8 +1373,8 @@ |
1371 | 1374 | 'import-logentry-interwiki-detail' => '$1 tasiwelt(tisiwal) seg $2', |
1372 | 1375 | |
1373 | 1376 | # Tooltip help for the actions |
1374 | | -'tooltip-pt-userpage' => 'Asebtar n umseqdac inu', |
1375 | | -'tooltip-pt-anonuserpage' => 'Asebtar umseqdac n IP wukud tekkiḍ', |
| 1377 | +'tooltip-pt-userpage' => 'Asebtar n wemseqdac inu', |
| 1378 | +'tooltip-pt-anonuserpage' => 'Asebtar wemseqdac n IP wukud tekkiḍ', |
1376 | 1379 | 'tooltip-pt-mytalk' => 'Asebtar n umyannan inu', |
1377 | 1380 | 'tooltip-pt-anontalk' => 'Amyannan ɣef yibeddlen n tansa ip-yagi', |
1378 | 1381 | 'tooltip-pt-preferences' => 'Isemyifiyen inu', |
— | — | @@ -1404,12 +1407,12 @@ |
1405 | 1408 | 'tooltip-t-recentchangeslinked' => 'Ibeddlen imaynuten deg yisebtaren myezdin seg asebtar-agi', |
1406 | 1409 | 'tooltip-feed-rss' => 'RSS feed n usebtar-agi', |
1407 | 1410 | 'tooltip-feed-atom' => 'Atom feed n usebtar-agi', |
1408 | | -'tooltip-t-contributions' => 'Ẓer amuɣ n tikkin n umseqdac-agi', |
1409 | | -'tooltip-t-emailuser' => 'Azen e-mail i umseqdac-agi', |
| 1411 | +'tooltip-t-contributions' => 'Ẓer amuɣ n tikkin n wemseqdac-agi', |
| 1412 | +'tooltip-t-emailuser' => 'Azen e-mail i wemseqdac-agi', |
1410 | 1413 | 'tooltip-t-upload' => 'Azen tugna neɣ afaylu nniḍen', |
1411 | 1414 | 'tooltip-t-specialpages' => 'Amuɣ n akk isebtaren usligen', |
1412 | 1415 | 'tooltip-ca-nstab-main' => 'Ẓer ayen yellan deg usebtar', |
1413 | | -'tooltip-ca-nstab-user' => 'Ẓer asebtar umseqdac', |
| 1416 | +'tooltip-ca-nstab-user' => 'Ẓer asebtar n wemseqdac', |
1414 | 1417 | 'tooltip-ca-nstab-media' => 'Ẓer asebtar n media', |
1415 | 1418 | 'tooltip-ca-nstab-special' => 'Wagi asebtar uslig, ur tezmireḍ ara a t-tbeddleḍ', |
1416 | 1419 | 'tooltip-ca-nstab-project' => 'Ẓer asebtar usenfar', |
— | — | @@ -1431,7 +1434,7 @@ |
1432 | 1435 | 'siteuser' => '{{SITENAME}} amseqdac $1', |
1433 | 1436 | 'lastmodifiedatby' => 'Tikelt taneggarut asmi yettubeddel asebtar-agi $2, $1 sɣur $3.', # $1 date, $2 time, $3 user |
1434 | 1437 | 'and' => 'u', |
1435 | | -'othercontribs' => 'Tikkin n umseqdac-agi.', |
| 1438 | +'othercontribs' => 'Tikkin n wemseqdac-agi.', |
1436 | 1439 | 'others' => 'wiyaḍ', |
1437 | 1440 | 'siteusers' => '{{SITENAME}} amseqdac(imseqdacen) $1', |
1438 | 1441 | 'creditspage' => 'Win ixedmen asebtar', |
— | — | @@ -1515,18 +1518,18 @@ |
1516 | 1519 | |
1517 | 1520 | # E-mail address confirmation |
1518 | 1521 | 'confirmemail' => 'Sentem tansa n e-mail', |
1519 | | -'confirmemail_noemail' => 'Ur tesɛiḍ ara tansa n email ṣaḥiḥ deg [[Special:Preferences|isemyifiyen umseqdac]] inek.', |
| 1522 | +'confirmemail_noemail' => 'Ur tesɛiḍ ara tansa n email ṣaḥiḥ deg [[Special:Preferences|isemyifiyen n wemseqdac]] inek.', |
1520 | 1523 | 'confirmemail_text' => 'Deg wiki-yagi, yessefk ad tvalidiḍ tansa n email inek |
1521 | 1524 | qbel ma tesseqdceḍ iḍaɣaren n email. Tella taqeffalt d akessar, wekki fell-as |
1522 | 1525 | iwakken yettwazen ungal n usentem semail. Email-nni yesɛa azady, ldi-t.', |
1523 | 1526 | 'confirmemail_pending' => '<div class="error"> |
1524 | | -Yettwazen-ak yagi ungal n usentem; lukan txelqeḍ isem umseqdac tura kan, |
| 1527 | +Yettwazen-ak yagi ungal n usentem; lukan txelqeḍ isem wemseqdac tura kan, |
1525 | 1528 | ahat yessefk ad tegguniḍ cwiṭ qbel ma tɛreḍeḍ ad testeqsiḍ ɣef ungal amaynut. |
1526 | 1529 | </div>', |
1527 | 1530 | 'confirmemail_send' => 'Azen-iyi-d angal n usentem s e-mail iwakken ad snetmeɣ.', |
1528 | 1531 | 'confirmemail_sent' => 'E-mail yettwazen iwakken ad tsentmeḍ.', |
1529 | 1532 | 'confirmemail_oncreate' => 'Angal n usentem yettwazen ar tansa n e-mail inek. |
1530 | | -Yessefk tesseqdceḍ angal-agi iwakken ad tkecmeḍ, meɛna yessefk a t-tefkeḍ |
| 1533 | +Yessefk ad tesseqdceḍ angal-agi iwakken ad tkecmeḍ, meɛna yessefk a t-tefkeḍ |
1531 | 1534 | iwakken ad xedmen yiḍaɣaren n email deg wiki-yagi.', |
1532 | 1535 | 'confirmemail_sendfailed' => 'Ur yezmir ara ad yazen asentem n email. Ssenqed tansa n email inek. |
1533 | 1536 | |
— | — | @@ -1538,9 +1541,9 @@ |
1539 | 1542 | 'confirmemail_error' => 'Yella ugur s usmekti n usentem inek.', |
1540 | 1543 | 'confirmemail_subject' => 'Asentem n tansa n email seg {{SITENAME}}', |
1541 | 1544 | 'confirmemail_body' => 'Amdan, waqila d kečč, seg tansa IP $1, yexleq |
1542 | | -isem umseqdac "$2" s tansa n e-mail deg {{SITENAME}}. |
| 1545 | +isem n wemseqdac "$2" s tansa n e-mail deg {{SITENAME}}. |
1543 | 1546 | |
1544 | | -Iwakken tbeyyneḍ belli isem umseqdac inek u terreḍ |
| 1547 | +Iwakken tbeyyneḍ belli isem n wemseqdac inek u terreḍ |
1545 | 1548 | iḍaɣaren n email ad xdemen deg {{SITENAME}}, ldi azday agi: |
1546 | 1549 | |
1547 | 1550 | $3 |
— | — | @@ -1556,7 +1559,7 @@ |
1557 | 1560 | # Scary transclusion |
1558 | 1561 | 'scarytranscludedisabled' => '[Yettwakkes assekcam n yisebtaren seg wiki wiyaḍ]', |
1559 | 1562 | 'scarytranscludefailed' => '[Ur yezmir ara yewwi-d talɣa n $1; suref-aɣ]', |
1560 | | -'scarytranscludetoolong' => '[URL d aγezfan bezzaf; suref-aɣ]', |
| 1563 | +'scarytranscludetoolong' => '[URL d aɣezfan bezzaf; suref-aɣ]', |
1561 | 1564 | |
1562 | 1565 | # Trackbacks |
1563 | 1566 | 'trackbackbox' => '<div id="mw_trackbacks"> |
— | — | @@ -1589,9 +1592,6 @@ |
1590 | 1593 | 'articletitles' => "Imagraden i yebdan s ''$1''", |
1591 | 1594 | 'hideresults' => 'Ffer igmad', |
1592 | 1595 | |
1593 | | -# DISPLAYTITLE |
1594 | | -'displaytitle' => '(Xdem azday ar asebtar-agi akka [[$1]])', |
1595 | | - |
1596 | 1596 | 'loginlanguagelabel' => 'Tutlayt: $1', |
1597 | 1597 | |
1598 | 1598 | # Multipage image navigation |
— | — | @@ -1634,4 +1634,4 @@ |
1635 | 1635 | |
1636 | 1636 | ); |
1637 | 1637 | |
1638 | | - |
| 1638 | +?> |
Index: branches/apiedit/phase3/languages/messages/MessagesId.php |
— | — | @@ -966,18 +966,18 @@ |
967 | 967 | 'files' => 'Berkas', |
968 | 968 | |
969 | 969 | # User rights |
970 | | -'userrights-lookup-user' => 'Mengatur kelompok pengguna', |
971 | | -'userrights-user-editname' => 'Masukkan nama pengguna:', |
972 | | -'editusergroup' => 'Sunting kelompok pengguna', |
973 | | -'userrights-editusergroup' => 'Sunting kelompok pengguna', |
974 | | -'saveusergroups' => 'Simpan kelompok pengguna', |
975 | | -'userrights-groupsmember' => 'Anggota dari:', |
976 | | -'userrights-groupsavailable' => 'Kelompok yang tersedia:', |
977 | | -'userrights-groupshelp' => 'Pilih kelompok yang Anda ingin hapus dari atau tambahkan pada pengguna. Kelompok yang tak dipilih tak akan diganti. Anda dapat membatalkan pilihan dengan menekan tombol CTRL + Klik kiri', |
978 | | -'userrights-reason' => 'Alasan pengubahan:', |
979 | | -'userrights-list' => 'Karena Anda adalah anggota dari $1, Anda dapat memberi akses untuk $2 serta mencabut akses untuk $3.', |
980 | | -'userrights-list-nogroups' => 'tak satu pun kelompok', |
981 | | -'userrights-list-groups' => '{{PLURAL:$1|kelompok|kelompok-kelompok}} $2', |
| 970 | +'userrights-lookup-user' => 'Mengatur kelompok pengguna', |
| 971 | +'userrights-user-editname' => 'Masukkan nama pengguna:', |
| 972 | +'editusergroup' => 'Sunting kelompok pengguna', |
| 973 | +'userrights-editusergroup' => 'Sunting kelompok pengguna', |
| 974 | +'saveusergroups' => 'Simpan kelompok pengguna', |
| 975 | +'userrights-groupsmember' => 'Anggota dari:', |
| 976 | +'userrights-groupsavailable' => 'Kelompok yang tersedia:', |
| 977 | +'userrights-groupshelp' => 'Pilih kelompok yang Anda ingin hapus dari atau tambahkan pada pengguna. Kelompok yang tak dipilih tak akan diganti. Anda dapat membatalkan pilihan dengan menekan tombol CTRL + Klik kiri', |
| 978 | +'userrights-reason' => 'Alasan pengubahan:', |
| 979 | +'userrights-available-none' => 'Anda tak dapat mengganti keangotaan kelompok.', |
| 980 | +'userrights-available-add' => 'Anda dapat memasukkan pengguna ke $1.', |
| 981 | +'userrights-available-remove' => 'Anda dapat mengeluarkan pengguna dari $1.', |
982 | 982 | |
983 | 983 | # Groups |
984 | 984 | 'group' => 'Kelompok:', |
— | — | @@ -1646,7 +1646,7 @@ |
1647 | 1647 | 'move-watch' => 'Pantau halaman ini', |
1648 | 1648 | 'movepagebtn' => 'Pindahkan halaman', |
1649 | 1649 | 'pagemovedsub' => 'Pemindahan berhasil', |
1650 | | -'movepage-moved' => '<big>\'\'\'"$1" dipindahkan ke "$2".\'\'\'</big>', |
| 1650 | +'movepage-moved' => '<big>\'\'\'"$1" dipindahkan ke "$2".\'\'\'</big>', # The two titles are passed in plain text as $3 and $4 to allow additional goodies in the message. |
1651 | 1651 | 'articleexists' => 'Halaman dengan nama tersebut telah ada atau nama yang dipilih tidak sah. Silakan pilih nama lain.', |
1652 | 1652 | 'talkexists' => 'Halaman tersebut berhasil dipindahkan, tetapi halaman pembicaraan dari halaman tersebut tidak dapat dipindahkan karena telah ada halaman pembicaraan pada judul yang baru. Silakan gabungkan halaman-halaman pembicaraan tersebut secara manual.', |
1653 | 1653 | 'movedto' => 'dipindahkan ke', |
Index: branches/apiedit/phase3/skins/common/upload.js |
— | — | @@ -11,13 +11,125 @@ |
12 | 12 | // for MSIE/Mac; non-breaking spaces cause the <option> not to render |
13 | 13 | // but, for some reason, setting the text to itself works |
14 | 14 | var selector = document.getElementById("wpLicense"); |
15 | | - var ua = navigator.userAgent; |
16 | | - var isMacIe = (ua.indexOf("MSIE") != -1) && (ua.indexOf("Mac") != -1); |
17 | | - if (isMacIe) { |
18 | | - for (var i = 0; i < selector.options.length; i++) { |
19 | | - selector.options[i].text = selector.options[i].text; |
| 15 | + if (selector) { |
| 16 | + var ua = navigator.userAgent; |
| 17 | + var isMacIe = (ua.indexOf("MSIE") != -1) && (ua.indexOf("Mac") != -1); |
| 18 | + if (isMacIe) { |
| 19 | + for (var i = 0; i < selector.options.length; i++) { |
| 20 | + selector.options[i].text = selector.options[i].text; |
| 21 | + } |
20 | 22 | } |
21 | 23 | } |
22 | 24 | } |
23 | 25 | |
| 26 | +var wgUploadWarningObj = { |
| 27 | + 'responseCache' : { '' : ' ' }, |
| 28 | + 'nameToCheck' : '', |
| 29 | + 'typing': false, |
| 30 | + 'delay': 500, // ms |
| 31 | + 'timeoutID': false, |
| 32 | + |
| 33 | + 'keypress': function () { |
| 34 | + // Find file to upload |
| 35 | + var destFile = document.getElementById('wpDestFile'); |
| 36 | + var warningElt = document.getElementById( 'wpDestFile-warning' ); |
| 37 | + if ( !destFile || !warningElt ) return ; |
| 38 | + |
| 39 | + this.nameToCheck = destFile.value ; |
| 40 | + |
| 41 | + // Clear timer |
| 42 | + if ( this.timeoutID ) { |
| 43 | + window.clearTimeout( this.timeoutID ); |
| 44 | + } |
| 45 | + // Check response cache |
| 46 | + if ( this.nameToCheck in this.responseCache ) { |
| 47 | + this.setWarning(this.responseCache[this.nameToCheck]); |
| 48 | + return; |
| 49 | + } |
| 50 | + |
| 51 | + this.setInnerHTML(warningElt, '..'); // TODO: pretty animated GIF |
| 52 | + this.timeoutID = window.setTimeout( 'wgUploadWarningObj.timeout()', this.delay ); |
| 53 | + }, |
| 54 | + |
| 55 | + 'checkNow': function (fname) { |
| 56 | + if ( this.timeoutID ) { |
| 57 | + window.clearTimeout( this.timeoutID ); |
| 58 | + } |
| 59 | + this.nameToCheck = fname; |
| 60 | + this.timeout(); |
| 61 | + }, |
| 62 | + |
| 63 | + 'timeout' : function() { |
| 64 | + var warningElt = document.getElementById( 'wpDestFile-warning' ); |
| 65 | + this.setInnerHTML(warningElt, '....'); // TODO: pretty animated GIF |
| 66 | + |
| 67 | + // Get variables into local scope so that they will be preserved for the |
| 68 | + // anonymous callback. fileName is copied so that multiple overlapping |
| 69 | + // ajax requests can be supported. |
| 70 | + var obj = this; |
| 71 | + var fileName = this.nameToCheck; |
| 72 | + sajax_do_call( 'UploadForm::ajaxGetExistsWarning', [this.nameToCheck], |
| 73 | + function (result) { |
| 74 | + obj.processResult(result, fileName) |
| 75 | + } |
| 76 | + ); |
| 77 | + }, |
| 78 | + |
| 79 | + 'processResult' : function (result, fileName) { |
| 80 | + this.setWarning(result.responseText); |
| 81 | + this.responseCache[fileName] = result.responseText; |
| 82 | + }, |
| 83 | + |
| 84 | + 'setWarning' : function (warning) { |
| 85 | + var warningElt = document.getElementById( 'wpDestFile-warning' ); |
| 86 | + var ackElt = document.getElementById( 'wpDestFileWarningAck' ); |
| 87 | + this.setInnerHTML(warningElt, warning); |
| 88 | + |
| 89 | + // Set a value in the form indicating that the warning is acknowledged and |
| 90 | + // doesn't need to be redisplayed post-upload |
| 91 | + if ( warning == '' || warning == ' ' ) { |
| 92 | + ackElt.value = ''; |
| 93 | + } else { |
| 94 | + ackElt.value = '1'; |
| 95 | + } |
| 96 | + }, |
| 97 | + |
| 98 | + 'setInnerHTML' : function (element, text) { |
| 99 | + // Check for no change to avoid flicker in IE 7 |
| 100 | + if (element.innerHTML != text) { |
| 101 | + element.innerHTML = text; |
| 102 | + } |
| 103 | + } |
| 104 | +} |
| 105 | + |
| 106 | +function fillDestFilename(id) { |
| 107 | + if (!document.getElementById) { |
| 108 | + return; |
| 109 | + } |
| 110 | + var path = document.getElementById(id).value; |
| 111 | + // Find trailing part |
| 112 | + var slash = path.lastIndexOf('/'); |
| 113 | + var backslash = path.lastIndexOf('\\'); |
| 114 | + var fname; |
| 115 | + if (slash == -1 && backslash == -1) { |
| 116 | + fname = path; |
| 117 | + } else if (slash > backslash) { |
| 118 | + fname = path.substring(slash+1, 10000); |
| 119 | + } else { |
| 120 | + fname = path.substring(backslash+1, 10000); |
| 121 | + } |
| 122 | + |
| 123 | + // Capitalise first letter and replace spaces by underscores |
| 124 | + fname = fname.charAt(0).toUpperCase().concat(fname.substring(1,10000)).replace(/ /g, '_'); |
| 125 | + |
| 126 | + // Output result |
| 127 | + var destFile = document.getElementById('wpDestFile'); |
| 128 | + if (destFile) { |
| 129 | + destFile.value = fname; |
| 130 | + if ( wgAjaxUploadDestCheck ) { |
| 131 | + wgUploadWarningObj.checkNow(fname) ; |
| 132 | + } |
| 133 | + } |
| 134 | +} |
| 135 | + |
24 | 136 | addOnloadHook(licenseSelectorFixup); |
Index: branches/apiedit/phase3/skins/common/wikibits.js |
— | — | @@ -766,33 +766,6 @@ |
767 | 767 | document.getElementById(idb).checked=false; |
768 | 768 | } |
769 | 769 | |
770 | | -function fillDestFilename(id) { |
771 | | - if (!document.getElementById) { |
772 | | - return; |
773 | | - } |
774 | | - var path = document.getElementById(id).value; |
775 | | - // Find trailing part |
776 | | - var slash = path.lastIndexOf('/'); |
777 | | - var backslash = path.lastIndexOf('\\'); |
778 | | - var fname; |
779 | | - if (slash == -1 && backslash == -1) { |
780 | | - fname = path; |
781 | | - } else if (slash > backslash) { |
782 | | - fname = path.substring(slash+1, 10000); |
783 | | - } else { |
784 | | - fname = path.substring(backslash+1, 10000); |
785 | | - } |
786 | | - |
787 | | - // Capitalise first letter and replace spaces by underscores |
788 | | - fname = fname.charAt(0).toUpperCase().concat(fname.substring(1,10000)).replace(/ /g, '_'); |
789 | | - |
790 | | - // Output result |
791 | | - var destFile = document.getElementById('wpDestFile'); |
792 | | - if (destFile) { |
793 | | - destFile.value = fname; |
794 | | - } |
795 | | -} |
796 | | - |
797 | 770 | function scrollEditBox() { |
798 | 771 | var editBoxEl = document.getElementById("wpTextbox1"); |
799 | 772 | var scrollTopEl = document.getElementById("wpScrolltop"); |
Property changes on: branches/apiedit/phase3 |
___________________________________________________________________ |
Modified: svnmerge-integrated |
800 | 773 | - /trunk/phase3:1-23560 |
801 | 774 | + /trunk/phase3:1-23624 |