Merge "Reusable external store insertion with fallback"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sat, 10 Aug 2013 04:52:12 +0000 (04:52 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sat, 10 Aug 2013 04:52:12 +0000 (04:52 +0000)
41 files changed:
README
RELEASE-NOTES-1.22
includes/DefaultSettings.php
includes/SiteConfiguration.php
includes/db/Database.php
includes/db/LoadBalancer.php
includes/filerepo/ForeignDBRepo.php
includes/filerepo/LocalRepo.php
includes/parser/Preprocessor_DOM.php
includes/parser/Preprocessor_Hash.php
includes/specials/SpecialMovepage.php
languages/messages/MessagesAm.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesCkb.php
languages/messages/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesEt.php
languages/messages/MessagesFrr.php
languages/messages/MessagesGu.php
languages/messages/MessagesHy.php
languages/messages/MessagesId.php
languages/messages/MessagesKw.php
languages/messages/MessagesKy.php
languages/messages/MessagesMk.php
languages/messages/MessagesMr.php
languages/messages/MessagesMs.php
languages/messages/MessagesMy.php
languages/messages/MessagesNan.php
languages/messages/MessagesNb.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSr_el.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
resources/jquery/jquery.makeCollapsible.js
resources/jquery/jquery.tablesorter.js
tests/parser/parserTests.txt
tests/phpunit/includes/SiteConfigurationTest.php

diff --git a/README b/README
index f4b8cfb..4f4bc29 100644 (file)
--- a/README
+++ b/README
@@ -27,7 +27,6 @@ RELEASE-NOTES, INSTALL, and UPGRADE.
 * Interested in helping out?
 ** https://www.mediawiki.org/wiki/How_to_contribute
 
-
 MediaWiki is the result of global collaboration and cooperation. The CREDITS
 file lists technical contributors to the project. The COPYING file explains
 MediaWiki's copyright and license (GNU General Public License, version 2 or
index 5637eb0..af467a0 100644 (file)
@@ -252,6 +252,7 @@ production.
 * (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 ===
 * (bug 25553) The JSON output formatter now leaves forward slashes unescaped
index 8e0dff6..dde9762 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,14 @@ $wgDBadminpassword = null;
  */
 $wgSearchType = null;
 
-/** Table name prefix */
+/**
+ * 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 +1545,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 +1586,14 @@ $wgAllDBsAreLocalhost = false;
  */
 $wgSharedDB = null;
 
-/** @see $wgSharedDB */
+/**
+ * @see $wgSharedDB
+ */
 $wgSharedPrefix = false;
-/** @see $wgSharedDB */
+
+/**
+ * @see $wgSharedDB
+ */
 $wgSharedTables = array( 'user', 'user_properties' );
 
 /**
@@ -1520,7 +1617,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 +1657,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 +1687,9 @@ $wgDBerrorLog = false;
  */
 $wgDBerrorLogTZ = false;
 
-/** When to give an error message */
+/**
+ * When to give an error message
+ */
 $wgDBClusterTimeout = 10;
 
 /**
@@ -1655,7 +1759,10 @@ $wgLocalDatabases = array();
  * show a more obvious warning.
  */
 $wgSlaveLagWarning = 10;
-/** @see $wgSlaveLagWarning */
+
+/**
+ * @see $wgSlaveLagWarning
+ */
 $wgSlaveLagCritical = 30;
 
 /**@}*/ # End of DB settings }
@@ -1668,8 +1775,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 +1839,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 +2042,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 +2105,9 @@ $wgLocalisationCacheConf = array(
        'manualRecache' => false,
 );
 
-/** Allow client-side caching of pages */
+/**
+ * Allow client-side caching of pages
+ */
 $wgCachePages = true;
 
 /**
@@ -2062,7 +2193,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 +2233,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 +2292,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 +2413,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 +2459,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 +2571,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 +2580,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 +2611,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 +2634,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 +2755,9 @@ $wgLocalTZoffset = null;
  * @{
  */
 
-/** The default Content-Type header. */
+/**
+ * The default Content-Type header.
+ */
 $wgMimeType = 'text/html';
 
 /**
@@ -2728,7 +2887,10 @@ $wgDefaultSkin = 'vector';
  * remove from the .../skins/ directory
  */
 $wgSkipSkin = '';
-/** Array for more like $wgSkipSkin. */
+
+/**
+ * Array for more like $wgSkipSkin.
+ */
 $wgSkipSkins = array();
 
 /**
@@ -2752,10 +2914,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 +2995,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 +3358,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 +3393,7 @@ $wgInterwikiExpiry = 10800;
  * @name Interwiki caching settings.
  * @{
  */
+
 /**
  *$wgInterwikiCache specifies path to constant database file.
  *
@@ -3239,6 +3408,7 @@ $wgInterwikiExpiry = 10800;
  * data layout.
  */
 $wgInterwikiCache = false;
+
 /**
  * Specify number of domains to check for messages.
  *    - 1: Just wiki(db)-level
@@ -3246,10 +3416,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 +3466,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 +3546,9 @@ $wgParserConf = array(
        #'preprocessorClass' => 'Preprocessor_Hash',
 );
 
-/** Maximum indent level of toc. */
+/**
+ * Maximum indent level of toc.
+ */
 $wgMaxTocLevel = 999;
 
 /**
@@ -3401,10 +3576,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 +3610,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 +3619,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 +3638,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 +3675,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 +3707,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 +3841,9 @@ $wgActiveUserDays = 30;
  * @{
  */
 
-/** For compatibility with old installations set to false */
+/**
+ * For compatibility with old installations set to false
+ */
 $wgPasswordSalt = true;
 
 /**
@@ -3757,7 +3957,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 +4012,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 +4177,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 +4282,9 @@ $wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
  */
 $wgGroupsAddToSelf = array();
 
-/** @see $wgGroupsAddToSelf */
+/**
+ * @see $wgGroupsAddToSelf
+ */
 $wgGroupsRemoveFromSelf = array();
 
 /**
@@ -4247,7 +4456,10 @@ $wgAutopromoteOnceLogInRC = true;
  * @endcode
  */
 $wgAddGroups = array();
-/** @see $wgAddGroups */
+
+/**
+ * @see $wgAddGroups
+ */
 $wgRemoveGroups = array();
 
 /**
@@ -4282,7 +4494,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 +4645,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 +4747,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 +4911,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 +4933,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 +4957,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 +4983,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 +5256,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 +5292,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 +5353,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 +5425,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 +5461,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 +5497,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 +5521,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 +5595,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 +5625,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 +5639,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 +6577,9 @@ $wgMaxBacklinksInvalidate = false;
  * @{
  */
 
-/** Name of the external diff engine to use */
+/**
+ * Name of the external diff engine to use
+ */
 $wgExternalDiffEngine = false;
 
 /**
@@ -6370,16 +6649,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 +6672,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 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 f9f4d5d..8caacf7 100644 (file)
@@ -242,6 +242,7 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
 
        protected $mTablePrefix;
        protected $mFlags;
+       protected $mForeign;
        protected $mTrxLevel = 0;
        protected $mErrorCount = 0;
        protected $mLBInfo = array();
@@ -666,9 +667,10 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
         * @param string $dbName database name
         * @param $flags
         * @param string $tablePrefix database table prefixes. By default use the prefix gave in LocalSettings.php
+        * @param bool $foreign disable some operations specific to local databases
         */
        function __construct( $server = false, $user = false, $password = false, $dbName = false,
-               $flags = 0, $tablePrefix = 'get from global'
+               $flags = 0, $tablePrefix = 'get from global', $foreign = false
        ) {
                global $wgDBprefix, $wgCommandLineMode, $wgDebugDBTransactions;
 
@@ -695,6 +697,8 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                        $this->mTablePrefix = $tablePrefix;
                }
 
+               $this->mForeign = $foreign;
+
                if ( $user ) {
                        $this->open( $server, $user, $password, $dbName );
                }
@@ -744,7 +748,8 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                                isset( $p['password'] ) ? $p['password'] : false,
                                isset( $p['dbname'] ) ? $p['dbname'] : false,
                                isset( $p['flags'] ) ? $p['flags'] : 0,
-                               isset( $p['tablePrefix'] ) ? $p['tablePrefix'] : 'get from global'
+                               isset( $p['tablePrefix'] ) ? $p['tablePrefix'] : 'get from global',
+                               isset( $p['foreign'] ) ? $p['foreign'] : false
                        );
                } else {
                        return null;
@@ -2073,6 +2078,7 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                } else {
                        list( $table ) = $dbDetails;
                        if ( $wgSharedDB !== null # We have a shared database
+                               && $this->mForeign == false # We're not working on a foreign database
                                && !$this->isQuotedIdentifier( $table ) # Paranoia check to prevent shared tables listing '`table`'
                                && in_array( $table, $wgSharedTables ) # A shared table is selected
                        ) {
index 5c4443d..60c2833 100644 (file)
@@ -653,6 +653,7 @@ class LoadBalancer {
                        $server = $this->mServers[$i];
                        $server['serverIndex'] = $i;
                        $server['foreignPoolRefCount'] = 0;
+                       $server['foreign'] = true;
                        $conn = $this->reallyOpenConnection( $server, $dbName );
                        if ( !$conn->isOpen() ) {
                                wfDebug( __METHOD__ . ": error opening connection for $i/$wiki\n" );
index ecad618..37c6572 100644 (file)
@@ -63,7 +63,8 @@ class ForeignDBRepo extends LocalRepo {
                                        'password' => $this->dbPassword,
                                        'dbname' => $this->dbName,
                                        'flags' => $this->dbFlags,
-                                       'tablePrefix' => $this->tablePrefix
+                                       'tablePrefix' => $this->tablePrefix,
+                                       'foreign' => true,
                                )
                        );
                }
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 809e7f7..c9e16b3 100644 (file)
@@ -361,9 +361,11 @@ class Preprocessor_DOM implements Preprocessor {
                                }
                                // Handle comments
                                if ( isset( $matches[2] ) && $matches[2] == '!--' ) {
-                                       // To avoid leaving blank lines, when a comment is both preceded
-                                       // and followed by a newline (ignoring spaces), trim leading and
-                                       // trailing spaces and one of the newlines.
+
+                                       // To avoid leaving blank lines, when a sequence of
+                                       // space-separated comments is both preceded and followed by
+                                       // a newline (ignoring spaces), then
+                                       // trim leading and trailing spaces and the trailing newline.
 
                                        // Find the end
                                        $endPos = strpos( $text, '-->', $i + 4 );
@@ -375,9 +377,24 @@ class Preprocessor_DOM implements Preprocessor {
                                        } else {
                                                // Search backwards for leading whitespace
                                                $wsStart = $i ? ( $i - strspn( $revText, ' ', $lengthText - $i ) ) : 0;
+
                                                // Search forwards for trailing whitespace
                                                // $wsEnd will be the position of the last space (or the '>' if there's none)
                                                $wsEnd = $endPos + 2 + strspn( $text, ' ', $endPos + 3 );
+
+                                               // Keep looking forward as long as we're finding more
+                                               // comments.
+                                               $comments = array( array( $wsStart, $wsEnd ) );
+                                               while ( substr( $text, $wsEnd + 1, 4 ) == '<!--' ) {
+                                                       $c = strpos( $text, '-->', $wsEnd + 4 );
+                                                       if ( $c === false ) {
+                                                               break;
+                                                       }
+                                                       $c = $c + 2 + strspn( $text, ' ', $c + 3 );
+                                                       $comments[] = array( $wsEnd + 1, $c );
+                                                       $wsEnd = $c;
+                                               }
+
                                                // Eat the line if possible
                                                // TODO: This could theoretically be done if $wsStart == 0, i.e. for comments at
                                                // the overall start. That's not how Sanitizer::removeHTMLcomments() did it, but
@@ -385,14 +402,24 @@ class Preprocessor_DOM implements Preprocessor {
                                                if ( $wsStart > 0 && substr( $text, $wsStart - 1, 1 ) == "\n"
                                                        && substr( $text, $wsEnd + 1, 1 ) == "\n" )
                                                {
-                                                       $startPos = $wsStart;
-                                                       $endPos = $wsEnd + 1;
                                                        // Remove leading whitespace from the end of the accumulator
                                                        // Sanity check first though
                                                        $wsLength = $i - $wsStart;
                                                        if ( $wsLength > 0 && substr( $accum, -$wsLength ) === str_repeat( ' ', $wsLength ) ) {
                                                                $accum = substr( $accum, 0, -$wsLength );
                                                        }
+
+                                                       // Dump all but the last comment to the accumulator
+                                                       foreach ( $comments as $j => $com ) {
+                                                               $startPos = $com[0];
+                                                               $endPos = $com[1] + 1;
+                                                               if ( $j == ( count( $comments ) - 1) ) {
+                                                                       break;
+                                                               }
+                                                               $inner = substr( $text, $startPos, $endPos - $startPos);
+                                                               $accum .= '<comment>' . htmlspecialchars( $inner ) . '</comment>';
+                                                       }
+
                                                        // Do a line-start run next time to look for headings after the comment
                                                        $fakeLineStart = true;
                                                } else {
index 654a66e..333b70d 100644 (file)
@@ -287,9 +287,11 @@ class Preprocessor_Hash implements Preprocessor {
                                }
                                // Handle comments
                                if ( isset( $matches[2] ) && $matches[2] == '!--' ) {
-                                       // To avoid leaving blank lines, when a comment is both preceded
-                                       // and followed by a newline (ignoring spaces), trim leading and
-                                       // trailing spaces and one of the newlines.
+
+                                       // To avoid leaving blank lines, when a sequence of
+                                       // space-separated comments is both preceded and followed by
+                                       // a newline (ignoring spaces), then
+                                       // trim leading and trailing spaces and the trailing newline.
 
                                        // Find the end
                                        $endPos = strpos( $text, '-->', $i + 4 );
@@ -301,9 +303,24 @@ class Preprocessor_Hash implements Preprocessor {
                                        } else {
                                                // Search backwards for leading whitespace
                                                $wsStart = $i ? ( $i - strspn( $revText, ' ', $lengthText - $i ) ) : 0;
+
                                                // Search forwards for trailing whitespace
                                                // $wsEnd will be the position of the last space (or the '>' if there's none)
                                                $wsEnd = $endPos + 2 + strspn( $text, ' ', $endPos + 3 );
+
+                                               // Keep looking forward as long as we're finding more
+                                               // comments.
+                                               $comments = array( array( $wsStart, $wsEnd ) );
+                                               while ( substr( $text, $wsEnd + 1, 4 ) == '<!--' ) {
+                                                       $c = strpos( $text, '-->', $wsEnd + 4 );
+                                                       if ( $c === false ) {
+                                                               break;
+                                                       }
+                                                       $c = $c + 2 + strspn( $text, ' ', $c + 3 );
+                                                       $comments[] = array( $wsEnd + 1, $c );
+                                                       $wsEnd = $c;
+                                               }
+
                                                // Eat the line if possible
                                                // TODO: This could theoretically be done if $wsStart == 0, i.e. for comments at
                                                // the overall start. That's not how Sanitizer::removeHTMLcomments() did it, but
@@ -311,8 +328,6 @@ class Preprocessor_Hash implements Preprocessor {
                                                if ( $wsStart > 0 && substr( $text, $wsStart - 1, 1 ) == "\n"
                                                        && substr( $text, $wsEnd + 1, 1 ) == "\n" )
                                                {
-                                                       $startPos = $wsStart;
-                                                       $endPos = $wsEnd + 1;
                                                        // Remove leading whitespace from the end of the accumulator
                                                        // Sanity check first though
                                                        $wsLength = $i - $wsStart;
@@ -322,6 +337,18 @@ class Preprocessor_Hash implements Preprocessor {
                                                        {
                                                                $accum->lastNode->value = substr( $accum->lastNode->value, 0, -$wsLength );
                                                        }
+
+                                                       // Dump all but the last comment to the accumulator
+                                                       foreach ( $comments as $j => $com ) {
+                                                               $startPos = $com[0];
+                                                               $endPos = $com[1] + 1;
+                                                               if ( $j == ( count( $comments ) - 1) ) {
+                                                                       break;
+                                                               }
+                                                               $inner = substr( $text, $startPos, $endPos - $startPos);
+                                                               $accum->addNodeWithText( 'comment', $inner );
+                                                       }
+
                                                        // Do a line-start run next time to look for headings after the comment
                                                        $fakeLineStart = true;
                                                } else {
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 df4dc27..2ea6a06 100644 (file)
@@ -61,8 +61,8 @@ $messages = array(
 'tog-editsection' => 'በ[አርም] መያያዣ ክፍል ማረምን አስችል',
 'tog-editsectiononrightclick' => 'የክፍል አርዕስት ላይ በቀኝ በመጫን ክፍል ማረምን አስችል (JavaScript)',
 'tog-showtoc' => 'ከ3 አርዕስቶች በላይ ሲሆን የማውጫ ሰንጠረዥ ይታይ',
-'tog-rememberpassword' => 'ለሚቀጥለው ጊዜ በዚ ኮምፒውተር ላይ በአባልነት ስሜ መግባቴን ( ቢባዛ ለ $1 {{PLURAL:$1|ቀን|ቀናት}}) አስታውስ።',
-'tog-watchcreations' => 'á\8a¥á\8a\94 á\8b¨á\8d\88á\8c á\88­á\8a³á\89¸á\8b\8dá\8a\95 á\8c\88á\8c¾ች ወደምከታተላቸው ገጾች ዝርዝር ውስጥ ጨምር',
+'tog-rememberpassword' => 'ለሚቀጥለው ጊዜ በዚህ ኮምፒውተር ላይ በአባልነት ስሜ መግባቴን (ቢበዛ ለ$1 {{PLURAL:$1|ቀን|ቀናት}}) አስታውስ።',
+'tog-watchcreations' => 'á\8a¥á\8a\94 á\8b¨á\88\9dá\8d\88á\8c¥á\88«á\89¸á\8b\8dá\8a\95 á\8c\88á\8c¾á\89½á\8a\93 á\8b¨á\88\9dá\88\8dá\8a«á\89¸á\8b\8dá\8a\95 á\8d\8bá\8b­á\88\8eች ወደምከታተላቸው ገጾች ዝርዝር ውስጥ ጨምር',
 'tog-watchdefault' => 'ያረምኳቸውን ገጾች ወደምከታተላቸው ገጾች ዝርዝር ውስጥ ጨምር',
 'tog-watchmoves' => 'ያዛወርኳቸውን ገጾች ወደምከታተላቸው ገጾች ዝርዝር ውስጥ ጨምር',
 'tog-watchdeletion' => 'የሰረዝኳቸውን ገጾች ወደምከታተላቸው ገጾች ዝርዝር ውስጥ ጨምር',
@@ -70,9 +70,9 @@ $messages = array(
 'tog-previewontop' => 'ከማረሚያው ሳጥን በፊት ቅድመ-ዕይታ አሳይ',
 'tog-previewonfirst' => 'በመጀመሪያ እርማት ቅድመ-ዕይታ ይታይ',
 'tog-nocache' => 'ገጽ መቆጠብን አታስችል',
-'tog-enotifwatchlistpages' => 'á\8b¨á\88\9dá\8a¨á\89³á\89°á\88\88á\8b\8d á\8c\88á\8c½ á\88²á\89\80á\8b¨á\88­ á\8a¤á\88\98á\88\8dá\8b\95á\8a­á\89µ ይላክልኝ',
+'tog-enotifwatchlistpages' => 'á\8b¨á\88\9dá\8a¨á\89³á\89°á\88\88á\8b\8d á\8c\88á\8c½ á\88²á\89\80á\8b¨á\88­ á\8a¢-á\88\9cá\8b­á\88\8d ይላክልኝ',
 'tog-enotifusertalkpages' => 'የተጠቃሚ መወያያ ገጼ ሲቀየር ኤመልዕክት ይላክልኝ',
-'tog-enotifminoredits' => 'á\88\88á\8a á\8a\90á\88µá\89°á\8a\9b á\8b¨á\8c\88á\8c½ á\8a¥á\88­á\88\9bá\89¶á\89½á\88\9d á\8a¤á\88\98á\88\8dá\8b\95á\8a­á\89µ ይላክልኝ',
+'tog-enotifminoredits' => 'á\88\88á\8a á\8a\90á\88µá\89°á\8a\9b á\8b¨á\8c\88á\8c½ á\8a¥á\88­á\88\9bá\89¶á\89½á\88\9d á\8a¢-á\88\9cá\8b­á\88\8d ይላክልኝ',
 'tog-enotifrevealaddr' => 'ኤመልዕክት አድራሻዬን በማሳወቂያ መልዕክቶች ውስጥ አሳይ',
 'tog-shownumberswatching' => 'የሚከታተሉ ተጠቃሚዎችን ቁጥር አሳይ',
 'tog-oldsig' => 'የቀድሞው ፊርማ ቅደመ እይታ',
@@ -88,6 +88,7 @@ $messages = array(
 'tog-diffonly' => 'ከለውጦቹ ስር የገጽ ይዞታ አታሳይ',
 'tog-showhiddencats' => 'የተደበቁ መደቦች ይታዩ',
 'tog-norollbackdiff' => 'ROLLBACK ከማድረግ በኋላ ልዩነቱ ማሳየት ይቅር',
+'tog-useeditwarning' => 'እርማቶችን ሳልቆጥብ የእርማት ገጽ ልዘጋ ስል አስጠንቅቀኝ',
 
 'underline-always' => 'ሁሌም ይህን',
 'underline-never' => 'ሁሌም አይሁን',
@@ -163,7 +164,8 @@ $messages = array(
 'category-file-count' => '{{PLURAL:$2|ይኸው መደብ የሚከተለውን ፋይል ብቻ አለው።|በዚሁ መደብ ውስጥ (ከ$2 በጠቅላላ) {{PLURAL:$1|የሚከተለው ፋይል አለ።|የሚከተሉት $1 ፋይሎች አሉ።}}}}',
 'category-file-count-limited' => 'በዚሁ መደብ ውስጥ {{PLURAL:$1|የሚከተለው ፋይል አለ|የሚከተሉት $1 ፋይሎች አሉ}}።',
 'listingcontinuesabbrev' => '(ተቀጥሏል)',
-'index-category' => ' ማውጫው ላይ የተመዘገብ ገጾች',
+'index-category' => 'ማውጫው ላይ የተመዘገቡ ገጾች',
+'noindex-category' => 'ማውጫው ላይ ያልተመዘገቡ ገጾች',
 'broken-file-category' => 'የማይኖሩ ፋይሎች ያሉባቸው ገጾች',
 
 'about' => 'ስለ',
@@ -407,8 +409,14 @@ $2",
 በጥቂት ሴኮንድ ውስጥ ወደሚከተለው ገጽ በቀጥታ ይመለሳል፦",
 'welcomeuser' => 'ሰላምታ $1!  እንኳን ደህናመጡ።',
 'yourname' => 'Username / የብዕር ስም:',
+'userlogin-yourname' => 'የብዕር ስም',
+'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' => 'በዚሁ ዊኪ መግቢያ ቃልን መቀይር አልተፈቀደም።',
@@ -427,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' => 'አዲስ የይለፍቃል በኢሜሌ ይላክልኝ።',
index b1e1e01..f3c0c7d 100644 (file)
@@ -3745,7 +3745,7 @@ $5
 'confirmemail_body_set' => 'Нехта, магчыма Вы, з IP-адраса $1,
 устанавіў адрас электроннай пошты для рахунку «$2» у {{GRAMMAR:месны|{{SITENAME}}}}.
 
\9aаб Ð¿Ð°Ñ\86Ñ\8cвеÑ\80дзÑ\96Ñ\86Ñ\8c, Ñ\88Ñ\82о Ð³Ñ\8dÑ\82Ñ\8b Ñ\80аÑ\85Ñ\83нак Ñ\81апÑ\80аÑ\9eдÑ\8b Ð½Ð°Ð»ÐµÐ¶Ñ\8bÑ\86Ñ\8c Ð\92ам, Ñ\96 ÐºÐ°Ð± Ð°ÐºÑ\82Ñ\8bвÑ\96заваÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\8b Ð¼Ð°Ð³Ñ\87Ñ\8bмаÑ\81Ñ\8cÑ\86Ñ\96 электроннай пошты ў {{GRAMMAR:месны|{{SITENAME}}}}, адкрыйце гэтую спасылку у Вашым браўзэры:
\9aаб Ð¿Ð°Ñ\86Ñ\8cвеÑ\80дзÑ\96Ñ\86Ñ\8c, Ñ\88Ñ\82о Ð³Ñ\8dÑ\82Ñ\8b Ñ\80аÑ\85Ñ\83нак Ñ\81апÑ\80аÑ\9eдÑ\8b Ð½Ð°Ð»ÐµÐ¶Ñ\8bÑ\86Ñ\8c Ð\92ам, Ñ\96 ÐºÐ°Ð± Ð°ÐºÑ\82Ñ\8bвÑ\96заваÑ\86Ñ\8c Ð¿Ð°Ð´Ñ\82Ñ\80Ñ\8bмкÑ\83 электроннай пошты ў {{GRAMMAR:месны|{{SITENAME}}}}, адкрыйце гэтую спасылку у Вашым браўзэры:
 
 $3
 
index ac5e230..3538fb2 100644 (file)
@@ -1382,7 +1382,7 @@ $1",
 
 'grouppage-user' => '{{ns:project}}:بەکارھێنەران',
 'grouppage-autoconfirmed' => '{{ns:project}}:بەکارھێنەرانی پەسندکراوی خۆگەڕ',
-'grouppage-bot' => '{{ns:project}}:بۆتەکان',
+'grouppage-bot' => '{{ns:project}}:بۆت',
 'grouppage-sysop' => '{{ns:project}}:بەڕێوبەران',
 'grouppage-bureaucrat' => '{{ns:project}}:بیوروکراتەکان',
 'grouppage-suppress' => '{{ns:project}}:چاودێر',
@@ -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
@@ -2656,7 +2656,7 @@ $1',
 'importinterwiki' => 'هێنانەناوەی ترانس‌ویکی',
 'import-interwiki-text' => 'بۆ ھاوردن ویکییەک و سەردێڕێکی پەڕە ھەڵبژێرە.
 ڕێکەوتەکانی پێداچوونەوە و ناوی دەستکاریکەرەکان دەپارێزرێت.
-هەموو کردەوەکانی ھاوردنی ترانسویکی لە [[Special:Log/import|لۆگی ھاوردن]]دا تۆمار دەکرێت.',
+هەموو کردەوەکانی ھاوردنی ناوویکی لە [[Special:Log/import|لۆگی ھاوردن]]دا تۆمار دەکرێت.',
 'import-interwiki-source' => 'سەرچاوەی ویکی\\لاپەڕە :',
 'import-interwiki-history' => 'ڕوونووس‌کردنی هەموو مێژووی پێداچوونەوەکانی ئەم لاپەڕە',
 'import-interwiki-templates' => 'لەخۆگرتنی هەموو داڕێژەکان',
@@ -2664,7 +2664,7 @@ $1',
 'import-interwiki-namespace' => 'بۆشایی‌ناوی مەبەست:',
 'import-upload-filename' => 'پەڕگە‌ناو:',
 'import-comment' => 'بۆچوون:',
-'importtext' => 'تکایە پەڕگە لە سەرچاوەی ویکی‌یەوە بە کەڵک وەرگرتن لە [[Special:Export|ئامێری هەناردن]] هەناردە بکە.
+'importtext' => 'تکایە پەڕگەکە لە ویکی سەرچاوەوە بە کەڵک وەرگرتن لە [[Special:Export|ئامێری ھەناردن]] ھەناردە بکە.
 لەسەر کۆمپیۆتەرەکەت پاشەکەوتی بکە و لێرە باری بكە.',
 'importstart' => 'ھاوردنی پەڕەکان...',
 'import-revision-count' => '$1 {{PLURAL:$1|پێداچوونەوە|پێداچوونەوە}}',
@@ -2676,7 +2676,7 @@ $1',
 'importnotext' => 'واڵا یان بێ‌دەق',
 'importsuccess' => 'هێنانەناوە تەواو بوو!',
 'importhistoryconflict' => 'کێشە لەو مێژووی پێداچوونەوانە وا هەیە (لەوانەیە ئەم لاپەڕە لەپێش‌دا هێنرابێتەناوە)',
-'importnosources' => 'هیچ سەرچاوەیەکی هێنانەناوەی نێوان‌ویکی دیاری‌نەکراوە و بارکردنی ڕاستەوخۆی مێژوو لەکارخستراوە.',
+'importnosources' => 'ھیچ سەرچاوەیەکی ھاوردنی ناوویکی دیاری نەکراوە و بارکردنی ڕاستەوخۆی مێژوو ناچالاکە.',
 'importnofile' => 'هیچ پەڕگەیەکی هێنانەناوە بارنەکرا.',
 'importuploaderrorsize' => 'بارکردنی پەڕگەی هێنانەناوە سەرکەوتوو نەبوو.
 پەڕگەکە لەو قەبارەی بۆ بارکردن ڕێگەدراوە گەورەترە.',
index 50d1596..8fdb9be 100644 (file)
@@ -2056,7 +2056,7 @@ Sylwer bod llythrennau mawr neu fach o bwys i'r chwiliad.",
 'allnotinnamespace' => 'Pob tudalen (heblaw am y parth $1)',
 'allpagesprev' => 'Gynt',
 'allpagesnext' => 'Nesaf',
-'allpagessubmit' => 'Ewch',
+'allpagessubmit' => 'Rhestrer',
 'allpagesprefix' => 'Dangos pob tudalen mewn parth gan ddechrau o:',
 'allpagesbadtitle' => 'Roedd y darpar deitl yn annilys oherwydd bod ynddo naill ai:<p> - rhagddodiad rhyngwici neu ryngieithol, neu </p>- nod neu nodau na ellir eu defnyddio mewn teitlau.',
 'allpages-bad-ns' => 'Nid oes gan {{SITENAME}} barth o\'r enw "$1".',
index 7f6ac3f..add8505 100644 (file)
@@ -1989,6 +1989,13 @@ Husk at kontrollere for andre henvisninger til skabelonerne før de slettes.',
 'randompage' => 'Tilfældig side',
 'randompage-nopages' => 'Der er ingen sider i {{PLURAL:$2|navnerummet|disse navnerum:}} $1.',
 
+# Special:RandomInCategory
+'randomincategory' => 'Tilfældig side i kategori',
+'randomincategory-invalidcategory' => '"$1" er ikke et gyldigt kategorinavn.',
+'randomincategory-nopages' => 'Der er ingen sider i [[:Category:$1]].',
+'randomincategory-selectcategory' => 'Få tilfældig side fra kategori: $1 $2.',
+'randomincategory-selectcategory-submit' => 'Gå til',
+
 # Random redirect
 'randomredirect' => 'Tilfældige henvisninger',
 'randomredirect-nopages' => 'Der er ingen omdirigeringer i navnerummet $1.',
@@ -2025,6 +2032,7 @@ En side behandles som en side med en flertydig titel hvis den bruger en skabelon
 'pageswithprop-text' => 'Denne side viser en liste over sider, der har en bestemt sideegenskab.',
 'pageswithprop-prop' => 'Egenskabsnavn:',
 'pageswithprop-submit' => 'Vis',
+'pageswithprop-prophidden-long' => 'lang tekst egenskabsværdien skjult ($1 KB)',
 'pageswithprop-prophidden-binary' => 'binære egenskabsværdien skjult ($1 KB)',
 
 'doubleredirects' => 'Dobbelte omdirigeringer',
@@ -3638,15 +3646,15 @@ $5
 
 Denne bekræftelseskode udløber $4',
 'confirmemail_body_set' => 'En person, sandsynligvis dig, har fra IP-adressen $1,
-angivet denne e-mail-adresse til kontoen "$2" på {{SITENAME}}.
+angivet denne e-mailadresse til kontoen "$2" på {{SITENAME}}.
 
-For at bekræfte, at denne konto virkelig tilhører dig og genaktivere
-e-mail-funktioner på {{SITENAME}}, åbn dette link i din browser:
+For at bekræfte, at denne konto virkelig tilhører dig og aktivere
+e-mailfunktionerne på {{SITENAME}}, åbn dette link i din browser:
 
 $3
 
-Hvis kontoen ikke *ikke* tilhører dig, så følg dette link
-for at annullere e-mail-adressens bekræftelse:
+Hvis kontoen *ikke* tilhører dig, så følg dette link
+for at annullere e-mailadressens bekræftelse:
 
 $5
 
@@ -3768,6 +3776,7 @@ Du kan også [[Special:EditWatchlist|bruge standard editoren]].',
 'version-license' => 'Licens',
 'version-poweredby-credits' => "Denne wiki er drevet af '''[//www.mediawiki.org/ MediaWiki ]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'andre',
+'version-poweredby-translators' => 'translatewiki.net oversættere',
 'version-credits-summary' => 'Vi vil gerne anerkende følgende personer for deres bidrag til [[Special:Version|MediaWiki]].',
 'version-license-info' => 'MediaWiki er fri software; du kan redistribuere det og/eller ændre det under betingelserne i GNU General Public License som offentliggjort af Free Software Foundation; enten version 2 af licensen eller (efter eget valg) enhver senere version. 
 
index 9040147..6758273 100644 (file)
@@ -3719,7 +3719,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 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 a73300d..cd083e9 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,9 @@ $2
 'changeemail-submit' => 'ઈ મેલ બદલો',
 'changeemail-cancel' => 'રદ કરો',
 
+# Special:ResetTokens
+'resettokens-token-label' => '$1 (હાલની કિંમત: $2)',
+
 # Edit page toolbar
 'bold_sample' => 'ઘાટા અક્ષર',
 'bold_tip' => 'ઘાટું લખાણ',
@@ -1477,6 +1481,8 @@ HTML નાકું ચકાસો',
 'right-editusercssjs' => 'અન્ય સભ્યોની CSS અને JavaScript ફાઇલમાં ફેરફાર કરો',
 'right-editusercss' => 'અન્ય સભ્યોની CSS ફાઇલમાં ફેરફાર કરો',
 'right-edituserjs' => 'અન્ય સભ્યોની JavaScript ફાઇલમાં ફેરફાર કરો',
+'right-viewmywatchlist' => 'તમારી પોતાની ધ્યાનસૂચી જુઓ',
+'right-editmyoptions' => 'તમારી પોતાની પ્રાથમિકતાઓમાં ફેરફાર કરો',
 'right-rollback' => 'ચોક્કસ પાનામાં જે છેલ્લા સભ્યએ ફેરફારો કર્યાં હોય તેને ઝડપથી ઉલટાવો',
 'right-markbotedits' => 'ઉલટાવનારા અને બોટ ફેરફારો નોંધો',
 'right-noratelimit' => 'ઝડપની સીમાને કારણે અસર ન થવી જોઇએ.',
@@ -1538,6 +1544,8 @@ HTML નાકું ચકાસો',
 'action-userrights-interwiki' => 'અન્ય વિકિ પરના સભ્યોના હક્કો સંપાદિત કરો.',
 'action-siteadmin' => 'માહિતી સંચયને ઉઘાડો અને વાસો.',
 'action-sendemail' => 'ઈ-મેલ મોકલો',
+'action-editmywatchlist' => 'તમારી ધ્યાનસૂચીમાં ફેરફાર કરો',
+'action-viewmywatchlist' => 'તમારી ધ્યાનસૂચી જુઓ',
 'action-viewmyprivateinfo' => 'તમારી અંગત માહિતી જુઓ',
 'action-editmyprivateinfo' => 'તમારી અંગત માહિતીમાં ફેરફાર કરો',
 
@@ -1930,6 +1938,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" માં કોઇ દિશા નિર્દેશન નથી',
@@ -3914,4 +3925,7 @@ $5
 'duration-centuries' => '$1 {{PLURAL:$1|શતાબ્દી|શતાબ્દીઓ}}',
 'duration-millennia' => '$1 {{PLURAL:$1|સહસ્ત્રાબ્દી|સહસ્ત્રાબ્દીઓ}}',
 
+# Image rotation
+'rotate-comment' => 'ચિત્ર $1 {{PLURAL:$1|ડિગ્રી|ડિગ્રીઓ}} ઘડિયાળની દિશામાં ફેરવવામાં આવ્યું',
+
 );
index ec18b84..5dd39fb 100644 (file)
@@ -569,6 +569,7 @@ $1',
 'site-atom-feed' => '$1 Atom Սնուցում',
 'page-rss-feed' => '«$1» RSS Սնուցում',
 'page-atom-feed' => '«$1» «Ատոմ» սնուցում',
+'feed-atom' => 'Ատոմ',
 'red-link-title' => '$1 (էջը գոյություն չունի)',
 'sort-descending' => 'Դասավորել՝ մեծից փոքր',
 'sort-ascending' => 'Դասավորել՝ փոքրից մեծ',
@@ -655,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|է|են}} կասկադային հնարավորությամբ.
@@ -1085,7 +1088,7 @@ $3 մասնակիցը տվել է հետևյալ պատճառը. ''$2''",
 'histfirst' => 'Առաջին',
 'histlast' => 'Վերջին',
 'historysize' => '({{PLURAL:$1|1 բայթ|$1 բայթ}})',
-'historyempty' => '(դատարկ է)',
+'historyempty' => '(դատարկ)',
 
 # Revision feed
 'history-feed-title' => 'Փոփոխությունների պատմություն',
@@ -1295,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-թեգերը։',
@@ -2048,7 +2051,7 @@ $1',
 'blanknamespace' => '(Գլխավոր)',
 
 # Contributions
-'contributions' => ' {{GENDER:$1|Մասնակցի}} ներդրում',
+'contributions' => '{{GENDER:$1|Մասնակցի}} ներդրում',
 'contributions-title' => '$1 մասնակցի ներդրումը',
 'mycontris' => 'Ներդրում',
 'contribsub2' => '$1-ի ներդրումները ($2)',
@@ -2370,7 +2373,7 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 'tooltip-t-whatlinkshere' => 'Այս էջին հղվող բոլոր վիքի էջերի ցանկը',
 'tooltip-t-recentchangeslinked' => 'Այս էջից կապված էջերի վերջին փոփոխությունները',
 'tooltip-feed-rss' => 'Այս էջի RSS սնուցումը',
-'tooltip-feed-atom' => 'Այս էջի Atom սնուցումը',
+'tooltip-feed-atom' => 'Այս էջի Ատոմ սնուցումը',
 'tooltip-t-contributions' => 'Դիտել այս մասնակցի ներդրումների ցանկը',
 'tooltip-t-emailuser' => 'Ուղարկել էլ-նամակ այս մասնակցին',
 'tooltip-t-upload' => 'Բեռնել ֆայլեր',
index bf95884..48beff4 100644 (file)
@@ -19,6 +19,7 @@
  * @author Farras
  * @author Geitost
  * @author Gombang
+ * @author Ilham151096
  * @author Irwangatot
  * @author IvanLanin
  * @author Iwan Novirion
@@ -785,7 +786,7 @@ Perhatikan bahwa beberapa halaman mungkin masih terus menunjukkan bahwa Anda mas
 'externaldberror' => 'Telah terjadi kesalahan otentikasi basis data eksternal atau Anda tidak diizinkan melakukan kemaskini terhadap akun eksternal Anda.',
 'login' => 'Masuk log',
 'nav-login-createaccount' => 'Masuk log / buat akun',
-'loginprompt' => "Anda harus mengaktifkan ''cookies'' untuk dapat masuk log ke {{SITENAME}}.",
+'loginprompt' => 'Anda harus mengaktifkan kuki untuk dapat masuk log ke {{SITENAME}}.',
 'userlogin' => 'Masuk log / buat akun',
 'userloginnocreate' => 'Masuk log',
 'logout' => 'Keluar log',
@@ -827,8 +828,8 @@ Silakan tentukan nama yang lain.',
 'loginerror' => 'Kesalahan masuk log',
 'createacct-error' => 'Pembuatan akun gagal',
 'createaccounterror' => 'Tidak dapat membuat akun: $1',
-'nocookiesnew' => "Akun pengguna telah dibuat, tetapi Anda belum masuk log. {{SITENAME}} menggunakan ''cookies'' untuk log pengguna. ''Cookies'' pada penjelajah web Anda dimatikan. Silakan aktifkan dan masuk log kembali dengan nama pengguna dan kata sandi Anda.",
-'nocookieslogin' => "{{SITENAME}} menggunakan ''cookies'' untuk log penggunanya. ''Cookies'' pada penjelajah web Anda dimatikan. Silakan aktifkan dan coba lagi.",
+'nocookiesnew' => 'Akun pengguna telah dibuat, tetapi Anda belum masuk log. {{SITENAME}} menggunakan kuki untuk log pengguna. Kuki pada peramban web Anda dinonaktifkan. Silakan aktifkan dan masuk log kembali dengan nama pengguna dan kata sandi Anda.',
+'nocookieslogin' => '{{SITENAME}} menggunakan kuki untuk log penggunanya. Kuki pada peramban web Anda dimatikan. Silakan aktifkan dan coba lagi.',
 'nocookiesfornew' => 'Akun pengguna tidak dibuat karena kami tidak dapat memastikan sumbernya.
 Pastikan Anda telah mengaktifkan kuki, lalu muat ulang halaman ini dan coba lagi.',
 'nocookiesforlogin' => '{{int:nocookieslogin}}',
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..441864f 100644 (file)
@@ -1604,7 +1604,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 4699fe4..5c1f2f9 100644 (file)
@@ -729,7 +729,7 @@ $1',
 'delete-hook-aborted' => 'Бришењето е прекинато со кука.
 Не е дадено никакво образложение.',
 'no-null-revision' => 'Не можев да направам нова ништовна ревизија на страницата „$1“',
-'badtitle' => 'Ð\9bоÑ\88 наслов',
+'badtitle' => 'Ð\9dеиÑ\81пÑ\80авен наслов',
 'badtitletext' => 'Бараниот наслов е грешен, празен или неисправно поврзан меѓујазичен или меѓувики наслов. 
 Може да содржи недопуштени знаци.',
 'perfcached' => 'Следните податоци се кеширани и може да не се тековни. Во кешот {{PLURAL:$1|е достапен највеќе еден резултат|се достапни највеќе $1 резултати}}.',
index 040cb74..3fa9427 100644 (file)
@@ -467,7 +467,7 @@ $messages = array(
 'newwindow' => '(नवीन खिडकीत उघडते.)',
 'cancel' => 'रद्द करा',
 'moredotdotdot' => 'अजून...',
-'morenotlisted' => 'आणखी यादीत नाही...',
+'morenotlisted' => 'आणखी यादीत नाही...',
 'mypage' => 'पान',
 'mytalk' => 'चर्चा',
 'anontalk' => 'या अंकपत्त्याचे चर्चा पान उघडा',
@@ -716,7 +716,7 @@ MySQL returned error "$3: $4".',
 सर्व विकिंवर, अनुवाद जोडण्याकरता किंवा बदलण्याकरता अथवा शुद्धलेखन चिकित्सेकरीता , कृपया [//translatewiki.net/ translatewiki.net], या मिडियाविकि स्थानिकीकरण प्रकल्पावर जा.',
 'editinginterface' => "'''सावधान:''' तुम्ही संचेतनाचे (सॉफ्टवेअर) संपर्क माध्यम मजकूर असलेले पान संपादित करित आहात. या पानावरील बदल या विकिवरील इतर सदस्यांच्या सदस्य संपर्क माध्यमाचे स्वरूप बदलू शकते.सर्व विकिंवरील भाषांतरासाठी  कृपया मिडीयाविकि स्थानिकीकरण प्रकल्पाच्या [//translatewiki.net/ translatewiki.net]या सुविधेचा वापर करा.",
 'sqlhidden' => 'छूपी एस्क्यूएल पृच्छा (एसक्यूएल क्वेरी हिडन)',
-'cascadeprotected' => 'हà¥\87 à¤ªà¤¾à¤¨ à¤¸à¤\82पादनाà¤\82पासà¥\82न à¤¸à¥\81रà¤\95à¥\8dषित à¤\95à¥\87लà¥\87 à¤\97à¥\87लà¥\87लà¥\87 à¤\86हà¥\87, à¤\95ारण à¤¤à¥\87 à¤\96ालà¥\80ल {{PLURAL:$1|पानात|पानाà¤\82मधà¥\8dयà¥\87}} à¤\85à¤\82तरà¥\8dभà¥\82त à¤\95à¥\87लà¥\87लà¥\87 à¤\86हà¥\87, à¤\95à¥\80 à¤\9cà¥\87 à¤ªà¤¾à¤¨/à¤\9cà¥\80 à¤ªà¤¾à¤¨à¥\87 à¤¶à¤¿à¤¡à¥\80 à¤ªà¤°à¥\8dयायाने सुरक्षित आहेत:
+'cascadeprotected' => 'हà¥\87 à¤ªà¤¾à¤¨ à¤¸à¤\82पादनाà¤\82पासà¥\82न à¤¸à¥\81रà¤\95à¥\8dषित à¤\95à¥\87लà¥\8dया à¤\97à¥\87लà¥\87 à¤\86हà¥\87, à¤\95ारण à¤¤à¥\87 à¤\96ालà¥\80ल {{PLURAL:$1|पानात|पानाà¤\82मधà¥\8dयà¥\87}} à¤\85à¤\82तरà¥\8dभà¥\82त à¤\95à¥\87लà¥\87लà¥\87 à¤\86हà¥\87,{{PLURAL:$1|à¤\9cà¥\87 à¤ªà¤¾à¤¨|à¤\9cà¥\80 à¤ªà¤¾à¤¨à¥\87 }}निपतन à¤ªà¤°à¥\8dयाय à¤¸à¥\81रà¥\81 à¤\95à¥\87लà¥\8dयामà¥\81ळे सुरक्षित आहेत:
 $2',
 'namespaceprotected' => "'''$1''' नामविश्वातील पाने संपादण्याची आपणांस परवानगी नाही.",
 'customcssprotected' => 'या पानावर इतर सदस्याची वैयक्तिक मांडणी असल्यामुळे, तुम्हाला हे सीएसएस पान संपादित करण्याची परवानगी नाही.',
@@ -730,10 +730,10 @@ $2',
 'filereadonlyerror' => '"$1" ला सुधार अशक्य आहे कारण संचिकाभांडार  "$2" हे \'फक्त वाचा\'(रीड ओन्ली) या श्रेणीतच आहे.
 
 ज्या प्रशासकाने हे कुलुपबंद केले त्यांनी त्यांनी दिलेले स्पष्टीकरण आहे: "$3"',
-'invalidtitle-knownnamespace' => '"$2" à¤¨à¤¾à¤®à¤µà¤¿à¤¶à¥\8dवात "$3" à¤¹े अयोग्य शीर्षक',
+'invalidtitle-knownnamespace' => '"$2" à¤¨à¤¾à¤®à¤µà¤¿à¤¶à¥\8dवात "$3" à¤®à¤\9cà¤\95à¥\82राà¤\9aे अयोग्य शीर्षक',
 'invalidtitle-unknownnamespace' => 'अनोळखी नामविश्वाच्या आकड्यासह अवैध मथळा $1 व मजकूर "$2"',
-'exception-nologin' => 'पà¥\8dरवà¥\87श à¤\95à¥\87लà¥\87ला नाही',
-'exception-nologin-text' => 'हà¥\87 à¤\95रणà¥\8dयासाठà¥\80 à¤\86पलà¥\8dयाला à¤¯à¤¾ à¤µà¤¿à¤\95िवर à¤¸à¤¦à¤¸à¥\8dयनावानà¥\87 à¤ªà¥\8dरवà¥\87श à¤\95रायला à¤¹à¤µà¤¾.',
+'exception-nologin' => 'सनà¥\8bà¤\82द-पà¥\8dरवà¥\87शित नाही',
+'exception-nologin-text' => 'हà¥\87 à¤ªà¤¾à¤¨ à¤\95िà¤\82वा à¤\95à¥\8dरिया à¤\95रणà¥\8dयासाठà¥\80 à¤\86पलà¥\8dयाला à¤¯à¤¾ à¤µà¤¿à¤\95िवर à¤¸à¤¨à¥\8bà¤\82द- à¤ªà¥\8dरवà¥\87शित à¤\85सावयास à¤¹à¤µà¥\87.',
 
 # Virus scanner
 'virus-badscanner' => "खराब विन्यास (कॉन्फिगरेशन): अनोळखी व्हायरस स्कॅनर: ''$1''",
@@ -741,35 +741,35 @@ $2',
 'virus-unknownscanner' => 'अनोळखी ऍन्टीव्हायरस:',
 
 # Login and logout pages
-'logouttext' => "'''तà¥\81मà¥\8dहà¥\80 à¤\86ता à¤\85दाà¤\96ल à¤\9dाला(logout)आहात.'''
+'logouttext' => "'''तà¥\81मà¥\8dहà¥\80 à¤\86ता à¤¸à¤¨à¥\8bà¤\82द-निरà¥\8dà¤\97मित(लà¥\89à¤\97-à¤\86à¤\89à¤\9f) à¤\9dाला आहात.'''
 
-तà¥\81मà¥\8dहà¥\80 à¤\85नामिà¤\95पणà¥\87 {{SITENAME}}à¤\9aा à¤\89पयà¥\8bà¤\97 à¤\95रत à¤°à¤¾à¤¹à¥\82 à¤¶à¤\95ता, à¤\95िà¤\82वा à¤¤à¥\8dयाà¤\9a à¤\85थवा à¤µà¥\87à¤\97ळà¥\8dया à¤¸à¤¦à¤¸à¥\8dय à¤¨à¤¾à¤µà¤¾à¤¨à¥\87 <span class='plainlinks'>[$1  à¤ªà¥\81नà¥\8dहा à¤¦à¤¾à¤\96ल à¤¹à¥\8bà¤\8a शकता]</span>.
-आपण स्वत:च्या न्याहाळकाची सय (cache) रिकामी करत नाही तो पर्यंत काही पाने आपण अजून दाखल आहात, असे नुसतेच दाखवत राहू शकतील.",
+तà¥\81मà¥\8dहà¥\80 à¤\85नामिà¤\95पणà¥\87 {{SITENAME}}à¤\9aा à¤\89पयà¥\8bà¤\97 à¤\95रत à¤°à¤¾à¤¹à¥\82 à¤¶à¤\95ता, à¤\95िà¤\82वा à¤¤à¥\8dयाà¤\9a à¤\85थवा à¤µà¥\87à¤\97ळà¥\8dया à¤¸à¤¦à¤¸à¥\8dय à¤¨à¤¾à¤µà¤¾à¤¨à¥\87 <span class='plainlinks'>[$1  à¤ªà¥\81नà¥\8dहा à¤¸à¤¨à¥\8bà¤\82द-पà¥\8dरवà¥\87श à¤\95रà¥\82 शकता]</span>.
+आपण स्वत:च्या न्याहाळकाची सय (कॅशे) रिकामी करत नाही तो पर्यंत, काही पाने आपण अजून प्रवेशित आहात, असे नुसतेच दाखवत राहू शकतील.",
 'welcomeuser' => 'स्वागत, $1!',
 'welcomecreation-msg' => 'तुमचे खाते उघडण्यात आले आहे.
-à¤\86पलà¥\8dया [[Special:Preferences|{{SITENAME}} à¤ªà¤¸à¤\82तà¥\80]] बदलण्यास विसरू नका.',
-'yourname' => 'तà¥\81मà¤\9aà¥\87 à¤¨à¤¾à¤µ',
+à¤\86पला [[Special:Preferences|{{SITENAME}} à¤ªà¤¸à¤\82तà¥\80à¤\95à¥\8dरम]] बदलण्यास विसरू नका.',
+'yourname' => 'सदसà¥\8dयनाम:',
 'userlogin-yourname' => 'सदस्यनाम',
 'userlogin-yourname-ph' => 'आपले सदस्यनाव टाका',
-'createacct-another-username-ph' => 'à¤\86पलà¥\87 à¤¸à¤¦à¤¸à¥\8dयनाव à¤\9fाà¤\95ा',
-'yourpassword' => 'तुमचा परवलीचा शब्द',
+'createacct-another-username-ph' => 'सदस्यनाव टाका',
+'yourpassword' => 'तुमचा परवलीचा शब्द:',
 'userlogin-yourpassword' => 'परवलीचा शब्द(पासवर्ड)',
 'userlogin-yourpassword-ph' => 'आपला परवलीचा शब्द टाका',
 'createacct-yourpassword-ph' => 'परवलीचा शब्द टाका',
-'yourpasswordagain' => 'तà¥\81मà¤\9aा à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dद à¤ªà¥\81नà¥\8dहा à¤²à¤¿à¤¹à¤¾',
-'createacct-yourpasswordagain' => 'परवलà¥\80à¤\9aà¥\8dया à¤¶à¤¬à¥\8dदाà¤\9aà¥\80 à¤ªà¤°à¤¤ à¤¨à¥\8bà¤\82द करा',
+'yourpasswordagain' => 'तà¥\81मà¤\9aा à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dद à¤ªà¥\81नà¥\8dहा à¤\9fà¤\82à¤\95ा:',
+'createacct-yourpasswordagain' => 'परवलà¥\80à¤\9aà¥\8dया à¤¶à¤¬à¥\8dदाà¤\9aà¥\80 à¤¨à¤¿à¤¶à¥\8dà¤\9aितà¥\80 करा',
 'createacct-yourpasswordagain-ph' => 'पुन्हा परवलीचा शब्द टाका',
-'remembermypassword' => 'माà¤\9dा à¤ªà¥\8dरवà¥\87श à¤¯à¤¾ à¤¸à¤\82à¤\97णà¤\95ावर à¤²à¤\95à¥\8dषात à¤ à¥\87वा (à¤\9cासà¥\8dतà¥\80त à¤\9cासà¥\8dत $1 {{PLURAL:$1|दिवस|दिवसांसाठी}})',
+'remembermypassword' => 'माà¤\9dा à¤¸à¤¨à¥\8bà¤\82दपà¥\8dरवà¥\87श (लà¥\89à¤\97-à¤\88न) à¤¯à¤¾ à¤¨à¥\8dयाहाळà¤\95ावर à¤²à¤\95à¥\8dषात à¤ à¥\87वा (à¤\9cासà¥\8dतà¥\80त à¤\9cासà¥\8dत $1 {{PLURAL:$1|दिवसासाठà¥\80|दिवसांसाठी}})',
 'userlogin-remembermypassword' => 'मला नोंदीकृतच(लॉग्ड-ईन) ठेवा',
-'userlogin-signwithsecure' => 'सà¥\81रà¤\95à¥\8dषित à¤\9cà¥\8bडणà¥\80(सेक्युअर कनेक्शन) वापरा',
-'securelogin-stick-https' => "प्रवेशानंतर 'एचटीटीपीएस'शी  जुळलेले रहा",
+'userlogin-signwithsecure' => 'सà¥\81रà¤\95à¥\8dषित à¤\85नà¥\81बà¤\82ध(सेक्युअर कनेक्शन) वापरा',
+'securelogin-stick-https' => "सनà¥\8bà¤\82द-पà¥\8dरवà¥\87शानà¤\82तर 'à¤\8fà¤\9aà¤\9fà¥\80à¤\9fà¥\80पà¥\80à¤\8fस'शà¥\80  à¤\9cà¥\81ळलà¥\87लà¥\87 à¤°à¤¹à¤¾",
 'yourdomainname' => 'तुमचे क्षेत्र (डोमेन) :',
-'password-change-forbidden' => 'तà¥\81मà¥\8dहà¥\80 à¤¯à¤¾ à¤µà¤¿à¤\95िवर à¤¤à¥\81मà¤\9aा à¤¸à¤\82à¤\95à¥\87तशब्द बदलू शकत नाही.',
+'password-change-forbidden' => 'तà¥\81मà¥\8dहà¥\80 à¤¯à¤¾ à¤µà¤¿à¤\95िवर à¤¤à¥\81मà¤\9aा à¤ªà¤°à¤µà¤²à¥\80à¤\9aा शब्द बदलू शकत नाही.',
 'externaldberror' => 'विदागार ’खातरजमा’ (प्रमाणितीकरण) त्रुटी होती अथवा तुम्हाला तुमचे बाह्य खाते अद्ययावत  करण्याची परवानगी नाही.',
 'login' => 'सनोंद-प्रवेश(लॉग-ईन)',
-'nav-login-createaccount' => 'सनोंद-प्रवेशित व्हा /सदस्य खाते उघडा',
-'loginprompt' => '{{SITENAME}}मधà¥\8dयà¥\87 à¤¦à¤¾à¤\96ल à¤¹à¥\8bणà¥\8dयाà¤\95रिता  à¤¸à¥\8dमà¥\83तिशà¥\87ष à¤\89पलबà¥\8dध (कुकिज एनेबल)असणे आवश्यक आहे.',
-'userlogin' => 'सनोंद-प्रवेश करा /सदस्य खाते उघडा',
+'nav-login-createaccount' => 'सनोंद-प्रवेश / सदस्यखाते उघडा',
+'loginprompt' => '{{SITENAME}}मधà¥\8dयà¥\87 à¤¸à¤¨à¥\8bà¤\82द-पà¥\8dरवà¥\87शासाठà¥\80  à¤¸à¥\8dमà¥\83तिशà¥\87ष à¤¸à¤\95à¥\8dषम (कुकिज एनेबल)असणे आवश्यक आहे.',
+'userlogin' => 'सनोंद-प्रवेश करा /सदस्यखाते उघडा',
 'userloginnocreate' => 'सनोंद-प्रवेश',
 'logout' => 'सनोंद-निर्गम',
 'userlogout' => 'सनोंद-निर्गम',
@@ -777,14 +777,14 @@ $2',
 'userlogin-noaccount' => 'आपले खाते नाही?',
 'userlogin-joinproject' => '{{SITENAME}}मध्ये सहभागी व्हा',
 'nologin' => 'आपले सदस्यखाते नाही काय? $1.',
-'nologinlink' => 'सदस्य खाते तयार करा',
+'nologinlink' => 'सदस्यखाते तयार करा',
 'createaccount' => 'नवीन खाते तयार करा',
 'gotaccount' => 'पूर्वीचे खाते आहे? $1.',
 'gotaccountlink' => 'सनोंद-प्रवेश करा',
 'userlogin-resetlink' => 'सनोंद-प्रवेश तपशील विसरला असाल तर येथे टिचकी मारा.',
 'userlogin-resetpassword-link' => 'परवलीचा शब्द पुन्हा जुळवा (रिसेट)',
-'helplogin-url' => 'Help:पà¥\8dरवà¥\87श à¤¨à¥\8bà¤\82दà¥\80साठी(लॉगिंग-ईन)',
-'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|पà¥\8dरवà¥\87श  à¤¨à¥\8bà¤\82दà¥\80साठà¥\80 à¤¸à¤¹à¤¾à¤¯à¥\8dय(लà¥\89à¤\97 à¤\88न)]]',
+'helplogin-url' => 'Help:सनà¥\8bà¤\82द à¤ªà¥\8dरवà¥\87शासाठी(लॉगिंग-ईन)',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|सनà¥\8bà¤\82द-पà¥\8dरवà¥\87शासाठà¥\80(लà¥\89à¤\97-à¤\88न) à¤¸à¤¹à¤¾à¤¯à¥\8dय]]',
 'createacct-join' => 'खाली आपली माहिती भरा',
 'createacct-another-join' => 'नविन खात्याबाबतची माहिती येथे खाली टाका.',
 'createacct-emailrequired' => 'विपत्र पत्ता(ई-मेल)',
@@ -800,68 +800,69 @@ $2',
 'createacct-imgcaptcha-ph' => 'वर दिसत असलेला मजकूर येथे टाका',
 'createacct-submit' => 'आपले खाते निर्माण करा',
 'createacct-another-submit' => 'दुसरे नवीन खाते तयार करा',
-'createacct-benefit-heading' => '{{SITENAME}} हे आपल्यासारख्याच लोकांनी बनविलेले आहे',
+'createacct-benefit-heading' => '{{SITENAME}} हे आपल्यासारख्याच लोकांनी बनविलेले आहे.',
 'createacct-benefit-body1' => '{{PLURAL:$1|edit|संपादने}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|लेख}}',
 'createacct-benefit-body3' => 'अलीकडील {{PLURAL:$1|योगदानकर्ता|योगदानकर्ते}}',
-'badretype' => 'à¤\86पला à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dद à¤\9aà¥\81à¤\95à¥\80à¤\9aा à¤\86हà¥\87.',
-'userexists' => 'या à¤¨à¤¾à¤µà¤¾à¤¨à¥\87 à¤¸à¤¦à¤¸à¥\8dयाà¤\9aà¥\80 à¤¨à¥\8bà¤\82दणà¥\80 à¤\9dालà¥\87लà¥\80 आहे.
-à¤\95à¥\83पया à¤¦à¥\81सरà¥\87 à¤¸à¤¦à¤¸à¥\8dय à¤¨à¤¾à¤µ निवडा.',
+'badretype' => 'à¤\86पण à¤\9fाà¤\95लà¥\87ला à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dद à¤\9cà¥\81ळत à¤¨à¤¾à¤¹à¥\80.',
+'userexists' => 'à¤\86पण à¤\9fाà¤\95लà¥\87लà¥\87 à¤¸à¤¦à¤¸à¥\8dयनाम à¤ªà¥\82रà¥\8dवà¥\80à¤\9a à¤µà¤¾à¤ªà¤°à¤¾à¤¤ आहे.
+à¤\95à¥\83पया à¤µà¥\87à¤\97ळà¥\87 à¤¸à¤¦à¤¸à¥\8dयनाम निवडा.',
 'loginerror' => 'सनोंद-प्रवेशात चूक झाली आहे',
 'createacct-error' => 'खाते तयार करण्यात चुकी',
 'createaccounterror' => 'हे खाते तयार करता येऊ शकले नाही:$1',
 'nocookiesnew' => 'सदस्य खाते तयार झाले ,पण तुम्ही सनोंद-प्रवेशित(लॉग्डईन) नाहीत.{{SITENAME}} सदस्यांना सनोंद-प्रवेश देतांना त्यांचे स्मृतिशेष (कुकिज) वापरते.तुम्ही स्मृतिशेष सुविधा अनुपलब्ध ठेवली आहे.ती कृपया उपलब्ध करा,आणि नंतर तुमच्या नवीन सदस्य नावाने आणि परवलीने दाखल व्हा.',
-'nocookieslogin' => '{{SITENAME}} à¤¸à¤¦à¤¸à¥\8dयाà¤\82ना à¤¦à¤¾à¤\96ल à¤\95रà¥\82न à¤\98à¥\87ताना à¤¤à¥\8dयाà¤\82à¤\9aà¥\8dया à¤¸à¥\8dमà¥\83तिशà¥\87ष (cookies) à¤µà¤¾à¤ªà¤°à¤¤à¥\87.तà¥\81मà¥\8dहà¥\80 à¤¸à¥\8dमà¥\83तिशà¥\87ष à¤¸à¥\81विधा à¤\85नà¥\81पलबà¥\8dध à¤\9fà¥\87वलà¥\80 à¤\86हà¥\87.सà¥\8dमà¥\83तà¥\80शà¥\87ष à¤¸à¥\81विधा à¤\95à¥\83पया à¤\89पलबà¥\8dध à¤\95रा,à¤\86णि à¤¦à¤¾à¤\96ल à¤¹à¥\8bणà¥\8dयासाठी पुन्हा प्रयत्न करा.',
+'nocookieslogin' => '{{SITENAME}} à¤¸à¤¦à¤¸à¥\8dयाà¤\82ना à¤¸à¤¨à¥\8bà¤\82द-पà¥\8dरवà¥\87श à¤¦à¥\87ताà¤\82ना, à¤¤à¥\8dयाà¤\82à¤\9aà¥\8dया à¤¸à¥\8dमà¥\83तिशà¥\87ष (cookies) à¤µà¤¾à¤ªà¤°à¤¤à¥\87.तà¥\81मà¥\8dहà¥\80 à¤¸à¥\8dमà¥\83तिशà¥\87ष à¤¸à¥\81विधा à¤\85नà¥\81पलबà¥\8dध à¤ à¥\87वलà¥\80 à¤\86हà¥\87.सà¥\8dमà¥\83तà¥\80शà¥\87ष à¤¸à¥\81विधा à¤\95à¥\83पया à¤\89पलबà¥\8dध à¤\95रा à¤\86णि à¤¸à¤¨à¥\8bà¤\82द-पà¥\8dरवà¥\87शासाठी पुन्हा प्रयत्न करा.',
 'nocookiesfornew' => 'हे सदस्य खाते अस्तित्वात नाही, त्यामुळे आम्ही त्याच्या स्रोताची खात्री करू शकलो नाही.
-तुमचे स्मृतिशेष उपलब्ध असण्याची खात्री करा, किंवा थोड्या वेळाने हे पान पुन्हा पहा.',
-'noname' => 'à¤\86पण à¤¨à¥\8bà¤\82दणà¥\80साठà¥\80 à¤¸à¤¦à¤¸à¥\8dयाà¤\9aà¥\87 à¤¯à¥\8bà¤\97à¥\8dय à¤¨à¤¾à¤µ à¤²à¤¿à¤¹à¤¿ले नाही.',
-'loginsuccesstitle' => 'आपल्या प्रवेशाची नोंदणी यशस्वीरीत्या पूर्ण झाली',
-'loginsuccess' => "'''तà¥\81मà¥\8dहà¥\80 {{SITENAME}} à¤µà¤° \"\$1\" à¤¨à¤¾à¤µà¤¾à¤¨à¥\87 à¤ªà¥\8dरवà¥\87श à¤\95à¥\87ला à¤\86हà¥\87.'''",
+तुमचे स्मृतिशेष उपलब्ध असण्याची खात्री करा,या पानास पुनर्भारण(रिलोड) करा  किंवा पुन्हा प्रयत्न करा.',
+'noname' => 'à¤\86पण à¤µà¥\88ध à¤¸à¤¦à¤¸à¥\8dयनाम à¤¨à¤®à¥\82द à¤\95à¥\87ले नाही.',
+'loginsuccesstitle' => 'à¤\86पलà¥\8dया à¤¸à¤¨à¥\8bà¤\82द-पà¥\8dरवà¥\87शाà¤\9aà¥\80 à¤¨à¥\8bà¤\82दणà¥\80 à¤¯à¤¶à¤¸à¥\8dवà¥\80रà¥\80तà¥\8dया à¤ªà¥\82रà¥\8dण à¤\9dालà¥\80',
+'loginsuccess' => "'''तà¥\81मà¥\8dहà¥\80 {{SITENAME}} à¤µà¤° \"\$1\" à¤¨à¤¾à¤µà¤¾à¤¨à¥\87 à¤¸à¤¨à¥\8bà¤\82द à¤ªà¥\8dरवà¥\87शित à¤\86हात.'''",
 'nosuchuser' => '"$1" या नावाचा कोणताही सदस्य नाही.तुमचे शुद्धलेखन तपासा, किंवा [[Special:UserLogin/signup|नवीन खाते]] तयार करा.',
 'nosuchusershort' => '"$1" या नावाचा सदस्य नाही. लिहीताना आपली चूक तर नाही ना झाली?',
 'nouserspecified' => 'तुम्हाला सदस्यनाव नमूद करावे लागेल.',
-'login-userblocked' => 'या à¤¸à¤¦à¤¸à¥\8dयाà¤\9aà¥\87 à¤\96ातà¥\87 â\80\99पà¥\8dरतिबà¤\82धितâ\80\99 à¤\86हà¥\87. à¤¤à¥\8dयास à¤ªà¥\8dरवà¥\87श à¤\95रà¥\82 à¤¦à¥\87णà¥\87 à¤¶à¤\95à¥\8dय नाही.',
+'login-userblocked' => 'हा à¤¸à¤¦à¤¸à¥\8dय â\80\99पà¥\8dरतिबà¤\82धितâ\80\99 à¤\86हà¥\87. à¤¤à¥\8dयास à¤¸à¤¨à¥\8bà¤\82द-पà¥\8dरवà¥\87शाà¤\9aà¥\80 à¤ªà¤°à¤µà¤¾à¤¨à¤\97à¥\80 नाही.',
 'wrongpassword' => 'आपला परवलीचा शब्द चुकीचा आहे, पुन्हा एकदा प्रयत्न करा.',
 'wrongpasswordempty' => 'परवलीचा शब्द रिकामा आहे; परत प्रयत्न करा.',
-'passwordtooshort' => 'तà¥\81मà¤\9aा à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dद à¤\9cरà¥\82रà¥\80पà¥\87à¤\95à¥\8dषा à¤²à¤¹à¤¾à¤¨ à¤\86हà¥\87. à¤¯à¤¾à¤¤ à¤\95मà¥\80त à¤\95मà¥\80 {{PLURAL:$1|१ à¤\85à¤\95à¥\8dषर |$1 à¤\85à¤\95à¥\8dषरà¥\87}} à¤ªà¤¾à¤¹à¤¿à¤\9cà¥\87त.',
+'passwordtooshort' => 'तà¥\81मà¤\9aà¥\8dया à¤ªà¤°à¤µà¤²à¥\80à¤\9aà¥\8dया à¤¶à¤¬à¥\8dदात à¤\95िमान {{PLURAL:$1|१ à¤\85à¤\95à¥\8dषर |$1 à¤\85à¤\95à¥\8dषरà¥\87}} à¤¹à¤µà¥\80त.',
 'password-name-match' => 'आपला परवलीचा शब्द हा आपल्या सदस्यनावापेक्षा वेगळा हवा.',
 'password-login-forbidden' => 'या सदस्यनामाचा व परवलीच्या शब्दाचा वापर निषिद्ध आहे.',
-'mailmypassword' => 'परवलà¥\80à¤\9aा à¤¨à¤µà¥\80न à¤¶à¤¬à¥\8dद à¤\88-मà¥\87ल पत्त्यावर पाठवा',
+'mailmypassword' => 'नवà¥\80न à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dद à¤µà¤¿à¤ªà¤¤à¥\8dर (à¤\88-मà¥\87ल) पत्त्यावर पाठवा',
 'passwordremindertitle' => '{{SITENAME}}करिता नवा तात्पुरता परवलीचा शब्दांक.',
 'passwordremindertext' => 'कुणीतरी (कदाचित तुम्ही, अंकपत्ता $1 कडून) {{SITENAME}} करिता ’नवा परवलीचा शब्दांक पाठवावा’ अशी विनंती केली आहे ($4).
-"$2" सदस्याकरिता परवलीचा शब्दांक "$3" झाला आहे.
-तà¥\81मà¥\8dहà¥\80 à¤\86ता à¤ªà¥\8dरवà¥\87श à¤\95रा à¤µ à¤¤à¥\81मà¤\9aा à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dदाà¤\82à¤\95 à¤¬à¤¦à¤²à¤¾. à¤¤à¥\81मà¤\9aा à¤\85सà¥\8dथायà¥\80 à¤¶à¤¬à¥\8dदाà¤\82à¤\95 {{PLURAL:$5|à¤\8fà¤\95ा à¤¦à¤¿à¤µà¤¸à¤¾à¤¤|$5 à¤¦à¤¿à¤µà¤¸à¤¾à¤\82त}} à¤¸à¤\82पà¥\87ल.
+"$2" à¤¸à¤¦à¤¸à¥\8dयाà¤\95रिता à¤¤à¤¾à¤¤à¥\8dपà¥\81रता à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dदाà¤\82à¤\95 "$3" à¤\9dाला à¤\86हà¥\87.
+तà¥\81मà¥\8dहà¥\80 à¤\86ता à¤ªà¥\8dरवà¥\87श à¤\95रा à¤µ à¤¤à¥\81मà¤\9aा à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dदाà¤\82à¤\95 à¤¬à¤¦à¤²à¤¾. à¤¤à¥\81मà¤\9aा à¤\85सà¥\8dथायà¥\80 à¤¶à¤¬à¥\8dदाà¤\82à¤\95 {{PLURAL:$5|à¤\8fà¤\95ा à¤¦à¤¿à¤µà¤¸à¤¾à¤¤|$5 à¤¦à¤¿à¤µà¤¸à¤¾à¤\82त}} à¤®à¥\83त à¤¹à¥\8bà¤\88ल.
 
 जर ही विनंती इतर कुणी केली असेल किंवा तुम्हाला तुमचा परवलीचा शब्दांक आठवला असेल आणि तुम्ही तो आता बदलू इच्छित नसाल तर, तुम्ही हा संदेश दुर्लक्षित करून जुना परवलीचा शब्दांक वापरत राहू शकता.',
-'noemail' => '"$1" à¤¸à¤¦à¤¸à¥\8dयासाठà¥\80 à¤\95à¥\8bणताहà¥\80 à¤\88-मà¥\87ल à¤ªà¤¤à¥\8dता à¤¦à¤¿à¤²à¥\87ला नाही.',
+'noemail' => '"$1" à¤¸à¤¦à¤¸à¥\8dयाà¤\9aà¥\8dया à¤\95à¥\8bणतà¥\8dयाहà¥\80 à¤µà¤¿à¤ªà¤¤à¥\8dरपतà¥\8dतà¥\8dयाà¤\9aà¥\80(à¤\88-मà¥\87ल)नà¥\8bà¤\82द नाही.',
 'noemailcreate' => 'आपण वैध विरोप-पत्ता (ई-मेल ऍड्रेस) देणे आवश्यक आहे.',
-'passwordsent' => '"$1" सदस्याच्या ई-मेल पत्त्यावर परवलीचा नवीन शब्द पाठविण्यात आलेला आहे.
-तो शब्द वापरुन पुन्हा प्रवेश करा.',
-'blocked-mailpassword' => 'संपादनापासून तुमच्या अंकपत्त्यास आडविण्यात आले आहे,आणि म्हणून दुरूपयोग टाळ्ण्याच्या दृष्टीने परवलीचाशब्द परत मिळवण्यास सुद्धा मान्यता उपलब्ध नाही.',
+'passwordsent' => '"$1" सदस्याच्या नोंदणी केलेल्या ई-मेल पत्त्यावर परवलीचा नवीन शब्द पाठविण्यात आलेला आहे.
+
+तो मिळाल्यावर पुन्हा सनोंद-प्रवेश करा.',
+'blocked-mailpassword' => 'तुमच्या अंकपत्त्यास संपादनापासून प्रतिबंधित करण्यात आले आहे,आणि म्हणून दुरूपयोग टाळ्ण्याच्या दृष्टीने, परवलीचा शब्द परत मिळवण्याची क्रिया करण्यास आपणास परवानगी नाही.',
 'eauthentsent' => 'नामांकित ई-मेल पत्त्यावर एक निश्चितता स्वीकारक ई-मेल पाठविला गेला आहे.
 खात्यावर कोणताही इतर ई-मेल पाठविण्यापूर्वी - तो ई-मेल पत्ता तुमचाच आहे, हे सुनिश्चित करण्यासाठी - तुम्हाला त्या ई-मेल मधील सूचनांचे पालन करावे लागेल.',
 'throttled-mailpassword' => 'मागील {{PLURAL:$1|तासात|$1 तासांत}} परवलीचा शब्द बदलण्यासाठीची सूचना विपत्राद्वारे पाठविलेली आहे. दुरुपयोग टाळण्यासाठी, {{PLURAL:$1|एका तासामध्ये|$1 तासांमध्ये}} फक्त एकदाच सूचना दिली जाईल.',
 'mailerror' => 'विपत्र पाठवण्यात त्रुटी: $1',
 'acct_creation_throttle_hit' => 'माफ करा, तुम्ही आत्तापर्यंत {{PLURAL:$1|१ खाते उघडले आहे|$1 खाती उघडली आहेत}}. तुम्हाला आणखी खाती उघडता येणार नाहीत.',
 'emailauthenticated' => 'तुमचा विपत्रपत्ता $3 येथे $2 यावेळी तपासण्यात आला आहे.',
-'emailnotauthenticated' => 'तà¥\81मà¤\9aा à¤\88-मà¥\87ल à¤ªà¤¤à¥\8dता à¤¤à¤ªà¤¾à¤¸à¤²à¥\87ला à¤¨à¤¾à¤¹à¥\80. à¤\96ालà¥\80ल à¤\95ारà¥\8dयाà¤\82करिता ई-मेल पाठविला जाणार नाही.',
-'noemailprefs' => 'खालील सुविधा कार्यान्वित करण्यासाठी इ-मेल पत्ता पुरवा.',
-'emailconfirmlink' => 'à¤\86पला à¤\88-मà¥\87ल à¤ªà¤¤à¥\8dता à¤¤à¤ªà¤¾à¤¸à¥\82न à¤ªà¤¹ा.',
+'emailnotauthenticated' => 'तà¥\81मà¤\9aा à¤\88-मà¥\87ल à¤ªà¤¤à¥\8dता à¤\85दà¥\8dयाप à¤\85धिपà¥\8dरमाणित(à¤\91थà¥\87à¤\82à¤\9fिà¤\95à¥\87à¤\9fà¥\87ड) à¤¨à¤¾à¤¹à¥\80. à¤\96ालà¥\80ल à¤\95à¥\8bणतà¥\8dयाहà¥\80 à¤«à¤¿à¤\9aरà¥\8dसकरिता ई-मेल पाठविला जाणार नाही.',
+'noemailprefs' => 'खालील सुविधा कार्यान्वित करण्यासाठी,पसंतीक्रमात ई-मेल पत्ता नमूद करा.',
+'emailconfirmlink' => 'à¤\86पला à¤\88-मà¥\87ल à¤ªà¤¤à¥\8dता à¤¨à¤¿à¤¶à¥\8dà¤\9aित à¤\95रा.',
 'invalidemailaddress' => 'तुम्ही दिलेला ई-मेल पत्ता चुकीचा आहे, कारण तो योग्यप्रकारे लिहिलेला नाही. कृपया योग्यप्रकारे ई-मेल पत्ता लिहा अथवा ती जागा मोकळी सोडा.',
 'cannotchangeemail' => 'या विकिवर खात्याचा ईमेल बदलता येत नाही',
 'emaildisabled' => 'हे संकेतस्थळ विपत्र पाठवू शकत नाही.',
 'accountcreated' => 'खाते उघडले.',
 'accountcreatedtext' => '[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|चर्चा]]) चे सदस्यखाते तयार करण्यात आले आहे.',
-'createaccount-title' => '{{SITENAME}} साठीची सदस्य नोंदणी',
-'createaccount-text' => 'तà¥\81मà¤\9aà¥\8dया à¤µà¤¿à¤ªà¤¤à¥\8dर à¤ªà¤¤à¥\8dतà¥\8dयाà¤\95रिता {{SITENAME}} ($4)वर "$2" à¤¨à¤¾à¤µà¤¾à¤\9aà¥\8dया à¤\95à¥\81णà¥\80 "$3" à¤ªà¤°à¤µà¤²à¥\80नà¥\87 à¤\96ातà¥\87 à¤\89à¤\98डलà¥\87 à¤\86हà¥\87. à¤\95à¥\83पया à¤\86पण à¤¸à¤¦à¤¸à¥\8dय प्रवेश करून आपला परवलीचा शब्द बदलावा.
+'createaccount-title' => '{{SITENAME}} साठी खाते तयार करणे',
+'createaccount-text' => 'तà¥\81मà¤\9aा à¤µà¤¿à¤ªà¤¤à¥\8dर à¤ªà¤¤à¥\8dता à¤\98à¥\87à¤\89न {{SITENAME}} ($4)वर "$2" à¤¨à¤¾à¤µà¤¾à¤\9aà¥\8dया à¤\95à¥\8bणà¥\8dया à¤\8fà¤\95ानà¥\87 "$3" à¤ªà¤°à¤µà¤²à¥\80नà¥\87 à¤\96ातà¥\87 à¤\89à¤\98डलà¥\87 à¤\86हà¥\87. à¤\95à¥\83पया à¤\86पण à¤¸à¤¨à¥\8bà¤\82द-प्रवेश करून आपला परवलीचा शब्द बदलावा.
 
-à¤\9cर à¤¹à¥\80 à¤¨à¥\8bà¤\82दणà¥\80 à¤\9aà¥\81à¤\95िनà¥\87 à¤\9dालà¥\80 à¤\85सà¥\87ल à¤¤à¤° तुम्ही या संदेशाकडे दुर्लक्ष करू शकता.',
+à¤\9cर à¤¹à¥\80 à¤\96ातà¥\87नà¥\8bà¤\82दणà¥\80 à¤\9aà¥\81à¤\95िनà¥\87 à¤\9dालà¥\80 à¤\85सà¥\87ल à¤¤à¤°, तुम्ही या संदेशाकडे दुर्लक्ष करू शकता.',
 'usernamehasherror' => 'सदस्यनामात "हॅश" वर्ण असू शकत नाहीत.',
-'login-throttled' => 'तà¥\81मà¥\8dहà¥\80 à¤ªà¥\8dरवà¥\87श à¤\95रणà¥\8dयासाठà¥\80 à¤\96à¥\82प प्रयत्न केले आहेत.
-कृपया पुन्हा प्रयत्न करण्याआधी थांबा',
+'login-throttled' => 'तà¥\81मà¥\8dहà¥\80 à¤¨à¥\81à¤\95तà¥\87à¤\9a à¤¸à¤¨à¥\8bà¤\82द- à¤ªà¥\8dरवà¥\87शासाठà¥\80 à¤\85नà¥\87à¤\95ानà¥\87à¤\95 प्रयत्न केले आहेत.
+कृपया, पुन्हा प्रयत्न करण्याआधी थोडी उसंत घ्या.',
 'login-abort-generic' => 'तुमचा प्रवेश अयशस्वी होऊन रद्द झाला.',
 'loginlanguagelabel' => 'भाषा: $1',
-'suspicious-userlogout' => 'तà¥\81मà¤\9aà¥\87 à¤¸à¤¨à¥\8bà¤\82द-निरà¥\8dà¤\97मन à¤ªà¥\8dरतिबà¤\82धित à¤\9dालà¥\87 à¤\95ारण à¤\85सà¥\87 à¤¦à¤¿à¤¸à¤¤à¥\87 à¤\95à¥\80 à¤¤à¥\87 à¤¤à¥\81à¤\9fलà¥\87लà¥\8dया à¤¨à¥\8dयाहाळà¤\95ादà¥\8dवारà¥\87 à¤ªà¤¾à¤ à¤µà¤²à¥\8dया à¤\97à¥\87लà¥\87.',
+'suspicious-userlogout' => 'तà¥\81मà¤\9aà¥\8dया à¤¸à¤¨à¥\8bà¤\82द-निरà¥\8dà¤\97मनास à¤¨à¤\95ार à¤¦à¤¿à¤²à¥\8dया à¤\97à¥\87ला à¤\95ारण à¤\85सà¥\87 à¤¦à¤¿à¤¸à¤¤à¥\87 à¤\95à¥\80 à¤¤à¥\80 à¤µà¤¿à¤¨à¤\82तà¥\80 à¤\85न-à¤\85नà¥\81बà¤\82धित(डिसà¤\95नà¥\87à¤\95à¥\8dà¤\9fà¥\87ड) à¤¨à¥\8dयाहाळà¤\95ादà¥\8dवारà¥\87 à¤ªà¤¾à¤ à¤µà¤²à¥\8dया à¤\97à¥\87लà¥\80.',
 
 # Email sending
 'php-mail-error-unknown' => 'पीएचपीच्या विपत्र() पर्यायात अज्ञात चूक',
@@ -870,7 +871,7 @@ $2',
 
 # Change password dialog
 'resetpass' => 'परवलीचा शब्द बदला',
-'resetpass_announce' => 'तà¥\81मà¥\8dहà¥\80 à¤\88-मà¥\87ल à¤®à¤§à¥\82न à¤¦à¤¿à¤²à¥\87लà¥\8dया à¤¤à¤¾à¤¤à¥\8dपà¥\81रतà¥\8dया à¤¶à¤¬à¥\8dदाà¤\82à¤\95ानà¥\87 à¤ªà¥\8dरवà¥\87श à¤\95à¥\87लà¥\87ला à¤\86हà¥\87. à¤\86पलà¥\80 à¤¸à¤¦à¤¸à¥\8dय à¤¨à¥\8bà¤\82दणà¥\80 à¤ªà¥\82रà¥\8dण à¤\95रणà¥\8dयासाठà¥\80 à¤\95à¥\83पया à¤\87थà¥\87 à¤¨à¤µà¥\80न à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dद à¤¦à¥\8dया:',
+'resetpass_announce' => 'तà¥\81मà¥\8dहà¥\80 à¤\88-मà¥\87ल à¤®à¤§à¥\82न à¤¦à¤¿à¤²à¥\87लà¥\8dया à¤¤à¤¾à¤¤à¥\8dपà¥\81रतà¥\8dया à¤¶à¤¬à¥\8dदाà¤\82à¤\95ानà¥\87 à¤¸à¤¨à¥\8bà¤\82द à¤ªà¥\8dरवà¥\87शित à¤\86हात. à¤\86पला à¤¸à¤¨à¥\8bà¤\82द-पà¥\8dरवà¥\87श à¤ªà¥\82रà¥\8dण à¤\95रणà¥\8dयासाठà¥\80, à¤\95à¥\83पया à¤¯à¥\87थà¥\87 à¤¨à¤µà¥\80न à¤ªà¤°à¤µà¤²à¥\80à¤\9aा à¤¶à¤¬à¥\8dद à¤¦à¥\8dया:',
 'resetpass_text' => '<!-- मजकूर इथे लिहा -->',
 'resetpass_header' => 'खात्याचा परवलीचा शब्द बदला',
 'oldpassword' => 'जुना परवलीचा शब्दः',
index 857ab41..2dd2773 100644 (file)
@@ -7,6 +7,7 @@
  * @ingroup Language
  * @file
  *
+ * @author Algazel-ms
  * @author Anakmalaysia
  * @author Aurora
  * @author Aviator
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 ea1d9be..bfe2f19 100644 (file)
@@ -565,6 +565,7 @@ Lí ê kái-piàn tī ē-kha ê bûn-jī-keh. Lí su-iàu chiōng lí chò ê k
 'page_first' => 'Tùi thâu-chêng',
 'page_last' => 'Tùi āu-piah',
 'histlegend' => 'Pán-pún pí-phēng: tiám-soán beh pí-phēng ê pán-pún ê liú-á, liáu-āu chhi̍h ENTER a̍h-sī ē-kha hit tè sì-kak.<br />Soat-bêng: (taⁿ) = kap siōng sin pán-pún pí-phēng, (chêng) = kap chêng-1-ê pán-pún pí-phēng, ~ = sió siu-kái.',
+'history-fieldset-title' => '看歷史',
 'histfirst' => 'Tùi thâu-chêng',
 'histlast' => 'Tùi āu-piah',
 
@@ -572,6 +573,7 @@ Lí ê kái-piàn tī ē-kha ê bûn-jī-keh. Lí su-iàu chiōng lí chò ê k
 'history-feed-item-nocomment' => '$1 tī $2',
 
 # Diffs
+'history-title' => '"$1"的歷史版本',
 'lineno' => 'Tē $1 chōa:',
 'compareselectedversions' => 'Pí-phēng soán-te̍k ê pán-pún',
 'editundo' => 'chhú-siau',
@@ -723,6 +725,7 @@ Tī pat-lâng liân-lo̍k lí ê sî-chūn bē kā e-mail tsū-tsí siá chhut--
 'filehist' => 'Tóng-àn ê le̍k-sú',
 'filehist-current' => 'hiān-chāi',
 'filehist-datetime' => 'Ji̍t-kî/ Sî-kan',
+'filehist-thumb' => '細張圖',
 'filehist-user' => 'Iōng-chiá',
 'imagelinks' => 'Iáⁿ-siōng liân-kiat',
 'linkstoimage' => 'Í-hā ê ia̍h liân kàu chit ê iáⁿ-siōng:',
@@ -809,6 +812,7 @@ Template:Khu-pia̍t-ia̍h',
 # Special:Log
 'specialloguserlabel' => 'Iōng-chiá:',
 'speciallogtitlelabel' => 'Sû-tiâu:',
+'log' => '記錄',
 'logempty' => 'Log lāi-bīn bô sio-tùi ê hāng-bo̍k.',
 
 # Special:AllPages
@@ -885,6 +889,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'confirmdeletetext' => 'Lí tih-beh kā 1 ê ia̍h a̍h-sī iáⁿ-siōng (pau-koat siong-koan ê le̍k-sú) éng-kiú tùi chu-liāu-khò· thâi tiāu. Chhiáⁿ khak-tēng lí àn-sǹg án-ne chò, jī-chhiáⁿ liáu-kái hiō-kó, jī-chhiáⁿ bô ûi-hoán [[{{MediaWiki:Policy-url}}]].',
 'actioncomplete' => 'Chip-hêng sêng-kong',
 'deletedtext' => '"$1" í-keng thâi tiāu. Tùi $2 khoàⁿ-ē-tio̍h chòe-kīn thâi ê kì-lo̍k.',
+'dellogpage' => '刣頁的記錄',
 'dellogpagetext' => 'Í-hā lia̍t chhut chòe-kīn thâi tiāu ê hāng-bo̍k.',
 'deletecomment' => 'Lí-iû:',
 
@@ -937,6 +942,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 
 # What links here
 'whatlinkshere' => 'Tó-ūi liân kàu chia',
+'whatlinkshere-page' => '頁:',
 'linkshere' => "Í-hā '''[[:$1]]''' liân kàu chia:",
 'nolinkshere' => "Bô poàⁿ ia̍h liân kàu '''[[:$1]]'''.",
 'isredirect' => 'choán-ia̍h',
@@ -1029,6 +1035,7 @@ Liâu--lo̍h-khì chìn-chêng, chhiáⁿ seng khak-tēng lí ū liáu-kái chia
 Lí ē-sái khoàⁿ i ê goân-sú-bé.',
 'tooltip-ca-history' => 'Chit ia̍h ê chá-chêng pán-pún',
 'tooltip-ca-delete' => 'Thâi chit ia̍h',
+'tooltip-ca-move' => '徙這頁',
 'tooltip-ca-unwatch' => 'Lí ê kàm-sī-toaⁿ soá tiàu chit ia̍h.',
 'tooltip-search' => 'Chhoé {{SITENAME}}',
 'tooltip-search-fulltext' => 'Chhoé ū chia-ê jī ê ia̍h',
@@ -1051,8 +1058,10 @@ Lí ē-sái khoàⁿ i ê goân-sú-bé.',
 'tooltip-ca-nstab-user' => 'Khoàⁿ iōng-chiá ê Ia̍h',
 'tooltip-ca-nstab-image' => 'Khoàⁿ tóng-àn ia̍h',
 'tooltip-ca-nstab-category' => 'Khoàⁿ lūi-pia̍t ia̍h',
+'tooltip-minoredit' => '記這是一个小改',
 'tooltip-save' => 'Pó-chhûn lí chò ê kái-piàn',
 'tooltip-preview' => 'Chhiáⁿ tī pó-chûn chìn-chêng,  sian khoàⁿ lí chò ê kái-piàn !',
+'tooltip-watch' => '共這頁加入去你的監視單',
 'tooltip-rollback' => 'Ji̍h "Hoê-choán" ē-sái thè tńg-khì téng-chi̍t-ê kái ê lâng ê ia̍h.',
 'tooltip-preferences-save' => '保存設定',
 'tooltip-summary' => 'Siá chi̍t-ê kán-tan soat-bêng',
index 3c43065..f654c8e 100644 (file)
@@ -940,6 +940,14 @@ Midlertidig passord: $2',
 'changeemail-submit' => 'Endre e-post',
 'changeemail-cancel' => 'Avbryt',
 
+# Special:ResetTokens
+'resettokens' => 'Nullstill merker',
+'resettokens-no-tokens' => 'Det finnes ingen merker å nullstille.',
+'resettokens-legend' => 'Nullstill merker',
+'resettokens-tokens' => 'Merker:',
+'resettokens-done' => 'Nullstilling av merker.',
+'resettokens-resetbutton' => 'Nullstill valgte merker',
+
 # Edit page toolbar
 'bold_sample' => 'Fet tekst',
 'bold_tip' => 'Fet tekst',
@@ -1531,7 +1539,7 @@ Den kan maks inneholde $1 {{PLURAL:$1|tegn|tegn}}.',
 'prefs-signature' => 'Signatur',
 'prefs-dateformat' => 'Datoformat',
 'prefs-timeoffset' => 'Tidsforskyvning',
-'prefs-advancedediting' => 'Generelt',
+'prefs-advancedediting' => 'Generelle valg',
 'prefs-editor' => 'Tekstbehandling',
 'prefs-preview' => 'Forhåndsvisning',
 'prefs-advancedrc' => 'Avanserte alternativ',
@@ -1541,6 +1549,7 @@ Den kan maks inneholde $1 {{PLURAL:$1|tegn|tegn}}.',
 'prefs-displayrc' => 'Visningsalternativer',
 'prefs-displaysearchoptions' => 'Visningsalternativer',
 'prefs-displaywatchlist' => 'Visningsalternativer',
+'prefs-tokenwatchlist' => 'Merke',
 'prefs-diffs' => 'Forskjeller',
 
 # User preference: email validation using jQuery
index 31f4010..6024beb 100644 (file)
@@ -4188,8 +4188,8 @@ W przeciwnym wypadku można użyć prostego formularza poniżej. Komentarz zosta
 'feedback-error3' => 'Błąd – brak odpowiedzi API',
 'feedback-thanks' => 'Dziękujemy! Twoja opinia została opublikowana na stronie "[$2 $1]".',
 'feedback-close' => 'Gotowe',
-'feedback-bugcheck' => 'Świetnie! Tylko sprawdź, czy nie jest już jednym ze [$1 znanych błędów].',
-'feedback-bugnew' => '{{GENDER:|Sprawdziłem|Sprawdziłam}}. Zgłoś nowy błąd',
+'feedback-bugcheck' => 'Świetnie! Tylko sprawdź, czy nie jest to jeden z już [$1 znanych błędów].',
+'feedback-bugnew' => 'Sprawdziłam(łem). Zgłoś nowy błąd',
 
 # Search suggestions
 'searchsuggest-search' => 'Szukaj',
index 6ece28b..615f4d6 100644 (file)
@@ -482,10 +482,12 @@ Che a dësmentia pa ëd cambié ij [[Special:Preferences|sò gust për {{SITENAM
 'logout' => "Seurte da 'nt ël sistema",
 'userlogout' => 'Deconession',
 'notloggedin' => 'Nen rintrà ant ël sistema',
+'userlogin-noaccount' => 'Ha-lo nen un cont?',
+'userlogin-joinproject' => "Ch'as gionza a {{SITENAME}}",
 'nologin' => 'Ha-lo ancó nen un cont? $1.',
-'nologinlink' => 'creésse un cont.',
-'createaccount' => 'Crea un cont neuv',
-'gotaccount' => "Ha-lo già un sò cont? '''$1'''.",
+'nologinlink' => 'Creé un cont',
+'createaccount' => 'Creé un cont',
+'gotaccount' => 'Ha-lo già un sò cont? $1.',
 'gotaccountlink' => 'Rintré 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',
index 23bed79..5bc407e 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 a(s) seguinte(s) {{PLURAL:$1|subcategoria|$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.|A(s) seguinte(s) {{PLURAL:$1|página é|$1 páginas são}} nesta 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}}.',
index 652c43e..c618779 100644 (file)
@@ -2622,7 +2622,8 @@ See also:
 'prefs-editing' => 'Title of a tab in [[Special:Preferences]].
 When changing this message, please also update {{msg-mw|vector-editwarning-warning}} which references to this message.
 {{Identical|Editing}}',
-'rows' => 'Used on [[Special:Preferences]], "Editing" section in the "Size of editing window" fieldset',
+'rows' => 'Used on [[Special:Preferences]], "Editing" section in the "Size of editing window" fieldset.
+{{Identical|Row}}',
 'columns' => 'Used on [[Special:Preferences]], "Editing" section in the "Size of editing window" fieldset',
 'searchresultshead' => 'This is the label of the tab in [[Special:Preferences|my preferences]] which contains options for searching the wiki.
 
@@ -7075,18 +7076,20 @@ See also:
 '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-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]',
index cd81716..1b91186 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,7 +4371,7 @@ $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-patrol-patrol-auto' => '$1 је аутоматски {{GENDER:$2|означио|означила}} измену $4 странице $3 као прегледану',
 'logentry-newusers-newusers' => '$1 {{GENDER:|је отворио|је отворила|је отворио}} кориснички налог',
 'logentry-newusers-create' => '$1 {{GENDER:|је отворио|је отворила|је отворио}} кориснички налог',
 'logentry-newusers-create2' => '$1 {{GENDER:|је отворио|је отворила|је отворио}} кориснички налог $3',
index 0571c0b..17e2e4b 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,7 +4241,7 @@ 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-patrol-patrol-auto' => '$1 je automatski {{GENDER:$2|označio|označila}} 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',
index 957f28f..e40dbc2 100644 (file)
@@ -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}}”',
index 36219e1..f4baf56 100644 (file)
@@ -33,6 +33,7 @@
  * @author Littletung
  * @author Mark85296341
  * @author Oapbtommy
+ * @author Openerror
  * @author Pbdragonwang
  * @author PhiLiP
  * @author Philip
@@ -691,6 +692,7 @@ $2',
 'yourname' => '用戶名:',
 'userlogin-yourname' => '用戶名',
 'userlogin-yourname-ph' => '輸入你的用戶名',
+'createacct-another-username-ph' => '輸入帳戶名稱',
 'yourpassword' => '您的密碼:',
 'userlogin-yourpassword' => '密碼',
 'userlogin-yourpassword-ph' => '輸入密碼',
@@ -725,9 +727,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 +740,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|頁頁面|頁頁面}}',
@@ -3430,7 +3435,7 @@ Variants for Chinese language
 'exif-compression-6' => 'JPEG(舊)',
 
 'exif-copyrighted-true' => '受版權保護',
-'exif-copyrighted-false' => '公共領域',
+'exif-copyrighted-false' => '版權所屬者不明',
 
 'exif-unknowndate' => '未知的日期',
 
@@ -3690,9 +3695,9 @@ $3
 $5
 
 確認碼會在$4過期。',
-'confirmemail_body_set' => '有人,可能是您,來自IP地址$1,已設置的戶口"$2"這個地址{{SITENAME}}網站名稱電郵地址
+'confirmemail_body_set' => '來自IP地址 $1 的人 (可能是你) 已將帳戶 "$2" 的電郵地址設定為 {{SITENAME}}
 
-為了確認這個帳戶確實屬於自己的,重新確認電子郵件功能於{{SITENAME}}網站名稱,請在瀏覽器中打開這個鏈接:
+請用瀏覽器打開以下的連接,以確認你對這個帳戶的擁有權,並將上述電郵地址跟帳戶建立關聯。
 
 $3
 
@@ -3700,7 +3705,7 @@ $3
 
 $5
 
-這個確認碼會在$4時過期。',
+確認碼會在這個時間過期:$4',
 'confirmemail_invalidated' => '電郵地址確認已取消',
 'invalidateemail' => '取消電郵確認',
 
@@ -3822,6 +3827,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 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 cdbd7e0..128e25d 100644 (file)
@@ -190,7 +190,11 @@ a
 b
 ----
 a
-<!--foo--><!--More than 1 comment disables stripping of this line!-->
+<!--foo--><!--More than 1 comment, still stripped-->
+b
+----
+a
+ <!--foo--> <!----> <!-- bar --> 
 b
 ----
 a
@@ -222,7 +226,11 @@ b
 </p>
 <hr />
 <p>a
-</p><p>b
+b
+</p>
+<hr />
+<p>a
+b
 </p>
 <hr />
 <p>a
@@ -282,7 +290,7 @@ a
 b
 ----
 a
- <!--foo--><!--More than 1 comment disables stripping of this line!-->
+ <!--foo--><!--More than 1 comment doesn't disable stripping of this line!-->
 b
 ----
 a
@@ -305,7 +313,7 @@ b
 </p>
 <hr />
 <p>a
-</p><p>b
+b
 </p>
 <hr />
 <p>a
@@ -5424,21 +5432,20 @@ Multiple list tags generated by templates
 !!end
 
 !!test
-Single-comment whitespace lines dont break lists, but multi-comment whitespace lines do
+Single-comment whitespace lines dont break lists, and so do multi-comment whitespace lines
 !!input
 *a
 <!--This line will NOT split the list-->
 *b
  <!--This line will NOT split the list either-->
 *c
- <!--foo--> <!--This line with more than 1 comment will split the list-->
+ <!--foo--> <!----> <!--This line NOT split the list either--> 
 *d
 !!result
 <ul><li>a
 </li><li>b
 </li><li>c
-</li></ul>
-<ul><li>d
+</li><li>d
 </li></ul>
 
 !!end
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(