Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Wikipedia: Mediawiki-CVS

SVN: [24563] branches/apiedit/phase3

 

 

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded


catrope at svn

Aug 3, 2007, 5:05 AM

Post #1 of 1 (674 views)
Permalink
SVN: [24563] branches/apiedit/phase3

Revision: 24563
Author: catrope
Date: 2007-08-03 12:05:05 +0000 (Fri, 03 Aug 2007)

Log Message:
-----------
apiedit: Merging latest revisions from trunk, expect r24533

Modified Paths:
--------------
branches/apiedit/phase3/includes/Database.php
branches/apiedit/phase3/includes/DefaultSettings.php
branches/apiedit/phase3/includes/EditPage.php
branches/apiedit/phase3/includes/IP.php
branches/apiedit/phase3/includes/OutputPage.php
branches/apiedit/phase3/includes/SpecialUpload.php
branches/apiedit/phase3/includes/Title.php
branches/apiedit/phase3/includes/api/ApiQueryUserInfo.php
branches/apiedit/phase3/includes/filerepo/FileRepoStatus.php
branches/apiedit/phase3/languages/messages/MessagesEn.php
branches/apiedit/phase3/languages/messages/MessagesFr.php
branches/apiedit/phase3/languages/messages/MessagesHe.php
branches/apiedit/phase3/languages/messages/MessagesKk_cn.php
branches/apiedit/phase3/languages/messages/MessagesKk_kz.php
branches/apiedit/phase3/languages/messages/MessagesKk_tr.php
branches/apiedit/phase3/languages/messages/MessagesTh.php
branches/apiedit/phase3/languages/messages/MessagesZh_classical.php
branches/apiedit/phase3/languages/messages/MessagesZh_cn.php
branches/apiedit/phase3/languages/messages/MessagesZh_tw.php
branches/apiedit/phase3/languages/messages/MessagesZh_yue.php
branches/apiedit/phase3/maintenance/dumpTextPass.php
branches/apiedit/phase3/maintenance/language/messages.inc
branches/apiedit/phase3/skins/monobook/rtl.css

Property Changed:
----------------
branches/apiedit/phase3/


Property changes on: branches/apiedit/phase3
___________________________________________________________________
Name: svnmerge-integrated
- /trunk/phase3:1-24515
+ /trunk/phase3:1-24562

Modified: branches/apiedit/phase3/includes/Database.php
===================================================================
--- branches/apiedit/phase3/includes/Database.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/includes/Database.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -1495,6 +1495,7 @@
* (for the log)
* @param array $options An array of UPDATE options, can be one or
* more of IGNORE, LOW_PRIORITY
+ * @return bool
*/
function update( $table, $values, $conds, $fname = 'Database::update', $options = array() ) {
$table = $this->tableName( $table );
@@ -1503,7 +1504,7 @@
if ( $conds != '*' ) {
$sql .= " WHERE " . $this->makeList( $conds, LIST_AND );
}
- $this->query( $sql, $fname );
+ return $this->query( $sql, $fname );
}

/**

Modified: branches/apiedit/phase3/includes/DefaultSettings.php
===================================================================
--- branches/apiedit/phase3/includes/DefaultSettings.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/includes/DefaultSettings.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -1195,7 +1195,7 @@
* to ensure that client-side caches don't keep obsolete copies of global
* styles.
*/
-$wgStyleVersion = '94';
+$wgStyleVersion = '95';


# Server-side caching:

Modified: branches/apiedit/phase3/includes/EditPage.php
===================================================================
--- branches/apiedit/phase3/includes/EditPage.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/includes/EditPage.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -319,57 +319,35 @@
return;
}

