r24632 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r24631‎ | r24632 | r24633 >
Date:18:44, 6 August 2007
Author:david
Status:old
Tags:
Comment:
Merged revisions 24601-24631 via svnmerge from
svn+ssh://david@svn.wikimedia.org/svnroot/mediawiki/trunk/phase3

........
r24607 | robchurch | 2007-08-05 20:29:40 -0700 (Sun, 05 Aug 2007) | 3 lines

* (bug 10793) Show patrol links on all eligible diff pages
* Introduce RecentChange::newFromConds() to support the above, and a new index
* Refactored some bits
........
r24608 | robchurch | 2007-08-05 20:34:05 -0700 (Sun, 05 Aug 2007) | 2 lines

* Move redirect table line up with the others
* Trim some ?>
........
r24609 | robchurch | 2007-08-05 23:15:21 -0700 (Sun, 05 Aug 2007) | 2 lines

* Fix img_auth.php image name extraction for whitelist checking
* (bug 10756) img_auth.php will now refuse logged-out requests when there is no whitelist, rather than allowing them through
........
r24610 | robchurch | 2007-08-05 23:16:31 -0700 (Sun, 05 Aug 2007) | 1 line

Clarifications
........
r24611 | ivanlanin | 2007-08-06 00:03:50 -0700 (Mon, 06 Aug 2007) | 1 line

Indonesian (id) localisation updates.
........
r24612 | robchurch | 2007-08-06 00:09:59 -0700 (Mon, 06 Aug 2007) | 4 lines

* (bug 10655) Show standard tool links for blocked users in block log messages
* Show standard tool links for blocked users in Special:Ipblocklist

The above exclude the block link (where applicable) using the first of the flags to be passed to Linker::userToolLinks().
........
r24613 | robchurch | 2007-08-06 00:14:29 -0700 (Mon, 06 Aug 2007) | 1 line

Errant escaping of titles
........
r24614 | robchurch | 2007-08-06 00:21:09 -0700 (Mon, 06 Aug 2007) | 1 line

Miscellaneous aesthetic improvements to Special:Ipblocklist
........
r24615 | robchurch | 2007-08-06 00:21:46 -0700 (Mon, 06 Aug 2007) | 1 line

...oops, forgot this
........
r24617 | raymond | 2007-08-06 02:34:55 -0700 (Mon, 06 Aug 2007) | 1 line

typo, use variable '$name', not a constant 'name'.
........
r24618 | raymond | 2007-08-06 04:30:40 -0700 (Mon, 06 Aug 2007) | 7 lines

* Tweaking Werdnas new functions 'showPermissionsErrorPage' and 'formatPermissionsErrorMessage' a bit:
** Removing parameter $title from 'showPermissionsErrorPage', seems unused
** The message 'permissionserrorstext' uses {{PLURAL:}}, so pass the number of errors to the message.
** Show message 'permissionserrorstext' only once.
** Documentation
* First use of 'showPermissionsErrorPage' in SpecialMovepage.php
* Formatting MessagesEn.php a bit
........
r24619 | robchurch | 2007-08-06 04:36:01 -0700 (Mon, 06 Aug 2007) | 1 line

Warn users not to destroy $wgGroupPermissions
........
r24620 | nikerabbit | 2007-08-06 06:40:19 -0700 (Mon, 06 Aug 2007) | 2 lines

* Setswana (tn) messages
........
r24621 | nikerabbit | 2007-08-06 07:30:57 -0700 (Mon, 06 Aug 2007) | 2 lines

* Updates to slovak (sk) by helix84
........
r24623 | rotem | 2007-08-06 09:34:21 -0700 (Mon, 06 Aug 2007) | 1 line

Update and fixes.
........
r24625 | raymond | 2007-08-06 09:40:30 -0700 (Mon, 06 Aug 2007) | 1 line

Updates German
........
r24626 | raymond | 2007-08-06 09:52:03 -0700 (Mon, 06 Aug 2007) | 2 lines

* (bug 10820) Update Spanish translation
Patch by Manuel G. R.
........
r24627 | wegge | 2007-08-06 10:36:47 -0700 (Mon, 06 Aug 2007) | 1 line

Correct grammer for da
........
r24630 | robchurch | 2007-08-06 11:21:00 -0700 (Mon, 06 Aug 2007) | 1 line

Fix syntax error
........
Modified paths:
  • /branches/liquidthreads (modified) (history)
  • /branches/liquidthreads/RELEASE-NOTES (modified) (history)
  • /branches/liquidthreads/img_auth.php (modified) (history)
  • /branches/liquidthreads/includes/DefaultSettings.php (modified) (history)
  • /branches/liquidthreads/includes/DifferenceEngine.php (modified) (history)
  • /branches/liquidthreads/includes/Linker.php (modified) (history)
  • /branches/liquidthreads/includes/LogPage.php (modified) (history)
  • /branches/liquidthreads/includes/OutputPage.php (modified) (history)
  • /branches/liquidthreads/includes/RecentChange.php (modified) (history)
  • /branches/liquidthreads/includes/SpecialIpblocklist.php (modified) (history)
  • /branches/liquidthreads/includes/SpecialMovepage.php (modified) (history)
  • /branches/liquidthreads/includes/Title.php (modified) (history)
  • /branches/liquidthreads/languages/messages/MessagesDa.php (modified) (history)
  • /branches/liquidthreads/languages/messages/MessagesDe.php (modified) (history)
  • /branches/liquidthreads/languages/messages/MessagesEn.php (modified) (history)
  • /branches/liquidthreads/languages/messages/MessagesEs.php (modified) (history)
  • /branches/liquidthreads/languages/messages/MessagesHe.php (modified) (history)
  • /branches/liquidthreads/languages/messages/MessagesId.php (modified) (history)
  • /branches/liquidthreads/languages/messages/MessagesSk.php (modified) (history)
  • /branches/liquidthreads/languages/messages/MessagesTn.php (added) (history)
  • /branches/liquidthreads/languages/messages/MessagesTn.php (added) (history)
  • /branches/liquidthreads/maintenance/archives/patch-rc_patrol_index.sql (added) (history)
  • /branches/liquidthreads/maintenance/archives/patch-rc_patrol_index.sql (added) (history)
  • /branches/liquidthreads/maintenance/language/messages.inc (modified) (history)
  • /branches/liquidthreads/maintenance/tables.sql (modified) (history)
  • /branches/liquidthreads/maintenance/updaters.inc (modified) (history)

Diff [purge]

Index: branches/liquidthreads/maintenance/updaters.inc
@@ -37,6 +37,7 @@
3838 array( 'querycache_info', 'patch-querycacheinfo.sql' ),
3939 array( 'filearchive', 'patch-filearchive.sql' ),
4040 array( 'querycachetwo', 'patch-querycachetwo.sql' ),
 41+ array( 'redirect', 'patch-redirect.sql' ),
4142 );
4243
4344 $wgNewFields = array(
@@ -848,32 +849,28 @@
849850 echo "Done. Please run maintenance/refreshLinks.php for a more thorough templatelinks update.\n";
850851 }
851852
852 -# July 2006
853 -# Add ( rc_namespace, rc_user_text ) index [R. Church]
 853+// Add index on ( rc_namespace, rc_user_text ) [Jul. 2006]
 854+// Add index on ( rc_user_text, rc_timestamp ) [Nov. 2006]
 855+// Add index on ( rc_this_oldid, rc_last_oldid, rc_patrolled ) [Aug. 2007]
854856 function do_rc_indices_update() {
855857 global $wgDatabase;
856858 echo( "Checking for additional recent changes indices...\n" );
857 - # See if we can find the index we want
858 - $info = $wgDatabase->indexInfo( 'recentchanges', 'rc_ns_usertext', __METHOD__ );
859 - if( !$info ) {
860 - # None, so create
861 - echo( "...index on ( rc_namespace, rc_user_text ) not found; creating\n" );
862 - dbsource( archive( 'patch-recentchanges-utindex.sql' ) );
863 - } else {
864 - # Index seems to exist
865 - echo( "...index on ( rc_namespace, rc_user_text ) seems to be ok\n" );
866 - }
867859
868 - #Add (rc_user_text, rc_timestamp) index [A. Garrett], November 2006
869 - # See if we can find the index we want
870 - $info = $wgDatabase->indexInfo( 'recentchanges', 'rc_user_text', __METHOD__ );
871 - if( !$info ) {
872 - # None, so create
873 - echo( "...index on ( rc_user_text, rc_timestamp ) not found; creating\n" );
874 - dbsource( archive( 'patch-rc_user_text-index.sql' ) );
875 - } else {
876 - # Index seems to exist
877 - echo( "...index on ( rc_user_text, rc_timestamp ) seems to be ok\n" );
 860+ $indexes = array(
 861+ 'rc_ns_usertext' => 'patch-recentchanges-utindex.sql',
 862+ 'rc_user_text' => 'patch-rc_user_text-index.sql',
 863+ 'rc_patrolling' => 'patch-rc_patrol_index.sql',
 864+ );
 865+
 866+ foreach( $indexes as $index => $patch ) {
 867+ $info = $wgDatabase->indexInfo( 'recentchanges', $index, __METHOD__ );
 868+ if( !$info ) {
 869+ echo( "...index `{$index}` not found; adding..." );
 870+ dbsource( archive( $patch ) );
 871+ echo( "done.\n" );
 872+ } else {
 873+ echo( "...index `{$index}` seems ok.\n" );
 874+ }
878875 }
879876 }
880877
@@ -1023,8 +1020,6 @@
10241021
10251022 do_rc_indices_update(); flush();
10261023
1027 - add_table( 'redirect', 'patch-redirect.sql' );
1028 -
10291024 do_backlinking_indices_update(); flush();
10301025
10311026 do_categorylinks_indices_update(); flush();
@@ -1534,6 +1529,4 @@
15351530 }
15361531
15371532 return;
1538 -}
1539 -
1540 -?>
 1533+}
\ No newline at end of file
Index: branches/liquidthreads/maintenance/tables.sql
@@ -879,7 +879,8 @@
880880 INDEX new_name_timestamp (rc_new,rc_namespace,rc_timestamp),
881881 INDEX rc_ip (rc_ip),
882882 INDEX rc_ns_usertext (rc_namespace, rc_user_text),
883 - INDEX rc_user_text (rc_user_text, rc_timestamp)
 883+ INDEX rc_user_text (rc_user_text, rc_timestamp),
 884+ INDEX `rc_patrolling` ( `rc_this_oldid`, `rc_last_oldid`, `rc_patrolled` )
884885
885886 ) /*$wgDBTableOptions*/;
886887
Index: branches/liquidthreads/maintenance/language/messages.inc
@@ -1337,6 +1337,8 @@
13381338 'unblocked',
13391339 'unblocked-id',
13401340 'ipblocklist',
 1341+ 'ipblocklist-legend',
 1342+ 'ipblocklist-username',
13411343 'ipblocklist-summary',
13421344 'ipblocklist-submit',
13431345 'blocklistline',
Index: branches/liquidthreads/maintenance/archives/patch-rc_patrol_index.sql
@@ -0,0 +1,4 @@
 2+-- Index to speed up locating unpatrolled changes
 3+-- matching specific edit criteria
 4+ALTER TABLE /*$wgDBprefix*/recentchanges
 5+ ADD INDEX `rc_patrolling` ( `rc_this_oldid` , `rc_last_oldid` , `rc_patrolled` );
\ No newline at end of file
Property changes on: branches/liquidthreads/maintenance/archives/patch-rc_patrol_index.sql
___________________________________________________________________
Added: svn:eol-style
16 + native
Index: branches/liquidthreads/includes/DifferenceEngine.php
@@ -156,8 +156,39 @@
157157 } else {
158158 $rollback = '';
159159 }
160 - if( $wgUseRCPatrol && $this->mRcidMarkPatrolled != 0 && $wgUser->isAllowed( 'patrol' ) ) {
161 - $patrol = ' [' . $sk->makeKnownLinkObj( $this->mTitle, wfMsg( 'markaspatrolleddiff' ), "action=markpatrolled&rcid={$this->mRcidMarkPatrolled}" ) . ']';
 160+
 161+ // Prepare a change patrol link, if applicable
 162+ if( $wgUseRCPatrol && $wgUser->isAllowed( 'patrol' ) ) {
 163+ // If we've been given an explicit change identifier, use it; saves time
 164+ if( $this->mRcidMarkPatrolled ) {
 165+ $rcid = $this->mRcidMarkPatrolled;
 166+ } else {
 167+ // Look for an unpatrolled change corresponding to this diff
 168+ $change = RecentChange::newFromConds(
 169+ array(
 170+ 'rc_this_oldid' => $this->mNewid,
 171+ 'rc_last_oldid' => $this->mOldid,
 172+ 'rc_patrolled' => 0,
 173+ ),
 174+ __METHOD__
 175+ );
 176+ if( $change instanceof RecentChange ) {
 177+ $rcid = $change->mAttribs['rc_id'];
 178+ } else {
 179+ // None found
 180+ $rcid = 0;
 181+ }
 182+ }
 183+ // Build the link
 184+ if( $rcid ) {
 185+ $patrol = ' [' . $sk->makeKnownLinkObj(
 186+ $this->mTitle,
 187+ wfMsgHtml( 'markaspatrolleddiff' ),
 188+ "action=markpatrolled&rcid={$rcid}"
 189+ ) . ']';
 190+ } else {
 191+ $patrol = '';
 192+ }
162193 } else {
163194 $patrol = '';
164195 }
Index: branches/liquidthreads/includes/RecentChange.php
@@ -80,6 +80,31 @@
8181 return NULL;
8282 }
8383 }
 84+
 85+ /**
 86+ * Find the first recent change matching some specific conditions
 87+ *
 88+ * @param array $conds Array of conditions
 89+ * @param mixed $fname Override the method name in profiling/logs
 90+ * @return RecentChange
 91+ */
 92+ public static function newFromConds( $conds, $fname = false ) {
 93+ if( $fname === false )
 94+ $fname = __METHOD__;
 95+ $dbr = wfGetDB( DB_SLAVE );
 96+ $res = $dbr->select(
 97+ 'recentchanges',
 98+ '*',
 99+ $conds,
 100+ $fname
 101+ );
 102+ if( $res instanceof ResultWrapper && $res->numRows() > 0 ) {
 103+ $row = $res->fetchObject();
 104+ $res->free();
 105+ return self::newFromRow( $row );
 106+ }
 107+ return null;
 108+ }
