* Save Preferences => Save
[lhc/web/wiklou.git] / languages / Language.php
index 4fe129b..419445c 100644 (file)
@@ -22,11 +22,6 @@ if( defined( 'MEDIAWIKI' ) ) {
 # Language-specific text
 #--------------------------------------------------------------------------
 
-# The names of the namespaces can be set here, but the numbers
-# are magical, so don't change or move them!  The Namespace class
-# encapsulates some of the magic-ness.
-#
-
 if($wgMetaNamespace === FALSE)
        $wgMetaNamespace = str_replace( ' ', '_', $wgSitename );
 
@@ -115,11 +110,11 @@ if(isset($wgExtraNamespaces)) {
 # Whether to use user or default setting in Language::date()
 
 /* private */ $wgDateFormatsEn = array(
-       'No preference',
-       '16:12, January 15, 2001',
-       '16:12, 15 January 2001',
-       '16:12, 2001 January 15',
-       'ISO 8601' => '2001-01-15 16:12:34'
+       MW_DATE_DEFAULT => 'No preference',
+       MW_DATE_MDY => '16:12, January 15, 2001',
+       MW_DATE_DMY => '16:12, 15 January 2001',
+       MW_DATE_YMD => '16:12, 2001 January 15',
+       MW_DATE_ISO => '2001-01-15 16:12:34'
 );
 
 /* private */ $wgUserTogglesEn = array(
@@ -193,7 +188,7 @@ $wgLanguageNamesEn =& $wgLanguageNames;
 #
 /* private */ $wgMagicWordsEn = array(
 #   ID                                 CASE  SYNONYMS
-       MAG_REDIRECT             => array( 0,    '#redirect'              ),
+       MAG_REDIRECT             => array( 0,    '#REDIRECT'              ),
        MAG_NOTOC                => array( 0,    '__NOTOC__'              ),
        MAG_FORCETOC             => array( 0,    '__FORCETOC__'           ),
        MAG_TOC                  => array( 0,    '__TOC__'                ),
@@ -217,6 +212,7 @@ $wgLanguageNamesEn =& $wgLanguageNames;
        MAG_MSGNW                => array( 0,    'MSGNW:'                 ),
        MAG_END                  => array( 0,    '__END__'                ),
        MAG_IMG_THUMBNAIL        => array( 1,    'thumbnail', 'thumb'     ),
+       MAG_IMG_MANUALTHUMB      => array( 1,    'thumbnail=$1', 'thumb=$1'),
        MAG_IMG_RIGHT            => array( 1,    'right'                  ),
        MAG_IMG_LEFT             => array( 1,    'left'                   ),
        MAG_IMG_NONE             => array( 1,    'none'                   ),
@@ -237,6 +233,9 @@ $wgLanguageNamesEn =& $wgLanguageNames;
        MAG_CURRENTWEEK          => array( 1,    'CURRENTWEEK'            ),
        MAG_CURRENTDOW           => array( 1,    'CURRENTDOW'             ),
        MAG_REVISIONID           => array( 1,    'REVISIONID'             ),
+       MAG_PLURAL               => array( 0,    'PLURAL:'                ),
+       MAG_FULLURL              => array( 0,    'FULLURL:'               ),
+       MAG_FULLURLE             => array( 0,    'FULLURLE:'              ),
 );
 
 #-------------------------------------------------------------------
@@ -296,9 +295,9 @@ parent class in order maintain consistency across languages.
 'tog-previewontop' => 'Show preview before edit box',
 'tog-previewonfirst' => 'Show preview on first edit',
 'tog-nocache' => 'Disable page caching',
-'tog-enotifwatchlistpages'     => 'Send me an email on page changes',
-'tog-enotifusertalkpages'      => 'Send me an email when my user talk page is changed',
-'tog-enotifminoredits'                 => 'Send me an email also for minor edits of pages',
+'tog-enotifwatchlistpages'     => 'Email me on page changes',
+'tog-enotifusertalkpages'      => 'Email me when my user talk page is changed',
+'tog-enotifminoredits'                 => 'Email me also for minor edits of pages',
 'tog-enotifrevealaddr'                 => 'Reveal my email address in notification mails',
 'tog-shownumberswatching'      => 'Show the number of watching users',
 'tog-fancysig' => 'Raw signatures (without automatic link)',
@@ -352,10 +351,10 @@ parent class in order maintain consistency across languages.
 
 
 'linktrail'            => '/^([a-z]+)(.*)$/sD',
+'linkprefix'           => '/^(.*?)([a-zA-Z\x80-\xff]+)$/sD',
 'mainpage'             => 'Main Page',
 'mainpagetext' => 'Wiki software successfully installed.',
-"mainpagedocfooter" => "Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
-and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.",
+'mainpagedocfooter' => 'Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface] and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User\'s Guide] for usage and configuration help.',
 
 'portal'               => 'Community portal',
 'portal-url'   => 'Project:Community Portal',
@@ -365,7 +364,6 @@ and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] f
 'article'              => 'Content page',
 'help'                 => 'Help',
 'helppage'             => 'Help:Contents',
-'wikititlesuffix' => '{{SITENAME}}',
 'bugreports'   => 'Bug reports',
 'bugreportspage' => 'Project:Bug_reports',
 'sitesupport'   => 'Donations',
@@ -397,20 +395,22 @@ and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] f
 'currentevents-url' => 'Current events',
 
 'disclaimers' => 'Disclaimers',
-'disclaimerpage' => "Project:General_disclaimer",
-'errorpagetitle' => "Error",
-'returnto'             => "Return to $1.",
-'tagline'              => "From {{SITENAME}}",
+'disclaimerpage' => 'Project:General_disclaimer',
+'errorpagetitle' => 'Error',
+'returnto'             => 'Return to $1.',
+'tagline'              => 'From {{SITENAME}}',
 'whatlinkshere'        => 'Pages that link here',
 'help'                 => 'Help',
 'search'               => 'Search',
 'go'           => 'Go',
 "history"              => 'Page history',
 'history_short' => 'History',
+'updatedmarker' => 'updated since my last visit',
 'info_short'   => 'Information',
 'printableversion' => 'Printable version',
+'permalink'     => 'Permanent link',
 'print' => 'Print',
-'edit' => 'Edit this page',
+'edit' => 'Edit',
 'editthispage' => 'Edit this page',
 'delete' => 'Delete',
 'deletethispage' => 'Delete this page',
@@ -440,19 +440,19 @@ and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] f
 'lastmodified' => 'This page was last modified $1.',
 'viewcount'            => 'This page has been accessed $1 times.',
 'copyright'    => 'Content is available under $1.',
