Index: trunk/phase3/includes/Title.php |
— | — | @@ -1006,6 +1006,23 @@ |
1007 | 1007 | } |
1008 | 1008 | return false; |
1009 | 1009 | } |
| 1010 | + |
| 1011 | + public function getUserPermissionsErrorPage( $action, $user, $doExpensiveQueries = true ) |
| 1012 | + { |
| 1013 | + $errors = $this->getUserPermissionsErrors( $action, $user, $doExpensiveQueries ); |
| 1014 | + $text = ''; |
| 1015 | + |
| 1016 | + $text .= $wgParser->parse( wfMsg('permissionserrorstext') ); |
| 1017 | + $this->addHtml( '<ul class="permissions-errors">' . "\n" ); |
| 1018 | + |
| 1019 | + foreach( $errors as $error ) |
| 1020 | + { |
| 1021 | + $this->addHtml( '<li>' ); |
| 1022 | + $this->addWikiText( call_user_func_array( 'wfMsg', $error ) ); |
| 1023 | + $this->addHtml( '</li>'); |
| 1024 | + } |
| 1025 | + $this->addHtml( '</ul>' ); |
| 1026 | + } |
1010 | 1027 | |
1011 | 1028 | /** |
1012 | 1029 | * Can $wgUser perform $action on this page? |
Index: trunk/phase3/languages/messages/MessagesFr.php |
— | — | @@ -160,6 +160,7 @@ |
161 | 161 | 'category_header' => 'Pages dans la catégorie « $1 »', |
162 | 162 | 'subcategories' => 'Sous-catégories', |
163 | 163 | 'category-media-header' => 'Fichiers multimédia dans la catégorie « $1 »', |
| 164 | +'category-empty' => "''Cette catégorie ne contient aucun article, sous-catégorie ou fichier multimédia.''", |
164 | 165 | |
165 | 166 | 'mainpagetext' => "<big>'''MediaWiki a été installé avec succès.'''</big>", |
166 | 167 | 'mainpagedocfooter' => 'Consultez le [http://meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] pour plus d’informations sur l’utilisation de ce logiciel. |
— | — | @@ -340,10 +341,13 @@ |
341 | 342 | Veuillez rapporter cette erreur à un administrateur, en lui indiquant l’adresse de la page fautive.', |
342 | 343 | 'readonly_lag' => 'La base de donnée a été automatiquement verrouillée pendant que les serveurs secondaires rattrapent leur retard sur le serveur principal.', |
343 | 344 | 'internalerror' => 'Erreur interne', |
| 345 | +'internalerror_info' => 'Erreur interne : $1', |
344 | 346 | 'filecopyerror' => 'Impossible de copier le fichier « $1 » vers « $2 ».', |
345 | 347 | 'filerenameerror' => 'Impossible de renommer le fichier « $1 » en « $2 ».', |
346 | 348 | 'filedeleteerror' => 'Impossible de supprimer le fichier « $1 ».', |
| 349 | +'directorycreateerror' => 'Impossible de créer le dossier « $1 ».', |
347 | 350 | 'filenotfound' => 'Impossible de trouver le fichier « $1 ».', |
| 351 | +'fileexistserror' => 'Impossible d’écrire dans le dossier « $1 » : le fichier existe', |
348 | 352 | 'unexpected' => 'Valeur inattendue : « $1 » = « $2 ».', |
349 | 353 | 'formerror' => 'Erreur : Impossible de soumettre le formulaire', |
350 | 354 | 'badarticleerror' => 'Cette action ne peut pas être effectuée sur cette page.', |
— | — | @@ -364,8 +368,11 @@ |
365 | 369 | 'protectedinterface' => 'Cette page fournit du texte d’interface pour le logiciel et est protégée pour éviter les abus.', |
366 | 370 | '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.", |
367 | 371 | 'sqlhidden' => '(Requête SQL cachée)', |
368 | | -'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 :', |
| 372 | +'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 : |
| 373 | +$2", |
369 | 374 | 'namespaceprotected' => "Vous n’avez pas la permission de modifier les pages de l’espace de noms « '''$1''' ».", |
| 375 | +'customcssjsprotected' => "Vous n’avez pas la permission d'éditer cette page parce qu’elle contient des préférences d’autres utilisateurs.", |
| 376 | +'ns-specialprotected' => 'Les pages dans l’espace de noms spécial ne peuvent pas être modifiées.', |
370 | 377 | |
371 | 378 | # Login and logout pages |
372 | 379 | 'logouttitle' => 'Déconnexion', |
— | — | @@ -421,6 +428,7 @@ |
422 | 429 | 'nouserspecified' => 'Vous devez saisir un nom d’utilisateur.', |
423 | 430 | 'wrongpassword' => 'Le mot de passe est incorrect. Veuillez essayer à nouveau.', |
424 | 431 | 'wrongpasswordempty' => 'Vous n’avez pas entré de mot de passe. Veuillez essayer à nouveau.', |
| 432 | +'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.', |
425 | 433 | 'mailmypassword' => 'Envoyez-moi un nouveau mot de passe', |
426 | 434 | 'passwordremindertitle' => 'Votre nouveau mot de passe sur {{SITENAME}}', |
427 | 435 | '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 +507,33 @@ |
500 | 508 | Le blocage a été effectué par $1 pour la raison suivante : ''$2''. |
501 | 509 | |
502 | 510 | 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. |
503 | | -:Expiration du blocage : $6 |
504 | | -:Compte bloqué : $7.", |
| 511 | +* Début du blocage : $8 |
| 512 | +* Expiration du blocage : $6 |
| 513 | +* Compte bloqué : $7.", |
505 | 514 | '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. |
506 | 515 | La raison donnée est : |
507 | 516 | |
508 | 517 | :''$2'' |
509 | 518 | |
510 | | -Expiration du blocage : $6 |
| 519 | +* Début du blocage : $8 |
| 520 | +* Expiration du blocage : $6 |
511 | 521 | |
512 | 522 | Vous pouvez contacter $1 ou l’un des autres [[{{MediaWiki:grouppage-sysop}}|administrateurs]] pour discuter de ce blocage. |
513 | 523 | |
514 | | -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. |
| 524 | +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. |
515 | 525 | |
516 | | -Votre identifiant de blocage est $5. Veuillez le préciser dans toute requête.", |
| 526 | +Votre adresse IP est $3 et identifiant de blocage est #$5. Veuillez les préciser dans toute requête.", |
| 527 | +'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. |
| 528 | + |
| 529 | +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. |
| 530 | + |
| 531 | +Votre adresse IP est $3 et identifiant de blocage est #$5. Veuillez les préciser dans toute requête", |
| 532 | +'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. |
| 533 | +Vous pouvez contacter $1 ou l’un des autres [[{{MediaWiki:grouppage-sysop}}|administrateurs]] pour discuter de ce blocage. |
| 534 | + |
| 535 | +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. |
| 536 | + |
| 537 | +Votre adresse IP est $3 et identifiant de blocage est #$5. Veuillez les préciser dans toute requête", |
517 | 538 | 'blockedoriginalsource' => "Le code source de '''$1''' est indiqué ci-dessous :", |
518 | 539 | 'blockededitsource' => "Le contenu de '''vos modifications''' apportées à '''$1''' est indiqué ci-dessous :", |
519 | 540 | 'whitelistedittitle' => 'Enregistrement nécessaire pour modifier le contenu', |
— | — | @@ -585,6 +606,9 @@ |
586 | 607 | 'edittools' => '<!-- Tout texte entré ici sera affiché sous les boîtes de modification ou d’import de fichier. -->', |
587 | 608 | 'nocreatetitle' => 'Création de page limitée', |
588 | 609 | '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]].', |
| 610 | +'nocreate-loggedin' => 'Vous n’avez pas la permission de créer de nouvelles pages sur ce wiki.', |
| 611 | +'permissionserrors' => 'Erreur de permissions', |
| 612 | +'permissionserrorstext' => "Vous n’avez pas la permission d’effectuer l’opération demandée pour {{PLURAL:$1|la raison suivante|les raisons suivantes}} :", |
589 | 613 | 'recreate-deleted-warn' => "'''Attention : Vous êtes en train de recréer une page qui a été précédemment supprimée.''' |
590 | 614 | |
591 | 615 | Demandez-vous s’il est réellement approprié de la recréer en vous référant au journal des suppressions affiché ci-dessous :", |
— | — | @@ -909,6 +933,7 @@ |
910 | 934 | |
911 | 935 | 'license' => 'Licence', |
912 | 936 | 'nolicense' => 'Aucune licence sélectionnée', |
| 937 | +'license-nopreview' => '(Prévisualisation impossible)', |
913 | 938 | 'upload_source_url' => ' (une URL valide et accessible publiquement)', |
914 | 939 | 'upload_source_file' => ' (un fichier sur votre ordinateur)', |
915 | 940 | |
— | — | @@ -925,14 +950,17 @@ |
926 | 951 | 'imgdelete' => 'suppr', |
927 | 952 | 'imgdesc' => 'page de l’image', |
928 | 953 | 'imgfile' => 'fichier', |
929 | | -'imglegend' => 'Légende : (page de l’image) = afficher/modifier la description de l’image.', |
930 | | -'imghistory' => 'Historique de l’image', |
931 | | -'revertimg' => 'rétab', |
932 | | -'deleteimg' => 'suppr', |
933 | | -'deleteimgcompletely' => 'suppr', |
934 | | -'imghistlegend' => 'Légende : (actu) = ceci est l’image actuelle, (suppr) = supprimer |
935 | | -cette ancienne version, (rétab) = rétablir cette ancienne version. |
936 | | -<br /><i>Cliquez sur la date pour voir l’image copiée à cette date</i>.', |
| 954 | +'filehist' => 'Historique du fichier', |
| 955 | +'filehist-help' => "Cliquer sur une date et une heure pour voir le fichier tel qu'il était à ce moment-l�", |
| 956 | +'filehist-deleteall' => 'tout supprimer', |
| 957 | +'filehist-deleteone' => 'supprimer ceci', |
| 958 | +'filehist-revert' => 'révoquer', |
| 959 | +'filehist-current' => 'actuel', |
| 960 | +'filehist-datetime' => 'Date et heure', |
| 961 | +'filehist-user' => 'Utilisateur', |
| 962 | +'filehist-dimensions' => 'Dimensions', |
| 963 | +'filehist-filesize' => 'Taille du fichier', |
| 964 | +'filehist-comment' => 'Commentaire', |
937 | 965 | 'imagelinks' => 'Pages contenant l’image', |
938 | 966 | 'linkstoimage' => 'Les pages ci-dessous contiennent cette image :', |
939 | 967 | 'nolinkstoimage' => 'Aucune page ne contient cette image.', |
— | — | @@ -949,6 +977,16 @@ |
950 | 978 | 'imagelist_description' => 'Description', |
951 | 979 | 'imagelist_search_for' => 'Recherche pour l’image nommée :', |
952 | 980 | |
| 981 | +# File reversion |
| 982 | +'filerevert' => 'Révoquer $1', |
| 983 | +'filerevert-legend' => 'Révoquer le fichier', |
| 984 | +'filerevert-intro' => "<span class=\"plainlinks\">Vous allez révoquer '''[[Media:$1|$1]]''' jusqu'à [$4 la version du $2 à $3].</span>", |
| 985 | +'filerevert-comment' => 'Comment:', |
| 986 | +'filerevert-defaultcomment' => 'Révoqué jusqu’à la version du $1 à $2', |
| 987 | +'filerevert-submit' => 'Révoquer', |
| 988 | +'filerevert-success' => "<span class=\"plainlinks\">'''[[Media:$1|$1]]''' a été révoqué jusqu'à [$4 la version du $2 à $3].</span>", |
| 989 | +'filerevert-badversion' => "Il n'y a pas de version plus ancienne du fichier avec le Timestamp donné.", |
| 990 | + |
953 | 991 | # MIME search |
954 | 992 | 'mimesearch' => 'Recherche par type MIME', |
955 | 993 | '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>.', |
— | — | @@ -1303,6 +1341,13 @@ |
1304 | 1342 | 'undelete-search-prefix' => 'Montrer les pages commençant par :', |
1305 | 1343 | 'undelete-search-submit' => 'Chercher', |
1306 | 1344 | 'undelete-no-results' => 'Aucune page correspondant à la recherche n’a été trouvé dans les archives.', |
| 1345 | +'undelete-filename-mismatch' => 'Impossible de restaurer le fichier avec le timestamp $1 : fichier introuvable', |
| 1346 | +'undelete-bad-store-key' => 'Impossible de restaurer le fichier avec le timestamp $1 : le fichier était absent avant la suppression.', |
| 1347 | +'undelete-cleanup-error' => 'Erreur lors de la suppression de l’archive inutilisée « $1 ».', |
| 1348 | +'undelete-missing-filearchive' => 'Impossible de restaurer le fichier avec l’ID $1 parce qu’il n’est pas dans la base de données. ' |
| 1349 | + .'Il a peut-être déjà été restauré.', |
| 1350 | +'undelete-error-short' => 'Erreur lors de la restauration du fichier : $1', |
| 1351 | +'undelete-error-long' => "Des erreurs ont été rencontrées lors de la restauration du fichier :\n\n$1\n", |
1307 | 1352 | |
1308 | 1353 | # Namespace form on various pages |
1309 | 1354 | 'namespace' => 'Espace de noms :', |
— | — | @@ -1398,15 +1443,15 @@ |
1399 | 1444 | 'ipblocklist' => 'Liste des utilisateurs bloqués', |
1400 | 1445 | '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.', |
1401 | 1446 | 'ipblocklist-submit' => 'Chercher', |
1402 | | -'blocklistline' => '$1 (expire le $4) : $2 a bloqué $3', |
| 1447 | +'blocklistline' => '$1 ($4) : $2 a bloqué $3', |
1403 | 1448 | 'infiniteblock' => 'permanent', |
1404 | 1449 | 'expiringblock' => 'expire le $1', |
1405 | 1450 | 'anononlyblock' => 'utilisateur non enregistré uniquement', |
1406 | 1451 | 'noautoblockblock' => 'blocage automatique désactivé', |
1407 | | -'createaccountblock' => 'la création de compte est bloquée.', |
| 1452 | +'createaccountblock' => 'création de compte bloquée', |
1408 | 1453 | 'emailblock' => 'e-mail bloqué', |
1409 | | -'ipblocklist-empty' => 'La liste des adresses bloquées est actuellement vide.', |
1410 | | -'ipblocklist-no-results' => 'L’adresse IP ou l’utilisateur n’a pas été bloqué.', |
| 1454 | +'ipblocklist-empty' => 'La liste des adresses bloquées est actuellement vide.', |
| 1455 | +'ipblocklist-no-results' => 'L’adresse IP ou l’utilisateur n’a pas été bloqué.', |
1411 | 1456 | 'blocklink' => 'Bloquer', |
1412 | 1457 | 'unblocklink' => 'débloquer', |
1413 | 1458 | 'contribslink' => 'Contributions', |
— | — | @@ -1467,6 +1512,7 @@ |
1468 | 1513 | 'movearticle' => 'Renommer l’article', |
1469 | 1514 | 'movenologin' => 'Non connecté', |
1470 | 1515 | '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.', |
| 1516 | +'movenotallowed' => 'Vous n’avez pas la permission de renommer des pages sur ce wiki.', |
1471 | 1517 | 'newtitle' => 'Nouveau titre', |
1472 | 1518 | 'move-watch' => 'Suivre cette page', |
1473 | 1519 | 'movepagebtn' => 'Renommer l’article', |
— | — | @@ -1508,6 +1554,7 @@ |
1509 | 1555 | 'export-submit' => 'Exporter', |
1510 | 1556 | 'export-addcattext' => 'Ajouter les pages de la catégorie :', |
1511 | 1557 | 'export-addcat' => 'Ajouter', |
| 1558 | +'export-download' => 'Permettre de sauvegarder en tant que fichier', |
1512 | 1559 | |
1513 | 1560 | # Namespace 8 related |
1514 | 1561 | 'allmessages' => 'Liste des messages système', |
— | — | @@ -1515,7 +1562,6 @@ |
1516 | 1563 | 'allmessagesdefault' => 'Message par défaut', |
1517 | 1564 | 'allmessagescurrent' => 'Message actuel', |
1518 | 1565 | 'allmessagestext' => 'Ceci est la liste de tous les messages disponibles dans l’espace MediaWiki', |
1519 | | -'allmessagesnotsupportedUI' => 'Special:AllMessages n’accepte pas la langue de votre interface (<b>$1</b>) sur ce site.', |
1520 | 1566 | 'allmessagesnotsupportedDB' => '<b>Special:Allmessages</b> n’est pas disponible car <b>$wgUseDatabaseMessages</b> est désactivé.', |
1521 | 1567 | 'allmessagesfilter' => 'Filtre d’expression rationnelle :', |
1522 | 1568 | 'allmessagesmodified' => 'N’afficher que les modifications', |
— | — | @@ -1692,6 +1738,12 @@ |
1693 | 1739 | |
1694 | 1740 | # Image deletion |
1695 | 1741 | 'deletedrevision' => 'L’ancienne version $1 a été supprimée.', |
| 1742 | +'filedeleteerror-short' => 'Erreur lors de la suppression du fichier : $1', |
| 1743 | +'filedeleteerror-long' => 'Des erreurs ont été rencontrées lors de la suppression du fichier :\n\n$1\n', |
| 1744 | +'filedelete-missing' => 'Le fichier « $1 » ne peut pas être supprimé parce qu’il n’existe pas.', |
| 1745 | +'filedelete-old-unregistered' => 'La révision du fichier spécifié « $1 » n’est pas dans la base de données.', |
| 1746 | +'filedelete-current-unregistered' => 'Le fichier spécifié « $1 » n’est pas dans la base de données.', |
| 1747 | +'filedelete-archive-read-only' => 'Le dossier d’archivage « $1 » n’est pas modifiable par le serveur.', |
1696 | 1748 | |
1697 | 1749 | # Browsing diffs |
1698 | 1750 | 'previousdiff' => '← Différence précédente', |
— | — | @@ -1713,8 +1765,11 @@ |
1714 | 1766 | 'showhidebots' => '($1 bots)', |
1715 | 1767 | 'noimages' => 'Aucune image à afficher.', |
1716 | 1768 | |
1717 | | -'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.', |
| 1769 | +# Bad image list |
| 1770 | +'bad_image_list' => "Le format est le suivant: |
1718 | 1771 | |
| 1772 | +Seulement les lignes commençant par une * sont prises en compte. Le premier lien de la ligne est celui vers une mauvaise image. |
| 1773 | +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.", |
1719 | 1774 | # Metadata |
1720 | 1775 | 'metadata' => 'Métadonnées', |
1721 | 1776 | '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.', |
— | — | @@ -2120,4 +2175,4 @@ |
2121 | 2176 | 'watchlisttools-edit' => 'Voir et modifier la liste de suivi', |
2122 | 2177 | 'watchlisttools-raw' => 'Modifier la liste (mode brut)', |
2123 | 2178 | 'watchlisttools-clear' => 'Vider la liste de suivi', |
2124 | | -); |
\ No newline at end of file |
| 2179 | +); |