84109
85110 # Accessors
86111
@@ -210,19 +235,25 @@
211236 wfRunHooks( 'RecentChange_save', array( &$this ) );
212237 }
213238
214 - # Marks a certain row as patrolled
215 - function markPatrolled( $rcid )
216 - {
217 - $fname = 'RecentChange::markPatrolled';
218 -
 239+ /**
 240+ * Mark a given change as patrolled
 241+ *
 242+ * @param mixed $change RecentChange or corresponding rc_id
 243+ */
 244+ public static function markPatrolled( $change ) {
 245+ $rcid = $change instanceof RecentChange
 246+ ? $change->mAttribs['rc_id']
 247+ : $change;
219248 $dbw = wfGetDB( DB_MASTER );
220 -
221 - $dbw->update( 'recentchanges',
222 - array( /* SET */
 249+ $dbw->update(
 250+ 'recentchanges',
 251+ array(
223252 'rc_patrolled' => 1
224 - ), array( /* WHERE */
225 - 'rc_id' => $rcid
226 - ), $fname
 253+ ),
 254+ array(
 255+ 'rc_id' => $change
 256+ ),
 257+ __METHOD__
227258 );
228259 }
229260
Index: branches/liquidthreads/includes/OutputPage.php
@@ -819,7 +819,12 @@
820820 $this->returnToMain( false );
821821 }
822822
823 - public function showPermissionsErrorPage( $title, $errors )
 823+ /**
 824+ * Output a standard permission error page
 825+ *
 826+ * @param array $errors Error message keys
 827+ */
 828+ public function showPermissionsErrorPage( $errors )
824829 {
825830 global $wgTitle;
826831
@@ -832,8 +837,6 @@
833838 $this->enableClientCache( false );
834839 $this->mRedirect = '';
835840 $this->mBodytext = '';
836 -
837 - $this->addWikiText( wfMsg('permissionserrorstext') );
838841 $this->addWikitext( $this->formatPermissionsErrorMessage( $errors ) );
839842 }
840843
@@ -959,7 +962,7 @@
960963 public function formatPermissionsErrorMessage( $errors ) {
961964 $text = '';
962965
963 - $text .= wfMsg('permissionserrorstext')."\n";
 966+ $text .= wfMsgExt( 'permissionserrorstext', array( 'parse' ), count( $errors ) ) . "\n";
964967 $text .= '<ul class="permissions-errors">' . "\n";
965968
966969 foreach( $errors as $error )
Index: branches/liquidthreads/includes/Title.php
@@ -1082,7 +1082,7 @@
10831083
10841084 $intended = $user->mBlock->mAddress;
10851085
1086 - $errors[] = array ( ($block->mAuto ? 'autoblockedtext-concise' : 'blockedtext-concise'), $link, $reason, $ip, name, $blockid, $blockExpiry, $intended );
 1086+ $errors[] = array ( ($block->mAuto ? 'autoblockedtext-concise' : 'blockedtext-concise'), $link, $reason, $ip, $name, $blockid, $blockExpiry, $intended );
10871087 }
10881088
10891089 return $errors;
Index: branches/liquidthreads/includes/SpecialMovepage.php
@@ -12,7 +12,7 @@
1313
1414 # Check rights
1515 if ( !$wgUser->isAllowed( 'move' ) ) {
16 - $wgOut->showErrorPage( 'movenologin', 'movenologintext' );
 16+ $wgOut->showPermissionsErrorPage( array( $wgUser->isAnon() ? 'movenologintext' : 'movenotallowed' ) );
1717 return;
1818 }
1919
Index: branches/liquidthreads/includes/SpecialIpblocklist.php
@@ -245,8 +245,12 @@
246246 return
247247 Xml::tags( 'form', array( 'action' => $wgScript ),
248248 Xml::hidden( 'title', $wgTitle->getPrefixedDbKey() ) .
249 - Xml::input( 'ip', /*size*/ false, $this->ip ) .
250 - Xml::submitButton( wfMsg( 'ipblocklist-submit' ) )
 249+ Xml::openElement( 'fieldset' ) .
 250+ Xml::element( 'legend', null, wfMsg( 'ipblocklist-legend' ) ) .
 251+ Xml::inputLabel( wfMsg( 'ipblocklist-username' ), 'ip', 'ip', /* size */ false, $this->ip ) .
 252+ '&nbsp;' .
 253+ Xml::submitButton( wfMsg( 'ipblocklist-submit' ) ) .
 254+ Xml::closeElement( 'fieldset' )
251255 );
252256 }
253257
@@ -283,8 +287,8 @@
284288 if( $block->mAuto ) {
285289 $target = $block->getRedactedName(); # Hide the IP addresses of auto-blocks; privacy
286290 } else {
287 - $target = $sk->makeLinkObj( Title::makeTitle( NS_USER, $block->mAddress ), $block->mAddress );
288 - $target .= ' (' . $sk->makeKnownLinkObj( SpecialPage::getSafeTitleFor( 'Contributions', $block->mAddress ), $msg['contribslink'] ) . ')';
 291+ $target = $sk->userLink( $block->mUser, $block->mAddress )
 292+ . $sk->userToolLinks( $block->mUser, $block->mAddress, false, Linker::TOOL_LINKS_NOBLOCK );
289293 }
290294
291295 $formattedTime = $wgLang->timeanddate( $block->mTimestamp, true );
Index: branches/liquidthreads/includes/Linker.php
@@ -12,6 +12,12 @@
1313 * @addtogroup Skins
1414 */
1515 class Linker {
 16+
 17+ /**
 18+ * Flags for userToolLinks()
 19+ */
 20+ const TOOL_LINKS_NOBLOCK = 1;
 21+
1622 function __construct() {}
1723
1824 /**
@@ -744,15 +750,18 @@
745751 }
746752
747753 /**
748 - * @param $userId Integer: user id in database.
749 - * @param $userText String: user name in database.
750 - * @param $redContribsWhenNoEdits Bool: return a red contribs link when the user had no edits and this is true.
751 - * @return string HTML fragment with talk and/or block links
 754+ * Generate standard user tool links (talk, contributions, block link, etc.)
 755+ *
 756+ * @param int $userId User identifier
 757+ * @param string $userText User name or IP address
 758+ * @param bool $redContribsWhenNoEdits Should the contributions link be red if the user has no edits?
 759+ * @param int $flags Customisation flags (e.g. self::TOOL_LINKS_NOBLOCK)
 760+ * @return string
752761 */
753 - public function userToolLinks( $userId, $userText, $redContribsWhenNoEdits = false ) {
 762+ public function userToolLinks( $userId, $userText, $redContribsWhenNoEdits = false, $flags = 0 ) {
754763 global $wgUser, $wgDisableAnonTalk, $wgSysopUserBans;
755764 $talkable = !( $wgDisableAnonTalk && 0 == $userId );
756 - $blockable = ( $wgSysopUserBans || 0 == $userId );
 765+ $blockable = ( $wgSysopUserBans || 0 == $userId ) && !$flags & self::TOOL_LINKS_NOBLOCK;
757766
758767 $items = array();
759768 if( $talkable ) {
Index: branches/liquidthreads/includes/DefaultSettings.php
@@ -1011,6 +1011,11 @@
10121012 * combined with the permissions of all groups that a given user is listed
10131013 * in in the user_groups table.
10141014 *
 1015+ * Note: Don't set $wgGroupPermissions = array(); unless you know what you're
 1016+ * doing! This will wipe all permissions, and may mean that your users are
 1017+ * unable to perform certain essential tasks or access new functionality
 1018+ * when new permissions are introduced and default grants established.
 1019+ *
10151020 * Functionality to make pages inaccessible has not been extensively tested
10161021 * for security. Use at your own risk!
10171022 *
Index: branches/liquidthreads/includes/LogPage.php
@@ -155,14 +155,17 @@
156156 switch( $type ) {
157157 case 'move':
158158 $titleLink = $skin->makeLinkObj( $title, $title->getPrefixedText(), 'redirect=no' );
159 - $params[0] = $skin->makeLinkObj( Title::newFromText( $params[0] ), $params[0] );
 159+ $params[0] = $skin->makeLinkObj( Title::newFromText( $params[0] ), htmlspecialchars( $params[0] ) );
160160 break;
161161 case 'block':
162162 if( substr( $title->getText(), 0, 1 ) == '#' ) {
163163 $titleLink = $title->getText();
164164 } else {
165 - $titleLink = $skin->makeLinkObj( $title, $title->getText() );
166 - $titleLink .= ' (' . $skin->makeKnownLinkObj( SpecialPage::getTitleFor( 'Contributions', $title->getDBkey() ), wfMsg( 'contribslink' ) ) . ')';
 165+ // TODO: Store the user identifier in the parameters
 166+ // to make this faster for future log entries
 167+ $id = User::idFromName( $title->getText() );
 168+ $titleLink = $skin->userLink( $id, $title->getText() )
 169+ . $skin->userToolLinks( $id, $title->getText(), false, Linker::TOOL_LINKS_NOBLOCK );
167170 }
168171 break;
169172 case 'rights':
Index: branches/liquidthreads/img_auth.php
@@ -1,63 +1,89 @@
22 <?php
 3+
34 /**
4 - * Image download authorisation script
 5+ * Image authorisation script
56 *
6 - * To use, in LocalSettings.php set $wgUploadDirectory to point to a non-public
7 - * directory, and $wgUploadPath to point to this file. Also set $wgWhitelistRead
8 - * to an array of pages you want everyone to be able to access. Your server must
9 - * support PATH_INFO, CGI-based configurations generally don't.
 7+ * To use this:
 8+ *
 9+ * Set $wgUploadDirectory to a non-public directory (not web accessible)
 10+ * Set $wgUploadPath to point to this file
 11+ *
 12+ * Your server needs to support PATH_INFO; CGI-based configurations
 13+ * usually don't.
1014 */
 15+
1116 define( 'MW_NO_OUTPUT_COMPRESSION', 1 );
12 -require_once( './includes/WebStart.php' );
 17+require_once( dirname( __FILE__ ) . '/includes/WebStart.php' );
1318 wfProfileIn( 'img_auth.php' );
14 -require_once( './includes/StreamFile.php' );
 19+require_once( dirname( __FILE__ ) . '/includes/StreamFile.php' );
1520
 21+// Extract path and image information
1622 if( !isset( $_SERVER['PATH_INFO'] ) ) {
17 - wfDebugLog( 'img_auth', "missing PATH_INFO" );
 23+ wfDebugLog( 'img_auth', 'Missing PATH_INFO' );
1824 wfForbidden();
1925 }
2026
21 -# Get filenames/directories
22 -wfDebugLog( 'img_auth', "PATH_INFO is: " . $_SERVER['PATH_INFO'] );
 27+$path = $_SERVER['PATH_INFO'];
2328 $filename = realpath( $wgUploadDirectory . $_SERVER['PATH_INFO'] );
24 -$realUploadDirectory = realpath( $wgUploadDirectory );
25 -$imageName = $wgContLang->getNsText( NS_IMAGE ) . ":" . wfBaseName( $_SERVER['PATH_INFO'] );
 29+$realUpload = realpath( $wgUploadDirectory );
 30+wfDebugLog( 'img_auth', "\$path is {$path}" );
 31+wfDebugLog( 'img_auth', "\$filename is {$filename}" );
2632
27 -# Check if the filename is in the correct directory
28 -if ( substr( $filename, 0, strlen( $realUploadDirectory ) ) != $realUploadDirectory ) {
29 - wfDebugLog( 'img_auth', "requested path not in upload dir: $filename" );
 33+// Basic directory traversal check
 34+if( substr( $filename, 0, strlen( $realUpload ) ) != $realUpload ) {
 35+ wfDebugLog( 'img_auth', 'Requested path not in upload directory' );
3036 wfForbidden();
3137 }
3238
33 -if ( is_array( $wgWhitelistRead ) && !in_array( $imageName, $wgWhitelistRead ) && !$wgUser->getID() ) {
34 - wfDebugLog( 'img_auth', "not logged in and requested file not in whitelist: $imageName" );
 39+// Extract the file name and chop off the size specifier
 40+// (e.g. 120px-Foo.png => Foo.png)
 41+$name = wfBaseName( $path );
 42+if( preg_match( '!\d+px-(.*)!i', $name, $m ) )
 43+ $name = $m[1];
 44+wfDebugLog( 'img_auth', "\$name is {$name}" );
 45+
 46+$title = Title::makeTitleSafe( NS_IMAGE, $name );
 47+if( !$title instanceof Title ) {
 48+ wfDebugLog( 'img_auth', "Unable to construct a valid Title from `{$name}`" );
3549 wfForbidden();
3650 }
 51+$title = $title->getPrefixedText();
3752
 53+// Check the whitelist if needed
 54+if( !$wgUser->getId() && ( !is_array( $wgWhitelistRead ) || !in_array( $title, $wgWhitelistRead ) ) ) {
 55+ wfDebugLog( 'img_auth', "Not logged in and `{$title}` not in whitelist." );
 56+ wfForbidden();
 57+}
 58+
3859 if( !file_exists( $filename ) ) {
39 - wfDebugLog( 'img_auth', "requested file does not exist: $filename" );
 60+ wfDebugLog( 'img_auth', "`{$filename}` does not exist" );
4061 wfForbidden();
4162 }
4263 if( is_dir( $filename ) ) {
43 - wfDebugLog( 'img_auth', "requested file is a directory: $filename" );
 64+ wfDebugLog( 'img_auth', "`{$filename}` is a directory" );
4465 wfForbidden();
4566 }
4667
47 -# Write file
48 -wfDebugLog( 'img_auth', "streaming file: $filename" );
 68+// Stream the requested file
 69+wfDebugLog( 'img_auth', "Streaming `{$filename}`" );
4970 wfStreamFile( $filename );
5071 wfLogProfilingData();
5172
 73+/**
 74+ * Issue a standard HTTP 403 Forbidden header and a basic
 75+ * error message, then end the script
 76+ */
5277 function wfForbidden() {
5378 header( 'HTTP/1.0 403 Forbidden' );
5479 header( 'Content-Type: text/html; charset=utf-8' );
55 - print
56 -"<html><body>
57 -<h1>Access denied</h1>
58 -<p>You need to log in to access files on this server</p>
59 -</body></html>";
 80+ echo <<<END
 81+<html>
 82+<body>
 83+<h1>Access Denied</h1>
 84+<p>You need to log in to access files on this server.</p>
 85+</body>
 86+</html>
 87+END;
6088 wfLogProfilingData();
61 - exit;
62 -}
63 -
64 -
 89+ exit();
 90+}
\ No newline at end of file
Index: branches/liquidthreads/languages/messages/MessagesEn.php
@@ -795,7 +795,7 @@
796796 $2",
797797 'namespaceprotected' => "You do not have permission to edit pages in the '''$1''' namespace.",
798798 'customcssjsprotected' => "You do not have permission to edit this page, because it contains another user's personal settings.",
799 -'ns-specialprotected' => "Pages in the special namespace cannot be edited.",
 799+'ns-specialprotected' => "Pages in the {{ns:special}} namespace cannot be edited.",
800800
801801 # Login and logout pages
802802 'logouttitle' => 'User logout',
@@ -970,7 +970,7 @@
971971 'blockedtext-concise' => "$7, which matches your username or IP address, has been blocked by $1. The reason given was $2. The expiry time of this block is $6. To discuss the block, you can
972972 contact $1, or another administrator. You cannot use the 'email this user' feature unless a valid email address is specified in your account preferences and you have not been blocked from using it.
973973 Your current IP address is $3, and the block ID is #$5. Please include either or both of these in any queries.",
974 -'autoblockedtext-concise' => "Your IP address has recently been used by a user who was blocked. The block was made by $1. The reason given was $2. The expiry time of this block is $6. To
 974+'autoblockedtext-concise' => "Your IP address has recently been used by a user who was blocked. The block was made by $1. The reason given was $2. The expiry time of this block is $6. To
975975 discuss the block, you can contact $1, or another administrator. You cannot use the 'email this user' feature unless a valid email address is specified in your account preferences and you have not
976976 been blocked from using it. Your current IP address is $3, and the block ID is #$5. Please include either or both of these in any queries.",
977977 'blockedoriginalsource' => "The source of '''$1''' is
@@ -2016,12 +2016,13 @@
20172017 'ipb-blocklist-addr' => 'View existing blocks for $1',
20182018 'ipb-blocklist' => 'View existing blocks',
20192019 'unblockip' => 'Unblock user',
2020 -'unblockiptext' => 'Use the form below to restore write access
2021 -to a previously blocked IP address or username.',
 2020+'unblockiptext' => 'Use the form below to restore write access to a previously blocked IP address or username.',
20222021 'ipusubmit' => 'Unblock this address',
20232022 'unblocked' => '[[User:$1|$1]] has been unblocked',
20242023 'unblocked-id' => 'Block $1 has been removed',
20252024 'ipblocklist' => 'List of blocked IP addresses and usernames',
 2025+'ipblocklist-legend' => 'Find a blocked user',
 2026+'ipblocklist-username' => 'Username or IP address:',
20262027 'ipblocklist-summary' => '', # only translate this message to other languages if you have to change it
20272028 'ipblocklist-submit' => 'Search',
20282029 'blocklistline' => '$1, $2 blocked $3 ($4)',
@@ -2038,7 +2039,7 @@
20392040 'contribslink' => 'contribs',
20402041 'autoblocker' => 'Autoblocked because your IP address has been recently used by "[[User:$1|$1]]". The reason given for $1\'s block is: "$2"',
20412042 'blocklogpage' => 'Block log',
2042 -'blocklogentry' => 'blocked "[[$1]]" with an expiry time of $2 $3',
 2043+'blocklogentry' => 'blocked [[$1]] with an expiry time of $2 $3',
20432044 'blocklogtext' => 'This is a log of user blocking and unblocking actions. Automatically
20442045 blocked IP addresses are not listed. See the [[Special:Ipblocklist|IP block list]] for
20452046 the list of currently operational bans and blocks.',
@@ -2111,9 +2112,8 @@
21122113 In those cases, you will have to move or merge the page manually if desired.",
21132114 'movearticle' => 'Move page:',
21142115 'movenologin' => 'Not logged in',
2115 -'movenologintext' => 'You must be a registered user and [[Special:Userlogin|logged in]]
2116 -to move a page.',
2117 -'movenotallowed' => 'You do not have permission to move pages on this wiki.',
 2116+'movenologintext' => 'You must be a registered user and [[Special:Userlogin|logged in]] to move a page.',
 2117+'movenotallowed' => 'You do not have permission to move pages on this wiki.',
21182118 'newtitle' => 'To new title:',
21192119 'move-watch' => 'Watch this page',
21202120 'movepagebtn' => 'Move page',
Index: branches/liquidthreads/languages/messages/MessagesSk.php
@@ -450,7 +450,7 @@
451451 'filedeleteerror' => 'Neviem vymazať súbor "$1".',
452452 'directorycreateerror' => 'Nebolo možné vytvoriť adresár "$1".',
453453 'filenotfound' => 'Neviem nájsť súbor "$1".',
454 -'fileexists' => 'Súbor s týmto názvom už existuje, prosím skontrolujte $1 ak nie ste si istý, či ho chcete zmeniť.',
 454+'fileexistserror' => 'Nebolo možné zapisovať do súboru "$1": súbor existuje',
455455 'unexpected' => 'Nečakaná hodnota: "$1"="$2".',
456456 'formerror' => 'Chyba: neviem spracovať formulár',
457457 'badarticleerror' => 'Na tejto stránke túto akciu nemožno vykonať.',
@@ -469,12 +469,15 @@
470470 'viewsource' => 'Zobraz zdroj',
471471 'viewsourcefor' => '$1',
472472 'protectedpagetext' => 'Táto stránka bola zamknutá aby sa zamedzilo úpravám.',
473 -'namespaceprotected' => "Nemáte povolenie upravovať stránky v mennom priestore '''$1'''.",
474473 'viewsourcetext' => 'Môžete si zobraziť a kopírovať zdroj tejto stránky:',
475474 'protectedinterface' => 'Táto stránka poskytuje text používateľského rozhrania a je zamknutá aby sa predišlo jej zneužitiu.',
476475 'editinginterface' => "'''Varovanie:''' Upravujete stránku, ktorá poskytuje text používateľského rozhrania. Zmeny tejto stránky ovplyvnia vzhľad používateľského rozhrania ostatných používateľov.",
477476 'sqlhidden' => '(SQL príkaz na prehľadávanie je skrytý)',
478 -'cascadeprotected' => 'Táto stránka bola zamknutá proti úpravám, pretože je použitá na {{PLURAL:$1|nasledovnej stránke, ktorá je zamknutá|nasledovných stránkach, ktoré sú zamknuté}} voľbou "kaskádového zamknutia":',
 477+'cascadeprotected' => 'Táto stránka bola zamknutá proti úpravám, pretože je použitá na {{PLURAL:$1|nasledovnej stránke, ktorá je zamknutá|nasledovných stránkach, ktoré sú zamknuté}} voľbou "kaskádového zamknutia":
 478+$2',
 479+'namespaceprotected' => "Nemáte povolenie upravovať stránky v mennom priestore '''$1'''.",
 480+'customcssjsprotected' => "You do not have permission to edit this page, because it contains another user's personal settings.",
 481+'ns-specialprotected' => 'Pages in the {{ns:special}} namespace cannot be edited.',
479482
480483 # Login and logout pages
481484 'logouttitle' => 'Odhlásiť používateľa',
@@ -532,6 +535,7 @@
533536 'nouserspecified' => 'Musíte uviesť meno používateľa.',
534537 'wrongpassword' => 'Zadané heslo je nesprávne. Skúste znovu.',
535538 'wrongpasswordempty' => 'Zadané heslo bolo prázdne. Skúste prosím znova.',
 539+'passwordtooshort' => 'Vaše heslo je príliš krátke. Musí mať dĺžku aspoň $1 znakov.',
536540 'mailmypassword' => 'Pošlite mi e-mailom dočasné heslo',
537541 'passwordremindertitle' => 'Oznámenie o hesle z {{GRAMMAR:genitív|{{SITENAME}}}}',
538542 'passwordremindertext' => 'Niekto (pravdepodobne vy, z IP adresy $1)
@@ -611,12 +615,14 @@
612616 'summary-preview' => 'Náhľad zhrnutia',
613617 'subject-preview' => 'Náhľad predmetu/hlavičky',
614618 'blockedtitle' => 'Používateľ je zablokovaný',
615 -'blockedtext' => 'Vaše používateľské meno alebo IP adresu zablokoval $1.
616 -Udáva tento dôvod:<br />\'\'$2\'\'
 619+'blockedtext' => '<big>\'\'\'Vaše používateľské meno alebo IP adresa bola zablokovaná.\'\'\'</big>
617620
618 -Blokovanie vyprší: $6<br />
619 -Kto mal byť zablokovaný: $7
 621+Zablokoval vás správca $1. Udáva tento dôvod:<br />\'\'$2\'\'
620622
 623+* Blokovanie začalo: $8
 624+* Blokovanie vyprší: $6
 625+* Kto mal byť zablokovaný: $7
 626+
621627 Môžete kontaktovať $1 alebo s jedného z ďalších
622628 [[{{MediaWiki:grouppage-sysop}}|správcov]] a prediskutovať blokovanie.
623629
@@ -624,11 +630,12 @@
625631
626632 Vaša IP adresa je $3 a ID blokovania je #$5. Prosíme, zahrňte oba tieto údaje do každej správy, ktorú posielate.',
627633 'autoblockedtext' => 'Vaša IP adresa bola automaticky zablokovaná, pretože je používaná iným používateľom, ktorého zablokoval $1.
628 -Udaný dôvod:
 634+Udaný dôvod zablokovania:
629635
630636 :\'\'$2\'\'
631637
632 -Blokovanie vypršaní: $6
 638+* Blokovanie začalo: $8
 639+* Blokovanie vyprší: $6
633640
634641 Ak sa potrebujete informovať o blokovaní, môžete kontaktovať $1 alebo niektorého iného
635642 [[{{MediaWiki:grouppage-sysop}}|správcu]].
@@ -637,6 +644,9 @@
638645 [[Special:Preferences|používateľských nastaveniach]] nezaregistrovali platnú emailovú adresu.
639646
640647 ID vášho blokovania je $5. Prosím, uveďte tento ID v akýchkoľvek otázkach, ktoré sa opýtate.',
 648+'blockedtext-concise' => '$7, čo sa zhoduje s vaším používateľským menom alebo IP adresou, zablokoval správca $1. Dôvod, ktorý udal: $2. Toto blokovanie vyprší $6. Ak potrebujete o bloku diskutovať, môžete kontaktovať $1 alebo iného správcu. Nemôžete použiť možnosť poslať "E-mail tomuto používateľovi" ak ste vo svojich používateľských nastaveniach nezadalo platnú emailovú adresu alebo vám jej používanie bolo zablokované.
 649+Vaša aktuálna IP adresa je $3 a ID blokovania je #$5. Prosím, uveďte tieto údaje v akýchkoľvek otázkach, ktoré sa opýtate.',
 650+'autoblockedtext-concise' => 'Vaša IP adresa bola nedávno použitá používateľom, ktorý bol zablokovaný. Blokovanie vykonal správca $1. Dôvod, ktorý udal: $2. Toto blokovanie vyprší $6. Ak potrebujete o bloku diskutovať, môžete kontaktovať $1 alebo iného správcu. Nemôžete použiť možnosť poslať "E-mail tomuto používateľovi" ak ste vo svojich používateľských nastaveniach nezadalo platnú emailovú adresu alebo vám jej používanie bolo zablokované. Vaša aktuálna IP adresa je $3 a ID blokovania je #$5. Prosím, uveďte tieto údaje v akýchkoľvek otázkach, ktoré sa opýtate.',
641651 'blockedoriginalsource' => "Zdroj '''$1''' je zobrazený nižšie:",
642652 'blockededitsource' => "Text '''Vašich úprav''' stránky '''$1''' je zobrazený nižšie:",
643653 'whitelistedittitle' => 'Na úpravu je nutné prihlásenie',
@@ -667,7 +677,7 @@
668678 'usercssjsyoucanpreview' => "<strong>Tip:</strong> Použite tlačítko 'Zobraz náhľad' na otestovanie Vášho nového CSS/JS pred uložením.",
669679 'usercsspreview' => "'''Nezabudnite, že toto je iba náhľad vášho používateľského CSS, ešte nebolo uložené!'''",
670680 'userjspreview' => "'''Nezabudnite, že iba testujete/náhľad vášho používateľského JavaScriptu, ešte nebol uložený!'''",
671 -'userinvalidcssjstitle' => "'''Varovanie:''' Neexistuje skin \"\$1\". Pamätajte, že vlastné .css a .js stránky používajú názov s malými písmenami, napr. {{ns:user}}:Foo/monobook.css na rozdiel od {{ns:user}}:Foo/Monobook.css.",
 681+'userinvalidcssjstitle' => "'''Varovanie:''' Neexistuje skin \"\$1\". Pamätajte, že vlastné .css a .js stránky používajú názov s malými písmenami, napr. {{ns:user}}:Foo/monobook.css a nie {{ns:user}}:Foo/Monobook.css.",
672682 'updated' => '(Aktualizovaný)',
673683 'note' => '<strong>Poznámka: </strong>',
674684 'previewnote' => '<strong>Nezabudnite, toto je len náhľad vami upravovanej stránky. Zmeny ešte nie sú uložené!</strong>',
@@ -727,6 +737,9 @@
728738 'nocreatetitle' => 'Tvorba nových stránok bola obmedzená',
729739 'nocreatetext' => 'Na tejto stránke je tvorba nových stránok obmedzená.
730740 Teraz sa môžete vrátiť späť a upravovať existujúcu stránku alebo [[Special:Userlogin|sa prihlásiť alebo vytvoriť účet]].',
 741+'nocreate-loggedin' => 'You do not have permission to create new pages on this wiki.',
 742+'permissionserrors' => 'Permissions Errors',
 743+'permissionserrorstext' => 'Na to nemáte povolenie z {{PLURAL:$1|nasledujúceho dôvodu|nasledujúcich dôvodov}}:',
731744 'recreate-deleted-warn' => "'''Upozornenie: Opätovne vytvárate stránku, ktorá bola predtým zmazaná.'''
732745
733746 Mali by ste zvážiť, či je vhodné pokračovať v úpravách tejto stránky.
@@ -790,7 +803,7 @@
791804 Ako správca tohto projektu si ju môžete prezrieť;
792805 podrobnosti môžu byť v [{{fullurl:Special:Log/delete|page={{PAGENAMEE}}}} zázname mazaní].
793806 </div>',
794 -'rev-delundel' => 'ukáž/skry',
 807+'rev-delundel' => 'zobraziť/skryť',
795808 'revisiondelete' => 'Zmazať/obnoviť revízie',
796809 'revdelete-nooldid-title' => 'Chýba cieľová revízia',
797810 'revdelete-nooldid-text' => 'Nešpecifikovali ste cieľovú revíziu alebo revízie, na ktorých sa má táto funkcia vykonať.',
@@ -1033,6 +1046,7 @@
10341047 'large-file' => 'Odporúča sa aby veľkosť súborov neprekračovala $1; tento súbor má $2.',
10351048 'largefileserver' => 'Tento súbor je väčší ako je možné nahrať na server (z dôvodu obmedzenia veľkosti súboru v konfigurácii servera).',
10361049 'emptyfile' => 'Zdá sa, že súbor, ktorý ste nahrali je prázdny. Mohlo sa stať, že ste urobili v názve súboru preklep. Prosím, skontrolujte, či skutočne chcete nahrať tento súbor.',
 1050+'fileexists' => 'Súbor s týmto názvom už existuje, prosím skontrolujte $1 ak nie ste si istý, či ho chcete zmeniť.',
10371051 'fileexists-extension' => 'Súbor s podobným názvom už existuje:<br />
10381052 Názov súboru, ktoý nahrávate: <strong><tt>$1</tt></strong><br />
10391053 Názov existujúceho súboru: <strong><tt>$2</tt></strong><br />
@@ -1089,14 +1103,17 @@
10901104 'imgdelete' => 'zmazať',
10911105 'imgdesc' => 'popis',
10921106 'imgfile' => 'súbor',
1093 -'imglegend' => 'Legenda: (popis) = zobraziť/upraviť popis obrázka.',
1094 -'imghistory' => 'História súboru',
1095 -'revertimg' => 'obnov',
1096 -'deleteimg' => 'zmazať',
1097 -'deleteimgcompletely' => 'Vymazať všetky revízie tohto súboru',
1098 -'imghistlegend' => 'Vysvetlivky: (aktuálna) = toto je aktuálny obrázok, (zmazať) = zmaž
1099 -túto starú verziu, (pôvodná) = vráť sa k tejto starej verzii.
1100 -<br /><i>Kliknite na dátum, aby sa zobrazil obrázok nahraný v ten deň</i>.',
 1107+'filehist' => 'História súboru',
 1108+'filehist-help' => 'Po kliknutí na dátum/čas uvidíte súbor ako vyzeral vtedy.',
 1109+'filehist-deleteall' => 'zmazať všetky',
 1110+'filehist-deleteone' => 'zmazať túto',
 1111+'filehist-revert' => 'obnoviť',
 1112+'filehist-current' => 'aktuálna',
 1113+'filehist-datetime' => 'dátum/čas',
 1114+'filehist-user' => 'používateľ',
 1115+'filehist-dimensions' => 'rozmery',
 1116+'filehist-filesize' => 'veľkosť súboru',
 1117+'filehist-comment' => 'komentár',
11011118 'imagelinks' => 'Odkazy na obrázok',
11021119 'linkstoimage' => 'Na tento obrázok odkazujú nasledujúce stránky:',
11031120 'nolinkstoimage' => 'Žiadne stránky neobsahujú odkazy na tento obrázok.',
@@ -1113,6 +1130,16 @@
11141131 'imagelist_description' => 'Popis',
11151132 'imagelist_search_for' => 'Hľadať názov obrázka:',
11161133
 1134+# File reversion
 1135+'filerevert' => 'Obnoviť $1',
 1136+'filerevert-legend' => 'Obnoviť súbor',
 1137+'filerevert-intro' => '<span class="plainlinks">Obnovujete \'\'\'[[Media:$1|$1]]\'\'\' na [$4 verziu z $2, $3].</span>',
 1138+'filerevert-comment' => 'komentár:',
 1139+'filerevert-defaultcomment' => 'Obnovená verzia z $1, $2',
 1140+'filerevert-submit' => 'Obnoviť',
 1141+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\' bol obnovený na [$4 verziu z $2, $3].</span>',
 1142+'filerevert-badversion' => 'Neexistuje predchádzajúca lokálna verzia tohto súboru s požadovanopu časovou známkou.',
 1143+
11171144 # MIME search
11181145 'mimesearch' => 'MIME vyhľadávanie',
11191146 'mimesearch-summary' => 'Táto stránka umožňuje filtovanie súborov podľa MIME typu. Vstup: typobsahu/podtyp, napr. <tt>image/jpeg</tt>.',
@@ -1384,7 +1411,6 @@
13851412 'deletionlog' => 'záznam zmazaní',
13861413 'reverted' => 'Obnovené na skoršiu verziu',
13871414 'deletecomment' => 'Dôvod na zmazanie',
1388 -'imagereverted' => 'Obnovenie skoršej verzie bolo úspešné.',
13891415 'rollback' => 'Rollback úprav',
13901416 'rollback_short' => 'Rollback',
13911417 'rollbacklink' => 'rollback',
@@ -1574,6 +1600,8 @@
15751601 'unblocked' => '[[User:$1|$1]] bol odblokovaný',
15761602 'unblocked-id' => 'Blokovanie $1 bolo odstránené',
15771603 'ipblocklist' => 'Zoznam zablokovaných používateľov/IP adries',
 1604+'ipblocklist-legend' => 'Find a blocked user',
 1605+'ipblocklist-username' => 'Username or IP address:',
15781606 'ipblocklist-submit' => 'Hľadať',
15791607 'blocklistline' => '$1, $2 zablokoval $3 (ukončenie $4)',
15801608 'infiniteblock' => 'na neurčito',
@@ -1661,6 +1689,7 @@
16621690 'movearticle' => 'Presunúť stránku',
16631691 'movenologin' => 'Nie ste prihlásený',
16641692 'movenologintext' => 'Musíte byť registrovaný používateľ a [[Special:Userlogin|prihlásený]], aby ste mohli presunúť stránku.',
 1693+'movenotallowed' => 'You do not have permission to move pages on this wiki.',
16651694 'newtitle' => 'Na nový názov',
16661695 'move-watch' => 'Sledovať túto stránku',
16671696 'movepagebtn' => 'Presunúť stránku',
@@ -1714,7 +1743,6 @@
17151744 'allmessagesdefault' => 'štandardný text',
17161745 'allmessagescurrent' => 'aktuálny text',
17171746 'allmessagestext' => 'Toto je zoznam všetkých správ dostupných v mennom priestore MediaWiki.',
1718 -'allmessagesnotsupportedUI' => "Special:AllMessages na tejto lokalite (site) nepodporuje jazyk pre vaše rozhranie ('''$1''').",
17191747 'allmessagesnotsupportedDB' => 'Special:AllMessages nie je podporované, pretože je vypnuté wgUseDatabaseMessages.',
17201748 'allmessagesfilter' => 'Filter názvov správ:',
17211749 'allmessagesmodified' => 'Zobraz iba zmenené',
@@ -1920,13 +1948,17 @@
19211949 'showhidebots' => '($1 botov)',
19221950 'noimages' => 'Nič na zobrazenie.',
19231951
1924 -'passwordtooshort' => 'Vaše heslo je príliš krátke. Musí mať dĺžku aspoň $1 znakov.',
 1952+# Bad image list
 1953+'bad_image_list' => 'The format is as follows:
19251954
 1955+Only list items (lines starting with *) are considered. The first link on a line must be a link to a bad image.
 1956+Any subsequent links on the same line are considered to be exceptions, i.e. articles where the image may occur inline.',
 1957+
19261958 # Metadata
19271959 'metadata' => 'Metadáta',
19281960 'metadata-help' => 'Tento súbor obsahuje ďalšie informácie, pravdepodobne pochádzajúce z digitálneho fotoaparátu či skenera ktorý ho vytvoril alebo digitalizoval. Ak bol súbor zmenený, niektoré podrobnosti sa nemusia plne zhodovať so zmeneným obrázkom.',
1929 -'metadata-expand' => 'Zobraz detaily EXIF',
1930 -'metadata-collapse' => 'Skry detaily EXIF',
 1961+'metadata-expand' => 'Zobraziť detaily EXIF',
 1962+'metadata-collapse' => 'Skryť detaily EXIF',
19311963 'metadata-fields' => 'Polia EXIF metadát uvedených v tejto správe sa zobrazia na stránke obrázka vtedy, keď je tabuľka metadát zbalená. Ostatné sa štandardne nezobrazia.
19321964 * make
19331965 * model
Index: branches/liquidthreads/languages/messages/MessagesHe.php
@@ -1074,7 +1074,7 @@
10751075 'successfulupload' => 'העלאת הקובץ הושלמה בהצלחה',
10761076 'uploadwarning' => 'אזהרת העלאת קבצים',
10771077 'savefile' => 'שמור קובץ',
1078 -'uploadedimage' => 'העלה את הקובץ "[[$1]]"',
 1078+'uploadedimage' => 'העלה את הקובץ [[$1]]',
10791079 'uploaddisabled' => 'העלאת קבצים מנוטרלת',
10801080 'uploaddisabledtext' => 'אפשרות העלאת הקבצים מנוטרלת באתר זה.',
10811081 'uploadscripted' => 'הקובץ כולל קוד סקריפט או HTML שעשוי להתפרש או להתבצע בטעות על־ידי הדפדפן.',
@@ -1332,13 +1332,13 @@
13331333 'watchnologin' => 'לא נכנסתם לאתר',
13341334 'watchnologintext' => 'עליכם [[{{ns:special}}:Userlogin|להיכנס לחשבון]] כדי לערוך את רשימת המעקב.',
13351335 'addedwatch' => 'הדף נוסף לרשימת המעקב',
1336 -'addedwatchtext' => 'הדף "[[:$1]]" נוסף ל[[{{ns:special}}:Watchlist|רשימת המעקב]]. שינויים שייערכו בעתיד, בדף זה ובדף השיחה שלו, יוצגו ברשימת המעקב.
 1336+'addedwatchtext' => 'הדף [[:$1]] נוסף ל[[{{ns:special}}:Watchlist|רשימת המעקב]]. שינויים שייערכו בעתיד, בדף זה ובדף השיחה שלו, יוצגו ברשימת המעקב.
13371337
13381338 בנוסף, הדף יופיע בכתב מודגש ב[[{{ns:special}}:Recentchanges|רשימת השינויים האחרונים]], כדי להקל עליכם את המעקב אחריו.
13391339
13401340 אם תרצו להסיר את הדף מרשימת המעקב, לחצו על הלשונית "הפסקת מעקב" שלמעלה.',
13411341 'removedwatch' => 'הדף הוסר מרשימת המעקב',
1342 -'removedwatchtext' => 'הדף "[[:$1]]" הוסר מ[[{{ns:special}}:Watchlist|רשימת המעקב]].',
 1342+'removedwatchtext' => 'הדף [[:$1]] הוסר מ[[{{ns:special}}:Watchlist|רשימת המעקב]].',
13431343 'watch' => 'מעקב',
13441344 'watchthispage' => 'עקוב אחר דף זה',
13451345 'unwatch' => 'הפסקת מעקב',
@@ -1413,8 +1413,8 @@
14141414
14151415 אנא אשרו שזה אכן מה שאתם מתכוונים לעשות, שאתם מבינים את התוצאות של מעשה כזה, ושהמעשה מבוצע בהתאם לנהלי האתר.',
14161416 'actioncomplete' => 'הפעולה בוצעה',
1417 -'deletedtext' => '"[[:$1]]" נמחק. ראו $2 לרשימת המחיקות האחרונות.',
1418 -'deletedarticle' => 'מחק את "[[$1]]"',
 1417+'deletedtext' => '[[:$1]] נמחק. ראו $2 לרשימת המחיקות האחרונות.',
 1418+'deletedarticle' => 'מחק את [[$1]]',
14191419 'dellogpage' => 'יומן מחיקות',
14201420 'dellogpagetext' => 'להלן רשימה של המחיקות האחרונות שבוצעו.',
14211421 'deletionlog' => 'יומן מחיקות',
@@ -1434,9 +1434,9 @@
14351435 'sessionfailure' => 'נראה שיש בעיה בחיבורכם לאתר. פעולתכם בוטלה כאמצעי זהירות כנגד התחזות לתקשורת ממחשבכם. אנא חיזרו לדף הקודם ונסו שנית.',
14361436 'protectlogpage' => 'יומן הגנות',
14371437 'protectlogtext' => 'להלן רשימה של הגנות וביטולי הגנות על דפים. ראו גם את [[{{ns:special}}:Protectedpages|רשימת הדפים המוגנים]] הנוכחית.',
1438 -'protectedarticle' => 'הגן על "[[$1]]"',
1439 -'modifiedarticleprotection' => 'שינה את רמת ההגנה של "[[$1]]"',
1440 -'unprotectedarticle' => 'ביטל את ההגנה על "[[$1]]"',
 1438+'protectedarticle' => 'הגן על [[$1]]',
 1439+'modifiedarticleprotection' => 'שינה את רמת ההגנה של [[$1]]',
 1440+'unprotectedarticle' => 'ביטל את ההגנה על [[$1]]',
14411441 'protectsub' => '(מגן על "$1")',
14421442 'confirmprotect' => 'מאשר את ההגנה',
14431443 'protectcomment' => 'הערה:',
@@ -1489,7 +1489,7 @@
14901490 'undeletebtn' => 'שחזור',
14911491 'undeletereset' => 'איפוס',
14921492 'undeletecomment' => 'תקציר:',
1493 -'undeletedarticle' => 'שחזר את "[[$1]]"',
 1493+'undeletedarticle' => 'שחזר את [[$1]]',
14941494 'undeletedrevisions' => 'שחזר $1 גרסאות',
14951495 'undeletedrevisions-files' => 'שחזר $1 גרסאות ו־$2 קבצים',
14961496 'undeletedfiles' => 'שחזר $1 קבצים',
@@ -1598,9 +1598,11 @@
15991599 'unblockip' => 'שחרר משתמש',
16001600 'unblockiptext' => 'השתמשו בטופס שלהלן כדי להחזיר את הרשאות הכתיבה למשתמש או כתובת IP חסומים.',
16011601 'ipusubmit' => 'שחרר משתמש זה',
1602 -'unblocked' => 'המשתמש "[[משתמש:$1|$1]]" שוחרר מחסימתו.',
 1602+'unblocked' => 'המשתמש [[משתמש:$1|$1]] שוחרר מחסימתו.',
16031603 'unblocked-id' => 'חסימה מספר $1 שוחררה.',
16041604 'ipblocklist' => 'רשימת משתמשים חסומים',
 1605+'ipblocklist-legend' => 'מציאת משתמש חסום',
 1606+'ipblocklist-username' => 'שם משתמש או כתובת IP:',
16051607 'ipblocklist-submit' => 'חיפוש',
16061608 'blocklistline' => '$1 $2 חסם את $3 ($4)',
16071609 'infiniteblock' => 'לצמיתות',
@@ -1700,7 +1702,7 @@
17011703 'revertmove' => 'החזר',
17021704 'delete_and_move' => 'מחק והעבר',
17031705 'delete_and_move_text' => '== בקשת מחיקה ==
1704 -דף היעד "[[$1]]" כבר קיים. האם ברצונכם למחוק אותו כדי לאפשר את ההעברה?',
 1706+דף היעד [[$1]] כבר קיים. האם ברצונכם למחוק אותו כדי לאפשר את ההעברה?',
17051707 'delete_and_move_confirm' => 'כן, מחק את הדף',
17061708 'delete_and_move_reason' => 'מחיקה על מנת לאפשר העברה',
17071709 'selfmove' => 'כותרות המקור והיעד זהות; לא ניתן להעביר דף לעצמו.',
@@ -1712,7 +1714,7 @@
17131715
17141716 כדי לייצא דפים, הקישו את שמותיהם בתיבת הטקסט שלהלן, כל שם בשורה נפרדת, ובחרו האם לייצא גם את הגרסה הנוכחית וגם את היסטוריית השינויים של הדפים, או רק את הגרסה הנוכחית עם מידע על העריכה האחרונה.
17151717
1716 -בנוסף, ניתן להשתמש בקישור, כגון [[{{ns:special}}:Export/{{int:mainpage}}]] לדף "[[{{int:mainpage}}]]" ללא היסטוריית השינויים שלו.',
 1718+בנוסף, ניתן להשתמש בקישור, כגון [[{{ns:special}}:Export/{{int:mainpage}}]] לדף [[{{int:mainpage}}]] ללא היסטוריית השינויים שלו.',
17171719 'exportcuronly' => 'כלול רק את הגרסה הנוכחית, ללא כל ההיסטוריה',
17181720 'exportnohistory' => "----
17191721 '''הערה:''' ייצוא ההיסטוריה המלאה של דפים דרך טופס זה הופסקה עקב בעיות ביצוע.",
Index: branches/liquidthreads/languages/messages/MessagesTn.php
@@ -0,0 +1,163 @@
 2+<?php
 3+/** Setswana
 4+ *
 5+ * @addtogroup Language
 6+ */
 7+
 8+$messages = array(
 9+# Dates
 10+'sunday' => 'Tshipi',
 11+'monday' => 'Mosupologo',
 12+'tuesday' => 'Labobedi',
 13+'wednesday' => 'Laboraro',
 14+'thursday' => 'Labone',
 15+'friday' => 'Labotlhano',
 16+'saturday' => 'Matlhatso',
 17+'january' => 'Firikgong',
 18+'february' => 'Tlhakole',
 19+'march' => 'Mopitlo',
 20+'april' => 'Moranang',
 21+'may_long' => 'Motsheganong',
 22+'june' => 'Seetebosigo',
 23+'july' => 'Phukwi',
 24+'august' => 'Phatwe',
 25+'september' => 'Lwetse',
 26+'october' => 'Phalane',
 27+'november' => 'Ngwanatsele',
 28+'december' => 'Sedimonthole',
 29+'january-gen' => 'Firikgong',
 30+'february-gen' => 'Tlhakole',
 31+'march-gen' => 'Mopitlo',
 32+'april-gen' => 'Moranang',
 33+'may-gen' => 'Motsheganong',
 34+'june-gen' => 'Seetebosigo',
 35+'july-gen' => 'Phukwi',
 36+'august-gen' => 'Phatwe',
 37+'september-gen' => 'Lwetse',
 38+'october-gen' => 'Phalane',
 39+'november-gen' => 'Ngwanatsele',
 40+'december-gen' => 'Sedimonthole',
 41+
 42+'cancel' => 'Sutlha',
 43+'mytalk' => 'Puo yame',
 44+'navigation' => 'Tsweletso',
 45+
 46+'help' => 'Thuso',
 47+'search' => 'Senka',
 48+'searchbutton' => 'Senka',
 49+'go' => 'Tsamaya',
 50+'searcharticle' => 'Tsamaya',
 51+'history_short' => 'Ditso',
 52+'printableversion' => 'Mokwalo o o ka gatisiwang motlhofo',
 53+'permalink' => 'Kgolagano ya sennelaruri',
 54+'edit' => 'Baakanya',
 55+'delete' => 'Sutlha',
 56+'protect' => 'Sireletsa',
 57+'talk' => 'Puisano',
 58+'toolbox' => 'Lebokoso la dithulusu',
 59+'otherlanguages' => 'Ka dipuo di sele',
 60+
 61+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations).
 62+'currentevents' => 'Ditiragalo tsa sešeng',
 63+'disclaimers' => 'Tlhapa diatla',
 64+'edithelp' => 'Thuso ya go fetola',
 65+'mainpage' => 'Tsebe ya konokono',
 66+'portal' => 'Patlelo ya setšhaba',
 67+'privacy' => 'Melawana ya sephiri',
 68+'sitesupport' => 'Dimpho',
 69+
 70+'youhavenewmessages' => 'O na le $1 ($2).',
 71+'newmessageslink' => 'molaetsa o moša',
 72+'editsection' => 'baakanya',
 73+'editold' => 'baakanya',
 74+
 75+# Short words for each namespace, by default used in the 'article' tab in monobook
 76+'nstab-main' => 'Mokwalo',
 77+'nstab-mediawiki' => 'Molaetsa',
 78+
 79+# General errors
 80+'viewsource' => 'Lebelela motswedi',
 81+
 82+# Login and logout pages
 83+'welcomecreation' => '== Amogelesega, $1! ==
 84+
 85+O ipuletse akhaonte. O seka wa lebala go fetola tse o di dikgatlhegelo tsa gago tsa {{SITENAME}}.',
 86+'yourname' => 'Leina la modirisi:',
 87+'yourpassword' => 'Selotlolo sa sephiri:',
 88+'yourpasswordagain' => 'Kwala selotlolo sa gago sa sephiri gape:',
 89+'remembermypassword' => 'Gakologelwa ikwadiso yame mo khompiutareng e',
 90+'login' => 'Ikwadise',
 91+'userlogin' => 'Ikwadise / ipulela tsebe',
 92+'logout' => 'Tswala',
 93+'userlogout' => 'Tswala',
 94+'notloggedin' => 'Ga o a ikwadisa',
 95+'createaccount' => 'Ipulela tsebe',
 96+'youremail' => 'E-mail:',
 97+'username' => 'Leina la modirisi:',
 98+
 99+# Edit pages
 100+'summary' => 'Tshoboko',
 101+'minoredit' => 'Se ke paakanyo e potlana',
 102+'watchthis' => 'Lebelela tsebe e',
 103+'savearticle' => 'Boloka tsebe',
 104+'showpreview' => 'Supa gore go tlaa lebega jang',
 105+'showdiff' => 'Supa diphetogo',
 106+'whitelistedittitle' => 'Ikwadiso e a tlhokafala fa o batla go baakanya sengwe',
 107+
 108+# History pages
 109+'currentrev' => 'Dipaakanyo tsa sešeng',
 110+'currentrevisionlink' => 'Dipaakanyo tsa sešeng',
 111+
 112+# Preferences page
 113+'mypreferences' => 'Dikgatlhegelo tsa me',
 114+
 115+# Recent changes
 116+'recentchanges' => 'Diphetogo tsa sešeng',
 117+
 118+# Recent changes linked
 119+'recentchangeslinked' => 'Diphetogo tse di tsamaelanang',
 120+
 121+# Upload
 122+'upload' => 'Tsenya mokwalo o o tswang kwantle',
 123+'uploadbtn' => 'Tsenya mokwalo o o tswang kwantle',
 124+'watchthisupload' => 'Lebelela tsebe e',
 125+
 126+# Miscellaneous special pages
 127+'randompage' => 'Tsebe e e sa tlhomamang',
 128+'specialpages' => 'Diphetogo tse di faphegileng',
 129+'move' => 'Suta',
 130+'movethispage' => 'Sutisa tsebe e',
 131+
 132+# Watchlist
 133+'mywatchlist' => 'Mafoko a ke a etseng tlhoko',
 134+'watchnologin' => 'Ga o a ikwadisa',
 135+'watch' => 'Lebelela',
 136+'watchthispage' => 'Lebelela tsebe e',
 137+
 138+# Undelete
 139+'undelete-search-submit' => 'Senka',
 140+
 141+# Contributions
 142+'mycontris' => 'Seabe same',
 143+
 144+# What links here
 145+'whatlinkshere' => 'Ke eng se se gokaganang fa',
 146+
 147+# Move page
 148+'movepage' => 'Sutisa tsebe',
 149+'movearticle' => 'Sutisa tsebe:',
 150+'movenologin' => 'Ga o a ikwadisa',
 151+'movepagebtn' => 'Sutisa tsebe',
 152+'movedto' => 'sutela kwa',
 153+'1movedto2' => '[[$1]] o sutisediwa kwa go [[$2]]',
 154+'movereason' => 'Lebaka:',
 155+
 156+# Namespace 8 related
 157+'allmessages' => 'Melaetsa ya maranyane',
 158+
 159+# Inputbox extension, may be useful in other contexts as well
 160+'createarticle' => 'Kwala mokwalo',
 161+
 162+'youhavenewmessagesmulti' => 'O na le molaetsa o moša mo $1',
 163+
 164+);
Property changes on: branches/liquidthreads/languages/messages/MessagesTn.php
___________________________________________________________________
Added: svn:eol-style
1165 + native
Index: branches/liquidthreads/languages/messages/MessagesId.php
@@ -385,7 +385,7 @@
386386 'category_header' => 'Artikel dalam kategori "$1"',
387387 'subcategories' => 'Subkategori',
388388 'category-media-header' => 'Media dalam kategori "$1"',
389 -'category-empty' => "''Saat ini kategori ini tak memiliki artikel atau media.''",
 389+'category-empty' => "''Kategori ini saat ini tak memiliki artikel atau media.''",
390390
391391 'mainpagetext' => "<big>'''MediaWiki telah terinstall dengan sukses'''</big>.",
392392 'mainpagedocfooter' => 'Silakan baca [http://meta.wikimedia.org/wiki/Help:Contents Panduan Pengguna] untuk informasi penggunaan perangkat lunak wiki.
@@ -565,7 +565,7 @@
566566 'filedeleteerror' => 'Tidak dapat menghapus berkas "$1".',
567567 'directorycreateerror' => 'Tidak dapat membuat direktori "$1".',
568568 'filenotfound' => 'Tidak dapat menemukan berkas "$1".',
569 -'fileexists' => 'Berkas dengan nama tersebut telah ada, harap periksa <strong><tt>$1</tt></strong> jika Anda tidak yakin untuk mengubahnya.',
 569+'fileexistserror' => 'Tidak dapat menulis berkas "$1": berkas sudah ada',
570570 'unexpected' => 'Nilai di luar jangkauan: "$1"="$2".',
571571 'formerror' => 'Kesalahan: Tidak dapat mengirimkan formulir',
572572 'badarticleerror' => 'Tindakan ini tidak dapat dilaksanakan di halaman ini.',
@@ -580,12 +580,15 @@
581581 'viewsource' => 'Lihat sumber',
582582 'viewsourcefor' => 'dari $1',
583583 'protectedpagetext' => 'Halaman ini telah dikunci untuk menghindari penyuntingan.',
584 -'namespaceprotected' => "Anda tak memiliki hak untuk menyunting halaman di ruang nama '''$1'''.",
585584 'viewsourcetext' => 'Anda dapat melihat atau menyalin sumber halaman ini:',
586585 'protectedinterface' => 'Halaman ini berisi teks antarmuka untuk digunakan oleh perangkat lunak dan telah dikunci untuk menghindari kesalahan.',
587586 'editinginterface' => "'''Peringatan:''' Anda menyunting halaman yang digunakan untuk menyediakan teks antarmuka dengan perangkat lunak. Perubahan teks ini akan mempengaruhi tampilan pada pengguna lain.",
588587 'sqlhidden' => '(Permintaan SQL disembunyikan)',
589 -'cascadeprotected' => 'Halaman ini telah dilindungi dari penyuntingan karena disertakan di {{PLURAL:$1|halaman|halaman-halaman}} berikut yang telah dilindungi dengan opsi "runtun":',
 588+'cascadeprotected' => 'Halaman ini telah dilindungi dari penyuntingan karena disertakan di {{PLURAL:$1|halaman|halaman-halaman}} berikut yang telah dilindungi dengan opsi "runtun":
 589+$2',
 590+'namespaceprotected' => "Anda tak memiliki hak untuk menyunting halaman di ruang nama '''$1'''.",
 591+'customcssjsprotected' => 'Anda tak memiliki hak menyunting halaman ini karena mengandung pengaturan pribadi pengguna lain.',
 592+'ns-specialprotected' => 'Halaman pada ruang nama istimewa tidak dapat disunting.',
590593
591594 # Login and logout pages
592595 'logouttitle' => 'Keluar log pengguna',
@@ -639,6 +642,7 @@
640643 'nouserspecified' => 'Anda harus memasukkan nama pengguna.',
641644 'wrongpassword' => 'Kata sandi yang Anda masukkan salah. Silakan coba lagi.',
642645 'wrongpasswordempty' => 'Anda tidak memasukkan kata sandi. Silakan coba lagi.',
 646+'passwordtooshort' => 'Kata sandi Anda tidak sah atau terlalu pendek. Kata sandi paling tidak harus terdiri dari $1 karakter dan harus berbeda dengan nama pengguna Anda.',
643647 'mailmypassword' => 'Kirimkan kata sandi baru',
644648 'passwordremindertitle' => 'Peringatan kata sandi dari {{SITENAME}}',
645649 'passwordremindertext' => 'Seseorang (mungkin Anda, dari alamat IP $1) meminta kami mengirimkan kata sandi yang baru untuk {{SITENAME}} ($4). Kata sandi untuk pengguna "$2" sekarang adalah "$3". Anda disarankan segera masuk log dan mengganti kata sandi.',
@@ -711,8 +715,9 @@
712716
713717 Blokir dilakukan oleh $1. Alasan yang diberikan adalah ''$2''.
714718
715 -Blokir kadaluwarsa pada: $6<br />
716 -Sasaran pemblokiran: $7
 719+* Diblokir sejak: $8
 720+* Blokir kadaluwarsa pada: $6
 721+* Sasaran pemblokiran: $7
717722
718723 Anda dapat menghubungi $1 atau [[{{MediaWiki:grouppage-sysop}}|pengurus lainnya]] untuk membicarakan hal ini.
719724
@@ -723,13 +728,17 @@
724729
725730 :\'\'$2\'\'
726731
727 -Blokir kadaluwarsa pada: $6
 732+* Diblokir sejak: $8
 733+* Blokir kadaluwarsa pada: $6
728734
729735 Anda dapat menghubungi $1 atau [[{{MediaWiki:grouppage-sysop}}|pengurus lainnya]] untuk membicarakan hal ini.
730736
731737 Anda tidak dapat menggunakan fitur "kirim surat-e pengguna ini" kecuali Anda telah memasukkan alamat surat-e yang sah di [[Special:Preferences|preferensi]] Anda dan Anda telah diblokir untuk menggunakannya.
732738
733739 ID pemblokiran Anda adalah $5. Tolong sertakan ID ini dalam setiap pertanyaan Anda.',
 740+'blockedtext-concise' => "$7, yang cocok dengan nama pengguna atau alamat IP Anda telah diblokir oleh $1. Alasan yang diberikan adalah $2. Blokir ini berlaku hingga $6. Untuk membicarakan masalah ini, Anda dapat menghubungi $1 atau pengurus lainnya. Anda tidak dapat menggunakan fitur 'kirim surat-e pengguna ini' kecuali Anda telah memasukkan alamat surat-e yang valid pada preferensi Anda dan Anda tidak diblokir untuk menggunakan fitur ini.
 741+Alamat IP Anda saat ini adalah $3, dan ID blokir adalah #$5. Harap sertakan salah satu atau kedua informasi tersebut pada permintaan informasi Anda.",
 742+'autoblockedtext-concise' => "Alamat IP Anda telah digunakan oleh seorang pengguna yang diblokir. Blokir tersebut diterapkan oleh $1. Alasan yang diberikan adalah $2 dan akan berakhir pada $6. Untuk membicarakan pemblokiran ini, Anda dapat menghubungi $1 atau pengurus lainnya. Anda tidak dapat menggunakan fitur 'kirim surat-e pengguna ini' kecuali Anda telah memasukkan alamat surat-e yang valid pada preferensi Anda dan. Anda tidak diblokir untuk menggunakan fitur ini. Alamat IP Anda saat ini adalah $3, dan ID blokir adalah #$5. Harap sertakan salah satu atau kedua informasi tersebut pada permintaan informasi Anda.",
734743 'blockedoriginalsource' => "Isi sumber '''$1''' ditunjukkan berikut ini:",
735744 'blockededitsource' => "Teks '''suntingan Anda''' terhadap '''$1''' ditunjukkan berikut ini:",
736745 'whitelistedittitle' => 'Perlu masuk log untuk menyunting',
@@ -795,6 +804,9 @@
796805 'edittools' => '<!-- Teks di sini akan dimunculkan di bawah isian suntingan dan pemuatan.-->',
797806 'nocreatetitle' => 'Pembuatan halaman baru dibatasi',
798807 'nocreatetext' => 'Situs ini membatasi kemampuan membuat halaman baru. Anda dapat kembali dan menyunting halaman yang telah ada, atau silakan [[{{ns:special}}:Userlogin|masuk log atau mendaftar]]',
 808+'nocreate-loggedin' => 'Anda tak memiliki hak akses untuk membuat halaman baru pada wiki ini.',
 809+'permissionserrors' => 'Kesalahan Hak Akses',
 810+'permissionserrorstext' => 'Anda tak memiliki hak untuk melakukan hal itu karena {{PLURAL:$1|alasan|alasan-alasan}} berikut:',
799811 'recreate-deleted-warn' => "'''Peringatan: Anda membuat ulang suatu halaman yang sudah pernah dihapus.''' Harap pertimbangkan apakah layak untuk melanjutkan suntingan Anda. Berikut adalah log penghapusan dari halaman ini:",
800812
801813 # "Undo" feature
@@ -941,8 +953,8 @@
942954 'prefs-personal' => 'Profil',
943955 'prefs-rc' => 'Perubahan terbaru',
944956 'prefs-watchlist' => 'Pemantauan',
945 -'prefs-watchlist-days' => 'Jumlah hari yang ditampilkan di daftar pantauan:',
946 -'prefs-watchlist-edits' => 'Jumlah hari yang ditampilkan di daftar pantauan yang lebih lengkap:',
 957+'prefs-watchlist-days' => 'Jumlah hari maksimum yang ditampilkan di daftar pantauan:',
 958+'prefs-watchlist-edits' => 'Jumlah suntingan maksimum yang ditampilkan di daftar pantauan yang lebih lengkap:',
947959 'prefs-misc' => 'Lain-lain',
948960 'saveprefs' => 'Simpan',
949961 'resetprefs' => 'Reset',
@@ -1074,6 +1086,7 @@
10751087 'large-file' => 'Ukuran berkas disarankan untuk tidak melebihi $1 bita; berkas ini berukuran $2 bita.',
10761088 'largefileserver' => 'Berkas ini lebih besar dari pada yang diizinkan server.',
10771089 'emptyfile' => 'Berkas yang Anda muatkan kelihatannya kosong. Hal ini mungkin disebabkan karena adanya kesalahan ketik pada nama berkas. Silakan pastikan apakah Anda benar-benar ingin memuatkan berkas ini.',
 1090+'fileexists' => 'Suatu berkas dengan nama tersebut telah ada, harap periksa <strong><tt>$1</tt></strong> jika Anda tidak yakin untuk mengubahnya.',
10781091 'fileexists-extension' => 'Berkas dengan nama serupa telah ada:<br />
10791092 Nama berkas yang akan dimuat: <strong><tt>$1</tt></strong><br />
10801093 Nama berkas yang telah ada: <strong><tt>$2</tt></strong><br />
@@ -1131,12 +1144,17 @@
11321145 'imgdelete' => 'hps',
11331146 'imgdesc' => 'desk',
11341147 'imgfile' => 'berkas',
1135 -'imglegend' => 'Keterangan: (desk) = lihat/sunting deskripsi berkas.',
1136 -'imghistory' => 'Versi terdahulu',
1137 -'revertimg' => 'kbl',
1138 -'deleteimg' => 'hps',
1139 -'deleteimgcompletely' => 'Hapus semua revisi',
1140 -'imghistlegend' => 'Klik suatu tanggal untuk melihat versi berkas pada tanggal tersebut.<br />Keterangan: (skr) = ini adalah berkas yang sekarang, (hps) = hapus versi lama ini, (kbl) = kembalikan ke versi lama ini.',
 1148+'filehist' => 'Riwayat berkas',
 1149+'filehist-help' => 'Klik pada tanggal/waktu untuk melihat berkas ini pada saat tersebut.',
 1150+'filehist-deleteall' => 'hapus semua',
 1151+'filehist-deleteone' => 'hapus ini',
 1152+'filehist-revert' => 'kembalikan',
 1153+'filehist-current' => 'saat ini',
 1154+'filehist-datetime' => 'Tanggal/Waktu',
 1155+'filehist-user' => 'Pengguna',
 1156+'filehist-dimensions' => 'Dimensi',
 1157+'filehist-filesize' => 'Besar berkas',
 1158+'filehist-comment' => 'Komentar',
11411159 'imagelinks' => 'Pranala',
11421160 'linkstoimage' => 'Halaman-halaman berikut memiliki pranala ke berkas ini:',
11431161 'nolinkstoimage' => 'Tidak ada halaman yang memiliki pranala ke berkas ini.',
@@ -1153,6 +1171,16 @@
11541172 'imagelist_description' => 'Deskripsi',
11551173 'imagelist_search_for' => 'Cari nama berkas:',
11561174
 1175+# File reversion
 1176+'filerevert' => 'Kembalikan $1',
 1177+'filerevert-legend' => 'Kembalikan berkas',
 1178+'filerevert-intro' => '<span class="plainlinks">Anda mengembalikan \'\'\'[[Media:$1|$1]]\'\'\' ke [versi $4 pada $2, $3].</span>',
 1179+'filerevert-comment' => 'Komentar:',
 1180+'filerevert-defaultcomment' => 'Dikembalikan ke versi pada $1, $2',
 1181+'filerevert-submit' => 'Kembalikan',
 1182+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\' telah dikembalikan ke [versi $4 pada $2, $3].</span>',
 1183+'filerevert-badversion' => 'Tidak ada versi lokal terdahulu dari berkas ini dengan stempel waktu yang dimaksud.',
 1184+
11571185 # MIME search
11581186 'mimesearch' => 'Pencarian MIME',
11591187 'mimesearch-summary' => 'Halaman ini menyediakan fasilitas menyaring berkas berdasarkan tipe MIME nya. Masukkan: contenttype/subtype, misalnya <tt>image/jpeg</tt>.',
@@ -1183,7 +1211,7 @@
11841212 Telah terjadi sejumlah '''$3''' penampilan halaman dan '''$4''' penyuntingan sejak {{SITENAME}} dimulai. Ini berarti rata-rata '''$5''' suntingan per halaman, dan '''$6''' penampilan per penyuntingan.
11851213
11861214 Telah dimuat sejumlah '''$8''' berkas dan sedang terjadi '''$7''' [http://meta.wikimedia.org/wiki/Help:Job_queue antrian pekerjaan].",
1187 -'userstatstext' => "Terdapat '''$1''' pengguna terdaftar. '''$2''' (atau '''$4%''') diantaranya memiliki hak akses $5.",
 1215+'userstatstext' => "Terdapat '''$1''' [[[[Special:Listusers|pengguna]] terdaftar. '''$2''' (atau '''$4%''') diantaranya memiliki hak akses $5.",
11881216 'statistics-mostpopular' => 'Halaman yang paling banyak ditampilkan',
11891217
11901218 'disambiguations' => 'Halaman disambiguasi',
@@ -1408,7 +1436,6 @@
14091437 'deletionlog' => 'log penghapusan',
14101438 'reverted' => 'Dikembalikan ke revisi sebelumnya',
14111439 'deletecomment' => 'Alasan penghapusan',
1412 -'imagereverted' => 'Berhasil mengembalikan ke revisi sebelumnya',
14131440 'rollback' => 'Kembalikan suntingan',
14141441 'rollback_short' => 'Kembalikan',
14151442 'rollbacklink' => 'kembalikan',
@@ -1493,8 +1520,7 @@
14941521 'undelete-error-short' => 'Kesalahan membatalkan penghapusan: $1',
14951522 'undelete-error-long' => 'Terjadi kesalahan sewaktu membatalkan penghapusan berkas:
14961523
1497 -$1
1498 -',
 1524+$1',
14991525
15001526 # Namespace form on various pages
15011527 'namespace' => 'Ruang nama:',
@@ -1647,6 +1673,7 @@
16481674 'movearticle' => 'Pindahkan halaman:',
16491675 'movenologin' => 'Belum masuk log',
16501676 'movenologintext' => 'Anda harus menjadi pengguna terdaftar dan telah [[{{ns:special}}:Userlogin|masuk log]] untuk memindahkan halaman.',
 1677+'movenotallowed' => 'Anda tak memiliki hak akses untuk memindahkan halaman pada wiki ini.',
16511678 'newtitle' => 'Ke judul baru:',
16521679 'move-watch' => 'Pantau halaman ini',
16531680 'movepagebtn' => 'Pindahkan halaman',
@@ -1694,7 +1721,6 @@
16951722 'allmessagesdefault' => 'Teks baku',
16961723 'allmessagescurrent' => 'Teks sekarang',
16971724 'allmessagestext' => 'Ini adalah daftar semua pesan sistem yang tersedia dalam ruang nama MediaWiki:',
1698 -'allmessagesnotsupportedUI' => 'Bahasa antarmuka Anda saat ini, <strong>$1</strong> tidak didukung oleh {{ns:special}}:AllMessages di situs ini.',
16991725 'allmessagesnotsupportedDB' => "'''{{ns:special}}:Allmessages''' tidak didukung karena wgUseDatabaseMessages dimatikan.",
17001726 'allmessagesfilter' => 'Filter nama pesan:',
17011727 'allmessagesmodified' => 'Hanya tampilkan yang diubah',
@@ -1895,8 +1921,12 @@
18961922 'showhidebots' => '($1 bot)',
18971923 'noimages' => 'Tidak ada yang dilihat.',
18981924
1899 -'passwordtooshort' => 'Kata sandi Anda tidak sah atau terlalu pendek. Kata sandi paling tidak harus terdiri dari $1 karakter dan harus berbeda dengan nama pengguna Anda.',
 1925+# Bad image list
 1926+'bad_image_list' => 'Formatnya sebagai berikut:
19001927
 1928+Hanya butir daftar (baris yang diawali dengan tanda *) yang diperhitungkan. Pranala pertama pada suatu baris haruslah pranala ke berkas yang buruk.
 1929+Pranala-pranala selanjutnya pada baris yang sama dianggap sebagai pengecualian, yaitu artikel yang dapat menampilkan berkas tersebut.',
 1930+
19011931 # Metadata
19021932 'metadata' => 'Metadata',
19031933 'metadata-help' => 'Berkas ini mengandung informasi tambahan yang mungkin ditambahkan oleh kamera digital atau pemindai yang digunakan untuk membuat atau mendigitalisasi berkas. Jika berkas ini telah mengalami modifikasi, detil yang ada mungkin tidak secara penuh merefleksikan informasi dari gambar yang sudah dimodifikasi ini.',
Index: branches/liquidthreads/languages/messages/MessagesEs.php
@@ -145,6 +145,7 @@
146146 'category_header' => 'Artículos en la categoría "$1"',
147147 'subcategories' => 'Subcategorías',
148148 'category-media-header' => 'Archivos en la categoría "$1"',
 149+'category-empty' => "''La categoría no contiene actualmente ningún artículo o archivo multimedia''",
149150
150151 'mainpagetext' => 'Software wiki instalado con éxito.',
151152 'mainpagedocfooter' => "Por favor, lee [http://meta.wikimedia.org/wiki/MediaWiki_i18n documentation on customizing the interface] y [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] para conocer su configuración y uso.",
@@ -306,7 +307,7 @@
307308 'noconnect' => 'No se pudo conectar a la base de datos en $1',
308309 'nodb' => 'No se pudo seleccionar la base de datos $1',
309310 'cachederror' => 'Esta es una copia guardada en el caché de la página requerida, y puede no estar actualizada.',
310 -'laggedslavemode' => 'Aviso: puede que falten las actualizaciones mas recientes en esta página.',
 311+'laggedslavemode' => 'Aviso: puede que falten las actualizaciones más recientes en esta página.',
311312 'readonly' => 'Base de datos bloqueada',
312313 'enterlockreason' => 'Explique el motivo del bloqueo, incluyendo una estimación de cuándo se producirá el desbloqueo',
313314 'readonlytext' => 'La base de datos de {{SITENAME}} no permite nuevas entradas u otras modificaciones de forma temporal, probablemente por mantenimiento rutinario, tras de lo cual volverá a la normalidad.
@@ -338,12 +339,13 @@
339340 Consulta: $2',
340341 'viewsource' => 'Ver código fuente',
341342 'viewsourcefor' => 'para $1',
342 -'protectedpagetext' => 'Esta página ha sido bloqueada para prevenir ediciones.',
 343+'protectedpagetext' => 'Esta página ha sido protegida para prevenir ediciones.',
343344 'viewsourcetext' => 'Puede ver y copiar el fuente de esta página:',
344 -'protectedinterface' => 'Esta página provee texto del interfaz del software. Está bloqueada para evitar [[{{ns:project}}:vandalismo|vandalismos]]. Si cree que debería cambiarse el texto, hable con un [[{{MediaWiki:grouppage-sysop}}|Administrador]].',
 345+'protectedinterface' => 'Esta página provee texto del interfaz del software. Está protegida para evitar vandalismos. Si cree que debería cambiarse el texto, hable con un [[{{MediaWiki:grouppage-sysop}}|Administrador]].',
345346 'editinginterface' => "'''Aviso:''' Estás editando una página usada para proporcionar texto a la interfaz de {{SITENAME}}. Los cambios en esta página afectarán a la apariencia de la interfaz para los demás usuarios.",
346347 'sqlhidden' => '(Consulta SQL oculta)',
347348 'cascadeprotected' => 'Esta página está protegida contra ediciones al estar incluída en {{PLURAL:$1|la siguiente página|las siguientes páginas}} protegidas en cascada:',
 349+'namespaceprotected' => "No tienes permiso para editar las páginas del espacio de nombres '''$1'''.",
348350
349351 # Login and logout pages
350352 'logouttitle' => 'Fin de sesión',
@@ -398,6 +400,7 @@
399401 'nouserspecified' => 'Debes especificar un nombre de usuario.',
400402 'wrongpassword' => 'La contraseña indicada es incorrecta. Por favor, inténtelo de nuevo.',
401403 'wrongpasswordempty' => 'No ha escrito una contraseña, inténtelo de nuevo.',
 404+'passwordtooshort' => 'Su contraseña es muy corta. Debe tener al menos $1 caracteres.',
402405 'mailmypassword' => 'Envíame una nueva contraseña por correo electrónico',
403406 'passwordremindertitle' => 'Recordatorio de contraseña de {{SITENAME}}',
404407 'passwordremindertext' => 'Alguien (probablemente usted, desde la dirección IP $1) solicitó que le enviáramos una nueva contraseña para iniciar sesión en {{SITENAME}} ($4). La contraseña para el usuario "$2" es ahora "$3". Ahora debería iniciar sesión y cambiar su contraseña.
@@ -472,21 +475,26 @@
473476 'blockedtext' => '<big>\'\'\'Su nombre de usuario o dirección IP ha sido bloqueada por $1.\'\'\'</big>
474477 El bloqueo fue realizado por $1 por el siguiente motivo: $2.
475478
476 -Contacte con $1 u otro de los [[{{MediaWiki:grouppage-sysop}}|administradores]] si quiere discutir el bloqueo. Éste expirará en $6.
 479+* Comienzo del bloqueo: $8
 480+* Expiración del bloqueo: $6
 481+* Objetivo del bloqueo: $7
477482
478 -No podrá usar el enlace "enviar correo electrónico a este usuario" si no ha registrado una dirección válida de correo electrónico en sus [[Special:Preferences|preferencias]]. Su dirección IP es $3 y el identificador de bloqueo #$5. Por favor, incluya esta información en cualquier consulta que haga.',
 483+Contacte con $1 u otro de los [[{{MediaWiki:grouppage-sysop}}|administradores]] si quiere discutir el bloqueo.
 484+
 485+No podrá usar el enlace "enviar correo electrónico a este usuario" si no ha registrado una dirección válida de correo electrónico en sus [[Special:Preferences|preferencias]] o si se le ha bloqueado en su uso. Su dirección IP es $3 y el identificador de bloqueo #$5. Por favor, incluya esta información en cualquier consulta que haga.',
479486 'autoblockedtext' => 'Su dirección IP ha sido bloqueada automáticamente porque ha sido utilizada por otro usuario, que fue bloqueado por $1.
480487 El motivo es el siguiente:
481488
482489 :\'\'$2\'\'
483490
484 -Expiración del bloqueo: $6
 491+* Comienzo del bloqueo: $8
 492+* Expiración del bloqueo: $6
485493
486494 Quizás quiera contactar con $1 o algún otro [[{{MediaWiki:grouppage-sysop}}|administrador]] para hablar sobre el bloqueo.
487495
488496 No debería usar la funcionalidad de "enviar un correo a este usuario" a no ser que tenga registrada una dirección de correo electrónico válida en sus [[Special:Preferences|preferencias]].
489497
490 -Your block ID is $5. Please include this ID in any queries you make.',
 498+Su ID de bloqueo $5. Por favor, incluya este ID en cualquier consulta que realice.',
491499 'blockedoriginalsource' => "El código fuente de '''$1''' se muestra a continuación:",
492500 'blockededitsource' => "El texto de '''tus ediciones''' a '''$1''' se muestran a continuación:",
493501 'whitelistedittitle' => 'Se requiere identificación para editar.',
@@ -526,7 +534,7 @@
527535
528536 ''Puesto que este wiki tiene el HTML puro habilitado, la visión preliminar está oculta para prevenirse contra ataques en JavaScript.''
529537
530 -<strong>If this is a legitimate edit attempt, please try again. If it still doesn't work, try logging out and logging back in.</strong>",
 538+<strong>Si éste es un intento legítimo de modificación, por favor, inténtelo de nuevo. Si aún entonces no funcionase, pruebe a cerrar la sesión y a ingresar de nuevo.</strong>",
531539 'importing' => 'Importando $1',
532540 'editing' => 'Editando $1',
533541 'editinguser' => 'Editando $1',
@@ -544,16 +552,16 @@
545553 'yourdiff' => 'Diferencias',
546554 'copyrightwarning' => 'Por favor, tenga en cuenta que todas las contribuciones a {{SITENAME}} se consideran hechas públicas bajo la $2 (ver detalles en $1). Si no desea que la gente corrija sus escritos sin piedad y los distribuya libremente, entonces no los ponga aquí. Así mismo, usted es responsable de haber escrito este texto o haberlo copiado del dominio público u otra fuente libre. <strong>¡NO USE ESCRITOS CON COPYRIGHT SIN PERMISO!</strong>',
547555 'copyrightwarning2' => 'Por favor, tenga en cuenta que todas las contribuciones a {{SITENAME}} pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no desea que la gente corrija sus escritos sin piedad y los distribuya libremente, entonces no los ponga aquí. <br />Así mismo, usted es responsable de haber escrito este texto o haberlo copiado del dominio público u otra fuente libre (vea $1 para más detalles). <strong>¡NO USE ESCRITOS CON COPYRIGHT SIN PERMISO!</strong>',
548 -'longpagewarning' => '<strong>Atención: Esta página tiene un tamaño de $1 kilobytes; algunos navegadores pueden tener problemas editando páginas de 32kb o más.
549 -Por favor considere la posibilidad de descomponer esta página en secciones más pequeñas.</strong>',
550 -'longpageerror' => '<strong>ERROR: El testo que has enviado ocupa $1 kilobytes, lo cual es mayor que $2 kilobytes. No se puede guardar.</strong>',
 556+'longpagewarning' => '<strong>Atención: Esta página tiene un tamaño de $1 kilobytes; algunos navegadores pueden tener problemas editando páginas de 32KB o más.
 557+Por favor considere la posibilidad de dividir esta página en secciones más pequeñas.</strong>',
 558+'longpageerror' => '<strong>ERROR: El texto que has enviado ocupa $1 kilobytes, lo cual es mayor que $2 kilobytes. No se puede guardar.</strong>',
551559 'readonlywarning' => '<strong>Atención: La base de datos ha sido bloqueada por cuestiones de mantenimiento, así que no podrá guardar sus modificaciones en este momento.
552560 Puede copiar y pegar el texto a un archivo en su ordenador y grabarlo para más tarde.</strong>',
553 -'protectedpagewarning' => '<strong>Atención: Esta página ha sido protegida de forma que sólo usuarios con permisos de administrador pueden editarla. Asegúrese de que está siguiendo las [[Project:Políticas de bloqueo de páginas|Políticas de bloqueo de páginas]].</strong>
 561+'protectedpagewarning' => '<strong>Atención: Esta página ha sido protegida de forma que sólo usuarios con permisos de administrador pueden editarla. Asegúrese de que está siguiendo las [[Project:Políticas de protección de páginas|Políticas de protección de páginas]].</strong>
554562 __NOEDITSECTION__<h3>La edición de esta página está [[Project:Esta página está protegida|protegida]].</h3>
555 -* Puede discutir este bloqueo en la [[{{TALKPAGENAME}}|página de discusión]] del artículo.<br />',
 563+* Puede discutir esta protección en la [[{{TALKPAGENAME}}|página de discusión]] de la página.<br />',
556564 'semiprotectedpagewarning' => "'''Nota:''' Esta página ha sido protegida para que sólo usuarios registrados puedan editarla.",
557 -'cascadeprotectedwarning' => "'''Atención:''' Esta página ha sido bloqueada de forma que sólo los administradores pueden editarla, al estar incluída en {{PLURAL:$1|la siguiente página|las siguientes páginas}} protegidas en cascada:",
 565+'cascadeprotectedwarning' => "'''Atención:''' Esta página ha sido protegida de forma que sólo los administradores pueden editarla, al estar incluída en {{PLURAL:$1|la siguiente página|las siguientes páginas}} protegidas en cascada:",
558566 'templatesused' => 'Plantillas usadas en esta página:',
559567 'templatesusedpreview' => 'Plantillas usadas en esta previsualización:',
560568 'templatesusedsection' => 'Plantillas usadas en esta sección:',
@@ -602,6 +610,7 @@
603611 'deletedrev' => '[borrado]',
604612 'histfirst' => 'Primeras',
605613 'histlast' => 'Últimas',
 614+'historysize' => '($1 bytes)',
606615 'historyempty' => '(vacío)',
607616
608617 # Revision feed
@@ -892,7 +901,7 @@
893902 'file-thumbnail-no' => 'El nombre del archivo comienza por <strong><tt>$1</tt></strong>. Parece ser una imagen de tamaño reducido <i>(thumbnail)</i>.
894903 Si tiene esta imagen a resolución completa, por favor, súbala. En caso contrario cambie el nombre del archivo.',
895904 'fileexists-forbidden' => 'Ya existe un archivo con este nombre. Por favor, cambie el nombre del archivo y vuelva a subirlo. [[Image:$1|thumb|center|$1]]',
896 -'fileexists-shared-forbidden' => "Ya existe en ''[[Commons:Portada|Commons]]'' un archivo con el mismo nombre. Por favor cambie el nombre del archivo y vuelva a subirlo. [[Image:$1|thumb|center|$1]]",
 905+'fileexists-shared-forbidden' => 'Ya existe un archivo con el mismo nombre en el repositorio compartido de archivos. Por favor cambie el nombre del archivo y vuelva a subirlo. [[Image:$1|thumb|center|$1]]',
897906 'successfulupload' => 'Subida con éxito',
898907 'uploadwarning' => 'Advertencia de subida de archivo',
899908 'savefile' => 'Guardar archivo',
@@ -938,13 +947,6 @@
939948 'imgdelete' => 'borr',
940949 'imgdesc' => 'desc',
941950 'imgfile' => 'archivo',
942 -'imglegend' => 'Leyenda: (desc) = mostrar/editar la descripción de la imagen.',
943 -'imghistory' => 'Historial de la imagen',
944 -'revertimg' => 'rev',
945 -'deleteimg' => 'borr',
946 -'deleteimgcompletely' => 'Borrar todas las revisiones',
947 -'imghistlegend' => 'Leyenda: (act) = la imagen actual, (borr) = borrar esta versión antigua, (rev) = volver a esta versión antigua.
948 -<br /><i>Pulse sobre la flecha para ver las imágenes subidas en esa fecha</i>.',
949951 'imagelinks' => 'Enlaces a la imagen',
950952 'linkstoimage' => 'Las siguientes páginas enlazan a esta imagen:',
951953 'nolinkstoimage' => 'No hay páginas que enlacen a esta imagen.',
@@ -1084,6 +1086,7 @@
10851087 'specialloguserlabel' => 'Usuario:',
10861088 'speciallogtitlelabel' => 'Título:',
10871089 'log' => 'Registros',
 1090+'all-logs-page' => 'Registro',
10881091 'log-search-legend' => 'Buscar registros',
10891092 'log-search-submit' => 'Ir',
10901093 'alllogstext' => 'Presentación combinada de los registros de subidas, borrados, protecciones, bloqueos y administradores.
@@ -1222,7 +1225,6 @@
12231226 'deletionlog' => 'registro de borrados',
12241227 'reverted' => 'Recuperar una revisión anterior',
12251228 'deletecomment' => 'Motivo del borrado',
1226 -'imagereverted' => 'Se restauró correctamente una versión anterior.',
12271229 'rollback' => 'Deshacer ediciones',
12281230 'rollback_short' => 'Deshacer',
12291231 'rollbacklink' => 'Deshacer',
@@ -1231,10 +1233,12 @@
12321234 'alreadyrolled' => 'No se puede deshacer la última edición de [[:$1]] por [[User:$2|$2]] ([[User talk:$2|discusión]]); alguien más ha editado o des hecho una edición de esta página. La última edición corresponde a [[User:$3|$3]] ([[User talk:$3|discusión]]).',
12331235 'editcomment' => 'El resumen de la edición es: "<i>$1</i>".', # only shown if there is an edit comment
12341236 'revertpage' => 'Se han deshecho las ediciones realizadas por [[Special:Contributions/$2|$2]] ([[User talk:$2|Talk]]); hacia la última versión por [[User:$1|$1]]',
 1237+'rollback-success' => 'Revertidas las ediciones de $1; recuperada la última versión de $2.',
12351238 'sessionfailure' => 'Parece que hay un problema con su sesión. Esta acción ha sido cancelada como medida de precaución contra secuestros de sesión. Por favor, vuelva a la página anterior e inténtelo de nuevo.',
12361239 'protectlogpage' => 'Protecciones de páginas',
12371240 'protectlogtext' => 'A continuación se muestra una lista de protección y desprotección de página. Véase [[Project:Esta página está protegida]] para más información.',
12381241 'protectedarticle' => 'protegió [[$1]]',
 1242+'modifiedarticleprotection' => 'Cambiado el nivel de protección de «[[$1]]»',
12391243 'unprotectedarticle' => 'desprotegió [[$1]]',
12401244 'protectsub' => '(Protegiendo "$1")',
12411245 'confirmprotect' => 'Confirmar protección',
@@ -1312,6 +1316,8 @@
13131317 'ucnote' => 'A continuación se muestran los últimos <b>$1</b> cambios de este usuario en los últimos <b>$2</b> días.',
13141318 'uclinks' => 'Ver los últimos $1 cambios; ver los últimos $2 días.',
13151319 'uctop' => ' (última modificación)',
 1320+'month' => 'Desde el mes (y anterior):',
 1321+'year' => 'Desde el año (y anterior):',
13161322
13171323 'sp-contributions-newest' => 'Últimas',
13181324 'sp-contributions-oldest' => 'Primeras',
@@ -1324,7 +1330,7 @@
13251331 'sp-contributions-username' => 'Dirección IP o nombre de usuario:',
13261332 'sp-contributions-submit' => 'Buscar',
13271333
1328 -'sp-newimages-showfrom' => 'Mostrar nuevas imágines empezando por $1',
 1334+'sp-newimages-showfrom' => 'Mostrar nuevas imágenes empezando por $1',
13291335
13301336 # What links here
13311337 'whatlinkshere' => 'Lo que enlaza aquí',
@@ -1338,7 +1344,7 @@
13391345 'istemplate' => 'inclusión',
13401346 'whatlinkshere-prev' => '{{PLURAL:$1|anterior|$1 anteriores}}',
13411347 'whatlinkshere-next' => '{{PLURAL:$1|siguiente|$1 siguientes}}',
1342 -'whatlinkshere-links' => '← links',
 1348+'whatlinkshere-links' => '← enlaces',
13431349
13441350 # Block/unblock
13451351 'blockip' => 'Bloquear usuario',
@@ -1455,6 +1461,7 @@
14561462 'move-watch' => 'Vigilar esta página',
14571463 'movepagebtn' => 'Renombrar página',
14581464 'pagemovedsub' => 'Página renombrada',
 1465+'movepage-moved' => "<big>'''«$1» ha sido trasladado a «$2»'''</big>", # The two titles are passed in plain text as $3 and $4 to allow additional goodies in the message.
14591466 'articleexists' => 'Ya existe una página con ese nombre o el nombre que ha elegido no es válido. Por favor, elija otro nombre.',
14601467 'talkexists' => 'La página fue renombrada con éxito, pero la discusión no se pudo mover porque ya existe una en el título nuevo. Por favor incorpore su contenido manualmente.',
14611468 'movedto' => 'renombrado a',
@@ -1496,7 +1503,6 @@
14971504 'allmessagesdefault' => 'Texto predeterminado',
14981505 'allmessagescurrent' => 'Texto actual',
14991506 'allmessagestext' => 'Esta es una lista de mensajes del sistema disponibles en el espacio de nombres MediaWiki:',
1500 -'allmessagesnotsupportedUI' => 'El idioma que está utilizando (<b>$1</b>) no está disponible en Special:AllMessages.',
15011507 'allmessagesnotsupportedDB' => 'Special:AllMessages no está disponible porque wgUseDatabaseMessages está deshabilitado.',
15021508 'allmessagesfilter' => 'Filtrar por nombre del mensaje:',
15031509 'allmessagesmodified' => 'Mostrar sólo los modificados',
@@ -1607,7 +1613,8 @@
16081614 'monobook.css' => '/* cambie este archivo para personalizar la piel monobook para el sitio entero */',
16091615
16101616 # Scripts
1611 -'monobook.js' => '/* Deprecated; use [[MediaWiki:common.js]] */',
 1617+'common.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página. */',
 1618+'monobook.js' => '/* Obsoleto y desaconsejado; usa [[MediaWiki:common.js]] */',
16121619
16131620 # Metadata
16141621 'nodublincore' => 'Metadatos Dublin Core RDF deshabilitados en este servidor.',
@@ -1667,7 +1674,7 @@
16681675 'markedaspatrollederror-noautopatrol' => 'No tiene permiso para marcar sus propios cambios como revisados.',
16691676
16701677 # Patrol log
1671 -'patrol-log-page' => 'Registro de revisionesPatrol log',
 1678+'patrol-log-page' => 'Registro de revisiones (Patrol log)',
16721679 'patrol-log-line' => 'revisado $1 de $2 $3',
16731680 'patrol-log-auto' => '(automático)',
16741681
@@ -1693,8 +1700,6 @@
16941701 'showhidebots' => '($1 bots)',
16951702 'noimages' => 'No hay nada que ver.',
16961703
1697 -'passwordtooshort' => 'Su contraseña es muy corta. Debe tener al menos $1 caracteres.',
1698 -
16991704 # Metadata
17001705 'metadata' => 'Metadatos',
17011706 'metadata-help' => 'Este archivo contiene información adicional (metadatos), probablemente añadida por la cámara digital, el escáner o el programa usado para crearlo o digitalizarlo. Si el archivo ha sido modificado desde su estado original, pueden haberse perdido algunos detalles.',
@@ -1961,6 +1966,7 @@
19621967 'imagelistall' => 'todos',
19631968 'watchlistall2' => 'todos',
19641969 'namespacesall' => 'todos',
 1970+'monthsall' => '(todos)',
19651971
19661972 # E-mail address confirmation
19671973 'confirmemail' => 'Confirmar dirección de correo',
@@ -2051,9 +2057,9 @@
20522058 'table_pager_empty' => 'No hay resultados',
20532059
20542060 # Auto-summaries
2055 -'autosumm-blank' => 'Removing all content from page',
2056 -'autosumm-replace' => "Replacing page with '$1'",
2057 -'autoredircomment' => 'Redireccionando a [[$1]]', # This should be changed to the new naming convention, but existed beforehand
 2061+'autosumm-blank' => 'Eliminado todo el contenido de la página',
 2062+'autosumm-replace' => "Reemplazado el contenido con '$1'",
 2063+'autoredircomment' => 'Redireccionado a [[$1]]',
20582064 'autosumm-new' => 'Nueva página: $1',
20592065
20602066 # Size units
@@ -2074,6 +2080,31 @@
20752081 'lag-warn-normal' => 'Los cambios más recientes que $1 {{PLURAL:$1|segundo|segundos}} puede que no se muestren en esta lista.',
20762082 'lag-warn-high' => 'Debido a la alta demora de la base de datos, los cambios más recientes que $1 {{PLURAL:$1|segundo|segundos}} puede que no se muestren en esta lista.',
20772083
2078 -);
 2084+# Watchlist editor
 2085+'watchlistedit-numitems' => 'Tu lista de seguimiento tiene {{PLURAL:$1|una página |$1 páginas}}, excluyendo las páginas de discusión.',
 2086+'watchlistedit-noitems' => 'Tu lista de seguimiento está vacía.',
 2087+'watchlistedit-clear-title' => 'Borrar lista de seguimiento',
 2088+'watchlistedit-clear-legend' => 'Borrar lista de seguimiento',
 2089+'watchlistedit-clear-submit' => 'Borrar',
 2090+'watchlistedit-clear-done' => 'Tu lista de seguimiento ha sido borrada completamente.',
 2091+'watchlistedit-normal-title' => 'Editar lista de seguimiento',
 2092+'watchlistedit-normal-legend' => 'Borrar títulos de la lista de seguimiento',
 2093+'watchlistedit-normal-explain' => "Las páginas de tu lista de seguimiento se muestran debajo. Para eliminar una página, marca la casilla junto a la página, y haz clic en ''Borrar páginas''. También puedes [[Special:Watchlist/raw|editar la lista en crudo]] o [[Special:Watchlist/clear|borrarlo todo]].",
 2094+'watchlistedit-normal-submit' => 'Borrar páginas',
 2095+'watchlistedit-normal-done' => '{{PLURAL:$1|1 página ha sido borrada|$1 páginas han sido borradas}} de tu lista de seguimiento:',
 2096+'watchlistedit-raw-title' => 'Editar lista de seguimiento en crudo',
 2097+'watchlistedit-raw-legend' => 'Editar tu lista de seguimiento en modo texto',
 2098+'watchlistedit-raw-explain' => 'Las páginas de tu lista de seguimiento se muestran debajo. Esta lista puede ser editada añadiendo o eliminando líneas de la lista; una página por línea. Cuando acabes, haz clic en Actualizar lista de seguimiento. También puedes utilizar el [[Especial:Watchlist/edit|editor estándar]].',
 2099+'watchlistedit-raw-titles' => 'Páginas:',
 2100+'watchlistedit-raw-submit' => 'Actualizar lista de seguimiento',
 2101+'watchlistedit-raw-done' => 'Tu lista de seguimiento se ha actualizado.',
 2102+'watchlistedit-raw-added' => '{{PLURAL:$1|Se ha añadido una página|Se han añadido $1 páginas}}:',
 2103+'watchlistedit-raw-removed' => '{{PLURAL:$1|Una página ha sido borrada|$1 páginas han sido borradas}}:',
20792104
 2105+# Watchlist editing tools
 2106+'watchlisttools-view' => 'Ver cambios',
 2107+'watchlisttools-edit' => 'Ver y editar tu lista de seguimiento',
 2108+'watchlisttools-raw' => 'Editar lista de seguimiento en crudo',
 2109+'watchlisttools-clear' => 'Borrar lista de seguimiento',
20802110
 2111+);
Index: branches/liquidthreads/languages/messages/MessagesDa.php
@@ -979,8 +979,8 @@
980980 'filestatus' => 'Status på ophavsret',
981981 'filesource' => 'Kilde',
982982 'uploadedfiles' => 'Filer som er lagt op',
983 -'ignorewarning' => 'Ignorere advarsler og gemme fil.',
984 -'ignorewarnings' => 'Ignorere advarsler',
 983+'ignorewarning' => 'Ignorerer advarsler og gemme fil.',
 984+'ignorewarnings' => 'Ignorerer advarsler',
985985 'minlength1' => 'Navnet på filen skal være på mindst et bogstav.',
986986 'illegalfilename' => 'Filnavnet "$1" indeholder tegn, der ikke er tilladte i sidetitler. Omdøb filen og prøv at lægge den op igen.',
987987 'badfilename' => 'Navnet på filen er blevet ændret til "$1".',
Index: branches/liquidthreads/languages/messages/MessagesDe.php
@@ -450,7 +450,7 @@
451451 Die Seite ist möglicherweise gelöscht oder verschoben worden.
452452
453453 Falls dies nicht der Fall ist, haben Sie eventuell einen Fehler in der Software gefunden. Bitte melden Sie dies einem [[{{MediaWiki:grouppage-sysop}}|Administrator]] unter Nennung der URL.',
454 -'readonly_lag' => 'Die Datenbank wurde kurzzeitig automatisch gesperrt, damit sich die Datenbanken abgleichen können.',
 454+'readonly_lag' => 'Die Datenbank wurde automatisch für Schreibzugriffe gesperrt, damit sich die verteilten Datenbankserver (slaves) mit dem Hauptdatenbankserver (master) abgleichen können.',
455455 'internalerror' => 'Interner Fehler',
456456 'internalerror_info' => 'Interner Fehler: $1',
457457 'filecopyerror' => 'Die Datei „$1“ konnte nicht nach „$2“ kopiert werden.',
@@ -479,8 +479,10 @@
480480 'protectedinterface' => 'Diese Seite enthält Text für das Sprach-Interface der Software und ist gesperrt, um Missbrauch zu verhindern.',
481481 'editinginterface' => "'''Warnung:''' Diese Seite enthält von der MediaWiki-Software benutzten Text. Änderungen wirken sich auf die Benutzeroberfläche aus.",
482482 'sqlhidden' => '(SQL-Abfrage versteckt)',
483 -'cascadeprotected' => 'Diese Seite ist zur Bearbeitung gesperrt. Sie ist in die {{PLURAL:$1|folgende Seite|folgenden Seiten}} eingebunden, die mittels der Kaskadensperroption geschützt {{PLURAL:$1|ist|sind}}:',
 483+'cascadeprotected' => 'Diese Seite ist zur Bearbeitung gesperrt. Sie ist in die {{PLURAL:$1|folgende Seite|folgenden Seiten}} eingebunden, die mittels der Kaskadensperroption geschützt {{PLURAL:$1|ist|sind}}: $2',
484484 'namespaceprotected' => "Sie haben keine Berechtigung, die Seite in dem '''$1'''-Namensraum zu bearbeiten.",
 485+'customcssjsprotected' => 'Du bist nicht berechtigt diese Seite zu bearbeiten, da sie zu den persönlichen Einstellungen eines anderen Benutzers gehört.',
 486+'ns-specialprotected' => 'Seiten im {{ns:special}}-Namensraum können nicht bearbeitet werden.',
485487
486488 # Login and logout pages
487489 'logouttitle' => 'Benutzer-Abmeldung',
@@ -616,14 +618,12 @@
617619 'blockedtitle' => 'Benutzer ist gesperrt',
618620 'blockedtext' => 'Ihr Benutzername oder Ihre IP-Adresse wurde von $1 gesperrt. Als Grund wurde angegeben:
619621
620 -:\'\'$2\'\'
 622+:\'\'$2\'\' (<span class="plainlinks">[{{fullurl:Special:Ipblocklist|&action=search&limit=&ip=%23}}$5 Logbucheintrag]</span>)
621623
622624 <p style="border-style: solid; border-color: red; border-width: 1px; padding:5px;"><b>Ein Lesezugriff ist weiterhin möglich,</b>
623625 nur die Bearbeitung und Erstellung von Seiten in {{SITENAME}} wurde gesperrt.
624626 Sollte diese Nachricht angezeigt werden, obwohl nur lesend zugriffen wurde, sind Sie einem (roten) Link auf einen noch nicht existenten Artikel gefolgt.</p>
625627
626 -Ende der Sperre: $6 (<span class="plainlinks">[{{fullurl:Special:Ipblocklist|&action=search&limit=&ip=%23}}$5 Logbucheintrag]</span>)
627 -
628628 Sie können $1 oder einen der anderen [[{{MediaWiki:grouppage-sysop}}|Administratoren]] kontaktieren, um über die Sperre zu diskutieren.
629629
630630 <div style="border-style: solid; border-color: red; border-width: 1px; padding:5px;">
@@ -639,14 +639,12 @@
640640 'autoblockedtext' => 'Ihre IP-Adresse wurde automatisch gesperrt, da sie von einem anderen Benutzer genutzt wurde, der durch $1 gesperrt wurde.
641641 Als Grund wurde angegeben:
642642
643 -:\'\'$2\'\'
 643+:\'\'$2\'\' (<span class="plainlinks">[{{fullurl:Special:Ipblocklist|&action=search&limit=&ip=%23}}$5 Logbucheintrag]</span>)
644644
645645 <p style="border-style: solid; border-color: red; border-width: 1px; padding:5px;"><b>Ein Lesezugriff ist weiterhin möglich,</b>
646646 nur die Bearbeitung und Erstellung von Seiten in {{SITENAME}} wurde gesperrt.
647647 Sollte diese Nachricht angezeigt werden, obwohl nur lesend zugriffen wurde, sind Sie einem (roten) Link auf einen noch nicht existenten Artikel gefolgt.</p>
648648
649 -Ende der Sperre: $6 (<span class="plainlinks">[{{fullurl:Special:Ipblocklist|&action=search&limit=&ip=%23}}$5 Logbucheintrag]</span>)
650 -
651649 Sie können $1 oder einen der anderen [[{{MediaWiki:grouppage-sysop}}|Administratoren]] kontaktieren, um über die Sperre zu diskutieren.
652650
653651 <div style="border-style: solid; border-color: red; border-width: 1px; padding:5px;">
@@ -658,6 +656,46 @@
659657 *IP-Adresse: $3
660658 *Sperr-ID: #$5
661659 </div>',
 660+'blockedtext-concise' => 'Dein Benutzername oder Deine IP-Adresse wurde von $1 gesperrt. Als Grund wurde angegeben:
 661+
 662+:\'\'$2\'\' (<span class="plainlinks">[{{fullurl:Special:Ipblocklist|&action=search&limit=&ip=%23}}$5 Logbucheintrag]</span>)
 663+
 664+<p style="border-style: solid; border-color: red; border-width: 1px; padding:5px;"><b>Ein Lesezugriff ist weiterhin möglich,</b>
 665+nur die Bearbeitung und Erstellung von Seiten in {{SITENAME}} wurde gesperrt.
 666+Sollte diese Nachricht angezeigt werden, obwohl nur lesend zugriffen wurde, bist du einem (roten) Link auf einen noch nicht existenten Artikel gefolgt.</p>
 667+
 668+Du kannst $1 oder einen der anderen [[{{MediaWiki:grouppage-sysop}}|Administratoren]] kontaktieren, um über die Sperre zu diskutieren.
 669+
 670+<div style="border-style: solid; border-color: red; border-width: 1px; padding:5px;">
 671+\'\'\'Bitte gebe folgende Daten in jeder Anfrage an:\'\'\'
 672+*Sperrender Administrator: $1
 673+*Sperrgrund: $2
 674+*Beginn der Sperre: $8
 675+*Sperr-Ende: $6
 676+*IP-Adresse: $3
 677+*Sperre betrifft: $7
 678+*Sperr-ID: #$5
 679+</div>',
 680+'autoblockedtext-concise' => 'Deine IP-Adresse wurde automatisch gesperrt, da sie von einem anderen Benutzer genutzt wurde, der durch $1 gesperrt wurde.
 681+Als Grund wurde angegeben:
 682+
 683+:\'\'$2\'\' (<span class="plainlinks">[{{fullurl:Special:Ipblocklist|&action=search&limit=&ip=%23}}$5 Logbucheintrag]</span>)
 684+
 685+<p style="border-style: solid; border-color: red; border-width: 1px; padding:5px;"><b>Ein Lesezugriff ist weiterhin möglich,</b>
 686+nur die Bearbeitung und Erstellung von Seiten in {{SITENAME}} wurde gesperrt.
 687+Sollte diese Nachricht angezeigt werden, obwohl nur lesend zugriffen wurde, bist du einem (roten) Link auf einen noch nicht existenten Artikel gefolgt.</p>
 688+
 689+Du kannst $1 oder einen der anderen [[{{MediaWiki:grouppage-sysop}}|Administratoren]] kontaktieren, um über die Sperre zu diskutieren.
 690+
 691+<div style="border-style: solid; border-color: red; border-width: 1px; padding:5px;">
 692+\'\'\'Bitte gebe folgende Daten in jeder Anfrage an:\'\'\'
 693+*Sperrender Administrator: $1
 694+*Sperrgrund: $2
 695+*Beginn der Sperre: $8
 696+*Sperr-Ende: $6
 697+*IP-Adresse: $3
 698+*Sperr-ID: #$5
 699+</div>',
662700 'blockedoriginalsource' => "Der Quelltext von '''$1''' wird hier angezeigt:",
663701 'blockededitsource' => "Der Quelltext von '''Ihren Änderungen''' an '''$1''':",
664702 'whitelistedittitle' => 'Zum Bearbeiten ist es erforderlich, angemeldet zu sein',
@@ -741,6 +779,9 @@
742780 'edittools' => '<!-- Dieser Text wird unter dem „Bearbeiten“-Formular sowie dem "Hochladen"-Formular angezeigt. -->',
743781 'nocreatetitle' => 'Die Erstellung neuer Seiten ist eingeschränkt.',
744782 'nocreatetext' => 'Der Server hat das Erstellen neuer Seiten eingeschränkt. Sie können bestehende Seiten ändern oder sich [[Special:Userlogin|anmelden]].',
 783+'nocreate-loggedin' => 'Du hast keine Berechtigung, neue Seiten in diesem Wiki anzulegen.',
 784+'permissionserrors' => 'Berechtigungs-Fehler',
 785+'permissionserrorstext' => 'Du bist nicht berechtigt, die Aktion auszuführen. {{PLURAL:$1|Grund|Gründe}}:',
745786 'recreate-deleted-warn' => "'''Achtung: Sie erstellen eine Seite, die bereits früher gelöscht wurde.'''
746787
747788 Bitte prüfen Sie sorgfältig, ob die erneute Seitenerstellung den Richtlinien entspricht.
@@ -1635,6 +1676,8 @@
16361677 'unblocked' => '[[User:$1|$1]] wurde freigegeben',
16371678 'unblocked-id' => 'Sperr-ID $1 wurde freigegeben',
16381679 'ipblocklist' => 'Liste gesperrter Benutzer/IP-Adressen',
 1680+'ipblocklist-legend' => 'Suche nach einem gesperrten Benutzer',
 1681+'ipblocklist-username' => 'Benutzername oder IP-Adresse:',
16391682 'ipblocklist-summary' => "Diese Spezialseite führt – ergänzend zum [[Special:Log/block|Benutzersperr-Logbuch]], das alle manuell vorgenommenen (Ent-)Sperrungen protokolliert – die '''aktuell''' gesperrten Benutzer und IP-Adressen auf, einschließlich automatisch gesperrter IP-Adressen in anonymisierter Form.",
16401683 'ipblocklist-submit' => 'Suche',
16411684 'blocklistline' => '$1, $2 sperrte $3 (bis $4)',
@@ -1698,6 +1741,7 @@
16991742 'movearticle' => 'Seite verschieben:',
17001743 'movenologin' => 'Sie sind nicht angemeldet',
17011744 'movenologintext' => 'Sie müssen ein registrierter Benutzer und [[Special:Userlogin|angemeldet]] sein, um eine Seite zu verschieben.',
 1745+'movenotallowed' => 'Du hast in diesem Wiki keine Berechtigung, Seiten zu verschieben.',
17021746 'newtitle' => 'Ziel:',
17031747 'move-watch' => 'Diese Seite beobachten',
17041748 'movepagebtn' => 'Seite verschieben',
@@ -1747,7 +1791,6 @@
17481792 'allmessagesdefault' => 'Standardtext',
17491793 'allmessagescurrent' => 'Aktueller Text',
17501794 'allmessagestext' => 'Dies ist eine Liste der MediaWiki-Systemtexte.',
1751 -'allmessagesnotsupportedUI' => 'Your current interface language <b>$1</b> is not supported by Special:Allmessages at this site.',
17521795 'allmessagesnotsupportedDB' => "'''Special:Allmessages''' ist momentan nicht möglich, weil die Datenbank offline ist.",
17531796 'allmessagesfilter' => 'Nachrichtennamensfilter:',
17541797 'allmessagesmodified' => 'Nur geänderte zeigen',
Index: branches/liquidthreads/RELEASE-NOTES
@@ -164,6 +164,11 @@
165165 * Improved handling of permissions errors
166166 * (bug 10798) Exclude MediaWiki namespace from filtering options on
167167 Special:Protectedpages (implicit protection, doesn't make sense to have it)
 168+* (bug 10793) "Mark patrolled" links will now be shown for users with
 169+ patrol permissions on all eligible diff pages
 170+* (bug 10655) Show standard tool links for blocked users in block log messages
 171+* Show standard tool links for blocked users in Special:Ipblocklist
 172+* Miscellaneous aesthetic improvements to Special:Ipblocklist
168173
169174 == Bugfixes since 1.10 ==
170175
@@ -354,6 +359,9 @@
355360 edit box scroll position preserve/restore behaviour
356361 * (bug 10805) Fix "undo" link when viewing the diff of the most recent
357362 change to a page using "diff=0"
 363+* (bug 10765) img_auth.php will now refuse logged-out requests where
 364+ $wgWhitelistRead is undefined, instead of (incorrectly) honouring them
 365+* Fixed img_auth.php file name extraction for whitelist checking
358366
359367 == API changes since 1.10 ==
360368
@@ -463,6 +471,7 @@
464472 * Swedish (sv)
465473 * Thai (th)
466474 * Tigrinya (ti)
 475+* Setswana (tn)
467476 * Volapük (vo)
468477 * Old Chinese / Late Middle Chinese (zh-classical)
469478 * Chinese (PRC) (zh-cn)
Property changes on: branches/liquidthreads
___________________________________________________________________
Modified: svnmerge-integrated
470479 - /trunk/phase3:1-24600
471480 + /trunk/phase3:1-24631

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r24607* (bug 10793) Show patrol links on all eligible diff pages...robchurch03:29, 6 August 2007
r24608* Move redirect table line up with the others...robchurch03:34, 6 August 2007
r24609* Fix img_auth.php image name extraction for whitelist checking...robchurch06:15, 6 August 2007
r24610Clarificationsrobchurch06:16, 6 August 2007
r24611Indonesian (id) localisation updates.ivanlanin07:03, 6 August 2007
r24612* (bug 10655) Show standard tool links for blocked users in block log messages...robchurch07:09, 6 August 2007
r24613Errant escaping of titlesrobchurch07:14, 6 August 2007
r24614Miscellaneous aesthetic improvements to Special:Ipblocklistrobchurch07:21, 6 August 2007
r24615...oops, forgot thisrobchurch07:21, 6 August 2007
r24617typo, use variable '$name', not a constant 'name'.raymond09:34, 6 August 2007
r24618* Tweaking Werdnas new functions 'showPermissionsErrorPage' and 'formatPermis...raymond11:30, 6 August 2007
r24619Warn users not to destroy $wgGroupPermissionsrobchurch11:36, 6 August 2007
r24620* Setswana (tn) messagesnikerabbit13:40, 6 August 2007
r24621* Updates to slovak (sk) by helix84nikerabbit14:30, 6 August 2007
r24623Update and fixes.rotem16:34, 6 August 2007
r24625Updates Germanraymond16:40, 6 August 2007
r24626* (bug 10820) Update Spanish translation...raymond16:52, 6 August 2007
r24627Correct grammer for dawegge17:36, 6 August 2007
r24630Fix syntax errorrobchurch18:21, 6 August 2007

Status & tagging log