-'poweredby'    => "{{SITENAME}} is powered by [http://www.mediawiki.org/ MediaWiki], an open source wiki engine.",
-'printsubtitle' => "(From {{SERVER}})",
+'poweredby'    => '{{SITENAME}} is powered by [http://www.mediawiki.org/ MediaWiki], an open source wiki engine.',
+'printsubtitle' => '(From {{SERVER}})',
 'protectedpage' => 'Protected page',
-'administrators' => "Project:Administrators",
+'administrators' => 'Project:Administrators',
 
 'sysoptitle'   => 'Sysop access required',
-'sysoptext'            => "The action you have requested can only be
-performed by users with \"sysop\" capability.
-See $1.",
+'sysoptext'            => 'The action you have requested can only be
+performed by users with "sysop" capability.
+See $1.',
 'developertitle' => 'Developer access required',
-'developertext'        => "The action you have requested can only be
-performed by users with \"developer\" capability.
-See $1.",
+'developertext'        => 'The action you have requested can only be
+performed by users with "developer" capability.
+See $1.',
 
 'badaccess'     => 'Permission error',
 'badaccesstext' => 'The action you have requested is limited
@@ -463,19 +463,22 @@ See $1.',
 'versionrequiredtext' => 'Version $1 of MediaWiki is required to use this page. See [[Special:Version]]',
 
 'nbytes'               => '$1 bytes',
+'widthheight'          => '$1x$2',
 'ok'                   => 'OK',
-'sitetitle'            => "{{SITENAME}}",
-'pagetitle'            => "$1 - {{SITENAME}}",
+'sitetitle'            => '{{SITENAME}}',
+'pagetitle'            => '$1 - {{SITENAME}}',
 'sitesubtitle' => 'The Free Encyclopedia', # FIXME
-'retrievedfrom' => "Retrieved from \"$1\"",
-'newmessages' => "You have $1.",
+'retrievedfrom' => 'Retrieved from "$1"',
+'newmessages' => 'You have $1.',
 'newmessageslink' => 'new messages',
 'editsection'=>'edit',
 'toc' => 'Contents',
 'showtoc' => 'show',
 'hidetoc' => 'hide',
-'thisisdeleted' => "View or restore $1?",
-'restorelink' => "$1 deleted edits",
+'thisisdeleted' => 'View or restore $1?',
+'viewdeleted' => 'View $1?',
+'restorelink1' => 'one deleted edit',
+'restorelink' => '$1 deleted edits',
 'feedlinks' => 'Feed:',
 'sitenotice'   => '-', # the equivalent to wgSiteNotice
 
@@ -503,66 +506,59 @@ recognized by the wiki',
 #
 'error'                        => 'Error',
 'databaseerror' => 'Database error',
-'dberrortext'  => "A database query syntax error has occurred.
+'dberrortext'  => 'A database query syntax error has occurred.
 This may indicate a bug in the software.
 The last attempted database query was:
 <blockquote><tt>$1</tt></blockquote>
-from within function \"<tt>$2</tt>\".
-MySQL returned error \"<tt>$3: $4</tt>\".",
-'dberrortextcl' => "A database query syntax error has occurred.
+from within function "<tt>$2</tt>".
+MySQL returned error "<tt>$3: $4</tt>".',
+'dberrortextcl' => 'A database query syntax error has occurred.
 The last attempted database query was:
-\"$1\"
-from within function \"$2\".
-MySQL returned error \"$3: $4\".\n",
+"$1"
+from within function "$2".
+MySQL returned error "$3: $4"'."\n",
 'noconnect'            => 'Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server. <br />
 $1',
-'nodb'                 => "Could not select database $1",
-'cachederror'          => 'The following is a cached copy of the requested page, and may not be up to date.',
+'nodb'                 => 'Could not select database $1',
+'cachederror'  => 'The following is a cached copy of the requested page, and may not be up to date.',
 'laggedslavemode'   => 'Warning: Page may not contain recent updates.',
-'readonly'             => 'Database locked',
-'enterlockreason' => 'Enter a reason for the lock, including an estimate
+'readonly'                     => 'Database locked',
+'enterlockreason'      => 'Enter a reason for the lock, including an estimate
 of when the lock will be released',
-'readonlytext' => "The database is currently locked to new
-entries and other modifications, probably for routine database maintenance,
-after which it will be back to normal.
-The administrator who locked it offered this explanation:
-$1",
-'missingarticle' => "The database did not find the text of a page
-that it should have found, named \"$1\".
+'readonlytext'         => 'The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal.
+
+The administrator who locked it offered this explanation: $1',
+'missingarticle' => 'The database did not find the text of a page that it should have found, named "$1".
 
 This is usually caused by following an outdated diff or history link to a
 page that has been deleted.
 
 If this is not the case, you may have found a bug in the software.
