Bug 839635, define MAG_NOEDITSECTION
[lhc/web/wiklou.git] / languages / Language.php
index f93afd2..f162d33 100644 (file)
@@ -1,4 +1,28 @@
 <?
+#--------------------------------------------------------------------------
+# Constants
+#--------------------------------------------------------------------------
+
+# Magic words
+define("MAG_REDIRECT", 0);
+define("MAG_NOTOC", 1);
+define("MAG_START", 2);
+define("MAG_CURRENTMONTH", 3);
+define("MAG_CURRENTMONTHNAME", 4);
+define("MAG_CURRENTDAY", 5);
+define("MAG_CURRENTDAYNAME", 6);
+define("MAG_CURRENTYEAR", 7);
+define("MAG_CURRENTTIME", 8);
+define("MAG_NUMBEROFARTICLES", 9);
+define("MAG_CURRENTMONTHNAMEGEN", 10);
+define("MAG_MSG", 11);
+define("MAG_SUBST", 12);
+define("MAG_MSGNW", 13);
+define("MAG_NOEDITSECTION", 14);
+
+#--------------------------------------------------------------------------
+# Language-specific text
+#--------------------------------------------------------------------------
 
 # NOTE: To turn off "Current Events" in the sidebar,
 # set "currentevents" => "-"
