translated namespaces, with help of pt:User:Jorge, BUG #962862
[lhc/web/wiklou.git] / languages / Language.php
index dc19381..4edde61 100644 (file)
@@ -39,14 +39,16 @@ if($wgMetaNamespace === FALSE)
        NS_TEMPLATE         => "Template",
        NS_TEMPLATE_TALK    => "Template_talk",
        NS_HELP             => "Help",
-       NS_HELP_TALK        => "Help_talk"
+       NS_HELP_TALK        => "Help_talk",
+       NS_CATEGORY         => "Category",
+       NS_CATEGORY_TALK    => "Category_talk"
 );
 
 /* private */ $wgDefaultUserOptionsEn = array(
        "quickbar" => 1, "underline" => 1, "hover" => 1,
        "cols" => 80, "rows" => 25, "searchlimit" => 20,
        "contextlines" => 5, "contextchars" => 50,
-       "skin" => 'monobook', "math" => 1, "rcdays" => 7, "rclimit" => 50,
+       "skin" => $wgDefaultSkin, "math" => 1, "rcdays" => 7, "rclimit" => 50,
        "highlightbroken" => 1, "stubthreshold" => 0,
        "previewontop" => 1, "editsection"=>1,"editsectiononrightclick"=>0, "showtoc"=>1,
        "showtoolbar" =>1,
@@ -66,12 +68,20 @@ if($wgMetaNamespace === FALSE)
        'monobook' => "MonoBook"
 );
 