-Please report this to an administrator, making note of the URL.",
-'readonly_lag' => "The database has been automatically locked while the slave database servers catch up to the master",
+Please report this to an administrator, making note of the URL.',
+'readonly_lag' => 'The database has been automatically locked while the slave database servers catch up to the master',
 'internalerror' => 'Internal error',
-'filecopyerror' => "Could not copy file \"$1\" to \"$2\".",
-'filerenameerror' => "Could not rename file \"$1\" to \"$2\".",
-'filedeleteerror' => "Could not delete file \"$1\".",
-'filenotfound' => "Could not find file \"$1\".",
-'unexpected'   => "Unexpected value: \"$1\"=\"$2\".",
+'filecopyerror' => 'Could not copy file "$1" to "$2".',
+'filerenameerror' => 'Could not rename file "$1" to "$2".',
+'filedeleteerror' => 'Could not delete file "$1".',
+'filenotfound' => 'Could not find file "$1".',
+'unexpected'   => 'Unexpected value: "$1"="$2".',
 'formerror'            => 'Error: could not submit form',
 'badarticleerror' => 'This action cannot be performed on this page.',
 'cannotdelete' => 'Could not delete the page or file specified. (It may have already been deleted by someone else.)',
 'badtitle'             => 'Bad title',
-'badtitletext' => "The requested page title was invalid, empty, or
-an incorrectly linked inter-language or inter-wiki title.",
-'perfdisabled' => 'Sorry! This feature has been temporarily disabled
-because it slows the database down to the point that no one can use
-the wiki.',
-'perfdisabledsub' => "Here's a saved copy from $1:", # obsolete?
+'badtitletext' => 'The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title.',
+'perfdisabled' => 'Sorry! This feature has been temporarily disabled because it slows the database down to the point that no one can use the wiki.',
+'perfdisabledsub' => 'Here is a saved copy from $1:', # obsolete?
 'perfcached' => 'The following data is cached and may not be completely up to date:',
-'wrong_wfQuery_params' => "Incorrect parameters to wfQuery()<br />
+'wrong_wfQuery_params' => 'Incorrect parameters to wfQuery()<br />
 Function: $1<br />
-Query: $2
-",
+Query: $2',
 'viewsource' => 'View source',
-'protectedtext' => "This page has been locked to prevent editing; there are
+'protectedtext' => 'This page has been locked to prevent editing; there are
 a number of reasons why this may be so, please see
 [[Project:Protected page]].
 
-You can view and copy the source of this page:",
+You can view and copy the source of this page:',
 'sqlhidden' => '(SQL query hidden)',
 
 # Login and logout pages
@@ -587,10 +583,10 @@ Your account has been created. Don't forget to change your {{SITENAME}} preferen
 'yourdomainname'       => 'Your domain',
 'externaldberror'      => 'There was either an external authentication database error or you are not allowed to update your external account.',
 'loginproblem' => '<b>There has been a problem with your login.</b><br />Try again!',
-'alreadyloggedin' => "<font color=red><b>User $1, you are already logged in!</b></font><br />\n",
+'alreadyloggedin' => "<strong>User $1, you are already logged in!</strong><br />\n",
 
 'login'                        => 'Log in',
-'loginprompt'           => "You must have cookies enabled to log in to {{SITENAME}}.",
+'loginprompt'  => 'You must have cookies enabled to log in to {{SITENAME}}.',
 'userlogin'            => 'Create an account or log in',
 'logout'               => 'Log out',
 'userlogout'   => 'Log out',
@@ -600,6 +596,8 @@ Your account has been created. Don't forget to change your {{SITENAME}} preferen
 'badretype'            => 'The passwords you entered do not match.',
 'userexists'   => 'The user name you entered is already in use. Please choose a different name.',
 'youremail'            => 'Email *',
+'username'             => 'Username: ',
+'uid'                  => 'User ID: ',
 'yourrealname'         => 'Real name *',
 'yourlanguage' => 'Language',
 'yourvariant'  => 'Variant',
@@ -623,9 +621,13 @@ Check your spelling, or use the form below to create a new user account.",
 'mailmypassword'       => 'Mail me a new password',
 'passwordremindertitle' => "Password reminder from {{SITENAME}}",
 'passwordremindertext' => "Someone (probably you, from IP address $1)
-requested that we send you a new {{SITENAME}} login password.
+requested that we send you a new {{SITENAME}} login password for {{SERVERNAME}}.
 The password for user \"$2\" is now \"$3\".
-You should log in and change your password now.",
+You should log in and change your password now.
+
+If someone else made this request or if you have remembered your password and
+you no longer wish to change it, you may ignore this message and continue using
+your old password.",
 'noemail'                          => "There is no e-mail address recorded for user \"$1\".",
 'passwordsent' => "A new password has been sent to the e-mail address
 registered for \"$1\".
@@ -639,8 +641,7 @@ to confirm that the account is actually yours.",
 'emailauthenticated'        => 'Your email address was authenticated on $1.',
 'emailnotauthenticated'     => 'Your email address is <strong>not yet authenticated</strong>. No email
 will be sent for any of the following features.',
-'noemailprefs'              => '<strong>No email address has been specified</strong>, the following
-features will not work.',
+'noemailprefs'              => '<strong>Specify an email address for these features to work.</strong>',
 'emailconfirmlink' => 'Confirm your e-mail address',
 'invalidemailaddress'  => 'The email address cannot be accepted as it appears to have an invalid
 format. Please enter a well-formatted address or empty that field.',