@@ -8,6 +32,7 @@
 # encapsulates some of the magic-ness.
 #
 /* private */ $wgNamespaceNamesEn = array(
+       -2      => "Media",
        -1      => "Special",
        0       => "",
        1       => "Talk",
@@ -16,7 +41,9 @@
        4       => "Wikipedia",
        5       => "Wikipedia_talk",
        6       => "Image",
-       7       => "Image_talk"
+       7       => "Image_talk",
+       8       => "MediaWiki",
+       9       => "MediaWiki_talk"
 );
 
 /* private */ $wgDefaultUserOptionsEn = array(
@@ -34,7 +61,7 @@
 );
 
 /* private */ $wgSkinNamesEn = array(
-       "Standard", "Nostalgia", "Cologne Blue"
+       "Standard", "Nostalgia", "Cologne Blue", "Paddington", "Montparnasse"
 );
 
 /* private */ $wgMathNamesEn = array(
@@ -240,6 +267,25 @@ this</a> (alternative: like this<a href=\"\" class=\"internal\">?</a>).",
        "Sep", "Oct", "Nov", "Dec"
 );
 
+/* private */ $wgMagicWordsEn = array(
+#   ID                                 CASE  SYNONYMS
+    MAG_REDIRECT             => array( 0,    "#redirect"              ),
+    MAG_NOTOC                => array( 0,    "__NOTOC__"              ),
+    MAG_NOEDITSECTION        => array( 0,    "__NOEDITSECTION__"      ),
+    MAG_START                => array( 0,    "__START__"              ),
+    MAG_CURRENTMONTH         => array( 1,    "{{CURRENTMONTH}}"       ),
+    MAG_CURRENTMONTHNAME     => array( 1,    "{{CURRENTMONTHNAME}}"   ),
+    MAG_CURRENTDAY           => array( 1,    "{{CURRENTDAY}}"         ),   
+    MAG_CURRENTDAYNAME       => array( 1,    "{{CURRENTDAYNAME}}"     ),
+    MAG_CURRENTYEAR          => array( 1,    "{{CURRENTYEAR}}"        ),
+    MAG_CURRENTTIME          => array( 1,    "{{CURRENTTIME}}"        ),
+    MAG_NUMBEROFARTICLES     => array( 1,    "{{NUMBEROFARTICLES}}"   ),
+    MAG_CURRENTMONTHNAMEGEN  => array( 1,    "{{CURRENTMONTHNAMEGEN}}"),
+       MAG_MSG                  => array( 1,    "{{MSG:$1}}"             ),
+       MAG_SUBST                => array( 1,    "{{SUBST:$1}}"           ),
+    MAG_MSGNW                => array( 1,    "{{MSGNW:$1}}"           )
+);
+       
 # All special pages have to be listed here: a description of ""
 # will make them not show up on the "Special Pages" page, which
 # is the right thing for some of them (such as the "targeted" ones).
@@ -264,11 +310,11 @@ this</a> (alternative: like this<a href=\"\" class=\"internal\">?</a>).",
        "Longpages"             => "Long articles",
        "Newpages"              => "Newly created articles",
        "Ancientpages"  => "Oldest articles",
-       "Intl"          => "Interlanguage links",
+#      "Intl"                => "Interlanguage Links",
        "Allpages"              => "All pages by title",
 
-       "Ipblocklist"   => "Blocked IP addresses",
-       "Maintenance" => "Maintenance page",
+       "Ipblocklist"   => "Blocked users/IP addresses",
+       "Maintenance"   => "Maintenance page",
        "Specialpages"  => "",
        "Contributions" => "",
        "Emailuser"             => "",
@@ -276,11 +322,12 @@ this</a> (alternative: like this<a href=\"\" class=\"internal\">?</a>).",
        "Recentchangeslinked" => "",
        "Movepage"              => "",
        "Booksources"   => "External book sources",
-"Categories" => "Page categories"
+#      "Categories"    => "Page categories",
+       "Export"                => ""
 );
 
 /* private */ $wgSysopSpecialPagesEn = array(
-       "Blockip"               => "Block aIP address",
+       "Blockip"               => "Block a user/IP address",
        "Asksql"                => "Query the database",
        "Undelete"              => "Restore deleted pages"
 );
@@ -291,6 +338,13 @@ this</a> (alternative: like this<a href=\"\" class=\"internal\">?</a>).",
        "Debug"                 => "Debugging information"
 );
 
+#-------------------------------------------------------------------
+# Default messages
+#-------------------------------------------------------------------
+# Allowed characters in keys are: A-Z, a-z, 0-9, underscore (_) and 
+# hyphen (-). If you need more characters, you may be able to change
+# the regex in MagicWord::initRegex
+
 /* private */ $wgAllMessagesEn = array(
 
 # Bits of text used by many pages:
@@ -375,6 +429,8 @@ See $1.",
 "toc" => "Table of contents",
 "showtoc" => "show",
 "hidetoc" => "hide",
+"thisisdeleted" => "View or restore $1?",
+"restorelink" => "$1 deleted edits",
 
 # Main script and global functions
 #
@@ -436,6 +492,16 @@ an incorrectly linked inter-language or inter-wiki title.",
 because it slows the database down to the point that no one can use
 the wiki.",
 "perfdisabledsub" => "Here's a saved copy from $1:",
+"wrong_wfQuery_params" => "Incorrect parameters to wfQuery()<br>
+Function: $1<br>
+Query: $2
+",
+"viewsource" => "View source",
+"protectedtext" => "This page has been locked to prevent editing; there are
+a number of reasons why this may be so, please see
+[[$wgMetaNamespace:Protected page]].
+
+You can view and copy the source of this page:",
 
 # Login and logout pages
 #
@@ -508,7 +574,17 @@ Please log in again after you receive it.",
 "blockedtitle" => "User is blocked",
 "blockedtext"  => "Your user name or IP address has been blocked by $1.
 The reason given is this:<br>''$2''<p>You may contact $1 or one of the other
-[[Wikipedia:administrators|administrators]] to discuss the block.",
+[[$wgMetaNamespace:Administrators|administrators]] to discuss the block. 
+
+Note that you may not use the \"email this user\" feature unless you have a valid email address registered in your [[Special:Preferences|user preferences]]. 
+
+Your IP address is $3. Please include this address in any queries you make.
+
+==Note to AOL users==
+Due to continuing acts of vandalism by one particular AOL user, Wikipedia often blocks AOL proxies. Unfortunately, a single proxy server may be used by a large number of AOL users, and hence innocent AOL users are often inadvertently blocked. We apologise for any inconvenience caused. 
+
+If this happens to you, please email an administrator, using an AOL email address. Be sure to include the IP address given above.
+",
 "whitelistedittitle" => "Login required to edit",
 "whitelistedittext" => "You have to [[Special:Userlogin|login]] to edit articles.",
 "whitelistreadtitle" => "Login required to read",
@@ -625,6 +701,26 @@ containing all of the search terms will appear in the result).",
 Search in namespaces :<br>
 $1<br>
 $2 List redirects &nbsp; Search for $3 $9",
+"searchdisabled" => "<p>Sorry! Full text search has been disabled temporarily, for performance reasons. In the meantime, you can use the Google search below, which may be out of date.</p>
+
+<!-- SiteSearch Google -->
+<FORM method=GET action=\"http://www.google.com/search\">
+<TABLE bgcolor=\"#FFFFFF\"><tr><td>
+<A HREF=\"http://www.google.com/\">
+<IMG SRC=\"http://www.google.com/logos/Logo_40wht.gif\"
+border=\"0\" ALT=\"Google\"></A>
+</td>
+<td>
+<INPUT TYPE=text name=q size=31 maxlength=255 value=\"\">
+<INPUT type=submit name=btnG VALUE=\"Google Search\">
+<font size=-1>
+<input type=hidden name=domains value=\"{$wgServer}\"><br><input type=radio name=sitesearch value=\"\"> WWW <input type=radio name=sitesearch value=\"{$wgServer}\" checked> {$wgServer} <br>
+<input type='hidden' name='ie' value='$2'>
+<input type='hidden' name='oe' value='$2'>
+</font>
+</td></tr></TABLE>
+</FORM>
+<!-- SiteSearch Google -->",
 "blanknamespace" => "(Main)",
 
 # Preferences page
@@ -725,6 +821,10 @@ to upload files.",
 "uploadtext"   => "<strong>STOP!</strong> Before you upload here,
 make sure to read and follow Wikipedia's <a href=\"" .
 wfLocalUrlE( "Wikipedia:Image_use_policy" ) . "\">image use policy</a>.
+<p>If a file with the name you are specifying already
+exists on Wikipedia, it'll be replaced without warning.
+So unless you mean to update a file, it's a good idea
+to first check if such a file exists.
 <p>To view or search previously uploaded images,
 go to the <a href=\"" . wfLocalUrlE( "Special:Imagelist" ) .
 "\">list of uploaded images</a>.
@@ -749,6 +849,7 @@ or <b>[[media:file.ogg]]</b> for sounds.
 <p>Please note that as with Wikipedia pages, others may edit or
 delete your uploads if they think it serves the encyclopedia, and
 you may be blocked from uploading if you abuse the system.",
+
 "uploadlog"            => "upload log",
 "uploadlogpage" => "Upload_log",
 "uploadlogpagetext" => "Below is a list of the most recent file uploads.
@@ -758,6 +859,8 @@ All times shown are server time (UTC).
 ",
 "filename"             => "Filename",
 "filedesc"             => "Summary",
+"filestatus" => "Copyright status",
+"filesource" => "Source",
 "affirmation"  => "I affirm that the copyright holder of this file
 agrees to license it under the terms of the $1.",
 "copyrightpage" => "Wikipedia:Copyrights",
@@ -946,6 +1049,9 @@ at the bottom of the screen.",
 "couldntremove" => "Couldn't remove item '$1'...",
 "iteminvalidname" => "Problem with item '$1', invalid name...",
 "wlnote" => "Below are the last $1 changes in the last <b>$2</b> hours.",
+"wlshowlast" => "Show last ",
+"wlhours"    => " hours",
+"wldays"     => " days",
                                                                                                                                        
 
 # Delete/protect/revert
@@ -989,6 +1095,11 @@ Last edit was by [[User:$3|$3]] ([[User talk:$3|Talk]]). ",
 #   only shown if there is an edit comment
 "editcomment" => "The edit comment was: \"<i>$1</i>\".", 
 "revertpage"   => "Reverted to last edit by $1",
+"protectlogpage" => "Protection_log",
+"protectlogtext" => "Below is a list of page locks/unlocks.
+See [[$wgMetaNamespace:Protected page]] for more information.",
+"protectedarticle" => "protected [[$1]]",
+"unprotectedarticle" => "unprotected [[$1]]",
 
 # Undelete
 "undelete" => "Restore deleted page",
@@ -1030,31 +1141,38 @@ to perform this function on.",
 
 # Block/unblock IP
 #
-"blockip"              => "Block IP address",
+"blockip"              => "Block user",
 "blockiptext"  => "Use the form below to block write access
-from a specific IP address.
+from a specific IP address or username.
 This should be done only only to prevent vandalism, and in
 accordance with [[Wikipedia:Policy|Wikipedia policy]].
 Fill in a specific reason below (for example, citing particular
 pages that were vandalized).",
-"ipaddress"            => "IP Address",
+"ipaddress"            => "IP Address/username",
 "ipbreason"            => "Reason",
-"ipbsubmit"            => "Block this address",
-"badipaddress" => "The IP address is badly formed.",
+"ipbsubmit"            => "Block this user",
+"badipaddress" => "No user exists by that name",
 "noblockreason" => "You must supply a reason for the block.",
 "blockipsuccesssub" => "Block succeeded",
-"blockipsuccesstext" => "The IP address \"$1\" has been blocked.
+"blockipsuccesstext" => "\"$1\" has been blocked.
 <br>See [[Special:Ipblocklist|IP block list]] to review blocks.",
-"unblockip"            => "Unblock IP address",
+"unblockip"            => "Unblock user",
 "unblockiptext"        => "Use the form below to restore write access
-to a previously blocked IP address.",
+to a previously blocked IP address or username.",
 "ipusubmit"            => "Unblock this address",
-"ipusuccess"   => "IP address \"$1\" unblocked",
-"ipblocklist"  => "List of blocked IP addresses",
+"ipusuccess"   => "\"$1\" unblocked",
+"ipblocklist"  => "List of blocked IP addresses and usernames",
 "blocklistline"        => "$1, $2 blocked $3",
 "blocklink"            => "block",
 "unblocklink"  => "unblock",
 "contribslink" => "contribs",
+"autoblocker"  => "Autoblocked because you share an IP address with \"$1\". Reason \"$2\".",
+"blocklogpage" => "Block_log",
+"blocklogentry"        => 'blocked "$1"',
+"blocklogtext" => "This is a log of user blocking and unblocking actions. Automatically 
+blocked IP addresses are not be listed. See the [[Special:Ipblocklist|IP block list]] for
+the list of currently operational bans and blocks.",
+"unblocklogentry"      => 'unblocked "$1"',
 
 # Developer tools
 #
@@ -1142,8 +1260,23 @@ title. Please merge them manually.",
 "talkpagemoved" => "The corresponding talk page was also moved.",
 "talkpagenotmoved" => "The corresponding talk page was <strong>not</strong> moved.",
 
+"export"               => "Export pages",
+"exporttext"   => "You can export the text and editing history of a particular
+page or set of pages wrapped in some XML; this can then be imported into another
+wiki running MediaWiki software, transformed, or just kept for your private
+amusement.",
+"exportcuronly"        => "Include only the current revision, not the full history",
+
+# Namespace 8 related
+
+"allmessages"  => "All_messages",
+"allmessagestext"      => "This is a list of all messages available in the MediaWiki: namespace"
 );
 
+#--------------------------------------------------------------------------
+# Internationalisation code
+#--------------------------------------------------------------------------
+
 class Language {
 
        function getDefaultUserOptions () {
@@ -1341,6 +1474,12 @@ class Language {
                return $wgAllMessagesEn[$key];
        }
        
+       function getAllMessages()
+       {
+               global $wgAllMessagesEn;
+               return $wgAllMessagesEn;
+       }
+
        function iconv( $in, $out, $string ) {
                # For most languages, this is a wrapper for iconv
                return iconv( $in, $out, $string );
@@ -1494,9 +1633,24 @@ class Language {
 
        # For right-to-left language support
        function isRTL() { return false; }
+
+       function getMagicWords() 
+       {
+               global $wgMagicWordsEn;
+               return $wgMagicWordsEn;
+       }
+
+       # Fill a MagicWord object with data from here
+       function getMagic( &$mw )
+       {
+               $raw = $this->getMagicWords(); # don't worry, it's reference counted not deep copy
+               $rawEntry = $raw[$mw->mId];
+               $mw->mCaseSensitive = $rawEntry[0];
+               $mw->mSynonyms = array_slice( $rawEntry, 1 );
+       }
 }
 
 global $IP;
-@include_once( "{$IP}/Language" . ucfirst( $wgLanguageCode ) . ".php" );
+include_once( "{$IP}/Language" . ucfirst( $wgLanguageCode ) . ".php" );
 
 ?>