Merge "Allow lines empty but for tabs and comments to be ignored."
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 13 Aug 2013 22:29:40 +0000 (22:29 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 13 Aug 2013 22:29:40 +0000 (22:29 +0000)
156 files changed:
RELEASE-NOTES-1.22
docs/hooks.txt
includes/AutoLoader.php
includes/DefaultSettings.php
includes/EditPage.php
includes/GlobalFunctions.php
includes/Setup.php
includes/SiteConfiguration.php
includes/User.php
includes/actions/HistoryAction.php
includes/api/ApiQueryImageInfo.php
includes/api/ApiQuerySearch.php
includes/externalstore/ExternalStore.php
includes/externalstore/ExternalStoreDB.php
includes/externalstore/ExternalStoreMwstore.php
includes/filerepo/LocalRepo.php
includes/installer/Installer.i18n.php
includes/job/JobQueue.php
includes/job/JobQueueDB.php
includes/job/JobQueueFederated.php
includes/job/JobQueueGroup.php
includes/job/JobQueueRedis.php
includes/parser/Parser.php
includes/parser/ParserOutput.php
includes/resourceloader/ResourceLoader.php
includes/search/SearchEngine.php
includes/specials/SpecialMovepage.php
includes/specials/SpecialSearch.php
includes/specials/SpecialUpload.php
includes/specials/SpecialUserlogin.php
includes/templates/Usercreate.php
languages/messages/MessagesAeb.php
languages/messages/MessagesAln.php
languages/messages/MessagesAm.php
languages/messages/MessagesAng.php
languages/messages/MessagesAr.php
languages/messages/MessagesAvk.php
languages/messages/MessagesBar.php
languages/messages/MessagesBcl.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBn.php
languages/messages/MessagesBs.php
languages/messages/MessagesCa.php
languages/messages/MessagesCdo.php
languages/messages/MessagesCe.php
languages/messages/MessagesCeb.php
languages/messages/MessagesCh.php
languages/messages/MessagesCkb.php
languages/messages/MessagesCps.php
languages/messages/MessagesCs.php
languages/messages/MessagesCsb.php
languages/messages/MessagesCv.php
languages/messages/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesDe.php
languages/messages/MessagesEl.php
languages/messages/MessagesEn.php
languages/messages/MessagesEo.php
languages/messages/MessagesEs.php
languages/messages/MessagesEt.php
languages/messages/MessagesExt.php
languages/messages/MessagesFi.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrr.php
languages/messages/MessagesFy.php
languages/messages/MessagesGag.php
languages/messages/MessagesGan_hans.php
languages/messages/MessagesGan_hant.php
languages/messages/MessagesGu.php
languages/messages/MessagesHak.php
languages/messages/MessagesHe.php
languages/messages/MessagesHi.php
languages/messages/MessagesHt.php
languages/messages/MessagesHy.php
languages/messages/MessagesIa.php
languages/messages/MessagesId.php
languages/messages/MessagesIe.php
languages/messages/MessagesIg.php
languages/messages/MessagesInh.php
languages/messages/MessagesIt.php
languages/messages/MessagesJa.php
languages/messages/MessagesJam.php
languages/messages/MessagesKaa.php
languages/messages/MessagesKbd_cyrl.php
languages/messages/MessagesKhw.php
languages/messages/MessagesKiu.php
languages/messages/MessagesKk_arab.php
languages/messages/MessagesKk_latn.php
languages/messages/MessagesKo.php
languages/messages/MessagesKw.php
languages/messages/MessagesKy.php
languages/messages/MessagesLa.php
languages/messages/MessagesLad.php
languages/messages/MessagesLb.php
languages/messages/MessagesLez.php
languages/messages/MessagesLg.php
languages/messages/MessagesLoz.php
languages/messages/MessagesLv.php
languages/messages/MessagesMdf.php
languages/messages/MessagesMg.php
languages/messages/MessagesMhr.php
languages/messages/MessagesMk.php
languages/messages/MessagesMr.php
languages/messages/MessagesMs.php
languages/messages/MessagesMwl.php
languages/messages/MessagesMy.php
languages/messages/MessagesMyv.php
languages/messages/MessagesMzn.php
languages/messages/MessagesNap.php
languages/messages/MessagesOc.php
languages/messages/MessagesPam.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPt.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesRo.php
languages/messages/MessagesRoa_tara.php
languages/messages/MessagesSah.php
languages/messages/MessagesSco.php
languages/messages/MessagesSdc.php
languages/messages/MessagesSei.php
languages/messages/MessagesSgs.php
languages/messages/MessagesShi.php
languages/messages/MessagesSi.php
languages/messages/MessagesSli.php
languages/messages/MessagesSo.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSr_el.php
languages/messages/MessagesSrn.php
languages/messages/MessagesSv.php
languages/messages/MessagesSzl.php
languages/messages/MessagesTh.php
languages/messages/MessagesTpi.php
languages/messages/MessagesTr.php
languages/messages/MessagesTt_cyrl.php
languages/messages/MessagesUk.php
languages/messages/MessagesVo.php
languages/messages/MessagesVro.php
languages/messages/MessagesWuu.php
languages/messages/MessagesZea.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
maintenance/getConfiguration.php
maintenance/language/messageTypes.inc
maintenance/language/messages.inc
maintenance/runJobs.php
resources/Resources.php
resources/jquery/jquery.makeCollapsible.js
resources/jquery/jquery.tablesorter.js
resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.css
resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js
skins/cologneblue/screen.css
skins/common/upload.js
tests/parser/parserTests.txt
tests/phpunit/includes/SiteConfigurationTest.php

index af467a0..cfe553e 100644 (file)
@@ -121,6 +121,10 @@ production.
 * (bug 43689) The lists of templates used on the page and hidden categories it
   is a member of, shown below the edit form, are now collapsible (and collapsed
   by default).
+* Parser profiling data, formerly only available in the "NewPP limit report"
+  HTML comment, is now also displayed at the bottom of page previews.
+* Added ParserLimitReportPrepare and ParserLimitReportFormat hooks, deprecated
+  ParserLimitReport hook.
 * New user rights have been added to increase granularity in rights management
   for extensions such as OAuth:
 ** editmyusercss controls whether a user may edit their own CSS subpages.
@@ -251,7 +255,6 @@ production.
   revision as second argument now, rather than just the current section.
 * (bug 49694) $wgSpamRegex is now also applied on the new section headline text
   adding a new topic on a page
-* (bug 6200) line breaks in <blockquote> are handled like they are in <div>
 * (bug 41756) Improve treatment of multiple comments on a blank line.
 
 === API changes in 1.22 ===
index 23ed032..50b97a3 100644 (file)
@@ -1802,10 +1802,29 @@ cache or return false to not use it.
 $parser: Parser object
 $varCache: variable cache (array)
 
-'ParserLimitReport': Called at the end of Parser:parse() when the parser will
+'ParserLimitReport': DEPRECATED, use ParserLimitReportPrepare and
+ParserLimitReportFormat instead.
+Called at the end of Parser:parse() when the parser will
 include comments about size of the text parsed.
 $parser: Parser object
-$limitReport: text that will be included (without comment tags)
+&$limitReport: text that will be included (without comment tags)
+
+'ParserLimitReportFormat': Called for each row in the parser limit report that
+needs formatting. If nothing handles this hook, the default is to use "$key" to
+get the label, and "$key-value" or "$key-value-text"/"$key-value-html" to
+format the value.
+$key: Key for the limit report item (string)
+$value: Value of the limit report item
+&$report: String onto which to append the data
+$isHTML: If true, $report is an HTML table with two columns; if false, it's
+       text intended for display in a monospaced font.
+$localize: If false, $report should be output in English.
+
+'ParserLimitReportPrepare': Called at the end of Parser:parse() when the parser will
+include comments about size of the text parsed. Hooks should use
+$output->setLimitReportData() to populate data.
+$parser: Parser object
+$output: ParserOutput object
 
 'ParserMakeImageParams': Called before the parser make an image link, use this
 to modify the parameters of the image.
index dc9acf3..42d7d88 100644 (file)
@@ -665,6 +665,8 @@ $wgAutoloadLocalClasses = array(
        'JobQueueAggregatorMemc' => 'includes/job/aggregator/JobQueueAggregatorMemc.php',
        'JobQueueAggregatorRedis' => 'includes/job/aggregator/JobQueueAggregatorRedis.php',
        'JobQueueDB' => 'includes/job/JobQueueDB.php',
+       'JobQueueConnectionError' => 'includes/job/JobQueue.php',
+       'JobQueueError' => 'includes/job/JobQueue.php',
        'JobQueueGroup' => 'includes/job/JobQueueGroup.php',
        'JobQueueFederated' => 'includes/job/JobQueueFederated.php',
        'JobQueueRedis' => 'includes/job/JobQueueRedis.php',
index 8e0dff6..0266659 100644 (file)
@@ -308,7 +308,9 @@ $wgActionPaths = array();
  * @{
  */
 
-/** Uploads have to be specially set up to be secure */
+/**
+ * Uploads have to be specially set up to be secure
+ */
 $wgEnableUploads = false;
 
 /**
@@ -316,7 +318,9 @@ $wgEnableUploads = false;
  */
 $wgUploadStashMaxAge = 6 * 3600; // 6 hours
 
-/** Allows to move images and other media files */
+/**
+ * Allows to move images and other media files
+ */
 $wgAllowImageMoving = true;
 
 /**
@@ -443,7 +447,9 @@ $wgImgAuthPublicTest = true;
  */
 $wgLocalFileRepo = false;
 
-/** @see $wgLocalFileRepo */
+/**
+ * @see $wgLocalFileRepo
+ */
 $wgForeignFileRepos = array();
 
 /**
@@ -534,22 +540,36 @@ $wgUpdateCompatibleMetadata = false;
  */
 $wgUseSharedUploads = false;
 
-/** Full path on the web server where shared uploads can be found */
+/**
+ * Full path on the web server where shared uploads can be found
+ */
 $wgSharedUploadPath = "http://commons.wikimedia.org/shared/images";
 
-/** Fetch commons image description pages and display them on the local wiki? */
+/**
+ * Fetch commons image description pages and display them on the local wiki?
+ */
 $wgFetchCommonsDescriptions = false;
 
-/** Path on the file system where shared uploads can be found. */
+/**
+ * Path on the file system where shared uploads can be found.
+ */
 $wgSharedUploadDirectory = "/var/www/wiki3/images";
 
-/** DB name with metadata about shared directory. Set this to false if the uploads do not come from a wiki. */
+/**
+ * DB name with metadata about shared directory.
+ * Set this to false if the uploads do not come from a wiki.
+ */
 $wgSharedUploadDBname = false;
 
-/** Optional table prefix used in database. */
+/**
+ * Optional table prefix used in database.
+ */
 $wgSharedUploadDBprefix = '';
 
-/** Cache shared metadata in memcached. Don't do this if the commons wiki is in a different memcached domain */
+/**
+ * Cache shared metadata in memcached.
+ * Don't do this if the commons wiki is in a different memcached domain
+ */
 $wgCacheSharedUploads = true;
 
 /**
@@ -655,6 +675,7 @@ $wgUploadMissingFileUrl = false;
  * @endcode
  */
 $wgThumbnailScriptPath = false;
+
 /**
  * @see $wgThumbnailScriptPath
  */
@@ -833,15 +854,25 @@ $wgContentHandlers = array(
  * Use Image Magick instead of PHP builtin functions.
  */
 $wgUseImageMagick = false;
-/** The convert command shipped with ImageMagick */
+
+/**
+ * The convert command shipped with ImageMagick
+ */
 $wgImageMagickConvertCommand = '/usr/bin/convert';
-/** The identify command shipped with ImageMagick */
+
+/**
+ * The identify command shipped with ImageMagick
+ */
 $wgImageMagickIdentifyCommand = '/usr/bin/identify';
 
-/** Sharpening parameter to ImageMagick */
+/**
+ * Sharpening parameter to ImageMagick
+ */
 $wgSharpenParameter = '0x0.4';
 
-/** Reduction in linear dimensions below which sharpening will be enabled */
+/**
+ * Reduction in linear dimensions below which sharpening will be enabled
+ */
 $wgSharpenReductionThreshold = 0.85;
 
 /**
@@ -864,13 +895,13 @@ $wgImageMagickTempDir = false;
  */
 $wgCustomConvertCommand = false;
 
-/** used for lossless jpeg rotation
+/**
+ * used for lossless jpeg rotation
  *
  * @since 1.21
- * **/
+ */
 $wgJpegTran = '/usr/bin/jpegtran';
 
-
 /**
  * Some tests and extensions use exiv2 to manipulate the Exif metadata in some
  * image formats.
@@ -896,16 +927,23 @@ $wgSVGConverters = array(
        'ImagickExt' => array( 'SvgHandler::rasterizeImagickExt' ),
 );
 
-/** Pick a converter defined in $wgSVGConverters */
+/**
+ * Pick a converter defined in $wgSVGConverters
+ */
 $wgSVGConverter = 'ImageMagick';
 
-/** If not in the executable PATH, specify the SVG converter path. */
+/**
+ * If not in the executable PATH, specify the SVG converter path.
+ */
 $wgSVGConverterPath = '';
 
-/** Don't scale a SVG larger than this */
+/**
+ * Don't scale a SVG larger than this
+ */
 $wgSVGMaxSize = 2048;
 
-/** Don't read SVG metadata beyond this point.
+/**
+ * Don't read SVG metadata beyond this point.
  * Default is 1024*256 bytes
  */
 $wgSVGMetadataCutoff = 262144;
@@ -937,6 +975,7 @@ $wgAllowTitlesInSVG = false;
  * 12.5 million pixels or 3500x3500.
  */
 $wgMaxImageArea = 1.25e7;
+
 /**
  * Force thumbnailing of animated GIFs above this size to a single
  * frame instead of an animated thumbnail.  As of MW 1.17 this limit
@@ -944,6 +983,7 @@ $wgMaxImageArea = 1.25e7;
  * It probably makes sense to keep this equal to $wgMaxImageArea.
  */
 $wgMaxAnimatedGifArea = 1.25e7;
+
 /**
  * Browsers don't support TIFF inline generally...
  * For inline display, we need to convert to PNG or JPEG.
@@ -994,7 +1034,9 @@ $wgGenerateThumbnailOnParse = true;
  */
 $wgShowArchiveThumbnails = true;
 
-/** Obsolete, always true, kept for compatibility with extensions */
+/**
+ * Obsolete, always true, kept for compatibility with extensions
+ */
 $wgUseImageResize = true;
 
 /**
@@ -1060,20 +1102,28 @@ $wgAntivirusSetup = array(
        ),
 );
 
-/** Determines if a failed virus scan (AV_SCAN_FAILED) will cause the file to be rejected. */
+/**
+ * Determines if a failed virus scan (AV_SCAN_FAILED) will cause the file to be rejected.
+ */
 $wgAntivirusRequired = true;
 
-/** Determines if the mime type of uploaded files should be checked */
+/**
+ * Determines if the mime type of uploaded files should be checked
+ */
 $wgVerifyMimeType = true;
 
-/** Sets the mime type definition file to use by MimeMagic.php. */
+/**
+ * Sets the mime type definition file to use by MimeMagic.php.
+ * Set to null, to use built-in defaults only.
+ * example: $wgMimeTypeFile = '/etc/mime.types';
+ */
 $wgMimeTypeFile = 'includes/mime.types';
-#$wgMimeTypeFile = '/etc/mime.types';
-#$wgMimeTypeFile = null; #use built-in defaults only.
 
-/** Sets the mime type info file to use by MimeMagic.php. */
+/**
+ * Sets the mime type info file to use by MimeMagic.php.
+ * Set to null, to use built-in defaults only.
+ */
 $wgMimeInfoFile = 'includes/mime.info';
-#$wgMimeInfoFile = null; #use built-in defaults only.
 
 /**
  * Switch for loading the FileInfo extension by PECL at runtime.
@@ -1082,7 +1132,8 @@ $wgMimeInfoFile = 'includes/mime.info';
  */
 $wgLoadFileinfoExtension = false;
 
-/** Sets an external mime detector program. The command must print only
+/**
+ * Sets an external mime detector program. The command must print only
  * the mime type to standard output.
  * The name of the file to process will be appended to the command given here.
  * If not set or NULL, mime_content_type will be used if available.
@@ -1180,25 +1231,26 @@ $wgResponsiveImages = true;
  * @name DJVU settings
  * @{
  */
+
 /**
  * Path of the djvudump executable
  * Enable this and $wgDjvuRenderer to enable djvu rendering
+ * example: $wgDjvuDump = 'djvudump';
  */
-# $wgDjvuDump = 'djvudump';
 $wgDjvuDump = null;
 
 /**
  * Path of the ddjvu DJVU renderer
  * Enable this and $wgDjvuDump to enable djvu rendering
+ * example: $wgDjvuRenderer = 'ddjvu';
  */
-# $wgDjvuRenderer = 'ddjvu';
 $wgDjvuRenderer = null;
 
 /**
  * Path of the djvutxt DJVU text extraction utility
  * Enable this and $wgDjvuDump to enable text layer extraction from djvu files
+ * example: $wgDjvuTxt = 'djvutxt';
  */
-# $wgDjvuTxt = 'djvutxt';
 $wgDjvuTxt = null;
 
 /**
@@ -1223,10 +1275,12 @@ $wgDjvuToXML = null;
  * Set this to false to output the ppm file directly.
  */
 $wgDjvuPostProcessor = 'pnmtojpeg';
+
 /**
  * File extension for the DJVU post processor output
  */
 $wgDjvuOutputExtension = 'jpg';
+
 /** @} */ # end of DJvu }
 
 /** @} */ # end of file uploads }
@@ -1341,7 +1395,8 @@ $wgAllowHTMLEmail = false;
 $wgEnotifFromEditor = false;
 
 // TODO move UPO to preferences probably ?
-# If set to true, users get a corresponding option in their preferences and can choose to enable or disable at their discretion
+# If set to true, users get a corresponding option in their preferences and can choose to
+# enable or disable at their discretion
 # If set to false, the corresponding input form on the user preference page is suppressed
 # It call this to be a "user-preferences-option (UPO)"
 
@@ -1407,33 +1462,61 @@ $wgEnotifUseRealName = false;
  */
 $wgUsersNotifiedOnAllChanges = array();
 
-
 /** @} */ # end of email settings
 
 /************************************************************************//**
  * @name   Database settings
  * @{
  */
-/** Database host name or IP address */
+
+/**
+ * Database host name or IP address
+ */
 $wgDBserver = 'localhost';
-/** Database port number (for PostgreSQL) */
+
+/**
+ * Database port number (for PostgreSQL)
+ */
 $wgDBport = 5432;
-/** Name of the database */
+
+/**
+ * Name of the database
+ */
 $wgDBname = 'my_wiki';
-/** Database username */
+
+/**
+ * Database username
+ */
 $wgDBuser = 'wikiuser';
-/** Database user's password */
+
+/**
+ * Database user's password
+ */
 $wgDBpassword = '';
-/** Database type */
+
+/**
+ * Database type
+ */
 $wgDBtype = 'mysql';
-/** Whether to use SSL in DB connection. */
+
+/**
+ * Whether to use SSL in DB connection.
+ */
 $wgDBssl = false;
-/** Whether to use compression in DB connection. */
+
+/**
+ * Whether to use compression in DB connection.
+ */
 $wgDBcompress = false;
 
-/** Separate username for maintenance tasks. Leave as null to use the default. */
+/**
+ * Separate username for maintenance tasks. Leave as null to use the default.
+ */
 $wgDBadminuser = null;
-/** Separate password for maintenance tasks. Leave as null to use the default. */
+
+/**
+ * Separate password for maintenance tasks. Leave as null to use the default.
+ */
 $wgDBadminpassword = null;
 
 /**
@@ -1444,9 +1527,23 @@ $wgDBadminpassword = null;
  */
 $wgSearchType = null;
 
-/** Table name prefix */
+/**
+ * Alternative search types
+ * Sometimes you want to support multiple search engines for testing. This
+ * allows users to select their search engine of choice via url parameters
+ * to Special:Search and the action=search API. If using this, there's no
+ * need to add $wgSearchType to it, that is handled automatically.
+ */
+$wgSearchTypeAlternatives = null;
+
+/**
+ * Table name prefix
+ */
 $wgDBprefix = '';
-/** MySQL table options to use during installation or update */
+
+/**
+ * MySQL table options to use during installation or update
+ */
 $wgDBTableOptions = 'ENGINE=InnoDB';
 
 /**
@@ -1457,10 +1554,14 @@ $wgDBTableOptions = 'ENGINE=InnoDB';
  */
 $wgSQLMode = '';
 
-/** Mediawiki schema */
+/**
+ * Mediawiki schema
+ */
 $wgDBmwschema = 'mediawiki';
 
-/** To override default SQLite data directory ($docroot/../data) */
+/**
+ * To override default SQLite data directory ($docroot/../data)
+ */
 $wgSQLiteDataDir = '';
 
 /**
@@ -1494,9 +1595,14 @@ $wgAllDBsAreLocalhost = false;
  */
 $wgSharedDB = null;
 
-/** @see $wgSharedDB */
+/**
+ * @see $wgSharedDB
+ */
 $wgSharedPrefix = false;
-/** @see $wgSharedDB */
+
+/**
+ * @see $wgSharedDB
+ */
 $wgSharedTables = array( 'user', 'user_properties' );
 
 /**
@@ -1520,7 +1626,8 @@ $wgSharedTables = array( 'user', 'user_properties' );
  *                  - DBO_NOBUFFER -- turn off buffering (not useful in LocalSettings.php)
  *                  - DBO_PERSISTENT -- enables persistent database connections
  *                  - DBO_SSL -- uses SSL/TLS encryption in database connections, if available
- *                  - DBO_COMPRESS -- uses internal compression in database connections, if available
+ *                  - DBO_COMPRESS -- uses internal compression in database connections,
+ *                                    if available
  *
  *   - max lag:     (optional) Maximum replication lag before a slave will taken out of rotation
  *   - max threads: (optional) Maximum number of running threads
@@ -1559,10 +1666,14 @@ $wgDBservers = false;
  */
 $wgLBFactoryConf = array( 'class' => 'LBFactory_Simple' );
 
-/** How long to wait for a slave to catch up to the master */
+/**
+ * How long to wait for a slave to catch up to the master
+ */
 $wgMasterWaitTimeout = 10;
 
-/** File to log database errors to */
+/**
+ * File to log database errors to
+ */
 $wgDBerrorLog = false;
 
 /**
@@ -1585,7 +1696,9 @@ $wgDBerrorLog = false;
  */
 $wgDBerrorLogTZ = false;
 
-/** When to give an error message */
+/**
+ * When to give an error message
+ */
 $wgDBClusterTimeout = 10;
 
 /**
@@ -1655,7 +1768,10 @@ $wgLocalDatabases = array();
  * show a more obvious warning.
  */
 $wgSlaveLagWarning = 10;
-/** @see $wgSlaveLagWarning */
+
+/**
+ * @see $wgSlaveLagWarning
+ */
 $wgSlaveLagCritical = 30;
 
 /**@}*/ # End of DB settings }
@@ -1668,8 +1784,8 @@ $wgSlaveLagCritical = 30;
 /**
  * We can also compress text stored in the 'text' table. If this is set on, new
  * revisions will be compressed on page save if zlib support is available. Any
- * compressed revisions will be decompressed on load regardless of this setting
- * *but will not be readable at all* if zlib support is not available.
+ * compressed revisions will be decompressed on load regardless of this setting,
+ * but will not be readable at all* if zlib support is not available.
  */
 $wgCompressRevisions = false;
 
@@ -1732,17 +1848,35 @@ $wgRevisionCacheExpiry = 0;
  * @name   Performance hacks and limits
  * @{
  */
-/** Disable database-intensive features */
+
+/**
+ * Disable database-intensive features
+ */
 $wgMiserMode = false;
-/** Disable all query pages if miser mode is on, not just some */
+
+/**
+ * Disable all query pages if miser mode is on, not just some
+ */
 $wgDisableQueryPages = false;
-/** Number of rows to cache in 'querycache' table when miser mode is on */
+
+/**
+ * Number of rows to cache in 'querycache' table when miser mode is on
+ */
 $wgQueryCacheLimit = 1000;
-/** Number of links to a page required before it is deemed "wanted" */
+
+/**
+ * Number of links to a page required before it is deemed "wanted"
+ */
 $wgWantedPagesThreshold = 1;
-/** Enable slow parser functions */
+
+/**
+ * Enable slow parser functions
+ */
 $wgAllowSlowParserFunctions = false;
-/** Allow schema updates */
+
+/**
+ * Allow schema updates
+ */
 $wgAllowSchemaUpdates = true;
 
 /**
@@ -1917,10 +2051,14 @@ $wgObjectCacheSessionExpiry = 3600;
  */
 $wgSessionHandler = null;
 
-/** If enabled, will send MemCached debugging information to $wgDebugLogFile */
+/**
+ * If enabled, will send MemCached debugging information to $wgDebugLogFile
+ */
 $wgMemCachedDebug = false;
 
-/** The list of MemCached servers and port numbers */
+/**
+ * The list of MemCached servers and port numbers
+ */
 $wgMemCachedServers = array( '127.0.0.1:11211' );
 
 /**
@@ -1976,7 +2114,9 @@ $wgLocalisationCacheConf = array(
        'manualRecache' => false,
 );
 
-/** Allow client-side caching of pages */
+/**
+ * Allow client-side caching of pages
+ */
 $wgCachePages = true;
 
 /**
@@ -2062,7 +2202,8 @@ $wgUseGzip = false;
  */
 $wgUseETag = false;
 
-/** Clock skew or the one-second resolution of time() can occasionally cause cache
+/**
+ * Clock skew or the one-second resolution of time() can occasionally cause cache
  * problems when the user requests two pages within a short period of time. This
  * variable adds a given number of seconds to vulnerable timestamps, thereby giving
  * a grace period.
@@ -2101,13 +2242,18 @@ $wgInvalidateCacheOnLocalSettingsChange = true;
  */
 $wgUseSquid = false;
 
-/** If you run Squid3 with ESI support, enable this (default:false): */
+/**
+ * If you run Squid3 with ESI support, enable this (default:false):
+ */
 $wgUseESI = false;
 
-/** Send X-Vary-Options header for better caching (requires patched Squid) */
+/**
+ * Send X-Vary-Options header for better caching (requires patched Squid)
+ */
 $wgUseXVO = false;
 
-/** Add X-Forwarded-Proto to the Vary and X-Vary-Options headers for API
+/**
+ * Add X-Forwarded-Proto to the Vary and X-Vary-Options headers for API
  * requests and RSS/Atom feeds. Use this if you have an SSL termination setup
  * and need to split the cache between HTTP and HTTPS for API requests,
  * feed requests and HTTP redirect responses in order to prevent cache
@@ -2155,7 +2301,9 @@ $wgSquidServers = array();
  */
 $wgSquidServersNoPurge = array();
 
-/** Maximum number of titles to purge in any one client operation */
+/**
+ * Maximum number of titles to purge in any one client operation
+ */
 $wgMaxSquidPurgeTitles = 400;
 
 /**
@@ -2274,7 +2422,9 @@ $wgHTCPPort = 4827;
  */
 $wgHTCPMulticastTTL = 1;
 
-/** Should forwarded Private IPs be accepted? */
+/**
+ * Should forwarded Private IPs be accepted?
+ */
 $wgUsePrivateIPs = false;
 
 /** @} */ # end of HTTP proxy settings
@@ -2318,13 +2468,19 @@ $wgLangObjCacheSize = 10;
  */
 $wgGrammarForms = array();
 
-/** Treat language links as magic connectors, not inline links */
+/**
+ * Treat language links as magic connectors, not inline links
+ */
 $wgInterwikiMagic = true;
 
-/** Hide interlanguage links from the sidebar */
+/**
+ * Hide interlanguage links from the sidebar
+ */
 $wgHideInterlanguageLinks = false;
 
-/** List of language names or overrides for default names in Names.php */
+/**
+ * List of language names or overrides for default names in Names.php
+ */
 $wgExtraLanguageNames = array();
 
 /**
@@ -2424,7 +2580,8 @@ $wgBrowserBlackList = array(
        '/^Mozilla\/4\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
 
        /**
-        * MSIE on Mac OS 9 is teh sux0r, converts þ to <thorn>, ð to <eth>, Þ to <THORN> and Ð to <ETH>
+        * MSIE on Mac OS 9 is teh sux0r, converts þ to <thorn>, ð to <eth>,
+        * Þ to <THORN> and Ð to <ETH>
         *
         * Known useragents:
         * - Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)
@@ -2432,7 +2589,7 @@ $wgBrowserBlackList = array(
         * - Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)
         * - [...]
         *
-        * @link http://en.wikipedia.org/w/index.php?title=User%3A%C6var_Arnfj%F6r%F0_Bjarmason%2Ftestme&diff=12356041&oldid=12355864
+        * @link http://en.wikipedia.org/w/index.php?diff=12356041&oldid=12355864
         * @link http://en.wikipedia.org/wiki/Template%3AOS9
         */
        '/^Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/',
@@ -2463,6 +2620,7 @@ $wgLegacySchemaConversion = false;
  * the interface is set to English.
  */
 $wgAmericanDates = false;
+
 /**
  * For Hindi and Arabic use local numerals instead of Western style (0-9)
  * numerals in interface.
@@ -2485,16 +2643,24 @@ $wgMsgCacheExpiry = 86400;
  */
 $wgMaxMsgCacheEntrySize = 10000;
 
-/** Whether to enable language variant conversion. */
+/**
+ * Whether to enable language variant conversion.
+ */
 $wgDisableLangConversion = false;
 
-/** Whether to enable language variant conversion for links. */
+/**
+ * Whether to enable language variant conversion for links.
+ */
 $wgDisableTitleConversion = false;
 
-/** Whether to enable canonical language links in meta data. */
+/**
+ * Whether to enable canonical language links in meta data.
+ */
 $wgCanonicalLanguageLinks = true;
 
-/** Default variant code, if false, the default will be the language code */
+/**
+ * Default variant code, if false, the default will be the language code
+ */
 $wgDefaultLanguageVariant = false;
 
 /**
@@ -2598,7 +2764,9 @@ $wgLocalTZoffset = null;
  * @{
  */
 
-/** The default Content-Type header. */
+/**
+ * The default Content-Type header.
+ */
 $wgMimeType = 'text/html';
 
 /**
@@ -2728,7 +2896,10 @@ $wgDefaultSkin = 'vector';
  * remove from the .../skins/ directory
  */
 $wgSkipSkin = '';
-/** Array for more like $wgSkipSkin. */
+
+/**
+ * Array for more like $wgSkipSkin.
+ */
 $wgSkipSkins = array();
 
 /**
@@ -2752,10 +2923,14 @@ $wgAllowUserCss = false;
  */
 $wgAllowUserCssPrefs = true;
 
-/** Use the site's Javascript page? */
+/**
+ * Use the site's Javascript page?
+ */
 $wgUseSiteJs = true;
 
-/** Use the site's Cascading Style Sheets (CSS)? */
+/**
+ * Use the site's Cascading Style Sheets (CSS)?
+ */
 $wgUseSiteCss = true;
 
 /**
@@ -2829,9 +3004,10 @@ $wgExperimentalHtmlIds = false;
  * The value should be either a string or an array. If it is a string it will be output
  * directly as html, however some skins may choose to ignore it. An array is the preferred format
  * for the icon, the following keys are used:
- *  - src: An absolute url to the image to use for the icon, this is recommended
+ * - src: An absolute url to the image to use for the icon, this is recommended
  *        but not required, however some skins will ignore icons without an image
- * - url: The url to use in the a element around the text or icon, if not set an a element will not be outputted
+ * - url: The url to use in the a element around the text or icon, if not set an a element will
+ *        not be outputted
  * - alt: This is the text form of the icon, it will be displayed without an image in
  *        skins like Modern or if src is not set, and will otherwise be used as
  *        the alt="" for the image. This key is required.
@@ -3191,7 +3367,8 @@ $wgNamespaceAliases = array();
  *   -  []{}|#    Are needed for link syntax, never enable these
  *   -  <>        Causes problems with HTML escaping, don't use
  *   -  %         Enabled by default, minor problems with path to query rewrite rules, see below
- *   -  +         Enabled by default, but doesn't work with path to query rewrite rules, corrupted by apache
+ *   -  +         Enabled by default, but doesn't work with path to query rewrite rules,
+ *                corrupted by apache
  *   -  ?         Enabled by default, but doesn't work with path to PATH_INFO rewrites
  *
  * All three of these punctuation problems can be avoided by using an alias,
@@ -3225,6 +3402,7 @@ $wgInterwikiExpiry = 10800;
  * @name Interwiki caching settings.
  * @{
  */
+
 /**
  *$wgInterwikiCache specifies path to constant database file.
  *
@@ -3239,6 +3417,7 @@ $wgInterwikiExpiry = 10800;
  * data layout.
  */
 $wgInterwikiCache = false;
+
 /**
  * Specify number of domains to check for messages.
  *    - 1: Just wiki(db)-level
@@ -3246,10 +3425,12 @@ $wgInterwikiCache = false;
  *    - 3: site levels
  */
 $wgInterwikiScopes = 3;
+
 /**
- *    $wgInterwikiFallbackSite - if unable to resolve from cache
+ * Fallback site, if unable to resolve from cache
  */
 $wgInterwikiFallbackSite = 'wiki';
+
 /** @} */ # end of Interwiki caching settings.
 
 /**
@@ -3294,7 +3475,8 @@ $wgCapitalLinks = true;
  */
 $wgCapitalLinkOverrides = array();
 
-/** Which namespaces should support subpages?
+/**
+ * Which namespaces should support subpages?
  * See Language.php for a list of namespaces.
  */
 $wgNamespacesWithSubpages = array(
@@ -3373,7 +3555,9 @@ $wgParserConf = array(
        #'preprocessorClass' => 'Preprocessor_Hash',
 );
 
-/** Maximum indent level of toc. */
+/**
+ * Maximum indent level of toc.
+ */
 $wgMaxTocLevel = 999;
 
 /**
@@ -3401,10 +3585,14 @@ $wgMaxGeneratedPPNodeCount = 1000000;
  */
 $wgMaxTemplateDepth = 40;
 
-/** @see $wgMaxTemplateDepth */
+/**
+ * @see $wgMaxTemplateDepth
+ */
 $wgMaxPPExpandDepth = 40;
 
-/** The external URL protocols */
+/**
+ * The external URL protocols
+ */
 $wgUrlProtocols = array(
        'http://',
        'https://',
@@ -3431,7 +3619,7 @@ $wgUrlProtocols = array(
        'bitcoin:', // Even registerProtocolHandler whitelists this along with mailto:
        'magnet:', // No reason to reject torrents over magnet: when they're allowed over http://
        'urn:', // Allow URNs to be used in Microdata/RDFa <link ... href="urn:...">s
-       'geo:', // geo: urls define locations, they're useful in Microdata/RDFa and when mentioning coordinates.
+       'geo:', // urls define geo locations, they're useful in Microdata/RDFa and for coordinates
        '//', // for protocol-relative URLs
 );
 
@@ -3440,7 +3628,9 @@ $wgUrlProtocols = array(
  */
 $wgCleanSignatures = true;
 
-/**  Whether to allow inline image pointing to other websites */
+/**
+ * Whether to allow inline image pointing to other websites
+ */
 $wgAllowExternalImages = false;
 
 /**
@@ -3457,7 +3647,8 @@ $wgAllowExternalImages = false;
  */
 $wgAllowExternalImagesFrom = '';
 
-/** If $wgAllowExternalImages is false, you can allow an on-wiki
+/**
+ * If $wgAllowExternalImages is false, you can allow an on-wiki
  * whitelist of regular expression fragments to match the image URL
  * against. If the image matches one of the regular expression fragments,
  * The image will be displayed.
@@ -3493,15 +3684,30 @@ $wgAllowImageTag = false;
  *   'extension=tidy.so' to php.ini.
  */
 $wgUseTidy = false;
-/** @see $wgUseTidy */
+
+/**
+ * @see $wgUseTidy
+ */
 $wgAlwaysUseTidy = false;
-/** @see $wgUseTidy */
+
+/**
+ * @see $wgUseTidy
+ */
 $wgTidyBin = 'tidy';
-/** @see $wgUseTidy */
+
+/**
+ * @see $wgUseTidy
+ */
 $wgTidyConf = $IP . '/includes/tidy.conf';
-/** @see $wgUseTidy */
+
+/**
+ * @see $wgUseTidy
+ */
 $wgTidyOpts = '';
-/** @see $wgUseTidy */
+
+/**
+ * @see $wgUseTidy
+ */
 $wgTidyInternal = extension_loaded( 'tidy' );
 
 /**
@@ -3510,7 +3716,8 @@ $wgTidyInternal = extension_loaded( 'tidy' );
  */
 $wgDebugTidy = false;
 
-/** Allow raw, unchecked HTML in "<html>...</html>" sections.
+/**
+ * Allow raw, unchecked HTML in "<html>...</html>" sections.
  * THIS IS VERY DANGEROUS on a publicly editable site, so USE wgGroupPermissions
  * TO RESTRICT EDITING to only those that you trust
  */
@@ -3643,7 +3850,9 @@ $wgActiveUserDays = 30;
  * @{
  */
 
-/** For compatibility with old installations set to false */
+/**
+ * For compatibility with old installations set to false
+ */
 $wgPasswordSalt = true;
 
 /**
@@ -3757,7 +3966,9 @@ $wgDefaultUserOptions = array(
        'useeditwarning' => 1,
 );
 
-/** An array of preferences to not show for the user */
+/**
+ * An array of preferences to not show for the user
+ */
 $wgHiddenPrefs = array();
 
 /**
@@ -3810,7 +4021,9 @@ $wgAutoblockExpiry = 86400;
  */
 $wgBlockAllowsUTEdit = false;
 
-/** Allow sysops to ban users from accessing Emailuser */
+/**
+ * Allow sysops to ban users from accessing Emailuser
+ */
 $wgSysopEmailBans = true;
 
 /**
@@ -3973,9 +4186,12 @@ $wgGroupPermissions['bot']['writeapi'] = true;
 $wgGroupPermissions['sysop']['block'] = true;
 $wgGroupPermissions['sysop']['createaccount'] = true;
 $wgGroupPermissions['sysop']['delete'] = true;
-$wgGroupPermissions['sysop']['bigdelete'] = true; // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
-$wgGroupPermissions['sysop']['deletedhistory'] = true; // can view deleted history entries, but not see or restore the text
-$wgGroupPermissions['sysop']['deletedtext'] = true; // can view deleted revision text
+// can be separately configured for pages with > $wgDeleteRevisionsLimit revs
+$wgGroupPermissions['sysop']['bigdelete'] = true;
+// can view deleted history entries, but not see or restore the text
+$wgGroupPermissions['sysop']['deletedhistory'] = true;
+// can view deleted revision text
+$wgGroupPermissions['sysop']['deletedtext'] = true;
 $wgGroupPermissions['sysop']['undelete'] = true;
 $wgGroupPermissions['sysop']['editinterface'] = true;
 $wgGroupPermissions['sysop']['editusercss'] = true;
@@ -4075,7 +4291,9 @@ $wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
  */
 $wgGroupsAddToSelf = array();
 
-/** @see $wgGroupsAddToSelf */
+/**
+ * @see $wgGroupsAddToSelf
+ */
 $wgGroupsRemoveFromSelf = array();
 
 /**
@@ -4247,7 +4465,10 @@ $wgAutopromoteOnceLogInRC = true;
  * @endcode
  */
 $wgAddGroups = array();
-/** @see $wgAddGroups */
+
+/**
+ * @see $wgAddGroups
+ */
 $wgRemoveGroups = array();
 
 /**
@@ -4282,7 +4503,9 @@ $wgAccountCreationThrottle = 0;
  */
 $wgSpamRegex = array();
 
-/** Same as the above except for edit summaries */
+/**
+ * Same as the above except for edit summaries
+ */
 $wgSummarySpamRegex = array();
 
 /**
@@ -4431,13 +4654,25 @@ $wgPasswordAttemptThrottle = array( 'count' => 5, 'seconds' => 300 );
  * You have been warned.
  */
 $wgBlockOpenProxies = false;
-/** Port we want to scan for a proxy */
+
+/**
+ * Port we want to scan for a proxy
+ */
 $wgProxyPorts = array( 80, 81, 1080, 3128, 6588, 8000, 8080, 8888, 65506 );
-/** Script used to scan */
+
+/**
+ * Script used to scan
+ */
 $wgProxyScriptPath = "$IP/maintenance/proxyCheck.php";
-/** Expiration time for cached proxy IPs */
+
+/**
+ * Expiration time for cached proxy IPs
+ */
 $wgProxyMemcExpiry = 86400;
-/** This should always be customised in LocalSettings.php */
+
+/**
+ * This should always be customised in LocalSettings.php
+ */
 $wgSecretKey = false;
 
 /**
@@ -4521,10 +4756,14 @@ $wgHttpOnlyBlacklist = array(
        '/^Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/',
 );
 
-/** A list of cookies that vary the cache (for use by extensions) */
+/**
+ * A list of cookies that vary the cache (for use by extensions)
+ */
 $wgCacheVaryCookies = array();
 
-/** Override to customise the session name */
+/**
+ * Override to customise the session name
+ */
 $wgSessionName = false;
 
 /** @} */ # end of cookie settings }
@@ -4681,10 +4920,14 @@ $wgDevelopmentWarnings = false;
  */
 $wgDeprecationReleaseLimit = false;
 
-/** Only record profiling info for pages that took longer than this */
+/**
+ * Only record profiling info for pages that took longer than this
+ */
 $wgProfileLimit = 0.0;
 
-/** Don't put non-profiling info into log file */
+/**
+ * Don't put non-profiling info into log file
+ */
 $wgProfileOnly = false;
 
 /**
@@ -4699,10 +4942,14 @@ $wgProfileOnly = false;
  */
 $wgProfileToDatabase = false;
 
-/** If true, print a raw call tree instead of per-function report */
+/**
+ * If true, print a raw call tree instead of per-function report
+ */
 $wgProfileCallTree = false;
 
-/** Should application server host be put into profiling table */
+/**
+ * Should application server host be put into profiling table
+ */
 $wgProfilePerHost = false;
 
 /**
@@ -4719,10 +4966,14 @@ $wgUDPProfilerHost = '127.0.0.1';
  */
 $wgUDPProfilerPort = '3811';
 
-/** Detects non-matching wfProfileIn/wfProfileOut calls */
+/**
+ * Detects non-matching wfProfileIn/wfProfileOut calls
+ */
 $wgDebugProfiling = false;
 
-/** Output debug message on every wfProfileIn/wfProfileOut */
+/**
+ * Output debug message on every wfProfileIn/wfProfileOut
+ */
 $wgDebugFunctionEntry = false;
 
 /**
@@ -4741,7 +4992,8 @@ $wgStatsMethod = 'cache';
  */
 $wgAggregateStatsID = false;
 
-/** Whereas to count the number of time an article is viewed.
+/**
+ * Whereas to count the number of time an article is viewed.
  * Does not work if pages are cached (for example with squid).
  */
 $wgDisableCounters = false;
@@ -5013,7 +5265,9 @@ $wgPreviewOnOpenNamespaces = array(
        NS_CATEGORY => true
 );
 
-/** Go button goes straight to the edit screen if the article doesn't exist. */
+/**
+ * Go button goes straight to the edit screen if the article doesn't exist.
+ */
 $wgGoToEdit = false;
 
 /**
@@ -5047,7 +5301,9 @@ if ( !isset( $wgCommandLineMode ) ) {
 }
 /** @endcond */
 
-/** For colorized maintenance script output, is your terminal background dark ? */
+/**
+ * For colorized maintenance script output, is your terminal background dark ?
+ */
 $wgCommandLineDarkBg = false;
 
 /**
@@ -5106,7 +5362,8 @@ $wgGitBin = '/usr/bin/git';
  */
 $wgGitRepositoryViewers = array(
        'https://gerrit.wikimedia.org/r/p/(.*)' => 'https://git.wikimedia.org/commit/%r/%H',
-       'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' => 'https://git.wikimedia.org/commit/%r/%H',
+       'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)'
+               => 'https://git.wikimedia.org/commit/%r/%H',
 );
 
 /** @} */ # End of maintenance }
@@ -5177,23 +5434,34 @@ $wgRC2UDPOmitBots = false;
  */
 $wgEnableNewpagesUserFilter = true;
 
-/** Use RC Patrolling to check for vandalism */
+/**
+ * Use RC Patrolling to check for vandalism
+ */
 $wgUseRCPatrol = true;
 
-/** Use new page patrolling to check new pages on Special:Newpages */
+/**
+ * Use new page patrolling to check new pages on Special:Newpages
+ */
 $wgUseNPPatrol = true;
 
-/** Log autopatrol actions to the log table */
+/**
+ * Log autopatrol actions to the log table
+ */
 $wgLogAutopatrol = true;
 
-/** Provide syndication feeds (RSS, Atom) for, e.g., Recentchanges, Newpages */
+/**
+ * Provide syndication feeds (RSS, Atom) for, e.g., Recentchanges, Newpages
+ */
 $wgFeed = true;
 
-/** Set maximum number of results to return in syndication feeds (RSS, Atom) for
- * eg Recentchanges, Newpages. */
+/**
+ * Set maximum number of results to return in syndication feeds (RSS, Atom) for
+ * eg Recentchanges, Newpages.
+ */
 $wgFeedLimit = 50;
 
-/** _Minimum_ timeout for cached Recentchanges feed, in seconds.
+/**
+ * _Minimum_ timeout for cached Recentchanges feed, in seconds.
  * A cached version will continue to be served out even if changes
  * are made, until this many seconds runs out since the last render.
  *
@@ -5202,11 +5470,14 @@ $wgFeedLimit = 50;
  */
 $wgFeedCacheTimeout = 60;
 
-/** When generating Recentchanges RSS/Atom feed, diffs will not be generated for
- * pages larger than this size. */
+/**
+ * When generating Recentchanges RSS/Atom feed, diffs will not be generated for
+ * pages larger than this size.
+ */
 $wgFeedDiffCutoff = 32768;
 
-/** Override the site's default RSS/ATOM feed for recentchanges that appears on
+/**
+ * Override the site's default RSS/ATOM feed for recentchanges that appears on
  * every page. Some sites might have a different feed they'd like to promote
  * instead of the RC feed (maybe like a "Recent New Articles" or "Breaking news" one).
  * Should be a format as key (either 'rss' or 'atom') and an URL to the feed
@@ -5235,11 +5506,19 @@ $wgFeedClasses = array(
  */
 $wgAdvertisedFeedTypes = array( 'atom' );
 
-/** Show watching users in recent changes, watchlist and page history views */
+/**
+ * Show watching users in recent changes, watchlist and page history views
+ */
 $wgRCShowWatchingUsers = false; # UPO
-/** Show watching users in Page views */
+
+/**
+ * Show watching users in Page views
+ */
 $wgPageShowWatchingUsers = false;
-/** Show the amount of changed characters in recent changes */
+
+/**
+ * Show the amount of changed characters in recent changes
+ */
 $wgRCShowChangedSize = true;
 
 /**
@@ -5251,7 +5530,8 @@ $wgRCChangedSizeThreshold = 500;
 
 /**
  * Show "Updated (since my last visit)" marker in RC view, watchlist and history
- * view for watched pages with new changes */
+ * view for watched pages with new changes
+ */
 $wgShowUpdatedMarker = true;
 
 /**
@@ -5324,15 +5604,17 @@ $wgRecentChangesFlags = array(
 $wgRightsPage = null;
 
 /**
- * Set this to specify an external URL containing details about the content license used on your wiki.
+ * Set this to specify an external URL containing details about the content license used on your
+ * wiki.
  * If $wgRightsPage is set then this setting is ignored.
  */
 $wgRightsUrl = null;
 
 /**
- * If either $wgRightsUrl or $wgRightsPage is specified then this variable gives the text for the link.
- * If using $wgRightsUrl then this value must be specified. If using $wgRightsPage then the name of the
- * page will also be used as the link if this variable is not set.
+ * If either $wgRightsUrl or $wgRightsPage is specified then this variable gives the text for the
+ * link.
+ * If using $wgRightsUrl then this value must be specified. If using $wgRightsPage then the name
+ * of the page will also be used as the link if this variable is not set.
  */
 $wgRightsText = null;
 
@@ -5352,7 +5634,9 @@ $wgLicenseTerms = false;
  */
 $wgCopyrightIcon = null;
 
-/** Set this to true if you want detailed copyright information forms on Upload. */
+/**
+ * Set this to true if you want detailed copyright information forms on Upload.
+ */
 $wgUseCopyrightUpload = false;
 
 /**
@@ -5364,8 +5648,10 @@ $wgUseCopyrightUpload = false;
  */
 $wgMaxCredits = 0;
 
-/** If there are more than $wgMaxCredits authors, show $wgMaxCredits of them.
- * Otherwise, link to a separate credits page. */
+/**
+ * If there are more than $wgMaxCredits authors, show $wgMaxCredits of them.
+ * Otherwise, link to a separate credits page.
+ */
 $wgShowCreditsIfMax = true;
 
 /** @} */ # end of copyright and credits settings }
@@ -6300,7 +6586,9 @@ $wgMaxBacklinksInvalidate = false;
  * @{
  */
 
-/** Name of the external diff engine to use */
+/**
+ * Name of the external diff engine to use
+ */
 $wgExternalDiffEngine = false;
 
 /**
@@ -6370,16 +6658,18 @@ $wgPoolCounterConf = null;
 $wgUploadMaintenance = false;
 
 /**
- * Associative array mapping namespace IDs to the name of the content model pages in that namespace should have by
- * default (use the CONTENT_MODEL_XXX constants). If no special content type is defined for a given namespace,
- * pages in that namespace will  use the CONTENT_MODEL_WIKITEXT (except for the special case of JS and CS pages).
+ * Associative array mapping namespace IDs to the name of the content model pages in that namespace
+ * should have by default (use the CONTENT_MODEL_XXX constants). If no special content type is
+ * defined for a given namespace, pages in that namespace will use the CONTENT_MODEL_WIKITEXT
+ * (except for the special case of JS and CS pages).
  *
  * @since 1.21
  */
 $wgNamespaceContentModels = array();
 
 /**
- * How to react if a plain text version of a non-text Content object is requested using ContentHandler::getContentText():
+ * How to react if a plain text version of a non-text Content object is requested using
+ * ContentHandler::getContentText():
  *
  * * 'ignore': return null
  * * 'fail': throw an MWException
@@ -6391,14 +6681,14 @@ $wgContentHandlerTextFallback = 'ignore';
 
 /**
  * Set to false to disable use of the database fields introduced by the ContentHandler facility.
- * This way, the ContentHandler facility can be used without any additional information in the database.
- * A page's content model is then derived solely from the page's title. This however means that changing
- * a page's default model (e.g. using $wgNamespaceContentModels) will break the page and/or make the content
- * inaccessible. This also means that pages can not be moved to a title that would default to a different
- * content model.
- *
- * Overall, with $wgContentHandlerUseDB = false, no database updates are needed, but content handling
- * is less robust and less flexible.
+ * This way, the ContentHandler facility can be used without any additional information in the
+ * database. A page's content model is then derived solely from the page's title. This however
+ * means that changing a page's default model (e.g. using $wgNamespaceContentModels) will break
+ * the page and/or make the content inaccessible. This also means that pages can not be moved to
+ * a title that would default to a different content model.
+ *
+ * Overall, with $wgContentHandlerUseDB = false, no database updates are needed, but content
+ * handling is less robust and less flexible.
  *
  * @since 1.21
  */
index 17a1946..fe1ca00 100644 (file)
@@ -2279,6 +2279,9 @@ class EditPage {
                $wgOut->addHTML( Html::rawElement( 'div', array( 'class' => 'hiddencats' ),
                        Linker::formatHiddenCategories( $this->mArticle->getHiddenCategories() ) ) );
 
+               $wgOut->addHTML( Html::rawElement( 'div', array( 'class' => 'limitreport' ),
+                       self::getPreviewLimitReport( $this->mParserOutput ) ) );
+
                $wgOut->addModules( 'mediawiki.action.edit.collapsibleFooter' );
 
                if ( $this->isConflict ) {
@@ -2858,6 +2861,59 @@ HTML
                        call_user_func_array( 'wfMessage', $copywarnMsg )->plain() . "\n</div>";
        }
 
+       /**
+        * Get the Limit report for page previews
+        *
+        * @since 1.22
+        * @param ParserOutput $output ParserOutput object from the parse
+        * @return string HTML
+        */
+       public static function getPreviewLimitReport( $output ) {
+               if ( !$output || !$output->getLimitReportData() ) {
+                       return '';
+               }
+
+               wfProfileIn( __METHOD__ );
+
+               $limitReport = Html::rawElement( 'div', array( 'class' => 'mw-limitReportExplanation' ),
+                       wfMessage( 'limitreport-title' )->parseAsBlock()
+               );
+
+               // Show/hide animation doesn't work correctly on a table, so wrap it in a div.
+               $limitReport .= Html::openElement( 'div', array( 'class' => 'preview-limit-report-wrapper' ) );
+
+               $limitReport .= Html::openElement( 'table', array(
+                       'class' => 'preview-limit-report wikitable'
+               ) ) .
+                       Html::openElement( 'tbody' );
+
+               foreach ( $output->getLimitReportData() as $key => $value ) {
+                       if ( wfRunHooks( 'ParserLimitReportFormat',
+                               array( $key, $value, &$limitReport, true, true )
+                       ) ) {
+                               $keyMsg = wfMessage( $key );
+                               $valueMsg = wfMessage( array( "$key-value-html", "$key-value" ) );
+                               if ( !$valueMsg->exists() ) {
+                                       $valueMsg = new RawMessage( '$1' );
+                               }
+                               if ( !$keyMsg->isDisabled() && !$valueMsg->isDisabled() ) {
+                                       $limitReport .= Html::openElement( 'tr' ) .
+                                               Html::rawElement( 'th', null, $keyMsg->parse() ) .
+                                               Html::rawElement( 'td', null, $valueMsg->params( $value )->parse() ) .
+                                               Html::closeElement( 'tr' );
+                               }
+                       }
+               }
+
+               $limitReport .= Html::closeElement( 'tbody' ) .
+                       Html::closeElement( 'table' ) .
+                       Html::closeElement( 'div' );
+
+               wfProfileOut( __METHOD__ );
+
+               return $limitReport;
+       }
+
        protected function showStandardInputs( &$tabindex = 2 ) {
                global $wgOut;
                $wgOut->addHTML( "<div class='editOptions'>\n" );
index 4679941..be4ec3e 100644 (file)
@@ -1225,36 +1225,31 @@ function wfIncrStats( $key, $count = 1 ) {
 }
 
 /**
- * Check if the wiki read-only lock file is present. This can be used to lock
- * off editing functions, but doesn't guarantee that the database will not be
- * modified.
+ * Check whether the wiki is in read-only mode.
  *
  * @return bool
  */
 function wfReadOnly() {
-       global $wgReadOnlyFile, $wgReadOnly;
-
-       if ( !is_null( $wgReadOnly ) ) {
-               return (bool)$wgReadOnly;
-       }
-       if ( $wgReadOnlyFile == '' ) {
-               return false;
-       }
-       // Set $wgReadOnly for faster access next time
-       if ( is_file( $wgReadOnlyFile ) ) {
-               $wgReadOnly = file_get_contents( $wgReadOnlyFile );
-       } else {
-               $wgReadOnly = false;
-       }
-       return (bool)$wgReadOnly;
+       return wfReadOnlyReason() !== false;
 }
 
 /**
- * @return bool
+ * Get the value of $wgReadOnly or the contents of $wgReadOnlyFile.
+ *
+ * @return string|bool: String when in read-only mode; false otherwise
  */
 function wfReadOnlyReason() {
-       global $wgReadOnly;
-       wfReadOnly();
+       global $wgReadOnly, $wgReadOnlyFile;
+
+       if ( $wgReadOnly === null ) {
+               // Set $wgReadOnly for faster access next time
+               if ( is_file( $wgReadOnlyFile ) && filesize( $wgReadOnlyFile ) > 0 ) {
+                       $wgReadOnly = file_get_contents( $wgReadOnlyFile );
+               } else {
+                       $wgReadOnly = false;
+               }
+       }
+
        return $wgReadOnly;
 }
 
index 4f5ac92..cfe5f1c 100644 (file)
@@ -377,10 +377,6 @@ if ( $wgInvalidateCacheOnLocalSettingsChange ) {
        $wgCacheEpoch = max( $wgCacheEpoch, gmdate( 'YmdHis', @filemtime( "$IP/LocalSettings.php" ) ) );
 }
 
-if ( $wgAjaxUploadDestCheck ) {
-       $wgAjaxExportList[] = 'SpecialUpload::ajaxGetExistsWarning';
-}
-
 if ( $wgNewUserLog ) {
        # Add a new log type
        $wgLogTypes[] = 'newusers';
index 8234428..fa871fe 100644 (file)
@@ -477,13 +477,13 @@ class SiteConfiguration {
 
                $site = null;
                $lang = null;
-               foreach ( $this->suffixes as $suffix ) {
+               foreach ( $this->suffixes as $altSite => $suffix ) {
                        if ( $suffix === '' ) {
                                $site = '';
                                $lang = $db;
                                break;
                        } elseif ( substr( $db, -strlen( $suffix ) ) == $suffix ) {
-                               $site = $suffix == 'wiki' ? 'wikipedia' : $suffix;
+                               $site = is_numeric( $altSite ) ? $suffix : $altSite;
                                $lang = substr( $db, 0, strlen( $db ) - strlen( $suffix ) );
                                break;
                        }
index 14a22d2..fedc6a9 100644 (file)
@@ -2347,7 +2347,7 @@ class User {
        }
 
        /**
-        * Get the user's current setting for a given option, as a boolean value.
+        * Get the user's current setting for a given option, as an integer value.
         *
         * @param string $oname The option to check
         * @param int $defaultOverride A default value returned if the option does not exist
index 6a1edd6..e58791e 100644 (file)
@@ -115,7 +115,7 @@ class HistoryAction extends FormlessAction {
 
                // Setup page variables.
                $out->setFeedAppendQuery( 'action=history' );
-               $out->addModules( array( 'mediawiki.legacy.history', 'mediawiki.action.history' ) );
+               $out->addModules( 'mediawiki.action.history' );
 
                // Handle atom/RSS feeds.
                $feedType = $request->getVal( 'feed' );
index 40041d8..0ea2868 100644 (file)
@@ -82,12 +82,17 @@ class ApiQueryImageInfo extends ApiQueryBase {
                                $start = $title === $fromTitle ? $fromTimestamp : $params['start'];
 
                                if ( !isset( $images[$title] ) ) {
-                                       $result->addValue(
-                                               array( 'query', 'pages', intval( $pageId ) ),
-                                               'imagerepository', ''
-                                       );
-                                       // The above can't fail because it doesn't increase the result size
-                                       continue;
+                                       if ( isset( $prop['uploadwarning'] ) ) {
+                                               // Uploadwarning needs info about non-existing files
+                                               $images[$title] = wfLocalFile( $title );
+                                       } else {
+                                               $result->addValue(
+                                                       array( 'query', 'pages', intval( $pageId ) ),
+                                                       'imagerepository', ''
+                                               );
+                                               // The above can't fail because it doesn't increase the result size
+                                               continue;
+                                       }
                                }
 
                                /** @var $img File */
@@ -358,6 +363,7 @@ class ApiQueryImageInfo extends ApiQueryBase {
                $mediatype = isset( $prop['mediatype'] );
                $archive = isset( $prop['archivename'] );
                $bitdepth = isset( $prop['bitdepth'] );
+               $uploadwarning = isset( $prop['uploadwarning'] );
 
                if ( ( $url || $sha1 || $meta || $mime || $mediatype || $archive || $bitdepth )
                                && $file->isDeleted( File::DELETED_FILE ) ) {
@@ -427,6 +433,10 @@ class ApiQueryImageInfo extends ApiQueryBase {
                        $vals['bitdepth'] = $file->getBitDepth();
                }
 
+               if ( $uploadwarning ) {
+                       $vals['html'] = SpecialUpload::getExistsWarning( UploadBase::getExistsWarning( $file ) );
+               }
+
                return $vals;
        }
 
@@ -556,6 +566,7 @@ class ApiQueryImageInfo extends ApiQueryBase {
                        'metadata' =>       ' metadata      - Lists Exif metadata for the version of the image',
                        'archivename' =>    ' archivename   - Adds the file name of the archive version for non-latest versions',
                        'bitdepth' =>       ' bitdepth      - Adds the bit depth of the version',
+                       'uploadwarning' =>  ' uploadwarning - Used by the Special:Upload page to get information about an existing file. Not intended for use outside MediaWiki core',
                );
        }
 
index 0349830..36b5597 100644 (file)
  */
 class ApiQuerySearch extends ApiQueryGeneratorBase {
 
+       /**
+        * When $wgSearchType is null, $wgSearchAlternatives[0] is null. Null isn't
+        * a valid option for an array for PARAM_TYPE, so we'll use a fake name
+        * that can't possibly be a class name and describes what the null behavior
+        * does
+        */
+       const BACKEND_NULL_PARAM = 'database-backed';
+
        public function __construct( $query, $moduleName ) {
                parent::__construct( $query, $moduleName, 'sr' );
        }
@@ -59,7 +67,8 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                $prop = array_flip( $params['prop'] );
 
                // Create search engine instance and set options
-               $search = SearchEngine::create();
+               $search = isset( $params['backend'] ) && $params['backend'] != self::BACKEND_NULL_PARAM ?
+                       SearchEngine::create( $params['backend'] ) : SearchEngine::create();
                $search->setLimitOffset( $limit + 1, $params['offset'] );
                $search->setNamespaces( $params['namespace'] );
                $search->showRedirects = $params['redirects'];
@@ -201,7 +210,9 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
        }
 
        public function getAllowedParams() {
-               return array(
+               global $wgSearchType;
+
+               $params = array(
                        'search' => array(
                                ApiBase::PARAM_TYPE => 'string',
                                ApiBase::PARAM_REQUIRED => true
@@ -254,10 +265,23 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                                ApiBase::PARAM_MAX2 => ApiBase::LIMIT_SML2
                        )
                );
+
+               $alternatives = SearchEngine::getSearchTypes();
+               if ( count( $alternatives ) > 1 ) {
+                       if ( $alternatives[0] === null ) {
+                               $alternatives[0] = self::BACKEND_NULL_PARAM;
+                       }
+                       $params['backend'] = array(
+                               ApiBase::PARAM_DFLT => $wgSearchType,
+                               ApiBase::PARAM_TYPE => $alternatives,
+                       );
+               }
+
+               return $params;
        }
 
        public function getParamDescription() {
-               return array(
+               $descriptions = array(
                        'search' => 'Search for all page titles (or content) that has this value',
                        'namespace' => 'The namespace(s) to enumerate',
                        'what' => 'Search inside the text or titles',
@@ -280,6 +304,12 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                        'offset' => 'Use this value to continue paging (return by query)',
                        'limit' => 'How many total pages to return'
                );
+
+               if ( count( SearchEngine::getSearchTypes() ) > 1 ) {
+                       $descriptions['backend'] = 'Which search backend to use, if not the default';
+               }
+
+               return $descriptions;
        }
 
        public function getResultProperties() {
index b5139d6..aa89add 100644 (file)
@@ -156,9 +156,10 @@ class ExternalStore {
        /**
         * Like insert() above, but does more of the work for us.
         * This function does not need a url param, it builds it by
-        * itself. It also fails-over to the next possible clusters.
+        * itself. It also fails-over to the next possible clusters
+        * provided by $wgDefaultExternalStore.
         *
-        * @param $data string
+        * @param string $data
         * @param array $params Associative array of ExternalStoreMedium parameters
         * @return string|bool The URL of the stored data item, or false on error
         * @throws MWException
@@ -166,8 +167,23 @@ class ExternalStore {
        public static function insertToDefault( $data, array $params = array() ) {
                global $wgDefaultExternalStore;
 
+               return self::insertWithFallback( (array) $wgDefaultExternalStore, $data, $params );
+       }
+
+       /**
+        * Like insert() above, but does more of the work for us.
+        * This function does not need a url param, it builds it by
+        * itself. It also fails-over to the next possible clusters
+        * as provided in the first parameter.
+        *
+        * @param array $tryStores refer to $wgDefaultExternalStore
+        * @param string $data
+        * @param array $params Associative array of ExternalStoreMedium parameters
+        * @return string|bool The URL of the stored data item, or false on error
+        * @throws MWException
+        */
+       public static function insertWithFallback( array $tryStores, $data, array $params = array() ) {
                $error = false;
-               $tryStores = (array)$wgDefaultExternalStore;
                while ( count( $tryStores ) > 0 ) {
                        $index = mt_rand( 0, count( $tryStores ) - 1 );
                        $storeUrl = $tryStores[$index];
index 8042430..46a8937 100644 (file)
@@ -180,21 +180,27 @@ class ExternalStoreDB extends ExternalStoreMedium {
 
                $cacheID = ( $itemID === false ) ? "$cluster/$id" : "$cluster/$id/";
                if ( isset( $externalBlobCache[$cacheID] ) ) {
-                       wfDebugLog( 'ExternalStoreDB-cache', "ExternalStoreDB::fetchBlob cache hit on $cacheID\n" );
+                       wfDebugLog( 'ExternalStoreDB-cache',
+                               "ExternalStoreDB::fetchBlob cache hit on $cacheID\n" );
                        return $externalBlobCache[$cacheID];
                }
 
-               wfDebugLog( 'ExternalStoreDB-cache', "ExternalStoreDB::fetchBlob cache miss on $cacheID\n" );
+               wfDebugLog( 'ExternalStoreDB-cache',
+                       "ExternalStoreDB::fetchBlob cache miss on $cacheID\n" );
 
                $dbr =& $this->getSlave( $cluster );
-               $ret = $dbr->selectField( $this->getTable( $dbr ), 'blob_text', array( 'blob_id' => $id ), __METHOD__ );
+               $ret = $dbr->selectField( $this->getTable( $dbr ),
+                       'blob_text', array( 'blob_id' => $id ), __METHOD__ );
                if ( $ret === false ) {
-                       wfDebugLog( 'ExternalStoreDB', "ExternalStoreDB::fetchBlob master fallback on $cacheID\n" );
+                       wfDebugLog( 'ExternalStoreDB',
+                               "ExternalStoreDB::fetchBlob master fallback on $cacheID\n" );
                        // Try the master
                        $dbw =& $this->getMaster( $cluster );
-                       $ret = $dbw->selectField( $this->getTable( $dbw ), 'blob_text', array( 'blob_id' => $id ), __METHOD__ );
+                       $ret = $dbw->selectField( $this->getTable( $dbw ),
+                               'blob_text', array( 'blob_id' => $id ), __METHOD__ );
                        if ( $ret === false ) {
-                               wfDebugLog( 'ExternalStoreDB', "ExternalStoreDB::fetchBlob master failed to find $cacheID\n" );
+                               wfDebugLog( 'ExternalStoreDB',
+                                       "ExternalStoreDB::fetchBlob master failed to find $cacheID\n" );
                        }
                }
                if ( $itemID !== false && $ret !== false ) {
@@ -215,16 +221,22 @@ class ExternalStoreDB extends ExternalStoreMedium {
         */
        function batchFetchBlobs( $cluster, array $ids ) {
                $dbr = $this->getSlave( $cluster );
-               $res = $dbr->select( $this->getTable( $dbr ), array( 'blob_id', 'blob_text' ), array( 'blob_id' => array_keys( $ids ) ), __METHOD__ );
+               $res = $dbr->select( $this->getTable( $dbr ),
+                       array( 'blob_id', 'blob_text' ), array( 'blob_id' => array_keys( $ids ) ), __METHOD__ );
                $ret = array();
                if ( $res !== false ) {
                        $this->mergeBatchResult( $ret, $ids, $res );
                }
                if ( $ids ) {
-                       wfDebugLog( __CLASS__, __METHOD__ . " master fallback on '$cluster' for: " . implode( ',', array_keys( $ids ) ) . "\n" );
+                       wfDebugLog( __CLASS__, __METHOD__ .
+                               " master fallback on '$cluster' for: " .
+                               implode( ',', array_keys( $ids ) ) . "\n" );
                        // Try the master
                        $dbw = $this->getMaster( $cluster );
-                       $res = $dbw->select( $this->getTable( $dbr ), array( 'blob_id', 'blob_text' ), array( 'blob_id' => array_keys( $ids ) ), __METHOD__ );
+                       $res = $dbw->select( $this->getTable( $dbr ),
+                               array( 'blob_id', 'blob_text' ),
+                               array( 'blob_id' => array_keys( $ids ) ),
+                               __METHOD__ );
                        if ( $res === false ) {
                                wfDebugLog( __CLASS__, __METHOD__ . " master failed on '$cluster'\n" );
                        } else {
@@ -232,7 +244,9 @@ class ExternalStoreDB extends ExternalStoreMedium {
                        }
                }
                if ( $ids ) {
-                       wfDebugLog( __CLASS__, __METHOD__ . " master on '$cluster' failed locating items: " . implode( ',', array_keys( $ids ) ) . "\n" );
+                       wfDebugLog( __CLASS__, __METHOD__ .
+                               " master on '$cluster' failed locating items: " .
+                               implode( ',', array_keys( $ids ) ) . "\n" );
                }
                return $ret;
        }
index 0911cca..aa48679 100644 (file)
@@ -46,6 +46,29 @@ class ExternalStoreMwstore extends ExternalStoreMedium {
                return false;
        }
 
+       /**
+        * Fetch data from given external store URLs.
+        * The URL returned is of the form of the form mwstore://backend/container/wiki/id
+        *
+        * @param array $urls An array of external store URLs
+        * @return array A map from url to stored content. Failed results are not represented.
+        */
+       public function batchFetchFromURLs( array $urls ) {
+               $pathsByBackend = array();
+               foreach ( $urls as $url ) {
+                       $be = FileBackendGroup::singleton()->backendFromPath( $url );
+                       if ( $be instanceof FileBackend ) {
+                               $pathsByBackend[$be->getName()][] = $url;
+                       }
+               }
+               $blobs = array();
+               foreach ( $pathsByBackend as $backendName => $paths ) {
+                       $be = FileBackendGroup::get( $backendName );
+                       $blobs = $blobs + $be->getFileContentsMulti( array( 'srcs' => $paths ) );
+               }
+               return $blobs;
+       }
+
        /**
         * @see ExternalStoreMedium::store()
         */
index 549be40..9b62243 100644 (file)
@@ -171,13 +171,13 @@ class LocalRepo extends FileRepo {
                if ( $cachedValue === ' ' || $cachedValue === '' ) {
                        // Does not exist
                        return false;
-               } elseif ( strval( $cachedValue ) !== '' ) {
+               } elseif ( strval( $cachedValue ) !== '' && $cachedValue !== ' PURGED' ) {
                        return Title::newFromText( $cachedValue, NS_FILE );
                } // else $cachedValue is false or null: cache miss
 
                $id = $this->getArticleID( $title );
                if ( !$id ) {
-                       $wgMemc->set( $memcKey, " ", $expiry );
+                       $wgMemc->add( $memcKey, " ", $expiry );
                        return false;
                }
                $dbr = $this->getSlaveDB();
@@ -190,10 +190,10 @@ class LocalRepo extends FileRepo {
 
                if ( $row && $row->rd_namespace == NS_FILE ) {
                        $targetTitle = Title::makeTitle( $row->rd_namespace, $row->rd_title );
-                       $wgMemc->set( $memcKey, $targetTitle->getDBkey(), $expiry );
+                       $wgMemc->add( $memcKey, $targetTitle->getDBkey(), $expiry );
                        return $targetTitle;
                } else {
-                       $wgMemc->set( $memcKey, '', $expiry );
+                       $wgMemc->add( $memcKey, '', $expiry );
                        return false;
                }
        }
@@ -347,7 +347,11 @@ class LocalRepo extends FileRepo {
                global $wgMemc;
                $memcKey = $this->getSharedCacheKey( 'image_redirect', md5( $title->getDBkey() ) );
                if ( $memcKey ) {
-                       $wgMemc->delete( $memcKey );
+                       // Set a temporary value for the cache key, to ensure
+                       // that this value stays purged long enough so that
+                       // it isn't refreshed with a stale value due to a
+                       // lagged slave.
+                       $wgMemc->set( $memcKey, ' PURGED', 12 );
                }
        }
 }
index 1f316b4..12af01d 100644 (file)
@@ -590,7 +590,7 @@ You can browse [//www.mediawiki.org/wiki/Category:Extensions_by_category extensi
  * @author Waldir
  */
 $messages['qqq'] = array(
-       'config-desc' => '{{desc}}',
+       'config-desc' => 'Short description of the installer.',
        'config-title' => 'Parameters:
 * $1 is the version of MediaWiki that is being installed.',
        'config-information' => '{{Identical|Information}}',
@@ -11174,9 +11174,9 @@ Mandrake를 실행하고 있다면 php-xml 패키지를 설치하세요.',
        'config-no-cli-uri' => "'''경고''': 기본값을 사용하여 --scriptpath를 지정하지 않았습니다: <code>$1</code>.",
        'config-using-server' => '"<nowiki>$1</nowiki>"(을)를 서버 이름으로 사용합니다.',
        'config-using-uri' => '"<nowiki>$1$2</nowiki>"(을)를 서버 URL로 사용합니다.',
-       'config-uploads-not-safe' => "'''경고:''' ì\98¬ë¦¬ê¸°ì\97\90 ë\8c\80í\95\9c ê¸°ë³¸ ë\94\94ë \89í\86 리(<code>$1</code>)는 임의의 스크립트 실행에 취약합니다.
+       'config-uploads-not-safe' => "'''경고:''' ì\98¬ë¦¬ê¸°ì\97\90 ë\8c\80í\95\9c ê¸°ë³¸ ë\94\94ë \89í\84°리(<code>$1</code>)는 임의의 스크립트 실행에 취약합니다.
 미디어위키는 보안 위협에 대한 모든 올린 파일을 검사하지만, 올리기를 활성화하기 전에 [//www.mediawiki.org/wiki/Manual:Security#Upload_security 이 보안 취약점을 해결할 것]을 매우 권장합니다.",
-       'config-no-cli-uploads-check' => "'''경고:''' ì\98¬ë¦¬ê¸°ì\97\90 ë\8c\80í\95\9c ê¸°ë³¸ ë\94\94ë \89í\86 리(<code>$1</code>)는 CLI를 설치하는 동안 임의의 스크립트 실행에 대한 취약점에 대해 검사되지 않습니다.",
+       'config-no-cli-uploads-check' => "'''경고:''' ì\98¬ë¦¬ê¸°ì\97\90 ë\8c\80í\95\9c ê¸°ë³¸ ë\94\94ë \89í\84°리(<code>$1</code>)는 CLI를 설치하는 동안 임의의 스크립트 실행에 대한 취약점에 대해 검사되지 않습니다.",
        'config-brokenlibxml' => '시스템에 버그가 있는 PHP와 libxml2의 조합이 있으며 미디어위키나 다른 웹 어플리케이션에 숨겨진 데이터 손상을 일으킬 수 있습니다.
 PHP 5.2.9 이후와 libxml2 2.7.3 이후로 업그레이드하세요. ([//bugs.php.net/bug.php?id=45996 PHP에 제기한 버그])
 설치가 중단되었습니다.',
@@ -11244,7 +11244,7 @@ MySQL의 UTF-8 모드를 보다 더 효율적이고 유니코드 문자의 전
        'config-db-schema-help' => '보통 이 스키마는 문제가 없습니다.
 필요한 경우에만 바꾸세요.',
        'config-pg-test-error' => "'''$1''' 데이터베이스에 연결할 수 없습니다: $2",
-       'config-sqlite-dir' => 'SQLite ë\8d°ì\9d´í\84° ë\94\94ë \89í\86 리:',
+       'config-sqlite-dir' => 'SQLite ë\8d°ì\9d´í\84° ë\94\94ë \89í\84°리:',
        'config-sqlite-dir-help' => "SQLite는 하나의 파일에 모든 데이터를 저장합니다.
 
 제공하는 디렉토리는 설치하는 동안 웹 서버가 쓸 수 있어야 합니다.
@@ -11470,7 +11470,7 @@ GFDL 하에 사용을 허가한 내용을 재사용하는 것도 어렵습니다
 
 파일 올리기를 활성화하려면 미디어위키의 루트 디렉토리에 있는 <code>images</code> 하위 디렉토리에서 웹 서버가 기록할 수 있도록 모드를 바꿉니다.
 그 다음 이 옵션을 활성화합니다.',
-       'config-upload-deleted' => 'ì\82­ì \9cë\90\9c í\8c\8cì\9d¼ì\97\90 ë\8c\80í\95\9c ë\94\94ë \89í\86 리:',
+       'config-upload-deleted' => 'ì\82­ì \9cë\90\9c í\8c\8cì\9d¼ì\97\90 ë\8c\80í\95\9c ë\94\94ë \89í\84°리:',
        'config-upload-deleted-help' => '삭제된 파일을 보관할 디렉토리를 선택하세요.
 이상적으로 웹에서 접근할 수 없게 해야 합니다.',
        'config-logo' => '로고 URL:',
@@ -11560,13 +11560,13 @@ GFDL 하에 사용을 허가한 내용을 재사용하는 것도 어렵습니다
 설치 프로그램이 <code>LocalSettings.php</code> 파일을 만들었습니다.
 모든 설정이 포함되어 있습니다.
 
\8c\8cì\9d¼ì\9d\84 ë\8b¤ì\9a´ë¡\9cë\93\9cí\95\98ì\97¬ ì\9c\84í\82¤ ì\84¤ì¹\98ì\9d\98 ê±°ì \90ì\97\90 ë\84£ì\96´ì\95¼ í\95©ë\8b\88ë\8b¤. (index.phpì\99\80 ê°\99ì\9d\80 ë\94\94ë \89í\86 리) 다운로드가 자동으로 시작됩니다.
\8c\8cì\9d¼ì\9d\84 ë\8b¤ì\9a´ë¡\9cë\93\9cí\95\98ì\97¬ ì\9c\84í\82¤ ì\84¤ì¹\98ì\9d\98 ê±°ì \90ì\97\90 ë\84£ì\96´ì\95¼ í\95©ë\8b\88ë\8b¤. (index.phpì\99\80 ê°\99ì\9d\80 ë\94\94ë \89í\84°리) 다운로드가 자동으로 시작됩니다.
 
 다운로드가 제공되지 않을 경우나 그것을 취소한 경우에는 아래의 링크를 클릭하여 다운로드를 다시 시작할 수 있습니다:
 
 $3
 
-'''참고''': 이 생성한 설정 파일을 다운로드하지 않고 설치를 끝내면 이 파일은 나중에 사용할 수 없습니다.
+'''참고:''' 이 생성한 설정 파일을 다운로드하지 않고 설치를 끝내면 이 파일은 나중에 사용할 수 없습니다.
 
 완료되었으면 '''[$2 위키에 들어갈 수 있습니다]'''.",
        'config-download-localsettings' => '<code>LocalSettings.php</code> 다운로드',
index aa47432..3e94b13 100644 (file)
@@ -168,7 +168,7 @@ abstract class JobQueue {
         * not distinguishable from the race condition between isEmpty() and pop().
         *
         * @return bool
-        * @throws MWException
+        * @throws JobQueueError
         */
        final public function isEmpty() {
                wfProfileIn( __METHOD__ );
@@ -190,7 +190,7 @@ abstract class JobQueue {
         * If caching is used, this number might be out of date for a minute.
         *
         * @return integer
-        * @throws MWException
+        * @throws JobQueueError
         */
        final public function getSize() {
                wfProfileIn( __METHOD__ );
@@ -212,7 +212,7 @@ abstract class JobQueue {
         * If caching is used, this number might be out of date for a minute.
         *
         * @return integer
-        * @throws MWException
+        * @throws JobQueueError
         */
        final public function getAcquiredCount() {
                wfProfileIn( __METHOD__ );
@@ -234,7 +234,7 @@ abstract class JobQueue {
         * If caching is used, this number might be out of date for a minute.
         *
         * @return integer
-        * @throws MWException
+        * @throws JobQueueError
         * @since 1.22
         */
        final public function getDelayedCount() {
@@ -259,7 +259,7 @@ abstract class JobQueue {
         * If caching is used, this number might be out of date for a minute.
         *
         * @return integer
-        * @throws MWException
+        * @throws JobQueueError
         */
        final public function getAbandonedCount() {
                wfProfileIn( __METHOD__ );
@@ -284,7 +284,7 @@ abstract class JobQueue {
         * @param $jobs Job|Array
         * @param $flags integer Bitfield (supports JobQueue::QOS_ATOMIC)
         * @return bool Returns false on failure
-        * @throws MWException
+        * @throws JobQueueError
         */
        final public function push( $jobs, $flags = 0 ) {
                return $this->batchPush( is_array( $jobs ) ? $jobs : array( $jobs ), $flags );
@@ -298,7 +298,7 @@ abstract class JobQueue {
         * @param array $jobs List of Jobs
         * @param $flags integer Bitfield (supports JobQueue::QOS_ATOMIC)
         * @return bool Returns false on failure
-        * @throws MWException
+        * @throws JobQueueError
         */
        final public function batchPush( array $jobs, $flags = 0 ) {
                if ( !count( $jobs ) ) {
@@ -333,7 +333,7 @@ abstract class JobQueue {
         * Outside callers should use JobQueueGroup::pop() instead of this function.
         *
         * @return Job|bool Returns false if there are no jobs
-        * @throws MWException
+        * @throws JobQueueError
         */
        final public function pop() {
                global $wgJobClasses;
@@ -374,7 +374,7 @@ abstract class JobQueue {
         *
         * @param $job Job
         * @return bool
-        * @throws MWException
+        * @throws JobQueueError
         */
        final public function ack( Job $job ) {
                if ( $job->getType() !== $this->type ) {
@@ -421,7 +421,7 @@ abstract class JobQueue {
         *
         * @param $job Job
         * @return bool
-        * @throws MWException
+        * @throws JobQueueError
         */
        final public function deduplicateRootJob( Job $job ) {
                if ( $job->getType() !== $this->type ) {
@@ -466,7 +466,7 @@ abstract class JobQueue {
         *
         * @param $job Job
         * @return bool
-        * @throws MWException
+        * @throws JobQueueError
         */
        final protected function isRootJobOldDuplicate( Job $job ) {
                if ( $job->getType() !== $this->type ) {
@@ -511,7 +511,7 @@ abstract class JobQueue {
         * Deleted all unclaimed and delayed jobs from the queue
         *
         * @return bool Success
-        * @throws MWException
+        * @throws JobQueueError
         * @since 1.22
         */
        final public function delete() {
@@ -535,7 +535,7 @@ abstract class JobQueue {
         * This does nothing for certain queue classes.
         *
         * @return void
-        * @throws MWException
+        * @throws JobQueueError
         */
        final public function waitForBackups() {
                wfProfileIn( __METHOD__ );
@@ -600,7 +600,7 @@ abstract class JobQueue {
         * Note: results may be stale if the queue is concurrently modified.
         *
         * @return Iterator
-        * @throws MWException
+        * @throws JobQueueError
         */
        abstract public function getAllQueuedJobs();
 
@@ -609,7 +609,7 @@ abstract class JobQueue {
         * Note: results may be stale if the queue is concurrently modified.
         *
         * @return Iterator
-        * @throws MWException
+        * @throws JobQueueError
         * @since 1.22
         */
        public function getAllDelayedJobs() {
@@ -640,3 +640,10 @@ abstract class JobQueue {
                throw new MWException( "Queue namespacing not supported for this queue type." );
        }
 }
+
+/**
+ * @ingroup JobQueue
+ * @since 1.22
+ */
+class JobQueueError extends MWException {}
+class JobQueueConnectionError extends JobQueueError {}
index 56da4f3..3fa0655 100644 (file)
@@ -80,9 +80,13 @@ class JobQueueDB extends JobQueue {
                }
 
                list( $dbr, $scope ) = $this->getSlaveDB();
-               $found = $dbr->selectField( // unclaimed job
-                       'job', '1', array( 'job_cmd' => $this->type, 'job_token' => '' ), __METHOD__
-               );
+               try {
+                       $found = $dbr->selectField( // unclaimed job
+                               'job', '1', array( 'job_cmd' => $this->type, 'job_token' => '' ), __METHOD__
+                       );
+               } catch ( DBError $e ) {
+                       $this->throwDBException( $e );
+               }
                $this->cache->add( $key, $found ? 'false' : 'true', self::CACHE_TTL_LONG );
 
                return !$found;
@@ -100,11 +104,15 @@ class JobQueueDB extends JobQueue {
                        return $size;
                }
 
-               list( $dbr, $scope ) = $this->getSlaveDB();
-               $size = (int)$dbr->selectField( 'job', 'COUNT(*)',
-                       array( 'job_cmd' => $this->type, 'job_token' => '' ),
-                       __METHOD__
-               );
+               try {
+                       list( $dbr, $scope ) = $this->getSlaveDB();
+                       $size = (int)$dbr->selectField( 'job', 'COUNT(*)',
+                               array( 'job_cmd' => $this->type, 'job_token' => '' ),
+                               __METHOD__
+                       );
+               } catch ( DBError $e ) {
+                       $this->throwDBException( $e );
+               }
                $this->cache->set( $key, $size, self::CACHE_TTL_SHORT );
 
                return $size;
@@ -127,10 +135,14 @@ class JobQueueDB extends JobQueue {
                }
 
                list( $dbr, $scope ) = $this->getSlaveDB();
-               $count = (int)$dbr->selectField( 'job', 'COUNT(*)',
-                       array( 'job_cmd' => $this->type, "job_token != {$dbr->addQuotes( '' )}" ),
-                       __METHOD__
-               );
+               try {
+                       $count = (int)$dbr->selectField( 'job', 'COUNT(*)',
+                               array( 'job_cmd' => $this->type, "job_token != {$dbr->addQuotes( '' )}" ),
+                               __METHOD__
+                       );
+               } catch ( DBError $e ) {
+                       $this->throwDBException( $e );
+               }
                $this->cache->set( $key, $count, self::CACHE_TTL_SHORT );
 
                return $count;
@@ -156,14 +168,18 @@ class JobQueueDB extends JobQueue {
                }
 
                list( $dbr, $scope ) = $this->getSlaveDB();
-               $count = (int)$dbr->selectField( 'job', 'COUNT(*)',
-                       array(
-                               'job_cmd' => $this->type,
-                               "job_token != {$dbr->addQuotes( '' )}",
-                               "job_attempts >= " . $dbr->addQuotes( $this->maxTries )
-                       ),
-                       __METHOD__
-               );
+               try {
+                       $count = (int)$dbr->selectField( 'job', 'COUNT(*)',
+                               array(
+                                       'job_cmd' => $this->type,
+                                       "job_token != {$dbr->addQuotes( '' )}",
+                                       "job_attempts >= " . $dbr->addQuotes( $this->maxTries )
+                               ),
+                               __METHOD__
+                       );
+               } catch ( DBError $e ) {
+                       $this->throwDBException( $e );
+               }
                $wgMemc->set( $key, $count, self::CACHE_TTL_SHORT );
 
                return $count;
@@ -269,43 +285,47 @@ class JobQueueDB extends JobQueue {
                }
 
                list( $dbw, $scope ) = $this->getMasterDB();
-               $dbw->commit( __METHOD__, 'flush' ); // flush existing transaction
-               $autoTrx = $dbw->getFlag( DBO_TRX ); // get current setting
-               $dbw->clearFlag( DBO_TRX ); // make each query its own transaction
-               $scopedReset = new ScopedCallback( function() use ( $dbw, $autoTrx ) {
-                       $dbw->setFlag( $autoTrx ? DBO_TRX : 0 ); // restore old setting
-               } );
-
-               $uuid = wfRandomString( 32 ); // pop attempt
-               $job = false; // job popped off
-               do { // retry when our row is invalid or deleted as a duplicate
-                       // Try to reserve a row in the DB...
-                       if ( in_array( $this->order, array( 'fifo', 'timestamp' ) ) ) {
-                               $row = $this->claimOldest( $uuid );
-                       } else { // random first
-                               $rand = mt_rand( 0, self::MAX_JOB_RANDOM ); // encourage concurrent UPDATEs
-                               $gte = (bool)mt_rand( 0, 1 ); // find rows with rand before/after $rand
-                               $row = $this->claimRandom( $uuid, $rand, $gte );
-                       }
-                       // Check if we found a row to reserve...
-                       if ( !$row ) {
-                               $this->cache->set( $this->getCacheKey( 'empty' ), 'true', self::CACHE_TTL_LONG );
-                               break; // nothing to do
-                       }
-                       JobQueue::incrStats( 'job-pop', $this->type );
-                       // Get the job object from the row...
-                       $title = Title::makeTitleSafe( $row->job_namespace, $row->job_title );
-                       if ( !$title ) {
-                               $dbw->delete( 'job', array( 'job_id' => $row->job_id ), __METHOD__ );
-                               wfDebug( "Row has invalid title '{$row->job_title}'." );
-                               continue; // try again
-                       }
-                       $job = Job::factory( $row->job_cmd, $title,
-                               self::extractBlob( $row->job_params ), $row->job_id );
-                       $job->metadata['id'] = $row->job_id;
-                       $job->id = $row->job_id; // XXX: work around broken subclasses
-                       break; // done
-               } while ( true );
+               try {
+                       $dbw->commit( __METHOD__, 'flush' ); // flush existing transaction
+                       $autoTrx = $dbw->getFlag( DBO_TRX ); // get current setting
+                       $dbw->clearFlag( DBO_TRX ); // make each query its own transaction
+                       $scopedReset = new ScopedCallback( function() use ( $dbw, $autoTrx ) {
+                               $dbw->setFlag( $autoTrx ? DBO_TRX : 0 ); // restore old setting
+                       } );
+
+                       $uuid = wfRandomString( 32 ); // pop attempt
+                       $job = false; // job popped off
+                       do { // retry when our row is invalid or deleted as a duplicate
+                               // Try to reserve a row in the DB...
+                               if ( in_array( $this->order, array( 'fifo', 'timestamp' ) ) ) {
+                                       $row = $this->claimOldest( $uuid );
+                               } else { // random first
+                                       $rand = mt_rand( 0, self::MAX_JOB_RANDOM ); // encourage concurrent UPDATEs
+                                       $gte = (bool)mt_rand( 0, 1 ); // find rows with rand before/after $rand
+                                       $row = $this->claimRandom( $uuid, $rand, $gte );
+                               }
+                               // Check if we found a row to reserve...
+                               if ( !$row ) {
+                                       $this->cache->set( $this->getCacheKey( 'empty' ), 'true', self::CACHE_TTL_LONG );
+                                       break; // nothing to do
+                               }
+                               JobQueue::incrStats( 'job-pop', $this->type );
+                               // Get the job object from the row...
+                               $title = Title::makeTitleSafe( $row->job_namespace, $row->job_title );
+                               if ( !$title ) {
+                                       $dbw->delete( 'job', array( 'job_id' => $row->job_id ), __METHOD__ );
+                                       wfDebug( "Row has invalid title '{$row->job_title}'." );
+                                       continue; // try again
+                               }
+                               $job = Job::factory( $row->job_cmd, $title,
+                                       self::extractBlob( $row->job_params ), $row->job_id );
+                               $job->metadata['id'] = $row->job_id;
+                               $job->id = $row->job_id; // XXX: work around broken subclasses
+                               break; // done
+                       } while ( true );
+               } catch ( DBError $e ) {
+                       $this->throwDBException( $e );
+               }
 
                return $job;
        }
@@ -461,16 +481,20 @@ class JobQueueDB extends JobQueue {
                }
 
                list( $dbw, $scope ) = $this->getMasterDB();
-               $dbw->commit( __METHOD__, 'flush' ); // flush existing transaction
-               $autoTrx = $dbw->getFlag( DBO_TRX ); // get current setting
-               $dbw->clearFlag( DBO_TRX ); // make each query its own transaction
-               $scopedReset = new ScopedCallback( function() use ( $dbw, $autoTrx ) {
-                       $dbw->setFlag( $autoTrx ? DBO_TRX : 0 ); // restore old setting
-               } );
-
-               // Delete a row with a single DELETE without holding row locks over RTTs...
-               $dbw->delete( 'job',
-                       array( 'job_cmd' => $this->type, 'job_id' => $job->metadata['id'] ), __METHOD__ );
+               try {
+                       $dbw->commit( __METHOD__, 'flush' ); // flush existing transaction
+                       $autoTrx = $dbw->getFlag( DBO_TRX ); // get current setting
+                       $dbw->clearFlag( DBO_TRX ); // make each query its own transaction
+                       $scopedReset = new ScopedCallback( function() use ( $dbw, $autoTrx ) {
+                               $dbw->setFlag( $autoTrx ? DBO_TRX : 0 ); // restore old setting
+                       } );
+
+                       // Delete a row with a single DELETE without holding row locks over RTTs...
+                       $dbw->delete( 'job',
+                               array( 'job_cmd' => $this->type, 'job_id' => $job->metadata['id'] ), __METHOD__ );
+               } catch ( DBError $e ) {
+                       $this->throwDBException( $e );
+               }
 
                return true;
        }
@@ -516,7 +540,11 @@ class JobQueueDB extends JobQueue {
        protected function doDelete() {
                list( $dbw, $scope ) = $this->getMasterDB();
 
-               $dbw->delete( 'job', array( 'job_cmd' => $this->type ) );
+               try {
+                       $dbw->delete( 'job', array( 'job_cmd' => $this->type ) );
+               } catch ( DBError $e ) {
+                       $this->throwDBException( $e );
+               }
                return true;
        }
 
@@ -555,20 +583,25 @@ class JobQueueDB extends JobQueue {
         */
        public function getAllQueuedJobs() {
                list( $dbr, $scope ) = $this->getSlaveDB();
-               return new MappedIterator(
-                       $dbr->select( 'job', '*', array( 'job_cmd' => $this->getType(), 'job_token' => '' ) ),
-                       function( $row ) use ( $scope ) {
-                               $job = Job::factory(
-                                       $row->job_cmd,
-                                       Title::makeTitle( $row->job_namespace, $row->job_title ),
-                                       strlen( $row->job_params ) ? unserialize( $row->job_params ) : false,
-                                       $row->job_id
-                               );
-                               $job->metadata['id'] = $row->job_id;
-                               $job->id = $row->job_id; // XXX: work around broken subclasses
-                               return $job;
-                       }
-               );
+               try {
+                       return new MappedIterator(
+                               $dbr->select( 'job', '*',
+                                       array( 'job_cmd' => $this->getType(), 'job_token' => '' ) ),
+                               function( $row ) use ( $scope ) {
+                                       $job = Job::factory(
+                                               $row->job_cmd,
+                                               Title::makeTitle( $row->job_namespace, $row->job_title ),
+                                               strlen( $row->job_params ) ? unserialize( $row->job_params ) : false,
+                                               $row->job_id
+                                       );
+                                       $job->metadata['id'] = $row->job_id;
+                                       $job->id = $row->job_id; // XXX: work around broken subclasses
+                                       return $job;
+                               }
+                       );
+               } catch ( DBError $e ) {
+                       $this->throwDBException( $e );
+               }
        }
 
        /**
@@ -578,76 +611,80 @@ class JobQueueDB extends JobQueue {
         */
        public function recycleAndDeleteStaleJobs() {
                $now = time();
-               list( $dbw, $scope ) = $this->getMasterDB();
                $count = 0; // affected rows
+               list( $dbw, $scope ) = $this->getMasterDB();
 
-               if ( !$dbw->lock( "jobqueue-recycle-{$this->type}", __METHOD__, 1 ) ) {
-                       return $count; // already in progress
-               }
+               try {
+                       if ( !$dbw->lock( "jobqueue-recycle-{$this->type}", __METHOD__, 1 ) ) {
+                               return $count; // already in progress
+                       }
 
-               // Remove claims on jobs acquired for too long if enabled...
-               if ( $this->claimTTL > 0 ) {
-                       $claimCutoff = $dbw->timestamp( $now - $this->claimTTL );
-                       // Get the IDs of jobs that have be claimed but not finished after too long.
-                       // These jobs can be recycled into the queue by expiring the claim. Selecting
-                       // the IDs first means that the UPDATE can be done by primary key (less deadlocks).
-                       $res = $dbw->select( 'job', 'job_id',
-                               array(
-                                       'job_cmd' => $this->type,
-                                       "job_token != {$dbw->addQuotes( '' )}", // was acquired
-                                       "job_token_timestamp < {$dbw->addQuotes( $claimCutoff )}", // stale
-                                       "job_attempts < {$dbw->addQuotes( $this->maxTries )}" ), // retries left
-                               __METHOD__
+                       // Remove claims on jobs acquired for too long if enabled...
+                       if ( $this->claimTTL > 0 ) {
+                               $claimCutoff = $dbw->timestamp( $now - $this->claimTTL );
+                               // Get the IDs of jobs that have be claimed but not finished after too long.
+                               // These jobs can be recycled into the queue by expiring the claim. Selecting
+                               // the IDs first means that the UPDATE can be done by primary key (less deadlocks).
+                               $res = $dbw->select( 'job', 'job_id',
+                                       array(
+                                               'job_cmd' => $this->type,
+                                               "job_token != {$dbw->addQuotes( '' )}", // was acquired
+                                               "job_token_timestamp < {$dbw->addQuotes( $claimCutoff )}", // stale
+                                               "job_attempts < {$dbw->addQuotes( $this->maxTries )}" ), // retries left
+                                       __METHOD__
+                               );
+                               $ids = array_map(
+                                       function( $o ) {
+                                               return $o->job_id;
+                                       }, iterator_to_array( $res )
+                               );
+                               if ( count( $ids ) ) {
+                                       // Reset job_token for these jobs so that other runners will pick them up.
+                                       // Set the timestamp to the current time, as it is useful to now that the job
+                                       // was already tried before (the timestamp becomes the "released" time).
+                                       $dbw->update( 'job',
+                                               array(
+                                                       'job_token' => '',
+                                                       'job_token_timestamp' => $dbw->timestamp( $now ) ), // time of release
+                                               array(
+                                                       'job_id' => $ids ),
+                                               __METHOD__
+                                       );
+                                       $count += $dbw->affectedRows();
+                                       JobQueue::incrStats( 'job-recycle', $this->type, $dbw->affectedRows() );
+                                       $this->cache->set( $this->getCacheKey( 'empty' ), 'false', self::CACHE_TTL_LONG );
+                               }
+                       }
+
+                       // Just destroy any stale jobs...
+                       $pruneCutoff = $dbw->timestamp( $now - self::MAX_AGE_PRUNE );
+                       $conds = array(
+                               'job_cmd' => $this->type,
+                               "job_token != {$dbw->addQuotes( '' )}", // was acquired
+                               "job_token_timestamp < {$dbw->addQuotes( $pruneCutoff )}" // stale
                        );
+                       if ( $this->claimTTL > 0 ) { // only prune jobs attempted too many times...
+                               $conds[] = "job_attempts >= {$dbw->addQuotes( $this->maxTries )}";
+                       }
+                       // Get the IDs of jobs that are considered stale and should be removed. Selecting
+                       // the IDs first means that the UPDATE can be done by primary key (less deadlocks).
+                       $res = $dbw->select( 'job', 'job_id', $conds, __METHOD__ );
                        $ids = array_map(
                                function( $o ) {
                                        return $o->job_id;
                                }, iterator_to_array( $res )
                        );
                        if ( count( $ids ) ) {
-                               // Reset job_token for these jobs so that other runners will pick them up.
-                               // Set the timestamp to the current time, as it is useful to now that the job
-                               // was already tried before (the timestamp becomes the "released" time).
-                               $dbw->update( 'job',
-                                       array(
-                                               'job_token' => '',
-                                               'job_token_timestamp' => $dbw->timestamp( $now ) ), // time of release
-                                       array(
-                                               'job_id' => $ids ),
-                                       __METHOD__
-                               );
+                               $dbw->delete( 'job', array( 'job_id' => $ids ), __METHOD__ );
                                $count += $dbw->affectedRows();
-                               JobQueue::incrStats( 'job-recycle', $this->type, $dbw->affectedRows() );
-                               $this->cache->set( $this->getCacheKey( 'empty' ), 'false', self::CACHE_TTL_LONG );
+                               JobQueue::incrStats( 'job-abandon', $this->type, $dbw->affectedRows() );
                        }
-               }
 
-               // Just destroy any stale jobs...
-               $pruneCutoff = $dbw->timestamp( $now - self::MAX_AGE_PRUNE );
-               $conds = array(
-                       'job_cmd' => $this->type,
-                       "job_token != {$dbw->addQuotes( '' )}", // was acquired
-                       "job_token_timestamp < {$dbw->addQuotes( $pruneCutoff )}" // stale
-               );
-               if ( $this->claimTTL > 0 ) { // only prune jobs attempted too many times...
-                       $conds[] = "job_attempts >= {$dbw->addQuotes( $this->maxTries )}";
-               }
-               // Get the IDs of jobs that are considered stale and should be removed. Selecting
-               // the IDs first means that the UPDATE can be done by primary key (less deadlocks).
-               $res = $dbw->select( 'job', 'job_id', $conds, __METHOD__ );
-               $ids = array_map(
-                       function( $o ) {
-                               return $o->job_id;
-                       }, iterator_to_array( $res )
-               );
-               if ( count( $ids ) ) {
-                       $dbw->delete( 'job', array( 'job_id' => $ids ), __METHOD__ );
-                       $count += $dbw->affectedRows();
-                       JobQueue::incrStats( 'job-abandon', $this->type, $dbw->affectedRows() );
+                       $dbw->unlock( "jobqueue-recycle-{$this->type}", __METHOD__ );
+               } catch ( DBError $e ) {
+                       $this->throwDBException( $e );
                }
 
-               $dbw->unlock( "jobqueue-recycle-{$this->type}", __METHOD__ );
-
                return $count;
        }
 
@@ -655,14 +692,22 @@ class JobQueueDB extends JobQueue {
         * @return Array (DatabaseBase, ScopedCallback)
         */
        protected function getSlaveDB() {
-               return $this->getDB( DB_SLAVE );
+               try {
+                       return $this->getDB( DB_SLAVE );
+               } catch ( DBConnectionError $e ) {
+                       throw new JobQueueConnectionError( "DBConnectionError:" . $e->getMessage() );
+               }
        }
 
        /**
         * @return Array (DatabaseBase, ScopedCallback)
         */
        protected function getMasterDB() {
-               return $this->getDB( DB_MASTER );
+               try {
+                       return $this->getDB( DB_MASTER );
+               } catch ( DBConnectionError $e ) {
+                       throw new JobQueueConnectionError( "DBConnectionError:" . $e->getMessage() );
+               }
        }
 
        /**
@@ -737,4 +782,12 @@ class JobQueueDB extends JobQueue {
                        return false;
                }
        }
+
+       /**
+        * @param DBError $e
+        * @throws JobQueueError
+        */
+       protected function throwDBException( DBError $e ) {
+               throw new JobQueueError( get_class( $e ) . ": " . $e->getMessage() );
+       }
 }
index 19de8bb..35b80ca 100644 (file)
@@ -138,9 +138,13 @@ class JobQueueFederated extends JobQueue {
                }
 
                foreach ( $this->partitionQueues as $queue ) {
-                       if ( !$queue->doIsEmpty() ) {
-                               $this->cache->add( $key, 'false', self::CACHE_TTL_LONG );
-                               return false;
+                       try {
+                               if ( !$queue->doIsEmpty() ) {
+                                       $this->cache->add( $key, 'false', self::CACHE_TTL_LONG );
+                                       return false;
+                               }
+                       } catch ( JobQueueError $e ) {
+                               wfDebugLog( 'exception', $e->getLogMessage() );
                        }
                }
 
@@ -179,7 +183,11 @@ class JobQueueFederated extends JobQueue {
 
                $count = 0;
                foreach ( $this->partitionQueues as $queue ) {
-                       $count += $queue->$method();
+                       try {
+                               $count += $queue->$method();
+                       } catch ( JobQueueError $e ) {
+                               wfDebugLog( 'exception', $e->getLogMessage() );
+                       }
                }
 
                $this->cache->set( $key, $count, self::CACHE_TTL_SHORT );
@@ -244,7 +252,13 @@ class JobQueueFederated extends JobQueue {
                // Insert the de-duplicated jobs into the queues...
                foreach ( $uJobsByPartition as $partition => $jobBatch ) {
                        $queue = $this->partitionQueues[$partition];
-                       if ( $queue->doBatchPush( $jobBatch, $flags ) ) {
+                       try {
+                               $ok = $queue->doBatchPush( $jobBatch, $flags );
+                       } catch ( JobQueueError $e ) {
+                               $ok = false;
+                               wfDebugLog( 'exception', $e->getLogMessage() );
+                       }
+                       if ( $ok ) {
                                $key = $this->getCacheKey( 'empty' );
                                $this->cache->set( $key, 'false', JobQueueDB::CACHE_TTL_LONG );
                        } else {
@@ -259,7 +273,13 @@ class JobQueueFederated extends JobQueue {
                                $jobsLeft = array_merge( $jobsLeft, $jobBatch ); // not inserted
                        } else {
                                $queue = $this->partitionQueues[$partition];
-                               if ( $queue->doBatchPush( $jobBatch, $flags ) ) {
+                               try {
+                                       $ok = $queue->doBatchPush( $jobBatch, $flags );
+                               } catch ( JobQueueError $e ) {
+                                       $ok = false;
+                                       wfDebugLog( 'exception', $e->getLogMessage() );
+                               }
+                               if ( $ok ) {
                                        $key = $this->getCacheKey( 'empty' );
                                        $this->cache->set( $key, 'false', JobQueueDB::CACHE_TTL_LONG );
                                } else {
@@ -288,7 +308,12 @@ class JobQueueFederated extends JobQueue {
                                break; // all partitions at 0 weight
                        }
                        $queue = $this->partitionQueues[$partition];
-                       $job = $queue->pop();
+                       try {
+                               $job = $queue->pop();
+                       } catch ( JobQueueError $e ) {
+                               $job = false;
+                               wfDebugLog( 'exception', $e->getLogMessage() );
+                       }
                        if ( $job ) {
                                $job->metadata['QueuePartition'] = $partition;
                                return $job;
@@ -336,13 +361,21 @@ class JobQueueFederated extends JobQueue {
 
        protected function doDelete() {
                foreach ( $this->partitionQueues as $queue ) {
-                       $queue->doDelete();
+                       try {
+                               $queue->doDelete();
+                       } catch ( JobQueueError $e ) {
+                               wfDebugLog( 'exception', $e->getLogMessage() );
+                       }
                }
        }
 
        protected function doWaitForBackups() {
                foreach ( $this->partitionQueues as $queue ) {
-                       $queue->waitForBackups();
+                       try {
+                               $queue->waitForBackups();
+                       } catch ( JobQueueError $e ) {
+                               wfDebugLog( 'exception', $e->getLogMessage() );
+                       }
                }
        }
 
index 85f99b7..e483e05 100644 (file)
@@ -310,9 +310,13 @@ class JobQueueGroup {
                                } elseif ( !isset( $lastRuns[$type][$task] )
                                        || $lastRuns[$type][$task] < ( time() - $definition['period'] ) )
                                {
-                                       if ( call_user_func( $definition['callback'] ) !== null ) {
-                                               $tasksRun[$type][$task] = time();
-                                               ++$count;
+                                       try {
+                                               if ( call_user_func( $definition['callback'] ) !== null ) {
+                                                       $tasksRun[$type][$task] = time();
+                                                       ++$count;
+                                               }
+                                       } catch ( JobQueueError $e ) {
+                                               wfDebugLog( 'exception', $e->getLogMessage() );
                                        }
                                }
                        }
index 939fa42..57189a5 100644 (file)
@@ -786,7 +786,7 @@ LUA;
        protected function getConnection() {
                $conn = $this->redisPool->getConnection( $this->server );
                if ( !$conn ) {
-                       throw new MWException( "Unable to connect to redis server." );
+                       throw new JobQueueConnectionError( "Unable to connect to redis server." );
                }
                return $conn;
        }
@@ -799,7 +799,7 @@ LUA;
         */
        protected function throwRedisException( $server, RedisConnRef $conn, $e ) {
                $this->redisPool->handleException( $server, $conn, $e );
-               throw new MWException( "Redis server error: {$e->getMessage()}\n" );
+               throw new JobQueueError( "Redis server error: {$e->getMessage()}\n" );
        }
 
        /**
index 4a16f56..8fdf407 100644 (file)
@@ -362,6 +362,9 @@ class Parser {
                $this->startParse( $title, $options, self::OT_HTML, $clearState );
 
                $this->mInputSize = strlen( $text );
+               if ( $this->mOptions->getEnableLimitReport() ) {
+                       $this->mOutput->resetParseStartTime();
+               }
 
                # Remove the strip marker tag prefix from the input, if present.
                if ( $clearState ) {
@@ -492,22 +495,64 @@ class Parser {
                # Information on include size limits, for the benefit of users who try to skirt them
                if ( $this->mOptions->getEnableLimitReport() ) {
                        $max = $this->mOptions->getMaxIncludeSize();
-                       $PFreport = "Expensive parser function count: {$this->mExpensiveFunctionCount}/{$this->mOptions->getExpensiveParserFunctionLimit()}\n";
-                       $limitReport =
-                               "NewPP limit report\n" .
-                               "Preprocessor visited node count: {$this->mPPNodeCount}/{$this->mOptions->getMaxPPNodeCount()}\n" .
-                               "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" .
-                               $PFreport;
+
+                       $cpuTime = $this->mOutput->getTimeSinceStart( 'cpu' );
+                       if ( $cpuTime !== null ) {
+                               $this->mOutput->setLimitReportData( 'limitreport-cputime',
+                                       sprintf( "%.3f", $cpuTime )
+                               );
+                       }
+
+                       $wallTime = $this->mOutput->getTimeSinceStart( 'wall' );
+                       $this->mOutput->setLimitReportData( 'limitreport-walltime',
+                               sprintf( "%.3f", $wallTime )
+                       );
+
+                       $this->mOutput->setLimitReportData( 'limitreport-ppvisitednodes',
+                               array( $this->mPPNodeCount, $this->mOptions->getMaxPPNodeCount() )
+                       );
+                       $this->mOutput->setLimitReportData( 'limitreport-ppgeneratednodes',
+                               array( $this->mGeneratedPPNodeCount, $this->mOptions->getMaxGeneratedPPNodeCount() )
+                       );
+                       $this->mOutput->setLimitReportData( 'limitreport-postexpandincludesize',
+                               array( $this->mIncludeSizes['post-expand'], $max )
+                       );
+                       $this->mOutput->setLimitReportData( 'limitreport-templateargumentsize',
+                               array( $this->mIncludeSizes['arg'], $max )
+                       );
+                       $this->mOutput->setLimitReportData( 'limitreport-expansiondepth',
+                               array( $this->mHighestExpansionDepth, $this->mOptions->getMaxPPExpandDepth() )
+                       );
+                       $this->mOutput->setLimitReportData( 'limitreport-expensivefunctioncount',
+                               array( $this->mExpensiveFunctionCount, $this->mOptions->getExpensiveParserFunctionLimit() )
+                       );
+                       wfRunHooks( 'ParserLimitReportPrepare', array( $this, $this->mOutput ) );
+
+                       $limitReport = "NewPP limit report\n";
+                       foreach ( $this->mOutput->getLimitReportData() as $key => $value ) {
+                               if ( wfRunHooks( 'ParserLimitReportFormat',
+                                       array( $key, $value, &$limitReport, false, false )
+                               ) ) {
+                                       $keyMsg = wfMessage( $key )->inLanguage( 'en' )->useDatabase( false );
+                                       $valueMsg = wfMessage( array( "$key-value-text", "$key-value" ) )
+                                               ->inLanguage( 'en' )->useDatabase( false );
+                                       if ( !$valueMsg->exists() ) {
+                                               $valueMsg = new RawMessage( '$1' );
+                                       }
+                                       if ( !$keyMsg->isDisabled() && !$valueMsg->isDisabled() ) {
+                                               $valueMsg->params( $value );
+                                               $limitReport .= "{$keyMsg->text()}: {$valueMsg->text()}\n";
+                                       }
+                               }
+                       }
+                       // Since we're not really outputting HTML, decode the entities and
+                       // then re-encode the things that need hiding inside HTML comments.
+                       $limitReport = htmlspecialchars_decode( $limitReport );
                        wfRunHooks( 'ParserLimitReport', array( $this, &$limitReport ) );
 
                        // Sanitize for comment. Note '‐' in the replacement is U+2010,
                        // which looks much like the problematic '-'.
                        $limitReport = str_replace( array( '-', '&' ), array( '‐', '&amp;' ), $limitReport );
-
                        $text .= "\n<!-- \n$limitReport-->\n";
 
                        if ( $this->mGeneratedPPNodeCount > $this->mOptions->getMaxGeneratedPPNodeCount() / 10 ) {
@@ -2405,10 +2450,10 @@ class Parser {
                                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|<h1|<h2|<h3|<h4|<h5|<h6|<pre|<tr|<p|<ul|<ol|<dl|<li|<\\/tr|<\\/td|<\\/th)/iS', $t );
+                               $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|<\\/h1|<\\/h2|<\\/h3|<\\/h4|<\\/h5|<\\/h6|' .
-                                       '<td|<th|<\\/?blockquote|<\\/?div|<hr|<\\/pre|<\\/p|' . $this->mUniqPrefix . '-pre|<\\/li|<\\/ul|<\\/ol|<\\/dl|<\\/?center)/iS', $t );
+                                       '/(?:<\\/table|<\\/blockquote|<\\/h1|<\\/h2|<\\/h3|<\\/h4|<\\/h5|<\\/h6|' .
+                                       '<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
index c5e42a4..5cb70cb 100644 (file)
@@ -52,6 +52,8 @@ class ParserOutput extends CacheTime {
                private $mAccessedOptions = array(); # List of ParserOptions (stored in the keys)
                private $mSecondaryDataUpdates = array(); # List of DataUpdate, used to save info from the page somewhere else.
                private $mExtensionData = array(); # extra data used by extensions
+               private $mLimitReportData = array(); # Parser limit report data
+               private $mParseStartTime = array(); # Timestamps for getTimeSinceStart()
 
        const EDITSECTION_REGEX = '#<(?:mw:)?editsection page="(.*?)" section="(.*?)"(?:/>|>(.*?)(</(?:mw:)?editsection>))#';
 
@@ -120,6 +122,7 @@ class ParserOutput extends CacheTime {
        function getIndexPolicy()            { return $this->mIndexPolicy; }
        function getTOCHTML()                { return $this->mTOCHTML; }
        function getTimestamp()              { return $this->mTimestamp; }
+       function getLimitReportData()        { return $this->mLimitReportData; }
 
        function setText( $text )            { return wfSetVar( $this->mText, $text ); }
        function setLanguageLinks( $ll )     { return wfSetVar( $this->mLanguageLinks, $ll ); }
@@ -544,4 +547,67 @@ class ParserOutput extends CacheTime {
                return null;
        }
 
+       private static function getTimes( $clock = null ) {
+               $ret = array();
+               if ( !$clock || $clock === 'wall' ) {
+                       $ret['wall'] = microtime( true );
+               }
+               if ( ( !$clock || $clock === 'cpu' ) && function_exists( 'getrusage' ) ) {
+                       $ru = getrusage();
+                       $ret['cpu'] = $ru['ru_utime.tv_sec'] + $ru['ru_utime.tv_usec'] / 1e6;
+                       $ret['cpu'] += $ru['ru_stime.tv_sec'] + $ru['ru_stime.tv_usec'] / 1e6;
+               }
+               return $ret;
+       }
+
+       /**
+        * Resets the parse start timestamps for future calls to getTimeSinceStart()
+        * @since 1.22
+        */
+       function resetParseStartTime() {
+               $this->mParseStartTime = self::getTimes();
+       }
+
+       /**
+        * Returns the time since resetParseStartTime() was last called
+        *
+        * Clocks available are:
+        *  - wall: Wall clock time
+        *  - cpu: CPU time (requires getrusage)
+        *
+        * @since 1.22
+        * @param string $clock
+        * @return float|null
+        */
+       function getTimeSinceStart( $clock ) {
+               if ( !isset( $this->mParseStartTime[$clock] ) ) {
+                       return null;
+               }
+
+               $end = self::getTimes( $clock );
+               return $end[$clock] - $this->mParseStartTime[$clock];
+       }
+
+       /**
+        * Sets parser limit report data for a key
+        *
+        * The key is used as the prefix for various messages used for formatting:
+        *  - $key: The label for the field in the limit report
+        *  - $key-value-text: Message used to format the value in the "NewPP limit
+        *      report" HTML comment. If missing, uses $key-format.
+        *  - $key-value-html: Message used to format the value in the preview
+        *      limit report table. If missing, uses $key-format.
+        *  - $key-value: Message used to format the value. If missing, uses "$1".
+        *
+        * Note that all values are interpreted as wikitext, and so should be
+        * encoded with htmlspecialchars() as necessary, but should avoid complex
+        * HTML for sanity of display in the "NewPP limit report" comment.
+        *
+        * @since 1.22
+        * @param string $key Message key
+        * @param mixed $value Appropriate for Message::params()
+        */
+       function setLimitReportData( $key, $value ) {
+               $this->mLimitReportData[$key] = $value;
+       }
 }
index 1240abf..ebcdab3 100644 (file)
@@ -180,7 +180,7 @@ class ResourceLoader {
                        wfDebugLog( 'resourceloader', __METHOD__ . ": minification failed: $exception" );
                        $this->hasErrors = true;
                        // Return exception as a comment
-                       $result = $this->makeComment( $exception->__toString() );
+                       $result = self::makeComment( $exception->__toString() );
                }
 
                wfProfileOut( __METHOD__ );
@@ -460,7 +460,7 @@ class ResourceLoader {
                                        wfDebugLog( 'resourceloader', __METHOD__ . ": request for private module '$name' denied" );
                                        $this->hasErrors = true;
                                        // Add exception to the output as a comment
-                                       $errors .= $this->makeComment( "Cannot show private module \"$name\"" );
+                                       $errors .= self::makeComment( "Cannot show private module \"$name\"" );
 
                                        continue;
                                }
@@ -477,7 +477,7 @@ class ResourceLoader {
                        wfDebugLog( 'resourceloader', __METHOD__ . ": preloading module info failed: $e" );
                        $this->hasErrors = true;
                        // Add exception to the output as a comment
-                       $errors .= $this->makeComment( $e->__toString() );
+                       $errors .= self::makeComment( $e->__toString() );
                }
 
                wfProfileIn( __METHOD__ . '-getModifiedTime' );
@@ -496,7 +496,7 @@ class ResourceLoader {
                                wfDebugLog( 'resourceloader', __METHOD__ . ": calculating maximum modified time failed: $e" );
                                $this->hasErrors = true;
                                // Add exception to the output as a comment
-                               $errors .= $this->makeComment( $e->__toString() );
+                               $errors .= self::makeComment( $e->__toString() );
                        }
                }
 
@@ -517,7 +517,7 @@ class ResourceLoader {
                // Capture any PHP warnings from the output buffer and append them to the
                // response in a comment if we're in debug mode.
                if ( $context->getDebug() && strlen( $warnings = ob_get_contents() ) ) {
-                       $response = $this->makeComment( $warnings ) . $response;
+                       $response = self::makeComment( $warnings ) . $response;
                        $this->hasErrors = true;
                }
 
@@ -676,7 +676,13 @@ class ResourceLoader {
                return false; // cache miss
        }
 
-       protected function makeComment( $text ) {
+       /**
+        * Generate a CSS or JS comment block
+        *
+        * @param $text string
+        * @return string
+        */
+       public static function makeComment( $text ) {
                $encText = str_replace( '*/', '* /', $text );
                return "/*\n$encText\n*/\n";
        }
@@ -707,7 +713,7 @@ class ResourceLoader {
                                wfDebugLog( 'resourceloader', __METHOD__ . ": pre-fetching blobs from MessageBlobStore failed: $e" );
                                $this->hasErrors = true;
                                // Add exception to the output as a comment
-                               $exceptions .= $this->makeComment( $e->__toString() );
+                               $exceptions .= self::makeComment( $e->__toString() );
                        }
                } else {
                        $blobs = array();
@@ -814,7 +820,7 @@ class ResourceLoader {
                                wfDebugLog( 'resourceloader', __METHOD__ . ": generating module package failed: $e" );
                                $this->hasErrors = true;
                                // Add exception to the output as a comment
-                               $exceptions .= $this->makeComment( $e->__toString() );
+                               $exceptions .= self::makeComment( $e->__toString() );
 
                                // Register module as missing
                                $missing[] = $name;
index 4f4e31d..bfe7dda 100644 (file)
@@ -453,13 +453,17 @@ class SearchEngine {
         * Load up the appropriate search engine class for the currently
         * active database backend, and return a configured instance.
         *
+        * @param String $type Type of search backend, if not the default
         * @return SearchEngine
         */
-       public static function create() {
+       public static function create( $type = null ) {
                global $wgSearchType;
                $dbr = null;
-               if ( $wgSearchType ) {
-                       $class = $wgSearchType;
+
+               $alternatives = self::getSearchTypes();
+               $type = $type !== null ? $type : $wgSearchType;
+               if ( $type && in_array( $type, $alternatives ) ) {
+                       $class = $type;
                } else {
                        $dbr = wfGetDB( DB_SLAVE );
                        $class = $dbr->getSearchEngine();
@@ -469,6 +473,22 @@ class SearchEngine {
                return $search;
        }
 
+       /**
+        * Return the search engines we support. If only $wgSearchType
+        * is set, it'll be an array of just that one item.
+        *
+        * @return array
+        */
+       public static function getSearchTypes() {
+               global $wgSearchType, $wgSearchTypeAlternatives;
+               static $alternatives = null;
+               if ( $alternatives === null ) {
+                       $alternatives = $wgSearchTypeAlternatives ?: array();
+                       array_unshift( $alternatives, $wgSearchType );
+               }
+               return $alternatives;
+       }
+
        /**
         * Create or update the search index record for the given page.
         * Title and text should be pre-processed.
index 0e342cc..1dc4244 100644 (file)
@@ -692,13 +692,6 @@ class MovePageForm extends UnlistedSpecialPage {
                # Deal with watches (we don't watch subpages)
                WatchAction::doWatchOrUnwatch( $this->watch, $ot, $user );
                WatchAction::doWatchOrUnwatch( $this->watch, $nt, $user );
-
-               # Re-clear the file redirect cache, which may have been polluted by
-               # parsing in messages above. See CR r56745.
-               # @todo FIXME: Needs a more robust solution inside FileRepo.
-               if ( $ot->getNamespace() == NS_FILE ) {
-                       RepoGroup::singleton()->getLocalRepo()->invalidateImageRedirect( $ot );
-               }
        }
 
        function showLogFragment( $title ) {
index 4182846..4634c4f 100644 (file)
@@ -42,6 +42,9 @@ class SpecialSearch extends SpecialPage {
        /// Search engine
        protected $searchEngine;
 
+       /// Search engine type, if not default
+       protected $searchEngineType;
+
        /// For links
        protected $extraParams = array();
 
@@ -98,6 +101,8 @@ class SpecialSearch extends SpecialPage {
 
                $this->load();
 
+               $this->searchEngineType = $request->getVal( 'backend' );
+
                if ( $request->getVal( 'fulltext' )
                        || !is_null( $request->getVal( 'offset' ) )
                        || !is_null( $request->getVal( 'searchx' ) ) )
@@ -1171,7 +1176,8 @@ class SpecialSearch extends SpecialPage {
         */
        public function getSearchEngine() {
                if ( $this->searchEngine === null ) {
-                       $this->searchEngine = SearchEngine::create();
+                       $this->searchEngine = $this->searchEngineType ?
+                               SearchEngine::create( $this->searchEngineType ) : SearchEngine::create();
                }
                return $this->searchEngine;
        }
index 98d0c9a..efde5cb 100644 (file)
@@ -672,30 +672,6 @@ class SpecialUpload extends SpecialPage {
                return $warning;
        }
 
-       /**
-        * Get a list of warnings
-        *
-        * @param string $filename local filename, e.g. 'file exists', 'non-descriptive filename'
-        * @return Array: list of warning messages
-        */
-       public static function ajaxGetExistsWarning( $filename ) {
-               $file = wfFindFile( $filename );
-               if ( !$file ) {
-                       // Force local file so we have an object to do further checks against
-                       // if there isn't an exact match...
-                       $file = wfLocalFile( $filename );
-               }
-               $s = '&#160;';
-               if ( $file ) {
-                       $exists = UploadBase::getExistsWarning( $file );
-                       $warning = self::getExistsWarning( $exists );
-                       if ( $warning !== '' ) {
-                               $s = "<div>$warning</div>";
-                       }
-               }
-               return $s;
-       }
-
        /**
         * Construct a warning and a gallery from an array of duplicate files.
         * @param $dupes array
index 13a91aa..df1b16e 100644 (file)
@@ -1209,14 +1209,16 @@ class LoginForm extends SpecialPage {
        }
 
        /**
-        * @private
+        * Whether the login/create account form should display a link to the
+        * other form (in addition to whatever the skin provides).
         *
         * @param $user User
-        *
-        * @return Boolean
+        * @return bool
         */
-       function showCreateOrLoginLink( &$user ) {
-               if ( $this->mType == 'signup' ) {
+       private function showCreateOrLoginLink( &$user ) {
+               if ( $user->isLoggedIn() ) {
+                       return false;
+               } elseif ( $this->mType == 'signup' ) {
                        return true;
                } elseif ( $user->isAllowed( 'createaccount' ) ) {
                        return true;
index c7a0014..3d848cf 100644 (file)
@@ -175,7 +175,7 @@ class UsercreateTemplate extends BaseTemplate {
                                        tabindex="7"
                                        value="<?php $this->text( 'realname' ); ?>" size='20' />
                                <div class="prefsectiontip">
-                                       <?php $this->msgWiki( 'prefs-help-realname' ); ?>
+                                       <?php $this->msgWiki( $this->data['createAnother'] ? 'createacct-another-realname-tip' : 'prefs-help-realname' ); ?>
                                </div>
                        </div>
                <?php }
index 7a1ea44..7fa2e1a 100644 (file)
@@ -46,7 +46,6 @@ $messages = array(
 'tog-shownumberswatching' => 'اعرض عدد المستخدمين المراقبين',
 'tog-oldsig' => 'التوقيع الحالي:',
 'tog-fancysig' => 'عامل التوقيع كنص ويكي (بدون وصلة أوتوماتيكية)',
-'tog-showjumplinks' => 'مكن وصلات "اذهب إلى" المساعدة',
 'tog-uselivepreview' => 'استخدم الاستعراض السريع (جافاسكريبت) (تجريبي)',
 'tog-forceeditsummary' => 'نبهني عند إدخال ملخص تعديل فارغ',
 'tog-watchlisthideown' => 'أخف تعديلاتي من قائمة المراقبة',
index db56f94..b03dc08 100644 (file)
@@ -97,7 +97,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Shfaqe numrin e përdoruesve mbikëqyrës',
 'tog-oldsig' => 'Parapamja e nënshkrimit ekzistues:',
 'tog-fancysig' => 'Trajto nënshkrimin si tekst (pa vegëz automatike)',
-'tog-showjumplinks' => 'Lejo lidhjet é afrueshmerisë "kapërce tek"',
 'tog-uselivepreview' => 'Trego parapamjén meniheré (JavaScript) (Eksperimentale)',
 'tog-forceeditsummary' => 'Pyetem kur e le përmbledhjen e redaktimit zbrazt',
 'tog-watchlisthideown' => "M'sheh redaktimet e mia nga lista mbikqyrëse",
index 43bd6d2..31e3039 100644 (file)
@@ -413,14 +413,17 @@ $2",
 'userlogin-yourname-ph' => 'የብዕር ስም ያስገቡ',
 'createacct-another-username-ph' => 'የብዕር ስም ያስገቡ',
 'yourpassword' => 'Password / መግቢያ ቃል',
+'userlogin-yourpassword-ph' => 'የመግቢያ ቃል ያስገቡ',
 'yourpasswordagain' => 'መግቢያ ቃልዎን ዳግመኛ ይስጡ',
+'createacct-yourpasswordagain' => 'የመግቢያ ቃሉን ይድገሙ',
+'createacct-yourpasswordagain-ph' => 'የመግቢያ ቃሉን ይድገሙ',
 'remembermypassword' => 'ለሚቀጥለው ጊዜ በዚ ኮምፒውተር ላይ በአባልነት ስሜ መግባቴን ( ቢባዛ ለ $1 {{PLURAL:$1|ቀን|ቀናት}}) አስታውስ።',
 'yourdomainname' => 'የእርስዎ ከባቢ (domain)፦',
 'password-change-forbidden' => 'በዚሁ ዊኪ መግቢያ ቃልን መቀይር አልተፈቀደም።',
 'externaldberror' => 'ወይም አፍአዊ የማረጋገጫ መረጃ-ቤት ስኅተት ነበረ፣ ወይም አፍአዊ አባልነትዎን ማሳደስ አልተፈቀዱም።',
 'login' => 'ለመግባት',
 'nav-login-createaccount' => 'መግቢያ',
-'loginprompt' => '(You must have cookies enabled to log in to {{SITENAME}}.)',
+'loginprompt' => '(ወደ {{SITENAME}} በብዕር ስም ለመግባት በኮምፒዩተሮ ላይ ኩኪስ (cookies) እንዲቀመጡ መፍቀድ ይኖርቦታል።)',
 'userlogin' => 'ግባ / ተመዝገብ',
 'userloginnocreate' => 'ለመግባት',
 'logout' => 'ከብዕር ስምዎ ለመውጣት',
@@ -432,24 +435,36 @@ $2",
 'gotaccount' => "(አባልነት አሁን ካለዎ፥ '''$1''' ይግቡ)",
 'gotaccountlink' => 'በዚህ',
 'userlogin-resetlink' => 'የመግቢያ ዝርዝርዎን ረተዋልን?',
+'createacct-join' => 'ከዚህ በታች ይመዝገቡ።',
+'createacct-emailrequired' => 'ኢ-ሜይል አድራሻ',
+'createacct-email-ph' => 'ኢ-ሜይል አድራሻዎን ያስገቡ',
 'createaccountmail' => 'በኢ-ሜል',
 'createaccountreason' => 'ምክንያት:',
+'createacct-reason' => 'ምክንያት',
+'createacct-reason-ph' => 'ለምን ሌላ የብዕር ስም ሊያወጡ እንደሆነ',
+'createacct-imgcaptcha-ph' => 'ከላይ የሚታየውን ጽሁፍ ያስገቡ',
+'createacct-submit' => 'የብዕር ስም ለማውጣት',
+'createacct-another-submit' => 'ሌላ የብዕር ስም ለማውጣት',
+'createacct-benefit-heading' => '{{SITENAME}} እንደ እርስዎ ባሉ ሰዎች ነው የሚጻፈው።',
+'createacct-benefit-body1' => '{{PLURAL:$1|እርማት|እርማቶችS}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|ገጽ|ገጾችS}}',
 'badretype' => 'የጻፉት መግቢያ ቃሎች አይስማሙም።',
-'userexists' => 'á\8b­á\88\85 á\89¥á\8b\95á\88­ á\88µá\88\9d á\8a á\88\81á\8a\95 á\8b­á\8a\96á\88«ል። እባክዎ፣ ሌላ ብዕር ስም ይምረጡ።',
+'userexists' => 'á\8b­á\88\85 á\89¥á\8b\95á\88­ á\88µá\88\9d á\89°á\8b­á\8b\9fል። እባክዎ፣ ሌላ ብዕር ስም ይምረጡ።',
 'loginerror' => 'የመግባት ስኅተት',
+'createacct-error' => 'የብዕር ስም መፍጠር ስህተት',
 'createaccounterror' => 'ይህን አባልነት ለመፍጠር አልተቻለም፦ $1',
 'nocookiesnew' => 'ብዕር ስም ተፈጠረ፣ እርስዎ ግን ገና አልገቡም። በ{{SITENAME}} ተጠቃሚዎች ለመግባት የቃኚ-ማስታወሻ (cookie) ይጠቀማል። በርስዎ ኮምፒውተር ግን የቃኚ-ማስታወሻ እንዳይሠራ ተደርጓል። እባክዎ እንዲሠራ ያድርጉና በአዲስ ብዕር ስምና መግቢያ ቃልዎ ይግቡ።።',
 'nocookieslogin' => 'በ{{SITENAME}} ተጠቃሚዎች ለመግባት የቃኚ-ማስታወሻ (cookie) ይጠቀማል። በርስዎ ኮምፒውተር ግን የቃኚ-ማስታወሻ እንዳይሠራ ተደርጓል። እባክዎ እንዲሠራ ያድርጉና እንደገና ይሞክሩ።',
 'noname' => 'የተወሰነው ብዕር ስም ትክክለኛ አይደለም።',
 'loginsuccesstitle' => 'መግባትዎ ተከናወነ!',
 'loginsuccess' => 'እንደ «$1» ሆነው አሁን {{SITENAME}}ን ገብተዋል።',
-'nosuchuser' => '«$1» የሚል ብዕር ስም አልተገኘም። አጻጻፉን ይመልከቱ ወይም አዲስ ብዕር ስም ያውጡ።',
+'nosuchuser' => '«$1» የሚል ብዕር ስም አልተገኘም። አጻጻፉን ይመልከቱ ወይም [[Special:UserLogin/signup|አዲስ ብዕር ስም ያውጡ]]።',
 'nosuchusershort' => '«$1» የሚል ብዕር ስም አልተገኘም። አጻጻፉን ይመልከቱ።',
 'nouserspecified' => 'አንድ ብዕር ስም መጠቆም ያስፈልጋል።',
 'login-userblocked' => 'ተጠቃሚው አሁን የታገደ ነው። መግባት አልተፈቀደም።',
 'wrongpassword' => 'የተሰጠው መግቢያ ቃል ልክ አልነበረም። ዳግመኛ ይሞክሩ።',
 'wrongpasswordempty' => 'ምንም መግቢያ ቃል አልተሰጠም። ዳግመኛ ይሞክሩ።',
-'passwordtooshort' => 'የመረጡት መግቢያ ቃል ልክ አይሆንም። ቢያንስ $1 ፊደላትና ከብዕር ስምዎ የተለየ መሆን አለበት።',
+'passwordtooshort' => 'የመረጡት መግቢያ ቃል ልክ አይሆንም። ቢያንስ {{PLURAL:$1|1 ፊደልS|$1 ፊደላት}} ያለው መሆን አለበት።',
 'password-name-match' => 'መግቢያ ቃልዎ እና የአባል ስምዎ መለያየት አስፈላጊ ነው።',
 'password-login-forbidden' => 'ይህ አባል ስምና መግቢያ ቃል መጥቀም የተከለከለ ነው።',
 'mailmypassword' => 'አዲስ የይለፍቃል በኢሜሌ ይላክልኝ።',
@@ -616,7 +631,7 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'userinvalidcssjstitle' => "'''ማስጠንቀቂያ፦''' «$1» የሚባል መልክ የለም። ልዩ .css እና .js ገጾች በትንንሽ እንግሊዝኛ ፊደል መጀመር እንዳለባቸው ያስታውሱ። ለምሳሌ፦  {{ns:user}}:Foo/vector.css ልክ ነው እንጂ {{ns:user}}:Foo/Vector.css አይደለም።",
 'updated' => '(የታደሰ)',
 'note' => "'''ማሳሰቢያ፦'''",
-'previewnote' => "ማስታወቂያ፦ '''ይህ ለሙከራው ብቻ ነው የሚታየው -- ምንም ለውጦች ገና አልተላኩም!'''",
+'previewnote' => "ማስታወቂያ፦ '''ይህ ለሙከራ ብቻ ነው የሚታየው፣ ምንም ለውጦች ገና አልተላኩም!'''",
 'previewconflict' => 'ለማስቀምጥ የመረጡ እንደ ሆነ እንደሚታይ፣ ይህ ቅድመ-ዕይታ በላይኛ ጽሕፈት ማዘጋጀት ክፍል ያለውን ጽሕፈት ያንጸባርቃል።',
 'session_fail_preview' => "'''ይቅርታ! ገጹን ለማቅረብ ስንሂድ፣ አንድ ትንሽ ችግር በመረቡ መረጃ ውስጥ ድንገት ገብቶበታል። እባክዎ፣ እንደገና ገጹን ለማቅረብ አንዴ ይሞክሩ። ከዚያ ገና ካልሠራ፣ ምናልባት ከአባል ስምዎ መውጣትና እንደገና መግባት ይሞክሩ።'''",
 'editing' => '«$1» ማዘጋጀት / ማስተካከል',
@@ -705,6 +720,7 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'page_last' => 'ኋለኞች',
 'histlegend' => "ከ2 እትሞች መካከል ልዩነቶቹን ለመናበብ፦ በ2 ክብ ነገሮች ውስጥ ምልክት አድርገው «የተመረጡትን እትሞች ለማነፃፀር» የሚለውን ተጭነው የዛኔ በቀጥታ ይሄዳሉ።<br /> መግለጫ፦ (ከአሁን) - ከአሁኑ እትም ያለው ልዩነት፤ (ካለፈው) - ቀጥሎ ከቀደመው እትም ያለው ልዩነት፤<br /> «'''ጥ'''» ማለት ጥቃቅን ለውጥ ነው።",
 'history-fieldset-title' => 'የቀደሙት ዕትሞች ፍለጋ',
+'history-show-deleted' => 'የጠፉትን ብቻ',
 'histfirst' => 'ቀድመኞች',
 'histlast' => 'ኋለኞች',
 'historysize' => '($1 byte)',
@@ -787,7 +803,7 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'lineno' => 'መስመር፡ $1፦',
 'compareselectedversions' => 'የተመረጡትን እትሞች ለማነፃፀር',
 'editundo' => 'ለውጡ ይገለበጥ',
-'diff-multi' => '(ከነዚህ 2 እትሞች መካከል {{PLURAL:$1|አንድ ለውጥ ነበር|$1 ለውጦች ነበሩ}}።)',
+'diff-multi' => '(ከነዚህ 2 እትሞች መካከል በ{{PLURAL:$2|አንድ አባል |$2 አባላት}} {{PLURAL:$1|የተደረገ አንድ ለውጥ አይታይም|የተደረጉ $1 ለውጦች አይታዩም}}።)',
 
 # Search results
 'searchresults' => 'የፍለጋ ውጤቶች',
@@ -810,7 +826,7 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'searchmenu-exists' => "'''\"[[:\$1]]\" የሚባል መጣጥፍ በዚሁ ዊኪ ላይ አለ።'''",
 'searchmenu-new' => "'''\"[[:\$1]]\" የሚባል መጣጥፍ ይፈጠር?'''",
 'searchprofile-articles' => 'ይዞታ ያላቸው መጣጥፎች',
-'searchprofile-project' => 'የመርሃግብሩ ገጾች',
+'searchprofile-project' => 'á\8b¨á\8b\95á\88­á\8b³á\89³ á\8a¥á\8a\93 á\8b¨á\88\98á\88­á\88\83á\8c\8dá\89¥á\88© á\8c\88á\8c¾á\89½',
 'searchprofile-images' => 'ፋይሎች',
 'searchprofile-everything' => 'ሁሉም',
 'searchprofile-advanced' => 'የተደረጀ ፍለጋ',
@@ -833,6 +849,7 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'searchall' => 'ሁሉ',
 'showingresults' => 'ከ ቁ.#<b>$2</b> ጀምሮ እስከ <b>$1</b> ውጤቶች ድረስ ከዚህ በታች ይታያሉ።',
 'showingresultsnum' => "ከ#'''$2''' ጀምሮ {{PLURAL:$3|'''1''' ውጤት|'''$3''' ውጤቶች}} ከዚህ ታች ማየት ይቻላል።",
+'showingresultsheader' => "{{PLURAL:$5|ከ'''$3''' ውጤት ውስጥ '''$1'''|ከ'''$3''' ውጤቶች ውስጥ ከ'''$1''' እስከ '''$2'''}} ለ'''$4'''",
 'nonefound' => "\"ማስገንዘቢያ\" የተወሰኑ ፍለጋዎች ብቻ በዋናው ስምምነት መሰረት ተፈልገው ይገኛሉ::
 ከምትፈልገው ነገር በፊት ''all:''ን በማስገባት ፍለጋህን ደግመህ ሞክር ይህም ሁሉንም የፍለጋ ቦታዎች እንድታዳርስ ይረዳሃል።",
 'search-nonefound' => 'ለጥያቄው ምንም የሚስማማ ውጤት አልተገኘም።',
@@ -923,7 +940,7 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'gender-female' => ' ሴት',
 'email' => 'ኢ-ሜል',
 'prefs-help-realname' => 'ዕውነተኛ ስምዎን መግለጽ አስፈላጊነት አይደለም። ለመግለጽ ከመረጡ ለሥራዎ ደራሲነቱን ለማስታወቅ ይጠቅማል።',
-'prefs-help-email' => 'á\8a¢á\88\9cá\88\8d á\8a á\8bµá\88«á\88»á\8a\95 á\88\9bá\89\85á\88¨á\89¥á\8b\8e á\8a á\88µá\8d\88á\88\8bá\8c\8a á\8a á\8b­á\8b°á\88\88á\88\9dá\8d¢ á\89¢á\8b«á\89\85á\88­á\89¡á\89µ á\88\8cá\88\8eá\89½ á\8a á\89£á\88\8bá\89µ á\8a á\8bµá\88«á\88»á\8b\8dá\8a\95 á\88³á\8b«á\8b\8dá\89\81 á\89 á\8d\95á\88®á\8c\8dá\88«á\88\99 á\8a á\88\9bá\8a«á\8a\9dá\8a\90á\89µ á\88\8aá\8c\88á\8a\93á\8a\99á\8b\8eá\89µ á\89°á\89»á\88\88።',
+'prefs-help-email' => 'á\8a¢á\88\9cá\88\8d á\8a á\8bµá\88«á\88»á\8a\95 á\88\9bá\89\85á\88¨á\89¥á\8b\8e á\8a á\88µá\8d\88á\88\8bá\8c\8a á\8a á\8b­á\8b°á\88\88á\88\9dá\8d¢ á\89¢á\8b«á\89\80á\88­á\89¡á\89µ á\8c\8dá\8a\95 á\8b¨á\88\98á\8c\8dá\89¢á\8b« á\89\83á\88\8eá\8a\95 á\89¢á\8b\98á\8a\90á\8c\89 á\88\8cá\88\8b á\8b¨á\88\98á\8c\8dá\89¢á\8b« á\89\83á\88\8d á\88\88á\88\9bá\8b\8dá\8c£á\89µ á\8a¥á\8a\95á\8b²á\89½á\88\89 á\8b«á\8b°á\88­á\8c\8bá\88\8d።',
 'prefs-help-email-required' => 'የኢ-ሜል አድራሻ ያስፈልጋል።',
 'prefs-info' => ' መሰረታዊ መረጃ',
 'prefs-signature' => 'ፊርማ',
@@ -1057,6 +1074,7 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'recentchanges-label-newpage' => 'ይኸው ለውጥ አዲስ ገጽ ፈጠረ።',
 'recentchanges-label-minor' => 'ይህ ለውጥ ጥቃቅን ነው።',
 'recentchanges-label-bot' => 'ይኸው ለውጥ በሎሌ ተደረገ።',
+'recentchanges-label-unpatrolled' => 'ይህ እርማት ገና አልተገመገመም',
 'rcnote' => "ከ$5 $4 እ.ኤ.አ. {{PLURAL:$2|ባለፈው 1 ቀን|ባለፉት '''$2''' ቀኖች}} {{PLURAL:$1|የተደረገው '''1''' ለውጥ እታች ይገኛል|የተደረጉት '''$1''' መጨረሻ ለውጦች እታች ይገኛሉ}}።",
 'rcnotefrom' => "ከ'''$2''' ጀምሮ የተቀየሩት ገጾች (እስከ '''$1''' ድረስ) ክዚህ በታች ይታያሉ።",
 'rclistfrom' => '(ከ $1 ጀምሮ አዲስ ለውጦቹን ለማየት)',
@@ -1246,12 +1264,13 @@ $1',
 'filehist-dimensions' => 'ክልሉ (በpixel)',
 'filehist-filesize' => 'መጠን',
 'filehist-comment' => 'ማጠቃለያ',
-'imagelinks' => 'á\8d\8bá\8b­á\88\8d á\88\98á\8b«á\8b«á\8b£á\8b\8eች',
+'imagelinks' => 'á\8b­á\88\85á\8a\95 á\8d\8bá\8b­á\88\8d á\8b¨á\88\9aá\8b«á\8c á\89\83á\88\8dá\88\89 á\8c\88á\8c¾ች',
 'linkstoimage' => '{{PLURAL:$1|የሚከተለው ገጽ ወደዚሁ ፋይል ተያይዟል|የሚከተሉ $1 ገጾች ወደዚሁ ፋይል ተያይዘዋል}}፦',
 'nolinkstoimage' => 'ወዲህ ፋይል የተያያዘ ገጽ የለም።',
 'morelinkstoimage' => 'ለዚህ ፋይል [[Special:WhatLinksHere/$1|ተጨማሪ መያያዣዎችን]] ለማየት።',
 'duplicatesoffile' => '{{PLURAL:$1|የሚከተለው ፋይል የዚህ ፋይል ቅጂ ነው|የሚከተሉት $1 ፋይሎች የዚሁ ፋይል ቅጂዎች ናቸው}}፦',
 'sharedupload' => 'ይህ ፋይል ከጋራ ምንጭ ($1) የተቀሰመ ነው። በማንኛውም ዊኪ ላይ ሊጠቅም ይቻላል።',
+'sharedupload-desc-here' => 'ይህ ፋይል ከ$1 የተቀሰመ ነው እና በሌላ ዊኪ ላይ ሊጠቅም ይችላል። በ$2 ላይ የሚገኘው የፋይሉ መግለጫ ከዚህ በታች ቀርቧል።',
 'filepage-nofile' => 'እንዲህ የሚባል ፋይል አይኖርም።',
 'filepage-nofile-link' => 'እንዲህ የሚባል ፋይል አይኖርም፤ እርስዎ ግን [$1 እሱን መላክ] ይችላሉ።',
 'uploadnewversion-linktext' => 'ለዚሁ ፋይል አዲስ ዕትም ለመላክ',
@@ -1710,7 +1729,7 @@ $1',
 'blanknamespace' => 'መጣጥፎች',
 
 # Contributions
-'contributions' => 'á\8b«ባል አስተዋጽኦች',
+'contributions' => 'á\8b¨á\8a ባል አስተዋጽኦች',
 'contributions-title' => 'የ$1 አስተዋጽኦች',
 'mycontris' => 'የኔ አስተዋጽኦች፤',
 'contribsub2' => 'ለ $1 ($2)',
@@ -1724,6 +1743,7 @@ $1',
 'sp-contributions-newbies-title' => 'የአዳዲስ ተጠቃሚዎች አስተዋጽኦች',
 'sp-contributions-blocklog' => 'የማገጃ መዝገብ',
 'sp-contributions-deleted' => 'የአባሉ የጠፉት አስተዋጽኦች',
+'sp-contributions-uploads' => 'የተላኩ ፋይሎች',
 'sp-contributions-logs' => 'መዝገቦች',
 'sp-contributions-talk' => 'ውይይት',
 'sp-contributions-userrights' => 'የአባል መብቶች ለማስተዳደር',
@@ -1801,7 +1821,7 @@ $1',
 'unblocked-range' => 'ማገጃ ከ$1 ተነሣ',
 'unblocked-id' => 'ማገጃ $1 ተነሣ',
 'blocklist' => 'የታገዱት ተጠቃሚዎች',
-'ipblocklist' => 'á\8b¨á\8bµá\88\85á\88¨ á\8c\88á\8d\85 á\88\98á\88\88á\8b«á\8b\8eá\89½á\8a\95á\8a\93 (IP addresses) á\8a¥á\8a\93 á\8b¨á\89°á\8c á\89\83á\88\9aá\8b\8eá\89½á\8a\95 á\8b¨á\89¥á\8b\95á\88­ á\88µá\88\9d á\8a á\8c\8dá\8bµá\8d¢',
+'ipblocklist' => 'á\8b¨á\89³á\8c\88á\8b±á\89µ á\89°á\8c á\89\83á\88\9aá\8b\8eá\89½',
 'ipblocklist-legend' => 'አንድ የታገደውን ተጠቃሚ ለመፈለግ፦',
 'blocklist-tempblocks' => 'ጊዜያዊ ማገጃዎች ይደበቁ',
 'blocklist-timestamp' => 'የተደረገበት ሰዓት',
@@ -2037,6 +2057,7 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 'tooltip-upload' => 'ለመጀመር ይጫኑ',
 'tooltip-rollback' => 'ROLLBACK የመጨረሻውን አዛጋጅ ለውጦች በፍጥነት ይገልበጣል።',
 'tooltip-undo' => '"መልስ" ይህን ቅድመ እይታ ወደ ቀድሞው የእርማት ቦታው መልስ። ማጠቃለያው ላይ ምክንያታችንን ለማስገባት ይፈቅድልናል።',
+'tooltip-summary' => 'አጭር ማጠቃለያ ይፃፉ',
 
 # Attribution
 'anonymous' => 'የ{{SITENAME}} ቁ. አድራሻ ተጠቃሚ(ዎች)',
index 67cfa22..59ce738 100644 (file)
@@ -61,7 +61,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Īwan þæt rīm behealdendra brūcenda',
 'tog-oldsig' => 'Genge selfmearc:',
 'tog-fancysig' => 'Dōn selfmearce tō wikitexte (lēas ǣr gedōnes hlencan)',
-'tog-showjumplinks' => 'Þafian "gān tō" gefērra hlencena',
 'tog-uselivepreview' => 'Notian rihte īwde fōrebysene (þearf JavaScript) (on costnunge)',
 'tog-forceeditsummary' => 'Cȳðan mē þǣr ic ne wrīte adihtunge sceortnesse',
 'tog-watchlisthideown' => 'Hȳdan mīna adihtunga wiþ þæt behealdungtæl',
index 841fadf..c307e30 100644 (file)
@@ -2293,6 +2293,9 @@ $1',
 'randompage' => 'صفحة عشوائية',
 'randompage-nopages' => 'لا توجد صفحات في {{PLURAL:$2||النطاق التالي|النطاقين التاليين|النطاقات التالية}}: $1.',
 
+# Special:RandomInCategory
+'randomincategory-selectcategory-submit' => 'اذهب',
+
 # Random redirect
 'randomredirect' => 'تحويلة عشوائية',
 'randomredirect-nopages' => 'لا توجد تحويلات في النطاق "$1".',
index b24826b..4dd0002 100644 (file)
@@ -129,7 +129,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Va ota va rupes favesik nedir !',
 'tog-oldsig' => 'Tisa sugdara',
 'tog-fancysig' => 'Krafiara va sugdaks wetce wikitext (a mivaskafi gluyasiki)',
-'tog-showjumplinks' => 'Tutegirara va "grablera" vansarafi gluyasiki',
 'tog-uselivepreview' => 'Favera va abdiwira (JavaScript) (bagalon)',
 'tog-forceeditsummary' => 'Zo walzé viele betaravildeks tir vlardaf !',
 'tog-watchlisthideown' => 'Palsera va jinaf suzdasikif betakseem',
index ef15ffe..96c9a26 100644 (file)
@@ -89,7 +89,6 @@ $messages = array(
 'tog-shownumberswatching' => "D' Åzoi voh dé beówochterden Benutzer åzoang",
 'tog-oldsig' => 'Existente Unterschrift',
 'tog-fancysig' => 'Unterschrift ois Wikitext bhåndln (óne autómaatische Valinkung)',
-'tog-showjumplinks' => '„Wexeln zu“-Links aktivirn',
 'tog-uselivepreview' => 'Live-Vurschau nutzen (dodafyr braucht ma JavaScript) (experimentoy)',
 'tog-forceeditsummary' => 'Warnen, wånn ban Speichern dé Zåmmerfossung fööd',
 'tog-watchlisthideown' => 'Eigerne Beorweitungen in da Beówochtungslisten ausblenden',
index 6b50f73..dce2230 100644 (file)
@@ -520,10 +520,9 @@ An administrador na iyo an nagkandado kaini nagpahayag kaining kapaliwanagan: "$
 'virus-unknownscanner' => 'bakong bistadong antivirus:',
 
 # Login and logout pages
-'logouttext' => "'''Ika po sa ngunyan nakaluwas na.'''
+'logouttext' => "'''Ika ngunyan nakaluwas na.'''
 
-Ika makakadagos pa sa paggamit kan {{SITENAME}} na dai nagpapabisto, o ika <span class='plainlinks'>[$1 Maglaog giraray]</span> bilang pareho o bilang ibang paragamit.
-Giromdoma na an ibang mga pahina mapuwedeng padagos na magpapahiling siring baga na kun ika garo yaon man sana sa laog, sagkod na saimong malinigan mo an sarayan sa kilyawan.",
+Tandai tabi na an nagkapirang mga pahina puwedeng maipagpapadagos na ipagpapahiling siring sa ika baga yaon sa laog pa, sagkod na maiklarado an saimong pankilyaw na kaaganan.",
 'welcomeuser' => 'Marhayong pag-abot, $1!',
 'welcomecreation-msg' => 'An saimong panindog pinagmukna na.
 Dae malingaw na liwaton an saimong [[Special:Preferences|{{SITENAME}} mga kamuyahan]].',
@@ -570,7 +569,7 @@ Dae malingaw na liwaton an saimong [[Special:Preferences|{{SITENAME}} mga kamuya
 'createacct-emailoptional' => 'E-surat na estada (opsyonal)',
 'createacct-email-ph' => 'Pakikaag an saimong e-surat na estada',
 'createacct-another-email-ph' => 'Ikaag an estada kan e-surat',
-'createaccountmail' => 'Gumamit nin sarong random na temporaryong sekretong panlaog asin ipadara ini sa adres kan e-surat na pinaghaya sa ibaba',
+'createaccountmail' => 'Gumamit nin sarong temporaryong pampurak na pasa-taramon asin ipadara ini sa pinagsambit na estada kan e-surat',
 'createacct-realname' => 'Totoong pangaran (opsyonal)',
 'createaccountreason' => 'Rason:',
 'createacct-reason' => 'Rason',
@@ -1370,10 +1369,10 @@ An saimong e-surat na adres dae ipagbuyagyag kunsoarin na an ibang paragamit mak
 'userrights-no-interwiki' => 'Ika mayo tabing permkso na magliwat sa paragamit na karapatan sa ibang wikis.',
 'userrights-nodatabase' => 'An datos-sarayan $1 bakong eksistido o bakong lokal.',
 'userrights-nologin' => 'Ika kaipuhan na [[Special:UserLogin|maglaog ka]] na igwa nin panindog na administrador bago ka makapagtao nin karapatan sa paragamit.',
-'userrights-notallowed' => 'An saimong panindog mayo tabi nin permiso na magdagdag o maghale nin karapatan kan mga paragamit.',
+'userrights-notallowed' => 'Ika mayo tabing permiso na magdugang o magtangkas nin mga katanosan kan paragamit.',
 'userrights-changeable-col' => 'Mga grupo na mapuwede mong baguhon',
 'userrights-unchangeable-col' => 'Mga grupo na dae mo mapuwedeng baguhon',
-'userrights-conflict' => 'Kumplikto sa katanosan nin paragamit! Pakigibo giraray kan saimong mga kaliwatan.',
+'userrights-conflict' => 'Kumplikto sa mga kaliwatan nin mga katanosan kan paragamit! Tabi man pakirikisa asin kumpirmaron an saimong mga kaliwatan.',
 'userrights-removed-self' => 'Saimong matrayumpong pinagtangkas an sadire mong mga katanosan. Sa siring, ika dae na tabi makakalaog sa pahinang ini.',
 
 # Groups
@@ -2981,13 +2980,13 @@ Ini hurot na pinagkausa nin sarong sugpunan pasiring sa sarong pinagbawal na pan
 'pageinfo-length' => 'Kalabaan kan pahina (yaon sa mga bayta)',
 'pageinfo-article-id' => 'ID kan pahina',
 'pageinfo-language' => 'Lengguwahe kan laog sa pahina',
-'pageinfo-robot-policy' => 'Estado kan makinang parahanap',
-'pageinfo-robot-index' => 'Maihuhukdo',
-'pageinfo-robot-noindex' => 'Dae maihuhukdo',
+'pageinfo-robot-policy' => 'Pinaghuhukdo sa paagi nin mga robot',
+'pageinfo-robot-index' => 'Pinagtutugotan',
+'pageinfo-robot-noindex' => 'Dae pinagtutugotan',
 'pageinfo-views' => 'Numero kan mga patanaw',
 'pageinfo-watchers' => 'Numero kan parabantay nin pahina',
 'pageinfo-few-watchers' => 'Kadikiton kesa $1{{PLURAL:$1|parabantay|mga parabantay}}',
-'pageinfo-redirects-name' => 'Maipalikwat pasiring sa pahina ini',
+'pageinfo-redirects-name' => 'Numero kan mga palikwat kaining pahina',
 'pageinfo-subpages-name' => 'Mga sub-pahina kaining pahina',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|panlikwat|mga panlikwat}}; $3 {{PLURAL:$3|bakong panlikwat|bakong mga panlikwat}})',
 'pageinfo-firstuser' => 'Paramukna nin pahina',
index f3c0c7d..d5c7db9 100644 (file)
@@ -3136,8 +3136,8 @@ $2',
 'pageinfo-article-id' => 'Ідэнтыфікатар старонкі',
 'pageinfo-language' => 'Мова зьместу старонкі',
 'pageinfo-robot-policy' => 'Індэксацыя пашукавікамі',
-'pageinfo-robot-index' => 'Ð\86ндÑ\8dкÑ\81Ñ\83еÑ\86Ñ\86а',
-'pageinfo-robot-noindex' => 'Не індэксуецца',
+'pageinfo-robot-index' => 'Ð\94азволенаÑ\8f',
+'pageinfo-robot-noindex' => 'Не дазволеная',
 'pageinfo-views' => 'Колькасьць праглядаў',
 'pageinfo-watchers' => 'Колькасьць назіральнікаў і назіральніц',
 'pageinfo-few-watchers' => 'Менш за $1 {{PLURAL:$1|назіральніка|назіральнікаў}}',
@@ -4126,4 +4126,7 @@ MediaWiki распаўсюджваецца з надзеяй, што будзе
 # Image rotation
 'rotate-comment' => 'Выява павернутая на $1{{PLURAL:$1|°}} па гадзіньнікавай стрэлцы',
 
+# Limit report
+'limitreport-title' => 'Зьвесткі прафіляваньня парсэра:',
+
 );
index 36b8a65..3ac9436 100644 (file)
@@ -491,8 +491,7 @@ $2',
 # Login and logout pages
 'logouttext' => "'''আপনি এইমাত্র আপনার অ্যাকাউন্ট থেকে প্রস্থান করেছেন।'''
 
-এ পরিস্থিতিতে আপনি বেনামে {{SITENAME}} ব্যবহার করতে পারেন, কিংবা একই বা পৃথক নামে <span class='plainlinks'>[$1 আবার প্রবেশ করতে]</span> পারেন।
-লক্ষ্য করুন যে, এর কোন কোন পাতা এখনও এমনভাবে দেখাতে পারে যাতে মনে হবে আপনি আগের অবস্থাতেই আছেন। এক্ষেত্রে আপনাকে আপনার ব্রাওজারের ক্যাশ পরিষ্কার (clear browser cache) করে নিতে হবে।",
+এ পরিস্থিতিতে আপনি বেনামে {{SITENAME}} ব্যবহার করতে পারেন, কিংবা একই বা পৃথক নামে <span class='plainlinks'>[$1 আবার প্রবেশ করতে]</span> পারেন। লক্ষ্য করুন যে, এর কোন কোন পাতা এখনও এমনভাবে দেখাতে পারে যাতে মনে হবে আপনি আগের অবস্থাতেই আছেন। এক্ষেত্রে আপনাকে আপনার ব্রাউজারের ক্যাশ পরিষ্কার (clear browser cache) করে নিতে হবে।",
 'welcomeuser' => 'স্বাগতম, $1!',
 'welcomecreation-msg' => 'আপনার অ্যাকাউন্ট তৈরী হয়েছে।
 আপনার [[Special:Preferences|{{SITENAME}} পছন্দসমূহ]]  পরিবর্তন করে নিতে ভুলবেন না।',
@@ -538,7 +537,7 @@ $2',
 'createacct-emailoptional' => 'ইমেইল ঠিকানা (ঐচ্ছিক)',
 'createacct-email-ph' => 'আপনার ইমেইল ঠিকানা যোগ করুন',
 'createacct-another-email-ph' => 'আপনার ইমেইল ঠিকানা প্রবেশ করান',
-'createaccountmail' => 'à¦\8fà¦\95à¦\9fি à¦°â\80\8cà§\8dযানà§\8dডম à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦¨à¦¿à¦°à§\8dবাà¦\9aন à¦\95রà§\81ন à¦\8fবà¦\82 à¦¨à¦¿à¦\9aà§\87র à¦¨à¦¿à¦°à§\8dধারিত à¦\87মà§\87à¦\87ল à¦ à¦¿à¦\95ানায় à¦ªà¦¾à¦ à¦¿à¦¯à¦¼à§\87 à¦¦à¦¿à¦¨',
+'createaccountmail' => 'একটি র‌্যান্ডম পাসওয়ার্ড নির্বাচন করুন এবং নির্ধারিত ইমেইল ঠিকানায় পাঠিয়ে দিন',
 'createacct-realname' => 'আসল নাম (ঐচ্ছিক)',
 'createaccountreason' => 'কারণ:',
 'createacct-reason' => 'কারণ',
@@ -686,6 +685,16 @@ $2
 'changeemail-submit' => 'ই-মেইল পরিবর্তন',
 'changeemail-cancel' => 'বাতিল',
 
+# Special:ResetTokens
+'resettokens' => 'রিসেট টোকেন',
+'resettokens-no-tokens' => 'রিসেট করার মত কোনো টোকেন নেই।',
+'resettokens-legend' => 'রিসেট টোকেন',
+'resettokens-tokens' => 'টোকেন:',
+'resettokens-token-label' => '$1 (বর্তমান: $2)',
+'resettokens-watchlist-token' => 'ওয়াচলিস্ট ওয়েবফীড টোকেন',
+'resettokens-done' => 'টোকেন রিসেট।',
+'resettokens-resetbutton' => 'নির্বাচিত টোকেন রিসেট',
+
 # Edit page toolbar
 'bold_sample' => 'গাঢ় লেখা',
 'bold_tip' => 'গাঢ় লেখা',
@@ -1272,7 +1281,7 @@ $1",
 'prefs-signature' => 'স্বাক্ষর',
 'prefs-dateformat' => 'তারিখ বিন্যাস',
 'prefs-timeoffset' => 'সময় অফসেট',
-'prefs-advancedediting' => 'à¦\89à¦\9aà§\8dà¦\9aতর অপশন',
+'prefs-advancedediting' => 'সাধারণ অপশন',
 'prefs-editor' => 'সম্পাদক',
 'prefs-preview' => 'প্রাকদর্শন',
 'prefs-advancedrc' => 'উচ্চতর অপশন',
@@ -1282,6 +1291,7 @@ $1",
 'prefs-displayrc' => 'প্রদর্শনী অপশন',
 'prefs-displaysearchoptions' => 'প্রদর্শনী অপশন',
 'prefs-displaywatchlist' => 'প্রদর্শনী অপশন',
+'prefs-tokenwatchlist' => 'টোকেন',
 'prefs-diffs' => 'পার্থক্য',
 
 # User preference: email validation using jQuery
@@ -1306,10 +1316,11 @@ $1",
 'userrights-no-interwiki' => 'আপনার অন্য উইকিতে ব্যবহারকারী অধিকার সম্পাদনা করার অনুমতি নেই।',
 'userrights-nodatabase' => '$1 ডাটাবেজটির হয় কোন অস্তিত্ব নেই অথবা এটি স্থানীয় ডাটাবেজ নয়।',
 'userrights-nologin' => 'ব্যবহারকারী অধিকার প্রযুক্ত করতে হলে আপনাকে কোন প্রশাসকের অ্যাকাউন্টে [[Special:UserLogin|প্রবেশ]] করতে হবে।',
-'userrights-notallowed' => 'আপনার অ্যাকাউন্ট থেকে ব্যবহারকারী অধিকার যুক্ত বা অপসারণ করার অনুমতি নেই।',
+'userrights-notallowed' => 'আপনার, ব্যবহারকারী অধিকার যুক্ত বা অপসারণ করার অনুমতি নেই।',
 'userrights-changeable-col' => 'দল যা আপনি পরিবর্তন করতে পারেন',
 'userrights-unchangeable-col' => 'দল যা আপনি পরিবর্তন করতে পারবেন না',
-'userrights-conflict' => 'ব্যবহারকারী অধিকার দ্বন্দ্ব! অনুগ্রহ করে পুনরায় চেষ্টা করুন।',
+'userrights-conflict' => 'ব্যবহারকারী অধিকার দ্বন্দ্ব! অনুগ্রহ করে নিশ্চিত হোন এবং পুনরায় চেষ্টা করুন।',
+'userrights-removed-self' => 'আপনি সফলভাবে আপনার নিজের অধিকার পরিবর্তন করেছেন। এর ফলে এখন থেকে আপনি আর এই পাতায় প্রবেশ করতে পারবেন না।',
 
 # Groups
 'group' => 'দল:',
@@ -1373,7 +1384,7 @@ $1",
 'right-hideuser' => 'ব্যবহারকারীকে ব্লক করুন, এবং সর্বসাধারণের দৃষ্টিসীমা থেকে সরিয়ে নিন',
 'right-ipblock-exempt' => 'আইপি ব্লক, অটো ব্লক এবং রেঞ্জ ব্লক এড়িয়ে যান',
 'right-proxyunbannable' => 'সয়ংক্রিয় প্রক্সি ব্লক এড়িয়ে যান',
-'right-unblockself' => 'আনব্লক করুন',
+'right-unblockself' => 'à¦\8fà¦\95à¦\9cনà¦\95à§\87 à¦\86নবà§\8dলà¦\95 à¦\95রà§\81ন',
 'right-protect' => 'পাতাটির সুরক্ষা সীমা পরিবর্তন করুন এবং সুরক্ষিত পাতটি সম্পাদনা করুন',
 'right-editprotected' => 'সুরক্ষিত পাতা সম্পাদনা (ক্যাসকাডিং সুরক্ষা ছাড়া)',
 'right-editinterface' => 'ব্যবহারকারী ইন্টারফেস সম্পাদনা',
@@ -1382,6 +1393,8 @@ $1",
 'right-edituserjs' => 'অন্য ব্যবহারকারীগণের JS ফাইল সম্পাদনা',
 'right-editmyusercss' => 'আপনার নিজস্ব ব্যবহারকারী সিএসএস ফাইল সম্পাদনা করুন',
 'right-editmyuserjs' => 'আপনার নিজস্ব ব্যবহারকারী জাভাস্ক্রিপ্ট ফাইল সম্পাদনা করুন',
+'right-viewmywatchlist' => 'আপনার নজরতালিকা দেখুন',
+'right-editmyoptions' => 'আপনার পছন্দসমূহ পরিবর্তন করুন',
 'right-rollback' => 'একটি নির্দিষ্ট পাতার সর্বশেষ ব্যবহারকারীর সম্পদনা পূর্বাবস্থায় ফিরিয়ে আনুন',
 'right-markbotedits' => 'রোলড-ব্যাক সম্পাদনাসমূহকে বট সম্পাদনা হিসেবে চিহ্নিত করো',
 'right-noratelimit' => 'রেট লিমিটের ভিত্তিতে পরিবর্তন হবে না',
@@ -1443,6 +1456,10 @@ $1",
 'action-userrights-interwiki' => 'অন্যান্য উইকির ব্যবহারকারীদের অধিকারসমূহ সম্পাদনা করুন',
 'action-siteadmin' => 'ডাটাবেজ বন্ধ অথবা খুলুন',
 'action-sendemail' => 'ই-মেইল পাঠাও',
+'action-editmywatchlist' => 'আপনার নজরতালিকা পরিবর্তন করুন',
+'action-viewmywatchlist' => 'আপনার নজরতালিকা দেখুন',
+'action-viewmyprivateinfo' => 'আপনার ব্যক্তিগত তথ্য দেখুন',
+'action-editmyprivateinfo' => 'আপনার ব্যক্তিগত তথ্য সম্পাদনা করুন',
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|পরিবর্তন|পরিবর্তনসমূহ}}',
@@ -2048,7 +2065,8 @@ Maybe you want to edit the description on its [$2 file description page] there.'
 'listgrouprights' => 'দলগত ব্যবহারকারী অধিকার',
 'listgrouprights-summary' => 'এই উইকির ব্যবহারকারীদের একটি গ্রুপগুলোর তালিকা দেখানো হচ্ছে, সাথে গ্রুপের কার্যপরিধিও উল্লেখ করা হয়েছে।
 নির্দিষ্ট গ্রুপের কার্যপরিধি সম্পর্কে জানতে দেখুন [[{{MediaWiki:Listgrouprights-helppage}}|additional information]]।',
-'listgrouprights-key' => '* <span class="listgrouprights-granted">অনুমোদিত অধিকার</span>
+'listgrouprights-key' => 'লিজেন্ড:
+* <span class="listgrouprights-granted">অনুমোদিত অধিকার</span>
 * <span class="listgrouprights-revoked">বাধাপ্রাপ্ত অধিকার</span>',
 'listgrouprights-group' => 'দল',
 'listgrouprights-rights' => 'অধিকারসমূহ',
@@ -2227,7 +2245,7 @@ $UNWATCHURL
 এই পাতায় সর্বোশেষে [[User:$3|$3]] ([[User talk:$3|talk]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]) দ্বারা সম্পাদিত।',
 'editcomment' => "সম্পাদনা সারাংশ ছিল: \"''\$1''\"।",
 'revertpage' => '[[Special:Contributions/$2|$2]] ([[User talk:$2|আলাপ]]) এর সম্পাদিত সংস্করণ হতে [[User:$1|$1]] এর সম্পাদিত সর্বশেষ সংস্করণে ফেরত যাওয়া হয়েছে।',
-'revertpage-nouser' => '(ব্যবহারকারী নাম অপসারিত) কর্তৃক সম্পাদিত সম্পাদনাটি বাতিলপূর্বক [[User:$1|$1]]-এর সর্বশেষ সম্পাদনায় ফেরত যাওয়া হয়েছে।',
+'revertpage-nouser' => 'একজন গোপন ব্যবহারকারী কর্তৃক সম্পাদিত সম্পাদনাটি বাতিলপূর্বক [[User:$1|$1]]-এর সর্বশেষ সম্পাদনায় ফেরত যাওয়া হয়েছে।',
 'rollback-success' => '$1-এর সম্পাদনাগুলি পূর্বাবস্থায় ফিরিয়ে নেওয়া হয়েছে; $2-এর করা শেষ সংস্করণে পাতাটি ফেরত নেওয়া হয়েছে।',
 
 # Edit tokens
@@ -2874,13 +2892,13 @@ $2',
 'pageinfo-length' => 'পাতার দৈর্ঘ্য (বাইটে)',
 'pageinfo-article-id' => 'পাতার আইডি',
 'pageinfo-language' => 'পাতার তথ্যের ভাষা',
-'pageinfo-robot-policy' => 'সারà§\8dà¦\9a à¦\87à¦\9eà§\8dà¦\9cিনà§\87র à¦\85বসà§\8dথা',
-'pageinfo-robot-index' => 'à¦\87নডà§\87à¦\95à§\8dস à¦\89পযà§\8bà¦\97à§\80',
-'pageinfo-robot-noindex' => 'à¦\87নডà§\87à¦\95à§\8dসà§\87র à¦\85নà§\81পযà§\8bà¦\97à§\80',
+'pageinfo-robot-policy' => 'রà§\8bবà¦\9fà§\87র à¦®à¦¾à¦§à§\8dযমà§\87 à¦\87নà§\8dডà§\87à¦\95à§\8dস à¦\95রা à¦¹à¦\9aà§\8dà¦\9bà§\87',
+'pageinfo-robot-index' => 'à¦\85নà§\81মà§\8bদিত',
+'pageinfo-robot-noindex' => 'à¦\85নà§\81নমà§\8bদিন',
 'pageinfo-views' => 'পরিদর্শন সংখ্যা',
 'pageinfo-watchers' => 'পাতাটি প্রদর্শনের সংখ্যা',
 'pageinfo-few-watchers' => '$1 জন {{PLURAL:$1|নজরকারীও}} কম',
-'pageinfo-redirects-name' => 'এই পাতার রিডাইরেক্ট সমূহ',
+'pageinfo-redirects-name' => 'এই পাতার রিডাইরেক্টসমূহের সংখ্যা',
 'pageinfo-subpages-name' => 'এই পাতার উপপাতাসমূহ',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|পুনর্নির্দেশ|পুনর্নির্দেশসমূহ}}; $3 {{PLURAL:$3|পুনর্নির্দেশ নেই|পুনর্নির্দেশ নেই}})',
 'pageinfo-firstuser' => 'পাতা তৈরী',
@@ -3220,7 +3238,7 @@ $1',
 'exif-compression-4' => 'সিসিআইটিটি গ্রুপ ৪ ফ্যাক্স এনকোডিং',
 
 'exif-copyrighted-true' => 'কপিরাইটকৃত',
-'exif-copyrighted-false' => 'পাবলিà¦\95 à¦¡à§\8bমà§\87à¦\87ন',
+'exif-copyrighted-false' => 'à¦\95পিরাà¦\87à¦\9f à¦¸à¦\82à¦\95à§\8dরানà§\8dত à¦¤à¦¥à§\8dয à¦¨à§\87à¦\87',
 
 'exif-unknowndate' => 'অজানা তারিখ',
 
@@ -3479,7 +3497,7 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 'confirmemail_body_set' => 'কেউ একজন, সম্ভবত আপনি, $1 আইপি ঠিকানা থেকে,
 {{SITENAME}}-এ "$2" অ্যকাউন্টের ইমেইল ঠিকানা নির্ধারণ করেছেন।
 
-এই অ্যাকাউন্টটি যে আসলেই আপনার তা নিশ্চিত করার জন্য এবং {{SITENAME}}-এ ই-মেইল বৈশিষ্ট্যগুলো সক্রিয় করার জন্য আপনার ব্রাউজারে এই সংযোগটি খুলুন:
+এই অ্যাকাউন্টটি যে আসলেই আপনার তা নিশ্চিত করার জন্য এবং {{SITENAME}}-এ ইমেইল বৈশিষ্ট্যগুলো সক্রিয় করার জন্য আপনার ব্রাউজারে এই সংযোগটি খুলুন:
 
 $3
 
@@ -3651,6 +3669,7 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 'version-license' => 'লাইসেন্স',
 'version-poweredby-credits' => "এইক উইকিটি পরিচালিত হচ্ছে '''[//www.mediawiki.org/ মিডিয়াউইকি]'''-এর মাধ্যমে, কপিরাইট © ২০০১-$1 $2।",
 'version-poweredby-others' => 'অন্যান্য',
+'version-poweredby-translators' => 'translatewiki.net অনুবাদকগণ',
 'version-credits-summary' => '[[Special:Version|মিডিয়াউইকি]] সফটওয়্যারে অবদানের জন্য আমরা এই ব্যক্তিকে স্বীকৃতি দিতে চাই।',
 'version-license-info' => 'মিডিয়াউইকি এ++++কটি ফ্রি সফটওয়্যার, আপনি এটি বিতরণ করতে পারবেন এবং/অথবা সম্পদানা করতে পারবেন, এক্ষেত্রে ফ্রি সফটওয়্যার ফাউন্ডেশনের প্রকাশিত গনু জেনারেল পাবলিক লাইসেন্সের ২য় অথবা সাম্প্রতিকতম কোনো সংস্করণ মেনে চলতে হবে। 
 
index 9e739ac..f0f7f11 100644 (file)
@@ -480,6 +480,7 @@ $messages = array(
 'create-this-page' => 'Napravi ovu stranicu',
 'delete' => 'Obriši',
 'deletethispage' => 'Obriši ovu stranicu',
+'undeletethispage' => 'Povrati ovu stranicu',
 'undelete_short' => 'Vrati obrisanih {{PLURAL:$1|$1 izmjenu|$1 izmjene|$1 izmjena}}',
 'viewdeleted_short' => 'Pogledaj {{PLURAL:$1|jednu obrisanu izmjenu|$1 obrisane izmjene|$1 obrisanih izmjena}}',
 'protect' => 'Zaštitite',
@@ -679,6 +680,10 @@ $2',
 'namespaceprotected' => "Vi nemate dozvulu da mijenjate stranicu '''$1'''.",
 'customcssprotected' => 'Nemate dozvolu za mijenjanje ove CSS stranice jer sadrži osobne postavke nekog drugog korisnika.',
 'customjsprotected' => 'Nemate dozvolu za mijenjanje ove JavaScript stranice jer sadrži osobne postavke nekog drugog korisnika.',
+'mycustomcssprotected' => 'Nemate dozvolu da uređujete ovu CSS stranicu.',
+'mycustomjsprotected' => 'Nemate dozvolu da uređujete ovu stranicu sa JavaScriptom.',
+'myprivateinfoprotected' => 'Nemate dozvolu da uređujete svoje privatne informacije.',
+'mypreferencesprotected' => 'Nemate dozvolu da uređujete svoje postavke.',
 'ns-specialprotected' => 'Specijalne stranice se ne mogu uređivati.',
 'titleprotected' => 'Naslov stranice je zaštićen od postavljanja od strane korisnika [[User:$1|$1]].
 Iz razloga "\'\'$2\'\'".',
@@ -695,7 +700,6 @@ Iz razloga "\'\'$2\'\'".',
 # Login and logout pages
 'logouttext' => "'''Sad ste odjavljeni.'''
 
-Možete nastaviti da koristite {{SITENAME}} anonimno, ili se ponovo <span class='plainlinks'>[$1 prijaviti]</span> kao isti ili kao drugi korisnik.
 Obratite pažnju da neke stranice mogu nastaviti da se prikazuju kao da ste još uvijek prijavljeni, dok ne očistite keš svog preglednika.",
 'welcomeuser' => 'Dobro došli, $1',
 'welcomecreation-msg' => 'Vaš nalog je napravljen.
@@ -703,6 +707,7 @@ Ne zaboravite da prilagodite sebi svoja [[Special:Preferences|{{SITENAME}} pode
 'yourname' => 'Korisničko ime:',
 'userlogin-yourname' => 'Korisničko ime',
 'userlogin-yourname-ph' => 'Unesite Vaše korisničko ime',
+'createacct-another-username-ph' => 'Unesite korisničko ime',
 'yourpassword' => 'Šifra:',
 'userlogin-yourpassword' => 'Šifra',
 'userlogin-yourpassword-ph' => 'Unesite Vašu šifru/lozinku',
@@ -737,10 +742,12 @@ Ne zaboravite da prilagodite sebi svoja [[Special:Preferences|{{SITENAME}} pode
 'helplogin-url' => 'Help:Prijavljivanje',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pomoć pri prijavljivanju]]',
 'createacct-join' => 'Unesite svoje podatke ispod.',
+'createacct-another-join' => 'Unesite informacije o novom računu ispod.',
 'createacct-emailrequired' => 'Adresa e-pošte',
 'createacct-emailoptional' => 'Adresa e-pošte (opcionalno)',
 'createacct-email-ph' => 'Unesite Vašu adresu e-pоšte',
-'createaccountmail' => 'Koristite privremenu, slučajno stvorenu šifru/lozinku i pošaljite na dole navedenu adrеsu e-pošte',
+'createacct-another-email-ph' => 'Unesite adresu e-pošte',
+'createaccountmail' => 'Koristite privremenu, slučajno stvorenu šifru/lozinku i pošaljite na navedenu adrеsu e-pošte',
 'createacct-realname' => 'Pravo ime (opcionalno)',
 'createaccountreason' => 'Razlog:',
 'createacct-reason' => 'Razlog',
@@ -748,6 +755,7 @@ Ne zaboravite da prilagodite sebi svoja [[Special:Preferences|{{SITENAME}} pode
 'createacct-captcha' => 'Sigurnosna provjera',
 'createacct-imgcaptcha-ph' => 'Unesite tekst koji vidite iznad',
 'createacct-submit' => 'Napravite svoj korisnički račun',
+'createacct-another-submit' => 'Napravi još jedan korisnički račun',
 'createacct-benefit-heading' => '{{SITENAME}} je napravljen od strane ljudi kao što ste Vi.',
 'createacct-benefit-body1' => '{{PLURAL:$1|izmjena|izmjene}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|stranica|stranice|stranica}}',
@@ -822,6 +830,7 @@ Molimo Vas da sačekate prije nego što pokušate ponovo.',
 # Email sending
 'php-mail-error-unknown' => 'Nepoznata greška u PHP funkciji mail()',
 'user-mail-no-addy' => 'Pokušaj slanja e-maila bez navedene e-mail adrese.',
+'user-mail-no-body' => 'Pokušano slanje e-poruke s praznim ili nerazumno kratkim sadržajem.',
 
 # Change password dialog
 'resetpass' => 'Promijeni korisničku šifru',
@@ -845,6 +854,7 @@ Možda ste već uspješno promijenili Vašu šifru ili ste tražili novu privrem
 # Special:PasswordReset
 'passwordreset' => 'Poništavanje šifre',
 'passwordreset-text-one' => 'Ispunite ovaj obrazac da biste resetovali Vašu šifru/lozinku.',
+'passwordreset-text-many' => '{{PLURAL:$1|Ispunite jedno od polja kako bi ste resetirali svoju šifru/lozinku.}}',
 'passwordreset-legend' => 'Poništi šifru',
 'passwordreset-disabled' => 'Poništavanje šifre  je onemogućeno na ovoj wiki.',
 'passwordreset-username' => 'Korisničko ime:',
@@ -1133,6 +1143,7 @@ Molimo da provjerite usporedbu ispod da budete sigurni da to želite učiniti, a
 'undo-failure' => 'Izmjene se ne mogu vratiti zbog konflikta sa izmjenama u međuvremenu.',
 'undo-norev' => 'Izmjena se ne može vratiti jer ne postoji ranija ili je obrisana.',
 'undo-summary' => 'Vraćena izmjena $1 [[Special:Contributions/$2|korisnika $2]] ([[User talk:$2|razgovor]])',
+'undo-summary-username-hidden' => 'Poništi izmjenu $1 od skrivenog korisnika',
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Nije moguće napraviti korisnički račun',
@@ -1313,6 +1324,7 @@ Korištenje navigacionih linkova će resetovati ovaj stupac.',
 'compareselectedversions' => 'Uporedite označene verzije',
 'showhideselectedversions' => 'Pokaži/sakrij odabrane verzije',
 'editundo' => 'ukloni ovu izmjenu',
+'diff-empty' => '(Nema razlike)',
 'diff-multi' => '({{plural:$1|Nije prikazana jedna međurevizija|Nisu prikazane $1 međurevizije|Nije prikazano $1 međurevizija}} od {{PLURAL:$2|jednog korisnika|$2 korisnika}})',
 'diff-multi-manyusers' => '({{PLURAL:$1|Jedna međurevizija|$1 međurevizije|$1 međurevizija}} od više od $2 {{PLURAL:$2|korisnika|korisnika}} {{PLURAL:$1|nije prikazana|nisu prikazane}})',
 'difference-missing-revision' => '{{PLURAL:$2|Jedna izmjena|$2 izmjene}} od ove razlike ($1) ne {{PLURAL:$2|postoji|postoje}}.
@@ -1523,6 +1535,7 @@ Ako izaberete da date ime, biće korišteno za pripisivanje za vaš rad.',
 'userrights-changeable-col' => 'Grupe koje možete mijenjati',
 'userrights-unchangeable-col' => 'Grupe koje ne možete mijenjati',
 'userrights-conflict' => 'Sukob u korisničkim pravima! Molimo pošaljite Vaše promjene ponovno.',
+'userrights-removed-self' => 'Uspješno ste uklonili vlastite prava. Zbog toga više niste u stanju pristupiti ovoj stranici.',
 
 # Groups
 'group' => 'Grupa:',
@@ -1594,6 +1607,7 @@ Ako izaberete da date ime, biće korišteno za pripisivanje za vaš rad.',
 'right-editusercss' => 'Uređivanje CSS datoteka drugih korisnika',
 'right-edituserjs' => 'Uređivanje JS datoteka drugih korisnika',
 'right-editmyusercss' => 'Uredite svoje vlastite korisničke CSS datoteke',
+'right-editmyprivateinfo' => 'Uredite svoje privatne podatke (npr. adresa e-pošte, pravo ime)',
 'right-editmyoptions' => 'Uredite svoje postavke',
 'right-rollback' => 'Brzo vraćanje izmjena na zadnjeg korisnika koji je uređivao određenu stranicu',
 'right-markbotedits' => 'Označavanje vraćenih izmjena kao izmjene bota',
@@ -1656,6 +1670,9 @@ Ako izaberete da date ime, biće korišteno za pripisivanje za vaš rad.',
 'action-userrights-interwiki' => 'uređujete korisnička prava korisnika na drugim wikijima',
 'action-siteadmin' => 'zaključavate ili otključavate bazu podataka',
 'action-sendemail' => 'pošalji e-mail poruke',
+'action-editmywatchlist' => 'uredite svoj spisak praćenih stranica',
+'action-viewmywatchlist' => 'pogledajte svoj spisak praćenih stranica',
+'action-viewmyprivateinfo' => 'pogledajte svoje privatne informacije',
 'action-editmyprivateinfo' => 'uredite svoje privatne podatke',
 
 # Recent changes
@@ -2056,6 +2073,9 @@ Prije brisanja provjerite da li druge stranice vode na te šablone.',
 'randompage' => 'Slučajna stranica',
 'randompage-nopages' => 'Nema stranica u {{PLURAL:$2|slijedećem imenskom prostoru|slijedećim imenskim prostorima}}: "$1".',
 
+# Special:RandomInCategory
+'randomincategory-selectcategory-submit' => 'Idi',
+
 # Random redirect
 'randomredirect' => 'Slučajno preusmjerenje',
 'randomredirect-nopages' => 'Ne postoje preusmjerenja u imenskom prostoru "$1".',
index 929a138..f96457f 100644 (file)
@@ -620,10 +620,9 @@ L\'administrador que l\'ha bloquejat ha donat aquesta explicació: "$3".',
 'virus-unknownscanner' => 'antivirus desconegut:',
 
 # Login and logout pages
-'logouttext' => "'''Heu finalitzat la vostra sessió.'''
+'logouttext' => "'''Heu finalitzat la sessió.'''
 
-Podeu continuar utilitzant {{SITENAME}} de forma anònima, o podeu <span class='plainlinks'>[$1 iniciar una sessió una altra vegada]</span> amb el mateix o un altre usuari.
-Tingueu en compte que algunes pàgines poden continuar mostrant-se com si encara estiguéssiu en una sessió, fins que buideu la memòria cau del vostre navegador.",
+Tingueu en compte que, fins que buideu la memòria cau del navegador, algunes pàgines poden continuar mostrant-se com si encara estiguéssiu en una sessió.",
 'welcomeuser' => 'Benvingut, $1!',
 'welcomecreation-msg' => 'El vostre compte ha estat creat.
 No oblideu de canviar les vostres [[Special:Preferences|preferències de {{SITENAME}}]].',
@@ -670,7 +669,7 @@ No oblideu de canviar les vostres [[Special:Preferences|preferències de {{SITEN
 'createacct-emailoptional' => 'Adreça de correu electrònic (opcional)',
 'createacct-email-ph' => 'Introduïu la vostra adreça de correu electrònic',
 'createacct-another-email-ph' => 'Introdueix una adreça de correu electrònic',
-'createaccountmail' => "Utilitza una contrasenya aleatòria temporal i envia-la a l'adreça de correu  especificada a continuació.",
+'createaccountmail' => "Utilitza una contrasenya aleatòria temporal i envia-la a l'adreça de correu indicada",
 'createacct-realname' => 'Nom real (opcional)',
 'createaccountreason' => 'Motiu:',
 'createacct-reason' => 'Motiu',
@@ -1050,6 +1049,7 @@ Se n'han omès els arguments.",
 'undo-failure' => 'No pot desfer-se la modificació perquè hi ha edicions entre mig que hi entren en conflicte.',
 'undo-norev' => "No s'ha pogut desfer l'edició perquè no existeix o ha estat esborrada.",
 'undo-summary' => 'Es desfà la revisió $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|Discussió]])',
+'undo-summary-username-hidden' => "Desfés la revisió $1 d'un usuari ocult",
 
 # Account creation failure
 'cantcreateaccounttitle' => 'No es pot crear el compte',
@@ -1076,8 +1076,8 @@ El motiu donat per $3 és ''$2''",
 (prev) = diferència amb la versió anterior, m = modificació menor',
 'history-fieldset-title' => "Cerca a l'historial",
 'history-show-deleted' => 'Només esborrats',
-'histfirst' => 'Primeres',
-'histlast' => 'Últimes',
+'histfirst' => 'més antigues',
+'histlast' => 'més noves',
 'historysize' => '({{PLURAL:$1|1 octet|$1 octets}})',
 'historyempty' => '(buit)',
 
@@ -1400,7 +1400,7 @@ Ha de tenir com a molt {{PLURAL:$1|un caràcter|$1 caràcters}}.',
 'prefs-signature' => 'Signatura',
 'prefs-dateformat' => 'Format de la data',
 'prefs-timeoffset' => 'Decalatge horari',
-'prefs-advancedediting' => 'Opcions avançades',
+'prefs-advancedediting' => 'Opcions generals',
 'prefs-advancedrc' => 'Opcions avançades',
 'prefs-advancedrendering' => 'Opcions avançades',
 'prefs-advancedsearchoptions' => 'Opcions avançades',
@@ -1432,7 +1432,7 @@ Ha de tenir com a molt {{PLURAL:$1|un caràcter|$1 caràcters}}.',
 'userrights-no-interwiki' => "No teniu permisos per a editar els permisos d'usuari d'altres wikis.",
 'userrights-nodatabase' => 'La base de dades $1 no existeix o no és local.',
 'userrights-nologin' => "Heu [[Special:UserLogin|d'iniciar una sessió]] amb un compte d'administrador per a poder assignar permisos d'usuari.",
-'userrights-notallowed' => "El vostre compte no té permisos per a assignar o desassignar permisos d'usuari.",
+'userrights-notallowed' => "No teniu autorització per concedir o retirar permisos d'usuari.",
 'userrights-changeable-col' => 'Grups que podeu canviar',
 'userrights-unchangeable-col' => 'Grups que no podeu canviar',
 
@@ -2160,8 +2160,8 @@ Es necessita com a mínim un domini de primer nivell, per exemple "*.org".<br />
 'listgrouprights' => "Drets dels grups d'usuaris",
 'listgrouprights-summary' => "A continuació hi ha una llista dels grups d'usuaris definits en aquest wiki, així com dels seus drets d'accés associats.
 Pot ser que hi hagi més informació sobre drets individuals [[{{MediaWiki:Listgrouprights-helppage}}|aquí]].",
-'listgrouprights-key' => '* <span class="listgrouprights-granted">Drets concedits</span>
-* <span class="listgrouprights-revoked">Drets revocats</span>',
+'listgrouprights-key' => '* <span class="listgrouprights-granted">Dret concedit</span>
+* <span class="listgrouprights-revoked">Dret retirat</span>',
 'listgrouprights-group' => 'Grup',
 'listgrouprights-rights' => 'Drets',
 'listgrouprights-helppage' => 'Help:Drets del grup',
@@ -2340,7 +2340,7 @@ de l'usuari [[User:$2|$2]] ([[User talk:$2|Discussió]]{{int:pipe-separator}}[[S
 La darrera modificació ha estat feta per l'usuari [[User:$3|$3]] ([[User talk:$3|Discussió]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
 'editcomment' => "El resum d'edició ha estat: «$1».",
 'revertpage' => "Revertides les edicions de [[Special:Contributions/$2|$2]] ([[User talk:$2|discussió]]) a l'última versió de [[User:$1|$1]]",
-'revertpage-nouser' => "Desfetes les edicions de (nom d'usuari eliminat) a l'última revisió feta per [[User:$1|$1]]",
+'revertpage-nouser' => "Les edicions realitzades per un usuari ocult s'han eliminat fins a l'última revisió de [[User:$1|$1]]",
 'rollback-success' => "Edicions revertides de $1; s'ha canviat a la darrera versió de $2.",
 
 # Edit tokens
@@ -3003,13 +3003,13 @@ Això deu ser degut per un enllaç a un lloc extern inclòs a la llista negra.',
 'pageinfo-length' => 'Mida de la pàgina (en bytes)',
 'pageinfo-article-id' => 'ID de la pàgina',
 'pageinfo-language' => 'Llengua del contingut de la pàgina',
-'pageinfo-robot-policy' => 'Estat del motor de cerca',
-'pageinfo-robot-index' => 'Indexable',
-'pageinfo-robot-noindex' => 'No indexable',
+'pageinfo-robot-policy' => 'Indexació per robots',
+'pageinfo-robot-index' => 'Permès',
+'pageinfo-robot-noindex' => 'No permès',
 'pageinfo-views' => 'Número de visites',
 'pageinfo-watchers' => "Número d'usuaris que vigilen la pàgina",
 'pageinfo-few-watchers' => 'Menys de $1 {{PLURAL:$1|observador|observadors}}',
-'pageinfo-redirects-name' => 'Redireccions a aquesta pàgina',
+'pageinfo-redirects-name' => 'Nombre de redireccions a aquesta pàgina',
 'pageinfo-subpages-name' => "Subpàgines d'aquesta pàgina",
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|redirecció|redireccions}}; $3 {{PLURAL:$3|no redireció|no redireccions}})',
 'pageinfo-firstuser' => 'Creador de la pàgina',
@@ -3127,6 +3127,13 @@ Si l'executeu, podeu comprometre la seguretat del vostre sistema.",
 'minutes-ago' => 'fa $1 {{PLURAL:$1|minut|minuts}}',
 'seconds-ago' => 'fa $1 {{PLURAL:$1|segon|segons}}',
 'monday-at' => 'Dilluns a les $1',
+'tuesday-at' => 'Dimarts a les $1',
+'wednesday-at' => 'Dimecres a les $1',
+'thursday-at' => 'Dijous a les $1',
+'friday-at' => 'Divendres a les $1',
+'saturday-at' => 'Dissabte a les $1',
+'sunday-at' => 'Diumenge a les $1',
+'yesterday-at' => 'Ahir a les $1',
 
 # Bad image list
 'bad_image_list' => "El format ha de ser el següent:
@@ -3339,7 +3346,7 @@ La resta d'enllaços de la línia són les excepcions, és a dir, les pàgines o
 'exif-compression-4' => 'Codificació de fax CCITT grup 4',
 
 'exif-copyrighted-true' => "Sotmesa a drets d'autor",
-'exif-copyrighted-false' => 'de domini públic',
+'exif-copyrighted-false' => "No s'ha definit l'estat de copyright",
 
 'exif-unknowndate' => 'Data desconeguda',
 
index d1538e4..cb9164c 100644 (file)
@@ -45,7 +45,6 @@ $messages = array(
 'tog-shownumberswatching' => '顯示監視用戶其數量',
 'tog-oldsig' => '存在其簽名',
 'tog-fancysig' => '共簽名當成維基文本(無自動鏈接)',
-'tog-showjumplinks' => '允許「跳遘」可訪問其鏈接',
 'tog-uselivepreview' => '使即時預覽(需要JavaScript)(敆𡅏實驗)',
 'tog-forceeditsummary' => '提醒我行遘蜀萆空白其編輯總結',
 'tog-watchlisthideown' => '趁監視單𡅏藏起我其修改',
@@ -458,7 +457,7 @@ Sō̤ kī só-gé̤ṳ-kó gì guāng-lī-uòng cūng-kuāng gāi-sék: $1',
 'createacct-emailrequired' => '電子郵件地址',
 'createacct-emailoptional' => '電子郵件地址(愛寫就寫)',
 'createacct-email-ph' => '輸底汝其電子郵件地址',
-'createaccountmail' => '使臨時其隨機密碼,共伊送遘下底其電子郵件地址',
+'createaccountmail' => '使臨時其隨機密碼,共伊送遘指定其電子郵件地址',
 'createacct-realname' => '實際其名字(愛寫就寫)',
 'createaccountreason' => '原因:',
 'createacct-reason' => '原因',
index 6c5aa10..22cad63 100644 (file)
@@ -785,7 +785,7 @@ $1',
 'blocked-mailpassword' => 'Хьан IP-адрес ца тадарш дан магийна дац, цуьндела пароль меттахӀотош йолу функци блоктоьхна ю.',
 'mailerror' => 'Кехат дохьуьйтуш гӀалат ду: $1',
 'emailauthenticated' => 'Хьан почтан адрес бакъдина $2 $3.',
-'accountcreated' => 'Дlавазвар кхоллина дели',
+'accountcreated' => 'Декъашхочун дӀаяздар кхоьллина',
 'accountcreatedtext' => 'Кхоллина декъашхо дlавазвар $1.',
 'loginlanguagelabel' => 'Мотт: $1',
 
@@ -1020,7 +1020,7 @@ $1',
 'shown-title' => 'АгӀона чохь $1 {{PLURAL:$1|дӀаяздар|дӀаяздарш}} гайта',
 'viewprevnext' => 'Хьажа ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-legend' => 'Лахарна гlирс нисба',
-'searchmenu-exists' => "'''Хlокху вики-кхолламашца йолуш ю ишта агlо «[[:$1]]»'''",
+'searchmenu-exists' => "'''ХӀокху вики чохь йолуш ю ишта агӀо «[[:$1]]»'''",
 'searchmenu-new' => "'''Кхолла ишта агlо «[[:$1]]» хlокху вики-кхолламашчохь!'''",
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Гайта агlонаш ишта хlоттам болуш]]',
 'searchprofile-articles' => 'Къаьстина агlонаш',
@@ -1349,7 +1349,7 @@ PICT # тайп тайпан
 'nolinkstoimage' => 'АгӀонашчохь файл лелош яц.',
 'sharedupload' => 'Хlара хlума оцун $1 чура ю иза хила мега лелош кхечу кхолламашкахь.',
 'sharedupload-desc-here' => 'ХӀара файл $1 чура ю и лело йиш ю массо проекташкахь.
-ЦÑ\83нна Ñ\85аам Ð³Ð°Ð¹Ñ\82ина Ð»Ð°Ñ\85аÑ\85Ñ\8c. [$2 Ð¤Ð°Ð¹Ð» Ð\92икидÓ\80айÑ\83Ñ\8cллÑ\83Ñ\87ехь]',
+ЦÑ\83нна Ñ\85аам Ð³Ð°Ð¹Ñ\82ина Ð»Ð°Ñ\85аÑ\85Ñ\8c. [$2 Ð¤Ð°Ð¹Ð» Ð\92икигÑ\83ламехь]',
 'uploadnewversion-linktext' => 'Чуяккха керла верси хӀокху файлан',
 'shared-repo-name-wikimediacommons' => 'Викидlайуллуче',
 
@@ -1398,7 +1398,7 @@ PICT # тайп тайпан
 'statistics' => 'Бухехьдерг',
 'statistics-header-pages' => 'Агlонашан жамlа',
 'statistics-header-edits' => 'Нисдаран жамlа',
-'statistics-header-users' => 'Декъашхойн жамlа',
+'statistics-header-users' => 'Декъашхойн жамӀа',
 'statistics-articles' => 'Яззамаш',
 'statistics-pages' => 'Агlонаш',
 'statistics-pages-desc' => 'Массо вики агlонаш, дийцаре агlонашцани, дlасахьаждарш а кхин дерш.',
@@ -1590,7 +1590,7 @@ PICT # тайп тайпан
 'deletepage' => 'ДӀаяккха агӀо',
 'confirm' => 'Бакъдан',
 'excontent' => 'чуьраниг: «$1»',
-'excontentauthor' => 'чуьраниг: «$1» (дуьххьара кхоллина да вара иза [[Special:Contributions/$2|$2]])',
+'excontentauthor' => 'чуьраниг: «$1» (дуьххьара кхоьллинарг [[Special:Contributions/$2|$2]])',
 'exbeforeblank' => 'чуьраниг дlацlанйале хьалха: «$1»',
 'exblank' => 'агlо йаьсса йара',
 'delete-confirm' => '$1 — дӀаяккхар',
@@ -1812,8 +1812,11 @@ PICT # тайп тайпан
 'ipblocklist-submit' => 'Лаха',
 'infiniteblock' => 'хан чаккхе йоцуш',
 'expiringblock' => 'чекхйолу $1 $2',
+'anononlyblock' => 'цӀе хьулйина декъашхойн бен',
 'noautoblockblock' => 'ша блоктухарг дӏаяйина',
 'createaccountblock' => 'цамагдо керла дӀаяздарш кхоллар',
+'emailblock' => 'цамаго кехаташ кхехӀита',
+'blocklist-nousertalk' => 'шин дийцаре агӀо тая лууш дац',
 'blocklink' => 'блоктоха',
 'unblocklink' => 'дӀаякхаблок',
 'change-blocklink' => 'хийцам бе блоктохарна',
@@ -1828,6 +1831,8 @@ PICT # тайп тайпан
 'block-log-flags-anononly' => 'Къайлаха берш',
 'block-log-flags-nocreate' => 'цамагдо керла дӏаяздарш кхоллар',
 'block-log-flags-noautoblock' => 'ша блоктухарг дӏаяйина',
+'block-log-flags-noemail' => 'цамаго кехаташ кхехӀита',
+'block-log-flags-nousertalk' => 'шин дийцаре агӀо тая лууш дац',
 'ipb-needreblock' => 'ХӀара $1 {{GENDER:$1|блоктоьхна ву|блоктоьхна ю}}. Лаьий хьуна блоктохаран параметраш хийца?',
 
 # Move page
@@ -2290,6 +2295,7 @@ PICT # тайп тайпан
 'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|цӀе хийцина|цӀе хийцина}} $3 оцу $4 дӀасахьажоран тӀохул а дӀасахьажийнарг цаюьтуш а',
 'logentry-newusers-newusers' => '{{GENDER:$2|ДӀавазвелла|ДӀаязелла}} керла декъашхо $1',
 'logentry-newusers-create' => '{{GENDER:$2|ДӀавазвелла|ДӀаязелла}} керла декъашхо $1',
+'logentry-rights-rights' => '$1 {{GENDER:$2|хийцина}} хӀокхуна $3 бакъо $4 → $5',
 'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|хийцина}} хӏокхуна $3 бакъо',
 'rightsnone' => '(яц)',
 
index d8a0672..f814c33 100644 (file)
@@ -97,7 +97,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Ipakita ang gidaghanon sa mga gumagamit nga nagbantay usab',
 'tog-oldsig' => 'Paunang tan-aw sa eksisting nga pirma:',
 'tog-fancysig' => 'Hilaw nga pirma (walay awtomatikong sumpay)',
-'tog-showjumplinks' => 'I-enable ang "ambak sa" nga sumpay sa aksesibilidad',
 'tog-uselivepreview' => 'Gamita ang live nga paunang tan-aw (JavaScript kinahanglan) (Eksperimental)',
 'tog-forceeditsummary' => 'Pahibaloi ako kon blangko ang mubong sugid alang sa pag-usab',
 'tog-watchlisthideown' => 'Tagoa ang akong mga giusab',
index 410f4b6..f6641e7 100644 (file)
@@ -49,7 +49,6 @@ $messages = array(
 'tog-enotifminoredits' => "E-mail yu' lokkue' ni mandikike' na tinilaika gi p\81åhina siha.",
 'tog-enotifrevealaddr' => "Na'annok iyo-ku e-mail address gi notifikasion e-mail.",
 'tog-shownumberswatching' => "Na'annok i numirun muna'sesetbi siha ni mana'atan.",
-'tog-showjumplinks' => "Na'sedi i ina'chetton ni \"ta'yoki guatu\"",
 'tog-forceeditsummary' => "Na'tungo' yu' annai mamo'lu yu' summaria gueku",
 'tog-watchlisthideown' => "Nå'na' tinilaika-hu gi listan pinilan",
 'tog-watchlisthidebots' => "Nå'na' i tinilaikan bot gi listan pinilan",
index b159747..b0b8a85 100644 (file)
@@ -1478,7 +1478,7 @@ $1",
 'action-upload' => 'ئەم پەڕەیە بار بکە',
 'action-reupload' => 'سەرنووسینی ئەم پەڕگە وا هەیە',
 'action-reupload-shared' => 'بەتاڵ‌کردنی ئەم پەڕگە لە‌سەر شوێنێکی هاوبەش',
-'action-upload_by_url' => 'بارکردÙ\86Û\8c Ø¦Û\95Ù\85 Ù¾Û\95رگÛ\95 Ù\84Û\95 Ø¦Û\95درÛ\95سÛ\8eÚ©Û\8c Ø³Û\95ر ØªÛ\86Ú\95Û\95Ù\88ە',
+'action-upload_by_url' => 'ئÛ\95Ù\85 Ù¾Û\95رگÛ\95Û\8cÛ\95 Ù\84Û\95 Ù\86اÙ\88Ù\86Û\8cشاÙ\86Û\8eÚ©Û\8c Ø¦Û\8cÙ\86تÛ\95رÙ\86Û\8eتÛ\8c Ø¨Ø§Ø± Ø¨Ú©ە',
 'action-writeapi' => 'کەڵک وەر گرتن لە نووسینی API',
 'action-delete' => 'ئەم پەڕەیە بسڕەوە',
 'action-deleterevision' => 'سڕینی ئەم پێداچوونەوە',
@@ -1800,7 +1800,7 @@ $1',
 'download' => 'داگرتن',
 
 # Unwatched pages
-'unwatchedpages' => 'Ù\84اپÛ\95Ú\95Û\95 Ú\86اÙ\88دÛ\8eرÛ\8câ\80\8cÙ\86Û\95کراÙ\88Û\95کاÙ\86',
+'unwatchedpages' => 'پەڕە چاودێری‌نەکراوەکان',
 
 # List redirects
 'listredirects' => 'پێرستی ڕەوانەکەرەکان',
@@ -2269,7 +2269,7 @@ $UNWATCHURL
 
 # Restriction levels
 'restriction-level-sysop' => 'تەواو پارێزراو',
-'restriction-level-autoconfirmed' => 'نیوە پارێزراو',
+'restriction-level-autoconfirmed' => 'نیوەپارێزراو - ئاستی ١',
 'restriction-level-all' => 'هەر ئاستێک',
 
 # Undelete
@@ -2649,57 +2649,64 @@ $1',
 'thumbnail_dest_directory' => 'پێرستی مەبەست درووست‌ناکرێت',
 'thumbnail_image-type' => 'جۆرەی وێنە پاڵپشت نەکراوە',
 'thumbnail_gd-library' => 'شێوەپێدانی‌ ناتەواوی ژێدەرگەی GD: ون‌بوونی فەنکشێن $1',
-'thumbnail_image-missing' => 'Ù\84Û\95Ù\88Û\95 Ø¯Û\95Ú\86Û\8e Ù¾Û\95Ú\95Ú¯Û\95 Ù\88Ù\86 Ø¨وبێت: $1',
+'thumbnail_image-missing' => 'Ù\88ا Ø¯Û\8cارÛ\95 Ù¾Û\95Ú\95Ú¯Û\95 Ø¨Ø²Ø± Ø¨Ù\88وبێت: $1',
 
 # Special:Import
 'import' => 'ھاوردنی پەڕەکان',
-'importinterwiki' => 'هێنانەناوەی ترانس‌ویکی',
-'import-interwiki-text' => 'بۆ ھاوردن ویکییەک و سەردێڕێکی پەڕە ھەڵبژێرە.
+'importinterwiki' => 'ھاوردنی ناووویکی',
+'import-interwiki-text' => 'بۆ ھاوردن، ویکییەک و سەردێڕێکی پەڕە ھەڵبژێرە.
 ڕێکەوتەکانی پێداچوونەوە و ناوی دەستکاریکەرەکان دەپارێزرێت.
 هەموو کردەوەکانی ھاوردنی ناوویکی لە [[Special:Log/import|لۆگی ھاوردن]]دا تۆمار دەکرێت.',
-'import-interwiki-source' => 'سەرچاوەی ویکی\\لاپەڕە :',
-'import-interwiki-history' => 'ڕوونووس‌کردنی هەموو مێژووی پێداچوونەوەکانی ئەم لاپەڕە',
-'import-interwiki-templates' => 'لەخۆگرتنی هەموو داڕێژەکان',
-'import-interwiki-submit' => 'هاوردن',
-'import-interwiki-namespace' => 'بۆشایی‌ناوی مەبەست:',
-'import-upload-filename' => 'پەڕگە‌ناو:',
+'import-interwiki-source' => 'ویکی/پەڕەی سەرچاوە:',
+'import-interwiki-history' => 'هەموو مێژووی پێداچوونەوەکانی ئەم پەڕەیە کۆپی بکە',
+'import-interwiki-templates' => 'ھەموو داڕێژەکان لەخۆبگرێتەوە',
+'import-interwiki-submit' => 'هاوردە بکە',
+'import-interwiki-namespace' => 'بۆشاییی ناوی مەبەست:',
+'import-interwiki-rootpage' => 'پەڕەی بنەڕەتیی مەبەست (دڵخوازانە):',
+'import-upload-filename' => 'ناوی پەڕگە‌:',
 'import-comment' => 'بۆچوون:',
 'importtext' => 'تکایە پەڕگەکە لە ویکی سەرچاوەوە بە کەڵک وەرگرتن لە [[Special:Export|ئامێری ھەناردن]] ھەناردە بکە.
 لەسەر کۆمپیۆتەرەکەت پاشەکەوتی بکە و لێرە باری بكە.',
 'importstart' => 'ھاوردنی پەڕەکان...',
-'import-revision-count' => '$1 {{PLURAL:$1|پێداچوونەوە|پێداچوونەوە}}',
-'importnopages' => 'هیچ پەڕەیەک نییە بۆ ھاوردن.',
-'importfailed' => 'هێنانەناوە سەرکەوتوو نەبوو: <nowiki>$1</nowiki>',
-'importunknownsource' => 'جۆرەی سەرچاوەی هێنانەناوەی نەناسراو',
-'importcantopen' => 'پەڕگەی هێنانەناوە ناکرێتەوە',
-'importbadinterwiki' => 'بەستەری خراپی نێوان‌ویکی',
+'import-revision-count' => '$1 {{PLURAL:$1|پێداچوونەوە}}',
+'importnopages' => 'ھیچ پەڕەیەک بۆ ھاوردن نییە.',
+'imported-log-entries' => '$1 {{PLURAL:$1|بابەتی لۆگ}} ھاوردە کرا.',
+'importfailed' => 'ھاوردن سەرکەوتوو نەبوو: <nowiki>$1</nowiki>',
+'importunknownsource' => 'جۆری سەرچاوەی هاوردن نەناسراوە',
+'importcantopen' => 'پەڕگەی ھاوردن ناکرێتەوە',
+'importbadinterwiki' => 'بەستەری نێوانویکیی خراپ',
 'importnotext' => 'واڵا یان بێ‌دەق',
-'importsuccess' => 'هێنانەناوە تەواو بوو!',
-'importhistoryconflict' => 'Ú©Û\8eØ´Û\95 Ù\84Û\95Ù\88 Ù\85Û\8eÚ\98Ù\88Ù\88Û\8c Ù¾Û\8eداÚ\86Ù\88Ù\88Ù\86Û\95Ù\88اÙ\86Û\95 Ù\88ا Ù\87Û\95Û\8cÛ\95 (Ù\84Û\95Ù\88اÙ\86Û\95Û\8cÛ\95 Ø¦Û\95Ù\85 Ù\84اپÛ\95Ú\95Û\95 Ù\84Û\95Ù¾Û\8eØ´â\80\8cدا Ù\87Û\8eÙ\86رابÛ\8eتÛ\95Ù\86اÙ\88Û\95)',
+'importsuccess' => 'ھاوردن تەواو بوو!',
+'importhistoryconflict' => 'Ú©Û\8eØ´Û\95 Ù\84Û\95Ù\88 Ù\85Û\8eÚ\98Ù\88Ù\88Û\8c Ù¾Û\8eداÚ\86Ù\88Ù\88Ù\86Û\95Ù\88اÙ\86Û\95 Ù\88ا Ù\87Û\95Û\8cÛ\95 (Ù\84Û\95Ù\88اÙ\86Û\95Û\8cÛ\95 Ø¦Û\95Ù\85 Ù¾Û\95Ú\95Û\95Û\8cÛ\95 Ù¾Û\8eشتر Ú¾Ø§Ù\88ردÛ\95 Ú©Ø±Ø§Ø¨Û\8e)',
 'importnosources' => 'ھیچ سەرچاوەیەکی ھاوردنی ناوویکی دیاری نەکراوە و بارکردنی ڕاستەوخۆی مێژوو ناچالاکە.',
-'importnofile' => 'هیچ پەڕگەیەکی هێنانەناوە بارنەکرا.',
-'importuploaderrorsize' => 'بارکردنی پەڕگەی هێنانەناوە سەرکەوتوو نەبوو.
-پەڕگەکە لەو قەبارەی بۆ بارکردن ڕێگەدراوە گەورەترە.',
-'importuploaderrorpartial' => 'بارکردنی پەڕگەی هێنانەناوە سەرکەوتوو نەبوو.
-تەنها بەشێک لە پەڕگەکە بارکرا.',
-'importuploaderrortemp' => 'بارکردنی پەڕگەی هێنانەناوە سەرکەوتوو نەبوو.
-بوخچەیەکی کاتی ون‌بووە.',
-'import-parse-failure' => 'سەرنەکەوتن لە هێنانەناوەی XML',
-'import-noarticle' => 'هیچ لاپەڕەیەک نیە بۆ هێنانەناوە',
-'import-nonewrevisions' => 'هەموو پێداچوونەوەکان لە پێش‌دا هێنراونەتەناوە.',
+'importnofile' => 'ھیچ پەڕگەیەکی ھاوردن بار نەکراوە.',
+'importuploaderrorsize' => 'بارکردنی پەڕگەی ھاوردن سەرکەوتوو نەبوو.
+پەڕگەکە لەو قەبارەیەی بۆ بارکردن ڕێگەدراوە گەورەترە.',
+'importuploaderrorpartial' => 'بارکردنی پەڕگەی ھاوردن سەرکەوتوو نەبوو.
+تەنیا بەشێک لە پەڕگەکە بار کرا.',
+'importuploaderrortemp' => 'بارکردنی پەڕگەی ھاوردن سەرکەوتوو نەبوو.
+بوخچەیەکی کاتی بزر بووە.',
+'import-parse-failure' => 'سەرنەکەوتن لە شیکردنەوەی ھاوردنی XML',
+'import-noarticle' => 'ھیچ پەڕەیەک بۆ ھاوردن نییە!',
+'import-nonewrevisions' => 'ھەموو پێداچوونەوەکان پێشتر ھاوردە کراون.',
 'xml-error-string' => '$1 لە دێڕی $2، ستوونی $3 (بایت $4): $5',
 'import-upload' => 'بارکردنی دراوەی XML',
-'import-token-mismatch' => 'لەدەست‌ڕۆشتنی دراوەکانی ئەو بەشە.
-تکایە دیسان تاقی‌بکەوە.',
-'import-invalid-interwiki' => 'لە ویکی‌ دیاری‌کراوە ناهێنڕێتەوە ناوە.',
+'import-token-mismatch' => 'لەدەستدانی دراوەکانی کۆڕ.
+تکایە دیسان تاقی بکەوە.',
+'import-invalid-interwiki' => 'لە ویکی‌ دیاریکراو ھاوردن ناکرێ.',
+'import-error-edit' => 'پەڕەی «$1» ھاوردە ناکرێ، چون ناتوانی ئەم پەڕەیە دەستکاری بکەی.',
+'import-error-create' => 'پەڕەی «$1» ھاوردە ناکرێ، چون ناتوانی ئەم پەڕەیە دروست بکەی.',
+'import-error-interwiki' => 'پەڕەی «$1» ھاوردە ناکرێ چون ناوەکەی بۆ بەستەری دەرەکیی (interwiki) گیراوەتەوە.',
+'import-error-special' => 'پەڕەی «$1» ھاوردە ناکرێ چون لە بۆشاییی ناوی نەگونجاودایە.',
+'import-error-invalid' => 'پەڕەی «$1» ھاوردە ناکرێ چون ناوەکەی نادروستە.',
 
 # Import log
 'importlogpage' => 'لۆگی ھاوردن',
 'importlogpagetext' => 'ھاوردنی پەڕەکان لەگەڵ مێژووی دەستکاری لە ویکییەکانی ترەوە.',
-'import-logentry-upload' => 'ھاوردنی [[$1]] بە بارکردنی پەڕگە',
-'import-logentry-upload-detail' => '$1 {{PLURAL:$1|پێداچوونەوە|پێداچوونەوە}}',
-'import-logentry-interwiki' => 'ترانس‌ویکی‌کراو $1',
-'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|پێداچوونەوە|پێداچوونەوە}} لە $2',
+'import-logentry-upload' => '[[$1]]ی بە بارکردنی پەڕگە ھاورد',
+'import-logentry-upload-detail' => '$1 {{PLURAL:$1|پێداچوونەوە}}',
+'import-logentry-interwiki' => '$1ی ناوویکی کرد',
+'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|پێداچوونەوە}} لە $2',
 
 # JavaScriptTest
 'javascripttest' => 'تاقیکردنەوەی جاڤاسکریپت',
index 8010958..2a79ae6 100644 (file)
@@ -43,7 +43,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Ipakita ang mga numero sang mga gatan-aw nga manug-usar',
 'tog-oldsig' => 'Nagkayara nga pirma:',
 'tog-fancysig' => 'Ituring ang pirma bilang teksto sang wiki (wala sang automatik nga link)',
-'tog-showjumplinks' => 'Pasugtan ang mga "tumbo sa" kadali-an nga mga link',
 'tog-uselivepreview' => 'Maggamit sang buhi nga prebyu (kinanglan ang Javascript) (Eksperimental)',
 'tog-forceeditsummary' => 'Hambalan ako kung nagapasulod sang wala unod nga pag-ilis kabilugan',
 'tog-watchlisthideown' => 'Itago ang akon mga pagbag-o halin sa listahan sang mga ginabantayan',
index a694088..f945a81 100644 (file)
@@ -784,7 +784,6 @@ Správce serveru, který úložiště zamkl, poskytl toto zdůvodnění: „''$3
 # Login and logout pages
 'logouttext' => "'''Nyní jste odhlášeni.'''
 
-Můžete pokračovat v anonymním prohlížení a editaci {{grammar:2sg|{{SITENAME}}}}, nebo se můžete <span class='plainlinks'>[$1 znovu přihlásit]</span> jako stejný či jiný uživatel.
 Uvědomte si, že některé stránky se mohou i nadále zobrazovat, jako byste byli dosud přihlášeni, pokud nevymažete cache prohlížeče.",
 'welcomeuser' => 'Vítejte, uživateli $1!',
 'welcomecreation-msg' => 'Váš účet byl vytvořen.
@@ -832,7 +831,7 @@ Nezapomeňte si upravit své [[Special:Preferences|nastavení {{grammar:2sg|{{SI
 'createacct-emailoptional' => 'E-mailová adresa (nepovinné)',
 'createacct-email-ph' => 'Zadejte svou e-mailovou adresu',
 'createacct-another-email-ph' => 'Zadejte e-mailovou adresu',
-'createaccountmail' => 'Použít dočasné náhodné heslo a odeslat ho na níže uvedenou e-mailovou adresu',
+'createaccountmail' => 'Použít dočasné náhodné heslo a odeslat ho na uvedenou e-mailovou adresu',
 'createacct-realname' => 'Skutečné jméno (nepovinné)',
 'createaccountreason' => 'Důvod:',
 'createacct-reason' => 'Důvod',
@@ -1617,10 +1616,10 @@ Vaše adresa v takovém případě není prozrazena.',
 'userrights-no-interwiki' => 'Nemáte povoleno měnit uživatelská práva na jiných wiki.',
 'userrights-nodatabase' => 'Databáze $1 neexistuje nebo není místní.',
 'userrights-nologin' => 'Musíte se [[Special:UserLogin|přihlásit]] k účtu správce, abyste mohli měnit uživatelská práva.',
-'userrights-notallowed' => 'Váš účet nemá oprávnění měnit uživatelská práva.',
+'userrights-notallowed' => 'Nemáte oprávnění měnit uživatelská práva.',
 'userrights-changeable-col' => 'Skupiny, které můžete měnit',
 'userrights-unchangeable-col' => 'Skupiny, které nemůžete měnit',
-'userrights-conflict' => 'Konflikt uživatelských práv! Proveďte požadované změny ještě jednou.',
+'userrights-conflict' => 'Konflikt změn uživatelských práv! Zkontrolujte a potvrďte požadované změny.',
 'userrights-removed-self' => 'Úspěšně jste si odebrali vlastní práva. Tudíž už nemáte k této stránce přístup.',
 
 # Groups
@@ -3225,13 +3224,13 @@ Uložte jej na svůj disk a nahrajte ho sem.',
 'pageinfo-length' => 'Velikost stránky (v bajtech)',
 'pageinfo-article-id' => 'ID stránky',
 'pageinfo-language' => 'Jazyk obsahu stránky',
-'pageinfo-robot-policy' => 'Nastavení pro vyhledávače',
-'pageinfo-robot-index' => 'Indexovatelná',
-'pageinfo-robot-noindex' => 'Neindexovatelná',
+'pageinfo-robot-policy' => 'Indexování roboty',
+'pageinfo-robot-index' => 'Dovoleno',
+'pageinfo-robot-noindex' => 'Zakázáno',
 'pageinfo-views' => 'Počet zobrazení',
 'pageinfo-watchers' => 'Počet sledujících',
 'pageinfo-few-watchers' => 'Méně než $1 {{PLURAL:$1|sledující|sledující|sledujících}}',
-'pageinfo-redirects-name' => 'Přesměrování na tuto stránku',
+'pageinfo-redirects-name' => 'Počet přesměrování na tuto stránku',
 'pageinfo-subpages-name' => 'Podstránky této stránky',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|přesměrování}}; $3 {{PLURAL:$3|nepřesměrování}})',
 'pageinfo-firstuser' => 'Zakladatel stránky',
@@ -3835,7 +3834,7 @@ Platnost tohoto potvrzovacího kódu vyprší $4.',
 'confirmemail_body_set' => 'Někdo (patrně vy, z IP adresy $1) nastavil e-mailovou adresu
 účtu „$2“ na {{grammar:6sg|{{SITENAME}}}} na tuto adresu.
 
-Pokud si přejete znovu aktivovat e-mailové funkce na
+Pokud si přejete aktivovat e-mailové funkce na
 {{grammar:6sg|{{SITENAME}}}}, tak pro potvrzení, že tato adresa opravdu
 patří vám, přejděte svým internetovým prohlížečem na následující adresu:
 
@@ -4260,4 +4259,19 @@ Jinak můžete využít jednoduchý formulář níže. Váš komentář bude př
 # Image rotation
 'rotate-comment' => 'Obrázek otočen o $1 {{PLURAL:$1|stupeň|stupně|stupňů}} po směru hodinových ručiček',
 
+# Limit report
+'limitreport-title' => 'Data profilování parseru:',
+'limitreport-cputime' => 'Využití času procesoru',
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|sekunda|sekundy|sekund}}',
+'limitreport-walltime' => 'Využití reálného času',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|sekunda|sekundy|sekund}}',
+'limitreport-ppvisitednodes' => 'Počet uzlů navštívených preprocesorem',
+'limitreport-ppgeneratednodes' => 'Počet uzlů vygenerovaných preprocesorem',
+'limitreport-postexpandincludesize' => 'Velikost vložení po expanzi',
+'limitreport-postexpandincludesize-value' => '$1/$2 bajtů',
+'limitreport-templateargumentsize' => 'Velikost argumentů šablon',
+'limitreport-templateargumentsize-value' => '$1/$2 bajtů',
+'limitreport-expansiondepth' => 'Největší hloubka expanze',
+'limitreport-expensivefunctioncount' => 'Počet náročných funkcí parseru',
+
 );
index a1a141d..6c721a2 100644 (file)
@@ -68,7 +68,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Pòkażë lëczba ùzérającëch brëkòwników',
 'tog-oldsig' => 'Pòdzérk wëzdrzatkù twòjegò pòdpisënka',
 'tog-fancysig' => 'Wzérôj na pòdpisënk jakno na wikikòd (bez aùtomatnych lënków)',
-'tog-showjumplinks' => 'Włączë lënczi przëstãpù "òbaczë téż"',
 'tog-uselivepreview' => 'Brëkùjë wtimczasnegò pòdzérkù (JavaScript) (eksperimentalné)',
 'tog-forceeditsummary' => 'Pëtôj przed wéńdzenim do pùstégò pòdrechòwania edicëji',
 'tog-watchlisthideown' => 'Zatacë mòjé edicëje z lëstë ùzérónëch artiklów',
index 57412c8..5ec5ba4 100644 (file)
@@ -13,6 +13,7 @@
  * @author PCode
  * @author Salam
  * @author Александр Сигачёв
+ * @author Блокнот
  */
 
 $fallback = 'ru';
@@ -71,7 +72,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Страницăна миçе хутшăнакан сăнав списокне кĕртнине кăтартмалла',
 'tog-oldsig' => 'Хальхи алӑ пусни:',
 'tog-fancysig' => 'Хăвăр тунă алă пуснин вики-паллисем',
-'tog-showjumplinks' => '«... патне куç» хушма каçăсене усă курмалла',
 'tog-uselivepreview' => 'Хăвăрт кăтартакан малтанхи курăнăва усă курмалла (JavaScript, экспериментлă)',
 'tog-forceeditsummary' => 'Тӳрлетӳсен кĕске ăнлантарăвне кăтартман чухне асăрхаттармалла',
 'tog-watchlisthideown' => 'Сăнав списокĕнче эпĕ тунă тӳрлетӳсене кăтартмалла мар',
index 8fdb9be..2f9900f 100644 (file)
@@ -537,7 +537,6 @@ Y rheswm a roddwyd gan y gweinyddwr a roddodd y ffeil dan glo yw "\'\'$3\'\'".',
 # Login and logout pages
 'logouttext' => "'''Rydych wedi allgofnodi.'''
 
-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]].',
@@ -584,7 +583,7 @@ Sylwer y bydd rhai tudalennau yn parhau i ymddangos fel ag yr oeddent pan oeddec
 'createacct-emailoptional' => 'Cyfeiriad ebost (dewisol)',
 'createacct-email-ph' => 'Rhowch eich cyfeiriad ebost',
 'createacct-another-email-ph' => 'Rhowch y cyfeiriad e-bost',
-'createaccountmail' => "Defnyddier cyfrinair ar hap dros dro a'i anfon i'r cyfeiriad e-bost isod",
+'createaccountmail' => "Defnyddio cyfrinair ar hap dros dro a'i anfon i'r cyfeiriad e-bost a roddwyd",
 'createacct-realname' => 'Enw cywir (dewisiol)',
 'createaccountreason' => 'Rheswm:',
 'createacct-reason' => 'Rheswm',
@@ -592,6 +591,7 @@ Sylwer y bydd rhai tudalennau yn parhau i ymddangos fel ag yr oeddent pan oeddec
 'createacct-captcha' => 'Gwiriad diogelwch',
 'createacct-imgcaptcha-ph' => 'Nodwch y testun a welwch uchod',
 'createacct-submit' => 'Creer y cyfrif',
+'createacct-another-submit' => 'Creer y cyfrif ychwanegol',
 'createacct-benefit-heading' => 'Ffrwyth llafur pobl fel chi yw {{SITENAME}}.',
 'createacct-benefit-body1' => '{{PLURAL:$1|golygiad|golygiad|olygiad|golygiad}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|tudalen|dudalen|dudalen|tudalen|thudalen|tudalen}}',
@@ -726,9 +726,13 @@ Y cyfrinair dros dro: $2",
 
 # Special:ResetTokens
 'resettokens' => 'Ailosod tocynnau',
+'resettokens-no-tokens' => "Nid oes unrhyw docynnau i'w hailosod.",
 'resettokens-legend' => 'Ailosod tocynnau',
 'resettokens-tokens' => 'Tocynnau:',
 'resettokens-token-label' => '$1 (gwerth presennol: $2)',
+'resettokens-watchlist-token' => 'Tocyn i borthiant gwe y rhestr wylio',
+'resettokens-done' => 'Ailosodwyd y tocynnau.',
+'resettokens-resetbutton' => 'Ailosoder y tocynnau a ddewiswyd',
 
 # Edit page toolbar
 'bold_sample' => 'Testun cryf',
@@ -1145,6 +1149,7 @@ Pan yn gwneud hyn dylid sicrhau nad yw dilyniant hanes tudalennau yn cael ei ddi
 'compareselectedversions' => 'Cymharer y fersiynau dewisedig',
 'showhideselectedversions' => 'Dangos/cuddio y diwygiadau dewisedig',
 'editundo' => 'dadwneud',
+'diff-empty' => '(Dim gwahaniaeth)',
 'diff-multi' => '(Ni ddangosir {{PLURAL:$1|yr $1 diwygiad|yr $1 diwygiad|y $1 ddiwygiad|y $1 diwygiad|y $1 diwygiad|y $1 diwygiad}} rhyngol gan {{PLURAL:$2||un defnyddiwr|$2 ddefnyddiwr|$2 defnyddiwr|$2 o ddefnyddwyr|$2 o ddefnyddwyr}}.)',
 '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}}.
@@ -1353,7 +1358,7 @@ Mae'r wybodaeth hon ar gael i'r cyhoedd.",
 'userrights-no-interwiki' => "Nid yw'r gallu ganddoch i newid galluoedd defnyddwyr ar wicïau eraill.",
 'userrights-nodatabase' => "Nid yw'r bas data $1 yn bod neu nid yw'n un lleol.",
 'userrights-nologin' => 'Rhaid i chi [[Special:UserLogin|fewngofnodi]] ar gyfrif gweinyddwr er mwyn pennu galluoedd defnyddwyr.',
-'userrights-notallowed' => 'Nid oes gan eich cyfrif y caniatâd priodol i ychwanegu neu dynnu hawliau defnyddwyr.',
+'userrights-notallowed' => 'Nid oes ganiatâd priodol gennych i ychwanegu neu dynnu hawliau defnyddwyr.',
 'userrights-changeable-col' => 'Grwpiau y gallwch eu newid',
 'userrights-unchangeable-col' => 'Grwpiau na allwch eu newid',
 'userrights-conflict' => 'Gwrthdaro gyda hawliau defnyddiwr! Gwnewch eich newidiadau eto.',
@@ -1899,6 +1904,10 @@ Cofiwch chwilio am gysylltiadau eraill at nodyn a'u hystyried cyn ei ddileu.",
 
 # Special:RandomInCategory
 'randomincategory' => "Tudalen ar hap o blith tudalennau'r categori",
+'randomincategory-invalidcategory' => 'Nid yw "$1" yn enw dilys i gategori.',
+'randomincategory-nopages' => 'Nid oes unrhyw dudalennau yn y categori [[:Category:$1]].',
+'randomincategory-selectcategory' => "Nôl tudalen ar hap o'r categori: $1 $2.",
+'randomincategory-selectcategory-submit' => 'Gwneler',
 
 # Random redirect
 'randomredirect' => 'Tudalen ailgyfeirio ar hap',
@@ -2951,9 +2960,9 @@ Achos hyn yn fwy na thebyg yw presenoldeb cysylltiad i wefan ar y rhestr wahardd
 'pageinfo-length' => 'Hyd y dudalen (beitiau)',
 'pageinfo-article-id' => 'ID y dudalen',
 'pageinfo-language' => 'Iaith cynnwys y dudalen',
-'pageinfo-robot-policy' => 'Statws i beiriannau chwilio',
-'pageinfo-robot-index' => 'Gellir ei rhestru gan beiriannau chwilio',
-'pageinfo-robot-noindex' => 'Ni ellir ei rhestru gan beiriannau chwilio',
+'pageinfo-robot-policy' => 'Rhestrwyd gan robot',
+'pageinfo-robot-index' => 'Caniateir',
+'pageinfo-robot-noindex' => 'Gwrthodedig',
 'pageinfo-views' => 'Nifer yr ymweliadau',
 'pageinfo-watchers' => 'Nifer gwylwyr y dudalen',
 'pageinfo-few-watchers' => 'Llai na $1 {{PLURAL:$1|gwyliwr|gwyliwr|wyliwr|gwyliwr|o wylwyr}}',
@@ -3555,7 +3564,7 @@ $5
 Bydd y côd cadarnhau yn dod i ben am $4.',
 'confirmemail_body_set' => 'Mae rhywun (chi, yn fwy na thebyg, o\'r cyfeiriad IP $1) wedi gosod cyfeiriad e-bost y cyfrif "$2" ar {{SITENAME}} i\'r cyfeiriad e-bost hwn.
 
-I gadarnhau mai chi yn wir yw perchennog y cyfrif hwn, ac i ail-alluogi nodweddion e-bost ar {{SITENAME}}, agorwch y cyswllt hwn yn eich porwr:
+I gadarnhau mai chi yn wir yw perchennog y cyfrif hwn, ac i alluogi nodweddion e-bost ar {{SITENAME}}, agorwch y cyswllt hwn yn eich porwr:
 
 $3
 
index add8505..1a45130 100644 (file)
@@ -1439,7 +1439,7 @@ Hvis du vælger at oplyse dit navn, vil det blive brugt til at tilskrive dig dit
 'userrights-no-interwiki' => 'Du kan ikke ændre brugerrettigheder på andre wikier.',
 'userrights-nodatabase' => 'Databasen $1 eksisterer ikke lokalt.',
 'userrights-nologin' => 'Du skal [[Special:UserLogin|logge på]] med en administrativ konto, før du kan ændre brugerettigheder.',
-'userrights-notallowed' => 'Din konto har ikke adgang til at tilføje eller fjerne brugerrettigheder.',
+'userrights-notallowed' => 'Du har ikke tilladelse til at tilføje eller fjerne brugerrettigheder.',
 'userrights-changeable-col' => 'Redigerbare grupper',
 'userrights-unchangeable-col' => 'Uredigerbare grupper',
 'userrights-conflict' => 'Brugerrettighedskonflikt. Tilføj venligst dine ændringer påny.',
index b26d4bc..a2a685e 100644 (file)
@@ -841,7 +841,6 @@ Der Administrator, der den Schreibzugriff sperrte, gab folgenden Grund an: „$3
 # Login and logout pages
 'logouttext' => "'''Du bist nun abgemeldet.'''
 
-Du kannst {{SITENAME}} jetzt anonym weiternutzen oder dich erneut unter dem selben oder einem anderen Benutzernamen <span class='plainlinks'>[$1 anmelden]</span>.
 Beachte, dass einige Seiten noch anzeigen können, dass du angemeldet bist, solange du nicht deinen Browsercache geleert hast.",
 'welcomeuser' => 'Willkommen, $1!',
 'welcomecreation-msg' => 'Dein Benutzerkonto wurde erstellt.
@@ -889,7 +888,7 @@ Vergiss nicht, deine [[Special:Preferences|{{SITENAME}}-Einstellungen]] zu ände
 'createacct-emailoptional' => 'E-Mail-Adresse (optional)',
 'createacct-email-ph' => 'Gib deine E-Mail-Adresse ein',
 'createacct-another-email-ph' => 'E-Mail-Adresse',
-'createaccountmail' => 'Ein temporäres Zufallspasswort verwenden und an die unten angegebene E-Mail-Adresse versenden',
+'createaccountmail' => 'Ein temporäres Zufallspasswort verwenden und an die angegebene E-Mail-Adresse versenden',
 'createacct-realname' => 'Bürgerlicher Name (optional)',
 'createaccountreason' => 'Grund:',
 'createacct-reason' => 'Begründung',
@@ -967,6 +966,8 @@ Bitte warte, bevor du es erneut probierst.',
 'login-abort-generic' => 'Deine Anmeldung war nicht erfolgreich – Abgebrochen',
 'loginlanguagelabel' => 'Sprache: $1',
 'suspicious-userlogout' => 'Deine Abmeldeanfrage wurde verweigert, da sie vermutlich von einem defekten Browser oder einem Cache-Proxy gesendet wurde.',
+'createacct-another-realname-tip' => 'Der bürgerliche Name ist optional.
+Wenn du ihn angibst, wird er für die Zuordnung der Beiträge verwendet.',
 
 # Email sending
 'php-mail-error-unknown' => 'Unbekannter Fehler mit der Funktion mail() von PHP',
@@ -1679,7 +1680,7 @@ Dies kann nicht mehr rückgängig gemacht werden.',
 'userrights-notallowed' => 'Du verfügst nicht über die erforderlichen Berechtigungen, um Benutzerrechte vergeben oder entziehen zu können.',
 'userrights-changeable-col' => 'Gruppenzugehörigkeit, die du ändern kannst',
 'userrights-unchangeable-col' => 'Gruppenzugehörigkeit, die du nicht ändern kannst',
-'userrights-conflict' => 'Benutzerrechtekonflikt! Bitte führe deine Änderungen erneut durch.',
+'userrights-conflict' => 'Benutzerrechteänderungskonflikt! Bitte überprüfe und bestätige deine Änderungen.',
 'userrights-removed-self' => 'Du hast deine eigenen Rechte erfolgreich entfernt. Du kannst nicht länger auf diese Seite zugreifen.',
 
 # Groups
@@ -1934,7 +1935,7 @@ Um ein '''Bild''' in einer Seite zu verwenden, nutze einen Link in der folgenden
 'large-file' => 'Die Dateigröße sollte nach Möglichkeit $1 nicht überschreiten. Diese Datei ist $2 groß.',
 'largefileserver' => 'Die Datei ist größer als die vom Server eingestellte Maximalgröße.',
 'emptyfile' => 'Die hochgeladene Datei ist leer. Der Grund kann ein Tippfehler im Dateinamen sein. Bitte kontrolliere, ob du die Datei wirklich hochladen willst.',
-'windows-nonascii-filename' => 'Dieses Wiki unterstützt keine Dateinamen die Sonderzeichen enthalten.',
+'windows-nonascii-filename' => 'Dieses Wiki unterstützt keine Dateinamen, die Sonderzeichen enthalten.',
 'fileexists' => 'Eine Datei dieses Namens ist bereits vorhanden. Bitte prüfe <strong>[[:$1]]</strong>, sofern du dir nicht sicher bist, ob du sie ändern möchtest.
 [[$1|thumb]]',
 'filepageexists' => 'Eine Beschreibungsseite wurde bereits als <strong>[[:$1]]</strong> erstellt, es ist aber keine Datei mit diesem Namen vorhanden.
@@ -3292,13 +3293,13 @@ Das liegt wahrscheinlich an einem Link auf eine externe Seite.',
 'pageinfo-length' => 'Seitenlänge (in Bytes)',
 'pageinfo-article-id' => 'Seitenkennnummer',
 'pageinfo-language' => 'Seiteninhaltssprache',
-'pageinfo-robot-policy' => 'Suchmaschinenstatus',
-'pageinfo-robot-index' => 'Indexierbar',
-'pageinfo-robot-noindex' => 'Nicht indexierbar',
+'pageinfo-robot-policy' => 'Indexierung durch Robots',
+'pageinfo-robot-index' => 'Erlaubt',
+'pageinfo-robot-noindex' => 'Nicht erlaubt',
 'pageinfo-views' => 'Anzahl der Seitenaufrufe',
 'pageinfo-watchers' => 'Anzahl der Beobachter der Seite',
 'pageinfo-few-watchers' => 'Weniger als {{PLURAL:$1|ein|$1}} Beobachter',
-'pageinfo-redirects-name' => 'Weiterleitungen zu dieser Seite',
+'pageinfo-redirects-name' => 'Anzahl der Weiterleitungen zu dieser Seite',
 'pageinfo-redirects-value' => '$1',
 'pageinfo-subpages-name' => 'Unterseiten dieser Seite',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|Weiterleitung|Weiterleitungen}}; $3 {{PLURAL:$3|Unterseite|Unterseiten}})',
@@ -4288,4 +4289,22 @@ Anderenfalls kannst du auch das untenstehende einfache Formular nutzen. Dein Kom
 # Image rotation
 'rotate-comment' => 'Bild um $1 {{PLURAL:$1|Grad}} im Uhrzeigersinn gedreht',
 
+# Limit report
+'limitreport-title' => 'Parser-Profiling-Daten:',
+'limitreport-cputime' => 'CPU-Zeit-Nutzung',
+'limitreport-cputime-value' => '{{PLURAL:$1|Eine Sekunde|$1 Sekunden}}',
+'limitreport-walltime' => 'Echtzeitnutzung',
+'limitreport-walltime-value' => '{{PLURAL:$1|Eine Sekunde|$1 Sekunden}}',
+'limitreport-ppvisitednodes' => 'Besuchte Knotenanzahl des Präprozessors',
+'limitreport-ppvisitednodes-value' => '$1/$2',
+'limitreport-ppgeneratednodes' => 'Erzeugte Knotenanzahl des Präprozessors',
+'limitreport-ppgeneratednodes-value' => '$1/$2',
+'limitreport-postexpandincludesize' => 'Einbindungsgröße nach dem Expandieren',
+'limitreport-postexpandincludesize-value' => '$1/$2 Bytes',
+'limitreport-templateargumentsize' => 'Vorlagenargumentgröße',
+'limitreport-templateargumentsize-value' => '$1/$2 Bytes',
+'limitreport-expansiondepth' => 'Höchste Expansionstiefe',
+'limitreport-expansiondepth-value' => '$1/$2',
+'limitreport-expensivefunctioncount' => 'Anzahl aufwändiger Parserfunktionen',
+
 );
index 23cdda5..a4efdae 100644 (file)
@@ -37,6 +37,7 @@
  * @author Reedy
  * @author Remember the dot
  * @author Sinopeus
+ * @author Tifa93
  * @author Urhixidur
  * @author ZaDiak
  * @author Απεργός
@@ -1576,7 +1577,7 @@ $1",
 'userrights-notallowed' => 'Ο λογαριασμός σας δεν έχει άδεια για να προσθέσει ή να αφαιρέσει  δικαιώματα χρηστών.',
 'userrights-changeable-col' => 'Ομάδες που μπορείτε να αλλάξετε',
 'userrights-unchangeable-col' => 'Ομάδες που δεν μπορείτε να αλλάξετε',
-'userrights-conflict' => 'ΣÏ\8dγκÏ\81οÏ\85Ï\83η Î´Î¹ÎºÎ±Î¹Ï\89μάÏ\84Ï\89ν Ï\87Ï\81ήÏ\83Ï\84η! Î Î±Ï\81ακαλÏ\8e ÎºÎ¬Î½Ï\84ε Ï\80άλι ÎµÏ\86αÏ\81μογή Ï\84Ï\89ν Î±Î»Î»Î±Î³Ï\8eν σας.',
+'userrights-conflict' => 'ΣÏ\8dγκÏ\81οÏ\85Ï\83η Î±Î»Î»Î±Î³Ï\8eν Ï\83Ï\84α Î´Î¹ÎºÎ±Î¹Ï\8eμαÏ\84α Ï\87Ï\81ήÏ\83Ï\84η! Î Î±Ï\81ακαλÏ\8e ÎµÏ\80ανεξεÏ\84άÏ\83Ï\84ε ÎºÎ±Î¹ ÎµÏ\80ικÏ\85Ï\81Ï\8eÏ\83Ï\84ε Ï\84ιÏ\82 Î±Î»Î»Î±Î³Î­Ï\82 σας.',
 
 # Groups
 'group' => 'Ομάδα:',
@@ -4121,4 +4122,7 @@ $5
 # Image rotation
 'rotate-comment' => 'Η εικόνα περιστράφηκε $1 {{PLURAL:$1| μοίρα|μοίρες}} δεξιόστροφα',
 
+# Limit report
+'limitreport-cputime' => 'Χρόνος χρήσης CPU',
+
 );
index 75e3532..67fe889 100644 (file)
@@ -1097,7 +1097,6 @@ The administrator who locked it offered this explanation: "$3".',
 # Login and logout pages
 'logouttext'                      => "'''You are now logged out.'''
 
-You can continue to use {{SITENAME}} anonymously, or you can <span class='plainlinks'>[$1 log in again]</span> as the same or as a different user.
 Note that some pages may continue to be displayed as if you were still logged in, until you clear your browser cache.",
 'welcomeuser'                     => 'Welcome, $1!',
 'welcomecreation-msg'             => 'Your account has been created.
@@ -1147,7 +1146,7 @@ Do not forget to change your [[Special:Preferences|{{SITENAME}} preferences]].',
 'createacct-emailoptional'        => 'Email address (optional)',
 'createacct-email-ph'             => 'Enter your email address',
 'createacct-another-email-ph'     => 'Enter email address',
-'createaccountmail'               => 'Use a temporary random password and send it to the email address specified below',
+'createaccountmail'               => 'Use a temporary random password and send it to the specified email address',
 'createacct-realname'             => 'Real name (optional)',
 'createaccountreason'             => 'Reason:',
 'createacct-reason'               => 'Reason',
@@ -1258,6 +1257,8 @@ Please wait before trying again.',
 * {{#language:it}}|it
 * {{#language:nl}}|nl', # do not translate or duplicate this message to other languages
 'suspicious-userlogout'           => 'Your request to log out was denied because it looks like it was sent by a broken browser or caching proxy.',
+'createacct-another-realname-tip' => 'Real name is optional.
+If you choose to provide it, this will be used for giving the user attribution for their work.',
 
 # Email sending
 'pear-mail-error'        => '$1', # do not translate or duplicate this message to other languages
@@ -2044,11 +2045,11 @@ Your email address is not revealed when other users contact you.',
 'userrights-no-interwiki'        => 'You do not have permission to edit user rights on other wikis.',
 'userrights-nodatabase'          => 'Database $1 does not exist or is not local.',
 'userrights-nologin'             => 'You must [[Special:UserLogin|log in]] with an administrator account to assign user rights.',
-'userrights-notallowed'          => 'Your account does not have permission to add or remove user rights.',
+'userrights-notallowed'          => 'You do not have permission to add or remove user rights.',
 'userrights-changeable-col'      => 'Groups you can change',
 'userrights-unchangeable-col'    => 'Groups you cannot change',
 'userrights-irreversible-marker' => '$1*', # only translate this message to other languages if you have to change it
-'userrights-conflict'            => 'User rights conflict! Please apply your changes again.',
+'userrights-conflict'            => 'Conflict of user rights changes! Please review and confirm your changes.',
 'userrights-removed-self'        => 'You successfully removed your own rights. As such, you are no longer able to access this page.',
 
 # Groups
@@ -3869,15 +3870,15 @@ This is probably caused by a link to a blacklisted external site.',
 'pageinfo-length'                 => 'Page length (in bytes)',
 'pageinfo-article-id'             => 'Page ID',
 'pageinfo-language'               => 'Page content language',
-'pageinfo-robot-policy'           => 'Search engine status',
-'pageinfo-robot-index'            => 'Indexable',
-'pageinfo-robot-noindex'          => 'Not indexable',
+'pageinfo-robot-policy'           => 'Indexing by robots',
+'pageinfo-robot-index'            => 'Allowed',
+'pageinfo-robot-noindex'          => 'Disallowed',
 'pageinfo-views'                  => 'Number of views',
 'pageinfo-watchers'               => 'Number of page watchers',
 'pageinfo-few-watchers'           => 'Fewer than $1 {{PLURAL:$1|watcher|watchers}}',
-'pageinfo-redirects-name'         => 'Redirects to this page',
+'pageinfo-redirects-name'         => 'Number of redirects to this page',
 'pageinfo-redirects-value'        => '$1', # only translate this message to other languages if you have to change it
-'pageinfo-subpages-name'          => 'Subpages of this page',
+'pageinfo-subpages-name'          => 'Number of subpages of this page',
 'pageinfo-subpages-value'         => '$1 ($2 {{PLURAL:$2|redirect|redirects}}; $3 {{PLURAL:$3|non-redirect|non-redirects}})',
 'pageinfo-firstuser'              => 'Page creator',
 'pageinfo-firsttime'              => 'Date of page creation',
@@ -5119,4 +5120,23 @@ Otherwise, you can use the easy form below. Your comment will be added to the pa
 # Image rotation
 'rotate-comment' => 'Image rotated by $1 {{PLURAL:$1|degree|degrees}} clockwise',
 
+# Limit report
+'limitreport-title' => 'Parser profiling data:',
+'limitreport-cputime' => 'CPU time usage',
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|second|seconds}}',
+'limitreport-walltime' => 'Real time usage',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|second|seconds}}',
+'limitreport-ppvisitednodes' => 'Preprocessor visited node count',
+'limitreport-ppvisitednodes-value' => '$1/$2',
+'limitreport-ppgeneratednodes' => 'Preprocessor generated node count',
+'limitreport-ppgeneratednodes-value' => '$1/$2',
+'limitreport-postexpandincludesize' => 'Post-expand include size',
+'limitreport-postexpandincludesize-value' => '$1/$2 bytes',
+'limitreport-templateargumentsize' => 'Template argument size',
+'limitreport-templateargumentsize-value' => '$1/$2 bytes',
+'limitreport-expansiondepth' => 'Highest expansion depth',
+'limitreport-expansiondepth-value' => '$1/$2',
+'limitreport-expensivefunctioncount' => 'Expensive parser function count',
+'limitreport-expensivefunctioncount-value' => '$1/$2',
+
 );
index 705725b..807c05e 100644 (file)
@@ -3069,7 +3069,7 @@ Datoj de versioj kaj nomoj de redaktantoj estos preservitaj.
 'tooltip-n-recentchanges' => 'Listo de la lastaj ŝanĝoj en la vikio.',
 'tooltip-n-randompage' => 'Iri al hazarda paĝo',
 'tooltip-n-help' => 'Serĉopaĝo.',
-'tooltip-t-whatlinkshere' => 'Listo de ĉiuj vikiaj paĝoj kij ligas ĉi tien',
+'tooltip-t-whatlinkshere' => 'Listo de ĉiuj vikiaj paĝoj kiuj ligas ĉi tien',
 'tooltip-t-recentchangeslinked' => 'Lastaj ŝanĝoj en paĝoj kiuj ligas al tiu ĉi paĝo',
 'tooltip-feed-rss' => 'RSS-fonto por tiu ĉi paĝo',
 'tooltip-feed-atom' => 'Atom-fonto por ĉi tiu paĝo',
index 08559ea..5bf18f4 100644 (file)
@@ -745,6 +745,7 @@ Por favor, avisa a un [[Special:ListUsers/sysop|administrador]], tomando nota de
 Puede que ya haya sido borrado por alguien más.',
 'cannotdelete-title' => 'No se puede borrar la página «$1»',
 'delete-hook-aborted' => 'La modificación que intentaste hacer fue cancelada por un gancho de extensión. No hay explicación disponible.',
+'no-null-revision' => 'No se pudo crear la nueva revisión nula para la página "$1"',
 'badtitle' => 'Título incorrecto',
 'badtitletext' => 'El título de la página solicitada está vacío, no es válido, o es un enlace interidioma o interwiki incorrecto.
 Puede que contenga uno o más caracteres que no se pueden usar en los títulos.',
@@ -792,10 +793,8 @@ El administrador que lo ha bloqueado ofrece esta explicación: "$3".',
 'virus-unknownscanner' => 'antivirus desconocido:',
 
 # Login and logout pages
-'logouttext' => "'''Ha terminado su sesión.'''
-
-Puedes continuar usando {{SITENAME}} de forma anónima, o puedes <span class='plainlinks'>[$1 iniciar sesión otra vez]</span> con el mismo u otro usuario.
-Ten en cuenta que las páginas que tengas abiertas en otras ventanas o pestañas pueden verse como si siguieras identificado hasta que las refresques.",
+'logouttext' => '"\'Usted está ahora desconectado."\'
+Tenga en cuenta que algunas páginas pueden continuar mostrándose como si todavía estuviera conectado, hasta que borres la caché de tu navegador.',
 'welcomeuser' => '¡Bienvenido, $1!',
 'welcomecreation-msg' => 'Tu cuenta ha sido creada.
 No olvides cambiar tus [[Special:Preferences|preferencias de {{SITENAME}} ]].',
@@ -842,7 +841,7 @@ No olvides cambiar tus [[Special:Preferences|preferencias de {{SITENAME}} ]].',
 'createacct-emailoptional' => 'Dirección de correo electrónico (opcional)',
 'createacct-email-ph' => 'Escribe tu dirección de correo electrónico',
 'createacct-another-email-ph' => 'Introduzca la dirección de correo electrónico',
-'createaccountmail' => 'Usar una contraseña aleatoria temporal y enviarla a la siguiente dirección de correo electrónico',
+'createaccountmail' => 'Utilizar una contraseña aleatoria temporal y enviarla a la dirección de correo electrónico especificada',
 'createacct-realname' => 'Nombre real (opcional)',
 'createaccountreason' => 'Motivo:',
 'createacct-reason' => 'Motivo',
@@ -924,6 +923,8 @@ Puedes ignorar este mensaje si esta cuenta fue creada por error.',
 'login-abort-generic' => 'Tu inicio de sesión no fue exitoso - Cancelado',
 'loginlanguagelabel' => 'Idioma: $1',
 'suspicious-userlogout' => 'Tu solicitud de desconexión ha sido denegada, pues parece haber sido enviada desde un navegador defectuoso o un proxy caché.',
+'createacct-another-realname-tip' => 'El nombre Real es opcional.
+Si elige proporcionarlo, se usará para dar al usuario la atribución de su trabajo.',
 
 # Email sending
 'php-mail-error-unknown' => 'Error desconocido en la función mail() de PHP.',
@@ -1001,7 +1002,17 @@ Contraseña temporal: $2',
 'changeemail-cancel' => 'Cancelar',
 
 # Special:ResetTokens
+'resettokens' => 'Restablecer fichas',
+'resettokens-text' => 'Puede restablecer las fichas que permiten el acceso a ciertos datos privados asociados a tu cuenta aquí.
+
+Deberías hacerlo si accidentalmente la haz compartido con alguien o si su cuenta ha sido comprometida.',
+'resettokens-no-tokens' => 'No hay fichas para restablecer.',
+'resettokens-legend' => 'Restablecer fichas',
+'resettokens-tokens' => 'Fichas:',
 'resettokens-token-label' => '$1 (valor actual: $2)',
+'resettokens-watchlist-token' => 'Lista de seguimiento de la red de fichas',
+'resettokens-done' => 'restablecimiento de fichas.',
+'resettokens-resetbutton' => 'Restablecer las fichas',
 
 # Edit page toolbar
 'bold_sample' => 'Texto en negrita',
@@ -2183,6 +2194,9 @@ Entrada: contenttype/subtype, p. ej. <code>image/jpeg</code>.',
 'randompage-nopages' => 'No hay páginas en los siguientes {{PLURAL:$2|espacio de nombre|espacios de nombre}}: $1.',
 
 # Special:RandomInCategory
+'randomincategory' => 'Página aleatoria en categoría',
+'randomincategory-invalidcategory' => '"$1" no es una categoría válida.',
+'randomincategory-nopages' => 'No hay páginas en la categoría [[:Categoría:$1|$1]].',
 'randomincategory-selectcategory-submit' => 'Ir',
 
 # Random redirect
index 9040147..c53119c 100644 (file)
@@ -713,8 +713,7 @@ Administraator lukustas selle järgmisel põhjusel: "$3".',
 # Login and logout pages
 'logouttext' => "'''Oled nüüd välja loginud.'''
 
-Võid jätkata {{GRAMMAR:genitive|{{SITENAME}}}} kasutamist anonüümselt, aga ka sama või mõne teise kasutajana uuesti <span class='plainlinks'>[$1 sisse logida]</span>.
-Pane tähele, et seni kuni sa pole oma võrgulehitseja puhvrit tühjendanud, võidakse mõni lehekülg endiselt nii kuvada nagu oleksid ikka sisse logitud.",
+Pane tähele, et seni kuni sa pole oma võrgulehitseja puhvrit tühjendanud, võidakse mõni lehekülg endiselt kuvada nii nagu oleksid ikka sisse logitud.",
 'welcomeuser' => 'Tere tulemast, $1!',
 'welcomecreation-msg' => 'Sinu konto on loodud.
 Ära unusta seada oma {{GRAMMAR:genitive|{{SITENAME}}}} [[Special:Preferences|eelistusi]].',
@@ -761,7 +760,7 @@ Pane tähele, et seni kuni sa pole oma võrgulehitseja puhvrit tühjendanud, võ
 'createacct-emailoptional' => 'E-posti aadress (valikuline)',
 'createacct-email-ph' => 'Sisesta oma e-posti aadress',
 'createacct-another-email-ph' => 'Sisesta e-posti aadress',
-'createaccountmail' => 'Kasuta juhuslikku parooli ja saada see allpool määratud e-posti aadressile',
+'createaccountmail' => 'Kasuta juhuslikku parooli ja saada see määratud e-posti aadressile',
 'createacct-realname' => 'Pärisnimi (valikuline)',
 'createaccountreason' => 'Põhjus:',
 'createacct-reason' => 'Põhjus',
@@ -1543,7 +1542,7 @@ See ei tohi olla pikem kui {{PLURAL:$1|üks märk|$1 märki}}.',
 'userrights-no-interwiki' => 'Sul ei ole luba muuta kasutajaõigusi teistes vikides.',
 'userrights-nodatabase' => 'Andmebaasi $1 ei ole olemas või pole see kohalik.',
 'userrights-nologin' => 'Et kasutajaõigusi jagada, pead administraatori kontoga [[Special:UserLogin|sisse logima]].',
-'userrights-notallowed' => 'Sinu kontole pole antud luba lisada või eemaldada kasutajaõigusi.',
+'userrights-notallowed' => 'Sul pole õigust kasutajaõigusi lisada ega eemaldada.',
 'userrights-changeable-col' => 'Rühmad, mida sa saad muuta',
 'userrights-unchangeable-col' => 'Rühmad, mida sa ei saa muuta',
 'userrights-conflict' => 'Kasutajaõiguste konflikt! Palun tee muudatused uuesti.',
@@ -3136,13 +3135,13 @@ See on ilmselt põhjustatud linkimisest mustas nimekirjas olevasse välisvõrguk
 'pageinfo-length' => 'Lehekülje pikkus (baitides)',
 'pageinfo-article-id' => 'Lehekülje identifikaator',
 'pageinfo-language' => 'Lehekülje sisu keel',
-'pageinfo-robot-policy' => 'Otsimootori olek',
-'pageinfo-robot-index' => 'Indekseeritav',
-'pageinfo-robot-noindex' => 'Indekseerimatu',
+'pageinfo-robot-policy' => 'Robotindekseering',
+'pageinfo-robot-index' => 'Lubatud',
+'pageinfo-robot-noindex' => 'Keelatud',
 'pageinfo-views' => 'Vaatamiste arv',
 'pageinfo-watchers' => 'Lehekülje jälgijate arv',
 'pageinfo-few-watchers' => 'Alla {{PLURAL:$1|ühe jälgija|$1 jälgija}}',
-'pageinfo-redirects-name' => 'Ümbersuunamisi sellele leheküljele',
+'pageinfo-redirects-name' => 'Sellele leheküljele suunavate lehekülgede arv',
 'pageinfo-subpages-name' => 'Selle lehekülje alamlehekülgi',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|ümbersuunamine|ümbersuunamist}}; $3 {{PLURAL:$3|mitteümbersuunamine|mitteümbersuunamist}})',
 'pageinfo-firstuser' => 'Lehekülje alustaja',
@@ -3719,7 +3718,7 @@ $5
 Kinnituskood aegub kuupäeval $4.',
 'confirmemail_body_set' => 'Keegi, arvatavasti sina ise, IP-aadressilt $1 on {{GRAMMAR:genitive|{{SITENAME}}}} konto "$2" e-posti aadressiks määranud selle aadressi.
 
-Kinnitamaks, et see konto kuulub tõesti sulle ja {{GRAMMAR:genitive|{{SITENAME}}}} e-posti funktsioonide taasaktiveerimiseks ava oma võrgulehitsejas järgmine link:
+Kinnitamaks, et see konto kuulub tõesti sulle ja {{GRAMMAR:genitive|{{SITENAME}}}} e-posti funktsioonide aktiveerimiseks ava võrgulehitsejas järgmine link:
 
 $3
 
index 7f374bc..944aa65 100644 (file)
@@ -49,7 +49,6 @@ $messages = array(
 'tog-shownumberswatching' => "Muestral el númeru d'usuárius que la vehilan",
 'tog-oldsig' => 'Firma dessistenti:',
 'tog-fancysig' => 'Tratal la firma cumu testu wiki (sin atiju automáticu)',
-'tog-showjumplinks' => 'Premitil los atihus d\'acesibiliá "sartal a"',
 'tog-uselivepreview' => 'Gastal "live preview" (JavaScript) (en prebas)',
 'tog-forceeditsummary' => 'Avisalmi cuandu nu escreba una síntesis dun chambu',
 'tog-watchlisthideown' => 'Açonchal las mis eicionis ena lista e seguimientu',
index 5a25176..64c57bd 100644 (file)
@@ -731,7 +731,7 @@ Lukituksen asettanut ylläpitäjä on antanut seuraavan syyn toimenpiteelle: $3.
 # Login and logout pages
 'logouttext' => "'''Olet nyt kirjautunut ulos.'''
 
-Voit jatkaa {{GRAMMAR:genitive|{{SITENAME}}}} käyttöä nimettömänä, tai <span class='plainlinks'>[$1 kirjautua uudelleen sisään]</span>.
+Voit jatkaa {{GRAMMAR:genitive|{{SITENAME}}}} käyttöä nimettömänä, tai <span class='plainlinks'>[$1 kirjautua uudelleen sisään]</span> samalla tai eri käyttäjätunnuksella.
 Huomaa, että jotkut sivut saattavat näkyä edelleen kuin olisit kirjautunut sisään, kunnes tyhjennät selaimen välimuistin.",
 'welcomeuser' => 'Tervetuloa $1!',
 'welcomecreation-msg' => 'Käyttäjätunnuksesi on luotu.
@@ -779,7 +779,7 @@ Huomaa, että jotkut sivut saattavat näkyä edelleen kuin olisit kirjautunut si
 'createacct-emailoptional' => 'Sähköpostiosoite (vapaaehtoinen)',
 'createacct-email-ph' => 'Anna sähköpostiosoitteesi',
 'createacct-another-email-ph' => 'Lisää sähköpostiosoite',
-'createaccountmail' => 'Käytä satunnaista väliaikaissalasanaa ja lähetä se alla määritettyyn sähköpostiosoitteeseen',
+'createaccountmail' => 'Käytä satunnaista väliaikaissalasanaa ja lähetä se alla olevaan sähköpostiosoitteeseen',
 'createacct-realname' => 'Oikea nimi (valinnainen)',
 'createaccountreason' => 'Syy',
 'createacct-reason' => 'Syy',
index 75ea03c..b5ecc1e 100644 (file)
@@ -811,10 +811,9 @@ L'administrateur qui l'a verrouillé a fourni ce motif : « $3 ».",
 'virus-unknownscanner' => 'antivirus inconnu :',
 
 # Login and logout pages
-'logouttext' => "'''Vous êtes à présent déconnecté(e).'''
+'logouttext' => "'''Vous êtes à présent déconnecté.'''
 
-Vous pouvez continuer à utiliser {{SITENAME}} de façon anonyme, <span class='plainlinks'>[$1 vous reconnecter]</span> sous le même nom ou un autre.
-Notez que certaines pages peuvent être encore affichées comme si vous étiez toujours connecté(e), jusqu'à ce que vous effaciez le cache de votre navigateur.",
+Notez que certaines pages peuvent être encore affichées comme si vous étiez toujours connecté, jusqu’à ce que vous effaciez le cache de votre navigateur.",
 'welcomeuser' => 'Bienvenue, $1&nbsp;!',
 'welcomecreation-msg' => "Votre compte a été créé.
 N'oubliez pas de modifier [[Special:Preferences|vos préférences pour {{SITENAME}}]].",
@@ -861,7 +860,7 @@ N'oubliez pas de modifier [[Special:Preferences|vos préférences pour {{SITENAM
 'createacct-emailoptional' => 'Adresse de courriel (facultative)',
 'createacct-email-ph' => 'Entrez votre adresse de courriel',
 'createacct-another-email-ph' => 'Saisir l’adresse de courriel',
-'createaccountmail' => "Utiliser un mot de passe aléatoire temporaire et l'envoyer à l'adresse de courriel spécifiée ci-dessous",
+'createaccountmail' => "Utiliser un mot de passe aléatoire temporaire et l'envoyer à l'adresse de courriel spécifiée",
 'createacct-realname' => 'Nom réel (facultatif)',
 'createaccountreason' => 'Motif :',
 'createacct-reason' => 'Motif',
@@ -1641,10 +1640,10 @@ Elle ne doit pas dépasser $1 caractère{{PLURAL:$1||s}}.',
 'userrights-no-interwiki' => "Vous n'avez pas la permission de modifier des droits d'utilisateurs sur d'autres wikis.",
 'userrights-nodatabase' => "La base de donnée « $1 » n'existe pas ou n'est pas locale.",
 'userrights-nologin' => "Vous devez vous [[Special:UserLogin|connecter]] avec un compte d'administrateur pour modifier des droits d'utilisateur.",
-'userrights-notallowed' => "Votre compte n'a pas la permission de modifier des droits d'utilisateur.",
+'userrights-notallowed' => 'Vous n’avez pas la permission d’ajouter ou supprimer des droits d’utilisateur.',
 'userrights-changeable-col' => 'Les groupes que vous pouvez modifier',
 'userrights-unchangeable-col' => 'Les groupes que vous ne pouvez pas modifier',
-'userrights-conflict' => 'Conflit de droits utilisateur ! Veuillez appliquer de nouveau vos modifications.',
+'userrights-conflict' => 'Conflit de modification de droits utilisateur ! Veuillez relire et confirmer vos modifications.',
 'userrights-removed-self' => 'Vous avez bien supprimé vos propres droits. Du coup, vous ne pouvez plus accéder à cette page.',
 
 # Groups
@@ -3283,13 +3282,13 @@ Permet de rétablir la version précédente et d'ajouter un motif dans la boîte
 'pageinfo-length' => 'Taille de la page (en octets)',
 'pageinfo-article-id' => 'Numéro de la page',
 'pageinfo-language' => 'Langue du contenu de la page',
-'pageinfo-robot-policy' => 'Statut de moteur de recherche',
-'pageinfo-robot-index' => 'Indexable',
-'pageinfo-robot-noindex' => 'Non indexable',
+'pageinfo-robot-policy' => 'Indexation par robots',
+'pageinfo-robot-index' => 'Autorisée',
+'pageinfo-robot-noindex' => 'Interdite',
 'pageinfo-views' => 'Nombre de vues',
 'pageinfo-watchers' => 'Nombre de contributeurs ayant la page dans leur liste de suivi',
 'pageinfo-few-watchers' => 'Moins de $1 {{PLURAL:$1|observateur|observateurs}}',
-'pageinfo-redirects-name' => 'Redirections vers cette page',
+'pageinfo-redirects-name' => 'Nombre de redirections vers cette page',
 'pageinfo-subpages-name' => 'Sous-pages de cette page',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|redirection|redirections}}; $3 {{PLURAL:$3|non-redirection|non-redirections}})',
 'pageinfo-firstuser' => 'Créateur de la page',
@@ -4340,4 +4339,19 @@ Sinon, vous pouvez utiliser le formulaire simplifié ci-dessous. Votre commentai
 # Image rotation
 'rotate-comment' => "Image pivotée de $1 {{PLURAL:$1|degré|degrés}} dans le sens des aiguilles d'une montre",
 
+# Limit report
+'limitreport-title' => 'Données d’optimisation de l’analyseur :',
+'limitreport-cputime' => 'Temps CPU d’utilisation',
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|seconde|secondes}}',
+'limitreport-walltime' => 'Temps réel d’utilisation',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|seconde|secondes}}',
+'limitreport-ppvisitednodes' => 'Nombre de nœuds de préprocesseur visités',
+'limitreport-ppgeneratednodes' => 'Nombre de nœuds de préprocesseur générés',
+'limitreport-postexpandincludesize' => 'Taille d’inclusion après expansion',
+'limitreport-postexpandincludesize-value' => '$1/$2 octets',
+'limitreport-templateargumentsize' => 'Taille de l’argument du modèle',
+'limitreport-templateargumentsize-value' => '$1/$2 octets',
+'limitreport-expansiondepth' => 'Plus grande profondeur d’expansion',
+'limitreport-expensivefunctioncount' => 'Nombre de fonctions d’analyse coûteuses',
+
 );
index 2aa3dfb..3aef169 100644 (file)
@@ -1958,7 +1958,7 @@ Det woort efter logbukslach, brüker of sidjennööm uunwiset. Grat- an letjskri
 # Special:AllPages
 'allpages' => 'Aal a sidjen',
 'alphaindexline' => '$1 bit $2',
-'nextpage' => 'Näist sid ($1)',
+'nextpage' => 'Naist sidj ($1)',
 'prevpage' => 'Leetst sidj ($1)',
 'allpagesfrom' => 'Sidjen wise sant:',
 'allpagesto' => 'Sidjen wise bit:',
@@ -1966,7 +1966,7 @@ Det woort efter logbukslach, brüker of sidjennööm uunwiset. Grat- an letjskri
 'allinnamespace' => 'Aal a sidjen (nöömrüm: $1)',
 'allnotinnamespace' => 'Aal a sidjen (saner nöömrüm $1)',
 'allpagesprev' => 'Leest',
-'allpagesnext' => 'Näist',
+'allpagesnext' => 'Naist',
 'allpagessubmit' => 'Widjer',
 'allpagesprefix' => 'Sidjen uunwise mä prefix:',
 'allpagesbadtitle' => 'Didiar sidjennööm gongt ei. Hi hed ferlicht en spriak-prefix of diar san ei tuläät tiakens uun.',
@@ -2898,7 +2898,7 @@ $1",
 
 # Browsing diffs
 'previousdiff' => '← Leetst feranrang',
-'nextdiff' => 'Tu di näist färsjoonsferschääl →',
+'nextdiff' => 'Naist werjuunsferskeel →',
 
 # Media information
 'mediawarning' => "'''Paase üüb:''' Son datei koon fülk programcode haa. Bi't deelloosin an eeben maagin koon dan reegner komer fu.",
index 941e141..865351f 100644 (file)
@@ -172,7 +172,6 @@ $messages = array(
 'tog-shownumberswatching' => 'It tal brûkers sjen litte dat dizze side folget',
 'tog-oldsig' => 'Hûdige sinjatuerprintallyk:',
 'tog-fancysig' => 'Sinjatuer as wikitekst behannelje (sûnder automatyske keppeling)',
-'tog-showjumplinks' => '"gean nei"-tapaslikens-links ynskeakelje',
 'tog-uselivepreview' => '"live proefbyld" brûke (JavaScript nedich - eksperimenteel)',
 'tog-forceeditsummary' => 'Warskôgje at ik de gearfetting leech lit.',
 'tog-watchlisthideown' => 'Eigen bewurkings op myn folchlist ferbergje',
index 3352027..6b8225c 100644 (file)
@@ -124,7 +124,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Bildirmää maillerinde e-mail adresimi göster.',
 'tog-shownumberswatching' => 'İzlään kullanıcı sayısın göster',
 'tog-fancysig' => 'Çii imza (İmzanız görüner nesoy onu yukarda belirttiniz. Sayfanıza avtomatik baalantı yaratılmaycêk)',
-'tog-showjumplinks' => '"Git" baalantısın işlet',
 'tog-uselivepreview' => 'Tez cannı ön siiri kullan (JavaScript) (êksperimental)',
 'tog-forceeditsummary' => 'Bana haber ver ne zaman ani kısa annatmanı boş braacam',
 'tog-watchlisthideown' => 'Bakmaa listamdan benim diişmäklerimi sakla',
index f5b7abd..f4bb82e 100644 (file)
@@ -63,7 +63,6 @@ $messages = array(
 'tog-shownumberswatching' => '显示有几多人监视',
 'tog-oldsig' => '现有𠮶签名:',
 'tog-fancysig' => '搦签名以维基字对待(冇自动连结)',
-'tog-showjumplinks' => '启用“跳到”访问链接',
 'tog-uselivepreview' => '使用即时预览(JavaScript)(实验中)',
 'tog-forceeditsummary' => '冇改动注解时要同偶话',
 'tog-watchlisthideown' => '监视列表弆到偶𠮶编辑',
index 3fde8c7..6574a52 100644 (file)
@@ -85,7 +85,6 @@ $messages = array(
 'tog-shownumberswatching' => '顯示有幾多人監視',
 'tog-oldsig' => '現有嗰簽名:',
 'tog-fancysig' => '搦簽名以維基字對待(冇自動連結)',
-'tog-showjumplinks' => '啟用“跳到”訪問連結',
 'tog-uselivepreview' => '使用即時預覽(JavaScript)(實驗中)',
 'tog-forceeditsummary' => '冇改動注解時要同我話',
 'tog-watchlisthideown' => '監視列表弆到我嗰編輯',
index a73300d..79f116f 100644 (file)
@@ -635,6 +635,7 @@ $2',
 'createacct-captcha' => 'સલામતી ચકાસણી',
 'createacct-imgcaptcha-ph' => 'તમે જે લખાણ જુઓ છો તે દાખલ કરો',
 'createacct-submit' => 'તમારું ખાતું બનાવો',
+'createacct-another-submit' => 'બીજું ખાતું બનાવો',
 'createacct-benefit-heading' => '{{SITENAME}} એ તમારા જેવા લોકો વડે બનાવેલ છે.',
 'createacct-benefit-body1' => '{{PLURAL:$1|ફેરફાર|ફેરફારો}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|પાનું|પાનાં}}',
@@ -782,6 +783,15 @@ $2
 'changeemail-submit' => 'ઈ મેલ બદલો',
 'changeemail-cancel' => 'રદ કરો',
 
+# Special:ResetTokens
+'resettokens' => 'નિશાનીઓ ફરી ગોઠવો',
+'resettokens-legend' => 'નિશાનીઓ ફરી ગોઠવો',
+'resettokens-tokens' => 'નિશાનીઓ:',
+'resettokens-token-label' => '$1 (હાલની કિંમત: $2)',
+'resettokens-watchlist-token' => 'ધ્યાનસૂચિ વેબ ફીડ નિશાની',
+'resettokens-done' => 'નિશાનીઓ ફરી ગોઠવવામાં આવી.',
+'resettokens-resetbutton' => 'પસંદ કરેલ નિશાનીઓ ફરી ગોઠવો',
+
 # Edit page toolbar
 'bold_sample' => 'ઘાટા અક્ષર',
 'bold_tip' => 'ઘાટું લખાણ',
@@ -1381,6 +1391,7 @@ HTML નાકું ચકાસો',
 'prefs-displayrc' => 'પ્રદર્શન વિકલ્પો',
 'prefs-displaysearchoptions' => 'પ્રદર્શન વિકલ્પો',
 'prefs-displaywatchlist' => 'પ્રદર્શન વિકલ્પો',
+'prefs-tokenwatchlist' => 'નિશાની',
 'prefs-diffs' => 'ફરક',
 
 # User preference: email validation using jQuery
@@ -1477,6 +1488,8 @@ HTML નાકું ચકાસો',
 'right-editusercssjs' => 'અન્ય સભ્યોની CSS અને JavaScript ફાઇલમાં ફેરફાર કરો',
 'right-editusercss' => 'અન્ય સભ્યોની CSS ફાઇલમાં ફેરફાર કરો',
 'right-edituserjs' => 'અન્ય સભ્યોની JavaScript ફાઇલમાં ફેરફાર કરો',
+'right-viewmywatchlist' => 'તમારી પોતાની ધ્યાનસૂચી જુઓ',
+'right-editmyoptions' => 'તમારી પોતાની પ્રાથમિકતાઓમાં ફેરફાર કરો',
 'right-rollback' => 'ચોક્કસ પાનામાં જે છેલ્લા સભ્યએ ફેરફારો કર્યાં હોય તેને ઝડપથી ઉલટાવો',
 'right-markbotedits' => 'ઉલટાવનારા અને બોટ ફેરફારો નોંધો',
 'right-noratelimit' => 'ઝડપની સીમાને કારણે અસર ન થવી જોઇએ.',
@@ -1538,6 +1551,8 @@ HTML નાકું ચકાસો',
 'action-userrights-interwiki' => 'અન્ય વિકિ પરના સભ્યોના હક્કો સંપાદિત કરો.',
 'action-siteadmin' => 'માહિતી સંચયને ઉઘાડો અને વાસો.',
 'action-sendemail' => 'ઈ-મેલ મોકલો',
+'action-editmywatchlist' => 'તમારી ધ્યાનસૂચીમાં ફેરફાર કરો',
+'action-viewmywatchlist' => 'તમારી ધ્યાનસૂચી જુઓ',
 'action-viewmyprivateinfo' => 'તમારી અંગત માહિતી જુઓ',
 'action-editmyprivateinfo' => 'તમારી અંગત માહિતીમાં ફેરફાર કરો',
 
@@ -1930,6 +1945,9 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization. જુઓ',
 'randompage' => 'કોઈ પણ એક લેખ',
 'randompage-nopages' => 'આ {{PLURAL:$2|નામસ્થળ|નામસ્થળો}}માં કોઇ પાના નથી: $1.',
 
+# Special:RandomInCategory
+'randomincategory-selectcategory-submit' => 'જાઓ',
+
 # Random redirect
 'randomredirect' => 'દિશાહીન  નિર્દેશન',
 'randomredirect-nopages' => 'નામ સ્થળ "$1" માં કોઇ દિશા નિર્દેશન નથી',
@@ -3078,10 +3096,16 @@ $1',
 'minutes' => '{{PLURAL:$1|$1 મિનિટ|$1 મિનિટો}}',
 'hours' => '{{PLURAL:$1|$1 કલાક|$1 કલાકો}}',
 'days' => '{{PLURAL:$1|$1 દિવસ|$1 દિવસો}}',
+'weeks' => '{{PLURAL:$1|$1 અઠવાડિયું|$1 અઠવાડિયાં}}',
+'months' => '{{PLURAL:$1|$1 મહિનો|$1 મહિનાઓ}}',
+'years' => '{{PLURAL:$1|$1 વર્ષ|$1 વર્ષો}}',
 'ago' => '$1 પહેલાં',
 'just-now' => 'હમણાં',
 
 # Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|કલાક|કલાકો}} ago',
+'minutes-ago' => '$1 {{PLURAL:$1|મિનિટ|મિનિટો}} ago',
+'seconds-ago' => '$1 {{PLURAL:$1|સેકંડ|સેકંડો}} ago',
 'monday-at' => '$1 પર સોમવાર',
 'tuesday-at' => '$1 પર મંગળવાર',
 'wednesday-at' => '$1 પર બુધવાર',
@@ -3694,6 +3718,7 @@ $5
 'version-license' => 'પરવાનો',
 'version-poweredby-credits' => "આ વિકિ  '''[//www.mediawiki.org/ MediaWiki]''' દ્વારા ચાલે છે, પ્રકાશનાધિકાર © 2001-$1 $2.",
 'version-poweredby-others' => 'અન્યો',
+'version-poweredby-translators' => 'ટ્રાન્સલેટવિકિ.નેટ ભાષાંતરકર્તાઓ',
 'version-license-info' => 'મિડિયાવિકિ એક મુક્ત સોફ્ટવેર છે. તમે તેનું પુનઃવિતરણ કરી શકો છો અને/અથવા તેને the Free Software Foundation દ્વારા પ્રકાશિત  GNU General Public License હેઠળ તેના સંસ્કરણ 2 ને કે તે પછીના સંસ્કરણ   મઠારી શકો છો . 
 
 મિડિયા વિકિ ને તે આશાથી વિતરીત કરાયું છે કે તે લોકોને ઉપયોગિ થશે કોઇ વોરેંટી વિના અથવા કોઇ કાર્ય સંબધી વેચાણકે તેની યોગ્યતા બદ્દલ ખાત્રી સિવાય. વધારે  માહિતે માટે GNU General Public Licens જુઓ.
@@ -3706,6 +3731,7 @@ $5
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
+'redirect-legend' => 'ફાઇલ અથવા પાનાં તરફ વાળો',
 'redirect-submit' => 'જાઓ',
 'redirect-value' => 'કિંમત:',
 'redirect-user' => 'સભ્ય નામ',
@@ -3760,6 +3786,7 @@ $5
 'tags' => 'વૈધ ફેરફાર પાના',
 'tag-filter' => '[[Special:Tags|ટૅગ]] ચાળણી',
 'tag-filter-submit' => 'ચાળણી',
+'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|ટેગ|ટેગ્સ}}]]: $2)',
 'tags-title' => 'ટૅગ્સ',
 'tags-intro' => 'આ પાના પર સૉફ્ટવૅર દ્વારા, સંપાદનને ચિહ્નિત કરાયેલાં ટૅગ્સની યાદી અને તેનાં અર્થ છે.',
 'tags-tag' => 'ટૅગનું નામ',
@@ -3914,4 +3941,7 @@ $5
 'duration-centuries' => '$1 {{PLURAL:$1|શતાબ્દી|શતાબ્દીઓ}}',
 'duration-millennia' => '$1 {{PLURAL:$1|સહસ્ત્રાબ્દી|સહસ્ત્રાબ્દીઓ}}',
 
+# Image rotation
+'rotate-comment' => 'ચિત્ર $1 {{PLURAL:$1|ડિગ્રી|ડિગ્રીઓ}} ઘડિયાળની દિશામાં ફેરવવામાં આવ્યું',
+
 );
index df1d66c..ab600be 100644 (file)
@@ -46,7 +46,6 @@ $messages = array(
 'tog-shownumberswatching' => '展示監視中嘅使用人數目',
 'tog-oldsig' => '現有簽名:',
 'tog-fancysig' => '將簽名看做維基文字(毋會自動產生鏈接)',
-'tog-showjumplinks' => '啟用“跳轉到”訪問鏈接',
 'tog-uselivepreview' => '使用即時預覽(愛有 JavaScript)(實驗中)',
 'tog-forceeditsummary' => '還吂輸入編寫摘要時提醒亻厓',
 'tog-watchlisthideown' => '監視列表肚隱藏亻厓嘅編寫',
index ff3871f..19042d4 100644 (file)
@@ -786,7 +786,6 @@ $2',
 # Login and logout pages
 'logouttext' => "'''יצאתם זה עתה מהחשבון.'''
 
-באפשרותכם להמשיך ולעשות שימוש ב{{grammar:תחילית|{{SITENAME}}}} באופן אנונימי, או <span class='plainlinks'>[$1 לשוב ולהיכנס לאתר]</span> עם שם משתמש זהה או אחר.
 שימו לב כי ייתכן שדפים אחדים ימשיכו להיות מוצגים כאילו אתם עדיין מחוברים לחשבון עד שתנקו את המטמון של הדפדפן שלכם.",
 'welcomeuser' => 'ברוך בואך, $1!',
 'welcomecreation-msg' => 'חשבונך נוצר.
@@ -834,7 +833,7 @@ $2',
 'createacct-emailoptional' => 'כתובת דוא"ל (לא חובה)',
 'createacct-email-ph' => 'יש להקליד את כתובת הדוא"ל שלך',
 'createacct-another-email-ph' => 'יש להקליד כתובת דוא"ל',
-'createaccountmail' => 'ש×\99×\9e×\95ש ×\91ס×\99ס×\9e×\94 ×\96×\9e× ×\99ת ×\90קר×\90×\99ת ×\95ש×\9c×\99×\97ת×\94 ×\9c×\9bת×\95×\91ת ×\94×\93×\95×\90\9c ×\94×\9eצ×\95×\99נת ×\9c×\94×\9c×\9f',
+'createaccountmail' => 'ש×\99×\9e×\95ש ×\91ס×\99ס×\9e×\94 ×\96×\9e× ×\99ת ×\90קר×\90×\99ת ×\95ש×\9c×\99×\97ת×\94 ×\9c×\9bת×\95×\91ת ×\94×\93×\95×\90\9c ×©×¦×\95×\99× ×\94',
 'createacct-realname' => 'שם אמיתי (לא חובה)',
 'createaccountreason' => 'סיבה:',
 'createacct-reason' => 'סיבה',
@@ -920,6 +919,8 @@ $2',
 'login-abort-generic' => 'הכניסה לחשבון לא הצליחה - היא הופסקה',
 'loginlanguagelabel' => 'שפה: $1',
 'suspicious-userlogout' => 'בקשתכם לצאת מהחשבון נדחתה כיוון שנראה שהיא נשלחה על ידי דפדפן שבור או שרת פרוקסי עם זיכרון מטמון.',
+'createacct-another-realname-tip' => 'השם האמיתי הוא אופציונאלי.
+אם תבחרו לספקו, הוא ישמש לייחוס עבודת המשתמש אליו.',
 
 # Email sending
 'php-mail-error-unknown' => 'שגיאה לא ידועה בפונקציה mail()‎ של PHP',
@@ -1640,10 +1641,10 @@ $1",
 'userrights-no-interwiki' => 'אין לכם הרשאה לערוך הרשאות משתמש באתרים אחרים.',
 'userrights-nodatabase' => 'בסיס הנתונים $1 אינו קיים או אינו מקומי.',
 'userrights-nologin' => 'עליכם [[Special:UserLogin|להיכנס לחשבון]] עם הרשאות מתאימות כדי לשנות הרשאות של משתמשים.',
-'userrights-notallowed' => '×\9c×\97ש×\91×\95×\9f ×\94×\9eשת×\9eש ×©×\9c×\9b×\9d ×\90×\99×\9f הרשאה להוסיף או להסיר הרשאות של משתמשים.',
+'userrights-notallowed' => '×\90×\99×\9f ×\9c×\9b×\9d הרשאה להוסיף או להסיר הרשאות של משתמשים.',
 'userrights-changeable-col' => 'קבוצות שבאפשרותכם לשנות',
 'userrights-unchangeable-col' => 'קבוצות שאין באפשרותכם לשנות',
-'userrights-conflict' => '×\94תנ×\92ש×\95ת ×\94רש×\90×\95ת ×\9eשת×\9eש! ×\90× ×\90 ×\91צע×\95 ×\90ת ×\94ש×\99× ×\95×\99×\99×\9d ×©×\9c×\9b×\9d ×©×\95×\91.',
+'userrights-conflict' => '×\94תנ×\92ש×\95ת ×\91×\99×\9f ×©×\99× ×\95×\99×\99 ×\94רש×\90×\95ת ×\9eשת×\9eש! ×\90× ×\90 ×\91×\93ק×\95 ×\90ת ×\94ש×\99× ×\95×\99×\99×\9d ×©×\9c×\9b×\9d ×\95×\90שר×\95 ×\90×\95ת×\9d.',
 'userrights-removed-self' => 'הסרת בהצלחה את הרשאות המשתמש שלך. לכן אין לך כעת אפשרות לגשת לדף זה.',
 
 # Groups
@@ -3281,14 +3282,14 @@ $2',
 'pageinfo-length' => 'אורך הדף (בבתים)',
 'pageinfo-article-id' => 'מזהה הדף',
 'pageinfo-language' => 'שפת התוכן של הדף',
-'pageinfo-robot-policy' => '×\9eצ×\91 ×\9e× ×\95×¢ חיפוש',
-'pageinfo-robot-index' => '×\99×\9b×\95×\9c ×\9c×\94×\99×\90סף ×\9c×\9eפת×\97×\95ת ×\97×\99פ×\95ש',
-'pageinfo-robot-noindex' => '×\9c×\90 ×\99×\9b×\95×\9c ×\9c×\94×\99×\90סף ×\9c×\9eפת×\97×\95ת ×\97×\99פ×\95ש',
+'pageinfo-robot-policy' => '×\90×\99ס×\95×£ ×¢×\9c ×\99×\93×\99 ×¨×\95×\91×\95×\98×\99×\9d ×©×\9c ×\9e× ×\95×¢×\99 חיפוש',
+'pageinfo-robot-index' => '×\9e×\95תר',
+'pageinfo-robot-noindex' => '×\90ס×\95ר',
 'pageinfo-views' => 'מספר הצפיות',
 'pageinfo-watchers' => 'מספר העוקבים אחר הדף',
 'pageinfo-few-watchers' => 'פחות מ{{PLURAL:$1|עוקב אחד|־$1 עוקבים}}',
-'pageinfo-redirects-name' => 'הפניות לדף זה',
-'pageinfo-subpages-name' => '×\93פ×\99Ö¾משנה של דף זה',
+'pageinfo-redirects-name' => '×\9eספר ×\94×\94פנ×\99×\95ת ×\9c×\93×£ ×\96×\94',
+'pageinfo-subpages-name' => '×\9eספר ×\93פ×\99Ö¾×\94משנה של דף זה',
 'pageinfo-subpages-value' => '$1 ({{PLURAL:$2|הפניה אחת|$2 הפניות}}; {{PLURAL:$3|דף רגיל אחד|$3 דפים רגילים}})',
 'pageinfo-firstuser' => 'יוצר הדף',
 'pageinfo-firsttime' => 'תאריך יצירת הדף',
@@ -4081,7 +4082,7 @@ $5
 'version-mediahandlers' => 'מציגי מדיה',
 'version-hooks' => 'מבני Hook',
 'version-parser-extensiontags' => 'תגיות של הרחבות מפענח',
-'version-parser-function-hooks' => '×\9eשתנ×\99×\9d',
+'version-parser-function-hooks' => '×\9e×\91× ×\99×\9d ×©×\9c ×¤×\95נקצ×\99×\95ת ×\9eפענ×\97',
 'version-hook-name' => 'שם ה־Hook',
 'version-hook-subscribedby' => 'הפונקציה הרושמת',
 'version-version' => '(גרסה $1)',
@@ -4323,4 +4324,19 @@ $5
 # Image rotation
 'rotate-comment' => 'התמונה סובבה {{PLURAL:$1|במעלה אחת|ב֫־$1 מעלות}} בכיוון השעון',
 
+# Limit report
+'limitreport-title' => 'מידע על ביצועי המפענח:',
+'limitreport-cputime' => 'זמן CPU',
+'limitreport-cputime-value' => '{{PLURAL:$1|שנייה|$1 שניות}}',
+'limitreport-walltime' => 'זמן אמיתי',
+'limitreport-walltime-value' => '{{PLURAL:$1|שנייה|$1 שניות}}',
+'limitreport-ppvisitednodes' => 'מספר הצמתים בהם ביקר קדם����־המפענח',
+'limitreport-ppgeneratednodes' => 'מספר הצמתים שיצר קדם����־המפענח',
+'limitreport-postexpandincludesize' => 'גודל הטקסט המוכלל לאחר הפריסה',
+'limitreport-postexpandincludesize-value' => '$1/$2 בתים',
+'limitreport-templateargumentsize' => 'גודל הפרמטרים של התבניות',
+'limitreport-templateargumentsize-value' => '$1/$2 בתים',
+'limitreport-expansiondepth' => 'עומק הפריסה הגבוה ביותר',
+'limitreport-expensivefunctioncount' => 'מספר פונקציות המפענח שגוזלות משאבים',
+
 );
index 86bb851..2d4cbe2 100644 (file)
@@ -2806,10 +2806,10 @@ $1 को बाध्य करने का कारण है: "$2"',
 'movereason' => 'कारण:',
 'revertmove' => 'पुराने अवतरण पर ले जाएं',
 'delete_and_move' => 'हटाएँ और नाम बदलें',
-'delete_and_move_text' => '==हटाने की जरूरत==
-लà¤\95à¥\8dषà¥\8dय à¤ªà¥\83षà¥\8dठ "[[:$1]]" à¤ªà¤¹à¤²à¥\87 à¤¸à¥\87 à¤\85सà¥\8dतितà¥\8dवमà¥\87à¤\82 à¤¹à¥\88à¤\82
-नाम बदलने के लिये क्या आप इसे हटाना चाहते हैं?',
-'delete_and_move_confirm' => 'à¤\9cà¥\80 à¤¹à¤¾à¤\82, à¤ªà¥\83षà¥\8dठ à¤¹à¤\9fाà¤\88यà¥\87à¤\82',
+'delete_and_move_text' => '==हà¤\9fानà¥\87 à¤\95à¥\80 à¤\9c़रà¥\82रत==
+लà¤\95à¥\8dषà¥\8dय à¤ªà¥\83षà¥\8dठ "[[:$1]]" à¤ªà¤¹à¤²à¥\87 à¤¸à¥\87 à¤®à¥\8cà¤\9cà¥\82द à¤¹à¥\88
+नाम बदलने के लिये क्या आप इसे हटाना चाहते हैं?',
+'delete_and_move_confirm' => 'à¤\9cà¥\80 à¤¹à¤¾à¤\81, à¤ªà¥\83षà¥\8dठ à¤¹à¤\9fाà¤\8fà¤\81',
 'delete_and_move_reason' => '"[[$1]]" से स्थानांतरण करने के लिये जगह बनाई गयी है',
 'selfmove' => 'स्रोत और लक्ष्य शीर्षक समान हैं;
 पृष्ठ अपने ही जगह पर स्थानांतरित नहीं हो सकता।',
index 979d283..9d2f83c 100644 (file)
@@ -171,7 +171,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Montre kantite itlizatè k’ap swiv',
 'tog-oldsig' => 'Gade pou wè siyati ki egziste deja:',
 'tog-fancysig' => 'Konsidere siyati sa tankou yon wikitèks (san lyen ki ta otomatik)',
-'tog-showjumplinks' => 'Pèmèt lyen aksesibilite « ale nan »',
 'tog-uselivepreview' => 'Itilize kout je an dirèk (sa mande JavaScrip) (Esperimantal)',
 'tog-forceeditsummary' => 'Notifye m lè m ap antre yon somè modifikasyon vid',
 'tog-watchlisthideown' => 'Kache modifikasyon m yo nan lis swivi mwen a',
index 175b167..3374531 100644 (file)
@@ -453,7 +453,7 @@ $messages = array(
 'navigation-heading' => 'Նավիգացիոն ցանկ',
 'errorpagetitle' => 'Սխալ',
 'returnto' => 'Վերադառնալ $1։',
-'tagline' => '{{SITENAME}}յից',
+'tagline' => '{{SITENAME}}-ից',
 'help' => 'Օգնություն',
 'search' => 'Որոնում',
 'searchbutton' => 'Որոնել',
@@ -656,8 +656,10 @@ $1',
 'protectedpagetext' => 'Այս էջը կողպված խմբագրման համար։',
 'viewsourcetext' => 'Դուք կարող եք դիտել և պատճենել այս էջի ելատեքստը.',
 'viewyourtext' => 'Դուք կարող եք դիտել «ձեր ներդրումների» աղբյուրը և պատճենել այս էջ',
-'protectedinterface' => 'Այս էջը պարունակում է ծրագրային ապահովման ինտերֆեյսի ուզերձ և կողպված է չարաշահումների կանխարգելման նպատակով։.',
-'editinginterface' => "'''Զգուշացում՝''' Դուք խմբագրում եք ծրագրային ապահովման ինտերֆեյսի տեքստ պարունակող էջ։ Այս էջի փոփոխությունը կանդրադառնա այլ մասնակիցներին տեսանելի ինտերֆեյսի տեսքի վրա։
+'protectedinterface' => 'Այս էջը պարունակում է ծրագրային ապահովման միջերեսի տեքստ, և պաշտպանված է չարաշահումների կանխարգելման նպատակով։
+Բոլոր վիքիների թարգմանությունները փոփոխելու կամ ավելացնելու համար, խնդրում ենք այցելել ՄեդիաՎիքիի տեղայնացման նախագիծը՝ [//translatewiki.net/ translatewiki.net]։',
+'editinginterface' => "'''Ուշադրություն՝''' Դուք խմբագրում եք ծրագրային ապահովման միջերեսի տեքստ պարունակող էջ։
+Այս էջի փոփոխությունը կանդրադառնա այլ մասնակիցներին տեսանելի միջերեսը այս վիքիի վրա։
 Թարգմանությունների համար նախընտրելի է օգտագործել [//translatewiki.net/wiki/Main_Page?setlang=hy translatewiki.net]՝ Մեդիավիքի ծրագրի տեղայնացման նախագիծը։",
 'sqlhidden' => '(SQL հայցումը թաքցված է)',
 'cascadeprotected' => 'Այս էջը պաշտպանված է խմբագրումից, քանի որ ընդգրկված է հետևյալ {{PLURAL:$1|էջի|էջերի}} տեքստում, {{PLURAL:$1|որը|որոնք}} պաշտպանվել {{PLURAL:$1|է|են}} կասկադային հնարավորությամբ.
@@ -1296,8 +1298,8 @@ $3 մասնակիցը տվել է հետևյալ պատճառը. ''$2''",
 'prefs-memberingroups' => 'Անդամակցության {{PLURAL:$1|խումբ|խմբեր}}.',
 'prefs-registration' => 'Գրանցման ամսաթիվը․',
 'yourrealname' => 'Ձեր իրական անունը.',
-'yourlanguage' => 'Ô»Õ¶Õ¿Õ¥Ö\80Ö\86Õ¥ÕµÕ½Õ« Õ¬Õ¥Õ¦Õ¸Ö\82Õ¶.',
-'yourvariant' => 'Ô¼Õ¥Õ¦Õ¾Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¡Ö\80Õ¢Õ¥Ö\80Õ¡Õ¯',
+'yourlanguage' => 'Ô¼Õ¥Õ¦Õ¸Ö\82Õ\9d',
+'yourvariant' => 'Ô²Õ¸Õ¾Õ¡Õ¶Õ¤Õ¡Õ¯Õ¸Ö\82Õ©ÕµÕ¡Õ¶ Õ¬Õ¥Õ¦Õ¾Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¡Ö\80Õ¢Õ¥Ö\80Õ¡Õ¯Õ\9d',
 'yournick' => 'Ստորագրություն.',
 'prefs-help-signature' => 'Քննարկման էջերում մեկնաբանությունները անհրաժեշտ է ստորագրել "<nowiki>~~~~</nowiki>" նշանագրով, որը կվերածվի ձեր ստորագրությանը և ամսաթվին։',
 'badsig' => 'Սխալ ստորագրություն. ստուգեք HTML-թեգերը։',
index d98b05d..c70f8d4 100644 (file)
@@ -570,7 +570,6 @@ Le administrator qui lo blocava offereva iste explication: "$3".',
 # Login and logout pages
 'logouttext' => "'''Tu ha claudite le session.'''
 
-Tu pote continuar a usar {{SITENAME}} anonymemente, o tu pote <span class='plainlinks'>[$1 aperir un nove session]</span> con le mesme nomine de usator o con un altere.
 Nota que alcun paginas pote continuar a apparer como si tu esserea ancora authenticate. Pro remediar isto, tu pote vacuar le cache de tu navigator.",
 'welcomeuser' => 'Benvenite, $1!',
 'welcomecreation-msg' => 'Tu conto ha essite create.
@@ -618,7 +617,7 @@ Non oblida personalisar tu [[Special:Preferences|preferentias in {{SITENAME}}]].
 'createacct-emailoptional' => 'Adresse de e-mail (optional)',
 'createacct-email-ph' => 'Entra tu adresse de e-mail',
 'createacct-another-email-ph' => 'Entra adresse de e-mail',
-'createaccountmail' => 'Usar un contrasigno aleatori temporari e inviar lo al adresse de e-mail specificate hic infra',
+'createaccountmail' => 'Usar un contrasigno aleatori temporari e inviar lo al adresse de e-mail specificate',
 'createacct-realname' => 'Nomine real (optional)',
 'createaccountreason' => 'Motivo:',
 'createacct-reason' => 'Motivo',
@@ -1446,10 +1445,10 @@ Si tu opta pro dar lo, isto essera usate pro dar te attribution pro tu contribut
 'userrights-no-interwiki' => 'Tu non ha le permission de modificar le derectos de usatores in altere wikis.',
 'userrights-nodatabase' => 'Le base de datos $1 non existe o non es local.',
 'userrights-nologin' => 'Tu debe [[Special:UserLogin|aperir un session]] con un conto de administrator pro poter assignar derectos de usator.',
-'userrights-notallowed' => 'Tu conto non ha le permission de adder o remover derectos de usator.',
+'userrights-notallowed' => 'Tu non ha le permission de adder o remover derectos de usator.',
 'userrights-changeable-col' => 'Gruppos que tu pote modificar',
 'userrights-unchangeable-col' => 'Gruppos que tu non pote modificar',
-'userrights-conflict' => 'Conflicto inter derectos de usator! Per favor applica tu cambiamentos de novo.',
+'userrights-conflict' => 'Conflicto inter cambiamentos de derectos de usator! Per favor revide e confirma tu cambiamentos.',
 'userrights-removed-self' => 'Tu ha removite con successo tu proprie derectos. In consequentia, tu non plus pote acceder a iste pagina.',
 
 # Groups
@@ -3107,13 +3106,13 @@ Le causa es probabilemente un ligamine verso un sito externe que es presente in
 'pageinfo-length' => 'Dimension del pagina (in bytes)',
 'pageinfo-article-id' => 'ID del pagina',
 'pageinfo-language' => 'Lingua del contento del pagina',
-'pageinfo-robot-policy' => 'Stato del motor de recerca',
-'pageinfo-robot-index' => 'Indexabile',
-'pageinfo-robot-noindex' => 'Non indexabile',
+'pageinfo-robot-policy' => 'Indexation per robots',
+'pageinfo-robot-index' => 'Permittite',
+'pageinfo-robot-noindex' => 'Non permittite',
 'pageinfo-views' => 'Numero de visitas',
 'pageinfo-watchers' => 'Numero de observatores del pagina',
 'pageinfo-few-watchers' => 'Minus de $1 {{PLURAL:$1|observator|observatores}}',
-'pageinfo-redirects-name' => 'Redirectiones verso iste pagina',
+'pageinfo-redirects-name' => 'Numero de redirectiones verso iste pagina',
 'pageinfo-subpages-name' => 'Subpaginas de iste pagina',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|redirection|redirectiones}}; $3 {{PLURAL:$3|non-redirection|non-redirectiones}})',
 'pageinfo-firstuser' => 'Creator del pagina',
@@ -3724,7 +3723,7 @@ Iste codice de confirmation expirara a $4.',
 'confirmemail_body_set' => 'Un persona, probabilemente tu, usante le adresse IP $1,
 ha specificate que iste adresse de e-mail pertine al conto "$2" in {{SITENAME}}.
 
-Pro confirmar que iste conto es realmente tue, e pro activar le functiones
+Pro confirmar que iste conto vermente pertine a te, e pro activar le functionalitate
 de e-mail in {{SITENAME}}, visita iste ligamine in tu navigator:
 
 $3
@@ -3734,7 +3733,7 @@ pro cancellar le confirmation del adresse de e-mail:
 
 $5
 
-Iste codice de confirmation expirara a $4.',
+Iste codice de confirmation expirara le $6 a $7.',
 'confirmemail_invalidated' => 'Confirmation del adresse de e-mail cancellate',
 'invalidateemail' => 'Cancellar confirmation del adresse de e-mail',
 
index 48beff4..f43e4d2 100644 (file)
@@ -32,6 +32,7 @@
  * @author Naval Scene
  * @author Remember the dot
  * @author Rex
+ * @author Rv77ax
  * @author Urhixidur
  * @author לערי ריינהארט
  */
@@ -762,8 +763,7 @@ Administrator yang terkunci menawarkan penjelasan ini: " $3 ".',
 # Login and logout pages
 'logouttext' => "'''Anda telah keluar log dari sistem.'''
 
-Anda dapat terus menggunakan {{SITENAME}} secara anonim, atau Anda dapat <span class='plainlinks'>[$1 masuk log lagi]</span> sebagai pengguna yang sama atau pengguna yang lain.
-Perhatikan bahwa beberapa halaman mungkin masih terus menunjukkan bahwa Anda masih masuk log sampai Anda membersihkan singgahan penjelajah web Anda",
+Ingatlah bahwa beberapa halaman mungkin masih menampilkan anda seperti masih masuk log, sampai Anda membersihkan singgahan penjelajah web Anda.",
 'welcomeuser' => 'Selamat datang,  $1 !',
 'welcomecreation-msg' => 'Akun Anda telah dibuat. Jangan lupa mengatur konfigurasi [[Special:Preferences|preferensi {{SITENAME}}]] Anda.',
 'yourname' => 'Nama pengguna:',
@@ -809,7 +809,7 @@ Perhatikan bahwa beberapa halaman mungkin masih terus menunjukkan bahwa Anda mas
 'createacct-emailoptional' => 'Alamat surel (opsional)',
 'createacct-email-ph' => 'Masukkan alamat surel Anda',
 'createacct-another-email-ph' => 'Masukkan alamat surel',
-'createaccountmail' => 'Gunakan kata sandi acak sementara dan kirimkan ke surel yang tercantum di bawah',
+'createaccountmail' => 'Gunakan kata sandi acak sementara dan kirimkan ke surel yang diinginkan',
 'createacct-realname' => 'Nama asli (opsional)',
 'createaccountreason' => 'Alasan:',
 'createacct-reason' => 'Alasan',
@@ -1578,6 +1578,7 @@ Jika Anda memberikannya, nama asli Anda akan digunakan untuk memberi pengenalan
 'prefs-displayrc' => 'Pilihan tampilan',
 'prefs-displaysearchoptions' => 'Pilihan tampilan',
 'prefs-displaywatchlist' => 'Pilihan tampilan',
+'prefs-tokenwatchlist' => 'Tanda',
 'prefs-diffs' => 'Beda',
 
 # User preference: email validation using jQuery
@@ -1603,11 +1604,11 @@ Jika Anda memberikannya, nama asli Anda akan digunakan untuk memberi pengenalan
 'userrights-no-interwiki' => 'Anda tidak memiliki hak untuk mengubah hak pengguna di wiki yang lain.',
 'userrights-nodatabase' => 'Basis data $1 tidak ada atau bukan lokal.',
 'userrights-nologin' => 'Anda harus [[Special:UserLogin|masuk log]] dengan menggunakan akun pengurus untuk dapat mengubah hak pengguna.',
-'userrights-notallowed' => 'Akun Anda tidak berhak untuk menambahkan atau membuang hak pengguna.',
+'userrights-notallowed' => 'AkunAnda tidak berhak untuk menambahkan atau membuang hak pengguna.',
 'userrights-changeable-col' => 'Kelompok yang dapat Anda ubah',
 'userrights-unchangeable-col' => 'Kelompok yang tidak dapat Anda ubah',
 'userrights-irreversible-marker' => '$1*',
-'userrights-conflict' => 'Konflik hak pengguna! Silakan ubah kembali.',
+'userrights-conflict' => 'Konflik perubahan hak pengguna! Silakan tinjau ulang dan konfirmasi perubahan anda.',
 'userrights-removed-self' => 'Anda berhasil mencabut hak-hak Anda. Anda tidak bisa lagi mengakses halaman ini.',
 
 # Groups
@@ -3230,13 +3231,13 @@ Ini mungkin disebabkan oleh pranala ke situs luar yang termasuk dalam daftar hit
 'pageinfo-length' => 'Panjang halaman (dalam bita)',
 'pageinfo-article-id' => 'ID Halaman',
 'pageinfo-language' => 'Bahasa isi halaman',
-'pageinfo-robot-policy' => 'Status mesin pencari',
-'pageinfo-robot-index' => 'Dapat diindeks',
-'pageinfo-robot-noindex' => 'Tidak dapat diindeks',
+'pageinfo-robot-policy' => 'Pengindeksan oleh robot',
+'pageinfo-robot-index' => 'Diperbolehkan',
+'pageinfo-robot-noindex' => 'Tidak diperbolehkan',
 'pageinfo-views' => 'Jumlah penampilan',
 'pageinfo-watchers' => 'Jumlah pemantau halaman',
 'pageinfo-few-watchers' => 'Kurang dari $1 {{PLURAL:$1|pengunjung}}',
-'pageinfo-redirects-name' => 'Pengalihan ke halaman ini',
+'pageinfo-redirects-name' => 'Jumah pengalihan ke halaman ini',
 'pageinfo-redirects-value' => '$1',
 'pageinfo-subpages-name' => 'Subhalaman halaman ini',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|pengalihan|pengalihan}}; $3 {{PLURAL:$3|non-pengalihan|non-pengalihan}})',
index f05b636..2dafecd 100644 (file)
@@ -161,7 +161,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Monstrar li númere de usatores vigilant',
 'tog-oldsig' => 'Prevision de signature in existentie:',
 'tog-fancysig' => 'Tractar signature quam textu wiki (sin un catenun auto-crate)',
-'tog-showjumplinks' => 'Permisser catenunes de accessebilitá "saltar a"',
 'tog-uselivepreview' => 'Usar prevision in vivi (exige JavaScript) (experimental)',
 'tog-forceeditsummary' => 'Suggester me quande intrar un redaction che summarium in blanc',
 'tog-watchlisthideown' => 'Ocultar mi redactiones del liste de págines vigilat',
index 0873601..2c2a1c7 100644 (file)
@@ -104,7 +104,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Zi onuogụgụ ndi na banife nke ne lé',
 'tog-oldsig' => 'Létu ntakiri ndẹlu ejị a ma gí:',
 'tog-fancysig' => 'Mesò ka nkábi nwéré édé wiki (nké énwéghị jikodo nke nọr na onwe)',
-'tog-showjumplinks' => 'Kwé ka njikodo "mani énū" I mé',
 'tog-uselivepreview' => 'Jí nlé ntàkírí dí ndụ (Í gí nwé JavaScript) (mmètú kanyí lé)',
 'tog-forceeditsummary' => 'Gwam mgbè okwu nsem màkà orüm rürü a díghị',
 'tog-watchlisthideown' => 'Zonari orüm fwuör ndetu ihem ne lé',
index c92c57d..5a0f83e 100644 (file)
@@ -48,7 +48,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Ший теркама дагарленгах оагӀув чулаьца бола дакъалаьцархой таьрах хьахьокха',
 'tog-oldsig' => 'Дола кулгайоазув:',
 'tog-fancysig' => 'Ший кулга яздара массахоамбаккхам (ший лоӀаме Ӏинка йоацаш)',
-'tog-showjumplinks' => '"Дехьадала" яха новкъостала Ӏинк хьахьокха',
 'tog-uselivepreview' => 'Сиха бӀарахьажар (JavaScript) (Экспериментально)',
 'tog-forceeditsummary' => 'Хоам бе, хувцамий лоацам белгал даь деце',
 'tog-watchlisthideown' => 'Са хувцамаш теркама дагарчера къайладаккха',
index f08bc57..620a434 100644 (file)
@@ -743,7 +743,7 @@ Non dimenticare di personalizzare le [[Special:Preferences|preferenze di {{SITEN
 'logout' => 'Esci',
 'userlogout' => 'esci',
 'notloggedin' => 'Accesso non effettuato',
-'userlogin-noaccount' => 'Non hai un account?',
+'userlogin-noaccount' => 'Non hai ancora effettuato la registrazione?',
 'userlogin-joinproject' => 'Registrati su {{SITENAME}}',
 'nologin' => 'Non hai ancora un accesso? $1.',
 'nologinlink' => 'Registrati',
@@ -755,12 +755,12 @@ Non dimenticare di personalizzare le [[Special:Preferences|preferenze di {{SITEN
 'helplogin-url' => 'Help:Login',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Aiuto con il login]]',
 'createacct-join' => 'Inserisci i tuoi dati qui sotto.',
-'createacct-another-join' => 'Inserisci le informazioni per il nuovo account qui sotto.',
+'createacct-another-join' => 'Inserisci le informazioni per la registrazione qui sotto.',
 'createacct-emailrequired' => 'Indirizzo email',
 'createacct-emailoptional' => 'Indirizzo di posta elettronica (opzionale)',
 'createacct-email-ph' => 'Inserisci il tuo indirizzo email',
-'createacct-another-email-ph' => "Inserisci l'indirizzo email",
-'createaccountmail' => "Usa una password casuale temporanea e inviala all'indirizzo e-mail specificato sotto",
+'createacct-another-email-ph' => "Inserisci l'indirizzo di posta elettronica",
+'createaccountmail' => "Usa una password casuale temporanea e inviala all'indirizzo di posta elettronica specificato",
 'createacct-realname' => 'Nome reale (opzionale)',
 'createaccountreason' => 'Motivo:',
 'createacct-reason' => 'Motivo',
@@ -768,8 +768,8 @@ Non dimenticare di personalizzare le [[Special:Preferences|preferenze di {{SITEN
 'createacct-captcha' => 'Controllo di sicurezza',
 'createacct-imgcaptcha-ph' => 'Inserisci il testo che vedi sopra',
 'createacct-submit' => 'Crea la tua utenza',
-'createacct-another-submit' => 'Crea un altro account',
-'createacct-benefit-heading' => '{{SITENAME}} è fatta da persone come te.',
+'createacct-another-submit' => "Crea un'altra utenza",
+'createacct-benefit-heading' => '{{SITENAME}} cresce grazie a persone come te.',
 'createacct-benefit-body1' => '{{PLURAL:$1|modifica|modifiche}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|pagina|pagine}}',
 'createacct-benefit-body3' => '{{PLURAL:$1|contributore recente|contributori recenti}}',
@@ -812,8 +812,8 @@ Per abilitare l'invio di messaggi e-mail per questo accesso è necessario seguir
 'throttled-mailpassword' => 'Una email di reimpostazione della password è già stata inviata da meno di {{PLURAL:$1|1 ora|$1 ore}}.
 Per prevenire abusi, la funzione di reimpostazione della password può essere usata solo una volta ogni {{PLURAL:$1|ora|$1 ore}}.',
 'mailerror' => "Errore nell'invio del messaggio: $1",
-'acct_creation_throttle_hit' => "I visitatori del sito che usano il tuo indirizzo IP hanno creato {{PLURAL:$1|1 account|$1 account}} nell'ultimo giorno, che è il massimo consentito in questo periodo di tempo.
-Perciò, gli utenti che usano questo indirizzo IP non possono creare altri account per il momento.",
+'acct_creation_throttle_hit' => "{{PLURAL:$1|1 registrazione è già stata effettuata|$1 registrazioni sono già state effettuate}} da qualcuno con il tuo stesso indirizzo IP nell'ultimo giorno: è il massimo consentito in questo periodo di tempo.
+Perciò, gli utenti che usano questo indirizzo IP non possono registrarsi per il momento.",
 'emailauthenticated' => "L'indirizzo email è stato confermato il $2 alle $3.",
 'emailnotauthenticated' => "L'indirizzo di posta elettronica non è stato ancora confermato.
 Non verranno inviati messaggi email per le funzioni elencate di seguito.",
@@ -872,7 +872,7 @@ La password potrebbe essere stata già cambiata, oppure potrebbe essere stata ri
 'passwordreset-capture' => 'Visualizzare il contenuto del messaggio e-mail?',
 'passwordreset-capture-help' => "Se si seleziona questa casella, l'indirizzo e-mail (con la password temporanea), verrà mostrato a voi, oltre ad essere inviato all'utente.",
 'passwordreset-email' => 'Indirizzo e-mail:',
-'passwordreset-emailtitle' => 'Dettagli account su {{SITENAME}}',
+'passwordreset-emailtitle' => "Dettagli dell'utente su {{SITENAME}}",
 'passwordreset-emailtext-ip' => "Qualcuno (probabilmente tu, con indirizzo IP $1) ha richiesto l'invio di una nuova password per l'accesso a {{SITENAME}} ($4). {{PLURAL:$3|L'utente associato|Gli utenti associati}} a questo indirizzo email sono:
 
 $2
@@ -909,9 +909,9 @@ Password temporanea: $2',
 
 # Special:ResetTokens
 'resettokens' => 'Reset token',
-'resettokens-text' => "È possibile reimpostare i token che permettono l'accesso a determinati dati privati associati al tuo account qui.
+'resettokens-text' => "Qui puoi reimpostare le chiavi che permettono l'accesso a determinati dati privati associati alla tua utenza.
 
-Dovresti farlo se li hai accidentalmente condivisi con qualcuno o se il tuo account è stato compromesso.",
+Dovresti farlo se le hai accidentalmente condivise con qualcuno o se la tua utenza è stato compromessa.",
 'resettokens-no-tokens' => 'Non ci sono token da reimpostare.',
 'resettokens-legend' => 'Reset token',
 'resettokens-tokens' => 'Token:',
@@ -999,7 +999,7 @@ Potrebbe essere stata spostata o eliminata mentre si stava visionando la pagina.
 'accmailtitle' => 'Password inviata.',
 'accmailtext' => "Una password generata casualmente per [[User talk:$1|$1]] è stata inviata a $2.
 
-La password per questo nuovo account può essere modificata all'accesso nella pagina per ''[[Special:ChangePassword|cambiare la password]]''.",
+Questa password può essere modificata nella pagina per ''[[Special:ChangePassword|cambiare la password]]'' subito dopo l'accesso.",
 'newarticle' => '(Nuovo)',
 'newarticletext' => "Il collegamento appena seguito corrisponde ad una pagina non ancora esistente.
 Se vuoi creare la pagina ora, basta cominciare a scrivere il testo nella casella qui sotto (vedi la [[{{MediaWiki:Helppage}}|pagina di aiuto]] per maggiori informazioni).
@@ -1154,7 +1154,7 @@ Controlla le differenze mostrate sotto fra le due versioni per essere certo che
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Impossibile registrare un utente',
-'cantcreateaccount-text' => "La creazione di nuovi account a partire da questo indirizzo IP ('''$1''') è stata bloccata da [[User:$3|$3]].
+'cantcreateaccount-text' => "La registrazione è stata bloccata da [[User:$3|$3]] per questo indirizzo IP ('''$1''').
 
 La motivazione del blocco fornita da $3 è la seguente: ''$2''",
 
@@ -1532,7 +1532,7 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'userrights-no-interwiki' => 'Non si dispone dei permessi necessari per modificare i diritti degli utenti su altri siti.',
 'userrights-nodatabase' => 'Il database $1 non esiste o non è un database locale.',
 'userrights-nologin' => "Per assegnare diritti agli utenti è necessario [[Special:UserLogin|effettuare l'accesso]] come amministratore.",
-'userrights-notallowed' => "Il tuo account non dispone dell'autorizzazione per aggiungere o rimuovere i permessi utente.",
+'userrights-notallowed' => "Non disponi dell'autorizzazione per aggiungere o rimuovere i permessi utente.",
 'userrights-changeable-col' => 'Gruppi modificabili',
 'userrights-unchangeable-col' => 'Gruppi non modificabili',
 'userrights-conflict' => 'Conflitto di diritti utente! Applica nuovamente le tue modifiche.',
@@ -1567,7 +1567,7 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'right-edit' => 'Modifica pagine',
 'right-createpage' => 'Crea pagine (escluse le pagine di discussione)',
 'right-createtalk' => 'Crea pagine di discussione',
-'right-createaccount' => 'Crea nuovi account utente',
+'right-createaccount' => 'Crea nuove utenze',
 'right-minoredit' => 'Segna le modifiche come minori',
 'right-move' => 'Sposta le pagine',
 'right-move-subpages' => 'Sposta le pagine insieme alle relative sottopagine',
@@ -1645,7 +1645,7 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'action-edit' => 'modificare questa pagina',
 'action-createpage' => 'creare pagine',
 'action-createtalk' => 'creare pagine di discussione',
-'action-createaccount' => 'creare questo account utente',
+'action-createaccount' => 'effettuare questa registrazione',
 'action-minoredit' => 'segnare questa modifica come minore',
 'action-move' => 'spostare questa pagina',
 'action-move-subpages' => 'spostare questa pagina e le relative sottopagine',
@@ -2670,10 +2670,10 @@ Indicare il motivo specifico per il quale si procede al blocco (per esempio, cit
 ** Collegamenti promozionali a siti esterni
 ** Inserimento di contenuti privi di senso
 ** Comportamenti intimidatori o molestie
-** Uso indebito di più account
+** Uso indebito di utenze multiple
 ** Nome utente non consono',
 'ipb-hardblock' => 'Impedisci agli utenti registrati di contribuire da questo indirizzo IP',
-'ipbcreateaccount' => 'Impedisci la creazione di altri account',
+'ipbcreateaccount' => 'Impedisci la registrazione',
 'ipbemailban' => "Impedisci all'utente l'invio di e-mail",
 'ipbenableautoblock' => "Blocca automaticamente l'ultimo indirizzo IP usato dall'utente e i successivi con cui vengono tentate modifiche",
 'ipbsubmit' => "Blocca l'utente",
@@ -2708,7 +2708,7 @@ Sei sicuro di voler continuare?',
 'blocklist' => 'Utenti bloccati',
 'ipblocklist' => 'Utenti bloccati',
 'ipblocklist-legend' => 'Trova un utente bloccato',
-'blocklist-userblocks' => 'Nascondi i blocchi degli account',
+'blocklist-userblocks' => 'Nascondi i blocchi degli utenti registrati',
 'blocklist-tempblocks' => 'Nascondi i blocchi temporanei',
 'blocklist-addressblocks' => 'Nascondi i blocchi di un solo IP',
 'blocklist-rangeblocks' => 'Nascondi i blocchi di range',
@@ -2725,7 +2725,7 @@ Sei sicuro di voler continuare?',
 'expiringblock' => 'scade il $1 alle $2',
 'anononlyblock' => 'solo anonimi',
 'noautoblockblock' => 'blocco automatico disabilitato',
-'createaccountblock' => 'creazione account bloccata',
+'createaccountblock' => 'registrazione bloccata',
 'emailblock' => 'e-mail bloccate',
 'blocklist-nousertalk' => 'non può modificare la propria pagina di discussione',
 'ipblocklist-empty' => "L'elenco dei blocchi è vuoto.",
@@ -2747,7 +2747,7 @@ Gli indirizzi IP bloccati automaticamente non sono elencati.
 Consultare l'[[Special:BlockList|elenco dei blocchi]] per l'elenco dei bandi o blocchi attualmente operativi.",
 'unblocklogentry' => 'ha sbloccato $1',
 'block-log-flags-anononly' => 'solo utenti anonimi',
-'block-log-flags-nocreate' => 'creazione account bloccata',
+'block-log-flags-nocreate' => 'registrazione bloccata',
 'block-log-flags-noautoblock' => 'blocco automatico disattivato',
 'block-log-flags-noemail' => 'e-mail bloccate',
 'block-log-flags-nousertalk' => 'non può modificare la propria pagina di discussione',
index 1e3306d..be56d12 100644 (file)
@@ -797,8 +797,7 @@ $2',
 # Login and logout pages
 'logouttext' => "'''ログアウトしました。'''
 
-このまま匿名で{{SITENAME}}の使用を続行できます。同じまたは別の利用者として<span class='plainlinks'>[$1 もう一度ログイン]</span>することもできます。
-なお、ページによっては、ブラウザーのキャッシュをクリアするまで、ログインしているかのように表示され続ける場合があるためご注意ください。",
+ページによっては、ブラウザーのキャッシュをクリアするまで、ログインしているかのように表示され続ける場合があるためご注意ください。",
 'welcomeuser' => 'ようこそ、$1さん!',
 'welcomecreation-msg' => 'アカウントが作成されました。
 [[Special:Preferences|{{SITENAME}}の個人設定]]の変更も忘れないようにしてください。',
@@ -845,7 +844,7 @@ $2',
 'createacct-emailoptional' => 'メールアドレス (省略可能)',
 'createacct-email-ph' => 'メールアドレスを入力',
 'createacct-another-email-ph' => 'メールアドレスを入力',
-'createaccountmail' => '一時的でランダムなパスワードを生成して、以下に指定したメールアドレスに送信する',
+'createaccountmail' => '一時的でランダムなパスワードを生成して、指定したメールアドレスに送信する',
 'createacct-realname' => '本名 (省略可能)',
 'createaccountreason' => '理由:',
 'createacct-reason' => '理由',
@@ -1681,11 +1680,11 @@ $1 {{PLURAL:$1|文字}}以下である必要があります。',
 'userrights-no-interwiki' => '他ウィキ上における利用者権限の編集権限はありません。',
 'userrights-nodatabase' => 'データベース$1は存在しないか、ローカル上にありません。',
 'userrights-nologin' => '利用者権限を付与するには、管理者アカウントで[[Special:UserLogin|ログイン]]する必要があります。',
-'userrights-notallowed' => 'ã\81\82ã\81ªã\81\9fã\81®ã\82¢ã\82«ã\82¦ã\83³ã\83\88ã\81«ã\81¯å\88©ç\94¨è\80\85権é\99\90ã\82\92追å\8a ã\81¾ã\81\9fã\81¯除去する権限がありません。',
+'userrights-notallowed' => 'ã\81\82ã\81ªã\81\9fã\81«ã\81¯å\88©ç\94¨è\80\85権é\99\90ã\82\92追å\8a /除去する権限がありません。',
 'userrights-changeable-col' => '変更できるグループ',
 'userrights-unchangeable-col' => '変更できないグループ',
 'userrights-irreversible-marker' => '$1*',
-'userrights-conflict' => 'å\88©ç\94¨è\80\85権é\99\90ã\81«ç«¶å\90\88ã\81\8cã\81\82ã\82\8aã\81¾ã\81\99! å¤\89æ\9b´å\86\85容ã\82\92ã\82\82ã\81\86ä¸\80度é\81©ç\94¨してください。',
+'userrights-conflict' => 'å\88©ç\94¨è\80\85権é\99\90ã\81®å¤\89æ\9b´ã\81\8c競å\90\88ã\81\97ã\81¦ã\81\84ã\81¾ã\81\99! å¤\89æ\9b´å\86\85容ã\82\92確èª\8dしてください。',
 'userrights-removed-self' => 'あなた自身の権限を除去しました。そのため、このページにはもうアクセスできません。',
 
 # Groups
@@ -2171,7 +2170,7 @@ URLが正しいものであり、ウェブサイトが稼働していること
 'filehist-thumbtext' => '$1時点における版のサムネイル',
 'filehist-nothumb' => 'サムネイルなし',
 'filehist-user' => '利用者',
-'filehist-dimensions' => '解像度',
+'filehist-dimensions' => '寸法',
 'filehist-filesize' => 'ファイルサイズ',
 'filehist-comment' => 'コメント',
 'filehist-missing' => 'ファイルがありません',
@@ -3361,15 +3360,15 @@ $2',
 'pageinfo-length' => 'ページの長さ (バイト単位)',
 'pageinfo-article-id' => 'ページ ID',
 'pageinfo-language' => 'ページ本文の言語',
-'pageinfo-robot-policy' => '検索エンジンの状態',
-'pageinfo-robot-index' => '検索エンジンに収集される',
-'pageinfo-robot-noindex' => '検索エンジンに収集されない',
+'pageinfo-robot-policy' => 'ロボットによるインデックス化',
+'pageinfo-robot-index' => '許可',
+'pageinfo-robot-noindex' => '不許可',
 'pageinfo-views' => '閲覧回数',
 'pageinfo-watchers' => 'ページをウォッチリストに入れている人数',
 'pageinfo-few-watchers' => 'ウォッチしている利用者 $1 {{PLURAL:$1|人未満}}',
-'pageinfo-redirects-name' => 'このページへのリダイレクト数',
+'pageinfo-redirects-name' => 'このページへのリダイレクト数',
 'pageinfo-redirects-value' => '$1',
-'pageinfo-subpages-name' => 'このページの下位ページ数',
+'pageinfo-subpages-name' => 'このページの下位ページ数',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|件のリダイレクト}}、$3 {{PLURAL:$3|件の非リダイレクト}})',
 'pageinfo-firstuser' => 'ページの作成者',
 'pageinfo-firsttime' => 'ページの作成日時',
@@ -4483,4 +4482,19 @@ MediaWikiは、有用であることを期待して配布されていますが
 # Image rotation
 'rotate-comment' => '画像を時計回りに $1 {{PLURAL:$1|度}}回転',
 
+# Limit report
+'limitreport-title' => 'パーサーのプロファイリング データ:',
+'limitreport-cputime' => 'CPU 時間',
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|秒}}',
+'limitreport-walltime' => '実時間',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|秒}}',
+'limitreport-ppvisitednodes' => 'プリプロセッサが訪問したノード数',
+'limitreport-ppgeneratednodes' => 'プリプロセッサが生成したノード数',
+'limitreport-postexpandincludesize' => '参照読み込みの展開後のサイズ',
+'limitreport-postexpandincludesize-value' => '$1/$2 バイト',
+'limitreport-templateargumentsize' => 'テンプレート引数のサイズ',
+'limitreport-templateargumentsize-value' => '$1/$2 バイト',
+'limitreport-expansiondepth' => '展開の最大深さ',
+'limitreport-expensivefunctioncount' => '高負荷パーサー関数の数',
+
 );
index 8ec6c93..dd461d4 100644 (file)
@@ -43,7 +43,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Shuo di nomba a wachin yuuza',
 'tog-oldsig' => 'Priivyuu a egzisin signicha:',
 'tog-fancysig' => 'Chriit signicha az wikitex (widoutn aatamatik lingk)',
-'tog-showjumplinks' => 'Eniebl "jomp tu" aksesibiliti lingk',
 'tog-uselivepreview' => 'Yuuz laiv priivyuu (rikwaya JavaScript) (experimental)',
 'tog-forceeditsummary' => 'Pramp mi wen entarin blangk edit somari',
 'tog-watchlisthideown' => 'Aid mi editdem frahn di wachlis',
index 091d809..f81958c 100644 (file)
@@ -180,7 +180,6 @@ $messages = array(
 'tog-enotifrevealaddr' => "Eskertiw xatlarında e-mail adresimdi ko'rset",
 'tog-shownumberswatching' => "Baqlag'an paydalanıwshılar sanın ko'rset",
 'tog-fancysig' => 'İmzalardı wikitext dep qabıl etiw (avtomat siltewsiz)',
-'tog-showjumplinks' => "«O'tip ketiw» siltewlerin qos",
 'tog-uselivepreview' => "Janlı ko'rip shıg'ıwdı qollan (JavaScript) (Sınawda)",
 'tog-forceeditsummary' => "O'zgertiw juwmag'ı bos qalg'anda mag'an eskert",
 'tog-watchlisthideown' => "Baqlaw dizimindegi menin' o'zgertiwlerimdi jasır",
index 89755d5..cde4437 100644 (file)
@@ -84,7 +84,6 @@ $messages = array(
 'tog-shownumberswatching' => 'НапэкӀуэцӀыр я тхылъ кӀэлъыплъыгъуэхэм хэзгъэхьахэм я бжыгъэр гъэлъэгъуэн',
 'tog-oldsig' => 'ӀэпэщӀэдз щыӀэм и япэ-еплъ',
 'tog-fancysig' => 'Викитхылъ ӀэпэщӀэдз Ӏыгъын (автоматикэ техьэпӀэншу)',
-'tog-showjumplinks' => 'ДэӀэпыкъуэгъу техьэпӀэ «техьэн» хэгъэнэн',
 'tog-uselivepreview' => 'Япэ-еплъ щӀэхыр къэгъэсэбэпын (JavaScript хуэныкъуэ) (эксперементалу)',
 'tog-forceeditsummary' => 'КъэӀохун, гъэтэрэзыгъуэм и тепсэлъыхьыпӀэм зыри имытхамэ',
 'tog-watchlisthideown' => 'КӀэлъыплъыгъуэ тхылъым гъэпшкIуэн си гъэтэрэзыгъуэхэр',
index 6a1d29d..88cc443 100644 (file)
@@ -44,7 +44,6 @@ $messages = array(
 'tog-shownumberswatching' => 'لوڑاک ممبرانن تعدادان پشاؤے',
 'tog-oldsig' => 'موجودہ دستخطو نمائش:',
 'tog-fancysig' => '(سادہ دسخط بلا خودکار ربط)',
-'tog-showjumplinks' => 'ھیہ ووشکی څروٹھاوے',
 'tog-uselivepreview' => 'براہِ راست نمائش استعمال کورے (JavaScript ضرورت بوی)',
 'tog-forceeditsummary' => 'کیاوتکی آوا ترمیمی خلاصو خالی پیڅھیتام تھے متے لو دیت',
 'tog-watchlisthideown' => 'زیرِنظرفہرستہ مہ ترمیماتن کھوشاوے',
index a9c1d7d..3b63f01 100644 (file)
@@ -82,7 +82,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Amorê karberunê şêrkerdoğu bıasne',
 'tog-oldsig' => 'İmza mewcude:',
 'tog-fancysig' => 'İmza rê mamelê wikimeqaley bıke (bê girewo otomatik)',
-'tog-showjumplinks' => 'Girê "so"y feal ke',
 'tog-uselivepreview' => 'Verqayto cande bıgurene (JavaScript) (hona cerrebnayene dero)',
 'tog-forceeditsummary' => 'Mı ke xulasa kerde cı vira, hay be mı ser de',
 'tog-watchlisthideown' => 'Vurnayisunê mı lista mına şêrkerdişi de wedare',
index be675cb..eecec65 100644 (file)
@@ -420,7 +420,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'ە-پوشتامنىڭ مەكەنجايىن ەسكەرتۋ حاتتاردا اش',
 'tog-shownumberswatching' => 'باقىلاپ تۇرعان قاتىسۋشىلاردىڭ سانىن كورسەت',
 'tog-fancysig' => 'قام قولتاڭبا (وزدىكتىك سىلتەمەسىز)',
-'tog-showjumplinks' => '«ٴوتىپ كەتۋ» قاتىناۋ سىلتەمەلەرىن قوس',
 'tog-uselivepreview' => 'تۋرا قاراپ شىعۋدى قولدانۋ (JavaScript) (سىناقتاما)',
 'tog-forceeditsummary' => 'وڭدەمەنىڭ قىسقاشا مازمۇنداماسى بوس قالعاندا ماعان ەسكەرت',
 'tog-watchlisthideown' => 'وڭدەمەلەرىمدى باقىلاۋ تىزىمنەن جاسىر',
index 92403d8..a8a6553 100644 (file)
@@ -383,7 +383,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'E-poştamnıñ mekenjaýın eskertw xattarda aş',
 'tog-shownumberswatching' => 'Baqılap turğan qatıswşılardıñ sanın körset',
 'tog-fancysig' => 'Qam qoltañba (özdiktik siltemesiz)',
-'tog-showjumplinks' => '«Ötip ketw» qatınaw siltemelerin qos',
 'tog-uselivepreview' => 'Twra qarap şığwdı qoldanw (JavaScript) (Sınaqtama)',
 'tog-forceeditsummary' => 'Öñdemeniñ qısqaşa mazmundaması bos qalğanda mağan eskert',
 'tog-watchlisthideown' => 'Öñdemelerimdi baqılaw tizimnen jasır',
index 6fcac53..c356f18 100644 (file)
@@ -775,10 +775,9 @@ $2',
 'virus-unknownscanner' => '알려지지 않은 백신:',
 
 # Login and logout pages
-'logouttext' => "'''{{SITENAME}}에서 로그아웃했습니다.'''
+'logouttext' => "'''지금 로그아웃했습니다.'''
 
-이대로 이름 없이 {{SITENAME}}을(를) 이용하거나, 방금 사용했던 계정이나 다른 계정으로 다시 <span class='plainlinks'>[$1 로그인]</span>해서 이용할 수 있습니다.
-웹 브라우저의 캐시를 지우지 않으면 몇몇 문서에서 로그인이 되어 있는 것처럼 보일 수 있다는 점을 유의해 주세요.",
+브라우저 캐시를 지우지 않으면 일부 문서에서 로그인이 되어 있는 것처럼 보일 수 있다는 점을 참고하세요.",
 'welcomeuser' => '$1, 환영합니다!',
 'welcomecreation-msg' => '계정이 만들어졌습니다.
 [[Special:Preferences|{{SITENAME}} 사용자 환경 설정]]을 바꿀 수 있습니다.',
@@ -825,7 +824,7 @@ $2',
 'createacct-emailoptional' => '이메일 주소 (선택 사항)',
 'createacct-email-ph' => '이메일 주소를 입력하세요',
 'createacct-another-email-ph' => '이메일 주소를 입력하세요',
-'createaccountmail' => 'ì\9e\84ì\8b\9c ì\9e\84ì\9d\98 ë¹\84ë°\80ë²\88í\98¸ë¥¼ ì\95\84ë\9e\98ì\97\90 ì§\80ì \95í\95\9c ì\9d´ë©\94ì\9d¼ë¡\9c ë³´ë\82´ê¸°',
+'createaccountmail' => '임시 임의 비밀번호를 이메일로 보내기',
 'createacct-realname' => '실명 (선택 사항)',
 'createaccountreason' => '이유:',
 'createacct-reason' => '이유',
@@ -1649,10 +1648,10 @@ HTML 태그를 확인하세요.',
 'userrights-no-interwiki' => '다른 위키의 사용자 권한을 바꿀 권한이 없습니다.',
 'userrights-nodatabase' => '데이터베이스 $1이 존재하지 않거나 로컬에 있지 않습니다.',
 'userrights-nologin' => '사용자의 권한을 바꾸기 위해서는 반드시 관리자 계정으로 [[Special:UserLogin|로그인]]해야 합니다.',
-'userrights-notallowed' => 'ë\8b¤ë¥¸ ì\82¬ì\9a©ì\9e\90ì\9d\98 ê¶\8cí\95\9cì\9d\84 ì¡°ì \95할 권한이 없습니다.',
+'userrights-notallowed' => 'ë\8b¤ë¥¸ ì\82¬ì\9a©ì\9e\90ì\9d\98 ê¶\8cí\95\9cì\9d\84 ì\94ê°\80í\95\98ê±°ë\82\98 ì \9cê±°할 권한이 없습니다.',
 'userrights-changeable-col' => '바꿀 수 있는 권한',
 'userrights-unchangeable-col' => '바꿀 수 없는 권한',
-'userrights-conflict' => '사용자 권한에 충돌이 있습니다! 바뀜을 다시 적용하세요.',
+'userrights-conflict' => '사용자 권한 바꾸기가 충돌합니다! 바뀜을 검토하고 확인하세요.',
 'userrights-removed-self' => '자신의 권한을 성공적으로 제거했습니다. 따라서 더 이상 이 문서에 접근할 수 없습니다.',
 
 # Groups
@@ -2335,7 +2334,7 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 'protectedtitlesempty' => '해당 조건에 맞는 만들기 금지 표제어가 없습니다.',
 'listusers' => '사용자 목록',
 'listusers-editsonly' => '기여가 있는 사용자만 보기',
-'listusers-creationsort' => '계정 등록일 순으로 정렬',
+'listusers-creationsort' => '계정을 만든 날짜 순으로 정렬',
 'usereditcount' => '{{PLURAL:$1|편집}} $1회',
 'usercreated' => '$1 $2에 계정 {{GENDER:$3|만들어짐}}',
 'newpages' => '새 문서 목록',
@@ -3318,13 +3317,13 @@ $2',
 'pageinfo-length' => '문서 길이 (바이트)',
 'pageinfo-article-id' => '문서 ID',
 'pageinfo-language' => '문서 내용 언어',
-'pageinfo-robot-policy' => '검색 엔진 통계',
-'pageinfo-robot-index' => '색인 가능',
-'pageinfo-robot-noindex' => '색인 불가능',
+'pageinfo-robot-policy' => '로봇에 의한 색인',
+'pageinfo-robot-index' => '허용됨',
+'pageinfo-robot-noindex' => '불허됨',
 'pageinfo-views' => '읽은 수',
 'pageinfo-watchers' => '문서를 주시하는 사용자 수',
 'pageinfo-few-watchers' => '{{PLURAL:$1|주시하는 사용자}} $1명 미만',
-'pageinfo-redirects-name' => '이 문서로 넘겨주기',
+'pageinfo-redirects-name' => '이 문서의 넘겨주기 수',
 'pageinfo-redirects-value' => '$1개',
 'pageinfo-subpages-name' => '이 문서의 하위 문서',
 'pageinfo-subpages-value' => '$1개 ({{PLURAL:$2|넘겨주기}} $2개, {{PLURAL:$3|넘겨주기 아님}} $3개)',
@@ -4231,7 +4230,7 @@ $5
 'logentry-newusers-newusers' => '$1 사용자 계정을 {{GENDER:$2|만들었습니다}}',
 'logentry-newusers-create' => '$1 사용자 계정을 {{GENDER:$2|만들었습니다}}',
 'logentry-newusers-create2' => '$1 사용자가 $3 사용자 계정을 {{GENDER:$2|만들었습니다}}',
-'logentry-newusers-byemail' => '$3 ì\82¬ì\9a©ì\9e\90 ê³\84ì \95ì\9d´ $1ì\97\90 {{GENDER:$2|ë§\8cë\93¤ì\96´ì¡\8c고}} 비밀번호는 이메일로 보냈습니다',
+'logentry-newusers-byemail' => '$3 ì\82¬ì\9a©ì\9e\90 ê³\84ì \95ì\9d\84 $1ë\8b\98ì\9d´ {{GENDER:$2|ë§\8cë\93¤ì\97\88고}} 비밀번호는 이메일로 보냈습니다',
 'logentry-newusers-autocreate' => '$1 사용자 계정을 자동적으로 {{GENDER:$2|만들었습니다}}',
 'logentry-rights-rights' => '$1 사용자가 $3 사용자의 권한을 $4에서 $5으로 {{GENDER:$2|바꾸었습니다}}',
 'logentry-rights-rights-legacy' => '$1 사용자가 $3 사용자의 권한을 {{GENDER:$2|바꾸었습니다}}',
@@ -4314,4 +4313,17 @@ $5
 # Image rotation
 'rotate-comment' => '그림을 시계 방향으로 $1{{PLURAL:$1|도}}로 회전함',
 
+# Limit report
+'limitreport-title' => '파서 프로파일링 데이터:',
+'limitreport-cputime' => 'CPU 시간 사용',
+'limitreport-cputime-value' => '$1{{PLURAL:$1|초}}',
+'limitreport-walltime' => '실제 시간 사용',
+'limitreport-walltime-value' => '$1{{PLURAL:$1|초}}',
+'limitreport-ppvisitednodes' => '전처리기가 방문한 노드 수',
+'limitreport-ppgeneratednodes' => '전처리기가 생성한 노드 수',
+'limitreport-postexpandincludesize-value' => '$1/$2 바이트',
+'limitreport-templateargumentsize-value' => '$1/$2 바이트',
+'limitreport-expansiondepth' => '최대 전개 깊이',
+'limitreport-expensivefunctioncount' => '부하 높은 파서 함수 수',
+
 );
index 8bd3f35..d31ffd0 100644 (file)
@@ -966,6 +966,7 @@ Ny dhiskwedhir agas trigva ebost pan gestaffo devnydhyoryon erel dhywgh.',
 'recentchanges' => 'Chanjyow a-dhiwedhes',
 'recentchanges-legend' => 'Etholyow an chanjyow a-dhiwedhes',
 'recentchanges-summary' => "Y hyllir helerhi an chanjyow diwettha gwrys dhe'n wiki war an folen-ma.",
+'recentchanges-noresult' => 'Nyns eus chanj vyth dres an termyn res a omdhesedh orth an etholyow-ma.',
 'recentchanges-feed-description' => "Y hyllir helerhi an chanjyow diwettha gwrys dhe'n wiki y'n feed-ma.",
 'recentchanges-label-newpage' => 'Y feu gwruthys folen nowyth gans an chanj-ma',
 'recentchanges-label-minor' => 'Chanj byhan yw hemma',
@@ -1172,13 +1173,17 @@ Diskwedhys a-woles yw an deskrifans war hy [$2 folen dheskrifans] ena.',
 'watchthispage' => 'Golya an folen-ma',
 'unwatch' => 'Diswolya',
 'watchlist-details' => 'Yma {{PLURAL:$1|$1 folen}} war agas rol wolya, marnas folennow keskows.',
-'wlshowlast' => 'Diskwedhes an $1 our $2 dydh $3 diwettha',
+'wlheader-showupdated' => "Yn '''tew''' y tiskwedhir folennow re beu chanjyes a-dhia agas vysytyans diwettha.",
+'wlnote' => "A-woles yma an {{PLURAL:$1|chanj diwettha|'''$1''' chanj diwettha}} y'n {{PLURAL:$2|our|'''$2''' our}} diwettha, a-dhia $3, $4.",
+'wlshowlast' => 'Diskwedhes an $1 our diwettha, an $2 dydh diwettha, po $3',
 'watchlist-options' => 'Etholyow an rol wolya',
 
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'Ow kolya...',
 'unwatching' => 'Ow tisgolya...',
 
+'enotif_reset' => 'Merkya pub folen avel vysytyes',
+
 # Delete
 'deletepage' => 'Dilea an folen',
 'confirm' => 'Afydhya',
@@ -1442,7 +1447,7 @@ Hwi a yll gweles hy fennfenten.',
 'edit-externally' => 'Chanjya an restren-ma dre dowlen a-ves',
 
 # 'all' in various places, this might be different for inflected languages
-'watchlistall2' => 'oll',
+'watchlistall2' => 'puptra',
 'namespacesall' => 'oll',
 'monthsall' => 'oll',
 'limitall' => 'oll',
index dedf480..a8c406b 100644 (file)
@@ -15,6 +15,7 @@
  * @author Growingup
  * @author Kgbek
  * @author Muratjumashev
+ * @author Tynchtyk Chorotegin
  * @author Ztimur
  * @author Викиней
  */
@@ -141,6 +142,8 @@ $messages = array(
 'nov' => 'Ноя',
 'dec' => 'Дек',
 'january-date' => 'Январь (Үчтүн айы) $1',
+'february-date' => '$1-феврал',
+'march-date' => '$1-март',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Категория|Категориялар}}',
@@ -1604,7 +1607,7 @@ To include a file in a page, use a link in one of the following forms:
 'exif-compression-1' => 'Кыстырылбаган',
 
 'exif-copyrighted-true' => 'Автордук укук менен корголгон',
-'exif-copyrighted-false' => 'Ð\9aоомдÑ\83к Ð¼Ò¯Ð»Ðº',
+'exif-copyrighted-false' => 'Ð\90вÑ\82оÑ\80дÑ\83к Ñ\83кÑ\83к Ð°Ð±Ð°Ð»Ñ\8b ÐºÓ©Ñ\80Ñ\81Ó©Ñ\82үлгөн Ñ\8dмеÑ\81',
 
 'exif-unknowndate' => 'Белгисиз дата',
 
index 92bb837..bac6148 100644 (file)
@@ -498,7 +498,6 @@ Ratio data est "\'\'$2\'\'".',
 # Login and logout pages
 'logouttext' => "'''Conventum tuum conclusum est.'''
 
-Ignote continues {{grammar:ablative|{{SITENAME}}}} uti, aut conventum novum vel sub eodem vel novo nomine <span class='plainlinks'>[$1 aperias]</span>.
 Nota bene paginas fortasse videantur quasi tuum conventum esset apertum, priusquam navigatrum purgaveris.",
 'welcomeuser' => 'Salve, $1!',
 'welcomecreation-msg' => 'Ratio tua creata est.
index a37941c..7b1c3d1 100644 (file)
@@ -211,7 +211,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Àmostrar el kadhar de usadores que están akavidando las hojas',
 'tog-oldsig' => 'La firma presente',
 'tog-fancysig' => 'Tratar la firma como un vikiteksto (sin un atamiento otomatiko)',
-'tog-showjumplinks' => 'Aktivar los atamientos de ayudo "{{int:jumpto}}"',
 'tog-uselivepreview' => 'Usar el "previsteo bivo" (JavaScript es menester) (eksperimental)',
 'tog-forceeditsummary' => 'Avizarme cuando dexo el somaryo vazío',
 'tog-watchlisthideown' => 'Esconder mis trocamientos en mi lista de akavidamiento',
index 3282608..5d8c08b 100644 (file)
@@ -609,8 +609,6 @@ Den Administrateur den d\'Schreiwe gespaart huet, huet dës Erklärung uginn: "$
 # Login and logout pages
 'logouttext' => "'''Dir sidd elo ausgeloggt.'''
 
-Dir kënnt {{SITENAME}} elo anonym benotzen, oder Iech <span class='plainlinks'>[$1 erëm aloggen]</span>.
-
 Opgepasst: Op verschiddene Säite kann et nach esou aus gesinn, wéi wann Dir nach ageloggt wiert, bis Dir Ärem Browser säin Tëschespäicher (cache) eidel maacht.",
 'welcomeuser' => 'Wëllkomm $1!',
 'welcomecreation-msg' => "Äre Benotzerkont gouf ugeluecht.
@@ -658,7 +656,7 @@ Vergiesst net fir Är [[Special:Preferences|{{SITENAME}} Astellungen]] z'ännere
 'createacct-emailoptional' => 'E-Mailadress (fakultativ)',
 'createacct-email-ph' => 'Gitt Är E-Mailadress an',
 'createacct-another-email-ph' => 'E-Mailadress aginn',
-'createaccountmail' => 'En temporäert Passwuert benotzen an et per E-Mail un déi E-Mailadress schécken déi hei drënner steet',
+'createaccountmail' => 'En temporäert zoufällegt Passwuert benotzen an et per E-Mail un déi spezifizéiert E-Mailadress schécken',
 'createacct-realname' => 'Richtegen Numm (fakultativ)',
 'createaccountreason' => 'Grond:',
 'createacct-reason' => 'Grond',
@@ -814,8 +812,11 @@ Temporärt Passwuert: $2',
 'changeemail-cancel' => 'Ofbriechen',
 
 # Special:ResetTokens
+'resettokens' => 'Token zrécksetzen',
+'resettokens-legend' => 'Token zrécksetzen',
 'resettokens-tokens' => 'Token:',
 'resettokens-token-label' => '$1 (aktuelle Wäert: $2)',
+'resettokens-done' => 'Token zréckgesat.',
 
 # Edit page toolbar
 'bold_sample' => 'Fettgedréckten Text',
@@ -1439,10 +1440,10 @@ Si muss manner wéi $1 {{PLURAL:$1|Zeechen|Zeechen}} hunn.',
 'userrights-no-interwiki' => "Dir hutt net déi néideg Rechter, fir d'Rechter vu Benoutzer op anere Wikien z'änneren.",
 'userrights-nodatabase' => "D'Datebank $1 gëtt et net oder se ass net lokal.",
 'userrights-nologin' => 'Dir musst mat engem Administrateurs-Benotzerkont [[Special:UserLogin|ageloggt sinn]], fir Benotzerrechter änneren ze kënnen.',
-'userrights-notallowed' => "Äre Benotzerkont hutt net déi néideg Rechter fir d'Rechter vun anere Benotzer z'änneren.",
+'userrights-notallowed' => 'Dir hutt net déi néideg Rechter fir Rechter vun anere Benotzer derbäizesetzen oder ewechzehuelen.',
 'userrights-changeable-col' => 'Gruppen déi Dir ännere kënnt',
 'userrights-unchangeable-col' => 'Gruppen déi Dir net ännere kënnt',
-'userrights-conflict' => 'Konflikt bäi de Benotzerrechter! Maacht Är Ännerunge w.e.g. nach eng Kéier.',
+'userrights-conflict' => 'Konflikt bäi de Benotzerrechter! Kuckt Är Ännerunge w.e.g. no a maacht se w.e.g. nach eng Kéier.',
 'userrights-removed-self' => 'Dir hutt Är eege Rechter ewechgeholl. Dofir kënnt Dir net méi op dës Säit zougräifen.',
 
 # Groups
@@ -3042,13 +3043,13 @@ Dëst wahrscheinlech duerch en externe Link den op der schwaarzer Lëscht (black
 'pageinfo-length' => 'Gréisst vun der Säit (a Bytes)',
 'pageinfo-article-id' => 'ID (Nummer) vun der Säit',
 'pageinfo-language' => 'Sprooch vum Inhalt vun der Säit',
-'pageinfo-robot-policy' => 'Sichmaschinnestatus',
-'pageinfo-robot-index' => 'Indexéierbar',
-'pageinfo-robot-noindex' => 'Net indexéierbar',
+'pageinfo-robot-policy' => 'Indexéierung duerch Botten',
+'pageinfo-robot-index' => 'Erlaabt',
+'pageinfo-robot-noindex' => 'Net erlaabt',
 'pageinfo-views' => 'Zuel vun de Kéieren déi dës Säit gekuckt gouf',
 'pageinfo-watchers' => "Zuel vun de Benotzer déi d'Säit iwwerwaachen",
 'pageinfo-few-watchers' => 'Manner wéi $1 {{PLURAL:$1|Benotzer deen iwwerwaacht|Benotzer déi iwwerwaachen}}',
-'pageinfo-redirects-name' => 'Viruleedungen op dës Säit',
+'pageinfo-redirects-name' => 'Zuel vun de Viruleedungen op dës Säit',
 'pageinfo-subpages-name' => 'Ënnersäite vun dëser Säit',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|Viruleedung|Viruleedungen}}; $3 {{PLURAL:$3|Ënnersäit|Ënnersäiten}})',
 'pageinfo-firstuser' => '1. Auteur vun der Säit',
index 10b888f..40d7fcc 100644 (file)
@@ -1348,10 +1348,10 @@ Cиягьда авай анжах (* лишандихъ галаз эгечIза
 'compare-page1' => 'Чар 1',
 
 # New logging system
-'logentry-move-move' => '$3 макъаладин тӀвар $4 -диз масакӀа хъувуна',
-'logentry-move-move-noredirect' => '$3 макъаладин тӀвар, ракъурунин винелай $4 -диз масакӀа хъувуна',
-'logentry-move-move_redir' => '$3 макъаладин тӀвар, ракъурун тун тавуна $4 -диз масакӀа хъувуна',
-'logentry-move-move_redir-noredirect' => '$3 макъаладин тӀвар, ракъурун тун тавуна ва ракъурунин винелай $4 -диз масакӀа хъувуна',
+'logentry-move-move' => '$1 $3 макъаладин тӀвар $4 -диз масакӀа хъувуна',
+'logentry-move-move-noredirect' => '$1 $3 макъаладин тӀвар, ракъурунин винелай $4 -диз масакӀа хъувуна',
+'logentry-move-move_redir' => '$1 $3 макъаладин тӀвар, ракъурун тун тавуна $4 -диз масакӀа хъувуна',
+'logentry-move-move_redir-noredirect' => '$1 $3 макъаладин тӀвар, ракъурун тун тавуна ва ракъурунин винелай $4 -диз масакӀа хъувуна',
 'logentry-newusers-autocreate' => 'Уртахдин $1 учётдин кхьин автоматиквилели туькӀуьр хьанва',
 'rightsnone' => '(садни)',
 
index 7173287..7b2c80f 100644 (file)
@@ -41,7 +41,6 @@ $messages = array(
 'tog-shownumberswatching' => "Ndaganga obungi bw'abagoberera olupapula",
 'tog-oldsig' => 'Omukono gwo kakano:',
 'tog-fancysig' => 'Omukono gubemu obubonero bwa ki-wiki (naye nga tegufuuka nyunzi)',
-'tog-showjumplinks' => 'Wabeerewo enyunzi eza "Genda ku"',
 'tog-uselivepreview' => 'Enkyukakyuka ze nkoze zirabikirewo nga tekyetaagisiza kumala kunyiga ppeesa (kyetaagisa JavaScript)(Kikyagezesebwa)',
 'tog-forceeditsummary' => 'Ŋambaako bwe mba ŋenda okuleka nga sinnyonyodde bye nkyusizza',
 'tog-watchlisthideown' => "Nze bye nkyusizza bireme okulabikira mu lukalala lw'empapula ze ngoberera",
index 87479f1..de6d870 100644 (file)
@@ -35,7 +35,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Kamukile zwa adress di meli di xete peson kwa melina notifikasyona',
 'tog-shownumberswatching' => 'Kamukile tali di kentezi sebelu',
 'tog-fancysig' => "Ro sebu e data (dicon ling'ki auto)",
-'tog-showjumplinks' => 'Nyembulisize "sinkumukezi" ling\'ki',
 'tog-uselivepreview' => 'Sebelize live PendiBe (bulukezi JavaScript) (yem nca)',
 'tog-watchlisthideown' => 'Cwankekile zwa afina di zwa mukoloko di kentezi',
 'tog-watchlisthidebots' => 'Cwankekile roboti di zwa mukoloko di kentezi',
index b7d9ff4..47150d1 100644 (file)
@@ -158,6 +158,18 @@ $messages = array(
 'oct' => 'oktobrī,',
 'nov' => 'novembrī,',
 'dec' => 'decembrī,',
+'january-date' => '$1. janvāris',
+'february-date' => '$1. februāris',
+'march-date' => '$1. marts',
+'april-date' => '$1. aprīlis',
+'may-date' => '$1. maijs',
+'june-date' => '$1. jūnijs',
+'july-date' => '$1. jūlijs',
+'august-date' => '$1. augusts',
+'september-date' => '$1. septembris',
+'october-date' => '$1. oktobris',
+'november-date' => '$1. novembris',
+'december-date' => '$1. decembris',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategorija|Kategorijas}}',
@@ -238,6 +250,7 @@ $messages = array(
 'create-this-page' => 'Izveidot šo lapu',
 'delete' => 'Dzēst',
 'deletethispage' => 'Dzēst šo lapu',
+'undeletethispage' => 'Atjaunot šo lapu',
 'undelete_short' => 'Atjaunot $1 {{PLURAL:$1|versiju|versijas}}',
 'viewdeleted_short' => 'Apskatīt {{PLURAL:$1|vienu dzēstu labojumu|$1 dzēstus labojumus}}',
 'protect' => 'Aizsargāt',
@@ -435,13 +448,17 @@ Vari turpināt to izmantot anonīmi, vari <span class='plainlinks'>[$1 atgriezti
 'yourname' => 'Tavs lietotājvārds',
 'userlogin-yourname' => 'Lietotājvārds',
 'userlogin-yourname-ph' => 'Ievadiet savu lietotājvārdu',
+'createacct-another-username-ph' => 'Ievadiet lietotājvārdu',
 'yourpassword' => 'Tava parole:',
 'userlogin-yourpassword' => 'Parole',
 'userlogin-yourpassword-ph' => 'Ievadiet savu paroli',
+'createacct-yourpassword-ph' => 'Ievadiet paroli',
 'yourpasswordagain' => 'Atkārto paroli',
+'createacct-yourpasswordagain' => 'Apstipriniet paroli',
+'createacct-yourpasswordagain-ph' => 'Vēlreiz ievadiet paroli',
 'remembermypassword' => 'Atcerēties pēc pārlūka aizvēršanas (spēkā ne vairāk kā $1 {{PLURAL:$1|diena|dienas}}).',
 'userlogin-remembermypassword' => 'Atcerēties mani',
-'userlogin-signwithsecure' => 'Pieslēgties ar drošu serveri',
+'userlogin-signwithsecure' => 'Izmantot drošu savienojumu',
 'securelogin-stick-https' => 'Saglabāt HTTPS savienojumu pēc pieslēgšanās',
 'yourdomainname' => 'Tavs domēns',
 'password-change-forbidden' => 'Šajā wiki paroles nevar mainīt.',
@@ -461,12 +478,24 @@ Vari turpināt to izmantot anonīmi, vari <span class='plainlinks'>[$1 atgriezti
 'gotaccount' => "Tev jau ir lietotājvārds? '''$1'''!",
 'gotaccountlink' => 'Dodies iekšā',
 'userlogin-resetlink' => 'Esat aizmirsis savu pieslēgšanās informāciju?',
+'createacct-emailrequired' => 'E-pasta adrese',
+'createacct-emailoptional' => 'E-pasta adrese (nav obligāta)',
+'createacct-email-ph' => 'Ievadiet savu e-pasta adresi',
+'createacct-another-email-ph' => 'Ievadiet e-pasta adresi',
 'createaccountmail' => 'pa e-pastu',
+'createacct-realname' => 'Īstais vārds (nav obligāts)',
 'createaccountreason' => 'Iemesls:',
+'createacct-reason' => 'Iemesls',
+'createacct-reason-ph' => 'Kāpēc jūs veidojat citu kontu',
+'createacct-captcha' => 'Drošības pārbaude',
+'createacct-another-submit' => 'Izveidot citu lietotāja kontu',
+'createacct-benefit-body1' => '{{PLURAL:$1|labojums|labojumi}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|lapa|lapas}}',
 'badretype' => 'Tevis ievadītās paroles nesakrīt.',
 'userexists' => 'Ievadītais lietotājvārds jau ir aizņemts.
 Lūdzu, izvēlieties citu vārdu.',
 'loginerror' => 'Neveiksmīga ieiešana',
+'createacct-error' => 'Konta izveides kļūda',
 'createaccounterror' => 'Neizdevās izveidot kontu: $1',
 'nocookiesnew' => 'Lietotājvārds tika izveidots, bet tu neesi iegājis iekšā. {{SITENAME}} izmanto sīkdatnes (<i>cookies</i>), lai lietotāji varētu tajā ieiet. Tavs pārlūks nepieņem tās. Lūdzu, atļauj to pieņemšanu un tad nāc iekšā ar savu lietotājvārdu un paroli.',
 'nocookieslogin' => '{{SITENAME}} izmanto sīkdatnes (<i>cookies</i>), lai lietotāji varētu ieiet tajā. Diemžēl tavs pārlūks tos nepieņem. Lūdzu, atļauj to pieņemšanu un mēģini vēlreiz.',
@@ -548,7 +577,7 @@ Tu jau esi veiksmīgi nomainījis savu galveno paroli, vai arī esi pieprasījis
 'passwordreset-emailtitle' => 'Konta informācija {{SITENAME}}',
 'passwordreset-emailelement' => 'Lietotājvārds: $1
 Pagaidu parole: $2',
-'passwordreset-emailsent' => 'Atgādinājuma e-pasts ir nosūtīts.',
+'passwordreset-emailsent' => 'Paroles atiestatīšanas e-pasts ir nosūtīts.',
 'passwordreset-emailsent-capture' => 'Atgādinājuma e-pasta ziņojums ir nosūtīts, tas parādīts zemāk.',
 'passwordreset-emailerror-capture' => 'Atgādinājuma e-pasta ziņojums tika izveidots, tas parādīts zemāk, bet nosūtīšana lietotājam neizdevās: $1',
 
@@ -688,6 +717,7 @@ Ja tas joprojām nedarbojas, mēģini [[Special:UserLogout|izlogoties ārā]] un
 '''Ja šis bija parasts rediģēšanas mēģinājums, mēģini vēlreiz.
 Ja tas joprojām nedarbojas, mēģini [[Special:UserLogout|izlogoties ārā]] un ielogoties no jauna.'''",
 'editing' => 'Izmainīt $1',
+'creating' => 'Izveido lapu $1',
 'editingsection' => 'Izmainīt $1 (sadaļa)',
 'editingcomment' => 'Izmainīt $1 (jauna sadaļa)',
 'editconflict' => 'Izmaiņu konflikts: $1',
@@ -1632,6 +1662,7 @@ Katrā rindiņā ir saites uz pirmo un otro pāradresācijas lapu, kā arī pirm
 'mostlinkedtemplates' => 'Visvairāk izmantotās veidnes',
 'mostcategories' => 'Raksti ar visvairāk kategorijām',
 'mostimages' => 'Attēli, uz kuriem ir visvairāk saišu',
+'mostinterwikis' => 'Lapas ar visvairāk starpviki saitēm',
 'mostrevisions' => 'Raksti, kuriem ir visvairāk iepriekšēju versiju',
 'prefixindex' => 'Meklēt pēc virsraksta pirmajiem burtiem',
 'prefixindex-namespace' => 'Visas lapas ar prefiksu ($1 vārdtelpa)',
@@ -1752,6 +1783,7 @@ Papildu informāciju par katru individuālu piekļuves tiesību veidu, iespējam
 'mailnologin' => 'Nav adreses, uz kuru sūtīt',
 'mailnologintext' => 'Tev jābūt [[Special:UserLogin|iegājušam]], kā arī tev jābūt [[Special:Preferences|norādītai]] derīgai e-pasta adresei, lai sūtītu e-pastu citiem lietotājiem.',
 'emailuser' => 'Sūtīt e-pastu šim lietotājam',
+'emailuser-title-notarget' => 'Sūtīt e-pastu lietotājam',
 'emailpage' => 'Sūtīt e-pastu lietotājam',
 'emailpagetext' => 'Ar šo veidni ir iespējams nosūtīt e-pastu šim lietotājam.
 Tā e-pasta adrese, kuru tu esi norādījis [[Special:Preferences|savā izvēļu lapā]], parādīsies e-pasta "From" lauciņā, tādejādi saņēmējs varēs tev atbildēt.',
@@ -1884,6 +1916,8 @@ Papildinformācija:
 'rollback' => 'Novērst labojumus',
 'rollback_short' => 'Novērst',
 'rollbacklink' => 'novērst',
+'rollbacklinkcount' => 'atcelt $1 {{PLURAL:$1|labojumu|labojumus}}',
+'rollbacklinkcount-morethan' => 'atcelt vairāk kā $1 {{PLURAL:$1|labojumu|labojumus}}',
 'rollbackfailed' => 'Novēršana neizdevās',
 'cantrollback' => 'Nav iespējams novērst labojumu; iepriekšējais labotājs ir vienīgais lapas autors.',
 'alreadyrolled' => 'Nav iespējams novērst pēdējās izmaiņas, ko lapā [[:$1]] saglabāja [[User:$2|$2]] ([[User talk:$2|Diskusija]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]). Kāds cits jau ir rediģējis šo lapu vai novērsis izmaiņas.
@@ -2456,12 +2490,12 @@ To visticamāk izraisīja ārēja saite uz melnajā sarakstā esošu interneta v
 'pageinfo-article-id' => 'Lapas ID',
 'pageinfo-language' => 'Lappuses satura valoda',
 'pageinfo-views' => 'Skatījumu skaits',
-'pageinfo-watchers' => 'Uzraudzītāju skaits',
+'pageinfo-watchers' => 'Lapas uzraudzītāju skaits',
 'pageinfo-redirects-name' => 'Pāradresācijas uz šo lapu',
 'pageinfo-subpages-name' => 'Šīs lapas apakšlapas',
 'pageinfo-lastuser' => 'Pēdējais labotājs',
-'pageinfo-edits' => 'Izmaiņu skaits',
-'pageinfo-authors' => 'Atsevišķu autoru skaits',
+'pageinfo-edits' => 'Kopējais izmaiņu skaits',
+'pageinfo-authors' => 'Kopējais atsevišķu autoru skaits',
 'pageinfo-toolboxlink' => 'Lapas informācija',
 'pageinfo-redirectsto-info' => 'info',
 'pageinfo-contentpage-yes' => 'Jā',
@@ -2697,7 +2731,7 @@ Pārējie lauki, pēc noklusējuma, būs paslēpti.
 'exif-compression-1' => 'Nekompresēts',
 
 'exif-copyrighted-true' => 'Ar autortiesībām',
-'exif-copyrighted-false' => 'Publiski pieejams',
+'exif-copyrighted-false' => 'Autortiesību statuss nav norādīts',
 
 'exif-unknowndate' => 'Nezināms datums',
 
@@ -3023,14 +3057,14 @@ Var arī lietot [[Special:EditWatchlist|standarta izmainīšanas lapu]].',
 * <span class="mw-specialpagecached">Iekešotās īpašās lapas.</span>',
 'specialpages-group-maintenance' => 'Uzturēšanas atskaites',
 'specialpages-group-other' => 'Citas īpašās lapas',
-'specialpages-group-login' => 'Ieiet / piereģistrēties',
+'specialpages-group-login' => 'Pieslēgties / izveidot kontu',
 'specialpages-group-changes' => 'Pēdējās izmaiņas un reģistri',
 'specialpages-group-media' => 'Failu atskaites un augšuplāde',
 'specialpages-group-users' => 'Lietotāji un piekļuves tiesības',
 'specialpages-group-highuse' => 'Bieži izmantotās lapas',
 'specialpages-group-pages' => 'Lapu saraksti',
 'specialpages-group-pagetools' => 'Lapu rīki',
-'specialpages-group-wiki' => 'Wiki dati un rīki',
+'specialpages-group-wiki' => 'Dati un rīki',
 'specialpages-group-redirects' => 'Pāradresējošas īpašās lapas',
 'specialpages-group-spam' => 'Spama rīki',
 
@@ -3089,8 +3123,8 @@ Var arī lietot [[Special:EditWatchlist|standarta izmainīšanas lapu]].',
 'sqlite-no-fts' => '$1 bez pilnteksta meklēšanas atbalsta',
 
 # New logging system
-'logentry-delete-delete' => '$1 izdzēsa lapu $3',
-'logentry-delete-restore' => '$1 atjaunoja lapu $3',
+'logentry-delete-delete' => '$1 {{GENDER:$2|izdzēsa}} lapu $3',
+'logentry-delete-restore' => '$1 {{GENDER:$2|atjaunoja}} lapu $3',
 'revdelete-content-hid' => 'saturs slēpts',
 'revdelete-summary-hid' => 'labojuma kopsavilkums slēpts',
 'revdelete-uname-hid' => 'lietotājvārds slēpts',
index 19f97d7..73b53ed 100644 (file)
@@ -173,7 +173,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Няфтемс мъзяра сувсида конат арафтозь лопать эсь мельгеваномазост',
 'tog-oldsig' => 'Афкуксонь кядьтяшкс',
 'tog-fancysig' => 'Кядьтяшкст улихть викитекстокс (эслек тиеви сюлмафксфтома)',
-'tog-showjumplinks' => 'Мярьгомс "юпадемс" сатовома сюлмафкстненди',
 'tog-uselivepreview' => 'Максомс эряй васень няфтемась (JavaScript) (Варжамань)',
 'tog-forceeditsummary' => 'Няфтемс мондине мезе сёрмадомс шава петнема вальмас сувамста',
 'tog-watchlisthideown' => 'Кяшемс монь петнематне ванома лопаста',
index 936e6bd..672130a 100644 (file)
@@ -694,9 +694,9 @@ Mila manaiky cookies ianao raha te hiditra amin'ny {{SITENAME}}.",
 'createacct-imgcaptcha-ph' => 'Atsofohy ny teny hitanao eo ambony',
 'createacct-submit' => 'Hamorona ny kaontinao',
 'createacct-benefit-heading' => "Olona tahaka ianao no manoratra eo amin'i {{SITENAME}}",
-'createacct-benefit-body1' => 'fanovana{{PLURAL:}}',
-'createacct-benefit-body2' => 'pejy{{PLURAL:}}',
-'createacct-benefit-body3' => 'mpandray anjara vao haingana{{PLURAL:}}',
+'createacct-benefit-body1' => 'fanovana{{PLURAL:$1}}',
+'createacct-benefit-body2' => 'pejy{{PLURAL:$1}}',
+'createacct-benefit-body3' => 'mpandray anjara vao haingana{{PLURAL:$1}}',
 'badretype' => 'Tsy mitovy ny tenimiafina nampidirinao.',
 'userexists' => 'Efa miasa io anaram-pikambana natsofokao io.
 Anarana hafa safidiana.',
@@ -757,7 +757,7 @@ Azafady manomeza adiresy voasoratra tsara na avelao ho banga io toerana io.',
 'cannotchangeemail' => "Tsy afaka ovaina eto amin'ity wiki ity ny adiresy imailaky ny kaonty.",
 'emaildisabled' => 'Tsy afaka mandefa imailaka ity tranonkala ity.',
 'accountcreated' => 'Kaonty voaforona',
-'accountcreatedtext' => "Voasokatra ilay kaonty hoan'i $1.",
+'accountcreatedtext' => 'Voaforona ny kaontim-pikambana [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|dinika]])',
 'createaccount-title' => "Fanokafana kaonty ho an'ny/i {{SITENAME}}",
 'createaccount-text' => "Nisy olona nanokatra kaonty ho an'ny adiresy imailakao eo amin'ny {{SITENAME}} ($4) mitondra anarana « $2 » miaraka amin'ny tenimiafina « $3 ».<br />
 Tokony miditra na manokatra kaonty ianao, ary ovay ny tenimiafinao dien-izao.
@@ -796,7 +796,7 @@ Mety efa nanova tenimiafina na nanontany tenimiafina miserana angamba ianao.',
 # Special:PasswordReset
 'passwordreset' => 'Famafana ary famerenana ny tenimiafina',
 'passwordreset-text-one' => 'Fenoy ity fôrmiolera ity mba hamerenana ny tenimiafinao',
-'passwordreset-text-many' => "Fenoy ny iray amin'ireo saha ireo mba hamerenana ny tenimiafinao{{PLURAL:}}",
+'passwordreset-text-many' => "Fenoy ny iray amin'ireo saha ireo mba hamerenana ny tenimiafinao{{PLURAL:$1}}",
 'passwordreset-legend' => 'Famafana ary famerenana ny tenimiafina',
 'passwordreset-disabled' => "Tsy nalefa ny fanovana tenimiafina adino eto amin'ity wiki ity.",
 'passwordreset-emaildisabled' => "Tsy avela ny fampiasana mailaka eto amin'ity wiki ity.",
@@ -821,7 +821,7 @@ Hitsahatra afaka {{PLURAL:$5|iray|$5}} andro {{PLURAL:$3|io|ireo}} tenimiafina {
 Tenimiafina miserana : $2',
 'passwordreset-emailsent' => 'Lasa ny mailaka famerenana tenimiafina.',
 'passwordreset-emailsent-capture' => 'Lasa ilay mailaka famerenana tenimiafina, izay aseho eo ambany.',
-'passwordreset-emailerror-capture' => "Nosoratana ilay mailaka famerenana tenimiafina, izay aseho eo ambany, fa tsy tafalefa tany amin'ilay mpikambana ilay izy : $1",
+'passwordreset-emailerror-capture' => "Nosoratana ilay mailaka famerenana tenimiafina, izay aseho eo ambany, fa tsy tafalefa tany amin'ilay mpikambana ilay izy : $1{{GENDER:$2}}",
 
 # Special:ChangeEmail
 'changeemail' => 'Hanova ny adiresy imailaka',
@@ -1511,7 +1511,7 @@ Tsy haseho ny adiresy imailakao rehefa manoratra any aminao ny mpikambana hafa."
 'right-reupload-shared' => 'Manolo eo an-toerana rakitra misy eo amina petra-drakitra iraisana',
 'right-upload_by_url' => "Mampidi-drakitra avy amin'ny adiresy URL",
 'right-purge' => 'Fafàna ny cache ny pejy, tsy mila marihana',
-'right-autoconfirmed' => 'Manova pejy voaaro an-tapaka',
+'right-autoconfirmed' => "Tsy iharan'ny fifehezan-kafaingan mikasika ny adiresy IP",
 'right-bot' => 'Atao hita otra ny fizorana mande hoazy',
 'right-nominornewtalk' => "Tsy alefa ny fampandrenesana ''hafatra vaovao'' rehefa manao fanovana kely ao anatin'ny pejin-dresan'ny mpikambana.",
 'right-apihighlimits' => "Mampiasa fepetra ambonimbony kokoa amin'ny fangatahana API",
@@ -1531,9 +1531,9 @@ Tsy haseho ny adiresy imailakao rehefa manoratra any aminao ny mpikambana hafa."
 'right-hideuser' => "Manakana mpikambana iray amin'ny fanitrihana ny anarany amin'ny vahoaka",
 'right-ipblock-exempt' => 'Tsy voakasiky ny fanakanana IP, ny fanakanana mandeha ho azy (aotômatika) ary ny fanakanana sampana IP',
 'right-proxyunbannable' => "Tsy voakasiky ny fanakana mande hoazy avy amin'ny proxy",
-'right-unblockself' => 'Miala hidy ho azy',
+'right-unblockself' => "Manala ny hidin'ny tena",
 'right-protect' => "Manova ny fiarovan'ny pejy sy manova ny pejy voaaro",
-'right-editprotected' => 'Manova ny pejy voaaro (tsy misy fiarovana en cascade)',
+'right-editprotected' => 'Manova pejy voaaro (tsy misy fiarovana en cascade)',
 'right-editinterface' => 'Manova ny interface ny mpikambana',
 'right-editusercssjs' => 'Manova ny rakitra CSS sy JS ny mpikambana hafa',
 'right-editusercss' => 'Manova ny rakitra CSS ny mpikambana hafa',
@@ -2501,7 +2501,7 @@ $1',
 'mycontris' => "Fandraisan'anjara",
 'contribsub2' => "ho an'ny $1 ($2)",
 'nocontribs' => "Tsy misy fanovana mifanaraka amin'ireo critères ireo.",
-'uctop' => ' (loha)',
+'uctop' => '(ankehitriny)',
 'month' => "Tamin'ny volana (sy teo aloha) :",
 'year' => "Tamin'ny taona (sy teo aloha) :",
 
@@ -2841,6 +2841,7 @@ Ho voasoratra ao amin'ny [[Special:Log/import|laogim-pampidirana]] ny tao rehetr
 'import-interwiki-templates' => 'Ataovy ao ny endrika rehetra',
 'import-interwiki-submit' => 'Hampiditra',
 'import-interwiki-namespace' => 'Anaran-tsehatra tanjona :',
+'import-interwiki-rootpage' => 'Foto-pejy tanjona (azo tsy fenoina):',
 'import-upload-filename' => 'Anaran-drakitra :',
 'import-comment' => 'Resaka :',
 'importstart' => 'Am-pampidirana ny pejy…',
@@ -2869,6 +2870,7 @@ Tsy hita ny rakitra miserana.',
 'import-token-mismatch' => 'Very ny fampahalalàna momba ny kaonty.
 Avereno fanindroany.',
 'import-invalid-interwiki' => "Tsy afaka mampiditra avy any amin'ilay wiki nofidiana.",
+'import-rootpage-invalid' => 'Lohateny tsy azo raisina ny foto-pejy nomenao:',
 
 # Import log
 'importlogpage' => "laogin'ny fampidirana",
@@ -2986,8 +2988,12 @@ Mamerina ny version taloha io asa io ary afaka manometraka ny antony anatin'ny a
 'pageinfo-article-id' => 'Laharam-pejy',
 'pageinfo-language' => "Tenin'ny votoatiny",
 'pageinfo-robot-policy' => "Satan'ny motera fikarohana",
+'pageinfo-robot-index' => 'Azo tondroina',
+'pageinfo-robot-noindex' => 'Tsy azo tondroina',
 'pageinfo-views' => "Isan'ny jery",
 'pageinfo-watchers' => "Isan'ny mpandray anjara manaraka",
+'pageinfo-redirects-name' => "Fihodinana manketo amin'ity pejy ity",
+'pageinfo-subpages-name' => "Zana-pejin'ity pejy ity",
 'pageinfo-firstuser' => 'Mpamorona ilay pejy',
 'pageinfo-firsttime' => 'Daty namoronana ilay pejy',
 'pageinfo-lastuser' => 'Mpanova farany',
@@ -2997,11 +3003,17 @@ Mamerina ny version taloha io asa io ary afaka manometraka ny antony anatin'ny a
 'pageinfo-recent-edits' => "Fanovana vao haingana (natao tanatin'ny $1)",
 'pageinfo-recent-authors' => "Isa vao haingan'ny mpanoratra misongadina",
 'pageinfo-hidden-categories' => 'Sokajy nafenina{{PLURAL:$1}} ($1)',
+'pageinfo-templates' => 'Endrika natsofoka{{PLURAL:$1}} ($1)',
+'pageinfo-transclusions' => "Pejy natsofoka tanatin'i ($1)",
+'pageinfo-toolboxlink' => 'Fampahalalana mikasika ny pejy',
 'pageinfo-redirectsto' => "Fihdinana mankany amin'ny",
 'pageinfo-redirectsto-info' => 'fampahalalana',
 'pageinfo-contentpage' => 'Isaina ho pejim-botoatiny',
 'pageinfo-contentpage-yes' => 'Eny',
+'pageinfo-protect-cascading' => 'Miriana avy eto ny fiarovana',
 'pageinfo-protect-cascading-yes' => 'Eny',
+'pageinfo-protect-cascading-from' => "Ny fiarovana dia miriana avy amin'i",
+'pageinfo-category-info' => 'Fampahalalana mikasika ny sokajy',
 'pageinfo-category-pages' => 'Isam-pejy',
 'pageinfo-category-subcats' => "Isan'ny zana-tsokajy",
 'pageinfo-category-files' => "Isan'ny rakitra",
@@ -3016,6 +3028,7 @@ Mamerina ny version taloha io asa io ary afaka manometraka ny antony anatin'ny a
 'markedaspatrollederror' => 'Tsy afaka marihana ho voamarina',
 'markedaspatrollederrortext' => 'Tsy maintsy misafidy santiôna iray ianao mba hahafahanao manamarika azy ho voamarina.',
 'markedaspatrollederror-noautopatrol' => 'Tsy azonao marihana ho voamarina ny fanovanao.',
+'markedaspatrollednotify' => "Voamarika ho hita ny fanovana natao tamin'i $1.",
 
 # Patrol log
 'patrol-log-page' => "Laogin'ny fanovana voamarina",
@@ -3050,11 +3063,15 @@ Raha alefanao ilay izy, mety ho simban'io renifango io ny solosainao.",
 'svg-long-desc' => 'rakitra SVG, habe $1 × $2 teboka, habe : $3',
 'svg-long-error' => 'Rakitra SVG tsy ekena : $1',
 'show-big-image' => "Hijery ny tena haben'ny sary",
+'show-big-image-preview' => "Haben'ny topi-maso: $1.",
+'show-big-image-other' => 'Habe hafa: $1{{PLURAL:$1}}',
 'show-big-image-size' => '$1 × $2 teboka',
 'file-info-gif-looped' => 'miverimberina',
 'file-info-gif-frames' => 'sary{{PLURAL:$1}} $1',
 'file-info-png-looped' => 'miverimberina',
 'file-info-png-repeat' => 'nalefa in-$1{{PLURAL:$1}}',
+'file-info-png-frames' => 'Sary $1{{PLURAL:$1}}',
+'file-no-thumb-animation' => "'''Fantaro: Nohon'ny fifehezana ara-teknka, tsy ho alefa sarimihetsika ny sarikely GIF mavesatra ohatr'ity'''",
 
 # Special:NewFiles
 'newimages' => 'Tahala misy ny rakitra vaovao',
@@ -3073,8 +3090,12 @@ Raha alefanao ilay izy, mety ho simban'io renifango io ny solosainao.",
 'hours' => 'ora{{PLURAL:$1}}',
 'days' => 'andro{{PLURAL:$1}}',
 'ago' => '$1 lasa izay',
+'just-now' => 'vao izao',
 
 # Human-readable timestamps
+'hours-ago' => '$1 ora lasa{{PLURAL:$1}}',
+'minutes-ago' => '$1{{PLURAL:$1}} minitra lasa',
+'seconds-ago' => '$1 segondra lasa{{PLURAL:$1}}',
 'monday-at' => "Alatsinainy tamin'ny $1",
 'tuesday-at' => "Talata tamin'ny $1",
 'wednesday-at' => "Alarobia tamin'ny $1",
@@ -3176,7 +3197,7 @@ Tokony sary tsy misy na sary tsy izy ny rohy voalohany anaty andalana iray .
 'exif-pngfilecomment' => "Famoahan-kevitra momban'ilay rakitra PNG",
 
 'exif-copyrighted-true' => "Iharan'ny zom-pamorona",
-'exif-copyrighted-false' => 'Valam-bahoaka',
+'exif-copyrighted-false' => "Toetran'ny zom-pamorona tsy voafaritra",
 
 'exif-unknowndate' => 'Daty tsy fantatra',
 
index 6aa140c..1df621f 100644 (file)
@@ -116,7 +116,6 @@ $messages = array(
 'tog-enotifwatchlistpages' => 'Мыйын эскерыме лӱмер гыч лаштыкыште тӧрлатымыш нерген электрон почто гоч шижтараш',
 'tog-enotifusertalkpages' => 'Мыйын каҥашымаш лаштыкыште тӧрлатымыш нерген электрон почто гоч шижтараш',
 'tog-oldsig' => 'Кызытсе кидпале',
-'tog-showjumplinks' => '"Куснаш …" ешартыш кылверым чӱкташ',
 'tog-watchlisthideown' => 'Эскерыме лӱмер гыч мыйын тӧрлатымашым кораҥдаш',
 'tog-watchlisthidebots' => 'Эскерыме лӱмер гыч бот-влакын тӧрлатымашыштым кораҥдаш',
 'tog-watchlisthideminor' => 'Эскерыме лӱмер гыч изи тӧрлатымаш-влакым кораҥдаш',
index 5c1f2f9..b4aecaa 100644 (file)
@@ -781,7 +781,6 @@ $2',
 # Login and logout pages
 'logouttext' => "'''Сега сте одјавени.'''
 
-Можете да продолжите со користење на {{SITENAME}} анонимно или можете <span class='plainlinks'>[$1 повторно да се најавите]</span> под исто или различно корисничко име.
 Да напоменеме дека некои страници може да продолжат да се прикажуваат како да сте најавени, се додека не го исчистите кешот на вашиот прелистувач.",
 'welcomeuser' => 'Добр едојдовте, $1!',
 'welcomecreation-msg' => 'Вашата корисничка сметка е создадена.
@@ -829,7 +828,7 @@ $2',
 'createacct-emailoptional' => 'Е-пошта (незадолжително)',
 'createacct-email-ph' => 'Внесете е-пошта',
 'createacct-another-email-ph' => 'Внесете е-пошта',
-'createaccountmail' => 'Дај привремена произволна лозинка и испрати ја на долунаведената адреса',
+'createaccountmail' => 'Дај привремена произволна лозинка и испрати ја на укажаната адреса',
 'createacct-realname' => 'Вистинско име (незадолжително)',
 'createaccountreason' => 'Причина:',
 'createacct-reason' => 'Причина',
@@ -1644,11 +1643,11 @@ $1",
 'userrights-no-interwiki' => 'Немате дозвола за уредување на кориснички права на други викија.',
 'userrights-nodatabase' => 'Базата на податоци $1 не постои или не е локална.',
 'userrights-nologin' => 'Мора да сте [[Special:UserLogin|најавени]] со администраторска корисничка сметка за да може да вршите промена на кориснички права.',
-'userrights-notallowed' => 'Ð\92аÑ\88аÑ\82а ÐºÐ¾Ñ\80иÑ\81ниÑ\87ка Ñ\81меÑ\82ка Ð½ÐµÐ¼Ð° дозвола за додавање и отстранување на кориснички права.',
+'userrights-notallowed' => 'Ð\9dемаÑ\82е дозвола за додавање и отстранување на кориснички права.',
 'userrights-changeable-col' => 'Групи кои може да ги промените',
 'userrights-unchangeable-col' => 'Групи кои не може да ги промените',
 'userrights-irreversible-marker' => '$1*',
-'userrights-conflict' => 'СпÑ\80оÑ\82иÑ\81Ñ\82авеноÑ\81Ñ\82 Ð²Ð¾ ÐºÐ¾Ñ\80иÑ\81ниÑ\87киÑ\82е Ð¿Ñ\80ава. Ð\9fÑ\80именеÑ\82е Ð³Ð¸ Ð¿Ñ\80омениÑ\82е Ð¿Ð¾Ð²Ñ\82оÑ\80но.',
+'userrights-conflict' => 'СпÑ\80оÑ\82иÑ\81Ñ\82авеноÑ\81Ñ\82 Ð²Ð¾ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ\82е Ð½Ð° ÐºÐ¾Ñ\80иÑ\81ниÑ\87киÑ\82е Ð¿Ñ\80ава. Ð\9fÑ\80егледаÑ\98Ñ\82е Ð³Ð¸ Ð¸ Ð¿Ð¾Ñ\82вÑ\80деÑ\82е Ð³Ð¸.',
 'userrights-removed-self' => 'Успешно ги отстранивте вашите права. Затоа, повеќе немате пристап на страницава.',
 
 # Groups
@@ -3311,9 +3310,9 @@ $2',
 'pageinfo-length' => 'Должина на страницата (во бајти)',
 'pageinfo-article-id' => 'Назнака на страницата',
 'pageinfo-language' => 'Јазик на содржината на страницата',
-'pageinfo-robot-policy' => 'СÑ\82аÑ\82Ñ\83Ñ\81 Ð½Ð° Ð¿Ñ\80елиÑ\81Ñ\82Ñ\83ваÑ\87оÑ\82',
-'pageinfo-robot-index' => 'Се Ð¸Ð½Ð´ÐµÐºÑ\81иÑ\80а',
-'pageinfo-robot-noindex' => 'Не се индексира',
+'pageinfo-robot-policy' => 'Ð\98ндекÑ\81иÑ\80аÑ\9aе Ñ\81о Ñ\80обоÑ\82и',
+'pageinfo-robot-index' => 'Ð\94озволено',
+'pageinfo-robot-noindex' => 'Недозволено',
 'pageinfo-views' => 'Број на посети',
 'pageinfo-watchers' => 'Број на набљудувачи',
 'pageinfo-few-watchers' => 'Помалку од $1 {{PLURAL:$1|набљудувач|набљудувачи}}',
index 3fa9427..8bb666a 100644 (file)
@@ -663,7 +663,7 @@ $1',
 "$1"
 "$2" या कार्यकृतीमधून .
 MySQL returned error "$3: $4".',
-'laggedslavemode' => 'सुचना: पानावर नवीन बदल नसतील.',
+'laggedslavemode' => "'''सुचना:''' पानावर अद्ययावत बदल नसतील.",
 'readonly' => 'विदागारास (डाटाबेस) ताळे आहे.',
 'enterlockreason' => 'विदागारास ताळे ठोकण्याचे कारण, ताळे उघडले जाण्याच्या अदमासे कालावधीसहीत द्या.',
 'readonlytext' => 'बहुधा विदागार परिरक्षणामुळे (मेंटेनन्स) नवीन भर घालण्यापासून आणि इतर बदल करण्यापासून बंद ठेवण्यात आला आहे, परिरक्षणानंतर तो सामान्य होईल.
@@ -743,7 +743,7 @@ $2',
 # Login and logout pages
 'logouttext' => "'''तुम्ही आता सनोंद-निर्गमित(लॉग-आउट) झाला आहात.'''
 
-तुम्ही अनामिकपणे {{SITENAME}}चा उपयोग करत राहू शकता, किंवा त्याच अथवा वेगळ्या सदस्य नावाने <span class='plainlinks'>[$1  पुन्हा सनोंद-प्रवेश करू शकता]</span>.
+
 आपण स्वत:च्या न्याहाळकाची सय (कॅशे) रिकामी करत नाही तो पर्यंत, काही पाने आपण अजून प्रवेशित आहात, असे नुसतेच दाखवत राहू शकतील.",
 'welcomeuser' => 'स्वागत, $1!',
 'welcomecreation-msg' => 'तुमचे खाते उघडण्यात आले आहे.
@@ -898,7 +898,7 @@ $2',
 'passwordreset-username' => 'सदस्यनाव:',
 'passwordreset-domain' => 'डोमेन',
 'passwordreset-capture' => 'ईमेल कशी असेल ते बघायचेय ?',
-'passwordreset-capture-help' => 'या à¤\9aà¥\8cà¤\95à¤\9fà¥\80त à¤\96à¥\82ण à¤\95à¥\87लà¥\80 à¤¤à¤°, à¤\88मà¥\87ल (तातà¥\8dपà¥\81रà¥\8dतà¥\8dया à¤ªà¤°à¤µà¤²à¥\80 à¤¶à¤¬à¥\8dदा à¤¸à¥\8bबत) à¤¦à¤\96वणà¥\8dयत à¤µ à¤ªà¥\8dरयà¥\8bà¤\97à¤\95रà¥\8dतà¥\8dतà¥\8dयस à¤ªà¤¾à¤ à¤µà¤£à¥\8dयत à¤¯à¥\87à¤\87ल',
+'passwordreset-capture-help' => 'या à¤\9aà¥\8cà¤\95à¤\9fà¥\80त à¤\96à¥\82ण à¤\95à¥\87लà¥\80 à¤¤à¤°, à¤\88मà¥\87ल (तातà¥\8dपà¥\81रतà¥\8dया à¤ªà¤°à¤µà¤²à¥\80à¤\9aà¥\8dया à¤¶à¤¬à¥\8dदासह) à¤¦à¤¾à¤\96विणà¥\8dयात à¤µ à¤¸à¤¦à¤¸à¥\8dयास à¤ªà¤¾à¤ à¤µà¤¿à¤£à¥\8dयात à¤¯à¥\87à¤\88ल.',
 'passwordreset-email' => 'विपत्र पत्ता',
 'passwordreset-emailtitle' => '{{SITENAME}} वर खात्याची माहिती',
 'passwordreset-emailtext-ip' => 'कुणीतरी (कदाचित तुम्ही, अंकपत्ता $1 वरुन) {{SITENAME}}($4) करिता नविन \'परवलीचा शब्द\' पुनर्स्थापनेबद्दल विनंती केली आहे.
@@ -943,7 +943,7 @@ $2',
 
 # Edit page toolbar
 'bold_sample' => 'ठळक मजकूर',
-'bold_tip' => 'ठळक',
+'bold_tip' => 'ठळक मजकूर',
 'italic_sample' => 'तिरकी अक्षरे',
 'italic_tip' => 'तिरकी अक्षरे',
 'link_sample' => 'दुव्याचे शीर्षक',
@@ -969,14 +969,14 @@ $2',
 'showpreview' => 'झलक दाखवा',
 'showlivepreview' => 'थेट झलक',
 'showdiff' => 'बदल दाखवा',
-'anoneditwarning' => "'''à¤\87शारा:''' à¤¤à¥\81मà¥\8dहà¥\80 à¤µà¤¿à¤\95िपà¥\80डियाà¤\9aà¥\87 à¤¸à¤¦à¤¸à¥\8dय à¤®à¥\8dहणà¥\82न à¤ªà¥\8dरवà¥\87श (लà¥\89à¤\97-à¤\87न) à¤\95à¥\87लà¥\87ला à¤¨à¤¾à¤¹à¥\80. à¤¯à¤¾ à¤ªà¤¾à¤¨à¤¾à¤\9aà¥\8dया à¤¸à¤\82पादन à¤\87तिहासात à¤¤à¥\81मà¤\9aा à¤\85à¤\82à¤\95 पत्ता (आयपी) नोंदला जाईल.",
+'anoneditwarning' => "'''à¤\87शारा:''' à¤¤à¥\81मà¥\8dहà¥\80 à¤µà¤¿à¤\95िपà¥\80डियाà¤\9aà¥\87 à¤¸à¤¦à¤¸à¥\8dय à¤®à¥\8dहणà¥\82न à¤¸à¤¨à¥\8bà¤\82द-पà¥\8dरवà¥\87श (लà¥\89à¤\97-à¤\87न) à¤\95à¥\87लà¥\87ला à¤¨à¤¾à¤¹à¥\80. à¤¯à¤¾ à¤ªà¤¾à¤¨à¤¾à¤\9aà¥\8dया à¤¸à¤\82पादन à¤\87तिहासात à¤¤à¥\81मà¤\9aा à¤\85à¤\82à¤\95पत्ता (आयपी) नोंदला जाईल.",
 'anonpreviewwarning' => "\"'''सावधान:''' तुम्ही विकिपीडियाचे सदस्य म्हणून सनोंद-प्रवेश (लॉग-इन) केलेला नाही. या पानाच्या संपादन इतिहासात तुमचा अंकपत्ता (आय.पी. ॲड्रेस) नोंदला जाईल.\"",
 'missingsummary' => "'''आठवण:''' तुम्ही संपादन सारांश पुरवलेला नाही.आपण 'जतन करा' वर पुन्हा टिचकी मारली तर ते त्याशिवाय जतन होईल.",
 'missingcommenttext' => 'कृपया खाली प्रतिक्रिया भरा.',
-'missingcommentheader' => "'''à¤\86ठवण:''' à¤\86पण à¤¯à¤¾ à¤²à¥\87à¤\96नाà¤\95रिता à¤µà¤¿à¤·à¤¯ à¤\95िà¤\82वा à¤\85धà¥\8bरà¥\87षा à¤¦à¤¿à¤²à¥\87लà¥\80 à¤¨à¤¾à¤¹à¥\80. à¤\86पण à¤ªà¥\81नà¥\8dहा à¤\9cतन à¤\95रा à¤\85शà¥\80 à¤¸à¥\82à¤\9aना à¤\95à¥\87लà¥\80 तर, तुमचे संपादन त्याशिवायच जतन होईल.",
+'missingcommentheader' => "'''à¤\86ठवण:''' à¤\86पण à¤¯à¤¾ à¤²à¥\87à¤\96नाà¤\95रिता à¤µà¤¿à¤·à¤¯ à¤\95िà¤\82वा à¤®à¤¥à¤³à¤¾ à¤¦à¤¿à¤²à¥\87ला à¤¨à¤¾à¤¹à¥\80. à¤\86पण à¤ªà¥\81नà¥\8dहा \"{{int:savearticle}}\" à¤µà¤° à¤\9fिà¤\9aà¤\95लà¥\87 तर, तुमचे संपादन त्याशिवायच जतन होईल.",
 'summary-preview' => 'आढाव्याची झलक:',
 'subject-preview' => 'विषय/मथळा झलक:',
-'blockedtitle' => 'या à¤¸à¤¦à¤¸à¥\8dयासाठà¥\80 à¤ªà¥\8dरवà¥\87श à¤¨à¤¾à¤\95ारणà¥\8dयात à¤\86लà¥\87ला à¤\86हà¥\87.',
+'blockedtitle' => 'हा à¤¸à¤¦à¤¸à¥\8dय à¤ªà¥\8dरतिबà¤\82धित à¤\86हà¥\87',
 'blockedtext' => "'''तुमचे सदस्यनाव अथवा IP पत्ता ब्लॉक केलेला आहे.'''
 
 हा ब्लॉक $1 यांनी केलेला आहे.
@@ -1006,27 +1006,27 @@ $2',
 'whitelistedittext' => 'लेखांचे संपादन करण्यासाठी आधी $1 करा.',
 'confirmedittext' => 'तुम्ही संपादने करण्यापूर्वी तुमचा विपत्र पत्ता प्रमाणित करणे आवश्यक आहे.Please set and validate तुमचा विपत्र पत्ता तुमच्या [[Special:Preferences|सदस्य पसंती]]तून लिहा व सिद्ध करा.',
 'nosuchsectiontitle' => 'असा विभाग नाही.',
-'nosuchsectiontext' => 'तुम्ही अस्तिवात नसलेला विभाग संपादन करण्याचा प्रयत्न केला आहे.',
-'loginreqtitle' => 'पà¥\8dरवà¥\87श à¤\97रà¤\9cà¥\87à¤\9aा आहे',
+'nosuchsectiontext' => 'तुम्ही अस्तिवात नसलेला विभाग संपादन करण्याचा प्रयत्न केला आहे.हे पान आपण बघत असतांना तो हलविल्या किंवा वगळल्या गेला आहे.',
+'loginreqtitle' => 'सनà¥\8bà¤\82द-पà¥\8dरवà¥\87श à¤\86वशà¥\8dयà¤\95 आहे',
 'loginreqlink' => '
 सनोंद-प्रवेश करा',
 'loginreqpagetext' => 'तुम्ही इतर पाने पहाण्याकरिता $1 केलेच पाहिजे.',
 'accmailtitle' => 'परवलीचा शब्द पाठविण्यात आलेला आहे.',
-'accmailtext' => '[[User talk:$1|$1]] à¤¯à¤¾à¤\82साठà¥\80 à¤\85विशिषà¥\8dà¤\9fपनà¥\86 निर्मित केलेला परवलीचा शब्द $2 यांना पाठवण्यात आला आहे.
+'accmailtext' => '[[User talk:$1|$1]] à¤¯à¤¾à¤\82साठà¥\80 à¤\85नियतà¤\95à¥\8dरमानà¥\87 निर्मित केलेला परवलीचा शब्द $2 यांना पाठवण्यात आला आहे.
 
-या नवीन खात्यासाठीचा परवलीचा शब्द प्रवेश घेतल्यावर [[Special:ChangePassword|येथे]] बदलता येईल.',
+या नवीन खात्यासाठीचा परवलीचा शब्द,सनोंद-प्रवेश घेतल्यावर [[Special:ChangePassword|परवलीचा शब्द बदला]] येथे बदलता येईल.',
 'newarticle' => '(नवीन लेख)',
 'newarticletext' => 'तुम्हाला अपेक्षित असलेला लेख अजून लिहिला गेलेला नाही. हा लेख लिहिण्यासाठी खालील पेटीत मजकूर लिहा. मदतीसाठी [[{{MediaWiki:Helppage}}|येथे]] टिचकी द्या.
 
 जर येथे चुकून आला असाल तर ब्राउझरच्या बॅक (back) कळीवर टिचकी द्या.',
-'anontalkpagetext' => "---- ''हà¥\87 à¤¬à¥\8bलपान à¤\85शा à¤\85à¤\9cà¥\8dà¤\9eात à¤¸à¤¦à¤¸à¥\8dयासाठà¥\80 à¤\86हà¥\87 à¤\9cà¥\8dयाà¤\82नà¥\80 à¤\96ातà¥\87 à¤¤à¤¯à¤¾à¤° à¤\95à¥\87लà¥\87लà¥\87 à¤¨à¤¾à¤¹à¥\80 à¤\95िà¤\82वा à¤¤à¥\8dयाà¤\9aा à¤µà¤¾à¤ªà¤° à¤\95रत à¤¨à¤¾à¤¹à¥\80त. à¤¤à¥\8dयाà¤\82à¤\9aà¥\8dया à¤\93ळà¤\96à¥\80साठà¥\80 à¤\86मà¥\8dहà¥\80 à¤\86à¤\82तरà¤\9cाल à¤\85à¤\82à¤\95पतà¥\8dता à¤µà¤¾à¤ªà¤°à¤¤à¥\8b à¤\86हà¥\8bत. à¤\85सा à¤\85à¤\82à¤\95पतà¥\8dता à¤¬à¤±à¥\8dयाà¤\9a à¤²à¥\8bà¤\95ाà¤\82à¤\9aा à¤\8fà¤\95à¤\9a à¤\85सà¥\82 à¤¶à¤\95तà¥\8b à¤\9cर à¤\86पण à¤\85à¤\9cà¥\8dà¤\9eात à¤¸à¤¦à¤¸à¥\8dय à¤\85साल à¤\86णि à¤\86पलà¥\8dयाला à¤\95ाहà¥\80 à¤\85पà¥\8dरासà¤\82à¤\97िà¤\95 à¤¸à¤\82दà¥\87श à¤®à¤¿à¤³à¤¾à¤²à¤¾ à¤\85सà¥\87ल à¤¤à¤° à¤\95à¥\83पया [[Special:UserLogin| à¤\96ातà¥\87 à¤¤à¤¯à¤¾à¤° à¤\95रा]] à¤\95िà¤\82वा [[Special:UserLogin/signup|पà¥\8dरवà¥\87श à¤\95रा]] à¤\9cà¥\8dयामà¥\81ळà¥\87 पुढे असे गैरसमज होणार नाहीत.''",
+'anontalkpagetext' => "---- ''हà¥\87 à¤\9aरà¥\8dà¤\9aापान à¤\85शा à¤\85à¤\9cà¥\8dà¤\9eात à¤¸à¤¦à¤¸à¥\8dयासाठà¥\80 à¤\86हà¥\87, à¤\9cà¥\8dयाà¤\82नà¥\80 à¤\96ातà¥\87 à¤¤à¤¯à¤¾à¤° à¤\95à¥\87लà¥\87लà¥\87 à¤¨à¤¾à¤¹à¥\80 à¤\95िà¤\82वा à¤¤à¥\8dयाà¤\9aा à¤µà¤¾à¤ªà¤° à¤\95रत à¤¨à¤¾à¤¹à¥\80त. à¤¤à¥\8dयाà¤\82à¤\9aà¥\8dया à¤\93ळà¤\96à¥\80साठà¥\80 à¤\86मà¥\8dहà¥\80 à¤\86à¤\82तरà¤\9cाल à¤\85à¤\82à¤\95पतà¥\8dता à¤µà¤¾à¤ªà¤°à¤¤à¥\8b à¤\86हà¥\8bत. à¤\85सा à¤\85à¤\82à¤\95पतà¥\8dता à¤¬à¤±à¥\8dयाà¤\9a à¤²à¥\8bà¤\95ाà¤\82à¤\9aा à¤\8fà¤\95à¤\9a à¤\85सà¥\82 à¤¶à¤\95तà¥\8b. à¤\9cर à¤\86पण à¤\85à¤\9cà¥\8dà¤\9eात à¤¸à¤¦à¤¸à¥\8dय à¤\85साल à¤\86णि à¤\86पलà¥\8dयाला à¤\95ाहà¥\80 à¤\85पà¥\8dरासà¤\82à¤\97िà¤\95 à¤¸à¤\82दà¥\87श à¤®à¤¿à¤³à¤¾à¤²à¤¾ à¤\85सà¥\87ल à¤¤à¤° à¤\95à¥\83पया [[Special:UserLogin| à¤\96ातà¥\87 à¤¤à¤¯à¤¾à¤° à¤\95रा]] à¤\95िà¤\82वा [[Special:UserLogin/signup|सनà¥\8bà¤\82द-पà¥\8dरवà¥\87श à¤\95रा]] à¤\9cà¥\8dयामà¥\81ळà¥\87, पुढे असे गैरसमज होणार नाहीत.''",
 'noarticletext' => 'या लेखात सध्या काहीही मजकूर नाही.
 तुम्ही विकिपीडियावरील इतर लेखांमध्ये या [[Special:Search/{{PAGENAME}}|मथळ्याच्या शोध घेऊ शकता]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} इतर याद्या शोधा],
 किंवा हा लेख [{{fullurl:{{FULLPAGENAME}}|action=edit}} लिहू शकता]</span>.',
 'noarticletext-nopermission' => 'सध्या या लेखात  काहीही मजकूर नाही.
 तुम्ही विकिपीडियावरील इतर लेखांमध्ये [[Special:Search/{{PAGENAME}}|या मथळ्याचा शोध घेऊ शकता]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAME}}}}आपण या लेखाच्या इतर नोंदी शोधा]</span>,परंतु, आपणास हा लेख लिहीण्याची परवानगी देण्यात येउ शकत नाही.',
 'missing-revision' => '"{{PAGENAME}}" या लेखाचे #$1 हे संस्करण अस्तित्वात नाही.वगळल्या गेलेल्या लेखपानाच्या जुन्या इतिहास-दुव्याचे अनुसरण केल्यामुळे असे होते.याबाबत विस्तृत माहिती  [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} वगळलेल्या नोंदी]येथे बघता येईल.',
-'userpage-userdoesnotexist' => '"<nowiki>$1</nowiki>" सदस्य खात्याची नोंद नाही. कृपया हे पान तुम्ही संपादित किंवा नव्याने तयार करू इच्छिता का या बद्दल विचार करा.',
+'userpage-userdoesnotexist' => '"<nowiki>$1</nowiki>" सदस्य खात्याची नोंद नाही. कृपया हे पान तुम्ही संपादित किंवा नव्याने तयार करू इच्छिता काय याबद्दल विचार करा.',
 'userpage-userdoesnotexist-view' => 'सदस्यखाते "$1"  हे नोंदलेले नाही.',
 'blocked-notice-logextract' => 'हा सदस्य सध्या प्रतिबंधित आहे.
 सर्वांत नवीन प्रतिबंधन यादी खाली संदर्भासाठी दिली आहे:',
@@ -1066,17 +1066,17 @@ $2',
 'token_suffix_mismatch' => "'''तुमचे संपादन रद्द करण्यात आलेले आहे कारण तुमच्या क्लायंटनी तुमच्या संपादनातील उद्गारवाचक चिन्हांमध्ये (punctuation) बदल केलेले आहेत.
 पानातील मजकूर खराब होऊ नये यासाठी संपादन रद्द करण्यात आलेले आहे.
 असे कदाचित तुम्ही अनामिक proxy वापरत असल्याने होऊ शकते.'''",
-'edit_form_incomplete' => '”’तुमच्या संपादनाचा काही भाग सर्व्हरपर्यंत पोचला नाही; तुमचे संपादन पूर्ण आहे का याची पुन्हा खात्री करा.',
+'edit_form_incomplete' => "'''तुमच्या संपादनाचा काही भाग सर्व्हरपर्यंत पोचला नाही; तुमचे संपादन पूर्ण आहे का याची पुन्हा खात्री करा व पुन्हा प्रयत्न करा.'''",
 'editing' => '$1 चे संपादन होत आहे.',
 'creating' => '$1 ची निर्मिती सुरू आहे',
 'editingsection' => '$1 (विभाग) संपादन',
 'editingcomment' => '$1 चे संपादन (प्रतिक्रिया)',
-'editconflict' => 'वादà¤\97à¥\8dरसà¥\8dत à¤¸à¤\82पादन: $1',
+'editconflict' => 'सà¤\82पादन à¤®à¤¤à¤­à¥\87द: $1',
 'explainconflict' => "तुम्ही संपादनाला सुरूवात केल्यानंतर इतर कोणीतरी बदल केला आहे.
 वरील पाठ्यभागामध्ये सध्या अस्तिवात असलेल्या पृष्ठातील पाठ्य आहे, तर तुमचे बदल खालील पाठ्यभागात दर्शविलेले आहेत.
 तुम्हाला हे बदल सध्या अस्तिवात असणाऱ्या पाठ्यासोबत एकत्रित करावे लागतील.
 '''केवळ''' वरील पाठ्यभागामध्ये असलेले पाठ्य साठविण्यात येईल जर तुम्ही \"{{int:savearticle}}\" ही कळ दाबली.",
-'yourtext' => 'तà¥\81मà¤\9aà¥\87 à¤ªà¤¾à¤ à¥\8dय',
+'yourtext' => 'तà¥\81मà¤\9aा à¤®à¤\9cà¤\95à¥\82र',
 'storedversion' => 'साठविलेली आवृत्ती',
 'nonunicodebrowser' => "'''सावधान: तुमचा न्याहाळक युनिकोड आधारित नाही. ASCII नसलेली  अक्षरचिन्हे संपादन खिडकीत सोळाअंकी कूटसंकेत (हेक्झाडेसीमल कोड) स्वरूपात दिसण्याची, सुरक्षितपणे संपादन करू देणारी,  पळवाट उपलब्ध आहे.'''",
 'editingold' => "'''इशारा: तुम्ही मूळ पृष्ठाची एक कालबाह्य आवृत्ती संपादित करित आहात.
@@ -1226,64 +1226,59 @@ $3ने ''$2'' कारण दिले आहे.",
 'rev-deleted-no-diff' => "आपण यातील फरक बघू शकत नाही कारण त्यापैकी एक संस्करण '''वगळले''' आहे.
 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} वगळल्याचा क्रमलेख] येथे त्याची विस्तृत माहिती सापडेल.",
 'rev-suppressed-no-diff' => 'तुम्ही हा फरक पाहू शकत नाही कारण या आवृत्त्यांमधील एक संस्करण ”’वगळण्यात आले आहे.”’',
-'rev-deleted-unhide-diff' => "या पेज चे रिविषन  '''रीक्त करन्यात आले आहे'''.
-महिती एथे सुद्धा मीलु शकेल [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} रीक्क्त कर्न्यात आले आहे].
-तुम्म्हि आत्ता सुद्धा [$1 फरक बघा] जर तुम्ही चलु थेउ ईच्चुक असाल तर.",
-'rev-suppressed-unhide-diff' => "या पेज चे रिविषन  '''रीक्त करन्यात आले आहे'''.
-महिती एथे सुद्धा मीलु शकेल  [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} रीक्क्त कर्न्यात आले आहे].
-तुम्म्हि तरी सुद्धा [$1 हा फरक ओलखा] जर तुम्ही चलु थेउ ईच्चुक असाल तर.",
-'rev-deleted-diff-view' => "या पेज चे रिविषन  '''रीक्त करन्यात आले आहे'''.
-तुम्म्ही हा फरक बघू शकता ; माहिती यात मीलु शकेल [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} रिक्क्त केलेली महिती].",
-'rev-suppressed-diff-view' => "या पेज चे रिविषन  '''रीक्त करन्यात आले आहे'''.
-तुम्म्ही हा फरक बघू शकता ; माहिती यात मीलु शकेल [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}}  जर तुम्ही चलु थेउ ईच्चुक असाल तर].",
+'rev-deleted-unhide-diff' => "या फरकाच्या आवृत्तींपैकी एक आवृत्ती  '''वगळण्यात आली आहे'''.
+[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} वगळण्याच्या नोंदी] येथे अधिक तपशिल मिळू शकेल.जर आपणास काम पुढे चालू ठेवायचे असेल तर आपण आत्ता सुद्धा [$1 हा फरक बघु शकता].",
+'rev-suppressed-unhide-diff' => "या फरकाच्या आवृत्तींपैकी एक आवृत्ती '''दडपण्यात आली आहे'''. [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} दडपण्याच्या  नोंदी] येथे अधिक तपशिल मिळू शकेल.जर आपणास काम पुढे चालू ठेवायचे असेल तर, आपण आत्ता सुद्धा [$1 हा फरक बघु शकता].",
+'rev-deleted-diff-view' => "या फरकाच्या आवृत्तींपैकी एक आवृत्ती '''वगळण्यात आली आहे'''. आपण हा फरक बघु शकता; [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} वगळण्याच्या नोंदी] येथे अधिक तपशिल मिळू शकेल.",
+'rev-suppressed-diff-view' => "या फरकाच्या आवृत्तींपैकी एक आवृत्ती '''दडपण्यात आली आहे'''. आपण हा फरक बघु शकता; [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} दडपण्याच्या नोंदी] येथे अधिक तपशिल मिळू शकेल.",
 'rev-delundel' => 'दाखवा/लपवा',
 'rev-showdeleted' => 'दाखवा',
-'revisiondelete' => 'à¤\86वरà¥\8dतनà¥\87 वगळा/पुनर्स्थापित करा',
-'revdelete-nooldid-title' => 'à¤\85पà¥\87à¤\95à¥\8dषà¥\80त à¤\86वà¥\83तà¥\8dतà¥\80 à¤¦à¤¿à¤²à¥\87लà¥\80 à¤¨à¤¾à¤¹ी',
-'revdelete-nooldid-text' => '!!आपण ही कृती करावयाची आवर्तने सूचीमध्ये केलेली नाहीत, दिलेले आवर्तन अस्तित्वात नाही, किंवा तुम्ही सध्याचे आवर्तन लपविण्याचा प्रयत्न करित आहात.',
+'revisiondelete' => 'à¤\86वà¥\83तà¥\8dतà¥\8dया वगळा/पुनर्स्थापित करा',
+'revdelete-nooldid-title' => 'à¤\85वà¥\88ध à¤²à¤\95à¥\8dषà¥\8dय à¤\86वà¥\83तà¥\8dती',
+'revdelete-nooldid-text' => 'आपण एकतर ही कृती करावयासाठीच्या लक्ष्य आवृत्ती(त्त्या) नमूद केल्या नाहीत / दिलेली आवृत्ती अस्तित्वात नाही, किंवा, तुम्ही सध्याची आवृत्ती लपविण्याचा प्रयत्न करीत आहात.',
 'revdelete-nologtype-title' => 'कोणताही क्रमलेखप्रकार दिलेला नाही',
-'revdelete-nologtype-text' => 'हà¥\80 à¤\95à¥\8dरिया à¤\95रणà¥\8dयासाठà¥\80 à¤¤à¥\81मà¥\8dहà¥\80 à¤¯à¤¾à¤¦à¥\80पà¥\8dरà¤\95ार à¤¨à¤¿à¤µà¤¡ला नाही.',
+'revdelete-nologtype-text' => 'हà¥\80 à¤\95à¥\8dरिया à¤\95रणà¥\8dयासाठà¥\80 à¤¤à¥\81मà¥\8dहà¥\80 à¤\95à¥\8dरमलà¥\87à¤\96पà¥\8dरà¤\95ार  à¤¨à¤®à¥\82द à¤\95à¥\87ला नाही.',
 'revdelete-nologid-title' => 'अवैध क्रमलेख प्रविष्टी',
-'revdelete-nologid-text' => 'तà¥\81मà¥\8dहà¥\80 à¤¹à¥\87 à¤\95ारà¥\8dय à¤¹à¥\8bणà¥\8dयासाठà¥\80 à¤¨à¤¿à¤¶à¥\8dà¤\9aित à¤¯à¤¾à¤¦à¥\80 प्रसंग निवडला नाही किंवा दिलेली प्रविष्टी अस्तित्वात नाही.',
+'revdelete-nologid-text' => 'तà¥\81मà¥\8dहà¥\80 à¤¹à¥\87 à¤\95ारà¥\8dय à¤¹à¥\8bणà¥\8dयासाठà¥\80 à¤\8fà¤\95तर à¤²à¤\95à¥\8dषà¥\8dय à¤\95à¥\8dरमलà¥\87à¤\96 प्रसंग निवडला नाही किंवा दिलेली प्रविष्टी अस्तित्वात नाही.',
 'revdelete-no-file' => 'दर्शिवलेली संचिका अस्तित्वात नाही.',
-'revdelete-show-file-confirm' => 'तà¥\81मà¥\8dहà¥\80 "<nowiki>$1</nowiki>" à¤¯à¤¾ à¤¸à¤\82à¤\9aिà¤\95à¥\87à¤\9aà¥\87 $2 à¤¯à¥\87थà¥\82न $3 à¤µà¥\87ळà¥\80 à¤\85सलà¥\87लà¥\87 à¤\86वरà¥\8dतन नक्की पहाणार आहात?',
+'revdelete-show-file-confirm' => 'तà¥\81मà¥\8dहà¥\80 "<nowiki>$1</nowiki>" à¤¯à¤¾ à¤¸à¤\82à¤\9aिà¤\95à¥\87à¤\9aà¥\80  $2 à¤²à¤¾ $3 à¤µà¥\87ळà¥\80  à¤µà¤\97ळलà¥\87लà¥\80 à¤\86वà¥\83तà¥\8dतà¥\80 नक्की पहाणार आहात?',
 'revdelete-show-file-submit' => 'होय',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|à¤\9aà¥\87 à¤¨à¤¿à¤µà¤¡à¤²à¥\87लà¥\87 à¤\86वरà¥\8dतन|à¤\9aà¥\80 à¤¨à¤¿à¤µà¤¡à¤²à¥\87लà¥\80 à¤\86वरà¥\8dतनà¥\87}}:'''",
+'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|à¤\9aà¥\80 à¤¨à¤¿à¤µà¤¡à¤²à¥\87लà¥\80 à¤\86वà¥\83तà¥\8dतà¥\80|à¤\9aà¥\8dया à¤¨à¤¿à¤µà¤¡à¤²à¥\87लà¥\8dया à¤\86वà¥\83तà¥\8dतà¥\8dया}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|निवडलेली नोंदीकृत घटना|निवडलेल्या नोंदीकृत घटना}}:'''",
 'revdelete-text' => "'''वगळलेल्या नोंदी आणि घटना अजूनही पानाच्या इतिहासात आणि नोंदीत आढळेल,परंतु मजकुराचा भाग सार्वजनिक स्वरूपात उपलब्ध राहणार नाही.'''
 
 अजून इतर  प्रतिबंध घातल्या शिवाय {{SITENAME}}चे इतर प्रबंधक झाकलेला मजकूर याच दुव्याने परतवू शकतील.",
-'revdelete-confirm' => 'कृपया याची खात्री करा की तुम्ही जे करित आहात, त्याचे परिणाम जाणत आहात, आणि ते [[{{MediaWiki:Policy-url}}|मीडियाविकीच्या नीती]]नुसार आहे काय?',
+'revdelete-confirm' => "कृपया '''याची खात्री करा''' की तुम्ही जे करीत आहात, त्याचे परिणाम आपण जाणत आहात आणि, ते काम [[{{MediaWiki:Policy-url}}|मीडियाविकीच्या नीती]]नुसार आहे.",
 'revdelete-suppress-text' => "लपवण्याचा वापर '''फक्त''' पुढील बाबतीत होतो:
 * अनुपयोगी माहिती
 * अयोग्य व्यक्तिगत माहिती
-*: ''गृहपत्ते, दूरध्वनी क्रमांक व सामाजिक सुरक्षा क्रमांक''",
-'revdelete-legend' => 'दà¥\83शà¥\8dय à¤¬à¤\82धनà¥\87 à¤¨à¤¿à¤¶à¥\8dà¤\9aित करा',
+*: ''गृहपत्ते, दूरध्वनी क्रमांक व सामाजिक सुरक्षा क्रमांक वगैरे''",
+'revdelete-legend' => 'दà¥\83शà¥\8dय à¤¬à¤\82धनà¥\87 à¤¸à¥\8dथापित करा',
 'revdelete-hide-text' => 'आवर्तीत मजकूर लपवा',
 'revdelete-hide-image' => 'संचिका मजकूर लपवा',
 'revdelete-hide-name' => 'कृती आणि लक्ष्य लपवा',
 'revdelete-hide-comment' => 'संपादन संक्षेप लपवा',
 'revdelete-hide-user' => 'संपादकाचे सदस्यनाव/आयपी अंकपत्ता लपवा',
-'revdelete-hide-restricted' => 'हà¥\80 à¤¬à¤\82धनà¥\87 à¤ªà¥\8dरबà¤\82धà¤\95 à¤¤à¤¸à¥\87à¤\9a à¤\87तराà¤\82नाहà¥\80 à¤²à¤¾à¤\97à¥\82 à¤\95रा à¤¤à¤¸à¥\87à¤\9a à¤µà¥\8dयà¤\95à¥\8dतिरà¥\87à¤\96à¥\87ला à¤¤à¤¾à¤³à¤¾ à¤ à¥\8bà¤\95ा.',
+'revdelete-hide-restricted' => 'पà¥\8dरशासà¤\95ाà¤\82दà¥\8dवारà¥\87à¤\9aà¥\80 à¤®à¤¾à¤¹à¤¿à¤¤à¥\80 à¤¦à¤¡à¤ªà¤¾ à¤¤à¤¸à¥\87à¤\9a à¤\88तराà¤\82à¤\9aà¥\80हà¥\80',
 'revdelete-radio-same' => '(कृपया बदलू नये)',
 'revdelete-radio-set' => 'होय',
 'revdelete-radio-unset' => 'नाही',
-'revdelete-suppress' => 'पà¥\8dरबà¤\82धà¤\95 à¤¤à¤¸à¥\87à¤\9a à¤\87तराà¤\82पासà¥\82न à¤µà¤¿à¤¦à¤¾ à¤²à¤ªà¤µà¤¾',
+'revdelete-suppress' => 'पà¥\8dरशासà¤\95ाà¤\82दà¥\8dवारà¥\87à¤\9aà¥\80 à¤®à¤¾à¤¹à¤¿à¤¤à¥\80 à¤¦à¤¡à¤ªà¤¾ à¤¤à¤¸à¥\87à¤\9a à¤\88तराà¤\82à¤\9aà¥\80हà¥\80',
 'revdelete-unsuppress' => 'पुर्नस्थापीत आवृत्त्यांवरील बंधने ऊठवा',
 'revdelete-log' => 'कारण:',
 'revdelete-submit' => 'निवडलेल्या {{PLURAL:$1|आवृत्तीला|आवृत्त्यांना}} लागू करा',
-'revdelete-success' => "'''à¤\86वरà¥\8dतनाà¤\82à¤\9aà¥\80 दृश्यता यशस्वीपणे अद्ययावत केली.'''",
+'revdelete-success' => "'''à¤\86वà¥\83तà¥\8dतà¥\8dयाà¤\82à¤\9aà¥\80  दृश्यता यशस्वीपणे अद्ययावत केली.'''",
 'revdelete-failure' => "'''आवर्तन दृश्यता अद्ययावत करता येत नाही:'''
 $1",
-'logdelete-success' => "'''à¤\98à¤\9fनाà¤\82à¤\9aà¥\80 à¤¦à¥\83शà¥\8dयता à¤¯à¤¶à¤¸à¥\8dवà¥\80 à¤ªà¤£à¥\87 à¤²à¤¾à¤µिली.'''",
-'logdelete-failure' => "'''यादà¥\80 à¤¦à¥\83शà¥\8dयता à¤ à¤°à¤µà¤¤à¤¾ à¤\86लà¥\80 à¤¨à¤¾à¤¹à¥\80:'''
+'logdelete-success' => "'''नà¥\8bà¤\82दà¥\80à¤\82à¤\9aà¥\80 à¤¦à¥\83शà¥\8dयता à¤¯à¤¶à¤¸à¥\8dवà¥\80 à¤ªà¤£à¥\87 à¤¸à¥\8dथापिली.'''",
+'logdelete-failure' => "'''नà¥\8bà¤\82दà¥\80à¤\82à¤\9aà¥\80 à¤¦à¥\83शà¥\8dयता à¤¸à¥\8dथापिलà¥\8dया à¤\97à¥\87लà¥\80 à¤¨à¤¾à¤¹à¥\80.'''
 $1",
 'revdel-restore' => 'दृश्यता बदला',
 'revdel-restore-deleted' => 'वगळलेल्या आवृत्त्या',
-'revdel-restore-visible' => 'दà¥\83षà¥\8dय à¤\86वरà¥\8dतनà¥\87',
+'revdel-restore-visible' => 'दà¥\83षà¥\8dय à¤\86वà¥\83तà¥\8dतà¥\8dया',
 'pagehist' => 'पानाचा इतिहास',
 'deletedhist' => 'वगळलेला इतिहास',
-'revdelete-hide-current' => '$1 à¤®à¤§à¥\80ल $2 à¤¯à¤¾ à¤µà¥\87ळà¤\9aà¥\87 à¤\86वरà¥\8dतन à¤²à¤ªà¤µà¤¤à¤¾ à¤¯à¥\87त à¤¨à¤¾à¤¹à¥\80, : ते सद्य पुनरावर्तन आहे.
+'revdelete-hide-current' => '$1 à¤®à¤§à¥\80ल $2 à¤¯à¤¾ à¤µà¥\87ळà¤\9aà¥\87 à¤\86वरà¥\8dतन à¤²à¤ªà¤µà¤¿à¤£à¥\8dयात à¤¤à¥\8dरà¥\82à¤\9fà¥\80 : ते सद्य पुनरावर्तन आहे.
 ते लपवता येत नाही.',
 'revdelete-show-no-access' => '$2, $1 ची वस्तू दाखवताना अडचण: ती "प्रतिबंधित" खूण असलेली आहे.
 तुम्ही तिच्यापर्यंत पोचू शकत नाही.',
@@ -1306,8 +1301,8 @@ $1",
 
 # Suppression log
 'suppressionlog' => 'सप्रेशन नोंद',
-'suppressionlogtext' => 'à¤\96ालà¥\80ल à¤¯à¤¾à¤¦à¥\80 à¤¹à¥\80 à¤°à¤¿à¤\95à¥\8dà¤\95à¥\8dत à¤\86नà¥\80 à¤¬à¥\8dलà¥\8bà¤\95 à¤¤à¥\8dयाà¤\9aà¥\87 à¤ªà¥\8dरà¤\95ार à¤¹à¥\87 à¤\86डà¥\8dमिनिसà¥\8dà¤\9fà¥\8dरà¥\87à¤\9fरà¥\8dस à¤ªà¤¾à¤¸à¥\82न à¤\9aà¥\81पà¥\87 à¤\85सतात.
-हà¥\87 à¤¬à¤\98ा [[Special:BlockList|IP block list]] à¤¸à¤¦à¥\8dधà¥\8dया à¤\9aालà¥\82 à¤\85सलà¥\87लà¥\87  à¤\93परà¥\87शà¥\8dनल à¤¬à¤¨à¥\8dस à¤\86णि à¤¬à¥\8dलà¥\8bà¤\9aà¥\8dà¤\95à¥\8dस.',
+'suppressionlogtext' => 'à¤\96ालà¥\80ल à¤¦à¤¿à¤²à¥\87लà¥\80 à¤¯à¤¾à¤¦à¥\80 à¤¹à¥\80 à¤µà¤\97ळणà¥\8dयाà¤\9aà¥\80 à¤µ à¤ªà¥\8dरतिबà¤\82धनाà¤\9aà¥\80 à¤\86हà¥\87 à¤\9cà¥\8dयाà¤\9aा à¤\86शय à¤¹à¤¾ à¤ªà¥\8dरशासà¤\95ाà¤\82पासà¥\82न à¤²à¤ªà¤µà¤¿à¤£à¥\8dयात à¤\86ला à¤\86हà¥\87.सधà¥\8dया à¤\85सà¥\8dतितà¥\8dवात à¤\85सलà¥\87लà¥\80 à¤¬à¤\82दà¥\80 à¤µ à¤ªà¥\8dरतिबà¤\82धनाà¤\82à¤\9aà¥\80   
+यादà¥\80 [[Special:BlockList|पà¥\8dरतिबà¤\82धनाà¤\82à¤\9aà¥\80 à¤¯à¤¾à¤¦à¥\80]] à¤¬à¤\98ा.',
 
 # History merging
 'mergehistory' => 'पान ईतिहासांचे एकत्रीकरण करा',
@@ -1316,7 +1311,7 @@ $1",
 'mergehistory-box' => 'दोन पानांची आवर्तने संमिलीत करा:',
 'mergehistory-from' => 'स्रोत पान:',
 'mergehistory-into' => 'लक्ष्य पान:',
-'mergehistory-list' => 'à¤\97à¥\8bळाबà¥\87रà¥\80à¤\9c करण्याजोगा संपादन इतिहास',
+'mergehistory-list' => 'à¤\8fà¤\95तà¥\8dरित करण्याजोगा संपादन इतिहास',
 'mergehistory-merge' => '[[:$1]]ची पुढील आवर्तने [[:$2]]मध्ये एकत्रित करता येतील.ठराविक वेळी अथवा तत्पूर्वी झालेल्या आवर्तनांचे एकत्रीकरण करण्याकरिता रेडिओ कळ स्तंभ वापरा.हा स्तंभ सुचालन दुवे वापरल्यास पूर्वपदावर येईल हे लक्षात घ्या.',
 'mergehistory-go' => 'गोळाबेरीज करण्याजोगी संपादने दाखवा',
 'mergehistory-submit' => 'आवर्तने एकत्रित करा.',
@@ -1550,10 +1545,10 @@ $1",
 'userrights-no-interwiki' => 'इतर विकींवरचे सदस्य अधिकार बदलण्याची परवानगी तुम्हाला नाही.',
 'userrights-nodatabase' => 'विदा $1 अस्तित्वात नाही अथवा स्थानिक नाही.',
 'userrights-nologin' => 'सदस्य अधिकार देण्यासाठी तुम्ही प्रबंधक म्हणून [[Special:UserLogin|प्रवेश केलेला]] असणे आवश्यक आहे.',
-'userrights-notallowed' => 'तुमच्या सदस्य खात्यास सदस्य अधिकारांची निश्चिती करण्याची परवानगी नाही.',
+'userrights-notallowed' => 'तुमच्या सदस्य खात्यास, सदस्य अधिकारांची निश्चिती करण्याची परवानगी नाही.',
 'userrights-changeable-col' => 'गट जे तुम्ही बदलू शकता',
 'userrights-unchangeable-col' => 'गट जे तुम्ही बदलू शकत नाही',
-'userrights-conflict' => 'सदसà¥\8dय-हà¤\95à¥\8dà¤\95 à¤µà¤¿à¤¸à¤\82वाद!à¤\95à¥\83पया à¤\86पलà¥\87 à¤¬à¤¦à¤² à¤ªà¥\81नà¥\8dहा à¤ªà¥\8dरयà¥\81à¤\95à¥\8dत करा.',
+'userrights-conflict' => 'बदलाबाबत à¤¸à¤¦à¤¸à¥\8dय-हà¤\95à¥\8dà¤\95 à¤µà¤¿à¤¸à¤\82वाद !à¤\95à¥\83पया à¤\86पलà¥\87 à¤¬à¤¦à¤² à¤ªà¥\81नà¥\8dहा à¤ªà¥\81नरावलà¥\8bà¤\95ित à¤µ à¤¨à¤\95à¥\8dà¤\95à¥\80 करा.',
 'userrights-removed-self' => 'आपण आपले हक्क यशस्वीरित्या काढलेत.म्हणुन, या पानात आपण दाखल होऊ शकणार नाही.',
 
 # Groups
@@ -2081,7 +2076,7 @@ Input:contenttype/subtype, e.g. <code>image/jpeg</code>.',
 # Special:RandomInCategory
 'randomincategory' => 'वर्गातील अनियत पान',
 'randomincategory-invalidcategory' => '"$1" हे अधिकृत वर्गाचे नाव नाही.',
-'randomincategory-nopages' => '[[:वर्ग:$1]] यात काहीच पाने नाहीत.',
+'randomincategory-nopages' => '[[:Category:$1]] यात काहीच पाने नाहीत.',
 'randomincategory-selectcategory' => 'वर्ग: $1 $2 मधून अनियत पान उपलब्ध करा.',
 'randomincategory-selectcategory-submit' => 'जा',
 
@@ -3119,13 +3114,13 @@ $1',
 'pageinfo-length' => 'पानाचा आकार (बाइट्समध्ये)',
 'pageinfo-article-id' => 'पृष्ठ-परिचय',
 'pageinfo-language' => 'पानाच्या मजकूराची भाषा',
-'pageinfo-robot-policy' => 'शà¥\8bध-à¤\87à¤\82à¤\9cिनà¤\9aà¥\80 à¤¸à¥\8dथितà¥\80',
-'pageinfo-robot-index' => 'à¤\86नà¥\81à¤\95à¥\8dरमानà¥\80त',
-'pageinfo-robot-noindex' => 'à¤\86नà¥\81à¤\95à¥\8dरमानà¥\80त à¤\95रà¥\82 à¤¶à¤\95त नाही',
+'pageinfo-robot-policy' => 'यà¤\82तà¥\8dरमानवादà¥\8dवारà¥\87 à¤\85नà¥\81à¤\95à¥\8dरमन',
+'pageinfo-robot-index' => 'à¤\85नà¥\81मतà¥\80 à¤¦à¤¿à¤²à¥\80',
+'pageinfo-robot-noindex' => 'à¤\85नà¥\81मतà¥\80 à¤¦à¤¿à¤²à¥\8dया à¤\9cात नाही',
 'pageinfo-views' => 'अभिप्रायांची संख्या',
 'pageinfo-watchers' => 'पानावर पहारा देणाऱ्यांची संख्या',
 'pageinfo-few-watchers' => '$1 पेक्षा कमी {{PLURAL:$1|पहारेदार}}',
-'pageinfo-redirects-name' => 'या à¤ªà¤¾à¤¨à¤¾à¤\95डà¥\80ल à¤ªà¥\81नरà¥\8dनिरà¥\8dदà¥\87शनà¥\87',
+'pageinfo-redirects-name' => 'या à¤ªà¤¾à¤¨à¤¾à¤¸ à¤\85सलà¥\87लà¥\80  à¤ªà¥\81नरà¥\8dनिरà¥\8dदà¥\87शनाà¤\82à¤\9aà¥\80 à¤¸à¤\82à¤\96à¥\8dया',
 'pageinfo-subpages-name' => 'या पानाचे उप-पान',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|पुनर्निर्देशन|पुनर्निर्देशने}}; $3 {{PLURAL:$3|अ-पुनर्निर्देशन|अ-पुनर्निर्देशने}})',
 'pageinfo-firstuser' => 'पृष्ठ निर्मानक',
index 857ab41..b1a4d18 100644 (file)
@@ -7,6 +7,7 @@
  * @ingroup Language
  * @file
  *
+ * @author Algazel-ms
  * @author Anakmalaysia
  * @author Aurora
  * @author Aviator
@@ -624,7 +625,7 @@ Pentadbir yang menguncinya memberikan penjelasan yang berikut: "$3".',
 # Login and logout pages
 'logouttext' => "'''Anda telah log keluar.'''
 
-Anda boleh terus menggunakan {{SITENAME}} sebagai pengguna tanpa nama, atau anda boleh <span class='plainlinks'>[$1 log masuk sekali lagi]</span> sebagai pengguna lain. Anda boleh membersihkan cache pelayar web anda sekiranya terdapat laman yang memaparkan seolah-olah anda masih log masuk.",
+Sila ingat bahawa sesetengah halaman mungkin masih dipaparkan seolah-olah anda masih log masuk hingga anda memadamkan cache pelayar anda.",
 'welcomeuser' => 'Selamat datang, $1!',
 'welcomecreation-msg' => 'Akaun anda telah dibuka.
 Jangan lupa untuk mengubah [[Special:Preferences|keutamaan anda di {{SITENAME}}]].',
@@ -671,7 +672,7 @@ Jangan lupa untuk mengubah [[Special:Preferences|keutamaan anda di {{SITENAME}}]
 'createacct-emailoptional' => 'Alamat e-mel (pilihan)',
 'createacct-email-ph' => 'Isikan alamt e-mel anda',
 'createacct-another-email-ph' => 'Masukkan alamat e-mel',
-'createaccountmail' => 'Gunakan kata laluan rawak yang sementara dan hantarnya ke alamat e-mel yang dinyatakan di bawah',
+'createaccountmail' => 'Gunakan kata laluan rawak yang sementara dan hantarnya ke alamat e-mel yang dinyatakan',
 'createacct-realname' => 'Nama sebenar (pilihan)',
 'createaccountreason' => 'Sebab:',
 'createacct-reason' => 'Sebab',
@@ -1460,7 +1461,7 @@ Tindakan ini tidak boleh dibatalkan.',
 'userrights-changeable-col' => 'Kumpulan yang anda boleh ubah',
 'userrights-unchangeable-col' => 'Kumpulan yang anda tak boleh ubah',
 'userrights-irreversible-marker' => '$1*',
-'userrights-conflict' => 'Hak-hak pengguna bercanggah! Sila terapkan pengubahan anda sekali lagi.',
+'userrights-conflict' => 'Percanggahan perubahan hak pengguna! Sila semak dan sahkan perubahan anda.',
 'userrights-removed-self' => 'Anda telah berjaya menggugurkan hak-hak sendiri. Oleh yang demikian, anda tidak boleh mengakses halaman ini lagi.',
 
 # Groups
index 6bc7041..ae882dc 100644 (file)
@@ -107,7 +107,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Rebelar l miu andereço de correio eiletrónico nas noteficaçones',
 'tog-shownumberswatching' => "Amostrar l númaro d'outelizadores a begiar",
 'tog-fancysig' => 'Tratar assinatura cumo wikitesto (sin lhigaçon outomática)',
-'tog-showjumplinks' => 'Posseblitar lhigaçones d\'acessibelidade "{{ant:jumpto}}"',
 'tog-uselivepreview' => "Ousar l'antebison an tiempo rial (JavaScrit) (Spurmental)",
 'tog-forceeditsummary' => 'Abisar-me al antroduzir un sumairo bazio',
 'tog-watchlisthideown' => 'Scunder las mies eidiçones al lhistar mudanças a las páiginas begiadas',
index fd6b042..0ec2efd 100644 (file)
@@ -67,25 +67,29 @@ $messages = array(
 'tog-hidepatrolled' => 'လတ်တလော အပြောင်းအလဲများတွင် အရေးမကြီးသည်များကို ဝှက်ရန်',
 'tog-newpageshidepatrolled' => 'လက်တလော အပြောင်းလဲများတွင် စာမျက်နှာသစ်များကို ဝှက်ရန်',
 'tog-extendwatchlist' => 'စောင့်ကြည့်စာရင်းတွင် ပြောင်းလဲမှုအားလုံးအား  ပြရန်။',
-'tog-usenewrc' => 'á\80\9cá\80\90á\80ºá\80\90á\80\9cá\80±á\80¬á\80\95á\80¼á\80\84á\80ºá\80\86á\80\84á\80ºá\80\91á\80¬á\80¸á\80\99á\80¾á\80¯ á\80\9cá\80¯á\80\95á\80ºá\80\86á\80±á\80¬á\80\84á\80ºá\80\81á\80»á\80\80á\80ºá\80¡á\80¬á\80¸ á\80\90á\80­á\80¯á\80¸á\80\99á\80¼á\80¾á\80\84á\80·á\80ºá\80\9bá\80\94á\80º (JavaScript လိုအပ်သည်)',
+'tog-usenewrc' => 'á\80\9cá\80\90á\80ºá\80\90á\80\9cá\80±á\80¬á\80\95á\80¼á\80±á\80¬á\80\84á\80ºá\80¸á\80\9cá\80²á\80\99á\80¾á\80¯á\80\99á\80»á\80¬á\80¸á\80\90á\80½á\80\84á\80º á\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80¡á\80¬á\80¸á\80\96á\80¼á\80\84á\80·á\80º á\80¡á\80¯á\80\95á\80ºá\80\85á\80¯á\80\9cá\80­á\80¯á\80\80á\80ºá\80\95á\80¼á\80±á\80¬á\80\84á\80ºá\80¸á\80\9cá\80²á\80\99á\80¾á\80¯á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80\85á\80±á\80¬á\80\84á\80·á\80ºá\80\80á\80¼á\80\8aá\80·á\80ºá\80\85á\80¬á\80\9bá\80\84á\80ºá\80¸ (JavaScript လိုအပ်သည်)',
 'tog-numberheadings' => 'ခေါင်းစဉ်များ အား စေ့ဆော်ချက်အတိုင်း လုပ်ဆောင်ရန်',
 'tog-showtoolbar' => 'ပြုပြင်ရန် ကိရိယာများ (JavaScript လိုအပ်သည်)',
 'tog-editondblclick' => 'ကလစ်နှစ်ခါနှိပ်လျှင် စာမျက်နှာအားပြုပြင်ပါ (JavaScript လိုအပ်သည်)',
+'tog-editsection' => '[edit] လင့်များဖြင့် အပိုင်းလိုက်တည်းဖြတ်ခြင်းကို အသုံးပြုရန်',
+'tog-editsectiononrightclick' => 'အပိုင်းလိုက်ခေါင်းစဉ်များကို ညာကလစ်နှိပ်ခြင်းဖြင့် အပိုင်းလိုက် တည်းဖြတ်ခြင်းကို အသုံးပြုရန်',
+'tog-showtoc' => 'မာတိကာပြရန် (ခေါင်းစဉ် ၃ ခုအထက်ရှိသော စာမျက်နှာများအတွက်)',
 'tog-rememberpassword' => 'ဤကွန်ပျူတာတွင် ကျွန်ုပ်ကိုမှတ်ထားရန် (အများဆုံး $1 {{PLURAL:$1|ရက်|ရက်}}ကြာ)',
-'tog-watchcreations' => 'á\80\80á\80»á\80½á\80\94á\80ºá\80¯á\80\95á\80ºá\80\85á\80\90á\80\84á\80ºá\80\9bá\80±á\80¸á\80\9eá\80¬á\80¸á\80\81á\80²á\80·á\80\9eá\80\8aá\80·á\80ºá\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\80á\80­á\80¯ á\80\85á\80±á\80¬á\80\84á\80·á\80ºâ\80\8bá\80\80á\80¼á\80\8aá\80·á\80ºâ\80\8bá\80\85á\80¬â\80\8bá\80\9bá\80\84á\80ºá\80¸â\80\8bá\80\91á\80² á\80\95á\80±á\80«á\80\84á\80ºá\80¸á\80\91á\80\8aá\80·á\80ºá\80\95á\80«',
-'tog-watchdefault' => 'ကျွန်ုပ် တည်းဖြတ်ခဲ့သည့် စာမျက်နှာများကို စောင့်ကြည့်စာရင်းသို့  ပေါင်းထည့်ပါ။',
-'tog-watchmoves' => 'ကျွန်ုပ်ရွှေ့လိုက်သော စာမျက်နှာများကို စောင့်ကြည့်စာရင်းသို့ ပေါင်းထည့်ရန်',
-'tog-watchdeletion' => 'ဖျက်လိုက်သောစာမျက်နှာများကို စောင့်ကြည့်စာရင်သို့ ပေါင်းထည့်ရန်',
+'tog-watchcreations' => 'á\80\80á\80»á\80½á\80\94á\80ºá\80¯á\80\95á\80ºá\80\85á\80\90á\80\84á\80ºá\80\9bá\80±á\80¸á\80\9eá\80¬á\80¸á\80\81á\80²á\80·á\80\9eá\80\8aá\80·á\80ºá\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80¡á\80\95á\80ºá\80\9cá\80¯á\80\95á\80ºá\80\90á\80\84á\80ºá\80\81á\80²á\80·á\80\9eá\80\8aá\80·á\80º á\80\96á\80­á\80¯á\80\84á\80ºá\80\99á\80»á\80¬á\80¸á\80\80á\80­á\80¯ á\80\85á\80±á\80¬á\80\84á\80·á\80ºâ\80\8bá\80\80á\80¼á\80\8aá\80·á\80ºâ\80\8bá\80\85á\80¬â\80\8bá\80\9bá\80\84á\80ºá\80¸â\80\8bá\80\91á\80² á\80\95á\80±á\80«á\80\84á\80ºá\80¸á\80\91á\80\8aá\80·á\80ºá\80\9bá\80\94á\80º',
+'tog-watchdefault' => 'á\80\80á\80»á\80½á\80\94á\80ºá\80¯á\80\95á\80º á\80\90á\80\8aá\80ºá\80¸á\80\96á\80¼á\80\90á\80ºá\80\81á\80²á\80·á\80\9eá\80\8aá\80·á\80º á\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80\96á\80­á\80¯á\80\84á\80ºá\80\99á\80»á\80¬á\80¸á\80\80á\80­á\80¯ á\80\85á\80±á\80¬á\80\84á\80·á\80ºá\80\80á\80¼á\80\8aá\80·á\80ºá\80\85á\80¬á\80\9bá\80\84á\80ºá\80¸á\80\9eá\80­á\80¯á\80·  á\80\95á\80±á\80«á\80\84á\80ºá\80¸á\80\91á\80\8aá\80·á\80ºá\80\95á\80«á\81\8b',
+'tog-watchmoves' => 'á\80\80á\80»á\80½á\80\94á\80ºá\80¯á\80\95á\80ºá\80\9bá\80½á\80¾á\80±á\80·á\80\9cá\80­á\80¯á\80\80á\80ºá\80\9eá\80±á\80¬ á\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80\96á\80­á\80¯á\80\84á\80ºá\80\99á\80»á\80¬á\80¸á\80\80á\80­á\80¯ á\80\85á\80±á\80¬á\80\84á\80·á\80ºá\80\80á\80¼á\80\8aá\80·á\80ºá\80\85á\80¬á\80\9bá\80\84á\80ºá\80¸á\80\9eá\80­á\80¯á\80· á\80\95á\80±á\80«á\80\84á\80ºá\80¸á\80\91á\80\8aá\80·á\80ºá\80\9bá\80\94á\80º',
+'tog-watchdeletion' => 'á\80\96á\80»á\80\80á\80ºá\80\9cá\80­á\80¯á\80\80á\80ºá\80\9eá\80±á\80¬á\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80\96á\80­á\80¯á\80\84á\80ºá\80\99á\80»á\80¬á\80¸á\80\80á\80­á\80¯ á\80\85á\80±á\80¬á\80\84á\80·á\80ºá\80\80á\80¼á\80\8aá\80·á\80ºá\80\85á\80¬á\80\9bá\80\84á\80ºá\80\9eá\80­á\80¯á\80· á\80\95á\80±á\80«á\80\84á\80ºá\80¸á\80\91á\80\8aá\80·á\80ºá\80\9bá\80\94á\80º',
 'tog-minordefault' => 'တည်းဖြတ်မှုအားလုံးသည် အရေးမကြီးသော တည်းဖြတ်မှုဟု ပုံသေသတ်မှတ်ရန်',
 'tog-previewontop' => 'တည်းဖြတ်သည့်အကွက်မတိုင်မီ နမူနာကို ပြရန်',
 'tog-previewonfirst' => 'ပထမတည်းဖြတ်မှုတွင် နမူနာကို ပြရန်',
 'tog-nocache' => 'ဘရောက်ဇာ၏ page caching သိမ်းဆည်းမှုကို ပိတ်ထားရန်',
-'tog-enotifwatchlistpages' => 'ကျွန်ုပ်၏စောင့်ကြည့်စာရင်းမှ စာမျက်နှာတစ်ခုကို ပြောင်းလဲလိုက်ပါက ကျွနုပ်ဆီ အီးမေးလို့ရန်',
+'tog-enotifwatchlistpages' => 'ကျွန်ုပ်၏စောင့်ကြည့်စာရင်းမှ စာမျက်နှာတစ်ခု သို့မဟုတ် ဖိုင်တစ်ခုကို ပြောင်းလဲလိုက်ပါက ကျွနုပ်ဆီ အီးမေးပို့ရန်',
 'tog-enotifusertalkpages' => 'ကျွန်ုပ်၏ဆွေးနွေးချက်စာမျက်နှာ ပြောင်းလဲမှုရှိပါက ကျွန်ုပ်ထံ အီးမေးပို့ရန်',
-'tog-enotifminoredits' => 'စာမျက်နှာများ၏ အရေးမကြီးသော တည်းဖြတ်မှုများကိုလည်း အီးမေးပို့ရန်',
+'tog-enotifminoredits' => 'á\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80\96á\80­á\80¯á\80\84á\80ºá\80\99á\80»á\80¬á\80¸á\81\8f á\80¡á\80\9bá\80±á\80¸á\80\99á\80\80á\80¼á\80®á\80¸á\80\9eá\80±á\80¬ á\80\90á\80\8aá\80ºá\80¸á\80\96á\80¼á\80\90á\80ºá\80\99á\80¾á\80¯á\80\99á\80»á\80¬á\80¸á\80\80á\80­á\80¯á\80\9cá\80\8aá\80ºá\80¸ á\80¡á\80®á\80¸á\80\99á\80±á\80¸á\80\95á\80­á\80¯á\80·á\80\9bá\80\94á\80º',
 'tog-enotifrevealaddr' => ' အသိပေးချက်အီးမေးများတွင် ကျွန်ုပ်၏ အီးမေးလိပ်စာကို ဖော်ပြရန်',
 'tog-shownumberswatching' => 'စောင့်ကြည့်နေသော အသုံးပြုသူအရေအတွက်ကို ပြရန်',
 'tog-oldsig' => 'ရှိနှင့်ပြီးသား လက်မှတ်၏ နမူနာ -',
+'tog-fancysig' => 'လက်မှတ်ကို ဝီကီလင့်အဖြစ် သတ်မှတ်ရန် (အလိုအလျောက်လင့်မပါဘဲနှင့်)',
 'tog-forceeditsummary' => 'တည်းဖြတ်အတိုချုပ် ဗလာဖြစ်နေလျှင် သတိပေးရန်',
 'tog-watchlisthideown' => 'ကျွန်ုပ်၏ တည်းဖြတ်မှုများကို စောင့်ကြည့်စာရင်းမှ ဝှက်ထားရန်',
 'tog-watchlisthidebots' => 'ဘော့တည်းဖြတ်မှုများကို စောင့်ကြည့်စာရင်းမှ ဝှက်ထားရန်',
@@ -94,11 +98,13 @@ $messages = array(
 'tog-watchlisthideanons' => 'စောင့်ကြည့်စာရင်းမှ အမည်မသိ အသုံးပြုသူများ၏ တည်းဖြတ်မှုများကို ဝှက်ရန်',
 'tog-watchlisthidepatrolled' => 'patrolled တည်းဖြတ်မှုများကို စောင့်ကြည့်စာရင်းမှ ဝှက်ထားရန်',
 'tog-ccmeonemails' => 'ကျွန်ုပ် အခြားအသုံးပြုသူများထံပို့သော အီးမေးမိတ္တူကို ကျွန်ုပ်ထံ ပြန်ပို့ရန်',
+'tog-diffonly' => 'ကွဲပြားမှုများအောက်ရှိ စာမျက်နှာတွင်ပါဝင်သည်များကို မပြပါနှင့်',
 'tog-showhiddencats' => 'ဝှက်ထားသော ကဏ္ဍများကို ပြရန်',
+'tog-useeditwarning' => 'မသိမ်းရသေးသော ပြောင်းလဲမှုများ နှင့် တည်းဖြတ်ဆဲစာမျက်နှာမှ ထွက်သွားလျှင် သတိပေးပါ',
 
 'underline-always' => 'အမြဲ',
 'underline-never' => 'ဘယ်သောအခါမျှ',
-'underline-default' => 'ဘရောက်ဆာ default အတိုင်း',
+'underline-default' => 'ဘရောက်ဆာ သို့ Skin default အတိုင်း',
 
 # Font style option in Special:Preferences
 'editfont-style' => 'ဖောင့်စတိုင်ကို ပြုပြင်ရန် -',
@@ -158,6 +164,18 @@ $messages = array(
 'oct' => 'အောက်',
 'nov' => 'နို',
 'dec' => 'ဒီ',
+'january-date' => 'ဇန်နဝါရီ $1',
+'february-date' => 'ဖေဖော်ဝါရီ $1',
+'march-date' => 'မတ် $1',
+'april-date' => 'ဧပြီ $1',
+'may-date' => 'မေ $1',
+'june-date' => 'ဂျွန် $1',
+'july-date' => 'ဂျူလိုင် $1',
+'august-date' => 'ဩဂုတ် $1',
+'september-date' => 'စက်တင်ဘာ $1',
+'october-date' => 'အောက်တိုဘာ $1',
+'november-date' => 'နိုဝင်ဘာ $1',
+'december-date' => 'ဒီဇင်ဘာ $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|ကဏ္ဍ|ကဏ္ဍ}}',
@@ -168,8 +186,11 @@ $messages = array(
 'hidden-categories' => '{{PLURAL:$1|ဝှက်ထားသော ကဏ္ဍ|ဝှက်ထားသော ကဏ္ဍများ}}',
 'hidden-category-category' => 'ဝှက်ထားသော ကဏ္ဍများ',
 'category-subcat-count' => '{{PLURAL:$2|ဤကဏ္ဍတွင် အောက်ပါ ကဏ္ဍခွဲသာ ရှိသည်။ |ဤကဏ္ဍတွင် စုစုပေါင်း $2 ခု အနက်မှ အောက်ပါ {{PLURAL:$1|ကဏ္ဍခွဲ|ကဏ္ဍခွဲ $1 ခု}} ရှိသည်။}}',
+'category-subcat-count-limited' => 'ဤကဏ္ဍတွင် အောက်ပါ {PLURAL:$1|ကဏ္ဍခွဲ|$1 ကဏ္ဍခွဲများ}} ရှိသည်။',
 'category-article-count' => '{{PLURAL:$2|ဤကဏ္ဍတွင် အောက်ပါစာမျက်နှာသာ ရှိသည်။|စုစုပေါင်း $2 အနက်မှ အောက်ပါ {{PLURAL:$1|စာမျက်နှာသည်|စာမျက်နှာ $1 ခုသည်}} ဤကဏ္ဍတွင် ရှိသည်။}}',
+'category-article-count-limited' => 'အောက်ပါ{{PLURAL:$1|စာမျက်နှာ|$1 စာမျက်နှာများ}} သည် လက်ရှိကဏ္ဍတွင် ရှိသည်။',
 'category-file-count' => '{{PLURAL:$2|ဤကဏ္ဍတွင် အောက်ပါဖိုင်သာ ရှိသည်။|စုစုပေါင်း $2 အနက်မှ အောက်ပါ {{PLURAL:$1|ဖိုင် သည်|ဖိုင် $1 ခုသည်}} ဤကဏ္ဍတွင် ရှိသည်။}}',
+'category-file-count-limited' => 'အောက်ပါ {PLURAL:$1|စာမျက်နှာ|$1 စာမျက်နှာများ}} သည် လက်ရှိစာမျက်နှာတွင် ရှိသည်။',
 'listingcontinuesabbrev' => 'ပံ့ပိုး',
 'index-category' => 'အက္ခရာစဉ် စာမျက်နှာများ',
 'noindex-category' => 'အက္ခရာစဉ် စာမျက်နှာများမရှိ',
@@ -180,7 +201,8 @@ $messages = array(
 'newwindow' => '(ဝင်းဒိုးအသစ်တခုကိုဖွင့်ရန်)',
 'cancel' => 'မ​လုပ်​တော့​',
 'moredotdotdot' => 'နောက်ထပ်...',
-'mypage' => 'ကျွန်ုပ် စာမျက်နှာ',
+'morenotlisted' => 'နောက်ထပ် စာရင်း မရှိပါ...',
+'mypage' => 'စာမျက်နှာ',
 'mytalk' => 'ဆွေးနွေးချက်',
 'anontalk' => 'ဤ IP address အတွက် ဆွေးနွေးရန်',
 'navigation' => 'အ​ညွှန်း​',
@@ -202,7 +224,8 @@ $messages = array(
 'vector-action-move' => 'ရွှေ့ပါ',
 'vector-action-protect' => 'ထိမ်း​သိမ်း​ပါ​',
 'vector-action-undelete' => 'မဖျက်တော့ရန်',
-'vector-action-unprotect' => 'မကာကွယ်တော့ရန်',
+'vector-action-unprotect' => 'ကာကွယ်ခြင်းကို ပြောင်းလဲရန်',
+'vector-simplesearch-preference' => 'ရိုးရှင်းသော ရှာဖွေမှုဘားကို အသုံးပြုရန် (Vector skin သာ)',
 'vector-view-create' => 'စတင်ရေးသားရန်',
 'vector-view-edit' => 'ပြင်ရန်',
 'vector-view-history' => 'ရာဇဝင်ကြည့်ရန်',
index c7316d6..7c61177 100644 (file)
@@ -216,7 +216,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Невтемс зяро теицятнеде, конат аравтызь лопанть эсест ванома лемрисьментень',
 'tog-oldsig' => 'Уликс кедьпутовксось:',
 'tog-fancysig' => 'Лемпутовксось прок викитекст (сонсь теевиця сюлмавома певтеме)',
-'tog-showjumplinks' => 'Меремс "тёкадемс" маласпонгомань сюлмавомапетнес',
 'tog-uselivepreview' => 'Максомс эряй васнянь невтевкс (JavaScript) (Варчамонь)',
 'tog-forceeditsummary' => 'Невтик монень, мезе сёрмадомс витнемадо-петнемадо ёвтамонь вальминентень',
 'tog-watchlisthideown' => 'Кекшить монь теевть витневкстнэнь ванома лемрисьменть эйстэ',
index 9d6ffce..6d56c7f 100644 (file)
@@ -156,7 +156,6 @@ $messages = array(
 'tog-shownumberswatching' => 'دمبالکرونِ سِراق هدائن',
 'tog-oldsig' => 'پیش نیمایش ایمضای موجود:',
 'tog-fancysig' => 'ایمضا ره ویکی متن نظر بیرین (بدون لینک هایتن)',
-'tog-showjumplinks' => 'فعال هکردن بپرسنی پیوندون مندرجات فهرست دله',
 'tog-uselivepreview' => 'ایستیفاده از پیش نیمایش زنده (جاوا اسکریپ) (جدیده)',
 'tog-forceeditsummary' => 'زمونی که خولاصه دچی‌ین ره ننویشتمه مه ره بائو',
 'tog-watchlisthideown' => 'دپوشنی‌ین کارای من پیگریای ِفهرست دله',
index a9463ef..9778a0f 100644 (file)
@@ -373,6 +373,8 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'changeemail-cancel' => 'Canciella',
 
 # Edit page toolbar
+'bold_sample' => 'Grassetto',
+'bold_tip' => 'Grassetto',
 'italic_sample' => 'Corsivo',
 'italic_tip' => 'Corsivo',
 'link_sample' => 'Titulo ddo cullegamente',
@@ -420,6 +422,7 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'currentrevisionlink' => "Verzione 'e mmo",
 'cur' => 'corr',
 'last' => 'prec',
+'history-show-deleted' => 'Solo chille canciellate',
 'histfirst' => 'primma',
 'histlast' => 'urdema',
 
@@ -556,6 +559,7 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'nbytes' => '$1 {{PLURAL:$1|byte|byte}}',
 'ncategories' => '$1 {{PLURAL:$1|categoria|categorie}}',
 'nlinks' => '$1 {{PLURAL:$1|cullegamiento|cullegamiente}}',
+'nmembers' => '$1 {{PLURAL:$1|elemento|elemente}}',
 'popularpages' => "Paggene cchiù 'speziunate",
 'wantedpages' => 'Paggene cchiù addemannate',
 'shortpages' => 'Paggene curte',
@@ -588,6 +592,7 @@ Also see [[Special:WantedCategories|wanted categories]].",
 
 # Special:LinkSearch
 'linksearch-ok' => 'Truova',
+'linksearch-line' => "$1 presente dint'â paggena $2",
 
 # Email user
 'emailuser' => 'Email chisto utente',
@@ -637,6 +642,8 @@ Also see [[Special:WantedCategories|wanted categories]].",
 'mycontris' => "'E ffatiche d''e mmeje",
 'contribsub2' => 'Ppe $1 ($2)',
 'uctop' => '(attuale)',
+'month' => 'D"o mese (e primma):',
+'year' => "'E ll'anno (e primma):",
 
 'sp-contributions-newbies' => "Mosta solo 'e contribbute dde nove utente",
 'sp-contributions-blocklog' => 'blocche',
index 49de8ad..a013634 100644 (file)
@@ -3013,7 +3013,7 @@ Aquò es probablament causat per un ligam sus lista negra que punta cap a un sit
 'pageinfo-views' => 'Nombre de vistas',
 'pageinfo-watchers' => "Nombre de contributors qu'an la pagina dins lor lista de seguiment",
 'pageinfo-few-watchers' => 'Mens de $1 {{PLURAL:$1|observator|observators}}',
-'pageinfo-redirects-name' => 'Redireccions cap a aquesta pagina',
+'pageinfo-redirects-name' => 'Nombre de redireccions cap a aquesta pagina',
 'pageinfo-subpages-name' => "Sospaginas d'aquesta pagina",
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|redireccion|redireccions}}; $3 {{PLURAL:$3|non-redireccion|non-redireccions}})',
 'pageinfo-firstuser' => 'Creator de la pagina',
index e587d2d..8204c09 100644 (file)
@@ -46,7 +46,6 @@ Pabusten ing pamanaliling dake kapamilatan [alilan] ning suglung',
 'tog-shownumberswatching' => 'Ipakit la reng bilang da reng magbanteng talagamit',
 'tog-oldsig' => 'I-preview ya ing salukuyan a pirma',
 'tog-fancysig' => 'Ituring yang wikitext ing pirma (alang automatic link o tambing a suglung)',
-'tog-showjumplinks' => 'Salangian la reng suglung a pampabilis (accessibility links) a "luksu king" (jump to)',
 'tog-uselivepreview' => 'Gumamit kang live preview (JavaScript) (Experimental)',
 'tog-forceeditsummary' => 'Pabaluan mu ku ustung magpalub a blankung edit',
 'tog-watchlisthideown' => 'Isalikut mo reng alili kareng babanten',
index 6024beb..4500dac 100644 (file)
@@ -677,6 +677,7 @@ Możliwe, że zostały już usunięte przez kogoś innego.',
 'cannotdelete-title' => 'Nie można usunąć strony „$1”.',
 'delete-hook-aborted' => 'Usuwanie przerwane przez hak.
 Przyczyna nieokreślona.',
+'no-null-revision' => 'Nie można utworzyć zerowej wersji strony "$1"',
 'badtitle' => 'Niepoprawny tytuł',
 'badtitletext' => 'Podano niepoprawny tytuł strony. Prawdopodobnie jest pusty lub zawiera znaki, których użycie jest zabronione.',
 'perfcached' => 'Poniższe dane są kopią z pamięci podręcznej i mogą być nieaktualne. Maksymalnie {{PLURAL:$1|jeden wynik jest|$1 wyniki są|$1 wyników jest}} w pamięci podręcznej.',
@@ -726,7 +727,6 @@ Administrator blokujący go podał następujący powód "\'\'$3\'\'".',
 # Login and logout pages
 'logouttext' => "'''Nie jesteś już zalogowany.'''
 
-Możesz kontynuować pracę w {{GRAMMAR:MS.lp|{{SITENAME}}}} jako niezarejestrowany użytkownik albo <span class='plainlinks'>[$1 zalogować się ponownie]</span> jako ten sam lub inny użytkownik.
 Zauważ, że do momentu wyczyszczenia pamięci podręcznej przeglądarki niektóre strony mogą wyglądać tak, jakbyś wciąż był zalogowany.",
 'welcomeuser' => 'Witaj, $1!',
 'welcomecreation-msg' => 'Twoje konto zostało utworzone.
@@ -774,7 +774,7 @@ Nie zapomnij dostosować [[Special:Preferences|preferencji]].',
 'createacct-emailoptional' => 'Adres e-mail (opcjonalnie)',
 'createacct-email-ph' => 'Wpisz swój adres e-mail',
 'createacct-another-email-ph' => 'Podaj adres e-mail',
-'createaccountmail' => 'Użyj tymczasowego hasła wygenerowanego losowo i wyślij je na podany poniżej adres e-mail',
+'createaccountmail' => 'Użyj tymczasowego hasła wygenerowanego losowo i wyślij je na podany adres e-mail',
 'createacct-realname' => 'Prawdziwe imię i nazwisko (opcjonalnie)',
 'createaccountreason' => 'Powód',
 'createacct-reason' => 'Powód',
@@ -1553,6 +1553,7 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'prefs-displayrc' => 'Opcje wyświetlania',
 'prefs-displaysearchoptions' => 'Opcje wyświetlania',
 'prefs-displaywatchlist' => 'Opcje wyświetlania',
+'prefs-tokenwatchlist' => 'Token',
 'prefs-diffs' => 'Zmiany',
 
 # User preference: email validation using jQuery
@@ -1569,7 +1570,7 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'saveusergroups' => 'Zapisz',
 'userrights-groupsmember' => 'Należy do:',
 'userrights-groupsmember-auto' => 'Na stałe należy do:',
-'userrights-groups-help' => 'Możesz zmienić przynależność tego użytkownika do podanych grup.
+'userrights-groups-help' => 'Możesz zmienić przynależność tego użytkownika do podanych grup:
 * Zaznaczone pole oznacza przynależność użytkownika do danej grupy.
 * Niezaznaczone pole oznacza, że użytkownik nie należy do danej grupy.
 * Gwiazdka * informuje, że nie możesz usunąć użytkownika z grupy po dodaniu do niej lub dodać po usunięciu.',
@@ -1580,7 +1581,7 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'userrights-notallowed' => 'Nie jesteś upoważniony do nadawania i odbierania uprawnień użytkownikom.',
 'userrights-changeable-col' => 'Grupy, które możesz wybrać',
 'userrights-unchangeable-col' => 'Grupy, których nie możesz wybrać',
-'userrights-conflict' => 'Konflikt uprawnień użytkownika! Proszę zastosować zmiany ponownie.',
+'userrights-conflict' => 'Konflikt zmiany uprawnień użytkownika! Proszę sprawdzić i potwierdzić swoje zmiany.',
 'userrights-removed-self' => 'Pomyślnie odebrałeś sobie uprawnienia. W związku z tym nie masz już dostępu do tej strony.',
 
 # Groups
@@ -2240,6 +2241,7 @@ Każdy wiersz zawiera linki do pierwszego i drugiego przekierowania oraz link, d
 'mostrevisions' => 'Strony o największej liczbie wersji',
 'prefixindex' => 'Wszystkie strony o prefiksie',
 'prefixindex-namespace' => 'Wszystkie strony z prefiksem (przestrzeń nazw $1)',
+'prefixindex-strip' => 'Ukryj prefiks na liście wyników',
 'shortpages' => 'Najkrótsze strony',
 'longpages' => 'Najdłuższe strony',
 'deadendpages' => 'Strony bez linków wewnętrznych',
@@ -2438,7 +2440,7 @@ Każda zmiana treści tej strony lub związanej z nią strony dyskusji zostanie
 'watchmethod-list' => 'poszukiwanie obserwowanych stron wśród ostatnich zmian',
 'watchlistcontains' => 'Na liście obserwowanych przez Ciebie stron {{PLURAL:$1|znajduje się 1 pozycja|znajdują się $1 pozycje|znajduje się $1 pozycji}}.',
 'iteminvalidname' => 'Problem z pozycją „$1” – niepoprawna nazwa...',
-'wlnote' => "Poniżej pokazano {{PLURAL:$1|ostatnią zmianę wykonaną|ostatnie '''$1''' zmiany wykonane|ostatnich '''$1''' zmian wykonanych}} w ciągu {{PLURAL:$2|ostatniej godziny|ostatnich '''$2''' godzin}}, licząc od $4 dnia $3.",
+'wlnote' => "Poniżej pokazano {{PLURAL:$1|zmianę wykonaną|'''$1''' zmiany wykonane|'''$1''' zmian wykonanych}} w ciągu {{PLURAL:$2|ostatniej godziny|ostatnich '''$2''' godzin}}, licząc od $4 dnia $3.",
 'wlshowlast' => 'Pokaż ostatnie $1 godzin, $2 dni ($3)',
 'watchlist-options' => 'Opcje obserwowanych',
 
@@ -3217,9 +3219,9 @@ Najprawdopodobniej zostało to spowodowane przez link do zewnętrznej strony int
 'pageinfo-length' => 'Długość strony (w bajtach)',
 'pageinfo-article-id' => 'Identyfikator strony',
 'pageinfo-language' => 'Język zawartości strony',
-'pageinfo-robot-policy' => 'Status w wyszukiwarce',
-'pageinfo-robot-index' => 'Indeksowalne',
-'pageinfo-robot-noindex' => 'Nieindeksowalne',
+'pageinfo-robot-policy' => 'Indeksowanie przez roboty',
+'pageinfo-robot-index' => 'Dozwolone',
+'pageinfo-robot-noindex' => 'Niedozwolone',
 'pageinfo-views' => 'Odsłon',
 'pageinfo-watchers' => 'Liczba obserwujących',
 'pageinfo-few-watchers' => 'Mniej niż $1 {{PLURAL:$1|obserwujący|obserwujących}}',
@@ -4251,4 +4253,19 @@ W przeciwnym wypadku można użyć prostego formularza poniżej. Komentarz zosta
 # Image rotation
 'rotate-comment' => 'Obraz został odwrócony o $1 {{PLURAL:$1|stopień|stopnie|stopni}} (w kierunku zgodnym z ruchem wskazówek zegara)',
 
+# Limit report
+'limitreport-title' => 'Dane profilowania parsera:',
+'limitreport-cputime' => 'Czas pracy (CPU)',
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|sekunda|sekund}}',
+'limitreport-walltime' => 'Czas pracy (faktyczny)',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|sekunda|sekund}}',
+'limitreport-ppvisitednodes' => 'Liczba odwiedzonych węzłów preprocesora',
+'limitreport-ppgeneratednodes' => 'Liczba wygenerowanych węzłów preprocesora',
+'limitreport-postexpandincludesize' => 'Rozmiar dołączonych elementów po ekspansji',
+'limitreport-postexpandincludesize-value' => '$1/$2 bajtów',
+'limitreport-templateargumentsize' => 'Rozmiar argumentów szablonów',
+'limitreport-templateargumentsize-value' => '$1/$2 bajtów',
+'limitreport-expansiondepth' => 'Największa głębokość ekspansji',
+'limitreport-expensivefunctioncount' => 'Liczba wywołań kosztownych funkcji parsera',
+
 );
index 937284c..5c0153f 100644 (file)
@@ -486,19 +486,40 @@ Che a dësmentia pa ëd cambié ij [[Special:Preferences|sò gust për {{SITENAM
 'userlogin-joinproject' => "Ch'as gionza a {{SITENAME}}",
 'nologin' => 'Ha-lo ancó nen un cont? $1.',
 'nologinlink' => 'Creé un cont',
-'createaccount' => 'Crea un cont neuv',
-'gotaccount' => "Ha-lo già un sò cont? '''$1'''.",
-'gotaccountlink' => 'Rintré ant ël sistema',
+'createaccount' => 'Creé un cont',
+'gotaccount' => 'Ha-lo già un sò cont? $1.',
+'gotaccountlink' => "Ch'a rintra ant ël sistema",
 'userlogin-resetlink' => "A l'ha dësmentià ij sò detaj për intré ant ël sistema?",
-'createaccountmail' => 'për pòsta eletrònica',
+'userlogin-resetpassword-link' => 'Riamposté la ciav',
+'helplogin-url' => 'Help:Conession',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Agiut con la conession]]',
+'createacct-join' => "Ch'a anserissa soe anformassion sì-sota.",
+'createacct-another-join' => "Anserì j'anformassion dël cont neuv sì-sota.",
+'createacct-emailrequired' => 'Adrëssa ëd pòsta eletrònica',
+'createacct-emailoptional' => 'Adrëssa ëd pòsta eletrònica (opsional)',
+'createacct-email-ph' => "Ch'a buta soa adrëssa ëd pòsta eletrònica",
+'createacct-another-email-ph' => "Buté l'adrëssa ëd pòsta eletrònica",
+'createaccountmail' => "Dovré na ciav temporania d'ancàpit e mandela a l'adrëssa ëd pòsta eletrònica spessificà",
+'createacct-realname' => 'Nòm ver (opsional)',
 'createaccountreason' => 'Rason:',
-'badretype' => "Le doe ciav che a l'ha scrivù a resto diferente antra lor, e a venta che a sio mideme.",
+'createacct-reason' => 'Rason',
+'createacct-reason-ph' => "Përchè a crea n'àutr cont",
+'createacct-captcha' => 'Contròl ëd sigurëssa',
+'createacct-imgcaptcha-ph' => "Ch'a anserissa ël test ch'a s-ciàira sì-dzora",
+'createacct-submit' => "Ch'a crea sò cont",
+'createacct-another-submit' => "Creé n'àutr cont",
+'createacct-benefit-heading' => "{{SITENAME}} a l'é fàit da 'd gent coma chiel.",
+'createacct-benefit-body1' => '{{PLURAL:$1|modìfica|modìfiche}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pàgina|pàgine}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|contributor}} recent',
+'badretype' => "Le doe ciav che a l'ha scrivù a resto diferente antra 'd lor.",
 'userexists' => "Lë stranòm anserì a l'é già dovrà.
-Për piasì sern në stranòm diferent.",
+Për piasì ch'a serna në stranòm diferent.",
 'loginerror' => 'Eror ën rintrand ant ël sistema',
-'createaccounterror' => 'As peul pa creesse ël cont: $1',
-'nocookiesnew' => "Sò cont a l'é duvèrt, ma chiel (ò chila) a l'ha nen podù rintré ant ël sistema.
-{{SITENAME}} a deuvra ij cookies për fé rintré la gent ant sò sistema. Belavans chiel a l'ha pa ij cookies abilità.
+'createacct-error' => 'Eror durant la creassion dël cont',
+'createaccounterror' => "A l'é nen podusse creé ël cont: $1",
+'nocookiesnew' => "Sò cont a l'é duvèrt, ma chiel a l'ha nen podù rintré ant ël sistema.
+{{SITENAME}} a deuvra ij bëscotin për fé rintré la gent ant sò sistema. Belavans chiel a l'ha pa ij bëscotin abilità.
 Për piasì, che as j'abìlita e peuj che a preuva torna a rintré con sò stranòm e soa ciav.",
 'nocookieslogin' => "{{SITENAME}} a deuvra ij cookies për fé rintré la gent ant sò sistema. Belavans chiel a l'ha pa ij cookies abilità. Për piasì, che a j'abìlita e peuj che a preuva torna.",
 'nocookiesfornew' => "Ël cont utent a l'é pa stàit creà, antlora i podoma pa confirmé soa sorgiss.
index fa9a104..3e19b04 100644 (file)
@@ -1217,7 +1217,7 @@ Legenda: '''({{int:cur}})''' = diferenças para a versão atual,
 'history-fieldset-title' => 'Navegar pelo histórico',
 'history-show-deleted' => 'Somente eliminados',
 'histfirst' => 'Mais antigas',
-'histlast' => 'Mais recentes',
+'histlast' => 'Mais novas',
 'historysize' => '({{PLURAL:$1|1 byte|$1 bytes}})',
 'historyempty' => '(vazia)',
 
@@ -2165,6 +2165,8 @@ Considera-se que uma página é de desambiguação se nela for utilizada uma pre
 'pageswithprop-text' => 'Esta página lista páginas que usam uma propriedade em particular.',
 'pageswithprop-prop' => 'Nome da propriedade:',
 'pageswithprop-submit' => 'Avançar',
+'pageswithprop-prophidden-long' => 'foi ocultado o valor da propriedade por ser um texto muito longo ($1 kilobytes)',
+'pageswithprop-prophidden-binary' => 'foi ocultado o valor da propriedade por ser binário ($1 kilobytes)',
 
 'doubleredirects' => 'Redirecionamentos duplos',
 'doubleredirectstext' => 'Esta página lista todas as páginas que redirecionam para outras páginas de redirecionamento.
@@ -2344,7 +2346,8 @@ Veja também as [[Special:WantedCategories|categorias desejadas]].',
 'listgrouprights' => 'Privilégios dos grupos de utilizadores',
 'listgrouprights-summary' => 'A seguinte lista contém os grupos de utilizadores definidos nesta wiki, com os respectivos privilégios de acesso.
 Encontram-se disponíveis [[{{MediaWiki:Listgrouprights-helppage}}|informações adicionais]] sobre privilégios individuais.',
-'listgrouprights-key' => '* <span class="listgrouprights-granted">Privilégio concedido</span>
+'listgrouprights-key' => 'Legenda:
+* <span class="listgrouprights-granted">Privilégio concedido</span>
 * <span class="listgrouprights-revoked">Privilégio revogado</span>',
 'listgrouprights-group' => 'Grupo',
 'listgrouprights-rights' => 'Privilégios',
@@ -2525,7 +2528,7 @@ alguém editou ou já reverteu a página.
 A última edição foi de [[User:$3|$3]] ([[User talk:$3|discussão]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
 'editcomment' => "O resumo da edição era: \"''\$1''\".",
 'revertpage' => 'Foram revertidas as edições de [[Special:Contributions/$2|$2]] ([[User talk:$2|disc]]) para a última versão por [[User:$1|$1]]',
-'revertpage-nouser' => 'Revertidas as edições de (nome de utilizador removido) para a última revisão por [[User:$1|$1]]',
+'revertpage-nouser' => 'Revertidas as edições de um usuário ocultado para a última revisão por [[User:$1|$1]]',
 'rollback-success' => 'Foram revertidas as edições de $1, com o conteúdo passando a estar como na última edição de $2.',
 
 # Edit tokens
@@ -3199,13 +3202,13 @@ Este bloqueio foi provavelmente causado por um link para um site externo que con
 'pageinfo-length' => 'Tamanho da página (em bytes)',
 'pageinfo-article-id' => 'ID da página',
 'pageinfo-language' => 'Idioma do conteúdo da página',
-'pageinfo-robot-policy' => 'Estado para mecanismos de pesquisa',
-'pageinfo-robot-index' => 'Indexável',
-'pageinfo-robot-noindex' => 'Não indexável',
+'pageinfo-robot-policy' => 'Indexação por robôs',
+'pageinfo-robot-index' => 'Permitida',
+'pageinfo-robot-noindex' => 'Não permitida',
 'pageinfo-views' => 'Número de visitas',
 'pageinfo-watchers' => 'Número de vigilantes da página',
 'pageinfo-few-watchers' => 'Menos do que $1 {{PLURAL:$1|vigilante|vigilantes}}',
-'pageinfo-redirects-name' => 'Redirecionamentos para esta página',
+'pageinfo-redirects-name' => 'Número de redirecionamentos para esta página',
 'pageinfo-subpages-name' => 'Subpáginas desta página',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|redirecionamento|redirecionamentos}}; $3 {{PLURAL:$3|não-redirecionamento|não-redirecionamentos}})',
 'pageinfo-firstuser' => 'Criador da página',
@@ -3546,7 +3549,7 @@ Caso o ficheiro tenha sido modificado a partir do seu estado original, alguns de
 'exif-compression-4' => 'CCITT Grupo 4 codificação de fax',
 
 'exif-copyrighted-true' => 'Direitos de autor reservados',
-'exif-copyrighted-false' => 'Domínio público',
+'exif-copyrighted-false' => 'Situação dos direitos autorais não definida',
 
 'exif-unknowndate' => 'Data desconhecida',
 
index 23bed79..b1ac9f3 100644 (file)
@@ -453,9 +453,9 @@ $messages = array(
 'category-empty' => "''No momento esta categoria não possui nenhuma página ou arquivo multimídia.''",
 'hidden-categories' => '{{PLURAL:$1|Categoria oculta|Categorias ocultas}}',
 'hidden-category-category' => 'Categorias ocultas',
-'category-subcat-count' => '{{PLURAL:$2|Esta categoria possui apenas a subcategoria.|Esta categoria possui as seguintes subcategorias {{PLURAL:$1|subcategoria|$1 subcategorias}}, de $2 do total.}}',
+'category-subcat-count' => '{{PLURAL:$2|Esta categoria possui apenas a seguinte subcategoria.|Esta categoria possui {{PLURAL:$1| a seguinte subcategoria|as seguintes $1 subcategorias}}, de um total de $2.}}',
 'category-subcat-count-limited' => 'Esta categoria possui {{PLURAL:$1|a seguinte sub-categoria|as $1 sub-categorias a seguir}}.',
-'category-article-count' => '{{PLURAL:$2|Esta categoria contém apenas a seguinte página.|A seguinte {{PLURAL:$1|página é|$1 páginas são}} nesta categoria, de $2 do total.}}',
+'category-article-count' => '{{PLURAL:$2|Esta categoria contém apenas a seguinte página.|{{PLURAL:$1|A seguinte página pertence|As seguintes $1 páginas pertencem}} a esta categoria, de um total de $2.}}',
 'category-article-count-limited' => 'Esta categoria possui {{PLURAL:$1|a seguinte página|as $1 páginas a seguir}}.',
 'category-file-count' => '{{PLURAL:$2|Esta categoria possui apenas o seguinte arquivo.|Esta categoria possui {{PLURAL:$1|o seguinte arquivo|os $1 arquivos a seguir}}, de um total de $2.}}',
 'category-file-count-limited' => 'Esta categoria possui {{PLURAL:$1|um arquivo|$1 arquivos}}.',
@@ -954,7 +954,15 @@ Senha temporária: $2',
 
 # Special:ResetTokens
 'resettokens' => 'Reiniciar os tokens',
+'resettokens-text' => 'Você pode reiniciar os tokens, que permitem o acesso a certos dados privados associados à sua conta, aqui.
+
+Você só deve reiniciá-los se compartilhou-os com alguém ou se a sua conta foi comprometida.',
+'resettokens-no-tokens' => 'Não existem tokens para reiniciar.',
+'resettokens-legend' => 'Reiniciar tokens',
 'resettokens-token-label' => '$1 (valor atual: $2)',
+'resettokens-watchlist-token' => 'Vigiar os tokens através de um feed da Web',
+'resettokens-done' => 'Tokens reiniciados.',
+'resettokens-resetbutton' => 'Reiniciar tokens selecionados',
 
 # Edit page toolbar
 'bold_sample' => 'Texto em negrito',
@@ -1226,7 +1234,7 @@ A justificativa apresentada por $3 foi ''$2''",
 Legenda: '''({{int:cur}})''' = diferenças em relação a última versão, '''({{int:last}})''' = diferenças em relação a versão anterior, '''{{int:minoreditletter}}''' = edição menor.",
 'history-fieldset-title' => 'Navegar pelo histórico',
 'history-show-deleted' => 'Apenas as eliminadas',
-'histfirst' => 'Mais velhas',
+'histfirst' => 'Mais antigas',
 'histlast' => 'Mais novas',
 'historysize' => '({{PLURAL:$1|1 byte|$1 bytes}})',
 'historyempty' => '(vazio)',
@@ -1493,6 +1501,9 @@ Note que os índices do sistema de busca externo poderão conter referências de
 'recentchangesdays-max' => '(máximo: $1 {{PLURAL:$1|dia|dias}})',
 'recentchangescount' => 'Número de edições a serem exibidas por padrão:',
 'prefs-help-recentchangescount' => 'Isto inclui mudanças recentes, histórico de páginas e registros.',
+'prefs-help-watchlist-token2' => 'Esta é a senha secreta para o feed da Web com sua lista de tokens vigiados.
+Qualquer pessoa que descobrir esta senha será capaz de ler sua lista, então não a compartilhe.
+[[Special:ResetTokens|Clique aqui para redefini-la]].',
 'savedprefs' => 'As suas preferências foram salvas.',
 'timezonelegend' => 'Fuso horário:',
 'localtime' => 'Horário local:',
@@ -1590,6 +1601,7 @@ Caso decida fornecê-lo, este será utilizado para dar-lhe crédito pelo seu tra
 'userrights-changeable-col' => 'Grupos que pode alterar',
 'userrights-unchangeable-col' => 'Grupos que não pode alterar',
 'userrights-conflict' => 'Há um comflito de permissões de usuário! Por favor, aplique as alterações novamente.',
+'userrights-removed-self' => 'Você removeu com sucesso seus direitos de usuário. Como tal, você agora está impossibilitado de acessar esta página.',
 
 # Groups
 'group' => 'Grupo:',
@@ -1656,12 +1668,17 @@ Caso decida fornecê-lo, este será utilizado para dar-lhe crédito pelo seu tra
 'right-unblockself' => 'Desbloquear a si mesmo',
 'right-protect' => 'Mudar níveis de proteção e editar páginas protegidas em cascata',
 'right-editprotected' => 'Editar páginas protegidas como "{{int:protect-level-sysop}}"',
+'right-editsemiprotected' => 'Editar páginas protegidas como "{{int:protect-level-autoconfirmed}}"',
 'right-editinterface' => 'Editar a interface de usuário',
 'right-editusercssjs' => 'Editar os arquivos CSS e JS de outros usuários',
 'right-editusercss' => 'Editar os arquivos CSS de outros usuários',
 'right-edituserjs' => 'Editar os arquivos JS de outros usuários',
 'right-editmyusercss' => 'Edite seu próprio arquivo CSS de usuário',
 'right-editmyuserjs' => 'Edite seu próprio arquivo JavaScript de usuário',
+'right-viewmywatchlist' => 'Ver sua lista de vigiados',
+'right-editmywatchlist' => 'Editar sua lista de vigiados. Observe que algumas ações seguirão adicionando páginas, mesmo sem este direito.',
+'right-viewmyprivateinfo' => 'Ver seus próprios dados privados (por exemplo: endereço de e-mail, nome real)',
+'right-editmyprivateinfo' => 'Editar seus próprios dados privados (exemplo: endereço de e-mail, nome real)',
 'right-editmyoptions' => 'Modifique suas preferências.',
 'right-rollback' => 'Reverter rapidamente o último usuário que editou uma página em particular',
 'right-markbotedits' => 'Marcar edições revertidas como edições de bot',
@@ -2147,8 +2164,10 @@ Talvez você deseje editar a descrição na sua [$2 página de descrição de ar
 'randompage-nopages' => 'Não há páginas {{PLURAL:$2|no seguinte espaço nominal|nos seguintes espaços nominais}}: $1.',
 
 # Special:RandomInCategory
+'randomincategory' => 'Página aleatória na categoria',
 'randomincategory-invalidcategory' => '"$1" não é um nome de categoria válido.',
-'randomincategory-nopages' => 'Não há paginas em [[:Categoria:$1]].',
+'randomincategory-nopages' => 'Não há paginas em [[:Category:$1]].',
+'randomincategory-selectcategory' => 'Obter página aleatória da categoria: $1 $2.',
 'randomincategory-selectcategory-submit' => 'Avançar',
 
 # Random redirect
@@ -3819,17 +3838,17 @@ para cancelar a confirmação do endereço de e-mail:
 $5
 
 Este código de confirmação irá expirar em $4.',
-'confirmemail_body_set' => 'Alguém, provavelmente você com o endereço IP $1,
-definiu o endereço de correio eletrónico da conta "$2" para este na {{SITENAME}}.
+'confirmemail_body_set' => 'Alguém, provavelmente você, com o endereço de IP $1,
+definiu o endereço de e-mail da conta "$2" para este em {{SITENAME}}.
 
 Para confirmar que esta conta é realmente sua e reativar
-as funcionalidades de correio electrónico na {{SITENAME}},
-abra o seguinte link no seu browser:
+as funcionalidades de email em {{SITENAME}},
+abra o seguinte link no seu navegador:
 
 $3
 
 Caso a conta *não* lhe pertença, siga o seguinte link
-para cancelar a confirmação do endereço de correio electrónico:
+para cancelar a confirmação do endereço de e-mail:
 
 $5
 
@@ -3950,6 +3969,7 @@ Você também pode [[Special:EditWatchlist|editar a lista da maneira convenciona
 'version-license' => 'Licença',
 'version-poweredby-credits' => "Este é um wiki '''[//www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'outros',
+'version-poweredby-translators' => 'tradutores da translatewiki.net',
 'version-credits-summary' => 'Gostaríamos de agradecer às seguintes pessoas por suas contribuições no [[Special:Version|MediaWiki]]',
 'version-license-info' => 'O MediaWiki é software livre; pode redistribuí-lo e/ou modificá-lo nos termos da licença GNU General Public License, tal como publicada pela Free Software Foundation; tanto a versão 2 da Licença, como (por opção sua) qualquer versão posterior.
 
@@ -4076,7 +4096,7 @@ Em conjunto com este programa deve ter recebido [{{SERVER}}{{SCRIPTPATH}}/COPYIN
 'logentry-delete-delete' => '$1 apagou a página $3',
 'logentry-delete-restore' => '$1 restaurou a página $3',
 'logentry-delete-event' => '$1 alterou a visibilidade {{PLURAL:$5|de uma entrada|de $5 entradas}} do registro $3: $4',
-'logentry-delete-revision' => '$1 alterou a visibilidade de {{PLURAL:$5|uma revisão|$5 revisões}} na página $3: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2|alterou}} a visibilidade de {{PLURAL:$5|uma revisão|$5 revisões}} na página $3: $4',
 'logentry-delete-event-legacy' => '$1 {{GENDER:$2|alterou}} a visibilidade de entradas de registo em $3',
 'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|alterou}} a visibilidade de revisões na página $3',
 'logentry-suppress-delete' => '$1 {{GENDER:$2|suprimiu}} a página $3',
index fa03f4a..079c61a 100644 (file)
@@ -353,13 +353,29 @@ One of the set: {{msg-mw|Jan}}, {{msg-mw|Feb}}, {{msg-mw|Mar}}, {{msg-mw|Apr}},
 'december-date' => 'A date in the Gregorian month of December. $1 is the numerical date, for example "23".',
 
 # Categories related messages
-'pagecategories' => 'Used in the categories section of pages. Is followed by a colon and a list of categories.',
-'category_header' => 'In category description page',
+'pagecategories' => 'Used in the categories section of pages.
+
+Followed by a colon and a list of categories.
+
+Parameters:
+* $1 - number of categories',
+'category_header' => 'In category description page. Parameters:
+* $1 - category name
+See also:
+* {{msg-mw|Category-media-header}}',
 'subcategories' => 'Used as a header on category pages that have subcategories.
 {{Identical|Subcategory}}',
-'category-media-header' => 'In category description page',
+'category-media-header' => 'In category description page. Parameters:
+* $1 - category name
+See also:
+* {{msg-mw|Category header}}',
 'category-empty' => 'The text displayed in category page when that category is empty',
-'hidden-categories' => 'Used in the categories section of pages. Is followed by a colon and a list of categories.',
+'hidden-categories' => 'Used in the categories section of pages.
+
+Followed by a colon and a list of categories.
+
+Parameters:
+* $1 - number of hidden categories',
 'hidden-category-category' => 'Name of the [[mw:Help:Tracking categories|tracking category]] where hidden categories will be listed.',
 'category-subcat-count' => 'This message is displayed at the top of a category page showing the number of pages in the category.
 
@@ -556,7 +572,9 @@ See also:
 'create' => 'The text on the tab of the edit form on unexisting pages starts editing them.
 
 {{Identical|Create}}',
-'editthispage' => 'This is the "edit" link as used in the Cologne Blue skin, at the bottom of the page. See {{msg|create-this-page}} for when the page does not exist.',
+'editthispage' => 'This is the "edit" link as used in the Cologne Blue skin, at the bottom of the page.
+
+See {{msg-mw|Create-this-page}} for when the page does not exist.',
 'create-this-page' => 'In the Cologne Blue skin this is the text for the link leading to the edit form on pages that have not yet been created, at the bottom of the page. See {{msg-mw|editthispage}} for when the page already exists.
 {{Identical|Createpage}}',
 'delete' => 'Name of the Delete tab shown for admins. Should be in the infinitive mood.
@@ -569,8 +587,12 @@ See also:
 'deletethispage' => 'In the Cologne Blue skin this is the text for link to delete the page in admin view, at the bottom of the page.
 {{Identical|Delete this page}}',
 'undeletethispage' => 'In the Cologne Blue skin this is the text for link to undelete the page in admin view, at the bottom of the page.',
-'undelete_short' => "It is tab label. It's really can be named ''nstab-undelete''.",
-'viewdeleted_short' => 'Tab label for the undelete button when the user has permission to view the deleted history but not undelete.',
+'undelete_short' => "It is tab label. It's really can be named ''nstab-undelete''. Parameters:
+* $1 - number of edits",
+'viewdeleted_short' => 'Tab label for the undelete button when the user has permission to view the deleted history but not undelete.
+
+Parameters:
+* $1 - number of edits',
 'protect' => 'Name of protect tab displayed for admins. Should be in the infinitive mood.
 
 See also:
@@ -639,7 +661,8 @@ Parameters:
 * $2 - time
 See also:
 * {{msg-mw|Lastmodifiedatby}}',
-'viewcount' => 'Used as page-view counter.',
+'viewcount' => 'Used as page-view counter. Parameters:
+* $1 - number of pageviews',
 'protectedpage' => "This message is displayed when trying to edit a page you can't edit because it has been protected.
 
 This message is the title for the message {{msg-mw|protectedpagetext}}.",
@@ -701,7 +724,9 @@ See also:
 * {{msg-mw|Accesskey-n-mainpage}}
 * {{msg-mw|Tooltip-n-mainpage}}
 {{Identical|Main page}}',
-'mainpage-description' => 'The same as {{msg|mainpage|pl=yes}}, used as link text on [[MediaWiki:Sidebar]]. This makes it possible to the change the link destination (the message "mainpage") without changing the link text or without disabling translations.
+'mainpage-description' => 'The same as {{msg-mw|mainpage}}, used as link text on [[MediaWiki:Sidebar]].
+
+This makes it possible to the change the link destination (the message "mainpage") without changing the link text or without disabling translations.
 
 See also:
 * {{msg-mw|Mainpage-description}}
@@ -737,8 +762,18 @@ See also:
 * $1 - a list of groups
 * $2 - the number of groups",
 
-'versionrequired' => 'This message is not used in the MediaWiki core, but was introduced with the reason that it could be useful for extensions. See also {{msg|versionrequiredtext}}.',
-'versionrequiredtext' => 'This message is not used in the MediaWiki core, but was introduced with the reason that it could be useful for extensions. See also {{msg|versionrequired}}.',
+'versionrequired' => 'This message is not used in the MediaWiki core, but was introduced with the reason that it could be useful for extensions.
+
+Parameters:
+* $1 - MediaWiki version number
+See also:
+* {{msg|versionrequiredtext}}',
+'versionrequiredtext' => 'This message is not used in the MediaWiki core, but was introduced with the reason that it could be useful for extensions.
+
+Parameters:
+* $1 - MediaWiki version number
+See also:
+* {{msg-mw|Versionrequired}}',
 
 'ok' => '{{Identical|OK}}',
 'pagetitle' => "{{Optional}}
@@ -753,6 +788,7 @@ Appears in subtitle
 Parameters:
 * $1 - a link back to the current page: {{FULLURL:{{FULLPAGENAME}}}}',
 'youhavenewmessages' => 'The yellow message appearing when someone edited your user talk page.
+
 The format is: "{{int:youhavenewmessages| [[MediaWiki:Newmessageslink/{{SUBPAGENAME}}|{{int:newmessageslink}}]] |[[MediaWiki:Newmessagesdifflink/{{SUBPAGENAME}}|{{int:newmessagesdifflink}}]]}}"',
 'newmessageslink' => 'This is the first link displayed in an orange rectangle when a user gets a message on his talk page.
 
@@ -785,7 +821,8 @@ Like {{msg-mw|newmessagesdifflink}} but supporting pluralization.
 
 Used in message {{msg-mw|youhavenewmessagesfromusers}} (as parameter $2).
 {{Identical|Last change}}',
-'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].
+'youhavenewmessagesmulti' => 'The alternative of {{msg-mw|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}}].
 
@@ -1253,7 +1290,9 @@ See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?t
 'createacct-submit' => 'Submit button on vertical-layout create account form.
 
 See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]',
-'createacct-another-submit' => 'Submit button on create account form when one user creates an account for another.',
+'createacct-another-submit' => 'Submit button of  [[Special:UserLogin/signup]] ([[Special:CreateAccount]]) when accessed by a registered user.
+
+The original means "create an account in addition to the one you already have"; sometimes, but not always, it means you are going to "Create the account on behalf of somebody else" or "Create account for another".',
 'createacct-benefit-heading' => 'In vertical-layout create account form, the heading for the section describing the benefits of creating an account.
 
 See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]',
@@ -1368,6 +1407,8 @@ See also:
 'loginlanguagelabel' => 'Used on [[Special:UserLogin]] if $wgLoginLanguageSelector is true. $1 is a pipe-separated list built from the names that appear in the message {{msg-mw|Loginlanguagelinks}}.
 {{Identical|Language}}',
 'suspicious-userlogout' => 'Used when the logout request looks suspicious, in Special:UserLogout.',
+'createacct-another-realname-tip' => "Used on the account creation form when creating another user's account. Similar to {{mw-msg|prefs-help-realname}}.
+{{Identical|Real name attribution}}",
 
 # Email sending
 'php-mail-error-unknown' => 'Used as error message when <code>mail()</code> returned empty error message.',
@@ -1567,7 +1608,7 @@ See also:
 * {{msg-mw|Tooltip-preview}}
 {{Identical|Show preview}}',
 'showlivepreview' => 'An edit preview without needing to reload the edit form.',
-'showdiff' => 'Button below the edit page. See also {{msg|showpreview}} and {{msg|savearticle}} for the other buttons.
+'showdiff' => 'Button below the edit page. See also {{msg-mw|Showpreview}} and {{msg-mw|Savearticle}} for the other buttons.
 
 See also:
 * {{msg-mw|Showdiff}}
@@ -1760,8 +1801,9 @@ See also:
 * \$1 is the number of reasons that were found why ''the action'' cannot be performed.",
 'permissionserrorstext-withaction' => 'This message is "with action" version of {{msg-mw|Permissionserrorstext}}.
 
-* $1 is the number of reasons that were found why the action cannot be performed.
-* $2 is one of the action-* messages (for example {{msg|action-edit}}) or other such messages tagged with {{tl|doc-action}} in their documentation.
+Parameters:
+* $1 - the number of reasons that were found why the action cannot be performed
+* $2 - one of the action-* messages (for example {{msg-mw|action-edit}}) or other such messages tagged with {{tl|doc-action}} in their documentation
 
 Please report at [[Support]] if you are unable to properly translate this message. Also see [[bugzilla:14246]] (now closed) for background.',
 'recreate-moveddeleted-warn' => 'Warning shown when creating a page which has already been deleted. See for example [[Test]].',
@@ -2828,7 +2870,9 @@ Parameters:
 'userrights-no-interwiki' => 'Error message when editing user groups',
 'userrights-nodatabase' => 'Error message when editing user groups. "Local" means databases/wikis of the same farm/cluster; that is, meta, enwiki, dewiki, commons, etc are all local databases of the Wikimedia Foundation.
 See [{{canonicalurl:meta:Special:Log|type=rights}} meta:Special:Log?type=rights] for a usage of local databases: username@barwiki',
-'userrights-nologin' => "Error displayed on [[Special:UserRights]] when you aren't logged in. If you are logged in, but don't have the correct permission, you see {{msg|userrights-notallowed|pl=yes}}.",
+'userrights-nologin' => "Error displayed on [[Special:UserRights]] when you aren't logged in.
+
+If you are logged in, but don't have the correct permission, you see {{msg-mw|Userrights-notallowed}}.",
 'userrights-notallowed' => "Error displayed on [[Special:UserRights]] when you don't have the permission.",
 'userrights-changeable-col' => 'Used when editing user groups in [[Special:Userrights]]. The message is the head of a column of group assignements.
 
@@ -3575,8 +3619,9 @@ See also:
 'upload-options' => 'Caption above a section of the [[Special:Upload]] page',
 'watchthisupload' => 'In [[Special:Upload]]',
 'filewasdeleted' => 'This warning is shown when trying to upload a file that does not exist, but has previously been deleted.
+
 Parameters:
-* $1 is a link to the deletion log, with the text from {{msg|deletionlog}}.',
+* $1 - a link to the deletion log, with the text from {{msg-mw|deletionlog}}',
 'filename-bad-prefix' => 'Used as warning in [[Special:Upload]]. Parameters:
 * $1 - prefix
 See also:
@@ -3937,7 +3982,9 @@ Example: [[:Image:Addon-icn.png]]',
 'filehist-user' => 'In image description page.
 
 {{Identical|User}}',
-'filehist-dimensions' => 'In file description page',
+'filehist-dimensions' => 'Used as label in file description page.
+
+Followed by length, filesize, and width x height. e.g. "1.5 s (13 KB)".',
 'filehist-filesize' => 'In image description page',
 'filehist-comment' => 'In file description page
 
@@ -4206,9 +4253,18 @@ See also:
 
 'doubleredirects' => '{{doc-special|DoubleRedirects}}',
 'doubleredirectstext' => 'Shown on top of [[Special:Doubleredirects]]',
-'double-redirect-fixed-move' => 'This is the message in the log when the software (under the username {{msg|double-redirect-fixer}}) updates the redirects after a page move. See also {{msg|fix-double-redirects}}.',
+'double-redirect-fixed-move' => 'This is the message in the log when the software (under the username {{msg-mw|Double-redirect-fixer}}) updates the redirects after a page move.
+
+See also:
+* {{msg-mw|Fix-double-redirects}}',
 'double-redirect-fixed-maintenance' => 'This is the message in the log when the software (under the username {{msg-mw|double-redirect-fixer}}) updates the redirects after running maintenance/fixDoubleRedirects.php. Compare with {{msg-mw|double-redirect-fixed-move}}.',
-'double-redirect-fixer' => "This is the '''username''' of the user who updates the double redirects after a page move. A user is created with this username, so it is perhaps better to not change this message too often. See also {{msg|double-redirect-fixed-move}} and {{msg|fix-double-redirects}}.",
+'double-redirect-fixer' => "This is the '''username''' of the user who updates the double redirects after a page move.
+
+A user is created with this username, so it is perhaps better to not change this message too often.
+
+See also:
+* {{msg-mw|Double-redirect-fixed-move}}
+* {{msg-mw|Fix-double-redirects}}",
 
 'brokenredirects' => '{{doc-special|BrokenRedirects}}',
 'brokenredirectstext' => 'Shown on top of [[Special:BrokenRedirects]].',
@@ -4385,8 +4441,14 @@ The other parts are {{msg-mw|Prevpage}} and {{msg-mw|Nextpage}}.
 'prevpage' => 'Second part of the navigation bar for the special page [[Special:AllPages]] and [[Special:PrefixIndex]]. $1 is a page title. The other parts are {{msg-mw|Allpages}} and {{msg-mw|Nextpage}}.
 
 {{Identical|Previous page}}',
-'allpagesfrom' => 'Option in [[Special:AllPages]]. See also {{msg|allpagesto}}.',
-'allpagesto' => 'Option in [[Special:AllPages]]. See also {{msg|allpagesfrom}}.',
+'allpagesfrom' => 'Option in [[Special:AllPages]].
+
+See also:
+* {{msg-mw|allpagesto}}',
+'allpagesto' => 'Option in [[Special:AllPages]].
+
+See also:
+* {{msg-mw|allpagesfrom}}',
 'allarticles' => 'The page title of [[Special:Allpages]]. When the user limit the list to a certain namespace, {{msg-mw|allinnamespace}} is used instead.
 
 {{Identical|All pages}}',
@@ -4418,10 +4480,10 @@ The other parts are {{msg-mw|Prevpage}} and {{msg-mw|Nextpage}}.
 # Special:Categories
 'categories' => 'The page name of [[Special:Categories]].
 {{Identical|Category}}',
-'categoriespagetext' => "{{doc-important|Do not translate or change links.}}
+'categoriespagetext' => '{{doc-important|Do not translate or change links.}}
 Text displayed in [[Special:Categories]].
 
-In order to translate ''Unused categories'' and ''wanted categories'' see {{msg|unusedcategories}} and {{msg|wantedcategories}}.",
+In order to translate "Unused categories" and "wanted categories" see {{msg-mw|Unusedcategories}} and {{msg-mw|Wantedcategories}}.',
 'categoriesfrom' => 'Used as label for the input box in [[Special:Categories]].
 
 This message follows the fieldset label {{msg-mw|categories}}, and is followed by the input box.',
@@ -4653,7 +4715,13 @@ See also {{msg-mw|addedwatch}}.',
 
 See also:
 * {{msg-mw|Addwatch}}',
-'removedwatchtext' => "After a page has been removed from a user's watchlist by clicking the {{msg|unwatch}} tab at the top of an article, this message appears just below the title of the article. $1 is the title of the article. See also {{msg|removedwatch}} and {{msg|addedwatchtext}}.",
+'removedwatchtext' => "After a page has been removed from a user's watchlist by clicking the {{msg-mw|Unwatch}} tab at the top of an article, this message appears just below the title of the article.
+
+Parameters:
+* $1 - the title of the article
+See also:
+* {{msg-mw|Removedwatch}}
+* {{msg-mw|Addedwatchtext}}",
 'watch' => '{{doc-actionlink}}
 Name of the Watch tab. Should be in the imperative mood.
 
@@ -5221,9 +5289,13 @@ See also:
 * {{msg-mw|Contributions}}
 * {{msg-mw|Accesskey-t-contributions}}
 * {{msg-mw|Tooltip-t-contributions}}",
-'contributions-title' => 'The page title in your browser bar, but not the page title. See also {{msg|contributions}}. Parameter $1 is the username.
+'contributions-title' => '{{Gender}}
+The page title in your browser bar, but not the page title.
 
-{{Gender}}',
+Parameters:
+* $1 - the username
+See also:
+* {{msg-mw|Contributions}}',
 'mycontris' => 'In the personal urls page section - right upper corner.
 
 See also:
@@ -5249,7 +5321,10 @@ See also:
 
 'sp-contributions-newbies' => 'Text of radio button on special page [[Special:Contributions]].',
 'sp-contributions-newbies-sub' => "Note at the top of the page of results for a search on [[Special:Contributions]] where 'Show contributions for new accounts only' has been selected.",
-'sp-contributions-newbies-title' => 'The page title in your browser bar, but not the page title. See also {{msg|sp-contributions-newbies-sub}}.',
+'sp-contributions-newbies-title' => 'The page title in your browser bar, but not the page title.
+
+See also:
+* {{msg-mw|Sp-contributions-newbies-sub}}',
 'sp-contributions-blocklog' => 'Used as a display name for a link to the block log on for example [[Special:Contributions/Mediawiki default]]
 
 Used as link title in [[Special:Contributions]] and in [[Special:DeletedContributions]].
@@ -6108,8 +6183,18 @@ See also:
 {{Identical|Reason}}',
 'revertmove' => '{{Identical|Revert}}',
 'delete_and_move' => 'Button text on the move page when the target page already exists.',
-'delete_and_move_text' => 'Used when moving a page, but the destination page already exists and needs deletion. This message is to confirm that you really want to delete the page. See also {{msg|delete and move confirm}}.',
-'delete_and_move_confirm' => 'Used when moving a page, but the destination page already exists and needs deletion. This message is for a checkbox to confirm that you really want to delete the page. See also {{msg|delete and move text}}.',
+'delete_and_move_text' => 'Used when moving a page, but the destination page already exists and needs deletion.
+
+This message is to confirm that you really want to delete the page.
+
+See also:
+* {{msg-mw|delete and move confirm}}',
+'delete_and_move_confirm' => 'Used when moving a page, but the destination page already exists and needs deletion.
+
+This message is for a checkbox to confirm that you really want to delete the page.
+
+See also:
+* {{msg-mw|Delete and move text}}',
 'delete_and_move_reason' => 'Shown as reason in content language in the deletion log. Parameter:
 * $1 - The page name for which this page was deleted.',
 'selfmove' => 'Used as error message when moving page.
@@ -6603,7 +6688,7 @@ See also:
 * {{msg-mw|Addsection}}
 * {{msg-mw|Accesskey-ca-addsection}}
 * {{msg-mw|Tooltip-ca-addsection}}',
-'tooltip-ca-viewsource' => 'Tooltip displayed when hovering over the {{msg|viewsource}} tab.
+'tooltip-ca-viewsource' => 'Tooltip displayed when hovering over the {{msg-mw|Viewsource}} tab.
 
 See also:
 * {{msg-mw|Viewsource}}
@@ -6653,7 +6738,7 @@ See also:
 * {{msg-mw|Accesskey-ca-watch}}
 * {{msg-mw|Tooltip-ca-watch}}
 {{Identical|Add this page to your watchlist}}',
-'tooltip-ca-unwatch' => 'Tooltip shown when hovering over the {{msg|unwatch}} tab.
+'tooltip-ca-unwatch' => 'Tooltip shown when hovering over the {{msg-mw|Unwatch}} tab.
 
 See also:
 * {{msg-mw|Unwatch}}
@@ -6702,7 +6787,7 @@ See also:
 * {{msg-mw|Portal-url}}
 * {{msg-mw|Accesskey-n-portal}}
 * {{msg-mw|Tooltip-n-portal}}',
-'tooltip-n-currentevents' => 'Tooltip shown when hovering over {{msg|currentevents}} in the sidebar.
+'tooltip-n-currentevents' => 'Tooltip shown when hovering over {{msg-mw|currentevents}} in the sidebar.
 
 See also:
 * {{msg-mw|Currentevents}}
@@ -6727,7 +6812,7 @@ See also:
 * {{msg-mw|Help}}
 * {{msg-mw|Accesskey-n-help}}
 * {{msg-mw|Tooltip-n-help}}",
-'tooltip-t-whatlinkshere' => 'Tooltip shown when hovering over the {{msg|whatlinkshere}} message in the toolbox.
+'tooltip-t-whatlinkshere' => 'Tooltip shown when hovering over the {{msg-mw|whatlinkshere}} message in the toolbox.
 
 See also:
 * {{msg-mw|Whatlinkshere}}
@@ -6751,7 +6836,7 @@ See also:
 * {{msg-mw|Feed-atom}}
 * {{msg-mw|Accesskey-feed-atom}}
 * {{msg-mw|Tooltip-feed-atom}}',
-'tooltip-t-contributions' => 'Tooltip shown when hovering over {{msg|contributions}} in the toolbox.
+'tooltip-t-contributions' => 'Tooltip shown when hovering over {{msg-mw|Contributions}} in the toolbox.
 
 See also:
 * {{msg-mw|Contributions}}
@@ -6797,7 +6882,7 @@ See also:
 * {{msg-mw|Accesskey-ca-nstab-main}}
 * {{msg-mw|Tooltip-ca-nstab-main}}
 {{Identical|Content page}}',
-'tooltip-ca-nstab-user' => 'Tooltip shown when hovering over {{msg|nstab-user}} (User namespace tab).
+'tooltip-ca-nstab-user' => 'Tooltip shown when hovering over {{msg-mw|Nstab-user}} (User namespace tab).
 
 No GENDER-Support for performance reason.
 
@@ -6822,7 +6907,7 @@ See also:
 * {{msg-mw|Nstab-project}}
 * {{msg-mw|Accesskey-ca-nstab-project}}
 * {{msg-mw|Tooltip-ca-nstab-project}}',
-'tooltip-ca-nstab-image' => 'Tooltip shown when hovering over {{msg|nstab-image}} (File namespace tab).
+'tooltip-ca-nstab-image' => 'Tooltip shown when hovering over {{msg-mw|Nstab-image}} (File namespace tab).
 
 See also:
 * {{msg-mw|Nstab-image}}
@@ -6840,13 +6925,13 @@ See also:
 * {{msg-mw|Nstab-template}}
 * {{msg-mw|Accesskey-ca-nstab-template}}
 * {{msg-mw|Tooltip-ca-nstab-template}}',
-'tooltip-ca-nstab-help' => 'Tootip shown when hovering over the {{msg|nstab-help}} tab in the Help namespace.
+'tooltip-ca-nstab-help' => 'Tooltip shown when hovering over the {{msg-mw|Nstab-help}} tab in the Help namespace.
 
 See also:
 * {{msg-mw|Nstab-help}}
 * {{msg-mw|Accesskey-ca-nstab-help}}
 * {{msg-mw|Tooltip-ca-nstab-help}}',
-'tooltip-ca-nstab-category' => 'Tooltip shown when hovering over the {{msg|nstab-category}} tab.
+'tooltip-ca-nstab-category' => 'Tooltip shown when hovering over the {{msg-mw|Nstab-category}} tab.
 
 See also:
 * {{msg-mw|Nstab-category}}
@@ -6878,7 +6963,7 @@ See also:
 * {{msg-mw|Showdiff}}
 * {{msg-mw|Accesskey-diff}}
 * {{msg-mw|Tooltip-diff}}',
-'tooltip-compareselectedversions' => 'Tooltip of {{msg|compareselectedversions}} (which is used as button in history pages).
+'tooltip-compareselectedversions' => 'Tooltip of {{msg-mw|Compareselectedversions}} (which is used as button in history pages).
 
 See also:
 * {{msg-mw|Compareselectedversions}}
@@ -7071,23 +7156,31 @@ See also:
 'pageinfo-article-id' => 'The numeric identifier of the page.',
 'pageinfo-language' => 'Language in which the page content is written.',
 'pageinfo-robot-policy' => 'The search engine status of the page.
+
+Used as label. Followed by any one of the following messages:
 *{{msg-mw|Pageinfo-robot-index}}
 *{{msg-mw|Pageinfo-robot-noindex}}',
-'pageinfo-robot-index' => 'An indication that the page is indexable by search engines, that is listed in their search results.',
-'pageinfo-robot-noindex' => 'An indication that the page is not indexable (that is, is not listed on the results page of a search engine).',
+'pageinfo-robot-index' => 'An indication that the page is indexable by search engines, that is listed in their search results.
+
+Preceded by the label {{msg-mw|Pageinfo-robot-policy}}.',
+'pageinfo-robot-noindex' => 'An indication that the page is not indexable (that is, is not listed on the results page of a search engine).
+
+Preceded by the label {{msg-mw|Pageinfo-robot-policy}}.',
 'pageinfo-views' => 'The number of times the page has been viewed.',
-'pageinfo-watchers' => 'The number of users watching the page.',
+'pageinfo-watchers' => 'Header of the row in the first table of the info action.',
 'pageinfo-few-watchers' => 'Message displayed when there are fewer than $wgUnwatchedPageThreshold watchers. $1 is the value of $wgUnwatchedPageThreshold.',
-'pageinfo-redirects-name' => 'Followed by the number of redirects to the page.
+'pageinfo-redirects-name' => 'Header of the row in the first table of the info action.
 
+Followed by the number of redirects to the page.
 Used as link text. The link points to "{{int:Whatlinkshere-title}}" page ([[Special:WhatLinksHere]]).
 
 See example: [{{canonicalurl:Main page|action=info}} Main page?action=info]',
 'pageinfo-redirects-value' => '{{Optional}}
 Parameters:
 * $1 - the number of redirects to the page',
-'pageinfo-subpages-name' => 'Followed by the number of subpages of the page.
+'pageinfo-subpages-name' => 'Header of the row in the first table of the info action.
 
+Followed by the number of subpages of the page.
 Used as link text. The link points to the "{{int:Prefixindex}}" page ([[Special:PrefixIndex]]).
 
 See example: [{{canonicalurl:Main page|action=info}} Main page?action=info]',
@@ -9254,4 +9347,57 @@ Parameters:
 # Image rotation
 'rotate-comment' => 'Edit summary for the act of rotating an image.',
 
+# Limit report
+'limitreport-title' => 'Title for the preview limit report table.',
+'limitreport-cputime' => 'Label for the "CPU time usage" row in the limit report table.
+
+See also:
+* {{msg-mw|Limitreport-walltime}}',
+'limitreport-cputime-value' => 'Format for the "CPU time usage" value in the limit report table. Parameters:
+* $1 - the time usage in seconds
+{{Identical|Second}}',
+'limitreport-walltime' => 'Label for the "Real time usage" row in the limit report table.
+
+See also:
+* {{msg-mw|Limitreport-cputime}}',
+'limitreport-walltime-value' => 'Format for the "Real time usage" value in the limit report table. Parameters:
+* $1 - the time usage in seconds
+{{Identical|Second}}',
+'limitreport-ppvisitednodes' => 'Label for the "Preprocessor visited node count" row in the limit report table',
+'limitreport-ppvisitednodes-value' => '{{optional}}
+Format for the "Preprocessor visited node count" row in the limit report table.
+
+Parameters:
+* $1 - the usage
+* $2 - the maximum',
+'limitreport-ppgeneratednodes' => 'Label for the "Preprocessor generated node count" row in the limit report table',
+'limitreport-ppgeneratednodes-value' => '{{optional}}
+Format for the "Preprocessor generated node count" row in the limit report table.
+
+Parameters:
+* $1 - the usage
+* $2 - the maximum',
+'limitreport-postexpandincludesize' => 'Label for the "Post-expand include size" row in the limit report table',
+'limitreport-postexpandincludesize-value' => 'Format for the "Post-expand include size" row in the limit report table.
+* $1 is the usage in bytes
+* $2 is the maximum',
+'limitreport-templateargumentsize' => 'Label for the "Template argument size" row in the limit report table',
+'limitreport-templateargumentsize-value' => 'Format for the "Template argument size" row in the limit report table.
+* $1 is the usage in bytes
+* $2 is the maximum',
+'limitreport-expansiondepth' => 'Label for the "Highest expansion depth" row in the limit report table',
+'limitreport-expansiondepth-value' => '{{optional}}
+Format for the "Highest expansion depth" row in the limit report table.
+
+Parameters:
+* $1 - the depth
+* $2 - the maximum',
+'limitreport-expensivefunctioncount' => 'Label for the "Expensive parser function count" row in the limit report table',
+'limitreport-expensivefunctioncount-value' => '{{optional}}
+Format for the "Expensive parser function count" row in the limit report table.
+
+Parameters:
+* $1 - the usage
+* $2 - the maximum',
+
 );
index fbb54c2..6d3676b 100644 (file)
@@ -727,7 +727,6 @@ Administratorul care a efectuat blocarea a furnizat explicația: „$3”.',
 # Login and logout pages
 'logouttext' => "'''Acum sunteți deconectat.'''
 
-Sesiunea dumneavoastră la {{SITENAME}} a fost închisă. Puteți continua să folosiți {{SITENAME}} ca utilizator anonim, sau puteți să vă <span class='plainlinks'>[$1 reautentificați]</span> ca același sau ca alt utilizator.
 Țineți minte că anumite pagini pot fi în continuare afișate ca și când ați fi autentificat până când curățați memoria cache a navigatorului.",
 'welcomeuser' => 'Bun venit, $1!',
 'welcomecreation-msg' => 'Contul dumneavoastră a fost creat.
@@ -775,7 +774,7 @@ Nu uitați să vă modificați [[Special:Preferences|preferințele]] pentru {{SI
 'createacct-emailoptional' => 'Adresă de e-mail (opțională)',
 'createacct-email-ph' => 'Introduceți adresa dumnevoastră de e-mail',
 'createacct-another-email-ph' => 'Introduceți adresa de e-mail',
-'createaccountmail' => 'Utilizează o parolă temporară aleasă la întâmplare și o trimite la adresa de e-mail indicată mai jos',
+'createaccountmail' => 'Utilizează o parolă temporară aleasă la întâmplare și o trimite la adresa de e-mail indicată',
 'createacct-realname' => 'Nume real (opțional)',
 'createaccountreason' => 'Motiv:',
 'createacct-reason' => 'Motiv',
@@ -1572,10 +1571,10 @@ Dacă decideți furnizarea sa, acesta va fi folosit pentru a vă atribui munca.'
 'userrights-no-interwiki' => 'Nu aveți permisiunea de a modifica permisiunile utilizatorilor pe alte wiki.',
 'userrights-nodatabase' => 'Baza de date $1 nu există sau nu este locală.',
 'userrights-nologin' => 'Trebuie să te [[Special:UserLogin|autentifici]] cu un cont de administrator pentru a atribui permisiuni utilizatorilor.',
-'userrights-notallowed' => 'Contul dumneavoastră nu are permisiunea de a acorda sau elimina drepturi utilizatorilor.',
+'userrights-notallowed' => 'Nu aveți permisiunea de a acorda sau elimina drepturi utilizatorilor.',
 'userrights-changeable-col' => 'Grupuri pe care le puteți schimba',
 'userrights-unchangeable-col' => 'Grupuri pe care nu le puteți schimba',
-'userrights-conflict' => 'Conflict al drepturilor de utilizator! Aplicați din nou modificările dumneavoastră.',
+'userrights-conflict' => 'Conflict al schimbării drepturilor de utilizator! Reverificați și confirmați-vă modificările.',
 'userrights-removed-self' => 'V-ați eliminat cu succes propriile drepturi. Ca urmare, nu mai puteți accesa această pagină.',
 
 # Groups
@@ -3197,13 +3196,13 @@ Permite adăugarea unui motiv în descrierea modificărilor',
 'pageinfo-length' => 'Lungimea paginii (în octeți)',
 'pageinfo-article-id' => 'ID pagină',
 'pageinfo-language' => 'Limba conținutului paginii',
-'pageinfo-robot-policy' => 'Statut pentru motorul de căutare',
-'pageinfo-robot-index' => 'Indexabilă',
-'pageinfo-robot-noindex' => 'Neindexabilă',
+'pageinfo-robot-policy' => 'Indexare de către roboți',
+'pageinfo-robot-index' => 'Permisă',
+'pageinfo-robot-noindex' => 'Nepermisă',
 'pageinfo-views' => 'Număr de vizualizări',
 'pageinfo-watchers' => 'Număr de utilizatori care urmăresc pagina',
 'pageinfo-few-watchers' => 'Mai puțin de {{PLURAL:$1|un urmăritor|$1 urmăritori|$1 de urmăritori}}',
-'pageinfo-redirects-name' => 'Redirecționări către această pagină',
+'pageinfo-redirects-name' => 'Număr de redirecționări către această pagină',
 'pageinfo-subpages-name' => 'Subpagini ale acestei pagini',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|redirecționare|redirecționări|de redirecționări}}; $3 {{PLURAL:$3|non-redirecționare|non-redirecționări|de non-redirecționări}})',
 'pageinfo-firstuser' => 'Creatorul paginii',
@@ -4169,4 +4168,12 @@ MediaWiki este distribuit în speranța că va fi folositor, dar FĂRĂ VREO GAR
 # Image rotation
 'rotate-comment' => 'Imagine rotită în sensul acelor de ceasornic cu $1 {{PLURAL:$1|grad|grade|de grade}}',
 
+# Limit report
+'limitreport-cputime' => 'Timp de utilizare CPU',
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|secundă|secunde|de secunde}}',
+'limitreport-walltime' => 'Timp real de utilizare',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|secundă|secunde|de secunde}}',
+'limitreport-postexpandincludesize-value' => '$1/$2 octeți',
+'limitreport-templateargumentsize-value' => '$1/$2 octeți',
+
 );
index 11a7ca2..4efd7d6 100644 (file)
@@ -458,10 +458,9 @@ L\'amministratore ca l\'ha bloccate dèje sta spiegazione: "$3".',
 'virus-unknownscanner' => 'antivirus scanusciute:',
 
 # Login and logout pages
-'logouttext' => "'''Tu tè scolleghete.'''
+'logouttext' => "'''Tu tè scollegate.'''
 
-Tu puè condinuà a ausà {{SITENAME}} in mode anonime, o tu puè <span class='plainlinks'>[$1 collegarte 'n'otra vote]</span> cumme 'u stesse utende o cumme 'n'otre utende.
-Note Bbuene ca certe pàggene ponne condinuà a essere viste cumme ce tu ste angore colleghete, fine a quanne a cache d'u browser no se sdeveche.",
+Note Bbuene ca certe pàggene ponne condinuà a essere viste cumme ce tu ste angore collegate, fine a quanne a cache d'u browser no se sdevache.",
 'welcomeuser' => 'Bovègne, $1!',
 'welcomecreation-msg' => "'U cunde tue ha state ccrejete.
 No te sce scurdanne de cangià le [[Special:Preferences|{{SITENAME}} preferenze tue]].",
@@ -508,7 +507,7 @@ No te sce scurdanne de cangià le [[Special:Preferences|{{SITENAME}} preferenze
 'createacct-emailoptional' => 'Indirizze email (opzionale)',
 'createacct-email-ph' => "Mitte l'indirizze email tune",
 'createacct-another-email-ph' => "Mitte l'indirizze email",
-'createaccountmail' => 'Pe e-mail',
+'createaccountmail' => "Ause 'na passuord temboranèe a uecchije e mannale a l'indirizze email specificate",
 'createacct-realname' => 'Nome vere (opzionale)',
 'createaccountreason' => 'Mutive:',
 'createacct-reason' => 'Mutive',
@@ -1333,11 +1332,11 @@ Ce tu 'u mitte, a fatje ca è fatte t'avène ricanusciute.",
 'userrights-no-interwiki' => "Tu non ge tìne le permesse pe cangià le deritte utende sus a l'otre uicchi.",
 'userrights-nodatabase' => "'U Database $1 non g'esiste o non g'è lochele.",
 'userrights-nologin' => "Tu à essere [[Special:UserLogin|colleghete]] cu 'nu cunde utende d'amministratore pe assignà le deritte utende.",
-'userrights-notallowed' => "'U cunde utende tune non ge tène le permesse pe aggiunge o luà le deritte a l'utinde.",
+'userrights-notallowed' => 'Non ge tìne le permesse pe aggiungere o luà le deritte a le utinde.',
 'userrights-changeable-col' => 'Gruppe ca tu puè cangià',
 'userrights-unchangeable-col' => 'Gruppe ca tu non ge puè cangià',
 'userrights-irreversible-marker' => '$1*',
-'userrights-conflict' => 'Conflitte sus a le deritte utende! Pe piacere appliche le cangiaminde tune arrete.',
+'userrights-conflict' => 'Conflitte sus a le cangiaminde de le deritte utende! Pe piacere revide e conferme le cangiaminde tune.',
 'userrights-removed-self' => "T'è luate le deritte tune. Mò non ge puè cchiù trasè jndr'à sta pàgene.",
 
 # Groups
@@ -3011,13 +3010,13 @@ Stu fatte ha state causate da 'nu collegamende a 'nu site esterne ca appartene a
 'pageinfo-length' => "Lunghezze d'a pàgene (in byte)",
 'pageinfo-article-id' => "ID d'a pàgene",
 'pageinfo-language' => "Lènga d'a pàgene de condenute",
-'pageinfo-robot-policy' => "State d'u motore de ricerche",
-'pageinfo-robot-index' => 'Indicizzabbele',
-'pageinfo-robot-noindex' => 'None indicizzabbele',
+'pageinfo-robot-policy' => 'Indicizzate da le robbot',
+'pageinfo-robot-index' => 'Permesse',
+'pageinfo-robot-noindex' => 'Non permesse',
 'pageinfo-views' => 'Numere de visite',
 'pageinfo-watchers' => "Numere de visitature d'a pàgene",
 'pageinfo-few-watchers' => 'Mene de $1 {{PLURAL:$1|visitatore|visitature}}',
-'pageinfo-redirects-name' => 'Redirezionaminde a sta pàgene',
+'pageinfo-redirects-name' => 'Numere de redirezionaminde a sta pàgene',
 'pageinfo-redirects-value' => '$1',
 'pageinfo-subpages-name' => 'Sottopàggene de sta pàgene',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|ridirezionate|ridirezionate}}; $3 {{PLURAL:$3|none ridirezionate|none ridirezionate}})',
@@ -4185,4 +4184,19 @@ Ce nò, tu puè ausà 'u module facile aqquà sotte. 'U commende tune avène agg
 # Image rotation
 'rotate-comment' => 'Immaggine rotate de $1 {{PLURAL:$1|grade}} in sienze orarie',
 
+# Limit report
+'limitreport-title' => "Analizzatore de le date d'a profilazione:",
+'limitreport-cputime' => "Tiembe de ause d'a CPU",
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|seconde}}',
+'limitreport-walltime' => 'Tiembe de ause in dirette',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|seconde}}',
+'limitreport-ppvisitednodes' => "Preprocessore d'u cunde de le node 'ndrucate",
+'limitreport-ppgeneratednodes' => "Preprocessore d'u cunde de le node generate",
+'limitreport-postexpandincludesize' => "Espanzione de apprisse ca 'nglude 'a dimenzione",
+'limitreport-postexpandincludesize-value' => '$1/$2 byte',
+'limitreport-templateargumentsize' => "Dimenzione de le argomende d'u template",
+'limitreport-templateargumentsize-value' => '$1/$2 byte',
+'limitreport-expansiondepth' => 'Espanzione massime de profonnetà',
+'limitreport-expensivefunctioncount' => "Analizzatore d'u cunde d'a funzione ca coste assaije",
+
 );
index 5ba839c..5e7afcd 100644 (file)
@@ -1851,9 +1851,11 @@ $1',
 'randompage-nopages' => 'Бу {{PLURAL:$2|аат дала кураана|аат далларыгар сирэйдэр суохтар}}: $1.',
 
 # Special:RandomInCategory
-'randomincategory' => 'Категория хайа баҕарар ыстатыйата',
-'randomincategory-invalidcategory' => '"$1" аат категорияҕа туттуллубат.',
-'randomincategory-nopages' => '[[:Category:$1|$1 категорияҕа]] маннык ыстатыйа суох.',
+'randomincategory' => 'Категория түбэспиччэ ыстатыйата',
+'randomincategory-invalidcategory' => '"$1" диэн категория суох эбит.',
+'randomincategory-nopages' => 'Бу категорияҕа [[:Category:$1]] киирэр ыстатыйалар суохтар.',
+'randomincategory-selectcategory' => 'Категория түбэспиччэ сирэйигэр көс: $1 $2.',
+'randomincategory-selectcategory-submit' => 'Көс',
 
 # Random redirect
 'randomredirect' => 'Түбэспиччэ утаарыы',
@@ -1950,6 +1952,7 @@ $1',
 'mostrevisions' => 'Саамай элбэхтик уларытыллыбыт ыстатыйалар',
 'prefixindex' => 'Мантан саҕаланар (префикстаах) сирэйдэр барыта',
 'prefixindex-namespace' => 'Сирэй саҕаланыытынан наардаан көрдөрүү ($1 аат далыгар)',
+'prefixindex-strip' => 'Түмүк тиһигэр префиксы көрдөрүмэ',
 'shortpages' => 'Кылгас ыстатыйалар',
 'longpages' => 'Уһун ыстатыйалар',
 'deadendpages' => 'Dead-end (Бүтэй) сирэйдэр',
@@ -3651,6 +3654,7 @@ $5
 'version-license' => 'Лиссиэнзийэ',
 'version-poweredby-credits' => "Бу биики бу движокка олоҕурар '''[//www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'атыттар',
+'version-poweredby-translators' => 'translatewiki.net тылбаасчыттара',
 'version-credits-summary' => '[[Special:Version|MediaWiki]] сайдыытыгар үлэлэрин иһин манна ахтыллыбыт дьоҥҥо махтанабыт.',
 'version-license-info' => 'MediaWiki көҥүл тарҕанар бырагырааммаларга киирэр, кинини көмпүүтэр аһаҕас бырагырааммаларын пуондатын GNU General Public License усулуобуйатынан көҥүл тарҕатаргыт уонна/эбэтэр уларытаргыт көҥүллэнэр; иккис эбэтэр онтон хойукку ханнык баҕарар барылыттан саҕалаан.
 
index db1717a..2358d70 100644 (file)
@@ -51,7 +51,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Shaw ma email address in notification mails',
 'tog-shownumberswatching' => 'Shaw the nummer o watching uisers',
 'tog-fancysig' => 'Raw seignaturs (athoot automatic airtin)',
-'tog-showjumplinks' => 'Enable "loup til" accessibility airtins',
 'tog-uselivepreview' => 'Uise leeve preview (JavaScript) (Prattik)',
 'tog-forceeditsummary' => 'Gie me a jottin when A dinnae put in a edit summary',
 'tog-watchlisthideown' => 'Hide yer ain edits frae yer watchleet',
index 713ba4d..e2c868c 100644 (file)
@@ -133,7 +133,6 @@ $messages = array(
 'tog-enotifrevealaddr' => "Rivera lu me' indirizzu di postha erettrònica i' l'imbasciaddi d'avvisu",
 'tog-shownumberswatching' => "Musthra lu nùmaru d'utenti ch'àni la pàgina abbaidadda",
 'tog-fancysig' => "Interpreta i cumandi wiki i' la fimma (chena cullegaumentu otomatiggu)",
-'tog-showjumplinks' => "Attiba li cullegamenti atzessibili 'vai a'",
 'tog-uselivepreview' => "Attiba la funzioni ''Live preview'' (dumanda JavaScript; ippirimintari)",
 'tog-forceeditsummary' => "Dumanda cunfèimma si l'oggettu di la mudìfigga è bioddu",
 'tog-watchlisthideown' => "Cua li me' mudìfigghi i' l'abbaidaddi ippiziari",
index fee1e56..a78ab78 100644 (file)
@@ -42,7 +42,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Xuniim henadressade e-iitom notificacionde e-iitóm',
 'tog-shownumberswatching' => 'Cohuatlöx caitóm cáminotómde numberam',
 'tog-fancysig' => 'Signaturenám brazzinám (sans linkám automaticám)',
-'tog-showjumplinks' => 'Záj "jumpöx" accessibilitiit linkám',
 'tog-uselivepreview' => 'Usadad cuáxiit live (JavaScript) (Experimentam)',
 'tog-forceeditsummary' => 'Ixuniimticpatlöx he jan nenenterom abvuatlde ticpatlöx',
 'tog-watchlisthideown' => 'Cíiitám he ticpatlöxde listade cáminot zo',
index 42b7cbd..e86afa5 100644 (file)
@@ -87,7 +87,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Ruodītė keravuojantiu nauduotuoju skatliu',
 'tog-oldsig' => 'Esams parašos:',
 'tog-fancysig' => 'Parašos kāp wiki tekstos (ba autuomatėniu nūruodu)',
-'tog-showjumplinks' => 'Ijongtė „paršuoktė i“ pasėikiamoma nūruodas',
 'tog-uselivepreview' => 'Nauduotė tėisiogėne parvėiza (JavaScript) (Eksperimentėnis)',
 'tog-forceeditsummary' => 'Klaustė, kumet palėiku toščē pakeitėma kuomentara',
 'tog-watchlisthideown' => 'Kavuotė mona pakeitėmos keravuojamu sarašė',
index 565d3a3..a4419ea 100644 (file)
@@ -43,7 +43,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Ml uṭṭun n Midn lli swurn ɣ tasna yad',
 'tog-oldsig' => 'Asmmaql (Tiẓṛi) n ukrraj n ufus lli illan:',
 'tog-fancysig' => 'Skr akrrag n ufus s taɣarast  n  wikitext (bla azday utumatik)',
-'tog-showjumplinks' => 'Srɣ izdayn « Amuddu » d « acnubc » niḍ « Asiǧl » ɣ uflla n tasna',
 'tog-uselivepreview' => 'Skr s umẓri amaynu izrbn (ira JavaScript) (Arm)',
 'tog-forceeditsummary' => 'Ayyit tini iɣ ur iwiɣ imsmun n imbdln',
 'tog-watchlisthideown' => 'hbo ghayli bdlgh gh omdfor inu',
index 6181853..f68c88f 100644 (file)
@@ -245,7 +245,7 @@ $messages = array(
 'editfont-style' => 'අකුරු විලාසයන් සංස්කරණ පෙදෙස:',
 'editfont-default' => 'පෙර නිමි බ්‍රව්සරය',
 'editfont-monospace' => 'ඒක අවකාශිත ෆොන්ට්',
-'editfont-sansserif' => 'Sans-serif අකුරු',
+'editfont-sansserif' => 'සෙරිෆ්-විරහිත අකුරු',
 'editfont-serif' => 'සේරිෆ් අකුරු',
 
 # Dates
index ae58c79..e39b2bc 100644 (file)
@@ -55,7 +55,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Oazoahl derr beobachtenden Nutzer oazäan',
 'tog-oldsig' => 'Vorschau der aktuella Signatur:',
 'tog-fancysig' => 'Signatur ols Wikitext behandeln (ohne automatische Verlinkung)',
-'tog-showjumplinks' => '„Wechseln zu“-Verknipfunga aktiviern',
 'tog-uselivepreview' => 'Direkte Vurschau notza (beneetigt JavaScript) (vrsuchsweise)',
 'tog-forceeditsummary' => 'Warnen, wenn bem Speichern de Zsoammafassung fahln tutt',
 'tog-watchlisthideown' => 'Eigene Bearbeitungen ausblenden',
index 07a173f..0d2f6c9 100644 (file)
@@ -44,7 +44,6 @@ $messages = array(
 'tog-shownumberswatching' => "I'tus tirada isticmaalayaasha wax waardiyeynaayo",
 'tog-oldsig' => 'Saxiixa jiro:',
 'tog-fancysig' => "u isticmaal saxiixa sida qoraalada wiki  (ayada oo linki auomaatik la'aan)",
-'tog-showjumplinks' => 'Shid "ku bood" links-ka la geli karo',
 'tog-uselivepreview' => 'Isticmaal horfiirinta tooska ah (JavaScript) (Wuxuu ku jiraa tijaabo)',
 'tog-forceeditsummary' => "I'xasuusi markii uusan qoraalkeyga raacsiisnay faahfaahin gaaban",
 'tog-watchlisthideown' => 'Ka qari wax bedelkeyga  liiska waardiyaha',
index cd81716..6964046 100644 (file)
@@ -439,7 +439,7 @@ $messages = array(
 'tog-showhiddencats' => 'Прикажи скривене категорије',
 'tog-noconvertlink' => 'Онемогући претварање наслова веза',
 'tog-norollbackdiff' => 'Изостави разлику након извршеног враћања',
-'tog-useeditwarning' => 'УпозоÑ\80и Ð¼Ðµ ÐºÐ°Ð´Ð° Ð½Ð°Ð¿Ñ\83Ñ\81Ñ\82им Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83 ÐºÐ¾Ñ\98а Ð½Ð¸Ñ\98е Ñ\81аÑ\87Ñ\83вана',
+'tog-useeditwarning' => 'УпозоÑ\80и Ð¼Ðµ ÐºÐ°Ð´Ð° Ð½Ð°Ð¿Ñ\83Ñ\88Ñ\82ам Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83 Ñ\81а Ð½ÐµÑ\81аÑ\87Ñ\83ваним Ð¿Ñ\80оменама',
 
 'underline-always' => 'увек подвлачи',
 'underline-never' => 'никад не подвлачи',
@@ -4371,10 +4371,10 @@ $5
 'logentry-move-move_redir' => '$1 је {{GENDER:$2|преместио|преместила}} страницу $3 на $4 преко преусмерења',
 'logentry-move-move_redir-noredirect' => '$1 је {{GENDER:$2|преместио|преместила}} страницу $3 на $4 преко преусмерења без остављања преусмерења',
 'logentry-patrol-patrol' => '$1 {{GENDER:|је означио|је означила|је означио}} измену $4 странице $3 као патролирану',
-'logentry-patrol-patrol-auto' => '$1 је самостално {{GENDER:|означио|означила|означио}} измену $4 странице $3 као прегледану',
-'logentry-newusers-newusers' => '$1 {{GENDER:|је отворио|је отворила|је отворио}} кориснички налог',
-'logentry-newusers-create' => '$1 {{GENDER:|је отворио|је отворила|је отворио}} кориснички налог',
-'logentry-newusers-create2' => '$1 {{GENDER:|је отворио|је отворила|је отворио}} кориснички налог $3',
+'logentry-patrol-patrol-auto' => '$1 је аутоматски {{GENDER:$2|означио|означила}} измену $4 странице $3 као прегледану',
+'logentry-newusers-newusers' => '$1 је {{GENDER:$2|отворио|отворила}} кориснички налог',
+'logentry-newusers-create' => '$1 је {{GENDER:$2|отворио|отворила}} кориснички налог',
+'logentry-newusers-create2' => '$1 је {{GENDER:$2|отворио|отворила}} кориснички налог $3',
 'logentry-newusers-autocreate' => 'Кориснички налог $1 је аутоматски {{GENDER:$2|отворен}}',
 'logentry-rights-rights' => '$1 {{GENDER:$1|је променио|је променила|је променио}} чланство групе за $3 из $4 у $5',
 'logentry-rights-rights-legacy' => '$1 {{GENDER:$1|је променио|је променила|је променио}} чланство групе за $3',
index 0571c0b..1149455 100644 (file)
@@ -348,7 +348,7 @@ $messages = array(
 'tog-showhiddencats' => 'Prikaži skrivene kategorije',
 'tog-noconvertlink' => 'Onemogući pretvaranje naslova veza',
 'tog-norollbackdiff' => 'Izostavi razliku nakon izvršenog vraćanja',
-'tog-useeditwarning' => 'Upozori me kada napustim stranicu sa nesačuvanim promenama',
+'tog-useeditwarning' => 'Upozori me kada napuštam stranicu sa nesačuvanim promenama',
 
 'underline-always' => 'uvek podvlači',
 'underline-never' => 'nikad ne podvlači',
@@ -4241,10 +4241,10 @@ Trebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove op
 'logentry-move-move_redir' => '$1 je {{GENDER:$2|premestio|premestila}} stranicu $3 na $4 preko preusmerenja',
 'logentry-move-move_redir-noredirect' => '$1 je {{GENDER:|premestio|premestila}} stranicu $3 na $4 preko preusmerenja bez ostavljanja preusmerenja',
 'logentry-patrol-patrol' => '$1 {{GENDER:|je označio|je označila|je označio}} izmenu $4 stranice $3 kao patroliranu',
-'logentry-patrol-patrol-auto' => '$1 je samostalno {{GENDER:|označio|označila|označio}} izmenu $4 stranice $3 kao pregledanu',
-'logentry-newusers-newusers' => '$1 {{GENDER:|je otvorio|je otvorila|je otvorio}} korisnički nalog',
-'logentry-newusers-create' => '$1 {{GENDER:|je otvorio|je otvorila|je otvorio}} korisnički nalog',
-'logentry-newusers-create2' => '$1 {{GENDER:|je otvorio|je otvorila|je otvorio}} korisnički nalog $3',
+'logentry-patrol-patrol-auto' => '$1 je automatski {{GENDER:$2|označio|označila}} izmenu $4 stranice $3 kao pregledanu',
+'logentry-newusers-newusers' => '$1 je {{GENDER:$2|otvorio|otvorila}} korisnički nalog',
+'logentry-newusers-create' => '$1 je {{GENDER:$2|otvorio|otvorila}} korisnički nalog',
+'logentry-newusers-create2' => '$1 je {{GENDER:$2|otvorio|otvorila}} korisnički nalog $3',
 'logentry-newusers-autocreate' => 'Korisnički nalog $1 je automatski {{GENDER:$2|otvoren}}',
 'logentry-rights-rights' => '$1 {{GENDER:$1|je promenio|je promenila|je promenio}} članstvo grupe za $3 iz $4 u $5',
 'logentry-rights-rights-legacy' => '$1 {{GENDER:$1|je promenio|je promenila|je promenio}} članstvo grupe za $3',
index 8d70e0b..3ae3588 100644 (file)
@@ -179,7 +179,6 @@ $messages = array(
 'tog-enotifminoredits' => 'E-mail mi fu pikin kenki fu peprewoysi opo mi sirey',
 'tog-enotifrevealaddr' => 'Sori mi e-mail nen ini den e-mail boskopu',
 'tog-shownumberswatching' => 'Sori omeni kebroikiman e tan luku a papira disi',
-'tog-showjumplinks' => 'Sori den "go na" miti',
 'tog-uselivepreview' => 'Kebroiki "wanten sori-na-fesi" (JavaScript – ondrosuku fasi)',
 'tog-forceeditsummary' => 'Gi wan boskopu efu a "Syatu" boksu leygi',
 'tog-watchlisthideown' => 'Kibri mi eygi kenki ini mi Tan luku réy',
index 8fbbbf5..d1f10d4 100644 (file)
@@ -748,7 +748,6 @@ Den administratören som låste den gav denna anledning: "\'\'$3\'\'".',
 # Login and logout pages
 'logouttext' => "'''Du är nu utloggad.'''
 
-Du kan fortsätta att använda {{SITENAME}} anonymt, eller så kan du <span class='plainlinks'>[$1 logga in igen]</span> som samma eller som en annan användare.
 Observera att det, tills du tömmer din webbläsares cache, på vissa sidor kan se ut som att du fortfarande är inloggad.",
 'welcomeuser' => 'Välkommen, $1!',
 'welcomecreation-msg' => 'Ditt konto har skapats.
@@ -796,7 +795,7 @@ Glöm inte att justera dina [[Special:Preferences|{{SITENAME}}-inställningar]].
 'createacct-emailoptional' => 'E-postadress (valfritt)',
 'createacct-email-ph' => 'Bekräfta din e-postadress',
 'createacct-another-email-ph' => 'Skriv in e-postadress',
-'createaccountmail' => 'Använd ett tillfälligt slumpvis valt lösenord och skicka det till e-postadressen som anges nedan',
+'createaccountmail' => 'Använd ett tillfälligt slumpvis valt lösenord och skicka det till den angivna e-postadressen',
 'createacct-realname' => 'Riktigt namn (valfritt)',
 'createaccountreason' => 'Orsak:',
 'createacct-reason' => 'Anledning',
@@ -1590,10 +1589,10 @@ Om du väljer att ange ditt riktiga namn, kommer det att användas för att till
 'userrights-no-interwiki' => 'Du har inte behörighet att ändra användarrättigheter på andra wikis.',
 'userrights-nodatabase' => 'Databasen $1 finns inte eller så är den inte lokal.',
 'userrights-nologin' => 'Du måste [[Special:UserLogin|logga in]] med ett administratörskonto för att ändra användarrättigheter.',
-'userrights-notallowed' => 'Ditt konto har inte behörighet till att lägga till eller ta bort användarrättigheter.',
+'userrights-notallowed' => 'Du har inte behörighet till att lägga till eller ta bort användarrättigheter.',
 'userrights-changeable-col' => 'Grupper du kan ändra',
 'userrights-unchangeable-col' => 'Grupper du inte kan ändra',
-'userrights-conflict' => 'Användarrättighetskonflikt! Var god tillämpa dina ändringar igen.',
+'userrights-conflict' => 'Konflikt vid ändringar av användarrättigheter! Var god granska och bekräfta dina ändringar.',
 'userrights-removed-self' => 'Du tog bort dina egna rättigheter. Som sådan, kan du inte längre komma åt denna sida.',
 
 # Groups
@@ -2187,6 +2186,8 @@ En sida anses vara en förgreningssida om den inkluderar en mall som länkas til
 'pageswithprop-text' => 'Denna sida listar sidor som använder en speciell sidegenskap.',
 'pageswithprop-prop' => 'Egenskapsnamn:',
 'pageswithprop-submit' => 'Gå',
+'pageswithprop-prophidden-long' => 'dold långt textegenskapsvärde ($1 kilobyte)',
+'pageswithprop-prophidden-binary' => 'dold binärt egenskapsvärde ($1 kilobyte)',
 
 'doubleredirects' => 'Dubbla omdirigeringar',
 'doubleredirectstext' => 'Det här är en lista över sidor som dirigerar om till andra omdirigeringssidor. 
@@ -2244,6 +2245,7 @@ Varje rad innehåller länkar till den första och andra omdirigeringsidan, samt
 'mostrevisions' => 'Sidor med flest ändringar',
 'prefixindex' => 'Alla sidor med prefix',
 'prefixindex-namespace' => 'Alla sidor med prefix ($1 namnrymder)',
+'prefixindex-strip' => 'Avlägsna prefix i lista',
 'shortpages' => 'Korta sidor',
 'longpages' => 'Långa sidor',
 'deadendpages' => 'Sidor utan länkar',
@@ -3221,13 +3223,13 @@ Detta orsakades troligen av en länk till en svartlistad webbplats.',
 'pageinfo-length' => 'Sidlängd (i byte)',
 'pageinfo-article-id' => 'Sid-ID',
 'pageinfo-language' => 'Språk för sidinnehåll',
-'pageinfo-robot-policy' => 'Sökmotordirektiv',
-'pageinfo-robot-index' => 'Indexerbar',
-'pageinfo-robot-noindex' => 'Inte indexerbar',
+'pageinfo-robot-policy' => 'Indexering av robotar',
+'pageinfo-robot-index' => 'Tillåten',
+'pageinfo-robot-noindex' => 'Inte tillåten',
 'pageinfo-views' => 'Antal visningar',
 'pageinfo-watchers' => 'Antal användare som bevakar sidan',
 'pageinfo-few-watchers' => 'Färre än $1 {{PLURAL:$1|bevakare}}',
-'pageinfo-redirects-name' => 'Omdirigeringar till denna sida',
+'pageinfo-redirects-name' => 'Antal omdirigeringar till denna sida',
 'pageinfo-subpages-name' => 'Undersidor till denna sida',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|omdirigering|omdirigeringar}}; $3 {{PLURAL:$3|icke-omdirigering|icke-omdirigeringar}})',
 'pageinfo-firstuser' => 'Sidskapare',
@@ -4199,4 +4201,12 @@ Annars kan du använda det enkla formuläret nedan. Din kommentar kommer att lä
 # Image rotation
 'rotate-comment' => 'Bilden roteras $1 {{PLURAL:$1|grad|grader}} medurs',
 
+# Limit report
+'limitreport-cputime' => 'Processortidsanvändning',
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|sekund|sekunder}}',
+'limitreport-walltime' => 'Realtidsanvändning',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|sekund|sekunder}}',
+'limitreport-postexpandincludesize-value' => '$1/$2 byte',
+'limitreport-templateargumentsize-value' => '$1/$2 byte',
+
 );
index 3e83578..140a2e7 100644 (file)
@@ -94,7 +94,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Pokoż, wjela sprowjorzy dowo pozůr',
 'tog-oldsig' => 'Teroźni wyglůnd Twojygo szrajbowańo',
 'tog-fancysig' => 'Szrajbńij s kodůma wiki (bez autůmatycznygo linka)',
-'tog-showjumplinks' => 'Zapńij cajchnůndzki "przyńdź do"',
 'tog-uselivepreview' => 'Używej dynamiczne uobźyrańy (JavaScript) (eksperymentalny)',
 'tog-forceeditsummary' => 'Pedź, kejbych ńic ńy naszkryfloł we uopiśe pomjyńań',
 'tog-watchlisthideown' => 'Schow moje pomjyńańa we artiklach, na kere dowom pozůr',
index ba72205..b47b93c 100644 (file)
@@ -618,8 +618,7 @@ $1',
 # Login and logout pages
 'logouttext' => "'''ขณะนี้คุณได้ล็อกเอาต์แล้ว'''
 
-คุณสามารถใช้งาน {{SITENAME}} ต่อในฐานะผู้ใช้นิรนาม หรือคุณสามารถ<span class='plainlinks'>[$1 ล็อกอินกลับเข้าไป]</span>ด้วยชื่อผู้ใช้เดิมหรือชื่อผู้ใช้อื่น
-อย่างไรก็ตามอาจมีบางหน้าที่แสดงผลเสมือนว่าคุณกำลังล็อกอินอยู่ จนกว่าคุณจะล้างแคชเบราว์เซอร์ของคุณ",
+หมายเหตุว่า บางหน้าอาจยังแสดงผลเสมือนว่าคุณกำลังล็อกอินอยู่ จนกว่าคุณจะล้างแคชเบราว์เซอร์ของคุณ",
 'welcomeuser' => 'ยินดีต้อนรับ $1!',
 'welcomecreation-msg' => 'บัญชีของคุณถูกสร้างขึ้นแล้ว
 อย่าลืมเปลี่ยนแปลง[[Special:Preferences|การตั้งค่าใน {{SITENAME}}]] ของคุณ',
@@ -2997,10 +2996,12 @@ $1',
 'pageinfo-article-id' => 'หมายเลขประจำหน้า',
 'pageinfo-language' => 'ภาษาเนื้อหาของหน้า',
 'pageinfo-robot-policy' => 'สถานะเสิร์ชเอนจิน',
+'pageinfo-robot-index' => 'อนุญาต',
+'pageinfo-robot-noindex' => 'ไม่อนุญาต',
 'pageinfo-views' => 'จำนวนการเข้าดู',
 'pageinfo-watchers' => 'จำนวนผู้เข้าดูหน้า',
 'pageinfo-few-watchers' => '{{PLURAL:$1|ผู้เฝ้าดู|ผู้เฝ้าดู}}น้อยกว่า $1 คน',
-'pageinfo-redirects-name' => 'หà¸\99à¹\89าà¹\80à¸\9bลีà¹\88ยà¸\99à¸\97าà¸\87มายัà¸\87หน้านี้',
+'pageinfo-redirects-name' => 'à¸\88ำà¸\99วà¸\99à¸\81ารà¹\80à¸\9bลีà¹\88ยà¸\99à¸\97าà¸\87มาหน้านี้',
 'pageinfo-subpages-name' => 'หน้าย่อยของหน้านี้',
 'pageinfo-subpages-value' => '$1 ($2 หน้าเปลี่ยนทาง; $3 หน้าไม่เปลี่ยนทาง)',
 'pageinfo-firstuser' => 'ผู้สร้างหน้า',
@@ -3643,6 +3644,7 @@ $5
 'version-license' => 'สัญญาอนุญาต',
 'version-poweredby-credits' => "วิกินี้จัดทำโดย '''[//www.mediawiki.org/ MediaWiki]''', สงวนลิขสิทธิ์ © 2001-$1 โดย $2",
 'version-poweredby-others' => 'ผู้อื่น',
+'version-poweredby-translators' => 'ผู้แปล translatewiki.net',
 'version-license-info' => 'มีเดียวิกิเป็นซอฟต์แวร์เสรี คุณสามารถแจกจ่าย และ/หรือ แก้ไขได้ภายใต้เงื่อนไขแห่งสัญญาอนุญาตสาธารณะทั่วไปของกนูตามที่เผยแพร่โดยมูลนิธิซอฟต์แวร์เสรี ไม่ว่ารุ่นที่ 2 แห่งสัญญาอนุญาต หรือรุ่นภายหลังอื่นใด (ตามที่คุณเลือก)
 
 มีเดียวิกิมีถูกแจกจ่ายด้วยหวังว่าจะเป็นประโยชน์ แต่ไม่มีการรับประกันใด ๆ ทั้งสิ้น ไม่มีแม้การรับประกันโดยนัยเพื่อการค้า หรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ ดูรายละเอียดเพิ่มเติมที่สัญญาอนุญาตสาธารณะทั่วไปของกนู
index a34e438..d8bd06b 100644 (file)
@@ -80,7 +80,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Soim hamas yusa i lukautim pes',
 'tog-oldsig' => 'Olsem wanem yu raitim nem nau',
 'tog-fancysig' => 'Dispela rot yu raitim long nem stap wikitext (i no gat otomatik link)',
-'tog-showjumplinks' => ' Setap ol "Go stret long" links bilong helpim',
 'tog-uselivepreview' => 'Soim ol senis kwiktaim taim mi wokim (i nidim Javascript)',
 'tog-forceeditsummary' => 'Tokim mi long wanem taim raitim mi nating long liklik toksave bilong senis',
 'tog-watchlisthideown' => 'Haitim ol senis mi wokim long lukautbuk bilong mi',
index 5a6982f..05a8443 100644 (file)
@@ -1123,7 +1123,7 @@ Geri giderek varolan sayfayı değiştirebilirsiniz ya da kayıtlı iseniz [[Spe
 'nocreate-loggedin' => 'Yeni sayfalar oluşturmaya yetkiniz yok.',
 'sectioneditnotsupported-title' => 'Bölüm değiştirmesi desteklenmiyor',
 'sectioneditnotsupported-text' => 'Bölüm değiştirmesi bu sayfada desteklenmiyor.',
-'permissionserrors' => 'İzin hataları',
+'permissionserrors' => 'İzin hatası',
 'permissionserrorstext' => 'Aşağıdaki {{PLURAL:$1|sebep|sebepler}}den dolayı, bunu yapmaya yetkiniz yok:',
 'permissionserrorstext-withaction' => 'Aşağıdaki {{PLURAL:$1|neden|nedenler}}den dolayı $2 yetkiniz yok:',
 'recreate-moveddeleted-warn' => "'''Uyarı: Daha önceden silinmiş bir sayfayı tekrar oluşturuyorsunuz.'''
index 31c5727..97a284a 100644 (file)
@@ -217,7 +217,7 @@ $messages = array(
 'tog-hidepatrolled' => 'Тикшерелгән үзгәртүләр яңа үзгәртүләр исемлегеннән яшерелсен.',
 'tog-newpageshidepatrolled' => 'Тикшерелгән битләр яңа битләр исемлегеннән яшерелсен',
 'tog-extendwatchlist' => 'Соңгыларын гына түгел, ә барлык үзгәртүләрне эченә алган, киңәйтелгән күзәтү исемлеге',
-'tog-usenewrc' => 'ЯÑ\85Ñ\88Ñ\8bÑ\80Ñ\82Ñ\8bлган Ñ\81оңгÑ\8b Ò¯Ð·Ð³Ó\99Ñ\80Ñ\82үлÓ\99Ñ\80 Ð¸Ñ\81емлеге ÐºÑ\83лланÑ\8bлÑ\81Ñ\8bн (JavaScript кирәк)',
+'tog-usenewrc' => 'СоңгÑ\8b Ò¯Ð·Ð³Ó\99Ñ\80Ñ\82үлÓ\99Ñ\80дÓ\99 Ò»Ó\99м ÐºÒ¯Ð·Ó\99Ñ\82Ò¯ Ð¸Ñ\81емлегендÓ\99 Ò¯Ð·Ð³Ó\99Ñ\80еÑ\88лÓ\99Ñ\80не Ñ\82Ó©Ñ\80кемлÓ\99Ñ\80гÓ\99(JavaScript кирәк)',
 'tog-numberheadings' => 'Атамалар автомат рәвештә номерлансын',
 'tog-showtoolbar' => 'Үзгәртү вакытында коралларның өске панеле күрсәтелсен (JavaScript кирәк)',
 'tog-editondblclick' => 'Битләргә ике чирттерү белән үзгәртү бите ачылсын (JavaScript кирәк)',
@@ -316,6 +316,18 @@ $messages = array(
 'oct' => 'окт',
 'nov' => 'ноя',
 'dec' => 'дек',
+'january-date' => '$1 Гыйнвар',
+'february-date' => '$1 Февраль',
+'march-date' => '$1 Март',
+'april-date' => '$1 Апрель',
+'may-date' => '$1 Май',
+'june-date' => '$1 Июнь',
+'july-date' => '$1 Июль',
+'august-date' => '$1 Август',
+'september-date' => '$1 Сентябрь',
+'october-date' => '$1 Октябрь',
+'november-date' => '$1 Ноябрь',
+'december-date' => '$1 Декабрь',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Төркем|Төркемнәр}}',
@@ -343,7 +355,8 @@ $messages = array(
 'newwindow' => '(яңа тәрәзәдә ачыла)',
 'cancel' => 'Баш тарту',
 'moredotdotdot' => 'Дәвамы…',
-'mypage' => 'Шәхси битем',
+'morenotlisted' => 'Башка берни дә юк...',
+'mypage' => 'Бит',
 'mytalk' => 'Бәхәс',
 'anontalk' => 'Бу IP адресы өчен бәхәс бите',
 'navigation' => 'Күчү',
@@ -366,7 +379,7 @@ $messages = array(
 'vector-action-protect' => 'Яклау',
 'vector-action-undelete' => 'Кайтару',
 'vector-action-unprotect' => 'Яклауны үзгәртү',
-'vector-simplesearch-preference' => 'Эзләү өчен киңәйтелгән ярдәм хәбәрләрен күрсәтү («Векторлы» бизәлеше өчен генә кулланылыа)',
+'vector-simplesearch-preference' => 'Җиңеләйтелгән эзләү юлын кушарга («Векторлы» бизәлеше өчен генә)',
 'vector-view-create' => 'Төзү',
 'vector-view-edit' => 'Үзгәртү',
 'vector-view-history' => 'Тарихын карау',
@@ -397,6 +410,7 @@ $messages = array(
 'create-this-page' => 'Бу битне төзү',
 'delete' => 'Бетерү',
 'deletethispage' => 'Бу битне бетерү',
+'undeletethispage' => 'Бу битне кайтарырга',
 'undelete_short' => '$1 {{PLURAL:$1|үзгәртмәне}} торгызу',
 'viewdeleted_short' => '{{PLURAL:$1|1 бетерелгән үзгәртүне|$1 бетерелгән үзгәртүне}} карау',
 'protect' => 'Яклау',
@@ -473,6 +487,10 @@ $1',
 'youhavenewmessages' => 'Сездә $1 бар ($2).',
 'newmessageslink' => 'яңа хәбәрләр',
 'newmessagesdifflink' => 'бәхәс битегезнең соңгы үзгәртүе',
+'youhavenewmessagesfromusers' => 'Сезгә {{PLURAL:$3|$3 кулланучыдан}} $1 килде ($2).',
+'youhavenewmessagesmanyusers' => 'Сез бик күп кулланучыдан $1 алдыгыз ($2).',
+'newmessageslinkplural' => '{{PLURAL:$1|яңа хәбәр}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|соңгы үзгәртү|соңгы үзгәртүләр}}',
 'youhavenewmessagesmulti' => 'Сезгә монда яңа хәбәрләр бар: $1',
 'editsection' => 'үзгәртү',
 'editold' => 'үзгәртү',
@@ -526,7 +544,7 @@ $1',
 # General errors
 'error' => 'Хата',
 'databaseerror' => 'Мәгълүматлар базасында хата',
-'dberrortext' => 'Мәгълүматлар базасына җибәрелгән сорауда синтаксик хата табылды.
+'dberrortext' => 'Мәгълүматлар базасына җибәрелгән сорауда синтаксис хатасы табылды.
 Программада хата булырга мөмкин.
 Мәгълүматлар базасына җибәрелгән соңгы сорау:
 <blockquote><tt>$1</tt></blockquote>
@@ -567,6 +585,8 @@ $1',
 'badarticleerror' => 'Бу биттә мондый гамәл башкарып булмый.',
 'cannotdelete' => '«$1» исемле битне яки файлны бетереп булмый. Аны бүтән кулланучы бетергән булырга мөмкин.',
 'cannotdelete-title' => '«$1» битен бетереп булмый',
+'delete-hook-aborted' => 'Үзгәртү махсус процедура тарафыннан кире кагыла.
+Сәбәпләре китерелми.',
 'badtitle' => 'Яраксыз исем',
 'badtitletext' => 'Битнең соралган исеме дөрес түгел, буш яисә телъара яки интервики исеме дөрес күрсәтелмәгән. Исемдә тыелган символлар кулланылган булырга мөмкин.',
 'perfcached' => 'Бу мәгълүматлар кэштан алынган, аларда соңгы үзгәртүләр булмаска мөмкин. Кэшта иң күбе {{PLURAL:$1|язма}} саклана.',
@@ -579,17 +599,19 @@ $1',
 'viewsource-title' => '$1 битенең яхма текстын карау',
 'actionthrottled' => 'Тизлек киметелгән',
 'actionthrottledtext' => 'Спамга каршы көрәш өчен аз вакыт эчендә бу гамәлне еш куллану тыелган. Зинһар, соңарак кабатлагыз.',
-'protectedpagetext' => 'Бу бит үзгәртү өчен ябык.',
+'protectedpagetext' => 'Бу бит үзгәртүләрдән һәм башка төрле гамәлләрдән якланган.',
 'viewsourcetext' => 'Сез бу битнең башлангыч текстын карый һәм күчерә аласыз:',
 'viewyourtext' => "Сез '''үз төзәтмәләрегезне''' бу сәхифәдә карый һәм чыгарылма текстны күчермәли аласыз:",
-'protectedinterface' => 'Бу биттә программа интерфейсы хәбәрләре бар. Вандализмга каршы көрәш сәбәпле, бу битне үзгәртү тыела.',
-'editinginterface' => "'''Игътибар:''' Сез MediaWiki системасының интерфейс битен үзгәртәсез. Бу башка кулланучыларга да тәэсир итәчәк. Тәрҗемә өчен [//translatewiki.net/wiki/Main_Page?setlang=tt-cyrl translatewiki.net] локализацияләү проектын кулланыгыз.",
+'protectedinterface' => 'Бу биттә программа тәэминатының интерфейс хәбәрләре бар. Вандализмга каршы көрәш сәбәпле, бу битне үзгәртү тыела. Әлеге хәбәрнең тәрҗемәсен өстәү яки үзгәртү өчен, зинһар өчен, MediaWiki [//translatewiki.net/ translatewiki.net] тәрҗемәләү сайтын кулланыгыз.',
+'editinginterface' => "'''Игътибар:''' Сез программа тәэминатының интерфейс тексты булган битне үзгәртәсез. Бу башка кулланучыларга да тәэсир итәчәк. Тәрҗемә өчен [//translatewiki.net/wiki/Main_Page?setlang=tt-cyrl translatewiki.net] локализацияләү проектын кулланыгыз.",
 'sqlhidden' => '(SQL-сорау яшерелгән)',
 'cascadeprotected' => 'Бу бит үзгәртүләрдән сакланган, чөнки ул каскадлы саклау кабул ителгән {{PLURAL:$1|биткә|битләргә}} өстәлгән:
 $2',
 'namespaceprotected' => "'''$1''' исем киңлегендәге битләрне үзгәртү өчен сезнең рөхсәтегез юк.",
 'customcssprotected' => 'Сез бу CSS-сәхифәне үзгәртә алмыйсыз, чөнки монда башка кулланучының шәхси көйләнмәләре саклана',
 'customjsprotected' => 'Сез бу JavaScript-сәхифәне үзгәртә алмыйсыз, чөнк монда башка кулланучының шәхси көйләнмәләре саклана',
+'mycustomcssprotected' => 'Сезнең әлеге CSS битен үзгәртергә хокукыгыз юк.',
+'mycustomjsprotected' => 'Сезнең биттә JavaScript үзгәртергә хокукларыгыз юк.',
 'ns-specialprotected' => 'Махсус битләрне үзгәртеп булмый.',
 'titleprotected' => "Бу исем белән бит ясау [[User:$1|$1]] тарафыннан тыелган.
 Ул күрсәткән сәбәп: ''$2''.",
@@ -606,11 +628,22 @@ $2',
 Кайбер битләр Сез кергән кебек күрсәтелергә мөмкин. Моны бетерү өчен браузер кэшын чистартыгыз.",
 'welcomeuser' => 'Хуш килдегез, $1!',
 'yourname' => 'Кулланучы исеме:',
+'userlogin-yourname' => 'Кулланучы исеме',
+'userlogin-yourname-ph' => 'Хисап язмасының исемен кертегез',
+'createacct-another-username-ph' => 'Хисап язмасының исемен кертегез',
 'yourpassword' => 'Серсүз:',
+'userlogin-yourpassword' => 'Серсүз',
+'userlogin-yourpassword-ph' => 'Серсүзне языгыз',
+'createacct-yourpassword-ph' => 'Серсүзне кертегез',
 'yourpasswordagain' => 'Серсүзне кабат кертү:',
+'createacct-yourpasswordagain' => 'Серсүзне раслагыз',
+'createacct-yourpasswordagain-ph' => 'Серсүзне кабаттан кертегез',
 'remembermypassword' => 'Хисап язмамны бу браузерда саклансын (иң күп $1 {{PLURAL:$1|көн|көн|көн}}гә кадәр)',
+'userlogin-remembermypassword' => 'Системада калырга',
+'userlogin-signwithsecure' => 'Якланган кушылу',
 'securelogin-stick-https' => 'Керүдән соң HTTPS буенча тоташтыру дәвам ителсен',
 'yourdomainname' => 'Сезнең доменыгыз:',
+'password-change-forbidden' => 'Сез бу викидә серсүзне үзгәртә алмыйсыз.',
 'externaldberror' => 'Тышкы мәгълүмат базасы ярдәмендә аутентификация үткәндә хата чыкты, яисә тышкы хисап язмагызга үзгәрешләр кертү хокукыгыз юк.',
 'login' => 'Керү',
 'nav-login-createaccount' => 'Керү / теркәлү',
@@ -620,6 +653,8 @@ $2',
 'logout' => 'Чыгу',
 'userlogout' => 'Чыгу',
 'notloggedin' => 'Сез хисап язмагызга кермәгәнсез',
+'userlogin-noaccount' => 'Аккаунт юкмы?',
+'userlogin-joinproject' => 'Проектка керү',
 'nologin' => "Кулланучы исемең юкмы? '''$1'''",
 'nologinlink' => 'Хисап язмасы төзегез',
 'createaccount' => 'Яңа кулланучы теркәү',
index 6abf1e2..89a9f9b 100644 (file)
@@ -787,7 +787,7 @@ $1',
 # Login and logout pages
 'logouttext' => "'''Тепер ви працюєте в тому ж режимі, який був до вашого входу до системи.'''
 
\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ñ\80одовжÑ\83ваÑ\82и Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83ваÑ\82и {{grammar:accusative|{{SITENAME}}}} Ð°Ð½Ð¾Ð½Ñ\96мно Ð°Ð±Ð¾ Ð·Ð½Ð¾Ð²Ñ\83 <span class='plainlinks'>[$1 Ð²Ð²Ñ\96йÑ\82и Ð´Ð¾ Ñ\81иÑ\81Ñ\82еми]</span> Ñ\8fк Ñ\82ой Ñ\81амий Ð°Ð±Ð¾ Ñ\96нÑ\88ий ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87. Ð\94еÑ\8fкÑ\96 Ñ\81Ñ\82оÑ\80Ñ\96нки Ð¼Ð¾Ð¶Ñ\83Ñ\82Ñ\8c Ð²Ñ\96добÑ\80ажаÑ\82иÑ\81Ñ\8f, Ð½Ñ\96би Ð²Ð¸ Ñ\89е Ð¿Ñ\80едÑ\81Ñ\82авленÑ\96 Ñ\81иÑ\81Ñ\82емÑ\96 Ð¿Ñ\96д Ñ\96менем, Ñ\89об Ñ\83никнÑ\83Ñ\82и Ñ\86Ñ\8cого, Ð¾Ð½Ð¾Ð²Ñ\96Ñ\82Ñ\8c ÐºÐµÑ\88 Ð±Ñ\80аÑ\83зеÑ\80а.",
+Деякі сторінки можуть відображатися, ніби ви ще представлені системі під іменем, щоб уникнути цього, оновіть кеш браузера.",
 'welcomeuser' => 'Вітаємо, $1!',
 'welcomecreation-msg' => 'Ваш акаунт було створено.
 Не забудьте змінити свої [[Special:Preferences|налаштування у {{GRAMMAR:genitive|{{SITENAME}}}}]].',
@@ -834,7 +834,7 @@ $1',
 'createacct-emailoptional' => "Адреса електронної пошти (не обов'язково)",
 'createacct-email-ph' => 'Введіть Вашу адресу електронної пошти',
 'createacct-another-email-ph' => 'Введіть адресу електронної пошти',
-'createaccountmail' => 'Ð\92икоÑ\80иÑ\81Ñ\82аÑ\82и Ñ\82имÑ\87аÑ\81овий Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ Ð¿Ð°Ñ\80олÑ\8c Ñ\96 Ð½Ð°Ð´Ñ\96Ñ\81лаÑ\82и Ð¹Ð¾Ð³Ð¾ Ð½Ð° Ð°Ð´Ñ\80еÑ\81Ñ\83 ÐµÐ»ÐµÐºÑ\82Ñ\80онноÑ\97 Ð¿Ð¾Ñ\88Ñ\82и, Ð²ÐºÐ°Ð·Ð°Ð½Ñ\83 Ð½Ð¸Ð¶Ñ\87е',
+'createaccountmail' => 'Ð\92икоÑ\80иÑ\81Ñ\82аÑ\82и Ñ\82имÑ\87аÑ\81овий Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ Ð¿Ð°Ñ\80олÑ\8c Ñ\96 Ð½Ð°Ð´Ñ\96Ñ\81лаÑ\82и Ð¹Ð¾Ð³Ð¾ Ð½Ð° Ð²ÐºÐ°Ð·Ð°Ð½Ñ\83 Ð°Ð´Ñ\80еÑ\81Ñ\83 ÐµÐ»ÐµÐºÑ\82Ñ\80онноÑ\97 Ð¿Ð¾Ñ\88Ñ\82и',
 'createacct-realname' => "Справжнє ім'я (не обов'язково)",
 'createaccountreason' => 'Причина:',
 'createacct-reason' => 'Причина',
@@ -1645,11 +1645,11 @@ $1",
 'userrights-no-interwiki' => 'У вас нема дозволу змінювати права користувачів на інших вікі.',
 'userrights-nodatabase' => 'База даних $1 не існує або не є локальною.',
 'userrights-nologin' => 'Ви повинні [[Special:UserLogin|ввійти до системи]] з обліковим записом адміністратора, щоб призначати права користувачам.',
-'userrights-notallowed' => 'Ð\92аÑ\88 Ð¾Ð±Ð»Ñ\96ковий Ð·Ð°Ð¿Ð¸Ñ\81 Ð½Ðµ Ð´Ð¾Ð·Ð²Ð¾Ð»Ñ\8fÑ\94 Ð¿Ñ\80изнаÑ\87аÑ\82и Ð°Ð±Ð¾ Ð·Ð¼Ñ\96нÑ\8eваÑ\82и Ð¿Ñ\80ава користувачів.',
+'userrights-notallowed' => 'У Ð²Ð°Ñ\81 Ð½Ðµ Ð¼Ð°Ñ\94 Ð´Ð¾Ð·Ð²Ð¾Ð»Ñ\96в Ð½Ð° Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ\8f Ð°Ð±Ð¾ Ð·Ð¼Ñ\96нÑ\83 Ð¿Ñ\80ав користувачів.',
 'userrights-changeable-col' => 'Групи, які ви можете змінити',
 'userrights-unchangeable-col' => 'Групи, які ви не можете змінити',
 'userrights-irreversible-marker' => '$1*',
-'userrights-conflict' => 'Ð\9aонÑ\84лÑ\96кÑ\82 Ð¿Ñ\80ав ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а! Ð\91Ñ\83дÑ\8c Ð»Ð°Ñ\81ка, Ð·Ð°Ñ\81Ñ\82оÑ\81Ñ\83йÑ\82е зміни знову.',
+'userrights-conflict' => 'Ð\9aонÑ\84лÑ\96кÑ\82 Ð·Ð¼Ñ\96ни Ð¿Ñ\80ав ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а! Ð\91Ñ\83дÑ\8c Ð»Ð°Ñ\81ка, Ð¿ÐµÑ\80евÑ\96Ñ\80Ñ\82е Ñ\82а  Ð¿Ñ\96дÑ\82веÑ\80дÑ\96Ñ\82Ñ\8c зміни знову.',
 'userrights-removed-self' => 'Ви успішно позбавили себе власних прав. Через це Ви більше не маєте доступу до цієї сторінки.',
 
 # Groups
@@ -3307,7 +3307,7 @@ The wiki server can't provide data in a format your client can read.",
 'pageinfo-views' => 'Кількість переглядів',
 'pageinfo-watchers' => 'Кількість спостерігачів',
 'pageinfo-few-watchers' => 'Менше ніж $1 {{PLURAL:$1|спостерігач|спостерігачі|спостерігачів}}',
-'pageinfo-redirects-name' => 'Ð\9fеÑ\80енапÑ\80авленнÑ\8f на цю сторінку',
+'pageinfo-redirects-name' => 'ЧиÑ\81ло Ð¿ÐµÑ\80енапÑ\80авленÑ\8c на цю сторінку',
 'pageinfo-subpages-name' => 'Підсторінки цієї сторінки',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|перенаправлення|перенаправлення|перенаправлень}}; $3 {{PLURAL:$3|неперенаправлення|неперенаправлення|неперенаправлень}})',
 'pageinfo-firstuser' => 'Створив сторінку',
@@ -4004,7 +4004,7 @@ $5
 
 Код підтвердження дійсний до $4.',
 'confirmemail_body_set' => 'Хтось (можливо ви) з IP-адреси $1
-назначив цю електронну скриньку для облікового запису «$2» в проекті {{SITENAME}}.
+назначив цю електронну скриньку для облікового запису „$2“ в проекті {{SITENAME}}.
 
 Аби підтвердити, що цей обліковий запис справді належить вам, і дозволити надсилання листів
 з сайту {{SITENAME}}, відкрийте наступне посилання у веб-оглядачі:
index 80d6435..34321c1 100644 (file)
@@ -143,7 +143,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Jonön numi gebanas galädöl',
 'tog-oldsig' => 'Dispenäd dabinöl:',
 'tog-fancysig' => 'Dispenäd balugik (nen yüms lü gebanapad)',
-'tog-showjumplinks' => 'Dälön lügolovi me yüms „lübunöl“',
 'tog-uselivepreview' => 'Gebön büologedi itjäfidik (JavaScript) (Sperimäntik)',
 'tog-forceeditsummary' => 'Sagön obe, ven redakaplän brefik vagon',
 'tog-watchlisthideown' => 'Klänedön redakamis obik se galädalised',
index 64b0535..8149322 100644 (file)
@@ -72,7 +72,6 @@ $messages = array(
 'tog-shownumberswatching' => "Näütäq, ku pall'o pruukjit taa lehe perrä kaes",
 'tog-oldsig' => 'Parhillanõ alakirotus:',
 'tog-fancysig' => 'Pruugiq vikiteksti moodulist alakirotust (ilma automaatsõ lingildä)',
-'tog-showjumplinks' => 'Panõq lehe algustõ kipõqlingiq',
 'tog-uselivepreview' => 'Pruugiq kipõkaehust (JavaScript) (proomi)',
 'tog-forceeditsummary' => 'Annaq teedäq, ku olõ-i kirotõt kokkovõtõt',
 'tog-watchlisthideown' => 'Näüdäku-i perräkaemisnimekirän mu hindä toimõnduisi',
index 6e4690f..b7cd92d 100644 (file)
@@ -47,7 +47,6 @@ $messages = array(
 'tog-shownumberswatching' => '显示监控此页个用户数目',
 'tog-oldsig' => '现在签名个预览:',
 'tog-fancysig' => '拿签名当成wiki文本(弗产生自动链接)',
-'tog-showjumplinks' => '启用“跳转”链接',
 'tog-uselivepreview' => '使用实时预览(Javascript)(试验)',
 'tog-forceeditsummary' => '编辑摘要为空个辰光提醒我',
 'tog-watchlisthideown' => '来许监控列表里向拿我个编辑囥脱佢',
@@ -933,7 +932,6 @@ $1",
 'recentchangesdays-max' => '最长 $1 日',
 'recentchangescount' => '默认显示个编辑数:',
 'prefs-help-recentchangescount' => '箇个包括近段辰光个改动、页面历史以及日志。',
-'prefs-help-watchlist-token' => '此栏填写个密钥可以生成侬监视列表个RSS源。任何知晓本栏密钥个人侪好阅读侬个监视列表,因此请使用安全数值。箇搭已提供一只随机生成个数值供侬挑拣:$1',
 'savedprefs' => '倷个偏好已经保存哉。',
 'timezonelegend' => '时区:',
 'localtime' => '当地辰光:',
index a9e2693..a9b76a6 100644 (file)
@@ -73,7 +73,6 @@ $messages = array(
 'tog-shownumberswatching' => "'t Antal gebrukers weerheven 't a deêze pahina volg",
 'tog-oldsig' => 'Bestaende onderteêkenienge',
 'tog-fancysig' => "As wikitekst behandel'n (zonder automaotische verwiezienge ni de gebrukersbladzie)",
-'tog-showjumplinks' => '“hi nae”-toehankelijkeidslienks inschaokelen',
 'tog-uselivepreview' => '“live voevertoônienge” gebruken (JavaScript vereist – experimenteêl)',
 'tog-forceeditsummary' => 'Heef me een meldieng bie een lehe saemenvattieng',
 'tog-watchlisthideown' => 'Eihen bewerkiengen op men volglieste verberhen',
index 957f28f..594e306 100644 (file)
@@ -780,7 +780,7 @@ $2',
 # Login and logout pages
 'logouttext' => "'''您现在已经退出。'''
 
-您可以继续以匿名方式使用{{SITENAME}},或再次以相同或不同用户身份<span class='plainlinks'>[$1 登录]</span>。请注意一些页面可能仍然显示您为登录状态,直到您清空您的浏览器缓存为止。",
+请注意一些页面可能仍然显示您为登录状态,直到您清空您的浏览器缓存为止。",
 'welcomeuser' => '欢迎,$1!',
 'welcomecreation-msg' => '你的账户已创建。请不要忘记更改你的[[Special:Preferences|{{SITENAME}}设置]]。',
 'yourname' => '用户名:',
@@ -826,7 +826,7 @@ $2',
 'createacct-emailoptional' => '电子邮件地址 (可选)',
 'createacct-email-ph' => '请输入您的电子邮件地址',
 'createacct-another-email-ph' => '输入电子邮件地址',
-'createaccountmail' => '使用一个临时的随机密码,并将它发送到以下指定的电子邮件地址',
+'createaccountmail' => '使用一个临时的随机密码并将其发送到指定的电子邮件地址中',
 'createacct-realname' => '真实姓名 (可选)',
 'createaccountreason' => '原因:',
 'createacct-reason' => '原因',
@@ -1549,10 +1549,10 @@ $1",
 'userrights-no-interwiki' => '您并没有权限去编辑在其它wiki上的用户权限。',
 'userrights-nodatabase' => '数据库$1不存在或并非为本地的。',
 'userrights-nologin' => '您必须要以管理员帐户[[Special:UserLogin|登录]]之后才可以指定用户权限。',
-'userrights-notallowed' => '你的账户没有权限添加或删除用户权限。',
+'userrights-notallowed' => '你没有权限添加或删除用户权限。',
 'userrights-changeable-col' => '你可以更改的用户组',
 'userrights-unchangeable-col' => '你不能更改的用户组',
-'userrights-conflict' => '用户权限冲突 !请重新应用您的更改。',
+'userrights-conflict' => '用户权限的更改存在冲突!请检查并确认您的更改。',
 'userrights-removed-self' => '您已成功删除您自己的权利。因此,您不再能够访问此页。',
 
 # Groups
@@ -1617,7 +1617,7 @@ $1",
 'right-hideuser' => '封禁并隐藏用户名',
 'right-ipblock-exempt' => '避开IP封禁、自动封禁和IP段封禁',
 'right-proxyunbannable' => '避开代理服务器的自动封禁',
-'right-unblockself' => '解å°\81ä»\96们è\87ªå·±',
+'right-unblockself' => 'è\87ªæ\88\91解å°\81',
 'right-protect' => '更改保护级别和编辑受连锁保护的页面',
 'right-editprotected' => '编辑页面保护需要“{{int:protect-level-sysop}}”',
 'right-editsemiprotected' => '编辑页面保护需要“{{int:protect-level-autoconfirmed}}”',
@@ -3121,13 +3121,13 @@ $2',
 'pageinfo-length' => '页面长度(字节)',
 'pageinfo-article-id' => '页面ID',
 'pageinfo-language' => '页面内容语言',
-'pageinfo-robot-policy' => 'æ\90\9cç´¢å¼\95æ\93\8eç\8a¶æ\80\81',
-'pageinfo-robot-index' => 'å\8f¯ç´¢å¼\95',
-'pageinfo-robot-noindex' => 'ä¸\8då\8f¯ç´¢å¼\95',
+'pageinfo-robot-policy' => 'æ\9cºå\99¨äººç´¢å¼\95',
+'pageinfo-robot-index' => 'å\85\81许',
+'pageinfo-robot-noindex' => 'ä¸\8då\85\81许',
 'pageinfo-views' => '查看数',
 'pageinfo-watchers' => '页面监视者数',
 'pageinfo-few-watchers' => '少于$1个监视者',
-'pageinfo-redirects-name' => '本页重定向页数',
+'pageinfo-redirects-name' => '重定向到此页的数量',
 'pageinfo-subpages-name' => '本页子页面数',
 'pageinfo-subpages-value' => '$1($2个重定向页,$3个非重定向页)',
 'pageinfo-firstuser' => '页面创建者',
index 36219e1..613f8b9 100644 (file)
@@ -33,6 +33,7 @@
  * @author Littletung
  * @author Mark85296341
  * @author Oapbtommy
+ * @author Openerror
  * @author Pbdragonwang
  * @author PhiLiP
  * @author Philip
@@ -635,6 +636,7 @@ $1',
 'cannotdelete-title' => '無法刪除頁面「$1」',
 'delete-hook-aborted' => '刪除被勾點中止。
 它沒有提供解釋。',
+'no-null-revision' => '無法創建對"$1"頁面新的空白修訂',
 'badtitle' => '錯誤的標題',
 'badtitletext' => '所請求頁面的標題是無效的、不存在,跨語言或跨wiki連結的標題錯誤。它可能包含一個或更多的不能用於標題的字符。',
 'perfcached' => '下列是快取資料,因此可能不是最新的。最多{{PLURAL:$1|只有1個結果|$1個結果}}可用。',
@@ -665,6 +667,7 @@ $2',
 'customjsprotected' => '你並無權限去編輯此JavaScript頁面,因為他包含了另一位用戶的個人設定。',
 'mycustomcssprotected' => '你沒有編輯這CSS頁面的權限。',
 'mycustomjsprotected' => '你沒有編輯這JavaScript頁面的權限。',
+'myprivateinfoprotected' => '您沒有權限來編輯您的個人信息。',
 'mypreferencesprotected' => '您沒有權限編輯您的設定。',
 'ns-specialprotected' => '特殊頁面是不可以編輯的。',
 'titleprotected' => "這個標題已經被[[User:$1|$1]]保護以防止建立。理由是''$2''。",
@@ -691,6 +694,7 @@ $2',
 'yourname' => '用戶名:',
 'userlogin-yourname' => '用戶名',
 'userlogin-yourname-ph' => '輸入你的用戶名',
+'createacct-another-username-ph' => '輸入帳戶名稱',
 'yourpassword' => '您的密碼:',
 'userlogin-yourpassword' => '密碼',
 'userlogin-yourpassword-ph' => '輸入密碼',
@@ -725,9 +729,11 @@ $2',
 'helplogin-url' => 'Help:登入',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|登入説明]]',
 'createacct-join' => '輸入您的基本資料:',
+'createacct-another-join' => '在下面輸入新帳戶的資訊。',
 'createacct-emailrequired' => '電子郵件',
 'createacct-emailoptional' => '電子郵件(可選)',
 'createacct-email-ph' => '設置電郵地址',
+'createacct-another-email-ph' => '輸入電郵地址',
 'createaccountmail' => '使用一個臨時的隨機密碼,並將它發送到以下指定的電子郵件地址',
 'createacct-realname' => '真實姓名(可選)',
 'createaccountreason' => '理由:',
@@ -736,6 +742,7 @@ $2',
 'createacct-captcha' => '安全驗證',
 'createacct-imgcaptcha-ph' => '輸入您在上面看到的字符',
 'createacct-submit' => '建立帳戶',
+'createacct-another-submit' => '建立另一個使用者帳號',
 'createacct-benefit-heading' => '{{SITENAME}}是由像您一樣的人建立。',
 'createacct-benefit-body1' => '{{PLURAL:$1|次編輯|次編輯}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|頁頁面|頁頁面}}',
@@ -874,6 +881,19 @@ $2
 'changeemail-submit' => '更改電郵',
 'changeemail-cancel' => '取消',
 
+# Special:ResetTokens
+'resettokens' => '重設密鑰',
+'resettokens-text' => '你可以在這裡重設與您的帳戶私隱有關連的密鑰。
+
+如果您意外地與任何一個人分享這些密鑰,或者您的帳戶被入侵、受到破壞,您應該重設密鑰。',
+'resettokens-no-tokens' => '沒有可重設的密鑰。',
+'resettokens-legend' => '重設密鑰。',
+'resettokens-tokens' => '密鑰:',
+'resettokens-token-label' => '$1(現時為$2)',
+'resettokens-watchlist-token' => '監視列表網絡訂閱源密鑰',
+'resettokens-done' => '已重設密鑰。',
+'resettokens-resetbutton' => '重設所選的密鑰',
+
 # Edit page toolbar
 'bold_sample' => '粗體文字',
 'bold_tip' => '粗體文字',
@@ -1268,6 +1288,7 @@ $1",
 'compareselectedversions' => '比較選定的修訂版本',
 'showhideselectedversions' => '顯示/隱藏選定的修訂版本',
 'editundo' => '撤銷',
+'diff-empty' => '(沒有差異)',
 'diff-multi' => '(由{{PLURAL:$2|1名用戶|$2名用戶}}作出的{{PLURAL:$1|一個中途修訂版本|$1個中途修訂版本}}未被顯示)',
 'diff-multi-manyusers' => '(由多於$2名用戶作出的{{PLURAL:$1|一個中途修訂版本|$1個中途修訂版本}} 未被顯示)',
 'difference-missing-revision' => '{{PLURAL:$2|1次修訂|$2 次修訂}}差異($1)不存在。
@@ -1379,6 +1400,8 @@ $1",
 'recentchangesdays-max' => '最多$1{{PLURAL:$1|天}}',
 'recentchangescount' => '預設顯示的編輯數:',
 'prefs-help-recentchangescount' => '這個包括最近更改、頁面歷史以及日誌。',
+'prefs-help-watchlist-token2' => '這是一個秘密的密鑰,用於訂源您的監視列表。
+知道它的人將能夠讀取您的監視列表,所以您不應該分享它。[[Special:ResetTokens|如有需要重設此密鑰,請點擊這裡]]。',
 'savedprefs' => '您的個人偏好設定已經儲存。',
 'timezonelegend' => '時區:',
 'localtime' => '當地時間:',
@@ -1448,6 +1471,7 @@ $1",
 'prefs-displayrc' => '顯示選項',
 'prefs-displaysearchoptions' => '顯示選項',
 'prefs-displaywatchlist' => '顯示選項',
+'prefs-tokenwatchlist' => '密鑰',
 'prefs-diffs' => '差異',
 
 # User preference: email validation using jQuery
@@ -1520,7 +1544,7 @@ $1",
 'right-reupload-shared' => '於本地無視共用媒體檔案庫上的檔案',
 'right-upload_by_url' => '由一個URL上載檔案',
 'right-purge' => '不需要確認之下清除網站快取',
-'right-autoconfirmed' => '編輯半保護頁面',
+'right-autoconfirmed' => '不受基於IP的頻率限制',
 'right-bot' => '視為一個自動程序',
 'right-nominornewtalk' => '小編輯不引發新訊息提示',
 'right-apihighlimits' => '在API查詢中使用更高的上限',
@@ -1540,9 +1564,10 @@ $1",
 'right-hideuser' => '封鎖用戶名,對公眾隱藏',
 'right-ipblock-exempt' => '繞過IP封鎖、自動封鎖以及範圍封鎖',
 'right-proxyunbannable' => '繞過Proxy的自動封鎖',
-'right-unblockself' => '自我解除封鎖',
-'right-protect' => '更改保護等級以及編輯保護頁面',
-'right-editprotected' => '編輯保護頁面(無連鎖保護)',
+'right-unblockself' => '解除封鎖自己',
+'right-protect' => '更改保護等級以及編輯被連鎖保護的頁面',
+'right-editprotected' => '編輯保護層級為「{{int:protect-level-sysop}}」的頁面',
+'right-editsemiprotected' => '編輯保護層級為「{{int:protect-level-autoconfirmed}}」的頁面',
 'right-editinterface' => '編輯用戶界面',
 'right-editusercssjs' => '編輯其他用戶的CSS和JavaScript檔案',
 'right-editusercss' => '編輯其他用戶的CSS檔案',
@@ -1551,6 +1576,8 @@ $1",
 'right-editmyuserjs' => '編輯你自己的用戶JavaScript檔',
 'right-viewmywatchlist' => '查看您的監視列表',
 'right-editmywatchlist' => '編輯您的監視列表。請注意即使沒有這種權利,某些操作仍將添加頁面。',
+'right-viewmyprivateinfo' => '檢視自己的私隱資料(如電郵地址及真實姓名)',
+'right-editmyprivateinfo' => '編輯自己的私隱資料(如電郵地址及真實姓名)',
 'right-editmyoptions' => '編輯您的設定',
 'right-rollback' => '快速復原上位用戶對某一頁面之編輯',
 'right-markbotedits' => '標示復原編輯作機械人編輯',
@@ -2001,6 +2028,13 @@ $1',
 'randompage' => '隨機頁面',
 'randompage-nopages' => '在以下的{{PLURAL:$2|名字空間}}中沒有頁面:$1',
 
+# Special:RandomInCategory
+'randomincategory' => '分類中的隨機頁面',
+'randomincategory-invalidcategory' => '"$1" 不是一個有效的分類名稱。',
+'randomincategory-nopages' => '[[:Category:$1]]中沒有頁面。',
+'randomincategory-selectcategory' => '從分類中獲取隨機頁面:$1 $2',
+'randomincategory-selectcategory-submit' => '顯示',
+
 # Random redirect
 'randomredirect' => '隨機重定向',
 'randomredirect-nopages' => '在「$1」名字空間中沒有重定向頁面。',
@@ -2041,6 +2075,7 @@ Template:消除歧義',
 'pageswithprop-text' => '此頁列出所有頁面使用了特定的頁面屬性。',
 'pageswithprop-prop' => '屬性名稱:',
 'pageswithprop-submit' => '進入',
+'pageswithprop-prophidden-long' => '長文本屬性值已被隱藏($1千位元組)',
 
 'doubleredirects' => '雙重重定向',
 'doubleredirectstext' => '這一頁列出所有重定向頁面重定向到另一個重定向頁的頁面。每一行都包含到第一和第二個重定向頁面的連結,以及第二個重定向頁面的目標,通常顯示的都會是"真正"的目標頁面,也就是第一個重定向頁面應該指向的頁面。
@@ -2216,7 +2251,7 @@ Template:消除歧義',
 'listgrouprights-summary' => '以下面是一個在這個wiki中定義出來的用戶權限清單,以及它們的存取權。
 更多有關個別權限的細節可以在[[{{MediaWiki:Listgrouprights-helppage}}|這裏]]找到。',
 'listgrouprights-key' => '* <span class="listgrouprights-granted">已授予的權限</span>
-* <span class="listgrouprights-revoked">已撤除的權限</span>',
+* <span class="listgrouprights-revoked">被吊銷的權限</span>',
 'listgrouprights-group' => '群組',
 'listgrouprights-rights' => '權限',
 'listgrouprights-helppage' => 'Help:群組權限',
@@ -2392,7 +2427,7 @@ $UNWATCHURL
 該頁最後的編輯者是[[User:$3|$3]]([[User talk:$3|討論]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])。',
 'editcomment' => "編輯摘要: \"''\$1''\"。",
 'revertpage' => '已恢復由[[Special:Contributions/$2|$2]]([[User talk:$2|對話]])的編輯至[[User:$1|$1]]的最後一個修訂版本',
-'revertpage-nouser' => '恢復由(移除了的用戶名)的編輯到[[User:$1|$1]]的最後一個修訂版本',
+'revertpage-nouser' => '取消由隱藏用戶作出的編輯,並恢復到[[User:$1|$1]]的最後一個修訂版本',
 'rollback-success' => '已恢復$1的編輯;
 更改回$2的最後修訂版本。',
 
@@ -3430,7 +3465,7 @@ Variants for Chinese language
 'exif-compression-6' => 'JPEG(舊)',
 
 'exif-copyrighted-true' => '受版權保護',
-'exif-copyrighted-false' => '公共領域',
+'exif-copyrighted-false' => '版權所屬者不明',
 
 'exif-unknowndate' => '未知的日期',
 
@@ -3690,9 +3725,9 @@ $3
 $5
 
 確認碼會在$4過期。',
-'confirmemail_body_set' => '有人,可能是您,來自IP地址$1,已設置的戶口"$2"這個地址{{SITENAME}}網站名稱電郵地址
+'confirmemail_body_set' => '來自IP地址 $1 的人 (可能是你) 已將帳戶 "$2" 的電郵地址設定為 {{SITENAME}}
 
-為了確認這個帳戶確實屬於自己的,重新確認電子郵件功能於{{SITENAME}}網站名稱,請在瀏覽器中打開這個鏈接:
+請用瀏覽器打開以下的連接,以確認你對這個帳戶的擁有權,並將上述電郵地址跟帳戶建立關聯。
 
 $3
 
@@ -3700,7 +3735,7 @@ $3
 
 $5
 
-這個確認碼會在$4時過期。',
+確認碼會在這個時間過期:$4',
 'confirmemail_invalidated' => '電郵地址確認已取消',
 'invalidateemail' => '取消電郵確認',
 
@@ -3822,6 +3857,7 @@ $5
 'version-license' => '授權',
 'version-poweredby-credits' => "此維基由'''[//www.mediawiki.org/ MediaWiki]'''驅動,版權所有 © 2001-$1 $2。",
 'version-poweredby-others' => '其他',
+'version-poweredby-translators' => 'translatewiki.net 上的翻譯者',
 'version-credits-summary' => '我們感謝以下人士為[[Special:Version|MediaWiki]]作出的貢獻。',
 'version-license-info' => 'MediaWiki為自由軟件;您可依據自由軟件基金會所發表的GNU通用公共授權條款規定,就本程式再為發佈與/或修改;無論您依據的是本授權的第二版或(您自行選擇的)任一日後發行的版本。
 
index 57ff083..d9ed956 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Print serialized output of MediaWiki config vars
+ * Print serialized output of MediaWiki config vars.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@
  * @file
  * @ingroup Maintenance
  * @author Tim Starling
- * @author Antoine Musso
+ * @author Antoine Musso <hashar@free.fr>
  */
 
 require_once __DIR__ . '/Maintenance.php';
@@ -31,33 +31,123 @@ require_once __DIR__ . '/Maintenance.php';
  * @ingroup Maintenance
  */
 class GetConfiguration extends Maintenance {
+
+       protected $regex = null;
+
+       protected $settings_list = array();
+
+       /**
+        * List of format output internally supported.
+        * Each item MUST be lower case.
+        */
+       protected static $outFormats = array(
+               'json',
+               'php',
+               'serialize',
+               'vardump',
+       );
+
        public function __construct() {
                parent::__construct();
                $this->mDescription = "Get serialized MediaWiki site configuration";
-               $this->addOption( 'settings', 'Space-separated list of wg* variables', true, true );
-               $this->addOption( 'format', 'PHP or JSON', true, true );
-               $this->addOption( 'wiki', 'Wiki ID', true, true );
+               $this->addOption( 'regex', 'regex to filter variables with', false, true );
+               $this->addOption( 'iregex', 'same as --regex but case insensitive', false, true );
+               $this->addOption( 'settings', 'Space-separated list of wg* variables', false, true );
+               $this->addOption( 'format', join( ', ', self::$outFormats ), false, true );
+       }
+
+       protected function validateParamsAndArgs() {
+               $error_out = false;
+
+               # Get the format and make sure it is set to a valid default value
+               $format = strtolower( $this->getOption( 'format', 'PHP' ) );
+
+               $validFormat = in_array( $format, self::$outFormats );
+               if( ! $validFormat ) {
+                       $this->error("--format set to an unrecognized format", 0);
+                       $error_out = true;
+               }
+
+               if( $this->getOption( 'regex' ) && $this->getOption( 'iregex' ) ) {
+                       $this->error("Can only use either --regex or --iregex");
+                       $error_out = true;
+               }
+
+               parent::validateParamsAndArgs();
+
+               if( $error_out ) {
+                       # Force help and quit
+                       $this->maybeHelp( true );
+               }
+       }
+
+       /**
+        * finalSetup() since we need MWException
+        */
+       public function finalSetup() {
+               parent::finalSetup();
+
+               $this->regex = $this->getOption( 'regex' ) ? : $this->getOption( 'iregex' );
+               if( $this->regex ) {
+                       $this->regex = '/' . $this->regex . '/';
+                       if ( $this->hasOption( 'iregex' ) ) {
+                               $this->regex .= 'i';  # case insensitive regex
+                       }
+               }
+
+               if( $this->hasOption( 'settings' ) ) {
+                       $this->settings_list = explode( ' ', $this->getOption( 'settings' ) );
+                       # Values validation
+                       foreach ( $this->settings_list as $name ) {
+                               if ( !preg_match( '/^wg[A-Z]/', $name ) ) {
+                                       throw new MWException( "Variable '$name' does start with 'wg'." );
+                               } elseif ( !isset( $GLOBALS[$name] ) ) {
+                                       throw new MWException( "Variable '$name' is not set." );
+                               } elseif ( !$this->isAllowedVariable( $GLOBALS[$name] ) ) {
+                                       throw new MWException( "Variable '$name' includes non-array, non-scalar, items." );
+                               }
+                       }
+               }
        }
 
        public function execute() {
+               // Settings we will display
                $res = array();
-               foreach ( explode( ' ', $this->getOption( 'settings' ) ) as $name ) {
-                       if ( !preg_match( '/^wg[A-Z]/', $name ) ) {
-                               throw new MWException( "Variable '$name' does start with 'wg'." );
-                       } elseif ( !isset( $GLOBALS[$name] ) ) {
-                               throw new MWException( "Variable '$name' is not set." );
-                       } elseif ( !$this->isAllowedVariable( $GLOBALS[$name] ) ) {
-                               throw new MWException( "Variable '$name' includes non-array, non-scalar, items." );
+
+               # Sane default: dump any wg / wmg variable
+               if( ! $this->regex && ! $this->getOption( 'settings' ) ) {
+                       $this->regex = '/^wm?g/';
+               }
+
+               # Filter out globals based on the regex
+               if ( $this->regex ) {
+                       $res = array();
+                       foreach( $GLOBALS as $name => $value ) {
+                               if ( preg_match( $this->regex, $name ) ) {
+                                       $res[$name] = $value;
+                               }
                        }
-                       $res[$name] = $GLOBALS[$name];
                }
 
+               # Explicitly dumps a list of provided global names
+               if ( $this->settings_list ) {
+                       foreach( $this->settings_list as $name ) {
+                               $res[$name] = $GLOBALS[$name];
+                       }
+               }
+
+               ksort( $res );
+
                $out = null;
-               switch ( $this->getOption( 'format' ) ) {
-                       case 'PHP':
+               switch ( strtolower( $this->getOption( 'format' ) ) ) {
+                       case 'serialize':
+                       case 'php':
                                $out = serialize( $res );
                                break;
-                       case 'JSON':
+                       case 'vardump':
+                               $out = $this->formatVarDump( $res );
+                               break;
+                       case 'json':
                                $out = FormatJson::encode( $res );
                                break;
                        default:
@@ -67,7 +157,22 @@ class GetConfiguration extends Maintenance {
                        throw new MWException( "Failed to serialize the requested settings." );
                }
 
-               $this->output( $out . "\n" );
+               if( $out ) {
+                       $this->output( $out . "\n" );
+               }
+       }
+
+       protected function formatVarDump( $res ) {
+               $ret = '';
+               foreach ( $res as $key => $value ) {
+                       ob_start();  # intercept var_dump() output
+                       print "\${$key} = ";
+                       var_dump( $value );
+                       # grab var_dump() output and discard it from the output buffer
+                       $ret .= trim( ob_get_clean() ) . ";\n";
+               }
+
+               return trim( $ret, "\n" );
        }
 
        private function isAllowedVariable( $value ) {
index 187e16d..0cdc069 100644 (file)
@@ -479,6 +479,10 @@ $wgOptionalMessages = array(
        'pageinfo-redirects-value',
        'created', // @deprecated. Remove in MediaWiki 1.23.
        'changed', // @deprecated. Remove in MediaWiki 1.23.
+       'limitreport-ppvisitednodes-value',
+       'limitreport-ppgeneratednodes-value',
+       'limitreport-expansiondepth-value',
+       'limitreport-expensivefunctioncount-value',
 );
 
 /** Exif messages, which may be set as optional in several checks, but are generally mandatory */
index aa9fa9e..5a42091 100644 (file)
@@ -564,6 +564,7 @@ $wgMessageStructure = array(
                'loginlanguagelabel',
                'loginlanguagelinks',
                'suspicious-userlogout',
+               'createacct-another-realname-tip',
        ),
        'mail' => array(
                'pear-mail-error',
@@ -3954,6 +3955,25 @@ $wgMessageStructure = array(
        'rotation' => array(
                'rotate-comment',
        ),
+       'limitreport' => array(
+               'limitreport-title',
+               'limitreport-cputime',
+               'limitreport-cputime-value',
+               'limitreport-walltime',
+               'limitreport-walltime-value',
+               'limitreport-ppvisitednodes',
+               'limitreport-ppvisitednodes-value',
+               'limitreport-ppgeneratednodes',
+               'limitreport-ppgeneratednodes-value',
+               'limitreport-postexpandincludesize',
+               'limitreport-postexpandincludesize-value',
+               'limitreport-templateargumentsize',
+               'limitreport-templateargumentsize-value',
+               'limitreport-expansiondepth',
+               'limitreport-expansiondepth-value',
+               'limitreport-expensivefunctioncount',
+               'limitreport-expensivefunctioncount-value',
+       ),
 );
 
 /** Comments for each block */
@@ -4198,4 +4218,5 @@ Variants for Chinese language",
        'duration'              => 'Durations',
        'cachedspecial'         => 'SpecialCachedPage',
        'rotation'              => 'Image rotation',
+       'limitreport'           => 'Limit report',
 );
index 9dac031..52f0462 100644 (file)
@@ -73,7 +73,6 @@ class RunJobs extends Maintenance {
                $startTime = time();
                $type = $this->getOption( 'type', false );
                $wgTitle = Title::newFromText( 'RunJobs.php' );
-               $dbw = wfGetDB( DB_MASTER );
                $jobsRun = 0; // counter
 
                $group = JobQueueGroup::singleton();
@@ -93,9 +92,11 @@ class RunJobs extends Maintenance {
                                ++$jobsRun;
                                $this->runJobsLog( $job->toString() . " STARTING" );
 
+                               // Set timer to stop the job if too much CPU time is used
+                               set_time_limit( $maxTime ?: 0 );
                                // Run the job...
-                               $t = microtime( true );
                                wfProfileIn( __METHOD__ . '-' . get_class( $job ) );
+                               $t = microtime( true );
                                try {
                                        $status = $job->run();
                                        $error = $job->getLastError();
@@ -104,8 +105,10 @@ class RunJobs extends Maintenance {
                                        $error = get_class( $e ) . ': ' . $e->getMessage();
                                        $e->report(); // write error to STDERR and the log
                                }
-                               wfProfileOut( __METHOD__ . '-' . get_class( $job ) );
                                $timeMs = intval( ( microtime( true ) - $t ) * 1000 );
+                               wfProfileOut( __METHOD__ . '-' . get_class( $job ) );
+                               // Disable the timer
+                               set_time_limit( 0 );
 
                                // Mark the job as done on success or when the job cannot be retried
                                if ( $status !== false || !$job->allowRetries() ) {
@@ -135,10 +138,35 @@ class RunJobs extends Maintenance {
                                if ( $jobsRun > 0 && ( $jobsRun % 100 ) == 0 ) {
                                        $group->waitForBackups();
                                }
+
+                               // Bail if near-OOM instead of in a job
+                               $this->assertMemoryOK();
                        }
                } while ( $job ); // stop when there are no jobs
        }
 
+       /**
+        * Make sure that this script is not too close to the memory usage limit
+        * @throws MWException
+        */
+       private function assertMemoryOK() {
+               static $maxBytes = null;
+               if ( $maxBytes === null ) {
+                       $m = array();
+                       if ( preg_match( '!^(\d+)(k|m|g|)$!i', ini_get( 'memory_limit' ), $m ) ) {
+                               list( , $num, $unit ) = $m;
+                               $conv = array( 'g' => 1024*1024*1024, 'm' => 1024*1024, 'k' => 1024, '' => 1 );
+                               $maxBytes = $num * $conv[strtolower( $unit )];
+                       } else {
+                               $maxBytes = 0;
+                       }
+               }
+               $usedBytes = memory_get_usage();
+               if ( $maxBytes && $usedBytes >= .95*$maxBytes ) {
+                       throw new MWException( "Detected excessive memory usage ($usedBytes/$maxBytes)." );
+               }
+       }
+
        /**
         * Log the job message
         * @param $msg String The message to log
index 6352843..6f0d3be 100644 (file)
@@ -1080,6 +1080,8 @@ return array(
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
                'dependencies' => array(
+                       'mediawiki.api',
+                       'mediawiki.Title',
                        'mediawiki.legacy.wikibits',
                        'mediawiki.util',
                ),
index 5ca0b12..597aea1 100644 (file)
 
                        // Attributes for accessibility. This isn't necessary when the toggler is already
                        // an <a> or a <button> etc., but it doesn't hurt either, and it's consistent.
-                       $toggleLink.prop( 'tabIndex', 0 ).attr( 'role', 'button' );
+                       $toggleLink.prop( 'tabIndex', 0 );
 
                        // Initial state
                        if ( options.collapsed || $collapsible.hasClass( 'mw-collapsed' ) ) {
index 115a49a..cac056e 100644 (file)
                                        .addClass( table.config.cssHeader )
                                        .prop( 'tabIndex', 0 )
                                        .attr( {
-                                               role: 'button',
+                                               role: 'columnheader button',
                                                title: msg[1]
                                        } );
                        }
index 89f54c4..1af4a7a 100644 (file)
@@ -9,3 +9,9 @@
        margin-bottom: 1em;
        margin-left: 2.5em;
 }
+
+/* Show/hide animation is incorrect if the table has a margin set. Extra
+ * "table.wikitable" is needed in the selector for CSS specificity. */
+table.wikitable.preview-limit-report {
+       margin: 0;
+}
index 0fb5912..7ae51ab 100644 (file)
@@ -12,6 +12,11 @@ jQuery( document ).ready( function ( $ ) {
                        $list: $( '.hiddencats ul' ),
                        $toggler: $( '.mw-hiddenCategoriesExplanation' ),
                        cookieName: 'hidden-categories-list'
+               },
+               {
+                       $list: $( '.preview-limit-report-wrapper' ),
+                       $toggler: $( '.mw-limitReportExplanation' ),
+                       cookieName: 'preview-limit-report'
                }
        ];
 
index 7bdfca5..c6c9063 100644 (file)
@@ -55,6 +55,14 @@ p, pre, .mw-code, td, th, li, dd, dt {
 
 textarea {
        overflow: auto;
+       width: 100%;
+}
+
+#editform textarea {
+       display: block;
+       -moz-box-sizing: border-box;
+       -webkit-box-sizing: border-box;
+       box-sizing: border-box;
 }
 
 #footer {
index 4246e82..2c2203c 100644 (file)
@@ -96,7 +96,7 @@ window.wgUploadWarningObj = {
        'timeoutID': false,
 
        'keypress': function () {
-               if ( !ajaxUploadDestCheck || !sajax_init_object() ) return;
+               if ( !ajaxUploadDestCheck ) return;
 
                // Find file to upload
                var destFile = document.getElementById('wpDestFile');
@@ -121,7 +121,7 @@ window.wgUploadWarningObj = {
        },
 
        'checkNow': function (fname) {
-               if ( !ajaxUploadDestCheck || !sajax_init_object() ) return;
+               if ( !ajaxUploadDestCheck ) return;
                if ( this.timeoutID ) {
                        window.clearTimeout( this.timeoutID );
                }
@@ -130,25 +130,29 @@ window.wgUploadWarningObj = {
        },
 
        'timeout' : function() {
-               if ( !ajaxUploadDestCheck || !sajax_init_object() ) return;
+               if ( !ajaxUploadDestCheck || this.nameToCheck === '' ) return;
                injectSpinner( document.getElementById( 'wpDestFile' ), 'destcheck' );
 
-               // Get variables into local scope so that they will be preserved for the
-               // anonymous callback. fileName is copied so that multiple overlapping
-               // ajax requests can be supported.
-               var obj = this;
-               var fileName = this.nameToCheck;
-               sajax_do_call( 'SpecialUpload::ajaxGetExistsWarning', [this.nameToCheck],
-                       function (result) {
-                               obj.processResult(result, fileName)
+               var uploadWarningObj = this;
+               ( new mw.Api ).get( {
+                       action: 'query',
+                       titles: ( new mw.Title( this.nameToCheck, mw.config.get( 'wgNamespaceIds' ).file ) ).getPrefixedText(),
+                       prop: 'imageinfo',
+                       iiprop: 'uploadwarning',
+                       indexpageids: '',
+               } ).done( function ( result ) {
+                       var result = '';
+                       if ( result.query ) {
+                               result = result.query.pages[result.query.pageids[0]].imageinfo[0];
                        }
-               );
+                       uploadWarningObj.processResult( result, uploadWarningObj.nameToCheck );
+               } );
        },
 
-       'processResult' : function (result, fileName) {
+       'processResult' : function ( result, fileName ) {
                removeSpinner( 'destcheck' );
-               this.setWarning(result.responseText);
-               this.responseCache[fileName] = result.responseText;
+               this.setWarning( result.html );
+               this.responseCache[fileName] = result.html;
        },
 
        'setWarning' : function (warning) {
@@ -159,7 +163,7 @@ window.wgUploadWarningObj = {
 
                // Set a value in the form indicating that the warning is acknowledged and
                // doesn't need to be redisplayed post-upload
-               if ( warning == '' || warning == '&nbsp;' ) {
+               if ( warning == '' ) {
                        ackElt[0].value = '';
                } else {
                        ackElt[0].value = '1';
@@ -279,18 +283,15 @@ window.wgUploadLicenseObj = {
                var title = document.getElementById('wpDestFile').value;
                if ( !title ) title = 'File:Sample.jpg';
 
-               var url = mw.util.wikiScript( 'api' )
-                       + '?action=parse&text={{' + encodeURIComponent( license ) + '}}'
-                       + '&title=' + encodeURIComponent( title )
-                       + '&prop=text&pst&format=json';
-
-               var req = sajax_init_object();
-               req.onreadystatechange = function() {
-                       if ( req.readyState == 4 && req.status == 200 )
-                               wgUploadLicenseObj.processResult( eval( '(' + req.responseText + ')' ), license );
-               };
-               req.open( 'GET', url, true );
-               req.send( '' );
+               ( new mw.Api ).get( {
+                       action: 'parse',
+                       text: '{{' + license + '}}',
+                       title: title,
+                       prop: 'text',
+                       pst: ''
+               } ).done( function ( result ) {
+                       wgUploadLicenseObj.processResult( result, license );
+               } );
        },
 
        'processResult' : function( result, license ) {
index c648ff0..57c5e1b 100644 (file)
@@ -139,6 +139,12 @@ A?b
 Weirdo titles!
 !! endarticle
 
+!!article
+Template:Bullet
+!!text
+* Bar
+!!endarticle
+
 ###
 ### Basic tests
 ###
@@ -1346,6 +1352,8 @@ Regression with preformatted in <center>
 
 !! end
 
+# Expected output in the following test is not really expected (there should be
+# <pre> in the output) -- it's only testing for well-formedness.
 !! test
 Bug 6200: Preformatted in <blockquote>
 !! input
@@ -1354,53 +1362,7 @@ Bug 6200: Preformatted in <blockquote>
 </blockquote>
 !! result
 <blockquote>
-<pre>Blah
-</pre>
-</blockquote>
-
-!! end
-
-!! test
-Bug 51086: Double newlines in blockquotes should be turned into paragraphs
-!! input
-<blockquote>
-Foo
-
-Bar
-</blockquote>
-!! result
-<blockquote>
-<p>Foo
-</p><p>Bar
-</p>
-</blockquote>
-
-!! end
-
-!! test
-Bug 15491: <ins>/<del> in blockquote
-!! input
-<blockquote>
-Foo <del>bar</del> <ins>baz</ins> quux
-</blockquote>
-!! result
-<blockquote>
-<p>Foo <del>bar</del> <ins>baz</ins> quux
-</p>
-</blockquote>
-
-!! end
-
-# Note that the p-wrapping is newline sensitive, which could be
-# considered a bug: tidy will wrap only the 'Foo' in the example
-# below in a <p> tag. (see comment 23-25 of bug #6200)
-!! test
-Bug 15491: <ins>/<del> in blockquote (2)
-!! input
-<blockquote>Foo <del>bar</del> <ins>baz</ins> quux
-</blockquote>
-!! result
-<blockquote>Foo <del>bar</del> <ins>baz</ins> quux
+ Blah
 </blockquote>
 
 !! end
@@ -1794,6 +1756,20 @@ c
 </pre>
 !!end
 
+!!test
+1d. Indent-Pre and Comments
+(Pre-handler currently cannot distinguish between comment/ws order and normalizes them to [comment,ws] order)
+!!input
+<!--a--> a
+
+ <!--b-->b
+!!result
+<pre>a
+</pre>
+<pre>b
+</pre>
+!!end
+
 !!test
 2a. Indent-Pre and tables
 !!input
@@ -1901,8 +1877,7 @@ c
 </pre>
 </center>
 <blockquote>
-<pre>foo
-</pre>
+ foo
 </blockquote>
 <table><tr><td>
 <pre>foo
@@ -1947,6 +1922,52 @@ b
 </pre>
 !! end
 
+!! test
+6. Pre-blocks should extend across lines with leading WS even when there is no wrappable content
+!! input
+ a
+ <!-- continue -->
+ b
+
+ c
+d
+!! result
+<pre>a
+
+b
+</pre>
+<pre>c
+
+</pre>
+<p>d
+</p>
+!! end
+
+!! test
+7a. Indent-pre and category links
+!! options
+parsoid=wt2html,wt2wt
+!! input
+ [[Category:foo]] <!-- No pre-wrapping -->
+{{echo| [[Category:foo]]}} <!-- No pre-wrapping -->
+!! result
+  <span typeof="mw:Transclusion"> </span> 
+!! end
+
+!! test
+7b. Indent-pre and category links
+!! options
+parsoid=wt2html,wt2wt
+!! input
+ [[Category:foo]] a
+ [[Category:foo]] {{echo|b}}
+!! result
+<pre> a <span typeof="mw:Transclusion">b</span>
+</pre>
+!! end
+
 ###
 ### HTML-pre (some to spec PHP parser behavior and some Parsoid-RT-centric)
 ###
@@ -4927,6 +4948,46 @@ parsoid
 <link rel="mw:PageProp/redirect" href="./Main_Page">
 !! end
 
+!! test
+Optional colon in #REDIRECT
+!! options
+# the colon is archaic syntax.  we support it for wt2html, but we
+# don't care that it roundtrips back to the modern syntax.
+parsoid=wt2html,html2html
+!! input
+#REDIRECT:[[Main Page]]
+!! result
+<link rel="mw:PageProp/redirect" href="./Main_Page">
+!! end
+
+!! test
+Whitespace in #REDIRECT with optional colon
+!! options
+# the colon and gratuitous whitespace is archaic syntax.  we support
+# it for wt2html, but we don't care that it roundtrips back to the
+# modern syntax (without extra whitespace)
+parsoid=wt2html,html2html
+!! input
+ #REDIRECT 
+: 
+[[Main Page]]
+!! result
+<link rel="mw:PageProp/redirect" href="./Main_Page">
+!! end
+
+!! test
+Piped link in #REDIRECT
+!! options
+# content after piped link is ignored.  we support this syntax,
+# but don't care that the piped link is lost when we roundtrip this.
+parsoid=wt2html
+!! input
+#REDIRECT [[Main Page|bar]]
+!! result
+<link rel="mw:PageProp/redirect" href="./Main_Page">
+!! end
+
 !! test
 Redirect to category
 !! options
@@ -4937,6 +4998,16 @@ parsoid=wt2html
 <link rel="mw:PageProp/redirect" href="./Category:Foo"><link rel="mw:WikiLink/Category" href="./Category:Foo">
 !! end
 
+!! test
+Redirect to category with URL encoding
+!! options
+parsoid=wt2html
+!! input
+#REDIRECT [[Category%3AFoo]]
+!! result
+<link rel="mw:PageProp/redirect" href="./Category:Foo"><link rel="mw:WikiLink/Category" href="./Category:Foo">
+!! end
+
 !! test
 Redirect to category page
 !! options
@@ -4948,7 +5019,7 @@ parsoid=wt2html,html2html
 !! end
 
 !! test
-Redirect to image page
+Redirect to image page (1)
 !! options
 parsoid
 !! input
@@ -4957,6 +5028,16 @@ parsoid
 <link rel="mw:PageProp/redirect" href="./File:Wiki.png">
 !! end
 
+!! test
+Redirect to image page (2)
+!! options
+parsoid
+!! input
+#REDIRECT [[Image:Wiki.png]]
+!! result
+<link rel="mw:PageProp/redirect" href="./File:Wiki.png">
+!! end
+
 !! test
 Redirect to language
 !! options
@@ -4977,6 +5058,17 @@ parsoid
 <link rel="mw:PageProp/redirect" href="File:Wiki.png">
 !! end
 
+!! test
+Non-English #REDIRECT
+!! options
+parsoid
+language=is
+!! input
+#TILVÍSUN [[Main Page]]
+!! result
+<link rel="mw:PageProp/redirect" href="./Main_Page">
+!! end
+
 ##
 ## XHTML tidiness
 ###
@@ -5512,6 +5604,18 @@ parsoid
 <ol><li> foo<ol><li> bar</li></ol></li></ol><ul><li> foo<ul><li> bar</li></ul></li></ul><dl><dd> foo<dl><dd> bar</dd></dl></dd></dl>
 !! end
 
+!! test
+Parsoid: Test of whitespace serialization with Templated bullets
+!! options
+parsoid
+!! input
+* {{bullet}}
+!! result
+<ul>
+<li> </li><li about="#mwt1" typeof="mw:Transclusion" data-mw='{"target":{"wt":"bullet","href":"./Template:Bullet"},"params":{},"i":0}'> Bar</li>
+</ul>
+!! end
+
 # ------------------------------------------------------------------------
 # The next set of tests are about Parsoid's ability to handle badly nested
 # tags (parse, minimize scope of fixup, and roundtrip back)
@@ -8341,8 +8445,13 @@ Special:Foobar_nonexistent
 ###
 ### Images
 ###
+### For Parsoid-specific tests, see
+#### http://www.mediawiki.org/wiki/Parsoid/MediaWiki_DOM_spec#Images
+
 !! test
-Simple image
+Simple image (php)
+!! options
+php
 !! input
 [[Image:foobar.jpg]]
 !! result
@@ -8351,16 +8460,20 @@ Simple image
 !! end
 
 !! test
-Right-aligned image
+Simple image (parsoid)
+!! options
+parsoid=wt2html
 !! input
-[[Image:foobar.jpg|right]]
+[[Image:foobar.jpg]]
 !! result
-<div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
-
+<p><span class="mw-default-size" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span>
+</p>
 !! end
 
 !! test
-Simple image (using File: namespace, now canonical)
+Simple image (using File: namespace, now canonical) (php)
+!! options
+php
 !! input
 [[File:foobar.jpg]]
 !! result
@@ -8369,38 +8482,108 @@ Simple image (using File: namespace, now canonical)
 !! end
 
 !! test
-Image with caption
+Simple image (using File: namespace, now canonical) (parsoid)
+!! options
+parsoid
+!! input
+[[File:Foobar.jpg]]
+!! result
+<p><span class="mw-default-size" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span>
+</p>
+!! end
+
+!! test
+Right-aligned image (php)
+!! options
+php
 !! input
-[[Image:foobar.jpg|right|Caption text]]
+[[Image:foobar.jpg|right]]
+!! result
+<div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
+
+!! end
+
+!! test
+Right-aligned image (parsoid)
+!! options
+parsoid
+!! input
+[[File:Foobar.jpg|right]]
+!! result
+<figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></figure>
+!! end
+
+!! test
+Image with caption (php)
+!! options
+php
+!! input
+[[File:Foobar.jpg|right|Caption text]]
 !! result
 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption text"><img alt="Caption text" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
 
 !! end
 
 !! test
-Image with empty attribute
+Image with caption (parsoid)
+!! options
+parsoid
+!! input
+[[File:Foobar.jpg|right|Caption text]]
+!! result
+<figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption text</figcaption></figure>
+!! end
+
+!! test
+Image with empty attribute (php)
+!! options
+php
 !! input
-[[Image:foobar.jpg|right||Caption text]]
+[[File:Foobar.jpg|right||Caption text]]
 !! result
 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption text"><img alt="Caption text" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
 
 !! end
 
 !! test
-Image with attributes from template.
+Image with empty attribute (parsoid)
+!! options
+parsoid=wt2html
+!! input
+[[File:Foobar.jpg|right||Caption text]]
+!! result
+<figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption text</figcaption></figure>
+!! end
+
+!! test
+Image with attributes from template (php)
+!! options
+php
 !! input
-[[Image:foobar.jpg|{{image_attribs}}]]
+[[File:Foobar.jpg|{{image_attribs}}]]
 !! result
 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption text"><img alt="Caption text" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
 
 !! end
 
 !! test
-Image with link tails
+Image with attributes from template (parsoid)
+!! options
+parsoid
+!! input
+[[File:Foobar.jpg|{{image_attribs}}]]
+!! result
+<figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption text</figcaption></figure>
+!! end
+
+!! test
+Image with link tails (php)
+!! options
+php
 !! input
-123[[Image:foobar.jpg]]456
-123[[Image:foobar.jpg|right]]456
-123[[Image:foobar.jpg|thumb]]456
+123[[File:Foobar.jpg]]456
+123[[File:Foobar.jpg|right]]456
+123[[File:Foobar.jpg|thumb]]456
 !! result
 <p>123<a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>456
 </p>
@@ -8410,20 +8593,48 @@ Image with link tails
 !! end
 
 !! test
-Image with multiple captions -- only last one is accepted
+Image with link tails (parsoid)
+!! options
+parsoid
+!! input
+123[[File:Foobar.jpg]]456
+123[[File:Foobar.jpg|right]]456
+123[[File:Foobar.jpg|thumb]]456
+!! result
+<p>123<span class="mw-default-size" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span>456</p>
+123<figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></figure>456
+123<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="20" width="180"></a></figure>456
+!! end
+
+!! test
+Image with multiple captions -- only last one is accepted (php)
+!! options
+php
 !! input
-[[Image:foobar.jpg|right|Caption1 - ignored|[[Caption2]] - ignored|Caption3 - accepted]]
+[[File:Foobar.jpg|right|Caption1 - ignored|[[Caption2]] - ignored|Caption3 - accepted]]
 !! result
 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption3 - accepted"><img alt="Caption3 - accepted" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
 
 !! end
 
 !! test
-Image with width attribute at different positions
+Image with multiple captions -- only last one is accepted (parsoid)
+!! options
+parsoid
+!! input
+[[File:Foobar.jpg|right|Caption1 - ignored|[[Caption2]] - ignored|Caption3 - accepted]]
+!! result
+<figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption3 - accepted</figcaption></figure>
+!! end
+
+!! test
+Image with width attribute at different positions (php)
+!! options
+php
 !! input
-[[Image:foobar.jpg|200px|right|Caption]]
-[[Image:foobar.jpg|right|200px|Caption]]
-[[Image:foobar.jpg|right|Caption|200px]]
+[[File:Foobar.jpg|200px|right|Caption]]
+[[File:Foobar.jpg|right|200px|Caption]]
+[[File:Foobar.jpg|right|Caption|200px]]
 !! result
 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption"><img alt="Caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a></div>
 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption"><img alt="Caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a></div>
@@ -8432,23 +8643,84 @@ Image with width attribute at different positions
 !! end
 
 !! test
-Image with link parameter, wiki target
+Image with width attribute at different positions (parsoid)
+!! options
+parsoid
 !! input
-[[Image:foobar.jpg|link=Target page]]
+[[File:Foobar.jpg|200px|right|Caption]]
+[[File:Foobar.jpg|right|200px|Caption]]
+[[File:Foobar.jpg|right|Caption|200px]]
 !! result
-<p><a href="/wiki/Target_page" title="Target page"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
+<figure class="mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" height="23" width="200"></a><figcaption>Caption</figcaption></figure>
+<figure class="mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" height="23" width="200"></a><figcaption>Caption</figcaption></figure>
+<figure class="mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" height="23" width="200"></a><figcaption>Caption</figcaption></figure>
+!! end
+
+!! test
+Image with link parameter, wiki target (php)
+!! options
+php
+!! input
+[[File:Foobar.jpg|link=Main Page]]
+!! result
+<p><a href="/wiki/Main_Page" title="Main Page"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
 !! end
 
 !! test
-Image with link parameter, URL target
+Image with link parameter, wiki target (parsoid)
+!! options
+parsoid
+!! input
+[[File:Foobar.jpg|link=Main Page]]
+!! result
+<p><span class="mw-default-size" typeof="mw:Image"><a href="Main_Page"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
+!! end
+
+!! test
+Image with link parameter, URL target (php)
+!! options
+php
 !! input
-[[Image:foobar.jpg|link=http://example.com/]]
+[[File:Foobar.jpg|link=http://example.com/]]
 !! result
 <p><a href="http://example.com/" rel="nofollow"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
 !! end
 
+# parsoid bug 49293 (part 1)
+!! test
+Image with link parameter, URL target (parsoid)
+!! options
+parsoid
+!! input
+[[File:Foobar.jpg|link=http://example.com/]]
+!! result
+<p><span class="mw-default-size" typeof="mw:Image"><a href="http://example.com/"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
+!! end
+
+!! test
+Image with link parameter, protocol-less URL target (php)
+!! options
+php
+!! input
+[[File:Foobar.jpg|link=//example.com/]]
+!! result
+<p><a href="//example.com/" rel="nofollow"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
+</p>
+!! end
+
+# parsoid bug 49293 (part 2)
+!! test
+Image with link parameter, protocol-less URL target (parsoid)
+!! options
+parsoid
+!! input
+[[File:Foobar.jpg|link=//example.com/]]
+!! result
+<p><span class="mw-default-size" typeof="mw:Image"><a href="//example.com/"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
+!! end
+
 !! test
 Image with link parameter, wgExternalLinkTarget
 !! input
@@ -8494,32 +8766,68 @@ wgExternalLinkTarget='foobar'
 !! end
 
 !! test
-Image with empty link parameter
+Image with empty link parameter (php)
+!! options
+php
 !! input
-[[Image:foobar.jpg|link=]]
+[[File:Foobar.jpg|link=]]
 !! result
 <p><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" />
 </p>
 !! end
 
 !! test
-Image with link parameter (wiki target) and unnamed parameter
+Image with empty link parameter (parsoid)
+!! options
+parsoid
+!! input
+[[File:Foobar.jpg|link=]]
+!! result
+<p><span class="mw-default-size" typeof="mw:Image"><span><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></span></span></p>
+!! end
+
+!! test
+Image with link parameter (wiki target) and unnamed parameter (php)
+!! options
+php
 !! input
-[[Image:foobar.jpg|link=Target page|Title]]
+[[File:Foobar.jpg|link=Main Page|Title]]
 !! result
-<p><a href="/wiki/Target_page" title="Title"><img alt="Title" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
+<p><a href="/wiki/Main_Page" title="Title"><img alt="Title" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
 !! end
 
 !! test
-Image with link parameter (URL target) and unnamed parameter
+Image with link parameter (wiki target) and unnamed parameter (parsoid)
+!! options
+parsoid
 !! input
-[[Image:foobar.jpg|link=http://example.com/|Title]]
+[[File:Foobar.jpg|link=Main Page|Title]]
+!! result
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"Title"}'><a href="Main_Page"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
+!! end
+
+!! test
+Image with link parameter (URL target) and unnamed parameter (php)
+!! options
+php
+!! input
+[[File:Foobar.jpg|link=http://example.com/|Title]]
 !! result
 <p><a href="http://example.com/" title="Title" rel="nofollow"><img alt="Title" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
 !! end
 
+!! test
+Image with link parameter (URL target) and unnamed parameter (parsoid)
+!! options
+parsoid
+!! input
+[[File:Foobar.jpg|link=http://example.com/|Title]]
+!! result
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"Title"}'><a href="http://example.com/"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
+!! end
+
 !! test
 Thumbnail image with link parameter
 !! options
@@ -8898,54 +9206,8 @@ wgEnableUploads=0
 # http://www.mediawiki.org/wiki/Parsoid/MediaWiki_DOM_spec#Images
 # Currently imperfect due to a flaw in the Parsoid testrunner
 # Work in progress
-
-!! test
-Parsoid-specific image handling - simple image
-!! options
-parsoid
-!! input
-[[Image:Foobar.jpg]]
-!! result
-<p>
-<span class="mw-default-size" typeof="mw:Image">
-<a href="File:Foobar.jpg">
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg" height="220" width="1941">
-</a>
-</span>
-</p>
-!! end
-
-!! test
-Parsoid-specific image handling - simple image without link
-!! options
-parsoid
-!! input
-[[Image:Foobar.jpg|link=]]
-!! result
-<p>
-<span class="mw-default-size" typeof="mw:Image">
-<span>
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg" height="220" width="1941">
-</span>
-</span>
-</p>
-!! end
-
-!! test
-Parsoid-specific image handling - simple image with specific link
-!! options
-parsoid
-!! input
-[[Image:Foobar.jpg|link=Main Page]]
-!! result
-<p>
-<span class="mw-default-size" typeof="mw:Image">
-<a href="Main_Page">
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg" height="220" width="1941">
-</a>
-</span>
-</p>
-!! end
+# THESE TESTS SHOULD BE MOVED UP and merged with the php-specific
+# image tests.
 
 !! test
 Parsoid-specific image handling - simple image with size and middle alignment
@@ -8957,7 +9219,7 @@ parsoid
 <p>
 <span class="mw-valign-middle" typeof="mw:Image">
 <a href="File:Foobar.jpg">
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50">
+<img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50">
 </a>
 </span>
 </p>
@@ -8973,7 +9235,7 @@ parsoid
 <p>
 <span class="mw-valign-baseline" typeof="mw:Image" data-mw="{&quot;caption&quot;:&quot;caption&quot;}">
 <a href="File:Foobar.jpg">
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/89px-Foobar.jpg" height="10" width="89">
+<img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/89px-Foobar.jpg" height="10" width="89">
 </a>
 </span>
 </p>
@@ -8989,7 +9251,7 @@ parsoid
 <p>
 <span class="mw-image-border" typeof="mw:Image" data-mw="{&quot;caption&quot;:&quot;caption&quot;}">
 <a href="File:Foobar.jpg">
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50">
+<img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50">
 </a>
 </span>
 </p>
@@ -9004,7 +9266,7 @@ parsoid
 !! result
 <figure class="mw-default-size mw-halign-left mw-valign-baseline" typeof="mw:Image/Thumb">
 <a href="File:Foobar.jpg">
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/180px-Foobar.jpg" height="21" width="180" />
+<img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="21" width="180" />
 </a>
 <figcaption>caption content</figcaption>
 </figure>
@@ -9019,7 +9281,7 @@ parsoid
 !! result
 <figure class="mw-halign-right mw-valign-middle" typeof="mw:Image/Thumb">
 <a href="File:Foobar.jpg">
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50" />
+<img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50" />
 </a>
 <figcaption>caption</figcaption>
 </figure>
@@ -9034,7 +9296,7 @@ parsoid
 !! result
 <figure typeof="mw:Image/Frame">
 <a href="File:Foobar.jpg">
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/442px-Foobar.jpg" height="50" width="442" />
+<img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/442px-Foobar.jpg" height="50" width="442" />
 </a>
 <figcaption>caption</figcaption>
 </figure>
@@ -9049,7 +9311,7 @@ parsoid
 !! result
 <figure class="mw-halign-left mw-valign-baseline" typeof="mw:Image/Frame">
 <a href="File:Foobar.jpg">
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/442px-Foobar.jpg" height="50" width="442" />
+<img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/442px-Foobar.jpg" height="50" width="442" />
 </a>
 <figcaption>caption</figcaption>
 </figure>
@@ -9065,7 +9327,7 @@ parsoid
 <p>
 <span class="mw-image-border" typeof="mw:Image/Frameless" data-mw="{&quot;caption&quot;:&quot;caption&quot;}">
 <a href="File:Foobar.jpg">
-<img resource="./File:Foobar.jpg" src="//upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/442px-Foobar.jpg" height="50" width="442" />
+<img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/442px-Foobar.jpg" height="50" width="442" />
 </a>
 </p>
 !! end
@@ -9080,7 +9342,7 @@ parsoid
 #<p>
 #<span typeof="mw:Image">
 #<a class="mw-default-size" href="Image:Foobar.jpg">
-#<img alt="Foobar.jpg" class="mw-default-size" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg" height="220" width="1941">
+#<img alt="Foobar.jpg" class="mw-default-size" src="http://example.com/images/3/3a/Foobar.jpg" height="220" width="1941">
 #</a>
 #<span>abc</span>
 #</span>
@@ -13236,6 +13498,9 @@ __NOEDITSECTION__
 </p>
 !! end
 
+# Expected output in the following test is not necessarily expected (there
+# should probably be <p> tags inside the <blockquote> in the output) -- it's
+# only testing for well-formedness.
 !! test
 Bug 6200: blockquotes and paragraph formatting
 !! input
@@ -13248,8 +13513,7 @@ bar
  baz
 !! result
 <blockquote>
-<p>foo
-</p>
+foo
 </blockquote>
 <p>bar
 </p>
@@ -13695,12 +13959,6 @@ language=sr
 </p>
 !!end
 
-!!article
-Template:Bullet
-!!text
-* Bar
-!!endarticle
-
 !! test
 Bug 529: Uncovered bullet
 !! input
@@ -13935,6 +14193,8 @@ B</strong>
 # Bug 6200: <blockquote> should behave like <div> with respect to line breaks
 !! test
 Bug 6200: paragraphs inside blockquotes (no extra line breaks)
+!! options
+disabled
 !! input
 <blockquote>Line one
 
@@ -13947,6 +14207,8 @@ Line two</blockquote>
 
 !! test
 Bug 6200: paragraphs inside blockquotes (extra line break on open)
+!! options
+disabled
 !! input
 <blockquote>
 Line one
@@ -13962,6 +14224,8 @@ Line two</blockquote>
 
 !! test
 Bug 6200: paragraphs inside blockquotes (extra line break on close)
+!! options
+disabled
 !! input
 <blockquote>Line one
 
@@ -13977,6 +14241,8 @@ Line two
 
 !! test
 Bug 6200: paragraphs inside blockquotes (extra line break on open and close)
+!! options
+disabled
 !! input
 <blockquote>
 Line one
@@ -15373,7 +15639,7 @@ parsoid
 
 <references />
 !!result
-<span about="#mwt1" class="reference" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;foo &amp;lt;ref&amp;gt;bar&amp;lt;/ref&amp;gt; baz&quot;},&quot;attrs&quot;:{}}" id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span>
+<p><span about="#mwt1" class="reference" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;foo &amp;lt;ref&amp;gt;bar&amp;lt;/ref&amp;gt; baz&quot;},&quot;attrs&quot;:{}}" id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
 
 <ol class="references" typeof="mw:Extension/references" about="#mwt2" data-mw="{&quot;name&quot;:&quot;references&quot;,&quot;attrs&quot;:{}}">
 <li about="#cite_note-1" id="cite_note-1" data-parsoid="{}"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo &lt;ref&gt;bar&lt;/ref&gt; baz</li></ol>
@@ -16878,6 +17144,10 @@ parsoid=html2wt
 <p>123</p><figure typeof="mw:Image/Thumb" class="mw-halign-right"><a href="./File:Wiki.png"><img src="http://192.168.142.128/mw/images/thumb/b/bc/Wiki.png/131px-Wiki.png" width="131" height="150" resource="./File:Wiki.png"></a></figure><p>456</p>
 !!end
 
+# Wacky -- the leading newline in input is required because
+# that is what the serializer emits. To be fixed. Not fixing
+# the test because this test is required to test serialization of
+# new content and preferred whitespace style.
 !! test
 Lists: Add space after bullets
 !! options
index 4cdf020..181a913 100644 (file)
@@ -31,7 +31,7 @@ class SiteConfigurationTest extends MediaWikiTestCase {
 
                $this->mConf = new SiteConfiguration;
 
-               $this->mConf->suffixes = array( 'wiki' );
+               $this->mConf->suffixes = array( 'wikipedia' => 'wiki' );
                $this->mConf->wikis = array( 'enwiki', 'dewiki', 'frwiki' );
                $this->mConf->settings = array(
                        'simple' => array(