@@ -666,9 +667,6 @@ format. Please enter a well-formatted address or empty that field.',
 'media_tip'=>'Media file link',
 'sig_tip'=>'Your signature with timestamp',
 'hr_tip'=>'Horizontal line (use sparingly)',
-'infobox'=>'Click a button to get an example text',
-# alert box shown in browsers where text selection does not work, test e.g. with mozilla or konqueror
-'infobox_alert'=>"Please enter the text you want to be formatted.\\n It will be shown in the infobox for copy and pasting.\\nExample:\\n$1\\nwill become:\\n$2",
 
 # Edit pages
 #
@@ -696,7 +694,8 @@ Your IP address is $3. Please include this address in any queries you make.
 'whitelistacctitle' => 'You are not allowed to create an account',
 'whitelistacctext' => 'To be allowed to create accounts in this Wiki you have to [[Special:Userlogin|log]] in and have the appropriate permissions.',
 'loginreqtitle'        => 'Login Required',
-'loginreqtext' => 'You must [[special:Userlogin|login]] to view other pages.',
+'loginreqlink' => 'login',
+'loginreqpagetext'     => 'You must $1 to view other pages.',
 'accmailtitle' => 'Password sent.',
 'accmailtext' => "The password for '$1' has been sent to $2.",
 'newarticle'   => '(New)',