- if ( ! $this->mTitle->userCan( 'edit' ) ) {
- wfDebug( "$fname: user can't edit\n" );
- $wgOut->readOnlyPage( $this->getContent(), true );
- wfProfileOut( $fname );
- return;
- }
- wfDebug( "$fname: Checking blocks\n" );
- if ( !$this->preview && !$this->diff && $wgUser->isBlockedFrom( $this->mTitle, !$this->save ) ) {
- # When previewing, don't check blocked state - will get caught at save time.
- # Also, check when starting edition is done against slave to improve performance.
- wfDebug( "$fname: user is blocked\n" );
- $this->blockedPage();
- wfProfileOut( $fname );
- return;
- }
- if ( !$wgUser->isAllowed('edit') ) {
- if ( $wgUser->isAnon() ) {
- wfDebug( "$fname: user must log in\n" );
- $this->userNotLoggedInPage();
- wfProfileOut( $fname );
- return;
- } else {
- wfDebug( "$fname: read-only page\n" );
- $wgOut->readOnlyPage( $this->getContent(), true );
- wfProfileOut( $fname );
- return;
+ $permErrors = $this->mTitle->getUserPermissionsErrors( 'edit', $wgUser);
+
+ # Ignore some permissions errors.
+ $remove = array();
+ foreach( $permErrors as $error ) {
+ if ($this->preview || $this->diff &&
+ ($error[0] == 'blockedtext' || $error[0] == 'autoblockedtext'))
+ {
+ // Don't worry about blocks when previewing/diffing
+ $remove[] = $error;
}
+
+ if ($error[0] == 'readonlytext')
+ {
+ if ($this->edit)
+ $this->formtype = 'preview';
+ else if ($this->save || $this->preview || $this->diff)
+ $remove[] = $error;
+ }
}
- if ($wgEmailConfirmToEdit && !$wgUser->isEmailConfirmed()) {
- wfDebug("$fname: user must confirm e-mail address\n");
- $this->userNotConfirmedPage();
- wfProfileOut($fname);
- return;
- }
- if ( !$this->mTitle->userCan( 'create' ) && !$this->mTitle->exists() ) {
- wfDebug( "$fname: no create permission\n" );
- $this->noCreatePermission();
+ # array_diff returns elements in $permErrors that are not in $remove.
+ $permErrors = array_diff( $permErrors, $remove );
+
+ if ($permErrors != array())
+ {
+ wfDebug( "$fname: User can't edit\n" );
+ $wgOut->readOnlyPage( $this->getContent(), true, $permErrors );
wfProfileOut( $fname );
return;
- }
- if ( wfReadOnly() ) {
- wfDebug( "$fname: read-only mode is engaged\n" );
- if( $this->save || $this->preview ) {
- $this->formtype = 'preview';
- } else if ( $this->diff ) {
- $this->formtype = 'diff';
- } else {
- $wgOut->readOnlyPage( $this->getContent() );
- wfProfileOut( $fname );
- return;
- }
} else {
if ( $this->save ) {
$this->formtype = 'save';

Modified: branches/apiedit/phase3/includes/IP.php
===================================================================
--- branches/apiedit/phase3/includes/IP.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/includes/IP.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -114,13 +114,14 @@
* @return string
*/
public static function sanitizeIP( $ip ) {
- if ( !$ip ) return null;
+ $ip = trim( $ip );
+ if ( $ip === '' ) return null;
// Trim and return IPv4 addresses
- if ( self::isIPv4($ip) ) return trim($ip);
+ if ( self::isIPv4($ip) ) return $ip;
// Only IPv6 addresses can be expanded
if ( !self::isIPv6($ip) ) return $ip;
// Remove any whitespaces, convert to upper case
- $ip = strtoupper( trim($ip) );
+ $ip = strtoupper( $ip );
// Expand zero abbreviations
if ( strpos( $ip, '::' ) !== false ) {
$ip = str_replace('::', str_repeat(':0', 8 - substr_count($ip, ':')) . ':', $ip);

Modified: branches/apiedit/phase3/includes/OutputPage.php
===================================================================
--- branches/apiedit/phase3/includes/OutputPage.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/includes/OutputPage.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -743,16 +743,11 @@
$this->setRobotpolicy( 'noindex,nofollow' );
$this->setArticleRelated( false );

- $id = $wgUser->blockedBy();
+ $name = User::whoIs( $wgUser->blockedBy() );
$reason = $wgUser->blockedFor();
$blockTimestamp = $wgLang->timeanddate( wfTimestamp( TS_MW, $wgUser->mBlock->mTimestamp ), true );
$ip = wfGetIP();

- if ( is_numeric( $id ) ) {
- $name = User::whoIs( $id );
- } else {
- $name = $id;
- }
$link = '[[' . $wgContLang->getNsText( NS_USER ) . ":{$name}|{$name}]]";

$blockid = $wgUser->mBlock->mId;
@@ -836,16 +831,7 @@
$this->mBodytext = '';

$this->addWikiText( wfMsg('permissionserrorstext') );
- $this->addHtml( '<ul class="permissions-errors">' . "\n" );
-
- foreach( $errors as $error )
- {
- $this->addHtml( '<li>' );
- $this->addWikiText( call_user_func_array( 'wfMsg', $error ) );
- $this->addHtml( '</li>');
- }
- $this->addHtml( '</ul>' );
-
+ $this->addWikitext( $this->formatPermissionsErrorMessage( $errors ) );
}

/** @deprecated */
@@ -964,20 +950,46 @@
}

/**
+ * @param array $errors An array returned by Title::getUserPermissionsErrors
+ * @return string The error-messages, formatted into a list.
+ */
+ public function formatPermissionsErrorMessage( $errors ) {
+ $text = '';
+
+ $text .= wfMsg('permissionserrorstext')."\n";
+ $text .= '<ul class="permissions-errors">' . "\n";
+
+ foreach( $errors as $error )
+ {
+ $text .= '<li>';
+ $text .= call_user_func_array( 'wfMsg', $error );
+ $text .= "</li>\n";
+ }
+ $text .= '</ul>';
+
+ return $text;
+ }
+
+ /**
* @todo document
* @param bool $protected Is the reason the page can't be reached because it's protected?
* @param mixed $source
*/
- public function readOnlyPage( $source = null, $protected = false ) {
+ public function readOnlyPage( $source = null, $protected = false, $reasons = array() ) {
global $wgUser, $wgReadOnlyFile, $wgReadOnly, $wgTitle;
$skin = $wgUser->getSkin();

$this->setRobotpolicy( 'noindex,nofollow' );
$this->setArticleRelated( false );

- if( $protected ) {
+ if ($reasons != array()) {
$this->setPageTitle( wfMsg( 'viewsource' ) );
$this->setSubtitle( wfMsg( 'viewsourcefor', $skin->makeKnownLinkObj( $wgTitle ) ) );
+
+ $this->addWikiText( $this->formatPermissionsErrorMessage( $reasons ) );
+ } else if( $protected ) {
+ $this->setPageTitle( wfMsg( 'viewsource' ) );
+ $this->setSubtitle( wfMsg( 'viewsourcefor', $skin->makeKnownLinkObj( $wgTitle ) ) );
list( $cascadeSources, /* $restrictions */ ) = $wgTitle->getCascadeProtectionSources();

// Show an appropriate explanation depending upon the reason

Modified: branches/apiedit/phase3/includes/SpecialUpload.php
===================================================================
--- branches/apiedit/phase3/includes/SpecialUpload.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/includes/SpecialUpload.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -668,7 +668,7 @@
* @access private
*/
function uploadWarning( $warning ) {
- global $wgOut;
+ global $wgOut, $wgContLang;
global $wgUseCopyrightUpload;

$this->mSessionKey = $this->stashSession();
@@ -686,6 +686,8 @@
$reup = wfMsgWikiHtml( 'reuploaddesc' );
$titleObj = SpecialPage::getTitleFor( 'Upload' );
$action = $titleObj->escapeLocalURL( 'action=submit' );
+ $align1 = $wgContLang->isRTL() ? 'left' : 'right';
+ $align2 = $wgContLang->isRTL() ? 'right' : 'left';

if ( $wgUseCopyrightUpload )
{
@@ -709,16 +711,16 @@
<table border='0'>
<tr>
<tr>
- <td align='right'>
+ <td align='$align1'>
<input tabindex='2' type='submit' name='wpUpload' value=\"$save\" />
</td>
- <td align='left'>$iw</td>
+ <td align='$align2'>$iw</td>
</tr>
<tr>
- <td align='right'>
+ <td align='$align1'>
<input tabindex='2' type='submit' name='wpReUpload' value=\"{$reupload}\" />
</td>
- <td align='left'>$reup</td>
+ <td align='$align2'>$reup</td>
</tr>
</tr>
</table></form>\n" );
@@ -732,7 +734,7 @@
* @access private
*/
function mainUploadForm( $msg='' ) {
- global $wgOut, $wgUser;
+ global $wgOut, $wgUser, $wgContLang;
global $wgUseCopyrightUpload, $wgUseAjax, $wgAjaxUploadDestCheck, $wgAjaxLicensePreview;
global $wgRequest, $wgAllowCopyUploads, $wgEnableAPI;
global $wgStylePath, $wgStyleVersion;
@@ -829,27 +831,29 @@
}

$encComment = htmlspecialchars( $this->mComment );
+ $align1 = $wgContLang->isRTL() ? 'left' : 'right';
+ $align2 = $wgContLang->isRTL() ? 'right' : 'left';

$wgOut->addHTML( <<<EOT
<form id='upload' method='post' enctype='multipart/form-data' action="$action">
<table border='0'>
<tr>
{$this->uploadFormTextTop}
- <td align='right' valign='top'><label for='wpUploadFile'>{$sourcefilename}:</label></td>
- <td align='left'>
+ <td align='$align1' valign='top'><label for='wpUploadFile'>{$sourcefilename}:</label></td>
+ <td align='$align2'>
{$filename_form}
</td>
</tr>
<tr>
- <td align='right'><label for='wpDestFile'>{$destfilename}:</label></td>
- <td align='left'>
+ <td align='$align1'><label for='wpDestFile'>{$destfilename}:</label></td>
+ <td align='$align2'>
<input tabindex='2' type='text' name='wpDestFile' id='wpDestFile' size='40'
value="$encDestName" $destOnkeyup />
</td>
</tr>
<tr>
- <td align='right'><label for='wpUploadDescription'>{$summary}</label></td>
- <td align='left'>
+ <td align='$align1'><label for='wpUploadDescription'>{$summary}</label></td>
+ <td align='$align2'>
<textarea tabindex='3' name='wpUploadDescription' id='wpUploadDescription' rows='6'
cols='{$cols}'{$ew}>$encComment</textarea>
{$this->uploadFormTextAfterSummary}
@@ -862,8 +866,8 @@
if ( $licenseshtml != '' ) {
global $wgStylePath;
$wgOut->addHTML( "
- <td align='right'><label for='wpLicense'>$license:</label></td>
- <td align='left'>
+ <td align='$align1'><label for='wpLicense'>$license:</label></td>
+ <td align='$align2'>
<select name='wpLicense' id='wpLicense' tabindex='4'
onchange='licenseSelectorCheck()'>
<option value=''>$nolicense</option>
@@ -888,12 +892,12 @@
$uploadsource = htmlspecialchars( $this->mCopyrightSource );

$wgOut->addHTML( "
- <td align='right' nowrap='nowrap'><label for='wpUploadCopyStatus'>$filestatus:</label></td>
+ <td align='$align1' nowrap='nowrap'><label for='wpUploadCopyStatus'>$filestatus:</label></td>
<td><input tabindex='5' type='text' name='wpUploadCopyStatus' id='wpUploadCopyStatus'
value=\"$copystatus\" size='40' /></td>
</tr>
<tr>
- <td align='right'><label for='wpUploadCopyStatus'>$filesource:</label></td>
+ <td align='$align1'><label for='wpUploadCopyStatus'>$filesource:</label></td>
<td><input tabindex='6' type='text' name='wpUploadSource' id='wpUploadCopyStatus'
value=\"$uploadsource\" size='40' /></td>
</tr>
@@ -913,11 +917,11 @@
$warningRow
<tr>
<td></td>
- <td align='left'><input tabindex='9' type='submit' name='wpUpload' value=\"{$ulb}\" /></td>
+ <td align='$align2'><input tabindex='9' type='submit' name='wpUpload' value=\"{$ulb}\" /></td>
</tr>
<tr>
<td></td>
- <td align='left'>
+ <td align='$align2'>
" );
$wgOut->addWikiText( wfMsgForContent( 'edittools' ) );
$wgOut->addHTML( "
@@ -1392,3 +1396,4 @@
}
}

+

Modified: branches/apiedit/phase3/includes/Title.php
===================================================================
--- branches/apiedit/phase3/includes/Title.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/includes/Title.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -1006,7 +1006,7 @@
}
return false;
}
-
+
/**
* Can $wgUser perform $action on this page?
* @param string $action action that permission needs to be checked for
@@ -1034,6 +1034,13 @@
$errors[] = array( 'readonlytext' );
}

+ global $wgEmailConfirmToEdit;
+
+ if ( $wgEmailConfirmToEdit && !$wgUser->isEmailConfirmed() )
+ {
+ $errors[] = array( 'confirmedittext' );
+ }
+
if ( $user->isBlockedFrom( $this ) ) {
$block = $user->mBlock;

@@ -1158,9 +1165,7 @@
( !$this->isTalkPage() && !$user->isAllowed( 'createpage' ) ) ) {
$errors[] = $user->isAnon() ? array ('nocreatetext') : array ('nocreate-loggedin');
}
- }
-
- if( $action == 'move' &&
+ } elseif( $action == 'move' &&
!( $this->isMovable() && $user->isAllowed( 'move' ) ) ) {
$errors[] = $user->isAnon() ? array ( 'movenologintext' ) : array ('movenotallowed');
} else if ( !$user->isAllowed( $action ) ) {
@@ -1168,7 +1173,7 @@
$groups = array();
global $wgGroupPermissions;
foreach( $wgGroupPermissions as $key => $value ) {
- if( isset( $value[$permission] ) && $value[$permission] == true ) {
+ if( isset( $value[$action] ) && $value[$action] == true ) {
$groupName = User::getGroupName( $key );
$groupPage = User::getGroupPage( $key );
if( $groupPage ) {

Modified: branches/apiedit/phase3/includes/api/ApiQueryUserInfo.php
===================================================================
--- branches/apiedit/phase3/includes/api/ApiQueryUserInfo.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/includes/api/ApiQueryUserInfo.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -55,8 +55,7 @@
$prop = array_flip($params['prop']);
if (isset($prop['blockinfo'])) {
if ($wgUser->isBlocked()) {
- $id = $wgUser->blockedBy();
- $vals['blockedby'] = is_numeric($id) ? User::whoIs($id) : $id;
+ $vals['blockedby'] = User::whoIs($wgUser->blockedBy());
$vals['blockreason'] = $wgUser->blockedFor();
}
}

Modified: branches/apiedit/phase3/includes/filerepo/FileRepoStatus.php
===================================================================
--- branches/apiedit/phase3/includes/filerepo/FileRepoStatus.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/includes/filerepo/FileRepoStatus.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -22,6 +22,7 @@
$result = new self( $repo );
call_user_func_array( array( &$result, 'error' ), $params );
$result->ok = false;
+ return $result;
}

static function newGood( $repo = false, $value = null ) {

Modified: branches/apiedit/phase3/languages/messages/MessagesEn.php
===================================================================
--- branches/apiedit/phase3/languages/messages/MessagesEn.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/languages/messages/MessagesEn.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -2164,7 +2164,6 @@
'allmessagesdefault' => 'Default text',
'allmessagescurrent' => 'Current text',
'allmessagestext' => 'This is a list of system messages available in the MediaWiki namespace.',
-'allmessagesnotsupportedUI' => 'Your current interface language <b>$1</b> is not supported by {{ns:special}}:Allmessages at this site.',
'allmessagesnotsupportedDB' => "'''{{ns:special}}:Allmessages''' cannot be used because '''\$wgUseDatabaseMessages''' is switched off.",
'allmessagesfilter' => 'Message name filter:',
'allmessagesmodified' => 'Show only modified',

Modified: branches/apiedit/phase3/languages/messages/MessagesFr.php
===================================================================
--- branches/apiedit/phase3/languages/messages/MessagesFr.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/languages/messages/MessagesFr.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -160,6 +160,7 @@
'category_header' => 'Pages dans la catégorie « $1 »',
'subcategories' => 'Sous-catégories',
'category-media-header' => 'Fichiers multimédia dans la catégorie « $1 »',
+'category-empty' => "''Cette catégorie ne contient aucun article, sous-catégorie ou fichier multimédia.''",

'mainpagetext' => "<big>'''MediaWiki a été installé avec succès.'''</big>",
'mainpagedocfooter' => 'Consultez le [http://meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] pour plus d’informations sur l’utilisation de ce logiciel.
@@ -184,7 +185,6 @@
'moredotdotdot' => 'Et plus...',
'mypage' => 'Page perso',
'mytalk' => 'Page de discussion',
-'mywatchlist' => 'Liste de suivi',
'anontalk' => 'Discussion avec cette adresse IP',
'navigation' => 'Navigation',

@@ -340,10 +340,13 @@
Veuillez rapporter cette erreur à un administrateur, en lui indiquant l’adresse de la page fautive.',
'readonly_lag' => 'La base de donnée a été automatiquement verrouillée pendant que les serveurs secondaires rattrapent leur retard sur le serveur principal.',
'internalerror' => 'Erreur interne',
+'internalerror_info' => 'Erreur interne : $1',
'filecopyerror' => 'Impossible de copier le fichier « $1 » vers « $2 ».',
'filerenameerror' => 'Impossible de renommer le fichier « $1 » en « $2 ».',
'filedeleteerror' => 'Impossible de supprimer le fichier « $1 ».',
+'directorycreateerror' => 'Impossible de créer le dossier « $1 ».',
'filenotfound' => 'Impossible de trouver le fichier « $1 ».',
+'fileexistserror' => 'Impossible d’écrire dans le dossier « $1 » : le fichier existe',
'unexpected' => 'Valeur inattendue : « $1 » = « $2 ».',
'formerror' => 'Erreur : Impossible de soumettre le formulaire',
'badarticleerror' => 'Cette action ne peut pas être effectuée sur cette page.',
@@ -364,8 +367,11 @@
'protectedinterface' => 'Cette page fournit du texte d’interface pour le logiciel et est protégée pour éviter les abus.',
'editinginterface' => "'''Attention :''' vous éditez une page utilisée pour créer le texte de l’interface du logiciel. Les changements se répercuteront, selon le contexte, sur toutes ou certaines pages visibles par les autres utilisateurs.",
'sqlhidden' => '(Requête SQL cachée)',
-'cascadeprotected' => 'Cette page est actuellement protégée car incluse dans {{PLURAL:$1|la page suivante|les pages suivantes}}, ayant été protégée avec l’option « protection en cascade » activée :',
-'namespaceprotected' => "Vous n’avez pas la permission de modifier les pages de l’espace de noms « '''$1''' ».",
+'cascadeprotected' => 'Cette page est actuellement protégée car incluse dans {{PLURAL:$1|la page suivante|les pages suivantes}}, ayant été protégée avec l’option « protection en cascade » activée :
+$2',
+'namespaceprotected' => "Vous n’avez pas la permission de modifier les pages de l’espace de noms « '''$1''' ».",
+'customcssjsprotected' => "Vous n’avez pas la permission d'éditer cette page parce qu’elle contient des préférences d’autres utilisateurs.",
+'ns-specialprotected' => 'Les pages dans l’espace de noms spécial ne peuvent pas être modifiées.',

# Login and logout pages
'logouttitle' => 'Déconnexion',
@@ -421,6 +427,7 @@
'nouserspecified' => 'Vous devez saisir un nom d’utilisateur.',
'wrongpassword' => 'Le mot de passe est incorrect. Veuillez essayer à nouveau.',
'wrongpasswordempty' => 'Vous n’avez pas entré de mot de passe. Veuillez essayer à nouveau.',
+'passwordtooshort' => 'Votre mot de passe est trop court. Il doit contenir au moins $1 caractères et être différent de votre nom d’utilisateur.',
'mailmypassword' => 'Envoyez-moi un nouveau mot de passe',
'passwordremindertitle' => 'Votre nouveau mot de passe sur {{SITENAME}}',
'passwordremindertext' => 'Quelqu’un (probablement vous) ayant l’adresse IP $1 a demandé à ce qu’un nouveau mot de passe vous soit envoyé pour {{SITENAME}} ($4).
@@ -499,20 +506,33 @@
Le blocage a été effectué par $1 pour la raison suivante : ''$2''.

Vous pouvez contacter $1 ou un autre [[{{MediaWiki:grouppage-sysop}}|administrateur]] pour en discuter. Vous ne pouvez utiliser la fonction « Envoyer un courriel à cet utilisateur » que si une adresse de courriel valide est spécifiée dans vos [[Special:Preferences|préférences]]. Votre adresse IP actuelle est $3 et votre identifiant de blocage est #$5. Veuillez inclure cette adresse dans toute requête.
-:Expiration du blocage : $6
-:Compte bloqué : $7.",
+* Début du blocage : $8
+* Expiration du blocage : $6
+* Compte bloqué : $7.",
'autoblockedtext' => "Votre adresse IP a été bloquée automatiquement car elle a été utilisée par un autre utilisateur, lui-même bloqué par $1.
La raison donnée est :

:''$2''

-Expiration du blocage : $6
+* Début du blocage : $8
+* Expiration du blocage : $6

Vous pouvez contacter $1 ou l’un des autres [[{{MediaWiki:grouppage-sysop}}|administrateurs]] pour discuter de ce blocage.

-Si vous avez donné une adresse e-mail valide dans vos [[Special:Preferences|préférences]], vous pouvez utiliser la fonction « Envoyer un message à cet utilisateur » pour contacter un administrateur.
+Si vous avez donné une adresse e-mail valide dans vos [[Special:Preferences|préférences]] et que son utilisation ne vous est pas interdite, vous pouvez utiliser la fonction « Envoyer un message à cet utilisateur » pour contacter un administrateur.

-Votre identifiant de blocage est $5. Veuillez le préciser dans toute requête.",
+Votre adresse IP est $3 et identifiant de blocage est #$5. Veuillez les préciser dans toute requête.",
+'blockedtext-concise' => '$7, qui correspond à votre nom d’utilisateur ou adresse IP a été bloqué par $1. La raison était $2. La date d’expiration du blocage est $6. Vous pouvez contacter $1 ou l’un des autres [[{{MediaWiki:grouppage-sysop}}|administrateurs]] pour discuter de ce blocage.
+
+Si vous avez donné une adresse e-mail valide dans vos [[Special:Preferences|préférences]] et que son utilisation ne vous est pas interdite, vous pouvez utiliser la fonction « Envoyer un message à cet utilisateur » pour contacter un administrateur.
+
+Votre adresse IP est $3 et identifiant de blocage est #$5. Veuillez les préciser dans toute requête',
+'autoblockedtext-concise' => 'Votre adresse IP a récemment été utilisée par un utilisateur bloqué. Le blocage a été effectué par $1. La raison était $2. La date d’expiration du blocage était $6.
+Vous pouvez contacter $1 ou l’un des autres [[{{MediaWiki:grouppage-sysop}}|administrateurs]] pour discuter de ce blocage.
+
+Si vous avez donné une adresse e-mail valide dans vos [[Special:Preferences|préférences]] et que son utilisation ne vous est pas interdite, vous pouvez utiliser la fonction « Envoyer un message à cet utilisateur » pour contacter un administrateur.
+
+Votre adresse IP est $3 et identifiant de blocage est #$5. Veuillez les préciser dans toute requête',
'blockedoriginalsource' => "Le code source de '''$1''' est indiqué ci-dessous :",
'blockededitsource' => "Le contenu de '''vos modifications''' apportées à '''$1''' est indiqué ci-dessous :",
'whitelistedittitle' => 'Enregistrement nécessaire pour modifier le contenu',
@@ -585,6 +605,9 @@
'edittools' => '<!-- Tout texte entré ici sera affiché sous les boîtes de modification ou d’import de fichier. -->',
'nocreatetitle' => 'Création de page limitée',
'nocreatetext' => 'Ce site a restreint la possibilité de créer de nouvelles pages. Vous pouvez revenir en arrière et modifier une page existante, [[Special:Userlogin|vous connecter ou créer un compte]].',
+'nocreate-loggedin' => 'Vous n’avez pas la permission de créer de nouvelles pages sur ce wiki.',
+'permissionserrors' => 'Erreur de permissions',
+'permissionserrorstext' => 'Vous n’avez pas la permission d’effectuer l’opération demandée pour {{PLURAL:$1|la raison suivante|les raisons suivantes}} :',
'recreate-deleted-warn' => "'''Attention : Vous êtes en train de recréer une page qui a été précédemment supprimée.'''

Demandez-vous s’il est réellement approprié de la recréer en vous référant au journal des suppressions affiché ci-dessous :",
@@ -766,15 +789,15 @@
'files' => 'Fichiers',

# User rights
-'userrights-lookup-user' => 'Gestion des droits utilisateur',
-'userrights-user-editname' => 'Entrer un nom d’utilisateur :',
-'editusergroup' => 'Modification des groupes utilisateurs',
-'userrights-editusergroup' => 'Modifier les groupes de l’utilisateur',
-'saveusergroups' => 'Sauvegarder les groupes utilisateur',
-'userrights-groupsmember' => 'Membre de :',
-'userrights-groupsavailable' => 'Groupes disponibles :',
-'userrights-groupshelp' => 'Choisissez les groupes desquels vous voulez retirer ou rajouter l’utilisateur. Les groupes non sélectionnés ne seront pas modifiés. Vous pouvez désélectionner un groupe avec CTRL + clic gauche.',
-'userrights-reason' => 'Motif du changement :',
+'userrights-lookup-user' => 'Gestion des droits utilisateur',
+'userrights-user-editname' => 'Entrer un nom d’utilisateur :',
+'editusergroup' => 'Modification des groupes utilisateurs',
+'userrights-editusergroup' => 'Modifier les groupes de l’utilisateur',
+'saveusergroups' => 'Sauvegarder les groupes utilisateur',
+'userrights-groupsmember' => 'Membre de :',
+'userrights-groupsavailable' => 'Groupes disponibles :',
+'userrights-groupshelp' => 'Choisissez les groupes desquels vous voulez retirer ou rajouter l’utilisateur. Les groupes non sélectionnés ne seront pas modifiés. Vous pouvez désélectionner un groupe avec CTRL + clic gauche.',
+'userrights-reason' => 'Motif du changement :',
'userrights-available-none' => 'Vous ne pouvez pas changer l’appartenance aux différents groupes.',
'userrights-available-add' => 'Vous pouvez ajouter des utilisateurs à $1.',
'userrights-available-remove' => 'Vous pouvez enlever des utilisateurs de $1.',
@@ -909,6 +932,7 @@

'license' => 'Licence',
'nolicense' => 'Aucune licence sélectionnée',
+'license-nopreview' => '(Prévisualisation impossible)',
'upload_source_url' => ' (une URL valide et accessible publiquement)',
'upload_source_file' => ' (un fichier sur votre ordinateur)',

@@ -925,14 +949,17 @@
'imgdelete' => 'suppr',
'imgdesc' => 'page de l’image',
'imgfile' => 'fichier',
-'imglegend' => 'Légende : (page de l’image) = afficher/modifier la description de l’image.',
-'imghistory' => 'Historique de l’image',
-'revertimg' => 'rétab',
-'deleteimg' => 'suppr',
-'deleteimgcompletely' => 'suppr',
-'imghistlegend' => 'Légende : (actu) = ceci est l’image actuelle, (suppr) = supprimer
-cette ancienne version, (rétab) = rétablir cette ancienne version.
-<br /><i>Cliquez sur la date pour voir l’image copiée à cette date</i>.',
+'filehist' => 'Historique du fichier',
+'filehist-help' => "Cliquer sur une date et une heure pour voir le fichier tel qu'il était à ce moment-l",
+'filehist-deleteall' => 'tout supprimer',
+'filehist-deleteone' => 'supprimer ceci',
+'filehist-revert' => 'révoquer',
+'filehist-current' => 'actuel',
+'filehist-datetime' => 'Date et heure',
+'filehist-user' => 'Utilisateur',
+'filehist-dimensions' => 'Dimensions',
+'filehist-filesize' => 'Taille du fichier',
+'filehist-comment' => 'Commentaire',
'imagelinks' => 'Pages contenant l’image',
'linkstoimage' => 'Les pages ci-dessous contiennent cette image :',
'nolinkstoimage' => 'Aucune page ne contient cette image.',
@@ -949,11 +976,21 @@
'imagelist_description' => 'Description',
'imagelist_search_for' => 'Recherche pour l’image nommée :',

+# File reversion
+'filerevert' => 'Révoquer $1',
+'filerevert-legend' => 'Révoquer le fichier',
+'filerevert-intro' => '<span class="plainlinks">Vous allez révoquer \'\'\'[[Media:$1|$1]]\'\'\' jusqu\'à [$4 la version du $2 à $3].</span>',
+'filerevert-comment' => 'Comment:',
+'filerevert-defaultcomment' => 'Révoqué jusqu’à la version du $1 à $2',
+'filerevert-submit' => 'Révoquer',
+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\' a été révoqué jusqu\'à [$4 la version du $2 à $3].</span>',
+'filerevert-badversion' => "Il n'y a pas de version plus ancienne du fichier avec le Timestamp donné.",
+
# MIME search
-'mimesearch' => 'Recherche par type MIME',
+'mimesearch' => 'Recherche par type MIME',
'mimesearch-summary' => 'Cette page spéciale permet de chercher des fichiers en fonction de leur type MIME. Entrée : type/sous-type, par exemple <tt>image/jpeg</tt>.',
-'mimetype' => 'Type MIME :',
-'download' => 'Téléchargement',
+'mimetype' => 'Type MIME :',
+'download' => 'Téléchargement',

# Unwatched pages
'unwatchedpages' => 'Pages non suivies',
@@ -967,7 +1004,7 @@
'unusedtemplateswlh' => 'autres liens',

# Random redirect
-'randomredirect' => 'Une page de redirection au hasard',
+'randomredirect' => 'Une page de redirection au hasard',
'randomredirect-nopages' => 'Il n’y a aucune page de redirection dans cet espace de nom.',

# Statistics
@@ -1001,7 +1038,7 @@
'brokenredirects-edit' => '(modifier)',
'brokenredirects-delete' => '(supprimer)',

-'withoutinterwiki' => 'Pages sans liens interlangues',
+'withoutinterwiki' => 'Pages sans liens interlangues',
'withoutinterwiki-header' => 'Les pages suivantes ne possèdent pas de liens vers d’autres langues :',

'fewestrevisions' => 'Articles les moins modifiés',
@@ -1034,7 +1071,7 @@
'allpages' => 'Toutes les pages',
'prefixindex' => 'Toutes les pages par premières lettres',
'randompage' => 'Une page au hasard',
-'randompage-nopages' => 'Il n’y a pas de pages dans cet espace de nom.',
+'randompage-nopages' => 'Il n’y a pas de pages dans cet espace de nom.',
'shortpages' => 'Pages courtes',
'longpages' => 'Pages longues',
'deadendpages' => 'Pages en impasse',
@@ -1126,6 +1163,7 @@

# Watchlist
'watchlist' => 'Liste de suivi',
+'mywatchlist' => 'Liste de suivi',
'watchlistfor' => "(pour l’utilisateur '''$1''')",
'nowatchlist' => 'Votre liste de suivi ne contient aucun article.',
'watchlistanontext' => 'Pour pouvoir afficher ou éditer les éléments de votre liste de suivi, vous devez vous $1.',
@@ -1164,17 +1202,17 @@
'watching' => 'Suivi...',
'unwatching' => 'Fin du suivi...',

-'enotif_mailer' => 'Système d’expédition de notification de {{SITENAME}}',
-'enotif_reset' => 'Marquer toutes les pages comme visitées',
-'enotif_newpagetext' => 'Ceci est une nouvelle page.',
-'enotif_impersonal_salutation' => 'Utilisateur de {{SITENAME}}',
-'changed' => 'modifiée',
-'created' => 'créée',
-'enotif_subject' => 'La page $PAGETITLE de {{SITENAME}} a été $CHANGEDORCREATED par $PAGEEDITOR',
-'enotif_lastvisited' => 'Consultez $1 pour tous les changements depuis votre dernière visite.',
-'enotif_lastdiff' => 'Consultez $1 pour voir cette modification.',
-'enotif_anon_editor' => 'utilisateur non-enregistré $1',
-'enotif_body' => 'Cher $WATCHINGUSERNAME,
+'enotif_mailer' => 'Système d’expédition de notification de {{SITENAME}}',
+'enotif_reset' => 'Marquer toutes les pages comme visitées',
+'enotif_newpagetext' => 'Ceci est une nouvelle page.',
+'enotif_impersonal_salutation' => 'Utilisateur de {{SITENAME}}',
+'changed' => 'modifiée',
+'created' => 'créée',
+'enotif_subject' => 'La page $PAGETITLE de {{SITENAME}} a été $CHANGEDORCREATED par $PAGEEDITOR',
+'enotif_lastvisited' => 'Consultez $1 pour tous les changements depuis votre dernière visite.',
+'enotif_lastdiff' => 'Consultez $1 pour voir cette modification.',
+'enotif_anon_editor' => 'utilisateur non-enregistré $1',
+'enotif_body' => 'Cher $WATCHINGUSERNAME,

la page de {{SITENAME}} $PAGETITLE a été $CHANGEDORCREATED le $PAGEEDITDATE par $PAGEEDITOR, voyez $PAGETITLE_URL pour la version actuelle.

@@ -1218,7 +1256,6 @@
'deletionlog' => 'journal',
'reverted' => 'Rétablissement de la version précédente',
'deletecomment' => 'Motif de la suppression',
-'imagereverted' => 'La version précédente a été rétablie.',
'rollback' => 'révoquer modifications',
'rollback_short' => 'Révoquer',
'rollbacklink' => 'révoquer',
@@ -1273,37 +1310,45 @@
'restriction-level-all' => 'Tous',

# Undelete
-'undelete' => 'Voir les pages supprimées',
-'undeletepage' => 'Voir et restaurer la page supprimée',
-'viewdeletedpage' => 'Historique de la page supprimée',
-'undeletepagetext' => 'Ces pages ont été supprimées et se trouvent dans l’archive, elles sont toujours dans la base de données et peuvent être restaurées.
+'undelete' => 'Voir les pages supprimées',
+'undeletepage' => 'Voir et restaurer la page supprimée',
+'viewdeletedpage' => 'Historique de la page supprimée',
+'undeletepagetext' => 'Ces pages ont été supprimées et se trouvent dans l’archive, elles sont toujours dans la base de données et peuvent être restaurées.
L’archive peut être effacée périodiquement.',
-'undeleteextrahelp' => "Pour restaurer toutes les versions de cette page, laissez vierges toutes les cases à cocher, puis cliquez sur '''''Procéder à la restauration'''''.<br />Pour procéder à une restauration sélective, cochez les cases correspondant aux versions qui sont à restaurer, puis cliquez sur '''''Procéder à la restauration'''''.<br />En cliquant sur le bouton '''''Réinitialiser''''', la boîte de résumé et les cases cochées seront remises à zéro.",
-'undeleterevisions' => '$1 {{PLURAL:$1|révision archivée|révisions archivées}}',
-'undeletehistory' => 'Si vous restaurez la page, toutes les révisions seront restaurées dans l’historique.
+'undeleteextrahelp' => "Pour restaurer toutes les versions de cette page, laissez vierges toutes les cases à cocher, puis cliquez sur '''''Procéder à la restauration'''''.<br />Pour procéder à une restauration sélective, cochez les cases correspondant aux versions qui sont à restaurer, puis cliquez sur '''''Procéder à la restauration'''''.<br />En cliquant sur le bouton '''''Réinitialiser''''', la boîte de résumé et les cases cochées seront remises à zéro.",
+'undeleterevisions' => '$1 {{PLURAL:$1|révision archivée|révisions archivées}}',
+'undeletehistory' => 'Si vous restaurez la page, toutes les révisions seront restaurées dans l’historique.

Si une nouvelle page avec le même nom a été créée depuis la suppression, les révisions restaurées apparaîtront dans l’historique antérieur et la version courante ne sera pas automatiquement remplacée.',
-'undeleterevdel' => "La restauration ne sera pas effectuée si, au final, la version la plus récente de la page sera partiellement supprimée. Dans ce cas, vous devez déselectionner les versions les plus récentes (en haut). Les versions des fichiers auxquelles vous n’avez pas accès ne seront pas restaurées.",
-'undeletehistorynoadmin' => 'Cet article a été supprimé. Le motif de la suppression est indiqué dans le résumé ci-dessous, avec les détails des utilisateurs qui l’ont modifié avant sa suppression. Le contenu de ces versions n’est accessible qu’aux administrateurs.',
-'undelete-revision' => 'Version supprimée de $1, le $2 :',
-'undeleterevision-missing' => 'Version invalide ou manquante. Vous avez peut-être un mauvais lien, ou la version a été restaurée ou supprimée de l’archive.',
-'undeletebtn' => 'Restaurer',
-'undeletereset' => 'Réinitialiser',
-'undeletecomment' => 'Résumé :',
-'undeletedarticle' => 'a restauré « [[$1]] »',
-'undeletedrevisions' => '$1 {{PLURAL:$1|version restaurée|versions restaurées}}',
-'undeletedrevisions-files' => '$1 {{PLURAL:$1|version|versions}} et $2 {{PLURAL:$2|fichier|fichiers}} restaurés',
-'undeletedfiles' => '$1 {{PLURAL:$1|fichier restauré|fichiers restaurés}}',
-'cannotundelete' => 'La restauration a échoué. Un autre utilisateur a probablement restauré la page avant.',
-'undeletedpage' => "<big>'''La page $1 a été restaurée.'''</big>
+'undeleterevdel' => 'La restauration ne sera pas effectuée si, au final, la version la plus récente de la page sera partiellement supprimée. Dans ce cas, vous devez déselectionner les versions les plus récentes (en haut). Les versions des fichiers auxquelles vous n’avez pas accès ne seront pas restaurées.',
+'undeletehistorynoadmin' => 'Cet article a été supprimé. Le motif de la suppression est indiqué dans le résumé ci-dessous, avec les détails des utilisateurs qui l’ont modifié avant sa suppression. Le contenu de ces versions n’est accessible qu’aux administrateurs.',
+'undelete-revision' => 'Version supprimée de $1, le $2 :',
+'undeleterevision-missing' => 'Version invalide ou manquante. Vous avez peut-être un mauvais lien, ou la version a été restaurée ou supprimée de l’archive.',
+'undeletebtn' => 'Restaurer',
+'undeletereset' => 'Réinitialiser',
+'undeletecomment' => 'Résumé :',
+'undeletedarticle' => 'a restauré « [[$1]] »',
+'undeletedrevisions' => '$1 {{PLURAL:$1|version restaurée|versions restaurées}}',
+'undeletedrevisions-files' => '$1 {{PLURAL:$1|version|versions}} et $2 {{PLURAL:$2|fichier|fichiers}} restaurés',
+'undeletedfiles' => '$1 {{PLURAL:$1|fichier restauré|fichiers restaurés}}',
+'cannotundelete' => 'La restauration a échoué. Un autre utilisateur a probablement restauré la page avant.',
+'undeletedpage' => "<big>'''La page $1 a été restaurée.'''</big>

Consultez l’[[Special:Log/delete|historique des effacements]] pour voir la liste des récents effacements et restaurations de pages.",
-'undelete-header' => 'Consultez l’[[Special:Log/delete|historique des suppressions]] pour voir les pages récemment supprimées.',
-'undelete-search-box' => 'Chercher une page supprimée',
-'undelete-search-prefix' => 'Montrer les pages commençant par :',
-'undelete-search-submit' => 'Chercher',
-'undelete-no-results' => 'Aucune page correspondant à la recherche n’a été trouvé dans les archives.',
+'undelete-header' => 'Consultez l’[[Special:Log/delete|historique des suppressions]] pour voir les pages récemment supprimées.',
+'undelete-search-box' => 'Chercher une page supprimée',
+'undelete-search-prefix' => 'Montrer les pages commençant par :',
+'undelete-search-submit' => 'Chercher',
+'undelete-no-results' => 'Aucune page correspondant à la recherche n’a été trouvé dans les archives.',
+'undelete-filename-mismatch' => 'Impossible de restaurer le fichier avec le timestamp $1 : fichier introuvable',
+'undelete-bad-store-key' => 'Impossible de restaurer le fichier avec le timestamp $1 : le fichier était absent avant la suppression.',
+'undelete-cleanup-error' => 'Erreur lors de la suppression de l’archive inutilisée « $1 ».',
+'undelete-missing-filearchive' => 'Impossible de restaurer le fichier avec l’ID $1 parce qu’il n’est pas dans la base de données. Il a peut-être déjà été restauré.',
+'undelete-error-short' => 'Erreur lors de la restauration du fichier : $1',
+'undelete-error-long' => 'Des erreurs ont été rencontrées lors de la restauration du fichier :

+$1',
+
# Namespace form on various pages
'namespace' => 'Espace de noms :',
'invert' => 'Inverser la sélection',
@@ -1311,7 +1356,7 @@
# Contributions
'contributions' => 'Contributions de cet utilisateur',
'mycontris' => 'Contributions',
-'contribsub2' => 'Liste des contributions de $1 ($2). Les pages qui ont été effacées ne sont pas affichées.',
+'contribsub2' => 'Liste des contributions de $1 ($2). Les pages qui ont été effacées ne sont pas affichées.',
'nocontribs' => 'Aucune modification correspondant à ces critères n’a été trouvée.',
'ucnote' => 'Voici les <b>$1</b> dernières modifications effectuées par cet utilisateur au cours des <b>$2</b> derniers jours.',
'uclinks' => 'Afficher les $1 dernières modifications ; afficher les $2 derniers jours.',
@@ -1333,18 +1378,18 @@
'sp-newimages-showfrom' => 'Afficher les images importées depuis le $1',

# What links here
-'whatlinkshere' => 'Pages liées',
-'notargettitle' => 'Pas de cible',
-'notargettext' => 'Indiquez une page cible ou un utilisateur cible.',
-'linklistsub' => '(Liste de liens)',
-'linkshere' => 'Les pages ci-dessous contiennent un lien vers <b>[[:$1]]</b> :',
-'nolinkshere' => 'Aucune page ne contient de lien vers <b>[[:$1]]</b>.',
-'nolinkshere-ns' => "Aucune page ne contient de lien vers '''[[:$1]]''' dans l’espace de nom choisi.",
-'isredirect' => 'page de redirection',
-'istemplate' => 'inclusion',
-'whatlinkshere-prev' => '{{PLURAL:$1|précédent|$1 précédents}}',
-'whatlinkshere-next' => '{{PLURAL:$1|suivant|$1 suivants}}',
-'whatlinkshere-links' => '← liens',
+'whatlinkshere' => 'Pages liées',
+'notargettitle' => 'Pas de cible',
+'notargettext' => 'Indiquez une page cible ou un utilisateur cible.',
+'linklistsub' => '(Liste de liens)',
+'linkshere' => 'Les pages ci-dessous contiennent un lien vers <b>[[:$1]]</b> :',
+'nolinkshere' => 'Aucune page ne contient de lien vers <b>[[:$1]]</b>.',
+'nolinkshere-ns' => "Aucune page ne contient de lien vers '''[[:$1]]''' dans l’espace de nom choisi.",
+'isredirect' => 'page de redirection',
+'istemplate' => 'inclusion',
+'whatlinkshere-prev' => '{{PLURAL:$1|précédent|$1 précédents}}',
+'whatlinkshere-next' => '{{PLURAL:$1|suivant|$1 suivants}}',
+'whatlinkshere-links' => '← liens',

# Block/unblock
'blockip' => 'Bloquer une adresse IP ou un utilisateur',
@@ -1357,11 +1402,7 @@
'ipbexpiry' => 'Durée du blocage',
'ipbreason' => 'Motif',
'ipbreasonotherlist' => 'Autre motif',
-
-// These are examples only. They can be translated but should be adjusted via [[MediaWiki:ipbreason-list]] by the local community
-// *# defines a reason group in the drow down menu
-// * defines a reason
-'ipbreason-dropdown' => '
+'ipbreason-dropdown' => '
* Motifs de blocage les plus fréquents
** Vandalisme
** Insertion d’informations fausses
@@ -1398,15 +1439,15 @@
'ipblocklist' => 'Liste des utilisateurs bloqués',
'ipblocklist-summary' => 'La liste ci-dessous montre tous les utilisateurs et adresses IP bloqués, par ordre anti-chronologique. Consulter le [[Special:Log/block|journal de blocage]] pour voir les dernières actions de blocage et déblocage effectuées.',
'ipblocklist-submit' => 'Chercher',
-'blocklistline' => '$1 (expire le $4) : $2 a bloqué $3',
+'blocklistline' => '$1 ($4) : $2 a bloqué $3',
'infiniteblock' => 'permanent',
'expiringblock' => 'expire le $1',
'anononlyblock' => 'utilisateur non enregistré uniquement',
'noautoblockblock' => 'blocage automatique désactivé',
-'createaccountblock' => 'la création de compte est bloquée.',
+'createaccountblock' => 'création de compte bloquée',
'emailblock' => 'e-mail bloqué',
-'ipblocklist-empty' => 'La liste des adresses bloquées est actuellement vide.',
-'ipblocklist-no-results' => 'L’adresse IP ou l’utilisateur n’a pas été bloqué.',
+'ipblocklist-empty' => 'La liste des adresses bloquées est actuellement vide.',
+'ipblocklist-no-results' => 'L’adresse IP ou l’utilisateur n’a pas été bloqué.',
'blocklink' => 'Bloquer',
'unblocklink' => 'débloquer',
'contribslink' => 'Contributions',
@@ -1467,13 +1508,14 @@
'movearticle' => 'Renommer l’article',
'movenologin' => 'Non connecté',
'movenologintext' => 'Pour pouvoir renommer une page, vous devez être [[Special:Userlogin|connecté]] en tant qu’utilisateur enregistré et votre compte doit avoir une ancienneté suffisante.',
+'movenotallowed' => 'Vous n’avez pas la permission de renommer des pages sur ce wiki.',
'newtitle' => 'Nouveau titre',
'move-watch' => 'Suivre cette page',
'movepagebtn' => 'Renommer l’article',
'pagemovedsub' => 'Renommage réussi',
-'movepage-moved' => "La page « $1 » <small>([[Special:Whatlinkshere/$3|liens]])</small> a été renommée en « $2 » <small>([[Special:Whatlinkshere/$4|liens]])</small>.
+'movepage-moved' => 'La page « $1 » <small>([[Special:Whatlinkshere/$3|liens]])</small> a été renommée en « $2 » <small>([[Special:Whatlinkshere/$4|liens]])</small>.

-Veuillez vérifier qu’il n’existe aucune double redirection, et corrigez celles-ci si nécessaire.",
+Veuillez vérifier qu’il n’existe aucune double redirection, et corrigez celles-ci si nécessaire.', # The two titles are passed in plain text as $3 and $4 to allow additional goodies in the message.
'articleexists' => 'Il existe déjà un article portant ce titre, ou le titre que vous avez choisi n’est pas valide. Veuillez en choisir un autre.',
'talkexists' => 'La page elle-même a été déplacée avec succès, mais la page de discussion n’a pas pu être déplacée car il en existait déjà une sous le nouveau nom. Veuillez les fusionner manuellement.',
'movedto' => 'renommé en',
@@ -1508,6 +1550,7 @@
'export-submit' => 'Exporter',
'export-addcattext' => 'Ajouter les pages de la catégorie :',
'export-addcat' => 'Ajouter',
+'export-download' => 'Permettre de sauvegarder en tant que fichier',

# Namespace 8 related
'allmessages' => 'Liste des messages système',
@@ -1515,18 +1558,17 @@
'allmessagesdefault' => 'Message par défaut',
'allmessagescurrent' => 'Message actuel',
'allmessagestext' => 'Ceci est la liste de tous les messages disponibles dans l’espace MediaWiki',
-'allmessagesnotsupportedUI' => 'Special:AllMessages n’accepte pas la langue de votre interface (<b>$1</b>) sur ce site.',
'allmessagesnotsupportedDB' => '<b>Special:Allmessages</b> n’est pas disponible car <b>$wgUseDatabaseMessages</b> est désactivé.',
'allmessagesfilter' => 'Filtre d’expression rationnelle :',
'allmessagesmodified' => 'N’afficher que les modifications',

# Thumbnails
-'thumbnail-more' => 'Agrandir',
-'missingimage' => '<b>Image manquante</b><br /><i>$1</i>',
-'filemissing' => 'Fichier absent',
-'thumbnail_error' => 'Erreur lors de la création de la miniature : $1',
-'djvu_page_error' => 'Page DjVu hors limites',
-'djvu_no_xml' => 'Impossible d’obtenir le XML pour le fichier DjVu',
+'thumbnail-more' => 'Agrandir',
+'missingimage' => '<b>Image manquante</b><br /><i>$1</i>',
+'filemissing' => 'Fichier absent',
+'thumbnail_error' => 'Erreur lors de la création de la miniature : $1',
+'djvu_page_error' => 'Page DjVu hors limites',
+'djvu_no_xml' => 'Impossible d’obtenir le XML pour le fichier DjVu',
'thumbnail_invalid_params' => 'Paramètres de la miniature invalides',
'thumbnail_dest_directory' => 'Impossible de créer le répertoire de destination',

@@ -1639,7 +1681,7 @@
'siteuser' => 'Utilisateur $1 de {{SITENAME}}',
'lastmodifiedatby' => 'Cette page a été modifiée pour la dernière fois le $1 à $2 par $3.', # $1 date, $2 time, $3 user
'and' => 'et',
-'othercontribs' => 'Contributions de cet utilisateur.', // Don't add the parameter, tendency to break. Also do not translate literally from English.
+'othercontribs' => 'Contributions de cet utilisateur.',
'others' => 'autres',
'siteusers' => 'Utilisateur(s) $1',
'creditspage' => 'Page de crédits',
@@ -1691,7 +1733,13 @@
'patrol-log-diff' => '$1',

# Image deletion
-'deletedrevision' => 'L’ancienne version $1 a été supprimée.',
+'deletedrevision' => 'L’ancienne version $1 a été supprimée.',
+'filedeleteerror-short' => 'Erreur lors de la suppression du fichier : $1',
+'filedeleteerror-long' => 'Des erreurs ont été rencontrées lors de la suppression du fichier :\n\n$1\n',
+'filedelete-missing' => 'Le fichier « $1 » ne peut pas être supprimé parce qu’il n’existe pas.',
+'filedelete-old-unregistered' => 'La révision du fichier spécifié « $1 » n’est pas dans la base de données.',
+'filedelete-current-unregistered' => 'Le fichier spécifié « $1 » n’est pas dans la base de données.',
+'filedelete-archive-read-only' => 'Le dossier d’archivage « $1 » n’est pas modifiable par le serveur.',

# Browsing diffs
'previousdiff' => '← Différence précédente',
@@ -1713,8 +1761,12 @@
'showhidebots' => '($1 bots)',
'noimages' => 'Aucune image à afficher.',

-'passwordtooshort' => 'Votre mot de passe est trop court. Il doit contenir au moins $1 caractères et être différent de votre nom d’utilisateur.',
+# Bad image list
+'bad_image_list' => "Le format est le suivant:

+Seulement les lignes commençant par une * sont prises en compte. Le premier lien de la ligne est celui vers une mauvaise image.
+Les autres liens sur la même ligne sont considérés comme des exceptions, par exemple des articles sur lesquels l'image doit apparaître.",
+
# Metadata
'metadata' => 'Métadonnées',
'metadata-help' => 'Ce fichier contient des informations supplémentaires probablement ajoutées par l’appareil photo ou le scanner qui l’a produite. Si le fichier a été modifié, certains détails peuvent ne pas refléter l’image modifiée.',
@@ -2072,7 +2124,7 @@
# Auto-summaries
'autosumm-blank' => 'Résumé automatique : blanchiment',
'autosumm-replace' => "Résumé automatique : contenu remplacé par '$1'",
-'autoredircomment' => 'Redirection vers [[$1]]', # This should be changed to the new naming convention, but existed beforehand
+'autoredircomment' => 'Redirection vers [[$1]]',
'autosumm-new' => 'Nouvelle page : $1',

# Size units
@@ -2091,7 +2143,7 @@

# Friendlier slave lag warnings
'lag-warn-normal' => 'Les modifications datant de moins de $1 secondes peuvent ne pas apparaître dans cette liste.',
-'lag-warn-high' => 'En raison d’une forte charge des bases de données, les modifications datant de moins de $1 secondes peuvent ne pas apparaître dans cette liste.',
+'lag-warn-high' => 'En raison d’une forte charge des bases de données, les modifications datant de moins de $1 secondes peuvent ne pas apparaître dans cette liste.',

# Watchlist editor
'watchlistedit-numitems' => 'Votre liste de suivi contient {{PLURAL:$1|une page|$1 pages}}, sans compter les pages de discussion',
@@ -2120,4 +2172,5 @@
'watchlisttools-edit' => 'Voir et modifier la liste de suivi',
'watchlisttools-raw' => 'Modifier la liste (mode brut)',
'watchlisttools-clear' => 'Vider la liste de suivi',
-);
\ No newline at end of file
+
+);

Modified: branches/apiedit/phase3/languages/messages/MessagesHe.php
===================================================================
--- branches/apiedit/phase3/languages/messages/MessagesHe.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/languages/messages/MessagesHe.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -417,7 +417,7 @@
'toc' => 'תוכן עניינים',
'showtoc' => 'הראה',
'hidetoc' => 'הסתר',
-'thisisdeleted' => 'שיחזור או הצגת $1?',
+'thisisdeleted' => 'שחזור או הצגת $1?',
'viewdeleted' => 'הצגת $1?',
'restorelink' => '{{plural:$1|גרסה מחוקה אחת|$1 גרסאות מחוקות}}',
'feedlinks' => 'הזנה:',
@@ -526,8 +526,11 @@
'protectedinterface' => 'דף זה הוא אחד מסדרת דפים המספקים הודעות מערכת לתוכנה, ונעול לעריכה למפעילי מערכת בלבד כדי למנוע השחתות של ההודעות.',
'editinginterface' => "'''אזהרה:''' דף זה הוא אחד מסדרת דפים המספקים הודעות מערכת לתוכנה. שינויים בדף זה ישנו את הודעת המערכת לכל המשתמשים האחרים.",
'sqlhidden' => '(שאילתת ה־SQL מוסתרת)',
-'cascadeprotected' => 'דף זה נעול לעריכה כיוון שהוא מוכלל {{plural:$1|בדף הבא, שמופעלת אצלו|בדפים הבאים, שמופעלת אצלם}} הגנה מדורגת:',
+'cascadeprotected' => 'דף זה נעול לעריכה כיוון שהוא מוכלל {{plural:$1|בדף הבא, שמופעלת אצלו|בדפים הבאים, שמופעלת אצלם}} הגנה מדורגת:
+$2',
'namespaceprotected' => "אינכם מורשים לערוך דפים במרחב השם '''$1'''.",
+'customcssjsprotected' => 'אינכם מורשים לערוך דף זה, כיוון שהוא כולל את ההגדרות האישיות של משתמש אחר.',
+'ns-specialprotected' => 'לא ניתן לערוך דפים מיוחדים.',

# Login and logout pages
'logouttitle' => 'יציאה מהחשבון',
@@ -582,6 +585,7 @@
'nouserspecified' => 'עליכם לציין שם משתמש.',
'wrongpassword' => 'הסיסמה שהקלדתם שגויה, אנא נסו שנית.',
'wrongpasswordempty' => 'הסיסמה שהקלדתם ריקה. אנא נסו שנית.',
+'passwordtooshort' => 'סיסמתכם בלתי תקינה או קצרה מדי. עליה להיות מורכבת מ־$1 תווים לפחות ושונה משם המשתמש.',
'mailmypassword' => 'שלחו לי סיסמה חדשה',
'passwordremindertitle' => 'תזכורת סיסמה מ{{grammar:תחילית|{{SITENAME}}}}',
'passwordremindertext' => 'מישהו (ככל הנראה אתם, מכתובת ה־IP מספר $1) ביקש שנשלח לכם סיסמה חדשה לכניסה לחשבון ב{{grammar:תחילית|{{SITENAME}}}} ($4). הסיסמה עבור המשתמש "$2" היא עתה "$3". עליכם להיכנס לאתר ולשנות את סיסמתכם בהקדם האפשרי. אם מישהו אחר ביקש סיסמה חדשה זו או אם נזכרתם בסיסמתכם ואינכם רוצים עוד לשנות אותה, באפשרותכם להתעלם מהודעה זו ולהמשיך להשתמש בסיסמתכם הישנה.',
@@ -651,17 +655,17 @@
'summary-preview' => 'תצוגה מקדימה של התקציר',
'subject-preview' => 'תצוגה מקדימה של הנושא/הכותרת',
'blockedtitle' => 'המשתמש חסום',
-'blockedtext' => "<big>'''שם המשתמש או כתובת ה־IP שלכם נחסמו.'''</big>
+'blockedtext' => '<big>\'\'\'שם המשתמש או כתובת ה־IP שלכם נחסמו.\'\'\'</big>

-החסימה בוצעה על־ידי \$1. הסיבה שניתנה לכך היא '''\$2'''.
+החסימה בוצעה על־ידי $1. הסיבה שניתנה לכך היא \'\'\'$2\'\'\'.

-* תחילת החסימה: \$8
-* פקיעת החסימה: \$6
-* החסימה שבוצעה: \$7
+* תחילת החסימה: $8
+* פקיעת החסימה: $6
+* החסימה שבוצעה: $7

-באפשרותכם ליצור קשר עם \$1 או עם כל אחד מ[[{{ns:project}}:מפעיל מערכת|מפעילי המערכת]] האחרים כדי לדון על החסימה.
-אינכם יכולים להשתמש בתכונת \"שלחו דואר אלקטרוני למשתמש זה\" אם לא ציינתם כתובת דוא\"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]].
-כתובת ה־IP שלכם היא \$3, ומספר החסימה שלכם הוא #\$5. אנא ציינו אחת מעובדות אלה (או את שתיהן) בכל פנייה למפעילי המערכת.",
+באפשרותכם ליצור קשר עם $1 או עם כל אחד מ[[{{ns:project}}:מפעיל מערכת|מפעילי המערכת]] האחרים כדי לדון על החסימה.
+אינכם יכולים להשתמש בתכונת "שלחו דואר אלקטרוני למשתמש זה" אם לא ציינתם כתובת דוא"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]] או אם נחסמתם משליחת דוא"ל.
+כתובת ה־IP שלכם היא $3, ומספר החסימה שלכם הוא #$5. אנא ציינו אחת מעובדות אלה (או את שתיהן) בכל פנייה למפעילי המערכת.',
'autoblockedtext' => 'כתובת ה־IP שלכם נחסמה באופן אוטומטי כיוון שמשתמש אחר, שנחסם על־ידי $1, עשה בה שימוש.
הסיבה שניתנה לחסימה היא:

@@ -671,8 +675,12 @@
* פקיעת החסימה: $6

באפשרותכם ליצור קשר עם $1 או עם כל אחד מ[[{{ns:project}}:מפעיל מערכת|מפעילי המערכת]] האחרים כדי לדון על החסימה.
-אינכם יכולים להשתמש בתכונת "שלחו דואר אלקטרוני למשתמש זה" אם לא ציינתם כתובת דוא"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]].
+אינכם יכולים להשתמש בתכונת "שלחו דואר אלקטרוני למשתמש זה" אם לא ציינתם כתובת דוא"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]] שלכם]] או אם נחסמתם משליחת דוא\\"ל.
מספר החסימה שלכם הוא #$5. אנא ציינו זאת בכל פנייה למפעילי המערכת.',
+'blockedtext-concise' => '$7, שמתאים לשם המשתמש או כתובת ה־IP שלכם, נחסם על־ידי $1. הסיבה שניתנה היא $2. החסימה תפקע ב־$6. כדי לדון על החסימה, באפשרותכם ליצור קשר עם $1, או עם מפעילי מערכת אחרים. אינכם יכולים להשתמש בתכונה "שלחו דואר אלקטרוני למשתמש זה" אם לא ציינתם כתובת דוא"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]] או אם נחסמתם משליחת דוא"ל.
+כתובת ה־IP שלכם היא $3, ומספר החסימה שלכם הוא #$5. אנא ציינו אחת מעובדות אלה (או את שתיהן) בכל פנייה למפעילי המערכת.',
+'autoblockedtext-concise' => 'כתובת ה־IP שלכם נחסמה בגלל שמשתמש שנחסם השתמש בה לאחרונה. החסימה בוצעה על־ידי $1. הסיבה שניתנה היא $2. החסימה תפקע ב־$6. כדי לדון על החסימה, באפשרותכם ליצור קשר עם $1, או עם מפעילי מערכת אחרים. אינכם יכולים להשתמש בתכונה "שלחו דואר אלקטרוני למשתמש זה" אם לא ציינתם כתובת דוא"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]] או אם נחסמתם משליחת דוא"ל.
+כתובת ה־IP שלכם היא $3, ומספר החסימה שלכם הוא #$5. אנא ציינו אחת מעובדות אלה (או את שתיהן) בכל פנייה למפעילי המערכת.',
'blockedoriginalsource' => "טקסט המקור של '''$1''' מוצג למטה:",
'blockededitsource' => "הטקסט של '''העריכות שלך''' לדף '''$1''' מוצג למטה:",
'whitelistedittitle' => 'כניסה לחשבון נדרשת לעריכה',
@@ -756,6 +764,9 @@
'edittools' => '<!-- הטקסט הנכתב כאן יוצג מתחת לטפסי עריכת דפים והעלאת קבצים, ולפיכך ניתן לכתוב להציג בו תווים קשים לכתיבה, קטעים מוכנים של טקסט ועוד. -->',
'nocreatetitle' => 'יצירת הדפים הוגבלה',
'nocreatetext' => 'אתר זה מגביל את האפשרות ליצור דפים חדשים. באפשרותכם לחזור אחורה ולערוך דף קיים, או [[{{ns:special}}:Userlogin|להיכנס לחשבון]].',
+'nocreate-loggedin' => 'אינכם מורשים ליצור דפים חדשים באתר זה.',
+'permissionserrors' => 'שגיאות הרשאה',
+'permissionserrorstext' => 'אינכם מורשים לבצע פעולה זו, {{PLURAL:$1|מהסיבה הבאה|מהסיבות הבאות}}:',
'recreate-deleted-warn' => "'''אזהרה: אתם יוצרים דף שנמחק בעבר.'''

אנא שיקלו האם זה נכון להמשיך לערוך את הדף.
@@ -1668,6 +1679,7 @@
'movearticle' => 'העבר דף:',
'movenologin' => 'לא נכנסתם לאתר',
'movenologintext' => 'עליכם [[{{ns:special}}:Userlogin|להיכנס לחשבון]] כדי להעביר דפים.',
+'movenotallowed' => 'אינכם מורשים להעביר דפים באתר זה.',
'newtitle' => 'לשם החדש:',
'move-watch' => 'מעקב אחרי דף זה',
'movepagebtn' => 'העבר דף',
@@ -1717,7 +1729,6 @@
'allmessagestext' => 'זוהי רשימת כל הודעות המערכת שבמרחב השם {{ns:mediawiki}}, המשמשים את ממשק האתר.

מפעילי המערכת יכולים לערוך את ההודעות בלחיצה על שם ההודעה.',
-'allmessagesnotsupportedUI' => "שפת הממשק הנוכחית שלכם, '''$1''', אינה נתמכת על־ידי הדף באתר זה.",
'allmessagesnotsupportedDB' => 'לא ניתן להשתמש בדף זה כיוון ש־wgUseDatabseMessages מבוטל.',
'allmessagesfilter' => 'מסנן שמות ההודעות:',
'allmessagesmodified' => 'רק הודעות ששונו',
@@ -1925,8 +1936,12 @@
'showhidebots' => '($1 בוטים)',
'noimages' => 'אין תמונות.',

-'passwordtooshort' => 'סיסמתכם בלתי תקינה או קצרה מדי. עליה להיות מורכבת מ־$1 תווים לפחות ושונה משם המשתמש.',
+# Bad image list
+'bad_image_list' => 'דרך הכתיבה בהודעה היא כמתואר להלן:

+רק פריטי רשימה (שורות המתחילות עם *) נחשבים. הקישור הראשון בשורה חייב להיות קישור לתמונה שאין להציג.
+כל הקישורים הבאים באותה השורה נחשבים לחריגים, כלומר לדפים שבהם ניתן להציג את התמונה.',
+
# Metadata
'metadata' => 'מידע נוסף על התמונה',
'metadata-help' => 'קובץ זה מכיל מידע נוסף, שיש להניח שהגיע ממצלמה דיגיטלית או מסורק בו התמונה נוצרה או עברה דיגיטציה. אם הקובץ שונה ממצבו הראשוני, כמה מהנתונים להלן עלולים שלא לשקף באופן מלא את מצב התמונה החדש.',

Modified: branches/apiedit/phase3/languages/messages/MessagesKk_cn.php
===================================================================
--- branches/apiedit/phase3/languages/messages/MessagesKk_cn.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/languages/messages/MessagesKk_cn.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -825,8 +825,9 @@

بۇعاتتاۋدى $1 ٸستەگەن. كەلتٸرٸلگەن سەبەبٸ: ''$2''.

-بۇعاتتاۋ بٸتەتٸن مەزگٸلٸ: $6<br />
-ماقساتتالعان مەرزٸمٸ: $7
+* بۇعاتتاۋ باستالعانى: $8
+* بۇعاتتاۋ بٸتەتٸنٸ: $6
+* بۇعاتتاۋ ماقساتى: $7

وسى بۇعاتتاۋدى تالقىلاۋ ٷشٸن $1 دەگەنمەن, نە باسقا [[{{{{ns:mediawiki}}:grouppage-sysop}}|ٵكٸمشٸمەن]] قاتىناسۋىڭىزعا بولادى.
[[{{ns:special}}:Preferences|تٸركەلگٸ باپتاۋلارىن]] قولدانىپ جارامدى ە-پوشتا جايىن ەنگٸزگەنشە دەيٸن جٵنە بۇنى پايدالانۋى
@@ -837,7 +838,8 @@

:''$2''

-بۇعاتتاۋ بٸتەتٸن مەزگٸلٸ: $6
+* بۇعاتتاۋ باستالعانى: $8
+* بۇعاتتاۋ بٸتەتٸنٸ: $6

وسى بۇعاتتاۋدى تالقىلاۋ ٷشٸن $1 دەگەنمەن,
نە باسقا [[{{{{ns:mediawiki}}:grouppage-sysop}}|ٵكٸمشٸمەن]] قاتىناسۋىڭىزعا بولادى.
@@ -1110,8 +1112,8 @@
'prefs-personal' => 'جەكە دەرەكتەرٸ',
'prefs-rc' => 'جۋىقتاعى ٶزگەرٸستەر',
'prefs-watchlist' => 'باقىلاۋ',
-'prefs-watchlist-days' => 'باقىلاۋ تٸزٸمٸندە كٶرسەتەرٸن كٷن سانى:',
-'prefs-watchlist-edits' => 'كەڭەيتٸلگەن باقىلاۋ تٸزٸمٸ تٷزەتۋ كٶرسەتەرٸن سانى:',
+'prefs-watchlist-days' => 'باقىلاۋ تٸزٸمٸندە كٶرسەتەرٸن ەڭ كٶپ كٷندەرٸ:',
+'prefs-watchlist-edits' => 'كەڭەيتٸلگەن باقىلاۋ تٸزٸمٸندە كٶرسەتەرٸن ەڭ كٶپ تٷزەتۋلەرٸ:',
'prefs-misc' => 'قوسىمشا',
'saveprefs' => 'ساقتا',
'resetprefs' => 'تاستا',
@@ -1332,11 +1334,11 @@
# File reversion
'filerevert' => '$1 دەگەندٸ قايتارۋ',
'filerevert-legend' => 'فايلدى قايتارۋ',
-'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' دەگەندٸ [$2 كەزٸندەگٸ $3 نۇسقاسىنا] قايتاردىڭىز.</span>',
+'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' دەگەندٸ [$4, $2 كەزٸندەگٸ $3 نۇسقاسىنا] قايتاردىڭىز.</span>',
'filerevert-comment' => 'مٵندەمەسٸ:',
-'filerevert-defaultcomment' => '$1 كەزٸندەگٸ نۇسقاسىنا قايتاردى',
+'filerevert-defaultcomment' => '$1, $2 كەزٸندەگٸ نۇسقاسىنا قايتاردى',
'filerevert-submit' => 'قايتارۋ',
-'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' دەگەن [$2 كەزٸندەگٸ $3 نۇسقاسىنا] قايتارىلدى.</span>',
+'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' دەگەن [$4, $2 كەزٸندەگٸ $3 نۇسقاسىنا] قايتارىلدى.</span>',
'filerevert-badversion' => 'كەلتٸرٸلگەن ۋاقىت بەلگٸسٸمەن بۇل فايلدىڭ الدىڭعى جەرگٸلٸكتٸ نۇسقاسى جوق.',

# MIME search
@@ -1488,6 +1490,7 @@
'allpagessubmit' => 'ٶتۋ',
'allpagesprefix' => 'مىنادان باستالعان بەتتەردٸ كٶرسەتۋ:',
'allpagesbadtitle' => 'الىنعان بەت اتاۋى جارامسىز بولعان, نەمەسە تٸل-ارالىق نە ۋيكي-ارالىق باستاۋى بار بولدى. اتاۋدا قولدانۋعا بولمايتىن نىشاندار بولۋى مٷمكٸن.',
+'allpages-bad-ns' => '{{SITENAME}} جوباسىندا «$1» ەسٸم اياسى جوق.',

# Special:Listusers
'listusersfrom' => 'مىنا قاتىسۋشىدان باستاپ كٶرسەتۋ:',
@@ -2227,6 +2230,12 @@
'showhidebots' => '(بوتتاردى $1)',
'noimages' => 'كٶرەتٸن ەشتەڭە جوق.',

+# Bad image list
+'bad_image_list' => 'پٸشٸمٸ تٶمەندەگٸدەي:
+
+تەك تٸزٸم دانالارى (* نىشانىمەن باستالىتىن جولدار) ەسەپتەلەدٸ. جولدىڭ بٸرٸنشٸ سٸلتەمەسٸ جارامسىز سۋرەتكە سٸلتەۋ قاجەت.
+سول جولداعى كەيٸنگٸ ٵربٸر سٸلتەمەلەر ەرەن بولىپ ەسەپتەلەدٸ, مىسالى جول ٸشٸندەگٸ كەزدەسەتٸن سۋرەتٸ بار ماقالالار.',
+
# Variants for Kazakh language
'variantname-kk-tr' => 'Latın',
'variantname-kk-kz' => 'Кирил',

Modified: branches/apiedit/phase3/languages/messages/MessagesKk_kz.php
===================================================================
--- branches/apiedit/phase3/languages/messages/MessagesKk_kz.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/languages/messages/MessagesKk_kz.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -817,8 +817,9 @@

Бұғаттауды $1 істеген. Келтірілген себебі: ''$2''.

-Бұғаттау бітетін мезгілі: $6<br />
-Мақсатталған мерзімі: $7
+* Бұғаттау басталғаны: $8
+* Бұғаттау бітетіні: $6
+* Бұғаттау мақсаты: $7

Осы бұғаттауды талқылау үшін $1 дегенмен, не басқа [[{{{{ns:mediawiki}}:grouppage-sysop}}|әкімшімен]] қатынасуыңызға болады.
[[{{ns:special}}:Preferences|Тіркелгі баптауларын]] қолданып жарамды е-пошта жайын енгізгенше дейін және бұны пайдалануы
@@ -829,7 +830,8 @@

:''$2''

-Бұғаттау бітетін мезгілі: $6
+* Бұғаттау басталғаны: $8
+* Бұғаттау бітетіні: $6

Осы бұғаттауды талқылау үшін $1 дегенмен,
не басқа [[{{{{ns:mediawiki}}:grouppage-sysop}}|әкімшімен]] қатынасуыңызға болады.
@@ -1102,8 +1104,8 @@
'prefs-personal' => 'Жеке деректері',
'prefs-rc' => 'Жуықтағы өзгерістер',
'prefs-watchlist' => 'Бақылау',
-'prefs-watchlist-days' => 'Бақылау тізімінде көрсетерін күн саны:',
-'prefs-watchlist-edits' => 'Кеңейтілген бақылау тізімі түзету көрсетерін саны:',
+'prefs-watchlist-days' => 'Бақылау тізімінде көрсетерін ең көп күндері:',
+'prefs-watchlist-edits' => 'Кеңейтілген бақылау тізімінде көрсетерін ең көп түзетулері:',
'prefs-misc' => 'Қосымша',
'saveprefs' => 'Сақта',
'resetprefs' => 'Таста',
@@ -1324,11 +1326,11 @@
# File reversion
'filerevert' => '$1 дегенді қайтару',
'filerevert-legend' => 'Файлды қайтару',
-'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' дегенді [$2 кезіндегі $3 нұсқасына] қайтардыңыз.</span>',
+'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' дегенді [$4, $2 кезіндегі $3 нұсқасына] қайтардыңыз.</span>',
'filerevert-comment' => 'Мәндемесі:',
-'filerevert-defaultcomment' => '$1 кезіндегі нұсқасына қайтарды',
+'filerevert-defaultcomment' => '$1, $2 кезіндегі нұсқасына қайтарды',
'filerevert-submit' => 'Қайтару',
-'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' деген [$2 кезіндегі $3 нұсқасына] қайтарылды.</span>',
+'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' деген [$4, $2 кезіндегі $3 нұсқасына] қайтарылды.</span>',
'filerevert-badversion' => 'Келтірілген уақыт белгісімен бұл файлдың алдыңғы жергілікті нұсқасы жоқ.',

# MIME search
@@ -1480,6 +1482,7 @@
'allpagessubmit' => 'Өту',
'allpagesprefix' => 'Мынадан басталған беттерді көрсету:',
'allpagesbadtitle' => 'Алынған бет атауы жарамсыз болған, немесе тіл-аралық не уики-аралық бастауы бар болды. Атауда қолдануға болмайтын нышандар болуы мүмкін.',
+'allpages-bad-ns' => '{{SITENAME}} жобасында «$1» есім аясы жоқ.',

# Special:Listusers
'listusersfrom' => 'Мына қатысушыдан бастап көрсету:',
@@ -2219,6 +2222,12 @@
'showhidebots' => '(боттарды $1)',
'noimages' => 'Көретін ештеңе жоқ.',

+# Bad image list
+'bad_image_list' => 'Пішімі төмендегідей:
+
+Тек тізім даналары (* нышанымен басталытын жолдар) есептеледі. Жолдың бірінші сілтемесі жарамсыз суретке сілтеу қажет.
+Сол жолдағы кейінгі әрбір сілтемелер ерен болып есептеледі, мысалы жол ішіндегі кездесетін суреті бар мақалалар.',
+
# Variants for Kazakh language
'variantname-kk-tr' => 'Latın',
'variantname-kk-kz' => 'Кирил',

Modified: branches/apiedit/phase3/languages/messages/MessagesKk_tr.php
===================================================================
--- branches/apiedit/phase3/languages/messages/MessagesKk_tr.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/languages/messages/MessagesKk_tr.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -818,8 +818,9 @@

Buğattawdı $1 istegen. Keltirilgen sebebi: ''$2''.

-Buğattaw bitetin mezgili: $6<br />
-Maqsattalğan merzimi: $7
+* Buğattaw bastalğanı: $8
+* Buğattaw bitetini: $6
+* Buğattaw maqsatı: $7

Osı buğattawdı talqılaw üşin $1 degenmen, ne basqa [[{{{{ns:mediawiki}}:grouppage-sysop}}|äkimşimen]] qatınaswıñızğa boladı.
[[{{ns:special}}:Preferences|Tirkelgi baptawların]] qoldanıp jaramdı e-poşta jaýın engizgenşe deýin jäne bunı paýdalanwı
@@ -830,7 +831,8 @@

:''$2''

-Buğattaw bitetin mezgili: $6
+* Buğattaw bastalğanı: $8
+* Buğattaw bitetini: $6

Osı buğattawdı talqılaw üşin $1 degenmen,
ne basqa [[{{{{ns:mediawiki}}:grouppage-sysop}}|äkimşimen]] qatınaswıñızğa boladı.
@@ -1103,8 +1105,8 @@
'prefs-personal' => 'Jeke derekteri',
'prefs-rc' => 'Jwıqtağı özgerister',
'prefs-watchlist' => 'Baqılaw',
-'prefs-watchlist-days' => 'Baqılaw tiziminde körseterin kün sanı:',
-'prefs-watchlist-edits' => 'Keñeýtilgen baqılaw tizimi tüzetw körseterin sanı:',
+'prefs-watchlist-days' => 'Baqılaw tiziminde körseterin eñ köp künderi:',
+'prefs-watchlist-edits' => 'Keñeýtilgen baqılaw tiziminde körseterin eñ köp tüzetwleri:',
'prefs-misc' => 'Qosımşa',
'saveprefs' => 'Saqta',
'resetprefs' => 'Tasta',
@@ -1325,11 +1327,11 @@
# File reversion
'filerevert' => '$1 degendi qaýtarw',
'filerevert-legend' => 'Faýldı qaýtarw',
-'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' degendi [$2 kezindegi $3 nusqasına] qaýtardıñız.</span>',
+'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' degendi [$4, $2 kezindegi $3 nusqasına] qaýtardıñız.</span>',
'filerevert-comment' => 'Mändemesi:',
-'filerevert-defaultcomment' => '$1 kezindegi nusqasına qaýtardı',
+'filerevert-defaultcomment' => '$1, $2 kezindegi nusqasına qaýtardı',
'filerevert-submit' => 'Qaýtarw',
-'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' degen [$2 kezindegi $3 nusqasına] qaýtarıldı.</span>',
+'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' degen [$4, $2 kezindegi $3 nusqasına] qaýtarıldı.</span>',
'filerevert-badversion' => 'Keltirilgen waqıt belgisimen bul faýldıñ aldıñğı jergilikti nusqası joq.',

# MIME search
@@ -1481,6 +1483,7 @@
'allpagessubmit' => 'Ötw',
'allpagesprefix' => 'Mınadan bastalğan betterdi körsetw:',
'allpagesbadtitle' => 'Alınğan bet atawı jaramsız bolğan, nemese til-aralıq ne wïkï-aralıq bastawı bar boldı. Atawda qoldanwğa bolmaýtın nışandar bolwı mümkin.',
+'allpages-bad-ns' => '{{SITENAME}} jobasında «$1» esim ayası joq.',

# Special:Listusers
'listusersfrom' => 'Mına qatıswşıdan bastap körsetw:',
@@ -2220,6 +2223,12 @@
'showhidebots' => '(bottardı $1)',
'noimages' => 'Köretin eşteñe joq.',

+# Bad image list
+'bad_image_list' => 'Pişimi tömendegideý:
+
+Tek tizim danaları (* nışanımen bastalıtın joldar) esepteledi. Joldıñ birinşi siltemesi jaramsız swretke siltew qajet.
+Sol joldağı keýingi ärbir siltemeler eren bolıp esepteledi, mısalı jol işindegi kezdesetin swreti bar maqalalar.',
+
# Variants for Kazakh language
'variantname-kk-tr' => 'Latın',
'variantname-kk-kz' => 'Кирил',

Modified: branches/apiedit/phase3/languages/messages/MessagesTh.php
===================================================================
--- branches/apiedit/phase3/languages/messages/MessagesTh.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/languages/messages/MessagesTh.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -137,6 +137,7 @@
'category_header' => 'เนื้อหาในหมวดหมู่ "$1"',
'subcategories' => 'หมวดหมู่ย่อย',
'category-media-header' => 'สื่อในหมวดหมู่ "$1"',
+'category-empty' => "''หมวดหมู่นี้ว่าง ไม่มีบทความใดอยู่''",

'mainpagetext' => "<big>'''ซอฟต์แวร์มีเดียวิกิได้ถูกติดตั้งเรียบร้อย'''</big>",
'mainpagedocfooter' => 'ศึกษา[http://meta.wikimedia.org/wiki/Help:Contents คู่มือการใช้งาน] สำหรับเริ่มต้นใช้งานซอฟต์แวร์วิกิ
@@ -323,10 +324,13 @@
ให้ติดต่อผู้ดูแลระบบ และจดรายละเอียดเกี่ยวกับยูอาร์แอลนั้น',
'readonly_lag' => 'ฐานข้อมูลถูกล็อกอัตโนมัติขณะที่เซิร์ฟเวอร์ฐานข้อมูลรองกำลังปรับปรุงตามฐานข้อมูลหลัก',
'internalerror' => 'เกิดความผิดพลาดภายใน',
+'internalerror_info' => 'เกิดความผิดพลาดภายใน: $1',
'filecopyerror' => 'ไม่สามารถคัดลอกไฟล์ "$1" ไปที่ "$2"',
'filerenameerror' => 'ไม่สามารถเปลี่ยนชื่อไฟล์ "$1" เป็น "$2"',
'filedeleteerror' => 'ไม่สามารถลบไฟล์ "$1"',
+'directorycreateerror' => 'ไม่สามารถสร้างไดเรกทอรี "$1"',
'filenotfound' => 'ไม่พบไฟล์ "$1"',
+'fileexistserror' => 'ไม่สามารถเขียนไฟล์ "$1"ได้: มีไฟล์แล้ว',
'unexpected' => 'เกิดค่าที่ไม่คาด: "$1"="$2"',
'formerror' => 'ปัญหา: ไม่สามารถส่งฟอร์มได้',
'badarticleerror' => 'การกระทำนี้ไม่สามารถดำเนินการในหน้านี้ได้',
@@ -337,15 +341,18 @@
'perfcached' => 'ข้อมูลต่อไปนี้เป็นแคชและอาจจะไม่ใช่ข้อมูลล่าสุด',
'perfcachedts' => 'ข้อมูลต่อไปนี้ถูกแคชและปรับปรุงล่าสุดเมื่อ $1',
'querypage-no-updates' => 'ขณะนี้การปรับปรุงหน้านี้ถูกระงับ ข้อมูลในที่นี่จะไม่รีเฟรชเป็นข้อมูลปัจจุบัน',
+'wrong_wfQuery_params' => 'พารามิเตอร์ไม่ถูกต้อง สำหรับ wfQuery()<br />
+ฟังก์ชัน: $1<br />
+คิวรี: $2',
'viewsource' => 'ดูโค้ด',
'viewsourcefor' => 'สำหรับ $1',
'protectedpagetext' => 'หน้านี้ถูกล็อกป้องกันการแก้ไข',
-'namespaceprotected' => "คุณไม่มีสิทธิในการแก้ไขหน้าในส่วนเนมสเปซชื่อ '''$1'''",
'viewsourcetext' => 'โค้ดหน้านี้าสามารถดูและนำไปคัดลอกได้:',
'protectedinterface' => 'หน้านี้เป็นข้อความที่ใช้แสดงหน้าตาของซอฟต์แวร์ ถูกล็อกห้ามแก้ไขเพื่อป้องกันการก่อกวน',
'editinginterface' => "'''คำเตือน:''' คุณกำลังแก้ไขข้อความที่เป็นส่วนหน้าตาของซอฟต์แวร์ การแก้ไขหน้านี้จะมีผลต่อผู้ใช้ทุกคน",
'sqlhidden' => '(SQL query hidden)',
'cascadeprotected' => 'หน้านี้ถูกห้ามแก้ไขเนื่องจากมันเป็นส่วนหนึ่งหน้าต่อไปนี้ $1 ซึ่งถูกป้องกันตามการตั้งค่า แคสเคด ที่เปิดใช้งาน',
+'namespaceprotected' => "คุณไม่มีสิทธิในการแก้ไขหน้าในส่วนเนมสเปซชื่อ '''$1'''",

# Login and logout pages
'logouttitle' => 'ผู้ใช้งานล็อกเอาต์',
@@ -401,6 +408,7 @@
'nouserspecified' => 'คุณต้องระบุชื่อผู้ใช้',
'wrongpassword' => 'รหัสผ่านที่ใส่ไม่ถูกต้อง กรุณาลองอีกครั้ง',
'wrongpasswordempty' => 'รหัสผ่านไม่ได้ใส่ กรุณาลองอีกครั้ง',
+'passwordtooshort' => 'รหัสผ่านไม่ถูกต้องหรือสั้นเกินไป โดยต้องมีอย่างน้อย $1 ตัวอักษรและแตกต่างจากชื่อผู้ใช้',
'mailmypassword' => 'ลืมรหัส ส่งให้ใหม่ทางอีเมล',
'passwordremindertitle' => 'คำบอกรหัสผ่านจาก {{SITENAME}}',
'passwordremindertext' => 'ใครบางคน (ซึ่งอาจจะเป็นคุณจากหมายเลขไอพี $1)
@@ -908,6 +916,7 @@

'license' => 'ลิขสิทธิ์',
'nolicense' => 'ไม่ได้เลือก',
+'license-nopreview' => '(ไม่สามารถแสดงผลได้)',
'upload_source_url' => ' (ค่าถูกต้อง ยูอาร์แอลที่ใช้งานได้)',
'upload_source_file' => ' (ไฟล์จากคอมพิวเตอร์คุณ)',

@@ -924,6 +933,17 @@
'imgdelete' => 'ลบ',
'imgdesc' => 'อธิบาย',
'imgfile' => 'ไฟล์',
+'filehist' => 'ประวัติไฟล์',
+'filehist-help' => 'กดเลือก วัน/เวลา เพื่อดูไฟล์ที่แสดงในวันนั้น',
+'filehist-deleteall' => 'ลบทั้งหมด',
+'filehist-deleteone' => 'ลบตรงนี้',
+'filehist-revert' => 'ย้อน',
+'filehist-current' => 'ปัจจุบัน',
+'filehist-datetime' => 'วันที่/เวลา',
+'filehist-user' => 'ผู้ใช้',
+'filehist-dimensions' => 'ขนาด',
+'filehist-filesize' => 'ขนาดไฟล์',
+'filehist-comment' => 'ความเห็น',
'imagelinks' => 'หน้าที่ใช้ภาพนี้',
'linkstoimage' => 'หน้าที่ใช้ภาพนี้:',
'nolinkstoimage' => 'ไม่มีหน้าที่ใช้ภาพนี้',
@@ -940,6 +960,16 @@
'imagelist_description' => 'คำอธิบารย',
'imagelist_search_for' => 'ค้นหาชื่อภาพ:',

+# File reversion
+'filerevert' => 'ย้อน $1',
+'filerevert-legend' => 'ย้อนไฟล์กลับ',
+'filerevert-intro' => '<span class="plainlinks">คุณกำลังย้อนไฟล์ \'\'\'[[Media:$1|$1]]\'\'\' ไปยัง [รุ่น $4 วันที่ $2, $3]</span>',
+'filerevert-comment' => 'ความเห็น:',
+'filerevert-defaultcomment' => 'ย้อนไปรุ่น $1, $2',
+'filerevert-submit' => 'ย้อน',
+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\' ถูกย้อนไปยัง [รุ่น $4 วันที่ $2, $3]</span>',
+'filerevert-badversion' => 'ไม่มีรุ่นก่อนหน้าของไฟล์นี้ในเวลาที่กำหนดไว้',
+
# MIME search
'mimesearch' => 'ค้นหาตามชนิดไมม์',
'mimesearch-summary' => 'หน้านี้แสดงไฟล์ตามการแบ่งของชนิดไมม์ (MIME) ของแต่ละไฟล์ ใส่ค่า: contenttype/subtype เช่น <tt>image/jpeg</tt>.',
@@ -1258,34 +1288,42 @@
'restriction-level-all' => 'ระดับ',

# Undelete
-'undelete' => 'หน้าที่ถูกลบ',
-'undeletepage' => 'ดูและเรียกคืนหน้าที่ถูกลบ',
-'viewdeletedpage' => 'หน้าที่ถูกลบ',
-'undeletepagetext' => 'หน้าต่อไปนี้ถูกลบไปแต่ยังคงอยู่ในกรุที่สามารถเรียกคืนได้ (กรุข้อมูลอาจจะถูกลบเป็นระยะ)',
-'undeleteextrahelp' => "ถ้าต้องการเรียกคืนทั้งหมด ให้กดปุ่ม '''''เรียกคืน'''''โดยไม่ต้องเลือกช่องใดช่องหนึ่ง ถ้าต้องการเรียกคืนประวัติเฉพาะส่วนใดส่วนหนึ่งให้เลือกเฉพาะส่วนที่ต้องการ แล้วกด'''''เรียกคืน''''' ถ้ากด '''''ตั้งค่าใหม่''''' จะยกเลิกการเลือกใหม่",
-'undeleterevisions' => '$1 รุ่นการแก้ไขถูกเก็บไว้',
-'undeletehistory' => 'ถ้าเรียกคืนหน้าใด ประวัติการแก้ไขจะถูกเรียกคืนกลับมาหมด ซึ่งถ้ามีหน้าใหม่ถูกสร้างคืนหลังจากนั้น ประวัติหน้าจะถูกเรียกมารวม ซึ่งประวัติหน้าจะไม่ถูกแทนที่',
-'undeleterevdel' => 'จะเรียกคืนไม่ได้ถ้ารุ่นในส่วนที่ใหม่ถูกลบไปบางส่วน ถ้าเกิดขึ้นในกรณีนี้ ต้องกดแสดงในส่วนใหม่ก่อน',
-'undeletehistorynoadmin' => 'หน้านี้ถูกลบก่อนหน้านี้ โดยสาเหตุการลบและรายชื่อผู้ร่วมแก้ไขก่อนหน้าแสดงผลด้านล่าง สำหรับข้อมูลที่ถูกลบจะดูได้เฉพาะผู้ดูแลระบบ',
-'undelete-revision' => 'รุ่นที่ถูกลบของ $1 จาก $2:',
-'undeleterevision-missing' => 'รุ่นที่ต้องการดูไม่มี ข้อมูลอาจจะโดนลบ',
-'undeletebtn' => 'เรียกคืน',
-'undeletereset' => 'ตั้งค่าใหม่',
-'undeletecomment' => 'ความเห็น:',
-'undeletedarticle' => 'เรียกคืน "[[$1]]"',
-'undeletedrevisions' => '$1 รุ่นการแก้ไขถูกเรียกคืน',
-'undeletedrevisions-files' => '$1 รุ่นการแก้ไข และ $2 ไฟล์ถูกเรียกคืน',
-'undeletedfiles' => '$1 ไฟล์ถูกเรียกคืน',
-'cannotundelete' => 'เรียกคืนไม่สำเร็จ อาจมีใครบางคนเรียกคืนหน้านั้นแล้ว',
-'undeletedpage' => "<big>'''$1 ถูกเรียกคืน'''</big>
+'undelete' => 'หน้าที่ถูกลบ',
+'undeletepage' => 'ดูและเรียกคืนหน้าที่ถูกลบ',
+'viewdeletedpage' => 'หน้าที่ถูกลบ',
+'undeletepagetext' => 'หน้าต่อไปนี้ถูกลบไปแต่ยังคงอยู่ในกรุที่สามารถเรียกคืนได้ (กรุข้อมูลอาจจะถูกลบเป็นระยะ)',
+'undeleteextrahelp' => "ถ้าต้องการเรียกคืนทั้งหมด ให้กดปุ่ม '''''เรียกคืน'''''โดยไม่ต้องเลือกช่องใดช่องหนึ่ง ถ้าต้องการเรียกคืนประวัติเฉพาะส่วนใดส่วนหนึ่งให้เลือกเฉพาะส่วนที่ต้องการ แล้วกด'''''เรียกคืน''''' ถ้ากด '''''ตั้งค่าใหม่''''' จะยกเลิกการเลือกใหม่",
+'undeleterevisions' => '$1 รุ่นการแก้ไขถูกเก็บไว้',
+'undeletehistory' => 'ถ้าเรียกคืนหน้าใด ประวัติการแก้ไขจะถูกเรียกคืนกลับมาหมด ซึ่งถ้ามีหน้าใหม่ถูกสร้างคืนหลังจากนั้น ประวัติหน้าจะถูกเรียกมารวม ซึ่งประวัติหน้าจะไม่ถูกแทนที่',
+'undeleterevdel' => 'จะเรียกคืนไม่ได้ถ้ารุ่นในส่วนที่ใหม่ถูกลบไปบางส่วน ถ้าเกิดขึ้นในกรณีนี้ ต้องกดแสดงในส่วนใหม่ก่อน',
+'undeletehistorynoadmin' => 'หน้านี้ถูกลบก่อนหน้านี้ โดยสาเหตุการลบและรายชื่อผู้ร่วมแก้ไขก่อนหน้าแสดงผลด้านล่าง สำหรับข้อมูลที่ถูกลบจะดูได้เฉพาะผู้ดูแลระบบ',
+'undelete-revision' => 'รุ่นที่ถูกลบของ $1 จาก $2:',
+'undeleterevision-missing' => 'รุ่นที่ต้องการดูไม่มี ข้อมูลอาจจะโดนลบ',
+'undeletebtn' => 'เรียกคืน',
+'undeletereset' => 'ตั้งค่าใหม่',
+'undeletecomment' => 'ความเห็น:',
+'undeletedarticle' => 'เรียกคืน "[[$1]]"',
+'undeletedrevisions' => '$1 รุ่นการแก้ไขถูกเรียกคืน',
+'undeletedrevisions-files' => '$1 รุ่นการแก้ไข และ $2 ไฟล์ถูกเรียกคืน',
+'undeletedfiles' => '$1 ไฟล์ถูกเรียกคืน',
+'cannotundelete' => 'เรียกคืนไม่สำเร็จ อาจมีใครบางคนเรียกคืนหน้านั้นแล้ว',
+'undeletedpage' => "<big>'''$1 ถูกเรียกคืน'''</big>

ดูเพิ่มเติม [[Special:Log/delete|บันทึกการลบ]] สำหรับรายชื่อการลบและการเรียกคืนที่ผ่านมา",
-'undelete-header' => 'ดู [[Special:Log/delete|บันทึกการลบ]] สำหรับหน้าที่ถูกลบล่าสุด',
-'undelete-search-box' => 'ค้นหาหน้าที่ถูกลบ',
-'undelete-search-prefix' => 'ค้นหาหน้าที่เริ่มต้นด้วย:',
-'undelete-search-submit' => 'ค้นหา',
-'undelete-no-results' => 'ไม่พบหน้าที่ต้องการจากบันทึกการลบ',
+'undelete-header' => 'ดู [[Special:Log/delete|บันทึกการลบ]] สำหรับหน้าที่ถูกลบล่าสุด',
+'undelete-search-box' => 'ค้นหาหน้าที่ถูกลบ',
+'undelete-search-prefix' => 'ค้นหาหน้าที่เริ่มต้นด้วย:',
+'undelete-search-submit' => 'ค้นหา',
+'undelete-no-results' => 'ไม่พบหน้าที่ต้องการจากบันทึกการลบ',
+'undelete-filename-mismatch' => 'ไม่สามารถกู้คืนไฟล์ $1: ชื่อไฟล์ไม่ถูกต้อง',
+'undelete-bad-store-key' => 'ไม่สามารถกู้คืนไฟล์ $1: ไม่มีไฟล์ก่อนที่จะถูกลบ',
+'undelete-cleanup-error' => 'เกิดปัญหาการลบไฟล์เก่า "$1"',
+'undelete-missing-filearchive' => 'ไม่สามารถกู้คืนไฟล์เก่ารุ่น $1 เพราะว่าไม่มีไฟล์อยู่ในฐานข้อมูล ไฟล์อาจจะถูกกู้คืนไปก่อนหน้า',
+'undelete-error-short' => 'เกิดปัญหาในการกู้คืนไฟล์: $1',
+'undelete-error-long' => 'Errors were encountered while undeleting the file:

+$1',
+
# Namespace form on various pages
'namespace' => 'เนมสเปซ',
'invert' => 'เลือกตรงข้าม',
@@ -1380,6 +1418,7 @@
'createaccountblock' => 'บล็อกการสร้างบัญชีผู้ใช้ใหม่',
'emailblock' => 'บล็อกการส่งอีเมล',
'ipblocklist-empty' => 'รายการบล็อกว่าง',
+'ipblocklist-no-results' => 'หมายเลขไอพีหรือชื่อผู้ใช้ที่ต้องการไม่ได้ถูกบล็อก',
'blocklink' => 'บล็อก',
'unblocklink' => 'เลิกบล็อก',
'contribslink' => 'แก้ไข',
@@ -1486,7 +1525,6 @@
'allmessagesdefault' => 'ข้อความตั้งต้น',
'allmessagescurrent' => 'ข้อความปัจจุบัน',
'allmessagestext' => 'ข้อความแสดงหน้าตาของวิกินี้ (ถูกเก็บในเนมสเปซ มีเดียวิกิ)',
-'allmessagesnotsupportedUI' => 'ภาษา<b>$1</b> ที่คุณใช้ปัจจุบันไม่รองรับ {{ns:special}}:Allmessages ในเว็บไซต์นี้',
'allmessagesnotsupportedDB' => "'''{{ns:special}}:Allmessages''' ไม่สามารถนำมาใช้ได้เพราะว่า '''\$wgUseDatabaseMessages''' ได้ถูกปิด",
'allmessagesfilter' => 'กรองเฉพาะข้อความ:',
'allmessagesmodified' => 'แสดงเฉพาะที่ถูกแก้ไข',
@@ -1660,8 +1698,16 @@
'patrol-log-diff' => 'r$1',

# Image deletion
-'deletedrevision' => 'รุ่นเก่าที่ถูกลบ $1',
+'deletedrevision' => 'รุ่นเก่าที่ถูกลบ $1',
+'filedeleteerror-short' => 'เกิดปัญหาการลบไฟล์: $1',
+'filedeleteerror-long' => 'เกิดปัญหาขณะที่ทำการลบไฟล์:

+$1',
+'filedelete-missing' => 'ไม่สามารถลบไฟล์ "$1" ได้ เนื่องจากไม่มีไฟล์ชื่อนี้อยู่',
+'filedelete-old-unregistered' => 'ไฟล์ที่ระบุรุ่น "$1" ไม่มีในฐานข้อมูล',
+'filedelete-current-unregistered' => 'ไฟล์ที่ระบุ "$1" ไม่มีในฐานข้อมูล',
+'filedelete-archive-read-only' => 'ไดเรกทอรีกรุชื่อ "$1" ไม่สามารถเขียนลงได้โดยเว็บเซิร์ฟเวอร์',
+
# Browsing diffs
'previousdiff' => '← แตกต่างก่อนหน้า',
'nextdiff' => 'แตกต่างถัดไป →',
@@ -1681,8 +1727,12 @@
'showhidebots' => '($1 บอต)',
'noimages' => 'ไม่มีให้ดู',

-'passwordtooshort' => 'รหัสผ่านไม่ถูกต้องหรือสั้นเกินไป โดยต้องมีอย่างน้อย $1 ตัวอักษรและแตกต่างจากชื่อผู้ใช้',
+# Bad image list
+'bad_image_list' => 'รูปแบบแสดงต่อไปนี้:

+เฉพาะรายการที่แสดง (ในแถวขึ้นต้นด้วย *) โดยลิงก์แรกของแต่ละแถวเป็นลิงก์ไปยังภาพที่เสีย
+โดยลิงก์ถัดไปเป็นข้อยกเว้น เช่น บทความที่ภาพถูกจัดในบรรทัดเดียวกับส่วนข้อความ',
+
# Metadata
'metadata' => 'ข้อมูลแนบ',
'metadata-help' => 'ไฟล์นี้มีข้อมูลเพิ่มเติมแนบไว้ อาจจะมาจาก กล้องดิจิทัล สแกนเนอร์ หรือเครื่องรับส่งจีพีเอส อย่างไรก็ตามข้อมูลที่เก็บไว้อาจถูกดัดแปลงถ้าไฟล์ต้นฉบับถูกแก้ไขจากซอฟต์แวร์อื่น',

Modified: branches/apiedit/phase3/languages/messages/MessagesZh_classical.php
===================================================================
--- branches/apiedit/phase3/languages/messages/MessagesZh_classical.php 2007-08-03 09:27:28 UTC (rev 24562)
+++ branches/apiedit/phase3/languages/messages/MessagesZh_classical.php 2007-08-03 12:05:05 UTC (rev 24563)
@@ -365,10 +365,14 @@
問語: $2',
'viewsource' => '案碼',
'viewsourcefor' => '$1',
-'namespaceprotected' => "舉凡'''$1'''者,爾無權耳,莫之能修。",
'p