+define( "MW_MATH_PNG",    0 );
+define( "MW_MATH_SIMPLE", 1 );
+define( "MW_MATH_HTML",   2 );
+define( "MW_MATH_SOURCE", 3 );
+define( "MW_MATH_MODERN", 4 );
+define( "MW_MATH_MATHML", 5 );
+
 /* private */ $wgMathNamesEn = array(
-       "Always render PNG",
-       "HTML if very simple or else PNG",
-       "HTML if possible or else PNG",
-       "Leave it as TeX (for text browsers)",
-       "Recommended for modern browsers"
+       MW_MATH_PNG => "Always render PNG",
+       MW_MATH_SIMPLE => "HTML if very simple or else PNG",
+       MW_MATH_HTML => "HTML if possible or else PNG",
+       MW_MATH_SOURCE => "Leave it as TeX (for text browsers)",
+       MW_MATH_MODERN => "Recommended for modern browsers",
+       MW_MATH_MATHML => "MathML if possible (experimental)",
 );
 
 /* private */ $wgDateFormatsEn = array(
@@ -95,7 +105,7 @@ this</a> (alternative: like this<a href=\"\" class=\"internal\">?</a>).",
        "editondblclick" => "Edit pages on double click (JavaScript)",
        "editsection"=>"Enable section editing via [edit] links",
        "editsectiononrightclick"=>"Enable section editing by right clicking<br /> on section titles (JavaScript)",
-       "showtoc"=>"Show table of contents<br />(for articles with more than 3 headings)",
+       "showtoc"=>"Show table of contents<br />(for pages with more than 3 headings)",
        "rememberpassword" => "Remember password across sessions",
        "editwidth" => "Edit box has full width",
        "watchdefault" => "Add pages you edit to your watchlist",
@@ -112,13 +122,14 @@ this</a> (alternative: like this<a href=\"\" class=\"internal\">?</a>).",
 );
 
 /* The following list is in native languages, not in English */
+global $wgLanguageNames;
 /* private */ $wgLanguageNames = array(
        "aa" => "Afar",                 # Afar
        "ab" => "Abkhazian",    # Abkhazian - FIXME
        "af" => "Afrikaans",    # Afrikaans
        "ak" => "Akana",                # Akan
         "an" => "Aragon&eacute;s",      # Aragonese
-       "als" => "Els&auml;ssische",    # Alsatian
+       "als" => "Els&auml;ssisch",     # Alsatian
        "am" => "&#4768;&#4635;&#4653;&#4763;", # Amharic
        "ar" => "&#1575;&#1604;&#1593;&#1585;&#1576;&#1610;&#1577;",    # Arabic
        "arc" => "&#1813;&#1829;&#1810;&#1834;&#1848;&#1821;&#1819;",   # Aramaic
@@ -140,6 +151,7 @@ this</a> (alternative: like this<a href=\"\" class=\"internal\">?</a>).",
        "ca" => "Catal&agrave;",        # Catalan
        "ce" => "&#1053;&#1086;&#1093;&#1095;&#1080;&#1081;&#1085;",    # Chechen
        "ch" => "Chamoru",              # Chamorro
+       "chr" => "&#5091;&#5043;&#5033;", # Cherokee
        "chy" => "Tsets&ecirc;hest&acirc;hese", # Cheyenne
        "co" => "Corsu",                # Corsican
        "cr" => "Nehiyaw",              # Cree
@@ -253,6 +265,7 @@ this</a> (alternative: like this<a href=\"\" class=\"internal\">?</a>).",
        "rm" => "Rumantsch",    # Raeto-Romance
        "rn" => "Kirundi",              # Kirundi
        "ro" => "Rom&acirc;n&#259;",    # Romanian
+       "roa-rup" => "Arm&#226;neashti", # Aromanian
        "ru" => "&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;",    # Russian
        "rw" => "Kinyarwanda",
        "sa" => "&#2360;&#2306;&#2360;&#2381;&#2325;&#2371;&#2340;",    # Sanskrit
@@ -285,7 +298,8 @@ this</a> (alternative: like this<a href=\"\" class=\"internal\">?</a>).",
        "tlh" => "tlhIngan-Hol",        # Klingon
        "tn" => "Setswana",             # Setswana
        "to" => "Tonga",                # Tonga - FIXME
-       "tp" => "Toki Pona",            # Toki Pona
+       "tokipona" => "Toki Pona",      # Toki Pona
+       "tp" => "Toki Pona",            # Toki Pona - non-standard language code
        "tpi" => "Tok Pisin",   # Tok Pisin 
        "tr" => "T&uuml;rk&ccedil;e",   # Turkish
        "ts" => "Xitsonga",             # Tsonga
@@ -306,6 +320,7 @@ this</a> (alternative: like this<a href=\"\" class=\"internal\">?</a>).",
        "yo" => "Yor&ugrave;b&aacute;", # Yoruba
        "za" => "(Cuengh)",             # Zhuang
        "zh" => "&#20013;&#25991;",     # (Zh&#333;ng Wén) - Chinese
+       "zh-cfr" => "&#38313;&#21335;&#35486;", # Min-nan
        "zh-cn" => "&#20013;&#25991;(&#31616;&#20307;)",        # Simplified
        "zh-tw" => "&#20013;&#25991;(&#32321;&#20307;)",        # Traditional
        "zu" => "isiZulu",              # Zulu
@@ -349,6 +364,8 @@ $wgLanguageNamesEn =& $wgLanguageNames;
     MAG_CURRENTTIME          => array( 1,    "CURRENTTIME"            ),
     MAG_NUMBEROFARTICLES     => array( 1,    "NUMBEROFARTICLES"       ),
     MAG_CURRENTMONTHNAMEGEN  => array( 1,    "CURRENTMONTHNAMEGEN"    ),
+               MAG_PAGENAME             => array( 1,    "PAGENAME"               ),
+               MAG_NAMESPACE            => array( 1,    "NAMESPACE"              ),            
        MAG_MSG                  => array( 0,    "MSG:"                   ),
        MAG_SUBST                => array( 0,    "SUBST:"                 ),
     MAG_MSGNW                => array( 0,    "MSGNW:"                 ),
@@ -359,6 +376,7 @@ $wgLanguageNamesEn =& $wgLanguageNames;
     MAG_IMG_NONE             => array( 1,    "none"                   ),
     MAG_IMG_WIDTH            => array( 1,    "$1px"                   ),
     MAG_IMG_CENTER           => array( 1,    "center", "centre"       ),
+    MAG_IMG_FRAMED          => array( 1,    "framed", "enframed", "frame" ),
     MAG_INT                  => array( 0,    "INT:"                   ),
     MAG_SITENAME             => array( 1,    "SITENAME"               ),
     MAG_NS                   => array( 0,    "NS:"                    ),
@@ -367,63 +385,6 @@ $wgLanguageNamesEn =& $wgLanguageNames;
        MAG_SERVER               => array( 0,    "SERVER"                 )
 );
 
-# 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).
-#
-/* private */ $wgValidSpecialPagesEn = array(
-       "Userlogin"             => "",
-       "Userlogout"    => "",
-       "Preferences"   => "Set my user preferences",
-       "Watchlist"             => "My watchlist",
-       "Recentchanges" => "Recently updated pages",
-       "Upload"                => "Upload image files",
-       "Imagelist"             => "Image list",
-       "Listusers"             => "Registered users",
-       "Statistics"    => "Site statistics",
-       "Randompage"    => "Random article",
-
-       "Lonelypages"   => "Orphaned articles",
-       "Unusedimages"  => "Orphaned images",
-       "Popularpages"  => "Popular articles",
-       "Wantedpages"   => "Most wanted articles",
-       "Shortpages"    => "Short articles",
-       "Longpages"             => "Long articles",
-       "Newpages"              => "Newly created articles",
-       "Ancientpages"  => "Oldest articles",
-       "Deadendpages"  => "Dead-end pages",
-#      "Intl"                => "Interlanguage Links",
-       "Allpages"              => "All pages by title",
-
-       "Ipblocklist"   => "Blocked users/IP addresses",
-       "Maintenance"   => "Maintenance page",
-       "Specialpages"  => "",
-       "Contributions" => "",
-       "Emailuser"             => "",
-       "Whatlinkshere" => "",
-       "Recentchangeslinked" => "",
-       "Movepage"              => "",
-       "Blockme"       => "",
-       "Booksources"   => "External book sources",
-       "Categories"    => "Page categories",
-       "Export"                => "XML page export",
-       "Version"               => "Show MediaWiki version",
-       "Allmessages"   => "All system messages"
-);
-
-/* private */ $wgSysopSpecialPagesEn = array(
-       "Blockip"               => "Block a user/IP address",
-       "Asksql"                => "Query the database",
-       "Undelete"              => "Restore deleted pages",
-       "Makesysop"             => "Turn a user into a sysop",
-       "Import"                => "Import a page with history",
-);
-
-/* private */ $wgDeveloperSpecialPagesEn = array(
-       "Lockdb"                => "Make database read-only",
-       "Unlockdb"              => "Restore DB write access"
-);
-
 #-------------------------------------------------------------------
 # Default messages
 #-------------------------------------------------------------------
@@ -445,7 +406,7 @@ $wgLanguageNamesEn =& $wgLanguageNames;
 
 # Bits of text used by many pages:
 #
-"categories" => "Page categories",
+"categories" => "Categories",
 "category" => "category",
 "category_header" => "Articles in category \"$1\"",
 "subcategories" => "Subcategories",
@@ -454,12 +415,14 @@ $wgLanguageNamesEn =& $wgLanguageNames;
 "linktrail"            => "/^([a-z]+)(.*)\$/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.",
 'portal'               => 'Community portal',
 'portal-url'           => '{{ns:4}}:Community Portal',
 "about"                        => "About",
 "aboutwikipedia" => "About {{SITENAME}}",
 "aboutpage"            => "{{ns:4}}:About",
-'article' => 'Article',
+'article' => 'Content page',
 "help"                 => "Help",
 "helppage"             => "{{ns:12}}:Contents",
 "wikititlesuffix" => "{{SITENAME}}",
@@ -481,13 +444,14 @@ $wgLanguageNamesEn =& $wgLanguageNames;
 "moredotdotdot"        => "More...",
 "mypage"               => "My page",
 "mytalk"               => "My talk",
+"anontalk"             => "Talk for this IP",
 'navigation' => 'Navigation',
 "currentevents" => "Current events",
 "disclaimers" => "Disclaimers",
 "disclaimerpage"               => "{{ns:4}}:General_disclaimer",
 "errorpagetitle" => "Error",
 "returnto"             => "Return to $1.",
-"fromwikipedia"        => "From {{SITENAME}}, the free encyclopedia.",
+"fromwikipedia"        => "From {{SITENAME}}",
 "whatlinkshere"        => "Pages that link here",
 "help"                 => "Help",
 "search"               => "Search",
@@ -499,6 +463,7 @@ $wgLanguageNamesEn =& $wgLanguageNames;
 "editthispage" => "Edit this page",
 'delete' => 'Delete',
 "deletethispage" => "Delete this page",
+"undelete_short" => "Undelete",
 'protect' => 'Protect',
 "protectthispage" => "Protect this page",
 'unprotect' => 'Unprotect',
@@ -508,12 +473,13 @@ $wgLanguageNamesEn =& $wgLanguageNames;
 'specialpage' => 'Special Page',
 'personaltools' => 'Personal tools',
 "postcomment"   => "Post a comment",
-"articlepage"  => "View article",
+"addsection"   => "+",
+"articlepage"  => "View content page",
 "subjectpage"  => "View subject", # For compatibility
 'talk' => 'Discussion',
 'toolbox' => 'Toolbox',
 "userpage" => "View user page",
-"wikipediapage" => "View meta page",
+"wikipediapage" => "View project page",
 "imagepage" =>         "View image page",
 "viewtalkpage" => "View discussion",
 "otherlanguages" => "Other languages",
@@ -551,6 +517,19 @@ performed by sysops with  \"bureaucrat\" status.",
 "hidetoc" => "hide",
 "thisisdeleted" => "View or restore $1?",
 "restorelink" => "$1 deleted edits",
+'feedlinks' => 'Feed:',
+
+# Short words for each namespace, by default used in the 'article' tab in monobook
+'nstab-main' => 'Article',
+'nstab-user' => 'User page',
+'nstab-media' => 'Media',
+'nstab-special' => 'Special',
+'nstab-wp' => 'About',
+'nstab-image' => 'Image',
+'nstab-mediawiki' => 'Message',
+'nstab-template' => 'Template',
+'nstab-help' => 'Help',
+'nstab-category' => 'Category',
 
 # Main script and global functions
 #
@@ -611,7 +590,8 @@ 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:",
+"perfdisabledsub" => "Here's 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 />
 Function: $1<br />
 Query: $2
@@ -622,6 +602,7 @@ a number of reasons why this may be so, please see
 [[{{ns:4}}:Protected page]].
 
 You can view and copy the source of this page:",
+'seriousxhtmlerrors' => 'There were serious xhtml markup errors detected by tidy.',
 
 # Login and logout pages
 #
@@ -655,11 +636,13 @@ Don't forget to change your {{SITENAME}} preferences.",
 "badretype"            => "The passwords you entered do not match.",
 "userexists"   => "The user name you entered is already in use. Please choose a different name.",
 "youremail"            => "Your email*",
+"yourrealname"         => "Your real name*",
 "yournick"             => "Your nickname (for signatures)",
-"emailforlost" => "* Entering an email address is optional.  But it enables people to
-contact you through the website without you having to reveal your 
-email address to them, and it also helps you if you forget your   
-password.",
+"emailforlost" => "Fields marked with a star (*) are optional.  Storing an email address enables people to contact you through the website without you having to reveal your 
+email address to them, and it can be used to send you a new password if you forget it.<br /><br />Your real name, if you choose to provide it, will be used for giving you attribution for your work.",
+'prefs-help-userdata' => '* <strong>Real name</strong> (optional): if you choose to provide it this will be used for giving you attribution for your work.<br/>
+* <strong>Email</strong> (optional): Enables people to contact you through the website without you having to reveal your 
+email address to them, and it can be used to send you a new password if you forget it.',
 "loginerror"   => "Login error",
 "nocookiesnew" => "The user account was created, but you are not logged in. {{SITENAME}} uses cookies to log in users. You have cookies disabled. Please enable them, then log in with your new username and password.",
 "nocookieslogin"       => "{{SITENAME}} uses cookies to log in users. You have cookies disabled. Please enable them and try again.",
@@ -712,7 +695,7 @@ Please log in again after you receive it.",
 "summary"              => "Summary",
 "subject"              => "Subject/headline",
 "minoredit"            => "This is a minor edit",
-"watchthis"            => "Watch this article",
+"watchthis"            => "Watch this page",
 "savearticle"  => "Save page",
 "preview"              => "Preview",
 "showpreview"  => "Show preview",
@@ -726,9 +709,9 @@ Note that you may not use the \"email this user\" feature unless you have a vali
 Your IP address is $3. Please include this address in any queries you make.
 ",
 "whitelistedittitle" => "Login required to edit",
-"whitelistedittext" => "You have to [[Special:Userlogin|login]] to edit articles.",
+"whitelistedittext" => "You have to [[Special:Userlogin|login]] to edit pages.",
 "whitelistreadtitle" => "Login required to read",
-"whitelistreadtext" => "You have to [[Special:Userlogin|login]] to read articles.",
+"whitelistreadtext" => "You have to [[Special:Userlogin|login]] to read pages.",
 "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",
@@ -742,8 +725,12 @@ To create the page, start typing in the box below
 (see the [[{{ns:4}}:Help|help page]] for more info).
 If you are here by mistake, just click your browser's '''back''' button.",
 "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.'' ",
+"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)",
+'usercssjs' => "'''Note:''' After saving, you have to tell your bowser to get the new version: '''Mozilla:''' click ''reload''(or ''ctrl-r''), '''IE / Opera:''' ''ctrl-f5'', '''Safari:''' ''cmd-r'', '''Konqueror''' ''ctrl-r''.",
+'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!",
@@ -800,8 +787,9 @@ Please check the URL you used to access this page.\n",
 "next"                 => "next",
 "last"                 => "last",
 "orig"                 => "orig",
-"histlegend"   => "Legend: (cur) = difference with current version,
-(last) = difference with preceding version, M = minor edit",
+"histlegend"   => "Diff selection: mark the radio boxes of the versions to compare and hit enter or the button at the bottom.<br/>
+Legend: (cur) = difference with current version,
+(last) = difference with preceding version, M = minor edit.",
 
 # Diffs
 #
@@ -809,6 +797,9 @@ Please check the URL you used to access this page.\n",
 "loadingrev"   => "loading revision for diff",
 "lineno"               => "Line $1:",
 "editcurrent"  => "Edit the current version of this page",
+'selectnewerversionfordiff' => 'Select a newer version for comparison',
+'selectolderversionfordiff' => 'Select an older version for comparison',
+'compareselectedversions' => 'Compare selected versions',
 
 # Search results
 #
@@ -824,13 +815,13 @@ word fewer than three letters long, which is not yet supported.
 It could also be that you have mistyped the expression, for
 example \"fish and and scales\".
 Please try another query.",
-"matchtotals"  => "The query \"$1\" matched $2 article titles
-and the text of $3 articles.",
+"matchtotals"  => "The query \"$1\" matched $2 page titles
+and the text of $3 pages.",
 "nogomatch" => "No page with this exact title exists, trying full text search.",
 "titlematches" => "Article title matches",
-"notitlematches" => "No article title matches",
-"textmatches"  => "Article text matches",
-"notextmatches"        => "No article text matches",
+"notitlematches" => "No page title matches",
+"textmatches"  => "Page text matches",
+"notextmatches"        => "No page text matches",
 "prevn"                        => "previous $1",
 "nextn"                        => "next $1",
 "viewprevnext" => "View ($1) ($2) ($3).",
@@ -892,6 +883,9 @@ See [[{{ns:4}}: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 and stub display',
+'prefs-misc' => 'Misc settings',
 "saveprefs"            => "Save preferences",
 "resetprefs"   => "Reset preferences",
 "oldpassword"  => "Old password",
@@ -963,8 +957,8 @@ to first check if such a file exists.
 go to the <a href=\"{{localurle:Special:Imagelist}}\">list of uploaded images</a>.
 Uploads and deletions are logged on the " .
 "<a href=\"{{localurle:Project:Upload_log}}\">upload log</a>.
-<p>Use the form below to upload new image files for use in
-illustrating your articles.
+</p><p>Use the form below to upload new image files for use in
+illustrating your pages.
 On most browsers, you will see a \"Browse...\" button, which will
 bring up your operating system's standard file open dialog.
 Choosing a file will fill the name of that file into the text
@@ -976,11 +970,11 @@ This may take some time if you have a slow internet connection.
 <p>The preferred formats are JPEG for photographic images, PNG
 for drawings and other iconic images, and OGG for sounds.
 Please name your files descriptively to avoid confusion.
-To include the image in an article, use a link in the form
+To include the image in a page, use a link in the form
 <b>[[{{ns:6}}:file.jpg]]</b> or <b>[[{{ns:6}}:file.png|alt text]]</b>
 or <b>[[{{ns:-2}}:file.ogg]]</b> for sounds.
 <p>Please note that as with wiki pages, others may edit or
-delete your uploads if they think it serves the encyclopedia, and
+delete your uploads if they think it serves the project, and
 you may be blocked from uploading if you abuse the system.",
 
 "uploadlog"            => "upload log",
@@ -1008,7 +1002,7 @@ any copyrights.",
 "largefile"            => "It is recommended that images not exceed 100k in size.",
 "successfulupload" => "Successful upload",
 "fileuploaded" => "File \"$1\" uploaded successfully.
-Please follow this link: ($2) to the description page and fill
+Please follow this link: $2 to the description page and fill
 in information about the file, such as where it came from, when it was
 created and by whom, and anything else you may know about it.",
 "uploadwarning" => "Upload warning",
@@ -1048,9 +1042,9 @@ this old version, (rev) = revert to this old version.
 "userstats"            => "User statistics",
 "sitestatstext" => "There are '''$1''' total pages in the database.
 This includes \"talk\" pages, pages about {{SITENAME}}, minimal \"stub\"
-pages, redirects, and others that probably don't qualify as articles.
+pages, redirects, and others that probably don't qualify as content pages.
 Excluding those, there are '''$2''' pages that are probably legitimate
-articles.
+content pages.
 
 There have been a total of '''$3''' page views, and '''$4''' page edits
 since the wiki was setup.
@@ -1065,11 +1059,11 @@ That comes to '''$5''' average edits per page, and '''$6''' views per edit.",
 "maintenancebacklink"  => "Back to Maintenance Page",
 "disambiguations"      => "Disambiguation pages",
 "disambiguationspage"  => "{{ns:4}}:Links_to_disambiguating_pages",
-"disambiguationstext"  => "The following articles link to a <i>disambiguation page</i>. They should link to the appropriate topic instead.<br />A page is treated as dismbiguation if it is linked from $1.<br />Links from other namespaces are <i>not</i> listed here.",
+"disambiguationstext"  => "The following pages link to a <i>disambiguation page</i>. They should link to the appropriate topic instead.<br />A page is treated as dismbiguation if it is linked from $1.<br />Links from other namespaces are <i>not</i> listed here.",
 "doubleredirects"      => "Double Redirects",
-"doubleredirectstext"  => "<b>Attention:</b> This list may contain false positives. That usually means there is additional text with links below the first #REDIRECT.<br />\nEach row contains links to the first and second redirect, as well as the first line of the second redirect text, usually giving the \"real\" taget article, which the first redirect should point to.",
+"doubleredirectstext"  => "<b>Attention:</b> This list may contain false positives. That usually means there is additional text with links below the first #REDIRECT.<br />\nEach row contains links to the first and second redirect, as well as the first line of the second redirect text, usually giving the \"real\" target page, which the first redirect should point to.",
 "brokenredirects"      => "Broken Redirects",
-"brokenredirectstext"  => "The following redirects link to a non-existing article.",
+"brokenredirectstext"  => "The following redirects link to a non-existing pages.",
 "selflinks"            => "Pages with Self Links",
 "selflinkstext"                => "The following pages contain a link to themselves, which they should not.",
 "mispeelings"           => "Pages with misspellings",
@@ -1077,7 +1071,7 @@ That comes to '''$5''' average edits per page, and '''$6''' views per edit.",
 "mispeelingspage"       => "List of common misspellings",
 "missinglanguagelinks"  => "Missing Language Links",
 "missinglanguagelinksbutton"    => "Find missing language links for",
-"missinglanguagelinkstext"      => "These articles do <i>not</i> link to their counterpart in $1. Redirects and subpages are <i>not</i> shown.",
+"missinglanguagelinkstext"      => "These pages do <i>not</i> link to their counterpart in $1. Redirects and subpages are <i>not</i> shown.",
 
 
 # Miscellaneous special pages
@@ -1104,7 +1098,7 @@ That comes to '''$5''' average edits per page, and '''$6''' views per edit.",
 "rclsub"               => "(to pages linked from \"$1\")",
 "debug"                        => "Debug",
 "newpages"             => "New pages",
-"ancientpages"         => "Oldest articles",
+"ancientpages"         => "Oldest pages",
 "intl"         => "Interlanguage links",
 'move' => 'Move',
 "movethispage" => "Move this page",
@@ -1158,10 +1152,10 @@ or has chosen not to receive e-mail from other users.",
 "watchnologintext"     => "You must be <a href=\"{{localurl:Special:Userlogin}}\">logged in</a>
 to modify your watchlist.",
 "addedwatch"           => "Added to watchlist",
-"addedwatchtext"       => "The page \"$1\" has been added to your <a href=\"{{localurl:Special:Watchlist}}\">watchlist</a>.
+"addedwatchtext"       => "The page \"$1\" has been added to your [[{{ns:-1}}:Watchlist|watchlist]].
 Future changes to this page and its associated Talk page will be listed there,
-and the page will appear <b>bolded</b> in the <a href=\"{{localurl:Special:Recentchanges}}\">list of recent changes</a> to
-make it easier to pick out.</p>
+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.",
 "removedwatch"         => "Removed from watchlist",
@@ -1170,7 +1164,7 @@ make it easier to pick out.</p>
 "watchthispage"                => "Watch this page",
 'unwatch' => 'Unwatch',
 "unwatchthispage"      => "Stop watching",
-"notanarticle"         => "Not an article",
+"notanarticle"         => "Not a content page",
 "watchnochange"        => "None of your watched items were edited in the time period displayed.",
 "watchdetails"         => "($1 pages watched not counting talk pages;
 $2 total pages edited since cutoff;
@@ -1226,9 +1220,9 @@ All times shown are server time (UTC).
 'rollback_short' => 'Rollback',
 "rollbacklink" => "rollback",
 "rollbackfailed" => "Rollback failed",
-"cantrollback" => "Cannot revert edit; last contributor is only author of this article.",
+"cantrollback" => "Cannot revert edit; last contributor is only author of this page.",
 "alreadyrolled"        => "Cannot rollback last edit of [[$1]]
-by [[User:$2|$2]] ([[User talk:$2|Talk]]); someone else has edited or rolled back the article already. 
+by [[User:$2|$2]] ([[User talk:$2|Talk]]); someone else has edited or rolled back the page already. 
 
 Last edit was by [[User:$3|$3]] ([[User talk:$3|Talk]]). ",
 #   only shown if there is an edit comment
@@ -1239,13 +1233,22 @@ Last edit was by [[User:$3|$3]] ([[User talk:$3|Talk]]). ",
 See [[{{ns:4}}:Protected page]] for more information.",
 "protectedarticle" => "protected [[$1]]",
 "unprotectedarticle" => "unprotected [[$1]]",
+"protectsub" =>"(Protecting \"$1\")",
+"confirmprotecttext" => "Do you really want to protect this page?",
+"confirmprotect" => "Confirm protection",
+"protectcomment" => "Reason for protecting",
+"unprotectsub" =>"(Unprotecting \"$1\")",
+"confirmunprotecttext" => "Do you really want to unprotect this page?",
+"confirmunprotect" => "Confirm unprotection",
+"unprotectcomment" => "Reason for unprotecting",
+"protectreason" => "(give a reason)",
 
 # Undelete
 "undelete" => "Restore deleted page",
 "undeletepage" => "View and restore 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 article",
+"undeletearticle" => "Restore deleted page",
 "undeleterevisions" => "$1 revisions archived",
 "undeletehistory" => "If you restore the page, all revisions will be restored to the history.
 If a new page with the same name has been created since the deletion, the restored
@@ -1254,7 +1257,7 @@ will not be automatically replaced.",
 "undeleterevision" => "Deleted revision as of $1",
 "undeletebtn" => "Restore!",
 "undeletedarticle" => "restored \"$1\"",
-"undeletedtext"   => "The article [[$1]] has been successfully restored.
+"undeletedtext"   => "[[$1]] has been successfully restored.
 See [[{{ns:4}}:Deletion_log]] for a record of recent deletions and restorations.",
 
 # Contributions
@@ -1453,15 +1456,20 @@ amusement.",
 'accesskey-article' => 'a',
 'accesskey-talk' => 't',
 'accesskey-edit' => 'e',
+'accesskey-addsection' => '+',
+'accesskey-viewsource' => 'e',
 'accesskey-history' => 'h',
-'accesskey-protect' => 'p',
+'accesskey-protect' => '=',
 'accesskey-delete' => 'd',
+'accesskey-undelete' => 'd',
 'accesskey-move' => 'm',
 'accesskey-watch' => 'w',
 'accesskey-unwatch' => 'w',
 'accesskey-watchlist' => 'l',
 'accesskey-userpage' => '.',
+'accesskey-anonuserpage' => '.',
 'accesskey-mytalk' => 'n',
+'accesskey-anontalk' => 'n',
 'accesskey-preferences' => '',
 'accesskey-mycontris' => 'y',
 'accesskey-login' => 'o',
@@ -1478,29 +1486,38 @@ amusement.",
 'accesskey-whatlinkshere' => 'b',
 'accesskey-specialpages' => 'q',
 'accesskey-specialpage' => '',
-'accesskey-upload' => 'f',
+'accesskey-upload' => 'u',
 'accesskey-minoredit' => 'i',
 'accesskey-save' => 's',
 'accesskey-preview' => 'p',
+'accesskey-contributions' => '',
+'accesskey-emailuser' => '',
+'accesskey-compareselectedversions' => 'v',
 
 # tooltip help for the main actions
-'tooltip-article' => 'View the article [alt-a]',
-'tooltip-talk' => 'Discussion about the article [alt-t]',
+'tooltip-atom' => 'Atom feed for this page',
+'tooltip-article' => 'View the content page [alt-a]',
+'tooltip-talk' => 'Discussion about the content page [alt-t]',
 'tooltip-edit' => 'You can edit this page. Please use the preview button before saving. [alt-e]',
+'tooltip-addsection' => 'Add a comment to this page. [alt-+]',
+'tooltip-viewsource' => 'This page is protected. You can view it\'s source. [alt-e]',
 'tooltip-history' => 'Past versions of this page, [alt-h]',
-'tooltip-protect' => 'Protect this page [alt-p]',
+'tooltip-protect' => 'Protect this page [alt-=]',
 'tooltip-delete' => 'Delete this page [alt-d]',
+'tooltip-undelete' => "Restore $1 deleted edits to this page [alt-d]",
 'tooltip-move' => 'Move this page [alt-m]',
 'tooltip-nomove' => 'You don\'t have the permissions to move this page',
 'tooltip-watch' => 'Add this page to your watchlist [alt-w]',
 'tooltip-unwatch' => 'Remove this page from your watchlist [alt-w]',
 'tooltip-watchlist' => 'The list of pages you\'re monitoring for changes. [alt-l]',
 'tooltip-userpage' => 'My user page [alt-.]',
+'tooltip-anonuserpage' => 'The user page for the ip you\'re editing as [alt-.]',
 'tooltip-mytalk' => 'My talk page [alt-n]',
+'tooltip-anontalk' => 'Discussion about edits from this ip address [alt-n]',
 'tooltip-preferences' => 'My preferences',
 'tooltip-mycontris' => 'List of my contributions [alt-y]',
 'tooltip-login' => 'You are encouraged to log in, it is not mandatory however. [alt-o]',
-'tooltip-logout' => 'The start button [alt-o]',
+'tooltip-logout' => 'Log out [alt-o]',
 'tooltip-search' => 'Search this wiki [alt-f]',
 'tooltip-mainpage' => 'Visit the Main Page [alt-z]',
 'tooltip-portal' => 'About the project, what you can do, where to find things',
@@ -1517,6 +1534,10 @@ amusement.",
 'tooltip-minoredit' => 'Mark this as a minor edit [alt-i]',
 'tooltip-save' => 'Save you changes [alt-s]',
 'tooltip-preview' => 'Preview your changes, please use this before saving! [alt-p]',
+'tooltip-contributions' => 'View the list of contributions of this user',
+'tooltip-emailuser' => 'Send a mail to this user',
+'tooltip-rss' => 'RSS feed for this page',
+'tooltip-compareselectedversions' => 'See the differences between the two selected versions of this page. [alt-v]',
 
 # Metadata
 "nodublincore" => "Dublin Core RDF metadata disabled for this server.",
@@ -1525,7 +1546,18 @@ amusement.",
 
 # Attribution
 
-"anonymous" => "Anonymous user(s) of $wgSitename"
+"anonymous" => "Anonymous user(s) of $wgSitename",
+"siteuser" => "$wgSitename user $1",
+"lastmodifiedby" => "This page was last modified $1 by $2.",
+"and" => "and",
+"othercontribs" => "Based on work by $1.",
+"siteusers" => "$wgSitename user(s) $1",
+"spamprotectiontitle" => "Spam protection filter",
+"spamprotectiontext" => "The page you wanted to save was blocked by the spam filter. This is probably caused by a link to an external site. 
+
+You might want to check the following regular expression for patterns that are currently blocked:"
+
+
 );
 
 #--------------------------------------------------------------------------
@@ -1643,7 +1675,7 @@ class Language {
        function getMonthAbbreviation( $key )
        {
                global $wgMonthAbbreviationsEn;
-               return $wgMonthAbbreviationsEn[$key-1];
+               return @$wgMonthAbbreviationsEn[$key-1];
        }
 
        function getWeekdayName( $key )
@@ -1747,7 +1779,7 @@ class Language {
        function getMessage( $key )
        {
                global $wgAllMessagesEn;
-               return $wgAllMessagesEn[$key];
+               return @$wgAllMessagesEn[$key];
        }
        
        function getAllMessages()
@@ -1780,7 +1812,7 @@ class Language {
                 '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s ) : true );
 
                if( ($wgInputEncoding != "utf-8") and $ishigh and $isutf )
-                       return iconv( "UTF-8", $wgInputEncoding, $s );
+                       return @iconv( "UTF-8", $wgInputEncoding, $s );
                
                if( ($wgInputEncoding == "utf-8") and $ishigh and !$isutf )
                        return utf8_encode( $s );
@@ -1854,6 +1886,10 @@ class Language {
        function getMagic( &$mw )
        {
                $raw =& $this->getMagicWords(); 
+               if( !isset( $raw[$mw->mId] ) ) {
+                       # Fall back to English if local list is incomplete
+                       $raw =& Language::getMagicWords();
+               }
         $rawEntry = $raw[$mw->mId];
                $mw->mCaseSensitive = $rawEntry[0];
                $mw->mSynonyms = array_slice( $rawEntry, 1 );
@@ -1885,8 +1921,23 @@ class Language {
                return $number;
        }
 
+        function listToText( $l ) {
+               $s = "";
+               $m = count($l) - 1;
+               for ($i = $m; $i >= 0; $i--) {
+                   if ($i == $m) {
+                       $s = $l[$i];
+                   } else if ($i == $m - 1) {
+                       $s = $l[$i] . " " . $this->getMessage("and") . " " . $s;
+                   } else {
+                       $s = $l[$i] . ", " . $s;
+                   }
+               }
+               return $s;
+       }
 }
 
+# This should fail gracefully if there's not a localization available
 @include_once( "Language" . ucfirst( $wgLanguageCode ) . ".php" );
 
 ?>