@@ -705,16 +704,18 @@ Your IP address is $3. Please include this address in any queries you make.
 To create the page, start typing in the box below
 (see the [[Project:Help|help page]] for more info).
 If you are here by mistake, just click your browser's '''back''' button.",
+'newarticletextanon' => '{{int:newarticletext}}',
 'talkpagetext' => '<!-- MediaWiki:talkpagetext -->',
 'anontalkpagetext' => "----''This is the discussion page for an anonymous user who has not created an account yet or who does not use it. We therefore have to use the numerical [[IP address]] to identify him/her. Such an IP address can be shared by several users. If you are an anonymous user and feel that irrelevant comments have been directed at you, please [[Special:Userlogin|create an account or log in]] to avoid future confusion with other anonymous users.'' ",
-'noarticletext' => '(There is currently no text in this page)',
-'clearyourcache' => "'''Note:''' After saving, you have to clear your browser cache to see the changes: '''Mozilla:''' click ''Reload'' (or ''Ctrl-R''), '''IE / Opera:''' ''Ctrl-F5'', '''Safari:''' ''Cmd-R'', '''Konqueror''' ''Ctrl-R''.",
+'noarticletext' => 'There is currently no text in this page, you can [[{{ns:special}}:Search/{{PAGENAME}}|search for this page title]] in other pages or [{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} edit this page].',
+'noarticletextanon' => '{{int:noarticletext}}',
+'clearyourcache' => "'''Note:''' After saving, you may have to bypass your browser's cache to see the changes. '''Mozilla / Firefox / Safari:''' hold down ''Shift'' while clicking ''Reload'', or press ''Ctrl-Shift-R'' (''Cmd-Shift-R'' on Apple Mac); '''IE:''' hold ''Ctrl'' while clicking ''Refresh'', or press ''Ctrl-F5''; '''Konqueror:''': simply click the ''Reload'' button, or press ''F5''; '''Opera''' users may need to completely clear their cache in ''Tools&rarr;Preferences''.",
 'usercssjsyoucanpreview' => "<strong>Tip:</strong> Use the 'Show preview' button to test your new CSS/JS before saving.",
 'usercsspreview' => "'''Remember that you are only previewing your user CSS, it has not yet been saved!'''",
 'userjspreview' => "'''Remember that you are only testing/previewing your user JavaScript, it has not yet been saved!'''",
 'updated'              => '(Updated)',
 'note'                 => '<strong>Note:</strong> ',
-'previewnote'  => 'Remember that this is only a preview, and has not yet been saved!',
+'previewnote'  => 'This is only a preview, changes have not yet been saved!',
 'previewconflict' => 'This preview reflects the text in the upper
 text editing area as it will appear if you choose to save.',
 'editing'              => "Editing $1",
@@ -768,8 +769,8 @@ Please check the URL you used to access this page.\n",
 'currentrev'   => 'Current revision',
 'revisionasof'          => 'Revision as of $1',
 'revisionasofwithlink'  => 'Revision as of $1; $2<br />$3 | $4',
-'previousrevision'     => '&larr;Older revision',
-'nextrevision'         => 'Newer revision&rarr;',
+'previousrevision'     => 'Older revision',
+'nextrevision'         => 'Newer revision',
 'currentrevisionlink'   => 'view current revision',
 'cur'                  => 'cur',
 'next'                 => 'next',
@@ -849,16 +850,13 @@ $2 List redirects &nbsp; Search for $3 $9",
 'preferences'  => 'Preferences',
 'prefsnologin' => 'Not logged in',
 'prefsnologintext'     => "You must be [[Special:Userlogin|logged in]] to set user preferences.",
-'prefslogintext' => "You are logged in as \"$1\".
-Your internal ID number is $2.
-
-See [[Project:User preferences help]] for help deciphering the options.",
 'prefsreset'   => 'Preferences have been reset from storage.',
 'qbsettings'   => 'Quickbar',
 'changepassword' => 'Change password',
 'skin'                 => 'Skin',
 'math'                 => 'Math',
 'dateformat'           => 'Date format',
+'datetime'             => 'Date and time',
 'math_failure'         => 'Failed to parse',
 'math_unknown_error'   => 'unknown error',
 'math_unknown_function'        => 'unknown function ',
@@ -868,8 +866,8 @@ See [[Project:User preferences help]] for help deciphering the options.",
 'math_bad_tmpdir'      => 'Can\'t write to or create math temp directory',
 'math_bad_output'      => 'Can\'t write to or create math output directory',
 'math_notexvc' => 'Missing texvc executable; please see math/README to configure.',
-'prefs-personal' => 'User data',
-'prefs-rc' => 'Recent changes & stubs',
+'prefs-personal' => 'User profile',
+'prefs-rc' => 'Recent changes',
 'prefs-misc' => 'Misc',
 'saveprefs'            => 'Save',
 'resetprefs'   => 'Reset',
@@ -892,7 +890,7 @@ See [[Project:User preferences help]] for help deciphering the options.",
 'timezoneoffset' => 'Offset¹',
 'servertime'   => 'Server time',
 'guesstimezone' => 'Fill in from browser',
-'emailflag'            => 'Disable e-mail from other users',
+'emailflag'            => 'Disable email from other users',
 'defaultns'            => 'Search in these namespaces by default:',
 'default'              => 'default',
 'files'                        => 'Files',
@@ -968,13 +966,13 @@ Unselected groups will not be changed. You can deselect a group with CTRL + Left
 'diff'                 => 'diff',
 'hist'                 => 'hist',
 'hide'                 => 'Hide',
-'show'                 => 'show',
+'show'                 => 'Show',
 'tableform'            => 'table',
 'listform'             => 'list',
 'nchanges'             => "$1 changes",
 'minoreditletter' => 'm',
 'newpageletter' => 'N',
-'sectionlink' => '&rarr;',
+'sectionlink' => '',
 'number_of_watching_users_RCview'      => '[$1]',
 'number_of_watching_users_pageview'    => '[$1 watching user/s]',
 
@@ -992,14 +990,10 @@ to upload files.",
 'uploaderror'  => 'Upload error',
 'uploadtext'   =>
 "
-Use the form below to upload new files,
+Use the form below to upload files,
 to view or search previously uploaded images
 go to the [[Special:Imagelist|list of uploaded files]],
-uploads and deletions are also logged in the [[Special:Log|project log]].
-
-You must also check the box affirming that you are not
-violating any copyrights by uploading the file.
-Press the \"Upload\" button to finish the upload.
+uploads and deletions are also logged in the [[Special:Log/upload|upload log]].
 
 To include the image in a page, use a link in the form
 '''<nowiki>[[{{ns:6}}:file.jpg]]</nowiki>''',
@@ -1012,6 +1006,7 @@ To include the image in a page, use a link in the form
 'uploadlogpagetext' => 'Below is a list of the most recent file uploads.',
 'filename'             => 'Filename',
 'filedesc'             => 'Summary',
+'fileuploadsummary' => 'Summary:',
 'filestatus' => 'Copyright status',
 'filesource' => 'Source',
 'copyrightpage' => "Project:Copyrights",
@@ -1023,8 +1018,11 @@ To include the image in a page, use a link in the form
 'badfilename'  => 'File name has been changed to "$1".',
 'badfiletype'  => "\".$1\" is not a recommended image file format.",
 'largefile'            => 'It is recommended that images not exceed $1 bytes in size, this file is $2 bytes',
+'largefileserver' => 'This file is bigger than the server is configured to allow.',
 'emptyfile'            => 'The file you uploaded seems to be empty. This might be due to a typo in the file name. Please check whether you really want to upload this file.',
 'fileexists'           => 'A file with this name exists already, please check $1 if you are not sure if you want to change it.',
+'fileexists-forbidden' => 'A file with this name exists already; please go back and upload this file under a new name. [[Image:$1|thumb|center|$1]]',
+'fileexists-shared-forbidden' => 'A file with this name exists already in the shared file repository; please go back and upload this file under a new name. [[Image:$1|thumb|center|$1]]',
 'successfulupload' => 'Successful upload',
 'fileuploaded' => "File $1 uploaded successfully.
 Please follow this link: $2 to the description page and fill
@@ -1040,6 +1038,9 @@ created and by whom, and anything else you may know about it. If this is an imag
 'sourcefilename' => 'Source filename',
 'destfilename' => 'Destination filename',
 
+'license' => 'Licensing',      
+'nolicense' => 'None selected',
+
 # Image list
 #
 'imagelist'            => 'File list',
@@ -1064,11 +1065,23 @@ this old version, (rev) = revert to this old version.
 'linkstoimage' => 'The following pages link to this file:',
 'nolinkstoimage' => 'There are no pages that link to this file.',
 'sharedupload' => 'This file is a shared upload and may be used by other projects.',
-'shareduploadwiki' => 'Please see the [$1 file description page] for further information.',
+'shareduploadwiki' => 'Please see the $1 for further information.',
+'shareduploadwiki-linktext' => 'file description page',
 'shareddescriptionfollows' => '-',
-'noimage'       => 'No file by this name exists, you can [$1 upload it]',
+'noimage'       => 'No file by this name exists, you can $1.',
+'noimage-linktext'       => 'upload it',
 'uploadnewversion' => '[$1 Upload a new version of this file]',
 
+# Mime search
+#
+'mimesearch' => 'MIME search',
+'mimetype' => 'MIME type: ',
+'download' => 'download',
+
+# Unwatchedpages
+#
+'unwatchedpages' => 'Unwatched pages',
+
 # Statistics
 #
 'statistics'   => 'Statistics',
@@ -1121,8 +1134,13 @@ That comes to '''$5''' average edits per page, and '''$6''' views per edit.",
 'popularpages' => 'Popular pages',
 'nviews'               => '$1 views',
 'wantedpages'  => 'Wanted pages',
+'mostlinked'   => 'Most linked to pages',
+'mostcategories' => 'Most linked to categories',
+'mostimages'   => 'Most linked to images',
+'mostrevisions' => 'Articles with the most revisions',
 'nlinks'               => '$1 links',
 'allpages'             => 'All pages',
+'prefixindex'   => 'Prefix index',
 'randompage'   => 'Random page',
 'randompage-url'=> 'Special:Random',
 'shortpages'   => 'Short pages',
@@ -1132,17 +1150,6 @@ That comes to '''$5''' average edits per page, and '''$6''' views per edit.",
 'specialpages' => 'Special pages',
 'spheading'            => 'Special pages for all users',
 'restrictedpheading'   => 'Restricted special pages',
-'blockpheading' => 'block level',
-'createaccountpheading' => 'createaccount level',
-'deletepheading' => 'delete level',
-'userrightspheading' => 'userrights level',
-'grouprightspheading' => 'grouprights level',
-'siteadminpheading' => 'siteadmin level',
-
-/** obsoletes
-'sysopspheading' => 'For sysop use only',
-'developerspheading' => 'For developer use only',
-*/
 'protectpage'  => 'Protect page',
 'recentchangeslinked' => 'Related changes',
 'rclsub'               => "(to pages linked from \"$1\")",
@@ -1225,7 +1232,7 @@ Future changes to this page and its associated Talk page will be listed there,
 and the page will appear '''bolded''' in the [[Special:Recentchanges|list of recent changes]] to
 make it easier to pick out.
 
-<p>If you want to remove the page from your watchlist later, click \"Stop watching\" in the sidebar.",
+<p>If you want to remove the page from your watchlist later, click \"Unwatch\" in the sidebar.",
 'removedwatch'         => 'Removed from watchlist',
 'removedwatchtext'     => "The page \"$1\" has been removed from your watchlist.",
 'watch' => 'Watch',
@@ -1253,6 +1260,7 @@ at the bottom of the screen (deleting a content page also deletes the accompanyi
 'wlshowlast'           => 'Show last $1 hours $2 days $3',
 'wlsaved'              => 'This is a saved version of your watchlist.',
 'wlhideshowown'        => '$1 my edits.',
+'wlhideshowbots'       => '$1 bot edits.',
 'wlshow'               => 'Show',
 'wlhide'               => 'Hide',
 
@@ -1343,8 +1351,9 @@ See [[Project:Protected page]] for more information.",
 'unprotectcomment' => 'Reason for unprotecting',
 
 # Undelete
-'undelete' => 'Restore deleted page',
+'undelete' => 'View deleted pages',
 'undeletepage' => 'View and restore deleted pages',
+'viewdeletedpage' => 'View deleted pages',
 'undeletepagetext' => 'The following pages have been deleted but are still in the archive and
 can be restored. The archive may be periodically cleaned out.',
 'undeletearticle' => 'Restore deleted page',
@@ -1353,6 +1362,9 @@ can be restored. The archive may be periodically cleaned out.',
 If a new page with the same name has been created since the deletion, the restored
 revisions will appear in the prior history, and the current revision of the live page
 will not be automatically replaced.',
+'undeletehistorynoadmin' => 'This article has been deleted. The reason for deletion is 
+shown in the summary below, along with details of the users who had edited this page 
+before deletion. The actual text of these deleted revisions is only available to administrators.',
 'undeleterevision' => "Deleted revision as of $1",
 'undeletebtn' => 'Restore!',
 'undeletedarticle' => "restored \"[[$1]]\"",
@@ -1414,7 +1426,10 @@ to a previously blocked IP address or username.',
 'ipusubmit'            => 'Unblock this address',
 'ipusuccess'   => "\"[[$1]]\" unblocked",
 'ipblocklist'  => 'List of blocked IP addresses and usernames',
-'blocklistline'        => "$1, $2 blocked $3 (expires $4)",
+'blocklistline'        => "$1, $2 blocked $3 ($4)",
+'infiniteblock' => 'infinite',
+'expiringblock' => 'expires $1',
+'ipblocklistempty'     => 'The blocklist is empty.',
 'blocklink'            => 'block',
 'unblocklink'  => 'unblock',
 'contribslink' => 'contribs',
@@ -1518,7 +1533,7 @@ Type the name of the user in the box and press the button to make the user an ad
 'val_tab' => 'Validate',
 'val_this_is_current_version' => 'this is the latest version',
 'val_version_of' => "Version of $1" ,
-'val_table_header' => "<tr><th>Class</th>$1<th colspan=4>Opinion</th>$1<th>Comment</th></tr>\n",
+'val_table_header' => '<tr><th>Class</th>$1<th colspan="4">Opinion</th>$1<th>Comment</th></tr>\n',
 'val_stat_link_text' => 'Validation statistics for this article',
 'val_view_version' => 'View this revision',
 'val_validate_version' => 'Validate this version',
@@ -1637,7 +1652,7 @@ article [[Train]].
 'accesskey-minoredit' => 'i',
 'accesskey-save' => 's',
 'accesskey-preview' => 'p',
-'accesskey-diff' => 'd',
+'accesskey-diff' => 'v',
 'accesskey-compareselectedversions' => 'v',
 
 # tooltip help for some actions, most are in Monobook.js
@@ -1764,14 +1779,15 @@ ta[\'ca-nstab-category\'] = new Array(\'c\',\'View the category page\');
 'deletedrevision' => 'Deleted old revision $1.',
 
 # browsing diffs
-'previousdiff' => '&larr; Previous diff',
-'nextdiff' => 'Next diff &rarr;',
+'previousdiff' => ' Previous diff',
+'nextdiff' => 'Next diff ',
 
 'imagemaxsize' => 'Limit images on image description pages to: ',
-'thumbsize'    => 'Thumbnail size :',
+'thumbsize'    => 'Thumbnail size',
 'showbigimage' => 'Download high resolution version ($1x$2, $3 KB)',
 
 'newimages' => 'Gallery of new files',
+'showhidebots' => '($1 bots)',
 'noimages'  => 'Nothing to see.',
 
 # short names for language variants used for language conversion links.
@@ -1928,7 +1944,7 @@ ta[\'ca-nstab-category\'] = new Array(\'c\',\'View the category page\');
 'exif-compression-1' => 'Uncompressed',
 'exif-compression-6' => 'JPEG',
 
-'exif-photometricinterpretation-1' => 'RGB',
+'exif-photometricinterpretation-2' => 'RGB',
 'exif-photometricinterpretation-6' => 'YCbCr',
 
 'exif-orientation-1' => 'Normal', // 0th row: top; 0th column: left
@@ -1984,7 +2000,7 @@ ta[\'ca-nstab-category\'] = new Array(\'c\',\'View the category page\');
 'exif-lightsource-3' => 'Tungsten (incandescent light)',
 'exif-lightsource-4' => 'Flash',
 'exif-lightsource-9' => 'Fine weather',
-'exif-lightsource-10' => 'Clody weather',
+'exif-lightsource-10' => 'Cloudy weather',
 'exif-lightsource-11' => 'Shade',
 'exif-lightsource-12' => 'Daylight fluorescent (D 5700 – 7100K)',
 'exif-lightsource-13' => 'Day white fluorescent (N 4600 – 5400K)',
@@ -2084,7 +2100,7 @@ ta[\'ca-nstab-category\'] = new Array(\'c\',\'View the category page\');
 'imagelistall' => 'all',
 'watchlistall1' => 'all',
 'watchlistall2' => 'all',
-'contributionsall' => 'all',
+'namespacesall' => 'all',
 
 # E-mail address confirmation
 'confirmemail' => 'Confirm E-mail address',
@@ -2125,7 +2141,7 @@ will expire at $4.
 
 # Trackbacks
 'trackbackbox' => "<div id='mw_trackbacks'>
-Trackbacks for this article:<br/>
+Trackbacks for this article:<br />
 $1
 </div>
 ",
@@ -2134,6 +2150,19 @@ $1
 'trackbackremove' => ' ([$1 Delete])',
 'trackbacklink' => 'Trackback',
 'trackbackdeleteok' => 'The trackback was successfully deleted.',
+
+
+# delete conflict
+
+'deletedwhileediting' => 'Warning: This page has been deleted after you started editing!',
+'confirmrecreate' => 'User [[User:$1|$1]] ([[User talk:$1|talk]]) deleted this article after you started editing with reason:
+: \'\'$2\'\'
+Please confirm that really want to recreate this article.',
+'recreate' => 'Recreate',
+'tooltip-recreate' => '',
+
+'unit-pixel' => 'px',
+
 );
 
 /* a fake language converter */
@@ -2402,23 +2431,28 @@ class Language {
         * all children.
         *
         *<code>
-        * function timeanddate([...], $format = '0') {
+        * function timeanddate([...], $format = true) {
         *      $datePreference = $this->dateFormat($format);
         * [...]
         *</code>
         *
-        * @param mixed $format
+        * @param bool $usePrefs: if false, the site/language default is used
         * @return string
         */
-       function dateFormat( $format ) {
-               global $wgUser;
+       function dateFormat( $usePrefs = true ) {
+               global $wgUser, $wgAmericanDates;
 
-               if ( !$wgUser->isLoggedIn() || $format === false ) {
-                       $options = $this->getDefaultUserOptions();
-                       return (string)$options['date'];
+               if( $usePrefs ) {
+                       $datePreference = $wgUser->getOption( 'date' );
                } else {
-                       return $wgUser->getOption( 'date' );
+                       $options = $this->getDefaultUserOptions();
+                       $datePreference = (string)$options['date'];
                }
+
+               if( $datePreference == MW_DATE_DEFAULT || $datePreference == '' ) {
+                       return $wgAmericanDates ? MW_DATE_MDY : MW_DATE_DMY;
+               }
+               return $datePreference;
        }
 
        /**
@@ -2427,30 +2461,26 @@ class Language {
         *               date('YmdHis') format with wfTimestamp(TS_MW,$ts)
         * @param bool   $adj whether to adjust the time output according to the
         *               user configured offset ($timecorrection)
-        * @param mixed  $format what format to return, if it's false output the
-        *               default one.
+        * @param bool   $format true to use user's date format preference
         * @param string $timecorrection the time offset as returned by
         *               validateTimeZone() in Special:Preferences
         * @return string
         */
        function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               global $wgAmericanDates, $wgUser;
+               global $wgUser;
 
                if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
 
-               $datePreference = $this->dateFormat($format);
-
-               if ($datePreference == '0'
-                   || $datePreference == '' ) {$datePreference = $wgAmericanDates ? '0' : '2';}
+               $datePreference = $this->dateFormat( $format );
 
                $month = $this->getMonthName( substr( $ts, 4, 2 ) );
                $day = $this->formatNum( 0 + substr( $ts, 6, 2 ) );
                $year = $this->formatNum( substr( $ts, 0, 4 ), true );
 
                switch( $datePreference ) {
-                       case '2': return "$day $month $year";
-                       case '3': return "$year $month $day";
-                       case 'ISO 8601': return substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .substr($ts, 6, 2);
+                       case MW_DATE_DMY: return "$day $month $year";
+                       case MW_DATE_YMD: return "$year $month $day";
+                       case MW_DATE_ISO: return substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .substr($ts, 6, 2);
                        default: return "$month $day, $year";
                }
        }
@@ -2461,23 +2491,20 @@ class Language {
        *               date('YmdHis') format with wfTimestamp(TS_MW,$ts)
        * @param bool   $adj whether to adjust the time output according to the
        *               user configured offset ($timecorrection)
-       * @param mixed  $format what format to return, if it's false output the
-       *               default one (default true)
+       * @param bool   $format true to use user's date format preference
        * @param string $timecorrection the time offset as returned by
        *               validateTimeZone() in Special:Preferences
        * @return string
        */
        function time( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               global $wgUser, $wgAmericanDates;
+               global $wgUser;
 
                if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-               $datePreference = $this->dateFormat($format);
-
-               if ($datePreference == '0') {$datePreference = $wgAmericanDates ? '0' : '2';}
+               $datePreference = $this->dateFormat( $format );
 
                $t = substr( $ts, 8, 2 ) . ':' . substr( $ts, 10, 2 );
 
-               if ( $datePreference === 'ISO 8601' ) {
+               if ( $datePreference == MW_DATE_ISO ) {
                        $t .= ':' . substr( $ts, 12, 2 );
                }
                return $this->formatNum( $t );
@@ -2489,40 +2516,23 @@ class Language {
        *               date('YmdHis') format with wfTimestamp(TS_MW,$ts)
        * @param bool   $adj whether to adjust the time output according to the
        *               user configured offset ($timecorrection)
-       * @param mixed  $format what format to return, if it's false output the
-       *               default one (default true)
+       * @param bool   $format true to use user's date format preference
        * @param string $timecorrection the time offset as returned by
        *               validateTimeZone() in Special:Preferences
        * @return string
        */
        function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false) {
-               global $wgUser, $wgAmericanDates;
+               global $wgUser;
 
                $datePreference = $this->dateFormat($format);
-
                switch ( $datePreference ) {
-                       case 'ISO 8601': return $this->date( $ts, $adj, $datePreference, $timecorrection ) . ' ' .
-                               $this->time( $ts, $adj, $datePreference, $timecorrection );
-                       default: return $this->time( $ts, $adj, $datePreference, $timecorrection ) . ', ' .
-                               $this->date( $ts, $adj, $datePreference, $timecorrection );
+                       case MW_DATE_ISO: return $this->date( $ts, $adj, $format, $timecorrection ) . ' ' .
+                               $this->time( $ts, $adj, $format, $timecorrection );
+                       default: return $this->time( $ts, $adj, $format, $timecorrection ) . ', ' .
+                               $this->date( $ts, $adj, $format, $timecorrection );
                }
        }
 
-       function getValidSpecialPages() {
-               global $wgValidSpecialPagesEn;
-               return $wgValidSpecialPagesEn;
-       }
-
-       function getSysopSpecialPages() {
-               global $wgSysopSpecialPagesEn;
-               return $wgSysopSpecialPagesEn;
-       }
-
-       function getDeveloperSpecialPages() {
-               global $wgDeveloperSpecialPagesEn;
-               return $wgDeveloperSpecialPagesEn;
-       }
-
        function getMessage( $key ) {
                global $wgAllMessagesEn;
                return @$wgAllMessagesEn[$key];
@@ -2666,7 +2676,7 @@ class Language {
 
        # Fill a MagicWord object with data from here
        function getMagic( &$mw ) {
-               $raw =& $this->getMagicWords();
+               $raw = $this->getMagicWords();
                if( !isset( $raw[$mw->mId] ) ) {
                        # Fall back to English if local list is incomplete
                        $raw =& Language::getMagicWords();
@@ -2742,7 +2752,7 @@ class Language {
                        if ($i == $m) {
                                $s = $l[$i];
                        } else if ($i == $m - 1) {
-                               $s = $l[$i] . ' ' . $this->getMessage('and') . ' ' . $s;
+                               $s = $l[$i] . ' ' . wfMsg('and') . ' ' . $s;
                        } else {
                                $s = $l[$i] . ', ' . $s;
                        }
@@ -2785,6 +2795,37 @@ class Language {
                return $word;
        }
 
+       /**
+        * Plural form transformations, needed for some languages.
+        * For example, where are 3 form of plural in Russian and Polish,
+        * depending on "count mod 10". See [[w:Plural]]
+        * For English it is pretty simple.
+        *
+        * Invoked by putting {{plural:count|wordform1|wordform2}}
+        * or {{plural:count|wordform1|wordform2|wordform3}}
+        *
+        * Example: {{plural:{{NUMBEROFARTICLES}}|article|articles}} 
+        *
+        * @param integer $count
+        * @param string $wordform1
+        * @param string $wordform2
+        * @param string $wordform3 (optional)
+        * @return string
+        */
+       function convertPlural( $count, $wordform1, $wordform2, $wordform3) {
+               return $count == 1 ? $wordform1 : $wordform2;
+       }
+
+       /**
+        * For translaing of expiry times
+        * @param string The validated block time in English
+        * @return Somehow translated block time
+        * @see LanguageFi.php for example implementation
+        */
+       function translateBlockExpiry( $str ) {
+               return $str;
+       }
+
        /**
         * languages like Chinese need to be segmented in order for the diff
         * to be of any use