Merge "[ExternalStore] Refactored external store classes to use a base class."
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 29 Jan 2013 18:33:41 +0000 (18:33 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 29 Jan 2013 18:33:41 +0000 (18:33 +0000)
275 files changed:
CREDITS
RELEASE-NOTES-1.21
api.php
bin/ulimit5.sh
docs/hooks.txt
includes/Action.php
includes/Block.php
includes/ChangesList.php
includes/DefaultSettings.php
includes/EditPage.php
includes/Exception.php
includes/Export.php
includes/ExternalEdit.php
includes/ExternalUser.php
includes/HistoryBlob.php
includes/HttpFunctions.php
includes/ImagePage.php
includes/Import.php
includes/MagicWord.php
includes/Message.php
includes/Metadata.php
includes/MimeMagic.php
includes/OutputPage.php
includes/PHPVersionError.php
includes/Pager.php
includes/Preferences.php
includes/Sanitizer.php
includes/Setup.php
includes/SiteConfiguration.php
includes/SkinLegacy.php
includes/SkinTemplate.php
includes/SpecialPage.php
includes/SpecialPageFactory.php
includes/SquidPurgeClient.php
includes/Title.php
includes/User.php
includes/WebRequest.php
includes/WebResponse.php
includes/Wiki.php
includes/WikiPage.php
includes/Xml.php
includes/actions/HistoryAction.php
includes/actions/PurgeAction.php
includes/api/ApiBase.php
includes/api/ApiBlock.php
includes/api/ApiComparePages.php
includes/api/ApiFormatBase.php
includes/api/ApiParse.php
includes/api/ApiQueryBase.php
includes/api/ApiQueryLogEvents.php
includes/api/ApiQueryORM.php
includes/api/ApiQuerySiteinfo.php
includes/api/ApiUpload.php
includes/cache/LocalisationCache.php
includes/content/ContentHandler.php
includes/db/Database.php
includes/db/DatabaseError.php
includes/db/DatabaseIbm_db2.php
includes/db/DatabaseMssql.php
includes/db/LoadBalancer.php
includes/diff/DairikiDiff.php
includes/diff/WikiDiff3.php
includes/filebackend/FileBackendGroup.php
includes/filerepo/FileRepo.php
includes/filerepo/file/File.php
includes/filerepo/file/LocalFile.php
includes/filerepo/file/OldLocalFile.php
includes/installer/DatabaseInstaller.php
includes/installer/DatabaseUpdater.php
includes/installer/Installer.i18n.php
includes/installer/Installer.php
includes/installer/WebInstaller.php
includes/installer/WebInstallerPage.php
includes/interwiki/Interwiki.php
includes/json/Services_JSON.php
includes/libs/GenericArrayObject.php
includes/logging/LogEventsList.php
includes/media/BitmapMetadataHandler.php
includes/media/DjVu.php
includes/media/FormatMetadata.php
includes/media/ImageHandler.php
includes/media/MediaTransformOutput.php
includes/media/PNGMetadataExtractor.php
includes/media/SVGMetadataExtractor.php
includes/normal/UtfNormalBench.php
includes/normal/UtfNormalMemStress.php
includes/parser/LinkHolderArray.php
includes/parser/Parser.php
includes/parser/ParserOutput.php
includes/profiler/Profiler.php
includes/resourceloader/ResourceLoaderStartUpModule.php
includes/search/SearchEngine.php
includes/search/SearchPostgres.php
includes/specials/SpecialAllmessages.php
includes/specials/SpecialAllpages.php
includes/specials/SpecialBlockList.php
includes/specials/SpecialComparePages.php
includes/specials/SpecialContributions.php
includes/specials/SpecialEditWatchlist.php
includes/specials/SpecialImport.php
includes/specials/SpecialListfiles.php
includes/specials/SpecialListgrouprights.php
includes/specials/SpecialNewimages.php
includes/specials/SpecialNewpages.php
includes/specials/SpecialPasswordReset.php
includes/specials/SpecialPrefixindex.php
includes/specials/SpecialProtectedpages.php
includes/specials/SpecialProtectedtitles.php
includes/specials/SpecialRandompage.php
includes/specials/SpecialRandomredirect.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialRecentchangeslinked.php
includes/specials/SpecialSearch.php
includes/specials/SpecialUnblock.php
includes/specials/SpecialVersion.php
includes/specials/SpecialWatchlist.php
includes/templates/Userlogin.php
includes/upload/UploadBase.php
includes/upload/UploadFromChunks.php
languages/Language.php
languages/messages/MessagesAce.php
languages/messages/MessagesArc.php
languages/messages/MessagesAst.php
languages/messages/MessagesAvk.php
languages/messages/MessagesAz.php
languages/messages/MessagesAzb.php
languages/messages/MessagesBa.php
languages/messages/MessagesBar.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBg.php
languages/messages/MessagesBh.php
languages/messages/MessagesBr.php
languages/messages/MessagesBs.php
languages/messages/MessagesCs.php
languages/messages/MessagesCu.php
languages/messages/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesDe.php
languages/messages/MessagesDiq.php
languages/messages/MessagesDv.php
languages/messages/MessagesEl.php
languages/messages/MessagesEn.php
languages/messages/MessagesFi.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrp.php
languages/messages/MessagesGan.php
languages/messages/MessagesGd.php
languages/messages/MessagesGl.php
languages/messages/MessagesGu.php
languages/messages/MessagesHe.php
languages/messages/MessagesHi.php
languages/messages/MessagesHr.php
languages/messages/MessagesHy.php
languages/messages/MessagesId.php
languages/messages/MessagesIt.php
languages/messages/MessagesJa.php
languages/messages/MessagesKa.php
languages/messages/MessagesKbd_cyrl.php
languages/messages/MessagesKiu.php
languages/messages/MessagesKo.php
languages/messages/MessagesKrc.php
languages/messages/MessagesKs_arab.php
languages/messages/MessagesKs_deva.php
languages/messages/MessagesKw.php
languages/messages/MessagesLa.php
languages/messages/MessagesLb.php
languages/messages/MessagesMin.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesNds.php
languages/messages/MessagesNds_nl.php
languages/messages/MessagesNl.php
languages/messages/MessagesNn.php
languages/messages/MessagesOs.php
languages/messages/MessagesPa.php
languages/messages/MessagesPfl.php
languages/messages/MessagesPl.php
languages/messages/MessagesPt.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesRo.php
languages/messages/MessagesScn.php
languages/messages/MessagesSl.php
languages/messages/MessagesSo.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesTe.php
languages/messages/MessagesTh.php
languages/messages/MessagesTr.php
languages/messages/MessagesTs.php
languages/messages/MessagesTyv.php
languages/messages/MessagesUr.php
languages/messages/MessagesUz.php
languages/messages/MessagesVec.php
languages/messages/MessagesVi.php
languages/messages/MessagesWar.php
languages/messages/MessagesYi.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
maintenance/Maintenance.php
maintenance/locking/LockServerDaemon.php
maintenance/nextJobDB.php
maintenance/runJobs.php
profileinfo.php
resources/Resources.php
resources/jquery/jquery.suggestions.js
resources/mediawiki/mediawiki.searchSuggest.css [new file with mode: 0644]
resources/mediawiki/mediawiki.searchSuggest.js
tests/phpunit/MediaWikiPHPUnitCommand.php
tests/phpunit/MediaWikiTestCase.php
tests/phpunit/data/xmp/gps.result.php
tests/phpunit/includes/BlockTest.php
tests/phpunit/includes/CdbTest.php
tests/phpunit/includes/DiffHistoryBlobTest.php
tests/phpunit/includes/ExternalStoreTest.php
tests/phpunit/includes/ExtraParserTest.php
tests/phpunit/includes/FormOptionsInitializationTest.php
tests/phpunit/includes/FormOptionsTest.php
tests/phpunit/includes/GlobalFunctions/GlobalTest.php
tests/phpunit/includes/GlobalFunctions/wfGetCallerTest.php
tests/phpunit/includes/HooksTest.php
tests/phpunit/includes/HttpTest.php
tests/phpunit/includes/IPTest.php
tests/phpunit/includes/LinksUpdateTest.php
tests/phpunit/includes/LocalFileTest.php
tests/phpunit/includes/MWNamespaceTest.php
tests/phpunit/includes/RevisionStorageTest.php
tests/phpunit/includes/RevisionStorageTest_ContentHandlerUseDB.php
tests/phpunit/includes/RevisionTest.php
tests/phpunit/includes/SampleTest.php
tests/phpunit/includes/SanitizerTest.php
tests/phpunit/includes/SeleniumConfigurationTest.php
tests/phpunit/includes/SiteConfigurationTest.php
tests/phpunit/includes/TimestampTest.php
tests/phpunit/includes/TitleTest.php
tests/phpunit/includes/UserTest.php
tests/phpunit/includes/WikiPageTest.php
tests/phpunit/includes/WikiPageTest_ContentHandlerUseDB.php
tests/phpunit/includes/api/ApiTestCaseUpload.php
tests/phpunit/includes/api/format/ApiFormatPhpTest.php
tests/phpunit/includes/api/generateRandomImages.php
tests/phpunit/includes/content/ContentHandlerTest.php
tests/phpunit/includes/db/DatabaseSQLTest.php
tests/phpunit/includes/db/DatabaseSqliteTest.php
tests/phpunit/includes/db/DatabaseTest.php
tests/phpunit/includes/db/ORMRowTest.php
tests/phpunit/includes/filebackend/FileBackendTest.php
tests/phpunit/includes/filerepo/StoreBatchTest.php
tests/phpunit/includes/libs/GenericArrayObjectTest.php
tests/phpunit/includes/logging/LogTests.i18n.php
tests/phpunit/includes/media/ExifRotationTest.php
tests/phpunit/includes/media/MediaHandlerTest.php
tests/phpunit/includes/media/PNGMetadataExtractorTest.php
tests/phpunit/includes/media/SVGMetadataExtractorTest.php
tests/phpunit/includes/objectcache/BagOStuffTest.php
tests/phpunit/includes/parser/MagicVariableTest.php
tests/phpunit/includes/parser/MediaWikiParserTest.php
tests/phpunit/includes/parser/ParserMethodsTest.php
tests/phpunit/includes/parser/PreprocessorTest.php
tests/phpunit/includes/site/SiteListTest.php
tests/phpunit/includes/site/SiteTest.php
tests/phpunit/includes/site/TestSites.php
tests/phpunit/includes/specials/SpecialRecentchangesTest.php
tests/phpunit/includes/specials/SpecialSearchTest.php
tests/phpunit/languages/LanguageMlTest.php
tests/phpunit/languages/LanguageTest.php
tests/phpunit/languages/utils/CLDRPluralRuleEvaluatorTest.php
tests/phpunit/maintenance/DumpTestCase.php
tests/phpunit/maintenance/MaintenanceTest.php
tests/phpunit/maintenance/backupTextPassTest.php
tests/phpunit/maintenance/backup_LogTest.php
tests/phpunit/maintenance/backup_PageTest.php
tests/phpunit/maintenance/fetchTextTest.php
tests/phpunit/maintenance/getSlaveServerTest.php
tests/phpunit/skins/SideBarTest.php
tests/phpunit/suite.xml

diff --git a/CREDITS b/CREDITS
index a03ad5e..7da6cb6 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -87,6 +87,7 @@ following names for their contribution to the product.
 
 == Patch Contributors ==
 * Aaron Pramana
+* Aaron Ball
 * Agbad
 * Ahmad Sherif
 * Alejandro Mery
index 1efd80d..b9fdecf 100644 (file)
@@ -85,6 +85,7 @@ production.
   a security fix (bug 42202).
 * Added the ability to limit the wall clock time used by shell processes,
   as well as the CPU time. Configurable with $wgMaxShellWallClockTime.
+* Added $wgWhitelistReadRegexp for regex whitelisting
 
 === Bug fixes in 1.21 ===
 * (bug 40353) SpecialDoubleRedirect should support interwiki redirects.
diff --git a/api.php b/api.php
index 7fae373..94266d8 100644 (file)
--- a/api.php
+++ b/api.php
@@ -97,7 +97,7 @@ if ( $wgAPIRequestLog ) {
        if ( $module->mustBePosted() ) {
                $items[] = "action=" . $wgRequest->getVal( 'action' );
        } else {
-               $items[] = wfArrayToCGI( $wgRequest->getValues() );
+               $items[] = wfArrayToCgi( $wgRequest->getValues() );
        }
        wfErrorLog( implode( ',', $items ) . "\n", $wgAPIRequestLog );
        wfDebug( "Logged API request to $wgAPIRequestLog\n" );
index 3f24172..fd8aae2 100644 (file)
@@ -9,8 +9,8 @@ fi
 if [ "$3" -gt 0 ]; then
        ulimit -f "$3"
 fi
-if [ "$4" -gt 0 ]; then
-       timeout $4 /bin/bash -c "$5"
+if [ "$4" -gt 0 -a -x "/usr/bin/timeout" ]; then
+       /usr/bin/timeout $4 /bin/bash -c "$5"
        STATUS="$?"
        if [ "$STATUS" == 124 ]; then
                echo "ulimit5.sh: timed out." 1>&2
index 6574c17..f9274a5 100644 (file)
@@ -295,7 +295,7 @@ ob_get_clean().
 $title: Title under which the revisions were imported
 $origTitle: Title provided by the XML file
 $revCount: Number of revisions in the XML file
-$sRevCount: Number of sucessfully imported revisions
+$sRevCount: Number of successfully imported revisions
 $pageInfo: associative array of page information
 
 'AfterFinalPageOutput': Nearly at the end of OutputPage::output() but
@@ -365,7 +365,7 @@ descriptions.
 &$module: ApiBase Module object
 &$desc: Array of parameter descriptions
 
-'APIGetResultProperties': Use this hook to mofify the propertiesin a module's
+'APIGetResultProperties': Use this hook to modify the properties in a module's
 result.
 &$module: ApiBase Module object
 &$properties: Array of properties
@@ -521,7 +521,7 @@ $row: row (object) returned from the database server
 
 'ArticlePageDataBefore': Before loading data of an article from the database.
 $wikiPage: WikiPage (object) that data will be loaded
-$fields: fileds (array) to load from the database
+$fields: fields (array) to load from the database
 
 'ArticlePrepareTextForEdit': Called when preparing text to be saved.
 $wikiPage: the WikiPage being saved
@@ -616,14 +616,14 @@ $article: target article (object)
 
 'ArticleViewCustom': Allows to output the text of the article in a different
 format than wikitext. DEPRECATED, use ArticleContentViewCustom instead. Note
-that it is preferrable to implement proper handing for a custom data type using
+that it is preferable to implement proper handing for a custom data type using
 the ContentHandler facility.
 $text: text of the page
 $title: title of the page
 $output: reference to $wgOut
 
 'ArticleContentViewCustom': Allows to output the text of the article in a
-different format than wikitext. Note that it is preferrable to implement proper
+different format than wikitext. Note that it is preferable to implement proper
 handing for a custom data type using the ContentHandler facility.
 $content: content of the page, as a Content object
 $title: title of the page
@@ -634,7 +634,7 @@ in from an external authentication method.
 $user: User object created locally
 
 'AuthPluginSetup': Update or replace authentication plugin object ($wgAuth).
-Gives a chance for an extension to set it programattically to a variable class.
+Gives a chance for an extension to set it programmatically to a variable class.
 &$auth: the $wgAuth object, probably a stub
 
 'AutopromoteCondition': Check autopromote condition for user.
@@ -643,7 +643,7 @@ $args: arguments
 $user: user
 $result: result of checking autopromote condition
 
-'BacklinkCacheGetPrefix': Allows to set prefix for a spefific link table.
+'BacklinkCacheGetPrefix': Allows to set prefix for a specific link table.
 $table: table name
 &$prefix: prefix
 
@@ -769,7 +769,7 @@ $collationName: Name of the collation in question
 successfully.
 $user: user (object) whose email is being confirmed
 
-'ContentHandlerDefaultModelFor': Called when the default content model is determiend
+'ContentHandlerDefaultModelFor': Called when the default content model is determined
 for a given title. May be used to assign a different model for that title.
 $title: the Title in question
 &$model: the model name. Use with CONTENT_MODEL_XXX constants.
@@ -954,27 +954,27 @@ $title: title of page being edited
 
 'EditPageGetDiffText': DEPRECATED. Use EditPageGetDiffContent instead. Allow
 modifying the wikitext that will be used in "Show changes". Note that it is
-preferrable to implement diff handling for different data types using the
+preferable to implement diff handling for different data types using the
 ContentHandler facility.
 $editPage: EditPage object
 &$newtext: wikitext that will be used as "your version"
 
 'EditPageGetDiffContent': Allow modifying the wikitext that will be used in
-"Show changes". Note that it is preferrable to implement diff handling for
+"Show changes". Note that it is preferable to implement diff handling for
 different data types using the ContentHandler facility.
 $editPage: EditPage object
 &$newtext: wikitext that will be used as "your version"
 
 'EditPageGetPreviewText': DEPRECATED. Use EditPageGetPreviewContent instead.
-Allow modifying the wikitext that will be previewed. Note that it is preferrable
-to implement previews for different data types using the COntentHandler
+Allow modifying the wikitext that will be previewed. Note that it is preferable
+to implement previews for different data types using the ContentHandler
 facility.
 $editPage: EditPage object
 &$toparse: wikitext that will be parsed
 
 'EditPageGetPreviewContent': Allow modifying the wikitext that will be
-previewed. Note that it is preferrable to implement previews for different data
-types using the COntentHandler facility.
+previewed. Note that it is preferable to implement previews for different data
+types using the ContentHandler facility.
 $editPage: EditPage object
 &$content: Content object to be previewed (may be replaced by hook function)
 
@@ -1151,7 +1151,7 @@ $title: Title object of page
 &$url: string value as output (out parameter, can modify)
 
 'GetMetadataVersion': Modify the image metadata version currently in use. This
-is used when requesting image metadata from a ForiegnApiRepo. Media handlers
+is used when requesting image metadata from a ForeignApiRepo. Media handlers
 that need to have versioned metadata should add an element to the end of the
 version array of the form 'handler_name=version'. Most media handlers won't need
 to do this unless they broke backwards compatibility with a previous version of
@@ -1215,7 +1215,7 @@ page is built.
 $imagePage: ImagePage object ($this)
 &$html: HTML for the hook to add
 
-'ImagePageFileHistoryLine': Called when a file history line is contructed.
+'ImagePageFileHistoryLine': Called when a file history line is constructed.
 $file: the file
 $line: the HTML of the history line
 $css: the line CSS class
@@ -1338,13 +1338,13 @@ CanonicalNamespaces for that.
 $wgExtensionMessagesFiles instead.
 Use this to define synonyms of magic words depending of the language
 $magicExtensions: associative array of magic words synonyms
-$lang: laguage code (string)
+$lang: language code (string)
 
 'LanguageGetSpecialPageAliases': DEPRECATED, use $specialPageAliases in a file
 listed in $wgExtensionMessagesFiles instead.
 Use to define aliases of special pages names depending of the language
 $specialPageAliases: associative array of magic words synonyms
-$lang: laguage code (string)
+$lang: language code (string)
 
 'LanguageGetTranslatedLanguageNames': Provide translated language names.
 &$names: array of language code => language name
@@ -1375,8 +1375,8 @@ $target: the Title object that the link is pointing to
 $options: the options.  Will always include either 'known' or 'broken', and may
   include 'noclasses'.
 &$html: the final (raw HTML) contents of the <a> tag, after processing.
-&$attribs: the final HTML attributes of the <a> tag, after processing, in asso-
-  ciative array form.
+&$attribs: the final HTML attributes of the <a> tag, after processing, in
+  associative array form.
 &$ret: the value to return if your hook returns false.
 
 'LinkerMakeExternalImage': At the end of Linker::makeExternalImage() just
@@ -1401,13 +1401,13 @@ actual update.
 each link table insert.  For example, pagelinks, imagelinks, externallinks.
 $linksUpdate: LinksUpdate object
 $table: the table to insert links to
-$insertions: an arry of links to insert
+$insertions: an array of links to insert
 
 'LinksUpdateComplete': At the end of LinksUpdate::doUpdate() when updating,
 including delete and insert, has completed for all link tables
 &$linksUpdate: the LinksUpdate object
 
-'LinksUpdateConstructed': At the end of LinksUpdate() is contruction.
+'LinksUpdateConstructed': At the end of LinksUpdate() is construction.
 &$linksUpdate: the LinksUpdate object
 
 'ListDefinedTags': When trying to find all defined tags.
@@ -1481,7 +1481,7 @@ $time: timestamp of the log entry (added in 1.12)
 script.
 $refreshLinks: RefreshLinks object
 
-'MagicWordwgVariableIDs': When definig new magic words IDs.
+'MagicWordwgVariableIDs': When defining new magic words IDs.
 $variableIDs: array of strings
 
 'MakeGlobalVariablesScript': Called right before Skin::makeVariablesScript is
@@ -1492,7 +1492,7 @@ ResourceLoaderGetConfigVars instead.
   Skin::makeVariablesScript
 $out: The OutputPage which called the hook, can be used to get the real title.
 
-'MarkPatrolled': Aefore an edit is marked patrolled.
+'MarkPatrolled': Before an edit is marked patrolled.
 $rcid: ID of the revision to be marked patrolled
 $user: the user (object) marking the revision as patrolled
 $wcOnlySysopsCanPatrol: config setting indicating whether the user needs to be a
@@ -1689,7 +1689,7 @@ $stripState: stripState used (object)
 
 'ParserAfterTidy': Called after Parser::tidy() in Parser::parse()
 $parser: Parser object being used
-$text: text that'll be returned
+$text: text that will be returned
 
 'ParserBeforeInternalParse': Called at the beginning of Parser::internalParse().
 $parser: Parser object
@@ -1732,7 +1732,7 @@ $time: actual time (timestamp)
 'ParserGetVariableValueVarCache': use this to change the value of the variable
 cache or return false to not use it.
 $parser: Parser object
-$varCache: varaiable cache (array)
+$varCache: variable cache (array)
 
 'ParserLimitReport': Called at the end of Parser:parse() when the parser will
 include comments about size of the text parsed.
@@ -1807,7 +1807,7 @@ $oldaddr: old email address (string)
 $newaddr: new email address (string)
 
 'PrefsPasswordAudit': Called when user changes his password.
-$user: User (object) changing his passoword
+$user: User (object) changing his password
 $newPass: new password
 $error: error (string) 'badretype', 'wrongpassword', 'error' or 'success'
 
@@ -2170,7 +2170,7 @@ go to the existing page.
 $t: title object searched for
 &$params: an array of the default message name and page title (as parameter)
 
-'SpecialSearchGo': Valled when user clicked the "Go".
+'SpecialSearchGo': Called when user clicked the "Go".
 &$title: title object generated from the text entered by the user
 &$term: the search term entered by the user
 
@@ -2264,7 +2264,7 @@ $output: OutputPage object
 'ThumbnailBeforeProduceHTML': Called before an image HTML is about to be
 rendered (by ThumbnailImage:toHtml method).
 $thumbnail: the ThumbnailImage object
-&$attribs: image attibute array
+&$attribs: image attribute array
 &$linkAttribs: image link attribute array
 
 'TitleArrayFromResult': Called when creating an TitleArray object from a
@@ -2299,7 +2299,7 @@ $result: Boolean; whether MediaWiki currently thinks this page is movable.
   Title::isMovable().
 
 'TitleIsWikitextPage': Called when determining if a page is a wikitext or should
-be handled by seperate handler (via ArticleViewCustom).
+be handled by separate handler (via ArticleViewCustom).
 $title: Title object that is being checked
 $result: Boolean; whether MediaWiki currently thinks this is a wikitext page.
   Hooks may change this value to override the return value of
@@ -2340,7 +2340,7 @@ $title: Title object of the page that we're about to undelete
 $title: title object related to the revision
 $rev: revision (object) that will be viewed
 
-'UnknownAction': An unknown "action" has occured (useful for defining your own
+'UnknownAction': An unknown "action" has occurred (useful for defining your own
 actions).
 $action: action name
 $article: article "acted on"
@@ -2437,7 +2437,7 @@ $user: User (object) whose permission is being checked
 
 'UserClearNewTalkNotification': Called when clearing the "You have new
 messages!" message, return false to not delete it.
-$user: User (object) that'll clear the message
+$user: User (object) that will clear the message
 
 'UserComparePasswords': Called when checking passwords, return false to
 override the default password checks.
@@ -2478,9 +2478,9 @@ $user: User object
 &$email: email, change this to override local email
 
 'UserGetEmailAuthenticationTimestamp': Called when getting the timestamp of
-email authentification.
+email authentication.
 $user: User object
-&$timestamp: timestamp, change this to override local email authentification
+&$timestamp: timestamp, change this to override local email authentication
   timestamp
 
 'UserGetImplicitGroups': Called in User::getImplicitGroups().
@@ -2488,7 +2488,7 @@ $user: User object
 
 'UserGetLanguageObject': Called when getting user's interface language object.
 $user: User object
-&$code: Langauge code that will be used to create the object
+&$code: Language code that will be used to create the object
 $context: RequestContext object
 
 'UserGetReservedNames': Allows to modify $wgReservedUsernames at run time.
@@ -2526,7 +2526,7 @@ $user: user object
 'UserLoadFromSession': Called to authenticate users on external/environmental
 means; occurs before session is loaded.
 $user: user object being loaded
-&$result: set this to a boolean value to abort the normal authentification
+&$result: set this to a boolean value to abort the normal authentication
   process
 
 'UserLoadOptions': When user options/preferences are being loaded from the
@@ -2581,10 +2581,10 @@ $user: User object
 &$email: new email, change this to override new email address
 
 'UserSetEmailAuthenticationTimestamp': Called when setting the timestamp of
-email authentification.
+email authentication.
 $user: User object
 &$timestamp: new timestamp, change this to override local email
-authentification timestamp
+authentication timestamp
 
 'UserToolLinksEdit': Called when generating a list of user tool links, e.g.
 "Foobar (Talk | Contribs | Block)".
index 8201763..0bc5ba2 100644 (file)
@@ -61,7 +61,7 @@ abstract class Action {
         * @param $overrides Array
         * @return bool|null|string
         */
-       private final static function getClass( $action, array $overrides ) {
+       final private static function getClass( $action, array $overrides ) {
                global $wgActions;
                $action = strtolower( $action );
 
@@ -88,7 +88,7 @@ abstract class Action {
         * @return Action|bool|null false if the action is disabled, null
         *     if it is not recognised
         */
-       public final static function factory( $action, Page $page, IContextSource $context = null ) {
+       final public static function factory( $action, Page $page, IContextSource $context = null ) {
                $class = self::getClass( $action, $page->getActionOverrides() );
                if ( $class ) {
                        $obj = new $class( $page, $context );
@@ -106,7 +106,7 @@ abstract class Action {
         * @param $context IContextSource
         * @return string: action name
         */
-       public final static function getActionName( IContextSource $context ) {
+       final public static function getActionName( IContextSource $context ) {
                global $wgActions;
 
                $request = $context->getRequest();
@@ -150,7 +150,7 @@ abstract class Action {
         * @param $name String: name of an action
         * @return Bool
         */
-       public final static function exists( $name ) {
+       final public static function exists( $name ) {
                return self::getClass( $name, array() ) !== null;
        }
 
@@ -158,7 +158,7 @@ abstract class Action {
         * Get the IContextSource in use here
         * @return IContextSource
         */
-       public final function getContext() {
+       final public function getContext() {
                if ( $this->context instanceof IContextSource ) {
                        return $this->context;
                }
@@ -170,7 +170,7 @@ abstract class Action {
         *
         * @return WebRequest
         */
-       public final function getRequest() {
+       final public function getRequest() {
                return $this->getContext()->getRequest();
        }
 
@@ -179,7 +179,7 @@ abstract class Action {
         *
         * @return OutputPage
         */
-       public final function getOutput() {
+       final public function getOutput() {
                return $this->getContext()->getOutput();
        }
 
@@ -188,7 +188,7 @@ abstract class Action {
         *
         * @return User
         */
-       public final function getUser() {
+       final public function getUser() {
                return $this->getContext()->getUser();
        }
 
@@ -197,7 +197,7 @@ abstract class Action {
         *
         * @return Skin
         */
-       public final function getSkin() {
+       final public function getSkin() {
                return $this->getContext()->getSkin();
        }
 
@@ -206,7 +206,7 @@ abstract class Action {
         *
         * @return Language
         */
-       public final function getLanguage() {
+       final public function getLanguage() {
                return $this->getContext()->getLanguage();
        }
 
@@ -216,7 +216,7 @@ abstract class Action {
         * @deprecated 1.19 Use getLanguage instead
         * @return Language
         */
-       public final function getLang() {
+       final public function getLang() {
                wfDeprecated( __METHOD__, '1.19' );
                return $this->getLanguage();
        }
@@ -225,7 +225,7 @@ abstract class Action {
         * Shortcut to get the Title object from the page
         * @return Title
         */
-       public final function getTitle() {
+       final public function getTitle() {
                return $this->page->getTitle();
        }
 
@@ -235,7 +235,7 @@ abstract class Action {
         *
         * @return Message object
         */
-       public final function msg() {
+       final public function msg() {
                $params = func_get_args();
                return call_user_func_array( array( $this->getContext(), 'msg' ), $params );
        }
@@ -255,7 +255,7 @@ abstract class Action {
         * Return the name of the action this object responds to
         * @return String lowercase
         */
-       public abstract function getName();
+       abstract public function getName();
 
        /**
         * Get the permission required to perform this action.  Often, but not always,
@@ -350,13 +350,13 @@ abstract class Action {
         * $this->getOutput(), etc.
         * @throws ErrorPageError
         */
-       public abstract function show();
+       abstract public function show();
 
        /**
         * Execute the action in a silent fashion: do not display anything or release any errors.
         * @return Bool whether execution was successful
         */
-       public abstract function execute();
+       abstract public function execute();
 }
 
 /**
@@ -368,7 +368,7 @@ abstract class FormAction extends Action {
         * Get an HTMLForm descriptor array
         * @return Array
         */
-       protected abstract function getFormFields();
+       abstract protected function getFormFields();
 
        /**
         * Add pre- or post-text to the form
@@ -406,7 +406,7 @@ abstract class FormAction extends Action {
                        $this->getRequest()->getQueryValues(),
                        array( 'action' => null, 'title' => null )
                );
-               $form->addHiddenField( 'redirectparams', wfArrayToCGI( $params ) );
+               $form->addHiddenField( 'redirectparams', wfArrayToCgi( $params ) );
 
                $form->addPreText( $this->preText() );
                $form->addPostText( $this->postText() );
@@ -425,14 +425,14 @@ abstract class FormAction extends Action {
         * @param  $data Array
         * @return Bool|Array true for success, false for didn't-try, array of errors on failure
         */
-       public abstract function onSubmit( $data );
+       abstract public function onSubmit( $data );
 
        /**
         * Do something exciting on successful processing of the form.  This might be to show
         * a confirmation message (watch, rollback, etc) or to redirect somewhere else (edit,
         * protect, etc).
         */
-       public abstract function onSuccess();
+       abstract public function onSuccess();
 
        /**
         * The basic pattern for actions is to display some sort of HTMLForm UI, maybe with
@@ -508,7 +508,7 @@ abstract class FormlessAction extends Action {
         * @return String|null will be added to the HTMLForm if present, or just added to the
         *     output if not.  Return null to not add anything
         */
-       public abstract function onView();
+       abstract public function onView();
 
        /**
         * We don't want an HTMLForm
index b81cf3a..fde5f07 100644 (file)
@@ -65,7 +65,7 @@ class Block {
                $timestamp = 0, $auto = 0, $expiry = '', $anonOnly = 0, $createAccount = 0, $enableAutoblock = 0,
                $hideName = 0, $blockEmail = 0, $allowUsertalk = 0, $byText = '' )
        {
-               if( $timestamp === 0 ){
+               if( $timestamp === 0 ) {
                        $timestamp = wfTimestampNow();
                }
 
@@ -206,16 +206,16 @@ class Block {
         */
        public function load( $address = '', $user = 0 ) {
                wfDeprecated( __METHOD__, '1.18' );
-               if( $user ){
+               if( $user ) {
                        $username = User::whoIs( $user );
                        $block = self::newFromTarget( $username, $address );
                } else {
                        $block = self::newFromTarget( null, $address );
                }
 
-               if( $block instanceof Block ){
+               if( $block instanceof Block ) {
                        # This is mildly evil, but hey, it's B/C :D
-                       foreach( $block as $variable => $value ){
+                       foreach( $block as $variable => $value ) {
                                $this->$variable = $value;
                        }
                        return true;
@@ -237,7 +237,7 @@ class Block {
        protected function newLoad( $vagueTarget = null ) {
                $db = wfGetDB( $this->mFromMaster ? DB_MASTER : DB_SLAVE );
 
-               if( $this->type !== null ){
+               if( $this->type !== null ) {
                        $conds = array(
                                'ipb_address' => array( (string)$this->target ),
                        );
@@ -247,7 +247,7 @@ class Block {
 
                # Be aware that the != '' check is explicit, since empty values will be
                # passed by some callers (bug 29116)
-               if( $vagueTarget != ''){
+               if( $vagueTarget != '' ) {
                        list( $target, $type ) = self::parseTarget( $vagueTarget );
                        switch( $type ) {
                                case self::TYPE_USER:
@@ -285,20 +285,20 @@ class Block {
                # This is begging for $this = $bestBlock, but that's not allowed in PHP :(
                $bestBlockPreventsEdit = null;
 
-               foreach( $res as $row ){
+               foreach( $res as $row ) {
                        $block = self::newFromRow( $row );
 
                        # Don't use expired blocks
-                       if( $block->deleteIfExpired() ){
+                       if( $block->deleteIfExpired() ) {
                                continue;
                        }
 
                        # Don't use anon only blocks on users
-                       if( $this->type == self::TYPE_USER && !$block->isHardblock() ){
+                       if( $this->type == self::TYPE_USER && !$block->isHardblock() ) {
                                continue;
                        }
 
-                       if( $block->getType() == self::TYPE_RANGE ){
+                       if( $block->getType() == self::TYPE_RANGE ) {
                                # This is the number of bits that are allowed to vary in the block, give
                                # or take some floating point errors
                                $end = wfBaseconvert( $block->getRangeEnd(), 16, 10 );
@@ -313,14 +313,14 @@ class Block {
                                $score = $block->getType();
                        }
 
-                       if( $score < $bestBlockScore ){
+                       if( $score < $bestBlockScore ) {
                                $bestBlockScore = $score;
                                $bestRow = $row;
                                $bestBlockPreventsEdit = $block->prevents( 'edit' );
                        }
                }
 
-               if( $bestRow !== null ){
+               if( $bestRow !== null ) {
                        $this->initFromRow( $bestRow );
                        $this->prevents( 'edit', $bestBlockPreventsEdit );
                        return true;
@@ -371,9 +371,9 @@ class Block {
        protected static function getIpFragment( $hex ) {
                global $wgBlockCIDRLimit;
                if ( substr( $hex, 0, 3 ) == 'v6-' ) {
-                       return 'v6-' . substr( substr( $hex, 3 ), 0,  floor( $wgBlockCIDRLimit['IPv6'] / 4 ) );
+                       return 'v6-' . substr( substr( $hex, 3 ), 0, floor( $wgBlockCIDRLimit['IPv6'] / 4 ) );
                } else {
-                       return substr( $hex, 0,  floor( $wgBlockCIDRLimit['IPv4'] / 4 ) );
+                       return substr( $hex, 0, floor( $wgBlockCIDRLimit['IPv4'] / 4 ) );
                }
        }
 
@@ -511,7 +511,7 @@ class Block {
         * @return Array
         */
        protected function getDatabaseArray( $db = null ) {
-               if( !$db ){
+               if( !$db ) {
                        $db = wfGetDB( DB_SLAVE );
                }
                $expiry = $db->encodeExpiry( $this->mExpiry );
@@ -592,7 +592,7 @@ class Block {
                $options['LIMIT'] = 1;
 
                $res = $dbr->select( 'recentchanges', array( 'rc_ip' ), $conds,
-                       __METHOD__ ,  $options );
+                       __METHOD__, $options );
 
                if ( !$res->numRows() ) {
                        # No results, don't autoblock anything
@@ -1050,10 +1050,10 @@ class Block {
        public static function newFromTarget( $specificTarget, $vagueTarget = null, $fromMaster = false ) {
 
                list( $target, $type ) = self::parseTarget( $specificTarget );
-               if( $type == Block::TYPE_ID || $type == Block::TYPE_AUTO ){
+               if( $type == Block::TYPE_ID || $type == Block::TYPE_AUTO ) {
                        return Block::newFromID( $target );
 
-               } elseif( $target === null && $vagueTarget == '' ){
+               } elseif( $target === null && $vagueTarget == '' ) {
                        # We're not going to find anything useful here
                        # Be aware that the == '' check is explicit, since empty values will be
                        # passed by some callers (bug 29116)
@@ -1063,11 +1063,11 @@ class Block {
                        $block = new Block();
                        $block->fromMaster( $fromMaster );
 
-                       if( $type !== null ){
+                       if( $type !== null ) {
                                $block->setTarget( $target );
                        }
 
-                       if( $block->newLoad( $vagueTarget ) ){
+                       if( $block->newLoad( $vagueTarget ) ) {
                                return $block;
                        }
                }
@@ -1085,13 +1085,13 @@ class Block {
         */
        public static function parseTarget( $target ) {
                # We may have been through this before
-               if( $target instanceof User ){
-                       if( IP::isValid( $target->getName() ) ){
+               if( $target instanceof User ) {
+                       if( IP::isValid( $target->getName() ) ) {
                                return array( $target, self::TYPE_IP );
                        } else {
                                return array( $target, self::TYPE_USER );
                        }
-               } elseif( $target === null ){
+               } elseif( $target === null ) {
                        return array( null, null );
                }
 
@@ -1112,7 +1112,7 @@ class Block {
 
                # Consider the possibility that this is not a username at all
                # but actually an old subpage (bug #29797)
-               if( strpos( $target, '/' ) !== false ){
+               if( strpos( $target, '/' ) !== false ) {
                        # An old subpage, drill down to the user behind it
                        $parts = explode( '/', $target );
                        $target = $parts[0];
index e98fcac..85fd8af 100644 (file)
@@ -136,7 +136,7 @@ class ChangesList extends ContextSource {
         */
        protected function recentChangesFlags( $flags, $nothing = '&#160;' ) {
                $f = '';
-               foreach( array( 'newpage', 'minor', 'bot', 'unpatrolled' ) as $flag ){
+               foreach( array( 'newpage', 'minor', 'bot', 'unpatrolled' ) as $flag ) {
                        $f .= isset( $flags[$flag] ) && $flags[$flag]
                                ? self::flag( $flag )
                                : $nothing;
@@ -378,7 +378,7 @@ class ChangesList extends ContextSource {
                        array( 'class' => 'mw-changeslist-title' ),
                        $params
                );
-               if( $this->isDeleted($rc,Revision::DELETED_TEXT) ) {
+               if( $this->isDeleted( $rc, Revision::DELETED_TEXT ) ) {
                        $articlelink = '<span class="history-deleted">' . $articlelink . '</span>';
                }
                # To allow for boldening pages watched by this user
@@ -846,7 +846,7 @@ class EnhancedChangesList extends ChangesList {
                        $this->rc_cache['@@' . ($this->rcMoveIndex++)] = array($rc);
                } else {
                        # Logs are grouped by type
-                       if( $type == RC_LOG ){
+                       if( $type == RC_LOG ) {
                                $secureName = SpecialPage::getTitleFor( 'Log', $logType )->getPrefixedDBkey();
                        }
                        if( !isset( $this->rc_cache[$secureName] ) ) {
index d68d991..6a4f6a6 100644 (file)
@@ -3816,6 +3816,34 @@ $wgBlockDisablesLogin = false;
  */
 $wgWhitelistRead = false;
 
+/**
+ * Pages anonymous user may see, set as an array of regular expressions.
+ *
+ * This function will match the regexp against the title name, which
+ * is without underscore.
+ *
+ * @par Example:
+ * To whitelist [[Main Page]]:
+ * @code
+ * $wgWhitelistReadRegexp = array( "/Main Page/" );
+ * @endcode
+ *
+ * @note Unless ^ and/or $ is specified, a regular expression might match
+ * pages not intended to be whitelisted.  The above example will also
+ * whitelist a page named 'Security Main Page'.
+ *
+ * @par Example:
+ * To allow reading any page starting with 'User' regardless of the case:
+ * @code
+ * $wgWhitelistReadRegexp = array( "@^UsEr.*@i" );
+ * @endcode
+ * Will allow both [[User is banned]] and [[User:JohnDoe]]
+ *
+ * @note This will only work if $wgGroupPermissions['*']['read'] is false --
+ * see below. Otherwise, ALL pages are accessible, regardless of this setting.
+ */
+$wgWhitelistReadRegexp = false;
+
 /**
  * Should editors be required to have a validated e-mail
  * address before being allowed to edit?
index ce8077d..5b01ca5 100644 (file)
@@ -1508,7 +1508,7 @@ class EditPage {
                                                $this->isConflict = false;
                                                wfDebug( __METHOD__ . ": conflict suppressed; new section\n" );
                                        }
-                               } elseif ( $this->section == '' && Revision::userWasLastToEdit( DB_MASTER,  $this->mTitle->getArticleID(),
+                               } elseif ( $this->section == '' && Revision::userWasLastToEdit( DB_MASTER, $this->mTitle->getArticleID(),
                                                        $wgUser->getId(), $this->edittime ) ) {
                                        # Suppress edit conflict with self, except for section edits where merging is required.
                                        wfDebug( __METHOD__ . ": Suppressing edit conflict, same user.\n" );
@@ -1715,7 +1715,7 @@ class EditPage {
         * @return bool
         * @deprecated since 1.21, use mergeChangesIntoContent() instead
         */
-       function mergeChangesInto( &$editText ){
+       function mergeChangesInto( &$editText ) {
                ContentHandler::deprecated( __METHOD__, "1.21" );
 
                $editContent = $this->toEditContent( $editText );
@@ -1740,7 +1740,7 @@ class EditPage {
         *
         * @return bool
         */
-       private function mergeChangesIntoContent( &$editContent ){
+       private function mergeChangesIntoContent( &$editContent ) {
                wfProfileIn( __METHOD__ );
 
                $db = wfGetDB( DB_MASTER );
@@ -3454,7 +3454,7 @@ HTML
                global $wgOut, $wgLang;
                $this->textbox2 = $this->textbox1;
 
-               if( is_array( $match ) ){
+               if( is_array( $match ) ) {
                        $match = $wgLang->listToText( $match );
                }
                $wgOut->prepareErrorPage( wfMessage( 'spamprotectiontitle' ) );
index f09e8f8..7000119 100644 (file)
@@ -329,7 +329,7 @@ class ErrorPageError extends MWException {
                $this->msg = $msg;
                $this->params = $params;
 
-               if( $msg instanceof Message ){
+               if( $msg instanceof Message ) {
                        parent::__construct( $msg );
                } else {
                        parent::__construct( wfMessage( $msg )->text() );
@@ -423,7 +423,7 @@ class PermissionsError extends ErrorPageError {
  * @ingroup Exception
  */
 class ReadOnlyError extends ErrorPageError {
-       public function __construct(){
+       public function __construct() {
                parent::__construct(
                        'readonly',
                        'readonlytext',
@@ -439,14 +439,14 @@ class ReadOnlyError extends ErrorPageError {
  * @ingroup Exception
  */
 class ThrottledError extends ErrorPageError {
-       public function __construct(){
+       public function __construct() {
                parent::__construct(
                        'actionthrottled',
                        'actionthrottledtext'
                );
        }
 
-       public function report(){
+       public function report() {
                global $wgOut;
                $wgOut->setStatusCode( 503 );
                parent::report();
@@ -460,7 +460,7 @@ class ThrottledError extends ErrorPageError {
  * @ingroup Exception
  */
 class UserBlockedError extends ErrorPageError {
-       public function __construct( Block $block ){
+       public function __construct( Block $block ) {
                global $wgLang, $wgRequest;
 
                $blocker = $block->getBlocker();
@@ -560,7 +560,7 @@ class HttpError extends MWException {
         * @param $content String|Message: content of the message
         * @param $header String|Message: content of the header (\<title\> and \<h1\>)
         */
-       public function __construct( $httpCode, $content, $header = null ){
+       public function __construct( $httpCode, $content, $header = null ) {
                parent::__construct( $content );
                $this->httpCode = (int)$httpCode;
                $this->header = $header;
@@ -570,7 +570,7 @@ class HttpError extends MWException {
        public function report() {
                $httpMessage = HttpStatus::getMessage( $this->httpCode );
 
-               header( "Status: {$this->httpCode} {$httpMessage}" );
+               header( "Status: {$this->httpCode} {$httpMessage}", true, $this->httpCode );
                header( 'Content-type: text/html; charset=utf-8' );
 
                if ( $this->header === null ) {
index 16c297e..088a807 100644 (file)
@@ -330,7 +330,7 @@ class WikiExporter {
                                $join['revision'] = array( 'INNER JOIN', 'page_id=rev_page' );
                        } elseif ( $this->history & WikiExporter::CURRENT ) {
                                # Latest revision dumps...
-                               if ( $this->list_authors && $cond != '' )  { // List authors, if so desired
+                               if ( $this->list_authors && $cond != '' ) { // List authors, if so desired
                                        $this->do_list_authors( $cond );
                                }
                                $join['revision'] = array( 'INNER JOIN', 'page_id=rev_page AND page_latest=rev_id' );
index 3468325..3f73376 100644 (file)
@@ -87,7 +87,7 @@ class ExternalEdit extends ContextSource {
                                                'URL' => $image->getCanonicalURL()
                                        )
                                );
-                       } else{
+                       } else {
                                $urls = array();
                        }
                } else {
index 23944a5..82fe196 100644 (file)
@@ -128,7 +128,7 @@ abstract class ExternalUser {
         * @param $name string
         * @return bool Success?
         */
-       protected abstract function initFromName( $name );
+       abstract protected function initFromName( $name );
 
        /**
         * Given an id, which was at some previous point in history returned by
@@ -138,7 +138,7 @@ abstract class ExternalUser {
         * @param $id string
         * @return bool Success?
         */
-       protected abstract function initFromId( $id );
+       abstract protected function initFromId( $id );
 
        /**
         * Try to magically initialize the user from cookies or similar information
@@ -280,7 +280,7 @@ abstract class ExternalUser {
         *
         * @param $id int user_id
         */
-       public final function linkToLocal( $id ) {
+       final public function linkToLocal( $id ) {
                $dbw = wfGetDB( DB_MASTER );
                $dbw->replace( 'external_user',
                        array( 'eu_local_id', 'eu_external_id' ),
@@ -294,7 +294,7 @@ abstract class ExternalUser {
         * a local user.
         * @return Mixed User if the account is linked, Null otherwise.
         */
-       public final function getLocalUser(){
+       final public function getLocalUser() {
                $dbr = wfGetDB( DB_SLAVE );
                $row = $dbr->selectRow(
                        'external_user',
index 55c2ae5..3de148b 100644 (file)
@@ -430,7 +430,7 @@ class DiffHistoryBlob implements HistoryBlob {
         * @throws MWException
         */
        function compress() {
-               if ( !function_exists( 'xdiff_string_rabdiff' ) ){
+               if ( !function_exists( 'xdiff_string_rabdiff' ) ) {
                        throw new MWException( "Need xdiff 1.5+ support to write DiffHistoryBlob\n" );
                }
                if ( isset( $this->mDiffs ) ) {
index b1092df..337beb4 100644 (file)
@@ -830,7 +830,7 @@ class PhpHttpRequest extends MWHttpRequest {
                parent::execute();
 
                if ( is_array( $this->postData ) ) {
-                       $this->postData = wfArrayToCGI( $this->postData );
+                       $this->postData = wfArrayToCgi( $this->postData );
                }
 
                if ( $this->parsedUrl['scheme'] != 'http' &&
index 4965054..a54bd92 100644 (file)
@@ -382,7 +382,7 @@ class ImagePage extends Article {
                                                        params( count( $otherSizes ) )->parse()
                                                );
                                        }
-                               } elseif ( $width == 0 && $height == 0 ){
+                               } elseif ( $width == 0 && $height == 0 ) {
                                        # Some sort of audio file that doesn't have dimensions
                                        # Don't output a no hi res message for such a file
                                        $msgsmall = '';
@@ -1166,7 +1166,7 @@ class ImageHistoryList extends ContextSource {
        protected function getThumbForLine( $file ) {
                $lang = $this->getLanguage();
                $user = $this->getUser();
-               if ( $file->allowInlineDisplay() && $file->userCan( File::DELETED_FILE,$user )
+               if ( $file->allowInlineDisplay() && $file->userCan( File::DELETED_FILE, $user )
                        && !$file->isDeleted( File::DELETED_FILE ) )
                {
                        $params = array(
index bd9ce25..d00002a 100644 (file)
@@ -1650,7 +1650,7 @@ class ImportStreamSource {
                        return Status::newFatal( 'importnofile' );
                }
                if( !empty( $upload['error'] ) ) {
-                       switch($upload['error']){
+                       switch( $upload['error'] ) {
                                case 1: # The uploaded file exceeds the upload_max_filesize directive in php.ini.
                                        return Status::newFatal( 'importuploaderrorsize' );
                                case 2: # The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.
index 7cf59e9..d1f6a0f 100644 (file)
@@ -598,7 +598,7 @@ class MagicWord {
        function replaceMultiple( $magicarr, $subject, &$result ) {
                $search = array();
                $replace = array();
-               foreach( $magicarr as $id => $replacement ){
+               foreach( $magicarr as $id => $replacement ) {
                        $mw = MagicWord::get( $id );
                        $search[] = $mw->getRegex();
                        $replace[] = $replacement;
index 8f10b8b..96747c9 100644 (file)
@@ -457,11 +457,11 @@ class Message {
                        if( preg_match( '/^<p>(.*)\n?<\/p>\n?$/sU', $string, $m ) ) {
                                $string = $m[1];
                        }
-               } elseif( $this->format === 'block-parse' ){
+               } elseif( $this->format === 'block-parse' ) {
                        $string = $this->parseText( $string );
-               } elseif( $this->format === 'text' ){
+               } elseif( $this->format === 'text' ) {
                        $string = $this->transformText( $string );
-               } elseif( $this->format === 'escaped' ){
+               } elseif( $this->format === 'escaped' ) {
                        $string = $this->transformText( $string );
                        $string = htmlspecialchars( $string, ENT_QUOTES, 'UTF-8', false );
                }
index 15894a4..9a4ddca 100644 (file)
@@ -34,7 +34,7 @@ abstract class RdfMetaData {
                $this->mArticle = $article;
        }
 
-       public abstract function show();
+       abstract public function show();
 
        protected function setup() {
                global $wgOut, $wgRequest;
@@ -42,7 +42,7 @@ abstract class RdfMetaData {
                $httpaccept = isset( $_SERVER['HTTP_ACCEPT'] ) ? $_SERVER['HTTP_ACCEPT'] : null;
                $rdftype = wfNegotiateType( wfAcceptToPrefs( $httpaccept ), wfAcceptToPrefs( self::RDF_TYPE_PREFS ) );
 
-               if( !$rdftype ){
+               if( !$rdftype ) {
                        throw new HttpError( 406, wfMessage( 'notacceptable' ) );
                }
 
@@ -70,7 +70,7 @@ abstract class RdfMetaData {
                $lastEditor = User::newFromId( $this->mArticle->getUser() );
                $this->person( 'creator', $lastEditor );
 
-               foreach( $this->mArticle->getContributors() as $user ){
+               foreach( $this->mArticle->getContributors() as $user ) {
                        $this->person( 'contributor', $user );
                }
 
@@ -95,7 +95,7 @@ abstract class RdfMetaData {
                        $nt = Title::newFromText( $page );
                }
 
-               if( !$nt || $nt->getArticleID() == 0 ){
+               if( !$nt || $nt->getArticleID() == 0 ) {
                        $this->element( $name, $str );
                } else {
                        $this->page( $name, $nt );
@@ -116,7 +116,7 @@ abstract class RdfMetaData {
        }
 
        protected function person( $name, User $user ) {
-               if( $user->isAnon() ){
+               if( $user->isAnon() ) {
                        $this->element( $name, wfMessage( 'anonymous' )->numParams( 1 )->text() );
                } else {
                        $real = $user->getRealName();
@@ -141,11 +141,11 @@ abstract class RdfMetaData {
                global $wgRightsPage, $wgRightsUrl, $wgRightsText;
 
                if( $wgRightsPage && ( $nt = Title::newFromText( $wgRightsPage ) )
-                       && ($nt->getArticleID() != 0)) {
-                       $this->page('rights', $nt);
-               } elseif( $wgRightsUrl ){
-                       $this->url('rights', $wgRightsUrl);
-               } elseif( $wgRightsText ){
+                       && ( $nt->getArticleID() != 0 ) ) {
+                       $this->page( 'rights', $nt );
+               } elseif( $wgRightsUrl ) {
+                       $this->url( 'rights', $wgRightsUrl );
+               } elseif( $wgRightsText ) {
                        $this->element( 'rights', $wgRightsText );
                }
        }
@@ -153,7 +153,7 @@ abstract class RdfMetaData {
        protected function getTerms( $url ) {
                global $wgLicenseTerms;
 
-               if( $wgLicenseTerms ){
+               if( $wgLicenseTerms ) {
                        return $wgLicenseTerms;
                } else {
                        $known = $this->getKnownLicenses();
@@ -200,4 +200,3 @@ abstract class RdfMetaData {
                return $knownLicenses;
        }
 }
-
index 65a2a6f..b2611c2 100644 (file)
@@ -330,9 +330,9 @@ class MimeMagic {
                                $this->mMediaTypes[$mtype][] = $mime;
                        }
 
-                       if ( sizeof( $m ) > 1 ) {
+                       if ( count( $m ) > 1 ) {
                                $main = $m[0];
-                               for ( $i=1; $i<sizeof($m); $i += 1 ) {
+                               for ( $i=1; $i<count($m); $i += 1 ) {
                                        $mime = $m[$i];
                                        $this->mMimeTypeAliases[$mime] = $main;
                                }
index 5b0f36c..968acf6 100644 (file)
@@ -442,7 +442,7 @@ class OutputPage extends ContextSource {
        protected function filterModules( $modules, $position = null, $type = ResourceLoaderModule::TYPE_COMBINED ) {
                $resourceLoader = $this->getResourceLoader();
                $filteredModules = array();
-               foreach( $modules as $val ){
+               foreach( $modules as $val ) {
                        $module = $resourceLoader->getModule( $val );
                        if( $module instanceof ResourceLoaderModule
                                && $module->getOrigin() <= $this->getAllowedModules( $type )
@@ -512,7 +512,7 @@ class OutputPage extends ContextSource {
         * @return Array of module names
         */
        public function getModuleStyles( $filter = false, $position = null ) {
-               return $this->getModules( $filter,  $position, 'mModuleStyles' );
+               return $this->getModules( $filter, $position, 'mModuleStyles' );
        }
 
        /**
@@ -1251,7 +1251,7 @@ class OutputPage extends ContextSource {
         * @return Int ResourceLoaderModule ORIGIN_ class constant
         */
        public function getAllowedModules( $type ) {
-               if( $type == ResourceLoaderModule::TYPE_COMBINED ){
+               if( $type == ResourceLoaderModule::TYPE_COMBINED ) {
                        return min( array_values( $this->mAllowedModules ) );
                } else {
                        return isset( $this->mAllowedModules[$type] )
@@ -2071,7 +2071,7 @@ class OutputPage extends ContextSource {
 
                $this->prepareErrorPage( $title );
 
-               if ( $msg instanceof Message ){
+               if ( $msg instanceof Message ) {
                        $this->addHTML( $msg->parseAsBlock() );
                } else {
                        $this->addWikiMsgArray( $msg, $params );
@@ -2128,7 +2128,7 @@ class OutputPage extends ContextSource {
                                        unset( $returntoquery['title'] );
                                        unset( $returntoquery['returnto'] );
                                        unset( $returntoquery['returntoquery'] );
-                                       $query['returntoquery'] = wfArrayToCGI( $returntoquery );
+                                       $query['returntoquery'] = wfArrayToCgi( $returntoquery );
                                }
                        }
                        $loginLink = Linker::linkKnown(
@@ -2483,7 +2483,7 @@ $templates
                        'mediawiki.page.startup',
                        'mediawiki.page.ready',
                ) );
-               if ( $wgIncludeLegacyJavaScript ){
+               if ( $wgIncludeLegacyJavaScript ) {
                        $this->addModules( 'mediawiki.legacy.wikibits' );
                }
 
@@ -2711,7 +2711,7 @@ $templates
                                }
                        }
 
-                       if( $group == 'noscript' ){
+                       if( $group == 'noscript' ) {
                                $links .= Html::rawElement( 'noscript', array(), $link ) . "\n";
                        } else {
                                $links .= $link . "\n";
@@ -3379,7 +3379,7 @@ $templates
                if ( $wgUseSiteCss ) {
                        $moduleStyles[] = 'site';
                        $moduleStyles[] = 'noscript';
-                       if( $this->getUser()->isLoggedIn() ){
+                       if( $this->getUser()->isLoggedIn() ) {
                                $moduleStyles[] = 'user.groups';
                        }
                }
index 2aed2af..c60c107 100644 (file)
@@ -37,7 +37,7 @@
  * @note Since we can't rely on anything, the minimum PHP versions and MW current
  * version are hardcoded here
  */
-function wfPHPVersionError( $type ){
+function wfPHPVersionError( $type ) {
        $mwVersion = '1.21';
        $phpVersion = PHP_VERSION;
        $message = "MediaWiki $mwVersion requires at least PHP version 5.3.2, you are using PHP $phpVersion.";
index 077430d..856b1b8 100644 (file)
@@ -1160,7 +1160,7 @@ abstract class TablePager extends IndexPager {
                        # The pair is either $index => $limit, in which case the $value
                        # will be numeric, or $limit => $text, in which case the $value
                        # will be a string.
-                       if( is_int( $value ) ){
+                       if( is_int( $value ) ) {
                                $limit = $value;
                                $text = $this->getLanguage()->formatNum( $limit );
                        } else {
index 9878396..c15c5b5 100644 (file)
@@ -1407,7 +1407,7 @@ class Preferences {
                # via $wgHiddenPrefs, we don't want to destroy that setting in case the preference
                # is subsequently re-enabled
                # TODO: maintenance script to actually delete these
-               foreach( $wgHiddenPrefs as $pref ){
+               foreach( $wgHiddenPrefs as $pref ) {
                        # If the user has not set a non-default value here, the default will be returned
                        # and subsequently discarded
                        $formData[$pref] = $user->getOption( $pref, null, true );
index 0034afe..9cac308 100644 (file)
@@ -431,7 +431,7 @@ class Sanitizer {
                $extratags = array_flip( $extratags );
                $removetags = array_flip( $removetags );
                $htmlpairs = array_merge( $extratags, $htmlpairsStatic );
-               $htmlelements = array_diff_key( array_merge( $extratags, $htmlelementsStatic ) , $removetags );
+               $htmlelements = array_diff_key( array_merge( $extratags, $htmlelementsStatic ), $removetags );
 
                # Remove HTML comments
                $text = Sanitizer::removeHTMLcomments( $text );
@@ -1039,7 +1039,7 @@ class Sanitizer {
                $id = str_replace( array_keys( $replace ), array_values( $replace ), $id );
 
                if ( !preg_match( '/^[a-zA-Z]/', $id )
-               && !in_array( 'noninitial', $options ) )  {
+               && !in_array( 'noninitial', $options ) ) {
                        // Initial character must be a letter!
                        $id = "x$id";
                }
index 2bf2507..53739fb 100644 (file)
@@ -50,9 +50,9 @@ if ( $wgLoadScript === false ) $wgLoadScript = "$wgScriptPath/load$wgScriptExten
 
 if ( $wgArticlePath === false ) {
        if ( $wgUsePathInfo ) {
-               $wgArticlePath      = "$wgScript/$1";
+               $wgArticlePath = "$wgScript/$1";
        } else {
-               $wgArticlePath      = "$wgScript?title=$1";
+               $wgArticlePath = "$wgScript?title=$1";
        }
 }
 
@@ -323,7 +323,7 @@ if ( !$wgEnotifMinorEdits ) {
 }
 
 # $wgDisabledActions is deprecated as of 1.18
-foreach( $wgDisabledActions as $action ){
+foreach( $wgDisabledActions as $action ) {
        $wgActions[$action] = false;
 }
 
index afe0cc7..4bbe9e1 100644 (file)
@@ -360,9 +360,9 @@ class SiteConfiguration {
        public function extractGlobalSetting( $setting, $wiki, $params ) {
                $value = $this->getSetting( $setting, $wiki, $params );
                if ( !is_null( $value ) ) {
-                       if (substr($setting,0,1) == '+' && is_array($value)) {
-                               $setting = substr($setting,1);
-                               if ( is_array($GLOBALS[$setting]) ) {
+                       if ( substr( $setting, 0, 1 ) == '+' && is_array( $value ) ) {
+                               $setting = substr( $setting, 1 );
+                               if ( is_array( $GLOBALS[$setting] ) ) {
                                        $GLOBALS[$setting] = self::arrayMerge( $GLOBALS[$setting], $value );
                                } else {
                                        $GLOBALS[$setting] = $value;
@@ -413,7 +413,7 @@ class SiteConfiguration {
                        return $default;
                }
 
-               foreach( $default as $name => $def ){
+               foreach( $default as $name => $def ) {
                        if( !isset( $ret[$name] ) || ( is_array( $default[$name] ) && !is_array( $ret[$name] ) ) ) {
                                $ret[$name] = $default[$name];
                        }
@@ -446,7 +446,7 @@ class SiteConfiguration {
                $ret['params'] += $params;
 
                // Automatically fill that ones if needed
-               if( !isset( $ret['params']['lang'] ) && !is_null( $ret['lang'] ) ){
+               if( !isset( $ret['params']['lang'] ) && !is_null( $ret['lang'] ) ) {
                        $ret['params']['lang'] = $ret['lang'];
                }
                if( !isset( $ret['params']['site'] ) && !is_null( $ret['suffix'] ) ) {
index 90cd131..8642eca 100644 (file)
@@ -253,7 +253,7 @@ class LegacyTemplate extends BaseTemplate {
                $lang = $title->getPageLanguage();
                $variants = $lang->getVariants();
 
-               if ( !$wgDisableLangConversion && sizeof( $variants ) > 1
+               if ( !$wgDisableLangConversion && count( $variants ) > 1
                        && !$title->isSpecialPage() ) {
                        foreach ( $variants as $code ) {
                                $varname = $lang->getVariantname( $code );
index 611223e..a673a65 100644 (file)
@@ -169,7 +169,7 @@ class SkinTemplate extends Skin {
                        unset( $query['returnto'] );
                        unset( $query['returntoquery'] );
                }
-               $this->thisquery = wfArrayToCGI( $query );
+               $this->thisquery = wfArrayToCgi( $query );
                $this->loggedin = $user->isLoggedIn();
                $this->username = $user->getName();
 
@@ -413,25 +413,28 @@ class SkinTemplate extends Skin {
                $language_urls = array();
 
                if ( !$wgHideInterlanguageLinks ) {
-                       foreach( $out->getLanguageLinks() as $l ) {
-                               $tmp = explode( ':', $l, 2 );
-                               $class = 'interwiki-' . $tmp[0];
-                               unset( $tmp );
-                               $nt = Title::newFromText( $l );
-                               if ( $nt ) {
-                                       $ilLangName = Language::fetchLanguageName( $nt->getInterwiki() );
+                       foreach( $out->getLanguageLinks() as $languageLinkText ) {
+                               $languageLinkParts = explode( ':', $languageLinkText, 2 );
+                               $class = 'interwiki-' . $languageLinkParts[0];
+                               unset( $languageLinkParts );
+                               $languageLinkTitle = Title::newFromText( $languageLinkText );
+                               if ( $languageLinkTitle ) {
+                                       $ilInterwikiCode = $languageLinkTitle->getInterwiki();
+                                       $ilLangName = Language::fetchLanguageName( $ilInterwikiCode );
+
                                        if ( strval( $ilLangName ) === '' ) {
-                                               $ilLangName = $l;
+                                               $ilLangName = $languageLinkText;
                                        } else {
                                                $ilLangName = $this->formatLanguageName( $ilLangName );
                                        }
+
                                        $language_urls[] = array(
-                                               'href' => $nt->getFullURL(),
+                                               'href' => $languageLinkTitle->getFullURL(),
                                                'text' => $ilLangName,
-                                               'title' => $nt->getText(),
+                                               'title' => $languageLinkTitle->getText(),
                                                'class' => $class,
-                                               'lang' => $nt->getInterwiki(),
-                                               'hreflang' => $nt->getInterwiki(),
+                                               'lang' => $ilInterwikiCode,
+                                               'hreflang' => $ilInterwikiCode
                                        );
                                }
                        }
@@ -574,7 +577,7 @@ class SkinTemplate extends Skin {
                        $a['wpStickHTTPS'] = true;
                }
 
-               $returnto = wfArrayToCGI( $a );
+               $returnto = wfArrayToCgi( $a );
                if( $this->loggedin ) {
                        $personal_urls['userpage'] = array(
                                'text' => $this->username,
index da150c9..338b50d 100644 (file)
@@ -598,7 +598,7 @@ class SpecialPage {
         *
         * @param $subPage string|null
         */
-       public final function run( $subPage ) {
+       final public function run( $subPage ) {
                /**
                 * Gets called before @see SpecialPage::execute.
                 *
@@ -846,7 +846,7 @@ class SpecialPage {
 
                foreach ( $wgFeedClasses as $format => $class ) {
                        $theseParams = $params + array( 'feedformat' => $format );
-                       $url = $feedTemplate . wfArrayToCGI( $theseParams );
+                       $url = $feedTemplate . wfArrayToCgi( $theseParams );
                        $this->getOutput()->addFeedLink( $format, $url );
                }
        }
@@ -863,7 +863,7 @@ abstract class FormSpecialPage extends SpecialPage {
         * Get an HTMLForm descriptor array
         * @return Array
         */
-       protected abstract function getFormFields();
+       abstract protected function getFormFields();
 
        /**
         * Add pre- or post-text to the form
@@ -904,7 +904,7 @@ abstract class FormSpecialPage extends SpecialPage {
                // Retain query parameters (uselang etc)
                $params = array_diff_key(
                        $this->getRequest()->getQueryValues(), array( 'title' => null ) );
-               $form->addHiddenField( 'redirectparams', wfArrayToCGI( $params ) );
+               $form->addHiddenField( 'redirectparams', wfArrayToCgi( $params ) );
 
                $form->addPreText( $this->preText() );
                $form->addPostText( $this->postText() );
@@ -921,13 +921,13 @@ abstract class FormSpecialPage extends SpecialPage {
         * @param  $data Array
         * @return Bool|Array true for success, false for didn't-try, array of errors on failure
         */
-       public abstract function onSubmit( array $data );
+       abstract public function onSubmit( array $data );
 
        /**
         * Do something exciting on successful processing of the form, most likely to show a
         * confirmation message
         */
-       public abstract function onSuccess();
+       abstract public function onSuccess();
 
        /**
         * Basic SpecialPage workflow: get a form, send it to the user; get some data back,
@@ -1045,7 +1045,7 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage {
                // Redirect to index.php with query parameters
                } elseif ( $redirect === true ) {
                        global $wgScript;
-                       $url = $wgScript . '?' . wfArrayToCGI( $query );
+                       $url = $wgScript . '?' . wfArrayToCgi( $query );
                        $this->getOutput()->redirect( $url );
                        return $redirect;
                } else {
index 5e5d1fc..fd5d52c 100644 (file)
@@ -476,7 +476,7 @@ class SpecialPageFactory {
                        if ( $name != $page->getLocalName() && !$context->getRequest()->wasPosted() ) {
                                $query = $context->getRequest()->getQueryValues();
                                unset( $query['title'] );
-                               $query = wfArrayToCGI( $query );
+                               $query = wfArrayToCgi( $query );
                                $title = $page->getTitle( $par );
                                $url = $title->getFullUrl( $query );
                                $context->getOutput()->redirect( $url );
index 7d75f2c..098fb0b 100644 (file)
@@ -293,7 +293,7 @@ class SquidPurgeClient {
                        if ( count( $lines ) < 2 ) {
                                return 'done';
                        }
-                       if ( $this->readState == 'status' )  {
+                       if ( $this->readState == 'status' ) {
                                $this->processStatusLine( $lines[0] );
                        } else { // header
                                $this->processHeaderLine( $lines[0] );
index 442bc22..4271555 100644 (file)
@@ -1330,7 +1330,7 @@ class Title {
         * second argument named variant. This was deprecated in favor
         * of passing an array of option with a "variant" key
         * Once $query2 is removed for good, this helper can be dropped
-        * andthe wfArrayToCGI moved to getLocalURL();
+        * andthe wfArrayToCgi moved to getLocalURL();
         *
         * @since 1.19 (r105919)
         * @param $query
@@ -1342,15 +1342,15 @@ class Title {
                        wfDeprecated( "Title::get{Canonical,Full,Link,Local} method called with a second parameter is deprecated. Add your parameter to an array passed as the first parameter.", "1.19" );
                }
                if ( is_array( $query ) ) {
-                       $query = wfArrayToCGI( $query );
+                       $query = wfArrayToCgi( $query );
                }
                if ( $query2 ) {
                        if ( is_string( $query2 ) ) {
                                // $query2 is a string, we will consider this to be
                                // a deprecated $variant argument and add it to the query
-                               $query2 = wfArrayToCGI( array( 'variant' => $query2 ) );
+                               $query2 = wfArrayToCgi( array( 'variant' => $query2 ) );
                        } else {
-                               $query2 = wfArrayToCGI( $query2 );
+                               $query2 = wfArrayToCgi( $query2 );
                        }
                        // If we have $query content add a & to it first
                        if ( $query ) {
@@ -2087,7 +2087,7 @@ class Title {
         * @return Array list of errors
         */
        private function checkReadPermissions( $action, $user, $errors, $doExpensiveQueries, $short ) {
-               global $wgWhitelistRead, $wgRevokePermissions;
+               global $wgWhitelistRead, $wgWhitelistReadRegexp, $wgRevokePermissions;
                static $useShortcut = null;
 
                # Initialize the $useShortcut boolean, to determine if we can skip quite a bit of code below
@@ -2155,6 +2155,17 @@ class Title {
                        }
                }
 
+               if( !$whitelisted && is_array( $wgWhitelistReadRegexp ) && !empty( $wgWhitelistReadRegexp ) ) {
+                       $name = $this->getPrefixedText();
+                       // Check for regex whitelisting
+                       foreach ( $wgWhitelistReadRegexp as $listItem ) {
+                               if ( preg_match( $listItem, $name ) ) {
+                                       $whitelisted = true;
+                                       break;
+                               }
+                       }
+               }
+
                if ( !$whitelisted ) {
                        # If the title is not whitelisted, give extensions a chance to do so...
                        wfRunHooks( 'TitleReadWhitelist', array( $this, $user, &$whitelisted ) );
@@ -3980,7 +3991,7 @@ class Title {
                }
                # Get the article text
                $rev = Revision::newFromTitle( $nt, false, Revision::READ_LATEST );
-               if( !is_object( $rev ) ){
+               if( !is_object( $rev ) ) {
                        return false;
                }
                $content = $rev->getContent();
index 86fb8f8..3e49cd0 100644 (file)
@@ -547,7 +547,7 @@ class User {
         * @return Bool
         */
        public static function isIP( $name ) {
-               return preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.(?:xxx|\d{1,3})$/',$name) || IP::isIPv6($name);
+               return preg_match( '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.(?:xxx|\d{1,3})$/', $name ) || IP::isIPv6( $name );
        }
 
        /**
@@ -1569,7 +1569,7 @@ class User {
         * @param $bFromSlave Bool Whether to check the slave database instead of the master
         * @return Block|null
         */
-       public function getBlock( $bFromSlave = true ){
+       public function getBlock( $bFromSlave = true ) {
                $this->getBlockedStatus( $bFromSlave );
                return $this->mBlock instanceof Block ? $this->mBlock : null;
        }
@@ -2229,7 +2229,7 @@ class User {
                # set it, and then it was disabled removing their ability to change it).  But
                # we don't want to erase the preferences in the database in case the preference
                # is re-enabled again.  So don't touch $mOptions, just override the returned value
-               if( in_array( $oname, $wgHiddenPrefs ) && !$ignoreHidden ){
+               if( in_array( $oname, $wgHiddenPrefs ) && !$ignoreHidden ) {
                        return self::getDefaultOption( $oname );
                }
 
@@ -2255,9 +2255,9 @@ class User {
                # set it, and then it was disabled removing their ability to change it).  But
                # we don't want to erase the preferences in the database in case the preference
                # is re-enabled again.  So don't touch $mOptions, just override the returned value
-               foreach( $wgHiddenPrefs as $pref ){
+               foreach( $wgHiddenPrefs as $pref ) {
                        $default = self::getDefaultOption( $pref );
-                       if( $default !== null ){
+                       if( $default !== null ) {
                                $options[$pref] = $default;
                        }
                }
@@ -2690,8 +2690,8 @@ class User {
         */
        public function isAllowedAny( /*...*/ ) {
                $permissions = func_get_args();
-               foreach( $permissions as $permission ){
-                       if( $this->isAllowed( $permission ) ){
+               foreach( $permissions as $permission ) {
+                       if( $this->isAllowed( $permission ) ) {
                                return true;
                        }
                }
@@ -2705,8 +2705,8 @@ class User {
         */
        public function isAllowedAll( /*...*/ ) {
                $permissions = func_get_args();
-               foreach( $permissions as $permission ){
-                       if( !$this->isAllowed( $permission ) ){
+               foreach( $permissions as $permission ) {
+                       if( !$this->isAllowed( $permission ) ) {
                                return false;
                        }
                }
@@ -2880,7 +2880,7 @@ class User {
                        return;
                }
                $id = $this->getId();
-               if( $id != 0 )  {
+               if( $id != 0 ) {
                        $dbw = wfGetDB( DB_MASTER );
                        $dbw->update( 'watchlist',
                                array( /* SET */
@@ -3265,7 +3265,7 @@ class User {
                wfDeprecated( __METHOD__, '1.17' );
 
                global $wgUseDynamicDates, $wgRenderHashAppend, $wgLang, $wgContLang;
-               if( $this->mHash ){
+               if( $this->mHash ) {
                        return $this->mHash;
                }
 
@@ -3306,7 +3306,7 @@ class User {
         */
        public function isBlockedFromCreateAccount() {
                $this->getBlockedStatus();
-               if( $this->mBlock && $this->mBlock->prevents( 'createaccount' ) ){
+               if( $this->mBlock && $this->mBlock->prevents( 'createaccount' ) ) {
                        return $this->mBlock;
                }
 
@@ -4237,7 +4237,7 @@ class User {
         * @return int|bool True if not $wgNewUserLog; otherwise ID of log item or 0 on failure
         */
        public function addNewUserLogEntry( $action = false, $reason = '' ) {
-               global $wgUser, $wgContLang, $wgNewUserLog;
+               global $wgUser, $wgNewUserLog;
                if( empty( $wgNewUserLog ) ) {
                        return true; // disabled
                }
index 68d22a8..594226b 100644 (file)
@@ -76,7 +76,7 @@ class WebRequest {
         *
         * @return Array: Any query arguments found in path matches.
         */
-       static public function getPathInfo( $want = 'all' ) {
+       public static function getPathInfo( $want = 'all' ) {
                global $wgUsePathInfo;
                // PATH_INFO is mangled due to http://bugs.php.net/bug.php?id=31892
                // And also by Apache 2.x, double slashes are converted to single slashes.
@@ -720,7 +720,7 @@ class WebRequest {
                $newquery = $this->getQueryValues();
                unset( $newquery['title'] );
                $newquery = array_merge( $newquery, $array );
-               $query = wfArrayToCGI( $newquery );
+               $query = wfArrayToCgi( $newquery );
                return $onlyquery ? $query : $wgTitle->getLocalURL( $query );
        }
 
index e467738..f00e055 100644 (file)
@@ -159,7 +159,7 @@ class FauxResponse extends WebResponse {
         * @param $name string
         * @return string
         */
-       public function getcookie( $name )  {
+       public function getcookie( $name ) {
                if ( isset( $this->cookies[$name] ) ) {
                        return $this->cookies[$name];
                }
index 7604241..21a7d9a 100644 (file)
@@ -126,7 +126,7 @@ class MediaWiki {
         * @return Title
         */
        public function getTitle() {
-               if( $this->context->getTitle() === null ){
+               if( $this->context->getTitle() === null ) {
                        $this->context->setTitle( $this->parseTitle() );
                }
                return $this->context->getTitle();
@@ -507,7 +507,7 @@ class MediaWiki {
                        && $request->getMethod() == 'GET'
                ) {
                        $redirUrl = $request->getFullRequestURL();
-                       $redirUrl = str_replace( 'http://' , 'https://' , $redirUrl );
+                       $redirUrl = str_replace( 'http://', 'https://', $redirUrl );
 
                        // Setup dummy Title, otherwise OutputPage::redirect will fail
                        $title = Title::newFromText( NS_MAIN, 'REDIR' );
index e2cd5d9..49a944b 100644 (file)
@@ -1139,7 +1139,7 @@ class WikiPage extends Page implements IDBAccessObject {
        public function doPurge() {
                global $wgUseSquid;
 
-               if( !wfRunHooks( 'ArticlePurge', array( &$this ) ) ){
+               if( !wfRunHooks( 'ArticlePurge', array( &$this ) ) ) {
                        return false;
                }
 
@@ -1948,7 +1948,7 @@ class WikiPage extends Page implements IDBAccessObject {
        public function prepareTextForEdit( $text, $revid = null, User $user = null ) {
                ContentHandler::deprecated( __METHOD__, '1.21' );
                $content = ContentHandler::makeContent( $text, $this->getTitle() );
-               return $this->prepareContentForEdit( $content, $revid , $user );
+               return $this->prepareContentForEdit( $content, $revid, $user );
        }
 
        /**
@@ -2151,7 +2151,7 @@ class WikiPage extends Page implements IDBAccessObject {
                ContentHandler::deprecated( __METHOD__, "1.21" );
 
                $content = ContentHandler::makeContent( $text, $this->getTitle() );
-               return $this->doQuickEditContent( $content, $user, $comment , $minor );
+               return $this->doQuickEditContent( $content, $user, $comment, $minor );
        }
 
        /**
@@ -2292,8 +2292,8 @@ class WikiPage extends Page implements IDBAccessObject {
                                if ( $encodedExpiry[$action] != 'infinity' ) {
                                        $expiryText = wfMessage(
                                                'protect-expiring',
-                                               $wgContLang->timeanddate( $expiry[$action], false, false ) ,
-                                               $wgContLang->date( $expiry[$action], false, false ) ,
+                                               $wgContLang->timeanddate( $expiry[$action], false, false ),
+                                               $wgContLang->date( $expiry[$action], false, false ),
                                                $wgContLang->time( $expiry[$action], false, false )
                                        )->inContentLanguage()->text();
                                } else {
@@ -3451,4 +3451,3 @@ class PoolWorkArticleView extends PoolCounterWork {
                return false;
        }
 }
-
index d5e9189..7c451bb 100644 (file)
@@ -369,10 +369,10 @@ class Xml {
                $a = array( 'for' => $id );
 
                # FIXME avoid copy pasting below:
-               if( isset( $attribs['class'] ) ){
+               if( isset( $attribs['class'] ) ) {
                                $a['class'] = $attribs['class'];
                }
-               if( isset( $attribs['title'] ) ){
+               if( isset( $attribs['title'] ) ) {
                                $a['title'] = $attribs['title'];
                }
 
index 051fa42..a1d1c3a 100644 (file)
@@ -176,7 +176,7 @@ class HistoryAction extends FormlessAction {
                        ) .
                        Html::hidden( 'title', $this->getTitle()->getPrefixedDBKey() ) . "\n" .
                        Html::hidden( 'action', 'history' ) . "\n" .
-                       Xml::dateMenu( $year, $month ) . '&#160;' .
+                       Xml::dateMenu( ( $year == null ? date( "Y" ) : $year ), $month ) . '&#160;' .
                        ( $tagSelector ? ( implode( '&#160;', $tagSelector ) . '&#160;' ) : '' ) .
                        $checkDeleted .
                        Xml::submitButton( $this->msg( 'allpagessubmit' )->text() ) . "\n" .
index cd58889..4c5171c 100644 (file)
@@ -62,7 +62,7 @@ class PurgeAction extends FormAction {
                $this->checkCanExecute( $this->getUser() );
 
                if ( $this->getUser()->isAllowed( 'purge' ) ) {
-                       $this->redirectParams = wfArrayToCGI( array_diff_key(
+                       $this->redirectParams = wfArrayToCgi( array_diff_key(
                                $this->getRequest()->getQueryValues(),
                                array( 'title' => null, 'action' => null )
                        ) );
index 78525e0..5621b7c 100644 (file)
@@ -105,7 +105,7 @@ abstract class ApiBase extends ContextSource {
         * The result data should be stored in the ApiResult object available
         * through getResult().
         */
-       public abstract function execute();
+       abstract public function execute();
 
        /**
         * Returns a string that identifies the version of the extending class.
@@ -654,7 +654,7 @@ abstract class ApiBase extends ContextSource {
                        array( $this, "parameterNotEmpty" ) ) ), $required );
 
                if ( count( $intersection ) > 1 ) {
-                       $this->dieUsage( "The parameters {$p}" . implode( ", {$p}",  $intersection ) . ' can not be used together', "{$p}invalidparammix" );
+                       $this->dieUsage( "The parameters {$p}" . implode( ", {$p}", $intersection ) . ' can not be used together', "{$p}invalidparammix" );
                } elseif ( count( $intersection ) == 0 ) {
                        $this->dieUsage( "One of the parameters {$p}" . implode( ", {$p}", $required ) . ' is required', "{$p}missingparam" );
                }
@@ -1369,7 +1369,7 @@ abstract class ApiBase extends ContextSource {
 
                // Check whether the error array was nested
                // array( array( <code>, <params> ), array( <another_code>, <params> ) )
-               if( is_array( $key ) ){
+               if( is_array( $key ) ) {
                        $error = $key;
                        $key = array_shift( $error );
                }
index b58be11..8f71b16 100644 (file)
@@ -108,7 +108,7 @@ class ApiBlock extends ApiBase {
                $res['userID'] = $target instanceof User ? $target->getId() : 0;
 
                $block = Block::newFromTarget( $target );
-               if( $block instanceof Block ){
+               if( $block instanceof Block ) {
                        $res['expiry'] = $block->mExpiry == $this->getDB()->getInfinity()
                                ? 'infinite'
                                : wfTimestamp( TS_ISO_8601, $block->mExpiry );
index 230ed33..863b70b 100644 (file)
@@ -85,11 +85,11 @@ class ApiComparePages extends ApiBase {
         * @return int
         */
        private function revisionOrTitleOrId( $revision, $titleText, $titleId ) {
-               if( $revision ){
+               if( $revision ) {
                        return $revision;
                } elseif( $titleText ) {
                        $title = Title::newFromText( $titleText );
-                       if( !$title ){
+                       if( !$title ) {
                                $this->dieUsageMsg( array( 'invalidtitle', $titleText ) );
                        }
                        return $title->getLatestRevID();
index e8edb3d..5bbc62e 100644 (file)
@@ -58,7 +58,7 @@ abstract class ApiFormatBase extends ApiBase {
         * This method is not called if getIsHtml() returns true.
         * @return string
         */
-       public abstract function getMimeType();
+       abstract public function getMimeType();
 
        /**
         * Whether this formatter needs raw data such as _element tags
index 143540b..e86c91c 100644 (file)
@@ -102,7 +102,7 @@ class ApiParse extends ApiBase {
                                $popts->enableLimitReport( !$params['disablepp'] );
 
                                // If for some reason the "oldid" is actually the current revision, it may be cached
-                               if ( $rev->isCurrent() )  {
+                               if ( $rev->isCurrent() ) {
                                        // May get from/save to parser cache
                                        $p_result = $this->getParsedContent( $pageObj, $popts,
                                                $pageid, isset( $prop['wikitext'] ) ) ;
index 02d071b..2a8645f 100644 (file)
@@ -623,5 +623,5 @@ abstract class ApiQueryGeneratorBase extends ApiQueryBase {
         * @param $resultPageSet ApiPageSet: All output should be appended to
         *  this object
         */
-       public abstract function executeGenerator( $resultPageSet );
+       abstract public function executeGenerator( $resultPageSet );
 }
index 6b77898..f89c826 100644 (file)
@@ -151,7 +151,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                        if ( is_null( $title ) ) {
                                $this->dieUsage( "Bad title value '$prefix'", 'param_prefix' );
                        }
-                       $this->addWhereFld( 'log_namespace',  $title->getNamespace() );
+                       $this->addWhereFld( 'log_namespace', $title->getNamespace() );
                        $this->addWhere( 'log_title ' . $db->buildLike( $title->getDBkey(), $db->anyString() ) );
                }
 
@@ -201,7 +201,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
        public static function addLogParams( $result, &$vals, $params, $type, $action, $ts, $legacy = false ) {
                switch ( $type ) {
                        case 'move':
-                               if ( $legacy ){
+                               if ( $legacy ) {
                                        $targetKey = 0;
                                        $noredirKey = 1;
                                } else {
@@ -223,7 +223,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                                $params = null;
                                break;
                        case 'patrol':
-                               if ( $legacy ){
+                               if ( $legacy ) {
                                        $cur = 0;
                                        $prev = 1;
                                        $auto = 2;
index f0c2b1b..41d8f11 100644 (file)
@@ -35,7 +35,7 @@ abstract class ApiQueryORM extends ApiQueryBase {
         *
         * @return IORMTable
         */
-       protected abstract function getTable();
+       abstract protected function getTable();
 
        /**
         * Returns the name of the individual rows.
index a6a6dff..2fef68a 100644 (file)
@@ -559,7 +559,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                ksort( $myWgHooks );
 
                $data = array();
-               foreach ( $myWgHooks as $hook => $hooks )  {
+               foreach ( $myWgHooks as $hook => $hooks ) {
                        $arr = array(
                                'name' => $hook,
                                'subscribers' => array_map( array( 'SpecialVersion', 'arrayToString' ), $hooks ),
index 1d7ba0f..2d45b29 100644 (file)
@@ -122,7 +122,7 @@ class ApiUpload extends ApiBase {
         * Get an uplaod result based on upload context
         * @return array
         */
-       private function getContextResult(){
+       private function getContextResult() {
                $warnings = $this->getApiWarnings();
                if ( $warnings && !$this->mParams['ignorewarnings'] ) {
                        // Get warnings formated in result array format
@@ -144,7 +144,7 @@ class ApiUpload extends ApiBase {
         * @param $warnings array Array of Api upload warnings
         * @return array
         */
-       private function getStashResult( $warnings ){
+       private function getStashResult( $warnings ) {
                $result = array ();
                // Some uploads can request they be stashed, so as not to publish them immediately.
                // In this case, a failure to stash ought to be fatal
@@ -166,7 +166,7 @@ class ApiUpload extends ApiBase {
         * @param $warnings array Array of Api upload warnings
         * @return array
         */
-       private function getWarningsResult( $warnings ){
+       private function getWarningsResult( $warnings ) {
                $result = array();
                $result['result'] = 'Warning';
                $result['warnings'] = $warnings;
@@ -366,7 +366,7 @@ class ApiUpload extends ApiBase {
                if ( $this->mParams['chunk'] ) {
                        // Chunk upload
                        $this->mUpload = new UploadFromChunks();
-                       if( isset( $this->mParams['filekey'] ) ){
+                       if( isset( $this->mParams['filekey'] ) ) {
                                // handle new chunk
                                $this->mUpload->continueChunks(
                                        $this->mParams['filename'],
index 7cc1b9c..dc3151e 100644 (file)
@@ -604,7 +604,7 @@ class LocalisationCache {
                                } elseif ( in_array( $key, self::$mergeableAliasListKeys ) ) {
                                        $value = array_merge_recursive( $value, $fallbackValue );
                                } elseif ( in_array( $key, self::$optionalMergeKeys ) ) {
-                                       if ( !empty( $value['inherit'] ) )  {
+                                       if ( !empty( $value['inherit'] ) ) {
                                                $value = array_merge( $fallbackValue, $value );
                                        }
 
index ccc9b2c..0dc7455 100644 (file)
@@ -413,7 +413,7 @@ abstract class ContentHandler {
         * @param $format null|String The desired serialization format
         * @return string Serialized form of the content
         */
-       public abstract function serializeContent( Content $content, $format = null );
+       abstract public function serializeContent( Content $content, $format = null );
 
        /**
         * Unserializes a Content object of the type supported by this ContentHandler.
@@ -424,7 +424,7 @@ abstract class ContentHandler {
         * @param $format null|String the format used for serialization
         * @return Content the Content object created by deserializing $blob
         */
-       public abstract function unserializeContent( $blob, $format = null );
+       abstract public function unserializeContent( $blob, $format = null );
 
        /**
         * Creates an empty Content object of the type supported by this
@@ -434,7 +434,7 @@ abstract class ContentHandler {
         *
         * @return Content
         */
-       public abstract function makeEmptyContent();
+       abstract public function makeEmptyContent();
 
        /**
         * Creates a new Content object that acts as a redirect to the given page,
index 62a3d87..fff1837 100644 (file)
@@ -724,7 +724,7 @@ abstract class DatabaseBase implements DatabaseType {
         *    Valid options are: host, user, password, dbname, flags, tablePrefix
         * @return DatabaseBase subclass or null
         */
-       public final static function factory( $dbType, $p = array() ) {
+       final public static function factory( $dbType, $p = array() ) {
                $canonicalDBTypes = array(
                        'mysql', 'postgres', 'sqlite', 'oracle', 'mssql', 'ibm_db2'
                );
@@ -811,7 +811,7 @@ abstract class DatabaseBase implements DatabaseType {
         * @since 1.20
         * @return bool: Whether connection was closed successfully
         */
-       protected abstract function closeConnection();
+       abstract protected function closeConnection();
 
        /**
         * @param $error String: fallback error message, used if none is given by DB
@@ -833,7 +833,7 @@ abstract class DatabaseBase implements DatabaseType {
         * @param  $sql String: SQL query.
         * @return ResultWrapper Result object to feed to fetchObject, fetchRow, ...; or false on failure
         */
-       protected abstract function doQuery( $sql );
+       abstract protected function doQuery( $sql );
 
        /**
         * Determine whether a query writes to the DB.
index a53a674..b6d0d00 100644 (file)
@@ -176,7 +176,7 @@ class DBConnectionError extends DBError {
                return "$text<hr />$extra";
        }
 
-       public function reportHTML(){
+       public function reportHTML() {
                global $wgUseFileCache;
 
                # Check whether we can serve a file-cached copy of the page with the error underneath
index 880d702..f2b4b09 100644 (file)
@@ -143,13 +143,12 @@ class IBM_DB2Result{
         * @param $sql String
         * @param $columns Array
         */
-       public function __construct( $db, $result, $num_rows, $sql, $columns ){
+       public function __construct( $db, $result, $num_rows, $sql, $columns ) {
                $this->db = $db;
 
-               if( $result instanceof ResultWrapper ){
+               if( $result instanceof ResultWrapper ) {
                        $this->result = $result->result;
-               }
-               else{
+               } else {
                        $this->result = $result;
                }
 
@@ -224,7 +223,7 @@ class IBM_DB2Result{
         * @return mixed Array on success, false on failure
         * @throws DBUnexpectedError
         */
-       public function fetchRow(){
+       public function fetchRow() {
                if ( $this->result
                                && $this->num_rows > 0
                                && $this->current_pos >= 0
@@ -239,7 +238,7 @@ class IBM_DB2Result{
                                }
                        }
 
-                       if ( $this->loadedLines > $this->current_pos ){
+                       if ( $this->loadedLines > $this->current_pos ) {
                                return $this->resultSet[$this->current_pos++];
                        }
 
@@ -251,7 +250,7 @@ class IBM_DB2Result{
         * Free a DB2 result object
         * @throws DBUnexpectedError
         */
-       public function freeResult(){
+       public function freeResult() {
                unset( $this->resultSet );
                if ( !@db2_free_result( $this->result ) ) {
                        throw new DBUnexpectedError( $this, "Unable to free DB2 result\n" );
@@ -420,7 +419,7 @@ class DatabaseIbm_db2 extends DatabaseBase {
         * Returns the database connection object
         * @return Object
         */
-       public function getDb(){
+       public function getDb() {
                return $this->mConn;
        }
 
index 317ff09..7def1b2 100644 (file)
@@ -102,7 +102,7 @@ class DatabaseMssql extends DatabaseBase {
                $ntAuthPassTest = strtolower( $password );
 
                // Decide which auth scenerio to use
-               if( $ntAuthPassTest == 'ntauth' && $ntAuthUserTest == 'ntauth' ){
+               if( $ntAuthPassTest == 'ntauth' && $ntAuthUserTest == 'ntauth' ) {
                        // Don't add credentials to $connectionInfo
                } else {
                        $connectionInfo['UID'] = $user;
@@ -414,7 +414,7 @@ class DatabaseMssql extends DatabaseBase {
                $identity = null;
                $tableRaw = preg_replace( '#\[([^\]]*)\]#', '$1', $table ); // strip matching square brackets from table name
                $res = $this->doQuery( "SELECT NAME AS idColumn FROM SYS.IDENTITY_COLUMNS WHERE OBJECT_NAME(OBJECT_ID)='{$tableRaw}'" );
-               if( $res && $res->numrows() ){
+               if( $res && $res->numrows() ) {
                        // There is an identity for this table.
                        $identity = array_pop( $res->fetch( SQLSRV_FETCH_ASSOC ) );
                }
@@ -431,7 +431,7 @@ class DatabaseMssql extends DatabaseBase {
                                // iterate through
                                foreach ($a as $k => $v ) {
                                        if ( $k == $identity ) {
-                                               if( !is_null($v) ){
+                                               if( !is_null($v) ) {
                                                        // there is a value being passed to us, we need to turn on and off inserted identity
                                                        $sqlPre = "SET IDENTITY_INSERT $table ON;" ;
                                                        $sqlPost = ";SET IDENTITY_INSERT $table OFF;";
@@ -930,7 +930,7 @@ class DatabaseMssql extends DatabaseBase {
         * Get the type of the DBMS, as it appears in $wgDBtype.
         * @return string
         */
-       function getType(){
+       function getType() {
                return 'mssql';
        }
 
index 2858cd9..2a0c50f 100644 (file)
@@ -209,7 +209,7 @@ class LoadBalancer {
                        return $this->getWriterIndex();
                }
 
-               if ( count( $this->mServers ) == 1 )  {
+               if ( count( $this->mServers ) == 1 ) {
                        # Skip the load balancing if there's only one server
                        return 0;
                } elseif ( $group === false and $this->mReadIndex >= 0 ) {
@@ -258,7 +258,7 @@ class LoadBalancer {
                                        $i = $this->pickRandom( $currentLoads );
                                } else {
                                        $i = $this->getRandomNonLagged( $currentLoads, $wiki );
-                                       if ( $i === false && count( $currentLoads ) != 0 )  {
+                                       if ( $i === false && count( $currentLoads ) != 0 ) {
                                                # All slaves lagged. Switch to read-only mode
                                                wfDebugLog( 'replication', "All slaves lagged. Switch to read-only mode\n" );
                                                $wgReadOnly = 'The database has been automatically locked ' .
@@ -392,7 +392,7 @@ class LoadBalancer {
                wfProfileIn( __METHOD__ );
                $this->mWaitForPos = $pos;
                for ( $i = 1; $i < count( $this->mServers ); $i++ ) {
-                       $this->doWait( $i , true );
+                       $this->doWait( $i, true );
                }
                wfProfileOut( __METHOD__ );
        }
index 6a6f930..46a3398 100644 (file)
@@ -43,14 +43,14 @@ class _DiffOp {
         * @return int
         */
        function norig() {
-               return $this->orig ? sizeof( $this->orig ) : 0;
+               return $this->orig ? count( $this->orig ) : 0;
        }
 
        /**
         * @return int
         */
        function nclosing() {
-               return $this->closing ? sizeof( $this->closing ) : 0;
+               return $this->closing ? count( $this->closing ) : 0;
        }
 }
 
@@ -194,8 +194,8 @@ class _DiffEngine {
                $this->_shift_boundaries( $to_lines, $this->ychanged, $this->xchanged );
 
                // Compute the edit operations.
-               $n_from = sizeof( $from_lines );
-               $n_to = sizeof( $to_lines );
+               $n_from = count( $from_lines );
+               $n_to = count( $to_lines );
 
                $edits = array();
                $xi = $yi = 0;
@@ -221,7 +221,7 @@ class _DiffEngine {
                        }
 
                        $add = array();
-                       while ( $yi < $n_to && $this->ychanged[$yi] )  {
+                       while ( $yi < $n_to && $this->ychanged[$yi] ) {
                                $add[] = $to_lines[$yi++];
                        }
 
@@ -254,8 +254,8 @@ class _DiffEngine {
                        unset( $wikidiff3 );
                } else {
                        // old diff
-                       $n_from = sizeof( $from_lines );
-                       $n_to = sizeof( $to_lines );
+                       $n_from = count( $from_lines );
+                       $n_to = count( $to_lines );
                        $this->xchanged = $this->ychanged = array();
                        $this->xv = $this->yv = array();
                        $this->xind = $this->yind = array();
@@ -303,7 +303,7 @@ class _DiffEngine {
                        }
 
                        // Find the LCS.
-                       $this->_compareseq( 0, sizeof( $this->xv ), 0, sizeof( $this->yv ) );
+                       $this->_compareseq( 0, count( $this->xv ), 0, count( $this->yv ) );
                }
                wfProfileOut( __METHOD__ );
        }
@@ -533,9 +533,9 @@ class _DiffEngine {
                $i = 0;
                $j = 0;
 
-               assert( 'sizeof($lines) == sizeof($changed)' );
-               $len = sizeof( $lines );
-               $other_len = sizeof( $other_changed );
+               assert( 'count($lines) == count($changed)' );
+               $len = count( $lines );
+               $other_len = count( $other_changed );
 
                while ( 1 ) {
                        /*
@@ -713,7 +713,7 @@ class Diff {
                $lcs = 0;
                foreach ( $this->edits as $edit ) {
                        if ( $edit->type == 'copy' ) {
-                               $lcs += sizeof( $edit->orig );
+                               $lcs += count( $edit->orig );
                        }
                }
                return $lcs;
@@ -732,7 +732,7 @@ class Diff {
 
                foreach ( $this->edits as $edit ) {
                        if ( $edit->orig ) {
-                               array_splice( $lines, sizeof( $lines ), 0, $edit->orig );
+                               array_splice( $lines, count( $lines ), 0, $edit->orig );
                        }
                }
                return $lines;
@@ -751,7 +751,7 @@ class Diff {
 
                foreach ( $this->edits as $edit ) {
                        if ( $edit->closing ) {
-                               array_splice( $lines, sizeof( $lines ), 0, $edit->closing );
+                               array_splice( $lines, count( $lines ), 0, $edit->closing );
                        }
                }
                return $lines;
@@ -829,23 +829,23 @@ class MappedDiff extends Diff {
                $mapped_from_lines, $mapped_to_lines ) {
                wfProfileIn( __METHOD__ );
 
-               assert( 'sizeof( $from_lines ) == sizeof( $mapped_from_lines )' );
-               assert( 'sizeof( $to_lines ) == sizeof( $mapped_to_lines )' );
+               assert( 'count( $from_lines ) == count( $mapped_from_lines )' );
+               assert( 'count( $to_lines ) == count( $mapped_to_lines )' );
 
                parent::__construct( $mapped_from_lines, $mapped_to_lines );
 
                $xi = $yi = 0;
-               for ( $i = 0; $i < sizeof( $this->edits ); $i++ ) {
+               for ( $i = 0; $i < count( $this->edits ); $i++ ) {
                        $orig = &$this->edits[$i]->orig;
                        if ( is_array( $orig ) ) {
-                               $orig = array_slice( $from_lines, $xi, sizeof( $orig ) );
-                               $xi += sizeof( $orig );
+                               $orig = array_slice( $from_lines, $xi, count( $orig ) );
+                               $xi += count( $orig );
                        }
 
                        $closing = &$this->edits[$i]->closing;
                        if ( is_array( $closing ) ) {
-                               $closing = array_slice( $to_lines, $yi, sizeof( $closing ) );
-                               $yi += sizeof( $closing );
+                               $closing = array_slice( $to_lines, $yi, count( $closing ) );
+                               $yi += count( $closing );
                        }
                }
                wfProfileOut( __METHOD__ );
@@ -900,7 +900,7 @@ class DiffFormatter {
                foreach ( $diff->edits as $edit ) {
                        if ( $edit->type == 'copy' ) {
                                if ( is_array( $block ) ) {
-                                       if ( sizeof( $edit->orig ) <= $nlead + $ntrail ) {
+                                       if ( count( $edit->orig ) <= $nlead + $ntrail ) {
                                                $block[] = $edit;
                                        } else {
                                                if ( $ntrail ) {
@@ -916,9 +916,9 @@ class DiffFormatter {
                                $context = $edit->orig;
                        } else {
                                if ( !is_array( $block ) ) {
-                                       $context = array_slice( $context, sizeof( $context ) - $nlead );
-                                       $x0 = $xi - sizeof( $context );
-                                       $y0 = $yi - sizeof( $context );
+                                       $context = array_slice( $context, count( $context ) - $nlead );
+                                       $x0 = $xi - count( $context );
+                                       $y0 = $yi - count( $context );
                                        $block = array();
                                        if ( $context ) {
                                                $block[] = new _DiffOp_Copy( $context );
@@ -928,10 +928,10 @@ class DiffFormatter {
                        }
 
                        if ( $edit->orig ) {
-                               $xi += sizeof( $edit->orig );
+                               $xi += count( $edit->orig );
                        }
                        if ( $edit->closing ) {
-                               $yi += sizeof( $edit->closing );
+                               $yi += count( $edit->closing );
                        }
                }
 
index 6672744..4ce9f19 100644 (file)
@@ -64,7 +64,7 @@ class WikiDiff3 {
 
        public function diff( /*array*/ $from, /*array*/ $to ) {
                // remember initial lengths
-               $m = sizeof( $from );
+               $m = count( $from );
                $n = count( $to );
 
                $this->heuristicUsed = false;
index 8bbc96d..5327204 100644 (file)
@@ -122,7 +122,9 @@ class FileBackendGroup {
                                throw new MWException( "Cannot register a backend with no name." );
                        }
                        $name = $config['name'];
-                       if ( !isset( $config['class'] ) ) {
+                       if ( isset( $this->backends[$name] ) ) {
+                               throw new MWException( "Backend with name `{$name}` already registered." );
+                       } elseif ( !isset( $config['class'] ) ) {
                                throw new MWException( "Cannot register backend `{$name}` with no class." );
                        }
                        $class = $config['class'];
index 82f7b49..4cc4fde 100644 (file)
@@ -694,7 +694,7 @@ class FileRepo {
        public function getDescriptionStylesheetUrl() {
                if ( isset( $this->scriptDirUrl ) ) {
                        return $this->makeUrl( 'title=MediaWiki:Filepage.css&' .
-                               wfArrayToCGI( Skin::getDynamicStylesheetQuery() ) );
+                               wfArrayToCgi( Skin::getDynamicStylesheetQuery() ) );
                }
                return false;
        }
index bfb9197..e4e49f5 100644 (file)
@@ -842,7 +842,7 @@ abstract class File {
                global $wgIgnoreImageErrors;
 
                if ( $wgIgnoreImageErrors && !( $flags & self::RENDER_NOW ) ) {
-                       return $this->handler->getTransform( $this, $thumbPath, $thumbUrl, $params );
+                       return $this->getHandler()->getTransform( $this, $thumbPath, $thumbUrl, $params );
                } else {
                        return new MediaTransformError( 'thumbnail_error',
                                $params['width'], 0, wfMessage( 'thumbnail-dest-create' )->text() );
@@ -873,17 +873,18 @@ abstract class File {
                                $params['descriptionUrl'] = wfExpandUrl( $descriptionUrl, PROTO_CANONICAL );
                        }
 
+                       $handler = $this->getHandler();
                        $script = $this->getTransformScript();
                        if ( $script && !( $flags & self::RENDER_NOW ) ) {
                                // Use a script to transform on client request, if possible
-                               $thumb = $this->handler->getScriptedTransform( $this, $script, $params );
+                               $thumb = $handler->getScriptedTransform( $this, $script, $params );
                                if ( $thumb ) {
                                        break;
                                }
                        }
 
                        $normalisedParams = $params;
-                       $this->handler->normaliseParams( $this, $normalisedParams );
+                       $handler->normaliseParams( $this, $normalisedParams );
 
                        $thumbName = $this->thumbName( $normalisedParams );
                        $thumbUrl = $this->getThumbUrl( $thumbName );
@@ -896,7 +897,7 @@ abstract class File {
                                        // XXX: Pass in the storage path even though we are not rendering anything
                                        // and the path is supposed to be an FS path. This is due to getScalerType()
                                        // getting called on the path and clobbering $thumb->getUrl() if it's false.
-                                       $thumb = $this->handler->getTransform( $this, $thumbPath, $thumbUrl, $params );
+                                       $thumb = $handler->getTransform( $this, $thumbPath, $thumbUrl, $params );
                                        break;
                                }
                                // Clean up broken thumbnails as needed
@@ -909,7 +910,7 @@ abstract class File {
                                                // XXX: Pass in the storage path even though we are not rendering anything
                                                // and the path is supposed to be an FS path. This is due to getScalerType()
                                                // getting called on the path and clobbering $thumb->getUrl() if it's false.
-                                               $thumb = $this->handler->getTransform(
+                                               $thumb = $handler->getTransform(
                                                        $this, $thumbPath, $thumbUrl, $params );
                                                $thumb->setStoragePath( $thumbPath );
                                                break;
@@ -937,7 +938,7 @@ abstract class File {
 
                        // Actually render the thumbnail...
                        wfProfileIn( __METHOD__ . '-doTransform' );
-                       $thumb = $this->handler->doTransform( $this, $tmpThumbPath, $thumbUrl, $params );
+                       $thumb = $handler->doTransform( $this, $tmpThumbPath, $thumbUrl, $params );
                        wfProfileOut( __METHOD__ . '-doTransform' );
                        $tmpFile->bind( $thumb ); // keep alive with $thumb
 
@@ -947,7 +948,7 @@ abstract class File {
                                $this->lastError = $thumb->toText();
                                // Ignore errors if requested
                                if ( $wgIgnoreImageErrors && !( $flags & self::RENDER_NOW ) ) {
-                                       $thumb = $this->handler->getTransform( $this, $tmpThumbPath, $thumbUrl, $params );
+                                       $thumb = $handler->getTransform( $this, $tmpThumbPath, $thumbUrl, $params );
                                }
                        } elseif ( $this->repo && $thumb->hasFile() && !$thumb->fileIsSource() ) {
                                // Copy the thumbnail from the file system into storage...
index 9babe5a..c08d192 100644 (file)
@@ -24,7 +24,7 @@
 /**
  * Bump this number when serialized cache records may be incompatible.
  */
-define( 'MW_FILE_VERSION', 8 );
+define( 'MW_FILE_VERSION', 9 );
 
 /**
  * Class to represent a local file in the wiki's own database
@@ -67,7 +67,8 @@ class LocalFile extends File {
                $sha1,             # SHA-1 base 36 content hash
                $user, $user_text, # User, who uploaded the file
                $description,      # Description of current revision of the file
-               $dataLoaded,       # Whether or not all this has been loaded from the database (loadFromXxx)
+               $dataLoaded,       # Whether or not core data has been loaded from the database (loadFromXxx)
+               $extraDataLoaded,  # Whether or not lazy-loaded data has been loaded from the database
                $upgraded,         # Whether the row was upgraded on load
                $locked,           # True if the image row is locked
                $missing,          # True if file is not present in file system. Not to be cached in memcached
@@ -82,6 +83,8 @@ class LocalFile extends File {
 
        protected $repoClass = 'LocalRepo';
 
+       const LOAD_ALL = 1; // integer; load all the lazy fields too (like metadata)
+
        /**
         * Create a LocalFile from a title
         * Do not call this except from inside a repo class.
@@ -175,6 +178,7 @@ class LocalFile extends File {
                $this->historyLine = 0;
                $this->historyRes = null;
                $this->dataLoaded = false;
+               $this->extraDataLoaded = false;
 
                $this->assertRepoDefined();
                $this->assertTitleDefined();
@@ -200,6 +204,7 @@ class LocalFile extends File {
 
                wfProfileIn( __METHOD__ );
                $this->dataLoaded = false;
+               $this->extraDataLoaded = false;
                $key = $this->getCacheKey();
 
                if ( !$key ) {
@@ -210,13 +215,17 @@ class LocalFile extends File {
                $cachedValues = $wgMemc->get( $key );
 
                // Check if the key existed and belongs to this version of MediaWiki
-               if ( isset( $cachedValues['version'] ) && ( $cachedValues['version'] == MW_FILE_VERSION ) ) {
+               if ( isset( $cachedValues['version'] ) && $cachedValues['version'] == MW_FILE_VERSION ) {
                        wfDebug( "Pulling file metadata from cache key $key\n" );
                        $this->fileExists = $cachedValues['fileExists'];
                        if ( $this->fileExists ) {
                                $this->setProps( $cachedValues );
                        }
                        $this->dataLoaded = true;
+                       $this->extraDataLoaded = true;
+                       foreach ( $this->getLazyCacheFields( '' ) as $field ) {
+                               $this->extraDataLoaded = $this->extraDataLoaded && isset( $cachedValues[$field] );
+                       }
                }
 
                if ( $this->dataLoaded ) {
@@ -252,7 +261,17 @@ class LocalFile extends File {
                        }
                }
 
-               $wgMemc->set( $key, $cache, 60 * 60 * 24 * 7 ); // A week
+               // Strip off excessive entries from the subset of fields that can become large.
+               // If the cache value gets to large it will not fit in memcached and nothing will
+               // get cached at all, causing master queries for any file access.
+               foreach ( $this->getLazyCacheFields( '' ) as $field ) {
+                       if ( isset( $cache[$field] ) && strlen( $cache[$field] ) > 100*1024 ) {
+                               unset( $cache[$field] ); // don't let the value get too big
+                       }
+               }
+
+               // Cache presence for 1 week and negatives for 1 day
+               $wgMemc->set( $key, $cache, $this->fileExists ? 86400 * 7 : 86400 );
        }
 
        /**
@@ -287,6 +306,28 @@ class LocalFile extends File {
                return $results[$prefix];
        }
 
+       /**
+        * @return array
+        */
+       function getLazyCacheFields( $prefix = 'img_' ) {
+               static $fields = array( 'metadata' );
+               static $results = array();
+
+               if ( $prefix == '' ) {
+                       return $fields;
+               }
+
+               if ( !isset( $results[$prefix] ) ) {
+                       $prefixedFields = array();
+                       foreach ( $fields as $field ) {
+                               $prefixedFields[] = $prefix . $field;
+                       }
+                       $results[$prefix] = $prefixedFields;
+               }
+
+               return $results[$prefix];
+       }
+
        /**
         * Load file metadata from the DB
         */
@@ -297,9 +338,9 @@ class LocalFile extends File {
 
                # Unconditionally set loaded=true, we don't want the accessors constantly rechecking
                $this->dataLoaded = true;
+               $this->extraDataLoaded = true;
 
                $dbr = $this->repo->getMasterDB();
-
                $row = $dbr->selectRow( 'image', $this->getCacheFields( 'img_' ),
                        array( 'img_name' => $this->getName() ), $fname );
 
@@ -313,14 +354,45 @@ class LocalFile extends File {
        }
 
        /**
-        * Decode a row from the database (either object or array) to an array
-        * with timestamps and MIME types decoded, and the field prefix removed.
-        * @param $row
+        * Load lazy file metadata from the DB.
+        * This covers fields that are sometimes not cached.
+        */
+       protected function loadExtraFromDB() {
+               # Polymorphic function name to distinguish foreign and local fetches
+               $fname = get_class( $this ) . '::' . __FUNCTION__;
+               wfProfileIn( $fname );
+
+               # Unconditionally set loaded=true, we don't want the accessors constantly rechecking
+               $this->extraDataLoaded = true;
+
+               $dbr = $this->repo->getSlaveDB();
+               // In theory the file could have just been renamed/deleted...oh well
+               $row = $dbr->selectRow( 'image', $this->getLazyCacheFields( 'img_' ),
+                       array( 'img_name' => $this->getName() ), $fname );
+
+               if ( !$row ) { // fallback to master
+                       $dbr = $this->repo->getMasterDB();
+                       $row = $dbr->selectRow( 'image', $this->getLazyCacheFields( 'img_' ),
+                               array( 'img_name' => $this->getName() ), $fname );
+               }
+
+               if ( $row ) {
+                       foreach ( $this->unprefixRow( $row, 'img_' ) as $name => $value ) {
+                               $this->$name = $value;
+                       }
+               } else {
+                       throw new MWException( "Could not find data for image '{$this->getName()}'." );
+               }
+
+               wfProfileOut( $fname );
+       }
+
+       /**
+        * @param Row $row
         * @param $prefix string
-        * @throws MWException
-        * @return array
+        * @return Array
         */
-       function decodeRow( $row, $prefix = 'img_' ) {
+       protected function unprefixRow( $row, $prefix = 'img_' ) {
                $array = (array)$row;
                $prefixLength = strlen( $prefix );
 
@@ -330,10 +402,22 @@ class LocalFile extends File {
                }
 
                $decoded = array();
-
                foreach ( $array as $name => $value ) {
                        $decoded[substr( $name, $prefixLength )] = $value;
                }
+               return $decoded;
+       }
+
+       /**
+        * Decode a row from the database (either object or array) to an array
+        * with timestamps and MIME types decoded, and the field prefix removed.
+        * @param $row
+        * @param $prefix string
+        * @throws MWException
+        * @return array
+        */
+       function decodeRow( $row, $prefix = 'img_' ) {
+               $decoded = $this->unprefixRow( $row, $prefix );
 
                $decoded['timestamp'] = wfTimestamp( TS_MW, $decoded['timestamp'] );
 
@@ -357,6 +441,8 @@ class LocalFile extends File {
         */
        function loadFromRow( $row, $prefix = 'img_' ) {
                $this->dataLoaded = true;
+               $this->extraDataLoaded = true;
+
                $array = $this->decodeRow( $row, $prefix );
 
                foreach ( $array as $name => $value ) {
@@ -369,8 +455,9 @@ class LocalFile extends File {
 
        /**
         * Load file metadata from cache or DB, unless already loaded
+        * @param integer $flags
         */
-       function load() {
+       function load( $flags = 0 ) {
                if ( !$this->dataLoaded ) {
                        if ( !$this->loadFromCache() ) {
                                $this->loadFromDB();
@@ -378,6 +465,9 @@ class LocalFile extends File {
                        }
                        $this->dataLoaded = true;
                }
+               if ( ( $flags & self::LOAD_ALL ) && !$this->extraDataLoaded ) {
+                       $this->loadExtraFromDB();
+               }
        }
 
        /**
@@ -397,7 +487,7 @@ class LocalFile extends File {
                } else {
                        $handler = $this->getHandler();
                        if ( $handler ) {
-                               $validity = $handler->isMetadataValid( $this, $this->metadata );
+                               $validity = $handler->isMetadataValid( $this, $this->getMetadata() );
                                if ( $validity === MediaHandler::METADATA_BAD
                                        || ( $validity === MediaHandler::METADATA_COMPATIBLE && $wgUpdateCompatibleMetadata )
                                ) {
@@ -464,6 +554,7 @@ class LocalFile extends File {
        /**
         * Set properties in this object to be equal to those given in the
         * associative array $info. Only cacheable fields can be set.
+        * All fields *must* be set in $info except for getLazyCacheFields().
         *
         * If 'mime' is given, it will be split into major_mime/minor_mime.
         * If major_mime/minor_mime are given, $this->mime will also be set.
@@ -570,7 +661,7 @@ class LocalFile extends File {
         * @return string
         */
        function getMetadata() {
-               $this->load();
+               $this->load( self::LOAD_ALL ); // large metadata is loaded in another step
                return $this->metadata;
        }
 
index 40d7dca..3180835 100644 (file)
@@ -169,13 +169,14 @@ class OldLocalFile extends LocalFile {
 
        function loadFromDB() {
                wfProfileIn( __METHOD__ );
+
                $this->dataLoaded = true;
                $dbr = $this->repo->getSlaveDB();
                $conds = array( 'oi_name' => $this->getName() );
                if ( is_null( $this->requestedTime ) ) {
                        $conds['oi_archive_name'] = $this->archive_name;
                } else {
-                       $conds[] = 'oi_timestamp = ' . $dbr->addQuotes( $dbr->timestamp( $this->requestedTime ) );
+                       $conds['oi_timestamp'] = $dbr->timestamp( $this->requestedTime );
                }
                $row = $dbr->selectRow( 'oldimage', $this->getCacheFields( 'oi_' ),
                        $conds, __METHOD__, array( 'ORDER BY' => 'oi_timestamp DESC' ) );
@@ -184,6 +185,42 @@ class OldLocalFile extends LocalFile {
                } else {
                        $this->fileExists = false;
                }
+
+               wfProfileOut( __METHOD__ );
+       }
+
+       /**
+        * Load lazy file metadata from the DB
+        */
+       protected function loadExtraFromDB() {
+               wfProfileIn( __METHOD__ );
+
+               $this->extraDataLoaded = true;
+               $dbr = $this->repo->getSlaveDB();
+               $conds = array( 'oi_name' => $this->getName() );
+               if ( is_null( $this->requestedTime ) ) {
+                       $conds['oi_archive_name'] = $this->archive_name;
+               } else {
+                       $conds['oi_timestamp'] = $dbr->timestamp( $this->requestedTime );
+               }
+               // In theory the file could have just been renamed/deleted...oh well
+               $row = $dbr->selectRow( 'oldimage', $this->getLazyCacheFields( 'oi_' ),
+                       $conds, __METHOD__, array( 'ORDER BY' => 'oi_timestamp DESC' ) );
+
+               if ( !$row ) { // fallback to master
+                       $dbr = $this->repo->getMasterDB();
+                       $row = $dbr->selectRow( 'oldimage', $this->getLazyCacheFields( 'oi_' ),
+                               $conds, __METHOD__, array( 'ORDER BY' => 'oi_timestamp DESC' ) );
+               }
+
+               if ( $row ) {
+                       foreach ( $this->unprefixRow( $row, 'oi_' ) as $name => $value ) {
+                               $this->$name = $value;
+                       }
+               } else {
+                       throw new MWException( "Could not find data for image '{$this->archive_name}'." );
+               }
+
                wfProfileOut( __METHOD__ );
        }
 
index 75ede23..f27165d 100644 (file)
@@ -62,12 +62,12 @@ abstract class DatabaseInstaller {
        /**
         * Return the internal name, e.g. 'mysql', or 'sqlite'.
         */
-       public abstract function getName();
+       abstract public function getName();
 
        /**
         * @return bool Returns true if the client library is compiled in.
         */
-       public abstract function isCompiled();
+       abstract public function isCompiled();
 
        /**
         * Checks for installation prerequisites other than those checked by isCompiled()
@@ -85,7 +85,7 @@ abstract class DatabaseInstaller {
         *
         * If this is called, $this->parent can be assumed to be a WebInstaller.
         */
-       public abstract function getConnectForm();
+       abstract public function getConnectForm();
 
        /**
         * Set variables based on the request array, assuming it was submitted
@@ -96,7 +96,7 @@ abstract class DatabaseInstaller {
         *
         * @return Status
         */
-       public abstract function submitConnectForm();
+       abstract public function submitConnectForm();
 
        /**
         * Get HTML for a web form that retrieves settings used for installation.
@@ -127,7 +127,7 @@ abstract class DatabaseInstaller {
         *
         * @return Status
         */
-       public abstract function openConnection();
+       abstract public function openConnection();
 
        /**
         * Create the database and return a Status object indicating success or
@@ -135,7 +135,7 @@ abstract class DatabaseInstaller {
         *
         * @return Status
         */
-       public abstract function setupDatabase();
+       abstract public function setupDatabase();
 
        /**
         * Connect to the database using the administrative user/password currently
@@ -218,7 +218,7 @@ abstract class DatabaseInstaller {
         *
         * @return String
         */
-       public abstract function getLocalSettings();
+       abstract public function getLocalSettings();
 
        /**
         * Override this to provide DBMS-specific schema variables, to be
index ac3f7b6..9caf168 100644 (file)
@@ -575,7 +575,7 @@ abstract class DatabaseUpdater {
         *
         * @return Array
         */
-       protected abstract function getCoreUpdateList();
+       abstract protected function getCoreUpdateList();
 
        /**
         * Append an SQL fragment to the open file handle.
index b9062ce..b0aeafb 100644 (file)
@@ -17,19 +17,19 @@ $messages['en'] = array(
        'config-information'              => 'Information',
        'config-localsettings-upgrade'    => "A <code>LocalSettings.php</code> file has been detected.
 To upgrade this installation, please enter the value of <code>\$wgUpgradeKey</code> in the box below.
-You will find it in LocalSettings.php.",
-       'config-localsettings-cli-upgrade'    => 'A LocalSettings.php file has been detected.
-To upgrade this installation, please run update.php instead',
+You will find it in <code>LocalSettings.php</code>.",
+       'config-localsettings-cli-upgrade'    => 'A <code>LocalSettings.php</code> file has been detected.
+To upgrade this installation, please run <code>update.php</code> instead',
        'config-localsettings-key'        => 'Upgrade key:',
        'config-localsettings-badkey'     => 'The key you provided is incorrect.',
        'config-upgrade-key-missing'      => 'An existing installation of MediaWiki has been detected.
-To upgrade this installation, please put the following line at the bottom of your LocalSettings.php:
+To upgrade this installation, please put the following line at the bottom of your <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'The existing LocalSettings.php appears to be incomplete.
+       'config-localsettings-incomplete' => 'The existing <code>LocalSettings.php</code> appears to be incomplete.
 The $1 variable is not set.
-Please change LocalSettings.php so that this variable is set, and click "Continue".',
-       'config-localsettings-connection-error' => 'An error was encountered when connecting to the database using the settings specified in LocalSettings.php or AdminSettings.php. Please fix these settings and try again.
+Please change <code>LocalSettings.php</code> so that this variable is set, and click "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'An error was encountered when connecting to the database using the settings specified in <code>LocalSettings.php</code> or <code>AdminSettings.php</code>. Please fix these settings and try again.
 
 $1',
        'config-session-error'            => 'Error starting session: $1',
@@ -163,7 +163,9 @@ Installation aborted.',
        'config-using531'                 => 'MediaWiki cannot be used with PHP $1 due to a bug involving reference parameters to <code>__call()</code>.
 Upgrade to PHP 5.3.2 or higher, or downgrade to PHP 5.3.0 to resolve this.
 Installation aborted.',
-       'config-suhosin-max-value-length' => "Suhosin is installed and limits the GET parameter length to $1 bytes. MediaWiki's ResourceLoader component will work around this limit, but that will degrade performance. If at all possible, you should set suhosin.get.max_value_length to 1024 or higher in php.ini , and set \$wgResourceLoaderMaxQueryLength to the same value in LocalSettings.php .",
+       'config-suhosin-max-value-length' => "Suhosin is installed and limits the GET parameter <code>length</code> to $1 bytes.
+MediaWiki's ResourceLoader component will work around this limit, but that will degrade performance.
+If at all possible, you should set <code>suhosin.get.max_value_length</code> to 1024 or higher in <code>php.ini</code>, and set <code>\$wgResourceLoaderMaxQueryLength</code> to the same value in <code>LocalSettings.php</code>.",
        'config-db-type'                  => 'Database type:',
        'config-db-host'                  => 'Database host:',
        'config-db-host-help'             => 'If your database server is on different server, enter the host name or IP address here.
@@ -316,8 +318,8 @@ This is '''not recommended''' unless you are having problems with your wiki.",
        'config-upgrade-done-no-regenerate' => "Upgrade complete.
 
 You can now [$1 start using your wiki].",
-       'config-regenerate'               => 'Regenerate LocalSettings.php →',
-       'config-show-table-status'        => 'SHOW TABLE STATUS query failed!',
+       'config-regenerate'               => 'Regenerate <code>LocalSettings.php</code> →',
+       'config-show-table-status'        => '<code>SHOW TABLE STATUS</code> query failed!',
        'config-unknown-collation'        => "'''Warning:''' Database is using unrecognised collation.",
        'config-db-web-account'           => 'Database account for web access',
        'config-db-web-help'              => 'Select the username and password that the web server will use to connect to the database server, during ordinary operation of the wiki.',
@@ -548,7 +550,7 @@ $3
 '''Note''': If you do not do this now, this generated configuration file will not be available to you later if you exit the installation without downloading it.
 
 When that has been done, you can '''[$2 enter your wiki]'''.",
-       'config-download-localsettings' => 'Download LocalSettings.php',
+       'config-download-localsettings' => 'Download <code>LocalSettings.php</code>',
        'config-help' => 'help',
        'config-nofile'     => 'File "$1" could not be found. Has it been deleted?',
        'mainpagetext'      => "'''MediaWiki has been successfully installed.'''",
@@ -583,7 +585,7 @@ $messages['qqq'] = array(
        'config-title' => 'Parameters:
 * $1 is the version of MediaWiki that is being installed.',
        'config-information' => '{{Identical|Information}}',
-       'config-localsettings-cli-upgrade' => 'Do not translate the <code>LocalSettings.php</code> and the <code>update.php</code> parts.',
+       'config-localsettings-cli-upgrade' => 'Do not translate the <code><code>LocalSettings.php</code></code> and the <code>update.php</code> parts.',
        'config-session-error' => 'Parameters:
 * $1 is the error that was encountered with the session.',
        'config-session-expired' => 'Parameters:
@@ -660,7 +662,7 @@ If you\'re translating this message to a right-to-left language, consider writin
        'config-sqlite-dir-unwritable' => 'webserver refers to a software like Apache or Lighttpd.',
        'config-can-upgrade' => 'Parameters:
 * $1 - Version or Revision indicator.',
-       'config-show-table-status' => '{{doc-important|"SHOW TABLE STATUS" is a MySQL command. Do not translate this.}}',
+       'config-show-table-status' => '{{doc-important|"<code>SHOW TABLE STATUS</code>" is a MySQL command. Do not translate this.}}',
        'config-db-web-account-same' => 'checkbox label',
        'config-db-web-create' => 'checkbox label',
        'config-ns-generic' => '{{Identical|Project}}',
@@ -887,7 +889,7 @@ U gebruik tans $2.',
 
 U kan nou [$1 u wiki gebruik].',
        'config-regenerate' => 'Herskep LocalSettings.php →',
-       'config-show-table-status' => 'Die uitvoer van SHOW TABLE STATUS het gefaal!',
+       'config-show-table-status' => 'Die uitvoer van <code>SHOW TABLE STATUS</code> het gefaal!',
        'config-db-web-account' => 'Databasisgebruiker vir toegang tot die web',
        'config-mysql-engine' => 'Stoor-enjin:',
        'config-mysql-innodb' => 'InnoDB',
@@ -912,7 +914,7 @@ U kan nou [$1 u wiki gebruik].',
        'config-admin-email' => 'E-posadres:',
        'config-optional-continue' => 'Vra my meer vrae.',
        'config-optional-skip' => 'Ek is reeds verveeld, installeer maar net die wiki.',
-       'config-profile-wiki' => 'Tradisionele wiki',
+       'config-profile-wiki' => 'Tradisionele wiki', # Fuzzy
        'config-profile-no-anon' => 'Skep van gebruiker is verpligtend',
        'config-profile-fishbowl' => 'Slegs vir gemagtigde redaksie',
        'config-profile-private' => 'Privaat wiki',
@@ -977,7 +979,7 @@ As dit gedoen is, kan u '''[u $2 wiki besoek]'''.", # Fuzzy
 == Hoe om te Begin ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Gheg Albanian (Gegë)
@@ -1250,6 +1252,7 @@ $messages['be'] = array(
  * @author Jim-by
  * @author Wizardist
  * @author Zedlik
+ * @author 아라
  */
 $messages['be-tarask'] = array(
        'config-desc' => 'Праграма ўсталяваньня MediaWiki',
@@ -1257,19 +1260,19 @@ $messages['be-tarask'] = array(
        'config-information' => 'Інфармацыя',
        'config-localsettings-upgrade' => 'Выяўлены файл <code>LocalSettings.php</code>.
 Каб абнавіць гэтае усталяваньне, калі ласка, увядзіце значэньне <code>$wgUpgradeKey</code> у полі ніжэй.
-Яго можна знайсьці ў LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Быў знойдзены файл LocalSettings.php.
-Каб зьмяніць гэтае ўсталяваньне, калі ласка, запусьціце update.php',
+Яго можна знайсьці ў <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Быў знойдзены файл <code>LocalSettings.php</code>.
+Каб зьмяніць гэтае ўсталяваньне, калі ласка, запусьціце <code>update.php</code>',
        'config-localsettings-key' => 'Ключ паляпшэньня:',
        'config-localsettings-badkey' => 'Пададзены Вамі ключ зьяўляецца няслушным',
        'config-upgrade-key-missing' => 'Выяўленае існуючае ўсталяваньне MediaWiki.
-Каб абнавіць гэтае ўсталяваньне, калі ласка, устаўце наступны радок у канец Вашага LocalSettings.php:
+Каб абнавіць гэтае ўсталяваньне, калі ласка, устаўце наступны радок у канец Вашага <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'Выглядае, што існуючы LocalSettings.php зьяўляецца няпоўным.
+       'config-localsettings-incomplete' => 'Выглядае, што існуючы <code>LocalSettings.php</code> зьяўляецца няпоўным.
 Не ўстаноўленая пераменная $1.
-Калі ласка, зьмяніце LocalSettings.php так, каб была ўстаноўленая гэтая пераменная, і націсьніце «Працягваць».',
-       'config-localsettings-connection-error' => 'Адбылася памылка падчас злучэньня з базай зьвестак з выкарыстаньнем наладаў, пазначаных у LocalSettings.php ці AdminSettings.php. Калі ласка, выпраўце гэтыя налады і паспрабуйце зноў.
+Калі ласка, зьмяніце <code>LocalSettings.php</code> так, каб была ўстаноўленая гэтая пераменная, і націсьніце «{{int:Config-continue}}».',
+       'config-localsettings-connection-error' => 'Адбылася памылка падчас злучэньня з базай зьвестак з выкарыстаньнем наладаў, пазначаных у <code>LocalSettings.php</code> ці <code>AdminSettings.php</code>. Калі ласка, выпраўце гэтыя налады і паспрабуйце зноў.
 
 $1',
        'config-session-error' => 'Памылка стварэньня сэсіі: $1',
@@ -1487,7 +1490,7 @@ $1
        'config-support-postgres' => '* $1 — вядомая сыстэма базы зьвестак з адкрытым кодам, якая зьяўляецца альтэрнатывай MySQL ([http://www.php.net/manual/en/pgsql.installation.php як кампіляваць PHP з падтрымкай PostgreSQL]). Яна можа ўтрымліваць дробныя памылкі, і не рэкамэндуецца выкарыстоўваць яе для працуючых праектаў.',
        'config-support-sqlite' => '* $1 — невялікая сыстэма базы зьвестак, якая мае вельмі добрую падтрымку. ([http://www.php.net/manual/en/pdo.installation.php як кампіляваць PHP з падтрымкай SQLite], выкарыстоўвае PDO)',
        'config-support-oracle' => '* $1 зьяўляецца камэрцыйнай прафэсійнай базай зьвестак. ([http://www.php.net/manual/en/oci8.installation.php Як скампіляваць PHP з падтрымкай OCI8])',
-       'config-support-ibm_db2' => '* $1 — база зьвестак камэрцыйнага прадпрыемства.',
+       'config-support-ibm_db2' => '* $1 — база зьвестак камэрцыйнага прадпрыемства.', # Fuzzy
        'config-header-mysql' => 'Налады MySQL',
        'config-header-postgres' => 'Налады PostgreSQL',
        'config-header-sqlite' => 'Налады SQLite',
@@ -1555,7 +1558,7 @@ chmod a+w $3</pre>',
 
 Цяпер Вы можаце [$1 пачаць працу з вікі].',
        'config-regenerate' => 'Рэгенэраваць LocalSettings.php →',
-       'config-show-table-status' => "Запыт 'SHOW TABLE STATUS' не атрымаўся!",
+       'config-show-table-status' => "Запыт '<code>SHOW TABLE STATUS</code>' не атрымаўся!",
        'config-unknown-collation' => "'''Папярэджаньне:''' база зьвестак выкарыстоўвае нераспазнанае супастаўленьне.",
        'config-db-web-account' => 'Рахунак базы зьвестак для вэб-доступу',
        'config-db-web-help' => 'Выберыце імя карыстальніка і пароль, які выкарыстоўваецца вэб-сэрвэрам для злучэньня з сэрвэрам базы зьвестак, падчас звычайных апэрацыяў вікі.',
@@ -1627,7 +1630,7 @@ chmod a+w $3</pre>',
        'config-optional-continue' => 'Задаць болей пытаньняў.',
        'config-optional-skip' => 'Хопіць, проста ўсталяваць вікі.',
        'config-profile' => 'Профіль правоў удзельніка:',
-       'config-profile-wiki' => 'Традыцыйная вікі',
+       'config-profile-wiki' => 'Традыцыйная вікі', # Fuzzy
        'config-profile-no-anon' => 'Патрэбнае стварэньне рахунку',
        'config-profile-fishbowl' => 'Толькі для аўтарызаваных рэдактараў',
        'config-profile-private' => 'Прыватная вікі',
@@ -1643,7 +1646,7 @@ chmod a+w $3</pre>',
 Сцэнар '''{{int:config-profile-fishbowl}}''' дазваляе рэдагаваць зацьверджаным удзельнікам, але ўсе могуць праглядаць старонкі іх гісторыю.
 '''{{int:config-profile-private}}''' дазваляе праглядаць і рэдагаваць старонкі толькі зацьверджаным удзельнікам.
 
-Больш складаныя правы ўдзельнікаў даступныя пасьля ўсталяваньня, глядзіце [//www.mediawiki.org/wiki/Manual:User_rights адпаведную старонку дакумэнтацыі].",
+Больш складаныя правы ўдзельнікаў даступныя пасьля ўсталяваньня, глядзіце [//www.mediawiki.org/wiki/Manual:User_rights адпаведную старонку дакумэнтацыі].", # Fuzzy
        'config-license' => 'Аўтарскія правы і ліцэнзія:',
        'config-license-none' => 'Без інфармацыі пра ліцэнзію',
        'config-license-cc-by-sa' => 'Creative Commons Attribution Share Alike',
@@ -1728,7 +1731,7 @@ chmod a+w $3</pre>',
        'config-install-alreadydone' => "'''Папярэджаньне:''' здаецца, што Вы ўжо ўсталёўвалі MediaWiki і спрабуеце зрабіць гэтай зноў.
 Калі ласка, перайдзіце на наступную старонку.",
        'config-install-begin' => 'Пасьля націску кнопкі «{{int:config-continue}}» пачнецца ўсталяваньне MediaWiki.
-Калі Вы жадаеце што-небудзь зьмяніць, націсьніце кнопку «Вярнуцца».',
+Калі Вы жадаеце што-небудзь зьмяніць, націсьніце кнопку «Вярнуцца».', # Fuzzy
        'config-install-step-done' => 'зроблена',
        'config-install-step-failed' => 'не атрымалася',
        'config-install-extensions' => 'Уключаючы пашырэньні',
@@ -1793,11 +1796,12 @@ $3
 == З чаго пачаць ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Сьпіс парамэтраў канфігурацыі]
 * [//www.mediawiki.org/wiki/Manual:FAQ Частыя пытаньні MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка паведамленьняў пра зьяўленьне новых вэрсіяў MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка паведамленьняў пра зьяўленьне новых вэрсіяў MediaWiki]', # Fuzzy
 );
 
 /** Bulgarian (български)
  * @author DCLXVI
+ * @author 아라
  */
 $messages['bg'] = array(
        'config-desc' => 'Инсталатор на МедияУики',
@@ -1805,19 +1809,19 @@ $messages['bg'] = array(
        'config-information' => 'Информация',
        'config-localsettings-upgrade' => 'Беше открит файл <code>LocalSettings.php</code>.
 За надграждане на съществуващата инсталация, необходимо е в кутията по-долу да се въведе стойността на <code>$wgUpgradeKey</code>.
-Тази информация е налична в LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Беше открит файл LocalSettings.php.
-За надграждане на наличната инсталация, необходимо е да се стартира update.php',
+Тази информация е налична в <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Беше открит файл <code>LocalSettings.php</code>.
+За надграждане на наличната инсталация, необходимо е да се стартира <code>update.php</code>',
        'config-localsettings-key' => 'Ключ за надграждане:',
        'config-localsettings-badkey' => 'Предоставеният ключ е неправилен.',
        'config-upgrade-key-missing' => 'Беше открита съществуваща инсталация на МедияУики.
-За надграждане на съществуващата инсталация, необходимо е да се постави следният ред в края на файла LocalSettings.php:
+За надграждане на съществуващата инсталация, необходимо е да се постави следният ред в края на файла <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'Съществуващият файл LocalSettings.php изглежда непълен.
+       'config-localsettings-incomplete' => 'Съществуващият файл <code>LocalSettings.php</code> изглежда непълен.
 Променливата $1 не е зададена.
-Необходимо е да се редактира файлът LocalSettings.php и да се зададе променливата, след което да се натисне "Продължаване".',
-       'config-localsettings-connection-error' => 'Възникна грешка при свързване с базата от данни чрез данните, посочени в LocalSettings.php или AdminSettings.php. Необходимо е да се коригират тези настройки преди повторен опит за свързване.
+Необходимо е да се редактира файлът <code>LocalSettings.php</code> и да се зададе променливата, след което да се натисне "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Възникна грешка при свързване с базата от данни чрез данните, посочени в <code>LocalSettings.php</code> или <code>AdminSettings.php</code>. Необходимо е да се коригират тези настройки преди повторен опит за свързване.
 
 $1',
        'config-session-error' => 'Грешка при създаване на сесия: $1',
@@ -2012,7 +2016,7 @@ $1
        'config-support-postgres' => '* $1 е популярна система за бази от данни с отворен изходен код, която е алтернатива на MySQL ([http://www.php.net/manual/en/pgsql.installation.php как се компилира PHP с поддръжка на PostgreSQL]). Възможно е все още да има грешки, затова не се препоръчва да се използва в общодостъпна среда.',
        'config-support-sqlite' => '* $1 е лека система за база от данни, която е много добре поддържана. ([http://www.php.net/manual/en/pdo.installation.php Как се компилира PHP с поддръжка на SQLite], използва PDO)',
        'config-support-oracle' => '* $1 е комерсиална корпоративна база от данни. ([http://www.php.net/manual/en/oci8.installation.php Как се компилира PHP с поддръжка на OCI8])',
-       'config-support-ibm_db2' => '* $1 е комерсиална фирмена база от данни.',
+       'config-support-ibm_db2' => '* $1 е комерсиална фирмена база от данни.', # Fuzzy
        'config-header-mysql' => 'Настройки за MySQL',
        'config-header-postgres' => 'Настройки за PostgreSQL',
        'config-header-sqlite' => 'Настройки за SQLite',
@@ -2080,7 +2084,7 @@ chmod a+w $3</pre>',
 
 Вече е възможно [$1 да използвате уикито].',
        'config-regenerate' => 'Създаване на LocalSettings.php →',
-       'config-show-table-status' => 'Заявката SHOW TABLE STATUS не сполучи!',
+       'config-show-table-status' => 'Заявката <code>SHOW TABLE STATUS</code> не сполучи!',
        'config-unknown-collation' => "'''Предупреждение:''' Базата от данни използва неразпозната колация.",
        'config-db-web-account' => 'Сметка за уеб достъп до базата от данни',
        'config-db-web-help' => 'Избиране на потребителско име и парола, които уеб сървърът ще използва да се свързва с базата от данни при обичайната работа на уикито.',
@@ -2151,7 +2155,7 @@ chmod a+w $3</pre>',
        'config-optional-continue' => 'Задаване на допълнителни въпроси.',
        'config-optional-skip' => 'Достатъчно, инсталиране на уикито.',
        'config-profile' => 'Профил на потребителските права:',
-       'config-profile-wiki' => 'Традиционно уики',
+       'config-profile-wiki' => 'Традиционно уики', # Fuzzy
        'config-profile-no-anon' => 'Необходимо е създаване на сметка',
        'config-profile-fishbowl' => 'Само одобрени редактори',
        'config-profile-private' => 'Затворено уики',
@@ -2167,7 +2171,7 @@ chmod a+w $3</pre>',
 Уики, което е '''{{int:config-profile-fishbowl}}''' позволява на всички да преглеждат страниците, но само предварително одобрени редактори могат да редактират съдържанието.
 В '''{{int:config-profile-private}}''' само предварително одобрени потребители могат да четат и редактират съдържанието.
 
-Детайлно обяснение на конфигурациите на потребителските права е достъпно след инсталацията в [//www.mediawiki.org/wiki/Manual:User_rights Наръчника за потребителски права].",
+Детайлно обяснение на конфигурациите на потребителските права е достъпно след инсталацията в [//www.mediawiki.org/wiki/Manual:User_rights Наръчника за потребителски права].", # Fuzzy
        'config-license' => 'Авторски права и лиценз:',
        'config-license-none' => 'Без лиценз',
        'config-license-cc-by-sa' => 'Криейтив Комънс Признание-Споделяне на споделеното',
@@ -2251,7 +2255,7 @@ chmod a+w $3</pre>',
        'config-install-alreadydone' => "'''Предупреждение:''' Изглежда вече сте инсталирали МедияУики и се опитвате да го инсталирате отново.
 Продължете към следващата страница.",
        'config-install-begin' => 'Инсталацията на МедияУики ще започне след натискане на бутона "{{int:config-continue}}".
-Ако желаете да направите промени, натиснете Връщане.',
+Ако желаете да направите промени, натиснете Връщане.', # Fuzzy
        'config-install-step-done' => 'готово',
        'config-install-step-failed' => 'неуспешно',
        'config-install-extensions' => 'Добавяне на разширенията',
@@ -2315,7 +2319,7 @@ $3
 == Първи стъпки ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Конфигурационни настройки]
 * [//www.mediawiki.org/wiki/Manual:FAQ ЧЗВ за МедияУики]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Пощенски списък относно нови версии на МедияУики]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Пощенски списък относно нови версии на МедияУики]', # Fuzzy
 );
 
 /** Banjar (Bahasa Banjar)
@@ -2465,6 +2469,7 @@ $messages['bpy'] = array(
  * @author Fulup
  * @author Gwendal
  * @author Y-M D
+ * @author 아라
  */
 $messages['br'] = array(
        'config-desc' => 'Poellad staliañ MediaWIki',
@@ -2472,19 +2477,19 @@ $messages['br'] = array(
        'config-information' => 'Titouroù',
        'config-localsettings-upgrade' => 'Kavet ez eus bet ur restr <code>LocalSettings.php</code>.
 Evit hizivaat ar staliadur-se, merkit an talvoud <code>$wgUpgradeKey</code> er voest dindan.
-E gavout a rit e LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Dinoet ez eus bet ur restr LocalSettings.php.
-Evit lakaat ar staliadur-mañ a-live, implijit update.php e plas',
+E gavout a rit e <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Dinoet ez eus bet ur restr <code>LocalSettings.php</code>.
+Evit lakaat ar staliadur-mañ a-live, implijit <code>update.php</code> e plas',
        'config-localsettings-key' => "Alc'hwez hizivaat :",
        'config-localsettings-badkey' => "Direizh eo an alc'hwez merket ganeoc'h",
        'config-upgrade-key-missing' => 'Kavet ez eus bet ur staliadur kent eus MediaWiki.
-Evit hizivaat ar staliadur-se, ouzhpennit al linenn da-heul e traoñ ho restr LocalSettings.php:
+Evit hizivaat ar staliadur-se, ouzhpennit al linenn da-heul e traoñ ho restr <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => "Diglok e seblant bezañ ar restr LocalSettings.php zo anezhi dija.
+       'config-localsettings-incomplete' => "Diglok e seblant bezañ ar restr <code>LocalSettings.php</code> zo anezhi dija.
 An argemmenn $1 n'eo ket termenet.
-Kemmit LocalSettings.php evit ma vo termenet an argemmenn-se, ha klikit war « Kenderc'hel ».",
-       'config-localsettings-connection-error' => "C'hoarvezet ez eus ur fazi en ur gevreañ ouzh an diaz roadennoù oc'h implijout an arventennoù diferet e LocalSettings.php pe AdminSettings.php. Reizhit an arventennoù-se hag esaeit en-dro.
+Kemmit <code>LocalSettings.php</code> evit ma vo termenet an argemmenn-se, ha klikit war « {{int:Config-continue}} ».",
+       'config-localsettings-connection-error' => "C'hoarvezet ez eus ur fazi en ur gevreañ ouzh an diaz roadennoù oc'h implijout an arventennoù diferet e <code>LocalSettings.php</code> pe <code>AdminSettings.php</code>. Reizhit an arventennoù-se hag esaeit en-dro.
 
 $1",
        'config-session-error' => "Fazi e-ser loc'hañ an dalc'h : $1",
@@ -2663,7 +2668,7 @@ Ma ne welit ket amañ dindan ar reizhiad diaz titouroù a fell deoc'h ober ganti
        'config-support-postgres' => "* Ur reizhiad diaz titouroù brudet ha digor eo $1. Gallout a ra ober evit MySQL ([http://www.php.net/manual/en/pgsql.installation.php Penaos kempunañ PHP gant skor PostgreSQL]). Gallout a ra bezañ un nebeud drein bihan enni ha n'eo ket erbedet he implijout en un endro produiñ.",
        'config-support-sqlite' => "* $1 zo ur reizhiad diaz titouroù skañv skoret eus ar c'hentañ. ([http://www.php.net/manual/en/pdo.installation.php Penaos kempunañ PHP gant skor SQLite], implijout a ra PDO)",
        'config-support-oracle' => '* $1 zo un diaz titouroù kenwerzhel. ([http://www.php.net/manual/en/oci8.installation.php Penaos kempunañ PHP gant skor OCI8])',
-       'config-support-ibm_db2' => '* Un diaz titouroù evit embregerezhioù kenwerzhel eo $1.',
+       'config-support-ibm_db2' => '* Un diaz titouroù evit embregerezhioù kenwerzhel eo $1.', # Fuzzy
        'config-header-mysql' => 'Arventennoù MySQL',
        'config-header-postgres' => 'Arventennoù PostgreSQL',
        'config-header-sqlite' => 'Arventennoù SQLite',
@@ -2706,7 +2711,7 @@ Da hizivaat anezho da VediaWiki $1, klikañ war '''Kenderc'hel'''.",
 
 Gallout a rit [$1 kregiñ da implijout ho wiki].',
        'config-regenerate' => 'Adgenel LocalSettings.php →',
-       'config-show-table-status' => "C'hwitet ar reked SHOW TABLE STATUS !",
+       'config-show-table-status' => "C'hwitet ar reked <code>SHOW TABLE STATUS</code> !",
        'config-unknown-collation' => "'''Diwallit :''' Emañ an diaz roadennoù o renkañ an traoù diouzh un urzh lizherennek dianav.",
        'config-db-web-account' => 'Kont an diaz roadennoù evit ar voned Kenrouedad',
        'config-db-web-help' => 'Diuzañ an anv implijer hag ar ger-tremen a vo implijet gant ar servijer web evit kevreañ ouzh ar servijer diaz roadennoù pa vez ar wiki o vont en-dro war ar pemdez.',
@@ -2753,7 +2758,7 @@ Gellout a rit tremen ar c'hefluniadur nevez ha staliañ ar wiki war-eeun.",
        'config-optional-continue' => "Sevel muioc'h a goulennoù ouzhin.",
        'config-optional-skip' => 'Aet on skuizh, staliañ ar wiki hepken.',
        'config-profile' => 'Profil ar gwirioù implijer :',
-       'config-profile-wiki' => 'Wiki hengounel',
+       'config-profile-wiki' => 'Wiki hengounel', # Fuzzy
        'config-profile-no-anon' => 'Krouidigezh ur gont ret',
        'config-profile-fishbowl' => 'Embanner aotreet hepken',
        'config-profile-private' => 'Wiki prevez',
@@ -2810,7 +2815,7 @@ Marteze e vo ezhomm kefluniañ pelloc'h met gallout a rit o gweredekaat bremañ.
        'config-install-alreadydone' => "'''Diwallit''': Staliet hoc'h eus MediaWiki dija war a seblant hag emaoc'h o klask e staliañ c'hoazh.
 Kit d'ar bajenn war-lerc'h, mar plij.",
        'config-install-begin' => 'Pa vo bet pouezet ganeoc\'h war "{{int:config-continue}}"  e krogo staliadur MediaWiki.
-Pouezit war Kent mar fell deoc\'h cheñch tra pe dra.',
+Pouezit war Kent mar fell deoc\'h cheñch tra pe dra.', # Fuzzy
        'config-install-step-done' => 'graet',
        'config-install-step-failed' => "c'hwitet",
        'config-install-extensions' => 'En ur gontañ an astennoù',
@@ -2847,7 +2852,7 @@ Gwiriit hag-eñ e c'hall an implijer « $1 » skrivañ er brastres « $2 ».",
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Bosnian (bosanski)
@@ -2859,7 +2864,7 @@ $messages['bs'] = array(
        'config-information' => 'Informacija',
        'config-localsettings-upgrade' => 'Otkrivena je datoteka <code>LocalSettings.php</code>.
 Da biste unaprijedili vaš softver, molimo vas upišite vrijednost od <code>$wgUpgradeKey</code> u okvir ispod.
-Naći ćete ga u LocalSettings.php.',
+Naći ćete ga u <code>LocalSettings.php</code>.',
        'config-localsettings-key' => 'Ključ za nadgradnju:',
        'config-session-error' => 'Greška pri pokretanju sesije: $1',
        'config-no-session' => 'Vaši podaci sesije su izgubljeni!
@@ -2932,7 +2937,7 @@ Ovo '''nije preporučeno''' osim ako nemate problema s vašom wiki.",
 == Početak ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista postavki]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki najčešće postavljana pitanja]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista E-Mail adresa MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista E-Mail adresa MediaWiki]', # Fuzzy
 );
 
 /** Catalan (català)
@@ -3033,25 +3038,26 @@ $messages['crh-latn'] = array(
 /** Czech (česky)
  * @author Danny B.
  * @author Mormegil
+ * @author 아라
  */
 $messages['cs'] = array(
        'config-desc' => 'Instalační program pro MediaWiki',
        'config-title' => 'Instalace MediaWiki $1',
        'config-information' => 'Informace',
        'config-localsettings-upgrade' => 'Byl nalezen soubor <code>LocalSettings.php</code>.
-Pokud chcete stávající instalaci aktualizovat, zadejte hodnotu <code>$wgUpgradeKey</code>, kterou naleznete v souboru LocalSettings.php, do následujícího rámečku.',
-       'config-localsettings-cli-upgrade' => 'Byl detekován soubor <code>LocalSettings.php</code>
+Pokud chcete stávající instalaci aktualizovat, zadejte hodnotu <code>$wgUpgradeKey</code>, kterou naleznete v souboru <code>LocalSettings.php</code>, do následujícího rámečku.',
+       'config-localsettings-cli-upgrade' => 'Byl detekován soubor <code><code>LocalSettings.php</code></code>
 Pro aktualizaci spusťte místo instalace skript <code>update.php</code>.',
        'config-localsettings-key' => 'Klíč pro aktualizaci:',
        'config-localsettings-badkey' => 'Zadaný klíč je nesprávný.',
        'config-upgrade-key-missing' => 'Byla detekována existující instalace MediaWiki.
-Pokud ji chcete aktualizovat, přidejte následující řádku na konec souboru LocalSettings.php:
+Pokud ji chcete aktualizovat, přidejte následující řádku na konec souboru <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'Existující soubor LocalSettings.php vypadá neúplný.
+       'config-localsettings-incomplete' => 'Existující soubor <code>LocalSettings.php</code> vypadá neúplný.
 Není nastavena proměnná $1.
-Upravte soubor LocalSettings.php tak, aby tuto proměnnou obsahoval, a klikněte na „Pokračovat“.',
-       'config-localsettings-connection-error' => 'Při připojování k databázi s využitím nastavení uvedených v LocalSettings.php nebo AdminSettings.php došlo k chybě. Opravte tato nastavení a zkuste to znovu.
+Upravte soubor <code>LocalSettings.php</code> tak, aby tuto proměnnou obsahoval, a klikněte na „{{int:Config-continue}}“.',
+       'config-localsettings-connection-error' => 'Při připojování k databázi s využitím nastavení uvedených v <code>LocalSettings.php</code> nebo <code>AdminSettings.php</code> došlo k chybě. Opravte tato nastavení a zkuste to znovu.
 
 $1',
        'config-session-error' => 'Nepodařilo se inicializovat relaci: $1',
@@ -3269,7 +3275,7 @@ Pokud v nabídce níže nevidíte databázový systém, který chcete použít,
        'config-support-postgres' => '* $1 je populární open-source databázový systém používaný jako alternativa k MySQL ([http://www.php.net/manual/en/pgsql.installation.php jak přeložit PHP s podporou PostgreSQL]). Mohou se vyskytnout ještě nějaké menší chyby, použití v produkčním prostředí se nedoporučuje.',
        'config-support-sqlite' => '* $1 je velmi dobře podporovaný lehký databázový systém. ([http://www.php.net/manual/en/pdo.installation.php Jak přeložit PHP s podporou SQLite], používá PDO)',
        'config-support-oracle' => '* $1 je komerční podniková databáze. ([http://www.php.net/manual/en/oci8.installation.php Jak přeložit PHP s podporou OCI8])',
-       'config-support-ibm_db2' => '* $1 je komerční podniková databáze.',
+       'config-support-ibm_db2' => '* $1 je komerční podniková databáze.', # Fuzzy
        'config-header-mysql' => 'Nastavení MySQL',
        'config-header-postgres' => 'Nastavení PostgreSQL',
        'config-header-sqlite' => 'Nastavení SQLite',
@@ -3337,7 +3343,7 @@ To se ale '''nedoporučuje''', pokud s wiki nemáte problémy.",
 
 Svou wiki teď můžete [$1 začít používat].',
        'config-regenerate' => 'Přegenerovat LocalSettings.php →',
-       'config-show-table-status' => 'Dotaz SHOW TABLE STATUS se nezdařil!',
+       'config-show-table-status' => 'Dotaz <code>SHOW TABLE STATUS</code> se nezdařil!',
        'config-unknown-collation' => "'''Upozornění:''' Databáze používá nerozpoznané řazení.",
        'config-db-web-account' => 'Databázový účet pro webový přístup',
        'config-db-web-help' => 'Zvolte uživatelské jméno a heslo, které bude webový server používat pro připojení k databázovému serveru při běžném provozu wiki.',
@@ -3409,7 +3415,7 @@ Zbývající konfiguraci už můžete přeskočit a nainstalovat wiki hned teď.
        'config-optional-continue' => 'Ptejte se mě dál.',
        'config-optional-skip' => 'Už mě to nudí, prostě nainstalujte wiki.',
        'config-profile' => 'Profil uživatelských práv:',
-       'config-profile-wiki' => 'Tradiční wiki',
+       'config-profile-wiki' => 'Tradiční wiki', # Fuzzy
        'config-profile-no-anon' => 'Vyžadována registrace uživatelů',
        'config-profile-fishbowl' => 'Editace jen pro vybrané',
        'config-profile-private' => 'Soukromá wiki',
@@ -3425,7 +3431,7 @@ Na wiki, kde je '''{{int:config-profile-no-anon}}''', se lépe řídí zodpověd
 Profil '''{{int:config-profile-fishbowl}}''' umožňuje schváleným uživatelům editovat, ale veřejnost si může stránky prohlížet včetně jejich historie.
 '''{{int:config-profile-private}}''' dovoluje stránky prohlížet jen schváleným uživatelům, kteří je i mohou editovat.
 
-Po instalaci je možná komplexní konfigurace uživatelských práv; vizte [//www.mediawiki.org/wiki/Manual:User_rights odpovídající stránku příručky].",
+Po instalaci je možná komplexní konfigurace uživatelských práv; vizte [//www.mediawiki.org/wiki/Manual:User_rights odpovídající stránku příručky].", # Fuzzy
        'config-license' => 'Autorská práva a licence:',
        'config-license-none' => 'Bez patičky s licencí',
        'config-license-cc-by-sa' => 'Creative Commons Uveďte autora-Zachovejte licenci',
@@ -3510,7 +3516,7 @@ Mohou vyžadovat dodatečnou konfiguraci, ale teď je můžete povolit.',
        'config-install-alreadydone' => "'''Upozornění:''' Vypadá to, že jste MediaWiki již nainstalovali a teď se o to pokoušíte znovu.
 Pokračujte na další stránku.",
        'config-install-begin' => 'Stisknutím „{{int:config-continue}}“ spustíte instalaci MediaWiki.
-Pokud ještě chcete udělat nějaké změny, stiskněte tlačítko zpět.',
+Pokud ještě chcete udělat nějaké změny, stiskněte tlačítko zpět.', # Fuzzy
        'config-install-step-done' => 'hotovo',
        'config-install-step-failed' => 'selhaly',
        'config-install-extensions' => 'Vkládají se rozšíření',
@@ -3576,7 +3582,7 @@ Až to dokončíte, můžete '''[$2 vstoupit do své wiki]'''.",
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Nastavení konfigurace]
 * [//www.mediawiki.org/wiki/Manual:FAQ Často kladené otázky o MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-mailová konference oznámení MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-mailová konference oznámení MediaWiki]', # Fuzzy
 );
 
 /** Kashubian (kaszëbsczi)
@@ -3632,6 +3638,7 @@ $messages['da'] = array(
  * @author Rillke
  * @author The Evil IP address
  * @author Umherirrender
+ * @author 아라
  */
 $messages['de'] = array(
        'config-desc' => 'Das MediaWiki-Installationsprogramm',
@@ -3639,19 +3646,19 @@ $messages['de'] = array(
        'config-information' => 'Informationen',
        'config-localsettings-upgrade' => 'Eine Datei <code>LocalSettings.php</code> wurde gefunden.
 Um die vorhandene Installation aktualisieren zu können, muss der Wert des Parameters <code>$wgUpgradeKey</code> im folgenden Eingabefeld angegeben werden.
-Der Parameterwert befindet sich in der Datei LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Eine Datei <code>LocalSettings.php</code> wurde gefunden.
+Der Parameterwert befindet sich in der Datei <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Eine Datei <code><code>LocalSettings.php</code></code> wurde gefunden.
 Um die vorhandene Installation zu aktualisieren, muss die Datei <code>update.php</code> ausgeführt werden.',
        'config-localsettings-key' => 'Aktualisierungsschlüssel:',
        'config-localsettings-badkey' => 'Der angegebene Aktualisierungsschlüssel ist falsch.',
        'config-upgrade-key-missing' => 'Eine MediaWiki-Installation wurde gefunden.
-Um die vorhandene Installation aktualisieren zu können, muss die unten angegebene Codezeile in die Datei LocalSettings.php an deren Ende eingefügt werden:
+Um die vorhandene Installation aktualisieren zu können, muss die unten angegebene Codezeile in die Datei <code>LocalSettings.php</code> an deren Ende eingefügt werden:
 
 $1',
-       'config-localsettings-incomplete' => 'Die vorhandene Datei LocalSettings.php scheint unvollständig zu sein.
+       'config-localsettings-incomplete' => 'Die vorhandene Datei <code>LocalSettings.php</code> scheint unvollständig zu sein.
 Die Variable <code>$1</code> wurde nicht definiert.
-Die Datei LocalSettings.php muss entsprechend geändert werden, so dass sie definiert ist. Klicke danach auf „Weiter“.',
-       'config-localsettings-connection-error' => 'Beim Verbindungsversuch zur Datenbank ist, unter Verwendung der in den Dateien LocalSettings.php oder AdminSettings.php hinterlegten Einstellungen, ein Fehler aufgetreten. Diese Einstellungen müssen korrigiert werden. Danach kann ein erneuter Versuch unternommen werden.
+Die Datei <code>LocalSettings.php</code> muss entsprechend geändert werden, so dass sie definiert ist. Klicke danach auf „{{int:Config-continue}}“.',
+       'config-localsettings-connection-error' => 'Beim Verbindungsversuch zur Datenbank ist, unter Verwendung der in den Dateien <code>LocalSettings.php</code> oder <code>AdminSettings.php</code> hinterlegten Einstellungen, ein Fehler aufgetreten. Diese Einstellungen müssen korrigiert werden. Danach kann ein erneuter Versuch unternommen werden.
 
 $1',
        'config-session-error' => 'Fehler beim Starten der Sitzung: $1',
@@ -3866,7 +3873,7 @@ Sofern nicht das Datenbanksystem angezeigt wird, das verwendet werden soll, gibt
        'config-support-postgres' => '* $1 ist ein beliebtes Open-Source-Datenbanksystem und eine Alternative zu MySQL ([http://www.php.net/manual/de/pgsql.installation.php Anleitung zur Kompilierung von PHP mit PostgreSQL-Unterstützung]). Es gibt allerdings einige kleinere Implementierungsfehler, so dass von der Nutzung in einer Produktivumgebung abgeraten wird.',
        'config-support-sqlite' => '* $1 ist ein verschlanktes Datenbanksystem, das auch gut unterstützt wird ([http://www.php.net/manual/de/pdo.installation.php Anleitung zur Kompilierung von PHP mit SQLite-Unterstützung], verwendet PHP Data Objects (PDO))',
        'config-support-oracle' => '* $1 ist eine kommerzielle Unternehmensdatenbank ([http://www.php.net/manual/en/oci8.installation.php Anleitung zur Kompilierung von PHP mit OCI8-Unterstützung (en)])',
-       'config-support-ibm_db2' => '* $1 ist eine kommerzielle Unternehmensdatenbank', # Fuzzy
+       'config-support-ibm_db2' => '* $1 ist eine kommerzielle Unternehmensdatenbank ([http://www.php.net/manual/en/ibm-db2.installation.php PHP mit IBM-DB2-Support kompilieren])',
        'config-header-mysql' => 'MySQL-Einstellungen',
        'config-header-postgres' => 'PostgreSQL-Einstellungen',
        'config-header-sqlite' => 'SQLite-Einstellungen',
@@ -3935,7 +3942,7 @@ Dies wird '''nicht empfohlen''', es sei denn, es treten Probleme mit dem Wiki au
 
 Das Wiki kann nun [$1 genutzt werden].',
        'config-regenerate' => 'LocalSettings.php neu erstellen →',
-       'config-show-table-status' => 'Die Abfrage SHOW TABLE STATUS ist gescheitert!',
+       'config-show-table-status' => 'Die Abfrage <code>SHOW TABLE STATUS</code> ist gescheitert!',
        'config-unknown-collation' => "'''Warnung:''' Die Datenbank nutzt eine unbekannte Kollation.",
        'config-db-web-account' => 'Datenbankkonto für den Webzugriff',
        'config-db-web-help' => 'Bitte Benutzernamen und Passwort auswählen, die der Webserver während des Normalbetriebes dazu verwenden soll, eine Verbindung zum Datenbankserver herzustellen.',
@@ -4321,7 +4328,7 @@ $messages['el'] = array(
        'config-invalid-db-type' => 'Μη έγκυρος τύπος βάσης δεδομένων',
        'config-mysql-utf8' => 'UTF-8',
        'config-site-name' => 'Όνομα του βίκι:',
-       'config-site-name-blank' => 'Εισάγετε όνομα ιστοχώρου.',
+       'config-site-name-blank' => 'Î\95ιÏ\83αγάγεÏ\84ε Ï\8cνομα Î¹Ï\83Ï\84οÏ\87Ï\8eÏ\81οÏ\85.',
        'config-project-namespace' => 'Περιοχή ονόματος εγχειρήματος:',
        'config-ns-generic' => 'Εγχείρημα',
        'config-ns-site-name' => 'Ίδιο με το όνομα του wiki: $1',
@@ -4383,6 +4390,7 @@ $messages['eo'] = array(
  * @author Sanbec
  * @author Translationista
  * @author Vivaelcelta
+ * @author 아라
  */
 $messages['es'] = array(
        'config-desc' => 'El instalador para MediaWiki',
@@ -4390,19 +4398,19 @@ $messages['es'] = array(
        'config-information' => 'Información',
        'config-localsettings-upgrade' => 'Se ha encontrado un archivo <code>LocalSettings.php</code>.
 Para actualizar esta instalación, por favor ingresa el valor de <code>$wgUpgradeKey</code> en el cuadro de abajo.
-Lo encontrarás en LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Se ha detectado un archivo LocalSettings.php.
-Para actualizar la instalación, vuelva a ejecutar update.php',
+Lo encontrarás en <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Se ha detectado un archivo <code>LocalSettings.php</code>.
+Para actualizar la instalación, vuelva a ejecutar <code>update.php</code>',
        'config-localsettings-key' => 'Clave de actualización:',
        'config-localsettings-badkey' => 'La clave proporcionada es incorrecta.',
        'config-upgrade-key-missing' => 'Se ha detectado una instalación existente de MediaWiki.
-Para actualizar la instalación, por favor, ponga la siguiente línea al final de su archivo LocalSettings.php:
+Para actualizar la instalación, por favor, ponga la siguiente línea al final de su archivo <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'El archivo LocalSettings.php existente parece estar incompleto.
+       'config-localsettings-incomplete' => 'El archivo <code>LocalSettings.php</code> existente parece estar incompleto.
 La variable $1 no está definida.
-Cambie el archivo LocalSettings.php para que esta variable quede establecida y haga clic en "Continuar".',
-       'config-localsettings-connection-error' => 'Se detectó un error al conectarse a la base de datos utilizando la configuración especificada en los archivos LocalSettings.php o AdminSettings.php. Corrija estas opciones y vuelva a intentarlo.
+Cambie el archivo <code>LocalSettings.php</code> para que esta variable quede establecida y haga clic en "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Se detectó un error al conectarse a la base de datos utilizando la configuración especificada en los archivos <code>LocalSettings.php</code> o <code>AdminSettings.php</code>. Corrija estas opciones y vuelva a intentarlo.
 
 $1',
        'config-session-error' => 'Error comenzando sesión: $1',
@@ -4685,7 +4693,7 @@ Esto '''no se recomienda''' a menos que esté teniendo problemas con su wiki.",
 
 Usted puede ahora [$1  empezar a usar su wiki].',
        'config-regenerate' => 'Regenerar LocalSettings.php →',
-       'config-show-table-status' => 'SHOW TABLE STATUS ha fallado!',
+       'config-show-table-status' => '<code>SHOW TABLE STATUS</code> ha fallado!',
        'config-unknown-collation' => "'''Advertencia:''' La base de datos está utilizando una intercalación no reconocida.",
        'config-db-web-account' => 'Cuenta de base de datos para acceso Web',
        'config-db-web-help' => 'Elige el usuario y contraseña que el servidor Web usará para conectarse al servidor de la base de datos durante el fincionamiento normal del wiki.',
@@ -5201,6 +5209,7 @@ $messages['fa'] = array(
  * @author Olli
  * @author Str4nd
  * @author VezonThunder
+ * @author 아라
  */
 $messages['fi'] = array(
        'config-desc' => 'MediaWiki-asennin',
@@ -5208,19 +5217,19 @@ $messages['fi'] = array(
        'config-information' => 'Tiedot',
        'config-localsettings-upgrade' => '<code>LocalSettings.php</code>-tiedosto havaittiin.
 Kirjoita muuttujan <code>$wgUpgradeKey</code> arvo alla olevaan kenttään päivittääksesi asennuksen.
-Löydät sen LocalSettings.php-tiedostosta.',
-       'config-localsettings-cli-upgrade' => 'LocalSettings.php-tiedosto havaittiin.
-Päivitä asennus suorittamalla update.php.',
+Löydät sen <code>LocalSettings.php</code>-tiedostosta.',
+       'config-localsettings-cli-upgrade' => '<code>LocalSettings.php</code>-tiedosto havaittiin.
+Päivitä asennus suorittamalla <code>update.php</code>.',
        'config-localsettings-key' => 'Päivitysavain',
        'config-localsettings-badkey' => 'Antamasi avain on virheellinen.',
        'config-upgrade-key-missing' => 'Havaittiin aiempi MediaWiki-asennus.
-Päivittääksesi tämän asennuksen lisää LocalSettings.php-tiedostosi loppuun seuraava rivi:
+Päivittääksesi tämän asennuksen lisää <code>LocalSettings.php</code>-tiedostosi loppuun seuraava rivi:
 
 $1',
-       'config-localsettings-incomplete' => 'Nykyinen LocalSettings.php-tiedosto näyttää olevan puutteellinen.
+       'config-localsettings-incomplete' => 'Nykyinen <code>LocalSettings.php</code>-tiedosto näyttää olevan puutteellinen.
 Muuttujaa $1 ei ole asetettu.
-Muuta LocalSettings.php-tiedostoa siten, että muuttuja on asetettu ja napsauta »Jatka».',
-       'config-localsettings-connection-error' => 'Virhe yhdistettäessä tietokantaan käyttäen tiedostossa LocalSettings.php tai AdminSettings.php määritettyjä asetuksia. Korjaa asetukset ja yritä uudelleen.
+Muuta <code>LocalSettings.php</code>-tiedostoa siten, että muuttuja on asetettu ja napsauta »{{int:Config-continue}}».',
+       'config-localsettings-connection-error' => 'Virhe yhdistettäessä tietokantaan käyttäen tiedostossa <code>LocalSettings.php</code> tai <code>AdminSettings.php</code> määritettyjä asetuksia. Korjaa asetukset ja yritä uudelleen.
 
 $1',
        'config-session-error' => 'Istunnon aloittaminen epäonnistui: $1',
@@ -5332,7 +5341,7 @@ Tämä '''ei ole suositeltavaa''', jos wikissäsi ei ole ongelmia.",
 
 Voit [$1 aloittaa wikin käytön].',
        'config-regenerate' => 'Luo LocalSettings.php uudelleen →',
-       'config-show-table-status' => 'Kysely SHOW TABLE STATUS epäonnistui!',
+       'config-show-table-status' => 'Kysely <code>SHOW TABLE STATUS</code> epäonnistui!',
        'config-mysql-engine' => 'Tallennusmoottori',
        'config-mysql-innodb' => 'InnoDB',
        'config-mysql-myisam' => 'MyISAM',
@@ -5410,6 +5419,7 @@ $messages['fo'] = array(
  * @author Verdy p
  * @author Wyz
  * @author Yumeki
+ * @author 아라
  */
 $messages['fr'] = array(
        'config-desc' => 'Le programme d’installation de MediaWiki',
@@ -5417,20 +5427,20 @@ $messages['fr'] = array(
        'config-information' => 'Informations',
        'config-localsettings-upgrade' => 'Un fichier <code>LocalSettings.php</code> a été détecté.
 Pour mettre à jour cette installation, veuillez saisir la valeur de <code>$wgUpgradeKey</code> dans le champ ci-dessous.
-Vous la trouverez dans LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Un fichier LocalSettings.php a été détecté.
-Pour mettre à niveau cette installation, veuillez exécuter update.php',
+Vous la trouverez dans <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Un fichier <code>LocalSettings.php</code> a été détecté.
+Pour mettre à niveau cette installation, veuillez exécuter <code>update.php</code>',
        'config-localsettings-key' => 'Clé de mise à jour :',
        'config-localsettings-badkey' => 'La clé que vous avez fournie est incorrecte',
        'config-upgrade-key-missing' => 'Une installation existante de MediaWiki a été détectée.
 
-Pour mettre à jour cette installation, veuillez ajouter la ligne suivante à la fin de votre fichier LocalSettings.php
+Pour mettre à jour cette installation, veuillez ajouter la ligne suivante à la fin de votre fichier <code>LocalSettings.php</code>
 
 $1',
-       'config-localsettings-incomplete' => 'Le fichier LocalSettings.php existant semble être incomplet.
+       'config-localsettings-incomplete' => 'Le fichier <code>LocalSettings.php</code> existant semble être incomplet.
 La variable $1 n’est pas définie.
-Veuillez modifier LocalSettings.php de sorte que cette variable soit définie, puis cliquer sur « Continuer ».',
-       'config-localsettings-connection-error' => 'Une erreur est survenue lors de la connexion à la base de données en utilisant la configuration spécifiée dans LocalSettings.php ou AdminSettings.php. Veuillez corriger cette configuration puis réessayer.
+Veuillez modifier <code>LocalSettings.php</code> de sorte que cette variable soit définie, puis cliquer sur « {{int:Config-continue}} ».',
+       'config-localsettings-connection-error' => 'Une erreur est survenue lors de la connexion à la base de données en utilisant la configuration spécifiée dans <code>LocalSettings.php</code> ou <code>AdminSettings.php</code>. Veuillez corriger cette configuration puis réessayer.
 
 $1',
        'config-session-error' => 'Erreur lors du démarrage de la session : $1',
@@ -5712,7 +5722,7 @@ Ce '''n'est pas recommandé''' sauf si vous rencontrez des problèmes avec votre
 
 Vous pouvez maintenant [$1 commencer à utiliser votre wiki].',
        'config-regenerate' => 'Regénérer LocalSettings.php →',
-       'config-show-table-status' => 'Échec de la requête SHOW TABLE STATUS !',
+       'config-show-table-status' => 'Échec de la requête <code>SHOW TABLE STATUS</code> !',
        'config-unknown-collation' => "'''Attention:''' La base de données effectue un classement alphabétique (''collation'') inconnu.",
        'config-db-web-account' => "Compte de la base de données pour l'accès Web",
        'config-db-web-help' => "Sélectionnez le nom d'utilisateur et le mot de passe que le serveur web utilisera pour se connecter au serveur de base de données pendant le fonctionnement habituel du wiki.",
@@ -6029,7 +6039,7 @@ Portant, MediaWiki at fôta de PHP $2 ou ben ples hôt.',
        'config-missing-db-server-oracle' => 'Vos dête buchiér una valor por « TNS de la bâsa de balyês »',
        'config-sqlite-readonly' => 'Lo fichiér <code>$1</code> est pas accèssiblo en ècritura.',
        'config-regenerate' => 'Refâre LocalSettings.php →',
-       'config-show-table-status' => 'Falyita de la requéta SHOW TABLE STATUS !',
+       'config-show-table-status' => 'Falyita de la requéta <code>SHOW TABLE STATUS</code> !',
        'config-db-web-account' => 'Compto de la bâsa de balyês por l’accès vouèbe',
        'config-db-web-account-same' => 'Utilisâd lo mémo compto que por l’enstalacion',
        'config-db-web-create' => 'Féte lo compto s’ègziste p’oncor',
@@ -6055,7 +6065,7 @@ Portant, MediaWiki at fôta de PHP $2 ou ben ples hôt.',
        'config-admin-email' => 'Adrèce èlèctronica :',
        'config-optional-continue' => 'Mè posar més de quèstions.',
        'config-profile' => 'Profil des drêts d’usanciér :',
-       'config-profile-wiki' => 'Vouiqui tradicionâl',
+       'config-profile-wiki' => 'Vouiqui tradicionâl', # Fuzzy
        'config-profile-no-anon' => 'Crèacion de compto nècèssèra',
        'config-profile-fishbowl' => 'Solament los èditors ôtorisâs',
        'config-profile-private' => 'Vouiqui privâ',
@@ -6116,7 +6126,7 @@ Portant, MediaWiki at fôta de PHP $2 ou ben ples hôt.',
 == Emmodar avouéc MediaWiki ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista des paramètres de configuracion]
 * [//www.mediawiki.org/wiki/Manual:FAQ/fr FDQ sur MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discussion sur les distribucions de MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discussion sur les distribucions de MediaWiki]', # Fuzzy
 );
 
 /** Northern Frisian (Nordfriisk)
@@ -6221,6 +6231,7 @@ $messages['gd'] = array(
 /** Galician (galego)
  * @author Elisardojm
  * @author Toliño
+ * @author 아라
  */
 $messages['gl'] = array(
        'config-desc' => 'O programa de instalación de MediaWiki',
@@ -6228,19 +6239,19 @@ $messages['gl'] = array(
        'config-information' => 'Información',
        'config-localsettings-upgrade' => 'Detectouse un ficheiro <code>LocalSettings.php</code>.
 Para actualizar esta instalación, introduza o valor de <code>$wgUpgradeKey</code> na caixa.
-Pode atopalo en LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Detectouse un ficheiro LocalSettings.php.
-Para actualizar esta instalación, execute update.php',
+Pode atopalo en <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Detectouse un ficheiro <code>LocalSettings.php</code>.
+Para actualizar esta instalación, execute <code>update.php</code>',
        'config-localsettings-key' => 'Clave de actualización:',
        'config-localsettings-badkey' => 'A clave dada é incorrecta',
        'config-upgrade-key-missing' => 'Detectouse unha instalación existente de MediaWiki.
-Para actualizar esta instalación, inclúa esta liña ao final do ficheiro LocalSettings.php:
+Para actualizar esta instalación, inclúa esta liña ao final do ficheiro <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'Semella que o ficheiro LocalSettings.php existente está incompleto.
+       'config-localsettings-incomplete' => 'Semella que o ficheiro <code>LocalSettings.php</code> existente está incompleto.
 A variable $1 non está establecida.
-Modifique o ficheiro LocalSettings.php de xeito que a variable quede establecida e prema en "Continuar".',
-       'config-localsettings-connection-error' => 'Atopouse un erro ao conectar coa base de datos empregando a configuración especificada no ficheiro LocalSettings.php ou no ficheiro AdminSettings.php. Corrixa esta configuración e inténteo de novo.
+Modifique o ficheiro <code>LocalSettings.php</code> de xeito que a variable quede establecida e prema en "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Atopouse un erro ao conectar coa base de datos empregando a configuración especificada no ficheiro <code>LocalSettings.php</code> ou no ficheiro <code>AdminSettings.php</code>. Corrixa esta configuración e inténteo de novo.
 
 $1',
        'config-session-error' => 'Erro ao iniciar a sesión: $1',
@@ -6456,8 +6467,8 @@ Se non ve listado a continuación o sistema de base de datos que intenta usar, s
        'config-support-mysql' => '* $1 é o obxectivo principal para MediaWiki e está mellor soportado ([http://www.php.net/manual/en/mysql.installation.php como compilar o PHP con soporte MySQL])',
        'config-support-postgres' => '* $1 é un sistema de base de datos popular e de código aberto como alternativa a MySQL ([http://www.php.net/manual/en/pgsql.installation.php como compilar o PHP con soporte PostgreSQL]). É posible que haxa algúns pequenos erros e non se recomenda o seu uso nunha contorna de produción.',
        'config-support-sqlite' => '* $1 é un sistema de base de datos lixeiro moi ben soportado. ([http://www.php.net/manual/en/pdo.installation.php Como compilar o PHP con soporte SQLite], emprega PDO)',
-       'config-support-oracle' => '* $1 é un sistema comercial de xestión de base de datos de empresa. ([http://www.php.net/manual/en/oci8.installation.php Como compilar PHP con soporte OCI8])',
-       'config-support-ibm_db2' => '* $1 é unha base de datos de empresa comercial.', # Fuzzy
+       'config-support-oracle' => '* $1 é un sistema comercial de xestión de base de datos de empresa. ([http://www.php.net/manual/en/oci8.installation.php Como compilar PHP con soporte OCI8])',
+       'config-support-ibm_db2' => '* $1 é unha base de datos de empresa comercial. ([http://www.php.net/manual/en/ibm-db2.installation.php Como compilar o PHP con soporte IBM DB2])',
        'config-header-mysql' => 'Configuración do MySQL',
        'config-header-postgres' => 'Configuración do PostgreSQL',
        'config-header-sqlite' => 'Configuración do SQLite',
@@ -6525,7 +6536,7 @@ Isto '''non é recomendable''' a menos que estea a ter problemas co seu wiki.",
 
 Xa pode [$1 comezar a usar o seu wiki].',
        'config-regenerate' => 'Rexenerar LocalSettings.php →',
-       'config-show-table-status' => 'A pescuda SHOW TABLE STATUS fallou!',
+       'config-show-table-status' => 'A pescuda <code>SHOW TABLE STATUS</code> fallou!',
        'config-unknown-collation' => "'''Atención:''' A base de datos está a empregar unha clasificación alfabética irrecoñecible.",
        'config-db-web-account' => 'Conta na base de datos para o acceso á internet',
        'config-db-web-help' => 'Seleccione o nome de usuario e contrasinal que o servidor web empregará para se conectar ao servidor da base de datos durante o funcionamento normal do wiki.',
@@ -6798,7 +6809,7 @@ $messages['gsw'] = array(
        'config-information' => 'Information',
        'config-localsettings-upgrade' => "'''Warnig:''' E Datei <code>LocalSettings.php</code> isch gfunde wore.
 Fir d Aktualisierig vu dr däre Inschtallation, gib bitte dr Wärt vum Parameter <code>\$wgUpgradeKey</code> im Fäld unten yy.
-Du findsch dr Wärt in dr Datei LocalSettings.php.",
+Du findsch dr Wärt in dr Datei <code>LocalSettings.php</code>.",
        'config-localsettings-key' => 'Aktualisierigsschlissel:',
        'config-localsettings-badkey' => 'Dr Aktualisierigsschlissel, wu du aagee hesch, isch falsch.',
        'config-session-error' => 'Fähler bim Starte vu dr Sitzig: $1',
@@ -6897,7 +6908,7 @@ S Objäktcaching isch wäge däm nit aktiviert.",
 Miniaturaasichte vu Bilder sin megli, sobald s Uffelade vu Dateie aktiviert isch.',
        'config-help' => 'Hilf',
        'mainpagetext' => "'''MediaWiki isch erfolgrich inschtalliert worre.'''",
-       'mainpagedocfooter' => 'Lueg uf d [//meta.wikimedia.org/wiki/MediaWiki_localisation Dokumentation fir d Aapassig vu dr Benutzeroberflächi] un s [//meta.wikimedia.org/wiki/Help:Contents Benutzerhandbuech] fir d Hilf iber d Benutzig un s Yystelle.',
+       'mainpagedocfooter' => 'Lueg uf d [//meta.wikimedia.org/wiki/MediaWiki_localisation Dokumentation fir d Aapassig vu dr Benutzeroberflächi] un s [//meta.wikimedia.org/wiki/Help:Contents Benutzerhandbuech] fir d Hilf iber d Benutzig un s Yystelle.', # Fuzzy
 );
 
 /** Gujarati (ગુજરાતી)
@@ -6942,6 +6953,7 @@ $messages['haw'] = array(
  * @author Amire80
  * @author YaronSh
  * @author ערן
+ * @author 아라
  */
 $messages['he'] = array(
        'config-desc' => 'תכנית ההתקנה של מדיה־ויקי',
@@ -6949,19 +6961,19 @@ $messages['he'] = array(
        'config-information' => 'פרטים',
        'config-localsettings-upgrade' => 'זוהה קובץ <code>LocalSettings.php</code>.
 כדי לשדרג את ההתקנה הזאת, נא להקליד את הערך של <code>$wgUpgradeKey</code> בתיבה להלן.
-אפשר למצוא אותו בקובץ LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'זוהה קובץ LocalSettings.php.
-כדי לשדרג את ההתקנה הזאת, הריצו את update.php ולא את הקובץ הזה.',
+אפשר למצוא אותו בקובץ <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'זוהה קובץ <code>LocalSettings.php</code>.
+כדי לשדרג את ההתקנה הזאת, הריצו את <code>update.php</code> ולא את הקובץ הזה.',
        'config-localsettings-key' => 'מפתח השדרוג:',
        'config-localsettings-badkey' => 'המפתח שהקלדתם שגוי',
        'config-upgrade-key-missing' => 'זוהתה התקנה קיימת של מדיה־ויקי.
-כדי לשדרג את ההתקנה הזאת, אנא כתבו את השורה הבא בתחתית קובץ LocalSettings.php שלכם:
+כדי לשדרג את ההתקנה הזאת, אנא כתבו את השורה הבא בתחתית קובץ <code>LocalSettings.php</code> שלכם:
 
 $1',
-       'config-localsettings-incomplete' => 'נראה שקובץ LocalSettings.php הקיים אינו שלם.
+       'config-localsettings-incomplete' => 'נראה שקובץ <code>LocalSettings.php</code> הקיים אינו שלם.
 המשתנה $1 אינו מוגדר.
-נו לשנות את קובץ LocalSettings.php שלכם כך שהמשתנה הזה יהיה מוגדר וללחוץ "המשך".',
-       'config-localsettings-connection-error' => 'אירעה שגיאה בעת חיבור למסד נתונים עם הגדרות ב־LocalSettings.php או ב־AdminSettings.php. נא לתקן את ההגדרות האלו ולנסות שוב.
+נו לשנות את קובץ <code>LocalSettings.php</code> שלכם כך שהמשתנה הזה יהיה מוגדר וללחוץ "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'אירעה שגיאה בעת חיבור למסד נתונים עם הגדרות ב־<code>LocalSettings.php</code> או ב־<code>AdminSettings.php</code>. נא לתקן את ההגדרות האלו ולנסות שוב.
 
 $1',
        'config-session-error' => 'שגיאה באתחול שיחה: $1',
@@ -7174,7 +7186,7 @@ $1
        'config-support-postgres' => '$1 הוא מסד נתונים נפוץ בקוד פתוח והוא נפוץ בתור חלופה ל־MySQL (ר׳ [http://www.php.net/manual/en/pgsql.installation.php how to compile PHP with PostgreSQL support]). ייתכן שיש בתצורה הזאת באגים מסוימים והיא לא מומלצת לסביבות מבצעיות.',
        'config-support-sqlite' => '* $1 הוא מסד נתונים קליל עם תמיכה טובה מאוד. (ר׳ [http://www.php.net/manual/en/pdo.installation.php How to compile PHP with SQLite support], משתמש ב־PDO)',
        'config-support-oracle' => '* $1 הוא מסד נתונים עסקי מסחרי. (ר׳ [http://www.php.net/manual/en/oci8.installation.php How to compile PHP with OCI8 support])',
-       'config-support-ibm_db2' => '* $1 הוא מסד נתונים מסחרי ארגוני.',
+       'config-support-ibm_db2' => '* $1 הוא מסד נתונים מסחרי ארגוני.', # Fuzzy
        'config-header-mysql' => 'הגדרות MySQL',
        'config-header-postgres' => 'הגדרות PostgreSQL',
        'config-header-sqlite' => 'הגדרות SQLite',
@@ -7242,7 +7254,7 @@ chmod a+w $3</pre></div>',
 
 עכשיו אפשר [$1 להתחיל להשתמש בוויקי שלכם].',
        'config-regenerate' => 'לחולל מחדש את LocalSettings.php ←',
-       'config-show-table-status' => 'שאילתת SHOW TABLE STATUS נכשלה!',
+       'config-show-table-status' => 'שאילתת <code>SHOW TABLE STATUS</code> נכשלה!',
        'config-unknown-collation' => "'''אזהרה:''' מסד הנתונים משתמש בשיטת מיון שאינה מוּכּרת.",
        'config-db-web-account' => 'חשבון במסד הנתונים לגישה מהרשת',
        'config-db-web-help' => 'לבחור את שם המשתמש ואת הססמה ששרת הווב ישתמש בו להתחברות לשרת מסד הנתונים בזמן פעילות רגילה של הוויקי.',
@@ -7314,7 +7326,7 @@ chmod a+w $3</pre></div>',
        'config-optional-continue' => 'הצגת שאלות נוספות.',
        'config-optional-skip' => 'משעמם לי, תתקינו לי כבר את הוויקי הזה.',
        'config-profile' => 'תסריט הרשאות משתמשים:',
-       'config-profile-wiki' => 'ויקי מסורתי',
+       'config-profile-wiki' => 'ויקי מסורתי', # Fuzzy
        'config-profile-no-anon' => 'נדרשת יצירת חשבון',
        'config-profile-fishbowl' => 'עורכים מורשים בלבד',
        'config-profile-private' => 'ויקי פרטי',
@@ -7329,7 +7341,7 @@ chmod a+w $3</pre></div>',
 בתסריט '''{{int:config-profile-fishbowl}}''' רק משתמשים שקיבלו אישור יכולים לערוך, אבל כל הגולשים יכולים לקרוא את הדפים ואת גרסאותיהם הקודמות.
 ב'''{{int:config-profile-private}}''' רק משתמשים שקיבלו אישור יכולים לקרוא ולערוך דפים.
 
-הגדרות מורכבות של הרשאות אפשריות אחרי ההתקנה, ר׳ את [//www.mediawiki.org/wiki/Manual:User_rights הפרק על הנושא הזה בספר ההדרכה].",
+הגדרות מורכבות של הרשאות אפשריות אחרי ההתקנה, ר׳ את [//www.mediawiki.org/wiki/Manual:User_rights הפרק על הנושא הזה בספר ההדרכה].", # Fuzzy
        'config-license' => 'זכויות יוצרים ורישיון:',
        'config-license-none' => 'ללא כותרת תחתית עם רישיון',
        'config-license-cc-by-sa' => 'קריאייטיב קומונז–ייחוס–שיתוף זהה',
@@ -7414,7 +7426,7 @@ chmod a+w $3</pre></div>',
        'config-install-alreadydone' => "'''אזהרה:''' נראה שכבר התקנתם את מדיה־ויקי ואתם מנסים להתקין אותה שוב.
 אנה התקדמו לדף הבא.",
        'config-install-begin' => 'כשתלחצו על "{{int:config-continue}}", תתחילו את ההתקנה של מדיה־ויקי.
-אם אתם עדיין רוצים לשנות משהו, לחצו על "הקודם".',
+אם אתם עדיין רוצים לשנות משהו, לחצו על "הקודם".', # Fuzzy
        'config-install-step-done' => 'בוצע',
        'config-install-step-failed' => 'נכשל',
        'config-install-extensions' => 'כולל הרחבות',
@@ -7479,7 +7491,7 @@ $3
 == קישורים שימושיים ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings רשימת ההגדרות]
 * [//www.mediawiki.org/wiki/Manual:FAQ שאלות ותשובות על מדיה־ויקי]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce רשימת התפוצה על השקת גרסאות]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce רשימת התפוצה על השקת גרסאות]', # Fuzzy
 );
 
 /** Hindi (हिन्दी)
@@ -7530,6 +7542,7 @@ i [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Vodič za suradnike] za po
 
 /** Upper Sorbian (hornjoserbsce)
  * @author Michawiki
+ * @author 아라
  */
 $messages['hsb'] = array(
        'config-desc' => 'Instalaciski program za MediaWiki',
@@ -7537,19 +7550,19 @@ $messages['hsb'] = array(
        'config-information' => 'Informacije',
        'config-localsettings-upgrade' => 'Dataja <code>LocalSettings.php</code> je so wotkryła.
 Zo by tutu instalaciju aktualizował, zapodaj prošu hódnotu za parameter <code>$wgUpgradeKey</code> do slědowaceho pola.
-Namakaš tón parameter w dataji LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Dataja LocalSettings.php bu wotkryta.
-Zo by tutu instalaciju aktualizował, wuwjedźće update.php',
+Namakaš tón parameter w dataji <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Dataja <code>LocalSettings.php</code> bu wotkryta.
+Zo by tutu instalaciju aktualizował, wuwjedźće <code>update.php</code>',
        'config-localsettings-key' => 'Aktualizaciski kluč:',
        'config-localsettings-badkey' => 'Kluč, kotryž sy podał, je wopak',
        'config-upgrade-key-missing' => 'Eksistowaca instalacija MediaWiki je so wotkryła.
-Zo by tutu instalaciju aktualizował, staj prošu slědowacu linku deleka w dataji LocalSettings.php:
+Zo by tutu instalaciju aktualizował, staj prošu slědowacu linku deleka w dataji <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'Zda so, zo eksistwoaca dataja LocalSettings.php je njedospołna.
+       'config-localsettings-incomplete' => 'Zda so, zo eksistwoaca dataja <code>LocalSettings.php</code> je njedospołna.
 Wariabla $1 njeje nastajena.
-Prošu změń dataju LocalSettings.php, zo by so tuta wariabla nastajiła a klikń na "Dale".',
-       'config-localsettings-connection-error' => 'Při zwjazowanju z datowej banku z pomocu nastajenjow podatych w LocalSettings.php abo AdminSettings.php je zmylk wustupił. Prošu skoriguj tute nastajenja a spytaj hišće raz.
+Prošu změń dataju <code>LocalSettings.php</code>, zo by so tuta wariabla nastajiła a klikń na "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Při zwjazowanju z datowej banku z pomocu nastajenjow podatych w <code>LocalSettings.php</code> abo <code>AdminSettings.php</code> je zmylk wustupił. Prošu skoriguj tute nastajenja a spytaj hišće raz.
 
 $1',
        'config-session-error' => 'Zmylk při startowanju posedźenja: $1',
@@ -7677,7 +7690,7 @@ Změń ju jenož, jeli su přeswědčiwe přičiny za to.',
        'config-support-mysql' => '* $1 je primarny cil za MediaWiki a podpěruje so najlěpje ([http://www.php.net/manual/en/mysql.installation.php Nawod ke kompilowanju  PHP z  MySQL-podpěru])',
        'config-support-postgres' => '* $1 je popularny system datoweje banki zjawneho žórła jako alternatiwa k MySQL ([http://www.php.net/manual/en/pgsql.installation.php nawod za kompilowanje PHP z podpěru PostgreSQL]). Móhło hišće někotre zmylki eksistować, a njeporuča so jón w produktiwnej wokolinje wužiwać.',
        'config-support-oracle' => '* $1 je komercielna předewzaćelska datowa banka. ([http://www.php.net/manual/en/oci8.installation.php Nawod za kompilowanje PHP z OCI8-podpěru])',
-       'config-support-ibm_db2' => '* $1 je komercielna předewzaćelska datowa banka.',
+       'config-support-ibm_db2' => '* $1 je komercielna předewzaćelska datowa banka.', # Fuzzy
        'config-header-mysql' => 'Nastajenja MySQL',
        'config-header-postgres' => 'Nastajenja PostgreSQL',
        'config-header-sqlite' => 'Nastajenja SQLite',
@@ -7720,7 +7733,7 @@ Zo by je na MediaWiki $1 aktualizował, klikń na '''Dale'''.",
 
 Móžeš nětko [$1 swój wiki wužiwać].',
        'config-regenerate' => 'LocalSettings.php znowa wutworić →',
-       'config-show-table-status' => 'Naprašowanje SHOW TABLE STATUS je so njeporadźiło!',
+       'config-show-table-status' => 'Naprašowanje <code>SHOW TABLE STATUS</code> je so njeporadźiło!',
        'config-unknown-collation' => "'''Warnowanje:''' Datowa banka njeznatu kolaciju wužiwa.",
        'config-db-web-account' => 'Konto datoweje banki za webpřistup',
        'config-db-web-help' => 'wubjer wužiwarske mjeno a hesło, kotrejž webserwer budźe wužiwać, zo by z serwerom datoweje banki za wšědnu operaciju zwjazać',
@@ -7769,7 +7782,7 @@ Móžeš nětko zbytnu konfiguraciju přeskočić a wiki hnydom instalować.',
        'config-optional-continue' => 'Dalše prašenja?',
        'config-optional-skip' => 'Instaluj nětko wiki.',
        'config-profile' => 'Profil wužiwarskich prawow:',
-       'config-profile-wiki' => 'Tradicionelny wiki',
+       'config-profile-wiki' => 'Tradicionelny wiki', # Fuzzy
        'config-profile-no-anon' => 'Załoženje konto je trěbne',
        'config-profile-fishbowl' => 'Jenož awtorizowani wobdźěłarjo',
        'config-profile-private' => 'Priwatny wiki',
@@ -7827,7 +7840,7 @@ To móže sej přidatnu konfiguraciju wužadać, ale móžeš je nětko zmóžni
        'config-install-alreadydone' => "'''Warnowanje:''' Zda so, zo sy hižo MediaWiki instalował a pospytuješ jón znowa instalować.
 Prošu pokročuj z přichodnej stronu.",
        'config-install-begin' => 'Přez kliknjenje na "{{int:config-continue}}" budźe so instalacija MediaWiki startować.
-Jeli hišće chceš něšto změnić, klikń na "Wróćo".',
+Jeli hišće chceš něšto změnić, klikń na "Wróćo".', # Fuzzy
        'config-install-step-done' => 'dokónčene',
        'config-install-step-failed' => 'njeporadźiło',
        'config-install-extensions' => 'Inkluziwnje rozšěrjenja',
@@ -7873,7 +7886,7 @@ Standardna lisćina sp přeskakuje.",
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Wo nastajenjach]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]', # Fuzzy
 );
 
 /** Haitian (Kreyòl ayisyen)
@@ -7893,25 +7906,26 @@ $messages['ht'] = array(
 /** Hungarian (magyar)
  * @author Dani
  * @author Glanthor Reviol
+ * @author 아라
  */
 $messages['hu'] = array(
        'config-desc' => 'A MediaWiki telepítője',
        'config-title' => 'A MediaWiki $1 telepítése',
        'config-information' => 'Információ',
        'config-localsettings-upgrade' => 'Már létezik a <code>LocalSettings.php</code> fájl.
-A telepített szoftver frissítéséhez írd be az alábbi mezőbe a <code>$wgUpgradeKey</code> beállítás értékét, melyet a LocalSettings.php nevű fájlban találhatsz meg.',
-       'config-localsettings-cli-upgrade' => 'A LocalSettings.php fájl megtalálható.
-A telepített rendszer frissítéséhez futtasd az update.php-t.',
+A telepített szoftver frissítéséhez írd be az alábbi mezőbe a <code>$wgUpgradeKey</code> beállítás értékét, melyet a <code>LocalSettings.php</code> nevű fájlban találhatsz meg.',
+       'config-localsettings-cli-upgrade' => 'A <code>LocalSettings.php</code> fájl megtalálható.
+A telepített rendszer frissítéséhez futtasd az <code>update.php</code>-t.',
        'config-localsettings-key' => 'Frissítési kulcs:',
        'config-localsettings-badkey' => 'A megadott kulcs érvénytelen.',
        'config-upgrade-key-missing' => 'A telepítő a MediaWiki meglévő példányát észlelte.
-A telepített rendszer frissítéséhez helyezd el az alábbi sort a LocalSettings.php végére:
+A telepített rendszer frissítéséhez helyezd el az alábbi sort a <code>LocalSettings.php</code> végére:
 
 $1',
-       'config-localsettings-incomplete' => 'A meglévő LocalSettings.php hiányosnak tűnik.
+       'config-localsettings-incomplete' => 'A meglévő <code>LocalSettings.php</code> hiányosnak tűnik.
 A(z) $1 változó értéke nincs beállítva.
-Módosítsd a LocalSettings.php fájlt úgy, hogy ez a változó be legyen állítva, majd kattints a „Folytatás” gombra.',
-       'config-localsettings-connection-error' => 'Nem sikerült csatlakozni az adatbázishoz a LocalSettings.php-ben vagy az AdminSettings.php-ben megadott adatokkal. Ellenőrizd a beállításokat, majd próbáld újra.
+Módosítsd a <code>LocalSettings.php</code> fájlt úgy, hogy ez a változó be legyen állítva, majd kattints a „{{int:Config-continue}}” gombra.',
+       'config-localsettings-connection-error' => 'Nem sikerült csatlakozni az adatbázishoz a <code>LocalSettings.php</code>-ben vagy az <code>AdminSettings.php</code>-ben megadott adatokkal. Ellenőrizd a beállításokat, majd próbáld újra.
 
 $1',
        'config-session-error' => 'Nem sikerült elindítani a munkamenetet: $1',
@@ -8114,7 +8128,7 @@ Ha az alábbi listán nem találod azt a rendszert, melyet használni szeretnél
        'config-support-postgres' => '* A $1 népszerű, nyílt forráskódú adatbázisrendszer, a MySQL alternatívája ([http://www.php.net/manual/en/pgsql.installation.php Hogyan fordítható a PHP PostgreSQL-támogatással]). Több apró, javítatlan hiba is előfordulhat, így nem ajánlott éles környezetben használni.',
        'config-support-sqlite' => '* Az $1 egy könnyű, nagyon jól támogatott adatbázisrendszer. ([http://www.php.net/manual/en/pdo.installation.php Hogyan fordítható a PHP SQLite-támogatással], PDO-t használ)',
        'config-support-oracle' => '* Az $1 kereskedelmi, vállalati adatbázisrendszer. ([http://www.php.net/manual/en/oci8.installation.php Hogyan fordítható a PHP OCI8-támogatással])',
-       'config-support-ibm_db2' => '* Az $1 kereskedelmi vállalati adatbázisrendszer.',
+       'config-support-ibm_db2' => '* Az $1 kereskedelmi vállalati adatbázisrendszer.', # Fuzzy
        'config-header-mysql' => 'MySQL-beállítások',
        'config-header-postgres' => 'PostgreSQL-beállítások',
        'config-header-sqlite' => 'SQLite-beállítások',
@@ -8182,7 +8196,7 @@ Ez '''nem ajánlott''', csak akkor, ha problémák vannak a wikivel.",
 
 Most már '''[$1 beléphetsz a wikibe]'''.",
        'config-regenerate' => 'LocalSettings.php elkészítése újra →',
-       'config-show-table-status' => 'A SHOW TABLE STATUS lekérdezés nem sikerült!',
+       'config-show-table-status' => 'A <code>SHOW TABLE STATUS</code> lekérdezés nem sikerült!',
        'config-unknown-collation' => "'''Figyelmeztetés:''' az adatbázis ismeretlen egybevetést használ.",
        'config-db-web-account' => 'A webes hozzáférésnél használt adatbázisfiók',
        'config-db-web-help' => 'Add meg azt a felhasználónevet és jelszót, amit a webszerver a wiki általános működése során használ a csatlakozáshoz.',
@@ -8253,7 +8267,7 @@ A további konfigurációt kihagyhatod, és most azonnal elindíthatod a wiki te
        'config-optional-continue' => 'További információk megadása.',
        'config-optional-skip' => 'Épp elég volt, települjön a wiki!',
        'config-profile' => 'Felhasználói jogosultságok profilja:',
-       'config-profile-wiki' => 'Hagyományos wiki',
+       'config-profile-wiki' => 'Hagyományos wiki', # Fuzzy
        'config-profile-no-anon' => 'Felhasználói fiók létrehozása szükséges',
        'config-profile-fishbowl' => 'Csak engedélyezett szerkesztők',
        'config-profile-private' => 'Privát wiki',
@@ -8267,7 +8281,7 @@ Választhatsz!
 
 Lehetőség van arra is, hogy '''{{lc:{{int:config-profile-fishbowl}}}}''' módosíthassák a lapokat, de a nyilvánosság ekkor megtekintheti a lapokat és azok laptörténetét is. '''{{int:config-profile-private}}''' esetén csak az engedélyezett szerkesztők tekinthetik meg a lapokat, és ugyanez a csoport szerkeszthet.
 
-Telepítés után jóval összetettebb jogosultságrendszer állítható össze, további információ a [//www.mediawiki.org/wiki/Manual:User_rights kézikönyv kapcsolódó bejegyzésében].",
+Telepítés után jóval összetettebb jogosultságrendszer állítható össze, további információ a [//www.mediawiki.org/wiki/Manual:User_rights kézikönyv kapcsolódó bejegyzésében].", # Fuzzy
        'config-license' => 'Szerzői jog és licenc:',
        'config-license-none' => 'Nincs licencjelzés',
        'config-license-cc-by-sa' => 'Creative Commons Nevezd meg! - Így add tovább!',
@@ -8351,7 +8365,7 @@ Lehetséges, hogy további beállításra lesz szükség hozzájuk, de már most
        'config-install-alreadydone' => "'''Figyelmeztetés:''' Úgy tűnik, hogy a MediaWiki telepítve van, és te ismét megpróbálod telepíteni.
 Folytasd a következő oldalon.",
        'config-install-begin' => 'A „{{int:config-continue}}” gomb megnyomása elindítja a MediaWiki telepítését.
-Ha szeretnél módosítani a beállításokon, kattints a vissza gombra.',
+Ha szeretnél módosítani a beállításokon, kattints a vissza gombra.', # Fuzzy
        'config-install-step-done' => 'kész',
        'config-install-step-failed' => 'sikertelen',
        'config-install-extensions' => 'Kiterjesztések beillesztése',
@@ -8410,7 +8424,7 @@ Ha végeztél a fájl elhelyezésével, '''[$2 beléphetsz a wikibe]'''.",
 == Alapok (angol nyelven) ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Beállítások listája]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki GyIK]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-kiadások levelezőlistája]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-kiadások levelezőlistája]", # Fuzzy
 );
 
 /** Magyar (magázó) (Magyar (magázó))
@@ -8489,7 +8503,7 @@ Ha ezzel készen van, '''[$2 beléphet a wikibe]'''.", # Fuzzy
 == Alapok (angol nyelven) ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Beállítások listája]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki GyIK]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-kiadások levelezőlistája]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-kiadások levelezőlistája]", # Fuzzy
 );
 
 /** Armenian (Հայերեն)
@@ -8507,6 +8521,7 @@ $messages['hy'] = array(
 
 /** Interlingua (interlingua)
  * @author McDutchie
+ * @author 아라
  */
 $messages['ia'] = array(
        'config-desc' => 'Le installator de MediaWiki',
@@ -8514,19 +8529,19 @@ $messages['ia'] = array(
        'config-information' => 'Information',
        'config-localsettings-upgrade' => 'Un file <code>LocalSettings.php</code> ha essite detegite.
 Pro actualisar iste installation, per favor entra le valor de <code>$wgUpgradeKey</code> in le quadro hic infra.
-Iste se trova in LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Un file LocalSettings.php file ha essite detegite.
-Pro actualisar iste installation, per favor executa upgrade.php.',
+Iste se trova in <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Un file <code>LocalSettings.php</code> file ha essite detegite.
+Pro actualisar iste installation, per favor executa <code>update.php</code>.',
        'config-localsettings-key' => 'Clave de actualisation:',
        'config-localsettings-badkey' => 'Le clave que tu forniva es incorrecte',
        'config-upgrade-key-missing' => 'Un installation existente de MediaWiki ha essite detegite.
-Pro actualisar iste installation, es necessari adjunger le sequente linea al fin del file LocalSettings.php:
+Pro actualisar iste installation, es necessari adjunger le sequente linea al fin del file <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'Le file LocalSettings.php existente pare esser incomplete.
+       'config-localsettings-incomplete' => 'Le file <code>LocalSettings.php</code> existente pare esser incomplete.
 Le variabile $1 non es definite.
-Per favor cambia LocalSettings.php de sorta que iste variabile es definite, e clicca "Continuar".',
-       'config-localsettings-connection-error' => 'Un error esseva incontrate durante le connexion al base de datos usante le configurationes specificate in LocalSettings.php o AdminSettings.php. Per favor repara iste configurationes e tenta lo de novo.
+Per favor cambia <code>LocalSettings.php</code> de sorta que iste variabile es definite, e clicca "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Un error esseva incontrate durante le connexion al base de datos usante le configurationes specificate in <code>LocalSettings.php</code> o <code>AdminSettings.php</code>. Per favor repara iste configurationes e tenta lo de novo.
 
 $1',
        'config-session-error' => 'Error al comenciamento del session: $1',
@@ -8744,7 +8759,7 @@ Si tu non vide hic infra le systema de base de datos que tu tenta usar, alora se
        'config-support-postgres' => '* $1 es un systema de base de datos popular e open source, alternativa a MySQL ([http://www.php.net/manual/en/pgsql.installation.php como compilar PHP con supporto de PostgreSQL]). Es possibile que resta alcun minor defectos non resolvite, dunque illo non es recommendate pro uso in un ambiente de production.',
        'config-support-sqlite' => '* $1 es un systema de base de datos legier que es multo ben supportate. ([http://www.php.net/manual/en/pdo.installation.php Como compilar PHP con supporto de SQLite], usa PDO)',
        'config-support-oracle' => '* $1 es un banca de datos commercial pro interprisas. ([http://www.php.net/manual/en/oci8.installation.php Como compilar PHP con supporto de OCI8])',
-       'config-support-ibm_db2' => '* $1 es un systema commercial de base de datos pro interprisas.',
+       'config-support-ibm_db2' => '* $1 es un systema commercial de base de datos pro interprisas.', # Fuzzy
        'config-header-mysql' => 'Configuration de MySQL',
        'config-header-postgres' => 'Configuration de PostgreSQL',
        'config-header-sqlite' => 'Configuration de SQLite',
@@ -8812,7 +8827,7 @@ Isto '''non es recommendate''' si tu non ha problemas con tu wiki.",
 
 Tu pote ora [$1 comenciar a usar tu wiki].',
        'config-regenerate' => 'Regenerar LocalSettings.php →',
-       'config-show-table-status' => 'Le consulta SHOW TABLE STATUS falleva!',
+       'config-show-table-status' => 'Le consulta <code>SHOW TABLE STATUS</code> falleva!',
        'config-unknown-collation' => "'''Aviso:''' Le base de datos usa un collation non recognoscite.",
        'config-db-web-account' => 'Conto de base de datos pro accesso via web',
        'config-db-web-help' => 'Selige le nomine de usator e contrasigno que le servitor web usara pro connecter al servitor de base de datos, durante le operation ordinari del wiki.',
@@ -8884,7 +8899,7 @@ Tu pote ora saltar le configuration remanente e installar le wiki immediatemente
        'config-optional-continue' => 'Pone me plus questiones.',
        'config-optional-skip' => 'Isto me es jam tediose. Simplemente installa le wiki.',
        'config-profile' => 'Profilo de derectos de usator:',
-       'config-profile-wiki' => 'Wiki traditional',
+       'config-profile-wiki' => 'Wiki traditional', # Fuzzy
        'config-profile-no-anon' => 'Creation de conto obligatori',
        'config-profile-fishbowl' => 'Modificatores autorisate solmente',
        'config-profile-private' => 'Wiki private',
@@ -8900,7 +8915,7 @@ Un wiki con '''{{int:config-profile-no-anon}}''' attribue additional responsabil
 Le scenario '''{{int:config-profile-fishbowl}}''' permitte al usatores approbate de modificar, ma le publico pote vider le paginas, includente lor historia.
 Un '''{{int:config-profile-private}}''' permitte solmente al usatores approbate de vider le paginas e de modificar los.
 
-Configurationes de derectos de usator plus complexe es disponibile post installation, vide le [//www.mediawiki.org/wiki/Manual:User_rights pertinente section del manual].",
+Configurationes de derectos de usator plus complexe es disponibile post installation, vide le [//www.mediawiki.org/wiki/Manual:User_rights pertinente section del manual].", # Fuzzy
        'config-license' => 'Copyright e licentia:',
        'config-license-none' => 'Nulle licentia in pede de paginas',
        'config-license-cc-by-sa' => 'Creative Commons Attribution Share Alike',
@@ -8985,7 +9000,7 @@ Istes pote requirer additional configuration, ma tu pote activar los ora.',
        'config-install-alreadydone' => "'''Aviso:''' Il pare que tu ha jam installate MediaWiki e tenta installar lo de novo.
 Per favor continua al proxime pagina.",
        'config-install-begin' => 'Un clic sur "{{int:config-continue}}" comencia le installation de MediaWiki.
-Pro facer alterationes, clicca sur "Retro".',
+Pro facer alterationes, clicca sur "Retro".', # Fuzzy
        'config-install-step-done' => 'finite',
        'config-install-step-failed' => 'fallite',
        'config-install-extensions' => 'Include le extensiones',
@@ -9051,7 +9066,7 @@ Post facer isto, tu pote '''[$2 entrar in tu wiki]'''.",
 == Pro initiar ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista de configurationes]
 * [//www.mediawiki.org/wiki/Manual:FAQ FAQ a proposito de MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de diffusion pro annuncios de nove versiones de MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de diffusion pro annuncios de nove versiones de MediaWiki]', # Fuzzy
 );
 
 /** Indonesian (Bahasa Indonesia)
@@ -9059,6 +9074,7 @@ Post facer isto, tu pote '''[$2 entrar in tu wiki]'''.",
  * @author IvanLanin
  * @author Kenrick95
  * @author Reedy
+ * @author 아라
  */
 $messages['id'] = array(
        'config-desc' => 'Penginstal untuk MediaWiki',
@@ -9066,19 +9082,19 @@ $messages['id'] = array(
        'config-information' => 'Informasi',
        'config-localsettings-upgrade' => 'Berkas <code>LocalSettings.php</code> sudah ada.
 Untuk memutakhirkan instalasi ini, masukkan nilai <code>$wgUpgradeKey</code> dalam kotak yang tersedia di bawah ini.
-Anda dapat menemukan nilai tersebut dalam LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Berkas LocalSettings.php terdeteksi.
-Untuk meningkatkan versi, harap jalankan update.php.',
+Anda dapat menemukan nilai tersebut dalam <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Berkas <code>LocalSettings.php</code> terdeteksi.
+Untuk meningkatkan versi, harap jalankan <code>update.php</code>.',
        'config-localsettings-key' => 'Kunci pemutakhiran:',
        'config-localsettings-badkey' => 'Kunci yang Anda berikan tidak benar',
        'config-upgrade-key-missing' => 'Suatu instalasi MediaWiki telah terdeteksi.
-Untuk memutakhirkan instalasi ini, silakan masukkan baris berikut di bagian bawah LocalSettings.php Anda:
+Untuk memutakhirkan instalasi ini, silakan masukkan baris berikut di bagian bawah <code>LocalSettings.php</code> Anda:
 
 $1',
-       'config-localsettings-incomplete' => 'LocalSettings.php yang ada tampaknya tidak lengkap.
+       'config-localsettings-incomplete' => '<code>LocalSettings.php</code> yang ada tampaknya tidak lengkap.
 Variabel $1 tidak diatur.
-Silakan ubah LocalSettings.php untuk mengatur variabel ini dan klik "Lanjutkan".',
-       'config-localsettings-connection-error' => 'Timbul galat saat menghubungkan ke basis data dengan menggunakan setelan yang ditentukan di LocalSettings.php atau AdminSettings.php. Harap perbaiki setelan ini dan coba lagi.
+Silakan ubah <code>LocalSettings.php</code> untuk mengatur variabel ini dan klik "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Timbul galat saat menghubungkan ke basis data dengan menggunakan setelan yang ditentukan di <code>LocalSettings.php</code> atau <code>AdminSettings.php</code>. Harap perbaiki setelan ini dan coba lagi.
 
 $1',
        'config-session-error' => 'Kesalahan sesi mulai: $1',
@@ -9284,7 +9300,7 @@ Jika Anda tidak melihat sistem basis data yang Anda gunakan tercantum di bawah i
        'config-support-postgres' => '* $1 adalah sistem basis data sumber terbuka populer sebagai alternatif untuk MySQL ([http://www.php.net/manual/en/pgsql.installation.php cara mengompilasi PHP dengan dukungan PostgreSQL]). Mungkin ada beberapa bug terbuka dan alternatif ini tidak direkomendasikan untuk dipakai dalam lingkungan produksi.',
        'config-support-sqlite' => '* $1 adalah sistem basis data yang ringan yang sangat baik dukungannya. ([http://www.php.net/manual/en/pdo.installation.php cara mengompilasi PHP dengan dukungan SQLite], menggunakan PDO)',
        'config-support-oracle' => '* $1 adalah basis data komersial untuka perusahaan. ([http://www.php.net/manual/en/oci8.installation.php cara mengompilasi PHP dengan dukungan OCI8])',
-       'config-support-ibm_db2' => '* $1 adalah basis data-perusahaan komersial.',
+       'config-support-ibm_db2' => '* $1 adalah basis data-perusahaan komersial.', # Fuzzy
        'config-header-mysql' => 'Pengaturan MySQL',
        'config-header-postgres' => 'Pengaturan PostgreSQL',
        'config-header-sqlite' => 'Pengaturan SQLite',
@@ -9352,7 +9368,7 @@ Tindakan ini '''tidak dianjurkan''' kecuali jika Anda mengalami masalah dengan w
 
 Anda sekarang dapat [$1 mulai menggunakan wiki Anda].',
        'config-regenerate' => 'Regenerasi LocalSettings.php →',
-       'config-show-table-status' => 'Kueri SHOW TABLE STATUS gagal!',
+       'config-show-table-status' => 'Kueri <code>SHOW TABLE STATUS</code> gagal!',
        'config-unknown-collation' => "'''Peringatan:''' basis data menggunakan kolasi yang tidak dikenal.",
        'config-db-web-account' => 'Akun basis data untuk akses web',
        'config-db-web-help' => 'Masukkan nama pengguna dan sandi yang akan digunakan server web untuk terhubung ke server basis data saat operasi normal wiki.',
@@ -9415,7 +9431,7 @@ Anda sekarang dapat melewati sisa konfigurasi dan menginstal wiki sekarang.',
        'config-optional-continue' => 'Berikan saya pertanyaan lagi.',
        'config-optional-skip' => 'Saya sudah bosan, instal saja wikinya.',
        'config-profile' => 'Profil hak pengguna:',
-       'config-profile-wiki' => 'Wiki tradisional',
+       'config-profile-wiki' => 'Wiki tradisional', # Fuzzy
        'config-profile-no-anon' => 'Pembuatan akun diperlukan',
        'config-profile-fishbowl' => 'Khusus penyunting terdaftar',
        'config-profile-private' => 'Wiki pribadi',
@@ -9429,7 +9445,7 @@ Namun, berbagai kegunaan lain dari MediaWiki telah ditemukan, dan kadang tidak m
 '''{{int:config-profile-fishbowl}}''' memungkinkan pengguna yang disetujui untuk menyunting, tetapi publik dapat melihat halaman, termasuk riwayatnya.
 '''{{int:config-profile-private}}''' hanya memungkinkan pengguna yang disetujui untuk melihat dan menyunting halaman.
 
-Konfigurasi hak pengguna yang lebih kompleks tersedia setelah instalasi. Lihat [//www.mediawiki.org/wiki/Manual:User_rights/id entri manual terkait].",
+Konfigurasi hak pengguna yang lebih kompleks tersedia setelah instalasi. Lihat [//www.mediawiki.org/wiki/Manual:User_rights/id entri manual terkait].", # Fuzzy
        'config-license' => 'Hak cipta dan lisensi:',
        'config-license-none' => 'Tidak ada lisensi',
        'config-license-cc-by-sa' => 'Creative Commons Atribusi Berbagi Serupa',
@@ -9514,7 +9530,7 @@ Ekstensi tersebut mungkin memerlukan konfigurasi tambahan, tetapi Anda dapat men
        'config-install-alreadydone' => "'''Peringatan:''' Anda tampaknya telah menginstal MediaWiki dan mencoba untuk menginstalnya lagi.
 Lanjutkan ke halaman berikutnya.",
        'config-install-begin' => 'Dengan menekan "{{int:config-continue}}", Anda akan memulai instalasi MediaWiki.
-Jika Anda masih ingin membuat perubahan, tekan "{{int:config-back}}".',
+Jika Anda masih ingin membuat perubahan, tekan "{{int:config-back}}".', # Fuzzy
        'config-install-step-done' => 'selesai',
        'config-install-step-failed' => 'gagal',
        'config-install-extensions' => 'Termasuk ekstensi',
@@ -9640,6 +9656,7 @@ $messages['is'] = array(
  * @author F. Cosoleto
  * @author Gianfranco
  * @author Karika
+ * @author 아라
  */
 $messages['it'] = array(
        'config-desc' => 'Il programma di installazione per MediaWiki',
@@ -9647,19 +9664,19 @@ $messages['it'] = array(
        'config-information' => 'Informazioni',
        'config-localsettings-upgrade' => 'È stato rilevato un file <code>LocalSettings.php</code>.
 Per aggiornare questa installazione, si prega di inserire il valore di <code>$wgUpgradeKey</code> nella casella qui sotto.
-Lo potete trovare in LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'È stato rilevato un file LocalSettings.php.
-Per aggiornare questa installazione, eseguire update.php',
+Lo potete trovare in <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'È stato rilevato un file <code>LocalSettings.php</code>.
+Per aggiornare questa installazione, eseguire <code>update.php</code>',
        'config-localsettings-key' => 'Chiave di aggiornamento:',
        'config-localsettings-badkey' => 'La chiave che hai fornito non è corretta.',
        'config-upgrade-key-missing' => "È stata rilevata un'installazione esistente di MediaWiki.
-Per aggiornare questa installazione, si prega di inserire la seguente riga nella parte inferiore del tuo LocalSettings.php:
+Per aggiornare questa installazione, si prega di inserire la seguente riga nella parte inferiore del tuo <code>LocalSettings.php</code>:
 
 $1",
-       'config-localsettings-incomplete' => 'Il file LocalSettings.php esistente sembra essere incompleto.
+       'config-localsettings-incomplete' => 'Il file <code>LocalSettings.php</code> esistente sembra essere incompleto.
 La variabile $1 non è impostata.
-Cambia LocalSettings.php in modo che questa variabile sia impostata e fai clic su "Continua".',
-       'config-localsettings-connection-error' => 'Si è verificato un errore durante la connessione al database utilizzando le impostazioni specificate in LocalSettings.php o AdminSettings.php. Si prega di correggere queste impostazioni e riprovare.
+Cambia <code>LocalSettings.php</code> in modo che questa variabile sia impostata e fai clic su "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Si è verificato un errore durante la connessione al database utilizzando le impostazioni specificate in <code>LocalSettings.php</code> o <code>AdminSettings.php</code>. Si prega di correggere queste impostazioni e riprovare.
 
 $1',
        'config-session-error' => "Errore nell'avvio della sessione: $1",
@@ -9880,18 +9897,22 @@ $messages['ja'] = array(
        'config-information' => '情報',
        'config-localsettings-upgrade' => 'ファイル <code>LocalSettings.php</code> を検出しました。
 インストールされているものをアップグレードするには、<code>$wgUpgradeKey</code> の値を以下の欄に入力してください。
-この値は LocalSettings.php 内にあります。',
-       'config-localsettings-cli-upgrade' => 'ファイル LocalSettings.php を検出しました。
-インストールされているものをアップグレードするには、update.php を実行してください',
+この値は <code>LocalSettings.php</code> 内にあります。',
+       'config-localsettings-cli-upgrade' => 'ファイル <code>LocalSettings.php</code> を検出しました。
+インストールされているものをアップグレードするには、<code>update.php</code> を実行してください',
        'config-localsettings-key' => 'アップグレード キー:',
        'config-localsettings-badkey' => '与えられたキーが間違っています',
        'config-upgrade-key-missing' => 'MediaWiki が既にインストールされていることを検出しました。
-インストールされているものをアップグレードするために、以下の行を LocalSettings.php の末尾に挿入してください:
+インストールされているものをアップグレードするために、以下の行を <code>LocalSettings.php</code> の末尾に挿入してください:
 
 $1',
-       'config-localsettings-incomplete' => '既存の LocalSettings.php の内容は不完全のようです。
+       'config-localsettings-incomplete' => '既存の <code>LocalSettings.php</code> の内容は不完全のようです。
 変数 $1 が設定されていません。
-LocalSettings.php 内でこの変数を設定して、「{{int:Config-continue}}」をクリックしてください。',
+<code>LocalSettings.php</code> 内でこの変数を設定して、「{{int:Config-continue}}」をクリックしてください。',
+       'config-localsettings-connection-error' => '<code>LocalSettings.php</code> または <code>AdminSettings.php</code> で指定した設定を使用してデータベースに接続する際にエラーが発生しました。
+設定を修正してから再度試してください。
+
+$1',
        'config-session-error' => 'セッションの開始エラー: $1',
        'config-session-expired' => 'セッションの有効期限が切れたようです。
 セッションの有効期間は$1に設定されています。
@@ -9920,7 +9941,7 @@ php.ini 内で <code>session.save_path</code> が適切なディレクトリに
        'config-page-copying' => 'コピー',
        'config-page-upgradedoc' => 'アップグレード',
        'config-page-existingwiki' => '既存のウィキ',
-       'config-help-restart' => '入力した保存データをすべて消去して、インストール作業を再起動しますか',
+       'config-help-restart' => '入力した保存データをすべて消去して、インストール作業を再起動しますか?',
        'config-restart' => 'はい、再起動します',
        'config-welcome' => '=== 環境の確認 ===
 基本的な確認では、現在の環境がMediaWikiのインストールに適しているかを確認します。
@@ -10097,7 +10118,7 @@ $1
        'config-support-postgres' => '* $1は、MySQLの代替として人気があるオープンソースのデータベースシステムです ([http://www.php.net/manual/en/pgsql.installation.php PostgreSQLに対応したPHPをコンパイルする方法])',
        'config-support-sqlite' => '* $1は、良くサポートされている、軽量データベースシステムです。([http://www.php.net/manual/ja/pdo.installation.php SQLiteに対応したPHPをコンパイルする方法]、PDOを使用)',
        'config-support-oracle' => '* $1は商業企業のデータベースです。([http://www.php.net/manual/en/oci8.installation.php OCI8サポートなPHPをコンパイルする方法])',
-       'config-support-ibm_db2' => '* $1 は商業企業のデータベースです。', # Fuzzy
+       'config-support-ibm_db2' => '* $1 は商業企業のデータベースです。([http://www.php.net/manual/en/ibm-db2.installation.php IBM DB2に対応したPHPをコンパイルする方法])',
        'config-header-mysql' => 'MySQL の設定',
        'config-header-postgres' => 'PostgreSQL の設定',
        'config-header-sqlite' => 'SQLite の設定',
@@ -10163,7 +10184,7 @@ chmod a+w $3</pre>',
 
 [$1 ウィキの使用を開始]することができます。',
        'config-regenerate' => 'LocalSettings.phpを再生成→',
-       'config-show-table-status' => 'SHOW TABLE STATUS クエリが失敗しました!',
+       'config-show-table-status' => '<code>SHOW TABLE STATUS</code> クエリが失敗しました!',
        'config-unknown-collation' => "'''警告:''' データベースは認識されない照合を使用しています。",
        'config-db-web-account' => 'ウェブアクセスのためのデータベースアカウント',
        'config-db-web-help' => 'ウィキの通常の操作の際に、ウェブ サーバーがデータベース サーバーに接続できるように、ユーザー名とパスワードを指定してください。',
@@ -10634,24 +10655,24 @@ $messages['kn'] = array(
  * @author 아라
  */
 $messages['ko'] = array(
-       'config-desc' => '미디어위키 설치 마법사',
+       'config-desc' => '미디어위키 설치 프로그램',
        'config-title' => 'MediaWiki $1 설치',
        'config-information' => '정보',
-       'config-localsettings-upgrade' => '<code>LocalSettings.php</code> í\8c\8cì\9d¼ì\9d´ ê°\90ì§\80ë\90\98ì\97\88ì\8aµë\8b\88ë\8b¤.
+       'config-localsettings-upgrade' => '<code>LocalSettings.php</code> í\8c\8cì\9d¼ì\9d\84 ê°\90ì§\80í\96\88ì\8aµë\8b\88ë\8b¤.
 이 설치를 업그레이드하려면 아래 상자에 <code>$wgUpgradeKey</code>의 값을 입력하세요.
-LocalSettings.php에 찾으세요.',
-       'config-localsettings-cli-upgrade' => 'LocalSettings.php í\8c\8cì\9d¼ì\9d´ ê°\90ì§\80ë\90\98ì\97\88ì\8aµë\8b\88ë\8b¤.
-이 설치를 업그레이드하려면 update.php를 대신 실행하세요',
+<code>LocalSettings.php</code>에 찾을 수 있습니다.',
+       'config-localsettings-cli-upgrade' => '<code>LocalSettings.php</code> í\8c\8cì\9d¼ì\9d\84 ê°\90ì§\80í\96\88ì\8aµë\8b\88ë\8b¤.
+이 설치를 업그레이드하려면 <code>update.php</code>를 대신 실행하세요',
        'config-localsettings-key' => '업그레이드 키:',
        'config-localsettings-badkey' => '제공한 키가 잘못되었습니다.',
        'config-upgrade-key-missing' => '미디어위키의 기존 설치가 감지되었습니다.
-이 설치를 업그레이드하려면 LocalSettings.php의 아래에 다음 줄을 넣으세요:
+이 설치를 업그레이드하려면 <code>LocalSettings.php</code>의 아래에 다음 줄을 넣으세요:
 
 $1',
-       'config-localsettings-incomplete' => '기존 LocalSettings.php가 완전하지 않은 것 같습니다.
+       'config-localsettings-incomplete' => '기존 <code>LocalSettings.php</code>가 완전하지 않은 것 같습니다.
 $1 변수가 설정되어 있지 않습니다.
-이 변수가 설정되도록 LocalSettings.php를 바꾸고 "계속"을 클릭하세요.',
-       'config-localsettings-connection-error' => 'LocalSettings.php 또는 AdminSettings.php에 지정한 설정을 사용하여 데이터베이스에 연결할 때 오류가 발생했습니다. 이러한 설정을 수정하고 다시 시도하세요.
+이 변수가 설정되도록 <code>LocalSettings.php</code>를 바꾸고 "{{int:Config-continue}}"을 클릭하세요.',
+       'config-localsettings-connection-error' => '<code>LocalSettings.php</code> 또는 <code>AdminSettings.php</code>에 지정한 설정을 사용하여 데이터베이스에 연결할 때 오류가 발생했습니다. 이러한 설정을 수정하고 다시 시도하세요.
 
 $1',
        'config-session-error' => '세션 시작 오류: $1',
@@ -10659,12 +10680,12 @@ $1',
 세션은 $1의 작동 시간 동안 구성됩니다.
 php.ini에 있는 <code>session.gc_maxlifetime</code>에서 설정해 이를 증가시킬 수 있습니다.
 설치 과정을 다시 시작합니다.',
-       'config-no-session' => 'ì\84¸ì\85\98 ë\8d°ì\9d´í\84°ê°\80 ì\86\90ì\8b¤ë\90\98ì\97\88습니다!
+       'config-no-session' => 'ì\84¸ì\85\98 ë\8d°ì\9d´í\84°ê°\80 ì\97\86ì\96´ì¡\8c습니다!
 php.ini를 확인하고 <code>session.save_path</code>가 적절한 디렉토리로 설정되어 있는지 확인하세요.',
        'config-your-language' => '설치 언어:',
        'config-your-language-help' => '설치 과정에서 사용할 언어를 선택하세요.',
        'config-wiki-language' => '위키 언어:',
-       'config-wiki-language-help' => '주ë¡\9c ì\9e\91ì\84±ë\90  ì\9c\84í\82¤ì\97\90 ë\8c\80í\95\9c 언어를 선택하세요.',
+       'config-wiki-language-help' => 'ì\9c\84í\82¤ì\97\90 ì£¼ë¡\9c ì\9e\91ì\84±ë\90  언어를 선택하세요.',
        'config-back' => '← 뒤로',
        'config-continue' => '계속 →',
        'config-page-language' => '언어',
        'config-env-php' => 'PHP $1(이)가 설치되었습니다.',
        'config-env-php-toolow' => 'PHP $1(이)가 설치되었습니다.
 하지만 미디어위키는 PHP $2 이상이 필요합니다.',
-       'config-unicode-using-utf8' => '유니코드 정규화에 대해 Brion Vibber의 utf8_normalize.so를 사용합니다.',
-       'config-unicode-using-intl' => '유니코드 정규화에 ë\8c\80í\95´ [http://pecl.php.net/intl intl PECL í\99\95ì\9e¥]ì\9d\84 ì\82¬ì\9a©í\95©ë\8b\88ë\8b¤.',
-       'config-unicode-pure-php-warning' => "'''경고''': [http://pecl.php.net/intl intl PECL 확장]은 PHP만으로 구현하는 데에는 느려질 정도로 성능이 떨어지는 유니코드 정규화를 처리할 수 없습니다.
-높은 트래픽의 사이트에서 실행하려면 [//www.mediawiki.org/wiki/Unicode_normalization_considerations 유니코드 정규화]에 대해 약간 참고해야 합니다.",
+       'config-unicode-using-utf8' => '유니코드 정규화에 Brion Vibber의 utf8_normalize.so를 사용합니다.',
+       'config-unicode-using-intl' => '유니코드 정규화에 [http://pecl.php.net/intl intl PECL í\99\95ì\9e¥ ê¸°ë\8a¥]ì\9d\84 ì\82¬ì\9a©í\95©ë\8b\88ë\8b¤.',
+       'config-unicode-pure-php-warning' => "'''경고''': 유니코드 정규화를 처리할 [http://pecl.php.net/intl intl PECL 확장 기능]을 사용할 수 없기 때문에 느린 순수한 PHP 구현을 대신 사용합니다.
+높은 트래픽 사이트에서 실행하려면 [//www.mediawiki.org/wiki/Unicode_normalization_considerations 유니코드 정규화]를 읽어보시기 바랍니다.",
        'config-unicode-update-warning' => "'''경고''': 유니코드 정규화 래퍼의 설치된 버전은 [http://site.icu-project.org/ ICU 프로젝트]의 라이브러리의 이전 버전을 사용합니다.
 만약 유니코드를 사용하는 것에 대해 우려가 된다면 [//www.mediawiki.org/wiki/Unicode_normalization_considerations 업그레이드]해야합니다.",
        'config-no-db' => '적절한 데이터베이스 드라이버를 찾을 수 없습니다! PHP에 데이터베이스 드라이버를 설치해야 합니다.
 다음 데이터베이스 유형을 지원합니다 : $1.
 
-호스팅을 공유하고 있다면 적절한 데이터베이스 드라이버를 설치하도록 호스팅 제공 업체에 문의하세요.
-PHP를 ì§\81ì \91 ì»´í\8c\8cì\9d¼í\95  ê²½ì\9a° ë\8d°ì\9d´í\84°ë² ì\9d´ì\8a¤ í\81´ë\9d¼ì\9d´ì\96¸í\8a¸ë¥¼ ì\82¬ì\9a©í\95\98ì\97¬ í\99\9cì\84±í\99\94í\95\98ë\8f\84ë¡\9d ë\8b¤ì\8b\9c ì\84¤ì \95í\95\98ì\84¸ì\9a\94. ì\98\88ë\93¤ ë\93¤ì\96´ <code>./configure --with-mysql</code>ì\9d\84 ì\82¬ì\9a©하세요.
+공유하는 호스팅을 사용하고 있다면 적절한 데이터베이스 드라이버를 설치하도록 호스팅 제공 업체에 문의하세요.
+PHP를 ì§\81ì \91 ì»´í\8c\8cì\9d¼í\96\88ë\8b¤ë©´ ì\98\88를 ë\93¤ì\96´ <code>./configure --with-mysql</code>ì\9d\84 ì\82¬ì\9a©í\95\98ì\97¬ ë\8d°ì\9d´í\84°ë² ì\9d´ì\8a¤ í\81´ë\9d¼ì\9d´ì\96¸í\8a¸ë¥¼ í\99\9cì\84±í\99\94í\95\98ë\8f\84ë¡\9d ë\8b¤ì\8b\9c ì\84¤ì \95하세요.
 데비안이나 우분트 패키지에서 PHP를 설치했다면 php-mysql 모듈도 설치해야 합니다.',
        'config-outdated-sqlite' => "'''경고''': SQLite 필요한 최소 $2 버전보다 낮은 $1(이)가 있습니다. SQLite는 사용할 수 없습니다.",
        'config-no-fts3' => "'''경고''': SQLite는 [//sqlite.org/fts3.html FTS3 모듈] 없이 컴파일되어, 검색 기능은 백엔드에 사용할 수 없습니다.",
        'config-register-globals' => "'''경고: PHP의 <code>[http://php.net/register_globals register_globals]</code> 옵션이 활성화되어 있습니다.'''
 '''가능하면 이를 비활성화하십시오.'''
-미ë\94\94ì\96´ì\9c\84í\82¤ë\8a\94 ì\9e\91ë\8f\99í\95\98ì§\80ë§\8c ì\84\9cë²\84ì\97\90 ì\9e ì\9e¬ì \81ì\9d¸ ë³´ì\95\88 ì·¨ì\95½ì \90ì\97\90 노출됩니다.",
+미ë\94\94ì\96´ì\9c\84í\82¤ë\8a\94 ì\9e\91ë\8f\99í\95\98ì§\80ë§\8c ì\84\9cë²\84ì\97\90 ì\9e ì\9e¬ì \81ì\9d¸ ë³´ì\95\88 ì·¨ì\95½ì \90ì\9d´ 노출됩니다.",
        'config-magic-quotes-runtime' => "'''치명: [http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-runtime magic_quotes_runtime]이 활성합니다!'''
 이 옵션은 데이터를 입력하는 데 예기치 않는 손상이 일어납니다.
\84¤ì¹\98í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤. ë\98\90ë\8a\94 ë¯¸ë\94\94ì\96´ì\9c\84í\82¤ê°\80 ì\82¬ì\9a©í\95\98ì§\80 ì\95\8aë\8a\94 ì\9d´ ì\98µì\85\98ì\9d\84 ë¹\84í\99\9cì\84±í\99\94í\95\98ì\8b­ì\8b\9cì\98¤.",
\9d´ ì\98µì\85\98ì\9d\84 ë¹\84í\99\9cì\84±í\99\94í\95\98ì§\80 ì\95\8aë\8a\94 í\95\9c ë¯¸ë\94\94ì\96´ì\9c\84í\82¤ë¥¼ ì\84¤ì¹\98í\95\98ê³  ì\82¬ì\9a©í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤.",
        'config-magic-quotes-sybase' => "'''치명: [http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-sybase magic_quotes_sybase]이 활성합니다!'''
 이 옵션은 데이터를 입력하는 데 예기치 않는 손상이 일어납니다.
\84¤ì¹\98í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤. ë\98\90ë\8a\94 ë¯¸ë\94\94ì\96´ì\9c\84í\82¤ê°\80 ì\82¬ì\9a©í\95\98ì§\80 ì\95\8aë\8a\94 ì\9d´ ì\98µì\85\98ì\9d\84 ë¹\84í\99\9cì\84±í\99\94í\95\98ì\8b­ì\8b\9cì\98¤.",
\9d´ ì\98µì\85\98ì\9d\84 ë¹\84í\99\9cì\84±í\99\94í\95\98ì§\80 ì\95\8aë\8a\94 í\95\9c ë¯¸ë\94\94ì\96´ì\9c\84í\82¤ë¥¼ ì\84¤ì¹\98í\95\98ê³  ì\82¬ì\9a©í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤.",
        'config-mbstring' => "'''치명: [http://www.php.net/manual/en/ref.mbstring.php#mbstring.overload mbstring.func_overload]이 활성합니다!'''
 이 옵션은 오류가 발생하고 데이터를 입력하는 데 예기치 않는 손상이 일어날 수 있습니다.
\84¤ì¹\98í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤. ë\98\90ë\8a\94 ë¯¸ë\94\94ì\96´ì\9c\84í\82¤ê°\80 ì\82¬ì\9a©í\95\98ì§\80 ì\95\8aë\8a\94 ì\9d´ ì\98µì\85\98ì\9d\84 ë¹\84í\99\9cì\84±í\99\94í\95\98ì\8b­ì\8b\9cì\98¤.",
\9d´ ì\98µì\85\98ì\9d\84 ë¹\84í\99\9cì\84±í\99\94í\95\98ì§\80 ì\95\8aë\8a\94 í\95\9c ë¯¸ë\94\94ì\96´ì\9c\84í\82¤ë¥¼ ì\84¤ì¹\98í\95\98ê³  ì\82¬ì\9a©í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤.",
        'config-ze1' => "'''치명: [http://www.php.net/manual/en/ini.core.php zend.ze1_compatibility_mode]이 활성합니다!'''
-이 옵션은 미디어위키에 끔찍한 버그를 일으킵니다.
\84¤ì¹\98í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤. ë\98\90ë\8a\94 ë¯¸ë\94\94ì\96´ì\9c\84í\82¤ê°\80 ì\82¬ì\9a©í\95\98ì§\80 ì\95\8aë\8a\94 ì\9d´ ì\98µì\85\98ì\9d\84 ë¹\84í\99\9cì\84±í\99\94í\95\98ì\8b­ì\8b\9cì\98¤.",
+이 옵션은 미디어위키에 심간한 버그를 일으킵니다.
\9d´ ì\98µì\85\98ì\9d\84 ë¹\84í\99\9cì\84±í\99\94í\95\98ì§\80 ì\95\8aë\8a\94 í\95\9c ë¯¸ë\94\94ì\96´ì\9c\84í\82¤ë¥¼ ì\84¤ì¹\98í\95\98ê³  ì\82¬ì\9a©í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤.",
        'config-safe-mode' => "'''경고:''' [http://www.php.net/features.safe-mode 안전 모드]이 활성합니다!
 특히 파일을 올리거나 <code>math</code>를 지원하는 데 문제가 발생할 수 있습니다.",
        'config-xml-bad' => 'PHP의 XML 모듈이 없습니다.
@@ -10760,7 +10781,7 @@ Mandrake를 실행하고 있다면 php-xml 패키지를 설치하세요.',
        'config-apc' => '[http://www.php.net/apc APC]가 설치되었습니다',
        'config-wincache' => '[http://www.iis.net/download/WinCacheForPhp WinCache]가 설치되었습니다',
        'config-no-cache' => "'''경고:''' [http://www.php.net/apc APC], [http://xcache.lighttpd.net/ XCache] 또는 [http://www.iis.net/download/WinCacheForPhp WinCache]를 찾을 수 없습니다.
-ê°\9cì²´ ìº\90ì\8b±ì\9d´ í\99\9cì\84±í\99\94ë\90\98ì§\80 ì\95\8aì\8aµë\8b\88ë\8b¤.",
+ê°\9cì²´ ìº\90ì\8b±ì\9d\84 í\99\9cì\84±í\99\94í\95\98ì§\80 ì\95\8aì\8aµë\8b\88ë\8b¤.",
        'config-mod-security' => "'''경고''': 웹 서버에 [http://modsecurity.org/ mod_security]가 허용되었습니다. 잘못 설정된 경우 미디어위키나 사용자가 임의의 콘텐츠를 게시할 수 있는 다른 소프트웨어에 대한 문제를 일으킬 수 있습니다.
 [http://modsecurity.org/documentation/ mod_security] 문서를 참고하거나 임의의 오류가 발생할 경우 호스트의 지원 요청에 문의하십시오.",
        'config-diff3-bad' => 'GNU diff3를 찾을 수 없습니다.',
@@ -10779,7 +10800,7 @@ Mandrake를 실행하고 있다면 php-xml 패키지를 설치하세요.',
 미디어위키는 보안 위협에 대한 모든 올린 파일을 검사하지만, 올리기를 활성화하기 전에 [//www.mediawiki.org/wiki/Manual:Security#Upload_security 이 보안 취약점을 해결할 것]을 매우 권장합니다.",
        'config-no-cli-uploads-check' => "'''경고:''' 올리기에 대한 기본 디렉토리(<code>$1</code>)는 CLI를 설치하는 동안 임의의 스크립트 실행에 대한 취약점에 대해 검사되지 않습니다.",
        'config-brokenlibxml' => '시스템에 버그가 있는 PHP와 libxml2의 조합이 있으며 미디어위키나 다른 웹 어플리케이션에 숨겨진 데이터 손상을 일으킬 수 있습니다.
-PHP 5.2.9 이후와 libxml2 2.7.3 이후로 업그레이드하세요 ([//bugs.php.net/bug.php?id=45996 PHP에 제기한 버그]).
+PHP 5.2.9 이후와 libxml2 2.7.3 이후로 업그레이드하세요. ([//bugs.php.net/bug.php?id=45996 PHP에 제기한 버그])
 설치가 중단되었습니다.',
        'config-using531' => '미디어위키는 <code>__call()</code>을 참고로 매개 변수를 포함하는 버그로 인해 PHP $1(와)과 함께 사용할 수 없습니다.
 문제를 해결하려면 PHP 5.3.2 이상로 업그레이드하거나 PHP 5.3.0으로 다운그레이드를 하세요.
@@ -10787,13 +10808,13 @@ PHP 5.2.9 이후와 libxml2 2.7.3 이후로 업그레이드하세요 ([//bugs.ph
        'config-suhosin-max-value-length' => 'Suhosin(수호신)이 설치되었고 $1 바이트로 GET 매개 변수 길이를 제한하고 있습니다. 미디어위키의 ResourceLoader 구성 요소는 이 제한을 해결하지만 성능이 저하됩니다. 가능하면 php.ini의 suhosin.get.max_value_length에 1024 이상으로 설정하고 LocalSettings.php의 $wgResourceLoaderMaxQueryLength에 같은 값을 설정해야 합니다.',
        'config-db-type' => '데이터베이스 종류:',
        'config-db-host' => '데이터베이스 호스트:',
-       'config-db-host-help' => 'ë\8d°ì\9d´í\84°ë² ì\9d´ì\8a¤ ì\84\9cë²\84ê°\80 ë\8b¤ë¥¸ ì\84\9cë²\84ì\97\90 ì\9e\88ì\9d\84 ê²½ì\9a° 여기에 호스트 이름이나 IP 주소를 입력하세요.
+       'config-db-host-help' => 'ë\8d°ì\9d´í\84°ë² ì\9d´ì\8a¤ ì\84\9cë²\84ê°\80 ë\8b¤ë¥¸ ì\84\9cë²\84ì\97\90 ì\9e\88ì\9c¼ë©´ 여기에 호스트 이름이나 IP 주소를 입력하세요.
 
-공유된 웹 호스팅을 사용하는 경우 호스팅 공급자는 올바른 호스트 이름을 설명해야 합니다.
+공유하는 웹 호스팅을 사용하고 있으면 호스팅 제공 업체는 호스트 이름을 설명하고 있을 것입니다.
 
\9c\88ë\8f\84 ì\84\9cë²\84ì\97\90 ì\84¤ì¹\98í\95\98ê³  MySQLì\9d\84 ì\82¬ì\9a©í\95  ê²½ì\9a° "localhost"ë\8a\94 ì\84\9cë²\84 ì\9d´ë¦\84ì\9c¼ë¡\9c ì\9e\91ë\8f\99í\95\98ì§\80 ì\95\8aì\9d\84 ì\88\98 ì\9e\88ì\8aµë\8b\88ë\8b¤. ê·¸ë \87ì§\80 ì\95\8aì\9c¼면 로컬 IP 주소로 "127.0.0.1"를 시도하세요.
\9c\88ë\8f\84 ì\84\9cë²\84ì\97\90 ì\84¤ì¹\98í\95\98ê³  MySQLì\9d\84 ì\82¬ì\9a©í\95\98ë©´ "localhost"ë\8a\94 ì\84\9cë²\84 ì\9d´ë¦\84ì\9c¼ë¡\9c ì\9e\91ë\8f\99í\95\98ì§\80 ì\95\8aì\9d\84 ì\88\98 ì\9e\88ì\8aµë\8b\88ë\8b¤. ê·¸ë \87ê²\8c ë\90\9cë\8b¤면 로컬 IP 주소로 "127.0.0.1"를 시도하세요.
 
-PostgreSQLì\9d\84 ì\82¬ì\9a©í\95  ê²½ì\9a° 유닉스 소켓을 통해 연결되도록 입력란을 비워두세요.',
+PostgreSQLì\9d\84 ì\82¬ì\9a©í\95\98ë©´ 유닉스 소켓을 통해 연결되도록 입력란을 비워두세요.',
        'config-db-host-oracle' => '데이터베이스 TNS:',
        'config-db-host-oracle-help' => '유효한 [http://download.oracle.com/docs/cd/B28359_01/network.111/b28317/tnsnames.htm 로컬 연결 이름]을 입력하세요. tnsnames.ora 파일이 이 설치에 보여야 합니다.<br />10g 이후의 클라이언트 라이브러리를 사용하는 경우 [http://download.oracle.com/docs/cd/E11882_01/network.112/e10836/naming.htm 쉬운 연결] 네이밍 메소드도 사용할 수 있습니다.',
        'config-db-wiki-settings' => '이 위키 식별',
@@ -10801,13 +10822,13 @@ PostgreSQL을 사용할 경우 유닉스 소켓을 통해 연결되도록 입력
        'config-db-name-help' => '위키를 식별하기 위한 이름을 선택하세요.
 공백이 없어야 합니다.
 
-공유된 웹 호스팅 사용하는 경우 호스팅 제공 업체가 특정 데이터베이스 이름을 제공하거나 제어판에서 데이터베이스를 만들 수 있도록 합니다.',
+공유하는 웹 호스팅 사용하면 호스팅 제공 업체가 특정 데이터베이스 이름을 제공하거나 관리 패널에서 데이터베이스를 만들 수 있습니다.',
        'config-db-name-oracle' => '데이터베이스 스키마:',
        'config-db-account-oracle-warn' => '데이터베이스 백엔드로 오라클을 설치하기 위해 지원하는 세 가지 시나리오가 있습니다:
 
 설치 과정의 일부로 데이터베이스 계정을 만들려면 설치를 위해 데이터베이스 계정으로 SYSDBA 역할을 가진 계정을 제공하고 웹 접근 계정에 대해 원하는 자격 증명을 지정하세요, 그렇지 않으면 수동으로 웹 접근 계정을 만들 수 있으며 (필요한 경우 권한 스키마 개체를 만들어야 합니다) 또는 다른 계정 두 개를 만들고 권한을 가진 하나의 웹 접근을 위한 제한된 하나를 제공할 수 있습니다.
 
\95\84ì\9a\94í\95\9c ê¶\8cí\95\9cì\9d\84 ê°\80ì§\84 ê³\84ì \95ì\9d\84 ë§\8cë\93\9cë\8a\94 ì\8a¤í\81¬ë¦½í\8a¸ë\8a\94 ì\9d´ ì\84¤ì¹\98ì\9d\98 "maintenance/oracle/" ë\94\94ë \89í\86 ë¦¬ì\97\90ì\84\9c ì°¾ì\9d\84 ì\88\98 ì\9e\88ì\8aµë\8b\88ë\8b¤. ì \9cí\95\9cë\90\9c ê³\84ì \95ì\9d\84 ì\82¬ì\9a©í\95\98ë©´ ê¸°ë³¸ ê³\84ì \95ì\9c¼ë¡\9c ëª¨ë\93  ê´\80리 ê¸°ë\8a¥ì\9d\84 ë¹\84í\99\9cì\84±í\99\94í\95  ê²\83ì\9d\84 ì\97¼ë\91\90í\95´ ë\91\90십시오.',
\95\84ì\9a\94í\95\9c ê¶\8cí\95\9cì\9d\84 ê°\80ì§\84 ê³\84ì \95ì\9d\84 ë§\8cë\93\9cë\8a\94 ì\8a¤í\81¬ë¦½í\8a¸ë\8a\94 ì\9d´ ì\84¤ì¹\98ì\9d\98 "maintenance/oracle/" ë\94\94ë \89í\86 ë¦¬ì\97\90ì\84\9c ì°¾ì\9d\84 ì\88\98 ì\9e\88ì\8aµë\8b\88ë\8b¤. ì \9cí\95\9cë\90\9c ê³\84ì \95ì\9d\84 ì\82¬ì\9a©í\95\98ë©´ ê¸°ë³¸ ê³\84ì \95ì\9c¼ë¡\9c ëª¨ë\93  ê´\80리 ê¸°ë\8a¥ì\9d\84 ë¹\84í\99\9cì\84±í\99\94í\95  ê²\83ì\9d\84 ì\9c ì\9d\98í\95\98십시오.',
        'config-db-install-account' => '설치를 위한 사용자 계정',
        'config-db-username' => '데이터베이스 사용자 이름:',
        'config-db-password' => '데이터베이스 비밀번호:',
@@ -10835,25 +10856,25 @@ PostgreSQL을 사용할 경우 유닉스 소켓을 통해 연결되도록 입력
 
 '''바이너리 모드'''에서는 미디어위키는 바이너리 필드의 데이터베이스에 UTF-8 텍스트를 저장합니다.
 MySQL의 UTF-8 모드를 보다 더 효율적이고 유니코드 문자의 전체 범위를 사용할 수 있습니다.
-'''UTF-8 모드'''에서는 MySQL은 데이터를 설정하는 어떤 문자열인지를 알 것이며, 표현하고 적절하게 그것을 변환할 수 있지만
-[//en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes 기본 다국어 범위] 상의 문자를 저장하지 못하게 될 수 있습니다.",
+'''UTF-8 모드'''에서는 MySQL은 데이터를 설정하는 문자 집합을 알고 있기 때문에 적절하게 표현하고 변환할 수 있지만
+[//ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%ED%8F%89%EB%A9%B4#.EA.B8.B0.EB.B3.B8_.EB.8B.A4.EA.B5.AD.EC.96.B4_.ED.8F.89.EB.A9.B4 기본 다국어 평면] 밖의 문자를 저장할 수 없습니다.",
        'config-mysql-old' => 'MySQL $1 이상이 필요하나 $2(이)가 있습니다.',
        'config-db-port' => '데이터베이스 포트:',
        'config-db-schema' => '미디어위키에 대한 스키마:',
-       'config-db-schema-help' => '이 스키마는 보통 괜찮습니다.
-필요로 알고 있을 경우에만 이를 바꾸세요.',
+       'config-db-schema-help' => '보통 이 스키마는 문제가 없습니다.
+필요한 경우에만 바꾸세요.',
        'config-pg-test-error' => "'''$1''' 데이터베이스에 연결할 수 없습니다: $2",
        'config-sqlite-dir' => 'SQLite 데이터 디렉토리:',
-       'config-sqlite-dir-help' => 'SQLite는 하나의 파일에 모든 데이터를 저장합니다.
+       'config-sqlite-dir-help' => "SQLite는 하나의 파일에 모든 데이터를 저장합니다.
 
-제공하는 디렉토리는 설치하는 동안 웹 서버에 의해 쓸 수 있어야 합니다.
+제공하는 디렉토리는 설치하는 동안 웹 서버 쓸 수 있어야 합니다.
 
-PHP 파일이 있는 곳을 우리가 맡길 수 없는 이유는 웹을 통해 접근할 수 없다는 것입니다.
+이 디렉토리는 웹을 통해 접근할 수 '''없어야''' 하는데 PHP 파일이 있는 곳에 넣을 수 없는 것은 이 때문입니다.
 
-설치 마법사가 이과 함께 .htaccess 파일을 만들지만 거기서 실패하면 누군가는 원본 데이터베이스에 접근하는 데 실패합니다.
-원본 사용자 데이터(이메일 주소, 해시한 비밀번호) 뿐만 아니라 삭제된 개정판과 위키의 다른 제한된 데이터를 포함합니다.
+설치 프로그램은 <code>.htaccess</code> 파일을 작성하지만 이것이 실패하면 누군가가 원본 데이터베이스에 접근할 수 있습니다.
+데이터베이스는 원본 사용자 데이터(이메일 주소, 해시한 비밀번호) 뿐만 아니라 삭제된 판과 위키의 다른 제한된 데이터를 포함합니다.
 
-<code>/var/lib/mediawiki/yourwiki</code>와 같이 모두 다른 곳에서 데이터베이스를 넣어보도록 하세요.',
+예를 들어 <code>/var/lib/mediawiki/yourwiki</code>와 같이 다른 곳에 데이터베이스를 넣는 것이 좋습니다.",
        'config-oracle-def-ts' => '기본 테이블공간:',
        'config-oracle-temp-ts' => '임시 테이블공간:',
        'config-type-oracle' => '오라클',
 
 데이터베이스 시스템이 표시되지 않을 때 아래에 나열된 다음 지원을 활성화하려면 위의 링크된 지시에 따라 설치해볼 수 있습니다.',
        'config-support-mysql' => '* $1은 미디어위키의 기본 대상으로 가장 잘 지원합니다. ([http://www.php.net/manual/en/mysql.installation.php MySQL을 지원하여 PHP를 컴파일하는 방법])',
-       'config-support-postgres' => '* $1은 MySQL의 대안으로 인기있는 오픈 소스 데이터베이스 시스템입니다. ([http://www.php.net/manual/en/pgsql.installation.php PostgreSQL을 지원하여 PHP를 컴파일하는 방법]) 몇가지 사소한 해결하지 못한 버그가 있을 수 있으며, 이를 제작 환경에서 사용하지 않는 것이 좋습니다.',
+       'config-support-postgres' => '* $1은 MySQL의 대안으로 인기 있는 오픈 소스 데이터베이스 시스템입니다. ([http://www.php.net/manual/en/pgsql.installation.php PostgreSQL을 지원하여 PHP를 컴파일하는 방법]) 몇가지 사소한 해결하지 못한 버그가 있을 수 있으며, 이를 제작 환경에서 사용하지 않는 것이 좋습니다.',
        'config-support-sqlite' => '* $1는 매우 잘 지원하는 가벼운 데이터베이스 시스템입니다. ([http://www.php.net/manual/en/pdo.installation.php SQLite를 지원하여 PHP를 컴파일하는 방법], PDO 사용)',
        'config-support-oracle' => '* $1은 상용 엔터프라이스 데이터베이스입니다. ([http://www.php.net/manual/en/oci8.installation.php OCI8을 지원하여 PHP를 컴파일하는 방법])',
-       'config-support-ibm_db2' => '* $1는 상용 엔터프라이즈 데이터베이스입니다.',
+       'config-support-ibm_db2' => '* $1는 상용 엔터프라이즈 데이터베이스입니다.([http://www.php.net/manual/en/ibm-db2.installation.php IBM DB2를 지원하여 PHP를 컴파일하는 방법])',
        'config-header-mysql' => 'MySQL 설정',
        'config-header-postgres' => 'PostgreSQL 설정',
        'config-header-sqlite' => 'SQLite 설정',
@@ -10888,39 +10909,39 @@ ASCII 글자 (a-z, A-Z), 숫자 (0-9), 밑줄 (_)과 하이픈 (-)만 사용하
 호스트, 계정 이름과 비밀번호를 확인하고 다시 시도하세요.',
        'config-invalid-schema' => '미디어위키 "$1"에 대한 스키마가 잘못됐습니다.
 ASCII 글자 (a-z, A-Z), 숫자 (0-9), 밑줄 (_)과 하이픈 (-)만 사용하세요.',
-       'config-db-sys-create-oracle' => '설치 마법사는 새 계정을 만들기 위한 SYSDBA 계정만을 지원합니다.',
+       'config-db-sys-create-oracle' => '설치 프로그램은 새 계정을 만들기 위한 SYSDBA 계정만을 지원합니다.',
        'config-db-sys-user-exists-oracle' => '"$1" 사용자 계정이 이미 존재합니다. SYSDBA는 새 계정을 만드는 데에만 사용할 수 있습니다!',
        'config-postgres-old' => 'PostgreSQL $1 이상이 필요하나 $2(이)가 있습니다.',
        'config-sqlite-name-help' => '위키를 식별하기 위한 이름을 선택하세요.
 공백이나 하이픈을 사용하지 마십시오.
 SQLite 데이터 파일 이름에 사용됩니다.',
-       'config-sqlite-parent-unwritable-group' => '<code><nowiki>$1</nowiki></code> 데이터 디렉토리를 만들 수 없으며 <code><nowiki>$2</nowiki></code> 상위 디렉토리에 웹 서버에 의해 쓸 수 없기 때문입니다.
+       'config-sqlite-parent-unwritable-group' => '<code><nowiki>$1</nowiki></code> 데이터 디렉토리를 만들 수 없으며 웹 서버는 <code><nowiki>$2</nowiki></code> 상위 디렉토리에 쓸 수 없기 때문입니다.
 
-설치 마법사는 웹 서버로 실행중인 사용자를 결정할 수 없습니다.
-ê³\84ì\86\8dí\95\98려면 ì\9d´ë¥¼ 쓸 수 있는 <code><nowiki>$3</nowiki></code> 디렉토리를 만드세요.
+설치 프로그램은 웹 서버로 실행중인 사용자를 지정할 수 없습니다.
+ê³\84ì\86\8dí\95\98려면 ì\9b¹ ì\84\9cë²\84ê°\80 쓸 수 있는 <code><nowiki>$3</nowiki></code> 디렉토리를 만드세요.
 유닉스/리눅스 시스템에서의 수행:
 
 <pre>cd $2
 mkdir $3
 chgrp $4 $3
 chmod g+w $3</pre>',
-       'config-sqlite-parent-unwritable-nogroup' => '<code><nowiki>$1</nowiki></code> 데이터 디렉토리를 만들 수 없으며 <code><nowiki>$2</nowiki></code> 상위 디렉토리에 웹 서버에 의해 쓸 수 없기 때문입니다.
+       'config-sqlite-parent-unwritable-nogroup' => '<code><nowiki>$1</nowiki></code> 데이터 디렉토리를 만들 수 없으며 웹 서버는 <code><nowiki>$2</nowiki></code> 상위 디렉토리에 쓸 수 없기 때문입니다.
 
-설치 마법사는 웹 서버로 실행중인 사용자를 결정할 수 없습니다.
-ê³\84ì\86\8dí\95\98려면 ì\9d´(ì\99\80 ê¸°í\83\80!)를 전역으로 쓸 수 있는 <code><nowiki>$3</nowiki></code> 디렉토리를 만드세요.
+설치 프로그램은 웹 서버로 실행중인 사용자를 지정할 수 없습니다.
+ê³\84ì\86\8dí\95\98려면 ì\9b¹ ì\84\9cë²\84\99\80 ê¸°í\83\80!)ê°\80 전역으로 쓸 수 있는 <code><nowiki>$3</nowiki></code> 디렉토리를 만드세요.
 유닉스/리눅스 시스템에서의 수행:
 
 <pre>cd $2
 mkdir $3
 chmod a+w $3</pre>',
-       'config-sqlite-mkdir-error' => '"$1" 데이터 디렉토리를 만드는 중 오류났습니다.
+       'config-sqlite-mkdir-error' => '"$1" 데이터 디렉토리를 만드는 중 오류가 났습니다.
 경로를 확인하고 다시 시도하세요.',
        'config-sqlite-dir-unwritable' => '"$1" 디렉토리에 쓸 수 없습니다.
 웹 서버를 쓸 수 있도록 권한을 바꾸고 다시 시도하세요.',
        'config-sqlite-connection-error' => '$1.
 
 호스트, 계정 이름과 비밀번호를 확인하고 다시 시도하세요.',
-       'config-sqlite-readonly' => '<code>$1</code> í\8c\8cì\9d¼ì\9d\80 ì\93°ê¸°ê°\80 ë¶\88ê°\80ë\8a¥í\95©니다.',
+       'config-sqlite-readonly' => '<code>$1</code> í\8c\8cì\9d¼ì\9d\80 ì\93¸ ì\88\98 ì\97\86ì\8aµ니다.',
        'config-sqlite-cant-create-db' => '<code>$1</code> 데이터베이스 파일을 만들 수 없습니다.',
        'config-sqlite-fts3-downgrade' => 'PHP가 FTS3 지원이 없어졌습니다. 테이블을 다운그레이드하세요.',
        'config-can-upgrade' => "이 데이터베이스에 미디어위키 테이블이 있습니다.
@@ -10935,7 +10956,7 @@ chmod a+w $3</pre>',
 
 이제 [$1 위키를 시작]할 수 있습니다.',
        'config-regenerate' => 'LocalSettings.php 다시 만들기 →',
-       'config-show-table-status' => 'SHOW TABLE STATUS 쿼리 실패!',
+       'config-show-table-status' => '<code>SHOW TABLE STATUS</code> 쿼리를 실패했습니다!',
        'config-unknown-collation' => "'''경고:''' 데이터베이스가 인식하지 않는 정렬을 사용하고 있습니다.",
        'config-db-web-account' => '웹 접근을 위한 데이터베이스 계정',
        'config-db-web-help' => '위키의 일반적인 작업 중에 데이터베이스 서버에 연결하는 데 사용할 웹 서버에 대한 계정 이름과 비밀번호를 선택하세요.',
@@ -10953,7 +10974,7 @@ chmod a+w $3</pre>',
 
 MySQL 설치가 InnoDB를 지원한다면 그 선택 대신에 InnoDB를 선택할 것을 매우 권장합니다.
 MySQL 설치가 InnoDB를 지원하지 않는다면 아마도 업그레이드를 해야 할 수도 있습니다.",
-       'config-mysql-engine-help' => "'''InnoDB'''는 동시적인 지원에 좋기 때문에 거의 항상 최고의 옵션입니다.
+       'config-mysql-engine-help' => "'''InnoDB'''는 동시적인 지원에 좋기 때문에 대부분 최고의 옵션입니다.
 
 '''MyISAM'''은 단일 사용자 또는 읽기 전용 설치에 빠를 수 있습니다.
 MyISAM 데이터베이스는 InnoDB 데이터베이스보다 더 자주 손실될 수 있습니다.",
@@ -10962,8 +10983,8 @@ MyISAM 데이터베이스는 InnoDB 데이터베이스보다 더 자주 손실
        'config-mysql-utf8' => 'UTF-8',
        'config-mysql-charset-help' => "'''바이너리 모드'''에서는 미디어위키는 바이너리 필드의 데이터베이스에 UTF-8 텍스트를 저장합니다.
 MySQL의 UTF-8 모드를 보다 더 효율적이고 유니코드 문자의 전체 범위를 사용할 수 있습니다.
-'''UTF-8 모드'''에서는 MySQL은 데이터를 설정하는 어떤 문자열인지를 알 것이며, 표현하고 적절하게 그것을 변환할 수 있지만
-[//en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes 기본 다국어 범위] 상의 문자를 저장하지 못하게 될 수 있습니다.",
+'''UTF-8 모드'''에서는 MySQL은 데이터를 설정하는 문자 집합을 알고 있기 때문에 적절하게 표현하고 변환할 수 있지만
+[//ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%ED%8F%89%EB%A9%B4#.EA.B8.B0.EB.B3.B8_.EB.8B.A4.EA.B5.AD.EC.96.B4_.ED.8F.89.EB.A9.B4 기본 다국어 평면] 밖의 문자를 저장할 수 없습니다.",
        'config-ibm_db2-low-db-pagesize' => "DB2 데이터베이스에 부족한 페이지 크기가 기본 테이블 공간에 있습니다. 페이지 크기는 '''32K''' 이상이어야 합니다.",
        'config-site-name' => '위키 이름:',
        'config-site-name-help' => '브라우저 제목 표시줄과 다른 여러 곳에 나타납니다.',
@@ -11007,23 +11028,23 @@ MySQL의 UTF-8 모드를 보다 더 효율적이고 유니코드 문자의 전
        'config-optional-continue' => '더 많은 질문을 물어보세요.',
        'config-optional-skip' => '지겨워요, 그냥 위키를 설치할래요.',
        'config-profile' => '사용자 권한 프로필:',
-       'config-profile-wiki' => '평범한 위키', # Fuzzy
+       'config-profile-wiki' => '열린 위키',
        'config-profile-no-anon' => '계정 만들기 필요',
-       'config-profile-fishbowl' => '승인된 편집자만 이용 가능',
+       'config-profile-fishbowl' => '승인된 편집자만',
        'config-profile-private' => '비공개 위키',
-       'config-profile-help' => "ì\9c\84í\82¤ë\8a\94 ë§\8eì\9d\80 ì\82¬ë\9e\8cë\93¤ì\9d´ ê°\80ë\8a¥í\95\9c í\95\9c í\95´ë\8b¹ ì\9c\84í\82¤ë¥¼ í\8e¸ì§\91í\95  ë\95\8c 가장 뛰어난 역할을 합니다.
-미ë\94\94ì\96´ì\9c\84í\82¤ì\97\90ì\84\9cë\8a\94 ìµ\9cê·¼ ë°\94ë\80\9cì\9d\84 ê²\80í\86 í\95\98ê³ , ì\84 í\95\98ê±°ë\82\98 ì\95\85ì\9d\98ì \81ì\9d¸ ì\82¬ì\9a©ì\9e\90ì\9d\98 ëª¨ë\93  손실을 되돌리는 것이 쉽습니다.
+       'config-profile-help' => "ì\9c\84í\82¤ë\8a\94 ë§\8eì\9d\80 ì\82¬ë\9e\8cë\93¤ì\9d´ ê°\80ë\8a¥í\95\9c í\95\9c í\8e¸ì§\91í\95  ì\88\98 ì\9e\88ë\8f\84ë¡\9d í\95\98ë©´ 가장 뛰어난 역할을 합니다.
+미ë\94\94ì\96´ì\9c\84í\82¤ì\97\90ì\84\9cë\8a\94 ìµ\9cê·¼ ë°\94ë\80\9cì\9d\84 ê²\80í\86 í\95\98기 ì\89½ê³ , ì\84 í\95\98ê±°ë\82\98 ì\95\85ì\9d\98ì \81ì\9d¸ ì\82¬ì\9a©ì\9e\90ì\9d\98 ì\96´ë\96 í\95\9c 손실을 되돌리는 것이 쉽습니다.
 
-그러나 많은 사람들이 미디어위키가 다양한 역할로 유용하지만, 때로는 모든 사람에게 위키 방식의 장점을 모두 설득하기 쉽지 않을 지도 모릅니다.
+그러나 많은 사람이 미디어위키는 다양한 역할로 유용하지만, 때로는 모든 사람에게 위키 방식의 장점을 설득하기 쉽지 않을 지도 모릅니다.
 그래서 선택할 수 있습니다.
 
-'''{{int:config-profile-wiki}}''' 로그인하지 않고도 누구나 편집할 수 있습니다.
-'''{{int:config-profile-no-anon}}'''는 각 편집에 추가적으로 강한 책임성을 제공하지만, 부담 없는 기여를 저해할 수도 있습니다.
+'''{{int:config-profile-wiki}}''' 모델은 로그인하지 않고도 누구나 편집할 수 있습니다.
+'''{{int:config-profile-no-anon}}'''인 위키는 각 편집에 추가적으로 강한 책임을 제공하지만, 부담 없는 기여를 저해할 수도 있습니다.
 
-'''{{int:config-profile-fishbowl}}''' 같은 경우는 승인된 사용자만 편집할 수 있지만, 대중은 역사를 포함하여 페이지를 볼 수 있습니다.
-'''{{int:config-profile-private}}'''는 승인된 사용자만 같은 그룹에서 편집할 수 있고 볼 수 있습니다.
+'''{{int:config-profile-fishbowl}}''' 시나리오는 승인된 사용자만 편집할 수 있지만, 대중은 역사를 포함하여 문서를 볼 수 있습니다.
+'''{{int:config-profile-private}}'''는 승인된 사용자만 문서를 볼 수 있으며 해당 그룹을 편집할 수 있습니다.
 
-더 복잡한 사용자 권한을 설정하여 설치한 후 사용할 수 있도록 하려면 [//www.mediawiki.org/wiki/Manual:User_rights 관련 매뉴얼 항목]을 참고하세요.", # Fuzzy
+더 복잡한 사용자 권한을 설정은 설치한 후 사용할 수 있으며 [//www.mediawiki.org/wiki/Manual:User_rights 관련 설명서 항목]을 참고하세요.",
        'config-license' => '저작권 및 라이선스:',
        'config-license-none' => '라이선스 바닥글 없음',
        'config-license-cc-by-sa' => '크리에이티브 커먼즈 저작자표시-동일조건변경허락',
@@ -11033,15 +11054,15 @@ MySQL의 UTF-8 모드를 보다 더 효율적이고 유니코드 문자의 전
        'config-license-gfdl' => 'GNU 자유 문서 사용 허가서 1.3 이상',
        'config-license-pd' => '퍼블릭 도메인',
        'config-license-cc-choose' => '다른 크리에이티브 커먼즈 라이선스 선택',
-       'config-license-help' => '많은 공개 위키는 모든 기여를 [http://freedomdefined.org/Definition 자유 라이선스] 하에 넣습니다.
\9d´ë\9f´ ê²½ì\9a° 커뮤니티 소유권의 이해를 할 수 있도록 하고 장기적인 기여를 장려합니다.
+       'config-license-help' => "많은 공개 위키는 모든 기여를 [http://freedomdefined.org/Definition 자유 라이선스] 하에 넣습니다.
\9d´ë \87ê²\8c í\95\98ë©´ 커뮤니티 소유권의 이해를 할 수 있도록 하고 장기적인 기여를 장려합니다.
 일반적으로 개인 또는 회사 위키에 대해서는 필요하지 않습니다.
 
-위키백과의 텍스트를 사용할 수 있도록 하고 위키백과가 위키에서 복사한 텍스트를 사용할 수 있도록 원한다면 크리에이티브 커먼즈 저작자표시-동일조건변경허락으로 선택해야 합니다.
+위키백과의 텍스트를 사용할 수 있도록 하고 위키백과가 위키에서 복사한 텍스트를 사용할 수 있도록 원한다면 '''크리에이티브 커먼즈 저작자표시-동일조건변경허락'''으로 선택해야 합니다.
 
 위키백과는 이전에 GNU 자유 문서 사용 허가서를 사용했습니다.
-GFDL은 유효한 라이선스이지만 이해하기 어렵습니다.
-GFDL 하에 라이선스 내용을 재사용하는 것도 어렵습니다.',
+GFDL은 유효한 라이선스이지만 내용을 이해하기 어렵습니다.
+GFDL 하에 사용을 허가한 내용을 재사용하는 것도 어렵습니다.",
        'config-email-settings' => '이메일 설정',
        'config-enable-email' => '발신 이메일 활성화',
        'config-enable-email-help' => '이메일을 작동하려면 [http://www.php.net/manual/en/mail.configuration.php PHP의 메일 설정]을 올바르게 설정해야 합니다.
@@ -11053,7 +11074,7 @@ GFDL 하에 라이선스 내용을 재사용하는 것도 어렵습니다.',
        'config-email-watchlist' => '주시문서 목록 알림 활성화',
        'config-email-watchlist-help' => '환경 설정에서 활성화한 경우 사용자가 주시한 문서에 대한 알림을 받도록 활성화합니다.',
        'config-email-auth' => '이메일 인증 활성화',
-       'config-email-auth-help' => "이 설정이 활성화되어 있으면 사용자는 이메일 주소를 설정하거나 바꿀 때마다 그들에게 보낸 링크를 사용하여 이메일 주소를 확인해야 합니다.
+       'config-email-auth-help' => "이 설정이 활성화되어 있으면 사용자는 이메일 주소를 설정하거나 바꿀 때마다 링크를 사용하여 이메일 주소를 확인해야 합니다.
 인증된 이메일 주소만 다른 사용자로부터의 이메일이나 바뀜 알림 이메일을 받을 수 있습니다.
 이메일 기능의 남용 가능성이 있기 때문에 이 옵션을 설정하는 것은 공개 위키에서 '''권장'''합니다.",
        'config-email-sender' => '반송 이메일 주소',
@@ -11063,7 +11084,7 @@ GFDL 하에 라이선스 내용을 재사용하는 것도 어렵습니다.',
        'config-upload-settings' => '그림과 파일 올리기',
        'config-upload-enable' => '파일 올리기 활성화',
        'config-upload-help' => '파일 올리기는 서버에 잠재적인 보안 위험에 쉽게 노출될 수 있습니다.
\9e\90ì\84¸í\95\9c ë\82´ì\9a©ì\9d\80 ë§¤ë\89´ì\96¼ì\9d\98 [//www.mediawiki.org/wiki/Manual:Security ë³´ì\95\88 ë¬¸ë\8b¨]ì\9d\84 ì\9d½ì\96´ë³´세요.
\9e\90ì\84¸í\95\9c ë\82´ì\9a©ì\9d\80 ë§¤ë\89´ì\96¼ì\9d\98 [//www.mediawiki.org/wiki/Manual:Security ë³´ì\95\88 ë¬¸ë\8b¨]ì\9d\84 ì°¸ê³ í\95\98세요.
 
 파일 올리기를 활성화하려면 미디어위키의 루트 디렉토리에 있는 <code>images</code> 하위 디렉토리에서 웹 서버가 기록할 수 있도록 모드를 바꿉니다.
 그 다음 이 옵션을 활성화합니다.',
@@ -11071,10 +11092,10 @@ GFDL 하에 라이선스 내용을 재사용하는 것도 어렵습니다.',
        'config-upload-deleted-help' => '삭제된 파일을 보관할 디렉토리를 선택하세요.
 이상적으로 웹에서 접근할 수 없게 해야 합니다.',
        'config-logo' => '로고 URL:',
-       'config-logo-help' => '미디어위키 기본 스킨은 사이드바 메뉴 위에 135×160픽셀의 로고를 포함하고 있습니다.
+       'config-logo-help' => '미디어위키의 기본 스킨은 사이드바 메뉴 위에 135×160 픽셀의 로고를 포함하고 있습니다.
 적당한 크기로 이미지를 올리고 URL을 여기에 입력하세요.
 
-ë¡\9cê³  ì\82¬ì\9a©ì\9d\84 ì\9b\90í\95\98ì§\80 ì\95\8aì\9c¼ë©´ ì\9d´ ì\83\81ì\9e\90를 ë¹\84ì\9b\8c ë\91\90ì\8b­ì\8b\9cì\98¤.',
+ë¡\9cê³  ì\82¬ì\9a©ì\9d\84 ì\9b\90í\95\98ì§\80 ì\95\8aì\9c¼ë©´ ì\9d´ ì\83\81ì\9e\90를 ë¹\84ì\9a°ì\84¸ì\9a\94.',
        'config-instantcommons' => '인스턴트 공용 활성화',
        'config-instantcommons-help' => '[//www.mediawiki.org/wiki/InstantCommons 인스턴트 공용]은 [//commons.wikimedia.org/ 위키미디어 공용] 사이트에서 찾을 수 있는 그림, 소리 및 다른 미디어를 위키에서 사용할 수 있도록 하는 기능입니다.
 이렇게 하려면 미디어위키가 인터넷에 접근해야합니다.
@@ -11108,7 +11129,7 @@ GFDL 하에 라이선스 내용을 재사용하는 것도 어렵습니다.',
        'config-install-alreadydone' => "'''경고:''' 이미 미디어위키를 설치했고 다시 설치하려고 합니다.
 다음 페이지에서 진행하세요.",
        'config-install-begin' => '"{{int:config-continue}}"을 누르면 미디어위키의 설치를 시작합니다.
-그래도 바꾸는 것을 원한다면 뒤로를 누릅니다.', # Fuzzy
+그래도 바꾸는 것을 원한다면 "{{int:config-back}}"를 누르세요.',
        'config-install-step-done' => '완료',
        'config-install-step-failed' => '실패',
        'config-install-extensions' => '확장 기능을 포함하는 중',
@@ -11126,7 +11147,7 @@ GFDL 하에 라이선스 내용을 재사용하는 것도 어렵습니다.',
 
 현재 미디어위키는 테이블을 웹 사용자가 소유해야 합니다. 다른 웹 계정 이름을 지정하거나 "뒤로"를 클릭하고 적절한 권한의 설치할 사용자를 지정하세요.',
        'config-install-user' => '데이터베이스 사용자를 만드는 중',
-       'config-install-user-alreadyexists' => '"$1" ì\82¬ì\9a©ì\9e\90ê°\80 ì\9d´ë¯¸ ì\9e\88ì\9d\8c',
+       'config-install-user-alreadyexists' => '"$1" ì\82¬ì\9a©ì\9e\90ê°\80 ì\9d´ë¯¸ ì\9e\88ì\8aµë\8b\88ë\8b¤',
        'config-install-user-create-failed' => '"$1" 사용자 만드는 중 실패: $2',
        'config-install-user-grant-failed' => '"$1" 사용자에 대한 권한 부여 실패: $2',
        'config-install-user-missing' => '지정한 "$1" 사용자가 존재하지 않습니다.',
@@ -11152,7 +11173,7 @@ GFDL 하에 라이선스 내용을 재사용하는 것도 어렵습니다.',
        'config-install-done' => "'''축하합니다!'''
 미디어위키가 성공적으로 설치되었습니다.
 
-설치 마법사가 <code>LocalSettings.php</code> 파일을 만들었습니다.
+설치 프로그램이 <code>LocalSettings.php</code> 파일을 만들었습니다.
 모든 설정이 포함되어 있습니다.
 
 파일을 다운로드하여 위키 설치의 거점에 넣어야 합니다. (index.php와 같은 디렉토리) 다운로드가 자동으로 시작됩니다.
@@ -11161,7 +11182,7 @@ GFDL 하에 라이선스 내용을 재사용하는 것도 어렵습니다.',
 
 $3
 
-'''참고''': ì§\80ê¸\88 ì\9d´ë \87ê²\8c í\95\98ì§\80 ì\95\8aì\9c¼ë©´, ì\9d´ ì\84¤ì \95 í\8c\8cì\9d¼ì\9d\84 ë\8b¤ì\9a´ë¡\9cë\93\9cí\95\98ì§\80 ì\95\8aê³  ì\84¤ì¹\98를 ì¢\85ë£\8cí\95  ê²½ì\9a° ë§\8cë\93¤ì\96´ì§\84 ì\84¤ì \95 파일은 나중에 사용할 수 없습니다.
+'''참고''': ì\9d´ ì\83\9dì\84±í\95\9c ì\84¤ì \95 í\8c\8cì\9d¼ì\9d\84 ë\8b¤ì\9a´ë¡\9cë\93\9cí\95\98ì§\80 ì\95\8aê³  ì\84¤ì¹\98를 ë\81\9dë\82´ë©´ ì\9d´ 파일은 나중에 사용할 수 없습니다.
 
 완료되었으면 '''[$2 위키에 들어갈 수 있습니다]'''.",
        'config-download-localsettings' => 'LocalSettings.php 다운로드',
@@ -11200,21 +11221,21 @@ $messages['ksh'] = array(
        'config-desc' => 'Et Projramm för Mediwiki opzesäze.',
        'config-title' => 'MediaWiki $1 opsäze',
        'config-information' => 'Enfomazjuhn',
-       'config-localsettings-upgrade' => 'De Dattei <code lang="en">LocalSettings.php</code> es ald doh.
+       'config-localsettings-upgrade' => 'De Dattei <code lang="en"><code>LocalSettings.php</code></code> es ald doh.
 De Projramme vum Wiki künne op der neußte Shtand jebraat wääde:
 Donn doför dä Wäät vum <code lang="en">$wgUpgradeKey</code> en dat heh Feld enjävve.
-Do fenggs_et en dä Dattei <code lang="en">LocalSettings.php</code> om ẞööver.',
-       'config-localsettings-cli-upgrade' => 'En Dattei <code lang="en">LocalSettings.php</code> es jefonge woode.
+Do fenggs_et en dä Dattei <code lang="en"><code>LocalSettings.php</code></code> om ẞööver.',
+       'config-localsettings-cli-upgrade' => 'En Dattei <code lang="en"><code>LocalSettings.php</code></code> es jefonge woode.
 Öm et Wiki_Projramm op ene neue Shtand ze bränge, donn <code lang="en">update.php</code> oproofe.',
        'config-localsettings-key' => 'Der Schlößel för et Projramm op ene neue Schtand ze bränge:',
        'config-localsettings-badkey' => 'Dinge Schlößel paß nit.',
        'config-upgrade-key-missing' => 'Mer han jefonge, dat MediaWiki ald enschtalleed es.
-Üm de Projramme un Daate o der neue Schtand bränge ze künne, dunn aan et Engk vun dä Dattei <code lang="en">LocalSettings.php</code> op dämm ẞööver:
+Üm de Projramme un Daate o der neue Schtand bränge ze künne, dunn aan et Engk vun dä Dattei <code lang="en"><code>LocalSettings.php</code></code> op dämm ẞööver:
 
 $1
 
 aanhange.',
-       'config-localsettings-incomplete' => 'Mer han en Dattei <code lang="en">LocalSettings.php:</code> jefonge, ävver di schingk nit kumplätt ze sin.
+       'config-localsettings-incomplete' => 'Mer han en Dattei <code lang="en"><code>LocalSettings.php</code>:</code> jefonge, ävver di schingk nit kumplätt ze sin.
 De Varijable <code lang="en">$1</code> es nit jesatz.
 Bes esu joot, un donn di Dattei esu aanpaße, dat se jesaz ea, un dann donn op „{{int:config-continue}}“ klecke.',
        'config-localsettings-connection-error' => 'Ene Fähler es opjetrodde wi mer en Verbendung noh de Datebangk opmaache wullte met dä Enshtellunge uß dä Dattei <code lang="en">LocalSettings</code> udder uß dä Dattei <code lang="en">LocalSettings</code> un et hät nit jeflupp. Bes esu joot un dat repareere un versöhg et dann norr_ens.
@@ -11444,7 +11465,7 @@ Wann dat Daatebangk_Süßteem, wat De nämme wells, onge nit dobei es, dann donn
        'config-support-postgres' => '* <i lang="en">$1</i> es e bikannt Daatebangksüßteem met offe Quälltäxde, un en och en Wahl nävve <i lang="en">MySQL</i> ([http://www.php.net/manual/de/pgsql.installation.php Aanleidung för et Övversäze un Enreeschte von PHP met <i lang="en">PostgreSQL</i> dobei, op Deutsch]) Et sinn_er ävver paa klein Fählershe bekannt, um kunne dat em Momang för et reschtijje Werke nit emfähle.',
        'config-support-sqlite' => '* <i lang="en">$1</i> es e eijfach Daatebangksüßteem, wat joot ongershtöz weed. ([http://www.php.net/manual/de/pdo.installation.php Aanleidong för et Övversäze un Enreeschte von PHP met <i lang="en">SQLite</i> dobei, op Deutsch])',
        'config-support-oracle' => '* <i lang="en">$1</i> es e jeschäfflesch Daatebangksüßteem för Ferme. ([http://www.php.net/manual/de/oci8.installation.php Aanleidong för et Övversäze un Enreeschte von PHP met <i lang="en">OCI8</i> dobei, op Deutsch])',
-       'config-support-ibm_db2' => '* $1 es en Datebengk för et Jeschäff un fö Ongernehme.',
+       'config-support-ibm_db2' => '* $1 es en Datebengk för et Jeschäff un fö Ongernehme.', # Fuzzy
        'config-header-mysql' => 'De Enshtällunge för de <i lang="en">MySQL</i> Daatebangk',
        'config-header-postgres' => 'De Enshtällunge för de <i lang="en">PostgreSQL</i> Daatebangk',
        'config-header-sqlite' => 'De Enshtällunge för de <i lang="en">SQLite</i> Daatebangk',
@@ -11508,7 +11529,7 @@ Dat dom_mer ävver '''nit vörschlonn'''em Jääjedeil, ußer, wann et Probleme
 
 Mer kann dat Wiki jäz [$1 bruche].',
        'config-regenerate' => 'Donn de Dattei <code lang="en">LocalSettings.php</code> neu opsäze →',
-       'config-show-table-status' => 'Et Kommando <code lang="en">SHOW TABLE STATUS</code> aan de Daatebangk es donävve jejange!',
+       'config-show-table-status' => 'Et Kommando <code lang="en"><code>SHOW TABLE STATUS</code></code> aan de Daatebangk es donävve jejange!',
        'config-unknown-collation' => "'''Opjepaß:''' De Daatabangk deiht en onbikannte Reijefollsch bruche, för Booshtaabe un Zeishe ze verjliishe un ze zotteere.",
        'config-db-web-account' => 'Dä Zohjang zor Daatebangk för et Wiki',
        'config-db-web-help' => 'Donn ene Name un e Paßwoot för der Zohjang zor Daatebangk för et Wiki em nomaale Bedrief aanjävve.',
@@ -11581,7 +11602,7 @@ Do künnts jez der Räß vun de einzel Enshtellunge övverjonn, un et Wiki tirä
        'config-optional-continue' => 'De wells noch mieh Frore jeshtallt krijje un noch mieh Enshtällunge maache?',
        'config-optional-skip' => 'Nä, lohß dä Ömshtand, donn eifarr_et Wiki opsäze.',
        'config-profile' => 'Enshtällunge för de Metmaacher ier Rääschte:',
-       'config-profile-wiki' => 'E tradizjonäll offe Wiki',
+       'config-profile-wiki' => 'E tradizjonäll offe Wiki', # Fuzzy
        'config-profile-no-anon' => 'Schriever möße enlogge',
        'config-profile-fishbowl' => 'Bloß ußdröcklesch zohjelohße Schriever',
        'config-profile-private' => 'E jeschloße Privat_Wiki',
@@ -11599,7 +11620,7 @@ Esu häß De de Wahl:
 
 '''{{int:config-profile-private}}''' kann nur lässe, wäh en et Wiki zohjelohße es, un desellve Jropp kann uch schrieve.
 
-Noch ander un un opwändijere Enshtellunge för de Rääschte sin müjjelesch, wann et Wiki ens aam Loufe es. Loor Der doför de [//www.mediawiki.org/wiki/Manual:User_rights zopaß Hölp em Handbooch] aan.",
+Noch ander un un opwändijere Enshtellunge för de Rääschte sin müjjelesch, wann et Wiki ens aam Loufe es. Loor Der doför de [//www.mediawiki.org/wiki/Manual:User_rights zopaß Hölp em Handbooch] aan.", # Fuzzy
        'config-license' => 'Urhävverrääsch un Lizänz:',
        'config-license-none' => 'Kein Fooßreih övver de Lizänz',
        'config-license-cc-by-sa' => '<i lang="en">Creative Commons</i> Der Name moß jenannt sin, et Wiggerjävve es zohjelohße onger dersellve Bedengunge',
@@ -11682,7 +11703,7 @@ Do kann se heh un jez aanschallde, ävver se künnte noch zohsäzlesch Enshtellu
 Et sühd esu uß, wi wann De MediaWiki ald enshtalleet hätß, un wöhrs aam Versöhke, dat norr_ens ze donn.
 Jang wigger op de näähßte Sigg.",
        'config-install-begin' => 'Wann De op „{{int:config-continue}}“ klecks, jeiht de Enshtallazjuhn vum MediaWiki loßß.
-Wann De noch Änderonge maache wells, dann kleck op „{{int:config-back}}“.',
+Wann De noch Änderonge maache wells, dann kleck op „{{int:config-back}}“.', # Fuzzy
        'config-install-step-done' => 'jedonn',
        'config-install-step-failed' => 'donävve jejange',
        'config-install-extensions' => 'Zohsazprojramme enjeschloße',
@@ -11749,7 +11770,7 @@ Wann De mem Ronger- un widder Huhlaade fäädesh bes, kanns De '''[\$2 en Ding W
 Dat es och all op Änglesch:
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]', # Fuzzy
 );
 
 /** Kurdish (Latin script) (Kurdî (latînî)‎)
@@ -11789,6 +11810,7 @@ $messages['lad'] = array(
 
 /** Luxembourgish (Lëtzebuergesch)
  * @author Robby
+ * @author 아라
  */
 $messages['lb'] = array(
        'config-desc' => 'Den Installatiounsprogramm vu MediaWiki',
@@ -11796,12 +11818,12 @@ $messages['lb'] = array(
        'config-information' => 'Informatioun',
        'config-localsettings-upgrade' => "'''Opgepasst''': E Fichier <code>LocalSettings.php</code> gouf fonnt.
 Är Software kann aktualiséiert ginn, setzt w.e.g. de Wäert vum <code>\$wgUpgradeKey</code> an d'Këscht.
-Dir fannt en am LocalSettings.php.",
+Dir fannt en am <code>LocalSettings.php</code>.",
        'config-localsettings-key' => 'Aktualisatiounsschlëssel:',
        'config-localsettings-badkey' => 'De Schlëssel deen Dir aginn hutt ass net korrekt',
-       'config-localsettings-incomplete' => 'De Fichier LocalSettings.php schéngt net komplett ze sinn.
+       'config-localsettings-incomplete' => 'De Fichier <code>LocalSettings.php</code> schéngt net komplett ze sinn.
 D\'Variabel $1 ass net definéiert.
-Ännert w.e.g. de Fichier LocalSettings.php esou datt déi Variabel definéiert ass a klickt op "Virufueren".',
+Ännert w.e.g. de Fichier <code>LocalSettings.php</code> esou datt déi Variabel definéiert ass a klickt op "{{int:Config-continue}}".',
        'config-session-error' => 'Feeler beim Starte vun der Sessioun: $1',
        'config-no-session' => "D'Donnéeë vun ärer Sessioun si verluergaangen!
 Kuckt Är php.ini no a vergewëssert Iech datt <code>session.save_path</code>  op adequate REpertoire agestallt ass.",
@@ -11894,7 +11916,7 @@ Wann et de Kont net gëtt, a wann den Installatiouns-Kont genuch Rechter huet, g
        'config-type-sqlite' => 'SQLite',
        'config-type-oracle' => 'Oracle',
        'config-type-ibm_db2' => 'IBM DB2',
-       'config-support-ibm_db2' => '* $1 ass eng kommerziell Firma fir Datebanken',
+       'config-support-ibm_db2' => '* $1 ass eng kommerziell Firma fir Datebanken', # Fuzzy
        'config-header-mysql' => 'MySQL-Astellungen',
        'config-header-postgres' => 'PostgreSQL-Astellungen',
        'config-header-sqlite' => 'SQLite-Astellungen',
@@ -11952,7 +11974,7 @@ Dir kënnt elo déi Astellungen déi nach iwwreg sinn iwwersprangen an d'Wiki el
        'config-optional-continue' => 'Stellt mir méi Froen.',
        'config-optional-skip' => "Ech hunn es genuch, installéier just d'Wiki.",
        'config-profile' => 'Profil vun de Benotzerrechter:',
-       'config-profile-wiki' => 'Traditionell Wiki',
+       'config-profile-wiki' => 'Traditionell Wiki', # Fuzzy
        'config-profile-no-anon' => 'Uleeë vun engem Benotzerkont verlaangt',
        'config-profile-fishbowl' => 'Nëmmen autoriséiert Editeuren',
        'config-profile-private' => 'Privat Wiki',
@@ -12000,7 +12022,7 @@ Dir kënnt elo déi Astellungen déi nach iwwreg sinn iwwersprangen an d'Wiki el
 == Starthëllefen ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Hëllef bei der Konfiguratioun]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki-FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglëscht vun neie MediaWiki-Versiounen]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglëscht vun neie MediaWiki-Versiounen]", # Fuzzy
 );
 
 /** Lingua Franca Nova (Lingua Franca Nova)
@@ -12277,6 +12299,7 @@ $messages['min'] = array(
 
 /** Macedonian (македонски)
  * @author Bjankuloski06
+ * @author 아라
  */
 $messages['mk'] = array(
        'config-desc' => 'Инсталатор на МедијаВики',
@@ -12284,19 +12307,19 @@ $messages['mk'] = array(
        'config-information' => 'Информации',
        'config-localsettings-upgrade' => 'Востановена е податотека <code>LocalSettings.php</code>.
 За да ја надградите инсталцијава, внесете ја вредноста на <code>$wgUpgradeKey</code> во полето подолу.
-Тоа е го најдете во LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Утврдено е присуството на податотеката „LocalSettings.php“.
-За да ја надградите инсталацијата, пуштете ја „update.php“ наместо горенаведената.',
+Тоа е го најдете во <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Утврдено е присуството на податотеката „<code>LocalSettings.php</code>“.
+За да ја надградите инсталацијата, пуштете ја „<code>update.php</code>“ наместо горенаведената.',
        'config-localsettings-key' => 'Надградбен клуч:',
        'config-localsettings-badkey' => 'Клучот што го наведовте е погрешен',
        'config-upgrade-key-missing' => 'Востановена е постоечка инсталација на МедијаВики.
-За да ја надградите, вметнете го следниов ред на дното од вашата страница LocalSettings.php:
+За да ја надградите, вметнете го следниов ред на дното од вашата страница <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'Постоечката страница LocalSettings.php е нецелосна.
+       'config-localsettings-incomplete' => 'Постоечката страница <code>LocalSettings.php</code> е нецелосна.
 Не е поставена променливата $1.
-Изменете ја страницата LocalSettings.php така што ќе ѝ зададете вредност на променливата, па стиснете на „Продолжи“.',
-       'config-localsettings-connection-error' => 'Се појави грешка при поврзувањето со базата користејќи ги поставките назначени во LocalSettings.php или AdminSettings.php. Исправете ги овие поставки и обидете се повторно.
+Изменете ја страницата <code>LocalSettings.php</code> така што ќе ѝ зададете вредност на променливата, па стиснете на „{{int:Config-continue}}“.',
+       'config-localsettings-connection-error' => 'Се појави грешка при поврзувањето со базата користејќи ги поставките назначени во <code>LocalSettings.php</code> или <code>AdminSettings.php</code>. Исправете ги овие поставки и обидете се повторно.
 
 $1',
        'config-session-error' => 'Грешка при започнување на сесијата: $1',
@@ -12513,7 +12536,7 @@ $1
        'config-support-postgres' => '* $1 е популарен систем на бази на податоци со отворен код кој претставува алтернатива на MySQL ([http://www.php.net/manual/en/pgsql.installation.php како да составите PHP со поддршка за PostgreSQL]). Може сè уште да има некои грешки. па затоа не се препорачува за употреба во производна средина.',
        'config-support-sqlite' => '* $1 е лесен систем за бази на податоци кој е многу добро поддржан. ([http://www.php.net/manual/en/pdo.installation.php Како да составите PHP со поддршка за SQLite], користи PDO)',
        'config-support-oracle' => '* $1 е база на податоци на комерцијално претпријатие. ([http://www.php.net/manual/en/oci8.installation.php Како да составите PHP со поддршка за OCI8])',
-       'config-support-ibm_db2' => '* $1 is комерцијална база на податоциза фирми.', # Fuzzy
+       'config-support-ibm_db2' => '* $1 е комерцијална база на податоциза фирми. ([http://www.php.net/manual/en/ibm-db2.installation.php Како да составите PHP со поддршка за IBM DB2])',
        'config-header-mysql' => 'Нагодувања на MySQL',
        'config-header-postgres' => 'Нагодувања на PostgreSQL',
        'config-header-sqlite' => 'Нагодувања на SQLite',
@@ -12581,7 +12604,7 @@ chmod a+w $3</pre>',
 
 Сега можете да [$1 почнете да го користите викито].',
        'config-regenerate' => 'Пресоздај LocalSettings.php →',
-       'config-show-table-status' => 'Барањето SHOW TABLE STATUS не успеа!',
+       'config-show-table-status' => 'Барањето <code>SHOW TABLE STATUS</code> не успеа!',
        'config-unknown-collation' => "'''Предупредување:''' Базата корисни непрепознаена упатна споредба.",
        'config-db-web-account' => 'Сметка на базата за мрежен пристап',
        'config-db-web-help' => 'Одберете корисничко име и лозинка што ќе ги користи мрежниот опслужувач за поврзување со опслужувачот на базта на податоци во текот на редовната работа со викито.',
@@ -12922,7 +12945,7 @@ $1
 ബാക്കിയുള്ളവ അവഗണിച്ച് വിക്കി ഇൻസ്റ്റോൾ ചെയ്യാവുന്നതാണ്.',
        'config-optional-continue' => 'കൂടുതൽ ചോദ്യങ്ങൾ ചോദിക്കൂ.',
        'config-optional-skip' => 'എനിക്ക് മടുത്തു, ഒന്ന് ഇൻസ്റ്റോൾ ചെയ്ത് തീർക്ക്.',
-       'config-profile-wiki' => 'പരമ്പരാഗത വിക്കി',
+       'config-profile-wiki' => 'പരമ്പരാഗത വിക്കി', # Fuzzy
        'config-profile-no-anon' => 'അംഗത്വ സൃഷ്ടി ചെയ്യേണ്ടതുണ്ട്',
        'config-profile-fishbowl' => 'അനുവാദമുള്ളവർ മാത്രം തിരുത്തുക',
        'config-profile-private' => 'സ്വകാര്യ വിക്കി',
@@ -12976,7 +12999,7 @@ $3
 == പ്രാരംഭസഹായികൾ ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings ക്രമീകരണങ്ങളുടെ പട്ടിക]
 * [//www.mediawiki.org/wiki/Manual:FAQ മീഡിയവിക്കി പതിവുചോദ്യങ്ങൾ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce മീഡിയവിക്കി പ്രകാശന മെയിലിങ് ലിസ്റ്റ്]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce മീഡിയവിക്കി പ്രകാശന മെയിലിങ് ലിസ്റ്റ്]', # Fuzzy
 );
 
 /** Mongolian (монгол)
@@ -13248,6 +13271,7 @@ $messages['nan'] = array(
 /** Norwegian Bokmål (norsk (bokmål)‎)
  * @author Event
  * @author Nghtwlkr
+ * @author 아라
  */
 $messages['nb'] = array(
        'config-desc' => 'Installasjonsprogrammet for MediaWiki',
@@ -13255,19 +13279,19 @@ $messages['nb'] = array(
        'config-information' => 'Informasjon',
        'config-localsettings-upgrade' => 'En <code>LocalSettings.php</code>-fil har blitt oppdaget.
 For å oppgradere denne installasjonen, skriv inn verdien av <code>$wgUpgradeKey</code> i boksen nedenfor.
-Du finner denne i LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => "Filen ''LocalSettings.php'' er funnet.
+Du finner denne i <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => "Filen ''<code>LocalSettings.php</code>'' er funnet.
 For å oppgradere denne installasjonen, vennligst kjør ''update.php'' i stedet",
        'config-localsettings-key' => 'Oppgraderingsnøkkel:',
        'config-localsettings-badkey' => 'Nøkkelen du oppga er feil.',
        'config-upgrade-key-missing' => "En eksisterende installasjon av MediaWiki er funnet.
-For å oppgradere denne installasjonen, vær vennlig å legge til følgende linje helt til slutt i din ''LocalSettings.php''-fil:
+For å oppgradere denne installasjonen, vær vennlig å legge til følgende linje helt til slutt i din ''<code>LocalSettings.php</code>''-fil:
 
 $1",
-       'config-localsettings-incomplete' => "Den eksisterende ''LocalSettings.php'' ser ut til å være ufullstendig.
+       'config-localsettings-incomplete' => "Den eksisterende ''<code>LocalSettings.php</code>'' ser ut til å være ufullstendig.
 Variabelen $1 har ingen verdi.
-Vær vennlig å endre ''LocalSettings.php'' slik at variabelen får en verdi, og klikk ''Fortsett''.",
-       'config-localsettings-connection-error' => "Det ble funnet en feil ved tilknytning av databasen med innstillingene i ''LocalSettings.php'' eller ''AdminSettings.php''. Vær vennlig å rette opp disse innstillingene og prøv igjen.
+Vær vennlig å endre ''<code>LocalSettings.php</code>'' slik at variabelen får en verdi, og klikk ''{{int:Config-continue}}''.",
+       'config-localsettings-connection-error' => "Det ble funnet en feil ved tilknytning av databasen med innstillingene i ''<code>LocalSettings.php</code>'' eller ''<code>AdminSettings.php</code>''. Vær vennlig å rette opp disse innstillingene og prøv igjen.
 
 $1",
        'config-session-error' => 'Feil under oppstart av økt: $1',
@@ -13485,7 +13509,7 @@ Hvis du ikke ser databasesystemet du prøver å bruke i listen nedenfor, følg i
        'config-support-postgres' => '* $1 er et populært åpen kildekode-databasesystem som er et alternativ til MySQL ([http://www.php.net/manual/en/pgsql.installation.php hvordan kompilere PHP med PostgreSQL-støtte]). Det kan være noen små utestående feil og det anbefales ikke for bruk i et produksjonsmiljø.',
        'config-support-sqlite' => '* $1 er et lettvekts-databasesystem som er veldig godt støttet. ([http://www.php.net/manual/en/pdo.installation.php hvordan kompilere PHP med SQLite-støtte], bruker PDO)',
        'config-support-oracle' => '* $1 er en kommersiell bedriftsdatabase. ([http://www.php.net/manual/en/oci8.installation.php Hvordan kompilere PHP med OCI8-støtte])',
-       'config-support-ibm_db2' => '* $1 er en kommersiell bedriftsdatabase.',
+       'config-support-ibm_db2' => '* $1 er en kommersiell bedriftsdatabase.', # Fuzzy
        'config-header-mysql' => 'MySQL-innstillinger',
        'config-header-postgres' => 'PostgreSQL-innstillinger',
        'config-header-sqlite' => 'SQLite-innstillinger',
@@ -13553,7 +13577,7 @@ Dette er '''ikke anbefalt''' med mindre du har problemer med wikien din.",
 
 Du kan nå [$1 begynne å bruke wikien din].',
        'config-regenerate' => 'Regenerer LocalSettings.php →',
-       'config-show-table-status' => 'SHOW TABLE STATUS etterspørselen mislyktes!',
+       'config-show-table-status' => '<code>SHOW TABLE STATUS</code> etterspørselen mislyktes!',
        'config-unknown-collation' => "'''Advarsel:''' Databasen bruker en ukjent sortering.",
        'config-db-web-account' => 'Databasekonto for nettilgang',
        'config-db-web-help' => 'Velg brukernavnet og passordet som nettjeneren skal bruke for å koble til databasetjeneren under ordinær drift av wikien.',
@@ -13617,7 +13641,7 @@ Du kan hoppe over de resterende konfigurasjonene og installere wikien nå.',
        'config-optional-continue' => 'Spør meg flere spørsmål.',
        'config-optional-skip' => 'Jeg er lei, bare installer wikien.',
        'config-profile' => 'Brukerrettighetsprofil:',
-       'config-profile-wiki' => 'Tradisjonell wiki',
+       'config-profile-wiki' => 'Tradisjonell wiki', # Fuzzy
        'config-profile-no-anon' => 'Kontoopprettelse påkrevd',
        'config-profile-fishbowl' => 'Kun autoriserte bidragsytere',
        'config-profile-private' => 'Privat wiki',
@@ -13633,7 +13657,7 @@ En wiki med '''{{int:config-profile-no-anon}}''' tilbyr ekstra ansvarlighet, men
 '''{{int:config-profile-fishbowl}}'''-scenariet tillater godkjente brukere å redigere, mens publikum kan se sider, og også historikken.
 En '''{{int:config-profile-private}}''' tillater kun godkjente brukere å se sider, den samme gruppen som får lov til å redigere dem.
 
-Mer komplekse konfigurasjoner av brukerrettigheter er tilgjengelig etter installasjon, se det [//www.mediawiki.org/wiki/Manual:User_rights relevante manualavsnittet].",
+Mer komplekse konfigurasjoner av brukerrettigheter er tilgjengelig etter installasjon, se det [//www.mediawiki.org/wiki/Manual:User_rights relevante manualavsnittet].", # Fuzzy
        'config-license' => 'Opphavsrett og lisens:',
        'config-license-none' => 'Ingen lisensbunntekst',
        'config-license-cc-by-sa' => 'Creative Commons Navngivelse Del på samme vilkår',
@@ -13703,7 +13727,7 @@ For mer informasjon om denne funksjonen, inklusive instruksjoner om hvordan man
 ==Å starte==
 *[//www.mediawiki.org/wiki/Manual:Configuration_settings Oppsettsliste]
 *[//www.mediawiki.org/wiki/Manual:FAQ Ofte stilte spørsmål]
-*[https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-postliste]',
+*[https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-postliste]', # Fuzzy
 );
 
 /** Low German (Plattdüütsch)
@@ -13748,6 +13772,7 @@ $messages['ne'] = array(
  * @author SPQRobin
  * @author Siebrand
  * @author Tjcool007
+ * @author 아라
  */
 $messages['nl'] = array(
        'config-desc' => 'Het installatieprogramma voor MediaWiki',
@@ -13755,19 +13780,19 @@ $messages['nl'] = array(
        'config-information' => 'Gegevens',
        'config-localsettings-upgrade' => 'Er is een bestaand instellingenbestand <code>LocalSettings.php</code> gevonden.
 Voer de waarde van <code>$wgUpgradeKey</code> in in onderstaande invoerveld om deze installatie bij te werken.
-De instelling is terug te vinden in LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Het bestand LocalSettings.php is al aanwezig.
-Voer update.php uit om deze installatie bij te werken.',
+De instelling is terug te vinden in <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Het bestand <code>LocalSettings.php</code> is al aanwezig.
+Voer <code>update.php</code> uit om deze installatie bij te werken.',
        'config-localsettings-key' => 'Upgradesleutel:',
        'config-localsettings-badkey' => 'De sleutel die u hebt opgegeven is onjuist',
        'config-upgrade-key-missing' => 'Er is een bestaande installatie van MediaWiki aangetroffen.
-Plaats de volgende regel onderaan uw LocalSettings.php om deze installatie bij te werken:
+Plaats de volgende regel onderaan uw <code>LocalSettings.php</code> om deze installatie bij te werken:
 
 $1',
-       'config-localsettings-incomplete' => 'De bestaande inhoud van LocalSettings.php lijkt incompleet.
+       'config-localsettings-incomplete' => 'De bestaande inhoud van <code>LocalSettings.php</code> lijkt incompleet.
 De variabele $1 is niet ingesteld.
-Wijzig LocalSettings.php zodat deze variabele is ingesteld en klik op "Doorgaan".',
-       'config-localsettings-connection-error' => 'Er is een fout opgetreden tijdens het verbinden van de database met de instellingen uit LocalSettings.php of AdminSettings.php. Los het probleem met de instellingen op en probeer het daarna opnieuw.
+Wijzig <code>LocalSettings.php</code> zodat deze variabele is ingesteld en klik op "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Er is een fout opgetreden tijdens het verbinden van de database met de instellingen uit <code>LocalSettings.php</code> of <code>AdminSettings.php</code>. Los het probleem met de instellingen op en probeer het daarna opnieuw.
 
 $1',
        'config-session-error' => 'Fout bij het begin van de sessie: $1',
@@ -13987,7 +14012,7 @@ Als u het databasesysteem dat u wilt gebruiken niet in de lijst terugvindt, volg
        'config-support-postgres' => '* $1 is een populair open source databasesysteem als alternatief voor MySQL ([http://www.php.net/manual/en/pgsql.installation.php hoe PHP gecompileerd moet zijn met ondersteuning voor PostgreSQL]). Het is mogelijk dat er een aantal bekende problemen zijn met MediaWiki in combinatie met deze database en daarom wordt PostgreSQL niet aanbevolen voor een productieomgeving.',
        'config-support-sqlite' => '* $1 is een zeer goed ondersteund lichtgewicht databasesysteem ([http://www.php.net/manual/en/pdo.installation.php hoe PHP gecompileerd zijn met ondersteuning voor SQLite]; gebruikt PDO)',
        'config-support-oracle' => '* $1 is een commerciële data voor grote bedrijven ([http://www.php.net/manual/en/oci8.installation.php PHP compileren met ondersteuning voor OCI8]).',
-       'config-support-ibm_db2' => '* $1 is een commerciële enterprisedatabase.', # Fuzzy
+       'config-support-ibm_db2' => '* $1 is een commerciële enterprisedatabase. ([http://www.php.net/manual/en/ibm-db2.installation.php Hoe PHP compolieren met ondersteuning voor IBM DB2])',
        'config-header-mysql' => 'MySQL-instellingen',
        'config-header-postgres' => 'PostgreSQL-instellingen',
        'config-header-sqlite' => 'SQLite-instellingen',
@@ -14057,7 +14082,7 @@ Dit is '''niet aan te raden''' tenzij u problemen hebt met uw wiki.",
 
 U kunt nu [$1 uw wiki gebruiken].',
        'config-regenerate' => 'LocalSettings.php opnieuw aanmaken →',
-       'config-show-table-status' => 'Het uitvoeren van SHOW TABLE STATUS is mislukt!',
+       'config-show-table-status' => 'Het uitvoeren van <code>SHOW TABLE STATUS</code> is mislukt!',
        'config-unknown-collation' => "'''Waarschuwing:''' de database gebruikt een collatie die niet wordt herkend.",
        'config-db-web-account' => 'Databasegebruiker voor webtoegang',
        'config-db-web-help' => 'Selecteer de gebruikersnaam en het wachtwoord die de webserver gebruikt om verbinding te maken met de databaseserver na de installatie.',
@@ -14140,13 +14165,13 @@ In MediaWiki is het eenvoudig om de recente wijzigingen te controleren en eventu
 Daarnaast vinden velen MediaWiki goed inzetbaar in vele andere rollen, en soms is het niet handig om helemaal \"op de wikimanier\" te werken.
 Daarom biedt dit installatieprogramma u de volgende keuzes voor de basisinstelling van gebruikersvrijheden:
 
-Een '''{{int:config-profile-wiki}}''' staat iedereen toe te bewerken, zonder zelfs aan te melden.
+Het profiel '''{{int:config-profile-wiki}}''' staat iedereen toe te bewerken, zonder zelfs aan te melden.
 Een wiki met '''{{int:config-profile-no-anon}}\" biedt extra verantwoordelijkheid, maar kan afschrikken toevallige gebruikers afschrikken.
 
 Het scenario '''{{int:config-profile-fishbowl}}''' laat gebruikers waarvoor dat is ingesteld bewerkt, maar andere gebruikers kunnen alleen pagina's bekijken, inclusief de bewerkingsgeschiedenis.
 In een '''{{int:config-profile-private}}''' kunnen alleen goedgekeurde gebruikers pagina's bekijken en bewerken.
 
-Meer complexe instellingen voor gebruikersrechten zijn te maken na de installatie; hierover is meer te lezen in de [//www.mediawiki.org/wiki/Manual:User_rights handleiding].", # Fuzzy
+Meer complexe instellingen voor gebruikersrechten zijn te maken na de installatie; hierover is meer te lezen in de [//www.mediawiki.org/wiki/Manual:User_rights handleiding].",
        'config-license' => 'Auteursrechten en licentie:',
        'config-license-none' => 'Geen licentie in de voettekst',
        'config-license-cc-by-sa' => 'Creative Commons Naamsvermelding-Gelijk delen',
@@ -14233,7 +14258,7 @@ Mogelijk moet u aanvullende instellingen maken, maar u kunt deze uitbreidingen n
        'config-install-alreadydone' => "'''Waarschuwing:''' het lijkt alsof u MediaWiki al hebt geïnstalleerd en probeert het programma opnieuw te installeren.
 Ga alstublieft door naar de volgende pagina.",
        'config-install-begin' => 'Als u nu op "{{int:config-continue}}" klikt, begint de installatie van MediaWiki.
-Als u nog wijzigingen wilt maken, klik dan op "Terug".', # Fuzzy
+Als u nog wijzigingen wilt maken, klik dan op "{{int:config-back}}".',
        'config-install-step-done' => 'afgerond',
        'config-install-step-failed' => 'mislukt',
        'config-install-extensions' => 'Inclusief uitbreidingen',
@@ -14310,7 +14335,7 @@ Na het plaatsen van het bestand met instellingen kunt u '''[$2 uw wiki betreden]
 $messages['nl-informal'] = array(
        'config-localsettings-badkey' => 'De sleutel die je hebt opgegeven is onjuist',
        'config-upgrade-key-missing' => 'Er is een bestaande installatie van MediaWiki aangetroffen.
-Plaats de volgende regel onderaan je LocalSettings.php om deze installatie bij te werken:
+Plaats de volgende regel onderaan je <code>LocalSettings.php</code> om deze installatie bij te werken:
 
 $1',
        'config-session-expired' => 'Je sessiegegevens zijn verlopen.
@@ -14483,7 +14508,7 @@ Een wiki met '''{{int:config-profile-no-anon}}\" biedt extra verantwoordelijkhei
 Het scenario '''{{int:config-profile-fishbowl}}''' laat gebruikers waarvoor dat is ingesteld bewerkt, maar andere gebruikers kunnen alleen pagina's bekijken, inclusief de bewerkingsgeschiedenis.
 In een '''{{int:config-profile-private}}''' kunnen alleen goedgekeurde gebruikers pagina's bekijken en bewerken.
 
-Meer complexe instellingen voor gebruikersrechten zijn te maken na de installatie; hierover is meer te lezen in de [//www.mediawiki.org/wiki/Manual:User_rights handleiding].",
+Meer complexe instellingen voor gebruikersrechten zijn te maken na de installatie; hierover is meer te lezen in de [//www.mediawiki.org/wiki/Manual:User_rights handleiding].", # Fuzzy
        'config-license-help' => "In veel openbare wiki's zijn alle bijdragen beschikbaar onder een [http://freedomdefined.org/Definition vrije licentie].
 Dit helpt bij het creëren van een gevoel van gemeenschappelijk eigendom en stimuleert bijdragen op lange termijn.
 Dit is over het algemeen niet nodig is voor een particuliere of zakelijke wiki.
@@ -14515,7 +14540,7 @@ Mogelijk moet je aanvullende instellingen maken, maar je kunt deze uitbreidingen
        'config-install-alreadydone' => "'''Waarschuwing:''' het lijkt alsof je MediaWiki al hebt geïnstalleerd en probeert het programma opnieuw te installeren.
 Ga alsjeblieft door naar de volgende pagina.",
        'config-install-begin' => 'Als je nu op "{{int:config-continue}}" klikt, begint de installatie van MediaWiki.
-Als je nog wijzigingen wilt maken, klik dan op "Terug".',
+Als je nog wijzigingen wilt maken, klik dan op "Terug".', # Fuzzy
        'config-pg-no-plpgsql' => 'Je moet de taal PL/pgSQL installeren in de database $1',
        'config-pg-no-create-privs' => 'De gebruiker die je hebt opgegeven door de installatie heeft niet voldoende rechten om een gebruiker aan te maken.',
        'config-pg-not-in-role' => 'De gebruiker die je hebt opgegeven voor de webgebruiker bestaat al.
@@ -14687,6 +14712,7 @@ $messages['pdc'] = array(
  * @author Saper
  * @author Sp5uhe
  * @author Woytecr
+ * @author 아라
  */
 $messages['pl'] = array(
        'config-desc' => 'Instalator MediaWiki',
@@ -14694,19 +14720,19 @@ $messages['pl'] = array(
        'config-information' => 'Informacja',
        'config-localsettings-upgrade' => 'Plik <code>LocalSettings.php</code> istnieje.
 Aby oprogramowanie zostało zaktualizowane musisz wstawić wartość <code>$wgUpgradeKey</code> w poniższe pole.
-Odnajdziesz ją w LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Wykryto obecność pliku LocalSettings.php.
-Aktualizację należy wykonać poprzez uruchomienie update.php',
+Odnajdziesz ją w <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Wykryto obecność pliku <code>LocalSettings.php</code>.
+Aktualizację należy wykonać poprzez uruchomienie <code>update.php</code>',
        'config-localsettings-key' => 'Klucz aktualizacji',
        'config-localsettings-badkey' => 'Podany klucz jest nieprawidłowy',
        'config-upgrade-key-missing' => 'Wykryto zainstalowane wcześniej MediaWiki.
-Jeśli chcesz je zaktualizować dodaj na koniec pliku LocalSettings.php poniższą linię tekstu.
+Jeśli chcesz je zaktualizować dodaj na koniec pliku <code>LocalSettings.php</code> poniższą linię tekstu.
 
 $1',
-       'config-localsettings-incomplete' => 'Istniejący plik LocalSettings.php wygląda na niekompletny.
+       'config-localsettings-incomplete' => 'Istniejący plik <code>LocalSettings.php</code> wygląda na niekompletny.
 Brak wartości zmiennej $1.
-Zmień plik LocalSettings.php, tak by zawierał deklarację wartości tej zmiennej, a następnie kliknij „Dalej”.',
-       'config-localsettings-connection-error' => 'Wystąpił błąd podczas łączenia z bazą danych z wykorzystaniem danych z LocalSettings.php lub AdminSettings.php.
+Zmień plik <code>LocalSettings.php</code>, tak by zawierał deklarację wartości tej zmiennej, a następnie kliknij „{{int:Config-continue}}”.',
+       'config-localsettings-connection-error' => 'Wystąpił błąd podczas łączenia z bazą danych z wykorzystaniem danych z <code>LocalSettings.php</code> lub <code>AdminSettings.php</code>.
 Popraw ustawienia i spróbuj ponownie.
 
 $1',
@@ -14919,7 +14945,7 @@ Poniżej wyświetlone są systemy baz danych gotowe do użycia. Jeżeli poniżej
        'config-support-postgres' => '* $1 jest popularnym systemem baz danych, często stosowanym zamiast MySQL  ([http://www.php.net/manual/en/pgsql.installation.php Zobacz, jak skompilować PHP ze wsparciem dla PostgreSQL]). Z powodu możliwości wystąpienia drobnych błędów, nie jest zalecana do wymagających wdrożeń.',
        'config-support-sqlite' => '* $1 jest niewielkim systemem bazy danych, z którym MediaWiki bardzo dobrze współpracuje. ([http://www.php.net/manual/en/pdo.installation.php Jak skompilować PHP ze wsparciem dla SQLite], korzystając z PDO)',
        'config-support-oracle' => '* $1 jest komercyjną profesjonalną bazą danych. ([http://www.php.net/manual/en/oci8.installation.php Jak skompilować PHP ze wsparciem dla OCI8])',
-       'config-support-ibm_db2' => '* $1 jest komercyjną zaawansowaną bazą danych.',
+       'config-support-ibm_db2' => '* $1 jest komercyjną zaawansowaną bazą danych.', # Fuzzy
        'config-header-mysql' => 'Ustawienia MySQL',
        'config-header-postgres' => 'Ustawienia PostgreSQL',
        'config-header-sqlite' => 'Ustawienia SQLite',
@@ -14987,7 +15013,7 @@ Jest to '''nie zalecane''', chyba że występują problemy z twoją wiki.",
 
 Możesz wreszcie [$1 zacząć korzystać ze swojej wiki].',
        'config-regenerate' => 'Ponowne generowanie LocalSettings.php →',
-       'config-show-table-status' => 'Zapytanie „SHOW TABLE STATUS” nie powiodło się!',
+       'config-show-table-status' => 'Zapytanie „<code>SHOW TABLE STATUS</code>” nie powiodło się!',
        'config-unknown-collation' => "'''Uwaga''' – bazy danych używa nierozpoznanej metody porównywania.",
        'config-db-web-account' => 'Konto bazy danych dla dostępu przez WWW',
        'config-db-web-help' => 'Wybierz nazwę użytkownika i hasło, z których korzystać będzie serwer WWW do łączenia się z serwerem baz danych, podczas zwykłej pracy z wiki.',
@@ -15059,7 +15085,7 @@ Możesz pominąć pozostałe czynności konfiguracyjne i zainstalować wiki.',
        'config-optional-continue' => 'Zadaj mi więcej pytań.',
        'config-optional-skip' => 'Jestem już znudzony, po prostu zainstaluj wiki.',
        'config-profile' => 'Profil uprawnień użytkowników',
-       'config-profile-wiki' => 'Tradycyjne wiki',
+       'config-profile-wiki' => 'Tradycyjne wiki', # Fuzzy
        'config-profile-no-anon' => 'Wymagane utworzenie konta',
        'config-profile-fishbowl' => 'Wyłącznie zatwierdzeni edytorzy',
        'config-profile-private' => 'Prywatna wiki',
@@ -15074,7 +15100,7 @@ Wiki z '''{{int:config-profile-no-anon}}''' zawiera dodatkowe funkcje rozliczani
 Scenariusz '''{{int:config-profile-fishbowl}}''' umożliwia zatwierdzonym użytkownikom edycję, ale wyświetlanie stron jest powszechnie dostępne, włącznie z historią.
 Ustawienie '''{{int:config-profile-private}}'' ' pozwala na wyświetlanie stron tylko zatwierdzonym użytkownikom, ta sama grupa może edytować.
 
-Bardziej skomplikowane konfiguracje uprawnień użytkowników są dostępne po zakończeniu instalacji, zobacz [//www.mediawiki.org/wiki/Manual:User_rights odpowiednią część podręcznika].",
+Bardziej skomplikowane konfiguracje uprawnień użytkowników są dostępne po zakończeniu instalacji, zobacz [//www.mediawiki.org/wiki/Manual:User_rights odpowiednią część podręcznika].", # Fuzzy
        'config-license' => 'Prawa autorskie i licencja',
        'config-license-none' => 'Brak stopki z licencją',
        'config-license-cc-by-sa' => 'Creative Commons – za uznaniem autora, na tych samych zasadach',
@@ -15159,7 +15185,7 @@ Mogą one wymagać dodatkowych czynności konfiguracyjnych, ale można je teraz
        'config-install-alreadydone' => "'''Uwaga''' – wydaje się, że MediaWiki jest już zainstalowane, a obecnie próbujesz zainstalować je ponownie.
 Przejdź do następnej strony.",
        'config-install-begin' => 'Po naciśnięciu "{{int:config-continue}}", rozpocznie się instalacji MediaWiki.
-Jeśli nadal chcesz dokonać zmian, naciśnij wstecz.',
+Jeśli nadal chcesz dokonać zmian, naciśnij wstecz.', # Fuzzy
        'config-install-step-done' => 'gotowe',
        'config-install-step-failed' => 'nieudane',
        'config-install-extensions' => 'Włącznie z rozszerzeniami',
@@ -15223,13 +15249,14 @@ Po załadowaniu pliku konfiguracyjnego możesz '''[ $2  wejść na wiki]'''.",
 == Na początek ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista ustawień konfiguracyjnych]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Komunikaty o nowych wersjach MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Komunikaty o nowych wersjach MediaWiki]', # Fuzzy
 );
 
 /** Piedmontese (Piemontèis)
  * @author Borichèt
  * @author Dragonòt
  * @author Krinkle
+ * @author 아라
  */
 $messages['pms'] = array(
        'config-desc' => "L'instalador për mediaWiki",
@@ -15238,18 +15265,18 @@ $messages['pms'] = array(
        'config-localsettings-upgrade' => "A l'é stàit trovà n'archivi <code>LocalSettings.php</code>.
 Për agiorné cost'anstalassion, ch'a anserissa ël valor ëd <code>\$wgUpgradeKey</code> ant la casela sì-sota.
 A la trovrà an LocalSetting.php.",
-       'config-localsettings-cli-upgrade' => "N'archivi LocalSettings.php a l'é stàit trovà.
-Për agiorné sta instalassion, për piasì fà anvece giré update.php",
+       'config-localsettings-cli-upgrade' => "N'archivi <code>LocalSettings.php</code> a l'é stàit trovà.
+Për agiorné sta instalassion, për piasì fà anvece giré <code>update.php</code>",
        'config-localsettings-key' => "Ciav d'agiornament:",
        'config-localsettings-badkey' => "La ciav ch'it l'has dàit a l'é pa giusta.",
        'config-upgrade-key-missing' => "A l'é stàita trovà n'istalassion esistenta ëd MediaWiki. 
-Për agiorné soa istalassion, për piasì ch'a buta la linia sì-sota al fond ëd sò LocalSettings.php:
+Për agiorné soa istalassion, për piasì ch'a buta la linia sì-sota al fond ëd sò <code>LocalSettings.php</code>:
 
 $1",
-       'config-localsettings-incomplete' => "L'esistent LocalSettings.php a smija esse ancomplet.
+       'config-localsettings-incomplete' => "L'esistent <code>LocalSettings.php</code> a smija esse ancomplet.
 La variàbil $1 a l'é nen ampostà.
-Për piasì, ch'a modìfica LocalSettings.php ëd fasson che costa variàbil a sia ampostà, e ch'a sgnaca «Anans».",
-       'config-localsettings-connection-error' => "A l'é ancapitaje n'eror an colegand-se a la base ëd dàit an dovrand j'ampostassion specificà an LocalSettings.php o AdminSettings.php. Për piasì, ch'a coregia cost'ampostassion e ch'a preuva torna.
+Për piasì, ch'a modìfica <code>LocalSettings.php</code> ëd fasson che costa variàbil a sia ampostà, e ch'a sgnaca «{{int:Config-continue}}».",
+       'config-localsettings-connection-error' => "A l'é ancapitaje n'eror an colegand-se a la base ëd dàit an dovrand j'ampostassion specificà an <code>LocalSettings.php</code> o <code>AdminSettings.php</code>. Për piasì, ch'a coregia cost'ampostassion e ch'a preuva torna.
 
 $1",
        'config-session-error' => 'Eror an fasend parte la session: $1',
@@ -15528,7 +15555,7 @@ Sòn a l'è '''pa arcomandà''' gavà ch'a rancontra dij problema con soa wiki."
 
 It peule adess [$1 ancaminé a dovré toa wiki].',
        'config-regenerate' => 'Generé torna LocalSettings.php →',
-       'config-show-table-status' => 'Arcesta SHOW TABLE STATUS falìa!',
+       'config-show-table-status' => 'Arcesta <code>SHOW TABLE STATUS</code> falìa!',
        'config-unknown-collation' => "'''Avis:''' La base ëd dàit a deuvra na classificassion pa arconossùa.",
        'config-db-web-account' => "Cont dla base ëd dàit për l'acess a l'aragnà",
        'config-db-web-help' => "Ch'a selession-a lë stranòm d'utent e la ciav che ël servent ëd l'aragnà a dovrërà për coleghesse al servent dle base ëd dàit, durant j'operassion ordinarie dla wiki.",
@@ -15847,6 +15874,7 @@ $messages['ps'] = array(
  * @author Platonides
  * @author SandroHc
  * @author Waldir
+ * @author 아라
  */
 $messages['pt'] = array(
        'config-desc' => 'O instalador do MediaWiki',
@@ -15854,19 +15882,19 @@ $messages['pt'] = array(
        'config-information' => 'Informação',
        'config-localsettings-upgrade' => 'Foi detectado um ficheiro <code>LocalSettings.php</code>.
 Para actualizar esta instalação, por favor introduza o valor de <code>$wgUpgradeKey</code> na caixa abaixo.
-Encontra este valor no LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Foi detectada a existência de um ficheiro LocalSettings.php.
-Para actualizar esta instalação execute o update.php, por favor.',
+Encontra este valor no <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Foi detectada a existência de um ficheiro <code>LocalSettings.php</code>.
+Para actualizar esta instalação execute o <code>update.php</code>, por favor.',
        'config-localsettings-key' => 'Chave de actualização:',
        'config-localsettings-badkey' => 'A chave que forneceu está incorreta.',
        'config-upgrade-key-missing' => 'Foi detectada uma instalação existente do MediaWiki.
-Para actualizar esta instalação, por favor coloque a seguinte linha no final do seu LocalSettings.php:
+Para actualizar esta instalação, por favor coloque a seguinte linha no final do seu <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'O ficheiro LocalSettings.php existente parece estar incompleto.
+       'config-localsettings-incomplete' => 'O ficheiro <code>LocalSettings.php</code> existente parece estar incompleto.
 A variável $1 não está definida.
-Por favor defina esta variável no LocalSettings.php e clique "Continuar".',
-       'config-localsettings-connection-error' => 'Ocorreu um erro ao ligar à base de dados usando as configurações especificadas no LocalSettings.php ou AdminSettings.php. Por favor corrija essas configurações e tente novamente.
+Por favor defina esta variável no <code>LocalSettings.php</code> e clique "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Ocorreu um erro ao ligar à base de dados usando as configurações especificadas no <code>LocalSettings.php</code> ou <code>AdminSettings.php</code>. Por favor corrija essas configurações e tente novamente.
 
 $1',
        'config-session-error' => 'Erro ao iniciar a sessão: $1',
@@ -16082,7 +16110,7 @@ Se a plataforma que pretende usar não está listada abaixo, siga as instruçõe
        'config-support-postgres' => '* $1 é uma plataforma de base de dados comum, de fonte aberta, alternativa ao MySQL ([http://www.php.net/manual/en/pgsql.installation.php como compilar PHP com suporte PostgreSQL]). Poderão existir alguns pequenos problemas e não é recomendado o seu uso em ambientes de exploração/produção.',
        'config-support-sqlite' => '* $1 é uma plataforma de base de dados ligeira muito bem suportada. ([http://www.php.net/manual/en/pdo.installation.php Como compilar PHP com suporte SQLite], usa PDO)',
        'config-support-oracle' => '* $1 é uma base de dados de uma empresa comercial. ([http://www.php.net/manual/en/oci8.installation.php How to compile PHP with OCI8 support])',
-       'config-support-ibm_db2' => '* $1 é uma base de dados empresarial.',
+       'config-support-ibm_db2' => '* $1 é uma base de dados empresarial.', # Fuzzy
        'config-header-mysql' => 'Definições MySQL',
        'config-header-postgres' => 'Definições PostgreSQL',
        'config-header-sqlite' => 'Definições SQLite',
@@ -16150,7 +16178,7 @@ Esta operação '''não é recomendada''' a menos que esteja a ter problemas com
 
 Agora pode [$1 começar a usar a sua wiki].',
        'config-regenerate' => 'Regenerar o LocalSettings.php →',
-       'config-show-table-status' => 'A consulta SHOW TABLE STATUS falhou!',
+       'config-show-table-status' => 'A consulta <code>SHOW TABLE STATUS</code> falhou!',
        'config-unknown-collation' => "'''Aviso:''' A base de dados está a utilizar uma colação ''(collation)'' desconhecida.",
        'config-db-web-account' => 'Conta na base de dados para acesso pela internet',
        'config-db-web-help' => 'Seleccione o nome de utilizador e a palavra-chave que o servidor de internet irá utilizar para aceder ao servidor da base de dados, durante a operação normal da wiki.',
@@ -16223,7 +16251,7 @@ Agora pode saltar as configurações restantes e instalar já a wiki.',
        'config-optional-continue' => 'Faz-me mais perguntas.',
        'config-optional-skip' => 'Já estou aborrecido, instala lá a wiki.',
        'config-profile' => 'Perfil de permissões:',
-       'config-profile-wiki' => 'Wiki tradicional',
+       'config-profile-wiki' => 'Wiki tradicional', # Fuzzy
        'config-profile-no-anon' => 'Criação de conta exigida',
        'config-profile-fishbowl' => 'Somente utilizadores autorizados',
        'config-profile-private' => 'Wiki privada',
@@ -16239,7 +16267,7 @@ Uma wiki com '''{{int:config-profile-no-anon}}''' atribui mais responsabilidade,
 Um cenário '''{{int:config-profile-fishbowl}}''' permite que os utilizadores aprovados editem, mas que o público visione as páginas, incluindo o historial das mesmas.
 Uma '''{{int:config-profile-private}}''' só permite que os utilizadores aprovados visionem as páginas e as editem.
 
-Após a instalação, estarão disponíveis mais configurações de privilégios. Consulte [//www.mediawiki.org/wiki/Manual:User_rights a entrada relevante no Manual].",
+Após a instalação, estarão disponíveis mais configurações de privilégios. Consulte [//www.mediawiki.org/wiki/Manual:User_rights a entrada relevante no Manual].", # Fuzzy
        'config-license' => 'Direitos de autor e licença:',
        'config-license-none' => 'Sem rodapé com a licença',
        'config-license-cc-by-sa' => 'Creative Commons - Atribuição - Partilha nos Mesmos Termos',
@@ -16324,7 +16352,7 @@ Estas talvez necessitem de configurações adicionais, mas pode activá-las agor
        'config-install-alreadydone' => "'''Aviso:''' Parece que já instalou o MediaWiki e está a tentar instalá-lo novamente.
 Passe para a próxima página, por favor.",
        'config-install-begin' => 'Ao clicar "{{int:config-continue}}", vai iniciar a instalação do MediaWiki.
-Se quiser fazer mais alterações, clique Voltar.',
+Se quiser fazer mais alterações, clique Voltar.', # Fuzzy
        'config-install-step-done' => 'terminado',
        'config-install-step-failed' => 'falhou',
        'config-install-extensions' => 'A incluir as extensões',
@@ -16390,7 +16418,7 @@ Depois de terminar o passo anterior, pode '''[$2 entrar na wiki]'''.",
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista de opções de configuração]
 * [//www.mediawiki.org/wiki/Manual:FAQ Perguntas e respostas frequentes sobre o MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Subscreva a lista de divulgação de novas versões do MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Subscreva a lista de divulgação de novas versões do MediaWiki]', # Fuzzy
 );
 
 /** Brazilian Portuguese (português do Brasil)
@@ -16405,13 +16433,13 @@ $messages['pt-br'] = array(
        'config-information' => 'Informações',
        'config-localsettings-upgrade' => 'Foi detectada a existência do arquivo <code>LocalSettings.php</code>.
 Para atualizar esta instalação, insira no box abaixo o valor de <code>$wgUpgradeKey</code>.
-Essa informação pode ser encontrada no arquivo LocalSettings.php',
-       'config-localsettings-cli-upgrade' => 'Foi detectada a existência do arquivo <code>LocalSettings.php</code>.
+Essa informação pode ser encontrada no arquivo <code>LocalSettings.php</code>',
+       'config-localsettings-cli-upgrade' => 'Foi detectada a existência do arquivo <code><code>LocalSettings.php</code></code>.
 Esta instalação deverá ser atualizada através do <code>update.php</code>',
        'config-localsettings-key' => 'Chave de atualização:',
        'config-localsettings-badkey' => 'A chave fornecida está incorreta.',
        'config-upgrade-key-missing' => 'Foi detectada uma instalação existente do MediaWiki.
-Para atualizar esta instalação, por favor, coloque a seguinte linha na parte inferior do seu LocalSettings.php:
+Para atualizar esta instalação, por favor, coloque a seguinte linha na parte inferior do seu <code>LocalSettings.php</code>:
 
 $ 1', # Fuzzy
        'config-session-error' => 'Erro ao iniciar a sessão: $1',
@@ -16485,7 +16513,7 @@ Se você não pretende usar um logotipo, deixe este campo em branco.', # Fuzzy
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista de opções de configuração]
 * [//www.mediawiki.org/wiki/Manual:FAQ FAQ do MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discussão com avisos de novas versões do MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discussão com avisos de novas versões do MediaWiki]', # Fuzzy
 );
 
 /** Quechua (Runa Simi)
@@ -16716,6 +16744,7 @@ $messages['roa-tara'] = array(
  * @author Yuriy Apostol
  * @author Александр Сигачёв
  * @author Сrower
+ * @author 아라
  */
 $messages['ru'] = array(
        'config-desc' => 'Инсталлятор MediaWiki',
@@ -16723,19 +16752,19 @@ $messages['ru'] = array(
        'config-information' => 'Информация',
        'config-localsettings-upgrade' => 'Обнаружен файл <code>LocalSettings.php</code>.
 Для обновления этой установки, пожалуйста, введите значение <code>$wgUpgradeKey</code>.
-Его можно найти в файле LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Обнаружен файл LocalSettings.php.
-Для обновления этой установки, пожалуйста, запустите update.php',
+Его можно найти в файле <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Обнаружен файл <code>LocalSettings.php</code>.
+Для обновления этой установки, пожалуйста, запустите <code>update.php</code>',
        'config-localsettings-key' => 'Ключ обновления:',
        'config-localsettings-badkey' => 'Вы указали неправильный ключ',
        'config-upgrade-key-missing' => 'Обнаружена существующая установленная копия MediaWiki.
-Чтобы обновить обнаруженную установку, пожалуйста, добавьте следующую строку в конец вашего файла LocalSettings.php:
+Чтобы обновить обнаруженную установку, пожалуйста, добавьте следующую строку в конец вашего файла <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'Похоже, что существующий файл LocalSettings.php не является полными.
+       'config-localsettings-incomplete' => 'Похоже, что существующий файл <code>LocalSettings.php</code> не является полными.
 Не установлена переменная $1.
-Пожалуйста, измените LocalSettings.php так, чтобы значение этой переменной было задано, затем нажмите «Продолжить».',
-       'config-localsettings-connection-error' => 'Произошла ошибка при подключении к базе данных с помощью настроек, указанных в LocalSettings.php или AdminSettings.php. Пожалуйста, исправьте эти настройки и повторите попытку.
+Пожалуйста, измените <code>LocalSettings.php</code> так, чтобы значение этой переменной было задано, затем нажмите «{{int:Config-continue}}».',
+       'config-localsettings-connection-error' => 'Произошла ошибка при подключении к базе данных с помощью настроек, указанных в <code>LocalSettings.php</code> или <code>AdminSettings.php</code>. Пожалуйста, исправьте эти настройки и повторите попытку.
 
 $1',
        'config-session-error' => 'Ошибка при запуске сессии: $1',
@@ -17020,7 +17049,7 @@ chmod a+w $3</pre>',
 
 Теперь вы можете [$1 начать работу с вики].',
        'config-regenerate' => 'Создать LocalSettings.php заново →',
-       'config-show-table-status' => 'Запрос «SHOW TABLE STATUS» не выполнен!',
+       'config-show-table-status' => 'Запрос «<code>SHOW TABLE STATUS</code>» не выполнен!',
        'config-unknown-collation' => "'''Внимание:''' База данных использует нераспознанные правила сортировки.",
        'config-db-web-account' => 'Учётная запись для доступа к базе данных из веб-сервера',
        'config-db-web-help' => 'Выберите имя пользователя и пароль, которые веб-сервер будет использовать для подключения к серверу базы данных при обычной работе вики.',
@@ -17546,12 +17575,12 @@ $messages['sl'] = array(
        'config-desc' => 'Namestitveni program za MediaWiki',
        'config-title' => 'Namestitev MediaWiki $1',
        'config-information' => 'Informacije',
-       'config-localsettings-cli-upgrade' => 'Zaznana je bila datoteka LocalSettings.php.
-Za nadgradnjo te namestitve zaženite update.php',
+       'config-localsettings-cli-upgrade' => 'Zaznana je bila datoteka <code>LocalSettings.php</code>.
+Za nadgradnjo te namestitve zaženite <code>update.php</code>',
        'config-localsettings-key' => 'Nadgraditveni ključ:',
        'config-localsettings-badkey' => 'Naveden ključ je napačen.',
        'config-upgrade-key-missing' => 'Zaznana je bila obstoječa namestitev MediaWiki.
-Za nadgradnjo te namestitve vstavite naslednjo vrstico na dno vaše LocalSettings.php:
+Za nadgradnjo te namestitve vstavite naslednjo vrstico na dno vaše <code>LocalSettings.php</code>:
 
 $1',
        'config-session-error' => 'Napaka pri začenjanju seje: $1',
@@ -17663,7 +17692,7 @@ Preverite mapo podatkov in ime zbirke podatkov spodaj ter poskusite znova.',
 
 Sedaj lahko [$1 začnete uporabljati vaš wiki].',
        'config-regenerate' => 'Ponovno ustvari LocalSettings.php →',
-       'config-show-table-status' => 'Poizvedba SHOW TABLE STATUS ni uspela!',
+       'config-show-table-status' => 'Poizvedba <code>SHOW TABLE STATUS</code> ni uspela!',
        'config-unknown-collation' => "'''Opozorilo:''' Zbirke podatkov uporablja neprepoznano razvrščanje znakov.",
        'config-db-web-account' => 'Račun zbirke podatkov za spletni dostop',
        'config-db-web-account-same' => 'Uporabi enak račun kot za namestitev',
@@ -17708,7 +17737,7 @@ Sedaj lahko preskočite preostalo konfiguriranje in zdaj namestite wiki.',
        'config-optional-continue' => 'Zastavi mi več vprašanj.',
        'config-optional-skip' => 'Se že dolgočasim; samo namesti wiki.',
        'config-profile' => 'Profil uporabniških pravic:',
-       'config-profile-wiki' => 'Klasičen wiki',
+       'config-profile-wiki' => 'Klasičen wiki', # Fuzzy
        'config-profile-no-anon' => 'Zahtevano je ustvarjanje računa',
        'config-profile-fishbowl' => 'Samo pooblaščeni urejevalci',
        'config-profile-private' => 'Zasebni wiki',
@@ -17751,7 +17780,7 @@ Vnesite ime dovoljenja ročno.',
        'config-help' => 'pomoč',
        'mainpagetext' => "'''Programje MediaWiki je bilo uspešno nameščeno.'''",
        'mainpagedocfooter' => 'Za uporabo in pomoč pri nastavitvi, prosimo, preglejte [//meta.wikimedia.org/wiki/MediaWiki_localisation dokumentacijo za prilagajanje vmesnika]
-in [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Uporabniški priročnik].',
+in [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Uporabniški priročnik].', # Fuzzy
 );
 
 /** Lower Silesian (Schläsch)
@@ -18376,6 +18405,7 @@ $messages['tk'] = array(
 /** Tagalog (Tagalog)
  * @author AnakngAraw
  * @author Sky Harbor
+ * @author 아라
  */
 $messages['tl'] = array(
        'config-desc' => 'Ang tagapagluklok para sa MediaWiki',
@@ -18383,20 +18413,20 @@ $messages['tl'] = array(
        'config-information' => 'Kabatiran',
        'config-localsettings-upgrade' => 'Napansin ang isang talaksang <code>LocalSettings.php</code>.
 Upang maitaas ang uri ng pagluluklok na ito, paki ipasok ang halaga ng <code>$wgUpgradeKey</code> sa loob ng kahong nasa ibaba.
-Matatagpuan mo ito sa loob ng LocalSettings.php.',
-       'config-localsettings-cli-upgrade' => 'Napansin ang isang talaksan ng LocalSettings.php.
-Upang isapanahon ang pagtatalagang ito, mangyaring patakbuhin sa halip ang update.php',
+Matatagpuan mo ito sa loob ng <code>LocalSettings.php</code>.',
+       'config-localsettings-cli-upgrade' => 'Napansin ang isang talaksan ng <code>LocalSettings.php</code>.
+Upang isapanahon ang pagtatalagang ito, mangyaring patakbuhin sa halip ang <code>update.php</code>',
        'config-localsettings-key' => 'Susi ng pagsasapanahon:',
        'config-localsettings-badkey' => 'Hindi tama ang susing ibinigay mo.',
        'config-upgrade-key-missing' => 'Napansin ang isang umiiral na pagtatalaga ng MediaWiki.
-Upang isapanahon ang katalagahang ito, mangyaring ilagay ang sumusunod na guhit sa ilalim ng iyong LocalSettings.php:
+Upang isapanahon ang katalagahang ito, mangyaring ilagay ang sumusunod na guhit sa ilalim ng iyong <code>LocalSettings.php</code>:
 
 $1',
-       'config-localsettings-incomplete' => 'Lumilitaw na hindi pa buo ang umiiral na LocalSettings.php.
+       'config-localsettings-incomplete' => 'Lumilitaw na hindi pa buo ang umiiral na <code>LocalSettings.php</code>.
 Ang pabagu-bagong $1 ay hindi nakatakda.
-Mangyaring baguhin ang  LocalSettings.php upang ang maitakda ang pagpapabagu-bagong ito, at pindutin ang "Magpatuloy".',
-       'config-localsettings-connection-error' => 'Isang kamalian ang nakatagpo noong kumakabit sa kalipunan ng dato na ginagamit ang tinukoy na mga katakdaan sa loob ng LocalSettings.php o
-AdminSettings.php. Paki kumpunihin ang mga katakdaang ito at subukang muli.
+Mangyaring baguhin ang  <code>LocalSettings.php</code> upang ang maitakda ang pagpapabagu-bagong ito, at pindutin ang "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Isang kamalian ang nakatagpo noong kumakabit sa kalipunan ng dato na ginagamit ang tinukoy na mga katakdaan sa loob ng <code>LocalSettings.php</code> o
+<code>AdminSettings.php</code>. Paki kumpunihin ang mga katakdaang ito at subukang muli.
 
 $1',
        'config-session-error' => 'Kamalian sa pagsisimula ng sesyon: $1',
@@ -18610,7 +18640,7 @@ Kung hindi mo makita ang sistema ng kalipunan ng dato na sinusubukan mong gamiti
        'config-support-postgres' => '* Ang $1 ay isang bantog na sistema ng kalipunan ng dato na bukas ang pinagmulan na panghalili sa MySQL ([http://www.php.net/manual/en/pgsql.installation.php paano magtipon ng PHP na mayroong suporta ng PostgreSQL]). Maaaring mayroong ilang hindi pangunahing mga surot na natitira pa, at hindi iminumungkahi para gamitin sa loob ng isang kapaligiran ng produksiyon.',
        'config-support-sqlite' => 'Ang $1 ay isang magaan ang timbang na sistema ng kalipunan ng dato na sinusuportahan nang napaka mainam. ([http://www.php.net/manual/en/pdo.installation.php Paano magtipon ng PHP na mayroong suporta ng SQLite], gumagamit ng PDO)',
        'config-support-oracle' => '* Ang $1 ay isang kalipunan ng dato ng kasigasigang pangkalakal. ([http://www.php.net/manual/en/oci8.installation.php Paano magtipunan ng PHP na mayroong suporta ng OCI8])',
-       'config-support-ibm_db2' => '* Ang $1 ay isang kalipunan ng dato ng kasigasigang pangkalakal.',
+       'config-support-ibm_db2' => '* Ang $1 ay isang kalipunan ng dato ng kasigasigang pangkalakal.', # Fuzzy
        'config-header-mysql' => 'Mga katakdaan ng MySQL',
        'config-header-postgres' => 'Mga katakdaan ng PostgreSQL',
        'config-header-sqlite' => 'Mga katakdaan ng SQLite',
@@ -18678,7 +18708,7 @@ Kung nais mong muling likhain ang iyong talaksang <code>LocalSettings.php</code>
 
 Maaari ka na ngayong [$1 magsimula sa paggamit ng wiki mo].',
        'config-regenerate' => 'Muling likhain ang LocalSettings.php →',
-       'config-show-table-status' => 'Nabigo ang pagtatanong na IPAKITA ANG KALAGAYAN NG TALAHANAYAN!',
+       'config-show-table-status' => 'Nabigo ang pagtatanong na IPAKITA ANG KALAGAYAN NG TALAHANAYAN!', # Fuzzy
        'config-unknown-collation' => "'''Babala:''' Ang kalipunan ng dato ay gumagagamit ng hindi nakikilalang pag-iipon.",
        'config-db-web-account' => 'Akawnt ng kalipunan ng dato para sa pagpunta sa web',
        'config-db-web-help' => 'Piliin ang pangalan ng tagagamit at hudyat na gagamitin ng tagapaghain ng web upang umugnay sa tagapaghain ng kalipunan ng dato, habang nasa pangkaraniwang pagtakbo ng wiki.',
@@ -18748,7 +18778,7 @@ Maaari mo ngayong laktawan ang natitira pang pag-aayos at iluklok na ang wiki ng
        'config-optional-continue' => 'Magtanong sa akin ng marami pang mga tanong.',
        'config-optional-skip' => 'Naiinip na ako, basta iluklok na lang ang wiki.',
        'config-profile' => 'Balangkas ng mga karapatan ng tagagamit:',
-       'config-profile-wiki' => 'Tradisyonal na wiki',
+       'config-profile-wiki' => 'Tradisyonal na wiki', # Fuzzy
        'config-profile-no-anon' => 'Kailangan ang paglikha ng akawnt',
        'config-profile-fishbowl' => 'Pinahintulutang mga patnugot lamang',
        'config-profile-private' => 'Pribadong wiki',
@@ -18764,7 +18794,7 @@ Ang isang wiki na mayroong '''{{int:config-profile-no-anon}}''' ay nagbibigay ng
 Ang tagpo na '''{{int:config-profile-fishbowl}}''' ay nagpapahintulot lamang sa pinayagang mga tagagamit na makatingin ng mga pahina, na kapiling ang pangkat na pinayagang  makapamatnugot.
 Ang isang '''{{int:config-profile-private}}''' ay nagpapahintulot lamang sa pinayagang mga tagagamit na makatingin ng mga pahina, na kapiling ang pangkat na pinayagang makapamatnugot.
 
-Ang mas masasalimuot na mga kaayusan ng mga karapatan ng tagagamit ay makukuha pagkaraan ng pagluluklok, tingnan ang [//www.mediawiki.org/wiki/Manual:User_rights may kaugnayang kinamay na lahok].",
+Ang mas masasalimuot na mga kaayusan ng mga karapatan ng tagagamit ay makukuha pagkaraan ng pagluluklok, tingnan ang [//www.mediawiki.org/wiki/Manual:User_rights may kaugnayang kinamay na lahok].", # Fuzzy
        'config-license' => 'Karapatang-ari at lisensiya:',
        'config-license-none' => 'Walang talababa ng lisensiya',
        'config-license-cc-by-sa' => 'Malikhaing Pangkaraniwang Pagtukoy Pamamahaging Magkatulad',
@@ -18849,7 +18879,7 @@ Maaaring mangailangan ang mga ito ng karagdagang kaayusan, subalit mapapagana mo
        'config-install-alreadydone' => "'''Babala:''' Tila nailuklok mo na ang MediaWiki at tinatangka mong iluklok ito ulit.
 Paki magpatuloy sa susunod na pahina.",
        'config-install-begin' => 'Sa pamamagitan ng pagpindot sa "{{int:config-continue}}", sisimulan mo ang pagluluklok ng MediaWiki.
-Kung nais mo paring gumawa ng mga pagbabago, paki pindutin ang bumalik.',
+Kung nais mo paring gumawa ng mga pagbabago, paki pindutin ang bumalik.', # Fuzzy
        'config-install-step-done' => 'nagawa na',
        'config-install-step-failed' => 'nabigo',
        'config-install-extensions' => 'Isinasama ang mga karugtong',
@@ -18915,7 +18945,7 @@ Kapag nagawa na iyan, maaari ka nang '''[$2 pumasok sa wiki mo]'''.",
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Tala ng mga nakatakdang kumpigurasyon]
 * [//www.mediawiki.org/wiki/Manual:FAQ Mga malimit itanong sa MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Tala ng mga pinadadalhan ng liham ng MediaWiki]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Tala ng mga pinadadalhan ng liham ng MediaWiki]", # Fuzzy
 );
 
 /** толышә зывон (толышә зывон)
@@ -18991,6 +19021,7 @@ $messages['ug-arab'] = array(
  * @author Diemon.ukr
  * @author Ата
  * @author Тест
+ * @author 아라
  */
 $messages['uk'] = array(
        'config-desc' => 'Інсталятор MediaWiki',
@@ -18999,17 +19030,17 @@ $messages['uk'] = array(
        'config-localsettings-upgrade' => "'''Увага''': було виявлено файл <code>LocalSettings.php</code>.
 Ваше програмне забезпечення може бути оновлено.
 Будь-ласка, перемістіть файл <code>LocalSettings.php</code> в іншу безпечну директорію, а потім знову запустіть програму установки.",
-       'config-localsettings-cli-upgrade' => 'Виявлено файл LocalSettings.php.
-Щоб оновити наявну установку, запустіть update.php',
+       'config-localsettings-cli-upgrade' => 'Виявлено файл <code>LocalSettings.php</code>.
+Щоб оновити наявну установку, запустіть <code>update.php</code>',
        'config-localsettings-key' => 'Ключ оновлення:',
        'config-localsettings-badkey' => 'Ви вказали неправильний ключ.',
        'config-upgrade-key-missing' => 'Виявлено наявну установку MediaWiki.
-Для оновлення цієї установки, будь ласка, вставте такий рядок в кінець вашого LocalSettings.php:
+Для оновлення цієї установки, будь ласка, вставте такий рядок в кінець вашого <code>LocalSettings.php</code>:
 $1',
-       'config-localsettings-incomplete' => 'Існуючий файл LocalSettings.php виявився неповним.
+       'config-localsettings-incomplete' => 'Існуючий файл <code>LocalSettings.php</code> виявився неповним.
 Не вказано змінну $1.
-Будь ласка, змініть LocalSettings.php так, щоб цю змінну було задано, і натисніть "Продовжити".',
-       'config-localsettings-connection-error' => 'Сталася помилка при підключення до бази даних з допомогою налаштувань на сторінці LocalSettings.php чи AdminSettings.php. Будь ласка, виплавте ці налаштування і спробуйте знову.
+Будь ласка, змініть <code>LocalSettings.php</code> так, щоб цю змінну було задано, і натисніть "{{int:Config-continue}}".',
+       'config-localsettings-connection-error' => 'Сталася помилка при підключення до бази даних з допомогою налаштувань на сторінці <code>LocalSettings.php</code> чи <code>AdminSettings.php</code>. Будь ласка, виплавте ці налаштування і спробуйте знову.
 
 $1',
        'config-session-error' => 'Помилка початку сесії: $1',
@@ -19221,7 +19252,7 @@ $1
        'config-support-postgres' => '* $1 — популярна відкрита СУБД, альтернатива MySQL ([http://www.php.net/manual/en/pgsql.installation.php як зібрати PHP з допомогою PostgreSQL]). Можуть зустрічатись деякі невеликі невиправлені помилки, не рекомендується використовувати у робочій системі.',
        'config-support-sqlite' => '* $1 — легка система баз даних, яка дуже добре підтримується. ([http://www.php.net/manual/en/pdo.installation.php Як зібрати PHP з допомогою SQLite], що використовує PDO)',
        'config-support-oracle' => '* $1 — комерційна база даних масштабу підприємства. ([http://www.php.net/manual/en/oci8.installation.php Як зібрати PHP з підтримкою OCI8])',
-       'config-support-ibm_db2' => '* $1 — комерційна база даних масштабу підприємства.',
+       'config-support-ibm_db2' => '* $1 — комерційна база даних масштабу підприємства.', # Fuzzy
        'config-header-mysql' => 'Налаштування MySQL',
        'config-header-postgres' => 'Налаштування PostgreSQL',
        'config-header-sqlite' => 'Налаштування SQLite',
@@ -19289,7 +19320,7 @@ chmod a+w $3</pre>',
 
 Ви можете зараз [$1 починати використовувати свою вікі].',
        'config-regenerate' => 'Повторно згенерувати LocalSettings.php →',
-       'config-show-table-status' => 'Запит SHOW TABLE STATUS не виконано!',
+       'config-show-table-status' => 'Запит <code>SHOW TABLE STATUS</code> не виконано!',
        'config-unknown-collation' => "'''Увага:''' База даних використовує нерозпізнане сортування.",
        'config-db-web-account' => 'Обліковий запис бази даних для інтернет-доступу',
        'config-db-web-help' => "Оберіть ім'я користувача і пароль, які веб-сервер буде використовувати для з'єднання із сервером бази даних під час звичайної роботи вікі.",
@@ -19361,7 +19392,7 @@ chmod a+w $3</pre>',
        'config-optional-continue' => 'Запитуйте ще.',
        'config-optional-skip' => 'Це вже втомлює, просто встановити вікі.',
        'config-profile' => 'Профіль прав користувача:',
-       'config-profile-wiki' => 'Традиційна вікі',
+       'config-profile-wiki' => 'Традиційна вікі', # Fuzzy
        'config-profile-no-anon' => 'Необхідно створити обліковий запис',
        'config-profile-fishbowl' => 'Тільки для авторизованих редакторів',
        'config-profile-private' => 'Приватна вікі',
@@ -19376,7 +19407,7 @@ chmod a+w $3</pre>',
 Спосіб \"'''{{int:config-profile-fishbowl}}'''\" дозволяє редагувати підтвердженим користувачам, а переглядати сторінки і історію можуть усі.
 '''{{int:config-profile-private}}''' дозволяє переглядати сторінки і редагувати лише підтвердженим користувачам.
 
-Детальніші конфігурації прав користувачів доступні після встановлення, див. [//www.mediawiki.org/wiki/Manual:User_rights відповідний розділ посібника].",
+Детальніші конфігурації прав користувачів доступні після встановлення, див. [//www.mediawiki.org/wiki/Manual:User_rights відповідний розділ посібника].", # Fuzzy
        'config-license' => 'Авторські права і ліцензія:',
        'config-license-none' => 'Без ліцензії у нижньому колонтитулі',
        'config-license-cc-by-sa' => 'Creative Commons Attribution Share Alike',
@@ -19458,7 +19489,7 @@ GFDL — допустима ліцензія, але у ній важко роз
        'config-install-alreadydone' => "'''Увага:''' Здається, Ви вже встановлювали MediaWiki і зараз намагаєтесь встановити її знову.
 Будь ласка, перейдіть на наступну сторінку.",
        'config-install-begin' => 'Натискаючи "{{int:config-continue}}", Ви розпочинаєте встановлення MediaWiki.
-Якщо Ви все ще хочете внести зміни, натисніть "Назад".',
+Якщо Ви все ще хочете внести зміни, натисніть "Назад".', # Fuzzy
        'config-install-step-done' => 'виконано',
        'config-install-step-failed' => 'не вдалося',
        'config-install-extensions' => 'У тому числі розширення',
@@ -19772,20 +19803,21 @@ $messages['zea'] = array(
  * @author Xiaomingyan
  * @author Yfdyh000
  * @author 阿pp
+ * @author 아라
  */
 $messages['zh-hans'] = array(
        'config-desc' => 'MediaWiki安装程序',
        'config-title' => 'MediaWiki $1配置',
        'config-information' => '信息',
-       'config-localsettings-upgrade' => '已检测到<code>LocalSettings.php</code>文件。要升级该配置,请在下面的框中输入<code>$wgUpgradeKey</code>的值。您可以在LocalSettings.php中找到它。',
-       'config-localsettings-cli-upgrade' => '已检测到LocalSettings.php文件。要升级该配置,请直接运行update.php。',
+       'config-localsettings-upgrade' => '已检测到<code>LocalSettings.php</code>文件。要升级该配置,请在下面的框中输入<code>$wgUpgradeKey</code>的值。您可以在<code>LocalSettings.php</code>中找到它。',
+       'config-localsettings-cli-upgrade' => '已检测到<code>LocalSettings.php</code>文件。要升级该配置,请直接运行<code>update.php</code>。',
        'config-localsettings-key' => '升级密钥:',
        'config-localsettings-badkey' => '您提供的密钥不正确。',
-       'config-upgrade-key-missing' => '检测到MediaWiki的配置已经存在。若要升级该配置,请将下面一行文本添加到LocalSettings.php的底部:
+       'config-upgrade-key-missing' => '检测到MediaWiki的配置已经存在。若要升级该配置,请将下面一行文本添加到<code>LocalSettings.php</code>的底部:
 
 $1',
-       'config-localsettings-incomplete' => '当前的LocalSettings.php可能并不完整,因为变量$1没有设置。请在LocalSettings.php设置该变量,并单击“继续”。',
-       'config-localsettings-connection-error' => '在使用LocalSettings.php或AdminSettings.php中指定的设置连接数据库时发生错误。请修复相应设置并重试。
+       'config-localsettings-incomplete' => '当前的<code>LocalSettings.php</code>可能并不完整,因为变量$1没有设置。请在<code>LocalSettings.php</code>设置该变量,并单击“{{int:Config-continue}}”。',
+       'config-localsettings-connection-error' => '在使用<code>LocalSettings.php</code>或<code>AdminSettings.php</code>中指定的设置连接数据库时发生错误。请修复相应设置并重试。
 
 $1',
        'config-session-error' => '启动会话出错:$1',
@@ -20009,7 +20041,7 @@ chmod a+w $3</pre>',
 
 现在您可以[$1 开始使用您的wiki]了。',
        'config-regenerate' => '重新生成LocalSettings.php →',
-       'config-show-table-status' => 'SHOW TABLE STATUS语句执行失败!',
+       'config-show-table-status' => '<code>SHOW TABLE STATUS</code>语句执行失败!',
        'config-unknown-collation' => "'''警告:'''数据库使用了无法识别的整理。",
        'config-db-web-account' => '供网页访问使用的数据库帐号',
        'config-db-web-help' => '请指定在wiki执行普通操作时,网页服务器用于连接数据库服务器的用户名和密码。',
  * @author Liangent
  * @author Mark85296341
  * @author Simon Shek
+ * @author 아라
  */
 $messages['zh-hant'] = array(
        'config-desc' => 'MediaWiki安裝程序',
        'config-title' => 'MediaWiki $1配置',
        'config-information' => '資訊',
-       'config-localsettings-upgrade' => '已檢測到<code>LocalSettings.php</code>文件。要升級該配置,請在下面的框中輸入<code>$wgUpgradeKey</code>的值。您可以在LocalSettings.php中找到它。',
-       'config-localsettings-cli-upgrade' => '已檢測到LocalSettings.php文件。要升級該配置,請直接執行update.php。',
+       'config-localsettings-upgrade' => '已檢測到<code>LocalSettings.php</code>文件。要升級該配置,請在下面的框中輸入<code>$wgUpgradeKey</code>的值。您可以在<code>LocalSettings.php</code>中找到它。',
+       'config-localsettings-cli-upgrade' => '已檢測到<code>LocalSettings.php</code>文件。要升級該配置,請直接執行<code>update.php</code>。',
        'config-localsettings-key' => '升級密鑰:',
        'config-localsettings-badkey' => '您提供的密鑰不正確。',
-       'config-upgrade-key-missing' => '檢測到MediaWiki的配置已經存在。若要升級該配置,請將下面一行文本添加到LocalSettings.php的底部:
+       'config-upgrade-key-missing' => '檢測到MediaWiki的配置已經存在。若要升級該配置,請將下面一行文本添加到<code>LocalSettings.php</code>的底部:
 
 $1',
-       'config-localsettings-incomplete' => '當前的LocalSettings.php可能並不完整,因為變量$1沒有設置。請在LocalSettings.php設置該變量,並單擊“繼續”。',
-       'config-localsettings-connection-error' => '在使用LocalSettings.php或AdminSettings.php中指定的設置連接數據庫時發生錯誤。請修復相應設置並重試。
+       'config-localsettings-incomplete' => '當前的<code>LocalSettings.php</code>可能並不完整,因為變量$1沒有設置。請在<code>LocalSettings.php</code>設置該變量,並單擊“{{int:Config-continue}}”。',
+       'config-localsettings-connection-error' => '在使用<code>LocalSettings.php</code>或<code>AdminSettings.php</code>中指定的設置連接數據庫時發生錯誤。請修復相應設置並重試。
 
 $1',
        'config-session-error' => '啟動會話出錯:$1',
@@ -20398,7 +20431,7 @@ $1
        'config-support-postgres' => '* $1是一種流行的開源數據庫系統,可作為MySQL的替代([http://www.php.net/manual/en/pgsql.installation.php 如何將對PostgreSQL的支持編譯進PHP中])。本程序中可能依然存在一些小而明顯的錯誤,因此並不建議在生產環境中使用該數據庫系統。',
        'config-support-sqlite' => '* $1是一種輕量級的數據庫系統,能被良好地支持。([http://www.php.net/manual/en/pdo.installation.php 如何將對SQLite的支持編譯進PHP中],須使用PDO)',
        'config-support-oracle' => '* $1是一種商用企業級的數據庫。([http://www.php.net/manual/en/oci8.installation.php 如何將對OCI8的支持編譯進PHP中])',
-       'config-support-ibm_db2' => '* $1是一種商用企業級數據庫。',
+       'config-support-ibm_db2' => '* $1是一種商用企業級數據庫。', # Fuzzy
        'config-header-mysql' => 'MySQL 的設定',
        'config-header-postgres' => 'PostgreSQL設置',
        'config-header-sqlite' => 'SQLite 的設定',
@@ -20452,7 +20485,7 @@ chmod a+w $3</pre>',
 
 現在您可以[$1 開始使用您的wiki]了。',
        'config-regenerate' => '重新生成LocalSettings.php →',
-       'config-show-table-status' => '查詢SHOW TABLE STATUS失敗!',
+       'config-show-table-status' => '查詢<code>SHOW TABLE STATUS</code>失敗!',
        'config-unknown-collation' => "'''警告:'''數據庫使用了無法識別的整理。",
        'config-db-web-account' => '供網頁訪問使用的數據庫帳號',
        'config-db-web-help' => '請指定在wiki執行普通操作時,網頁服務器用於連接數據庫服務器的用戶名和密碼。',
@@ -20512,7 +20545,7 @@ chmod a+w $3</pre>',
        'config-optional-continue' => '多問我一些問題吧。',
        'config-optional-skip' => '我已經不耐煩了,趕緊安裝我的wiki。',
        'config-profile' => '用戶權限配置:',
-       'config-profile-wiki' => '傳統wiki',
+       'config-profile-wiki' => '傳統wiki', # Fuzzy
        'config-profile-no-anon' => '需要註冊帳號',
        'config-profile-fishbowl' => '編輯受限',
        'config-profile-private' => '非公開wiki',
@@ -20524,7 +20557,7 @@ chmod a+w $3</pre>',
 
 '''{{int:config-profile-fishbowl}}'''模式只允許獲批准的用戶編輯,但對公眾開放頁面瀏覽(包括歷史記錄)。'''{{int:config-profile-private}}'''則只允許獲批准的用戶瀏覽、編輯頁面。
 
-安裝完成後,您還可以對用戶權限進行更多、更複雜的配置,參見[//www.mediawiki.org/wiki/Manual:User_rights 相關的使用手冊]。",
+安裝完成後,您還可以對用戶權限進行更多、更複雜的配置,參見[//www.mediawiki.org/wiki/Manual:User_rights 相關的使用手冊]。", # Fuzzy
        'config-license' => '版權和許可證:',
        'config-license-none' => '頁腳無許可證',
        'config-license-cc-by-sa' => '知識共享署名-相同方式分享',
@@ -20589,7 +20622,7 @@ GNU自由文檔許可證是維基百科曾經使用過的許可證,並迄今
 
 您可能要對它們進行額外的配置,但您現在可以啟用它們。',
        'config-install-alreadydone' => "'''警告:'''您似乎已經安裝了MediaWiki,並試圖重新安裝它。請前往下一個頁面。",
-       'config-install-begin' => '點擊“{{int:config-continue}}”後,您將開始安裝MediaWiki。如果您還想對配置作一些修改,請點擊後退。',
+       'config-install-begin' => '點擊“{{int:config-continue}}”後,您將開始安裝MediaWiki。如果您還想對配置作一些修改,請點擊後退。', # Fuzzy
        'config-install-step-done' => '完成',
        'config-install-step-failed' => '失敗',
        'config-install-extensions' => '正在啟用擴展',
index c673f6f..da351ca 100644 (file)
@@ -313,19 +313,19 @@ abstract class Installer {
         * output format such as HTML or text before being sent to the user.
         * @param $msg
         */
-       public abstract function showMessage( $msg /*, ... */ );
+       abstract public function showMessage( $msg /*, ... */ );
 
        /**
         * Same as showMessage(), but for displaying errors
         * @param $msg
         */
-       public abstract function showError( $msg /*, ... */ );
+       abstract public function showError( $msg /*, ... */ );
 
        /**
         * Show a message to the installing user by using a Status object
         * @param $status Status
         */
-       public abstract function showStatusMessage( Status $status );
+       abstract public function showStatusMessage( Status $status );
 
        /**
         * Constructor, always call this from child classes.
@@ -927,7 +927,7 @@ abstract class Installer {
         * Helper function to be called from envCheckServer()
         * @return String
         */
-       protected abstract function envGetDefaultServer();
+       abstract protected function envGetDefaultServer();
 
        /**
         * Environment check for setting $IP and $wgScriptPath.
index 4892770..b27f773 100644 (file)
@@ -426,7 +426,7 @@ class WebInstaller extends Installer {
                $url = preg_replace( '/\?.*$/', '', $url );
 
                if ( $query ) {
-                       $url .= '?' . wfArrayToCGI( $query );
+                       $url .= '?' . wfArrayToCgi( $query );
                }
 
                return $url;
index f1340d7..68e8e11 100644 (file)
@@ -36,7 +36,7 @@ abstract class WebInstallerPage {
         */
        public $parent;
 
-       public abstract function execute();
+       abstract public function execute();
 
        /**
         * Constructor.
@@ -1002,7 +1002,7 @@ class WebInstaller_Options extends WebInstallerPage {
                $styleUrl = $server . dirname( dirname( $this->parent->getUrl() ) ) .
                        '/skins/common/config-cc.css';
                $iframeUrl = 'http://creativecommons.org/license/?' .
-                       wfArrayToCGI( array(
+                       wfArrayToCgi( array(
                                'partner' => 'MediaWiki',
                                'exit_url' => $exitUrl,
                                'lang' => $this->getVar( '_UserLang' ),
@@ -1259,7 +1259,7 @@ class WebInstaller_Restart extends WebInstallerPage {
 
 abstract class WebInstaller_Document extends WebInstallerPage {
 
-       protected abstract function getFileName();
+       abstract protected function getFileName();
 
        public  function execute() {
                $text = $this->getFileContents();
index 849eb86..4003fa8 100644 (file)
@@ -50,7 +50,7 @@ class Interwiki {
         * @param string $prefix Interwiki prefix to use
         * @return bool Whether it exists
         */
-       static public function isValidInterwiki( $prefix ) {
+       public static function isValidInterwiki( $prefix ) {
                $result = self::fetch( $prefix );
                return (bool)$result;
        }
@@ -61,7 +61,7 @@ class Interwiki {
         * @param string $prefix Interwiki prefix to use
         * @return Interwiki|null|bool
         */
-       static public function fetch( $prefix ) {
+       public static function fetch( $prefix ) {
                global $wgContLang;
                if ( $prefix == '' ) {
                        return null;
index 2566072..fe84369 100644 (file)
@@ -424,7 +424,7 @@ class Services_JSON
                                */
 
                                // treat as a JSON object
-                               if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) {
+                               if (is_array($var) && count($var) && (array_keys($var) !== range(0, count($var) - 1))) {
                                        $this->indent++;
                                        $properties = array_map(array($this, 'name_value'),
                                                                array_keys($var),
index 9b3e796..ef7587d 100644 (file)
@@ -41,7 +41,7 @@ abstract class GenericArrayObject extends ArrayObject {
         *
         * @return string
         */
-       public abstract function getObjectType();
+       abstract public function getObjectType();
 
        /**
         * @see SiteList::getNewOffset()
index 1110249..03d5276 100644 (file)
@@ -560,7 +560,7 @@ class LogEventsList extends ContextSource {
                /* hook can return false, if we don't want the message to be emitted (Wikia BugId:7093) */
                if ( wfRunHooks( 'LogEventsListShowLogExtract', array( &$s, $types, $page, $user, $param ) ) ) {
                        // $out can be either an OutputPage object or a String-by-reference
-                       if ( $out instanceof OutputPage ){
+                       if ( $out instanceof OutputPage ) {
                                $out->addHTML( $s );
                        } else {
                                $out = $s;
index 2b04f78..55deef0 100644 (file)
@@ -190,7 +190,7 @@ class BitmapMetadataHandler {
         * @param $filename String full path to file
         * @return Array Array for storage in img_metadata.
         */
-       static public function PNG ( $filename ) {
+       public static function PNG ( $filename ) {
                $showXMP = function_exists( 'xml_parser_create_ns' );
 
                $meta = new self();
@@ -219,7 +219,7 @@ class BitmapMetadataHandler {
         * @param $filename string full path to file
         * @return Array metadata array
         */
-       static public function GIF ( $filename ) {
+       public static function GIF ( $filename ) {
 
                $meta = new self();
                $baseArray = GIFMetadataExtractor::getMetadata( $filename );
@@ -260,7 +260,7 @@ class BitmapMetadataHandler {
         * @throws MWException
         * @return Array The metadata.
         */
-       static public function Tiff ( $filename ) {
+       public static function Tiff ( $filename ) {
                if ( file_exists( $filename ) ) {
                        $byteOrder = self::getTiffByteOrder( $filename );
                        if ( !$byteOrder ) {
index 124db32..cd8a044 100644 (file)
@@ -247,7 +247,7 @@ class DjVuHandler extends ImageHandler {
                        $image->djvuTextTree = false;
                        $tree = new SimpleXMLElement( $metadata );
                        if( $tree->getName() == 'mw-djvu' ) {
-                               foreach($tree->children() as $b){
+                               foreach( $tree->children() as $b ) {
                                        if( $b->getName() == 'DjVuTxt' ) {
                                                $image->djvuTextTree = $b;
                                        }
index f2710f7..d44dfd1 100644 (file)
@@ -1120,7 +1120,7 @@ class FormatMetadata {
         * @param $val String: The 8 digit news code.
         * @return string The human readable form
         */
-       static private function convertNewsCode( $val ) {
+       private static function convertNewsCode( $val ) {
                if ( !preg_match( '/^\d{8}$/D', $val ) ) {
                        // Not a valid news code.
                        return $val;
index 6175907..d1de0ae 100644 (file)
@@ -188,7 +188,7 @@ abstract class ImageHandler extends MediaHandler {
                if ( !$this->normaliseParams( $image, $params ) ) {
                        return false;
                }
-               $url = $script . '&' . wfArrayToCGI( $this->getScriptParams( $params ) );
+               $url = $script . '&' . wfArrayToCgi( $this->getScriptParams( $params ) );
 
                if( $image->mustRender() || $params['width'] < $image->getWidth() ) {
                        return new ThumbnailImage( $image, $url, false, $params );
index 7301df6..110c659 100644 (file)
@@ -237,7 +237,7 @@ class ThumbnailImage extends MediaTransformOutput {
                # Previous parameters:
                #   $file, $url, $width, $height, $path = false, $page = false
 
-               if( is_array( $parameters ) ){
+               if( is_array( $parameters ) ) {
                        $defaults = array(
                                'page' => false
                        );
index 55f087a..87f705c 100644 (file)
@@ -417,7 +417,7 @@ class PNGMetadataExtractor {
         * @throws Exception if too big.
         * @return String The chunk.
         */
-       static private function read( $fh, $size ) {
+       private static function read( $fh, $size ) {
                if ( $size > self::MAX_CHUNK_SIZE ) {
                        throw new Exception( __METHOD__ . ': Chunk size of ' . $size .
                                ' too big. Max size is: ' . self::MAX_CHUNK_SIZE );
index 456c016..d6624ee 100644 (file)
@@ -187,7 +187,7 @@ class SVGReader {
                while( $keepReading ) {
                        if( $this->reader->localName == $name && $this->reader->namespaceURI == self::NS_SVG && $this->reader->nodeType == XmlReader::END_ELEMENT ) {
                                break;
-                       } elseif( $this->reader->nodeType == XmlReader::TEXT ){
+                       } elseif( $this->reader->nodeType == XmlReader::TEXT ) {
                                $this->metadata[$metafield] = trim( $this->reader->value );
                        }
                        $keepReading = $this->reader->read();
index 6642844..9a05b81 100644 (file)
@@ -80,7 +80,7 @@ function benchmarkTest( &$u, $filename, $desc ) {
        }
 }
 
-function benchTime(){
+function benchTime() {
        $st = explode( ' ', microtime() );
        return (float)$st[0] + (float)$st[1];
 }
index 1277dc2..7162a8b 100644 (file)
@@ -82,7 +82,7 @@ function benchmarkTest( &$u, $filename, $desc ) {
        }
 }
 
-function benchTime(){
+function benchTime() {
        $st = explode( ' ', microtime() );
        return (float)$st[0] + (float)$st[1];
 }
index 083bd29..0c05a51 100644 (file)
@@ -322,7 +322,7 @@ class LinkHolderArray {
                }
                if ( $queries ) {
                        $where = array();
-                       foreach( $queries as $ns => $pages ){
+                       foreach( $queries as $ns => $pages ) {
                                $where[] = $dbr->makeList(
                                        array(
                                                'page_namespace' => $ns,
@@ -514,7 +514,7 @@ class LinkHolderArray {
                }
 
 
-               if(!$linkBatch->isEmpty()){
+               if( !$linkBatch->isEmpty() ) {
                        // construct query
                        $dbr = wfGetDB( DB_SLAVE );
                        $varRes = $dbr->select( 'page',
@@ -570,16 +570,18 @@ class LinkHolderArray {
                        wfRunHooks( 'GetLinkColours', array( $linkcolour_ids, &$colours ) );
 
                        // rebuild the categories in original order (if there are replacements)
-                       if(count($varCategories)>0){
+                       if( count( $varCategories ) > 0 ) {
                                $newCats = array();
                                $originalCats = $output->getCategories();
-                               foreach($originalCats as $cat => $sortkey){
+                               foreach( $originalCats as $cat => $sortkey ) {
                                        // make the replacement
-                                       if( array_key_exists($cat,$varCategories) )
+                                       if( array_key_exists( $cat, $varCategories ) ) {
                                                $newCats[$varCategories[$cat]] = $sortkey;
-                                       else $newCats[$cat] = $sortkey;
+                                       } else {
+                                               $newCats[$cat] = $sortkey;
+                                       }
                                }
-                               $output->setCategoryLinks($newCats);
+                               $output->setCategoryLinks( $newCats );
                        }
                }
        }
index 8f892a3..8214019 100644 (file)
@@ -215,8 +215,8 @@ class Parser {
        public function __construct( $conf = array() ) {
                $this->mConf = $conf;
                $this->mUrlProtocols = wfUrlProtocols();
-               $this->mExtLinkBracketedRegex = '/\[(((?i)' . $this->mUrlProtocols . ')'.
-                       self::EXT_LINK_URL_CLASS.'+)\p{Zs}*([^\]\\x00-\\x08\\x0a-\\x1F]*?)\]/Su';
+               $this->mExtLinkBracketedRegex = '/\[(((?i)' . $this->mUrlProtocols . ')' .
+                       self::EXT_LINK_URL_CLASS . '+)\p{Zs}*([^\]\\x00-\\x08\\x0a-\\x1F]*?)\]/Su';
                if ( isset( $conf['preprocessorClass'] ) ) {
                        $this->mPreprocessorClass = $conf['preprocessorClass'];
                } elseif ( defined( 'MW_COMPILED' ) ) {
@@ -357,7 +357,7 @@ class Parser {
                 */
 
                global $wgUseTidy, $wgAlwaysUseTidy;
-               $fname = __METHOD__.'-' . wfGetCaller();
+               $fname = __METHOD__ . '-' . wfGetCaller();
                wfProfileIn( __METHOD__ );
                wfProfileIn( $fname );
 
@@ -499,8 +499,8 @@ class Parser {
                                "Preprocessor generated node count: " .
                                        "{$this->mGeneratedPPNodeCount}/{$this->mOptions->getMaxGeneratedPPNodeCount()}\n" .
                                "Post-expand include size: {$this->mIncludeSizes['post-expand']}/$max bytes\n" .
-                               "Template argument size: {$this->mIncludeSizes['arg']}/$max bytes\n".
-                               "Highest expansion depth: {$this->mHighestExpansionDepth}/{$this->mOptions->getMaxPPExpandDepth()}\n".
+                               "Template argument size: {$this->mIncludeSizes['arg']}/$max bytes\n" .
+                               "Highest expansion depth: {$this->mHighestExpansionDepth}/{$this->mOptions->getMaxPPExpandDepth()}\n" .
                                $PFreport;
                        wfRunHooks( 'ParserLimitReport', array( $this, &$limitReport ) );
                        $text .= "\n<!-- \n$limitReport-->\n";
@@ -606,7 +606,7 @@ class Parser {
         *
         * @return string
         */
-       static public function getRandomString() {
+       public static function getRandomString() {
                return wfRandomString( 16 );
        }
 
@@ -937,33 +937,33 @@ class Parser {
                        $line = trim( $outLine );
 
                        if ( $line === '' ) { # empty line, go to next line
-                               $out .= $outLine."\n";
+                               $out .= $outLine . "\n";
                                continue;
                        }
 
                        $first_character = $line[0];
                        $matches = array();
 
-                       if ( preg_match( '/^(:*)\{\|(.*)$/', $line , $matches ) ) {
+                       if ( preg_match( '/^(:*)\{\|(.*)$/', $line, $matches ) ) {
                                # First check if we are starting a new table
                                $indent_level = strlen( $matches[1] );
 
                                $attributes = $this->mStripState->unstripBoth( $matches[2] );
-                               $attributes = Sanitizer::fixTagAttributes( $attributes , 'table' );
-
-                               $outLine = str_repeat( '<dl><dd>' , $indent_level ) . "<table{$attributes}>";
-                               array_push( $td_history , false );
-                               array_push( $last_tag_history , '' );
-                               array_push( $tr_history , false );
-                               array_push( $tr_attributes , '' );
-                               array_push( $has_opened_tr , false );
+                               $attributes = Sanitizer::fixTagAttributes( $attributes, 'table' );
+
+                               $outLine = str_repeat( '<dl><dd>', $indent_level ) . "<table{$attributes}>";
+                               array_push( $td_history, false );
+                               array_push( $last_tag_history, '' );
+                               array_push( $tr_history, false );
+                               array_push( $tr_attributes, '' );
+                               array_push( $has_opened_tr, false );
                        } elseif ( count( $td_history ) == 0 ) {
                                # Don't do any of the following
-                               $out .= $outLine."\n";
+                               $out .= $outLine . "\n";
                                continue;
-                       } elseif ( substr( $line , 0 , 2 ) === '|}' ) {
+                       } elseif ( substr( $line, 0, 2 ) === '|}' ) {
                                # We are ending a table
-                               $line = '</table>' . substr( $line , 2 );
+                               $line = '</table>' . substr( $line, 2 );
                                $last_tag = array_pop( $last_tag_history );
 
                                if ( !array_pop( $has_opened_tr ) ) {
@@ -978,8 +978,8 @@ class Parser {
                                        $line = "</{$last_tag}>{$line}";
                                }
                                array_pop( $tr_attributes );
-                               $outLine = $line . str_repeat( '</dd></dl>' , $indent_level );
-                       } elseif ( substr( $line , 0 , 2 ) === '|-' ) {
+                               $outLine = $line . str_repeat( '</dd></dl>', $indent_level );
+                       } elseif ( substr( $line, 0, 2 ) === '|-' ) {
                                # Now we have a table row
                                $line = preg_replace( '#^\|-+#', '', $line );
 
@@ -992,7 +992,7 @@ class Parser {
                                $line = '';
                                $last_tag = array_pop( $last_tag_history );
                                array_pop( $has_opened_tr );
-                               array_push( $has_opened_tr , true );
+                               array_push( $has_opened_tr, true );
 
                                if ( array_pop( $tr_history ) ) {
                                        $line = '</tr>';
@@ -1003,27 +1003,27 @@ class Parser {
                                }
 
                                $outLine = $line;
-                               array_push( $tr_history , false );
-                               array_push( $td_history , false );
-                               array_push( $last_tag_history , '' );
-                       } elseif ( $first_character === '|' || $first_character === '!' || substr( $line , 0 , 2 )  === '|+' ) {
+                               array_push( $tr_history, false );
+                               array_push( $td_history, false );
+                               array_push( $last_tag_history, '' );
+                       } elseif ( $first_character === '|' || $first_character === '!' || substr( $line, 0, 2 )  === '|+' ) {
                                # This might be cell elements, td, th or captions
-                               if ( substr( $line , 0 , 2 ) === '|+' ) {
+                               if ( substr( $line, 0, 2 ) === '|+' ) {
                                        $first_character = '+';
-                                       $line = substr( $line , 1 );
+                                       $line = substr( $line, 1 );
                                }
 
-                               $line = substr( $line , 1 );
+                               $line = substr( $line, 1 );
 
                                if ( $first_character === '!' ) {
-                                       $line = str_replace( '!!' , '||' , $line );
+                                       $line = str_replace( '!!', '||', $line );
                                }
 
                                # Split up multiple cells on the same line.
                                # FIXME : This can result in improper nesting of tags processed
                                # by earlier parser steps, but should avoid splitting up eg
                                # attribute values containing literal "||".
-                               $cells = StringUtils::explodeMarkup( '||' , $line );
+                               $cells = StringUtils::explodeMarkup( '||', $line );
 
                                $outLine = '';
 
@@ -1035,10 +1035,10 @@ class Parser {
                                                if ( !array_pop( $tr_history ) ) {
                                                        $previous = "<tr{$tr_after}>\n";
                                                }
-                                               array_push( $tr_history , true );
-                                               array_push( $tr_attributes , '' );
+                                               array_push( $tr_history, true );
+                                               array_push( $tr_attributes, '' );
                                                array_pop( $has_opened_tr );
-                                               array_push( $has_opened_tr , true );
+                                               array_push( $has_opened_tr, true );
                                        }
 
                                        $last_tag = array_pop( $last_tag_history );
@@ -1057,10 +1057,10 @@ class Parser {
                                                $last_tag = '';
                                        }
 
-                                       array_push( $last_tag_history , $last_tag );
+                                       array_push( $last_tag_history, $last_tag );
 
                                        # A cell could contain both parameters and data
-                                       $cell_data = explode( '|' , $cell , 2 );
+                                       $cell_data = explode( '|', $cell, 2 );
 
                                        # Bug 553: Note that a '|' inside an invalid link should not
                                        # be mistaken as delimiting cell parameters
@@ -1070,12 +1070,12 @@ class Parser {
                                                $cell = "{$previous}<{$last_tag}>{$cell_data[0]}";
                                        } else {
                                                $attributes = $this->mStripState->unstripBoth( $cell_data[0] );
-                                               $attributes = Sanitizer::fixTagAttributes( $attributes , $last_tag );
+                                               $attributes = Sanitizer::fixTagAttributes( $attributes, $last_tag );
                                                $cell = "{$previous}<{$last_tag}{$attributes}>{$cell_data[1]}";
                                        }
 
                                        $outLine .= $cell;
-                                       array_push( $td_history , true );
+                                       array_push( $td_history, true );
                                }
                        }
                        $out .= $outLine . "\n";
@@ -1175,7 +1175,7 @@ class Parser {
 
                # replaceInternalLinks may sometimes leave behind
                # absolute URLs, which have to be masked to hide them from replaceExternalLinks
-               $text = str_replace( $this->mUniqPrefix.'NOPARSE', '', $text );
+               $text = str_replace( $this->mUniqPrefix . 'NOPARSE', '', $text );
 
                $text = $this->doMagicLinks( $text );
                $text = $this->formatHeadings( $text, $origText, $isMain );
@@ -1243,7 +1243,7 @@ class Parser {
                                $CssClass = 'mw-magiclink-pmid';
                                $id = $m[4];
                        } else {
-                               throw new MWException( __METHOD__.': unrecognised match type "' .
+                               throw new MWException( __METHOD__ . ': unrecognised match type "' .
                                        substr( $m[0], 0, 20 ) . '"' );
                        }
                        $url = wfMessage( $urlmsg, $id )->inContentLanguage()->text();
@@ -1333,8 +1333,7 @@ class Parser {
                wfProfileIn( __METHOD__ );
                for ( $i = 6; $i >= 1; --$i ) {
                        $h = str_repeat( '=', $i );
-                       $text = preg_replace( "/^$h(.+)$h\\s*$/m",
-                         "<h$i>\\1</h$i>", $text );
+                       $text = preg_replace( "/^$h(.+)$h\\s*$/m", "<h$i>\\1</h$i>", $text );
                }
                wfProfileOut( __METHOD__ );
                return $text;
@@ -1355,7 +1354,7 @@ class Parser {
                foreach ( $lines as $line ) {
                        $outtext .= $this->doQuotes( $line ) . "\n";
                }
-               $outtext = substr( $outtext, 0,-1 );
+               $outtext = substr( $outtext, 0, -1 );
                wfProfileOut( __METHOD__ );
                return $outtext;
        }
@@ -1471,7 +1470,7 @@ class Parser {
                                                } elseif ( $state === 'ib' ) {
                                                        $output .= '</b></i><b>'; $state = 'b';
                                                } elseif ( $state === 'both' ) {
-                                                       $output .= '<b><i>'.$buffer.'</i>'; $state = 'b';
+                                                       $output .= '<b><i>' . $buffer . '</i>'; $state = 'b';
                                                } else { # $state can be 'b' or ''
                                                        $output .= '<i>'; $state .= 'i';
                                                }
@@ -1483,7 +1482,7 @@ class Parser {
                                                } elseif ( $state === 'ib' ) {
                                                        $output .= '</b>'; $state = 'i';
                                                } elseif ( $state === 'both' ) {
-                                                       $output .= '<i><b>'.$buffer.'</b>'; $state = 'i';
+                                                       $output .= '<i><b>' . $buffer . '</b>'; $state = 'i';
                                                } else { # $state can be 'i' or ''
                                                        $output .= '<b>'; $state .= 'b';
                                                }
@@ -1497,7 +1496,7 @@ class Parser {
                                                } elseif ( $state === 'ib' ) {
                                                        $output .= '</b></i>'; $state = '';
                                                } elseif ( $state === 'both' ) {
-                                                       $output .= '<i><b>'.$buffer.'</b></i>'; $state = '';
+                                                       $output .= '<i><b>' . $buffer . '</b></i>'; $state = '';
                                                } else { # ($state == '')
                                                        $buffer = ''; $state = 'both';
                                                }
@@ -1517,7 +1516,7 @@ class Parser {
                        }
                        # There might be lonely ''''', so make sure we have a buffer
                        if ( $state === 'both' && $buffer ) {
-                               $output .= '<b><i>'.$buffer.'</i></b>';
+                               $output .= '<b><i>' . $buffer . '</i></b>';
                        }
                        return $output;
                }
@@ -1760,7 +1759,7 @@ class Parser {
        function replaceInternalLinks2( &$s ) {
                wfProfileIn( __METHOD__ );
 
-               wfProfileIn( __METHOD__.'-setup' );
+               wfProfileIn( __METHOD__ . '-setup' );
                static $tc = FALSE, $e1, $e1_img;
                # the % is needed to support urlencoded titles as well
                if ( !$tc ) {
@@ -1790,9 +1789,9 @@ class Parser {
                }
 
                if ( is_null( $this->mTitle ) ) {
-                       wfProfileOut( __METHOD__.'-setup' );
+                       wfProfileOut( __METHOD__ . '-setup' );
                        wfProfileOut( __METHOD__ );
-                       throw new MWException( __METHOD__.": \$this->mTitle is null\n" );
+                       throw new MWException( __METHOD__ . ": \$this->mTitle is null\n" );
                }
                $nottalk = !$this->mTitle->isTalkPage();
 
@@ -1814,7 +1813,7 @@ class Parser {
                        $selflink = array( $this->mTitle->getPrefixedText() );
                }
                $useSubpages = $this->areSubpagesAllowed();
-               wfProfileOut( __METHOD__.'-setup' );
+               wfProfileOut( __METHOD__ . '-setup' );
 
                # Loop for each link
                for ( ; $line !== false && $line !== null ; $a->next(), $line = $a->current() ) {
@@ -1827,24 +1826,24 @@ class Parser {
                        }
 
                        if ( $useLinkPrefixExtension ) {
-                               wfProfileIn( __METHOD__.'-prefixhandling' );
+                               wfProfileIn( __METHOD__ . '-prefixhandling' );
                                if ( preg_match( $e2, $s, $m ) ) {
                                        $prefix = $m[2];
                                        $s = $m[1];
                                } else {
-                                       $prefix='';
+                                       $prefix = '';
                                }
                                # first link
                                if ( $first_prefix ) {
                                        $prefix = $first_prefix;
                                        $first_prefix = false;
                                }
-                               wfProfileOut( __METHOD__.'-prefixhandling' );
+                               wfProfileOut( __METHOD__ . '-prefixhandling' );
                        }
 
                        $might_be_img = false;
 
-                       wfProfileIn( __METHOD__."-e1" );
+                       wfProfileIn( __METHOD__ . "-e1" );
                        if ( preg_match( $e1, $line, $m ) ) { # page with normal text or alt
                                $text = $m[2];
                                # If we get a ] at the beginning of $m[3] that means we have a link that's something like:
@@ -1878,18 +1877,18 @@ class Parser {
                                $trail = "";
                        } else { # Invalid form; output directly
                                $s .= $prefix . '[[' . $line ;
-                               wfProfileOut( __METHOD__."-e1" );
+                               wfProfileOut( __METHOD__ . "-e1" );
                                continue;
                        }
-                       wfProfileOut( __METHOD__."-e1" );
-                       wfProfileIn( __METHOD__."-misc" );
+                       wfProfileOut( __METHOD__ . "-e1" );
+                       wfProfileIn( __METHOD__ . "-misc" );
 
                        # Don't allow internal links to pages containing
                        # PROTO: where PROTO is a valid URL protocol; these
                        # should be external links.
                        if ( preg_match( '/^(?i:' . $this->mUrlProtocols . ')/', $m[1] ) ) {
                                $s .= $prefix . '[[' . $line ;
-                               wfProfileOut( __METHOD__."-misc" );
+                               wfProfileOut( __METHOD__ . "-misc" );
                                continue;
                        }
 
@@ -1906,21 +1905,21 @@ class Parser {
                                $link = substr( $link, 1 );
                        }
 
-                       wfProfileOut( __METHOD__."-misc" );
-                       wfProfileIn( __METHOD__."-title" );
+                       wfProfileOut( __METHOD__ . "-misc" );
+                       wfProfileIn( __METHOD__ . "-title" );
                        $nt = Title::newFromText( $this->mStripState->unstripNoWiki( $link ) );
                        if ( $nt === null ) {
                                $s .= $prefix . '[[' . $line;
-                               wfProfileOut( __METHOD__."-title" );
+                               wfProfileOut( __METHOD__ . "-title" );
                                continue;
                        }
 
                        $ns = $nt->getNamespace();
                        $iw = $nt->getInterWiki();
-                       wfProfileOut( __METHOD__."-title" );
+                       wfProfileOut( __METHOD__ . "-title" );
 
                        if ( $might_be_img ) { # if this is actually an invalid link
-                               wfProfileIn( __METHOD__."-might_be_img" );
+                               wfProfileIn( __METHOD__ . "-might_be_img" );
                                if ( $ns == NS_FILE && $noforce ) { # but might be an image
                                        $found = false;
                                        while ( true ) {
@@ -1952,16 +1951,16 @@ class Parser {
                                                $holders->merge( $this->replaceInternalLinks2( $text ) );
                                                $s .= "{$prefix}[[$link|$text";
                                                # note: no $trail, because without an end, there *is* no trail
-                                               wfProfileOut( __METHOD__."-might_be_img" );
+                                               wfProfileOut( __METHOD__ . "-might_be_img" );
                                                continue;
                                        }
                                } else { # it's not an image, so output it raw
                                        $s .= "{$prefix}[[$link|$text";
                                        # note: no $trail, because without an end, there *is* no trail
-                                       wfProfileOut( __METHOD__."-might_be_img" );
+                                       wfProfileOut( __METHOD__ . "-might_be_img" );
                                        continue;
                                }
-                               wfProfileOut( __METHOD__."-might_be_img" );
+                               wfProfileOut( __METHOD__ . "-might_be_img" );
                        }
 
                        $wasblank = ( $text  == '' );
@@ -1978,7 +1977,7 @@ class Parser {
                        # Link not escaped by : , create the various objects
                        if ( $noforce ) {
                                # Interwikis
-                               wfProfileIn( __METHOD__."-interwiki" );
+                               wfProfileIn( __METHOD__ . "-interwiki" );
                                if ( $iw && $this->mOptions->getInterwikiMagic() && $nottalk && Language::fetchLanguageName( $iw, null, 'mw' ) ) {
                                        // XXX: the above check prevents links to sites with identifiers that are not language codes
 
@@ -1990,13 +1989,13 @@ class Parser {
 
                                        $s = rtrim( $s . $prefix );
                                        $s .= trim( $trail, "\n" ) == '' ? '': $prefix . $trail;
-                                       wfProfileOut( __METHOD__."-interwiki" );
+                                       wfProfileOut( __METHOD__ . "-interwiki" );
                                        continue;
                                }
-                               wfProfileOut( __METHOD__."-interwiki" );
+                               wfProfileOut( __METHOD__ . "-interwiki" );
 
                                if ( $ns == NS_FILE ) {
-                                       wfProfileIn( __METHOD__."-image" );
+                                       wfProfileIn( __METHOD__ . "-image" );
                                        if ( !wfIsBadImage( $nt->getDBkey(), $this->mTitle ) ) {
                                                if ( $wasblank ) {
                                                        # if no parameters were passed, $text
@@ -2017,12 +2016,12 @@ class Parser {
                                        } else {
                                                $s .= $prefix . $trail;
                                        }
-                                       wfProfileOut( __METHOD__."-image" );
+                                       wfProfileOut( __METHOD__ . "-image" );
                                        continue;
                                }
 
                                if ( $ns == NS_CATEGORY ) {
-                                       wfProfileIn( __METHOD__."-category" );
+                                       wfProfileIn( __METHOD__ . "-category" );
                                        $s = rtrim( $s . "\n" ); # bug 87
 
                                        if ( $wasblank ) {
@@ -2041,7 +2040,7 @@ class Parser {
                                         */
                                        $s .= trim( $prefix . $trail, "\n" ) == '' ? '' : $prefix . $trail;
 
-                                       wfProfileOut( __METHOD__."-category" );
+                                       wfProfileOut( __METHOD__ . "-category" );
                                        continue;
                                }
                        }
@@ -2057,7 +2056,7 @@ class Parser {
                        # NS_MEDIA is a pseudo-namespace for linking directly to a file
                        # @todo FIXME: Should do batch file existence checks, see comment below
                        if ( $ns == NS_MEDIA ) {
-                               wfProfileIn( __METHOD__."-media" );
+                               wfProfileIn( __METHOD__ . "-media" );
                                # Give extensions a chance to select the file revision for us
                                $options = array();
                                $descQuery = false;
@@ -2068,11 +2067,11 @@ class Parser {
                                # Cloak with NOPARSE to avoid replacement in replaceExternalLinks
                                $s .= $prefix . $this->armorLinks(
                                        Linker::makeMediaLinkFile( $nt, $file, $text ) ) . $trail;
-                               wfProfileOut( __METHOD__."-media" );
+                               wfProfileOut( __METHOD__ . "-media" );
                                continue;
                        }
 
-                       wfProfileIn( __METHOD__."-always_known" );
+                       wfProfileIn( __METHOD__ . "-always_known" );
                        # Some titles, such as valid special pages or files in foreign repos, should
                        # be shown as bluelinks even though they're not included in the page table
                        #
@@ -2085,7 +2084,7 @@ class Parser {
                                # Links will be added to the output link list after checking
                                $s .= $holders->makeHolder( $nt, $text, array(), $trail, $prefix );
                        }
-                       wfProfileOut( __METHOD__."-always_known" );
+                       wfProfileOut( __METHOD__ . "-always_known" );
                }
                wfProfileOut( __METHOD__ );
                return $holders;
@@ -2273,7 +2272,7 @@ class Parser {
                } else {
                        return '<!-- ERR 3 -->';
                }
-               return $text."\n";
+               return $text . "\n";
        }
        /**#@-*/
 
@@ -2388,13 +2387,13 @@ class Parser {
 
                        # If we have no prefixes, go to paragraph mode.
                        if ( 0 == $prefixLength ) {
-                               wfProfileIn( __METHOD__."-paragraph" );
+                               wfProfileIn( __METHOD__ . "-paragraph" );
                                # No prefix (not in list)--go to paragraph mode
                                # XXX: use a stack for nestable elements like span, table and div
                                $openmatch = preg_match('/(?:<table|<blockquote|<h1|<h2|<h3|<h4|<h5|<h6|<pre|<tr|<p|<ul|<ol|<dl|<li|<\\/tr|<\\/td|<\\/th)/iS', $t );
                                $closematch = preg_match(
                                        '/(?:<\\/table|<\\/blockquote|<\\/h1|<\\/h2|<\\/h3|<\\/h4|<\\/h5|<\\/h6|'.
-                                       '<td|<th|<\\/?div|<hr|<\\/pre|<\\/p|'.$this->mUniqPrefix.'-pre|<\\/li|<\\/ul|<\\/ol|<\\/dl|<\\/?center)/iS', $t );
+                                       '<td|<th|<\\/?div|<hr|<\\/pre|<\\/p|'.$this->mUniqPrefix . '-pre|<\\/li|<\\/ul|<\\/ol|<\\/dl|<\\/?center)/iS', $t );
                                if ( $openmatch or $closematch ) {
                                        $paragraphStack = false;
                                        # TODO bug 5718: paragraph closed
@@ -2408,7 +2407,7 @@ class Parser {
                                                # pre
                                                if ( $this->mLastSection !== 'pre' ) {
                                                        $paragraphStack = false;
-                                                       $output .= $this->closeParagraph().'<pre>';
+                                                       $output .= $this->closeParagraph() . '<pre>';
                                                        $this->mLastSection = 'pre';
                                                }
                                                $t = substr( $t, 1 );
@@ -2416,7 +2415,7 @@ class Parser {
                                                # paragraph
                                                if ( trim( $t ) === '' ) {
                                                        if ( $paragraphStack ) {
-                                                               $output .= $paragraphStack.'<br />';
+                                                               $output .= $paragraphStack . '<br />';
                                                                $paragraphStack = false;
                                                                $this->mLastSection = 'p';
                                                        } else {
@@ -2434,20 +2433,20 @@ class Parser {
                                                                $paragraphStack = false;
                                                                $this->mLastSection = 'p';
                                                        } elseif ( $this->mLastSection !== 'p' ) {
-                                                               $output .= $this->closeParagraph().'<p>';
+                                                               $output .= $this->closeParagraph() . '<p>';
                                                                $this->mLastSection = 'p';
                                                        }
                                                }
                                        }
                                }
-                               wfProfileOut( __METHOD__."-paragraph" );
+                               wfProfileOut( __METHOD__ . "-paragraph" );
                        }
                        # somewhere above we forget to get out of pre block (bug 785)
                        if ( $preCloseMatch && $this->mInPre ) {
                                $this->mInPre = false;
                        }
                        if ( $paragraphStack === false ) {
-                               $output .= $t."\n";
+                               $output .= $t . "\n";
                        }
                }
                while ( $prefixLength ) {
@@ -2581,7 +2580,7 @@ class Parser {
                                if ( $c === ">" ) {
                                        $stack--;
                                        if ( $stack < 0 ) {
-                                               wfDebug( __METHOD__.": Invalid input; too many close tags\n" );
+                                               wfDebug( __METHOD__ . ": Invalid input; too many close tags\n" );
                                                wfProfileOut( __METHOD__ );
                                                return false;
                                        }
@@ -2621,7 +2620,7 @@ class Parser {
                        }
                }
                if ( $stack > 0 ) {
-                       wfDebug( __METHOD__.": Invalid input; not enough close tags (stack $stack, state $state)\n" );
+                       wfDebug( __METHOD__ . ": Invalid input; not enough close tags (stack $stack, state $state)\n" );
                        wfProfileOut( __METHOD__ );
                        return false;
                }
@@ -2849,7 +2848,7 @@ class Parser {
                                $value = $this->getRevisionUser();
                                break;
                        case 'namespace':
-                               $value = str_replace( '_',' ',$wgContLang->getNsText( $this->mTitle->getNamespace() ) );
+                               $value = str_replace( '_', ' ', $wgContLang->getNsText( $this->mTitle->getNamespace() ) );
                                break;
                        case 'namespacee':
                                $value = wfUrlencode( $wgContLang->getNsText( $this->mTitle->getNamespace() ) );
@@ -2858,7 +2857,7 @@ class Parser {
                                $value = $this->mTitle->getNamespace();
                                break;
                        case 'talkspace':
-                               $value = $this->mTitle->canTalk() ? str_replace( '_',' ',$this->mTitle->getTalkNsText() ) : '';
+                               $value = $this->mTitle->canTalk() ? str_replace( '_', ' ', $this->mTitle->getTalkNsText() ) : '';
                                break;
                        case 'talkspacee':
                                $value = $this->mTitle->canTalk() ? wfUrlencode( $this->mTitle->getTalkNsText() ) : '';
@@ -3070,7 +3069,7 @@ class Parser {
                if ( $frame === false ) {
                        $frame = $this->getPreprocessor()->newFrame();
                } elseif ( !( $frame instanceof PPFrame ) ) {
-                       wfDebug( __METHOD__." called using plain parameters instead of a PPFrame instance. Creating custom frame.\n" );
+                       wfDebug( __METHOD__ . " called using plain parameters instead of a PPFrame instance. Creating custom frame.\n" );
                        $frame = $this->getPreprocessor()->newCustomFrame( $frame );
                }
 
@@ -3153,7 +3152,7 @@ class Parser {
        function braceSubstitution( $piece, $frame ) {
                global $wgContLang;
                wfProfileIn( __METHOD__ );
-               wfProfileIn( __METHOD__.'-setup' );
+               wfProfileIn( __METHOD__ . '-setup' );
 
                # Flags
                $found = false;             # $text has been filled
@@ -3178,12 +3177,12 @@ class Parser {
                # $args is a list of argument nodes, starting from index 0, not including $part1
                # @todo FIXME: If piece['parts'] is null then the call to getLength() below won't work b/c this $args isn't an object
                $args = ( null == $piece['parts'] ) ? array() : $piece['parts'];
-               wfProfileOut( __METHOD__.'-setup' );
+               wfProfileOut( __METHOD__ . '-setup' );
 
                $titleProfileIn = null; // profile templates
 
                # SUBST
-               wfProfileIn( __METHOD__.'-modifiers' );
+               wfProfileIn( __METHOD__ . '-modifiers' );
                if ( !$found ) {
 
                        $substMatch = $this->mSubstWords->matchStartAndRemove( $part1 );
@@ -3240,7 +3239,7 @@ class Parser {
                                $forceRawInterwiki = true;
                        }
                }
-               wfProfileOut( __METHOD__.'-modifiers' );
+               wfProfileOut( __METHOD__ . '-modifiers' );
 
                # Parser functions
                if ( !$found ) {
@@ -3387,7 +3386,7 @@ class Parser {
                                        }
                                } elseif ( MWNamespace::isNonincludable( $title->getNamespace() ) ) {
                                        $found = false; # access denied
-                                       wfDebug( __METHOD__.": template inclusion denied for " . $title->getPrefixedDBkey() );
+                                       wfDebug( __METHOD__ . ": template inclusion denied for " . $title->getPrefixedDBkey() );
                                } else {
                                        list( $text, $title ) = $this->getTemplateDom( $title );
                                        if ( $text !== false ) {
@@ -3422,7 +3421,7 @@ class Parser {
                                $text = '<span class="error">'
                                        . wfMessage( 'parser-template-loop-warning', $titleText )->inContentLanguage()->text()
                                        . '</span>';
-                               wfDebug( __METHOD__.": template loop broken at '$titleText'\n" );
+                               wfDebug( __METHOD__ . ": template loop broken at '$titleText'\n" );
                        }
                        wfProfileOut( __METHOD__ . '-loadtpl' );
                }
@@ -3898,7 +3897,7 @@ class Parser {
                } elseif ( $markerType === 'general' ) {
                        $this->mStripState->addGeneral( $marker, $output );
                } else {
-                       throw new MWException( __METHOD__.': invalid marker type' );
+                       throw new MWException( __METHOD__ . ': invalid marker type' );
                }
                return $marker;
        }
@@ -3997,7 +3996,7 @@ class Parser {
         */
        public function addTrackingCategory( $msg ) {
                if ( $this->mTitle->getNamespace() === NS_SPECIAL ) {
-                       wfDebug( __METHOD__.": Not adding tracking category $msg to special page!\n" );
+                       wfDebug( __METHOD__ . ": Not adding tracking category $msg to special page!\n" );
                        return false;
                }
                // Important to parse with correct title (bug 31469)
@@ -4016,7 +4015,7 @@ class Parser {
                        $this->mOutput->addCategory( $containerCategory->getDBkey(), $this->getDefaultSort() );
                        return true;
                } else {
-                       wfDebug( __METHOD__.": [[MediaWiki:$msg]] is not a valid title!\n" );
+                       wfDebug( __METHOD__ . ": [[MediaWiki:$msg]] is not a valid title!\n" );
                        return false;
                }
        }
@@ -4326,7 +4325,7 @@ class Parser {
                                // of data, but put the headline hint inside a content block because the language converter is supposed to
                                // be able to convert that piece of data.
                                $editlink = '<mw:editsection page="' . htmlspecialchars($editlinkArgs[0]);
-                               $editlink .= '" section="' . htmlspecialchars($editlinkArgs[1]) .'"';
+                               $editlink .= '" section="' . htmlspecialchars($editlinkArgs[1]) . '"';
                                if ( isset($editlinkArgs[2]) ) {
                                        $editlink .= '>' . $editlinkArgs[2] . '</mw:editsection>';
                                } else {
@@ -4563,7 +4562,7 @@ class Parser {
                        } else {
                                # Failed to validate; fall back to the default
                                $nickname = $username;
-                               wfDebug( __METHOD__.": $username has bad XML tags in signature.\n" );
+                               wfDebug( __METHOD__ . ": $username has bad XML tags in signature.\n" );
                        }
                }
 
@@ -4824,7 +4823,7 @@ class Parser {
                # Add to function cache
                $mw = MagicWord::get( $id );
                if ( !$mw )
-                       throw new MWException( __METHOD__.'() expecting a magic word identifier.' );
+                       throw new MWException( __METHOD__ . '() expecting a magic word identifier.' );
 
                $synonyms = $mw->getSynonyms();
                $sensitive = intval( $mw->isCaseSensitive() );
@@ -4987,7 +4986,7 @@ class Parser {
                                        if ( $match = $magicWordAlt->matchVariableStartToEnd( $parameterMatch ) ) {
                                                $alt = $this->stripAltText( $match, false );
                                        }
-                                       elseif( $match = $magicWordLink->matchVariableStartToEnd( $parameterMatch ) ){
+                                       elseif( $match = $magicWordLink->matchVariableStartToEnd( $parameterMatch ) ) {
                                                $linkValue = strip_tags( $this->replaceLinkHoldersText( $match ) );
                                                $chars = self::EXT_LINK_URL_CLASS;
                                                $prots = $this->mUrlProtocols;
@@ -5010,7 +5009,7 @@ class Parser {
                                $label = substr( $label, 1 );
                        }
 
-                       $ig->add( $title, $label, $alt ,$link);
+                       $ig->add( $title, $label, $alt, $link );
                }
                return $ig->toHTML();
        }
@@ -5836,7 +5835,7 @@ class Parser {
         */
        function unserializeHalfParsedText( $data ) {
                if ( !isset( $data['version'] ) || $data['version'] != self::HALF_PARSED_VERSION ) {
-                       throw new MWException( __METHOD__.': invalid version' );
+                       throw new MWException( __METHOD__ . ': invalid version' );
                }
 
                # First, extract the strip state.
index 822b31b..f32d5b6 100644 (file)
@@ -390,7 +390,7 @@ class ParserOutput extends CacheTime {
                $this->mProperties[$name] = $value;
        }
 
-       public function getProperty( $name ){
+       public function getProperty( $name ) {
                return isset( $this->mProperties[$name] ) ? $this->mProperties[$name] : false;
        }
 
@@ -407,20 +407,20 @@ class ParserOutput extends CacheTime {
         * into account to produce this output or false if not available.
         * @return mixed Array
         */
-        public function getUsedOptions() {
+       public function getUsedOptions() {
                if ( !isset( $this->mAccessedOptions ) ) {
                        return array();
                }
                return array_keys( $this->mAccessedOptions );
-        }
+       }
 
-        /**
-         * Callback passed by the Parser to the ParserOptions to keep track of which options are used.
-         * @access private
-         */
-        function recordOption( $option ) {
-                $this->mAccessedOptions[$option] = true;
-        }
+       /**
+        * Callback passed by the Parser to the ParserOptions to keep track of which options are used.
+        * @access private
+        */
+       function recordOption( $option ) {
+               $this->mAccessedOptions[$option] = true;
+       }
 
        /**
         * Adds an update job to the output. Any update jobs added to the output will eventually bexecuted in order to
@@ -458,6 +458,6 @@ class ParserOutput extends CacheTime {
                $linksUpdate = new LinksUpdate( $title, $this, $recursive );
 
                return array_merge( $this->mSecondaryDataUpdates, array( $linksUpdate ) );
-        }
+       }
 
 }
index baffcd8..b30b031 100644 (file)
@@ -157,7 +157,7 @@ class Profiler {
         */
        public function profileIn( $functionname ) {
                global $wgDebugFunctionEntry;
-               if( $wgDebugFunctionEntry ){
+               if( $wgDebugFunctionEntry ) {
                        $this->debug( str_repeat( ' ', count( $this->mWorkStack ) ) . 'Entering ' . $functionname . "\n" );
                }
 
@@ -174,7 +174,7 @@ class Profiler {
                $memory = memory_get_usage();
                $time = $this->getTime();
 
-               if( $wgDebugFunctionEntry ){
+               if( $wgDebugFunctionEntry ) {
                        $this->debug( str_repeat( ' ', count( $this->mWorkStack ) - 1 ) . 'Exiting ' . $functionname . "\n" );
                }
 
@@ -183,13 +183,13 @@ class Profiler {
                if (!$bit) {
                        $this->debug("Profiling error, !\$bit: $functionname\n");
                } else {
-                       //if( $wgDebugProfiling ){
-                               if( $functionname == 'close' ){
+                       //if( $wgDebugProfiling ) {
+                               if( $functionname == 'close' ) {
                                        $message = "Profile section ended by close(): {$bit[0]}";
                                        $this->debug( "$message\n" );
                                        $this->mStack[] = array( $message, 0, 0.0, 0, 0.0, 0 );
                                }
-                               elseif( $bit[0] != $functionname ){
+                               elseif( $bit[0] != $functionname ) {
                                        $message = "Profiling error: in({$bit[0]}), out($functionname)";
                                        $this->debug( "$message\n" );
                                        $this->mStack[] = array( $message, 0, 0.0, 0, 0.0, 0 );
@@ -205,7 +205,7 @@ class Profiler {
         * Close opened profiling sections
         */
        public function close() {
-               while( count( $this->mWorkStack ) ){
+               while( count( $this->mWorkStack ) ) {
                        $this->profileOut( 'close' );
                }
        }
@@ -228,7 +228,7 @@ class Profiler {
                global $wgDebugFunctionEntry, $wgProfileCallTree;
                $wgDebugFunctionEntry = false;
 
-               if( !count( $this->mStack ) && !count( $this->mCollated ) ){
+               if( !count( $this->mStack ) && !count( $this->mCollated ) ) {
                        return "No profiling output\n";
                }
 
@@ -254,16 +254,16 @@ class Profiler {
         * @return array
         */
        function remapCallTree( $stack ) {
-               if( count( $stack ) < 2 ){
+               if( count( $stack ) < 2 ) {
                        return $stack;
                }
                $outputs = array ();
-               for( $max = count( $stack ) - 1; $max > 0; ){
+               for( $max = count( $stack ) - 1; $max > 0; ) {
                        /* Find all items under this entry */
                        $level = $stack[$max][1];
                        $working = array ();
-                       for( $i = $max -1; $i >= 0; $i-- ){
-                               if( $stack[$i][1] > $level ){
+                       for( $i = $max -1; $i >= 0; $i-- ) {
+                               if( $stack[$i][1] > $level ) {
                                        $working[] = $stack[$i];
                                } else {
                                        break;
@@ -271,7 +271,7 @@ class Profiler {
                        }
                        $working = $this->remapCallTree( array_reverse( $working ) );
                        $output = array();
-                       foreach( $working as $item ){
+                       foreach( $working as $item ) {
                                array_push( $output, $item );
                        }
                        array_unshift( $output, $stack[$max] );
@@ -280,8 +280,8 @@ class Profiler {
                        array_unshift( $outputs, $output );
                }
                $final = array();
-               foreach( $outputs as $output ){
-                       foreach( $output as $item ){
+               foreach( $outputs as $output ) {
+                       foreach( $output as $item ) {
                                $final[] = $item;
                        }
                }
@@ -391,18 +391,18 @@ class Profiler {
 
                # First, subtract the overhead!
                $overheadTotal = $overheadMemory = $overheadInternal = array();
-               foreach( $this->mStack as $entry ){
+               foreach( $this->mStack as $entry ) {
                        $fname = $entry[0];
                        $start = $entry[2];
                        $end = $entry[4];
                        $elapsed = $end - $start;
                        $memory = $entry[5] - $entry[3];
 
-                       if( $fname == '-overhead-total' ){
+                       if( $fname == '-overhead-total' ) {
                                $overheadTotal[] = $elapsed;
                                $overheadMemory[] = $memory;
                        }
-                       elseif( $fname == '-overhead-internal' ){
+                       elseif( $fname == '-overhead-internal' ) {
                                $overheadInternal[] = $elapsed;
                        }
                }
@@ -411,7 +411,7 @@ class Profiler {
                $overheadInternal = $overheadInternal ? array_sum( $overheadInternal ) / count( $overheadInternal ) : 0;
 
                # Collate
-               foreach( $this->mStack as $index => $entry ){
+               foreach( $this->mStack as $index => $entry ) {
                        $fname = $entry[0];
                        $start = $entry[2];
                        $end = $entry[4];
@@ -420,7 +420,7 @@ class Profiler {
                        $memory = $entry[5] - $entry[3];
                        $subcalls = $this->calltreeCount( $this->mStack, $index );
 
-                       if( !preg_match( '/^-overhead/', $fname ) ){
+                       if( !preg_match( '/^-overhead/', $fname ) ) {
                                # Adjust for profiling overhead (except special values with elapsed=0
                                if( $elapsed ) {
                                        $elapsed -= $overheadInternal;
@@ -429,7 +429,7 @@ class Profiler {
                                }
                        }
 
-                       if( !array_key_exists( $fname, $this->mCollated ) ){
+                       if( !array_key_exists( $fname, $this->mCollated ) ) {
                                $this->mCollated[$fname] = 0;
                                $this->mCalls[$fname] = 0;
                                $this->mMemory[$fname] = 0;
@@ -467,11 +467,11 @@ class Profiler {
 
                $total = isset( $this->mCollated['-total'] ) ? $this->mCollated['-total'] : 0;
 
-               foreach( $this->mCollated as $fname => $elapsed ){
+               foreach( $this->mCollated as $fname => $elapsed ) {
                        $calls = $this->mCalls[$fname];
                        $percent = $total ? 100. * $elapsed / $total : 0;
                        $memory = $this->mMemory[$fname];
-                       $prof .= sprintf($format, substr($fname, 0, $nameWidth), $calls, (float) ($elapsed * 1000), (float) ($elapsed * 1000) / $calls, $percent, $memory, ($this->mMin[$fname] * 1000.0), ($this->mMax[$fname] * 1000.0), $this->mOverhead[$fname]);
+                       $prof .= sprintf( $format, substr( $fname, 0, $nameWidth ), $calls, (float) ($elapsed * 1000), (float) ($elapsed * 1000) / $calls, $percent, $memory, ( $this->mMin[$fname] * 1000.0 ), ( $this->mMax[$fname] * 1000.0 ), $this->mOverhead[$fname] );
                }
                $prof .= "\nTotal: $total\n\n";
 
@@ -483,7 +483,7 @@ class Profiler {
         */
        protected static function calculateOverhead( $profileCount ) {
                wfProfileIn( '-overhead-total' );
-               for( $i = 0; $i < $profileCount; $i++ ){
+               for( $i = 0; $i < $profileCount; $i++ ) {
                        wfProfileIn( '-overhead-internal' );
                        wfProfileOut( '-overhead-internal' );
                }
@@ -524,7 +524,7 @@ class Profiler {
                        return;
                }
 
-               if( $wgProfilePerHost ){
+               if( $wgProfilePerHost ) {
                        $pfhost = wfHostname();
                } else {
                        $pfhost = '';
@@ -533,7 +533,7 @@ class Profiler {
                try {
                        $this->collateData();
 
-                       foreach( $this->mCollated as $name => $elapsed ){
+                       foreach( $this->mCollated as $name => $elapsed ) {
                                $eventCount = $this->mCalls[$name];
                                $timeSum = (float) ($elapsed * 1000);
                                $memorySum = (float)$this->mMemory[$name];
index 1d36911..32cf6b2 100644 (file)
@@ -224,7 +224,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                                "};\n";
 
                        // Conditional script injection
-                       $scriptTag = Html::linkedScript( $wgLoadScript . '?' . wfArrayToCGI( $query ) );
+                       $scriptTag = Html::linkedScript( $wgLoadScript . '?' . wfArrayToCgi( $query ) );
                        $out .= "if ( isCompatible() ) {\n" .
                                "\t" . Xml::encodeJsCall( 'document.write', array( $scriptTag ) ) .
                                "}\n" .
index 0199edb..e10b642 100644 (file)
@@ -183,7 +183,7 @@ class SearchEngine {
 
                        # Exact match? No need to look further.
                        $title = Title::newFromText( $term );
-                       if ( is_null( $title ) ){
+                       if ( is_null( $title ) ) {
                                return null;
                        }
 
@@ -1243,7 +1243,7 @@ class SearchHighlighter {
                        $posEnd = $end;
                }
 
-               if ( $end > $start )  {
+               if ( $end > $start ) {
                        return substr( $text, $start, $end - $start );
                } else {
                        return '';
@@ -1419,8 +1419,7 @@ class SearchHighlighter {
 
                        $line = htmlspecialchars( $pre . $found . $post );
                        $pat2 = '/(' . $terms . ")/i";
-                       $line = preg_replace( $pat2,
-                         "<span class='searchmatch'>\\1</span>", $line );
+                       $line = preg_replace( $pat2, "<span class='searchmatch'>\\1</span>", $line );
 
                        $extract .= "${line}\n";
                }
index 6864889..9c89c3d 100644 (file)
@@ -51,11 +51,11 @@ class SearchPostgres extends SearchEngine {
         * @return PostgresSearchResultSet
         */
        function searchTitle( $term ) {
-               $q = $this->searchQuery( $term , 'titlevector', 'page_title' );
-               $olderror = error_reporting(E_ERROR);
+               $q = $this->searchQuery( $term, 'titlevector', 'page_title' );
+               $olderror = error_reporting( E_ERROR );
                $resultSet = $this->db->resultObject( $this->db->query( $q, 'SearchPostgres', true ) );
-               error_reporting($olderror);
-               if (!$resultSet) {
+               error_reporting( $olderror );
+               if ( !$resultSet ) {
                        // Needed for "Query requires full scan, GIN doesn't support it"
                        return new SearchResultTooMany();
                }
@@ -186,10 +186,10 @@ class SearchPostgres extends SearchEngine {
                        $query .= ' AND page_is_redirect = 0';
 
                ## Namespaces - defaults to 0
-               if( !is_null($this->namespaces) ){ // null -> search all
-                       if ( count($this->namespaces) < 1)
+               if( !is_null( $this->namespaces ) ) { // null -> search all
+                       if ( count( $this->namespaces ) < 1 ) {
                                $query .= ' AND page_namespace = 0';
-                       else {
+                       else {
                                $namespaces = $this->db->makeList( $this->namespaces );
                                $query .= " AND page_namespace IN ($namespaces)";
                        }
@@ -211,7 +211,7 @@ class SearchPostgres extends SearchEngine {
                $SQL = "UPDATE pagecontent SET textvector = NULL WHERE old_id IN ".
                                "(SELECT rev_text_id FROM revision WHERE rev_page = " . intval( $pageid ) .
                                " ORDER BY rev_text_id DESC OFFSET 1)";
-               $this->db->query($SQL);
+               $this->db->query( $SQL );
                return true;
        }
 
index fe9d41e..5f8a0e4 100644 (file)
@@ -118,7 +118,7 @@ class AllmessagesTablePager extends TablePager {
                $request = $this->getRequest();
 
                $this->filter = $request->getVal( 'filter', 'all' );
-               if( $this->filter === 'all' ){
+               if( $this->filter === 'all' ) {
                        $this->custom = null; // So won't match in either case
                } else {
                        $this->custom = ($this->filter == 'unmodified');
@@ -126,7 +126,7 @@ class AllmessagesTablePager extends TablePager {
 
                $prefix = $this->getLanguage()->ucfirst( $request->getVal( 'prefix', '' ) );
                $prefix = $prefix != '' ? Title::makeTitleSafe( NS_MEDIAWIKI, $request->getVal( 'prefix', null ) ) : null;
-               if( $prefix !== null ){
+               if( $prefix !== null ) {
                        $this->displayPrefix = $prefix->getDBkey();
                        $this->prefix = '/^' . preg_quote( $this->displayPrefix ) . '/i';
                } else {
@@ -150,7 +150,7 @@ class AllmessagesTablePager extends TablePager {
                $msg = wfMessage( 'allmessages-language' );
                $langSelect = Xml::languageSelector( $this->langcode, false, null, $attrs, $msg );
 
-               $out  = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'id' => 'mw-allmessages-form' ) ) .
+               $out = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'id' => 'mw-allmessages-form' ) ) .
                        Xml::fieldset( $this->msg( 'allmessages-filter-legend' )->text() ) .
                        Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) .
                        Xml::openElement( 'table', array( 'class' => 'mw-allmessages-table' ) ) . "\n" .
@@ -216,7 +216,7 @@ class AllmessagesTablePager extends TablePager {
        function getAllMessages( $descending ) {
                wfProfileIn( __METHOD__ );
                $messageNames = Language::getLocalisationCache()->getSubitemList( 'en', 'messages' );
-               if( $descending ){
+               if( $descending ) {
                        rsort( $messageNames );
                } else {
                        asort( $messageNames );
@@ -331,15 +331,15 @@ class AllmessagesTablePager extends TablePager {
                        </tr></thead><tbody>\n";
        }
 
-       function formatValue( $field, $value ){
-               switch( $field ){
+       function formatValue( $field, $value ) {
+               switch( $field ) {
 
                        case 'am_title' :
 
                                $title = Title::makeTitle( NS_MEDIAWIKI, $value . $this->suffix );
                                $talk  = Title::makeTitle( NS_MEDIAWIKI_TALK, $value . $this->suffix );
 
-                               if( $this->mCurrentRow->am_customised ){
+                               if( $this->mCurrentRow->am_customised ) {
                                        $title = Linker::linkKnown( $title, $this->getLanguage()->lcfirst( $value ) );
                                } else {
                                        $title = Linker::link(
@@ -351,7 +351,7 @@ class AllmessagesTablePager extends TablePager {
                                        );
                                }
                                if ( $this->mCurrentRow->am_talk_exists ) {
-                                       $talk = Linker::linkKnown( $talk , $this->talk );
+                                       $talk = Linker::linkKnown( $talk, $this->talk );
                                } else {
                                        $talk = Linker::link(
                                                $talk,
@@ -370,12 +370,12 @@ class AllmessagesTablePager extends TablePager {
                return '';
        }
 
-       function formatRow( $row ){
+       function formatRow( $row ) {
                // Do all the normal stuff
                $s = parent::formatRow( $row );
 
                // But if there's a customised message, add that too.
-               if( $row->am_customised ){
+               if( $row->am_customised ) {
                        $s .= Xml::openElement( 'tr', $this->getRowAttrs( $row, true ) );
                        $formatted = strval( $this->formatValue( 'am_actual', $row->am_actual ) );
                        if ( $formatted == '' ) {
@@ -387,19 +387,19 @@ class AllmessagesTablePager extends TablePager {
                return $s;
        }
 
-       function getRowAttrs( $row, $isSecond = false ){
+       function getRowAttrs( $row, $isSecond = false ) {
                $arr = array();
-               if( $row->am_customised ){
+               if( $row->am_customised ) {
                        $arr['class'] = 'allmessages-customised';
                }
-               if( !$isSecond ){
+               if( !$isSecond ) {
                        $arr['id'] = Sanitizer::escapeId( 'msg_' . $this->getLanguage()->lcfirst( $row->am_title ) );
                }
                return $arr;
        }
 
-       function getCellAttrs( $field, $value ){
-               if( $this->mCurrentRow->am_customised && $field == 'am_title' ){
+       function getCellAttrs( $field, $value ) {
+               if( $this->mCurrentRow->am_customised && $field == 'am_title' ) {
                        return array( 'rowspan' => '2', 'class' => $field );
                } elseif( $field == 'am_title' ) {
                        return array( 'class' => $field );
@@ -420,16 +420,15 @@ class AllmessagesTablePager extends TablePager {
                return SpecialPage::getTitleFor( 'Allmessages', false );
        }
 
-       function isFieldSortable( $x ){
+       function isFieldSortable( $x ) {
                return false;
        }
 
-       function getDefaultSort(){
+       function getDefaultSort() {
                return '';
        }
 
-       function getQueryInfo(){
+       function getQueryInfo() {
                return '';
        }
 }
-
index 0f8b255..abfb719 100644 (file)
@@ -61,7 +61,7 @@ class SpecialAllpages extends IncludableSpecialPage {
         *
         * @param $name string: name of the special page, as seen in links and URLs (default: 'Allpages')
         */
-       function __construct( $name = 'Allpages' ){
+       function __construct( $name = 'Allpages' ) {
                parent::__construct( $name );
        }
 
@@ -127,7 +127,7 @@ class SpecialAllpages extends IncludableSpecialPage {
                        Xml::label( $this->msg( 'allpagesfrom' )->text(), 'nsfrom' ) .
                        "       </td>
        <td class='mw-input'>" .
-                       Xml::input( 'from', 30, str_replace('_',' ',$from), array( 'id' => 'nsfrom' ) ) .
+                       Xml::input( 'from', 30, str_replace( '_', ' ', $from ), array( 'id' => 'nsfrom' ) ) .
                        "       </td>
 </tr>
 <tr>
@@ -135,7 +135,7 @@ class SpecialAllpages extends IncludableSpecialPage {
                        Xml::label( $this->msg( 'allpagesto' )->text(), 'nsto' ) .
                        "       </td>
                        <td class='mw-input'>" .
-                       Xml::input( 'to', 30, str_replace('_',' ',$to), array( 'id' => 'nsto' ) ) .
+                       Xml::input( 'to', 30, str_replace( '_', ' ', $to ), array( 'id' => 'nsto' ) ) .
                        "               </td>
 </tr>
 <tr>
@@ -198,8 +198,8 @@ class SpecialAllpages extends IncludableSpecialPage {
                $lines = $wgMemc->get( $key );
 
                $count = $dbr->estimateRowCount( 'page', '*', $where, __METHOD__ );
-               $maxPerSubpage = intval($count/$this->maxLineCount);
-               $maxPerSubpage = max($maxPerSubpage,$this->maxPerPage);
+               $maxPerSubpage = intval( $count / $this->maxLineCount );
+               $maxPerSubpage = max( $maxPerSubpage, $this->maxPerPage );
 
                if( !is_array( $lines ) ) {
                        $options = array( 'LIMIT' => 1 );
index d740082..d1afe58 100644 (file)
@@ -113,14 +113,14 @@ class SpecialBlockList extends SpecialPage {
 
                $conds = array();
                # Is the user allowed to see hidden blocks?
-               if ( !$this->getUser()->isAllowed( 'hideuser' ) ){
+               if ( !$this->getUser()->isAllowed( 'hideuser' ) ) {
                        $conds['ipb_deleted'] = 0;
                }
 
-               if ( $this->target !== '' ){
+               if ( $this->target !== '' ) {
                        list( $target, $type ) = Block::parseTarget( $this->target );
 
-                       switch( $type ){
+                       switch( $type ) {
                                case Block::TYPE_ID:
                                case Block::TYPE_AUTO:
                                        $conds['ipb_id'] = $target;
@@ -269,11 +269,11 @@ class BlockListPager extends TablePager {
                                break;
 
                        case 'ipb_target':
-                               if( $row->ipb_auto ){
+                               if( $row->ipb_auto ) {
                                        $formatted = $this->msg( 'autoblockid', $row->ipb_id )->parse();
                                } else {
                                        list( $target, $type ) = Block::parseTarget( $row->ipb_address );
-                                       switch( $type ){
+                                       switch( $type ) {
                                                case Block::TYPE_USER:
                                                case Block::TYPE_IP:
                                                        $formatted = Linker::userLink( $target->getId(), $target );
@@ -292,8 +292,8 @@ class BlockListPager extends TablePager {
 
                        case 'ipb_expiry':
                                $formatted = $this->getLanguage()->formatExpiry( $value, /* User preference timezone */ true );
-                               if( $this->getUser()->isAllowed( 'block' ) ){
-                                       if( $row->ipb_auto ){
+                               if( $this->getUser()->isAllowed( 'block' ) ) {
+                                       if( $row->ipb_auto ) {
                                                $links[] = Linker::linkKnown(
                                                        SpecialPage::getTitleFor( 'Unblock' ),
                                                        $msg['unblocklink'],
@@ -391,14 +391,14 @@ class BlockListPager extends TablePager {
                );
 
                # Is the user allowed to see hidden blocks?
-               if ( !$this->getUser()->isAllowed( 'hideuser' ) ){
+               if ( !$this->getUser()->isAllowed( 'hideuser' ) ) {
                        $info['conds']['ipb_deleted'] = 0;
                }
 
                return $info;
        }
 
-       public function getTableClass(){
+       public function getTableClass() {
                return 'TablePager mw-blocklist';
        }
 
@@ -418,7 +418,7 @@ class BlockListPager extends TablePager {
         * Do a LinkBatch query to minimise database load when generating all these links
         * @param $result
         */
-       function preprocessResults( $result ){
+       function preprocessResults( $result ) {
                wfProfileIn( __METHOD__ );
                # Do a link batch query
                $lb = new LinkBatch;
@@ -437,7 +437,7 @@ class BlockListPager extends TablePager {
                }
 
                $ua = UserArray::newFromIDs( $userids );
-               foreach( $ua as $user ){
+               foreach( $ua as $user ) {
                        $name = str_replace( ' ', '_', $user->getName() );
                        $lb->add( NS_USER, $name );
                        $lb->add( NS_USER_TALK, $name );
index 2b7036c..8be1cf0 100644 (file)
@@ -106,7 +106,7 @@ class SpecialComparePages extends SpecialPage {
                $form->trySubmit();
        }
 
-       public static function showDiff( $data, HTMLForm $form ){
+       public static function showDiff( $data, HTMLForm $form ) {
                $rev1 = self::revOrTitle( $data['Revision1'], $data['Page1'] );
                $rev2 = self::revOrTitle( $data['Revision2'], $data['Page2'] );
 
@@ -128,11 +128,11 @@ class SpecialComparePages extends SpecialPage {
        }
 
        public static function revOrTitle( $revision, $title ) {
-               if( $revision ){
+               if( $revision ) {
                        return $revision;
                } elseif( $title ) {
                        $title = Title::newFromText( $title );
-                       if( $title instanceof Title ){
+                       if( $title instanceof Title ) {
                                return $title->getLatestRevID();
                        }
                }
index f7e316b..54ec07d 100644 (file)
@@ -152,7 +152,7 @@ class SpecialContributions extends SpecialPage {
                                $apiParams['month'] = $this->opts['month'];
                        }
 
-                       $url = wfScript( 'api' ) . '?' . wfArrayToCGI( $apiParams );
+                       $url = wfScript( 'api' ) . '?' . wfArrayToCgi( $apiParams );
 
                        $out->redirect( $url, '301' );
                        return;
index ae7657c..6d5205a 100644 (file)
@@ -49,7 +49,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
 
        private $badItems = array();
 
-       public function __construct(){
+       public function __construct() {
                parent::__construct( 'EditWatchlist' );
        }
 
@@ -85,9 +85,9 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
 
                # B/C: $mode used to be waaay down the parameter list, and the first parameter
                # was $wgUser
-               if( $mode instanceof User ){
+               if( $mode instanceof User ) {
                        $args = func_get_args();
-                       if( count( $args >= 4 ) ){
+                       if( count( $args >= 4 ) ) {
                                $mode = $args[3];
                        }
                }
@@ -101,7 +101,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                        case self::EDIT_RAW:
                                $out->setPageTitle( $this->msg( 'watchlistedit-raw-title' ) );
                                $form = $this->getRawForm();
-                               if( $form->show() ){
+                               if( $form->show() ) {
                                        $out->addHTML( $this->successMessage );
                                        $out->addReturnTo( SpecialPage::getTitleFor( 'Watchlist' ) );
                                }
@@ -111,7 +111,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                        default:
                                $out->setPageTitle( $this->msg( 'watchlistedit-normal-title' ) );
                                $form = $this->getNormalForm();
-                               if( $form->show() ){
+                               if( $form->show() ) {
                                        $out->addHTML( $this->successMessage );
                                        $out->addReturnTo( SpecialPage::getTitleFor( 'Watchlist' ) );
                                } elseif ( $this->toc !== false ) {
@@ -153,7 +153,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                return array_unique( $list );
        }
 
-       public function submitRaw( $data ){
+       public function submitRaw( $data ) {
                $wanted = $this->extractTitles( $data['Titles'] );
                $current = $this->getWatchlist();
 
@@ -164,7 +164,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                        $this->unwatchTitles( $toUnwatch );
                        $this->getUser()->invalidateCache();
 
-                       if( count( $toWatch ) > 0 || count( $toUnwatch ) > 0 ){
+                       if( count( $toWatch ) > 0 || count( $toUnwatch ) > 0 ) {
                                $this->successMessage = $this->msg( 'watchlistedit-raw-done' )->parse();
                        } else {
                                return false;
@@ -185,7 +185,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                        $this->clearWatchlist();
                        $this->getUser()->invalidateCache();
 
-                       if( count( $current ) > 0 ){
+                       if( count( $current ) > 0 ) {
                                $this->successMessage = $this->msg( 'watchlistedit-raw-done' )->parse();
                        } else {
                                return false;
@@ -470,13 +470,13 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
         *
         * @return HTMLForm
         */
-       protected function getNormalForm(){
+       protected function getNormalForm() {
                global $wgContLang;
 
                $fields = array();
                $count = 0;
 
-               foreach( $this->getWatchlistInfo() as $namespace => $pages ){
+               foreach( $this->getWatchlistInfo() as $namespace => $pages ) {
                        if ( $namespace >= 0 ) {
                                $fields['TitlesNs'.$namespace] = array(
                                        'class' => 'EditWatchlistCheckboxSeriesField',
@@ -485,7 +485,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                                );
                        }
 
-                       foreach( array_keys( $pages ) as $dbkey ){
+                       foreach( array_keys( $pages ) as $dbkey ) {
                                $title = Title::makeTitleSafe( $namespace, $dbkey );
                                if ( $this->checkTitle( $title, $namespace, $dbkey ) ) {
                                        $text = $this->buildRemoveLine( $title );
@@ -564,7 +564,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
         *
         * @return HTMLForm
         */
-       protected function getRawForm(){
+       protected function getRawForm() {
                $titles = implode( $this->getWatchlist(), "\n" );
                $fields = array(
                        'Titles' => array(
@@ -648,7 +648,7 @@ class WatchlistEditor extends SpecialEditWatchlist {}
  * Extend HTMLForm purely so we can have a more sane way of getting the section headers
  */
 class EditWatchlistNormalHTMLForm extends HTMLForm {
-       public function getLegend( $namespace ){
+       public function getLegend( $namespace ) {
                $namespace = substr( $namespace, 2 );
                return $namespace == NS_MAIN
                        ? $this->msg( 'blanknamespace' )->escaped()
index 1ae201b..7247470 100644 (file)
@@ -114,7 +114,7 @@ class SpecialImport extends SpecialPage {
                                throw new PermissionsError( 'importupload' );
                        }
                } elseif ( $sourceName == "interwiki" ) {
-                       if( !$user->isAllowed( 'import' ) ){
+                       if( !$user->isAllowed( 'import' ) ) {
                                throw new PermissionsError( 'import' );
                        }
                        $this->interwiki = $request->getVal( 'interwiki' );
@@ -153,7 +153,7 @@ class SpecialImport extends SpecialPage {
 
                        $out->addWikiMsg( "importstart" );
 
-                       $reporter = new ImportReporter( $importer, $isUpload, $this->interwiki , $this->logcomment);
+                       $reporter = new ImportReporter( $importer, $isUpload, $this->interwiki, $this->logcomment );
                        $reporter->setContext( $this->getContext() );
                        $exception = false;
 
index d459ac6..ef68302 100644 (file)
 
 class SpecialListFiles extends IncludableSpecialPage {
 
-       public function __construct(){
+       public function __construct() {
                parent::__construct( 'Listfiles' );
        }
 
-       public function execute( $par ){
+       public function execute( $par ) {
                $this->setHeaders();
                $this->outputHeader();
 
index 1f95c22..c82522a 100644 (file)
@@ -147,7 +147,7 @@ class SpecialListGroupRights extends SpecialPage {
         * @param $removeSelf Array of group this group is allowed to remove from self or true
         * @return string List of all granted permissions, separated by comma separator
         */
-        private function formatPermissions( $permissions, $revoke, $add, $remove, $addSelf, $removeSelf ) {
+       private function formatPermissions( $permissions, $revoke, $add, $remove, $addSelf, $removeSelf ) {
                $r = array();
                foreach( $permissions as $permission => $granted ) {
                        //show as granted only if it isn't revoked to prevent duplicate display of permissions
@@ -170,7 +170,7 @@ class SpecialListGroupRights extends SpecialPage {
                }
                sort( $r );
                $lang = $this->getLanguage();
-               if( $add === true ){
+               if( $add === true ) {
                        $r[] = $this->msg( 'listgrouprights-addgroup-all' )->escaped();
                } elseif( is_array( $add ) && count( $add ) ) {
                        $add = array_values( array_unique( $add ) );
@@ -179,7 +179,7 @@ class SpecialListGroupRights extends SpecialPage {
                                count( $add )
                        )->parse();
                }
-               if( $remove === true ){
+               if( $remove === true ) {
                        $r[] = $this->msg( 'listgrouprights-removegroup-all' )->escaped();
                } elseif( is_array( $remove ) && count( $remove ) ) {
                        $remove = array_values( array_unique( $remove ) );
@@ -188,7 +188,7 @@ class SpecialListGroupRights extends SpecialPage {
                                count( $remove )
                        )->parse();
                }
-               if( $addSelf === true ){
+               if( $addSelf === true ) {
                        $r[] = $this->msg( 'listgrouprights-addgroup-self-all' )->escaped();
                } elseif( is_array( $addSelf ) && count( $addSelf ) ) {
                        $addSelf = array_values( array_unique( $addSelf ) );
@@ -197,7 +197,7 @@ class SpecialListGroupRights extends SpecialPage {
                                count( $addSelf )
                        )->parse();
                }
-               if( $removeSelf === true ){
+               if( $removeSelf === true ) {
                        $r[] = $this->msg( 'listgrouprights-removegroup-self-all' )->parse();
                } elseif( is_array( $removeSelf ) && count( $removeSelf ) ) {
                        $removeSelf = array_values( array_unique( $removeSelf ) );
index 350aac6..caf48be 100644 (file)
  */
 class SpecialNewFiles extends IncludableSpecialPage {
 
-       public function __construct(){
+       public function __construct() {
                parent::__construct( 'Newimages' );
        }
 
-       public function execute( $par ){
+       public function execute( $par ) {
                $this->setHeaders();
                $this->outputHeader();
 
@@ -57,7 +57,7 @@ class NewFilesPager extends ReverseChronologicalPager {
 
        function __construct( IContextSource $context, $par = null ) {
                $this->like = $context->getRequest()->getText( 'like' );
-               $this->showbots = $context->getRequest()->getBool( 'showbots' , 0 );
+               $this->showbots = $context->getRequest()->getBool( 'showbots', 0 );
                if ( is_numeric( $par ) ) {
                        $this->setLimit( $par );
                }
@@ -85,10 +85,10 @@ class NewFilesPager extends ReverseChronologicalPager {
                        }
                }
 
-               if( !$wgMiserMode && $this->like !== null ){
+               if( !$wgMiserMode && $this->like !== null ) {
                        $dbr = wfGetDB( DB_SLAVE );
                        $likeObj = Title::newFromURL( $this->like );
-                       if( $likeObj instanceof Title ){
+                       if( $likeObj instanceof Title ) {
                                $like = $dbr->buildLike( $dbr->anyString(), strtolower( $likeObj->getDBkey() ), $dbr->anyString() );
                                $conds[] = "LOWER(img_name) $like";
                        }
@@ -104,18 +104,18 @@ class NewFilesPager extends ReverseChronologicalPager {
                return $query;
        }
 
-       function getIndexField(){
+       function getIndexField() {
                return 'img_timestamp';
        }
 
-       function getStartBody(){
+       function getStartBody() {
                if ( !$this->gallery ) {
                        $this->gallery = new ImageGallery();
                }
                return '';
        }
 
-       function getEndBody(){
+       function getEndBody() {
                return $this->gallery->toHTML();
        }
 
@@ -161,7 +161,7 @@ class NewFilesPager extends ReverseChronologicalPager {
                        ),
                );
 
-               if( $wgMiserMode ){
+               if( $wgMiserMode ) {
                        unset( $fields['like'] );
                }
 
index 85b9cf8..d9d6a79 100644 (file)
@@ -146,7 +146,7 @@ class SpecialNewpages extends IncludableSpecialPage {
 
                        $allValues = $this->opts->getAllValues();
                        unset( $allValues['feed'] );
-                       $out->setFeedAppendQuery( wfArrayToCGI( $allValues ) );
+                       $out->setFeedAppendQuery( wfArrayToCgi( $allValues ) );
                }
 
                $pager = new NewPagesPager( $this, $this->opts );
index d7cf693..f42a7a1 100644 (file)
@@ -86,7 +86,7 @@ class SpecialPasswordReset extends FormSpecialPage {
                        );
                }
 
-               if( $this->getUser()->isAllowed( 'passwordreset' ) ){
+               if( $this->getUser()->isAllowed( 'passwordreset' ) ) {
                        $a['Capture'] = array(
                                'type' => 'check',
                                'label-message' => 'passwordreset-capture',
@@ -136,7 +136,7 @@ class SpecialPasswordReset extends FormSpecialPage {
                        }
                }
 
-               if( isset( $data['Capture'] ) && !$this->getUser()->isAllowed( 'passwordreset' ) ){
+               if( isset( $data['Capture'] ) && !$this->getUser()->isAllowed( 'passwordreset' ) ) {
                        // The user knows they don't have the passwordreset permission, but they tried to spoof the form.  That's naughty
                        throw new PermissionsError( 'passwordreset' );
                }
@@ -162,7 +162,7 @@ class SpecialPasswordReset extends FormSpecialPage {
                        );
                        if ( $res ) {
                                $users = array();
-                               foreach( $res as $row ){
+                               foreach( $res as $row ) {
                                        $users[] = User::newFromRow( $row );
                                }
                        } else {
@@ -180,8 +180,8 @@ class SpecialPasswordReset extends FormSpecialPage {
                        return array( $error );
                }
 
-               if( count( $users ) == 0 ){
-                       if( $method == 'email' ){
+               if( count( $users ) == 0 ) {
+                       if( $method == 'email' ) {
                                // Don't reveal whether or not an email address is in use
                                return true;
                        } else {
@@ -264,7 +264,7 @@ class SpecialPasswordReset extends FormSpecialPage {
 
                if ( $this->result->isGood() ) {
                        return true;
-               } elseif( isset( $data['Capture'] ) && $data['Capture'] ){
+               } elseif( isset( $data['Capture'] ) && $data['Capture'] ) {
                        // The email didn't send, but maybe they knew that and that's why they captured it
                        return true;
                } else {
@@ -275,10 +275,10 @@ class SpecialPasswordReset extends FormSpecialPage {
        }
 
        public function onSuccess() {
-               if( $this->getUser()->isAllowed( 'passwordreset' ) && $this->email != null ){
+               if( $this->getUser()->isAllowed( 'passwordreset' ) && $this->email != null ) {
                        // @todo: Logging
 
-                       if( $this->result->isGood() ){
+                       if( $this->result->isGood() ) {
                                $this->getOutput()->addWikiMsg( 'passwordreset-emailsent-capture' );
                        } else {
                                $this->getOutput()->addWikiMsg( 'passwordreset-emailerror-capture', $this->result->getMessage() );
index 7740b32..f3895e8 100644 (file)
@@ -29,7 +29,7 @@
 class SpecialPrefixindex extends SpecialAllpages {
        // Inherit $maxPerPage
 
-       function __construct(){
+       function __construct() {
                parent::__construct( 'Prefixindex' );
        }
 
@@ -101,7 +101,7 @@ class SpecialPrefixindex extends SpecialAllpages {
                                Xml::label( $this->msg( 'allpagesprefix' )->text(), 'nsfrom' ) .
                                "</td>
                                <td class='mw-input'>" .
-                                       Xml::input( 'prefix', 30, str_replace('_',' ',$from), array( 'id' => 'nsfrom' ) ) .
+                                       Xml::input( 'prefix', 30, str_replace( '_', ' ', $from ), array( 'id' => 'nsfrom' ) ) .
                                "</td>
                        </tr>
                        <tr>
@@ -248,7 +248,7 @@ class SpecialPrefixindex extends SpecialAllpages {
                                }
                                $nextLink = Linker::linkKnown(
                                                $self,
-                                               $this->msg( 'nextpage', str_replace( '_',' ', $s->page_title ) )->escaped(),
+                                               $this->msg( 'nextpage', str_replace( '_', ' ', $s->page_title ) )->escaped(),
                                                array(),
                                                $query
                                        );
index db3f012..aceac3f 100644 (file)
@@ -78,7 +78,7 @@ class SpecialProtectedpages extends SpecialPage {
 
                static $infinity = null;
 
-               if( is_null( $infinity ) ){
+               if( is_null( $infinity ) ) {
                        $infinity = wfGetDB( DB_SLAVE )->getInfinity();
                }
 
index cf1e2b4..da0a63c 100644 (file)
@@ -76,7 +76,7 @@ class SpecialProtectedtitles extends SpecialPage {
 
                static $infinity = null;
 
-               if( is_null( $infinity ) ){
+               if( is_null( $infinity ) ) {
                        $infinity = wfGetDB( DB_SLAVE )->getInfinity();
                }
 
@@ -248,4 +248,3 @@ class ProtectedTitlesPager extends AlphabeticPager {
                return 'pt_timestamp';
        }
 }
-
index 307088e..13a7043 100644 (file)
@@ -32,7 +32,7 @@ class RandomPage extends SpecialPage {
        protected $isRedir = false; // should the result be a redirect?
        protected $extra = array(); // Extra SQL statements
 
-       public function __construct( $name = 'Randompage' ){
+       public function __construct( $name = 'Randompage' ) {
                $this->namespaces = MWNamespace::getContentNamespaces();
                parent::__construct( $name );
        }
@@ -49,7 +49,7 @@ class RandomPage extends SpecialPage {
        }
 
        // select redirects instead of normal pages?
-       public function isRedirect(){
+       public function isRedirect() {
                return $this->isRedir;
        }
 
index 88c81b3..51783a2 100644 (file)
@@ -28,7 +28,7 @@
  * @ingroup SpecialPage
  */
 class SpecialRandomredirect extends RandomPage {
-       function __construct(){
+       function __construct() {
                parent::__construct( 'Randomredirect' );
                $this->isRedir = true;
        }
index a8166db..6502c72 100644 (file)
@@ -155,7 +155,7 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                // Fetch results, prepare a batch link existence check query
                $conds = $this->buildMainQueryConds( $opts );
                $rows = $this->doMainQuery( $conds, $opts );
-               if( $rows === false ){
+               if( $rows === false ) {
                        if( !$this->including() ) {
                                $this->doHeader( $opts );
                        }
@@ -186,7 +186,7 @@ class SpecialRecentChanges extends IncludableSpecialPage {
         *
         * @return Array
         */
-       public function getFeedObject( $feedFormat ){
+       public function getFeedObject( $feedFormat ) {
                $changesFeed = new ChangesFeed( $feedFormat, 'rcfeed' );
                $formatter = $changesFeed->getFeedObject(
                        $this->msg( 'recentchanges' )->inContentLanguage()->text(),
@@ -281,9 +281,9 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                # It makes no sense to hide both anons and logged-in users
                # Where this occurs, force anons to be shown
                $forcebot = false;
-               if( $opts['hideanons'] && $opts['hideliu'] ){
+               if( $opts['hideanons'] && $opts['hideliu'] ) {
                        # Check if the user wants to show bots only
-                       if( $opts['hidebots'] ){
+                       if( $opts['hidebots'] ) {
                                $opts['hideanons'] = false;
                        } else {
                                $forcebot = true;
@@ -297,8 +297,8 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                $cutoff = $dbr->timestamp( $cutoff_unixtime );
 
                $fromValid = preg_match('/^[0-9]{14}$/', $opts['from']);
-               if( $fromValid && $opts['from'] > wfTimestamp(TS_MW,$cutoff) ) {
-                       $cutoff = $dbr->timestamp($opts['from']);
+               if( $fromValid && $opts['from'] > wfTimestamp( TS_MW, $cutoff ) ) {
+                       $cutoff = $dbr->timestamp( $opts['from'] );
                } else {
                        $opts->reset( 'from' );
                }
@@ -729,7 +729,7 @@ class SpecialRecentChanges extends IncludableSpecialPage {
         * @param $opts FormOptions
         */
        function filterByCategories( &$rows, FormOptions $opts ) {
-               $categories = array_map( 'trim', explode( '|' , $opts['categories'] ) );
+               $categories = array_map( 'trim', explode( '|', $opts['categories'] ) );
 
                if( !count( $categories ) ) {
                        return;
index 4d57bc7..3dae3a7 100644 (file)
@@ -29,7 +29,7 @@
 class SpecialRecentchangeslinked extends SpecialRecentChanges {
        var $rclTargetTitle;
 
-       function __construct(){
+       function __construct() {
                parent::__construct( 'Recentchangeslinked' );
        }
 
@@ -50,7 +50,7 @@ class SpecialRecentchangeslinked extends SpecialRecentChanges {
                return $opts;
        }
 
-       public function getFeedObject( $feedFormat ){
+       public function getFeedObject( $feedFormat ) {
                $feed = new ChangesFeed( $feedFormat, false );
                $feedObj = $feed->getFeedObject(
                        $this->msg( 'recentchangeslinked-title', $this->getTargetTitle()->getPrefixedText() )
@@ -71,7 +71,7 @@ class SpecialRecentchangeslinked extends SpecialRecentChanges {
                }
                $outputPage = $this->getOutput();
                $title = Title::newFromURL( $target );
-               if( !$title || $title->getInterwiki() != '' ){
+               if( !$title || $title->getInterwiki() != '' ) {
                        $outputPage->wrapWikiMsg( "<div class=\"errorbox\">\n$1\n</div><br style=\"clear: both\" />", 'allpagesbadtitle' );
                        return false;
                }
@@ -228,13 +228,13 @@ class SpecialRecentchangeslinked extends SpecialRecentChanges {
         * @param $opts FormOptions
         * @return array
         */
-       function getExtraOptions( $opts ){
+       function getExtraOptions( $opts ) {
                $opts->consumeValues( array( 'showlinkedto', 'target', 'tagfilter' ) );
                $extraOpts = array();
                $extraOpts['namespace'] = $this->namespaceFilterForm( $opts );
                $extraOpts['target'] = array( $this->msg( 'recentchangeslinked-page' )->escaped(),
-                       Xml::input( 'target', 40, str_replace('_',' ',$opts['target']) ) .
-                       Xml::check( 'showlinkedto', $opts['showlinkedto'], array('id' => 'showlinkedto') ) . ' ' .
+                       Xml::input( 'target', 40, str_replace( '_', ' ', $opts['target'] ) ) .
+                       Xml::check( 'showlinkedto', $opts['showlinkedto'], array( 'id' => 'showlinkedto' ) ) . ' ' .
                        Xml::label( $this->msg( 'recentchangeslinked-to' )->text(), 'showlinkedto' ) );
                $tagFilter = ChangeTags::buildTagFilterSelector( $opts['tagfilter'] );
                if ($tagFilter) {
index bc90d2b..397a24f 100644 (file)
@@ -729,10 +729,11 @@ class SpecialSearch extends SpecialPage {
                // work out custom project captions
                $customCaptions = array();
                $customLines = explode( "\n", $this->msg( 'search-interwiki-custom' )->text() ); // format per line <iwprefix>:<caption>
-               foreach($customLines as $line) {
-                       $parts = explode(":",$line,2);
-                       if(count($parts) == 2) // validate line
+               foreach( $customLines as $line ) {
+                       $parts = explode( ":", $line, 2 );
+                       if( count( $parts ) == 2 ) { // validate line
                                $customCaptions[$parts[0]] = $parts[1];
+                       }
                }
 
                $prev = null;
@@ -1025,7 +1026,7 @@ class SpecialSearch extends SpecialPage {
 
                // Results-info
                if ( $resultsShown > 0 ) {
-                       if ( $totalNum > 0 ){
+                       if ( $totalNum > 0 ) {
                                $top = $this->msg( 'showingresultsheader' )
                                        ->numParams( $this->offset + 1, $this->offset + $resultsShown, $totalNum )
                                        ->params( wfEscapeWikiText( $term ) )
index 853a805..076469c 100644 (file)
@@ -32,11 +32,11 @@ class SpecialUnblock extends SpecialPage {
        protected $type;
        protected $block;
 
-       public function __construct(){
+       public function __construct() {
                parent::__construct( 'Unblock', 'block' );
        }
 
-       public function execute( $par ){
+       public function execute( $par ) {
                $this->checkPermissions();
                $this->checkReadOnly();
 
@@ -56,8 +56,8 @@ class SpecialUnblock extends SpecialPage {
                $form->setSubmitTextMsg( 'ipusubmit' );
                $form->addPreText( $this->msg( 'unblockiptext' )->parseAsBlock() );
 
-               if( $form->show() ){
-                       switch( $this->type ){
+               if( $form->show() ) {
+                       switch( $this->type ) {
                                case Block::TYPE_USER:
                                case Block::TYPE_IP:
                                        $out->addWikiMsg( 'unblocked', wfEscapeWikiText( $this->target ) );
@@ -73,7 +73,7 @@ class SpecialUnblock extends SpecialPage {
                }
        }
 
-       protected function getFields(){
+       protected function getFields() {
                $fields = array(
                        'Target' => array(
                                'type' => 'text',
@@ -92,21 +92,21 @@ class SpecialUnblock extends SpecialPage {
                        )
                );
 
-               if( $this->block instanceof Block ){
+               if( $this->block instanceof Block ) {
                        list( $target, $type ) = $this->block->getTargetAndType();
 
                        # Autoblocks are logged as "autoblock #123 because the IP was recently used by
                        # User:Foo, and we've just got any block, auto or not, that applies to a target
                        # the user has specified.  Someone could be fishing to connect IPs to autoblocks,
                        # so don't show any distinction between unblocked IPs and autoblocked IPs
-                       if( $type == Block::TYPE_AUTO && $this->type == Block::TYPE_IP ){
+                       if( $type == Block::TYPE_AUTO && $this->type == Block::TYPE_IP ) {
                                $fields['Target']['default'] = $this->target;
                                unset( $fields['Name'] );
 
                        } else {
                                $fields['Target']['default'] = $target;
                                $fields['Target']['type'] = 'hidden';
-                               switch( $type ){
+                               switch( $type ) {
                                        case Block::TYPE_USER:
                                        case Block::TYPE_IP:
                                                $fields['Name']['default'] = Linker::link(
@@ -152,12 +152,12 @@ class SpecialUnblock extends SpecialPage {
         * @throws ErrorPageError
         * @return Array( Array(message key, parameters) ) on failure, True on success
         */
-       public static function processUnblock( array $data, IContextSource $context ){
+       public static function processUnblock( array $data, IContextSource $context ) {
                $performer = $context->getUser();
                $target = $data['Target'];
                $block = Block::newFromTarget( $data['Target'] );
 
-               if( !$block instanceof Block ){
+               if( !$block instanceof Block ) {
                        return array( array( 'ipb_cant_unblock', $target ) );
                }
 
@@ -173,8 +173,8 @@ class SpecialUnblock extends SpecialPage {
                # unblock the whole range.
                list( $target, $type ) = SpecialBlock::getTargetAndType( $target );
                if( $block->getType() == Block::TYPE_RANGE && $type == Block::TYPE_IP ) {
-                        $range = $block->getTarget();
-                        return array( array( 'ipb_blocked_as_range', $target, $range ) );
+                       $range = $block->getTarget();
+                       return array( array( 'ipb_blocked_as_range', $target, $range ) );
                }
 
                # If the name was hidden and the blocking user cannot hide
index 01a12c0..6ea3bf1 100644 (file)
@@ -40,7 +40,7 @@ class SpecialVersion extends SpecialPage {
                'https://svn.wikimedia.org/svnroot/mediawiki' => 'https://svn.wikimedia.org/viewvc/mediawiki',
        );
 
-       public function __construct(){
+       public function __construct() {
                parent::__construct( 'Version' );
        }
 
@@ -152,7 +152,7 @@ class SpecialVersion extends SpecialPage {
                wfRunHooks( 'SoftwareInfo', array( &$software ) );
 
                $out = Xml::element( 'h2', array( 'id' => 'mw-version-software' ), wfMessage( 'version-software' )->text() ) .
-                          Xml::openElement( 'table', array( 'class' => 'wikitable plainlinks', 'id' => 'sv-software' ) ) .
+                               Xml::openElement( 'table', array( 'class' => 'wikitable plainlinks', 'id' => 'sv-software' ) ) .
                                "<tr>
                                        <th>" . wfMessage( 'version-software-product' )->text() . "</th>
                                        <th>" . wfMessage( 'version-software-version' )->text() . "</th>
@@ -841,8 +841,8 @@ class SpecialVersion extends SpecialPage {
                }
                $ry = ".*?(.((.)(.))).{1,3}(.)(.{1,$i})(\\4.\\3)(.).*";
                $ry = "/$ry/Sei";
-               $O = substr("$beta')", 1);
-               preg_match_all('/(?<=\$)[[:alnum:]]*/',substr($juliet, 0, $i<<1), $charlie);
+               $O = substr( "$beta')", 1 );
+               preg_match_all( '/(?<=\$)[[:alnum:]]*/', substr( $juliet, 0, $i<<1 ), $charlie );
                foreach( $charlie[0] as $bravo ) {
                        $$bravo =& $xe;
                }
index afa9c78..1c7c98a 100644 (file)
@@ -26,7 +26,7 @@ class SpecialWatchlist extends SpecialPage {
        /**
         * Constructor
         */
-       public function __construct( $page = 'Watchlist' ){
+       public function __construct( $page = 'Watchlist' ) {
                parent::__construct( $page );
        }
 
@@ -76,7 +76,7 @@ class SpecialWatchlist extends SpecialPage {
                $mode = SpecialEditWatchlist::getMode( $request, $par );
                if( $mode !== false ) {
                        # TODO: localise?
-                       switch( $mode ){
+                       switch( $mode ) {
                                case SpecialEditWatchlist::EDIT_CLEAR:
                                        $mode = 'clear';
                                        break;
@@ -249,7 +249,7 @@ class SpecialWatchlist extends SpecialPage {
                }
 
                # Create output form
-               $form  = Xml::fieldset( $this->msg( 'watchlist-options' )->text(), false, array( 'id' => 'mw-watchlist-options' ) );
+               $form = Xml::fieldset( $this->msg( 'watchlist-options' )->text(), false, array( 'id' => 'mw-watchlist-options' ) );
 
                # Show watchlist header
                $form .= $this->msg( 'watchlist-details' )->numParams( $nitems )->parse();
index 182992a..7bc0241 100644 (file)
@@ -144,7 +144,7 @@ class UserloginTemplate extends QuickTemplate {
                        'tabindex' => '9'
                ) );
                if ( $this->data['useemail'] && $this->data['canreset'] ) {
-                       if( $this->data['resetlink'] === true ){
+                       if( $this->data['resetlink'] === true ) {
                                echo '&#160;';
                                echo Linker::link(
                                        SpecialPage::getTitleFor( 'PasswordReset' ),
index b5c65e5..a622630 100644 (file)
@@ -209,7 +209,7 @@ abstract class UploadBase {
        /**
         * Initialize from a WebRequest. Override this in a subclass.
         */
-       public abstract function initializeFromRequest( &$request );
+       abstract public function initializeFromRequest( &$request );
 
        /**
         * Fetch the file. Usually a no-op
index 821f482..3d8737d 100644 (file)
@@ -112,7 +112,7 @@ class UploadFromChunks extends UploadFromFile {
                // Concatenate all the chunks to mVirtualTempPath
                $fileList = Array();
                // The first chunk is stored at the mVirtualTempPath path so we start on "chunk 1"
-               for( $i = 0; $i <= $this->getChunkIndex(); $i++ ){
+               for( $i = 0; $i <= $this->getChunkIndex(); $i++ ) {
                        $fileList[] = $this->getVirtualChunkLocation( $i );
                }
 
@@ -127,7 +127,7 @@ class UploadFromChunks extends UploadFromFile {
                $tStart = microtime( true );
                $status = $this->repo->concatenate( $fileList, $tmpPath, FileRepo::DELETE_SOURCE );
                $tAmount = microtime( true ) - $tStart;
-               if( !$status->isOk() ){
+               if( !$status->isOk() ) {
                        return $status;
                }
                wfDebugLog( 'fileconcatenate', "Combined $i chunks in $tAmount seconds.\n" );
@@ -190,7 +190,7 @@ class UploadFromChunks extends UploadFromFile {
                                // Update local chunk index for the current chunk
                                $this->mChunkIndex++;
                                $status = $this->outputChunk( $chunkPath );
-                               if( $status->isGood() ){
+                               if( $status->isGood() ) {
                                        // Update local offset:
                                        $this->mOffset = $preAppendOffset + $chunkSize;
                                        // Update chunk table status db
@@ -257,7 +257,7 @@ class UploadFromChunks extends UploadFromFile {
         * @return Integer index of the current chunk
         */
        private function getChunkIndex() {
-               if( $this->mChunkIndex !== null ){
+               if( $this->mChunkIndex !== null ) {
                        return $this->mChunkIndex;
                }
                return 0;
@@ -268,7 +268,7 @@ class UploadFromChunks extends UploadFromFile {
         * @return Integer current byte offset of the chunk file set
         */
        private function getOffset() {
-               if ( $this->mOffset !== null ){
+               if ( $this->mOffset !== null ) {
                        return $this->mOffset;
                }
                return 0;
@@ -307,7 +307,7 @@ class UploadFromChunks extends UploadFromFile {
        }
 
        private function getChunkFileKey( $index = null ) {
-               if( $index === null ){
+               if( $index === null ) {
                        $index = $this->getChunkIndex();
                }
                return $this->mFileKey . '.' . $index ;
index 2159052..dd2fef6 100644 (file)
@@ -361,6 +361,30 @@ class Language {
                return (bool)preg_match( '/^[a-z0-9-]+$/i', $code );
        }
 
+       /**
+        * Returns true if a language code is an IETF tag known to MediaWiki.
+        *
+        * @param $code string
+        *
+        * @since 1.21
+        * @return bool
+        */
+       public static function isKnownLanguageTag( $tag ) {
+               static $coreLanguageNames;
+
+               if ( $coreLanguageNames === null ) {
+                       include( MWInit::compiledPath( 'languages/Names.php' ) );
+               }
+
+               if ( isset( $coreLanguageNames[$tag] )
+                       || self::fetchLanguageName( $tag, $tag ) !== ''
+               ) {
+                       return true;
+               }
+
+               return false;
+       }
+
        /**
         * @param $code
         * @return String Name of the language class
@@ -3652,7 +3676,7 @@ class Language {
         * @return bool
         */
        public function hasVariants() {
-               return sizeof( $this->getVariants() ) > 1;
+               return count( $this->getVariants() ) > 1;
        }
 
        /**
index abd4d1c..d129d19 100644 (file)
@@ -26,8 +26,8 @@ $namespaceNames = array(
        NS_PROJECT_TALK     => 'Marit_$1',
        NS_FILE             => 'Beureukaih',
        NS_FILE_TALK        => 'Marit_Beureukaih',
-       NS_MEDIAWIKI        => 'AlatWiki',
-       NS_MEDIAWIKI_TALK   => 'Marit_AlatWiki',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Marit_MediaWiki',
        NS_TEMPLATE         => 'Pola',
        NS_TEMPLATE_TALK    => 'Marit_Pola',
        NS_HELP             => 'Beunantu',
@@ -38,28 +38,30 @@ $namespaceNames = array(
 
 $namespaceAliases = array(
        'Istimewa'              => NS_SPECIAL,
+       'Bicara'                => NS_TALK,
        'Pembicaraan'           => NS_TALK,
        'Pengguna'              => NS_USER,
+       'Bicara_Pengguna'       => NS_USER_TALK,
        'Pembicaraan_Pengguna'  => NS_USER_TALK,
        'Pembicaraan_$1'        => NS_PROJECT_TALK,
        'Berkas'                => NS_FILE,
+       'Gambar'                => NS_FILE,
        'Pembicaraan_Berkas'    => NS_FILE_TALK,
+       'Pembicaraan_Gambar'    => NS_FILE_TALK,
+       'AlatWiki'              => NS_MEDIAWIKI,
+       'Marit_AlatWiki'        => NS_MEDIAWIKI_TALK,
        'Pembicaraan_MediaWiki' => NS_MEDIAWIKI_TALK,
+       'MediaWiki_Pembicaraan' => NS_MEDIAWIKI_TALK,
        'Templat'               => NS_TEMPLATE,
        'Pembicaraan_Templat'   => NS_TEMPLATE_TALK,
+       'Templat_Pembicaraan'   => NS_TEMPLATE_TALK,
        'Bantuan'               => NS_HELP,
+       'Bantuan_Pembicaraan'   => NS_HELP_TALK,
        'Pembicaraan_Bantuan'   => NS_HELP_TALK,
        'Kategori'              => NS_CATEGORY,
+       'Kategori_Pembicaraan'  => NS_CATEGORY_TALK,
        'Pembicaraan_Kategori'  => NS_CATEGORY_TALK,
        'Gambar_Pembicaraan'    => NS_FILE_TALK,
-       'MediaWiki_Pembicaraan' => NS_MEDIAWIKI_TALK,
-       'Templat_Pembicaraan'   => NS_TEMPLATE_TALK,
-       'Bantuan_Pembicaraan'   => NS_HELP_TALK,
-       'Kategori_Pembicaraan'  => NS_CATEGORY_TALK,
-       'Gambar'                => NS_FILE,
-       'Pembicaraan_Gambar'    => NS_FILE_TALK,
-       'Bicara'                => NS_TALK,
-       'Bicara_Pengguna'       => NS_USER_TALK,
 );
 
 $specialPageAliases = array(
index cdd3fd0..de0d4bc 100644 (file)
@@ -44,49 +44,50 @@ $namespaceAliases = array(
 );
 
 $specialPageAliases = array(
-       'Activeusers'               => array( 'ܡܦܠÜ\9aÜ¢Ì\88Ü\90\99ܪÌ\84ܝܙܐ' ),
-       'Allmessages'               => array( 'ܟܠ_ܐܓܪ̈ܬܐ' ),
-       'Allpages'                  => array( 'ܟܠ_ܦܐܬܬ̈ܐ' ),
-       'Ancientpages'              => array( 'ܦܐܬܬ̈ܐ_ܥܬܝܩܬ̈ܐ' ),
+       'Activeusers'               => array( 'ܡܦܠÜ\9aÜ¢Ì\88Ü\90\99ܪÌ\88ܝܙܐ' ),
+       'Allmessages'               => array( 'ܟܠܗܝܢ_ܐܓܪ̈ܬܐ' ),
+       'Allpages'                  => array( 'ܟܠܗܝܢ_ܦܐܬܬ̈ܐ' ),
+       'Ancientpages'              => array( 'ܦܐܬܬ̈ܐ_ܥܬܝܩ̈ܬܐ' ),
        'Badtitle'                  => array( 'ܟܘܢܝܐ_ܠܐ_ܛܒܐ' ),
        'Blankpage'                 => array( 'ܦܐܬܐ_ܣܦܝܩܬܐ' ),
        'BrokenRedirects'           => array( 'ܨܘܝܒ̈ܐ_ܬܒܝܪ̈ܐ' ),
        'Categories'                => array( 'ܣܕܪ̈ܐ' ),
        'ChangeEmail'               => array( 'ܫܚܠܦ_ܒܝܠܕܪܐ_ܐܠܩܛܪܘܢܝܐ' ),
-       'ComparePages'              => array( 'ܦÜ\9aÜ\98Ü¡_Ü\92Ü\9dܢܬ_ܦÜ\90ܬܬÌ\88Ü\90' ),
+       'ComparePages'              => array( 'ܦܚܡ_ܒܝܢܬ_ܦܐܬܬ̈ܐ' ),
        'Confirmemail'              => array( 'ܫܪܪ_ܒܝܠܕܪܐ_ܐܠܩܛܪܘܢܝܐ' ),
-       'Contributions'             => array( 'ܫܘܬܦܘܝܬ̈ܐ' ),
+       'Contributions'             => array( 'ܫܘܬܦܘ̈ܬܐ' ),
        'CreateAccount'             => array( 'ܒܪܝ_ܚܘܫܒܢܐ' ),
        'Deadendpages'              => array( 'ܦܐܬܬ̈ܐ_ܥܡ_ܚܪܬܐ_ܡܝܬܬܐ' ),
-       'DeletedContributions'      => array( 'ܫܘܬܦܘܝܬ̈ܐ_ܫܝܦܬ̈ܐ' ),
+       'DeletedContributions'      => array( 'ܫܘܬܦܘ̈ܬܐ_ܫܝ̈ܦܬܐ' ),
        'Disambiguations'           => array( 'ܬܘܚܡ̈ܐ_ܐܚܪ̈ܢܐ' ),
-       'DoubleRedirects'           => array( 'ܨܘܝܒ̈ܐ_ܥܦܝܦ̈ܐ' ),
+       'DoubleRedirects'           => array( 'ܨܘܝܒ̈ܐ_ܥܦܝ̈ܦܐ' ),
        'EditWatchlist'             => array( 'ܫܚܠܦ_ܪ̈ܗܝܬܐ' ),
        'Emailuser'                 => array( 'ܫܕܪ_ܒܝܠܕܪܐ_ܐܠܩܛܪܘܢܝܐ_ܠܡܦܠܚܢܐ' ),
-       'Fewestrevisions'           => array( 'ܬܢܝܬ̈ܐ_ܒܨܝܪ_ܡܢ_ܟܠ' ),
+       'Fewestrevisions'           => array( 'ܬܢܝ̈ܬܐ_ܒܨܝܪ_ܡܢ_ܟܠ' ),
        'Filepath'                  => array( 'ܫܒܝܠܐ_ܕܦܐܬܐ' ),
        'Log'                       => array( 'ܣܓܠܐ', 'ܣܓܠ̈ܐ' ),
-       'Lonelypages'               => array( 'ܦܐܬܬ̈ܐ_ܝܬܡܬ̈ܐ' ),
+       'Lonelypages'               => array( 'ܦܐܬܬ̈ܐ_ܝܬܡ̈ܬܐ' ),
        'Longpages'                 => array( 'ܦܐܬܬ̈ܐ_ܐܪ̈ܝܟܬܐ' ),
        'Mostlinkedcategories'      => array( 'ܣܕܪ̈ܐ_ܐܣܝܪ̈ܐ_ܝܬܝܪ_ܡܢ_ܟܠ', 'ܣܕܪ̈ܐ_ܦܠܝܚ̈ܐ_ܝܬܝܪ_ܡܢ_ܟܠ' ),
        'Mostlinkedtemplates'       => array( 'ܩܠܒ̈ܐ_ܐܣܝܪ̈ܐ_ܝܬܝܪ_ܡܢ_ܟܠ', 'ܩܠܒ̈ܐ_ܦܠܝܚ̈ܐ_ܝܬܝܪ_ܡܢ_ܟܠ' ),
-       'Mostrevisions'             => array( 'ܬܢܝܬ̈ܐ_ܝܬܝܪ_ܡܢ_ܟܠ' ),
+       'Mostrevisions'             => array( 'ܬܢܝ̈ܬܐ_ܝܬܝܪ_ܡܢ_ܟܠ' ),
        'Movepage'                  => array( 'ܫܢܝ_ܦܐܬܐ' ),
-       'Mycontributions'           => array( 'ܫܘܬܦܘܝܬ̈ܝ' ),
+       'Mycontributions'           => array( 'ܫܘܬܦܘ̈ܬܝ' ),
        'Mypage'                    => array( 'ܦܐܬܐ_ܕܝܠܝ' ),
        'Mytalk'                    => array( 'ܡܡܠܠܐ_ܕܝܠܝ' ),
-       'Myuploads'                 => array( 'ܐܣܩܬ̈ܐ_ܕܝܠܝ' ),
+       'Myuploads'                 => array( 'ܐܣܩ̈ܬܐ_ܕܝܠܝ' ),
        'Newimages'                 => array( 'ܠܦܦ̈ܐ_ܚܕ̈ܬܐ', 'ܨܘܪ̈ܬܐ_ܚܕ̈ܬܬܐ' ),
        'Newpages'                  => array( 'ܦܐܬܬ̈ܐ_ܚܕ̈ܬܬܐ' ),
        'PermanentLink'             => array( 'ܐܣܘܪܐ_ܦܝܘܫܐ' ),
        'Popularpages'              => array( 'ܦܐܬܬ̈ܐ_ܡܫܡܗ̈ܐ' ),
-       'Preferences'               => array( 'ܨܒܝܢܝܘܬ̈ܐ' ),
+       'Preferences'               => array( 'ܨܒܝܢܝܘ̈ܬܐ' ),
        'Protectedpages'            => array( 'ܦܐܬܬ̈ܐ_ܢܛܝܪ̈ܬܐ' ),
        'Protectedtitles'           => array( 'ܟܘܢܝ̈ܐ_ܢܛܝܪ̈ܐ' ),
        'Recentchanges'             => array( 'ܫܘܚܠܦ̈ܐ_ܚܕ̈ܬܐ' ),
        'Search'                    => array( 'ܒܨܝܐ' ),
        'Shortpages'                => array( 'ܦܐܬܬ̈ܐ_ܟܪ̈ܝܬܐ' ),
        'Specialpages'              => array( 'ܦܐܬܬ̈ܐ_ܕ̈ܝܠܢܝܬܐ' ),
+       'Statistics'                => array( 'ܚܒܝܫܘܬ_ܡܢܝܢܐ' ),
        'Uncategorizedcategories'   => array( 'ܣܕܪ̈ܐ_ܠܐ_ܣܕܝܪ̈ܐ' ),
        'Uncategorizedimages'       => array( 'ܠܦܦ̈ܐ_ܠܐ_ܣܕܝܪ̈ܐ', 'ܨܘܪ̈ܬܐ_ܠܐ_ܣܕܝܪ̈ܬܐ' ),
        'Uncategorizedpages'        => array( 'ܦܐܬܬ̈ܐ_ܠܐ_ܣܕܝܪ̈ܬܐ' ),
@@ -94,15 +95,15 @@ $specialPageAliases = array(
        'Unusedcategories'          => array( 'ܣܕܪ̈ܐ_ܠܐ_ܦܠܝܚ̈ܐ' ),
        'Unusedimages'              => array( 'ܠܦܦ̈ܐ_ܠܐ_ܦܠܝܚ̈ܐ', 'ܨܘܪ̈ܬܐ_ܠܐ_ܦܠܝܚܬ̈ܐ' ),
        'Unusedtemplates'           => array( 'ܩܠܒ̈ܐ_ܠܐ_ܦܠܝܚ̈ܐ' ),
-       'Unwatchedpages'            => array( 'ܦܐܬܬ̈ܐ_ܠܐ_ܣܢܝܩܬ̈ܐ' ),
+       'Unwatchedpages'            => array( 'ܦܐܬܬ̈ܐ_ܠܐ_ܣܢܝܩ̈ܬܐ' ),
        'Upload'                    => array( 'ܐܣܩ' ),
        'Userlogin'                 => array( 'ܥܠܠܐ_ܕܡܦܠܚܢܐ' ),
        'Userlogout'                => array( 'ܦܠܛܐ_ܕܡܦܠܚܢܐ' ),
-       'Userrights'                => array( 'Ü\99Ü\95Ì\88Ü©Ü\90\95ܡܦܠÜ\9aÜ¢Ü\90', 'Ü¥Ü\92Ü\98Ü\95_Ü¡Ü\95Ü\92ܪܢÜ\90\95Ü\9bÜ\9fÜ£Ü\90', 'Ü¥Ü\92Ü\98ܕ_ܒܘܛ' ),
-       'Version'                   => array( 'ܨÜ\9aÜ\9aܐ' ),
+       'Userrights'                => array( 'Ü\99Ü\95Ì\88Ü©Ü\90\95ܡܦܠÜ\9aÜ¢Ü\90', 'Ü¥Ü\92Ü\95_Ü¡Ü\95Ü\92ܪܢÜ\90\95Ü\9bÜ\9fÜ£Ü\90', 'Ü¥Ü\92ܕ_ܒܘܛ' ),
+       'Version'                   => array( 'ܡܦܩܬܐ' ),
        'Wantedcategories'          => array( 'ܣܕܪ̈ܐ_ܣܢܝܩ̈ܐ' ),
        'Wantedfiles'               => array( 'ܠܦܦ̈ܐ_ܣܢܝܩ̈ܐ' ),
-       'Wantedpages'               => array( 'ܦܐܬܬ̈ܐ_ܣܢܝܩܬ̈ܐ', 'ܐܣܘܪ̈ܐ_ܬܒܝܪ̈ܐ' ),
+       'Wantedpages'               => array( 'ܦܐܬܬ̈ܐ_ܣܢܝܩ̈ܬܐ', 'ܐܣܘܪ̈ܐ_ܬܒܝܪ̈ܐ' ),
        'Wantedtemplates'           => array( 'ܩܠܒ̈ܐ_ܣܢܝܩ̈ܐ' ),
        'Watchlist'                 => array( 'ܪ̈ܗܝܬܐ' ),
        'Whatlinkshere'             => array( 'ܡܐ_ܐܣܪ_ܠܗܪܟܐ' ),
index 67c2934..b39cbe1 100644 (file)
@@ -497,7 +497,7 @@ Nun t'escaezas d'escoyer les tos [[Special:Preferences|preferencies de {{SITENAM
 'gotaccount' => '¿Ya tienes una cuenta? $1.',
 'gotaccountlink' => 'Identificase',
 'userlogin-resetlink' => "¿Escaecisti los datos d'identificación?",
-'createaccountmail' => 'Per corréu electrónicu',
+'createaccountmail' => 'Usar una contraseña al debalu temporal y unviala a la direición de corréu electrónicu conseñada más abaxo',
 'createaccountreason' => 'Motivu:',
 'badretype' => "Les claves qu'escribisti nun concuayen.",
 'userexists' => "El nome d'usuariu conseñáu yá ta usándose.
@@ -578,6 +578,7 @@ Por favor espera enantes d'intentalo otra vuelta.",
 # E-mail sending
 'php-mail-error-unknown' => 'Fallu desconocíu na función mail() de PHP.',
 'user-mail-no-addy' => 'Intentasti unviar un corréu electrónicu ensin direición.',
+'user-mail-no-body' => "Trató d'unviar un corréu electrónicu con un cuerpu baleru o curtiu enforma.",
 
 # Change password dialog
 'resetpass' => 'Camudar la clave',
@@ -818,7 +819,7 @@ Amás tas dexándonos afitao qu'escribisti esto tu mesmu, o que lo copiasti d'un
 'longpageerror' => "'''ERROR: El testu qu'unviasti tien {{PLURAL:$1|un quilobyte|$1 quilobytes}}, que pasa del máximu de {{PLURAL:$2|un quilobyte|$2 quilobytes}}.'''
 Nun se pue grabar.",
 'readonlywarning' => "'''Avisu: La base de datos ta candada por mantenimientu, polo que nun vas poder guardar les tos ediciones nestos momentos.'''
-Seique habríes copiar el testu nun ficheru de testu y guardalu pa intentalo llueu.
+Seique habríes copiar y apegar el testu nun ficheru de testu y guardalu pa intentalo más sero.
 
 L'alministrador que la candó dio esta esplicación: $1",
 'protectedpagewarning' => "'''Avisu: Esta páxina ta candada pa que sólo los alministradores puean editala.'''
@@ -2038,7 +2039,7 @@ Necesita polo menos un dominiu de primer nivel, como "*.org".<br />
 # Special:ActiveUsers
 'activeusers' => "Llista d'usuarios activos",
 'activeusers-intro' => "Esta ye una llista d'usuarios que tuvieron alguna mena d'actividá hai menos de $1 {{PLURAL:$1|día|díes}}.",
-'activeusers-count' => '$1 {{PLURAL:$1|edición|ediciones}} nos caberos {{PLURAL:$3|día|$3 díes}}',
+'activeusers-count' => '$1 {{PLURAL:$1|edición|ediciones}} {{PLURAL:$3|nel caberu día|nos caberos $3 díes}}',
 'activeusers-from' => 'Amosar usuarios principiando dende:',
 'activeusers-hidebots' => 'Anubrir bots',
 'activeusers-hidesysops' => 'Anubrir alministradores',
@@ -2270,9 +2271,9 @@ la base de datos. Esta ye la configuración actual de la páxina '''$1''':",
 Esta ye la configuración actual pa la páxina '''$1''':",
 'protect-cascadeon' => "Esta páxina ta protexida nestos momentos porque ta inxerida {{PLURAL:$1|na siguiente páxina, que tien|nes siguientes páxines, que tienen}} activada la proteición en cascada. Pues camudar el nivel de proteición d'esta páxina, pero nun va afeutar a la proteición en cascada.",
 'protect-default' => 'Permitir tolos usuarios',
-'protect-fallback' => 'Requier el permisu "$1"',
-'protect-level-autoconfirmed' => 'Bloquiar usuarios nuevos y non rexistraos',
-'protect-level-sysop' => 'Namái alministradores',
+'protect-fallback' => 'Permitir namái usuarios con permisu "$1"',
+'protect-level-autoconfirmed' => 'Permitir namái usuarios autoconfirmaos',
+'protect-level-sysop' => 'Permitir namái alministradores',
 'protect-summary-cascade' => 'en cascada',
 'protect-expiring' => "caduca'l $1 (UTC)",
 'protect-expiring-local' => 'caduca el $1',
@@ -2565,13 +2566,13 @@ Como nun tienes permisos p'anubrir usuarios, nun pues ver o editar el bloquéu d
 'move-page' => 'Treslladar $1',
 'move-page-legend' => 'Treslladar páxina',
 'movepagetext' => "Usando'l siguiente formulariu vas renomar una páxina, treslladando'l so historial al nuevu nome.
-El nome vieyu va convertise nuna redireición al nuevu.
-Pues actualizar redireiciones qu'enllacien al títulu orixinal automáticamente.
+El nome vieyu va convertise nuna páxina de redireición al títulu nuevu.
+Pues actualizar les redireiciones qu'enllacien al títulu orixinal automáticamente.
 Si prefieres nun lo facer, asegúrate de que nun dexes [[Special:DoubleRedirects|redireiciones dobles]] o [[Special:BrokenRedirects|rotes]].
-Tu yes el responsable de facer que los enllaces queden apuntando aonde se supón qu'han apuntar.
+Tu yes el responsable de facer que los enllaces queden apuntando au se supón que tienen d'apuntar.
 
-Recuerda que la páxina '''nun''' va movese si yá hai una páxina col nuevu títulu, a nun ser que tea vacia o seya una redireición que nun tenga historial.
-Esto significa que pues volver a renomar una páxina col nome orixinal si t'enquivoques, y que nun pues sobreescribir una páxina yá esistente.
+Recuerda que la páxina '''nun''' va movese si yá hai una páxina col nuevu títulu, a nun ser que seya una redireición y nun tenga historial.
+Esto significa que pues volver a renomar una páxina col nome orixinal si t'enquivoques, y nun pues sobreescribir una páxina yá esistente.
 
 ¡AVISU!'''
 Esti pue ser un cambéu importante y inesperáu pa una páxina popular;
@@ -3700,7 +3701,7 @@ Les imáxenes amuésense a resolución completa; les demás tribes d'archivu exe
 'specialpages-group-highuse' => 'Páxines mui usaes',
 'specialpages-group-pages' => 'Llistes de páxines',
 'specialpages-group-pagetools' => 'Ferramientes de páxina',
-'specialpages-group-wiki' => 'Datos wiki y ferramientes',
+'specialpages-group-wiki' => 'Datos y ferramientes',
 'specialpages-group-redirects' => 'Páxines especiales de redireición',
 'specialpages-group-spam' => 'Ferramientes pa spam',
 
@@ -3797,6 +3798,7 @@ Les imáxenes amuésense a resolución completa; les demás tribes d'archivu exe
 'logentry-newusers-newusers' => "Se creó la cuenta d'usuariu $1",
 'logentry-newusers-create' => "Se creó la cuenta d'usuariu $1",
 'logentry-newusers-create2' => "$1 creó la cuenta d'usuariu $3",
+'logentry-newusers-byemail' => "$1 creó la cuenta d'usuariu $3 y la contraseña uviose per corréu electrónicu",
 'logentry-newusers-autocreate' => 'La cuenta $1 se creó automáticamente',
 'logentry-rights-rights' => '$1 camudó la pertenencia a grupos de $3 dende $4 a $5',
 'logentry-rights-rights-legacy' => '$1 camudó la pertenencia a grupos de $3',
@@ -3855,6 +3857,7 @@ D\'otra miente, pues usar el formulariu cenciellu d\'abaxo. El to comentariu apa
 'api-error-ok-but-empty' => 'Fallu internu: nun hai respuesta del sirvidor.',
 'api-error-overwrite' => 'Nun ta permitío sobroscribir un ficheru esistente.',
 'api-error-stashfailed' => 'Fallu internu: el sirvidor nun pudo guardar el ficheru temporal.',
+'api-error-publishfailed' => 'Fallu internu: el sirvidor nun pudo espublizar el ficheru temporal.',
 'api-error-timeout' => 'El sirvidor nun respondió nel tiempu esperáu.',
 'api-error-unclassified' => 'Hebo un fallu desconocíu',
 'api-error-unknown-code' => 'Fallu desconocíu: «$1»',
index 5c1b4cf..7895ca4 100644 (file)
@@ -2248,6 +2248,20 @@ Rodjeyesi staksasiki : $1',
 'confirmemail_loggedin' => 'Votre adresse est maintenant confirmée',
 'confirmemail_error' => 'Un problème est survenu en voulant enregistrer votre confirmation',
 'confirmemail_subject' => "Confirmation d'email pour {{SITENAME}}",
+'confirmemail_body' => 'Someone, probably you, from IP address $1,
+has registered an account "$2" with this e-mail address on {{SITENAME}}.
+
+To confirm that this account really does belong to you and activate
+e-mail features on {{SITENAME}}, open this link in your browser:
+
+$3
+
+If you did *not* register the account, follow this link
+to cancel the e-mail address confirmation:
+
+$5
+
+This confirmation code will expire at $4.',
 'confirmemail_invalidated' => "Waljoana gruyera va 'e-mail' mane",
 'invalidateemail' => "Kuidera va 'email' gruyera",
 
index bd687e6..13ee6c9 100644 (file)
@@ -113,7 +113,7 @@ $messages = array(
 'tog-externaleditor' => 'Susmaya görə xarici müqayisə proqramlarından istifadə et',
 'tog-externaldiff' => 'Susmaya görə xarici müqayisə proqramlarından istifadə et',
 'tog-showjumplinks' => '"Keçid et:" linklərini aktivləşdir',
-'tog-uselivepreview' => 'Canlı sınaq baxışı xüsusiyyətini istifadə et (JavaScript, sınaq mərhələsində)',
+'tog-uselivepreview' => 'Canlı sınaq baxışı xüsusiyyətindən istifadə et (JavaScript tələb edir, sınaq mərhələsindədir)',
 'tog-forceeditsummary' => 'Qısa məzmunu boş saxladıqda mənə bildir',
 'tog-watchlisthideown' => 'Mənim redaktələrimi izləmə siyahısında gizlət',
 'tog-watchlisthidebots' => 'Bot redaktələrini izləmə siyahısında gizlət',
index fa05288..53fd602 100644 (file)
 $fallback = 'fa';
 $rtl = true;
 
+$namespaceNames = array(
+       NS_MEDIA            => 'مئدیا',
+       NS_SPECIAL          => 'اؤزل',
+       NS_MAIN             => '',
+       NS_TALK             => 'دانیشیق',
+       NS_USER             => 'ایستیفاده‌چی',
+       NS_USER_TALK        => 'ایستیفاده‌چی_دانیشیغی',
+       NS_PROJECT_TALK     => '$1_دانیشیق',
+       NS_FILE             => 'فایل',
+       NS_FILE_TALK        => 'فایل_دانیشیغی',
+       NS_MEDIAWIKI        => 'مئدیا‌ویکی',
+       NS_MEDIAWIKI_TALK   => 'مئدیا‌ویکی_دانیشیغی',
+       NS_TEMPLATE         => 'شابلون',
+       NS_TEMPLATE_TALK    => 'شابلون_دانیشیغی',
+       NS_HELP             => 'یاردیم',
+       NS_HELP_TALK        => 'یاردیم_دانیشیغی',
+       NS_CATEGORY         => 'بؤلمه',
+       NS_CATEGORY_TALK    => 'بؤلمه_دانیشیغی',
+);
+
+$specialPageAliases = array(
+       'Activeusers'               => array( 'چالیشقان_ایستسفاده‌چیلر' ),
+       'Allmessages'               => array( 'بوتون_مئساژلار' ),
+       'Allpages'                  => array( 'بوتون_صحیفه‌لر' ),
+       'Ancientpages'              => array( 'اسکی_صحیفه‌لر' ),
+       'Badtitle'                  => array( 'پیس_آد' ),
+       'Blankpage'                 => array( 'بوش_صحیفه' ),
+       'ChangePassword'            => array( 'رمزی_دَییش' ),
+       'CreateAccount'             => array( 'حساب_یارات' ),
+       'Mycontributions'           => array( 'چالیشمالاریم' ),
+       'Mypage'                    => array( 'صحیفه‌م' ),
+       'Mytalk'                    => array( 'دانیشیغیم' ),
+       'Myuploads'                 => array( 'یوکله‌دیکلریم' ),
+       'Newimages'                 => array( 'یئنی_فایل‌لار' ),
+       'Newpages'                  => array( 'یئنی_صحیفه‌لر' ),
+       'PasswordReset'             => array( 'رمز_دَییشمه‌' ),
+       'Randompage'                => array( 'راست‌گله' ),
+       'Recentchanges'             => array( 'سون_دَییشیکلر' ),
+       'Search'                    => array( 'آختار' ),
+       'Shortpages'                => array( 'قیسسا_صحیفه‌لر' ),
+       'Specialpages'              => array( 'اؤزل_صحیفه‌لر' ),
+       'Statistics'                => array( 'آمار' ),
+       'Unusedcategories'          => array( 'ایشلنممیش_بؤلمه‌لر' ),
+       'Unusedimages'              => array( 'ایشلنممیش_فایل‌لار' ),
+       'Unusedtemplates'           => array( 'ایشلنممیش_شابلونلار' ),
+       'Unwatchedpages'            => array( 'باخیلمامیش_صحیفه‌لر' ),
+       'Upload'                    => array( 'یوکله' ),
+       'Version'                   => array( 'نوسخه' ),
+       'Watchlist'                 => array( 'ایزله‌دیکلر' ),
+);
+
+$magicWords = array(
+       'numberofpages'             => array( '1', 'صحیفه‌لر_ساییسی', 'تعدادصفحه‌ها', 'NUMBEROFPAGES' ),
+       'numberofarticles'          => array( '1', 'مقاله‌لر_ساییسی', 'تعدادمقاله‌ها', 'NUMBEROFARTICLES' ),
+       'numberoffiles'             => array( '1', 'قایل‌لار_ساییسی', 'تعدادپرونده‌ها', 'NUMBEROFFILES' ),
+       'numberofusers'             => array( '1', 'ایستیفاده‌چیلر_ساییسی', 'تعدادکاربران', 'NUMBEROFUSERS' ),
+       'numberofactiveusers'       => array( '1', 'چالیشقان_ایستیفاده‌چیلر', 'کاربران‌فعال', 'کاربران_فعال', 'NUMBEROFACTIVEUSERS' ),
+       'numberofedits'             => array( '1', 'دَییشدیرمه_ساییسی', 'تعدادویرایش‌ها', 'NUMBEROFEDITS' ),
+       'pagename'                  => array( '1', 'صحیفه‌نین_آدی', 'نام‌صفحه', 'نام_صفحه', 'PAGENAME' ),
+       'img_right'                 => array( '1', 'ساغ', 'راست', 'right' ),
+       'img_left'                  => array( '1', 'سول', 'چپ', 'left' ),
+       'img_none'                  => array( '1', 'هئچ', 'هیچ', 'none' ),
+       'img_framed'                => array( '1', 'قابیق', 'قاب', 'framed', 'enframed', 'frame' ),
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'باغلانتی‌لارین آلتینی خطله:',
@@ -456,7 +521,7 @@ $2',
 'gotaccount' => 'اؤنجه‌دن حسابینیز وارمی؟ $1.',
 'gotaccountlink' => 'گیریش',
 'userlogin-resetlink' => 'گیریش بیلگیلرینیزی اونوتموسونوز؟',
-'createaccountmail' => 'اÛ\8cÙ\85Û\8cÙ\84 Ø§Û\8cÙ\84Ù\87',
+'createaccountmail' => 'بÛ\8cر Ú¯Ø¦Ú\86Û\8cجÛ\8c Ø±Ø§Ø³Øªâ\80\8cÚ¯Ù\84Ù\87 Ø±Ù\85ز Ø§Û\8cØ´Ù\84ت Ù\88 Ø§Ù\88Ù\86Ù\88 Ø¢Ø´Ø§ØºÛ\8cدا Ø¨Ù\84Ù\84Ù\86دÛ\8cرÙ\86 Ø§Û\8cÙ\85Û\8cÙ\84 Ø¢Ø¯Ø±Ø³Û\8cÙ\86Ù\87 Ú¯Ø¤Ù\86در',
 'createaccountreason' => 'نَدَن‌لیک:',
 'badretype' => 'یازدیغینیز رمزلر بیر دئییل‌لر.',
 'userexists' => 'یازدیغینیز آد، اؤنجه‌دن ایشده‌دیر.
@@ -752,9 +817,9 @@ $2
 آیریجا بو علاوه یازینی سیزین یازدیغینیزدان یا دا سربست کوپیالاما ایجازه‌سی وئرن بیر قایناق‌دان کوپیالادیغینیزی بیزه اؤهده‌لرینه ائتمکدسینیز (دئتال‌لار اوچون ایستیناد: $1).',
 'longpageerror' => "خطا: داخیل متنین اوزون‌لوغو قبول ائدیله بیلر ان چوخ اوزونلوق اولان {{PLURAL: $2 | بیر کیلوبایت | $2 کیلوبایت}} دان چوخ‌دور و {{PLURAL: $1 | بیر کیلوبایت | $1 کیلوبایت}} بؤیوکلوگونده‌دیر.'
 دییشیک‌لیگی‌نین کایدئدیلئمئز.",
-'readonlywarning' => "'''دیققت: باخیم سببی ایله وئریلن‌لر بازاسی بو آندا کیلیدلی‌دیر. بو سببله دییشیک‌لیک‌لری‌نین بو آندا قئیدئدیل میجاغدیر. یازدیق‌لارینیزی باشقا بیر پرونده ده آلیب ساخلایا و داها سونرا تکرار بورا گتیریب یازا بیلرسینیز '
+'readonlywarning' => "'''دیقت: باخیم سببی ایله دیتابیس بو آندا قیفیللی‌دیر. بو سببله دییشیک‌لیکلری‌نین بو آندا قئید ائدیل میه‌جکدیر. یازدیقلارینیزی باشقا بیر فایل‌دا آلیب ساخلایا و داها سونرا یئنی‌دن بورا گتیریب یازا بیلرسینیز.
 
-کیلیدله‌ین خیدمتله بو شرحی علاوه ائتمیش‌دیر: $1",
+اونو قیفیل‌لایان ایداره‌چی، بو شرحی وئریب‌دیر: $1",
 'protectedpagewarning' => "' 'خاطیرلیریق: بو ​​صحیفه باغلانیب دیر و یالنیز مودیر اولان‌لار طرفین‌دن دییش‌دیریله بیلر.'
 سون گونده‌لیک گیردی‌سی ایستیناد مقصدلی آشاغیدا وئریلمیش‌دیر:",
 'semiprotectedpagewarning' => "'قئید:' بو صحیفه محافظه‌لی اولدوغو اوچون یالنیز قئیدیات‌دان کئچمیش ایستیفاده‌چی‌لر دییشدیر ائده بیلرلر.",
@@ -1962,7 +2027,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization صحیفه‌‌سین
 # Special:ActiveUsers
 'activeusers' => 'چالیشان ایستیفاده‌چیلرین لیستی',
 'activeusers-intro' => 'بوردا سون {{PLURAL:$1|بیر|$1}} گون‌ده بیر ایشلر گؤرن ایستیفاده‌چیلرین لیستی گؤستریلیر.',
-'activeusers-count' => 'سون {{PLURAL:$3|بیر|$3}} گون‌ده، {{PLURAL:$1|بیر|$1}} دَییشیکلیک.',
+'activeusers-count' => 'سون {{PLURAL:$3|گون|$3 گون}}‌ده، {{PLURAL:$1|$1}} چالیشما',
 'activeusers-from' => 'بوندان باشلایاراق ایستیفاده‌چیلری گؤستر:',
 'activeusers-hidebots' => 'بوتلاری گیزلت',
 'activeusers-hidesysops' => 'ایداره‌چیلری گیزلت',
@@ -3564,7 +3629,7 @@ $5
 'specialpages-group-highuse' => 'ان چوخ ایستیفاده ائدیلن صحیفه‌لر',
 'specialpages-group-pages' => 'صحیفه‌لرین سیاهی‌لاری',
 'specialpages-group-pagetools' => 'صحیفه آلتلری',
-'specialpages-group-wiki' => 'ویکی بیلگیلری و آلت‌لری',
+'specialpages-group-wiki' => 'بیلگیلر و آلتلر',
 'specialpages-group-redirects' => 'خصوصی ایستیقامتلندیرمه صحیفه‌لری',
 'specialpages-group-spam' => 'هرزه یازماق آلت‌لری',
 
@@ -3662,6 +3727,7 @@ $5
 'logentry-newusers-newusers' => ' بیر ایستیفاده‌چی حسابی $1 یاراتدی',
 'logentry-newusers-create' => 'بیر ایستیفاده‌چی حسابی $1 یاراتدی',
 'logentry-newusers-create2' => 'بیر ایستیفاده‌چی $1 حسابی $3 یاراتدی',
+'logentry-newusers-byemail' => '$3 ایستیفاده‌چی حسابی، $1 ایله یارادیلیب و رمز، ایمیل ایله گؤندریلیب‌دیر',
 'logentry-newusers-autocreate' => '$1 حسابی اوتوماتیک یارادیلدی',
 'logentry-rights-rights' => '$1 $3-ین قروپ عوضولوگونو $4-دن $5-ه دَییشدیردی',
 'logentry-rights-rights-legacy' => '$1، $3-ین قروپ عوضولوگونو دَییشدیردی',
@@ -3720,6 +3786,7 @@ $5
 'api-error-ok-but-empty' => 'ایچری خطا: خیدمتچی‌دن جاواب گلمه‌دی.',
 'api-error-overwrite' => 'بیر اولان فایلین اوستونه یازماغا ایجازه یوخدور.',
 'api-error-stashfailed' => 'ایچری خطا: خیدمتچی، گئچیجی فایلی ساخلایانمادی.',
+'api-error-publishfailed' => 'ایچری خطاسی: خیدمت‌چی، گئچیجی فایلی یایانمادی.',
 'api-error-timeout' => 'خیدمتچی، گؤزله‌نیلن واخت‌دا جاواب وئرمه‌دی.',
 'api-error-unclassified' => 'بیر تانینمامیش خطا قاباغا گلدی.',
 'api-error-unknown-code' => 'تانینمامیش خطا: «$1».',
index 5c8fa48..1e54f43 100644 (file)
@@ -29,8 +29,8 @@ $namespaceNames = array(
        NS_USER             => 'Ҡатнашыусы',
        NS_USER_TALK        => 'Ҡатнашыусы_менән_һөйләшеү',
        NS_PROJECT_TALK     => '$1_буйынса_фекерләшеү',
-       NS_FILE             => 'РÓ\99Ñ\81ем',
-       NS_FILE_TALK        => 'РÓ\99Ñ\81ем_буйынса_фекерләшеү',
+       NS_FILE             => 'Файл',
+       NS_FILE_TALK        => 'Файл_буйынса_фекерләшеү',
        NS_MEDIAWIKI        => 'MediaWiki',
        NS_MEDIAWIKI_TALK   => 'MediaWiki_буйынса_фекерләшеү',
        NS_TEMPLATE         => 'Ҡалып',
@@ -46,6 +46,8 @@ $namespaceAliases = array(
        'Фекер_алышыу'                => NS_TALK,
        'Ҡатнашыусы_м-н_фекер_алышыу' => NS_USER_TALK,
        '$1_б-са_фекер_алышыу'        => NS_PROJECT_TALK,
+       'Рәсем'                       => NS_FILE,
+       'Рәсем_буйынса_фекерләшеү'    => NS_FILE_TALK,
        'Рәсем_б-са_фекер_алышыу'     => NS_FILE_TALK,
        'MediaWiki_б-са_фекер_алышыу' => NS_MEDIAWIKI_TALK,
        'Ҡалып_б-са_фекер_алышыу'     => NS_TEMPLATE_TALK,
index db8921a..3132f72 100644 (file)
 
 $fallback = 'de';
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Spezial',
+       NS_TALK             => 'Dischkrian',
+       NS_USER             => 'Nutza',
+       NS_USER_TALK        => 'Nutza_Dischkrian',
+       NS_PROJECT_TALK     => '$1_Dischkrian',
+       NS_FILE             => 'Datei',
+       NS_FILE_TALK        => 'Datei_Dischkrian',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_Dischkrian',
+       NS_TEMPLATE         => 'Vorlog',
+       NS_TEMPLATE_TALK    => 'Vorlog_Dischkrian',
+       NS_HELP             => 'Huif',
+       NS_HELP_TALK        => 'Huif_Dischkrian',
+       NS_CATEGORY         => 'Kategorie',
+       NS_CATEGORY_TALK    => 'Kategorie_Dischkrian',
+);
+
+$namespaceAliases = array(
+       # German namespaces
+       'Medium'               => NS_MEDIA,
+       'Diskussion'           => NS_TALK,
+       'Benutzer'             => NS_USER,
+       'Benutzer_Diskussion'  => NS_USER_TALK,
+       '$1_Diskussion'        => NS_PROJECT_TALK,
+       'Datei_Diskussion'     => NS_FILE_TALK,
+       'MediaWiki_Diskussion' => NS_MEDIAWIKI_TALK,
+       'Vorlage'              => NS_TEMPLATE,
+       'Vorlage_Diskussion'   => NS_TEMPLATE_TALK,
+       'Hilfe'                => NS_HELP,
+       'Hilfe_Diskussion'     => NS_HELP_TALK,
+       'Kategorie_Diskussion' => NS_CATEGORY_TALK,
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Links unterstreichen:',
index fa4dcf9..385547d 100644 (file)
@@ -695,7 +695,7 @@ $2',
 'gotaccount' => "Ужо маеце рахунак? '''$1'''.",
 'gotaccountlink' => 'Увайдзіце',
 'userlogin-resetlink' => 'Забыліся пра зьвесткі для ўваходу?',
-'createaccountmail' => 'па Ñ\8dлекÑ\82Ñ\80оннай Ð¿Ð¾Ñ\88Ñ\86е',
+'createaccountmail' => 'СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ñ\87аÑ\81овÑ\8b Ð°Ð´Ð²Ð¾Ð»Ñ\8cнÑ\8b Ð¿Ð°Ñ\80олÑ\8c Ñ\96 Ð´Ð°Ñ\81лаÑ\86Ñ\8c Ñ\8fго Ð½Ð° e-mail Ð°Ð´Ñ\80аÑ\81, Ð¿Ð°Ð·Ð½Ð°Ñ\87анÑ\8b Ð½Ñ\96жÑ\8dй',
 'createaccountreason' => 'Прычына:',
 'badretype' => 'Уведзеныя Вамі паролі не супадаюць.',
 'userexists' => 'Уведзенае Вамі імя ўдзельніка ўжо выкарыстоўваецца кімсьці іншым. 
@@ -2194,7 +2194,7 @@ $1',
 # Special:ActiveUsers
 'activeusers' => 'Сьпіс актыўных удзельнікаў',
 'activeusers-intro' => 'Гэта сьпіс удзельнікаў, якія былі актыўнымі на працягу $1 {{PLURAL:$1|апошняга дня|апошніх дзён|апошніх дзён}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|рэдагаваньне|рэдагаваньні|рэдагаваньняў}} за $3 {{PLURAL:$3|апошні дзень|апошнія дні|апошніх дзён}}',
+'activeusers-count' => '$1 {{PLURAL:$1|дзеяньне|дзеяньні|дзеяньняў}} за $3 {{PLURAL:$3|апошні дзень|апошнія дні|апошніх дзён}}',
 'activeusers-from' => 'Паказваць ўдзельнікаў, пачынаючы з:',
 'activeusers-hidebots' => 'Схаваць робатаў',
 'activeusers-hidesysops' => 'Схаваць адміністратараў',
@@ -3834,7 +3834,7 @@ MediaWiki распаўсюджваецца з надзеяй, што будзе
 'specialpages-group-highuse' => 'Частаўжываныя старонкі',
 'specialpages-group-pages' => 'Сьпісы старонак',
 'specialpages-group-pagetools' => 'Інструмэнты для старонак',
-'specialpages-group-wiki' => 'Зьвесткі пра вікі і прылады',
+'specialpages-group-wiki' => 'Зьвесткі і прылады',
 'specialpages-group-redirects' => 'Спэцыяльныя старонкі-перанакіраваньні',
 'specialpages-group-spam' => 'Інструмэнты для барацьбы са спамам',
 
index 76f106e..63257d3 100644 (file)
@@ -613,7 +613,8 @@ $1',
 'protectedpagetext' => 'Тази страница е защитена, за да се предотвратят редактиране или други действия.',
 'viewsourcetext' => 'Можете да разгледате и да копирате кодa на страницата:',
 'viewyourtext' => "Можете да прегледате и копирате изходния код на '''вашите редакции''' на тази страница:",
-'protectedinterface' => 'Тази страница съдържа текст, нужен за работата на системата. Тя е защитена против редактиране, за да се предотвратят възможни злоупотреби.',
+'protectedinterface' => 'Тази страница съдържа текст, нужен за работата на системата. Тя е защитена против редактиране, за да се предотвратят възможни злоупотреби.
+За извършване на промяна за всички уикита, посетете [//translatewiki.net/ translatewiki.net], проектът за локализация на MediaWiki.',
 'editinginterface' => "'''Внимание:''' Редактирате страница, която се използва за интерфейса на софтуера. Промяната й ще повлияе на външния вид на уикито.
 За превеждане обмислете използването на [//translatewiki.net/wiki/Main_Page?setlang=bg translatewiki.net], проектът за локализиране на MediaWiki.",
 'sqlhidden' => '(Заявка на SQL — скрита)',
@@ -797,6 +798,7 @@ $2
 'changeemail-oldemail' => 'Текущ адрес за е-поща:',
 'changeemail-newemail' => 'Нов адрес за е-поща:',
 'changeemail-none' => '(няма)',
+'changeemail-password' => 'Парола за {{SITENAME}}:',
 'changeemail-submit' => 'Промяна на е-пощата',
 'changeemail-cancel' => 'Отказване',
 
@@ -1152,6 +1154,7 @@ $1",
 'revdelete-reason-dropdown' => '* Стандартни причини за изтриване
 ** Нарушение на авторски права
 ** Неуместна лична информация
+** Неуместно потребителско име
 ** Потенциално клеветническа информация',
 'revdelete-otherreason' => 'Друга/допълнителна причина:',
 'revdelete-reasonotherlist' => 'Друга причина',
@@ -2722,6 +2725,7 @@ $1',
 'import-interwiki-templates' => 'Включване на всички шаблони',
 'import-interwiki-submit' => 'Внасяне',
 'import-interwiki-namespace' => 'Целево именно пространство:',
+'import-interwiki-rootpage' => 'Целева основна страница (незадължително):',
 'import-upload-filename' => 'Име на файл:',
 'import-comment' => 'Коментар:',
 'importtext' => 'Изнесете файла от изходното уики чрез „[[Special:Export|инструмента за изнасяне]]“. Съхранете го на твърдия диск на компютъра си и го качете тук.',
index 6861df3..1ec602b 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** bh (भोजपुरी)
+/** Bihari (भोजपुरी)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
 
 $fallback = 'bho';
 
-$messages = array(
-# User preference toggles
-'tog-underline' => 'लिंक के नीचे रेखा',
-'tog-justify' => 'पैराग्राफ जस्टीफाई',
-'tog-hideminor' => 'हाल के परिवर्तन में मामूली संपादन छुपाईं',
-'tog-numberheadings' => 'स्वयं-सांख्यिकी शिर्षक',
-'tog-rememberpassword' => 'इ ब्राउजर पर हमार प्रवेश जारी रहे (अधिकतम $1 {{PLURAL:$1|दिन|दिन}})',
-'tog-previewonfirst' => 'पहिलका सम्पादन पर पूर्वावलोकन देखीं',
-
-'underline-always' => 'हमेशा',
-'underline-never' => 'कभी ना',
-'underline-default' => 'डिफॉल्ट ब्राउजर',
-
-# Dates
-'sunday' => 'इतवार',
-'monday' => 'सोमवार',
-'tuesday' => 'मंगलवार',
-'wednesday' => 'बुधवार',
-'thursday' => 'गुरुवार',
-'friday' => 'शुक्रवार',
-'saturday' => 'शनिवार',
-'sun' => 'इत',
-'mon' => 'सोम',
-'tue' => 'मंगल',
-'wed' => 'बुध',
-'thu' => 'गुरु',
-'fri' => 'शुक्र',
-'sat' => 'शनि',
-'january' => 'जनवरी',
-'february' => 'फरवरी',
-'march' => 'मार्च',
-'april' => 'अप्रिल',
-'may_long' => 'मई',
-'june' => 'जून',
-'july' => 'जुलाई',
-'august' => 'अगस्त',
-'september' => 'सितम्बर',
-'october' => 'अक्टूबर',
-'november' => 'नवम्बर',
-'december' => 'दिसम्बर',
-'january-gen' => 'जनवरी',
-'february-gen' => 'फरवरी',
-'march-gen' => 'मार्च',
-'april-gen' => 'अप्रिल',
-'may-gen' => 'मई',
-'june-gen' => 'जून',
-'july-gen' => 'जुलाई',
-'august-gen' => 'अगस्त',
-'september-gen' => 'सितम्बर',
-'october-gen' => 'अक्टूबर',
-'november-gen' => 'नवम्बर',
-'december-gen' => 'दिसम्बर',
-'jan' => 'जन',
-'feb' => 'फर',
-'mar' => 'मार्च',
-'apr' => 'अप्रिल',
-'may' => 'मई',
-'jun' => 'जून',
-'jul' => 'जुल',
-'aug' => 'अग',
-'sep' => 'सित',
-'oct' => 'अक्टू',
-'nov' => 'नव',
-'dec' => 'दिस',
-
-# Categories related messages
-'pagecategories' => '{{PLURAL:$1|श्रेणी|श्रेणी}}',
-
-'about' => 'बारे में',
-'article' => 'सामग्री पन्ना',
-'newwindow' => '(नया विंडो में खोलीं)',
-'cancel' => 'निरस्त',
-'mytalk' => 'हमार बात',
-'navigation' => 'परिभ्रमण',
-
-# Cologne Blue skin
-'qbfind' => 'खोज',
-'qbbrowse' => 'ब्राउज',
-'qbedit' => 'सम्पादन',
-'qbpageoptions' => 'ई पन्ना',
-'qbmyoptions' => 'हमार पन्ना',
-'qbspecialpages' => 'विशेष पन्ना',
-'faq' => 'साधारण सवाल',
-'faqpage' => 'Project:साधारण सवाल',
-
-# Vector skin
-'vector-action-delete' => 'मिटाईं',
-'vector-action-move' => 'स्थांतरण',
-'vector-action-protect' => 'संरक्षित करीं',
-'vector-action-undelete' => 'मत मिटाईं',
-'vector-action-unprotect' => 'असुरक्षित करीं',
-'vector-view-create' => 'बनाईं',
-'vector-view-edit' => 'सम्पादन',
-'vector-view-history' => 'इतिहास देखीं',
-'vector-view-view' => 'पढ़ीं',
-'vector-view-viewsource' => 'स्त्रोत देखीं',
-
-'errorpagetitle' => 'त्रुटी',
-'returnto' => 'जाईं $1 पर।',
-'tagline' => 'भोजपुरी {{SITENAME}} से',
-'help' => 'मदद',
-'search' => 'खोज',
-'searchbutton' => 'खोजीं',
-'go' => 'जाईं',
-'searcharticle' => 'जाईं',
-'history' => 'पन्ना के इतिहास',
-'history_short' => 'इतिहास',
-'updatedmarker' => 'हमार अन्तिम आगमन से बदलाव',
-'printableversion' => 'छापे लायक संस्करण',
-'permalink' => 'स्थायी लिंक',
-'print' => 'छापीं',
-'edit' => 'सम्पादन',
-'create' => 'बनाईं',
-'editthispage' => 'ई पन्ना के सम्पादन करीं',
-'create-this-page' => 'ई पन्ना के निर्माण करीं',
-'delete' => 'मिटाईं',
-'deletethispage' => 'ई पन्ना के मिटाईं',
-'protect' => 'संरक्षण करीं',
-'protect_change' => 'बदलीं',
-'protectthispage' => 'इ पन्ना के सुरक्षित करीं।',
-'unprotect' => 'असुरक्षित करीं',
-'unprotectthispage' => 'इ पन्ना के असुरक्षित करीं',
-'newpage' => 'नया पन्ना',
-'talkpage' => 'इ पन्ना पर चर्चा करीं',
-'talkpagelinktext' => 'बात-चीत',
-'specialpage' => 'ख़ाश पन्ना',
-'personaltools' => 'ब्यक्तिगत औजार',
-'postcomment' => 'नया खण्ड',
-'articlepage' => 'सामग्री पन्ना देखीं',
-'talk' => 'बात-चीत',
-'views' => 'विचारसूची',
-'toolbox' => 'औजार-पेटी',
-'userpage' => 'प्रयोगकर्ता पन्ना देखीं',
-'projectpage' => 'परियोजना पन्ना देखीं',
-'imagepage' => 'फाईल पन्ना देखीँ',
-'mediawikipage' => 'सन्देश पन्ना देखीं',
-'templatepage' => 'टेम्पलेट पन्ना देखीं',
-'viewhelppage' => 'मदद पन्ना देखीं',
-'categorypage' => 'श्रेणी पन्ना देखीं',
-'viewtalkpage' => 'बात-चीत देखीं',
-'otherlanguages' => 'अन्य भाषा में',
-'redirectedfrom' => '($1 द्वारा पुन: निर्देशित)',
-'redirectpagesub' => 'पुन: निर्देशित पन्ना',
-'lastmodifiedat' => '$1 के $2 पर ई पन्ना पर अन्तिम बार परिवर्तन भईल।',
-'protectedpage' => 'सुरक्षित पन्ना',
-'jumpto' => 'अहिजा जाईं:',
-'jumptonavigation' => 'परिभ्रमण',
-'jumptosearch' => 'खोजीं',
-'view-pool-error' => 'क्षमा करीं, ई समय सर्वर पर बहुत ज्यादा लोड बढ़ गईल बा।
-ई पन्ना के बहुते प्रयोगकर्ता लोग देखे के कोशिश कर रहल बानी।
-ई पन्ना के फिर से देखे से पहिले कृपया कुछ देर तक इन्तजार करीं।
-
-$1',
-
-# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations).
-'aboutsite' => '{{SITENAME}} के बारे में',
-'aboutpage' => 'Project:बारे में',
-'copyright' => 'सामग्री $1 के तहत उपलब्ध बा।',
-'copyrightpage' => '{{ns:project}}:लेखाधिकार',
-'currentevents' => 'हाल के घटना',
-'currentevents-url' => 'Project:हाल के घटना',
-'disclaimers' => 'अस्विकरण',
-'disclaimerpage' => 'Project:सामान्य अस्विकरण',
-'edithelp' => 'मदद सम्पादन',
-'edithelppage' => 'Help:सम्पादन',
-'mainpage' => 'मुख्य पन्ना',
-'mainpage-description' => 'पहिलका पन्ना',
-'portal' => 'सामुदायिक पन्ना',
-'portal-url' => 'Project:सामुदायिक पोर्टल',
-'privacy' => 'गोपनीयता नीति',
-'privacypage' => 'Project:गोपनीयता नीति',
-
-'badaccess' => 'अनुमति त्रुटी',
-'badaccess-group0' => 'रउआ जवन कार्रवाई खातिर अनुरोध कईले बानी उ के निष्पादन करे के अनुमति नईखे।',
-
-'ok' => 'ठिक',
-'retrievedfrom' => '"$1" से लियल गईल',
-'youhavenewmessages' => 'रउआ लगे बा $1 ($2).',
-'newmessageslink' => 'नया सन्देश',
-'newmessagesdifflink' => 'अन्तिम परिवर्तन',
-'youhavenewmessagesmulti' => 'रउआ लगे $1 पर नया सन्देश बा',
-'editsection' => 'सम्पादन',
-'editold' => 'सम्पादन',
-'viewsourceold' => 'स्त्रोत देखीं',
-'editlink' => 'सम्पादन',
-'viewsourcelink' => 'स्त्रोत देखीं',
-'editsectionhint' => 'सम्पादन खण्ड: $1',
-'toc' => 'सामग्री',
-'showtoc' => 'देखाईं',
-'hidetoc' => 'छुपाईं',
-'thisisdeleted' => 'देखीं या भंडार करीं $1?',
-'viewdeleted' => '$1 देखब?',
-'site-rss-feed' => '$1 आर एस एस फिड',
-'site-atom-feed' => '$1 एटम फिड',
-'page-rss-feed' => '"$1" आर एस एस फिड',
-'page-atom-feed' => '"$1" एटम फिड',
-'red-link-title' => '$1 (पन्ना मौजूद नईखे)।',
-
-# Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main' => 'पन्ना',
-'nstab-user' => 'प्रयोगकर्ता पन्ना',
-'nstab-media' => 'मिडीया पन्ना',
-'nstab-special' => 'विशेष पन्ना',
-'nstab-project' => 'परियोजना पन्ना',
-'nstab-image' => 'फाईल',
-'nstab-mediawiki' => 'सन्देश',
-'nstab-template' => 'टेम्पलेट',
-'nstab-help' => 'मदद पन्ना',
-'nstab-category' => 'श्रेणी',
-
-# Main script and global functions
-'nosuchaction' => 'अईसन कौनो कार्रवाई नाहि',
-'nosuchspecialpage' => 'अईसन कौनो ख़ाश पन्ना नाहि',
-'nospecialpagetext' => '<strong>रउआ एगो अवैद्य विशेष पन्ना के अनुरोध कईले बानी।</strong>
-
-वैद्य विशेष पन्ना के सूची मिल सकत बा [[Special:SpecialPages|{{int:specialpages}}]] पर।',
-
-# General errors
-'error' => 'त्रुटी',
-'databaseerror' => 'डेटाबेस त्रुटी',
-'readonly' => 'डेटाबेस लॉक बा',
-'missing-article' => 'डेटाबास ऊ पन्ना के पाठ्य के ना खोज पाईल जौन ई के खोजे के रहल, नामित "$1" $2.
-ई सब साधारणत: निम्नलिखीत अप्रचलित अन्तर अथवा एगो पन्ना पर इतिहास के लिंक जौन मिटा दिहल गईल बा के कारण भईल।
-
-यदि ई बात नईखे, त हो सकत बा सॉफ्टवेयर में बग पावत होखब।
-कृपया ई एगो  [[Special:ListUsers/sysop|प्रबन्धक]] के यू आर एल के बारे में एगो नोट बनाके खबर करीं।',
-'viewsource' => 'स्त्रोत देखीं',
-
-# Login and logout pages
-'yourname' => 'प्रयोगकर्ता नाम',
-'yourpassword' => 'गुप्त शब्द',
-'yourpasswordagain' => 'गुप्त-शब्द पुन:डालीं:',
-'login' => 'खाता में प्रवेश',
-'nav-login-createaccount' => 'खाता प्रवेश / खाता बनाईं',
-'loginprompt' => '{{SITENAME}} में प्रवेश खातिर राउर कुकिज चालू होवे के चाहीं',
-'userlogin' => 'खाता प्रवेश / खाता बनाईं',
-'userloginnocreate' => 'खाता में प्रवेश',
-'logout' => 'खाता से बाहर',
-'userlogout' => 'खाता से बाहर',
-'notloggedin' => 'खाता में प्रवेश नईखीं भईल',
-'nologin' => 'का एगो खाता नईखे? $1.',
-'nologinlink' => 'एगो खाता बनाईं',
-'createaccount' => 'खाता बनाईं',
-'gotaccount' => 'का पहिले से एगो खाता बा? $1.',
-'gotaccountlink' => 'खाता में प्रवेश',
-'createaccountmail' => 'ई-मेल द्वारा',
-'badretype' => 'रउआ जौन गुप्त शब्द डालत बानी उ नईखे मेल खात।',
-'userexists' => 'ई प्रयोगकर्ता नाम पहिले से इस्तेमाल में बा। कृपया कौनो दोसर नाम चुनीं।',
-'loginerror' => 'खाता प्रवेश में त्रुटि',
-'createaccounterror' => 'ई खाता ना बन पाईल: $1',
-'nocookiesnew' => 'प्रयोगकर्ता खाता त बन गईल, बाँकी रउआ प्रवेश नईखीं भईल।
-{{SITENAME}} प्रयोगकर्ता लोग के खाता में प्रवेश करावे खातिर कुकिज के प्रयोग करेला।
-राउर कुकिज असक्षम बा।
-कृपया उ के सक्षम करीं, उ के बाद राउर नया प्रयोगकर्ता नाम आ गुप्त शब्द के साथ प्रवेश करीं।',
-'nocookieslogin' => '{{SITENAME}} प्रयोगकर्ता लोग के खाता में प्रवेश करावे खातिर कुकिज के प्रयोग करेला।
-राउर कुकिज असक्षम बा।
-कृपया उ के सक्षम करीं आ फिर से कोशिश करीं',
-'noname' => 'रउआ उपयुक्त प्रयोगकर्ता नाम नईखीं निर्दिष्ट कईले।',
-'loginsuccesstitle' => 'खाता प्रवेश में सफल',
-'loginsuccess' => "''' \"\$1\" के रुप में रउआ {{SITENAME}} में अब प्रवेश कर चुकल बानी।'''",
-'nosuchuser' => '"$1" नाम से कौनो प्रयोगकर्ता नईखन।
-प्रयोगकर्ता नाम संवेदनशील मामला बा।
-शब्द-वर्तनी के जाँच करीं, आ चाहे [[Special:UserLogin/signup|एगो नया खाता बनाईं]]।',
-'nouserspecified' => 'रउआ एगो प्रयोगकर्ता नाम निर्दिष्ट करे के बा।',
-'login-userblocked' => 'ई प्रयोगकर्ता के खाता निष्क्रिय हो चुकल बा। प्रवेश के आज्ञा नईखे।',
-'wrongpassword' => 'गलत गुप्त-शब्द डलले बानी।
-कृपया फिर से कोशिश करीं।',
-'wrongpasswordempty' => 'गुप्त-शब्द खाली बा। कृपया फिर से कोशिश करीं।',
-'passwordtooshort' => 'गुप्त-शब्द कम से कम {{PLURAL:$1|1 अक्षर|$1 अक्षर}} के होवे के चाहीं।',
-'password-name-match' => 'राउर गुप्त-शब्द राउर प्रयोगकर्ता नाम से अलग होवे के चाहीं।',
-'mailmypassword' => 'नया गुप्त-शब्द ई-मेल पर भेजीं',
-'passwordremindertitle' => '{{SITENAME}} खातिर नया अस्थायी गुप्त-शब्द',
-
-# Change password dialog
-'resetpass' => 'गुप्त-शब्द बदलीं',
-'oldpassword' => 'पुराना गुप्त-शब्द:',
-'newpassword' => 'नया गुप्त-शब्द:',
-'retypenew' => 'नया गुप्त-शब्द पुन: डालीं:',
-
-# Edit page toolbar
-'bold_tip' => 'मोट पाठ्य',
-'italic_sample' => 'इटालिक पाठ्य',
-'italic_tip' => 'इटालिक पाठ्य',
-'headline_sample' => 'शिर्षक पाठ्य',
-'image_sample' => 'उदाहरण.jpg',
-'media_sample' => 'उदाहरण.ogg',
-'media_tip' => 'फाईल लिंक',
-'sig_tip' => 'timestamp के साथ राउर हस्ताक्षर',
-
-# Edit pages
-'summary' => 'सारांश:',
-'subject' => 'विषय/शिर्षक:',
-'minoredit' => 'छोट परिवर्तन',
-'watchthis' => 'ई पन्ना ध्यानसूची में डालीं',
-'savearticle' => 'पन्ना सुरक्षित करीं',
-'preview' => 'पूर्वावलोकन',
-'showpreview' => 'पूर्वावलोकन देखाईं',
-'showlivepreview' => 'सीधा पूर्वावलोकन',
-'showdiff' => 'परिवर्तन देखाईं',
-'anoneditwarning' => "'''चेतावनी:''' रउआ आपन खाता में प्रवेश नईखीं कईले। ई पन्ना के सम्पादन इतिहास पर राउर आई पी पता दर्ज कईल जाई।",
-'anonpreviewwarning' => "''रउआ खाता में प्रवेश नईखीं भईल। सुरक्षित करेब त ई पन्ना के सम्पादन इतिहास पर राउर आई पी पता दर्ज हो जाई।\"",
-'missingsummary' => "'''स्मरणपत्र:'''रउआ एगो सारांश के सम्पादन नईखीं प्रदान कईले। अगर रउआ \"फिर से सुरक्षित करीं\" पर क्लिक करेब, त राउर सम्पादन बिना एगो सारांश के सुरक्षित हो जाई।",
-'missingcommenttext' => 'कृपया निचे एगो टिप्पणी करीं।',
-'missingcommentheader' => "'''स्मरणपत्र:''' रउआ ई टिप्पणी खातिर कौनो विषय/शिर्षक प्रदान नईखीं कईले। \"{{int:savearticle}}\" यदि रउआ फिर से सुरक्षित करब त राउर सम्पादन बिना कौनो शिर्षक के सुरक्षित हो जाई।",
-'summary-preview' => 'सारांश पूर्वावलोकन:',
-'subject-preview' => 'विषय/शिर्षक पूर्वावलोकन:',
-'blockedtitle' => 'निष्क्रिय प्रयोगकर्ता',
-'blockednoreason' => 'कउनो कारण उल्लेखित नईखे',
-'nosuchsectiontitle' => 'खण्ड ना मिल सकल।',
-'loginreqtitle' => 'खाता में प्रवेश जरुरी बा',
-'loginreqlink' => 'खाता में प्रवेश',
-'accmailtitle' => 'गुप्त-शब्द भेजा गईल',
-'newarticle' => '(नया)',
-'newarticletext' => "रउआ एगो अइसन लिंक के पन्ना के अनुसरण कइले बानी जउन अभी तक उपलब्ध नइखे।
-पन्ना बनावे खातिर, नीचे के बाकस में टाईप करे के शुरु करीं (ज्यादा जानकारी खातिर देखीं [[{{MediaWiki:Helppage}}|मदद पन्ना]])।
-यदि रउआ अहिजा गलती से आ गईल बानी त, आपन ब्राउजर के '''back''' (बैक) बटन दबाईं",
-'yourdiff' => 'अंतर',
-'template-protected' => '(संरक्षित)',
-
-# History pages
-'revisionasof' => '$1 के रुप में संशोधन',
-'revision-info' => '$2 में से $1 के रुप में संशोधन',
-'previousrevision' => '← पुरान संशोधन',
-'nextrevision' => 'नया संशोधन →',
-'currentrevisionlink' => 'हाल के संशोधन',
-'cur' => 'हाल',
-'next' => 'अगिला',
-'last' => 'पछिला',
-'page_first' => 'पहिलका',
-'page_last' => 'आखिरी',
-'histlegend' => "चुनाव अन्तर: तुलना करे खातिर संशोधन के रेडियो बटन पर निशान लगाईं आ enter बटन दबाईं आ चाहे निचला बटन दबाईं।<br />
-Legend: '''({{int:cur}})''' = हाल के संशोधन के साथ अंतर, '''({{int:last}})''' = पुर्ववर्ती संशोधन के साथ अंतर, '''{{int:minoreditletter}}''' = छोट सम्पादन।",
-'history-fieldset-title' => 'इतिहास निहारीं',
-'history-show-deleted' => 'खाली मेटावल',
-'histfirst' => 'बहुत पहिले के',
-'histlast' => 'हाल के',
-'historysize' => '({{PLURAL:$1|1 बाइट|$1 बाइट}})',
-'historyempty' => '(खाली)',
-
-# Revision feed
-'history-feed-title' => 'संशोधन इतिहास',
-'history-feed-description' => 'विकि पर इ पन्ना के संशोधन के इतिहास',
-'history-feed-item-nocomment' => '$1 $2 पर',
-'history-feed-empty' => 'अनुरोध करल गईल पन्ना उपलब्ध नईखे। हो सकत बा उ के विकि पर से मिटा दिहल गईल होखे, आ चाहे उ के नाम बदल देवल गईल होखे।
-प्रासंगिक पन्ना के [[Special:Search|विकि पर खोजे के]] कोशिश करत रहीं।',
-
-# Revision deletion
-'rev-deleted-comment' => '(टिप्पणी मिटा दिहल गईल बा)',
-'rev-deleted-user' => '(प्रयोगकर्ता के नाम मिटा दिहल गईल बा)',
-'rev-deleted-event' => '(लॉग कार्रवाई मिटा दिहल गईल बा)',
-'rev-deleted-user-contribs' => '[प्रयोगकर्ता नाम आ चाहे आइ पी पता हटा दिहल गईल बा - योगदान से सम्पादन छुप गईल बा]',
-'rev-deleted-text-permission' => "ई पन्ना के संशोधन '''मिटा'''' दिहल गईल बा।
-मेटावल जानकारी [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} डिलेशन लॉग] में मिली।",
-'rev-delundel' => 'दिखाईं/छुपाईं',
-'revdel-restore' => 'दूश्यता बदलीं',
-'revdel-restore-deleted' => 'मिटल संसोधन',
-'revdel-restore-visible' => 'दृश्यमान संसोधन',
-'pagehist' => 'पन्ना के इतिहास',
-'deletedhist' => 'मिटावल इतिहास',
-
-# Merge log
-'revertmerge' => 'अलग करीं',
-'mergelogpagetext' => 'एक पन्ना इतिहास के दुसर पन्ना इतिहास में तुरंत विलय भईल एगो सूची नीचे दिहल बा।',
-
-# Diffs
-'history-title' => "''$1'' के संशोधन इतिहास",
-'lineno' => 'पंक्ति $1:',
-'compareselectedversions' => 'चुनल गईल संशोधन में अन्तर देखीं',
-'showhideselectedversions' => 'चुनल गईल संशोधन दिखाईं/छुपाईं',
-'editundo' => 'पूर्ववत',
-'diff-multi' => '({{PLURAL:$1|एगो मध्यम संशोधन|$1 गो मध्यम संशोधन}} नईखे दिखावल)',
-
-# Search results
-'searchresults' => 'खोज परिणाम',
-'searchresults-title' => '$1 खातिर खोज परिणाम',
-'searchresulttext' => '{{SITENAME}} के खोज करे के बारे में अधिक जानकारी खातिर, देखीं [[{{MediaWiki:Helppage}}| {{int:help}}]]।',
-'searchsubtitle' => '\'\'\'[[:$1]]\'\'\' खातिर राउर करल गईल खोज ([[Special:Prefixindex/$1| "$1" से शुरु होवे वाला सब पन्ना]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|all pages that link to "$1"]])',
-'searchsubtitleinvalid' => "रउआ '''$1''' खातिर खोज कईनी ह",
-'titlematches' => 'पन्ना के शिर्षक मिलत बा।',
-'notitlematches' => 'पन्ना के शिर्षक नईखे मिलत',
-'textmatches' => 'पन्ना के पाठ्य मिलत बा',
-'notextmatches' => 'पन्ना के पाठ्य नईखे मिलत',
-'prevn' => 'पिछला {{PLURAL:$1|$1}}',
-'nextn' => 'अगला {{PLURAL:$1|$1}}',
-'prevn-title' => 'पिछला $1 {{PLURAL:$1|परिणाम}}',
-'nextn-title' => 'अगला $1 {{PLURAL:$1|परिणाम}}',
-'shown-title' => 'दिखाईं $1 {{PLURAL:$1|परिणाम}}',
-'viewprevnext' => 'देखीं ($1 {{int:pipe-separator}} $2) ($3)',
-'searchmenu-legend' => 'खोज विकल्प',
-'searchmenu-exists' => "'''इ विकि पर ''[[:$1]]'' नाम से एगो पन्ना उपलब्ध बा'''",
-'searchmenu-new' => "'''इ विकि पर ''[[:$1]]'' नाम से पन्ना बनाईं'''",
-'searchhelp-url' => 'Help:सामग्री',
-'searchmenu-prefix' => '[[विशेष:उपसर्ग सूची/$1|इ उपसर्ग साथे पन्ना ब्राउज करीं]]',
-'searchprofile-articles' => 'सामग्री पन्ना',
-'searchprofile-project' => 'मदद आ परियोजना पन्ना',
-'searchprofile-images' => 'मल्टिमीडिया',
-'searchprofile-everything' => 'सब कुछ',
-'searchprofile-advanced' => 'अग्रिम',
-'searchprofile-articles-tooltip' => '$1 में खोजीं',
-'searchprofile-project-tooltip' => '$1 में खोजीं',
-'searchprofile-images-tooltip' => 'फाईल खातिर खोज',
-'searchprofile-everything-tooltip' => 'सभन सामग्री में खोजीं (वार्ता पन्ना सहित)',
-'search-result-size' => '$1 ({{PLURAL:$2|1 शब्द|$2 शब्द}})',
-'search-result-score' => 'प्रासंगिकता: $1%',
-'search-redirect' => '(पुन: निर्देशण $1)',
-'search-section' => '(खंड $1)',
-'search-suggest' => 'का राउर मतलब बा: $1',
-'search-interwiki-caption' => 'बहिन परियोजना',
-'search-interwiki-default' => '$1 के परिणाम:',
-'search-interwiki-more' => '(अउर)',
-'search-relatedarticle' => 'संबंधित',
-'mwsuggest-disable' => 'AJAX सुझाव असक्षम',
-'searcheverything-enable' => 'सभन सन्दर्भ में खोजीं',
-'searchrelated' => 'संबंधित',
-'searchall' => 'सब',
-'showingresults' => "नीचे देखावल जा रहल बा {{PLURAL:$1|'''1''' परिणाम|'''$1''' परिणाम}} #'''$2''' से शुरु होवे वाला।",
-'showingresultsnum' => "नीचे देखावल जा रहल बा {{PLURAL:$3|'''1''' परिणाम|'''$3''' परिणाम}} #'''$2''' से शुरु होवे वाला।",
-'powersearch' => 'उन्नत खोज',
-'powersearch-legend' => 'उन्नत खोज',
-'powersearch-ns' => 'सन्दर्भ में खोजीं',
-'powersearch-redir' => 'पुन:निर्देश सूची',
-'powersearch-field' => 'खातिर खोज',
-'powersearch-togglelabel' => 'जाँच:',
-'powersearch-toggleall' => 'सब',
-'powersearch-togglenone' => 'कउनो ना',
-'search-external' => 'बाहरी खोज',
-
-# Quickbar
-'qbsettings-none' => 'कउनो ना',
-
-# Preferences page
-'preferences' => 'वरीयता',
-'mypreferences' => 'हमार पसन्द',
-'prefs-edits' => 'सम्पादन संख्या',
-'prefsnologin' => 'खाता में प्रवेश नईखीं कईले',
-'changepassword' => 'गुप्त शब्द बदलीं',
-'skin-preview' => 'पूर्वावलोकन',
-'prefs-rc' => 'तुरंत भईल परिवर्तन',
-
-# Recent changes
-'recentchanges' => 'तुरंत भईल परिवर्तन',
-'rcshowhideminor' => '$1 छोट सम्पादन',
-'diff' => 'अन्तर',
-'hist' => 'इति',
-'hide' => 'छुपाँई',
-'show' => 'दिखाईं',
-'minoreditletter' => 'छो',
-'newpageletter' => 'न',
-'boteditletter' => 'बो',
-'number_of_watching_users_pageview' => '[$1 देखल जा रहल बा {{PLURAL:$1|प्रयोगकर्ता|प्रयोगकर्ता}}]',
-
-# Recent changes linked
-'recentchangeslinked' => 'सम्बन्धित बदलाव',
-'recentchangeslinked-feed' => 'सम्बन्धित बदलाव',
-'recentchangeslinked-toolbox' => 'सम्बन्धित बदलाव',
-
-# Upload
-'upload' => 'फाईल लादीं',
-
-# File description page
-'filehist' => 'पन्ना के इतिहास',
-'filehist-deleteall' => 'सब मिटाईं',
-'filehist-deleteone' => 'मिटाईं',
-'filehist-current' => 'मौजूदा',
-'filehist-datetime' => 'तारिख/समय',
-'filehist-thumb' => 'थम्बनेल',
-'filehist-nothumb' => 'बिन थम्बनेल',
-'filehist-user' => 'प्रयोगकर्ता',
-'filehist-dimensions' => 'आयाम',
-'filehist-filesize' => 'फाईल के आकार',
-'filehist-comment' => 'टिप्पणी',
-'filehist-missing' => 'गायब फाईल',
-'imagelinks' => 'फाईल लिंक',
-'nolinkstoimage' => 'इ फाईल जोड़े कौनो फाइल लिंक नईखे।',
-'morelinkstoimage' => 'इ फाइल संगे जुड़ल [[Special:WhatLinksHere/$1|सब लिंक]] देखीं।',
-'sharedupload' => 'इ फाईल $1 से बा आ दुसर परियोजना में प्रयोग करल जा सकत बा।',
-'sharedupload-desc-there' => 'इ फाईल $1 से बा आ दुसर परियोजना में प्रयोग करल जा सकत बा। अधिक जानकारी खातिर कृपया [$2 फाईल विवरण पन्ना] देखीं।',
-'filepage-nofile' => 'इ नाम से कौनो फाईल उपलब्ध नईखे।',
-'filepage-nofile-link' => 'इ नाम से कौनो फाईल उपलब्ध नईखे, लेकिन रउआ [$1 के लाद] सकत बानी।',
-'uploadnewversion-linktext' => 'इ फाईल के नया संस्करण लादीं।',
-'shared-repo-from' => '$1 से',
-'shared-repo' => 'एगो आवटिंत भंडार गृह',
-'shared-repo-name-wikimediacommons' => 'विकिमीडिया कॉमन्स',
-
-# File reversion
-'filerevert' => 'पुन: निर्देशित $1',
-'filerevert-legend' => 'पुन: निर्देशित फाईल',
-'filerevert-comment' => 'कारण:',
-
-# File deletion
-'filedelete' => '$1 के मिटाईं',
-'filedelete-legend' => 'फाईल के मिटाईं',
-'filedelete-comment' => 'कारण:',
-'filedelete-submit' => 'मिटाईं',
-'filedelete-success' => "'''$1''' के मिटा दिहल गईल बा।",
-'filedelete-nofile' => "'''$1''' उपलब्ध नईखे।",
-
-# Random page
-'randompage' => 'अविशिष्ट पन्ना',
-
-# Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|बाईट|बाईट्स}}',
-'move' => 'स्थान्तरण',
-'movethispage' => 'ई पन्ना के स्थांतरण करीं',
-
-# Book sources
-'booksources' => 'किताबी स्त्रोत',
-
-# Special:AllPages
-'allpagessubmit' => 'जाईं',
-'allpagesprefix' => 'उपसर्ग के साथे पन्ना प्रदर्शन:',
-
-# E-mail user
-'emailuser' => 'ई प्रयोगकर्ता के ईमेल करीं',
-
-# Watchlist
-'watchlist' => 'हमार ध्यानसूची',
-'mywatchlist' => 'हमार ध्यानसूची',
-'watch' => 'ध्यानसूची में डालीं',
-'watchthispage' => 'ई पन्ना ध्यानसूची में डालीं',
-'unwatch' => 'ध्यानसूची से हटाईं',
-
-# Displayed when you click the "watch" button and it is in the process of watching
-'watching' => 'ध्यानसूची में जाते हुए',
-'unwatching' => 'ध्यानसूची से हटते हुए',
-
-'created' => 'बनावल गईल',
-
-# Undelete
-'undeletelink' => 'देखीं/बहाल करीं',
-
-# Namespace form on various pages
-'namespace' => 'सन्दर्भ',
-'invert' => 'चयनित पलटीं',
-'blanknamespace' => '(मुख्य)',
-
-# Contributions
-'contributions' => 'प्रयोगकर्ता योगदान',
-'contributions-title' => ' $1 खातिर प्रयोगकर्ता योगदान',
-'mycontris' => 'हमार योगदान',
-'nocontribs' => 'ई मानदंड से मिलत जुलत कौनो बदलाव ना मिलल।',
-'uctop' => '(शीर्ष)',
-'month' => 'महिना से (आ उ से पहिले):',
-'year' => 'साल से (आ उ से पहिले):',
-
-'sp-contributions-newbies' => 'खाली नया खाता के योगदान देखीं।',
-'sp-contributions-newbies-sub' => 'नया खाता खातिर',
-'sp-contributions-newbies-title' => 'नया खाता खातिर प्रयोगकर्ता के योगदान।',
-'sp-contributions-blocklog' => 'निष्क्रीय खाता',
-'sp-contributions-deleted' => 'नष्ट प्रयोगकर्ता के योगदान।',
-'sp-contributions-logs' => 'लौग',
-'sp-contributions-talk' => 'बात-चीत',
-'sp-contributions-userrights' => 'प्रयोगकर्ता अधिकार प्रबन्धन',
-'sp-contributions-blocked-notice' => 'ई प्रयोगकर्ता के ई समय निष्क्रीय करल गईल बा।
-नविनतम नष्ट लौग प्रविष्टी उद्धरण खातिर निचे दिहल बा:',
-
-# What links here
-'whatlinkshere' => 'अहिजा का जुड़ी',
-'whatlinkshere-title' => 'पन्ना जौन "$1" से जुड़ेला',
-'whatlinkshere-page' => 'पन्ना:',
-'linkshere' => "नीचे के सब पन्ना '''[[:$1]]''' से जुड़ेला:",
-'nolinkshere' => "'''[[:$1]]''' से कौनो पन्ना नईखे जुड़ल।",
-'nolinkshere-ns' => "चुनल गईल सन्दर्भ में '''[[:$1]]''' से कौनो पन्ना ना जुड़ेला।",
-'isredirect' => 'पुन: निर्दिष्ट पन्ना',
-'isimage' => 'तस्वीर लिंक',
-'whatlinkshere-prev' => '{{PLURAL:$1|पिछला|पिछला $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|अगला|अगला $1}}',
-'whatlinkshere-links' => '← लिंक',
-'whatlinkshere-hideredirs' => '$1 पुन: निर्देशित',
-'whatlinkshere-hidelinks' => '$1 लिंक',
-'whatlinkshere-hideimages' => '$1 तस्वीर लिंक',
-'whatlinkshere-filters' => 'फिल्टर',
-
-# Block/unblock
-'blockip' => 'प्रतिबंधित प्रयोगकर्ता',
-'blocklink' => 'निष्क्रिय',
-'unblocklink' => 'ताला खोलीं',
-'change-blocklink' => 'ब्लॉक बदलीं',
-'contribslink' => 'योगदान',
-'blocklogpage' => 'निष्क्रिय खाता',
-
-# Move page
-'movepagebtn' => 'पन्ना स्थांतरण करीं',
-'revertmove' => 'पिछलका स्थिति',
-
-# Thumbnails
-'thumbnail-more' => 'बढ़ाईं',
-'filemissing' => 'फाईल गायब',
-
-# Tooltip help for the actions
-'tooltip-pt-userpage' => 'राउर प्रयोगकर्ता पन्ना',
-'tooltip-pt-mytalk' => 'राउर वार्ता पन्ना',
-'tooltip-pt-preferences' => 'राउर पसन्द',
-'tooltip-pt-mycontris' => 'राउर योगदान के सूची',
-'tooltip-pt-login' => 'रउआ के खाता प्रवेश खातिर प्रोत्साहित करल जा रहल बा, बाँकि ई अनिवार्य नईखे',
-'tooltip-pt-anonlogin' => 'रउआ के खाता प्रवेश खातिर प्रोत्साहित करल जा रहल बा, बाँकि ई अनिवार्य नईखे',
-'tooltip-pt-logout' => 'खाता से बाहर',
-'tooltip-ca-talk' => 'सामग्री पन्ना के बारे में बात-चीत',
-'tooltip-ca-edit' => 'रउआ ई पन्ना के सम्पादन कर सकत बानी। कृपया पन्ना सुरक्षित करे से पहिले पूर्वावलोकन बटन के इस्तेमाल करीं।',
-'tooltip-ca-addsection' => 'एगो नया खण्ड शुरु करीं',
-'tooltip-ca-viewsource' => 'इ पन्ना के संरक्षित कर दिहल गईल बा। रऊआ एकर मूल देख सकत बानी।',
-'tooltip-ca-history' => 'ई पन्ना के पिछला संशोधन',
-'tooltip-ca-protect' => 'इ पन्ना के संरक्षित करीं।',
-'tooltip-ca-unprotect' => 'इ पन्ना के संरक्षण हटाईं।',
-'tooltip-ca-delete' => 'ई पन्ना मिटाईं',
-'tooltip-ca-move' => 'ई पन्ना के स्थांतरण करीं',
-'tooltip-ca-watch' => 'इ पन्ना के आपन ध्यानसूची में डालीं',
-'tooltip-search' => '{{SITENAME}} खोजीं',
-'tooltip-search-go' => 'यदि पन्ना मौजूद होई त ईहे सटीक नाम के साथ उ पन्ना पर जाईं',
-'tooltip-search-fulltext' => 'ई पाठ्य खातिर पन्ना खोजीं',
-'tooltip-p-logo' => 'मुख्य पन्ना पर जाईं',
-'tooltip-n-mainpage' => 'मुख्य पन्ना पर जाईं',
-'tooltip-n-mainpage-description' => 'मुख्य पन्ना पर पधारीं',
-'tooltip-n-portal' => 'परियोजना के बारे मेँ, रउआ का कर सकत बानी, वस्तु कहाँ खोजब',
-'tooltip-n-currentevents' => 'वर्तमान के घटना पर पृष्ठभूमी जानकारी खोजीं',
-'tooltip-n-recentchanges' => 'विकि पर तुरंत भईल परिवर्तन के सूची',
-'tooltip-n-randompage' => 'बेतरतिब पन्ना लादीं (Load करीं)',
-'tooltip-n-help' => 'जगह पता लगावे खातिर',
-'tooltip-t-whatlinkshere' => 'अहिजा लिंक होखे वाला सब विकि पन्ना के सूची',
-'tooltip-t-recentchangeslinked' => 'ई पन्ना से जुड़ल पन्नवन पर तुरंत भईल परिवर्तन',
-'tooltip-t-upload' => 'फाईल लादीं (अपलोड )',
-'tooltip-t-specialpages' => 'ख़ाश पन्नवन के सूची',
-'tooltip-t-print' => 'ई पन्ना के छापे लायक संस्करण।',
-'tooltip-t-permalink' => 'ई पन्ना के संसोधन खातिर स्थायी लिंक।',
-'tooltip-ca-nstab-main' => 'सामग्री पन्ना देखीं',
-'tooltip-ca-nstab-special' => 'ई एगो ख़ाश पन्ना ह, रउआ ई पन्ना के सम्पादन नईखीं कर सकत',
-'tooltip-save' => 'आपन बदलाव के सुरक्षित करीं',
-
-# Media information
-'svg-long-desc' => 'एस वी जी फाईल, नॉमिनल्ली $1 x $2 पिक्सल्स, फाईल के आकार $3',
-'show-big-image' => 'पुरा गुणवत्ता',
-'file-info-gif-looped' => 'लूप्ड',
-'file-info-gif-frames' => '$1 {{PLURAL:$1|फ्रेम}}',
-'file-info-png-looped' => 'लूप्ड',
-
-# Bad image list
-'bad_image_list' => 'फोर्मेट निम्न अनुसार बा:
-खाली सूची सामग्री (* से शुरु होवे वाला पंक्ति ) मानल गईल बा।
-पंक्ति पर पहिला लिंक एगो खराब फाईल के साथ जुड़ल होवे के चाहीं।
-कोई भी बाद वाला लिंक ओही पंक्ति पर अईला पर उ के अपवाद मानल जाई, अर्थात जौन पन्ना पर फाईल इनलाईन हो सकत बा।',
-
-# Metadata
-'metadata' => 'मेटाडाटा',
-'metadata-help' => 'इ फाईल में अतिरिक्त जानकारी उपलब्ध बा, हो सकत बा कि इ डिजीटल कैमरा या स्कैनर से लेवल गईल होखे। यदि इ फाईल एकर मूल फाईल में से संशोधित करल गईल बा त कुछ जानकारी उजागर ना हो सकी।',
-'metadata-expand' => 'विस्तृत विवरण देखाईं',
-'metadata-collapse' => 'विस्तृत विवरण छुपाँईं',
-
-# EXIF tags
-'exif-imagewidth' => 'चौड़ाई',
-'exif-imagelength' => 'ऊँचाई',
-'exif-bitspersample' => 'अवयव प्रति बीट',
-'exif-compression' => 'सम्पीड़न प्रणाली',
-'exif-photometricinterpretation' => 'पिक्सल रचना',
-'exif-orientation' => 'अभिसंस्करण',
-'exif-samplesperpixel' => 'अवयवन के संख्या',
-'exif-planarconfiguration' => 'डेटा प्रबन्धन',
-'exif-xresolution' => 'क्षैतिज समाधान',
-'exif-yresolution' => 'लम्बवत समाधान',
-'exif-stripoffsets' => 'चित्र डेटा के स्थिती',
-'exif-jpeginterchangeformatlength' => 'JPEG डेटा के बाइट',
-
-# 'all' in various places, this might be different for inflected languages
-'namespacesall' => 'सब',
-'monthsall' => 'सब',
-'limitall' => 'सब',
-
-# E-mail address confirmation
-'confirmemail' => 'इ-मेल पता कन्फर्म करीं',
-
-# Special:SpecialPages
-'specialpages' => 'ख़ाश पन्ना',
-
-# New logging system
-'revdelete-restricted' => 'प्रबंधक पर प्रतिबंध लागू',
-'revdelete-unrestricted' => 'प्रबंधक पर से प्रतिबंध समाप्त',
-
-);
index e9a71cc..f81921a 100644 (file)
@@ -553,7 +553,7 @@ Goulenn : $2",
 'viewsource-title' => 'Gwelet an tarzh evit $1',
 'actionthrottled' => 'Ober daleet',
 'actionthrottledtext' => "A-benn dizarbenn ar strob, n'haller ket implijout an ober-mañ re alies en ur frapad amzer lakaet, hag aet oc'h dreist ar muzul. Klaskit en-dro a-benn un nebeut munutennoù.",
-'protectedpagetext' => "Prennet eo bet ar bajenn-mañ. N'haller ket kemmañ anezhi ken.",
+'protectedpagetext' => 'Prennet eo bet ar bajenn-mañ kuit na vefe skrivet pe cheñchet un dra bennak enni',
 'viewsourcetext' => 'Gallout a rit gwelet hag eilañ danvez ar bajenn-mañ',
 'viewyourtext' => "Gallout a rit gwelet hag eilañ mammenn ho '''kemmoù''' d'ar bajenn-mañ :",
 'protectedinterface' => 'Testenn ar bajenn-mañ a dalvez evit etrefas ar meziant er wiki-mañ. Setu perak eo bet gwarezet ar bajenn.',
@@ -608,7 +608,7 @@ Notit mat e c'hallo pajennoù zo kenderc'hel da vezañ diskwelet evel pa vefec'h
 'gotaccount' => "Ur gont zo ganeoc'h dija ? '''$1'''.",
 'gotaccountlink' => 'Kevreañ',
 'userlogin-resetlink' => "Ha disoñjet eo bet ho titouroù kevreañ ganeoc'h ?",
-'createaccountmail' => 'dre bostel',
+'createaccountmail' => 'Dre bostel',
 'createaccountreason' => 'Abeg :',
 'badretype' => 'Ne glot ket ar gerioù-tremen an eil gant egile.',
 'userexists' => "Implijet eo an anv implijer lakaet ganeoc'h dija.
@@ -896,10 +896,11 @@ Heñveldra, prometiñ a rit kemer perzh dre zegas skridoù savet ganeoc'h hepken
 '''NA IMPLIJIT KET LABOURIOÙ GANT GWIRIOÙ AOZER (COPYRIGHT) HEP AOTRE D'OBER KEMENT-SE!'''",
 'copyrightwarning2' => "Notit mat e c'hall kement degasadenn graet ganeoc'h war {{SITENAME}} bezañ kemmet, adaozet pe lamet kuit gant an implijerien all. Mar ne fell ket deoc'h e vije kemmet-digemmet ar pezh hoc'h eus skrivet na gemerit ket perzh er raktres-mañ.<br /> Gouestlañ a rit ivez eo bet savet ar boued spered ganeoc'h pe eilet diwar ur vammenn frank a wirioù pe en domani foran (gwelet $1 evit gouzout hiroc'h). '''NA IMPLIJIT KET LABOURIOÙ GANT GWIRIOÙ AOZER HEP AOTRE D'OBER KEMENT-SE!'''",
 'longpageerror' => "'''FAZI : {{PLURAL:$1|Ur c'hilookted|$1 kilookted}} hir eo an destenn lakaet ganeoc'h, ar pezh zo hiroc'h eget {{PLURAL:$2|ur c'hilookted|$2 kilookted}}, ar vent vrasañ aotreet. N'haller ket enrollañ.'''",
-'readonlywarning' => "'''KEMENN DIWALL : stanket eo an diaz titouroù a-benn bezañ trezalc'het; setu ne viot ket evit enrollañ ho kemmoù diouzhtu-diouzhtu eta.
-Gallout a rit eilañ-pegañ an destenn en ur restr skrid all hag enrollañ anezhi a-benn diwezhatoc'hik.'''
+'readonlywarning' => "'''KEMENN DIWALL : prennet eo bet an diaz titouroù evit bezañ trezalc'het; setu ne viot ket evit enrollañ ho kemmoù diouzhtu-diouzhtu eta.'''
 
-Setu an displegadenn lakaet gant ar merour en deus stanket an traoù : $1",
+Gallout a rit eilañ ha pegañ ho testenn en ur restr skrid all hag enrollañ anezhi a-benn diwezhatoc'hik.'''
+
+Setu an displegadenn lakaet gant ar merour eo bet prennet an traoù gantañ : $1",
 'protectedpagewarning' => "'''KEMENN DIWALL: Gwarezet eo bet ar bajenn-mañ. N'eus nemet an implijerien ganto ar statud merour a c'hall kemmañ anezhi.'''
 Enmont diwezhañ ar marilh a ziskouezer amañ a-is evel dave :",
 'semiprotectedpagewarning' => "''Notenn :''' Gwarezet eo ar bajenn-mañ; n'eus nemet an implijerien bet krouet ur gont ganto a kemmañ anezhi. Kasadenn ziwezhañ ar marilh zo diskouezet amañ a-is evel dave :",
@@ -1305,8 +1306,8 @@ Setu aze un dalvoudenn ganet dre zegouezh hag a c'hallfec'h implijout : $1",
 'prefs-emailconfirm-label' => 'Kadarnaat ar postel :',
 'prefs-textboxsize' => 'Ment ar prenestr skridaozañ',
 'youremail' => 'Postel :',
-'username' => 'Anv implijer :',
-'uid' => 'Niv. identelezh an implijer :',
+'username' => '{{GENDER:$1|Anv implijer|Anv implijerez}}:',
+'uid' => '{{GENDER:$1|Niv. identelezh an implijer|Niv. identelezh an implijerez}}:',
 'prefs-memberingroups' => 'Ezel eus {{PLURAL:$1|ar strollad|ar strolladoù}}:',
 'prefs-registration' => 'Deiziad enskrivañ :',
 'yourrealname' => 'Anv gwir*',
@@ -2328,7 +2329,7 @@ Setu an doare a-vremañ evit ar bajenn-mañ '''$1''':",
 'protect-default' => 'Aotren an holl implijerien',
 'protect-fallback' => 'Ezhomm zo aotre "$1"',
 'protect-level-autoconfirmed' => "Stankañ an implijerien nevez hag ar re n'int ket enrollet",
-'protect-level-sysop' => 'Merourien hepken',
+'protect-level-sysop' => 'Aotren ar verourien hepken',
 'protect-summary-cascade' => 'Gwareziñ dre skalierad',
 'protect-expiring' => "a zeu d'e dermen d'an $1",
 'protect-expiring-local' => "a ya d'e dermen d'an $1",
index 8d3d020..452b271 100644 (file)
@@ -396,7 +396,7 @@ $messages = array(
 'category-empty' => "''Ova kategorija trenutno ne sadrži članke ni medije.''",
 'hidden-categories' => '{{PLURAL:$1|Sakrivena kategorija|Sakrivene kategorije}}',
 'hidden-category-category' => 'Sakrivene kategorije',
-'category-subcat-count' => '{{PLURAL:$2|Ova kategorija ima sljedeću $1 podkategoriju.|Ova kategorija ima {{PLURAL:$1|sljedeće podkategorije|sljedećih $1 podkategorija}}, od $2 ukupno.}}',
+'category-subcat-count' => '{{PLURAL:$2|Ova kategorija ima sljedeću podkategoriju.|Ova kategorija ima {{PLURAL:$1|sljedeće podkategorije|sljedećih $1 podkategorija}}, od $2 ukupno.}}',
 'category-subcat-count-limited' => 'Ova kategorija sadrži {{PLURAL:$1|slijedeću $1 podkategoriju|slijedeće $1 podkategorije|slijedećih $1 podkategorija}}.',
 'category-article-count' => '{{PLURAL:$2|U ovoj kategoriji se nalazi $1 članak.|{{PLURAL:$1|Prikazan je $1 članak|Prikazana su $1 članka|Prikazano je $1 članaka}} od ukupno $2 u ovoj kategoriji.}}',
 'category-article-count-limited' => '{{PLURAL:$1|Slijedeća $1 stranica je|Slijedeće $1 stranice su|Slijedećih $1 stranica je}} u ovoj kategoriji.',
index 3cdff2c..45bbac7 100644 (file)
@@ -56,19 +56,19 @@ $namespaceNames = array(
 );
 
 $namespaceAliases = array(
-    'Uživatel_diskuse'      => NS_USER_TALK,      # old literal translation backward compatibility
-    'Uživatelka_diskuse'    => NS_USER_TALK,      # female complement to old literal translation style
-    '$1_diskuse'            => NS_PROJECT_TALK,   # old literal translation backward compatibility
-    'Soubor_diskuse'        => NS_FILE_TALK,      # old literal translation backward compatibility
-    'MediaWiki_diskuse'     => NS_MEDIAWIKI_TALK, # old literal translation backward compatibility
-    'Šablona_diskuse'       => NS_TEMPLATE_TALK,  # old literal translation backward compatibility
-    'Nápověda_diskuse'      => NS_HELP_TALK,      # old literal translation backward compatibility
-    'Kategorie_diskuse'     => NS_CATEGORY_TALK,  # old literal translation backward compatibility
+       'Uživatel_diskuse'      => NS_USER_TALK,      # old literal translation backward compatibility
+       'Uživatelka_diskuse'    => NS_USER_TALK,      # female complement to old literal translation style
+       '$1_diskuse'            => NS_PROJECT_TALK,   # old literal translation backward compatibility
+       'Soubor_diskuse'        => NS_FILE_TALK,      # old literal translation backward compatibility
+       'MediaWiki_diskuse'     => NS_MEDIAWIKI_TALK, # old literal translation backward compatibility
+       'Šablona_diskuse'       => NS_TEMPLATE_TALK,  # old literal translation backward compatibility
+       'Nápověda_diskuse'      => NS_HELP_TALK,      # old literal translation backward compatibility
+       'Kategorie_diskuse'     => NS_CATEGORY_TALK,  # old literal translation backward compatibility
 );
 
 $namespaceGenderAliases = array(
-    NS_USER      => array( 'male' => 'Uživatel', 'female' => 'Uživatelka' ),
-    NS_USER_TALK => array( 'male' => 'Diskuse_s_uživatelem', 'female' => 'Diskuse_s_uživatelkou' ),
+       NS_USER      => array( 'male' => 'Uživatel', 'female' => 'Uživatelka' ),
+       NS_USER_TALK => array( 'male' => 'Diskuse_s_uživatelem', 'female' => 'Diskuse_s_uživatelkou' ),
 );
 
 $specialPageAliases = array(
@@ -84,6 +84,7 @@ $specialPageAliases = array(
        'Categories'                => array( 'Kategorie' ),
        'ChangeEmail'               => array( 'Změna_emailu', 'Zmena_emailu' ),
        'ChangePassword'            => array( 'Změna_hesla', 'Zmena_hesla', 'Resetovat_heslo' ),
+       'ComparePages'              => array( 'Porovnání_stránek', 'PorovnáníStránek', 'Porovnani_stranek', 'PorovnaniStranek' ),
        'Confirmemail'              => array( 'Potvrdit_e-mail' ),
        'Contributions'             => array( 'Příspěvky', 'Prispevky' ),
        'CreateAccount'             => array( 'Vytvořit_účet', 'Vytvorit_ucet' ),
@@ -3263,8 +3264,7 @@ Otevřením souboru můžete ohrozit svůj počítač.",
 'days' => '{{PLURAL:$1|$1 den|$1 dny|$1 dní}}',
 'months' => '{{PLURAL:$1|$1 měsícem|$1 měsíci}}',
 'years' => '{{PLURAL:$1|$1 rokem|$1 roky}}',
-'ago' => 'před 
-$1',
+'ago' => 'před $1',
 'just-now' => 'Právě teď',
 
 # Bad image list
@@ -3976,7 +3976,7 @@ Obrázky se zobrazí v plném rozlišení, jiné typy souborů se otevřenou v p
 'specialpages-group-highuse' => 'Často používané stránky',
 'specialpages-group-pages' => 'Seznamy stránek',
 'specialpages-group-pagetools' => 'Nástroje ke stránkám',
-'specialpages-group-wiki' => 'Informace a nástroje k celé wiki',
+'specialpages-group-wiki' => 'Nástroje a data',
 'specialpages-group-redirects' => 'Přesměrovávací speciální stránky',
 'specialpages-group-spam' => 'Protispamové nástroje',
 
@@ -4073,6 +4073,7 @@ Obrázky se zobrazí v plném rozlišení, jiné typy souborů se otevřenou v p
 'logentry-newusers-newusers' => 'Byl založen uživatelský účet $1',
 'logentry-newusers-create' => 'Byl založen uživatelský účet $1',
 'logentry-newusers-create2' => '$1 založil uživatelský účet $3',
+'logentry-newusers-byemail' => '$1 {{GENDER:$2|založil|založila}} uživatelský účet $3, heslo bylo posláno e-mailem',
 'logentry-newusers-autocreate' => 'Automaticky byl založen účet $1',
 'logentry-rights-rights' => '$1 {{GENDER:$2|změnil|změnila}} členství $3 ve skupinách z $4 na $5',
 'logentry-rights-rights-legacy' => '$1 změnil členství $3 ve skupinách',
index 12f7f34..3de2da1 100644 (file)
  * @author ОйЛ
  */
 
+$specialPageAliases = array(
+       'Allpages'                  => array( 'Вьсѩ_страницѧ' ),
+       'Categories'                => array( 'Катигорїѩ' ),
+       'Contributions'             => array( 'Добродѣꙗниꙗ' ),
+       'Preferences'               => array( 'Строи' ),
+       'Recentchanges'             => array( 'Послѣдьнѩ_мѣнꙑ' ),
+       'Search'                    => array( 'Исканиѥ' ),
+       'Statistics'                => array( 'Статїстїка' ),
+       'Upload'                    => array( 'Положєниѥ_дѣла' ),
+);
+
 $namespaceNames = array(
        NS_MEDIA            => 'Срѣдьства',
        NS_SPECIAL          => 'Нарочьна',
index 7e32ced..d410db6 100644 (file)
@@ -12,6 +12,7 @@
  * @author Lloffiwr
  * @author Malafaya
  * @author Reedy
+ * @author Robin Owain
  * @author Thaf
  * @author Urhixidur
  * @author Xxglennxx
@@ -525,6 +526,7 @@ Y rheswm a roddwyd gan y gweinyddwr a roddodd y ffeil dan glo yw "\'\'$3\'\'".',
 Gallwch ddefnyddio {{SITENAME}} yn anhysbys, neu fe allwch <span class='plainlinks'>[$1 fewngofnodi eto]</span> wrth yr un un enw neu wrth enw arall.
 Sylwer y bydd rhai tudalennau yn parhau i ymddangos fel ag yr oeddent pan oeddech wedi mewngofnodi hyd nes i chi glirio celc eich porwr.",
 'welcomeuser' => 'Croeso, $1!',
+'welcomecreation-msg' => 'Peidiwch ag anghofio newid eich [[Special:Preferences|{{SITENAME}} preferences]].',
 'yourname' => 'Eich enw defnyddiwr:',
 'yourpassword' => 'Eich cyfrinair:',
 'yourpasswordagain' => 'Ail-deipiwch y cyfrinair:',
@@ -1085,7 +1087,7 @@ Pan yn gwneud hyn dylid sicrhau nad yw dilyniant hanes tudalennau yn cael ei ddi
 'diff-multi-manyusers' => '(Ni ddangosir {{PLURAL:$1|yr $1 diwygiad|yr $1 diwygiad|y $1 ddiwygiad|y $1 diwygiad|y $1 diwygiad|y $1 diwygiad}} rhyngol gan mwy na $2 {{PLURAL:$2|o ddefnyddwyr}}.)',
 'difference-missing-revision' => "Ni chafwyd hyd i $1 {{PLURAL:$2|diwygiad|diwygiad|ddiwygiad|diwygiad}} o'r gwahaniaeth ($1) {{PLURAL:$2|hwn}}.
 
-Fel arfer, fe ddigwydd hyn pan mae dyn wedi dilyn hen gyswllt gwahaniaeth i dudalen sydd erbyn hyn wedi cael ei dileu.
+Fel arfer, fe ddigwydd hyn pan mae person wedi dilyn hen gyswllt gwahaniaeth i dudalen sydd erbyn hyn wedi cael ei ddileu.
 Mae manylion pellach i'w cael yn [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} lòg y dileuon].",
 
 # Search results
@@ -2864,8 +2866,8 @@ Achos hyn yn fwy na thebyg yw presenoldeb cysylltiad i wefan ar y rhestr wahardd
 'pageinfo-article-id' => 'ID y dudalen',
 'pageinfo-language' => 'Iaith cynnwys y dudalen',
 'pageinfo-robot-policy' => 'Statws i beiriannau chwilio',
-'pageinfo-robot-index' => 'Gellir ei rhestri gan beiriannau chwilio',
-'pageinfo-robot-noindex' => 'Ni ellir ei rhestri gan beiriannau chwilio',
+'pageinfo-robot-index' => 'Gellir ei rhestru gan beiriannau chwilio',
+'pageinfo-robot-noindex' => 'Ni ellir ei rhestru gan beiriannau chwilio',
 'pageinfo-views' => 'Nifer yr ymweliadau',
 'pageinfo-watchers' => 'Nifer gwylwyr y dudalen',
 'pageinfo-redirects-name' => "Nifer yr ailgyfeiriadau i'r dudalen hon",
@@ -2972,7 +2974,7 @@ Mae'n bosib y bydd eich cyfrifiadur yn cael ei danseilio wrth ddefnyddio'r ffeil
 'months' => '{{PLURAL:$1|$1 mis|mis|deufis|$1 mis}}',
 'years' => '{{PLURAL:$1|$1 blwyddyn|blwyddyn|$1 flynedd|$1 blynedd|$1 blynedd|$1 mlynedd}}',
 'ago' => '$1 yn ôl',
-'just-now' => 'gynnau',
+'just-now' => 'nawr',
 
 # Bad image list
 'bad_image_list' => "Dyma'r fformat:
index 09ca7c6..da49af5 100644 (file)
@@ -32,6 +32,7 @@
  * @author Morten LJ
  * @author Najami
  * @author Nghtwlkr
+ * @author Palnatoke
  * @author Peter Alberti
  * @author Peter Andersen
  * @author Purodha
@@ -321,6 +322,7 @@ $messages = array(
 'newwindow' => '(åbner i et nyt vindue)',
 'cancel' => 'Afbryd',
 'moredotdotdot' => 'Mere...',
+'morenotlisted' => 'Mere ikke angivet...',
 'mypage' => 'Side',
 'mytalk' => 'Diskussion',
 'anontalk' => 'Diskussionsside for denne IP-adresse',
@@ -620,7 +622,7 @@ Glem ikke at ændre dine [[Special:Preferences|{{SITENAME}} indstillinger]].',
 'gotaccount' => 'Har du allerede en konto? $1.',
 'gotaccountlink' => 'Log på',
 'userlogin-resetlink' => 'Har du glemt dine login oplysninger?',
-'createaccountmail' => 'via e-mail',
+'createaccountmail' => 'Brug en midlertidig tilfældig adgangskode og send den til e-mailadressen angivet nedenfor',
 'createaccountreason' => 'Begrundelse:',
 'badretype' => 'De indtastede adgangskoder er ikke ens.',
 'userexists' => 'Det brugernavn, du har valgt, er allerede i brug.
@@ -692,6 +694,7 @@ Vent venligst før du prøver igen.',
 # E-mail sending
 'php-mail-error-unknown' => "Ukendt fejl i PHP's mail()-funtion",
 'user-mail-no-addy' => 'Forsøgte at sende email uden en email-adresse',
+'user-mail-no-body' => 'Forsøgte at sende en e-mail med tomt eller urimeligt kort indhold.',
 
 # Change password dialog
 'resetpass' => 'Skift adgangskode',
@@ -915,9 +918,10 @@ Du bekræfter hermed også, at du selv har skrevet denne tekst eller kopieret de
 '''OVERFØR IKKE OPHAVSRETSLIGT BESKYTTET INDHOLD UDEN TILLADELSE!'''",
 'longpageerror' => "'''Fejl: Teksten, som du ville gemme, er {{PLURAL:$1|en kilobyte|$1 kilobytes}} stor, hvilket er mere end det tilladte maksimum på {{PLURAL:$2|en kilobyte|$2 kilobytes}}.'''
 Det er ikke muligt at gemme den.",
-'readonlywarning' => "'''ADVARSEL: Databasen er låst på grund af vedligeholdelse, så du kan ikke gemme dine ændringer lige nu. Det kan godt være en god ide at kopiere din tekst til en tekstfil, så du kan gemme den til senere.'''
+'readonlywarning' => "'''Advarsel: Databasen er låst på grund af vedligeholdelse, så du kan ikke gemme dine ændringer lige nu.'''
+Det kan godt være en god ide at kopiere din tekst til en tekstfil, så du kan gemme den til senere.
 
-Systemadministratoren som låste databasen, gav denne forklaring: $1",
+Administratoren som låste databasen, gav denne forklaring: $1",
 'protectedpagewarning' => "'''ADVARSEL: Denne side er skrivebeskyttet, så kun administratorer kan redigere den.'''<br />
 Den seneste logpost vises nedenfor:",
 'semiprotectedpagewarning' => "'''Bemærk: Siden er låst, så kun registrerede brugere kan ændre den.'''
@@ -2114,7 +2118,7 @@ Der skal som minimum angives et topniveau-domæne som f. eks. "*.org".<br />
 # Special:ActiveUsers
 'activeusers' => 'Liste over aktive brugere',
 'activeusers-intro' => 'Dette er en liste over brugere, som har haft en eller anden form for aktivitet inden for {{PLURAL:$1|den|de}} seneste {{PLURAL:$1|dag|$1 dage}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|redigering|redigeringer}} i {{PLURAL:$3|det seneste døgn|de seneste $3 dage}}',
+'activeusers-count' => '$1 {{PLURAL:$1|handling|handlinger}} i {{PLURAL:$3|det seneste døgn|de seneste $3 dage}}',
 'activeusers-from' => 'Vis brugere som starter med:',
 'activeusers-hidebots' => 'Skjul robotter',
 'activeusers-hidesysops' => 'Skjul administratorer',
@@ -2338,9 +2342,9 @@ Se [[Special:ProtectedPages|listen over beskyttede sider]] for listen over sideb
 'protect-locked-access' => "Den brugerkonto har ikke de nødvendige rettigheder til at ændre sidebeskyttelsen. Her er de aktuelle beskyttelsesindstillinger for siden '''„$1“:'''",
 'protect-cascadeon' => 'Denne side er del af en nedarvet skrivebeskyttelse. Wen er indeholdt i nedenstående {{PLURAL:$1|side|sider}}, som er skrivebeskyttet med tilvalg af "nedarvende sidebeskyttelse" Sidebeskyttelsen kan ændres for denne side, det påvirker dog ikke kaskadespærringen:',
 'protect-default' => 'Tillad alle brugere',
-'protect-fallback' => 'Kræver "$1"-tilladelse',
-'protect-level-autoconfirmed' => 'Spær for nye og uregistrerede brugere',
-'protect-level-sysop' => 'Kun administratorer',
+'protect-fallback' => 'Tillad kun brugere med "$1" adgang',
+'protect-level-autoconfirmed' => 'Tillad kun autobekræftede brugere',
+'protect-level-sysop' => 'Tillad kun administratorer',
 'protect-summary-cascade' => 'nedarvende',
 'protect-expiring' => 'til $1 (UTC)',
 'protect-expiring-local' => 'udløber $1',
@@ -2964,6 +2968,7 @@ Dette skyldes sandsynligvis en henvisning til et sortlistet eksternt websted.',
 'pageinfo-magic-words' => '{{PLURAL:$1|Magisk|Magiske}} ord ($1)',
 'pageinfo-hidden-categories' => '{{PLURAL:$1|Skjult kategori|Skjulte kategorier}} ($1)',
 'pageinfo-templates' => '{{PLURAL:$1|Transkluderet skabelon|Transkluderede skabeloner}} ($1)',
+'pageinfo-transclusions' => '{{PLURAL:$1|Side|Sider}} transkluderet på ( $1 )',
 'pageinfo-toolboxlink' => 'Oplysninger om siden',
 'pageinfo-redirectsto' => 'Omdirigerer til',
 'pageinfo-redirectsto-info' => 'info',
@@ -3711,7 +3716,7 @@ Billeder vises i fuld opløsning, og andre mediatyper vil blive aktiveret med de
 'specialpages-group-highuse' => 'Højt profilerede sider',
 'specialpages-group-pages' => 'Sidelister',
 'specialpages-group-pagetools' => 'Sideværktøjer',
-'specialpages-group-wiki' => 'Wikidata og værktøjer',
+'specialpages-group-wiki' => 'Data og værktøjer',
 'specialpages-group-redirects' => 'Specialsider der viderestiller',
 'specialpages-group-spam' => 'Spamværktøjer',
 
@@ -3808,6 +3813,7 @@ Billeder vises i fuld opløsning, og andre mediatyper vil blive aktiveret med de
 'logentry-newusers-newusers' => 'Brugerkontoen $1 blev oprettet',
 'logentry-newusers-create' => 'Brugerkontoen $1 blev oprettet',
 'logentry-newusers-create2' => 'Brugerkontoen $3 blev oprettet af $1',
+'logentry-newusers-byemail' => 'Brugerkonto  $3  blev oprettet af  $1  og adgangskode er sendt via e-mail',
 'logentry-newusers-autocreate' => 'Kontoen $1 blev automatisk oprettet',
 'logentry-rights-rights' => '$1 ændrede gruppemedlemskabet for $3 fra $4 til $5',
 'logentry-rights-rights-legacy' => '$1 ændrede gruppemedlemskabet for $3',
@@ -3866,6 +3872,7 @@ Ellers kan du bruge den enkle formular nedenfor. Din kommentar vil blive tilføj
 'api-error-ok-but-empty' => 'Intern fejl: intet svar fra serveren.',
 'api-error-overwrite' => 'Det er ikke tilladt at overskrive en eksisterende fil.',
 'api-error-stashfailed' => 'Intern fejl: serveren kunne ikke gemme midlertidig fil.',
+'api-error-publishfailed' => 'Intern fejl: serveren kunne ikke udgive midlertidig fil.',
 'api-error-timeout' => 'Serveren svarede ikke tilbage inden for den forventede tid.',
 'api-error-unclassified' => 'En ukendt fejl opstod.',
 'api-error-unknown-code' => 'Ukendt fejl: "$1"',
index 88ed251..ff2e770 100644 (file)
@@ -193,6 +193,7 @@ $specialPageAliases = array(
        'Userlogin'                 => array( 'Anmelden' ),
        'Userlogout'                => array( 'Abmelden' ),
        'Userrights'                => array( 'Benutzerrechte' ),
+       'Version'                   => array( 'Versionsinformationen' ),
        'Wantedcategories'          => array( 'Gewünschte_Kategorien' ),
        'Wantedfiles'               => array( 'Gewünschte_Dateien', 'Fehlende_Dateien' ),
        'Wantedpages'               => array( 'Gewünschte_Seiten' ),
@@ -3995,7 +3996,7 @@ Eine [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie der ''GNU General Public License'']
 'specialpages-group-highuse' => 'Häufig benutzte Seiten',
 'specialpages-group-pages' => 'Seitenlisten',
 'specialpages-group-pagetools' => 'Seitenwerkzeuge',
-'specialpages-group-wiki' => 'Systemdaten und Werkzeuge',
+'specialpages-group-wiki' => 'Daten und Werkzeuge',
 'specialpages-group-redirects' => 'Weiterleitende Spezialseiten',
 'specialpages-group-spam' => 'Spam-Werkzeuge',
 
@@ -4092,6 +4093,7 @@ Eine [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie der ''GNU General Public License'']
 'logentry-newusers-newusers' => 'Benutzerkonto $1 wurde erstellt',
 'logentry-newusers-create' => 'Benutzerkonto $1 wurde erstellt',
 'logentry-newusers-create2' => 'Benutzerkonto $3 wurde von $1 erstellt',
+'logentry-newusers-byemail' => 'Das Benutzerkonto $3 wurde von $1 erstellt und das Passwort wurde per E-Mail zugesandt',
 'logentry-newusers-autocreate' => 'Benutzerkonto $1 wurde automatisch erstellt',
 'logentry-rights-rights' => '$1 änderte die Gruppenzugehörigkeit für $3 von $4 zu $5',
 'logentry-rights-rights-legacy' => '$1 änderte die Gruppenzugehörigkeit für $3',
index 547b890..3aa37e5 100644 (file)
@@ -51,15 +51,15 @@ $specialPageAliases = array(
        'Activeusers'               => array( 'KarberêAktivi', 'AktivKarberi' ),
        'Allmessages'               => array( 'MesaciPêro' ),
        'Allpages'                  => array( 'PeleyPêro' ),
-       'Ancientpages'              => array( 'PeleyVerêni' ),
+       'Ancientpages'              => array( 'PeleyKehani' ),
        'Badtitle'                  => array( 'SernameyoXırab' ),
-       'Blankpage'                 => array( 'PelaVeng', 'VengPela' ),
-       'Block'                     => array( 'Bloke', 'BlokeIP', 'BlokeKarber' ),
-       'Blockme'                   => array( 'BlokêMe' ),
+       'Blankpage'                 => array( 'PelêVengi' ),
+       'Block'                     => array( 'Bloqe', 'BloqeIP', 'BloqeyêKarber' ),
+       'Blockme'                   => array( 'BloqeyêMe' ),
        'Booksources'               => array( 'KıtabeÇıme' ),
        'BrokenRedirects'           => array( 'HetênayışoXırab' ),
-       'Categories'                => array( 'Kategoriye' ),
-       'ChangeEmail'               => array( 'EpostaBıvurnê' ),
+       'Categories'                => array( 'Kategoriy' ),
+       'ChangeEmail'               => array( 'EpostaVurnayış' ),
        'ChangePassword'            => array( 'ParolaBıvurnê', 'ParolaResetke' ),
        'ComparePages'              => array( 'PelaPêverke' ),
        'Confirmemail'              => array( 'EpostayAraştke' ),
@@ -67,9 +67,9 @@ $specialPageAliases = array(
        'CreateAccount'             => array( 'HesabVırazê' ),
        'Deadendpages'              => array( 'PelaBıgirê' ),
        'DeletedContributions'      => array( 'İştıraqêkeBesterneyayê' ),
-       'Disambiguations'           => array( 'ManeoBin' ),
-       'DoubleRedirects'           => array( 'DıletHeteneayış' ),
-       'EditWatchlist'             => array( 'ListeyaTemaşiVurnayış' ),
+       'Disambiguations'           => array( 'Arêzekerdış' ),
+       'DoubleRedirects'           => array( 'HetanayışoDılet' ),
+       'EditWatchlist'             => array( 'ListeyaSeyrkerdışiVurnayış' ),
        'Emailuser'                 => array( 'EpostayaKarberi' ),
        'Export'                    => array( 'Ateberde' ),
        'Fewestrevisions'           => array( 'TewrtaynRevizyon' ),
@@ -77,33 +77,34 @@ $specialPageAliases = array(
        'Filepath'                  => array( 'RayaDosya', 'HerunaDosya', 'CayêDosya' ),
        'Import'                    => array( 'Azeredê', 'Atewrke' ),
        'Invalidateemail'           => array( 'EpostaAraştkerdışiBıterknê' ),
-       'BlockList'                 => array( 'ListeyêBloki', 'IPBloki', 'Blokeyê_IP' ),
+       'BlockList'                 => array( 'ListeyêBloqi', 'IPBloqi', 'Blokqeyê_IP' ),
        'LinkSearch'                => array( 'GreCıgeyrayış' ),
-       'Listadmins'                => array( 'ListeyêXizmetkaran' ),
-       'Listbots'                  => array( 'ListeyêBotan' ),
-       'Listfiles'                 => array( 'ListeyêDosyayan', 'DosyayaListeke', 'ListeyêResiman' ),
-       'Listgrouprights'           => array( 'ListeyêHeqêGruban', 'HeqêGrubdeKarberan' ),
-       'Listredirects'             => array( 'ListeyêHetanayışi' ),
-       'Listusers'                 => array( 'ListeyêKarberan', 'KarberaListeke' ),
+       'Listadmins'                => array( 'ListeyaSerkaran' ),
+       'Listbots'                  => array( 'ListeyaBotan' ),
+       'Listfiles'                 => array( 'ListeyaDosyayan', 'DosyayaListeke', 'ListeyêResiman' ),
+       'Listgrouprights'           => array( 'ListeyaHeqandêGruban', 'HeqêGrubdeKarberan' ),
+       'Listredirects'             => array( 'ListeyaArêzekerdışan' ),
+       'Listusers'                 => array( 'ListeyaKarberan', 'KarberaListeke' ),
        'Lockdb'                    => array( 'DBKilitke' ),
        'Log'                       => array( 'Qeyd', 'Qeydi' ),
-       'Lonelypages'               => array( 'PeleyêBêkesi' ),
-       'Longpages'                 => array( 'PeleyeDergi' ),
-       'MergeHistory'              => array( 'RavêrdaPêtewrke' ),
+       'Lonelypages'               => array( 'PeleyêBêwayıri' ),
+       'Longpages'                 => array( 'PeleyêDergi' ),
+       'MergeHistory'              => array( 'VerênanPêtewrke' ),
        'MIMEsearch'                => array( 'NIMECıgeyrayış' ),
        'Mostcategories'            => array( 'TewrvêşiKategoriyıni' ),
        'Mostimages'                => array( 'DosyeyêkeCırêvêşiGreDeyayo' ),
+       'Mostinterwikis'            => array( 'TewrvêşiTeberwiki' ),
        'Mostlinked'                => array( 'PeleyêkeCırêvêşiGreDeyayo' ),
        'Mostlinkedcategories'      => array( 'KategoriyêkeCırêvêşiGreDeyayo' ),
        'Mostlinkedtemplates'       => array( 'ŞablonêkeCırêvêşiGreDeyayo' ),
        'Mostrevisions'             => array( 'TewrvêşiRevizyon' ),
-       'Movepage'                  => array( 'PelaAhulne' ),
-       'Mycontributions'           => array( 'İştıraqeMe' ),
-       'Mypage'                    => array( 'PelaMe' ),
-       'Mytalk'                    => array( 'PersiyeMe' ),
+       'Movepage'                  => array( 'PelerBerê' ),
+       'Mycontributions'           => array( 'İştıraqêMe' ),
+       'Mypage'                    => array( 'PeleyêMe' ),
+       'Mytalk'                    => array( 'WerênayışêMe' ),
        'Myuploads'                 => array( 'BarkerdışeMe' ),
        'Newimages'                 => array( 'DosyeyêNewey', 'ResimêNewey' ),
-       'Newpages'                  => array( 'PeleyeNewey' ),
+       'Newpages'                  => array( 'PeleyêNewey' ),
        'PasswordReset'             => array( 'ParolaResetkerdış' ),
        'PermanentLink'             => array( 'GreyoDaimi' ),
        'Popularpages'              => array( 'PeleyêPopuleri' ),
@@ -118,7 +119,7 @@ $specialPageAliases = array(
        'Revisiondelete'            => array( 'RevizyoniBesterne' ),
        'Search'                    => array( 'Cıgeyre' ),
        'Shortpages'                => array( 'PeleyêKılmi' ),
-       'Specialpages'              => array( 'PeleyXısusi' ),
+       'Specialpages'              => array( 'PeleyêXısusi' ),
        'Statistics'                => array( 'İstatistiki' ),
        'Tags'                      => array( 'Etiketi' ),
        'Unblock'                   => array( 'BloqiWedarne' ),
@@ -127,14 +128,14 @@ $specialPageAliases = array(
        'Uncategorizedpages'        => array( 'PeleyêkeKategorinêbiyê' ),
        'Uncategorizedtemplates'    => array( 'ŞablonêkeKategorinêbiyê' ),
        'Undelete'                  => array( 'Peyserbiya' ),
-       'Unlockdb'                  => array( 'DBSırmiake' ),
+       'Unlockdb'                  => array( 'DBKılitiAke' ),
        'Unusedcategories'          => array( 'KategoriyêkeNêkaryayê' ),
        'Unusedimages'              => array( 'DosyeyêkeNêkaryayê' ),
        'Unusedtemplates'           => array( 'ŞablonêkeNêkaryayê' ),
        'Unwatchedpages'            => array( 'PeleyêkeNêweyneyênê' ),
-       'Upload'                    => array( 'Barke' ),
+       'Upload'                    => array( 'Barkerdış' ),
        'UploadStash'               => array( 'BarkerdışêNımtey' ),
-       'Userlogin'                 => array( 'KarberDekewtış' ),
+       'Userlogin'                 => array( 'Karberkewtış' ),
        'Userlogout'                => array( 'KarberVıcyayış' ),
        'Userrights'                => array( 'HeqêKarberan', 'SysopKerdış', 'BotKerdış' ),
        'Version'                   => array( 'Versiyon' ),
@@ -142,7 +143,7 @@ $specialPageAliases = array(
        'Wantedfiles'               => array( 'DosyeyêkeWazênê' ),
        'Wantedpages'               => array( 'PeleyêkeWazênê' ),
        'Wantedtemplates'           => array( 'ŞablonêkeWazênê' ),
-       'Watchlist'                 => array( 'Listeyseyri' ),
+       'Watchlist'                 => array( 'ListaSeyri' ),
        'Whatlinkshere'             => array( 'PelarêGre' ),
        'Withoutinterwiki'          => array( 'Bêİnterwiki' ),
 );
@@ -300,6 +301,7 @@ $magicWords = array(
        'defaultsort_noreplace'     => array( '0', 'cewabçıniyo', 'noreplace' ),
        'pagesincategory_all'       => array( '0', 'pêro', 'all' ),
        'pagesincategory_pages'     => array( '0', 'peley', 'pages' ),
+       'pagesincategory_subcats'   => array( '0', 'bınkati', 'subcats' ),
        'pagesincategory_files'     => array( '0', 'dosyey', 'files' ),
 );
 
index 71ee574..8c8289e 100644 (file)
 $rtl = true;
 
 $namespaceNames = array(
+       NS_MEDIA            => 'މީޑިއާ',
        NS_SPECIAL          => 'ހާއްޞަ',
+       NS_MAIN             => '',
        NS_TALK             => 'ޚިޔާލު',
        NS_USER             => 'މެމްބަރު',
+       NS_USER_TALK        => 'މެމްބަރުގެ_ވާހަކަ',
        NS_FILE             => 'ފައިލް',
        NS_FILE_TALK        => 'ފައިލް_ޚިޔާލު',
        NS_MEDIAWIKI        => 'މީޑިއާވިކީ',
index 40c8282..5579fc8 100644 (file)
@@ -73,7 +73,7 @@ $namespaceNames = array(
        NS_TALK             => 'Συζήτηση',
        NS_USER             => 'Χρήστης',
        NS_USER_TALK        => 'Συζήτηση_χρήστη',
-       NS_PROJECT_TALK     => '$1_συζήτηση',
+       NS_PROJECT_TALK     => 'Συζήτηση_$1',
        NS_FILE             => 'Αρχείο',
        NS_FILE_TALK        => 'Συζήτηση_αρχείου',
        NS_MEDIAWIKI        => 'MediaWiki',
@@ -87,8 +87,9 @@ $namespaceNames = array(
 );
 
 $namespaceAliases = array(
-       'Μέσον' => NS_MEDIA,
-       'Εικόνα' => NS_FILE,
+       'Μέσον'            => NS_MEDIA,
+       '$1_συζήτηση'      => NS_PROJECT_TALK,
+       'Εικόνα'           => NS_FILE,
        'Συζήτηση_εικόνας' => NS_FILE_TALK,
 );
 
@@ -101,7 +102,7 @@ $specialPageAliases = array(
        'Block'                     => array( 'Φραγή', 'ΦραγήIP', 'ΦραγήΧρήστη' ),
        'Blockme'                   => array( 'ΦραγήΕμένα' ),
        'Booksources'               => array( 'ΠηγέςΒιβλίων' ),
-       'BrokenRedirects'           => array( 'Î\9bανθαÏ\83μένεςΑνακατευθύνσεις' ),
+       'BrokenRedirects'           => array( 'Î\9aαÏ\84εÏ\83Ï\84Ï\81αμμένεςΑνακατευθύνσεις' ),
        'Categories'                => array( 'Κατηγορίες' ),
        'ChangePassword'            => array( 'ΑλλαγήΚωδικού', 'ΑρχικοποίησηΠάσου', 'ΑρχικοποίησηΚωδικού' ),
        'Confirmemail'              => array( 'ΕπιβεβαίωσηEmail' ),
@@ -223,6 +224,7 @@ $magicWords = array(
        'pagenamee'                 => array( '1', 'ΟΝΟΜΑΣΕΛΙΔΑΣΚ', 'PAGENAMEE' ),
        'namespace'                 => array( '1', 'ΠΕΡΙΟΧΗ', 'NAMESPACE' ),
        'namespacee'                => array( '1', 'ΠΕΡΙΟΧΗΚ', 'NAMESPACEE' ),
+       'namespacenumber'           => array( '1', 'ΑΡΙΘΜΟΣΟΝΟΜΑΤΟΣΧΩΡΟΥ', 'NAMESPACENUMBER' ),
        'talkspace'                 => array( '1', 'ΠΕΡΙΟΧΗΣΥΖΗΤΗΣΕΩΝ', 'TALKSPACE' ),
        'talkspacee'                => array( '1', 'ΠΕΡΙΟΧΗΣΥΖΗΤΗΣΕΩΝΚ', 'TALKSPACEE' ),
        'subjectspace'              => array( '1', 'ΠΕΡΙΟΧΗΘΕΜΑΤΩΝ', 'SUBJECTSPACE', 'ARTICLESPACE' ),
@@ -785,7 +787,7 @@ $2',
 'gotaccount' => "Έχετε ήδη έναν λογαριασμό; '''$1'''.",
 'gotaccountlink' => 'Είσοδος',
 'userlogin-resetlink' => 'Ξεχάσατε τα στοιχεία σύνδεσής σας;',
-'createaccountmail' => 'ΧÏ\81ηÏ\83ιμοÏ\80οιήÏ\83Ï\84ε Ï\84ον Ï\84Ï\85Ï\87αίο Ï\80Ï\81οÏ\83Ï\89Ï\81ινÏ\8c ÎºÏ\89δικÏ\8c Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 ÎºÎ±Î¹ Ï\83Ï\84είλÏ\84ε Ï\84ον Ï\83Ï\84ην Î´Î¹ÎµÏ\8dθÏ\85νÏ\83η Î·Î»ÎµÎºÏ\84Ï\81ονικοÏ\8d Ï\84αÏ\87Ï\85δÏ\81ομείοÏ\85 Ï\80οÏ\85 Ï\85Ï\80οδεικνÏ\8dεται παρακάτω',
+'createaccountmail' => 'ΧÏ\81ήÏ\83η Ï\84Ï\85Ï\87αίοÏ\85 Ï\80Ï\81οÏ\83Ï\89Ï\81ινοÏ\8d ÎºÏ\89δικοÏ\8d Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 ÎºÎ±Î¹ Î±Ï\80οÏ\83Ï\84ολή Ï\84οÏ\85 Ï\83Ï\84η Î´Î¹ÎµÏ\8dθÏ\85νÏ\83η Î·Î»ÎµÎºÏ\84Ï\81ονικοÏ\8d Ï\84αÏ\87Ï\85δÏ\81ομείοÏ\85 Ï\80οÏ\85 ÎºÎ±Î¸Î¿Ï\81ίζεται παρακάτω',
 'createaccountreason' => 'Αιτία:',
 'badretype' => 'Οι κωδικοί που έχετε δηλώσει δεν συμφωνούν μεταξύ τους.',
 'userexists' => 'Το όνομα χρήστη που εισαγάγατε βρίσκεται ήδη σε χρήση.
@@ -1063,8 +1065,8 @@ $2
 '''ΠΑΡΑΚΑΛΟΥΜΕ ΝΑ ΜΗΝ ΤΟΠΟΘΕΤΕΙΤΕ ΠΝΕΥΜΑΤΙΚΑ ΚΑΤΟΧΥΡΩΜΕΝΟ ΕΡΓΟ ΧΩΡΙΣ ΑΔΕΙΑ!'''",
 'longpageerror' => "'''Σφάλμα: Το κείμενο που καταχωρήσατε έχει μήκος {{PLURAL:$1|ένα kilobyte|$1 kilobytes}}, το οποίο είναι μεγαλύτερο από το μέγιστο {{PLURAL:$2|του ενός kilobyte|των $2 kilobytes}}.'''
 Δεν μπορεί να αποθηκευτεί.",
-'readonlywarning' => "'''ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Η βάση δεδομένων έχει κλειδωθεί για συντήρηση, έτσι δεν θα μπορέσετε να αποθηκεύσετε τις επεξεργασίες σας τώρα.'''
\9cÏ\80οÏ\81είÏ\84ε Î±Î½ Î¸Î­Î»ÎµÏ\84ε Î½Î± Î±Ï\80οθηκεÏ\8dÏ\83εÏ\84ε Ï\84ο ÎºÎµÎ¯Î¼ÎµÎ½Î¿ Ï\83ε Î±Ï\81Ï\87είο ÎºÎµÎ¹Î¼Î­Î½Î¿Ï\85 (με Î±Ï\80οκοÏ\80ή-και-εÏ\80ικÏ\8cλληÏ\83η) ÎºÎ±Î¹ Î½Î± Ï\84ο Ï\86Ï\85λάξεÏ\84ε Î³Î¹' αργότερα.
+'readonlywarning' => "'''Προειδοποίηση: Η βάση δεδομένων έχει κλειδωθεί για συντήρηση, έτσι δεν θα μπορέσετε να αποθηκεύσετε τις επεξεργασίες σας αυτή τη στιγμή.'''
\9cÏ\80οÏ\81είÏ\84ε Î±Î½ Î¸Î­Î»ÎµÏ\84ε Î½Î± Î¼ÎµÏ\84αÏ\86έÏ\81εÏ\84ε Î¼Îµ Î±Î½Ï\84ιγÏ\81αÏ\86ή-εÏ\80ικÏ\8cλληÏ\83η Ï\84ο ÎºÎµÎ¯Î¼ÎµÎ½Ï\8c Ï\83αÏ\82 Ï\83ε Î±Ï\81Ï\87είο ÎºÎµÎ¹Î¼Î­Î½Î¿Ï\85 ÎºÎ±Î¹ Î½Î± Ï\84ο Î±Ï\80οθηκεÏ\8dÏ\83εÏ\84ε Î³Î¹Î± αργότερα.
 
 Ο διαχειριστής που την κλείδωσε έδωσε την εξής εξήγηση: $1",
 'protectedpagewarning' => "'''Προειδοποίηση: Αυτή η σελίδα έχει κλειδωθεί ώστε μόνο χρήστες με δικαιώματα διαχειριστή μπορούν να την επεξεργαστούν.'''
@@ -2473,9 +2475,9 @@ $UNWATCHURL
 Εδώ είναι οι τρέχουσες ρυθμίσεις για τη σελίδα '''$1''':",
 'protect-cascadeon' => 'Αυτή η σελίδα είναι προς το παρόν προστατευμένη επειδή περιλαμβάνεται {{PLURAL:$1|στην ακόλουθη σελίδα, η οποία έχει|στις ακόλουθες σελίδες, οι οποίες έχουν}} τη διαδοχική προστασία ενεργοποιημένη. Μπορείτε να αλλάξετε το επίπεδο προστασίας αυτής της σελίδας, αλλά δεν θα επηρεάσει τη διαδοχική προστασία.',
 'protect-default' => 'Να επιτρέπονται όλοι οι χρήστες',
-'protect-fallback' => 'Î\95Ï\80ιÏ\84Ï\81έÏ\80εÏ\84αι Î¼Ï\8cνο Ï\83ε Ï\87Ï\81ήÏ\83Ï\84εÏ\82 Î¼Îµ Î´Î¹ÎºÎ±Î¹Ï\8eμαÏ\84α "$1"',
-'protect-level-autoconfirmed' => 'Î\95πιτρέπονται μόνο αυτοεπιβεβαιωμένοι χρήστες',
-'protect-level-sysop' => 'Î\95πιτρέπεται μόνο στους διαχειριστές',
+'protect-fallback' => 'Î\9dα ÎµÏ\80ιÏ\84Ï\81έÏ\80εÏ\84αι Î¼Ï\8cνο Ï\83ε Ï\87Ï\81ήÏ\83Ï\84εÏ\82 Î¼Îµ Î´Î¹ÎºÎ±Î¹Ï\8eμαÏ\84α Â«$1»',
+'protect-level-autoconfirmed' => 'Î\9dα Îµπιτρέπονται μόνο αυτοεπιβεβαιωμένοι χρήστες',
+'protect-level-sysop' => 'Î\9dα Îµπιτρέπεται μόνο στους διαχειριστές',
 'protect-summary-cascade' => 'διαδοχική',
 'protect-expiring' => 'λήγει στις $1 (UTC)',
 'protect-expiring-local' => 'λήγει στις $1',
@@ -2766,18 +2768,18 @@ $1',
 # Move page
 'move-page' => 'Μετακίνηση $1',
 'move-page-legend' => 'Μετακίνηση σελίδας',
-'movepagetext' => "ΧÏ\81ηÏ\83ιμοÏ\80οιÏ\8eνÏ\84αÏ\82 Ï\84η Ï\86Ï\8cÏ\81μα Ï\80οÏ\85 Î±ÎºÎ¿Î»Î¿Ï\85θεί Î¼Ï\80οÏ\81είÏ\84ε Î½Î± Î¼ÎµÏ\84ονομάÏ\83εÏ\84ε Ï\83ελίδεÏ\82 ÎºÎ±Î¹ Î½Î± Î¼ÎµÏ\84αÏ\86έÏ\81εÏ\84ε Ï\8cλο Ï\84ο Î¹Ï\83Ï\84οÏ\81ικÏ\8c Ï\84οÏ\85ς στο νέο όνομα.
-Ο παλιός τίτλος της σελίδας θα γίνει μια σελίδα ανακατεύθυνσης στο νέο τίτλο.
-Μπορείτε να ενημερώσετε τις ανακατευθύνσεις που οδηγούν στον αρχικό τίτλο αυτόματα.
\91ν ÎµÏ\80ιλέξεÏ\84ε Î½Î± Î¼Î·Î½ Î³Î¯Î½ÎµÎ¹, Î¸Î± Ï\80Ï\81έÏ\80ει Î½Î± ÎµÎ»Î­Î³Î¾ÎµÏ\84ε Ï\84ιÏ\82 [[Special:DoubleRedirects|διÏ\80λέÏ\82]] ÎºÎ±Î¹ Ï\84ιÏ\82 [[Special:BrokenRedirects|κατεστραμμένες ανακατευθύνσεις]].
-Είστε υπεύθυνος να επιβεβαιώσετε ότι οι σύνδεσμοι εξακολουθούν να οδηγούν προς τις κατευθύνσεις που πρέπει.
+'movepagetext' => "ΧÏ\81ηÏ\83ιμοÏ\80οιÏ\8eνÏ\84αÏ\82 Ï\84η Ï\86Ï\8cÏ\81μα Ï\80οÏ\85 Î±ÎºÎ¿Î»Î¿Ï\85θεί Î¸Î± Î³Î¯Î½ÎµÎ¹ Î¼ÎµÏ\84ονομαÏ\83ία Ï\83ελίδαÏ\82, Î¼ÎµÏ\84αÏ\86έÏ\81ονÏ\84αÏ\82 Ï\8cλο Ï\84ο Î¹Ï\83Ï\84οÏ\81ικÏ\8c Ï\84ης στο νέο όνομα.
+Ο παλιός τίτλος της σελίδας θα γίνει σελίδα ανακατεύθυνσης προς τον νέο τίτλο.
+Μπορείτε να ενημερώσετε αυτόματα τις ανακατευθύνσεις που οδηγούν στον αρχικό τίτλο.
\91ν ÎµÏ\80ιλέξεÏ\84ε Î½Î± Î¼Î·Î½ ÎµÎ½Î·Î¼ÎµÏ\81Ï\89θοÏ\8dν Î±Ï\85Ï\84Ï\8cμαÏ\84α, Î¼Î·Î½ Î¾ÎµÏ\87άÏ\83εÏ\84ε Î½Î± ÎµÎ»Î­Î³Î¾ÎµÏ\84ε Î³Î¹Î± [[Special:DoubleRedirects|διÏ\80λέÏ\82]] Î® [[Special:BrokenRedirects|κατεστραμμένες ανακατευθύνσεις]].
+Είναι δική σας ευθύνη να επιβεβαιώσετε ότι οι σύνδεσμοι εξακολουθούν να δείχνουν προς τη σωστή κατεύθυνση.
 
\9bάβεÏ\84ε Ï\85Ï\80Ï\8cÏ\88η Ï\83αÏ\82 Ï\8cÏ\84ι Î· Ï\83ελίδα '''δεν''' Î¸Î± Î¼ÎµÏ\84ακινηθεί Î±Î½ Ï\85Ï\80άÏ\81Ï\87ει Î®Î´Î· Î¼Î¹Î± Î¬Î»Î»Î· Ï\83ελίδα ÎºÎ¬Ï\84Ï\89 Î±Ï\80Ï\8c Ï\84ο Î½Î­Î¿ Ï\84ίÏ\84λο, ÎµÎºÏ\84Ï\8cÏ\82 Î±Î½ Î· Ï\83ελίδα Î±Ï\85Ï\84ή ÎµÎ¯Î½Î±Î¹ ÎºÎµÎ½Î® Î® ÎµÎ¯Î½Î±Î¹ Î±Î½Î±ÎºÎ±Ï\84εÏ\8dθÏ\85νÏ\83η Ï\87Ï\89Ï\81ίÏ\82 ιστορικό επεξεργασίας.
-Αυτό σημαίνει ότι, στην περίπτωση που έχετε κάνει λάθος, μπορείτε να μετονομάσετε μια σελίδα ξαναδίνοντας της την αρχική της ονομασία αλλά δεν μπορείτε να αντικαταστήσετε μια υπάρχουσα σελίδα.
\9bάβεÏ\84ε Ï\85Ï\80Ï\8cÏ\88ιν Ï\83αÏ\82 Ï\8cÏ\84ι Î· Ï\83ελίδα '''δεν''' Î¸Î± Î¼ÎµÏ\84ακινηθεί Î±Î½ Ï\85Ï\80άÏ\81Ï\87ει Î®Î´Î· Î¼Î¹Î± Î¬Î»Î»Î· Ï\83ελίδα Ï\85Ï\80Ï\8c Ï\84ο Î½Î­Î¿ Ï\84ίÏ\84λο, ÎµÎºÏ\84Ï\8cÏ\82 Î±Î½ Î· Ï\83ελίδα Î±Ï\85Ï\84ή ÎµÎ¯Î½Î±Î¹ ÎºÎµÎ½Î® Î® Î±Î½Î±ÎºÎ±Ï\84εÏ\8dθÏ\85νÏ\83η ÎºÎ±Î¹ Î´ÎµÎ½ Î­Ï\87ει ιστορικό επεξεργασίας.
+Αυτό σημαίνει ότι σε περίπτωση λάθους μπορείτε να μετονομάσετε ξανά μια σελίδα δίνοντας της την αρχική της ονομασία αλλά δεν μπορείτε να αντικαταστήσετε μια υπάρχουσα σελίδα.
 
 '''ΠΡΟΣΟΧΗ!'''
\97 Î¼ÎµÏ\84ονομαÏ\83ία Ï\83ελίδαÏ\82 ÎµÎ¯Î½Î±Î¹ Î¼Î¹Î± Î±Î¹Ï\86νίδια ÎºÎ±Î¹ Î´Ï\81αÏ\83Ï\84ική Î±Î»Î»Î±Î³Î® όταν πρόκειται για δημοφιλείς σελίδες.
-Παρακαλούμε, πριν το αποφασίσετε, να εξετάσετε προσεκτικά τις πιθανές επιπτώσεις αυτής της ενέργειας.",
\91Ï\85Ï\84ή Î· Î±Î»Î»Î±Î³Î® Î¼Ï\80οÏ\81εί Î½Î± Î±Ï\80οβεί Î´Ï\81αÏ\83Ï\84ική ÎºÎ±Î¹ Î±Î½Î±Ï\80άνÏ\84εÏ\87η όταν πρόκειται για δημοφιλείς σελίδες.
+Παρακαλούμε βεβαιωθείτε ότι αντιλαμβάνεστε τις επιπτώσεις αυτής της ενέργειας πριν προχωρήσετε.",
 'movepagetext-noredirectfixer' => "Χρησιμοποιώντας τη φόρμα που ακολουθεί μπορείτε να μετονομάσετε σελίδες και να μεταφέρετε όλο το ιστορικό τους στο νέο όνομα.
 Ο παλιός τίτλος της σελίδας θα γίνει μια σελίδα ανακατεύθυνσης στο νέο τίτλο.
 Μπορείτε να ενημερώσετε τις ανακατευθύνσεις που οδηγούν στον αρχικό τίτλο αυτόματα.
@@ -3861,7 +3863,7 @@ $5
 'specialpages-group-highuse' => 'Πολυσύχναστες σελίδες',
 'specialpages-group-pages' => 'Κατάλογοι σελίδων',
 'specialpages-group-pagetools' => 'Εργαλεία σελίδων',
-'specialpages-group-wiki' => 'Î\92ικι Î´εδομένα και εργαλεία',
+'specialpages-group-wiki' => 'Î\94εδομένα και εργαλεία',
 'specialpages-group-redirects' => 'Ανακατεύθυνση ειδικών σελίδων',
 'specialpages-group-spam' => 'Εργαλεία κατά των ανεπιθύμητων διαφημιστικών',
 
@@ -3934,9 +3936,12 @@ $5
 'logentry-delete-restore' => 'Ο/η $1 αποκατέστησε τη σελίδα $3',
 'logentry-delete-event' => '{{GENDER:$1|Ο|Η}} $1 άλλαξε την ορατότητα σε {{PLURAL:$5|ένα γεγονός καταγραφής|$5 log events}} στο $3: $4',
 'logentry-delete-revision' => '{{GENDER:$1|Ο|Η}} $1 άλλαξε την ορατότητα {{PLURAL:$5|μιας έκδοσης|$5 εκδόσεων}} στη σελίδα $3: $4',
-'logentry-delete-event-legacy' => '{{GENDER:$2|Ο|Η}} $1 άλλαξε την ορατότητα της καταγραφής συμβάντων στη σελίδα $3',
+'logentry-delete-event-legacy' => '{{GENDER:$2|Ο|Η}} $1 άλλαξε την ορατότητα των καταγραφόμενων συμβάντων στη σελίδα $3',
 'logentry-delete-revision-legacy' => '{{GENDER:$1|Ο|Η}} $1 άλλαξε την  ορατότητα των αναθεωρήσεων στη σελίδα $3',
 'logentry-suppress-delete' => '{{GENDER:$1|Ο|Η}} $1 διέγραψε τη σελίδα $3',
+'logentry-suppress-event' => '{{Gender:$2|Ο|Η}} $1 άλλαξε μυστικά την ορατότητα {{PLURAL:$5|ενός καταγραφόμενου συμβάντος|$5 καταγραφόμενων συμβάντων}} στη σελίδα $3: $4',
+'logentry-suppress-revision' => '{{Gender:$2|Ο|Η}} $1 άλλαξε μυστικά την ορατότητα {{PLURAL:$5|μίας αναθεώρησης|$5 αναθεωρήσεων}} στη σελίδα $3: $4',
+'logentry-suppress-event-legacy' => '{{Gender:$2|Ο|Η}} $1 άλλαξε μυστικά την ορατότητα των καταγραφόμενων συμβάντων στη σελίδα $3',
 'logentry-suppress-revision-legacy' => '$1 κρυφά άλλαξαν την  ορατότητα των αναθεωρήσεων στη σελίδα $3',
 'revdelete-content-hid' => 'το περιεχόμενο αποκρύφθηκε',
 'revdelete-summary-hid' => 'Η σύνοψη επεξεργασίας αποκρύφθηκε',
index 31c8669..7ed6123 100644 (file)
@@ -2841,7 +2841,7 @@ The e-mail address you entered in [[Special:Preferences|your user preferences]]
 'usermessage-template' => 'MediaWiki:UserMessage', # only translate this message to other languages if you have to change it
 
 # Watchlist
-'watchlist'            => 'My watchlist',
+'watchlist'            => 'Watchlist',
 'watchlist-summary'    => '', # do not translate or duplicate this message to other languages
 'mywatchlist'          => 'Watchlist',
 'watchlistfor2'        => 'For $1 $2',
index 68e03ef..54cd83c 100644 (file)
@@ -109,6 +109,7 @@ $specialPageAliases = array(
        'MIMEsearch'                => array( 'MIME-haku' ),
        'Mostcategories'            => array( 'Luokitelluimmat_sivut' ),
        'Mostimages'                => array( 'Viitatuimmat_tiedostot' ),
+       'Mostinterwikis'            => array( 'Eniten_kielilinkkejä' ),
        'Mostlinked'                => array( 'Viitatuimmat_sivut' ),
        'Mostlinkedcategories'      => array( 'Viitatuimmat_luokat' ),
        'Mostlinkedtemplates'       => array( 'Viitatuimmat_mallineet' ),
@@ -740,7 +741,7 @@ Huomaa, että jotkut sivut saattavat näkyä edelleen kuin olisit kirjautunut si
 'gotaccount' => "Jos sinulla on jo tunnus, voit '''$1'''.",
 'gotaccountlink' => 'kirjautua sisään',
 'userlogin-resetlink' => 'Unohditko salasanasi?',
-'createaccountmail' => 'sähköpostitse',
+'createaccountmail' => 'Käytä satunnaista väliaikaissalasanaa ja lähetä se alla määritettyyn sähköpostiosoitteeseen',
 'createaccountreason' => 'Syy',
 'badretype' => 'Syöttämäsi salasanat ovat erilaiset.',
 'userexists' => 'Pyytämäsi käyttäjänimi on jo käytössä. Valitse toinen käyttäjänimi.',
@@ -3811,7 +3812,7 @@ Kuvat näytetään täysikokoisina. Muut tiedostot avataan niille määritetyss
 'specialpages-group-highuse' => 'Sivujen käyttöaste',
 'specialpages-group-pages' => 'Sivulistaukset',
 'specialpages-group-pagetools' => 'Sivutyökalut',
-'specialpages-group-wiki' => 'Wikitiedot ja työkalut',
+'specialpages-group-wiki' => 'Tiedot ja työkalut',
 'specialpages-group-redirects' => 'Ohjaavat toimintosivut',
 'specialpages-group-spam' => 'Mainostenpoistotyökalut',
 
index c3a7660..4bcb5f2 100644 (file)
@@ -133,6 +133,7 @@ $specialPageAliases = array(
        'Booksources'               => array( 'Ouvrages_de_référence', 'Ouvrages_de_reference', 'Ouvragesderéférence', 'Ouvragesdereference', 'Recherche_ISBN', 'Recherche_isbn', 'RechercheISBN', 'Rechercheisbn' ),
        'BrokenRedirects'           => array( 'Redirections_cassées', 'RedirectionCassées', 'Redirections_cassees', 'RedirectionsCassees' ),
        'Categories'                => array( 'Catégories' ),
+       'ChangeEmail'               => array( 'ChangerCouriel', 'Changer_courrielw' ),
        'ChangePassword'            => array( 'Changement_du_mot_de_passe', 'ChangementDuMotDePasse' ),
        'Confirmemail'              => array( 'Confirmer_l\'adresse_de_contact', 'Confirmer_le_courriel', 'ConfirmerLeCourriel' ),
        'CreateAccount'             => array( 'Créer_un_compte', 'CréerUnCompte', 'CréerCompte' ),
@@ -140,6 +141,7 @@ $specialPageAliases = array(
        'DeletedContributions'      => array( 'Contributions_supprimées', 'ContributionsSupprimées', 'ContributionSupprimees' ),
        'Disambiguations'           => array( 'Homonymies', 'Homonymie', 'Pages_d\'homonymie' ),
        'DoubleRedirects'           => array( 'Doubles_redirections', 'DoublesRedirections', 'Redirections_doubles', 'RedirectionsDoubles' ),
+       'EditWatchlist'             => array( 'Éditer_Liste_de_suivi', 'ÉditerListeDeSuivi' ),
        'Emailuser'                 => array( 'Envoyer_un_courriel', 'EnvoyerUnCourriel', 'Courriel', 'Envoyer_un_e-mail', 'EnvoyerUnEMail', 'E-mail', 'EMail' ),
        'Export'                    => array( 'Exporter', 'Exportation' ),
        'Fewestrevisions'           => array( 'Pages_les_moins_modifiées', 'PagesLesMoinsModifiées', 'Pages_les_moins_modifiees', 'PagesLesMoinsModifiees', 'Les_moins_modifiés', 'LesMoinsModifiés', 'Les_moins_modifies', 'LesMoinsModifies' ),
@@ -254,6 +256,7 @@ $magicWords = array(
        'pagenamee'                 => array( '1', 'NOMPAGEX', 'PAGENAMEE' ),
        'namespace'                 => array( '1', 'ESPACENOMMAGE', 'NAMESPACE' ),
        'namespacee'                => array( '1', 'ESPACENOMMAGEX', 'NAMESPACEE' ),
+       'namespacenumber'           => array( '1', 'NOMBREESPACENOMMAGE', 'NAMESPACENUMBER' ),
        'talkspace'                 => array( '1', 'ESPACEDISCUSSION', 'TALKSPACE' ),
        'talkspacee'                => array( '1', 'ESPACEDISCUSSIONX', 'TALKSPACEE' ),
        'subjectspace'              => array( '1', 'ESPACESUJET', 'ESPACEARTICLE', 'SUBJECTSPACE', 'ARTICLESPACE' ),
@@ -351,6 +354,8 @@ $magicWords = array(
        'protectionlevel'           => array( '1', 'NIVEAUDEPROTECTION', 'PROTECTIONLEVEL' ),
        'url_path'                  => array( '0', 'CHEMIN', 'PATH' ),
        'url_query'                 => array( '0', 'QUESTION', 'QUERY' ),
+       'pagesincategory_all'       => array( '0', 'tous', 'all' ),
+       'pagesincategory_files'     => array( '0', 'fichier', 'files' ),
 );
 
 $bookstoreList = array(
index 29daa91..f2238b8 100644 (file)
@@ -331,7 +331,7 @@ $messages = array(
 'tog-previewontop' => 'Montrar l’apèrçu d’amont la zona de changement',
 'tog-previewonfirst' => 'Montrar l’apèrçu pendent lo premiér changement',
 'tog-nocache' => 'Dèsactivar lo cacho de les pâges per lo navigator',
-'tog-enotifwatchlistpages' => 'Mè mandar un mèssâjo quand na pâge ou ben un fichiér de ma lista de siuvu est changiê(e)',
+'tog-enotifwatchlistpages' => 'Mè mandar un mèssâjo quand na pâge un fichiér de ma lista de siuvu est changiê(e)',
 'tog-enotifusertalkpages' => 'Mè mandar un mèssâjo quand ma pâge de discussion est changiêe',
 'tog-enotifminoredits' => 'Mè mandar un mèssâjo mémo en câs de petiôts changements de les pâges et des fichiérs',
 'tog-enotifrevealaddr' => 'Rèvèlar mon adrèce èlèctronica dedens los mèssâjos de notificacion',
@@ -357,7 +357,7 @@ $messages = array(
 
 'underline-always' => 'Tojorn',
 'underline-never' => 'Jamés',
-'underline-default' => 'Valor de l’habelyâjo ou ben du navigator per dèfôt',
+'underline-default' => 'Valor de l’habelyâjo du navigator per dèfôt',
 
 # Font style option in Special:Preferences
 'editfont-style' => 'Stilo de police de la zona de changement :',
@@ -423,7 +423,7 @@ $messages = array(
 'category_header' => 'Pâges dedens la catègorie « $1 »',
 'subcategories' => 'Sot-catègories',
 'category-media-header' => 'Fichiérs mèdia dedens la catègorie « $1 »',
-'category-empty' => "''Ora ceta catègorie contint gins de pâge ou ben de fichiér mèdia.''",
+'category-empty' => "''Ora ceta catègorie contint gins de pâge de fichiér mèdia.''",
 'hidden-categories' => '{{PLURAL:$1|Catègorie cachiêe|Catègories cachiêes}}',
 'hidden-category-category' => 'Catègories cachiêes',
 'category-subcat-count' => 'Cela catègorie-que at {{PLURAL:$2|ren que ceta sot-catègorie.|{{PLURAL:$1|ceta sot-catègorie|cetes $1 sot-catègories}}, sur na soma de $2.}}',
@@ -498,8 +498,8 @@ $messages = array(
 'create-this-page' => 'Fâre cela pâge',
 'delete' => 'Suprimar',
 'deletethispage' => 'Suprimar ceta pâge',
-'undelete_short' => 'Refâre {{PLURAL:$1|yon changement|$1 changements}}',
-'viewdeleted_short' => 'Vêre {{PLURAL:$1|yon changement suprimâ|$1 changements suprimâs}}',
+'undelete_short' => 'Refâre {{PLURAL:$1|un changement|$1 changements}}',
+'viewdeleted_short' => 'Vêre {{PLURAL:$1|un changement suprimâ|$1 changements suprimâs}}',
 'protect' => 'Protègiér',
 'protect_change' => 'changiér',
 'protectthispage' => 'Protègiér ceta pâge',
@@ -527,7 +527,7 @@ $messages = array(
 'redirectedfrom' => '(Redirigiêe dês $1)',
 'redirectpagesub' => 'Pâge de redirèccion',
 'lastmodifiedat' => 'Dèrriér changement de ceta pâge lo $1 a $2.',
-'viewcount' => 'Ceta pâge est étâye vua {{PLURAL:$1|yon côp|$1 côps}}.',
+'viewcount' => 'Ceta pâge est étâye vua {{PLURAL:$1|un côp|$1 côps}}.',
 'protectedpage' => 'Pâge protègiêe',
 'jumpto' => 'Alar a :',
 'jumptonavigation' => 'navigacion',
@@ -592,7 +592,7 @@ Vêde la [[Special:Version|pâge de les vèrsions]].',
 'collapsible-expand' => 'dèpleyér',
 'thisisdeleted' => 'Voléd-vos vêre ou ben refâre $1 ?',
 'viewdeleted' => 'Vêre $1 ?',
-'restorelink' => '{{PLURAL:$1|yon changement suprimâ|$1 changements suprimâs}}',
+'restorelink' => '{{PLURAL:$1|un changement suprimâ|$1 changements suprimâs}}',
 'feedlinks' => 'Flux :',
 'feed-invalid' => 'Tipo d’abonement du flux pas justo.',
 'feed-unavailable' => 'Los flux de sindicacion sont pas disponiblos',
@@ -648,7 +648,7 @@ La bâsa de donâs at retornâ la fôta « $3 : $4 ».',
 L’administrator que l’at vèrrolyê at balyê cet’èxplicacion : $1',
 'missing-article' => 'La bâsa de donâs at pas trovâ lo tèxto d’una pâge qu’el arêt diu trovar, apelâye « $1 » $2.
 
-En g·ènèral cen arreve en siuvent un lim d’una dif ou ben d’un historico dèpassâ(ye) de vers na pâge qu’est étâye suprimâye.
+En g·ènèral cen arreve en siuvent un lim d’una dif d’un historico dèpassâ(ye) de vers na pâge qu’est étâye suprimâye.
 
 S’o est pas lo câs, pôt étre quèstion d’una cofierie dedens la programeria.
 La volyéd signalar a un [[Special:ListUsers/sysop|administrator]] sen oubliar de lui endicar l’URL du lim.',
@@ -668,16 +668,16 @@ La volyéd signalar a un [[Special:ListUsers/sysop|administrator]] sen oubliar d
 'unexpected' => 'Valor emprèvua : « $1 » = « $2 ».',
 'formerror' => 'Fôta : empossiblo de sometre lo formulèro.',
 'badarticleerror' => 'Cel’accion pôt pas étre fêta sur ceta pâge.',
-'cannotdelete' => 'Empossiblo de suprimar la pâge ou ben lo fichiér « $1 ».
-Pôt-étre la suprèssion est ja étâye fêta per quârqu’un d’ôtro.',
+'cannotdelete' => 'Empossiblo de suprimar la pâge lo fichiér « $1 ».
+Pôt-étre la suprèssion est ja étâye fêta per un ôtro.',
 'cannotdelete-title' => 'Empossiblo de suprimar la pâge « $1 »',
 'delete-hook-aborted' => 'Suprèssion anulâye per un grèfon.
 Nion’èxplicacion est étâye balyêe.',
 'badtitle' => 'Crouyo titro',
 'badtitletext' => 'Lo titro de la pâge demandâye est pas justo, vouedo ou ben o est un titro entèrlengoua ou entèrvouiqui mâl-liyê.
 Contint sûrament yon ou ben un mouél de caractèros que pôvont pas étre empleyês dedens los titros.',
-'perfcached' => 'Cetes donâs sont en cacho et pôvont pas étre a jorn. Por lo més {{PLURAL:$1|yon rèsultat est disponiblo|$1 rèsultats sont disponiblos}} dedens lo cacho.',
-'perfcachedts' => 'Cetes donâs sont en cacho et sont étâyes betâyes a jorn por lo dèrriér côp a $1. Por lo més {{PLURAL:$1|yon rèsultat est disponiblo|$1 rèsultats sont disponiblos}} dedens lo cacho.',
+'perfcached' => 'Cetes donâs sont en cacho et pôvont pas étre a jorn. Por lo més {{PLURAL:$1|un rèsultat est disponiblo|$1 rèsultats sont disponiblos}} dedens lo cacho.',
+'perfcachedts' => 'Cetes donâs sont en cacho et sont étâyes betâyes a jorn por lo dèrriér côp a $1. Por lo més {{PLURAL:$1|un rèsultat est disponiblo|$1 rèsultats sont disponiblos}} dedens lo cacho.',
 'querypage-no-updates' => 'Ora les mises a jorn por ceta pâge sont dèsactivâyes.
 Les donâs ique seront pas betâyes a jorn.',
 'wrong_wfQuery_params' => 'Paramètros fôx dessus wfQuery()<br />
@@ -697,11 +697,11 @@ Por apondre ou ben changiér des traduccions sur tôs los vouiquis, volyéd empl
 Los changements sè cognetront sur l’aparence de l’entèrface utilisator por los ôtros utilisators de ceti vouiqui.
 Por apondre ou ben changiér des traduccions sur tôs los vouiquis, volyéd empleyér [//translatewiki.net/ translatewiki.net], lo projèt de localisacion de MediaWiki.",
 'sqlhidden' => '(Demanda SQL cachiêe)',
-'cascadeprotected' => 'Cela pâge-que est protègiêe perce qu’el est entrebetâye dedens {{PLURAL:$1|ceta pâge, qu’est étâye protègiêe|cetes pâges, que sont étâyes protègiêes}} avouéc lo chouèx « protèccion en cascâda » activâ :
+'cascadeprotected' => 'Cela pâge-que est protègiêe, el est entrebetâye dedens {{PLURAL:$1|ceta pâge qu’est étâye protègiêe|cetes pâges que sont étâyes protègiêes}} avouéc lo chouèx « protèccion en cascâda » activâ :
 $2',
 'namespaceprotected' => "Vos avéd pas la pèrmission de changiér les pâges de l’èspâço de noms « '''$1''' ».",
-'customcssprotected' => 'Vos avéd pas la pèrmission de changiér cela pâge CSS perce que contint la configuracion a sè d’un ôtr’utilisator.',
-'customjsprotected' => 'Vos avéd pas la pèrmission de changiér cela pâge JavaScript perce que contint la configuracion a sè d’un ôtr’utilisator.',
+'customcssprotected' => 'Vos avéd pas la pèrmission de changiér cela pâge CSS, contint la configuracion a sè d’un ôtr’utilisator.',
+'customjsprotected' => 'Vos avéd pas la pèrmission de changiér cela pâge JavaScript, contint la configuracion a sè d’un ôtr’utilisator.',
 'ns-specialprotected' => 'Les pâges spèciâles pôvont pas étre changiêes.',
 'titleprotected' => "Cél titro est étâ protègiê a la crèacion per [[User:$1|$1]].
 La rêson balyêe est « ''$2'' ».",
@@ -711,7 +711,7 @@ L’administrator que l’at vèrrolyê at balyê cet’èxplicacion : « $3 ».
 'invalidtitle-knownnamespace' => 'Titro pas justo avouéc l’èspâço de noms « $2 » et lo tèxto « $3 »',
 'invalidtitle-unknownnamespace' => 'Titro pas justo avouéc lo numerô d’èspâço de noms encognu $1 et lo tèxto « $2 »',
 'exception-nologin' => 'Pas branchiê',
-'exception-nologin-text' => 'Cela pâge ou ben cel’accion at fôta d’étre branchiê sur ceti vouiqui.',
+'exception-nologin-text' => 'Cela pâge cel’accion at fôta d’étre branchiê sur ceti vouiqui.',
 
 # Virus scanner
 'virus-badscanner' => "Crouye configuracion : scanor de virus encognu : ''$1''",
@@ -760,7 +760,7 @@ Nen volyéd chouèsir un ôtro.',
 Los volyéd activar et pués vos tornar branchiér avouéc lo mémo nom et lo mémo contresegno.",
 'nocookieslogin' => "{{SITENAME}} emplèye des tèmouens (''cookies'') por lo branchement mas vos los éd dèsactivâs.
 Los volyéd activar et pués tornar èprovar.",
-'nocookiesfornew' => "Lo compto utilisator est pas étâ fêt, perce que nos ens pas possu confirmar la sina sôrsa.
+'nocookiesfornew' => "Lo compto utilisator est pas étâ fêt, nos ens pas possu confirmar la sina sôrsa.
 Controlâd que vos éd activâ los tèmouens (''cookies''), rechargiéd la pâge et pués tornâd èprovar.",
 'noname' => 'Vos éd pas spècifiâ un nom d’utilisator justo.',
 'loginsuccesstitle' => 'Branchement reussi',
@@ -768,7 +768,7 @@ Controlâd que vos éd activâ los tèmouens (''cookies''), rechargiéd la pâge
 'nosuchuser' => 'L’utilisator « $1 » ègziste pas.
 Los noms d’utilisator sont sensiblos a la câssa.
 Controlâd l’ortografia ou ben [[Special:UserLogin/signup|féte un compto novél]].',
-'nosuchusershort' => 'Y at gins d’utilisator avouéc lo nom « $1 ».
+'nosuchusershort' => 'Y at pas un utilisator avouéc lo nom « $1 ».
 Volyéd controlar l’ortografia.',
 'nouserspecified' => 'Vos dête spècifiar un nom d’utilisator.',
 'login-userblocked' => 'Cet’utilisator est blocâ. Branchement pas ôtorisâ.',
@@ -781,11 +781,11 @@ Volyéd tornar èprovar.',
 'password-login-forbidden' => 'L’usâjo de cél nom d’utilisator et de cél contresegno est étâ dèfendu.',
 'mailmypassword' => 'Recêvre un contresegno novél per mèssageria èlèctronica',
 'passwordremindertitle' => 'Contresegno temporèro novél por {{SITENAME}}',
-'passwordremindertext' => 'Quârqu’un (probâblament vos, dês l’adrèce IP $1) at demandâ un contresegno
+'passwordremindertext' => 'Yon (probâblament vos, dês l’adrèce IP $1) at demandâ un contresegno
 novél por {{SITENAME}} ($4). Un contresegno temporèro est étâ fêt por
 l’utilisator « $2 » et est « $3 ». S’o ére voutra entencion, vos vos devréd
 branchiér et pués chouèsir un contresegno novél.
-Voutron contresegno temporèro èxpirerat dens {{PLURAL:$5|yon jorn|$5 jorns}}.
+Voutron contresegno temporèro èxpirerat dens {{PLURAL:$5|un jorn|$5 jorns}}.
 
 Se cela demanda vint pas de vos ou ben que vos vos éte rapelâ
 de voutron contresegno et que vos souhètâd pas més lo changiér, vos
@@ -798,23 +798,23 @@ Vos volyéd tornar branchiér aprés l’avêr reçu.',
 'eauthentsent' => 'Un mèssâjo de confirmacion est étâ mandâ a l’adrèce èlèctronica endicâye.
 Devant qu’un ôtro mèssâjo seye mandâ a ceti compto, vos devréd siuvre les enstruccions du mèssâjo et pués confirmar que lo compto est franc lo voutro.',
 'throttled-mailpassword' => 'Un mèssâjo de sovegnence de voutron contresegno est ja étâ mandâ pendent {{PLURAL:$1|l’hora passâye|les $1 hores passâyes}}.
-Por èvitar los abus, ren que yon mèssâjo de sovegnence serat mandâ per {{PLURAL:$1|hora|entèrvalo de $1 hores}}.',
+Por èvitar los abus, ren que yon serat mandâ per {{PLURAL:$1|hora|entèrvalo de $1 hores}}.',
 'mailerror' => 'Fôta pendent l’èxpèdicion du mèssâjo : $1',
-'acct_creation_throttle_hit' => 'Quârqu’un qu’emplèye voutron adrèce IP at fêt {{PLURAL:$1|yon compto|$1 comptos}} pendent les 24 hores passâyes, cen qu’est la limita ôtorisâye dens ceti temps.
+'acct_creation_throttle_hit' => 'Yon qu’emplèye voutron adrèce IP at fêt {{PLURAL:$1|un compto|$1 comptos}} pendent les 24 hores passâyes, cen qu’est la limita ôtorisâye dens ceti temps.
 Du côp la crèacion de compto est étâye dèsactivâye temporèrament por cel’adrèce IP.',
 'emailauthenticated' => 'Voutron adrèce èlèctronica est étâye ôtentifiâye lo $2 a $3.',
 'emailnotauthenticated' => 'Voutron adrèce èlèctronica est p’oncor ôtentifiâye.
 Nion mèssâjo serat mandâ por châcuna de cetes fonccionalitâts.',
 'noemailprefs' => 'Spècifiâd n’adrèce èlèctronica dens voutres prèferences por empleyér cetes fonccionalitâts.',
 'emailconfirmlink' => 'Confirmâd voutron adrèce èlèctronica',
-'invalidemailaddress' => 'Cet’adrèce èlèctronica pôt pas étre accèptâye perce que semble avêr un format pas justo.
+'invalidemailaddress' => 'Cet’adrèce èlèctronica pôt pas étre accèptâye, semble avêr un format pas justo.
 Volyéd buchiér n’adrèce bien formatâye ou ben lèssiér cél champ vouedo.',
 'cannotchangeemail' => 'Les adrèces èlèctroniques des comptos pôvont pas étre changiêes sur ceti vouiqui.',
 'emaildisabled' => 'Ceti seto pôt pas mandar des mèssâjos.',
 'accountcreated' => 'Compto fêt',
 'accountcreatedtext' => 'Lo compto utilisator por $1 est étâ fêt.',
 'createaccount-title' => 'Crèacion d’un compto por {{SITENAME}}',
-'createaccount-text' => 'Quârqu’un at fêt un compto por voutron adrèce èlèctronica dessus {{SITENAME}} ($4) apelâ « $2 », avouéc lo contresegno « $3 ».
+'createaccount-text' => 'Yon at fêt un compto por voutron adrèce èlèctronica dessus {{SITENAME}} ($4) apelâ « $2 », avouéc lo contresegno « $3 ».
 Vos vos devriâd branchiér et pués changiér dês ora voutron contresegno.
 
 Ignorâd ceti mèssâjo se cél compto est étâ fêt per fôta.',
@@ -823,7 +823,7 @@ Ignorâd ceti mèssâjo se cél compto est étâ fêt per fôta.',
 Volyéd atendre devant que tornar èprovar.',
 'login-abort-generic' => 'Voutra tentativa de branchement at pas reussi - Anulâye',
 'loginlanguagelabel' => 'Lengoua : $1',
-'suspicious-userlogout' => 'Voutra demanda de dèbranchement est étâye refusâye perce que semble qu’el est étâye mandâye per un navigator câsso ou ben la misa en cacho d’un proxi.',
+'suspicious-userlogout' => 'Voutra demanda de dèbranchement est étâye refusâye, semble qu’el est étâye mandâye per un navigator câsso ou ben la misa en cacho d’un proxi.',
 
 # E-mail sending
 'php-mail-error-unknown' => 'Fôta encognua dens la fonccion mail() de PHP.',
@@ -862,13 +862,13 @@ Pôt-étre vos éd ja changiê voutron contresegno avouéc reusséta ou ben dema
 'passwordreset-capture-help' => 'Se vos pouentâd cela câsa, lo mèssâjo (avouéc lo contresegno temporèro) vos serat montrâ quand serat mandâ a l’utilisator.',
 'passwordreset-email' => 'Adrèce èlèctronica :',
 'passwordreset-emailtitle' => 'Dètalys du compto dessus {{SITENAME}}',
-'passwordreset-emailtext-ip' => 'Quârqu’un (probâblament vos, dês l’adrèce IP $1) at demandâ na sovegnence des dètalys
+'passwordreset-emailtext-ip' => 'Yon (probâblament vos, dês l’adrèce IP $1) at demandâ na sovegnence des dètalys
 de voutron compto por {{SITENAME}} ($4). {{PLURAL:$3|Ceti compto utilisator est associyê|Cetos comptos utilisators sont associyês}}
 a cel’adrèce èlèctronica :
 
 $2
 
-{{PLURAL:$3|Cél contresegno temporèro èxpirerat|Celos contresegnos temporèros èxpireront}} dens {{PLURAL:$5|yon jorn|$5 jorns}}.
+{{PLURAL:$3|Cél contresegno temporèro èxpirerat|Celos contresegnos temporèros èxpireront}} dens {{PLURAL:$5|un jorn|$5 jorns}}.
 Ora vos vos dête branchiér et pués chouèsir un contresegno novél. Se cela demanda vint pas de vos
 ou ben que vos vos éte rapelâ de voutron contresegno originâl et que vos souhètâd pas més lo changiér,
 vos pouede ignorar ceti mèssâjo et continuar a empleyér voutron viely contresegno.',
@@ -878,7 +878,7 @@ a cel’adrèce èlèctronica :
 
 $2
 
-{{PLURAL:$3|Cél contresegno temporèro èxpirerat|Celos contresegnos temporèros èxpireront}} dens {{PLURAL:$5|yon jorn|$5 jorns}}.
+{{PLURAL:$3|Cél contresegno temporèro èxpirerat|Celos contresegnos temporèros èxpireront}} dens {{PLURAL:$5|un jorn|$5 jorns}}.
 Ora vos vos dête branchiér et pués chouèsir un contresegno novél. Se cela demanda vint pas de vos
 ou ben que vos vos éte rapelâ de voutron contresegno originâl et que vos souhètâd pas més lo changiér,
 vos pouede ignorar ceti mèssâjo et continuar a empleyér voutron viely contresegno.',
@@ -895,7 +895,7 @@ Contresegno temporèro : $2',
 'changeemail-no-info' => 'Vos dête étre branchiê por arrevar tot drêt a cela pâge.',
 'changeemail-oldemail' => 'Adrèce èlèctronica d’ora :',
 'changeemail-newemail' => 'Novèl’adrèce èlèctronica :',
-'changeemail-none' => '(niona)',
+'changeemail-none' => '(pas yona)',
 'changeemail-password' => 'Voutron contresegno dessus {{SITENAME}} :',
 'changeemail-submit' => 'Changiér l’adrèce èlèctronica',
 'changeemail-cancel' => 'Anular',
@@ -941,7 +941,7 @@ Se vos tornâd clicar sur lo boton « {{int:savearticle}} », voutron changement
 'summary-preview' => 'Apèrçu du rèsumâ :',
 'subject-preview' => 'Apèrçu de la chousa / du titro :',
 'blockedtitle' => 'L’utilisator est blocâ',
-'blockedtext' => "'''Voutron nom d’utilisator ou ben voutron adrèce IP est étâ(ye) blocâ(ye).'''
+'blockedtext' => "'''Voutron nom d’utilisator voutron adrèce IP est étâ(ye) blocâ(ye).'''
 
 Lo blocâjo est étâ fêt per $1.
 La rêson balyêe est ''$2''.
@@ -954,7 +954,7 @@ Vos vos pouede veriér vers $1 ou ben un ôtr’[[{{MediaWiki:Grouppage-sysop}}|
 Vos pouede pas empleyér la fonccionalitât « Lui mandar un mèssâjo » a muens qu’un’adrèce èlèctronica justa est spècifiâye dens voutres [[Special:Preferences|prèferences]] et que vos éte pas étâ blocâ de l’empleyér.
 Voutron adrèce IP d’ora est $3, et l’identifient de blocâjo est $5.
 Volyéd entrebetar tôs los dètalys ce-dessus dedens na sé-quinta demanda que vos faréd.",
-'autoblockedtext' => "Voutron adrèce IP est étâye blocâye ôtomaticament perce qu’el est étâye empleyêe per un ôtr’utilisator, lui-mémo blocâ per $1.
+'autoblockedtext' => "Voutron adrèce IP est étâye blocâye ôtomaticamentel est étâye empleyêe per un ôtr’utilisator, lui-mémo blocâ per $1.
 La rêson balyêe est :
 
 :''$2''
@@ -1038,7 +1038,7 @@ Se cen tôrne pas reussir, vos volyéd [[Special:UserLogout|dèbranchiér]] et p
 
 '''Se la tentativa de changement ére lèg·itima, volyéd tornar èprovar.'''
 Se cen tôrne pas reussir, vos volyéd [[Special:UserLogout|dèbranchiér]] et pués vos tornar branchiér.",
-'token_suffix_mismatch' => "'''Voutron changement est pas étâ accèptâ perce que voutron cliant at mècllâ los caractèros de ponctuacion dedens lo jeton de changement.'''
+'token_suffix_mismatch' => "'''Voutron changement est pas étâ accèptâ, voutron cliant at mècllâ los caractèros de ponctuacion dedens lo jeton de changement.'''
 Lo changement est étâ refusâ por empachiér la corrupcion du tèxto de la pâge.
 Des côps ceti problèmo arreve quand vos empleyéd un sèrviço de proxi Vouèbe anonimo qu’est pas de sûr.",
 'edit_form_incomplete' => "'''Quârques parties du formulèro de changement ont pas avengiê lo sèrvior ; controlâd que voutros changements sont entiérs et pués tornâd èprovar.'''",
@@ -1047,7 +1047,7 @@ Des côps ceti problèmo arreve quand vos empleyéd un sèrviço de proxi Vouèb
 'editingsection' => 'Changement de $1 (sèccion)',
 'editingcomment' => 'Changement de $1 (novèla sèccion)',
 'editconflict' => 'Conflit de changement : $1',
-'explainconflict' => "Quârqu’un d’ôtro at changiê ceta pâge aprés que vos vos seyâd betâ a la changiér.
+'explainconflict' => "Un ôtro at changiê ceta pâge aprés que vos vos seyâd betâ a la changiér.
 La zona de changement de d’amont contint lo tèxto de la pâge coment ègziste orendrêt.
 Voutros changements aparèssont dedens la zona de changement de desot.
 Vos voléd devêr fusionar voutros changements dedens lo tèxto ègzistent.
@@ -1067,10 +1067,10 @@ Vos nos assurâd asse-ben que vos éd cen ècrit vos-mémo ou ben que vos l’é
 Se vos voléd pas que voutros ècrits seyont changiês sen pouent de rèstriccion, adonc los volyéd pas sometre ique.<br />
 Vos nos assurâd asse-ben que vos éd cen ècrit vos-mémo ou ben que vos l’éd copiyê d’una sôrsa que vint du domêno publico ou ben d’un’ôtra ressôrsa libra (vêde $1 por més de dètalys).
 '''Empleyéd gins d’ôvra desot drêt d’ôtor sen pèrmission èxprèssa !'''",
-'longpageerror' => "'''Fôta : lo tèxto que vos éd somês fât {{PLURAL:$1|yon Kio|$1 Kio}}, cen que dèpâsse la limita fixâye a {{PLURAL:$2|yon Kio|$2 Kio}}.'''
+'longpageerror' => "'''Fôta : lo tèxto que vos éd somês fât {{PLURAL:$1|un Kio|$1 Kio}}, cen que dèpâsse la limita fixâye a {{PLURAL:$2|un Kio|$2 Kio}}.'''
 Pôt pas étre encartâ.",
 'readonlywarning' => "'''Atencion : la bâsa de donâs est étâye vèrrolyêe por mantegnence, vos porréd vêr pas encartar voutros changements d’abôrd.'''
-Vos pouede copiyér lo tèxto dedens un fichiér tèxto et pués l’encartar por ples târd.
+Vos pouede copiyér et côlar voutron tèxto dedens un fichiér tèxto et pués l’encartar por ples târd.
 
 L’administrator qu’at vèrrolyê la bâsa de donâs at balyê cet’èxplicacion : $1",
 'protectedpagewarning' => "'''Atencion : ceta pâge est étâye protègiêe de façon que solament los utilisators qu’ont lo statut d’administrator la pouessont changiér.'''
@@ -1107,7 +1107,7 @@ Nion’èxplicacion est étâye balyêe.',
 'edit-gone-missing' => 'Empossiblo de betar a jorn la pâge.
 Semble que seye étâye suprimâye.',
 'edit-conflict' => 'Conflit de changement.',
-'edit-no-change' => 'Voutron changement est étâ ignorâ perce que nion changement est étâ fêt u tèxto.',
+'edit-no-change' => 'Voutron changement est étâ ignorâ, nion changement est étâ fêt u tèxto.',
 'edit-already-exists' => 'Empossiblo de fâre na pâge novèla.
 Ègziste ja.',
 'defaultmessagetext' => 'Mèssâjo per dèfôt',
@@ -1129,7 +1129,7 @@ Y devrêt avêr muens de $2 apèl{{PLURAL:$2||s}}, pendent qu’y en at ora $1."
 'post-expand-template-inclusion-warning' => "'''Atencion :''' la talye des modèlos entrebetâs est trop grôssa.
 Quârques modèlos seront pas entrebetâs.",
 'post-expand-template-inclusion-category' => 'Pâges yô que la talye des modèlos entrebetâs est dèpassâye',
-'post-expand-template-argument-warning' => "'''Atencion :''' cela pâge contint u muens yon argument de modèlo qu’at na talye d’èxpension trop grôssa.
+'post-expand-template-argument-warning' => "'''Atencion :''' cela pâge contint u muens un argument de modèlo qu’at na talye d’èxpension trop grôssa.
 Celos arguments sont pas étâs betâs.",
 'post-expand-template-argument-category' => 'Pâges que contegnont des arguments de modèlo pas betâs',
 'parser-template-loop-warning' => 'Modèlo en boclla dècelâ : [[$1]]',
@@ -1207,7 +1207,7 @@ Vos la pouede vêre ; y pôt avêr més de dètalys dedens lo [{{fullurl:{{#Spec
 Vos la pouede vêre ; y pôt avêr més de dètalys dedens lo [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} jornal de les rèprèssions].",
 'rev-deleted-no-diff' => "Vos pouede pas vêre ceta dif perce que yona de les vèrsions est étâye '''suprimâye'''.
 Y pôt avêr més de dètalys dedens lo [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jornal de les suprèssions].",
-'rev-suppressed-no-diff' => "Vos pouede pas vêre ceta dif perce que yona de les vèrsions est étâye '''suprimâye'''.",
+'rev-suppressed-no-diff' => "Vos pouede pas vêre ceta dif, yona de les vèrsions est étâye '''suprimâye'''.",
 'rev-deleted-unhide-diff' => "Yona de les vèrsions de ceta dif est étâye '''suprimâye'''.
 Y pôt avêr més de dètalys dedens lo [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jornal de les suprèssions].
 Vos pouede adés [$1 vêre cela dif] se vos o voléd.",
@@ -1222,7 +1222,7 @@ Vos pouede vêre ceta dif ; y pôt avêr més de dètalys dedens lo [{{fullurl:{
 'rev-showdeleted' => 'montrar',
 'revisiondelete' => 'Suprimar / refâre des vèrsions',
 'revdelete-nooldid-title' => 'Vèrsion ciba pas justa',
-'revdelete-nooldid-text' => 'Vos éd pas spècifiâ na vèrsion ciba (ou ben des vèrsions cibes) por fâre cela
+'revdelete-nooldid-text' => 'Vos éd pas spècifiâ na vèrsion ciba (des vèrsions cibes) por fâre cela
 fonccion, la vèrsion spècifiâye ègziste pas ou ben vos tâchiéd de cachiér la vèrsion d’ora.',
 'revdelete-nologtype-title' => 'Nion tipo de jornal balyê',
 'revdelete-nologtype-text' => 'Vos éd pas spècifiâ un tipo de jornal por fâre cel’accion.',
@@ -1273,7 +1273,7 @@ Vos y avéd pas accès.',
 Vos y avéd pas accès.',
 'revdelete-modify-missing' => 'Fôta en changient la piéce avouéc l’identifient $1 : el est manquenta dedens la bâsa de donâs !',
 'revdelete-no-change' => "'''Atencion :''' la piéce datâye du $1 a $2 at ja la configuracion de visibilitât demandâye.",
-'revdelete-concurrent-change' => 'Fôta en changient la piéce datâye du $1 a $2 : lo sin statut semble étre étâ changiê per quârqu’un d’ôtro justo que vos tâchiêvâd d’o changiér.
+'revdelete-concurrent-change' => 'Fôta en changient la piéce datâye du $1 a $2 : lo sin statut semble étre étâ changiê per un ôtro justo que vos tâchiêvâd d’o changiér.
 Volyéd controlar los jornals.',
 'revdelete-only-restricted' => 'Fôta en cachient la piéce datâye du $1 a $2 : vos pouede pas rèprimar celes piéces de la vua ux administrators sen chouèsir avouéc des ôtros chouèx de visibilitât.',
 'revdelete-reason-dropdown' => '*Rêsons corentes de suprèssion
@@ -1331,9 +1331,9 @@ Notâd que l’usâjo des lims de navigacion remetrat a zérô cela colona.',
 'compareselectedversions' => 'Comparar les vèrsions chouèsies',
 'showhideselectedversions' => 'Montrar / cachiér les vèrsions chouèsies',
 'editundo' => 'dèfâre',
-'diff-multi' => '({{PLURAL:$1|Yona vèrsion entèrmèdièra|$1 vèrsions entèrmèdières}} per {{PLURAL:$2|yon utilisator|$2 utilisators}} {{PLURAL:$1|est pas montrâye|sont pas montrâyes}})',
-'diff-multi-manyusers' => '({{PLURAL:$1|Yona vèrsion entèrmèdièra|$1 vèrsions entèrmèdières}} per més de $2 utilisator{{PLURAL:$2||s}} {{PLURAL:$1|est pas montrâye|sont pas montrâyes}})',
-'difference-missing-revision' => '{{PLURAL:$2|Yona vèrsion|$2 vèrsions}} de cela difèrence ($1) {{PLURAL:$2|est pas étâye trovâye|sont pas étâyes trovâyes}}.
+'diff-multi' => '({{PLURAL:$1|Na vèrsion entèrmèdièra|$1 vèrsions entèrmèdières}} per {{PLURAL:$2|un utilisator|$2 utilisators}} {{PLURAL:$1|est pas montrâye|sont pas montrâyes}})',
+'diff-multi-manyusers' => '({{PLURAL:$1|Na vèrsion entèrmèdièra|$1 vèrsions entèrmèdières}} per més de $2 utilisator{{PLURAL:$2||s}} {{PLURAL:$1|est pas montrâye|sont pas montrâyes}})',
+'difference-missing-revision' => '{{PLURAL:$2|Na vèrsion|$2 vèrsions}} de cela difèrence ($1) {{PLURAL:$2|est pas étâye trovâye|sont pas étâyes trovâyes}}.
 
 En g·ènèral cen arreve en siuvent un lim d’una dif dèpassâye de vers na pâge qu’est étâye suprimâye.
 Vos pouede trovar més de dètalys dedens lo [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jornal de les suprèssions].',
@@ -1405,7 +1405,7 @@ Notâd que lor endèxacion du contegnu de {{SITENAME}} pôt pas étre a jorn.',
 
 # Quickbar
 'qbsettings' => 'Bârra rapida',
-'qbsettings-none' => 'Niona',
+'qbsettings-none' => 'Pas yona',
 'qbsettings-fixedleft' => 'Fixa a gôche',
 'qbsettings-fixedright' => 'Fixa a drêta',
 'qbsettings-floatingleft' => 'Fllotenta a gôche',
@@ -1497,7 +1497,7 @@ Cen pôt pas étre dèfêt.',
 'yourrealname' => 'Veré nom :',
 'yourlanguage' => 'Lengoua :',
 'yourvariant' => 'Varianta de la lengoua du contegnu :',
-'prefs-help-variant' => 'Voutra varianta ou ben ortografia prèferâye por fâre vêre les pâges de contegnu de ceti vouiqui.',
+'prefs-help-variant' => 'Voutra varianta voutron ortografia prèferâye por fâre vêre les pâges de contegnu de ceti vouiqui.',
 'yournick' => 'Signatura novèla :',
 'prefs-help-signature' => 'Los comentèros sur les pâges de discussion dêvont étre signês avouéc « <nowiki>~~~~</nowiki> » que serat convèrti per voutra signatura avouéc la dâta et hora.',
 'badsig' => 'Signatura bruta pas justa.
index 64c800e..778b3f6 100644 (file)
@@ -20,7 +20,7 @@ $namespaceNames = array(
        NS_TALK             => '談詑',
        NS_USER             => '用戶',
        NS_USER_TALK        => '用戶・談詑',
-       NS_PROJECT_TALK     => '$1_談詑',
+       NS_PROJECT_TALK     => '$1談詑',
        NS_FILE             => '文檔',
        NS_FILE_TALK        => '文檔・談詑',
        NS_MEDIAWIKI_TALK   => 'MediaWiki・談詑',
@@ -32,6 +32,10 @@ $namespaceNames = array(
        NS_CATEGORY_TALK    => '分類・談詑',
 );
 
+$namespaceAliases = array(
+       '$1_談詑' => NS_PROJECT_TALK,
+);
+
 $messages = array(
 # Variants for Gan language
 'variantname-gan-hans' => '简体',
index 7dc9d67..d535b48 100644 (file)
@@ -1282,7 +1282,7 @@ Seo roghainnean làithreach na duilleige '''$1''':",
 
 # Namespace form on various pages
 'namespace' => 'Namespace:',
-'invert' => 'Cuir na tagh mi bun os cionn',
+'invert' => 'Cuir na thagh mi bun os cionn',
 'blanknamespace' => '(Prìomh)',
 
 # Contributions
index 627c485..cee2df7 100644 (file)
@@ -178,6 +178,7 @@ $magicWords = array(
        'currentday2'               => array( '1', 'DÍAACTUAL2', 'DIAATUAL2', 'CURRENTDAY2' ),
        'currentdayname'            => array( '1', 'NOMEDODÍAACTUAL', 'NOMEDODIAATUAL', 'CURRENTDAYNAME' ),
        'currentyear'               => array( '1', 'ANOACTUAL', 'ANOATUAL', 'CURRENTYEAR' ),
+       'currenttime'               => array( '1', 'DATAEHORAACTUAIS', 'HORARIOATUAL', 'CURRENTTIME' ),
        'currenthour'               => array( '1', 'HORAACTUAL', 'HORAATUAL', 'CURRENTHOUR' ),
        'localmonth'                => array( '1', 'MESLOCAL', 'LOCALMONTH', 'LOCALMONTH2' ),
        'localmonth1'               => array( '1', 'MESLOCAL1', 'LOCALMONTH1' ),
@@ -187,26 +188,46 @@ $magicWords = array(
        'localday2'                 => array( '1', 'DÍALOCAL2', 'DIALOCAL2', 'LOCALDAY2' ),
        'localdayname'              => array( '1', 'NOMEDODÍALOCAL', 'NOMEDODIALOCAL', 'LOCALDAYNAME' ),
        'localyear'                 => array( '1', 'ANOLOCAL', 'LOCALYEAR' ),
+       'localtime'                 => array( '1', 'DATAEHORALOCAIS', 'HORARIOLOCAL', 'LOCALTIME' ),
        'localhour'                 => array( '1', 'HORALOCAL', 'LOCALHOUR' ),
        'numberofpages'             => array( '1', 'NÚMERODEPÁXINAS', 'NUMERODEPAGINAS', 'NÚMERODEPÁGINAS', 'NUMBEROFPAGES' ),
        'numberofarticles'          => array( '1', 'NÚMERODEARTIGOS', 'NUMERODEARTIGOS', 'NUMBEROFARTICLES' ),
        'numberoffiles'             => array( '1', 'NÚMERODEFICHEIROS', 'NUMERODEARQUIVOS', 'NÚMERODEARQUIVOS', 'NUMBEROFFILES' ),
        'numberofusers'             => array( '1', 'NÚMERODEUSUARIOS', 'NUMERODEUSUARIOS', 'NÚMERODEUSUÁRIOS', 'NUMBEROFUSERS' ),
+       'numberofactiveusers'       => array( '1', 'NÚMERODEUSUARIOSACTIVOS', 'NUMERODEUSUARIOSATIVOS', 'NÚMERODEUSUÁRIOSATIVOS', 'NUMBEROFACTIVEUSERS' ),
        'numberofedits'             => array( '1', 'NÚMERODEEDICIÓNS', 'NUMERODEEDICOES', 'NÚMERODEEDIÇÕES', 'NUMBEROFEDITS' ),
+       'numberofviews'             => array( '1', 'NÚMERODEVISITAS', 'NUMERODEEXIBICOES', 'NÚMERODEEXIBIÇÕES', 'NUMBEROFVIEWS' ),
        'pagename'                  => array( '1', 'NOMEDAPÁXINA', 'NOMEDAPAGINA', 'NOMEDAPÁGINA', 'PAGENAME' ),
        'namespace'                 => array( '1', 'ESPAZODENOMES', 'DOMINIO', 'DOMÍNIO', 'ESPACONOMINAL', 'ESPAÇONOMINAL', 'NAMESPACE' ),
        'fullpagename'              => array( '1', 'NOMECOMPLETODAPÁXINA', 'NOMECOMPLETODAPAGINA', 'NOMECOMPLETODAPÁGINA', 'FULLPAGENAME' ),
        'subpagename'               => array( '1', 'NOMEDASUBPÁXINA', 'NOMEDASUBPAGINA', 'NOMEDASUBPÁGINA', 'SUBPAGENAME' ),
        'basepagename'              => array( '1', 'NOMEDAPÁXINABASE', 'NOMEDAPAGINABASE', 'NOMEDAPÁGINABASE', 'BASEPAGENAME' ),
        'talkpagename'              => array( '1', 'NOMEDAPÁXINADECONVERSA', 'NOMEDAPAGINADEDISCUSSAO', 'NOMEDAPÁGINADEDISCUSSÃO', 'TALKPAGENAME' ),
-       'img_manualthumb'           => array( '1', 'miniatura=$1', 'miniaturadaimagem=$1', 'thumbnail=$1', 'thumb=$1' ),
+       'img_thumbnail'             => array( '1', 'miniatura', 'miniaturadaimaxe', 'miniaturadaimagem', 'thumbnail', 'thumb' ),
+       'img_manualthumb'           => array( '1', 'miniatura=$1', 'miniaturadaimaxe=$1', 'miniaturadaimagem=$1', 'thumbnail=$1', 'thumb=$1' ),
        'img_right'                 => array( '1', 'dereita', 'direita', 'right' ),
        'img_left'                  => array( '1', 'esquerda', 'left' ),
        'img_none'                  => array( '1', 'ningún', 'nenhum', 'none' ),
        'img_center'                => array( '1', 'centro', 'center', 'centre' ),
+       'img_framed'                => array( '1', 'conmarco', 'conbordo', 'marco', 'commoldura', 'comborda', 'framed', 'enframed', 'frame' ),
+       'img_frameless'             => array( '1', 'senmarco', 'senbordo', 'semmoldura', 'semborda', 'frameless' ),
        'img_page'                  => array( '1', 'páxina=$1', 'páxina $1', 'página=$1', 'página $1', 'page=$1', 'page $1' ),
        'img_border'                => array( '1', 'bordo', 'borda', 'border' ),
+       'img_top'                   => array( '1', 'arriba', 'acima', 'top' ),
+       'img_text_top'              => array( '1', 'texto-arriba', 'text-top' ),
+       'img_middle'                => array( '1', 'medio', 'meio', 'middle' ),
+       'img_bottom'                => array( '1', 'abaixo', 'bottom' ),
+       'img_text_bottom'           => array( '1', 'texto-abaixo', 'text-bottom' ),
+       'img_link'                  => array( '1', 'ligazón=$1', 'ligação=$1', 'link=$1' ),
+       'img_class'                 => array( '1', 'clase=$1', 'class=$1' ),
+       'sitename'                  => array( '1', 'NOMEDOSITIO', 'NOMEDOSITE', 'NOMEDOSÍTIO', 'SITENAME' ),
+       'localurl'                  => array( '0', 'URLLOCAL', 'LOCALURL:' ),
+       'articlepath'               => array( '0', 'RUTADOARTIGO', 'ARTICLEPATH' ),
+       'pageid'                    => array( '0', 'IDDAPÁXINA', 'PAGEID' ),
+       'server'                    => array( '0', 'SERVIDOR', 'SERVER' ),
+       'servername'                => array( '0', 'NOMEDOSERVIDOR', 'SERVERNAME' ),
        'grammar'                   => array( '0', 'GRAMÁTICA:', 'GRAMMAR:' ),
+       'gender'                    => array( '0', 'SEXO:', 'GENERO', 'GÊNERO', 'GENDER:' ),
        'displaytitle'              => array( '1', 'AMOSAROTÍTULO', 'EXIBETITULO', 'EXIBETÍTULO', 'DISPLAYTITLE' ),
        'newsectionlink'            => array( '1', '__LIGAZÓNDANOVASECCIÓN__', '__LINKDENOVASECAO__', '__LINKDENOVASEÇÃO__', '__LIGACAODENOVASECAO__', '__LIGAÇÃODENOVASEÇÃO__', '__NEWSECTIONLINK__' ),
        'language'                  => array( '0', '#LINGUA:', '#IDIOMA:', '#LANGUAGE:' ),
@@ -217,6 +238,11 @@ $magicWords = array(
        'hiddencat'                 => array( '1', '__CATEGORÍAOCULTA__', '__CATEGORIAOCULTA__', '__CATOCULTA__', '__HIDDENCAT__' ),
        'pagesincategory'           => array( '1', 'PÁXINASNACATEGORÍA', 'PAGINASNACATEGORIA', 'PÁGINASNACATEGORIA', 'PAGINASNACAT', 'PÁGINASNACAT', 'PAGESINCATEGORY', 'PAGESINCAT' ),
        'pagesize'                  => array( '1', 'TAMAÑODAPÁXINA', 'TAMANHODAPAGINA', 'TAMANHODAPÁGINA', 'PAGESIZE' ),
+       'url_path'                  => array( '0', 'RUTA', 'PATH' ),
+       'pagesincategory_all'       => array( '0', 'todos', 'all' ),
+       'pagesincategory_pages'     => array( '0', 'páxinas', 'pages' ),
+       'pagesincategory_subcats'   => array( '0', 'subcategorías', 'subcats' ),
+       'pagesincategory_files'     => array( '0', 'ficheiros', 'files' ),
 );
 
 $separatorTransformTable = array( ',' => '.', '.' => ',' );
@@ -3863,7 +3889,7 @@ As imaxes móstranse na súa resolución completa; outros tipos de ficheiros in
 'specialpages-group-highuse' => 'Páxinas con máis uso',
 'specialpages-group-pages' => 'Listas de páxinas',
 'specialpages-group-pagetools' => 'Ferramentas das páxinas',
-'specialpages-group-wiki' => 'Datos do wiki e ferramentas',
+'specialpages-group-wiki' => 'Datos e ferramentas',
 'specialpages-group-redirects' => 'Páxinas de redirección especiais',
 'specialpages-group-spam' => 'Ferramentas contra o spam',
 
@@ -3960,6 +3986,7 @@ As imaxes móstranse na súa resolución completa; outros tipos de ficheiros in
 'logentry-newusers-newusers' => 'Creouse a conta de usuario $1',
 'logentry-newusers-create' => 'Creouse a conta de usuario $1',
 'logentry-newusers-create2' => '$1 creou a conta de usuario $3',
+'logentry-newusers-byemail' => '$1 creou a conta de usuario $3; o contrasinal enviouse por correo electrónico',
 'logentry-newusers-autocreate' => 'A conta de usuario $1 creouse automaticamente',
 'logentry-rights-rights' => '$1 cambiou o grupo ao que pertence $3 de $4 a $5',
 'logentry-rights-rights-legacy' => '$1 cambiou o grupo ao que pertence $3',
index b4291de..bc14e93 100644 (file)
@@ -2621,7 +2621,7 @@ $1',
 # Move page
 'move-page' => '$1 ખસેડો',
 'move-page-legend' => 'પાનું ખસેડો',
-'movepagetext' => "નà«\80àª\9aà«\87નà«\81àª\82 àª«à«\8bરà«\8dમ àªµàª¾àªªàª°àªµàª¾àª¥à«\80 àª\86 àªªàª¾àª¨àª¾àª¨à«\81àª\82 àª¨àª¾àª® àª¬àª¦àª²àª¾àª\87 àª\9cશà«\87 àª\85નà«\87 àª¤à«\87માàª\82 àª°àª¹à«\87લà«\80 àª¬àª§à«\80 àª®àª¹àª¿àª¤àª¿ નવા નામે બનેલાં પાનામાં ખસેડાઇ જશે.
+'movepagetext' => "નà«\80àª\9aà«\87નà«\81àª\82 àª«à«\8bરà«\8dમ àªµàª¾àªªàª°àªµàª¾àª¥à«\80 àª\86 àªªàª¾àª¨àª¾àª¨à«\81àª\82 àª¨àª¾àª® àª¬àª¦àª²àª¾àª\87 àª\9cશà«\87 àª\85નà«\87 àª¤à«\87માàª\82 àª°àª¹à«\87લà«\80 àª¬àª§à«\80 àª®àª¾àª¹àª¿àª¤à«\80 નવા નામે બનેલાં પાનામાં ખસેડાઇ જશે.
 જુનું પાનું, નવા બનેલા પાના તરફ વાળતું થશે.
 તમે આવા અન્યત્ર વાળેલાં પનાઓને આપોઆપ જ તેના મુળ શીર્ષક સાથે જોડી શકશો.
 જો તમે તેમ કરવા ના ઇચ્છતા હોવ તો, [[Special:DoubleRedirects|બેવડા]] અથવા [[Special:BrokenRedirects|ત્રુટક કડી વાળા]] અન્યત્ર વાળેલા પાનાઓની યાદી ચકાસીને ખાતરી કરી લેશો.
index 8f8a8ca..2f1ab98 100644 (file)
@@ -2379,7 +2379,7 @@ $1',
 'usermessage-editor' => 'שולח הודעות המערכת',
 
 # Watchlist
-'watchlist' => 'רשימת המעקב שלי',
+'watchlist' => 'רשימת המעקב',
 'mywatchlist' => 'רשימת מעקב',
 'watchlistfor2' => 'עבור $1 $2',
 'nowatchlist' => 'אין דפים ברשימת המעקב.',
@@ -4036,7 +4036,7 @@ $5
 'specialpages-group-highuse' => 'דפים בשימוש רב',
 'specialpages-group-pages' => 'רשימות דפים',
 'specialpages-group-pagetools' => 'כלים לדפים',
-'specialpages-group-wiki' => 'מידע וכלים על האתר',
+'specialpages-group-wiki' => 'מידע וכלים',
 'specialpages-group-redirects' => 'הפניות מדפים מיוחדים',
 'specialpages-group-spam' => 'כלי ספאם',
 
@@ -4133,6 +4133,7 @@ $5
 'logentry-newusers-newusers' => 'חשבון המשתמש $1 נוצר',
 'logentry-newusers-create' => 'חשבון המשתמש $1 נוצר',
 'logentry-newusers-create2' => 'חשבון המשתמש $3 נוצר על ידי $1',
+'logentry-newusers-byemail' => 'חשבון המשתמש $3 נוצר על ידי $1 והסיסמה נשלחה בדוא"ל',
 'logentry-newusers-autocreate' => 'חשבון המשתמש $1 נוצר אוטומטית',
 'logentry-rights-rights' => '$1 שינה את ההרשאות של $3 מ$4 ל$5',
 'logentry-rights-rights-legacy' => '$1 שינה את ההרשאות של $3',
index 3dd0cd9..d93e6e0 100644 (file)
@@ -77,7 +77,7 @@ $specialPageAliases = array(
        'Allmessages'               => array( 'सभी_सन्देश', 'सभी_संदेश' ),
        'Allpages'                  => array( 'सभी_पृष्ठ', 'सभी_पन्ने' ),
        'Ancientpages'              => array( 'पुराने_पृष्ठ', 'पुराने_पन्ने' ),
-       'Badtitle'                  => array( 'खराब_शीर्षक' ),
+       'Badtitle'                  => array( 'à¤\96़राब_शà¥\80रà¥\8dषà¤\95' ),
        'Blankpage'                 => array( 'रिक्त_पृष्ठ', 'खाली_पृष्ठ' ),
        'Block'                     => array( 'अवरोधन', 'आइ_पी_अवरोधन', 'सदस्य_अवरोधन' ),
        'Blockme'                   => array( 'स्वावरोधन', 'स्व_अवरोधन', 'मुझे_रोकिये' ),
@@ -102,6 +102,7 @@ $specialPageAliases = array(
        'Filepath'                  => array( 'फ़ाइल_पथ', 'फाइल_पथ', 'संचिका_पथ' ),
        'Import'                    => array( 'आयात' ),
        'Invalidateemail'           => array( 'अप्रमाणित_ईमेल', 'अमान्य_ईमेल', 'ईमेल_अमान्य_करें' ),
+       'JavaScriptTest'            => array( 'जावा_स्क्रिप्ट_परीक्षा' ),
        'BlockList'                 => array( 'अवरोध_सूची', 'अवरोधित_सदस्य_सूची', 'अवरोधित_आइ_पी_सूची' ),
        'LinkSearch'                => array( 'बाहरी_कड़ी_खोज' ),
        'Listadmins'                => array( 'प्रबन्धक_सूची', 'प्रबंधक_सूची' ),
@@ -118,6 +119,7 @@ $specialPageAliases = array(
        'MIMEsearch'                => array( 'माइम_खोज' ),
        'Mostcategories'            => array( 'सर्वाधिक_श्रेणीकृत', 'सर्वाधिक_श्रेणियाँ' ),
        'Mostimages'                => array( 'सर्वाधिक_प्रयुक्त_फ़ाइलें', 'सर्वाधिक_प्रयुक्त_फाइलें' ),
+       'Mostinterwikis'            => array( 'ज़्यादा_इंटेर्विकियाँ' ),
        'Mostlinked'                => array( 'सर्वाधिक_जुड़े_पृष्ठ' ),
        'Mostlinkedcategories'      => array( 'सर्वाधिक_प्रयुक्त_श्रेणियाँ' ),
        'Mostlinkedtemplates'       => array( 'सर्वाधिक_प्रयुक्त_साँचे' ),
@@ -163,6 +165,10 @@ $specialPageAliases = array(
        'Withoutinterwiki'          => array( 'अन्तरविकि_रहित', 'अंतरविकि_रहित' ),
 );
 
+$magicWords = array(
+       'redirect'                  => array( '0', '#अनुप्रेषित', '#REDIRECT' ),
+);
+
 $digitTransformTable = array(
        '0' => '०', # &#x0966;
        '1' => '१', # &#x0967;
index b7a9d14..56dfd2c 100644 (file)
@@ -434,7 +434,7 @@ $messages = array(
 'category-subcat-count-limited' => 'Ova kategorija ima {{PLURAL:$1|podkategoriju|$1 podkategorije|$1 podkategorija}}.',
 'category-article-count' => '{{PLURAL:$2|Ova kategorija sadrži $2 članak.|{{PLURAL:$1|Prikazano je $1 članak|Prikazana su $1 članka|Prikazano je $1 članaka}} od njih $2 ukupno.}}',
 'category-article-count-limited' => '{{PLURAL:$1|stranica je|$1 stranice su|$1 stranica je}} u ovoj kategoriji.',
-'category-file-count' => '{{PLURAL:$2|Ova kategorija sadrži samo sljedeću datoteku.|{{PLURAL:$1|datoteka je|$1 datoteke su|$1 datoteka je}} u ovoj kategoriji, od njih $2 ukupno.}}',
+'category-file-count' => 'Ova kategorija sadrži $2 {{PLURAL:$2|datoteku|datoteke|datoteka}}. {{PLURAL:$1|Slijedi $1 datoteka|Slijede $1 datoteke|Slijedi $1 datoteka}}.',
 'category-file-count-limited' => '{{PLURAL:$1|datoteka je|$1 datoteke su|$1 datoteka su}} u ovoj kategoriji.',
 'listingcontinuesabbrev' => 'nast.',
 'index-category' => 'Indeksirane stranice',
index 5430397..24227c1 100644 (file)
@@ -202,7 +202,7 @@ $specialPageAliases = array(
        'Allmessages'               => array( 'Բոլորուղերձները' ),
        'Allpages'                  => array( 'Բոլորէջերը' ),
        'Ancientpages'              => array( 'Ամենահինէջերը' ),
-       'Block'                     => array( 'Արգելափակելip' ),
+       'Block'                     => array( 'Արգելափակել այփին' ),
        'Blockme'                   => array( 'Արգելափակել' ),
        'Booksources'               => array( 'Գրքայինաղբյուրները' ),
        'BrokenRedirects'           => array( 'Կոտրվածվերահղումները' ),
@@ -216,7 +216,7 @@ $specialPageAliases = array(
        'Export'                    => array( 'Արտահանելէջերը' ),
        'FileDuplicateSearch'       => array( 'Կրկնօրինակֆայլերիորոնում' ),
        'Import'                    => array( 'Ներմուծել' ),
-       'BlockList'                 => array( 'ԱրգելափակվածIPները' ),
+       'BlockList'                 => array( 'Արգելափակված այփի ները' ),
        'Listadmins'                => array( 'Ադմիններիցանկը' ),
        'Listfiles'                 => array( 'Պատկերներիցանկը' ),
        'Listredirects'             => array( 'Ցույցտալվերահղումները' ),
index 4789abc..1c5e10a 100644 (file)
@@ -3981,8 +3981,8 @@ Gambar ditampilkan dalam resolusi penuh dan tipe lain berkas akan dibuka langsun
 'revdelete-unrestricted' => 'pembatasan akses opsis dihapuskan',
 'logentry-move-move' => '$1 memindahkan halaman $3 ke $4',
 'logentry-move-move-noredirect' => '$1 memindahkan halaman $3 ke $4 tanpa membuat pengalihan',
-'logentry-move-move_redir' => '$1 memindahkan halaman $3 ke $4 melalui pengalihan',
-'logentry-move-move_redir-noredirect' => '$1 memindahkan halaman $3 ke $4 melalui pengalihan tanpa membuat pengalihan',
+'logentry-move-move_redir' => '$1 memindahkan halaman $3 ke $4 menimpa pengalihan lama',
+'logentry-move-move_redir-noredirect' => '$1 memindahkan halaman $3 ke $4 menimpa pengalihan lama tanpa membuat pengalihan',
 'logentry-patrol-patrol' => '$1 menandai revisi $4 dari halaman $3 terpatroli',
 'logentry-patrol-patrol-auto' => '$1 secara otomatis menandai revisi $4 dari halaman $3 terpatroli',
 'logentry-newusers-newusers' => 'Akun pengguna $1 telah dibuat',
index e15659a..53e7ba3 100644 (file)
@@ -139,6 +139,7 @@ $specialPageAliases = array(
        'Filepath'                  => array( 'Percorso' ),
        'Import'                    => array( 'Importa' ),
        'Invalidateemail'           => array( 'InvalidaEMail' ),
+       'JavaScriptTest'            => array( 'TestJavaScript' ),
        'BlockList'                 => array( 'IPBloccati', 'ElencoBlocchi', 'Blocchi' ),
        'LinkSearch'                => array( 'CercaCollegamenti', 'CercaLink' ),
        'Listadmins'                => array( 'Amministratori', 'ElencoAmministratori', 'Admin', 'Sysop', 'Cricca' ),
@@ -155,6 +156,7 @@ $specialPageAliases = array(
        'MIMEsearch'                => array( 'RicercaMIME' ),
        'Mostcategories'            => array( 'PagineConPiùCategorie' ),
        'Mostimages'                => array( 'ImmaginiPiùRichiamate' ),
+       'Mostinterwikis'            => array( 'InterwikiPiùRichiamati' ),
        'Mostlinked'                => array( 'PaginePiùRichiamate' ),
        'Mostlinkedcategories'      => array( 'CategoriePiùRichiamate' ),
        'Mostlinkedtemplates'       => array( 'TemplatePiùRichiamati' ),
@@ -249,14 +251,24 @@ $magicWords = array(
        'img_left'                  => array( '1', 'sinistra', 'left' ),
        'img_none'                  => array( '1', 'nessuno', 'none' ),
        'img_center'                => array( '1', 'centro', 'center', 'centre' ),
+       'img_framed'                => array( '1', 'riquadrato', 'incorniciato', 'originale', 'framed', 'enframed', 'frame' ),
+       'img_frameless'             => array( '1', 'senza_cornice', 'frameless' ),
        'img_page'                  => array( '1', 'pagina=$1', 'pagina_$1', 'page=$1', 'page $1' ),
+       'img_upright'               => array( '1', 'verticale', 'verticale=$1', 'verticale_$1', 'upright', 'upright=$1', 'upright $1' ),
        'img_border'                => array( '1', 'bordo', 'border' ),
+       'img_sub'                   => array( '1', 'pedice', 'sub' ),
+       'img_top'                   => array( '1', 'sopra', 'top' ),
+       'img_text_top'              => array( '1', 'testo-sopra', 'text-top' ),
+       'img_middle'                => array( '1', 'metà', 'middle' ),
+       'img_bottom'                => array( '1', 'sotto', 'bottom' ),
+       'img_text_bottom'           => array( '1', 'testo-sotto', 'text-bottom' ),
        'sitename'                  => array( '1', 'NOMESITO', 'SITENAME' ),
        'servername'                => array( '0', 'NOMESERVER', 'SERVERNAME' ),
        'gender'                    => array( '0', 'GENERE:', 'GENDER:' ),
        'currentweek'               => array( '1', 'SETTIMANACORRENTE', 'CURRENTWEEK' ),
        'localweek'                 => array( '1', 'SETTIMANALOCALE', 'LOCALWEEK' ),
        'plural'                    => array( '0', 'PLURALE:', 'PLURAL:' ),
+       'displaytitle'              => array( '1', 'MOSTRATITOLO', 'DISPLAYTITLE' ),
        'language'                  => array( '0', '#LINGUA', '#LANGUAGE:' ),
        'numberofadmins'            => array( '1', 'NUMEROADMIN', 'NUMBEROFADMINS' ),
        'special'                   => array( '0', 'speciale', 'special' ),
@@ -266,6 +278,9 @@ $magicWords = array(
        'index'                     => array( '1', '__INDICE__', '__INDEX__' ),
        'noindex'                   => array( '1', '__NOINDICE__', '__NOINDEX__' ),
        'protectionlevel'           => array( '1', 'LIVELLOPROTEZIONE', 'PROTECTIONLEVEL' ),
+       'formatdate'                => array( '0', 'formatodata', 'formatdate', 'dateformat' ),
+       'pagesincategory_pages'     => array( '0', 'pagine', 'pages' ),
+       'pagesincategory_files'     => array( '0', 'file', 'files' ),
 );
 
 $linkTrail = '/^([a-zàéèíîìóòúù]+)(.*)$/sDu';
@@ -3807,7 +3822,7 @@ Le immagini vengono mostrate alla massima risoluzione disponibile, per gli altri
 'specialpages-group-highuse' => 'Pagine molto usate',
 'specialpages-group-pages' => 'Elenchi di pagine',
 'specialpages-group-pagetools' => 'Strumenti utili per le pagine',
-'specialpages-group-wiki' => 'Strumenti e informazioni sul progetto',
+'specialpages-group-wiki' => 'Dati e strumenti',
 'specialpages-group-redirects' => 'Pagine speciali di redirect',
 'specialpages-group-spam' => 'Strumenti contro lo spam',
 
@@ -3904,6 +3919,7 @@ Le immagini vengono mostrate alla massima risoluzione disponibile, per gli altri
 'logentry-newusers-newusers' => "L'utenza $1 è stata creata",
 'logentry-newusers-create' => "L'utenza $1 è stata creata",
 'logentry-newusers-create2' => "L'utenza $3 è stata creata da $1",
+'logentry-newusers-byemail' => "L'utente $3 è stato creato da $1 e la password è stata inviata via e-mail",
 'logentry-newusers-autocreate' => "L'utenza $1 è stata creata automaticamente",
 'logentry-rights-rights' => "$1 ha modificato l'appartenenza di $3 dal gruppo $4 al gruppo $5",
 'logentry-rights-rights-legacy' => "$1 ha modificato l'appartenenza a gruppi di $3",
index b21b727..cafb07c 100644 (file)
@@ -627,11 +627,11 @@ $1',
 'retrievedfrom' => '「$1」から取得',
 'youhavenewmessages' => '$1があります ($2)。',
 'newmessageslink' => '新着メッセージ',
-'newmessagesdifflink' => '最終更新の差分',
+'newmessagesdifflink' => '最新の差分',
 'youhavenewmessagesfromusers' => '{{PLURAL:$3|他の利用者|$3 人の利用者}}からの$1があります ($2)。',
 'youhavenewmessagesmanyusers' => '多数の利用者からの$1があります ($2)。',
 'newmessageslinkplural' => '{{PLURAL:$1|新着メッセージ}}',
-'newmessagesdifflinkplural' => '最終更新の{{PLURAL:$1|差分}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|最新の差分|最新版までの差分}}',
 'youhavenewmessagesmulti' => '$1に新着メッセージがあります',
 'editsection' => '編集',
 'editold' => '編集',
@@ -916,7 +916,7 @@ Cookieを有効にしていることを確認して、このページを再読
 'passwordreset-pretext' => '{{PLURAL:$1||下記のデータのいずれか 1 つを入力してください}}',
 'passwordreset-username' => '利用者名:',
 'passwordreset-domain' => 'ドメイン:',
-'passwordreset-capture' => '送信されるメールの内容を表示しますか?',
+'passwordreset-capture' => 'お送りするメールの内容を表示しますか?',
 'passwordreset-capture-help' => 'このボックスにチェックを入れると、利用者に送信されるメールの内容(仮パスワードを含む)をあなたも閲覧できます。',
 'passwordreset-email' => 'メールアドレス:',
 'passwordreset-emailtitle' => '{{SITENAME}}上のアカウントの詳細',
@@ -2376,7 +2376,7 @@ contenttype/subtypeの形式で入力してください (例: <code>image/jpeg</
 # Special:ActiveUsers
 'activeusers' => '活動中の利用者一覧',
 'activeusers-intro' => 'これは過去 $1 {{PLURAL:$1|日|日間}}に何らかの活動をした利用者の一覧です。',
-'activeusers-count' => '過去 {{PLURAL:$3|1 日|$3 日間}}に $1 {{PLURAL:$1|回の編集}}',
+'activeusers-count' => '過去 {{PLURAL:$3|1 日|$3 日間}}に $1 {{PLURAL:$1|回の操作}}',
 'activeusers-from' => '最初に表示する利用者:',
 'activeusers-hidebots' => 'ボットを隠す',
 'activeusers-hidesysops' => '管理者を隠す',
@@ -3911,16 +3911,16 @@ Variants for Chinese language
 'confirmemail_loggedin' => 'メールアドレスは確認されました。',
 'confirmemail_error' => '確認情報を保存する際にエラーが発生しました。',
 'confirmemail_subject' => '{{SITENAME}} メールアドレスの確認',
-'confirmemail_body' => '誰か(おそらくあなた)が、IPアドレス$1から、
+'confirmemail_body' => '誰か (おそらくあなた) が、IPアドレス$1から、
 このメールアドレスで{{SITENAME}}のアカウント「$2」を登録しました。
 
 このアカウントが本当に自分のものか確認して、
-{{SITENAME}}のメール機能を有効にするには、以下のURLをブラウザーで開いてください
+{{SITENAME}}のメール機能を有効にするには、以下のURLをブラウザーで開いてください:
 
 $3
 
 もしアカウントの登録をした覚えがない場合は、
-次のURLをブラウザーで開いて、メールアドレスの確認を中止してください
+次のURLをブラウザーで開いて、メールアドレスの確認を中止してください:
 
 $5
 
@@ -3966,8 +3966,8 @@ $5
 'deletedwhileediting' => "'''警告''': このページが、編集開始後に削除されました!",
 'confirmrecreate' => "あなたが編集を開始した後、[[User:$1|$1]] ([[User talk:$1|トーク]]) がこのページを以下の理由で削除しました:
 : ''$2''
-本当にこのままこのページを再作成していいか確認してください。",
-'confirmrecreate-noreason' => 'あなたが編集を開始した後、[[User:$1|$1]] ([[User talk:$1|トーク]]) がこのページを削除しました。本当にこのページを再作成していいかご確認ください。',
+このままこのページを本当に再作成していいか確認してください。",
+'confirmrecreate-noreason' => 'あなたが編集を開始した後、[[User:$1|$1]] ([[User talk:$1|トーク]]) がこのページを削除しました。このページを本当に再作成していいかご確認ください。',
 'recreate' => '再作成する',
 
 # action=purge
@@ -4195,7 +4195,7 @@ MediaWikiは、有用であることを期待して配布されていますが
 'specialpages-group-highuse' => 'よく利用されているページ',
 'specialpages-group-pages' => 'ページの一覧',
 'specialpages-group-pagetools' => 'ページツール',
-'specialpages-group-wiki' => 'ã\82¦ã\82£ã\82­ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±とツール',
+'specialpages-group-wiki' => 'ã\83\87ã\83¼ã\82¿とツール',
 'specialpages-group-redirects' => '転送される特別ページ',
 'specialpages-group-spam' => 'スパム対策ツール',
 
@@ -4293,6 +4293,7 @@ MediaWikiは、有用であることを期待して配布されていますが
 'logentry-newusers-newusers' => '利用者アカウント $1 が作成されました',
 'logentry-newusers-create' => '利用者アカウント $1 が作成されました',
 'logentry-newusers-create2' => '利用者アカウント $3 が $1 により作成されました',
+'logentry-newusers-byemail' => '利用者アカウント $3 が $1 によって作成され、そのパスワードをメールで送信しました',
 'logentry-newusers-autocreate' => '利用者アカウント $1 が自動的に作成されました',
 'logentry-rights-rights' => '$1 が $3 の所属グループを $4 から $5 に変更しました',
 'logentry-rights-rights-legacy' => '$1 が $3 の所属グループを変更しました',
index 3f61a0f..a764494 100644 (file)
@@ -211,6 +211,7 @@ $messages = array(
 'tog-ccmeonemails' => 'გამომიგზავნე ელფოსტების ასლები, რომლებსაც მე სხვა მომხმარებლებს ვუგზავნი',
 'tog-diffonly' => 'დამალე გვერდის შიგთავსი ცვლილების ქვევით',
 'tog-showhiddencats' => 'დამალული კატეგორიების ჩვენება',
+'tog-noconvertlink' => 'სათაურის გარდაქმნის ბმულის გამორთვა',
 'tog-norollbackdiff' => 'გამოტოვეთ ცვლილება გაუქმებისას',
 
 'underline-always' => 'მუდამ',
@@ -1388,6 +1389,7 @@ $1",
 'saveusergroups' => 'მომხმარებელთა ჯგუფების შენახვა',
 'userrights-groupsmember' => 'ჯგუფის წევრი:',
 'userrights-groupsmember-auto' => 'ნაგულისხმევი წევრი:',
+'userrights-groupsmember-type' => '$1',
 'userrights-groups-help' => 'თქვენ შეგიძლიათ შეცვალოთ ჯგუფები, რომელშიც შედის ეს მომხმარებელი.
 * თუ ჯგუფის სახელწოდებასთან გაკეთებულია ნიშნული, ე.ი მომხმარებელი შედის ამ ჯგუფში.
 * თუ ნიშნული არ არის – მომხმარებელი არ განეკუთვნება არსებულ ჯგუფს.
@@ -2126,7 +2128,7 @@ $1',
 # Special:ActiveUsers
 'activeusers' => 'აქტიურ მომხმარებელთა სია',
 'activeusers-intro' => 'ეს არის მომხმარებელთა სია, რომელთაც აქვს წვლილი უკანასკნელი $1 {{PLURAL:$1|დღის|დღის}} განმავლობაში.',
-'activeusers-count' => '$1 {{PLURAL:$1|á\83ªá\83\95á\83\9aá\83\98á\83\9aá\83\94á\83\91á\83\90\83ªá\83\95á\83\9aá\83\98á\83\9aá\83\94á\83\91á\83\90}} {{PLURAL:$2|$3 á\83\93á\83¦á\83\94|$3 დღის}} განმავლობაში.',
+'activeusers-count' => '$1 {{PLURAL:$1|á\83\9bá\83\9dá\83¥á\83\9bá\83\94á\83\93á\83\94á\83\91á\83\90\83\9bá\83\9dá\83¥á\83\9bá\83\94á\83\93á\83\94á\83\91á\83\90}} {{PLURAL:$3|á\83\93á\83¦á\83\98á\83¡|$3 დღის}} განმავლობაში.',
 'activeusers-from' => 'მომხმარებელთა ჩვენება, დაწყებული:',
 'activeusers-hidebots' => 'რობოტების დამალვა',
 'activeusers-hidesysops' => 'ადმინისტრატორების დამალვა',
@@ -2175,7 +2177,7 @@ $1',
 'emailusernamesubmit' => 'შენახვა',
 'email-legend' => 'წერილის გაგზავნა სხვა მომხმარებლისადმი {{grammar:genitive|{{SITENAME}}}}',
 'emailfrom' => 'გამომგზავნი:',
-'emailto' => 'á\83\90á\83\93á\83 á\83\94á\83¡á\83\90á\83¢ი:',
+'emailto' => 'á\83\9bá\83\98á\83\9bá\83¦á\83\94á\83\91ი:',
 'emailsubject' => 'თემა:',
 'emailmessage' => 'შეტყობინება:',
 'emailsend' => 'გაგზავნა',
@@ -2342,6 +2344,7 @@ $UNWATCHURL
 'prot_1movedto2' => '[[$1]] გადატანილია გვერდზე [[$2]]',
 'protect-badnamespace-title' => 'დაუცველი სახელთა სივრცე',
 'protect-badnamespace-text' => 'ამ სახელთა სივრცის გვერდების დაცვა შეუძლებელია.',
+'protect-norestrictiontypes-title' => 'დაუცველი გვერდი',
 'protect-legend' => 'დაცვის დადასტურება',
 'protectcomment' => 'მიზეზი:',
 'protectexpiry' => 'ვადა',
@@ -2358,8 +2361,9 @@ $UNWATCHURL
 თქვენ შეგიძლიათ ამ გვერდის დაცვის დონე შეცვალოთ, თუმცა ეს კასკადურ დაცვაზე გავლენას არ იქონიებს.',
 'protect-default' => 'ყველა მომხმარებელი',
 'protect-fallback' => 'ხელმისაწვდომია მხოლოდ „$1-ის“ უფლების მქონე მომხმარებლებისათვის',
-'protect-level-autoconfirmed' => 'á\83\90á\83®á\83\90á\83\9aá\83\98 á\83\93á\83\90 á\83\90á\83 á\83\90á\83 á\83\94á\83\92á\83\98á\83¡á\83¢á\83 á\83\98á\83 á\83\94á\83\91á\83£á\83\9aá\83\98 á\83\9bá\83\9dá\83\9bá\83®á\83\9bá\83\90á\83 á\83\94á\83\91á\83\9aá\83\94á\83\91á\83\98á\83¡á\83\90á\83\92á\83\90á\83\9c á\83\93á\83\90á\83ªá\83\95á\83\90',
+'protect-level-autoconfirmed' => 'á\83®á\83\94á\83\9aá\83\9bá\83\98á\83¡á\83\90á\83¬á\83\95á\83\93á\83\9dá\83\9bá\83\98á\83\90 á\83\9bá\83®á\83\9dá\83\9aá\83\9dá\83\93 á\83\90á\83\95á\83¢á\83\9dá\83\9bá\83\90á\83¢á\83£á\83 á\83\90á\83\93 á\83\93á\83\90á\83\93á\83\90á\83¡á\83¢á\83£á\83 á\83\94á\83\91á\83£á\83\9aá\83\98 á\83\9bá\83\9dá\83\9bá\83®á\83\9bá\83\90á\83 á\83\94á\83\91á\83\9aá\83\94á\83\91á\83\98á\83¡á\83\90á\83\97á\83\95á\83\98á\83¡',
 'protect-level-sysop' => 'მხოლოდ ადმინისტრატორები',
+'protect-summary-desc' => '[$1=$2] ($3)',
 'protect-summary-cascade' => 'იერარქიული',
 'protect-expiring' => 'ვადა გასდის: $1 (UTC)',
 'protect-expiring-local' => 'ვადის გასვლის თარიღია $1',
@@ -3004,6 +3008,10 @@ $1',
 'pageinfo-protect-cascading' => 'კასკადური დაცვა აქედან',
 'pageinfo-protect-cascading-yes' => 'დიახ',
 'pageinfo-protect-cascading-from' => 'კასკადური დაცვა',
+'pageinfo-category-info' => 'ინფორმაცია კატეგორიის შესახებ',
+'pageinfo-category-pages' => 'გვერდების რაოდენობა',
+'pageinfo-category-subcats' => 'ქვეკატეგორიების რაოდენობა',
+'pageinfo-category-files' => 'ფაილების რაოდენობა',
 
 # Skin names
 'skinname-standard' => 'კლასიკური',
@@ -3097,6 +3105,8 @@ $1',
 'minutes' => '$1 წუთის',
 'hours' => '$1 საათის',
 'days' => '$1 დღის',
+'months' => '{{PLURAL:$1|$1 თვე|$1 თვე}}',
+'years' => '{{PLURAL:$1|$1 წელი|$1 წელი}}',
 'ago' => '$1 წინ',
 'just-now' => 'ახლახანს',
 
@@ -3829,7 +3839,7 @@ MediaWiki ვრცელდება იმ იმედით, რომ ი
 'specialpages-group-highuse' => 'ხშირად გამოყენებული გვერდები',
 'specialpages-group-pages' => 'გვერდების სიები',
 'specialpages-group-pagetools' => 'ინსტრუმენტები გვერდებისთვის',
-'specialpages-group-wiki' => 'á\83\95á\83\98á\83\99á\83\98\83\9bá\83\9dá\83\9cá\83\90á\83ªá\83\94á\83\9bá\83\94á\83\91á\83\98 á\83\93á\83\90 á\83\98á\83\9cá\83¡á\83¢á\83 á\83£á\83\9bá\83\94á\83\9cá\83¢á\83\94á\83\91á\83\98',
+'specialpages-group-wiki' => 'მონაცემები და ინსტრუმენტები',
 'specialpages-group-redirects' => 'სპეცგვერდების გადამისამართება',
 'specialpages-group-spam' => 'ინსტრუმენტები სპამის წინააღმდეგ',
 
index 7071b00..257e949 100644 (file)
 
 # $fallback = 'ru'; // bug 27785
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Медиа',
+       NS_SPECIAL          => 'Служебная',
+       NS_TALK             => 'Тепсэлъэхьыгъуэ',
+       NS_USER             => 'ЦӀыхухэт',
+       NS_USER_TALK        => 'ЦӀыхухэт_тепсэлъэхьыгъуэ',
+       NS_PROJECT_TALK     => '$1_тепсэлъэхьыгъуэ',
+       NS_FILE             => 'Файл',
+       NS_FILE_TALK        => 'Файл_тепсэлъэхьыгъуэ',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_тепсэлъэхьыгъуэ',
+       NS_TEMPLATE         => 'Шаблон',
+       NS_TEMPLATE_TALK    => 'Шаблон_тепсэлъэхьыгъуэ',
+       NS_HELP             => 'ДэӀэпыкъуэгъуэ',
+       NS_HELP_TALK        => 'ДэӀэпыкъуэгъуэ_тепсэлъэхьыгъуэ',
+       NS_CATEGORY         => 'Категориэ',
+       NS_CATEGORY_TALK    => 'Категориэ_тепсэлъэхьыгъуэ',
+);
+
+$namespaceAliases = array(
+       # Russian namespaces
+       'Обсуждение'                         => NS_TALK,
+       'Участник'                           => NS_USER,
+       'Обсуждение_участника'               => NS_USER_TALK,
+       'Обсуждение_{{GRAMMAR:genitive|$1}}' => NS_PROJECT_TALK,
+       'Обсуждение_файла'                   => NS_FILE_TALK,
+       'Обсуждение_MediaWiki'               => NS_MEDIAWIKI_TALK,
+       'Обсуждение_шаблона'                 => NS_TEMPLATE_TALK,
+       'Справка'                            => NS_HELP,
+       'Обсуждение_справки'                 => NS_HELP_TALK,
+       'Категория'                          => NS_CATEGORY,
+       'Обсуждение_категории'               => NS_CATEGORY_TALK,
+);
+
+// Remove Russian gender aliases
+$namespaceGenderAliases = array();
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'ТехьэпӀэхэр щӀэтхъэн:',
index f63ef54..989a16c 100644 (file)
@@ -185,7 +185,7 @@ $messages = array(
 'about' => 'Heqa',
 'article' => 'Pela tedeesteyu',
 'newwindow' => '(zerrê pençerê dê newey de beno ra)',
-'cancel' => 'Texelnaene',
+'cancel' => 'Bıtexelne',
 'moredotdotdot' => 'Jêde...',
 'mypage' => 'Pela mı',
 'mytalk' => 'Hurênayişê mı',
index 1594fdb..6f53f2f 100644 (file)
@@ -69,10 +69,10 @@ $specialPageAliases = array(
        'Allmessages'               => array( '모든메시지' ),
        'Allpages'                  => array( '모든문서' ),
        'Ancientpages'              => array( '오래된문서' ),
-       'Badtitle'                  => array( 'ì\9e\98못ë\90\9cì\9d´ë¦\84', 'ì\9d¸ì\8b\9dë¶\88ê°\80ì\9d´ë¦\84', 'ì\9e\98못ë\90\9cì \9c목', 'ì\9d¸ì\8b\9dë¶\88ê°\80ì \9c목' ),
+       'Badtitle'                  => array( 'ì\9e\98못ë\90\9cì \9c목', 'ì\9d¸ì\8b\9dë¶\88ê°\80ì \9c목', 'ì\9e\98못ë\90\9cì\9d´ë¦\84', 'ì\9d¸ì\8b\9dë¶\88ê°\80ì\9d´ë¦\84' ),
        'Blankpage'                 => array( '빈문서' ),
-       'Block'                     => array( '차단' ),
-       'Blockme'                   => array( '자가차단' ),
+       'Block'                     => array( '차단', 'IP차단', '사용자차단' ),
+       'Blockme'                   => array( 'ì\9e\90기차ë\8b¨', 'ì\9e\90ê°\80ì°¨ë\8b¨' ),
        'Booksources'               => array( '책찾기' ),
        'BrokenRedirects'           => array( '끊긴넘겨주기' ),
        'Categories'                => array( '분류' ),
@@ -96,7 +96,7 @@ $specialPageAliases = array(
        'Invalidateemail'           => array( '이메일인증취소', '이메일인증해제' ),
        'JavaScriptTest'            => array( '자바스크립트시험' ),
        'BlockList'                 => array( '차단된사용자', '차단목록' ),
-       'LinkSearch'                => array( '외부링크찾기', '외부링크검색' ),
+       'LinkSearch'                => array( '링크찾기', '링크검색' ),
        'Listadmins'                => array( '관리자', '관리자목록' ),
        'Listbots'                  => array( '봇', '봇목록' ),
        'Listfiles'                 => array( '파일', '그림', '파일목록', '그림목록' ),
@@ -129,7 +129,7 @@ $specialPageAliases = array(
        'Preferences'               => array( '환경설정' ),
        'Prefixindex'               => array( '접두어찾기' ),
        'Protectedpages'            => array( '보호된문서' ),
-       'Protectedtitles'           => array( '생성보호된문서', '만들기보호된문서' ),
+       'Protectedtitles'           => array( '만들기보호된문서', '생성보호된문서' ),
        'Randompage'                => array( '임의문서' ),
        'Randomredirect'            => array( '임의넘겨주기' ),
        'Recentchanges'             => array( '최근바뀜' ),
@@ -151,11 +151,11 @@ $specialPageAliases = array(
        'Unusedimages'              => array( '안쓰는파일', '안쓰는그림', '쓰이지않는파일', '쓰이지않는그림' ),
        'Unusedtemplates'           => array( '안쓰는틀', '쓰이지않는틀' ),
        'Unwatchedpages'            => array( '주시안되는문서' ),
-       'Upload'                    => array( '올리기', '파일올리기', '그림올리기' ),
+       'Upload'                    => array( '올리기', '파일올리기', '그림올리기', '업로드' ),
        'UploadStash'               => array( '올린비공개파일' ),
        'Userlogin'                 => array( '로그인' ),
        'Userlogout'                => array( '로그아웃' ),
-       'Userrights'                => array( '권한조정' ),
+       'Userrights'                => array( '권한조정', '관리자하기', '봇하기' ),
        'Version'                   => array( '버전' ),
        'Wantedcategories'          => array( '필요한분류' ),
        'Wantedfiles'               => array( '필요한파일', '필요한그림' ),
@@ -1168,8 +1168,8 @@ $2개 보다 적게 써야 하지만 지금은 $1개를 쓰고 있습니다.",
 'node-count-exceeded-warning' => '문서가 노드 수를 초과하였습니다.',
 'expansion-depth-exceeded-category' => '문서가 확장 깊이를 초과하였습니다.',
 'expansion-depth-exceeded-warning' => '문서가 확장 깊이를 초과하였습니다',
-'parser-unstrip-loop-warning' => 'ì\8a¤í\8a¸ë¦½í\95\98ì§\80 ì\95\8aë\8a\94 ë°\98ë³µì\9d´ ê°\90ì§\80ë\90\98ì\97\88ì\8aµë\8b\88ë\8b¤',
-'parser-unstrip-recursion-limit' => '스트립하지 않는 재귀 한도가 초과됨 ($1)',
+'parser-unstrip-loop-warning' => 'Unstripì\9d\98 ë°\98ë³µì\9d\84 ê°\90ì§\80í\96\88ì\8aµë\8b\88ë\8b¤',
+'parser-unstrip-recursion-limit' => 'Unstrip의 재귀 한도를 초과했습니다 ($1)',
 'converter-manual-rule-error' => '언어 변환 규칙을 수동으로 지정하는 도중 오류',
 
 # "Undo" feature
@@ -3144,7 +3144,7 @@ $1 사용자가 차단된 이유는 다음과 같습니다: "$2"',
 'tooltip-ca-nstab-category' => '분류 문서 내용을 봅니다.',
 'tooltip-minoredit' => '사소한 편집으로 표시하기',
 'tooltip-save' => '바뀜 저장하기',
-'tooltip-preview' => '편집 미리 보기. 저장하기 전에 꼭 미리 보기를 해 주세요!',
+'tooltip-preview' => '바뀜을 미리 봅니다. 저장하기 전에 꼭 미리 보기를 해 주세요!',
 'tooltip-diff' => '자신이 바꾼 것 보기',
 'tooltip-compareselectedversions' => '이 문서에서 선택한 두 판간의 차이를 비교',
 'tooltip-watch' => '이 문서를 주시문서 목록에 추가',
@@ -3327,7 +3327,7 @@ $1',
 'file-info-gif-looped' => '반복됨',
 'file-info-gif-frames' => '$1 프레임',
 'file-info-png-looped' => '반복됨',
-'file-info-png-repeat' => '$1 재생됨',
+'file-info-png-repeat' => '$1{{PLURAL:$1|번}} 재생됨',
 'file-info-png-frames' => '$1 프레임',
 'file-no-thumb-animation' => "'''참고: 기술적인 제한으로 인해 이 파일의 섬네일은 애니메이션을 지원하지 않습니다.'''",
 'file-no-thumb-animation-gif' => "'''참고: 기술적인 제한으로 인해 고해상도 GIF 그림 섬네일은 애니메이션을 지원하지 않습니다.'''",
@@ -4027,7 +4027,7 @@ $5
 'specialpages-group-highuse' => '많이 쓰이는 문서 목록',
 'specialpages-group-pages' => '문서 목록',
 'specialpages-group-pagetools' => '문서 도구',
-'specialpages-group-wiki' => '위키 정보와 도구',
+'specialpages-group-wiki' => '데이터와 도구',
 'specialpages-group-redirects' => '넘겨주기 특수 문서',
 'specialpages-group-spam' => '스팸 처리 도구',
 
@@ -4125,6 +4125,7 @@ $5
 'logentry-newusers-newusers' => '$1 사용자 계정을 만들었습니다.',
 'logentry-newusers-create' => '$1 사용자 계정을 만들었습니다.',
 'logentry-newusers-create2' => '$1 사용자가 $3 사용자 계정을 만들었습니다.',
+'logentry-newusers-byemail' => '$3 사용자 계정이 $1에 만들어졌고 비밀번호는 이메일로 보냈습니다',
 'logentry-newusers-autocreate' => '$1 사용자 계정을 자동적으로 만들었습니다.',
 'logentry-rights-rights' => '$1 사용자가 $3 사용자의 권한을 $4에서 $5으로 바꾸었습니다.',
 'logentry-rights-rights-legacy' => '$1 사용자가 $3 사용자의 권한을 바꾸었습니다.',
index 3265647..cb3f61f 100644 (file)
@@ -39,6 +39,34 @@ $namespaceNames = array(
 // Remove Russian aliases
 $namespaceGenderAliases = array();
 
+$specialPageAliases = array(
+       'Activeusers'               => array( 'Тири_къошулуучула' ),
+       'Allmessages'               => array( 'Системаны_билдириулери' ),
+       'Allpages'                  => array( 'Бютеу_бетле' ),
+       'Blankpage'                 => array( 'Бош_бет' ),
+       'Block'                     => array( 'Блокла' ),
+       'Blockme'                   => array( 'Мени_блокла' ),
+       'Booksources'               => array( 'Китабланы_къайнакълары' ),
+       'BrokenRedirects'           => array( 'Джыртылгъан_редиректле' ),
+       'Categories'                => array( 'Категорияла' ),
+       'ChangeEmail'               => array( 'E-mail_ауушдур' ),
+       'ChangePassword'            => array( 'Пароль_ауушдур' ),
+       'ComparePages'              => array( 'Бетлени_тенглешдириу' ),
+       'Confirmemail'              => array( 'E-mail_тюзлюгюн_бегит' ),
+       'Contributions'             => array( 'Къошум' ),
+       'CreateAccount'             => array( 'Тергеу_джазыуну_къура', 'Къошулуучуну_къура', 'Зарегистрироваться' ),
+       'Deadendpages'              => array( 'Чыкъмазча_бетле' ),
+       'DeletedContributions'      => array( 'Кетерилген_къошум' ),
+       'Disambiguations'           => array( 'Кёб_магъаналы' ),
+       'DoubleRedirects'           => array( 'Экили_редирект' ),
+);
+
+$magicWords = array(
+       'redirect'                  => array( '0', '#джибериу', '#редирект', '#перенаправление', '#перенапр', '#REDIRECT' ),
+       'notoc'                     => array( '0', '__БАШЛАСЫЗ__', '__БЕЗ_ОГЛАВЛЕНИЯ__', '__БЕЗ_ОГЛ__', '__NOTOC__' ),
+       'nogallery'                 => array( '0', '_ГАЛЛЕРЕЯСЫЗ__', '__БЕЗ_ГАЛЕРЕИ__', '__NOGALLERY__' ),
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Джибериулени черт:',
index 9f9eefa..e41f898 100644 (file)
@@ -24,6 +24,8 @@ $namespaceNames = array(
        NS_FILE_TALK        => 'فَیِل_بَحَژ',
        NS_MEDIAWIKI        => 'میڈیاوکی',
        NS_MEDIAWIKI_TALK   => 'میڈیاوکی_بَحَژ',
+       NS_TEMPLATE         => 'فرما',
+       NS_TEMPLATE_TALK    => 'فرما_بَحَژ',
        NS_HELP             => 'پَلزُن',
        NS_HELP_TALK        => 'پَلزُن_بَحَژ',
        NS_CATEGORY         => 'زٲژ',
index 99cdd86..0ec0de7 100644 (file)
  * @author Rk_kaul (on ks.wikipedia.org)
  */
 
+$namespaceNames = array(
+       NS_MEDIA            => 'मीडिया',
+       NS_SPECIAL          => 'खास',
+       NS_TALK             => 'बहज़',
+       NS_USER             => 'रुक्न',
+       NS_USER_TALK        => 'रुक्न_बहज़',
+       NS_PROJECT_TALK     => '$1_बहज़',
+       NS_FILE             => 'फ़ाइल',
+       NS_FILE_TALK        => 'फ़ाइल_बहज़',
+       NS_MEDIAWIKI        => 'मीडियाविकि',
+       NS_MEDIAWIKI_TALK   => 'मीडियाविकि_बहज़',
+       NS_TEMPLATE         => 'नमॆना',
+       NS_TEMPLATE_TALK    => 'नमॆना_बहज़',
+       NS_HELP             => 'म॒दत',
+       NS_HELP_TALK        => 'म॒दत_बहज़',
+       NS_CATEGORY         => 'ज़ॉज़',
+       NS_CATEGORY_TALK    => 'ज़ॉज़_बहज़',
+);
+
 $digitTransformTable = array(
        '0' => '०', # &#x0966;
        '1' => '१', # &#x0967;
index 8a78f9c..e49779b 100644 (file)
@@ -60,52 +60,150 @@ $namespaceAliases = array(
 );
 
 $specialPageAliases = array(
-       'Allmessages'               => array( 'OllMessajow' ),
-       'Allpages'                  => array( 'OllFolednow' ),
-       'Ancientpages'              => array( 'FolednowKoth' ),
+       'Activeusers'               => array( 'DevnydhyoryonBew' ),
+       'Allmessages'               => array( 'OllMessajys' ),
+       'Allpages'                  => array( 'OllFolennow' ),
+       'Ancientpages'              => array( 'FolennowCoth' ),
        'Badtitle'                  => array( 'TitelDrog' ),
        'Blankpage'                 => array( 'FolenWag' ),
-       'Block'                     => array( 'Lettya' ),
-       'Booksources'               => array( 'PednfentynyowLyver' ),
-       'Categories'                => array( 'Klassys' ),
+       'Block'                     => array( 'Difen' ),
+       'Blockme'                   => array( 'DifenVy' ),
+       'Booksources'               => array( 'PennfentynyowLyver' ),
+       'BrokenRedirects'           => array( 'DaswedyansowTerrys' ),
+       'Categories'                => array( 'Classys' ),
        'ChangeEmail'               => array( 'ChanjyaEbost' ),
        'ChangePassword'            => array( 'ChanjyaGerTremena' ),
+       'ComparePages'              => array( 'KehevelyFolennow' ),
+       'Confirmemail'              => array( 'AfydhyaEbost' ),
        'Contributions'             => array( 'Kevrohow' ),
-       'CreateAccount'             => array( 'FormyaAkont' ),
+       'CreateAccount'             => array( 'FormyaAcont' ),
+       'Deadendpages'              => array( 'FolennowFordhDhall' ),
        'DeletedContributions'      => array( 'KevrohowDiles' ),
-       'EditWatchlist'             => array( 'ChanjyaRolGolyas' ),
+       'Disambiguations'           => array( 'Diamstyryansow' ),
+       'DoubleRedirects'           => array( 'DaswedyansowDewblek' ),
+       'EditWatchlist'             => array( 'ChanjyaOwRolGolyas' ),
        'Emailuser'                 => array( 'EbostyaDevnydhyer' ),
-       'Export'                    => array( 'Esperthi' ),
-       'Import'                    => array( 'Ymperthi' ),
-       'MIMEsearch'                => array( 'HwilansMIME' ),
+       'Export'                    => array( 'Esperthy' ),
+       'Fewestrevisions'           => array( 'AnLyhaAmendyansow' ),
+       'Filepath'                  => array( 'HensAnFolen' ),
+       'Import'                    => array( 'Ymperthy' ),
+       'Invalidateemail'           => array( 'DigomposaEbost' ),
+       'JavaScriptTest'            => array( 'PrevyansJavaScript' ),
+       'BlockList'                 => array( 'RolDhifen' ),
+       'LinkSearch'                => array( 'WhilasKevrennow' ),
+       'Listadmins'                => array( 'RolyaMenystroryon' ),
+       'Listbots'                  => array( 'RolyaBottys' ),
+       'Listfiles'                 => array( 'RolyaRestrennow' ),
+       'Listgrouprights'           => array( 'RolyaGwiryowBagas' ),
+       'Listredirects'             => array( 'RolyaDaswedyansow' ),
+       'Listusers'                 => array( 'RolyaDevnydhyoryon' ),
+       'Lockdb'                    => array( 'AlwhedhaDB' ),
+       'Log'                       => array( 'Covnoten', 'Covnotennow' ),
+       'Lonelypages'               => array( 'FolennowDigoweth' ),
+       'Longpages'                 => array( 'FolennowHir' ),
+       'MergeHistory'              => array( 'IstoryKesunya' ),
+       'MIMEsearch'                => array( 'WhilasMIME' ),
+       'Mostcategories'            => array( 'AnMoyhaClassys' ),
+       'Mostimages'                => array( 'AnMoyhaRestrennowKevennys' ),
+       'Mostinterwikis'            => array( 'AnMoyhaInterwikis' ),
+       'Mostlinked'                => array( 'AnMoyhaFolennowKevrennys' ),
+       'Mostlinkedcategories'      => array( 'AnMoyhaClassysKevrennys' ),
+       'Mostlinkedtemplates'       => array( 'AnMoyhaScantlynsKevrennys' ),
+       'Mostrevisions'             => array( 'AnMoyhaAmendyansow' ),
        'Movepage'                  => array( 'GwayaFolen' ),
        'Mycontributions'           => array( 'OwHevrohow' ),
        'Mypage'                    => array( 'OwFolen' ),
-       'Mytalk'                    => array( 'OwHows' ),
-       'Myuploads'                 => array( 'OwUghkargansow' ),
-       'Newimages'                 => array( 'RestrednowNowyth' ),
-       'Newpages'                  => array( 'FolednowNowyth' ),
+       'Mytalk'                    => array( 'OwHescows' ),
+       'Myuploads'                 => array( 'OwUghcargansow' ),
+       'Newimages'                 => array( 'RestrennowNowyth' ),
+       'Newpages'                  => array( 'FolennowNowyth' ),
        'PasswordReset'             => array( 'DassetyaGerTremena' ),
+       'PermanentLink'             => array( 'KevrenFast' ),
+       'Popularpages'              => array( 'FolennowGerysDa' ),
        'Preferences'               => array( 'Dowisyansow' ),
+       'Prefixindex'               => array( 'MenegvaRagerow' ),
+       'Protectedpages'            => array( 'FolennowDifresys' ),
+       'Protectedtitles'           => array( 'TitlysDifres' ),
        'Randompage'                => array( 'FolenDreJons' ),
+       'Randomredirect'            => array( 'DaswedyansDreJons' ),
        'Recentchanges'             => array( 'Chanjyow_a-dhiwedhes' ),
-       'Search'                    => array( 'Hwilas' ),
-       'Specialpages'              => array( 'FolednowArbednek' ),
-       'Uncategorizedcategories'   => array( 'KlassysHebKlass' ),
-       'Uncategorizedimages'       => array( 'RestrednowHebKlass' ),
-       'Uncategorizedpages'        => array( 'FolednowHebKlass' ),
-       'Uncategorizedtemplates'    => array( 'SkantlynsHebKlass' ),
-       'Upload'                    => array( 'Ughkarga' ),
-       'Userlogin'                 => array( 'Omgelmi' ),
-       'Userlogout'                => array( 'Digelmi' ),
+       'Recentchangeslinked'       => array( 'ChanjyowKelmys' ),
+       'Revisiondelete'            => array( 'DileaAmendyans' ),
+       'Search'                    => array( 'Whilas' ),
+       'Shortpages'                => array( 'FolennowCot' ),
+       'Specialpages'              => array( 'FolennowArbennek' ),
+       'Statistics'                => array( 'Statystygyon' ),
+       'Unblock'                   => array( 'DiswulDifennans' ),
+       'Uncategorizedcategories'   => array( 'ClassysHebClass' ),
+       'Uncategorizedimages'       => array( 'RestrennowHebClass' ),
+       'Uncategorizedpages'        => array( 'FolennowHebClass' ),
+       'Uncategorizedtemplates'    => array( 'ScantlynsHebClass' ),
+       'Undelete'                  => array( 'DiswulDileans' ),
+       'Unlockdb'                  => array( 'DialwhedhaDB' ),
+       'Unusedcategories'          => array( 'ClassysHebDevnydh' ),
+       'Unusedimages'              => array( 'RestrennowHebDevnydh' ),
+       'Unusedtemplates'           => array( 'ScantlynsHebDevnydh' ),
+       'Unwatchedpages'            => array( 'FolennowHebAgaHolyas' ),
+       'Upload'                    => array( 'Ughcarga' ),
+       'Userlogin'                 => array( 'Omgelmy' ),
+       'Userlogout'                => array( 'Digelmy' ),
        'Userrights'                => array( 'GwiryowDevnydhyer' ),
        'Version'                   => array( 'Versyon' ),
-       'Wantedcategories'          => array( 'KlassysHwansus' ),
-       'Wantedfiles'               => array( 'RestrednowHwansus' ),
-       'Wantedpages'               => array( 'FolednowHwansus' ),
-       'Wantedtemplates'           => array( 'SkantlynsHwansus' ),
+       'Wantedcategories'          => array( 'ClassysWhansus' ),
+       'Wantedfiles'               => array( 'RestrennowWhansus' ),
+       'Wantedpages'               => array( 'FolennowWhansus' ),
+       'Wantedtemplates'           => array( 'ScantlynsWhansus' ),
        'Watchlist'                 => array( 'Rol_golyas' ),
-       'Whatlinkshere'             => array( 'OwKevrednaObma' ),
+       'Whatlinkshere'             => array( 'OwKevrennaOmma' ),
+       'Withoutinterwiki'          => array( 'HebInterwiki' ),
+);
+
+$magicWords = array(
+       'redirect'                  => array( '0', '#DASWEDYANS', '#REDIRECT' ),
+       'numberofpages'             => array( '1', 'NIVERAFOLENNOW', 'NUMBEROFPAGES' ),
+       'numberofarticles'          => array( '1', 'NIVERAERTHYGLOW', 'NUMBEROFARTICLES' ),
+       'numberoffiles'             => array( '1', 'NIVERARESTRENNOW', 'NUMBEROFFILES' ),
+       'numberofusers'             => array( '1', 'NIVERADHEVNYDHYORYON', 'NUMBEROFUSERS' ),
+       'numberofactiveusers'       => array( '1', 'NIVERADHEVNYDHYORYONVEW', 'NUMBEROFACTIVEUSERS' ),
+       'numberofedits'             => array( '1', 'NIVERAJANJYOW', 'NUMBEROFEDITS' ),
+       'numberofviews'             => array( '1', 'NIVERAWELOW', 'NUMBEROFVIEWS' ),
+       'pagename'                  => array( '1', 'HANOWANFOLEN', 'PAGENAME' ),
+       'fullpagename'              => array( '1', 'HANOWLEUNANFOLEN', 'FULLPAGENAME' ),
+       'img_thumbnail'             => array( '1', 'skeusennik', 'thumbnail', 'thumb' ),
+       'img_manualthumb'           => array( '1', 'skeusennik=$1', 'thumbnail=$1', 'thumb=$1' ),
+       'img_right'                 => array( '1', 'dyhow', 'right' ),
+       'img_left'                  => array( '1', 'cledh', 'left' ),
+       'img_none'                  => array( '1', 'nagonan', 'none' ),
+       'img_center'                => array( '1', 'cresel', 'center', 'centre' ),
+       'img_framed'                => array( '1', 'fremys', 'framed', 'enframed', 'frame' ),
+       'img_frameless'             => array( '1', 'hebfram', 'frameless' ),
+       'img_page'                  => array( '1', 'folen=$1', 'folen_$1', 'page=$1', 'page $1' ),
+       'img_top'                   => array( '1', 'gwartha', 'top' ),
+       'img_text_top'              => array( '1', 'text-gwartha', 'text-top' ),
+       'img_middle'                => array( '1', 'cres', 'middle' ),
+       'img_bottom'                => array( '1', 'goles', 'bottom' ),
+       'img_text_bottom'           => array( '1', 'text-goles', 'text-bottom' ),
+       'img_link'                  => array( '1', 'kevren=$1', 'link=$1' ),
+       'sitename'                  => array( '1', 'HANOWANWIASVA', 'SITENAME' ),
+       'pageid'                    => array( '0', 'IDANFOLEN', 'PAGEID' ),
+       'server'                    => array( '0', 'SERVYER', 'SERVER' ),
+       'servername'                => array( '0', 'HANOWANSERVYER', 'SERVERNAME' ),
+       'grammar'                   => array( '0', 'GRAMASEK:', 'GRAMMAR:' ),
+       'fullurl'                   => array( '0', 'URLLEUN:', 'FULLURL:' ),
+       'displaytitle'              => array( '1', 'DISQWEDHESANTITEL', 'DISPLAYTITLE' ),
+       'language'                  => array( '0', '#YETH:', '#LANGUAGE:' ),
+       'numberofadmins'            => array( '1', 'NIVERAVENYSTRORYON', 'NUMBEROFADMINS' ),
+       'special'                   => array( '0', 'arbennek', 'special' ),
+       'filepath'                  => array( '0', 'HENSANFOLEN:', 'FILEPATH:' ),
+       'hiddencat'                 => array( '1', '__CLASSCUDHYS__', '__HIDDENCAT__' ),
+       'pagesincategory'           => array( '1', 'RESTRENNOWYNCLASS', 'PAGESINCATEGORY', 'PAGESINCAT' ),
+       'pagesize'                  => array( '1', 'MENSANRESTREN', 'PAGESIZE' ),
+       'index'                     => array( '1', '__MENEGVA__', '__INDEX__' ),
+       'noindex'                   => array( '1', '__HEBMENEGVA__', '__NOINDEX__' ),
+       'numberingroup'             => array( '1', 'NIVERYNBAGAS', 'NUMBERINGROUP', 'NUMINGROUP' ),
+       'url_path'                  => array( '0', 'HENS', 'PATH' ),
+       'pagesincategory_all'       => array( '0', 'oll', 'all' ),
+       'pagesincategory_pages'     => array( '0', 'folennow', 'pages' ),
 );
 
 $messages = array(
index 99a77d8..2e1f405 100644 (file)
@@ -2338,7 +2338,7 @@ Quaesumus, adfirma ut iterum hanc paginam crees.",
 'specialpages-group-users' => 'Usores eorumque potestates',
 'specialpages-group-pages' => 'Indices paginarum',
 'specialpages-group-pagetools' => 'Instrumenta paginarum',
-'specialpages-group-wiki' => 'Vici-data et instrumenta',
+'specialpages-group-wiki' => 'Data et instrumenta',
 'specialpages-group-redirects' => 'Paginae speciales redirigentes',
 'specialpages-group-spam' => 'Instrumenta contra praeconia incommoda',
 
index 0d27a58..aefa70f 100644 (file)
@@ -156,7 +156,7 @@ $magicWords = array(
        'pagename'                  => array( '1', 'Säitennumm', 'SEITENNAME', 'PAGENAME' ),
        'namespace'                 => array( '1', 'Nummraum', 'NAMENSRAUM', 'NAMESPACE' ),
        'subjectspace'              => array( '1', 'Haaptnummraum', 'HAUPTNAMENSRAUM', 'SUBJECTSPACE', 'ARTICLESPACE' ),
-       'subjectpagename'           => array( '1', 'Haaptsäit', 'HAUPTSEITE', 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
+       'subjectpagename'           => array( '1', 'Haaptsäit', 'HAUPTSEITE', 'HAUPTSEITENNAME', 'VORDERSEITE', 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
        'img_thumbnail'             => array( '1', 'Miniatur', 'miniatur', 'mini', 'thumbnail', 'thumb' ),
        'img_right'                 => array( '1', 'riets', 'rechts', 'right' ),
        'img_left'                  => array( '1', 'lénks', 'links', 'left' ),
@@ -175,8 +175,8 @@ $magicWords = array(
        'formatnum'                 => array( '0', 'ZUELEFORMAT', 'ZAHLENFORMAT', 'FORMATNUM' ),
        'special'                   => array( '0', 'spezial', 'special' ),
        'hiddencat'                 => array( '1', '__VERSTOPPT_KATEGORIE__', '__VERSTECKTE_KATEGORIE__', '__WARTUNGSKATEGORIE__', '__HIDDENCAT__' ),
-       'pagesincategory_pages'     => array( '0', 'Säiten', 'pages' ),
-       'pagesincategory_files'     => array( '0', 'Fichieren', 'files' ),
+       'pagesincategory_pages'     => array( '0', 'Säiten', 'seiten', 'pages' ),
+       'pagesincategory_files'     => array( '0', 'Fichieren', 'dateien', 'files' ),
 );
 
 $messages = array(
@@ -615,7 +615,7 @@ Vergiesst net fir Är [[Special:Preferences|{{SITENAME}} Astellungen]] z'ännere
 'gotaccount' => "Dir hutt schonn e Benotzerkont? '''$1'''.",
 'gotaccountlink' => 'Umellen',
 'userlogin-resetlink' => "Hutt Dir d'Detailer vun Ärem Login vergiess?",
-'createaccountmail' => 'Via E-Mail',
+'createaccountmail' => 'En temporäert Passwuert benotzen an et per E-Mail un déi E-Mailadress schécken déi hei drënner steet',
 'createaccountreason' => 'Grond:',
 'badretype' => 'Är Passwierder stëmmen net iwwerdeneen.',
 'userexists' => 'De Benotzernumm deen agi gouf gëtt scho benotzt.
@@ -690,6 +690,7 @@ Waart w.e.g. ier Dir et nach eng Kéier versicht.",
 # E-mail sending
 'php-mail-error-unknown' => 'Onbekannte Feeler an der PHP-Mail-Fonctioun',
 'user-mail-no-addy' => 'Huet versicht eng Mail ouni Mailadress ze schécken',
+'user-mail-no-body' => 'Et gouf probéiert eng E-Mail ouni Text oder mat engem ze kuerzen Text ze schécken.',
 
 # Change password dialog
 'resetpass' => 'Passwuert änneren',
@@ -910,7 +911,8 @@ Dir verspriecht ausserdeem datt Dir dësen Text selwer verfaasst hutt, oder aus
 'copyrightwarning2' => "W.e.g. notéiert datt all Kontributiounen op {{SITENAME}} vun anere Benotzer verännert oder geläscht kënne ginn. Wann dir dat net wëllt, da setzt näischt heihinner.<br />
 Dir verspriecht ausserdeem datt dir dësen Text selwer verfaasst hutt, oder aus dem Domaine public oder anere fräie Quelle kopéiert hutt. (cf. $1 fir méi Detailler). '''DROT KEE COPYRECHTLECH GESCHÜTZTE CONTENU AN!'''",
 'longpageerror' => "'''FEELER: Den Text, den Dir Versicht ze späicheren, huet {{PLURAL:$1|1 Kilobyte|$1 Kilobytes}}. Dëst ass méi wéi den erlaabte Maximum vun  {{PLURAL:$2|1 Kilobyte|$2 Kilobytes}}''' Dofir kann den Text net gespäichert ginn.",
-'readonlywarning' => "'''OPGEPASST: D'Datebank gouf wéinst Maintenanceaarbechte fir Säitenännerunge gespaart, dofir kënnt Dir déi Säit den Ament net ofspäicheren. Versuergt den Text a versicht d'Ännerunge méi spéit nach emol ze maachen.'''
+'readonlywarning' => "'''OPGEPASST: D'Datebank gouf wéinst Maintenanceaarbechte gespaart, dofir kënnt Dir Är Ännerungen den Ament net ofspäicheren.'''
+Dir kënnt den Text kopéieren an an een Textfichier drasetzen an deen ofspäicheren fir méi spéit.
 
 Den Administrateur den d'Datebank gespaart huet, huet dës Erklärung ginn: $1",
 'protectedpagewarning' => "'''OPGEPASST: Dës Säit gouf gespaart a kann nëmme vun engem Administrateur geännert ginn.''' Déi lescht Zeil aus de Logbicher fannt Dir zu Ärer Informatioun hei ënnendrënner.",
@@ -2083,7 +2085,7 @@ Et muss mindestens en Top-Level-Domaine ugi ginn, wéi z. Bsp. ".org".<br />
 # Special:ActiveUsers
 'activeusers' => 'Lëscht vun den aktive Benotzer',
 'activeusers-intro' => 'Dëst ass eng Lëscht vun de Benotzer déi op iergend eng Manéier an de leschten $1 {{PLURAL:$1|Dag|Deeg}} aktiv waren.',
-'activeusers-count' => '$1 {{PLURAL:$1|Ännerung|Ännerungen}} {{PLURAL:$3|gëschter|an de leschten $3 Deeg}}',
+'activeusers-count' => '$1 {{PLURAL:$1|Aktioun|Aktiounen}} {{PLURAL:$3|gëschter|an de leschten $3 Deeg}}',
 'activeusers-from' => 'Benotzer weisen, ugefaang bäi:',
 'activeusers-hidebots' => 'Botte verstoppen',
 'activeusers-hidesysops' => 'Administrateure verstoppen',
@@ -2608,13 +2610,13 @@ Fir d'Datebank ze spären oder fir d'Spär opzehiewen muss dëse Fichier vum Web
 'move-page' => 'Réckel $1',
 'move-page-legend' => 'Säit réckelen',
 'movepagetext' => "Wann dir dëse Formulaire benotzt, réckelt dir eng komplett Säit mat hirem Historique op en neien Numm.
-Den alen Titel déngt als Viruleedung op déi nei Säit.
+Den alen Titel gëtt eng Viruleedung op déi nei Säit.
 Dir kënnt Viruleedungen déi op déi al Säit ginn automatesch aktualiséieren.
-Wann Dir dat net maacht, da vergewëssert iech datt keng [[Special:DoubleRedirects|duebel]] oder [[Special:BrokenRedirects|futtis Viruleedungen]] am Spill sinn.
-Dir sidd responsabel datt d'Linke weiderhinn dohinner pointéieren, wou se hi sollen.
+Wann Dir dat net maacht, da vergewëssert Iech datt keng [[Special:DoubleRedirects|duebel]] oder [[Special:BrokenRedirects|futtis Viruleedungen]] am Spill sinn.
+Dir sidd responsabel datt d'Linke weiderhin dohinner pointéieren, wou se hi sollen.
 
 Beuecht w.e.g. datt d'Säit '''net''' geréckelt gëtt, wann et schonns eng Säit mat deem Titel gëtt, ausser déi ass eidel, ass eng Viruleedung oder huet keen Historique.
-Dëst bedeit datt dir eng Säit ëmbenenne kënnt an datt dir keng Säit iwwerschreiwe kënnt, déi et schonns gëtt.
+Dëst bedeit datt dir eng Säit zréck op hiren ursprénglechen Numm ëmbenenne kënnt wann Dir Iech geiert hat an datt dir keng Säit iwwerschreiwe kënnt, déi et schonns gëtt.
 
 '''OPGEPASST!'''
 Dëst kann en drastesche Changement fir eng populär Säit bedeiten;
@@ -3681,7 +3683,7 @@ Den ugefrote Fichier gëtt direkt gewise respektiv mat enger verbonner Applikati
 'specialpages-group-highuse' => 'Dacks benotzte Säiten',
 'specialpages-group-pages' => 'Lëschte vu Säiten',
 'specialpages-group-pagetools' => 'Handwierksgeschir fir Säiten',
-'specialpages-group-wiki' => 'Systemdaten an Handwierksgeschir',
+'specialpages-group-wiki' => 'Daten an Handwierksgeschir',
 'specialpages-group-redirects' => 'Spezialsäiten déi viruleeden',
 'specialpages-group-spam' => 'Handwierksgeschir géint de Spam',
 
@@ -3775,6 +3777,7 @@ Den ugefrote Fichier gëtt direkt gewise respektiv mat enger verbonner Applikati
 'logentry-newusers-newusers' => 'De Benotzerkont $1 gouf ugeluecht',
 'logentry-newusers-create' => 'De Benotzerkont $1 gouf ugeluecht',
 'logentry-newusers-create2' => 'De Benotzerkont $3 gouf vum $1 ugeluecht',
+'logentry-newusers-byemail' => "De Benotzerkont $3 gouf vum $1 ugeluecht an d'Passwuert gouf per E-Mail geschéckt.",
 'logentry-newusers-autocreate' => 'De Benotzerkont $1 gouf automatesch ugeluecht',
 'logentry-rights-autopromote' => "De Benotzer $1 huet d'Benotzerrechter automatesch vu(n) $4 op $5 geännert",
 'rightsnone' => '(keen)',
@@ -3831,6 +3834,7 @@ Soss kënnt Dir den einfache Formulär hei drënner benotzen. Är Bemierkung gë
 'api-error-ok-but-empty' => 'Interne Feeler: keng Äntwert vum Server.',
 'api-error-overwrite' => "D'Iwwerschreiwe vun engem Fichier ass net erlaabt.",
 'api-error-stashfailed' => 'Interne Feeler: de Server konnt den temporäre Fichier net späicheren.',
+'api-error-publishfailed' => 'Interne Feeler: de Server konnt den temporäre Fichier net publizéieren.',
 'api-error-timeout' => 'De Server huet net bannen där Zäit geäntwert déi virgesinn ass.',
 'api-error-unclassified' => 'En onbekannte Feeler ass geschitt',
 'api-error-unknown-code' => 'Onbekannte Feeler: "$1"',
index 23a0feb..d733ce3 100644 (file)
 
 $fallback = 'id';
 
+$namespaceNames = array(
+       NS_FILE             => 'Berkas',
+       NS_TEMPLATE         => 'Templat',
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Garih bawahi link:',
index 8ddc66c..3ac29b3 100644 (file)
@@ -330,7 +330,7 @@ $magicWords = array(
        'numberingroup'             => array( '1', 'БРОЈВОГРУПА', 'NUMBERINGROUP', 'NUMINGROUP' ),
        'staticredirect'            => array( '1', '__СТАТИЧНОПРЕНАСОЧУВАЊЕ__', '__STATICREDIRECT__' ),
        'protectionlevel'           => array( '1', 'НИВОНАЗАШТИТА', 'PROTECTIONLEVEL' ),
-       'formatdate'                => array( '0', 'Ñ\84оÑ\80маÑ\82надаÑ\82Ñ\83м', 'formatdate', 'dateformat' ),
+       'formatdate'                => array( '0', 'форматдатум', 'formatdate', 'dateformat' ),
        'url_path'                  => array( '0', 'ПАТЕКА', 'PATH' ),
        'url_wiki'                  => array( '0', 'ВИКИ', 'WIKI' ),
        'url_query'                 => array( '0', 'БАРАЊЕ', 'QUERY' ),
@@ -791,7 +791,7 @@ $2',
 'gotaccount' => "Веќе имате корисничка сметка? '''$1'''.",
 'gotaccountlink' => 'Најавете се',
 'userlogin-resetlink' => 'Си ги заборавивте податоците за најава?',
-'createaccountmail' => 'по Ðµ-поÑ\88Ñ\82а',
+'createaccountmail' => 'Ð\94аÑ\98 Ð¿Ñ\80ивÑ\80емена Ð¿Ñ\80оизволна Ð»Ð¾Ð·Ð¸Ð½ÐºÐ° Ð¸ Ð¸Ñ\81пÑ\80аÑ\82и Ñ\98а Ð½Ð° Ð´Ð¾Ð»Ñ\83наведенаÑ\82а Ð°Ð´Ñ\80еÑ\81а',
 'createaccountreason' => 'Причина:',
 'badretype' => 'Внесените лозинки не се совпаѓаат.',
 'userexists' => 'Корисничкото име што го внесовте е зафатено.
@@ -2334,7 +2334,7 @@ $1',
 # Special:ActiveUsers
 'activeusers' => 'Список на активни корисници',
 'activeusers-intro' => 'Ова е список на корисници кои биле на некој начин активни во последните $1 {{PLURAL:$1|ден|дена}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|уредување|уредувања}} {{PLURAL:$3|денес|во последните $3 дена}}',
+'activeusers-count' => '$1 {{PLURAL:$1|дејство|дејства}} {{PLURAL:$3|денес|во последните $3 дена}}',
 'activeusers-from' => 'Прикажи корисници почнувајќи од:',
 'activeusers-hidebots' => 'Скриј ботови',
 'activeusers-hidesysops' => 'Скриј администратори',
@@ -2397,7 +2397,7 @@ $1',
 'usermessage-editor' => 'Системски гласник',
 
 # Watchlist
-'watchlist' => 'набљудувања',
+'watchlist' => 'Ð\9dабљудувања',
 'mywatchlist' => 'Набљудувања',
 'watchlistfor2' => 'За $1 $2',
 'nowatchlist' => 'Немате ништо во списокот на набљудувања.',
@@ -4167,7 +4167,7 @@ $5
 'specialpages-group-highuse' => 'Најкористени страници',
 'specialpages-group-pages' => 'Списоци на страници',
 'specialpages-group-pagetools' => 'Алатки за страници',
-'specialpages-group-wiki' => 'Ð\92ики-податоци и алатки',
+'specialpages-group-wiki' => 'Ð\9fодатоци и алатки',
 'specialpages-group-redirects' => 'Пренасочување на специјални страници',
 'specialpages-group-spam' => 'Алатки против спам',
 
@@ -4263,6 +4263,7 @@ $5
 'logentry-newusers-newusers' => 'Направена е корисничката сметка $1',
 'logentry-newusers-create' => 'Направена е корисничката сметка $1',
 'logentry-newusers-create2' => 'Направена е корисничката сметка $3; создавач: $1',
+'logentry-newusers-byemail' => '$1 ја создаде корисничката сметка $3. Лозинката ви ја испративме по е-пошта',
 'logentry-newusers-autocreate' => 'Сметката $1 е создадена автоматски',
 'logentry-rights-rights' => '$1 го смени групното членство за $3 од $4 во $5',
 'logentry-rights-rights-legacy' => '$1 го смени групното членство за $3',
index 270d5ce..96d5da0 100644 (file)
@@ -262,6 +262,7 @@ $magicWords = array(
        'img_text_bottom'           => array( '1', 'എഴുത്ത്-താഴെ', 'text-bottom' ),
        'img_link'                  => array( '1', 'കണ്ണി=$1', 'link=$1' ),
        'img_alt'                   => array( '1', 'പകരം=$1', 'alt=$1' ),
+       'img_class'                 => array( '1', 'ശ്രേണി=$1', 'class=$1' ),
        'sitename'                  => array( '1', 'സൈറ്റിന്റെപേര്', 'SITENAME' ),
        'ns'                        => array( '0', 'നാമേ:', 'NS:' ),
        'localurl'                  => array( '0', 'ലോക്കൽയുആർഎൽ:', 'LOCALURL:' ),
@@ -307,6 +308,7 @@ $magicWords = array(
        'padleft'                   => array( '0', 'ഇടത്ത്നിറക്കുക', 'PADLEFT' ),
        'padright'                  => array( '0', 'വലത്ത്നിറക്കുക', 'PADRIGHT' ),
        'special'                   => array( '0', 'പ്രത്യേകം', 'special' ),
+       'speciale'                  => array( '0', 'സവിശേഷം', 'speciale' ),
        'defaultsort'               => array( '1', 'സ്വതവേയുള്ളക്രമപ്പെടുത്തൽ:', 'സ്വതവേയുള്ളക്രമപ്പെടുത്തൽചാവി:', 'സ്വതവേയുള്ളവർഗ്ഗക്രമപ്പെടുത്തൽ:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ),
        'filepath'                  => array( '0', 'പ്രമാണപഥം:', 'FILEPATH:' ),
        'tag'                       => array( '0', 'റ്റാഗ്', 'ടാഗ്', 'tag' ),
@@ -768,7 +770,7 @@ $2',
 'gotaccount' => "താങ്കൾക്ക് അംഗത്വമുണ്ടോ? '''$1'''.",
 'gotaccountlink' => 'പ്രവേശിക്കുക',
 'userlogin-resetlink' => 'താങ്കളുടെ ലോഗിൻ വിവരങ്ങൾ മറന്നു പോയോ?',
-'createaccountmail' => 'à´\87à´®àµ\86യിൽ à´µà´´à´¿',
+'createaccountmail' => 'താതàµ\8dà´\95ാലിà´\95മായ à´\95àµ\8dരമരഹിത à´°à´¹à´¸àµ\8dയവാà´\95àµ\8dà´\95àµ\8d à´\89പയàµ\8bà´\97à´¿à´\95àµ\8dà´\95ാനനàµ\81വാദà´\82 à´¨àµ½à´\95àµ\81à´\95à´¯àµ\81à´\82 à´\85à´¤àµ\8d à´¤à´¾à´´àµ\86 à´µàµ\8dà´¯à´\95àµ\8dതമാà´\95àµ\8dà´\95ിയിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨ à´\87à´®àµ\86യിൽ à´µà´¿à´²à´¾à´¸à´¤àµ\8dതിലàµ\87à´¯àµ\8dà´\95àµ\8dà´\95àµ\8d à´\85à´¯à´\95àµ\8dà´\95àµ\81à´\95à´¯àµ\81à´\82 à´\9aàµ\86à´¯àµ\8dà´¯àµ\81à´\95',
 'createaccountreason' => 'കാരണം:',
 'badretype' => 'താങ്കൾ നൽകിയ രഹസ്യവാക്കുകൾ സമമല്ല.',
 'userexists' => 'നൽകിയ ഉപയോക്തൃനാമം മുമ്പേ നിലവിലുണ്ട്.
@@ -1047,7 +1049,7 @@ $1 ആണ് ഈ തടയൽ നടത്തിയത്. ''$2'' എന്ന
 ഇതു താങ്കൾത്തന്നെ എഴുതിയതാണെന്നും, അതല്ലെങ്കിൽ പകർപ്പവകാശ നിയമങ്ങളുടെ പരിധിയിലില്ലാത്ത ഉറവിടങ്ങളിൽനിന്നും പകർത്തിയതാണെന്നും ഉറപ്പാക്കുക (കുടുതൽ വിവരത്തിനു $1 കാണുക).
 '''പകർപ്പവകാശ സംരക്ഷണമുള്ള സൃഷ്ടികൾ ഒരു കാരണവശാലും ഇവിടെ പ്രസിദ്ധീകരിക്കരുത്!'''",
 'longpageerror' => "'''പിഴവ്: താങ്കൾ സമർപ്പിച്ച എഴുത്തുകൾക്ക് {{PLURAL:$1|ഒരു കിലോബൈറ്റ്|$1 കിലോബൈറ്റ്സ്}} വലിപ്പമുണ്ട്. പരമാവധി അനുവദനീയമായ വലിപ്പം {{PLURAL:$2|ഒരു കിലോബൈറ്റ്|$2 കിലോബൈറ്റ്സ്}} ആണ്‌. അതിനാലിതു സേവ് ചെയ്യാൻ സാദ്ധ്യമല്ല.'''",
-'readonlywarning' => "'''à´®àµ\81à´¨àµ\8dനറിയിപàµ\8dà´ªàµ\8d: à´¡àµ\87à´±àµ\8dറാബàµ\87à´¸àµ\8d à´ªà´°à´¿à´ªà´¾à´²à´¨à´¤àµ\8dതിനàµ\81 à´µàµ\87à´£àµ\8dà´\9fà´¿ à´¬à´¨àµ\8dധിà´\9aàµ\8dà´\9aà´¿à´°à´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81, à´\85à´¤àµ\81à´\95àµ\8aà´£àµ\8dà´\9fàµ\8d à´¤à´¾à´\99àµ\8dà´\95ളിപàµ\8dà´ªàµ\8bൾ à´µà´°àµ\81à´¤àµ\8dതിയ à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ൾ à´¸àµ\87à´µàµ\8d à´\9aàµ\86à´¯àµ\8dയാൻ à´¸à´¾à´¦àµ\8dà´§àµ\8dയമലàµ\8dà´².''' à´¤à´¾à´\99àµ\8dà´\95ൾ à´µà´°àµ\81à´¤àµ\8dതിയ à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ൾ à´\92à´°àµ\81 à´\9fàµ\86à´\95àµ\8dà´¸àµ\8dà´±àµ\8dà´±àµ\8d à´ªàµ\8dരമാണതàµ\8dതിലàµ\87à´\95àµ\8dà´\95àµ\8d à´ªà´\95ർതàµ\8dതി (à´\95à´\9fàµ\8dà´\9fàµ\8d & പേസ്റ്റ്) പിന്നീടുള്ള ഉപയോഗത്തിനായി സേവ് ചെയ്യുവാൻ താല്പര്യപ്പെടുന്നു. ഡേറ്റാബേസ് ബന്ധിച്ച അഡ്മിനിസ്ട്രേറ്റർ നൽകിയ വിശദീകരണം: $1",
+'readonlywarning' => "'''à´®àµ\81à´¨àµ\8dനറിയിപàµ\8dà´ªàµ\8d: à´¡àµ\87à´±àµ\8dറാബàµ\87à´¸àµ\8d à´ªà´°à´¿à´ªà´¾à´²à´¨à´¤àµ\8dതിനàµ\81 à´µàµ\87à´£àµ\8dà´\9fà´¿ à´¬à´¨àµ\8dധിà´\9aàµ\8dà´\9aà´¿à´°à´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81, à´\85à´¤àµ\81à´\95àµ\8aà´£àµ\8dà´\9fàµ\8d à´¤à´¾à´\99àµ\8dà´\95ളിപàµ\8dà´ªàµ\8bൾ à´µà´°àµ\81à´¤àµ\8dതിയ à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ൾ à´¸àµ\87à´µàµ\8d à´\9aàµ\86à´¯àµ\8dയാൻ à´¸à´¾à´¦àµ\8dà´§àµ\8dയമലàµ\8dà´².''' à´¤à´¾à´\99àµ\8dà´\95ൾ à´µà´°àµ\81à´¤àµ\8dതിയ à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ൾ à´\92à´°àµ\81 à´\9fàµ\86à´\95àµ\8dà´¸àµ\8dà´±àµ\8dà´±àµ\8d à´ªàµ\8dരമാണതàµ\8dതിലàµ\87à´\95àµ\8dà´\95àµ\8d à´ªà´\95ർതàµ\8dതി (à´\95àµ\8bà´ªàµ\8dപി & പേസ്റ്റ്) പിന്നീടുള്ള ഉപയോഗത്തിനായി സേവ് ചെയ്യുവാൻ താല്പര്യപ്പെടുന്നു. ഡേറ്റാബേസ് ബന്ധിച്ച അഡ്മിനിസ്ട്രേറ്റർ നൽകിയ വിശദീകരണം: $1",
 'protectedpagewarning' => "'''മുന്നറിയിപ്പ്:  ഈ താൾ കാര്യനിർവാഹക പദവിയുള്ളവർക്കു മാത്രം തിരുത്താൻ സാധിക്കാവുന്ന തരത്തിൽ സം‌രക്ഷിക്കപ്പെട്ടിരിക്കുന്നു.''' അവലംബമായി രേഖകളിൽ ലഭ്യമായ ഏറ്റവും പുതിയ വിവരം താഴെ നൽകിയിരിക്കുന്നു:",
 'semiprotectedpagewarning' => "'''ശ്രദ്ധിക്കുക:'''അംഗത്വമെടുത്തിട്ടുള്ളവർക്കുമാത്രം തിരുത്താൻ സാധിക്കുന്ന വിധത്തിൽ ഈ താൾ സംരക്ഷിക്കപ്പെട്ടിരിക്കുന്നു. അവലംബമായി രേഖകളിലെ ഏറ്റവും പുതിയ വിവരം താഴെ കൊടുത്തിരിക്കുന്നു:",
 'cascadeprotectedwarning' => "'''മുന്നറിയിപ്പ്:''' ഈ താൾ കാര്യനിർവാഹക അവകാശമുള്ളവർക്കു മാത്രം തിരുത്തുവാൻ സാധിക്കുന്ന വിധത്തിൽ സം‌രക്ഷിക്കപ്പെട്ടിട്ടുള്ളതാണ്‌. {{PLURAL:$1|താൾ|താളുകൾ}} കാസ്കേഡ് സം‌രക്ഷണം ചെയ്തപ്പോൾ അതിന്റെ ഭാഗമായി സംരക്ഷിക്കപ്പെട്ടിട്ടുള്ളതാണ്‌ ഈ താൾ.",
@@ -2244,7 +2246,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization കാണുക.',
 # Special:ActiveUsers
 'activeusers' => 'സജീവ ഉപയോക്താക്കളുടെ പട്ടിക',
 'activeusers-intro' => 'ഇത് കഴിഞ്ഞ {{PLURAL:$1|ദിവസം|$1 ദിവസങ്ങളിൽ}} ഏതെങ്കിലും വിധത്തിലുള്ള പ്രവർത്തനങ്ങൾ ചെയ്ത ഉപയോക്താക്കളുടെ പട്ടികയാണ്.',
-'activeusers-count' => 'à´\95à´´à´¿à´\9eàµ\8dà´\9e {{PLURAL:$3|à´\92à´°àµ\81 à´¦à´¿à´µà´¸à´\82|$3 à´¦à´¿à´µà´¸à´\99àµ\8dà´\99ളിൽ}} {{PLURAL:$1|à´\92à´°àµ\81 à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\8d|$1 à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\81കൾ}}',
+'activeusers-count' => 'à´\95à´´à´¿à´\9eàµ\8dà´\9e {{PLURAL:$3|à´\92à´°àµ\81 à´¦à´¿à´µà´¸à´\82|$3 à´¦à´¿à´µà´¸à´\99àµ\8dà´\99ളിൽ}} {{PLURAL:$1|à´\92à´°àµ\81 à´ªàµ\8dà´°à´µàµ\83à´¤àµ\8dതി|$1 à´ªàµ\8dà´°à´µàµ\83à´¤àµ\8dതികൾ}}',
 'activeusers-from' => 'ഇങ്ങനെ തുടങ്ങുന്ന ഉപയോക്താക്കളെ കാട്ടുക:',
 'activeusers-hidebots' => 'യന്ത്രങ്ങളെ മറയ്ക്കുക',
 'activeusers-hidesysops' => 'കാര്യനിർവാഹകരെ മറയ്ക്കുക',
@@ -3889,7 +3891,7 @@ $5
 'specialpages-group-highuse' => 'കൂടുതൽ ഉപയോഗിക്കപ്പെട്ട താളുകൾ',
 'specialpages-group-pages' => 'താളുകളുടെ പട്ടിക',
 'specialpages-group-pagetools' => 'താളുകൾക്കുള്ള ഉപകരണങ്ങൾ',
-'specialpages-group-wiki' => 'വിà´\95àµ\8dà´\95à´¿ à´µà´¿à´µà´°à´\99àµ\8dà´\99à´³àµ\81à´\82 à´\89à´ªà´\95à´°à´£à´\99àµ\8dà´\99à´³àµ\81à´\82',
+'specialpages-group-wiki' => 'വിവരങ്ങളും ഉപകരണങ്ങളും',
 'specialpages-group-redirects' => 'തിരിച്ചുവിടൽ സംബന്ധിച്ച പ്രത്യേക താളുകൾ',
 'specialpages-group-spam' => 'പാഴെഴുത്ത് ഉപകരണങ്ങൾ',
 
@@ -3987,6 +3989,7 @@ $5
 'logentry-newusers-newusers' => '$1 എന്ന ഉപയോക്തൃ അംഗത്വം സൃഷ്ടിക്കപ്പെട്ടിരിക്കുന്നു',
 'logentry-newusers-create' => '$1 എന്ന ഉപയോക്തൃ അംഗത്വം സൃഷ്ടിക്കപ്പെട്ടിരിക്കുന്നു',
 'logentry-newusers-create2' => '$3 എന്ന ഉപയോക്തൃ അംഗത്വം $1 സൃഷ്ടിച്ചിരിക്കുന്നു',
+'logentry-newusers-byemail' => '$3 എന്ന ഉപയോക്തൃ അംഗത്വം $1 സൃഷ്ടിച്ചിരിക്കുന്നു, രഹസ്യവാക്ക് ഇമെയിൽ വഴി അയച്ചു',
 'logentry-newusers-autocreate' => '$1 എന്ന അംഗത്വം സ്വയം സൃഷ്ടിക്കപ്പെട്ടിരിക്കുന്നു',
 'logentry-rights-rights' => '$3 എന്ന ഉപയോക്താവിന്റെ സംഘ അംഗത്വം $1, $4 എന്നതിൽ നിന്നു $5 എന്നതിലേക്കു മാറ്റിയിരിക്കുന്നു',
 'logentry-rights-rights-legacy' => '$3 എന്ന ഉപയോക്താവിന്റെ സംഘ അംഗത്വം $1 മാറ്റിയിരിക്കുന്നു',
@@ -4045,6 +4048,7 @@ $5
 'api-error-ok-but-empty' => 'ആന്തരിക പിഴവ്: സെർവറിൽ നിന്ന് പ്രതികരണമൊന്നും ലഭിക്കുന്നില്ല.',
 'api-error-overwrite' => 'നിലവിലുള്ള പ്രമാണത്തിന്റെ മുകളിൽ സ്ഥാപിക്കൽ അനുവദിച്ചിട്ടില്ല.',
 'api-error-stashfailed' => 'ആന്തരിക പിഴവ്: പ്രമാണം താത്കാലികമായി സംഭരിക്കുന്നതിൽ സെർവർ പരാജയപ്പെട്ടു.',
+'api-error-publishfailed' => 'ആന്തരിക പിഴവ്: താത്കാലിക പ്രമാണം പ്രസിദ്ധീകരിക്കുന്നതിൽ സെർവർ പരാജയപ്പെട്ടു.',
 'api-error-timeout' => 'പ്രതീക്ഷിക്കപ്പെട്ട കാലാവധിക്കുള്ളിൽ സെർവർ പ്രതികരിച്ചില്ല.',
 'api-error-unclassified' => 'അപരിചിതമായ പിഴവ് സംഭവിച്ചിരിക്കുന്നു',
 'api-error-unknown-code' => 'അപരിചിതമായ പിഴവ്: "$1"',
index e9259c1..e2833ce 100644 (file)
@@ -63,8 +63,8 @@ $magicWords = array(
        'noeditsection'             => array( '0', '__KEENÄNNERNLINK__', '__ABSCHNITTE_NICHT_BEARBEITEN__', '__NOEDITSECTION__' ),
        'currentmonth'              => array( '1', 'AKTMAAND', 'JETZIGER_MONAT', 'JETZIGER_MONAT_2', 'CURRENTMONTH', 'CURRENTMONTH2' ),
        'currentmonthname'          => array( '1', 'AKTMAANDNAAM', 'JETZIGER_MONATSNAME', 'CURRENTMONTHNAME' ),
-       'currentmonthnamegen'       => array( '1', 'AKTMAANDNAAMGEN', 'JETZIGER_MONATSNAME_GENITIV', 'CURRENTMONTHNAMEGEN' ),
-       'currentday'                => array( '1', 'AKTDAG', 'JETZIGER_KALENDERTAG', 'CURRENTDAY' ),
+       'currentmonthnamegen'       => array( '1', 'AKTMAANDNAAMGEN', 'JETZIGER_MONATSNAME_GENITIV', 'JETZIGER_MONATSNAME_GEN', 'CURRENTMONTHNAMEGEN' ),
+       'currentday'                => array( '1', 'AKTDAG', 'JETZIGER_KALENDERTAG', 'JETZIGER_TAG', 'CURRENTDAY' ),
        'currentdayname'            => array( '1', 'AKTDAGNAAM', 'JETZIGER_WOCHENTAG', 'CURRENTDAYNAME' ),
        'currentyear'               => array( '1', 'AKTJOHR', 'JETZIGES_JAHR', 'CURRENTYEAR' ),
        'currenttime'               => array( '1', 'AKTTIED', 'JETZIGE_UHRZEIT', 'CURRENTTIME' ),
index 9c2e71e..06841f0 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Nedersaksies (Nedersaksies)
+/** Low Saxon (Netherlands) (Nedersaksies)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
index 1753091..81c4b42 100644 (file)
@@ -172,7 +172,7 @@ $magicWords = array(
        'img_middle'                => array( '1', 'midden', 'middle' ),
        'img_bottom'                => array( '1', 'beneden', 'bottom' ),
        'img_text_bottom'           => array( '1', 'tekst-beneden', 'text-bottom' ),
-       'img_link'                  => array( '1', 'verwijzing=$1', 'link=$1' ),
+       'img_link'                  => array( '1', 'koppeling=$1', 'verwijzing=$1', 'link=$1' ),
        'sitename'                  => array( '1', 'SITENAAM', 'SITENAME' ),
        'ns'                        => array( '0', 'NR:', 'NS:' ),
        'nse'                       => array( '0', 'NRE:', 'NSE:' ),
@@ -212,7 +212,7 @@ $magicWords = array(
        'displaytitle'              => array( '1', 'WEERGEGEVENTITEL', 'TOONTITEL', 'DISPLAYTITLE' ),
        'rawsuffix'                 => array( '1', 'V', 'R' ),
        'newsectionlink'            => array( '1', '__NIEUWESECTIELINK__', '__NIEUWESECTIEKOPPELING__', '__NEWSECTIONLINK__' ),
-       'nonewsectionlink'          => array( '1', '__GEENNIEUWESECTIELINK__', '__GEENNIEUWKOPJEVERWIJZING__', '__NONEWSECTIONLINK__' ),
+       'nonewsectionlink'          => array( '1', '__GEENNIEUWKOPJEKOPPELING__', '__GEENNIEUWESECTIELINK__', '__GEENNIEUWKOPJEVERWIJZING__', '__NONEWSECTIONLINK__' ),
        'currentversion'            => array( '1', 'HUIDIGEVERSIE', 'CURRENTVERSION' ),
        'urlencode'                 => array( '0', 'URLCODEREN', 'CODEERURL', 'URLENCODE:' ),
        'anchorencode'              => array( '0', 'ANKERCODEREN', 'CODEERANKER', 'ANCHORENCODE' ),
@@ -794,7 +794,7 @@ Vergeet niet uw [[Special:Preferences|voorkeuren voor {{SITENAME}}]] aan te pass
 'gotaccount' => 'Hebt u al een gebruikersnaam? $1.',
 'gotaccountlink' => 'Aanmelden',
 'userlogin-resetlink' => 'Bent u uw aanmeldgegevens vergeten?',
-'createaccountmail' => 'Per e-mail',
+'createaccountmail' => 'Gebruik een tijdelijk willekeurig wachtwoord en stuur het naar het e-mailadres dat hieronder is vermeld',
 'createaccountreason' => 'Reden:',
 'badretype' => 'De ingevoerde wachtwoorden verschillen van elkaar.',
 'userexists' => 'De gekozen gebruikersnaam is al in gebruik.
@@ -2361,7 +2361,7 @@ Heeft tenminste een topleveldomein nodig, zoals bijvoorbeeld "*.org".<br />
 # Special:ActiveUsers
 'activeusers' => 'Aanwezige gebruikers',
 'activeusers-intro' => 'Dit is een lijst met gebruikers die enige activiteit hebben laten zien in de afgelopen {{PLURAL:$1|dag|$1 dagen}}.',
-'activeusers-count' => '$1 recente {{PLURAL:$1|bewerking|bewerkingen}} in de {{PLURAL:$3|afgelopen dag|laatste $3 dagen}}',
+'activeusers-count' => '$1 recente {{PLURAL:$1|handeling|handelingen}} in de {{PLURAL:$3|afgelopen dag|laatste $3 dagen}}',
 'activeusers-from' => 'Gebruikers worden weergegeven vanaf:',
 'activeusers-hidebots' => 'Bots verbergen',
 'activeusers-hidesysops' => 'Beheerders verbergen',
@@ -4055,7 +4055,7 @@ Andere bestandstypen worden direct in het met het MIME-type verbonden programma
 'specialpages-group-highuse' => "Veelgebruikte pagina's",
 'specialpages-group-pages' => 'Paginalijsten',
 'specialpages-group-pagetools' => 'Paginahulpmiddelen',
-'specialpages-group-wiki' => 'Wikigegevens en -hulpmiddelen',
+'specialpages-group-wiki' => 'Gegevens en -hulpmiddelen',
 'specialpages-group-redirects' => "Doorverwijzende speciale pagina's",
 'specialpages-group-spam' => 'Spamhulpmiddelen',
 
@@ -4152,6 +4152,7 @@ Andere bestandstypen worden direct in het met het MIME-type verbonden programma
 'logentry-newusers-newusers' => 'Gebruiker $1 is aangemaakt',
 'logentry-newusers-create' => 'Gebruiker $1 is aangemaakt',
 'logentry-newusers-create2' => 'Gebruiker $3 is aangemaakt door $1',
+'logentry-newusers-byemail' => 'Gebruiker $3 is aangemaakt door $1 en het wachtwoord is per e-mail verzonden',
 'logentry-newusers-autocreate' => 'De gebruiker $1 is automatisch aangemaakt',
 'logentry-rights-rights' => '$1 heeft groepslidmaatschap voor $3 gewijzigd van $4 naar $5',
 'logentry-rights-rights-legacy' => '$1 heeft groepslidmaatschap voor $3 gewijzigd',
@@ -4210,6 +4211,7 @@ Anders kunt u ook het eenvoudige formulier hieronder gebruiken. Uw reactie wordt
 'api-error-ok-but-empty' => 'Interne fout: de server heeft geen gegevens teruggeleverd.',
 'api-error-overwrite' => 'Het overschrijven van een bestand bestand is niet toegestaan.',
 'api-error-stashfailed' => 'Interne fout: de server kon het tijdelijke bestand niet opslaan.',
+'api-error-publishfailed' => 'Interne fout: de server kon het tijdelijke bestand niet publiceren.',
 'api-error-timeout' => 'De server heeft niet binnen de verwachte tijd geantwoord.',
 'api-error-unclassified' => 'Er is een onbekende fout opgetreden',
 'api-error-unknown-code' => 'Interne fout: "$1"',
index 0831da1..d96f7ad 100644 (file)
@@ -3810,7 +3810,7 @@ Bilete vert viste i full oppløysing, andre filtypar vert starta direkte i dei t
 'specialpages-group-highuse' => 'Mykje brukte sider',
 'specialpages-group-pages' => 'Sidelister',
 'specialpages-group-pagetools' => 'Sideverktøy',
-'specialpages-group-wiki' => 'Informasjon og verktøy for wikien',
+'specialpages-group-wiki' => 'Data og verktøy',
 'specialpages-group-redirects' => 'Omdirigerande spesialsider',
 'specialpages-group-spam' => 'Spamverktøy',
 
@@ -3907,6 +3907,7 @@ Bilete vert viste i full oppløysing, andre filtypar vert starta direkte i dei t
 'logentry-newusers-newusers' => 'Brukarkontoen $1 vart oppretta',
 'logentry-newusers-create' => 'Brukarkontoen $1 vart oppretta',
 'logentry-newusers-create2' => 'Brukarkontoen $3 vart oppretta av $1',
+'logentry-newusers-byemail' => 'Brukarkontoen $3 vart oppretta av $1 og passord vart sendt med e-post',
 'logentry-newusers-autocreate' => 'Kontoen $1 vart oppretta av seg sjølv',
 'logentry-rights-rights' => '$1 endra gruppemedlemskap for $3 frå $4 til $5',
 'logentry-rights-rights-legacy' => '$1 endra gruppemedlemskap for $3',
index e03e4f4..984a3d7 100644 (file)
@@ -55,6 +55,8 @@ $specialPageAliases = array(
        'Activeusers'               => array( 'АктивонАрхайджытæ' ),
        'Allmessages'               => array( 'ФыстæджытæИууылдæр' ),
        'Allpages'                  => array( 'ФæрстæИууылдæр' ),
+       'Ancientpages'              => array( 'ЗæрондФæрстæ' ),
+       'Badtitle'                  => array( 'Æвзæрном' ),
        'Blankpage'                 => array( 'АфтидФарс' ),
        'Block'                     => array( 'Блок' ),
        'Blockme'                   => array( 'НыблокМæКæн' ),
@@ -67,25 +69,117 @@ $specialPageAliases = array(
        'Confirmemail'              => array( 'EmailБæлвырдКæнын' ),
        'Contributions'             => array( 'Бавæрд' ),
        'CreateAccount'             => array( 'АккаунтСкæнын' ),
+       'Deadendpages'              => array( 'ХæдбарФæрстæ' ),
        'DeletedContributions'      => array( 'ХафтБавæрд' ),
+       'Disambiguations'           => array( 'Бирæнысаниуæгджынтæ' ),
+       'DoubleRedirects'           => array( 'ДывæрÆрвыстытæ' ),
+       'EditWatchlist'             => array( 'ЦæстдардИвын' ),
+       'Emailuser'                 => array( 'АрхайæгмæEmail' ),
+       'Export'                    => array( 'Экспорт' ),
+       'Fewestrevisions'           => array( 'ЦъусдæрФæлтæртæ' ),
+       'FileDuplicateSearch'       => array( 'ФайлыДубликатАгурын' ),
+       'Filepath'                  => array( 'ФайлмæФæт' ),
+       'Import'                    => array( 'Импорт' ),
+       'Invalidateemail'           => array( 'EmailРабæлвырдКæнын' ),
+       'JavaScriptTest'            => array( 'JavaScriptТест' ),
+       'BlockList'                 => array( 'Блокты_Номхыгъд' ),
+       'LinkSearch'                => array( 'ÆрвитæнАгурын' ),
+       'Listadmins'                => array( 'РадгæстыНомхыгъд' ),
+       'Listbots'                  => array( 'БоттыНомхыгъд' ),
+       'Listfiles'                 => array( 'НывтыНомхыгъд' ),
+       'Listgrouprights'           => array( 'АрхайджытыБартыНомхыгъд' ),
+       'Listredirects'             => array( 'ÆрвыстытыНомхыгъд' ),
+       'Listusers'                 => array( 'АрхайджытыНомхыгъд' ),
+       'Lockdb'                    => array( 'РДСæхгæнын' ),
+       'Log'                       => array( 'Логтæ' ),
+       'Lonelypages'               => array( 'ИунæгФæрстæ' ),
+       'Longpages'                 => array( 'ДаргъФæрстæ' ),
+       'MergeHistory'              => array( 'ИсторитæБаиуКæнын' ),
+       'MIMEsearch'                => array( 'MIMEАгурын' ),
+       'Mostcategories'            => array( 'ФылдæрКатегоритæ' ),
+       'Mostimages'                => array( 'ÆппæтыАрхайдФайлтæ' ),
+       'Mostinterwikis'            => array( 'ФылдæрИнтервикитæ' ),
+       'Mostlinked'                => array( 'ФылдæрБастФæрстæ' ),
+       'Mostlinkedcategories'      => array( 'ФылдæрБастКатегоритæ' ),
+       'Mostlinkedtemplates'       => array( 'ФылдæрБастХуызæгтæ' ),
+       'Mostrevisions'             => array( 'ФылдæрФæлтæртæ' ),
+       'Movepage'                  => array( 'ФарсХæссын' ),
        'Mycontributions'           => array( 'МæБавæрд' ),
        'Mypage'                    => array( 'МæФарс' ),
        'Mytalk'                    => array( 'МæНыхас' ),
        'Myuploads'                 => array( 'МæБавгæд' ),
        'Newimages'                 => array( 'НогФайлтæ' ),
        'Newpages'                  => array( 'НогФæрстæ' ),
-       'Preferences'               => array( 'Фадæттæ' ),
+       'PasswordReset'             => array( 'ПарольНогКæнын' ),
+       'PermanentLink'             => array( 'УдгасÆрвитæн' ),
+       'Popularpages'              => array( 'АрæхФæрстæ' ),
+       'Preferences'               => array( 'Уагæвæрдтæ' ),
+       'Prefixindex'               => array( 'РазæфтуантыИндекс' ),
+       'Protectedpages'            => array( 'ÆхгæдФæрстæ' ),
+       'Protectedtitles'           => array( 'ÆхгæдНæмттæ' ),
        'Randompage'                => array( 'ÆрхаугæФарс' ),
+       'Randomredirect'            => array( 'ÆрхаугæРарвыст' ),
        'Recentchanges'             => array( 'ФæстагИвдтытæ' ),
+       'Recentchangeslinked'       => array( 'БастИвдтытæ' ),
+       'Revisiondelete'            => array( 'ИвдХафын' ),
        'Search'                    => array( 'Агурын' ),
+       'Shortpages'                => array( 'ЦыбырФæрстæ' ),
+       'Specialpages'              => array( 'СæрмагондФæрстæ' ),
+       'Statistics'                => array( 'Статистикæ' ),
+       'Tags'                      => array( 'Тегтæ' ),
+       'Unblock'                   => array( 'РаблокКæнын' ),
+       'Uncategorizedcategories'   => array( 'ÆнæКатегориКатегоритæ' ),
+       'Uncategorizedimages'       => array( 'ÆнæКатегориФайлтæ' ),
+       'Uncategorizedpages'        => array( 'ÆнæКатегориФæрстæ' ),
+       'Uncategorizedtemplates'    => array( 'ÆнæКатегориХуызæгтæ' ),
+       'Undelete'                  => array( 'Рацаразын' ),
+       'Unlockdb'                  => array( 'РДРаблокКæнын' ),
+       'Unusedcategories'          => array( 'ÆнæАрхайдКатегоритæ' ),
+       'Unusedimages'              => array( 'ÆнæАрхайдФайлтæ' ),
+       'Unusedtemplates'           => array( 'ÆнæАрхайдХуызæгтæ' ),
+       'Unwatchedpages'            => array( 'ÆнæЦæстдардФæрстæ' ),
+       'Upload'                    => array( 'Æвгæнын' ),
+       'Userlogin'                 => array( 'Бахизын' ),
+       'Userlogout'                => array( 'Рахизын' ),
+       'Userrights'                => array( 'АрхайæджыБартæ' ),
+       'Version'                   => array( 'Фæлтæр' ),
+       'Wantedcategories'          => array( 'ХъæугæКатегоритæ' ),
+       'Wantedfiles'               => array( 'ХъæугæФайлтæ' ),
+       'Wantedpages'               => array( 'ХъæугæФæрстæ' ),
+       'Wantedtemplates'           => array( 'ХъæугæХуызæгтæ' ),
        'Watchlist'                 => array( 'Цæстдард' ),
+       'Whatlinkshere'             => array( 'АрдæмЦыÆрвиты' ),
+       'Withoutinterwiki'          => array( 'ÆнæИнтервики' ),
 );
 
 
 $magicWords = array(
-       'redirect'                  => array( '0', '#РАРВЫСТ', '#перенаправление', '#перенапр', '#REDIRECT' ),
+       'redirect'                  => array( '0', '#ÆРВИТÆН', '#ÆРВЫСТ', '#РАРВЫСТ', '#перенаправление', '#перенапр', '#REDIRECT' ),
+       'notoc'                     => array( '0', '__ÆНÆСÆР__', '__БЕЗ_ОГЛАВЛЕНИЯ__', '__БЕЗ_ОГЛ__', '__NOTOC__' ),
+       'nogallery'                 => array( '0', '__ÆНÆГАЛЕРЕЙ__', '__БЕЗ_ГАЛЕРЕИ__', '__NOGALLERY__' ),
+       'forcetoc'                  => array( '0', '__СÆРТИМÆ__', '__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__', '__ОБЯЗ_ОГЛ__', '__FORCETOC__' ),
+       'toc'                       => array( '0', '__СÆРТÆ__', '__ОГЛАВЛЕНИЕ__', '__ОГЛ__', '__TOC__' ),
+       'noeditsection'             => array( '0', '__ÆНÆХАЙИВЫНÆЙ__', '__БЕЗ_РЕДАКТИРОВАНИЯ_РАЗДЕЛА__', '__NOEDITSECTION__' ),
+       'currentmonth'              => array( '1', 'АЦЫМÆЙ', 'АЦЫМÆЙ2', 'ТЕКУЩИЙ_МЕСЯЦ', 'ТЕКУЩИЙ_МЕСЯЦ_2', 'CURRENTMONTH', 'CURRENTMONTH2' ),
+       'currentmonth1'             => array( '1', 'АЦЫМÆЙ1', 'ТЕКУЩИЙ_МЕСЯЦ_1', 'CURRENTMONTH1' ),
+       'currentmonthname'          => array( '1', 'АЦЫМÆЙЫНОМ', 'НАЗВАНИЕ_ТЕКУЩЕГО_МЕСЯЦА', 'CURRENTMONTHNAME' ),
+       'currentmonthnamegen'       => array( '1', 'АЦЫМÆЙЫНОМГУЫР', 'НАЗВАНИЕ_ТЕКУЩЕГО_МЕСЯЦА_РОД', 'CURRENTMONTHNAMEGEN' ),
+       'currentmonthabbrev'        => array( '1', 'АЦЫМÆЙЫНОМЦЫБ', 'НАЗВАНИЕ_ТЕКУЩЕГО_МЕСЯЦА_АБР', 'CURRENTMONTHABBREV' ),
+       'currentday'                => array( '1', 'АБОН', 'ТЕКУЩИЙ_ДЕНЬ', 'CURRENTDAY' ),
+       'currentday2'               => array( '1', 'АБОН2', 'ТЕКУЩИЙ_ДЕНЬ_2', 'CURRENTDAY2' ),
+       'currentdayname'            => array( '1', 'АБОНЫБОНЫНОМ', 'НАЗВАНИЕ_ТЕКУЩЕГО_ДНЯ', 'CURRENTDAYNAME' ),
+       'currentyear'               => array( '1', 'АЦЫАЗ', 'ТЕКУЩИЙ_ГОД', 'CURRENTYEAR' ),
+       'currenttime'               => array( '1', 'НЫРЫРÆСТÆГ', 'ТЕКУЩЕЕ_ВРЕМЯ', 'CURRENTTIME' ),
+       'currenthour'               => array( '1', 'НЫРЫСАХАТ', 'ТЕКУЩИЙ_ЧАС', 'CURRENTHOUR' ),
+       'numberofpages'             => array( '1', 'ФÆРСТЫНЫМÆЦ', 'КОЛИЧЕСТВО_СТРАНИЦ', 'NUMBEROFPAGES' ),
+       'numberofarticles'          => array( '1', 'УАЦТЫНЫМÆЦ', 'КОЛИЧЕСТВО_СТАТЕЙ', 'NUMBEROFARTICLES' ),
+       'pagename'                  => array( '1', 'ФАРСЫНОМ', 'НАЗВАНИЕ_СТРАНИЦЫ', 'PAGENAME' ),
+       'img_thumbnail'             => array( '1', 'къаддæргонд', 'къаддæр', 'мини', 'миниатюра', 'thumbnail', 'thumb' ),
+       'img_manualthumb'           => array( '1', 'къаддæргонд=$1', 'къаддæр=$1', 'мини=$1', 'миниатюра=$1', 'thumbnail=$1', 'thumb=$1' ),
        'img_right'                 => array( '1', 'рахиз', 'справа', 'right' ),
        'img_left'                  => array( '1', 'галиу', 'слева', 'left' ),
+       'img_none'                  => array( '1', 'æнæ', 'без', 'none' ),
+       'img_center'                => array( '1', 'астæу', 'центр', 'center', 'centre' ),
 );
 
 $linkTrail = '/^((?:[a-z]|а|æ|б|в|г|д|е|ё|ж|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ъ|ы|ь|э|ю|я|“|»)+)(.*)$/sDu';
index ff05c7b..774c331 100644 (file)
@@ -61,32 +61,62 @@ $namespaceAliases = array(
 
 $specialPageAliases = array(
        'Activeusers'               => array( 'ਸਰਗਰਮ_ਮੈਂਬਰ' ),
+       'Allmessages'               => array( 'ਸਾਰੇ_ਸਨੇਹੇ' ),
+       'Allpages'                  => array( 'ਸਾਰੇ_ਪੰਨੇ' ),
+       'Ancientpages'              => array( 'ਪੁਰਾਣੇ_ਪੰਨੇ' ),
        'Badtitle'                  => array( 'ਖਰਾਬ_ਸਿਰਲੇਖ' ),
        'Blankpage'                 => array( 'ਖਾਲੀ_ਪੰਨਾ' ),
        'Block'                     => array( 'ਪਾਬੰਦੀ_ਲਾਓ', 'IP_’ਤੇ_ਪਾਬੰਦੀ_ਲਾਓ', 'ਮੈਂਬਰ_’ਤੇ_ਪਾਬੰਦੀ_ਲਾਓ' ),
+       'Blockme'                   => array( 'ਮੇਰੇ_’ਤੇ_ਪਾਬੰਦੀ_ਲਾਓ' ),
+       'Booksources'               => array( 'ਕਿਤਾਬ_ਸਰੋਤ' ),
+       'BrokenRedirects'           => array( 'ਟੁੱਟੇ_ਰੀਡਿਰੈਕਟ' ),
        'Categories'                => array( 'ਸ਼੍ਰੇਣੀਆਂ' ),
        'ChangeEmail'               => array( 'ਈ-ਮੇਲ_ਬਦਲੋ' ),
        'ChangePassword'            => array( 'ਪਾਸਵਰਡ_ਬਦਲੋ', 'ਪਾਸਵਰਡ_ਰੀਸੈੱਟ_ਕਰੋ' ),
+       'ComparePages'              => array( 'ਪੰਨਿਆਂ_ਦੀ_ਤੁਲਨਾ_ਕਰੋ' ),
+       'Confirmemail'              => array( 'ਈ-ਮੇਲ_ਤਸਦੀਕ_ਕਰੋ' ),
        'Contributions'             => array( 'ਯੋਗਦਾਨ' ),
        'CreateAccount'             => array( 'ਖਾਤਾ_ਬਣਾਓ' ),
+       'Deadendpages'              => array( 'ਬੰਦ_ਪੰਨੇ' ),
        'DeletedContributions'      => array( 'ਮਿਟਾਏ_ਯੋਗਦਾਨ' ),
+       'Disambiguations'           => array( 'ਗੁੰਝਲਖੋਲ੍ਹ' ),
        'DoubleRedirects'           => array( 'ਦੂਹਰੇ_ਰੀਡਿਰੈਕਟ' ),
        'EditWatchlist'             => array( 'ਨਿਗਰਾਨੀ-ਲਿਸਟ_ਸੋਧੋ' ),
-       'Emailuser'                 => array( 'ਵਰਤੋਂਕਾਰ_ਨੂੰ_ਈ-ਮੇਲ' ),
+       'Emailuser'                 => array( 'ਮੈਂਬਰ_ਨੂੰ_ਈ-ਮੇਲ_ਕਰੋ' ),
+       'Export'                    => array( 'ਨਿਰਯਾਤ' ),
+       'Fewestrevisions'           => array( 'ਸਭ_ਤੋਂ_ਘੱਟ_ਰੀਵਿਜ਼ਨਾਂ' ),
+       'FileDuplicateSearch'       => array( 'ਨਕਲੀ_ਫ਼ਾਈਲ_ਖੋਜੋ' ),
+       'Filepath'                  => array( 'ਫ਼ਾਈਲ_ਪਥ' ),
+       'Import'                    => array( 'ਆਯਾਤ' ),
+       'Invalidateemail'           => array( 'ਗਲਤ_ਈ-ਮੇਲ_ਪਤਾ' ),
        'JavaScriptTest'            => array( 'ਜਾਵਾਸਕ੍ਰਿਪਟ_ਪਰਖ' ),
-       'Listadmins'                => array( 'ਐਡਮਿਨਾਂ_ਦੀ_ਸੂਚੀ' ),
-       'Listbots'                  => array( 'ਬੋਟਾਂ_ਦੀ_ਲਿਸਟ' ),
-       'Listfiles'                 => array( 'ਫ਼ਾਈਲਾਂ_ਦੀ_ਲਿਸਟ', 'ਤਸਵੀਰਾਂ_ਦੀ_ਲਿਸਟ' ),
-       'Listredirects'             => array( 'ਰੀਡਿਰੈਕਟਾਂ_ਦੀ_ਲਿਸਟ' ),
-       'Listusers'                 => array( 'ਵਰਤੋਂਕਾਰਾਂ_ਦੀ_ਲਿਸਟ' ),
-       'Longpages'                 => array( 'ਲੰਬੇ_ਸਫ਼ੇ' ),
-       'MergeHistory'              => array( 'ਰਲ਼ਾਉਣ_ਦਾ_ਅਤੀਤ' ),
-       'MIMEsearch'                => array( 'MIME_ਖੋਜ' ),
+       'BlockList'                 => array( 'ਪਾਬੰਦੀਆਂ_ਦੀ_ਸੂਚੀ' ),
+       'LinkSearch'                => array( 'ਲਿੰਕ_ਖੋਜੋ' ),
+       'Listadmins'                => array( 'ਪ੍ਰਬੰਧਕਾਂ_ਦੀ_ਸੂਚੀ' ),
+       'Listbots'                  => array( 'ਬੋਟਾਂ_ਦੀ_ਸੂਚੀ' ),
+       'Listfiles'                 => array( 'ਫ਼ਾਈਲਾਂ_ਦੀ_ਸੂਚੀ' ),
+       'Listgrouprights'           => array( 'ਵਰਤੋਂਕਾਰ_ਹੱਕ_ਸੂਚੀ' ),
+       'Listredirects'             => array( 'ਰੀਡਿਰੈਕਟਾਂ_ਦੀ_ਸੂਚੀ' ),
+       'Listusers'                 => array( 'ਵਰਤੋਂਕਾਰਾਂ_ਦੀ_ਸੂਚੀ' ),
+       'Lockdb'                    => array( 'ਡੈਟਾਬੇਸ_’ਤੇ_ਤਾਲਾ_ਲਗਾਓ' ),
+       'Log'                       => array( 'ਚਿੱਠਾ', 'ਚਿੱਠੇ' ),
+       'Lonelypages'               => array( 'ਇਕੱਲੇ_ਪੰਨੇ' ),
+       'Longpages'                 => array( 'ਲੰਬੇ_ਪੰਨੇ' ),
+       'MergeHistory'              => array( 'ਰਲਾਉਣ_ਦਾ_ਅਤੀਤ' ),
+       'MIMEsearch'                => array( 'MIME_ਖੋਜੋ' ),
+       'Mostcategories'            => array( 'ਸਭ_ਤੋਂ_ਵੱਧ_ਸ਼੍ਰੇਣੀਆਂ' ),
+       'Mostimages'                => array( 'ਸਭ_ਤੋਂ_ਵੱਧ_ਜੁੜੀਆਂ_ਫ਼ਾਈਲਾਂ' ),
+       'Mostinterwikis'            => array( 'ਸਭ_ਤੋਂ_ਵੱਧ_ਇੰਟਰਵਿਕੀ' ),
+       'Mostlinked'                => array( 'ਸਭ_ਤੋਂ_ਵੱਧ_ਜੁੜੇ_ਪੰਨੇ' ),
+       'Mostlinkedcategories'      => array( 'ਸਭ_ਤੋਂ_ਵੱਧ_ਜੁੜੀਆਂ_ਸ਼੍ਰੇਣੀਆਂ' ),
+       'Mostlinkedtemplates'       => array( 'ਸਭ_ਤੋਂ_ਵੱਧ_ਜੁੜੇ_ਫਰਮੇ' ),
+       'Mostrevisions'             => array( 'ਸਭ_ਤੋਂ_ਵੱਧ_ਰੀਵਿਜ਼ਨ' ),
        'Movepage'                  => array( 'ਸਿਰਲੇਖ_ਬਦਲੋ' ),
        'Mycontributions'           => array( 'ਮੇਰੇ_ਯੋਗਦਾਨ' ),
+       'Mypage'                    => array( 'ਮੇਰਾ_ਪੰਨਾ' ),
        'Mytalk'                    => array( 'ਮੇਰੀ_ਚਰਚਾ' ),
        'Myuploads'                 => array( 'ਮੇਰੇ_ਅੱਪਲੋਡ' ),
-       'Newimages'                 => array( 'ਨਵੀਆਂ_ਫ਼ਾਈਲਾਂ', 'ਨਵੀਆਂ_ਤਸਵੀਰਾਂ' ),
+       'Newimages'                 => array( 'ਨਵੀਆਂ_ਫ਼ਾਈਲਾਂ' ),
        'Newpages'                  => array( 'ਨਵੇਂ_ਪੰਨੇ' ),
        'PasswordReset'             => array( 'ਪਾਸਵਰਡ_ਰੀਸੈੱਟ' ),
        'PermanentLink'             => array( 'ਪੱਕਾ_ਲਿੰਕ' ),
@@ -95,25 +125,51 @@ $specialPageAliases = array(
        'Prefixindex'               => array( 'ਅਗੇਤਰ_ਤਤਕਰਾ' ),
        'Protectedpages'            => array( 'ਸੁਰੱਖਿਅਤ_ਪੰਨੇ' ),
        'Protectedtitles'           => array( 'ਸੁਰੱਖਿਅਤ_ਸਿਰਲੇਖ' ),
-       'Randompage'                => array( 'ਰਲ਼ਵਾਂ', 'ਰਲਵਾਂ_ਪੰਨਾ' ),
-       'Randomredirect'            => array( 'ਰਲਵਾਂ_ਰੀਡਿਰੈਕਟ' ),
-       'Recentchanges'             => array( 'ਤਾਜਾ_ਤਬਦੀਲੀਆਂ' ),
-       'Search'                    => array( 'ਖੋਜ' ),
+       'Randompage'                => array( 'ਰਲਵਾਂ_ਪੰਨਾ' ),
+       'Randomredirect'            => array( 'ਸੁਰੱਖਿਅਤ_ਰੀਡਿਰੈਕਟ' ),
+       'Recentchanges'             => array( 'ਹਾਲ_\'ਚ_ਹੋਈਆਂ_ਤਬਦੀਲੀਆਂ' ),
+       'Recentchangeslinked'       => array( 'ਜੁੜੀਆਂ_ਤਾਜ਼ਾ_ਤਬਦੀਲੀਆਂ' ),
+       'Revisiondelete'            => array( 'ਰੀਵਿਜਨ_ਮਿਟਾਓ' ),
+       'Search'                    => array( 'ਖੋਜੋ' ),
        'Shortpages'                => array( 'ਛੋਟੇ_ਪੰਨੇ' ),
        'Specialpages'              => array( 'ਖਾਸ_ਪੰਨੇ' ),
-       'Statistics'                => array( 'à¨\86à¨\82ਕੜੇ' ),
+       'Statistics'                => array( 'à¨\85à©°ਕੜੇ' ),
        'Tags'                      => array( 'ਟੈਗ' ),
-       'Undelete'                  => array( 'ਅਣ-ਮਿਟਾਉਣ' ),
+       'Unblock'                   => array( 'ਪਾਬੰਦੀ_ਹਟਾਓ' ),
+       'Uncategorizedcategories'   => array( 'ਸ਼੍ਰੇਣੀਹੀਣ_ਸ਼੍ਰੇਣੀਆਂ' ),
+       'Uncategorizedimages'       => array( 'ਸ਼੍ਰੇਣੀਹੀਣ_ਫ਼ਾਈਲਾਂ' ),
+       'Uncategorizedpages'        => array( 'ਸ਼੍ਰੇਣੀਹੀਣ_ਪੰਨੇ' ),
+       'Uncategorizedtemplates'    => array( 'ਸ਼੍ਰੇਣੀਹੀਣ_ਸਾਂਚੇ' ),
+       'Undelete'                  => array( 'ਅਣ-ਹਟਾਓਣ' ),
+       'Unlockdb'                  => array( 'ਡੈਟਾਬੇਸ_ਖੋਲ੍ਹੋ' ),
+       'Unusedcategories'          => array( 'ਅਣਵਰਤੀਆਂ_ਸ਼੍ਰੇਣੀਆਂ' ),
+       'Unusedimages'              => array( 'ਅਣਵਰਤੀਆਂ_ਫ਼ਾਈਲਾਂ' ),
+       'Unusedtemplates'           => array( 'ਅਣਵਰਤੇ_ਫਰਮੇ' ),
+       'Unwatchedpages'            => array( 'ਬੇ-ਨਿਗਰਾਨ_ਪੰਨੇ' ),
        'Upload'                    => array( 'ਅੱਪਲੋਡ' ),
        'Userlogin'                 => array( 'ਮੈਂਬਰ_ਲਾਗਇਨ' ),
        'Userlogout'                => array( 'ਮੈਂਬਰ_ਲਾਗਆਊਟ' ),
+       'Userrights'                => array( 'ਮੈਂਬਰ_ਹੱਕ', 'ਪ੍ਰਬੰਧਕ_ਬਣਾਓ', 'ਬੋਟ_ਬਣਾਓ' ),
+       'Version'                   => array( 'ਰੂਪ' ),
        'Wantedcategories'          => array( 'ਚਾਹੀਦੀਆਂ_ਸ਼੍ਰੇਣੀਆਂ' ),
        'Wantedfiles'               => array( 'ਚਾਹੀਦੀਆਂ_ਫ਼ਾਈਲਾਂ' ),
+       'Wantedpages'               => array( 'ਚਾਹੀਦੇ_ਪੰਨੇ', 'ਟੁੱਟੇ_ਜੋੜ' ),
        'Wantedtemplates'           => array( 'ਚਾਹੀਦੇ_ਫਰਮੇ' ),
        'Watchlist'                 => array( 'ਨਿਗਰਾਨੀ-ਲਿਸਟ' ),
+       'Whatlinkshere'             => array( 'ਕਿਹੜੇ_ਪੰਨੇ_ਇੱਥੇ_ਜੋੜਦੇ_ਹਨ' ),
        'Withoutinterwiki'          => array( 'ਬਿਨਾਂ_ਇੰਟਰਵਿਕੀਆਂ_ਵਾਲੇ' ),
 );
 
+$magicWords = array(
+       'redirect'                  => array( '0', '#ਰੀਡਿਰੈਕਟ', '#REDIRECT' ),
+       'url_wiki'                  => array( '0', 'ਵਿਕੀ', 'WIKI' ),
+       'defaultsort_noerror'       => array( '0', 'ਗਲਤੀ_ਨਹੀਂ', 'noerror' ),
+       'pagesincategory_all'       => array( '0', 'ਸਬ', 'all' ),
+       'pagesincategory_pages'     => array( '0', 'ਪੰਨੇ', 'pages' ),
+       'pagesincategory_subcats'   => array( '0', 'ਉਪਸ਼੍ਰੇਣੀਆਂ', 'subcats' ),
+       'pagesincategory_files'     => array( '0', 'ਫ਼ਾਈਲਾਂ', 'files' ),
+);
+
 $digitTransformTable = array(
        '0' => '੦', # &#x0a66;
        '1' => '੧', # &#x0a67;
@@ -255,11 +311,11 @@ Manual:External_editors ਹੋਰ ਜਾਣਕਾਰੀ।])',
 'category-empty' => "''ਇਸ ਸ਼੍ਰੇਣੀ ਵਿੱਚ ਇਸ ਵੇਲੇ ਕੋਈ ਵੀ ਪੰਨਾ ਜਾਂ ਮੀਡੀਆ ਨਹੀਂ ਹੈ।''",
 'hidden-categories' => '{{PLURAL:$1|ਲੁਕਵੀਂ ਸ਼੍ਰੇਣੀ|ਲੁਕਵੀਂਆਂ ਸ਼੍ਰੇਣੀਆਂ}}',
 'hidden-category-category' => 'ਲੁਕੀਆਂ ਕੈਟੇਗਰੀਆਂ',
-'category-subcat-count' => 'à¨\87ਸ à¨¸à¨¼à©\8dਰà©\87ਣà©\80 à¨µà¨¿à©±à¨\9a, à¨\95à©\81ੱਲ $2 à¨µà¨¿à©±à¨\9aà©\8bà¨\82, {{PLURAL:$2|ਸਿਰਫ਼ ਇਹ ਉਪਸ਼੍ਰੇਣੀ ਹੈ|ਇਹ {{PLURAL:$1|ਉਪਸ਼੍ਰੇਣੀ ਹੈ|$1 ਉਪਸ਼੍ਰੇਣੀਆਂ ਹਨ}}}}।',
+'category-subcat-count' => 'à¨\87ਸ à¨¸à¨¼à©\8dਰà©\87ਣà©\80 à¨µà¨¿à©±à¨\9a, à¨\95à©\81ੱਲ $2 à¨µà¨¿à©±à¨\9aà©\8bà¨\82, {{PLURAL:$2|à¨\95à©\87ਵਲ ਇਹ ਉਪਸ਼੍ਰੇਣੀ ਹੈ|ਇਹ {{PLURAL:$1|ਉਪਸ਼੍ਰੇਣੀ ਹੈ|$1 ਉਪਸ਼੍ਰੇਣੀਆਂ ਹਨ}}}}।',
 'category-subcat-count-limited' => 'ਇਸ ਕੈਟੇਗਰੀ ਵਿਚ {{PLURAL:$1|ਸਬ-ਕੈਟੇਗਰੀ ਹੈ|$1 ਸਬ-ਕੈਟੇਗਰੀਆਂ ਹਨ}}।',
-'category-article-count' => '{{PLURAL:$2|à¨\87ਸ à¨¸à¨¼à©\8dਰà©\87ਣà©\80 à¨µà¨¿à©±à¨\9a à¨¸à¨¿à¨°à¨«à¨¼ ਇਹ ਪੰਨਾ ਹੈ।| ਇਸ ਸ਼੍ਰੇਣੀ ਵਿੱਚ, ਕੁੱਲ $2 ਵਿੱਚੋਂ, ਇਹ {{PLURAL:$1|ਪੰਨਾ ਹੈ|$1 ਪੰਨੇ ਹਨ}}}}।',
+'category-article-count' => '{{PLURAL:$2|à¨\87ਸ à¨¸à¨¼à©\8dਰà©\87ਣà©\80 à¨µà¨¿à©±à¨\9a à¨\95à©\87ਵਲ ਇਹ ਪੰਨਾ ਹੈ।| ਇਸ ਸ਼੍ਰੇਣੀ ਵਿੱਚ, ਕੁੱਲ $2 ਵਿੱਚੋਂ, ਇਹ {{PLURAL:$1|ਪੰਨਾ ਹੈ|$1 ਪੰਨੇ ਹਨ}}}}।',
 'category-article-count-limited' => 'ਮੌਜੂਦਾ ਕੈਟੇਗਰੀ ਵਿਚ ਇਹ {{PLURAL:$1|ਸਫ਼ਾ ਹੈ|$1 ਸਫ਼ੇ ਹਨ}}।',
-'category-file-count' => '{{PLURAL:$2|à¨\87ਸ à¨¸à¨¼à©\8dਰà©\87ਣà©\80 à¨µà¨¿à©±à¨\9a à¨¸à¨¿à¨°à¨«à¨¼ ਇਹ ਫ਼ਾਈਲ ਹੈ|ਇਸ ਸ਼੍ਰੇਣੀ ਵਿੱਚ {{PLURAL:$1|ਫ਼ਾਈਲ ਹੈ|$1 ਫ਼ਾਈਲਾਂ ਹਨ}}}}।',
+'category-file-count' => '{{PLURAL:$2|à¨\87ਸ à¨¸à¨¼à©\8dਰà©\87ਣà©\80 à¨µà¨¿à©±à¨\9a à¨\95à©\87ਵਲ ਇਹ ਫ਼ਾਈਲ ਹੈ|ਇਸ ਸ਼੍ਰੇਣੀ ਵਿੱਚ {{PLURAL:$1|ਫ਼ਾਈਲ ਹੈ|$1 ਫ਼ਾਈਲਾਂ ਹਨ}}}}।',
 'category-file-count-limited' => 'ਮੌਜੂਦਾ ਕੈਟੇਗਰੀ ਵਿਚ ਇਹ {{PLURAL:$1|ਫ਼ਾਈਲ ਹੈ|$1 ਫ਼ਾਈਲਾਂ ਹਨ}}।',
 'listingcontinuesabbrev' => 'ਜਾਰੀ',
 'index-category' => 'ਤਤਕਰੇ ਵਾਲ਼ੇ ਸਫ਼ੇ',
@@ -304,6 +360,7 @@ Manual:External_editors ਹੋਰ ਜਾਣਕਾਰੀ।])',
 'namespaces' => 'ਨਾਮ-ਥਾਂਵਾਂ',
 'variants' => 'ਬਦਲ',
 
+'navigation-heading' => 'ਦਿਕਚਾਲਨ ਸੂਚੀ',
 'errorpagetitle' => 'ਗਲਤੀ',
 'returnto' => '$1 ’ਤੇ ਵਾਪਸ ਜਾਓ।',
 'tagline' => '{{SITENAME}} ਤੋਂ',
@@ -353,7 +410,7 @@ Manual:External_editors ਹੋਰ ਜਾਣਕਾਰੀ।])',
 'otherlanguages' => 'ਹੋਰ ਭਾਸ਼ਾਵਾਂ',
 'redirectedfrom' => '($1 ਤੋਂ ਰੀਡਿਰੈਕਟ)',
 'redirectpagesub' => 'ਰੀਡਿਰੈਕਟ ਸਫ਼ਾ',
-'lastmodifiedat' => 'à¨\87ਹ à¨ªà©°à¨¨à¨¾ à¨\86à¨\96ਰà©\80 à¨µà¨¾à¨° $1 à¨¨à©\82à©° $2 â\80\99ਤà©\87 à¨¬à¨¦à¨² à¨\97ਿਆ ਸੀ।',
+'lastmodifiedat' => 'à¨\87ਸ à¨ªà©°à¨¨à¨¾ à¨¦à¨¾ à¨ªà¨¿à©±à¨\9bਲਾ à¨¬à¨¦à¨²à¨¾à¨µ  $1 à¨¨à©\82à©°  $2 à¨µà¨\9cà©\87 à¨¹à©\8bà¨\87ਆ ਸੀ।',
 'viewcount' => 'ਇਹ ਸਫ਼ਾ {{PLURAL:$1|ਇੱਕ ਵਾਰ|$1 ਵਾਰ}} ਵੇਖਿਆ ਗਿਆ।',
 'protectedpage' => 'ਸੁਰੱਖਿਅਤ ਪੇਜ',
 'jumpto' => 'ਇਸ ’ਤੇ ਜਾਓ:',
@@ -399,7 +456,7 @@ $1',
 'retrievedfrom' => '"$1" ਤੋਂ ਲਿਆ',
 'youhavenewmessages' => 'ਤੁਹਾਡੇ ਲਈ $1। ($2)',
 'newmessageslink' => 'ਨਵੇਂ ਸੁਨੇਹੇ',
-'newmessagesdifflink' => 'ਪਿà¨\9bਲà©\80 à¨¬à¨¦à¨²à©\80',
+'newmessagesdifflink' => 'ਪਿੱà¨\9bਲਾ à¨¬à¨¦à¨²à¨¾à¨µ',
 'youhavenewmessagesfromusers' => '{{PLURAL:$3|ਇੱਕ ਵਰਤੋਂਕਾਰ|$3 ਵਰਤੋਂਕਾਰਾਂ}} ਵੱਲੋਂ ਤੁਹਾਨੂੰ $1 ($2)।',
 'youhavenewmessagesmanyusers' => 'ਕਈ ਵਰਤੋਂਕਾਰਾਂ ਵੱਲੋਂ ਤੁਹਾਨੂੰ $1 ($2)।',
 'newmessageslinkplural' => '{{PLURAL:$1|ਇੱਕ ਨਵਾਂ ਸੁਨੇਹਾ|ਨਵੇਂ ਸੁਨੇਹੇ}} {{PLURAL:$1|ਹੈ|ਹਨ}}',
@@ -434,7 +491,7 @@ $1',
 'nstab-main' => 'ਪੰਨਾ',
 'nstab-user' => 'ਵਰਤੋਂਕਾਰ ਪੰਨੇ',
 'nstab-media' => 'ਮੀਡੀਆ ਸਫ਼ਾ',
-'nstab-special' => 'à¨\96ਾਸ ਪੰਨਾ',
+'nstab-special' => 'ਵਿਸ਼à©\87ਸ਼ ਪੰਨਾ',
 'nstab-project' => 'ਪਰਿਯੋਜਨਾ ਪੰਨਾ',
 'nstab-image' => 'ਫ਼ਾਈਲ',
 'nstab-mediawiki' => 'ਸੁਨੇਹਾ',
@@ -495,12 +552,16 @@ $1',
 'viewsource' => 'ਸਰੋਤ ਵੇਖੋ',
 'viewsource-title' => '$1 ਲਈ ਸਰੋਤ ਵੇਖੋ',
 'actionthrottled' => 'ਕਾਰਜ ਬੰਦ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ',
+'actionthrottledtext' => 'ਸਪੈਮ ਦੀ ਰੋਕਥਾਮ ਲਈ, ਇਹ ਕਰੀਆ ਇਨ੍ਹੇ ਘੱਟ ਸਮੇਂ ਵਿੱਚ ਇੱਕ ਸੀਮਾ ਤੋਂ ਜਿਆਦਾ ਵਾਰ ਕਰਨ ਤੋਂ ਮਨਾਹੀ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਇਸ ਸੀਮਾ ਨੂੰ ਪਾਰ ਕਰ ਚੁੱਕੇ ਹੋ।
+ਕਿਰਪਾ ਕਰਕੇ ਕੁਝ ਸਮੇਂ ਬਾਅਦ ਪੁੰਨ: ਜਤਨ ਕਰੋ।',
 'protectedpagetext' => 'ਇਹ ਪੰਨੇ ਸੰਪਾਦਨ ਅਤੇ ਹੋਰ ਕੰਮ ਤੋਂ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਹੋਇਆ ਹੈ।',
 'viewsourcetext' => 'ਤੁਸੀਂ ਇਸ ਸਫ਼ੇ ਦਾ ਸਰੋਤ ਵੇਖ ਅਤੇ ਨਕਲ ਕਰ ਸਕਦੇ ਹੋ:',
 'viewyourtext' => 'ਤੁਸੀਂ ਇਸ ਸਫ਼ੇ ’ਤੇ ਕੀਤੀਆਂ "ਆਪਣੀਆਂ ਸੋਧਾਂ" ਦਾ ਸਰੋਤ ਵੇਖ ਅਤੇ ਨਕਲ ਕਰ ਸਕਦੇ ਹੋ:',
 'protectedinterface' => 'ਇਹ ਪੰਨਾ ਸਾਫ਼ਟਵੇਅਰ ਇੰਟਰਫ਼ੇਸ ਦਾ ਮੂਲ ਪਾਠ ਹੈ ,ਅਤੇ ਦੁਰਵਰਤੌਂ ਤੌਂ ਬਚਾਅ ਲਈ ਰਾਖਵਾਂ ਕੀਤਾ ਗਿਆ ਹੈ।',
 'editinginterface' => "'''ਚਿਤਾਵਨੀ''' ਤੁਸੀਂ ਐਸੇ ਪੰਨੇ ਨੂੰ ਬਦਲ ਰਹੇ ਹੋ ਜੋ ਸਾਫ਼ਟਵੇਅਰ ਇੰਟਰਫ਼ੇਸ ਦੇ ਮੂਲ ਪਾਠ ਲਈ ਵਰਤਿਆ ਗਿਆ ਹੈ।
 ਇਸ ਪੰਨੇ ਦੇ ਬਦਲਾਅ ਦੁਸਰੇ ਵਰਤੋਂ ਕਰਣ ਵਾਲਿਆਂ ਲਈ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਇੰਟਰਫਲੇਸ ਦੀ ਸ਼ਕਲ ਤੇ ਅਸਰ ਪਾ ਦੇਣਗੇ।ਅਨੁਵਾਦ ਕਰਣ ਲਈ ,ਕਿਰਪਾ ਕਰਕੇ [//translatewiki.net/wiki/Main_Page?setlang=pa ਟ੍ਰਾਂਸਲੇਟਵਿਕੀ.ਨੈਟ] ਦੀ ਵਰਤੌਂ ਕਰੋ,ਇਹ ਮੀਡੀਆਵਿਕੀ ਦੀ ਸਥਾਨਕੀਕਰਣ ਯੋਜਨਾ ਹੈ।",
+'cascadeprotected' => 'ਇਹ ਪੰਨਾ ਸੁਰੱਖਿਅਤ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਨਿੱਚੇ ਲਿਖੇ {{PLURAL:$1|ਪੰਨਾ|ਪੰਨੇ}} ਦੀ ਸੁਰੱਖਿਆ-ਸੀੜੀ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ:
+$2',
 'namespaceprotected' => "ਤੁਹਾਨੂੰ '''$1''' ਥਾਂ-ਨਾਮ ਵਾਲ਼ੇ ਸਫ਼ਿਆਂ ਵਿਚ ਫੇਰ-ਬਦਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।",
 'customcssprotected' => 'ਤੁਹਾਨੂੰ ਇਸ CSS ਸਫ਼ੇ ਵਿਚ ਸੋਧ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ ਕਿਉਂਕਿ ਇਸ ਵਿਚ ਕਿਸੇ ਹੋਰ ਮੈਂਬਰ ਦੀਆਂ ਨਿੱਜੀ ਸੈਟਿੰਗਾਂ ਹਨ।',
 'customjsprotected' => 'ਤੁਹਾਨੂੰ ਇਸ CSS ਸਫ਼ੇ ਵਿਚ ਸੋਧ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ ਕਿਉਂਕਿ ਇਸ ਵਿਚ ਕਿਸੇ ਹੋਰ ਮੈਂਬਰ ਦੀਆਂ ਨਿੱਜੀ ਸੈਟਿੰਗਾਂ ਹਨ।',
@@ -520,7 +581,7 @@ You can continue to use {{SITENAME}} anonymously, or you can log in again as the
 Note that some pages may continue to be displayed as if you were still logged in, until you clear your browser cache.",
 'welcomeuser' => 'ਸੁਆਗਤ, $1!',
 'welcomecreation-msg' => 'ਤੁਹਾਡਾ ਖਾਤਾ ਬਣ ਚੁੱਕਾ ਹੈ। ਆਪਣੀਆਂ [[Special:Preferences|{{SITENAME}} ਪਸੰਦਾਂ]] ਬਦਲਣੀਆਂ ਨਾ ਭੁੱਲੋ।',
-'yourname' => 'ਮà©\88à¨\82ਬਰ ਨਾਮ:',
+'yourname' => 'ਵਰਤà©\8bà¨\82à¨\95ਾਰ ਨਾਮ:',
 'yourpassword' => 'ਪਾਸਵਰਡ:',
 'yourpasswordagain' => 'ਪਾਸਵਰਡ ਦੁਬਾਰਾ ਲਿਖੋ:',
 'remembermypassword' => 'ਇਸ ਕੰਪਿਊਟਰ ’ਤੇ ਮੇਰਾ ਲਾਗਇਨ ਯਾਦ ਰੱਖੋ (ਵੱਧ ਤੋਂ ਵੱਧ $1 {{PLURAL:$1|ਦਿਨ|ਦਿਨਾਂ}} ਲਈ)',
@@ -528,7 +589,7 @@ Note that some pages may continue to be displayed as if you were still logged in
 'password-change-forbidden' => 'ਇਸ ਵਿਕੀ ਤੇ ਤੁਸੀਂ ਪਾਸਵਰਡ ਨਹੀਂ ਬਦਲ ਸਕਦੇ।',
 'login' => 'ਲਾਗ ਇਨ',
 'nav-login-createaccount' => 'ਲਾਗ ਇਨ/ਖਾਤਾ ਬਣਾਓ',
-'loginprompt' => 'ਤà©\81ਹਾਨà©\82à©° {{SITENAME}} â\80\99ਤà©\87 à¨²à¨¾à¨\97à¨\87ਨ à¨\95ਰਨ à¨²à¨\88 à¨\95à©\82à¨\95à©\80à¨\9c਼ ਯੋਗ ਕਰਨੇ ਜ਼ਰੂਰੀ ਹਨ।',
+'loginprompt' => 'ਤà©\81ਹਾਨà©\82à©° {{SITENAME}} â\80\99ਤà©\87 à¨²à¨¾à¨\97à¨\87ਨ à¨\95ਰਨ à¨²à¨\88 à¨\95à©\82à¨\95à©\80ਸ ਯੋਗ ਕਰਨੇ ਜ਼ਰੂਰੀ ਹਨ।',
 'userlogin' => 'ਲਾਗ ਇਨ/ਖਾਤਾ ਬਣਾਓ',
 'userloginnocreate' => 'ਲਾਗ ਇਨ',
 'logout' => 'ਲਾਗ ਆਉਟ',
@@ -676,13 +737,13 @@ $2
 # Edit pages
 'summary' => 'ਸਾਰ:',
 'subject' => 'ਵਿਸ਼ਾ/ਹੈੱਡਲਾਈਨ:',
-'minoredit' => 'à¨\87ਹ à¨\87ੱà¨\95 à¨\9bà©\8bà¨\9fà©\80 à¨¬à¨¦à¨²à©\80 ਹੈ',
+'minoredit' => 'à¨\87ਹ à¨\87ੱà¨\95 à¨\9bà©\8bà¨\9fਾ à¨¬à¨¦à¨²à¨¾à¨µ ਹੈ',
 'watchthis' => 'ਇਸ ਪੰਨੇ ’ਤੇ ਧਿਆਨ ਰੱਖੋ',
 'savearticle' => 'ਪੰਨਾ ਸਾਂਭੋ',
 'preview' => 'ਝਲਕ',
 'showpreview' => 'ਝਲਕ ਵੇਖੋ',
 'showlivepreview' => 'ਲਾਈਵ ਝਲਕ',
-'showdiff' => 'ਤਬਦà©\80ਲà©\80 à¨µà©\87à¨\96à©\8b',
+'showdiff' => 'ਬਦਲਾਵ à¨µà¨¿à¨\96ਾà¨\93',
 'anoneditwarning' => "'''ਚੇਤਾਵਨੀ:''' ਤੁਸੀਂ ਲਾਗਇਨ ਨਹੀਂ ਕੀਤਾ ਹੈ। ਤੁਹਾਡਾ IP ਐਡਰੈੱਸ ਇਸ ਪੰਨੇ ਦੇ ਇਤਿਹਾਸ ਵਿੱਚ ਰਿਕਾਰਡ ਕੀਤਾ ਜਾਵੇਗਾ।",
 'anonpreviewwarning' => "''ਤੁਸੀਂ ਲਾਗਇਨ ਨਹੀਂ ਕੀਤਾ। ਤਬਦੀਲੀ ਸਾਂਭਣ ਨਾਲ਼ ਤੁਹਾਡਾ IP ਪਤਾ ਸਫ਼ੇ ਦੇ ਸੋਧ ਅਤੀਤ ਵਿਚ ਰਿਕਾਰਡ ਹੋ ਜਾਵੇਗਾ।''",
 'missingsummary' => "'''ਯਾਦ-ਦਹਾਨੀ:''' ਤੁਸੀਂ ਸੋਧ ਸਾਰ ਮੁਹੱਈਆ ਨਹੀਂ ਕਰਵਾਇਆ। ਜੇ ਤੁਸੀਂ \"{{int:savearticle}}\" ਤੇ ਦੁਬਾਰਾ ਕਲਿੱਕ ਕੀਤਾ ਤਾਂ ਤੁਹਾਡਾ ਸਫ਼ਾ ਇਸਦੇ ਬਿਨਾਂ ਹੀ ਸਾਂਭਿਆ ਜਾਵੇਗਾ।",
@@ -746,7 +807,8 @@ sysop}}|administrator]] ਨਾਲ ਰਾਬਤਾ ਕਰ ਸਕਦੇ ਹੋ।
 '''ਇਹ ਹਾਲੇ ਸਾਂਭੀ ਨਹੀਂ ਗਈ ਹੈ!'''",
 'updated' => '(ਅੱਪਡੇਟ)',
 'note' => "'''ਨੋਟ:'''",
-'previewnote' => "'''ਯਾਦ ਰੱਖੋ ਇਹ ਕੇਵਲ ਇੱਕ ਝਲਕ ਹੈ।''' ਤੁਹਾਡੀਆਂ ਬਦਲੀਆਂ ਹਾਲੇ ਸਾਂਭੀਆਂ ਨਹੀਂ ਗਈਆਂ!",
+'previewnote' => "'''ਯਾਦ ਰੱਖੋ, ਇਹ ਕੇਵਲ ਇੱਕ ਝਲਕ ਹੈ।'''
+ਤੁਹਾਡੇ ਬਦਲਾਵ ਹੁਣੇ ਤੱਕ ਸਾਂਭੇ ਨਹੀਂ ਗਏ ਹਨ!",
 'continue-editing' => 'ਸੰਪਾਦਨ ਜਾਰੀ ਰੱਖੋ',
 'previewconflict' => 'ਇਹ ਝਲਕ ਲਿਖਤ ਦਾ ਓਹ ਅਕਸ ਪੇਸ਼ ਕਰਦੀ ਹੈ ਜਿਵੇਂ ਓਹ ਤੁਹਾਡੇ ਸਾਂਭੇ ਜਾਣ ਤੋਂ ਬਾਅਦ ਦਿੱਸੇਗਾ।',
 'editing' => '$1 ਸੰਪਾਦਨ',
@@ -781,7 +843,7 @@ $1 ਲੁਕਵੀਆਂ ਸ਼੍ਰੇਣੀਆਂ}} ਦਾ ਮੈਂਬਰ 
 'nocreate-loggedin' => 'ਤੁਹਾਨੂੰ ਨਵੇਂ ਸਫ਼ੇ ਬਣਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।',
 'permissionserrors' => 'ਅਧਿਕਾਰ ਗਲਤੀਆਂ',
 'permissionserrorstext' => 'ਤੁਹਾਨੂੰ ਇੰਝ ਕਰਨ ਦੇ ਅਧਿਕਾਰ ਨਹੀਂ ਹਨ। ਹੇਠ ਦਿੱਤੇ {{PLURAL:$1|ਕਾਰਨ|ਕਾਰਨ}} ਨੇ:',
-'permissionserrorstext-withaction' => '{{PLURAL:$1|ਇਸ ਕਾਰਨ|ਇਹਨਾਂ ਕਾਰਨਾਂ}} ਕਰਕੇ ਤੁਹਾਨੂੰ $2 ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ:',
+'permissionserrorstext-withaction' => 'ਤੁਹਾਨੂੰ  $2 ਦੀ ਅਨੁਮਤੀ ਨਹੀਂ ਹਨ, ਨਿੱਚੇ ਲਿਖੇ {{PLURAL:$1|ਕਾਰਨ|ਕਾਰਨਾਂ}} ਦੀ ਵਜ੍ਹਾ:',
 'recreate-moveddeleted-warn' => "'''ਚਿਤਾਵਣੀ:
 ਤੁਸੀਂ ਐਸਾ ਪੰਨਾ ਬਣਾ ਰਹੇ ਹੋ ਜੋ ਪਹਿਲਾਂ ਹਟਾਇਆ ਜਾ ਚੁੱਕਾ ਹੈ।'''
 
@@ -799,7 +861,7 @@ $1 ਲੁਕਵੀਆਂ ਸ਼੍ਰੇਣੀਆਂ}} ਦਾ ਮੈਂਬਰ 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => "'''ਖਬਰਦਾਰ:''' ਸਾਂਚਾ ਦਾ ਅਕਾਰ ਬਹੁਤ ਵੱਡਾ ਹੈ। ਕੁਝ ਟੈਂਪਲੇਟ ਸ਼ਾਮਲ ਨਹੀਂ ਹੋਣਗੇ।",
 'post-expand-template-inclusion-category' => 'ਓਹ ਪੰਨੇ ਜਿੱਥੇ ਟੈਂਪਲੇਟਾਂ ਦੇ ਸ਼ਾਮਲ ਕਰਨ ਦਾ ਅਕਾਰ ਹੱਦੋਂ ਵਧ ਗਿਆ ਹੈ',
-'post-expand-template-argument-warning' => "'''à¨\96਼ਬਰਦਾਰ:'''
+'post-expand-template-argument-warning' => "'''à¨\9aà©\87ਤਾਵਨà©\80:'''
 ਇਸ ਪੰਨੇ ਤੇ ਘੱਟੋ ਘੱਟ ਇੱਕ ਐਸੀ ਸਾਂਚਾ ਬਹਿਸ ਹੈ ਜਿਸ ਦਾ ਅਕਾਰ ਬਹੁਤ ਵੱਡਾ ਹੈ। ਅਜਿਹੀਆਂ ਬਹਿਸਾਂ ਨੂੰ ਛੱਡ ਦਿੱਤਾ ਗਿਆ ਹੈ।",
 'post-expand-template-argument-category' => 'ਐਸੇ ਪੰਨੇ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਸਾਂਚੇ ਦੇ ਸਁਘਟਕ ਛੁੱਟ ਗਏ ਹਨ ।',
 'parser-template-loop-warning' => 'ਸਾਂਚੇ ਦਾ ਲੂਪ ਲੱਭਿਆ: [[$1]]',
@@ -828,15 +890,15 @@ $3 ਨੇ ਕਾਰਨ ਇਹ ਦੱਸਿਆ ਹੈ, ''$2''",
 'currentrevisionlink' => 'ਸਭ ਤੋ ਨਵਾਂ ਰੀਵਿਜਨ',
 'cur' => 'ਮੌਜੂਦਾ',
 'next' => 'ਅੱਗੇ',
-'last' => 'à¨\86à¨\96ਰà©\80',
+'last' => 'ਪਿੱà¨\9bਲਾ',
 'page_first' => 'ਪਹਿਲਾਂ',
 'page_last' => 'ਆਖਰੀ',
-'histlegend' => "ਫ਼ਰà¨\95 ਵੇਖੋ:
+'histlegend' => "à¨\85ੰਤਰ ਵੇਖੋ:
 ਮੁਕਾਬਲਾ ਕਰਨ ਲਈ ਰੀਵਿਜਨਾਂ ਦੇ ਰੇਡੀਓ ਬਟਨਾਂ ਵਿੱਚ ਨਿਸ਼ਾਨ ਲਾਓ ਅਤੇ ਜਾਓ ਜਾਂ ਸਭ ਤੋਂ ਥੱਲੇ ਵਾਲੇ ਬਟਨ ਤੇ ਕਲਿੱਕ ਕਰੋ। <br />
 ਲੈਜਅੰਡ:
-'''({{int:cur}})''' = à¨¨à¨µà©\87à¨\82 à¨°à©\80ਵਿà¨\9cਨ à¨¨à¨¾à¨²à©\8bà¨\82 à¨«à¨¼à¨°à¨\95, '''({{int:last}})''' = à¨\86à¨\96ਰà©\80 à¨°à©\80ਵਿà¨\9cਨ à¨¨à¨¾à¨²à©\8bà¨\82 à¨«à¨¼à¨°à¨\95, '''({{int:minoreditletter}})''' = à¨\9bà©\8bà¨\9fà©\80 à¨¸à©\8bਧ।",
+'''({{int:cur}})''' = à¨¨à¨µà©\87à¨\82 à¨°à©\80ਵਿà¨\9cਨ à¨¨à¨¾à¨²à©\8bà¨\82 à¨\85ੰਤਰ, '''({{int:last}})''' = à¨ªà¨¿à©±à¨\9bਲà©\80 à¨°à©\80ਵਿà¨\9cਨ à¨¨à¨¾à¨²à©\8bà¨\82 à¨\85ੰਤਰ, '''({{int:minoreditletter}})''' = à¨\9bà©\8bà¨\9fਾ à¨¬à¨¦à¨²à¨¾à¨µ।",
 'history-fieldset-title' => 'ਇਤਿਹਾਸ ਨੂੰ ਬ੍ਰਾਊਜ਼ ਕਰੋ',
-'history-show-deleted' => 'ਸਿਰਫ਼ ਹਟਾਏ ਗਏ',
+'history-show-deleted' => 'à¨\95à©\87ਵਲ ਹਟਾਏ ਗਏ',
 'histfirst' => 'ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਦੇ',
 'histlast' => 'ਸਭ ਤੋਂ ਨਵਾਂ',
 'historysize' => '($1 ਬਾਈਟ)',
@@ -873,7 +935,7 @@ page={{FULLPAGENAMEE}}}} ਮਿਟਾਉਣ ਦੇ ਚਿੱਠੇ] ਵਿਚ 
 'rev-suppressed-diff-view' => "ਇਸ ਫ਼ਰਕ ਵਿੱਚੋਂ ਇੱਕ ਰੀਵਿਜ਼ਨ '''ਜ਼ਬਤ''' ਕੀਤੀ ਜਾ ਚੁੱਕੀ ਹੈ।
 ਤਫ਼ਸੀਲ [{{fullurl:{{#Special:Log}}/delete|
 page={{FULLPAGENAMEE}}}} ਜ਼ਬਤੀ ਦੇ ਚਿੱਠੇ] ਵਿਚ ਵੇਖੀ ਜਾ ਸਕਦੀ ਹੈ।",
-'rev-delundel' => 'ਦਿà¨\96ਾà¨\93/ਲà©\81à¨\95ਾਓ',
+'rev-delundel' => 'ਵਿà¨\96ਾà¨\93/à¨\9bà©\81ਪਾਓ',
 'rev-showdeleted' => 'ਵਖਾਓ',
 'revisiondelete' => 'ਰੀਵਿਜ਼ਨ ਮਿਟਾਓ/ਮਿਟਾਈ ਰੱਦ ਕਰੋ',
 'revdelete-nooldid-title' => 'ਕੋਈ ਟਾਰਗੇਟ ਰੀਵਿਜ਼ਨ ਨਹੀਂ',
@@ -938,7 +1000,7 @@ page={{FULLPAGENAMEE}}}} ਜ਼ਬਤੀ ਦੇ ਚਿੱਠੇ] ਵਿਚ ਵ
 'compareselectedversions' => 'ਚੁਣੇ ਵਰਜਨਾਂ ਦੀ ਤੁਲਨਾ',
 'showhideselectedversions' => 'ਚੁਣੇ ਰੀਵਿਜ਼ਨ ਵਖਾਓ/ਲੁਕਾਓ',
 'editundo' => 'ਉਧੇੜੋ',
-'diff-multi' => '({{PLURAL:$2|ਮà©\88à¨\82ਬਰ à¨¦à©\80|$2 à¨®à©\88à¨\82ਬਰਾà¨\82 à¨¦à©\80à¨\86à¨\82}} {{PLURAL:$1|ਵਿà¨\9aà¨\95ਾਰਲà©\80 à¨°à©\80ਵਿà¨\9cਨ à¨¨à¨¹à©\80à¨\82 à¨¦à¨¿à¨\96ਾà¨\88 à¨\9cਾ à¨°à¨¹à©\80|ਵਿà¨\9aà¨\95ਾਰਲà©\80à¨\86à¨\82 $1 à¨°à©\80ਵਿà¨\9c਼ਨਾਂ ਨਹੀਂ ਦਿਖਾਈਆਂ ਜਾ ਰਹੀਆਂ}})',
+'diff-multi' => '({{PLURAL:$2|ਵਰਤà©\8bà¨\82à¨\95ਾਰ à¨¦à©\80|$2 à¨µà¨°à¨¤à©\8bà¨\82à¨\95ਾਰਾà¨\82 à¨¦à©\80à¨\86à¨\82}} {{PLURAL:$1|ਵਿà¨\9aà¨\95ਾਰਲà©\80 à¨°à©\80ਵਿà¨\9cਨ à¨¨à¨¹à©\80à¨\82 à¨¦à¨¿à¨\96ਾà¨\88 à¨\9cਾ à¨°à¨¹à©\80|ਵਿà¨\9aà¨\95ਾਰਲà©\80à¨\86à¨\82 $1 à¨°à©\80ਵਿà¨\9cਨਾਂ ਨਹੀਂ ਦਿਖਾਈਆਂ ਜਾ ਰਹੀਆਂ}})',
 
 # Search results
 'searchresults' => 'ਖੋਜ ਨਤੀਜੇ',
@@ -1082,7 +1144,7 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'gender-female' => 'ਔਰਤ',
 'email' => 'ਈਮੇਲ',
 'prefs-help-realname' => 'ਅਸਲੀ ਨਾਂ ਚੋਣਵਾਂ ਹੈ, ਅਤੇ ਜੇ ਤੁਸੀਂ ਇਹ ਦਿੱਤਾ ਹੈ ਤਾਂ ਤੁਹਾਡੇ ਕੰਮ ਵਾਸਤੇ ਗੁਣ ਦੇ ਤੌਰ ਉੱਤੇ ਵਰਤਿਆ ਜਾਵੇਗਾ।',
-'prefs-help-email' => 'ਤà©\81ਹਾਡà©\80 à¨®à¨°à¨\9c਼à©\80 à¨¹à©\88 à¨\88ਮà©\87ਲ à¨ªà¨¤à¨¾ à¨¦à¨¿à¨\93 à¨\9cਾà¨\82 à¨¨à¨¾ à¨¦à¨¿à¨\93 à¨ªà¨° à¨ªà¨¾à¨¸à¨µà¨°à¨¡ à¨­à©\81ੱਲ à¨\9cਾਣ à¨¤à©\87 à¨¨à¨µà¨¾à¨\82 à¨ªà¨¾à¨¸à¨µà¨°à¨¡ à¨¹à¨¾à¨¸à¨² à¨\95ਰਨ à¨²à¨\88 à¨\87ਹ à¨\9c਼ਰੂਰੀ ਹੈ।',
+'prefs-help-email' => 'ਤà©\81ਹਾਡà©\80 à¨®à¨°à¨\9cà©\80 à¨¹à©\88 à¨\88ਮà©\87ਲ à¨ªà¨¤à¨¾ à¨¦à¨¿à¨\93 à¨\9cਾà¨\82 à¨¨à¨¾ à¨¦à¨¿à¨\93 à¨ªà¨° à¨ªà¨¾à¨¸à¨µà¨°à¨¡ à¨­à©\81ੱਲ à¨\9cਾਣ à¨¤à©\87 à¨¨à¨µà¨¾à¨\82 à¨ªà¨¾à¨¸à¨µà¨°à¨¡ à¨¹à¨¾à¨¸à¨² à¨\95ਰਨ à¨²à¨\88 à¨\87ਹ à¨\9cਰੂਰੀ ਹੈ।',
 'prefs-help-email-others' => 'ਤੁਸੀਂ ਇਹ ਵੀ ਚੁਣ ਸਕਦੇ ਹੋ ਕਿ ਤੁਹਾਡੇ ਵਰਤੋਂਕਾਰ ਜਾਂ ਚਰਚਾ ਪੰਨੇ ਤੋਂ ਹੋਰ ਵਰਤੋਂਕਾਰ ਤੁਹਾਨੂੰ ਈ-ਮੇਲ ਭੇਜ ਸਕਣ?
 ਜਦੋਂ ਹੋਰ ਵਰਤੋਂਕਾਰ ਤੁਹਾਨੂੰ ਈ-ਮੇਲ ਭੇਜਦੇ ਹਨ ਤਾਂ ਤੁਹਾਡਾ ਈ-ਮੇਲ ਪਤਾ ਜ਼ਾਹਰ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ।',
 'prefs-help-email-required' => 'ਈ-ਮੇਲ ਪਤਾ ਚਾਹੀਦਾ ਹੈ।',
@@ -1182,46 +1244,45 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'action-sendemail' => 'ਈ-ਮੇਲਾਂ ਭੇਜਣ',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|ਬਦਲੀ|
-ਬਦਲੀਆਂ}}',
-'recentchanges' => 'ਹਾਲ ਹੀ ’ਚ ਹੋਈਆਂ ਤਬਦੀਲੀਆਂ',
-'recentchanges-legend' => 'ਹਾਲ ਦੀਆਂ ਬਦਲੀਆਂ ਸਬੰਧੀ ਚੋਣਾਂ',
+'nchanges' => '$1 {{PLURAL:$1|ਬਦਲਾਵ}}',
+'recentchanges' => 'ਹਾਲ ’ਚ ਹੋਏ ਬਦਲਾਵ',
+'recentchanges-legend' => 'ਹਾਲ ਦੇ ਪਰਿਵਰਤਨ ਸਬੰਧੀ ਵਿਕਲਪ',
 'recentchanges-summary' => 'ਇਸ ਵਿਕੀ ’ਤੇ ਹੋਈਆਂ ਸਭ ਤੋਂ ਨਵੀਆਂ ਤਬਦੀਲੀਆਂ ਇਸ ਸਫ਼ੇ ’ਤੇ ਵੇਖੋ।',
-'recentchanges-feed-description' => 'ਇਸ ਵਿਕੀ ’ਤੇ ਹਾਲ ਹੀ ਵਿਚ ਹੋਈਆਂ ਬਦਲੀਆਂ ਇਸ ਫ਼ੀਡ ’ਚ ਵੇਖੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।',
+'recentchanges-feed-description' => 'ਇਸ ਵਿਕੀ ’ਤੇ ਹਾਲ ‘ਚ ਹੋਏ ਬਦਲਾਵ ਇਸ ਫ਼ੀਡ ’ਚ ਵੇਖੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।',
 'recentchanges-label-newpage' => 'ਇਹ ਸੰਪਾਦਨ ਨੇ ਨਵਾਂ ਪੰਨਾ ਬਣਾਇਆ ਹੈ',
 'recentchanges-label-minor' => 'ਇਹ ਇੱਕ ਛੋਟਾ ਸੰਪਾਦਨ ਹੈ',
 'recentchanges-label-bot' => 'ਇਹ ਸੰਪਾਦਨ ਬੋਟ ਵਲੋਂ ਕੀਤੀ ਗਈ ਹੈ',
 'recentchanges-label-unpatrolled' => 'ਇਹ ਫੇਰ-ਬਦਲ ਹਾਲੇ ਵੇਖਿਆ ਨਹੀਂ ਗਿਆ',
 'rcnote' => "$4, $5 ਤੱਕ ਆਖਰੀ {{PLURAL:$2|ਦਿਨ|'''$2''' ਦਿਨਾਂ}} ਵਿੱਚ {{PLURAL:$1|'''1''' ਬਦਲੀ ਹੋਈ ਹੈ।|'''$1''' ਬਦਲੀਆਂ ਹੋਈਆਂ ਹਨ।}}",
-'rcnotefrom' => "'''$2''' à¨¤à©±à¨\95 ('''$1''' à¨¤à©±à¨\95 à¨¦à¨¿à©±à¨¸à¨¦à©\80à¨\86à¨\82) à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 ਹੇਠ ਦਿੱਤੀਆਂ ਹਨ।",
-'rclistfrom' => '$1 à¨¤à©\8bà¨\82 à¨¸à¨¼à©\81ਰà©\82 à¨\95ਰà¨\95à©\87 à¨¨à¨µà©\80à¨\86à¨\82 à¨¬à¨¦à¨²à©\80à¨\86à¨\82 ਵੇਖਾਓ',
-'rcshowhideminor' => '$1 à¨\9bà©\8bà¨\9fà©\80à¨\86à¨\82 à¨¬à¨¦à¨²à©\80à¨\86à¨\82',
+'rcnotefrom' => "'''$2''' à¨¤à©±à¨\95 ('''$1''' à¨¤à©±à¨\95 à¨¦à¨¿à©±à¨¸à¨¦à©\87) à¨¬à¨¦à¨²à¨¾à¨µ ਹੇਠ ਦਿੱਤੀਆਂ ਹਨ।",
+'rclistfrom' => '$1 à¨¤à©\8bà¨\82 à¨¸à¨¼à©\81ਰà©\82 à¨\95ਰà¨\95à©\87 à¨¨à¨µà©\87à¨\82 à¨¬à¨¦à¨²à¨¾à¨µ ਵੇਖਾਓ',
+'rcshowhideminor' => '$1 à¨\9bà©\8bà¨\9fà©\87 à¨¬à¨¦à¨²à¨¾à¨µ',
 'rcshowhidebots' => '$1 ਬੋਟ',
-'rcshowhideliu' => '$1 à¨²à¨¾à¨\97à¨\87ਨ à¨¹à©\8bà¨\8f à¨®à©\88à¨\82ਬਰ',
+'rcshowhideliu' => '$1 à¨²à¨¾à¨\97à¨\87ਨ à¨¹à©\8bà¨\8f à¨µà¨°à¨¤à©\8bà¨\82à¨\95ਾਰਾà¨\82',
 'rcshowhideanons' => '$1 ਗੁਮਨਾਮ ਵਰਤੋਂਕਾਰ',
 'rcshowhidepatr' => 'ਜਾਂਚੇ ਹੋਏ ਸੰਪਾਦਨ $1',
-'rcshowhidemine' => 'ਮà©\87ਰà©\80à¨\86à¨\82 à¨¬à¨¦à¨²à©\80à¨\86à¨\82 $1',
-'rclinks' => 'ਪਿà¨\9bਲà©\87 $2 à¨¦à¨¿à¨¨à¨¾à¨\82 à¨µà¨¿à©±à¨\9a à¨¹à©\8bà¨\88à¨\86à¨\82 $1 à¨¬à¨¦à¨²à©\80à¨\86à¨\82 ਵੇਖਾਓ<br /> $3',
-'diff' => 'ਫ਼ਰà¨\95',
+'rcshowhidemine' => 'ਮà©\87ਰà©\87 à¨¬à¨¦à¨²à¨¾à¨µ $1',
+'rclinks' => 'ਪਿà¨\9bਲà©\87 $2 à¨¦à¨¿à¨¨à¨¾à¨\82 à¨µà¨¿à©±à¨\9a à¨¹à©\8bà¨\8f $1 à¨¬à¨¦à¨²à¨¾à¨µ ਵੇਖਾਓ<br /> $3',
+'diff' => 'à¨\85ੰਤਰ',
 'hist' => 'ਇਤਿਹਾਸ',
-'hide' => 'ਲà©\81à¨\95ਾਓ',
-'show' => 'ਵਖਾਓ',
+'hide' => 'à¨\9bà©\81ਪਾਓ',
+'show' => 'ਵਿà¨\96ਾà¨\93',
 'minoreditletter' => 'ਛੋ',
 'newpageletter' => 'ਨ',
-'boteditletter' => 'ਬ',
+'boteditletter' => 'ਬ',
 'rc_categories_any' => 'ਕੋਈ ਵੀ',
-'rc-enhanced-expand' => 'ਵੇਰਵਾ ਵਖਾਓ (ਜਾਵਾਸਕ੍ਰਿਪਟ ਲੋੜੀਂਦੀ ਹੈ)',
-'rc-enhanced-hide' => 'ਵà©\87ਰਵਾ à¨²à©\81à¨\95ਾਓ',
+'rc-enhanced-expand' => 'ਵà©\87ਰਵਾ à¨µà©\87à¨\96ਾà¨\93 (à¨\9cਾਵਾਸà¨\95à©\8dਰਿਪà¨\9f à¨²à©\8bà©\9cà©\80à¨\82ਦà©\80 à¨¹à©\88)',
+'rc-enhanced-hide' => 'ਵà©\87ਰਵਾ à¨\9bà©\81ਪਾਓ',
 
 # Recent changes linked
-'recentchangeslinked' => 'ਸਬੰਧਤ à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82',
+'recentchangeslinked' => 'ਸਬੰਧਤ à¨¬à¨¦à¨²à¨¾à¨µ',
 'recentchangeslinked-feed' => 'ਸਬੰਧਤ ਤਬਦੀਲੀਆਂ',
-'recentchangeslinked-toolbox' => 'ਸਬੰਧਿਤ à¨¬à¨¦à¨²à©\80à¨\86à¨\82',
-'recentchangeslinked-title' => '"$1" à¨¨à¨¾à¨² à¨¸à¨¬à©°à¨§à¨¿à¨¤ à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82',
-'recentchangeslinked-noresult' => 'à¨\9cà©\81à©\9cà©\87 à¨ªà©°à¨¨à¨¿à¨\86à¨\82 â\80\99ਤà©\87, à¨¦à¨¿à©±à¨¤à©\87 à¨¸à¨®à©\87à¨\82 â\80\99à¨\9a à¨\95à©\8bà¨\88 à¨¬à¨¦à¨²à©\80 ਨਹੀਂ ਹੋਈ।',
-'recentchangeslinked-summary' => 'à¨\87ਹ à¨¸à©\82à¨\9aà©\80 à¨\87ੱà¨\95 à¨\96ਾਸ à¨ªà©°à¨¨à©\87 à¨¨à¨¾à¨² à¨¸à¨¬à©°à¨§à¨¿à¨¤ à¨ªà©°à¨¨à¨¿à¨\86à¨\82 à¨\9cਾà¨\82 à¨\95ਿਸà©\87 à¨\96ਾਸ à¨¸à¨¼à©\8dਰà©\87ਣà©\80 à¨¦à©\87 à¨®à©\88à¨\82ਬਰਾà¨\82 à¨¦à©\87 à¨¹à¨¾à¨² à¨µà¨¿à©±à¨\9a à¨¹à©\8bà¨\88à¨\86à¨\82 à¨¬à¨¦à¨²à©\80à¨\86ਂ ਨੂੰ ਦਰਸਾਂਉਦੀ ਹੈ। [[Special:Watchlist|ਤੁਹਾਡੀ ਧਿਆਨਸੂਚੀ]] ਵਿੱਚ ਮੌਜੂਦ ਪੰਨੇ ਮੋਟੇ ਅੱਖਰਾਂ ਵਿੱਚ ਦਿਖਾਈ ਦੇਣਗੇ।',
+'recentchangeslinked-toolbox' => 'ਪੰਨà©\87 à¨¨à¨¾à¨² à¨¸à©°à¨¬à©°à¨§à¨¿à¨¤ à¨¬à¨¦à¨²à¨¾à¨µ',
+'recentchangeslinked-title' => '"$1" à¨¨à¨¾à¨² à¨¸à¨¬à©°à¨§à¨¿à¨¤ à¨¬à¨¦à¨²à¨¾à¨µ',
+'recentchangeslinked-noresult' => 'à¨\9cà©\81à©\9cà©\87 à¨ªà©°à¨¨à¨¿à¨\86à¨\82 â\80\99ਤà©\87, à¨¦à¨¿à©±à¨¤à©\87 à¨¸à¨®à©\87à¨\82 â\80\99à¨\9a à¨\95à©\8bà¨\88 à¨¬à¨¦à¨²à¨¾à¨µ ਨਹੀਂ ਹੋਈ।',
+'recentchangeslinked-summary' => 'à¨\87ਹ à¨¸à©\82à¨\9aà©\80 à¨\87ੱà¨\95 à¨µà¨¿à¨¸à¨¼à©\87ਸ਼ à¨ªà©°à¨¨à©\87 à¨¨à¨¾à¨² à¨¸à¨¬à©°à¨§à¨¿à¨¤ à¨ªà©°à¨¨à¨¿à¨\86à¨\82 à¨\9cਾà¨\82 à¨\95ਿਸà©\87 à¨µà¨¿à¨¸à¨¼à©\87ਸ਼ à¨¸à¨¼à©\8dਰà©\87ਣà©\80 à¨¦à©\87 à¨®à©\88à¨\82ਬਰਾà¨\82 à¨¦à©\87 à¨¹à¨¾à¨² â\80\98à¨\9a à¨¹à©\8bà¨\8f à¨¬à¨¦à¨²à¨¾à¨µà¨¾ਂ ਨੂੰ ਦਰਸਾਂਉਦੀ ਹੈ। [[Special:Watchlist|ਤੁਹਾਡੀ ਧਿਆਨਸੂਚੀ]] ਵਿੱਚ ਮੌਜੂਦ ਪੰਨੇ ਮੋਟੇ ਅੱਖਰਾਂ ਵਿੱਚ ਦਿਖਾਈ ਦੇਣਗੇ।',
 'recentchangeslinked-page' => 'ਪੰਨੇ ਦਾ ਨਾਮ:',
-'recentchangeslinked-to' => 'à¨\87ਸਦà©\87 à¨¬à¨¦à¨²à©\87 à¨\87ਸ à¨ªà©°à¨¨à©\87 à¨¨à¨¾à¨² à¨\9cà©\81à©\9cà©\87 à¨ªà©°à¨¨à¨¿à¨\86à¨\82 à¨µà¨¿à©±à¨\9a à¨¹à©\8bà¨\8f à¨¬à¨¦à¨²à¨¾à¨\85 à¨¦ਿਖਾਓ',
+'recentchangeslinked-to' => 'à¨\87ਸਦà©\87 à¨¬à¨¦à¨²à©\87 à¨\87ਸ à¨ªà©°à¨¨à©\87 à¨¨à¨¾à¨² à¨\9cà©\81à©\9cà©\87 à¨ªà©°à¨¨à¨¿à¨\86à¨\82 à¨µà¨¿à©±à¨\9a à¨¹à©\8bà¨\8f à¨¬à¨¦à¨²à¨¾à¨\85 à¨µਿਖਾਓ',
 
 # Upload
 'upload' => 'ਫ਼ਾਈਲ ਅੱਪਲੋਡ ਕਰੋ',
@@ -1581,7 +1642,7 @@ to upload files.',
 'watchlistcontains' => 'ਤੁਹਾਡੀ ਨਿਗਰਾਨੀ-ਲਿਸਟ ਵਿਚ $1 {{PLURAL:$1|ਸਫ਼ਾ ਹੈ|ਸਫ਼ੇ ਹਨ}}।',
 'wlnote' => "$3, $4 ਮੁਤਾਬਕ ਆਖ਼ਰੀ {{PLURAL:$2|ਘੰਟੇ|'''$2''' ਘੰਟਿਆਂ}} ਵਿਚ {{PLURAL:
 $1|ਤਬਦੀਲੀ ਹੋਈ|'''$1''' ਤਬਦੀਲੀਆਂ ਹੋਈਆਂ}}, ਹੇਠਾਂ ਵੇਖੋ।",
-'wlshowlast' => 'à¨\86à¨\96ਰà©\80 $1 à¨¦à¨¿à¨¨ $2 à¨\98à©°à¨\9fà©\87 $3 à¨µà¨\96ਾà¨\93',
+'wlshowlast' => 'ਪਿੱà¨\9bਲà©\87 $1 à¨\98à©°à¨\9fà©\87 $2 à¨¦à¨¿à¨¨ $3 à¨µà©\87à¨\96à©\8b',
 'watchlist-options' => 'ਧਿਆਨਸੂਚੀ ਦੇ ਇਖਤਿਆਰ',
 
 # Displayed when you click the "watch" button and it is in the process of watching
@@ -1828,7 +1889,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 ਮਿਹਰਬਾਨੀ ਕਰਕੇ ਕੋਈ ਹੋਰ ਨਾਮ ਚੁਣੋ।',
 'movedto' => 'ਮੂਵ ਕੀਤਾ',
 'movepage-page-moved' => 'ਸਫ਼ਾ $1 ਨੂੰ $2 ’ਤੇ ਭੇਜਿਆ ਜਾ ਚੁੱਕਾ ਹੈ।',
-'movelogpage' => 'ਸਿਰਲà©\87à¨\96 à¨¬à¨¦à¨²à©\80 ਦਾ ਚਿੱਠਾ',
+'movelogpage' => 'ਸਥਾਨਾà¨\82ਤਰਣ ਦਾ ਚਿੱਠਾ',
 'movereason' => 'ਕਾਰਨ:',
 'revertmove' => 'ਰੱਦ ਕਰੋ',
 'delete_and_move' => 'ਹਟਾਓ ਅਤੇ ਮੂਵ ਕਰੋ',
@@ -1916,7 +1977,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'tooltip-t-print' => 'ਇਹ ਪੰਨੇ ਦਾ ਛਪਣਯੋਗ ਵਰਜਨ',
 'tooltip-t-permalink' => 'ਪੰਨੇ ਦੇ ਇਸ ਰੀਵਿਜਨ ਲਈ ਪੱਕਾ ਲਿੰਕ',
 'tooltip-ca-nstab-main' => 'ਸਮੱਗਰੀ ਪੰਨਾ ਵੇਖੋ',
-'tooltip-ca-nstab-user' => 'ਮà©\88à¨\82ਬਰ ਪੰਨਾ ਵੇਖੋ',
+'tooltip-ca-nstab-user' => 'ਵਰਤà©\8bà¨\82à¨\95ਾਰ ਪੰਨਾ ਵੇਖੋ',
 'tooltip-ca-nstab-media' => 'ਮੀਡਿਆ ਪੇਜ ਵੇਖੋ',
 'tooltip-ca-nstab-special' => 'ਇਹ ਵਿਸ਼ੇਸ਼ ਪੰਨਾ ਹੈ, ਤੁਸੀਂ ਇਸ ਪੰਨੇ ਨੂੰ ਬਦਲ ਨਹੀਂ ਸਕਦੇ।',
 'tooltip-ca-nstab-project' => 'ਪਰਿਯੋਜਨਾ ਪੰਨਾ ਵੇਖੋ',
@@ -1925,9 +1986,9 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'tooltip-ca-nstab-template' => 'ਸਾਂਚਾ ਵੇਖੋ',
 'tooltip-ca-nstab-help' => 'ਮੱਦਦ ਪੇਜ ਵੇਖੋ',
 'tooltip-ca-nstab-category' => 'ਸ਼੍ਰੇਣੀ ਪੰਨਾ ਵੇਖੋ',
-'tooltip-minoredit' => 'à¨\87ਸ â\80\99ਤà©\87 à¨¬à¨¤à©\8cਰ à¨\9bà©\8bà¨\9fà©\80 à¨¬à¨¦à¨²à©\80 ਨਿਸ਼ਾਨ ਲਾਓ',
+'tooltip-minoredit' => 'à¨\87ਸ â\80\99ਤà©\87 à¨¬à¨¤à©\8cਰ à¨\9bà©\8bà¨\9fਾ à¨¬à¨¦à¨²à¨¾à¨µ ਨਿਸ਼ਾਨ ਲਾਓ',
 'tooltip-save' => 'ਆਪਣੀਆਂ ਤਬਦੀਲੀਆਂ ਸਾਂਭੋ',
-'tooltip-preview' => 'à¨\86ਪਣà©\80 à¨¤à¨¬à¨¦à©\80ਲà©\80 ਦੀ ਝਲਕ ਵੇਖੋ, ਸਾਂਭਣ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਵਰਤੋਂ!',
+'tooltip-preview' => 'à¨\86ਪਣà©\87 à¨¬à¨¦à¨²à¨¾à¨µ ਦੀ ਝਲਕ ਵੇਖੋ, ਸਾਂਭਣ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਵਰਤੋਂ!',
 'tooltip-diff' => 'ਤੁਹਾਡੇ ਦੁਆਰਾ ਲਿਖਤ ਵਿੱਚ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਵਖਾਉਂਦਾ ਹੈ',
 'tooltip-compareselectedversions' => 'ਇਸ ਪੰਨੇ ਦੇ ਦੋ ਚੁਣੇ ਹੋਏ ਸੋਧਾਂ ਵਿੱਚ ਫ਼ਰਕ ਵੇਖੋ',
 'tooltip-watch' => 'ਇਸ ਪੰਨੇ ਨੂੰ ਆਪਣੀ ਧਿਆਨਸੂਚੀ ਵਿੱਚ ਪਾਓ',
@@ -1935,8 +1996,8 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'tooltip-watchlistedit-raw-submit' => 'ਨਿਗਰਾਨੀ-ਲਿਸਟ ਨਵੀਂ ਕਰੋ',
 'tooltip-upload' => 'ਅੱਪਲੋਡ ਸਟਾਰਟ ਕਰੋ',
 'tooltip-rollback' => "''ਵਾਪਸ ਮੋੜੋ'' ਇੱਕ ਹੀ ਕਲਿੱਕ ਨਾਲ ਆਖਰੀ ਯੋਗਦਾਨ ਨੂੰ ਰੱਦ ਕਰ ਦਿੰਦਾ ਹੈ",
-'tooltip-undo' => '"à¨\89ਧà©\87à©\9cਨਾ" à¨\87ਸ à¨¤à¨¬à¨¦à©\80ਲà©\80 ਨੂੰ ਰੱਦ ਕਰਕੇ ਸੋਧ ਫ਼ਾਰਮ ਨੂੰ ਝਲਕ ਦੇ ਸ਼ੈਲੀ ਵਿੱਚ ਦਿਖਾਉਂਦਾ ਹੈ।
-à¨\87à©°à¨\9d "ਸਾਰ" à¨µà¨¿à©±à¨\9a à¨¤à¨¬à¨¦à©\80ਲà©\80 ਨਕਾਰਨ ਦਾ ਕਾਰਨ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।',
+'tooltip-undo' => '"à¨\89ਧà©\87à©\9cਨਾ" à¨\87ਸ à¨¬à¨¦à¨²à¨¾à¨µ ਨੂੰ ਰੱਦ ਕਰਕੇ ਸੋਧ ਫ਼ਾਰਮ ਨੂੰ ਝਲਕ ਦੇ ਸ਼ੈਲੀ ਵਿੱਚ ਦਿਖਾਉਂਦਾ ਹੈ।
+à¨\87à©°à¨\9d "ਸਾਰ" à¨µà¨¿à©±à¨\9a à¨¬à¨¦à¨²à¨¾à¨µ ਨਕਾਰਨ ਦਾ ਕਾਰਨ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।',
 'tooltip-preferences-save' => 'ਪਸੰਦਾਂ ਸਾਂਭੋ',
 'tooltip-summary' => 'ਸੰਖੇਪ ਸਾਰ ਦਰਜ ਕਰੋ',
 
@@ -1951,6 +2012,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 
 # Info page
 'pageinfo-header-edits' => 'ਸੋਧਾਂ ਦਾ ਅਤੀਤ',
+'pageinfo-article-id' => 'ਪੰਨਾ ਆਈ.ਡੀ',
 'pageinfo-watchers' => 'ਸਫ਼ੇ ’ਤੇ ਨਜ਼ਰ ਰੱਖਣ ਵਾਲਿਆਂ ਦੀ ਗਿਣਤੀ',
 'pageinfo-edits' => 'ਕੁੱਲ ਸੋਧਾਂ',
 
@@ -1962,8 +2024,8 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'skinname-simple' => 'ਸੈਂਪਲ',
 
 # Browsing diffs
-'previousdiff' => 'â\86\90 à¨\87ਸ à¨¤à©\8bà¨\82 à¨ªà©\81ਰਾਣà©\80 à¨¬à¨¦à¨²à©\80',
-'nextdiff' => 'ਤਾà¨\9c਼ਾ à¨¸à©°à¨ªà¨¾à¨¦à¨¨ â\86\92',
+'previousdiff' => 'â\86\90 à¨\87ਸ à¨¤à©\8bà¨\82 à¨ªà©\81ਰਾਣਾ à¨¬à¨¦à¨²à¨¾à¨µ',
+'nextdiff' => 'ਤਾਜਾ ਸੰਪਾਦਨ →',
 
 # Media information
 'thumbsize' => 'ਥੰਮਨੇਲ ਆਕਾਰ:',
@@ -1972,7 +2034,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'file-info-size' => '$1 × $2 ਪਿਕਸਲ, ਫ਼ਾਈਲ ਆਕਾਰ: $3, MIME ਕਿਸਮ: $4',
 'file-nohires' => 'ਇਸ ਤੋਂ ਵੱਡੀ ਚਿੱਤਰ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।',
 'svg-long-desc' => 'SVG ਫ਼ਾਈਲ, ਆਮ ਤੌਰ ’ਤੇ $1 × $2 ਪਿਕਸਲ, ਫ਼ਾਈਲ ਦਾ ਅਕਾਰ: $3',
-'show-big-image' => 'ਪà©\82ਰਾ à¨°à©\88à¨\9c਼à©\8bਲà©\87ਸ਼ਨ',
+'show-big-image' => 'ਪੂਰਾ ਰੈਜੋਲੇਸ਼ਨ',
 
 # Special:NewFiles
 'newimages' => 'ਨਵੀਆਂ ਫ਼ਾਈਲਾਂ ਦੀ ਗੈਲਰੀ',
@@ -2094,7 +2156,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'watchlistedit-raw-removed' => '{{PLURAL:$1|1 title was|$1 titles were}} ਹਟਾਓ:',
 
 # Watchlist editing tools
-'watchlisttools-view' => 'ਮà©\8cà¨\95à©\87 à¨®à©\81ਤਾਬà¨\95 à¨¬à¨¦à¨²à©\80à¨\86à¨\82 ਵੇਖੋ',
+'watchlisttools-view' => 'à¨\86ਧਾਰਿਤ à¨¬à¨¦à¨²à¨¾à¨µ ਵੇਖੋ',
 'watchlisttools-edit' => 'ਧਿਆਨਸੂਚੀ ਵੇਖੋ ’ਤੇ ਸੰਪਾਦਨ ਕਰੋ',
 'watchlisttools-raw' => 'ਕੱਚੀ ਧਿਆਨਸੂਚੀ ਸੰਪਾਦਨ ਕਰੋ',
 
index 5121c2e..60a8a21 100644 (file)
 
 $fallback = 'de';
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Medium',
+       NS_SPECIAL          => 'Schbezial',
+       NS_TALK             => 'Babble',
+       NS_USER             => 'Benudzer',
+       NS_USER_TALK        => 'Benudzer_Dischbediere',
+       NS_PROJECT_TALK     => '$1_Dischbediere',
+       NS_FILE             => 'Dadai',
+       NS_FILE_TALK        => 'Dadai_Dischbediere',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_Dischbediere',
+       NS_TEMPLATE         => 'Vorlach',
+       NS_TEMPLATE_TALK    => 'Vorlach_Dischbediere',
+       NS_HELP             => 'Hilf',
+       NS_HELP_TALK        => 'Hilf_Dischbediere',
+       NS_CATEGORY         => 'Kadegorie',
+       NS_CATEGORY_TALK    => 'Kadegorie_Dischbediere',
+);
+
+$namespaceAliases = array(
+       # German namespaces
+       'Medium'               => NS_MEDIA,
+       'Spezial'              => NS_SPECIAL,
+       'Diskussion'           => NS_TALK,
+       'Benutzer'             => NS_USER,
+       'Benutzer_Diskussion'  => NS_USER_TALK,
+       '$1_Diskussion'        => NS_PROJECT_TALK,
+       'Datei'                => NS_FILE,
+       'Datei_Diskussion'     => NS_FILE_TALK,
+       'MediaWiki_Diskussion' => NS_MEDIAWIKI_TALK,
+       'Vorlage'              => NS_TEMPLATE,
+       'Vorlage_Diskussion'   => NS_TEMPLATE_TALK,
+       'Hilfe'                => NS_HELP,
+       'Hilfe_Diskussion'     => NS_HELP_TALK,
+       'Kategorie'            => NS_CATEGORY,
+       'Kategorie_Diskussion' => NS_CATEGORY_TALK,
+);
+
 $messages = array(
 # User preference toggles
 'tog-showtoolbar' => "Werkzaich zum Bearwaide zaische (dodezu brauchd's JavaScript)",
index 6e80ff6..9bed623 100644 (file)
@@ -214,7 +214,7 @@ $magicWords = array(
        'redirect'                  => array( '0', '#PATRZ', '#PRZEKIERUJ', '#TAM', '#REDIRECT' ),
        'notoc'                     => array( '0', '__BEZSPISU__', '__NOTOC__' ),
        'nogallery'                 => array( '0', '__BEZGALERII__', '__NOGALLERY__' ),
-       'forcetoc'                  => array( '0', '__ZESPISEM__', '__FORCETOC__' ),
+       'forcetoc'                  => array( '0', '__ZESPISEM__', '__WYMUŚSPIS__', '__FORCETOC__' ),
        'toc'                       => array( '0', '__SPIS__', '__TOC__' ),
        'noeditsection'             => array( '0', '__BEZEDYCJISEKCJI__', '__NOEDITSECTION__' ),
        'currentday'                => array( '1', 'AKTUALNYDZIEŃ', 'CURRENTDAY' ),
@@ -732,7 +732,7 @@ Nie zapomnij dostosować [[Special:Preferences|preferencji]].',
 'gotaccount' => "Masz już konto? '''$1'''.",
 'gotaccountlink' => 'Zaloguj się',
 'userlogin-resetlink' => 'Zapomniałeś danych do zalogowania się?',
-'createaccountmail' => 'Wyślij hasło e-mailem',
+'createaccountmail' => 'Użyj tymczasowego hasła wygenerowanego losowo i wyślij je na podany poniżej adres e-mail',
 'createaccountreason' => 'Powód',
 'badretype' => 'Wprowadzone hasła różnią się między sobą.',
 'userexists' => 'Wybrana przez Ciebie nazwa użytkownika jest już zajęta.
@@ -1037,7 +1037,7 @@ Jeśli nie chcesz, żeby Twój tekst był dowolnie zmieniany przez każdego i ro
 Zapisując swoją edycję, oświadczasz, że ten tekst jest Twoim dziełem lub pochodzi z materiałów dostępnych na warunkach ''domeny publicznej'' lub kompatybilnych (zobacz także $1).
 '''PROSZĘ NIE WPROWADZAĆ MATERIAŁÓW CHRONIONYCH PRAWEM AUTORSKIM BEZ POZWOLENIA WŁAŚCICIELA!'''",
 'longpageerror' => "'''Błąd! Wprowadzony przez Ciebie tekst ma {{PLURAL:$1|1 kilobajt|$1 kilobajty|$1 kilobajtów}}. Długość tekstu nie może przekraczać {{PLURAL:$2|1 kilobajt|$2 kilobajty|$2 kilobajtów}}. Tekst nie może być zapisany.'''",
-'readonlywarning' => "'''Uwaga! Baza danych została zablokowana do celów administracyjnych. W tej chwili nie można zapisać nowej wersji strony. Zapisz jej treść do pliku, używając wytnij i wklej, aby zachować na później.'''
+'readonlywarning' => "'''Uwaga! Baza danych została zablokowana do celów administracyjnych. W tej chwili nie można zapisać nowej wersji strony. Jeśli chcesz, może skopiować ją do pliku, aby móc zapisać ją później.'''
 
 Administrator, który zablokował bazę, podał następujące wyjaśnienie: $1",
 'protectedpagewarning' => "'''Uwaga! Możliwość modyfikacja tej strony została zabezpieczona. Mogą ją edytować jedynie użytkownicy z uprawnieniami administratora.'''
@@ -3148,6 +3148,7 @@ Najprawdopodobniej zostało to spowodowane przez link do zewnętrznej strony int
 'pageinfo-magic-words' => 'Magiczne {{PLURAL:$1|słowo|słowa|słowa}} ($1)',
 'pageinfo-hidden-categories' => '{{PLURAL:$1|Ukryta kategoria|Ukryte kategorie|Ukryte kategorie}} ($1)',
 'pageinfo-templates' => 'Wykorzystywan{{PLURAL:$1|y szablon|e szablony}} ($1)',
+'pageinfo-transclusions' => 'Dołączona na {{PLURAL:$1|stronie|stronach}} ($1)',
 'pageinfo-toolboxlink' => 'Informacje o tej stronie',
 'pageinfo-redirectsto' => 'Przekierowuje na',
 'pageinfo-redirectsto-info' => 'informacje',
@@ -3156,6 +3157,10 @@ Najprawdopodobniej zostało to spowodowane przez link do zewnętrznej strony int
 'pageinfo-protect-cascading' => 'Zabezpieczona z włączoną opcją dziedziczenia',
 'pageinfo-protect-cascading-yes' => 'Tak',
 'pageinfo-protect-cascading-from' => 'Zabezpieczenie dziedziczone z',
+'pageinfo-category-info' => 'Informacje o kategorii',
+'pageinfo-category-pages' => 'Liczba stron',
+'pageinfo-category-subcats' => 'Liczba podkategorii',
+'pageinfo-category-files' => 'Liczba plików',
 
 # Skin names
 'skinname-standard' => 'Standardowa',
@@ -3246,6 +3251,8 @@ Jeśli go otworzysz, możesz zarazić swój system.",
 'minutes' => '{{PLURAL:$1|$1 minuta|$1 minuty|$1 minut}}',
 'hours' => '{{PLURAL:$1|$1 godzina|$1 godziny|$1 godzin}}',
 'days' => '{{PLURAL:$1|$1 dzień|$1 dni}}',
+'months' => '{{PLURAL:$1|$1 miesiąc|$1 miesiące|$1 miesięcy}}',
+'years' => '{{PLURAL:$1|$1 rok|$1 lata|$1 lat}}',
 'ago' => '$1 temu',
 'just-now' => 'przed chwilą',
 
@@ -3958,7 +3965,7 @@ Grafiki są pokazywane w pełnej rozdzielczości. Inne typy plików są otwieran
 'specialpages-group-highuse' => 'Strony często używane',
 'specialpages-group-pages' => 'Zestawienia stron',
 'specialpages-group-pagetools' => 'Narzędzia stron',
-'specialpages-group-wiki' => 'Informacje oraz narzędzia wiki',
+'specialpages-group-wiki' => 'Informacje i narzędzia',
 'specialpages-group-redirects' => 'Specjalne strony przekierowujące',
 'specialpages-group-spam' => 'Narzędzia do walki ze spamem',
 
@@ -4055,6 +4062,7 @@ Grafiki są pokazywane w pełnej rozdzielczości. Inne typy plików są otwieran
 'logentry-newusers-newusers' => 'Konto użytkownika $1 zostało utworzone',
 'logentry-newusers-create' => 'Konto użytkownika $1 zostało utworzone',
 'logentry-newusers-create2' => 'Konto użytkownika $3 zostało utworzone przez użytkownika $1',
+'logentry-newusers-byemail' => 'Konto $3 zostało utworzone przez użytkownika $1, hasło wysłano e-mailem',
 'logentry-newusers-autocreate' => '$1 automatycznie tworzy konto użytkownika',
 'logentry-rights-rights' => '$1 {{GENDER:$2|zmienił|zmieniła}} przynależność $3 do grup ($4 → $5)',
 'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|zmienił|zmieniła}} przynależność $3 do grup',
index bfde91b..ddcb9e9 100644 (file)
@@ -155,6 +155,7 @@ $specialPageAliases = array(
        'Mytalk'                    => array( 'Minha_discussão' ),
        'Newimages'                 => array( 'Ficheiros_novos', 'Imagens_novas', 'Arquivos_novos' ),
        'Newpages'                  => array( 'Páginas_novas', 'Artigos_novos' ),
+       'PermanentLink'             => array( 'Ligação_permanente', 'Link_permanente' ),
        'Popularpages'              => array( 'Páginas_populares', 'Artigos_populares' ),
        'Preferences'               => array( 'Preferências' ),
        'Prefixindex'               => array( 'Índice_por_prefixo', 'Índice_de_prefixo' ),
@@ -1654,7 +1655,7 @@ Esta informação será pública.',
 'action-suppressionlog' => 'ver este registo privado',
 'action-block' => 'impedir este utilizador de editar',
 'action-protect' => 'alterar os níveis de protecção desta página',
-'action-rollback' => 'Reverter rapidamente as edições do último utilizador que editou uma dada página',
+'action-rollback' => 'reverter rapidamente as edições do último utilizador que editou uma dada página',
 'action-import' => 'importar esta página a partir de outra wiki',
 'action-importupload' => 'importar esta página a partir de um ficheiro xml',
 'action-patrol' => 'marcar as edições de outros utilizadores como patrulhadas',
index 29f308a..fec9a45 100644 (file)
@@ -158,6 +158,7 @@ $specialPageAliases = array(
        'Mytalk'                    => array( 'Minha_discussão' ),
        'Newimages'                 => array( 'Arquivos_novos', 'Imagens_novas', 'Ficheiros_novos' ),
        'Newpages'                  => array( 'Páginas_novas', 'Artigos_novos' ),
+       'PermanentLink'             => array( 'Ligação_permanente', 'Link_permanente' ),
        'Popularpages'              => array( 'Páginas_populares', 'Artigos_populares' ),
        'Preferences'               => array( 'Preferências' ),
        'Prefixindex'               => array( 'Índice_de_prefixo', 'Índice_por_prefixo' ),
@@ -447,6 +448,7 @@ $messages = array(
 'newwindow' => '(abre em uma nova janela)',
 'cancel' => 'Cancelar',
 'moredotdotdot' => 'Mais...',
+'morenotlisted' => 'Outros não listados...',
 'mypage' => 'Página',
 'mytalk' => 'Discussão',
 'anontalk' => 'Discussão para este IP',
@@ -752,7 +754,7 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências no
 'gotaccount' => "Já possui uma conta? '''$1'''.",
 'gotaccountlink' => 'Autenticar-se',
 'userlogin-resetlink' => 'Esqueceu-se do seu nome de usuário ou da senha?',
-'createaccountmail' => 'por e-mail',
+'createaccountmail' => 'Usar uma senha aleatória e temporária que será enviada ao endereço de e-mail especificado a seguir',
 'createaccountreason' => 'Razão:',
 'badretype' => 'As senhas que você digitou não são iguais.',
 'userexists' => 'O nome de usuário fornecido já está em uso.
@@ -823,6 +825,7 @@ Por favor aguarde antes de tentar novamente.',
 # E-mail sending
 'php-mail-error-unknown' => 'Erro desconhecido na função mail() do PHP',
 'user-mail-no-addy' => 'Tentou enviar uma mensagem sem um endereço de e-mail.',
+'user-mail-no-body' => 'Você tentou enviar com o campo de e-mail vazio ou com poucos caracteres.',
 
 # Change password dialog
 'resetpass' => 'Alterar senha',
@@ -1049,10 +1052,10 @@ Você está, ao mesmo tempo, a garantir-nos que isto é algo escrito por si, ou
 '''NÃO ENVIE TRABALHO PROTEGIDO POR DIREITOS DE AUTOR SEM A DEVIDA PERMISSÃO!'''",
 'longpageerror' => "'''Erro: O texto que submeteu ocupa {{PLURAL:$1|um kilobyte|$1 kilobytes}}, que excede o máximo de {{PLURAL:$2|um kilobyte|$2 kilobytes}}.'''
 A página não pode ser salva.",
-'readonlywarning' => "'''Aviso: A base de dados foi bloqueada para manutenção, por isso você não poderá salvar a sua edição neste momento.'''
-Pode, no entanto, copiar o seu texto num editor externo e guardá-lo para posterior envio.
+'readonlywarning' => "'''Aviso: O banco de dados foi bloqueado para manutenção, por isso você não poderá salvar a sua edição neste momento.'''
+Talvez você queira copiar o seu texto num editor externo e guardá-lo, para posterior envio.
 
-Quem bloqueou o banco de dados forneceu a seguinte justificativa: $1",
+Quem bloqueou o banco de dados forneceu a seguinte explicação: $1",
 'protectedpagewarning' => "'''Atenção: Esta página foi protegida para que apenas usuários com privilégios de administrador possam editá-la.'''
 A última entrada no histórico é fornecida abaixo como referência:",
 'semiprotectedpagewarning' => "'''Nota:''' Esta página foi protegida, sendo que apenas usuários registrados poderão editá-la.
@@ -1649,7 +1652,7 @@ Caso decida fornecê-lo, este será utilizado para dar-lhe crédito pelo seu tra
 'action-suppressionlog' => 'ver este registro privado',
 'action-block' => 'impedir que este usuário edite',
 'action-protect' => 'alterar os níveis de proteção desta página',
-'action-rollback' => 'Reverter rapidamente as edições do último usuário que editou uma página em particular',
+'action-rollback' => 'reverter rapidamente as edições do último usuário que editou uma página em particular',
 'action-import' => 'importar esta página a partir de outro wiki',
 'action-importupload' => 'importar esta página através do carregamento de um arquivo',
 'action-patrol' => 'marcar as edições de outros usuários como patrulhadas',
@@ -2262,7 +2265,7 @@ Veja também [[Special:WantedCategories|categorias pedidas]].',
 'linksearch-ok' => 'Pesquisar',
 'linksearch-text' => 'É possível usar caracteres coringa, como "*.wikipedia.org".
 Necessário no mínimo um domínio de nível superior, por exemplo "*.org".<br />
-Protocolos suportados: <code>$1</code> (o padrão é http://).',
+{{PLURAL:$2|Protocolo suportado|Protocolos suportados}}: <code>$1</code> (caso nenhum seja especificado, o protocolo http:// será selecionado automaticamente).',
 'linksearch-line' => '$2 possui links para $1',
 'linksearch-error' => "\"Caracteres mágicos\" (''wildcards'') só podem ser usados no início do endereço.",
 
@@ -2275,7 +2278,7 @@ Protocolos suportados: <code>$1</code> (o padrão é http://).',
 # Special:ActiveUsers
 'activeusers' => 'Lista de usuários ativos',
 'activeusers-intro' => 'Esta é uma lista de usuários com algum tipo de atividade nos últimos $1 {{PLURAL:$1|dia|dias}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|edição|edições}} {{PLURAL:$3|no último dia|nos últimos $3 dias}}',
+'activeusers-count' => '$1 {{PLURAL:$1|ação|ações}} {{PLURAL:$3|no último dia|nos últimos $3 dias}}',
 'activeusers-from' => 'Mostrar usuários começando em:',
 'activeusers-hidebots' => 'Esconder robôs',
 'activeusers-hidesysops' => 'Esconder administradores',
@@ -2489,6 +2492,8 @@ Consulte a [[Special:ProtectedPages|lista de páginas protegidas]] para ver as p
 'prot_1movedto2' => '[[$1]] foi movido para [[$2]]',
 'protect-badnamespace-title' => 'Espaço de nomes não-protegidos',
 'protect-badnamespace-text' => 'As páginas presentes nesse espaço de nomes não se pode proteger',
+'protect-norestrictiontypes-text' => 'Esta página não pode ser protegida, pois não há nenhum tipo de restrição disponível.',
+'protect-norestrictiontypes-title' => 'Página com proteção indisponível',
 'protect-legend' => 'Confirmar proteção',
 'protectcomment' => 'Motivo:',
 'protectexpiry' => 'Expiração',
@@ -2503,9 +2508,9 @@ Esta é a configuração atual para a página '''$1''':",
 Esta é a configuração atual para a página '''$1''':",
 'protect-cascadeon' => 'Esta página encontra-se protegida, uma vez que se encontra incluída {{PLURAL:$1|na página listada a seguir, protegida|nas páginas listadas a seguir, protegidas}} com a "proteção progressiva" ativada. Você poderá alterar o nível de proteção desta página, mas isso não afetará a "proteção progressiva".',
 'protect-default' => 'Permitir todos os usuários',
-'protect-fallback' => 'É necessário o privilégio de "$1"',
-'protect-level-autoconfirmed' => 'Bloquear usuários novos e não registrados',
-'protect-level-sysop' => 'Apenas administradores',
+'protect-fallback' => 'Permitir apenas os usuários com privilégio de "$1"',
+'protect-level-autoconfirmed' => 'Permitir apenas usuários auto-confirmados',
+'protect-level-sysop' => 'Permitir apenas administradores',
 'protect-summary-cascade' => 'p. progressiva',
 'protect-expiring' => 'expira em $1 (UTC)',
 'protect-expiring-local' => 'expira $1',
@@ -2795,14 +2800,18 @@ Por favor, confirme que realmente pretende fazer isso.',
 # Move page
 'move-page' => 'Mover $1',
 'move-page-legend' => 'Mover página',
-'movepagetext' => "Utilizando o seguinte formulário você poderá renomear uma página, movendo todo o histórico para o novo título. O título anterior será transformado em um redirecionamento para o novo.
-
-Links para as páginas antigas não serão mudados; certifique-se de verificar por redirecionamentos quebrados ou duplos. Você é responsável por certificar-se que os links continuam apontando para onde eles deveriam apontar.
-
-Note que a página '''não''' será movida se já existir uma página com o novo título, a não ser que ele esteja vazio ou seja um redirecionamento e não tenha histórico de edições. Isto significa que pode renomear uma página de volta para o nome que tinha anteriormente se cometer algum engano e que não pode sobrescrever uma página.
-
-<b>CUIDADO!</b>
-Isto pode ser uma mudança drástica e inesperada para uma página popular; por favor, tenha certeza de que compreende as consequências da mudança antes de prosseguir.",
+'movepagetext' => "Utilizando o formulário a seguir você poderá renomear uma página, movendo todo o histórico para o novo título.
+O título anterior será transformado em um redirecionamento para o novo.
+Você poderá optar em atualizar automaticamente os redirecionamentos que se destinem ao título original.
+Caso escolha pela não-atualização, se certifique de verificar por redirecionamentos [[Special:DoubleRedirects|duplos]] ou [[Special:BrokenRedirects|quebrados]].
+É de sua responsabilidade que os links continuem direcionando para onde eles devem.
+
+Note que a página '''não''' será movida se já existir uma página com o novo título, a não ser que ele seja um redirecionamento e não tenha histórico de edições.
+Isto significa que você pode renomear uma página de volta para o seu nome anterior se cometer algum engano e que não poderá sobrescrever uma página existente.
+
+'''CUIDADO!'''
+Esta pode ser uma mudança drástica e inesperada para uma página popular;
+tenha certeza de que compreende as consequências da mudança antes de prosseguir.",
 'movepagetext-noredirectfixer' => "Usando o formulário abaixo, você irá alterar o nome de uma página e moverá todo o histórico desta para o nome novo.
 A página antiga será transformada numa página de redirecionamento para a nova.
 Verifique a existência de [[Special:DoubleRedirects|redirecionamentos duplos]] ou [[Special:BrokenRedirects|quebrados]].
@@ -3142,6 +3151,7 @@ Tal bloqueio foi provavelmente causado por uma ligação para um ''website'' ext
 'pageinfo-magic-words' => '{{PLURAL:$1|Palavra mágica|Palavras mágicas}} ($1)',
 'pageinfo-hidden-categories' => '{{PLURAL:$1|Categoria oculta|Categorias ocultas}} ($1)',
 'pageinfo-templates' => '{{PLURAL:$1|Predefinição transcluída|Predefinições transcluídas ($1)}}',
+'pageinfo-transclusions' => '{{PLURAL:$1|Página incluída |Páginas incluídas}} ($1)',
 'pageinfo-toolboxlink' => 'Informações da página',
 'pageinfo-redirectsto' => 'Redireciona para',
 'pageinfo-redirectsto-info' => 'informações',
@@ -3150,6 +3160,10 @@ Tal bloqueio foi provavelmente causado por uma ligação para um ''website'' ext
 'pageinfo-protect-cascading' => 'Proteção em cascata ativada',
 'pageinfo-protect-cascading-yes' => 'Sim',
 'pageinfo-protect-cascading-from' => 'Proteções herdadas de',
+'pageinfo-category-info' => 'Informações da categoria',
+'pageinfo-category-pages' => 'Número de páginas',
+'pageinfo-category-subcats' => 'Número de subcategorias',
+'pageinfo-category-files' => 'Número de arquivos',
 
 # Skin names
 'skinname-standard' => 'Clássico',
@@ -3236,6 +3250,8 @@ Executá-lo poderá comprometer a segurança do seu sistema.",
 'minutes' => '{{PLURAL:$1|um minuto|$1 minutos}}',
 'hours' => '{{PLURAL:$1|uma hora|$1 horas}}',
 'days' => '{{PLURAL:$1|um dia|$1 dias}}',
+'months' => '{{PLURAL:$1|$1 mês|$1 meses}}',
+'years' => '{{PLURAL:$1|$1 ano|$1 anos}}',
 'ago' => '$1 atrás',
 'just-now' => 'agora mesmo',
 
@@ -3896,7 +3912,7 @@ As imagens serão exibidas em sua resolução máxima, outros tipos de arquivos
 'specialpages-group-highuse' => 'Páginas muito usadas',
 'specialpages-group-pages' => 'Listas de páginas',
 'specialpages-group-pagetools' => 'Ferramentas de páginas',
-'specialpages-group-wiki' => 'Dados e ferramentas sobre este wiki',
+'specialpages-group-wiki' => 'Dados e ferramentas',
 'specialpages-group-redirects' => 'Páginas especiais redirecionadas',
 'specialpages-group-spam' => 'Ferramentas anti-spam',
 
@@ -3993,6 +4009,7 @@ As imagens serão exibidas em sua resolução máxima, outros tipos de arquivos
 'logentry-newusers-newusers' => 'A conta de usuário $1 foi criada',
 'logentry-newusers-create' => 'A conta de usuário $1 foi criada',
 'logentry-newusers-create2' => 'A conta de usuário $3 foi criada por $1',
+'logentry-newusers-byemail' => 'A conta de usuário $3 foi criada por $1, com a senha sendo enviada por e-mail',
 'logentry-newusers-autocreate' => 'A conta $1 foi criada automaticamente',
 'logentry-rights-rights' => '$1 alterou os grupos de usuário de $3 de $4 para $5',
 'logentry-rights-rights-legacy' => '$1 alterou os grupos de $3',
index 8ca27e8..bb0e151 100644 (file)
@@ -682,7 +682,10 @@ The format is: "{{int:youhavenewmessages| [[MediaWiki:Newmessageslink/{{SUBPAGEN
 Used in message {{msg-mw|youhavenewmessages}} (as parameter $1).
 
 {{Identical|New messages}}',
-'newmessagesdifflink' => 'This is the second link displayed in an orange rectangle when a user gets a message on his talk page. Used in message {{msg-mw|youhavenewmessages}} (as parameter $2).',
+'newmessagesdifflink' => 'This is the second link displayed in an orange rectangle when a user gets a message on his talk page. Used in message {{msg-mw|youhavenewmessages}} (as parameter $2).
+
+See also:
+* {{msg-mw|Newmessagesdifflinkplural}}',
 'youhavenewmessagesfromusers' => 'New talk indicator message: the message appearing when someone edited your user talk page.
 The message takes three parameters;
 *$1 {{msg-mw|newmessageslinkplural}},
@@ -694,8 +697,11 @@ The message takes three parameters;
 'newmessageslinkplural' => 'Like {{msg-mw|newmessageslink}} but supporting pluralization. Used in message {{msg-mw|youhavenewmessagesfromusers}} (as parameter $1).
 This message itself takes one parameter, $1, which is 1 if there was one new edit, or 2 if there was more than one new edit
 since the last time the user has seen his or her talk page.',
-'newmessagesdifflinkplural' => 'Like {{msg-mw|newmessagesdifflink}} but supporting pluralization. Used in message {{msg-mw|youhavenewmessagesfromusers}} (as parameter $2).
-This message itself takes one parameter, $1, which is the number of new edits since the last time the user has seen his or her talk page.',
+'newmessagesdifflinkplural' => 'This message itself takes one parameter, $1, which is the number of new edits since the last time the user has seen his or her talk page: it should be used only for correct [[plural]] as in the source text, as the exact number is not relevant.
+
+Like {{msg-mw|newmessagesdifflink}} but supporting pluralization.
+
+Used in message {{msg-mw|youhavenewmessagesfromusers}} (as parameter $2).',
 'youhavenewmessagesmulti' => 'The alternative of {{msg|youhavenewmessages}} as used on wikis with a special setup so they can receive the "new message" notice on other wikis as well. Used on [http://www.wikia.com/ Wikia].
 The format is: "{{int:youhavenewmessagesmulti| [[MediaWiki:Newmessageslink/{{SUBPAGENAME}}|{{int:newmessageslink}}]]}}"',
 'editsection' => 'Display name of link to edit a section on a content page. Example: [{{MediaWiki:Editsection}}].
index 3a612c6..6d7b245 100644 (file)
@@ -208,7 +208,7 @@ $specialPageAliases = array(
        'Contributions'             => array( 'Contribuții' ),
        'CreateAccount'             => array( 'Înregistrare' ),
        'Deadendpages'              => array( 'Pagini_fără_legături' ),
-       'DeletedContributions'      => array( 'Contibuții_șterse' ),
+       'DeletedContributions'      => array( 'Contribuții_șterse' ),
        'Disambiguations'           => array( 'Dezambiguizări' ),
        'DoubleRedirects'           => array( 'Redirectări_duble' ),
        'Emailuser'                 => array( 'Email_utilizator' ),
@@ -739,7 +739,7 @@ Nu uitați să vă modificați [[Special:Preferences|preferințele]] pentru {{SI
 'gotaccount' => "Aveți deja un cont de utilizator? '''$1'''.",
 'gotaccountlink' => 'Autentificați-vă',
 'userlogin-resetlink' => 'Ați uitat datele de autentificare?',
-'createaccountmail' => 'după e-mail',
+'createaccountmail' => 'Utilizează o parolă temporară aleasă la întâmplare și o trimite la adresa de e-mail specificată mai jos',
 'createaccountreason' => 'Motiv:',
 'badretype' => 'Parolele pe care le-ați introdus diferă.',
 'userexists' => 'Numele de utilizator pe care l-ați introdus este deja folosit.
@@ -2249,9 +2249,9 @@ Necesită cel puțin un domeniu de nivel superior, cum ar fi „*.org”.<br />
 'listusers-blocked' => '(blocat{{GENDER:$1||ă|}})',
 
 # Special:ActiveUsers
-'activeusers' => 'Lista de utilizatori activi',
-'activeusers-intro' => 'Aceasta este o listă cu utilizatorii care au avut un fel de activitate în {{PLURAL:$1|ultima zi|ultimele $1 zile}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|modificare recentă|modificări recente}} în {{PLURAL:$3|ultima zi|ultimele $3 zile}}',
+'activeusers' => 'Listă utilizatori activi',
+'activeusers-intro' => 'Aceasta este o listă cu utilizatorii care au avut orice fel de activitate în {{PLURAL:$1|ultima zi|ultimele $1 zile}}.',
+'activeusers-count' => '{{PLURAL:$1|o acțiune|$1 acțiuni|$1 de acțiuni}} în {{PLURAL:$3|ultima zi|ultimele $3 zile|ultimele $3 de zile}}',
 'activeusers-from' => 'Afișează utilizatori începând cu:',
 'activeusers-hidebots' => 'Ascunde roboții',
 'activeusers-hidesysops' => 'Ascunde administratorii',
@@ -3883,7 +3883,7 @@ Imaginile sunt afișate la rezoluția lor maximă, în timp ce alte tipuri de fi
 'specialpages-group-highuse' => 'Pagini utilizate intens',
 'specialpages-group-pages' => 'Liste de pagini',
 'specialpages-group-pagetools' => 'Unelte pentru pagini',
-'specialpages-group-wiki' => 'Date și unelte wiki',
+'specialpages-group-wiki' => 'Date și instrumente',
 'specialpages-group-redirects' => 'Pagini speciale de redirecționare',
 'specialpages-group-spam' => 'Unelte spam',
 
@@ -3980,6 +3980,7 @@ Imaginile sunt afișate la rezoluția lor maximă, în timp ce alte tipuri de fi
 'logentry-newusers-newusers' => 'Contul de utilizator $1 a fost creat',
 'logentry-newusers-create' => 'Contul de utilizator $1 a fost creat',
 'logentry-newusers-create2' => 'Contul de utilizator $3 a fost creat de către $1',
+'logentry-newusers-byemail' => 'Contul de utilizator $3 a fost creat de către $1, iar parola a fost trimisă prin e-mail',
 'logentry-newusers-autocreate' => 'Contul $1 a fost creat în mod automat',
 'logentry-rights-rights' => '$1 a schimbat apartenența la grup pentru $3 de la $4 la $5',
 'logentry-rights-rights-legacy' => '$1 a schimbat apartenența la grup pentru $3',
index 00a8d6f..d2b9dc8 100644 (file)
@@ -51,89 +51,104 @@ $namespaceAliases = array(
 );
 
 $specialPageAliases = array(
-       'Allmessages'               => array( 'Missaggi' ),
-       'Allpages'                  => array( 'TuttiLiPàggini' ),
-       'Ancientpages'              => array( 'PàgginiMenuNovi' ),
-       'Blankpage'                 => array( 'PàgginaVacanti' ),
+       'Activeusers'               => array( 'UtentiAttivi' ),
+       'Allmessages'               => array( 'Messaggi' ),
+       'Allpages'                  => array( 'TutteLePagine' ),
+       'Ancientpages'              => array( 'PagineMenoRecenti' ),
+       'Badtitle'                  => array( 'TitoloErrato' ),
+       'Blankpage'                 => array( 'PaginaVuota' ),
        'Block'                     => array( 'Blocca' ),
        'Blockme'                   => array( 'BloccaProxy' ),
        'Booksources'               => array( 'RicercaISBN' ),
-       'BrokenRedirects'           => array( 'RinnirizzamentiSbagghiati' ),
-       'Categories'                => array( 'Catigurìi' ),
-       'ChangePassword'            => array( 'RimpostaPassword' ),
-       'Confirmemail'              => array( 'CunfermaEmail' ),
-       'Contributions'             => array( 'Cuntribbuti', 'CuntribbutiUtenti' ),
-       'CreateAccount'             => array( 'CrìatiNuCuntu' ),
-       'Deadendpages'              => array( 'PàgginiSenzaNisciuta' ),
-       'DeletedContributions'      => array( 'CuntribbutiScancillati' ),
-       'Disambiguations'           => array( 'Disambiguazzioni' ),
-       'DoubleRedirects'           => array( 'RinnirizzamentiDuppi' ),
-       'Emailuser'                 => array( 'MannaEmail' ),
+       'BrokenRedirects'           => array( 'RedirectErrati' ),
+       'Categories'                => array( 'Categorie' ),
+       'ChangeEmail'               => array( 'CambiaEmail' ),
+       'ChangePassword'            => array( 'CambiaPassword' ),
+       'ComparePages'              => array( 'ComparaPagine' ),
+       'Confirmemail'              => array( 'ConfermaEMail' ),
+       'Contributions'             => array( 'Contributi', 'ContributiUtente', 'Edit' ),
+       'CreateAccount'             => array( 'CreaAccount' ),
+       'Deadendpages'              => array( 'PagineSenzaUscita' ),
+       'DeletedContributions'      => array( 'ContributiCancellati' ),
+       'Disambiguations'           => array( 'Disambigua' ),
+       'DoubleRedirects'           => array( 'RedirectDoppi' ),
+       'EditWatchlist'             => array( 'ModificaOsservati', 'ModificaOsservatiSpeciali', 'ModificaListaSeguiti' ),
+       'Emailuser'                 => array( 'InviaEMail' ),
        'Export'                    => array( 'Esporta' ),
-       'Fewestrevisions'           => array( 'PàgginiCuCchiùPiccaRivisioni' ),
-       'Import'                    => array( 'Mporta' ),
-       'BlockList'                 => array( 'IPBluccati' ),
-       'LinkSearch'                => array( 'CercaCullicamenti' ),
-       'Listadmins'                => array( 'Amministratura' ),
-       'Listbots'                  => array( 'ListaBot' ),
-       'Listfiles'                 => array( 'Mmàggini' ),
-       'Listgrouprights'           => array( 'AlencuPirmessiGruppi' ),
-       'Listredirects'             => array( 'Rinnirizzamenti', 'ListaRinnirizzamenti' ),
-       'Listusers'                 => array( 'Utilizzatura', 'ListaUtilizzatura' ),
-       'Lockdb'                    => array( 'BloccaDB', 'BloccaDatabase' ),
-       'Log'                       => array( 'Riggistri', 'Riggistru' ),
-       'Lonelypages'               => array( 'PàgginiOrfani' ),
-       'Longpages'                 => array( 'PàgginiCchiùLonghi' ),
-       'MergeHistory'              => array( 'UnìficaCrunuluggìa' ),
+       'Fewestrevisions'           => array( 'PagineConMenoRevisioni' ),
+       'FileDuplicateSearch'       => array( 'CercaFileDuplicati' ),
+       'Filepath'                  => array( 'Percorso' ),
+       'Import'                    => array( 'Importa' ),
+       'Invalidateemail'           => array( 'InvalidaEMail' ),
+       'JavaScriptTest'            => array( 'TestJavaScript' ),
+       'BlockList'                 => array( 'IPBloccati', 'ElencoBlocchi', 'Blocchi' ),
+       'LinkSearch'                => array( 'CercaCollegamenti', 'CercaLink' ),
+       'Listadmins'                => array( 'Amministratori', 'ElencoAmministratori', 'Admin', 'Sysop', 'Cricca' ),
+       'Listbots'                  => array( 'Bot', 'ElencoBot' ),
+       'Listfiles'                 => array( 'File', 'Immagini' ),
+       'Listgrouprights'           => array( 'ElencoPermessiGruppi', 'Privilegi' ),
+       'Listredirects'             => array( 'Redirect', 'ElencoRedirect' ),
+       'Listusers'                 => array( 'Utenti', 'ElencoUtenti' ),
+       'Lockdb'                    => array( 'BloccaDB' ),
+       'Log'                       => array( 'Registri', 'Registro' ),
+       'Lonelypages'               => array( 'PagineOrfane' ),
+       'Longpages'                 => array( 'PaginePiùLunghe' ),
+       'MergeHistory'              => array( 'FondiCronologia', 'UnificaCronologia' ),
        'MIMEsearch'                => array( 'RicercaMIME' ),
-       'Mostcategories'            => array( 'PàgginiCuCchiossaiCatigurìi' ),
-       'Mostimages'                => array( 'MmàgginiCchiùRichiamati' ),
-       'Mostlinked'                => array( 'PàgginiCchiùRichiamati' ),
-       'Mostlinkedcategories'      => array( 'CatigurìiCchiùRichiamati' ),
-       'Mostlinkedtemplates'       => array( 'TemplateCchiùRichiamati' ),
-       'Mostrevisions'             => array( 'PàgginiCuCchiossaiRivisioni' ),
-       'Movepage'                  => array( 'Sposta', 'Rinòmina' ),
-       'Mycontributions'           => array( 'CuntribbutiMei' ),
-       'Mypage'                    => array( 'MèPàgginaUtenti' ),
-       'Mytalk'                    => array( 'DiscussioniMei' ),
-       'Newimages'                 => array( 'MmàgginiRicenti' ),
-       'Newpages'                  => array( 'PàgginiCchiùNovi' ),
-       'Popularpages'              => array( 'PàgginiCchiùVisitati' ),
-       'Preferences'               => array( 'Prifirenzi' ),
-       'Prefixindex'               => array( 'Prifissi' ),
-       'Protectedpages'            => array( 'PàgginiPrutiggiuti' ),
-       'Protectedtitles'           => array( 'TìtuliPrutiggiuti' ),
-       'Randompage'                => array( 'PàgginaAmmuzzu' ),
-       'Randomredirect'            => array( 'RedirectAmmuzzu' ),
-       'Recentchanges'             => array( 'ÙrtimiCanciamenti' ),
-       'Recentchangeslinked'       => array( 'CanciamentiCurrilati' ),
-       'Revisiondelete'            => array( 'ScancellaRivisioni' ),
-       'Search'                    => array( 'Ricerca', 'Cerca' ),
-       'Shortpages'                => array( 'PàgginiCchiùCurti' ),
-       'Specialpages'              => array( 'PàgginiSpiciali' ),
-       'Statistics'                => array( 'Statìstichi' ),
-       'Uncategorizedcategories'   => array( 'CatigurìiSenzaCatigurìi' ),
-       'Uncategorizedimages'       => array( 'MmàgginiSenzaCatigurìi' ),
-       'Uncategorizedpages'        => array( 'PàgginiSenzaCatigurìi' ),
-       'Uncategorizedtemplates'    => array( 'TemplateSenzaCatigurìi' ),
-       'Undelete'                  => array( 'Riprìstina' ),
-       'Unlockdb'                  => array( 'SbloccaDB', 'SbloccaDatabase' ),
-       'Unusedcategories'          => array( 'CatigurìiNonUsati' ),
-       'Unusedimages'              => array( 'MmàgginiNonUsati' ),
-       'Unusedtemplates'           => array( 'TemplateNunUsati' ),
-       'Unwatchedpages'            => array( 'PàgginiNunTaliati' ),
-       'Upload'                    => array( 'Càrrica' ),
-       'Userlogin'                 => array( 'Tràsi', 'Login' ),
-       'Userlogout'                => array( 'Nesci', 'Logout' ),
-       'Userrights'                => array( 'PirmessiUtenti' ),
-       'Version'                   => array( 'Virsioni' ),
-       'Wantedcategories'          => array( 'CatigurìiAddumannati' ),
-       'Wantedfiles'               => array( 'FileAddumannati' ),
-       'Wantedpages'               => array( 'PàgginiAddumannati' ),
-       'Wantedtemplates'           => array( 'TemplateAddumannati' ),
-       'Watchlist'                 => array( 'ArtìculiTaliati' ),
-       'Whatlinkshere'             => array( 'ChiPuntaCcà' ),
-       'Withoutinterwiki'          => array( 'SenzaInterwiki' ),
+       'Mostcategories'            => array( 'PagineConPiùCategorie' ),
+       'Mostimages'                => array( 'ImmaginiPiùRichiamate' ),
+       'Mostinterwikis'            => array( 'InterwikiPiùRichiamati' ),
+       'Mostlinked'                => array( 'PaginePiùRichiamate' ),
+       'Mostlinkedcategories'      => array( 'CategoriePiùRichiamate' ),
+       'Mostlinkedtemplates'       => array( 'TemplatePiùRichiamati' ),
+       'Mostrevisions'             => array( 'PagineConPiùRevisioni' ),
+       'Movepage'                  => array( 'Sposta', 'Rinomina' ),
+       'Mycontributions'           => array( 'MieiContributi' ),
+       'Mypage'                    => array( 'MiaPaginaUtente', 'MiaPagina' ),
+       'Mytalk'                    => array( 'MieDiscussioni' ),
+       'Myuploads'                 => array( 'MieiUpload', 'MieiEdit' ),
+       'Newimages'                 => array( 'ImmaginiRecenti' ),
+       'Newpages'                  => array( 'PaginePiùRecenti' ),
+       'PasswordReset'             => array( 'ReimpostaPassword' ),
+       'PermanentLink'             => array( 'LinkPermanente' ),
+       'Popularpages'              => array( 'PaginePiùVisitate' ),
+       'Preferences'               => array( 'Preferenze' ),
+       'Prefixindex'               => array( 'Prefissi' ),
+       'Protectedpages'            => array( 'PagineProtette' ),
+       'Protectedtitles'           => array( 'TitoliProtetti' ),
+       'Randompage'                => array( 'PaginaCasuale' ),
+       'Randomredirect'            => array( 'RedirectCasuale' ),
+       'Recentchanges'             => array( 'UltimeModifiche' ),
+       'Recentchangeslinked'       => array( 'ModificheCorrelate' ),
+       'Revisiondelete'            => array( 'CancellaRevisione' ),
+       'Search'                    => array( 'Arriscedi', 'Cerca', 'Trova' ),
+       'Shortpages'                => array( 'PaginePiùCorte' ),
+       'Specialpages'              => array( 'PagineSpeciali' ),
+       'Statistics'                => array( 'Statistiche' ),
+       'Tags'                      => array( 'Etichette', 'Tag' ),
+       'Unblock'                   => array( 'ElencoSblocchi', 'Sblocchi' ),
+       'Uncategorizedcategories'   => array( 'CategorieSenzaCategorie' ),
+       'Uncategorizedimages'       => array( 'ImmaginiSenzaCategorie' ),
+       'Uncategorizedpages'        => array( 'PagineSenzaCategorie' ),
+       'Uncategorizedtemplates'    => array( 'TemplateSenzaCategorie' ),
+       'Undelete'                  => array( 'Ripristina' ),
+       'Unlockdb'                  => array( 'SbloccaDB' ),
+       'Unusedcategories'          => array( 'CategorieNonUsate', 'CategorieVuote' ),
+       'Unusedimages'              => array( 'ImmaginiNonUsate' ),
+       'Unusedtemplates'           => array( 'TemplateNonUsati' ),
+       'Unwatchedpages'            => array( 'PagineNonOsservate' ),
+       'Upload'                    => array( 'Carica' ),
+       'Userlogin'                 => array( 'Entra', 'Login' ),
+       'Userlogout'                => array( 'Esci', 'Logout' ),
+       'Userrights'                => array( 'PermessiUtente' ),
+       'Version'                   => array( 'Versione' ),
+       'Wantedcategories'          => array( 'CategorieRichieste' ),
+       'Wantedfiles'               => array( 'FileRichiesti' ),
+       'Wantedpages'               => array( 'PagineRichieste' ),
+       'Wantedtemplates'           => array( 'TemplateRichiesti' ),
+       'Watchlist'                 => array( 'OsservatiSpeciali' ),
+       'Whatlinkshere'             => array( 'PuntanoQui' ),
+       'Withoutinterwiki'          => array( 'PagineSenzaInterwiki' ),
 );
 
 $messages = array(
index 98f1c9b..d3f2c4b 100644 (file)
@@ -2163,7 +2163,7 @@ Zahtevana je vsaj najvišja domena, na primer »*.org«.<br />
 # Special:ActiveUsers
 'activeusers' => 'Seznam aktivnih uporabnikov',
 'activeusers-intro' => 'Seznam uporabnikov, ki so bili kakor koli aktivni v {{PLURAL:$1|zadnjem $1 dnevu|zadnjih $1 dneh}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|urejanje|urejanji|urejanja|urejanj}} v {{PLURAL:$3|preteklem dnevu|preteklih $3 dneh}}',
+'activeusers-count' => '$1 {{PLURAL:$1|dejanje|dejanji|dejanja|dejanj}} v {{PLURAL:$3|preteklem dnevu|preteklih $3 dneh}}',
 'activeusers-from' => 'Prikaži uporabnike začenši z:',
 'activeusers-hidebots' => 'Skrij bote',
 'activeusers-hidesysops' => 'Skrij administratorje',
@@ -3799,7 +3799,7 @@ Vnesite ime datoteke brez predpone »{{ns:file}}:«.',
 'specialpages-group-highuse' => 'Strani visoke uporabe',
 'specialpages-group-pages' => 'Seznam strani',
 'specialpages-group-pagetools' => 'Orodja strani',
-'specialpages-group-wiki' => 'Podatki in orodja wiki',
+'specialpages-group-wiki' => 'Podatki in orodja',
 'specialpages-group-redirects' => 'Preusmerjajoče posebne strani',
 'specialpages-group-spam' => 'Orodja za spam',
 
index 8eab0b0..1c6af03 100644 (file)
@@ -833,6 +833,7 @@ E-mailkaada mala sheegaayo markii ee dadka kale kula soo xiriirayaan.',
 # Groups
 'group' => 'Koox:',
 'group-user' => 'Isticmaalada',
+'group-autoconfirmed' => 'Gude galayaasha la hubiyey si iskeed ah',
 'group-bot' => 'botyada',
 'group-sysop' => 'Maamulada',
 'group-all' => '(dhamaan)',
@@ -842,6 +843,7 @@ E-mailkaada mala sheegaayo markii ee dadka kale kula soo xiriirayaan.',
 'group-sysop-member' => '{{GENDER:$1|maamulaha}}',
 
 'grouppage-user' => '{{ns:project}}:Isticmaalada',
+'grouppage-autoconfirmed' => '{{ns:project}}:Gude gale la hubiyey si iskeeda ah',
 'grouppage-sysop' => '{{ns:project}}:Maamulada',
 
 # Rights
@@ -1109,7 +1111,9 @@ Hadii aad rabootid in aad boggan ka saartid wardiyeynta, dhagsii \"Ha' wardiyeyn
 'watching' => 'Daawasho...',
 
 'enotif_subject_created' => '{{SITENAME}} Bogga $1 Qof ayaa sameeyey {{gender:$2|$2}}',
+'enotif_subject_changed' => '{{SITENAME}} Bogga $1 Waxaa {{GENDER:$2|Bedel}} ku sameeyey qof $2',
 'enotif_body_intro_created' => 'Bogga {{SITENAME}} ga $1 waxaa la sameeyey $PAGEEDITDATE qof {{gender:$2|$2}}, eeg $3 sida laga dhigay hadda.',
+'enotif_body_intro_restored' => 'Booga {{SITENAME}} $1 waa labadelay {{GENDER:$2|dib u habayn}} waqtigaan $PAGEEDITDATE waxaana badalay $2, eeg $3 sida hadda laga dhigay.',
 'enotif_body_intro_changed' => 'Bogga {{SITENAME}} ga $1 waxaa la badelay $PAGEEDITDATE qof {{gender:$2|$2}}, eeg $3 sida laga dhigay hadda.',
 'enotif_lastvisited' => 'Eeg $1 Dhamaan isbedeleda ilaa goortii kuugu dambaysay.',
 'enotif_lastdiff' => 'Eeg $1 si aad u aragto bedelkaan.',
index a974262..4eab336 100644 (file)
@@ -1004,8 +1004,8 @@ $2
 'minoredit' => 'мања измена',
 'watchthis' => 'надгледај ову страницу',
 'savearticle' => 'Сачувај страницу',
-'preview' => 'Преглед',
-'showpreview' => 'Ð\9fÑ\80егледаÑ\98',
+'preview' => 'Претпреглед',
+'showpreview' => 'Ð\9fÑ\80икажи Ð¿Ñ\80еÑ\82пÑ\80еглед',
 'showlivepreview' => 'Тренутни преглед',
 'showdiff' => 'Прикажи измене',
 'anoneditwarning' => "'''Упозорење:''' нисте пријављени.
@@ -4002,7 +4002,7 @@ $5
 
 # Delete conflict
 'deletedwhileediting' => "'''Упозорење''': ова страница је обрисана након што сте почели с уређивањем!",
-'confirmrecreate' => "[[User:$1|$1]] ([[User talk:$1|разговор]]) {{GENDER:$1|је обрисао|је обрисала|је обрисао}} ову страницу након што сте почели да је уређујете из следећег разлога:
+'confirmrecreate' => "[[User:$1|$1]] ([[User talk:$1|разговор]]) {{GENDER:$1|је обрисао|је обрисала|обриса}} ову страницу након што сте почели да је уређујете из следећег разлога:
 : ''$2''
 Потврдите да стварно желите да направите страницу.",
 'confirmrecreate-noreason' => 'Корисник [[User:$1|$1]] ([[User talk:$1|разговор]]) је обрисао ову страницу након што сте почели да га уређујете. Потврдите да стварно желите да поново направите ову страницу.',
index 924fcd7..5c28ebd 100644 (file)
@@ -1041,7 +1041,8 @@ $1",
 'revdelete-only-restricted' => '$2, $1 తేదీ గల అంశాన్ని దాచడంలో పొరపాటు: ఇతర దృశ్యత వికల్పాల్లోంచి ఒకదాన్ని ఎంచుకోకుండా అంశాలని నిర్వాహకులకు కనబడకుండా అణచివెయ్యలేరు.',
 'revdelete-reason-dropdown' => '*సాధారణ తొలగింపు కారణాలు
 ** కాపీహక్కుల ఉల్లంఘన
-** అసంబద్ధ వ్యక్తిగత సమాచారం
+** అసంబద్ధ వ్యాఖ్య లేదా వ్యక్తిగత సమాచారం
+** అసంబద్ధ వాడుకరి పేరు
 ** నిందాపూర్వక సమాచారం',
 'revdelete-otherreason' => 'ఇతర/అదనపు కారణం:',
 'revdelete-reasonotherlist' => 'ఇతర కారణం',
@@ -1229,7 +1230,7 @@ $1",
 'timezoneregion-indian' => 'హిందూ మహాసముద్రం',
 'timezoneregion-pacific' => 'పసిఫిక్ మహాసముద్రం',
 'allowemail' => 'ఇతర వాడుకరుల నుండి ఈ-మెయిళ్ళను రానివ్వు',
-'prefs-searchoptions' => 'à°\85à°¨à±\8dà°µà±\87à°·à°£ à°\8eà°\82పిà°\95à°²à±\81',
+'prefs-searchoptions' => 'à°µà±\86à°¤à±\81à°\95à±\81లాà°\9f',
 'prefs-namespaces' => 'పేరుబరులు',
 'defaultns' => 'లేకపోతే ఈ నేంస్పేసులలో అన్వేషించు:',
 'default' => 'అప్రమేయం',
@@ -1241,7 +1242,7 @@ $1",
 'prefs-emailconfirm-label' => 'ఈ-మెయిల్ నిర్ధారణ:',
 'prefs-textboxsize' => 'దిద్దుబాటు కిటికీ పరిమాణం',
 'youremail' => 'మీ ఈ-మెయిలు*',
-'username' => 'వాడుకరి పేరు:',
+'username' => '{{GENDER:$1|వాడుకరి పేరు}}:',
 'uid' => 'వాడుకరి ID:',
 'prefs-memberingroups' => 'సభ్యులుగా ఉన్న {{PLURAL:$1|గుంపు|గుంపులు}}:',
 'prefs-registration' => 'నమోదైన సమయం:',
@@ -2264,7 +2265,7 @@ $UNWATCHURL కి వెళ్ళండి.
 'blanknamespace' => '(మొదటి)',
 
 # Contributions
-'contributions' => 'వాడుకరి రచనలు',
+'contributions' => '{{GENDER:$1|వాడుకరి}} రచనలు',
 'contributions-title' => '$1 యొక్క మార్పులు-చేర్పులు',
 'mycontris' => 'మార్పులు చేర్పులు',
 'contribsub2' => '$1 ($2) కొరకు',
@@ -2832,7 +2833,10 @@ $1',
 'minutes' => '{{PLURAL:$1|ఒక నిమిషం|$1 నిమిషాల}}',
 'hours' => '{{PLURAL:$1|ఒక గంట|$1 గంటల}}',
 'days' => '{{PLURAL:$1|ఒక రోజు|$1 రోజుల}}',
+'months' => '{{PLURAL:$1|ఒక నెల|$1 నెలల}}',
+'years' => '{{PLURAL:$1|ఒక సంవత్సరం|$1 సంవత్సరాల}}',
 'ago' => '$1 క్రితం',
+'just-now' => 'ఇప్పుడే',
 
 # Bad image list
 'bad_image_list' => 'కింద తెలిపిన తీరులో కలపాలి:
index 8b058c7..82434b0 100644 (file)
@@ -627,7 +627,7 @@ $1',
 'gotaccount' => "มีบัญชีแล้วใช่ไหม '''$1'''",
 'gotaccountlink' => 'ล็อกอิน',
 'userlogin-resetlink' => 'ลืมรายละเอียดล็อกอินของคุณหรือ',
-'createaccountmail' => 'à¸\9cà¹\88าà¸\99à¸\97าà¸\87อีà¹\80มล',
+'createaccountmail' => 'à¹\83à¸\8aà¹\89รหัสà¸\9cà¹\88าà¸\99สุà¹\88มà¸\8aัà¹\88วà¸\84ราวà¹\81ละสà¹\88à¸\87à¹\84à¸\9bยัà¸\87à¸\97ีà¹\88อยูà¹\88อีà¹\80มลà¸\97ีà¹\88ระà¸\9aุà¸\94à¹\89าà¸\99ลà¹\88าà¸\87',
 'createaccountreason' => 'เหตุผล:',
 'badretype' => 'รหัสผ่านที่ใส่ไม่ตรงกัน',
 'userexists' => 'ชื่อผู้ใช้ที่กรอกมีผู้อื่นใช้ไปแล้ว กรุณาเลือกชื่ออื่น',
@@ -888,7 +888,8 @@ $1 เป็นผู้ดำเนินการบล็อก
 '''อย่าส่งงานที่มีลิขสิทธิ์เข้ามาก่อนได้รับอนุญาตจากเจ้าของ!'''",
 'longpageerror' => "'''ผิดพลาด: ข้อความที่คุณส่งเข้ามามีขนาด $1 กิโลไบต์
 ซึ่งเกินกว่าขนาดที่กำหนดไว้ที่ $2 กิโลไบต์ จึงไม่สามารถบันทึกได้'''",
-'readonlywarning' => "'''คำเตือน: ขณะนี้ฐานข้อมูลถูกล็อกเพื่อบำรุงรักษา จึงไม่สามารถบันทึกข้อมูลที่แก้ไขได้ แนะนำให้คัดลอกไปเก็บไว้ที่อื่นก่อนแล้วนำมาบันทึกในเว็บไซต์นี้ภายหลัง'''
+'readonlywarning' => "'''คำเตือน: ฐานข้อมูลถูกล็อกเพื่อบำรุงรักษา ฉะนั้นคุณจึงไม่สามารถบันทึกการเปลี่ยนแปลงของคุณได้ในขณะนี้'''
+คุณอาจต้องการคัดลอกและวางข้อความของคุณในไฟล์ข้อความ และบันทึกไว้ใช้ภายหลัง
 
 ผู้ดูแลระบบที่ล็อกฐานข้อมูลได้ให้คำอธิบายดังนี้: $1",
 'protectedpagewarning' => "'''คำเตือน: หน้านี้ถูกล็อก และแก้ไขได้เฉพาะผู้ใช้ที่มีสิทธิผู้ดูแลระบบเท่านั้น'''
@@ -2005,7 +2006,7 @@ $1',
 # Special:ActiveUsers
 'activeusers' => 'รายการผู้ใช้ประจำ',
 'activeusers-intro' => 'นี่คือรายนามผู้ใช้ที่มีกิจกรรมใด ๆ ใน $1 วันที่ผ่านมา',
-'activeusers-count' => '{{PLURAL:$1|à¸\81ารà¹\81à¸\81à¹\89à¹\84à¸\82ลà¹\88าสุà¸\94|à¸\81ารà¹\81à¸\81à¹\89à¹\84à¸\82ล่าสุด $1 รายการ}} ในช่วง $3 วันที่ผ่านมา',
+'activeusers-count' => '{{PLURAL:$1|à¸\9bà¸\8fิà¸\9aัà¸\95ิà¸\81ารลà¹\88าสุà¸\94|à¸\9bà¸\8fิà¸\9aัà¸\95ิà¸\81ารล่าสุด $1 รายการ}} ในช่วง $3 วันที่ผ่านมา',
 'activeusers-from' => 'แสดงชื่อผู้ใช้โดยเริ่มจาก:',
 'activeusers-hidebots' => 'ซ่อนบอต',
 'activeusers-hidesysops' => 'ซ่อนผู้ดูแลระบบ',
@@ -2216,9 +2217,9 @@ $UNWATCHURL
 'protect-cascadeon' => 'หน้านี้ถูกล็อกเนื่องจากเป็นส่วนหนึ่งของ{{PLURAL:$1|หน้า|หน้า}}ที่ถูกล็อกแบบสืบทอด
 คุณสามารถเปลี่ยนระดับการล็อกได้ แต่จะไม่มีผลต่อการล็อกแบบสืบทอด',
 'protect-default' => 'อนุญาตผู้ใช้ทั้งหมด',
-'protect-fallback' => 'à¸\88ำà¹\80à¸\9bà¹\87à¸\99à¸\95à¹\89อà¸\87à¹\83à¸\8aà¹\89สิà¸\97à¸\98ิà¹\83à¸\99à¸\81าร "$1"',
+'protect-fallback' => 'อà¸\99ุà¸\8dาà¸\95à¹\80à¸\89à¸\9eาะà¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\97ีà¹\88มีสิà¸\97à¸\98ิ "$1"',
 'protect-level-autoconfirmed' => 'บล็อกผู้ใช้ใหม่และผู้ใช้ไม่ลงทะเบียน',
-'protect-level-sysop' => 'เฉพาะผู้ดูแลระบบ',
+'protect-level-sysop' => 'อà¸\99ุà¸\8dาà¸\95à¹\80à¸\89à¸\9eาะà¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9a',
 'protect-summary-cascade' => 'สืบทอด',
 'protect-expiring' => 'หมดอายุ $1 (UTC)',
 'protect-expiring-local' => 'หมดอายุ $1',
@@ -2503,12 +2504,13 @@ $1',
 # Move page
 'move-page' => 'ย้าย $1',
 'move-page-legend' => 'เปลี่ยนชื่อ',
-'movepagetext' => "à¸\81ารà¹\83à¸\8aà¹\89à¹\81à¸\9aà¸\9aà¸\94à¹\89าà¸\99ลà¹\88าà¸\87à¸\88ะà¹\80à¸\9bลีà¹\88ยà¸\99à¸\8aืà¹\88อหà¸\99à¹\89า à¸\8bึà¹\88à¸\87à¸\88ะà¸\97ำà¹\83หà¹\89à¸\9bระวัà¸\95ิà¸\97ัà¹\89à¸\87หมà¸\94ยà¹\89ายà¹\84à¸\9bยัà¸\87à¸\8aืà¹\88อใหม่
+'movepagetext' => "à¸\81ารà¹\83à¸\8aà¹\89à¹\81à¸\9aà¸\9aà¸\94à¹\89าà¸\99ลà¹\88าà¸\87à¸\88ะà¹\80à¸\9bลีà¹\88ยà¸\99à¸\8aืà¹\88อหà¸\99à¹\89า à¹\81ละยà¹\89ายà¸\9bระวัà¸\95ิà¸\97ัà¹\89à¸\87หมà¸\94à¹\84à¸\9bยัà¸\87à¸\8aืà¹\88อà¹\80รืà¹\88อà¸\87ใหม่
 ชื่อเรื่องเก่าจะกลายเป็นหน้าเปลี่ยนทางไปยังชื่อเรื่องใหม่
-ให้แน่ใจว่า ตรวจสอบ[[Special:DoubleRedirects|หน้าเปลี่ยนทางซ้ำซ้อน]]หรือ[[Special:BrokenRedirects|หน้าเปลี่ยนทางที่เสีย]]
-คุณจะเป็นผู้รับผิดชอบเพื่อให้แน่ใจว่าลิงก์ต่าง ๆ ยังชี้ไปยังที่ที่สมควร
+คุณสามารถปรับให้หน้าเปลี่ยนทางที่ชี้ไปยังชื่อเรื่องเดิมได้อัตโนมัติ
+แต่หากคุณเลือกไม่ทำเช่นนั้น ให้แน่ใจว่าตรวจสอบ[[Special:DoubleRedirects|หน้าเปลี่ยนทางซ้ำซ้อน]]หรือ[[Special:BrokenRedirects|หน้าเปลี่ยนทางที่เสีย]]
+คุณเป็นผู้รับผิดชอบเพื่อให้แน่ใจว่าลิงก์ต่าง ๆ ยังชี้ไปยังที่ที่สมควร
 
-à¹\82à¸\9bรà¸\94à¸\97ราà¸\9aวà¹\88าหà¸\99à¹\89าà¸\94ัà¸\87à¸\81ลà¹\88าวà¸\88ะ'''à¹\84มà¹\88'''à¸\96ูà¸\81ยà¹\89าย à¸\96à¹\89ามีหà¸\99à¹\89าà¸\97ีà¹\88à¹\83à¸\8aà¹\89à¸\8aืà¹\88อà¹\80รืà¹\88อà¸\87à¹\83หมà¹\88อยูà¹\88à¹\81ลà¹\89ว à¹\80วà¹\89à¸\99à¹\81à¸\95à¹\88à¹\80à¸\9bà¹\87à¸\99หà¸\99à¹\89าวà¹\88าà¸\87หรือหà¸\99à¹\89าà¹\80à¸\9bลีà¹\88ยà¸\99à¸\97าà¸\87 à¹\81ละà¹\84มà¹\88มีà¸\9bระวัà¸\95ิà¸\81ารà¹\81à¸\81à¹\89à¹\84à¸\82à¹\83à¸\99อà¸\94ีà¸\95
+โปรดทราบว่าหน้าดังกล่าวจะ'''ไม่'''ถูกย้าย ถ้ามีหน้าที่ใช้ชื่อเรื่องใหม่อยู่แล้ว เว้นแต่เป็นหน้าเปลี่ยนทาง และไม่มีประวัติการแก้ไขในอดีต
 ซึ่งหมายความว่า คุณสามารถเปลี่ยนชื่อหน้ากลับเป็นชื่อเดิมได้หากคุณทำผิดพลาด และคุณไม่สามารถเขียนทับหน้าที่มีอยู่แล้วได้
 
 '''คำเตือน!'''
@@ -3501,7 +3503,7 @@ $5
 'specialpages-group-highuse' => 'หน้าที่มีการใช้งานสูง',
 'specialpages-group-pages' => 'รายชื่อหน้า',
 'specialpages-group-pagetools' => 'เครื่องมือเกี่ยวกับหน้าต่าง ๆ',
-'specialpages-group-wiki' => 'à¹\80à¸\84รืà¹\88อà¸\87มือà¹\81ละà¸\82à¹\89อมูลวิà¸\81ิ',
+'specialpages-group-wiki' => 'à¸\82à¹\89อมูลà¹\81ละà¹\80à¸\84รืà¹\88อà¸\87มือ',
 'specialpages-group-redirects' => 'เปลี่ยนทางหน้าพิเศษ',
 'specialpages-group-spam' => 'เครื่องมือเกี่ยวกับสแปม',
 
index 0903e18..20d4160 100644 (file)
@@ -123,7 +123,7 @@ $specialPageAliases = array(
        'Listusers'                 => array( 'KullanıcıListesi', 'KullanıcıListele' ),
        'Lockdb'                    => array( 'DBKilitle', 'VeritabanıKilitle' ),
        'Log'                       => array( 'Günlük', 'Günlükler', 'Kayıt', 'Kayıtlar' ),
-       'Lonelypages'               => array( 'YalnızSayfalar' ),
+       'Lonelypages'               => array( 'YalnızSayfalar', 'YetimSayfalar' ),
        'Longpages'                 => array( 'UzunSayfalar' ),
        'MergeHistory'              => array( 'GeçmişBirleştir' ),
        'MIMEsearch'                => array( 'MIMEArama' ),
index 56aab08..42d9c49 100644 (file)
@@ -564,6 +564,9 @@ Adiresi ya wena ya e-mail yitunberile loko van'wana va bula na wena.",
 'right-move-subpages' => "yisa matluka lawa na matluka-ntsongo ya wona, kun'wana",
 'right-delete' => 'Sula matluka lawa',
 
+# Special:Log/newusers
+'newuserlogpage' => 'Nghula ya nxaxamelo wa ku tumbuluxiwa ka vatirhisi',
+
 # Associated actions - in the sentence "You do not have permission to X"
 'action-read' => 'hlaya tluka leri',
 'action-edit' => 'Lulamisa tluka leri',
@@ -690,9 +693,6 @@ Nhlamuselo ya yona leyi nge ndzeni ka [$2 tluka ro hlamusela] hi yona leyi kombi
 'linksearch-ok' => 'Lava',
 'linksearch-line' => '$1 yi khwekerisiwe kusuka eka $2',
 
-# Special:Log/newusers
-'newuserlogpage' => 'Nghula ya nxaxamelo wa ku tumbuluxiwa ka vatirhisi',
-
 # Special:ListGroupRights
 'listgrouprights-members' => '(nxaxamelo wa valandzeri)',
 
index a8a7959..6467684 100644 (file)
  * @author לערי ריינהארט
  */
 
+$fallback = 'ru';
+$fallback8bitEncoding = "windows-1251";
+
 $namespaceNames = array(
        NS_MEDIA            => 'Медиа',
        NS_SPECIAL          => 'Тускай',
        NS_TALK             => 'Чугаа',
        NS_USER             => 'Aжыглакчы',
-       NS_USER_TALK        => 'AжÑ\8bглакÑ\87Ñ\8b\87Ñ\83гаазÑ\83',
-       NS_PROJECT_TALK     => '$1_Ñ\87Ñ\83гаазÑ\83',
+       NS_USER_TALK        => 'AжÑ\8bглакÑ\87Ñ\8b\87Ñ\83гаазÑ\8b',
+       NS_PROJECT_TALK     => '$1_Ñ\87Ñ\83гаазÑ\8b',
        NS_FILE             => 'Файл',
-       NS_FILE_TALK        => 'Файл_Ñ\87Ñ\83гаазÑ\83',
+       NS_FILE_TALK        => 'Файл_Ñ\87Ñ\83гаазÑ\8b',
        NS_MEDIAWIKI        => 'МедиаВики',
-       NS_MEDIAWIKI_TALK   => 'Ð\9cедиаÐ\92ики_Ñ\87Ñ\83гаазÑ\83',
-       NS_TEMPLATE         => 'Ð¥Ñ\8dÑ\8d',
-       NS_TEMPLATE_TALK    => 'Ð¥Ñ\8dÑ\8d\87Ñ\83гаазÑ\83',
+       NS_MEDIAWIKI_TALK   => 'Ð\9cедиаÐ\92ики_Ñ\87Ñ\83гаазÑ\8b',
+       NS_TEMPLATE         => 'Ð\9cайÑ\8bк',
+       NS_TEMPLATE_TALK    => 'Ð\9cайÑ\8bк_Ñ\87Ñ\83гаазÑ\8b',
        NS_HELP             => 'Дуза',
-       NS_HELP_TALK        => 'Ð\94Ñ\83за_Ñ\87Ñ\83гаазÑ\83',
-       NS_CATEGORY         => 'Ð\91өлүк',
-       NS_CATEGORY_TALK    => 'Ð\91өлүк_Ñ\87Ñ\83гаазÑ\83',
+       NS_HELP_TALK        => 'Ð\94Ñ\83за_Ñ\87Ñ\83гаазÑ\8b',
+       NS_CATEGORY         => 'Ð\9aаÑ\82егоÑ\80иÑ\8f',
+       NS_CATEGORY_TALK    => 'Ð\9aаÑ\82егоÑ\80иÑ\8f\87Ñ\83гаазÑ\8b',
 );
 
-$namespaceAliases = array(
-       'Aжыглакчы_чугаа' => NS_USER_TALK,
-       '$1_чугаа'        => NS_PROJECT_TALK,
-       'Чурук'           => NS_FILE,
-       'Чурук_чугаа'     => NS_FILE_TALK,
-       'МедиаВики_чугаа' => NS_MEDIAWIKI_TALK,
-       'Хээ_чугаа'       => NS_TEMPLATE_TALK,
-       'Дуза_чугаа'      => NS_HELP_TALK,
-       'Бөлүк_чугаа'     => NS_CATEGORY_TALK,
+
+$magicWords = array(
+       'redirect'                  => array( '0', '#ШИГЛЕДИР', '#REDIRECT' ),
+       'notoc'                     => array( '0', '__ДОПЧУЗУЧОК__', '__NOTOC__' ),
+       'toc'                       => array( '0', '__ДОПЧУЗУ__', '__TOC__' ),
+       'currentmonth'              => array( '1', 'АМГЫАЙ', 'АМГЫАЙ2', 'CURRENTMONTH', 'CURRENTMONTH2' ),
+       'currentmonth1'             => array( '1', 'АМГЫАЙ1', 'CURRENTMONTH1' ),
+       'currentmonthname'          => array( '1', 'АМГЫАЙНЫҢАДЫ', 'CURRENTMONTHNAME' ),
+       'currentday'                => array( '1', 'АМГЫХҮН', 'CURRENTDAY' ),
+       'currentday2'               => array( '1', 'АМГЫХҮН2', 'CURRENTDAY2' ),
+       'currentdayname'            => array( '1', 'АМГЫХҮННҮҢАДЫ', 'CURRENTDAYNAME' ),
+       'currentyear'               => array( '1', 'АМГЫЧЫЛ', 'CURRENTYEAR' ),
+       'currenttime'               => array( '1', 'АМГЫҮЕ', 'CURRENTTIME' ),
+       'currenthour'               => array( '1', 'АМГЫШАК', 'CURRENTHOUR' ),
+       'numberofpages'             => array( '1', 'АРЫННАРНЫҢСАНЫ', 'NUMBEROFPAGES' ),
+       'numberofarticles'          => array( '1', 'ЧҮҮЛДЕРНИҢСАНЫ', 'NUMBEROFARTICLES' ),
+       'numberoffiles'             => array( '1', 'ФАЙЛДАРНЫҢСАНЫ', 'NUMBEROFFILES' ),
+       'numberofusers'             => array( '1', 'АЖЫГЛАКЧЫЛАРНЫҢСАНЫ', 'NUMBEROFUSERS' ),
+       'numberofedits'             => array( '1', 'ӨСКЕРЛИИШКИННЕРНИҢСАНЫ', 'NUMBEROFEDITS' ),
+       'pagename'                  => array( '1', 'АРЫННЫҢАДЫ', 'PAGENAME' ),
+       'namespace'                 => array( '1', 'АТТАРДЕЛГЕМИ', 'NAMESPACE' ),
+       'namespacee'                => array( '1', 'АТТАРДЕЛГЕМИ2', 'NAMESPACEE' ),
+       'namespacenumber'           => array( '1', 'АТТАРДЕЛГЕМИНИҢСАНЫ', 'NAMESPACENUMBER' ),
+       'talkspace'                 => array( '1', 'ЧУГААДЕЛГЕМИ', 'TALKSPACE' ),
+       'talkspacee'                => array( '1', 'ЧУГААДЕЛГЕМИ2', 'TALKSPACEE' ),
+       'img_right'                 => array( '1', 'оң', 'right' ),
+       'img_left'                  => array( '1', 'солагай', 'left' ),
+       'img_center'                => array( '1', 'төп', 'center', 'centre' ),
+       'sitename'                  => array( '1', 'САЙТТЫҢАДЫ', 'SITENAME' ),
+       'ns'                        => array( '0', 'АД:', 'NS:' ),
+       'nse'                       => array( '0', 'АД2:', 'NSE:' ),
+       'currentweek'               => array( '1', 'АМГЫЧЕДИХОНУК', 'CURRENTWEEK' ),
+       'currentdow'                => array( '1', 'АМГЫЧЕДИХОНУКТУҢХҮНҮ', 'CURRENTDOW' ),
+       'raw'                       => array( '0', 'ЧИГ:', 'RAW:' ),
+       'language'                  => array( '0', '#ДЫЛ:', '#LANGUAGE:' ),
+       'special'                   => array( '0', 'тускай', 'special' ),
+       'tag'                       => array( '0', 'демдек', 'tag' ),
+       'pagesincategory_all'       => array( '0', 'шупту', 'all' ),
+       'pagesincategory_pages'     => array( '0', 'арыннар', 'pages' ),
+       'pagesincategory_files'     => array( '0', 'файлдар', 'files' ),
 );
 
 $bookstoreList = array(
@@ -55,8 +89,6 @@ $bookstoreList = array(
        'Barnes & Noble' => 'http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1'
 );
 
-$fallback8bitEncoding = "windows-1251";
-
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Холбааны шыяры:',
index 72f19ca..aff7c2d 100644 (file)
@@ -46,6 +46,115 @@ $namespaceNames = array(
        NS_CATEGORY_TALK    => 'تبادلۂ_خیال_زمرہ',
 );
 
+$specialPageAliases = array(
+       'Activeusers'               => array( 'متحرک_صارفین' ),
+       'Allmessages'               => array( 'تمام_پیغامات' ),
+       'Allpages'                  => array( 'تمام_صفحات' ),
+       'Ancientpages'              => array( 'قدیم_صفحات' ),
+       'Badtitle'                  => array( 'خراب_عنوان' ),
+       'Blankpage'                 => array( 'خالی_صفحہ' ),
+       'Block'                     => array( 'پابندی،_دستور_شبکی_پابندی،_پابندی_بر_صارف' ),
+       'Blockme'                   => array( 'میری_پابندی' ),
+       'Booksources'               => array( 'کتابی_وسائل' ),
+       'BrokenRedirects'           => array( 'شکستہ_رجوع_مکررات' ),
+       'Categories'                => array( 'زمرہ_جات' ),
+       'ChangeEmail'               => array( 'ڈاک_تبدیل' ),
+       'ChangePassword'            => array( 'کلمہ_شناخت_تبدیل،_تنظیم_کلمہ_شناخت' ),
+       'ComparePages'              => array( 'موازنہ_صفحات' ),
+       'Confirmemail'              => array( 'تصدیق_ڈاک' ),
+       'Contributions'             => array( 'شراکتیں' ),
+       'CreateAccount'             => array( 'تخلیق_کھاتہ' ),
+       'Deadendpages'              => array( 'مردہ_صفحات' ),
+       'DeletedContributions'      => array( 'حذف_شدہ_شراکتیں' ),
+       'Disambiguations'           => array( 'ضد_ابہام_صفحات' ),
+       'DoubleRedirects'           => array( 'دوہرے_رجوع_مکررات' ),
+       'EditWatchlist'             => array( 'ترمیم_زیر_نظر' ),
+       'Emailuser'                 => array( 'صارف_ڈاک' ),
+       'Export'                    => array( 'برآمدگی' ),
+       'Fewestrevisions'           => array( 'کم_نظر_ثانی_شدہ' ),
+       'FileDuplicateSearch'       => array( 'دہری_ملف_تلاش' ),
+       'Filepath'                  => array( 'راہ_ملف' ),
+       'Import'                    => array( 'درآمدگی' ),
+       'Invalidateemail'           => array( 'ڈاک_تصدیق_منسوخ' ),
+       'JavaScriptTest'            => array( 'تجربہ_جاوا_اسکرپٹ' ),
+       'BlockList'                 => array( 'فہرست_ممنوع،_فہرست_دستور_شبکی_ممنوع' ),
+       'LinkSearch'                => array( 'تلاش_روابط' ),
+       'Listadmins'                => array( 'فہرست_منتظمین' ),
+       'Listbots'                  => array( 'فہرست_روبہ_جات' ),
+       'Listfiles'                 => array( 'فہرست_املاف،_فہرست_تصاویر' ),
+       'Listgrouprights'           => array( 'فہرست_اختیارات_گروہ،_صارفی_گروہ_اختیارات' ),
+       'Listredirects'             => array( 'فہرست_رجوع_مکررات' ),
+       'Listusers'                 => array( 'فہرست_صارفین،_صارف_فہرست' ),
+       'Log'                       => array( 'نوشتہ،_نوشتہ_جات' ),
+       'Lonelypages'               => array( 'یتیم_صفحات' ),
+       'Longpages'                 => array( 'طویل_صفحات' ),
+       'MergeHistory'              => array( 'ضم_تاریخچہ' ),
+       'Movepage'                  => array( 'منتقلی_صفحہ' ),
+       'Mycontributions'           => array( 'میرا_حصہ' ),
+       'Mypage'                    => array( 'میرا_صفحہ' ),
+       'Mytalk'                    => array( 'میری_گفتگو' ),
+       'Myuploads'                 => array( 'میرے_زبراثقالات' ),
+       'Newimages'                 => array( 'جدید_املاف،_جدید_تصاویر' ),
+       'Newpages'                  => array( 'جدید_صفحات' ),
+       'PermanentLink'             => array( 'مستقل_ربط' ),
+       'Popularpages'              => array( 'مقبول_صفحات' ),
+       'Preferences'               => array( 'ترجیحات' ),
+       'Prefixindex'               => array( 'اشاریہ_سابقہ' ),
+       'Protectedpages'            => array( 'محفوظ_صفحات' ),
+       'Protectedtitles'           => array( 'محفوظ_عناوین' ),
+       'Randompage'                => array( 'تصادف،_تصادفی_مقالہ' ),
+       'Randomredirect'            => array( 'تصادفی_رجوع_مکرر' ),
+       'Recentchanges'             => array( 'حالیہ_تبدیلیاں' ),
+       'Recentchangeslinked'       => array( 'متعلقہ_تبدیلیاں' ),
+       'Revisiondelete'            => array( 'حذف_اعادہ' ),
+       'Search'                    => array( 'تلاش' ),
+       'Shortpages'                => array( 'مختصر_صفحات' ),
+       'Specialpages'              => array( 'خصوصی_صفحات' ),
+       'Statistics'                => array( 'شماریات' ),
+       'Uncategorizedcategories'   => array( 'غیر_زمرہ_بند_زمرہ_جات' ),
+       'Uncategorizedimages'       => array( 'غیر_زمرہ_بند_املاف،_غیر_زمرہ_بند_تصاویر' ),
+       'Uncategorizedpages'        => array( 'غیر_زمرہ_بند_صفحات' ),
+       'Uncategorizedtemplates'    => array( 'غیر_زمرہ_بند_سانچے' ),
+       'Undelete'                  => array( 'بحال' ),
+       'Unusedcategories'          => array( 'غیر_مستعمل_زمرہ_جات' ),
+       'Unusedimages'              => array( 'غیر_مستعمل_املاف،_غیر_مستعمل_تصاویر' ),
+       'Unusedtemplates'           => array( 'غیر_مستعمل_سانچے' ),
+       'Unwatchedpages'            => array( 'نادیدہ_صفحات' ),
+       'Upload'                    => array( 'زبراثقال' ),
+       'Userlogin'                 => array( 'داخل_نوشتگی' ),
+       'Userlogout'                => array( 'خارج_نوشتگی' ),
+       'Userrights'                => array( 'صارفی_اختیارات' ),
+       'Version'                   => array( 'اخراجہ' ),
+       'Wantedcategories'          => array( 'مطلوب_زمرہ_جات' ),
+       'Wantedfiles'               => array( 'مطلوب_املاف' ),
+       'Wantedpages'               => array( 'مطلوب_صفحات،_شکستہ_روابط' ),
+       'Wantedtemplates'           => array( 'مطلوب_سانچے' ),
+       'Watchlist'                 => array( 'زیر_نظر_فہرست' ),
+       'Whatlinkshere'             => array( 'یہاں_کس_کا_رابطہ' ),
+       'Withoutinterwiki'          => array( 'بدون_بین_الویکی' ),
+);
+
+$magicWords = array(
+       'redirect'                  => array( '0', '#رجوع_مکرر', '#REDIRECT' ),
+       'notoc'                     => array( '0', '_فہرست_نہیں_', '__NOTOC__' ),
+       'toc'                       => array( '0', '__فہرست__', '__TOC__' ),
+       'noeditsection'             => array( '0', '__ناتحریرقسم__', '__NOEDITSECTION__' ),
+       'msg'                       => array( '0', 'پیغام:', 'MSG:' ),
+       'subst'                     => array( '0', 'نقل:', 'SUBST:' ),
+       'safesubst'                 => array( '0', 'محفوظ_نقل:', 'SAFESUBST:' ),
+       'img_thumbnail'             => array( '1', 'تصغیر', 'thumbnail', 'thumb' ),
+       'img_right'                 => array( '1', 'دائیں', 'right' ),
+       'img_left'                  => array( '1', 'بائیں', 'left' ),
+       'img_center'                => array( '1', 'درمیان', 'center', 'centre' ),
+       'sitename'                  => array( '1', 'نام_موقع', 'SITENAME' ),
+       'grammar'                   => array( '0', 'قواعد:', 'GRAMMAR:' ),
+       'gender'                    => array( '0', 'جنس:', 'GENDER:' ),
+       'special'                   => array( '0', 'خاص', 'special' ),
+       'speciale'                  => array( '0', 'خاص_عنوان', 'speciale' ),
+       'index'                     => array( '1', '__اشاریہ__', '__INDEX__' ),
+       'noindex'                   => array( '1', '__نااشاریہ__', '__NOINDEX__' ),
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'ربط کی خط کشیدگی:',
index e713bb8..e6e577d 100644 (file)
@@ -52,6 +52,54 @@ $namespaceAliases = array(
        'Kategoriya_munozarasi' => NS_CATEGORY_TALK,
 );
 
+$magicWords = array(
+       'redirect'                  => array( '0', '#YONALTIRISH', '#REDIRECT' ),
+       'notoc'                     => array( '0', '__ICHIDAGILARYOQ__', '__NOTOC__' ),
+       'nogallery'                 => array( '0', '__GALEREYAYOQ__', '__NOGALLERY__' ),
+       'forcetoc'                  => array( '0', '__ICHIDAGILARMAJBURIY__', '__FORCETOC__' ),
+       'toc'                       => array( '0', '__ICHIDAGILARI__', '__ICHIDAGILAR__', '__TOC__' ),
+       'noeditsection'             => array( '0', '__TAHRIRYOQ__', '__TARTIBLASHYOQ__', '__NOEDITSECTION__' ),
+       'currentmonth'              => array( '1', 'JORIYOY', 'JORIYOY2', 'CURRENTMONTH', 'CURRENTMONTH2' ),
+       'currentmonth1'             => array( '1', 'JORIYOY1', 'CURRENTMONTH1' ),
+       'currentmonthname'          => array( '1', 'JORIYOYNOMI', 'CURRENTMONTHNAME' ),
+       'currentmonthnamegen'       => array( '1', 'JORIYOYNOMIQARATQICH', 'CURRENTMONTHNAMEGEN' ),
+       'currentmonthabbrev'        => array( '1', 'JORIYOYQISQARTMASI', 'CURRENTMONTHABBREV' ),
+       'currentday'                => array( '1', 'JORIYKUN', 'CURRENTDAY' ),
+       'currentday2'               => array( '1', 'JORIYKUN2', 'CURRENTDAY2' ),
+       'currentdayname'            => array( '1', 'JORIYKUNNOMI', 'CURRENTDAYNAME' ),
+       'currentyear'               => array( '1', 'JORIYYIL', 'CURRENTYEAR' ),
+       'currenttime'               => array( '1', 'JORIYVAQT', 'CURRENTTIME' ),
+       'currenthour'               => array( '1', 'JORIYSOAT', 'CURRENTHOUR' ),
+       'localmonth'                => array( '1', 'MAHALLIYOY', 'MAHALLIYOY2', 'LOCALMONTH', 'LOCALMONTH2' ),
+       'localmonth1'               => array( '1', 'MAHALLIYOY1', 'LOCALMONTH1' ),
+       'localmonthname'            => array( '1', 'MAHALLIYOYNOMI', 'LOCALMONTHNAME' ),
+       'localmonthnamegen'         => array( '1', 'MAHALLIYOYQARATQICH', 'LOCALMONTHNAMEGEN' ),
+       'localmonthabbrev'          => array( '1', 'MAHALLIYOYQISQARTMASI', 'LOCALMONTHABBREV' ),
+       'localday'                  => array( '1', 'MAHALLIYKUN', 'LOCALDAY' ),
+       'localday2'                 => array( '1', 'MAHALLIYKUN2', 'LOCALDAY2' ),
+       'localdayname'              => array( '1', 'MAHALLIYKUNNOMI', 'LOCALDAYNAME' ),
+       'localyear'                 => array( '1', 'MAHALLIYYIL', 'LOCALYEAR' ),
+       'localtime'                 => array( '1', 'MAHALLIYVAQT', 'LOCALTIME' ),
+       'localhour'                 => array( '1', 'MAHALLIYSOAT', 'LOCALHOUR' ),
+       'numberofpages'             => array( '1', 'SAHIFASONI', 'NUMBEROFPAGES' ),
+       'numberofarticles'          => array( '1', 'MAQOLASONI', 'NUMBEROFARTICLES' ),
+       'numberoffiles'             => array( '1', 'FAYLSONI', 'NUMBEROFFILES' ),
+       'numberofusers'             => array( '1', 'FOYDALANUVCHISONI', 'NUMBEROFUSERS' ),
+       'numberofactiveusers'       => array( '1', 'FAOLFOYDALANUVCHISONI', 'NUMBEROFACTIVEUSERS' ),
+       'numberofedits'             => array( '1', 'OZGARISHSONI', 'NUMBEROFEDITS' ),
+       'numberofviews'             => array( '1', 'KORISHSONI', 'NUMBEROFVIEWS' ),
+       'pagename'                  => array( '1', 'SAHIFANOMI', 'PAGENAME' ),
+       'numberofadmins'            => array( '1', 'ADMINISTRATORSONI', 'NUMBEROFADMINS' ),
+       'special'                   => array( '0', 'maxsus', 'special' ),
+       'tag'                       => array( '0', 'yorliq', 'tag' ),
+       'hiddencat'                 => array( '1', '__YASHIRINTURKUM__', '__HIDDENCAT__' ),
+       'pagesincategory'           => array( '1', 'TURKUMDAGISAHIFALAR', 'PAGESINCATEGORY', 'PAGESINCAT' ),
+       'pagesize'                  => array( '1', 'SAHIFAHAJMI', 'PAGESIZE' ),
+       'index'                     => array( '1', '__INDEKS__', '__INDEX__' ),
+       'noindex'                   => array( '1', '__INDEKSYOQ__', '__NOINDEX__' ),
+       'url_wiki'                  => array( '0', 'VIKI', 'WIKI' ),
+);
+
 $linkTrail = '/^([a-zʻʼ“»]+)(.*)$/sDu';
 
 $messages = array(
index 0b83e80..8f64783 100644 (file)
@@ -67,7 +67,8 @@ $specialPageAliases = array(
        'Booksources'               => array( 'SercaISBN' ),
        'BrokenRedirects'           => array( 'RimandiSbalià' ),
        'Categories'                => array( 'Categorie' ),
-       'ChangePassword'            => array( 'ReinpostaPassword' ),
+       'ChangeEmail'               => array( 'CanbiaEmail' ),
+       'ChangePassword'            => array( 'CanbiaPassword' ),
        'ComparePages'              => array( 'ConfrontaPagine' ),
        'Confirmemail'              => array( 'ConfermaEMail' ),
        'Contributions'             => array( 'Contributi' ),
@@ -76,6 +77,7 @@ $specialPageAliases = array(
        'DeletedContributions'      => array( 'ContributiScancelà' ),
        'Disambiguations'           => array( 'Disanbiguassion' ),
        'DoubleRedirects'           => array( 'DópiRimandi' ),
+       'EditWatchlist'             => array( 'CanbiaTegnuiDeOcio' ),
        'Emailuser'                 => array( 'MandaEMail' ),
        'Export'                    => array( 'Esporta' ),
        'Fewestrevisions'           => array( 'PagineConMancoRevision' ),
@@ -99,6 +101,7 @@ $specialPageAliases = array(
        'MIMEsearch'                => array( 'SercaMIME' ),
        'Mostcategories'            => array( 'PagineConPiassèCategorie' ),
        'Mostimages'                => array( 'FilePiassèDoparà' ),
+       'Mostinterwikis'            => array( 'PiassèInterwiki' ),
        'Mostlinked'                => array( 'PaginePiassèRiciamà' ),
        'Mostlinkedcategories'      => array( 'CategoriePiassèDoparà' ),
        'Mostlinkedtemplates'       => array( 'ModèiPiassèDoparà' ),
@@ -107,8 +110,11 @@ $specialPageAliases = array(
        'Mycontributions'           => array( 'IMeContributi' ),
        'Mypage'                    => array( 'LaMePaginaUtente' ),
        'Mytalk'                    => array( 'LeMeDiscussion' ),
+       'Myuploads'                 => array( 'IMeCaricamenti' ),
        'Newimages'                 => array( 'FileNovi' ),
        'Newpages'                  => array( 'PagineNove' ),
+       'PasswordReset'             => array( 'ReinpostaPassword' ),
+       'PermanentLink'             => array( 'LinkParmanente' ),
        'Popularpages'              => array( 'PaginePiassèVisità' ),
        'Preferences'               => array( 'Preferense' ),
        'Prefixindex'               => array( 'Prefissi' ),
@@ -584,7 +590,7 @@ Nó desmentegarte de personałixare łe [[Special:Preferences|prefarense de {{SI
 'gotaccount' => "Sito zà iscrito? '''$1'''.",
 'gotaccountlink' => 'Entra',
 'userlogin-resetlink' => "Desmentegà i to dati d'aceso?",
-'createaccountmail' => 'Par e-mail',
+'createaccountmail' => 'Dopara na password caxuałe tenporanea e inviała al indiriso e-mail spesifegà cuà soto',
 'createaccountreason' => 'Motivassion:',
 'badretype' => 'Le do password le xe difarenti.',
 'userexists' => 'El nome utente inserido vien xa doparà da cualchedun altro.
@@ -868,10 +874,10 @@ Sapi che te stè prometendo che te stè inserendo un testo scrito de to pugno, o
 '''NO STA INSERIR OPERE PROTETE DA COPYRIGHT SENSA PERMESSO!'''",
 'longpageerror' => "'''Erore: el testo invià xe grando {{PLURAL:$1|1|$1}} kilobyte, che xe de pì deła dimension masima consentìa de {{PLURAL:$2|1|$2}} kilobyte.'''
 El testo no połe esare salvà.",
-'readonlywarning' => "'''OCIO: El database el xe stà blocà par manutenzion, quindi no se pol salvar le modifiche in sto momento.
-Par no pèrdarle, te pol copiar tuto quel che te ghè inserìo fin desso ne la casela de modifica, incolarlo in un programa de elaborazion de testi e salvarlo, intanto che te speti che i sbloca el database.'''
+'readonlywarning' => "'''OCIO: El database el xe stà blocà par manutension, cuindi nó se pol salvar łe modifeghe in sto momento.'''
+Par nó pèrdarle, te pol copiar tuto chel che te ghè inserìo fin deso inte ła caxeła de modifega, incołarlo inte un programa de elaborasion de testi e salvarlo, intanto che te speti che i sbloca el database.
 
-L'aministrador che gà blocà el database el gà dato la seguente spiegassion: $1",
+L'aministrador che gà blocà el database el gà dato ła seguente spiegasion: $1",
 'protectedpagewarning' => "'''Ocio:''' Sta pajina ła xe sta proteta in maniera che soło i aministradori i posa canbiarla. Sta qua ła xe l'ultima operasion catà sul registro de ła pajina:",
 'semiprotectedpagewarning' => "'''Ocio:''' Sta pajina ła xe stà proteta in maniera che soło i utenti rexistrài i posa canbiarla. Sta qua ła xe l'ultima operasion catà sul registro de ła pajina:",
 'cascadeprotectedwarning' => "'''Ocio:''' Sta pajina ła xe stà proteta in maniera che soło i utenti co priviłegi de aministrador i posa canbiarla. Questo sucede parché ła pajina ła xe inclusa {{PLURAL:\$1|'nte ła pajina indicà de seguito, che ła xe stà proteta|ne le pagine indicà de seguito, che łe xe stae protete}} sełesionando ła protesion \"ricorsiva\":",
@@ -2051,7 +2057,7 @@ Xe nesesario almanco un dominio de primo liveło, tipo "*.org".<br />
 # Special:ActiveUsers
 'activeusers' => 'Lista dei utenti ativi',
 'activeusers-intro' => 'Sta qua xe la lista dei utenti che ga fato calcossa {{PLURAL:$1|sto ultimo zorno|sti ultimi $1 zorni}}.',
-'activeusers-count' => "$1 {{PLURAL:$1|canbiamento|canbiamenti}} {{PLURAL:$3|ne l'ultimo zorno|in tei ultimi $3 zorni}}",
+'activeusers-count' => "$1 {{PLURAL:$1|asion}} {{PLURAL:$3|inte'l ultimo xorno|inte i ultimi $3 xorni}}",
 'activeusers-from' => 'Fà védar i utenti a partir da:',
 'activeusers-hidebots' => 'Scondi i bot',
 'activeusers-hidesysops' => 'Scondi i aministradori',
@@ -2067,14 +2073,14 @@ Se pol consultar anca dele altre [[{{MediaWiki:Listgrouprights-helppage}}|inform
 'listgrouprights-rights' => 'Diriti',
 'listgrouprights-helppage' => 'Help:Diriti dei grupi',
 'listgrouprights-members' => '(Elenco de i menbri)',
-'listgrouprights-addgroup' => 'Pode zontar {{PLURAL:$2|al grupo|ai grupi}}: $1',
-'listgrouprights-removegroup' => 'Pode cavar {{PLURAL:$2|dal grupo|dai grupi}}: $1',
-'listgrouprights-addgroup-all' => 'Pode zontar tuti i grupi',
-'listgrouprights-removegroup-all' => 'Pode cavar tuti i grupi',
-'listgrouprights-addgroup-self' => 'Poder zontar la propria utensa in {{PLURAL:$2|te un grupo|più grupi}}: $1',
-'listgrouprights-removegroup-self' => 'Poder cavar la propria utensa da {{PLURAL:$2|un grupo|dei grupi}}: $1',
-'listgrouprights-addgroup-self-all' => 'Pode zontar la propria utensa in tuti i grupi',
-'listgrouprights-removegroup-self-all' => 'Pode cavar la propria utensa da tuti i grupi',
+'listgrouprights-addgroup' => 'Pol xontar {{PLURAL:$2|al grupo|ai grupi}}: $1',
+'listgrouprights-removegroup' => 'Pol cavar {{PLURAL:$2|dal grupo|dai grupi}}: $1',
+'listgrouprights-addgroup-all' => 'Pol xontar a tuti i grupi',
+'listgrouprights-removegroup-all' => 'Pol cavar da tuti i grupi',
+'listgrouprights-addgroup-self' => 'Pol xontarse {{PLURAL:$2|al grupo|ai grupi}}: $1',
+'listgrouprights-removegroup-self' => 'Pol cavarse da {{PLURAL:$2|un grupo|dei grupi}}: $1',
+'listgrouprights-addgroup-self-all' => 'Pol xontarse a tuti i grupi',
+'listgrouprights-removegroup-self-all' => 'Pol cavarse da tuti i grupi',
 
 # E-mail user
 'mailnologin' => 'Nissun indirizo a cui mandarghe el messagio',
@@ -3637,7 +3643,7 @@ Le imagini le vien mostrà a la risoluzion pi granda che se pol, par i altri tip
 'specialpages-group-highuse' => 'Pagine doparà assè',
 'specialpages-group-pages' => 'Liste de pagine',
 'specialpages-group-pagetools' => 'Strumenti par le pagine',
-'specialpages-group-wiki' => 'Dati e strumenti wiki',
+'specialpages-group-wiki' => "Strumenti e informasion so'l projeto",
 'specialpages-group-redirects' => 'Pagine speciali de rimando',
 'specialpages-group-spam' => 'Strumenti anti spam',
 
@@ -3733,7 +3739,8 @@ Le imagini le vien mostrà a la risoluzion pi granda che se pol, par i altri tip
 'logentry-patrol-patrol-auto' => '$1 ga segnà automategamente la revixion $4 de la pajina $3 come verifegà',
 'logentry-newusers-newusers' => "L'utensa $1 xe sta creà",
 'logentry-newusers-create' => "L'utensa $1 xe sta creà",
-'logentry-newusers-create2' => 'Lutensa $3 xe sta creà da $1',
+'logentry-newusers-create2' => "L'utensa $3 xe sta creà da $1",
+'logentry-newusers-byemail' => "L'utensa $3 xe sta creà da $1 e ła password ła xe sta invià via e-mail",
 'logentry-newusers-autocreate' => "L'utensa $1 xè stà creà automategamente",
 'logentry-rights-rights' => "$1 ga canbià l'apartenensa de $3 dal grupo $4 al grupo $5",
 'logentry-rights-rights-legacy' => "$1 ga canbià l'apartenensa a grupi de $3",
index b918907..e192319 100644 (file)
@@ -61,7 +61,7 @@ $specialPageAliases = array(
        'Ancientpages'              => array( 'Trang_cũ' ),
        'Badtitle'                  => array( 'Tựa_đề_hỏng' ),
        'Blankpage'                 => array( 'Trang_trắng' ),
-       'Block'                     => array( 'Cấm_IP' ),
+       'Block'                     => array( 'Cấm', 'Cấm_IP', 'Cấm_thành_viên', 'Cấm_người_dùng' ),
        'Blockme'                   => array( 'Khóa_tôi', 'Khoá_tôi' ),
        'Booksources'               => array( 'Nguồn_sách' ),
        'BrokenRedirects'           => array( 'Đổi_hướng_sai' ),
@@ -211,14 +211,17 @@ $magicWords = array(
        'img_page'                  => array( '1', 'trang=$1', 'trang $1', 'page=$1', 'page $1' ),
        'img_upright'               => array( '1', 'đứng', 'đứng=$1', 'đứng $1', 'upright', 'upright=$1', 'upright $1' ),
        'img_link'                  => array( '1', 'liên_kết=$1', 'link=$1' ),
+       'img_class'                 => array( '1', 'lớp=$1', 'class=$1' ),
        'int'                       => array( '0', 'NỘI:', 'INT:' ),
        'sitename'                  => array( '1', 'TÊNMẠNG', 'SITENAME' ),
        'ns'                        => array( '0', 'KGT:', 'NS:' ),
        'localurl'                  => array( '0', 'URLĐỊAPHƯƠNG:', 'LOCALURL:' ),
-       'articlepath'               => array( '0', 'LỐIBÀI', 'ARTICLEPATH' ),
+       'articlepath'               => array( '0', 'ĐƯỜNGDẪNBÀI', 'LỐIBÀI', 'ARTICLEPATH' ),
+       'pageid'                    => array( '0', 'IDTRANG', 'PAGEID' ),
        'server'                    => array( '0', 'MÁYCHỦ', 'SERVER' ),
        'servername'                => array( '0', 'TÊNMÁYCHỦ', 'SERVERNAME' ),
-       'scriptpath'                => array( '0', 'ĐƯỜNGDẪNSCRIPT', 'SCRIPTPATH' ),
+       'scriptpath'                => array( '0', 'ĐƯỜNGDẪNKỊCHBẢN', 'ĐƯỜNGDẪNSCRIPT', 'SCRIPTPATH' ),
+       'stylepath'                 => array( '0', 'ĐƯỜNGDẪNKIỂU', 'STYLEPATH' ),
        'grammar'                   => array( '0', 'NGỮPHÁP:', 'GRAMMAR:' ),
        'gender'                    => array( '0', 'GIỐNG:', 'GENDER:' ),
        'notitleconvert'            => array( '0', '__KHÔNGCHUYỂNTÊN__', '__NOTITLECONVERT__', '__NOTC__' ),
@@ -251,7 +254,9 @@ $magicWords = array(
        'pagesize'                  => array( '1', 'CỠTRANG', 'PAGESIZE' ),
        'numberingroup'             => array( '1', 'CỠNHÓM', 'NUMBERINGROUP', 'NUMINGROUP' ),
        'staticredirect'            => array( '1', '__ĐỔIHƯỚNGNHẤTĐỊNH__', '__STATICREDIRECT__' ),
+       'protectionlevel'           => array( '1', 'MỨCKHÓA', 'MỨCKHOÁ', 'PROTECTIONLEVEL' ),
        'url_path'                  => array( '0', 'ĐƯỜNGDẪN', 'PATH' ),
+       'url_query'                 => array( '0', 'TRUYVẤN', 'QUERY' ),
 );
 
 $datePreferences = array(
index ebce38f..cad26e0 100644 (file)
@@ -200,7 +200,7 @@ $messages = array(
 'cancel' => 'Pasagdi',
 'moredotdotdot' => 'Damo pa nga…',
 'mypage' => 'Akon pakli',
-'mytalk' => 'Akon paghingay',
+'mytalk' => 'Mga akon paghingay',
 'anontalk' => 'Paghingay para hini nga IP',
 'navigation' => 'Paglayag',
 'and' => '&#32;ngan',
@@ -829,7 +829,7 @@ Ginpapasabot nga an sulod han mga panudlok han {{SITENAME}} in bangin daan an.',
 
 # Preferences page
 'preferences' => 'Mga karuyag',
-'mypreferences' => 'Akon mga karuyag',
+'mypreferences' => 'Mga akon karuyag',
 'prefs-edits' => 'Ihap han mga pagliwat:',
 'prefsnologin' => 'Diri nakalog-in',
 'changepassword' => 'Igliwan an tigaman-pagsulod',
@@ -1390,8 +1390,8 @@ An paglaladawan han iya [$2 fayl han paglaladawan nga pakli] didto in ginpapakit
 'usermessage-editor' => 'Mensahero han sistema',
 
 # Watchlist
-'watchlist' => 'Akon barantayan',
-'mywatchlist' => 'Akon angay timan-an',
+'watchlist' => 'Barantayan',
+'mywatchlist' => 'Mga angay timan-an nakon',
 'watchlistfor2' => 'Para ha $1 $2',
 'watchnologin' => 'Diri nakalog-in',
 'watch' => 'Bantayi',
@@ -1480,9 +1480,9 @@ $1',
 'blanknamespace' => '(Panguna)',
 
 # Contributions
-'contributions' => 'Mga amot han gumaramit',
+'contributions' => 'Mga ámot ni {{GENDER:$1|User}}',
 'contributions-title' => 'Mga amot han gumaramit para ha $1',
-'mycontris' => 'Akon mga ámot',
+'mycontris' => 'Mga ámot nakon',
 'contribsub2' => 'Para ha $1 $2',
 'uctop' => '(bawbaw)',
 'month' => 'Tikang ha bulan (ngan uruunhan):',
@@ -1514,7 +1514,7 @@ $1',
 'whatlinkshere-hideredirs' => '$1 nga mga redirek',
 'whatlinkshere-hidetrans' => '$1 nga mga transklusyon',
 'whatlinkshere-hidelinks' => '$1 an mga sumpay',
-'whatlinkshere-hideimages' => '$1 sumpay hin hulagway',
+'whatlinkshere-hideimages' => '$1 an mga sumpay han paypay',
 'whatlinkshere-filters' => 'Mga panara',
 
 # Block/unblock
index e1eb3a7..12a797f 100644 (file)
@@ -147,8 +147,12 @@ $magicWords = array(
        'toc'                       => array( '0', '__אינהאלט__', '__תוכן_עניינים__', '__תוכן__', '__TOC__' ),
        'noeditsection'             => array( '0', '__נישט_רעדאקטירן__', '__ללא_עריכה__', '__NOEDITSECTION__' ),
        'currentday'                => array( '1', 'לויפיקער_טאג', 'יום נוכחי', 'CURRENTDAY' ),
+       'currentyear'               => array( '1', 'לויפֿיקע_יאָר', 'שנה נוכחית', 'CURRENTYEAR' ),
+       'currenttime'               => array( '1', 'לויפֿיקע_צײַט', 'שעה נוכחית', 'CURRENTTIME' ),
        'numberofpages'             => array( '1', 'צאל_בלעטער', 'מספר דפים כולל', 'מספר דפים', 'NUMBEROFPAGES' ),
        'numberofarticles'          => array( '1', 'צאל_ארטיקלען', 'מספר ערכים', 'NUMBEROFARTICLES' ),
+       'numberoffiles'             => array( '1', 'צאל_טעקעס', 'מספר קבצים', 'NUMBEROFFILES' ),
+       'numberofusers'             => array( '1', 'צאל_באניצער', 'מספר משתמשים', 'NUMBEROFUSERS' ),
        'pagename'                  => array( '1', 'בלאטנאמען', 'שם הדף', 'PAGENAME' ),
        'namespace'                 => array( '1', 'נאמענטייל', 'מרחב השם', 'NAMESPACE' ),
        'fullpagename'              => array( '1', 'פולבלאטנאמען', 'שם הדף המלא', 'FULLPAGENAME' ),
@@ -160,8 +164,10 @@ $magicWords = array(
        'img_right'                 => array( '1', 'רעכטס', 'ימין', 'right' ),
        'img_left'                  => array( '1', 'לינקס', 'שמאל', 'left' ),
        'img_none'                  => array( '1', 'אן', 'ללא', 'none' ),
+       'img_width'                 => array( '1', '$1פיקס', '$1 פיקסלים', '$1px' ),
        'img_center'                => array( '1', 'צענטער', 'מרכז', 'center', 'centre' ),
        'img_sub'                   => array( '1', 'אונטער', 'תחתי', 'sub' ),
+       'img_super'                 => array( '1', 'איבער', 'עילי', 'super', 'sup' ),
        'img_top'                   => array( '1', 'אויבן', 'למעלה', 'top' ),
        'img_bottom'                => array( '1', 'אונטן', 'למטה', 'bottom' ),
        'img_link'                  => array( '1', 'לינק=$1', 'קישור=$1', 'link=$1' ),
@@ -2058,7 +2064,7 @@ $1",
 # Special:ActiveUsers
 'activeusers' => 'ליסטע פֿון אַקטיווע באַניצער',
 'activeusers-intro' => 'דאָס איז א ליסטע פֿון באַניצער וואָס זענען געווען אַקטיוו אינערהאָלב  $1 {{PLURAL:$1|דעם לעצטן טאָג|די לעצטע $1 טעג}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|×\91×\90Ö·×\90ַר×\91×¢×\98×\95× ×\92\91×\90Ö·×\90ַר×\91×¢×\98×\95× ×\92×¢×\9f}} אין  {{PLURAL:$3|דעם לעצטן טאָג|די לעצטע $3 טעג}}',
+'activeusers-count' => '$1 {{PLURAL:$1|פע×\95×\9c×\94|פע×\95×\9c×\95ת}} אין  {{PLURAL:$3|דעם לעצטן טאָג|די לעצטע $3 טעג}}',
 'activeusers-from' => 'ווײַזן באַניצער אָנהייבנדיג פון:',
 'activeusers-hidebots' => 'באַהאַלטן באטן',
 'activeusers-hidesysops' => 'באַהאַלטן סיסאפן',
@@ -2122,7 +2128,7 @@ $1",
 'usermessage-template' => 'MediaWiki:באניצער־מעלדונג',
 
 # Watchlist
-'watchlist' => '×\9e×\99×\99×\9f ×\90×\95×\99פפַּ×\90סונג ליסטע',
+'watchlist' => '×\90×\95×\99פֿפ×\90Ö·סונג ליסטע',
 'mywatchlist' => 'אויפפַּאסונג ליסטע',
 'watchlistfor2' => 'פֿאַר $1 $2',
 'nowatchlist' => 'איר האט נישט קיין שום בלעטער אין אייער אויפפַּאסונג ליסטע.',
@@ -2285,9 +2291,9 @@ $UNWATCHURL
 
 איר קענט ענדערן דעם שיצונג ניווא פונעם בלאַט, אבער דאס וועט נישט ווירקן אויף דער קאַסקאַדירטער שיצונג .',
 'protect-default' => 'אלע באניצער ערלויבט',
-'protect-fallback' => 'פֿ×\90×\93ערט "$1" ערלויבניש',
-'protect-level-autoconfirmed' => '×\91×\9c×\90ק×\99ר×\9f × ×²Ö·×¢ ×\90×\95×\9f × ×\99×\98 ×\90ײַנ×\92עשר×\99×\91×¢× ×¢ ×\91×\90Ö·× ×\99צערס',
-'protect-level-sysop' => 'נאר סיסאפן',
+'protect-fallback' => '×\93ער×\9c×\95×\99×\91×\9f × ×\90ר ×\91×\90× ×\99צער ×\9e×\99ט "$1" ערלויבניש',
+'protect-level-autoconfirmed' => '×\9c×\90×\96×\9f × ×\90ר ×\90×\95×\99×\98×\90×\9e×\90×\98×\99ש ×\91×\90ש×\98×¢×\98×\99ק×\98×¢ ×\91×\90Ö·× ×\99צער',
+'protect-level-sysop' => '×\93ער×\9c×\95×\99×\91×\9f × ×\90ר ×¡×\99ס×\90פ×\9f',
 'protect-summary-cascade' => 'קאסקאדירן',
 'protect-expiring' => 'גייט אויס $1 (UTC)',
 'protect-expiring-local' => 'לאזט אויס $1',
@@ -2578,18 +2584,20 @@ $1',
 'move-page' => 'באַוועגן $1',
 'move-page-legend' => 'באַוועגן בלאַט',
 'movepagetext' => "זיך באניצן מיט דעם פֿארעם וועט פֿארענדערן דעם נאמען פֿון דעם בלאט, און וועט אריבערפֿירן זיין געשיכטע צום נייעם נאמען.
-
-דאס אלטע קעפל וועט ווערן א ווייטערפֿירן בלאט צום נייעם נאמען.
+דאס אלטע קעפל וועט ווערן א ווייטערפֿירן בלאט צום נייעם קעפל.
 
 איר קענט דערהיינטיגן ווייטערפֿירונגען צום אלטן נאמען אויטאמאטיש.
 
-טאמער נישט, טוט פֿארזיכערן אז עס איז נישטא קיין [[Special:DoubleRedirects|געטאפלטע]] אדער [[Special:BrokenRedirects|צעבראכענע]] ווייטערפֿירונגען.
+טאמער נישט, טוט פֿארזיכערן אז עס איז נישטא קיין [[Special:DoubleRedirects|געטאפלטע]] אדער [[Special:BrokenRedirects|צעבראכענע ווייטערפֿירונגען]].
 
-איר זענט פֿאראנטווארטלעך זיכער מאכן אז אלע פֿארבינדונגען ווערן געריכטעט צו דער געהעריגער ריכטונג.
+איר זענט פֿאראנטווארטלעך זיכער מאכן אז אלע פֿארבינדונגען ווערן געריכטעט צום געהעריגן ציל.
 
-אכטונג: דער בלאט וועט נישט ווערן אריבערגעפֿירט אויב עס איז שוין דא א בלאט אונטער דעם נייעם נאמען, אחוץ ווען ער איז ליידיג. אדער ער איז א ווייטערפֿירונג בלאט, און ער האט נישט קיין געשיכטע פון ענדערונגען. פשט דערפֿון, אז איר קענט איבערקערן א ווייטערפֿירונג וואס איר האט אט געמאכט בטעות, און איר קענט נישט אריבערשרייבן אן עקסיסטירנדן בלאט.
+דער בלאט וועט '''נישט''' ווערן אריבערגעפֿירט אויב עס איז שוין דא א בלאט אונטער דעם נייעם נאמען, אחוץ ווען ער איז א ווייטערפֿירונג בלאט, און ער האט נישט קיין געשיכטע פון ענדערונגען. 
+פשט דערפֿון, אז איר קענט איבערקערן א ווייטערפֿירונג וואס איר האט אט געמאכט בטעות, און איר קענט נישט אריבערשרייבן אן עקסיסטירנדן בלאט.
 
-'''ווארענונג:''' אזא ענדערונג קען זיין דראסטיש און נישט געווינטשען פאר א פאפולערן בלאט; ביטע פֿארזיכערט אז איר פֿארשטייט די ווייטגרייכנדע קאנסקווענסן צו דער אקציע בעפֿאר איר פֿירט דאס אויס.",
+'''ווארענונג!'''
+ אזא ענדערונג קען זיין דראסטיש און נישט געווינטשען פאר א פאפולערן בלאט; 
+ביטע פֿארזיכערט אז איר פֿארשטייט די ווייטגרייכנדע קאנסקווענסן צו דער אקציע בעפֿאר איר פֿירט דאס אויס.",
 'movepagetext-noredirectfixer' => "זיך באניצן מיט דעם פֿארעם אונטן וועט פֿארענדערן דעם נאמען פֿון דעם בלאט, און וועט אריבערפֿירן זיין געשיכטע צום נייעם נאמען.
 
 דאס אלטע קעפל וועט ווערן א ווייטערפֿירן בלאט צום נײַעם נאמען.
index 3e039d0..7cae5cc 100644 (file)
@@ -115,7 +115,7 @@ $namespaceAliases = array(
 
 $specialPageAliases = array(
        'Activeusers'               => array( '活跃用户' ),
-       'Allmessages'               => array( '所有息' ),
+       'Allmessages'               => array( '所有息' ),
        'Allpages'                  => array( '所有页面' ),
        'Ancientpages'              => array( '最早页面' ),
        'Badtitle'                  => array( '无效标题' ),
@@ -160,6 +160,7 @@ $specialPageAliases = array(
        'MIMEsearch'                => array( 'MIME搜索' ),
        'Mostcategories'            => array( '最多分类页面' ),
        'Mostimages'                => array( '最多链接文件' ),
+       'Mostinterwikis'            => array( '最多跨wiki链接页面' ),
        'Mostlinked'                => array( '最多链接页面' ),
        'Mostlinkedcategories'      => array( '最多链接分类' ),
        'Mostlinkedtemplates'       => array( '最多链接模板' ),
@@ -189,10 +190,10 @@ $specialPageAliases = array(
        'Statistics'                => array( '统计信息' ),
        'Tags'                      => array( '标签' ),
        'Unblock'                   => array( '解除封禁' ),
-       'Uncategorizedcategories'   => array( 'æ\97 分类分类' ),
-       'Uncategorizedimages'       => array( 'æ\97 分类文件' ),
-       'Uncategorizedpages'        => array( 'æ\97 分类页面' ),
-       'Uncategorizedtemplates'    => array( 'æ\97 分类模板' ),
+       'Uncategorizedcategories'   => array( 'æ\9cª分类分类' ),
+       'Uncategorizedimages'       => array( 'æ\9cª分类文件' ),
+       'Uncategorizedpages'        => array( 'æ\9cª分类页面' ),
+       'Uncategorizedtemplates'    => array( 'æ\9cª分类模板' ),
        'Undelete'                  => array( '恢复被删页面' ),
        'Unlockdb'                  => array( '解除数据库锁定' ),
        'Unusedcategories'          => array( '未使用分类' ),
@@ -959,7 +960,7 @@ $2
 您可以联系$1或其他的[[{{MediaWiki:Grouppage-sysop}}|管理员]]以申诉此次封禁。若您已在[[Special:Preferences|个人设置]]中设置了一个有效的电子邮件地址,且未被封禁电子邮件功能,则您可通过“发送邮件”功能来联系相关管理员。您当前的 IP 地址是$3,此次封禁的 ID 为#$5。请在您的查询中注明上述所有信息。",
 'blockednoreason' => '无给出原因',
 'whitelistedittext' => '您必须先$1才可编辑页面。',
-'confirmedittext' => '您必须确认您的电子邮件地址才能编辑本页。请通过[[Special:Preferences|个人设置]]页面设置并确认。',
+'confirmedittext' => '你必须确认你的电子邮件地址才能编辑页面。请通过[[Special:Preferences|系统设置]]设置并确认你的电子邮件地址。',
 'nosuchsectiontitle' => '没有这个段落',
 'nosuchsectiontext' => '您尝试编辑的章节并不存在。
 可能是在您查看页面时已经移动或删除。',
@@ -1062,10 +1063,10 @@ $2
 'sectioneditnotsupported-text' => '本页面不支持段落编辑。',
 'permissionserrors' => '权限错误',
 'permissionserrorstext' => '因为下列{{PLURAL:$1|原因}},您没有权限执行该操作:',
-'permissionserrorstext-withaction' => 'å\9b ä¸ºä¸\8bå\88\97{{PLURAL:$1|å\8e\9få\9b }}ï¼\8cæ\82¨没有权限$2:',
-'recreate-moveddeleted-warn' => "'''警告:正在重新创建曾经被删除的页面。'''
+'permissionserrorstext-withaction' => 'å\9b ä¸ºä»¥ä¸\8b{{PLURAL:$1|å\8e\9få\9b }}ï¼\8cä½ 没有权限$2:',
+'recreate-moveddeleted-warn' => "'''警告:正在重新创建曾经被删除的页面。'''
 
-应该考虑继续编辑本页是否合适。这里提供本页的删除和移动记录以供参考:",
+应该考虑继续编辑本页是否合适。这里提供本页的删除和移动记录以供参考:",
 'moveddeleted-notice' => '本页面已被删除。下面提供本页的删除和移动日志以供参考。',
 'log-fulllog' => '查看完整日志',
 'edit-hook-aborted' => '编辑被hook指令取消。
@@ -1353,8 +1354,8 @@ $1",
 'qbsettings-directionality' => '根据您的语言文本方向固定位置',
 
 # Preferences page
-'preferences' => '个人设置',
-'mypreferences' => '个人设置',
+'preferences' => '系统设置',
+'mypreferences' => '系统设置',
 'prefs-edits' => '编辑数量:',
 'prefsnologin' => '尚未登录',
 'prefsnologintext' => '您必须先<span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} 登录]</span>才能设置个人参数。',
@@ -1396,7 +1397,7 @@ $1",
 'recentchangescount' => '默认显示的编辑数:',
 'prefs-help-recentchangescount' => '该项包含最近更改、页面历史和日志。',
 'prefs-help-watchlist-token' => '此栏填写的密钥可以生成您监视列表的RSS源。任何知晓本栏密钥的人都能阅读您的监视列表,因此请使用安全的数值。这里已提供了一个随机生成的数值供您选择:$1',
-'savedprefs' => '的系统设置已经保存。',
+'savedprefs' => '的系统设置已经保存。',
 'timezonelegend' => '时区:',
 'localtime' => '当地时间:',
 'timezoneuseserverdefault' => '使用wiki默认值($1)',
@@ -1446,8 +1447,8 @@ $1",
 'prefs-help-gender' => '选填项目。使软件使用正确的性别称呼。该信息将会公开。',
 'email' => '电子邮件',
 'prefs-help-realname' => '真实姓名是可选的项目。如果您选择提供它,它将会用于贡献署名。',
-'prefs-help-email' => '电子邮件地址是可选的项目。但是在您忘记密码需要重置密码时需要它。',
-'prefs-help-email-others' => '您也可以选择让其他用户通过您的用户页或讨论页上的链接用电子邮件联系您。其他用户联系您时,您的电子邮件地址将不会被显示。',
+'prefs-help-email' => '电子邮件地址是选填项目。但是在你忘记密码需要重置密码时需要电子邮件地址。',
+'prefs-help-email-others' => '你亦可以选择让其他用户通过你的用户页或讨论页上的链接用电子邮件联系你。其他用户联系你时你的电子邮件地址不会显示。',
 'prefs-help-email-required' => '电子邮件地址是必填项目。',
 'prefs-info' => '基本信息',
 'prefs-i18n' => '界面语言',
@@ -1613,7 +1614,7 @@ $1",
 'action-import' => '从其他wiki导入本页面',
 'action-importupload' => '从文件上传导入本页面',
 'action-patrol' => '标记他人的编辑为已巡查',
-'action-autopatrol' => '将您的编辑标记为已巡查',
+'action-autopatrol' => '使你的编辑标记为已巡查',
 'action-unwatchedpages' => '查看未受监视页面的列表',
 'action-mergehistory' => '合并本页面的历史',
 'action-userrights' => '编辑所有用户的权限',
@@ -2131,7 +2132,7 @@ $1',
 'speciallogtitlelabel' => '目标(标题或用户):',
 'log' => '日志',
 'all-logs-page' => '所有公开日志',
-'alllogstext' => '所有{{SITENAME}}公开日志的联合展示。 您可以通过选择日志类型、输入用户名(区分大小写)或相关页面(区分大小写)筛选日志条目。',
+'alllogstext' => '所有{{SITENAME}}公开日志的联合展示。可以通过选择日志类型、输入用户名(区分大小写)或相关页面(区分大小写)筛选日志条目。',
 'logempty' => '在日志中不存在匹配项。',
 'log-title-wildcard' => '搜索以该文字开头的标题',
 'showhideselectedlogentries' => '显示/隐藏所选日志项',
@@ -2219,11 +2220,11 @@ $1',
 
 # E-mail user
 'mailnologin' => '没有发送地址',
-'mailnologintext' => '您必须[[Special:UserLogin|登录]]并在您的[[Special:Preferences|个人设置]]中设置一个有效的电子邮件地址才能向其他用户发送电子邮件。',
+'mailnologintext' => '你必须[[Special:UserLogin|登录]]并在你的[[Special:Preferences|系统设置]]中拥有有效的电子邮件地址才能向其他用户发送电子邮件。',
 'emailuser' => '电邮联系',
 'emailuser-title-target' => '邮件联系该{{GENDER:$1|用户}}',
 'emailuser-title-notarget' => '邮件联系',
-'emailpage' => '邮件联系',
+'emailpage' => '电邮联系',
 'emailpagetext' => '您可以使用下面的表单向该{{GENDER:$1|用户}}发送电子邮件消息。
 您在[[Special:Preferences|个人设置]]中输入的电子邮件地址将显示为该邮件的“发件人”地址,所以收件人可以直接回复给您。',
 'usermailererror' => 'Mail 对象返回错误:',
@@ -2644,7 +2645,7 @@ $1被封禁的理由是:“$2”',
 'blocklogtext' => '这是用户封禁和解封操作的日志。自动封禁IP地址没有列出。请见[[Special:BlockList|封禁列表]]查看目前正在进行的阻止和封禁的列表。',
 'unblocklogentry' => '解封$1',
 'block-log-flags-anononly' => '仅限匿名用户',
-'block-log-flags-nocreate' => '创建帐户已禁用',
+'block-log-flags-nocreate' => '账户创建停用',
 'block-log-flags-noautoblock' => '自动封禁已禁用',
 'block-log-flags-noemail' => '邮件功能已禁用',
 'block-log-flags-nousertalk' => '不能编辑自己的讨论页面',
@@ -2911,11 +2912,11 @@ $1被封禁的理由是:“$2”',
 'tooltip-pt-preferences' => '您的系统设置',
 'tooltip-pt-watchlist' => '您正在监视的页面的列表',
 'tooltip-pt-mycontris' => '您的贡献列表',
-'tooltip-pt-login' => '我们鼓励您登录,但这不是必须的',
-'tooltip-pt-anonlogin' => '我们鼓励您登录,但这不是必须的',
+'tooltip-pt-login' => '我们鼓励你登录,不过这不是强制的',
+'tooltip-pt-anonlogin' => '我们鼓励你登录,不过这不是强制的',
 'tooltip-pt-logout' => '注销',
 'tooltip-ca-talk' => '有关内容页面的讨论',
-'tooltip-ca-edit' => '您可以编辑本页。请在保存前使用预览按钮查看修改。',
+'tooltip-ca-edit' => '你可以编辑本页面。请在保存前使用预览按钮。',
 'tooltip-ca-addsection' => '开始新段落',
 'tooltip-ca-viewsource' => '本页面受保护。您可以查看它的源代码。',
 'tooltip-ca-history' => '本页面的历史版本',
@@ -2932,7 +2933,7 @@ $1被封禁的理由是:“$2”',
 'tooltip-p-logo' => '访问首页',
 'tooltip-n-mainpage' => '访问首页',
 'tooltip-n-mainpage-description' => '访问首页',
-'tooltip-n-portal' => '关于本项目,您可以做些什么,在哪里可以找到您需要的东西',
+'tooltip-n-portal' => '关于本项目,你可以做什么,在哪里找到你需要的事物',
 'tooltip-n-currentevents' => '查看当前事件的背景信息',
 'tooltip-n-recentchanges' => '本wiki的最近更改列表',
 'tooltip-n-randompage' => '载入一个随机页面',
@@ -2950,7 +2951,7 @@ $1被封禁的理由是:“$2”',
 'tooltip-ca-nstab-main' => '查看内容页面',
 'tooltip-ca-nstab-user' => '查看用户页面',
 'tooltip-ca-nstab-media' => '查看媒体文件页面',
-'tooltip-ca-nstab-special' => '这是一个特殊页面,您不能编辑本页',
+'tooltip-ca-nstab-special' => '本页为特殊页面,你不能编辑本页',
 'tooltip-ca-nstab-project' => '查看项目页面',
 'tooltip-ca-nstab-image' => '查看文件页面',
 'tooltip-ca-nstab-mediawiki' => '查看系统信息',
@@ -2967,7 +2968,7 @@ $1被封禁的理由是:“$2”',
 'tooltip-watchlistedit-raw-submit' => '更新监视列表',
 'tooltip-recreate' => '重建该页面,无论是否被删除。',
 'tooltip-upload' => '开始上传',
-'tooltip-rollback' => '击“回退”恢复上一位贡献者对本页的编辑',
+'tooltip-rollback' => '击“回退”恢复上一位贡献者对本页的编辑',
 'tooltip-undo' => '“撤销”可以恢复该编辑并在预览模式下打开编辑表单。它允许在摘要中加入原因。',
 'tooltip-preferences-save' => '保存设置',
 'tooltip-summary' => '请输入简短的摘要',
@@ -3613,7 +3614,7 @@ Variants for Chinese language
 
 # E-mail address confirmation
 'confirmemail' => '确认邮箱地址',
-'confirmemail_noemail' => '您还没有在您的[[Special:Preferences|个人设置]]中设置有效的电子邮件地址。',
+'confirmemail_noemail' => '你还没有在你的[[Special:Preferences|系统设置]]中设置有效的电子邮件地址。',
 'confirmemail_text' => '{{SITENAME}}要求您在使用邮件功能之前验证您的邮箱地址。
 点击以下按钮可向您的邮箱发送一封确认邮件。该邮件包含有一行代码链接;
 请在您的浏览器中加载此链接以确认您的邮箱地址是有效的。',
index 5171113..481eb1e 100644 (file)
@@ -109,12 +109,14 @@ $specialPageAliases = array(
        'Allmessages'               => array( '所有信息' ),
        'Allpages'                  => array( '所有頁面' ),
        'Ancientpages'              => array( '最早頁面' ),
+       'Badtitle'                  => array( '無效標題' ),
        'Blankpage'                 => array( '空白頁面' ),
        'Block'                     => array( '查封用戶' ),
        'Blockme'                   => array( '封禁我' ),
        'Booksources'               => array( '網絡書源' ),
        'BrokenRedirects'           => array( '損壞的重定向頁' ),
        'Categories'                => array( '頁面分類' ),
+       'ChangeEmail'               => array( '修改郵箱' ),
        'ChangePassword'            => array( '修改密碼' ),
        'ComparePages'              => array( '頁面比較' ),
        'Confirmemail'              => array( '確認電子郵件' ),
@@ -132,6 +134,7 @@ $specialPageAliases = array(
        'Filepath'                  => array( '文件路徑' ),
        'Import'                    => array( '導入頁面' ),
        'Invalidateemail'           => array( '不可識別的電郵地址' ),
+       'JavaScriptTest'            => array( 'JavaScript測試' ),
        'BlockList'                 => array( '封禁列表' ),
        'LinkSearch'                => array( '搜索網頁鏈接' ),
        'Listadmins'                => array( '管理員列表' ),
@@ -148,6 +151,7 @@ $specialPageAliases = array(
        'MIMEsearch'                => array( 'MIME搜索' ),
        'Mostcategories'            => array( '最多分類頁面' ),
        'Mostimages'                => array( '最多鏈接文件' ),
+       'Mostinterwikis'            => array( '最多跨維基連結' ),
        'Mostlinked'                => array( '最多鏈接頁面' ),
        'Mostlinkedcategories'      => array( '最多鏈接分類' ),
        'Mostlinkedtemplates'       => array( '最多鏈接模板' ),
@@ -202,6 +206,44 @@ $specialPageAliases = array(
        'Withoutinterwiki'          => array( '沒有跨語言鏈接的頁面' ),
 );
 
+$magicWords = array(
+       'notoc'                     => array( '0', '__無目錄__', '__无目录__', '__NOTOC__' ),
+       'nogallery'                 => array( '0', '__無圖庫__', '__无图库__', '__NOGALLERY__' ),
+       'forcetoc'                  => array( '0', '__強制目錄__', '__强显目录__', '__FORCETOC__' ),
+       'toc'                       => array( '0', '__目錄__', '__目录__', '__TOC__' ),
+       'noeditsection'             => array( '0', '__無段落編輯__', '__无段落编辑__', '__NOEDITSECTION__' ),
+       'currentmonth'              => array( '1', '本月', 'CURRENTMONTH', 'CURRENTMONTH2' ),
+       'currentmonthabbrev'        => array( '1', '本月簡稱', '本月简称', 'CURRENTMONTHABBREV' ),
+       'currentday'                => array( '1', '今天', 'CURRENTDAY' ),
+       'currenttime'               => array( '1', '當前時間', '此時', '此时', '当前时间', 'CURRENTTIME' ),
+       'img_thumbnail'             => array( '1', '縮圖', '缩略图', 'thumbnail', 'thumb' ),
+       'img_manualthumb'           => array( '1', '縮圖=$1', '缩略图=$1', 'thumbnail=$1', 'thumb=$1' ),
+       'img_right'                 => array( '1', '右', 'right' ),
+       'img_left'                  => array( '1', '左', 'left' ),
+       'img_none'                  => array( '1', '無', '无', 'none' ),
+       'img_width'                 => array( '1', '$1像素', '$1px' ),
+       'img_center'                => array( '1', '置中', '居中', 'center', 'centre' ),
+       'img_framed'                => array( '1', '有框', 'framed', 'enframed', 'frame' ),
+       'img_frameless'             => array( '1', '無框', '无框', 'frameless' ),
+       'img_page'                  => array( '1', '頁=$1', '$1頁', '页数=$1', '$1页', 'page=$1', 'page $1' ),
+       'img_link'                  => array( '1', '連結=$1', '链接=$1', 'link=$1' ),
+       'sitename'                  => array( '1', '網站名稱', '站点名称', 'SITENAME' ),
+       'ns'                        => array( '0', '名字空間', '名字空间:', 'NS:' ),
+       'nse'                       => array( '0', '名字空間E', '名字空间E:', 'NSE:' ),
+       'localurl'                  => array( '0', '本地URL', '本地URL:', 'LOCALURL:' ),
+       'localurle'                 => array( '0', '本地URLE', '本地URLE:', 'LOCALURLE:' ),
+       'pageid'                    => array( '0', '頁面ID', '页面ID', 'PAGEID' ),
+       'server'                    => array( '0', '伺服器', '服务器', 'SERVER' ),
+       'servername'                => array( '0', '伺服器名稱', '服务器名', 'SERVERNAME' ),
+       'gender'                    => array( '0', '性別:', '性别:', 'GENDER:' ),
+       'notitleconvert'            => array( '0', '__不轉換標題__', '__不转换标题__', '__NOTITLECONVERT__', '__NOTC__' ),
+       'nocontentconvert'          => array( '0', '__不轉換內容__', '__不转换内容__', '__NOCONTENTCONVERT__', '__NOCC__' ),
+       'displaytitle'              => array( '1', '顯示標題', '显示标题', 'DISPLAYTITLE' ),
+       'currentversion'            => array( '1', '當前版本', '当前版本', 'CURRENTVERSION' ),
+       'hiddencat'                 => array( '1', '__隱藏分類__', '__隐藏分类__', '__HIDDENCAT__' ),
+       'staticredirect'            => array( '1', '__靜態重定向__', '__静态重定向__', '__STATICREDIRECT__' ),
+);
+
 $bookstoreList = array(
        '博客來書店' => 'http://www.books.com.tw/exep/prod/booksfile.php?item=$1',
        '三民書店' => 'http://www.sanmin.com.tw/page-qsearch.asp?ct=search_isbn&qu=$1',
@@ -3771,7 +3813,7 @@ MediaWiki是基於使用目的而加以發佈,然而不負任何擔保責任
 'specialpages-group-highuse' => '高度使用頁面',
 'specialpages-group-pages' => '頁面清單',
 'specialpages-group-pagetools' => '頁面工具',
-'specialpages-group-wiki' => 'Wiki 資料和工具',
+'specialpages-group-wiki' => '資料和工具',
 'specialpages-group-redirects' => '重新定向特殊頁面',
 'specialpages-group-spam' => '反垃圾工具',
 
@@ -3869,6 +3911,7 @@ MediaWiki是基於使用目的而加以發佈,然而不負任何擔保責任
 'logentry-newusers-newusers' => '已建立用戶「$1」',
 'logentry-newusers-create' => '已建立用戶「$1」',
 'logentry-newusers-create2' => '用戶「$1」建立用戶「$3」',
+'logentry-newusers-byemail' => '$1建立用戶$3並電郵密碼給他',
 'logentry-newusers-autocreate' => '帳戶$1被自動創建',
 'logentry-rights-rights' => '$1將$3的權限從$4改為$5',
 'logentry-rights-rights-legacy' => '$1更改$3的權限',
index 45df0e9..a386bd8 100644 (file)
@@ -1210,7 +1210,7 @@ abstract class Maintenance {
                        $encPrompt = wfEscapeShellArg( $prompt );
                        $command = "read -er -p $encPrompt && echo \"\$REPLY\"";
                        $encCommand = wfEscapeShellArg( $command );
-                       $line = wfShellExec( "$bash -c $encCommand", $retval );
+                       $line = wfShellExec( "$bash -c $encCommand", $retval, array(), array( 'walltime' => 0 ) );
 
                        if ( $retval == 0 ) {
                                return $line;
index 4358989..0ba9bfe 100644 (file)
@@ -79,9 +79,9 @@ class LockServerDaemon {
                foreach ( array( 'address', 'port', 'authKey' ) as $par ) {
                        if ( !isset( $config[$par] ) ) {
                                die( "Usage: php LockServerDaemon.php " .
-                                       "--address <address> --port <port> --authkey <key> " .
+                                       "--address <address> --port <port> --authKey <key> " .
                                        "[--lockTimeout <seconds>] " .
-                                       "[--maxLocks <integer>] [--maxClients <integer>] [--maxBacklog <integer>]"
+                                       "[--maxLocks <integer>] [--maxClients <integer>] [--maxBacklog <integer>]\n"
                                );
                        }
                }
index 17a3f2e..16c6070 100644 (file)
@@ -18,7 +18,6 @@
  * http://www.gnu.org/copyleft/gpl.html
  *
  * @file
- * @todo Make this work on PostgreSQL and maybe other database servers
  * @ingroup Maintenance
  */
 
@@ -33,13 +32,21 @@ class nextJobDB extends Maintenance {
        public function __construct() {
                parent::__construct();
                $this->mDescription = "Pick a database that has pending jobs";
-               $this->addOption( 'type', "The type of job to search for", false, true );
+               $this->addOption( 'type', "Search by job type", false, true );
+               $this->addOption( 'types', "Space separated list of job types to search for", false, true );
        }
 
        public function execute() {
                global $wgMemc;
 
-               $type = $this->getOption( 'type', false );
+               $type = false; // job type required/picked
+               if ( $this->hasOption( 'types' ) ) {
+                       $types = explode( ' ', $this->getOption( 'types' ) );
+               } elseif ( $this->hasOption( 'type' ) ) {
+                       $types = array( $this->getOption( 'type' ) );
+               } else {
+                       $types = false;
+               }
 
                $memcKey = 'jobqueue:dbs:v3';
                $pendingDbInfo = $wgMemc->get( $memcKey );
@@ -75,36 +82,35 @@ class nextJobDB extends Maintenance {
                do {
                        $again = false;
 
-                       if ( $type === false ) {
+                       if ( $types === false ) {
                                $candidates = call_user_func_array( 'array_merge', $pendingDBs );
-                       } elseif ( isset( $pendingDBs[$type] ) ) {
-                               $candidates = $pendingDBs[$type];
                        } else {
                                $candidates = array();
+                               $possTypes = array_intersect( $types, array_keys( $pendingDBs ) );
+                               if ( $possTypes ) {
+                                       $possTypes = array_values( $possTypes );
+                                       $type = $possTypes[ mt_rand( 0, count( $possTypes ) - 1 ) ];
+                                       $candidates = $pendingDBs[$type];
+                               }
                        }
                        if ( !$candidates ) {
-                               return;
+                               return; // no jobs for this type
                        }
 
                        $candidates = array_values( $candidates );
                        $db = $candidates[ mt_rand( 0, count( $candidates ) - 1 ) ];
                        if ( !$this->checkJob( $type, $db ) ) {
-                               if ( $type === false ) {
-                                       // There are no jobs available in the current database
-                                       foreach ( $pendingDBs as $type2 => $dbs ) {
-                                               $pendingDBs[$type2] = array_diff( $pendingDBs[$type2], array( $db ) );
-                                       }
-                               } else {
-                                       // There are no jobs of this type available in the current database
-                                       $pendingDBs[$type] = array_diff( $pendingDBs[$type], array( $db ) );
-                               }
+                               $pendingDBs = $this->delistDB( $pendingDBs, $db, $type );
                                // Update the cache to remove the outdated information.
                                // Make sure that this does not race (especially with full rebuilds).
-                               $pendingDbInfo['pendingDBs'] = $pendingDBs;
                                if ( $wgMemc->add( "$memcKey:lock", 1, 60 ) ) { // lock
                                        $curInfo = $wgMemc->get( $memcKey );
-                                       if ( $curInfo && $curInfo['timestamp'] === $pendingDbInfo['timestamp'] ) {
-                                               $wgMemc->set( $memcKey, $pendingDbInfo );
+                                       if ( is_array( $curInfo ) ) {
+                                               $curInfo['pendingDBs'] =
+                                                       $this->delistDB( $curInfo['pendingDBs'], $db, $type );
+                                               $wgMemc->set( $memcKey, $curInfo );
+                                               // May as well make use of this newer information
+                                               $pendingDBs = $curInfo['pendingDBs'];
                                        }
                                        $wgMemc->delete( "$memcKey:lock" ); // unlock
                                }
@@ -112,7 +118,24 @@ class nextJobDB extends Maintenance {
                        }
                } while ( $again );
 
-               $this->output( $db . "\n" );
+               if ( $this->hasOption( 'types' ) ) {
+                       $this->output( $db . " " . $type . "\n" );
+               } else {
+                       $this->output( $db . "\n" );
+               }
+       }
+
+       private function delistDB( array $pendingDBs, $db, $type ) {
+               if ( $type === false ) {
+                       // There are no jobs available in the current database
+                       foreach ( $pendingDBs as $type2 => $dbs ) {
+                               $pendingDBs[$type2] = array_diff( $pendingDBs[$type2], array( $db ) );
+                       }
+               } else {
+                       // There are no jobs of this type available in the current database
+                       $pendingDBs[$type] = array_diff( $pendingDBs[$type], array( $db ) );
+               }
+               return $pendingDBs;
        }
 
        /**
@@ -122,7 +145,7 @@ class nextJobDB extends Maintenance {
         * @param $dbName string
         * @return bool
         */
-       function checkJob( $type, $dbName ) {
+       private function checkJob( $type, $dbName ) {
                $group = JobQueueGroup::singleton( $dbName );
                if ( $type === false ) {
                        foreach ( $group->getDefaultQueueTypes() as $type ) {
index 8d2819d..85b0993 100644 (file)
@@ -101,7 +101,7 @@ class RunJobs extends Maintenance {
                                        break;
                                }
                                // Don't let any slaves/backups fall behind...
-                               $group->get( $type )->waitForBackups();
+                               $group->get( $job->getType() )->waitForBackups();
                        }
                } while ( $job ); // stop when there are no jobs
        }
index 0e4131b..cbbf2ab 100644 (file)
@@ -349,7 +349,7 @@ function getEscapedProfileUrl( $_filter = false, $_sort = false, $_expand = fals
 
        return htmlspecialchars(
                '?' .
-               wfArrayToCGI( array(
+               wfArrayToCgi( array(
                        'filter' => $_filter ? $_filter : $filter,
                        'sort' => $_sort ? $_sort : $sort,
                        'expand' => implode( ',', array_keys( $_expand ) )
index 950855f..672f457 100644 (file)
@@ -658,6 +658,7 @@ return array(
        ),
        'mediawiki.searchSuggest' => array(
                'scripts' => 'resources/mediawiki/mediawiki.searchSuggest.js',
+               'styles' => 'resources/mediawiki/mediawiki.searchSuggest.css',
                'messages' => array(
                        'searchsuggest-search',
                        'searchsuggest-containing',
index ac579db..303b18f 100644 (file)
@@ -113,7 +113,7 @@ $.suggestions = {
                        setTimeout( function () {
                                // Render special
                                var $special = context.data.$container.find( '.suggestions-special' );
-                               context.config.special.render.call( $special, context.data.$textbox.val() );
+                               context.config.special.render.call( $special, context.data.$textbox.val(), context );
                        }, 1 );
                }
        },
@@ -125,7 +125,7 @@ $.suggestions = {
         */
        configure: function ( context, property, value ) {
                var newCSS,
-                       $autoEllipseMe, $result, $results, $span,
+                       $autoEllipseMe, $result, $results, childrenWidth,
                        i, expWidth, matchedText, maxWidth, text;
 
                // Validate creation using fallback values
@@ -237,33 +237,34 @@ $.suggestions = {
                                                                        context.data.selectedWithMouse = true;
                                                                        $.suggestions.highlight(
                                                                                context,
-                                                                               $(this).closest( '.suggestions-results div' ),
+                                                                               $(this).closest( '.suggestions-results .suggestions-result' ),
                                                                                false
                                                                        );
                                                                } )
                                                                .appendTo( $results );
                                                        // Allow custom rendering
                                                        if ( typeof context.config.result.render === 'function' ) {
-                                                               context.config.result.render.call( $result, context.config.suggestions[i] );
+                                                               context.config.result.render.call( $result, context.config.suggestions[i], context );
                                                        } else {
                                                                // Add <span> with text
-                                                               if( context.config.highlightInput ) {
-                                                                       matchedText = context.data.prevText;
-                                                               }
                                                                $result.append( $( '<span>' )
                                                                                .css( 'whiteSpace', 'nowrap' )
                                                                                .text( text )
                                                                        );
+                                                       }
 
-                                                               // Widen results box if needed
-                                                               // New width is only calculated here, applied later
-                                                               $span = $result.children( 'span' );
-                                                               if ( $span.outerWidth() > $result.width() && $span.outerWidth() > expWidth ) {
-                                                                       // factor in any padding, margin, or border space on the parent
-                                                                       expWidth = $span.outerWidth() + ( context.data.$container.width() - $span.parent().width());
-                                                               }
-                                                               $autoEllipseMe = $autoEllipseMe.add( $result );
+                                                       if ( context.config.highlightInput ) {
+                                                               matchedText = context.data.prevText;
                                                        }
+
+                                                       // Widen results box if needed
+                                                       // New width is only calculated here, applied later
+                                                       childrenWidth = $result.children().outerWidth();
+                                                       if ( childrenWidth > $result.width() && childrenWidth > expWidth ) {
+                                                               // factor in any padding, margin, or border space on the parent
+                                                               expWidth = childrenWidth + ( context.data.$container.width() - $result.width() );
+                                                       }
+                                                       $autoEllipseMe = $autoEllipseMe.add( $result );
                                                }
                                                // Apply new width for results box, if any
                                                if ( expWidth > context.data.$container.width() ) {
@@ -309,25 +310,35 @@ $.suggestions = {
                                        result = context.data.$container.find( '.suggestions-result:last' );
                                } else {
                                        result = selected.prev();
+                                       if ( !( result.length && result.hasClass( '.suggestions-result' ) ) ) {
+                                               // there is something in the DOM between selected element and the wrapper, bypass it
+                                               result = selected.parents( '.suggestions-results > *' ).prev().find( '.suggestions-result' ).eq(0);
+                                       }
+
                                        if ( selected.length === 0 ) {
                                                // we are at the beginning, so lets jump to the last item
                                                if ( context.data.$container.find( '.suggestions-special' ).html() !== '' ) {
                                                        result = context.data.$container.find( '.suggestions-special' );
                                                } else {
-                                                       result = context.data.$container.find( '.suggestions-results div:last' );
+                                                       result = context.data.$container.find( '.suggestions-results .suggestions-result:last' );
                                                }
                                        }
                                }
                        } else if ( result === 'next' ) {
                                if ( selected.length === 0 ) {
                                        // No item selected, go to the first one
-                                       result = context.data.$container.find( '.suggestions-results div:first' );
+                                       result = context.data.$container.find( '.suggestions-results .suggestions-result:first' );
                                        if ( result.length === 0 && context.data.$container.find( '.suggestions-special' ).html() !== '' ) {
                                                // No suggestion exists, go to the special one directly
                                                result = context.data.$container.find( '.suggestions-special' );
                                        }
                                } else {
                                        result = selected.next();
+                                       if ( !( result.length && result.hasClass( '.suggestions-result' ) ) ) {
+                                               // there is something in the DOM between selected element and the wrapper, bypass it
+                                               result = selected.parents( '.suggestions-results > *' ).next().find( '.suggestions-result' ).eq(0);
+                                       }
+
                                        if ( selected.is( '.suggestions-special' ) ) {
                                                result = $( [] );
                                        } else if (
@@ -503,21 +514,25 @@ $.fn.suggestions = function () {
                                                // textbox loses focus. Instead, listen for a mousedown followed
                                                // by a mouseup on the same div.
                                                .mousedown( function ( e ) {
-                                                       context.data.mouseDownOn = $( e.target ).closest( '.suggestions-results div' );
+                                                       context.data.mouseDownOn = $( e.target ).closest( '.suggestions-results .suggestions-result' );
                                                } )
                                                .mouseup( function ( e ) {
-                                                       var $result = $( e.target ).closest( '.suggestions-results div' ),
+                                                       var $result = $( e.target ).closest( '.suggestions-results .suggestions-result' ),
                                                                $other = context.data.mouseDownOn;
 
                                                        context.data.mouseDownOn = $( [] );
                                                        if ( $result.get( 0 ) !== $other.get( 0 ) ) {
                                                                return;
                                                        }
-                                                       $.suggestions.highlight( context, $result, true );
-                                                       context.data.$container.hide();
-                                                       if ( typeof context.config.result.select === 'function' ) {
-                                                               context.config.result.select.call( $result, context.data.$textbox );
+                                                       // do not interfere with non-left clicks or if modifier keys are pressed (e.g. ctrl-click)
+                                                       if ( !( e.which !== 1 || e.altKey || e.ctrlKey || e.shiftKey || e.metaKey ) ) {
+                                                               $.suggestions.highlight( context, $result, true );
+                                                               context.data.$container.hide();
+                                                               if ( typeof context.config.result.select === 'function' ) {
+                                                                       context.config.result.select.call( $result, context.data.$textbox );
+                                                               }
                                                        }
+                                                       // but still restore focus to the textbox, so that the suggestions will be hidden properly
                                                        context.data.$textbox.focus();
                                                } )
                                )
@@ -537,10 +552,14 @@ $.fn.suggestions = function () {
                                                        if ( $special.get( 0 ) !== $other.get( 0 ) ) {
                                                                return;
                                                        }
-                                                       context.data.$container.hide();
-                                                       if ( typeof context.config.special.select === 'function' ) {
-                                                               context.config.special.select.call( $special, context.data.$textbox );
+                                                       // do not interfere with non-left clicks or if modifier keys are pressed (e.g. ctrl-click)
+                                                       if ( !( e.which !== 1 || e.altKey || e.ctrlKey || e.shiftKey || e.metaKey ) ) {
+                                                               context.data.$container.hide();
+                                                               if ( typeof context.config.special.select === 'function' ) {
+                                                                       context.config.special.select.call( $special, context.data.$textbox );
+                                                               }
                                                        }
+                                                       // but still restore focus to the textbox, so that the suggestions will be hidden properly
                                                        context.data.$textbox.focus();
                                                } )
                                                .mousemove( function ( e ) {
diff --git a/resources/mediawiki/mediawiki.searchSuggest.css b/resources/mediawiki/mediawiki.searchSuggest.css
new file mode 100644 (file)
index 0000000..0fb862b
--- /dev/null
@@ -0,0 +1,16 @@
+/* Make sure the links are not underlined or colored, ever. */
+/* There is already a :focus / :hover indication on the <div>. */
+.suggestions a.mw-searchSuggest-link,
+.suggestions a.mw-searchSuggest-link:hover,
+.suggestions a.mw-searchSuggest-link:active,
+.suggestions a.mw-searchSuggest-link:focus {
+       text-decoration: none;
+       color: black;
+}
+
+.suggestions-result-current a.mw-searchSuggest-link,
+.suggestions-result-current a.mw-searchSuggest-link:hover,
+.suggestions-result-current a.mw-searchSuggest-link:active,
+.suggestions-result-current a.mw-searchSuggest-link:focus {
+       color: white;
+}
index 99a5557..2bc7cea 100644 (file)
@@ -3,7 +3,7 @@
  */
 ( function ( mw, $ ) {
        $( document ).ready( function ( $ ) {
-               var map, searchboxesSelectors,
+               var map, resultRenderCache, searchboxesSelectors,
                        // Region where the suggestions box will appear directly below
                        // (using the same width). Can be a container element or the input
                        // itself, depending on what suits best in the environment.
                        return;
                }
 
+               // Compute form data for search suggestions functionality.
+               function computeResultRenderCache( context ) {
+                       var $form, formAction, baseHref, linkParams;
+
+                       // Compute common parameters for links' hrefs
+                       $form = context.config.$region.closest( 'form' );
+
+                       formAction = $form.attr( 'action' );
+                       baseHref = formAction + ( formAction.match(/\?/) ? '&' : '?' );
+
+                       linkParams = {};
+                       $.each( $form.serializeArray(), function ( idx, obj ) {
+                               linkParams[ obj.name ] = obj.value;
+                       } );
+
+                       return {
+                               textParam: context.data.$textbox.attr( 'name' ),
+                               linkParams: linkParams,
+                               baseHref: baseHref
+                       };
+               }
+
+               // The function used to render the suggestions.
+               function renderFunction( text, context ) {
+                       if ( !resultRenderCache ) {
+                               resultRenderCache = computeResultRenderCache( context );
+                       }
+
+                       // linkParams object is modified and reused
+                       resultRenderCache.linkParams[ resultRenderCache.textParam ] = text;
+
+                       // this is the container <div>, jQueryfied
+                       this
+                               .append(
+                                       // the <span> is needed for $.autoEllipsis to work
+                                       $( '<span>' )
+                                               .css( 'whiteSpace', 'nowrap' )
+                                               .text( text )
+                               )
+                               .wrap(
+                                       $( '<a>' )
+                                               .attr( 'href', resultRenderCache.baseHref + $.param( resultRenderCache.linkParams ) )
+                                               .addClass( 'mw-searchSuggest-link' )
+                               );
+               }
+
+               function specialRenderFunction( query, context ) {
+                       var $el = this;
+
+                       if ( !resultRenderCache ) {
+                               resultRenderCache = computeResultRenderCache( context );
+                       }
+
+                       // linkParams object is modified and reused
+                       resultRenderCache.linkParams[ resultRenderCache.textParam ] = query;
+
+                       if ( $el.children().length === 0 ) {
+                               $el
+                                       .append(
+                                               $( '<div>' )
+                                                       .addClass( 'special-label' )
+                                                       .text( mw.msg( 'searchsuggest-containing' ) ),
+                                               $( '<div>' )
+                                                       .addClass( 'special-query' )
+                                                       .text( query )
+                                                       .autoEllipsis()
+                                       )
+                                       .show();
+                       } else {
+                               $el.find( '.special-query' )
+                                       .text( query )
+                                       .autoEllipsis();
+                       }
+
+                       if ( $el.parent().hasClass( 'mw-searchSuggest-link' ) ) {
+                               $el.parent().attr( 'href', resultRenderCache.baseHref + $.param( resultRenderCache.linkParams ) + '&fulltext=1' );
+                       } else {
+                               $el.wrap(
+                                       $( '<a>' )
+                                               .attr( 'href', resultRenderCache.baseHref + $.param( resultRenderCache.linkParams ) + '&fulltext=1' )
+                                               .addClass( 'mw-searchSuggest-link' )
+                               );
+                       }
+               }
+
                // General suggestions functionality for all search boxes
                searchboxesSelectors = [
                        // Primary searchbox on every page in standard skins
                                        }
                                },
                                result: {
+                                       render: renderFunction,
                                        select: function ( $input ) {
                                                $input.closest( 'form' ).submit();
                                        }
                // Special suggestions functionality for skin-provided search box
                $searchInput.suggestions( {
                        result: {
+                               render: renderFunction,
                                select: function ( $input ) {
                                        $input.closest( 'form' ).submit();
                                }
                        },
                        special: {
-                               render: function ( query ) {
-                                       var $el = this;
-                                       if ( $el.children().length === 0 ) {
-                                               $el
-                                                       .append(
-                                                               $( '<div>' )
-                                                                       .addClass( 'special-label' )
-                                                                       .text( mw.msg( 'searchsuggest-containing' ) ),
-                                                               $( '<div>' )
-                                                                       .addClass( 'special-query' )
-                                                                       .text( query )
-                                                                       .autoEllipsis()
-                                                       )
-                                                       .show();
-                                       } else {
-                                               $el.find( '.special-query' )
-                                                       .text( query )
-                                                       .autoEllipsis();
-                                       }
-                               },
+                               render: specialRenderFunction,
                                select: function ( $input ) {
                                        $input.closest( 'form' ).append(
                                                $( '<input type="hidden" name="fulltext" value="1"/>' )
index 3894435..0434bb3 100644 (file)
@@ -2,7 +2,7 @@
 
 class MediaWikiPHPUnitCommand extends PHPUnit_TextUI_Command {
 
-       static $additionalOptions = array(
+       public static $additionalOptions = array(
                'regex=' => false,
                'file=' => false,
                'use-filebackend=' => false,
index cbf9a8e..dfc5881 100644 (file)
@@ -71,7 +71,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase {
                $this->backupStaticAttributes = false;
        }
 
-       function run( PHPUnit_Framework_TestResult $result = NULL ) {
+       function run( PHPUnit_Framework_TestResult $result = null ) {
                /* Some functions require some kind of caching, and will end up using the db,
                 * which we can't allow, as that would open a new connection for mysql.
                 * Replace with a HashBag. They would not be going to persist anyway.
@@ -365,7 +365,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase {
                                'page_id' => 0,
                                'page_namespace' => 0,
                                'page_title' => ' ',
-                               'page_restrictions' => NULL,
+                               'page_restrictions' => null,
                                'page_counter' => 0,
                                'page_is_redirect' => 0,
                                'page_is_new' => 0,
@@ -513,12 +513,12 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase {
                return $this->assertTrue( $value == '', $msg );
        }
 
-       static private function unprefixTable( $tableName ) {
+       private static function unprefixTable( $tableName ) {
                global $wgDBprefix;
                return substr( $tableName, strlen( $wgDBprefix ) );
        }
 
-       static private function isNotUnittest( $table ) {
+       private static function isNotUnittest( $table ) {
                return strpos( $table, 'unittest_' ) !== 0;
        }
 
@@ -862,6 +862,46 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase {
                }
        }
 
+       /**
+        * Check whether we have the 'gzip' commandline utility, will skip
+        * the test whenever "gzip -V" fails.
+        *
+        * Result is cached at the process level.
+        *
+        * @return bool
+        *
+        * @since 1.21
+        */
+       protected function checkHasGzip() {
+               static $haveGzip;
+
+               if( $haveGzip === null ) {
+                       $retval = null;
+                       wfShellExec( 'gzip -V', $retval );
+                       $haveGzip = ($retval === 0);
+               }
+
+               if( !$haveGzip ) {
+                       $this->markTestSkipped( "Skip test, requires the gzip utility in PATH" );
+               }
+
+               return $haveGzip;
+       }
+
+       /**
+        * Check if $extName is a loaded PHP extension, will skip the
+        * test whenever it is not loaded.
+        *
+        * @since 1.21
+        */
+       protected function checkPHPExtension( $extName ) {
+               $loaded = extension_loaded( $extName );
+               if( ! $loaded ) {
+                       $this->markTestSkipped( "PHP extension '$extName' is not loaded, skipping." );
+               }
+               return $loaded;
+       }
+
        /**
         * Asserts that an exception of the specified type occurs when running
         * the provided code.
index 2d1243d..8ea9c68 100644 (file)
@@ -9,4 +9,3 @@ $result = array( 'xmp-exif' =>
                'GPSVersionID' => '2.2.0.0'
         )
 );
-
index 29931c8..bdd4853 100644 (file)
@@ -167,7 +167,7 @@ class BlockTest extends MediaWikiLangTestCase {
                // Reload block from DB
                $userBlock = Block::newFromTarget( $username );
                $this->assertTrue(
-                       (bool) $block->prevents( 'createaccount' ),
+                       (bool)$block->prevents( 'createaccount' ),
                        "Block object in DB should prevents 'createaccount'"
                );
 
@@ -180,7 +180,7 @@ class BlockTest extends MediaWikiLangTestCase {
                // Reload user
                $u = User::newFromName( $username );
                $this->assertTrue(
-                       (bool) $u->isBlockedFromCreateAccount(),
+                       (bool)$u->isBlockedFromCreateAccount(),
                        "Our sandbox user '$username' should NOT be able to create account"
                );
        }
@@ -223,7 +223,7 @@ class BlockTest extends MediaWikiLangTestCase {
 
                $block = Block::newFromID( $res['id'] );
                $this->assertEquals( 'UserOnForeignWiki', $block->getTarget()->getName(), 'Correct blockee name' );
-               $this->assertEquals( '14146',  $block->getTarget()->getId(), 'Correct blockee id' );
+               $this->assertEquals( '14146', $block->getTarget()->getId(), 'Correct blockee id' );
                $this->assertEquals( 'MetaWikiUser', $block->getBlocker(), 'Correct blocker name' );
                $this->assertEquals( 'MetaWikiUser', $block->getByName(), 'Correct blocker name' );
                $this->assertEquals( 0, $block->getBy(), 'Correct blocker id' );
index 32c84ef..add585d 100644 (file)
@@ -3,7 +3,6 @@
 /**
  * Test the CDB reader/writer
  */
-
 class CdbTest extends MediaWikiTestCase {
 
        protected function setUp() {
@@ -13,6 +12,9 @@ class CdbTest extends MediaWikiTestCase {
                }
        }
 
+       /**
+        * @group medium
+        */
        public function testCdb() {
                $dir = wfTempDir();
                if ( !is_writable( $dir ) ) {
index 361b412..dcd9ddd 100644 (file)
@@ -22,7 +22,7 @@ class DiffHistoryBlobTest extends MediaWikiTestCase {
         * @dataProvider provideXdiffAdler32
         */
        function testXdiffAdler32( $input ) {
-               $xdiffHash = substr( xdiff_string_rabdiff( $input, '' ),  0, 4 );
+               $xdiffHash = substr( xdiff_string_rabdiff( $input, '' ), 0, 4 );
                $dhb = new DiffHistoryBlob;
                $myHash = $dhb->xdiffAdler32( $input );
                $this->assertSame( bin2hex( $xdiffHash ), bin2hex( $myHash ),
index fe6c60d..99544e7 100644 (file)
@@ -78,4 +78,4 @@ class ExternalStoreFOO {
 
                return $this->data[$cluster][$id];
        }
-}
\ No newline at end of file
+}
index ca1615e..46aa6fc 100644 (file)
@@ -40,7 +40,7 @@ class ExtraParserTest extends MediaWikiTestCase {
        /* Test the parser entry points */
        function testParse() {
                $title = Title::newFromText( __FUNCTION__ );
-               $parserOutput = $this->parser->parse( "Test\n{{Foo}}\n{{Bar}}" , $title, $this->options );
+               $parserOutput = $this->parser->parse( "Test\n{{Foo}}\n{{Bar}}", $title, $this->options );
                $this->assertEquals( "<p>Test\nContent of <i>Template:Foo</i>\nContent of <i>Template:Bar</i>\n</p>", $parserOutput->getText() );
        }
        
@@ -54,7 +54,7 @@ class ExtraParserTest extends MediaWikiTestCase {
        
        function testPreprocess() {
                $title = Title::newFromText( __FUNCTION__ );
-               $outputText = $this->parser->preprocess( "Test\n{{Foo}}\n{{Bar}}" , $title, $this->options );
+               $outputText = $this->parser->preprocess( "Test\n{{Foo}}\n{{Bar}}", $title, $this->options );
                
                $this->assertEquals( "Test\nContent of ''Template:Foo''\nContent of ''Template:Bar''", $outputText );
        }
@@ -140,7 +140,7 @@ class ExtraParserTest extends MediaWikiTestCase {
                $catName =  wfMessage( 'broken-file-category' )->inContentLanguage()->text();
                $cat = Title::makeTitleSafe( NS_CATEGORY, $catName );
                $expected = array( $cat->getDBkey() );
-               $parserOutput = $this->parser->parse( "[[file:nonexistent]]" , $title, $this->options );
+               $parserOutput = $this->parser->parse( "[[file:nonexistent]]", $title, $this->options );
                $result = $parserOutput->getCategoryLinks();
                $this->assertEquals( $expected, $result );
        }
@@ -151,7 +151,7 @@ class ExtraParserTest extends MediaWikiTestCase {
        function testTrackingCategorySpecial() {
                // Special pages shouldn't have tracking cats.
                $title = SpecialPage::getTitleFor( 'Contributions' );
-               $parserOutput = $this->parser->parse( "[[file:nonexistent]]" , $title, $this->options );
+               $parserOutput = $this->parser->parse( "[[file:nonexistent]]", $title, $this->options );
                $result = $parserOutput->getCategoryLinks();
                $this->assertEmpty( $result );
        }
index af28f79..99f8fb7 100644 (file)
@@ -61,12 +61,12 @@ class FormOptionsInitializationTest extends MediaWikiTestCase {
        }
 
        public function testAddIntegers() {
-               $this->object->add( 'one',     1 ); 
-               $this->object->add( 'negone', -1 ); 
+               $this->object->add( 'one', 1 );
+               $this->object->add( 'negone', -1 );
                $this->assertEquals(
                        array(
                                'negone' => array(
-                                       'default'  => -1, 
+                                       'default'  => -1,
                                        'value' => null,
                                        'consumed' => false,
                                        'type'   => FormOptions::INT,
index d4e3c5e..bdc5f12 100644 (file)
@@ -33,8 +33,8 @@ class FormOptionsTest extends MediaWikiTestCase {
                $this->object = new FormOptions;
                $this->object->add( 'string1', 'string one' );
                $this->object->add( 'string2', 'string two' );
-               $this->object->add( 'integer',  0 );
-               $this->object->add( 'intnull',  0, FormOptions::INTNULL );
+               $this->object->add( 'integer', 0 );
+               $this->object->add( 'intnull', 0, FormOptions::INTNULL );
        }
 
        /** Helpers for testGuessType() */
index 1a02cb8..105ce6d 100644 (file)
@@ -132,14 +132,14 @@ class GlobalTest extends MediaWikiTestCase {
         * @dataProvider provideArrayToCGI
         */
        function testArrayToCGI( $array, $result ) {
-               $this->assertEquals( $result, wfArrayToCGI( $array ) );
+               $this->assertEquals( $result, wfArrayToCgi( $array ) );
        }
 
 
        function testArrayToCGI2() {
                $this->assertEquals(
                        "baz=bar&foo=bar",
-                       wfArrayToCGI(
+                       wfArrayToCgi(
                                array( 'baz' => 'bar' ),
                                array( 'foo' => 'bar', 'baz' => 'overridden value' ) ) );
        }
@@ -183,7 +183,7 @@ class GlobalTest extends MediaWikiTestCase {
         * @dataProvider provideCgiRoundTrip
         */
        function testCgiRoundTrip( $cgi ) {
-               $this->assertEquals( $cgi, wfArrayToCGI( wfCgiToArray( $cgi ) ) );
+               $this->assertEquals( $cgi, wfArrayToCgi( wfCgiToArray( $cgi ) ) );
        }
 
        function testMimeTypeMatch() {
@@ -686,4 +686,3 @@ class GlobalTest extends MediaWikiTestCase {
        }
        /* TODO: many more! */
 }
-
index 4c4c4c0..15f3507 100644 (file)
@@ -32,4 +32,3 @@ class wfGetCaller extends MediaWikiTestCase {
                        $this->assertEquals( "wfGetCaller::intermediateFunction", self::intermediateFunction( $i + 1, $i ) );
        }
 }
-
index e455f0f..89e789b 100644 (file)
@@ -111,7 +111,7 @@ class HooksTest extends MediaWikiTestCase {
 class NothingClass {
        public $calls = 0;
 
-       static public function someStatic( &$foo, &$bar ) {
+       public static function someStatic( &$foo, &$bar ) {
                $foo = 'bah';
                return true;
        }
index b49de65..92a1c9c 100644 (file)
@@ -54,7 +54,7 @@ class HttpTest extends MediaWikiTestCase {
        function testIsValidUri( $expect, $URI, $message = '' ) {
                $this->assertEquals(
                        $expect,
-                       (bool) Http::isValidURI( $URI ),
+                       (bool)Http::isValidURI( $URI ),
                        $message
                );
        }
index c4a6c55..5284812 100644 (file)
@@ -119,7 +119,7 @@ class IPTest extends MediaWikiTestCase {
                        $c = sprintf( "%01d", $i );
                        foreach ( array_unique( array( $a, $b, $c ) ) as $f ) {
                                $ip = "$f.$f.$f.$f";
-                               $this->assertTrue( IP::isValid( $ip ) , "$ip is a valid IPv4 address" );
+                               $this->assertTrue( IP::isValid( $ip ), "$ip is a valid IPv4 address" );
                        }
                }
                foreach ( range( 0x0, 0xFFFF, 0xF ) as $i ) {
@@ -128,7 +128,7 @@ class IPTest extends MediaWikiTestCase {
                        $c = sprintf( "%02x", $i );
                        foreach ( array_unique( array( $a, $b, $c ) ) as $f ) {
                                $ip = "$f:$f:$f:$f:$f:$f:$f:$f";
-                               $this->assertTrue( IP::isValid( $ip ) , "$ip is a valid IPv6 address" );
+                               $this->assertTrue( IP::isValid( $ip ), "$ip is a valid IPv6 address" );
                        }
                }
                // test with some abbreviations
@@ -173,7 +173,7 @@ class IPTest extends MediaWikiTestCase {
                        $c = sprintf( "%02s", $i );
                        foreach ( array_unique( array( $a, $b, $c ) ) as $f ) {
                                $ip = "$f:$f:$f:$f:$f:$f:$f:$f";
-                               $this->assertFalse( IP::isValid( $ip ) , "$ip is not a valid IPv6 address" );
+                               $this->assertFalse( IP::isValid( $ip ), "$ip is not a valid IPv6 address" );
                        }
                }
                // Have CIDR
@@ -264,7 +264,7 @@ class IPTest extends MediaWikiTestCase {
         */
        public function testip2longWrapper() {
                // @todo FIXME: Add more tests ?
-               $this->assertEquals( pow(2,32) - 1, IP::toUnsigned( '255.255.255.255' ));
+               $this->assertEquals( pow(2,32) - 1, IP::toUnsigned( '255.255.255.255' ) );
                $i = 'IN.VA.LI.D';
                $this->assertFalse( IP::toUnSigned( $i ) );
        }
index 3325885..244e4a8 100644 (file)
@@ -160,4 +160,3 @@ class LinksUpdateTest extends MediaWikiTestCase {
                $this->assertSelect( $table, $fields, $condition, $expectedRows );
        }
 }
-
index c5a9dc1..7b64a33 100644 (file)
@@ -105,5 +105,3 @@ class LocalFileTest extends MediaWikiTestCase {
                $this->assertThat( $file, $this->isInstanceOf( 'LocalFile' ), 'wfLocalFile() returns LocalFile for valid Titles' );
        }
 }
-
-
index 01d406a..d0b3814 100644 (file)
@@ -570,4 +570,3 @@ class MWNamespaceTest extends MediaWikiTestCase {
                $this->assertFalse( MWNamespace::subjectEquals( $ns1, $ns2, $msg ) );
        }
 }
-
index 4fa42f3..1301bf3 100644 (file)
@@ -127,8 +127,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::__construct
         */
-       public function testConstructFromRow()
-       {
+       public function testConstructFromRow() {
                $orig = $this->makeRevision();
 
                $dbr = wfgetDB( DB_SLAVE );
@@ -146,8 +145,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::newFromRow
         */
-       public function testNewFromRow()
-       {
+       public function testNewFromRow() {
                $orig = $this->makeRevision();
 
                $dbr = wfgetDB( DB_SLAVE );
@@ -166,8 +164,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::newFromArchiveRow
         */
-       public function testNewFromArchiveRow()
-       {
+       public function testNewFromArchiveRow() {
                $page = $this->createPage( 'RevisionStorageTest_testNewFromArchiveRow', 'Lorem Ipsum', CONTENT_MODEL_WIKITEXT );
                $orig = $page->getRevision();
                $page->doDeleteArticle( 'test Revision::newFromArchiveRow' );
@@ -187,8 +184,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::newFromId
         */
-       public function testNewFromId()
-       {
+       public function testNewFromId() {
                $orig = $this->makeRevision();
 
                $rev = Revision::newFromId( $orig->getId() );
@@ -199,8 +195,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::fetchRevision
         */
-       public function testFetchRevision()
-       {
+       public function testFetchRevision() {
                $page = $this->createPage( 'RevisionStorageTest_testFetchRevision', 'one', CONTENT_MODEL_WIKITEXT );
                $id1 = $page->getRevision()->getId();
 
@@ -223,8 +218,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::selectFields
         */
-       public function testSelectFields()
-       {
+       public function testSelectFields() {
                global $wgContentHandlerUseDB;
 
                $fields = Revision::selectFields();
@@ -245,8 +239,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::getPage
         */
-       public function testGetPage()
-       {
+       public function testGetPage() {
                $page = $this->the_page;
 
                $orig = $this->makeRevision( array( 'page' => $page->getId() ) );
@@ -258,8 +251,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::getText
         */
-       public function testGetText()
-       {
+       public function testGetText() {
                $this->hideDeprecated( 'Revision::getText' );
 
                $orig = $this->makeRevision( array( 'text' => 'hello hello.' ) );
@@ -271,8 +263,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::getContent
         */
-       public function testGetContent_failure()
-       {
+       public function testGetContent_failure() {
                $rev = new Revision( array(
                        'page'       =>  $this->the_page->getId(),
                        'content_model' => $this->the_page->getContentModel(),
@@ -290,8 +281,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::getContent
         */
-       public function testGetContent()
-       {
+       public function testGetContent() {
                $orig = $this->makeRevision( array( 'text' => 'hello hello.' ) );
                $rev = Revision::newFromId( $orig->getId() );
 
@@ -301,8 +291,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::revText
         */
-       public function testRevText()
-       {
+       public function testRevText() {
                $this->hideDeprecated( 'Revision::revText' );
                $orig = $this->makeRevision( array( 'text' => 'hello hello rev.' ) );
                $rev = Revision::newFromId( $orig->getId() );
@@ -313,8 +302,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::getRawText
         */
-       public function testGetRawText()
-       {
+       public function testGetRawText() {
                $this->hideDeprecated( 'Revision::getRawText' );
 
                $orig = $this->makeRevision( array( 'text' => 'hello hello raw.' ) );
@@ -326,8 +314,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::getContentModel
         */
-       public function testGetContentModel()
-       {
+       public function testGetContentModel() {
                global $wgContentHandlerUseDB;
 
                if ( !$wgContentHandlerUseDB ) {
@@ -344,8 +331,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::getContentFormat
         */
-       public function testGetContentFormat()
-       {
+       public function testGetContentFormat() {
                global $wgContentHandlerUseDB;
 
                if ( !$wgContentHandlerUseDB ) {
@@ -363,8 +349,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::isCurrent
         */
-       public function testIsCurrent()
-       {
+       public function testIsCurrent() {
                $page = $this->createPage( 'RevisionStorageTest_testIsCurrent', 'Lorem Ipsum', CONTENT_MODEL_WIKITEXT );
                $rev1 = $page->getRevision();
 
@@ -390,8 +375,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::getPrevious
         */
-       public function testGetPrevious()
-       {
+       public function testGetPrevious() {
                $page = $this->createPage( 'RevisionStorageTest_testGetPrevious', 'Lorem Ipsum testGetPrevious', CONTENT_MODEL_WIKITEXT );
                $rev1 = $page->getRevision();
 
@@ -408,8 +392,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::getNext
         */
-       public function testGetNext()
-       {
+       public function testGetNext() {
                $page = $this->createPage( 'RevisionStorageTest_testGetNext', 'Lorem Ipsum testGetNext', CONTENT_MODEL_WIKITEXT );
                $rev1 = $page->getRevision();
 
@@ -426,8 +409,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::newNullRevision
         */
-       public function testNewNullRevision()
-       {
+       public function testNewNullRevision() {
                $page = $this->createPage( 'RevisionStorageTest_testNewNullRevision', 'some testing text', CONTENT_MODEL_WIKITEXT );
                $orig = $page->getRevision();
 
index 9cddbe8..197bb06 100644 (file)
@@ -64,16 +64,14 @@ class RevisionTest extends MediaWikiTestCase {
        }
 
        function testGetRevisionTextGzip() {
-               if ( !function_exists( 'gzdeflate' ) ) {
-                       $this->markTestSkipped( 'Gzip compression is not enabled (requires zlib).' );
-               } else {
-                       $row = new stdClass;
-                       $row->old_flags = 'gzip';
-                       $row->old_text = gzdeflate( 'This is a bunch of revision text.' );
-                       $this->assertEquals(
-                               'This is a bunch of revision text.',
-                               Revision::getRevisionText( $row ) );
-               }
+               $this->checkPHPExtension( 'zlib' );
+
+               $row = new stdClass;
+               $row->old_flags = 'gzip';
+               $row->old_text = gzdeflate( 'This is a bunch of revision text.' );
+               $this->assertEquals(
+                       'This is a bunch of revision text.',
+                       Revision::getRevisionText( $row ) );
        }
 
        function testGetRevisionTextUtf8Native() {
@@ -97,31 +95,27 @@ class RevisionTest extends MediaWikiTestCase {
        }
 
        function testGetRevisionTextUtf8NativeGzip() {
-               if ( !function_exists( 'gzdeflate' ) ) {
-                       $this->markTestSkipped( 'Gzip compression is not enabled (requires zlib).' );
-               } else {
-                       $row = new stdClass;
-                       $row->old_flags = 'gzip,utf-8';
-                       $row->old_text = gzdeflate( "Wiki est l'\xc3\xa9cole superieur !" );
-                       $GLOBALS['wgLegacyEncoding'] = 'iso-8859-1';
-                       $this->assertEquals(
-                               "Wiki est l'\xc3\xa9cole superieur !",
-                               Revision::getRevisionText( $row ) );
-               }
+               $this->checkPHPExtension( 'zlib' );
+
+               $row = new stdClass;
+               $row->old_flags = 'gzip,utf-8';
+               $row->old_text = gzdeflate( "Wiki est l'\xc3\xa9cole superieur !" );
+               $GLOBALS['wgLegacyEncoding'] = 'iso-8859-1';
+               $this->assertEquals(
+                       "Wiki est l'\xc3\xa9cole superieur !",
+                       Revision::getRevisionText( $row ) );
        }
 
        function testGetRevisionTextUtf8LegacyGzip() {
-               if ( !function_exists( 'gzdeflate' ) ) {
-                       $this->markTestSkipped( 'Gzip compression is not enabled (requires zlib).' );
-               } else {
-                       $row = new stdClass;
-                       $row->old_flags = 'gzip';
-                       $row->old_text = gzdeflate( "Wiki est l'\xe9cole superieur !" );
-                       $GLOBALS['wgLegacyEncoding'] = 'iso-8859-1';
-                       $this->assertEquals(
-                               "Wiki est l'\xc3\xa9cole superieur !",
-                               Revision::getRevisionText( $row ) );
-               }
+               $this->checkPHPExtension( 'zlib' );
+
+               $row = new stdClass;
+               $row->old_flags = 'gzip';
+               $row->old_text = gzdeflate( "Wiki est l'\xe9cole superieur !" );
+               $GLOBALS['wgLegacyEncoding'] = 'iso-8859-1';
+               $this->assertEquals(
+                       "Wiki est l'\xc3\xa9cole superieur !",
+                       Revision::getRevisionText( $row ) );
        }
 
        function testCompressRevisionTextUtf8() {
@@ -139,8 +133,9 @@ class RevisionTest extends MediaWikiTestCase {
        }
 
        function testCompressRevisionTextUtf8Gzip() {
-               global $wgCompressRevisions;
+               $this->checkPHPExtension( 'zlib' );
 
+               global $wgCompressRevisions;
                $wgCompressRevisions = true;
 
                $row = new stdClass;
@@ -313,8 +308,7 @@ class RevisionTest extends MediaWikiTestCase {
         * @group Database
         * @dataProvider dataGetSize
         */
-       public function testGetSize( $text, $model, $expected_size )
-       {
+       public function testGetSize( $text, $model, $expected_size ) {
                $rev = $this->newTestRevision( $text, 'RevisionTest_testGetSize', $model );
                $this->assertEquals( $expected_size, $rev->getSize() );
        }
@@ -331,8 +325,7 @@ class RevisionTest extends MediaWikiTestCase {
         * @group Database
         * @dataProvider dataGetSha1
         */
-       public function testGetSha1( $text, $model, $expected_hash )
-       {
+       public function testGetSha1( $text, $model, $expected_hash ) {
                $rev = $this->newTestRevision( $text, 'RevisionTest_testGetSha1', $model );
                $this->assertEquals( $expected_hash, $rev->getSha1() );
        }
index 88bbc07..1439e44 100644 (file)
@@ -103,4 +103,3 @@ class TestSample extends MediaWikiLangTestCase {
                $this->assertEquals( "Test", $title->isLocal() );
        }
 }
-
index 28e2e30..2d039d9 100644 (file)
@@ -226,4 +226,3 @@ class SanitizerTest extends MediaWikiTestCase {
                );
        }
 }
-
index 8f6aafa..3989fad 100644 (file)
@@ -161,7 +161,7 @@ testBrowser                 = "firefox"
                SeleniumConfig::getSeleniumSettings($seleniumSettings,
                        $seleniumBrowsers,
                        $seleniumTestSuites);
-               $this->assertEquals($seleniumSettings, $this->testSettings0 ,
+               $this->assertEquals($seleniumSettings, $this->testSettings0,
                'The selenium settings should have been read from the file defined in $wgSeleniumConfigFile'
                );
                $this->assertEquals($seleniumBrowsers, $this->testBrowsers0,
@@ -207,7 +207,7 @@ testBrowser                 = "firefox"
        private function writeToTempFile($textToWrite) {
                $this->tempFileName = tempnam(sys_get_temp_dir(), 'test_settings.');
                $tempFile =      fopen( $this->tempFileName, "w" );
-               fwrite($tempFile , $textToWrite);
+               fwrite($tempFile, $textToWrite);
                fclose($tempFile);
        }
 
index 27c0bb5..fc7d8d0 100644 (file)
@@ -306,7 +306,7 @@ class SiteConfigurationTest extends MediaWikiTestCase {
                $this->assertEquals( $getall['simple'], $GLOBALS['simple'], 'extractAllGlobals(): simple setting' );
                $this->assertEquals( $getall['fallback'], $GLOBALS['fallback'], 'extractAllGlobals(): fallback setting' );
                $this->assertEquals( $getall['params'], $GLOBALS['params'], 'extractAllGlobals(): parameter replacement' );
-               $this->assertEquals( $getall['global'], $GLOBALS['global'],  'extractAllGlobals(): merging with global' );
-               $this->assertEquals( $getall['merge'], $GLOBALS['merge'],  'extractAllGlobals(): merging setting' );
+               $this->assertEquals( $getall['global'], $GLOBALS['global'], 'extractAllGlobals(): merging with global' );
+               $this->assertEquals( $getall['merge'], $GLOBALS['merge'], 'extractAllGlobals(): merging setting' );
        }
 }
index d7da0db..de2f855 100644 (file)
@@ -29,7 +29,7 @@ class TimestampTest extends MediaWikiTestCase {
         */
        function testValidOutput( $format, $expected, $original ) {
                $timestamp = new MWTimestamp( $original );
-               $this->assertEquals( $expected, (string) $timestamp->getTimestamp( $format ) );
+               $this->assertEquals( $expected, (string)$timestamp->getTimestamp( $format ) );
        }
 
        /**
index 8647954..6399d48 100644 (file)
@@ -79,6 +79,122 @@ class TitleTest extends MediaWikiTestCase {
                }
        }
        
+       /**
+        * Provides test parameter values for testIsValidMoveOperation()
+        */
+       function dataTestIsValidMoveOperation() {
+               return array(
+                       array( 'Test', 'Test', 'selfmove' ),
+                       array( 'File:Test.jpg', 'Page', 'imagenocrossnamespace' )
+               );
+       }
+
+       /**
+        * Auth-less test of Title::userCan
+        *
+        * @param array $whitelistRegexp
+        * @param string $source
+        * @param string $action
+        * @param array|string|true $expected Required error
+        *
+        * @covers Title::checkReadPermission
+        * @dataProvider dataWgWhitelistReadRegexp
+        */
+       function testWgWhitelistReadRegexp($whitelistRegexp, $source, $action, $expected) {
+
+               // $wgWhitelistReadRegexp must be an array. Since the provided test cases
+               // usually have only one regex, it is more concise to write the lonely regex
+               // as a string. Thus we cast to an array() to honor $wgWhitelistReadRegexp
+               // type requisite.
+               if( is_string( $whitelistRegexp ) ) {
+                       $whitelistRegexp = array( $whitelistRegexp );
+               }
+
+               $title = Title::newFromDBkey( $source );
+
+               global $wgGroupPermissions;
+               $oldPermissions = $wgGroupPermissions;
+               // Disallow all so we can ensure our regex works
+               $wgGroupPermissions = array();
+               $wgGroupPermissions['*']['read'] = false;
+
+               global $wgWhitelistRead;
+               $oldWhitelist = $wgWhitelistRead;
+               // Undo any LocalSettings explicite whitelists so they won't cause a
+               // failing test to succeed. Set it to some random non sense just
+               // to make sure we properly test Title::checkReadPermissions()
+               $wgWhitelistRead = array( 'some random non sense title' );
+
+               global $wgWhitelistReadRegexp;
+               $oldWhitelistRegexp    = $wgWhitelistReadRegexp;
+               $wgWhitelistReadRegexp = $whitelistRegexp ;
+
+               // Just use $wgUser which in test is a user object for '127.0.0.1'
+               global $wgUser;
+               // Invalidate user rights cache to take in account $wgGroupPermissions
+               // change above.
+               $wgUser->clearInstanceCache();
+               $errors = $title->userCan( $action, $wgUser );
+
+               // Restore globals
+               $wgGroupPermissions = $oldPermissions;
+               $wgWhitelistRead = $oldWhitelist;
+               $wgWhitelistReadRegexp = $oldWhitelistRegexp;
+
+               if( is_bool( $expected ) ) {
+                       # Forge the assertion message depending on the assertion expectation
+                       $allowableness = $expected
+                               ? " should be allowed"
+                               : " should NOT be allowed"
+                       ;
+                       $this->assertEquals( $expected, $errors, "User action '$action' on [[$source]] $allowableness." );
+               } else {
+                       $errors = $this->flattenErrorsArray( $errors );
+                       foreach ( (array)$expected as $error ) {
+                               $this->assertContains( $error, $errors );
+                       }
+               }
+       }
+
+       /**
+        * Provides test parameter values for testWgWhitelistReadRegexp()
+        */
+       function dataWgWhitelistReadRegexp() {
+               $ALLOWED    = true;
+               $DISALLOWED = false;
+
+               return array(
+                       // Everything, if this doesn't work, we're really in trouble
+                       array( '/.*/', 'Main_Page', 'read', $ALLOWED ),
+                       array( '/.*/', 'Main_Page', 'edit', $DISALLOWED ),
+
+                       // We validate against the title name, not the db key
+                       array( '/^Main_Page$/', 'Main_Page', 'read', $DISALLOWED ),
+                       // Main page
+                       array( '/^Main/', 'Main_Page', 'read', $ALLOWED ),
+                       array( '/^Main.*/', 'Main_Page', 'read', $ALLOWED ),
+                       // With spaces
+                       array( '/Mic\sCheck/', 'Mic Check', 'read', $ALLOWED ),
+                       // Unicode multibyte
+                       // ...without unicode modifier
+                       array( '/Unicode Test . Yes/', 'Unicode Test Ñ Yes', 'read', $DISALLOWED ),
+                       // ...with unicode modifier
+                       array( '/Unicode Test . Yes/u', 'Unicode Test Ñ Yes', 'read', $ALLOWED ),
+                       // Case insensitive
+                       array( '/MiC ChEcK/', 'mic check', 'read', $DISALLOWED ),
+                       array( '/MiC ChEcK/i', 'mic check', 'read', $ALLOWED ),
+
+                       // From DefaultSettings.php:
+                       array( "@^UsEr.*@i", 'User is banned', 'read', $ALLOWED ),
+                       array( "@^UsEr.*@i", 'User:John Doe', 'read', $ALLOWED ),
+
+                       // With namespaces:
+                       array( '/^Special:NewPages$/', 'Special:NewPages', 'read', $ALLOWED ),
+                       array( null, 'Special:Newpages', 'read', $DISALLOWED ),
+
+               );
+       }
+
        function flattenErrorsArray( $errors ) {
                $result = array();
                foreach ( $errors as $error ) {
index e5a014d..a9dfca1 100644 (file)
@@ -175,7 +175,7 @@ class UserTest extends MediaWikiTestCase {
                // let the user have a few (3) edits
                $page = WikiPage::factory( Title::newFromText( 'Help:UserTest_EditCount' ) );
                for( $i = 0; $i < 3; $i++ ) {
-                       $page->doEdit( (string) $i, 'test', 0, false, $user );
+                       $page->doEdit( (string)$i, 'test', 0, false, $user );
                }
 
                $user->clearInstanceCache();
index 9f281bd..458bea4 100644 (file)
@@ -108,19 +108,19 @@ abstract class ApiTestCaseUpload extends ApiTestCase {
 
        }
 
-       function fakeUploadChunk(  $fieldName, $fileName, $type, & $chunkData ){
+       function fakeUploadChunk(  $fieldName, $fileName, $type, & $chunkData ) {
                $tmpName = tempnam( wfTempDir(), "" );
-               // copy the chunk data to temp location: 
+               // copy the chunk data to temp location:
                if ( !file_put_contents( $tmpName, $chunkData ) ) {
                        throw new Exception( "couldn't copy chunk data to $tmpName" );
                }
-               
+
                clearstatcache();
                $size = filesize( $tmpName );
                if ( $size === false ) {
                        throw new Exception( "couldn't stat $tmpName" );
                }
-               
+
                $_FILES[ $fieldName ] = array(
                        'name'          => $fileName,
                        'type'          => $type,
index d34e799..a59983d 100644 (file)
@@ -8,13 +8,12 @@
 class ApiFormatPhpTest extends ApiFormatTestBase {
 
        function testValidPhpSyntax() {
-               
+
                $data = $this->apiRequest( 'php', array( 'action' => 'query', 'meta' => 'siteinfo' ) );
-               
+
                $this->assertInternalType( 'array', unserialize( $data ) );
-               $this->assertGreaterThan( 0, count( (array) $data ) );
-               
-               
+               $this->assertGreaterThan( 0, count( (array)$data ) );
+
        }
 
 }
index ee34562..a054283 100644 (file)
@@ -47,5 +47,3 @@ class GenerateRandomImages extends Maintenance {
 
 $maintClass = 'GenerateRandomImages';
 require( RUN_MAINTENANCE_IF_MAIN );
-
-
index 73d0012..e12c8c7 100644 (file)
@@ -103,7 +103,7 @@ class ContentHandlerTest extends MediaWikiTestCase {
 
                if ( $expected ) {
                        $this->assertNotNull( $name, "no name found for content model $id" );
-                       $this->assertTrue( preg_match( $expected, $name ) > 0 ,
+                       $this->assertTrue( preg_match( $expected, $name ) > 0,
                                "content model name for #$id did not match pattern $expected"
                        );
                } else {
@@ -361,8 +361,7 @@ class DummyContentForTesting extends AbstractContent {
         * @return mixed the native representation of the content. Could be a string, a nested array
         *  structure, an object, a binary blob... anything, really.
         */
-       public function getNativeData()
-       {
+       public function getNativeData() {
                return $this->data;
        }
 
@@ -415,7 +414,7 @@ class DummyContentForTesting extends AbstractContent {
         *
         * @return ParserOutput
         */
-       public function getParserOutput( Title $title, $revId = null, ParserOptions $options = NULL, $generateHtml = true ) {
+       public function getParserOutput( Title $title, $revId = null, ParserOptions $options = null, $generateHtml = true ) {
                return new ParserOutput( $this->getNativeData() );
        }
 }
index 51127f8..9a62abc 100644 (file)
@@ -145,4 +145,4 @@ class DatabaseSQLTest extends MediaWikiTestCase {
                        ),
                );
        }
-}
\ No newline at end of file
+}
index a391fc5..db369fc 100644 (file)
@@ -12,7 +12,10 @@ class MockDatabaseSqlite extends DatabaseSqliteStandalone {
                return true;
        }
 
-       function replaceVars( $s ) {
+       /**
+        * Override parent visibility to public
+        */
+       public function replaceVars( $s ) {
                return parent::replaceVars( $s );
        }
 }
index cbbdc1f..8c992c7 100644 (file)
@@ -210,5 +210,3 @@ class DatabaseTest extends MediaWikiTestCase {
                );
        }
 }
-
-
index 8516241..596d0bd 100644 (file)
@@ -43,19 +43,19 @@ abstract class ORMRowTest extends \MediaWikiTestCase {
         * @since 1.20
         * @return string
         */
-       protected abstract function getRowClass();
+       abstract protected function getRowClass();
 
        /**
         * @since 1.20
         * @return IORMTable
         */
-       protected abstract function getTableInstance();
+       abstract protected function getTableInstance();
 
        /**
         * @since 1.20
         * @return array
         */
-       public abstract function constructorTestProvider();
+       abstract public function constructorTestProvider();
 
        /**
         * @since 1.20
@@ -222,4 +222,4 @@ abstract class ORMRowTest extends \MediaWikiTestCase {
 
        // TODO: test all of the methods!
 
-}
\ No newline at end of file
+}
index 0cb8105..b0e07f2 100644 (file)
@@ -799,7 +799,7 @@ class FileBackendTest extends MediaWikiTestCase {
                        $status = $this->prepare( array( 'dir' => dirname( $path ) ) );
                        $this->assertGoodStatus( $status,
                                "Preparing $path succeeded without warnings ($backendName)." );
-                       $ops[] = array( 'op' => 'create', 'dst' => $path, 'content' => mt_rand(0,50000) );
+                       $ops[] = array( 'op' => 'create', 'dst' => $path, 'content' => mt_rand(0, 50000) );
                        $purgeOps[] = array( 'op' => 'delete', 'src' => $path );
                }
                $purgeOps[] = array( 'op' => 'null' );
index 7d815e9..5f01c70 100644 (file)
@@ -84,7 +84,7 @@ class StoreBatchTest extends MediaWikiTestCase {
                $f = $this->storeit( $fn, $infn, 0 );
                $this->assertTrue( $f->isOK(), 'failed to store a new file' );
                $this->assertEquals( $f->failCount, 0, "counts wrong {$f->successCount} {$f->failCount}" );
-               $this->assertEquals( $f->successCount, 1 , "counts wrong {$f->successCount} {$f->failCount}" );
+               $this->assertEquals( $f->successCount, 1, "counts wrong {$f->successCount} {$f->failCount}" );
                if ( $fromrepo ) {
                        $f = $this->storeit( "Other-$fn", $infn, FileRepo::OVERWRITE);
                        $infn = $f->value;
@@ -93,17 +93,17 @@ class StoreBatchTest extends MediaWikiTestCase {
                $f = $this->storeit( $fn, $infn, FileRepo::OVERWRITE );
                $this->assertTrue( $f->isOK(), 'We should be allowed to overwrite' );
                $this->assertEquals( $f->failCount, 0, "counts wrong {$f->successCount} {$f->failCount}" );
-               $this->assertEquals( $f->successCount, 1 , "counts wrong {$f->successCount} {$f->failCount}" );
+               $this->assertEquals( $f->successCount, 1, "counts wrong {$f->successCount} {$f->failCount}" );
                // This should fail because we're overwriting.
                $f = $this->storeit( $fn, $infn, 0 );
                $this->assertFalse( $f->isOK(), 'We should not be allowed to overwrite' );
                $this->assertEquals( $f->failCount, 1, "counts wrong {$f->successCount} {$f->failCount}" );
-               $this->assertEquals( $f->successCount, 0 , "counts wrong {$f->successCount} {$f->failCount}" );
+               $this->assertEquals( $f->successCount, 0, "counts wrong {$f->successCount} {$f->failCount}" );
                // This should succeed because we're overwriting the same content.
                $f = $this->storeit( $fn, $infn, FileRepo::OVERWRITE_SAME );
                $this->assertTrue( $f->isOK(), 'We should be able to overwrite the same content' );
                $this->assertEquals( $f->failCount, 0, "counts wrong {$f->successCount} {$f->failCount}" );
-               $this->assertEquals( $f->successCount, 1 , "counts wrong {$f->successCount} {$f->failCount}" );
+               $this->assertEquals( $f->successCount, 1, "counts wrong {$f->successCount} {$f->failCount}" );
                // This should fail because we're overwriting different content.
                if ( $fromrepo ) {
                        $f = $this->storeit( "Other-$fn", $otherfn, FileRepo::OVERWRITE);
@@ -112,7 +112,7 @@ class StoreBatchTest extends MediaWikiTestCase {
                $f = $this->storeit( $fn, $otherfn, FileRepo::OVERWRITE_SAME );
                $this->assertFalse( $f->isOK(), 'We should not be allowed to overwrite different content' );
                $this->assertEquals( $f->failCount, 1, "counts wrong {$f->successCount} {$f->failCount}" );
-               $this->assertEquals( $f->successCount, 0 , "counts wrong {$f->successCount} {$f->failCount}" );
+               $this->assertEquals( $f->successCount, 0, "counts wrong {$f->successCount} {$f->failCount}" );
        }
 
        public function teststore() {
index c0f8a96..3bbf3aa 100644 (file)
@@ -36,7 +36,7 @@ abstract class GenericArrayObjectTest extends MediaWikiTestCase {
         *
         * @return array
         */
-       public abstract function elementInstancesProvider();
+       abstract public function elementInstancesProvider();
 
        /**
         * Returns the name of the concrete class being tested.
@@ -45,7 +45,7 @@ abstract class GenericArrayObjectTest extends MediaWikiTestCase {
         *
         * @return string
         */
-       public abstract function getInstanceClass();
+       abstract public function getInstanceClass();
 
        /**
         * Provides instances of the concrete class being tested.
index 8a0a421..c074696 100755 (executable)
@@ -12,4 +12,4 @@ $messages['en'] = array(
        'log-description-phpunit' => 'Log for PHPUnit-tests',
        'logentry-phpunit-test'   => '$1 {{GENDER:$2|tests}} with page $3',
        'logentry-phpunit-param'  => '$4',
-);
\ No newline at end of file
+);
index d52fecc..88b2a83 100644 (file)
@@ -222,41 +222,40 @@ class ExifRotationTest extends MediaWikiTestCase {
                        )
                );
        }
-       
-       
+
+
        const TEST_WIDTH = 100;
        const TEST_HEIGHT = 200;
-       
+
        /**
         * @dataProvider provideBitmapExtractPreRotationDimensions
         */
        function testBitmapExtractPreRotationDimensions( $rotation, $expected ) {
                $result = $this->handler->extractPreRotationDimensions( array(
-                               'physicalWidth' => self::TEST_WIDTH, 
+                               'physicalWidth' => self::TEST_WIDTH,
                                'physicalHeight' => self::TEST_HEIGHT,
                        ), $rotation );
                $this->assertEquals( $expected, $result );
        }
-       
+
        function provideBitmapExtractPreRotationDimensions() {
                return array(
                        array(
                                0,
-                               array( self::TEST_WIDTH, self::TEST_HEIGHT ) 
+                               array( self::TEST_WIDTH, self::TEST_HEIGHT )
                        ),
                        array(
                                90,
-                               array( self::TEST_HEIGHT, self::TEST_WIDTH ) 
+                               array( self::TEST_HEIGHT, self::TEST_WIDTH )
                        ),
                        array(
                                180,
-                               array( self::TEST_WIDTH, self::TEST_HEIGHT ) 
+                               array( self::TEST_WIDTH, self::TEST_HEIGHT )
                        ),
                        array(
                                270,
-                               array( self::TEST_HEIGHT, self::TEST_WIDTH ) 
+                               array( self::TEST_HEIGHT, self::TEST_WIDTH )
                        ),
                );
        }
 }
-
index 99df4f8..4e4c649 100644 (file)
@@ -46,5 +46,3 @@ class MediaHandlerTest extends MediaWikiTestCase {
                }
        }
 }
-
-
index e027668..0260f29 100644 (file)
@@ -9,6 +9,8 @@ class PNGMetadataExtractorTest extends MediaWikiTestCase {
         * Tests zTXt tag (compressed textual metadata) 
         */
        function testPngNativetZtxt() {
+               $this->checkPHPExtension( 'zlib' );
+
                $meta = PNGMetadataExtractor::getMetadata( $this->filePath .
                        'Png-native-test.png' );
                $expected = "foo bar baz foo foo foo foof foo foo foo foo";
index d9a59ca..f131972 100644 (file)
@@ -106,4 +106,3 @@ class SVGMetadataExtractorTest extends MediaWikiTestCase {
                );
        }
 }
-
index ab3d811..f5264be 100644 (file)
@@ -68,7 +68,7 @@ class BagOStuffTest extends MediaWikiTestCase {
                 * - pcntl_fork is supported by the system
                 * - cache type will correctly support calls over forks
                 */
-               $fork = (bool) $this->getCliArg( 'use-bagostuff=' );
+               $fork = (bool)$this->getCliArg( 'use-bagostuff=' );
                $fork &= function_exists( 'pcntl_fork' );
                $fork &= !$this->cache instanceof HashBagOStuff;
                $fork &= !$this->cache instanceof EmptyBagOStuff;
index 5f670fc..c82ae9b 100644 (file)
@@ -189,7 +189,7 @@ class MagicVariableTest extends MediaWikiTestCase {
         */
        private function assertMagic( $expected, $magic ) {
                if( in_array( $magic, $this->expectedAsInteger ) ) {
-                       $expected = (int) $expected;
+                       $expected = (int)$expected;
                }
 
                # Generate a message for the assertion
index b15365c..013b02c 100644 (file)
@@ -22,7 +22,7 @@ class MediaWikiParserTest {
                         * and then was ucfirst( basename( $filename, '.txt' )
                         * but that didn't work with names like foo.tests.txt
                         */
-                       $className = str_replace( '.', '_',  ucfirst( $testsName ) );
+                       $className = str_replace( '.', '_', ucfirst( $testsName ) );
 
                        eval( "/** @group Database\n@group Parser\n*/ class $className extends NewParserTest { protected \$file = '" . strtr( $filename, array( "'" => "\\'", '\\' => '\\\\' ) ) . "'; } " );
 
index e0f95b6..f3a12d0 100644 (file)
@@ -30,4 +30,3 @@ class ParserMethodsTest extends MediaWikiLangTestCase {
 
        // TODO: Add tests for cleanSig() / cleanSigInSig(), getSection(), replaceSection(), getPreloadText()
 }
-
index 8b83b67..c3a251f 100644 (file)
@@ -226,4 +226,3 @@ class PreprocessorTest extends MediaWikiTestCase {
                $this->assertEquals( $this->normalizeXml( $expectedXml ), $this->preprocessToXml( $wikiText ) );
        }
 }
-
index 7b88212..0307d4d 100644 (file)
@@ -188,4 +188,4 @@ class SiteListTest extends MediaWikiTestCase {
                }
        }
 
-}
\ No newline at end of file
+}
index 255e2de..c11165b 100644 (file)
@@ -265,4 +265,4 @@ class SiteTest extends MediaWikiTestCase {
                $this->assertEquals( $serialization, serialize( $newInstance ) );
        }
 
-}
\ No newline at end of file
+}
index b57fe9f..a5656a7 100644 (file)
@@ -98,4 +98,4 @@ class TestSites {
                $sitesTable->saveSites( TestSites::getSites() );
        }
 
-}
\ No newline at end of file
+}
index b7f6182..10ff664 100644 (file)
@@ -11,7 +11,7 @@ class LanguageMlTest extends LanguageClassesTestCase {
        /** see bug 29495 */
        /** @dataProvider providerFormatNum*/
        function testFormatNum( $result, $value ) {
-               $this->assertEquals( $result,  $this->getLang()->formatNum( $value ) );
+               $this->assertEquals( $result, $this->getLang()->formatNum( $value ) );
        }
 
        function providerFormatNum() {
index 5594670..9507714 100644 (file)
@@ -425,14 +425,14 @@ class LanguageTest extends LanguageClassesTestCase {
         */
        function testBuiltInCodeValidation( $code, $message = '' ) {
                $this->assertTrue(
-                       (bool) Language::isValidBuiltInCode( $code ),
+                       (bool)Language::isValidBuiltInCode( $code ),
                        "validating code $code $message"
                );
        }
 
        function testBuiltInCodeValidationRejectUnderscore() {
                $this->assertFalse(
-                       (bool) Language::isValidBuiltInCode( 'be_tarask' ),
+                       (bool)Language::isValidBuiltInCode( 'be_tarask' ),
                        "reject underscore in language code"
                );
        }
@@ -449,6 +449,56 @@ class LanguageTest extends LanguageClassesTestCase {
                );
        }
 
+       /**
+        * Test Language::isKnownLanguageTag()
+        * @dataProvider provideKnownLanguageTags
+        */
+       function testKnownLanguageTag( $code, $message = '' ) {
+               $this->assertTrue(
+                       (bool) Language::isKnownLanguageTag( $code ),
+                       "validating code $code - $message"
+               );
+       }
+
+       function provideKnownLanguageTags() {
+               return array(
+                       array( 'fr', 'simple code' ),
+                       array( 'bat-smg', 'an MW legacy tag' ),
+                       array( 'sgs', 'an internal standard MW name, for which a legacy tag is used externally' ),
+               );
+       }
+
+       /**
+        * Test Language::isKnownLanguageTag()
+        */
+       function testKnownCldrLanguageTag() {
+               if ( !class_exists( 'LanguageNames' ) ) {
+                       $this->markTestSkipped( 'reason' );
+               }
+
+               $this->assertTrue(
+                       (bool) Language::isKnownLanguageTag( 'pal' ),
+                       'validating code "pal" an ancient language, which probably will not appear in Names.php, but appears in CLDR in English'
+               );
+       }
+
+       /**
+        * Negative tests for Language::isKnownLanguageTag()
+        * @dataProvider provideUnKnownLanguageTags
+        */
+       function testUnknownLanguageTag( $code, $message = '' ) {
+               $this->assertFalse(
+                       (bool) Language::isKnownLanguageTag( $code ),
+                       "checking that code $code is invalid - $message"
+               );
+       }
+
+       function provideUnknownLanguageTags() {
+               return array(
+                       array( 'mw', 'non-existent two-letter code' ),
+               );
+       }
+
        /**
         * @dataProvider provideSprintfDateSamples
         */
@@ -1284,4 +1334,3 @@ class LanguageTest extends LanguageClassesTestCase {
                );
        }
 }
-
index 033164b..58fcf16 100644 (file)
@@ -9,7 +9,7 @@ class CLDRPluralRuleEvaluatorTest extends MediaWikiTestCase {
         * @dataProvider validTestCases
         */
        function testValidRules( $expected, $rules, $number, $comment ) {
-               $result = CLDRPluralRuleEvaluator::evaluate( $number, (array) $rules );
+               $result = CLDRPluralRuleEvaluator::evaluate( $number, (array)$rules );
                $this->assertEquals( $expected, $result, $comment );
        }
 
@@ -18,7 +18,7 @@ class CLDRPluralRuleEvaluatorTest extends MediaWikiTestCase {
         * @expectedException CLDRPluralRuleError
         */
        function testInvalidRules( $rules, $comment ) {
-               CLDRPluralRuleEvaluator::evaluate( 1, (array) $rules );
+               CLDRPluralRuleEvaluator::evaluate( 1, (array)$rules );
        }
 
        function validTestCases() {
index 0f3a6a1..106fab8 100644 (file)
@@ -57,7 +57,7 @@ abstract class DumpTestCase extends MediaWikiLangTestCase {
         */
        protected function gunzip( $fname ) {
                $gzipped_contents = file_get_contents( $fname );
-               if ( $gzipped_contents === FALSE ) {
+               if ( $gzipped_contents === false ) {
                        $this->fail( "Could not get contents of $fname" );
                }
                // We resort to use gzinflate instead of gzdecode, as gzdecode
index a0ed745..b9c0fb8 100644 (file)
@@ -191,44 +191,44 @@ class MaintenanceTest extends MediaWikiTestCase {
 
        function testOutputEmpty() {
                $this->m->output( "" );
-               $this->assertOutputPrePostShutdown( "", False );
+               $this->assertOutputPrePostShutdown( "", false );
        }
 
        function testOutputString() {
                $this->m->output( "foo" );
-               $this->assertOutputPrePostShutdown( "foo", False );
+               $this->assertOutputPrePostShutdown( "foo", false );
        }
 
        function testOutputStringString() {
                $this->m->output( "foo" );
                $this->m->output( "bar" );
-               $this->assertOutputPrePostShutdown( "foobar", False );
+               $this->assertOutputPrePostShutdown( "foobar", false );
        }
 
        function testOutputStringNL() {
                $this->m->output( "foo\n" );
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testOutputStringNLNL() {
                $this->m->output( "foo\n\n" );
-               $this->assertOutputPrePostShutdown( "foo\n\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n\n", false );
        }
 
        function testOutputStringNLString() {
                $this->m->output( "foo\nbar" );
-               $this->assertOutputPrePostShutdown( "foo\nbar", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar", false );
        }
 
        function testOutputStringNLStringNL() {
                $this->m->output( "foo\nbar\n" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputStringNLStringNLLinewise() {
                $this->m->output( "foo\n" );
                $this->m->output( "bar\n" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputStringNLStringNLArbitrary() {
@@ -239,7 +239,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "ba" );
                $this->m->output( "" );
                $this->m->output( "r\n" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputStringNLStringNLArbitraryAgain() {
@@ -250,49 +250,49 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "a" );
                $this->m->output( "" );
                $this->m->output( "r\n" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputWNullChannelEmpty() {
                $this->m->output( "", null );
-               $this->assertOutputPrePostShutdown( "", False );
+               $this->assertOutputPrePostShutdown( "", false );
        }
 
        function testOutputWNullChannelString() {
                $this->m->output( "foo", null );
-               $this->assertOutputPrePostShutdown( "foo", False );
+               $this->assertOutputPrePostShutdown( "foo", false );
        }
 
        function testOutputWNullChannelStringString() {
                $this->m->output( "foo", null );
                $this->m->output( "bar", null );
-               $this->assertOutputPrePostShutdown( "foobar", False );
+               $this->assertOutputPrePostShutdown( "foobar", false );
        }
 
        function testOutputWNullChannelStringNL() {
                $this->m->output( "foo\n", null );
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testOutputWNullChannelStringNLNL() {
                $this->m->output( "foo\n\n", null );
-               $this->assertOutputPrePostShutdown( "foo\n\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n\n", false );
        }
 
        function testOutputWNullChannelStringNLString() {
                $this->m->output( "foo\nbar", null );
-               $this->assertOutputPrePostShutdown( "foo\nbar", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar", false );
        }
 
        function testOutputWNullChannelStringNLStringNL() {
                $this->m->output( "foo\nbar\n", null );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputWNullChannelStringNLStringNLLinewise() {
                $this->m->output( "foo\n", null );
                $this->m->output( "bar\n", null );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputWNullChannelStringNLStringNLArbitrary() {
@@ -303,7 +303,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "ba", null );
                $this->m->output( "", null );
                $this->m->output( "r\n", null );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputWNullChannelStringNLStringNLArbitraryAgain() {
@@ -314,17 +314,17 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "a", null );
                $this->m->output( "", null );
                $this->m->output( "r\n", null );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputWChannelString() {
                $this->m->output( "foo", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo", True );
+               $this->assertOutputPrePostShutdown( "foo", true );
        }
 
        function testOutputWChannelStringNL() {
                $this->m->output( "foo\n", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo", True );
+               $this->assertOutputPrePostShutdown( "foo", true );
        }
 
        function testOutputWChannelStringNLNL() {
@@ -333,23 +333,23 @@ class MaintenanceTest extends MediaWikiTestCase {
                // outputChanneled with a string ending in a nl ... which is not allowed
                // according to the documentation of outputChanneled)
                $this->m->output( "foo\n\n", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo\n", True );
+               $this->assertOutputPrePostShutdown( "foo\n", true );
        }
 
        function testOutputWChannelStringNLString() {
                $this->m->output( "foo\nbar", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo\nbar", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar", true );
        }
 
        function testOutputWChannelStringNLStringNL() {
                $this->m->output( "foo\nbar\n", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo\nbar", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar", true );
        }
 
        function testOutputWChannelStringNLStringNLLinewise() {
                $this->m->output( "foo\n", "bazChannel" );
                $this->m->output( "bar\n", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foobar", True );
+               $this->assertOutputPrePostShutdown( "foobar", true );
        }
 
        function testOutputWChannelStringNLStringNLArbitrary() {
@@ -360,7 +360,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "ba", "bazChannel" );
                $this->m->output( "", "bazChannel" );
                $this->m->output( "r\n", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foobar", True );
+               $this->assertOutputPrePostShutdown( "foobar", true );
        }
 
        function testOutputWChannelStringNLStringNLArbitraryAgain() {
@@ -371,7 +371,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "a", "bazChannel" );
                $this->m->output( "", "bazChannel" );
                $this->m->output( "r\n", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo\nbar", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar", true );
        }
 
        function testOutputWMultipleChannelsChannelChange() {
@@ -379,7 +379,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "bar", "bazChannel" );
                $this->m->output( "qux", "quuxChannel" );
                $this->m->output( "corge", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foobar\nqux\ncorge", True );
+               $this->assertOutputPrePostShutdown( "foobar\nqux\ncorge", true );
        }
 
        function testOutputWMultipleChannelsChannelChangeNL() {
@@ -387,7 +387,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "bar\n", "bazChannel" );
                $this->m->output( "qux\n", "quuxChannel" );
                $this->m->output( "corge", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foobar\nqux\ncorge", True );
+               $this->assertOutputPrePostShutdown( "foobar\nqux\ncorge", true );
        }
 
        function testOutputWAndWOChannelStringStartWO() {
@@ -395,7 +395,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "bar", "bazChannel" );
                $this->m->output( "qux" );
                $this->m->output( "quux", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foobar\nquxquux", True );
+               $this->assertOutputPrePostShutdown( "foobar\nquxquux", true );
        }
 
        function testOutputWAndWOChannelStringStartW() {
@@ -403,27 +403,27 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "bar" );
                $this->m->output( "qux", "bazChannel" );
                $this->m->output( "quux" );
-               $this->assertOutputPrePostShutdown( "foo\nbarqux\nquux", False );
+               $this->assertOutputPrePostShutdown( "foo\nbarqux\nquux", false );
        }
 
        function testOutputWChannelTypeSwitch() {
                $this->m->output( "foo", 1 );
                $this->m->output( "bar", 1.0 );
-               $this->assertOutputPrePostShutdown( "foo\nbar", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar", true );
        }
 
        function testOutputIntermittentEmpty() {
                $this->m->output( "foo" );
                $this->m->output( "" );
                $this->m->output( "bar" );
-               $this->assertOutputPrePostShutdown( "foobar", False );
+               $this->assertOutputPrePostShutdown( "foobar", false );
        }
 
        function testOutputIntermittentFalse() {
                $this->m->output( "foo" );
                $this->m->output( false );
                $this->m->output( "bar" );
-               $this->assertOutputPrePostShutdown( "foobar", False );
+               $this->assertOutputPrePostShutdown( "foobar", false );
        }
 
        function testOutputIntermittentFalseAfterOtherChannel() {
@@ -431,35 +431,35 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->output( "foo" );
                $this->m->output( false );
                $this->m->output( "bar" );
-               $this->assertOutputPrePostShutdown( "qux\nfoobar", False );
+               $this->assertOutputPrePostShutdown( "qux\nfoobar", false );
        }
 
        function testOutputWNullChannelIntermittentEmpty() {
                $this->m->output( "foo", null );
                $this->m->output( "", null );
                $this->m->output( "bar", null );
-               $this->assertOutputPrePostShutdown( "foobar", False );
+               $this->assertOutputPrePostShutdown( "foobar", false );
        }
 
        function testOutputWNullChannelIntermittentFalse() {
                $this->m->output( "foo", null );
                $this->m->output( false, null );
                $this->m->output( "bar", null );
-               $this->assertOutputPrePostShutdown( "foobar", False );
+               $this->assertOutputPrePostShutdown( "foobar", false );
        }
 
        function testOutputWChannelIntermittentEmpty() {
                $this->m->output( "foo", "bazChannel" );
                $this->m->output( "", "bazChannel" );
                $this->m->output( "bar", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foobar", True );
+               $this->assertOutputPrePostShutdown( "foobar", true );
        }
 
        function testOutputWChannelIntermittentFalse() {
                $this->m->output( "foo", "bazChannel" );
                $this->m->output( false, "bazChannel" );
                $this->m->output( "bar", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foobar", True );
+               $this->assertOutputPrePostShutdown( "foobar", true );
        }
 
        // Note that (per documentation) outputChanneled does take strings that end
@@ -467,23 +467,23 @@ class MaintenanceTest extends MediaWikiTestCase {
 
        function testOutputChanneledEmpty() {
                $this->m->outputChanneled( "" );
-               $this->assertOutputPrePostShutdown( "\n", False );
+               $this->assertOutputPrePostShutdown( "\n", false );
        }
 
        function testOutputChanneledString() {
                $this->m->outputChanneled( "foo" );
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testOutputChanneledStringString() {
                $this->m->outputChanneled( "foo" );
                $this->m->outputChanneled( "bar" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputChanneledStringNLString() {
                $this->m->outputChanneled( "foo\nbar" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputChanneledStringNLStringNLArbitraryAgain() {
@@ -494,28 +494,28 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->outputChanneled( "a" );
                $this->m->outputChanneled( "" );
                $this->m->outputChanneled( "r" );
-               $this->assertOutputPrePostShutdown( "\nfoo\n\n\nb\na\n\nr\n", False );
+               $this->assertOutputPrePostShutdown( "\nfoo\n\n\nb\na\n\nr\n", false );
        }
 
        function testOutputChanneledWNullChannelEmpty() {
                $this->m->outputChanneled( "", null );
-               $this->assertOutputPrePostShutdown( "\n", False );
+               $this->assertOutputPrePostShutdown( "\n", false );
        }
 
        function testOutputChanneledWNullChannelString() {
                $this->m->outputChanneled( "foo", null );
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testOutputChanneledWNullChannelStringString() {
                $this->m->outputChanneled( "foo", null );
                $this->m->outputChanneled( "bar", null );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputChanneledWNullChannelStringNLString() {
                $this->m->outputChanneled( "foo\nbar", null );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputChanneledWNullChannelStringNLStringNLArbitraryAgain() {
@@ -526,23 +526,23 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->outputChanneled( "a", null );
                $this->m->outputChanneled( "", null );
                $this->m->outputChanneled( "r", null );
-               $this->assertOutputPrePostShutdown( "\nfoo\n\n\nb\na\n\nr\n", False );
+               $this->assertOutputPrePostShutdown( "\nfoo\n\n\nb\na\n\nr\n", false );
        }
 
        function testOutputChanneledWChannelString() {
                $this->m->outputChanneled( "foo", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo", True );
+               $this->assertOutputPrePostShutdown( "foo", true );
        }
 
        function testOutputChanneledWChannelStringNLString() {
                $this->m->outputChanneled( "foo\nbar", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo\nbar", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar", true );
        }
 
        function testOutputChanneledWChannelStringString() {
                $this->m->outputChanneled( "foo", "bazChannel" );
                $this->m->outputChanneled( "bar", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foobar", True );
+               $this->assertOutputPrePostShutdown( "foobar", true );
        }
 
        function testOutputChanneledWChannelStringNLStringNLArbitraryAgain() {
@@ -553,7 +553,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->outputChanneled( "a", "bazChannel" );
                $this->m->outputChanneled( "", "bazChannel" );
                $this->m->outputChanneled( "r", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo\nbar", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar", true );
        }
 
        function testOutputChanneledWMultipleChannelsChannelChange() {
@@ -561,7 +561,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->outputChanneled( "bar", "bazChannel" );
                $this->m->outputChanneled( "qux", "quuxChannel" );
                $this->m->outputChanneled( "corge", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foobar\nqux\ncorge", True );
+               $this->assertOutputPrePostShutdown( "foobar\nqux\ncorge", true );
        }
 
        function testOutputChanneledWMultipleChannelsChannelChangeEnclosedNull() {
@@ -569,7 +569,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->outputChanneled( "bar", null );
                $this->m->outputChanneled( "qux", null );
                $this->m->outputChanneled( "corge", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\nqux\ncorge", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar\nqux\ncorge", true );
        }
 
        function testOutputChanneledWMultipleChannelsChannelAfterNullChange() {
@@ -577,7 +577,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->outputChanneled( "bar", null );
                $this->m->outputChanneled( "qux", null );
                $this->m->outputChanneled( "corge", "quuxChannel" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\nqux\ncorge", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar\nqux\ncorge", true );
        }
 
        function testOutputChanneledWAndWOChannelStringStartWO() {
@@ -585,7 +585,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->outputChanneled( "bar", "bazChannel" );
                $this->m->outputChanneled( "qux" );
                $this->m->outputChanneled( "quux", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\nqux\nquux", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar\nqux\nquux", true );
        }
 
        function testOutputChanneledWAndWOChannelStringStartW() {
@@ -593,114 +593,114 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->m->outputChanneled( "bar" );
                $this->m->outputChanneled( "qux", "bazChannel" );
                $this->m->outputChanneled( "quux" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\nqux\nquux\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\nqux\nquux\n", false );
        }
 
        function testOutputChanneledWChannelTypeSwitch() {
                $this->m->outputChanneled( "foo", 1 );
                $this->m->outputChanneled( "bar", 1.0 );
-               $this->assertOutputPrePostShutdown( "foo\nbar", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar", true );
        }
 
        function testOutputChanneledWOChannelIntermittentEmpty() {
                $this->m->outputChanneled( "foo" );
                $this->m->outputChanneled( "" );
                $this->m->outputChanneled( "bar" );
-               $this->assertOutputPrePostShutdown( "foo\n\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n\nbar\n", false );
        }
 
        function testOutputChanneledWOChannelIntermittentFalse() {
                $this->m->outputChanneled( "foo" );
                $this->m->outputChanneled( false );
                $this->m->outputChanneled( "bar" );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputChanneledWNullChannelIntermittentEmpty() {
                $this->m->outputChanneled( "foo", null );
                $this->m->outputChanneled( "", null );
                $this->m->outputChanneled( "bar", null );
-               $this->assertOutputPrePostShutdown( "foo\n\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n\nbar\n", false );
        }
 
        function testOutputChanneledWNullChannelIntermittentFalse() {
                $this->m->outputChanneled( "foo", null );
                $this->m->outputChanneled( false, null );
                $this->m->outputChanneled( "bar", null );
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testOutputChanneledWChannelIntermittentEmpty() {
                $this->m->outputChanneled( "foo", "bazChannel" );
                $this->m->outputChanneled( "", "bazChannel" );
                $this->m->outputChanneled( "bar", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foobar", True );
+               $this->assertOutputPrePostShutdown( "foobar", true );
        }
 
        function testOutputChanneledWChannelIntermittentFalse() {
                $this->m->outputChanneled( "foo", "bazChannel" );
                $this->m->outputChanneled( false, "bazChannel" );
                $this->m->outputChanneled( "bar", "bazChannel" );
-               $this->assertOutputPrePostShutdown( "foo\nbar", True );
+               $this->assertOutputPrePostShutdown( "foo\nbar", true );
        }
 
        function testCleanupChanneledClean() {
                $this->m->cleanupChanneled();
-               $this->assertOutputPrePostShutdown( "", False );
+               $this->assertOutputPrePostShutdown( "", false );
        }
 
        function testCleanupChanneledAfterOutput() {
                $this->m->output( "foo" );
                $this->m->cleanupChanneled();
-               $this->assertOutputPrePostShutdown( "foo", False );
+               $this->assertOutputPrePostShutdown( "foo", false );
        }
 
        function testCleanupChanneledAfterOutputWNullChannel() {
                $this->m->output( "foo", null );
                $this->m->cleanupChanneled();
-               $this->assertOutputPrePostShutdown( "foo", False );
+               $this->assertOutputPrePostShutdown( "foo", false );
        }
 
        function testCleanupChanneledAfterOutputWChannel() {
                $this->m->output( "foo", "bazChannel" );
                $this->m->cleanupChanneled();
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testCleanupChanneledAfterNLOutput() {
                $this->m->output( "foo\n" );
                $this->m->cleanupChanneled();
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testCleanupChanneledAfterNLOutputWNullChannel() {
                $this->m->output( "foo\n", null );
                $this->m->cleanupChanneled();
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testCleanupChanneledAfterNLOutputWChannel() {
                $this->m->output( "foo\n", "bazChannel" );
                $this->m->cleanupChanneled();
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testCleanupChanneledAfterOutputChanneledWOChannel() {
                $this->m->outputChanneled( "foo" );
                $this->m->cleanupChanneled();
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testCleanupChanneledAfterOutputChanneledWNullChannel() {
                $this->m->outputChanneled( "foo", null );
                $this->m->cleanupChanneled();
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testCleanupChanneledAfterOutputChanneledWChannel() {
                $this->m->outputChanneled( "foo", "bazChannel" );
                $this->m->cleanupChanneled();
-               $this->assertOutputPrePostShutdown( "foo\n", False );
+               $this->assertOutputPrePostShutdown( "foo\n", false );
        }
 
        function testMultipleMaintenanceObjectsInteractionOutput() {
@@ -712,7 +712,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->assertEquals( "foobar", $this->getActualOutput(),
                                "Output before shutdown simulation (m2)" );
                $m2->simulateShutdown();
-               $this->assertOutputPrePostShutdown( "foobar", False );
+               $this->assertOutputPrePostShutdown( "foobar", false );
        }
 
        function testMultipleMaintenanceObjectsInteractionOutputWNullChannel() {
@@ -724,7 +724,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->assertEquals( "foobar", $this->getActualOutput(),
                                "Output before shutdown simulation (m2)" );
                $m2->simulateShutdown();
-               $this->assertOutputPrePostShutdown( "foobar", False );
+               $this->assertOutputPrePostShutdown( "foobar", false );
        }
 
        function testMultipleMaintenanceObjectsInteractionOutputWChannel() {
@@ -736,7 +736,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->assertEquals( "foobar", $this->getActualOutput(),
                                "Output before shutdown simulation (m2)" );
                $m2->simulateShutdown();
-               $this->assertOutputPrePostShutdown( "foobar\n", True );
+               $this->assertOutputPrePostShutdown( "foobar\n", true );
        }
 
        function testMultipleMaintenanceObjectsInteractionOutputWNullChannelNL() {
@@ -748,7 +748,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->assertEquals( "foo\nbar\n", $this->getActualOutput(),
                                "Output before shutdown simulation (m2)" );
                $m2->simulateShutdown();
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testMultipleMaintenanceObjectsInteractionOutputWChannelNL() {
@@ -760,7 +760,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->assertEquals( "foobar", $this->getActualOutput(),
                                "Output before shutdown simulation (m2)" );
                $m2->simulateShutdown();
-               $this->assertOutputPrePostShutdown( "foobar\n", True );
+               $this->assertOutputPrePostShutdown( "foobar\n", true );
        }
 
        function testMultipleMaintenanceObjectsInteractionOutputChanneled() {
@@ -772,7 +772,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->assertEquals( "foo\nbar\n", $this->getActualOutput(),
                                "Output before shutdown simulation (m2)" );
                $m2->simulateShutdown();
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testMultipleMaintenanceObjectsInteractionOutputChanneledWNullChannel() {
@@ -784,7 +784,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->assertEquals( "foo\nbar\n", $this->getActualOutput(),
                                "Output before shutdown simulation (m2)" );
                $m2->simulateShutdown();
-               $this->assertOutputPrePostShutdown( "foo\nbar\n", False );
+               $this->assertOutputPrePostShutdown( "foo\nbar\n", false );
        }
 
        function testMultipleMaintenanceObjectsInteractionOutputChanneledWChannel() {
@@ -796,7 +796,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                $this->assertEquals( "foobar", $this->getActualOutput(),
                                "Output before shutdown simulation (m2)" );
                $m2->simulateShutdown();
-               $this->assertOutputPrePostShutdown( "foobar\n", True );
+               $this->assertOutputPrePostShutdown( "foobar\n", true );
        }
 
        function testMultipleMaintenanceObjectsInteractionCleanupChanneledWChannel() {
@@ -815,7 +815,7 @@ class MaintenanceTest extends MediaWikiTestCase {
                                "Output after second cleanup" );
 
                $m2->simulateShutdown();
-               $this->assertOutputPrePostShutdown( "foobar\n\n", False );
+               $this->assertOutputPrePostShutdown( "foobar\n\n", false );
        }
 
 
index 2ebb351..5930e9b 100644 (file)
@@ -156,7 +156,7 @@ class TextPassDumperTest extends DumpTestCase {
                );
 
                // The mock itself
-               $prefetchMock = $this->getMock( 'BaseDump', array( 'prefetch' ), array(), '', FALSE );
+               $prefetchMock = $this->getMock( 'BaseDump', array( 'prefetch' ), array(), '', false );
                $prefetchMock->expects( $this->exactly( 6 ) )
                        ->method( 'prefetch' )
                        ->will( $this->returnValueMap( $prefetchMap ) );
@@ -230,7 +230,7 @@ class TextPassDumperTest extends DumpTestCase {
                $nameOutputDir = $this->getNewTempDirectory();
 
                $stderr = fopen( 'php://output', 'a' );
-               if ( $stderr === FALSE ) {
+               if ( $stderr === false ) {
                        $this->fail( "Could not open stream for stderr" );
                }
 
index 8a8dea5..0aed411 100644 (file)
@@ -186,7 +186,7 @@ class BackupDumperLoggerTest extends DumpTestCase {
                // to be able to alert (once dumping produces reports) that this test
                // needs updates.
                $dumper->stderr = fopen( 'php://output', 'a' );
-               if ( $dumper->stderr === FALSE ) {
+               if ( $dumper->stderr === false ) {
                        $this->fail( "Could not open stream for stderr" );
                }
 
index 6cdc4ec..7966fe8 100644 (file)
@@ -302,7 +302,7 @@ class BackupDumperPageTest extends DumpTestCase {
                // computer. We only check that reporting does not crash the dumping
                // and that something is reported
                $dumper->stderr = fopen( 'php://output', 'a' );
-               if ( $dumper->stderr === FALSE ) {
+               if ( $dumper->stderr === false ) {
                        $this->fail( "Could not open stream for stderr" );
                }
 
index 8041e35..04536f8 100644 (file)
@@ -18,7 +18,7 @@ class SemiMockedFetchText extends FetchText {
        /**
         * @var bool Whether or not a text for stdin has been provided
         */
-       private $mockSetUp = False;
+       private $mockSetUp = false;
 
        /**
         * @var Array Invocation counters for the mocked aspects
@@ -32,10 +32,9 @@ class SemiMockedFetchText extends FetchText {
         *
         * @param $stdin String The string to be used instead of stdin
         */
-       function mockStdin( $stdin )
-       {
+       function mockStdin( $stdin ) {
                $this->mockStdinText = $stdin;
-               $this->mockSetUp = True;
+               $this->mockSetUp = true;
        }
 
        /**
@@ -44,16 +43,14 @@ class SemiMockedFetchText extends FetchText {
         * @return Array An array, whose keys are function names. The corresponding values
         * denote the number of times the function has been invoked.
         */
-       function mockGetInvocations()
-       {
+       function mockGetInvocations() {
                return $this->mockInvocations;
        }
 
        // -----------------------------------------------------------------
        // Mocked functions from FetchText follow.
 
-       function getStdin( $len = null )
-       {
+       function getStdin( $len = null ) {
                $this->mockInvocations['getStdin']++;
                if ( $len !== null ) {
                        throw new PHPUnit_Framework_ExpectationFailedException(
index 0b7c758..699571b 100644 (file)
@@ -52,11 +52,11 @@ class GetSlaveServerTest extends MediaWikiTestCase {
 
                // The main answer
                $output = $this->getActualOutput();
-               $firstLineEndPos = strpos( $output,"\n");
-               if ( $firstLineEndPos === FALSE ) {
+               $firstLineEndPos = strpos( $output, "\n" );
+               if ( $firstLineEndPos === false ) {
                        $this->fail( "Could not find end of first line of output" );
                }
-               $firstLine = substr( $output, 0 , $firstLineEndPos );
+               $firstLine = substr( $output, 0, $firstLineEndPos );
                $this->assertRegExp( "/^" . self::getServerRE() . "$/D",
                        $firstLine, "DB Server" );
 
index 89337f4..85ed0b4 100644 (file)
@@ -10,10 +10,6 @@ class SideBarTest extends MediaWikiLangTestCase {
        /** Local cache for sidebar messages */
        private $messages;
 
-       function __construct() {
-               parent::__construct();
-       }
-
        /** Build $this->messages array */
        private function initMessagesHref() {
                # List of default messages for the sidebar:
index f286fa1..56f6447 100644 (file)
@@ -8,8 +8,8 @@
          convertNoticesToExceptions="true"
          convertWarningsToExceptions="true"
          stopOnFailure="false"
-                timeoutForSmallTests="2"
-                timeoutForMediumTests="10"
+                timeoutForSmallTests="10"
+                timeoutForMediumTests="30"
                 timeoutForLargeTests="60"
          strict="true"
                 verbose="true">