Merge "Plural rules: updates for UTS #35 Rev 33"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 23 Dec 2013 14:00:34 +0000 (14:00 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 23 Dec 2013 14:00:34 +0000 (14:00 +0000)
287 files changed:
.gitignore
.jshintignore
RELEASE-NOTES-1.23
api.php
docs/hooks.txt
includes/AutoLoader.php
includes/Collation.php
includes/DefaultSettings.php
includes/GlobalFunctions.php
includes/HttpFunctions.php
includes/ImagePage.php
includes/Message.php
includes/OutputPage.php
includes/Preferences.php
includes/ProxyTools.php [deleted file]
includes/QueryPage.php
includes/Setup.php
includes/Skin.php
includes/SkinTemplate.php
includes/SpecialPageFactory.php
includes/Title.php
includes/TitleArray.php
includes/User.php
includes/UserArray.php
includes/WikiPage.php
includes/ZhConversion.php
includes/api/ApiParse.php
includes/api/ApiQueryRandom.php
includes/api/ApiUserrights.php
includes/cache/LocalisationCache.php
includes/cache/MapCacheLRU.php
includes/changes/ChangesList.php
includes/changes/EnhancedChangesList.php
includes/changes/RecentChange.php
includes/clientpool/RedisConnectionPool.php
includes/content/TextContent.php
includes/db/Database.php
includes/db/DatabaseMysql.php
includes/db/DatabaseMysqlBase.php
includes/db/DatabaseMysqli.php
includes/diff/DairikiDiff.php
includes/filebackend/MemoryFileBackend.php [new file with mode: 0644]
includes/filerepo/FSRepo.php
includes/filerepo/FileRepo.php
includes/filerepo/LocalRepo.php
includes/filerepo/RepoGroup.php
includes/filerepo/file/ArchivedFile.php
includes/filerepo/file/File.php
includes/htmlform/HTMLForm.php
includes/installer/LocalSettingsGenerator.php
includes/installer/MysqlUpdater.php
includes/installer/OracleUpdater.php
includes/installer/PostgresUpdater.php
includes/installer/SqliteUpdater.php
includes/installer/WebInstallerOutput.php
includes/job/Job.php
includes/job/JobQueueDB.php
includes/job/JobQueueFederated.php
includes/job/JobQueueGroup.php
includes/job/jobs/AssembleUploadChunksJob.php
includes/job/jobs/DoubleRedirectJob.php
includes/job/jobs/DuplicateJob.php
includes/job/jobs/EmaillingJob.php
includes/job/jobs/EnotifNotifyJob.php
includes/job/jobs/HTMLCacheUpdateJob.php
includes/job/jobs/NullJob.php
includes/job/jobs/PublishStashedFileJob.php
includes/job/jobs/RefreshLinksJob.php
includes/job/jobs/RefreshLinksJob2.php
includes/job/jobs/UploadFromUrlJob.php
includes/libs/CSSMin.php
includes/logging/LogEventsList.php
includes/logging/LogPage.php
includes/media/Bitmap.php
includes/media/ExifBitmap.php
includes/media/MediaHandler.php
includes/media/SVG.php
includes/revisiondelete/RevisionDelete.php
includes/specials/SpecialBlock.php
includes/specials/SpecialBlockList.php
includes/specials/SpecialContributions.php
includes/specials/SpecialExpandTemplates.php
includes/specials/SpecialRandompage.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialRecentchangeslinked.php
includes/specials/SpecialRedirect.php
includes/specials/SpecialSearch.php
includes/specials/SpecialUndelete.php
includes/specials/SpecialUpload.php
includes/specials/SpecialUserlogin.php
includes/specials/SpecialWantedcategories.php
includes/specials/SpecialWatchlist.php
includes/upload/UploadFromUrl.php
includes/utils/IP.php
languages/Language.php
languages/classes/LanguageGv.php [deleted file]
languages/classes/LanguageIu.php
languages/classes/LanguageSr.php
languages/data/plurals-mediawiki.xml
languages/messages/MessagesAf.php
languages/messages/MessagesAng.php
languages/messages/MessagesAr.php
languages/messages/MessagesArc.php
languages/messages/MessagesAs.php
languages/messages/MessagesAst.php
languages/messages/MessagesBcl.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBg.php
languages/messages/MessagesBn.php
languages/messages/MessagesBr.php
languages/messages/MessagesBs.php
languages/messages/MessagesCa.php
languages/messages/MessagesCe.php
languages/messages/MessagesCkb.php
languages/messages/MessagesCs.php
languages/messages/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesDe.php
languages/messages/MessagesDiq.php
languages/messages/MessagesDsb.php
languages/messages/MessagesEgl.php
languages/messages/MessagesEn.php
languages/messages/MessagesEo.php
languages/messages/MessagesEs.php
languages/messages/MessagesEt.php
languages/messages/MessagesEu.php
languages/messages/MessagesFa.php
languages/messages/MessagesFi.php
languages/messages/MessagesFr.php
languages/messages/MessagesFur.php
languages/messages/MessagesFy.php
languages/messages/MessagesGl.php
languages/messages/MessagesGsw.php
languages/messages/MessagesGu.php
languages/messages/MessagesHak.php
languages/messages/MessagesHe.php
languages/messages/MessagesHr.php
languages/messages/MessagesHsb.php
languages/messages/MessagesHu.php
languages/messages/MessagesHy.php
languages/messages/MessagesIa.php
languages/messages/MessagesId.php
languages/messages/MessagesIe.php
languages/messages/MessagesIlo.php
languages/messages/MessagesIs.php
languages/messages/MessagesIt.php
languages/messages/MessagesJa.php
languages/messages/MessagesJam.php
languages/messages/MessagesJv.php
languages/messages/MessagesKa.php
languages/messages/MessagesKab.php
languages/messages/MessagesKk_cyrl.php
languages/messages/MessagesKn.php
languages/messages/MessagesKo.php
languages/messages/MessagesKsh.php
languages/messages/MessagesLa.php
languages/messages/MessagesLb.php
languages/messages/MessagesLez.php
languages/messages/MessagesLt.php
languages/messages/MessagesLv.php
languages/messages/MessagesLzh.php
languages/messages/MessagesMhr.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesMr.php
languages/messages/MessagesMs.php
languages/messages/MessagesNap.php
languages/messages/MessagesNb.php
languages/messages/MessagesNds_nl.php
languages/messages/MessagesNl.php
languages/messages/MessagesNn.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPs.php
languages/messages/MessagesPt.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesRm.php
languages/messages/MessagesRo.php
languages/messages/MessagesRu.php
languages/messages/MessagesScn.php
languages/messages/MessagesSdc.php
languages/messages/MessagesSi.php
languages/messages/MessagesSk.php
languages/messages/MessagesSl.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSr_el.php
languages/messages/MessagesSv.php
languages/messages/MessagesSzl.php
languages/messages/MessagesTa.php
languages/messages/MessagesTe.php
languages/messages/MessagesTet.php
languages/messages/MessagesTh.php
languages/messages/MessagesTr.php
languages/messages/MessagesTt_cyrl.php
languages/messages/MessagesUg_arab.php
languages/messages/MessagesUk.php
languages/messages/MessagesVec.php
languages/messages/MessagesVep.php
languages/messages/MessagesVi.php
languages/messages/MessagesVro.php
languages/messages/MessagesWuu.php
languages/messages/MessagesYi.php
languages/messages/MessagesYue.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
maintenance/archives/patch-logging_user_text_time_index.sql [new file with mode: 0644]
maintenance/archives/patch-logging_user_text_type_time_index.sql [new file with mode: 0644]
maintenance/eval.php
maintenance/findHooks.php
maintenance/generateJsonI18n.php [new file with mode: 0644]
maintenance/language/messages.inc
maintenance/mergeMessageFileList.php
maintenance/mssql/tables.sql
maintenance/nextJobDB.php
maintenance/oracle/archives/patch-logging_user_text_time_index.sql [new file with mode: 0644]
maintenance/oracle/archives/patch-logging_user_text_type_time_index.sql [new file with mode: 0644]
maintenance/oracle/tables.sql
maintenance/postgres/tables.sql
maintenance/runJobs.php
maintenance/showJobs.php
maintenance/sql.php
maintenance/tables.sql
maintenance/update.php
maintenance/updateSpecialPages.php
resources/Makefile [new file with mode: 0644]
resources/README.txt [new file with mode: 0644]
resources/Resources.php
resources/jquery/jquery.suggestions.js
resources/mediawiki.action/mediawiki.action.view.metadata.js
resources/mediawiki.less/mediawiki.mixins.less
resources/mediawiki.libs/mediawiki.libs.jpegmeta.js
resources/mediawiki.page/mediawiki.page.startup.js
resources/mediawiki.page/mediawiki.page.watch.ajax.js
resources/mediawiki.special/mediawiki.special.changeslist.css
resources/mediawiki.special/mediawiki.special.changeslist.js [new file with mode: 0644]
resources/mediawiki.special/mediawiki.special.createAccount.css [deleted file]
resources/mediawiki.special/mediawiki.special.createAccount.js [deleted file]
resources/mediawiki.special/mediawiki.special.css
resources/mediawiki.special/mediawiki.special.preferences.css
resources/mediawiki.special/mediawiki.special.preferences.js
resources/mediawiki.special/mediawiki.special.userLogin.css [deleted file]
resources/mediawiki.special/mediawiki.special.userlogin.common.css [new file with mode: 0644]
resources/mediawiki.special/mediawiki.special.userlogin.common.js [new file with mode: 0644]
resources/mediawiki.special/mediawiki.special.userlogin.login.css [new file with mode: 0644]
resources/mediawiki.special/mediawiki.special.userlogin.signup.css [new file with mode: 0644]
resources/mediawiki.special/mediawiki.special.userlogin.signup.js [new file with mode: 0644]
resources/mediawiki.special/mediawiki.special.vforms.css [deleted file]
resources/mediawiki.ui/components/default/buttons.less
resources/mediawiki.ui/components/default/forms.less
resources/mediawiki.ui/components/vector/buttons.less
resources/mediawiki.ui/default.less
resources/mediawiki.ui/styleguide.md [new file with mode: 0644]
resources/mediawiki.ui/vector.less
resources/mediawiki/mediawiki.hlist.css
resources/mediawiki/mediawiki.hlist.js
resources/mediawiki/mediawiki.js
resources/mediawiki/mediawiki.searchSuggest.js
resources/oojs/oojs.js
resources/package.json [new file with mode: 0644]
resources/scripts/nodecheck.sh [new file with mode: 0755]
resources/startup.js
resources/styleguide-template/index.html [new file with mode: 0644]
resources/styleguide-template/public/kss.less [new file with mode: 0644]
resources/styleguide-template/public/less.js [new file with mode: 0644]
skins/MonoBook.php
skins/Vector.php
skins/common/commonInterface.css
skins/common/commonPrint.css
skins/common/shared.css
skins/modern/main.css
skins/vector/beta/screen.less [deleted file]
skins/vector/beta/variables.less [deleted file]
skins/vector/collapsibleTabs.js
skins/vector/screen-hd.less
skins/vector/styles-beta.less [deleted file]
skins/vector/variables.less
tests/phpunit/includes/RevisionStorageTest.php
tests/phpunit/includes/StatusTest.php
tests/phpunit/includes/db/DatabaseMysqlBaseTest.php
tests/phpunit/includes/filebackend/FileBackendTest.php
tests/phpunit/includes/libs/CSSMinTest.php
tests/phpunit/includes/media/DjVuTest.php
tests/phpunit/includes/parser/NewParserTest.php
tests/phpunit/languages/LanguageGvTest.php
tests/phpunit/mocks/filebackend/MockFileBackend.php
tests/qunit/suites/resources/startup.test.js

index 76d220a..c7d6f66 100644 (file)
@@ -47,6 +47,9 @@ node_modules/
 /composer.lock
 /composer.json
 
+# MediaWiki UI documentation
+resources/mediawiki.ui/docs
+
 # Operating systems
 ## Mac OS X
 .DS_Store
index 27bb258..db4ac44 100644 (file)
@@ -1,6 +1,10 @@
 # Generated documentation
 docs/html/
 docs/js/
+resources/mediawiki.ui/docs
+
+# kss template for mediawiki ui documentation
+resources/styleguide-template
 
 # third-party libs
 extensions/
index 81ac4cd..3e40f7f 100644 (file)
@@ -53,6 +53,10 @@ production.
   custom CSS or JavaScript enabled only for registered users.
 * (bug 52005) Special pages RecentChanges, RecentChangesLinked and Watchlist
   now include a legend describing the symbols used in lists of changes.
+* Improved the accessibility of the tabs in Special:Preferences.
+* Added ApiBeforeMain hook, roughly equivalent to the BeforeInitialize hook:
+  it's called after everything is set up but before any major processing
+  happens.
 
 === Bug fixes in 1.23 ===
 * (bug 41759) The "updated since last visit" markers (on history pages, recent
@@ -69,6 +73,7 @@ production.
 * (bug 57098) SpecialPasswordReset now obeys returnto parameter
 * (bug 37812) ResourceLoader will notice when a module's definition changes and
   recompile it accordingly.
+* (bug 57201) SpecialRecentChangesFilters hook is now executed for feeds.
 
 === API changes in 1.23 ===
 * (bug 54884) action=parse&prop=categories now indicates hidden and missing
@@ -78,8 +83,10 @@ production.
 * EditPage::spamPage() was deprecated since 1.17 and has been removed.
 * action=parse&prop=languageshtml was deprecated in 1.18 and will be removed in
   MediaWiki 1.24.
+* action=parse now has disabletoc flag to disable table of contents in output.
+* SpecialRecentChanges::feedSetup() was removed.
 
-=== Languages updated in 1.23===
+=== Languages updated in 1.23 ===
 
 MediaWiki supports over 350 languages. Many localisations are updated
 regularly. Below only new and removed languages are listed, as well as
diff --git a/api.php b/api.php
index 8fab878..51bb2ad 100644 (file)
--- a/api.php
+++ b/api.php
@@ -69,6 +69,9 @@ $wgTitle = Title::makeTitle( NS_MAIN, 'API' );
  */
 $processor = new ApiMain( RequestContext::getMain(), $wgEnableWriteAPI );
 
+// Last chance hook before executing the API
+wfRunHooks( 'ApiBeforeMain', array( &$processor ) );
+
 // Process data & print results
 $processor->execute();
 
index e3387b5..ebc412b 100644 (file)
@@ -347,6 +347,9 @@ $body: Body of the message
 this to extend core API modules.
 &$module: Module object
 
+'ApiBeforeMain': Before calling ApiMain's execute() method in api.php.
+&$main: ApiMain object
+
 'ApiCheckCanExecute': Called during ApiMain::checkCanExecute. Use to further
 authenticate and authorize API clients before executing the module. Return
 false and set a message to cancel the request.
@@ -2200,8 +2203,14 @@ software.
 $software: The array of software in format 'name' => 'version'. See
   SpecialVersion::softwareInformation().
 
+'SpecialBlockModifyFormFields': Add more fields to Special:Block
+$sp: SpecialPage object, for context
+&$fields: Current HTMLForm fields
+
 'SpecialContributionsBeforeMainOutput': Before the form on Special:Contributions
-$id: User identifier
+$id: User id number, only provided for backwards-compatability
+$user: User object representing user contributions are being fetched for
+$sp: SpecialPage instance, providing context
 
 'SpecialListusersDefaultQuery': Called right before the end of
 UsersPager::getDefaultQuery().
index ca40d1e..9a9ce17 100644 (file)
@@ -50,6 +50,7 @@ $wgAutoloadLocalClasses = array(
        'ChangeTags' => 'includes/ChangeTags.php',
        'ChannelFeed' => 'includes/Feed.php',
        'Collation' => 'includes/Collation.php',
+       'CollationCkb' => 'includes/Collation.php',
        'ConcatenatedGzipHistoryBlob' => 'includes/HistoryBlob.php',
        'Cookie' => 'includes/Cookie.php',
        'CookieJar' => 'includes/Cookie.php',
@@ -546,6 +547,7 @@ $wgAutoloadLocalClasses = array(
        'FSFileBackendDirList' => 'includes/filebackend/FSFileBackend.php',
        'FSFileBackendFileList' => 'includes/filebackend/FSFileBackend.php',
        'FSFileOpHandle' => 'includes/filebackend/FSFileBackend.php',
+       'MemoryFileBackend' => 'includes/filebackend/MemoryFileBackend.php',
        'SwiftFileBackend' => 'includes/filebackend/SwiftFileBackend.php',
        'SwiftFileBackendList' => 'includes/filebackend/SwiftFileBackend.php',
        'SwiftFileBackendDirList' => 'includes/filebackend/SwiftFileBackend.php',
@@ -986,7 +988,7 @@ $wgAutoloadLocalClasses = array(
        'SpecialRandomInCategory' => 'includes/specials/SpecialRandomInCategory.php',
        'SpecialRandomredirect' => 'includes/specials/SpecialRandomredirect.php',
        'SpecialRecentChanges' => 'includes/specials/SpecialRecentchanges.php',
-       'SpecialRecentchangeslinked' => 'includes/specials/SpecialRecentchangeslinked.php',
+       'SpecialRecentChangesLinked' => 'includes/specials/SpecialRecentchangeslinked.php',
        'SpecialRedirect' => 'includes/specials/SpecialRedirect.php',
        'SpecialResetTokens' => 'includes/specials/SpecialResetTokens.php',
        'SpecialRevisionDelete' => 'includes/specials/SpecialRevisiondelete.php',
index ac2187c..7204f31 100644 (file)
@@ -47,6 +47,8 @@ abstract class Collation {
                                return new IdentityCollation;
                        case 'uca-default':
                                return new IcuCollation( 'root' );
+                       case 'xx-uca-ckb':
+                               return new CollationCkb;
                        default:
                                $match = array();
                                if ( preg_match( '/^uca-([a-z@=-]+)$/', $collationName, $match ) ) {
@@ -149,9 +151,9 @@ class IdentityCollation extends Collation {
 }
 
 class IcuCollation extends Collation {
-       const FIRST_LETTER_VERSION = 1;
+       const FIRST_LETTER_VERSION = 2;
 
-       var $primaryCollator, $mainCollator, $locale;
+       var $primaryCollator, $mainCollator, $locale, $digitTransformLanguage;
        var $firstLetterData;
 
        /**
@@ -284,7 +286,12 @@ class IcuCollation extends Collation {
                        throw new MWException( 'An ICU collation was requested, ' .
                                'but the intl extension is not available.' );
                }
+
                $this->locale = $locale;
+               // Drop everything after the '@' in locale's name
+               $localeParts = explode( '@', $locale );
+               $this->digitTransformLanguage = Language::factory( $locale === 'root' ? 'en' : $localeParts[0] );
+
                $this->mainCollator = Collator::create( $locale );
                if ( !$this->mainCollator ) {
                        throw new MWException( "Invalid ICU locale specified for collation: $locale" );
@@ -345,7 +352,7 @@ class IcuCollation extends Collation {
                }
 
                $cache = wfGetCache( CACHE_ANYTHING );
-               $cacheKey = wfMemcKey( 'first-letters', $this->locale );
+               $cacheKey = wfMemcKey( 'first-letters', $this->locale, $this->digitTransformLanguage->getCode() );
                $cacheEntry = $cache->get( $cacheKey );
 
                if ( $cacheEntry && isset( $cacheEntry['version'] )
@@ -365,6 +372,12 @@ class IcuCollation extends Collation {
                        if ( isset( self::$tailoringFirstLetters['-' . $this->locale] ) ) {
                                $letters = array_diff( $letters, self::$tailoringFirstLetters['-' . $this->locale] );
                        }
+                       // Apply digit transforms
+                       $digits = array( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' );
+                       $letters = array_diff( $letters, $digits );
+                       foreach ( $digits as $digit ) {
+                               $letters[] = $this->digitTransformLanguage->formatNum( $digit, true );
+                       }
                } else {
                        $letters = wfGetPrecompiledData( "first-letters-{$this->locale}.ser" );
                        if ( $letters === false ) {
@@ -604,3 +617,17 @@ class IcuCollation extends Collation {
                }
        }
 }
+
+/**
+ * Workaround for the lack of support of Sorani Kurdish / Central Kurdish language ('ckb') in ICU.
+ *
+ * Uses the same collation rules as Persian / Farsi ('fa'), but different characters for digits.
+ */
+class CollationCkb extends IcuCollation {
+       function __construct() {
+               // This will set $locale and collators, which affect the actual sorting order
+               parent::__construct( 'fa' );
+               // Override the 'fa' language set by parent constructor, which affects #getFirstLetterData()
+               $this->digitTransformLanguage = Language::factory( 'ckb' );
+       }
+}
index 40f943f..690bec2 100644 (file)
@@ -590,7 +590,7 @@ $wgCacheSharedUploads = true;
 
 /**
  * Allow for upload to be copied from an URL.
- * The timeout for copy uploads is set by $wgHTTPTimeout.
+ * The timeout for copy uploads is set by $wgCopyUploadTimeout.
  * You have to assign the user right 'upload_by_url' to a user group, to use this.
  */
 $wgAllowCopyUploads = false;
@@ -937,7 +937,8 @@ $wgSVGConverters = array(
        'ImageMagick' => '$path/convert -background white -thumbnail $widthx$height\! $input PNG:$output',
        'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
        'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
-       'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
+       'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d '
+               . '$output $input',
        'rsvg' => '$path/rsvg -w $width -h $height $input $output',
        'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
        'ImagickExt' => array( 'SvgHandler::rasterizeImagickExt' ),
@@ -3343,6 +3344,7 @@ $wgResourceLoaderLESSFunctions = array(
  */
 $wgResourceLoaderLESSImportPaths = array(
        "$IP/resources/mediawiki.less/",
+       "$IP/skins/vector/",
 );
 
 /**
@@ -4012,6 +4014,7 @@ $wgDefaultUserOptions = array(
        'math' => 1,
        'minordefault' => 0,
        'newpageshidepatrolled' => 0,
+       'nickname' => '',
        'noconvertlink' => 0,
        'norollbackdiff' => 0,
        'numberheadings' => 0,
@@ -5931,6 +5934,16 @@ $wgExtensionFunctions = array();
  * Variables defined in extensions will override conflicting variables defined
  * in the core.
  *
+ * Since MediaWiki 1.23, use of this variable to define messages is discouraged; instead, store
+ * messages in JSON format and use $wgMessagesDirs. For setting other variables than
+ * $messages, $wgExtensionMessagesFiles should still be used.
+ *
+ * If there is an entry in $wgMessagesDirs with the same key as one in
+ * $wgExtensionMessagesFiles, then any $messages variables set in the $wgExtensionMessagesFiles file
+ * will be ignored. This means an extension that only provides messages can be backwards compatible
+ * by using both $wgExtensionMessagesFiles and $wgMessagesDirs, and only one of the two
+ * will be used depending on what the version of MediaWiki supports.
+ *
  * @par Example:
  * @code
  *    $wgExtensionMessagesFiles['ConfirmEdit'] = __DIR__.'/ConfirmEdit.i18n.php';
@@ -5938,6 +5951,32 @@ $wgExtensionFunctions = array();
  */
 $wgExtensionMessagesFiles = array();
 
+/**
+ * Extension messages directories.
+ *
+ * Associative array mapping extension name to the path of the directory where message files can
+ * be found. The message files are expected to be JSON files named for their language code, e.g.
+ * en.json, de.json, etc. Extensions with messages in multiple places may specify an array of
+ * message directories.
+ *
+ * @par Simple example:
+ * @code
+ *    $wgMessagesDirs['ConfirmEdit'] = __DIR__ . '/i18n';
+ * @endcode
+ *
+ * @par Complex example:
+ * @code
+ *    $wgMessagesDirs['VisualEditor'] = array(
+ *        __DIR__ . '/i18n',
+ *        __DIR__ . '/modules/ve-core/i18n',
+ *        __DIR__ . '/modules/qunit/localisation',
+ *        __DIR__ . '/modules/oojs-ui/messages',
+ *    )
+ * @endcode
+ * @since 1.23
+ */
+$wgMessagesDirs = array();
+
 /**
  * Array of files with list(s) of extension entry points to be used in
  * maintenance/mergeMessageFileList.php
index 5a1ef6c..b2a8f5e 100644 (file)
@@ -4160,3 +4160,56 @@ function wfCanIPUseHTTPS( $ip ) {
        wfRunHooks( 'CanIPUseHTTPS', array( $ip, &$canDo ) );
        return !!$canDo;
 }
+
+/**
+ * Work out the IP address based on various globals
+ * For trusted proxies, use the XFF client IP (first of the chain)
+ *
+ * @deprecated in 1.19; call $wgRequest->getIP() directly.
+ * @return string
+ */
+function wfGetIP() {
+       wfDeprecated( __METHOD__, '1.19' );
+       global $wgRequest;
+       return $wgRequest->getIP();
+}
+
+/**
+ * Checks if an IP is a trusted proxy provider.
+ * Useful to tell if X-Forwarded-For data is possibly bogus.
+ * Squid cache servers for the site are whitelisted.
+ *
+ * @param $ip String
+ * @return bool
+ */
+function wfIsTrustedProxy( $ip ) {
+       $trusted = wfIsConfiguredProxy( $ip );
+       wfRunHooks( 'IsTrustedProxy', array( &$ip, &$trusted ) );
+       return $trusted;
+}
+
+/**
+ * Checks if an IP matches a proxy we've configured.
+ * @param $ip String
+ * @return bool
+ * @since 1.23 Supports CIDR ranges in $wgSquidServersNoPurge
+ */
+function wfIsConfiguredProxy( $ip ) {
+       global $wgSquidServers, $wgSquidServersNoPurge;
+
+       // quick check of known proxy servers
+       $trusted = in_array( $ip, $wgSquidServers )
+               || in_array( $ip, $wgSquidServersNoPurge );
+
+       if ( !$trusted ) {
+               // slightly slower check to see if the ip is listed directly or in a CIDR
+               // block in $wgSquidServersNoPurge
+               foreach ( $wgSquidServersNoPurge as $block ) {
+                       if ( strpos( $block, '/' ) !== false && IP::isInRange( $ip, $block ) ) {
+                               $trusted = true;
+                               break;
+                       }
+               }
+       }
+       return $trusted;
+}
index 6fcb7ce..9093c83 100644 (file)
@@ -30,7 +30,7 @@
  * @ingroup HTTP
  */
 class Http {
-       static $httpEngine = false;
+       static public $httpEngine = false;
 
        /**
         * Perform an HTTP request
@@ -130,7 +130,8 @@ class Http {
                        $domainParts = array_reverse( $domainParts );
 
                        $domain = '';
-                       for ( $i = 0; $i < count( $domainParts ); $i++ ) {
+                       $countParts = count( $domainParts );
+                       for ( $i = 0; $i < $countParts; $i++ ) {
                                $domainPart = $domainParts[$i];
                                if ( $i == 0 ) {
                                        $domain = $domainPart;
@@ -294,8 +295,11 @@ class MWHttpRequest {
                                return new CurlHttpRequest( $url, $options );
                        case 'php':
                                if ( !wfIniGetBool( 'allow_url_fopen' ) ) {
-                                       throw new MWException( __METHOD__ . ': allow_url_fopen needs to be enabled for pure PHP' .
-                                               ' http requests to work. If possible, curl should be used instead. See http://php.net/curl.' );
+                                       throw new MWException( __METHOD__ . ': allow_url_fopen ' .
+                                               'needs to be enabled for pure PHP http requests to ' .
+                                               'work. If possible, curl should be used instead. See ' .
+                                               'http://php.net/curl.'
+                                       );
                                }
                                return new PhpHttpRequest( $url, $options );
                        default:
@@ -642,12 +646,16 @@ class MWHttpRequest {
        /**
         * Returns the final URL after all redirections.
         *
-        * Relative values of the "Location" header are incorrect as stated in RFC, however they do happen and modern browsers support them.
-        * This function loops backwards through all locations in order to build the proper absolute URI - Marooned at wikia-inc.com
+        * Relative values of the "Location" header are incorrect as
+        * stated in RFC, however they do happen and modern browsers
+        * support them.  This function loops backwards through all
+        * locations in order to build the proper absolute URI - Marooned
+        * at wikia-inc.com
         *
-        * Note that the multiple Location: headers are an artifact of CURL -- they
-        * shouldn't actually get returned this way. Rewrite this when bug 29232 is
-        * taken care of (high-level redirect handling rewrite).
+        * Note that the multiple Location: headers are an artifact of
+        * CURL -- they shouldn't actually get returned this way. Rewrite
+        * this when bug 29232 is taken care of (high-level redirect
+        * handling rewrite).
         *
         * @return string
         */
@@ -678,7 +686,8 @@ class MWHttpRequest {
                                } else {
                                        $url = parse_url( $this->url );
                                        if ( isset( $url['host'] ) ) {
-                                               return $url['scheme'] . '://' . $url['host'] . $locations[$countLocations - 1];
+                                               return $url['scheme'] . '://' . $url['host'] .
+                                                       $locations[$countLocations - 1];
                                        }
                                }
                        } else {
index 93cef53..997a948 100644 (file)
@@ -262,7 +262,9 @@ class ImagePage extends Article {
                                # @todo FIXME: Why is this using escapeId for a class?!
                                $class = Sanitizer::escapeId( $v['id'] );
                                if ( $type == 'collapsed' ) {
-                                       $class .= ' collapsable'; // sic
+                                       // Handled by mediawiki.action.view.metadata module
+                                       // and skins/common/shared.css.
+                                       $class .= ' collapsable';
                                }
                                $r .= "<tr class=\"$class\">\n";
                                $r .= "<th>{$v['name']}</th>\n";
@@ -314,7 +316,12 @@ class ImagePage extends Article {
 
                        $renderLang = $request->getVal( 'lang' );
                        if ( !is_null( $renderLang ) ) {
-                               $params['lang'] = $renderLang;
+                               $handler = $this->displayImg->getHandler();
+                               if ( $handler && $handler->validateParam( 'lang', $renderLang ) ) {
+                                       $params['lang'] = $renderLang;
+                               } else {
+                                       $renderLang = null;
+                               }
                        }
 
                        $width_orig = $this->displayImg->getWidth( $page );
@@ -989,7 +996,7 @@ EOT
                        } else {
                                $display = $code;
                        }
-                       $opts .= "\n" . XML::Option( $display, $code, $curLang === $code );
+                       $opts .= "\n" . Xml::option( $display, $code, $curLang === $code );
                        if ( $curLang === $code ) {
                                $haveCurrentLang = true;
                        }
@@ -1000,7 +1007,7 @@ EOT
                if ( !$haveDefaultLang ) {
                        // Its hard to know if the content is really in the default language, or
                        // if its just unmarked content that could be in any language.
-                       $opts = XML::Option( wfMessage( 'img-lang-default' )->text(), '', $defaultLang === $curLang ) . $opts;
+                       $opts = Xml::option( wfMessage( 'img-lang-default' )->text(), $defaultLang, $defaultLang === $curLang ) . $opts;
                }
                if ( !$haveCurrentLang && $defaultLang !== $curLang ) {
                        $name = Language::fetchLanguageName( $curLang, $this->getContext()->getLanguage()->getCode() );
@@ -1009,7 +1016,7 @@ EOT
                        } else {
                                $display = $curLang;
                        }
-                       $opts = XML::Option( $display, $curLang, true ) . $opts;
+                       $opts = Xml::option( $display, $curLang, true ) . $opts;
                }
 
                $select = Html::rawElement( 'select', array( 'id' => 'mw-imglangselector', 'name' => 'lang' ), $opts );
index 1b36193..dd22844 100644 (file)
@@ -817,10 +817,12 @@ class Message {
                        } elseif ( isset( $param['bitrate'] ) ) {
                                return array( 'before', $this->language->formatBitrate( $param['bitrate'] ) );
                        } else {
-                               trigger_error(
-                                       "Invalid message parameter: " . htmlspecialchars( serialize( $param ) ),
-                                       E_USER_WARNING
-                               );
+                               $warning = 'Invalid parameter for message "' . $this->getKey() . '": ' .
+                                       htmlspecialchars( serialize( $param ) );
+                               trigger_error( $warning, E_USER_WARNING );
+                               $e = new Exception;
+                               wfDebugLog( 'Bug58676', $warning . "\n" . $e->getTraceAsString() );
+
                                return array( 'before', '[INVALID]' );
                        }
                } elseif ( $param instanceof Message ) {
index eac70a3..b6a8d24 100644 (file)
@@ -2484,7 +2484,7 @@ $templates
                $userdir = $this->getLanguage()->getDir();
                $sitedir = $wgContLang->getDir();
 
-               $ret = Html::htmlHeader( array( 'lang' => $this->getLanguage()->getHtmlCode(), 'dir' => $userdir, 'class' => 'client-nojs' ) );
+               $ret = Html::htmlHeader( $sk->getHtmlElementAttributes() );
 
                if ( $this->getHTMLTitle() == '' ) {
                        $this->setHTMLTitle( $this->msg( 'pagetitle', $this->getPageTitle() )->inContentLanguage() );
index e4c7a81..3ff99fc 100644 (file)
@@ -403,7 +403,12 @@ class Preferences {
                }
 
                // show a preview of the old signature first
-               $oldsigWikiText = $wgParser->preSaveTransform( "~~~", $context->getTitle(), $user, ParserOptions::newFromContext( $context ) );
+               $oldsigWikiText = $wgParser->preSaveTransform(
+                       '~~~',
+                       $context->getTitle(),
+                       $user,
+                       ParserOptions::newFromContext( $context )
+               );
                $oldsigHTML = $context->getOutput()->parseInline( $oldsigWikiText, true, true );
                $defaultPreferences['oldsig'] = array(
                        'type' => 'info',
@@ -423,7 +428,8 @@ class Preferences {
                $defaultPreferences['fancysig'] = array(
                        'type' => 'toggle',
                        'label-message' => 'tog-fancysig',
-                       'help-message' => 'prefs-help-signature', // show general help about signature at the bottom of the section
+                       // show general help about signature at the bottom of the section
+                       'help-message' => 'prefs-help-signature',
                        'section' => 'personal/signature'
                );
 
@@ -1135,7 +1141,10 @@ class Preferences {
                                $linkTools[] = Linker::link( $jsPage, $context->msg( 'prefs-custom-js' )->escaped() );
                        }
 
-                       $display = $sn . ' ' . $context->msg( 'parentheses', $context->getLanguage()->pipeList( $linkTools ) )->text();
+                       $display = $sn . ' ' . $context->msg(
+                               'parentheses',
+                               $context->getLanguage()->pipeList( $linkTools )
+                       )->text();
                        $ret[$display] = $skinkey;
                }
 
@@ -1226,8 +1235,13 @@ class Preferences {
                                $form->msg( 'badsiglength' )->numParams( $wgMaxSigChars )->text() );
                } elseif ( isset( $alldata['fancysig'] ) &&
                                $alldata['fancysig'] &&
-                               false === $wgParser->validateSig( $signature ) ) {
-                       return Xml::element( 'span', array( 'class' => 'error' ), $form->msg( 'badsig' )->text() );
+                               $wgParser->validateSig( $signature ) === false
+               ) {
+                       return Xml::element(
+                               'span',
+                               array( 'class' => 'error' ),
+                               $form->msg( 'badsig' )->text()
+                       );
                } else {
                        return true;
                }
@@ -1258,7 +1272,12 @@ class Preferences {
         * @param array $remove array of items to remove
         * @return HtmlForm
         */
-       static function getFormObject( $user, IContextSource $context, $formClass = 'PreferencesForm', array $remove = array() ) {
+       static function getFormObject(
+               $user,
+               IContextSource $context,
+               $formClass = 'PreferencesForm',
+               array $remove = array()
+       ) {
                $formDescriptor = Preferences::getPreferences( $user, $context );
                if ( count( $remove ) ) {
                        $removeKeys = array_flip( $remove );
@@ -1299,9 +1318,16 @@ class Preferences {
                $timestamp = MWTimestamp::getLocalInstance();
                // Check that $wgLocalTZoffset is the same as the local time zone offset
                if ( $wgLocalTZoffset == $timestamp->format( 'Z' ) / 60 ) {
-                       $server_tz_msg = $context->msg( 'timezoneuseserverdefault', $timestamp->getTimezone()->getName() )->text();
+                       $server_tz_msg = $context->msg(
+                               'timezoneuseserverdefault',
+                               $timestamp->getTimezone()->getName()
+                       )->text();
                } else {
-                       $tzstring = sprintf( '%+03d:%02d', floor( $wgLocalTZoffset / 60 ), abs( $wgLocalTZoffset ) % 60 );
+                       $tzstring = sprintf(
+                               '%+03d:%02d',
+                               floor( $wgLocalTZoffset / 60 ),
+                               abs( $wgLocalTZoffset ) % 60
+                       );
                        $server_tz_msg = $context->msg( 'timezoneuseserverdefault', $tzstring )->text();
                }
                $opt[$server_tz_msg] = "System|$wgLocalTZoffset";
diff --git a/includes/ProxyTools.php b/includes/ProxyTools.php
deleted file mode 100644 (file)
index a0f9e5f..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-/**
- * Functions for dealing with proxies.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- */
-
-/**
- * Extracts the XFF string from the request header
- * Note: headers are spoofable
- *
- * @deprecated in 1.19; use $wgRequest->getHeader( 'X-Forwarded-For' ) instead.
- * @return string
- */
-function wfGetForwardedFor() {
-       wfDeprecated( __METHOD__, '1.19' );
-       global $wgRequest;
-       return $wgRequest->getHeader( 'X-Forwarded-For' );
-}
-
-/**
- * Returns the browser/OS data from the request header
- * Note: headers are spoofable
- *
- * @deprecated in 1.18; use $wgRequest->getHeader( 'User-Agent' ) instead.
- * @return string
- */
-function wfGetAgent() {
-       wfDeprecated( __METHOD__, '1.18' );
-       global $wgRequest;
-       return $wgRequest->getHeader( 'User-Agent' );
-}
-
-/**
- * Work out the IP address based on various globals
- * For trusted proxies, use the XFF client IP (first of the chain)
- *
- * @deprecated in 1.19; call $wgRequest->getIP() directly.
- * @return string
- */
-function wfGetIP() {
-       wfDeprecated( __METHOD__, '1.19' );
-       global $wgRequest;
-       return $wgRequest->getIP();
-}
-
-/**
- * Checks if an IP is a trusted proxy provider.
- * Useful to tell if X-Forwarded-For data is possibly bogus.
- * Squid cache servers for the site are whitelisted.
- *
- * @param $ip String
- * @return bool
- */
-function wfIsTrustedProxy( $ip ) {
-       $trusted = wfIsConfiguredProxy( $ip );
-       wfRunHooks( 'IsTrustedProxy', array( &$ip, &$trusted ) );
-       return $trusted;
-}
-
-/**
- * Checks if an IP matches a proxy we've configured.
- * @param $ip String
- * @return bool
- * @since 1.23 Supports CIDR ranges in $wgSquidServersNoPurge
- */
-function wfIsConfiguredProxy( $ip ) {
-       global $wgSquidServers, $wgSquidServersNoPurge;
-
-       // quick check of known proxy servers
-       $trusted = in_array( $ip, $wgSquidServers )
-               || in_array( $ip, $wgSquidServersNoPurge );
-
-       if ( !$trusted ) {
-               // slightly slower check to see if the ip is listed directly or in a CIDR
-               // block in $wgSquidServersNoPurge
-               foreach ( $wgSquidServersNoPurge as $block ) {
-                       if ( strpos( $block, '/' ) !== false && IP::isInRange( $ip, $block ) ) {
-                               $trusted = true;
-                               break;
-                       }
-               }
-       }
-       return $trusted;
-}
index b8e4e60..a904c24 100644 (file)
@@ -295,14 +295,11 @@ abstract class QueryPage extends SpecialPage {
 
                $fname = get_class( $this ) . '::recache';
                $dbw = wfGetDB( DB_MASTER );
-               $dbr = wfGetDB( DB_SLAVE, array( $this->getName(), __METHOD__, 'vslow' ) );
-               if ( !$dbw || !$dbr ) {
+               if ( !$dbw ) {
                        return false;
                }
 
                try {
-                       # Clear out any old cached data
-                       $dbw->delete( 'querycache', array( 'qc_type' => $this->getName() ), $fname );
                        # Do query
                        $res = $this->reallyDoQuery( $limit, false );
                        $num = false;
@@ -310,7 +307,7 @@ abstract class QueryPage extends SpecialPage {
                                $num = $res->numRows();
                                # Fetch results
                                $vals = array();
-                               while ( $res && $row = $dbr->fetchObject( $res ) ) {
+                               foreach ( $res as $row ) {
                                        if ( isset( $row->value ) ) {
                                                if ( $this->usesTimestamps() ) {
                                                        $value = wfTimestamp( TS_UNIX,
@@ -328,6 +325,9 @@ abstract class QueryPage extends SpecialPage {
                                                        'qc_value' => $value );
                                }
 
+                               $dbw->begin( __METHOD__ );
+                               # Clear out any old cached data
+                               $dbw->delete( 'querycache', array( 'qc_type' => $this->getName() ), $fname );
                                # Save results into the querycache table on the master
                                if ( count( $vals ) ) {
                                        $dbw->insert( 'querycache', $vals, __METHOD__ );
@@ -337,6 +337,7 @@ abstract class QueryPage extends SpecialPage {
                                $dbw->insert( 'querycache_info',
                                        array( 'qci_type' => $this->getName(), 'qci_timestamp' => $dbw->timestamp() ),
                                        $fname );
+                               $dbw->commit( __METHOD__ );
                        }
                } catch ( DBError $e ) {
                        if ( !$ignoreErrors ) {
@@ -348,6 +349,13 @@ abstract class QueryPage extends SpecialPage {
                return $num;
        }
 
+       /**
+        * Get a DB connection to be used for slow recache queries
+        */
+       function getRecacheDB() {
+               return wfGetDB( DB_SLAVE, array( $this->getName(), 'QueryPage::recache', 'vslow' ) );
+       }
+
        /**
         * Run the query and return the result
         * @param int|bool $limit Numerical limit or false for no limit
@@ -357,7 +365,7 @@ abstract class QueryPage extends SpecialPage {
         */
        function reallyDoQuery( $limit, $offset = false ) {
                $fname = get_class( $this ) . "::reallyDoQuery";
-               $dbr = wfGetDB( DB_SLAVE );
+               $dbr = $this->getRecacheDB();
                $query = $this->getQueryInfo();
                $order = $this->getOrderFields();
 
index f75ee29..531d1a4 100644 (file)
@@ -36,6 +36,7 @@ if ( !defined( 'MEDIAWIKI' ) ) {
 
 $fname = 'Setup.php';
 wfProfileIn( $fname );
+wfProfileIn( $fname  . '-defaults' );
 
 // Check to see if we are at the file scope
 if ( !isset( $wgVersion ) ) {
@@ -247,11 +248,6 @@ foreach ( $wgForeignFileRepos as &$repo ) {
 }
 unset( $repo ); // no global pollution; destroy reference
 
-if ( is_null( $wgEnableAutoRotation ) ) {
-       // Only enable auto-rotation when the bitmap handler can rotate
-       $wgEnableAutoRotation = BitmapHandler::canRotate();
-}
-
 if ( $wgRCFilterByAge ) {
        # # Trim down $wgRCLinkDays so that it only lists links which are valid
        # # as determined by $wgRCMaxAge.
@@ -401,11 +397,15 @@ if ( $wgRC2UDPAddress ) {
        );
 }
 
+wfProfileOut( $fname  . '-defaults' );
+
 // Disable MWDebug for command line mode, this prevents MWDebug from eating up
 // all the memory from logging SQL queries on maintenance scripts
 global $wgCommandLineMode;
 if ( $wgDebugToolbar && !$wgCommandLineMode ) {
+       wfProfileIn( $fname . '-debugtoolbar' );
        MWDebug::init();
+       wfProfileOut( $fname . '-debugtoolbar' );
 }
 
 if ( !class_exists( 'AutoLoader' ) ) {
@@ -419,10 +419,10 @@ wfProfileOut( $fname . '-exception' );
 wfProfileIn( $fname . '-includes' );
 require_once "$IP/includes/normal/UtfNormalUtil.php";
 require_once "$IP/includes/GlobalFunctions.php";
-require_once "$IP/includes/ProxyTools.php";
 require_once "$IP/includes/normal/UtfNormalDefines.php";
 wfProfileOut( $fname . '-includes' );
 
+wfProfileIn( $fname . '-defaults2' );
 if ( $wgSecureLogin && substr( $wgServer, 0, 2 ) !== '//' ) {
        $wgSecureLogin = false;
        wfWarn( 'Secure login was enabled on a server that only supports HTTP or HTTPS. Disabling secure login.' );
@@ -431,7 +431,9 @@ if ( $wgSecureLogin && substr( $wgServer, 0, 2 ) !== '//' ) {
 # Now that GlobalFunctions is loaded, set defaults that depend
 # on it.
 if ( $wgTmpDirectory === false ) {
+       wfProfileIn( $fname . '-tempDir' );
        $wgTmpDirectory = wfTempDir();
+       wfProfileOut( $fname . '-tempDir' );
 }
 
 if ( $wgCanonicalServer === false ) {
@@ -455,6 +457,7 @@ if ( !$wgHTCPRouting && $wgHTCPMulticastAddress ) {
        );
 }
 
+wfProfileOut( $fname . '-defaults2' );
 wfProfileIn( $fname . '-misc1' );
 
 # Raise the memory limit if it's too low
index 946e698..6722cca 100644 (file)
@@ -453,6 +453,19 @@ abstract class Skin extends ContextSource {
                return "$numeric $type $name";
        }
 
+       /*
+        * Return values for <html> element
+        * @return array of associative name-to-value elements for <html> element
+        */
+       public function getHtmlElementAttributes() {
+               $lang = $this->getLanguage();
+               return array(
+                       'lang' => $lang->getHtmlCode(),
+                       'dir' => $lang->getDir(),
+                       'class' => 'client-nojs',
+               );
+       }
+
        /**
         * This will be called by OutputPage::headElement when it is creating the
         * "<body>" tag, skins can override it if they have a need to add in any
index da4c376..3ad2f8e 100644 (file)
@@ -247,7 +247,6 @@ class SkinTemplate extends Skin {
                }
 
                $out = $this->getOutput();
-               $user = $this->getUser();
 
                wfProfileIn( __METHOD__ . '-init' );
                $this->initPage( $out );
@@ -272,10 +271,9 @@ class SkinTemplate extends Skin {
         * initialize various variables and generate the template
         *
         * @since 1.23
-        * @param $out OutputPage
         * @return QuickTemplate the template to be executed by outputPage
         */
-       protected function prepareQuickTemplate( OutputPage $out = null ) {
+       protected function prepareQuickTemplate() {
                global $wgContLang, $wgScript, $wgStylePath,
                        $wgMimeType, $wgJsMimeType, $wgXhtmlNamespaces, $wgHtml5Version,
                        $wgDisableCounters, $wgSitename, $wgLogo, $wgMaxCredits,
@@ -286,6 +284,7 @@ class SkinTemplate extends Skin {
 
                $title = $this->getTitle();
                $request = $this->getRequest();
+               $out = $this->getOutput();
                $tpl = $this->setupTemplateForOutput();
 
                wfProfileIn( __METHOD__ . '-stuff-head' );
index 30eb129..aa5ac87 100644 (file)
@@ -109,7 +109,7 @@ class SpecialPageFactory {
                'Watchlist'                 => 'SpecialWatchlist',
                'Newpages'                  => 'SpecialNewpages',
                'Recentchanges'             => 'SpecialRecentChanges',
-               'Recentchangeslinked'       => 'SpecialRecentchangeslinked',
+               'Recentchangeslinked'       => 'SpecialRecentChangesLinked',
                'Tags'                      => 'SpecialTags',
 
                // Media reports and uploads
index a949ac3..1d13f4b 100644 (file)
@@ -79,8 +79,8 @@ class Title {
        var $mTitleProtection;            ///< Cached value for getTitleProtection (create protection)
        # Don't change the following default, NS_MAIN is hardcoded in several
        # places.  See bug 696.
+       # Zero except in {{transclusion}} tags
        var $mDefaultNamespace = NS_MAIN; // /< Namespace index when there is no namespace
-                                                                         # Zero except in {{transclusion}} tags
        var $mWatched = null;             // /< Is $wgUser watching this page? null if unfilled, accessed through userIsWatching()
        var $mLength = -1;                // /< The page length, 0 for special pages
        var $mRedirect = null;            // /< Is the article at this title a redirect?
@@ -769,7 +769,12 @@ class Title {
         * @return String DB key
         */
        function getUserCaseDBKey() {
-               return $this->mUserCaseDBKey;
+               if ( !is_null( $this->mUserCaseDBKey ) ) {
+                       return $this->mUserCaseDBKey;
+               } else {
+                       // If created via makeTitle(), $this->mUserCaseDBKey is not set.
+                       return $this->mDbkeyform;
+               }
        }
 
        /**
index 90fb861..cc130d2 100644 (file)
@@ -56,7 +56,7 @@ abstract class TitleArray implements Iterator {
        }
 }
 
-class TitleArrayFromResult extends TitleArray {
+class TitleArrayFromResult extends TitleArray implements Countable {
 
        /**
         * @var ResultWrapper
index a2e7023..e7c5a32 100644 (file)
@@ -1041,7 +1041,7 @@ class User {
        /**
         * Initialize this object from a row from the user table.
         *
-        * @param array $row Row from the user table to load.
+        * @param stdClass $row Row from the user table to load.
         * @param array $data Further user data to load into the object
         *
         *      user_groups             Array with groups out of the user_groups table
index 1f55ef3..90d1134 100644 (file)
@@ -47,8 +47,12 @@ abstract class UserArray implements Iterator {
                        return new ArrayIterator( array() );
                }
                $dbr = wfGetDB( DB_SLAVE );
-               $res = $dbr->select( 'user', '*', array( 'user_id' => $ids ),
-                       __METHOD__ );
+               $res = $dbr->select(
+                       'user',
+                       User::selectFields(),
+                       array( 'user_id' => array_unique( $ids ) ),
+                       __METHOD__
+               );
                return self::newFromResult( $res );
        }
 
@@ -61,7 +65,7 @@ abstract class UserArray implements Iterator {
        }
 }
 
-class UserArrayFromResult extends UserArray {
+class UserArrayFromResult extends UserArray implements Countable {
 
        /**
         * @var ResultWrapper
index 7afc65c..0d987aa 100644 (file)
@@ -2017,6 +2017,11 @@ class WikiPage implements Page, IDBAccessObject {
                $user = is_null( $user ) ? $wgUser : $user;
                //XXX: check $user->getId() here???
 
+               // Use a sane default for $serialization_format, see bug 57026
+               if ( $serialization_format === null ) {
+                       $serialization_format = $content->getContentHandler()->getDefaultFormat();
+               }
+
                if ( $this->mPreparedEdit
                        && $this->mPreparedEdit->newContent
                        && $this->mPreparedEdit->newContent->equals( $content )
index df98836..a62df6c 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * Simplified / Traditional Chinese conversion tables
  *
- * Automatically generated using code and data in includes/zhtable/
+ * Automatically generated using code and data in maintenance/language/zhtable/
  * Do not modify directly!
  *
  * @file
index 88904c0..a323aad 100644 (file)
@@ -249,6 +249,10 @@ class ApiParse extends ApiBase {
                        $result_array['redirects'] = $redirValues;
                }
 
+               if ( $params['disabletoc'] ) {
+                       $p_result->setTOCEnabled( false );
+               }
+
                if ( isset( $prop['text'] ) ) {
                        $result_array['text'] = array();
                        ApiResult::setContent( $result_array['text'], $p_result->getText() );
@@ -691,6 +695,7 @@ class ApiParse extends ApiBase {
                        'generatexml' => false,
                        'preview' => false,
                        'sectionpreview' => false,
+                       'disabletoc' => false,
                        'contentformat' => array(
                                ApiBase::PARAM_TYPE => ContentHandler::getAllContentFormats(),
                        ),
@@ -753,6 +758,7 @@ class ApiParse extends ApiBase {
                        'generatexml' => "Generate XML parse tree (requires contentmodel=$wikitext)",
                        'preview' => 'Parse in preview mode',
                        'sectionpreview' => 'Parse in section preview mode (enables preview mode too)',
+                       'disabletoc' => 'Disable table of contents in output',
                        'contentformat' => array(
                                'Content serialization format used for the input text',
                                "Only valid when used with {$p}text",
index e990386..0d54ffe 100644 (file)
@@ -60,7 +60,6 @@ class ApiQueryRandom extends ApiQueryGeneratorBase {
                $this->addWhereFld( 'page_namespace', $namespace );
                $this->addWhereRange( 'page_random', 'newer', $randstr, null );
                $this->addWhereFld( 'page_is_redirect', $redirect );
-               $this->addOption( 'USE INDEX', 'page_random' );
                if ( is_null( $resultPageSet ) ) {
                        $this->addFields( array( 'page_id', 'page_title', 'page_namespace' ) );
                } else {
index be98a21..2bd7321 100644 (file)
@@ -61,10 +61,13 @@ class ApiUserrights extends ApiBase {
                }
 
                $params = $this->extractRequestParams();
+               $this->requireOnlyOneParameter( $params, 'user', 'userid' );
+
+               $user = isset( $params['user'] ) ? $params['user'] : '#' . $params['userid'];
 
                $form = new UserrightsPage;
                $form->setContext( $this->getContext() );
-               $status = $form->fetchUser( $params['user'] );
+               $status = $form->fetchUser( $user );
                if ( !$status->isOK() ) {
                        $this->dieStatus( $status );
                }
@@ -86,7 +89,9 @@ class ApiUserrights extends ApiBase {
                return array(
                        'user' => array(
                                ApiBase::PARAM_TYPE => 'string',
-                               ApiBase::PARAM_REQUIRED => true
+                       ),
+                       'userid' => array(
+                               ApiBase::PARAM_TYPE => 'integer',
                        ),
                        'add' => array(
                                ApiBase::PARAM_TYPE => User::getAllGroups(),
@@ -109,6 +114,7 @@ class ApiUserrights extends ApiBase {
        public function getParamDescription() {
                return array(
                        'user' => 'User name',
+                       'userid' => 'User id',
                        'add' => 'Add the user to these groups',
                        'remove' => 'Remove the user from these groups',
                        'token' => 'A userrights token previously retrieved through list=users',
@@ -130,7 +136,8 @@ class ApiUserrights extends ApiBase {
 
        public function getExamples() {
                return array(
-                       'api.php?action=userrights&user=FooBot&add=bot&remove=sysop|bureaucrat&token=123ABC'
+                       'api.php?action=userrights&user=FooBot&add=bot&remove=sysop|bureaucrat&token=123ABC',
+                       'api.php?action=userrights&userid=123&add=bot&remove=sysop|bureaucrat&token=123ABC'
                );
        }
 
index e18c64b..55c4c58 100644 (file)
@@ -527,6 +527,36 @@ class LocalisationCache {
                return $data;
        }
 
+       /**
+        * Read a JSON file containing localisation messages.
+        * @param string $fileName Name of file to read
+        * @throws MWException if there is a syntax error in the JSON file
+        * @return array with a 'messages' key, or empty array if the file doesn't exist
+        */
+       protected function readJSONFile( $fileName ) {
+               wfProfileIn( __METHOD__ );
+               if ( !is_readable( $fileName ) ) {
+                       return array();
+               }
+
+               $json = file_get_contents( $fileName );
+               if ( $json === false ) {
+                       return array();
+               }
+               $data = FormatJson::decode( $json, true );
+               if ( $data === null ) {
+                       throw new MWException( __METHOD__ . ": Invalid JSON file: $fileName" );
+               }
+               // Remove keys starting with '@', they're reserved for metadata and non-message data
+               foreach ( $data as $key => $unused ) {
+                       if ( $key === '' || $key[0] === '@' ) {
+                               unset( $data[$key] );
+                       }
+               }
+               // The JSON format only supports messages, none of the other variables, so wrap the data
+               return array( 'messages' => $data );
+       }
+
        /**
         * Get the compiled plural rules for a given language from the XML files.
         * @since 1.20
@@ -740,7 +770,7 @@ class LocalisationCache {
         * @throws MWException
         */
        public function recache( $code ) {
-               global $wgExtensionMessagesFiles;
+               global $wgExtensionMessagesFiles, $wgMessagesDirs;
                wfProfileIn( __METHOD__ );
 
                if ( !$code ) {
@@ -814,11 +844,33 @@ class LocalisationCache {
                # like site-specific message overrides.
                wfProfileIn( __METHOD__ . '-extensions' );
                $allData = $initialData;
-               foreach ( $wgExtensionMessagesFiles as $fileName ) {
+               foreach ( $wgMessagesDirs as $dirs ) {
+                       foreach ( (array)$dirs as $dir ) {
+                               foreach ( $codeSequence as $csCode ) {
+                                       $fileName = "$dir/$csCode.json";
+                                       $data = $this->readJSONFile( $fileName );
+
+                                       foreach ( $data as $key => $item ) {
+                                               $this->mergeItem( $key, $allData[$key], $item );
+                                       }
+
+                                       $deps[] = new FileDependency( $fileName );
+                               }
+                       }
+               }
+
+               foreach ( $wgExtensionMessagesFiles as $extension => $fileName ) {
                        $data = $this->readPHPFile( $fileName, 'extension' );
                        $used = false;
 
                        foreach ( $data as $key => $item ) {
+                               if ( $key === 'messages' && isset( $wgMessagesDirs[$extension] ) ) {
+                                       # For backwards compatibility, ignore messages from extensions in
+                                       # $wgExtensionMessagesFiles that are also present in $wgMessagesDirs.
+                                       # This allows extensions to use both and be backwards compatible.
+                                       # Variables other than $messages still need to be supported though.
+                                       continue;
+                               }
                                if ( $this->mergeExtensionItem( $codeSequence, $key, $allData[$key], $item ) ) {
                                        $used = true;
                                }
@@ -837,6 +889,7 @@ class LocalisationCache {
 
                # Add cache dependencies for any referenced globals
                $deps['wgExtensionMessagesFiles'] = new GlobalDependency( 'wgExtensionMessagesFiles' );
+               $deps['wgMessagesDirs'] = new GlobalDependency( 'wgMessagesDirs' );
                $deps['version'] = new ConstantDependency( 'MW_LC_VERSION' );
 
                # Add dependencies to the cache entry
index 3539d8f..26d3ec4 100644 (file)
@@ -28,6 +28,7 @@
  *
  * @see ProcessCacheLRU
  * @ingroup Cache
+ * @since 1.23
  */
 class MapCacheLRU {
        /** @var Array */
index 470b150..107e2c4 100644 (file)
@@ -161,6 +161,7 @@ class ChangesList extends ContextSource {
                $this->lastdate = '';
                $this->rclistOpen = false;
                $this->getOutput()->addModuleStyles( 'mediawiki.special.changeslist' );
+               $this->getOutput()->addModules( 'mediawiki.special.changeslist.js' );
 
                return '<div class="mw-changeslist">';
        }
index 1c3a0fb..99cf0de 100644 (file)
@@ -41,6 +41,7 @@ class EnhancedChangesList extends ChangesList {
                $this->getOutput()->addModules( array(
                        'jquery.makeCollapsible',
                        'mediawiki.icon',
+                       'mediawiki.special.changeslist.js',
                ) );
 
                return '<div class="mw-changeslist">';
index 0ef71c4..f1f2578 100644 (file)
@@ -84,7 +84,7 @@ class RecentChange {
         */
        private $mPerformer = false;
 
-       public $numberofWatchingusers = 0; # Dummy to prevent error message in SpecialRecentchangeslinked
+       public $numberofWatchingusers = 0; # Dummy to prevent error message in SpecialRecentChangesLinked
        public $notificationtimestamp;
 
        /**
index 537deac..8a6718f 100644 (file)
@@ -210,7 +210,7 @@ class RedisConnectionPool {
                        }
                } catch ( RedisException $e ) {
                        $this->downServers[$server] = time() + self::SERVER_DOWN_TTL;
-                       wfDebugLog( 'redis', "Redis exception: " . $e->getMessage() . "\n" );
+                       wfDebugLog( 'redis', "Redis exception connecting to $server: " . $e->getMessage() . "\n" );
 
                        return false;
                }
index d03d61e..068b150 100644 (file)
@@ -38,7 +38,7 @@ class TextContent extends AbstractContent {
 
                if ( $text === null || $text === false ) {
                        wfWarn( "TextContent constructed with \$text = " . var_export( $text, true ) . "! "
-                               . "This may indicate an error in the caller's scope." );
+                               . "This may indicate an error in the caller's scope.", 2 );
 
                        $text = '';
                }
@@ -151,7 +151,7 @@ class TextContent extends AbstractContent {
                $text = $this->getNativeData();
                $pst = rtrim( $text );
 
-               return ( $text === $pst ) ? $this : new WikitextContent( $pst );
+               return ( $text === $pst ) ? $this : new static( $pst );
        }
 
        /**
index fa12595..3388297 100644 (file)
@@ -1762,20 +1762,6 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                return (bool)$res;
        }
 
-       /**
-        * mysql_field_type() wrapper
-        * @param $res
-        * @param $index
-        * @return string
-        */
-       public function fieldType( $res, $index ) {
-               if ( $res instanceof ResultWrapper ) {
-                       $res = $res->result;
-               }
-
-               return mysql_field_type( $res, $index );
-       }
-
        /**
         * Determines if a given index is unique
         *
index e253f91..b600d94 100644 (file)
@@ -171,6 +171,10 @@ class DatabaseMysql extends DatabaseMysqlBase {
                return mysql_field_name( $res, $n );
        }
 
+       protected function mysqlFieldType( $res, $n ) {
+               return mysql_field_type( $res, $n );
+       }
+
        protected function mysqlDataSeek( $res, $row ) {
                return mysql_data_seek( $res, $row );
        }
index 61b9a17..3125325 100644 (file)
@@ -302,7 +302,7 @@ abstract class DatabaseMysqlBase extends DatabaseBase {
 
        /**
         * @param $res ResultWrapper
-        * @param $n string
+        * @param $n int
         * @return string
         */
        function fieldName( $res, $n ) {
@@ -322,6 +322,29 @@ abstract class DatabaseMysqlBase extends DatabaseBase {
         */
        abstract protected function mysqlFieldName( $res, $n );
 
+       /**
+        * mysql_field_type() wrapper
+        * @param $res
+        * @param $n int
+        * @return string
+        */
+       public function fieldType( $res, $n ) {
+               if ( $res instanceof ResultWrapper ) {
+                       $res = $res->result;
+               }
+
+               return $this->mysqlFieldType( $res, $n );
+       }
+
+       /**
+        * Get the type of the specified field in a result
+        *
+        * @param $res Raw result
+        * @param $n int
+        * @return string
+        */
+       abstract protected function mysqlFieldType( $res, $n );
+
        /**
         * @param $res ResultWrapper
         * @param $row
index 9f18da3..6c83adb 100644 (file)
@@ -188,6 +188,11 @@ class DatabaseMysqli extends DatabaseMysqlBase {
                return $field->name;
        }
 
+       protected function mysqlFieldType( $res, $n ) {
+               $field = $res->fetch_field_direct( $n );
+               return $field->type;
+       }
+
        protected function mysqlDataSeek( $res, $row ) {
                return $res->data_seek( $row );
        }
index f80a4ad..c47eced 100644 (file)
@@ -836,6 +836,9 @@ class MappedDiff extends Diff {
  * @ingroup DifferenceEngine
  */
 class HWLDFWordAccumulator {
+       public $insClass = ' class="diffchange diffchange-inline"';
+       public $delClass = ' class="diffchange diffchange-inline"';
+
        private $lines = array();
        private $line = '';
        private $group = '';
@@ -847,10 +850,10 @@ class HWLDFWordAccumulator {
        private function flushGroup( $new_tag ) {
                if ( $this->group !== '' ) {
                        if ( $this->tag == 'ins' ) {
-                               $this->line .= '<ins class="diffchange diffchange-inline">' .
+                               $this->line .= "<ins{$this->insClass}>" .
                                        htmlspecialchars( $this->group ) . '</ins>';
                        } elseif ( $this->tag == 'del' ) {
-                               $this->line .= '<del class="diffchange diffchange-inline">' .
+                               $this->line .= "<del{$this->delClass}>" .
                                        htmlspecialchars( $this->group ) . '</del>';
                        } else {
                                $this->line .= htmlspecialchars( $this->group );
diff --git a/includes/filebackend/MemoryFileBackend.php b/includes/filebackend/MemoryFileBackend.php
new file mode 100644 (file)
index 0000000..3924c12
--- /dev/null
@@ -0,0 +1,258 @@
+<?php
+/**
+ * Simulation of a backend storage in memory.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup FileBackend
+ * @author Aaron Schulz
+ */
+
+/**
+ * Simulation of a backend storage in memory.
+ *
+ * All data in the backend is automatically deleted at the end of PHP execution.
+ * Since the data stored here is volatile, this is only useful for staging or testing.
+ *
+ * @ingroup FileBackend
+ * @since 1.23
+ */
+class MemoryFileBackend extends FileBackendStore {
+       /** @var array Map of (file path => (data,mtime) */
+       protected $files = array();
+
+       public function isPathUsableInternal( $storagePath ) {
+               return true;
+       }
+
+       protected function doCreateInternal( array $params ) {
+               $status = Status::newGood();
+
+               $dst = $this->resolveHashKey( $params['dst'] );
+               if ( $dst === null ) {
+                       $status->fatal( 'backend-fail-invalidpath', $params['dst'] );
+                       return $status;
+               }
+
+               $this->files[$dst] = array(
+                       'data'  => $params['content'],
+                       'mtime' => wfTimestamp( TS_MW, time() )
+               );
+
+               return $status;
+       }
+
+       protected function doStoreInternal( array $params ) {
+               $status = Status::newGood();
+
+               $dst = $this->resolveHashKey( $params['dst'] );
+               if ( $dst === null ) {
+                       $status->fatal( 'backend-fail-invalidpath', $params['dst'] );
+                       return $status;
+               }
+
+               wfSuppressWarnings();
+               $data = file_get_contents( $params['src'] );
+               wfRestoreWarnings();
+               if ( $data === false ) { // source doesn't exist?
+                       $status->fatal( 'backend-fail-store', $params['src'], $params['dst'] );
+                       return $status;
+               }
+
+               $this->files[$dst] = array(
+                       'data'  => $data,
+                       'mtime' => wfTimestamp( TS_MW, time() )
+               );
+
+               return $status;
+       }
+
+       protected function doCopyInternal( array $params ) {
+               $status = Status::newGood();
+
+               $src = $this->resolveHashKey( $params['src'] );
+               if ( $src === null ) {
+                       $status->fatal( 'backend-fail-invalidpath', $params['src'] );
+                       return $status;
+               }
+
+               $dst = $this->resolveHashKey( $params['dst'] );
+               if ( $dst === null ) {
+                       $status->fatal( 'backend-fail-invalidpath', $params['dst'] );
+                       return $status;
+               }
+
+               if ( !isset( $this->files[$src] ) ) {
+                       if ( empty( $params['ignoreMissingSource'] ) ) {
+                               $status->fatal( 'backend-fail-copy', $params['src'], $params['dst'] );
+                       }
+                       return $status;
+               }
+
+               $this->files[$dst] = array(
+                       'data'  => $this->files[$src]['data'],
+                       'mtime' => wfTimestamp( TS_MW, time() )
+               );
+
+               return $status;
+       }
+
+       protected function doDeleteInternal( array $params ) {
+               $status = Status::newGood();
+
+               $src = $this->resolveHashKey( $params['src'] );
+               if ( $src === null ) {
+                       $status->fatal( 'backend-fail-invalidpath', $params['src'] );
+                       return $status;
+               }
+
+               if ( !isset( $this->files[$src] ) ) {
+                       if ( empty( $params['ignoreMissingSource'] ) ) {
+                               $status->fatal( 'backend-fail-delete', $params['src'] );
+                       }
+                       return $status;
+               }
+
+               unset( $this->files[$src] );
+
+               return $status;
+       }
+
+       protected function doGetFileStat( array $params ) {
+               $src = $this->resolveHashKey( $params['src'] );
+               if ( $src === null ) {
+                       return null;
+               }
+
+               if ( isset( $this->files[$src] ) ) {
+                       return array(
+                               'mtime' => $this->files[$src]['mtime'],
+                               'size'  => strlen( $this->files[$src]['data'] ),
+                       );
+               }
+
+               return false;
+       }
+
+       protected function doGetLocalCopyMulti( array $params ) {
+               $tmpFiles = array(); // (path => TempFSFile)
+               foreach ( $params['srcs'] as $srcPath ) {
+                       $src = $this->resolveHashKey( $srcPath );
+                       if ( $src === null || !isset( $this->files[$src] ) ) {
+                               $fsFile = null;
+                       } else {
+                               $fsFile = TempFSFile::factory( 'localcopy_' );
+                               if ( $fsFile ) {
+                                       $bytes = file_put_contents( $fsFile->getPath(), $this->files[$src]['data'] );
+                                       if ( $bytes !== strlen( $this->files[$src]['data'] ) ) {
+                                               $fsFile = null;
+                                       }
+                               }
+                       }
+                       $tmpFiles[$srcPath] = $fsFile;
+               }
+               return $tmpFiles;
+       }
+
+       protected function doStreamFile( array $params ) {
+               $status = Status::newGood();
+
+               $src = $this->resolveHashKey( $params['src'] );
+               if ( $src === null || !isset( $this->files[$src] ) ) {
+                       $status->fatal( 'backend-fail-stream', $params['src'] );
+                       return $status;
+               }
+
+               print $this->files[$src]['data'];
+
+               return $status;
+       }
+
+       protected function doDirectoryExists( $container, $dir, array $params ) {
+               $prefix = rtrim( "$container/$dir", '/' ) . '/';
+               foreach ( $this->files as $path => $data ) {
+                       if ( strpos( $path, $prefix ) === 0 ) {
+                               return true;
+                       }
+               }
+               return false;
+       }
+
+       public function getDirectoryListInternal( $container, $dir, array $params ) {
+               $dirs = array();
+               $prefix = rtrim( "$container/$dir", '/' ) . '/';
+               $prefixLen = strlen( $prefix );
+               foreach ( $this->files as $path => $data ) {
+                       if ( strpos( $path, $prefix ) === 0 ) {
+                               $relPath = substr( $path, $prefixLen );
+                               if ( $relPath === false ) {
+                                       continue;
+                               } elseif ( strpos( $relPath, '/' ) === false ) {
+                                       continue; // just a file
+                               }
+                               $parts = array_slice( explode( '/', $relPath ), 0, -1 ); // last part is file name
+                               if ( !empty( $params['topOnly'] ) ) {
+                                       $dirs[$parts[0]] = 1; // top directory
+                               } else {
+                                       $current = '';
+                                       foreach ( $parts as $part ) { // all directories
+                                               $dir = ( $current === '' ) ? $part : "$current/$part";
+                                               $dirs[$dir] = 1;
+                                               $current = $dir;
+                                       }
+                               }
+                       }
+               }
+               return array_keys( $dirs );
+       }
+
+       public function getFileListInternal( $container, $dir, array $params ) {
+               $files = array();
+               $prefix = rtrim( "$container/$dir", '/' ) . '/';
+               $prefixLen = strlen( $prefix );
+               foreach ( $this->files as $path => $data ) {
+                       if ( strpos( $path, $prefix ) === 0 ) {
+                               $relPath = substr( $path, $prefixLen );
+                               if ( $relPath === false ) {
+                                       continue;
+                               } elseif ( !empty( $params['topOnly'] ) && strpos( $relPath, '/' ) !== false ) {
+                                       continue;
+                               }
+                               $files[] = $relPath;
+                       }
+               }
+               return $files;
+       }
+
+       protected function directoriesAreVirtual() {
+               return true;
+       }
+
+       /**
+        * Get the absolute file system path for a storage path
+        *
+        * @param string $storagePath Storage path
+        * @return string|null
+        */
+       protected function resolveHashKey( $storagePath ) {
+               list( $fullCont, $relPath ) = $this->resolveStoragePathReal( $storagePath );
+               if ( $relPath === null ) {
+                       return null; // invalid
+               }
+               return ( $relPath !== '' ) ? "$fullCont/$relPath" : $fullCont;
+       }
+}
index edf0eec..5896aba 100644 (file)
@@ -56,7 +56,8 @@ class FSRepo extends FileRepo {
                        // Get the FS backend configuration
                        $backend = new FSFileBackend( array(
                                'name' => $info['name'] . '-backend',
-                               'lockManager' => 'fsLockManager',
+                               'wikiId' => wfWikiID(),
+                               'lockManager' => LockManagerGroup::singleton( wfWikiID() )->get( 'fsLockManager' ),
                                'containerPaths' => array(
                                        "{$repoName}-public" => "{$directory}",
                                        "{$repoName}-temp" => "{$directory}/temp",
index f834be5..cab5690 100644 (file)
@@ -40,7 +40,7 @@ class FileRepo {
        const OVERWRITE_SAME = 4;
        const SKIP_LOCKING = 8;
 
-       const TIME_ONLY = 1;
+       const NAME_AND_TIME_ONLY = 1;
 
        /** @var bool Whether to fetch commons image description pages and display
         *    them on the local wiki */
@@ -477,7 +477,9 @@ class FileRepo {
         *
         *    No title should appear in $items twice, as the result use titles as keys
         * @param int $flags Supports:
-        *     - FileRepo::TIME_ONLY : return a (file name => timestamp) map instead
+        *     - FileRepo::NAME_AND_TIME_ONLY : return a (search title => (title,timestamp)) map.
+        *       The search title uses the input titles; the other is the final post-redirect title.
+        *       All titles are returned as string DB keys and the inner array is associative.
         * @return array Map of (file name => File objects) for matches
         */
        public function findFiles( array $items, $flags = 0 ) {
@@ -493,8 +495,15 @@ class FileRepo {
                        }
                        $file = $this->findFile( $title, $options );
                        if ( $file ) {
-                               $result[$file->getTitle()->getDBkey()] =
-                                       ( $flags & self::TIME_ONLY ) ? $file->getTimestamp() : $file;
+                               $searchName = File::normalizeTitle( $title )->getDBkey(); // must be valid
+                               if ( $flags & self::NAME_AND_TIME_ONLY ) {
+                                       $result[$searchName] = array(
+                                               'title'     => $file->getTitle()->getDBkey(),
+                                               'timestamp' => $file->getTimestamp()
+                                       );
+                               } else {
+                                       $result[$searchName] = $file;
+                               }
                        }
                }
 
index e38f71d..c5346aa 100644 (file)
@@ -243,13 +243,18 @@ class LocalRepo extends FileRepo {
        public function findFiles( array $items, $flags = 0 ) {
                $finalFiles = array(); // map of (DB key => corresponding File) for matches
 
-               $searchSet = array(); // map of (DB key => normalized search params)
+               $searchSet = array(); // map of (normalized DB key => search params)
                foreach ( $items as $item ) {
-                       $title = is_array( $item )
-                               ? File::normalizeTitle( $item['title'] )
-                               : File::normalizeTitle( $item );
-                       if ( $title ) { // valid title
-                               $searchSet[$title->getDbKey()] = ( is_array( $item ) ? $item : array() );
+                       if ( is_array( $item ) ) {
+                               $title = File::normalizeTitle( $item['title'] );
+                               if ( $title ) {
+                                       $searchSet[$title->getDBkey()] = $item;
+                               }
+                       } else {
+                               $title = File::normalizeTitle( $item );
+                               if ( $title ) {
+                                       $searchSet[$title->getDBkey()] = array();
+                               }
                        }
                }
 
@@ -270,14 +275,26 @@ class LocalRepo extends FileRepo {
                $applyMatchingFiles = function( ResultWrapper $res, &$searchSet, &$finalFiles )
                        use ( $repo, $fileMatchesSearch, $flags )
                {
+                       global $wgContLang;
+                       $info = $repo->getInfo();
                        foreach ( $res as $row ) {
                                $file = $repo->newFileFromRow( $row );
-                               $dbKey = $file->getName();
-                               // There must have been a search for this DB Key
-                               if ( $fileMatchesSearch( $file, $searchSet[$dbKey] ) ) {
-                                       $finalFiles[$dbKey] =
-                                               ( $flags & FileRepo::TIME_ONLY ) ? $file->getTimestamp() : $file;
-                                       unset( $searchSet[$dbKey] );
+                               // There must have been a search for this DB key, but this has to handle the
+                               // cases were title capitalization is different on the client and repo wikis.
+                               $dbKeysLook = array( str_replace( ' ', '_', $file->getName() ) );
+                               if ( !empty( $info['initialCapital'] ) ) {
+                                       // Search keys for "hi.png" and "Hi.png" should use the "Hi.png file"
+                                       $dbKeysLook[] = $wgContLang->lcfirst( $file->getName() );
+                               }
+                               foreach ( $dbKeysLook as $dbKey ) {
+                                       if ( isset( $searchSet[$dbKey])
+                                               && $fileMatchesSearch( $file, $searchSet[$dbKey] )
+                                       ) {
+                                               $finalFiles[$dbKey] = ( $flags & FileRepo::NAME_AND_TIME_ONLY )
+                                                       ? array( 'title' => $dbKey, 'timestamp' => $file->getTimestamp() )
+                                                       : $file;
+                                               unset( $searchSet[$dbKey] );
+                                       }
                                }
                        }
                };
@@ -285,7 +302,10 @@ class LocalRepo extends FileRepo {
                $dbr = $this->getSlaveDB();
 
                // Query image table
-               $imgNames = array_keys( $searchSet );
+               $imgNames = array();
+               foreach ( array_keys( $searchSet ) as $dbKey ) {
+                       $imgNames[] = $this->getNameFromTitle( File::normalizeTitle( $dbKey ) );
+               }
                if ( count( $imgNames ) ) {
                        $res = $dbr->select( 'image',
                                LocalFile::selectFields(), array( 'img_name' => $imgNames ), __METHOD__ );
@@ -296,8 +316,13 @@ class LocalRepo extends FileRepo {
                $oiConds = array(); // WHERE clause array for each file
                foreach ( $searchSet as $dbKey => $search ) {
                        if ( isset( $search['params']['time'] ) ) {
-                               $oiConds[] = $dbr->makeList( array( 'oi_name' => $dbKey,
-                                       'oi_timestamp' => $dbr->timestamp( $search['params']['time'] ) ), LIST_AND );
+                               $oiConds[] = $dbr->makeList(
+                                       array(
+                                               'oi_name' => $this->getNameFromTitle( File::normalizeTitle( $dbKey ) ),
+                                               'oi_timestamp' => $dbr->timestamp( $search['params']['time'] )
+                                       ),
+                                       LIST_AND
+                               );
                        }
                }
                if ( count( $oiConds ) ) {
@@ -317,8 +342,14 @@ class LocalRepo extends FileRepo {
                                $file = $this->newFile( $redir );
                                if ( $file && $fileMatchesSearch( $file, $search ) ) {
                                        $file->redirectedFrom( $title->getDBkey() );
-                                       $finalFiles[$dbKey] =
-                                               ( $flags & FileRepo::TIME_ONLY ) ? $file->getTimestamp() : $file;
+                                       if ( $flags & FileRepo::NAME_AND_TIME_ONLY ) {
+                                               $finalFiles[$dbKey] = array(
+                                                       'title'     => $file->getTitle()->getDBkey(),
+                                                       'timestamp' => $file->getTimestamp()
+                                               );
+                                       } else {
+                                               $finalFiles[$dbKey] = $file;
+                                       }
                                }
                        }
                }
index 100a11b..33ab8ae 100644 (file)
@@ -42,7 +42,7 @@ class RepoGroup {
        /** @var array */
        protected $foreignInfo;
 
-       /** @var array  */
+       /** @var ProcessCacheLRU  */
        protected $cache;
 
        /** @var RepoGroup */
@@ -98,7 +98,7 @@ class RepoGroup {
        function __construct( $localInfo, $foreignInfo ) {
                $this->localInfo = $localInfo;
                $this->foreignInfo = $foreignInfo;
-               $this->cache = array();
+               $this->cache = new ProcessCacheLRU( self::MAX_CACHE_SIZE );
        }
 
        /**
@@ -137,13 +137,8 @@ class RepoGroup {
                ) {
                        $time = isset( $options['time'] ) ? $options['time'] : '';
                        $dbkey = $title->getDBkey();
-                       if ( isset( $this->cache[$dbkey][$time] ) ) {
-                               wfDebug( __METHOD__ . ": got File:$dbkey from process cache\n" );
-                               # Move it to the end of the list so that we can delete the LRU entry later
-                               $this->pingCache( $dbkey );
-
-                               # Return the entry
-                               return $this->cache[$dbkey][$time];
+                       if ( $this->cache->has( $dbkey, $time, 60 ) ) {
+                               return $this->cache->get( $dbkey, $time );
                        }
                        $useCache = true;
                } else {
@@ -166,18 +161,34 @@ class RepoGroup {
                $image = $image ? $image : false; // type sanity
                # Cache file existence or non-existence
                if ( $useCache && ( !$image || $image->isCacheable() ) ) {
-                       $this->trimCache();
-                       $this->cache[$dbkey][$time] = $image;
+                       $this->cache->set( $dbkey, $time, $image );
                }
 
                return $image;
        }
 
        /**
+        * Search repositories for many files at once.
+        *
+        * @param array $items An array of titles, or an array of findFile() options with
+        *    the "title" option giving the title. Example:
+        *
+        *     $findItem = array( 'title' => $title, 'private' => true );
+        *     $findBatch = array( $findItem );
+        *     $repo->findFiles( $findBatch );
+        *
+        *    No title should appear in $items twice, as the result use titles as keys
+        * @param int $flags Supports:
+        *     - FileRepo::NAME_AND_TIME_ONLY : return a (search title => (title,timestamp)) map.
+        *       The search title uses the input titles; the other is the final post-redirect title.
+        *       All titles are returned as string DB keys and the inner array is associative.
+        * @return array Map of (file name => File objects) for matches
+        *
         * @param array $inputItems
+        * @param integer $flags
         * @return array
         */
-       function findFiles( $inputItems ) {
+       function findFiles( array $inputItems, $flags = 0 ) {
                if ( !$this->reposInitialised ) {
                        $this->initialiseRepos();
                }
@@ -193,7 +204,7 @@ class RepoGroup {
                        }
                }
 
-               $images = $this->localRepo->findFiles( $items );
+               $images = $this->localRepo->findFiles( $items, $flags );
 
                foreach ( $this->foreignRepos as $repo ) {
                        // Remove found files from $items
@@ -201,7 +212,7 @@ class RepoGroup {
                                unset( $items[$name] );
                        }
 
-                       $images = array_merge( $images, $repo->findFiles( $items ) );
+                       $images = array_merge( $images, $repo->findFiles( $items, $flags ) );
                }
 
                return $images;
@@ -436,41 +447,15 @@ class RepoGroup {
                }
        }
 
-       /**
-        * Move a cache entry to the top (such as when accessed)
-        */
-       protected function pingCache( $key ) {
-               if ( isset( $this->cache[$key] ) ) {
-                       $tmp = $this->cache[$key];
-                       unset( $this->cache[$key] );
-                       $this->cache[$key] = $tmp;
-               }
-       }
-
-       /**
-        * Limit cache memory
-        */
-       protected function trimCache() {
-               while ( count( $this->cache ) >= self::MAX_CACHE_SIZE ) {
-                       reset( $this->cache );
-                       $key = key( $this->cache );
-                       wfDebug( __METHOD__ . ": evicting $key\n" );
-                       unset( $this->cache[$key] );
-               }
-       }
-
        /**
         * Clear RepoGroup process cache used for finding a file
         * @param Title|null $title Title of the file or null to clear all files
         */
        public function clearCache( Title $title = null ) {
                if ( $title == null ) {
-                       $this->cache = array();
+                       $this->cache->clear();
                } else {
-                       $dbKey = $title->getDBkey();
-                       if ( isset( $this->cache[$dbKey] ) ) {
-                               unset( $this->cache[$dbKey] );
-                       }
+                       $this->cache->clear( $title->getDBkey() );
                }
        }
 }
index 0d86c70..012dd84 100644 (file)
@@ -451,15 +451,20 @@ class ArchivedFile {
        }
 
        /**
-        * Return the user ID of the uploader.
+        * Returns ID or name of user who uploaded the file
         *
-        * @return int
+        * @note Prior to MediaWiki 1.23, this method always
+        *   returned the user id, and was inconsistent with
+        *   the rest of the file classes.
+        * @param string $type 'text' or 'id'
+        * @return int|string
         */
-       public function getUser() {
+       public function getUser( $type = 'text' ) {
                $this->load();
-               if ( $this->isDeleted( File::DELETED_USER ) ) {
-                       return 0;
-               } else {
+
+               if ( $type == 'text' ) {
+                       return $this->user_text;
+               } elseif ( $type == 'id' ) {
                        return $this->user;
                }
        }
@@ -467,9 +472,11 @@ class ArchivedFile {
        /**
         * Return the user name of the uploader.
         *
+        * @deprecated 1.23 Use getUser( 'text' ) instead.
         * @return string
         */
        public function getUserText() {
+               wfDeprecated( __METHOD__, '1.23' );
                $this->load();
                if ( $this->isDeleted( File::DELETED_USER ) ) {
                        return 0;
index 1c9d8aa..dc35016 100644 (file)
@@ -904,7 +904,7 @@ abstract class File {
                        $params['height'] = $height;
                }
                $thumb = $this->transform( $params );
-               if ( is_null( $thumb ) || $thumb->isError() ) {
+               if ( !$thumb || $thumb->isError() ) {
                        return '';
                }
 
index 5621b01..0aea070 100644 (file)
@@ -700,7 +700,10 @@ class HTMLForm extends ContextSource {
                $this->getOutput()->preventClickjacking();
                $this->getOutput()->addModules( 'mediawiki.htmlform' );
                if ( $this->isVForm() ) {
-                       $this->getOutput()->addModuleStyles( 'mediawiki.ui' );
+                       $this->getOutput()->addModuleStyles( array(
+                               'mediawiki.ui',
+                               'mediawiki.ui.button',
+                       ) );
                        // @todo Should vertical form set setWrapperLegend( false )
                        // to hide ugly fieldsets?
                }
index 515cedb..68664c9 100644 (file)
@@ -288,7 +288,7 @@ ${serverSetting}
 
 ## The relative URL path to the logo.  Make sure you change this from the default,
 ## or else you'll overwrite your logo when you upgrade!
-\$wgLogo             = \"{$this->values['wgLogo']}\";
+\$wgLogo = \"{$this->values['wgLogo']}\";
 
 ## UPO means: this is also a user preference option
 
index cc5313a..773afca 100644 (file)
@@ -40,6 +40,7 @@ class MysqlUpdater extends DatabaseUpdater {
                        array( 'doIndexUpdate' ),
                        array( 'addTable', 'hitcounter', 'patch-hitcounter.sql' ),
                        array( 'addField', 'recentchanges', 'rc_type', 'patch-rc_type.sql' ),
+                       array( 'addIndex', 'recentchanges', 'new_name_timestamp', 'patch-rc-newindex.sql' ),
 
                        // 1.3
                        array( 'addField', 'user', 'user_real_name', 'patch-user-realname.sql' ),
@@ -245,6 +246,8 @@ class MysqlUpdater extends DatabaseUpdater {
 
                        // 1.23
                        array( 'addField', 'recentchanges', 'rc_source', 'patch-rc_source.sql' ),
+                       array( 'addIndex', 'logging', 'log_user_text_type_time',  'patch-logging_user_text_type_time_index.sql' ),
+                       array( 'addIndex', 'logging', 'log_user_text_time',  'patch-logging_user_text_time_index.sql' ),
                );
        }
 
index 7b6f49c..88e5fbd 100644 (file)
@@ -93,6 +93,10 @@ class OracleUpdater extends DatabaseUpdater {
                        array( 'modifyField', 'user_former_groups', 'ufg_group',
                                'patch-ufg_group-length-increase-255.sql' ),
 
+                       //1.23
+                       array( 'addIndex', 'logging', 'i06',  'patch-logging_user_text_type_time_index.sql' ),
+                       array( 'addIndex', 'logging', 'i07',  'patch-logging_user_text_time_index.sql' ),
+
                        // KEEP THIS AT THE BOTTOM!!
                        array( 'doRebuildDuplicateFunction' ),
 
index 3ecb79b..dac1400 100644 (file)
@@ -259,6 +259,8 @@ class PostgresUpdater extends DatabaseUpdater {
                        array( 'addPgIndex', 'job', 'job_cmd_token', '(job_cmd, job_token, job_random)' ),
                        array( 'addPgIndex', 'job', 'job_cmd_token_id', '(job_cmd, job_token, job_id)' ),
                        array( 'addPgIndex', 'filearchive', 'fa_sha1', '(fa_sha1)' ),
+                       array( 'addPgIndex', 'logging', 'logging_user_text_type_time', '(log_user_text, log_type, log_timestamp)' ),
+                       array( 'addPgIndex', 'logging', 'logging_user_text_time', '(log_user_text, log_timestamp)' ),
 
                        array( 'checkIndex', 'pagelink_unique', array(
                                array( 'pl_from', 'int4_ops', 'btree', 0 ),
index e0ed1ec..8f117df 100644 (file)
@@ -123,6 +123,8 @@ class SqliteUpdater extends DatabaseUpdater {
 
                        // 1.23
                        array( 'addField', 'recentchanges', 'rc_source', 'patch-rc_source.sql' ),
+                       array( 'addIndex', 'logging', 'log_user_text_type_time',  'patch-logging_user_text_type_time_index.sql' ),
+                       array( 'addIndex', 'logging', 'log_user_text_time',  'patch-logging_user_text_time_index.sql' ),
                );
        }
 
index 00a4ff8..2a3a584 100644 (file)
@@ -117,7 +117,8 @@ class WebInstallerOutput {
                // and loaded as one file.
                $moduleNames = array(
                        'mediawiki.legacy.shared',
-                       'skins.vector',
+                       'skins.common',
+                       'skins.vector.styles',
                        'mediawiki.legacy.config',
                );
 
index e33baf5..77652a4 100644 (file)
@@ -28,9 +28,6 @@
  * @ingroup JobQueue
  */
 abstract class Job {
-       /** @var int Job identifier */
-       public $id;
-
        /** @var string */
        public $command;
 
@@ -69,16 +66,15 @@ abstract class Job {
         * @param string $command Job command
         * @param Title $title Associated title
         * @param array|bool $params Job parameters
-        * @param int $id Job identifier
         * @throws MWException
         * @return Job
         */
-       public static function factory( $command, Title $title, $params = false, $id = 0 ) {
+       public static function factory( $command, Title $title, $params = false ) {
                global $wgJobClasses;
                if ( isset( $wgJobClasses[$command] ) ) {
                        $class = $wgJobClasses[$command];
 
-                       return new $class( $title, $params, $id );
+                       return new $class( $title, $params );
                }
                throw new MWException( "Invalid job command `{$command}`" );
        }
@@ -145,26 +141,16 @@ abstract class Job {
         * @param $command
         * @param $title
         * @param $params array|bool
-        * @param $id int
         */
-       public function __construct( $command, $title, $params = false, $id = 0 ) {
+       public function __construct( $command, $title, $params = false ) {
                $this->command = $command;
                $this->title = $title;
                $this->params = $params;
-               $this->id = $id;
 
                // expensive jobs may set this to true
                $this->removeDuplicates = false;
        }
 
-       /**
-        * @return int May be 0 for jobs stored outside the DB
-        * @deprecated since 1.22
-        */
-       public function getId() {
-               return $this->id;
-       }
-
        /**
         * @return string
         */
index b795695..79ff4e8 100644 (file)
@@ -324,7 +324,6 @@ class JobQueueDB extends JobQueue {
                                $job = Job::factory( $row->job_cmd, $title,
                                        self::extractBlob( $row->job_params ), $row->job_id );
                                $job->metadata['id'] = $row->job_id;
-                               $job->id = $row->job_id; // XXX: work around broken subclasses
                                break; // done
                        } while ( true );
                } catch ( DBError $e ) {
@@ -596,11 +595,9 @@ class JobQueueDB extends JobQueue {
                                        $job = Job::factory(
                                                $row->job_cmd,
                                                Title::makeTitle( $row->job_namespace, $row->job_title ),
-                                               strlen( $row->job_params ) ? unserialize( $row->job_params ) : false,
-                                               $row->job_id
+                                               strlen( $row->job_params ) ? unserialize( $row->job_params ) : false
                                        );
                                        $job->metadata['id'] = $row->job_id;
-                                       $job->id = $row->job_id; // XXX: work around broken subclasses
                                        return $job;
                                }
                        );
index 589bed6..f4caac6 100644 (file)
@@ -150,21 +150,20 @@ class JobQueueFederated extends JobQueue {
                        return false;
                }
 
+               $empty = true;
+               $failed = 0;
                foreach ( $this->partitionQueues as $queue ) {
                        try {
-                               if ( !$queue->doIsEmpty() ) {
-                                       $this->cache->add( $key, 'false', self::CACHE_TTL_LONG );
-
-                                       return false;
-                               }
+                               $empty = $empty && $queue->doIsEmpty();
                        } catch ( JobQueueError $e ) {
+                               ++$failed;
                                MWExceptionHandler::logException( $e );
                        }
                }
+               $this->throwErrorIfAllPartitionsDown( $failed );
 
-               $this->cache->add( $key, 'true', self::CACHE_TTL_LONG );
-
-               return true;
+               $this->cache->add( $key, $empty ? 'true' : 'false', self::CACHE_TTL_LONG );
+               return !$empty;
        }
 
        protected function doGetSize() {
@@ -196,14 +195,16 @@ class JobQueueFederated extends JobQueue {
                        return $count;
                }
 
-               $count = 0;
+               $failed = 0;
                foreach ( $this->partitionQueues as $queue ) {
                        try {
                                $count += $queue->$method();
                        } catch ( JobQueueError $e ) {
+                               ++$failed;
                                MWExceptionHandler::logException( $e );
                        }
                }
+               $this->throwErrorIfAllPartitionsDown( $failed );
 
                $this->cache->set( $key, $count, self::CACHE_TTL_SHORT );
 
@@ -275,7 +276,7 @@ class JobQueueFederated extends JobQueue {
                        } else {
                                $partitionRing = $partitionRing->newWithoutLocation( $partition ); // blacklist
                                if ( !$partitionRing ) {
-                                       throw new JobQueueError( "Could not insert job(s), all partitions are down." );
+                                       throw new JobQueueError( "Could not insert job(s), no partitions available." );
                                }
                                $jobsLeft = array_merge( $jobsLeft, $jobBatch ); // not inserted
                        }
@@ -297,7 +298,7 @@ class JobQueueFederated extends JobQueue {
                        } else {
                                $partitionRing = $partitionRing->newWithoutLocation( $partition ); // blacklist
                                if ( !$partitionRing ) {
-                                       throw new JobQueueError( "Could not insert job(s), all partitions are down." );
+                                       throw new JobQueueError( "Could not insert job(s), no partitions available." );
                                }
                                $jobsLeft = array_merge( $jobsLeft, $jobBatch ); // not inserted
                        }
@@ -316,6 +317,7 @@ class JobQueueFederated extends JobQueue {
 
                $partitionsTry = $this->partitionMap; // (partition => weight)
 
+               $failed = 0;
                while ( count( $partitionsTry ) ) {
                        $partition = ArrayUtils::pickRandom( $partitionsTry );
                        if ( $partition === false ) {
@@ -327,8 +329,9 @@ class JobQueueFederated extends JobQueue {
                        try {
                                $job = $queue->pop();
                        } catch ( JobQueueError $e ) {
-                               $job = false;
+                               ++$failed;
                                MWExceptionHandler::logException( $e );
+                               $job = false;
                        }
                        if ( $job ) {
                                $job->metadata['QueuePartition'] = $partition;
@@ -338,6 +341,7 @@ class JobQueueFederated extends JobQueue {
                                unset( $partitionsTry[$partition] ); // blacklist partition
                        }
                }
+               $this->throwErrorIfAllPartitionsDown( $failed );
 
                $this->cache->set( $key, 'true', JobQueueDB::CACHE_TTL_LONG );
 
@@ -381,25 +385,32 @@ class JobQueueFederated extends JobQueue {
        }
 
        protected function doDelete() {
+               $failed = 0;
                /** @var JobQueue $queue */
                foreach ( $this->partitionQueues as $queue ) {
                        try {
                                $queue->doDelete();
                        } catch ( JobQueueError $e ) {
+                               ++$failed;
                                MWExceptionHandler::logException( $e );
                        }
                }
+               $this->throwErrorIfAllPartitionsDown( $failed );
+               return true;
        }
 
        protected function doWaitForBackups() {
+               $failed = 0;
                /** @var JobQueue $queue */
                foreach ( $this->partitionQueues as $queue ) {
                        try {
                                $queue->waitForBackups();
                        } catch ( JobQueueError $e ) {
+                               ++$failed;
                                MWExceptionHandler::logException( $e );
                        }
                }
+               $this->throwErrorIfAllPartitionsDown( $failed );
        }
 
        protected function doGetPeriodicTasks() {
@@ -463,6 +474,7 @@ class JobQueueFederated extends JobQueue {
        protected function doGetSiblingQueuesWithJobs( array $types ) {
                $result = array();
 
+               $failed = 0;
                /** @var JobQueue $queue */
                foreach ( $this->partitionQueues as $queue ) {
                        try {
@@ -476,16 +488,18 @@ class JobQueueFederated extends JobQueue {
                                        break; // short-circuit
                                }
                        } catch ( JobQueueError $e ) {
+                               ++$failed;
                                MWExceptionHandler::logException( $e );
                        }
                }
+               $this->throwErrorIfAllPartitionsDown( $failed );
 
                return array_values( $result );
        }
 
        protected function doGetSiblingQueueSizes( array $types ) {
                $result = array();
-
+               $failed = 0;
                /** @var JobQueue $queue */
                foreach ( $this->partitionQueues as $queue ) {
                        try {
@@ -498,13 +512,28 @@ class JobQueueFederated extends JobQueue {
                                        return null; // not supported on all partitions; bail
                                }
                        } catch ( JobQueueError $e ) {
+                               ++$failed;
                                MWExceptionHandler::logException( $e );
                        }
                }
+               $this->throwErrorIfAllPartitionsDown( $failed );
 
                return $result;
        }
 
+       /**
+        * Throw an error if no partitions available
+        *
+        * @param int $down The number of up partitions down
+        * @return void
+        * @throws JobQueueError
+        */
+       protected function throwErrorIfAllPartitionsDown( $down ) {
+               if ( $down >= count( $this->partitionQueues ) ) {
+                       throw new JobQueueError( 'No queue partitions available.' );
+               }
+       }
+
        public function setTestingPrefix( $key ) {
                /** @var JobQueue $queue */
                foreach ( $this->partitionQueues as $queue ) {
index a3ec8a7..9d206a3 100644 (file)
@@ -155,9 +155,6 @@ class JobQueueGroup {
         */
        public function pop( $qtype = self::TYPE_DEFAULT, $flags = 0 ) {
                if ( is_string( $qtype ) ) { // specific job type
-                       if ( ( $flags & self::USE_PRIORITY ) && $this->isQueueDeprioritized( $qtype ) ) {
-                               return false; // back off
-                       }
                        $job = $this->get( $qtype )->pop();
                        if ( !$job ) {
                                JobQueueAggregator::singleton()->notifyQueueEmpty( $this->wiki, $qtype );
@@ -180,9 +177,6 @@ class JobQueueGroup {
                        shuffle( $types ); // avoid starvation
 
                        foreach ( $types as $type ) { // for each queue...
-                               if ( ( $flags & self::USE_PRIORITY ) && $this->isQueueDeprioritized( $type ) ) {
-                                       continue; // back off
-                               }
                                $job = $this->get( $type )->pop();
                                if ( $job ) { // found
                                        return $job;
@@ -330,32 +324,6 @@ class JobQueueGroup {
                return $this->coalescedQueues;
        }
 
-       /**
-        * Check if jobs should not be popped of a queue right now.
-        * This is only used for performance, such as to avoid spamming
-        * the queue with many sub-jobs before they actually get run.
-        *
-        * @param string $type
-        * @return bool
-        */
-       public function isQueueDeprioritized( $type ) {
-               if ( $this->cache->has( 'isDeprioritized', $type, 5 ) ) {
-                       return $this->cache->get( 'isDeprioritized', $type );
-               }
-               if ( $type === 'refreshLinks2' ) {
-                       // Don't keep converting refreshLinksPartition => refreshLinks jobs if the
-                       // later jobs have not been done yet. This helps throttle queue spam.
-                       // @TODO: this is mostly a WMF-specific hack and should be removed when
-                       // refreshLinks2 jobs are drained.
-                       $deprioritized = !$this->get( 'refreshLinks' )->getSize() > 10000;
-                       $this->cache->set( 'isDeprioritized', $type, $deprioritized );
-
-                       return $deprioritized;
-               }
-
-               return false;
-       }
-
        /**
         * Execute any due periodic queue maintenance tasks for all queues.
         *
@@ -392,6 +360,10 @@ class JobQueueGroup {
                                        }
                                }
                        }
+                       // The tasks may have recycled jobs or release delayed jobs into the queue
+                       if ( isset( $tasksRun[$type] ) && !$queue->isEmpty() ) {
+                               JobQueueAggregator::singleton()->notifyQueueNonEmpty( $this->wiki, $type );
+                       }
                }
 
                $wgMemc->merge( $key, function ( $cache, $key, $lastRuns ) use ( $tasksRun ) {
index eff16b9..19b0558 100644 (file)
@@ -27,8 +27,8 @@
  * @ingroup Upload
  */
 class AssembleUploadChunksJob extends Job {
-       public function __construct( $title, $params, $id = 0 ) {
-               parent::__construct( 'AssembleUploadChunks', $title, $params, $id );
+       public function __construct( $title, $params ) {
+               parent::__construct( 'AssembleUploadChunks', $title, $params );
                $this->removeDuplicates = true;
        }
 
index f5f0d63..99d7527 100644 (file)
@@ -86,8 +86,8 @@ class DoubleRedirectJob extends Job {
         * @param array|bool $params
         * @param int $id
         */
-       function __construct( $title, $params = false, $id = 0 ) {
-               parent::__construct( 'fixDoubleRedirect', $title, $params, $id );
+       function __construct( $title, $params = false ) {
+               parent::__construct( 'fixDoubleRedirect', $title, $params );
                $this->reason = $params['reason'];
                $this->redirTitle = Title::newFromText( $params['redirTitle'] );
        }
index 7e5bd3c..b0a6ef7 100644 (file)
@@ -32,10 +32,9 @@ final class DuplicateJob extends Job {
         *
         * @param Title $title
         * @param array $params job parameters
-        * @param $id Integer: job id
         */
-       function __construct( $title, $params, $id = 0 ) {
-               parent::__construct( 'duplicate', $title, $params, $id );
+       function __construct( $title, $params ) {
+               parent::__construct( 'duplicate', $title, $params );
        }
 
        /**
@@ -45,7 +44,7 @@ final class DuplicateJob extends Job {
         * @return Job
         */
        public static function newFromJob( Job $job ) {
-               $djob = new self( $job->getTitle(), $job->getParams(), $job->id );
+               $djob = new self( $job->getTitle(), $job->getParams() );
                $djob->command = $job->getType();
                $djob->params = is_array( $djob->params ) ? $djob->params : array();
                $djob->params = array( 'isDuplicate' => true ) + $djob->params;
index f24cebb..df8ae63 100644 (file)
@@ -28,8 +28,8 @@
  * @ingroup JobQueue
  */
 class EmaillingJob extends Job {
-       function __construct( $title, $params, $id = 0 ) {
-               parent::__construct( 'sendMail', Title::newMainPage(), $params, $id );
+       function __construct( $title, $params ) {
+               parent::__construct( 'sendMail', Title::newMainPage(), $params );
        }
 
        function run() {
index 97a7af6..1ed99a5 100644 (file)
@@ -27,8 +27,8 @@
  * @ingroup JobQueue
  */
 class EnotifNotifyJob extends Job {
-       function __construct( $title, $params, $id = 0 ) {
-               parent::__construct( 'enotifNotify', $title, $params, $id );
+       function __construct( $title, $params ) {
+               parent::__construct( 'enotifNotify', $title, $params );
        }
 
        function run() {
index 0415906..833616d 100644 (file)
@@ -33,8 +33,8 @@
  * @ingroup JobQueue
  */
 class HTMLCacheUpdateJob extends Job {
-       function __construct( $title, $params = '', $id = 0 ) {
-               parent::__construct( 'htmlCacheUpdate', $title, $params, $id );
+       function __construct( $title, $params = '' ) {
+               parent::__construct( 'htmlCacheUpdate', $title, $params );
                // Base backlink purge jobs can be de-duplicated
                $this->removeDuplicates = ( !isset( $params['range'] ) && !isset( $params['pages'] ) );
        }
index f62419c..b2d6a9a 100644 (file)
@@ -48,10 +48,9 @@ class NullJob extends Job {
        /**
         * @param Title $title
         * @param array $params job parameters (lives, usleep)
-        * @param int $id Job id
         */
-       function __construct( $title, $params, $id = 0 ) {
-               parent::__construct( 'null', $title, $params, $id );
+       function __construct( $title, $params ) {
+               parent::__construct( 'null', $title, $params );
                if ( !isset( $this->params['lives'] ) ) {
                        $this->params['lives'] = 1;
                }
index 88ac9cf..d7667f3 100644 (file)
@@ -27,8 +27,8 @@
  * @ingroup Upload
  */
 class PublishStashedFileJob extends Job {
-       public function __construct( $title, $params, $id = 0 ) {
-               parent::__construct( 'PublishStashedFile', $title, $params, $id );
+       public function __construct( $title, $params ) {
+               parent::__construct( 'PublishStashedFile', $title, $params );
                $this->removeDuplicates = true;
        }
 
index f446f64..d8526ee 100644 (file)
@@ -35,8 +35,8 @@
  * @ingroup JobQueue
  */
 class RefreshLinksJob extends Job {
-       function __construct( $title, $params = '', $id = 0 ) {
-               parent::__construct( 'refreshLinks', $title, $params, $id );
+       function __construct( $title, $params = '' ) {
+               parent::__construct( 'refreshLinks', $title, $params );
                // Base backlink update jobs and per-title update jobs can be de-duplicated.
                // If template A changes twice before any jobs run, a clean queue will have:
                //              (A base, A base)
@@ -59,11 +59,6 @@ class RefreshLinksJob extends Job {
        function run() {
                global $wgUpdateRowsPerJob;
 
-               if ( is_null( $this->title ) ) {
-                       $this->setLastError( "Invalid page title" );
-                       return false;
-               }
-
                // Job to update all (or a range of) backlink pages for a page
                if ( !empty( $this->params['recursive'] ) ) {
                        // Carry over information for de-duplication
index 332f625..77e3b3f 100644 (file)
@@ -29,8 +29,8 @@
  * @deprecated 1.23
  */
 class RefreshLinksJob2 extends Job {
-       function __construct( $title, $params, $id = 0 ) {
-               parent::__construct( 'refreshLinks2', $title, $params, $id );
+       function __construct( $title, $params ) {
+               parent::__construct( 'refreshLinks2', $title, $params );
                // Base jobs for large templates can easily be de-duplicated
                $this->removeDuplicates = !isset( $params['start'] ) && !isset( $params['end'] );
        }
index 15d523f..2cdac57 100644 (file)
@@ -39,8 +39,8 @@ class UploadFromUrlJob extends Job {
        /** @var User */
        protected $user;
 
-       public function __construct( $title, $params, $id = 0 ) {
-               parent::__construct( 'uploadFromUrl', $title, $params, $id );
+       public function __construct( $title, $params ) {
+               parent::__construct( 'uploadFromUrl', $title, $params );
        }
 
        public function run() {
index 68e30eb..3c84472 100644 (file)
@@ -140,6 +140,24 @@ class CSSMin {
                return false;
        }
 
+       /**
+        * Build a CSS 'url()' value for the given URL, quoting parentheses (and other funny characters)
+        * and escaping quotes as necessary.
+        *
+        * @param string $url URL to process
+        * @return string 'url()' value, usually just `"url($url)"`, quoted/escaped if necessary
+        */
+       public static function buildUrlValue( $url ) {
+               // The list below has been crafted to match URLs such as:
+               //   scheme://user@domain:port/~user/fi%20le.png?query=yes&really=y+s
+               //   data:image/png;base64,R0lGODlh/+==
+               if ( preg_match( '!^[\w\d:@/~.%+;,?&=-]+$!', $url ) ) {
+                       return "url($url)";
+               } else {
+                       return 'url("' . strtr( $url, array( '\\' => '\\\\', '"' => '\\"' ) ) . '")';
+               }
+       }
+
        /**
         * Remaps CSS URL paths and automatically embeds data URIs for CSS rules or url() values
         * preceded by an / * @embed * / comment.
@@ -168,7 +186,8 @@ class CSSMin {
 
                // Note: This will not correctly handle cases where ';', '{' or '}' appears in the rule itself,
                // e.g. in a quoted string. You are advised not to use such characters in file names.
-               $pattern = '/[;{]\K[^;}]*' . CSSMin::URL_REGEX . '[^;}]*(?=[;}])/';
+               // We also match start/end of the string to be consistent in edge-cases ('@import url(…)').
+               $pattern = '/(?:^|[;{])\K[^;{}]*' . CSSMin::URL_REGEX . '[^;}]*(?=[;}]|$)/';
                return preg_replace_callback( $pattern, function ( $matchOuter ) use ( $local, $remote, $embedData ) {
                        $rule = $matchOuter[0];
 
@@ -181,14 +200,14 @@ class CSSMin {
 
                        $ruleWithRemapped = preg_replace_callback( $pattern, function ( $match ) use ( $local, $remote ) {
                                $remapped = CSSMin::remapOne( $match['file'], $match['query'], $local, $remote, false );
-                               return "url({$remapped})";
+                               return CSSMin::buildUrlValue( $remapped );
                        }, $rule );
 
                        if ( $embedData ) {
                                $ruleWithEmbedded = preg_replace_callback( $pattern, function ( $match ) use ( $embedAll, $local, $remote ) {
                                        $embed = $embedAll || $match['embed'];
                                        $embedded = CSSMin::remapOne( $match['file'], $match['query'], $local, $remote, $embed );
-                                       return "url({$embedded})";
+                                       return CSSMin::buildUrlValue( $embedded );
                                }, $rule );
                        }
 
@@ -218,50 +237,50 @@ class CSSMin {
         * @return string Remapped/embedded URL data
         */
        public static function remapOne( $file, $query, $local, $remote, $embed ) {
-               // Skip fully-qualified URLs and data URIs
-               $urlScheme = parse_url( $file, PHP_URL_SCHEME );
+               // The full URL possibly with query, as passed to the 'url()' value in CSS
+               $url = $file . $query;
+
+               // Skip fully-qualified and protocol-relative URLs and data URIs
+               $urlScheme = substr( $url, 0, 2 ) === '//' || parse_url( $url, PHP_URL_SCHEME );
                if ( $urlScheme ) {
-                       return $file;
+                       return $url;
                }
 
                // URLs with absolute paths like /w/index.php need to be expanded
                // to absolute URLs but otherwise left alone
-               if ( $file !== '' && $file[0] === '/' ) {
+               if ( $url !== '' && $url[0] === '/' ) {
                        // Replace the file path with an expanded (possibly protocol-relative) URL
                        // ...but only if wfExpandUrl() is even available.
                        // This will not be the case if we're running outside of MW
                        if ( function_exists( 'wfExpandUrl' ) ) {
-                               return wfExpandUrl( $file, PROTO_RELATIVE );
+                               return wfExpandUrl( $url, PROTO_RELATIVE );
                        } else {
-                               return $file;
+                               return $url;
                        }
                }
 
-               $url = "{$remote}/{$file}";
-               $file = "{$local}/{$file}";
-
-               $replacement = false;
-
-               if ( $local !== false && file_exists( $file ) ) {
-                       // Add version parameter as a time-stamp in ISO 8601 format,
-                       // using Z for the timezone, meaning GMT
-                       $url .= '?' . gmdate( 'Y-m-d\TH:i:s\Z', round( filemtime( $file ), -2 ) );
-                       if ( $embed ) {
-                               $data = self::encodeImageAsDataURI( $file );
-                               if ( $data !== false ) {
-                                       return $data;
-                               } else {
-                                       return $url;
-                               }
-                       } else {
-                               // Assume that all paths are relative to $remote, and make them absolute
-                               return $url;
-                       }
-               } elseif ( $local === false ) {
+               if ( $local === false ) {
                        // Assume that all paths are relative to $remote, and make them absolute
-                       return $url . $query;
+                       return $remote . '/' . $url;
                } else {
-                       return $file;
+                       // We drop the query part here and instead make the path relative to $remote
+                       $url = "{$remote}/{$file}";
+                       // Path to the actual file on the filesystem
+                       $localFile = "{$local}/{$file}";
+                       if ( file_exists( $localFile ) ) {
+                               // Add version parameter as a time-stamp in ISO 8601 format,
+                               // using Z for the timezone, meaning GMT
+                               $url .= '?' . gmdate( 'Y-m-d\TH:i:s\Z', round( filemtime( $localFile ), -2 ) );
+                               if ( $embed ) {
+                                       $data = self::encodeImageAsDataURI( $localFile );
+                                       if ( $data !== false ) {
+                                               return $data;
+                                       }
+                               }
+                       }
+                       // If any of these conditions failed (file missing, we don't want to embed it
+                       // or it's not embeddable), return the URL (possibly with ?timestamp part)
+                       return $url;
                }
        }
 
index c069fdb..ead418d 100644 (file)
@@ -561,7 +561,14 @@ class LogEventsList extends ContextSource {
 
                if ( $logBody ) {
                        if ( $msgKey[0] ) {
-                               $s = '<div class="mw-warning-with-logexcerpt">';
+                               $dir = $context->getLanguage()->getDir();
+                               $lang = $context->getLanguage()->getCode();
+
+                               $s = Xml::openElement( 'div', array(
+                                       'class' => "mw-warning-with-logexcerpt mw-content-$dir",
+                                       'dir' => $dir,
+                                       'lang' => $lang,
+                               ) );
 
                                if ( count( $msgKey ) == 1 ) {
                                        $s .= $context->msg( $msgKey[0] )->parseAsBlock();
index 5bb6b41..ae8938e 100644 (file)
@@ -129,7 +129,7 @@ class LogPage {
                                $this->type, $this->action, $this->target, $this->comment,
                                $this->params, $newId, $this->getRcCommentIRC()
                        );
-                       $rc->notifyRC2UDP();
+                       $rc->notifyRCFeeds();
                }
 
                return $newId;
index eeb8078..1be04a7 100644 (file)
@@ -753,6 +753,21 @@ class BitmapHandler extends ImageHandler {
                }
        }
 
+       /**
+        * @see $wgEnableAutoRotation
+        * @return bool Whether auto rotation is enabled
+        */
+       public static function autoRotateEnabled() {
+               global $wgEnableAutoRotation;
+
+               if ( $wgEnableAutoRotation === null ) {
+                       // Only enable auto-rotation when the bitmap handler can rotate
+                       $wgEnableAutoRotation = BitmapHandler::canRotate();
+               }
+
+               return $wgEnableAutoRotation;
+       }
+
        /**
         * @param File $file
         * @param array $params Rotate parameters.
index fe037b7..4bbafc1 100644 (file)
@@ -169,12 +169,11 @@ class ExifBitmapHandler extends BitmapHandler {
         * @return array
         */
        function getImageSize( $image, $path ) {
-               global $wgEnableAutoRotation;
                $gis = parent::getImageSize( $image, $path );
 
                // Don't just call $image->getMetadata(); FSFile::getPropsFromPath() calls us with a bogus object.
                // This may mean we read EXIF data twice on initial upload.
-               if ( $wgEnableAutoRotation ) {
+               if ( BitmapHandler::autoRotateEnabled() ) {
                        $meta = $this->getMetadata( $image, $path );
                        $rotation = $this->getRotationForExif( $meta );
                } else {
@@ -203,8 +202,7 @@ class ExifBitmapHandler extends BitmapHandler {
         * @return int 0, 90, 180 or 270
         */
        public function getRotation( $file ) {
-               global $wgEnableAutoRotation;
-               if ( !$wgEnableAutoRotation ) {
+               if ( !BitmapHandler::autoRotateEnabled() ) {
                        return 0;
                }
 
index 1dc74ce..ee11599 100644 (file)
@@ -426,12 +426,37 @@ abstract class MediaHandler {
         * Currently overloaded by PDF and DjVu handlers
         * @param File $image
         * @param int $page Page number to get information for
-        * @return bool|string Page text or false when no text found.
+        * @return bool|string Page text or false when no text found or if
+        *   unsupported.
         */
        function getPageText( $image, $page ) {
                return false;
        }
 
+       /**
+        * Get the text of the entire document.
+        * @param File $file
+        * @return bool|string The text of the document or false if unsupported.
+        */
+       public function getEntireText( File $file ) {
+               $numPages = $file->pageCount();
+               if ( !$numPages ) {
+                       // Not a multipage document
+                       return $this->getPageText( $file, 1 );
+               }
+               $document = '';
+               for ( $i = 1; $i <= $numPages; $i++ ) {
+                       $curPage = $this->getPageText( $file, $i );
+                       if ( is_string( $curPage ) ) {
+                               $document .= $curPage . "\n";
+                       }
+               }
+               if ( $document !== '' ) {
+                       return $document;
+               }
+               return false;
+       }
+
        /**
         * Get an array structure that looks like this:
         *
@@ -500,7 +525,7 @@ abstract class MediaHandler {
         *
         * @return array of strings
         */
-       function visibleMetadataFields() {
+       protected function visibleMetadataFields() {
                return FormatMetadata::getVisibleFields();
        }
 
index b15d57b..ce7fcbb 100644 (file)
@@ -368,7 +368,7 @@ class SvgHandler extends ImageHandler {
                return self::METADATA_GOOD;
        }
 
-       function visibleMetadataFields() {
+       protected function visibleMetadataFields() {
                $fields = array( 'objectname', 'imagedescription' );
 
                return $fields;
@@ -432,7 +432,7 @@ class SvgHandler extends ImageHandler {
                        return ( $value > 0 );
                } elseif ( $name == 'lang' ) {
                        // Validate $code
-                       if ( !Language::isValidBuiltinCode( $value ) ) {
+                       if ( $value === '' || !Language::isValidBuiltinCode( $value ) ) {
                                wfDebug( "Invalid user language code\n" );
 
                                return false;
index 7185087..0c887e4 100644 (file)
@@ -669,8 +669,9 @@ class RevDel_FileItem extends RevDel_Item {
         */
        protected function getUserTools() {
                if ( $this->file->userCan( Revision::DELETED_USER, $this->list->getUser() ) ) {
-                       $link = Linker::userLink( $this->file->user, $this->file->user_text ) .
-                               Linker::userToolLinks( $this->file->user, $this->file->user_text );
+                       $uid = $this->file->getUser( 'id' );
+                       $name = $this->file->getUser( 'text' );
+                       $link = Linker::userLink( $uid, $name ) . Linker::userToolLinks( $uid, $name );
                } else {
                        $link = $this->list->msg( 'rev-deleted-user' )->escaped();
                }
@@ -688,7 +689,7 @@ class RevDel_FileItem extends RevDel_Item {
         */
        protected function getComment() {
                if ( $this->file->userCan( File::DELETED_COMMENT, $this->list->getUser() ) ) {
-                       $block = Linker::commentBlock( $this->file->description );
+                       $block = Linker::commentBlock( $this->file->getDescription() );
                } else {
                        $block = ' ' . $this->list->msg( 'rev-deleted-comment' )->escaped();
                }
index 3b73a37..fa5ec29 100644 (file)
@@ -221,6 +221,9 @@ class SpecialBlock extends FormSpecialPage {
 
                $this->maybeAlterFormDefaults( $a );
 
+               // Allow extensions to add more fields
+               wfRunHooks( 'SpecialBlockModifyFormFields', array( $this, &$a ) );
+
                return $a;
        }
 
index f1992c0..4e4db11 100644 (file)
@@ -230,7 +230,7 @@ class BlockListPager extends TablePager {
        function getFieldNames() {
                static $headers = null;
 
-               if ( $headers == array() ) {
+               if ( $headers === null ) {
                        $headers = array(
                                'ipb_timestamp' => 'blocklist-timestamp',
                                'ipb_target' => 'blocklist-target',
@@ -455,8 +455,6 @@ class BlockListPager extends TablePager {
 
 /**
  * Items per page dropdown. Essentially a crap workaround for bug 32603.
- *
- * @todo Do not release 1.19 with this.
  */
 class HTMLBlockedUsersItemSelect extends HTMLSelectField {
        /**
index af6a35b..551b972 100644 (file)
@@ -168,7 +168,7 @@ class SpecialContributions extends SpecialPage {
                // Add RSS/atom links
                $this->addFeedLinks( array( 'action' => 'feedcontributions', 'user' => $target ) );
 
-               if ( wfRunHooks( 'SpecialContributionsBeforeMainOutput', array( $id ) ) ) {
+               if ( wfRunHooks( 'SpecialContributionsBeforeMainOutput', array( $id, $userObj, $this ) ) ) {
                        $out->addHTML( $this->getForm() );
 
                        $pager = new ContribsPager( $this->getContext(), array(
index a78133c..19d7a6b 100644 (file)
@@ -32,6 +32,9 @@ class SpecialExpandTemplates extends SpecialPage {
        /** @var boolean whether or not to show the XML parse tree */
        protected $generateXML;
 
+       /** @var boolean whether or not to show the raw HTML code */
+       protected $generateRawHtml;
+
        /** @var boolean whether or not to remove comments in the expanded wikitext */
        protected $removeComments;
 
@@ -62,6 +65,7 @@ class SpecialExpandTemplates extends SpecialPage {
                }
                $input = $request->getText( 'wpInput' );
                $this->generateXML = $request->getBool( 'wpGenerateXml' );
+               $this->generateRawHtml = $request->getBool( 'wpGenerateRawHtml' );
 
                if ( strlen( $input ) ) {
                        $this->removeComments = $request->getBool( 'wpRemoveComments', false );
@@ -113,7 +117,15 @@ class SpecialExpandTemplates extends SpecialPage {
                        }
 
                        $out->addHTML( $tmp );
-                       $this->showHtmlPreview( $title, $output, $out );
+
+                       $rawhtml = $this->generateHtml( $title, $output );
+
+                       if ( $this->generateRawHtml && strlen( $rawhtml ) > 0 ) {
+                               $out->addHTML( $this->makeOutput( $rawhtml, 'expand_templates_html_output' ) );
+                       }
+
+                       $this->showHtmlPreview( $title, $rawhtml, $out );
+
                }
 
        }
@@ -171,6 +183,12 @@ class SpecialExpandTemplates extends SpecialPage {
                        'generate_xml',
                        $this->generateXML
                ) . '</p>';
+               $form .= '<p>' . Xml::checkLabel(
+                       $this->msg( 'expand_templates_generate_rawhtml' )->text(),
+                       'wpGenerateRawHtml',
+                       'generate_rawhtml',
+                       $this->generateRawHtml
+               ) . '</p>';
                $form .= '<p>' . Xml::submitButton(
                        $this->msg( 'expand_templates_ok' )->text(),
                        array( 'accesskey' => 's' )
@@ -202,28 +220,42 @@ class SpecialExpandTemplates extends SpecialPage {
        }
 
        /**
-        * Render the supplied wiki text and append to the page as a preview
+        * Renders the supplied wikitext as html
         *
         * @param Title $title
         * @param string $text
-        * @param OutputPage $out
+        * @return string
         */
-       private function showHtmlPreview( Title $title, $text, OutputPage $out ) {
+       private function generateHtml( Title $title, $text ) {
                global $wgParser;
 
                $popts = ParserOptions::newFromContext( $this->getContext() );
                $popts->setTargetLanguage( $title->getPageLanguage() );
                $pout = $wgParser->parse( $text, $title, $popts );
-               $lang = $title->getPageViewLanguage();
 
+               return $pout->getText();
+       }
+
+       /**
+        * Wraps the provided html code in a div and outputs it to the page
+        *
+        * @param Title $title
+        * @param string $html
+        * @param OutputPage $out
+        */
+       private function showHtmlPreview( Title $title, $html, OutputPage $out ) {
+               $lang = $title->getPageViewLanguage();
                $out->addHTML( "<h2>" . $this->msg( 'expand_templates_preview' )->escaped() . "</h2>\n" );
                $out->addHTML( Html::openElement( 'div', array(
                        'class' => 'mw-content-' . $lang->getDir(),
                        'dir' => $lang->getDir(),
                        'lang' => $lang->getHtmlCode(),
                ) ) );
-
-               $out->addHTML( $pout->getText() );
+               $out->addHTML( $html );
                $out->addHTML( Html::closeElement( 'div' ) );
        }
+
+       protected function getGroupName() {
+               return 'wiki';
+       }
 }
index c94d2b3..086193e 100644 (file)
@@ -144,7 +144,6 @@ class RandomPage extends SpecialPage {
                        ), $this->extra ),
                        'options' => array(
                                'ORDER BY' => 'page_random',
-                               'USE INDEX' => 'page_random',
                                'LIMIT' => 1,
                        ),
                        'join_conds' => array()
index 66cd2ff..f866158 100644 (file)
@@ -30,6 +30,14 @@ class SpecialRecentChanges extends IncludableSpecialPage {
        var $rcOptions, $rcSubpage;
        protected $customFilters;
 
+       /**
+        * The feed format to output as (either 'rss' or 'atom'), or null if no
+        * feed output was requested
+        *
+        * @var string $feedFormat
+        */
+       protected $feedFormat;
+
        public function __construct( $name = 'Recentchanges' ) {
                parent::__construct( $name );
        }
@@ -69,10 +77,11 @@ class SpecialRecentChanges extends IncludableSpecialPage {
         * Create a FormOptions object with options as specified by the user
         *
         * @param array $parameters
-        *
         * @return FormOptions
         */
        public function setup( $parameters ) {
+               global $wgFeedLimit;
+
                $opts = $this->getDefaultOptions();
 
                foreach ( $this->getCustomFilters() as $key => $params ) {
@@ -86,7 +95,7 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                        $this->parseParameters( $parameters, $opts );
                }
 
-               $opts->validateIntBounds( 'limit', 0, 5000 );
+               $opts->validateIntBounds( 'limit', 0, $this->feedFormat ? $wgFeedLimit : 5000 );
 
                return $opts;
        }
@@ -105,31 +114,12 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                return $this->customFilters;
        }
 
-       /**
-        * Create a FormOptions object specific for feed requests and return it
-        *
-        * @return FormOptions
-        */
-       public function feedSetup() {
-               global $wgFeedLimit;
-               $opts = $this->getDefaultOptions();
-               $opts->fetchValuesFromRequest( $this->getRequest() );
-               $opts->validateIntBounds( 'limit', 0, $wgFeedLimit );
-
-               return $opts;
-       }
-
        /**
         * Get the current FormOptions for this request
         */
        public function getOptions() {
                if ( $this->rcOptions === null ) {
-                       if ( $this->including() ) {
-                               $isFeed = false;
-                       } else {
-                               $isFeed = (bool)$this->getRequest()->getVal( 'feed' );
-                       }
-                       $this->rcOptions = $isFeed ? $this->feedSetup() : $this->setup( $this->rcSubpage );
+                       $this->rcOptions = $this->setup( $this->rcSubpage );
                }
 
                return $this->rcOptions;
@@ -142,12 +132,12 @@ class SpecialRecentChanges extends IncludableSpecialPage {
         */
        public function execute( $subpage ) {
                $this->rcSubpage = $subpage;
-               $feedFormat = $this->including() ? null : $this->getRequest()->getVal( 'feed' );
+               $this->feedFormat = $this->including() ? null : $this->getRequest()->getVal( 'feed' );
 
                # 10 seconds server-side caching max
                $this->getOutput()->setSquidMaxage( 10 );
                # Check if the client has a cached version
-               $lastmod = $this->checkLastModified( $feedFormat );
+               $lastmod = $this->checkLastModified( $this->feedFormat );
                if ( $lastmod === false ) {
                        return;
                }
@@ -168,7 +158,7 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                        return;
                }
 
-               if ( !$feedFormat ) {
+               if ( !$this->feedFormat ) {
                        $batch = new LinkBatch;
                        foreach ( $rows as $row ) {
                                $batch->add( NS_USER, $row->rc_user_text );
@@ -177,8 +167,8 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                        }
                        $batch->execute();
                }
-               if ( $feedFormat ) {
-                       list( $changesFeed, $formatter ) = $this->getFeedObject( $feedFormat );
+               if ( $this->feedFormat ) {
+                       list( $changesFeed, $formatter ) = $this->getFeedObject( $this->feedFormat );
                        /** @var ChangesFeed $changesFeed */
                        $changesFeed->execute( $formatter, $rows, $lastmod, $opts );
                } else {
@@ -653,7 +643,9 @@ class SpecialRecentChanges extends IncludableSpecialPage {
        }
 
        /**
-        * Return the legend displayed within the fieldset
+        * Return the legend displayed within the fieldset.
+        *
+        * This method is also called from SpecialWatchlist.
         *
         * @param $context the object available as $this in non-static functions
         * @return string
@@ -662,7 +654,7 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                global $wgRecentChangesFlags;
                $user = $context->getUser();
                # The legend showing what the letters and stuff mean
-               $legend = Xml::openElement( 'dl', array( 'class' => 'mw-changeslist-legend' ) ) . "\n";
+               $legend = Xml::openElement( 'dl' ) . "\n";
                # Iterates through them and gets the messages for both letter and tooltip
                $legendItems = $wgRecentChangesFlags;
                if ( !$user->useRCPatrol() ) {
@@ -698,6 +690,14 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                        $context->msg( 'recentchanges-label-plusminus' )->text()
                ) . "\n";
                $legend .= Xml::closeElement( 'dl' ) . "\n";
+
+               # Collapsibility
+               $legend =
+                       '<div class="mw-changeslist-legend">' .
+                               $context->msg( 'recentchanges-legend-heading' )->parse() .
+                               '<div class="mw-collapsible-content">' . $legend . '</div>' .
+                       '</div>';
+
                return $legend;
        }
 
index f37ea20..1c3e05c 100644 (file)
@@ -26,7 +26,7 @@
  *
  * @ingroup SpecialPage
  */
-class SpecialRecentchangeslinked extends SpecialRecentChanges {
+class SpecialRecentChangesLinked extends SpecialRecentChanges {
        var $rclTargetTitle;
 
        function __construct() {
@@ -44,12 +44,6 @@ class SpecialRecentchangeslinked extends SpecialRecentChanges {
                $opts['target'] = $par;
        }
 
-       public function feedSetup() {
-               $opts = parent::feedSetup();
-               $opts['target'] = $this->getRequest()->getVal( 'target' );
-               return $opts;
-       }
-
        public function getFeedObject( $feedFormat ) {
                $feed = new ChangesFeed( $feedFormat, false );
                $feedObj = $feed->getFeedObject(
index f05dacb..8ec6f85 100644 (file)
@@ -135,6 +135,25 @@ class SpecialRedirect extends FormSpecialPage {
                ) );
        }
 
+       /**
+        * Handle Special:Redirect/page/xxx (by redirecting to index.php?curid=xxx)
+        *
+        * @return string|null url to redirect to, or null if $mValue is invalid.
+        */
+       function dispatchPage() {
+               $curid = $this->mValue;
+               if ( !ctype_digit( $curid ) ) {
+                       return null;
+               }
+               $curid = (int)$curid;
+               if ( $curid === 0 ) {
+                       return null;
+               }
+               return wfAppendQuery( wfScript( 'index' ), array(
+                       'curid' => $curid
+               ) );
+       }
+
        /**
         * Use appropriate dispatch* method to obtain a redirection URL,
         * and either: redirect, set a 404 error code and error message,
@@ -155,6 +174,9 @@ class SpecialRedirect extends FormSpecialPage {
                case 'revision':
                        $url = $this->dispatchRevision();
                        break;
+               case 'page':
+                       $url = $this->dispatchPage();
+                       break;
                default:
                        $this->getOutput()->setStatusCode( 404 );
                        $url = null;
@@ -177,8 +199,10 @@ class SpecialRedirect extends FormSpecialPage {
                $mp = $this->getMessagePrefix();
                $ns = array(
                        // subpage => message
-                       // Messages: redirect-user, redirect-revision, redirect-file
+                       // Messages: redirect-user, redirect-page, redirect-revision,
+                       // redirect-file
                        'user' => $mp . '-user',
+                       'page' => $mp . '-page',
                        'revision' => $mp . '-revision',
                        'file' => $mp . '-file',
                );
index 3d23884..36ccaf8 100644 (file)
@@ -37,7 +37,6 @@ class SpecialSearch extends SpecialPage {
         * null|string
         */
        protected $profile;
-       function getProfile() { return $this->profile; }
 
        /// Search engine
        protected $searchEngine;
@@ -60,7 +59,6 @@ class SpecialSearch extends SpecialPage {
         * @var array
         */
        protected $namespaces;
-       function getNamespaces() { return $this->namespaces; }
 
        /**
         * @var bool
@@ -89,7 +87,7 @@ class SpecialSearch extends SpecialPage {
                $out = $this->getOutput();
                $out->allowClickjacking();
                $out->addModuleStyles( array(
-                       'mediawiki.special', 'mediawiki.special.search', 'mediawiki.ui'
+                       'mediawiki.special', 'mediawiki.special.search', 'mediawiki.ui', 'mediawiki.ui.button'
                ) );
 
                // Strip underscores from title parameter; most of the time we'll want
@@ -478,7 +476,7 @@ class SpecialSearch extends SpecialPage {
                if ( strval( $term ) !== '' ) {
                        $out->setPageTitle( $this->msg( 'searchresults' ) );
                        $out->setHTMLTitle( $this->msg( 'pagetitle' )
-                               ->rawParams( $this->msg( 'searchresults-title' )->rawParams( $term ) )
+                               ->rawParams( $this->msg( 'searchresults-title' )->rawParams( $term )->text() )
                                ->inContentLanguage()->text()
                        );
                }
@@ -1189,6 +1187,22 @@ class SpecialSearch extends SpecialPage {
                return $this->searchEngine;
        }
 
+       /**
+        * Current search profile.
+        * @return null|string
+        */
+       function getProfile() {
+               return $this->profile;
+       }
+
+       /**
+        * Current namespaces.
+        * @return array
+        */
+       function getNamespaces() {
+               return $this->namespaces;
+       }
+
        /**
         * Users of hook SpecialSearchSetupEngine can use this to
         * add more params to links to not lose selection when
index d33851d..264eb46 100644 (file)
@@ -1050,26 +1050,19 @@ class SpecialUndelete extends SpecialPage {
 
                $diffEngine = $currentRev->getContentHandler()->createDifferenceEngine( $diffContext );
                $diffEngine->showDiffStyle();
-               $this->getOutput()->addHTML( "<div>" .
-                       "<table style='width: 98%;' cellpadding='0' cellspacing='4' class='diff'>" .
-                       "<col class='diff-marker' />" .
-                       "<col class='diff-content' />" .
-                       "<col class='diff-marker' />" .
-                       "<col class='diff-content' />" .
-                       "<tr>" .
-                       "<td colspan='2' style='width: 50%; text-align: center' class='diff-otitle'>" .
-                       $this->diffHeader( $previousRev, 'o' ) .
-                       "</td>\n" .
-                       "<td colspan='2' style='width: 50%;  text-align: center' class='diff-ntitle'>" .
-                       $this->diffHeader( $currentRev, 'n' ) .
-                       "</td>\n" .
-                       "</tr>" .
-                       $diffEngine->generateContentDiffBody(
-                               $previousRev->getContent( Revision::FOR_THIS_USER, $this->getUser() ),
-                               $currentRev->getContent( Revision::FOR_THIS_USER, $this->getUser() ) ) .
-                       "</table>" .
-                       "</div>\n"
+
+               $formattedDiff = $diffEngine->generateContentDiffBody(
+                       $previousRev->getContent( Revision::FOR_THIS_USER, $this->getUser() ),
+                       $currentRev->getContent( Revision::FOR_THIS_USER, $this->getUser() )
+               );
+
+               $formattedDiff = $diffEngine->addHeader(
+                       $formattedDiff,
+                       $this->diffHeader( $previousRev, 'o' ),
+                       $this->diffHeader( $currentRev, 'n' )
                );
+
+               $this->getOutput()->addHTML( "<div>$formattedDiff</div>\n" );
        }
 
        /**
@@ -1111,6 +1104,8 @@ class SpecialUndelete extends SpecialPage {
                );
                $tagSummary = ChangeTags::formatSummaryRow( $tags, 'deleteddiff' );
 
+               // FIXME This is reimplementing DifferenceEngine#getRevisionHeader
+               // and partially #showDiffPage, but worse
                return '<div id="mw-diff-' . $prefix . 'title1"><strong>' .
                        Linker::link(
                                $targetPage,
index 5e1591d..7c05001 100644 (file)
@@ -1107,10 +1107,8 @@ class UploadSourceField extends HTMLTextField {
         * @return string
         */
        function getLabelHtml( $cellAttributes = array() ) {
-               $id = $this->mParams['id'];
-               $label = Html::rawElement( 'label', array( 'for' => $id ), $this->mLabel );
-
                if ( !empty( $this->mParams['radio'] ) ) {
+                       $id = "wpSourceType{$this->mParams['upload-type']}";
                        $attribs = array(
                                'name' => 'wpSourceType',
                                'type' => 'radio',
@@ -1120,9 +1118,12 @@ class UploadSourceField extends HTMLTextField {
                        if ( !empty( $this->mParams['checked'] ) ) {
                                $attribs['checked'] = 'checked';
                        }
+                       $label = Html::rawElement( 'label', array( 'for' => $id ), $this->mLabel );
                        $label .= Html::element( 'input', $attribs );
+               } else {
+                       $id = $this->mParams['id'];
+                       $label = Html::rawElement( 'label', array( 'for' => $id ), $this->mLabel );
                }
-
                return Html::rawElement( 'td', array( 'class' => 'mw-label' ) + $cellAttributes, $label );
        }
 
index e701e0f..d071e75 100644 (file)
@@ -507,9 +507,12 @@ class LoginForm extends SpecialPage {
                $u->setOption( 'rememberpassword', $this->mRemember ? 1 : 0 );
                $u->saveSettings();
 
-               # Update user count
+               // Update user count
                DeferredUpdates::addUpdate( new SiteStatsUpdate( 0, 0, 0, 0, 1 ) );
 
+               // Watch user's userpage and talk page
+               $u->addWatch( $u->getUserPage(), WatchedItem::IGNORE_USER_RIGHTS );
+
                return Status::newGood( $u );
        }
 
@@ -977,14 +980,23 @@ class LoginForm extends SpecialPage {
                # haven't bothered to log out before trying to create an account to
                # evade it, but we'll leave that to their guilty conscience to figure
                # out.
+               $errorParams = array(
+                       $block->getTarget(),
+                       $block->mReason ? $block->mReason : $this->msg( 'blockednoreason' )->text(),
+                       $block->getByName()
+               );
+
+               if ( $block->getType() === Block::TYPE_RANGE ) {
+                       $errorMessage = 'cantcreateaccount-range-text';
+                       $errorParams[] = $this->getRequest()->getIP();
+               } else {
+                       $errorMessage = 'cantcreateaccount-text';
+               }
+
                throw new ErrorPageError(
                        'cantcreateaccounttitle',
-                       'cantcreateaccount-text',
-                       array(
-                               $block->getTarget(),
-                               $block->mReason ? $block->mReason : $this->msg( 'blockednoreason' )->text(),
-                               $block->getByName()
-                       )
+                       $errorMessage,
+                       $errorParams
                );
        }
 
@@ -1091,36 +1103,44 @@ class LoginForm extends SpecialPage {
                        }
                }
 
-               if ( $this->mType == 'signup' ) {
-                       $template = new UsercreateTemplate();
+               // Generic styles and scripts for both login and signup form
+               $out->addModuleStyles( array(
+                       'mediawiki.ui',
+                       'mediawiki.ui.button',
+                       'mediawiki.special.userlogin.common.styles'
+               ) );
+               $out->addModules( array(
+                       'mediawiki.special.userlogin.common.js'
+               ) );
 
-                       $out->addModuleStyles( array(
-                               'mediawiki.ui',
-                               'mediawiki.special.createaccount'
-                       ) );
+               if ( $this->mType == 'signup' ) {
                        // XXX hack pending RL or JS parse() support for complex content messages
                        // https://bugzilla.wikimedia.org/show_bug.cgi?id=25349
                        $out->addJsConfigVars( 'wgCreateacctImgcaptchaHelp',
                                $this->msg( 'createacct-imgcaptcha-help' )->parse() );
+
+                       // Additional styles and scripts for signup form
                        $out->addModules( array(
-                               'mediawiki.special.createaccount.js'
+                               'mediawiki.special.userlogin.signup.js'
+                       ) );
+                       $out->addModuleStyles( array(
+                               'mediawiki.special.userlogin.signup.styles'
                        ) );
+
+                       $template = new UsercreateTemplate();
+
                        // Must match number of benefits defined in messages
                        $template->set( 'benefitCount', 3 );
 
                        $q = 'action=submitlogin&type=signup';
                        $linkq = 'type=login';
                } else {
-                       $template = new UserloginTemplate();
-
+                       // Additional styles for login form
                        $out->addModuleStyles( array(
-                               'mediawiki.ui',
-                               'mediawiki.special.userlogin'
+                               'mediawiki.special.userlogin.login.styles'
                        ) );
 
-                       $out->addModules( array(
-                               'mediawiki.special.createaccount.js'
-                       ) );
+                       $template = new UserloginTemplate();
 
                        $q = 'action=submitlogin&type=login';
                        $linkq = 'type=signup';
index d2ffdb9..c8ba4ac 100644 (file)
@@ -29,6 +29,7 @@
  * @ingroup SpecialPage
  */
 class WantedCategoriesPage extends WantedQueryPage {
+       private $currentCategoryCounts;
 
        function __construct( $name = 'Wantedcategories' ) {
                parent::__construct( $name );
@@ -48,6 +49,37 @@ class WantedCategoriesPage extends WantedQueryPage {
                );
        }
 
+       function preprocessResults( $db, $res ) {
+               parent::preprocessResults( $db, $res );
+
+               $this->currentCategoryCounts = array();
+
+               if ( !$res->numRows() || !$this->isCached() ) {
+                       return;
+               }
+
+               // Fetch (hopefully) up-to-date numbers of pages in each category.
+               // This should be fast enough as we limit the list to a reasonable length.
+
+               $allCategories = array();
+               foreach ( $res as $row ) {
+                       $allCategories[] = $row->title;
+               }
+
+               $categoryRes = $db->select(
+                       'category',
+                       array( 'cat_title', 'cat_pages' ),
+                       array( 'cat_title' => $allCategories ),
+                       __METHOD__
+               );
+               foreach ( $categoryRes as $row ) {
+                       $this->currentCategoryCounts[ $row->cat_title ] = $row->cat_pages;
+               }
+
+               // Back to start for display
+               $res->seek( 0 );
+       }
+
        /**
         * @param Skin $skin
         * @param object $result Result row
@@ -59,17 +91,37 @@ class WantedCategoriesPage extends WantedQueryPage {
                $nt = Title::makeTitle( $result->namespace, $result->title );
                $text = htmlspecialchars( $wgContLang->convert( $nt->getText() ) );
 
-               $plink = $this->isCached() ?
-                       Linker::link( $nt, $text ) :
-                       Linker::link(
+               if ( !$this->isCached() ) {
+                       // We can assume the freshest data
+                       $plink = Linker::link(
                                $nt,
                                $text,
                                array(),
                                array(),
                                array( 'broken' )
                        );
+                       $nlinks = $this->msg( 'nmembers' )->numParams( $result->value )->escaped();
+               } else {
+                       $plink = Linker::link( $nt, $text );
+
+                       $currentValue = isset( $this->currentCategoryCounts[ $result->title ] )
+                               ? $this->currentCategoryCounts[ $result->title ]
+                               : 0;
+
+                       // If the category has been created or emptied since the list was refreshed, strike it
+                       if ( $nt->isKnown() || $currentValue === 0 ) {
+                               $plink = "<del>$plink</del>";
+                       }
+
+                       // Show the current number of category entries if it changed
+                       if ( $currentValue !== $result->value ) {
+                               $nlinks = $this->msg( 'nmemberschanged' )
+                                       ->numParams( $result->value, $currentValue )->escaped();
+                       } else {
+                               $nlinks = $this->msg( 'nmembers' )->numParams( $result->value )->escaped();
+                       }
+               }
 
-               $nlinks = $this->msg( 'nmembers' )->numParams( $result->value )->escaped();
                return $this->getLanguage()->specialList( $plink, $nlinks );
        }
 
index 9e93881..4d86744 100644 (file)
@@ -40,6 +40,7 @@ class SpecialWatchlist extends SpecialPage {
                $user = $this->getUser();
                $output = $this->getOutput();
                $output->addModuleStyles( 'mediawiki.special.changeslist' );
+               $output->addModules( 'mediawiki.special.changeslist.js' );
 
                # Anons don't get a watchlist
                $this->requireLogin( 'watchlistanontext' );
index 0201d5f..19b4dfd 100644 (file)
@@ -204,13 +204,16 @@ class UploadFromUrl extends UploadBase {
                }
                return Status::newGood();
        }
+
        /**
         * Create a new temporary file in the URL subdirectory of wfTempDir().
         *
         * @return string Path to the file
         */
        protected function makeTemporaryFile() {
-               return tempnam( wfTempDir(), 'URL' );
+               $tmpFile = TempFSFile::factory( 'URL' );
+               $tmpFile->bind( $this );
+               return $tmpFile->getPath();
        }
 
        /**
index 002dcd9..2686e11 100644 (file)
@@ -367,7 +367,6 @@ class IP {
        /**
         * Determine if an IP address really is an IP address, and if it is public,
         * i.e. not RFC 1918 or similar
-        * Comes from ProxyTools.php
         *
         * @param $ip String
         * @return Boolean
@@ -482,7 +481,6 @@ class IP {
        /**
         * Given an IP address in dotted-quad/octet notation, returns an unsigned integer.
         * Like ip2long() except that it actually works and has a consistent error return value.
-        * Comes from ProxyTools.php
         *
         * @param string $ip quad dotted IP address.
         * @return Mixed: string/int/false
index 0026fdf..23506e9 100644 (file)
@@ -929,6 +929,7 @@ class Language {
         * @since 1.20
         */
        public static function fetchLanguageName( $code, $inLanguage = null, $include = 'all' ) {
+               $code = strtolower( $code );
                $array = self::fetchLanguageNames( $inLanguage, $include );
                return !array_key_exists( $code, $array ) ? '' : $array[$code];
        }
diff --git a/languages/classes/LanguageGv.php b/languages/classes/LanguageGv.php
deleted file mode 100644 (file)
index 23a2916..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-/**
- * Manx (Gaelg) specific code.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @author Niklas Laxström
- * @ingroup Language
- */
-
-/**
- * Manx (Gaelg)
- *
- * @ingroup Language
- */
-class LanguageGv extends Language {
-
-       /**
-        * @param $count int
-        * @param $forms array
-        * @return string
-        */
-       function convertPlural( $count, $forms ) {
-               $forms = $this->handleExplicitPluralForms( $count, $forms );
-               if ( is_string( $forms ) ) {
-                       return $forms;
-               }
-               if ( !count( $forms ) ) {
-                       return '';
-               }
-
-               $forms = $this->preConvertPlural( $forms, 4 );
-
-               if ( $count > 0 && ( $count % 20 ) === 0 ) {
-                       return $forms[0];
-               } else {
-                       switch ( $count % 10 ) {
-                               case 1: return $forms[1];
-                               case 2: return $forms[2];
-                               default: return $forms[3];
-                       }
-               }
-       }
-
-}
index abd2e7c..a46eafb 100644 (file)
@@ -39,23 +39,23 @@ class IuConverter extends LanguageConverter {
 
        protected $mDoContentConvert;
        public $mToLatin = array(
-               'ᐦ' => 'h',   'ᐃ' => 'i',    'ᐄ' => 'ii',    'ᐅ' => 'u',    'ᐆ' => 'uu',    'ᐊ' => 'a',    'ᐋ' => 'aa',
-               'ᑉ' => 'p',   'ᐱ' => 'pi',   'ᐲ' => 'pii',   'ᐳ' => 'pu',   'ᐴ' => 'puu',   'ᐸ' => 'pa',   'ᐹ' => 'paa',
-               'ᑦ' => 't',   'ᑎ' => 'ti',   'ᑏ' => 'tii',   'ᑐ' => 'tu',   'ᑑ' => 'tuu',   'ᑕ' => 'ta',   'ᑖ' => 'taa',
-               'ᒃ' => 'k',   'ᑭ' => 'ki',   'ᑮ' => 'kii',   'ᑯ' => 'ku',   'ᑰ' => 'kuu',   'ᑲ' => 'ka',   'ᑳ' => 'kaa',
+               'ᐦ' => 'h', 'ᐃ' => 'i', 'ᐄ' => 'ii', 'ᐅ' => 'u', 'ᐆ' => 'uu', 'ᐊ' => 'a', 'ᐋ' => 'aa',
+               'ᑉ' => 'p', 'ᐱ' => 'pi', 'ᐲ' => 'pii', 'ᐳ' => 'pu', 'ᐴ' => 'puu', 'ᐸ' => 'pa', 'ᐹ' => 'paa',
+               'ᑦ' => 't', 'ᑎ' => 'ti', 'ᑏ' => 'tii', 'ᑐ' => 'tu', 'ᑑ' => 'tuu', 'ᑕ' => 'ta', 'ᑖ' => 'taa',
+               'ᒃ' => 'k', 'ᑭ' => 'ki', 'ᑮ' => 'kii', 'ᑯ' => 'ku', 'ᑰ' => 'kuu', 'ᑲ' => 'ka', 'ᑳ' => 'kaa',
                'ᖅᒃ' => 'qq', 'ᖅᑭ' => 'qqi', 'ᖅᑮ' => 'qqii', 'ᖅᑯ' => 'qqu', 'ᖅᑰ' => 'ᖅqquu', 'ᖅᑲ' => 'qqa', 'ᖅᑳ' => 'qqaa',
-               'ᒡ' => 'g',   'ᒋ' => 'gi',   'ᒌ' => 'gii',   'ᒍ' => 'gu',   'ᒎ' => 'guu',   'ᒐ' => 'ga',   'ᒑ' => 'gaa',
-               'ᒻ' => 'm',   'ᒥ' => 'mi',   'ᒦ' => 'mii',   'ᒧ' => 'mu',   'ᒨ' => 'muu',   'ᒪ' => 'ma',   'ᒫ' => 'maa',
-               'ᓐ' => 'n',   'ᓂ' => 'ni',  'ᓃ' => 'nii',   'ᓄ' => 'nu',   'ᓅ' => 'nuu',   'ᓇ' => 'na',   'ᓈ' => 'naa',
-               'ᔅ' => 's',   'ᓯ' => 'si',   'ᓰ' => 'sii',   'ᓱ' => 'su',   'ᓲ' => 'suu',   'ᓴ' => 'sa',   'ᓵ' => 'saa',
-               'ᓪ' => 'l',   'ᓕ' => 'li',  'ᓖ' => 'lii',   'ᓗ' => 'lu',   'ᓘ' => 'luu',   'ᓚ' => 'la',   'ᓛ' => 'laa',
-               'ᔾ' => 'j',   'ᔨ' => 'ji',   'ᔩ' => 'jii',   'ᔪ' => 'ju',   'ᔫ' => 'juu',   'ᔭ' => 'ja',   'ᔮ' => 'jaa',
-               'ᕝ' => 'v',   'ᕕ' => 'vi',   'ᕖ' => 'vii',   'ᕗ' => 'vu',   'ᕘ' => 'vuu',   'ᕙ' => 'va',   'ᕚ' => 'vaa',
-               'ᕐ' => 'r',   'ᕆ' => 'ri',   'ᕇ' => 'rii',   'ᕈ' => 'ru',   'ᕉ' => 'ruu',   'ᕋ' => 'ra',   'ᕌ' => 'raa',
-               'ᖅ' => 'q',   'ᕿ' => 'qi',   'ᖀ' => 'qii',   'ᖁ' => 'qu',   'ᖂ' => 'quu',   'ᖃ' => 'qa',   'ᖄ' => 'qaa',
-               'ᖕ' => 'ng',  'ᖏ' => 'ngi',  'ᖐ' => 'ngii',  'ᖑ' => 'ngu',  'ᖒ' => 'nguu',  'ᖓ' => 'nga',  'ᖔ' => 'ngaa',
+               'ᒡ' => 'g', 'ᒋ' => 'gi', 'ᒌ' => 'gii', 'ᒍ' => 'gu', 'ᒎ' => 'guu', 'ᒐ' => 'ga', 'ᒑ' => 'gaa',
+               'ᒻ' => 'm', 'ᒥ' => 'mi', 'ᒦ' => 'mii', 'ᒧ' => 'mu', 'ᒨ' => 'muu', 'ᒪ' => 'ma', 'ᒫ' => 'maa',
+               'ᓐ' => 'n', 'ᓂ' => 'ni', 'ᓃ' => 'nii', 'ᓄ' => 'nu', 'ᓅ' => 'nuu', 'ᓇ' => 'na', 'ᓈ' => 'naa',
+               'ᔅ' => 's', 'ᓯ' => 'si', 'ᓰ' => 'sii', 'ᓱ' => 'su', 'ᓲ' => 'suu', 'ᓴ' => 'sa', 'ᓵ' => 'saa',
+               'ᓪ' => 'l', 'ᓕ' => 'li', 'ᓖ' => 'lii', 'ᓗ' => 'lu', 'ᓘ' => 'luu', 'ᓚ' => 'la', 'ᓛ' => 'laa',
+               'ᔾ' => 'j', 'ᔨ' => 'ji', 'ᔩ' => 'jii', 'ᔪ' => 'ju', 'ᔫ' => 'juu', 'ᔭ' => 'ja', 'ᔮ' => 'jaa',
+               'ᕝ' => 'v', 'ᕕ' => 'vi', 'ᕖ' => 'vii', 'ᕗ' => 'vu', 'ᕘ' => 'vuu', 'ᕙ' => 'va', 'ᕚ' => 'vaa',
+               'ᕐ' => 'r', 'ᕆ' => 'ri', 'ᕇ' => 'rii', 'ᕈ' => 'ru', 'ᕉ' => 'ruu', 'ᕋ' => 'ra', 'ᕌ' => 'raa',
+               'ᖅ' => 'q', 'ᕿ' => 'qi', 'ᖀ' => 'qii', 'ᖁ' => 'qu', 'ᖂ' => 'quu', 'ᖃ' => 'qa', 'ᖄ' => 'qaa',
+               'ᖕ' => 'ng', 'ᖏ' => 'ngi', 'ᖐ' => 'ngii', 'ᖑ' => 'ngu', 'ᖒ' => 'nguu', 'ᖓ' => 'nga', 'ᖔ' => 'ngaa',
                'ᖖ' => 'nng', 'ᙱ' => 'nngi', 'ᙲ' => 'nngii', 'ᙳ' => 'nngu', 'ᙴ' => 'nnguu', 'ᙵ' => 'nnga', 'ᙶ' => 'nngaa',
-               'ᖦ' => 'ɫ',   'ᖠ' => 'ɫi',    'ᖡ' => 'ɫii',   'ᖢ' => 'ɫu',    'ᖣ' => 'ɫuu',   'ᖤ' => 'ɫa',    'ᖥ' => 'ɫaa',
+               'ᖦ' => 'ɫ', 'ᖠ' => 'ɫi', 'ᖡ' => 'ɫii', 'ᖢ' => 'ɫu', 'ᖣ' => 'ɫuu', 'ᖤ' => 'ɫa', 'ᖥ' => 'ɫaa',
        );
 
        public $mUpperToLowerCaseLatin = array(
@@ -68,23 +68,23 @@ class IuConverter extends LanguageConverter {
        );
 
        public $mToSyllabics = array(
-               'h' => 'ᐦ',   'i' => 'ᐃ',    'ii' => 'ᐄ',    'u' => 'ᐅ',    'uu' => 'ᐆ',    'a' => 'ᐊ',    'aa' => 'ᐋ',
-               'p' => 'ᑉ',   'pi' => 'ᐱ',   'pii' => 'ᐲ',   'pu' => 'ᐳ',   'puu' => 'ᐴ',   'pa' => 'ᐸ',   'paa' => 'ᐹ',
-               't' => 'ᑦ',   'ti' => 'ᑎ',   'tii' => 'ᑏ',   'tu' => 'ᑐ',   'tuu' => 'ᑑ',   'ta' => 'ᑕ',   'taa' => 'ᑖ',
-               'k' => 'ᒃ',   'ki' => 'ᑭ',   'kii' => 'ᑮ',   'ku' => 'ᑯ',   'kuu' => 'ᑰ',   'ka' => 'ᑲ',   'kaa' => 'ᑳ',
-               'g' => 'ᒡ',   'gi' => 'ᒋ',   'gii' => 'ᒌ',   'gu' => 'ᒍ',   'guu' => 'ᒎ',   'ga' => 'ᒐ',   'gaa' => 'ᒑ',
-               'm' => 'ᒻ',   'mi' => 'ᒥ',   'mii' => 'ᒦ',   'mu' => 'ᒧ',   'muu' => 'ᒨ',   'ma' => 'ᒪ',   'maa' => 'ᒫ',
-               'n' => 'ᓐ',   'ni' => 'ᓂ',   'nii' => 'ᓃ',   'nu' => 'ᓄ',   'nuu' => 'ᓅ',   'na' => 'ᓇ',   'naa' => 'ᓈ',
-               's' => 'ᔅ',   'si' => 'ᓯ',   'sii' => 'ᓰ',   'su' => 'ᓱ',   'suu' => 'ᓲ',   'sa' => 'ᓴ',   'saa' => 'ᓵ',
-               'l' => 'ᓪ',   'li' => 'ᓕ',   'lii' => 'ᓖ',   'lu' => 'ᓗ',   'luu' => 'ᓘ',   'la' => 'ᓚ',   'laa' => 'ᓛ',
-               'j' => 'ᔾ',   'ji' => 'ᔨ',   'jii' => 'ᔩ',   'ju' => 'ᔪ',   'juu' => 'ᔫ',   'ja' => 'ᔭ',   'jaa' => 'ᔮ',
-               'v' => 'ᕝ',   'vi' => 'ᕕ',   'vii' => 'ᕖ',   'vu' => 'ᕗ',   'vuu' => 'ᕘ',   'va' => 'ᕙ',   'vaa' => 'ᕚ',
-               'r' => 'ᕐ',   'ri' => 'ᕆ',   'rii' => 'ᕇ',   'ru' => 'ᕈ',   'ruu' => 'ᕉ',   'ra' => 'ᕋ',   'raa' => 'ᕌ',
-               'qq' => 'ᖅᒃ',  'qqi' => 'ᖅᑭ',  'qqii' => 'ᖅᑮ',  'qqu' => 'ᖅᑯ',  'qquu' => 'ᖅᑰ',  'qqa' => 'ᖅᑲ',  'qqaa' => 'ᖅᑳ',
-               'q' => 'ᖅ',   'qi' => 'ᕿ',   'qii' => 'ᖀ',   'qu' => 'ᖁ',   'quu' => 'ᖂ',   'qa' => 'ᖃ',   'qaa' => 'ᖄ',
-               'ng' => 'ᖕ',  'ngi' => 'ᖏ',  'ngii' => 'ᖐ',  'ngu' => 'ᖑ',  'nguu' => 'ᖒ',  'nga' => 'ᖓ',  'ngaa' => 'ᖔ',
+               'h' => 'ᐦ', 'i' => 'ᐃ', 'ii' => 'ᐄ', 'u' => 'ᐅ', 'uu' => 'ᐆ', 'a' => 'ᐊ', 'aa' => 'ᐋ',
+               'p' => 'ᑉ', 'pi' => 'ᐱ', 'pii' => 'ᐲ', 'pu' => 'ᐳ', 'puu' => 'ᐴ', 'pa' => 'ᐸ', 'paa' => 'ᐹ',
+               't' => 'ᑦ', 'ti' => 'ᑎ', 'tii' => 'ᑏ', 'tu' => 'ᑐ', 'tuu' => 'ᑑ', 'ta' => 'ᑕ', 'taa' => 'ᑖ',
+               'k' => 'ᒃ', 'ki' => 'ᑭ', 'kii' => 'ᑮ', 'ku' => 'ᑯ', 'kuu' => 'ᑰ', 'ka' => 'ᑲ', 'kaa' => 'ᑳ',
+               'g' => 'ᒡ', 'gi' => 'ᒋ', 'gii' => 'ᒌ', 'gu' => 'ᒍ', 'guu' => 'ᒎ', 'ga' => 'ᒐ', 'gaa' => 'ᒑ',
+               'm' => 'ᒻ', 'mi' => 'ᒥ', 'mii' => 'ᒦ', 'mu' => 'ᒧ', 'muu' => 'ᒨ', 'ma' => 'ᒪ', 'maa' => 'ᒫ',
+               'n' => 'ᓐ', 'ni' => 'ᓂ', 'nii' => 'ᓃ', 'nu' => 'ᓄ', 'nuu' => 'ᓅ', 'na' => 'ᓇ', 'naa' => 'ᓈ',
+               's' => 'ᔅ', 'si' => 'ᓯ', 'sii' => 'ᓰ', 'su' => 'ᓱ', 'suu' => 'ᓲ', 'sa' => 'ᓴ', 'saa' => 'ᓵ',
+               'l' => 'ᓪ', 'li' => 'ᓕ', 'lii' => 'ᓖ', 'lu' => 'ᓗ', 'luu' => 'ᓘ', 'la' => 'ᓚ', 'laa' => 'ᓛ',
+               'j' => 'ᔾ', 'ji' => 'ᔨ', 'jii' => 'ᔩ', 'ju' => 'ᔪ', 'juu' => 'ᔫ', 'ja' => 'ᔭ', 'jaa' => 'ᔮ',
+               'v' => 'ᕝ', 'vi' => 'ᕕ', 'vii' => 'ᕖ', 'vu' => 'ᕗ', 'vuu' => 'ᕘ', 'va' => 'ᕙ', 'vaa' => 'ᕚ',
+               'r' => 'ᕐ', 'ri' => 'ᕆ', 'rii' => 'ᕇ', 'ru' => 'ᕈ', 'ruu' => 'ᕉ', 'ra' => 'ᕋ', 'raa' => 'ᕌ',
+               'qq' => 'ᖅᒃ', 'qqi' => 'ᖅᑭ', 'qqii' => 'ᖅᑮ', 'qqu' => 'ᖅᑯ', 'qquu' => 'ᖅᑰ', 'qqa' => 'ᖅᑲ', 'qqaa' => 'ᖅᑳ',
+               'q' => 'ᖅ', 'qi' => 'ᕿ', 'qii' => 'ᖀ', 'qu' => 'ᖁ', 'quu' => 'ᖂ', 'qa' => 'ᖃ', 'qaa' => 'ᖄ',
+               'ng' => 'ᖕ', 'ngi' => 'ᖏ', 'ngii' => 'ᖐ', 'ngu' => 'ᖑ', 'nguu' => 'ᖒ', 'nga' => 'ᖓ', 'ngaa' => 'ᖔ',
                'nng' => 'ᖖ', 'nngi' => 'ᙱ', 'nngii' => 'ᙲ', 'nngu' => 'ᙳ', 'nnguu' => 'ᙴ', 'nnga' => 'ᙵ', 'nngaa' => 'ᙶ',
-               'ɫ' => 'ᖦ',   'ɫi' => 'ᖠ',    'ɫii' => 'ᖡ',   'ɫu' => 'ᖢ',    'ɫuu' => 'ᖣ',   'ɫa' => 'ᖤ',    'ɫaa' => 'ᖥ',
+               'ɫ' => 'ᖦ', 'ɫi' => 'ᖠ', 'ɫii' => 'ᖡ', 'ɫu' => 'ᖢ', 'ɫuu' => 'ᖣ', 'ɫa' => 'ᖤ', 'ɫaa' => 'ᖥ',
        );
 
        function loadDefaultTables() {
@@ -215,7 +215,7 @@ class LanguageIu extends Language {
 
                $variants = array( 'iu', 'ike-cans', 'ike-latn' );
                $variantfallbacks = array(
-                       'iu'    => 'ike-cans',
+                       'iu' => 'ike-cans',
                        'ike-cans' => 'iu',
                        'ike-latn' => 'iu',
                );
index 7310e8e..283ef22 100644 (file)
@@ -36,35 +36,35 @@ require_once __DIR__ . '/LanguageSr_el.php';
  */
 class SrConverter extends LanguageConverter {
        public $mToLatin = array(
-               'а' => 'a', 'б' => 'b',  'в' => 'v', 'г' => 'g',  'д' => 'd',
-               'ђ' => 'đ', 'е' => 'e',  'ж' => 'ž', 'з' => 'z',  'и' => 'i',
-               'ј' => 'j', 'к' => 'k',  'л' => 'l', 'љ' => 'lj', 'м' => 'm',
-               'н' => 'n', 'њ' => 'nj', 'о' => 'o', 'п' => 'p',  'р' => 'r',
-               'с' => 's', 'т' => 't',  'ћ' => 'ć', 'у' => 'u',  'ф' => 'f',
-               'х' => 'h', 'ц' => 'c',  'ч' => 'č', 'џ' => 'dž', 'ш' => 'š',
+               'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd',
+               'ђ' => 'đ', 'е' => 'e', 'ж' => 'ž', 'з' => 'z', 'и' => 'i',
+               'ј' => 'j', 'к' => 'k', 'л' => 'l', 'љ' => 'lj', 'м' => 'm',
+               'н' => 'n', 'њ' => 'nj', 'о' => 'o', 'п' => 'p', 'р' => 'r',
+               'с' => 's', 'т' => 't', 'ћ' => 'ć', 'у' => 'u', 'ф' => 'f',
+               'х' => 'h', 'ц' => 'c', 'ч' => 'č', 'џ' => 'dž', 'ш' => 'š',
 
-               'А' => 'A', 'Б' => 'B',  'В' => 'V', 'Г' => 'G',  'Д' => 'D',
-               'Ђ' => 'Đ', 'Е' => 'E',  'Ж' => 'Ž', 'З' => 'Z',  'И' => 'I',
-               'Ј' => 'J', 'К' => 'K',  'Л' => 'L', 'Љ' => 'Lj', 'М' => 'M',
-               'Н' => 'N', 'Њ' => 'Nj', 'О' => 'O', 'П' => 'P',  'Р' => 'R',
-               'С' => 'S', 'Т' => 'T',  'Ћ' => 'Ć', 'У' => 'U',  'Ф' => 'F',
-               'Х' => 'H', 'Ц' => 'C',  'Ч' => 'Č', 'Џ' => 'Dž', 'Ш' => 'Š',
+               'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D',
+               'Ђ' => 'Đ', 'Е' => 'E', 'Ж' => 'Ž', 'З' => 'Z', 'И' => 'I',
+               'Ј' => 'J', 'К' => 'K', 'Л' => 'L', 'Љ' => 'Lj', 'М' => 'M',
+               'Н' => 'N', 'Њ' => 'Nj', 'О' => 'O', 'П' => 'P', 'Р' => 'R',
+               'С' => 'S', 'Т' => 'T', 'Ћ' => 'Ć', 'У' => 'U', 'Ф' => 'F',
+               'Х' => 'H', 'Ц' => 'C', 'Ч' => 'Č', 'Џ' => 'Dž', 'Ш' => 'Š',
        );
 
        public $mToCyrillics = array(
-               'a' => 'а', 'b'  => 'б', 'c' => 'ц', 'č' => 'ч', 'ć'  => 'ћ',
-               'd' => 'д', 'dž' => 'џ', 'đ' => 'ђ', 'e' => 'е', 'f'  => 'ф',
-               'g' => 'г', 'h'  => 'х', 'i' => 'и', 'j' => 'ј', 'k'  => 'к',
+               'a' => 'а', 'b' => 'б', 'c' => 'ц', 'č' => 'ч', 'ć' => 'ћ',
+               'd' => 'д', 'dž' => 'џ', 'đ' => 'ђ', 'e' => 'е', 'f' => 'ф',
+               'g' => 'г', 'h' => 'х', 'i' => 'и', 'j' => 'ј', 'k' => 'к',
                'l' => 'л', 'lj' => 'љ', 'm' => 'м', 'n' => 'н', 'nj' => 'њ',
-               'o' => 'о', 'p'  => 'п', 'r' => 'р', 's' => 'с', 'š'  => 'ш',
-               't' => 'т', 'u'  => 'у', 'v' => 'в', 'z' => 'з', 'ž'  => 'ж',
+               'o' => 'о', 'p' => 'п', 'r' => 'р', 's' => 'с', 'š' => 'ш',
+               't' => 'т', 'u' => 'у', 'v' => 'в', 'z' => 'з', 'ž' => 'ж',
 
-               'A' => 'А', 'B'  => 'Б', 'C' => 'Ц', 'Č' => 'Ч', 'Ć'  => 'Ћ',
-               'D' => 'Д', 'Dž' => 'Џ', 'Đ' => 'Ђ', 'E' => 'Е', 'F'  => 'Ф',
-               'G' => 'Г', 'H'  => 'Х', 'I' => 'И', 'J' => 'Ј', 'K'  => 'К',
+               'A' => 'А', 'B' => 'Б', 'C' => 'Ц', 'Č' => 'Ч', 'Ć' => 'Ћ',
+               'D' => 'Д', 'Dž' => 'Џ', 'Đ' => 'Ђ', 'E' => 'Е', 'F' => 'Ф',
+               'G' => 'Г', 'H' => 'Х', 'I' => 'И', 'J' => 'Ј', 'K' => 'К',
                'L' => 'Л', 'LJ' => 'Љ', 'M' => 'М', 'N' => 'Н', 'NJ' => 'Њ',
-               'O' => 'О', 'P'  => 'П', 'R' => 'Р', 'S' => 'С', 'Š'  => 'Ш',
-               'T' => 'Т', 'U'  => 'У', 'V' => 'В', 'Z' => 'З', 'Ž'  => 'Ж',
+               'O' => 'О', 'P' => 'П', 'R' => 'Р', 'S' => 'С', 'Š' => 'Ш',
+               'T' => 'Т', 'U' => 'У', 'V' => 'В', 'Z' => 'З', 'Ž' => 'Ж',
 
                'DŽ' => 'Џ', 'd!ž' => 'дж', 'D!ž' => 'Дж', 'D!Ž' => 'ДЖ',
                'Lj' => 'Љ', 'l!j' => 'лј', 'L!j' => 'Лј', 'L!J' => 'ЛЈ',
index 70d45a3..3314793 100644 (file)
                        <pluralRule count="two">n mod 10 is 2 and n mod 100 is not 12</pluralRule>
                        <pluralRule count="few">n is 0 or n mod 100 is 0 or n mod 100 in 10..19</pluralRule>
                </pluralRules>
+               <!-- Override as per https://bugzilla.wikimedia.org/show_bug.cgi?id=47099, porting from CLDR 24 -->
+               <pluralRules locales="gv">
+                       <pluralRule count="one">n mod 10 is 1</pluralRule>
+                       <pluralRule count="two">n mod 10 is 2</pluralRule>
+                       <pluralRule count="few">n mod 100 in 0,20,40,60</pluralRule>
+               </pluralRules>
        </plurals>
 </supplementalData>
index 7f28c22..c61d64f 100644 (file)
@@ -1589,16 +1589,18 @@ As u dit verskaf, sal dit gebruik word om erkenning vir u werk te gee.',
 'recentchanges-summary' => 'Volg die mees onlangse wysigings aan die wiki op die bladsy.',
 'recentchanges-noresult' => 'Geen wysigings gedurende die tydperk pas die kriteria nie.',
 'recentchanges-feed-description' => 'Hierdie voer laat u toe om die mees onlangse wysigings aan die wiki te volg.',
-'recentchanges-label-newpage' => "Met die wysiging is 'n nuwe bladsy geskep",
+'recentchanges-label-newpage' => "Met die wysiging is 'n nuwe bladsy geskep.",
 'recentchanges-label-minor' => "Hierdie is 'n klein wysiging",
-'recentchanges-label-bot' => "Hierdie wysiging was deur 'n bot uitgevoer",
+'recentchanges-label-bot' => "Hierdie wysiging is deur 'n bot uitgevoer",
 'recentchanges-label-unpatrolled' => 'Die wysiging is nog nie gekontroleer nie',
+'recentchanges-label-plusminus' => 'Bladsy is met die aantal grepe gewysig',
+'recentchanges-legend-heading' => "'''Sleutel:'''",
 'recentchanges-legend-newpage' => '$1 - nuwe bladsy',
 'rcnotefrom' => "Hier volg wysigings sedert '''$2''' (maksimum van '''$1''' word gewys).",
 'rclistfrom' => 'Vertoon wysigings vanaf $1',
 'rcshowhideminor' => '$1 klein wysigings',
 'rcshowhidebots' => '$1 robotte',
-'rcshowhideliu' => '$1 aangetekende gebruikers',
+'rcshowhideliu' => '$1 geregistreerde gebruikers',
 'rcshowhideanons' => '$1 anonieme gebruikers',
 'rcshowhidepatr' => '$1 gekontroleerde wysigings',
 'rcshowhidemine' => '$1 my wysigings',
@@ -2056,6 +2058,7 @@ Elke ry bevat skakels na die eerste en die tweede aanstuur, asook die eerste re
 'ninterwikis' => '$1 {{PLURAL:$1|interwikiskakel|interwikiskakels}}',
 'nlinks' => '$1 {{PLURAL:$1|skakel|skakels}}',
 'nmembers' => '$1 {{PLURAL:$1|lid|lede}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|lid|lede}}',
 'nrevisions' => '$1 {{PLURAL:$1|weergawe|weergawes}}',
 'nviews' => '$1 {{PLURAL:$1|keer|kere}} aangevra',
 'nimagelinks' => 'Gebruik op {{PLURAL:$1|een bladsy|$1 bladsye}}',
@@ -3122,7 +3125,7 @@ $1',
 'svg-long-desc' => 'SVG-lêer, normaalweg $1 × $2 piksels, lêergrootte: $3',
 'svg-long-desc-animated' => 'Geanimeerde SVG-lêer, normaalweg $1 × $2 piksels, lêergrootte: $3',
 'svg-long-error' => 'Ongeldige SVG-lêer: $1',
-'show-big-image' => 'Volle resolusie',
+'show-big-image' => 'Oorspronklike lêer',
 'show-big-image-preview' => 'Grootte van hierdie voorskou: $1.',
 'show-big-image-other' => 'Ander {{PLURAL:$2|resolusie|resolusies}}: $1.',
 'show-big-image-size' => '$1 × $2 piksels',
@@ -3684,6 +3687,10 @@ Bevestig dat u die bladsy wil herskep.',
 'imgmultigo' => 'Laat waai!',
 'imgmultigoto' => 'Gaan na bladsy $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(standaard taal)',
+'img-lang-go' => 'OK',
+
 # Table pager
 'ascending_abbrev' => 'op',
 'descending_abbrev' => 'af',
@@ -3812,6 +3819,7 @@ Saam met die program moes u \'n [{{SERVER}}{{SCRIPTPATH}}/COPYING kopie van van
 
 # Special:SpecialPages
 'specialpages' => 'Spesiale bladsye',
+'specialpages-note-top' => 'Sleutel',
 'specialpages-note' => '* Normale spesiale bladsye.
 * <span class="mw-specialpagerestricted">Spesiale bladsye met beperkte toegang.</span>
 * <span class="mw-specialpagecached">Spesiale bladsye met gegewens uit die kas (kan verouderd wees).</span>',
@@ -4035,10 +4043,12 @@ Dit word gedoen deur die relevante funksies in die MediaWiki-ontleder te roep.',
 'expand_templates_input' => 'Invoerteks:',
 'expand_templates_output' => 'Resultaat',
 'expand_templates_xml_output' => 'XML-afvoer',
+'expand_templates_html_output' => 'Rou HTML-afvoer',
 'expand_templates_ok' => 'OK',
 'expand_templates_remove_comments' => 'Verwyder kommentaar',
 'expand_templates_remove_nowiki' => 'Onderdruk <nowiki> etikette in die resultaat',
 'expand_templates_generate_xml' => 'Wys XML-ontledingsboom',
+'expand_templates_generate_rawhtml' => 'Wys rou HTML',
 'expand_templates_preview' => 'Voorskou',
 
 );
index 6bd42cb..b1a1b1f 100644 (file)
@@ -33,11 +33,13 @@ $namespaceNames = array(
 );
 
 $namespaceAliases = array(
-       'Gesprec'      => NS_TALK,
-       'Biliþgesprec' => NS_FILE_TALK,
-       'Bysengesprec' => NS_TEMPLATE_TALK,
-       'Helpgesprec'  => NS_HELP_TALK,
-       'Floccgesprec' => NS_CATEGORY_TALK,
+       'Gesprec'       => NS_TALK,
+       'Brucend'       => NS_USER,
+       'Brucendmotung' => NS_USER_TALK,
+       'Biliþgesprec'  => NS_FILE_TALK,
+       'Bysengesprec'  => NS_TEMPLATE_TALK,
+       'Helpgesprec'   => NS_HELP_TALK,
+       'Floccgesprec'  => NS_CATEGORY_TALK,
 );
 
 $messages = array(
index 6177ed3..765314e 100644 (file)
@@ -20,6 +20,7 @@
  * @author Asaifm
  * @author Avocato
  * @author Bachounda
+ * @author Basharh
  * @author Bassem JARKAS
  * @author Chaos
  * @author Ciphers
@@ -67,6 +68,7 @@
  * @author زكريا
  * @author عصام بايزيدي
  * @author عمرو
+ * @author محمد أحمد عبد الفتاح
  * @author محمد الجداوي
  * @author مشعل الحربي
  * @author نصوح
@@ -993,7 +995,7 @@ $2',
 'passwordtooshort' => 'يجب أن تتكون كلمة السر على الأقل من {{PLURAL:$1|حرف واحد|حرفين|$1 حروف|$1 حرفا|$1 حرف}}.',
 'password-name-match' => 'يجب أن تكون كلمة المرور مختلفة عن اسم المستخدم.',
 'password-login-forbidden' => 'تم منع استخدام اسم المستخدم هذا وكلمة السر.',
-'mailmypassword' => 'أرسÙ\84 Ù\84Ù\8a Ù\83Ù\84Ù\85Ø© Ø³Ø± Ø¬Ø¯Ù\8aدة',
+'mailmypassword' => 'أعد ØªØ¹Ù\8aÙ\8aÙ\86 Ù\83Ù\84Ù\85Ø© Ø§Ù\84سر',
 'passwordremindertitle' => 'كلمة سر مؤقتة جديدة ل{{SITENAME}}',
 'passwordremindertext' => 'لقد طلب شخص ما (غالبا أنت، من عنوان الآيبي $1) كلمة سر جديدة ل{{SITENAME}} ($4).
 أنشئت كلمة سر مؤقتة للمستخدم "$2" وجعلت "$3".
@@ -1614,7 +1616,7 @@ $1",
 'prefs-skin' => 'واجهة',
 'skin-preview' => 'عرض مسبق',
 'datedefault' => 'لا تفضيل',
-'prefs-beta' => 'Ù\85زاÙ\8aا Ø¨Ù\8aتا',
+'prefs-beta' => 'Ù\85زاÙ\8aا ØªØ¬Ø±Ù\8aبÙ\8aØ©',
 'prefs-datetime' => 'وقت وتاريخ',
 'prefs-labs' => 'مزايا مختبرية',
 'prefs-user-pages' => 'صفحات المستخدمين',
@@ -1633,7 +1635,7 @@ $1",
 'prefs-email' => 'خيارات البريد الإلكتروني',
 'prefs-rendering' => 'المظهر',
 'saveprefs' => 'احفظ',
-'restoreprefs' => 'Ø¥سترجع كل الإعدادات الافتراضية',
+'restoreprefs' => 'استرجع كل الإعدادات الافتراضية',
 'prefs-editing' => 'التحرير',
 'rows' => 'صفوف:',
 'columns' => 'أعمدة:',
@@ -1721,6 +1723,7 @@ $1",
 'prefs-tokenwatchlist' => 'مفتاح',
 'prefs-diffs' => 'فروقات',
 'prefs-help-prefershttps' => 'سيتم تفعيل هذا التفضيل عند ولوجوك في المرة القادمة.',
+'prefs-tabs-navigation-hint' => 'تلميح: يمكنك استخدام مفتاحي السهمين الأيمن والأيسر للتنقل بين الألسنة في قائمة الألسنة.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'يبدو أن عنوان البريد الإلكتروني صالح',
@@ -1905,6 +1908,8 @@ $1",
 'recentchanges-label-minor' => 'هذا تعديل طفيف',
 'recentchanges-label-bot' => 'أُجْرِيَ هذا التعديل بواسطة بوت',
 'recentchanges-label-unpatrolled' => 'لم يراجع هذا التعديل إلى الآن',
+'recentchanges-label-plusminus' => 'حجم الصفحة تغير بهذا العدد من وحدات البايت',
+'recentchanges-legend-heading' => 'شرح',
 'recentchanges-legend-newpage' => '(راجع أيضا [[Special:NewPages|قائمة الصفحات الجديدة]])',
 'rcnotefrom' => "بالأسفل التغييرات منذ '''$2''' (إلى '''$1''' معروضة).",
 'rclistfrom' => 'أظهر التغييرات بدءا من $1',
@@ -4087,6 +4092,9 @@ $5
 'imgmultigo' => 'اذهب!',
 'imgmultigoto' => 'اذهب إلى صفحة $1',
 
+# Language selector for translatable SVGs
+'img-lang-go' => 'اذهب',
+
 # Table pager
 'ascending_abbrev' => 'تصاعدي',
 'descending_abbrev' => 'تنازلي',
index 9901b71..bede687 100644 (file)
@@ -875,6 +875,8 @@ $1',
 'recentchanges-label-minor' => 'ܗܢܘ ܫܘܚܠܦܐ ܙܥܘܪܐ',
 'recentchanges-label-bot' => 'ܒܘܬ (bot) ܥܒܕ ܗܢܐ ܫܘܚܠܦܐ',
 'recentchanges-label-unpatrolled' => 'ܫܘܚܠܦܐ ܗܢܐ ܠܐ ܗܘ ܟܪܝܟܐ ܠܗܫܐ',
+'recentchanges-label-plusminus' => 'ܥܓܪܐ ܕܦܐܬܐ ܐܫܬܚܠܦ ܒܗܢܐ ܡܢܝܢܐ ܡܢ ܒܝܛ̈',
+'recentchanges-legend-heading' => "'''ܦܘܫܩܐ:'''",
 'recentchanges-legend-newpage' => '$1 - ܦܐܬܐ ܚܕܬܐ',
 'rcnotefrom' => "ܠܬܚܬ ܫܘܚܠܦ̈ܐ ܕܡܢ '''$2''' (ܥܕ '''$1''' ܡܬܚܙܝܢ̈ܐ).",
 'rclistfrom' => 'ܚܘܝ ܫܘܚܠܦ̈ܐ ܚܕ̈ܬܐ ܡܢ $1',
index 22db34d..9db89f5 100644 (file)
@@ -220,7 +220,7 @@ $messages = array(
 'tog-watchlisthidepatrolled' => 'পৰীক্ষিত সম্পাদনাসমূহ লক্ষ্য-তালিকাৰ পৰা লুকুৱাই ৰাখক',
 'tog-ccmeonemails' => 'মই অন্য সদস্যলৈ পঠোৱা ই-মেইলৰ প্ৰতিলিপি এটা মোলৈও পঠাব',
 'tog-diffonly' => 'পার্থক্যৰ তলত পৃষ্ঠাৰ বিষয়বস্তু নেদেখুৱাব',
-'tog-showhiddencats' => 'নিহিত শ্ৰেণী সমূহ দেখুৱাওক',
+'tog-showhiddencats' => 'নিহিত শ্ৰেণীসমূহ দেখুৱাওক',
 'tog-norollbackdiff' => 'পূৰ্বৱত কৰা পাছত পাৰ্থক্য নেদেখুৱাব',
 'tog-useeditwarning' => 'সালসলনি সংৰক্ষণ নকৰাকৈ সম্পাদনা পৃষ্ঠা ত্যাগৰ সময়ত মোক সাৱধান কৰক',
 'tog-prefershttps' => 'প্ৰৱেশ কৰোঁতে সদায় সুৰক্ষিত সংযোগ ব্যৱহাৰ কৰক',
@@ -230,11 +230,11 @@ $messages = array(
 'underline-default' => 'ব্ৰাউজাৰ ডিফল্ট',
 
 # Font style option in Special:Preferences
-'editfont-style' => 'সম্পাদনাৰ ফন্ট ষ্টাইল',
+'editfont-style' => "সম্পাদনা ক্ষেত্ৰৰ ফ'ণ্ট শৈলী:",
 'editfont-default' => "ব্ৰাউজাৰ ডিফ'ল্ট",
-'editfont-monospace' => 'মনোস্পেচ ফন্ট',
-'editfont-sansserif' => 'চেন্স-চেৰিফ ফন্ট',
-'editfont-serif' => 'চেৰিফ ফন্ট',
+'editfont-monospace' => "ম'ন'স্পেছ ফ'ণ্ট",
+'editfont-sansserif' => "ছেন্স-ছেৰিফ ফ'ণ্ট",
+'editfont-serif' => "ছেৰিফ ফ'ণ্ট",
 
 # Dates
 'sunday' => 'দেওবাৰ',
@@ -243,7 +243,7 @@ $messages = array(
 'wednesday' => 'বুধবাৰ',
 'thursday' => 'বৃহস্পতিবাৰ',
 'friday' => 'শুক্ৰবাৰ',
-'saturday' => 'শণিবাৰ',
+'saturday' => 'শনিবাৰ',
 'sun' => 'দেও',
 'mon' => 'সোম',
 'tue' => 'মংগল',
@@ -310,7 +310,7 @@ $messages = array(
 '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' => '{{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 ফাইলসমূহ}} সাম্প্ৰতিক শ্ৰেণীত আছে।',
@@ -375,11 +375,11 @@ $messages = array(
 'view' => 'দেখুৱাওক',
 'edit' => 'সম্পাদনা',
 'create' => 'সৃষ্টি কৰক',
-'editthispage' => 'বৰà§\8dতমান à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b à¦¸à¦®à§\8dপাদনা à¦\95ৰিবলà§\88',
-'create-this-page' => 'নতà§\81ন পৃষ্ঠা সৃষ্টি কৰক',
-'delete' => 'বিলোপ',
-'deletethispage' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন বিলোপ কৰক',
-'undeletethispage' => 'এই পৃষ্ঠা পুনৰুদ্ধাৰ কৰক',
+'editthispage' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠা à¦¸à¦®à§\8dপাদনা à¦\95ৰà¦\95',
+'create-this-page' => 'à¦\8fà¦\87 পৃষ্ঠা সৃষ্টি কৰক',
+'delete' => 'বিলোপ কৰক',
+'deletethispage' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b বিলোপ কৰক',
+'undeletethispage' => 'এই পৃষ্ঠাটো পুনৰুদ্ধাৰ কৰক',
 'undelete_short' => '{{PLURAL:$1|বিলোপিত পৃষ্ঠাৰ|$1 সংখ্যক বিলোপিত পৃষ্ঠাৰ}} পূৰ্ববৎকৰণ',
 'viewdeleted_short' => '{{PLURAL:$1| এটা বিলুপ্ত সম্পাদনা|$1 টা বিলুপ্ত সম্পাদনা}} দেখুৱাওক',
 'protect' => 'সুৰক্ষিত কৰক',
@@ -388,7 +388,7 @@ $messages = array(
 'unprotect' => 'সুৰক্ষা সলনি কৰক',
 'unprotectthispage' => 'এই পৃষ্ঠাৰ সুৰক্ষা সলনি কৰক',
 'newpage' => 'নতুন পৃষ্ঠা',
-'talkpage' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠা à¦¸à¦®à§\8dপৰà§\8dà¦\95à§\87 à¦\95থা-বতৰা',
+'talkpage' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠা à¦¸à¦®à§\8dপৰà§\8dà¦\95à§\80য় à¦\86লà§\8bà¦\9aনা',
 'talkpagelinktext' => 'কথা-বতৰা',
 'specialpage' => 'বিশেষ পৃষ্ঠা',
 'personaltools' => 'ব্যক্তিগত সৰঞ্জাম',
@@ -408,8 +408,8 @@ $messages = array(
 'otherlanguages' => 'আন ভাষাসমূহত',
 'redirectedfrom' => '($1ৰ পৰা পুনঃনিৰ্দেশিত)',
 'redirectpagesub' => 'পুনঃনিৰ্দেশিত পৃষ্ঠা',
-'lastmodifiedat' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন শেষবাৰৰ কাৰণে $1 তাৰিখে $2 বজাত সলনি কৰা হৈছিল।',
-'viewcount' => 'এই পৃষ্ঠাটো {{PLURAL:$1|এবাৰ|$1 বাৰ}} চোৱা হৈছে',
+'lastmodifiedat' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b শেষবাৰৰ কাৰণে $1 তাৰিখে $2 বজাত সলনি কৰা হৈছিল।',
+'viewcount' => 'এই পৃষ্ঠাটো {{PLURAL:$1|এবাৰ|$1 বাৰ}} চোৱা হৈছে',
 'protectedpage' => 'সুৰক্ষিত পৃষ্ঠা',
 'jumpto' => 'গম্যাৰ্থে',
 'jumptonavigation' => 'দিকদৰ্শন',
@@ -420,7 +420,7 @@ $messages = array(
 
 $1',
 'pool-timeout' => 'বন্ধ কৰাৰ বাবে অপেক্ষা কৰাৰ সময় উকলি গৈছে',
-'pool-queuefull' => 'পà§\8bল à¦\95িà¦\89 (pool queue) à¦¸à¦®à§\82ল',
+'pool-queuefull' => 'পà§\81ল à¦\95িà¦\89 (pool queue) à¦ªà§\82ৰà§\8dণ',
 'pool-errorunknown' => 'অপৰিচিত ত্ৰুটি',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
@@ -454,8 +454,8 @@ $1',
 'youhavenewmessages' => 'আপোনাৰ কাৰণে $1 আছে। ($2)',
 'youhavenewmessagesfromusers' => '{{PLURAL:$3|আন এজন সদস্য|$3 জন সদস্য}}ৰ পৰা আপোনালৈ $1 আহিছে ($2)।',
 'youhavenewmessagesmanyusers' => 'কেইবাজনো সদস্যৰ পৰা আপোনালৈ $1 আহিছে ($2)।',
-'newmessageslinkplural' => '{{PLURAL:$1|এটা নতুন বাৰ্তা|নতুন বাৰ্তা}}',
-'newmessagesdifflinkplural' => 'à¦\85নà§\8dতিম {{PLURAL:$1|সà¦\82শà§\8bধন}}',
+'newmessageslinkplural' => '{{PLURAL:$1|এটা নতুন বাৰ্তা|999=নতুন বাৰ্তা}}',
+'newmessagesdifflinkplural' => 'à¦\85নà§\8dতিম {{PLURAL:$1|সালসলনি|999=সালসলনিসমà§\82হ}}',
 'youhavenewmessagesmulti' => '$1ত আপোনাৰ কাৰণে নতুন সংবাদ আছে',
 'editsection' => 'সম্পাদনা কৰক',
 'editold' => 'সম্পাদনা',
@@ -499,7 +499,7 @@ $1',
 'nosuchactiontext' => "এই ইউআৰএলে নিৰ্ধাৰিত কৰা কাৰ্য অবৈধ।
 আপুনি বোধহয়  ইউআৰএল ভুলকৈ লিখিছে বা এটা ভুল লিঙ্ক অনুকৰণ কৰিছে ।
 {{SITENAME}}ত ব্যৱহাৰ হোৱা চফ্টৱেৰত ত্ৰুটি হ'বও পাৰে ।",
-'nosuchspecialpage' => 'à¦\8fনà§\87 à¦§à§°à¦¨ৰ কোনো বিশেষ পৃষ্ঠা নাই',
+'nosuchspecialpage' => 'à¦\8fনà§\87 à¦§à§°à¦£ৰ কোনো বিশেষ পৃষ্ঠা নাই',
 'nospecialpagetext' => '<strong>আপুনি অবৈধ বিশেষ পৃষ্ঠা এটা অনুৰোধ কৰিছে ।</strong>
 
 বৈধ বিশেষ পৃষ্ঠাসমূহৰ তালিকা ইয়াত পাব [[Special:SpecialPages|{{int:specialpages}}]] ।',
@@ -516,7 +516,7 @@ $1',
 'laggedslavemode' => 'সাৱধানবাণী: ইয়াত সাম্প্ৰতিক সাল-সলনি নাথাকিব পাৰে',
 'readonly' => 'তথ্যকোষ বন্ধ কৰা আছে',
 'enterlockreason' => 'বন্ধ কৰাৰ কাৰণ দিয়ক, লগতে কেতিয়ামানে খোলা হব তাকো জনাব।',
-'readonlytext' => 'নতà§\81ন à¦¸à¦®à§\8dপাদন à¦\86ৰà§\81 à¦\86ন à¦¸à¦¾à¦²-সলনিৰ à¦\95াৰণà§\87 à¦¤à¦¥à§\8dযà¦\95à§\8bষ à¦¬à§°à§\8dতমানà§\87 à¦¬à¦¨à§\8dধ à¦\86à¦\9bà§\87, à¦¹à¦¯à¦¼à¦¤à§\8b à¦¨à¦¿à¦¯à¦¼à¦®à§\80য়া à¦\9aà§\8bৱা-à¦\9aিতা à¦\95ৰিবলà§\88, কিছু সময় পিছত এয়া সাধাৰণ অৱস্থালৈ আহিব।
+'readonlytext' => 'হয়তà§\8b à¦¨à¦¿à¦¯à¦¼à¦®à§\80য়া à¦ªà§°à¦¿à¦\9aৰà§\8dযাৰ à¦¬à¦¾à¦¬à§\87 à¦¤à¦¥à§\8dযà¦\95à§\8bষত à¦¨à¦¤à§\81ন à¦¸à¦®à§\8dপাদনা à¦\86ৰà§\81 à¦\86ন à¦¸à¦¾à¦²-সলনি à¦¬à¦¨à§\8dধ à¦\95ৰা à¦¹à§\88à¦\9bà§\87। কিছু সময় পিছত এয়া সাধাৰণ অৱস্থালৈ আহিব।
 
 যিজন প্ৰশাসকে বন্ধ কৰিছে তেওঁ এই কাৰণ দিছে: $1',
 'missing-article' => '"$1" $2 লেখাটো তথ্যকোষত পোৱা নগ’ল ।
@@ -582,7 +582,8 @@ $2',
 'invalidtitle-knownnamespace' => 'নামস্থান "$2" আৰু পাঠ্য "$3" থকা অবৈধ শিৰোনাম',
 'invalidtitle-unknownnamespace' => 'অজ্ঞাত নামস্থান সংখ্যা $1 আৰু পাঠ্য "$2" থকা অবৈধ শিৰোনাম',
 'exception-nologin' => 'প্ৰৱেশ কৰা নাই',
-'exception-nologin-text' => 'এই পৃষ্ঠা অথবা কামৰ বাবে আপুনি প্ৰৱেশ কৰা বাধ্যতামূলক',
+'exception-nologin-text' => 'এই কামৰ বাবে আপুনি [[Special:Userlogin|লগ্‌ ইন]] কৰাটো বাধ্যতামূলক।',
+'exception-nologin-text-manual' => 'এই কামৰ বাবে অনুগ্ৰহ কৰি $1 কৰক।',
 
 # Virus scanner
 'virus-badscanner' => "ভুল কনফিগাৰেচন: অজ্ঞাত ভাইৰাছ স্কেনাৰ: ''$1''",
@@ -684,7 +685,7 @@ $2',
 'passwordtooshort' => "গুপ্তশব্দ কমেও {{PLURAL:$1|১ টা|$1 টা}} আখৰৰ হ'ব লাগিব ।",
 'password-name-match' => "আপোনাৰ গুপ্তশব্দ আৰু আপোনাৰ সদস্যনাম বেলেগ হ'ব লাগিব",
 'password-login-forbidden' => 'এই সদস্যনাম আৰু গুপ্তশব্দৰ ব্যৱহাৰ নিষিদ্ধ কৰা হৈছে ।',
-'mailmypassword' => 'à¦\87-মà§\87à¦\87লত à¦\97à§\81পà§\8dতশবà§\8dদ à¦ªà¦ à¦¿à¦¯à¦¼াওক',
+'mailmypassword' => 'à¦\97à§\81পà§\8dতশবà§\8dদ à¦¨-à¦\95à§\88 à¦¬à¦¹à§\81ৱাওক',
 'passwordremindertitle' => '{{SITENAME}}ৰ কাৰণে নতুন অস্থায়ী গুপ্তশব্দ',
 'passwordremindertext' => 'কোনোবাই (হয়তো আপুনি, $1 আই-পি ঠিকনাৰ পৰা)
 {{SITENAME}}ত ব্যৱহাৰ কৰিবলৈ নতুন গুপ্তশব্দৰ বাবে অনুৰোধ কৰিছে ($4) ।
@@ -708,7 +709,7 @@ $2',
 'emailnotauthenticated' => 'আপোনাৰ ই-মেইল ঠিকনাতো এতিয়ালৈ নিশ্চিত হোৱা নাই।
 আপুনি তলৰ বিষয়বোৰৰ কাৰণে মেইল পঠিয়াব নোৱাৰে।',
 'noemailprefs' => 'এই সুবিধাবোৰ ব্যৱহাৰ কৰিবলৈ এটা ই-মেইল ঠিকনা দিয়ক।',
-'emailconfirmlink' => 'à¦\86পà§\8bনাৰ à¦\87-মà§\87à¦\87ল à¦ à¦¿à¦\95নাà¦\9fà§\8b à¦ªà§\8dৰমাণিত কৰক',
+'emailconfirmlink' => 'à¦\86পà§\8bনাৰ à¦\87-মà§\87à¦\87ল à¦ à¦¿à¦\95নাà¦\9fà§\8b à¦¨à¦¿à¦¶à§\8dà¦\9aিত কৰক',
 'invalidemailaddress' => 'এই ই-মেইল ঠিকনাতো গ্ৰহনযোগ্য নহয়, কাৰণ ই অবৈধ প্ৰকাৰৰ যেন লাগিছে।
 অনুগ্ৰহ কৰি এটা বৈধ ই-মেইল ঠিকনা লিখক অথবা একো নিলিখিব।',
 'cannotchangeemail' => 'এই ৱিকিত একাউন্ট ই-মেইল ঠিকনা সলনি কৰিব পৰা নাযায়',
@@ -730,7 +731,7 @@ $2',
 
 # Email sending
 'php-mail-error-unknown' => 'পি.এইছ.পি মেইল () কাৰ্যত অজ্ঞাত ত্ৰুটি ।',
-'user-mail-no-addy' => 'à¦\87-মà§\87à¦\87ল à¦ à¦¿à¦\95না à¦¨à§\8bহà§\8bৱাà¦\95à§\88য়à§\87 à¦\87-মà§\87à¦\87ল à¦ªà¦ à§\8bৱাৰ চেষ্টা কৰা হৈছে ।',
+'user-mail-no-addy' => 'à¦\87-মà§\87à¦\87ল à¦ à¦¿à¦\95না à¦¨à§\8bহà§\8bৱাà¦\95à§\88য়à§\87 à¦\87-মà§\87à¦\87ল à¦ªà¦ à¦¿à¦\93ৱাৰ চেষ্টা কৰা হৈছে ।',
 'user-mail-no-body' => 'কোনো সমল নোহোৱাকৈ বা অতি সংক্ষিপ্ত কথাৰে ইমেইল পঠিয়াবলৈ চেষ্টা কৰিছিল।',
 
 # Change password dialog
@@ -744,7 +745,7 @@ $2',
 'resetpass_submit' => 'গুপ্তশব্দ বহুৱাওক আৰু প্ৰৱেশ কৰক',
 'changepassword-success' => 'আপোনাৰ গুপ্তশব্দ সফলতাৰে সলনি কৰা হৈছে!',
 'resetpass_forbidden' => 'গুপ্তশব্দ সলনি কৰিব নোৱাৰি',
-'resetpass-no-info' => 'এই পৃষ্ঠা প্ৰত্যক্ষ ভাৱে ঢুকি পাবলৈ আপুনি প্ৰৱেশ কৰিব লাগিব ।',
+'resetpass-no-info' => 'এই পৃষ্ঠাটোত প্ৰৱেশাধিকাৰ পাবলৈ আপুনি লগ্‌ ইন কৰিব লাগিব ।',
 'resetpass-submit-loggedin' => 'গুপ্তশব্দ সলনি কৰক',
 'resetpass-submit-cancel' => 'বাতিল কৰক',
 'resetpass-wrong-oldpass' => 'অস্থায়ী বা সাম্প্ৰতিক গুপ্তশব্দ গ্ৰহণযোগ্য নহয় ।
@@ -755,7 +756,7 @@ $2',
 # Special:PasswordReset
 'passwordreset' => 'গুপ্তশব্দ ন-কৈ বহুৱাওক',
 'passwordreset-text-one' => 'আপোনাৰ গুপ্তশব্দ ন-কৈ বহুৱাবলৈ এই প্ৰপত্ৰ পূৰণ কৰক।',
-'passwordreset-text-many' => '{{PLURAL:$1|à¦\86পà§\8bনাৰ à¦\97à§\81পà§\8dতশবà§\8dদ à¦¨-à¦\95à§\88 à¦¬à¦¹à§\81ৱাবলৈ এই তথ্যসমূহৰ যিকোনো এটা দিয়ক।}}',
+'passwordreset-text-many' => '{{PLURAL:$1|à¦\87মà§\87à¦\87লত à¦\8fà¦\9fা à¦\85সà§\8dথায়à§\80 à¦\97à§\81পà§\8dতশবà§\8dদ à¦ªাবলৈ এই তথ্যসমূহৰ যিকোনো এটা দিয়ক।}}',
 'passwordreset-legend' => 'গুপ্তশব্দ ন-কৈ বহাওক',
 'passwordreset-disabled' => 'এই ৱিকিত গুপ্তশব্দ নবীকৰণ নিষ্ক্ৰিয় কৰা হৈছে ।',
 'passwordreset-emaildisabled' => 'এই ৱিকিত ই-মেইল বৈশিষ্টসমূহ নিষ্ক্ৰিয় কৰা হৈছে।',
@@ -785,7 +786,7 @@ $2
 'changeemail' => 'ই-মেইল ঠিকনা সলনি কৰক',
 'changeemail-header' => 'একাউণ্টৰ ই-মেইল ঠিকনা সলনি কৰক',
 'changeemail-text' => 'আপোনাৰ ই-মেইল ঠিকনা সলাবলৈ এই প্ৰপত্ৰখন পূৰাওক । এই সালসলনি নিশ্চিত কৰিবলৈ আপোনাৰ গুপ্তশব্দ দিব লাগিব ।',
-'changeemail-no-info' => 'এই পৃষ্ঠা প্ৰত্যক্ষ্ ভাৱে ঢুকি পাবলৈ আপুনি প্ৰৱেশ কৰিব লাগিব ।',
+'changeemail-no-info' => 'এই পৃষ্ঠাটোত প্ৰৱেশাধিকাৰ পাবলৈ আপুনি লগ্‌ ইন কৰিব লাগিব।',
 'changeemail-oldemail' => 'বৰ্তমানৰ ই-মেইল ঠিকনা:',
 'changeemail-newemail' => 'নতুন ই-মেইল ঠিকনা:',
 'changeemail-none' => '(নাই)',
@@ -827,11 +828,11 @@ $2
 'summary' => 'সাৰাংশ:',
 'subject' => 'বিষয় / শীৰ্ষক:',
 'minoredit' => 'এইটো এটা অগুৰুত্বপূৰ্ণ সম্পাদনা',
-'watchthis' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন লক্ষ্য কৰক',
+'watchthis' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b লক্ষ্য কৰক',
 'savearticle' => 'পৃষ্ঠা সাঁচক',
 'preview' => 'খচৰা',
 'showpreview' => 'খচৰা চাওক',
-'showlivepreview' => 'পà§\8bনপà¦\9fà§\80য়া খচৰা',
+'showlivepreview' => 'পà§\8bনপà¦\9fিয়া খচৰা',
 'showdiff' => 'সালসলনিবোৰ দেখুৱাওক',
 'anoneditwarning' => "<span style=\"color:red;\">'''সাৱধান:''' আপুনি প্ৰৱেশ কৰা নাই ।</span> 
 এই পৃষ্ঠাৰ ইতিহাসত আপোনাৰ আই পি ঠিকনা সংৰক্ষিত কৰা হ'ব।",
@@ -880,7 +881,7 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 'loginreqtitle' => 'প্ৰৱেশ আৱশ্যক',
 'loginreqlink' => 'প্ৰৱেশ',
 'loginreqpagetext' => 'অন্যান্য পৃষ্ঠা চাবলৈ আপুনি $1 কৰিব লাগিব।',
-'accmailtitle' => "à¦\97à§\81পà§\8dতশবà§\8dদ à¦ªà¦ à§\8bৱা হ'ল।",
+'accmailtitle' => "à¦\97à§\81পà§\8dতশবà§\8dদ à¦ªà¦ à¦¿à¦\93ৱা হ'ল।",
 'accmailtext' => "[[User talk:$1|$1]]-ৰ কাৰণে যাদৃচ্ছিকভাৱে উৎপন্ন কৰা গুপ্তশব্দ $2লৈ পঠোৱা হ'ল । 
 এই নতুন একাউন্টত প্ৰৱেশ কৰি ''[[Special:ChangePassword|গুপ্তশব্দ সলনি কৰক]]'' পৃষ্ঠাখনত শব্দতো সলনি কৰি ল’ব পাৰিব ।",
 'newarticle' => '(নতুন)',
@@ -1008,13 +1009,13 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 'log-fulllog' => 'সম্পূৰ্ণ অভিলেখ চাওক',
 'edit-hook-aborted' => 'হুকৰ দ্বাৰা সম্পাদনা প্ৰত্যাখ্যান কৰা হৈছে ।
 ইয়াৰ কোনো ব্যাখ্যা নাই ।',
-'edit-gone-missing' => 'পà§\83ষà§\8dঠাà¦\96ন à¦¨à¦¬à§\80à¦\95ৰণ à¦\95ৰিব à¦ªà§°à¦¾ à¦¨à¦\97â\80\99ল 
-সম্ভৱতঃ পৃষ্ঠাখন বিলোপ কৰা হৈছে ।',
-'edit-conflict' => 'সম্পাদনা দ্বন্দ্ব ।',
-'edit-no-change' => 'আপোনাৰ সম্পাদনা আওকাণ কৰা হৈছে, কাৰণ লেখাত কোনো তফাৎ নাই',
-'postedit-confirmation' => "à¦\86পà§\8bনাৰ à¦¸à¦®à§\8dপাদনা à¦¸à¦\82ৰà¦\95à§\8dষিত à¦\95ৰা à¦¹'ল ।",
-'edit-already-exists' => "নতুন পৃষ্ঠা সৃষ্টি কৰা নহ'ল 
-পà§\83ষà§\8dঠাà¦\96ন à¦\87তিমধà§\8dযà§\87 à¦\86à¦\9bà§\87à¦\87 ।",
+'edit-gone-missing' => 'পà§\83ষà§\8dঠাà¦\9fà§\8b à¦¨à¦¬à§\80à¦\95ৰণ à¦\95ৰিব à¦ªà§°à¦¾ à¦¨à¦\97â\80\99ল
+সম্ভৱতঃ পৃষ্ঠাখন বিলোপ কৰা হৈছে।',
+'edit-conflict' => 'সম্পাদনা দ্বন্দ্ব।',
+'edit-no-change' => 'আপোনাৰ সম্পাদনা আওকাণ কৰা হৈছে, কাৰণ লেখাত কোনো তফাৎ নাই',
+'postedit-confirmation' => "à¦\86পà§\8bনাৰ à¦¸à¦®à§\8dপাদনা à¦¸à¦¾à¦\81à¦\9aি à¦¥à§\8bৱা à¦¹'ল।",
+'edit-already-exists' => "নতুন পৃষ্ঠা সৃষ্টি কৰা নহ'ল।
+পà§\83ষà§\8dঠাà¦\9fà§\8b à¦\87তিমধà§\8dযà§\87 à¦\86à¦\9bà§\87à¦\87।",
 'defaultmessagetext' => 'সাধাৰণ বাৰ্তা পাঠ্য',
 'content-failed-to-parse' => '$1 মডেলৰ বাবে $2ৰ তথ্য নিকা কৰিব পৰা নগ’ল: $3',
 'invalid-content-data' => 'অবৈধ সমল তথ্য',
@@ -1044,7 +1045,7 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 'node-count-exceeded-category' => "ন'ড-গণনা বেছি হোৱা পৃষ্ঠাসমূহ",
 'node-count-exceeded-warning' => "পৃষ্ঠাৰ ন'ড-গণনা বেছি হৈছে",
 'expansion-depth-exceeded-category' => 'বিস্তৃতি গভীৰতা বেছি হোৱা পৃষ্ঠা',
-'expansion-depth-exceeded-warning' => 'পà§\83ষà§\8dঠাà¦\96নৰ বিস্তৃতি গভীৰতা বেছি হৈছে',
+'expansion-depth-exceeded-warning' => 'পà§\83ষà§\8dঠাà¦\9fà§\8bৰ বিস্তৃতি গভীৰতা বেছি হৈছে',
 'parser-unstrip-loop-warning' => 'আন্‌ষ্ট্ৰীপ লুপ চিনাক্ত কৰা হৈছে',
 'parser-unstrip-recursion-limit' => 'আন্‌ষ্ট্ৰিপ ৰিকাৰ্ছন সীমা অতিক্ৰম হৈছে ($1)',
 'converter-manual-rule-error' => 'মেনুৱেল ভাষা পৰিৱৰ্তন নিয়মত ত্ৰুটি পোৱা গৈছে',
@@ -1058,7 +1059,7 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 'undo-summary-username-hidden' => 'এজন গোপন ব্যৱহাৰকাৰীয়ে কৰা $1 সংশোধন বাতিল কৰক',
 
 # Account creation failure
-'cantcreateaccounttitle' => "একাউন্ট সৃষ্টি কৰা নহ'ব",
+'cantcreateaccounttitle' => 'একাউণ্ট সৃষ্টি কৰিব নোৱাৰি',
 'cantcreateaccount-text' => "আই পি ঠিকনা ('''$1''')ৰ পৰা একাউণ্ট সৃষ্টিত [[User:$3|$3]]’য়ে বাধা প্ৰদান কৰিছে ।
 
 $3 য়ে আগবঢ়োৱা ইয়াৰ কাৰণ হৈছে ''$2''",
@@ -1071,8 +1072,8 @@ $3 য়ে আগবঢ়োৱা ইয়াৰ কাৰণ হৈছে
 'revisionasof' => '$1ৰ সংস্কৰণ',
 'revision-info' => '$1-লৈ $2ই কৰা সংশোধন',
 'previousrevision' => '← আগৰ সংশোধন',
-'nextrevision' => 'সদà§\8dযসà¦\82শà§\8bধিত',
-'currentrevisionlink' => 'শà§\87হতà§\80য়া à¦­à¦¾à¦·à§\8dয',
+'nextrevision' => 'নতà§\81ন à¦¸à¦\82শà§\8bধনâ\86\92',
+'currentrevisionlink' => 'শà§\87হতà§\80য়া à¦¸à¦\82শà§\8bধন',
 'cur' => 'বৰ্তমান',
 'next' => 'পৰৱৰ্তী',
 'last' => 'পূৰ্বৱৰ্তী',
@@ -1086,11 +1087,11 @@ $3 য়ে আগবঢ়োৱা ইয়াৰ কাৰণ হৈছে
 'histfirst' => 'আটাইতকৈ পুৰণি',
 'histlast' => 'শেহতীয়া',
 'historysize' => '({{PLURAL:$1|১ বাইট|$1 বাইট}})',
-'historyempty' => '(à¦\96ালà§\80)',
+'historyempty' => '(à¦\96ালি)',
 
 # Revision feed
-'history-feed-title' => 'সà¦\82à¦\95লন ইতিহাস',
-'history-feed-description' => 'ৱিà¦\95িত à¦\89পলবà§\8dধ à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাৰ à¦¸à¦\82à¦\95লন ইতিহাস',
+'history-feed-title' => 'সà¦\82শà§\8bধনৰ ইতিহাস',
+'history-feed-description' => 'ৱিà¦\95িত à¦\89পলবà§\8dধ à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাৰ à¦¸à¦\82শà§\8bধন ইতিহাস',
 'history-feed-item-nocomment' => '$1-য়ে $2',
 'history-feed-empty' => 'অনুৰোধ কৰা পৃষ্ঠাৰ কোনো অস্বিত্ব নাই।
 হয়তো ইয়াক বিলোপ কৰা হৈছে অথবা ইয়াৰ নাম সলনি কৰা হৈছে।
@@ -1131,7 +1132,7 @@ $3 য়ে আগবঢ়োৱা ইয়াৰ কাৰণ হৈছে
 'revisiondelete' => 'সংকলন বিলোপ কৰক / পুনৰ স্থাপন কৰক',
 'revdelete-nooldid-title' => 'লক্ষ্য সংশোধন যুক্তিসংগত নহয়',
 'revdelete-nooldid-text' => 'কামটো কৰাৰ বাবে আপুনি লক্ষ্য সংশোধন নিৰ্বাচন কৰা নাই, নিৰ্বাচিত সংশোধন নাই, অথবা আপুনি বৰ্তমানৰ সংশোধন লুকুৱাব বিচাৰিছে ।',
-'revdelete-no-file' => 'নিৰà§\8dধাৰিত à¦«à¦¾à¦\87লà¦\9fি à¦¨à¦¾à¦\87 ।',
+'revdelete-no-file' => 'নিৰà§\8dধাৰিত à¦«à¦¾à¦\87লà¦\9fà§\8b à¦¨à¦¾à¦\87।',
 'revdelete-show-file-confirm' => 'আপুনি "<nowiki>$1</nowiki>"  ফাইলৰ বিলোপ কৰা কৰা সংশোধন $2 তাৰিখৰ পৰা $3 সময়ত চাব বিচাৰিছে নেকি?',
 'revdelete-show-file-submit' => 'হয়',
 'revdelete-selected' => "'''[[:$1]]-ৰ {{PLURAL:$2|নিৰ্বাচিত সংশোধন|নিৰ্বাচিত সংশোধনসমূহ}}:'''",
@@ -1254,7 +1255,7 @@ $1",
 'nextn-title' => 'পিছৰ $1 {{PLURAL:$1|ফলাফল|ফলাফলবোৰ}}',
 'shown-title' => 'পৃষ্ঠাই প্ৰতি $1 {{PLURAL:$1|টা ফলাফল|টা ফলাফল}} দেখুৱাওক',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) চাওক।',
-'searchmenu-exists' => 'à¦\8fà¦\87 à§±à¦¿à¦\95িত "[[:$1]]" à¦¨à¦¾à¦®à§° à¦ªà§\83ষà§\8dঠা à¦\8fà¦\96ন আছে ।',
+'searchmenu-exists' => 'à¦\8fà¦\87 à§±à¦¿à¦\95িত "[[:$1]]" à¦¨à¦¾à¦®à§° à¦ªà§\83ষà§\8dঠা à¦\8fà¦\9fা আছে ।',
 'searchmenu-new' => "'''এই ৱিকিত \"[[:\$1]]\" পৃষ্ঠাখন সৃষ্টি কৰক!'''",
 'searchprofile-articles' => 'বিষয়বস্তুৰ পৃষ্ঠা',
 'searchprofile-project' => 'সহায় আৰু প্ৰকল্প পৃষ্ঠাসমূহ',
@@ -1299,6 +1300,7 @@ $1",
 'preferences' => 'পছন্দসমূহ',
 'mypreferences' => 'পছন্দসমূহ',
 'prefs-edits' => 'সম্পাদনাৰ সংখ্যা:',
+'prefsnologintext2' => 'আপোনাৰ পছন্দসমূহৰ সালসলনি কৰিবলৈ অনুগ্ৰহ কৰি $1 কৰক।',
 'prefs-skin' => 'আৱৰণ',
 'skin-preview' => 'খচৰা',
 'datedefault' => 'কোনো পছন্দ নাই',
@@ -1409,6 +1411,7 @@ $1",
 'prefs-tokenwatchlist' => "ট'কেন",
 'prefs-diffs' => 'পাৰ্থক্য',
 'prefs-help-prefershttps' => "আপোনাৰ পৰৱৰ্তী প্ৰৱেশত এই পছন্দ কাৰ্যকৰী হ'ব।",
+'prefs-tabs-navigation-hint' => 'কিটিপ: টেব্‌ তালিকাত থকা টেবসমূহৰ মাজত বিচৰণ কৰিবলৈ সোঁ আৰু বাঁও কাঁড়চিনৰ কী টিপিব পাৰে।',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'ই-মেইল ঠিকনাটো সঠিক',
@@ -1502,7 +1505,8 @@ $1",
 'right-proxyunbannable' => 'প্ৰক্সীৰ স্বয়ংক্ৰিয় প্ৰতিবন্ধক এৰাই চলক',
 'right-unblockself' => 'আপোনা-আপুনি খোলা',
 'right-protect' => 'সুৰক্ষাৰ স্তৰ পৰিৱৰ্তন কৰক আৰু প্ৰপাতাকাৰ-সুৰক্ষিত পৃষ্ঠাসমূহ সম্পাদনা কৰক',
-'right-editprotected' => 'সুৰক্ষিত পৃষ্ঠা (কেশ্বকেডিঙ সুৰক্ষাৰ অবিহনে) সম্পাদনা কৰক',
+'right-editprotected' => '"{{int:protect-level-sysop}}" হিচাপে সুৰক্ষিত পৃষ্ঠা সম্পাদনা কৰক',
+'right-editsemiprotected' => '"{{int:protect-level-autoconfirmed}}" হিচাপে সুৰক্ষি পৃষ্ঠা সম্পাদনা কৰক',
 'right-editinterface' => 'সদস্যৰ ইণ্টাৰফে’চ সম্পাদনা কৰক',
 'right-editusercssjs' => 'আন সদস্যৰ CSS আৰু JavaScript  সম্পাদনা কৰক',
 'right-editusercss' => 'আন সদস্যৰ CSS ফাইল সম্পাদনা কৰক',
@@ -1510,6 +1514,10 @@ $1",
 'right-editmyusercss' => 'আপোনাৰ নিজৰ সদস্য CSS ফাইলসমূহ সম্পাদনা কৰক।',
 'right-editmyuserjs' => 'আপোনাৰ নিজৰ সদস্য JavaScript ফাইলসমূহ সম্পাদনা কৰক',
 'right-viewmywatchlist' => 'আপোনাৰ নিজৰ লক্ষ্য-তালিকা চাওক',
+'right-editmywatchlist' => 'আপোনাৰ নিজৰ লক্ষ্যতালিকাখন সম্পাদনা কৰক। মন কৰিব যে কিছুমান কামে এই অধিকাৰ অবিহনেও পৃষ্ঠা যোগ দিয়াব।',
+'right-viewmyprivateinfo' => 'আপোনাৰ ব্যক্তিগত তথ্য চাওক (যেনে- ইমেইল ঠিকনা, প্ৰকৃত নাম)',
+'right-editmyprivateinfo' => 'আপোনাৰ ব্যক্তিগত তথ্য সম্পাদনা কৰক (যেনে- ইমেইল ঠিকনা, প্ৰকৃত নাম)',
+'right-editmyoptions' => 'আপোনাৰ নিজৰ পছন্দসমূহ সম্পাদনা কৰক',
 'right-rollback' => 'শেষৰজন সদস্যই এখন নিৰ্দিষ্ট পৃষ্টাত কৰা সম্পাদনা পূৰ্বৰ অৱস্থালৈ ঘূৰাই আনক',
 'right-markbotedits' => 'ৰ’ল্ড-বেক সম্পাদনাসমূহ বট সম্পাদনা বুলি চিহ্নিত কৰক',
 'right-noratelimit' => 'গতি সীমাৰ দ্বাৰা প্ৰভাৱিত নহ’ব',
@@ -1561,8 +1569,8 @@ $1",
 'action-block' => 'এই সদস্যক সম্পাদনা কৰাৰ পৰা বাৰণ কৰক',
 'action-protect' => 'এই পৃষ্ঠাৰ সুৰক্ষাৰ মাত্ৰা পৰিৱৰ্তন কৰক',
 'action-rollback' => 'শেষৰজন সদস্যই এখন নিৰ্দিষ্ট পৃষ্টাত কৰা সম্পাদনা পূৰ্বৰ অৱস্থালৈ ঘূৰাই আনক',
-'action-import' => 'à¦\85নà§\8dয à§±à¦¿à¦\95িৰ à¦ªà§°à¦¾ à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন à¦\86মদানà§\80 কৰক',
-'action-importupload' => 'ফাà¦\87ল à¦\86পলâ\80\99ডৰ à¦ªà§°à¦¾ à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠা à¦\86মদানà§\80 কৰক',
+'action-import' => 'à¦\85নà§\8dয à§±à¦¿à¦\95িৰ à¦ªà§°à¦¾ à¦ªà§\83ষà§\8dঠা à¦\86মদানি কৰক',
+'action-importupload' => 'ফাà¦\87ল à¦\86পলâ\80\99ডৰ à¦ªà§°à¦¾ à¦ªà§\83ষà§\8dঠা à¦\86মদানি কৰক',
 'action-patrol' => 'আনৰ সম্পাদনা পৰীক্ষিত বুলি চিহ্নিত কৰক',
 'action-autopatrol' => 'আপোনাৰ সম্পাদনা পৰীক্ষিত বুলি চিহ্নিত কৰক',
 'action-unwatchedpages' => 'নিৰীক্ষণ নকৰা পৃষ্ঠাসমূহৰ তালিকা চাওক',
@@ -1571,22 +1579,33 @@ $1",
 'action-userrights-interwiki' => 'আন ৱিকিৰ সদস্যৰ অধিকাৰসমূহ সম্পাদনা কৰক',
 'action-siteadmin' => 'তথ্যকোষ বন্ধ কৰক বা খোলক',
 'action-sendemail' => 'ই-মেইল পঠিয়াওক',
+'action-editmywatchlist' => 'আপোনাৰ লক্ষ্যতালিকা সম্পাদনা কৰক',
+'action-viewmywatchlist' => 'আপোনাৰ লক্ষ্যতালিকা চাওক',
+'action-viewmyprivateinfo' => 'আপোনাৰ ব্যক্তিগত তথ্য চাওক',
+'action-editmyprivateinfo' => 'আপোনাৰ ব্যক্তিগত তথ্য সম্পাদনা কৰক',
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|সাল-সলনি|সাল-সলনি}}',
+'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|শেষ দৰ্শনৰ পৰা}}',
+'enhancedrc-history' => 'ইতিহাস',
 'recentchanges' => 'শেহতীয়া সাল-সলনি',
 'recentchanges-legend' => 'সাম্প্ৰতিক সালসলনিৰ পছন্দসমূহ',
 'recentchanges-summary' => 'ৱিকিত হোৱা শেহতীয়া সাল-সলনি এই পৃষ্ঠাত অনুসৰণ কৰক।',
+'recentchanges-noresult' => 'নিৰ্ধাৰিত সময়ছোৱাত এই মাপকাঠিৰ লগত মিলা কোনো সালসলনি হোৱা নাই।',
 'recentchanges-feed-description' => 'ৱিকিত হোৱা শেহতীয়া সাল-সলনি এই ফীডত অনুসৰণ কৰক।',
-'recentchanges-label-newpage' => 'à¦\8fà¦\87 à¦¸à¦®à§\8dপাদনাà¦\87 à¦\8fà¦\96ন à¦¨à¦¤à§\81ন à¦ªà§\83ষà§\8dঠা à¦¤à§\88য়াৰ কৰিছে',
+'recentchanges-label-newpage' => 'à¦\8fà¦\87 à¦¸à¦®à§\8dপাদনাà¦\87 à¦\8fà¦\9fা à¦¨à¦¤à§\81ন à¦ªà§\83ষà§\8dঠাৰ à¦¸à§\83ষà§\8dà¦\9fি কৰিছে',
 'recentchanges-label-minor' => 'এইটো অগুৰুত্বপূৰ্ণ সম্পাদনা',
 'recentchanges-label-bot' => "এই সম্পাদনা ব'টৰ দ্বাৰা কৰা হৈছে",
 'recentchanges-label-unpatrolled' => 'এই সম্পাদনাটো এতিয়াও পৰীক্ষা কৰা হোৱা নাই',
+'recentchanges-label-plusminus' => 'পৃষ্ঠাৰ আকাৰ এই পৰিমাণৰ বাইট পৰিৱৰ্তন হৈছে',
+'recentchanges-legend-heading' => "'''ব্যাখ্যা:'''",
+'recentchanges-legend-newpage' => '(লগতে [[Special:NewPages|নতুন পৃষ্ঠাসমূহৰ তালিকা]] চাওক)',
+'recentchanges-legend-plusminus' => "(''±১২৩'')",
 'rcnotefrom' => "তলত '''$2''' ৰ পৰা হোৱা ('''$1''' লৈকে) পৰিৱৰ্তন দেখুৱা হৈছে ।",
 'rclistfrom' => '$1ৰ পৰা নতুন সালসলনি দেখুৱাওক',
 'rcshowhideminor' => '$1 -সংখ্যক নগণ্য সম্পাদনা',
 'rcshowhidebots' => "ব'ট $1",
-'rcshowhideliu' => 'প্ৰবিষ্ট সভ্যৰ সাল-সলনি $1',
+'rcshowhideliu' => '$1 পঞ্জীভুক্ত সদস্য',
 'rcshowhideanons' => 'বেনামী সদস্য $1',
 'rcshowhidepatr' => '$1 নিৰীক্ষিত সম্পাদনা',
 'rcshowhidemine' => 'মোৰ সম্পাদনা $1',
@@ -1623,7 +1642,7 @@ $1",
 'reuploaddesc' => 'আপল’ড বাতিল কৰি আপল’ড প্ৰপত্ৰলৈ ঘূৰি যাওক',
 'upload-tryagain' => 'পৰিৱৰ্তিত ফাইলৰ বিৱৰণ দাখিল কৰক',
 'uploadnologin' => 'প্ৰৱেশ কৰা নাই',
-'uploadnologintext' => 'ফাà¦\87ল à¦\86পলâ\80\99ড à¦\95ৰিবলà§\88 à¦\86পà§\81নি à¦\86à¦\97তà§\87 [[Special:UserLogin|লà¦\97-à¦\87ন]] à¦\95ৰিব à¦²à¦¾à¦\97িব ।',
+'uploadnologintext' => 'ফাà¦\87ল à¦\86পলâ\80\99ড à¦\95ৰিবলà§\88 à¦\85নà§\81à¦\97à§\8dৰহ à¦\95ৰি $1 à¦\95ৰà¦\95।',
 'upload_directory_missing' => 'আপলোড ডিৰেক্টৰি ($1)  বিচাৰি পোৱা নগ’ল আৰু ৱেবচাৰ্ভাৰৰ দ্বাৰা তৈয়াৰ কৰিব পৰা নগ’ল ।',
 'upload_directory_read_only' => 'আপল’ড ডিৰেক্টৰি ($1) ৱেবচাৰ্ভাৰৰ দ্বাৰা লিখনযোগ্য নহয় ।',
 'uploaderror' => 'আপল’ডত সমস্যা হৈছে',
@@ -1866,8 +1885,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'upload_source_file' => '(আপোনাৰ কম্পিউটাৰৰ এটা ফাইল)',
 
 # Special:ListFiles
-'listfiles-summary' => 'এই বিশেষ পৃষ্ঠাত সকলো আপল’ড হোৱা ফাইল দেখা পাব ।
-সদস্যৰ দ্বাৰা চেকিলে কেৱল শেহতীয়াকৈ আপল’ড কৰা ফাইলৰ সংস্কৰণ দেখা পোৱা যাব ।',
+'listfiles-summary' => 'এই বিশেষ পৃষ্ঠাত সকলো আপল’ড হোৱা ফাইল দেখা পাব।',
 'listfiles_search_for' => 'মিডিয়াৰ নাম অনুসন্ধান:',
 'imgfile' => 'ফাইল',
 'listfiles' => 'ফাইলৰ তালিকা',
@@ -1878,6 +1896,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'listfiles_size' => 'আকাৰ',
 'listfiles_description' => 'বিৱৰণ',
 'listfiles_count' => 'সংস্কৰণ',
+'listfiles-show-all' => 'ছবিসমূহৰ পুৰণা সংস্কৰণ অন্তৰ্ভুক্ত কৰক',
+'listfiles-latestversion' => 'শেহতীয়া সংস্কৰণ',
 'listfiles-latestversion-yes' => 'হয়',
 'listfiles-latestversion-no' => 'নহয়',
 
@@ -1979,6 +1999,10 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 
 # Random page in category
 'randomincategory' => 'শ্ৰেণীৰ যিকোনো পৃষ্ঠা',
+'randomincategory-invalidcategory' => '"$1" বৈধ শ্ৰেণী নাম নহয়।',
+'randomincategory-nopages' => '[[:Category:$1|$1]] শ্ৰেণীত কোনো পৃষ্ঠা নাই।',
+'randomincategory-selectcategory' => 'এই শ্ৰেণীৰ পৰা যিকোনো পৃষ্ঠা চাওক: $1 $2।',
+'randomincategory-selectcategory-submit' => 'যাওক',
 
 # Random redirect
 'randomredirect' => 'অনিৰ্ধাৰিত পুননিৰ্দেশ',
@@ -2038,6 +2062,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'ninterwikis' => '$1 {{PLURAL:$1|ইণ্টাৰৱিকি|ইণ্টাৰৱিকিসমূহ}}',
 'nlinks' => '$1 {{PLURAL:$1|সংযোগ|সংযোগ}}',
 'nmembers' => '{{PLURAL:$1|সদস্য|$1 সদস্যবৃন্দ}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|জন সদস্য|জন সদস্য}}',
 'nrevisions' => '$1টা {{PLURAL:$1|সংশোধন|সংশোধন}}',
 'nviews' => '$1 {{PLURAL:$1|টা দৰ্শন|টা দৰ্শন}}',
 'nimagelinks' => '$1 {{PLURAL:$1|খন পৃষ্ঠাত|খন পৃষ্ঠাত}} ব্যৱহৃত',
@@ -2068,6 +2093,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'mostrevisions' => 'অধিকবাৰ সম্পাদনা কৰা পৃষ্ঠাসমূহ',
 'prefixindex' => 'উপসৰ্গসহ সকলো পৃষ্ঠা',
 'prefixindex-namespace' => 'উপসৰ্গ ($1 namespace) -ৰ সৈতে সকলো পৃষ্ঠা',
+'prefixindex-strip' => 'তালিকাৰ পৰা প্ৰিফিক্স আঁতৰাওক',
 'shortpages' => 'চুটি পৃষ্ঠাসমূহ',
 'longpages' => 'দীঘলীয়া পৃষ্ঠাসমূহ',
 'deadendpages' => 'সংযোগবিহীন পৃষ্ঠাসমূহ',
@@ -2081,6 +2107,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'listusers' => 'সদস্য তালিকা',
 'listusers-editsonly' => 'কেৱল সম্পাদনা কৰা সদস্যকহে দেখুৱাওক',
 'listusers-creationsort' => 'সৃষ্টিৰ তাৰিখমতে সজাওক',
+'listusers-desc' => 'নিম্নক্ৰমত সজাওক',
 'usereditcount' => '$1 {{PLURAL:$1|টা সম্পাদনা|টা সম্পাদনা}}',
 'usercreated' => '$1 তাৰিখে $2 সময়ত {{GENDER:$3|য়ে সৃষ্টি কৰিছে}}',
 'newpages' => 'নতুন পৃষ্ঠাসমূহ',
@@ -2182,7 +2209,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'listgrouprights' => 'ব্যৱহাৰকাৰী গোটৰ অধিকাৰ',
 'listgrouprights-summary' => 'এই ৱিকিত থকা গোটসমূহৰ তালিকা সেইবোৰৰ প্ৰৱেশাধিকাৰসহ তলত দিয়া হ’ল ।
 সুকীয়া অধিকাৰ সম্পৰ্কে [[{{MediaWiki:Listgrouprights-helppage}}|অধিক তথ্য]] থাকিব পাৰে ।',
-'listgrouprights-key' => '* <span class="listgrouprights-granted">অনুমোদিত অধিকাৰ</span>
+'listgrouprights-key' => 'ব্যাখ্যা:
+* <span class="listgrouprights-granted">অনুমোদিত অধিকাৰ</span>
 * <span class="listgrouprights-revoked">প্ৰত্যাহাৰ কৰা অধিকাৰ</span>',
 'listgrouprights-group' => 'গোট',
 'listgrouprights-rights' => 'অধিকাৰসমূহ',
@@ -2338,10 +2366,12 @@ $UNWATCHURL
 'deletecomment' => 'কাৰণ:',
 'deleteotherreason' => 'আন/অতিৰিক্ত কাৰণ:',
 'deletereasonotherlist' => 'আন কাৰণ:',
-'deletereason-dropdown' => '* অৱলুপ্তিৰ সাধাৰণ কাৰণসমূহ
-** লেখকৰ অনুৰোধ
+'deletereason-dropdown' => '* বিলোপনৰ সাধাৰণ কাৰণসমূহ
+** স্পাম
+** অসভ্যালি
 ** কপিৰাইট উলঙ্ঘন
-** অসভ্যালি',
+** লেখকৰ অনুৰোধ
+** ভঙা পুনঃনিৰ্দেশনা',
 'delete-edit-reasonlist' => 'অপসাৰণ কৰা কাৰণ সম্পাদনা কৰক',
 'delete-toobig' => 'এই পৃষ্ঠাখনৰ সম্পাদনা ইতিহাস অতি দীঘল, $1 {{PLURAL:$1|টা সংশোধনৰো|টা সংশোধনৰো}} বেছি ।
 {{SITENAME}}ৰ আকস্মিক ক্ষতি ৰোধ কৰিবলৈ এনে পৃষ্ঠাৰ ইতিহাস বিলোপ কৰাত সীমাবদ্ধতা আৰোপ কৰা হৈছে ।',
@@ -2363,7 +2393,7 @@ $UNWATCHURL
 [[User:$3|$3]] ([[User talk:$3|আলোচনা]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])ই এই পৃষ্ঠাৰ শেষ সম্পাদনা কৰিছিল ।",
 'editcomment' => "সম্পাদনাৰ সাৰাংশ আছিল: \"''\$1''\"।",
 'revertpage' => '[[Special:Contributions/$2|$2]] ([[User talk:$2|কথা-বতৰা]])ৰ সম্পাদনাসমূহ [[User:$1|$1]]য়ে কৰা শেষ সংশোধনলৈ ঘূৰাই নিয়া হৈছে ।',
-'revertpage-nouser' => '(সদস্যনাম বিলোপিত) য়ে কৰা সম্পাদনা [[User:$1|$1]] য়ে কৰা শেষ সংশোধনীলৈ ঘূৰাই নিয়া হৈছে ।',
+'revertpage-nouser' => 'এজন গোপন ব্যৱহাৰকাৰীয়ে কৰা সম্পাদনা {{GENDER:$1|[[User:$1|$1]]}}-য়ে কৰা শেষ সংশোধনীলৈ ঘূৰাই নিয়া হৈছে।',
 'rollback-success' => '$1 ৰ সম্পাদনাসমূহ পূৰ্বৰ অৱস্থালৈ ঘূৰাই নিয়া হৈছে;
 পৃষ্ঠাখন $2 য়ে কৰা শেষ সংশোধনীলৈ ঘূৰাই নিয়া হৈছে ।',
 
@@ -2532,7 +2562,7 @@ $1',
 'sp-contributions-submit' => 'সন্ধান কৰক',
 
 # What links here
-'whatlinkshere' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠা à¦¬à§\8dযৱহাৰ à¦\95ৰিà¦\9bà§\87...',
+'whatlinkshere' => 'à¦\87য়ালà§\88 à¦¥à¦\95া à¦¸à¦\82যà§\8bà¦\97সমà§\82হ',
 'whatlinkshere-title' => '"$1"লৈ সংযোজিত পৃষ্ঠাসমূহ',
 'whatlinkshere-page' => 'পৃষ্ঠা:',
 'linkshere' => "এই পৃষ্ঠাটো '''[[:$1]]''' ৰ লগত সংযোজিত:",
@@ -2704,11 +2734,11 @@ $1ৰ অৱৰোধৰ কাৰণ: "$2"',
 যদি এইটো কৰিব নিবিচাৰে তেনেহ'লে  [[Special:DoubleRedirects|দ্বি-পুনৰ্নিৰ্দেশনাসমূহ]] বা [[Special:BrokenRedirects|ভঙা পুনৰ্নিৰ্দেশনাসমূহ]] বাছনি কৰে যেন।
 সকলো সংযোগ সঠিক দিশলৈ পোনাৱাৰ দায়িত্ব আপোনাৰ।
 
-মন à¦\95ৰিব à¦¯à§\87 à¦ªà§\83ষà§\8dঠাà¦\96ন à¦¸à§\8dথানানà§\8dতৰ à¦\95ৰা '''নহ'ব''' à¦¯à¦¦à¦¿à¦¹à§\87 à¦¨à¦¤à§\81ন à¦¶à¦¿à§°à§\8bনামà¦\9fà§\8bত à¦ªà§\82ৰà§\8dবৰপৰা à¦\8fà¦\96ন à¦ªà§\83ষà§\8dঠা à¦\86à¦\9bà§\87à¦\87, à¦\86ৰà§\81 à¦¯à¦¦à¦¿à¦¹à§\87 à¦ªà§\82ৰà§\8dবৰ à¦ªà§\83ষà§\8dঠাà¦\96ন কোনো পুনৰ্নিৰ্দেশ নহয় আৰু তাৰ কোনো সম্পাদনাৰ পূৰ্বইতিহাস নাই।
-à¦\87য়াৰ à¦\85ৰà§\8dথ à¦\8fয়à§\87 à¦¯à§\87 à¦­à§\81ল à¦¹à¦²à§\87 à¦ªà§\83ষà§\8dঠাà¦\96ন à¦\86à¦\97ৰ à¦ à¦¾à¦\87তà§\87 à¦¥à¦¾à¦\95িব, à¦\86ৰà§\81 à¦\86পà§\81নি à¦ªà§\8dৰà¦\9aলিত à¦ªà§\83ষà§\8dঠা à¦\8fà¦\96নà¦\95 à¦\86ন à¦ªà§\83ষà§\8dঠা à¦\8fà¦\96নà§\87ৰে সলনি কৰিব নোৱাৰে।
+মন à¦\95ৰিব à¦¯à§\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b à¦¸à§\8dথানানà§\8dতৰ à¦\95ৰা '''নহ'ব''' à¦¯à¦¦à¦¿à¦¹à§\87 à¦¨à¦¤à§\81ন à¦¶à¦¿à§°à§\8bনামà¦\9fà§\8bত à¦ªà§\82ৰà§\8dবৰপৰা à¦\8fà¦\9fা à¦ªà§\83ষà§\8dঠা à¦\86à¦\9bà§\87à¦\87, à¦\86ৰà§\81 à¦¯à¦¦à¦¿à¦¹à§\87 à¦ªà§\82ৰà§\8dবৰ à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b কোনো পুনৰ্নিৰ্দেশ নহয় আৰু তাৰ কোনো সম্পাদনাৰ পূৰ্বইতিহাস নাই।
+à¦\87য়াৰ à¦\85ৰà§\8dথ à¦\8fয়à§\87 à¦¯à§\87 à¦­à§\81ল à¦¹à¦²à§\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b à¦\86à¦\97ৰ à¦ à¦¾à¦\87তà§\87 à¦¥à¦¾à¦\95িব, à¦\86ৰà§\81 à¦\86পà§\81নি à¦ªà§\8dৰà¦\9aলিত à¦ªà§\83ষà§\8dঠা à¦\8fà¦\9fাà¦\95 à¦\86ন à¦ªà§\83ষà§\8dঠা à¦\8fà¦\9fাৰে সলনি কৰিব নোৱাৰে।
 
 '''সতৰ্কবাণী !'''
-à¦\9cনপà§\8dৰিয় à¦ªà§\83ষà§\8dঠা à¦\8fà¦\96নৰ বাবে এয়া এক ডাঙৰ আৰু অনাকাংক্ষিত সাল-সলনি হ’ব পাৰে;
+à¦\9cনপà§\8dৰিয় à¦ªà§\83ষà§\8dঠা à¦\8fà¦\9fাৰ বাবে এয়া এক ডাঙৰ আৰু অনাকাংক্ষিত সাল-সলনি হ’ব পাৰে;
 আগবঢ়াৰ পূৰ্বে এই কাৰ্যৰ পৰিণাম ভালদৰে বিবেচনা কৰি লয় যেন।",
 'movepagetext-noredirectfixer' => "তলৰ প্ৰপত্ৰ ব্যৱহাৰ কৰিলে এই পৃষ্ঠাৰ শিৰোনামা সলনি হ'ব, লগতে সমগ্ৰ ইতিহাস নতুন শিৰোনামালৈ স্থানান্তৰ কৰা হ'ব।
 পুৰণা শিৰোনামাটো নতুন শিৰোনামালৈ এটা পুনৰ্নিৰ্দেশনা হৈ ৰ'ব।
@@ -2716,16 +2746,16 @@ $1ৰ অৱৰোধৰ কাৰণ: "$2"',
 সকলো সংযোগে যাতে সঠিক দিশলৈ পোনায়, সেয়া লক্ষ্য কৰা দায়িত্ব আপোনাৰ।
 
 মন কৰিব যে নতুন শিৰোনামাতো যদি প্ৰচলিত, এই পৃষ্ঠা নতুন শিৰোনামালৈ সলনি কৰা '''নহ'ব''' যদিহে সেই পৃষ্ঠা খালী বা কোনো পুনৰ্নিৰ্দেশনৰ পূৰ্ব ইতিহাস নাই।
-à¦\87য়াৰ à¦\85ৰà§\8dথ à¦\8fয়à§\87 à¦¯à§\87 à¦­à§\81ল à¦¹à¦²à§\87 à¦ªà§\83ষà§\8dঠাà¦\96ন à¦\86à¦\97ৰ à¦ à¦¾à¦\87তà§\87 à¦¥à¦¾à¦\95িব, à¦\86ৰà§\81 à¦\86পà§\81নি à¦ªà§\8dৰà¦\9aলিত à¦ªà§\83ষà§\8dঠা à¦\8fà¦\96নক আন পৃষ্ঠা এখনেৰে সলনি কৰিব নোৱাৰে।
+à¦\87য়াৰ à¦\85ৰà§\8dথ à¦\8fয়à§\87 à¦¯à§\87 à¦­à§\81ল à¦¹à¦²à§\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b à¦\86à¦\97ৰ à¦ à¦¾à¦\87তà§\87 à¦¥à¦¾à¦\95িব, à¦\86ৰà§\81 à¦\86পà§\81নি à¦ªà§\8dৰà¦\9aলিত à¦ªà§\83ষà§\8dঠা à¦\8fà¦\9fাক আন পৃষ্ঠা এখনেৰে সলনি কৰিব নোৱাৰে।
 
 '''সতৰ্কবাণী !'''
-à¦\9cনপà§\8dৰিয় à¦ªà§\83ষà§\8dঠা à¦\8fà¦\96নৰ বাবে এয়া এক ডাঙৰ আৰু অকানাংক্ষিত সাল-সলনি হ'ব পাৰে;
+à¦\9cনপà§\8dৰিয় à¦ªà§\83ষà§\8dঠা à¦\8fà¦\9fাৰ বাবে এয়া এক ডাঙৰ আৰু অকানাংক্ষিত সাল-সলনি হ'ব পাৰে;
 এই কাৰ্য্যৰ পৰিণাম ভালদৰে বিবেচনা কৰি লয় যেন।",
 'movepagetalktext' => "পৃষ্ঠাখনৰ লগতে সংশ্লিষ্ট আলোচনা পৃষ্ঠাখনো স্বয়ংক্ৰিয়ভাৱে স্থানান্তৰ হ’ব; এনে নহয় '''যদিহে:'''
-*নতà§\81ন à¦¶à¦¿à§°à§\8bনামাৰ à¦\85ধà§\80নত à¦\8fà¦\96ন à¦\96ালà§\80 নোহোৱা আলোচনা পৃষ্ঠা ইতিমধ্যেই থাকে, বা
+*নতà§\81ন à¦¶à¦¿à§°à§\8bনামাৰ à¦\85ধà§\80নত à¦\8fà¦\9fা à¦\96ালি নোহোৱা আলোচনা পৃষ্ঠা ইতিমধ্যেই থাকে, বা
 *আপুনি তলৰ ঘৰটো অচিহ্নিত কৰে ।
 
-তà§\87নà§\87 à¦\95à§\8dষà§\87তà§\8dৰত à¦\86পà§\81নি à¦\86পà§\81নি à¦\87à¦\9aà§\8dà¦\9bা à¦\95ৰিলà§\87 à¦¨à¦¿à¦\9c à¦¹à¦¾à¦¤à§\87 à¦ªà§\83ষà§\8dঠাà¦\96ন স্থানান্তৰ বা একত্ৰীকৰণ কৰিব পাৰে ।",
+তà§\87নà§\87 à¦\95à§\8dষà§\87তà§\8dৰত à¦\86পà§\81নি à¦\86পà§\81নি à¦\87à¦\9aà§\8dà¦\9bা à¦\95ৰিলà§\87 à¦¨à¦¿à¦\9c à¦¹à¦¾à¦¤à§\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b স্থানান্তৰ বা একত্ৰীকৰণ কৰিব পাৰে ।",
 'movearticle' => 'পৃষ্ঠা স্থানান্তৰ কৰক:',
 'moveuserpage-warning' => "'''সতৰ্কবাণী:''' আপুনি এখন সদস্যপৃষ্ঠা স্থানান্তৰ কৰিবলৈ বিছাৰিছে । অনুগ্ৰহ কৰি মন কৰক যে কেৱল সদস্যপৃষ্ঠাখনহে স্থানান্তৰ হ’ব আৰু সদস্যজনৰ পুনঃনামাকৰণ নহ’ব ।",
 'movenologintext' => 'পৃষ্ঠা স্থানান্তৰ কৰিবলৈ আপুনি ভুক্ত সদস্য হৈ [[Special:UserLogin|প্ৰৱেশ]] কৰিব লাগিব ।',
@@ -2742,7 +2772,7 @@ $1ৰ অৱৰোধৰ কাৰণ: "$2"',
 'movepage-moved-noredirect' => 'পুনৰ্নিৰ্দেশনা সৃষ্টি কৰা নিবাৰণ কৰা হৈছে ।',
 'articleexists' => 'সেই নামৰ পৃষ্ঠা এটা আগৰ পৰাই আছে, বা সেই নামতো অযোগ্য।
 বেলেগ নাম এটা বাছি লওক।',
-'cantmove-titleprotected' => 'আপুনি ইয়ালৈ কোনো পৃষ্ঠা স্থানান্তৰ কৰিব নোৱাৰে, কাৰণ এই নতুন শিৰোনামা সৃষ্টিৰ পৰা সুৰক্ষিত ।',
+'cantmove-titleprotected' => 'আপুনি ইয়ালৈ কোনো পৃষ্ঠা স্থানান্তৰ কৰিব নোৱাৰে, কাৰণ এই নতুন শিৰোনামা সৃষ্টিৰ পৰা সুৰক্ষিত।',
 'movetalk' => 'সংলগ্ন বাৰ্তা পৃষ্ঠা স্থানান্তৰ কৰক',
 'move-subpages' => 'উপ-পৃষ্ঠাসমূহ স্থানান্তৰ কৰক ($1লৈ)',
 'move-talk-subpages' => 'আলোচনা পৃষ্ঠাৰ উপ-পৃষ্ঠাসমূহ স্থানান্তৰ কৰক ($1-লৈ)',
@@ -2960,7 +2990,7 @@ $2',
 'tooltip-ca-nstab-main' => 'এই ৱিকিৰ সূচী চাওক',
 'tooltip-ca-nstab-user' => 'সভ্যৰ ব্যক্তিগত পৃষ্ঠালৈ',
 'tooltip-ca-nstab-media' => 'মিডিয়া পৃষ্ঠাখন চাওক',
-'tooltip-ca-nstab-special' => 'à¦\8fà¦\87à¦\96ন à¦\8fà¦\96ন বিশেষ পৃষ্ঠা, আপুনি সম্পাদনা কৰিব নোৱাৰে',
+'tooltip-ca-nstab-special' => 'à¦\8fà¦\87à¦\9fà§\8b à¦\8fà¦\9fা বিশেষ পৃষ্ঠা, আপুনি সম্পাদনা কৰিব নোৱাৰে',
 'tooltip-ca-nstab-project' => 'প্ৰকল্প পৃষ্ঠা চাওক',
 'tooltip-ca-nstab-image' => 'নথিৰ পৃষ্ঠা চাওক',
 'tooltip-ca-nstab-mediawiki' => 'প্ৰণালী বাৰ্তা চাওক',
@@ -3021,13 +3051,14 @@ $2',
 'pageinfo-length' => 'পৃষ্ঠাৰ দৈৰ্ঘ্য (বাইটত)',
 'pageinfo-article-id' => 'পৃষ্ঠা ID',
 'pageinfo-language' => 'পৃষ্ঠাত সন্নিবিষ্ট ভাষা',
-'pageinfo-robot-policy' => 'সন্ধান ইঞ্জিনৰ স্থিতি',
-'pageinfo-robot-index' => 'ইনডেক্স উপযোগী',
-'pageinfo-robot-noindex' => 'ইনডেক্সৰ অনুপযোগী',
+'pageinfo-content-model' => 'পৃষ্ঠাৰ সমলৰ মডেল',
+'pageinfo-robot-policy' => "ৰ'ব'টৰ জৰিয়তে ইন্‌ডেক্সিং কৰা হৈছে",
+'pageinfo-robot-index' => 'অনুমোদিত',
+'pageinfo-robot-noindex' => 'অনুমোদন অগ্ৰাহ্য',
 'pageinfo-views' => 'দৰ্শনৰ সংখ্যা',
 'pageinfo-watchers' => 'পৃষ্ঠা নিৰীক্ষকৰ সংখ্যা',
 'pageinfo-few-watchers' => '$1 {{PLURAL:$1|তকৈ কম নিৰীক্ষক}}',
-'pageinfo-redirects-name' => 'পà§\83ষà§\8dঠালà§\88 à¦¥à¦\95া à¦ªà§\81নৰà§\8dনিৰà§\8dদà§\87শ',
+'pageinfo-redirects-name' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠালà§\88 à¦¥à¦\95া à¦ªà§\81নৰà§\8dনিৰà§\8dদà§\87শৰ à¦¸à¦\82à¦\96à§\8dযা',
 'pageinfo-subpages-name' => 'এই পৃষ্ঠাৰ উপপৃষ্ঠাসমূহ',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|পুনৰ্নিৰ্দেশ|পুনৰ্নিৰ্দেশসমূহ}}; $3 {{PLURAL:$3|অপুনৰ্নিৰ্দেশ নাই|অপুনৰ্নিৰ্দেশসমূহ}})',
 'pageinfo-firstuser' => 'পৃষ্ঠাখনৰ সৃষ্টিকৰ্তা',
@@ -3363,7 +3394,7 @@ Any subsequent links on the same line are considered to be exceptions, i.e. page
 'exif-compression-4' => "CCITT দল ৪ ফেক্স এনক'ডিং",
 
 'exif-copyrighted-true' => 'কপিৰাইট আছে',
-'exif-copyrighted-false' => "ৰাজহুৱা ড'মেইন",
+'exif-copyrighted-false' => 'কপিৰাইট সংক্ৰান্ত তথ্য নাই',
 
 'exif-unknowndate' => 'অজ্ঞাত তাৰিখ',
 
@@ -3671,6 +3702,10 @@ $5
 'imgmultigo' => 'যাওক',
 'imgmultigoto' => '$1 পৃষ্ঠালৈ যাওক',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(ডিফল্ট ভাষা)',
+'img-lang-go' => 'যাওক',
+
 # Table pager
 'ascending_abbrev' => 'আৰোহণ',
 'descending_abbrev' => 'অৱতৰণ',
@@ -3754,6 +3789,7 @@ $5
 'version-license' => 'অনুজ্ঞাপত্ৰ',
 'version-poweredby-credits' => "এই ৱিকি '''[https://www.mediawiki.org/ মিডিয়াৱিকিৰ]''' দ্বাৰা প্ৰচলিত , কপিৰাইট © ২০০১-$1 $2.",
 'version-poweredby-others' => 'অন্য',
+'version-poweredby-translators' => 'translatewiki.net অনুবাদকসকল',
 'version-credits-summary' => 'আমি নিম্নোক্ত ব্যক্তিসকলক তেওঁলোকে [[Special:Version|মিডিয়াৱিকি]]লৈ দিয়া দিয়া বৰঙনিৰ বাবে চিনাকী  কৰিব বিচাৰিছো।',
 'version-license-info' => "মিডিয়াৱিকি এটা বিনামূলীয়া চফ্টৱেৰ; আপুনি Free Software Foundation -ৰ দ্বাৰা প্ৰকাশিত GNU General Public License -ৰ চুক্তিসমূহৰ অন্তৰ্গত ইয়াক পুনৰ বিতৰণ কৰিব পাৰিব অথবা সলনি কৰিব পাৰিব; হয়তো অনুজ্ঞাপত্ৰৰ সংস্কৰণ ২ 
 অথবা (আপোনাৰ বিকল্পত) যিকোনো পৰৱৰ্তী সংস্কৰণ।
@@ -3770,13 +3806,14 @@ $5
 'version-entrypoints-header-url' => 'ইউআৰএল',
 
 # Special:Redirect
-'redirect' => 'ফাà¦\87ল, à¦¸à¦¦à¦¸à§\8dয, à¦¬à¦¾ à¦¸à¦\82শà§\8bধন à¦\86à¦\87 à¦¡à¦¿ৰে পুনঃনিৰ্দেশ',
-'redirect-legend' => 'à¦\8fà¦\9fা à¦«à¦¾à¦\87ল à¦¬à¦¾ à¦\8fà¦\96ন à¦\8fà¦\96ন à¦ªà§\83ষà§\8dঠালà§\88 à¦ªà§\81নà¦\83নিৰà§\8dদà§\87শ',
+'redirect' => 'ফাà¦\87ল, à¦¸à¦¦à¦¸à§\8dয, à¦ªà§\83ষà§\8dঠা à¦¬à¦¾ à¦¸à¦\82শà§\8bধন à¦\86à¦\87 à¦¡à¦¿-ৰে পুনঃনিৰ্দেশ',
+'redirect-legend' => 'এটা ফাইল বা পৃষ্ঠালৈ পুনঃনিৰ্দেশ',
 'redirect-summary' => 'এই বিশেষ পৃষ্ঠাটোৱে আপোনাক পুনঃনির্দেশিত কৰিছে অন্য এটা নথিপত্রলৈ (নথিপত্রৰ নাম), এটা পৃষ্ঠালৈ (পৃষ্ঠাৰ নাম), অথবা অন্য সদস্যৰ পৃষ্ঠালৈ(সংখ্যাৰে লিখা সদস্যৰ আইডি) ।',
 'redirect-submit' => 'যাওক',
 'redirect-lookup' => 'চাওক:',
 'redirect-value' => 'মূল্য:',
 'redirect-user' => 'সদস্য আই ডি',
+'redirect-page' => 'পৃষ্ঠা ID',
 'redirect-revision' => 'পৃষ্ঠা সংশোধন',
 'redirect-file' => 'ফাইলৰ নাম',
 'redirect-not-exists' => "মূল্য পোৱা নগ'ল",
@@ -3794,6 +3831,7 @@ $5
 
 # Special:SpecialPages
 'specialpages' => 'বিশেষ পৃষ্ঠাসমূহ',
+'specialpages-note-top' => 'ব্যাখ্যা',
 'specialpages-note' => '* সাধাৰণ বিশেষ পৃষ্ঠাসমূহ।
 * <span class="mw-specialpagerestricted">সীমাবদ্ধ বিশেষ পৃষ্ঠাসমূহ।</span>
 * <span class="mw-specialpagecached">কেশ্ব কৰা বিশেষ পৃষ্ঠাসমূহ (অপ্ৰচলিতও হ\'ব পাৰে)।</span>',
@@ -3945,7 +3983,7 @@ $5
 'api-error-duplicate-archive-popup-title' => 'প্ৰতিলিপি {{PLURAL:$1|ফাইল|ফাইল}} যিসমূহ ইতিমধ্যে বিলোপ কৰা হৈছে।',
 'api-error-duplicate-popup-title' => 'প্ৰতিলিপি {{PLURAL:$1|ফাইল|ফাইলসমূহ}}।',
 'api-error-empty-file' => 'আপুনি দাখিল কৰা ফাইলটো খালী ।',
-'api-error-emptypage' => 'নতà§\81ন, à¦\96ালà§\80 পৃষ্ঠা সৃষ্টি কৰিবলৈ অনুমতি নাই।',
+'api-error-emptypage' => 'নতà§\81ন, à¦\96ালি পৃষ্ঠা সৃষ্টি কৰিবলৈ অনুমতি নাই।',
 'api-error-fetchfileerror' => 'আভ্যন্তৰীণ ত্ৰুটি: ফাইলটো অনাত কিবা সমস্যা হৈছে।',
 'api-error-fileexists-forbidden' => '"$1" নামৰ এখন নথি আগৰ পৰাই উপলদ্ধ আৰু ইয়াৰ পুনৰ লিখন অসম্ভৱ ।',
 'api-error-fileexists-shared-forbidden' => 'উমৈহতীয়া ফাইল ভঁৰালত "$1" নামৰ ফাইল এটা আছেই, ইয়াৰ ওপৰত লিখিব নোৱাৰি।',
index 44f481c..fa3c9c1 100644 (file)
@@ -1301,6 +1301,7 @@ Esta información sedrá pública.',
 'prefs-tokenwatchlist' => 'Pase',
 'prefs-diffs' => 'Diferencies',
 'prefs-help-prefershttps' => 'Esta preferencia aplicaráse nel siguiente aniciu de sesión.',
+'prefs-tabs-navigation-hint' => 'Gabitu: pue usar les tecles de flecha izquierda y drecha pa navegar peles llingüetes de la llista.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'La direición de corréu paez válida',
@@ -1960,6 +1961,7 @@ Les entraes <del>tachaes</del> tan resueltes.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikis}}',
 'nlinks' => '$1 {{PLURAL:$1|enllaz|enllaces}}',
 'nmembers' => '$1 {{PLURAL:$1|miembru|miembros}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|miembru|miembros}}',
 'nrevisions' => '$1 {{PLURAL:$1|revisión|revisiones}}',
 'nviews' => '$1 {{PLURAL:$1|vista|vistes}}',
 'nimagelinks' => 'Usao en $1 {{PLURAL:$1|páxina|páxines}}',
@@ -3619,6 +3621,11 @@ Por favor confirma que daveres quies volver a crear esta páxina.",
 'imgmultigo' => '¡Dir!',
 'imgmultigoto' => 'Dir a la páxina $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(llingua predeterminada)',
+'img-lang-info' => 'Representar esta imaxe en $1 $2.',
+'img-lang-go' => 'Dir',
+
 # Table pager
 'ascending_abbrev' => 'asc',
 'descending_abbrev' => 'desc',
index 3351793..127fa5f 100644 (file)
@@ -606,7 +606,7 @@ Tabi probaran giraray.',
 'passwordtooshort' => 'Mga sekretong panlaog dapat igwa nin {{PLURAL:$1|1 karakter|$1 mga karakter}}.',
 'password-name-match' => 'An saimong sekretong panlaog dapat laen sa saimong paragamit na ngaran.',
 'password-login-forbidden' => 'An paggamit kaining pangaran nin paragamit asin sekretong panlaog pinagbabawal.',
-'mailmypassword' => 'Paki-koreo an bagong sekretong panlaog',
+'mailmypassword' => 'Pakibaguha an pasa-taramon',
 'passwordremindertitle' => 'Bagong temporaryo na sekretong panlaog para sa {{SITENAME}}',
 'passwordremindertext' => 'May sarong tawo (pwedeng ika gayod, gikan sa IP address na $1) naghagad nin sarong bagong sekretong panlaog para sa {{SITENAME}} ($4). Sarong temporaryong sekretong panlaog para sa paragamit "$2" an pinagmukna asin pinagtuytoy na magin "$3". Kun iyo ini an saimong katuyuhan, kaipuhan mong maglaog asin magpili nin sarong bagong sekretong panlaog ngunyan.
 An saimong temporaryong sekretong panlaog mapapaso sa laog nin {{PLURAL:$5|sarong aldaw|$5 aldaw}}. 
@@ -673,7 +673,7 @@ Matriumpo mo nang nailaog an sekretong panlaog o nakua an bàgong temporaryong s
 # Special:PasswordReset
 'passwordreset' => 'Pakibago kan sekretong panlaog',
 'passwordreset-text-one' => 'Kumpletuhon ining porma sa pagliwat otro kan saimong pasa-taramon.',
-'passwordreset-text-many' => '{{PLURAL:$1|Palamanan an saro sa mga kaaganan tanganing mailuwat-otro an saimong pasa-taramon.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Kaagi an saro sa mga kaaganan tanganing makaresibe nin sarong temporaryong pasa-taramon sa paagi kan e-surat.}}',
 'passwordreset-legend' => 'Pakibago kan sekretong panlaog',
 'passwordreset-disabled' => 'An pagbago kan sekretong panlaog pinagpundo sa wiking ini.',
 'passwordreset-emaildisabled' => 'E-surat na mga estima pinag-uruntok sa wiking ini.',
@@ -1319,6 +1319,7 @@ An saimong e-surat na adres dae ipagbuyagyag kunsoarin na an ibang paragamit mak
 'prefs-tokenwatchlist' => 'Paduos',
 'prefs-diffs' => 'Diffs',
 'prefs-help-prefershttps' => 'Ining kamuyahan magkaka-epekto sa masunod mong paglaog.',
+'prefs-tabs-navigation-hint' => 'Pantama: Ika makakagamit nin wala asin too na pansusing pana tanganing magnabigar sa tahaw kan mga tanda na yaon sa listahan nin mga panandaan.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'An e-koreo nagpapahiling na balido',
@@ -1506,11 +1507,12 @@ An saimong e-surat na adres dae ipagbuyagyag kunsoarin na an ibang paragamit mak
 'recentchanges-label-unpatrolled' => 'Ining pagliwat dae pa tabi pinagpatrolyahan',
 'recentchanges-label-plusminus' => 'An kadakulaan nin pahina pinagliwat sa paagi kaining numero nin mga bayta',
 'recentchanges-legend-newpage' => '(hilngon man [[Special:NewPages|listahan kan mga baguhong pahina]])',
+'recentchanges-legend-plusminus' => "(''±saro-duwa-tolo'')",
 'rcnotefrom' => "Sa ibaba iyo an mga kaliwatan poon kan '''$2''' (sagkod sa '''$1''' na ipinapahiling).",
 'rclistfrom' => 'Ipahiling an baguhon na mga kaliwatan magpoon kan $1',
 'rcshowhideminor' => '$1 saradit na mga pagliwat',
 'rcshowhidebots' => '$1 mga gantaw',
-'rcshowhideliu' => '$1 nakalaog na mga paragamit',
+'rcshowhideliu' => '$1 rehistradong mga paragamit',
 'rcshowhideanons' => '$1 mga dae bistong paragamit',
 'rcshowhidepatr' => '$1 patrolyadong mga pagliwat',
 'rcshowhidemine' => '$1 sakong mga pagliliwat',
@@ -1956,6 +1958,7 @@ Ini ngunyan minatukdo-liwat pasiring sa [[$2]].',
 'ninterwikis' => '$1 {{PLURAL:$1|an interwiki|mga interwiki}}',
 'nlinks' => '$1 {{PLURAL:$1|takod|mga takod}}',
 'nmembers' => '$1 {{PLURAL:$1|miyembro|mga miyembro}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|miyembro|mga miyembro}}',
 'nrevisions' => '$1 {{PLURAL:$1|pagpakarhay|mga pagpakarhay}}',
 'nviews' => '$1 {{PLURAL:$1|hiling|mga hiling}}',
 'nimagelinks' => 'Ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}',
@@ -3590,6 +3593,11 @@ Ikonpirmar tabi na talagang gusto mong gibohon giraray ining pahina.",
 'imgmultigo' => 'Dumanán!',
 'imgmultigoto' => 'Magpasiring sa pahina $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(panugmad na lengguwahe)',
+'img-lang-info' => 'Giboha ining imahe sa $1 $2.',
+'img-lang-go' => 'Dumani',
+
 # Table pager
 'ascending_abbrev' => 'skt',
 'descending_abbrev' => 'ba',
@@ -3935,6 +3943,7 @@ Sa katunayan, ini minapabigwak kan gabos na bagay na yaon sa mga dobleng pananda
 'expand_templates_xml_output' => 'Kinaluwasan na XML',
 'expand_templates_remove_comments' => 'Tanggalon an mga komento',
 'expand_templates_remove_nowiki' => 'Pugulan an mga taktak na <nowiki> sa resulta',
+'expand_templates_generate_xml' => 'Ipahiling an panlunhay na kahoy nin XML',
 'expand_templates_preview' => 'Patânaw',
 
 );
index d5e209b..57d8b4e 100644 (file)
@@ -537,8 +537,8 @@ $1',
 'youhavenewmessages' => 'Вы атрымалі $1 ($2).',
 'youhavenewmessagesfromusers' => 'Вы атрымалі $1 ад {{PLURAL:$3|іншага ўдзельніка|$3 удзельнікаў}} ($2).',
 'youhavenewmessagesmanyusers' => 'Вы атрымалі $1 ад некалькіх удзельнікаў ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|новае паведамленьне|новыя паведамленьні}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|апошняя зьмена|апошнія зьмены}}',
+'newmessageslinkplural' => '{{PLURAL:$1|новае паведамленьне|999=новыя паведамленьні}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|апошняя зьмена|999=апошнія зьмены}}',
 'youhavenewmessagesmulti' => 'Вы атрымалі новыя паведамленьні на $1',
 'editsection' => 'рэдагаваць',
 'editold' => 'рэдагаваць',
@@ -663,7 +663,8 @@ $2',
 'invalidtitle-knownnamespace' => 'Няслушная назва ў прасторы «$2»: «$3»',
 'invalidtitle-unknownnamespace' => 'Няслушная назва ў невядомай прасторы $1: «$2»',
 'exception-nologin' => 'Вы не ўвайшлі ў сыстэму',
-'exception-nologin-text' => 'Гэтая старонка ці дзеяньне патрабуе, каб вы ўвайшлі ў сыстэму.',
+'exception-nologin-text' => 'Неабходна [[Special:Userlogin|ўвайсьці]], каб атрымаць доступ да гэтай старонкі або дзеяньня.',
+'exception-nologin-text-manual' => 'Неабходна $1, каб мець доступ да гэтай старонкі або дзеяньня.',
 
 # Virus scanner
 'virus-badscanner' => "Няслушная канфігурацыя: невядомы антывірусны сканэр: ''$1''",
@@ -1364,6 +1365,7 @@ $1",
 'preferences' => 'Налады',
 'mypreferences' => 'Налады',
 'prefs-edits' => 'Колькасьць рэдагаваньняў:',
+'prefsnologintext2' => 'Неабходна $1, каб зьмяніць вашыя налады.',
 'prefs-skin' => 'Афармленьне',
 'skin-preview' => 'Папярэдні прагляд',
 'datedefault' => 'Па змоўчаньні',
@@ -1660,12 +1662,14 @@ $1",
 'recentchanges-label-minor' => 'Гэтае рэдагаваньне — дробнае',
 'recentchanges-label-bot' => 'Гэтае рэдагаваньне зробленае робатам',
 'recentchanges-label-unpatrolled' => 'Гэтае рэдагаваньне яшчэ не было адпатруляванае',
-'recentchanges-legend-newpage' => '$1 — новая старонка',
+'recentchanges-label-plusminus' => 'Памер старонкі зьмяніўся на такую колькасьць байтаў',
+'recentchanges-legend-heading' => "'''Легенда:'''",
+'recentchanges-legend-newpage' => '(глядзіце таксама [[Special:NewPages|сьпіс новых старонак]])',
 'rcnotefrom' => "Ніжэй знаходзяцца зьмены з '''$2''' (да '''$1''' на старонку).",
 'rclistfrom' => 'Паказаць зьмены з $1',
 'rcshowhideminor' => '$1 дробныя праўкі',
 'rcshowhidebots' => '$1 робатаў',
-'rcshowhideliu' => '$1 зарэгістраваных',
+'rcshowhideliu' => '$1 зарэгістраваных карыстальнікаў',
 'rcshowhideanons' => '$1 ананімаў',
 'rcshowhidepatr' => '$1 патруляваныя праўкі',
 'rcshowhidemine' => '$1 мае праўкі',
@@ -2112,6 +2116,7 @@ $1',
 'ninterwikis' => '$1 {{PLURAL:$1|інтэрвікі|інтэрвікі}}',
 'nlinks' => '$1 {{PLURAL:$1|спасылка|спасылкі|спасылак}}',
 'nmembers' => '$1 {{PLURAL:$1|элемэнт|элемэнты|элемэнтаў}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|элемэнт|элемэнты|элемэнтаў}}',
 'nrevisions' => '$1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсіяў}}',
 'nviews' => '$1 {{PLURAL:$1|прагляд|прагляды|праглядаў}}',
 'nimagelinks' => 'Выкарыстоўваецца на $1 {{PLURAL:$1|старонцы|старонках|старонках}}',
@@ -3052,6 +3057,7 @@ $2',
 Дазваляе дадаваць прычыну адкату ў апісаньне зьменаў.',
 'tooltip-preferences-save' => 'Захаваць налады',
 'tooltip-summary' => 'Увядзіце кароткае апісаньне',
+'interlanguage-link-title' => '$1 — $2',
 
 # Metadata
 'notacceptable' => 'Вікі-сэрвэр ня можа адлюстраваць зьвесткі ў выглядзе, які здольны прачытаць Ваш браўзэр.',
@@ -3092,6 +3098,7 @@ $2',
 'pageinfo-length' => 'Памер старонкі (у байтах)',
 'pageinfo-article-id' => 'Ідэнтыфікатар старонкі',
 'pageinfo-language' => 'Мова зьместу старонкі',
+'pageinfo-content-model' => 'Мадэль зьместу старонкі',
 'pageinfo-robot-policy' => 'Індэксацыя пашукавікамі',
 'pageinfo-robot-index' => 'Дазволеная',
 'pageinfo-robot-noindex' => 'Не дазволеная',
@@ -3736,6 +3743,9 @@ $5
 'confirm-unwatch-button' => 'Добра',
 'confirm-unwatch-top' => 'Выдаліць гэтую старонку з Вашага сьпісу назіраньня?',
 
+# Separators for various lists, etc.
+'quotation-marks' => '«$1»',
+
 # Multipage image navigation
 'imgmultipageprev' => '← папярэдняя старонка',
 'imgmultipagenext' => 'наступная старонка →',
@@ -3880,9 +3890,9 @@ MediaWiki распаўсюджваецца з надзеяй, што будзе
 
 # Special:SpecialPages
 'specialpages' => 'Спэцыяльныя старонкі',
+'specialpages-note-top' => 'Легенда',
 'specialpages-note' => '* Звычайныя спэцыяльныя старонкі.
-* <strong class="mw-specialpagerestricted">Спэцыяльныя старонкі з абмежаваным доступам.</strong>
-* <span class="mw-specialpagecached">Кэшаваныя спэцыяльныя старонкі (могуць быць састарэлымі).</span>',
+* <strong class="mw-specialpagerestricted">Спэцыяльныя старонкі з абмежаваным доступам.</strong>',
 'specialpages-group-maintenance' => 'Тэхнічныя справаздачы',
 'specialpages-group-other' => 'Іншыя спэцыяльныя старонкі',
 'specialpages-group-login' => 'Уваход / стварэньне рахунку',
index d2a284a..0ee479b 100644 (file)
@@ -14,6 +14,8 @@
  * @author Dimi z
  * @author Geitost
  * @author Kaganer
+ * @author MegaAlex
+ * @author Milicevic01
  * @author Simona
  * @author Spiritia
  * @author Stanqo
@@ -634,7 +636,7 @@ $2',
 'filereadonlyerror' => 'Файлът „$1“ не може да бъде променен, тъй като файловото хранилище „$2“ е в режим само за четене.
 
 Администраторът, който го е заключил, е посочил следната причина: „$3“.',
-'exception-nologin-text' => 'УикиÑ\82о Ð¸Ð·Ð¸Ñ\81ква Ð²Ð»Ð¸Ð·Ð°Ð½Ðµ Ð·Ð° Ñ\82ази Ñ\81Ñ\82Ñ\80аниÑ\86а Ð¸Ð»Ð¸ Ð´ÐµÐ¹Ñ\81Ñ\82вие.',
+'exception-nologin-text' => 'Ð\97а Ð´Ð¾Ñ\81Ñ\8aп Ð´Ð¾ Ð¶ÐµÐ»Ð°Ð½Ð°Ñ\82а Ñ\81Ñ\82Ñ\80аниÑ\86а Ð¸Ð»Ð¸ Ð´ÐµÐ¹Ñ\81Ñ\82вие Ñ\83икиÑ\82о Ð¸Ð·Ð¸Ñ\81ква [[Special:Userlogin|влизане Ð² Ñ\81иÑ\81Ñ\82емаÑ\82а]].',
 
 # Virus scanner
 'virus-badscanner' => "Лоша конфигурация: непознат скенер за вируси: ''$1''",
@@ -1163,8 +1165,8 @@ $2
 'revdelete-hide-user' => 'Потребителско име/IP адрес на редактора',
 'revdelete-hide-restricted' => 'Прилагане на тези ограничения и за администраторите',
 'revdelete-radio-same' => '(да не се променя)',
-'revdelete-radio-set' => 'Ð\94а',
-'revdelete-radio-unset' => 'Ð\9dе',
+'revdelete-radio-set' => 'СкÑ\80иÑ\82',
+'revdelete-radio-unset' => 'Ð\92идим',
 'revdelete-suppress' => 'Скриване на причината за изтриването и от администраторите',
 'revdelete-unsuppress' => 'Премахване на ограниченията за възстановените версии',
 'revdelete-log' => 'Причина:',
@@ -1575,16 +1577,18 @@ $1",
 Легенда: '''тек''' = разлика на текущата версия,
 '''ист''' = история на версиите",
 'recentchanges-feed-description' => 'Проследяване на последните промени в {{SITENAME}}.',
-'recentchanges-label-newpage' => 'С Ñ\82ази Ñ\80едакÑ\86иÑ\8f Ð±ÐµÑ\88е Ñ\81Ñ\8aздадена Ð½ова страница',
+'recentchanges-label-newpage' => 'Ð\9dова страница',
 'recentchanges-label-minor' => 'Това е малка промяна',
 'recentchanges-label-bot' => 'Тази редакция е извършена от робот',
 'recentchanges-label-unpatrolled' => 'Тази редакция все още не е проверена',
+'recentchanges-label-plusminus' => 'Размерът на страницата е променен с този брой байтове',
+'recentchanges-legend-heading' => "'''Легенда:'''",
 'recentchanges-legend-newpage' => '(вижте също [[Special:NewPages|списъка с нови страници]])',
 'rcnotefrom' => 'Дадени са промените от <strong>$2</strong> (до <strong>$1</strong> показани).',
 'rclistfrom' => 'Показване на промени, като се започва от $1.',
 'rcshowhideminor' => '$1 на малки промени',
 'rcshowhidebots' => '$1 на ботове',
-'rcshowhideliu' => '$1 на влезли потребители',
+'rcshowhideliu' => '$1 на регистрирани потребители',
 'rcshowhideanons' => '$1 на анонимни потребители',
 'rcshowhidepatr' => '$1 на проверени редакции',
 'rcshowhidemine' => '$1 на моите приноси',
@@ -3497,6 +3501,9 @@ $5
 'imgmultigo' => 'Отваряне',
 'imgmultigoto' => 'Отиване на страница $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(език по подразбиране)',
+
 # Table pager
 'ascending_abbrev' => 'възх',
 'descending_abbrev' => 'низх',
@@ -3607,9 +3614,9 @@ MediaWiki се разпространява с надеждата, че ще б
 
 # Special:SpecialPages
 'specialpages' => 'Специални страници',
+'specialpages-note-top' => 'Легенда',
 'specialpages-note' => '* Обикновени специални страници.
-* <strong class="mw-specialpagerestricted">Специални страници с ограничения.</strong>
-* <span class="mw-specialpagecached">Само складирани специални страници (възможно е да са остарели).</span>',
+* <strong class="mw-specialpagerestricted">Специални страници с ограничения.</strong>',
 'specialpages-group-maintenance' => 'Доклади по поддръжката',
 'specialpages-group-other' => 'Други специални страници',
 'specialpages-group-login' => 'Влизане / създаване на сметка',
index a9ac4dd..4487567 100644 (file)
@@ -569,7 +569,7 @@ $2',
 'passwordtooshort' => 'শব্দচাবি অবশ্যই {{PLURAL:$1|১ অক্ষরের|$1 অক্ষরের}} হতে হবে।',
 'password-name-match' => 'আপনার শব্দচাবি আপনার ব্যবহারকারী নাম থেকে আলাদা হতে হবে।',
 'password-login-forbidden' => 'এই ব্যবহারকারীর নাম এবং শব্দচাবিটি ব্যবহার নিষিদ্ধ করা হয়েছে।',
-'mailmypassword' => 'নতà§\81ন à¦¶à¦¬à§\8dদà¦\9aাবি à¦\87-মà§\87à¦\87লà§\87 à¦ªà¦¾à¦ à¦¾à¦¨à§\8b à¦¹à§\8bà¦\95',
+'mailmypassword' => 'শবà§\8dদà¦\9aাবি à¦°à¦¿à¦¸à§\87à¦\9f',
 'passwordremindertitle' => '{{SITENAME}}-এর জন্য নতুন সাময়িক শব্দচাবি',
 'passwordremindertext' => 'কেউ একজন ($1 আইপি ঠিকানাটি থেকে সম্ভবত আপনি) অনুরোধ করেছেন যেন আমরা আপনাকে {{SITENAME}} ($4) এর জন্য একটি নতুন শব্দচাবি পাঠাই।
 "$2" নামে অ্যাকাউন্ট খোলা হয়েছে এবং এর শব্দচাবি "$3"। আপনি যদি এটাই চেয়ে থাকেন, তাহলে আপনাকে এখন অ্যাকাউন্টে প্রবেশ করতে হবে ও নতুন একটি শব্দচাবি পছন্দ করতে হবে।
@@ -636,7 +636,7 @@ $2',
 # Special:PasswordReset
 'passwordreset' => 'শব্দচাবি রিসেট',
 'passwordreset-text-one' => 'আপনার পাসওয়ার্ড পুনরায় সেট করতে এই ফর্মটি পূরণ করুন।',
-'passwordreset-text-many' => '{{PLURAL:$1|à¦\86পনার à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦°à¦¿à¦¸à§\87à¦\9f à¦\95রতà§\87 à¦\8fà¦\87 à¦¤à¦¥à§\8dযà¦\97à§\81লà§\8bর à¦¯à§\87à¦\95à§\8bন à¦\8fà¦\95à¦\9fা à¦ªà§\8dরবà§\87শ à¦\95রান।}}',
+'passwordreset-text-many' => '{{PLURAL:$1|à¦\87মà§\87à¦\87লà§\87র à¦®à¦¾à¦§à§\8dযমà§\87 à¦\8fà¦\95à¦\9fি à¦\85সà§\8dথায়à§\80 à¦¶à¦¬à§\8dদà¦\9aাবি à¦ªà§\87তà§\87 à¦\98রà¦\97à§\81লির à¦\8fà¦\95à¦\9fি à¦ªà§\82রণ à¦\95রà§\81ন।}}',
 'passwordreset-legend' => 'শব্দচাবি রিসেট',
 'passwordreset-disabled' => 'এই উইকিতে শব্দচাবি রিসেটের সুবিধা নিষ্ক্রিয় রয়েছে।',
 'passwordreset-emaildisabled' => 'এই উইকিতে ইমেইল অপশনটি বন্ধ করা হয়েছে।',
@@ -1276,6 +1276,7 @@ $1",
 'prefs-tokenwatchlist' => 'টোকেন',
 'prefs-diffs' => 'পার্থক্য',
 'prefs-help-prefershttps' => 'পরবর্তী লগইনের পর থেকে এই পরিবর্তনগুলো কার্যকর হবে।',
+'prefs-tabs-navigation-hint' => 'সাহায্য: আপনি ডান এবং বাম অ্যারো বাটন ব্যবহার করে বিভিন্ন ট্যাবগুলোতে যেতে পারবেন।',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'ইমেইল ঠিকানাটি সঠিক',
@@ -1462,15 +1463,16 @@ $1",
 'recentchanges-label-bot' => 'এটি বট দ্বারা সম্পাদিত',
 'recentchanges-label-unpatrolled' => 'এই সম্পাদনাটি এখনও পরীক্ষিত নয়',
 'recentchanges-label-plusminus' => 'পাতার আকারে এই পরিমান বাইট পরিবর্তিত হয়েছে',
+'recentchanges-legend-heading' => "'''ব্যাখ্যামূলক বর্ণনা:'''",
 'recentchanges-legend-newpage' => '(আরও দেখুন [[Special:NewPages|নতুন পাতার তালিকা]])',
 'recentchanges-legend-plusminus' => "(''±১২৩'')",
 'rcnotefrom' => "'''$2'''-এর পরে সংঘটিত পরিবর্তনগুলো নিচে দেখানো হল ('''$1'''টি)।",
 'rclistfrom' => '$1-এর পর সংঘটিত নতুন পরিবর্তনগুলো দেখাও।',
 'rcshowhideminor' => 'অনুল্লেখ্য পরিবর্তনগুলো $1',
 'rcshowhidebots' => 'বটগুলো $1',
-'rcshowhideliu' => 'পà§\8dরবà§\87শ à¦\95রà§\87à¦\9bà§\87ন à¦\8fমন ব্যবহারকারীদের $1',
+'rcshowhideliu' => 'নিবনà§\8dধিত ব্যবহারকারীদের $1',
 'rcshowhideanons' => 'বেনামী ব্যবহারকারীদের $1',
-'rcshowhidepatr' => '$1 পরীক্ষিত সম্পাদনা',
+'rcshowhidepatr' => 'পরীক্ষিত সম্পাদনা $1',
 'rcshowhidemine' => 'আমার সম্পাদনাগুলো $1',
 'rclinks' => "'''প্রদর্শনের ধরন'''<br />
 * বিগত ($2) দিনের শেষ ($1)টি পরিবর্তন দেখাও
@@ -1913,6 +1915,7 @@ Maybe you want to edit the description on its [$2 file description page] there.'
 'ninterwikis' => '$1 {{PLURAL:$1|ইন্টারউইকি|ইন্টারউইকিসমূহ}}',
 'nlinks' => '$1টি {{PLURAL:$1|সংযোগ|সংযোগসমূহ}}',
 'nmembers' => '$1 {{PLURAL:$1|সদস্য|সদস্যবৃন্দ}}',
+'nmemberschanged' => '$1 জন → $2 জন {{PLURAL:$2|সদস্য}}',
 'nrevisions' => '$1 {{PLURAL:$1|সংশোধন|সংশোধনসমূহ}}',
 'nviews' => '$1 {{PLURAL:$1|বার দেখা হয়েছে|বার দেখা হয়েছে}}',
 'nimagelinks' => '$1 {{PLURAL:$1|টি পাতায়| টি পাতায়}} ব্যবহৃত',
@@ -2232,8 +2235,8 @@ $UNWATCHURL
 'rollback' => 'সম্পাদনা ফিরিয়ে নিন',
 'rollback_short' => 'ফিরিয়ে নিন',
 'rollbacklink' => 'পুনর্বহাল',
-'rollbacklinkcount' => '$1 {{PLURAL:$1|সম্পাদনা|সম্পাদনাগুলো}} রোলব্যাক করুন',
-'rollbacklinkcount-morethan' => '$1 এর বেশি {{PLURAL:$1|সম্পাদনা|সম্পাদনাগুলো}} রোলব্যাক করুন',
+'rollbacklinkcount' => '$1টি {{PLURAL:$1|সম্পাদনা}} রোলব্যাক করুন',
+'rollbacklinkcount-morethan' => '$1টির বেশি {{PLURAL:$1|সম্পাদনা|সম্পাদনাগুলো}} রোলব্যাক করুন',
 'rollbackfailed' => 'রোলব্যাক ব্যর্থ',
 'cantrollback' => 'পূর্বের সংস্করণে ফেরত যাওয়া সম্ভব হল না, সর্বশেষ সম্পাদনাকারী এই নিবন্ধটির একমাত্র লেখক।',
 'alreadyrolled' => '[[User:$2|$2]] ([[User talk:$2|talk]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) দ্বারা সম্পাদিত সর্বশেষ [[:$1]] সম্পাদনাটি পুনর্বহাল করা যাচ্ছে না;
@@ -2416,9 +2419,9 @@ $1',
 'whatlinkshere-prev' => '{{PLURAL:$1|পূর্ববর্তী|পূর্ববর্তী $1টি}}',
 'whatlinkshere-next' => '{{PLURAL:$1|পরবর্তী|পরবর্তী $1টি}}',
 'whatlinkshere-links' => '← সংযোগগুলি',
-'whatlinkshere-hideredirs' => '$1 টি পুননির্দেশনা',
+'whatlinkshere-hideredirs' => 'পুননির্দেশনা $1',
 'whatlinkshere-hidetrans' => '$1 ট্রান্সক্লুশন',
-'whatlinkshere-hidelinks' => '$1 টি সংযোগ',
+'whatlinkshere-hidelinks' => 'সংযোগ $1',
 'whatlinkshere-hideimages' => '$1 ফাইল সংযোগ',
 'whatlinkshere-filters' => 'ছাকনী',
 
@@ -2840,6 +2843,7 @@ $2',
 'tooltip-undo' => '"বাতিল" এই সম্পাদনাকে পূর্ববস্থায় ফিরত নিবে এবং প্রাকদর্শন সহ সম্পাদনা ফরমটি খুলবে। এটি সম্পাদনা সারাংশতে এর কারণ যোগ করার সুযোগ দিবে।',
 'tooltip-preferences-save' => 'পছন্দ সংরক্ষণ',
 'tooltip-summary' => 'একটি সংক্ষিপ্ত সারাংশ দিন',
+'interlanguage-link-title' => '$1 - $2',
 
 # Metadata
 'notacceptable' => 'আপনার ক্লায়েন্ট পড়তে পারে এমন ফরম্যাটে উইকি সার্ভার উপাত্ত সরবরাহ করতে পারছে না।',
@@ -3522,6 +3526,11 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 'imgmultigo' => 'চলো!',
 'imgmultigoto' => '$1 পাতায় চলো',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(ডিফল্ট ভাষা)',
+'img-lang-info' => '$1 এ ছবিটি রেন্ডার করো। $2',
+'img-lang-go' => 'যাও',
+
 # Table pager
 'ascending_abbrev' => 'আরোহণ',
 'descending_abbrev' => 'অবতরণ',
@@ -3915,10 +3924,12 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 'expand_templates_input' => 'ইনপুটকৃত লেখা:',
 'expand_templates_output' => 'ফলাফল',
 'expand_templates_xml_output' => 'XML আউটপুট',
+'expand_templates_html_output' => 'এইচটিএমএল আউটপুট',
 'expand_templates_ok' => 'ঠিক আছে',
 'expand_templates_remove_comments' => 'মন্তব্য মুছে ফেলো',
 'expand_templates_remove_nowiki' => 'ফলাফলে <nowiki> ট্যাগগুলো বাতিল করো',
 'expand_templates_generate_xml' => 'XML পার্স বৃক্ষ দেখাও',
+'expand_templates_generate_rawhtml' => 'এইচটিএমএল দেখাও',
 'expand_templates_preview' => 'প্রাকদর্শন',
 
 );
index 2eb83af..bdaf00a 100644 (file)
@@ -1550,11 +1550,12 @@ Ma skrivit anezhañ e vo implijet evit lakaat war wel ar pezh a vo bet degaset g
 'recentchanges-summary' => "Dre ar bajenn-mañ e c'hallit heuliañ ar c'hemmoù diwezhañ bet degaset d'ar wiki.",
 'recentchanges-noresult' => "N'eus bet kemm ebet a glot gant an dezverkoù-se e-pad ar prantad diferet.",
 'recentchanges-feed-description' => "Heuilhit ar c'hemmoù diwezhañ er wiki el lusk-mañ.",
-'recentchanges-label-newpage' => "Gant ar c'hemm-mañ e vo krouet ur bajenn nevez.",
+'recentchanges-label-newpage' => "Gant ar c'hemm-mañ eo bet krouet ur bajenn nevez.",
 'recentchanges-label-minor' => "Ur c'hemm dister eo hemañ",
 'recentchanges-label-bot' => "Gant ur bot eo bet degaset ar c'hemm-mañ.",
 'recentchanges-label-unpatrolled' => "N'eo ket bet gwiriet ar c'hemm-mañ evit c'hoazh.",
-'recentchanges-legend-newpage' => '$1 - pajenn nevez',
+'recentchanges-label-plusminus' => 'Kemmet he deus ment ar bajenn eus an niver-se a bitoù',
+'recentchanges-legend-newpage' => '(gwelet ivez [[Dibar:PajennoùNevez|roll ar pajennoù nevez krouet]])',
 'rcnotefrom' => "Setu aze roll ar c'hemmoù c'hoarvezet abaoe an '''$2''' ('''$1''' d'ar muiañ).",
 'rclistfrom' => "Diskouez ar c'hemmoù diwezhañ abaoe an $1.",
 'rcshowhideminor' => "$1 ar c'hemmoù dister",
@@ -3645,6 +3646,10 @@ Kadarnait mar plij e fell deoc'h krouiñ ar pennad-mañ da vat.",
 'imgmultigo' => 'Mont !',
 'imgmultigoto' => "Mont d'ar bajenn $1",
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(yezh dre ziouer)',
+'img-lang-go' => 'Mont',
+
 # Table pager
 'ascending_abbrev' => 'pignat',
 'descending_abbrev' => 'diskenn',
index ddb0c83..302427e 100644 (file)
@@ -1662,7 +1662,8 @@ Ako izaberete da date ime, biće korišteno za pripisivanje za vaš rad.',
 'recentchanges-label-minor' => 'Ovo je mala izmjena',
 'recentchanges-label-bot' => 'Ova izmjenu je načinio bot',
 'recentchanges-label-unpatrolled' => 'Ova izmjena još nije patrolirana',
-'recentchanges-legend-newpage' => '$1 - nova stranica',
+'recentchanges-label-plusminus' => 'Veličina stranice je se promjenila za ovoliko bajtova',
+'recentchanges-legend-newpage' => '(također pogledajte [[Special:NewPages|spisak novih stranica]])',
 'rcnotefrom' => 'Ispod su izmjene od <b>$2</b> (do <b>$1</b> prikazano).',
 'rclistfrom' => 'Prikaži nove izmjene počev od $1',
 'rcshowhideminor' => '$1 male izmjene',
index a219f4c..38f55e7 100644 (file)
@@ -1407,6 +1407,7 @@ Ha de tenir com a molt {{PLURAL:$1|un caràcter|$1 caràcters}}.',
 'prefs-tokenwatchlist' => 'Testimoni',
 'prefs-diffs' => 'Difs',
 'prefs-help-prefershttps' => 'Aquesta preferència tindrà efecte quan inicieu una nova sessió.',
+'prefs-tabs-navigation-hint' => 'Consell: Podeu utilitzar les tecles de cursor de dreta i esquerra per a navegar entre les pestanyes.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => "L'adreça de correu electrònic sembla vàlida",
@@ -1593,21 +1594,22 @@ Ha de tenir com a molt {{PLURAL:$1|un caràcter|$1 caràcters}}.',
 'recentchanges-label-bot' => 'Aquesta modificació fou feta per un bot',
 'recentchanges-label-unpatrolled' => "Aquesta modificació encara no s'ha patrullat",
 'recentchanges-label-plusminus' => 'La mida de la pàgina ha canviat aquest nombre de bytes',
-'recentchanges-legend-newpage' => '(vegeu també la  [[Special:NewPages|llista de pàgines noves]])',
+'recentchanges-legend-heading' => "'''Llegenda:'''",
+'recentchanges-legend-newpage' => '(vegeu també la [[Special:NewPages|llista de pàgines noves]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => 'A sota hi ha els canvis des de <b>$2</b> (es mostren fins <b>$1</b>).',
 'rclistfrom' => 'Mostra els canvis nous des de $1',
 'rcshowhideminor' => '$1 edicions menors',
 'rcshowhidebots' => '$1 bots',
-'rcshowhideliu' => '$1 usuaris identificats',
+'rcshowhideliu' => '$1 usuaris registrats',
 'rcshowhideanons' => '$1 usuaris anònims',
 'rcshowhidepatr' => '$1 edicions supervisades',
 'rcshowhidemine' => '$1 edicions pròpies',
 'rclinks' => 'Mostra els darrers $1 canvis en els darrers $2 dies<br />$3',
 'diff' => 'dif',
 'hist' => 'hist',
-'hide' => 'amaga',
-'show' => 'mostra',
+'hide' => 'Amaga',
+'show' => 'Mostra',
 'minoreditletter' => 'm',
 'newpageletter' => 'N',
 'boteditletter' => 'b',
@@ -2034,6 +2036,7 @@ Les entrades <del>ratllades</del> s\'han resolt.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikis}}',
 'nlinks' => '$1 {{PLURAL:$1|enllaç|enllaços}}',
 'nmembers' => '$1 {{PLURAL:$1|membre|membres}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|membre|membres}}',
 'nrevisions' => '$1 {{PLURAL:$1|revisió|revisions}}',
 'nviews' => '$1 {{PLURAL:$1|visita|visites}}',
 'nimagelinks' => "S'utilitza en {{PLURAL:$1|una pàgina|$1 pàgines}}",
@@ -2199,7 +2202,7 @@ Pot ser que hi hagi més informació sobre drets individuals [[{{MediaWiki:Listg
 'mailnologin' => 'Cap adreça de remitent',
 'mailnologintext' => "Heu d'[[Special:UserLogin|iniciar una sessió]] i tenir una adreça electrònica vàlida en les vostres [[Special:Preferences|preferències]] per poder enviar correus a altres usuaris.",
 'emailuser' => 'Envia un missatge de correu electrònic a aquest usuari',
-'emailuser-title-target' => 'Enviar un correu electrònic a {{GENDER:$1|aquest usuari|aquesta usuària}}',
+'emailuser-title-target' => 'Envia un missatge electrònic a {{GENDER:$1|aquest usuari|aquesta usuària}}',
 'emailuser-title-notarget' => 'Enviar un correu electrònic a un usuari',
 'emailpage' => 'Correu electrònic a usuari',
 'emailpagetext' => "Podeu usar el següent formulari per a enviar un missatge de correu electrònic a {{GENDER:$1|aquest usuari|aquesta usuària}}.
@@ -3676,7 +3679,7 @@ Confirmeu que realment voleu tornar-la a crear.",
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(llengua per defecte)',
-'img-lang-info' => 'Dibuixa aquesta imatge en $1 $2.',
+'img-lang-info' => 'Dibuixa aquesta imatge en $1. $2',
 'img-lang-go' => 'Vés-hi',
 
 # Table pager
@@ -3776,13 +3779,14 @@ Amb aquest programa heu d'haver rebut [{{SERVER}}{{SCRIPTPATH}}/COPYING una còp
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
-'redirect' => 'Redirigeix per fitxer, usuari o ID de la revisió',
+'redirect' => 'Redirigeix per fitxer, usuari, pàgina o ID de la revisió',
 'redirect-legend' => 'Redirigeix a un fitxer o a una pàgina',
-'redirect-summary' => "Aquesta pàgina especial redirigeix a un fitxer (donat el nom del fitxer), una pàgina (donada un ID de la revisió), o a una pàgina d'usuari (donat un ID numèric d'usuari). Ús: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].",
+'redirect-summary' => "Aquesta pàgina especial redirigeix a un fitxer (donat el nom del fitxer), una pàgina (donats un ID de la revisió o un ID de pàgina), o a una pàgina d'usuari (donat un ID numèric d'usuari). Ús: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].",
 'redirect-submit' => 'Vés-hi',
 'redirect-lookup' => 'Consulta:',
 'redirect-value' => 'Valor:',
 'redirect-user' => "ID d'usuari",
+'redirect-page' => 'ID de pàgina',
 'redirect-revision' => 'Revisió de la pàgina',
 'redirect-file' => 'Nom del fitxer',
 'redirect-not-exists' => "No s'ha trobat el valor",
@@ -4022,10 +4026,12 @@ També expandeix les funcions sintàctiques, com ara <code><nowiki>{{</nowiki>#l
 'expand_templates_input' => 'El vostre text:',
 'expand_templates_output' => 'Resultat:',
 'expand_templates_xml_output' => 'Sortida XML',
+'expand_templates_html_output' => 'Sortida en HTML sense filtrar',
 'expand_templates_ok' => 'OK',
 'expand_templates_remove_comments' => 'Elimina els comentaris',
 'expand_templates_remove_nowiki' => "Suprimeix l'etiqueta <nowiki> en el resultat",
 'expand_templates_generate_xml' => "Mostra l'arbre XML",
+'expand_templates_generate_rawhtml' => "Mostra l'HTML sense filtrar",
 'expand_templates_preview' => 'Previsualitza',
 
 );
index 0866117..126fff1 100644 (file)
@@ -321,8 +321,8 @@ $messages = array(
 # User preference toggles
 'tog-underline' => 'Кlел сиз хьака хьажориган:',
 'tog-justify' => 'Нисде йоза шораллий агlонца',
-'tog-hideminor' => 'Къайладаха кигийра нисдарш оц могlама керла хийцамехь',
-'tog-hidepatrolled' => 'Къайладаха гlаролладина нисдарш оц могlама керла нисдашкахь',
+'tog-hideminor' => 'Къайладаха кигийра нисдарш оц могӀама керла хийцамехь',
+'tog-hidepatrolled' => 'Къайладаха гӀаролладина нисдарш оц могӀама керла нисдаршкахь',
 'tog-newpageshidepatrolled' => 'Къайлайаха гlароллайина агlонаш оц могlама керла агlонашкахь',
 'tog-extendwatchlist' => 'Шорбина тlехьажарна могlам, ша беригге а хийцамаш чубогlуш, тlяхьабина боцурш а',
 'tog-usenewrc' => 'Лелабе дика могӀам керла чу хийцамашна (оьшу JavaScript)',
@@ -336,25 +336,25 @@ $messages = array(
 'tog-watchcreations' => 'ТӀетоха ас кхоьллина агӀонаш тергаме могӀам чу',
 'tog-watchdefault' => 'ТӀетоха ас нисйина агӀонаш тергаме могӀам чу',
 'tog-watchmoves' => 'ТӀетоха ас цӀераш хийцина агӀонаш тергаме могӀам чу',
-'tog-watchdeletion' => 'Тlетоха ас дӀаяхина агlонаш тергаме могlам чу',
+'tog-watchdeletion' => 'ТӀетоха ас дӀаяьхна агӀонаш тергаме могӀанан чу',
 'tog-minordefault' => 'Къастам бе нисйиначарн хlумцадеш кегийра долушсанна',
 'tog-previewontop' => 'Чуяккха хьалххьажар тадаран кора хьалха',
 'tog-previewonfirst' => 'Гайта хьалххьажар тадарш да долийча',
-'tog-enotifwatchlistpages' => 'Хаам бо зlе чухул, тергаме могlаман хийцамах лаьцна',
+'tog-enotifwatchlistpages' => 'Хаам бо электронан почтехула, тергаме могӀаман хийцамах лаьцна',
 'tog-enotifusertalkpages' => 'Хаам бо зlе чухул, долахь йолу дийцаре агlон хийцамах лаьцна',
 'tog-enotifminoredits' => 'Хаам бо зӀе чухул, цхьа жимма а хийцамаш биняхь',
 'tog-enotifrevealaddr' => 'Гайта сан зlе оцу хаамаш барехь',
-'tog-shownumberswatching' => 'Гайта декъашхойн терахь, агlо латийна болу шай тергаме могlам юкъа',
+'tog-shownumberswatching' => 'Гайта декъашхойн терахь, агӀо латийна болу шай тергаме могӀанан юкъа',
 'tog-oldsig' => 'Карара куьгтаӀорна:',
 'tog-fancysig' => 'Шен вики-къастаман куьгтаӀдар (ша шех хьажораг йоцуш)',
 'tog-uselivepreview' => 'Лелайа чехка хьалха хьажа (JavaScript, муха ю хьажарна)',
 'tog-forceeditsummary' => 'Дага даийта, нагахь нисйарх лаьцна чохь язйина яцахь',
-'tog-watchlisthideown' => 'Къайлаяха ас нисйинарш оцу тергаме могlам чура',
-'tog-watchlisthidebots' => 'Къайладаха шаболх бечо нисдинарш оцу тергаме могlам чура',
-'tog-watchlisthideminor' => 'Къайладаха кегийра нисдарш оцу тергаме могlам чура',
-'tog-watchlisthideliu' => 'Къайладаха вовзийтина болу декъашхойн нисдарш оцу тергаме могlам чура',
-'tog-watchlisthideanons' => 'Къайладаха къайлаха болу декъашхойн нисдарш оцу тергаме могlам чура',
-'tog-watchlisthidepatrolled' => 'Ð\9aÑ\8aайладаÑ\85а Ñ\85Ñ\8cаÑ\8cжина Ð²Ð¾Ð»Ñ\83 Ð½Ð¸Ñ\81даÑ\80Ñ\88 Ð¾Ñ\86Ñ\83 Ñ\82еÑ\80гаме Ð¼Ð¾Ð³lам чура',
+'tog-watchlisthideown' => 'Къайлаяха ас нисйинарш оцу тергаме могӀам чура',
+'tog-watchlisthidebots' => 'Къайладаха шаболх бечо нисдинарш оцу тергаме могӀам чура',
+'tog-watchlisthideminor' => 'Къайладаха кегийра нисдарш оцу тергаме могӀам чура',
+'tog-watchlisthideliu' => 'Къайладаха вовзийтина болу декъашхойн нисдарш оцу тергаме могӀам чура',
+'tog-watchlisthideanons' => 'Къайладаха къайлаха болу декъашхойн нисдарш оцу тергаме могӀам чура',
+'tog-watchlisthidepatrolled' => 'Ð\9aÑ\8aайладаÑ\85а Ñ\85Ñ\8cаÑ\8cжина Ð´Ð¾Ð»Ñ\83 Ð½Ð¸Ñ\81даÑ\80Ñ\88 Ð¾Ñ\86Ñ\83 Ñ\82еÑ\80гаме Ð¼Ð¾Ð³Ó\80ам чура',
 'tog-ccmeonemails' => 'Дlадахьийта суна исанна кехат, аса дохьуьйтуш долу кхечу декъашхошна.',
 'tog-diffonly' => 'Ма гайта агlон чулацам шина башхонца цхьатерра йолуш',
 'tog-showhiddencats' => 'Гайта къайлаха йолу категореш',
@@ -446,10 +446,10 @@ $messages = array(
 'category-empty' => "''ХӀара категори хӀинца йаьсса ю.''",
 'hidden-categories' => '{{PLURAL:$1|Къайлаха категори|Къайлаха йолу категореш}}',
 'hidden-category-category' => 'Къайлаха йолу категореш',
-'category-subcat-count' => '{{PLURAL:$2|ХӀокх категори чохь ю хӀокхуьна бухар категори.|{{PLURAL:$1|Гойташ $1 бухар категори|Гойту $1 бухар категореш|Гойту $1 бухар категори}} оцу $2.}}',
+'category-subcat-count' => '{{PLURAL:$2|ХӀокху категори чохь ю хӀокхуьна бухар категори.|ХӀокху категори чохь ю $1 {{PLURAL:$1|бухара категори|бухара категореш}} $2 массо нах.}}',
 'category-subcat-count-limited' => 'Хlокх категори чохь {{PLURAL:$1|$1 бухар категори|$1 бухар категореша|$1 бухар категореш}}.',
 'category-article-count' => '{{PLURAL:$2|ХӀокх категори чохь яц цхьа агӀо бе.|{{PLURAL:$1|Гойташ $1 агӀо|Гойту $1 агӀонаш|Гойту $1 агӀонаш}} хӀокх категорешца кху $2.}}',
-'category-article-count-limited' => 'ХӀокх категори чохь {{PLURAL:$1|$1 агӀо|$1 агӀонаш|$1 агӀонаш}}.',
+'category-article-count-limited' => 'ХӀокх категори чохь {{PLURAL:$1|$1 агӀо|$1 агӀонаш}}.',
 'category-file-count' => '{{PLURAL:$2|ХӀокх категори чохь цхьа файл бе яц.|{{PLURAL:$1|Гойта $1 файл|Гойту $1 файл|Гойту $1 файлаш}} хӀокх категорешца кху $2.}}',
 'category-file-count-limited' => 'ХӀокх категори чохь {{PLURAL:$1|$1 файл|$1 файл|$1 файлаш}}.',
 'listingcontinuesabbrev' => '(кхин дlа)',
@@ -463,7 +463,7 @@ $messages = array(
 'newwindow' => '(керлачу корехь)',
 'cancel' => 'Цаоьшу',
 'moredotdotdot' => 'Кхин дӀа…',
-'morenotlisted' => 'Ð\9aÑ\85ин Ñ\85Ó\80Ñ\83ма Ñ\8fÑ\86',
+'morenotlisted' => 'Ð¥Ó\80аÑ\80а Ð¼Ð¾Ð³Ó\80а Ð±Ñ\83Ñ\8cззина Ð±Ð°Ñ\86.',
 'mypage' => 'Долахь йолу агӀо',
 'mytalk' => 'Сан дийцаре агӀо',
 'anontalk' => 'Дийцаре хӀокху IP-адресна',
@@ -595,8 +595,8 @@ $1',
 'youhavenewmessages' => 'Хьуна кхечи $1 ($2).',
 'youhavenewmessagesfromusers' => 'Хьуна кхачанна $1 {{PLURAL:$3|$3 декъашхочунгара|$3 декъашхошкара|$3 декъашхошкара}} ($2).',
 'youhavenewmessagesmanyusers' => 'Хьона еъна $1 дукху декъашхошкар ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|керла хаам}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|тӀаьхьара бина хийцамаш}}',
+'newmessageslinkplural' => '{{PLURAL:$1|керла хаам|999=керла хаамаш}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|тӀаьхьара бина хийцам|999=тӀаьхьара бина хийцамаш}}',
 'youhavenewmessagesmulti' => 'Хьуна кхаьчна керла хаам оцу $1',
 'editsection' => 'нисйé',
 'editold' => 'нисйé',
@@ -647,12 +647,17 @@ $1',
 # General errors
 'error' => 'Гlалат',
 'databaseerror' => 'Гlалат хаамийн бухера',
+'databaseerror-text' => 'Хаамийн базан гӀалат даьлла.
+Иза хила мега программин гӀалат.',
+'databaseerror-textcl' => 'Хаамийн базан гӀалат даьлла.',
 'databaseerror-query' => 'Дехар: $1',
 'databaseerror-function' => 'Функци: $1',
 'databaseerror-error' => 'ГӀалат: $1',
 'laggedslavemode' => 'Тергам бе: агӀона чохь керла йаьхинарш ца хила мега.',
 'readonly' => 'Блоктоьхна дӀайаздар хаамийн бухе',
 'enterlockreason' => 'Билгал де блоктохаран бахьна а и чекх йолу хан а.',
+'readonlytext' => 'АгӀонаш тӀетохар а кхин хийцамаш барна а блоктоьхна:
+Блокоьхначо биттина хаам: $1.',
 'missing-article' => 'ХӀокху чохь кароезаш йолу хьан дехарца йозан агӀонаш цакарийна «$1» $2.
 
 Иштнарг наггахь хуьлу хьажораг дӀаяьккхина елахь я хийцам бина тиша хьажорагца дехьа гӀо гӀоьртича.
@@ -678,6 +683,9 @@ $1',
 'cannotdelete' => 'Цатарло дӀаяккха я цӀе хийца «$1».
 АгӀо хьалхо дӀаяккхина хила тарло',
 'cannotdelete-title' => 'Цатарло агӀо дӀаяккха «$1»',
+'delete-hook-aborted' => 'Нисдар юхадаьккхина тӀехьожучо.
+ХӀу бахьна ду билгал дина дац.',
+'no-null-revision' => '«$1» агӀона нисдар дан цаделира',
 'badtitle' => 'Цамегаш йолу цlе',
 'badtitletext' => 'Дехарца йолу агlонан цlе нийса яц, йаьсса ю, хила мега нийса ца хlоттийна меттаюкъар йа юкъарвики цlе. Хила мега, цlарца цамагош йолу саберг.',
 'perfcached' => 'Лахара хаам схьаэца кэша чура цундела тӀехьарлаьра хийцамаш гойтуш бац. Кэша чохь латтаё оцул $1  кӀезиг {{PLURAL:$1|дӀаяздар|дӀаяздарш}}.',
@@ -700,7 +708,7 @@ $1',
 'mycustomjsprotected' => 'Хьан бакъо яц JavaScript агӀо тая.',
 'myprivateinfoprotected' => 'Хьайн долара хаамна хийцам ба хьа йиш яц',
 'mypreferencesprotected' => 'Хьай гӀирс нисбан хьа бакъо яц.',
-'exception-nologin' => 'Ð\90Ñ\85Ñ\8cа Ñ\85Ó\80ой Ð²Ð¾Ð²Ð·Ð¸Ð¹Ñ\82ина/йовзийÑ\82ина Ð²Ð°Ñ\86\8fц',
+'exception-nologin' => 'Ð¥Ó\80инÑ\86а Ð° Ð°Ñ\85Ñ\8cа Ñ\81иÑ\81Ñ\82емин Ñ\87оÑ\85Ñ\8c Ð±Ð¾Ð»Ñ\85 Ð±ÐµÑ\88 Ð±Ð°ц',
 
 # Virus scanner
 'virus-scanfailed' => 'сканиран гӀалат (код $1)',
@@ -711,6 +719,8 @@ $1',
 
 Цхьайолу агӀонаш чохь хьо хьай цӀарца болх беш сана хила тарло ишта ца хилийта керлаякха браузеран кэш.",
 'welcomeuser' => 'Марша ДогӀийла, $1!',
+'welcomecreation-msg' => 'Хьан декъашхочун дӀаяздар кхоьлина.
+Диц ма делахь {{SITENAME}} сайтан [[Special:Preferences|декъашхочун гӀирс]].',
 'yourname' => 'Декъашхочун цӀе:',
 'userlogin-yourname' => 'Декъашхочун цӀе',
 'userlogin-yourname-ph' => 'Язъе декъашхочун цӀе',
@@ -722,28 +732,28 @@ $1',
 'yourpasswordagain' => 'Юха язъе пароль:',
 'createacct-yourpasswordagain' => 'Бакъе пароль',
 'createacct-yourpasswordagain-ph' => 'Кхин цкъа язъе пароль',
-'remembermypassword' => 'Даглаца сан дӀавазвалар/ялар хӀокху гӀулкхдечу гӀирса тӀяхь (цхьан $1 {{PLURAL:$1|ден|динахь|динахь}})',
+'remembermypassword' => 'Даглаца сан дӀаяздар хӀокху компьютеран тӀехь (цхьан $1 {{PLURAL:$1|динахь}})',
 'userlogin-remembermypassword' => 'Дагахь латт ве/е со',
 'userlogin-signwithsecure' => 'Ларийна цхьаьнакхетар',
 'yourdomainname' => 'Хьан машан меттиг:',
 'password-change-forbidden' => 'Хьан йиш яц хӀокху вики чохь пароль хийца.',
 'login' => 'Системин чугӀо',
-'nav-login-createaccount' => 'Ð\92овзийÑ\82а/Ð\99овзийÑ\82а Ñ\85Ñ\8cой / Ð´Ó\80авазло/дÓ\80аÑ\8fзло',
-'loginprompt' => 'Ахьа бакъо йала йеза оцу «cookies» хьайна вовзийта лаахь гlирсан.',
+'nav-login-createaccount' => 'СиÑ\81Ñ\82емин Ñ\87Ñ\83гÓ\80о / Ð´Ó\80аÑ\8fздаÑ\80 ÐºÑ\85олла',
+'loginprompt' => 'Ахьа бакъо яла еза оцу «cookies» хьайна системин чохь болхбан лаахь.',
 'userlogin' => 'Довзийтар я декъашхочун дӀаяздар кхоллар',
 'userloginnocreate' => 'Довзийта',
 'logout' => 'Болх дӀаберзор',
 'userlogout' => 'Болх дӀаберзор',
-'notloggedin' => 'Хьо вовзийта/йовзийта гlирсан',
+'notloggedin' => 'ХӀинца а ахьа системин чохь болх беш бац',
 'userlogin-noaccount' => 'Декъашхочун дӀаяздар дац хьа?',
 'userlogin-joinproject' => '{{grammar:genitive|{{SITENAME}}}} юкъахӀотта',
 'nologin' => "Декъашхочун дӀаяздар дац хьа? '''$1'''.",
 'nologinlink' => 'Кхолла декъашхочун дӀаяздар',
 'createaccount' => 'Кхолла декъашхочун дӀаяздар',
-'gotaccount' => "Дlавазвелла вуй хьо? '''$1'''.",
+'gotaccount' => "ДӀаяздар кхоьллин ахь? '''$1'''.",
 'gotaccountlink' => 'Довзийта',
 'userlogin-resetlink' => 'Чуволу/йолу хаам биц бела?',
-'userlogin-resetpassword-link' => 'Пароль кхоссар',
+'userlogin-resetpassword-link' => 'Пароль кхоссар?',
 'helplogin-url' => 'Help:Системин довзийтар',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Системин чудаха гӀодар]]',
 'userlogin-loggedin' => 'Хьо {{GENDER:$1|$1}} цӀарца чохь ву/ю.
@@ -786,18 +796,31 @@ $1',
 'login-userblocked' => 'ХӀара декъашхо блоктоьхна ву/ю. Системин чувала/яла магийна дац.',
 'wrongpassword' => 'Ахьа язйина йолу пароль нийса яц. Хьажа юху цхьаъз.',
 'wrongpasswordempty' => 'Дехар до, язъе еса йоцу пароль.',
-'mailmypassword' => 'Яийта керла пароль электронан почтехула',
+'passwordtooshort' => 'Пароль хилла еза $1 {{PLURAL:$1|символ|символаш}} йолуш.',
+'password-name-match' => 'Язъен пароль декъашхочун дӀаяздарал башха хила еза.',
+'password-login-forbidden' => 'Иштта декъашхочун цӀе а пароль а лелаян цамаго.',
+'mailmypassword' => 'Пароль кхоссар',
 'passwordremindertitle' => 'Декъашхочун {{grammar:genitive|{{SITENAME}}}}  пароль дагайаийтар',
 'noemail' => 'ЦӀе $1 йолу декъашхочун электронни адрес яздина дац.',
 'noemailcreate' => 'Ахьа нийса электронни почтан адрес дӀаяздан деза',
 'passwordsent' => 'Керла пароль декъашхочун $1 электронни адрес тӀе дӀахьажина. Дехар до, керла пароль еъча юху системин чугӀо.',
 'blocked-mailpassword' => 'Хьан IP-адрес ца тадарш дан магийна дац, цуьндела пароль меттахӀотош йолу функци блоктоьхна ю.',
+'eauthentsent' => 'ДӀаяздинчу электронан адрес тӀе хаам баийтина.
+Даиман хаамаш баийта хааман чохь де бохург дан деза адрес хьай хилар бакъдеш.',
 'throttled-mailpassword' => 'Пароль дага йоуьйту функци {{PLURAL:$1|тӀехьара $1 сахьтехь}} лелина.
 Зулам цахилийта $1 {{PLURAL:$1|сахьтан чохь}} цӀа бен функци лело йиш яц.',
 'mailerror' => 'Кехат дохьуьйтуш гӀалат ду: $1',
-'emailauthenticated' => 'Хьан почтан адрес бакъдина $2 $3.',
+'emailauthenticated' => 'Хьан электронан почтан адрес бакъдина $2 $3.',
+'emailnotauthenticated' => 'Хьан электронан почтан адрес хӀинца а бакъдина дац.
+Хаамаш кхоьхьуьйтура бац.',
+'emailconfirmlink' => 'Бакъде хьай электронан почтан адрес',
+'emaildisabled' => 'ХӀокху сайтан таро яц электронан почте хаамаш бахьийта.',
 'accountcreated' => 'Декъашхочун дӀаяздар кхоьллина',
 'accountcreatedtext' => 'Кхоьллина декъашхочун [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|дийцаре.]]) дӀаяздар.',
+'createaccount-title' => '{{SITENAME}}: декъашхочун дӀаяздар кхоллар',
+'usernamehasherror' => 'Декъашхочун цӀеран юкъахь хийла ца еза «цаца»',
+'login-throttled' => 'Хьо дукха гӀиртира.
+Дехар до, собар де $1 юха гӀортале.',
 'loginlanguagelabel' => 'Мотт: $1',
 
 # Change password dialog
@@ -841,7 +864,7 @@ $1',
 'resettokens-legend' => 'Токенаш кхоссар',
 'resettokens-tokens' => 'Токенаш:',
 'resettokens-token-label' => '$1 (карара маьӀна: $2)',
-'resettokens-watchlist-token' => 'Ð\92еб-каналан (Atom/RSS) Ñ\82окен  [[Special:Watchlist|Ñ\85Ñ\8cан Ñ\82еÑ\80гаме Ð¼Ð¾Ð³Ó\80ам чура агӀонашна хийцамаш бар]]',
+'resettokens-watchlist-token' => 'Ð\92еб-каналан (Atom/RSS) Ñ\82окен  [[Special:Watchlist|Ñ\85Ñ\8cан Ñ\82еÑ\80гаме Ð¼Ð¾Ð³Ó\80анан чура агӀонашна хийцамаш бар]]',
 'resettokens-done' => 'Токенаш кхиссина.',
 'resettokens-resetbutton' => 'Къастина токенаш кхоссар',
 
@@ -869,7 +892,7 @@ $1',
 'summary' => 'Хийцамех лаьцна:',
 'subject' => 'Дlахьедар/коьрта могlа:',
 'minoredit' => 'Жим хийцам',
-'watchthis' => 'Латайе хlара агlо тергаме могlам юкъа',
+'watchthis' => 'Латайе хӀара агӀо тергаме могӀанан юкъахь',
 'savearticle' => 'Дlайазъé агlо',
 'preview' => 'Хьалха муха ю хьажа',
 'showpreview' => 'Хьалха муха ю хьажар',
@@ -878,7 +901,7 @@ $1',
 'summary-preview' => 'Цуьнах лаьцна хирду:',
 'blockedtitle' => 'Декъашхочун блоктоьхана',
 'nosuchsectiontitle' => 'Дакъа каро йиш яц.',
-'nosuchsectiontext' => 'Хьо гӀерта дуцу дакъа тадан.
+'nosuchsectiontext' => 'Хьо гӀерта доцу дакъа тадан.
 Хьо хӀокху агӀоне хьоьжучу хенахь иза кхечухьа деккхина я дӀадаьккхина хела тарло.',
 'loginreqtitle' => 'Хьай цӀарца чугӀо',
 'loginreqlink' => 'Логин',
@@ -890,10 +913,10 @@ $1',
 'newarticletext' => "Хьо веана хьажоригци хlокху агlон тlе, хlара агlо хlинца йоцаш ю.
 Нагахь иза кхолла лаахь, хlотта де лахо гуш долу корехь йоза (мадарра хьажа. [[{{MediaWiki:Helppage}}|гlон агlон чу]]).
 Нагахь гlалат даьлла нисвелляхь кхузе, атта тlе тlаlа йе '''юха йоккхуриг''' хьай гlирса тlяхь.",
-'anontalkpagetext' => "----''Хlара дийцаре агIо къайлаха волу декъашхочуьна  ю, хlинца дӀавазвина/дӀаязйина воцуш/йоцуш, я лелош воцуш/йоцуш.
-ЦÑ\83ндела Ð¸Ð·Ð° Ð²Ð¾Ð²Ð·Ð¸Ð¹Ñ\82а/йовзийÑ\82а Ð»ÐµÐ»Ð¾Ñ\88 Ð´Ñ\83 Ñ\82еÑ\80аÑ\85Ñ\8cÑ\86а IP-долÑ\83 Ð¼ÐµÑ\82аг.
+'anontalkpagetext' => "----''ХӀара дийцаре агӀо къайлаха декъашхочуьна ю, хӀинца дӀаяздар доцу, я лелош воцуш/йоцуш.
+ЦÑ\83ндела Ð¸Ð·Ð° Ð²Ð¾Ð²Ð·Ð¸Ð¹Ñ\82а/йовзийÑ\82а Ð»ÐµÐ»Ð¾Ñ\88 Ð´Ñ\83 Ñ\82еÑ\80аÑ\85Ñ\8cÑ\86а IP-адÑ\80еÑ\81.
 Иза терахь долу меттиг хила мега кхечу декъашхойчух терра.
-Нагахь хьо къайлах волу декъашхо валахь хьайна хаам кхаьчна аьлла хеташн, хьуна хьажийна доцуш, дехар до, кхолла хьай меттиг кху чохь[[Special:UserLogin/signup|дlавазло]] йа [[Special:UserLogin|хьой вовзийта/йовзийта]],",
+Нагахь хьо къайлах волу декъашхо валахь хьайна хаам кхаьчна аьлла хеташн, хьуна хьажийна доцуш, дехар до, кхолла хьай меттиг кху чохь[[Special:UserLogin/signup|дӀаяздар кхоллар]] я [[Special:UserLogin|системин чугӀо]],",
 'noarticletext' => "Хlокх хан чохь кху агlонца йоза дац.
 Шуьга далундерг [[Special:Search/{{PAGENAME}}|лахар ишта хьехош йолу цlе]] кхечу яззамашкахь,
 <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} лахар кхечу тептаршкахь],
@@ -906,13 +929,15 @@ $1',
 Ишта хуьйла ширелла дӀайаьккхина агӀонан хьажориган дихьа делча.
 Ма-дара хила мега [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дӀайаьхарш йолу тептар] чохь.',
 'userpage-userdoesnotexist' => 'Ишта дlайазвар «<nowiki>$1</nowiki>» хlинца дац. Хьажа билгал, хьуна бакъалла лаьи кхолла йа хийцам ба хlокху агlон.',
+'usercsspreview' => "'''Дагахь латтаде хӀара хьа CSS-файле хьалха хьажар хилар, иза хӀинца а Ӏалаш йина яц!'''",
+'userjspreview' => "'''Дагахь латтаде хӀара хьа javascript-файле хьалха хьажар хилар, иза хӀинца а Ӏалаш йина яц!'''",
 'sitecsspreview' => "'''ХӀара хьалх хьажар ду, хӀара CSS.'''
 '''хӀинца Ӏалашдина дац!'''",
 'sitejspreview' => "'''ХӀара хьалх хьажар ду, хӀара JavaScript-код.'''
 '''хӀинца Ӏалашйина яц!'''",
 'updated' => '(Карла йаькхина)',
 'note' => "'''Билгалдаккхар:'''",
-'previewnote' => "'''Ð¥Ó\80аÑ\80а Ñ\85Ñ\8cалÑ\85 хьажар ду, йоза хӀинца язданза ду!'''",
+'previewnote' => "'''Ð¥Ó\80аÑ\80а Ñ\85Ñ\8cлÑ\85а хьажар ду, йоза хӀинца язданза ду!'''",
 'continue-editing' => 'Кхин дӀа тадар',
 'session_fail_preview' => 'Сервер лара ца йира ахьа бина хийцамаш дӀаязба. Кхиъ цкъа а гӀортахь.
 Нагахь санна хӀара гӀалат юха а далахь, [[Special:UserLogout|сеанс дӀа а къоьвлин]], юха а системин чувала/яла хьажа.',
@@ -937,7 +962,7 @@ $1',
 хьостера, хийцам ба а дlаса даржада а чулацам болуш.<br />
 '''МАТОХИЙШ БАКЪО ЙОЦУ ГlИРСАШ КХУ ЧУ, КУЬГ ДЕ БАКЪО ЛАР ЙЕШ ЙОЛУ!'''",
 'readonlywarning' => "'''ДӀАХЬЕДО. ГӀирса бух блоктоьхна оьшуш долучу хьаштан, цундера хӀинц хьоьга дӀа ца йазло хийцам.
-Хила мега, ахьа Ӏалаш дан дезаш хьайн йоза, йуха тӀаьхьо леладан иза йоза.'''
+Хила мега, ахьа Ӏалаш дан дезаш хьайн йоза, юха тӀаьхьо леладан иза йоза.'''
 
 Куьйгалхочо блоктоьхна гӀирса бух, цо битина кхетош хӀара хаам: $1",
 'protectedpagewarning' => "'''Дlахьедар. Хlара агlо гlаролла дина ю хийцам цабайта, иза хийца йа нисйа а бакъо йолуш адаманкуьйгалла лелош болу декъашхой бе бац.'''
@@ -972,7 +997,7 @@ $1',
 'post-expand-template-inclusion-category' => 'Чу дуьхкуш долу кепашан барам тӀех баьлла агӀонаш',
 'post-expand-template-argument-category' => 'Кепашан аргументаш юкъахь йитина агӀонаш',
 'parser-template-loop-warning' => 'Карийна кепаш юкъахь хилла шад: [[$1]]',
-'parser-template-recursion-depth-warning' => 'Ð\94озанал Ñ\85Ñ\8cалаваÑ\8cлла ÐºlоÑ\80генÑ\86а Ð¹Ñ\83Ñ\85 Ð¹Ñ\83ха дина кеп ($1)',
+'parser-template-recursion-depth-warning' => 'Ð\94озанал Ñ\85Ñ\8cаладаÑ\8cлла ÐºÓ\80оÑ\80генÑ\86а Ñ\8eÑ\85 Ñ\8eха дина кеп ($1)',
 
 # "Undo" feature
 'undo-success' => 'Нисйинарг а тlе цалаца мега. Дехар до, хьажа цхьатерра йуй башхо, тешна хила, баккъалла иза хийцам буйте хьуна безарг, тlакха тlе таlайе «дlайазйе агlо», хийцам хlотта ба.',
@@ -982,6 +1007,7 @@ $1',
 
 # History pages
 'viewpagelogs' => 'Гайта хlокху агlонан тептар',
+'nohistory' => 'ХӀокху агӀона хийцамаш бина хила бац.',
 'currentrev' => 'Карара верси',
 'currentrev-asof' => 'Карара верси оцу $1',
 'revisionasof' => 'Верси $1',
@@ -999,7 +1025,7 @@ $1',
 'history-show-deleted' => 'ДӀаяхинарш',
 'histfirst' => 'ширниш',
 'histlast' => 'хьалхарниш',
-'historysize' => '({{PLURAL:$1|1 байт|$1 байташ}})',
+'historysize' => '($1 {{PLURAL:$1|байт}})',
 'historyempty' => '(йаьсса)',
 
 # Revision feed
@@ -1011,6 +1037,8 @@ $1',
 'rev-delundel' => 'гайта/къайла',
 'rev-showdeleted' => 'гайта',
 'revisiondelete' => 'ДӀаяха / меттахӀотае агӀона версеш',
+'revdelete-nooldid-title' => 'Билгалйина яц Ӏалашонан верси',
+'revdelete-nooldid-text' => 'Ахьа хӀара функци кхочушъян билгалйина яц Ӏалашонан верси (я версеш).',
 'revdelete-show-file-submit' => 'Хlаъ',
 'revdelete-selected' => "'''АгӀона [[:$1]] {{PLURAL:$2|къастина верси|къастина версеш}}:'''",
 'revdelete-text' => "'''ДӀаяхна агӀонашан версеш а хелларш а гуш хир ду агӀона истори а тептаран а чохь, амма цара чулацам куьйгалхошна бен тӀекхочу чохь хир бац.'''
@@ -1117,7 +1145,7 @@ $1',
 'prefs-user-pages' => 'Декъашхочун агӀо',
 'prefs-personal' => 'Долахь болу хаамаш',
 'prefs-rc' => 'Керла нисдарш',
-'prefs-watchlist' => 'Тергаме могlам',
+'prefs-watchlist' => 'Тергаме могӀам',
 'prefs-watchlist-days' => 'Денойн дукхалла:',
 'prefs-watchlist-days-max' => 'Къезиг  $1 {{PLURAL:$1|дена}}',
 'prefs-watchlist-edits' => 'Тергаме могӀам чохь гойтучу нисдаршан максимальни дукхалла:',
@@ -1344,7 +1372,8 @@ $1',
 'recentchanges-label-minor' => 'Хlара нисдинарг къастийна жимо долушсан',
 'recentchanges-label-bot' => 'ХӀара нисдар шаболх бечо дина',
 'recentchanges-label-unpatrolled' => 'ХӀара нисдар хӀинца цхьано патрулировать дина дац',
-'recentchanges-legend-newpage' => '$1 — керла агlо',
+'recentchanges-label-plusminus' => 'байташкахь барам хийцар',
+'recentchanges-legend-newpage' => '(хьажа кхин [[Special:NewPages|керла агӀонийн могӀа]])',
 'rcnotefrom' => "Лахахь гайтина тӀера '''$2''' хийцамаш ('''$1''' къезиг).",
 'rclistfrom' => 'Гайта хийцам оцу $1.',
 'rcshowhideminor' => '$1 кегийра нисдарш',
@@ -1362,10 +1391,11 @@ $1',
 'newpageletter' => 'К',
 'boteditletter' => 'б',
 'rc_categories_any' => 'Муьлхаа',
-'rc-change-size-new' => 'Хийцам бинчул тӀехьа болу барам: $1 {{PLURAL:$1|байт|байташ}}',
+'rc-change-size-new' => 'Хийцам бинчул тӀехьа болу барам: $1 {{PLURAL:$1|байт}}',
 'newsectionsummary' => '/* $1 */ Керла хьедар',
 'rc-enhanced-expand' => 'Гайта ма дарра дерг (лелош ю JavaScript)',
 'rc-enhanced-hide' => 'Ма дарра дерг къайладаккха',
+'rc-old-title' => 'дуьххьара кхоьллина яра цӀарца «$1»',
 
 # Recent changes linked
 'recentchangeslinked' => 'Кхуьнца долу нисдарш',
@@ -1397,6 +1427,10 @@ $1',
 'emptyfile' => 'Ахьа чуйоккхуш йолу файл еса хийла там бу. Иза гӀалат хийла мега файлан цӀе нийса язйина йоцу дела. Дехар до хьажа бакъалла и юьй ахьа чуйоккхуш йолу файл.',
 'fileexists' => 'Иштта цӀе йолу файл йолуш ю. Дехар до, хьажа <strong>[[:$1]]</strong>, лаьий хьуна и хийца. 
 [[$1|thumb]]',
+'fileexists-extension' => 'Тера цӀе йолу файл йолуш ю: [[$2|thumb]]
+* Чуйоккхуш йолу файлан цӀе: <strong>[[:$1]]</strong>
+* Йолуш йолу файлан цӀе: <strong>[[:$2]]</strong>
+Дехар до, харжа кхин цӀе.',
 'fileexists-forbidden' => 'Иштта цӀе йолу файл йолуш ю цундела тӀехула дӀаязян йиш яц.
 ТӀаккха а хьара файл чуяккха лууш делахь, дехар до, юха а гӀой файлан цӀе хийца а яй чуяккха файл. [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'ХӀара файл лахарчу {{PLURAL:$1|файлан|файлийн}} дубликат ю:',
@@ -1447,6 +1481,7 @@ PICT # тайп тайпан
 'listfiles_user' => 'Декъашхо',
 'listfiles_size' => 'Барам',
 'listfiles_description' => 'Цуьнах лаьцна',
+'listfiles-show-all' => 'Гайта суьртийн шира версеш',
 
 # File description page
 'file-anchor-link' => 'Файл',
@@ -1560,7 +1595,7 @@ PICT # тайп тайпан
 'fewestrevisions' => 'ЧIогIа кIезиг башхонаш йолу агIонаш',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|байт|байташ|байт}}',
+'nbytes' => '$1 {{PLURAL:$1|байт}}',
 'ncategories' => '$1 {{PLURAL:$1|категори|категореш|категореш}}',
 'ninterwikis' => '$1 {{PLURAL:$1|юкъарвики-хьажораг|юкъарвики-хьажорагаш}}',
 'nlinks' => '$1 {{PLURAL:$1|хьажораг|хьажорагаш}}',
@@ -1709,12 +1744,12 @@ PICT # тайп тайпан
 'mywatchlist' => 'Тергаме могӀам',
 'watchlistfor2' => 'Цунна $1 $2',
 'watchlistanontext' => 'Тергаме могӀоме хьажа я тая кхочушде $1.',
-'watchnologin' => 'Ð¥Ñ\8cо Ð²Ð¾Ð²Ð·Ð¸Ð¹Ñ\82а/йовзийÑ\82а Ð³lиÑ\80Ñ\81ан',
+'watchnologin' => 'СиÑ\81Ñ\82емин Ñ\87Ñ\83гÓ\80о',
 'addwatch' => 'Тергаме могӀам юкъа тоха',
 'addedwatchtext' => 'Хlар агlо «[[:$1]]» тlетоьхна хьан [[Special:Watchlist|тидаме могlам чу]].
 Тlаьхьабогlу хийцамаш хlокх агlонна а кхунца дозуш долу дийцаре агlо а дlаяздийра ду кху могlамашкахь, ишта къастина хирду уьш шуьрочу элпашца хlокх агlон чохь [[Special:RecentChanges|керла хийцаме могlамашкахь]], бгlаьран га атту болуш.',
 'removewatch' => 'ДӀаяккха тергаме могӀам юкъар',
-'removedwatchtext' => 'Агlо «[[:$1]]» дlаяккхина йара хьан [[Special:Watchlist|тергаме могlам юкъар]].',
+'removedwatchtext' => 'АгӀо «[[:$1]]» дӀаяьккхина яра хьан [[Special:Watchlist|тергаме могӀанан юкъар]].',
 'watch' => 'Тидам бе',
 'watchthispage' => 'Тергам бé хlокху агlон',
 'unwatch' => 'Тергамах къаста',
@@ -1727,7 +1762,7 @@ PICT # тайп тайпан
 
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'Тергаме мlогаман юкъаяккха…',
-'unwatching' => 'Тергаме мlогаман чура дlайаккха…',
+'unwatching' => 'Тергаме могӀанан чура дӀаяккхар…',
 
 'enotif_reset' => 'Билгал йаь ерриге агӀонаш хьаьжна санна',
 
@@ -1763,6 +1798,12 @@ PICT # тайп тайпан
 'rollbacklink' => 'юхаяккха',
 'rollbacklinkcount' => 'юхадаккха $1 {{PLURAL:$1|нисдар|нисдарш}}',
 'rollbacklinkcount-morethan' => 'Юхадаккха $1 дукха {{PLURAL:$1|нисдар|нисдарш|нисдарш}}',
+'rollbackfailed' => 'Юхайоккхуш гӀалат ду',
+'alreadyrolled' => 'ТӀехьара [[User:$2|$2]] ([[User talk:$2|дийцаре]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) декъашхочо «[[:$1]]» агӀона  бина хийцамаш юхабаха цатарло,
+хӀинцале цхъаъ кхиъна хийцамаш юхабаха я агӀо тая.
+
+Хийцамаш бинарг [[User:$3|$3]] ([[User talk:$3|дийцаре]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
+'editcomment' => "Хийцамаш барна гайтина бахьна: ''$1''.",
 'revertpage' => 'Нисдарш [[Special:Contributions/$2|$2]] ([[User talk:$2|дийцаре]]) юха даьхна башхаллийн [[User:$1|$1]]',
 'rollback-success' => 'Юха даьхна $1; нисдарш, $2 версен.',
 
@@ -1780,7 +1821,7 @@ PICT # тайп тайпан
 'protect_expiry_invalid' => 'Нийса йоцу хан гlаролла дlайаларехь.',
 'protect_expiry_old' => 'Хан чаккхе — хьалхалера.',
 'protect-unchain-permissions' => 'Схьабелла кхин гӀорралин гӀирс',
-'protect-text' => "Кхузéхь хьо хьажало хийцалуш гlаролли локхалла оцу агlонашна '''$1'''.",
+'protect-text' => "Кхузéхь хьо хьажало хийцалуш гӀароллин локхалла оцу агӀонашна '''$1'''.",
 'protect-locked-access' => "Хьан дlаязваларéхь тоъал бакъо яц гlароллийн локхаллéхь агlон хийцам бá. Дlадоьлху хlоттийнарш оцу агlонна '''$1''':",
 'protect-cascadeon' => 'Хlара агlо гlароллийца ю, хlунд аьлча иза латийна {{PLURAL:$1|лахахьа гойтучу агlонца, цуьнца хlоттийна|лахахьа гойтучу агlоншца, цаьрца хlоттийна}} чахчарийца гlаролла. Хьога хийцалур ю гlаролли локхалла хlокху агlон, амма оцо хийцам бийра бац чахчарехь йолучу гlароллийна.',
 'protect-default' => 'Гlаролла йоцуш',
@@ -1929,7 +1970,7 @@ PICT # тайп тайпан
 'blockipsuccesssub' => 'Блоктохар чакхдели',
 'blockipsuccesstext' => '[[Special:Contributions/$1|«$1»]] {{GENDER:$1|блоктоьхна ву|блоктоьхна ю}}.<br />
 Хьажа. [[Special:BlockList|блоктоьхна IP-адресашан могӀам]].',
-'ipb-blockingself' => 'Хьо хьайна блоктухуш ву/ю! Лууш вуй/юй хьо и кхочушдан?',
+'ipb-blockingself' => 'Хьо хьайна блоктоха гӀерта! Лаьий хьона и кхочушдан?',
 'ipb-edit-dropdown' => 'Бахьанин список нисяр',
 'ipb-unblock-addr' => 'ДӀаякхаблок $1',
 'ipb-unblock' => 'дӀаякхаблок декъашхонтӀера я IP-адрес тӀера',
@@ -2015,7 +2056,7 @@ PICT # тайп тайпан
 Ишта чу ханчохь, ахьа дехьа яккха йезар ю йа куьйга хlоттайар, нагахь иза хьашт йалахь.",
 'movearticle' => 'Цle хийца хlокху агlон',
 'newtitle' => 'Керла цlе',
-'move-watch' => 'Латайé хlара агlо тергаме могlам юкъа',
+'move-watch' => 'Латайé хӀара агӀо тергаме могӀанан юкъахь',
 'movepagebtn' => 'Агlон цlе хийца',
 'pagemovedsub' => 'Агlон цlе хийцина',
 'movepage-moved' => "'''Агlон цlе «$1» хийцина хlокху «$2»'''",
@@ -2044,7 +2085,7 @@ PICT # тайп тайпан
 'selfmove' => 'АгӀона цӏе хийца йиш яц: и цӏе хӏокху агӏона йолуш ю.',
 'immobile-source-page' => 'ХӀокху агӏона цӏе хийца йиш яц.',
 'bad-target-model' => 'Йиш яц хийца $1 оцу $2: цхьаьна ца догӀу моделин хаамаш.',
-'move-leave-redirect' => 'Ó\80адйиÑ\82а Ð´Ó\80аÑ\81аÑ\85Ñ\8cажоÑ\80иг',
+'move-leave-redirect' => 'Ó\80адйиÑ\82а Ð´Ó\80аÑ\81аÑ\85Ñ\8cажоÑ\80аг',
 'protectedpagemovewarning' => "'''Дlахьедар.''' Хlара агlо гlаролла йина йу; цlе хийца йа нисйа а бакъо йолуш адаманкуьйгалхой бе бац.
 Лахахьа тептаро балийна тlаьхьаралера дlаязбина хаам:",
 'semiprotectedpagemovewarning' => "'''Дlахьедо.''' Хlара агlо гlаролла йина йу; дlабазбиначу декъашхошка бе цlе хийцалуш яц.
@@ -2111,8 +2152,8 @@ PICT # тайп тайпан
 'tooltip-ca-unprotect' => 'Дlадаккха хlокху агlонна долу гаролла',
 'tooltip-ca-delete' => 'ДӀаяккха хӀара агӀо',
 'tooltip-ca-move' => 'Агlон цlе хийца',
-'tooltip-ca-watch' => 'Тlетоха хlара агlо сан тергаме могlам юкъа',
-'tooltip-ca-unwatch' => 'Дlайаккха хlара агlо хьай тергаме могlам юкъар',
+'tooltip-ca-watch' => 'ТӀетоха хӀара агӀо сан тергаме могӀанан юкъа',
+'tooltip-ca-unwatch' => 'ДӀаяккха хӀара агӀо хьай тергаме могӀанан юкъар',
 'tooltip-search' => 'Лаха иза дош',
 'tooltip-search-go' => 'Билгала и санна цӀе йолучу агӀон чу дехьа гӀо',
 'tooltip-search-fulltext' => 'Лаха агlонаш ше чулацамехь хlара йоза долуш',
@@ -2148,7 +2189,7 @@ PICT # тайп тайпан
 'tooltip-preview' => 'Дехар до, агlо lалаш йарал хьалха хьажа муха йу яз!',
 'tooltip-diff' => 'Гайта долуш долу йозанах бина болу хийцам.',
 'tooltip-compareselectedversions' => 'Хlокху шина хаьржина агlона башхо муха ю хьажа.',
-'tooltip-watch' => 'Тlетоха хlара агlо сан тергаме могlам юкъа',
+'tooltip-watch' => 'ТӀетоха хӀара агӀо сан тергаме могӀанан юкъа',
 'tooltip-rollback' => 'Цхьоз тlетаlийча дlабаккха кхечо бина болу тlаьххьара хийцам',
 'tooltip-undo' => 'Дlабаккха бина болу хийцам а хьалхьажар гойтуш, дlайаккхарна бахьан гайта аьтту беш',
 'tooltip-summary' => 'Язъе йоца цӀе',
@@ -2203,15 +2244,15 @@ PICT # тайп тайпан
 'thumbsize' => 'Жима дина суьртан барам:',
 'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|агlо|агlонаш|агlонаш}}',
 'file-info' => 'файлан барам: $1, MIME-тайп: $2',
-'file-info-size' => '$1 × $2 {{PLURAL:$2|пиксель|пикселш}}, файлан барам: $3, MIME-тайп: $4',
-'file-info-size-pages' => '$1 Ã\97 $2 Ð¿Ð¸ÐºÑ\81елÑ\88, файлан барам: $3, MIME-тайп: $4, $5 {{PLURAL:$5|агӀо|агӀонаш}}',
+'file-info-size' => '$1 × $2 пиксель, файлан барам: $3, MIME-тайп: $4',
+'file-info-size-pages' => '$1 Ã\97 $2 Ð¿Ð¸ÐºÑ\81елÑ\8c, файлан барам: $3, MIME-тайп: $4, $5 {{PLURAL:$5|агӀо|агӀонаш}}',
 'file-nohires' => 'Кхи йоккха гlоле башхо яц.',
 'svg-long-desc' => 'SVG-файл, лартӀахь ю $1 × $2 {{PLURAL:$2|пиксель|пикселш|пикселш}}, файлан барам: $3',
-'svg-long-desc-animated' => 'Анимироват йина SVG-файл, номинальни $1 × $2 {{PLURAL:$2|пиксель|пикселш}}, файлан барам: $3',
+'svg-long-desc-animated' => 'Анимироват йина SVG-файл, номиналан $1 × $2 пиксель, файлан барам: $3',
 'show-big-image' => 'Сурт цlанал лаккхара бакъонца',
 'show-big-image-preview' => 'Барам хьажале: $1.',
 'show-big-image-other' => '{{PLURAL:$2|Кхин шоралла|Кхин шоралла}}: $1.',
-'show-big-image-size' => '$1 Ã\97 $2 Ð¿Ð¸ÐºÑ\81елÑ\88',
+'show-big-image-size' => '$1 Ã\97 $2 Ð¿Ð¸ÐºÑ\81елÑ\8c',
 
 # Special:NewFiles
 'newimages' => 'Керлачу файлийн галерей',
@@ -2276,6 +2317,7 @@ PICT # тайп тайпан
 'exif-model' => 'Камеран модель',
 'exif-software' => 'Лелина программа',
 'exif-copyright' => 'Авторан бакъо ерг',
+'exif-exifversion' => 'Верси Exif',
 'exif-colorspace' => 'Беснашан хьал',
 'exif-compressedbitsperpixel' => 'Бесан кIоргалла дацдина чул тӀехьа',
 'exif-pixelxdimension' => 'Суьртан локхалла',
@@ -2385,7 +2427,7 @@ PICT # тайп тайпан
 'watchlistedit-raw-submit' => 'МогӀам Ӏалашбар',
 
 # Watchlist editing tools
-'watchlisttools-view' => 'Могlам чура агlонашан хийцамаш',
+'watchlisttools-view' => 'МогӀам чура агӀонашан хийцамаш',
 'watchlisttools-edit' => 'Хьажа/нисбé могlам',
 'watchlisttools-raw' => 'Йоза санна нисдé',
 
@@ -2394,9 +2436,22 @@ PICT # тайп тайпан
 
 # Special:Version
 'version' => 'Верси MediaWiki',
+'version-extensions' => 'ДӀахӀоттийна шордарш',
+'version-specialpages' => 'Белхан агӀонаш',
+'version-parserhooks' => 'Cинтаксисан къастор схьалоцурш',
 'version-variables' => 'Хийцаме',
 'version-other' => 'Кхин',
+'version-mediahandlers' => 'Медиа кеч ерраш',
+'version-parser-extensiontags' => 'Cинтаксисан къасторан шораллин тегаш',
+'version-parser-function-hooks' => 'Cинтаксисан къасторан функци схьалоцурш',
+'version-version' => '(Верси $1)',
 'version-license' => 'Бакъо',
+'version-license-info' => 'MediaWiki ю маьрша программин латораг, шу йиш ю фондас арахецна йолу GNU General Public License лицензица и яржо я хийца а.
+
+MediaWiki яржош ю и шуна пайдане хир яц те аьлла, амма  ЦХЬА ЮКЪАРАХИЛАР ДОЦУШ. Хь. кхин. лицензи мадарра GNU General Public License .
+
+Шоьга кхача езаш яра [{{SERVER}}{{SCRIPTPATH}}/COPYING копи GNU General Public License] хӀокху программица, кхаьчна яцахь язъе Free Software Foundation, Inc., адрес тӀе: 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA я [//www.gnu.org/licenses/old-licenses/gpl-2.0.html еша и онлайнехь].',
+'version-software-version' => 'Верси',
 
 # Special:Redirect
 'redirect' => 'Декъашхочун файлан тӀера дӀасхьажор',
@@ -2423,7 +2478,7 @@ PICT # тайп тайпан
 * <strong class="mw-specialpagerestricted">Кlеззиг таронаш йолу леррина агlонаш.</strong>',
 'specialpages-group-maintenance' => 'Жамlаш гlирса хьашташ кхочушдар',
 'specialpages-group-other' => 'Кхин гlуллакхан агlонаш',
-'specialpages-group-login' => 'Ð¥Ñ\8cой Ð²Ð¾Ð²Ð·Ð¸Ð¹Ñ\82а/йовзийÑ\82а / Ð´Ó\80авазло/дÓ\80аÑ\8fзло',
+'specialpages-group-login' => 'СиÑ\81Ñ\82емин Ñ\87Ñ\83гÓ\80о / Ð´Ó\80аÑ\8fздаÑ\80 ÐºÑ\85олла',
 'specialpages-group-changes' => 'Керла нисдарш а тéптарш',
 'specialpages-group-media' => 'Жамlаш оцу медиа-гlирсашан а чуяхарш',
 'specialpages-group-users' => 'Декъашхой а бакъонаш',
@@ -2464,7 +2519,7 @@ PICT # тайп тайпан
 'dberr-problems' => 'Бехк ма бил! Хlинц машан меттиган хилла гlирсаца халонаш.',
 'dberr-again' => 'Хьажа карла йаккха агlо массех минот йаьлча.',
 'dberr-info' => '(аьтто ца хили зlе хlотта гlулкхдечуьнца бухара хаамашца: $1)',
-'dberr-usegoogle' => 'Цlачун хьо хьажа лаха гlонца Google.',
+'dberr-usegoogle' => 'ЦӀачун хьо хьажа лаха гӀонца Google.',
 'dberr-outofdate' => 'Хьуна хаалахь, цуьна йолу меттиг хила мега тишйелла черахь.',
 
 # HTML forms
@@ -2507,9 +2562,9 @@ PICT # тайп тайпан
 'limitreport-ppvisitednodes' => 'Препроцессор хьаьжна шадин дукхалла',
 'limitreport-ppgeneratednodes' => 'Препроцессорс сгенерировать бина шадин дукхалла',
 'limitreport-postexpandincludesize' => 'Схьаяьстина юккъерчаран барам',
-'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|байт|байташ}}',
+'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|байт}}',
 'limitreport-templateargumentsize' => 'Кепан аргументан барам',
-'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|байт|байташ}}',
+'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|байт}}',
 'limitreport-expansiondepth' => 'Шордаларан уггар йокха кӀоргалла',
 'limitreport-expensivefunctioncount' => 'АгӀона хӀоттам къасторан «еза» функцеш',
 
index fd43832..573e705 100644 (file)
@@ -1501,11 +1501,14 @@ $1",
 'recentchanges-legend' => 'ھەڵبژاردەکانی دوایین گۆڕانکارییەکان',
 'recentchanges-summary' => 'لەم پەڕەیەدا شوێنی دوایین گۆڕانکارییەکانی ویکی بکەوە.',
 'recentchanges-feed-description' => 'دوای دوایین گۆڕانکارییەکانی ئەم ویکیە بکەوە لەم «فید»ەوە.',
-'recentchanges-label-newpage' => 'ئÛ\95Ù\85 Ø¯Û\95ستکارÛ\8cÛ\8cÛ\95 Ù\84اپÛ\95Ú\95Û\95Û\8cÛ\95Ú©Û\8c Ù\86Ù\88Û\8eÛ\8c Ø¯Ø±Ù\88ستکرد',
+'recentchanges-label-newpage' => 'ئÛ\95Ù\85 Ø¯Û\95ستکارÛ\8cÛ\8cÛ\95 Ù¾Û\95Ú\95Û\95Û\8cÛ\95Ú©Û\8c Ù\86Ù\88Û\8eÛ\8c Ø¯Ø±Ù\88ست کرد',
 'recentchanges-label-minor' => 'ئەمە دەستکارییەکی بچووکە',
-'recentchanges-label-bot' => 'ئÛ\95Ù\85 Ø¯Û\95ستکارÛ\8cÛ\95 Ù\84Û\95 Ù\84اÛ\8cÛ\95Ù\86 Ø¨Û\86تÛ\95Ù\88Û\95 Ù¾Û\8eÚ© Ù\87اتÙ\88وە',
+'recentchanges-label-bot' => 'ئÛ\95Ù\85 Ø¯Û\95ستکارÛ\8cÛ\8cÛ\95 Ù\84Û\95 Ù\84اÛ\8cÛ\95Ù\86 Ø¨Û\86تÛ\95Ù\88Û\95 Ú©Ø±Ø§وە',
 'recentchanges-label-unpatrolled' => 'ئەم دەستکارییە ھێشتا پاس نەدراوە',
-'recentchanges-legend-newpage' => '$1 - لاپەڕەی نوێ',
+'recentchanges-label-plusminus' => 'قەبارەی پەڕە ئەوەندە بایت گۆڕاوە',
+'recentchanges-legend-heading' => "'''کورتکراوەکان:'''",
+'recentchanges-legend-newpage' => '(ھەروەھا بڕوانە [[Special:NewPages|پێرستی پەڕە نوێکان]])',
+'recentchanges-legend-plusminus' => "(''±۱٢٣'')",
 'rcnotefrom' => "ئەوی‌ خوارەوە گۆڕانکارییەکانە لە '''$2'''ەوە (ھەتا '''$1''' نیشاندراو).",
 'rclistfrom' => 'گۆڕانکارییە نوێکان نیشان بدە بە دەستپێکردن لە $1',
 'rcshowhideminor' => 'دەستکارییە بچووکەکان $1',
@@ -1521,7 +1524,7 @@ $1",
 'show' => 'نیشان بدە',
 'minoreditletter' => 'ب',
 'newpageletter' => 'ن',
-'boteditletter' => '.بۆت',
+'boteditletter' => 'بۆ',
 'number_of_watching_users_pageview' => '[$1 چاودێر لەسەر {{PLURAL:$1|بەکارھێنەر}}]',
 'rc_categories' => 'بەرتەسک‌کردنەوە بە هاوپۆلەکان (به «|» جیای بکەوە‌)',
 'rc_categories_any' => 'هەرکام',
index 97e8539..545825c 100644 (file)
@@ -1570,6 +1570,7 @@ Vaše adresa v takovém případě není prozrazena.',
 'prefs-tokenwatchlist' => 'Klíč',
 'prefs-diffs' => 'Porovnání verzí',
 'prefs-help-prefershttps' => 'Toto nastavení se projeví při příštím přihlášení.',
+'prefs-tabs-navigation-hint' => 'Tip: Pro přepínání mezi záložkami můžete používat šipky vlevo a vpravo.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'E-mailová adresa vypadá jako platná',
@@ -1756,6 +1757,7 @@ Vaše adresa v takovém případě není prozrazena.',
 'recentchanges-label-bot' => 'Tuto editaci provedl bot',
 'recentchanges-label-unpatrolled' => 'Tato změna dosud nebyla prověřena',
 'recentchanges-label-plusminus' => 'Velikost stránky se změnila o tolik bajtů',
+'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => '(vizte též [[Special:NewPages|seznam nových stránek]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => 'Níže {{PLURAL:$1|je|jsou|je}} nejvýše <b>$1</b> {{PLURAL:$1|změna|změny|změn}} od <b>$2</b>.',
@@ -2213,6 +2215,7 @@ Každý řádek obsahuje odkaz na první a druhé přesměrování a k tomu cíl
 'ninterwikis' => '$1 {{PLURAL:$1|mezijazykový odkaz|mezijazykové odkazy|mezijazykových odkazů}}',
 'nlinks' => '$1 {{PLURAL:$1|odkaz|odkazy|odkazů}}',
 'nmembers' => '$1 {{PLURAL:$1|položka|položky|položek}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|položka|položky|položek}}',
 'nrevisions' => '$1 {{PLURAL:$1|revize|revize|revizí}}',
 'nviews' => '$1 {{PLURAL:$1|návšteva|návštevy|návštev}}',
 'nimagelinks' => 'Použit na $1 {{PLURAL:$1|stránce|stránkách}}',
@@ -4007,9 +4010,9 @@ MediaWiki je distribuována v naději, že bude užitečná, avšak BEZ JAKÉKOL
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Cesta ke skriptům]',
 
 # Special:Redirect
-'redirect' => 'Přesměrování podle souboru, uživatele nebo ID revize',
+'redirect' => 'Přesměrování podle souboru, uživatele, stránky nebo ID revize',
 'redirect-legend' => 'Přesměrování na soubor či stránku',
-'redirect-summary' => 'Tato speciální stránka přesměrovává na soubor (podle názvu), stránku (podle ID revize) nebo uživatele (podle číselného uživatelského ID). Použití: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] nebo [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Tato speciální stránka přesměrovává na soubor (podle názvu), stránku (podle ID stránky nebo revize) nebo uživatele (podle číselného uživatelského ID). Použití: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] nebo [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Přejít',
 'redirect-lookup' => 'Najít:',
 'redirect-value' => 'Hodnota:',
@@ -4256,10 +4259,12 @@ V podstatě rozbalí prakticky všechno v dvojitých složených závorkách.',
 'expand_templates_input' => 'Vstupní text:',
 'expand_templates_output' => 'Výstup',
 'expand_templates_xml_output' => 'Výstup XML',
+'expand_templates_html_output' => 'Surové výsledné HTML',
 'expand_templates_ok' => 'OK',
 'expand_templates_remove_comments' => 'Odstranit komentáře',
 'expand_templates_remove_nowiki' => 'Potlačit ve výsledku značky <nowiki>',
 'expand_templates_generate_xml' => 'Zobrazit syntaktický strom v XML',
+'expand_templates_generate_rawhtml' => 'Zobrazit surové HTML',
 'expand_templates_preview' => 'Náhled',
 
 );
index 367318d..7ab0f53 100644 (file)
@@ -8,6 +8,7 @@
  * @file
  *
  * @author Arwel Parry
+ * @author Cymrodor
  * @author Kaganer
  * @author Lloffiwr
  * @author Malafaya
@@ -139,8 +140,8 @@ $messages = array(
 'tog-minordefault' => 'Marcio pob golygiad fel un bach yn ddiofyn',
 'tog-previewontop' => 'Dangos y rhagolwg cyn y blwch golygu',
 'tog-previewonfirst' => 'Dangos rhagolwg ar y golygiad cyntaf',
-'tog-enotifwatchlistpages' => 'Gyrru e-bost ataf pan fo newid i dudalen neu ffeil ar fy rhestr wylio',
-'tog-enotifusertalkpages' => "Gyrru e-bost ataf fy hunan pan fo newid i'm tudalen sgwrs",
+'tog-enotifwatchlistpages' => 'Anfon e-bost ataf pan fo newid i dudalen neu ffeil ar fy rhestr wylio',
+'tog-enotifusertalkpages' => "Anfon e-bost ataf fy hunan pan fo newid i'm tudalen sgwrs",
 'tog-enotifminoredits' => 'Gyrru e-bost ataf hefyd ar gyfer golygiadau bychain i dudalennau a ffeiliau',
 'tog-enotifrevealaddr' => 'Datguddio fy nghyfeiriad e-bost mewn e-byst hysbysu',
 'tog-shownumberswatching' => "Dangos y nifer o ddefnyddwyr sy'n gwylio",
@@ -845,7 +846,7 @@ Cofiwch bod y tudalennau .css a .js yn defnyddio llythrennau bach, e.e. {{ns:use
 'updated' => '(Diweddariad)',
 'note' => "'''Dalier sylw:'''",
 'previewnote' => "'''Cofiwch taw rhagolwg yw hwn.''' Nid yw eich gwaith wedi ei roi ar gadw eto!",
-'continue-editing' => "Neidier i'r blwch golygu",
+'continue-editing' => "Neidio i'r blwch golygu",
 'previewconflict' => "Mae'r rhagolwg hwn yn dangos y testun yn yr ardal golygu uchaf, fel ag y byddai'n ymddangos petaech yn rhoi'r dudalen ar gadw.",
 'session_fail_preview' => "'''Ymddiheurwn! Methwyd prosesu eich golygiad gan fod rhan o ddata'r sesiwn wedi'i golli. Ceisiwch eto.
 Os digwydd yr un peth eto, ceisiwch [[Special:UserLogout|allgofnodi]] ac yna mewngofnodi eto.'''",
@@ -1227,7 +1228,7 @@ Cofiwch y gall mynegeion Google o gynnwys {{SITENAME}} fod ar ei hôl hi.",
 'prefs-setemail' => 'Gosod cyfeiriad e-bost',
 'prefs-email' => 'E-bostio',
 'prefs-rendering' => 'Ymddangosiad',
-'saveprefs' => 'Cadwer y dewisiadau',
+'saveprefs' => 'Cadw',
 'restoreprefs' => 'Adfer yr holl osodiadau diofyn (ymhob adran)',
 'prefs-editing' => 'Golygu',
 'rows' => 'Rhesi:',
@@ -1955,6 +1956,7 @@ Gosodwyd <del>llinell</del> drwy'r eitemau sydd eisoes wedi eu datrys.",
 'ninterwikis' => '$1 {{PLURAL:$1|cyswllt|cyswllt|gyswllt|chyswllt|chyswllt|cyswllt}}',
 'nlinks' => '$1 {{PLURAL:$1|cyswllt|cyswllt|gyswllt|chyswllt|chyswllt|cyswllt}}',
 'nmembers' => '$1 {{PLURAL:$1|aelod|aelod|aelod|aelod|aelod|aelod}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|aelodau|aelod|aelodau}}',
 'nrevisions' => '$1 {{PLURAL:$1|diwygiad|diwygiad|ddiwygiad|diwygiad|diwygiad|diwygiad}}',
 'nviews' => '$1 {{PLURAL:$1|ymweliad|ymweliad|ymweliad|ymweliad|ymweliad|ymweliad}}',
 'nimagelinks' => 'Defnyddir ar {{PLURAL:$1||$1 dudalen|$1 dudalen|$1 tudalen|$1 thudalen|$1 tudalen}}',
@@ -2892,7 +2894,7 @@ Mae ffolder dros dro yn eisiau.',
 'tooltip-rollback' => "Yn troi golygiad(au) y defnyddiwr diwethaf i'r dudalen hon yn ôl gydag un clic.",
 'tooltip-undo' => 'Mae "dadwneud" yn troi\'r golygiad hwn yn ôl ac yn dangos rhagolwg o\'r golygiad adferedig.
 Gellir ychwanegu rheswm dros y dadwneud yn y crynodeb.',
-'tooltip-preferences-save' => 'Rhodder y dewisiadau ar gadw',
+'tooltip-preferences-save' => "Cadw'r dewisiadau",
 'tooltip-summary' => 'Rhowch grynodeb byr',
 'interlanguage-link-title' => '$1 - $2',
 
index 4cfc839..03b8ff8 100644 (file)
@@ -886,7 +886,7 @@ Din nuværende IP-adresse er $3, og blokerings-id\'et er #$5.
 Angiv venligst alle de ovenstående detaljer ved eventuelle henvendelser.',
 'blockednoreason' => 'ingen begrundelse givet',
 'whitelistedittext' => 'Du skal $1 for at kunne redigere sider.',
-'confirmedittext' => 'Du skal først bekræfte e-mailadressen, før du kan lave ændringer. Udfyld og bekræft din e-mailadresse i dine [[Special:Preferences|indstillinger]].',
+'confirmedittext' => 'Du skal først bekræfte din e-mailadresse, før du kan redigere sider. Udfyld og bekræft din e-mailadresse i dine [[Special:Preferences|indstillinger]].',
 'nosuchsectiontitle' => 'Kan ikke finde afsnittet',
 'nosuchsectiontext' => 'Du forsøgte at ændre et afsnit der ikke findes. Det kan være flyttet eller slettet, siden du hentede siden.',
 'loginreqtitle' => 'Log på nødvendigt',
@@ -1058,6 +1058,9 @@ Kontroller venligst sammenligningen herunder for at bekræfte at det er hvad du
 # Account creation failure
 'cantcreateaccounttitle' => 'Brugerkontoen kan ikke oprettes.',
 'cantcreateaccount-text' => "Oprettelsen af en brugerkonto fra IP-adressen <b>$1</b> er spærret af [[User:$3|$3]]. Årsagen til blokeringen er angivet som ''$2''",
+'cantcreateaccount-range-text' => "Oprettelsen af en brugerkonto fra IP-adresser i intervallet '''$1''', som omfatter din IP-adresse ('''$4'''), er blevet blokeret af [[User:$3|$3]].
+
+Årsagen angivet af $3 er ''$2''",
 
 # History pages
 'viewpagelogs' => 'Vis loglister for denne side',
@@ -1292,7 +1295,7 @@ Detaljer kan findes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'prefsnologintext2' => 'Du skal $1 for at ændre brugerindstillinger.',
 'prefs-skin' => 'Udseende',
 'skin-preview' => 'Forhåndsvisning',
-'datedefault' => 'Ingen præference',
+'datedefault' => 'Standard',
 'prefs-beta' => 'Betafunktioner',
 'prefs-datetime' => 'Dato og klokkeslæt',
 'prefs-labs' => 'Testfunktioner',
@@ -1388,7 +1391,7 @@ Hvis du vælger at oplyse dit navn, vil det blive brugt til at tilskrive dig dit
 'prefs-dateformat' => 'Formatering af datoer',
 'prefs-timeoffset' => 'Tidsforskel',
 'prefs-advancedediting' => 'Generelle indstillinger',
-'prefs-editor' => 'Redaktør',
+'prefs-editor' => 'Redigeringsprogrammet',
 'prefs-preview' => 'Forhåndsvisning',
 'prefs-advancedrc' => 'Avancerede indstillinger',
 'prefs-advancedrendering' => 'Avancerede indstillinger',
@@ -1400,6 +1403,7 @@ Hvis du vælger at oplyse dit navn, vil det blive brugt til at tilskrive dig dit
 'prefs-tokenwatchlist' => 'Mærke',
 'prefs-diffs' => 'Forskelle',
 'prefs-help-prefershttps' => 'Denne indstilling træder i kraft næste gang du logger på.',
+'prefs-tabs-navigation-hint' => 'Tip: Du kan bruge venstre og højre piletasterne til at navigere mellem fanerne i fanelisten.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'E-mailadressen ser ud til at være gyldig',
@@ -1587,6 +1591,7 @@ Vær venlig at gennemse og bekræft dine ændringer.',
 'recentchanges-label-bot' => 'Denne redigering blev udført af en bot',
 'recentchanges-label-unpatrolled' => 'Denne redigering er endnu ikke blevet patruljeret',
 'recentchanges-label-plusminus' => 'Størrelsen på siden blev ændret med dette antal bytes',
+'recentchanges-legend-heading' => "'''Forklaring:'''",
 'recentchanges-legend-newpage' => '(se også [[Special:NewPages|listen over nye sider]])',
 'recentchanges-legend-plusminus' => '("±123")',
 'rcnotefrom' => "Nedenfor er op til '''$1''' ændringer siden '''$2''' vist.",
@@ -2047,6 +2052,7 @@ Hver linje indeholder henvisninger til den første og den anden omdirigering, s
 'ninterwikis' => '$1 {{PLURAL:$1|interwikilink|interwikilinks}}',
 'nlinks' => '{{PLURAL:$1|1 henvisning|$1 henvisninger}}',
 'nmembers' => '$1 {{PLURAL:$1|medlem|medlemmer}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|medlem|medlemmer}}',
 'nrevisions' => '{{PLURAL:$1|1 ændring|$1 ændringer}}',
 'nviews' => '{{PLURAL:$1|1 visning|$1 visninger}}',
 'nimagelinks' => 'Brugt på $1 {{PLURAL:$1|side|sider}}',
@@ -2075,8 +2081,8 @@ Hver linje indeholder henvisninger til den første og den anden omdirigering, s
 'mostimages' => 'Mest brugte filer',
 'mostinterwikis' => 'Sider med flest interwikilinks',
 'mostrevisions' => 'Sider med de fleste ændringer',
-'prefixindex' => 'Alle sider med præfiks',
-'prefixindex-namespace' => 'Alle sider med præfiks (navnerummet $1)',
+'prefixindex' => 'Alle sider der begynder med',
+'prefixindex-namespace' => 'Alle sider (i navnerummet $1) der begynder med',
 'prefixindex-strip' => 'Strip præfiks i listen',
 'shortpages' => 'Korte sider',
 'longpages' => 'Lange sider',
@@ -2139,7 +2145,7 @@ Du kan afgrænse visningen ved at vælge en logtype, brugernavn eller påvirket
 'allarticles' => 'Alle sider',
 'allinnamespace' => 'Alle sider (i $1 navnerummet)',
 'allpagessubmit' => 'Vis',
-'allpagesprefix' => 'Vis sider med præfiks:',
+'allpagesprefix' => 'Vis sider der begynder med:',
 'allpagesbadtitle' => 'Det indtastede sidenavn er ugyldigt: Det har enten et foranstillet sprog-, en Interwiki-forkortelse eller indeholder et eller flere tegn, som ikke må anvendes i sidenavne.',
 'allpages-bad-ns' => 'Navnerummet $1 findes ikke på {{SITENAME}}.',
 'allpages-hide-redirects' => 'Skjul omdirigeringer',
@@ -2218,7 +2224,7 @@ Der findes muligvis [[{{MediaWiki:Listgrouprights-helppage}}|yderligere informat
 'emailuser-title-notarget' => 'Send e-mail til en bruger',
 'emailpage' => 'E-mail bruger',
 'emailpagetext' => 'Du kan bruge formularen nedenfor til at sende en e-mail til denne {{GENDER:$1|bruger}}.
-Den e-mail-adresse, du har angivet i [[Special:Preferences|dine indstillinger]], vil dukke op i "fra"-feltet på e-mailen, så modtageren kan svare dig.',
+Den e-mailadresse, du har angivet i [[Special:Preferences|dine indstillinger]], vil dukke op i "fra"-feltet på e-mailen, så modtageren kan svare dig.',
 'usermailererror' => 'E-mail-modulet returnerede en fejl:',
 'defemailsubject' => '{{SITENAME}}-e-mail fra brugeren "$1"',
 'usermaildisabled' => 'Bruger-e-mail deaktiveret',
@@ -3576,11 +3582,11 @@ Kun indholdet af lister (linjer startende med *) bliver brugt. Den første henvi
 
 # Email address confirmation
 'confirmemail' => 'Bekræft e-mailadresse',
-'confirmemail_noemail' => 'Du har ikke angivet en gyldig e-mailadresse i din [[Special:Preferences|brugerprofil]].',
+'confirmemail_noemail' => 'Du har ikke angivet en gyldig e-mailadresse i dine [[Special:Preferences|indstillinger]].',
 'confirmemail_text' => '{{SITENAME}} kræver, at du bekræfter en e-mailadresse (autentificering), før du kan bruge de udvidede e-mailfunktioner. Med et klik på kontrolfeltet forneden sendes en e-mail til dig. Denne e-mail indeholder et link med en bekræftelseskode. Med et klik på dette link bekræftes, at e-mailadressen er gyldig.',
 'confirmemail_pending' => 'En bekræftelsesmail er allerede sendt til dig. Hvis du først for nylig har oprettet brugerkontoen, vent da et par minutter på denne e-mail, før du bestiller en ny kode.',
 'confirmemail_send' => 'Send bekræftelseskode',
-'confirmemail_sent' => 'Bekræftelses-e-mail afsendt.',
+'confirmemail_sent' => 'Bekræftelsesmail afsendt.',
 'confirmemail_oncreate' => 'En bekræftelseskode er sendt til din e-mailadresse. Denne kode skal ikke bruges til at logge på, den kræves til aktivering af e-mailfunktionerne i Wikien.',
 'confirmemail_sendfailed' => '{{SITENAME}} kunne ikke afsende din bekræftelsesmail.
 Kontroller at e-mailadressen er korrekt.
@@ -3665,6 +3671,11 @@ Bekræft venligst, at du virkelig vil oprette denne side igen.",
 'imgmultigo' => 'OK',
 'imgmultigoto' => 'Gå til side $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(standardsprog)',
+'img-lang-info' => 'Gengiv dette billede på $1. $2',
+'img-lang-go' => 'Udfør',
+
 # Table pager
 'ascending_abbrev' => 'op',
 'descending_abbrev' => 'ned',
@@ -3678,7 +3689,7 @@ Bekræft venligst, at du virkelig vil oprette denne side igen.",
 'table_pager_empty' => 'Ingen resultater',
 
 # Auto-summaries
-'autosumm-blank' => 'Tømmer siden',
+'autosumm-blank' => 'Tømmer siden for indhold',
 'autosumm-replace' => "Sidens indhold blev erstattet med: '$1'",
 'autoredircomment' => 'Omdirigering til [[$1]] oprettet',
 'autosumm-new' => "Oprettede siden med '$1'",
@@ -3761,13 +3772,14 @@ Du skulle have modtaget [{{SERVER}}{{SCRIPTPATH}}/COPYING en kopi af GNU General
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
-'redirect' => 'Omdirigering pga. fil, bruger eller udgave ID',
+'redirect' => 'Omdirigering pga. fil, bruger-, side- eller udgave-ID',
 'redirect-legend' => 'Omstilling til en fil eller en side',
-'redirect-summary' => "Denne specialside omdirigerer til en fil (hvis filnavnet er angivet), en side (hvis udgave ID'et er angivet) eller en brugerside (hvis et numerisk brugernummer er angivet). Eksempler på brug: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] eller [[{{#Special:Redirect}}/user/101]].",
-'redirect-submit' => 'Kør',
+'redirect-summary' => "Denne specialside omdirigerer til en fil (hvis filnavnet er angivet), en side (hvis udgave ID'et eller side ID'et er angivet) eller en brugerside (hvis et numerisk brugernummer er angivet). Eksempler på brug: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]],[[{{#Special:Redirect}}/revision/328429]] eller [[{{#Special:Redirect}}/user/101]].",
+'redirect-submit' => 'Vis',
 'redirect-lookup' => 'Slå op:',
 'redirect-value' => 'Værdi:',
 'redirect-user' => 'Bruger ID',
+'redirect-page' => 'Side-ID',
 'redirect-revision' => 'Sideversion',
 'redirect-file' => 'Filnavn',
 'redirect-not-exists' => 'Værdi ej fundet',
@@ -3861,7 +3873,7 @@ Du skulle have modtaget [{{SERVER}}{{SCRIPTPATH}}/COPYING en kopi af GNU General
 'htmlform-int-toohigh' => 'Den angivne værdi er over maksimumsværdien på $1',
 'htmlform-required' => 'Denne værdi skal angives',
 'htmlform-submit' => 'Gem',
-'htmlform-reset' => 'Annuller ændringer',
+'htmlform-reset' => 'Fortryd ændringer',
 'htmlform-selectorother-other' => 'Anden',
 'htmlform-no' => 'Nej',
 'htmlform-yes' => 'Ja',
@@ -4007,10 +4019,12 @@ Faktisk udfolder den stort set alt i dobbelte tuborgklammer.',
 'expand_templates_input' => 'Inputtekst:',
 'expand_templates_output' => 'Resultat',
 'expand_templates_xml_output' => 'XML-kode',
+'expand_templates_html_output' => 'Rå HTML-output',
 'expand_templates_ok' => 'Udfold',
 'expand_templates_remove_comments' => 'Fjern kommentarer',
 'expand_templates_remove_nowiki' => 'Undertryk <nowiki>-tags i resultatet',
 'expand_templates_generate_xml' => 'Vis analysetræ som XML',
+'expand_templates_generate_rawhtml' => 'Vis rå HTML',
 'expand_templates_preview' => 'Forhåndsvisning',
 
 );
index 81c0bd5..ef8e0b7 100644 (file)
@@ -72,6 +72,7 @@
  * @author W (aka Wuzur)
  * @author Wikifan
  * @author Wikinaut
+ * @author Wnme
  * @author Xqt
  * @author Ziko
  * @author Zylbath
@@ -1293,6 +1294,9 @@ Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest
 'cantcreateaccount-text' => "Die Erstellung eines Benutzerkontos von der IP-Adresse '''($1)''' aus wurde durch [[User:$3|$3]] gesperrt.
 
 Grund der Sperre: ''$2''",
+'cantcreateaccount-range-text' => "Das Erstellen von Benutzerkonten von IP-Adressen im Bereich '''$1''', der deine IP-Adresse ('''$4''') enthält, wurde von [[User:$3|$3]] gesperrt.
+
+Der angegebene Grund von $3 lautet: ''$2''",
 
 # History pages
 'viewpagelogs' => 'Logbücher dieser Seite anzeigen',
@@ -1635,6 +1639,7 @@ Diese Information ist öffentlich.',
 'prefs-tokenwatchlist' => 'Token',
 'prefs-diffs' => 'Versionsvergleich',
 'prefs-help-prefershttps' => 'Diese Einstellung wird bei deiner nächsten Anmeldung wirksam',
+'prefs-tabs-navigation-hint' => 'Tipp: Du kannst die linke und rechte Pfeiltasten benutzen, um zwischen den Registerkarten in der Reiterliste zu navigieren.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Diese E-Mail-Adresse scheint gültig zu sein.',
@@ -1821,14 +1826,15 @@ Diese Information ist öffentlich.',
 'recentchanges-label-minor' => 'Kleine Änderung',
 'recentchanges-label-bot' => 'Änderung durch einen Bot',
 'recentchanges-label-unpatrolled' => 'Nicht-kontrollierte Änderung',
-'recentchanges-label-plusminus' => 'Die geänderte Seitengröße (Anzahl in Bytes)',
+'recentchanges-label-plusminus' => 'Die Änderung der Seitengröße in Bytes',
+'recentchanges-legend-heading' => "'''Legende:'''",
 'recentchanges-legend-newpage' => '(siehe auch die [[Special:NewPages|Liste neuer Seiten]])',
 'recentchanges-legend-plusminus' => "''(±123)''",
 'rcnotefrom' => "Angezeigt werden die Änderungen seit '''$2''' (max. '''$1''' Einträge).",
 'rclistfrom' => 'Nur Änderungen seit $1 zeigen.',
 'rcshowhideminor' => 'Kleine Änderungen $1',
 'rcshowhidebots' => 'Bots $1',
-'rcshowhideliu' => 'Angemeldete Benutzer $1',
+'rcshowhideliu' => 'Registrierte Benutzer $1',
 'rcshowhideanons' => 'Unangemeldete Benutzer $1',
 'rcshowhidepatr' => 'Kontrollierte Änderungen $1',
 'rcshowhidemine' => 'Eigene Beiträge $1',
@@ -2283,6 +2289,7 @@ Jede Zeile enthält Links zur ersten und zweiten Weiterleitung sowie dem Ziel de
 'ninterwikis' => '{{PLURAL:$1|Ein Interwikilink|$1 Interwikilinks}}',
 'nlinks' => '{{PLURAL:$1|1 Link|$1 Links}}',
 'nmembers' => '{{PLURAL:$1|1 Eintrag|$1 Einträge}}',
+'nmemberschanged' => '$1 → {{PLURAL:$2|Ein Mitglied|$2 Mitglieder}}',
 'nrevisions' => '{{PLURAL:$1|1 Bearbeitung|$1 Bearbeitungen}}',
 'nviews' => '{{PLURAL:$1|1 Abfrage|$1 Abfragen}}',
 'nimagelinks' => 'Verwendet auf {{PLURAL:$1|einer Seite|$1 Seiten}}',
@@ -3925,7 +3932,7 @@ Bitte bestätige, dass du diese Seite wirklich neu erstellen möchten.",
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(Standardsprache)',
-'img-lang-info' => 'Dieses Bild in $1 rendern $2.',
+'img-lang-info' => 'Dieses Bild in $1 rendern. $2',
 'img-lang-go' => 'Los',
 
 # Table pager
@@ -4042,13 +4049,14 @@ Eine [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie der ''GNU General Public License'']
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Skriptpfad]',
 
 # Special:Redirect
-'redirect' => 'Weiterleitung auf Benutzerseite, Seitenversion oder Datei',
-'redirect-legend' => 'Weiterleitung auf eine Benutzerseite, Seitenversion oder Datei',
-'redirect-summary' => 'Diese Spezialseite leitet auf eine Benutzerseite (numerische Benutzerkennung angegeben), Seitenversion (Versionskennung angegeben) oder Datei (Dateiname angegeben) weiter. Benutzung: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] oder [[{{#Special:Redirect}}/user/101]].',
+'redirect' => 'Weiterleitung auf Benutzerseite, Seite, Seitenversion oder Datei',
+'redirect-legend' => 'Weiterleitung auf eine Benutzerseite, Seite, Seitenversion oder Datei',
+'redirect-summary' => 'Diese Spezialseite leitet auf eine Benutzerseite (numerische Benutzerkennung angegeben), Seite (Seitenkennung angeben), Seitenversion (Versionskennung angegeben) oder Datei (Dateiname angegeben) weiter. Benutzung: [[{{#Special:Redirect}}/user/101]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] oder [[{{#Special:Redirect}}/file/Example.jpg]].',
 'redirect-submit' => 'Los',
 'redirect-lookup' => 'Suchen:',
 'redirect-value' => 'Kennung oder Dateiname:',
 'redirect-user' => 'Benutzerseite',
+'redirect-page' => 'Seite',
 'redirect-revision' => 'Seitenversion',
 'redirect-file' => 'Datei',
 'redirect-not-exists' => 'Der Wert wurde nicht gefunden',
@@ -4292,14 +4300,16 @@ Auch Parserfunktionen wie
 <code><nowiki>{{</nowiki>#language:…}}</code> und Variablen wie
 <code><nowiki>{{</nowiki>CURRENTDAY}}</code> werden ausgewertet –
 faktisch alles was in doppelten geschweiften Klammern enthalten ist.',
-'expand_templates_title' => 'Kontexttitel, für {{FULLPAGENAME}} etc.:',
+'expand_templates_title' => 'Kontexttitel für beispielsweise {{FULLPAGENAME}}:',
 'expand_templates_input' => 'Eingabefeld:',
 'expand_templates_output' => 'Ergebnis',
 'expand_templates_xml_output' => 'XML-Ausgabe',
-'expand_templates_ok' => 'Okay',
+'expand_templates_html_output' => 'Roh-HTML-Ausgabe',
+'expand_templates_ok' => 'Vorlage expandieren',
 'expand_templates_remove_comments' => 'Kommentare entfernen',
 'expand_templates_remove_nowiki' => '<nowiki>-Tags in der Ausgabe unterdrücken',
 'expand_templates_generate_xml' => 'XML-Parser-Baum zeigen',
+'expand_templates_generate_rawhtml' => 'Rohes HTML anzeigen',
 'expand_templates_preview' => 'Vorschau',
 
 );
index a338d49..0ef3a30 100644 (file)
@@ -1096,7 +1096,8 @@ Wexta ke şıma butonê \"{{int:savearticle}}\" tıkna '''teyna''' nuşteyo cori
 'yourtext' => 'nuşteyê şıma',
 'storedversion' => 'Nuşteyo qaydbiyaye',
 'nonunicodebrowser' => "'''DİQET: Browserê şıma u unicode yewbini nêgeni. Qey izin dayişê vurnayişê pelan: Karakteri ke ASCII niyê; zerreyê qutiyê vurnayişi de kodi (cod) şiyes-şiyes aseni.'''",
-'editingold' => "'''DİQET: Şıma pelo revizebiyaye de vurnayiş keni. Eke şıma qayd bıkeri vurnayişi ke pelo revizebiyayiş ra heta ewro biyê, pêroyê ey beni vini.'''",
+'editingold' => "'''İkaz: Şımayé rewizyon da kehan da perer d vırnayış kené.'''
+Vanése qeyd k,lakin rewziyoné veréni dé vınibé.",
 'yourdiff' => 'pêverronayiş',
 'copyrightwarning' => "'''Recayê ikazi:''' Sita da {{SITENAME}} ra iştıraqi pêro umışin da $2 zerredeyo (teferruata rê $1'i bıvinê).
 İştıraqê şıma, şıma kayıl niyê ke yewna merdumi kerpeyina bıvurnê yana yewna caya ra vılakerê se, iştıraq mekewê.<br />
@@ -1183,7 +1184,7 @@ Taye şabloni zerre pel de nêmociyayeni.',
 'undo-success' => 'No vurnayiş tepeye geryeno. pêverronayişêyê cêrıni kontrol bıkeri.',
 'undo-failure' => 'Sebayê pêverameyişê vurnayişan karo tepêya gırewtış nêbı.',
 'undo-norev' => 'Vurnayiş tepêya nêgeryeno çunke ya vere cû hewna biyo ya zi ca ra çino.',
-'undo-summary' => 'Peysergırewtışê teshisê $1i be terefê [[Special:Contributions/$2|$2i]] ([[User talk:$2|Werênayış]])',
+'undo-summary' => "Vırnayışa $1'i be terefê [[Special:Contributions/$2|$2i]] ([[User talk:$2|vatenayış]]) peyser grot",
 'undo-summary-username-hidden' => "Rewizyona veri $1'i hewada",
 
 # Account creation failure
@@ -1607,7 +1608,7 @@ Eka tu wazene ke nameyo raşt xo bide, ma nameyo raşt ti iştirakanê ti de moc
 'right-upload_by_url' => 'Yew URL ra dosyan bar bıke',
 'right-purge' => 'Virê sita seba yew pele bêdestur bestere.',
 'right-autoconfirmed' => 'Perê ke nême kılit biyê, inan bıvurne',
-'right-bot' => 'Zey yew karê xoserkerdey be',
+'right-bot' => 'Zey yew kardê otomotiki kar bıvin',
 'right-nominornewtalk' => 'Pelanê werênayışan rê vurnayışê qıckeki çıniyê, qutiya mesacanê newiyan bıgurene',
 'right-apihighlimits' => 'Persanê API de sinoranê berzêran bıgurene',
 'right-writeapi' => 'İstıfadey APIyê nuştey',
@@ -1713,21 +1714,22 @@ Eka tu wazene ke nameyo raşt xo bide, ma nameyo raşt ti iştirakanê ti de moc
 'enhancedrc-history' => 'verenayış',
 'recentchanges' => 'Vırnayışé bahdoyéni',
 'recentchanges-legend' => 'Tercihê vurnayışanê peyênan',
-'recentchanges-summary' => 'Ena pele de wiki sero vurnayışanê peyênan teqib ke.',
+'recentchanges-summary' => 'Ena perer de wiki sero vurnayışanê peyênan teqib ke.',
 'recentchanges-noresult' => 'Zey kiterandé şıma vırnayış névineya',
 'recentchanges-feed-description' => 'Ena feed dı vurnayişanê tewr peniyan teqip bık.',
-'recentchanges-label-newpage' => 'Enê vurnayışi pelaya newi vıraşt',
+'recentchanges-label-newpage' => 'Ena vırnayış ra pera newi vıraziyê',
 'recentchanges-label-minor' => 'Ena vırnayışa werkeka',
-'recentchanges-label-bot' => 'Yew boti xo het ra no vurnayış vıraşto',
+'recentchanges-label-bot' => 'No vurnayışé boti yo.',
 'recentchanges-label-unpatrolled' => 'Eno vurnayış hewna dewriya nêbiyo',
 'recentchanges-label-plusminus' => 'Ebata na perer ebatta na nımra de vırneya',
+'recentchanges-legend-heading' => "'''Kıtabek:'''",
 'recentchanges-legend-newpage' => '(Zewbi bıvin [[Special:NewPages|Listeya peran de newan]])',
 'recentchanges-legend-plusminus' => "''(±123)''",
 'rcnotefrom' => "Cêr de '''$2''' ra nata vurnayışiyê asenê (tewr vêşi <b> '''$1'''</b> asenê).",
 'rclistfrom' => '$1 ra tepya vırnayışané newan bıasne',
 'rcshowhideminor' => 'Vırnayışané werkekean $1',
 'rcshowhidebots' => 'Botan $1',
-'rcshowhideliu' => 'Karberané qeydınan $1',
+'rcshowhideliu' => 'Karberé qeydınan $1',
 'rcshowhideanons' => 'Karberané bénaman $1',
 'rcshowhidepatr' => '$1 vurnayışê ke dewriya geyrayê',
 'rcshowhidemine' => 'Vurnayışanê mı $1',
@@ -2182,6 +2184,7 @@ gıreyê her satıri de gıreyi; raş motışê yewın u dıyıni esto.
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikiy}}',
 'nlinks' => '$1 {{PLURAL:$1|link|linkî}}',
 'nmembers' => '$1 {{PLURAL:$1|eza|ezayan}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$1|eza|ezayan}}',
 'nrevisions' => '$1 {{PLURAL:$1|vurnayış|vurnayışi}}',
 'nviews' => '$1 {{PLURAL:$1|vênayış|vênayışi}}',
 'nimagelinks' => '$1 {{PLURAL:$1|pele de|pelan de}} gureyeno',
@@ -2467,7 +2470,7 @@ Qey hemkari u pêşniyazi:
 # Delete
 'deletepage' => 'Pele bestere',
 'confirm' => 'Testiq ke',
-'excontent' => "Zerrey cı: '$1'",
+'excontent' => "Zerreko verén: '$1'",
 'excontentauthor' => "Zerrey cı: '$1' no/na ('[[Special:Contributions/$2|$2]]'  teyna iştıraq kerdo)",
 'exbeforeblank' => "behsê verê esteriyayişi: '$1'",
 'exblank' => 'zerreyê peli vengo',
@@ -2664,11 +2667,11 @@ $1',
 'sp-contributions-newbies' => 'Tenya iştıraqanê karberanê neweyan bımocne',
 'sp-contributions-newbies-sub' => 'Qe hesebê newe',
 'sp-contributions-newbies-title' => 'Îştîrakê karberî ser hesabê neweyî',
-'sp-contributions-blocklog' => 'Qeydê kılitkerdışi',
+'sp-contributions-blocklog' => 'Qeydê bloqi',
 'sp-contributions-deleted' => 'iştırakê karberiê esterıtey',
 'sp-contributions-uploads' => 'barkerdey',
 'sp-contributions-logs' => 'qeydi',
-'sp-contributions-talk' => 'werênayış',
+'sp-contributions-talk' => 'vatenayış',
 'sp-contributions-userrights' => 'İdareyê heqanê karberan',
 'sp-contributions-blocked-notice' => 'verniyê no/na karber/e geriyayo/a
 qê referansi qeydê vernigrewtışi cêr de eşkera biyo:',
@@ -2780,7 +2783,7 @@ Sebebê kılit-biyayışê $1\'i: "$2"o',
 'blocklogpage' => 'Qeydê bloqi',
 'blocklog-showlog' => 'verniyê no/na karberi cıwa ver geriyayo/ya.',
 'blocklog-showsuppresslog' => 'verniyê no/na karberi cıwa ver geriyayo/ya.',
-'blocklogentry' => 'Karberê [[$1]] ke bloqe, bloqey cı hetana $2 $3 do bıramo.',
+'blocklogentry' => '[[$1]] biyo bloqe, sebeb: $3, hetana $2 do bıramo.',
 'reblock-logentry' => 'qey [[$1]]i tarixê qediyayişi $2 $3 pa ninan a eyarê ver-grewtışan vurna.',
 'blocklogtext' => "No kuliyatê kılitkerdış u rakerdışê fealiyetê karberano.
 Adresê IP'ya ke otomatikmen kılit biyê lista de çıniya.
@@ -3063,7 +3066,7 @@ dosyaya emaneti vindbiyo',
 'tooltip-pt-login' => 'Mayê şıma ronıştış akerdışi rê dawet keme; labelê ronıştış mecburi niyo',
 'tooltip-pt-anonlogin' => 'Seba cıkewtışê şıma rê dewato; labelê, no zeruri niyo',
 'tooltip-pt-logout' => 'Sistem ra vıcyayış',
-'tooltip-ca-talk' => 'Zerrey pela sero werênayış',
+'tooltip-ca-talk' => 'Heqdé zerreki vatenayış',
 'tooltip-ca-edit' => 'Tı şenay na perer bıvurné.Verdé qeyd kerdışi ver gocega verqayti bıkarné.',
 'tooltip-ca-addsection' => 'Zu bınnusteya newi ak',
 'tooltip-ca-viewsource' => 'Ena pele kılit biya.
@@ -4189,7 +4192,7 @@ satır ê ke pê ney # # destpêkenê zey mışore/mıjore muamele vineno.
 'tags-active-yes' => 'E',
 'tags-active-no' => 'Nê',
 'tags-edit' => 'bıvurne',
-'tags-hitcount' => '$1 {{PLURAL:$1|vurnayış|vurnayışi}}',
+'tags-hitcount' => '$1 {{PLURAL:$1|vırnayış|vırnayışi}}',
 
 # Special:ComparePages
 'comparepages' => 'Pela miqeyese ke',
@@ -4368,10 +4371,12 @@ Eneri Medya wiki sera xo keno.',
 'expand_templates_input' => 'sernameyê cıkewtışi:',
 'expand_templates_output' => 'netice',
 'expand_templates_xml_output' => 'XML vıraştış',
+'expand_templates_html_output' => 'Xam vetey HTML',
 'expand_templates_ok' => 'temam',
 'expand_templates_remove_comments' => 'Tefsiran wedare',
 'expand_templates_remove_nowiki' => 'neticeyan de etiketê <nowiki> yan çap bıker',
 'expand_templates_generate_xml' => 'Dara XML arêdayoği bımocne',
+'expand_templates_generate_rawhtml' => "Xam HTML'i bıvin",
 'expand_templates_preview' => 'Verqayt',
 
 );
index 1179e4a..a53f12f 100644 (file)
@@ -995,6 +995,9 @@ Njesmějo daś wěcej nježli $2 {{PLURAL:$2|wołanja|wołanjowu|wołanjow|woła
 'cantcreateaccount-text' => "Wutwórjenje wužywarskego konta z toś teje IP adresy ('''$1''') jo blokěrowane pśez [[User:$3|$3]].
 
 Pśicyna, kótaruž $3 jo zapódał, jo ''$2''.",
+'cantcreateaccount-range-text' => "Napóranje kontow z IP-adresow we wobcerku '''$1''', kótaryž wopśimujo twóju IP-adresu ('''$4'''), jo se wót [[User:$3|$3]] zablokěrowało.
+
+Pśicyna pódana wót $3 jo ''$2''",
 
 # History pages
 'viewpagelogs' => 'Protokole boka pokazaś',
@@ -1337,6 +1340,7 @@ Toś ta informacija buźo zjawna.',
 'prefs-tokenwatchlist' => 'Token',
 'prefs-diffs' => 'Rozdźěle',
 'prefs-help-prefershttps' => 'Toś to nastajenje wustatkujo se pó twójom pśiducem pśizjawjenju.',
+'prefs-tabs-navigation-hint' => 'Tip: Móžoš lěwu a pšawu šypku wužywaś, aby mjazy rejtarkami w lisćinje rejtarkow nawigěrował.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Zda se, až e-mailowa adresa jo płaśiwa',
@@ -1523,13 +1527,14 @@ Toś ta informacija buźo zjawna.',
 'recentchanges-label-bot' => 'Toś ta změna jo se pśez bośik wuwjadła.',
 'recentchanges-label-unpatrolled' => 'Toś ta změna hyšći njejo se pśekontrolěrowała',
 'recentchanges-label-plusminus' => 'Změnjona wjelikosc boka (licba bajtow)',
+'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => '(glej teke [[Special:NewPages|lisćinu nowych bokow]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Dołojce pokazuju se změny wót '''$2''' (maks. '''$1''' zapisow).",
 'rclistfrom' => 'Nowe změny wót $1 pokazaś.',
 'rcshowhideminor' => 'Snadne změny $1',
 'rcshowhidebots' => 'awtomatiske programy (boty) $1',
-'rcshowhideliu' => 'pśizjawjone wužywarje $1',
+'rcshowhideliu' => 'Zregistrěrowane wužywarje $1',
 'rcshowhideanons' => 'anonymne wužywarje $1',
 'rcshowhidepatr' => 'kontrolěrowane změny $1',
 'rcshowhidemine' => 'móje pśinoski $1',
@@ -1977,6 +1982,7 @@ Kužda smužka wopśimjejo wótkaze na prědne a druge dalejpósrědnjenje a tek
 'ninterwikis' => '$1 {{PLURAL:$1|mjazyrěcny wótkaz|mjazyrěcnej wótkaza|mjazyrěcne wótkaze|mjazyrěcnych wótkazow}}',
 'nlinks' => '$1 {{PLURAL:$1|wótkaz|wótkaza|wótkaze}}',
 'nmembers' => '$1 {{PLURAL:$1|zapis|zapisa|zapise}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|cłon|cłonka|cłonki|cłonkow}}',
 'nrevisions' => '$1 {{PLURAL:$1|wobźěłanje|wobźěłani|wobźěłanja}}',
 'nviews' => '$1 {{PLURAL:$1|wótpšašanje|wótpšašani|wótpšašanja}}',
 'nimagelinks' => 'Wužywa se na $1 {{PLURAL:$1|boku|bokoma|bokach|bokach}}',
@@ -3580,6 +3586,11 @@ Pšosym wobkšuś, až napšawdu coš toś ten bok zasej napóraś.',
 'imgmultigo' => 'W pórědku',
 'imgmultigoto' => 'Źi k bokoju $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(standardna rěc)',
+'img-lang-info' => 'Toś ten wobraz w $1 kresliś. $2',
+'img-lang-go' => 'Wótpósłaś',
+
 # Table pager
 'ascending_abbrev' => 'górjej',
 'descending_abbrev' => 'dołoj',
@@ -3687,14 +3698,15 @@ Ty by dejał [{{SERVER}}{{SCRIPTPATH}}/COPYING kopiju licence GNU General Public
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
-'redirect' => 'Pó datajowem mjenju, wužywarju abo wersijowem ID dalej pósrědniś',
+'redirect' => 'Pó datajowem mjenju, wužywarju, boku abo wersijowem ID dalej pósrědniś',
 'redirect-legend' => 'Do dataje abo boka dalej pósrědniś',
-'redirect-summary' => 'Toś ten specialny bok pósrědnja se do dataje (datajowe mě jo pódane), boka (wersijowy ID jo pódany) abo wužywarskego boka (numeriski wužywarski ID jo pódany) dalej. Wužyśe:
-[[{{#Special:Redirect}}/file/Pśikład.jpg]], [[{{#Special:Redirect}}/revision/328429]] abo [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Toś ten specialny bok pósrědnja se do dataje (datajowe mě jo pódane), boka (wersijowy ID abo ID boka jo pódany) abo wužywarskego boka (numeriski wužywarski ID jo pódany) dalej. Wužyśe:
+[[{{#Special:Redirect}}/file/Pśikład.jpg]], [[{{#Special:Redirect}}/page/64308]],[[{{#Special:Redirect}}/revision/328429]] abo [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Pytaś',
 'redirect-lookup' => 'Pytaś:',
 'redirect-value' => 'Gódnota:',
 'redirect-user' => 'ID wužywarja',
+'redirect-page' => 'ID boka',
 'redirect-revision' => 'Bokowa wersija',
 'redirect-file' => 'Datajowe mě',
 'redirect-not-exists' => 'Gódnota njejo se namakała',
@@ -3933,10 +3945,12 @@ Hować móžoš slědujucy jadnory formular wužywaś. Twój komentar pśidajo s
 'expand_templates_input' => 'Zapódany tekst:',
 'expand_templates_output' => 'Wuslědk',
 'expand_templates_xml_output' => 'Wudany XML',
+'expand_templates_html_output' => 'Gropne HTML-wudaśe',
 'expand_templates_ok' => 'W pórěźe',
 'expand_templates_remove_comments' => 'Komentary wótwónoźeś',
 'expand_templates_remove_nowiki' => 'Toflicki <nowiki> we wuslědku pódtłocyś',
 'expand_templates_generate_xml' => 'Parsowański bom XML pokazaś',
+'expand_templates_generate_rawhtml' => 'Gropny HTML pokazaś',
 'expand_templates_preview' => 'Pśeglěd',
 
 );
index 523228e..3780e15 100644 (file)
@@ -7,6 +7,7 @@
  * @ingroup Language
  * @file
  *
+ * @author Lévi
  * @author Reder
  */
 
@@ -15,660 +16,705 @@ $fallback = 'it';
 $messages = array(
 # Dates
 'sun' => 'Dum',
-'mon' => 'Lün',
-'tue' => 'Mär',
+'mon' => 'Lun',
+'tue' => 'Mar',
 'wed' => 'Mer',
 'thu' => 'Giu',
-'fri' => 'Van',
+'fri' => 'Ven',
 'sat' => 'Sab',
-'january' => 'Znär',
-'february' => 'Farvär',
-'march' => 'März',
-'april' => 'April',
-'may_long' => "Magg'",
-'june' => 'Giügn',
-'july' => 'Lüi',
-'august' => 'Agust',
-'september' => 'Steimbar',
-'october' => 'Uttubar',
-'november' => 'Nueimbar',
-'december' => 'Dzeimbar',
-'january-gen' => 'Znär',
-'february-gen' => 'Farvär',
-'march-gen' => 'März',
-'april-gen' => 'April',
-'may-gen' => "Magg'",
-'june-gen' => 'Giügn',
-'july-gen' => 'Lüi',
-'august-gen' => 'Agust',
-'september-gen' => 'Steimbar',
-'october-gen' => 'Uttubar',
-'november-gen' => 'Nueimbar',
-'december-gen' => 'Dzeimbar',
-'jan' => 'Znä',
-'feb' => 'Far',
-'mar' => 'Mär',
-'apr' => 'Apr',
-'may' => 'Mag',
-'jun' => 'Giü',
-'jul' => 'Lüi',
-'aug' => 'Agu',
-'sep' => 'Ste',
-'oct' => 'Utt',
-'nov' => 'Nue',
-'dec' => 'Dze',
+'january' => 'Znêr',
+'february' => 'Fervêr',
+'march' => 'Mêrs',
+'april' => 'Avrîl',
+'may_long' => 'Mâg',
+'june' => 'gn',
+'july' => 'Lój',
+'august' => 'Agòst',
+'september' => 'Setèmber',
+'october' => 'Utòber',
+'november' => 'Novèmber',
+'december' => 'Dicèmber',
+'january-gen' => 'Znêr',
+'february-gen' => 'Fervêr',
+'march-gen' => 'Mêrs',
+'april-gen' => 'Avrîl',
+'may-gen' => 'Mâg',
+'june-gen' => 'gn',
+'july-gen' => 'Lój',
+'august-gen' => 'Agòst',
+'september-gen' => 'Setèmber',
+'october-gen' => 'Utòber',
+'november-gen' => 'Novèmber',
+'december-gen' => 'Dicèmber',
+'jan' => 'Znê',
+'feb' => 'Fer',
+'mar' => 'Mêr',
+'apr' => 'Avr',
+'may' => 'Mâg',
+'jun' => 'Zóg',
+'jul' => 'Lój',
+'aug' => 'Agò',
+'sep' => 'Set',
+'oct' => 'Utò',
+'nov' => 'Nov',
+'dec' => 'Dic',
 
 # Categories related messages
-'hidden-categories' => '{{PLURAL:$1|Categuria nascost|Categuri nascost}}',
+'pagecategories' => '{{PLURAL:$1|Categoréia!Categoréi}}',
+'hidden-categories' => '{{PLURAL:$1|Categoréia lughêda|Categoréi lughêdi}}',
 
-'about' => 'Informaziun',
-'cancel' => ' 
-Cancellä',
-'mytalk' => 'Le mé discüssion',
-'navigation' => 'Navigazion',
+'about' => 'Infumasiòun',
+'cancel' => 'Scanşèla',
+'mytalk' => 'Al mē discusiòun',
+'navigation' => 'Navigasiòun',
 'and' => '&#32;e',
 
 # Cologne Blue skin
-'qbfind' => 'Trov',
-'qbedit' => 'Mudifich',
-'qbpageoptions' => "Opzion d'la pàgina",
-'qbmyoptions' => 'Le mé pàgin',
-'faq' => 'Dumand frequeint',
+'qbfind' => 'Câta',
+'qbedit' => 'Mudéfica',
+'qbpageoptions' => 'Siēlti pàgina',
+'qbmyoptions' => 'Al mē pàgini',
+'faq' => 'Dmândi fâti',
 
 # Vector skin
-'vector-action-delete' => 'Cancellä',
-'vector-action-move' => 'Spusta',
-'vector-action-protect' => "Prutegg'",
-'vector-view-create' => 'Creä',
-'vector-view-edit' => 'Mudifich',
-'vector-view-history' => 'Väda la storia',
-'vector-view-view' => "Legg'",
-'vector-view-viewsource' => 'Vadä la surgìnt',
-'actions' => 'Azion',
-'namespaces' => 'Namespace',
-'variants' => 'Variänt',
-
-'errorpagetitle' => 'Errur',
+'vector-action-delete' => 'Scanşèla',
+'vector-action-move' => 'Spôsta',
+'vector-action-protect' => 'Prutēz',
+'vector-view-create' => 'Invèinta',
+'vector-view-edit' => 'Mudéfica',
+'vector-view-history' => 'Guêrda la stôria',
+'vector-view-view' => 'Lēz',
+'vector-view-viewsource' => 'Guêrda la surzéia',
+'actions' => 'Asiòun',
+'namespaces' => 'Spâsi di nòm',
+'variants' => 'Mudéfichi',
+
+'errorpagetitle' => 'Erōr',
 'tagline' => 'Da {{SITENAME}}',
-'help' => 'At',
-'search' => 'Cercä',
-'searchbutton' => 'Cercä',
-'go' => 'Vé',
-'searcharticle' => 'Vé',
-'history' => "Storia d'la pàgina",
+'help' => 'At',
+'search' => 'Sèirca',
+'searchbutton' => 'Sèirca',
+'go' => 'Và',
+'searcharticle' => 'Và',
+'history' => "Stòria 'd la pàgina",
 'history_short' => 'Storia',
-'permalink' => 'Link permaneint',
-'print' => 'Stampa',
-'view' => 'Vada',
-'edit' => 'Mudifich',
-'create' => 'Creä',
-'delete' => 'Cancellä',
-'deletethispage' => 'Cancellä custa pàgina ché',
-'undelete_short' => 'Recuperä {{PLURAL:$1|una revision|$1 revision}}',
-'viewdeleted_short' => 'Vadä {{PLURAL:$1|una mudfich cancellät|$1 mudfich cancellät}}',
-'protect' => "Prutegg'",
-'protect_change' => 'Cambia',
-'protectthispage' => "Prutegg' custa pàgina ché",
-'unprotect' => 'Cambiä la prutezion',
-'unprotectthispage' => 'Cambiä la prutezion par custa pàgina ché',
-'newpage' => 'Pàgina növa',
-'talkpage' => 'Pàgina ad discüssion',
-'talkpagelinktext' => 'Discüssion',
-'specialpage' => 'Pàgina speciäl',
-'personaltools' => 'Strümeint parsunäl',
-'postcomment' => 'Sezion növa',
-'articlepage' => 'Vadä la pàgina ad contenüt',
-'talk' => 'Discüssion',
-'views' => 'Visit',
-'toolbox' => 'Strümeint',
-'userpage' => "Vadä la pàgina ad l'uteint",
-'projectpage' => 'Vadä la pàgina dal prugett',
-'imagepage' => 'Vadä la pàgina dal file',
-'mediawikipage' => "Vadä al messagg'",
-'templatepage' => 'Vadä al template',
-'viewhelppage' => "Vadä la pàgina d'aiüt",
-'categorypage' => 'Vadä la categoria',
-'viewtalkpage' => 'Vadä la discüssion',
-'otherlanguages' => 'Ätar leingav',
-'redirectedfrom' => '(Reindirizzameint da <b>$1</b>)',
-'redirectpagesub' => 'Pàgina ad reindirizzameint',
-'lastmodifiedat' => "Ültim mudifich d'la pàgina: $2, $1.",
-'viewcount' => "Custa pàgina ché l'è stata letta {{PLURAL:$1|vüna volta|$1 volte}}.",
-'protectedpage' => 'Pàgina bluccä',
-'jumpto' => 'Andä a',
-'jumptonavigation' => 'navigazion',
-'jumptosearch' => 'cercä',
-'pool-queuefull' => "La cua dal pool l'è piena",
-'pool-errorunknown' => 'Errur mia cugnussü',
+'printableversion' => "Stâmpa la pàgina ch' ét vèd.",
+'permalink' => 'Colegamèint fés',
+'print' => 'Stâmpa',
+'view' => 'Guardêr',
+'edit' => 'Mudéfichi',
+'create' => 'Invèinta',
+'delete' => 'Scanşéla',
+'deletethispage' => 'Canşéla cla pàgina ché',
+'undelete_short' => "Recóper ed {{PLURAL:$1|'na revisiòun|$1 revisiòun}}",
+'viewdeleted_short' => "Guèrda {{PLURAL:$1|'na mudéficha scanşlêda|$1 mudéfichi scanşlêdi}}",
+'protect' => 'Prutēz',
+'protect_change' => 'Câmbia',
+'protectthispage' => 'Prutēz cla pàgina ché',
+'unprotect' => 'Câmbia la prutesiòun',
+'unprotectthispage' => 'Câmbia la prutesiòun per cla pàgina ché',
+'newpage' => 'Pàgina nōva',
+'talkpage' => "Pàgina 'd discusiòun",
+'talkpagelinktext' => 'Discusiòun',
+'specialpage' => 'Pàgina specêla',
+'personaltools' => 'Strumèint persunêl',
+'postcomment' => 'Sesiòun nōva',
+'articlepage' => 'Guêrda la pàgina',
+'talk' => 'Discusiòun',
+'views' => 'Vîşiti',
+'toolbox' => 'Strumèint',
+'userpage' => "Guêrda la pàgina 'd l'uteint",
+'projectpage' => 'Guêrda la pàgina dal prugèt',
+'imagepage' => "Guêrda la pàgina dal 'file'",
+'mediawikipage' => 'Guêrda al mesâg',
+'templatepage' => "Guêrda al 'template'",
+'viewhelppage' => "Guêrda la pàgina 'd ajót",
+'categorypage' => 'Guêrda la categuréia',
+'viewtalkpage' => 'Guêrda la discusiòun',
+'otherlanguages' => 'In êtri léngvi',
+'redirectedfrom' => '(Tót còst al deşvîn da <b>$1</b>)',
+'redirectpagesub' => "Pàgina 'd partèinsa",
+'lastmodifiedat' => "Ûltmi mudéfichi 'dla pàgina: $2, $1.",
+'viewcount' => "Cla pàgina ché l'é stêda lişûda {{PLURAL:$1|'na vôlta|$1 vôlti}}.",
+'protectedpage' => 'Pàgina sòta prutesiòun',
+'jumpto' => 'Và a:',
+'jumptonavigation' => 'Navigasiòun',
+'jumptosearch' => 'Sērca',
+'pool-queuefull' => 'A ghé la fîla, trôpa gînta a vōl vèder la pàgina, prōva tra soquânt minût',
+'pool-errorunknown' => 'Erōr mìa cgnusû',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
-'aboutsite' => 'Infurmazion su {{SITENAME}}',
-'aboutpage' => 'Project:Infurmäzion',
-'copyright' => "Contenüt suggètt a licinza d'üs $1.",
-'copyrightpage' => '{{ns:project}}:Copyright',
-'currentevents' => 'Eveint curreint',
-'currentevents-url' => 'Project:Eveint curreint',
-'disclaimers' => 'Informazion legäl',
-'disclaimerpage' => 'Project:Avvartenza generäl',
-'edithelp' => 'Libar di spiegazión',
-'helppage' => "Help:Tütt l'argumeint",
-'mainpage' => 'Prima pàgina',
-'mainpage-description' => 'Pàgina principäl',
-'policy-url' => 'Project:Policy',
-'portal' => "Purtäda d'la cumünitä",
-'portal-url' => "Project:Purtäda d'la cumünitä",
-'privacy' => "Legg' l'informazion parsunäl",
-
-'ok' => 'OK',
-'editsection' => 'cambi',
-'editold' => 'mudifich',
-'viewsourceold' => 'vadä la surgìnt',
-'editlink' => 'mudifich',
-'viewsourcelink' => 'vadä la surgìnt',
-'editsectionhint' => 'Mudifich la seziòn: $1',
-'toc' => 'Indez',
-'showtoc' => 'mustra',
-'hidetoc' => 'nascond',
-'collapsible-collapse' => 'Comprim',
-'collapsible-expand' => 'Espand',
-'thisisdeleted' => 'Vadä o ripristinä $1?',
-'viewdeleted' => 'Vadä $1?',
-'restorelink' => '{{PLURAL:$1|vüna mudfich cancellät|$1 mudfich cancellät}}',
+'aboutsite' => 'Infurmasiòun só {{SITENAME}}',
+'aboutpage' => 'Project:Infurmasiòun',
+'copyright' => "Còl che gh' é che dèinter a 's pōl druvêr sòta licèinsa $1, s' an gh'é mia scrét diversamèint.",
+'copyrightpage' => "{{ns:project}}:Dirét 'd avtōr",
+'currentevents' => "Côşi 'd adèsa",
+'currentevents-url' => "Project:Côşi 'd adèsa",
+'disclaimers' => 'Avertèinsi',
+'disclaimerpage' => 'Project:Avertèinsi generêli',
+'edithelp' => 'Léber dal spiegasiòun',
+'helppage' => 'Help:Tót j argumèint',
+'mainpage' => 'Préma pàgina',
+'mainpage-description' => 'Pàgina principêla',
+'policy-url' => "Project:Léni 'd cundòta",
+'portal' => 'Purtêl ed la comunitê',
+'portal-url' => 'Project:Purtêl ed la comunitê',
+'privacy' => 'Infurmasiòun só la véta privêda',
+'privacypage' => 'Project:Règoli só la secretèsa dal j infurmasiòun personêli.',
+
+'ok' => 'Va bèin',
+'retrievedfrom' => 'Tôt da "$1".',
+'editsection' => 'Mudéfica',
+'editold' => 'mudéfica',
+'viewsourceold' => 'guêrda la surzéia',
+'editlink' => 'mudéfica',
+'viewsourcelink' => 'guêrda la surzéia',
+'editsectionhint' => 'Mudéfica la sesiòn: $1',
+'toc' => 'Argumèint',
+'showtoc' => 'Fà vèder',
+'hidetoc' => 'Lōga',
+'collapsible-collapse' => 'Stréca',
+'collapsible-expand' => 'Şlêrga',
+'thisisdeleted' => 'Guêrda e tōrna a mèter $1?',
+'viewdeleted' => 'Guêrda $1?',
+'restorelink' => "{{PLURAL:$1|'na mudéfica scanşlêda|$1 mudéfichi scanşlêdi}}",
 'feedlinks' => 'Feed:',
-'feed-invalid' => "La mudalitä ad sottoscrizion dal feed l'è mia valid.",
-'feed-unavailable' => 'I feed al son mia dispunibil',
-'site-rss-feed' => 'Emissiòn RSS ad $1',
-'site-atom-feed' => 'Emission Atom ad $1',
-'page-rss-feed' => 'Emissiòn RSS par $1',
-'page-atom-feed' => 'Emission Atom par $1',
-'red-link-title' => "$1 (la pàgina a l'esist mia)",
-'sort-descending' => 'Ordinamient decrescent',
-'sort-ascending' => 'Ordinamient cresceint',
+'feed-invalid' => "Al môd ed sotoscrisiòun dal feed an n'é mìa vâlid",
+'feed-unavailable' => "An gh'é mìa di feed léber",
+'site-rss-feed' => 'Feed RSS ed $1',
+'site-atom-feed' => 'Feed Atom ed $1',
+'page-rss-feed' => 'Feed RSS per $1',
+'page-atom-feed' => 'Feed Atom per $1',
+'red-link-title' => "$1 (la pàgina l'an gh'é mìa)",
+'sort-descending' => 'Ōrdin in calêr',
+'sort-ascending' => 'Ōrdin in crèser',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Pàgina',
-'nstab-user' => 'Pàgina uteint',
+'nstab-user' => 'Pàgina utèint',
 'nstab-media' => 'File multimediäl',
-'nstab-special' => 'Pàgina speciäl',
-'nstab-project' => 'Pàgina ad sërvizi',
-'nstab-image' => 'Immàgin',
-'nstab-mediawiki' => "Messagg'",
-'nstab-template' => 'Mudell',
-'nstab-help' => 'At',
-'nstab-category' => 'Categuria',
+'nstab-special' => 'Pàgina specêla',
+'nstab-project' => "Pàgina 'd servési",
+'nstab-image' => 'Cartèla',
+'nstab-mediawiki' => 'Mesâg',
+'nstab-template' => 'Mudèl',
+'nstab-help' => 'At',
+'nstab-category' => 'Categuéria',
 
 # General errors
-'error' => 'Errur',
-'databaseerror' => 'Errur dal database',
-'readonly' => 'Database bluccä',
-'missingarticle-rev' => '(revision n°: $1)',
+'error' => 'Erōr',
+'databaseerror' => "Erōr dal 'database'",
+'readonly' => "'Database' bluchê",
+'missing-article' => "Al datebêş an n'à mìa catê al tèst ed 'na pàgina ch' l' aré duvû catêres sòt' al nòm \"\$1\" \$2. Ed sôlit còst a sucēd quând a vîn arciamê, a partîr da la stòria dal mudéfichi o dal cunfrûnt tra revisiòun, un colegamèint a 'na pàgina scanşlêda, a un cunfrûnt tra revisiòun che gh'în mìa o a un cunfrûnt tra revisiòun cun la stòria dal mudéfichi scanşlêda. In chês cuntrâri, a s'é pubabilmèint catê un erōr int al prugrâma ed Media Wiki. A se dmânda al piaşèir ed comunichêr còl ch'é sucès a un [[Special:ListUsers/sysop|amministadōr]] e comunichêregh l'indirés (URL) in quistiòun.",
+'missingarticle-rev' => '(revisiòun n°: $1)',
 'missingarticle-diff' => '(Diff: $1, $2)',
-'internalerror' => 'Errur interiur',
-'internalerror_info' => 'Errur interiur: $1',
-'viewsource' => 'Vadä la surgìnt',
-'viewsource-title' => 'Vadä la surgìnt ad $1',
+'internalerror' => 'Erōr intêren',
+'internalerror_info' => 'Erōr intêren: $1',
+'viewsource' => 'Guêrda la surzéia',
+'viewsource-title' => "Guêrda la surzéia 'd $1",
 
 # Login and logout pages
-'yourname' => 'Nom uteint:',
-'yourpassword' => 'Password:',
-'yourpasswordagain' => 'Ripett la password:',
-'login' => 'Enträ',
-'nav-login-createaccount' => 'Enträ / Creä un account',
-'userlogin' => 'Enträ / Creä un account',
-'userloginnocreate' => 'Enträ',
-'logout' => 'Üscì',
-'userlogout' => 'Üscì',
-'notloggedin' => 'Si mia enträ',
-'nologinlink' => 'Creä un cunt',
-'createaccount' => 'Creä cunt',
-'gotaccountlink' => 'Enträ',
-'createaccountmail' => 'Via e-mail',
-'createaccountreason' => 'Mutiv:',
-'loginerror' => 'Errur ad enträ',
-'accountcreated' => 'Account creä',
-'loginlanguagelabel' => 'Leingua: $1',
+'yourname' => 'Nòm utèint:',
+'yourpassword' => "Cêva 'd ingrès:",
+'yourpasswordagain' => "Scrév incòra la cêva 'd ingrès:",
+'login' => 'Và dèinter',
+'nav-login-createaccount' => 'Và dèinter / Fà la tó inscrisiòun',
+'userlogin' => 'Và dèinter / Fà la tó inscrisiòun',
+'userloginnocreate' => 'Và dèinter',
+'logout' => 'Và fōra',
+'userlogout' => 'Và fōra',
+'notloggedin' => "An t'é mìa gnû dèinter",
+'nologinlink' => 'Fà la tó inscrisiòun',
+'createaccount' => 'Fà la tó inscrisiòun',
+'gotaccountlink' => 'Và dèinter',
+'createaccountmail' => "Drōva 'na cêva 'd ingrès a chêş pruvişôria e spidésla a l'indirés ed pôsta eletrônica sgnê.",
+'createaccountreason' => 'Mutîv:',
+'loginerror' => "Erōr 'd ingrès",
+'accountcreated' => 'Ingrès fât',
+'loginlanguagelabel' => 'Léngva: $1',
 
 # Change password dialog
-'changepassword' => 'Cambiä la password',
-'oldpassword' => "Vecc' password:",
-'newpassword' => 'Növa password:',
-'resetpass-submit-loggedin' => 'Cambiä la password',
-'resetpass-submit-cancel' => 'Cancellä',
-'resetpass-temp-password' => 'Password tempural:',
+'changepassword' => "Câmbia la cêva 'd ingrès",
+'oldpassword' => "Cêva 'd ingès vècia:",
+'newpassword' => "Nōva cêva 'd ingrès:",
+'resetpass-submit-loggedin' => "Câmbia la cêva 'd ingrès",
+'resetpass-submit-cancel' => 'Canşèla',
+'resetpass-temp-password' => "Cêva 'd ingrès pruvişôria:",
 
 # Special:PasswordReset
-'passwordreset' => 'Cambiä la password',
-'passwordreset-legend' => 'Cambiä la password',
-'passwordreset-username' => 'Nom uteint:',
-'passwordreset-domain' => 'Dumini:',
+'passwordreset' => "Câmbia la cêva 'd ingrès",
+'passwordreset-legend' => "Tōrna mèter la cêva 'd ingrès",
+'passwordreset-username' => 'Nòm utèint:',
+'passwordreset-domain' => 'Proprietê:',
 
 # Edit page toolbar
-'bold_sample' => 'Grassètt',
-'italic_sample' => 'Cursìv',
-'media_tip' => 'Cullegameint al file',
+'bold_sample' => 'Grasèt',
+'italic_sample' => 'Cursîv',
+'media_tip' => "Colegamèint al 'file'",
 
 # Edit pages
-'summary' => 'Summari:',
-'savearticle' => 'Sälv la pàgina',
-'preview' => 'Vadä prima',
-'showpreview' => "Vadä l'antepeima",
-'showdiff' => 'Vadä li cambiameint',
-'blockedtitle' => 'Uteint bluccä',
-'newarticle' => '(Növ)',
-'note' => "'''Nota:'''",
-'editing' => 'Mudifich ad $1',
-'editingsection' => 'Mudifich ad $1 (sezion)',
-'editingcomment' => 'Mudifich ad $1 (növ sezion)',
-'editconflict' => 'Conflitt ad mudifich: $1',
-'yourtext' => 'Al tò test',
-'yourdiff' => 'Differeinz',
-'template-protected' => '(prutett)',
-'template-semiprotected' => '(mézz-prutett)',
-'log-fulllog' => 'Vadä al log cumplet',
-'edit-conflict' => 'Conflitt ad mudifich.',
+'summary' => 'Sûnt:',
+'savearticle' => 'Sêlva la pàgina',
+'preview' => 'Guêrda préma',
+'showpreview' => 'Guêrda al cambiamèint',
+'showdiff' => 'Guêrda i cambiamèint',
+'blockedtitle' => 'Utèint bluchê',
+'newarticle' => '(Nōv)',
+'noarticletext' => 'In cól mumèint ché la pàgina serchêda l\'é vōda. L\'é pusébil [[Special:Search/{{PAGENAME}}|serchêr sté tétol]] int al j êtri pàgini dal sît, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} serchêr int i regéster coleghê] opór  [{{fullurl:{{FULLPAGENAME}}|action=edit}} mudifichêr la pàgina adèsa]</span>.',
+'note' => "'''Nôta:'''",
+'editing' => 'Mudéfica ed $1',
+'editingsection' => 'Mudéfica ed $1 (sesiòun)',
+'editingcomment' => 'Mudéfica e $1 (sesiòun nōva)',
+'editconflict' => "Cuntrâst 'd edisiòun só $1",
+'yourtext' => 'Al tó tèst',
+'yourdiff' => 'Diferèinsi',
+'template-protected' => '(prutèt)',
+'template-semiprotected' => '(mèz-prutèt)',
+'log-fulllog' => 'Guêrda la stòria dal registrasiòun',
+'edit-conflict' => "Cuntrâst 'd edisiòun",
 
 # History pages
-'viewpagelogs' => 'Vadä li log ad custa pàgina ché',
-'currentrev' => 'Ã\9cltima version',
-'currentrev-asof' => 'Ã\9cltima version dle $1',
-'revisionasof' => 'Version dle $1',
-'revision-info' => 'Version dle $1, avtur: $2',
-'previousrevision' => "← Version piö vecc'",
-'nextrevision' => 'Versiòn piö növ →',
-'currentrevisionlink' => 'Ã\9cltima version',
-'cur' => 'curr',
-'next' => 'succ',
-'last' => 'prec',
-'page_first' => 'prima',
-'page_last' => 'ültim',
+'viewpagelogs' => "Guêrda la stòria 'd cla pàgina ché",
+'currentrev' => 'Ã\9bltma reviÅ\9fiòun',
+'currentrev-asof' => 'Ã\9bltma reviÅ\9fiòun dal $1',
+'revisionasof' => 'Revişiòun dal $1',
+'revision-info' => 'Revişiòun ed $1, avtōr: $2',
+'previousrevision' => '← Revişiòun pió vècia',
+'nextrevision' => 'Revişiòun pió nōva →',
+'currentrevisionlink' => 'Ã\9bltma reviÅ\9fiòun',
+'cur' => 'cur',
+'next' => 'Còl dôp',
+'last' => 'Còl préma',
+'page_first' => 'préma',
+'page_last' => 'ûltem',
 
 # Revision feed
 'history-feed-item-nocomment' => '$1 al $2',
 
 # Revision deletion
-'rev-delundel' => 'vadä/anscönd',
-'revdelete-radio-set' => 'Sì',
-'revdelete-radio-unset' => 'No',
-'revdelete-reasonotherlist' => 'Ätar ragion',
+'rev-delundel' => 'Guêrda/nascònd',
+'revdelete-radio-set' => 'Nascònd',
+'revdelete-radio-unset' => 'Fà vèder',
+'revdel-restore' => 'Câmbia la vidûda.',
+'revdelete-reasonotherlist' => 'Êtra ragiòun',
 
 # Merge log
-'revertmerge' => "Annullä l'ünion",
+'revertmerge' => "Scanşèla l'uniòun",
 
 # Diffs
-'lineno' => 'Riga $1:',
-'editundo' => 'cancellä',
+'lineno' => 'Rîga $1:',
+'editundo' => 'scanşèla',
 
 # Search results
-'searchresults' => "Risultät d'la ricerch",
-'searchresults-title' => 'Risultät d\'la ricerch ad "$1"',
-'viewprevnext' => 'Väda ($1 {{int:pipe-separator}} $2) ($3).',
-'searchprofile-articles' => 'Pàgin ad cuntinüt',
-'searchprofile-images' => 'Multimëdi',
-'searchprofile-everything' => 'Tütt',
-'searchprofile-advanced' => 'Avanzät',
-'searchprofile-articles-tooltip' => 'Cercä in $1',
-'searchprofile-project-tooltip' => 'Cercä in $1',
-'searchprofile-images-tooltip' => 'Cercä immàgin',
-'search-result-size' => '$1 ({{PLURAL:$2|1 parola|$2 paroli}})',
+'searchresults' => "Rişultê 'd la sērca",
+'searchresults-title' => 'Rişultê \'d la sērca ed "$1"',
+'prevn' => '{{PLURAL:$1|còl préma|quî préma $1}}',
+'nextn' => '{{PLURAL:$1|al seguèint|i seguèint $1}}',
+'prevn-title' => '{{PLURAL:$1|Al rişultêt ed préma|$1 i rişultêt ed préma}}',
+'nextn-title' => '{{PLURAL:$1|Al rişultêt ed préma|$1 i rişultêt ed préma}}',
+'shown-title' => 'Fà vèder {{PLURAL:$1|un rişultêt|$1 di rişultêt}}',
+'viewprevnext' => 'Guêrda ($1 {{int:pipe-separator}} $2) ($3).',
+'searchprofile-articles' => "Pàgini 'd j argumèint",
+'searchprofile-project' => "Pàgini 'd ajót e relatîvi al prugèt.",
+'searchprofile-images' => 'Multimèdia',
+'searchprofile-everything' => 'Tót',
+'searchprofile-advanced' => 'Specêla',
+'searchprofile-articles-tooltip' => 'Sèirca in $1',
+'searchprofile-project-tooltip' => 'Sèirca in $1',
+'searchprofile-images-tooltip' => "Sèirca 'file'",
+'searchprofile-everything-tooltip' => "Sērca dapertót (ânch int al pàgini 'd discusuòun).",
+'searchprofile-advanced-tooltip' => 'Sērca int i spâsi di nòm fât só mzûra.',
+'search-result-size' => "$1 ({{PLURAL:$2|'na parôla|$2 parôli}})",
 'search-redirect' => '(redirect $1)',
-'search-section' => '(sezion $1)',
-'search-interwiki-caption' => 'Prugett fradel',
-'search-interwiki-default' => 'Risültä da $1:',
-'search-interwiki-more' => '(ätar)',
-'searchall' => 'tütt',
-'powersearch-toggleall' => 'Tütt',
-'powersearch-togglenone' => 'Ansöin',
+'search-section' => '(sesiòun $1)',
+'search-interwiki-caption' => 'Prugèt fradē',
+'search-interwiki-default' => 'Rişultêt da $1:',
+'search-interwiki-more' => '(êter)',
+'searchall' => 'tót',
+'showingresultsheader' => "{{PLURAL:$5|Al risultêt '''$1''' ed '''$3'''|I risultêt '''$1 - $2''' ed '''$3'''}} per '''$4'''",
+'powersearch-toggleall' => 'Tót',
+'powersearch-togglenone' => 'Nisûn',
 
 # Preferences page
-'preferences' => 'Prefereinz',
-'mypreferences' => 'Al me prefereinz',
-'prefs-edits' => 'Nümar ad mudifich:',
-'prefs-skin' => 'Skin',
-'skin-preview' => 'Vadä prima',
-'datedefault' => 'Ansiön prefereinz',
-'prefs-beta' => 'Funzionalitä beta',
-'saveprefs' => 'Salvä',
-'prefs-editing' => 'Mudificä',
-'rows' => 'Righe',
-'searchresultshead' => 'Cercä',
-'timezoneregion-africa' => 'Africa',
-'timezoneregion-america' => 'América',
-'timezoneregion-antarctica' => 'Antartide',
-'timezoneregion-arctic' => 'Artide',
-'timezoneregion-asia' => 'Asia',
-'timezoneregion-atlantic' => 'Ucean Atlantich',
-'timezoneregion-australia' => 'Australia',
-'timezoneregion-europe' => 'Europa',
-'timezoneregion-indian' => 'Ucean Indian',
-'timezoneregion-pacific' => 'Ucean Pacifich',
+'preferences' => 'Preferèinsa',
+'mypreferences' => 'Preferèinsi',
+'prefs-edits' => 'Mudéfichi fâti:',
+'prefs-skin' => 'Aspèt grâfich (skin)',
+'skin-preview' => 'Guêrda préma',
+'datedefault' => 'Nisóna preferèinsa',
+'prefs-beta' => "Funsionamèint 'beta'",
+'saveprefs' => 'Sêlva',
+'prefs-editing' => "Caşèla 'd mudéfica",
+'rows' => 'Rîghi',
+'searchresultshead' => 'Sērca',
+'timezoneregion-africa' => 'Âfrica',
+'timezoneregion-america' => 'Amèrica',
+'timezoneregion-antarctica' => 'Antârtide',
+'timezoneregion-arctic' => 'Ârtide',
+'timezoneregion-asia' => 'Âsia',
+'timezoneregion-atlantic' => 'Ocèan Atlântich',
+'timezoneregion-australia' => 'Austrâlia',
+'timezoneregion-europe' => 'Eurôpa',
+'timezoneregion-indian' => 'Ocèan Indiân',
+'timezoneregion-pacific' => 'Ocèan Pacéfich',
 'youremail' => 'E-mail:',
-'username' => 'Nom uteint',
-'uid' => 'ID uteint',
-'prefs-memberingroups' => 'Membar {{PLURAL:$1|dal grüpp|dei grüpp}}:',
-'yourrealname' => 'Nom ver:',
-'yourlanguage' => 'Leingua',
+'username' => '{{GENDER:$1|Nòm utèint}}',
+'uid' => '{{GENDER:$1|utèint}}',
+'prefs-memberingroups' => '{{GENDER:$2|Elemèint}}{{PLURAL:$1|dal gróp|di gróp}}:',
+'yourrealname' => 'Nòm vèira:',
+'yourlanguage' => 'Léngua',
 'email' => 'E-mail',
 
 # Groups
-'group' => 'Grüpp:',
-'group-user' => 'Uteint',
-'group-autoconfirmed' => 'Uteint autoconvalidät',
+'group' => 'Gróp:',
+'group-user' => 'Utèint',
+'group-autoconfirmed' => 'Utèint cunvalidê da per ló',
 'group-bot' => 'Bot',
-'group-sysop' => 'Amministradór',
-'group-bureaucrat' => 'Bürocrat',
+'group-sysop' => 'Aministradōr',
+'group-bureaucrat' => 'Funsionâri',
 'group-suppress' => 'Oversight',
-'group-all' => '(tütt)',
+'group-all' => '(tót)',
 
-'group-user-member' => '{{GENDER:$1|uteint}}',
-'group-autoconfirmed-member' => '{{GENDER:$1|uteint autoconvalidät}}',
+'group-user-member' => '{{GENDER:$1|utèint}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|utèint convalidê da per ló}}',
 'group-bot-member' => '{{GENDER:$1|bot}}',
-'group-sysop-member' => '{{GENDER:$1|amministradór}}',
-'group-bureaucrat-member' => '{{GENDER:$1|bürocrat}}',
+'group-sysop-member' => '{{GENDER:$1|aministradōr}}',
+'group-bureaucrat-member' => '{{GENDER:$1|funsionâri}}',
 'group-suppress-member' => '{{GENDER:$1|oversight}}',
 
-'grouppage-user' => '{{ns:project}}:Uteint',
-'grouppage-autoconfirmed' => '{{ns:project}}:Uteint autoconvalidät',
+'grouppage-user' => '{{ns:project}}:Utèint',
+'grouppage-autoconfirmed' => '{{ns:project}}:Utèint convalidê da per ló',
 'grouppage-bot' => '{{ns:project}}:Bot',
-'grouppage-sysop' => '{{ns:project}}:Amministradór',
-'grouppage-bureaucrat' => '{{ns:project}}:Bürocrat',
+'grouppage-sysop' => '{{ns:project}}:Aministradōr',
+'grouppage-bureaucrat' => '{{ns:project}}:Funsionâri',
 'grouppage-suppress' => '{{ns:project}}:Oversight',
 
 # Rights
-'right-read' => "Legg' pàgin",
-'right-edit' => 'Mudifich pàgin',
+'right-read' => 'Al lēz al pàgini',
+'right-edit' => 'Mudéfica pàgini',
 
 # Associated actions - in the sentence "You do not have permission to X"
-'action-read' => "legg' custa pàgina ché",
-'action-edit' => 'mudifch custa pàgina ché',
-'action-createpage' => 'creä pàgin',
-'action-move' => 'spustä custa pàgina ché',
-'action-movefile' => 'spustä cust file ché',
-'action-upload' => 'caricä cust file ché',
-'action-delete' => 'cancellä custa pàgina ché',
+'action-read' => 'lēzer cla pàgina ché',
+'action-edit' => 'Mudifichêr cla pàgina ché',
+'action-createpage' => 'inventêr pàgini',
+'action-move' => 'spustêr cla pàgina ché',
+'action-movefile' => "spustêr cól 'file' ché",
+'action-upload' => "carghêr cól 'file' ché",
+'action-delete' => 'scanşlêr cla pàgina ché',
 
 # Recent changes
-'recentchanges' => 'Ã\9cltim cambiameint',
+'recentchanges' => 'Ã\9bltmi mudéfichi',
 'rcshowhidebots' => '$1 i bot',
-'rcshowhidemine' => '$1 le mé mudifich',
-'diff' => 'diff',
-'hist' => 'cron',
-'hide' => 'Nascond',
-'show' => 'mustra',
+'rcshowhidemine' => '$1 al mē mudéfichi',
+'diff' => 'dif',
+'hist' => 'stòr',
+'hide' => 'Nascònd',
+'show' => 'Fà vèder',
 'minoreditletter' => 'm',
 'newpageletter' => 'N',
 'boteditletter' => 'b',
-'number_of_watching_users_pageview' => '[usservä da {{PLURAL:$1|vün uteint|$1 uteint}}]',
-'rc_categories_any' => 'Qualsía',
+'number_of_watching_users_pageview' => '[vésta da {{PLURAL:$1|un utèint|$1 utèint}}]',
+'rc_categories_any' => "Bast' ech sia",
+
+# Recent changes linked
+'recentchangeslinked-toolbox' => 'Mudéfichi coleghêdi',
+'recentchangeslinked-summary' => "Cla pàgina specêla ché la fà vèder al j ûltmi mudéfichi al pàgini coleghêdi da còla sgnêda (o dèinter int la categoréia sgnêda). Al pàgini dèint a la tó lésta 'd j [[Special:Watchlist|Uservê specêl]] în sgnêdi in '''grasèt'''.",
 
 # Upload
-'upload' => 'Cärga un file',
+'upload' => "Cârga un 'file'",
 
-'license' => 'Licinza:',
-'license-header' => 'Licinza',
-'nolicense' => 'Ansöna licinza seleziunä',
+'license' => 'Licèinsa:',
+'license-header' => 'Licèinsa',
+'nolicense' => 'Nisóna licèinsa sgnêda',
 
 # Special:ListFiles
-'listfiles_date' => 'Data',
-'listfiles_name' => 'Nom',
-'listfiles_user' => 'Uteint',
+'listfiles_date' => 'Dâta',
+'listfiles_name' => 'Nòm',
+'listfiles_user' => 'Utèint',
 
 # File description page
-'file-anchor-link' => 'Immàgin',
-'filehist' => 'Storia dal file',
-'filehist-current' => 'curreint',
-'filehist-datetime' => 'Data/Ura',
-'filehist-thumb' => 'Miniadüra',
-'filehist-user' => 'Uteint',
-'filehist-dimensions' => 'Dimension',
-'filehist-comment' => 'Uggett',
-'imagelinks' => 'Cullegameint al file',
+'file-anchor-link' => "'File'",
+'filehist' => "Stòria 'd la pàgina",
+'filehist-current' => "(d'adèsa)",
+'filehist-datetime' => 'Dâta/Ōra',
+'filehist-thumb' => 'Miniadûra',
+'filehist-user' => 'Utèint',
+'filehist-dimensions' => 'Amzûri',
+'filehist-comment' => 'Cumèint',
+'imagelinks' => "Ûş dal 'file'",
 
 # File deletion
-'filedelete-submit' => 'Cancellä',
+'filedelete-submit' => 'Scanşela',
 
 # Random page
-'randompage' => 'Una pàgina a cäs',
+'randompage' => "'Na pàgina a chêş",
 
-'brokenredirects-edit' => 'cambi',
+'brokenredirects-edit' => 'Mudéfica',
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|byte|byte}}',
-'newpages' => 'Pàgin növ',
-'move' => 'Spusta',
+'newpages' => 'Pàgini pió nōvi',
+'move' => 'Spôsta',
 
 # Book sources
-'booksources-go' => 'Vé',
+'booksources-go' => 'Và',
 
 # Special:AllPages
 'alphaindexline' => 'da $1 a $2',
-'allpagessubmit' => 'Vé',
+'allpagessubmit' => 'Và',
 
 # Special:ListUsers
-'listusers-submit' => 'Mustra',
+'listusers-submit' => 'Fà vèder',
 
 # Special:ListGroupRights
-'listgrouprights-group' => 'Grüpp',
+'listgrouprights-group' => 'Gróp:',
 
 # Email user
 'emailfrom' => 'Da:',
 'emailto' => 'A:',
-'emailsubject' => 'Uggett:',
-'emailmessage' => "Messagg'",
+'emailsubject' => 'Argumèint:',
+'emailmessage' => 'Mesâg',
 
 # Watchlist
-'mywatchlist' => 'Le mé üsservat speciäl',
-'watchlistfor2' => "Dall'uteint $1 $2",
-'watchnologin' => 'Si mia enträ',
-'watch' => 'Vadä',
-'watchthispage' => 'Vadä custa pàgina ché',
-'unwatch' => "N'la vadär piö",
+'mywatchlist' => 'Sòt uservasiòun',
+'watchlistfor2' => "Da l'utèint $1 $2",
+'watchnologin' => "An t'é mìa gnû dèinter",
+'watch' => 'Và adrē',
+'watchthispage' => 'Và adrē a cla pàgina ché',
+'unwatch' => 'Andêr mìa adrē',
 
 'created' => 'creät',
 'changed' => 'mudifegat',
 
 # Delete
-'delete-confirm' => 'Cancellä "$1"',
-'delete-legend' => 'Cancellä',
+'delete-confirm' => 'Scanşela "$1"',
+'delete-legend' => 'Scanşela',
 
 # Rollback
-'rollback_short' => 'Turne indré',
-'rollbacklink' => 'Avé indré la mudifech ad prima',
-'rollbackfailed' => 'Si mia riussì a turnä indré',
+'rollback_short' => 'Tōrna a préma dal mudéfichi',
+'rollbacklink' => 'tōrna a préma dal mudéfichi',
+'rollbackfailed' => "An t'é mia turnê indrē",
 
 # Protect
 'pagesize' => '(byte)',
 
 # Restrictions (nouns)
-'restriction-edit' => 'Mudifich',
-'restriction-move' => 'Spusta',
-'restriction-create' => 'Creä',
-'restriction-upload' => 'Caricä',
+'restriction-edit' => 'Mudéfichi',
+'restriction-move' => 'Spôsta',
+'restriction-create' => 'Invèinta',
+'restriction-upload' => 'Cârga',
 
 # Undelete
-'undeletelink' => 'vada/turna indré',
-'undeleteviewlink' => 'vada',
-'undelete-show-file-submit' => 'Sì',
+'undeletelink' => 'guêrda/recóper',
+'undeleteviewlink' => 'Guêrda',
+'undelete-show-file-submit' => 'Sé',
 
 # Namespace form on various pages
-'namespace' => 'Namespace:',
-'blanknamespace' => '(Principäl)',
+'namespace' => 'Spâsi di nòm',
+'blanknamespace' => '(Principêl)',
 
 # Contributions
-'contributions' => "Contribüdi de l'uteint",
-'contributions-title' => 'Contribüdi ed $1',
-'mycontris' => 'Le mé contribüdi',
-'contribsub2' => 'Par $1 ($2)',
-'uctop' => '(ültim par la pàgin)',
+'contributions' => 'Lavōr fât da {{GENDER:$1|utèint}}',
+'contributions-title' => 'Lavōr ed $1',
+'mycontris' => 'I mē lavōr',
+'contribsub2' => 'Per {{GENDER:$3|$1}}($2)',
+'uctop' => "(d'adèsa)",
 
-'sp-contributions-submit' => 'Cercä',
+'sp-contributions-submit' => 'Sērca',
 
 # What links here
+'whatlinkshere' => 'A pûnten ché',
 'whatlinkshere-page' => 'Pàgina:',
-'whatlinkshere-links' => '← cullegameint',
+'whatlinkshere-links' => '← colegamèint',
 
 # Block/unblock
-'block' => "Bluccä l'uteint",
-'unblock' => "Sbluccä l'uteint",
-'blockip' => "Bluccä l'uteint",
-'blockip-title' => "Bluccä l'uteint",
-'blockip-legend' => "Bluccä l'uteint",
-'ipbotheroption' => 'ätar',
-'ipb-unblock-addr' => 'Sbluccä $1',
-'unblockip' => "Sbluccä l'uteint",
-'blocklist' => 'Uteint bluccä',
-'ipblocklist-submit' => 'Cercä',
-'ipblocklist-otherblocks' => 'Ätar {{PLURAL:$1|blocc|blocc}}',
-'blocklink' => 'blocc',
-'unblocklink' => 'sblocc',
-'change-blocklink' => 'cambiä al blocc',
-'contribslink' => 'cuntribüti',
-'unblocklogentry' => "l'à sbluccä $1",
+'block' => "Blôca l'utèint",
+'unblock' => "Şblôcä l'utèint",
+'blockip' => "Blôcä l'utèint",
+'blockip-legend' => "Blôcä l'utèint",
+'ipb-unblock-addr' => 'Şblôcä $1',
+'unblockip' => "Şblôcä l'utèint",
+'blocklist' => 'Utèint bluchê',
+'ipblocklist-submit' => 'Sērca',
+'ipblocklist-otherblocks' => 'Êter {{PLURAL:$1|blôch}}',
+'blocklink' => 'blôca',
+'unblocklink' => 'şblôca',
+'change-blocklink' => 'câmbia blôch',
+'contribslink' => 'lavōr',
+'unblocklogentry' => "l'à şbluchê $1",
 
 # Move page
-'move-page' => 'Spustameint ad $1',
-'move-page-legend' => 'Spustä la pàgina',
-'movearticle' => 'Spustä la pàgina:',
-'movepagebtn' => 'Spustä la pàgina',
-'movelogpage' => 'Spustameint',
-'revertmove' => 'Turné indré',
+'move-page' => 'Spustamèint ed $1',
+'move-page-legend' => 'Spustamèint ed pàgina',
+'movearticle' => 'Spôsta la pàgina:',
+'movepagebtn' => 'Spôsta la pàgina',
+'movelogpage' => 'Spustamèint',
+'revertmove' => 'armèt',
 
 # Export
-'export-submit' => 'Esporta',
+'export-submit' => 'Pôrta fōra',
 
 # Namespace 8 related
-'allmessages-filter-all' => 'Tütt',
-'allmessages-language' => 'Leingua:',
-'allmessages-filter-submit' => 'Vé',
+'allmessages-filter-all' => 'Tót',
+'allmessages-language' => 'Léngua:',
+'allmessages-filter-submit' => 'Và',
 
 # Thumbnails
-'thumbnail-more' => 'Allargä',
+'thumbnail-more' => 'Ingrandés',
 
 # Special:Import
-'import-upload-filename' => 'Nom dal file:',
-'import-comment' => 'Uggett:',
-'import-upload' => 'Caricä dat XML',
+'import-upload-filename' => "Nòm dal 'file':",
+'import-comment' => 'Argumèint:',
+'import-upload' => 'Cârga infurmasiòun XML',
 
 # Tooltip help for the actions
-'tooltip-pt-logout' => 'Üscì',
-'tooltip-ca-move' => 'Spustä custa pàgina ché',
-'tooltip-search' => 'Cercä deintar ad {{SITENAME}}',
-'tooltip-p-logo' => 'Väda la pàgina principäl',
-'tooltip-n-mainpage' => 'Väda la pàgina principäl',
-'tooltip-n-mainpage-description' => 'Väda la pàgina principäl',
-'tooltip-n-randompage' => 'Fa vëd una pàgina a cäs',
-'tooltip-n-help' => 'Pàgin di aiüt',
-'tooltip-t-upload' => 'Cärag file multimediäl',
-'tooltip-ca-nstab-project' => 'Vadä la pàgina dal prugett',
-'tooltip-ca-nstab-image' => ' 
-Vadä la pàgina dal file',
-'tooltip-ca-nstab-template' => 'Väda la template',
+'tooltip-pt-userpage' => 'La tó pàgina utèint',
+'tooltip-pt-mytalk' => "La tó pàgina 'd discusiòun.",
+'tooltip-pt-preferences' => 'Al mē preferèinsi.',
+'tooltip-pt-watchlist' => "Elèinch dal pàgini che t'é drē tgnîr sòta uservasiòun.",
+'tooltip-pt-mycontris' => 'Elèinch di tō lavōr.',
+'tooltip-pt-login' => "A 's cunsélia 'd fêr la registrasiòun, ânca s' an n'é mia ubligatôri.",
+'tooltip-pt-logout' => 'Và fōra',
+'tooltip-ca-talk' => 'Guêrda al discusiòun relatîvi a cla pàgina chè.',
+'tooltip-ca-edit' => 'Ét pō mudifiche cla pàgina ché. Per piaşèir drōva al ptòun "Guêrda préma" préma \'d salvêr còl che t\'é fât.',
+'tooltip-ca-viewsource' => "Cla pàgina ché l'é sòta prutesiòun, mó 't pō vèder al só côdis surzéia.",
+'tooltip-ca-history' => 'Revişiòun fâti a cla pàgina ché.',
+'tooltip-ca-move' => 'Spôsta cla pàgina ché (câmbia tétol)',
+'tooltip-ca-watch' => "Zênta cla pàgina ché a la tó lésta 'd j uservê specêl.",
+'tooltip-search' => 'Sērca dèinter ed {{SITENAME}}',
+'tooltip-search-fulltext' => 'Sērca int al pàgini al tèst e-sgnê.',
+'tooltip-p-logo' => 'Guêrda la pàgina principêla',
+'tooltip-n-mainpage' => 'Guêrda la pàgina principêla',
+'tooltip-n-mainpage-description' => 'Guêrda la pàgina principêlal',
+'tooltip-n-portal' => "Spiegasiòun dal prugèt, còl ch'ét pō fêr, in dó catêr al côşi.",
+'tooltip-n-currentevents' => "Infurmasiòun só i fât 'd adèsa.",
+'tooltip-n-recentchanges' => 'Elèinch dal j ûltmi mudéfichi dal sît',
+'tooltip-n-randompage' => "Fà vèder 'na pàgina a chêş",
+'tooltip-n-help' => "Pàgini 'd ajót",
+'tooltip-t-whatlinkshere' => "Elèinch ed tót' al pàgini ch'în coleghêdi a còsta.",
+'tooltip-t-recentchangeslinked' => 'Elèinch dal j ûltmi mudéfichi al pàgini coleghêdi a còsta.',
+'tooltip-feed-atom' => 'Feed Atom per cla pàgina ché.',
+'tooltip-t-upload' => "Cârga un 'file'",
+'tooltip-t-specialpages' => 'Elèinch ed tót al pàgini specêli',
+'tooltip-t-print' => 'Per stampêr cla pàgina ché.',
+'tooltip-t-permalink' => "Colegamèint fés a cla rervişiòun ché 'd  la pàgina.",
+'tooltip-ca-nstab-main' => 'Guêrda la pàgina',
+'tooltip-ca-nstab-project' => 'Guêrda la pàgina dal prugèt',
+'tooltip-ca-nstab-image' => "Guêrda la pàgina dal 'file'",
+'tooltip-ca-nstab-template' => "Guêrda 'l template",
 'tooltip-ca-nstab-help' => "Vadä la pàgina d'aiüt",
 'tooltip-ca-nstab-category' => "Vadä la pàgina d'la categoria",
-'tooltip-save' => 'Salvä li tò cambiameint',
+'tooltip-save' => 'Sêlva al mudéfichi',
+'tooltip-rollback' => "\"Rollback\" al scanşèla cun un cléch tót' al mudéfichi fâti a cla pàgina ché da l'ûltem ch' al gh'à més al mân.",
+'tooltip-undo' => '"Scanşèla" al permèt de scanşlêr cla mudéfica ché e l\'arvés al mudèl ed mudéfica in môd "Guerda préma". E al permèt ed mèter dèinter \'na spiegasiòun int l\' elemèint ed la mudéfica.',
 
 # Attribution
 'others' => 'ätar',
 
 # Info page
-'pageinfo-header-edits' => 'Mudifich',
-'pageinfo-views' => 'Nümar ad visit',
-'pageinfo-watchers' => 'Numar ad visitador',
-'pageinfo-edits' => 'Nümar ad mudifich',
-'pageinfo-authors' => 'Nümar ad devers autor',
+'pageinfo-header-edits' => 'Stòria dal mudéfichi',
+'pageinfo-views' => 'Nómer dal vîÅ\9fiti',
+'pageinfo-watchers' => "Nómer  'd utèint che gh'àn la pàgina sòt uservasiòun.",
+'pageinfo-edits' => 'Nómer totêl dal mudéfichi',
+'pageinfo-authors' => 'Nómer totêl di divêrs avtôr',
 
 # Browsing diffs
-'previousdiff' => "← Mudifich piö vecc'",
-'nextdiff' => 'Mudifich piö növa →',
+'previousdiff' => "← Diferèinsa 'd préma",
+'nextdiff' => 'Diferèinsa dôp →',
 
 # Media information
-'file-info-gif-looped' => 'ciclich',
-'file-info-png-looped' => 'ciclich',
+'file-info-gif-looped' => 'A ripetisiòun',
+'file-info-png-looped' => 'A ripetisiòun',
 
 # Special:NewFiles
-'newimages-legend' => 'Nom dal file',
+'newimages-legend' => 'Fîltra',
 'showhidebots' => '($1 i bot)',
-'ilsubmit' => 'Cercä',
-'bydate' => 'par data',
+'ilsubmit' => 'Sērca',
+'bydate' => 'per dâta',
 
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
 'ago' => '$1 fa',
 
+# Bad image list
+'bad_image_list' => "La manēra l'é còsta:
+
+a vînen cunsidrê sōl j elèinch puntê (ríghi che cumîncen cun al carâter *). Al prém colegamèint só ògni rîga al dēv èser un colegamèint a un 'file' mìa vrû. I colegamèint che vînen dôp, int l'istèsa rîga, în cunsidrê cme un chêş (oséia, pàgini in dó al 'file' al pōl èser arciamê normalmèint).",
+
 # Metadata
-'metadata' => 'Metadat',
+'metadata' => 'Metadati',
 
 # Exif tags
 'exif-exposuretime-format' => '$1 s ($2)',
-'exif-gpsareainformation' => "Nom d'la zona GPS",
-'exif-gpsdatestamp' => 'Data GPS',
-'exif-source' => 'Font',
-'exif-languagecode' => 'Leingva',
-'exif-iimcategory' => 'Categuria',
-'exif-identifier' => 'Identificativ',
+'exif-gpsareainformation' => 'Nòm ed la zôna GPS',
+'exif-gpsdatestamp' => 'Dâta GPS',
+'exif-source' => 'Surzéia',
+'exif-languagecode' => 'Léngva',
+'exif-iimcategory' => 'Categuréia',
+'exif-identifier' => 'Identificatîv',
 
 # 'all' in various places, this might be different for inflected languages
-'watchlistall2' => 'tütt',
-'namespacesall' => 'tütt',
-'monthsall' => 'tütt',
-'limitall' => 'tütt',
+'watchlistall2' => 'tót',
+'namespacesall' => 'tót',
+'monthsall' => 'tót',
 
 # Delete conflict
-'recreate' => 'Creä ad növ',
+'recreate' => 'Tōrna a fêr',
 
 # action=purge
-'confirm_purge_button' => 'OK',
+'confirm_purge_button' => 'Va bèin',
 
 # action=watch/unwatch
-'confirm-watch-button' => 'OK',
-'confirm-unwatch-button' => 'OK',
+'confirm-watch-button' => 'Va bèin',
+'confirm-unwatch-button' => 'Va bèin',
 
 # Multipage image navigation
-'imgmultigo' => 'Vé!',
-'imgmultigoto' => "Vé in s'la pàgina $1",
+'imgmultigo' => 'Và!',
+'imgmultigoto' => 'Và a la pàgina $1',
 
 # Table pager
-'ascending_abbrev' => 'cresc',
-'descending_abbrev' => 'decresc',
-'table_pager_first' => 'Prima pàgina',
-'table_pager_last' => 'Ã\9cltima pàgina',
-'table_pager_limit_submit' => 'Vé',
+'ascending_abbrev' => 'crès',
+'descending_abbrev' => 'câl',
+'table_pager_first' => 'Préma pàgina',
+'table_pager_last' => 'Ã\9bltma pàgina',
+'table_pager_limit_submit' => 'Và',
 
 # Watchlist editor
-'watchlistedit-raw-titles' => 'Titul:',
+'watchlistedit-raw-titles' => 'Tétol:',
 
 # Special:Version
-'version' => 'Version',
-'version-specialpages' => 'Pàgin speciäl',
-'version-other' => 'Ã\84tar',
-'version-version' => '(Version $1)',
-'version-license' => 'Licinza',
-'version-poweredby-others' => 'ätar',
+'version' => 'Versiòun',
+'version-specialpages' => 'Pàgina specêla',
+'version-other' => 'Ã\8ater',
+'version-version' => '(Versiòun $1)',
+'version-license' => 'Licèinsa',
+'version-poweredby-others' => 'êter',
 
 # Special:FileDuplicateSearch
-'fileduplicatesearch-filename' => 'Nom dal file:',
-'fileduplicatesearch-submit' => 'Cercä',
+'fileduplicatesearch-filename' => "Nòm dal 'file':",
+'fileduplicatesearch-submit' => 'Sērca',
 
 # Special:SpecialPages
-'specialpages' => 'Pàgin speciäl',
+'specialpages' => 'Pàgini specêli',
 
 # Special:Tags
-'tags-edit' => 'mudifich',
+'tags-edit' => 'mudéfica',
 
 # Special:ComparePages
 'compare-page1' => 'Pàgina 1',
 'compare-page2' => 'Pàgina 2',
-'compare-rev1' => 'Revisiòn 1',
-'compare-rev2' => 'Revisiòn 2',
+'compare-rev1' => 'Revişiòn 1',
+'compare-rev2' => 'Revişiòn 2',
 
 # HTML forms
-'htmlform-reset' => 'Turna indré cul la mudifich',
-'htmlform-selectorother-other' => 'Ã\84tar',
+'htmlform-reset' => 'Scanşèla la mudéfica',
+'htmlform-selectorother-other' => 'Ã\8ater',
 
 # New logging system
-'rightsnone' => '(ansöin)',
+'rightsnone' => '(nisûn)',
 
 # Feedback
-'feedback-subject' => 'Uggett:',
-'feedback-message' => "Messagg':",
-'feedback-cancel' => 'Cancellä',
+'feedback-subject' => 'Argomèint:',
+'feedback-message' => 'Mesâg',
+'feedback-cancel' => 'Scanşela',
 
 );
index b634765..f645531 100644 (file)
@@ -1615,6 +1615,9 @@ Please check the comparison below to verify that this is what you want to do, an
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Cannot create account',
+'cantcreateaccount-range-text' => "Account creation from IP addresses in the range '''$1''', which includes your IP address ('''$4'''), has been blocked by [[User:$3|$3]].
+
+The reason given by $3 is ''$2''",
 'cantcreateaccount-text' => "Account creation from this IP address ('''$1''') has been blocked by [[User:$3|$3]].
 
 The reason given by $3 is ''$2''",
@@ -1699,8 +1702,8 @@ function, the specified revision does not exist, or you are attempting to hide t
 Other administrators on {{SITENAME}} will still be able to access the hidden content and can undelete it again through this same interface, unless additional restrictions are set.",
 'revdelete-confirm'           => 'Please confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]].',
 'revdelete-suppress-text'     => "Suppression should '''only''' be used for the following cases:
-* Potentially libelous information
-* Inappropriate personal information
+* potentially libelous information
+* inappropriate personal information
 *: ''home addresses and telephone numbers, national identification numbers, etc.''",
 'revdelete-legend'            => 'Set visibility restrictions',
 'revdelete-hide-text'         => 'Revision text',
@@ -1994,6 +1997,7 @@ Your email address is not revealed when other users contact you.',
 'prefs-tokenwatchlist'          => 'Token',
 'prefs-diffs'                   => 'Diffs',
 'prefs-help-prefershttps'       => 'This preference will take effect on your next login.',
+'prefs-tabs-navigation-hint'    => 'Tip: You can use the left and right arrow keys to navigate between the tabs in the tabs list.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid'   => 'Email address appears valid',
@@ -2185,13 +2189,14 @@ Your email address is not revealed when other users contact you.',
 'recentchanges-label-bot'           => 'This edit was performed by a bot',
 'recentchanges-label-unpatrolled'   => 'This edit has not yet been patrolled',
 'recentchanges-label-plusminus'     => 'The page size changed by this number of bytes',
+'recentchanges-legend-heading'      => "'''Legend:'''",
 'recentchanges-legend-newpage'      => '(also see [[Special:NewPages|list of new pages]])',
 'recentchanges-legend-plusminus'    => "(''±123'')",
 'rcnotefrom'                        => "Below are the changes since '''$2''' (up to '''$1''' shown).",
 'rclistfrom'                        => 'Show new changes starting from $1',
 'rcshowhideminor'                   => '$1 minor edits',
 'rcshowhidebots'                    => '$1 bots',
-'rcshowhideliu'                     => '$1 logged-in users',
+'rcshowhideliu'                     => '$1 registered users',
 'rcshowhideanons'                   => '$1 anonymous users',
 'rcshowhidepatr'                    => '$1 patrolled edits',
 'rcshowhidemine'                    => '$1 my edits',
@@ -2684,6 +2689,7 @@ It now redirects to [[$2]].',
 'ninterwikis'                     => '$1 {{PLURAL:$1|interwiki|interwikis}}',
 'nlinks'                          => '$1 {{PLURAL:$1|link|links}}',
 'nmembers'                        => '$1 {{PLURAL:$1|member|members}}',
+'nmemberschanged'                 => '$1 → $2 {{PLURAL:$2|member|members}}',
 'nrevisions'                      => '$1 {{PLURAL:$1|revision|revisions}}',
 'nviews'                          => '$1 {{PLURAL:$1|view|views}}',
 'nimagelinks'                     => 'Used on $1 {{PLURAL:$1|page|pages}}',
@@ -3361,7 +3367,7 @@ See the [[Special:BlockList|block list]] for the list of currently operational b
 'ipb_expiry_invalid'              => 'Expiry time invalid.',
 'ipb_expiry_temp'                 => 'Hidden username blocks must be permanent.',
 'ipb_hide_invalid'                => 'Unable to suppress this account; it may have too many edits.',
-'ipb_already_blocked'             => '"$1" is already blocked',
+'ipb_already_blocked'             => '"$1" is already blocked.',
 'ipb-needreblock'                 => '$1 is already blocked. Do you want to change the settings?',
 'ipb-otherblocks-header'          => 'Other {{PLURAL:$1|block|blocks}}',
 'unblock-hideuser'                => 'You cannot unblock this user, as their username has been hidden.',
@@ -3376,12 +3382,12 @@ Please contact your Internet service provider or technical support of your organ
 'sorbs'                           => 'DNSBL', # only translate this message to other languages if you have to change it
 'sorbsreason'                     => 'Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.',
 'sorbs_create_account_reason'     => 'Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.
-You cannot create an account',
+You cannot create an account.',
 'xffblockreason'                  => 'An IP address present in the X-Forwarded-For header, either yours or that of a proxy server you are using, has been blocked. The original block reason was: $1',
 'cant-see-hidden-user'            => "The user you are trying to block has already been blocked and hidden.
 Since you do not have the hideuser right, you cannot see or edit the user's block.",
-'ipbblocked'                      => 'You cannot block or unblock other users because you are yourself blocked',
-'ipbnounblockself'                => 'You are not allowed to unblock yourself',
+'ipbblocked'                      => 'You cannot block or unblock other users because you are yourself blocked.',
+'ipbnounblockself'                => 'You are not allowed to unblock yourself.',
 'ipb-default-expiry'              => '', # do not translate or duplicate this message to other languages
 
 # Developer tools
@@ -4620,7 +4626,7 @@ Please confirm that you really want to recreate this page.",
 
 'img-lang-opt' => '$2 ($1)',
 'img-lang-default' => '(default language)',
-'img-lang-info' => 'Render this image in $1 $2.',
+'img-lang-info' => 'Render this image in $1. $2',
 'img-lang-go' => 'Go',
 
 # Table pager
@@ -4836,15 +4842,16 @@ You should have received [{{SERVER}}{{SCRIPTPATH}}/COPYING a copy of the GNU Gen
 'version-entrypoints-load-php'          => '[https://www.mediawiki.org/wiki/Manual:load.php load.php]', # do not translate or duplicate this message to other languages
 
 # Special:Redirect
-'redirect'            => 'Redirect by file, user, or revision ID',
+'redirect'            => 'Redirect by file, user, page or revision ID',
 'redirect-legend'     => 'Redirect to a file or page',
 'redirect-text'       => '', # do not translate or duplicate this message to other languages
-'redirect-summary'    => 'This special page redirects to a file (given the file name), a page (given a revision ID), or a user page (given a numeric user ID). Usage: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary'    => 'This special page redirects to a file (given the file name), a page (given a revision ID or page ID), or a user page (given a numeric user ID). Usage: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit'     => 'Go',
 'redirect-lookup'     => 'Lookup:',
 'redirect-value'      => 'Value:',
 'redirect-user'       => 'User ID',
 'redirect-revision'   => 'Page revision',
+'redirect-page'       => 'Page ID',
 'redirect-file'       => 'File name',
 'redirect-not-exists' => 'Value not found',
 
@@ -5108,19 +5115,21 @@ Otherwise, you can use the easy form below. Your comment will be added to the pa
 'limitreport-expensivefunctioncount-value' => '$1/$2', # only translate this message to other languages if you have to change it
 
 # ExpandTemplates
-'expandtemplates'                  => 'Expand templates',
-'expand_templates_intro'           => 'This special page takes text and expands all templates in it recursively.
+'expandtemplates'                   => 'Expand templates',
+'expand_templates_intro'            => 'This special page takes text and expands all templates in it recursively.
 It also expands supported parser functions like
 <code><nowiki>{{</nowiki>#language:…}}</code> and variables like
 <code><nowiki>{{</nowiki>CURRENTDAY}}</code>.
 In fact, it expands pretty much everything in double-braces.',
-'expand_templates_title'           => 'Context title, for {{FULLPAGENAME}}, etc.:',
-'expand_templates_input'           => 'Input text:',
-'expand_templates_output'          => 'Result',
-'expand_templates_xml_output'      => 'XML output',
-'expand_templates_ok'              => 'OK',
-'expand_templates_remove_comments' => 'Remove comments',
-'expand_templates_remove_nowiki'   => 'Suppress <nowiki> tags in result',
-'expand_templates_generate_xml'    => 'Show XML parse tree',
-'expand_templates_preview'         => 'Preview',
+'expand_templates_title'            => 'Context title, for {{FULLPAGENAME}}, etc.:',
+'expand_templates_input'            => 'Input text:',
+'expand_templates_output'           => 'Result',
+'expand_templates_xml_output'       => 'XML output',
+'expand_templates_html_output'      => 'Raw HTML output',
+'expand_templates_ok'               => 'OK',
+'expand_templates_remove_comments'  => 'Remove comments',
+'expand_templates_remove_nowiki'    => 'Suppress <nowiki> tags in result',
+'expand_templates_generate_xml'     => 'Show XML parse tree',
+'expand_templates_generate_rawhtml' => 'Show raw HTML',
+'expand_templates_preview'          => 'Preview',
 );
index a0dce90..8848512 100644 (file)
@@ -596,8 +596,8 @@ $1',
 'youhavenewmessages' => 'Por vi estas $1 ($2).',
 'youhavenewmessagesfromusers' => 'Riceviĝis $1 de {{PLURAL:$3|alia uzanto|$3 uzantoj}} ($2).',
 'youhavenewmessagesmanyusers' => 'Riceviĝis $1 de multaj uzantoj ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|nova mesaĝo|novaj mesaĝoj}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|lasta ŝanĝo|lastaj ŝanĝoj}}',
+'newmessageslinkplural' => '{{PLURAL:$1|nova mesaĝo|999=novaj mesaĝoj}}',
+'newmessagesdifflinkplural' => '$1 {{PLURAL:$1|ŝanĝo|ŝanĝoj}}',
 'youhavenewmessagesmulti' => 'Vi havas novajn mesaĝojn ĉe $1',
 'editsection' => 'redakti',
 'editold' => 'redakti',
@@ -649,6 +649,11 @@ Listo de validaj specialaj paĝoj estas trovebla ĉe [[Special:SpecialPages|{{in
 # General errors
 'error' => 'Eraro',
 'databaseerror' => 'Datumbaza eraro',
+'databaseerror-text' => 'Datumbaza eraro de la mendo okazis.
+Ĉi tiu eble indikas cimon de la programaro.',
+'databaseerror-textcl' => 'Datumbaza eraro de la mendo okazis.',
+'databaseerror-query' => 'Mendo: $1',
+'databaseerror-function' => 'Funkcio: $1',
 'databaseerror-error' => 'Eraro: $1',
 'laggedslavemode' => 'Avertu: la paĝo eble ne enhavas lastatempajn ĝisdatigojn.',
 'readonly' => 'Datumaro ŝlosita, nurlega',
@@ -720,7 +725,7 @@ La administranto kiu ŝlosis ĝin proponis tiun klarigon: "$3".',
 'invalidtitle-knownnamespace' => 'Nevalida titolo kun nomspaco "$2" kaj teksto "$3"',
 'invalidtitle-unknownnamespace' => 'Nevalida titolo kun nekonata nomspaca numero $1 kaj teksto "$2"',
 'exception-nologin' => 'Ne ensalutita',
-'exception-nologin-text' => 'Vi devas ensaluti ĉi tiun vikion por fari ĉi tiun agon.',
+'exception-nologin-text' => 'Bonvolu [[Special:Userlogin|ensaluti]] por atingi ĉi tiun paĝon aŭ agon.',
 
 # Virus scanner
 'virus-badscanner' => "Malbona konfiguro: nekonata virusa skanilo: ''$1''",
@@ -730,7 +735,6 @@ La administranto kiu ŝlosis ĝin proponis tiun klarigon: "$3".',
 # Login and logout pages
 'logouttext' => "'''Vi nun estas elsalutinta.'''
 
-Vi rajtas daŭre vikiumi sennome, aŭ vi povas <span class='plainlinks'>[$1 reensaluti]</span> kiel la sama aŭ kiel alia uzanto.
 Notu ke iuj paĝoj daŭre ŝajnos kvazaŭ vi ankoraŭ estus ensalutinta, ĝis vi refreŝigos kaŝmemoron de via retumilo.",
 'welcomeuser' => 'Bonvenon, $1!',
 'welcomecreation-msg' => 'Via konto estas kreita.
@@ -765,7 +769,7 @@ Ne forgesu ŝanĝi viajn [[Special:Preferences|{{SITENAME}}-preferojn]]',
 'gotaccount' => "Ĉu vi jam havas konton? '''$1'''.",
 'gotaccountlink' => 'Ensaluti',
 'userlogin-resetlink' => 'Ĉu vi forgesis ensalutajn detalojn?',
-'userlogin-resetpassword-link' => 'Restarigu vian pasvorton',
+'userlogin-resetpassword-link' => 'Ĉu vi forgesis vian pasvorton?',
 'helplogin-url' => 'Help:Ensalutado',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Helpo pri ensalutado]]',
 'createacct-join' => 'Suben enigu informojn pri vi',
@@ -808,7 +812,7 @@ Kontrolu vian literumadon, aŭ [[Special:UserLogin/signup|kreu novan konton]].',
 'passwordtooshort' => 'Pasvortoj devas esti almenaŭ  $1 {{PLURAL:$1|1 signon|$1 signojn}}.',
 'password-name-match' => 'Via pasvorto devas nepre malsami vian salutnomon.',
 'password-login-forbidden' => 'Estas malpermesite uzi tiun ĉi salutnomon kaj pasvorton.',
-'mailmypassword' => 'Retpoŝti novan pasvorton',
+'mailmypassword' => 'Refari pasvorton',
 'passwordremindertitle' => 'Rememorigo el {{SITENAME}} pri perdita pasvorto',
 'passwordremindertext' => 'Iu (probable vi, el IP-adreso $1) petis novan
 pasvorton por {{SITENAME}} ($4). Provizora pasvorto por uzanto
@@ -831,7 +835,7 @@ Por preventi misuzon, nur unu reŝargita pasvorto estos sendita dum {{PLURAL:$1|
 'mailerror' => 'Okazis eraro sendante retpoŝtaĵon: $1',
 'acct_creation_throttle_hit' => 'Vizitintoj al ĉi tiu vikio uzintaj vian IP-adreson kreis {{PLURAL:$1|1 konton|$1 kontojn}} dum la lasta tago, kiu estas la maksimume permesita en ĉi tiu tempoperiodo.
 Tial, vizitantoj kun ĉi tiu IP-adreso ne povas krei pluajn kontojn ĉi-momente.',
-'emailauthenticated' => 'Via retadreso estis aŭtentikigita ekde $2 $3.',
+'emailauthenticated' => 'Via retadreso estis konfirmita ekde $2 $3.',
 'emailnotauthenticated' => 'Via retadreso ne jam estas aŭtentigata.
 Neniu retpoŝto estos sendita pro iuj jenaj kialoj.',
 'noemailprefs' => 'Specifu retpoŝtan adreson por ĉi tiuj ecoj funkcii.',
@@ -1262,18 +1266,19 @@ funkcion, la specifita versio ne ekzistas, aŭ vi estas provanta kaŝi la nunan
 Aliaj administrantoj ĉe {{SITENAME}} plu povos aliri la kaŝitan entenon kaj restarigi ĝin per la sama interfaco, krom se plia limigo estas metita de la paĝaradministrantoj.",
 'revdelete-confirm' => 'Bonvolu konfirmi ke vi intencias fari ĉi tion, ke vi komprenas la konsekvencojn kaj ke vi faras ĉi tion laŭ [[{{MediaWiki:Policy-url}}|la regularo]].',
 'revdelete-suppress-text' => "Subpremo '''nur''' estu uzata por la jenaj kazoj:
+* Ebla kalumnia informo
 * Netaŭga persona informo
 *: ''hejmaj adresoj kaj telefonnumeroj, ŝtataj identnumeroj, ktp.''",
 'revdelete-legend' => 'Fari videblecajn limigojn',
-'revdelete-hide-text' => 'Kaŝi tekston de versio',
+'revdelete-hide-text' => 'Teksto de revizio',
 'revdelete-hide-image' => 'Kaŝi enhavon de dosieroj',
 'revdelete-hide-name' => 'Kaŝi agon kaj celon',
-'revdelete-hide-comment' => 'Kaŝi komenton de redakto',
-'revdelete-hide-user' => 'Kaŝi nomon aŭ IP-adreson de redaktinto',
+'revdelete-hide-comment' => 'Resumo de redakto',
+'revdelete-hide-user' => 'Salutnomo de redaktanto/IP-adreso',
 'revdelete-hide-restricted' => 'Subpremi ĉi tiujn datenojn de administrantoj kaj ankaŭ aliaj',
 'revdelete-radio-same' => '(ne ŝanĝi)',
-'revdelete-radio-set' => 'Videbla',
-'revdelete-radio-unset' => 'Kaŝita',
+'revdelete-radio-set' => 'Kaŝita',
+'revdelete-radio-unset' => 'Videbla',
 'revdelete-suppress' => 'Subpremi datenojn de kaj administrantoj kaj aliaj',
 'revdelete-unsuppress' => 'Forigi limigojn al restarigitaj versioj',
 'revdelete-log' => 'Kialo:',
@@ -1675,7 +1680,7 @@ indekso pro troŝarĝita servilo. Intertempe, vi povas serĉi per <i>guglo</i> a
 'action-protect' => 'ŝanĝi la protektan nivelon por ĉi tiu paĝo',
 'action-rollback' => 'tuj malfari la redaktojn de la lasta uzanto kiu redaktis specifan paĝon',
 'action-import' => 'enporti paĝojn de alia vikio',
-'action-importupload' => 'importi ĉi tiun paĝon de dosiera alŝuto',
+'action-importupload' => 'importi paĝojn de dosiera alŝuto',
 'action-patrol' => 'marki redakton de alia persono kiel patrolitan',
 'action-autopatrol' => 'fari vian redakton markitan kiel patrolitan',
 'action-unwatchedpages' => 'vidi la liston de neatentitaj paĝoj',
@@ -1701,7 +1706,7 @@ indekso pro troŝarĝita servilo. Intertempe, vi povas serĉi per <i>guglo</i> a
 'recentchanges-label-minor' => 'Ĉi tiu estas eta redakto',
 'recentchanges-label-bot' => 'Ĉi tiu redakto estis farita per roboto.',
 'recentchanges-label-unpatrolled' => 'Ĉi tiu redakto ne jam estis patrolata.',
-'recentchanges-legend-newpage' => '$1 - nova paĝo',
+'recentchanges-legend-newpage' => '(vidu ankaŭ [[Special:NewPages|liston de novaj paĝoj]])',
 'rcnotefrom' => "Jen la ŝanĝoj ekde '''$2''' (lastaj ĝis '''$1''').",
 'rclistfrom' => 'Montri novajn ŝanĝojn ekde "$1"',
 'rcshowhideminor' => '$1 redaktetojn',
@@ -1743,7 +1748,7 @@ Paĝoj en [[Special:Watchlist|via atentaro]] estas '''grasaj'''.",
 'reuploaddesc' => 'Reveni al la alŝuta formularo.',
 'upload-tryagain' => 'Enigi ŝanĝitan dosieran priskribon',
 'uploadnologin' => 'Ne ensalutinta',
-'uploadnologintext' => 'Vi devas [[Special:UserLogin|ensaluti]] por alŝuti dosierojn.',
+'uploadnologintext' => 'Bonvolu $1 por alŝuti dosierojn.',
 'upload_directory_missing' => 'La alŝuta dosierujo ($1) estas nek trovebla nek kreebla de la retservilo.',
 'upload_directory_read_only' => 'La TTT-servilo ne povas alskribi la alŝuto-dosierujon ($1).',
 'uploaderror' => 'Eraro okazis dum alŝuto',
@@ -1985,6 +1990,8 @@ Kiam oni filtras ĝin laŭ uzanto, nur la aktuala versio de la dosiero estos mon
 'listfiles_size' => 'Grandeco',
 'listfiles_description' => 'Priskribo',
 'listfiles_count' => 'Versioj',
+'listfiles-latestversion-yes' => 'Jes',
+'listfiles-latestversion-no' => 'Ne',
 
 # File description page
 'file-anchor-link' => 'Dosiero',
@@ -2353,8 +2360,8 @@ La retadreso kiun vi enigis en [[Special:Preferences|viaj preferoj]] aperos kiel
 'notanarticle' => 'Ne estas artikolo',
 'notvisiblerev' => 'Versio estis forigita',
 'watchlist-details' => '{{PLURAL:$1|$1 paĝon|$1 paĝojn}} en via atentaro, krom diskutpaĝoj.',
-'wlheader-enotif' => 'Retpoŝta sciigo estas ebligita',
-'wlheader-showupdated' => "Montriĝas per '''dikaj literoj''' tiuj paĝoj, kiujn oni ŝanĝis ekde kiam vi laste vizitis ilin",
+'wlheader-enotif' => 'Retpoŝta sciigo estas ŝalta.',
+'wlheader-showupdated' => "Paĝoj montriĝis per '''dikaj literoj''' kiuj estis ŝanĝitaj ekde vi laste vizitis.",
 'watchmethod-recent' => 'traserĉas lastajn redaktojn',
 'watchmethod-list' => 'traserĉas priatentitajn',
 'watchlistcontains' => 'Via atentaro enhavas $1 {{PLURAL:$1|paĝon|paĝojn}}.',
@@ -2397,7 +2404,7 @@ Kontaktu la redaktinton:
 retpoŝte: $PAGEEDITOR_EMAIL
 vikie: $PAGEEDITOR_WIKI
 
-Ne estos aliaj avertoj kaze de sekvaj ŝanĝoj krom se vi vizitus ĉi tiun paĝon. Vi povas ankaŭ malaktivigi la avertsignalon por ĉiuj priatentitaj paĝoj de via atentaro.
+Ne estos aliaj avertoj kaze de sekvaj agoj krom se vi vizitus ĉi tiun paĝon ensalutite. Vi povas ankaŭ malaktivigi la avertsignalon por ĉiuj priatentitaj paĝoj de via atentaro.
 
             Sincere via, la avertsistemo de {{SITENAME}}
 
@@ -2462,7 +2469,7 @@ pro tio, ke oni intertempe redaktis aŭ restarigis la paĝon.
 La lasta redaktinto estis [[User:$3|$3]] ([[User talk:$3|diskuto]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
 'editcomment' => "La resumo de la komento estis: \"''\$1''\".",
 'revertpage' => 'Malfaris redaktojn de [[Special:Contributions/$2|$2]] ([[User talk:$2|diskuto]]) al la lasta versio de [[User:$1|$1]]',
-'revertpage-nouser' => 'Restarigis redaktojn de (salutnomo forigita) al lasta revizio de [[User:$1|$1]]',
+'revertpage-nouser' => 'Restarigis redaktojn de (salutnomo forigita) al lasta revizio de {{GENDER:$1|[[User:$1|$1]]}}',
 'rollback-success' => 'Restaris redaktojn de $1; ŝanĝis al lasta versio de $2.',
 
 # Edit tokens
@@ -2601,7 +2608,7 @@ $1',
 'contributions' => 'Kontribuoj de {{GENDER:$1|uzanto|uzantino}}',
 'contributions-title' => 'Kontribuoj de uzanto $1',
 'mycontris' => 'Kontribuoj',
-'contribsub2' => 'De $1 ($2)',
+'contribsub2' => 'De {{GENDER:$3|$1}} ($2)',
 'nocontribs' => 'Trovis neniajn redaktojn laŭ tiu kriterio.',
 'uctop' => ' (aktuala)',
 'month' => 'Ekde monato (kaj pli frue):',
@@ -2792,7 +2799,7 @@ Vi povas ĝisdatigi alidirektilojn kiu indikas la originalan titolon aŭtomate.
 Se vi elektas ĝisdatigi permane, bonvolu kontroli [[Special:DoubleRedirects|duoblajn]] aŭ [[Special:BrokenRedirects|rompitajn alidirektilojn]].
 Vi estas responsa por certigi ke ligilojn direktas fidinde.
 
-Notu, ke la paĝo '''ne''' estos movita se jam ekzistas paĝo ĉe la nova titolo, krom se ĝi estas malplena aŭ alidirektilo al ĉi tiu paĝo, kaj sen antaŭa redaktohistorio.
+Notu, ke la paĝo '''ne''' estos movita se jam ekzistas paĝo ĉe la nova titolo, krom se tiu loko estas malplena aŭ alidirektilo al ĉi tiu paĝo, kaj sen antaŭa redaktohistorio.
 Pro tio, vi ja povos removi la paĝon je la antaŭa titolo se vi mistajpus, kaj ne povas forviŝi ekzistantan paĝon per movo.
 
 '''AVERTO!'''
@@ -3111,8 +3118,8 @@ Datoj de versioj kaj nomoj de redaktantoj estos preservitaj.
 'spam_reverting' => 'Restarigo de lasta versio ne entenante ligilojn al $1',
 'spam_blanking' => 'Forviŝo de ĉiuj versioj entenantaj ligilojn al $1',
 'spam_deleting' => 'Ĉiuj versioj enhavis ligilojn al $1 - forigante',
-'simpleantispam-label' => 'Kontrolo kontraŭ spamo.
-NE ENIGU ion ajn!',
+'simpleantispam-label' => "Kontrolo kontraŭ spamo.
+'''NE ENIGU''' ion ajn!",
 
 # Info page
 'pageinfo-title' => 'Informoj por "$1"',
@@ -3126,13 +3133,13 @@ NE ENIGU ion ajn!',
 'pageinfo-length' => 'Paĝgrandeco (en bajtoj)',
 'pageinfo-article-id' => 'Paĝa identigo',
 'pageinfo-language' => 'Lingvo de paĝa enhavo',
-'pageinfo-robot-policy' => 'Statuso de la serĉilo',
-'pageinfo-robot-index' => 'Indeksebla',
-'pageinfo-robot-noindex' => 'Ne indeksebla',
+'pageinfo-robot-policy' => 'Indeksado per robotoj',
+'pageinfo-robot-index' => 'Permesata',
+'pageinfo-robot-noindex' => 'Malpermesata',
 'pageinfo-views' => 'Nombro de rigardoj',
 'pageinfo-watchers' => 'Nombro de paĝatentantoj',
 'pageinfo-few-watchers' => 'Malpli ol $1 {{PLURAL:$1|atentanto|atentantoj}}',
-'pageinfo-redirects-name' => 'Alidirektoj al ĉi tiu paĝo',
+'pageinfo-redirects-name' => 'Nombro da alidirektiloj al ĉi tiu paĝo',
 'pageinfo-subpages-name' => 'Subpaĝoj de ĉi tiu paĝo',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|alidirektilo|alidirektiloj}}; $3 {{PLURAL:$3|ne-alidirektilo|ne-alidirektiloj}})',
 'pageinfo-firstuser' => 'Kreinto de la paĝo',
@@ -3210,7 +3217,7 @@ $1',
 'svg-long-desc' => 'SVG-dosiero, $1 × $2 rastrumeroj, grandeco de dosiero: $3',
 'svg-long-desc-animated' => 'Animata SVG-dosiero, $1 × $2 rastrumeroj, grandeco de dosiero: $3',
 'svg-long-error' => 'Malvalida SVG-dosiero: $1',
-'show-big-image' => 'Plena distingivo',
+'show-big-image' => 'Fonta dosiero',
 'show-big-image-preview' => 'Grandeco de ĉi antaŭvido: $1.',
 'show-big-image-other' => '{{PLURAL:$2|Alia distingivo|Aliaj distingivoj}}: $1.',
 'show-big-image-size' => '$1 × $2 rastrumeroj',
@@ -3918,6 +3925,9 @@ Oni devis doni al vi [{{SERVER}}{{SCRIPTPATH}}/COPYING ekzempleron de la GNU Gen
 'version-entrypoints-header-entrypoint' => 'Eniropunkto',
 'version-entrypoints-header-url' => 'Retadreso',
 
+# Special:Redirect
+'redirect-submit' => 'Ek',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Serĉu duplikatajn dosierojn',
 'fileduplicatesearch-summary' => 'Serĉi duplikatajn dosierojn bazite de haketvaloro.',
@@ -3932,8 +3942,7 @@ Oni devis doni al vi [{{SERVER}}{{SCRIPTPATH}}/COPYING ekzempleron de la GNU Gen
 # Special:SpecialPages
 'specialpages' => 'Specialaj paĝoj',
 'specialpages-note' => '* Normaj specialaj paĝoj.
-* <strong class="mw-specialpagerestricted">Limigitaj specialaj paĝoj.</strong>
-* <span class="mw-specialpagecached">Memorkaŝitaj specialaj paĝoj (eble malaktualaj).</span>',
+* <span class="mw-specialpagerestricted">Limigitaj specialaj paĝoj.</span>',
 'specialpages-group-maintenance' => 'Raportoj pri prizorgado',
 'specialpages-group-other' => 'Aliaj specialaj paĝoj',
 'specialpages-group-login' => 'Ensaluti /  registriĝi',
@@ -4016,14 +4025,14 @@ Oni devis doni al vi [{{SERVER}}{{SCRIPTPATH}}/COPYING ekzempleron de la GNU Gen
 'logentry-delete-delete' => '$1 forigis paĝon $3',
 'logentry-delete-restore' => '$1 restarigis paĝon $3',
 'logentry-delete-event' => '$1 ŝanĝis videblecon de {{PLURAL:$5|protokola evento|$5 protokolaj eventoj}} je $3: $4',
-'logentry-delete-revision' => '$1 ŝanĝis videblecon de {{PLURAL:$5|revizio|$5 reviziojn}} je paĝo $3: $4',
-'logentry-delete-event-legacy' => '$1 ŝanĝis videblecon de protokolaj eventoj en $3',
-'logentry-delete-revision-legacy' => '$1 ŝanĝis videblecon de revizioj en $3',
-'logentry-suppress-delete' => '$1 kaŝis paĝon $3',
-'logentry-suppress-event' => '$1 kaŝite ŝanĝis videblecon de {{PLURAL:$5|protokola evento|$5 protokolaj eventoj}} je $3: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2|ŝanĝis}} videblecon de {{PLURAL:$5|revizio|$5 reviziojn}} je paĝo $3: $4',
+'logentry-delete-event-legacy' => '$1 {{GENDER:$2|ŝanĝis}} videblecon de protokolaj eventoj en $3',
+'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|ŝanĝis}} videblecon de revizioj en $3',
+'logentry-suppress-delete' => '$1 {{GENDER:$2|kaŝis}} paĝon $3',
+'logentry-suppress-event' => '$1 kaŝite {{GENDER:$2|ŝanĝis}} videblecon de {{PLURAL:$5|protokola evento|$5 protokolaj eventoj}} je $3: $4',
 'logentry-suppress-revision' => '$1 kaŝite ŝanĝis videblecon de {{PLURAL:$5|revizio|$5 reviziojn}} je paĝo $3: $4',
-'logentry-suppress-event-legacy' => '$1 kaŝite ŝanĝis videblecon de protokolaj eventoj en $3',
-'logentry-suppress-revision-legacy' => '$1 kaŝite ŝanĝis videblecon de revizioj en paĝo $3',
+'logentry-suppress-event-legacy' => '$1 kaŝite {{GENDER:$2|ŝanĝis}} videblecon de protokolaj eventoj en $3',
+'logentry-suppress-revision-legacy' => '$1 kaŝite {{GENDER:$2|ŝanĝis}} videblecon de revizioj en paĝo $3',
 'revdelete-content-hid' => 'enhavo kaŝita',
 'revdelete-summary-hid' => 'resumo de redakto kaŝita',
 'revdelete-uname-hid' => 'salutnomo kaŝita',
@@ -4036,13 +4045,13 @@ Oni devis doni al vi [{{SERVER}}{{SCRIPTPATH}}/COPYING ekzempleron de la GNU Gen
 'logentry-move-move-noredirect' => '$1 movis paĝon $3 al $4 ne lasante alidirektilon',
 'logentry-move-move_redir' => '$1 movis paĝon $3 al $4 anstataŭigante alidirektilon',
 'logentry-move-move_redir-noredirect' => '$1 movis paĝon $3 al $4 anstataŭigante alidirektilon ne lasante alidirektilon',
-'logentry-patrol-patrol' => '$1 markis revizion $4 de paĝo $3 patrolita',
-'logentry-patrol-patrol-auto' => '$1 aŭtomate markis revizion $4 de paĝo $3 patrolita',
-'logentry-newusers-newusers' => 'Konto de uzanto $1 estis kreita',
+'logentry-patrol-patrol' => '$1 {{GENDER:$2|markis}} revizion $4 de paĝo $3 patrolita',
+'logentry-patrol-patrol-auto' => '$1 aŭtomate {{GENDER:$2|markis}} revizion $4 de paĝo $3 patrolita',
+'logentry-newusers-newusers' => 'Konto de uzanto $1 estis {{GENDER:$2|kreita}}',
 'logentry-newusers-create' => 'Konto de uzanto $1 estis kreita',
 'logentry-newusers-create2' => 'Konto de uzanto $3 estis kreita de $1',
 'logentry-newusers-byemail' => 'Konto de uzanto $3 estis kreita de $1 kaj pasvorto estis sendita per retpoŝto',
-'logentry-newusers-autocreate' => 'Uzantokonto $1 estis kreita aŭtomate',
+'logentry-newusers-autocreate' => 'Uzantokonto $1 estis {{GENDER:$2|kreita}} aŭtomate',
 'logentry-rights-rights' => '$1 ŝanĝis grupan membrecon por $3 de $4 al $5',
 'logentry-rights-rights-legacy' => '$1 ŝanĝis grupan membrecon por $3',
 'logentry-rights-autopromote' => '$1 estis aŭtomate {{GENDER:$2|altrangigita}} de $4 al $5',
index 1f94a67..6991ab8 100644 (file)
@@ -1128,7 +1128,7 @@ La última entrada del registro de bloqueos se proporciona debajo para mayor ref
 '''¡Aún no se ha guardado!'''",
 'sitejspreview' => "'''Recuerda que sólo estás previsualizando este código JavaScript.'''
 '''¡Aún no se ha guardado!'''",
-'userinvalidcssjstitle' => "'''Aviso:''' No existe la piel «$1». Recuerda que las páginas personalizadas ''.css'' y ''.js'' tienen un título en minúsculas. Por ejemplo, {{ns:user}}:Ejemplo/vector.css en vez de {{ns:user}}:Ejemplo/Vector.css.",
+'userinvalidcssjstitle' => "'''Aviso:''' No existe la apariencia «$1». Recuerda que las páginas personalizadas ''.css'' y ''.js'' tienen un título en minúsculas. Por ejemplo, {{ns:user}}:Ejemplo/vector.css en vez de {{ns:user}}:Ejemplo/Vector.css.",
 'updated' => '(Actualizado)',
 'note' => "'''Nota:'''",
 'previewnote' => "'''Recuerda que esto es solo una previsualización.'''
@@ -3184,10 +3184,10 @@ Permite añadir una razón al resumen de edición.',
 
 # Stylesheets
 'common.css' => '/* El CSS colocado en esta página será aplicado a todas las apariencias */',
-'cologneblue.css' => '/* El CSS colocado en esta página afectará a los usuarios que usen la piel "Cologne Blue" */',
-'monobook.css' => '/* El CSS colocado en esta página afectará a los usuarios que usen la piel "MonoBook" */',
-'modern.css' => '/* El CSS colocado en esta página afectará a los usuarios que usen la piel "Modern" */',
-'vector.css' => '/* El CSS colocado en esta página afectará a los usuarios que usen la piel "Vector" */',
+'cologneblue.css' => '/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia Cologne Blue */',
+'monobook.css' => '/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia "MonoBook" */',
+'modern.css' => '/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia Moderna */',
+'vector.css' => '/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia "Vector" */',
 'print.css' => '/* Los estilos CSS colocados aquí afectarán la impresión */',
 'noscript.css' => '/* Los estilos CSS colocados aquí se aplicarán a los usuarios que hayan desactivado el JavaScript en su navegador */',
 'group-autoconfirmed.css' => '/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios del grupo Usuarios autoconfirmados */',
@@ -3198,9 +3198,9 @@ Permite añadir una razón al resumen de edición.',
 # Scripts
 'common.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */',
 'cologneblue.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Colonia azul */',
-'monobook.js' => '/* El código JavaScript que se ponga aquí será cargado por los usuarios de la piel MonoBook */',
-'modern.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Moderna */',
-'vector.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Vector */',
+'monobook.js' => '/* El código JavaScript que se ponga aquí será cargado por los usuarios de la apariencia MonoBook */',
+'modern.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Moderna */',
+'vector.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Vector */',
 'group-autoconfirmed.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios del grupo Usuarios autoconfirmados */',
 'group-bot.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios del grupo Bots */',
 'group-sysop.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios del grupo Administradores */',
index 776a002..e5d628c 100644 (file)
@@ -801,7 +801,7 @@ Kontrollige kirjapilti või [[Special:UserLogin/signup|looge uus kasutajakonto]]
 'passwordtooshort' => 'Parool peab koosnema vähemalt {{PLURAL:$1|ühest|$1}} tähemärgist.',
 'password-name-match' => 'Parool peab kasutajanimest erinema.',
 'password-login-forbidden' => 'Selle kasutajanime ja parooli kasutamine on keelatud.',
-'mailmypassword' => 'Saada e-posti teel uus parool',
+'mailmypassword' => 'Lähtesta parool',
 'passwordremindertitle' => '{{SITENAME}} – ajutine parool',
 'passwordremindertext' => 'Keegi IP-aadressiga $1, tõenäoliselt sa ise, palus, et talle saadetaks {{GRAMMAR:elative|{{SITENAME}}}} uus parool ($4). Kasutaja "$2" ajutiseks paroolis seati "$3". Kui soovid tõepoolest uut parooli, pead sisse logima ja uue parooli valima. Ajutine parool aegub {{PLURAL:$5|ühe päeva|$5 päeva}} pärast.
 
@@ -871,7 +871,7 @@ Võib-olla oled juba edukalt muudnud oma salasõna või taotlenud uut ajutist sa
 # Special:PasswordReset
 'passwordreset' => 'Parooli lähtestamine',
 'passwordreset-text-one' => 'Täida see vorm, et oma parool lähtestada.',
-'passwordreset-text-many' => '{{PLURAL:$1|Täida üks väljadest, et oma parool lähtestada.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Täida üks väljadest, et saada e-kiri ajutise parooliga.}}',
 'passwordreset-legend' => 'Parooli lähtestamine',
 'passwordreset-disabled' => 'Selles vikis on paroolide lähtestamine keelatud.',
 'passwordreset-emaildisabled' => 'E-posti funktsioonid on selles vikis keelatud.',
@@ -1512,6 +1512,7 @@ See teave on avalik.',
 'prefs-tokenwatchlist' => 'Luba',
 'prefs-diffs' => 'Erinevused',
 'prefs-help-prefershttps' => 'See eelistus jõustub pärast järgmist sisselogimist.',
+'prefs-tabs-navigation-hint' => 'Spikker: Kaardiloendis toodud kaartide vahel liikumiseks saad kasutada vasakut ja paremat nooleklahvi.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Sobiv e-posti aadress',
@@ -1703,7 +1704,7 @@ See teave on avalik.',
 'rclistfrom' => 'Näita muudatusi alates: $1',
 'rcshowhideminor' => 'Pisiparandused ($1)',
 'rcshowhidebots' => 'Robotid ($1)',
-'rcshowhideliu' => 'Sisseloginud kasutajad ($1)',
+'rcshowhideliu' => 'Registreeritud kasutajad ($1)',
 'rcshowhideanons' => 'Anonüümsed kasutajad ($1)',
 'rcshowhidepatr' => 'Kontrollitud muudatused ($1)',
 'rcshowhidemine' => 'Minu parandused ($1)',
@@ -2136,6 +2137,7 @@ Igal real on ära toodud esimene ja teine ümbersuunamisleht ning samuti teise 
 'ninterwikis' => '{{PLURAL:$1|üks intervikilink|$1 intervikilinki}}',
 'nlinks' => '$1 {{PLURAL:$1|link|linki}}',
 'nmembers' => '$1 {{PLURAL:$1|liige|liiget}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|liige|liiget}}',
 'nrevisions' => '$1 {{PLURAL:$1|redaktsioon|redaktsiooni}}',
 'nviews' => '$1 {{PLURAL:$1|külastus|külastust}}',
 'nimagelinks' => 'Kasutuses {{PLURAL:$1|ühel leheküljel|$1 leheküljel}}',
@@ -3767,6 +3769,11 @@ Palun kinnita, et soovid tõesti selle lehekülje taasluua.",
 'imgmultigo' => 'Mine!',
 'imgmultigoto' => 'Mine leheküljele $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(vaikekeel)',
+'img-lang-info' => 'Viimistle pilt järgmises keeles: $1 $2',
+'img-lang-go' => 'Mine',
+
 # Table pager
 'ascending_abbrev' => 'tõusev',
 'descending_abbrev' => 'laskuv',
index 83e6740..80db2be 100644 (file)
@@ -166,6 +166,7 @@ $messages = array(
 'tog-showhiddencats' => 'Ikusi kategoria ezkutuak',
 'tog-norollbackdiff' => 'Rollback bat egin ondoren ezberdintasunak ez hartu aintzat',
 'tog-useeditwarning' => 'Abisa nazazu gorde gabeko aldaketak eginez orrialde bat uzten dudanean',
+'tog-prefershttps' => 'Erabili beti konexio seguru bat sartzerakoan',
 
 'underline-always' => 'Beti',
 'underline-never' => 'Inoiz ez',
@@ -318,7 +319,7 @@ $messages = array(
 'edit' => 'Aldatu',
 'create' => 'Sortu',
 'editthispage' => 'Orri hau aldatu',
-'create-this-page' => 'Orrialde hau sortu',
+'create-this-page' => 'Sortu orri hau',
 'delete' => 'Ezabatu',
 'deletethispage' => 'Ezabatu orri hau',
 'undeletethispage' => 'Orrialde hau bergaitu',
@@ -389,15 +390,15 @@ $1',
 'badaccess-groups' => 'Eskatu duzun ekintza honako {{PLURAL:$2|taldeko|taldeetako}} lankideei mugatuta dago: $1.',
 
 'versionrequired' => 'MediaWikiren $1 bertsioa beharrezkoa da',
-'versionrequiredtext' => 'MediaWikiren $1 bertsioa beharrezkoa da orrialde hau erabiltzeko. Ikus [[Special:Version]]',
+'versionrequiredtext' => 'MediaWikiren $1 bertsioa beharrezkoa da orri hau erabiltzeko. Ikus [[Special:Version|bertsio orria]].',
 
 'ok' => 'Ados',
 'retrievedfrom' => '"$1"(e)tik jasota',
 'youhavenewmessages' => '$1 dauzkazu ($2).',
 'youhavenewmessagesfromusers' => '{{PLURAL:$3|Beste erabiltzaile baten|$3 erabiltzaileren}} $1 ($2).',
 'youhavenewmessagesmanyusers' => 'Hainbat erabiltzaileren $1 ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|Mezu berri bat duzu|Mezu berriak dituzu}}',
-'newmessagesdifflinkplural' => 'azken {{PLURAL:$1|aldaketa|aldaketak}}',
+'newmessageslinkplural' => '{{PLURAL:$1|Mezu berri bat duzu|999=Mezu berriak dituzu}}',
+'newmessagesdifflinkplural' => 'azken {{PLURAL:$1|aldaketa|999=aldaketak}}',
 'youhavenewmessagesmulti' => 'Mezu berriak dituzu $1(e)n',
 'editsection' => 'aldatu',
 'editold' => 'aldatu',
@@ -442,18 +443,20 @@ $1',
 URLa gaizki idatzi duzu, edo hautsitako lotura jarraitu duzu.
 Honek akatsa indikatzen du {{SITENAME}}-(e)n.',
 'nosuchspecialpage' => 'Ez da aparteko orrialde hori existitzen',
-'nospecialpagetext' => '<strong>Baliogabeko aparteko orrialde bat eskatu duzu.</strong>
+'nospecialpagetext' => '<strong>Orri berezi baliogabe bat eskatu duzu.</strong>
 
-Existitzen direnen zerrenda ikus dezakezu  [[Special:SpecialPages|{{int:specialpages}}]] orrialdean.',
+Bada orri berezien zerrenda bat, [[Special:SpecialPages|{{int:specialpages}}]] orrian.',
 
 # General errors
 'error' => 'Errorea',
 'databaseerror' => 'Datu-base errorea',
+'databaseerror-text' => 'Datubase eskaera akats bat gertatu da.
+Honek softwarean arazo bat dagoela adiera dezake.',
 'databaseerror-textcl' => 'Datubasearen eskera akats bat gertatu da.',
 'databaseerror-query' => 'Eskaera: $1',
 'databaseerror-function' => 'Funtzioa: $1',
 'databaseerror-error' => 'Akatsa: $1',
-'laggedslavemode' => 'Oharra: Baliteke orrialde honetan azken aldaketak ez erakustea.',
+'laggedslavemode' => "'''Oharra:''' Baliteke orri honetan azken aldaketak jasota ez egotea.",
 'readonly' => 'Datu-basea blokeatuta dago',
 'enterlockreason' => 'Zehaztu blokeatzeko arrazoia, noiz kenduko den jakinaraziz',
 'readonlytext' => 'Datu-basea artikulu berriak sortu edo aldaketak ez egiteko blokeatuta dago, seguruenik mantenu lanak direla-eta. Blokeo hori kentzerakoan beti bezala egongo da berriz.
@@ -467,7 +470,7 @@ Hau ez bada kasua, agian akats bat aurkitu duzu softwarean.
 Mesedez, bidali gertakar hau administradore bati, URLaren izena jarriz.',
 'missingarticle-rev' => '(berrikuspena#: $1)',
 'missingarticle-diff' => '(Ezb: $1, $2)',
-'readonly_lag' => 'Datu-basea automatikoki blokeatu da menpeko zerbitzariak nagusiarekin sinkronizatu bitartean',
+'readonly_lag' => 'Datu-basea automatikoki blokeatu da, menpeko zerbitzariak nagusiarekin sinkronizatu bitartean',
 'internalerror' => 'Barne errorea',
 'internalerror_info' => 'Barne errorea: $1',
 'fileappenderrorread' => 'Ezin izan da "$1" irakurri, gehitzean.',
@@ -480,7 +483,7 @@ Mesedez, bidali gertakar hau administradore bati, URLaren izena jarriz.',
 'fileexistserror' => 'Ezin da "$1" fitxategian idatzi: lehendik existitzen da',
 'unexpected' => 'Espero ez zen balioa: "$1"="$2".',
 'formerror' => 'Errorea: ezin izan da formularioa bidali',
-'badarticleerror' => 'Ezin da ekintza hau orrialde honetan burutu.',
+'badarticleerror' => 'Ekintza hori ezin da orri honetan egin.',
 'cannotdelete' => 'Ezin izan da «$1» orria edo fitxategia ezabatu.
 Baliteke beste norbaitek ezabatu izana.',
 'cannotdelete-title' => 'Ezin da "$1" orrialdea ezabatu',
@@ -497,16 +500,16 @@ Ez du arrazoirik eman.',
 'actionthrottled' => 'Ekintzaren gainetik pasa da',
 'actionthrottledtext' => 'Spamaren aurkako neurri gisa ekintza hau denbora tarte laburrean aldi askotan egiteko mugapena duzu, eta muga hori zeharkatu duzu.
 Saia zaitez berriro minutu batzuen buruan, mesedez.',
-'protectedpagetext' => 'Orrialde hau aldaketak saihesteko blokeatu egin da.',
+'protectedpagetext' => 'Orri hau babestu da, edizioak edo beste ekintza batzuk egin ez daitezen.',
 'viewsourcetext' => 'Orri honen iturburu-testua ikusi eta kopiatu dezakezu:',
-'viewyourtext' => "Orrialde honetara '''zure aldaketen''' jatorria ikus eta kopiatu ahal duzu:",
+'viewyourtext' => "Ondorengo orri honetan '''zeuk egin dituzun aldaketen''' iturburu kodea ikus eta kopia dezakezu:",
 'protectedinterface' => 'Orrialde honek softwarearentzako interfaze testua gordetzen du eta blokeatuta dago bandalismoak saihesteko.
 Wiki guztientzako aldaketak egin edo gehitzeko, mesedez erabili [//translatewiki.net/ translatewiki.net], MediaWikiren lokalizazio proiektua.',
 'editinginterface' => "'''Oharra:''' Softwarearen interfazerako testua duen orri bat aldatzen ari zara.
 Orri honetako aldaketek wiki honetako erabiltzaile guztiei eragingo diete.
 Itzulpenetarako, erabil ezazu [//translatewiki.net/ translatewiki.net], MediaWiki proiektuan.",
-'cascadeprotected' => "Orrialde hau aldaketen aurka babestua dago, ''kaskada'' aukerarekin babestu {{PLURAL:$1|duten orrialde honetan|dituzten orrialde hauetan}} txertaturik dagoelako:
-$2",
+'cascadeprotected' => 'Orri hau aldaketen aurka babestua dago, sartuta dagoelako «kaskadako babesa» aukerarekin babestu {{PLURAL:$1|duten orri honetan|dituzten orri hauetan}}:
+$2',
 'namespaceprotected' => "Ez daukazu '''$1''' izen-tarteko orrialdeak aldatzeko baimenik.",
 'customcssprotected' => 'Ez duzu baimenik CSS orrialde hau aldatzeko beste erabiltzaile baten hobespen pertsonalak dituelako.',
 'customjsprotected' => 'Ez duzu baimenik JavaScript orrialde hau aldatzeko beste erabiltzaile baten hobespen pertsonalak dituelako.',
@@ -523,7 +526,8 @@ Blokeoa ezarri zuen administratzaileak honako arrazoia eman zuen: "$3".',
 'invalidtitle-knownnamespace' => 'Izenburua gaizki dago "$2" izen eremuan eta "$3" testuan',
 'invalidtitle-unknownnamespace' => 'Izenburua gaizki dago "$1" izen eremuan ezezagunean eta "$2" testuan',
 'exception-nologin' => 'Saioa hasi gabe',
-'exception-nologin-text' => 'Ekintza edo orrialde honek wiki honetan sartzea eskatzen du.',
+'exception-nologin-text' => 'Orri honetan sartzeko edo ekintza hau egiteko, [[Special:Userlogin|saioa hasi]] behar duzu.',
+'exception-nologin-text-manual' => 'Mesedez $1 orrialde honetan sartu edo ekintza hau egiteko.',
 
 # Virus scanner
 'virus-badscanner' => "Ezarpen txarrak: antibirus ezezaguna: ''$1''",
@@ -619,7 +623,7 @@ Egiaztatu ondo idatzi duzun, edo [[Special:UserLogin/signup|kontu berria sor eza
 'passwordtooshort' => 'Pasahitzek {{PLURAL:$1|karaktere 1|$1 karaktere}} gutxienez eduki behar dituzte.',
 'password-name-match' => 'Zure pasahitza ezin da zure erabiltzaile-izen bera izan.',
 'password-login-forbidden' => 'Erabiltzaile izen eta pasahitz hau erabiltzea debekaturik dago.',
-'mailmypassword' => 'Pasahitza berria e-postaz bidali',
+'mailmypassword' => 'Pasahitza berrezarri',
 'passwordremindertitle' => 'Pasahitzaren gogorarazpena {{SITENAME}}(e)tik',
 'passwordremindertext' => 'Norbaitek (ziurrenik zuk, $1 IP helbidetik) pasahitz berri bat
 eskatu du {{SITENAME}}(r)ako ($4). Momentu honetan erabiltzeko "$2" lankidearentzat
@@ -754,7 +758,7 @@ Behin-behineko pasahitza: $2',
 # Edit pages
 'summary' => 'Laburpena:',
 'subject' => 'Izenburua:',
-'minoredit' => 'Hau aldaketa txikia da',
+'minoredit' => 'Aldaketa hau txikia da',
 'watchthis' => 'Orrialde hau jarraitu',
 'savearticle' => 'Gorde orria',
 'preview' => 'Aurrebista erakutsi',
@@ -892,7 +896,7 @@ Erregistroko azken sarrera azpian jartzen da erreferentzia gisa:",
 'cascadeprotectedwarning' => "'''Oharra:''' Orrialde hau blokeatua izan da eta administratzaileek baino ez dute berau aldatzeko ahalmena, honako {{PLURAL:$1|orrialdeko|orrialdeetako}} kaskada-babesean txertatuta dagoelako:",
 'titleprotectedwarning' => "'''Oharra: Orrialde hau blokeatuta dago eta bakarrik [[Special:ListGroupRights|erabiltzaile batzuek]] sortu dezakete.'''
 Azken erregistroko sarrera ematen da azpian erreferentzia gisa:",
-'templatesused' => 'Orrialde honetan erabiltzen {{PLURAL:$1|den txantiloia|diren txantiloiak}}:',
+'templatesused' => 'Orri honetan erabiltzen {{PLURAL:$1|den txantiloia|diren txantiloiak}}:',
 'templatesusedpreview' => 'Aurreikuspen honetan erabiltzen {{PLURAL:$1|den txantiloia|diren txantiloiak}}:',
 'templatesusedsection' => 'Atal honetan erabiltzen {{PLURAL:$1|den txantiloia|diren txantiloiak}}:',
 'template-protected' => '(babestua)',
@@ -902,7 +906,7 @@ Azken erregistroko sarrera ematen da azpian erreferentzia gisa:",
 'nocreatetext' => 'Gune honek orrialde berriak sortzeko gaitasuna mugatu du. Atzera egin dezakezu existitzen den orrialde bat aldatzeko, edo [[Special:UserLogin|saio hasi edo kontua sortu]].',
 'nocreate-loggedin' => 'Ez duzu orri berriak sortzeko baimenik.',
 'sectioneditnotsupported-title' => 'Ezin dira atalak aldatu',
-'sectioneditnotsupported-text' => 'Ezin dira atalak aldatu orrialde honetan.',
+'sectioneditnotsupported-text' => 'Atalak aldatzea ez dago gaituta orri honetan.',
 'permissionserrors' => 'Baimenen erroreak',
 'permissionserrorstext' => 'Ez duzu hori egiteko baimenik, hurrengo {{PLURAL:$1|arrazoia dela eta|arrazoiak direla eta}}:',
 'permissionserrorstext-withaction' => 'Ezin duzu $2, ondorengo {{PLURAL:$1|arrazoi hau dela eta:|arrazoi hauek direla eta:}}',
@@ -1054,8 +1058,8 @@ Administratzailea zarenez, diff hau ikus dezakezu. Xehetasunak ikusgai daude [{{
 'revdelete-hide-user' => 'Egilearen erabiltzaile izena/IPa ezkutatu',
 'revdelete-hide-restricted' => 'Mugapen hauek administratzaileei zein besteei aplikatu',
 'revdelete-radio-same' => '(ez aldatu)',
-'revdelete-radio-set' => 'Bai',
-'revdelete-radio-unset' => 'Ez',
+'revdelete-radio-set' => 'Izkutua',
+'revdelete-radio-unset' => 'Ikusgarria',
 'revdelete-suppress' => 'Administratzaileen eta bestelakoen datuak kendu',
 'revdelete-unsuppress' => 'Berrezarritako aldaketen mugak kendu',
 'revdelete-log' => 'Arrazoia:',
@@ -1151,8 +1155,8 @@ Kontura zaitez nabigazio loturek, zutabea ezabatu dezakela.',
 'nextn-title' => 'Hurrengo $1 {{PLURAL:$1|emaitza|emaitzak}}',
 'shown-title' => 'Erakutsi {{PLURAL:$1|emaitza $1|$1 emaitza}} orrialdeko',
 'viewprevnext' => 'Ikusi ($1 {{int:pipe-separator}} $2) ($3).',
-'searchmenu-exists' => "'''\"[[:\$1]]\" izena duen orrialde bat badago wiki honetan'''",
-'searchmenu-new' => "'''\"[[:\$1]]\" orrialde sortu wiki honetan!'''",
+'searchmenu-exists' => "'''«[[:$1]]» izena duen orri bat bada wiki honetan.''' {{PLURAL:$2|0=|Ikus, gainera, aurkitutako beste bilaketa emaitzak.}}",
+'searchmenu-new' => "'''Sortu «[[:$1]]» orria wiki honetan!''' {{PLURAL:$2|0=|Ikus, gainera, zure bilaketarekin aurkitutako orria.|Ikus, gainera, bilaketaren emaitzak.}}",
 'searchprofile-articles' => 'Eduki-orriak',
 'searchprofile-project' => 'Laguntza eta Proiektu-orriak',
 'searchprofile-images' => 'Multimedia',
@@ -1188,18 +1192,20 @@ Kontura zaitez nabigazio loturek, zutabea ezabatu dezakela.',
 'powersearch-togglenone' => 'Bat ere ez',
 'search-external' => 'Kanpo bilaketa',
 'searchdisabled' => '{{SITENAME}}(e)n ezgaituta dago bilaketa. Dena dela, Google erabiliz ere egin dezakezu bilaketa. Kontuan izan bertan dituzten {{SITENAME}}(e)ko emaitzak zaharkituta egon daitezkeela.',
+'search-error' => 'Akats bat gertatu da bilaketa egiterakoan: $1',
 
 # Preferences page
 'preferences' => 'Hobespenak',
 'mypreferences' => 'Hobespenak',
 'prefs-edits' => 'Aldaketa kopurua:',
+'prefsnologintext2' => 'Mesedez $1 zure hobespenak aldatzeko.',
 'prefs-skin' => 'Itxura',
 'skin-preview' => 'Aurrebista',
 'datedefault' => 'Hobespenik ez',
 'prefs-beta' => 'Beta ezaugarriak',
 'prefs-datetime' => 'Data eta ordua',
 'prefs-labs' => 'Labs ezaugarriak',
-'prefs-user-pages' => 'Erabiltzaile orrialdeak',
+'prefs-user-pages' => 'Erabiltzaile orriak',
 'prefs-personal' => 'Erabiltzaile profila',
 'prefs-rc' => 'Azken aldaketak',
 'prefs-watchlist' => 'Jarraipen zerrenda',
@@ -1227,6 +1233,9 @@ Kontura zaitez nabigazio loturek, zutabea ezabatu dezakela.',
 'recentchangesdays-max' => '(gehienez {{PLURAL:$1|egun bat|$1 egun}})',
 'recentchangescount' => 'Erakusteko aldaketa kopurua, lehenetsita:',
 'prefs-help-recentchangescount' => 'Honek azken aldaketak, orrialdeen historiak eta logak barne-biltzen ditu.',
+'prefs-help-watchlist-token2' => 'Hau da zure jarraipen zerrendako web jarioaren giltza sekretua.
+Ezagutzen duen orok zure jarraipen zerrenda irakurtzeko aukera izango du, ez partekatu.
+[[Special:ResetTokens|Klik egin hemen berrezarri behar baduzu]]',
 'savedprefs' => 'Zure hobespenak gorde egin dira.',
 'timezonelegend' => 'Ordu-eremua:',
 'localtime' => 'Ordu lokala:',
@@ -1253,6 +1262,8 @@ Kontura zaitez nabigazio loturek, zutabea ezabatu dezakela.',
 'prefs-custom-css' => 'CSS pertsonalizatua',
 'prefs-custom-js' => 'JS pertsonalizatua',
 'prefs-common-css-js' => 'Azal mota guztietan elkarbanatutako CSS/JS:',
+'prefs-reset-intro' => 'Orrialde hau erabil dezakezu zure guneko berezko hobespenak berreskuratzeko.
+Hau ezin da desegin.',
 'prefs-emailconfirm-label' => 'E-posta baieztapena:',
 'youremail' => 'E-posta:',
 'username' => '{{GENDER:$1|Erabiltzaile izena}}:',
@@ -1296,6 +1307,7 @@ Informazio hau publikoa da.',
 'prefs-displaywatchlist' => 'Aukerak erakutsi',
 'prefs-diffs' => 'Ezberdintasunak',
 'prefs-help-prefershttps' => 'Hobespen hauek eragina izango dute sartzen zaren hurrengoan.',
+'prefs-tabs-navigation-hint' => 'Gomendioa: Fitxen zerrendan nabigatzeko ezker eta eskuin geziak erabil ditzakezu.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'E-posta helbidea zuzena dela dirudi',
@@ -1322,6 +1334,8 @@ Informazio hau publikoa da.',
 'userrights-notallowed' => 'Zure kontuak ez du baimenik erabiltzaile eskumenak aldatzeko.',
 'userrights-changeable-col' => 'Alda ditzakezun taldeak',
 'userrights-unchangeable-col' => 'Aldatu ezin ditzakezun taldeak',
+'userrights-conflict' => 'Gatazka gertatu da erabiltzaile eskubideak aldatzean. Mesedez, berrikusi eta baieztatu zure aldaketak.',
+'userrights-removed-self' => 'Arrakasta izan duzu zure eskumenak kentzen. Beraz jada ezin duzu orrialde hau gehiago ikusi.',
 
 # Groups
 'group' => 'Taldea:',
@@ -1348,7 +1362,7 @@ Informazio hau publikoa da.',
 'grouppage-suppress' => '{{ns:project}}:Gainikuspena',
 
 # Rights
-'right-read' => 'Orriak irakurri',
+'right-read' => 'Irakurri orriak',
 'right-edit' => 'Orriak aldatu',
 'right-createpage' => 'Orrialdeak sortu (eztabaida orrialdeak ez direnak)',
 'right-createtalk' => 'Eztabaida orriak sortu',
@@ -1380,33 +1394,39 @@ Informazio hau publikoa da.',
 'right-undelete' => 'Ezabatutako orrialde bat itzularazi',
 'right-suppressrevision' => 'Administratzaileentzat izkutatutako berrikuspenak berrikusi edo berrezarri',
 'right-suppressionlog' => 'Log pribatuak ikusi',
-'right-block' => 'Beste lankideek edita ez dezaten blokeatu',
-'right-blockemail' => 'Erabiltzaile batek emailak bidal ez ditzan blokeatu',
-'right-hideuser' => 'Erabiltzaile izen bat blokeatu, publikotik izkutatuz',
+'right-block' => 'Blokeatu beste erabiltzaile batzuk, edita ez dezaten',
+'right-blockemail' => 'Erabiltzaile bati blokeatu mezu elektronikoak bidaltzeko aukera',
+'right-hideuser' => 'Blokeatu erabiltzaile izen bat, publikotik ezkutatuta',
 'right-ipblock-exempt' => 'IP blokeoen, auto-blokeoen eta maila blokeoen gainetik pasa.',
 'right-proxyunbannable' => 'Proxyen blokeo automatikoen gainetik pasa',
 'right-unblockself' => 'Beren burua desblokeatu',
 'right-protect' => 'Orrialde babestuak aldatu eta babes maila aldatu',
 'right-editprotected' => 'Babestutako orrialdeak aldatu (babes jauzirik gabe)',
+'right-editsemiprotected' => 'Aldatu "{{int:protect-level-autoconfirmed}}" babesa duten orrialdeak',
 'right-editinterface' => 'Erabiltzailearen interfazea aldatu',
 'right-editusercssjs' => 'Beste lankideen CSS eta JS fitxategiak aldatu',
 'right-editusercss' => 'Beste lankideen CSS fitxategiak aldatu',
 'right-edituserjs' => 'Beste lankideen JS fitxategiak aldatu',
 'right-editmyusercss' => 'Aldatu zure CSS fitxategi propioak',
 'right-editmyuserjs' => 'Aldatu zure JavaScript fitxategi propioak',
+'right-viewmywatchlist' => 'Zure jarraipen zerrenda ikusi',
+'right-editmywatchlist' => 'Zure jarraipen zerrenda aldatu. Kontuan izan ekintza batzuek orrialdeak gehitu dituztela eskumen hau kenduta ere.',
+'right-viewmyprivateinfo' => 'Zure datu pribatuak ikusi (adb. e-posta helbidea, benetako izena)',
+'right-editmyprivateinfo' => 'Zure datu pribatuak aldatu (adb. e-posta helbidea, benetako izena)',
+'right-editmyoptions' => 'Aldatu zure hobespenak',
 'right-rollback' => 'Orrialde zehatz bat aldatu zuen azken lankidearen aldaketak modu azkar batean leheneratu',
 'right-markbotedits' => 'Atzera bueltan eginiko aldaketak bot baten aldaketak balira markatu',
 'right-noratelimit' => 'Ez dio eragiten erlazio mugak',
 'right-import' => 'Orrialdeak beste wiki batetik inportatu',
 'right-importupload' => 'Igotako fitxategi batetik orrialdeak inportatu',
-'right-patrol' => 'Besteen edizioak patrullatu moduan markatu',
+'right-patrol' => 'Markatu patruilatutzat besteen edizioak',
 'right-autopatrol' => 'Norberak egiten dituen aldaketa guztiak automatikoki gain-ikusi gisa markatu',
 'right-patrolmarks' => 'Ikusi azken aldaketen jarraitze markak',
 'right-unwatchedpages' => 'Ikusi gabeko orrialdeen zerrenda bat ikusi',
 'right-mergehistory' => 'Orrialdeen historia batu',
 'right-userrights' => 'Erabiltzaile guztien eskumenak aldatu',
 'right-userrights-interwiki' => 'Beste wiki batzuetan erabiltzaileen eskumenak aldatu',
-'right-siteadmin' => 'Databasea blokeatu eta desblokeatu',
+'right-siteadmin' => 'Blokeatu eta desblokeatu datu basea blokeatu',
 'right-override-export-depth' => '5eko sakonerararteko loturiko orrialdeak barne esportatu',
 'right-sendemail' => 'Beste erabiltzaileei e-posta bidali',
 'right-passwordreset' => 'Ikusi pasahitza berrezartze e-postak',
@@ -1425,7 +1445,7 @@ Informazio hau publikoa da.',
 'action-createpage' => 'orrialdeak sortu',
 'action-createtalk' => 'eztabaida orrialdeak sortu',
 'action-createaccount' => 'lankide hau sortu',
-'action-minoredit' => 'aldaketa hau txiki gisa markatu',
+'action-minoredit' => 'markatu aldaketa hau txikitzat',
 'action-move' => 'orri hau mugitu',
 'action-move-subpages' => 'orri hau eta haren azpiorriak mugitu',
 'action-move-rootuserpages' => 'mugitu lankidearen oinarri orrialdeak',
@@ -1444,9 +1464,9 @@ Informazio hau publikoa da.',
 'action-suppressionlog' => 'log pribatu hau ikusi',
 'action-block' => 'lankide honi aldaketak egitea ekidin',
 'action-protect' => 'orrialde honetako babes mailak aldatu',
-'action-import' => 'orrialde hau beste wiki batetik inportatu',
-'action-importupload' => 'igotako fitxategi batetik orrialde hau inportatu',
-'action-patrol' => 'besteen aldaketak patruilatu moduan markatu',
+'action-import' => 'orrialdeak beste wiki batetik inportatu',
+'action-importupload' => 'igotako fitxategi batetik orrialdeak inportatu',
+'action-patrol' => 'markatu patruilatutzat besteen aldaketak',
 'action-autopatrol' => 'zeure aldaketak patruilatutzat markatu',
 'action-unwatchedpages' => 'ikusi gabeko orrialdeen zerrenda ikusi',
 'action-mergehistory' => 'orrialde honen historia batu',
@@ -1465,13 +1485,16 @@ Informazio hau publikoa da.',
 'enhancedrc-history' => 'historia',
 'recentchanges' => 'Aldaketa berriak',
 'recentchanges-legend' => 'Azken aldaketen aukerak',
-'recentchanges-summary' => 'Orri honetan ikuska ditzakezu wiki honetan egindako azken aldaketak.',
+'recentchanges-summary' => 'Orrialde honetan ikus ditzakezu wiki honetan egindako azken aldaketak.',
+'recentchanges-noresult' => 'Ez da egon aldaketarik emandako tartean irizpide hau betetzen dutenik.',
 'recentchanges-feed-description' => 'Sindikazio honetan wikian eginiko azkeneko aldaketak jarrai daitezke.',
-'recentchanges-label-newpage' => 'Aldaketa honek orrialde berri bat sortu du',
-'recentchanges-label-minor' => 'Hau aldaketa txikia da',
+'recentchanges-label-newpage' => 'Aldaketa honek orri berri bat sortu du',
+'recentchanges-label-minor' => 'Aldaketa hau txikia da',
 'recentchanges-label-bot' => 'Aldaketa hau bot batek egin du',
 'recentchanges-label-unpatrolled' => 'Aldaketa hau ez da oraindik patruilatua izan',
-'recentchanges-legend-newpage' => '$1 - orrialde berria',
+'recentchanges-label-plusminus' => 'Orriaren neurriak byte kopuru honen gorabehera izan du',
+'recentchanges-legend-heading' => "'''Azalpenak:'''",
+'recentchanges-legend-newpage' => '(ikus, gainera, [[Special:NewPages|orri berrien zerrenda]])',
 'rcnotefrom' => 'Jarraian azaltzen diren aldaketak data honetatik aurrerakoak dira: <b>$2</b> (gehienez <b>$1</b> erakusten dira).',
 'rclistfrom' => 'Erakutsi $1 ondorengo aldaketa berriak',
 'rcshowhideminor' => '$1 aldaketa txikiak',
@@ -1513,10 +1536,11 @@ Informazio hau publikoa da.',
 'reuploaddesc' => 'Igotzeko formulariora itzuli.',
 'upload-tryagain' => 'Aldatutako fitxategiaren deskribapena bidali',
 'uploadnologin' => 'Saioa hasi gabe',
-'uploadnologintext' => 'Fitxategiak igotzeko [[Special:UserLogin|saioa hasi]] behar duzu.',
+'uploadnologintext' => 'Fitxategiak igotzeko $1 behar duzu.',
 'upload_directory_missing' => 'Igoeren direktorioa ($1) ezin da aurkitu eta web zerbitzariak ezin du sortu.',
 'upload_directory_read_only' => 'Web zerbitzariak ez dauka igoera direktorioan ($1) idazteko baimenik.',
 'uploaderror' => 'Errorea igotzerakoan',
+'upload-recreate-warning' => "'''Kontuz: Izen hori duen fitxategi bat berrizendatua edo mugitua izan da.'''",
 'uploadtext' => "Fitxategiak igotzeko beheko formularioa erabil dezakezu. 
 Aurretik igotako irudiak ikusi edo bilatzeko [[Special:FileList|igotako fitxategien zerrendara]] jo. Igoerak [[Special:Log/upload|igoera erregistroan]] ikus daitezke eta ezabatutakoak [[Special:Log/delete|ezabaketa erregistroan]] zerrendatzen dira.
 
@@ -1528,7 +1552,8 @@ Orrialde baten irudi bat txertatzeko, erabili kode hauetako bat:
 'upload-prohibited' => 'Debekatutako fitxategi motak: $1.',
 'uploadlog' => 'igoera erregistroa',
 'uploadlogpage' => 'Igoera erregistroa',
-'uploadlogpagetext' => 'Jarraian azken igoeren zerrenda ikus daiteke.',
+'uploadlogpagetext' => 'Jarraian, igotako azken fitxategien zerrenda ageri da.
+Ikus ezazu [[Special:NewFiles|fitxategi berrien galeria]], irudizkoagoa den ikuspegi orokor bat izateko.',
 'filename' => 'Fitxategi izena',
 'filedesc' => 'Laburpena',
 'fileuploadsummary' => 'Laburpena:',
@@ -1542,6 +1567,7 @@ Orrialde baten irudi bat txertatzeko, erabili kode hauetako bat:
 'illegalfilename' => '"$1" fitxategiaren izenak orrialdeen izenburuetan erabili ezin diren karaktereak ditu. Mesedez, fitxategiari izena aldatu eta saiatu berriz igotzen.',
 'filename-toolong' => 'Fitxategi izenak ezin dira izan 240 byte baino luzeagoak.',
 'badfilename' => 'Irudiaren izena aldatu da: "$1".',
+'filetype-mime-mismatch' => '".$1" fitxategi luzapena ez dator bat fitxategiaren MIME motarekin ($2).',
 'filetype-badmime' => 'Ezin dira "$1" MIME motako fitxategiak igo.',
 'filetype-bad-ie-mime' => 'Ezin da fitxategia igo, Internet Explorerek "$1" bezala detektatuko lukeelako, zein fitxategi mota ez onartua eta arriskutsua den.',
 'filetype-unwanted-type' => '\'\'\'".$1"\'\'\' fitxategi mota ez da gustokoa. Hobesten {{PLURAL:$3|den fitxategi mota|diren fitxategi motak}} {{PLURAL:$2|$2 da|$2 dira}}.',
@@ -1553,6 +1579,7 @@ Baimendutako fitxategi {{PLURAL:$3|mota $2 da|motak $2 dira}}.',
 'filename-tooshort' => 'Fitxategiaren izena laburregia da.',
 'filetype-banned' => 'Mota horretako fitxategiak debekatuta daude.',
 'verification-error' => 'Fitxategiak ez du egiaztapena gainditu.',
+'hookaborted' => 'Egiten saiatu zaren aldaketa albo batera utzi du estentsio batek.',
 'illegal-filename' => 'Fitxategiaren izena ez da onartzen.',
 'overwrite' => 'Jada existitzen den fitxategi bat ezin da berridatzi.',
 'unknown-error' => 'Ezezaguna den errorea gertatu da.',
@@ -1561,6 +1588,7 @@ Baimendutako fitxategi {{PLURAL:$3|mota $2 da|motak $2 dira}}.',
 'large-file' => 'Ez da gomendagarria fitxategiak $1 baino handiagoak izatea; fitxategi honen tamaina: $2.',
 'largefileserver' => 'Fitxategi hau zerbitzariak baimentzen duena baino handiagoa da.',
 'emptyfile' => 'Badirudi igotzen ari zaren fitxategia hutsik dagoela. Mesedez, egiaztatu fitxategi hori dela igo nahi duzuna.',
+'windows-nonascii-filename' => 'Wiki honek ez du baimentzen letra bereziak dituzten fitxategi izenak.',
 'fileexists' => 'Badago izen hori daukan fitxategi bat; mesedez, ikusi existitzen den <strong>[[:$1]]</strong> fitxategia aldatu nahi duzun egiaztatzeko.
 [[$1|thumb]]',
 'filepageexists' => 'Fitxategi honen deskribapen orria dagoeneko sortuta dago <strong>[[:$1]]</strong>-en, baina, ez da existitzen izen hori duen fitxategirik.
@@ -1595,6 +1623,8 @@ Oraindik ere fitxategia igo nahi baduzu atzera itzuli eta izen berri bat erabili
 'php-uploaddisabledtext' => 'Fitxategi igoerak PHP-n ezinduta daude. Ikusi fitxategi_igoerak mesedez.',
 'uploadscripted' => 'Fitxategi honek web zerbitzariak modu ezegokian interpretatu lezakeen HTML edo script kodea dauka.',
 'uploadvirus' => 'Fitxategiak birusa dauka! Xehetasunak: $1',
+'uploadjava' => 'Fitxategia ZIP bat da eta Java .class fitxategi bat du.
+Java fitxategiak igotzea ez dago baimendua, segurtasun muga batzuk hausteko aukera ematen duelako.',
 'upload-source' => 'Jatorrizko fitxategia',
 'sourcefilename' => 'Iturri-fitxategiaren izena:',
 'sourceurl' => 'Jatorrizko URL-a:',
@@ -1656,6 +1686,8 @@ $1',
 'lockmanager-fail-releaselock' => 'Ezin izan da "$1" blokeoa askatu.',
 'lockmanager-fail-db-bucket' => 'Ezin izan dut $1 buketean datubase nahikoa ziurtatu.',
 'lockmanager-fail-db-release' => 'Ezin izan da $1 datubasean giltzaraporik askatu.',
+'lockmanager-fail-svr-acquire' => 'Ezin dituzu $1 zerbitzariko giltzarpoak eskuratu.',
+'lockmanager-fail-svr-release' => 'Ezin izan da $1 zerbitzarian giltzaraporik askatu.',
 
 # ZipDirectoryReader
 'zip-wrong-format' => 'Zehaztutako fitxategia ez zen ZIP motakoa.',
@@ -1718,6 +1750,10 @@ Berez, azken igotako fitxategiak zerrendaren goiko aldean azaltzen dira.',
 'listfiles_size' => 'Tamaina (byte)',
 'listfiles_description' => 'Deskribapena',
 'listfiles_count' => 'Bertsioak',
+'listfiles-show-all' => 'Fitxategien bertsio zaharrak sartu',
+'listfiles-latestversion' => 'Oraingo bertsioa',
+'listfiles-latestversion-yes' => 'Bai',
+'listfiles-latestversion-no' => 'Ez',
 
 # File description page
 'file-anchor-link' => 'Fitxategia',
@@ -1805,6 +1841,10 @@ Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
 'randompage-nopages' => 'Ez dago orrialderik honako {{PLURAL:$2|kategorian|kategoriatan}}: $1',
 
 # Random page in category
+'randomincategory' => 'Kategoriako ausazko orrialdea',
+'randomincategory-invalidcategory' => '"$1" ez da kategoria izen baliagarri bat.',
+'randomincategory-nopages' => 'Ez dago orrialderik [[:Category:$1|$1]] kategorian.',
+'randomincategory-selectcategory' => 'Lortu kategoria honetako ausazko orrialdea: $1 $2.',
 'randomincategory-selectcategory-submit' => 'Joan',
 
 # Random redirect
@@ -1835,6 +1875,7 @@ Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
 'pageswithprop-legend' => 'Orrialde propietatea duten orrialdeak',
 'pageswithprop-prop' => 'Ezaugarriaren izena:',
 'pageswithprop-submit' => 'Joan',
+'pageswithprop-prophidden-long' => 'testu luzearen ezagaurria izkutatua ($1)',
 
 'doubleredirects' => 'Birzuzenketa bikoitzak',
 'doubleredirectstext' => 'Lerro bakoitzean lehen eta bigarren birzuzenketetarako loturak ikus daitezke, eta baita edukia daukan edo eduki beharko lukeen orrialderako lotura ere. Lehen birzuzenketak azken honetara <del>zuzendu</del> beharko luke.',
@@ -1860,6 +1901,7 @@ Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
 'ninterwikis' => '{{PLURAL:$1|Interwiki $1|$1 interwiki}}',
 'nlinks' => '{{PLURAL:$1|lotura 1|$1 lotura}}',
 'nmembers' => '{{PLURAL:$1|partaide 1|$1 partaide}}',
+'nmemberschanged' => '$1 → {{PLURAL:$2|kide $2|$2 kide}}',
 'nrevisions' => '{{PLURAL:$1|berrikuspen 1|$1 berrikuspen}}',
 'nviews' => '{{PLURAL:$1|ikusketa 1|$1 ikusketa}}',
 'nimagelinks' => '{{PLURAL:$1|Orrialde batean erabilia|$1 orrialdetan erabilia}}',
@@ -1888,6 +1930,7 @@ Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
 'mostrevisions' => 'Berrikuspen gehien dituzten orrialdeak',
 'prefixindex' => 'Orri guztiak aurrizkiekin',
 'prefixindex-namespace' => '$1 izentartean honako aurrizkia duten orrialde guztiak:',
+'prefixindex-strip' => 'Zerrendako aurrizkia kendu',
 'shortpages' => 'Orrialde laburrak',
 'longpages' => 'Orrialde luzeak',
 'deadendpages' => 'Orrialde itsuak',
@@ -1901,6 +1944,7 @@ Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
 'listusers' => 'Erabiltzaileen zerrenda',
 'listusers-editsonly' => 'Aldaketak egin dituzten erabiltzaileak soilik erakutsi',
 'listusers-creationsort' => 'Sorrera dataren arabera sailkatu',
+'listusers-desc' => 'Beheranzko ordenean antolatu',
 'usereditcount' => '{{PLURAL:$1|edizio bat|$1 edizio}}',
 'usercreated' => '{{GENDER:$3|Sortze data}}: $1, $2',
 'newpages' => 'Orrialde berriak',
@@ -1954,13 +1998,14 @@ Erregistro mota, erabiltzailearen izena edota orrialdearen izena iragaziz bistar
 'allpages-hide-redirects' => 'Birzuzenketak ezkutatu',
 
 # SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'Orrialde honen cache betsioa ikusten ari zara, $1 adina izan dezakeena.',
 'cachedspecial-refresh-now' => 'Azkena ikusi.',
 
 # Special:Categories
 'categories' => 'Kategoriak',
-'categoriespagetext' => 'Hurrengo {{PLURAL:$1|kategoriak orrialdeak edo fitxategiak ditu|kategoriek orrialdeak edo fitxategiak dituzte}}.
+'categoriespagetext' => 'Ondorengo {{PLURAL:$1|kategoria honek|kategoria hauek}} orriak edo fitxategiak {{PLURAL:$1|dauzka|dauzkate}}.
 [[Special:UnusedCategories|Erabili gabeko kategoriak]] ez dira hemen erakusten.
-Ikus, gainera [[Special:WantedCategories|kategoriarik eskatuenak]].',
+Ikus, gainera, [[Special:WantedCategories|kategoriarik eskatuenak]].',
 'categoriesfrom' => 'Honela hasten diren kategoriak erakutsi:',
 'special-categories-sort-count' => 'kontatetzearen arabera ordenatu',
 'special-categories-sort-abc' => 'alfabetikoki aldatu',
@@ -2058,9 +2103,9 @@ Badago [[{{MediaWiki:Listgrouprights-helppage}}|informazio osagarria]] banakako
 'watchnologin' => 'Saioa hasi gabe',
 'watchnologintext' => '[[Special:UserLogin|Saioa hasi]] behar duzu zure jarraipen zerrenda aldatzeko.',
 'addwatch' => 'Jarraipen zerrendara gehitu',
-'addedwatchtext' => '"[[:$1]]" orrialdea zure [[Special:Watchlist|jarraipen edo zelatatuen zerrendara]] erantsi da. 
+'addedwatchtext' => '«[[:$1]]» orria zure [[Special:Watchlist|jarraipen zerrendara]] erantsi da. 
 
-Orrialde honen hurrengo aldaketak zerrenda horretan ageriko dira aurrerantzean.',
+Orri honetan aurrerantzean egindako aldaketak zerrenda horretan agertuko dira.',
 'removewatch' => 'Kendu zure jarraipen zerrendatik',
 'removedwatchtext' => '"[[:$1]]" orrialdea zure [[Special:Watchlist|jarraipen zerrendatik]] kendu da.',
 'watch' => 'Jarraitu',
@@ -2087,6 +2132,16 @@ Orrialde honen hurrengo aldaketak zerrenda horretan ageriko dira aurrerantzean.'
 'enotif_mailer' => '{{SITENAME}}(e)ko Oharpen Postaria',
 'enotif_reset' => 'Orrialde guztiak bisitatu bezala markatu',
 'enotif_impersonal_salutation' => '{{SITENAME}} erabiltzailea',
+'enotif_subject_deleted' => '{{SITENAME}}(e)ko $1 orrialdea {{GENDER:$2|ezabatu}} du $2 erabiltzaileak',
+'enotif_subject_created' => '{{SITENAME}}(e)ko $1 orrialdea {{GENDER:$2|sortu}} du $2 erabiltzaileak',
+'enotif_subject_moved' => '{{SITENAME}}(e)ko $1 orrialdea {{GENDER:$2|mugitu}} du $2 erabiltzaileak',
+'enotif_subject_restored' => '{{SITENAME}}(e)ko $1 orrialdea {{GENDER:$2|berreskurtu}} du $2 erabiltzaileak',
+'enotif_subject_changed' => '{{SITENAME}}(e)ko $1 orrialdea {{GENDER:$2|aldatu}} du $2 erabiltzaileak',
+'enotif_body_intro_deleted' => '{{SITENAME}}(e)ko $1 orrialdea {{GENDER:$2|ezabatu}} du $2 erabiltzaileak $PAGEEDITDATE datan, ikus $3.',
+'enotif_body_intro_created' => '{{SITENAME}}(e)ko $1 orrialdea {{GENDER:$2|sortu}} du $2 erabiltzaileak $PAGEEDITDATE datan, ikus $3 oraingo bertsiorako.',
+'enotif_body_intro_moved' => '{{SITENAME}}(e)ko $1 orrialdea {{GENDER:$2|mugitu}} du $2 erabiltzaileak $PAGEEDITDATE datan, ikus $3 oraingo bertsiorako.',
+'enotif_body_intro_restored' => '{{SITENAME}}(e)ko $1 orrialdea {{GENDER:$2|berrezarri}} du $2 erabiltzaileak $PAGEEDITDATE datan, ikus $3 oraingo bertsiorako.',
+'enotif_body_intro_changed' => '{{SITENAME}}(e)ko $1 orrialdea {{GENDER:$2|aldatu}} du $2 erabiltzaileak $PAGEEDITDATE datan, ikus $3 oraingo bertsiorako.',
 'enotif_lastvisited' => 'Jo $1 orrialdera zure azken bisitaz geroztik izandako aldaketa guztiak ikusteko.',
 'enotif_lastdiff' => 'Jo $1(e)ra aldaketa hau ikusteko.',
 'enotif_anon_editor' => '$1 erabiltzaile anonimoa',
@@ -2137,7 +2192,7 @@ Laguntza:
 'actionfailed' => 'Ekintzak huts egin du',
 'deletedtext' => '"$1" ezabatu egin da. Ikus $2 azken ezabaketen erregistroa ikusteko.',
 'dellogpage' => 'Ezabaketa erregistroa',
-'dellogpagetext' => 'Behean ikus daiteke azken ezabaketen zerrenda.',
+'dellogpagetext' => 'Behean ageri da azken ezabaketen zerrenda.',
 'deletionlog' => 'ezabaketa erregistroa',
 'reverted' => 'Lehenagoko berrikuspen batera itzuli da',
 'deletecomment' => 'Arrazoia:',
@@ -2177,8 +2232,8 @@ edukia $2 wikilariaren azken bertsiora itzuli da.',
 
 # Protect
 'protectlogpage' => 'Babes erregistroa',
-'protectlogtext' => 'Orrialdeen blokeo eta desblokeo zerrenda azaltzen da jarraian.
-Ikusi [[Special:ProtectedPages|babestutako orrialdeen zerrenda]] orrialde babes informazio ikusteko.',
+'protectlogtext' => 'Orri-babesteen zerrenda ageri da jarraian.
+Ikus [[Special:ProtectedPages|orri babestuen zerrenda]], orain indarrean dauden orri babesen zerrenda ikusteko.',
 'protectedarticle' => '"[[$1]]" babestu da"',
 'modifiedarticleprotection' => '"[[$1]]"(r)en babes maila aldatu da',
 'unprotectedarticle' => '"[[$1]]"-(r)i babesa kendu zaio',
@@ -2347,10 +2402,10 @@ Blokeo erregistroa azken sarrera ematen da azpian erreferentziarako:',
 
 # Block/unblock
 'autoblockid' => 'Blokeo automatikoa #$1',
-'block' => 'Erabiltzailea blokeatu',
+'block' => 'Blokeatu erabiltzailea',
 'unblock' => 'Erabiltzailea desblokeatu',
-'blockip' => 'Erabiltzailea blokeatu',
-'blockip-legend' => 'Erabiltzailea blokeatu',
+'blockip' => 'Blokeatu erabiltzailea',
+'blockip-legend' => 'Blokeatu erabiltzailea',
 'blockiptext' => 'IP helbide edo erabiltzaile izen bati idazketa baimenak kentzeko beheko formularioa erabil dezakezu. Ekintza hau bandalismoa saihesteko baino ez da burutu behar, eta beti ere [[{{MediaWiki:Policy-url}}|politikak]] errespetatuz. Blokeoaren arrazoi bat ere zehaztu ezazu (adibidez, orrialde batzuk zehaztuz).',
 'ipadressorusername' => 'IP Helbidea edo erabiltzaile izena',
 'ipbexpiry' => 'Iraungipena',
@@ -2363,15 +2418,17 @@ Blokeo erregistroa azken sarrera ematen da azpian erreferentziarako:',
 ** Beste erabiltzaileei mehatxatzea
 ** Kontu ugari erabiltzea
 ** Erabiltzaile izen desegokia',
-'ipbcreateaccount' => 'Kontua sortzea debekatu',
-'ipbemailban' => 'Erabiltzaileak e-mailak bidal ditzan ekidin',
+'ipb-hardblock' => 'Galarazi izena emandako erabiltzaileek IP helbide honetatik editatzea',
+'ipbcreateaccount' => 'Debekatu konturik sortzea',
+'ipbemailban' => 'Galarazi erabiltzaileari mezu elektronikoak bidaltzea',
 'ipbenableautoblock' => 'Erabiltzaile honek erabilitako azken IP helbidea automatikoki blokeatu, eta baita erabili dezakeen beste edozein IP ere',
-'ipbsubmit' => 'Erabiltzaile hau blokeatu',
+'ipbsubmit' => 'Blokeatu erabiltzaile hau',
 'ipbother' => 'Beste denbora-tarte bat',
 'ipboptions' => '2 ordu:2 hours,1 egun:1 day,3 egun:3 days,astebete:1 week,2 aste:2 weeks,hilabete:1 month,3 hilabete:3 months,6 hilabete:6 months,urtebete:1 year,betiko:infinite',
 'ipbhidename' => 'Lankide izena aldaketa eta zerrendetatik ezkutatu',
-'ipbwatchuser' => 'Erabiltzaile honen erabiltzaile eta eztabaida orrialdeak jarraitu',
-'ipb-change-block' => 'Lankidea honako balioekin bir-blokeatu',
+'ipbwatchuser' => 'Egin jarraipena erabiltzaile honen erabiltzaile eta eztabaida orriei',
+'ipb-disableusertalk' => 'Galarazi erabiltzaile honi bere eztabaida orria editatzea, blokeatuta dagoen aldian',
+'ipb-change-block' => 'Berriz blokeatu erabiltzailea, parametro hauekin',
 'ipb-confirm' => 'Blokeoa baieztatu',
 'badipaddress' => 'Baliogabeko IP helbidea',
 'blockipsuccesssub' => 'Blokeoa burutu da',
@@ -2420,10 +2477,9 @@ Ikus [[Special:BlockList|blokeoen zerrenda]] blokeoak aztertzeko.',
 'emaillink' => 'E-maila bidali',
 'autoblocker' => '"[[User:$1|$1]]"(e)k berriki erabili duen IP helbidea duzulako autoblokeatu zaizu. $1(e)k emandako arrazoia zera da: "\'\'\'$2\'\'\'"',
 'blocklogpage' => 'Blokeo erregistroa',
-'blocklog-showlog' => 'Lankide hau aurretik blokeatua izan da.
-Blokeo erregistroa ematen da azpian erreferentziarako:',
-'blocklog-showsuppresslog' => 'Lankide hau aurretik blokeatua eta ezkutatua izan da.
-Erregistroa ematen da azpian erreferentziarako:',
+'blocklog-showlog' => 'Lankide hau blokeatua izan da lehenago ere.
+Hona hemen blokeoen erregistroa, erreferentzia gisa:',
+'blocklog-showsuppresslog' => 'Lankide hau blokeatua eta ezkutatua izan da lehenago ere. Hona hemen erregistroa, erreferentzia gisa:',
 'blocklogentry' => 'wikilariak [[$1]] erabiltzailea blokeatu du. Blokeoaldia: $2 $3',
 'reblock-logentry' => '[[$1]] wikilariari blokeoaldia aldatu diogu. Blokeoaldi berria: $2 $3',
 'blocklogtext' => 'Erabiltzaileen blokeoen ezarpen eta ezabaketen erregistroa da hau. 
@@ -2458,16 +2514,16 @@ Hala ere, $2-(r)en parte denez, blokeoa kendu daiteke.',
 'ipbnounblockself' => 'Ez duzu baimenik zure buruari blokeoa kentzeko',
 
 # Developer tools
-'lockdb' => 'Datu-basea blokeatu',
+'lockdb' => 'Blokeatu datu basea',
 'unlockdb' => 'Datu-basea desblokeatu',
 'lockdbtext' => 'Datu-basea blokeatzeak edozein erabiltzailek orrialdeak aldatzea, hobespenak aldatzea, jarraipen zerrendan aldaketak egitea, eta datu-basean edozein aldaketa behar duen edozein ekintza galaraziko du. Mesedez, baieztatu zure asmoa hori dela, eta blokeoa kenduko duzula mantenua burutu ondoren.',
 'unlockdbtext' => 'Datu-basea desblokeatzerakoan erabiltzaile guztiek orrialdeak aldatu, beraien hobespenak ezarri, jarraipen zerrendan aldaketak egin eta beste eragiketa batzuk burutzeko gaitasuna leheneratuko du. Mesedez, baieztatu egin nahi duzuna hori dela.',
 'lockconfirm' => 'Bai, datu-basea blokeatu nahi dut',
 'unlockconfirm' => 'Bai, datu-basea desblokeatu nahi dut',
-'lockbtn' => 'Datu-basea blokeatu',
+'lockbtn' => 'Blokeatu datu basea',
 'unlockbtn' => 'Datu-basea desblokeatu',
 'locknoconfirm' => 'Ez duzu baieztapen kutxa hautatu.',
-'lockdbsuccesssub' => 'Datu-basea blokeatu egin da',
+'lockdbsuccesssub' => 'Datu-basea blokeatu da',
 'unlockdbsuccesssub' => 'Datu-basearen blokeoa kendu da',
 'lockdbsuccesstext' => 'Datu-basea blokeatu egin da. <br />Ez ahaztu mantenu lanak burutu ondoren [[Special:UnlockDB|blokeoa kentzeaz]].',
 'unlockdbsuccesstext' => 'Datu-basea desblokeatu egin da.',
@@ -2507,7 +2563,7 @@ Kasu horietan orrialdea eskuz mugitu edo bestearekin bateratu beharko duzu.",
 'movepagebtn' => 'Orrialde mugitu',
 'pagemovedsub' => 'Mugimendua eginda',
 'movepage-moved' => '\'\'\'"$1" "$2"(e)ra mugitu da\'\'\'',
-'movepage-moved-redirect' => 'Birzuzenketa orrialde bat sortu da.',
+'movepage-moved-redirect' => 'Birbideratze orri bat sortu da.',
 'movepage-moved-noredirect' => 'Birzuzenketa baten sorrera kendu da.',
 'articleexists' => 'Izen hori duen artikulu bat badago edo hautatutako izena ez da baliozkoa. Mesedez, beste izen bat aukeratu.',
 'cantmove-titleprotected' => 'Ezin duzu orrialde bat leku honetara mugitu izenburu berri hori sor ez dadin babesa duelako',
@@ -2531,7 +2587,7 @@ Kasu horietan orrialdea eskuz mugitu edo bestearekin bateratu beharko duzu.",
 "[[:$1]]" helburua existitzen da. Lekua egiteko ezabatu nahi al duzu?',
 'delete_and_move_confirm' => 'Bai, orrialdea ezabatu',
 'delete_and_move_reason' => '[[$1]] mugitzeko ezabatu da',
-'selfmove' => 'Helburu izenburua berdina da; ezin da orrialde bat bere gainera mugitu.',
+'selfmove' => 'Helburu izenburua berdin-berdina da; ezin da orri bat bere gainera mugitu.',
 'immobile-source-namespace' => '"$1" motako orrialdeak ezin dira mugitu',
 'immobile-target-namespace' => 'Orrialdeak ezin dira "$1" motara mugitu',
 'immobile-target-namespace-iw' => 'Interwiki lotura ez da baliagarria orrialdea mugitu ahal izateko.',
@@ -2559,13 +2615,13 @@ Horrez gain, lotura zuzena ere erabil dezakezu; adibidez, [[{{#Special:Export}}/
 'exportcuronly' => 'Oraingo berrikuspena bakarrik hartu, ez historia guztia',
 'exportnohistory' => "----
 '''Oharra:''' Formulario honen bitartez orrialdeen historia osoak esportatzeko aukera ezgaitu egin da, errendimendua dela-eta.",
-'exportlistauthors' => 'Orrialde bakoitzaren lankideen zerrenda osoa sartu',
+'exportlistauthors' => 'Sartu orri bakoitzaren lankideen zerrenda osoa',
 'export-submit' => 'Esportatu',
 'export-addcattext' => 'Orrialdeak gehitu kategoria honetatik:',
 'export-addcat' => 'Gehitu',
 'export-addnstext' => 'Izen-tarteko orrialdeak gehitu:',
 'export-addns' => 'Gehitu',
-'export-download' => 'Fitxategi moduan gordetzeko eskaini',
+'export-download' => 'Gorde fitxategitzat',
 'export-templates' => 'Txantiloiak barneratu',
 'export-pagelinks' => 'Sartu lotutako orriak honako sakoneran:',
 
@@ -2590,6 +2646,8 @@ Mesedez bisitatu [https://www.mediawiki.org/wiki/Localisation MediaWiki] eta [//
 'thumbnail-more' => 'Handitu',
 'filemissing' => 'Fitxategia falta da',
 'thumbnail_error' => 'Errorea irudi txikia sortzerakoan: $1',
+'thumbnail_error_remote' => '$1 gunearen akats mezua:
+$2',
 'djvu_page_error' => 'DjVu orrialdea eremuz kanpo',
 'djvu_no_xml' => 'Ezinezkoa izan da DjVu fitxategiaren XML lortzea',
 'thumbnail-temp-create' => 'Ezin izan da behin-behineko iruditxoa sortu',
@@ -2638,6 +2696,12 @@ Fitxategiaren atal bat baino ez zen igo.',
 'import-upload' => 'Igo XML datuak',
 'import-token-mismatch' => 'Sesio data galdu da. Saia saitez berriro ere, mesedez.',
 'import-invalid-interwiki' => 'Ezin da esandako wikitik inportatu.',
+'import-error-edit' => '"$1" orrialdea ez da inportatu ez duzula baimenik aldatzeko.',
+'import-error-create' => '"$1" orrialdea ez da inportatu ez duzula baimenik sortzeko.',
+'import-error-interwiki' => '"$1" orrialdea ez da inportatu bere izena kanpo loturetarako gordeta dagoelako (interwiki).',
+'import-error-special' => '"$1" orrialdea ez da inportatu izen-tarte berezi bati dagokiolako eta horretan orrialderik ezin delako egon.',
+'import-error-invalid' => '"$1" orrialdea ez da inportatu izena ez delako baliagarria.',
+'import-options-wrong' => 'Aukera {{PLURAL:$2|ez-egokia|ez-egokiak}}:<nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'Emandako jatorri orrialdea izenburu ez-baliagarria da.',
 'import-rootpage-nosubpage' => 'Jatorri orrialdearen "$1" izen-tarteak ez du baimentzen azpi-orrialderik.',
 
@@ -2700,7 +2764,7 @@ Fitxategiaren atal bat baino ez zen igo.',
 'tooltip-t-contributions' => 'Lankide honen ekarpen zerrenda ikusi',
 'tooltip-t-emailuser' => 'Lankide honi e-posta mezua bidali',
 'tooltip-t-upload' => 'Irudiak edo media fitxategiak igo',
-'tooltip-t-specialpages' => 'Aparteko orrialde guztien zerrenda',
+'tooltip-t-specialpages' => 'Orri berezi guztien zerrenda',
 'tooltip-t-print' => 'Orrialde honen bertsio inprimagarria',
 'tooltip-t-permalink' => 'Orrialde honen bertsio honetara lotura egonkorra',
 'tooltip-ca-nstab-main' => 'Eduki orrialdea ikusi',
@@ -2713,7 +2777,7 @@ Fitxategiaren atal bat baino ez zen igo.',
 'tooltip-ca-nstab-template' => 'Txantiloia ikusi',
 'tooltip-ca-nstab-help' => 'Laguntza orrialdea ikusi',
 'tooltip-ca-nstab-category' => 'Kategoria orrialdea ikusi',
-'tooltip-minoredit' => 'Aldaketa txiki bezala markatu hau',
+'tooltip-minoredit' => 'Markatu aldaketa hau txikitzat',
 'tooltip-save' => 'Zure aldaketak gorde',
 'tooltip-preview' => 'Zure aldaketak aurreikusi, mesedez gorde aurretik erabili!',
 'tooltip-diff' => 'Testuari egindako aldaketak erakutsi.',
@@ -2775,6 +2839,7 @@ Atal hau '''EZ''' bete!",
 'pageinfo-length' => 'Orriaren neurria (byteak)',
 'pageinfo-article-id' => 'Orriaren identifikazio zenbakia',
 'pageinfo-language' => 'Orriaren edukiaren hizkuntza',
+'pageinfo-content-model' => 'Orrialde edukiaren eredua',
 'pageinfo-robot-policy' => 'Errobotak indexatzea egiten',
 'pageinfo-robot-index' => 'Baimendua',
 'pageinfo-robot-noindex' => 'Debekatua',
@@ -2795,6 +2860,7 @@ Atal hau '''EZ''' bete!",
 'pageinfo-magic-words' => 'Hitz {{PLURAL:$1|magikoa|magikoak}} ($1)',
 'pageinfo-hidden-categories' => 'Ezkutuko {{PLURAL:$1|kategoria|kategoriak}} ($1)',
 'pageinfo-templates' => 'Txertatutako {{PLURAL:$1|txantiloia|txantiloiak}} ($1)',
+'pageinfo-transclusions' => '{{PLURAL:$1|Orrialde baten transklusioa|$1 orrialderen transklusioa}}',
 'pageinfo-toolboxlink' => 'Orri honen datuak',
 'pageinfo-redirectsto' => 'Hona birzuzentzen du',
 'pageinfo-redirectsto-info' => 'Informazioa',
@@ -2822,7 +2888,7 @@ Atal hau '''EZ''' bete!",
 'markedaspatrollederror' => 'Ezin da patruilatutzat markatu',
 'markedaspatrollederrortext' => 'Patruilatutzat markatzeko berrikuspen bat hautatu behar duzu.',
 'markedaspatrollederror-noautopatrol' => 'Ez daukazu zeure aldaketak patruilatutzat markatzeko baimenik.',
-'markedaspatrollednotify' => '$1 orrialdeari egindako aldaketa patruilatu moduan markatua izan da.',
+'markedaspatrollednotify' => '«$1» orriari egindako aldaketa patruilatutzat markatu da.',
 'markedaspatrollederrornotify' => 'Patruilatu gisa markatzean akatsa egon da.',
 
 # Patrol log
@@ -2857,7 +2923,7 @@ Zure sisteman exekutatzea arriskutsua izan liteke.",
 'file-nohires' => 'Ez dago bereizmen handiagorik.',
 'svg-long-desc' => 'SVG fitxategia, nominaldi $1 × $2 pixel, fitxategiaren tamaina: $3',
 'svg-long-error' => 'SVG fitxategi ez baliagarria: $1',
-'show-big-image' => 'Bereizmen handikoa',
+'show-big-image' => 'Jatorrizko fitxategia',
 'show-big-image-preview' => 'Aurreikuspen honen neurria: $1.',
 'show-big-image-other' => 'Bestelako {{PLURAL:$2|bereizmena|bereizmenak}}: $1.',
 'show-big-image-size' => '$1 × $2 pixel',
@@ -2866,6 +2932,7 @@ Zure sisteman exekutatzea arriskutsua izan liteke.",
 'file-info-png-looped' => 'begiztatua',
 'file-info-png-repeat' => '{{PLURAL:$1|Behin|$1 aldiz}} ikusia',
 'file-info-png-frames' => '{{PLURAL:$1|Frame bat|$1 frame}}',
+'file-no-thumb-animation' => "'''Oharra: Muga teknikoak direla eta, fitxategi honen iruditxoak ezin dira animatu.'''",
 
 # Special:NewFiles
 'newimages' => 'Fitxategi berrien galeria',
@@ -3402,6 +3469,11 @@ Egiaztapen kode hau $4 iraungiko da.',
 'imgmultigo' => 'Joan!',
 'imgmultigoto' => '$1 orrialdera joan',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(berezko hizkuntza)',
+'img-lang-info' => 'Irudi hau $1 hizkuntzan renderizatu $2.',
+'img-lang-go' => 'Joan',
+
 # Table pager
 'ascending_abbrev' => 'gor',
 'descending_abbrev' => 'behe',
@@ -3435,9 +3507,9 @@ Egiaztapen kode hau $4 iraungiko da.',
 'watchlistedit-noitems' => 'Zure jarraitze-zerrendak ez du izenbururik.',
 'watchlistedit-normal-title' => 'Jarraitze zerrenda aldatu',
 'watchlistedit-normal-legend' => 'Jarraipen-zerrendatik izenburuak kendu',
-'watchlistedit-normal-explain' => 'Zure jarraipen zerrendako izenburuak azpian daude.
-Titulu bat kentzeko ondoan dagoen kutxa marka ezazu eta "{{int:Watchlistedit-normal-submit}}" gainean klik egin.
-Gainera [[Special:EditWatchlist/raw|zerrenda gordina aldatu]] dezakezu.',
+'watchlistedit-normal-explain' => 'Behean ageri dira zure jarraipen zerrendako izenburuak.
+Izenburu bat kentzeko, marka ezazu ondoan duen laukia, eta klika ezazu «{{int:Watchlistedit-normal-submit}}».
+Nahiago baduzu, [[Special:EditWatchlist/raw|zerrenda soila edita dezakezu]].',
 'watchlistedit-normal-submit' => 'Izenburuak kendu',
 'watchlistedit-normal-done' => 'Zure jarraipen-zerrendatik {{PLURAL:$1|izenburu bat kendu da|$1 izenburu kendu dira}}.',
 'watchlistedit-raw-title' => 'Jarraitze zerrenda gordina aldatu',
@@ -3483,6 +3555,8 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'version-license' => 'Lizentzia',
 'version-poweredby-credits' => "Wiki hau '''[https://www.mediawiki.org/ MediaWiki]'''k sustatzen du (copyright © 2001-$1 $2).",
 'version-poweredby-others' => 'beste batzuk',
+'version-poweredby-translators' => 'translatewiki.net itzultzaileak',
+'version-credits-summary' => 'Hurrengo pertsonak gogoan izan nahi ditugu [[Special:Version|MediaWikiri]] egindako ekarpena dela eta.',
 'version-software' => 'Instalatutako softwarea',
 'version-software-product' => 'Produktua',
 'version-software-version' => 'Bertsioa',
@@ -3514,6 +3588,7 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 
 # Special:SpecialPages
 'specialpages' => 'Orri bereziak',
+'specialpages-note-top' => 'Legenda',
 'specialpages-note' => '* Orri berezi arruntak.
 * <strong class="mw-specialpagerestricted">Mugatutako orri bereziak.</strong>',
 'specialpages-group-maintenance' => 'Mantentze-oharrak',
@@ -3552,7 +3627,10 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'tags-tag' => 'Etiketaren izena',
 'tags-display-header' => 'Aldaketa zerrenden itxura',
 'tags-description-header' => 'Esanahiaren deskribapen osoa',
+'tags-active-header' => 'Aktiboa?',
 'tags-hitcount-header' => 'Etiketatutako aldaketak',
+'tags-active-yes' => 'Bai',
+'tags-active-no' => 'Ez',
 'tags-edit' => 'aldatu',
 'tags-hitcount' => '$1 {{PLURAL:$1|aldaketa|aldaketa}}',
 
@@ -3572,6 +3650,7 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'dberr-problems' => 'Barkatu! Webgune honek zailtasun teknikoak jasaten ari da.',
 'dberr-again' => 'Saiatu pare bat minutu itxaroten edo kargatu ezazu orrialdea berriro.',
 'dberr-info' => '($1: Ezin da datu-base zerbitzariarekin konektatu)',
+'dberr-info-hidden' => '(Ezin da konektatu datubasearen zerbitzariarekin)',
 'dberr-usegoogle' => 'Bitartean Google bidez bilatzen saiatu zintezke.',
 'dberr-outofdate' => 'Eduki hauek aurkibideak eguneratu gabe egon daitezke.',
 'dberr-cachederror' => 'Ondorengoa eskatutako orriaren katxedun kopia da, eta eguneratu gabe egon daiteke.',
@@ -3625,6 +3704,7 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'feedback-message' => 'Mezua:',
 'feedback-cancel' => 'Utzi',
 'feedback-submit' => 'Feedbacka bidali',
+'feedback-adding' => 'Orriari feedbacka gehitzen...',
 'feedback-error1' => 'Akatsa: APIaren emaitza ez ezagunak',
 'feedback-error2' => 'Akatsa: Aldaketa ez da egin',
 'feedback-error3' => 'Akatsa: APIaren erantzunik gabe',
@@ -3638,6 +3718,7 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 # API errors
 'api-error-badaccess-groups' => 'Ez duzu baimendik fitxategi hauek wiki honetara igotzeko.',
 'api-error-badtoken' => 'Barne akatsa: token okerra.',
+'api-error-duplicate-popup-title' => 'Fitxategi {{PLURAL:$1|bikoiztua|bikoiztuak}}.',
 'api-error-empty-file' => 'Bidali duzun fitxategia hutsik dago.',
 'api-error-emptypage' => 'Berria sortzerako garaian orrialde hutsak ezin dira erabili.',
 'api-error-fetchfileerror' => 'Barne akatsa: zerbait gaizki joan da fitxategia eskuratzerakoan.',
@@ -3676,6 +3757,20 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 # Image rotation
 'rotate-comment' => 'Irudia erlojuaren norantzan {{PLURAL:$1|gradu 1|$1 gradu}} biratua izan da',
 
+# Limit report
+'limitreport-cputime' => 'CPU denbora erabilpena',
+'limitreport-cputime-value' => '{{PLURAL:$1|Segundu $1|$1 segundu}}',
+'limitreport-walltime' => 'Denbora errealeko erabilpena',
+'limitreport-walltime-value' => '{{plural:$1|Segundu $1|$1 segundu}}',
+'limitreport-ppvisitednodes' => 'Preprozesadoreak bisitatu du nodo kontua',
+'limitreport-ppgeneratednodes' => 'Preprozesadoreak sortu du nodo kontua',
+'limitreport-postexpandincludesize' => 'Espantsioaren ondoko inklusio tamaina',
+'limitreport-postexpandincludesize-value' => '{{PLURAL:$2|byte $1/$2|$1/$2 byte}}',
+'limitreport-templateargumentsize' => 'Txantiloiaren argumentuaren tamaina',
+'limitreport-templateargumentsize-value' => '{{PLURAL:$2|byte $1/$2|$1/$2 byte}}',
+'limitreport-expansiondepth' => 'Gehienezko espantsio sakonera',
+'limitreport-expensivefunctioncount' => 'Parser funtzio kontaketa garestia',
+
 # Special:ExpandTemplates
 'expandtemplates' => 'Txantiloi ordezkatzailea',
 'expand_templates_intro' => 'Aparteko orrialde honek modu errekurtsiboan txantiloiak ordezkatu egiten ditu.
@@ -3689,6 +3784,7 @@ Kortxete bikoitzarekin hobeto egiten da lan.',
 'expand_templates_xml_output' => 'XML irteera',
 'expand_templates_ok' => 'Ados',
 'expand_templates_remove_comments' => 'Iruzkinak kendu',
+'expand_templates_remove_nowiki' => 'Ezabatu <nowiki> etiketen emaitzak',
 'expand_templates_generate_xml' => 'Erakutsi XML parse zuhaitza',
 'expand_templates_preview' => 'Aurreikusi',
 
index ef0e274..929cf73 100644 (file)
@@ -11,6 +11,7 @@
  * @author Americophile
  * @author Amire80
  * @author Armandaneshjoo
+ * @author Armin1392
  * @author Asoxor
  * @author Baqeri
  * @author Behdarvandyani
@@ -455,7 +456,7 @@ $messages = array(
 'tog-justify' => 'بندها تمام‌چین نمایش یابند',
 'tog-hideminor' => 'تغییرات جزئی از فهرست تغییرات اخیر پنهان شوند',
 'tog-hidepatrolled' => 'ویرایش‌های گشت‌خورده از فهرست تغییرات اخیر پنهان شوند',
-'tog-newpageshidepatrolled' => 'صفحه‌های نهگبانی‌شده از فهرست صفحه‌های تازه پنهان شوند',
+'tog-newpageshidepatrolled' => 'صفحه‌های گشت‌خورده از فهرست صفحه‌های تازه پنهان شوند',
 'tog-extendwatchlist' => 'گسترش فهرست پی‌گیری‌ها برای نمایش همهٔ تغییرات، نه فقط آخرین‌ها',
 'tog-usenewrc' => 'گروه‌بندی تغییرات بر پایهٔ صفحه‌های تغییرات اخیر و فهرست پیگیری‌ها (نیازمند جاوااسکریپت)',
 'tog-numberheadings' => 'شماره‌گذاری خودکار عنوان‌ها',
@@ -1688,6 +1689,7 @@ $1",
 'prefs-tokenwatchlist' => 'نشانه',
 'prefs-diffs' => 'تفاوت‌ها',
 'prefs-help-prefershttps' => 'تأثیر این ترجیح بعد از ورود بعدی شما اعمال خواهد شد.',
+'prefs-tabs-navigation-hint' => 'نکته: شما می توانید از کلیدهای جهت‌نمای چپ و راست برای حرکت بین زبانه‌ها در فهرست زبانه‌ها استفاده کنید.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'نشانی رایانامه معتبر به نظر می‌رسد',
@@ -1870,17 +1872,18 @@ $1",
 'recentchanges-noresult' => 'هیچ تغییری در طول دورهٔ تعیین‌شده با این معیارها هم‌خوانی نداشت.',
 'recentchanges-feed-description' => 'آخرین تغییرات ویکی را در این خوراک پی‌گیری کنید.',
 'recentchanges-label-newpage' => 'این ویرایش صفحه‌ای جدید ایجاد کرد',
-'recentchanges-label-minor' => 'این ویرایش جزئی‌است',
+'recentchanges-label-minor' => 'این یک ویرایش جزئی‌است',
 'recentchanges-label-bot' => 'این ویرایش را یک ربات انجام داده‌است',
 'recentchanges-label-unpatrolled' => 'این ویرایش هنوز گشت‌زنی نشده‌است',
 'recentchanges-label-plusminus' => 'حجم صفحه به اندازه این بایت‌ها تغییر یافته‌است',
+'recentchanges-legend-heading' => "'''اختصارها:'''",
 'recentchanges-legend-newpage' => '(همچنین به [[Special:NewPages|فهرست صفحات جدید]] نگاه کنید)',
 'recentchanges-legend-plusminus' => "('' ±۱۲۳'')",
 'rcnotefrom' => 'در زیر تغییرات از تاریخ <b>$2</b> آمده‌اند (تا <b>$1</b> مورد نشان داده می‌شود).',
 'rclistfrom' => 'نمایش تغییرات جدید با شروع از $1',
 'rcshowhideminor' => '$1 ویرایش‌های جزئی',
 'rcshowhidebots' => '$1 ربات‌ها',
-'rcshowhideliu' => '$1 کاربران ثبت‌نام‌کرده',
+'rcshowhideliu' => 'کاربران نسخهٔ $1 ثبت‌نام‌ کردند',
 'rcshowhideanons' => '$1 کاربران ناشناس',
 'rcshowhidepatr' => '$1 ویرایش‌های گشت‌خورده',
 'rcshowhidemine' => '$1 ویرایش‌های من',
@@ -2339,6 +2342,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization را ببینید.',
 'ninterwikis' => '$1 {{PLURAL:$1|میان‌ویکی|میان‌ویکی}}',
 'nlinks' => '$1 {{PLURAL:$1|پیوند|پیوند}}',
 'nmembers' => '$1 {{PLURAL:$1|عضو|عضو}}',
+'nmemberschanged' => '$1 → $2   {{PLURAL:$2| عضو|عضو}}',
 'nrevisions' => '$1 {{PLURAL:$1|نسخه|نسخه}}',
 'nviews' => '$1 {{PLURAL:$1|بازدید|بازدید}}',
 'nimagelinks' => 'مورد استفاده در $1 {{PLURAL:$1|صفحه|صفحه}}',
@@ -3995,12 +3999,14 @@ $5
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(زبان پیش‌فرض)',
+'img-lang-info' => 'ارائه این تصویر در  $1 .  $2',
+'img-lang-go' => 'برو',
 
 # Table pager
 'ascending_abbrev' => 'صعودی',
 'descending_abbrev' => 'نزولی',
 'table_pager_next' => 'صفحهٔ بعدی',
-'table_pager_prev' => 'صفحه قبل',
+'table_pager_prev' => 'صفحهٔ قبل',
 'table_pager_first' => 'صفحهٔ نخست',
 'table_pager_last' => 'صفحهٔ آخر',
 'table_pager_limit' => 'نمایش $1 مورد در هر صفحه',
@@ -4158,13 +4164,15 @@ $5
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath مسیر اسکریپت]',
 
 # Special:Redirect
-'redirect' => 'تغییرمسیر توسط پرونده، کاربر یا شناسهٔ نسخه',
+'redirect' => 'تغییرمسیر توسط پرونده، کاربر، صفحه یا شناسهٔ نسخه',
 'redirect-legend' => 'تغییرمسیر به یک پرونده یا صفحه',
-'redirect-summary' => 'این صفحهٔ ویژه به پرونده (نام پرونده داده‌شده)، صفحه (شماره شناسهٔ صفحه داده‌شده) یا صفحهٔ کاربری (شناسهٔ عددی کاربری داده‌شده) تغییرمسیر می‌یابد. طرز استفاده: [[{{#Special:Redirect}}/file/Example.jpg]]، [[{{#Special:Redirect}}/revision/328429]] یا [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'این صفحهٔ ویژه به پرونده (نام پرونده داده‌شده)، صفحه (شماره شناسهٔ صفحه یا شماره نسخهٔ داده‌شده) یا صفحهٔ کاربری (شناسهٔ عددی کاربری داده‌شده) تغییرمسیر می‌یابد. طرز استفاده: [[{{#Special:Redirect}}/file/Example.jpg]]، 
+[[{{#Special:Redirect}}/page/64308]]، [[{{#Special:Redirect}}/revision/328429]] یا [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'برو',
 'redirect-lookup' => 'جستجو:',
 'redirect-value' => 'مقدار:',
 'redirect-user' => 'شناسهٔ کاربر',
+'redirect-page' => 'شناسهٔ صفحه',
 'redirect-revision' => 'نسخهٔ صفحه',
 'redirect-file' => 'نام پرونده',
 'redirect-not-exists' => 'مقدار پیدا نشد',
@@ -4402,10 +4410,12 @@ $5
 'expand_templates_input' => 'متن ورودی:',
 'expand_templates_output' => 'نتیجه',
 'expand_templates_xml_output' => 'خروجی XML',
+'expand_templates_html_output' => 'خروجی اچ‌تی‌ام‌ال خام',
 'expand_templates_ok' => 'تأیید',
 'expand_templates_remove_comments' => 'حذف ملاحظات',
 'expand_templates_remove_nowiki' => 'خنثی کردن تگ‌های <nowiki> در نتیجه',
 'expand_templates_generate_xml' => 'نمایش درخت تجزیهٔ XML',
+'expand_templates_generate_rawhtml' => 'نمایش اچ‌تی‌ام‌ال خام',
 'expand_templates_preview' => 'پیش‌نمایش',
 
 );
index 149c30f..0475e13 100644 (file)
@@ -1701,12 +1701,13 @@ Tämä tieto on julkinen.',
 'recentchanges-label-bot' => 'Tämän muutoksen suoritti botti',
 'recentchanges-label-unpatrolled' => 'Tätä muutosta ei ole vielä tarkastettu',
 'recentchanges-label-plusminus' => 'Sivun koon muutos tavuina',
+'recentchanges-legend-heading' => "'''Selitys:'''",
 'recentchanges-legend-newpage' => '(katso myös [[Special:NewPages|lista uusista sivuista]])',
 'rcnotefrom' => 'Alla on muutokset <b>$2</b> lähtien. Enintään <b>$1</b> merkintää näytetään.',
 'rclistfrom' => 'Näytä uudet muutokset $1 alkaen',
 'rcshowhideminor' => '$1 pienet muutokset',
 'rcshowhidebots' => '$1 botit',
-'rcshowhideliu' => '$1 kirjautuneet käyttäjät',
+'rcshowhideliu' => '$1 rekisteröityneet käyttäjät',
 'rcshowhideanons' => '$1 anonyymit käyttäjät',
 'rcshowhidepatr' => '$1 tarkastetut muutokset',
 'rcshowhidemine' => '$1 omat muutokset',
index d2258a2..04539de 100644 (file)
@@ -55,6 +55,7 @@
  * @author Korrigan
  * @author Krinkle
  * @author Kropotkine 113
+ * @author Kvardek du
  * @author Litlok
  * @author Lloffiwr
  * @author Louperivois
@@ -68,6 +69,7 @@
  * @author Nicolas NALLET
  * @author Nicolas Raoul
  * @author Nnemo
+ * @author Nobody
  * @author Od1n
  * @author Omnipaedista
  * @author Peter17
@@ -1610,6 +1612,7 @@ Cette information sera publique.',
 'prefs-tokenwatchlist' => 'Jeton',
 'prefs-diffs' => 'Différences',
 'prefs-help-prefershttps' => 'Cette préférence sera effective lors de votre prochaine connexion.',
+'prefs-tabs-navigation-hint' => 'Astuce : Vous pouvez utiliser les flèches de gauche et de droite pour naviguer entre les onglets.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Semble valide',
@@ -1792,17 +1795,18 @@ Cette information sera publique.',
 'recentchanges-noresult' => 'Aucune modification correspondant à ces critères sur la période indiquée.',
 'recentchanges-feed-description' => 'Suivre les dernières modifications de ce wiki dans un flux.',
 'recentchanges-label-newpage' => 'Cette modification a créé une nouvelle page',
-'recentchanges-label-minor' => 'Cette modification est mineure',
+'recentchanges-label-minor' => 'Cette modification est mineure.',
 'recentchanges-label-bot' => 'Cette modification a été effectuée par un robot.',
 'recentchanges-label-unpatrolled' => "Cette modification n'a pas encore été patrouillée.",
-'recentchanges-label-plusminus' => 'La taille de la page a changé de ce nombre d’octets',
-'recentchanges-legend-newpage' => '(voir aussi la [[Special:NewPages|liste des nouvelles pages]])',
+'recentchanges-label-plusminus' => 'La taille de la page a changé de ce nombre d’octets.',
+'recentchanges-legend-heading' => "'''Légende :'''",
+'recentchanges-legend-newpage' => '(voir aussi la [[Special:NewPages|liste des nouvelles pages]]).',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Voici les modifications effectuées depuis le '''$2''' ('''$1''' au maximum).",
 'rclistfrom' => 'Afficher les nouvelles modifications depuis le $1.',
 'rcshowhideminor' => '$1 les modifications mineures',
 'rcshowhidebots' => '$1 les robots',
-'rcshowhideliu' => '$1 les utilisateurs inscrits',
+'rcshowhideliu' => '$1 les utilisateurs enregistrés',
 'rcshowhideanons' => '$1 les utilisateurs anonymes',
 'rcshowhidepatr' => '$1 les modifications surveillées',
 'rcshowhidemine' => '$1 mes modifications',
@@ -2263,6 +2267,7 @@ Les entrées <del>barrées</del> ont été résolues.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikis}}',
 'nlinks' => '$1 {{PLURAL:$1|page liée|pages liées}}',
 'nmembers' => '$1 membre{{PLURAL:$1||s}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|membre|membres}}',
 'nrevisions' => '$1 version{{PLURAL:$1||s}}',
 'nviews' => '$1 consultation{{PLURAL:$1||s}}',
 'nimagelinks' => 'Utilisé sur $1 {{PLURAL:$1|page|pages}}',
@@ -4353,10 +4358,12 @@ En fait, elle réalise l'expansion de pratiquement tout ce qui est encadré par
 'expand_templates_input' => 'Texte wiki source :',
 'expand_templates_output' => 'Texte wiki obtenu après expansion',
 'expand_templates_xml_output' => 'Résultat intermédiaire de l’analyse, au format XML',
+'expand_templates_html_output' => 'Sortie en HTML brut',
 'expand_templates_ok' => 'Valider',
 'expand_templates_remove_comments' => 'Supprimer les commentaires',
 'expand_templates_remove_nowiki' => 'Supprime les marqueurs <nowiki> dans le résultat',
 'expand_templates_generate_xml' => 'Voir l’arborescence d’analyse XML',
+'expand_templates_generate_rawhtml' => 'Afficher le HTML brut',
 'expand_templates_preview' => 'Aperçu du rendu',
 
 );
index 7033fe0..faee3be 100644 (file)
@@ -12,6 +12,7 @@
  * @author Klenje
  * @author MF-Warburg
  * @author Reedy
+ * @author Tocaibon
  * @author Urhixidur
  * @author לערי ריינהארט
  */
@@ -121,35 +122,56 @@ $messages = array(
 'tog-underline' => 'Sotlinee leams',
 'tog-justify' => 'Justifiche paragraf',
 'tog-hideminor' => 'Plate lis piçulis modifichis tai ultins cambiaments',
-'tog-usenewrc' => 'Dopre i ultins cambiaments avanzâts (covente JavaScript)',
+'tog-hidepatrolled' => 'Plate lis modifichis controladis intai ultins cambiaments',
+'tog-newpageshidepatrolled' => 'Plate lis pagjinis verificadis de liste des pagjinis gnovis',
+'tog-extendwatchlist' => 'Slargje la liste des controladis specialis, no dome aes ultimis',
+'tog-usenewrc' => 'Ragrupe lis modifichis par pagjine intes ultimis modifichis e inati oservâts speciai',
 'tog-numberheadings' => 'Numerazion automatiche dai titui',
 'tog-showtoolbar' => 'Mostre sbare dai imprescj pe modifiche (JavaScript)',
-'tog-editondblclick' => 'Cambie lis pagjinis fracant dôs voltis (JavaScript)',
+'tog-editondblclick' => 'Cambie lis pagjinis fracant dôs voltis',
 'tog-editsection' => 'Inserìs un leam [cambie] pe editazion veloç di une sezion',
-'tog-editsectiononrightclick' => 'Modifiche une sezion fracant cul tast diestri<br /> sui titui des sezions (JavaScript)',
+'tog-editsectiononrightclick' => 'Modifiche une sezion fracant cul tast diestri<br /> sui titui des sezions',
 'tog-showtoc' => 'Mostre la tabele dai contignûts pes pagjinis cun plui di 3 sezions',
 'tog-rememberpassword' => 'Visiti di me su chest sgarfadôr (par un massim di $1 {{PLURAL:$1|zornade|zornadis}})',
+'tog-watchcreations' => 'Zonte  lis pagjinis creadis e i file cjariats aes oservadis specials',
 'tog-watchdefault' => 'Zonte in automatic lis pagjinis che o cambii inte liste di chês tignudis di voli',
+'tog-watchmoves' => 'Zonte in automatic lis pagjinis che o cambii inte liste di chês tignudis di voli',
+'tog-watchdeletion' => 'Zonte in automatic lis pagjinis che o cambii inte liste di chês tignudis di voli',
 'tog-minordefault' => 'Imposte come opzion predeterminade ducj i cambiaments come piçui',
 'tog-previewontop' => 'Mostre anteprime parsore dal spazi pe modifiche',
 'tog-previewonfirst' => 'Mostre anteprime te prime modifiche',
-'tog-enotifwatchlistpages' => 'Mandimi une email se la pagjine e gambie',
+'tog-enotifwatchlistpages' => 'Mandimi une email se la pagjine o un file al gambie',
 'tog-enotifusertalkpages' => 'Mandimi une email cuant che la mê pagjine di discussion e gambie',
 'tog-enotifminoredits' => 'Mandimi une email ancje pai piçui cambiaments ae pagjine',
 'tog-enotifrevealaddr' => 'Distapone fûr il gno recapit email tai messaçs di notifiche',
 'tog-shownumberswatching' => 'Mostre il numar di utents che a stan tignint di voli',
+'tog-oldsig' => 'Firme esistente',
 'tog-fancysig' => 'Interprete lis firmis come test wiki (cence un leam automatic)',
+'tog-uselivepreview' => 'Dopre la anteprime direte (sperimentâl)',
+'tog-forceeditsummary' => 'Domande conferme se il cjamp ogjet al è vueit',
 'tog-watchlisthideown' => 'Plate i miei cambiaments inte liste des pagjinis tignudis di voli',
+'tog-watchlisthidebots' => 'Plate i bot de liste dai oservâts speciai',
+'tog-watchlisthideminor' => 'Plate i piçui cambiaments de liste dai oservâts speciai',
+'tog-watchlisthideliu' => 'Plate lis modifichis dai utents regjstrâts de liste dai oservâts speciai',
+'tog-watchlisthideanons' => 'Palte lis modifichis dai utents anonims dai oservâts speciai',
+'tog-watchlisthidepatrolled' => 'Plate lis modifichis verificadis de liste dai oservâts speciai',
 'tog-ccmeonemails' => 'Mandimi une copie dai messaçs che o mandi ai altris utents',
+'tog-diffonly' => 'No mostrâ la pagjine dopo il control des versions',
 'tog-showhiddencats' => 'Mostre categoriis platadis',
+'tog-norollbackdiff' => 'No mostrâ lis diferencis dopo vê revocât une pagjine',
 'tog-useeditwarning' => 'Visimi cuant che o stoi par lassâ une pagjine dulà che a son cambiaments no salvâts',
+'tog-prefershttps' => 'Dopre simpri une conession sigure par acedi',
 
 'underline-always' => 'Simpri',
 'underline-never' => 'Mai',
-'underline-default' => 'Predeterminât dal sgarfadôr',
+'underline-default' => 'Ten ilis impostazions dal Browser o de skin che tu stâs doprant',
 
 # Font style option in Special:Preferences
+'editfont-style' => 'Stîl di caratar de aree di scriture',
 'editfont-default' => 'Predeterminât dal sgarfadôr',
+'editfont-monospace' => 'Caratar a lungjece fisse',
+'editfont-sansserif' => 'Caratar sans-serif',
+'editfont-serif' => 'Caratar di scriture serif',
 
 # Dates
 'sunday' => 'Domenie',
@@ -202,6 +224,18 @@ $messages = array(
 'oct' => 'Otu',
 'nov' => 'Nov',
 'dec' => 'Dic',
+'january-date' => '$1 di Zenâr',
+'february-date' => '$1 di Fevrâr',
+'march-date' => '$1 di Març',
+'april-date' => '$1 di Avrîl',
+'may-date' => '$1 di Mai',
+'june-date' => '$1 di Jugn',
+'july-date' => '$1 di Lui',
+'august-date' => '$1 di Avost',
+'september-date' => '$1 di Setembar',
+'october-date' => '$1 di Otubar',
+'november-date' => '$1 di Novembar',
+'december-date' => '$1 di Dicembar',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categorie|Categoriis}}',
@@ -218,14 +252,17 @@ $messages = array(
 'category-file-count' => '{{PLURAL:$2|Cheste categorie e conten dome un file, mostrât ca sot.|Cheste categorie e conten {{PLURAL:$1|un file, mostrât|$1 files, mostrâts}} ca sot, suntun totâl di $2.}}',
 'category-file-count-limited' => 'Cheste categorie e conten {{PLURAL:$1|il file mostrât|i $1 files mostrâts}} ca sot.',
 'listingcontinuesabbrev' => 'cont.',
+'index-category' => 'Pagjinis indicizadis',
 'noindex-category' => 'Pagjinis no indicizadis',
+'broken-file-category' => 'Pagjnis cun leams a file no corets',
 
 'about' => 'Informazions',
 'article' => 'Vôs',
 'newwindow' => '(al vierç un gnûf barcon)',
 'cancel' => 'Scancele',
 'moredotdotdot' => 'Plui...',
-'mypage' => 'Mê pagjine',
+'morenotlisted' => 'La liste no je complete',
+'mypage' => 'Pagjine',
 'mytalk' => 'Discussions',
 'anontalk' => 'Discussion par chest IP',
 'navigation' => 'somari',
@@ -238,6 +275,7 @@ $messages = array(
 'qbpageoptions' => 'Cheste pagjine',
 'qbmyoptions' => 'Mês pagjinis',
 'faq' => 'Domandis plui frecuentis',
+'faqpage' => 'Progjet:Domandis frecuentis',
 
 # Vector skin
 'vector-action-addsection' => 'Gnove sezion',
@@ -245,7 +283,8 @@ $messages = array(
 'vector-action-move' => 'Môf',
 'vector-action-protect' => 'Protêç',
 'vector-action-undelete' => 'Recupere',
-'vector-action-unprotect' => 'No stâ protezi',
+'vector-action-unprotect' => 'Gambie la protezion',
+'vector-simplesearch-preference' => 'Abilite la bare di ricjerche semplificade (dome pe Vector Skin)',
 'vector-view-create' => 'Cree',
 'vector-view-edit' => 'Cambie',
 'vector-view-history' => 'Cjale il storic',
@@ -255,6 +294,7 @@ $messages = array(
 'namespaces' => 'Spazis dai nons',
 'variants' => 'Variants',
 
+'navigation-heading' => 'Menù di Navigazion',
 'errorpagetitle' => 'Erôr',
 'returnto' => 'Torne a $1.',
 'tagline' => 'Di {{SITENAME}}',
@@ -276,13 +316,14 @@ $messages = array(
 'create-this-page' => 'Cree cheste pagjine',
 'delete' => 'Elimine',
 'deletethispage' => 'Elimine cheste pagjine',
+'undeletethispage' => 'Recupere cheste pagjine',
 'undelete_short' => 'Recupere {{PLURAL:$1|modifiche eliminade|$1 modifichis eliminadis}}',
 'viewdeleted_short' => 'Viôt {{PLURAL:$1|une modifiche eliminade|$1 modifichis eliminadis}}',
 'protect' => 'Protêç',
 'protect_change' => 'cambie',
 'protectthispage' => 'Protêç cheste pagjine',
-'unprotect' => 'No stâ protezi',
-'unprotectthispage' => 'No stâ plui protezi cheste pagjine',
+'unprotect' => 'Gambie la protezion',
+'unprotectthispage' => 'Gambie la protezion di cheste pagjine',
 'newpage' => 'Gnove pagjine',
 'talkpage' => 'Fevelin di cheste pagjine',
 'talkpagelinktext' => 'discussion',
@@ -310,6 +351,10 @@ $messages = array(
 'jumpto' => 'Va a:',
 'jumptonavigation' => 'navigazion',
 'jumptosearch' => 'ricercje',
+'view-pool-error' => 'Scusinus ma i server a son sovrecjariats in chest moment. Masse utents a stan cjalant cheste pagjnie. Torne a provâ fra cualchi minût.
+
+$1',
+'pool-timeout' => 'Timeout durant la spiete dal sbolc.',
 'pool-errorunknown' => 'Erôr no cognossût',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
@@ -441,7 +486,7 @@ Considere che cualchi pagjine e pues mostrâti ancjemò come jentrât tal sît f
 'wrongpasswordempty' => 'La peraule clâf inseride e je vueide. Torne a provâ.',
 'passwordtooshort' => 'La peraule clâf e à di jessi di almancul {{PLURAL:$1|1 caratar|$1 caratars}}.',
 'password-name-match' => 'La peraule clâf e à di jessi divierse dal to non utent.',
-'mailmypassword' => 'Mande une gnove peraule clâf ae me direzion di pueste eletroniche',
+'mailmypassword' => 'Azere la password',
 'passwordremindertitle' => 'Gnove peraule clâf temporanie par {{SITENAME}}',
 'passwordremindertext' => 'Cualchidun (probabilmentri tu, de direzion IP $1) al à domandât une gnove peraule clâf par jentrâ in {{SITENAME}} ($4).
 Une peraule clâf temporanie par l\'utent "$2" e je stade creade e impuestade a "$3". Se cheste e jere la tô intenzion, tu varâs di jentrâ e sielzi une gnove peraule clâf cumò. La to peraule clâf temporanie e scjadarà daspò {{PLURAL:$5|une zornade|$5 zornadis}}.
@@ -608,8 +653,8 @@ Cualchi model nol vignarà includût.",
 Leiende: (cur) = difarencis cun la version atuâl, (prec) = difarencis cun la version precedente, '''p''' = piçul cambiament",
 'history-fieldset-title' => 'Sgarfe tal storic',
 'history-show-deleted' => 'Dome chei eliminâts',
-'histfirst' => 'Prime',
-'histlast' => 'Ultime',
+'histfirst' => 'Lis plui vieris',
+'histlast' => 'Lis plui gnovis',
 'historysize' => '({{PLURAL:$1|1 byte|$1 bytes}})',
 'historyempty' => '(vueide)',
 
@@ -807,7 +852,7 @@ La tô direzion di pueste no ven mostrade cuant che i utents ti contatin.',
 'rclistfrom' => 'Mostre i ultins cambiaments dal $1',
 'rcshowhideminor' => '$1 i piçui cambiaments',
 'rcshowhidebots' => '$1 i bots',
-'rcshowhideliu' => '$1 utents jentrâts',
+'rcshowhideliu' => '$1 utents regjstrâts',
 'rcshowhideanons' => '$1 utents anonims',
 'rcshowhidepatr' => '$1 cambiaments verificâts',
 'rcshowhidemine' => '$1 miei cambiaments',
@@ -823,7 +868,7 @@ La tô direzion di pueste no ven mostrade cuant che i utents ti contatin.',
 'rc_categories' => 'Limite aes categoriis (dividilis cun "|")',
 'rc_categories_any' => 'Cualsisei',
 'newsectionsummary' => '/* $1 */ gnove sezion',
-'rc-enhanced-expand' => 'Mostre detais (al covente JavaScript)',
+'rc-enhanced-expand' => 'Cjale i detais (al covente JavaScript)',
 'rc-enhanced-hide' => 'Plate detais',
 
 # Recent changes linked
@@ -1217,9 +1262,9 @@ Tu puedis cambiâ il nivel di protezion di cheste pagjine, ma chest nol varà ef
 'contributions' => 'Contribûts {{GENDER:$1|dal utent|de utente}}',
 'contributions-title' => 'Contribûts di $1',
 'mycontris' => 'Contribûts',
-'contribsub2' => 'Par $1 ($2)',
+'contribsub2' => 'Par {{GENDER:$3|$1}} ($2)',
 'nocontribs' => 'Nissun cambiament che al rispiete chescj criteris cjatât.',
-'uctop' => ' (su)',
+'uctop' => 'atuâl',
 'month' => 'Scomençant dal mês (e prime):',
 'year' => 'Scomençant dal an (e prime):',
 
@@ -1449,7 +1494,7 @@ Par plasê va su [https://www.mediawiki.org/wiki/Localisation MediaWiki Localisa
 'file-info-size' => '$1 × $2 pixel, dimensions: $3, gjenar MIME: $4',
 'file-nohires' => 'No son disponibilis versions cun risoluzion plui alte.',
 'svg-long-desc' => 'file tal formât SVG, dimensions nominâls $1 × $2 pixels, dimensions dal file: $3',
-'show-big-image' => 'Version a risoluzion plene',
+'show-big-image' => 'File origjnâl',
 
 # Special:NewFiles
 'newimages' => 'Galarie dai gnûfs files',
index ecbfdb0..89b8ea4 100644 (file)
@@ -8,6 +8,7 @@
  * @file
  *
  * @author Geitost
+ * @author Kening Aldgilles
  * @author Maartenvdbent
  * @author Purodha
  * @author Pyt
@@ -169,7 +170,7 @@ $messages = array(
 'tog-enotifminoredits' => 'E-mail my ek by lytse feroarings fan siden op myn folchlist',
 'tog-enotifrevealaddr' => 'Myn e-mailadres sjen litte yn e-mailberjochten',
 'tog-shownumberswatching' => 'It tal brûkers sjen litte dat dizze side folget',
-'tog-oldsig' => 'Hûdige sinjatuerprintallyk:',
+'tog-oldsig' => 'Aktuele sinjatuerprintallyk:',
 'tog-fancysig' => 'Sinjatuer as wikitekst behannelje (sûnder automatyske keppeling)',
 'tog-uselivepreview' => '"live proefbyld" brûke (JavaScript nedich - eksperimenteel)',
 'tog-forceeditsummary' => 'Warskôgje at ik de gearfetting leech lit.',
@@ -245,6 +246,18 @@ $messages = array(
 'oct' => 'okt',
 'nov' => 'nov',
 'dec' => 'des',
+'january-date' => '$1 jannewaris',
+'february-date' => '$1 febrewaris',
+'march-date' => '$1 maart',
+'april-date' => '$1 april',
+'may-date' => '$1 maaie',
+'june-date' => '$1 juny',
+'july-date' => '$1 july',
+'august-date' => '$1 augustus',
+'september-date' => '$1 septimber',
+'october-date' => '$1 oktober',
+'november-date' => '$1 novimber',
+'december-date' => '$1 desimber',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategory|Kategoryen}}',
@@ -261,6 +274,8 @@ $messages = array(
 'category-file-count' => '{{PLURAL:$2|Dizze kategory befettet de folgjende triem.|Dizze kategory befettet {{PLURAL:$1|de folgjende triem|$1 de folgjende triemmen}}, fan yn totaal $2.}}',
 'category-file-count-limited' => 'Dizze kategory befettet {{PLURAL:$1|de folgjende triem|de folgjende $1 triemmen}}.',
 'listingcontinuesabbrev' => '(ferfolch)',
+'index-category' => 'Yndeksearre siden',
+'noindex-category' => 'Net-yndeksearre siden',
 
 'about' => 'Ynfo',
 'article' => 'Ynhâld side',
@@ -310,6 +325,7 @@ $messages = array(
 'printableversion' => 'Ofdruk-ferzje',
 'permalink' => 'Fêste keppeling',
 'print' => 'Ofdrukke',
+'view' => 'Lêze',
 'edit' => 'Wizigje',
 'create' => 'Oanmeitsje',
 'editthispage' => 'Side bewurkje',
@@ -420,9 +436,11 @@ $1",
 
 # Main script and global functions
 'nosuchaction' => 'Unbekende aksje.',
-'nosuchactiontext' => "De aksje dy't jo oanjoegen fia de URL is net bekind by it Wiki-program",
+'nosuchactiontext' => 'De opdracht yn de URL is ûnjildich.
+Mooglik hasto in typefout makke yn de URL of in ferkearde keppeling folge.
+It soe likegoed in programmatuerflater fan {{SITENAME}} wêze kinne.',
 'nosuchspecialpage' => 'Unbekende side',
-'nospecialpagetext' => "Jo hawwe in Wiki-side opfrege dy't net bekind is by it Wiki-programma.",
+'nospecialpagetext' => "Jo hawwe in Wiki-side opfrege dy't net bekend is by it Wiki-programma.",
 
 # General errors
 'error' => 'Fout',
@@ -455,19 +473,19 @@ Meitsje dêr melding fan by in [[Special:ListUsers/sysop|systeembehearder]] fan
 'unexpected' => 'Hommelse wearde: "$1"="$2".',
 'formerror' => 'Fout: koe formulier net oerlizze',
 'badarticleerror' => 'Dat kin op dizze side net dien wurden.',
-'cannotdelete' => 'Koe de oantsjutte side of it oantsjutte ôfbyld net wiskje. (Faaks hat in oar dat al dien.)',
+'cannotdelete' => 'Koe de oantsjutte side of it oantsjutte ôfbyld "$1" net fuorthelje. (Faaks hat in oar dat al dien.)',
 'badtitle' => 'Misse titel',
 'badtitletext' => 'De opfrege sidetitel wie ûnjildich, leech, of in miskeppele yntertaal of ynterwiki titel.',
-'perfcached' => "Dit is bewarre ynformaasje dy't mooglik ferâldere is. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.",
-'perfcachedts' => 'De neikommende gegevens komme út de bewarre ynformaasje, dizze is it lêst fernijd op $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => "Dit is bewarre ynformaasje dy't mooglik ferâldere is. In maksimum fan {{PLURAL:$1|ien resultaat is|$1 resultaten binne}} beskikber yn de cache.",
+'perfcachedts' => 'De neikommende gegevens komme út de bewarre ynformaasje, dizze is it lêst fernijd op $1. In maksimum fan {{PLURAL:$4|ien resultaat is|$4 resultaten binne}} beskikber yn de cache.',
 'querypage-no-updates' => 'Dizze side kin net bywurke wurde. Dizze gegevens wurde net ferfarske.',
 'viewsource' => 'Besjoch de boarne',
 'actionthrottled' => 'Hanneling opkeard',
 'actionthrottledtext' => 'As maatregel tsjin spam is it tal kearen per tiidsienheid beheind dat jo dizze hanneling ferrjochtsje kinne. Jo binne oer de limyt. Besykje it in tal minuten letter wer.',
-'protectedpagetext' => 'Dizze side is befeilige. Bewurkjen is net mûglik.',
+'protectedpagetext' => 'Dizze side is befeilige. Bewurkjen is net mooglik.',
 'viewsourcetext' => 'Jo kinne de boarnetekst fan dizze side besjen en kopiearje:',
-'protectedinterface' => "Dizze side befettet tekst foar berjochten fan 'e software en is befeilige om misbrûk tefoaren te kommen.",
-'editinginterface' => "'''Warskôging;''' Jo bewurkje in side dy't brûkt wurdt troch software. Bewurkings op dizze side beynfloedzje de gebrûksynterface fan elkenien. Oerweagje foar oersettings [//translatewiki.net/wiki/Main_Page?setlang=fy translatewiki.net] te brûken, it oersetprojekt foar MediaWiki.",
+'protectedinterface' => "Dizze side jout systeemteksten fan 'e software en is befeilige tsjin misbrûk. Asto oersettingen foar alle wiki's tafoegje of bewurkje wolst, kinsto [//translatewiki.net/ translatewiki.net] brûke.",
+'editinginterface' => "'''Tink derom;''' Jo bewurkje in side dy't brûkt wurdt foar systeemteksten foar de software. Bewurkings op dizze side beynfloedzje de brûkersynterface fan elkenien. Asto wol oersettingen tafoegje of bewurkje wolst kinsto  [//translatewiki.net/wiki/Main_Page?setlang=fy translatewiki.net] brûke, it oersetprojekt foar MediaWiki.",
 'cascadeprotected' => 'Dizze side is skoattele tsjin wizigjen, om\'t der in ûnderdiel útmakket fan de neikommende {{PLURAL:$1|side|siden}}, dy\'t skoattele {{PLURAL:$1|is|binne}} mei de "ûnderlizzende siden" opsje ynskeakele: $2',
 'namespaceprotected' => "Jo hawwe gjin rjochten om siden yn'e nammerûmte '''$1''' te bewurkjen.",
 'ns-specialprotected' => "Siden yn'e nammerûmte {{ns:special}} kinne net bewurke wurde.",
@@ -482,30 +500,65 @@ De oanfierde reden is ''$2''.",
 # Login and logout pages
 'logouttext' => "'''Jo binne no ôfmeld.'''
 
-Jo kinne de {{SITENAME}} fierders anonym brûke, of jo op 'e <span class='plainlinks'>[$1 nij oanmelde]</span> ûnder deselde of in oare namme.
-Mûglik wurdt noch in tal siden werjûn as wiene Jo oanmeld, oant Jo de cache fan Jo browser leegje.",
+Guon siden kinne noch foar it ljocht komme, krekt as wiesto noch oanmeld. Asto de cache fan dyn webblêder leechhellest feroaret dat wer.",
 'yourname' => 'Jo meidochnamme:',
+'userlogin-yourname' => 'Meidoggersnamme',
+'userlogin-yourname-ph' => 'Jou dyn brûkersnamme',
+'createacct-another-username-ph' => 'Jou dyn brûkersnamme',
 'yourpassword' => 'Jo wachtwurd',
+'userlogin-yourpassword' => 'Wachtwurd',
+'userlogin-yourpassword-ph' => 'Jou dyn wachtwurd',
+'createacct-yourpassword-ph' => 'Jou dyn wachtwurd',
 'yourpasswordagain' => 'Jo wachtwurd (nochris)',
-'remembermypassword' => 'Oare kear fansels oanmelde (for a maximum of $1 {{PLURAL:$1|day|days}})',
+'createacct-yourpasswordagain' => 'Befêstigje wachtwurd',
+'createacct-yourpasswordagain-ph' => 'Befêstigje wachtwurd nochris',
+'remembermypassword' => 'Oare kear fansels oanmelde (maksimaal $1 {{PLURAL:$1|dei|dagen}})',
+'userlogin-remembermypassword' => 'Ynlogd bliuwe',
+'userlogin-signwithsecure' => 'Feilige ferbining brûke',
 'yourdomainname' => 'Jo domein:',
+'password-change-forbidden' => 'Op dizze wiky kinst gjin wachtwurden feroare',
 'externaldberror' => 'Der is in fout by it oanmelden by de database of jo hawwe gjin tastimming om jo ekstern account by te wurkjen.',
 'login' => 'Oanmelde',
 'nav-login-createaccount' => 'Oanmelde',
 'loginprompt' => "Jo moatte 'cookies' oanstean hawwe om yn jo oan te melden by {{SITENAME}}.",
 'userlogin' => 'Oanmelde',
+'userloginnocreate' => 'Ynlogge',
 'logout' => 'Ofmelde',
 'userlogout' => 'Ofmelde',
 'notloggedin' => 'Net oanmelde',
+'userlogin-noaccount' => 'Hasto gjin akkount?',
+'userlogin-joinproject' => 'Meidwaan {{SITENAME}}',
 'nologin' => 'Noch net oanmelden as meidogger? $1.',
 'nologinlink' => 'Meitsje in brûker oan',
 'createaccount' => 'Nije ynstellings oanmeitsje',
 'gotaccount' => "Hawwe jo jo al as meidogger oanmelde? '''$1'''.",
 'gotaccountlink' => 'Oanmelde',
+'userlogin-resetlink' => 'Ynlochdata fergetten?',
+'userlogin-resetpassword-link' => 'Wachtwurd fergetten?',
+'helplogin-url' => 'Help:Oanmelde',
+'createacct-emailrequired' => 'E-mailadres',
+'createacct-emailoptional' => 'E-mailadres (net ferplichte)',
+'createacct-email-ph' => 'E-mailadres ynfiere',
+'createacct-another-email-ph' => 'E-mailadres ynfiere',
 'createaccountmail' => 'troch e-mail',
+'createacct-realname' => 'Echte namme (net ferplichte)',
+'createaccountreason' => 'Reden:',
+'createacct-reason' => 'Reden',
+'createacct-reason-ph' => 'Wêrom makkesto in oare akkount?',
+'createacct-captcha' => 'Feiligenshifking',
+'createacct-imgcaptcha-ph' => 'Nim de tekst fan hjirboppe oer',
+'createacct-submit' => 'Meitsje in akkount',
+'createacct-another-submit' => 'Meitsje in oare akkount',
+'createacct-benefit-heading' => '{{SITENAME}} is makke troch minsken krekt as dy.',
+'createacct-benefit-body1' => '{{PLURAL:$1|bewurking|bewurkings}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|side|siden}}',
+'createacct-benefit-body3' => 'aktive {{PLURAL:$1|skriuwer|skriuwers}}',
 'badretype' => 'De ynfierde wachtwurden binne net lyk.',
-'userexists' => 'Dy meidochnamme wurdt al brûkt. Besykje in oarenien.',
+'userexists' => 'Dy meidoggersnamme wurdt al brûkt. 
+Besykje in oarenien.',
 'loginerror' => 'Oanmeldflater',
+'createacct-error' => 'Flater slein by meitsjen fan akkount',
+'createaccounterror' => 'Koe akkount net meitsje: $1',
 'nocookiesnew' => 'De brûker is oanmakke mar net oanmeld. {{SITENAME}} brûkt cookies foar it oanmelden fan brûkers. Skeakelje dy yn en meld jo dan oan mei jo nije brûkersnamme en wachtwurd.',
 'nocookieslogin' => '{{SITENAME}} brûkt cookies foar it oanmelden fan brûkers. Jo hawwe cookies útskeakele. Skeakelje dy opsje oan en besykje it nochris.',
 'noname' => 'Jo moatte in meidognamme opjaan.',
@@ -567,12 +620,22 @@ Jo moatte efkes wachtsje foar't jo it op'e nij besykje kinne.",
 'resetpass_forbidden' => 'Wachtwurden kinne net feroare wurde',
 'resetpass-no-info' => "Jo moatte oanmeld wêze foar't Jo dizze side brûke kinne.",
 'resetpass-submit-loggedin' => 'Wachtwurd feroarje',
+'resetpass-submit-cancel' => 'Ofbrekke',
 'resetpass-wrong-oldpass' => 'It momintele of tydlike wachtwurd is ûnjildich.
 Mûglik hawwe Jo Jo wachtwurd al feroare of in nij tydlik wachtwurd oanfrege.',
 'resetpass-temp-password' => 'Tydlik wachtwurd:',
 
 # Special:PasswordReset
+'passwordreset-legend' => 'Wachtwurd weromsette',
 'passwordreset-username' => 'Meidoggernamme',
+'passwordreset-domain' => 'Domein:',
+'passwordreset-email' => 'E-mailadres:',
+'passwordreset-emailtitle' => 'Akkountdetails op {{SITENAME}}',
+
+# Special:ChangeEmail
+'changeemail' => 'Feroarje e-mailadres',
+'changeemail-header' => 'Feroarje akkount e-mailadres',
+'changeemail-cancel' => 'Ofbrekke',
 
 # Edit page toolbar
 'bold_sample' => 'Fette tekst',
@@ -699,18 +762,19 @@ Hjirby sizze jo tagelyk ta, dat jo dizze tekst sels skreaun hawwe, of oernommen
 As jo net wolle dat jo teksten yngeand oanpast wurde troch oaren, set se hjir dan net.<br />
 Jo sizze ek ta dat jo de oarspronklike auteur binne fan dit materiaal, of dat jo it kopiearre hawwe út in boarne yn it publike domein, of in soartgelikense frije boarne (sjuch $1 foar details).
 '''BRUK GJIN MATERIAAL DAT BESKERME WURDT TROCH AUTEURSRJOCHT, OF JO MOATTE DER TASTIMMING FOAR HAWWE!'''",
-'longpageerror' => "'''FOUT: de tekst dy't jo tafoege hawwe is $1 kilobyte grut, wat grutter is as it maksimum fan $2 kilobytes.
+'longpageerror' => "'''FOUT: de tekst dy't jo tafoege hawwe is {{PLURAL:$1|ien kilobyte|$1 kilobytes}} grut, wat grutter is as it maksimum fan {{PLURAL:$2|ien kilobyte|$2 kilobytes}}.
 Bewarjen is net mûglik.'''",
 'readonlywarning' => "'''Warskôging: De databank is ôfsletten foar ûnderhâld, dus jo kinne jo bewurkings no net fêstlizze. Bewarje de tekst foar lettere pleatsing yn in teksttriem.'''
 
 In  behearder hat de database blokkearre om de folgjende reden: $1",
-'protectedpagewarning' => "'''Waarskôging: Dizze side is beskerme, dat gewoane brûkers dy net bewurkje kinne.'''",
+'protectedpagewarning' => "'''Warskôging: Dizze side is beskerme, dat gewoane brûkers dy net bewurkje kinne.'''",
 'semiprotectedpagewarning' => "'''Tink derom:''' dizze side is befeilige en kin allinne troch registrearre brûkers bewurke wurde.",
 'cascadeprotectedwarning' => "'''Warskôging:''' Dizze side is skoattele sadat allinnich behearders de side wizigje kinne, om't der in ûnderdiel útmakket fan de neikommende {{PLURAL:\$1|side|siden}}, dy't skoattele binne mei de \"ûnderlizzende siden\" opsje ynskeakele:",
-'titleprotectedwarning' => "'''WARSKÔGING: Dizze side is befeilige, dat allinne inkelde brûkers kinne him oanmeitsje.'''",
-'templatesused' => 'Berjochten brûkt op dizze side:',
-'templatesusedpreview' => 'Yn dit proefbyld sjabloanen:',
-'templatesusedsection' => "Sjabloanen dy't brûkt wurde yn dizze subkop:",
+'titleprotectedwarning' => "'''WARSKÔGING: Dizze side is befeilige. Der binne [[Special:ListGroupRights|spesjale rjochten]] nedich om dizze side meitsje te kinnen.'''
+De lêste lochrigel stiet hjirûnder:",
+'templatesused' => '{{PLURAL:$1|Berjocht|Berjochten}} brûkt op dizze side:',
+'templatesusedpreview' => "{{PLURAL:$1|Sjabloan|Sjabloanen}} dy't yn dizze bewurking brûkt wurde:",
+'templatesusedsection' => "{{PLURAL:$1|Sjabloan|Sjabloanen}} dy't brûkt wurde yn dizze subkop:",
 'template-protected' => '(befeilige)',
 'template-semiprotected' => '(semi-befeilige)',
 'hiddencategories' => 'Dizze side falt yn de folgjende ferburgen
@@ -733,8 +797,10 @@ Der is gjin taljochting beskikber.',
 Hy liket fuorthelle te wezen.',
 'edit-conflict' => 'Bewurkingskonflikt.',
 'edit-no-change' => "Dyn bewurking is is net trochfierd, om 't der gjin feroaring yn 'e tekst oanbrocht is.",
+'postedit-confirmation' => 'Dyn bewurking is fêstlein.',
 'edit-already-exists' => 'De side is net oanmakke.
 Hy bestie al.',
+'defaultmessagetext' => 'Standert berjochttekst',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => 'Warskôging: Dizze side brûkt tefolle kostbere parserfunksjes.
@@ -1333,6 +1399,8 @@ Klikken op in kolomkop feroaret de sortearring.',
 'listfiles_size' => 'Grutte',
 'listfiles_description' => 'Beskriuwing',
 'listfiles_count' => 'Ferzjes',
+'listfiles-latestversion-yes' => 'Ja',
+'listfiles-latestversion-no' => 'Nee',
 
 # File description page
 'file-anchor-link' => 'Triem',
@@ -2115,6 +2183,10 @@ Alle folgjende links dy't op deselde rigel steane, wurde behannele as útsûnder
 'exif-exposuretime-format' => '$1 sek ($2)',
 'exif-flash' => 'Flits',
 'exif-filesource' => 'Triemboarne',
+'exif-contrast' => 'Kontrast',
+'exif-sharpness' => 'Skerpte',
+'exif-gpstimestamp' => 'GPS-tiid (atoomklok)',
+'exif-gpsspeedref' => 'Snelheidsienheid',
 'exif-gpsdatestamp' => 'GPS-datum',
 
 'exif-unknowndate' => 'Datum ûnbekend',
@@ -2269,4 +2341,14 @@ Wolle jo de side wier op 'e nij skriuwe?",
 'revdelete-unrestricted' => 'hat beheinings foar behearders goedmakke',
 'rightsnone' => '(gjin)',
 
+# Feedback
+'feedback-subject' => 'Underwerp:',
+'feedback-message' => 'Berjocht:',
+'feedback-cancel' => 'Ofbrekke',
+'feedback-submit' => 'Feedback ferstjoere',
+'feedback-close' => 'Dien',
+
+# Search suggestions
+'searchsuggest-search' => 'Sykje',
+
 );
index 5424fd1..2553409 100644 (file)
@@ -1043,8 +1043,8 @@ Velaquí está a última entrada do rexistro de bloqueos, por se quere consultal
 '''Este aínda non foi gardado!'''",
 'sitejspreview' => "'''Lembre que só está vendo a vista previa deste código JavaScript.'''
 '''Este aínda non foi gardado!'''",
-'userinvalidcssjstitle' => "'''Aviso:''' Non hai ningún tema chamado \"\$1\".
-Lembre que as páxinas .css e .js personalizadas utilizan un título en minúsculas, como por exemplo {{ns:user}}:Foo/vector.css no canto de {{ns:user}}:Foo/Vector.css.",
+'userinvalidcssjstitle' => '\'\'\'Aviso:\'\'\' Non hai ningunha aparencia chamada "$1".
+Lembre que as páxinas .css e .js personalizadas utilizan un título en minúsculas, como por exemplo "{{ns:user}}:Foo/vector.css" no canto de "{{ns:user}}:Foo/Vector.css".',
 'updated' => '(Actualizado)',
 'note' => "'''Nota:'''",
 'previewnote' => "'''Lembre que esta é só unha vista previa e que aínda non gardou os seus cambios!'''",
@@ -1524,6 +1524,7 @@ Se escolle dalo utilizarase para atribuírlle o seu traballo.',
 'prefs-tokenwatchlist' => 'Pase',
 'prefs-diffs' => 'Diferenzas',
 'prefs-help-prefershttps' => 'Esta preferencia ha aplicarse no seu vindeiro acceso ao sistema.',
+'prefs-tabs-navigation-hint' => 'Consello: Pode empregar as frechas esquerda e dereita para navegar polas lapelas da lista.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'O enderezo de correo electrónico semella válido',
@@ -1710,6 +1711,7 @@ Se escolle dalo utilizarase para atribuírlle o seu traballo.',
 'recentchanges-label-bot' => 'Esta edición foi realizada por un bot',
 'recentchanges-label-unpatrolled' => 'Esta edición aínda non foi comprobada',
 'recentchanges-label-plusminus' => 'O tamaño da páxina variou este número de bytes',
+'recentchanges-legend-heading' => "'''Lenda:'''",
 'recentchanges-legend-newpage' => '(véxase tamén a [[Special:NewPages|lista de páxinas novas]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "A continuación móstranse os cambios feitos desde o '''$3''' ás '''$4''' (móstranse '''$1''' como máximo).",
@@ -2184,6 +2186,7 @@ As entradas <del>riscadas</del> xa foron resoltas.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikis}}',
 'nlinks' => '$1 {{PLURAL:$1|ligazón|ligazóns}}',
 'nmembers' => '$1 {{PLURAL:$1|páxina|páxinas}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|membro|membros}}',
 'nrevisions' => '$1 {{PLURAL:$1|revisión|revisións}}',
 'nviews' => 'vista {{PLURAL:$1|unha vez|$1 veces}}',
 'nimagelinks' => 'Empregada {{PLURAL:$1|nunha páxina|en $1 páxinas}}',
@@ -3846,6 +3849,11 @@ Por favor, confirme que realmente quere recrear esta páxina.",
 'imgmultigo' => 'Ir!',
 'imgmultigoto' => 'Ir á páxina $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(lingua por defecto)',
+'img-lang-info' => 'Renderizar esta imaxe en $1. $2',
+'img-lang-go' => 'Mostrar',
+
 # Table pager
 'ascending_abbrev' => 'asc',
 'descending_abbrev' => 'desc',
@@ -3947,13 +3955,14 @@ Debería recibir [{{SERVER}}{{SCRIPTPATH}}/COPYING unha copia da licenza públic
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Ruta das escrituras]',
 
 # Special:Redirect
-'redirect' => 'Redirixir por nome de ficheiro, ID de usuario ou ID de revisión',
+'redirect' => 'Redirixir por nome de ficheiro, ID de usuario, ID de páxina ou ID de revisión',
 'redirect-legend' => 'Redirixir a un ficheiro ou unha páxina',
-'redirect-summary' => 'Esta páxina especial redirixe cara a un ficheiro (dado o nome), unha páxina (dado o ID dunha revisión) ou unha páxina de usuario (dado o ID dun usuario). Utilización: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Esta páxina especial redirixe cara a un ficheiro (dado o nome), unha páxina (dado o ID da páxina ou o dunha revisión) ou unha páxina de usuario (dado o ID dun usuario). Utilización: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] ou [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Continuar',
 'redirect-lookup' => 'Procurar:',
 'redirect-value' => 'Valor:',
 'redirect-user' => 'ID de usuario',
+'redirect-page' => 'ID de páxina',
 'redirect-revision' => 'Revisión de páxina',
 'redirect-file' => 'Nome de ficheiro',
 'redirect-not-exists' => 'Non se atopou o valor',
@@ -4196,10 +4205,12 @@ De feito, expande case calquera cousa entre dúas chaves.',
 'expand_templates_input' => 'Texto de entrada:',
 'expand_templates_output' => 'Resultado',
 'expand_templates_xml_output' => 'Saída XML',
+'expand_templates_html_output' => 'Saída HTML en bruto',
 'expand_templates_ok' => 'Aceptar',
 'expand_templates_remove_comments' => 'Eliminar os comentarios',
 'expand_templates_remove_nowiki' => 'Suprimir as etiquetas <nowiki> no resultado',
 'expand_templates_generate_xml' => 'Mostrar as árbores de análise XML',
+'expand_templates_generate_rawhtml' => 'Mostrar o HTML en bruto',
 'expand_templates_preview' => 'Vista previa',
 
 );
index 0e7f908..56cf651 100644 (file)
@@ -627,7 +627,7 @@ Iberprief d Schrybwys, oder mäld Di as [[Special:UserLogin/signup|neje Benutzer
 'passwordtooshort' => 'Passwerter mien zmindescht {{PLURAL:$1|1 Zeiche|$1 Zeiche}} haa.',
 'password-name-match' => 'Dyy Passwort muess sich vu Dyynem Benutzername unterscheide.',
 'password-login-forbidden' => 'D Verwändig vu däm Benutzernamen un Passwort isch verbotte.',
-'mailmypassword' => 'Es nöis Passwort schicke',
+'mailmypassword' => 'E nei Passwort schicke',
 'passwordremindertitle' => 'Nei Passwort fir {{SITENAME}}',
 'passwordremindertext' => 'Ebber mit dr IP-Adress $1 het e nej Passwort fir d Aamäldig bi {{SITENAME}} ($4) aagfordert, wahrschyyns Du sälber.
 
@@ -1078,7 +1078,7 @@ Du chasch dää Unterschid allno aaluege; Details het's im [{{fullurl:{{#Special
 'revdelete-confirm' => 'Bitte tue bstetige, ass Du vor hesch, des z mache, d Konsequänze drus verstohsch un s machsch in Inbereinstimmig mit dr [[{{MediaWiki:Policy-url}}|Richtlinie]].',
 'revdelete-suppress-text' => "Unterdruckige sotte '''nume''' in däne Fäll bruucht wäre:
 * Nit aabrochti Informatione
-*: ''Adrässe, Telifonnummere, Sozialversicherigsnummere usw.''",
+*: ''Adrässe, Telifonnummere, Sozialversicherigsnummere usw.'",
 'revdelete-legend' => 'Setze vu dr Sichtbarkeits-Yyschränkige',
 'revdelete-hide-text' => 'Täxt vu dr Version versteckle',
 'revdelete-hide-image' => 'Bildinhalt versteckle',
@@ -1087,8 +1087,8 @@ Du chasch dää Unterschid allno aaluege; Details het's im [{{fullurl:{{#Special
 'revdelete-hide-user' => 'Benutzername/d IP vum Bearbeiter versteckle',
 'revdelete-hide-restricted' => 'Date vu Ammanne glyych unterdrucke wie vu andere',
 'revdelete-radio-same' => '(nit ändere)',
-'revdelete-radio-set' => 'Jo',
-'revdelete-radio-unset' => 'Nei',
+'revdelete-radio-set' => 'Verstecklet',
+'revdelete-radio-unset' => 'Sichtbar',
 'revdelete-suppress' => 'Grund vu dr Leschig au vor dr Ammanne versteckle',
 'revdelete-unsuppress' => 'Yyschränkige fir di widerhergstellte Versione ufhebe',
 'revdelete-log' => 'Grund:',
@@ -1165,6 +1165,7 @@ Stell sicher, ass d Versionsgschicht vun eme Artikel historisch korrekt isch.',
 'compareselectedversions' => 'Usgwählti Versione verglyche',
 'showhideselectedversions' => 'Uusgwehlti Versione zeige/verstecke',
 'editundo' => 'rückgängig',
+'diff-empty' => '(kei Unterschid)',
 'diff-multi' => '({{PLURAL:$1|Ei Version|$1 Versione}} vu {{PLURAL:$2|eim Benutzer|$2 Benutzer}}, {{PLURAL:$1|wu derzwische lyt, wird|wu derzwische lige, wäre}} nit aazeigt)',
 'diff-multi-manyusers' => '({{PLURAL:$1|Ei Version|$1 Versione}} vu meh {{PLURAL:$2|eim Benutzer|$2 Benutzer}}, {{PLURAL:$1|wu derzwische lyt un nit aazeigt wird|wu derzwische lige un nit aazeigt wäre}})',
 'difference-missing-revision' => '{{PLURAL:$2|Ei Version|$2 Versione}} vui däre Unterschidsaazeig ($1) {{PLURAL:$2|isch|sin}} nit gfunde wore.
@@ -1222,6 +1223,7 @@ Einzelheite chasch im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'powersearch-togglenone' => 'Keini',
 'search-external' => 'Externi Suech',
 'searchdisabled' => 'D {{SITENAME}}-Suech isch deaktiviert. Du chasch mit Google sueche, s cha aber syy ass dr Suechindex vu Google fir {{SITENAME}} veraltet isch.',
+'search-error' => 'Bi dr Suechi het s e Fähler gee: $1',
 
 # Preferences page
 'preferences' => 'Yystellige',
@@ -1249,7 +1251,7 @@ Einzelheite chasch im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'prefs-email' => 'E-Mail-Optione',
 'prefs-rendering' => 'Sytedarstellig',
 'saveprefs' => 'Änderige spychere',
-'restoreprefs' => 'Alli Standardyystellige widerhärstelle',
+'restoreprefs' => 'Alli Standardyystellige widerhärstelle (in allne Abschnitt)',
 'prefs-editing' => 'Tekscht-Ygab',
 'rows' => 'Zylene',
 'columns' => 'Spaltene',
@@ -1261,6 +1263,9 @@ Einzelheite chasch im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'recentchangesdays-max' => '(Maximal $1 {{PLURAL:$1|Tag|Täg}})',
 'recentchangescount' => 'Aazahl vu Bearbeitige, wu standardmässig aazeigt wäre:',
 'prefs-help-recentchangescount' => 'Des umfasst d Lischt vu dr letschte Änderige, d Versionsgschicht un d Logbiecher.',
+'prefs-help-watchlist-token2' => 'Des isch dr gheim Schlissel zum Webfeed vu Dyre Beobachtigslischt.
+E jede, wu ne chännt, cha Dyni Beobachtigslischt läse. tue ne wäge däm nit mit andere teile.
+[[Special:ResetTokens|Druck do, wän Du ne muesch zrucksetze]].',
 'savedprefs' => 'Dyni Ystellige sy gspycheret worde.',
 'timezonelegend' => 'Zytzone:',
 'localtime' => 'Ortszyt:',
@@ -1291,9 +1296,9 @@ Einzelheite chasch im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 Des cha nimmi ruckgängig gmacht wäre.',
 'prefs-emailconfirm-label' => 'E-Mail-Bstätigung:',
 'youremail' => 'E-Mail-Adräss:',
-'username' => 'Benutzername:',
-'uid' => 'Benutzer-ID:',
-'prefs-memberingroups' => 'Mitglid vu dr {{PLURAL:$1|Benutzergruppe|Benutzergruppe}}:',
+'username' => '{{GENDER:$1|Benutzername}}:',
+'uid' => '{{GENDER:$1|Benutzernummere}}:',
+'prefs-memberingroups' => '{{GENDER:$2|Mitglid}} vu dr {{PLURAL:$1|Benutzergruppe|Benutzergruppe}}:',
 'prefs-registration' => 'Aamäldzyt:',
 'yourrealname' => 'Echte Name:',
 'yourlanguage' => 'Sproch:',
@@ -1303,10 +1308,10 @@ Des cha nimmi ruckgängig gmacht wäre.',
 'prefs-help-signature' => 'Byyträg uf Diskussionssyte sotte mit „<nowiki>~~~~</nowiki>“ unterschribe wäre, was derno in d Unterschrift mit eme Zytstämpfel umgwandlet wird.',
 'badsig' => 'Dr Syntax vu dr Signatur isch nid giltig; bitte d HTML iberpriefe.',
 'badsiglength' => 'Dyyni Unterschrift isch z lang. Si derf hegschtens $1 {{PLURAL:$1|Zeiche|Zeiche}} lang syy.',
-'yourgender' => 'Gschlächt:',
-'gender-unknown' => 'Kei Aagab',
-'gender-male' => 'männlig',
-'gender-female' => 'wyyblig',
+'yourgender' => 'Wie witt gärn bschribe wäre?',
+'gender-unknown' => 'Ich wett doderzue kei Aagab mache',
+'gender-male' => 'Är schafft an Syte',
+'gender-female' => 'Si schafft an Syte',
 'prefs-help-gender' => 'Optional: bruucht fir gschlächtsspezifischi Adrässierig dur d Software. Die Information isch effentlig.',
 'email' => 'E-Mail',
 'prefs-help-realname' => '* <strong>Dyy ächte Name</strong> (optional): Wänn du wetsch, ass Dyyni Änderige uf Dii chenne zruckgfierd wäre.',
@@ -1494,6 +1499,7 @@ Des cha nimmi ruckgängig gmacht wäre.',
 'recentchanges-label-minor' => 'Des isch e chleini Änderig',
 'recentchanges-label-bot' => 'Die Bearbeitig isch dur e Bott uusgfiert wore',
 'recentchanges-label-unpatrolled' => 'Die Bearbeitig isch nonig vun eme Fäldhieter aagluegt wore',
+'recentchanges-label-plusminus' => 'Di gänderet Sytegreßi (Aazahl in Byte)',
 'recentchanges-legend-newpage' => '$1 - neji Syte',
 'rcnotefrom' => 'Des sin d Ändrige syter <b>$2</b> (bis zem <b>$1</b> zeigt).',
 'rclistfrom' => '<small>Nöji Änderige ab $1 aazeige (UTC)</small>',
index f3d2efb..9890c5e 100644 (file)
@@ -427,7 +427,7 @@ $1',
 
 'ok' => 'મંજૂર',
 'retrievedfrom' => '"$1"થી લીધેલું',
-'youhavenewmessages' => 'તમારા માટે $1 ($2).',
+'youhavenewmessages' => '{{PLURAL:$3|તમારી પાસે}} $1 ($2).',
 'youhavenewmessagesfromusers' => 'આપને માટે {{PLURAL:$3|અન્ય સભ્ય|$3 અન્ય સભ્યો}} તરફથી $1 છે. ($2).',
 'youhavenewmessagesmanyusers' => 'આપને માટે ઘણાં સભ્યો તરફથી $1 છે ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|નવો સંદેશો|૯૯૯=નવા સંદેશા}}',
@@ -1257,7 +1257,7 @@ $1",
 'preferences' => 'પસંદ',
 'mypreferences' => 'પસંદગીઓ',
 'prefs-edits' => 'સંપાદનોની સંખ્યા',
-'prefsnologintext2' => 'તમારà«\80 àªªàª¸àª\82દàª\97à«\80àª\93 àªªàª¸àª\82દ àª\95રવા àª®àª¾àª\9fà«\87 àª\95à«\83પયા $1.',
+'prefsnologintext2' => 'તમારà«\80 àªªàª¸àª\82દàª\97à«\80àª\93 àª¬àª¦àª²àªµàª¾ àª®àª¾àª\9fà«\87 àª®àª¹à«\87રબાનà«\80 àª\95રà«\80 $1 àª\95રà«\8b.',
 'prefs-skin' => 'ફલક',
 'skin-preview' => 'ફેરફાર બતાવો',
 'datedefault' => 'મારી પસંદ',
@@ -1547,6 +1547,8 @@ HTML નાકું ચકાસો',
 'recentchanges-label-minor' => 'આ એક નાનો સુધારો છે.',
 'recentchanges-label-bot' => 'આ ફેરફાર બોટ દ્વારા કરાયો છે',
 'recentchanges-label-unpatrolled' => 'આ ફેરફાર હજી ચકાસાયો નથી',
+'recentchanges-label-plusminus' => 'પાનાનું કદ આપેલા અંકો જેટલાં બાઈટ્સ જેટલું બદલ્યુ છે.',
+'recentchanges-legend-newpage' => '([[Special:NewPages|નવા પાનાઓની યાદી]] પણ જુઓ)',
 'rcnotefrom' => "નીચે '''$2'''થી થયેલાં '''$1''' ફેરફારો દર્શાવ્યાં છે.",
 'rclistfrom' => '$1 બાદ થયેલા નવા ફેરફારો બતાવો',
 'rcshowhideminor' => 'નાના ફેરફારો $1',
@@ -2246,27 +2248,26 @@ $PAGEINTRO $NEWPAGE
 
 ફેરફારોનો સારાંશ: $PAGESUMMARY $PAGEMINOREDIT
 
-સંપાદકનો સંપર્ક :
+સંપાદકનો સંપર્ક:
 ઇ-મેલ: $PAGEEDITOR_EMAIL
 વિકિ: $PAGEEDITOR_WIKI
 
-જ્યાં સુધી તમે લોગઈન થઈ આ પાનાની મુલાકાત નહી લો ત્યાં સુધી તેમાં ભવિષ્યમાં થનાર કોઇ પણ ફેરફારની સૂચના તમને મળશે નહિ.
-તમે તમારી ધ્યાન સૂચિમાં તમે જોયેલા પાના સંબંધી સૂચનાને લાગતા વિલપોમાં ફેરફાર કરી શકો છો.
+જ્યાં સુધી તમે પ્રવેશ કરીને આ પાનાની મુલાકાત નહી લો ત્યાં સુધી તેમાં ભવિષ્યમાં થનાર કોઇ પણ ફેરફારની સૂચના તમને મળશે નહિ. તમે તમારી ધ્યાન સૂચિમાં તમે જોયેલા પાના સંબંધી સૂચનાને લાગતા વિલપોમાં ફેરફાર કરી શકો છો.
 
 
 આપની વિશ્વાસુ {{SITENAME}} સૂચના પ્રણાલી   
+
 --
-email notification settings બદલવા માટે મુલાકાત લો
+ઇમેલ સૂચના પ્રણાલી બદલવા માટે મુલાકાત લો
 {{canonicalurl:{{#special:Preferences}}}}
 
-તમારà«\80 àª§à«\8dયાનસà«\82àª\9aિના  àªµàª¿àª\95à«\8dલà«\8dપ àª\97à«\8bઠવણ માટે મુલાકાત લો
+તમારà«\80 àª§à«\8dયાનસà«\82àª\9aિનà«\80 àªµàª¿àª\95à«\8dલà«\8dપ àª\97à«\8bઠવણà«\80 માટે મુલાકાત લો
 {{canonicalurl:{{#special:EditWatchlist}}}}
 
-ધà«\8dયાનસà«\82àª\9aિમાàª\82થà«\80 àªªàª¾àª¨à«\81àª\82 àª¹àª\9fાવવા àª®à«\81લાàª\95ાત àª²à«\8b  
+ધà«\8dયાનસà«\82àª\9aિમાàª\82થà«\80 àªªàª¾àª¨à«\81àª\82 àª¹àª\9fાવવા àª®àª¾àª\9fà«\87 àª®à«\81લાàª\95ાત àª²à«\8b
 $UNWATCHURL
 
-મંતવ્યો અને વધુ મદદ માટે 
+મંતવ્યો અને વધુ મદદ માટે
 {{canonicalurl:{{MediaWiki:Helppage}}}}',
 'created' => 'બનાવ્યું',
 'changed' => 'બદલ્યું',
@@ -3533,7 +3534,7 @@ $2',
 મેલની પહોંચ પાછી ફરી: $1',
 'confirmemail_invalid' => 'અવૈધ બહાલી સંકેત
 સંકેત કાલાતિત થયું હોય',
-'confirmemail_needlogin' => 'તમારà«\87 àª\88-મà«\87લ àª¨à«\87 àª¬àª¹àª¾àª²à«\80 àª\86પવા $1 àª\95રવà«\81àª\82 àªªàª¡àª¶à«\87',
+'confirmemail_needlogin' => 'તમારà«\87 àª\87મà«\87લનà«\80 àª\96ાતરà«\80 àª\95રવા $1 àª\95રવà«\81àª\82 àªªàª¡àª¶à«\87.',
 'confirmemail_success' => 'તમારા ઈ-મેલની પુષ્ટિ થઈ ગઈ છે.
 તમે હવે પ્રવેશ [[Special:UserLogin|log in]] કરી વિકિનો આનંદ ઉઠાવી શકો.',
 'confirmemail_loggedin' => 'તમારા ઇ-મેલ સરનામાની પુષ્ટિ કરાઇ છે.',
index 268253c..20d961f 100644 (file)
@@ -896,7 +896,7 @@ Liá-chhṳ chhà-fûng he yù $1 só fûng ke. Tông-chûng ke ngièn-yîn he '
 'saveprefs' => '保存',
 'restoreprefs' => '恢復所有默認設定',
 'prefs-editing' => '編寫緊',
-'rows' => '行:',
+'rows' => '行:',
 'columns' => '列:',
 'searchresultshead' => '搜尋',
 'resultsperpage' => '每頁顯示鏈接數:',
index 5628d17..ee7fdaa 100644 (file)
@@ -683,12 +683,12 @@ $1',
 # Main script and global functions
 'nosuchaction' => 'אין פעולה כזו',
 'nosuchactiontext' => 'הפעולה שצוינה בכתובת ה־URL אינה תקינה.
-ייתכן שטעיתם בהקלדת ה־URL, או שהשתמשתם בקישור לא נכון.
+ייתכן שטעית בהקלדת ה־URL, או שהשתמשת בקישור לא נכון.
 ייתכן גם שהבעיה נוצרה כתוצאה מבאג בתוכנה המשמשת את {{SITENAME}}.',
 'nosuchspecialpage' => 'אין דף מיוחד בשם זה',
-'nospecialpagetext' => '<strong>ביקשתם דף מיוחד שאינו קיים.</strong>
+'nospecialpagetext' => '<strong>ביקשת דף מיוחד שאינו קיים.</strong>
 
-ר×\90×\95 ×\90ת [[Special:SpecialPages|רש×\99×\9eת ×\94×\93פ×\99×\9d ×\94×\9e×\99×\95×\97×\93×\99×\9d ×\94תק×\99× ×\99×\9d]].',
+רש×\99×\9e×\94 ×©×\9c ×\94×\93פ×\99×\9d ×\94×\9e×\99×\95×\97×\93×\99×\9d ×\94ק×\99×\99×\9e×\99×\9d × ×\99ת×\9f ×\9c×\9eצ×\95×\90 ×\91×\93×£ [[Special:SpecialPages|{{int:specialpages}}]].',
 
 # General errors
 'error' => 'שגיאה',
@@ -799,7 +799,7 @@ $2',
 'userlogin-remembermypassword' => 'לזכור שנכנסתי',
 'userlogin-signwithsecure' => 'שימוש בחיבור מאובטח',
 'yourdomainname' => 'המתחם שלך:',
-'password-change-forbidden' => '×\90×\99× ×\9b×\9d ×\99×\9b×\95×\9c×\99×\9d לשנות סיסמאות באתר זה.',
+'password-change-forbidden' => '×\90×\99×\9f ×\91×\90פשר×\95ת×\9a לשנות סיסמאות באתר זה.',
 'externaldberror' => 'הייתה שגיאה בבסיס הנתונים של ההזדהות, או שאינכם רשאים לעדכן את חשבונכם החיצוני.',
 'login' => 'כניסה לחשבון',
 'nav-login-createaccount' => 'כניסה לחשבון / הרשמה',
@@ -811,7 +811,7 @@ $2',
 'notloggedin' => 'לא בחשבון',
 'userlogin-noaccount' => 'אין לך חשבון?',
 'userlogin-joinproject' => 'הצטרפות ל{{grammar:תחילית|{{SITENAME}}}}',
-'nologin' => '×\90×\99×\9f ×\9c×\9b×\9d חשבון? $1.',
+'nologin' => '×\90×\99×\9f ×\9c×\9a חשבון? $1.',
 'nologinlink' => 'הרשמה',
 'createaccount' => 'יצירת חשבון חדש',
 'gotaccount' => 'כבר נרשמתם? $1.',
@@ -857,21 +857,21 @@ $2',
 אנא הפעילו אותן מחדש ונסו שוב.',
 'nocookiesfornew' => 'חשבון המשתמש לא נוצר, כיוון שלא יכולנו לוודא את מקורו.
 ודאו שהעוגיות מופעלות בדפדפן שלכם, העלו מחדש דף זה ונסו שוב.',
-'noname' => 'לא הכנסתם שם משתמש תקין',
+'noname' => 'לא הכנסת שם משתמש תקין',
 'loginsuccesstitle' => 'הכניסה הושלמה בהצלחה',
 'loginsuccess' => "'''נכנסת ל{{grammar:תחילית|{{SITENAME}}}} בשם \"\$1\".'''",
 'nosuchuser' => 'אין משתמש בשם "$1".
 אנא ודאו שהאיות נכון (כולל אותיות רישיות וקטנות), או [[Special:UserLogin/signup|צרו חשבון חדש]].',
 'nosuchusershort' => 'אין משתמש בשם "$1".
 אנא ודאו שהאיות נכון.',
-'nouserspecified' => '×¢×\9c×\99×\9b×\9d לציין שם משתמש.',
+'nouserspecified' => '×\99ש לציין שם משתמש.',
 'login-userblocked' => 'משתמש זה חסום. אינכם מורשים להיכנס לחשבון.',
 'wrongpassword' => 'הסיסמה שהקלדתם שגויה.
 אנא נסו שוב.',
 'wrongpasswordempty' => 'הסיסמה שהקלדתם ריקה.
 אנא נסו שוב.',
 'passwordtooshort' => 'סיסמאות חייבות להיות באורך {{PLURAL:$1|תו אחד|$1 תווים}} לפחות.',
-'password-name-match' => 'ס×\99ס×\9eת×\9b×\9d ×\97×\99×\99×\91ת ×\9c×\94×\99×\95ת ×©×\95× ×\94 ×\9eש×\9d ×\94×\9eשת×\9eש ×©×\9c×\9b×\9d.',
+'password-name-match' => 'ס×\99ס×\9eת×\9a ×\97×\99×\99×\91ת ×\9c×\94×\99×\95ת ×©×\95× ×\94 ×\9eש×\9d ×\94×\9eשת×\9eש ×©×\9c×\9a.',
 'password-login-forbidden' => 'השימוש בשם המשתמש והסיסמה האלה נאסר.',
 'mailmypassword' => 'איפוס סיסמה',
 'passwordremindertitle' => 'סיסמה זמנית חדשה מ{{grammar:תחילית|{{SITENAME}}}}',
@@ -882,8 +882,8 @@ $2',
 
 עליכם להיכנס לאתר ולשנות את סיסמתכם בהקדם האפשרי. אם מישהו אחר ביקש סיסמה חדשה זו או אם נזכרתם בסיסמתכם
 ואינכם רוצים עוד לשנות אותה, באפשרותכם להתעלם מהודעה זו ולהמשיך להשתמש בסיסמתכם הישנה.',
-'noemail' => 'לא רשומה כתובת דואר אלקטרוני עבור המשתמש "$1".',
-'noemailcreate' => '×¢×\9c×\99×\9b×\9d לספק כתובת דואר אלקטרוני תקינה.',
+'noemail' => 'לא רשומה כתובת דואר אלקטרוני עבור ה{{GENDER:$1|משתמש|משתמשת}} "$1".',
+'noemailcreate' => '×\99ש לספק כתובת דואר אלקטרוני תקינה.',
 'passwordsent' => 'סיסמה חדשה נשלחה לכתובת הדואר האלקטרוני הרשומה עבור "$1".
 אנא היכנסו חזרה לאתר אחרי שתקבלו אותה.',
 'blocked-mailpassword' => 'כתובת ה־IP שלכם חסומה מעריכה, ולפיכך אינכם מורשים להשתמש באפשרות שחזור הסיסמה כדי למנוע ניצול לרעה של התכונה.',
@@ -897,7 +897,7 @@ $2',
 'emailauthenticated' => 'כתובת הדוא"ל שלך אומתה ב־$3, $2.',
 'emailnotauthenticated' => 'כתובת הדוא"ל שלכם עדיין לא אומתה.
 לא יישלח אליכם דוא"ל עבור אף אחת מהתכונות הבאות.',
-'noemailprefs' => '×\90× ×\90 ×¦×\99×\99× ×\95 ×\9bת×\95×\91ת ×\93×\95×\90\9c ×\91×\94×¢×\93פ×\95ת ×©×\9c×\9b×\9d כדי שתכונות אלה יעבדו.',
+'noemailprefs' => '×\99ש ×\9cצ×\99×\99×\9f ×\9bת×\95×\91ת ×\93×\95×\90\9c ×\91×\94×¢×\93פ×\95ת ×©×\9c×\9a כדי שתכונות אלה יעבדו.',
 'emailconfirmlink' => 'אישור כתובת הדוא"ל שלך',
 'invalidemailaddress' => 'כתובת הדוא"ל אינה מתקבלת כיוון שנראה שהיא בפורמט לא נכון.
 אנא הקלידו כתובת תקינה או השאירו את השדה ריק.',
@@ -935,13 +935,13 @@ $2',
 'resetpass_submit' => 'הגדרת הסיסמה וכניסה לחשבון',
 'changepassword-success' => 'סיסמתכם שונתה בהצלחה!',
 'resetpass_forbidden' => 'לא ניתן לשנות סיסמאות.',
-'resetpass-no-info' => '×¢×\9c×\99×\9b×\9d להיכנס לחשבון כדי לגשת לדף זה באופן ישיר.',
+'resetpass-no-info' => '×\99ש להיכנס לחשבון כדי לגשת לדף זה באופן ישיר.',
 'resetpass-submit-loggedin' => 'שינוי סיסמה',
 'resetpass-submit-cancel' => 'ביטול',
 'resetpass-wrong-oldpass' => 'הסיסמה הזמנית או הנוכחית אינה תקינה.
-ייתכן שכבר שיניתם את סיסמתכם או שכבר ביקשתם סיסמה זמנית חדשה.',
+ייתכן שכבר שינית את סיסמתך או שכבר ביקשת סיסמה זמנית חדשה.',
 'resetpass-temp-password' => 'סיסמה זמנית:',
-'resetpass-abort-generic' => 'שינוי הסיסמה בוטל על ידי הרחבה.',
+'resetpass-abort-generic' => 'שינוי הסיסמה בוטל על־ידי הרחבה.',
 
 # Special:PasswordReset
 'passwordreset' => 'איפוס סיסמה',
@@ -1073,7 +1073,8 @@ $2
 'whitelistedittext' => 'עליכם $1 כדי לערוך דפים.',
 'confirmedittext' => 'עליכם לאמת את כתובת הדוא"ל שלכם לפני שתוכלו לערוך דפים. אנא הגדירו ואמתו את כתובת הדוא"ל שלכם באמצעות [[Special:Preferences|העדפות המשתמש]] שלכם.',
 'nosuchsectiontitle' => 'הפסקה לא נמצאה',
-'nosuchsectiontext' => 'ניסיתם לערוך פסקה שאינה קיימת. ייתכן שהיא הועברה או נמחקה בעת שצפיתם בדף.',
+'nosuchsectiontext' => 'ניסית לערוך פסקה שאינה קיימת.
+ייתכן שהיא הועברה או נמחקה בעת שצפית בדף.',
 'loginreqtitle' => 'נדרשת כניסה לחשבון',
 'loginreqlink' => 'להיכנס לחשבון',
 'loginreqpagetext' => 'עליכם $1 כדי לצפות בדפים אחרים.',
@@ -1151,19 +1152,19 @@ $2
 '''רק''' הטקסט בחלון העריכה העליון יישמר כשתלחצו על \"{{int:savearticle}}\".",
 'yourtext' => 'הטקסט שלך',
 'storedversion' => 'גרסה שמורה',
-'nonunicodebrowser' => "'''×\90×\96×\94ר×\94: ×\94×\93פ×\93פ×\9f ×©×\9c×\9b×\9d אינו תואם לתקן יוניקוד.'''
\9b×\93×\99 ×\9c×\9e× ×\95×¢ ×\91×¢×\99×\95ת ×\94× ×\95צר×\95ת ×\9bת×\95צ×\90×\94 ×\9e×\9b×\9a ×\95×\9c×\90פשר ×\9c×\9b×\9d לערוך דפים בבטחה, תווים שאינם ב־ASCII יוצגו בתיבת העריכה כקודים הקסדצימליים.",
+'nonunicodebrowser' => "'''×\90×\96×\94ר×\94: ×\94×\93פ×\93פ×\9f ×©×\9c×\9a אינו תואם לתקן יוניקוד.'''
\9b×\93×\99 ×\9c×\9e× ×\95×¢ ×\91×¢×\99×\95ת ×\94× ×\95צר×\95ת ×\9bת×\95צ×\90×\94 ×\9e×\9b×\9a ×\95×\9c×\90פשר ×\9c×\9a לערוך דפים בבטחה, תווים שאינם ב־ASCII יוצגו בתיבת העריכה כקודים הקסדצימליים.",
 'editingold' => "'''אזהרה: אתם עורכים גרסה לא עדכנית של דף זה.'''
 אם תשמרו את הדף, כל השינויים שנעשו מאז גרסה זו יאבדו.",
 'yourdiff' => 'הבדלים',
-'copyrightwarning' => "'''שימו לב:''' תרומתכם ל{{grammar:תחילית|{{SITENAME}}}} תפורסם תחת תנאי הרישיון $2 (ראו $1 לפרטים נוספים). אם אינכם רוצים שעבודתכם תהיה זמינה לעריכה על ידי אחרים, שתופץ לעיני כל, ושאחרים יוכלו להעתיק ממנה בציון המקור – אל תפרסמו אותה פה. כמו־כן, אתם מבטיחים לנו כי כתבתם את הטקסט הזה בעצמכם, או העתקתם אותו ממקור שאינו מוגן על ידי זכויות יוצרים. '''אל תעשו שימוש בחומר המוגן בזכויות יוצרים ללא רשות!'''",
-'copyrightwarning2' => "'''שימו לב:''' תורמים אחרים עשויים לערוך או אף להסיר את תרומתכם ל{{grammar:תחילית|{{SITENAME}}}}. אם אינכם רוצים שעבודתכם תהיה זמינה לעריכה על ידי אחרים, אל תפרסמו אותה פה. כמו־כן, אתם מבטיחים לנו כי כתבתם את הטקסט הזה בעצמכם, או העתקתם אותו ממקור שאינו מוגן על ידי זכויות יוצרים (ראו $1 לפרטים נוספים). '''אל תעשו שימוש בחומר המוגן בזכויות יוצרים ללא רשות!'''",
+'copyrightwarning' => "'''שימו לב:''' תרומתכם ל{{grammar:תחילית|{{SITENAME}}}} תפורסם תחת תנאי הרישיון $2 (ראו $1 לפרטים נוספים). אם אינכם רוצים שעבודתכם תהיה זמינה לעריכה על־ידי אחרים, שתופץ לעיני כול, ושאחרים יוכלו להעתיק ממנה בציון המקור – אל תפרסמו אותה פה. כמו־כן, אתם מבטיחים לנו כי כתבתם את הטקסט הזה בעצמכם, או העתקתם אותו ממקור שאינו מוגן בזכויות יוצרים. '''אל תעשו שימוש בחומר המוגן בזכויות יוצרים ללא רשות!'''",
+'copyrightwarning2' => "'''שימו לב:''' תורמים אחרים עשויים לערוך או אף להסיר את תרומתכם ל{{grammar:תחילית|{{SITENAME}}}}. אם אינכם רוצים שעבודתכם תהיה זמינה לעריכה על־ידי אחרים, אל תפרסמו אותה פה. כמו־כן, אתם מבטיחים לנו כי כתבתם את הטקסט הזה בעצמכם, או העתקתם אותו ממקור שאינו מוגן בזכויות יוצרים (ראו $1 לפרטים נוספים). '''אל תעשו שימוש בחומר המוגן בזכויות יוצרים ללא רשות!'''",
 'longpageerror' => "'''שגיאה: אורך הטקסט ששלחתם הוא {{PLURAL:$1|קילובייט אחד|$1 קילובייטים}}, והוא ארוך יותר מהאורך המרבי של {{PLURAL:$2|קילובייט אחד|$2 קילובייטים}}.'''
 לא ניתן לשמור אותו.",
-'readonlywarning' => "'''×\90×\96×\94ר×\94: ×\91ס×\99ס ×\94נת×\95× ×\99×\9d × × ×¢×\9c ×\9cצ×\95ר×\9a ×ª×\97×\96×\95ק×\94. ×\91×\96×\9e×\9f ×\96×\94 ×\90×\99 ×\90פשר לשמור את הטקסט הערוך.'''
\91×\90פשר×\95ת×\9b×\9d ×\9c×\94עת×\99ק ×\95×\9c×\94×\93×\91×\99ק ×\90ת ×\94×\98קס×\98 ×\9cת×\95×\9a ×§×\95×\91×¥ ×\98קס×\98 ×\95×\9cש×\9e×\95ר ×\90×\95ת×\95 ×¢×\93 ×©×ª×\99×\92×\9eר ×\94× ×¢×\99×\9c×\94.
+'readonlywarning' => "'''×\90×\96×\94ר×\94: ×\91ס×\99ס ×\94נת×\95× ×\99×\9d × × ×¢×\9c ×\9cצ×\95ר×\9a ×ª×\97×\96×\95ק×\94. ×\91×\96×\9e×\9f ×\96×\94 ×\9c×\90 × ×\99ת×\9f לשמור את הטקסט הערוך.'''
\91×\90פשר×\95ת×\9a ×\9c×\94עת×\99ק ×\95×\9c×\94×\93×\91×\99ק ×\90ת ×\94×\98קס×\98 ×\9cת×\95×\9a ×§×\95×\91×¥ ×\98קס×\98 ×\95×\9cש×\9e×\95ר ×\90×\95ת×\95 ×\9c×\9e×\90×\95×\97ר ×\99×\95תר.
 
\9e× ×\94ל המערכת שנעל את בסיס הנתונים סיפק את ההסבר הבא: $1",
\9eפע×\99ל המערכת שנעל את בסיס הנתונים סיפק את ההסבר הבא: $1",
 'protectedpagewarning' => "'''אזהרה: דף זה מוגן כך שרק מפעילי מערכת יכולים לערוך אותו.'''
 פעולת היומן האחרונה מוצגת להלן:",
 'semiprotectedpagewarning' => "'''הערה:''' דף זה מוגן כך שרק משתמשים רשומים יכולים לערוך אותו.
@@ -1178,13 +1179,14 @@ $2
 'template-semiprotected' => '(מוגנת חלקית)',
 'hiddencategories' => 'דף זה כלול ב{{PLURAL:$1|קטגוריה מוסתרת אחת|־$1 קטגוריות מוסתרות}}:',
 'edittools' => '<!-- הטקסט הנכתב כאן יוצג מתחת לטופסי עריכת דפים והעלאת קבצים, ולפיכך ניתן לכתוב להציג בו תווים קשים לכתיבה, קטעים מוכנים של טקסט ועוד. -->',
-'nocreatetext' => 'אתר זה מגביל את האפשרות ליצור דפים חדשים. באפשרותכם לחזור אחורה ולערוך דף קיים, או [[Special:UserLogin|להיכנס לחשבון]].',
-'nocreate-loggedin' => 'אינכם מורשים ליצור דפים חדשים.',
+'nocreatetext' => 'ב{{grammar:תחילית|{{SITENAME}}}} קיימת הגבלה על יצירת דפים חדשים.
+באפשרותך לחזור אחורה ולערוך דף קיים, או [[Special:UserLogin|להיכנס לחשבון]].',
+'nocreate-loggedin' => 'אינך מורשה ליצור דפים חדשים.',
 'sectioneditnotsupported-title' => 'עריכת פסקאות אינה נתמכת',
 'sectioneditnotsupported-text' => 'עריכת פסקאות אינה נתמכת בדף זה.',
 'permissionserrors' => 'שגיאת הרשאה',
-'permissionserrorstext' => '×\90×\99× ×\9b×\9d ×\9e×\95רש×\99×\9d לבצע פעולה זו, {{PLURAL:$1|מהסיבה הבאה|מהסיבות הבאות}}:',
-'permissionserrorstext-withaction' => '×\90×\99× ×\9b×\9d ×\9e×\95רש×\99×\9d $2, {{PLURAL:$1|×\9e×\94ס×\99×\91×\94 ×\94×\91×\90×\94\9e×\94סיבות הבאות}}:',
+'permissionserrorstext' => '×\90×\99× ×\9a ×\9e×\95רש×\94 לבצע פעולה זו, {{PLURAL:$1|מהסיבה הבאה|מהסיבות הבאות}}:',
+'permissionserrorstext-withaction' => '×\90×\99× ×\9a ×\9e×\95רש×\94 $2, ×\9e×\94{{PLURAL:$1|ס×\99×\91×\94 ×\94×\91×\90×\94|סיבות הבאות}}:',
 'recreate-moveddeleted-warn' => "'''אזהרה: הנכם יוצרים דף חדש שנמחק בעבר.'''
 
 כדאי לשקול אם יהיה זה נכון להמשיך לערוך את הדף.
@@ -1245,7 +1247,9 @@ $2
 
 # Account creation failure
 'cantcreateaccounttitle' => 'לא ניתן ליצור את החשבון',
-'cantcreateaccount-text' => 'אפשרות יצירת החשבונות מכתובת ה־IP הזו (<b>$1</b>) נחסמה על ידי [[User:$3|$3]]. הסיבה שניתנה על ידי $3 היא "$2".',
+'cantcreateaccount-text' => 'אפשרות יצירת החשבונות מכתובת ה־IP הזו (\'\'\'$1\'\'\') נחסמה על־ידי [[User:$3|$3]].
+
+הסיבה שניתנה על־ידי $3 היא "$2".',
 
 # History pages
 'viewpagelogs' => 'הצגת יומנים עבור דף זה',
@@ -1313,11 +1317,11 @@ $2
 'rev-showdeleted' => 'הצגה',
 'revisiondelete' => 'מחיקה ושחזור של גרסאות',
 'revdelete-nooldid-title' => 'גרסת מטרה בלתי תקינה',
-'revdelete-nooldid-text' => 'הגרסה או הגרסאות עליהן תבוצע פעולה זו אינן תקינות. ייתכן שלא ציינתם אותן, ייתכן שהגרסה אינה קיימת, וייתכן שאתם מנסים להסתיר את הגרסה הנוכחית.',
-'revdelete-no-file' => 'הקובץ שציינתם אינו קיים.',
+'revdelete-nooldid-text' => 'הגרסה או הגרסאות עליהן תבוצע פעולה זו אינן תקינות. ייתכן שלא ציינת אותן, ייתכן שהגרסה אינה קיימת, וייתכן שהנך מנסה להסתיר את הגרסה הנוכחית.',
+'revdelete-no-file' => 'הקובץ שציינת אינו קיים.',
 'revdelete-show-file-confirm' => 'האם אתם בטוחים שברצונכם לצפות בגרסה המחוקה של הקובץ "<nowiki>$1</nowiki>" מתאריך $3, $2?',
 'revdelete-show-file-submit' => 'כן',
-'revdelete-selected' => "'''{{PLURAL:$2|הגרסה שנבחרה|הגרסאות שנבחרו}} של הדף [[:$1]]:'''",
+'revdelete-selected' => "'''ה{{PLURAL:$2|גרסה שנבחרה|גרסאות שנבחרו}} מתוך הדף [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|פעולת היומנים שנבחרה|פעולות היומנים שנבחרו}}:'''",
 'revdelete-text' => "'''גרסאות ופעולות יומנים שנמחקו עדיין תופענה בהיסטוריית הדף ובדפי היומנים, אך חלקים מהתוכן שלהן לא יהיה זמין לציבור.'''
 מפעילי מערכת אחרים באתר עדיין יוכלו לגשת לתוכן הנסתר ויוכלו לשחזר אותו שוב דרך הממשק הזה, אלא אם כן תוגדרנה הגבלות נוספות.",
@@ -1352,14 +1356,14 @@ $1",
 'revdelete-hide-current' => 'שגיאה בהסתרת הפריט מתאריך $2, $1: זו הגרסה הנוכחית.
 לא ניתן להסתיר אותה.',
 'revdelete-show-no-access' => 'שגיאה בהצגת הפריט מתאריך $2, $1: פריט זה סומן כ"מוגבל".
\90×\99×\9f ×\9c×\9b×\9d גישה אליו.',
\90×\99×\9f ×\9c×\9a גישה אליו.',
 'revdelete-modify-no-access' => 'שגיאה בשינוי הפריט מתאריך $2, $1: פריט זה סומן כ"מוגבל".
 אין לכם גישה אליו.',
 'revdelete-modify-missing' => 'שגיאה בשינוי פריט מספר $1: הוא אינו נמצא בבסיס הנתונים!',
 'revdelete-no-change' => "'''אזהרה:''' לפריט מתאריך $2, $1 כבר יש את הגדרות ההצגה הנדרשות.",
-'revdelete-concurrent-change' => 'שגיאה בשינוי הפריט מתאריך $2, $1: נראה שמצבו שונה על ידי מישהו אחר בזמן שאתם ניסיתם לשנות אותו.
+'revdelete-concurrent-change' => 'שגיאה בשינוי הפריט מתאריך $2, $1: נראה שמצבו שונה על־ידי מישהו אחר בזמן שאתם ניסיתם לשנות אותו.
 אנא בדקו ביומנים.',
-'revdelete-only-restricted' => 'ש×\92×\99×\90×\94 ×\91×\94סתרת ×\94פר×\99×\98 ×\9eת×\90ר×\99×\9a $2, $1: ×\90×\99×\9f ×\91×\90פשר×\95ת×\9b×\9d ×\9c×\94סת×\99ר ×¤×¨×\98×\99×\9d ×\9eצפ×\99×\99ת ×\9eפע×\99×\9c×\99 ×\9eער×\9bת בלי לבחור גם באחת מאפשרויות ההסתרה האחרות.',
+'revdelete-only-restricted' => 'ש×\92×\99×\90×\94 ×\91×\94סתרת ×\94פר×\99×\98 ×\9eת×\90ר×\99×\9a $2, $1: ×\90×\99×\9f ×\91×\90פשר×\95ת×\9a ×\9c×\94סת×\99ר ×¤×¨×\99×\98×\99×\9d ×\9e×\9eפע×\99×\9c×\99 ×\94×\9eער×\9bת ×\9eבלי לבחור גם באחת מאפשרויות ההסתרה האחרות.',
 'revdelete-reason-dropdown' => '* סיבות מחיקה נפוצות
 ** הפרת זכויות יוצרים
 ** תקציר עריכה או מידע אישי לא הולמים
@@ -1466,7 +1470,7 @@ $1",
 'showingresultsheader' => "{{PLURAL:$5|תוצאה '''$1''' מתוך '''$3'''|תוצאות '''$1 - $2''' מתוך '''$3'''}} עבור '''$4'''",
 'search-nonefound' => 'לא נמצאו תוצאות המתאימות לחיפוש.',
 'powersearch-legend' => 'חיפוש מתקדם',
-'powersearch-ns' => 'חיפוש על פי מרחבי שם:',
+'powersearch-ns' => 'חיפוש על־פי מרחבי שם:',
 'powersearch-redir' => 'הצגת דפי הפניה',
 'powersearch-togglelabel' => 'בחירה:',
 'powersearch-toggleall' => 'הכול',
@@ -1481,7 +1485,7 @@ $1",
 'preferences' => 'העדפות',
 'mypreferences' => 'העדפות',
 'prefs-edits' => 'מספר עריכות:',
-'prefsnologintext2' => '×\90× ×\90 $1 כדי לשנות העדפות משתמש.',
+'prefsnologintext2' => '×¢×\9c×\99×\9b×\9d $1 כדי לשנות העדפות משתמש.',
 'prefs-skin' => 'עיצוב',
 'skin-preview' => 'תצוגה מקדימה',
 'datedefault' => 'ברירת המחדל',
@@ -1495,7 +1499,7 @@ $1",
 'prefs-watchlist-days' => 'מספר הימים המרבי שיוצגו ברשימת המעקב:',
 'prefs-watchlist-days-max' => 'לכל היותר {{PLURAL:$1|יום אחד|יומיים|$1 ימים}}',
 'prefs-watchlist-edits' => 'מספר העריכות המרבי שיוצגו ברשימת המעקב המורחבת:',
-'prefs-watchlist-edits-max' => '×\9c×\9b×\9c ×\94×\99×\95תר 1000',
+'prefs-watchlist-edits-max' => '×\9eספר ×\9e×\99ר×\91×\99: 1000',
 'prefs-watchlist-token' => 'אסימון לרשימת המעקב:',
 'prefs-misc' => 'שונות',
 'prefs-resetpass' => 'שינוי סיסמה',
@@ -1515,11 +1519,11 @@ $1",
 'recentchangesdays' => 'מספר הימים שיוצגו בדף השינויים האחרונים:',
 'recentchangesdays-max' => 'לכל היותר {{PLURAL:$1|יום אחד|יומיים|$1 ימים}}',
 'recentchangescount' => 'מספר העריכות שיוצגו כברירת מחדל:',
-'prefs-help-recentchangescount' => '×\9b×\95×\9c×\9c ×©×\99× ×\95×\99×\99×\9d ×\90×\97ר×\95× ×\99×\9d, ×\94×\99ס×\98×\95ר×\99×\99ת ×\94×\93×£ ויומנים.',
+'prefs-help-recentchangescount' => '×\9b×\95×\9c×\9c ×\93×£ ×\94ש×\99× ×\95×\99×\99×\9d ×\94×\90×\97ר×\95× ×\99×\9d, ×\93פ×\99 ×\94×\99ס×\98×\95ר×\99×\99ת ×\92רס×\90×\95ת ויומנים.',
 'prefs-help-watchlist-token2' => 'זהו המפתח הסודי של ההזנה של רשימת המעקב שלך.
 כל מי שיודע אותו יוכל לקרוא את רשימת המעקב שלך, לכן אין לשתף אותו.
 [[Special:ResetTokens|אם יש בכך צורך, אפשר לאפס אותו כאן]].',
-'savedprefs' => '×\94×¢×\93פ×\95ת×\99ך נשמרו.',
+'savedprefs' => '×\94×\94×¢×\93פ×\95ת ×©×\9cך נשמרו.',
 'timezonelegend' => 'אזור זמן:',
 'localtime' => 'זמן מקומי:',
 'timezoneuseserverdefault' => 'ברירת המחדל של האתר ($1)',
@@ -1545,7 +1549,7 @@ $1",
 'prefs-custom-css' => 'קובץ CSS מותאם אישית',
 'prefs-custom-js' => 'קובץ JavaScript מותאם אישית',
 'prefs-common-css-js' => 'קובצי CSS/JavaScript משותפים לכל העיצובים:',
-'prefs-reset-intro' => '×\91×\90פשר×\95ת×\9b×\9d ×\9c×\94שת×\9eש ×\91×\93×£ ×\96×\94 ×\9b×\93×\99 ×\9c×\94×\97×\96×\99ר ×\90ת ×\94×\94×¢×\93פ×\95ת ×©×\9c×\9b×\9d להגדרות ברירת המחדל של האתר.
+'prefs-reset-intro' => '×\91×\90פשר×\95ת×\9a ×\9c×\94שת×\9eש ×\91×\93×£ ×\96×\94 ×\9b×\93×\99 ×\9c×\94×\97×\96×\99ר ×\90ת ×\94×\94×¢×\93פ×\95ת ×©×\9c×\9a להגדרות ברירת המחדל של האתר.
 לא ניתן לבטל פעולה זו.',
 'prefs-emailconfirm-label' => 'אימות כתובת דוא"ל:',
 'youremail' => 'דואר אלקטרוני:',
@@ -1558,7 +1562,7 @@ $1",
 'yourvariant' => 'סוג הכתב בשפת התוכן:',
 'prefs-help-variant' => 'סוג הכתב המועדף להצגת דפי התוכן באתר ויקי זה.',
 'yournick' => 'חתימה:',
-'prefs-help-signature' => '×¢×\9c ×\94×\95×\93×¢×\95ת ×\91×\93פ×\99 ×©×\99×\97×\94 ×\99ש ×\9c×\97ת×\95×\9d ×\91×\90×\9eצע×\95ת ×\94×\98קס×\98 "<nowiki>~~~~</nowiki>", ×©×\99×\95×\9eר ×\9c×\97ת×\99×\9e×\94 ×©×\9c×\9b×\9d ואחריה תאריך ושעה.',
+'prefs-help-signature' => '×¢×\9c ×\94×\95×\93×¢×\95ת ×\91×\93פ×\99 ×©×\99×\97×\94 ×\99ש ×\9c×\97ת×\95×\9d ×\91×\90×\9eצע×\95ת ×\94×\98קס×\98 "<nowiki>~~~~</nowiki>", ×©×\99×\95×\9eר ×\9c×\97ת×\99×\9e×\94 ×©×\9c×\9a ואחריה תאריך ושעה.',
 'badsig' => 'חתימה מסוגננת שגויה.
 אנא בדקו את תגיות ה־HTML.',
 'badsiglength' => 'חתימתכם ארוכה מדי.
@@ -1574,8 +1578,8 @@ $1",
 'prefs-help-realname' => 'השם האמיתי הוא אופציונאלי.
 אם תבחרו לספקו, הוא ישמש לייחוס עבודתכם אליכם.',
 'prefs-help-email' => 'כתובת דואר אלקטרוני היא אופציונאלית, אך היא דרושה לאיפוס הסיסמה במקרה שתשכחו את הסיסמה.',
-'prefs-help-email-others' => '×\91×\90פשר×\95ת×\9b×\9d ×\92×\9d ×\9c×\91×\97×\95ר ×\9c×\90פשר ×\9c×\90×\97ר×\99×\9d ×\9c×\99צ×\95ר ×\90ת×\9b×\9d ×§×©×¨ ×\91×\90×\9eצע×\95ת ×\93×\95×\90\9c ×\93ר×\9a ×§×\99ש×\95ר ×\91×\93×£ ×\94×\9eשת×\9eש ×\90×\95 ×\91×\93×£ ×\94ש×\99×\97×\94 ×©×\9c×\9b×\9d.
\9bת×\95×\91ת ×\94×\93×\95×\90\9c ×©×\9c×\9b×\9d ×\9c×\90 ×ª×\99×\97שף ×\9bש×\9eשת×\9eש×\99×\9d ×\90×\97ר×\99×\9d ×\99×\99צר×\95 ×§×©×¨ ×\90×\99ת×\9b×\9d.',
+'prefs-help-email-others' => '×\91×\90פשר×\95ת×\9a ×\92×\9d ×\9c×\91×\97×\95ר ×\9c×\90פשר ×\9c×\90×\97ר×\99×\9d ×\9c×\99צ×\95ר ×\90×\99ת×\9a ×§×©×¨ ×\91×\90×\9eצע×\95ת ×\93×\95×\90\9c ×\93ר×\9a ×§×\99ש×\95ר ×\91×\93×£ ×\94×\9eשת×\9eש ×\90×\95 ×\91×\93×£ ×\94ש×\99×\97×\94 ×©×\9c×\9a.
\9bת×\95×\91ת ×\94×\93×\95×\90\9c ×©×\9c×\9a ×\9c×\90 ×ª×\99×\97שף ×\9bש×\9eשת×\9eש×\99×\9d ×\90×\97ר×\99×\9d ×\99×\99צר×\95 ×§×©×¨ ×\90×\99ת×\9a.',
 'prefs-help-email-required' => 'כתובת דואר אלקטרוני נדרשת לכתיבה באתר.',
 'prefs-info' => 'מידע בסיסי',
 'prefs-i18n' => 'בינאום',
@@ -1595,6 +1599,7 @@ $1",
 'prefs-tokenwatchlist' => 'אסימון',
 'prefs-diffs' => 'הבדלים בין גרסאות',
 'prefs-help-prefershttps' => 'העדפה זו תיכנס לתוקף בכניסה הבאה לחשבון.',
+'prefs-tabs-navigation-hint' => 'טיפ: ניתן להשתמש במקשי החצים הימני והשמאלי כדי לנווט בין הלשוניות ברשימת הלשוניות.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'כתובת הדוא"ל נראית תקינה',
@@ -1662,13 +1667,13 @@ $1",
 'right-suppressredirect' => 'הימנעות מיצירת הפניות מדפי המקור בעת העברת דפים',
 'right-upload' => 'העלאת קבצים',
 'right-reupload' => 'דריסת קבצים קיימים',
-'right-reupload-own' => 'דריסת קבצים קיימים שהועלו על ידי אותו המשתמש',
+'right-reupload-own' => 'דריסת קבצים קיימים שהועלו על־ידי אותו המשתמש',
 'right-reupload-shared' => 'דריסה מקומית של קבצים מאתר קובצי המדיה המשותף',
 'right-upload_by_url' => 'העלאת קובץ מכתובת אינטרנט',
-'right-purge' => 'רענ×\95×\9f ×\96×\99×\9bר×\95×\9f ×\94×\9e×\98×\9e×\95×\9f ×©×\9c ×\94×\90תר ×\9c×\93×£ ×\9eס×\95×\99×\9d ×\9c×\9c×\90 דף אישור',
+'right-purge' => 'רענ×\95×\9f ×\96×\99×\9bר×\95×\9f ×\94×\9e×\98×\9e×\95×\9f ×©×\9c ×\94×\90תר ×\9c×\9c×\90 ×\9e×¢×\91ר ×\9cדף אישור',
 'right-autoconfirmed' => 'עקיפת הגבלת קצב העריכות המבוססת על כתובת IP',
 'right-bot' => 'טיפול בעריכות כאוטומטיות',
-'right-nominornewtalk' => '×\91×\99×\98×\95×\9c ×\94×\95×\93עת ×\94×\94×\95×\93×¢×\95ת ×\94×\97×\93ש×\95ת ×\91עת ×¢×¨×\99×\9b×\94 ×\9eשנ×\99ת ×\91×\93פ×\99 ×©×\99×\97×\94',
+'right-nominornewtalk' => '×\91×\99×\98×\95×\9c ×©×\9c×\99×\97ת ×\94תר×\90×\94 ×¢×\9c ×\94×\95×\93×¢×\94 ×\97×\93ש×\94 ×\9c×\9eשת×\9eש ×\91עת ×¢×¨×\99×\9b×\94 ×\9eשנ×\99ת ×\91×\93×£ ×©×\99×\97ת×\95',
 'right-apihighlimits' => 'שימוש ב־API עם פחות הגבלות',
 'right-writeapi' => 'שימוש ב־API לשינוי דפים',
 'right-delete' => 'מחיקת דפים',
@@ -1686,21 +1691,21 @@ $1",
 'right-hideuser' => 'חסימת שם משתמש תוך הסתרתו מהציבור',
 'right-ipblock-exempt' => 'עקיפת חסימות של כתובת IP, חסימות אוטומטיות וחסימות טווח',
 'right-proxyunbannable' => 'עקיפת חסימות אוטומטיות של שרתי פרוקסי',
-'right-unblockself' => 'ש×\97ר×\95ר ×\97ס×\99×\9e×\94 ×©×\9c ×¢×¦×\9e×\9a',
+'right-unblockself' => 'ש×\97ר×\95ר ×\97ס×\99×\9e×\94 ×©×\9c ×\94×\9eשת×\9eש ×¢×¦×\9e×\95',
 'right-protect' => 'שינוי רמות הגנה ועריכת דפים המוגנים בהגנה מדורגת',
-'right-editprotected' => 'ער×\99×\9bת ×\93פ×\99×\9d ×©מוגנים ברמת "{{int:protect-level-sysop}}"',
-'right-editsemiprotected' => 'ער×\99×\9bת ×\93פ×\99×\9d ×©מוגנים ברמת "{{int:protect-level-autoconfirmed}}"',
+'right-editprotected' => 'ער×\99×\9bת ×\93פ×\99×\9d ×\94מוגנים ברמת "{{int:protect-level-sysop}}"',
+'right-editsemiprotected' => 'ער×\99×\9bת ×\93פ×\99×\9d ×\94מוגנים ברמת "{{int:protect-level-autoconfirmed}}"',
 'right-editinterface' => 'עריכת ממשק המשתמש',
 'right-editusercssjs' => 'עריכת דפי CSS ו־JavaScript של משתמשים אחרים',
-'right-editusercss' => 'ער×\99×\9bת ×\93פ×\99 CSS של משתמשים אחרים',
-'right-edituserjs' => 'ער×\99×\9bת ×\93פי JavaScript של משתמשים אחרים',
-'right-editmyusercss' => 'ער×\99×\9bת ×\93פ×\99 CSS ×©×\9c ×¢×¦×\9e×\9a',
-'right-editmyuserjs' => 'ער×\99×\9bת ×\93פ×\99 JavaScript ×©×\9c ×¢×¦×\9e×\9a',
-'right-viewmywatchlist' => 'צפ×\99×\99×\94 ×\91רש×\99×\9eת ×\94×\9eעק×\91 ×©×\9c ×¢×¦×\9e×\9a',
-'right-editmywatchlist' => 'ער×\99×\9bת ×¨×©×\99×\9eת ×\94×\9eעק×\91 ×©×\9c ×¢×¦×\9e×\9a. ×\99צ×\95×\99×\9f ×©מספר פעולות עדיין יוסיפו דפים גם ללא הרשאה זו.',
-'right-viewmyprivateinfo' => 'צפ×\99×\99×\94 ×\91×\9e×\99×\93×¢ ×\94פר×\98×\99 ×©×\9c ×¢×¦×\9e×\9a (×\9b×\92×\95×\9f: כתובת דוא"ל, שם אמיתי)',
-'right-editmyprivateinfo' => 'ער×\99×\9bת ×\94×\9e×\99×\93×¢ ×\94פר×\98×\99 ×©×\9c ×¢×¦×\9e×\9a (×\9b×\92×\95×\9f: כתובת דוא"ל, שם אמיתי)',
-'right-editmyoptions' => 'ער×\99×\9bת ×\94×\94×¢×\93פ×\95ת ×©×\9c ×¢×¦×\9e×\9a',
+'right-editusercss' => 'ער×\99×\9bת ×\92×\99×\9c×\99×\95× ×\95ת CSS של משתמשים אחרים',
+'right-edituserjs' => 'ער×\99×\9bת ×§×\91צי JavaScript של משתמשים אחרים',
+'right-editmyusercss' => 'ער×\99×\9bת ×\92×\99×\9c×\99×\95× ×\95ת CSS ×©×\9c ×\94×\9eשת×\9eש ×¢×¦×\9e×\95',
+'right-editmyuserjs' => 'ער×\99×\9bת ×§×\91צ×\99 JavaScript ×©×\9c ×\94×\9eשת×\9eש ×¢×¦×\9e×\95',
+'right-viewmywatchlist' => 'צפ×\99×\99×\94 ×\91רש×\99×\9eת ×\94×\9eעק×\91 ×©×\9c ×\94×\9eשת×\9eש ×¢×¦×\9e×\95',
+'right-editmywatchlist' => 'ער×\99×\9bת ×¨×©×\99×\9eת ×\94×\9eעק×\91 ×©×\9c ×\94×\9eשת×\9eש ×¢×¦×\9e×\95מספר פעולות עדיין יוסיפו דפים גם ללא הרשאה זו.',
+'right-viewmyprivateinfo' => 'צפ×\99×\99×\94 ×\91×\9e×\99×\93×¢ ×\94פר×\98×\99 ×©×\9c ×\94×\9eשת×\9eש ×¢×¦×\9e×\95 (×\9b×\92×\95×\9f כתובת דוא"ל, שם אמיתי)',
+'right-editmyprivateinfo' => 'ער×\99×\9bת ×\94×\9e×\99×\93×¢ ×\94פר×\98×\99 ×©×\9c ×\94×\9eשת×\9eש ×¢×¦×\9e×\95 (×\9b×\92×\95×\9f כתובת דוא"ל, שם אמיתי)',
+'right-editmyoptions' => 'ער×\99×\9bת ×\94×\94×¢×\93פ×\95ת ×©×\9c ×\94×\9eשת×\9eש ×¢×¦×\9e×\95',
 'right-rollback' => 'שחזור מהיר של עריכות המשתמש האחרון שערך דף מסוים',
 'right-markbotedits' => 'סימון עריכות משוחזרות כעריכות של בוט',
 'right-noratelimit' => 'עקיפת הגבלת קצב העריכות',
@@ -1708,9 +1713,9 @@ $1",
 'right-importupload' => 'ייבוא דפים באמצעות העלאת קובץ',
 'right-patrol' => 'סימון עריכות של אחרים כבדוקות',
 'right-autopatrol' => 'סימון אוטומטי של עריכות של המשתמש כבדוקות',
-'right-patrolmarks' => 'צפ×\99×\99×\94 ×\91ס×\99×\9e×\95× ×\99 ×¢×¨×\99×\9b×\95ת ×\91×\93×\95ק×\95ת ×\91שינויים האחרונים',
+'right-patrolmarks' => '×\94×\91×\97× ×\94 ×\91×\99×\9f ×¢×¨×\99×\9b×\95ת ×©× ×\91×\93ק×\95 ×\9cער×\99×\9b×\95ת ×©×\98ר×\9d × ×\91×\93ק×\95 ×\91×\93×£ ×\94שינויים האחרונים',
 'right-unwatchedpages' => 'הצגת רשימה של דפים שאינם במעקב',
-'right-mergehistory' => 'מיזוג היסטוריות של דפים',
+'right-mergehistory' => '×\9e×\99×\96×\95×\92 ×\94×\99ס×\98×\95ר×\99×\99ת ×\92רס×\90×\95ת ×©×\9c ×\93פ×\99×\9d',
 'right-userrights' => 'עריכת כל הרשאות המשתמש',
 'right-userrights-interwiki' => 'עריכת הרשאות המשתמש של משתמשים באתרי ויקי אחרים',
 'right-siteadmin' => 'נעילה וביטול נעילה של בסיס הנתונים',
@@ -1778,9 +1783,10 @@ $1",
 'recentchanges-feed-description' => 'ניתן לעקוב אחרי השינויים האחרונים באתר בדף זה.',
 'recentchanges-label-newpage' => 'בעריכה זו נוצר דף חדש',
 'recentchanges-label-minor' => 'זוהי עריכה משנית',
-'recentchanges-label-bot' => 'עריכה זו בוצעה על ידי בוט',
+'recentchanges-label-bot' => 'עריכה זו בוצעה על־ידי בוט',
 'recentchanges-label-unpatrolled' => 'עריכה זו טרם נבדקה',
 'recentchanges-label-plusminus' => 'מספר הבתים שבו השתנה גודל הדף',
+'recentchanges-legend-heading' => "'''מקרא:'''",
 'recentchanges-legend-newpage' => '(ראו גם [[Special:NewPages|רשימת דפים חדשים]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => 'להלן <b>$1</b> השינויים האחרונים שבוצעו החל מתאריך <b>$2</b>:',
@@ -2250,6 +2256,7 @@ $1',
 'ninterwikis' => '{{PLURAL:$1|קישור בינוויקי קחד|$1 קישורי בינוויקי}}',
 'nlinks' => '{{PLURAL:$1|קישור אחד|$1 קישורים}}',
 'nmembers' => '{{PLURAL:$1|דף אחד|$1 דפים}}',
+'nmemberschanged' => '$1 ← {{PLURAL:$2|חבר אחד|$2 חברים}}',
 'nrevisions' => '{{PLURAL:$1|גרסה אחת|$1 גרסאות}}',
 'nviews' => '{{PLURAL:$1|צפייה אחת|$1 צפיות}}',
 'nimagelinks' => 'בשימוש {{PLURAL:$1|בדף אחד|ב־$1 דפים}}',
@@ -2306,7 +2313,7 @@ $1',
 שימו לב שאתרי אינטרנט אחרים עשויים לקשר לקובץ באמצעות כתובת URL ישירה, ולכן הוא עלול להופיע כאן למרות היותו בשימוש פעיל.',
 'unusedcategoriestext' => 'הקטגוריות הבאות קיימות, אבל לא נעשה שימוש בהן בשום דף או קטגוריה.',
 'notargettitle' => 'אין דף מטרה',
-'notargettext' => 'לא ציינתם דף מטרה או משתמש לגביו תבוצע פעולה זו.',
+'notargettext' => 'לא ציינת דף מטרה או משתמש לגביו תבוצע פעולה זו.',
 'nopagetitle' => 'אין דף מטרה כזה',
 'nopagetext' => 'דף המטרה שציינת אינו קיים.',
 'pager-newer-n' => '{{PLURAL:$1|הבאה|$1 הבאות}}',
@@ -2469,7 +2476,7 @@ $1',
 'unwatch' => 'הפסקת מעקב',
 'unwatchthispage' => 'הפסקת המעקב אחרי דף זה',
 'notanarticle' => 'זהו אינו דף תוכן',
-'notvisiblerev' => 'הגרסה האחרונה שנוצרה על ידי משתמש אחר נמחקה',
+'notvisiblerev' => 'הגרסה האחרונה שנוצרה על־ידי משתמש אחר נמחקה',
 'watchlist-details' => 'ברשימת המעקב יש {{PLURAL:$1|דף אחד|$1 דפים}} (לא כולל דפי שיחה).',
 'wlheader-enotif' => 'הודעות דוא"ל מאופשרות.',
 'wlheader-showupdated' => "דפים שהשתנו מאז ביקורכם האחרון בהם מוצגים ב'''הדגשה'''.",
@@ -2612,9 +2619,9 @@ $UNWATCHURL
 'protect-text' => "בדף זה אפשר לראות ולשנות את רמת ההגנה של הדף '''$1'''.",
 'protect-locked-blocked' => "אינכם יכולים לשנות את רמת ההגנה של הדף בעודכם חסומים.
 להלן ההגדרות הנוכחיות עבור הדף '''$1''':",
-'protect-locked-dblock' => "×\90×\99× ×\9b×\9d ×\99×\9b×\95×\9c×\99×\9d ×\9cשנ×\95ת ×\90ת ×¨×\9eת ×\94×\94×\92× ×\94 ×¢×\9c ×\94×\93×£ ×©×\9b×\9f בסיס הנתונים חסום ברגע זה.
+'protect-locked-dblock' => "×\9c×\90 × ×\99ת×\9f ×\9cשנ×\95ת ×\90ת ×¨×\9eת ×\94×\94×\92× ×\94 ×¢×\9c ×\94×\93×£ ×\9e×\9b×\99×\95×\95×\9f ×©בסיס הנתונים חסום ברגע זה.
 להלן ההגדרות הנוכחיות עבור הדף '''$1''':",
-'protect-locked-access' => "×\9c×\9eשת×\9eש ×©×\9c×\9b×\9d אין הרשאה לשנות את רמת ההגנה של הדף.
+'protect-locked-access' => "×\9c×\97ש×\91×\95×\9f ×\94×\9eשת×\9eש ×©×\9c×\9a אין הרשאה לשנות את רמת ההגנה של הדף.
 להלן ההגדרות הנוכחיות עבור הדף '''$1''':",
 'protect-cascadeon' => 'דף זה מוגן כרגע כיוון שהוא מוכלל {{PLURAL:$1|בדף הבא, שמופעלת עליו|בדפים הבאים, שמופעלת עליהם}} הגנה מדורגת. באפשרותכם לשנות את רמת ההגנה על הדף, אך זה לא ישפיע על ההגנה המדורגת.',
 'protect-default' => 'כל המשתמשים מורשים',
@@ -2862,7 +2869,7 @@ $1',
 'ipb_expiry_invalid' => 'זמן פקיעת החסימה אינו תקין.',
 'ipb_expiry_temp' => 'חסימות הכוללות הסתרת שם משתמש חייבות להיות לזמן בלתי מוגבל.',
 'ipb_hide_invalid' => 'לא ניתן להסתיר שם משתמש זה; ייתכן שבוצעו ממנו יותר מדי עריכות.',
-'ipb_already_blocked' => 'המשתמש "$1" כבר נחסם',
+'ipb_already_blocked' => 'המשתמש "$1" כבר נחסם.',
 'ipb-needreblock' => '$1 כבר נחסם. האם ברצונכם לשנות את הגדרות החסימה?',
 'ipb-otherblocks-header' => '{{PLURAL:$1|חסימה אחרת|חסימות אחרות}}',
 'unblock-hideuser' => 'לא ניתן לשחרר משתמש זה, כיוון ששם המשתמש שלו הוסתר.',
@@ -2873,12 +2880,13 @@ $1',
 'proxyblocker' => 'חוסם פרוקסי',
 'proxyblockreason' => 'כתובת ה־IP שלכם נחסמה משום שהיא כתובת של שרת פרוקסי פתוח.
 אנא צרו קשר עם ספק האינטרנט שלכם או עם התמיכה הטכנית של הארגון שלכם והודיעו להם על בעיית האבטחה החמורה הזאת.',
-'sorbsreason' => 'כתובת ה־IP שלכם רשומה ככתובת פרוקסי פתוחה ב־DNSBL שאתר זה משתמש בו.',
-'sorbs_create_account_reason' => 'כתובת ה־IP שלכם רשומה ככתובת פרוקסי פתוחה ב־DNSBL שאתר זה משתמש בו. אינכם יכולים ליצור חשבון.',
+'sorbsreason' => 'כתובת ה־IP שלך רשומה ככתובת פרוקסי פתוחה ב־DNSBL שאתר {{SITENAME}} משתמש בו.',
+'sorbs_create_account_reason' => 'כתובת ה־IP שלך רשומה ככתובת פרוקסי פתוחה ב־DNSBL שאתר {{SITENAME}} משתמש בו.
+אין באפשרותך ליצור חשבון.',
 'xffblockreason' => 'כתובת IP הנמצאת בכותרת X-Forwarded-For, בין אם שלכם או של שרת פרוקסי שאתם משתמשים בו, נחסמה. סיבת החסימה המקורית הייתה: $1',
 'cant-see-hidden-user' => 'המשתמש שאתם מנסים לחסום כבר נחסם והוסתר. כיוון שאין לכם את ההרשאה לחסימת משתמש והסתרתו, אינכם רשאים לצפות בחסימת המשתמש או לערוך אותה.',
-'ipbblocked' => 'אינכם יכולים לחסום או לשחרר את חסימתם של משתמשים אחרים, כיוון שאתם עצמכם חסומים',
-'ipbnounblockself' => 'אינכם רשאים לשחרר את חסימתכם',
+'ipbblocked' => 'אינכם יכולים לחסום או לשחרר את חסימתם של משתמשים אחרים, כיוון שאתם עצמכם חסומים.',
+'ipbnounblockself' => 'אינכם רשאים לשחרר את חסימתכם.',
 
 # Developer tools
 'lockdb' => 'נעילת בסיס נתונים',
@@ -3259,7 +3267,7 @@ $2',
 'pageinfo-watchers' => 'מספר העוקבים אחר הדף',
 'pageinfo-few-watchers' => 'פחות מ{{PLURAL:$1|עוקב אחד|־$1 עוקבים}}',
 'pageinfo-redirects-name' => 'מספר ההפניות לדף זה',
-'pageinfo-subpages-name' => 'מספר דפי־המשנה של דף זה',
+'pageinfo-subpages-name' => 'מספר דפי המשנה של דף זה',
 'pageinfo-subpages-value' => '$1 ({{PLURAL:$2|הפניה אחת|$2 הפניות}}; {{PLURAL:$3|דף רגיל אחד|$3 דפים רגילים}})',
 'pageinfo-firstuser' => 'יוצר הדף',
 'pageinfo-firsttime' => 'תאריך יצירת הדף',
@@ -3298,7 +3306,7 @@ $2',
 'markedaspatrolled' => 'השינוי סומן כבדוק',
 'markedaspatrolledtext' => 'השינוי שבחרתם בדף [[:$1]] סומן כבדוק.',
 'rcpatroldisabled' => 'אפשרות סימון השינויים כבדוקים מבוטלת',
-'rcpatroldisabledtext' => '×\94ת×\9b×\95× ×\94 ×©×\9c ×¡×\99×\9e×\95×\9f ×©×\99× ×\95×\99 ×\9b×\91×\93×\95ק ×\91ש×\99× ×\95×\99×\99×\9d ×\94×\90×\97ר×\95× ×\99×\9d ×\9e×\91×\95×\98×\9cת.',
+'rcpatroldisabledtext' => 'ת×\9b×\95נת ×¡×\99×\9e×\95×\9f ×©×\99× ×\95×\99×\99×\9d ×\9b×\91×\93×\95ק×\99×\9d ×\91×\93×£ ×\94ש×\99× ×\95×\99×\99×\9d ×\94×\90×\97ר×\95× ×\99×\9d ×\91×\95×\98×\9c×\94.',
 'markedaspatrollederror' => 'לא ניתן לסמן כבדוק',
 'markedaspatrollederrortext' => 'עליכם לציין גרסה שתציינו כבדוקה.',
 'markedaspatrollederror-noautopatrol' => 'אינכם מורשים לסמן את השינויים של עצמכם כבדוקים.',
@@ -3833,7 +3841,7 @@ $1',
 
 תוכנת שליחת הדוא"ל החזירה את ההודעה הבאה: $1',
 'confirmemail_invalid' => 'קוד האימות שגוי. ייתכן שפג תוקפו.',
-'confirmemail_needlogin' => 'עליכם לבצע $1 כדי לאמת את כתובת הדוא"ל שלכם.',
+'confirmemail_needlogin' => 'עליכם $1 כדי לאמת את כתובת הדוא"ל שלכם.',
 'confirmemail_success' => 'כתובת הדוא"ל שלך אושרה.
 כעת באפשרותך [[Special:UserLogin|להיכנס לחשבון שלך]] וליהנות מהאתר.',
 'confirmemail_loggedin' => 'כתובת הדוא"ל שלך אושרה כעת.',
@@ -3911,7 +3919,7 @@ $5
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(שפת ברירת המחדל)',
-'img-lang-info' => 'הצגת תמונה זו בשפה $1 $2.',
+'img-lang-info' => 'הצגת תמונה זו בשפה $1. $2',
 'img-lang-go' => 'הצגה',
 
 # Table pager
@@ -4079,13 +4087,14 @@ $5
 'version-entrypoints-header-url' => 'כתובת',
 
 # Special:Redirect
-'redirect' => 'הפניה לפי שם קובץ, מספר משתמש או מספר גרסה',
+'redirect' => 'הפניה לפי שם קובץ, מספר משתמש, מספר דף או מספר גרסה',
 'redirect-legend' => 'הפניה לקובץ או לדף',
-'redirect-summary' => 'דף מיוחד זה מפנה לקובץ (בהינתן שם הקובץ), לדף (בהינתן מספר גרסה), או לדף משתמש (בהינתן מספר משתמש). דוגמאות לשימוש: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], או [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'דף מיוחד זה מפנה לקובץ (בהינתן שם הקובץ), לדף (בהינתן מספר גרסה או מספר דף), או לדף משתמש (בהינתן מספר משתמש). דוגמאות לשימוש: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], או [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'מעבר',
 'redirect-lookup' => 'סוג:',
 'redirect-value' => 'ערך:',
 'redirect-user' => 'מספר משתמש',
+'redirect-page' => 'מספר דף',
 'redirect-revision' => 'גרסת דף',
 'redirect-file' => 'שם קובץ',
 'redirect-not-exists' => 'הערך לא נמצא',
@@ -4328,10 +4337,12 @@ $5
 'expand_templates_input' => 'טקסט הקלט:',
 'expand_templates_output' => 'תוצאה',
 'expand_templates_xml_output' => 'פלט XML',
+'expand_templates_html_output' => 'פלט HTML גולמי',
 'expand_templates_ok' => 'אישור',
 'expand_templates_remove_comments' => 'הסרת הערות',
 'expand_templates_remove_nowiki' => 'הסרת תגי <nowiki> בתוצאה',
 'expand_templates_generate_xml' => 'הצגת עץ הפענוח של XML',
+'expand_templates_generate_rawhtml' => 'הצגת HTML גולמי',
 'expand_templates_preview' => 'תצוגה מקדימה',
 
 );
index b18f8d5..d0d3b70 100644 (file)
@@ -1666,6 +1666,8 @@ Ne smije biti duži od $1 {{PLURAL:$1|znaka|znaka|znakova}}.',
 'recentchanges-label-minor' => 'Ovo je manja izmjena',
 'recentchanges-label-bot' => 'Ovu izmjenu napravio je bot',
 'recentchanges-label-unpatrolled' => 'Ova izmjena još nije pregledana',
+'recentchanges-label-plusminus' => 'Promjena veličine stranice (u bajtovima)',
+'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => '$1 - nova stranica',
 'rcnotefrom' => 'Slijede promjene od <b>$2</b> (prikazano ih je do <b>$1</b>).',
 'rclistfrom' => 'Prikaži nove promjene počevši od $1',
index a561782..6238c0b 100644 (file)
@@ -997,6 +997,9 @@ Dyrbjała mjenje hač $2 {{PLURAL:$2|wołanje|wołanjej|wołanja|wołanjow}} mě
 'cantcreateaccount-text' => "Wutworjenje wužiwarskeho konta z IP-adresy '''$1''' bu wot [[User:$3|$3]] zablokowane.
 
 Přičina za blokowanje, podata wot $3, je: ''$2''",
+'cantcreateaccount-range-text' => "Załoženje kontow z IP-adresow we wobłuku '''$1'', kotryž twoju IP-adresu wobsahuje ('''$4'''), je so wot [[User:$3|$3]] zablokowało.
+
+Přičina podata wot $3 je ''$2''",
 
 # History pages
 'viewpagelogs' => 'protokole tuteje strony pokazać',
@@ -1338,6 +1341,7 @@ Tuta informacija budźe zjawna.',
 'prefs-tokenwatchlist' => 'Token',
 'prefs-diffs' => 'Rozdźěle',
 'prefs-help-prefershttps' => 'Tute nastajenje so po twojim přichodnym přizjewjenju wuskutkuje.',
+'prefs-tabs-navigation-hint' => 'Tip: Móžeš lěwy a prawy šipk wužiwać, zo byšće mjez rajtarkami w lisćinje rajtarkow nawigował.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Zda so, zo e-mejlowa adresa je płaćiwa',
@@ -1524,13 +1528,14 @@ Tuta informacija budźe zjawna.',
 'recentchanges-label-bot' => 'Tuta změna bu přez roboćik přewjedźena',
 'recentchanges-label-unpatrolled' => 'Tuta změnu hišće njebu přepruwowana',
 'recentchanges-label-plusminus' => 'Změnjena wulkosć strony (w bajtach)',
+'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => '(hlej tež [[Special:NewPages|lisćinu nowych stronow]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Deleka so změny wot '''$2''' pokazuja (hač k '''$1''').",
 'rclistfrom' => 'Nowe změny pokazać, započinajo z $1',
 'rcshowhideminor' => 'snadne změny $1',
 'rcshowhidebots' => 'Boćiki $1',
-'rcshowhideliu' => 'Přizjewjeni wužiwarjo $1',
+'rcshowhideliu' => 'Zregistrowani wužiwarjo $1',
 'rcshowhideanons' => 'Anonymni wužiwarjo $1',
 'rcshowhidepatr' => 'Dohladowane změny $1',
 'rcshowhidemine' => 'moje změny $1',
@@ -1981,6 +1986,7 @@ Kóžda rjadka wobsahuje wotkazy k prěnjemu a druhemu daleposrědkowanju kaž t
 'ninterwikis' => '$1 {{PLURAL:$1|mjezyrěčny wotkaz|mjezyrěčnej wotkazaj|mjezyrěčne wotkazy|mjezyrěčnych wotkazow}}',
 'nlinks' => '$1 {{PLURAL:$1|wotkaz|wotkazaj|wotkazy|wotkazow}}',
 'nmembers' => '{{PLURAL:$1|$1 čłon|$1 čłonaj|$1 čłony|$1 čłonow}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|čłon|čłonaj|čłonojo|čłonow}}',
 'nrevisions' => '$1 {{PLURAL:$1|wobdźěłanje|wobdźěłani|wobdźěłanja|wobdźěłanjow}}',
 'nviews' => '$1 {{PLURAL:$1|jedyn wopyt|wopytaj|wopyty|wopytow}}',
 'nimagelinks' => 'Wužiwa so na $1 {{PLURAL:$1|stronje|stronomaj|stronach|stronach}}',
@@ -3573,6 +3579,11 @@ Prošu potwjerdź, zo chceš tutu stronu woprawdźe znowa wutworić.",
 'imgmultigo' => 'Dźi!',
 'imgmultigoto' => 'Dźi k stronje $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(standardna rěč)',
+'img-lang-info' => 'Tutón wobraz w $1 rysować. $2',
+'img-lang-go' => 'Wotpósłać',
+
 # Table pager
 'ascending_abbrev' => 'postupowacy',
 'descending_abbrev' => 'zestupowacy',
@@ -3675,14 +3686,15 @@ Ty měł [{{SERVER}}{{SCRIPTPATH}}/COPYING kopiju licency GNU General Public Lic
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
-'redirect' => 'Po datajowym mjenje, wužiwarju abo wersijowym ID dale sposrědkować',
+'redirect' => 'Po datajowym mjenje, wužiwarju, stronje abo wersijowym ID dale sposrědkować',
 'redirect-legend' => 'Do dataje abo strony dale sposrědkować',
-'redirect-summary' => 'Tuta specialna strona so do dataje (datajowe mjeno je podate), strony (wersijowy ID je podaty) abo wužiwarskeje strony (numeriski wužiwarski ID je podaty) dale sposrědkuje. Wužiće:
-[[{{#Special:Redirect}}/file/Přikład.jpg]], [[{{#Special:Redirect}}/revision/328429]] abo [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Tuta specialna strona so do dataje (datajowe mjeno je podate), strony (wersijowy ID abo ID strony je podaty) abo wužiwarskeje strony (numeriski wužiwarski ID je podaty) dale sposrědkuje. Wužiće:
+[[{{#Special:Redirect}}/file/Přikład.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] abo [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Los',
 'redirect-lookup' => 'Pytać:',
 'redirect-value' => 'Hódnota:',
 'redirect-user' => 'ID wužiwarja',
+'redirect-page' => 'ID strony',
 'redirect-revision' => 'Wersija strony',
 'redirect-file' => 'Datajowe mjeno',
 'redirect-not-exists' => 'Hódnota njeje so namakała',
@@ -3921,10 +3933,12 @@ Hewak móžeš slědowacy jednory formular wužiwać. Twój komentar přida so s
 'expand_templates_input' => 'Tekst zapodać:',
 'expand_templates_output' => 'Wuslědk',
 'expand_templates_xml_output' => 'Wudaće XML',
+'expand_templates_html_output' => 'Hrube HTML-wudaće',
 'expand_templates_ok' => 'W porjadku',
 'expand_templates_remove_comments' => 'Komentary wotstronić',
 'expand_templates_remove_nowiki' => 'Taflički <nowiki> we wuslědku potłóčić',
 'expand_templates_generate_xml' => 'Analyzowy štom XML pokazać',
+'expand_templates_generate_rawhtml' => 'Hruby HTML pokazać',
 'expand_templates_preview' => 'Přehlad',
 
 );
index 795a9dd..8b7d268 100644 (file)
@@ -587,8 +587,8 @@ További információkat a [[Special:Version|verzióinformációs lapon]] talál
 'youhavenewmessages' => '$1 a vitalapodon! ($2 külön is megtekintheted.)',
 'youhavenewmessagesfromusers' => '$2 kaptál {{PLURAL:$3|egy|$3}} szerkesztőtől $1!',
 'youhavenewmessagesmanyusers' => '$2 kaptál több szerkesztőtől $1.',
-'newmessageslinkplural' => '{{PLURAL:$1||}}a vitalapodon',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|Új üzenetet|Új üzeneteket}}',
+'newmessageslinkplural' => '{{PLURAL:$1|új üzenet|999=új üzenet}} a vitalapodon',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|változás|999=változás}}',
 'youhavenewmessagesmulti' => 'Új üzenet vár a(z) $1 wikin',
 'editsection' => 'szerkesztés',
 'editold' => 'szerkesztés',
@@ -712,7 +712,8 @@ A lezárást végrehajtó rendszergazda az alábbi indoklást adta meg: "$3".',
 'invalidtitle-knownnamespace' => 'Érvénytelen cím "$2" névtérrel és "$3" szöveggel',
 'invalidtitle-unknownnamespace' => 'Érvénytelen cím az ismeretlen $1 névtérszámmal és "$2" szöveggel',
 'exception-nologin' => 'Nem vagy bejelentkezve.',
-'exception-nologin-text' => 'Ezen lap vagy művelet használatához be kell jelentkezned erre a wikire.',
+'exception-nologin-text' => 'Ezen lap vagy művelet eléréséhez kérlek [[Special:Userlogin|jelentkezz be]].',
+'exception-nologin-text-manual' => 'Ezen lap vagy művelet eléréséhez $1.',
 
 # Virus scanner
 'virus-badscanner' => "Hibás beállítás: ismeretlen víruskereső: ''$1''",
@@ -759,9 +760,11 @@ Ne felejtsd el módosítani a [[Special:Preferences|{{SITENAME}} beállításaid
 'gotaccount' => "Ha már korábban regisztráltál, '''$1'''.",
 'gotaccountlink' => 'Bejelentkezés',
 'userlogin-resetlink' => 'Elfelejtetted a bejelentkezési adataidat?',
-'userlogin-resetpassword-link' => 'A jelszó alaphelyzetbe állítása',
+'userlogin-resetpassword-link' => 'Elfelejtetted a jelszavad?',
 'helplogin-url' => 'Help:Bejelentkezés',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Segítség a bejelentkezéshez]]',
+'userlogin-loggedin' => 'Már be vagy jelentkezve mint {{GENDER:$1|$1}}. Ha más néven akarsz belépni, alább megteheted.',
+'userlogin-createanother' => 'Felhasználói fiók létrehozása',
 'createacct-join' => 'Add meg az alábbi információkat.',
 'createacct-another-join' => 'Add meg az új fiók adatait alább.',
 'createacct-emailrequired' => 'E-mail cím',
@@ -808,7 +811,7 @@ Ellenőrizd, hogy helyesen írtad-e be.',
 'passwordtooshort' => 'A jelszónak legalább {{PLURAL:$1|egy|$1}} karakterből kell állnia.',
 'password-name-match' => 'A jelszavadnak különböznie kell a szerkesztőnevedtől.',
 'password-login-forbidden' => 'Ezen felhasználónév és jelszó használata tiltott.',
-'mailmypassword' => 'Új jelszó küldése e-mailben',
+'mailmypassword' => 'Jelszó alaphelyzetbe állítása',
 'passwordremindertitle' => 'Ideiglenes jelszó a(z) {{SITENAME}} wikire',
 'passwordremindertext' => 'Valaki (vélhetően te, a(z) $1 IP-címről) új jelszót kért a(z)
 {{SITENAME}} wikis ($4) felhasználói fiókjához.
@@ -847,6 +850,7 @@ Várj $1, mielőtt újra próbálkozol.',
 'login-abort-generic' => 'A bejelentkezés sikertelen – megszakítva',
 'loginlanguagelabel' => 'Nyelv: $1',
 'suspicious-userlogout' => 'A kijelentkezési kérésed vissza lett utasítva, mert úgy tűnik, hogy egy hibás böngésző vagy gyorsítótárazó proxy küldte.',
+'createacct-another-realname-tip' => 'A valódi nevet nem kötelező megadni, de ha úgy döntesz, hogy megadod, azzal leszel feltüntetve a munkád szerzőjeként.',
 
 # Email sending
 'php-mail-error-unknown' => 'Ismeretlen hiba a PHP mail() függvényében',
@@ -875,7 +879,7 @@ Lehet, hogy már sikeresen megváltoztattad a jelszavad, vagy pedig időközben
 # Special:PasswordReset
 'passwordreset' => 'Jelszó törlése',
 'passwordreset-text-one' => 'A jelszavad alaphelyzetbe állításához töltsd ki az űrlapot.',
-'passwordreset-text-many' => '{{PLURAL:$1|A jelszavad alaphelyzetbe állításához töltsd ki az alábbi mezők egyikét.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Az átmeneti jelszó elküldéséhez töltsd ki az alábbi mezők egyikét.}}',
 'passwordreset-legend' => 'Új jelszó kérése',
 'passwordreset-disabled' => 'Új jelszó kérése nem engedélyezett ezen a wikin.',
 'passwordreset-emaildisabled' => 'Az e-mail funkció le van tiltva ezen a wikin.',
@@ -1235,17 +1239,17 @@ A(z) {{SITENAME}} adminisztrátorai továbbra is meg tudják tekinteni az elrejt
 'revdelete-confirm' => 'Kérlek erősítsd meg, hogy valóban ezt szeretnéd tenni; megértetted a következményeket, és amit teszel, az összhangban van [[{{MediaWiki:Policy-url}}|az irányelvekkel]].',
 'revdelete-suppress-text' => "Az elrejtés '''csak''' a következő esetekben használható:
 * Illetlen személyes információk
-*: ''otthoni címek és telefonszámok, társadalombiztosítási számok stb.''",
+*: ''otthoni cím, telefonszámok, társadalombiztosítási számok stb.''",
 'revdelete-legend' => 'Korlátozások megadása:',
 'revdelete-hide-text' => 'Változat szövegének elrejtése',
 'revdelete-hide-image' => 'A fájl tartalmának elrejtése',
 'revdelete-hide-name' => 'Művelet és cél elrejtése',
-'revdelete-hide-comment' => 'Összefoglaló elrejtése',
-'revdelete-hide-user' => 'A szerkesztő felhasználónevének/IP-címének elrejtése',
+'revdelete-hide-comment' => 'Szerkesztési összefoglaló',
+'revdelete-hide-user' => 'Szerkesztői név/IP cím',
 'revdelete-hide-restricted' => 'Adatok elrejtése az adminisztrátorok és mindenki más elől',
 'revdelete-radio-same' => '(nincs változtatás)',
-'revdelete-radio-set' => 'Igen',
-'revdelete-radio-unset' => 'Nem',
+'revdelete-radio-set' => 'Rejtett',
+'revdelete-radio-unset' => 'Látható',
 'revdelete-suppress' => 'Adatok elrejtése az adminisztrátorok és a többi felhasználó elől is',
 'revdelete-unsuppress' => 'Korlátozások eltávolítása a visszaállított változatokról',
 'revdelete-log' => 'Ok:',
@@ -1403,7 +1407,7 @@ Ezt általában egy elavult, törölt oldalra mutató laptörténeti hivatkozás
 'prefs-email' => 'Levelezés',
 'prefs-rendering' => 'Lapok megjelenítése',
 'saveprefs' => 'Mentés',
-'restoreprefs' => 'A beállítások alaphelyzetbe állítása',
+'restoreprefs' => 'A beállítások alaphelyzetbe állítása minden szakaszban',
 'prefs-editing' => 'Szerkesztés',
 'rows' => 'Sor',
 'columns' => 'Oszlop',
@@ -1461,8 +1465,8 @@ A műveletet nem lehet visszavonni.',
 'badsig' => 'Érvénytelen aláírás; ellenőrizd a HTML-formázást.',
 'badsiglength' => 'Az aláírásod túl hosszú.
 {{PLURAL:$1|Egy|$1}} karakternél rövidebbnek kell lennie.',
-'yourgender' => 'Nem:',
-'gender-unknown' => 'Nincs megadva',
+'yourgender' => 'Biológiai nem:',
+'gender-unknown' => 'Inkább nem adom meg',
 'gender-male' => 'Férfi',
 'gender-female' => 'Nő',
 'prefs-help-gender' => 'Nem kötelező: a szoftver használja a nemtől függő üzenetek megjelenítéséhez. Az információ mindenki számára látható.',
@@ -1487,6 +1491,7 @@ A műveletet nem lehet visszavonni.',
 'prefs-displaysearchoptions' => 'Megjelenítési beállítások',
 'prefs-displaywatchlist' => 'Megjelenítési beállítások',
 'prefs-diffs' => 'Eltérések (diffek)',
+'prefs-help-prefershttps' => 'A beállítás a legközelebbi belépés után lép érvénybe.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Az e-mail cím érvényesnek tűnik',
@@ -1658,12 +1663,13 @@ A műveletet nem lehet visszavonni.',
 'recentchanges-label-minor' => 'Ez egy apró szerkesztés',
 'recentchanges-label-bot' => 'Ezt a szerkesztést egy bot hajtotta végre',
 'recentchanges-label-unpatrolled' => 'Ezt a szerkesztést még nem ellenőrizték',
-'recentchanges-legend-newpage' => '$1 – új lap',
+'recentchanges-label-plusminus' => 'Az oldal mérete ennyi bájttal módosult',
+'recentchanges-legend-newpage' => '(lásd még: [[Special:NewPages|Új lapok]])',
 'rcnotefrom' => 'Alább a <b>$2</b> óta történt változtatások láthatóak (<b>$1</b> db).',
 'rclistfrom' => '$1 után történt változtatások megtekintése',
 'rcshowhideminor' => 'apró szerkesztések $1',
 'rcshowhidebots' => 'botok szerkesztéseinek $1',
-'rcshowhideliu' => 'bejelentkezett felhasználók szerkesztéseinek $1',
+'rcshowhideliu' => '$1 bejelentkezett felhasználó',
 'rcshowhideanons' => 'névtelen szerkesztések $1',
 'rcshowhidepatr' => 'ellenőrzött szerkesztések $1',
 'rcshowhidemine' => 'saját szerkesztések $1',
@@ -1833,7 +1839,7 @@ $1',
 'upload-file-error-text' => 'Belső hiba történt egy ideiglenes fájl szerveren történő létrehozásakor.
 Kérjük, hogy lépj kapcsolatba egy  [[Special:ListUsers/sysop|adminisztrátorral]].',
 'upload-misc-error' => 'Ismeretlen feltöltési hiba',
-'upload-misc-error-text' => 'A feltöltés során ismeretlen hiba történt.  Kérjük, ellenőrizd, hogy az URL érvényes-e és hozzáférhető-e, majd próbáld újra.  Ha a probléma továbbra is fennáll, akkor lépj kapcsolatba a [[Special:ListUsers/sysop|adminisztrátorral]].',
+'upload-misc-error-text' => 'A feltöltés során ismeretlen hiba történt.  Kérjük, ellenőrizd, hogy az URL érvényes-e és hozzáférhető-e, majd próbáld újra.  Ha a probléma továbbra is fennáll, akkor lépj kapcsolatba az [[Special:ListUsers/sysop|adminisztrátorral]].',
 'upload-too-many-redirects' => 'Az URL túl sokszor volt átirányítva',
 'upload-unknown-size' => 'Ismeretlen méretű',
 'upload-http-error' => 'HTTP-hiba történt: $1',
@@ -1941,8 +1947,7 @@ Ez a wiki publikus, így a biztonság miatt az img_auth.php ki van kapcsolva.',
 'upload_source_file' => ' (egy fájl a számítógépeden)',
 
 # Special:ListFiles
-'listfiles-summary' => 'Ezen a speciális lapon látható az összes feltöltött fájl.
-Amennyiben a szerkesztő szűrést állított be, úgy csak azok a fájlok jelennek meg, amikor a szerkesztő töltötte fel a legfrissebb verziót.',
+'listfiles-summary' => 'Ezen a speciális lapon látható az összes feltöltött fájl.',
 'listfiles_search_for' => 'Keresés fájl nevére:',
 'imgfile' => 'fájl',
 'listfiles' => 'Fájllista',
@@ -1953,6 +1958,8 @@ Amennyiben a szerkesztő szűrést állított be, úgy csak azok a fájlok jelen
 'listfiles_size' => 'Méret',
 'listfiles_description' => 'Leírás',
 'listfiles_count' => 'Változatok',
+'listfiles-latestversion-yes' => 'Igen',
+'listfiles-latestversion-no' => 'Nem',
 
 # File description page
 'file-anchor-link' => 'Fájl',
@@ -2045,6 +2052,10 @@ Ellenőrizd a meglévő hivatkozásokat, mielőtt törölnéd őket.',
 'randompage' => 'Lap találomra',
 'randompage-nopages' => 'A következő {{PLURAL:$2|névtérben|névterekben}} nincsenek lapok: $1.',
 
+# Random page in category
+'randomincategory' => 'Véletlen lap egy kategóriából',
+'randomincategory-invalidcategory' => '"$1" nem egy érvényes kategória neve.',
+
 # Random redirect
 'randomredirect' => 'Átirányítás találomra',
 'randomredirect-nopages' => 'A(z) „$1” névtérben nincsenek átirányítások.',
@@ -2314,7 +2325,7 @@ Ezután minden, a lapon vagy annak vitalapján történő változást ott fogsz
 'notvisiblerev' => 'A változat törölve lett',
 'watchlist-details' => 'A vitalapokon kívül {{PLURAL:$1|egy|$1}} lap van a figyelőlistádon.',
 'wlheader-enotif' => 'Az e-mailen keresztül történő értesítés engedélyezve.',
-'wlheader-showupdated' => "Azok a lapok, amelyek megváltoztak, mióta utoljára megnézted őket, '''vastagon''' láthatóak.",
+'wlheader-showupdated' => "Azok a lapok, amelyek megváltoztak, mióta utoljára megnézted őket, '''vastagítva''' láthatók.",
 'watchmethod-recent' => 'a figyelt lapokon belüli legfrissebb szerkesztések',
 'watchmethod-list' => 'a legfrissebb szerkesztésekben található figyelt lapok',
 'watchlistcontains' => 'A figyelőlistádon {{PLURAL:$1|egy|$1}} lap szerepel.',
@@ -2396,9 +2407,11 @@ A legutóbbi törlések listájához lásd a $2 lapot.',
 'deleteotherreason' => 'További indoklás:',
 'deletereasonotherlist' => 'Egyéb indok',
 'deletereason-dropdown' => '*Gyakori törlési okok
-** Szerző kérésére
+** Spam
+** A szerző kérése
 ** Jogsértő
-** Vandalizmus',
+** Vandalizmus
+** Hibás átirányítás',
 'delete-edit-reasonlist' => 'Törlési okok szerkesztése',
 'delete-toobig' => 'Ennek a lapnak a laptörténete több mint {{PLURAL:$1|egy|$1}} változatot őriz. A szervert kímélendő az ilyen lapok törlése nem engedélyezett.',
 'delete-warning-toobig' => 'Ennek a lapnak a laptörténete több mint {{PLURAL:$1|egy|$1}} változatot őriz. Törlése fennakadásokat okozhat a wiki adatbázis-műveleteiben; óvatosan járj el.',
@@ -3167,7 +3180,7 @@ A futtatása során kárt tehet a számítógépedben.",
 'svg-long-desc' => 'SVG fájl, névlegesen $1 × $2 képpont, fájlméret: $3',
 'svg-long-desc-animated' => 'Animált SVG fájl, névlegesen $1 × $2 képpont, fájlméret: $3',
 'svg-long-error' => 'Érvénytelen SVG-fájl: $1',
-'show-big-image' => 'A kép nagyfelbontású változata',
+'show-big-image' => 'Eredeti fájl',
 'show-big-image-preview' => 'Az előnézet mérete: $1',
 'show-big-image-other' => 'További {{PLURAL:$2|felbontás|felbontások}}: $1.',
 'show-big-image-size' => '$1 × $2 képpont',
@@ -3196,6 +3209,7 @@ A futtatása során kárt tehet a számítógépedben.",
 'minutes' => '{{PLURAL:$1|egy|$1}} perccel',
 'hours' => '{{PLURAL:$1|egy|$1}} órával',
 'days' => '{{PLURAL:$1|egy|$1}} nappal',
+'weeks' => '{{PLURAL:$1|$1 hét|$1 hét}}',
 'months' => '{{PLURAL:$1|$1 hónap|$1 hónap}}',
 'years' => '{{PLURAL:$1|$1 év|$1 év}}',
 'ago' => '$1 ezelőtt',
@@ -3203,6 +3217,8 @@ A futtatása során kárt tehet a számítógépedben.",
 
 # Human-readable timestamps
 'hours-ago' => '$1 {{PLURAL:$1|órával|órával}} ezelőtt',
+'minutes-ago' => '$1 {{PLURAL: $1|perce|perce}}',
+'seconds-ago' => '$1 {{PLURAL:$1|másodperce|másodperce}}',
 
 # Bad image list
 'bad_image_list' => 'A formátum a következő:
@@ -3416,7 +3432,7 @@ míg a többi elem a táblázat összecsukása után alapértelmezett esetben re
 'exif-compression-4' => 'CCITT Group 4 fax kódolás',
 
 'exif-copyrighted-true' => 'Szerzői jog által védett',
-'exif-copyrighted-false' => 'Közkincs',
+'exif-copyrighted-false' => 'Szerzői jogi állapot nincs beállítva',
 
 'exif-unknowndate' => 'Ismeretlen dátum',
 
@@ -3721,6 +3737,9 @@ Kérlek erősítsd meg, hogy tényleg újra akarod-e írni a lapot.",
 'imgmultigo' => 'Menj',
 'imgmultigoto' => 'Ugrás a(z) $1. oldalra',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(alapértelmezett nyelv)',
+
 # Table pager
 'ascending_abbrev' => 'növ',
 'descending_abbrev' => 'csökk',
@@ -3815,6 +3834,12 @@ A MediaWikit abban a reményben terjesztjük, hogy hasznos lesz, de GARANCIA NÉ
 'version-entrypoints-header-entrypoint' => 'Belépési pont',
 'version-entrypoints-header-url' => 'URL',
 
+# Special:Redirect
+'redirect-user' => 'Felhasználói azonosító',
+'redirect-revision' => 'Oldal felülvizsgálata',
+'redirect-file' => 'Fájlnév',
+'redirect-not-exists' => 'Érték nem található',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Duplikátumok keresése',
 'fileduplicatesearch-summary' => 'Fájlok duplikátumainak keresése hash értékük alapján.',
@@ -3828,6 +3853,7 @@ A MediaWikit abban a reményben terjesztjük, hogy hasznos lesz, de GARANCIA NÉ
 
 # Special:SpecialPages
 'specialpages' => 'Speciális lapok',
+'specialpages-note-top' => 'Jelmagyarázat',
 'specialpages-note' => '* Mindenki számára elérhető speciális lapok.
 * <span class="mw-specialpagerestricted">Korlátozott hozzáférésű speciális lapok.</span>',
 'specialpages-group-maintenance' => 'Állapotjelentések',
index 80831d4..d40410b 100644 (file)
@@ -727,7 +727,7 @@ $2',
 'createacct-captcha' => 'Անվտանգության ստուգում',
 'createacct-imgcaptcha-ph' => 'Մուտքագրեք վերը բերված գրվածքը',
 'createacct-submit' => 'Ստեղծել ձեր հաշիվը',
-'createacct-benefit-heading' => '{{SITENAME}}Õ\9d Õ½Õ¿Õ¥Õ²Õ®Õ¾Õ¡Õ® ձեր պես մարդկանց կողմից։',
+'createacct-benefit-heading' => '{{SITENAME}}Õ\9d Õ½Õ¿Õ¥Õ²Õ®Õ¾Õ¸Ö\82Õ´ Õ§ ձեր պես մարդկանց կողմից։',
 'createacct-benefit-body1' => '{{PLURAL:$1|խմբագրում}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|էջ}}',
 'createacct-benefit-body3' => 'վերջերս ակտիվ {{PLURAL:$1|մասնակից}}',
@@ -1393,7 +1393,8 @@ $3 մասնակիցը տվել է հետևյալ պատճառը. ''$2''",
 'recentchanges-label-minor' => 'Սա չնչին խմբագրում է',
 'recentchanges-label-bot' => 'Այս խմբագրումը կատարվել է բոտի կողմից',
 'recentchanges-label-unpatrolled' => 'Այս խմբագրումը դեռ չի պարեկվել',
-'recentchanges-legend-newpage' => '$1 - նոր էջ',
+'recentchanges-label-plusminus' => 'Էջի չափսն փոխոխվեց այսքան բայթով։',
+'recentchanges-legend-newpage' => '(տես նաև՝  [[Special:NewPages|նոր էջերի ցանկ]])',
 'rcnotefrom' => "Ստորև բերված են փոփոխությունները սկսած՝ '''$2''' (մինչև՝ '''$1''')։",
 'rclistfrom' => 'Ցույց տալ նոր փոփոխությունները սկսած $1',
 'rcshowhideminor' => '$1 չնչին խմբագրումները',
index d66cdf6..fa8aa7d 100644 (file)
@@ -408,7 +408,7 @@ $1',
 'privacypage' => 'Project:Politica de confidentialitate',
 
 'badaccess' => 'Error de permission',
-'badaccess-group0' => 'Tu non ha le permission de executar le action que tu ha requestate.',
+'badaccess-group0' => 'Tu non es autorisate a exequer le action requestate.',
 'badaccess-groups' => 'Le action que tu ha requestate es limitate al usatores in {{PLURAL:$2|le gruppo|un del gruppos}}: $1.',
 
 'versionrequired' => 'Version $1 de MediaWiki requirite',
@@ -652,7 +652,7 @@ Verifica le orthographia.',
 'passwordtooshort' => 'Le contrasignos debe continer al minus {{PLURAL:$1|1 character|$1 characteres}}.',
 'password-name-match' => 'Tu contrasigno debe esser differente de tu nomine de usator.',
 'password-login-forbidden' => 'Le uso de iste nomine de usator e contrasigno ha essite prohibite.',
-'mailmypassword' => 'Inviar un nove contrasigno in e-mail',
+'mailmypassword' => 'Reinitialisar contrasigno',
 'passwordremindertitle' => 'Nove contrasigno temporari pro {{SITENAME}}',
 'passwordremindertext' => 'Alcuno (probabilemente tu, ab le adresse IP $1) requestava un nove
 contrasigno pro {{SITENAME}} ($4).
@@ -729,7 +729,7 @@ Es possibile que tu ha ja cambiate tu contrasigno o requestate un nove contrasig
 # Special:PasswordReset
 'passwordreset' => 'Reinitialisar contrasigno',
 'passwordreset-text-one' => 'Completa iste formulario pro reinitialisar tu contrasigno.',
-'passwordreset-text-many' => '{{PLURAL:$1|Completa un de iste campos pro reinitialisar tu contrasigno.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Completa un de iste campos pro reciper un contrasigno temporari in e-mail.}}',
 'passwordreset-legend' => 'Reinitialisar contrasigno',
 'passwordreset-disabled' => 'Le reinitialisation de contrasignos ha essite disactivate in iste wiki.',
 'passwordreset-emaildisabled' => 'Le functionalitate de e-mail ha essite disactivate in iste wiki.',
@@ -1397,6 +1397,7 @@ Si tu opta pro dar lo, isto essera usate pro dar te attribution pro tu contribut
 'prefs-tokenwatchlist' => 'Indicio',
 'prefs-diffs' => 'Differentias',
 'prefs-help-prefershttps' => 'Iste preferentia habera effecto a partir de tu proxime session.',
+'prefs-tabs-navigation-hint' => 'Consilio: Tu pote usar le claves de sagitta sinistre e dextre pro navigar inter le schedas in le lista.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Sembla valide',
@@ -1583,7 +1584,9 @@ Si tu opta pro dar lo, isto essera usate pro dar te attribution pro tu contribut
 'recentchanges-label-bot' => 'Iste modification ha essite effectuate per un robot',
 'recentchanges-label-unpatrolled' => 'Iste modification non ha ancora essite patruliate',
 'recentchanges-label-plusminus' => 'Le dimension del pagina ha cambiate de iste numero de bytes',
+'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => '(vide etiam le [[Special:NewPages|lista de nove paginas]])',
+'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => 'infra es le modificationes a partir de <b>$2</b> (usque a <b>$1</b>).',
 'rclistfrom' => 'Monstrar nove modificationes a partir de $1',
 'rcshowhideminor' => '$1 modificationes minor',
@@ -2055,6 +2058,7 @@ Le entratas <del>cancellate</del> ha essite resolvite.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikis}}',
 'nlinks' => '$1 {{PLURAL:$1|ligamine|ligamines}}',
 'nmembers' => '$1 {{PLURAL:$1|membro|membros}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|membro|membros}}',
 'nrevisions' => '$1 {{PLURAL:$1|version|versiones}}',
 'nviews' => '$1 {{PLURAL:$1|visita|visitas}}',
 'nimagelinks' => 'Usate in $1 {{PLURAL:$1|pagina|paginas}}',
@@ -3727,6 +3731,11 @@ Per favor confirma que tu realmente vole recrear iste pagina.",
 'imgmultigo' => 'Ir!',
 'imgmultigoto' => 'Visitar pagina $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(lingua predefinite)',
+'img-lang-info' => 'Presentar iste imagine in $1. $2',
+'img-lang-go' => 'Va',
+
 # Table pager
 'ascending_abbrev' => 'asc',
 'descending_abbrev' => 'desc',
@@ -4074,10 +4083,12 @@ De facto, illo expande quasi toto inter accolladas duple.',
 'expand_templates_input' => 'Texto de entrata:',
 'expand_templates_output' => 'Resultato',
 'expand_templates_xml_output' => 'Output XML',
+'expand_templates_html_output' => 'Resultato in HTML brute',
 'expand_templates_ok' => 'OK',
 'expand_templates_remove_comments' => 'Eliminar commentos',
 'expand_templates_remove_nowiki' => 'Supprimer le etiquettas <nowiki> in le resultato',
 'expand_templates_generate_xml' => 'Monstrar arbore syntactic XML',
+'expand_templates_generate_rawhtml' => 'Monstrar HTML brute',
 'expand_templates_preview' => 'Previsualisation',
 
 );
index 5736665..59d01d3 100644 (file)
@@ -25,6 +25,7 @@
  * @author Iwan Novirion
  * @author J Subhi
  * @author Kaganer
+ * @author Kazu89
  * @author Kenrick95
  * @author Mahali syarifuddin
  * @author McDutchie
@@ -622,8 +623,8 @@ $1',
 'youhavenewmessages' => 'Anda mempunyai $1 ($2).',
 'youhavenewmessagesfromusers' => 'Anda memiliki $1 dari {{PLURAL:$3|$3 pengguna lain}} ($2).',
 'youhavenewmessagesmanyusers' => 'Anda memiliki $1 dari pengguna lain ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|pesan baru}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|perubahan}} terakhir',
+'newmessageslinkplural' => '{{PLURAL:$1|pesan baru|pesan baru}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|perubahan|999=perubahan}} terakhir',
 'youhavenewmessagesmulti' => 'Anda mendapat pesan baru pada $1',
 'editsection' => 'sunting',
 'editold' => 'sunting',
@@ -746,7 +747,8 @@ Administrator yang terkunci menawarkan penjelasan ini: " $3 ".',
 'invalidtitle-knownnamespace' => 'Judul yang tidak sah dengan ruangnama "$2" dan teks "$3"',
 'invalidtitle-unknownnamespace' => 'Judul yang tidak sah dengan nomor ruang nama tidak diketahui $1 dan teks "$2"',
 'exception-nologin' => 'Belum masuk log',
-'exception-nologin-text' => 'Halaman atau tindakan ini mengharuskan Anda masuk log di wiki ini.',
+'exception-nologin-text' => 'Harap [[Special:Userlogin|masuk log]] untuk dapat mengakses halaman atau tindakan ini.',
+'exception-nologin-text-manual' => 'Silakan $1 untuk dapat mengakses halaman atau tindakan ini.',
 
 # Virus scanner
 'virus-badscanner' => "Kesalahan konfigurasi: pemindai virus tidak dikenal: ''$1''",
@@ -792,7 +794,7 @@ Ingatlah bahwa beberapa halaman mungkin masih menampilkan anda seperti masih mas
 'gotaccount' => "Sudah terdaftar sebagai pengguna? '''$1'''.",
 'gotaccountlink' => 'Masuk log',
 'userlogin-resetlink' => 'Lupa detail info masuk Anda?',
-'userlogin-resetpassword-link' => 'Buat ulang kata sandi',
+'userlogin-resetpassword-link' => 'Lupa kata sandi?',
 'helplogin-url' => 'Help:Masuk log',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Bantuan masuk log]]',
 'userlogin-loggedin' => 'Andan telah masuk log sebagai $1.
@@ -843,7 +845,7 @@ Silakan periksa kembali ejaan Anda.',
 'passwordtooshort' => 'Kata sandi paling tidak harus terdiri dari {{PLURAL:$1|1 karakter|$1 karakter}}.',
 'password-name-match' => 'Kata sandi Anda harus berbeda dari nama pengguna Anda.',
 'password-login-forbidden' => 'Penggunaan nama pengguna dan sandi ini telah dilarang.',
-'mailmypassword' => 'Kirim kata sandi baru',
+'mailmypassword' => 'Setel ulang kata sandi',
 'passwordremindertitle' => 'Peringatan kata sandi dari {{SITENAME}}',
 'passwordremindertext' => 'Seseorang (mungkin Anda, dari alamat IP $1) meminta kata sandi baru untuk {{SITENAME}} ($4). Kata sandi sementara untuk pengguna "$2" telah dibuatkan dan diset menjadi "$3". Jika memang Anda yang mengajukan permintaan ini, Anda perlu masuk log dan memilih kata sandi baru sekarang. Kata sandi sementara Anda akan kedaluwarsa dalam waktu {{PLURAL:$5|satu hari|$5 hari}}.
 
@@ -853,8 +855,7 @@ Jika orang lain yang melakukan permintaan ini, atau jika Anda telah mengingat ka
 'passwordsent' => 'Kata sandi baru telah dikirimkan ke alamat surel yang didaftarkan untuk "$1".
 Silakan masuk log kembali setelah menerima surel tersebut.',
 'blocked-mailpassword' => 'Alamat IP Anda diblokir dari penyuntingan dan karenanya tidak diizinkan menggunakan fungsi pengingat kata sandi untuk mencegah penyalahgunaan.',
-'eauthentsent' => 'Sebuah surel untuk konfirmasi telah dikirim ke alamat surel.
-Anda harus mengikuti instruksi di dalam surel tersebut untuk melakukan konfirmasi bahwa alamat tersebut adalah benar kepunyaan Anda. {{SITENAME}} tidak akan mengaktifkan fitur surel jika langkah ini belum dilakukan.',
+'eauthentsent' => 'Sebuah surel untuk konfirmasi telah dikirim ke alamat surel. Sebelum surel lainnya dikirim ke akun tersebut, Anda harus mengikuti instruksi di dalam surel tersebut, untuk melakukan konfirmasi bahwa alamat tersebut adalah benar kepunyaan Anda.',
 'throttled-mailpassword' => 'Suatu pengingat kata sandi telah dikirimkan dalam {{PLURAL:$1|$1 jam}} terakhir.
 Untuk menghindari penyalahgunaan, hanya satu kata sandi yang akan dikirimkan setiap {{PLURAL:$1|$1 jam}}.',
 'mailerror' => 'Kesalahan dalam mengirimkan surel: $1',
@@ -876,7 +877,7 @@ Harap masukkan alamat surel dalam format yang benar atau kosongkan isian tersebu
 Anda dapat mengabaikan pesan ini jika akun ini dibuat karena suatu kesalahan.',
 'usernamehasherror' => 'Nama pengguna tidak bisa mengandung tanda pagar',
 'login-throttled' => 'Anda sudah terlalu sering mencoba masuk log.
-Silakan menunggu sebelum mencoba lagi.',
+Silakan menunggu $1 sebelum mencoba lagi.',
 'login-abort-generic' => 'Proses masuk Anda tidak berhasil - Dibatalkan',
 'loginlanguagelabel' => 'Bahasa: $1',
 'suspicious-userlogout' => 'Permintaan Anda untuk keluar log ditolak karena tampaknya dikirim oleh penjelajah yang rusak atau proksi penyinggah.',
@@ -910,7 +911,7 @@ Anda mungkin telah berhasil mengganti kata sandi Anda atau telah meminta kata sa
 # Special:PasswordReset
 'passwordreset' => 'Setel ulang kata sandi',
 'passwordreset-text-one' => 'Lengkapi formulir ini untuk menyetel ulang kata sandi.',
-'passwordreset-text-many' => '{{PLURAL:$1|Isi salah satu kotak di bawah ini untuk menyetel ulang kata sandi Anda.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Isi salah satu kotak di bawah ini untuk mendapatkan kata sandi sementara melalui surel.}}',
 'passwordreset-legend' => 'Setel ulang kata sandi',
 'passwordreset-disabled' => 'Penyetelan ulang sandi telah dimatikan di wiki ini.',
 'passwordreset-emaildisabled' => 'Fitur surel telah dinonaktifkan pada wiki ini.',
@@ -1290,18 +1291,19 @@ Sebagai seorang pengurus, Anda dapat melihat perbedaan ini; detail mungkin terse
 Pengurus {{SITENAME}} lain akan tetap dapat mengakses isi yang tersembunyi ini dan dapat membatalkan penghapusannya menggunakan antarmuka yang sama, kecuali ada pembatasan lain yang dibuat oleh operator situs.",
 'revdelete-confirm' => 'Tolong konfirmasi bahwa Anda memang bermaksud melakukan ini, memahami konsekuensinya, dan bahwa Anda melakukannya sesuai dengan [[{{MediaWiki:Policy-url}}|kebijakan]].',
 'revdelete-suppress-text' => "Penyembunyian revisi '''hanya''' boleh digunakan untuk kasus-kasus berikut:
+* Informasi yang berpotensi memfitnah
 * Informasi pribadi yang tak sepantasnya
 *: ''alamat rumah dan nomor telepon, nomor kartu identitas, dan lain-lain.''",
 'revdelete-legend' => 'Atur batasan:',
-'revdelete-hide-text' => 'Sembunyikan teks revisi',
+'revdelete-hide-text' => 'Teks revisi',
 'revdelete-hide-image' => 'Sembunyikan isi berkas',
 'revdelete-hide-name' => 'Sembunyikan tindakan dan target',
-'revdelete-hide-comment' => 'Sembunyikan ringkasan suntingan',
-'revdelete-hide-user' => 'Sembunyikan nama pengguna/IP penyunting',
+'revdelete-hide-comment' => 'Ringkasan suntingan',
+'revdelete-hide-user' => 'Nama pengguna/alamat IP penyunting',
 'revdelete-hide-restricted' => 'Sembunyikan data dari opsis juga',
 'revdelete-radio-same' => '(jangan diubah)',
-'revdelete-radio-set' => 'Ya',
-'revdelete-radio-unset' => 'Tidak',
+'revdelete-radio-set' => 'Tersembunyikan',
+'revdelete-radio-unset' => 'Terlihat',
 'revdelete-suppress' => 'Sembunyikan juga dari pengurus',
 'revdelete-unsuppress' => 'Hapus batasan pada revisi yang dikembalikan',
 'revdelete-log' => 'Alasan:',
@@ -1446,6 +1448,7 @@ Perlu diingat bahwa indeks Google untuk konten {{SITENAME}} mungkin belum mencak
 'preferences' => 'Preferensi',
 'mypreferences' => 'Preferensi',
 'prefs-edits' => 'Jumlah suntingan:',
+'prefsnologintext2' => 'Silakan $1 untuk mengubah preferensi Anda.',
 'prefs-skin' => 'Kulit',
 'skin-preview' => 'Pratayang',
 'datedefault' => 'Tak ada preferensi',
@@ -1558,6 +1561,7 @@ Jika Anda memberikannya, nama asli Anda akan digunakan untuk memberi pengenalan
 'prefs-tokenwatchlist' => 'Tanda',
 'prefs-diffs' => 'Beda',
 'prefs-help-prefershttps' => 'Preferensi ini akan diaktifkan kali berikutnya Anda masuk log.',
+'prefs-tabs-navigation-hint' => 'Tip: Anda dapat menggunakan tomboh panah kiri dan kanan untuk bernavigasi antartab di dalam daftar tab.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Alamat surel tampaknya sah',
@@ -1746,7 +1750,8 @@ Jika Anda memberikannya, nama asli Anda akan digunakan untuk memberi pengenalan
 'recentchanges-label-minor' => 'Ini adalah suntingan kecil',
 'recentchanges-label-bot' => 'Suntingan ini dilakukan oleh bot',
 'recentchanges-label-unpatrolled' => 'Suntingan ini belum terpatroli',
-'recentchanges-legend-newpage' => '$1 - halaman baru',
+'recentchanges-label-plusminus' => 'Perubahan ukuran halaman dalam bita',
+'recentchanges-legend-newpage' => '(lihat pula [[Special:NewPages|daftar halaman baru]])',
 'rcnotefrom' => 'Di bawah ini adalah perubahan sejak <strong>$2</strong> (ditampilkan sampai <strong>$1</strong> perubahan).',
 'rclistfrom' => 'Perlihatkan perubahan terbaru sejak $1',
 'rcshowhideminor' => '$1 suntingan kecil',
@@ -2207,6 +2212,7 @@ Nama yang telah <del>dicoret</del> berarti telah dibetulkan.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwiki}}',
 'nlinks' => '$1 {{PLURAL:$1|pranala|pranala}}',
 'nmembers' => '$1 {{PLURAL:$1|isi|isi}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|anggota|anggota}}',
 'nrevisions' => '$1 {{PLURAL:$1|revisi|revisi}}',
 'nviews' => 'dilihat $1 {{PLURAL:$1|kali|kali}}',
 'nimagelinks' => 'Digunakan pada $1 {{PLURAL:$1|halaman|halaman}}',
@@ -3194,6 +3200,7 @@ Masukan ini '''DILARANG'''!",
 'pageinfo-length' => 'Panjang halaman (dalam bita)',
 'pageinfo-article-id' => 'ID Halaman',
 'pageinfo-language' => 'Bahasa isi halaman',
+'pageinfo-content-model' => 'Model isi halaman',
 'pageinfo-robot-policy' => 'Pengindeksan oleh robot',
 'pageinfo-robot-index' => 'Diperbolehkan',
 'pageinfo-robot-noindex' => 'Tidak diperbolehkan',
@@ -3933,6 +3940,9 @@ Silakan konfirmasi jika Anda ingin membuat ulang halaman ini.",
 'imgmultigo' => 'Cari!',
 'imgmultigoto' => 'Pergi ke halaman $1',
 
+# Language selector for translatable SVGs
+'img-lang-go' => 'Tuju ke',
+
 # Table pager
 'ascending_abbrev' => 'naik',
 'descending_abbrev' => 'turun',
@@ -4078,7 +4088,7 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 # Special:Redirect
 'redirect' => 'Pengalihan oleh berkas, pengguna atau ID revisi',
 'redirect-legend' => 'Pengalihan ke sebuah berkas atau halaman',
-'redirect-summary' => 'Halaman istimewa ini beralih ke berkas (sesuai nama berkasnya), halaman (sesuai ID revisinya), atau halaman pengguna (sesuai ID numerik penggunanya).',
+'redirect-summary' => 'Halaman istimewa ini beralih ke berkas (sesuai nama berkasnya), halaman (sesuai ID revisinya), atau halaman pengguna (sesuai ID numerik penggunanya). Penggunaan: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], atau [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Lanjut',
 'redirect-lookup' => 'Pencarian:',
 'redirect-value' => 'Nilai:',
@@ -4100,9 +4110,9 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 
 # Special:SpecialPages
 'specialpages' => 'Halaman istimewa',
+'specialpages-note-top' => 'Keterangan',
 'specialpages-note' => '* Halaman istimewa normal.
-* <span class="mw-specialpagerestricted">Halaman istimewa terlarang.</span>
-* <span class="mw-specialpagecached">Halaman istimewa tersinggah (mungkin usang).</span>',
+* <span class="mw-specialpagerestricted">Halaman istimewa terlarang.</span>',
 'specialpages-group-maintenance' => 'Laporan pemeliharaan',
 'specialpages-group-other' => 'Lain-lain',
 'specialpages-group-login' => 'Masuk log / mendaftar',
index 924e7fd..9709cf1 100644 (file)
@@ -359,7 +359,7 @@ $messages = array(
 'otherlanguages' => 'Altri lingues',
 'redirectedfrom' => '(Redirectet de $1)',
 'redirectpagesub' => 'Págine de redirecterion',
-'lastmodifiedat' => 'Ti-ci págine ha esser redactet in ultim li $1, clocca $2.',
+'lastmodifiedat' => 'Ti-ci págine esset redactet in ultim li $1, clocca $2.',
 'viewcount' => 'Ti págine ha esset accesset {{PLURAL:$1|un vez|$1 vezes}}.',
 'protectedpage' => 'Un protectet págine',
 'jumpto' => 'Saltar a:',
@@ -452,11 +452,12 @@ Forsan it indica un erra in li programma usat de {{SITENAME}}.',
 'nosuchspecialpage' => 'Null tal special págine',
 'nospecialpagetext' => '<strong>Tu ha petit un ínvalid special págine.</strong>
 
-Omni existent special págines trova se in li [[Special:Specialpages|{{int:specialpagines}}]].',
+Omni existent special págines trova se in li [[Special:Specialpages|{{int:specialpages}}]].',
 
 # General errors
 'error' => 'Erra',
 'databaseerror' => 'Erra del data-base',
+'databaseerror-text' => 'Un erra in li questionada del database ha evenit. To posse indicar un erra in li software.',
 'missing-article' => 'Li textu de «$1» $2 ne ha esset trovat in li data-base.
 
 It es possibil, que ti págine ha esset deleet o movet.
index 299ba9f..76403af 100644 (file)
@@ -309,8 +309,8 @@ Kitaen ti [[Special:Version|panid ti bersion]].',
 'youhavenewmessages' => 'Addaanka ti $1 ($2).',
 'youhavenewmessagesfromusers' => 'Adda $1 manipud {{PLURAL:$3|ti sabali nga agar-aramat|kadagiti $3 a sabsabali nga agar-aramat}} ($2).',
 'youhavenewmessagesmanyusers' => 'Adda $1 manipud kadagiti adu nga agar-aramat ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|baro a mensahem|dagiti baro a mensahem}}',
-'newmessagesdifflinkplural' => 'kinaudi {{PLURAL:$1|a sinukatan|a sinuksukatan}}',
+'newmessageslinkplural' => '{{PLURAL:$1|a baro a mensahem|999=a baro a menmensahem}}',
+'newmessagesdifflinkplural' => 'kinaudi a {{PLURAL:$1|sinukatan|999=sinuksukatan}}',
 'youhavenewmessagesmulti' => 'Adda dagiti baro a mensahem iti $1',
 'editsection' => 'urnosen',
 'editold' => 'urnosen',
@@ -441,7 +441,8 @@ Ti administrador a nangserra ket nagited iti daytoy a panagilawlawag "\'\'$3\'\'
 'invalidtitle-knownnamespace' => 'Imbalido a titulo iti nagan ti espasio "$2" ken testo "$3"',
 'invalidtitle-unknownnamespace' => 'Imbalido a titulo iti di-amammo a nagan ti espasio a numero $1 ken testo "$2"',
 'exception-nologin' => 'Saan a nakastrek',
-'exception-nologin-text' => 'Daytoy a panid wenno aramid ket makasapul kenka ti sumrek iti daytoy a wiki.',
+'exception-nologin-text' => 'Pangngaasi a [[Special:Userlogin|sumrek]] tapno maserrekam daytoy a panid wenno tignay.',
+'exception-nologin-text-manual' => 'Pangngaasi a $1 tapno maserrekan daytoy a panid wenno tignay.',
 
 # Virus scanner
 'virus-badscanner' => 'Madi di panaka-aramidna: Di am-ammo a birus a panagskan: "$1"',
@@ -547,7 +548,7 @@ Pangngaasi a padasem manen.',
 'passwordtooshort' => 'Dagiti kontrasenias ket nasken a saan a basbasit ngem {{PLURAL:$1|1 a karakter|$1 a karkarakter}}.',
 'password-name-match' => 'Nasken a ti kontrasenias ket maigiddiat manipud ti naganmo.',
 'password-login-forbidden' => 'Ti panag-usar ti daytoy a nagan ti agar-aramat ken kontrasenias ket naipariten.',
-'mailmypassword' => 'Ipatulod ti esurat ti baro a kontrasenias',
+'mailmypassword' => 'Iyasentar manen ti kontrasenias',
 'passwordremindertitle' => 'Baro a temporario a kontrasenias para iti {{SITENAME}}',
 'passwordremindertext' => 'Adda maysa a tao (mabalin a sika met laeng, manipud iti IP a pagtaengan a $1) ket nagkiddaw ti baro
 a kontrasenias para iti {{SITENAME}} ($4). Ti saan nga agnayon a kontrasenias ti agususar
@@ -620,7 +621,7 @@ Mabalin a nagballigi ti panagsukatmo ti kontrasenias wenno nagkiddaw ti baro a t
 # Special:PasswordReset
 'passwordreset' => 'Iyasentar manen ti kontrasenias',
 'passwordreset-text-one' => 'Lippasem daytoy a porma tapno maiyasentar manen ti bukodmo a kontrasenias.',
-'passwordreset-text-many' => '{{PLURAL:$1|Agikabil ti maysa kadagiti pagikabilan tapno maiyasentar manen ti bukodmo a kontrasenias.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Agpunno ti maysa kadagiti pagikabilan tapno makaawat ti temporario a kontrasenias babaen ti esurat.}}',
 'passwordreset-legend' => 'Iyasentar manen ti kontrasenias',
 'passwordreset-disabled' => 'Nabaldado dagiti panangiyasentar manen ti kontrasenias iti daytoy a wiki.',
 'passwordreset-emaildisabled' => 'Dagiti langa ti esurat ket nabaldado iti daytoy a wiki.',
@@ -1015,9 +1016,9 @@ awan ti naibaga a panagbaliw, wenno padpadasem nga ilemlemmeng ti agdama a panag
 Dagiti sabsabali nga administrador idiay {{SITENAME}} ket mabalinda a serrekan ti nailemmeng a nagyan ken isubli ti panakaikkatda manen idiay dati nga interface, ngem saan no adda dagiti nainayon a naikabil a panagparit.",
 'revdelete-confirm' => 'Pangngaasi a pasingkedam a kayatmo nga aramiden daytoy, a maawatam dagiti pagbanagan, ket araramidem daytoy a segun iti [[{{MediaWiki:Policy-url}}|ti annuroten]].',
 'revdelete-suppress-text' => "Ti panagdepdep ket usaren '''laeng''' kadagiti sumaganad a kaso;
-* Adda panakabalinna a dakes a pakaammo
-* Di maiparbeng a  kabukbukodan a pakaammo
-* : ''dagiti pagtaengan ken numero ti telepono, numero ti sosial a seguridad, ken dadduma pay.''",
+* Makapataud ti libelo a pakaammo
+* Di maiparbeng a personal a pakaammo
+* : ''dagiti pagtaengan ken numero ti telepono, dagiti numero ti nailian a pakaipakaammuan, ken dadduma pay.''",
 'revdelete-legend' => 'Ikabil dagiti panagiparit ti panagkita',
 'revdelete-hide-text' => 'Testo ti binaliwan',
 'revdelete-hide-image' => 'Ilemmeng ti linaon ti papeles',
@@ -1026,8 +1027,8 @@ Dagiti sabsabali nga administrador idiay {{SITENAME}} ket mabalinda a serrekan t
 'revdelete-hide-user' => 'Nagan ti agar-amat/ti IP a pagtaengan',
 'revdelete-hide-restricted' => 'Depdepen ti datos a naggapu kadagiti administrador ken dagiti sabsabali',
 'revdelete-radio-same' => '(saan a sukatan)',
-'revdelete-radio-set' => 'Makita',
-'revdelete-radio-unset' => 'Nailemmeng',
+'revdelete-radio-set' => 'Nailemmeng',
+'revdelete-radio-unset' => 'Makita',
 'revdelete-suppress' => 'Depdepen ti datos manipud kadagiti administrador ken dagiti sabsabali',
 'revdelete-unsuppress' => 'Ikkaten dagiti pannakaiparit kadagiti naisubli a binaliwan',
 'revdelete-log' => 'Rason:',
@@ -1172,6 +1173,7 @@ Laglagipem laeng a dagiti pagsurotan nagyan ti {{SITENAME}} ket baka baak.',
 'preferences' => 'Kakaykayatan',
 'mypreferences' => 'Kakaykayatan',
 'prefs-edits' => 'Bilang dagiti inurnos:',
+'prefsnologintext2' => 'Pangngaasi a $1 tapno mabaliwan dagiti kakaykayatam.',
 'prefs-skin' => 'Kudil',
 'skin-preview' => 'Ipadas',
 'datedefault' => 'Awan ti kakaykayatan',
@@ -1285,6 +1287,7 @@ Ti esurat a pagtaengam ket saan a maipakita kadagiti agar-aramat nga agkontak ke
 'prefs-tokenwatchlist' => 'Tandaan',
 'prefs-diffs' => 'Sabali',
 'prefs-help-prefershttps' => 'Daytoy a kakaykayatan ket mapakabaelanto iti sumaruno nga iseserrekmo.',
+'prefs-tabs-navigation-hint' => 'Pakaammo: Mabalinmo nga usaren dagiti kanigid ken kanawan a tekla ti pana tapno madaliasat ti baetan dagiti etiketa iti listaan dagiti etiketa.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Ti esurat a pagtaengan ket kasla umiso',
@@ -1470,6 +1473,8 @@ Ti esurat a pagtaengam ket saan a maipakita kadagiti agar-aramat nga agkontak ke
 'recentchanges-label-minor' => 'Daytoy ket bassit a panag-urnos',
 'recentchanges-label-bot' => 'Daytoy a panag-urnos ket inaramid babaen ti maysa a bot',
 'recentchanges-label-unpatrolled' => 'Daytoy a panag-urnos ket saan pay a napatruliaan',
+'recentchanges-label-plusminus' => 'Ti panagbaliw ti kadakkel ti panid babaen ti bilang dagiti byte',
+'recentchanges-legend-newpage' => '(kitaen pay ti [[Special:NewPages|listaan ti baro a pampanid]])',
 'rcnotefrom' => "Dita baba ket dagiti sinukatan manipud idi '''$2''' (agingga iti '''$1''' a naipakita).",
 'rclistfrom' => 'Ipakita dagiti kabarbaro a sinukatan a mangrugi manipud idi $1',
 'rcshowhideminor' => '$1 dagiti bassit a panag-urnos',
@@ -1931,6 +1936,7 @@ Tattan ket naibaw-ing idiay [[$2]].',
 'ninterwikis' => '$1 {{PLURAL:$1|nga interwiki|dagiti interwiki}}',
 'nlinks' => '$1 {{PLURAL:$1|a silpo|kadagiti silpo}}',
 'nmembers' => '$1 {{PLURAL:$1|a kameng|kamkameng}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|kameng|kamkameng}}',
 'nrevisions' => '$1 {{PLURAL:$1|a panagbalbaliw|kadagiti panagbalbaliw}}',
 'nviews' => '$1 {{PLURAL:$1|a panangkita|kadagiti panangkita}}',
 'nimagelinks' => 'Inusar idiay $1 {{PLURAL:$1|a panid|a pampanid}}',
@@ -2191,9 +2197,9 @@ Kontaken ti mannurat:
 surat: $PAGEEDITOR_EMAIL
 wiki: $PAGEEDITOR_WIKI
 
-Awanen ti sabali pay a paka-ammo a maipatulod kenka no adda pay dagiti masukatan inggana laeng no sarungkaram daytoy a panid. Mabalin met nga ipasadiwa dagiti bandera ti paka-ammom para amin kadagiti buybuyaem a panid idiay bambantayam.
+Awanton dagiti sabali a pakaammo iti kaso ti adu pay a panagtigtignay malaksid no sarungkaram datoy a panid bayat a nakastrekka. Mabalinmo pay nga iyasentar manen dagiti wagayway ti pakaammo para kadagiti amin a bambantayam a panid idiay listaan ti bambantayam.
 
-Ti gayyemmo ti {{SITENAME}} a sistema ti pagpa-ammo
+Ti mannakigayyem a sistema ti panagpaammo ti {{SITENAME}} 
 
 --
 Ti panagsukat ti kasasaad ti esurat a pagpa-ammom, sarungkaram ti
@@ -3001,7 +3007,7 @@ No usarem daytoy, baka makompromiso ti sistema.",
 'svg-long-desc' => 'SVG a papeles, babassit ngem $1 × $2 pixels, kadakkel ti papeles: $3',
 'svg-long-desc-animated' => 'Naanimado nga SVG a papeles, babassit ngem  $1 × $2 pixels, kadakkel ti papeles: $3',
 'svg-long-error' => 'Saan nga umiso a papeles ti SVG: $1',
-'show-big-image' => 'Sibubukel a resolusion',
+'show-big-image' => 'Kasisigud a papeles',
 'show-big-image-preview' => 'Kadakkel daytoy a panagipadas: $1.',
 'show-big-image-other' => 'Sabali {{PLURAL:$2|a resolusion|kadagiti resolusion}}: $1.',
 'show-big-image-size' => '$1 × $2 dagiti piksel',
@@ -3284,6 +3290,7 @@ Dagiti dadduma ket mailemmeng a kinasigud.
 'exif-exposureprogram-2' => 'Kadawyan a programa',
 'exif-exposureprogram-3' => 'Aperture priority',
 'exif-exposureprogram-4' => 'Shutter priority',
+'exif-exposureprogram-5' => 'Kreatibo a programa (di nalinteg iti  kauneg ti pagikabilan)',
 'exif-exposureprogram-6' => 'Aktion a programa (di nalinteg iti kapartak ti napardas a shutter)',
 'exif-exposureprogram-7' => 'Retrato a kita (para iti naasideg nga imahen nga addaan ti lugar ti likud a saan a nai-focus)',
 'exif-exposureprogram-8' => 'Ladawan ti daga a kita (para iti ladawan ti daga nga imahen nga addaan ti lugar ti likud a pinag- focus)',
@@ -3566,6 +3573,11 @@ Pangngaasi a pasingkedam nga agpayso a kayatmo a partuten manen daytoy a panid."
 'imgmultigo' => 'Inkan!',
 'imgmultigoto' => 'Mapan iti panid $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(kasisigud a pagsasao)',
+'img-lang-info' => 'Ipaay daytoy a ladawan iti $1 $2.',
+'img-lang-go' => 'Inkan',
+
 # Table pager
 'ascending_abbrev' => 'asc',
 'descending_abbrev' => 'desc',
@@ -3690,6 +3702,7 @@ Naka-awatka koman ti [{{SERVER}}{{SCRIPTPATH}}/COPYING kopia iti GNU Sapasap a
 
 # Special:SpecialPages
 'specialpages' => 'Espesial a pampanid',
+'specialpages-note-top' => 'Sarita',
 'specialpages-note' => '* Kadawyan nga espesial a pampanid.
 * <span class="mw-specialpagerestricted">Nagawidan nga espesial a pampanid.</span>',
 'specialpages-group-maintenance' => 'Dagiti padamag ti panagtaripato',
index fb3055f..20f7fce 100644 (file)
@@ -239,12 +239,12 @@ $messages = array(
 'tog-hidepatrolled' => 'Fela yfirfarnar breytingar í nýlegum breytingum',
 'tog-newpageshidepatrolled' => 'Fela yfirfarnar breytingar í listanum yfir nýjar síður',
 'tog-extendwatchlist' => 'Sýna allar breytingar á vaktlistanum, ekki einungis þær nýjustu',
-'tog-usenewrc' => 'Flokka breytingar eftir síðu í nýlegum breytingum og vaktlista (þarfnast JavaScript)',
+'tog-usenewrc' => 'Flokka breytingar eftir síðu í nýlegum breytingum og vaktlista',
 'tog-numberheadings' => 'Númera fyrirsagnir sjálfkrafa',
-'tog-showtoolbar' => 'Sýna breytingarverkfærastiku (JavaScript)',
-'tog-editondblclick' => 'Breyta síðum þegar tvísmellt er (JavaScript)',
+'tog-showtoolbar' => 'Sýna breytingarverkfærastiku',
+'tog-editondblclick' => 'Breyta síðum þegar tvísmellt er',
 'tog-editsection' => 'Virkja hlutabreytingu með [breyta] tenglum',
-'tog-editsectiononrightclick' => 'Virkja hlutabreytingu með því að hægrismella á hlutafyrirsagnir (JavaScript)',
+'tog-editsectiononrightclick' => 'Virkja hlutabreytingu með því að hægrismella á hlutafyrirsagnir',
 'tog-showtoc' => 'Sýna efnisyfirlit (fyrir síður með meira en 3 fyrirsagnir)',
 'tog-rememberpassword' => 'Muna innskráninguna mína í þessum vafra (í allt að $1 {{PLURAL:$1|dag|daga}})',
 'tog-watchcreations' => 'Bæta síðum sem ég bý til og skrám sem ég hleð inn á vaktlistann minn',
@@ -261,7 +261,7 @@ $messages = array(
 'tog-shownumberswatching' => 'Sýna fjölda vaktandi notenda',
 'tog-oldsig' => 'Núverandi undirskrift:',
 'tog-fancysig' => 'Meðhöndla undirskrift sem wikimál (án sjálfvirks tengils)',
-'tog-uselivepreview' => 'Nota beina forskoðun (JavaScript) (Á tilraunastigi)',
+'tog-uselivepreview' => 'Nota beina forskoðun (Á tilraunastigi)',
 'tog-forceeditsummary' => 'Birta áminningu þegar breytingarágripið er tómt',
 'tog-watchlisthideown' => 'Ekki sýna mínar breytingar á vaktlistanum',
 'tog-watchlisthidebots' => 'Ekki sýna breytingar vélmenna á vaktlistanum',
@@ -624,7 +624,7 @@ Möppudýrið sem læsti skránni gaf þessa ástæðu: "\'\'$3\'\'".',
 'invalidtitle-knownnamespace' => 'Ógildur titill í nafnrými "$2" og með textann "$3"',
 'invalidtitle-unknownnamespace' => 'Ógildur titill með óþekkt nafnrými númer $1 og texta "$2"',
 'exception-nologin' => 'Óinnskráð(ur)',
-'exception-nologin-text' => 'Þessi síða eða aðgerð krefst þess að þú sért skráður inn á þessum wiki.',
+'exception-nologin-text' => 'Vinsamlegast [[Special:Userlogin|skráðu þig inn]] til þess að hafa aðgang að þessari síðu eða aðgerð.',
 
 # Virus scanner
 'virus-badscanner' => "Slæm stilling: óþekktur veiruskannari: ''$1''",
@@ -634,7 +634,6 @@ Möppudýrið sem læsti skránni gaf þessa ástæðu: "\'\'$3\'\'".',
 # Login and logout pages
 'logouttext' => "'''Þú hefur verið skráð(ur) út.'''
 
-Þú getur haldið áfram að nota {{SITENAME}} óþekkt(ur), eða þú getur <span class='plainlinks'>[$1 skráð þig inn aftur]</span> sem sami eða annar notandi.
 Athugaðu að sumar síður kunna að birtast líkt og þú sért ennþá skráð(ur) inn, þangað til að þú hreinsar skyndiminnið í vafranum þínum.",
 'welcomeuser' => 'Velkomin(n), $1!',
 'welcomecreation-msg' => 'Aðgangurinn þinn hefur verið búinn til.
@@ -672,7 +671,7 @@ Ekki gleyma að breyta [[Special:Preferences|{{SITENAME}} stillingunum]] þínum
 'gotaccount' => "Nú þegar með notandanafn? '''$1'''.",
 'gotaccountlink' => 'Skráðu þig inn',
 'userlogin-resetlink' => 'Gleymdir þú notendaupplýsingunum þínum?',
-'userlogin-resetpassword-link' => 'Endursetja lykilorð',
+'userlogin-resetpassword-link' => 'Gleymdiru lykilorðinu þínu?',
 'helplogin-url' => 'Help:Innskráning',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hjálp við innskráningu]]',
 'userlogin-loggedin' => 'Þú ert búin(n) að skrá þig inn sem {{GENDER:$1|$1}}.
@@ -724,7 +723,7 @@ Athugaðu hvort um innsláttavillu er að ræða eða [[Special:UserLogin/signup
 'passwordtooshort' => 'Lykilorð skal vera að minnsta kosti {{plural: $1 |einn stafur|$1 stafir}}.',
 'password-name-match' => 'Þarf að lykilorð þitt sé öðruvísi notandanafni þínu',
 'password-login-forbidden' => 'Notkun þessa notendanafns og lykilorðs er ekki leyfileg.',
-'mailmypassword' => 'Senda nýtt lykilorð með tölvupósti',
+'mailmypassword' => 'Endurstilla lykilorð',
 'passwordremindertitle' => 'Nýtt tímabundið aðgangsorð fyrir {{SITENAME}}',
 'passwordremindertext' => 'Einhver (líklegast þú, á vistfanginu $1) hefur beðið um að fá nýtt
 lykilorð fyrir {{SITENAME}} ($4). Tímabundið lykilorð fyrir notandann „$2“
@@ -746,7 +745,7 @@ Til að koma í veg fyrir misnotkun, er aðeins einn tölvupóstur sendur {{PLUR
 'acct_creation_throttle_hit' => 'Því miður, hafa verið búnir til {{PLURAL:$1|1 aðgang|$1 aðganga}} nýr aðgangar í dag sem er hámarksfjöldi nýskráninga á einum degi.
 Þú getur því miður ekki búið til nýjan aðgang frá þessari IP-tölu að svo stöddu.',
 'emailauthenticated' => 'Netfang þitt var staðfest þann $2 klukkan $3.',
-'emailnotauthenticated' => 'Veffang þitt hefur ekki enn verið sannreynt. Enginn póstur verður sendur af neinum af eftirfarandi eiginleikum.',
+'emailnotauthenticated' => 'Tölvupóstfang þitt hefur ekki enn verið staðfest. Enginn póstur verður sendur af neinum af eftirfarandi eiginleikum.',
 'noemailprefs' => 'Tilgreindu netfang svo þessar aðgerðir virki.',
 'emailconfirmlink' => 'Staðfesta netfang þitt',
 'invalidemailaddress' => 'Ekki er hægt að taka við netfangi þínu þar sem að það er á ógildu formi.
@@ -1184,8 +1183,8 @@ Frekari upplýsingar eru í [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGE
 'revdelete-hide-user' => 'Notandanafn/vistfang',
 'revdelete-hide-restricted' => 'Dylja gögn frá stjórnendum og öðrum',
 'revdelete-radio-same' => '(ekki breyta)',
-'revdelete-radio-set' => 'Sjáanlegt',
-'revdelete-radio-unset' => 'Falið',
+'revdelete-radio-set' => 'Falið',
+'revdelete-radio-unset' => 'Sjáanlegt',
 'revdelete-suppress' => 'Dylja gögn frá stjórnendum og öðrum',
 'revdelete-unsuppress' => 'Fjarlægja takmarkanir á endurvöktum breytingum',
 'revdelete-log' => 'Ástæða:',
@@ -1530,7 +1529,7 @@ Tölvupóstfang þitt er ekki gefið upp þegar aðrir notendur hafa samband vi
 'right-ipblock-exempt' => 'Hunsa bönn vistfanga, sjálfvirk bönn og fjöldabönn',
 'right-proxyunbannable' => 'Sneiða hjá sjálfvirkum proxy-bönnum',
 'right-unblockself' => 'Afbanna sjálfan sig',
-'right-protect' => 'Breyta verndunarstigi og breyta vernduðum síðum',
+'right-protect' => 'Breyta verndunarstigi og breyta keðjuvernduðum síðum',
 'right-editprotected' => 'Breyta síðum vernduðum sem „{{int:protect-level-sysop}}“',
 'right-editsemiprotected' => 'Breyta síðum vernduðum sem „{{int:protect-level-autoconfirmed}}“',
 'right-editinterface' => 'Breyta notandaviðmótinu',
@@ -1621,9 +1620,9 @@ Tölvupóstfang þitt er ekki gefið upp þegar aðrir notendur hafa samband vi
 'recentchanges-feed-description' => 'Hér er hægt að fylgjast með nýlegum breytingum á {{SITENAME}}.',
 'recentchanges-label-newpage' => 'Þessi breyting skapaði nýja síðu',
 'recentchanges-label-minor' => 'Þetta er minniháttar breyting',
-'recentchanges-label-bot' => 'Þessi breytingar var gerð af vélmenni',
+'recentchanges-label-bot' => 'Þessi breyting var gerð af vélmenni',
 'recentchanges-label-unpatrolled' => 'Þessi breyting hefur ekki verið yfirfarin',
-'recentchanges-legend-newpage' => '$1 - ný síða',
+'recentchanges-legend-newpage' => '(sjá einng [[Special:NewPages|lista yfir nýjar síður]])',
 'rcnotefrom' => "Að neðan eru breytingar síðan '''$2''' (allt að '''$1''' sýndar).",
 'rclistfrom' => 'Sýna breytingar frá og með $1',
 'rcshowhideminor' => '$1 minniháttar breytingar',
@@ -2012,7 +2011,7 @@ Leitarstrengurinn á að vera á þessu formi: efnistag/myndasnið, t.d. <code>i
 'unusedtemplateswlh' => 'aðrir tenglar',
 
 # Random page
-'randompage' => 'Handahófsvalin grein',
+'randompage' => 'Handahófsvalin síða',
 'randompage-nopages' => 'Það eru engar síður í {{PLURAL:$2|nafnrýminu|nafnrýmunum}}: $1.',
 
 # Random page in category
@@ -2342,7 +2341,7 @@ Til þess að hafa samband við $PAGEEDITOR, smelltu á:
    $PAGEEDITOR_WIKI
 
 Athugaðu að frekari breytingar á $PAGETITLE leiða
-ekki af sér fleiri tilkynningar fyrr en þú hefur heimsótt síðuna.
+ekki af sér fleiri tilkynningar fyrr en þú hefur heimsótt síðuna á meðan þú ert skráð/ur inn.
 
 Kveðja,
 {{SITENAME}}
@@ -2384,9 +2383,11 @@ Sjá lista yfir nýlegar eyðingar í $2.',
 'deleteotherreason' => 'Aðrar/fleiri ástæður:',
 'deletereasonotherlist' => 'Önnur ástæða',
 'deletereason-dropdown' => '* Algengar ástæður
+** Amapóstur
 ** Að beiðni höfundar
 ** Höfundaréttarbrot
-** Skemmdarverk',
+** Skemmdarverk
+** Brotin tilvísun',
 'delete-edit-reasonlist' => 'Breyta eyðingarástæðum',
 'delete-toobig' => 'Þessi síða hefur stóra breytingarskrá, yfir $1 {{PLURAL:$1|breyting|breytingar}}.
 Óheimilt er að eyða slíkum síðum til að valda ekki óæskilegum truflunum á {{SITENAME}}.',
@@ -2407,7 +2408,7 @@ einhver annar hefur breytt síðunni eða tekið breytinguna til baka.
 Síðasta breyting síðunnar er frá [[User:$3|$3]] ([[User talk:$3|talk]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
 'editcomment' => "Beytingarágripið var: \"''\$1''\".",
 'revertpage' => 'Tók aftur breytingar [[Special:Contributions/$2|$2]] ([[User talk:$2|spjall]]), breytt til síðustu útgáfu [[User:$1|$1]]',
-'revertpage-nouser' => 'Tók aftur breytingar (notendanafn fjarlægt) til síðustu útgáfu [[User:$1|$1]]',
+'revertpage-nouser' => 'Tók aftur breytingar falins notanda til síðustu útgáfu {{GENDER:$1|[[User:$1|$1]]}}',
 'rollback-success' => 'Tók til baka breytingar eftir $1; núverandi $2.',
 
 # Edit tokens
@@ -3144,7 +3145,7 @@ Vinsamlegast reyndu aftur.',
 'svg-long-desc' => 'SVG-skrá, að nafni til $1 × $2 dílar, skráarstærð: $3',
 'svg-long-desc-animated' => 'SVG-hreyfimynd, að nafni til $1 × $2 dílar, skráarstærð: $3',
 'svg-long-error' => 'Ógild SVG skrá: $1',
-'show-big-image' => 'Mesta upplausn',
+'show-big-image' => 'Upphafleg skrá',
 'show-big-image-preview' => 'Stærð þessarar forskoðunar: $1',
 'show-big-image-other' => '{{PLURAL:$2|Önnur upplausn|Aðrar upplausnir}}: $1.',
 'show-big-image-size' => '$1 x $2 dílar',
@@ -3385,7 +3386,7 @@ Ef skránni hefur verið breytt, kann að vera að einhverjar upplýsingar eigi
 'exif-compression-1' => 'Ósamþjappað',
 
 'exif-copyrighted-true' => 'Höfundaréttarvarið',
-'exif-copyrighted-false' => 'Í Almenningi',
+'exif-copyrighted-false' => 'Höfundaréttarstaða ekki tilgreind',
 
 'exif-unknowndate' => 'Óþekkt dagsetning',
 
index 8427ce9..780a13e 100644 (file)
@@ -27,6 +27,7 @@
  * @author Darth Kule
  * @author DexterMorgan
  * @author F. Cosoleto
+ * @author FRacco
  * @author Felis
  * @author FollowTheMedia
  * @author Geitost
@@ -300,7 +301,7 @@ $messages = array(
 'tog-extendwatchlist' => "Mostra tutte le modifiche agli osservati speciali, non solo l'ultima",
 'tog-usenewrc' => 'Raggruppa le modifiche per pagina nelle ultime modifiche e negli osservati speciali',
 'tog-numberheadings' => 'Numerazione automatica dei titoli di sezione',
-'tog-showtoolbar' => 'Mostra barra degli strumenti di modifica',
+'tog-showtoolbar' => 'Mostra la barra degli strumenti di modifica',
 'tog-editondblclick' => 'Modifica delle pagine tramite doppio clic',
 'tog-editsection' => 'Modifica delle sezioni tramite il collegamento [modifica]',
 'tog-editsectiononrightclick' => 'Modifica delle sezioni tramite clic destro sul titolo',
@@ -314,12 +315,12 @@ $messages = array(
 'tog-previewontop' => "Mostra l'anteprima sopra la casella di modifica e non sotto",
 'tog-previewonfirst' => "Mostra l'anteprima almeno una volta prima di salvare",
 'tog-enotifwatchlistpages' => 'Inviami una email quando viene modificata una pagina o un file presente tra gli osservati speciali',
-'tog-enotifusertalkpages' => 'Segnalami via e-mail le modifiche alla mia pagina di discussione',
+'tog-enotifusertalkpages' => 'Inviami una email quando viene modificata la mia pagina di discussione',
 'tog-enotifminoredits' => 'Inviami una email anche per le modifiche minori di pagine e file',
 'tog-enotifrevealaddr' => 'Rivela il mio indirizzo e-mail nei messaggi di avviso',
 'tog-shownumberswatching' => 'Mostra il numero di utenti che hanno la pagina in osservazione',
 'tog-oldsig' => 'Firma attuale:',
-'tog-fancysig' => 'Tratta la firma come wikitesto (senza un collegamento automatico)',
+'tog-fancysig' => 'Tratta la firma come wikitesto (senza collegamento automatico)',
 'tog-uselivepreview' => "Abilita la funzione ''Live preview'' (anteprima in diretta - sperimentale)",
 'tog-forceeditsummary' => 'Chiedi conferma se il campo oggetto è vuoto',
 'tog-watchlisthideown' => 'Nascondi le mie modifiche negli osservati speciali',
@@ -330,11 +331,11 @@ $messages = array(
 'tog-watchlisthidepatrolled' => 'Nascondi le modifiche verificate negli osservati speciali',
 'tog-ccmeonemails' => 'Inviami una copia dei messaggi spediti agli altri utenti',
 'tog-diffonly' => 'Non visualizzare il contenuto della pagina dopo il confronto tra versioni',
-'tog-showhiddencats' => 'Mostra categorie nascoste',
+'tog-showhiddencats' => 'Mostra le categorie nascoste',
 'tog-noconvertlink' => 'Disattiva la conversione dei titoli dei link',
 'tog-norollbackdiff' => 'Non mostrare il confronto tra versioni dopo aver effettuato un rollback',
-'tog-useeditwarning' => 'Avvisa quando si lascia una pagina di modifica con modifiche non salvate',
-'tog-prefershttps' => "Usa sempre una connessione sicura quando effettuo l'accesso",
+'tog-useeditwarning' => 'Avvisa quando si esce da una pagina di modifica con modifiche non salvate',
+'tog-prefershttps' => "Usa sempre una connessione sicura quando si effettua l'accesso",
 
 'underline-always' => 'Sempre',
 'underline-never' => 'Mai',
@@ -398,18 +399,18 @@ $messages = array(
 'oct' => 'ott',
 'nov' => 'nov',
 'dec' => 'dic',
-'january-date' => '$1 gennaio',
-'february-date' => '$1 febbraio',
-'march-date' => '$1 marzo',
-'april-date' => '$1 aprile',
-'may-date' => '$1 maggio',
-'june-date' => '$1 giugno',
-'july-date' => '$1 luglio',
-'august-date' => '$1 agosto',
-'september-date' => '$1 settembre',
-'october-date' => '$1 ottobre',
-'november-date' => '$1 novembre',
-'december-date' => '$1 dicembre',
+'january-date' => '{{PLURAL:$1|1°|$1}} gennaio',
+'february-date' => '{{PLURAL:$1|1°|$1}} febbraio',
+'march-date' => '{{PLURAL:$1|1°|$1}} marzo',
+'april-date' => '{{PLURAL:$1|1°|$1}} aprile',
+'may-date' => '{{PLURAL:$1|1°|$1}} maggio',
+'june-date' => '{{PLURAL:$1|1°|$1}} giugno',
+'july-date' => '{{PLURAL:$1|1°|$1}} luglio',
+'august-date' => '{{PLURAL:$1|1°|$1}} agosto',
+'september-date' => '{{PLURAL:$1|1°|$1}} settembre',
+'october-date' => '{{PLURAL:$1|1°|$1}} ottobre',
+'november-date' => '{{PLURAL:$1|1°|$1}} novembre',
+'december-date' => '{{PLURAL:$1|1°|$1}} dicembre',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoria|Categorie}}',
@@ -483,7 +484,7 @@ $messages = array(
 'printableversion' => 'Versione stampabile',
 'permalink' => 'Link permanente',
 'print' => 'Stampa',
-'view' => 'Visualizzare',
+'view' => 'Visualizza',
 'edit' => 'Modifica',
 'create' => 'Crea',
 'editthispage' => 'Modifica questa pagina',
@@ -504,7 +505,7 @@ $messages = array(
 'specialpage' => 'Pagina speciale',
 'personaltools' => 'Strumenti personali',
 'postcomment' => 'Nuova sezione',
-'articlepage' => 'Vedi la voce',
+'articlepage' => 'Visualizza la voce',
 'talk' => 'Discussione',
 'views' => 'Visite',
 'toolbox' => 'Strumenti',
@@ -517,7 +518,7 @@ $messages = array(
 'categorypage' => 'Visualizza la categoria',
 'viewtalkpage' => 'Visualizza la pagina di discussione',
 'otherlanguages' => 'In altre lingue',
-'redirectedfrom' => '(Reindirizzamento da <b>$1</b>)',
+'redirectedfrom' => "(Reindirizzamento da '''$1''')",
 'redirectpagesub' => 'Pagina di reindirizzamento',
 'lastmodifiedat' => "Questa pagina è stata modificata per l'ultima volta il $1 alle $2.",
 'viewcount' => 'Questa pagina è stata letta {{PLURAL:$1|una volta|$1 volte}}.',
@@ -562,8 +563,8 @@ $1',
 
 'ok' => 'OK',
 'retrievedfrom' => 'Estratto da "$1"',
-'youhavenewmessages' => 'Hai $1 ($2).',
-'youhavenewmessagesfromusers' => 'Hai $1 da {{PLURAL:$3|un altro utente|$3 utenti}} ($2).',
+'youhavenewmessages' => '{{PLURAL:$3|Hai}} $1 ($2).',
+'youhavenewmessagesfromusers' => '{{PLURAL:$4|Hai}} $1 da {{PLURAL:$3|un altro utente|$3 utenti}} ($2).',
 'youhavenewmessagesmanyusers' => 'Hai $1 da molti utenti ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|un nuovo messaggio|999=nuovi messaggi}}',
 'newmessagesdifflinkplural' => '{{PLURAL:$1|ultima modifica|999=ultime modifiche}}',
@@ -647,14 +648,14 @@ Si prega di segnalare l\'accaduto a un [[Special:ListUsers/sysop|amministratore]
 'filerenameerror' => 'Impossibile rinominare il file "$1" in "$2".',
 'filedeleteerror' => 'Impossibile cancellare il file "$1".',
 'directorycreateerror' => 'Impossibile creare la directory "$1".',
-'filenotfound' => 'File "$1" non trovato.',
+'filenotfound' => 'Impossibile trovare il file "$1".',
 'fileexistserror' => 'Impossibile scrivere il file "$1": il file esiste già',
 'unexpected' => 'Valore imprevisto: "$1"="$2".',
 'formerror' => 'Errore: impossibile inviare il modulo',
 'badarticleerror' => 'Operazione non consentita per questa pagina.',
 'cannotdelete' => 'Non è stato possibile cancellare la pagina o il file "$1".
 Potrebbe essere stato già cancellato da qualcun altro.',
-'cannotdelete-title' => 'Impossibile eliminare la pagina "$1"',
+'cannotdelete-title' => 'Impossibile cancellare la pagina "$1"',
 'delete-hook-aborted' => "La cancellazione è stata annullata dall'hook.
 Non è stata restituita alcuna spiegazione.",
 'no-null-revision' => 'Non può essere creata una versione nulla per la pagina "$1"',
@@ -1485,6 +1486,7 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'prefs-tokenwatchlist' => 'Token',
 'prefs-diffs' => 'Differenze',
 'prefs-help-prefershttps' => 'Questa preferenza avrà effetto dal prossimo accesso.',
+'prefs-tabs-navigation-hint' => "Suggerimento: è possibile utilizzare i tasti freccia sinistra e destra per spostarsi tra le schede nell'elenco delle schede.",
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => "L'indirizzo e-mail sembra valido",
@@ -1671,6 +1673,7 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'recentchanges-label-bot' => 'Questa modifica è stata effettuata da un bot',
 'recentchanges-label-unpatrolled' => 'Questa modifica non è stata ancora verificata',
 'recentchanges-label-plusminus' => 'La dimensione della pagina è cambiata di questo numero di byte',
+'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => "(vedi anche [[Special:NewPages|l'elenco delle nuove pagine]])",
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Di seguito sono elencate le modifiche apportate a partire da '''$2''' (fino a '''$1''').",
@@ -2122,6 +2125,7 @@ I redirect <del>cancellati</del> sono stati corretti.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki}}',
 'nlinks' => '$1 {{PLURAL:$1|collegamento|collegamenti}}',
 'nmembers' => '$1 {{PLURAL:$1|elemento|elementi}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|elemento|elementi}}',
 'nrevisions' => '$1 {{PLURAL:$1|revisione|revisioni}}',
 'nviews' => '$1 {{PLURAL:$1|visita|visite}}',
 'nimagelinks' => 'Utilizzato su $1 {{PLURAL:$1|pagina|pagine}}',
@@ -3754,6 +3758,7 @@ Per favore, conferma che vuoi veramente ricreare questa pagina.",
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(lingua predefinita)',
+'img-lang-info' => 'Converti questa immagine in $1. $2',
 'img-lang-go' => 'Vai',
 
 # Table pager
@@ -3862,14 +3867,15 @@ Questo programma deve essere distribuito assieme ad [{{SERVER}}{{SCRIPTPATH}}/CO
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Percorso script]',
 
 # Special:Redirect
-'redirect' => 'Reindirizzamento da file, utente o ID versione',
+'redirect' => 'Reindirizzamento da file, utente, pagina o versione',
 'redirect-legend' => 'Reindirizza a un file o una pagina',
-'redirect-summary' => 'Questa pagina speciale reindirizza a un file (specificando il nome del file), a una pagina (specificando un ID di versione) o a un utente (specificando un ID utente numerico).
-Esempi: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Questa pagina speciale reindirizza a un file (specificando il nome del file), a una pagina (specificando un ID di versione o un ID pagina) o a un utente (specificando un ID utente numerico).
+Esempi: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Vai',
 'redirect-lookup' => 'Ricerca:',
 'redirect-value' => 'Valore:',
 'redirect-user' => 'ID utente',
+'redirect-page' => 'ID della pagina',
 'redirect-revision' => 'Versione pagina',
 'redirect-file' => 'Nome del file',
 'redirect-not-exists' => 'Valore non trovato',
@@ -4111,10 +4117,12 @@ vale a dire praticamente tutto ciò che si trova tra doppie parentesi graffe.',
 'expand_templates_input' => 'Testo da espandere:',
 'expand_templates_output' => 'Risultato',
 'expand_templates_xml_output' => 'Output in formato XML',
+'expand_templates_html_output' => 'Risultato HTML',
 'expand_templates_ok' => 'OK',
 'expand_templates_remove_comments' => 'Ignora i commenti',
 'expand_templates_remove_nowiki' => 'Elimina il tag <nowiki> nel risultato',
 'expand_templates_generate_xml' => 'Mostra albero sintattico XML',
+'expand_templates_generate_rawhtml' => 'Mostra HTML',
 'expand_templates_preview' => 'Anteprima',
 
 );
index 4f366ac..d0ac15b 100644 (file)
@@ -848,7 +848,7 @@ $2',
 'createacct-benefit-heading' => '{{SITENAME}}は、あなたのような人々が創っています。',
 'createacct-benefit-body1' => '{{PLURAL:$1|編集}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|ページ}}',
-'createacct-benefit-body3' => '最近の{{PLURAL:$1|貢献者}}',
+'createacct-benefit-body3' => '最近の{{PLURAL:$1|投稿者数}}',
 'badretype' => '入力したパスワードが一致しません。',
 'userexists' => '入力された利用者名は既に使用されています。
 他の名前を選んでください。',
@@ -1090,7 +1090,7 @@ $1または他の[[{{MediaWiki:Grouppage-sysop}}|管理者]]にこのブロッ
 現在ご使用中のIPアドレスは$3 、このブロックIDは#$5です。
 お問い合わせの際は、上記の情報を必ず書いてください。",
 'blockednoreason' => '理由が設定されていません',
-'whitelistedittext' => 'ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\82\92ç·¨é\9b\86ã\81\99ã\82\8bã\81«ã\81¯$1ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8aã\81¾ã\81\99。',
+'whitelistedittext' => 'ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\82\92ç·¨é\9b\86ã\81\99ã\82\8bã\81«ã\81¯$1ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84。',
 'confirmedittext' => 'ページの編集を始める前にメールアドレスの確認をする必要があります。
 [[Special:Preferences|個人設定]]でメールアドレスを設定し、確認を行ってください。',
 'nosuchsectiontitle' => '節が見つかりません',
@@ -1098,7 +1098,7 @@ $1または他の[[{{MediaWiki:Grouppage-sysop}}|管理者]]にこのブロッ
 ページを閲覧している間に移動あるいは削除された可能性があります。',
 'loginreqtitle' => 'ログインが必要',
 'loginreqlink' => 'ログイン',
-'loginreqpagetext' => 'ä»\96ã\81®ã\83\9aã\83¼ã\82¸ã\82\92é\96²è¦§ã\81\99ã\82\8bã\81«ã\81¯$1ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8aã\81¾ã\81\99。',
+'loginreqpagetext' => 'ä»\96ã\81®ã\83\9aã\83¼ã\82¸ã\82\92é\96²è¦§ã\81\99ã\82\8bã\81«ã\81¯$1ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84。',
 'accmailtitle' => 'パスワードをお送りしました',
 'accmailtext' => "[[User talk:$1|$1]]のために無作為に生成したパスワードを、$2に送信しました。パスワードは、ログインした際に''[[Special:ChangePassword|パスワード変更]]''ページで変更できます。",
 'newarticle' => '(新)',
@@ -1274,9 +1274,12 @@ $1または他の[[{{MediaWiki:Grouppage-sysop}}|管理者]]にこのブロッ
 
 # Account creation failure
 'cantcreateaccounttitle' => 'アカウントを作成できません',
-'cantcreateaccount-text' => "このIPアドレス('''$1''')からのアカウント作成は[[User:$3|$3]]によってブロックされています。
+'cantcreateaccount-text' => "この IP アドレス ('''$1''') からのアカウント作成は、[[User:$3|$3]] によってブロックされています。
 
-$3が示した理由: ''$2''",
+$3 が示した理由: ''$2''",
+'cantcreateaccount-range-text' => "この IP アドレス ('''$4''') を含む、IP アドレス範囲 '''$1''' からのアカウント作成は、[[User:$3|$3]] によってブロックされています。
+
+$3 が示した理由: ''$2''",
 
 # History pages
 'viewpagelogs' => 'このページの記録を閲覧',
@@ -1628,6 +1631,7 @@ $1 {{PLURAL:$1|文字}}以下である必要があります。',
 'prefs-tokenwatchlist' => 'トークン',
 'prefs-diffs' => '差分',
 'prefs-help-prefershttps' => 'この設定は、次回ログインの際に反映されます。',
+'prefs-tabs-navigation-hint' => 'ヒント: ← キーと → キーで、タブ一覧内のタブ間を移動できます。',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'メールアドレスは有効のようです',
@@ -1811,18 +1815,19 @@ $1 {{PLURAL:$1|文字}}以下である必要があります。',
 'recentchanges-summary' => 'このページでは、このウィキでの最近の更新を確認できます。',
 'recentchanges-noresult' => '指定した条件に該当する期間の変更はありません。',
 'recentchanges-feed-description' => 'このフィードでこのウィキの最近の更新を追跡できます。',
-'recentchanges-label-newpage' => 'ã\81\93ã\81®ç·¨é\9b\86ã\81§æ\96°ã\81\97ã\81\84ã\83\9aã\83¼ã\82¸ã\81\8cä½\9cæ\88\90ã\81\95ã\82\8cã\81¾ã\81\97ã\81\9f',
-'recentchanges-label-minor' => 'これは細部の編集です',
-'recentchanges-label-bot' => 'ã\81\93ã\81®ç·¨é\9b\86ã\81¯ã\83\9cã\83\83ã\83\88ã\81«ã\82\88ã\81£ã\81¦è¡\8cã\82\8fã\82\8cã\81¾ã\81\97ã\81\9f',
-'recentchanges-label-unpatrolled' => 'この編集はまだ巡回されていません',
+'recentchanges-label-newpage' => 'ã\83\9aã\83¼ã\82¸ã\81®æ\96°è¦\8fä½\9cæ\88\90',
+'recentchanges-label-minor' => '細部の編集',
+'recentchanges-label-bot' => 'ã\83\9cã\83\83ã\83\88ã\81«ã\82\88ã\82\8bç·¨é\9b\86',
+'recentchanges-label-unpatrolled' => '巡回されていない編集',
 'recentchanges-label-plusminus' => 'ページ サイズの増減 (バイト単位)',
-'recentchanges-legend-newpage' => '([[Special:NewPages|新しいページ一覧]]も参照してください)',
+'recentchanges-legend-heading' => "'''凡例:'''",
+'recentchanges-legend-newpage' => '([[Special:NewPages|新しいページ一覧]]も参照)',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "以下は'''$2'''以降の更新です (最大 '''$1''' 件)。",
 'rclistfrom' => '$1以降の更新を表示する',
 'rcshowhideminor' => '細部の編集を$1',
 'rcshowhidebots' => 'ボットを$1',
-'rcshowhideliu' => 'ログイン利用者を$1',
+'rcshowhideliu' => '登録利用者を$1',
 'rcshowhideanons' => '匿名利用者を$1',
 'rcshowhidepatr' => '巡回された編集を$1',
 'rcshowhidemine' => '自分の編集を$1',
@@ -1861,7 +1866,7 @@ $1 {{PLURAL:$1|文字}}以下である必要があります。',
 'reuploaddesc' => 'アップロードを中止してアップロードフォームへ戻る',
 'upload-tryagain' => '修正したファイル解説を投稿',
 'uploadnologin' => 'ログインしていません',
-'uploadnologintext' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\82¢ã\83\83ã\83\97ã\83­ã\83¼ã\83\89ã\81\99ã\82\8bã\81«ã\81¯$1ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8aã\81¾ã\81\99。',
+'uploadnologintext' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\82¢ã\83\83ã\83\97ã\83­ã\83¼ã\83\89ã\81\99ã\82\8bã\81«ã\81¯$1ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84。',
 'upload_directory_missing' => 'アップロード先ディレクトリ ($1) が見つかりませんでした。ウェブ サーバーによる作成もできませんでした。',
 'upload_directory_read_only' => 'アップロード先ディレクトリ ($1) には、ウェブサーバーが書き込めません。',
 'uploaderror' => 'アップロードのエラー',
@@ -2300,6 +2305,7 @@ contenttype/subtypeの形式で入力してください (例: <code>image/jpeg</
 'ninterwikis' => '$1 {{PLURAL:$1|個のウィキ間リンク}}',
 'nlinks' => '$1 {{PLURAL:$1|個のリンク}}',
 'nmembers' => '$1項目',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|項目}}',
 'nrevisions' => '$1版',
 'nviews' => '$1回の閲覧',
 'nimagelinks' => '$1 {{PLURAL:$1|ページ}}で使用',
@@ -2926,7 +2932,7 @@ $1 のブロックの理由は「''$2''」です。",
 'ipb_expiry_invalid' => '有効期限が無効です。',
 'ipb_expiry_temp' => '利用者名秘匿のブロックは、無期限ブロックになります。',
 'ipb_hide_invalid' => 'このアカウントを秘匿できません。編集回数が非常に多いためだと思われます。',
-'ipb_already_blocked' => '「$1」は既にブロックされています',
+'ipb_already_blocked' => '「$1」は既にブロックされています',
 'ipb-needreblock' => '$1 は既にブロックされています。設定を変更しますか?',
 'ipb-otherblocks-header' => 'その他の{{PLURAL:$1|ブロック}}',
 'unblock-hideuser' => '利用者名が隠されているため、この利用者のブロックを解除できません。',
@@ -2945,8 +2951,8 @@ $1 のブロックの理由は「''$2''」です。",
 'xffblockreason' => 'X-Forwarded-For ヘッダーに含まれている IP アドレスがブロックされています。これはあなたのものか、あなたが利用しているプロキシサーバーのものです。元のブロックの理由は: $1',
 'cant-see-hidden-user' => 'ブロックしようとしている利用者は、既にブロックされ隠されています。
 あなたには hideuser 権限がないため、この利用者のブロックの閲覧/編集はできません。',
-'ipbblocked' => '自分自身をブロックしているため、他の利用者のブロックやブロック解除はできません',
-'ipbnounblockself' => '自分自身のブロックは解除できません',
+'ipbblocked' => 'あなた自身がブロックされているため、他の利用者のブロックやブロック解除はできません。',
+'ipbnounblockself' => 'あなたには自身をブロック解除する権限がありません。',
 
 # Developer tools
 'lockdb' => 'データベースのロック',
@@ -3961,7 +3967,7 @@ Variants for Chinese language
 メールサーバーからの返答: $1',
 'confirmemail_invalid' => '確認用コードが正しくありません。
 このコードの有効期限が切れている可能性があります。',
-'confirmemail_needlogin' => 'ã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹ã\82\92確èª\8dã\81\99ã\82\8bã\81«ã\81¯$1ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8aã\81¾ã\81\99。',
+'confirmemail_needlogin' => 'ã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹ã\82\92確èª\8dã\81\99ã\82\8bã\81\9fã\82\81ã\81«ã\80\81$1ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84。',
 'confirmemail_success' => 'メールアドレスは確認されました。
 [[Special:UserLogin|ログイン]]してウィキを使用できます。',
 'confirmemail_loggedin' => 'メールアドレスは確認されました。',
@@ -4053,8 +4059,8 @@ $5
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(既定の言語)',
-'img-lang-info' => 'この画像を $1 で $2',
-'img-lang-go' => '描画',
+'img-lang-info' => 'この画像を $1 で描画する。$2',
+'img-lang-go' => '実行',
 
 # Table pager
 'ascending_abbrev' => '昇順',
@@ -4225,13 +4231,14 @@ MediaWikiは、有用であることを期待して配布されていますが
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath/ja スクリプトパス]',
 
 # Special:Redirect
-'redirect' => 'ファイル名、利用者ID、版IDでの転送',
+'redirect' => 'ファイル名、利用者ID、ページID、版IDでの転送',
 'redirect-legend' => 'ファイルまたはページヘの転送',
-'redirect-summary' => 'ã\81\93ã\81®ç\89¹å\88¥ã\83\9aã\83¼ã\82¸ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83« (ã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\82\92æ\8c\87å®\9a\80\81ã\83\9aã\83¼ã\82¸ (ç\89\88 ID ã\82\92æ\8c\87å®\9a\80\81å\88©ç\94¨è\80\85ã\83\9aã\83¼ã\82¸ (å\88©ç\94¨è\80\85 ID ã\82\92æ\95´æ\95°ã\81§æ\8c\87å®\9a) ã\81«è»¢é\80\81ã\81\95ã\82\8cã\81¾ã\81\99ã\80\82使ç\94¨ä¾\8b: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]]',
+'redirect-summary' => 'ã\81\93ã\81®ç\89¹å\88¥ã\83\9aã\83¼ã\82¸ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83« (ã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\82\92æ\8c\87å®\9a\80\81ã\83\9aã\83¼ã\82¸ (ç\89\88 ID ã\81¾ã\81\9fã\81¯ã\83\9aã\83¼ã\82¸ ID ã\82\92æ\8c\87å®\9a\80\81å\88©ç\94¨è\80\85ã\83\9aã\83¼ã\82¸ (å\88©ç\94¨è\80\85 ID ã\82\92æ\95´æ\95°ã\81§æ\8c\87å®\9a) ã\81«è»¢é\80\81ã\81\95ã\82\8cã\81¾ã\81\99ã\80\82使ç\94¨ä¾\8b: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]]',
 'redirect-submit' => '実行',
 'redirect-lookup' => '検索の種類:',
 'redirect-value' => '値:',
 'redirect-user' => '利用者 ID',
+'redirect-page' => 'ページ ID',
 'redirect-revision' => 'ページの版 ID',
 'redirect-file' => 'ファイル名',
 'redirect-not-exists' => '値が見つかりません',
@@ -4473,10 +4480,12 @@ MediaWikiは、有用であることを期待して配布されていますが
 'expand_templates_input' => '展開するテキスト:',
 'expand_templates_output' => '展開結果',
 'expand_templates_xml_output' => 'XML 出力',
+'expand_templates_html_output' => '出力される HTML ソース',
 'expand_templates_ok' => 'OK',
 'expand_templates_remove_comments' => 'コメントを除去',
 'expand_templates_remove_nowiki' => '結果に含まれる <nowiki> タグを表示しない',
 'expand_templates_generate_xml' => 'XML 構文解析ツリーを表示',
+'expand_templates_generate_rawhtml' => 'HTML ソースを表示',
 'expand_templates_preview' => 'プレビュー',
 
 );
index 3c006eb..14c4d26 100644 (file)
@@ -240,7 +240,7 @@ $1',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'Habowt {{SITENAME}}',
-'aboutpage' => 'Project: អំពី',
+'aboutpage' => 'Project:About',
 'copyright' => 'Kantent avielobl anda $1.',
 'copyrightpage' => '{{ns:project}}:Kapirait',
 'currentevents' => 'Korant ivent',
index 185ad47..5905dbb 100644 (file)
@@ -13,6 +13,7 @@
  * @author Helix84
  * @author Hoo
  * @author Kaganer
+ * @author Kazu89
  * @author Meursault2004
  * @author NoiX180
  * @author Pras
index 892938f..93edd7f 100644 (file)
@@ -445,8 +445,8 @@ $1',
 'youhavenewmessages' => 'თქვენ გაქვთ $1 ($2).',
 'youhavenewmessagesfromusers' => 'თქვენ გაქვთ $1 {{PLURAL:$3|სხვა მომხმარებლისგან|$3 მომხმარებლებისგან}} ($2).',
 'youhavenewmessagesmanyusers' => 'თქვენ გაქვთ $1 ბევრი მომხმარებლისგან ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|ახალი შეტყობინება|ახალი შეტყობინება}}',
-'newmessagesdifflinkplural' => 'ბოლო {{PLURAL:$1|ცვლილება|ცვლილება}}',
+'newmessageslinkplural' => '{{PLURAL:$1|ახალი შეტყობინება|999=ახალი შეტყობინება}}',
+'newmessagesdifflinkplural' => 'ბოლო {{PLURAL:$1|ცვლილება|999=ცვლილება}}',
 'youhavenewmessagesmulti' => 'თქვენ გაქვთ ახალი შეტყობინება $1-ზე',
 'editsection' => 'რედაქტირება',
 'editold' => 'რედაქტირება',
@@ -569,7 +569,7 @@ $2',
 'invalidtitle-knownnamespace' => 'დაუშვებელი სათაური სახელთა სივრცე "$2" და ტექსტი "$3"-თან',
 'invalidtitle-unknownnamespace' => 'დაუშვებელი სათაური უცნობი სახელთა სივრცის ნომერი $1 და ტექსტი "$2"-ით',
 'exception-nologin' => 'შესვლა არ განხორციელდა',
-'exception-nologin-text' => 'ამ გვერდის სანახავად ან მოთხოვნილი მოქმედების შესასრულებლად საჭიროა სისტემაში შესვლა.',
+'exception-nologin-text' => 'ამ გვერდის სანახავად ან მოთხოვნილი მოქმედების შესასრულებლად საჭიროა [[Special:Userlogin|სისტემაში შესვლა]].',
 
 # Virus scanner
 'virus-badscanner' => "შეცდომა. ვირუსთა უცნობი სკანერი: ''$1''",
@@ -621,11 +621,12 @@ $2',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|დახმარება სისტემაში შესასვლელად]]',
 'userlogin-createanother' => 'სხვა ანგარიშის შექმნა',
 'createacct-join' => 'ქვემოთ მიუთითეთ ინფორმაცია თქვენ შესახებ.',
+'createacct-another-join' => 'ქვემოთ შეიყვანეთ ახალი ანგარიშის ინფორმაცია.',
 'createacct-emailrequired' => 'ელ. ფოსტის მისამართი',
 'createacct-emailoptional' => 'ელ. ფოსტის მისამართი (არასავალდებულო)',
 'createacct-email-ph' => 'შეიყვანეთ თქვენი ელ. ფოსტის მისამართი',
 'createacct-another-email-ph' => 'შეიყვანეთ ელ.ფოსტის მისამართი',
-'createaccountmail' => 'á\83\92á\83\90á\83\9bá\83\9dá\83\98á\83§á\83\94á\83\9cá\83\94á\83\97 á\83¨á\83\94á\83\9bá\83\97á\83®á\83\95á\83\94á\83\95á\83\98á\83\97á\83\9dá\83\91á\83\98á\83¡ á\83\9bá\83\94á\83\97á\83\9dá\83\93á\83\98á\83\97 á\83¨á\83\94á\83 á\83©á\83\94á\83£á\83\9aá\83\98 á\83\93á\83 á\83\9dá\83\94á\83\91á\83\98á\83\97á\83\98 á\83\9eá\83\90á\83 á\83\9dá\83\9aá\83\98 á\83\93á\83\90 á\83\9bá\83\98á\83¡á\83\98 á\83\92á\83\90á\83\90á\83\92á\83\96á\83\90á\83\95á\83\9cá\83\94á\83\97 á\83\9bá\83\98á\83\97á\83\98á\83\97á\83\94á\83\91á\83£á\83\9a á\83\94á\83\9a\83¤á\83\9dá\83¡á\83¢á\83\98á\83¡ á\83\9bá\83\98á\83¡á\83\90á\83\9bá\83\90á\83 á\83\97á\83\96á\83\94',
+'createaccountmail' => 'გამოიყენეთ შემთხვევითობის მეთოდით შერჩეული დროებითი პაროლი და გააგზავნეთ მითითებულ ელ.ფოსტის მისამართზე',
 'createacct-realname' => 'ნამდვილი სახელი (არააუცილებელი)',
 'createaccountreason' => 'მიზეზი:',
 'createacct-reason' => 'მიზეზი',
@@ -664,7 +665,7 @@ $2',
 იგი უნდა შეიცავდეს მინიმუმ $1 სიმბოლოს.',
 'password-name-match' => 'შეტანილი პაროლი უნდა განსხვავდებოდეს მომხმარებლის სახელისგან.',
 'password-login-forbidden' => 'ამ მომხმარებლის სახელისა და პაროლის გამოყენება აკრძალულია.',
-'mailmypassword' => 'á\83\90á\83®á\83\90á\83\9aá\83\98 á\83\9eá\83\90á\83 á\83\9dá\83\9aá\83\98á\83¡ á\83\92á\83\90á\83\9bá\83\9dá\83\92á\83\96á\83\90á\83\95á\83\9cა',
+'mailmypassword' => 'á\83\90á\83®á\83\90á\83\9aá\83\98 á\83\9eá\83\90á\83 á\83\9dá\83\9aá\83\98á\83¡ á\83\93á\83\90á\83§á\83\94á\83\9cá\83\94á\83\91ა',
 'passwordremindertitle' => 'ახალი დროებითი პაროლი {{SITENAME}}-თვის',
 'passwordremindertext' => 'ვიღაცამ (შესაძლოა თქვენ, IP მისამართით $1) მოითხოვა
 ახალი პაროლის გაგზავნა {{SITENAME}}-სთვის ($4).
@@ -736,7 +737,7 @@ Please wait $1 before trying again.',
 # Special:PasswordReset
 'passwordreset' => 'პაროლის აღდგენა',
 'passwordreset-text-one' => 'შეავსეთ ეს ფორმა, რათა კვლავ დააყენოთ თქვენი პაროლი.',
-'passwordreset-text-many' => '{{PLURAL:$1|á\83\9eá\83\90á\83 á\83\9dá\83\9aá\83\98á\83¡ á\83\97á\83\90á\83\95á\83\98á\83\93á\83\90á\83\9c á\83\93á\83\90á\83¡á\83\90á\83§á\83\94á\83\9cá\83\94á\83\91á\83\9aად შეავსეთ ერთ-ერთი ველი.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|á\83\94á\83\9a\83¤á\83\9dá\83¡á\83¢á\83\90á\83\96á\83\94 á\83\93á\83 á\83\9dá\83\94á\83\91á\83\98á\83\97á\83\98 á\83\9eá\83\90á\83 á\83\9dá\83\9aá\83\98á\83¡ á\83\9bá\83\98á\83¡á\83\90á\83¦á\83\94á\83\91ად შეავსეთ ერთ-ერთი ველი.}}',
 'passwordreset-legend' => 'პაროლის აღდგენა',
 'passwordreset-disabled' => 'ამ ვიკიში პაროლის კვლავ დაყენების ფუნქცია გამორთულია.',
 'passwordreset-emaildisabled' => 'ამ ვიკიში ელ.ფოსტის ფუნქციები გამორთულია.',
@@ -1053,9 +1054,8 @@ $3 -ემ ამგვარი ახსნა : ''$2''",
 'last' => 'ბოლო',
 'page_first' => 'პირველი',
 'page_last' => 'ბოლო',
-'histlegend' => '*ვერსიის დათვალიერება: დააწკაპუნეთ სასურველი ვერსიის თარიღზე მის დასათვალიერებლად.
-*ვერსიების შედარება: აირჩიეთ სასურველი ვერსიები რადიო-რგოლების მონიშვნით და დააწკაპუნეთ შედარების ღილაკზე.
-*შემოკლებები: (მიმდ.) = სხვაობა მიმდინარე ვერსიასთან, (ბოლო) = სხვაობა წინა ვერსიასთან, მ = მცირე შესწორება.',
+'histlegend' => "ვერსიების შედარება: აირჩიეთ სასურველი ვერსიები რადიო-რგოლების მონიშვნით და დააწკაპუნეთ შედარების ღილაკზე.<br />
+ლეგენდა: '''({{int:cur}})''' = სხვაობა მიმდინარე ვერსიასთან, '''({{int:last}})''' = სხვაობა წინა ვერსიასთან, '''{{int:minoreditletter}}''' = მცირე შესწორება.",
 'history-fieldset-title' => 'დათვალიერების ისტორია',
 'history-show-deleted' => 'მხოლოდ წაშლილი',
 'histfirst' => 'უძველესი',
@@ -1115,11 +1115,10 @@ $3 -ემ ამგვარი ახსნა : ''$2''",
 'revdelete-text' => "'''გვერდებისა და მოქმედებების წაშლილი ნაწილები დარჩება ისტორიაში და ჟურნალებში, მაგრამ მათ ნაწილს ვერ ნახავენ ჩვეულებრივი მომხმარებლები.'''
 პროექტის ადმინისტრატორებს ექნებათ შესაძლებლობა {{SITENAME}}ში დაინახონ ღია და არწაშლილი ნაწილი, და შეძლებენ აღადგინონ იგივე ინტერფეისის მეშვეობით, გარდა იმ შემთხვევებისა, როდესაც დამატებითი შეზღუდვა მოქმედებს.",
 'revdelete-confirm' => 'გთხოვთ დაადასტუროთ, რომ გსურთ ქმედების განხორციელება. ასევე ვიმედოვნებთ, რომ ყველაფერს აკეთებთ  [[{{MediaWiki:Policy-url}}|წესებთან შესაბამისობაში]].',
-'revdelete-suppress-text' => "დამალვა შეიძლება განხორციელდეს მხოლოდ ამ შემთხვევებში:
-
-
-* მიუსადეგი პირადი ინფორმაცია
-*: ''სახლის მისამართი, ტელეფონისა და პასპორტის ნომერი და მისთ. ''",
+'revdelete-suppress-text' => "დამალვა შეიძლება განხორციელდეს '''მხოლოდ''' შემდეგ შემთხვევებში:
+* პოტენციურად ცილისმწამებლური ინფორმაცია
+* უადგილო პირადი ინფორმაცია
+*: ''სახლის მისამართი, ტელეფონის ნომრები, პასპორტის ნომერი და ა.შ.''",
 'revdelete-legend' => 'შეზღუდვის დაყენება',
 'revdelete-hide-text' => 'შეცვლილი ტექსტი',
 'revdelete-hide-image' => 'ფაილის შინაარსის დამალვა',
@@ -1128,8 +1127,8 @@ $3 -ემ ამგვარი ახსნა : ''$2''",
 'revdelete-hide-user' => 'რედაქტორის მომხმარებლის სახელი/IP-მისამართი',
 'revdelete-hide-restricted' => 'დამალეთ მონაცემები ადმინისტრატორთაგან',
 'revdelete-radio-same' => '(არ შეცვალოთ)',
-'revdelete-radio-set' => 'á\83®á\83\98ლული',
-'revdelete-radio-unset' => 'á\83\93á\83\90á\83\9bá\83\90ლული',
+'revdelete-radio-set' => 'á\83\93á\83\90á\83\9bá\83\90ლული',
+'revdelete-radio-unset' => 'á\83®á\83\98ლული',
 'revdelete-suppress' => 'დამალეთ მონაცემები ადმინისტრატორთაგან',
 'revdelete-unsuppress' => 'მოხსენით შეზღუდვა ვერსიების აღდგენისგან',
 'revdelete-log' => 'მიზეზი:',
@@ -1558,12 +1557,13 @@ $1",
 'recentchanges-label-minor' => 'ეს არის მცირე შესწორება',
 'recentchanges-label-bot' => 'ეს არის ბოტის რედაქტირება',
 'recentchanges-label-unpatrolled' => 'ეს რედაქტირება გადაუმოწმებელია',
-'recentchanges-legend-newpage' => '$1 - ახალი გვერდი',
+'recentchanges-label-plusminus' => 'ცვლილებების ზომა ბაიტებში',
+'recentchanges-legend-newpage' => '(იხ. აგრეთვე [[Special:NewPages|ახალი გვერდების სია]])',
 'rcnotefrom' => "ქვემოთ მოყვანილია ცვლილებები '''$2'''-დან (ნაჩვენებია '''$1''').",
 'rclistfrom' => 'ახალი ცვლილებების ჩვენება დაწყებული $1-დან',
 'rcshowhideminor' => 'მცირე რედაქტირების $1',
 'rcshowhidebots' => 'რობოტების  $1',
-'rcshowhideliu' => 'რეგისტრირებული მომხმარებლების $1',
+'rcshowhideliu' => '$1 რეგისტრირებული მომხმარებელი',
 'rcshowhideanons' => 'ანონიმური მომხმარებლების $1',
 'rcshowhidepatr' => 'გაკონტროლებული ცვლილებების $1',
 'rcshowhidemine' => 'ჩემი რედაქტირების $1',
@@ -2155,7 +2155,7 @@ $1',
 შესაძლოა არსებობს [[{{MediaWiki:Listgrouprights-helppage}}|დამატებითი ინფორმაცია]] ინდივიდუალურ უფლებებთან დაკავშირებით.',
 'listgrouprights-key' => 'ლეგენდა:
 * <span class="listgrouprights-granted">მიცემული უფლებები</span>
-* <span class="listgrouprights-revoked">á\83\92á\83\90á\83¬á\83\95ეული უფლებები</span>',
+* <span class="listgrouprights-revoked">á\83©á\83\90á\83\9bá\83\9dá\83 á\83\97á\83\9bეული უფლებები</span>',
 'listgrouprights-group' => 'ჯგუფი',
 'listgrouprights-rights' => 'უფლებები',
 'listgrouprights-helppage' => 'Help:ჯგუფების უფლებები',
@@ -3082,7 +3082,7 @@ $1',
 'svg-long-desc' => 'ფაილი SVG, ნომინალურად $1 × $2 პიქსელი, ფაილის ზომა: $3',
 'svg-long-desc-animated' => 'ანიმირებული SVG ფაილი, ნომინალური $1 × $2 პიქსელი, ფაილის ზომა: $3',
 'svg-long-error' => 'არასწორი SVG ფაილი: $1',
-'show-big-image' => 'á\83¡á\83 á\83£á\83\9aá\83\98 á\83\92á\83\90á\83 á\83©á\83\94á\83\95á\83\90á\83\93á\83\9dá\83\91á\83\90',
+'show-big-image' => 'á\83\97á\83\90á\83\95á\83\93á\83\90á\83\9eá\83\98á\83 á\83\95á\83\94á\83\9aá\83\98 á\83¤á\83\90á\83\98á\83\9aá\83\98',
 'show-big-image-preview' => 'ზომა წინასწარი გადახედვისას: $1.',
 'show-big-image-other' => 'სხვა {{PLURAL:$2|გაფართოება|გაფართოება}}: $1.',
 'show-big-image-size' => '$1 × $2 პიქსელი',
@@ -3825,7 +3825,7 @@ MediaWiki ვრცელდება იმ იმედით, რომ ი
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath გზა სკრიპტისაკენ]',
 
 # Special:Redirect
-'redirect' => 'გადამისამართება ფაილიდან, მომხმარებლიდან ან ვერსიის იდენტიფიკატორიდან',
+'redirect' => 'გადამისამართება ფაილიდან, მომხმარებლიდან, გვერდიდან ან ვერსიის იდენტიფიკატორიდან',
 'redirect-legend' => 'გადამისამართება ფაილზე ან გვერდზე',
 'redirect-submit' => 'მიდი',
 'redirect-lookup' => 'ძიება:',
@@ -3848,8 +3848,9 @@ MediaWiki ვრცელდება იმ იმედით, რომ ი
 
 # Special:SpecialPages
 'specialpages' => 'სპეციალური გვერდები',
+'specialpages-note-top' => 'ლეგენდა',
 'specialpages-note' => '* ჩვეულებრივი სპეცგვერდები.
-* <span class="mw-specialpagerestricted">á\83¡á\83\9eá\83\94á\83ªá\83\92á\83\95á\83\94á\83 á\83\93á\83\94á\83\91á\83\98 á\83¨á\83\94á\83\96á\83¦á\83£á\83\93á\83£á\83\9aá\83\98 á\83\9bá\83\98á\83¡á\83\90á\83¬á\83\95á\83\93á\83\9dá\83\9bá\83\9dá\83\91ით.</span>',
+* <span class="mw-specialpagerestricted">á\83¡á\83\9eá\83\94á\83ªá\83\92á\83\95á\83\94á\83 á\83\93á\83\94á\83\91á\83\98 á\83¨á\83\94á\83\96á\83¦á\83£á\83\93á\83£á\83\9aá\83\98 á\83¬á\83\95á\83\93á\83\9dá\83\9bით.</span>',
 'specialpages-group-maintenance' => 'ტექნიკური მომსახურების ანგარიშები',
 'specialpages-group-other' => 'სხვა სპეციალური გვერდები',
 'specialpages-group-login' => 'შესვლა / რეგისტრაცია',
index 7f02ac3..d2f690b 100644 (file)
@@ -50,10 +50,10 @@ $messages = array(
 'tog-hidepatrolled' => 'Ffer ibeddlen iεessan deg yibeddlen imaynuten',
 'tog-newpageshidepatrolled' => 'Ffer isebtaren iɛessan gar umuɣ n isebtaren imaynuten',
 'tog-extendwatchlist' => 'Ssemɣer umuɣ n uɛessi iwakken ad muqleɣ akk n wayen zemreɣ ad beddleɣ',
-'tog-usenewrc' => 'Sselhu ibeddlen ifessasen (JavaScript)',
+'tog-usenewrc' => 'Ssegrew ibeddlen s usebtar deg ibeddilen imaynuten d umuɣ n uḍfar',
 'tog-numberheadings' => 'Izwal ɣur-sen imḍanen mebla ma serseɣ-iten',
-'tog-showtoolbar' => 'Ssken tanuga n dduzan n ubeddel (JavaScript)',
-'tog-editondblclick' => 'Beddel isebtar mi wekkiɣ snat n tikwal (JavaScript)',
+'tog-showtoolbar' => 'Ssken tafeggagt n ifecka n ubeddel',
+'tog-editondblclick' => 'Beddel isebtar mi wekkiɣ snat n tikwal',
 'tog-editsection' => 'Eǧǧ abeddel n umur s yizdayen [beddel]',
 'tog-editsectiononrightclick' => 'Eǧǧ abeddel n umur mi wekkiɣ ɣef uyeffus<br /> ɣef yizwal n umur (JavaScript)',
 'tog-showtoc' => 'Ssken agbur (i isebtar i yesɛan kter n 3 izwalen)',
@@ -148,6 +148,18 @@ $messages = array(
 'oct' => 'Tub',
 'nov' => 'Wam',
 'dec' => 'Duj',
+'january-date' => '$1 yennayer',
+'february-date' => '$1 fuṛaṛ',
+'march-date' => '$1 meɣres',
+'april-date' => '$1 yebrir',
+'may-date' => '$1 mayyu',
+'june-date' => '$1 yunyu',
+'july-date' => '$1 yulyu',
+'august-date' => '$1 ɣuct',
+'september-date' => '$1 ctamber',
+'october-date' => '$1 tuber',
+'november-date' => '$1 wamber',
+'december-date' => '$1 dujamber',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Taggayt|Taggayin}}',
@@ -173,8 +185,8 @@ $messages = array(
 'newwindow' => '(teldi deg ttaq amaynut)',
 'cancel' => 'Eǧǧ-it am yella',
 'moredotdotdot' => 'Ugar...',
-'mypage' => 'Asebter inu',
-'mytalk' => 'Amyannan inu',
+'mypage' => 'Asebtar',
+'mytalk' => 'Amyannan',
 'anontalk' => 'Amyannan n IP-yagi',
 'navigation' => 'Ẓer isebtar',
 'and' => '&#32;u',
@@ -205,6 +217,7 @@ $messages = array(
 'namespaces' => 'Talluntin n isemawen',
 'variants' => 'Tineḍwa',
 
+'navigation-heading' => 'Umuɣ n tunigin',
 'errorpagetitle' => 'Agul',
 'returnto' => 'Uɣal ar $1.',
 'tagline' => 'Seg {{SITENAME}}',
@@ -226,6 +239,7 @@ $messages = array(
 'create-this-page' => 'Snulfu asebter-agi',
 'delete' => 'Mḥu',
 'deletethispage' => 'Mḥu asebter-agi',
+'undeletethispage' => 'Erred asebter agi',
 'undelete_short' => 'Fakk amḥay n {{PLURAL:$1|yiwen ubeddel|$1 yibeddlen}}',
 'viewdeleted_short' => 'Ẓeṛ {{PLURAL:$1|yiwen abeddel yettumḥan|$1 Ibeddlen yettumḥan}}',
 'protect' => 'Ḥrez',
@@ -242,7 +256,7 @@ $messages = array(
 'articlepage' => 'Ẓer ayen yellan deg usebter',
 'talk' => 'Amyannan',
 'views' => 'Tuẓrin',
-'toolbox' => 'Dduzan',
+'toolbox' => 'Ifecka',
 'userpage' => 'Ẓer asebter n wemseqdac',
 'projectpage' => 'Ẓer asebter n usenfar',
 'imagepage' => 'Ẓer asebter n tugna',
@@ -272,7 +286,7 @@ $1',
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'Awal ɣef {{SITENAME}}',
 'aboutpage' => 'Project:Awal ɣef...',
-'copyright' => 'Tzemreḍ ad twaliḍ ayen yella deg $1.',
+'copyright' => 'Agbur yella ddaw $1 ḥaca ma abdar anemgal.',
 'copyrightpage' => '{{ns:project}}:Izerfanɣel',
 'currentevents' => 'Isallen',
 'currentevents-url' => 'Project:Isallen',
@@ -300,8 +314,8 @@ $1',
 'youhavenewmessages' => 'Ɣur-k $1 ($2).',
 'youhavenewmessagesfromusers' => 'Tesɛiḍ $1 n {{PLURAL:$3|useqdac nniḍen|$3 iseqdacen nniḍen}} ( $2 ).',
 'youhavenewmessagesmanyusers' => 'Tesɛiḍ $1 n aṭas n iseqdacen ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|izen amaynut|inzan imaynuten}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|abeddel aneggaru|ibeddilen ineggura}}',
+'newmessageslinkplural' => '{{PLURAL:$1|izen amaynut|999=inzan imaynuten}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|abeddel aneggaru|999=ibeddilen ineggura}}',
 'youhavenewmessagesmulti' => 'Tesɛiḍ iznan imaynuten deg $1',
 'editsection' => 'beddel',
 'editold' => 'beddel',
index 6b07f5c..a785b3f 100644 (file)
@@ -1098,7 +1098,7 @@ IP-мекенжайыңыз бұл беттің түзету тарихында
 Егер жазуыңыздың еркін өңделуін қаламасаңыз, мында жарияламауыңыз жөн.<br />
 Тағы да, бұл мағлұмат өзіңіз жазғаныңызға, не қоғам қазынасынан немесе сондай ашық қорлардан көшірілгеніне бізге уәде бересіз (көбірек ақпарат үшін $1 қужатын қараңыз).
 '''АВТОРЛЫҚ ҚҰҚЫҚПЕН ҚОРҒАУҒАН МАҒЛҰМАТТЫ РҰҚСАТСЫЗ ЖАРИЯЛАМАҢЫЗ!'''",
-'longpageerror' => "'''ҚАТЕЛІК: Сақтамақ мәтініңіздін мөлшері — {{PLURAL:$1|килобайт|$1 килобайт}}, ең көбі {{PLURAL:$2|килобайт|$2 килобайт}} KB рұқсат етілген мөлшерінен асқан.
+'longpageerror' => "'''ҚАТЕЛІК: Сақтамақ мәтініңіздін мөлшері {{PLURAL:$1|килобайт|$1 килобайт}}, ең көбі {{PLURAL:$2|килобайт|$2 килобайт}} рұқсат етілген мөлшерінен асқан.
 Бұл сақталмайды.'''",
 'readonlywarning' => "'''ЕСКЕТУ: Дерекқор баптау үшін құлыпталған, сондықтан дәл қазір өңдемеңізді сақтай алмайсыз.
 Кейін қолдану үшін мәтінді қойып алып және қойып, мәтін файлына сақтауңызға болады.''' 
@@ -1189,10 +1189,10 @@ $3 келтірілген себебі: ''$2''",
 'last' => 'соң.',
 'page_first' => 'алғашқысына',
 'page_last' => 'соңғысына',
-'histlegend' => "</span><br /><span style=\"white-space:nowrap;\">Сыртқы құралдар: [http://vs.aka-online.de/cgi-bin/wppagehiststat.pl?lang=kk.wikipedia&page={{FULLPAGENAMEE}} Өңдеу статистикасы] '''·'''</span> <span style=\"white-space:nowrap;\">[http://wikipedia.ramselehof.de/wikiblame.php?lang=kk&article={{FULLPAGENAMEE}} Өзгеріс тарихын іздеу] '''·'''</span> <span style=\"white-space:nowrap;\">[//toolserver.org/~daniel/WikiSense/Contributors.php?wikilang=kk&wikifam=.wikipedia.org&grouped=on&page={{FULLPAGENAMEE}} Үлестер статистикасы] '''·'''</span> <span style=\"white-space:nowrap;\">[http://toolserver.org/~snottywong/usersearch.html?page={{FULLPAGENAMEE}} Қатысушы өңдемелері] '''·'''</span> <span style=\"white-space:nowrap;\">[//toolserver.org/~mzmcbride/cgi-bin/watcher.py?db=kkwiki_p&titles={{FULLPAGENAMEE}} Көрушілер саны] '''·'''</span> <span style=\"white-space:nowrap;\">[http://stats.grok.se/kk/latest/{{FULLPAGENAMEE}} Бетің қаралу статистикасы] '''·'''</span> Тағы қараңыз: <span style=\"white-space:nowrap;\">[{{fullurl:{{FULLPAGENAMEE}}|action=info}} бет туралы мәліметтер]</span>
+'histlegend' => "<br /><span style=\"white-space:nowrap;\">Сыртқы құралдар: [http://vs.aka-online.de/cgi-bin/wppagehiststat.pl?lang=kk.wikipedia&page={{FULLPAGENAMEE}} Өңдеу статистикасы] '''·'''</span> <span style=\"white-space:nowrap;\">[http://wikipedia.ramselehof.de/wikiblame.php?lang=kk&article={{FULLPAGENAMEE}} Өзгеріс тарихын іздеу] '''·'''</span> <span style=\"white-space:nowrap;\">[//toolserver.org/~daniel/WikiSense/Contributors.php?wikilang=kk&wikifam=.wikipedia.org&grouped=on&page={{FULLPAGENAMEE}} Үлестер статистикасы] '''·'''</span> <span style=\"white-space:nowrap;\">[http://toolserver.org/~snottywong/usersearch.html?page={{FULLPAGENAMEE}} Қатысушы өңдемелері] '''·'''</span> <span style=\"white-space:nowrap;\">[//toolserver.org/~mzmcbride/cgi-bin/watcher.py?db=kkwiki_p&titles={{FULLPAGENAMEE}} Көрушілер саны] '''·'''</span> <span style=\"white-space:nowrap;\">[http://stats.grok.se/kk/latest/{{FULLPAGENAMEE}} Бетің қаралу статистикасы] '''·'''</span> Тағы қараңыз: <span style=\"white-space:nowrap;\">[{{fullurl:{{FULLPAGENAMEE}}|action=info}} бет туралы мәліметтер]</span>
 ----
 Айырмасын бөлектеу: салыстырмақ нұсқаларының қосу көздерін белгілеп <Enter> пернесін басыңыз, немесе төмендегі батырманы нұқыңыз.<br />
-Шартты белгілер: <span style=\"white-space:nowrap;\">(ағым.) = ағымдық нұсқамен айырмасы, <span style=\"white-space:nowrap;\">(соң.) = алдыңғы нұсқамен айырмасы, </span> <span style=\"white-space:nowrap;\">&nbsp; '''ш''' = [[Уикипедия:Шағын өңдеме|шағын өңдеме]], → = [[Help:Бөлім#Бөлімін өңдеу|бөлімін өңдеу]]</span></div>",
+Шартты белгілер: <span style=\"white-space:nowrap;\">(ағым.) = ағымдық нұсқамен айырмасы, <span style=\"white-space:nowrap;\">(соң.) = алдыңғы нұсқамен айырмасы, </span> <span style=\"white-space:nowrap;\">&nbsp; '''ш''' = [[Уикипедия:Шағын өңдеме|шағын өңдеме]], → = [[Help:Бөлім#Бөлімін өңдеу|бөлімін өңдеу]]</span>",
 'history-fieldset-title' => 'Тарихынан іздеу',
 'history-show-deleted' => 'Жойылғанын ғана көрсету',
 'histfirst' => 'Ең ескісіне',
@@ -1347,7 +1347,7 @@ $1",
 'showingresultsheader' => "«'''$4'''» үшін {{PLURAL:$5|тек '''$1''' нәтиже табылды|табылған '''$3''' нәтиженің '''$1—$2''' аралығы көрсетілген}}",
 'search-nonefound' => 'Сұрауға сәйкес нәтижелер табылмады.',
 'powersearch-legend' => 'Кеңейтілген іздеу',
-'powersearch-ns' => 'Ð\9cÑ\8bна ÐµÑ\81Ñ\96м Ð°Ñ\8fлаÑ\80Ð´а іздеу:',
+'powersearch-ns' => 'Ð\90Ñ\82аÑ\83 ÐºÐµÒ£Ñ\96Ñ\81Ñ\82Ñ\96кÑ\82еÑ\80Ñ\96 Ð±Ð¾Ð¹Ñ\8bнÑ\88а іздеу:',
 'powersearch-redir' => 'Айдатуларды тізімдеу',
 'powersearch-togglelabel' => 'Белгілеу:',
 'powersearch-toggleall' => 'Барлығы',
@@ -1394,7 +1394,7 @@ $1",
 'recentchangesdays' => 'Жуықтағы өзгерістерде көрсетілетін күн саны:',
 'recentchangesdays-max' => 'Ең көбі $1 {{PLURAL:$1|күн|күн}}',
 'recentchangescount' => 'Жуықтағы өзгерістердінде, тарих және журнал беттерінде көрсетпек өңдеме саны:',
-'prefs-help-recentchangescount' => 'Ð\96Ñ\83Ñ\8bÒ\9bÑ\82аÒ\93Ñ\8b Ó©Ð·Ð³ÐµÑ\80Ñ\96Ñ\81Ñ\82еÑ\80, Ð±ÐµÑ\82 Ñ\82аÑ\80иÑ\85Ñ\82аÑ\80Ñ\8bÒ\93 және журналдар қамтылады.',
+'prefs-help-recentchangescount' => 'Ð\91Ò±Ò\93ан Ð¶Ñ\83Ñ\8bÒ\9bÑ\82аÒ\93Ñ\8b Ó©Ð·Ð³ÐµÑ\80Ñ\96Ñ\81Ñ\82еÑ\80, Ð±ÐµÑ\82 Ñ\82аÑ\80иÑ\85Ñ\82аÑ\80Ñ\8b және журналдар қамтылады.',
 'savedprefs' => 'Бапталымдарыңыз сақталды.',
 'timezonelegend' => 'Уақыт белдеуі:',
 'localtime' => 'Жергілікті уақыт:',
@@ -1632,6 +1632,7 @@ $1",
 
 # Recent changes
 'nchanges' => '$1 өзгеріс',
+'enhancedrc-history' => 'Тарихы',
 'recentchanges' => 'Жуықтағы өзгерістер',
 'recentchanges-legend' => 'Жуықтағы өзгерістер баптаулары',
 'recentchanges-summary' => 'Бұл бетте осы уикидегі болған жуықтағы өзгерістер байқалады.',
@@ -1641,13 +1642,15 @@ $1",
 'recentchanges-label-minor' => 'Бұл шағын өңдеме',
 'recentchanges-label-bot' => 'Бұл өңдемені бот жасады.',
 'recentchanges-label-unpatrolled' => 'Бұл өңдеме әлі тексеруден өтпеді.',
-'recentchanges-legend-newpage' => '$1 - жаңа бет',
+'recentchanges-label-plusminus' => 'Байт бойынша беттің өзгеріс мөлшері',
+'recentchanges-legend-heading' => "'''Шартты белгілер:'''",
+'recentchanges-legend-newpage' => 'қ. [[Special:NewPages|бөлек бетте]]',
 'rcnotefrom' => "Төменде '''$2''' кезінен бергі ('''$1''' жеткенше дейін) өзгерістер көрсетіледі.",
 'rclistfrom' => '$1 кезінен бергі жаңа өзгерістерді көрсет.',
 'rcshowhideminor' => 'Шағын өңдемелерді $1',
 'rcshowhidebots' => 'Боттарды $1',
-'rcshowhideliu' => 'ТÑ\96Ñ\80келгендерді $1',
-'rcshowhideanons' => 'Ð\90нонимдÑ\96 Ò\9bаÑ\82Ñ\8bÑ\81Ñ\83Ñ\88Ñ\8bлаÑ\80дÑ\8b $1',
+'rcshowhideliu' => 'Ð\9aÑ\96Ñ\80гендерді $1',
+'rcshowhideanons' => 'Ð\9aÑ\96Ñ\80мегендеÑ\80дÑ\96 $1',
 'rcshowhidepatr' => 'Зерттелген өңдемелерді $1',
 'rcshowhidemine' => 'Өңдемелерімді $1',
 'rclinks' => 'Соңғы $2 күнде болған, соңғы $1 өзгерісті көрсет<br />$3',
@@ -1836,6 +1839,9 @@ URL дұрыс екендігін және торап істеп тұрғаны
 'listfiles_size' => 'Өлшемі',
 'listfiles_description' => 'Сипаттамасы',
 'listfiles_count' => 'Нұсқалары',
+'listfiles-latestversion' => 'Соңғы нұсқасы',
+'listfiles-latestversion-yes' => 'Иә',
+'listfiles-latestversion-no' => 'Жоқ',
 
 # File description page
 'file-anchor-link' => 'Файл беті',
@@ -2191,7 +2197,7 @@ URL дұрыс екендігін және торап істеп тұрғаны
 'notvisiblerev' => 'Түзету жойылды',
 'watchlist-details' => 'Тізіміңізде $1 бет бар (талқылау беттері саналмайды).',
 'wlheader-enotif' => 'Ескерту хат жіберуі қосылған.',
-'wlheader-showupdated' => "Соңғы келіп-кетуіңізден бері өзгертілген беттерді '''жуан''' қаріпімен көрсет",
+'wlheader-showupdated' => "Соңғы келіп-кетуіңізден бері өзгертілген беттер '''жуан''' қаріпімен көрсетіледі.",
 'watchmethod-recent' => 'бақылаулы беттер үшін жуықтағы өзгерістерді тексеру',
 'watchmethod-list' => 'жуықтағы өзгерістер үшін бақылаулы беттерді тексеру',
 'watchlistcontains' => 'Бақылау тізіміңізде $1 бет бар.',
@@ -2439,7 +2445,7 @@ $1',
 'contributions' => '{{GENDER:$1|Қатысушы}} үлестері',
 'contributions-title' => '$1 есімді қатысушының үлесі',
 'mycontris' => 'Үлесім',
-'contribsub2' => '$1 ($2) үлесі',
+'contribsub2' => '{{GENDER:$3|$1}} ($2) үлесі',
 'nocontribs' => 'Осы іздеу шартына сәйкес өзгерістер табылған жоқ.',
 'uctop' => '(соңғы)',
 'month' => 'Мына айдан (және ертеректен):',
@@ -2489,7 +2495,7 @@ $1',
 'blockip' => 'Қатысушыны бұғаттау',
 'blockip-legend' => 'Қатысушыны бұғаттау',
 'blockiptext' => 'Төмендегі пішін қатысушының жазу рұқсатын белгілі IP мекенжайымен не атымен бұғаттау үшін қолданылады.
-Бұны тек бұзақылықты қақпайлау үшін және де [[{{{{ns:mediawiki}}:Policy-url}}|ережелер]] бойынша атқаруыңыз жөн.
+Бұны тек бұзақылықты қақпайлау үшін және де [[{{Mediawiki:Policy-url}}|ережелер]] бойынша атқаруыңыз жөн.
 Төменде тиісті себебін толтырып көрсетіңіз (мысалы, дәйекке бұзақылықпен өзгерткен беттерді келтіріп).',
 'ipadressorusername' => 'IP-мекенжайы немесе қатысушы аты:',
 'ipbexpiry' => 'Мерзімі бітпек:',
@@ -2684,6 +2690,8 @@ $1 бұғаттауы үшін келтірілген себебі: «$2».',
 'imagetypemismatch' => 'Файлдың жаңа кеңейтімі бұның түріне сәйкес емес',
 'imageinvalidfilename' => 'Файл атауы жарамсыз',
 'move-leave-redirect' => 'Ескі бетте айдату сілтемесін қалдыру',
+'semiprotectedpagemovewarning' => "'''Ескерту:''' Бұл бет жылжытудан қорғалған оны тек тіркелген қатысушылар ғана жылжытыта алады.
+Төменде ең соңғы журнал енгізілімі көрсетілген:",
 
 # Export
 'export' => 'Беттерді сыртқа беру',
@@ -2885,7 +2893,7 @@ $2',
 'spam_blanking' => '$1 дегенге сілтемелері бар барлық түзетулер тазартылды',
 
 # Info page
-'pageinfo-title' => '"$1" үшін ақпараттар',
+'pageinfo-title' => '"$1" беті туралы мәлімет',
 'pageinfo-header-basic' => 'Негізгі ақпарат',
 'pageinfo-header-edits' => 'Өңдеу тарихы',
 'pageinfo-header-restrictions' => 'Бет қорғалуы',
@@ -2894,6 +2902,7 @@ $2',
 'pageinfo-length' => 'Бет ұзындығы (байтпен)',
 'pageinfo-article-id' => 'Бет ID-і',
 'pageinfo-language' => 'Бет мәлімет тілі',
+'pageinfo-content-model' => 'Бет мағұлымат қалпы',
 'pageinfo-robot-policy' => 'Индекстеуді робот жүргізеді',
 'pageinfo-robot-index' => 'Рұқсат берілген',
 'pageinfo-robot-noindex' => 'Рұқсат етілмеген',
@@ -2915,7 +2924,7 @@ $2',
 'pageinfo-hidden-categories' => 'Жасырылған {{PLURAL:$1|санат|санаттар}} ($1)',
 'pageinfo-templates' => 'Кіріктірілген {{PLURAL:$1|үлгі|үлгілер}} ($1)',
 'pageinfo-transclusions' => 'Kіріктірілген {{PLURAL:$1|бет|беттер}} ($1)',
-'pageinfo-toolboxlink' => 'Бет ақпараттары',
+'pageinfo-toolboxlink' => 'Бұл бет туралы мәлімет',
 'pageinfo-redirectsto' => 'Айдатылғандар',
 'pageinfo-redirectsto-info' => 'Информация',
 'pageinfo-contentpage-yes' => 'Иә',
@@ -2933,9 +2942,9 @@ $2',
 
 # Patrolling
 'markaspatrolleddiff' => 'Зерттелді деп белгілеу',
-'markaspatrolledtext' => 'Бұл бетті зерттелді деп белгіле',
-'markedaspatrolled' => 'Ð\97еÑ\80Ñ\82Ñ\82елді деп белгіленді',
-'markedaspatrolledtext' => 'Бөлектенген нұсқа [[:$1]]  зерттелді деп белгіленді.',
+'markaspatrolledtext' => 'Бұл бетті тексерілді деп белгілеу',
+'markedaspatrolled' => 'ТекÑ\81еÑ\80Ñ\96лді деп белгіленді',
+'markedaspatrolledtext' => 'Бөлектенген нұсқа [[:$1]] тексерілді деп белгіленді.',
 'rcpatroldisabled' => 'Жуықтағы өзгерістерді зерттеуі өшірілген',
 'rcpatroldisabledtext' => 'Жуықтағы өзгерістерді зерттеу мүмкіндігі ағымда өшірілген.',
 'markedaspatrollederror' => 'Зерттелді деп белгіленбейді',
@@ -3410,7 +3419,7 @@ $5
 # Scary transclusion
 'scarytranscludedisabled' => '[Уики-аралық кірікбеттер өшірілген]',
 'scarytranscludefailed' => '[$1 үшін үлгі келтіруі сәтсіз бітті; ғафу етіңіз]',
-'scarytranscludetoolong' => '[URL тым ұзын; ғафу етіңіз]',
+'scarytranscludetoolong' => '[URL тым ұзын]',
 
 # Delete conflict
 'deletedwhileediting' => 'Ескету: Бұл бетті өңдеуіңізді бастағанда, осы бет жойылды!',
@@ -3441,6 +3450,9 @@ $5
 'imgmultigo' => 'Өт!',
 'imgmultigoto' => '$1 бетіне өту',
 
+# Language selector for translatable SVGs
+'img-lang-go' => 'Өту',
+
 # Table pager
 'ascending_abbrev' => 'өсу',
 'descending_abbrev' => 'кему',
@@ -3461,6 +3473,7 @@ $5
 
 # Size units
 'size-bytes' => '$1 байт',
+'size-kilobytes' => '$1 КБ',
 
 # Live preview
 'livepreview-loading' => 'Жүктеуде…',
@@ -3626,6 +3639,7 @@ $5
 'tags-active-header' => 'Белсенді ме?',
 'tags-hitcount-header' => 'Тегтелген өзгерістер',
 'tags-active-yes' => 'Иә',
+'tags-active-no' => 'Жоқ',
 'tags-edit' => 'өңдеу',
 'tags-hitcount' => '$1 {{PLURAL:$1|өзгеріс|өзгеріс}}',
 
@@ -3651,6 +3665,9 @@ $5
 # New logging system
 'logentry-delete-delete' => '$1 $3 деген бетті {{GENDER:$2|жойды}}',
 'logentry-delete-restore' => '$1 $3 деген бетті {{GENDER:$2|қалпына келтірді}}',
+'logentry-delete-event' => '$1 $3 бетіндегі {{PLURAL:$5|журнал оқиғасы|$5 журнал оқиғасы}} көрінісін {{GENDER:$2|өзгертті}}: $4',
+'logentry-delete-revision' => '$1 $3 бетіндегі {{PLURAL:$5|нұсқа|$5 нұсқа}} көрінісін {{GENDER:$2|өзгертті}}: $4',
+'logentry-suppress-event' => '$1 $3 бетіндегі {{PLURAL:$5|журнал оқиғасы|$5 журнал оқиғасы}} көрінісін құпия түрде {{GENDER:$2|өзгертті}}: $4',
 'revdelete-content-hid' => 'мағұлымат жасырылған',
 'revdelete-summary-hid' => 'өңдеу түйіндемесі жасырылған',
 'revdelete-uname-hid' => 'қатысушы есімі жасырылған',
@@ -3703,6 +3720,10 @@ $5
 'duration-centuries' => '$1 {{PLURAL:$1|ғасыр|ғасыр}}',
 'duration-millennia' => '$1 {{PLURAL:$1|мың жылдық|мың жылдық}}',
 
+# Limit report
+'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$1|байт|байт}}',
+'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|байт|байт}}',
+
 # Special:ExpandTemplates
 'expandtemplates' => 'Үлгілерді ұлғайту',
 'expand_templates_intro' => 'Осы құрал арнайы беті әлдебір мәтінді алады да,
index f55dac9..f73e4ff 100644 (file)
@@ -9,6 +9,7 @@
  *
  * @author Akoppad
  * @author Ashwath Mattur <ashwatham@gmail.com> http://en.wikipedia.org/wiki/User:Ashwatham
+ * @author Dimension10
  * @author Dipin
  * @author HPN
  * @author Hari Prasad Nadig <hpnadig@gmail.com> http://en.wikipedia.org/wiki/User:Hpnadig
@@ -71,12 +72,12 @@ $messages = array(
 'tog-hidepatrolled' => 'ಪಹರೆಯಲ್ಲಿ ಆದ ಸಂಪಾದನೆಗಳನ್ನು ಇತ್ತೀಚೆಗಿನ ಬದಲಾವಣೆಗಳಲ್ಲಿ ಅಡಗಿಸು',
 'tog-newpageshidepatrolled' => 'ಪಹರೆಯಲ್ಲಿ ಆದ ಪುಟಗಳನ್ನು ಹೊಸ ಪುಟಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಅಡಗಿಸು',
 'tog-extendwatchlist' => 'ಕೇವಲ ಇತ್ತೀಚೆಗಿನ ಬದಲಾವಣೆಗಳಲ್ಲದೆ, ಸಂಬಂಧಿತ ಎಲ್ಲಾ ಬದಲಾವಣೆಗಳನ್ನು ತೋರುವಂತೆ ಪಟ್ಟಿಯನ್ನು ವಿಸ್ತರಿಸಿ',
-'tog-usenewrc' => 'ಹೆಚ್ಚು ವರ್ಧಿಸಲಾದ ಇತ್ತೀಚಿನ ಬದಲಾವಣೆಗಳು ಪುಟ ಬಳಸು(ಜಾವಸ್ಕ್ರಿಪ್ಟ್ ಬೇಕಾಗುತ್ತದೆ)',
+'tog-usenewrc' => 'ಹೆಚ್ಚು ವರ್ಧಿಸಲಾದ ಇತ್ತೀಚಿನ ಬದಲಾವಣೆಗಳು ಪುಟ ಬಳಸು',
 'tog-numberheadings' => 'ತಲೆಬರಹಗಳಿಗೆ ಅಂಕಿಗಳನ್ನು ತೋರಿಸು',
-'tog-showtoolbar' => 'ಸಂಪಾದನೆಯ ಉಪಕರಣಗಳ ಪಟ್ಟಿಯನ್ನು ತೋರು (JavaScript)',
-'tog-editondblclick' => 'ಎರಡು ಬಾರಿ ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ಪುಟವು ಸಂಪಾದಿಸುವಂತಾಗಲಿ (JavaScript)',
+'tog-showtoolbar' => 'ಸಂಪಾದನೆಯ ಉಪಕರಣಗಳ ಪಟ್ಟಿಯನ್ನು ತೋರು',
+'tog-editondblclick' => 'ಎರಡು ಬಾರಿ ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ಪುಟವು ಸಂಪಾದಿಸುವಂತಾಗಲಿ',
 'tog-editsection' => 'ಪುಟದ ವಿಭಾಗಗಳನ್ನು [ಬದಲಾಯಿಸು] ಕೊಂಡಿಗಳನ್ನು ಒತ್ತುವುದರಿಂದ ಸಂಪಾದನೆ ಮಾಡುವಂತೆ ಇರಲಿ',
-'tog-editsectiononrightclick' => 'ಪುಟದ ವಿಭಾಗಗಳನ್ನು ಅವುಗಳ ಶೀರ್ಷಿಕೆಯನ್ನು ಎರಡು ಬಾರಿ ಕ್ಲಿಕ್ ಮಾಡಿ ಸಂಪಾದನೆ ಮಾಡುವಂತೆ ಇರಲಿ (JavaScript)',
+'tog-editsectiononrightclick' => 'ಪುಟದ ವಿಭಾಗಗಳನ್ನು ಅವುಗಳ ಶೀರ್ಷಿಕೆಯನ್ನು ಎರಡು ಬಾರಿ ಕ್ಲಿಕ್ ಮಾಡಿ ಸಂಪಾದನೆ ಮಾಡುವಂತೆ ಇರಲಿ',
 'tog-showtoc' => 'ಪರಿವಿಡಿಯನ್ನು ತೋರಿಸು (ಮೂರಕ್ಕಿಂತ ಹೆಚ್ಚು ತಲೆಬರಹಗಳನ್ನು ಹೊಂದಿರುವ ಪುಟಗಳಿಗೆ)',
 'tog-rememberpassword' => 'ಈ ಗಣಕಯಂತ್ರದಲ್ಲಿ ನನ್ನ ಲಾಗಿನ್ ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊ (ಗರಿಷ್ಠ $1 {{PLURAL:$1|ದಿನದ|ದಿನಗಳ}}ವರೆಗೆ)',
 'tog-watchcreations' => 'ನಾನು ಪ್ರಾರಂಭಿಸುವ ಲೇಖನಗಳನ್ನು ನನ್ನ ವೀಕ್ಷಣಾಪಟ್ಟಿಗೆ ಸೇರಿಸು',
@@ -93,7 +94,7 @@ $messages = array(
 'tog-shownumberswatching' => 'ಪುಟವನ್ನು ವೀಕ್ಷಿಸುತ್ತಿರುವ ಸದಸ್ಯರ ಸಂಖ್ಯೆಯನ್ನು ತೋರಿಸು',
 'tog-oldsig' => 'ಪ್ರಸ್ತುತ ಸಹಿ',
 'tog-fancysig' => 'ಸರಳ ಸಹಿಗಳು (ಕೊಂಡಿ ಇಲ್ಲದಿರುವಂತೆ)',
-'tog-uselivepreview' => 'ನà³\87ರ à²®à³\81ನà³\8dನà³\8bà²\9fವನà³\8dನà³\81 à²\89ಪಯà³\8bà²\97ಿಸà³\81 (JavaScript) (ಪ್ರಾಯೋಗಿಕ)',
+'tog-uselivepreview' => 'ನà³\87ರ à²®à³\81ನà³\8dನà³\8bà²\9fವನà³\8dನà³\81 à²\89ಪಯà³\8bà²\97ಿಸಿ  (ಪ್ರಾಯೋಗಿಕ)',
 'tog-forceeditsummary' => 'ಸಂಪಾದನೆ ಸಾರಾಂಶವನ್ನು ಖಾಲಿ ಬಿಟ್ಟಲ್ಲಿ ನೆನಪಿಸು',
 'tog-watchlisthideown' => 'ವೀಕ್ಷಣಾ ಪಟ್ಟಿಯಲ್ಲಿ ನನ್ನ ಸಂಪಾದನೆಗಳನ್ನು ತೋರಿಸಬೇಡ',
 'tog-watchlisthidebots' => 'ವೀಕ್ಷಣಾಪಟ್ಟಿಯಲ್ಲಿ ಬಾಟ್ ಸಂಪಾದನೆಗಳನ್ನು ಅಡಗಿಸು',
@@ -106,6 +107,7 @@ $messages = array(
 'tog-showhiddencats' => 'ಅಡಗಿಸಲ್ಪಟ್ಟ ವರ್ಗಗಳನ್ನು ತೋರಿಸು',
 'tog-norollbackdiff' => 'ತೊಡೆದುಹಾಕಿದ ನಂತರ ವ್ಯತ್ಯಸವನ್ನು ಬಿದು',
 'tog-useeditwarning' => 'ಸಂಪಾದನೆಯನ್ನು ಉಳಿಸದೆ ಹೊರಟಲ್ಲಿ ನನಗೆ ಎಚ್ಚರಿಸು',
+'tog-prefershttps' => 'ಯಾವತ್ತು ಸಹ ಲಾಗಿನ್ ನಂತರ ಸುರಕ್ಷಿತ ಸಂಪರ್ಕವನ್ನು ಬಳಸಿ',
 
 'underline-always' => 'ಯಾವಾಗಲೂ',
 'underline-never' => 'ಎಂದಿಗೂ ಇಲ್ಲ',
@@ -206,7 +208,7 @@ $messages = array(
 'newwindow' => '(ಹೊಸ ಕಿಟಕಿಯನ್ನು ತೆರೆಯುತ್ತದೆ)',
 'cancel' => 'ವಜಾ ಮಾಡಿ',
 'moredotdotdot' => 'ಇನ್ನಷ್ಟು...',
-'morenotlisted' => 'ಹà³\86à²\9aà³\8dà²\9aಿನದನà³\8dನà³\81 à²ªà²\9fà³\8dà²\9fಿಮಾಡಲಾà²\97ಿಲà³\8dಲ...',
+'morenotlisted' => 'à²\88 à²ªà²\9fà³\8dà²\9fಿ à²ªà³\82ರ à²\87ಲà³\8dಲ.',
 'mypage' => 'ಪುಟ',
 'mytalk' => 'ಚರ್ಚೆ',
 'anontalk' => 'ಈ ಐ.ಪಿ ಗೆ ಮಾತನಾಡಿ',
@@ -278,7 +280,7 @@ $messages = array(
 'articlepage' => 'ಲೇಖನ ಪುಟವನ್ನು ವೀಕ್ಷಿಸಿ',
 'talk' => 'ಚರ್ಚೆ',
 'views' => 'ನೋಟಗಳು',
-'toolbox' => 'ಉಪಕರಣ',
+'toolbox' => 'ಉಪಕರಣಗಳು',
 'userpage' => 'ಸದಸ್ಯರ ಪುಟ ತೋರು',
 'projectpage' => 'ಯೋಜನೆಯ ಪುಟವನ್ನು ನೋಡು',
 'imagepage' => 'ಕಡತದ ಪುಟ ವೀಕ್ಷಿಸಿ',
@@ -304,7 +306,7 @@ $messages = array(
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'ಕನ್ನಡ {{SITENAME}} ಬಗ್ಗೆ',
 'aboutpage' => 'Project:ನಮ್ಮ ಬಗ್ಗೆ',
-'copyright' => 'à²\87ದà³\81 à²\88 à²\95ಾಪಿರà³\88à²\9fà³\8dâ\80\8cನಲà³\8dಲಿ à²²à²­à³\8dಯವಿದà³\86 $1.',
+'copyright' => 'ವಿಶà³\87ಷವಾà²\97ಿ à²¹à³\87ಳಲಲà³\8dಲಿದರà³\86 à²\87ದà³\81 "$1" à²\95ಾಪಿರà³\88à²\9fà³\8d à²\85ಲà³\8dಲಿ à²²à²­à³\8dಯ à²\89à²\82à²\9fà³\81',
 'copyrightpage' => '{{ns:project}}:ಕೃತಿಸ್ವಾಮ್ಯತೆಗಳು',
 'currentevents' => 'ಪ್ರಚಲಿತ',
 'currentevents-url' => 'Project:ಪ್ರಚಲಿತ',
@@ -330,7 +332,10 @@ $messages = array(
 'ok' => 'ಸರಿ',
 'retrievedfrom' => '"$1" ಇಂದ ಪಡೆಯಲ್ಪಟ್ಟಿದೆ',
 'youhavenewmessages' => 'ನಿಮಗೆ $1 ಇವೆ ($2).',
-'newmessagesdifflinkplural' => 'ಕಡೆಯ {{PLURAL:$1|ಬದಲಾವಣೆ|ಬದಲಾವಣೆಗಳು}}',
+'youhavenewmessagesfromusers' => '{{PLURAL:$4|ನಿನಗೆ}} {{PLURAL:$3|ಇನ್ನು ಒಂದು ಸದಸ್ಯನಿಂದ|$3 ಸದಸ್ಯಗಳಿಂದ}} $1 ಉಂಟು. ($2)',
+'youhavenewmessagesmanyusers' => ' ನಿಮಗೆ ಸುಮಾರು ಸದಸ್ಯಗಳಿಂದ $1 ಉಂಟು ($2).',
+'newmessageslinkplural' => '{{PLURAL:$1|ಒಂದು ಹೊಸ ಸಂದೇಶ|999=ಹೊಸ ಸಂದೇಶಗಳು}}',
+'newmessagesdifflinkplural' => 'ಇತ್ತೀಚಿನ {{PLURAL:$1|ಬದಲಾವಣೆ|999=ಬದಲಾವಣೆಗಳು}}',
 'youhavenewmessagesmulti' => '$1 ಅಲ್ಲಿ ನಿಮಗೆ ಹೊಸ ಸಂದೇಶಗಳಿವೆ',
 'editsection' => 'ಬದಲಾಯಿಸಿ',
 'editold' => 'ಬದಲಾಯಿಸಿ',
@@ -380,6 +385,12 @@ $messages = array(
 # General errors
 'error' => 'ದೋಷ',
 'databaseerror' => 'ಡೇಟಬೇಸ್ ದೋಷ',
+'databaseerror-text' => 'ಡೇಟಾಬೇಸ್ ಅನುರೋಧದಲ್ಲಿ ತ್ರುಟಿ ಆಗಿದೆ. 
+ಇದರ ಅರ್ಥ ಇರಬಹುದು ಎಂತ ಅಂದರೆ ಸಾಫ್ಟ್ವೇರಲ್ಲಿ ಒಂದು ಸಮಸ್ಯೆ ಇರಬಹುದು.',
+'databaseerror-textcl' => 'ಡೇಟಾಬೇಸ್ ಅನುರೋಧದಲ್ಲಿ ತ್ರುಟಿ ಆಗಿದೆ.',
+'databaseerror-query' => 'ಅನುರೋಧ: $1',
+'databaseerror-function' => 'ಕಾರ್ಯ: $1',
+'databaseerror-error' => 'ತ್ರುಟಿ: $1',
 'laggedslavemode' => 'ಎಚ್ಚರ: ಪುಟದಲ್ಲಿ ಇತ್ತೀಚಿನ ಬದಲಾವಣೆಗಳು ಕಾಣದಿರಬಹುದು.',
 'readonly' => 'ಡೇಟಬೇಸ್ ಮುಚ್ಚಲಾಗಿದೆ',
 'enterlockreason' => 'ಡೇಟಬೇಸ್ ಮುಚ್ಚುತಿರುವ ಕಾರಣವನ್ನು ಮತ್ತು ಮತ್ತೆ ಅದನ್ನು ತೆರೆಯುವ ಅಂದಾಜಿತ ಕಾಲವನ್ನು ತಿಳಿಸಿ',
@@ -418,7 +429,7 @@ $messages = array(
 'perfcachedts' => 'ಈ ಕೆಳಗಿನ ಮಾಹಿತಿ cache ಆಗಿರುವುದು, ಮತ್ತು ಇದರ ಕೊನೆಯ ಬದಲಾವಣೆ ಆಗಿರುವುದು $1. ಹೆಚ್ಚಂದರೆ  {{PLURAL:$4|one result is|$4 results are}} cacheನಲ್ಲಿ ಲಭ್ಯವಿರುವುದು',
 'querypage-no-updates' => 'ಈ ಪುಟದ ಅಪ್ಡೇಟ್‍ಗಳನ್ನು ಪ್ರಸಕ್ತವಾಗಿ ನಿಲುಗಡೆ ಮಾಡಲಾಗಿದೆ. ಇಲ್ಲಿರುವ ಮಾಹಿತಿಯನ್ನು ಸದ್ಯಕ್ಕೆ ನವೀಕರಿಸಲಾಗುವುದಿಲ್ಲ.',
 'viewsource' => 'ಆಕರ ವೀಕ್ಷಿಸು',
-'viewsource-title' => 'ಮೂಲವನ್ನು ವಿಕ್ಷಿಸಿ',
+'viewsource-title' => '$1 ಇಗೆ  ಮೂಲವನ್ನು ವಿಕ್ಷಿಸಿ',
 'actionthrottled' => 'ಕ್ರಿಯೆಯನ್ನು ನಿಯಂತ್ರಿಸಲಾಗಿದೆ',
 'actionthrottledtext' => 'ಸ್ಪ್ಯಾಮ್ ವಿರೋಧಿ ವಿಧಾನದ ಪ್ರಕಾರ, ನಿಮ್ಮನ್ನು ಸ್ವಲ್ಪ ಸಮಯದಲ್ಲಿ ಬಹಳ ಸಲ ಈ ಕ್ರಿಯೆಯನ್ನು ಮಾಡುವುದರಿಂದ ನಿಯಂತ್ರಿಸಲಾಗಿದೆ ಮತ್ತು ನೀವು ಸೀಮೆಯನ್ನು ಮಿರಿದ್ದಿರಿ. ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.',
 'protectedpagetext' => 'ಈ ಪುಟವನ್ನು ಸಂಪಾದನೆ ಮಾಡಲಾಗದಂತೆ ಸಂರಕ್ಷಿಸಲಾಗಿದೆ.',
@@ -445,7 +456,8 @@ $2',
 'invalidtitle-knownnamespace' => '"$2"ನೇಮ್ ಸ್ಪೇಸ್ ಮತ್ತು "$3"ಪಠ್ಯದೊಂದಿಗೆ ಅಸಮಂಜಸ ತಲೆಬರಹ',
 'invalidtitle-unknownnamespace' => '$1ನೇಮ್ ಸ್ಪೇಸ್ ಮತ್ತು "$2"ಪಠ್ಯದೊಂದಿಗೆ ಅಸಮಂಜಸ ತಲೆಬರಹ',
 'exception-nologin' => 'ಲಾಗಿನ್ ಆಗಿಲ್ಲ',
-'exception-nologin-text' => 'ಈ ಪುಟ ಅಥವಾ ಚಟುವಟಿಕೆಗೆ ನೀವು ಈ ವಿಕಿಗೆ ಲಾಗಿನ್ ಆಗಿರಬೇಕಾಗಿರುತ್ತದೆ',
+'exception-nologin-text' => 'ಈ ಪುಟ ಅಥವಾ ಚಟುವಟಿಕೆಗೆ ನೀವು ಈ ವಿಕಿಗೆ [[Special:Userlogin|ಲಾಗಿನ್]] ಆಗಿರಬೇಕಾಗಿರುತ್ತದೆ.',
+'exception-nologin-text-manual' => 'ಈ ಪುಟ ಅಥವಾ ಚಟುವಟಿಕೆಗೆ $1 ಮಾಡಿ',
 
 # Virus scanner
 'virus-badscanner' => "ಅಸಮಂಜಸ ವಿನ್ಯಾಸ:ಅಪರಿಚಿತ ವೈರಸ್ ಸ್ಕಾನರ್:''$1''",
@@ -454,13 +466,14 @@ $2',
 
 # Login and logout pages
 'logouttext' => "'''ನೀವು ಈಗ ಲಾಗ್ ಔಟ್ ಆಗಿರುವಿರಿ.'''
-
-ನೀವು {{SITENAME}} ಅನ್ನು ಅನಾಮಧೇಯವಾಗಿ ಉಪಯೋಗಿಸಬಹುದು, ಅಥವ ಮತ್ತೆ ಇದೇ ಹೆಸರಿನಲ್ಲಿ ಅಥವ ಬೇರೆ ಹೆಸರಿನಲ್ಲಿ <span class='plainlinks'>[$1 ಲಾಗ್ ಇನ್]</span> ಆಗಬಹುದು.
 ಗಮನಿಸಿ: ನಿಮ್ಮ ಬ್ರೌಸರ್‍ನ cache ಅನ್ನು ಅಳಿಸುವವರೆಗೂ ಕೆಲವು ಪುಟಗಳು ನೀವಿನ್ನೂ ಲಾಗ್ ಇನ್ ಆಗಿರುವಂತೆ ಪ್ರದರ್ಶಿತವಾಗಬಹುದು.",
 'welcomeuser' => 'ಸುಸ್ವಾಗತ,$1!',
 'welcomecreation-msg' => 'ನಿಮ್ಮ ಖಾತೆ ತೆರೆಯಲಾಗಿದೆ.ನಿಮ್ಮ [[Special:Preferences|{{SITENAME}} preferences]]ಬದಲಾಯಿಸಲು ಮರೆಯಬೇಡಿ.',
 'yourname' => 'ನಿಮ್ಮ ಬಳಕೆಯ ಹೆಸರು',
 'userlogin-yourname' => 'ಬಳಕೆದಾರ ಹೆಸರು',
+'userlogin-yourname-ph' => 'ನಿಮ್ಮ ಸದಸ್ಯನಾಮ ("ಯೋಸರ್ನೇಮ್") ಬರಿರಿ',
+'createacct-another-username-ph' => 'ಸದಸ್ಯನಾಮ ("ಯೋಸರ್ನೇಮ್") ಬರಿರಿ',
 'yourpassword' => 'ನಿಮ್ಮ ಪ್ರವೇಶಪದ',
 'userlogin-yourpassword' => 'ಪ್ರವೇಶಪದ',
 'userlogin-yourpassword-ph' => 'ನಿಮ್ಮ ಪ್ರವೇಶಪದ ನಮೂದಿಸಿ',
@@ -469,6 +482,8 @@ $2',
 'createacct-yourpasswordagain' => 'ಪ್ರವೇಶಪದವನ್ನು ಧೃಡೀಕರಿಸಿ',
 'createacct-yourpasswordagain-ph' => 'ಪ್ರವೇಶಪದವನ್ನು ಮತ್ತೊಮ್ಮೆ ನಮೂದಿಸಿ',
 'remembermypassword' => 'ಈ ಗಣಕಯಂತ್ರದಲ್ಲಿ ನನ್ನ ಲಾಗಿನ್ ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊ (ಗರಿಷ್ಠ $1 {{PLURAL:$1|ದಿನದ|ದಿನಗಳ}}ವರೆಗೆ)',
+'userlogin-remembermypassword' => 'ನನ್ನನ್ನ ಲೋಗ್ಗೆದ್ ಇನ್ ಎ ಇಡಿ.',
+'userlogin-signwithsecure' => 'ಸುರಕ್ಷಿತವಾದ ಕನೆಕ್ಷನ್ ಉಪಯೋಗಿಸಿ.',
 'yourdomainname' => 'ನಿಮ್ಮ ಕ್ಷೇತ್ರ:',
 'password-change-forbidden' => 'ನೀವು ಈ ವಿಕಿಯಲ್ಲಿ ಪ್ರವೇಶಪದವನ್ನು ಬದಲಾಯಿಸಲು ಸಾದ್ಯವಿಲ್ಲ.',
 'login' => 'ಲಾಗ್ ಇನ್',
@@ -480,21 +495,35 @@ $2',
 'userlogout' => 'ಲಾಗ್ ಔಟ್',
 'notloggedin' => 'ಲಾಗಿನ್ ಆಗಿಲ್ಲ',
 'userlogin-noaccount' => 'ಖಾತೆ ಇಲ್ಲವೇ?',
+'userlogin-joinproject' => '{{SITENAME}} ಸೇರಿ',
 'nologin' => "ಖಾತೆ ಇಲ್ಲವೇ? '''$1'''.",
 'nologinlink' => 'ಖಾತೆಯನ್ನು ಸೃಷ್ಟಿಸಿ',
 'createaccount' => 'ಹೊಸ ಖಾತೆ ತೆರೆಯಿರಿ',
 'gotaccount' => "ಈಗಾಗಲೇ ಖಾತೆಯಿದೆಯೇ? '''$1'''.",
 'gotaccountlink' => 'ಲಾಗ್ ಇನ್',
 'userlogin-resetlink' => 'ನಿಮ್ಮ ಲಾಗಿನ್ ವಿವರಗಳನ್ನು ಮರೆತಿದ್ದೀರಾ?',
+'userlogin-resetpassword-link' => 'ಗುಪ್ತಪದವನ್ನು ಮರಿತು ಹೊಯಿತ ?',
 'createacct-join' => 'ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಕೆಳಗೆ ನಮೂದಿಸಿ',
 'createacct-emailrequired' => 'ಇ-ಮೇಲ್ ವಿಳಾಸ:',
 'createacct-email-ph' => 'ನಿಮ್ಮ ಇ-ಅಂಚೆ ವಿಳಾಸವನ್ನು ನಮೂದಿಸಿ',
-'createaccountmail' => 'ಇ-ಅಂಚೆಯ ಮೂಲಕ',
+'createaccountmail' => '(ರಾಂಡಮ್) ತಾತ್ಕಾಲಿಕವಾಗಿ ಯಾದೃಚ್ಛಿಕ ಪಾಸ್ವರ್ಡ್ ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ಸೂಚಿಸಿ: ಕಳುಹಿಸಿ',
+'createacct-realname' => 'ನಿಜವಾದ ಹೆಸರು (ಐಚ್ಛಿಕ)',
 'createaccountreason' => 'ಕಾರಣ:',
 'createacct-reason' => 'ಕಾರಣ',
+'createacct-reason-ph' => 'ನೀವು ಯಾಕೆ ಇನ್ನು ಒಂದು ಖಾತ ಮಾಡುತ ಇದ್ದೀರಿ ?',
+'createacct-captcha' => 'ಸುರಕ್ಷೆ ನಿಗ್ರಹಿಸು.',
+'createacct-imgcaptcha-ph' => 'ಮೇಲೆ ಕಾಣುವಂತ ಶಬ್ದಗಳು ಮತ್ತು ಅಂಕಗಳನ್ನು ಬರಿರಿ.',
+'createacct-submit' => 'ಖಾತೆಯನ್ನು ಸೃಷ್ಟಿಸಿ',
+'createacct-another-submit' => 'ಇನ್ನು ಒಂದು ಖಾತ ಮಾಡಿ',
+'createacct-benefit-heading' => '{{SITENAME}} ನಿಮ್ಮನ್ತವೆ ಜನರಿಂದ ಮಾಡಿದು',
+'createacct-benefit-body1' => '{{PLURAL:$1|ಸಂಪಾದನೆ|ಸಂಪಾದನೆಗಳು}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|ಪುಟ|ಪುಟಗಳು}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|ಕೊಡುಗೆ|ಕೊಡುಗೆಗಳು}}',
 'badretype' => 'ನೀವು ಕೊಟ್ಟ ಪ್ರವೇಶಪದಗಳು ಬೇರೆಬೇರೆಯಾಗಿವೆ.',
 'userexists' => 'ನೀವು ನೀಡಿದ ಸದಸ್ಯರ ಹೆಸರು ಆಗಲೆ ಬಳಕೆಯಲ್ಲಿದೆ. ದಯವಿಟ್ಟು ಬೇರೊಂದು ಹೆಸರನ್ನು ಆಯ್ಕೆ ಮಾಡಿ.',
 'loginerror' => 'ಲಾಗಿನ್ ದೋಷ',
+'createacct-error' => 'ಖಾತೆ ನಿರ್ಮಾಣ ತ್ರುಟಿ',
+'createaccounterror' => 'ಖಾತೆ ನಿರ್ಮಾಣ ಮಾಡಲಿಕ್ಕೆ ಆಗಲಿಲ್ಲ.',
 'nocookiesnew' => 'ನಿಮ್ಮ ಬಳಕೆದಾರ ಖಾತೆಯು ಸೃಷ್ಟಿತವಾಗಿದೆ, ಆದರೆ ನೀವು ಲಾಗ್ ಇನ್ ಆಗಿಲ್ಲ.
 {{SITENAME}} ಲಾಗ್ ಇನ್ ಮಾಡಲು cookieಗಳನ್ನು ಉಪಯೋಗಿಸುತ್ತದೆ.
 ನಿಮ್ಮ ಗಣಕಯಂತ್ರದಲ್ಲಿ cookieಗಳು ನಿಷಿದ್ಧವಾಗಿದೆ.
@@ -1244,7 +1273,7 @@ $2',
 'filehist-user' => 'ಸದಸ್ಯ',
 'filehist-dimensions' => 'ಆಯಾಮಗಳು',
 'filehist-filesize' => 'ಫೈಲಿನ ಗಾತ್ರ',
-'filehist-comment' => 'ವà²\95à³\8dà²\95ಣà³\86',
+'filehist-comment' => 'à²\9fಿಪà³\8dಪಣಿ',
 'filehist-missing' => 'ಫೈಲು ಕಾಣೆಯಾಗಿದೆ',
 'imagelinks' => 'ಕಡತ ಬಳಕೆ',
 'linkstoimage' => 'ಈ ಕೆಳಗಿನ {{PLURAL:$1|ಪುಟವು|$1 ಪುಟಗಳು}} ಈ ಚಿತ್ರಕ್ಕೆ ಸಂಪರ್ಕ {{PLURAL:$1|ಹೊಂದಿದೆ|ಹೊಂದಿವೆ}}:',
@@ -1771,6 +1800,7 @@ $2',
 'import' => 'ಪುಟಗಳನ್ನು ಅಮದು ಮಾಡಿ',
 'import-interwiki-submit' => 'ಆಮದು',
 'import-interwiki-namespace' => 'ಪುಟಗಳನ್ನು ಈ ಪುಟಪ್ರಬೇಧಕ್ಕೆ ವರ್ಗಾಯಿಸು:',
+'import-comment' => 'ಟಿಪ್ಪಣಿ :',
 'importstart' => 'ಪುಟಗಳು ಆಮದಾಗುತ್ತಿದೆ...',
 'import-revision-count' => '$1 {{PLURAL:$1|ಬದಲಾವಣೆ|ಬದಲಾವಣೆಗಳು}}',
 'importnopages' => 'ಆಮದು ಮಾಡಲು ಯಾವ ಪುಟವೂ ಇಲ್ಲ.',
index da887f5..660689e 100644 (file)
@@ -11,6 +11,7 @@
  * @author Altostratus
  * @author Chanhee
  * @author Chulki Lee
+ * @author Clockoon
  * @author Cwt96
  * @author Devunt
  * @author Ficell
@@ -33,6 +34,7 @@
  * @author PuzzletChung
  * @author TheAlpha for knowledge
  * @author ToePeu
+ * @author Yjs5497
  * @author Yknok29
  * @author לערי ריינהארט
  * @author 관인생략
@@ -545,7 +547,7 @@ $messages = array(
 'history' => '문서 역사',
 'history_short' => '역사',
 'updatedmarker' => '마지막으로 방문한 뒤 바뀜',
-'printableversion' => '인쇄용 문서',
+'printableversion' => '인쇄 버전',
 'permalink' => '고유 링크',
 'print' => '인쇄',
 'view' => '보기',
@@ -1254,6 +1256,9 @@ $2개 보다 적게 {{PLURAL:$2|써야}} 하지만 {{PLURAL:$1|지금은 $1개
 'cantcreateaccount-text' => "현재 아이피 주소('''$1''')는 [[User:$3|$3]] 사용자에 의해 계정 만들기가 차단되었습니다.
 
 차단 이유는 다음과 같습니다: $2",
+'cantcreateaccount-range-text' => "당신의 IP 주소('''\$4''')가 속해 있는 '''\$1''' 대역에서의 계정 생성을 [[User:\$3|\$3]] 사용자가 차단하였습니다.
+
+\$3 사용자가 제시한 이유는 \"\$2\"입니다.",
 
 # History pages
 'viewpagelogs' => '이 문서의 기록 보기',
@@ -1603,6 +1608,7 @@ HTML 태그를 확인하세요.',
 'prefs-tokenwatchlist' => '토큰',
 'prefs-diffs' => '차이',
 'prefs-help-prefershttps' => '이 사용자 환경 설정은 다음 로그인에 적용됩니다.',
+'prefs-tabs-navigation-hint' => '팁: 탭 목록에서 탭 사이를 둘러보려면 왼쪽과 오른쪽 화살표 키를 사용할 수 있습니다.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => '이메일 주소가 올바른 것으로 보입니다',
@@ -1789,12 +1795,14 @@ HTML 태그를 확인하세요.',
 'recentchanges-label-bot' => '봇의 편집',
 'recentchanges-label-unpatrolled' => '아직 검토하지 않은 편집',
 'recentchanges-label-plusminus' => '바이트로 표기된 바뀐 문서 크기',
-'recentchanges-legend-newpage' => '([[Special:NewPages|새 문서의 목록]]도 참고하세요)',
+'recentchanges-legend-heading' => "'''범례:'''",
+'recentchanges-legend-newpage' => '([[Special:NewPages|새 문서 목록]]도 참고하세요)',
+'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "다음은 '''$2'''에서부터 바뀐 문서 '''$1'''개입니다.",
 'rclistfrom' => '$1 이래로 새로 바뀐 문서 보기',
 'rcshowhideminor' => '사소한 편집을 $1',
 'rcshowhidebots' => '봇을 $1',
-'rcshowhideliu' => '등록 사용자를 $1',
+'rcshowhideliu' => '등록 사용자를 $1',
 'rcshowhideanons' => '익명 사용자를 $1',
 'rcshowhidepatr' => '검토된 편집을 $1',
 'rcshowhidemine' => '내 편집을 $1',
@@ -2267,6 +2275,7 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 'ninterwikis' => '{{PLURAL:$1|인터위키}} $1개',
 'nlinks' => '{{PLURAL:$1|링크}} $1개',
 'nmembers' => '{{PLURAL:$1|문서}} $1개',
+'nmemberschanged' => '$1 → $2{{PLURAL:$2|개}}',
 'nrevisions' => '{{PLURAL:$1|판}} $1개',
 'nviews' => '$1번 {{PLURAL:$1|읽음}}',
 'nimagelinks' => '{{PLURAL:$1|문서}} $1개에서 사용 중',
@@ -3193,7 +3202,7 @@ $2',
 'tooltip-t-emailuser' => '이 사용자에게 이메일 보내기',
 'tooltip-t-upload' => '파일 올리기',
 'tooltip-t-specialpages' => '모든 특수 문서의 목록',
-'tooltip-t-print' => '이 문서의 인쇄 버전',
+'tooltip-t-print' => '이 문서의 인쇄 버전',
 'tooltip-t-permalink' => '문서의 이 판에 대한 고유링크',
 'tooltip-ca-nstab-main' => '본문 보기',
 'tooltip-ca-nstab-user' => '사용자 문서 보기',
@@ -4062,13 +4071,14 @@ $5
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath 스크립트 경로]',
 
 # Special:Redirect
-'redirect' => '파일, 사용자나 판 ID별 넘겨주기',
+'redirect' => '파일, 사용자, 문서나 판 ID로 넘겨주기',
 'redirect-legend' => '파일이나 문서로 넘겨주기',
-'redirect-summary' => 'ì\9d´ í\8a¹ì\88\98 ë¬¸ì\84\9cë\8a\94 í\8c\8cì\9d¼(í\8c\8cì\9d¼ ì\9d´ë¦\84ì\9d\84 ì§\80ì \95), ë¬¸ì\84\9c\8c\90 ID를 ì§\80ì \95\82\98 ì\82¬ì\9a©ì\9e\90 ë¬¸ì\84\9c\82¬ì\9a©ì\9e\90 ID를 ì \95ì\88\98ë¡\9c ì§\80ì \95)ë¡\9c ë\84\98겨ì¤\8dë\8b\88ë\8b¤. ì\82¬ì\9a©ë²\95: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], í\98¹ì\9d\80 [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'ì\9d´ í\8a¹ì\88\98 ë¬¸ì\84\9cë\8a\94 í\8c\8cì\9d¼(í\8c\8cì\9d¼ ì\9d´ë¦\84ì\9d´ ì£¼ì\96´ì§\90), ë¬¸ì\84\9c\8c\90 IDë\82\98 ë¬¸ì\84\9c IDê°\80 ì£¼ì\96´ì§\90\82\98 ì\82¬ì\9a©ì\9e\90 ë¬¸ì\84\9c\88«ì\9e\90ë¡\9c í\91\9cì\8b\9cë\90\9c ì\82¬ì\9a©ì\9e\90 IDê°\80 ì£¼ì\96´ì§\90)ë¡\9c ë\84\98겨ì¤\8dë\8b\88ë\8b¤. ì\82¬ì\9a©ë²\95: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], ë\98\90ë\8a\94 [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => '보기',
 'redirect-lookup' => '찾을 종류:',
 'redirect-value' => '값:',
 'redirect-user' => '사용자 ID',
+'redirect-page' => '문서 ID',
 'redirect-revision' => '문서 판',
 'redirect-file' => '파일 이름',
 'redirect-not-exists' => '값을 찾을 수 없습니다',
@@ -4310,10 +4320,12 @@ $5
 'expand_templates_input' => '전개할 내용:',
 'expand_templates_output' => '결과',
 'expand_templates_xml_output' => 'XML 출력',
+'expand_templates_html_output' => '원본 HTML 출력',
 'expand_templates_ok' => '확인',
 'expand_templates_remove_comments' => '주석 제거',
 'expand_templates_remove_nowiki' => '결과에서 <nowiki> 태그를 숨기기',
 'expand_templates_generate_xml' => 'XML 구문 트리 보기',
+'expand_templates_generate_rawhtml' => '원본 HTML 보이기',
 'expand_templates_preview' => '미리 보기',
 
 );
index 1781781..a434f7d 100644 (file)
@@ -676,6 +676,7 @@ Wann De wells, künnts De Ding [[Special:Preferences|Enschtällonge aanpaße]].'
 'userlogin-resetpassword-link' => 'Paßwoot verjäße?',
 'helplogin-url' => 'Help:Övver et Enlogge',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hölp bem Enlogge]]',
+'userlogin-loggedin' => 'Do bes ald als {{GENDER:$1|Metmaacher|Metmaacherėn|Metmaacher|Metmaacherėn|Metmaacher}} [[User:$1]] enjelogg. Met heh dämm Fommolaa kanns De jäz onger enem andere Nahme enlogge.',
 'userlogin-createanother' => 'Donn ene zohsäzlejje Zohjang aanlääje',
 'createacct-join' => 'Jiv Ding Daate en:',
 'createacct-another-join' => 'Maach de nüüdeje Aanjaabe för dä neue Zohjaang.',
@@ -727,7 +728,7 @@ Udder donn_[[Special:UserLogin/signup|ene neue Metmaacher aanmelde]].',
 'passwordtooshort' => 'En Paßwööter {{PLURAL:$1|moß|möße|moß}} winnichstens {{PLURAL:$1|ei|$1|kei}} Zeiche, {{PLURAL:$1|Zeffer|Zeffere|Zeffere}}, udder Bochstave dren sin.',
 'password-name-match' => 'Ding Poßwoot moß anders wi Dinge Name als ene Metmaacher sin.',
 'password-login-forbidden' => 'Dä Zohjang met däm Metmaacher-Name un däm Paßwoot es verbodde.',
-'mailmypassword' => 'Passwood verjesse?',
+'mailmypassword' => 'Lohß jonn!',
 'passwordremindertitle' => 'Neu Paßwoot för {{GRAMMAR:Dat|{{SITENAME}}}}',
 'passwordremindertext' => 'Jod müjjelich, Do wors et selver,
 vun de IP Adress $1,
@@ -774,8 +775,8 @@ Netz aam hange bes, övver der letzte Daach (24 Stunde) zosamme jenumme ald
 {{PLURAL:$1|eine|$1|keine}} mol enen neuen Metmaacher aanjelaht.
 Mieh sin nit müjjelich. Dröm künne Lück, die jraad die IP-Addräß han,
 för der Momang nit noch mit Metmaacher neu aanmellde.',
-'emailauthenticated' => 'Ding E-Mail Adress wood aam <strong>$2</strong> öm <strong>$3</strong> Uhr bestätich.',
-'emailnotauthenticated' => 'Ding E-Mail Adress es <strong>nit</strong> bestätich. Dröm kann kein E-Mail aan Dich jescheck wääde för:',
+'emailauthenticated' => 'De Adräß för Ding <i lang="en" xml:lang="en">e-mail</i> wood aam $2 öm $3 Uhr beschtähtisch.',
+'emailnotauthenticated' => 'De Adräß för Ding <i lang="en" xml:lang="en">e-mail</i> wood noch nit beschtähtisch. Dröm kann kein E-Mail aan Desch jescheck wääde för:',
 'noemailprefs' => 'Dun en E-Mail Adress endrage, domet dat et all fluppe kann.',
 'emailconfirmlink' => 'Dun Ding <i lang="en">e-mail</i> Adräß beschtääteje lohße',
 'invalidemailaddress' => 'Wat De do als en Adreß för Ding <i lang="en">e-mail</i> aanjejovve häs, süht noh Dress us. En <i lang="en">e-mail</i> Adreß en däm Format, dat jitt et nit. Muss De repareere - oder Do mähs dat Feld leddich un schrievs nix eren. Un dann versök et noch ens.',
@@ -831,7 +832,7 @@ Do häs Der enzwesche e neu Zweschepaßwood jehollt.',
 # Special:PasswordReset
 'passwordreset' => 'Et Paßwoot zeröck säze',
 'passwordreset-text-one' => 'Föll dat Fommolaa uß, öm Ding Paßwoot ze ändere.',
-'passwordreset-text-many' => '{{PLURAL:$1|Föll ei Fäld en däm Fommolaa uß, öm Ding Paßwoot ze ändere.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Föll ei vun dä Fälder en heh däm Fommolaa uß, öm e Zwesche_Paßwoot ze krijje.}}',
 'passwordreset-legend' => 'Et Paßwoot zeröck säze',
 'passwordreset-disabled' => 'Et Paßwoot zeröck ze säze es heh em Wiki afjeschalldt.',
 'passwordreset-emaildisabled' => 'Heh dat Wiki määt nix met <i lang="en">e-mail</i>!',
@@ -1170,6 +1171,7 @@ Do kanns heh di Warnung affschallde, wann de aanjemelldt un enjelogg bes, dann k
 'undo-failure' => 'Dat kunnt mer nit zeröck nämme, dä Afschnedd wood enzwesche ald widder beärbeidt.',
 'undo-norev' => "Do ka'mer nix zeröck nämme. Di Version jidd_et nit, odder se es verstoche odder fottjeschmesse woode.",
 'undo-summary' => 'De Änderung $1 fum [[Special:Contributions/$2|$2]] ([[User talk:$2|Klaaf]]) zeröck jenomme.',
+'undo-summary-username-hidden' => 'Nemm di Väsjohn $1 vun enem verschtoche Metmaacher widder retuur.',
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Kann keine Zojang enrichte',
@@ -1260,8 +1262,9 @@ Ene Wiki Köbes kann de fottjeschmessene Krom immer noch aanluere un kann en och
 dem Wiki singe Installation dat anders fassjelaht woode es.",
 'revdelete-confirm' => 'Bes esu joot un doon dat beschtääteje, un donn domet ongerschriive, dat De dat donn wells, dat De weiß, wat dobei eruß kütt, un dat De dat och noh de [[{{MediaWiki:Policy-url}}|Rääjelle]] deihß.',
 'revdelete-suppress-text' => "Dat sullt '''blooß''' jedonn wäde för:
-* unjenehmesch persöönlesch Daate
-*: ''Aanschreffte, Tellefoon- un ander Nummere, <span lang=\"en\">e-mail</span> Adräß, uew.''",
+* onjesäzlesche Aanjaabe
+* unjenehmesch persöhnlesch Daate
+*: ''Aanschreffte, Tellefoon- un ander Nummere, <span lang=\"en\" xml:lang=\"en\">e-mail</span> Adräß, uew.''",
 'revdelete-legend' => 'Dä öffentlije Zojang enschränke',
 'revdelete-hide-text' => 'Dä Tex vun dä Version versteiche',
 'revdelete-hide-image' => 'De Enhallt vun däm Beld versteiche',
@@ -1416,6 +1419,7 @@ dat dänne ehr Daate topaktoell sin,
 'preferences' => 'ming Enstellunge',
 'mypreferences' => 'Enstellunge',
 'prefs-edits' => 'Aanzahl Änderunge am Wiki:',
+'prefsnologintext2' => 'Do mööts ald $1, öm Ding Enschtällonge ze verändere.',
 'prefs-skin' => 'Et Ussinn',
 'skin-preview' => 'Vör-Ansich',
 'datedefault' => 'Ejaal - kein Vörliebe',
@@ -1508,6 +1512,7 @@ dat dänne ehr Daate topaktoell sin,
 'prefs-dateformat' => 'Dem Dattum sing Fommaat',
 'prefs-timeoffset' => 'Enshtellunge för de Uhrzigge',
 'prefs-advancedediting' => 'Extra Ußwahle',
+'prefs-editor' => 'Schriiver',
 'prefs-preview' => 'de Vör-Aansesch',
 'prefs-advancedrc' => 'Extra Ußwahle',
 'prefs-advancedrendering' => 'Extra Ußwahle',
@@ -1517,6 +1522,7 @@ dat dänne ehr Daate topaktoell sin,
 'prefs-displaysearchoptions' => 'Enstellunge för et Aanzeje',
 'prefs-displaywatchlist' => 'Enstellunge för et Aanzeje',
 'prefs-diffs' => 'Ongerscheide un Verjliische',
+'prefs-help-prefershttps' => 'Di Enschtällong kütt eets zom drahre, wann De nähksde Mohl enloggs.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'De Addräß fö de <i lang="en">e-mail</i> schingk en Odenung',
@@ -1618,6 +1624,8 @@ dat dänne ehr Daate topaktoell sin,
 'right-editmyusercss' => 'De eije <i lang="en" xml:lang="en">CSS</i> Datteije aanlääje un ändere',
 'right-editmyuserjs' => 'Eije JaavaSkrepp-Datteije aanlääje un ändere',
 'right-viewmywatchlist' => 'De eije Oppaßleß beloore',
+'right-viewmyprivateinfo' => 'ding eije päsöhnlesche Dahte belohre, wi de Adräß för de <i lang="en" xml:lang="en">e-mail</i> udder Dinge ääschte Nahme',
+'right-editmyprivateinfo' => 'ding eije päsöhnlesche Dahte ändere, wi de Adräß för de <i lang="en" xml:lang="en">e-mail</i> udder der ääschte Nahme',
 'right-editmyoptions' => 'De eije Enschtällonge ändere',
 'right-rollback' => 'All de letzte Änderunge fom letzte Metmaacher aan ene Sigg retur maache',
 'right-markbotedits' => 'Retur jemaate Änderonge als Bot-Änderung makeere',
@@ -1698,12 +1706,13 @@ dat dänne ehr Daate topaktoell sin,
 'recentchanges-label-minor' => 'Heh dat es en Mini-Änderung',
 'recentchanges-label-bot' => 'Di Änderung es fun enem Bot jemaat woode',
 'recentchanges-label-unpatrolled' => 'Heh di Änderung es noch nit nohjeloort',
-'recentchanges-legend-newpage' => '$1 - neu Sigg',
+'recentchanges-label-plusminus' => 'Der Ömvang vun dä Sigg hät sesch öm di Aanzahl Bytes verändert.',
+'recentchanges-legend-newpage' => '(Loor och noh de [[Special:NewPages|Leß met de neue Sigge]])',
 'rcnotefrom' => 'Hee {{PLURAL:$1|es ein|sin bes op <strong>$1</strong>|es keine}} fun de Änderunge zick dem <strong>$3</strong> öm <strong>$4</strong> Uhr opjelėß.',
 'rclistfrom' => 'Zeich de Änderunge vum $1 aan',
 'rcshowhideminor' => '$1 klein Mini-Änderunge',
 'rcshowhidebots' => '$1 de Bots ehr Änderunge',
-'rcshowhideliu' => '$1 de aanjemeldte Metmaacher ehr Änderunge',
+'rcshowhideliu' => 'De aanjemeldte Metmaacher ehr Änderunge: $1',
 'rcshowhideanons' => '$1 de namenlose Metmaacher ehr Änderunge',
 'rcshowhidepatr' => '$1 de nohjeluurte Änderunge',
 'rcshowhidemine' => '$1 ming eije Änderunge',
@@ -2130,6 +2139,7 @@ wääde, un luur Der der iehr ander Links aan!',
 # Random page in category
 'randomincategory' => 'En zohfälleje Sigg us ener Saachjropp',
 'randomincategory-nopages' => 'et sinn er kein Sigge en dä Saachjropp [[:Category:$1|$1]] dren.',
+'randomincategory-selectcategory' => 'Holl en zohfälleje Sigg us dä Saachjropp: $1 $2.',
 'randomincategory-selectcategory-submit' => 'Lohß Jonn!',
 
 # Random redirect
@@ -3312,7 +3322,7 @@ $1',
 'svg-long-desc' => 'SVG-Datei, de Basis es {{PLURAL:$1|ei Pixel|$1 Pixelle|kei Pixel}} breed × {{PLURAL:$2|ei Pixel|$2 Pixelle|kei Pixel}} huh, dä Dateiömfang es $3',
 'svg-long-desc-animated' => 'SVG-Datei met Bewääjong, de Basis es {{PLURAL:$1|ei Pixel|$1 Pixelle|kei Pixel}} breed × {{PLURAL:$2|ei Pixel|$2 Pixelle|kei Pixel}} huh, dä Dateiömfang es $3',
 'svg-long-error' => 'En kapodde <i lang="en">SVG</i>-Dattei: $1',
-'show-big-image' => 'Jröößer Oplöösung',
+'show-big-image' => 'Ojinaal-Dattei',
 'show-big-image-preview' => 'Heh di Vör_Aanseesch es $1 jruuß.',
 'show-big-image-other' => '{{PLURAL:$2|Ander Oplühsung|Ander Oplühsunge|kein ander Oplühsunge}}: $1.',
 'show-big-image-size' => '{{PLURAL:$1|Ei Pixel|$1 Pixelle}} breed × {{PLURAL:$2|Ei Pixel|$2 Pixelle}} huh',
@@ -3920,6 +3930,9 @@ Wells Do jetz met en neu Version die Sigg widder neu aanläje?',
 'imgmultigo' => 'Lohß Jonn!',
 'imgmultigoto' => 'Jang noh de Sigg „$1“',
 
+# Language selector for translatable SVGs
+'img-lang-go' => 'Lohß Jonn!',
+
 # Table pager
 'ascending_abbrev' => 'opwääts zoteet',
 'descending_abbrev' => 'raffkaz zoteet',
@@ -4129,6 +4142,8 @@ Do sullts en [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie vun dä <i lang="en">GNU Ge
 'tags-display-header' => 'Kennzeiche en de Leßte met Änderunge',
 'tags-description-header' => 'Bedüggtening',
 'tags-hitcount-header' => 'Makeete Änderunge',
+'tags-active-yes' => 'Joh',
+'tags-active-no' => 'Näh',
 'tags-edit' => 'ändere',
 'tags-hitcount' => '{{PLURAL:$1|Ein Änderong|$1 Änderonge|Kein Änderonge}}',
 
@@ -4303,9 +4318,9 @@ Wat De doh enjiß, kütt met Dingem Metmaachername un Dingem Brauser op die Sigg
 'limitreport-walltime-value' => '{{PLURAL:$1|ein&nbsp;Sekond|$1&nbsp;Sekonde|kein&nbsp;Sekond}}',
 'limitreport-ppvisitednodes-value' => '$1 vun $2',
 'limitreport-ppgeneratednodes-value' => '$1 vun $2',
-'limitreport-postexpandincludesize-value' => '$1 vun $2 Bytes',
+'limitreport-postexpandincludesize-value' => '$1 vun $2 {{PLURAL:$2|Byte|Bytes|Bytes}}',
 'limitreport-templateargumentsize' => 'Der Ömvang vun de Parrameeterre vun Schablohne',
-'limitreport-templateargumentsize-value' => '$1 vun $2 Bytes',
+'limitreport-templateargumentsize-value' => '$1 vun $2 {{PLURAL:$2|Byte|Bytes|Bytes}}',
 'limitreport-expansiondepth-value' => '$1 vun $2',
 'limitreport-expensivefunctioncount' => 'Oproofe vun „düüre“ Fonxjuhne em Paaser',
 'limitreport-expensivefunctioncount-value' => '$1 vun $2',
index 6115fcd..a7d1d84 100644 (file)
@@ -1119,8 +1119,9 @@ Si vis id dare, opera tua tibi ascribentur.',
 'recentchanges-feed-description' => 'Nuper mutata Viciae hoc in fluxu observare.',
 'recentchanges-label-newpage' => 'Haec recensio paginam novam creavit',
 'recentchanges-label-minor' => 'Haec est recensio minor',
-'recentchanges-label-bot' => 'Hanc emendationem automaton fecit',
+'recentchanges-label-bot' => 'Hanc recensionem automaton fecit',
 'recentchanges-label-unpatrolled' => 'Haec recensio nondum est examinata',
+'recentchanges-label-plusminus' => 'Magnitudo paginae per istam copiam octetorum mutata est',
 'recentchanges-legend-newpage' => '(vide etiam [[Special:NewPages|indicem paginarum novarum]])',
 'rcnotefrom' => "Subter sunt '''$1''' nuperrime mutata in proxima '''$2''' die.",
 'rclistfrom' => 'Monstrare mutata nova incipiens ab $1',
index 09dc183..e963a73 100644 (file)
@@ -967,7 +967,8 @@ Dir musst Är Ännerungen an dat iewescht Textfeld androen.
 '''Nëmmen''' den Text aus dem ieweschten Textfeld gëtt gehale wann Dir op \"{{int:savearticle}}\" klickt.",
 'yourtext' => 'Ären Text',
 'storedversion' => 'Gespäichert Versioun',
-'nonunicodebrowser' => "'''OPGEPASST:''' Äre Browser ass net Unicode kompatibel. Ännert dat w.e.g. éier Dir eng Säit ännert.",
+'nonunicodebrowser' => "'''OPGEPASST: Äre Browser ass net Unicode kompatibel.'''
+E 'workaround' gëtt agesat deen et erlaabt Säite sécher z'änneren: Net-ASCII Zeeche ginn an der Ännerungskëscht als hexadezimal-Code gewisen.",
 'editingold' => "'''OPGEPASST: Dir ännert eng al Versioun vun dëser Säit. Wann Dir späichert, sinn all rezent Versioune vun dëser Säit verluer.'''",
 'yourdiff' => 'Ënnerscheeder',
 'copyrightwarning' => "W.e.g. notéiert datt all Kontributiounen op {{SITENAME}} automatesch ënner der $2 (kuckt $1 fir méi Informatiounen) verëffentlecht sinn.
@@ -992,7 +993,7 @@ Den Administrateur den d'Datebank gespaart huet, huet dës Erklärung ginn: $1",
 'template-semiprotected' => '(gespaart fir net-ugemellten an nei Benotzer)',
 'hiddencategories' => 'Dës Säit gehéiert zu {{PLURAL:$1|1 verstoppter Kategorie|$1 verstoppte Kategorien}}:',
 'edittools' => '<!-- Dësen Text gëtt ënner dem "Ännere"-Formulaire souwéi dem "Eropluede"-Formulaire ugewisen. -->',
-'nocreatetext' => "Op {{SITENAME}} gouf d'Schafe vun neie Säite limitéiert. Dir kënnt Säiten déi scho bestinn änneren oder Iech [[Special:UserLogin|umellen]].",
+'nocreatetext' => "Op {{SITENAME}} gouf d'Schafe vun neie Säite limitéiert. Dir kënnt Säiten déi scho bestinn änneren oder Iech [[Special:UserLogin|aloggen oder e Benotzerkont opmaachen]].",
 'nocreate-loggedin' => 'Dir hutt keng Berechtigung fir nei Säiten unzeleeën.',
 'sectioneditnotsupported-title' => 'Ännere vum Abschnitt gëtt net ënnerstëtzt',
 'sectioneditnotsupported-text' => "D'Ännere vun Abschnitte gëtt op dëser Ännerungssäit net ënnerstëtzt.",
@@ -1380,7 +1381,7 @@ Dës Informatioun ass ëffentlech.",
 'email' => 'E-Mail',
 'prefs-help-realname' => 'Äre richtegen Numm ass fakultativ. Wann Dir en ugitt, gëtt e benotzt fir Iech Är Kontributiounen zouzeuerdnen.',
 'prefs-help-email' => "D'E-Mailadress ass fakultativ, awer si gëtt gebraucht fir Iech Äert Passwuert ze mailen, wann Dir et géift vergiessen.",
-'prefs-help-email-others' => 'Dir kënnt Iech och dofir decidéieren datt Anerer Iech iwwer Är Diskussiounssäit kontaktéieren ouni datt Dir dobäi Är Identitéit verrode musst.',
+'prefs-help-email-others' => 'Dir kënnt Iech och dofir decidéieren datt Anerer Iech iwwer Är Diskussiounssäit kontaktéieren ouni datt Dir derbäi Är Identitéit verrode musst.',
 'prefs-help-email-required' => 'Eng gëlteg E-Mail-Adress gëtt heifir gebraucht.',
 'prefs-info' => 'Grondinformatioun',
 'prefs-i18n' => 'Internationalisatioun',
@@ -1400,6 +1401,7 @@ Dës Informatioun ass ëffentlech.",
 'prefs-tokenwatchlist' => 'Token',
 'prefs-diffs' => 'Ënnerscheeder',
 'prefs-help-prefershttps' => 'Dës Astellung gëtt déi nächste Kéier wierksam wou Dir Iech ageloggt.',
+'prefs-tabs-navigation-hint' => "Tipp: Dir kënnt d'Feiler no lénks an no riets benotze fir tëscht den Tabs an der Lëscht vun den Tabs ze navigéieren.",
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => "D'E-Mail-Adress schéngt valabel ze sinn",
@@ -2034,6 +2036,7 @@ An all Rei sti Linken zur éischter an zweeter Viruleedung, souwéi d\'Zil vun d
 'ninterwikis' => '$1 {{PLURAL:$1|Interwiki-Link|Interwiki-Linken}}',
 'nlinks' => '$1 {{PLURAL:$1|Link|Linken}}',
 'nmembers' => '$1 {{PLURAL:$1|Member|Memberen}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|Member|Memberen}}',
 'nrevisions' => '$1 {{PLURAL:$1|Versioun|Versiounen}}',
 'nviews' => '$1 {{PLURAL:$1|Offro|Offroen}}',
 'nimagelinks' => 'Benotzt op {{PLURAL:$1|enger Säit|$1 Säiten}}',
@@ -2077,6 +2080,7 @@ An all Rei sti Linken zur éischter an zweeter Viruleedung, souwéi d\'Zil vun d
 'listusers' => 'Benotzerlëscht',
 'listusers-editsonly' => 'Nëmme Benotzer mat Ännerunge weisen',
 'listusers-creationsort' => 'Nom Datum vum Uleeën zortéieren',
+'listusers-desc' => 'Vu grouss op kleng zortéieren',
 'usereditcount' => '$1 {{PLURAL:$1|Ännerung|Ännerungen}}',
 'usercreated' => "{{GENDER:$3|De(n)|D'}} $1 ëm $2 Auer ugeluecht",
 'newpages' => 'Nei Säiten',
@@ -2224,7 +2228,7 @@ D\'E-Mail-Adress, déi Dir an [[Special:Preferences|Ären Astellungen]] aginn hu
 'emailccsubject' => 'Kopie vun denger Noriicht un $1: $2',
 'emailsent' => 'E-Mail geschéckt',
 'emailsenttext' => 'Är E-Mail gouf fortgeschéckt.',
-'emailuserfooter' => 'Dës E-Mail gouf vum $1 dem $2 geschéckt dobäi gouf d\'Funktioun "Benotzer E-Mail" op {{SITENAME}} benotzt.',
+'emailuserfooter' => 'Dës E-Mail gouf vum $1 dem $2 geschéckt derbäi gouf d\'Funktioun "Benotzer E-Mail" op {{SITENAME}} benotzt.',
 
 # User Messenger
 'usermessage-summary' => 'Benoriichtegung hannerloossen.',
@@ -2834,7 +2838,7 @@ $2',
 'import' => 'Säiten importéieren',
 'importinterwiki' => 'Transwiki-Import',
 'import-interwiki-text' => "Sicht eng Wiki an e Säitentitel eraus fir z'importéieren.
-D'Versiounsdatumen an d'Benotzernimm bleiwen dobäi erhalen.
+D'Versiounsdatumen an d'Benotzernimm bleiwen derbäi erhalen.
 All Transwiki-Import-Aktioune ginn am [[Special:Log/import|Import-Logbuch]] protokolléiert.",
 'import-interwiki-source' => 'Quelle Wiki/Säit:',
 'import-interwiki-history' => "Importéier all d'Versioune vun dëser Säit",
@@ -3653,7 +3657,7 @@ Dëse Confirmatiounscode leeft den $4 of.',
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(Standard-Sprooch)',
-'img-lang-info' => 'Dëst Bild op $1$ $2 renderen.',
+'img-lang-info' => 'Dëst Bild op $1 renderen. $2',
 'img-lang-go' => 'Lass',
 
 # Table pager
@@ -3752,14 +3756,15 @@ Dir misst eng [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie vun der GNU General Public
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
-'redirect' => 'Viruleedung duerch e Fichier, Benotzer oder Versiouns-ID',
+'redirect' => 'Viruleedung duerch e Fichier, e Benotzer, eng Säit oder eng Versiouns-ID',
 'redirect-legend' => 'Viruleedung op ee Fichier oder eng Säit',
 'redirect-summary' => 'Dës Spezialsäit ass eng Viruleedung op e Fichier (Fichiersnumm uginn), eng Säit (Versiounsnummer uginn) oder eng Benotzersäit (numeresch Benotzeridentifikatioun uginn).
-Gebrauch: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], oder [[{{#Special:Redirect}}/user/101]].',
+Gebrauch: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], oder [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Lass',
 'redirect-lookup' => 'Nosichen:',
 'redirect-value' => 'Wäert:',
 'redirect-user' => 'Benotzernummer',
+'redirect-page' => 'ID (Nummer) vun der Säit',
 'redirect-revision' => 'Versioun vun der Säit',
 'redirect-file' => 'Numm vum Fichier',
 'redirect-not-exists' => 'Wäert net fonnt',
@@ -3886,8 +3891,8 @@ Gebrauch: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/re
 'revdelete-unrestricted' => 'Limitatioune fir Administrateuren opgehuewen',
 'logentry-move-move' => "$1 huet d'Säit $3 op $4 {{GENDER:$2|geréckelt}}",
 'logentry-move-move-noredirect' => "$1 huet d'Säit $3 op $4 {{GENDER:$2|geréckelt}} ouni eng Viruleedung unzeleeën",
-'logentry-move-move_redir' => "$1 huet d'Säit $3 op $4 {{GENDER:$2|geréckelt}} an dobäi gouf eng Viruleedung iwwerschriwwen",
-'logentry-move-move_redir-noredirect' => "$1 huet d'Säit $3 op $4 {{GENDER:$2|geréckelt}} an dobäi gouf eng Viruleedung iwwerschriwwen an et et gouf keng nei Viruleedung ugeluecht",
+'logentry-move-move_redir' => "$1 huet d'Säit $3 op $4 {{GENDER:$2|geréckelt}} an derbäi gouf eng Viruleedung iwwerschriwwen",
+'logentry-move-move_redir-noredirect' => "$1 huet d'Säit $3 op $4 {{GENDER:$2|geréckelt}} an derbäi gouf eng Viruleedung iwwerschriwwen an et et gouf keng nei Viruleedung ugeluecht",
 'logentry-patrol-patrol' => "$1 huet d'Versioun $4 vun der Säit $3 als nogekuckt {{GENDER:$2|markéiert}}",
 'logentry-patrol-patrol-auto' => "$1 huet d'Versioun $4 vun der Säit $3 automatesch als nogekuckt  {{GENDER:$2|markéiert}}",
 'logentry-newusers-newusers' => 'De Benotzerkont $1 gouf {{GENDER:$2|ugeluecht}}',
index 245db1b..2ba3520 100644 (file)
@@ -605,7 +605,7 @@ $messages = array(
 
 # Preferences page
 'preferences' => 'Туькlуьрун',
-'mypreferences' => 'Ð\97и Ð½Ð¸Ð·Ð°Ð¼Ð°Ñ\80Ñ\83наÑ\80',
+'mypreferences' => 'низамарунар',
 'prefs-edits' => 'Дьузар хъувунрин кьадар',
 'prefs-skin' => 'Къайдадиз ттунин тема',
 'skin-preview' => 'Сифтедин килигун',
index ee40688..5fb9199 100644 (file)
@@ -30,6 +30,7 @@
  * @author Urhixidur
  * @author Vilius2001
  * @author Vpovilaitis
+ * @author Xabier Armendaritz
  * @author לערי ריינהארט
  */
 
@@ -282,7 +283,7 @@ $messages = array(
 'mar' => 'kov',
 'apr' => 'bal',
 'may' => 'geg',
-'jun' => 'bir',
+'jun' => 'Eka',
 'jul' => 'lie',
 'aug' => 'rgp',
 'sep' => 'rgs',
@@ -628,6 +629,7 @@ Nepamirškite pakeisti savo [[Special:Preferences|{{SITENAME}} nustatymų]].',
 'userlogin-resetpassword-link' => 'Nustatykite slaptažodį iš naujo',
 'helplogin-url' => 'Help:Prisijungimas',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Prisijungimo pagalba]]',
+'userlogin-createanother' => 'Sukurti kitą paskyrą',
 'createacct-join' => 'Įveskite savo informaciją žemiau.',
 'createacct-another-join' => 'Įveskite naujos paskyros informaciją žemiau.',
 'createacct-emailrequired' => 'Elektroninio pašto adresas',
@@ -671,7 +673,7 @@ Patikrinkite rašybą, arba [[Special:UserLogin/signup|sukurkite naują paskyrą
 'passwordtooshort' => 'Slaptažodžiai turi būti bent $1 {{PLURAL:$1|simbolio|simbolių|simbolių}} ilgio.',
 'password-name-match' => 'Jūsų slaptažodis turi skirtis nuo jūsų naudotojo vardo.',
 'password-login-forbidden' => 'Šito naudotojo vardo ir slaptažodžio naudojimas yra uždraustas.',
-'mailmypassword' => 'Atsiųsti naują slaptažodį el. paštu',
+'mailmypassword' => 'Atkurti slaptažodį',
 'passwordremindertitle' => 'Laikinasis {{SITENAME}} slaptažodis',
 'passwordremindertext' => 'Kažkas (tikriausiai jūs, IP adresu $1)
 paprašė, kad atsiųstumėte naują slaptažodį projektui {{SITENAME}} ($4).
@@ -1522,6 +1524,7 @@ teisės",
 'recentchanges-label-minor' => 'Tai smulkus pakeitimas',
 'recentchanges-label-bot' => 'Šį keitimą atliko automatinė programa',
 'recentchanges-label-unpatrolled' => 'Šis keitimas dar nebuvo patikrintas',
+'recentchanges-label-plusminus' => 'Šiuo baitų skaičiumi pakeista puslapio apimtis',
 'recentchanges-legend-newpage' => '$1 - naujas puslapis',
 'rcnotefrom' => "Žemiau yra pakeitimai pradedant '''$2''' (rodoma iki '''$1''' pakeitimų).",
 'rclistfrom' => 'Rodyti naujus pakeitimus pradedant $1',
@@ -3008,7 +3011,7 @@ Jį paleidus jūsų sistema gali būti pažeista.",
 'svg-long-desc' => 'SVG failas, formaliai $1 × $2 taškų, failo dydis: $3',
 'svg-long-desc-animated' => 'Animuotas SVG failas, formaliai $1 × $2 pikselių, failo dydis: $3',
 'svg-long-error' => 'Neleistinas SVG failas: $1',
-'show-big-image' => 'Pilna raiška',
+'show-big-image' => 'Originalus failas',
 'show-big-image-preview' => 'Sumažintos iliustracijos dydis: $1 .',
 'show-big-image-other' => '{{PLURAL:$2|Kita rezoliucija|Kitos $2 rezoliucijos|Kitų $2 rezoliucijų}}: $1 .',
 'show-big-image-size' => '$1 × $2 taškų',
index 613ad03..e4805bc 100644 (file)
@@ -416,8 +416,9 @@ Par to varat ziņot [[Special:ListUsers/sysop|kādam administratoram]], norādot
 'actionthrottled' => 'Darbība netika atļauta',
 'protectedpagetext' => 'Šī lapa ir aizsargāta, lai novērstu tās izmainīšanu vai citas darbības.',
 'viewsourcetext' => 'Tu vari apskatīties un nokopēt šīs lapas vikitekstu:',
-'protectedinterface' => 'Šī lapa satur programmatūras interfeisā lietotu tekstu un ir bloķēta pret izmaiņām, lai pasargātu no bojājumiem.',
-'editinginterface' => "'''Brīdinājums:''' Tu izmaini lapu, kuras saturu izmanto wiki programmatūras lietotāja saskarnē (''interfeisā''). Šīs lapas izmaiņas ietekmēs lietotāja saskarni citiem lietotājiem. Pēc modificēšanas, šīs izmaiņas būtu lietderīgi pievienot arī [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], kas ir MediaWiki lokalizēšanas projekts.",
+'protectedinterface' => "Šī lapa satur programmatūras interfeisā lietotu tekstu un ir bloķēta pret izmaiņām, lai pasargātu no bojājumiem.
+Lai pievienotu izmaiņas tulkojumā visās ''wiki'', lūdzam izmantot ''MediaWiki'' lokalizēšanas projektu [//translatewiki.net/ translatewiki.net].",
+'editinginterface' => "'''Brīdinājums:''' Tu izmaini lapu, kuras saturu izmanto wiki programmatūras lietotāja saskarnē (''interfeisā''). Šīs lapas izmaiņas ietekmēs lietotāja saskarni citiem lietotājiem. Pēc modificēšanas šīs izmaiņas būtu lietderīgi pievienot arī ''MediaWiki'' lokalizēšanas projektā [//translatewiki.net/ translatewiki.net].",
 'namespaceprotected' => "Tev nav atļaujas izmainīt lapas, kas atrodas '''$1''' ''namespacē''.",
 'customcssprotected' => 'Jums nav tiesību rediģēt šo CSS lapu, jo tā satur cita lietotāja personiskos iestatījumus.',
 'customjsprotected' => 'Jums nav tiesību rediģēt šo JavaScript lapu, jo tā satur cita lietotāja personiskos iestatījumus.',
@@ -1271,7 +1272,9 @@ Ja tu izvēlies to norādīt, tas tiks izmantots, lai identificētu tavu darbu (
 'recentchanges-label-minor' => 'Šī ir maznozīmīga izmaiņa',
 'recentchanges-label-bot' => 'Šī ir bota veikta izmaiņa',
 'recentchanges-label-unpatrolled' => 'Šis labojums vēl nav pārbaudīts',
-'recentchanges-legend-newpage' => '$1 - jauna lapa',
+'recentchanges-label-plusminus' => 'Par tik baitiem tika izmainīts lapas izmērs',
+'recentchanges-legend-heading' => "'''Apzīmējumi:'''",
+'recentchanges-legend-newpage' => '(skatīt arī [[Special:NewPages|jaunās lapas]])',
 'rcnotefrom' => "Šobrīd redzamas izmaiņas kopš '''$2''' (parādītas ne vairāk par '''$1''').",
 'rclistfrom' => 'Parādīt jaunas izmaiņas kopš $1',
 'rcshowhideminor' => '$1 maznozīmīgos',
@@ -3063,6 +3066,7 @@ Var arī lietot [[Special:EditWatchlist|standarta izmainīšanas lapu]].',
 
 # Special:SpecialPages
 'specialpages' => 'Īpašās lapas',
+'specialpages-note-top' => 'Apzīmējumi',
 'specialpages-note' => '* Normālas īpašās lapas.
 * <span class="mw-specialpagerestricted">Ierobežotas pieejas īpašās lapas.</span>
 * <span class="mw-specialpagecached">Iekešotās īpašās lapas.</span>',
index d471a88..68bcd3d 100644 (file)
@@ -15,6 +15,7 @@
  * @author Simon Shek
  * @author StephDC
  * @author Super Wang
+ * @author Xiaomingyan
  * @author Yanteng3
  */
 
@@ -1089,8 +1090,8 @@ $1",
 'saveprefs' => '儲',
 'restoreprefs' => '重修',
 'prefs-editing' => '在修',
-'rows' => '行:',
-'columns' => '列:',
+'rows' => '行:',
+'columns' => '列:',
 'searchresultshead' => '尋',
 'resultsperpage' => '頁示尋',
 'stub-threshold' => '<a href="#" class="stub">短頁連</a>格式門檻(位元組):',
index 20525a9..0fa5734 100644 (file)
@@ -12,6 +12,7 @@
  * @author Jose77
  * @author Kaganer
  * @author Lifeway
+ * @author Shirayuki
  * @author Сай
  * @author Санюн Вадик
  */
@@ -257,7 +258,7 @@ $messages = array(
 'talk' => 'Каҥашымаш',
 'views' => 'Ончалаш',
 'toolbox' => 'Ӱзгар-влак',
-'userpage' => 'Пайдаланышын лаштыкым ончалаш',
+'userpage' => 'Ð\9fайдаланÑ\8bÑ\88Ñ\8bн Ð»Ð°Ñ\88Ñ\82Ñ\8bкÑ\88Ñ\8bм Ð¾Ð½Ñ\87алаÑ\88',
 'imagepage' => 'Файлын лаштыкым ончалаш',
 'templatepage' => 'Ямдылыкын лаштыкым ончалаш',
 'viewhelppage' => 'Полыш лаштыкым ончалаш',
@@ -912,7 +913,7 @@ $messages = array(
 'nolinkshere-ns' => "Тыгай лӱм-влакын кумдыкышто '''[[:$1]]''' лаштык дене нимогай вес лаштык-влак кылым огыт кучо.",
 'isredirect' => 'вес вере колтышо лаштык',
 'istemplate' => 'пуртымаш',
-'isimage' => '!!FUZZY! файллан кылвер',
+'isimage' => 'файллан кылвер',
 'whatlinkshere-prev' => '{{PLURAL:$1|ончычсо|$1 ончычсо}}',
 'whatlinkshere-next' => '{{PLURAL:$1|вес|$1 вес}}',
 'whatlinkshere-links' => '← кылвер-влак',
@@ -995,7 +996,7 @@ $messages = array(
 'tooltip-ca-addsection' => 'У ужашым тӱҥалаш',
 'tooltip-ca-viewsource' => 'Тиде лаштыкым аралыме.
 Тый тудын тӱҥалтыш текстшым ончалын кертат.',
-'tooltip-ca-history' => 'Ð\9bаÑ\88Ñ\82Ñ\8bкÑ\8bм ондаксе тӧрлатымаш',
+'tooltip-ca-history' => 'Ð\9bаÑ\88Ñ\82Ñ\8bкÑ\8bн ондаксе тӧрлатымаш',
 'tooltip-ca-protect' => 'Тиде лаштыкым тӧрлатымаш деч аралаш',
 'tooltip-ca-delete' => 'Тиде лаштыкым шӧраш',
 'tooltip-ca-move' => 'Тиде лаштыкым кусараш',
index 85331f6..55107a4 100644 (file)
@@ -1595,6 +1595,7 @@ $1",
 'prefs-tokenwatchlist' => 'Шифра',
 'prefs-diffs' => 'Разлики',
 'prefs-help-prefershttps' => 'Поставката ќе се примени следниот пат кога ќе се најавите.',
+'prefs-tabs-navigation-hint' => 'Совет: Можете да ги користите стрелките на тастатурата за да преоѓате од едно на друго јазиче во списокот на јазичиња.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Исправно',
@@ -1782,6 +1783,7 @@ $1",
 'recentchanges-label-bot' => 'Ова уредување е направено од бот',
 'recentchanges-label-unpatrolled' => 'Ова уредување сè уште не е испатролирано',
 'recentchanges-label-plusminus' => 'Промена на големината на страницата во бајти',
+'recentchanges-legend-heading' => "'''Легенда:'''",
 'recentchanges-legend-newpage' => '(погл. и [[Special:NewPages|списокот на нови страници]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => 'Подолу се промените од <b>$2</b> (се прикажуваат до <b>$1</b>).',
@@ -2258,6 +2260,7 @@ $1',
 'ninterwikis' => '$1 {{PLURAL:$1|меѓувики|меѓувикија}}',
 'nlinks' => '$1 {{PLURAL:$1|врска|врски}}',
 'nmembers' => '$1 {{PLURAL:$1|член|члена}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|член|члена}}',
 'nrevisions' => '$1 {{PLURAL:$1|измена|измени}}',
 'nviews' => '$1 {{PLURAL:$1|преглед|прегледи}}',
 'nimagelinks' => 'Се користи на $1 {{PLURAL:$1|страница|страници}}',
@@ -4005,7 +4008,7 @@ $5
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(стандарден јазик)',
-'img-lang-info' => 'Испиши ја сликата на $1 $2.',
+'img-lang-info' => 'Испиши ја сликата на $1. $2',
 'img-lang-go' => 'Прикажи',
 
 # Table pager
@@ -4190,13 +4193,14 @@ $5
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath?uselang=mk Скрипта]',
 
 # Special:Redirect
-'redirect' => 'Ð\9fÑ\80енаÑ\81оÑ\87Ñ\83ваÑ\9aе Ð¿Ð¾ Ð¿Ð¾Ð´Ð°Ñ\82оÑ\82ека, корисник или назнака на ревизија',
+'redirect' => 'Ð\9fÑ\80енаÑ\81оÑ\87Ñ\83ваÑ\9aе Ð¿Ð¾ Ð¿Ð¾Ð´Ð°Ñ\82оÑ\82еки, корисник или назнака на ревизија',
 'redirect-legend' => 'Пренасочување кон податотека или страница',
-'redirect-summary' => 'Оваа специјална страница пренасочува кон податотека (се задава името), страница (се задава назнаката на ревизијата) или корисничка странца (се задава бројчената назнака на корисникот). Употреба: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] или [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Оваа специјална страница пренасочува кон податотека (се задава името), страница (се задава назнаката на ревизијата или страницата) или корисничка странца (се задава бројчената назнака на корисникот). Употреба: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] или [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Оди',
 'redirect-lookup' => 'Пребарај:',
 'redirect-value' => 'Вредност:',
 'redirect-user' => 'Корисничка назнака',
+'redirect-page' => 'Назнака на страницата',
 'redirect-revision' => 'Ревизија на страницата',
 'redirect-file' => 'Име на податотека',
 'redirect-not-exists' => 'Вредноста не е најдена',
@@ -4438,10 +4442,12 @@ $5
 'expand_templates_input' => 'Влезен текст:',
 'expand_templates_output' => 'Извод',
 'expand_templates_xml_output' => 'XML излез',
+'expand_templates_html_output' => 'Сиров HTML-извод',
 'expand_templates_ok' => 'ОК',
 'expand_templates_remove_comments' => 'Отстрани коментари',
 'expand_templates_remove_nowiki' => 'Притаи <nowiki> ознаки во резултатот',
 'expand_templates_generate_xml' => 'Прикажи XML дрво на парсирање',
+'expand_templates_generate_rawhtml' => 'Прикажувај сиров HTML',
 'expand_templates_preview' => 'Преглед',
 
 );
index c947135..4974984 100644 (file)
@@ -357,7 +357,7 @@ $messages = array(
 # User preference toggles
 'tog-underline' => 'കണ്ണികൾക്ക് അടിവരയിടുക:',
 'tog-justify' => 'ഖണ്ഡികകളുടെ അരികുകൾ നേരെയാക്കുക',
-'tog-hideminor' => 'à´ªàµ\81തിയ à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99à´³àµ\81à´\9fàµ\86 à´ªà´\9fàµ\8dà´\9fà´¿à´\95യിൽ à´\9aàµ\86റിയ à´¤à´¿à´°àµ\81à´¤àµ\8dതലàµ\81à´\95ൾ à´ªàµ\8dരദർശിപàµ\8dപിà´\95àµ\8dà´\95ാതിരിà´\95àµ\8dà´\95àµ\81à´\95',
+'tog-hideminor' => 'പുതിയ മാറ്റങ്ങളുടെ പട്ടികയിൽ ചെറിയ തിരുത്തുകൾ പ്രദർശിപ്പിക്കാതിരിക്കുക',
 'tog-hidepatrolled' => 'റോന്തുചുറ്റിയ തിരുത്തുകൾ പുതിയമാറ്റങ്ങളിൽ പ്രദർശിപ്പിക്കാതിരിക്കുക',
 'tog-newpageshidepatrolled' => 'റോന്തുചുറ്റപ്പെട്ട താളുകൾ പുതിയതാളുകളുടെ പട്ടികയിൽ പ്രദർശിപ്പിക്കാതിരിക്കുക',
 'tog-extendwatchlist' => 'ഏറ്റവും പുതിയവ മാത്രമല്ല, എല്ലാ മാറ്റങ്ങളും ദൃശ്യമാകുന്ന വിധത്തിൽ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടിക വികസിപ്പിക്കുക.',
@@ -365,7 +365,7 @@ $messages = array(
 'tog-numberheadings' => 'ഉപവിഭാഗങ്ങൾക്ക് ക്രമസംഖ്യ കൊടുക്കുക',
 'tog-showtoolbar' => 'തിരുത്തൽ റ്റൂൾബാർ  പ്രദർശിപ്പിക്കുക',
 'tog-editondblclick' => 'താളുകളിൽ ഇരട്ട ക്ലിക്ക് ചെയ്യുമ്പോൾ തിരുത്താനനുവദിക്കുക',
-'tog-editsection' => '[തിരàµ\81à´¤àµ\8dà´¤àµ\81à´\95] à´\8eà´¨àµ\8dà´¨ à´\95à´£àµ\8dണിയàµ\81പയàµ\8bà´\97à´¿à´\9aàµ\8dà´\9aàµ\8d à´\89പവിഭാà´\97à´\99àµ\8dà´\99ൾ à´¤à´¿à´°àµ\81à´¤àµ\8dതാൻ à´\85നുവദിക്കുക',
+'tog-editsection' => '[തിരàµ\81à´¤àµ\8dà´¤àµ\81à´\95] à´\8eà´¨àµ\8dà´¨ à´\95à´£àµ\8dണിയàµ\81പയàµ\8bà´\97à´¿à´\9aàµ\8dà´\9aàµ\8d à´\89പവിഭാà´\97à´\99àµ\8dà´\99ൾ à´¤à´¿à´°àµ\81à´¤àµ\8dതാനനുവദിക്കുക',
 'tog-editsectiononrightclick' => 'ഉപവിഭാഗങ്ങളുടെ തലക്കെട്ടിൽ റൈറ്റ് ക്ലിക്ക് ചെയ്യുന്നതു വഴി തിരുത്താനനുവദിക്കുക',
 'tog-showtoc' => 'ഉള്ളടക്കപ്പട്ടിക പ്രദർശിപ്പിക്കുക (മൂന്നിൽ കൂടുതൽ ഉപശീർഷകങ്ങളുള്ള താളുകൾക്കു മാത്രം)',
 'tog-rememberpassword' => 'എന്റെ പ്രവേശനം ഈ ബ്രൗസറിൽ ({{PLURAL:$1|ഒരു ദിവസം|$1 ദിവസം}}) ഓർത്തുവെക്കുക',
@@ -373,24 +373,24 @@ $messages = array(
 'tog-watchdefault' => 'ഞാൻ തിരുത്തുന്ന താളുകളും പ്രമാണങ്ങളും ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ ചേർക്കുക',
 'tog-watchmoves' => 'ഞാൻ തലക്കെട്ടു മാറ്റുന്ന താളുകളും പ്രമാണങ്ങളും ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ ചേർക്കുക',
 'tog-watchdeletion' => 'ഞാൻ നീക്കം ചെയ്യുന്ന താളുകളും പ്രമാണങ്ങളും ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ ചേർക്കുക',
-'tog-minordefault' => 'à´\8eà´²àµ\8dലാ à´¤à´¿à´°àµ\81à´¤àµ\8dതലàµ\81à´\95à´³àµ\81à´\82 à´¸àµ\8dവതàµ\87 à´\9aàµ\86à´±àµ\81തിരàµ\81à´¤àµ\8dതലുകളായി അടയാളപ്പെടുത്തുക',
+'tog-minordefault' => 'à´\8eà´²àµ\8dലാ à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\81à´\95à´³àµ\81à´\82 à´¸àµ\8dവതàµ\87 à´\9aàµ\86à´±àµ\81തിരàµ\81à´¤àµ\8dà´¤ുകളായി അടയാളപ്പെടുത്തുക',
 'tog-previewontop' => 'തിരുത്തൽ പെട്ടിക്കു മുകളിൽ പ്രിവ്യൂ കാണിക്കുക',
-'tog-previewonfirst' => 'à´\86à´¦àµ\8dയതàµ\8dà´¤àµ\86 à´¤à´¿à´°àµ\81à´¤àµ\8dതലിനàµ\8dà´±àµ\86 à´ªàµ\8dà´°à´¿à´µàµ\8dà´¯àµ\82 à´\95ാണിà´\95àµ\8dà´\95àµ\81à´\95',
+'tog-previewonfirst' => 'ആദ്യത്തെ തിരുത്തിന്റെ പ്രിവ്യൂ കാണിക്കുക',
 'tog-enotifwatchlistpages' => 'ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകൾക്കോ പ്രമാണങ്ങൾക്കോ മാറ്റം സംഭവിച്ചാൽ എനിക്കു ഇമെയിൽ അയക്കുക',
 'tog-enotifusertalkpages' => 'എന്റെ സം‌വാദത്താളിനു മാറ്റം സംഭവിച്ചാൽ ഇമെയിൽ അയക്കുക',
-'tog-enotifminoredits' => 'à´\9aàµ\86à´±àµ\81തിരàµ\81à´¤àµ\8dതലàµ\81à´\95ൾà´\95àµ\8dà´\95àµ\81à´\82 à´\8eനിà´\95àµ\8dà´\95àµ\8d à´\87à´®àµ\86യിൽ à´\85യയàµ\8dà´\95àµ\8dà´\95àµ\81à´\95',
-'tog-enotifrevealaddr' => 'വിà´\9càµ\8dà´\9eാപന മെയിലുകളിൽ എന്റെ ഇമെയിൽ വിലാസം വെളിവാക്കാൻ അനുവദിക്കുക',
+'tog-enotifminoredits' => 'ചെറുതിരുത്തുകൾക്കും എനിക്ക് ഇമെയിൽ അയയ്ക്കുക',
+'tog-enotifrevealaddr' => 'à´\85റിയിപàµ\8dà´ªàµ\8d മെയിലുകളിൽ എന്റെ ഇമെയിൽ വിലാസം വെളിവാക്കാൻ അനുവദിക്കുക',
 'tog-shownumberswatching' => 'ശ്രദ്ധിക്കുന്ന ഉപയോക്താക്കളുടെ എണ്ണം കാണിക്കുക',
 'tog-oldsig' => 'നിലവിലുള്ള ഒപ്പ്:',
 'tog-fancysig' => 'ഒപ്പ് ഒരു വിക്കി എഴുത്തായി പരിഗണിക്കുക (കണ്ണി സ്വയം ചേർക്കേണ്ടതില്ല)',
 'tog-uselivepreview' => 'തത്സമയ പ്രിവ്യൂ ഉപയോഗപ്പെടുത്തുക (പരീക്ഷണാടിസ്ഥാനം)',
-'tog-forceeditsummary' => 'തിരàµ\81à´¤àµ\8dതലàµ\81à´\95à´³àµ\81à´\9fàµ\86 à´\9aàµ\81à´°àµ\81à´\95àµ\8dà´\95à´\82 à´¨àµ½à´\95ിയിലàµ\8dà´²àµ\86à´\99àµ\8dà´\95ിൽ à´\8eà´¨àµ\8dà´¨àµ\86 à´\93ർമàµ\8dമിപàµ\8dപിà´\95àµ\8dà´\95àµ\81à´\95',
-'tog-watchlisthideown' => 'à´\9eാൻ à´¶àµ\8dà´°à´¦àµ\8dധിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨ à´¤à´¾à´³àµ\81à´\95à´³àµ\81à´\9fàµ\86 à´ªà´\9fàµ\8dà´\9fà´¿à´\95യിൽനിനàµ\8dà´¨àµ\8d à´\8eà´¨àµ\8dà´±àµ\86 à´¤à´¿à´°àµ\81à´¤àµ\8dതലàµ\81à´\95ൾ à´®à´±à´¯àµ\8dà´\95àµ\8dà´\95àµ\81à´\95',
+'tog-forceeditsummary' => 'തിരുത്തുകളുടെ ചുരുക്കം നൽകിയില്ലെങ്കിൽ എന്നെ ഓർമ്മിപ്പിക്കുക',
+'tog-watchlisthideown' => 'ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽനിന്ന് എന്റെ തിരുത്തുകൾ മറയ്ക്കുക',
 'tog-watchlisthidebots' => 'ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽനിന്ന് യന്ത്രങ്ങൾ വരുത്തിയ തിരുത്തലുകൾ മറയ്ക്കുക',
-'tog-watchlisthideminor' => 'à´\9eാൻ à´¶àµ\8dà´°à´¦àµ\8dധിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨ à´¤à´¾à´³àµ\81à´\95à´³àµ\81à´\9fàµ\86 à´ªà´\9fàµ\8dà´\9fà´¿à´\95യിൽനിനàµ\8dà´¨àµ\8d à´\9aàµ\86à´±àµ\81തിരàµ\81à´¤àµ\8dതലàµ\81à´\95ൾ à´®à´±à´¯àµ\8dà´\95àµ\8dà´\95àµ\81à´\95',
-'tog-watchlisthideliu' => 'à´\9eാൻ à´¶àµ\8dà´°à´¦àµ\8dധിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨ à´¤à´¾à´³àµ\81à´\95ളിലàµ\86 à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ളിൽ à´¨à´¿à´¨àµ\8dà´¨àµ\81à´\82 à´²àµ\8bà´\97ിൻ à´\9aàµ\86à´¯àµ\8dതിà´\9fàµ\8dà´\9fàµ\81à´³àµ\8dളവരàµ\81à´\9fàµ\86 à´¤à´¿à´°àµ\81à´¤àµ\8dതലàµ\81à´\95ൾ à´®à´±à´¯àµ\8dà´\95àµ\8dà´\95àµ\81à´\95',
+'tog-watchlisthideminor' => 'ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽനിന്ന് ചെറുതിരുത്തുകൾ മറയ്ക്കുക',
+'tog-watchlisthideliu' => 'ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളിലെ മാറ്റങ്ങളിൽ നിന്നും ലോഗിൻ ചെയ്തിട്ടുള്ളവരുടെ തിരുത്തുകൾ മറയ്ക്കുക',
 'tog-watchlisthideanons' => 'ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളിലെ മാറ്റങ്ങളിൽ നിന്നും അജ്ഞാത ഉപയോക്താക്കളുടെ തിരുത്തുകൾ മറയ്ക്കുക',
-'tog-watchlisthidepatrolled' => 'à´\9eാൻ à´¶àµ\8dà´°à´¦àµ\8dധിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨ à´¤à´¾à´³àµ\81à´\95à´³àµ\81à´\9fàµ\86 à´ªà´\9fàµ\8dà´\9fà´¿à´\95യിൽനിനàµ\8dà´¨àµ\8d à´±àµ\8bà´¨àµ\8dà´¤àµ\81à´\9aàµ\81à´±àµ\8dറിയ à´¤à´¿à´°àµ\81à´¤àµ\8dതലàµ\81à´\95ൾ à´®à´±à´¯àµ\8dà´\95àµ\8dà´\95àµ\81à´\95',
+'tog-watchlisthidepatrolled' => 'ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽനിന്ന് റോന്തുചുറ്റിയ തിരുത്തുകൾ മറയ്ക്കുക',
 'tog-ccmeonemails' => 'ഞാൻ മറ്റുള്ളവർക്കയക്കുന്ന ഇമെയിലുകളുടെ ഒരു പകർപ്പ് എനിക്കും അയക്കുക',
 'tog-diffonly' => 'രണ്ട് പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസത്തിനു താഴെ താളിന്റെ ഉള്ളടക്കം കാണിക്കരുത്.',
 'tog-showhiddencats' => 'മറഞ്ഞിരിക്കുന്ന വർഗ്ഗങ്ങളെ കാണിക്കുക',
@@ -553,10 +553,10 @@ $messages = array(
 'delete' => 'മായ്ക്കുക',
 'deletethispage' => 'ഈ താൾ നീക്കം ചെയ്യുക',
 'undeletethispage' => 'ഈ താൾ പുനഃസ്ഥാപിക്കുക',
-'undelete_short' => '{{PLURAL:$1|à´\92à´°àµ\81 à´¤à´¿à´°àµ\81à´¤àµ\8dതൽ|$1 à´¤à´¿à´°àµ\81à´¤àµ\8dതലുകൾ}} പുനഃസ്ഥാപിക്കുക',
+'undelete_short' => '{{PLURAL:$1|à´\92à´°àµ\81 à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\8d|$1 à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤ുകൾ}} പുനഃസ്ഥാപിക്കുക',
 'viewdeleted_short' => '{{PLURAL:$1|മായ്ക്കപ്പെട്ട ഒരു തിരുത്തൽ|മായ്ക്കപ്പെട്ട $1 തിരുത്തലുകൾ}} കാണുക',
 'protect' => 'സം‌രക്ഷിക്കുക',
-'protect_change' => 'à´¸à´\82à´°à´\95àµ\8dഷണമാനതàµ\8dതിൽ à´µàµ\8dയതിയാനം വരുത്തുക',
+'protect_change' => 'à´¸à´\82à´°à´\95àµ\8dഷണമാനതàµ\8dതിൽ à´®à´¾à´±àµ\8dà´±ം വരുത്തുക',
 'protectthispage' => 'ഈ താൾ സം‌രക്ഷിക്കുക',
 'unprotect' => 'സംരക്ഷണം',
 'unprotectthispage' => 'ഈ താളിന്റെ സംരക്ഷണത്തിൽ മാറ്റംവരുത്തുക',
@@ -643,7 +643,7 @@ $1',
 'collapsible-expand' => 'വികസിപ്പിക്കുക',
 'thisisdeleted' => '$1 കാണുകയോ പുനഃസ്ഥാപിക്കുകയോ ചെയ്യേണ്ടതുണ്ടോ?',
 'viewdeleted' => '$1 കാണണോ?',
-'restorelink' => '{{PLURAL:$1|à´¨àµ\80à´\95àµ\8dà´\95à´\82à´\9aàµ\86à´¯àµ\8dà´¤ à´\92à´°àµ\81 à´¤à´¿à´°àµ\81à´¤àµ\8dതൽ|à´¨àµ\80à´\95àµ\8dà´\95à´\82à´\9aàµ\86à´¯àµ\8dà´¤ $1 à´¤à´¿à´°àµ\81à´¤àµ\8dതലുകൾ}}',
+'restorelink' => '{{PLURAL:$1|à´¨àµ\80à´\95àµ\8dà´\95à´\82à´\9aàµ\86à´¯àµ\8dà´¤ à´\92à´°àµ\81 à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\8d|à´¨àµ\80à´\95àµ\8dà´\95à´\82à´\9aàµ\86à´¯àµ\8dà´¤ $1 à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤ുകൾ}}',
 'feedlinks' => 'ഫീഡ്:',
 'feed-invalid' => 'അസാധുവായ സബ്‌സ്ക്രിപ്ഷൻ ഫീഡ് തരം.',
 'feed-unavailable' => 'സിൻഡിക്കേഷൻ ഫീഡുകൾ ലഭ്യമല്ല',
@@ -690,7 +690,7 @@ $1',
 'laggedslavemode' => 'മുന്നറിയിപ്പ്: താളിൽ അടുത്തകാലത്ത് വരുത്തിയ പുതുക്കലുകൾ ഉണ്ടാവണമെന്നില്ല.',
 'readonly' => 'ഡാറ്റാബേസ് ബന്ധിച്ചിരിക്കുന്നു',
 'enterlockreason' => 'ഡാറ്റാബേസ് ബന്ധിക്കുവാനുള്ള കാരണം സൂചിപ്പിക്കുക. അതോടൊപ്പം എപ്പോഴാണ്‌ ബന്ധനം അഴിക്കുവാൻ ഉദ്ദേശിക്കുന്നതെന്നും രേഖപ്പെടുത്തുക.',
-'readonlytext' => 'à´ªàµ\81തിയ à´¤à´¿à´°àµ\81à´¤àµ\8dതലàµ\81à´\95à´³àµ\81à´\82 à´®à´±àµ\8dà´±àµ\8d à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99à´³àµ\81à´\82 à´\85à´¨àµ\81വദനàµ\80യമലàµ\8dലാതàµ\8dà´¤ à´µà´¿à´§à´¤àµ\8dതിൽ à´¡à´¾à´±àµ\8dറാബàµ\87à´¸àµ\8d à´¬à´¨àµ\8dധിà´\9aàµ\8dà´\9aà´¿à´°à´¿à´\95àµ\8dà´\95àµ\81à´\95യാണàµ\8dâ\80\8c. à´\95àµ\8dരമപàµ\8dà´°à´\95ാരമàµ\81à´³àµ\8dà´³ à´µàµ\83à´¤àµ\8dതിയാà´\95àµ\8dà´\95ലിനàµ\81 à´µàµ\87à´£àµ\8dà´\9fà´¿ à´¬à´¨àµ\8dധിà´\9aàµ\8dà´\9a à´¡à´¾à´±àµ\8dറാബàµ\87à´¸àµ\8d à´¤à´¾à´®à´¸à´¿à´¯à´¾à´¤àµ\86 à´¤à´¨àµ\8dà´¨àµ\86 à´¸à´¾à´§à´¾à´°à´£ à´¨à´¿à´² à´\95àµ\88വരിà´\95àµ\8dà´\95àµ\81à´\82.
+'readonlytext' => 'പുതിയ തിരുത്തുകളും മറ്റ് മാറ്റങ്ങളും അനുവദനീയമല്ലാത്ത വിധത്തിൽ ഡാറ്റാബേസ് ബന്ധിച്ചിരിക്കുകയാണ്‌. ക്രമപ്രകാരമുള്ള വൃത്തിയാക്കലിനു വേണ്ടി ബന്ധിച്ച ഡാറ്റാബേസ് താമസിയാതെ തന്നെ സാധാരണ നില കൈവരിക്കും.
 
 ഡാറ്റാബേസ് ബന്ധിച്ച കാര്യനിർവാഹകൻ അതിനു സൂചിപ്പിച്ച കാരണം: $1',
 'missing-article' => 'താളിൽ ഉണ്ടായിരിക്കേണ്ട വിവരങ്ങൾ ("$1" $2), വിവരശേഖരത്തിൽ കണ്ടെത്താനായില്ല.
@@ -698,18 +698,18 @@ $1',
 നീക്കം ചെയ്യപ്പെട്ട ഒരു താളിലെ നാൾവഴിയുടേയോ മാറ്റത്തിന്റേയോ കണ്ണി പിന്തുടർന്നതിനാലായിരിക്കാം മിക്കവാറൂം ഇത് സംഭവിച്ചത്.
 
 അല്ലെങ്കിൽ ഇത് ഒരു സോഫ്റ്റ്‌വെയർ ബഗ്ഗ് ആയിരിക്കാം.
-ദയവായി à´¤à´¾à´³à´¿à´¨àµ\8dà´±àµ\86 à´¯àµ\81.à´\86ർ.à´\8eൽ à´¸à´¹à´¿à´¤à´\82 à´\92à´°àµ\81 [[Special:ListUsers/sysop|à´\95ാരàµ\8dയനിർവാഹà´\95à´¨àµ\86]] ഇത് അറിയിക്കുക.',
+ദയവായി à´¤à´¾à´³à´¿à´¨àµ\8dà´±àµ\86 à´¯àµ\81.à´\86ർ.à´\8eൽ à´¸à´¹à´¿à´¤à´\82 à´\92à´°àµ\81 [[Special:ListUsers/sysop|à´\95ാരàµ\8dയനിർവാഹà´\95à´¯àµ\86(à´¨àµ\86)]] ഇത് അറിയിക്കുക.',
 'missingarticle-rev' => '(മാറ്റം#: $1)',
 'missingarticle-diff' => '(വ്യത്യാസം: $1, $2)',
 'readonly_lag' => ' കീഴ്-വിവരശേഖര സെർവറുകൾ മാസ്റ്റർ വരെ എത്തിയതിനാൽ വിവരശേഖരം സ്വയം ബന്ധിക്കപ്പെട്ടിരിക്കുന്നു',
 'internalerror' => 'ആന്തരിക പിഴവ്',
 'internalerror_info' => 'ആന്തരിക പിഴവ്: $1',
 'fileappenderrorread' => 'കൂട്ടിച്ചേർക്കുന്ന സമയം "$1" വായിച്ചെടുക്കാൻ കഴിഞ്ഞില്ല.',
-'fileappenderror' => '"$1" എന്നത് "$2"-ലേക്ക് കൂട്ടിച്ചേർക്കുവാൻ സാധിച്ചില്ല.',
+'fileappenderror' => '"$1" എന്നത് "$2" എന്നതിലേയ്ക്ക് കൂട്ടിച്ചേർക്കുവാൻ സാധിച്ചില്ല.',
 'filecopyerror' => '"$1" എന്ന പ്രമാണം "$2" എന്നതിലേയ്ക്ക് പകർത്താൻ സാധിച്ചില്ല.',
-'filerenameerror' => 'à´ªàµ\8dരമാണà´\82 "$1", "$2" à´\8eà´¨àµ\8dà´¨ à´¤à´²à´\95àµ\8dà´\95àµ\86à´\9fàµ\8dà´\9fà´¿à´²àµ\87à´¯àµ\8dà´\95àµ\8dà´\95àµ\81 മാറ്റാൻ സാധിച്ചില്ല.',
+'filerenameerror' => 'à´ªàµ\8dരമാണà´\82 "$1", "$2" à´\8eà´¨àµ\8dà´¨ à´¤à´²à´\95àµ\8dà´\95àµ\86à´\9fàµ\8dà´\9fà´¿à´²àµ\87à´¯àµ\8dà´\95àµ\8dà´\95àµ\8d മാറ്റാൻ സാധിച്ചില്ല.',
 'filedeleteerror' => '"$1" നീക്കം ചെയ്യാൻ സാധിച്ചില്ല.',
-'directorycreateerror' => '"$1" എന്ന directory സൃഷ്ടിക്കാൻ സാധിച്ചില്ല.',
+'directorycreateerror' => '"$1" എന്ന ഡയറക്റ്ററി സൃഷ്ടിക്കാൻ സാധിച്ചില്ല.',
 'filenotfound' => '"$1" എന്ന പ്രമാണം കണ്ടെത്താനായില്ല.',
 'fileexistserror' => '"$1" എന്ന പ്രമാണത്തിലേയ്ക്ക് എഴുതാൻ പറ്റിയില്ല: പ്രമാണം നിലവിലുണ്ട്',
 'unexpected' => 'പ്രതീക്ഷിക്കാത്ത മൂല്യം: "$1"="$2".',
@@ -730,22 +730,22 @@ $1',
 'viewsource-title' => '$1 എന്ന താളിന്റെ മൂലരൂപം കാണുക',
 'actionthrottled' => 'പ്രവൃത്തി നടത്തിയിരിക്കുന്നു',
 'actionthrottledtext' => 'പാഴെഴുത്തിനെതിരെയുള്ള മുൻകരുതൽ എന്ന നിലയിൽ ഒരേ പ്രവൃത്തി കുറഞ്ഞ സമയത്തിനുള്ളിൽ നിരവധി തവണ ആവർത്തിക്കുന്നതു പരിമിതപ്പെടുത്തിയിരിക്കുന്നു. താങ്കൾ ആ പരിധി ലംഘിച്ചിരിക്കുന്നു. കുറച്ച് മിനിറ്റുകൾക്കു ശേഷം വീണ്ടും ശ്രമിക്കുക.',
-'protectedpagetext' => 'à´\88 à´¤à´¾àµ¾ à´¤à´¿à´°àµ\81à´¤àµ\8dതലàµ\8b à´®à´±àµ\8dà´±àµ\81 à´ªàµ\8dà´°à´µàµ\83à´¤àµ\8dതിà´\95à´³àµ\8b à´¤à´\9fയാനാà´\95àµ\81à´\82 à´µà´¿à´§à´\82 à´¸à´\82à´°à´\95àµ\8dà´·à´¿à´\95àµ\8dà´\95à´ªàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9fà´¿à´\9fàµ\8dà´\9fàµ\81à´³àµ\8dളതാണàµ\8d.',
+'protectedpagetext' => 'ഈ താൾ തിരുത്തോ മറ്റു പ്രവൃത്തികളോ തടയാനാകും വിധം സംരക്ഷിക്കപ്പെട്ടിട്ടുള്ളതാണ്.',
 'viewsourcetext' => 'താങ്കൾക്ക് ഈ താളിന്റെ മൂലരൂപം കാണാനും പകർത്താനും സാധിക്കും:',
-'viewyourtext' => "താà´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´\88 à´¤à´¾à´³à´¿à´²àµ\86 '''താà´\99àµ\8dà´\95à´³àµ\81à´\9fàµ\86 à´¤à´¿à´°àµ\81à´¤àµ\8dതലàµ\81à´\95à´³àµ\81à´\9fàµ\86''' à´®àµ\82ലരàµ\82à´ªà´\82 à´\95ാണാനàµ\81à´\82 à´ªà´\95ർതàµ\8dതാനàµ\81à´\82 à´¸à´¾à´§à´¿à´\95àµ\8dà´\95àµ\81à´\82:",
+'viewyourtext' => "താങ്കൾക്ക് ഈ താളിലെ '''താങ്കളുടെ തിരുത്തുകളുടെ''' മൂലരൂപം കാണാനും പകർത്താനും സാധിക്കും:",
 'protectedinterface' => 'ഈ താൾ ഈ വിക്കിയുടെ സോഫ്റ്റ്‌വെയറിന്റെ സമ്പർക്കമുഖ എഴുത്തുകൾ നൽകുന്നു, അതുകൊണ്ട് ദുരുപയോഗം തടയാൻ ബന്ധിക്കപ്പെട്ടിരിക്കുന്നു. എല്ലാ വിക്കികൾക്കുമായി പരിഭാഷ കൂട്ടിച്ചേർക്കാനോ, പരിഭാഷയിൽ മാറ്റം വരുത്താനോ, ദയവായി മീഡിയവിക്കി പ്രാദേശീകരണ പദ്ധതിയായ [//translatewiki.net/ translatewiki.net] ഉപയോഗിക്കുക.',
 'editinginterface' => "'''മുന്നറിയിപ്പ്:''' സോഫ്റ്റ്‌വെയറിൽ സമ്പർക്കമുഖം നിലനിർത്തുന്ന താളാണു താങ്കൾ തിരുത്തുവാൻ പോകുന്നത്.
 ഈ താളിൽ താങ്കൾ വരുത്തുന്ന മാറ്റങ്ങൾ ഉപയോക്താക്കൾ വിക്കി കാണുന്ന വിധത്തെ മാറ്റിമറിച്ചേക്കാം.
 മീഡിയവിക്കി സന്ദേശങ്ങളുടെ പരിഭാഷകൾ കൂട്ടിച്ചേർക്കാനും മാറ്റംവരുത്താനും മീഡിയവിക്കി സന്ദേശങ്ങളുടെ പ്രാദേശികവത്കരണ പദ്ധതിയായ [//translatewiki.net/ translatewiki.net] ഉപയോഗിക്കുവാൻ താല്പര്യപ്പെടുന്നു.",
-'cascadeprotected' => 'നിർà´\9dà´°à´¿à´¤ (cascading) à´¸àµ\97à´\95à´°àµ\8dà´¯à´\82 à´\89പയàµ\8bà´\97à´¿à´\9aàµ\8dà´\9aàµ\8d à´¤à´¿à´°àµ\81à´¤àµ\8dതൽ à´¨à´\9fà´¤àµ\8dà´¤àµ\81à´¨àµ\8dനതിനàµ\81 à´¸à´\82â\80\8cà´°à´\95àµ\8dà´·à´£à´\82 à´\8fർപàµ\8dà´ªàµ\86à´\9fàµ\81à´¤àµ\8dതിയിà´\9fàµ\8dà´\9fàµ\81à´³àµ\8dà´³ {{PLURAL:$1|താഴàµ\86 à´\95àµ\8aà´\9fàµ\81à´¤àµ\8dതിà´\9fàµ\8dà´\9fàµ\81à´³àµ\8dà´³ à´¤à´¾à´³à´¿à´¨àµ\8dà´±àµ\86|താഴàµ\86 à´\95àµ\8aà´\9fàµ\81à´¤àµ\8dതിà´\9fàµ\8dà´\9fàµ\81à´³àµ\8dà´³ à´¤à´¾à´³àµ\81à´\95à´³àµ\81à´\9fàµ\86}} à´­à´¾à´\97മാണàµ\8dâ\80\8c à´\88 à´¤à´¾àµ¾. à´\85തിനാൽ à´\88 à´¤à´¾àµ¾ à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\81വാൻ à´¸à´¾à´§à´¿à´\95àµ\8dà´\95à´¿à´²àµ\8dà´²:
+'cascadeprotected' => 'നിർഝരിത (cascading) സൗകര്യം ഉപയോഗിച്ച് തിരുത്തൽ നടത്തുന്നതിനു സം‌രക്ഷണം ഏർപ്പെടുത്തിയിട്ടുള്ള {{PLURAL:$1|താഴെ കൊടുത്തിട്ടുള്ള താളിന്റെ|താഴെ കൊടുത്തിട്ടുള്ള താളുകളുടെ}} ഭാഗമാണ്‌ ഈ താൾ. അതിനാൽ ഈ താൾ തിരുത്താൻ സാധിക്കില്ല:
 $2',
 'namespaceprotected' => "'''$1''' നാമമേഖലയിലുള്ള താളുകൾ തിരുത്താൻ താങ്കൾക്ക് അനുവാദമില്ല.",
 'customcssprotected' => 'ഈ സി.എസ്.എസ്. താളിൽ മറ്റൊരു ഉപയോക്താവിന്റെ സ്വകാര്യസജ്ജീകരണങ്ങൾ ഉൾക്കൊള്ളുന്നു, അതിനാൽ താങ്കൾക്ക് ഈ താൾ തിരുത്താൻ അനുവാദമില്ല.',
 'customjsprotected' => 'ഈ ജാവാസ്ക്രിപ്റ്റ് താളിൽ മറ്റൊരു ഉപയോക്താവിന്റെ സ്വകാര്യസജ്ജീകരണങ്ങൾ ഉൾക്കൊള്ളുന്നു, അതിനാൽ താങ്കൾക്ക് ഈ താൾ തിരുത്താൻ അനുവാദമില്ല.',
 'mycustomcssprotected' => 'ഈ സി.എസ്.എസ്.  താൾ തിരുത്താനുള്ള അനുമതി താങ്കൾക്കില്ല.',
 'mycustomjsprotected' => 'ഈ ജാവാസ്ക്രിപ്റ്റ് താൾ തിരുത്താനുള്ള അനുമതി താങ്കൾക്കില്ല.',
-'myprivateinfoprotected' => 'താà´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´¸àµ\8dവനàµ\8dà´¤à´\82 à´¸àµ\8dà´µà´\95ാരàµ\8dയവിവരà´\99àµ\8dà´\99ൾ à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\81വാനàµ\81à´³àµ\8dà´³ à´\85à´¨àµ\81മതിയിലàµ\8dà´².',
-'mypreferencesprotected' => 'താà´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´¸àµ\8dവനàµ\8dà´¤à´\82 à´\95àµ\8dà´°à´®àµ\80à´\95à´°à´£à´\99àµ\8dà´\99ൾ à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\81വാനàµ\81à´³àµ\8dà´³ à´\85à´¨àµ\81മതിയിലàµ\8dà´².',
+'myprivateinfoprotected' => 'താങ്കൾക്ക് സ്വന്തം സ്വകാര്യവിവരങ്ങൾ തിരുത്താനുള്ള അനുമതിയില്ല.',
+'mypreferencesprotected' => 'താങ്കൾക്ക് സ്വന്തം ക്രമീകരണങ്ങൾ തിരുത്താനുള്ള അനുമതിയില്ല.',
 'ns-specialprotected' => 'പ്രത്യേകം എന്ന നാമമേഖലയിൽ വരുന്ന താളുകൾ തിരുത്താനാവുന്നവയല്ല.',
 'titleprotected' => "[[User:$1|$1]] എന്ന ഉപയോക്താവ് ഈ താൾ ഉണ്ടാക്കുന്നതു നിരോധിച്ചിരിക്കുന്നു.
 ''$2'' എന്നതാണു അതിനു കാണിച്ചിട്ടുള്ള കാരണം.",
@@ -828,13 +828,13 @@ $2',
 'createacct-benefit-body1' => '{{PLURAL:$1|തിരുത്ത്|തിരുത്തുകൾ}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|താൾ|താളുകൾ}}',
 'createacct-benefit-body3' => 'സമീപകാലത്ത് സംഭാവന {{PLURAL:$1|ചെയ്തയാൾ|ചെയ്തവർ}}',
-'badretype' => 'താà´\99àµ\8dà´\95ൾ à´¨àµ½à´\95à´¿à´¯ à´°à´¹à´¸àµ\8dയവാà´\95àµ\8dà´\95àµ\81à´\95ൾ à´¸à´®à´®ല്ല.',
+'badretype' => 'താà´\99àµ\8dà´\95ൾ à´¨àµ½à´\95à´¿à´¯ à´°à´¹à´¸àµ\8dയവാà´\95àµ\8dà´\95àµ\81à´\95ൾ à´\92à´¤àµ\8dà´¤àµ\81à´ªàµ\8bà´\95àµ\81à´¨àµ\8dനില്ല.',
 'userexists' => 'നൽകിയ ഉപയോക്തൃനാമം മുമ്പേ നിലവിലുണ്ട്.
 ദയവായി മറ്റൊരു ഉപയോക്തൃനാമം തിരഞ്ഞെടുക്കുക.',
 'loginerror' => 'പ്രവേശനം സാധിച്ചില്ല',
 'createacct-error' => 'അംഗത്വസൃഷ്ടിക്കിടെ പിഴവുണ്ടായി',
 'createaccounterror' => 'അംഗത്വമെടുക്കാൻ കഴിഞ്ഞില്ല:$1',
-'nocookiesnew' => 'à´\89പയàµ\8bà´\95àµ\8dà´¤àµ\83à´\85à´\82à´\97à´¤àµ\8dà´µà´\82 à´\89à´£àµ\8dà´\9fà´¾à´\95àµ\8dà´\95ിയിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81. à´ªà´\95àµ\8dà´·àµ\86 à´¤à´¾à´\99àµ\8dà´\95ൾ à´²àµ\8bà´\97ിൻ à´\9aàµ\86à´¯àµ\8dതിà´\9fàµ\8dà´\9fà´¿à´²àµ\8dà´². {{SITENAME}} à´¸à´\82à´°à´\82à´­à´¤àµ\8dതിൽ à´²àµ\8bà´\97ിൻ à´\9aàµ\86à´¯àµ\8dà´¯àµ\81വാൻ à´\95àµ\81à´\95àµ\8dà´\95à´¿à´\95ൾ à´¸à´\9càµ\8dà´\9cമാà´\95àµ\8dà´\95ിയിരിà´\95àµ\8dà´\95à´£à´\82. à´¤à´¾à´\99àµ\8dà´\95à´³àµ\81à´\9fàµ\86 à´\95à´®àµ\8dà´ªàµ\8dà´¯àµ\82à´\9fàµ\8dà´\9fറിൽ à´¨à´¿à´²à´µà´¿àµ½ à´\95àµ\81à´\95àµ\8dà´\95à´¿à´\95ൾ à´¡à´¿à´¸àµ\87ബിൾ à´\9aàµ\86à´¯àµ\8dതിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81. à´\85à´¤àµ\81 à´\8eà´¨àµ\87ബിൾ à´\9aàµ\86à´¯àµ\8dà´¤àµ\81 താങ്കളുടെ ഉപയോക്തൃനാമവും രഹസ്യവാക്കും ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യൂ.',
+'nocookiesnew' => 'à´\89പയàµ\8bà´\95àµ\8dà´¤àµ\83à´\85à´\82à´\97à´¤àµ\8dà´µà´\82 à´\89à´£àµ\8dà´\9fà´¾à´\95àµ\8dà´\95ിയിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81. à´ªà´\95àµ\8dà´·àµ\86 à´¤à´¾à´\99àµ\8dà´\95ൾ à´²àµ\8bà´\97ിൻ à´\9aàµ\86à´¯àµ\8dതിà´\9fàµ\8dà´\9fà´¿à´²àµ\8dà´². {{SITENAME}} à´¸à´\82à´°à´\82à´­à´¤àµ\8dതിൽ à´²àµ\8bà´\97ിൻ à´\9aàµ\86à´¯àµ\8dയാൻ à´\95àµ\81à´\95àµ\8dà´\95à´¿à´\95ൾ à´¸à´\9càµ\8dà´\9cമാà´\95àµ\8dà´\95ിയിരിà´\95àµ\8dà´\95à´£à´\82. à´¤à´¾à´\99àµ\8dà´\95à´³àµ\81à´\9fàµ\86 à´\95à´®àµ\8dà´ªàµ\8dà´¯àµ\82à´\9fàµ\8dà´\9fറിൽ à´¨à´¿à´²à´µà´¿àµ½ à´\95àµ\81à´\95àµ\8dà´\95à´¿à´\95ൾ à´ªàµ\8dരവർതàµ\8dതനരഹിതമാà´\95àµ\8dà´\95ിയിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81. à´\85à´¤àµ\8d à´¸à´\9càµ\8dà´\9cമാà´\95àµ\8dà´\95à´¿à´¯ à´¶àµ\87à´·à´\82 താങ്കളുടെ ഉപയോക്തൃനാമവും രഹസ്യവാക്കും ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യൂ.',
 'nocookieslogin' => '{{SITENAME}} സംരംഭത്തിൽ ലോഗിൻ ചെയ്യുവാൻ കുക്കികൾ സജ്ജമാക്കിയിരിക്കണം. പക്ഷെ താങ്കൾ കുക്കികൾ സജ്ജമാക്കിയിട്ടില്ല. കുക്കികൾ സജ്ജമാക്കിയതിനു ശേഷം വീണ്ടും ലോഗിൻ ചെയ്യാൻ ശ്രമിക്കൂ.',
 'nocookiesfornew' => 'ഞങ്ങൾക്ക് ഇതിന്റെ സ്രോതസ് കണ്ടെത്താനാകാതിരുന്നതിനാൽ ഉപയോക്തൃ അംഗത്വം സൃഷ്ടിച്ചിട്ടില്ല.
 കുക്കികൾ സജ്ജമാക്കിയ ശേഷം, താൾ വീണ്ടുമെടുത്ത്, വീണ്ടും ശ്രമിക്കുക.',
@@ -886,7 +886,7 @@ $2',
 പുതിയതായി ശ്രമിക്കുന്നതിനു മുമ്പ് $1 ദയവായി കാത്തിരിക്കുക.',
 'login-abort-generic' => 'താങ്കളുടെ പ്രവേശിക്കൽ പരാജയപ്പെട്ടു - റദ്ദാക്കപ്പെട്ടിരിക്കുന്നു',
 'loginlanguagelabel' => 'ഭാഷ: $1',
-'suspicious-userlogout' => 'à´²àµ\8bà´\97àµ\97à´\9fàµ\8dà´\9fàµ\8d à´\9aàµ\86à´¯àµ\8dയാനàµ\81à´³àµ\8dà´³ à´¤à´¾à´\99àµ\8dà´\95à´³àµ\81à´\9fàµ\86 à´\85à´­àµ\8dയർതàµ\8dഥന à´¨à´¿à´°à´¸à´¿à´\9aàµ\8dà´\9aà´¿à´°à´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81, à´\95ാരണà´\82 à´\85à´¤àµ\8d à´¤à´\95ർനàµ\8dà´¨ ബ്രൗസറിൽ നിന്നോ കാഷിങ് പ്രോക്സിയിൽ നിന്നോ ഉണ്ടായതുപോലെ അനുഭവപ്പെടുന്നു.',
+'suspicious-userlogout' => 'à´²àµ\8bà´\97àµ\97à´\9fàµ\8dà´\9fàµ\8d à´\9aàµ\86à´¯àµ\8dയാനàµ\81à´³àµ\8dà´³ à´¤à´¾à´\99àµ\8dà´\95à´³àµ\81à´\9fàµ\86 à´\85à´­àµ\8dയർതàµ\8dഥന à´¨à´¿à´°à´¸à´¿à´\9aàµ\8dà´\9aà´¿à´°à´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81, à´\95ാരണà´\82 à´\85à´¤àµ\8d à´\95àµ\87à´\9fായ ബ്രൗസറിൽ നിന്നോ കാഷിങ് പ്രോക്സിയിൽ നിന്നോ ഉണ്ടായതുപോലെ അനുഭവപ്പെടുന്നു.',
 'createacct-another-realname-tip' => 'താങ്കളുടെ യഥാർത്ഥ പേര്‌ നൽകണമെന്നു നിർബന്ധമില്ല.
 
 എങ്കിലും അങ്ങനെ ചെയ്താൽ, ഉപയോക്താക്കൾക്ക് അവരരവരുടെ പേരിൽ തന്നെ തങ്ങളുടെ സൃഷ്ടിക്ക് കടപ്പാട് ലഭിക്കുന്നതാണ്.',
@@ -1102,7 +1102,7 @@ $1 ആണ് ഈ തടയൽ നടത്തിയത്. ''$2'' എന്ന
 'creating' => '$1 സൃഷ്ടിക്കുന്നു',
 'editingsection' => 'തിരുത്തുന്ന താൾ:- $1 (ഉപവിഭാഗം)',
 'editingcomment' => 'തിരുത്തുന്ന താൾ:- $1 (പുതിയ ഉപവിഭാഗം)',
-'editconflict' => 'തിരàµ\81à´¤àµ\8dതൽ സമരസപ്പെടായ്ക: $1',
+'editconflict' => 'തിരàµ\81à´¤àµ\8dà´¤àµ\8d സമരസപ്പെടായ്ക: $1',
 'explainconflict' => "താങ്കൾ തിരുത്താൻ തുടങ്ങിയതിനു ശേഷം ഈ താൾ മറ്റാരോ തിരുത്തി സേവ് ചെയ്തിരിക്കുന്നു.
 മുകളിലുള്ള ടെക്സ്റ്റ് ഏരിയയിൽ നിലവിലുള്ള ഉള്ളടക്കം കാണിക്കുന്നു.
 താങ്കൾ ഉള്ളടക്കത്തിൽ വരുത്തിയ മാറ്റങ്ങൾ താഴെയുള്ള ടെക്സ്റ്റ് ഏരിയയിൽ കാണിക്കുന്നു.
@@ -1193,8 +1193,8 @@ $1 ആണ് ഈ തടയൽ നടത്തിയത്. ''$2'' എന്ന
 'converter-manual-rule-error' => 'മാനുഷികമായുള്ള ഭാഷാ പരിവർത്തന നിയമത്തിൽ പിഴവ് കണ്ടെത്തി',
 
 # "Undo" feature
-'undo-success' => 'à´\88 à´¤à´¿à´°àµ\81à´¤àµ\8dതൽ à´¤à´¾à´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´¤à´¿à´°à´¸àµ\8dà´\95àµ\8dà´\95à´°à´¿à´\95àµ\8dà´\95ാവàµ\81à´¨àµ\8dനതാണàµ\8dâ\80\8c. à´¤à´¾à´´àµ\86 à´\95àµ\8aà´\9fàµ\81à´¤àµ\8dതിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨ à´ªà´¤à´¿à´ªàµ\8dà´ªàµ\81à´\95ൾ à´¤à´®àµ\8dമിലàµ\81à´³àµ\8dà´³ à´¤à´¾à´°à´¤à´®àµ\8dà´¯à´\82 à´\92à´¨àµ\8dà´¨àµ\81à´\95àµ\82à´\9fà´¿ à´ªà´°à´¿à´¶àµ\8bധിà´\9aàµ\8dà´\9aàµ\8d à´\88 à´ªàµ\8dà´°à´µàµ\83à´¤àµ\8dതി à´\9aàµ\86à´¯àµ\8dയണàµ\8b à´\8eà´¨àµ\8dà´¨àµ\8d à´\92à´¨àµ\8dà´¨àµ\81à´\95àµ\82à´\9fà´¿ à´\89റപàµ\8dപാà´\95àµ\8dà´\95àµ\81à´\95. à´\89റപàµ\8dപാണàµ\86à´\99àµ\8dà´\95ിൽ à´¤à´¿à´°àµ\81à´¤àµ\8dതൽ തിരസ്ക്കരിക്കുവാൻ താൾ സേവ് ചെയ്യുക.',
-'undo-failure' => 'à´\87à´\9fà´¯àµ\8dà´\95àµ\8dà´\95àµ\81à´³àµ\8dà´³ à´¤à´¿à´°àµ\81à´¤àµ\8dതലàµ\81à´\95ൾ à´¤à´®àµ\8dമിൽ à´¸à´®à´°à´¸à´ªàµ\8dà´ªàµ\86à´\9fാതàµ\8dതതàµ\81 à´\95ാരണà´\82 à´\88 à´¤à´¿à´°àµ\81à´¤àµ\8dതൽ തിരസ്ക്കരിക്കുവാനാവില്ല.',
+'undo-success' => 'à´\88 à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\8d à´¤à´¾à´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´¤à´¿à´°à´¸àµ\8dà´\95àµ\8dà´\95à´°à´¿à´\95àµ\8dà´\95ാവàµ\81à´¨àµ\8dനതാണàµ\8dâ\80\8c. à´¤à´¾à´´àµ\86 à´\95àµ\8aà´\9fàµ\81à´¤àµ\8dതിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨ à´ªà´¤à´¿à´ªàµ\8dà´ªàµ\81à´\95ൾ à´¤à´®àµ\8dമിലàµ\81à´³àµ\8dà´³ à´¤à´¾à´°à´¤à´®àµ\8dà´¯à´\82 à´\92à´¨àµ\8dà´¨àµ\81à´\95àµ\82à´\9fà´¿ à´ªà´°à´¿à´¶àµ\8bധിà´\9aàµ\8dà´\9aàµ\8d à´\88 à´ªàµ\8dà´°à´µàµ\83à´¤àµ\8dതി à´\9aàµ\86à´¯àµ\8dയണàµ\8b à´\8eà´¨àµ\8dà´¨àµ\8d à´\92à´¨àµ\8dà´¨àµ\81à´\95àµ\82à´\9fà´¿ à´\89റപàµ\8dപാà´\95àµ\8dà´\95àµ\81à´\95. à´\89റപàµ\8dപാണàµ\86à´\99àµ\8dà´\95ിൽ à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\8d തിരസ്ക്കരിക്കുവാൻ താൾ സേവ് ചെയ്യുക.',
+'undo-failure' => 'à´\87à´\9fà´¯àµ\8dà´\95àµ\8dà´\95àµ\81à´³àµ\8dà´³ à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\81à´\95ൾ à´¤à´®àµ\8dമിൽ à´¸à´®à´°à´¸à´ªàµ\8dà´ªàµ\86à´\9fാതàµ\8dതതàµ\81 à´\95ാരണà´\82 à´\88 à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\8d തിരസ്ക്കരിക്കുവാനാവില്ല.',
 'undo-norev' => 'ഈ തിരുത്തൽ നിലവിലില്ലാത്തതിനാലോ മായ്ക്കപ്പെട്ടതിനാലോ പൂർവസ്ഥിതിയിലാക്കുവാൻ സാധിക്കുകയില്ല.',
 'undo-summary' => '[[Special:Contributions/$2|$2]] ([[User talk:$2|സംവാദം]]) ചെയ്ത നാൾപ്പതിപ്പ് $1 നീക്കം ചെയ്യുന്നു',
 'undo-summary-username-hidden' => 'മറയ്ക്കപ്പെട്ട ഉപയോക്താവ് ചെയ്ത നാൾപ്പതിപ്പ് $1 തിരസ്കരിക്കുക',
@@ -1222,7 +1222,7 @@ $3 അതിനു കാണിച്ചിരിക്കുന്ന കാര
 'page_last' => 'അവസാന',
 'histlegend' => "വ്യത്യാസങ്ങൾ ഒത്തുനോക്കാൻ: ഒത്തുനോക്കേണ്ട പതിപ്പുകൾക്കൊപ്പമുള്ള റേഡിയോ ബട്ടൺ തിരഞ്ഞെടുത്ത് ''\"തിരഞ്ഞെടുത്ത പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം കാണുക\"'' എന്ന ബട്ടൺ ഞെക്കുകയോ ''എന്റർ'' കീ അമർത്തുകയോ ചെയ്യുക.<br />
 
-à´¸àµ\82à´\9aà´¨: (à´\87à´ªàµ\8dà´ªàµ\8bൾ) = à´¨à´¿à´²à´µà´¿à´²àµ\81à´³àµ\8dà´³ à´ªà´¤à´¿à´ªàµ\8dà´ªàµ\81മായàµ\81à´³àµ\8dà´³ à´µàµ\8dയതàµ\8dയാസà´\82, (à´®àµ\81à´®àµ\8dà´ªàµ\8d) = à´¤àµ\8aà´\9fàµ\8dà´\9fàµ\81à´®àµ\81ൻപതàµ\8dà´¤àµ\86 à´ªà´¤à´¿à´ªàµ\8dà´ªàµ\81മായàµ\81à´³àµ\8dà´³ à´µàµ\8dയതàµ\8dയാസà´\82, (à´\9aàµ\86.) = à´\9aàµ\86റിയ à´¤à´¿à´°àµ\81à´¤àµ\8dതൽ.",
+à´¸àµ\82à´\9aà´¨: (à´\87à´ªàµ\8dà´ªàµ\8bൾ) = à´¨à´¿à´²à´µà´¿à´²àµ\81à´³àµ\8dà´³ à´ªà´¤à´¿à´ªàµ\8dà´ªàµ\81മായàµ\81à´³àµ\8dà´³ à´µàµ\8dയതàµ\8dയാസà´\82, (à´®àµ\81à´®àµ\8dà´ªàµ\8d) = à´¤àµ\8aà´\9fàµ\8dà´\9fàµ\81à´®àµ\81ൻപതàµ\8dà´¤àµ\86 à´ªà´¤à´¿à´ªàµ\8dà´ªàµ\81മായàµ\81à´³àµ\8dà´³ à´µàµ\8dയതàµ\8dയാസà´\82, (à´\9aàµ\86.) = à´\9aàµ\86റിയ à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\8d.",
 'history-fieldset-title' => 'നാൾവഴി പരിശോധന',
 'history-show-deleted' => 'മായ്ക്കപ്പെട്ടവ മാത്രം',
 'histfirst' => 'ഏറ്റവും പഴയവ',
@@ -1549,6 +1549,7 @@ $1",
 'prefs-tokenwatchlist' => 'ചീട്ട്',
 'prefs-diffs' => 'വ്യത്യാസങ്ങൾ',
 'prefs-help-prefershttps' => 'താങ്കൾ അടുത്ത പ്രാവശ്യം പ്രവേശിക്കുമ്പോൾ ഇവ ഫലത്തിൽ വരുന്നതാണ്.',
+'prefs-tabs-navigation-hint' => 'സൂചന: ടാബുകളുടെ പട്ടികയിലെ ടാബുകളിലൂടെ നീങ്ങാൻ ഇടത്തും വലത്തും ആരോ കീകൾ ഉപയോഗിക്കാവുന്നതാണ്.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'സാധുതയുള്ളതെന്ന് തോന്നുന്നു',
@@ -1734,14 +1735,15 @@ $1",
 'recentchanges-label-newpage' => 'ഒരു പുതിയ താൾ സൃഷ്ടിച്ചിരിക്കുന്നു',
 'recentchanges-label-minor' => 'ഇതൊരു ചെറിയ തിരുത്താണ്',
 'recentchanges-label-bot' => 'ഇത് യന്ത്രം ചെയ്ത തിരുത്താണ്',
-'recentchanges-label-unpatrolled' => 'ഇതുവരെ റോന്തു ചുറ്റപ്പെടാത്ത ഒരു തിരുത്താണിത്',
+'recentchanges-label-unpatrolled' => 'ഇതുവരെ റോന്തുചുറ്റപ്പെടാത്ത തിരുത്ത്',
 'recentchanges-label-plusminus' => 'താളിന്റെ വലിപ്പം ഇത്രയും ബൈറ്റുകൾ മാറിയിരിക്കുന്നു',
+'recentchanges-legend-heading' => "'''സൂചന:'''",
 'recentchanges-legend-newpage' => '([[Special:NewPages|പുതിയ താളുകളുടെ പട്ടികയും]] കാണുക)',
 'rcnotefrom' => '<b>$2</b> മുതലുള്ള മാറ്റങ്ങൾ (<b>$1</b> എണ്ണം വരെ കാണാം).',
 'rclistfrom' => '$1 മുതലുള്ള മാറ്റങ്ങൾ പ്രദർശിപ്പിക്കുക',
 'rcshowhideminor' => 'ചെറുതിരുത്തലുകൾ $1',
 'rcshowhidebots' => 'യന്ത്രങ്ങളെ $1',
-'rcshowhideliu' => 'à´ªàµ\8dà´°à´µàµ\87ശിà´\9aàµ\8dà´\9aിട്ടുള്ളവരെ $1',
+'rcshowhideliu' => 'à´\85à´\82à´\97à´¤àµ\8dവമàµ\86à´\9fàµ\81à´¤àµ\8dà´¤ിട്ടുള്ളവരെ $1',
 'rcshowhideanons' => 'അജ്ഞാത ഉപയോക്താക്കളെ $1',
 'rcshowhidepatr' => 'റോന്തു ചുറ്റിയ മാറ്റങ്ങൾ $1',
 'rcshowhidemine' => 'എന്റെ തിരുത്തലുകൾ $1',
@@ -1753,6 +1755,7 @@ $1",
 'minoreditletter' => '(ചെ.)',
 'newpageletter' => '(പു.)',
 'boteditletter' => '(യ.)',
+'unpatrolledletter' => '(!)',
 'number_of_watching_users_pageview' => '[{{PLURAL:$1|ഒരു ഉപയോക്താവ്|$1 ഉപയോക്താക്കൾ}} ഈ താൾ ശ്രദ്ധിക്കുന്നുണ്ട്]',
 'rc_categories' => 'വർഗ്ഗങ്ങളുടെ പരിധി ("|" ഉപയോഗിച്ച് പിരിക്കുക)',
 'rc_categories_any' => 'ഏതും',
@@ -2186,6 +2189,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization കാണുക.',
 'ninterwikis' => '{{PLURAL:$1|ഒരു അന്തർവിക്കി|$1 അന്തർവിക്കികൾ}}',
 'nlinks' => '{{PLURAL:$1|ഒരു കണ്ണി|$1 കണ്ണികൾ}}',
 'nmembers' => '{{PLURAL:$1|ഒരു അംഗം|$1 അംഗങ്ങൾ}}',
+'nmemberschanged' => '$1 → {{PLURAL:$2|ഒരു അംഗം|$2 അംഗങ്ങൾ}}',
 'nrevisions' => '{{PLURAL:$1|ഒരു പതിപ്പ്|$1 പതിപ്പുകൾ}}',
 'nviews' => '{{PLURAL:$1|ഒരു സന്ദർശനം|$1 സന്ദർശനങ്ങൾ}}',
 'nimagelinks' => '{{PLURAL:$1|ഒരു താളിൽ|$1 താളുകളിൽ}} ഉപയോഗിച്ചിരിക്കുന്നു',
@@ -2507,14 +2511,14 @@ $UNWATCHURL
 'rollbacklinkcount' => '{{PLURAL:$1|ഒരു തിരുത്ത്|$1 തിരുത്തുകൾ}} മുൻപ്രാപനം ചെയ്യുക',
 'rollbacklinkcount-morethan' => '{{PLURAL:$1|ഒന്നിലധികം തിരുത്തുകൾ|$1 എണ്ണത്തിലധികം തിരുത്തുകൾ}} മുൻപ്രാപനം ചെയ്യുക',
 'rollbackfailed' => 'റോൾബാക്ക് പരാജയപ്പെട്ടു',
-'cantrollback' => 'തിരàµ\81à´¤àµ\8dതൽ തിരസ്കരിക്കുവാൻ സാധിക്കുകയില്ല. ഒരു ഉപയോക്താവ് മാത്രമാണ് ഈ താളിൽ സം‌ഭാവന ചെയ്തിരിക്കുന്നത്.',
+'cantrollback' => 'തിരàµ\81à´¤àµ\8dà´¤àµ\8d തിരസ്കരിക്കുവാൻ സാധിക്കുകയില്ല. ഒരു ഉപയോക്താവ് മാത്രമാണ് ഈ താളിൽ സം‌ഭാവന ചെയ്തിരിക്കുന്നത്.',
 'alreadyrolled' => '[[:$1]] എന്ന താളിൽ [[User:$2|$2]] ([[User talk:$2|സംവാദം]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) നടത്തിയ തിരുത്തലുകൾ മുൻപ്രാപനം ചെയ്യാൻ സാധിക്കുന്നതല്ല. മറ്റാരോ താൾ തിരുത്തുകയോ മുൻപ്രാപനം ചെയ്യുകയോ ചെയ്തിരിക്കുന്നു.
 
 താളിലെ അവസാന തിരുത്തൽ ചെയ്തിരിക്കുന്നത് [[User:$3|$3]] ([[User talk:$3|സംവാദം]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]) ആണ്.',
 'editcomment' => "തിരുത്തലിന്റെ ചുരുക്കം: \"''\$1''\" എന്നായിരുന്നു.",
 'revertpage' => '[[Special:Contributions/$2|$2]] ([[User talk:$2|സംവാദം]]) നടത്തിയ തിരുത്തലുകൾ നീക്കം ചെയ്തിരിക്കുന്നു; നിലവിലുള്ള പതിപ്പ് [[User:$1|$1]] സൃഷ്ടിച്ചതാണ്',
 'revertpage-nouser' => 'മറയ്ക്കപ്പെട്ട ഉപയോക്താവ് നടത്തിയ തിരുത്തലുകൾ {{GENDER:$1|[[User:$1|$1]]}} സൃഷ്ടിച്ച അവസാന പതിപ്പിലേയ്ക്ക് മുൻപ്രാപനം ചെയ്തിരിക്കുന്നു',
-'rollback-success' => '$1 à´\9aàµ\86à´¯àµ\8dà´¤ à´¤à´¿à´°àµ\81à´¤àµ\8dതൽ തിരസ്ക്കരിച്ചിരിക്കുന്നു; $2 ചെയ്ത തൊട്ടു മുൻപത്തെ പതിപ്പിലേക്ക് സേവ് ചെയ്യുന്നു.',
+'rollback-success' => '$1 à´\9aàµ\86à´¯àµ\8dà´¤ à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\8d തിരസ്ക്കരിച്ചിരിക്കുന്നു; $2 ചെയ്ത തൊട്ടു മുൻപത്തെ പതിപ്പിലേക്ക് സേവ് ചെയ്യുന്നു.',
 
 # Edit tokens
 'sessionfailure-title' => 'സെഷൻ പരാജയപ്പെട്ടിരിക്കുന്നു',
@@ -3824,6 +3828,11 @@ $5
 'imgmultigo' => 'പോകൂ!',
 'imgmultigoto' => '$1 താളിലേക്ക് പോകുക',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(സ്വതേ വേണ്ട ഭാഷ)',
+'img-lang-info' => 'ഈ ചിത്രം ഈ ഭാഷയിൽ കാണിക്കുക: $1. $2',
+'img-lang-go' => 'പോകൂ',
+
 # Table pager
 'ascending_abbrev' => 'ആരോഹണം',
 'descending_abbrev' => 'അവരോഹണം',
@@ -3933,13 +3942,14 @@ $5
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath സ്ക്രിപ്റ്റ് പഥം]',
 
 # Special:Redirect
-'redirect' => 'പ്രമാണത്താൽ, ഉപയോക്താവിനാൽ അഥവാ നാൾപ്പതിപ്പ് ഐ.ഡി. ചെയ്യുന്ന തിരിച്ചുവിടൽ',
+'redirect' => 'പ്രമാണത്താൽ, ഉപയോക്താവിനാൽ, താളിനാൽ അഥവാ നാൾപ്പതിപ്പ് ഐ.ഡി.യാൽ ചെയ്യുന്ന തിരിച്ചുവിടൽ',
 'redirect-legend' => 'ഒരു പ്രമാണത്തിലോട്ടോ താളിലോട്ടോ ഉള്ള തിരിച്ചുവിടൽ',
-'redirect-summary' => 'ഈ പ്രത്യേക താൾ ഒരു പ്രമാണത്തിലേയ്ക്കോ (പ്രമാണത്തിന്റെ പേര് തന്നിട്ടുണ്ട്), ഒരു താളിലേയ്ക്കോ (നാൾപ്പതിപ്പിന്റെ ഐഡി തന്നിട്ടുണ്ട്), അല്ലെങ്കിൽ ഒരു ഉപയോക്തൃതാളിലേയ്ക്കോ (ഉപയോക്താവിന്റെ സംഖ്യാ ഐ.ഡി. തന്നിട്ടുണ്ട്) തിരിച്ചുവിടുന്നു. ഉപയോഗം Usage: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], അല്ലെങ്കിൽ [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'ഈ പ്രത്യേക താൾ ഒരു പ്രമാണത്തിലേയ്ക്കോ (പ്രമാണത്തിന്റെ പേര് തന്നിട്ടുണ്ട്), ഒരു താളിലേയ്ക്കോ (നാൾപ്പതിപ്പിന്റെ ഐ.ഡി. അല്ലെങ്കിൽ താൾ തന്നിട്ടുണ്ട്), അല്ലെങ്കിൽ ഒരു ഉപയോക്തൃതാളിലേയ്ക്കോ (ഉപയോക്താവിന്റെ സംഖ്യാ ഐ.ഡി. തന്നിട്ടുണ്ട്) തിരിച്ചുവിടുന്നു. ഉപയോഗം: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]],  [[{{#Special:Redirect}}/revision/328429]], അല്ലെങ്കിൽ [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'പോകൂ',
 'redirect-lookup' => 'തേടുക:',
 'redirect-value' => 'വില:',
 'redirect-user' => 'ഉപയോക്തൃ ഐ.ഡി.',
+'redirect-page' => 'താളിന്റെ ഐ.ഡി.',
 'redirect-revision' => 'താളിന്റെ നാൾപ്പതിപ്പ്',
 'redirect-file' => 'പ്രമാണത്തിന്റെ പേര്',
 'redirect-not-exists' => 'വില കണ്ടെത്താൻ കഴിഞ്ഞില്ല',
@@ -4181,10 +4191,12 @@ $5
 'expand_templates_input' => 'ഇൻപുട്ട് ടെക്സ്റ്റ്:',
 'expand_templates_output' => 'ഫലം',
 'expand_templates_xml_output' => 'എക്സ്.എം.എൽ. ഔട്ട്പുട്ട്',
+'expand_templates_html_output' => 'അസംസ്കൃത എച്ച്.റ്റി.എം.എൽ. ഔട്ട്പുട്ട്',
 'expand_templates_ok' => 'ശരി',
 'expand_templates_remove_comments' => 'അഭിപ്രായങ്ങൾ ഒഴിവാക്കുക',
 'expand_templates_remove_nowiki' => 'ഫലങ്ങളിലെ <nowiki> റ്റാഗുകൾ ഒതുക്കുക',
 'expand_templates_generate_xml' => 'എക്സ്.എം.എൽ. പാഴ്‌സർ ട്രീ പ്രദർശിപ്പിക്കുക',
+'expand_templates_generate_rawhtml' => 'അസംസ്കൃത എച്ച്.റ്റി.എം.എൽ. പ്രദർശിപ്പിക്കുക',
 'expand_templates_preview' => 'എങ്ങനെയുണ്ടെന്നു കാണുക',
 
 );
index e9f601a..e993eb8 100644 (file)
@@ -1683,6 +1683,7 @@ $1",
 'recentchanges-label-minor' => 'हे एक किरकोळ संपादन आहे',
 'recentchanges-label-bot' => 'हे संपादन एका सांगकाम्याकडून केले गेले आहे',
 'recentchanges-label-unpatrolled' => 'हे संपादन अजून तपासल्या गेले नाही',
+'recentchanges-label-plusminus' => 'या पानाचा आकार इतक्या बाइट्स ने बदलला',
 'recentchanges-legend-newpage' => '([[Special:NewPages|नविन पानांची यादी]] हेही पाहा)',
 'rcnotefrom' => "खाली <b>$2</b> पासूनचे ('''$1''' पर्यंत) बदल दाखविले आहेत.",
 'rclistfrom' => '$1 नंतर केले गेलेले बदल दाखवा.',
@@ -2645,7 +2646,7 @@ $1',
 'ipbhidename' => 'सदस्य नाम प्रतिबंधन नोंदी, प्रतिबंधनाची चालू यादी आणि सदस्य यादी इत्यादीतून लपवा',
 'ipbwatchuser' => 'या सदस्याच्या सदस्य तसेच चर्चा पानावर पहारा ठेवा',
 'ipb-disableusertalk' => 'सदस्यास स्वत:चे चर्चापान संपादण्यापासून प्रतिबंधित करा',
-'ipb-change-block' => 'यà¥\81पयà¥\8bà¤\97à¤\95रà¥\8dताला à¤ªà¥\81नà¥\8dहा à¤¬à¥\8dलाà¤\95 à¤\95रा à¤¸à¥\8bबत à¤¸à¥\8dथानिà¤\95 à¤¸à¥\87थिà¤\81à¤\97.',
+'ipb-change-block' => 'या à¤¸à¥\87à¤\9fà¥\80à¤\82à¤\97à¥\8dà¤\9cसह à¤¸à¤¦à¤¸à¥\8dयास à¤ªà¥\81नà¥\8dहा à¤ªà¥\8dरतिबà¤\82धित à¤\95रा.',
 'ipb-confirm' => 'अडथाळा सुनिश्चित करा.',
 'badipaddress' => 'अंकपत्ता बरोबर नाही.',
 'blockipsuccesssub' => 'अडवणूक यशस्वी झाली',
@@ -2683,7 +2684,7 @@ $1',
 'infiniteblock' => 'अनंत',
 'expiringblock' => 'समाप्ति $1 $2',
 'anononlyblock' => 'केवळ अनामिक',
-'noautoblockblock' => 'सà¥\8dवà¥\8dयà¤\82à¤\9aलितपà¥\8dरतिबà¤\82धन à¤¸à¥\8dथà¤\97ित केले',
+'noautoblockblock' => 'सà¥\8dवयà¤\82à¤\9aलित à¤ªà¥\8dरतिबà¤\82धन à¤\85वरà¥\82दà¥\8dध केले',
 'createaccountblock' => 'खात्याची निर्मिती प्रतिबंधित केली',
 'emailblock' => 'विपत्र प्रतिबंधीत',
 'blocklist-nousertalk' => 'ला स्वतःचे चर्चापान संपादता येत नाही',
@@ -2696,7 +2697,8 @@ $1',
 'emaillink' => 'ई-मेल पाठवा.',
 'autoblocker' => 'स्वयंचलितप्रतिबंधन केले गेले कारण तुमचा अंकपत्ता अलीकडे "[[User:$1|$1]]"ने वापरला होता. $1 च्या प्रतिबंधनाकरिता दिलेले कारण: "$2" आहे.',
 'blocklogpage' => 'रोध नोंदी',
-'blocklog-showlog' => 'या सदस्यावर आधी बन्दी घालन्यात आली आहे. बन्दी सन्दर्भातील अधिक नोन्दी येथे आहेत',
+'blocklog-showlog' => 'हा सदस्य पूर्वी प्रतिबंधित अथवा लपविल्या गेला होता.
+लपविलेल्या नोंदी  संदर्भाकरिता खाली उपलब्ध आहेत.',
 'blocklog-showsuppresslog' => 'हा सदस्य पूर्वी प्रतिबंधित अथवा लपविला गेला होता.
 लपविलेल्या नोंदी खाली संदर्भाकरिता उपलब्ध आहेत.',
 'blocklogentry' => '[[$1]] ला $2 पर्यंत $3 मुळे रोधित केलेले आहे',
@@ -3735,7 +3737,7 @@ $5
 'autosumm-blank' => 'या पानावरील सगळा मजकूर काढला',
 'autosumm-replace' => "पान '$1' वापरून बदलले.",
 'autoredircomment' => '[[$1]] कडे पुनर्निर्देशित',
-'autosumm-new' => 'नवीन पान: $1',
+'autosumm-new' => 'नवीन पान "$1"',
 
 # Size units
 'size-bytes' => '$1 बा.',
index 378e2f5..da938aa 100644 (file)
@@ -413,7 +413,7 @@ $messages = array(
 'articlepage' => 'Lihat laman kandungan',
 'talk' => 'Perbincangan',
 'views' => 'Rupa',
-'toolbox' => 'Alatan',
+'toolbox' => 'Peralatan',
 'userpage' => 'Lihat laman pengguna',
 'projectpage' => 'Lihat laman projek',
 'imagepage' => 'Lihat laman fail',
@@ -692,7 +692,7 @@ Pastikan anda telah bolehkan kuki, muat semula laman ini dan cuba lagi.',
 'passwordtooshort' => 'Kata laluan mestilah sekurang-kurangnya {{PLURAL:$1|1 aksara|$1 aksara}}.',
 'password-name-match' => 'Kata laluan anda mesti berbeza daripada nama pengguna anda.',
 'password-login-forbidden' => 'Penggunaan nama pengguna dan kata laluan ini adalah dilarang.',
-'mailmypassword' => 'E-melkan kata laluan baru',
+'mailmypassword' => 'Set semula kata laluan',
 'passwordremindertitle' => 'Pengingat kata laluan daripada {{SITENAME}}',
 'passwordremindertext' => 'Seseorang (mungkin anda, dari alamat IP $1) telah meminta kata laluan baru untuk {{SITENAME}} ($4). Kata laluan sementara baru untuk pengguna "$2" ialah "$3". Untuk menamatkan prosedur ini, anda perlu log masuk dan tetapkan kata laluan yang baru dengan segera. Kata laluan sementara anda akan luput dalam $5 hari.
 
@@ -1289,6 +1289,7 @@ Butirannya boleh didapati di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGEN
 'preferences' => 'Keutamaan',
 'mypreferences' => 'Keutamaan',
 'prefs-edits' => 'Jumlah suntingan:',
+'prefsnologintext2' => 'Sila $1 untuk melihat hasil suntingan anda.',
 'prefs-skin' => 'Rupa',
 'skin-preview' => 'Pralihat',
 'datedefault' => 'Tiada keutamaan',
@@ -1397,6 +1398,7 @@ Tindakan ini tidak boleh dibatalkan.',
 'prefs-displaywatchlist' => 'Pilihan paparan',
 'prefs-diffs' => 'Beza',
 'prefs-help-prefershttps' => 'Keutamaan inu akan berkuatkuasa pada lain kali anda log masuk.',
+'prefs-tabs-navigation-hint' => 'Petua: Anda boleh menggunakan kekunci anak panah kiri atau kanan untuk beralihan dari tab ke tab pada senarai tab.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Alamat e-mel adalah sah',
@@ -2038,6 +2040,7 @@ Masukan yang <del>dipotong</del> telah diselesaikan.',
 'ninterwikis' => '$1 pautan antara wiki',
 'nlinks' => '$1 pautan',
 'nmembers' => '$1 ahli',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|ahli}}',
 'nrevisions' => '$1 semakan',
 'nviews' => 'Dilihat $1 kali',
 'nimagelinks' => 'Digunakan pada {{PLURAL:$1|sebuah|$1 buah}} laman',
@@ -2504,7 +2507,7 @@ $1',
 'contributions' => 'Sumbangan {{GENDER:$1|pengguna}}',
 'contributions-title' => 'Sumbangan oleh $1',
 'mycontris' => 'Sumbangan',
-'contribsub2' => 'Oleh $1 ($2)',
+'contribsub2' => 'Untuk {{GENDER:$3|$1}} ($2)',
 'nocontribs' => 'Tiada sebarang perubahan yang sepadan dengan kriteria-kriteria ini.',
 'uctop' => '(terkini)',
 'month' => 'Sebelum bulan:',
@@ -3105,7 +3108,7 @@ Dengan menjalankannya, komputer anda mungkin akan terjejas.",
 'svg-long-desc' => 'Fail SVG, ukuran dasar $1 × $2 piksel, saiz fail: $3',
 'svg-long-desc-animated' => 'Fail SVG animasi, ukuran dasar $1 × $2 piksel, saiz fail: $3',
 'svg-long-error' => 'Fail SVG tidak sah: $1',
-'show-big-image' => 'Leraian penuh',
+'show-big-image' => 'Fail asli',
 'show-big-image-preview' => 'Saiz pralihat ini: $1.',
 'show-big-image-other' => '{{PLURAL:$2|Leraian|Leraian-leraian}} lain: $1.',
 'show-big-image-size' => '$1 × $2 piksel',
@@ -3667,6 +3670,9 @@ Sila sahkan bahawa anda mahu mencipta semula laman ini.",
 'imgmultigo' => 'Pergi!',
 'imgmultigoto' => 'Pergi ke halaman $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(bahasa azali)',
+
 # Table pager
 'ascending_abbrev' => 'menaik',
 'descending_abbrev' => 'menurun',
index 4159b67..ea3a794 100644 (file)
@@ -489,7 +489,6 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'recentchanges-label-newpage' => "Chista modifica ha criato 'na nova paggena",
 'recentchanges-label-minor' => 'Chisto è nu cagnamiénto piccerillo',
 'recentchanges-label-unpatrolled' => "Chista modifica nun è stata 'ncora verificata",
-'rcnote' => "Ccà sotto nce songo ll'urdeme {{PLURAL:$1|cangiamiento|'''$1''' cangiamiente}} 'e ll'urdeme {{PLURAL:$2|juorno|'''$2''' juorne}}, agghiuornate alle $5 ddo $4.",
 'rclistfrom' => "Faje vedé 'e cagnamiénte fatte a partì 'a $1",
 'rcshowhideminor' => "$1 'e cagnamiénte piccerille",
 'rcshowhidebots' => "$1 'e bot",
@@ -754,7 +753,7 @@ Also see [[Special:WantedCategories|wanted categories]].",
 
 # Media information
 'file-info-size' => '$1 × $2 pixel, dimenzione ddo file: $3, tipo MIME: $4',
-'show-big-image' => 'Vversione ad ata risoluzione',
+'show-big-image' => "File 'e origgine",
 
 # Special:NewFiles
 'noimages' => "Nun nc'è nind' 'a veré.",
index 38a3350..8c28e7f 100644 (file)
@@ -26,6 +26,7 @@
  * @author Jeblad
  * @author Jsoby
  * @author Jóna Þórunn
+ * @author Kjetil r
  * @author Kph
  * @author Kph-no
  * @author Laaknor
@@ -460,7 +461,7 @@ $messages = array(
 'newwindow' => '(åpnes i et nytt vindu)',
 'cancel' => 'Avbryt',
 'moredotdotdot' => 'Mer …',
-'morenotlisted' => 'Mer som ikke er oppført&nbsp;…',
+'morenotlisted' => 'Denne lista er ufullstendig.',
 'mypage' => 'Min brukerside',
 'mytalk' => 'Min diskusjonsside',
 'anontalk' => 'Brukerdiskusjon for denne IP-adressen',
@@ -537,7 +538,7 @@ $messages = array(
 'projectpage' => 'Vis prosjektside',
 'imagepage' => 'Vis filside',
 'mediawikipage' => 'Vis beskjedside',
-'templatepage' => 'Vis mal',
+'templatepage' => 'Vis malside',
 'viewhelppage' => 'Vis hjelpeside',
 'categorypage' => 'Vis kategoriside',
 'viewtalkpage' => 'Vis diskusjon',
@@ -570,8 +571,8 @@ $1',
 'disclaimerpage' => 'Project:Generelle forbehold',
 'edithelp' => 'Redigeringshjelp',
 'helppage' => 'Help:Innhold',
-'mainpage' => 'Hovedside',
-'mainpage-description' => 'Hovedside',
+'mainpage' => 'Forside',
+'mainpage-description' => 'Forside',
 'policy-url' => 'Project:Retningslinjer',
 'portal' => 'Prosjektportal',
 'portal-url' => 'Project:Prosjektportal',
@@ -582,16 +583,16 @@ $1',
 'badaccess-group0' => 'Du har ikke tilgang til å utføre handlingen du prøvde på.',
 'badaccess-groups' => 'Handlingen du prøvde å utføre kan kun utføres av brukere i {{PLURAL:$2|gruppa|gruppene}} $1.',
 
-'versionrequired' => 'Versjon $1 av MediaWiki er påkrevd',
-'versionrequiredtext' => 'Versjon $1 av MediaWiki er nødvendig for å bruke denne siden. Se [[Special:Version|versjonsiden]]',
+'versionrequired' => 'MediaWiki-versjon $1 er påkrevd',
+'versionrequiredtext' => 'MediaWiki-versjon $1 er nødvendig for å bruke denne siden. Se [[Special:Version|versjonsiden]]',
 
 'ok' => 'OK',
 'retrievedfrom' => 'Hentet fra «$1»',
 'youhavenewmessages' => 'Du har $1 ($2).',
 'youhavenewmessagesfromusers' => 'Du har $1 fra {{PLURAL:$3|en annen bruker| $3 brukere}} ($2).',
 'youhavenewmessagesmanyusers' => 'Du har $1 fra mange brukere ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|en ny melding|nye meldinger}}',
-'newmessagesdifflinkplural' => 'siste {{PLURAL:$1|endring|endringer}}',
+'newmessageslinkplural' => '{{PLURAL:$1|en ny melding|999=nye meldinger}}',
+'newmessagesdifflinkplural' => 'siste {{PLURAL:$1|endring|999=endringer}}',
 'youhavenewmessagesmulti' => 'Du har nye beskjeder på $1',
 'editsection' => 'rediger',
 'editold' => 'rediger',
@@ -643,7 +644,13 @@ En liste over gyldige spesialsider finnes på [[Special:SpecialPages|{{int:speci
 # General errors
 'error' => 'Feil',
 'databaseerror' => 'Databasefeil',
-'laggedslavemode' => 'Advarsel: Dette kan være en eldre versjon av siden.',
+'databaseerror-text' => 'En feil skjedde med en databasespørring.
+Dette kan være et tegn på feil med programvaren.',
+'databaseerror-textcl' => 'En feil skjedde med en databasespørring.',
+'databaseerror-query' => 'Spørring: $1',
+'databaseerror-function' => 'Funksjon: $1',
+'databaseerror-error' => 'Feil: $1',
+'laggedslavemode' => "'''Advarsel:''' Dette kan være en eldre versjon av siden.",
 'readonly' => 'Databasen er skrivebeskyttet',
 'enterlockreason' => 'Skriv en begrunnelse for skrivebeskyttelsen, inkludert et estimat for når den blir opphevet',
 'readonlytext' => 'Databasen er for øyeblikket skrivebeskyttet, sannsynligvis på grunn av rutinemessig vedlikehold.
@@ -690,8 +697,8 @@ Den inneholder kanskje ett eller flere tegn som ikke kan brukes i titler.',
 'protectedpagetext' => 'Denne siden har blitt låst for endringer.',
 'viewsourcetext' => 'Du kan se og kopiere kilden til denne siden:',
 'viewyourtext' => "Du kan se og kopiere kilden til '''dine endringer''' på denne siden:",
-'protectedinterface' => 'Denne siden fremskaffer brukergrensesnittekst for programvaren, og er låst for å hindre misbruk.',
-'editinginterface' => "'''Advarsel:''' Du redigerer en side som brukes for å fremskaffe grensesnittekst for programvaren.
+'protectedinterface' => 'Denne siden kontrollerer brukergrensesnittekst for programvaren, og er låst for å hindre misbruk.',
+'editinginterface' => "'''Advarsel:''' Du redigerer en side som brukes til å kontrollere grensesnittekst for programvaren.
 Endringer av denne siden vil påvirke hvordan grensesnittet vil se ut for andre brukere.
 For oversettelser er det best om du bruker [//translatewiki.net/wiki/Main_Page?setlang=nb translatewiki.net], prosjektet for oversettelse av MediaWiki.",
 'cascadeprotected' => 'Denne siden er låst for redigering fordi den inkluderes på følgende sider som har dypbeskyttelse slått på:<!--{{PLURAL:$1}}-->
@@ -712,17 +719,18 @@ Administrators nærmere begrunnelse: «$3».',
 'invalidtitle-knownnamespace' => 'Ugyldig tittel med navnerommet «$2» og teksten «$3»',
 'invalidtitle-unknownnamespace' => 'Ugyldig tittel med ukjent navneromsnummer $1 og teksten «$2»',
 'exception-nologin' => 'Ikke innlogget',
-'exception-nologin-text' => 'Denne siden eller handlingen krever at du er innlogget på denne wikien.',
+'exception-nologin-text' => '[[Special:Userlogin|Logg inn]] for å kunne se siden eller utføre denne handlingen.',
+'exception-nologin-text-manual' => 'Du må $1 for å få tilgang til denne siden eller handlingen.',
 
 # Virus scanner
-'virus-badscanner' => "Dårlig konfigurasjon: Ukjent virusskanner: ''$1''",
+'virus-badscanner' => "Feilkonfigurasjon: Ukjent virusskanner: ''$1''",
 'virus-scanfailed' => 'skanning mislyktes (kode $1)',
 'virus-unknownscanner' => 'ukjent antivirusprogram:',
 
 # Login and logout pages
 'logouttext' => "'''Du er nå logget ut.'''
 
-Vær oppmerksom på at noen sider kan fortsette å dukke opp som om du fortsatt var innlogget, helt til du nullstiller nettleserens cache.",
+Vær oppmerksom på at noen sider kan fortsette å dukke opp som om du fortsatt var innlogget, helt til du nullstiller nettleserens mellomlager (cache).",
 'welcomeuser' => 'Velkommen, $1!',
 'welcomecreation-msg' => 'Kontoen din har blitt opprettet.
 Ikke glem å endre [[Special:Preferences|innstillingene dine]] på {{SITENAME}}.',
@@ -759,9 +767,12 @@ Ikke glem å endre [[Special:Preferences|innstillingene dine]] på {{SITENAME}}.
 'gotaccount' => 'Har du allerede en konto? $1.',
 'gotaccountlink' => 'Logg inn',
 'userlogin-resetlink' => 'Har du glemt påloggingsdetaljene dine?',
-'userlogin-resetpassword-link' => 'Tilbakestill passordet ditt',
+'userlogin-resetpassword-link' => 'Glemt passordet?',
 'helplogin-url' => 'Help:Innlogging',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hjelp med innlogging]]',
+'userlogin-loggedin' => 'Du er allerede logget inn som {{GENDER:$1|$1}}.
+Bruk skjemaet nedenfor for å logge inn som en annen bruker.',
+'userlogin-createanother' => 'Opprett ny konto',
 'createacct-join' => 'Skriv inn informasjonen din under.',
 'createacct-another-join' => 'Legg inn den nye kontoens informasjon under.',
 'createacct-emailrequired' => 'E-postadresse',
@@ -805,7 +816,7 @@ Sjekk stavemåten eller [[Special:UserLogin/signup|opprett en ny konto]].',
 'passwordtooshort' => 'Passord må ha minst {{PLURAL:$1|ett tegn|$1 tegn}}.',
 'password-name-match' => 'Passord og brukernavn kan ikke være det samme.',
 'password-login-forbidden' => 'Bruken av dette brukernavnet og passordet er forbudt.',
-'mailmypassword' => 'Send nytt passord',
+'mailmypassword' => 'Tilbakestill passord',
 'passwordremindertitle' => 'Nytt midlertidig passord fra {{SITENAME}}',
 'passwordremindertext' => 'Noen (antagelig deg, fra IP-adressen $1) ba oss sende deg et nytt
 passord til {{SITENAME}} ($4). Et midlertidig passord for «$2» har
@@ -876,7 +887,7 @@ Du kan ha allerede byttet passordet, eller bedt om et nytt midlertidig passord.'
 # Special:PasswordReset
 'passwordreset' => 'Tilbakestilling av passord',
 'passwordreset-text-one' => 'Fyll ut skjemaet for å tilbakestille passordet',
-'passwordreset-text-many' => '{{PLURAL:$1|Fyll inn et av datafeltene for å tilbakestille passordet ditt.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Fyll inn ett av datafeltene for å tilbakestille passordet ditt via epost.}}',
 'passwordreset-legend' => 'Nullstill passord',
 'passwordreset-disabled' => 'Nullstilling av passord er deaktivert på denne wikien.',
 'passwordreset-emaildisabled' => 'E-posttjenester er slått av på denne wikien.',
@@ -933,7 +944,7 @@ Og du burde gjøre det hvis du har avslørt nøklene for noen.',
 'resettokens-legend' => 'Nullstill merker',
 'resettokens-tokens' => 'Merker:',
 'resettokens-token-label' => '$1 (aktuell verdi: $2)',
-'resettokens-watchlist-token' => 'Webmatenøkkel for overvåkningslisten',
+'resettokens-watchlist-token' => 'Webmatenøkkel (Atom/RSS) for [[Special:Watchlist|endringer av sider på din overvåkningsliste]]',
 'resettokens-done' => 'Nullstilling av merker.',
 'resettokens-resetbutton' => 'Nullstill valgte merker',
 
@@ -1260,7 +1271,7 @@ Andre administratorer på {{SITENAME}} vil fortsatt kunne se det skjulte innhold
 'revdelete-confirm' => 'Bekreft at du ønsker å gjøre dette, at du forstår konsekvensene, og at du gjør det i samsvar med [[{{MediaWiki:Policy-url}}|retningslinjene]].',
 'revdelete-suppress-text' => "Skjuling bør '''kun''' brukes i følgende tilfeller:
 * Mulig injurierende utsagn
-* Upassende personlige opplysninger, herunder
+* Følsomme personlige opplysninger
 *: ''privatadresser og -telefonnumre, fødselsnumre og lignende''",
 'revdelete-legend' => 'Fastsett synlighetsbegrensninger',
 'revdelete-hide-text' => 'Skjul revisjonstekst',
@@ -1270,8 +1281,8 @@ Andre administratorer på {{SITENAME}} vil fortsatt kunne se det skjulte innhold
 'revdelete-hide-user' => 'Skjul bidragsyters brukernavn eller IP-adresse',
 'revdelete-hide-restricted' => 'La disse begrensningene gjelde for administratorer også',
 'revdelete-radio-same' => '(ikke endre)',
-'revdelete-radio-set' => 'Ja',
-'revdelete-radio-unset' => 'Nei',
+'revdelete-radio-set' => 'Skjult',
+'revdelete-radio-unset' => 'Synlig',
 'revdelete-suppress' => 'Skjul informasjon også fra administratorer',
 'revdelete-unsuppress' => 'Fjern betingelser på gjenopprettede revisjoner',
 'revdelete-log' => 'Årsak:',
@@ -1412,6 +1423,7 @@ Detaljer kan finnes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'preferences' => 'Innstillinger',
 'mypreferences' => 'Innstillinger',
 'prefs-edits' => 'Antall redigeringer:',
+'prefsnologintext2' => 'Vennligst $1 å endre dine preferanser.',
 'prefs-skin' => 'Utseende',
 'skin-preview' => 'Forhåndsvisning',
 'datedefault' => 'Ingen foretrukket',
@@ -1521,6 +1533,8 @@ Informasjonen vil være offentlig.',
 'prefs-displaywatchlist' => 'Visningsalternativer',
 'prefs-tokenwatchlist' => 'Merke',
 'prefs-diffs' => 'Forskjeller',
+'prefs-help-prefershttps' => 'Denne preferansen vil virke etter neste innlogging.',
+'prefs-tabs-navigation-hint' => 'Tips: Du kan bruke venstre- og høyrepiltastene for å navigere mellom fanene i fanelisten',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'E-postadressen ser gyldig ut',
@@ -1707,12 +1721,13 @@ Informasjonen vil være offentlig.',
 'recentchanges-label-minor' => 'Dette er en mindre endring',
 'recentchanges-label-bot' => 'Denne redigeringen ble gjort av en bot',
 'recentchanges-label-unpatrolled' => 'Denne redigeringen har ikke blitt patruljert ennå',
-'recentchanges-legend-newpage' => '$1 – ny side',
+'recentchanges-label-plusminus' => 'Sidestørrelsen kan endres med dette antallet bytes',
+'recentchanges-legend-newpage' => '(se også [[Special:NewPages|liste av nye sider]])',
 'rcnotefrom' => "Nedenfor er endringene siden '''$2''' (opp til '''$1''' vises).",
 'rclistfrom' => 'Vis nye endringer med start fra $1',
 'rcshowhideminor' => '$1 mindre endringer',
 'rcshowhidebots' => '$1 roboter',
-'rcshowhideliu' => '$1 innloggede brukere',
+'rcshowhideliu' => '$1 registrerte brukere',
 'rcshowhideanons' => '$1 anonyme brukere',
 'rcshowhidepatr' => '$1 patruljerte endringer',
 'rcshowhidemine' => '$1 mine endringer',
@@ -2102,7 +2117,7 @@ Kanskje du vil redigere beskrivelsen på dens [$2 filbeskrivelsesside].',
 # Random page in category
 'randomincategory' => 'Tilfeldig side innenfor kategorien',
 'randomincategory-invalidcategory' => '«$1» er ikke et gyldig kategorinavn.',
-'randomincategory-nopages' => 'Det finnes ingen sider i [[:Kategori:$1]]-kategorien.',
+'randomincategory-nopages' => 'Det finnes ingen sider i [[:Kategori:$1|$1]]-kategorien.',
 'randomincategory-selectcategory' => 'Hent en tilfeldig side fra kategori: $1 $2.',
 'randomincategory-selectcategory-submit' => 'Start',
 
@@ -2165,6 +2180,7 @@ Hver rad inneholder lenker til første og andre omdirigering, samt målet for de
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikier}}',
 'nlinks' => '$1 {{PLURAL:$1|lenke|lenker}}',
 'nmembers' => '$1 {{PLURAL:$1|medlem|medlemmer}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|medlem|medlemmer}}',
 'nrevisions' => '$1 {{PLURAL:$1|revisjon|revisjoner}}',
 'nviews' => '$1 {{PLURAL:$1|visning|visninger}}',
 'nimagelinks' => 'Brukt på $1 {{PLURAL:$1|side|sider}}',
@@ -2209,6 +2225,7 @@ Hver rad inneholder lenker til første og andre omdirigering, samt målet for de
 'listusers' => 'Brukerliste',
 'listusers-editsonly' => 'Vis bare brukere med redigeringer',
 'listusers-creationsort' => 'Sorter etter opprettelsesdato',
+'listusers-desc' => 'Sorter i avtakende rekkefølge',
 'usereditcount' => '{{PLURAL:$1|én redigering|$1 redigeringer}}',
 'usercreated' => '{{GENDER:$3|Opprettet}} $2 $1',
 'newpages' => 'Nye sider',
@@ -2424,8 +2441,7 @@ Kontakt brukeren:
 e-post: $PAGEEDITOR_EMAIL
 wiki: $PAGEEDITOR_WIKI
 
-Det vil ikke komme flere varsler om endringer på denne siden med mindre du besøker den.
-Du kan også fjerne varslingsflagg for alle overvåkede sider i overvåkningslisten din.
+Det vil ikke komme flere varsler om endringer på denne siden med mindre du besøker den mens du er innlogget. Du kan også fjerne varslingsflagg for alle overvåkede sider i overvåkningslisten din.
 
              Ditt vennlige varslingssystem for {{SITENAME}}
 
@@ -2490,7 +2506,8 @@ Se $2 for en oversikt over de siste slettingene.',
 Den siste redigeringen ble foretatt av [[User:$3|$3]] ([[User talk:$3|diskusjon]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
 'editcomment' => "Redigeringskommentaren var: «''$1''»",
 'revertpage' => 'Tilbakestilte endring av [[Special:Contributions/$2|$2]] ([[User talk:$2|diskusjon]]) til siste versjon av [[User:$1|$1]]',
-'revertpage-nouser' => 'Tilbakestilte endringer av (fjernet brukernavn) til siste versjon av [[User:$1|$1]]',
+'revertpage-nouser' => 'Tilbakestilt endringer av skjult bruker til siste versjon av
+{{GENDER:$1|[[Bruker:$1|$1]]}}',
 'rollback-success' => 'Tilbakestilte endringer av $1; endret til siste versjon av $2.',
 
 # Edit tokens
@@ -2624,7 +2641,7 @@ $1',
 'contributions' => '{{GENDER:$1|Brukerbidrag}}',
 'contributions-title' => 'Brukerbidrag av $1',
 'mycontris' => 'Bidrag',
-'contribsub2' => 'For $1 ($2)',
+'contribsub2' => 'For {{GENDER:$3|$1}} ($2)',
 'nocontribs' => 'Ingen endringer er funnet som passer disse kriteriene.',
 'uctop' => '(siste)',
 'month' => 'Fra måned (og tidligere):',
@@ -3137,6 +3154,7 @@ Dette er sannsynligvis forårsaket av en lenke til et svartelistet eksternt nett
 'pageinfo-length' => 'Sidelengde (i bytes)',
 'pageinfo-article-id' => 'Side-ID',
 'pageinfo-language' => 'Språk for sideinnholdet',
+'pageinfo-content-model' => 'Modell for sideinnhold',
 'pageinfo-robot-policy' => 'Bot-indeksering',
 'pageinfo-robot-index' => 'Tillatt',
 'pageinfo-robot-noindex' => 'Ikke tillatt',
@@ -3222,7 +3240,7 @@ Ved å åpne den kan systemet ditt kompromitteres.",
 'svg-long-desc' => 'SVG-fil, standardstørrelse $1 × $2 piksler, filstørrelse: $3',
 'svg-long-desc-animated' => 'Animert SVG-fil, standardstørrelse $1 × $2 piksler, filstørrelse: $3',
 'svg-long-error' => 'Ugyldig SVG-fil: $1',
-'show-big-image' => 'Full oppløsning',
+'show-big-image' => 'Opprinnelig fil',
 'show-big-image-preview' => 'Størrelse på denne forhåndsvisningen: $1.',
 'show-big-image-other' => '{{PLURAL:$2|Annen oppløsning|Andre oppløsninger}}: $1.',
 'show-big-image-size' => '$1 × $2 piksler',
@@ -3780,6 +3798,11 @@ Denne bekreftelseskoden utløper $4.',
 'imgmultigo' => 'Gå!',
 'imgmultigoto' => 'Gå til siden $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(standardspråk)',
+'img-lang-info' => 'Fremstill dette bildet i $1 $2.',
+'img-lang-go' => 'Start',
+
 # Table pager
 'ascending_abbrev' => 'stig.',
 'descending_abbrev' => 'synk.',
@@ -3909,7 +3932,8 @@ Du skal ha mottatt [{{SERVER}}{{SCRIPTPATH}}/COPYING en kopi av GNU General Publ
 # Special:Redirect
 'redirect' => 'Omdiriger via filnavn, bruker, eller versjonsid',
 'redirect-legend' => 'Omdiriger til en fil eller side',
-'redirect-summary' => 'Denne spesialsiden omdirigerer til en fil (hvis den gis et filnavn), en side (hvis den gis et versjonsnummer), eller en brukerside (hvis den gis en nummerisk brukerid).',
+'redirect-summary' => 'Denne spesialsiden omdirigerer til en fil (hvis et filnavn angis), en side (hvis et redigeringsnummer angis) eller en brukerside (hvis en numerisk brukeridentifikator angis).
+Eksempler:[[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Gå',
 'redirect-lookup' => 'Oppslag:',
 'redirect-value' => 'Verdi:',
@@ -3931,9 +3955,9 @@ Du skal ha mottatt [{{SERVER}}{{SCRIPTPATH}}/COPYING en kopi av GNU General Publ
 
 # Special:SpecialPages
 'specialpages' => 'Spesialsider',
+'specialpages-note-top' => 'Tegnforklaring',
 'specialpages-note' => '* Normale spesialsider.
-* <span class="mw-specialpagerestricted">Spesialsider med begrenset tilgang.</span>
-* <span class="mw-specialpagecached">Spesialsider som oppdateres periodisk (kan være foreldede).</span>',
+* <span class="mw-specialpagerestricted">Spesialsider med begrenset tilgang.</span>',
 'specialpages-group-maintenance' => 'Vedlikeholdsrapporter',
 'specialpages-group-other' => 'Andre spesialsider',
 'specialpages-group-login' => 'Innlogging / opprette bruker',
@@ -3971,7 +3995,10 @@ Du skal ha mottatt [{{SERVER}}{{SCRIPTPATH}}/COPYING en kopi av GNU General Publ
 'tags-tag' => 'Taggnavn',
 'tags-display-header' => 'Utseende på endringslister',
 'tags-description-header' => 'Fullstendig betydning',
+'tags-active-header' => 'Aktive?',
 'tags-hitcount-header' => 'Taggede endringer',
+'tags-active-yes' => 'Ja',
+'tags-active-no' => 'Nei',
 'tags-edit' => 'rediger',
 'tags-hitcount' => '{{PLURAL:$1|én endring|$1 endringer}}',
 
@@ -3991,6 +4018,7 @@ Du skal ha mottatt [{{SERVER}}{{SCRIPTPATH}}/COPYING en kopi av GNU General Publ
 'dberr-problems' => 'Siden har tekniske problemer.',
 'dberr-again' => 'Prøv å oppdatere siden om noen minutter.',
 'dberr-info' => '(Kan ikke kontakte databasetjeneren: $1)',
+'dberr-info-hidden' => '(Får ikke kontakt med databasetjeneren)',
 'dberr-usegoogle' => 'Du kan prøve å søke via Google imens.',
 'dberr-outofdate' => 'Merk at deres indeks over våre sider kan være utdatert.',
 'dberr-cachederror' => 'Følgende er en mellomlagret kopi av den etterspurte siden, og kan være foreldet.',
@@ -4134,9 +4162,10 @@ Om det ikke er tilfellet, kan du bruke det enkle skjemaet som du finner under. K
 'limitreport-walltime-value' => '$1 {{PLURAL:$1|sekund|sekunder}}',
 'limitreport-ppvisitednodes' => 'Nodebesøkstelling for preprosessor',
 'limitreport-ppgeneratednodes' => 'Preprosessor-generert nodetall',
-'limitreport-postexpandincludesize-value' => '$1/$2 byte',
+'limitreport-postexpandincludesize' => 'Inkludert størrelse etter utvidelse',
+'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|byte|bytes}}',
 'limitreport-templateargumentsize' => 'Malargument-størrelse',
-'limitreport-templateargumentsize-value' => '$1/$2 byte',
+'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|byte|bytes}}',
 'limitreport-expansiondepth' => 'Største ekspansjonsdybde',
 'limitreport-expensivefunctioncount' => 'Antall kostbare parserfunksjoner',
 
index 9ddb32b..2a8ad02 100644 (file)
@@ -1712,7 +1712,8 @@ Disse informasie is zichtbaor veur aandere gebrukers.',
 'recentchanges-label-minor' => 'Dit is n kleine wieziging',
 'recentchanges-label-bot' => 'Disse bewarking is uutevoerd deur n bot',
 'recentchanges-label-unpatrolled' => 'Disse bewarking is nog niet nao-ekeken',
-'recentchanges-legend-newpage' => '$1 - nieje pagina',
+'recentchanges-label-plusminus' => 'Disse ziedgrootte is mit dit antal bytes ewiezigd',
+'recentchanges-legend-newpage' => '(zie oek de [[Special:NewPages|lieste mit nieje ziejen]])',
 'rcnotefrom' => 'Dit bin de wiezigingen sinds <b>$2</b> (maximum van <b>$1</b> wiezigingen).',
 'rclistfrom' => 'Bekiek wiezigingen vanaof $1',
 'rcshowhideminor' => '$1 kleine wiezigingen',
index 7b3647d..9287f29 100644 (file)
@@ -1630,6 +1630,7 @@ Als u deze opgeeft, kan deze naam gebruikt worden om u erkenning te geven voor u
 'prefs-tokenwatchlist' => 'Token',
 'prefs-diffs' => 'Verschillen',
 'prefs-help-prefershttps' => 'Deze voorkeur wordt toegepast bij de volgende keer aanmelden.',
+'prefs-tabs-navigation-hint' => 'Tip: U kunt de pijltjestoetsen naar links en naar rechts gebruiken om te navigeren tussen de tabbladen in de lijst.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Het e-mailadres lijkt geldig',
@@ -1816,13 +1817,14 @@ Als u deze opgeeft, kan deze naam gebruikt worden om u erkenning te geven voor u
 'recentchanges-label-bot' => 'Deze bewerking is uitgevoerd door een bot',
 'recentchanges-label-unpatrolled' => 'Deze bewerking is nog niet gecontroleerd',
 'recentchanges-label-plusminus' => 'Deze paginagrootte is met dit aantal bytes gewijzigd',
+'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => "Zie ook de [[Special:NewPages|Lijst met nieuwe pagina's]].",
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Wijzigingen sinds '''$2''' (met een maximum van '''$1''' wijzigingen).",
 'rclistfrom' => 'Wijzigingen bekijken vanaf $1',
 'rcshowhideminor' => 'Kleine wijzigingen $1',
 'rcshowhidebots' => 'bots $1',
-'rcshowhideliu' => 'aangemelde gebruikers $1',
+'rcshowhideliu' => 'geregistreerde gebruikers $1',
 'rcshowhideanons' => 'anonieme gebruikers $1',
 'rcshowhidepatr' => 'gecontroleerde bewerkingen $1',
 'rcshowhidemine' => 'mijn bewerkingen $1',
@@ -2299,6 +2301,7 @@ Meestal is de laatste pagina het eigenlijke doel, waar de eerste pagina naar zou
 'ninterwikis' => '$1 {{PLURAL:$1|interwikikoppeling|interwikikoppelingen}}',
 'nlinks' => '$1 {{PLURAL:$1|koppeling|koppelingen}}',
 'nmembers' => '$1 {{PLURAL:$1|item|items}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|lid|leden}}',
 'nrevisions' => '$1 {{PLURAL:$1|versie|versies}}',
 'nviews' => '{{PLURAL:$1|1 keer|$1 keer}} bekeken',
 'nimagelinks' => "Gebruikt op {{PLURAL:$1|één pagina|$1 pagina's}}",
@@ -3978,7 +3981,7 @@ Bevestig dat u de pagina opnieuw wilt aanmaken.',
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(standaard taal)',
-'img-lang-info' => 'Deze afbeeldingen renderen in de taal $1 $2',
+'img-lang-info' => 'Deze afbeeldingen renderen in de taal $1. $2',
 'img-lang-go' => 'OK',
 
 # Table pager
@@ -4099,13 +4102,14 @@ Samen met dit programma hoort u een [{{SERVER}}{{SCRIPTPATH}}/COPYING kopie van
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Script path]',
 
 # Special:Redirect
-'redirect' => 'Doorverwijzen op bestandsnaam, gebruikersnummer of versienummer',
+'redirect' => 'Doorverwijzen op bestandsnaam, gebruikersnummer, paginanummer, of versienummer',
 'redirect-legend' => 'Doorverwijzen naar een bestand of pagina',
-'redirect-summary' => 'Deze speciale pagina verwijst door naar een bestand (als een bestandsnaam wordt opgegeven), een pagina (als een versienummer wordt opgegeven) of een gebruikerspagina (als een gebruikersnummer wordt opgegeven). Gebruik: [[{{#Special:Redirect}}/file/Voorbeeld.jpg]], [[{{#Special:Redirect}}/revision/328429]] of [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Deze speciale pagina verwijst door naar een bestand (als een bestandsnaam wordt opgegeven), een pagina (als een paginanummer of versienummer wordt opgegeven) of een gebruikerspagina (als een gebruikersnummer wordt opgegeven). Gebruik: [[{{#Special:Redirect}}/file/Voorbeeld.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] of [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'OK',
 'redirect-lookup' => 'Opzoeken:',
 'redirect-value' => 'Waarde:',
 'redirect-user' => 'Gebruikersnummer',
+'redirect-page' => 'Pagina-ID',
 'redirect-revision' => 'Paginaversie',
 'redirect-file' => 'Bestandsnaam',
 'redirect-not-exists' => 'Waarde niet gevonden',
@@ -4348,10 +4352,12 @@ Vrijwel alle tekst tussen dubbele accolades wordt gesubstitueerd.',
 'expand_templates_input' => 'Invoertekst:',
 'expand_templates_output' => 'Resultaat',
 'expand_templates_xml_output' => 'XML-uitvoer',
+'expand_templates_html_output' => 'Ruwe HTML',
 'expand_templates_ok' => 'OK',
 'expand_templates_remove_comments' => 'Opmerkingen verwijderen',
 'expand_templates_remove_nowiki' => 'Tags <nowiki> in resultaat onderdrukken',
 'expand_templates_generate_xml' => 'XML-parserboom bekijken',
+'expand_templates_generate_rawhtml' => 'Ruwe HTML weergeven',
 'expand_templates_preview' => 'Voorvertoning',
 
 );
index 616329e..b8cc532 100644 (file)
@@ -644,6 +644,7 @@ Dette kan òg skuldast ein feil i programvara som er nytta av {{SITENAME}}.',
 # General errors
 'error' => 'Feil',
 'databaseerror' => 'Databasefeil',
+'databaseerror-error' => 'Feil: $1',
 'laggedslavemode' => 'Åtvaring: Det er mogleg at sida ikkje er heilt oppdatert.',
 'readonly' => 'Databasen er skriveverna',
 'enterlockreason' => 'Skriv ein grunn for vernet, inkludert eit overslag for kva tid det vil bli oppheva',
@@ -806,7 +807,7 @@ Brukarnamn skil mellom stor og liten bokstav. Sjekk at du har skrive brukarnamet
 'passwordtooshort' => 'Passord må innehalda minst {{PLURAL:$1|eitt teikn|$1 teikn}}.',
 'password-name-match' => 'Passordet ditt lyt vera noko anna enn brukarnamnet ditt.',
 'password-login-forbidden' => 'Bruk av dette brukarnamnet og passordet er vorte forbode.',
-'mailmypassword' => 'Send nytt passord',
+'mailmypassword' => 'Attendestill passord',
 'passwordremindertitle' => 'Nytt passord til {{SITENAME}}',
 'passwordremindertext' => 'Nokon (truleg du, frå IP-adressa $1) bad oss sende deg eit nytt passord til {{SITENAME}} ($4). Eit mellombels passord for «$2» er oppretta, og er sett til «$3». Om det var det du ville, må du logge inn
 og velje eit nytt passord no.
@@ -1649,14 +1650,16 @@ Denne informasjonen vil vera offentleg.',
 'recentchanges-feed-description' => 'Fylg med på dei siste endringane på denne wikien med dette abonnementet.',
 'recentchanges-label-newpage' => 'Endringa oppretta ei ny side',
 'recentchanges-label-minor' => 'Endringa er småplukk',
-'recentchanges-label-bot' => 'Denne endringa vart gjort av ein bot',
+'recentchanges-label-bot' => 'Endringa vart gjord av ein robot',
 'recentchanges-label-unpatrolled' => 'Endringa er ikkje patruljert enno',
-'recentchanges-legend-newpage' => '$1 – ny side',
+'recentchanges-label-plusminus' => 'Storleiken til sida vart endra med så mange byte',
+'recentchanges-legend-heading' => "'''Tyding:'''",
+'recentchanges-legend-newpage' => '(sjå dessutan [[Special:NewPages|lista over nye sider]])',
 'rcnotefrom' => "Nedanfor vert opp til '''$1''' endringar sidan  ''' $2''' viste.",
 'rclistfrom' => 'Vis nye endringar sidan $1',
 'rcshowhideminor' => '$1 småplukk',
 'rcshowhidebots' => '$1 robotar',
-'rcshowhideliu' => '$1 innlogga brukarar',
+'rcshowhideliu' => '$1 registrerte brukarar',
 'rcshowhideanons' => '$1 anonyme brukarar',
 'rcshowhidepatr' => '$1 godkjende endringar',
 'rcshowhidemine' => '$1 endringane mine',
@@ -3803,6 +3806,7 @@ Du skal ha motteke [{{SERVER}}{{SCRIPTPATH}}/COPYING ein kopi av GNU General Pub
 
 # Special:SpecialPages
 'specialpages' => 'Spesialsider',
+'specialpages-note-top' => 'Tyding',
 'specialpages-note' => '* Vanlege spesialsider.
 * <span class="mw-specialpagerestricted">Spesialsider med avgrensa tilgang.</span>',
 'specialpages-group-maintenance' => 'Vedlikehaldsrapportar',
index 6a86341..5d480f5 100644 (file)
@@ -1541,6 +1541,7 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'prefs-tokenwatchlist' => 'Token',
 'prefs-diffs' => 'Zmiany',
 'prefs-help-prefershttps' => 'Ta opcja zacznie działać przy twoim następnym zalogowaniu.',
+'prefs-tabs-navigation-hint' => 'Wskazówka: do poruszania się między zakładkami możesz użyć klawiszy strzałek w lewo i w prawo',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Wygląda na prawidłowy',
@@ -1727,12 +1728,14 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'recentchanges-label-bot' => 'Ta edycja została wykonana przez bota',
 'recentchanges-label-unpatrolled' => 'Ta edycja nie została jeszcze sprawdzona',
 'recentchanges-label-plusminus' => 'Zmieniony rozmiar strony (liczba bajtów)',
+'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => '(zobacz też [[Special:NewPages|listę nowych stron]])',
+'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Poniżej pokazano zmiany wykonane po '''$2''' (nie więcej niż '''$1''' pozycji).",
 'rclistfrom' => 'Pokaż nowe zmiany od $1',
 'rcshowhideminor' => '$1 drobne zmiany',
 'rcshowhidebots' => '$1 boty',
-'rcshowhideliu' => '$1 zalogowanych',
+'rcshowhideliu' => '$1 zarejestrowanych',
 'rcshowhideanons' => '$1 anonimowych',
 'rcshowhidepatr' => '$1 sprawdzone',
 'rcshowhidemine' => '$1 moje edycje',
@@ -2197,6 +2200,7 @@ Każdy wiersz zawiera linki do pierwszego i drugiego przekierowania oraz link, d
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwiki|interwiki}}',
 'nlinks' => '$1 {{PLURAL:$1|link|linki|linków}}',
 'nmembers' => '$1 {{PLURAL:$1|element|elementy|elementów}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$1|element|elementy|elementów}}',
 'nrevisions' => '$1 {{PLURAL:$1|wersja|wersje|wersji}}',
 'nviews' => 'odwiedzono $1 {{PLURAL:$1|raz|razy}}',
 'nimagelinks' => 'Używane na $1 {{PLURAL:$1|stronie|stronach}}',
@@ -3864,6 +3868,11 @@ Czy na pewno chcesz ją ponownie utworzyć?",
 'imgmultigo' => 'Przejdź',
 'imgmultigoto' => 'Idź do $1 strony',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(język domyślny)',
+'img-lang-info' => 'Wyświetl tę ilustrację w $1. $2',
+'img-lang-go' => 'Dalej',
+
 # Table pager
 'ascending_abbrev' => 'rosn.',
 'descending_abbrev' => 'mal.',
@@ -4004,7 +4013,7 @@ Powinieneś otrzymać [{{SERVER}}{{SCRIPTPATH}}/COPYING kopię licencji GNU Gene
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
-'redirect' => 'Przekierowanie według pliku, użytkownika albo identyfikatora wersji',
+'redirect' => 'Przekierowanie według pliku, użytkownika, strony lub identyfikatora wersji',
 'redirect-legend' => 'Przekieruj do pliku lub strony',
 'redirect-summary' => 'Ta strona specjalna przekierowuje do: pliku (o podanej nazwie), do strony (o podanym numerze wersji) albo do strony użytkownika (o podanym identyfikatorze numerycznym). Sposób użycia: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] albo [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Przejdź',
@@ -4253,10 +4262,12 @@ W zasadzie rozwijane jest prawie wszystko w podwójnych nawiasach klamrowych.',
 'expand_templates_input' => 'Tekst wejściowy',
 'expand_templates_output' => 'Rezultat',
 'expand_templates_xml_output' => 'wynik w formacie XML',
+'expand_templates_html_output' => 'Wyświetlanie surowego HTML',
 'expand_templates_ok' => 'OK',
 'expand_templates_remove_comments' => 'Usuń komentarze',
 'expand_templates_remove_nowiki' => 'Ukrywaj w wyniku znaczniki <nowiki>',
 'expand_templates_generate_xml' => 'Pokaż drzewo analizatora składni w formacie XML',
+'expand_templates_generate_rawhtml' => 'Pokaż surowy HTML',
 'expand_templates_preview' => 'Podgląd',
 
 );
index cbe02f9..bc736d9 100644 (file)
@@ -1257,6 +1257,7 @@ Costa anformassion a sarà pùblica.",
 'prefs-tokenwatchlist' => 'Geton',
 'prefs-diffs' => 'Diferense',
 'prefs-help-prefershttps' => 'Costa preferensa a ancaminrà a marcé a soa pròssima conession.',
+'prefs-tabs-navigation-hint' => 'Astussia: A peul dovré le flece a snistra e a drita për navighé antra le schede ant la lista dle schede.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'A smija bon',
@@ -1444,6 +1445,7 @@ Costa anformassion a sarà pùblica.",
 'recentchanges-label-bot' => "Sa modìfica a l'é stàita fàita da un trigomiro",
 'recentchanges-label-unpatrolled' => "Sta modìfica-sì a l'é pa ancó stàita verificà",
 'recentchanges-label-plusminus' => "La taja dla pàgina a l'é cangià d'un nùmer ëd bytes",
+'recentchanges-legend-heading' => "'''Legend:'''",
 'recentchanges-legend-newpage' => '(vëdde ëdcò [[Special:NewPages|lista dle pàgine neuve]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => ' Ambelessì sota a-i é la lista dle modìfiche da <b>$2</b> (fin-a a <b>$1</b>).',
@@ -1912,6 +1914,7 @@ Adess a l'é na ridiression a [[$2]].",
 'ninterwikis' => '$1 {{PLURAL:$1|antërwiki|antërwiki}}',
 'nlinks' => '$1 {{PLURAL:$1|anliura|anliure}}',
 'nmembers' => '$1 {{PLURAL:$1|element|element}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|mèmber}}',
 'nrevisions' => '{{PLURAL:$1|na revision|$1 revision}}',
 'nviews' => '{{PLURAL:$1|na consultassion|$1 consultassion}}',
 'nimagelinks' => 'Dovrà dzora a $1 {{PLURAL:$1|pàgina|pàgine}}',
@@ -3018,6 +3021,7 @@ An fasend-lo marcé ansima a sò ordinator chiel a podrìa porteje ëd dann a s
 'just-now' => 'pròpi adess',
 
 # Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|ora|ore}} fa',
 'minutes-ago' => '$1 {{PLURAL:$1|minuta|minute}} fa',
 'seconds-ago' => '$1 {{PLURAL:$1second}} fa',
 'monday-at' => 'Lùn-es a $1',
@@ -3560,7 +3564,7 @@ Për piasì, che an conferma che da bon a veul torna creélo.",
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(lenga predefinìa)',
-'img-lang-info' => 'Rende costa plancia an $1 $2.',
+'img-lang-info' => 'Rende costa plancia an $1. $2',
 'img-lang-go' => 'Andé',
 
 # Table pager
@@ -3680,13 +3684,14 @@ A dovrìa avèj arseivù [{{SERVER}}{{SCRIPTPATH}}/COPYING na còpia dla Licensa
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Senté d\'artìcol]',
 
 # Special:Redirect
-'redirect' => 'Ridirigiù da archivi, utent o ID ëd revision',
+'redirect' => 'Ridirigiù da archivi, utent, pàgina o ID ëd revision',
 'redirect-legend' => "Ridirige a n'archivi o na pàgina",
-'redirect-summary' => "Costa pàgina special a ponta a n'archivi (dàit ël nòm dl'archivi), na pàgina (dàita n'ID a la revision) o na pàgina d'utent (dàit n'identificativ numérich a l'utent). Usagi: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].",
+'redirect-summary' => "Costa pàgina special a ponta a n'archivi (dàit ël nòm dl'archivi), na pàgina (dàit n'ID ëd revision o n'ID ëd pàgina) o na pàgina d'utent (dàit n'identificativ numérich a l'utent). Usagi: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], o [[{{#Special:Redirect}}/user/101]].",
 'redirect-submit' => 'Andé',
 'redirect-lookup' => 'Arserca:',
 'redirect-value' => 'Valor:',
 'redirect-user' => "ID dl'utent",
+'redirect-page' => 'Identificativ ëd la pàgina',
 'redirect-revision' => 'Revision ëd la pàgina',
 'redirect-file' => "Nòm ëd l'archivi",
 'redirect-not-exists' => 'Valor nen trovà',
@@ -3929,10 +3934,12 @@ An efet, a espand praticament tut lòn ch'a-i é antrames dle grafe dobie.",
 'expand_templates_input' => 'Test da analisé:',
 'expand_templates_output' => 'Arzultà',
 'expand_templates_xml_output' => 'Output an XML',
+'expand_templates_html_output' => 'Surtìa an HTML sempi',
 'expand_templates_ok' => 'Bin parèj',
 'expand_templates_remove_comments' => 'Gava via ij coment',
 'expand_templates_remove_nowiki' => "Gava ij tag <nowiki> ant l'arzultà",
 'expand_templates_generate_xml' => "Mosta l'erbo ëd parse XML",
+'expand_templates_generate_rawhtml' => "Smon-e l'HTML sempi",
 'expand_templates_preview' => 'Preuva',
 
 );
index f2dee0b..9932302 100644 (file)
@@ -484,6 +484,7 @@ $1',
 # General errors
 'error' => 'تېروتنه',
 'databaseerror' => 'د ډاټابېز تېروتنه',
+'databaseerror-error' => 'تېروتنه: $1',
 'laggedslavemode' => "'''گواښنه:''' په دې مخ کې کېدای شي تازه اوسمهالېدنې نه وي.",
 'readonly' => 'توکبنسټ تړل شوی',
 'enterlockreason' => 'د بنديز يو سبب وليکۍ، او همداراز د بنديز د ليرې کېدلو يوه اټکليزه نېټه هم څرگنده کړۍ',
@@ -583,7 +584,8 @@ $1',
 'gotaccount' => 'آيا وار دمخې يو گڼون لری؟ $1.',
 'gotaccountlink' => 'ننوتل',
 'userlogin-resetlink' => 'د ننوتلو مالومات مو هېر شوي؟',
-'userlogin-resetpassword-link' => 'پټنوم مو بياپرځايول',
+'userlogin-resetpassword-link' => 'پټنوم مو هېر شوی؟',
+'userlogin-createanother' => 'بل گڼون جوړول',
 'createacct-join' => 'خپل مالومات لاندې ورکړۍ',
 'createacct-emailrequired' => 'برېښليک پته',
 'createacct-emailoptional' => 'برېښليک پته (اختياري)',
@@ -629,7 +631,7 @@ $1',
 'passwordtooshort' => 'بايد چې پټنوم مو لږ تر لږه {{PLURAL:$1|1 توری|$1 توري}} وي.',
 'password-name-match' => 'ستاسې پټنوم بايد ستاسې د کارن-نوم سره توپير ولري.',
 'password-login-forbidden' => 'د دې کارن-نوم او پټنوم په کارېدنې بنديز دی.',
-'mailmypassword' => 'Ù\86Ù\88Û\8c Ù¾Ù¼Ù\86Ù\88Ù\85 Ø¨Ø±Û\90Ú\9aÙ\84Ù\8aÚ© Ú©ول',
+'mailmypassword' => 'پټÙ\86Ù\88Ù\85 Ø¨Ù\8aاپرÚ\81اÙ\8aول',
 'passwordremindertitle' => 'د {{SITENAME}} لپاره نوی لنډمهاله پټنوم',
 'passwordremindertext' => 'يو چا (کېدای شي چې تاسې پخپله، د $1 IP پتې نه)
 د {{SITENAME}} ($4) وېبځي لپاره د يوه نوي پټنوم د ورلېږلو غوښتنه کړې.
@@ -643,8 +645,8 @@ $1',
 'passwordsent' => 'د "$1" لپاره يو نوی پټنوم د اړونده کارن برېښليک پتې ته ولېږل شو.
 لطفاً کله چې پټنوم مو ترلاسه کړ نو بيا غونډال ته ننوځۍ.',
 'blocked-mailpassword' => 'ستاسې په IP پتې بنديز لگېدلی او تاسې نه شی کولای چې ليکنې وکړی، په همدې توگه تاسې نه شی کولای چې د پټنوم د پرځای کولو کړنې وکاروی دا ددې لپاره چې د وراني مخنيوی وشي.',
-'eauthentsent' => 'ستاسې ورکړ شوې برېښليک پتې ته مو يو تاييدي برېښليک درولېږه.
-تر دې دمخه چې ستاسې گڼون ته کوم بل برېښليک درولېږو، پکار ده چې تاسې په برېښليک کې درلېږل شوې لارښوونې پلي کړی او ددې پخلی وکړی چې همدا گڼون په رښتيا ستاسې خپل دی.',
+'eauthentsent' => 'ستاسې برېښليک پتې ته مو يو تاييدي برېښليک درولېږه.
+تر دې دمخه چې ستاسې گڼون ته کوم بل برېښليک درولېږو، بايد تاسې په برېښليک کې درلېږل شوې لارښوونې پلي کړی او د دې پخلی وکړی چې همدا گڼون په رښتيا ستاسې خپل دی.',
 'mailerror' => 'د برېښليک د لېږلو ستونزه: $1',
 'acct_creation_throttle_hit' => 'د همدې ويکي کارنانو په وروستيو ورځو کې ستاسې د IP پتې په کارولو سره {{PLURAL:$1|1 گڼون|$1 گڼونونه}} جوړ کړي، چې دا په همدې مودې کې د گڼونونو د جوړولو تر ټولو ډېر شمېر دی چې اجازه يې ورکړ شوې.
 نو په همدې خاطر د اوس لپاره د همدې IP پتې کارنان نه شي کولای چې نور گڼونونه جوړ کړي.',
@@ -689,6 +691,7 @@ $1',
 
 # Special:PasswordReset
 'passwordreset' => 'پټنوم بياپرځايول',
+'passwordreset-text-many' => '{{PLURAL:$1|د برېښليک له لارې د يو لنډمهاله پټنوم د ترلاسه کولو لپاره له لاندينيو ډگرونو څخه يو يې ډک کړۍ.}}',
 'passwordreset-legend' => 'پټنوم بياپرځايول',
 'passwordreset-disabled' => 'په دې ويکي پټنوم بياپرځای کولو کړنه ناچارنه شوې.',
 'passwordreset-username' => 'کارن-نوم:',
@@ -734,7 +737,7 @@ $1',
 # Edit pages
 'summary' => 'لنډيز:',
 'subject' => 'سکالو/سرليک:',
-'minoredit' => 'دا يوه وړه سمونه ده',
+'minoredit' => 'دا يو وړوکی سمون دی',
 'watchthis' => 'همدا مخ کتل',
 'savearticle' => 'مخ خوندي کول',
 'preview' => 'مخليدنه',
@@ -1090,7 +1093,7 @@ $1',
 'prefs-registration' => 'د نومليکنې وخت:',
 'yourrealname' => 'اصلي نوم:',
 'yourlanguage' => 'ژبه:',
-'yournick' => 'کورنی نوم:',
+'yournick' => 'نوی لاسليک:',
 'badsiglength' => 'ستاسو لاسليک ډېر اوږد دی.
 بايد چې لاسليک مو له $1 {{PLURAL:$1|توري|تورو}} نه لږ وي.',
 'yourgender' => 'څنگه غواړۍ ځان څرگند کړۍ؟',
@@ -1115,7 +1118,7 @@ $1',
 'prefs-advancedrendering' => 'پرمختللې خوښنې',
 'prefs-advancedsearchoptions' => 'پرمختللې خوښنې',
 'prefs-advancedwatchlist' => 'پرمختللې خوښنې',
-'prefs-displayrc' => 'د Ú\9aکارÛ\90دÙ\86Û\90 خوښنې',
+'prefs-displayrc' => 'د Ú\9aکارÛ\90دÙ\88 خوښنې',
 'prefs-displaysearchoptions' => 'د ښکارېدنې خوښنې',
 'prefs-displaywatchlist' => 'د ښکارېدنې خوښنې',
 'prefs-diffs' => 'توپيرونه',
@@ -1127,7 +1130,7 @@ $1',
 # User rights
 'userrights' => 'د کارن رښتو سمبالښت',
 'userrights-lookup-user' => 'کارن ډلې سمبالول',
-'userrights-user-editname' => 'يو کارن نوم وليکۍ:',
+'userrights-user-editname' => 'يو کارن نوم ورکړئ:',
 'editusergroup' => 'کارن ډلې سمول',
 'editinguser' => "د '''[[کارن:$1|$1]]''' کارن رښتې بدلول $2",
 'userrights-editusergroup' => 'کارن ډلې سمول',
@@ -1172,7 +1175,7 @@ $1',
 'right-edit' => 'مخونه سمول',
 'right-createpage' => 'مخونه جوړول (هغه چې د خبرو اترو مخونه نه دي)',
 'right-createtalk' => 'د خبرو اترو مخونه جوړول',
-'right-createaccount' => 'Ù\86Ù\88Ù\8a Ú©Ø§Ø±Ù\86 Ø­Ø³Ø§Ø¨ونه جوړول',
+'right-createaccount' => 'Ù\86Ù\88Ù\8a Ú¯Ú¼Ù\88Ù\86ونه جوړول',
 'right-minoredit' => 'سمونونه واړه په نخښه کول',
 'right-move' => 'مخونه لېږدول',
 'right-move-subpages' => 'مخونه د خپلو څېرمه مخونو سره لېږدول',
@@ -1183,16 +1186,19 @@ $1',
 'right-delete' => 'مخونه ړنگول',
 'right-bigdelete' => 'د اوږدو پېښليکونو مخونه ړنگول',
 'right-browsearchive' => 'ړنگ شوي مخونه پلټل',
-'right-undelete' => 'Ù\8aÙ\88 Ù\85Ø® Ù\86اÚ\93Ù\86Ú«ول',
+'right-undelete' => 'Ù\8aÙ\88 Ù\85Ø® Ù\86اÚ\93Ù\86Ú¯ول',
 'right-suppressionlog' => 'شخصي يادښتونه کتل',
 'right-block' => 'پر نورو کارنانو د سمون د آسانتياوؤ بنديز لگول',
 'right-blockemail' => 'پر يوه کارن د برېښليک لېږلو بنديز لگول',
 'right-hideuser' => 'پر يوه کارن-نوم بنديز لگول او له خلکو نه يې پټول',
-'right-protect' => 'د ژغورنې کچه بدلول او ژغورلي مخونه سمول',
+'right-protect' => 'د Ú\98غÙ\88رÙ\86Û\90 Ú©Ú\86Ù\87 Ø¨Ø¯Ù\84Ù\88Ù\84 Ø§Ù\88 Ú\81Ù\88Ú\93اÙ\88بÛ\90زÙ\87 Ú\98غÙ\88رÙ\84Ù\8a Ù\85Ø®Ù\88Ù\86Ù\87 Ø³Ù\85Ù\88Ù\84',
 'right-editinterface' => 'د کارن ليدنمخ سمول',
 'right-editusercssjs' => 'د نورو کارنانو د CSS او JS (جاوا سکرېپټ) دوتنې سمول',
 'right-editusercss' => 'د نورو کارنانو د CSS دوتنې سمول',
 'right-edituserjs' => 'د نورو کارنانو د JS (جاوا سکرېپټ) دوتنې سمول',
+'right-viewmywatchlist' => 'خپل کتنلړ کتل',
+'right-editmyprivateinfo' => 'خپل شخصي مالومات سمول (بېلگه. برېښليک پته، آرنوم)',
+'right-editmyoptions' => 'خپل غوره توبونه سمول',
 'right-unwatchedpages' => 'د ناکتلو مخونو يو لړليک کتل',
 'right-userrights' => 'د کارن ټولې رښتې سمول',
 'right-userrights-interwiki' => 'په نورو ويکي گانو د نورو کارنانو  کارن-رښتې سمول',
@@ -1222,7 +1228,7 @@ $1',
 'action-deleterevision' => 'دا مخکتنه ړنگول',
 'action-deletedhistory' => 'د دې مخ ړنگ شوی پېښليک کتل',
 'action-browsearchive' => 'ړنگ مخونه پلټل',
-'action-undelete' => 'Ù\87Ù\85دا Ù\85Ø® Ù\86اÚ\93Ù\86Ú«ول',
+'action-undelete' => 'Ù\87Ù\85دا Ù\85Ø® Ù\86اÚ\93Ù\86Ú¯ول',
 'action-suppressionlog' => 'دا شخصي يادښت کتل',
 'action-block' => 'پر دې کارن د سمون د آسانتياوؤ بنديز لگول',
 'action-protect' => 'د دې مخ د ژغورنې کچه بدلول',
@@ -1232,23 +1238,27 @@ $1',
 'action-userrights-interwiki' => 'په نورو ويکي گانو د کارنانو رښتې سمول',
 'action-siteadmin' => 'توکبنسټ کولپول يا نه کولپول',
 'action-sendemail' => 'برېښليکونه لېږل',
+'action-editmyprivateinfo' => 'خپل شخصي مالومات سمول',
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|بدلون|بدلونونه}}',
+'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|له وروستنۍ کتنې راپدېخوا}}',
+'enhancedrc-history' => 'پېښليک',
 'recentchanges' => 'وروستي بدلونونه',
 'recentchanges-legend' => 'د ورستي بدلونو خوښنې',
 'recentchanges-summary' => 'په دې مخ د ويکي ترټولو تازه وروستي بدلونونه وڅارۍ.',
 'recentchanges-feed-description' => 'همدلته د ويکي ترټولو تازه وروستي بدلونونه وڅارۍ او وگورۍ چې څه پېښ شوي.',
 'recentchanges-label-newpage' => 'دغه سمون يو نوی مخ جوړ کړی',
-'recentchanges-label-minor' => 'دا يوه وړه سمونه ده',
-'recentchanges-label-bot' => 'دغÙ\87 Ø³Ù\85Ù\88Ù\86 Ø¯ Ù\8aÙ\88 Ø±Ù\88باټ Ù\84Ø®Ù\88ا ØªØ±Ø³Ø±Ù\87 Ø´Ù\88ی',
+'recentchanges-label-minor' => 'دا يو وړکی سمون دی',
+'recentchanges-label-bot' => 'دا Ø³Ù\85Ù\88Ù\86 Ù\8aÙ\88 Ø±Ù\88باټ ØªØ±Ø³Ø±Ù\87 Ú©Ú\93ی',
 'recentchanges-label-unpatrolled' => 'دغه سمون تر اوسه پورې نه دی څارل شوی',
+'recentchanges-label-plusminus' => 'د بايټونو د شمېر له مخې د مخ د بدلون کچه',
 'recentchanges-legend-newpage' => '(دا هم وگورۍ [[Special:NewPages|د نويو مخونو لړليک]])',
 'rcnotefrom' => "په همدې ځای کې لاندې هغه بدلونونه دي چې د '''$2''' نه راپدېخوا پېښ شوي (تر '''$1''' پورې ښکاره شوي).",
 'rclistfrom' => 'هغه نوي بدلونونه ښکاره کول چې له $1 نه پيلېږي',
 'rcshowhideminor' => 'وړې سمونې $1',
 'rcshowhidebots' => 'روباټ $1',
-'rcshowhideliu' => 'غÙ\88Ù\86Ú\89اÙ\84 Ú©Û\90 Ù\86Ù\86Ù\88تي کارنان $1',
+'rcshowhideliu' => 'ثبت Ø´Ù\88ي کارنان $1',
 'rcshowhideanons' => 'بې نومه کارنان $1',
 'rcshowhidepatr' => '$1 څارلې سمونې',
 'rcshowhidemine' => 'زما سمونې $1',
@@ -1384,7 +1394,7 @@ $1',
 
 # Special:ListFiles
 'listfiles-summary' => 'همدا ځانگړی مخ ټولې پورته شوې دوتنې ښکاره کوي.',
-'listfiles_search_for' => 'د Ø§Ù\86Ú\81Ù\88ر Ø¯ Ù\86Ù\88Ù\85 Ù\84Ù¼Ù\88Ù\86:',
+'listfiles_search_for' => 'د Ø±Ø³Ù\86Û\8d Ù\86Ù\88Ù\85 Ù¾Ù\84Ù¼Ù\86Ù\87:',
 'imgfile' => 'دوتنه',
 'listfiles' => 'د دوتنو لړليک',
 'listfiles_thumb' => 'بټنوک',
@@ -1394,6 +1404,7 @@ $1',
 'listfiles_size' => 'کچه (بايټونه)',
 'listfiles_description' => 'څرگندونه',
 'listfiles_count' => 'بڼې',
+'listfiles-latestversion' => 'اوسنۍ بڼه',
 'listfiles-latestversion-yes' => 'هو',
 'listfiles-latestversion-no' => 'نه',
 
@@ -1467,6 +1478,7 @@ $1',
 'randompage-nopages' => 'په لانديني {{PLURAL:$2|نوم-تشيال|نوم-تشيالونو}} کې هېڅ کوم مخ نشته: $1.',
 
 # Random page in category
+'randomincategory' => 'په وېشنيزه کې ناټاکلی مخ',
 'randomincategory-selectcategory' => 'يو ناټاکلی مخ له وېشنيزې موندل: $1 $2.',
 'randomincategory-selectcategory-submit' => 'ورځه',
 
@@ -1493,6 +1505,9 @@ $1',
 'statistics-users-active-desc' => 'هغه کارنان چې په {{PLURAL:$1|وروستۍ ورځ|وروستيو $1 ورځو}} کې فعاله ونډه لرلې',
 'statistics-mostpopular' => 'ډېر کتل شوي مخونه',
 
+'pageswithprop' => 'د مخ ځانتياو څخه برخمن مخونه',
+'pageswithprop-legend' => 'د مخ ځانتياو څخه برخمن مخونه',
+'pageswithprop-prop' => 'د ځانتيا نوم:',
 'pageswithprop-submit' => 'ورځه',
 
 'doubleredirects' => 'دوه ځلي ورگرځېدنې',
@@ -1557,9 +1572,10 @@ $1',
 'newpages-username' => 'کارن-نوم:',
 'ancientpages' => 'تر ټولو زاړه مخونه',
 'move' => 'لېږدول',
-'movethispage' => 'دا Ù\85Ø® Ù\88Ù\84Û\90Ú\96دÙ\88Ù\87',
+'movethispage' => 'دا Ù\85Ø® Ù\84Û\90Ú\96دÙ\88Ù\84',
 'unusedimagestext' => 'دا لاندينۍ دوتنې په هېڅ کوم مخ کې نه دي ټومبېدلي. لطفاً په پام کې وساتۍ چې نور وېبځايونه به د دغو دوتنو له يو دوتنې سره يو راسن يو آر ال (URL) ولري او لا تر اوسه به دوتنه د فعالې کارېدنې سره سره دلته پرته وي.',
 'notargettitle' => 'بې موخې',
+'nopagetitle' => 'داسې کوم مخ نشته',
 'pager-newer-n' => '{{PLURAL:$1|نوی 1|نوي $1}}',
 'pager-older-n' => '{{PLURAL:$1|زوړ 1|زاړه $1}}',
 'suppress' => 'څارن',
@@ -1607,8 +1623,8 @@ $1',
 'special-categories-sort-abc' => 'د ابېڅو له مخې اوډل',
 
 # Special:DeletedContributions
-'deletedcontributions' => 'Ú\93Ù\86Ú«Û\90 Ø´Ù\88Û\90 ونډې',
-'deletedcontributions-title' => 'Ú\93Ù\86Ú«Û\90 Ø´Ù\88Û\90 ونډې',
+'deletedcontributions' => 'Ú\93Ù\86Ú¯Û\90دÙ\84Û\90 Ú©Ø§Ø±Ù\86 ونډې',
+'deletedcontributions-title' => 'Ú\93Ù\86Ú¯Û\90دÙ\84Û\90 Ú©Ø§Ø±Ù\86 ونډې',
 'sp-deletedcontributions-contribs' => 'ونډې',
 
 # Special:LinkSearch
@@ -1649,7 +1665,7 @@ $1',
 'listgrouprights-removegroup-self-all' => 'خپل گڼون نه ټولې ډلې ليري کول',
 
 # Email user
-'mailnologin' => 'هېڅ کومه لېږل شوې پته نشته',
+'mailnologin' => 'د لېږلو پته نشته',
 'emailuser' => 'کارن ته برېښليک لېږل',
 'emailuser-title-target' => 'دې {{GENDER:$1|کارن}} ته برېښليک لېږل',
 'emailuser-title-notarget' => 'کارن ته برېښليک لېږل',
@@ -1670,7 +1686,7 @@ $1',
 'emailmessage' => 'پيغام:',
 'emailsend' => 'لېږل',
 'emailccme' => 'زما د پيغام يوه بېلگه دې ماته هم برېښليک شي.',
-'emailccsubject' => '$1 ته ستاسو د پيغام لمېسه: $2',
+'emailccsubject' => '$1 ته ستاسې د پيغام لمېسه: $2',
 'emailsent' => 'برېښليک مو ولېږل شو',
 'emailsenttext' => 'ستاسې برېښليکي پيغام ولېږل شو.',
 'emailuserfooter' => 'دا برېښليک د $1 لخوا $2 ته د {{SITENAME}} په وېبځي کې د "کارن ته برېښليک لېږل" د کړنې په مرسته لېږل شوی.',
@@ -1699,7 +1715,7 @@ $1',
 'notanarticle' => 'يو منځپانګيز مخ نه دی',
 'watchlist-details' => 'ستاسې کتنلړ کې {{PLURAL:$1|$1 مخ دی|$1 مخونه دي}}، د خبرو اترو مخونه مو پکې نه دي شمېرلي.',
 'wlheader-enotif' => 'برېښليک خبرونه چارنه شوې.',
-'wlheader-showupdated' => "هغه مخونه چې وروستی ځل ستاسو د کتلو نه وروسته بدلون موندلی په '''روڼ''' ليک نښه شوي.",
+'wlheader-showupdated' => "هغه مخونه چې ستاسې د کتلو نه وروسته بدلون موندلی په '''روڼ''' ليک په نښه شوي.",
 'watchlistcontains' => 'ستاسې کتنلړ $1 {{PLURAL:$1|مخ|مخونه}} لري.',
 'iteminvalidname' => "د '$1' توکي سره ستونزه، ناسم نوم ...",
 'wlnote' => "دلته لاندې {{PLURAL:$1|وروستی بدلون دی|وروستي '''$1''' بدلونونه دي}} چې په {{PLURAL:$2|تېر ساعت|تېرو '''$2''' ساعتونو}} کې تر $3 نېټې او $4 بجو پېښ شوي.",
@@ -1795,7 +1811,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'movedarticleprotection' => 'د ژغورنې امستنې له "[[$2]]" څخه "[[$1]]" ته ولېږدېدې',
 'protect-title' => 'د "$1" لپاره د ژغورنې کچه بدلول',
 'prot_1movedto2' => '[[$1]]، [[$2]] ته ولېږدېده',
-'protect-legend' => 'د ژغورلو پخلی کول',
+'protect-legend' => 'ژغورنه تاييدول',
 'protectcomment' => 'سبب:',
 'protectexpiry' => 'د پای نېټه:',
 'protect_expiry_invalid' => 'د پای وخت ناسم دی.',
@@ -1847,7 +1863,10 @@ $UNWATCHURL  نه ليدنه وکړۍ
 # Undelete
 'undelete' => 'ړنگ شوي مخونه کتل',
 'undeletepage' => 'ړنگ شوي مخونه کتل او بيا پرځای کول',
+'undeletepagetitle' => "'''د [[:$1|$1]] ړنگې شوې بڼې په لاندې توگه دي'''.",
 'viewdeletedpage' => 'ړنگ شوي مخونه کتل',
+'undeletehistory' => 'که تاسې همدا مخ بيازېرمه کوۍ، نو ټولې بڼې به يې پېښليک کې زېرمه شي.
+که چېرته د ړنگېدو وروسته په همدې نوم يو بل نوی مخ جوړ شوی وي، نو زېرمه شوې بڼې به يې په پخواني پېښليک کې ښکاره شي.',
 'undeletebtn' => 'بيازېرمل',
 'undeletelink' => 'کتل/بيازېرمل',
 'undeleteviewlink' => 'کتل',
@@ -1856,7 +1875,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'undeletedfiles' => '{{PLURAL:$1|1 دوتنه بيازېرمه شوه|$1 دوتنې بيازېرمه شوې}}',
 'undelete-header' => 'د وروستيو ړنگو شوو مخونو لپاره [[Special:Log/delete|د ړنگولو يادښت]] وگورۍ.',
 'undelete-search-box' => 'ړنگ شوي مخونه لټول',
-'undelete-search-prefix' => 'Ù\87غÙ\87 Ù\85Ø®Ù\88Ù\86Ù\87 Ú\9aکارÙ\87 Ú©Ú\93Ù\87 Ú\86Û\90 Ù¾Û\90لېږي په:',
+'undelete-search-prefix' => 'Ù\87غÙ\87 Ù\85Ø®Ù\88Ù\86Ù\87 Ú\86Û\90 Ù¾Ù\8aلېږي په:',
 'undelete-search-submit' => 'پلټل',
 'undelete-show-file-submit' => 'هو',
 
@@ -1879,7 +1898,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'sp-contributions-newbies' => 'د نوو گڼونونو ونډې ښکاره کول',
 'sp-contributions-newbies-sub' => 'د نوو گڼونونو لپاره',
 'sp-contributions-blocklog' => 'د بنديز يادښت',
-'sp-contributions-deleted' => 'Ú\93Ù\86Ú«Û\90 Ø´Ù\88Û\90 ونډې',
+'sp-contributions-deleted' => 'Ú\93Ù\86Ú¯Û\90دÙ\84Û\90 Ú©Ø§Ø±Ù\86 ونډې',
 'sp-contributions-uploads' => 'پورته کېدنې',
 'sp-contributions-logs' => 'يادښتونه',
 'sp-contributions-talk' => 'خبرې اترې',
@@ -1925,6 +1944,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 ** د گڼ شمېر گڼونونو نه ناوړه گټه اخيستل
 ** نه مننونکی کارن-نوم کارول',
 'ipbcreateaccount' => 'د گڼون جوړولو مخنيول',
+'ipbemailban' => 'د کارن لخوا په برېښليک رالېږلو بنديز',
 'ipbsubmit' => 'په دې کارن بنديز لگول',
 'ipbother' => 'بل وخت:',
 'ipboptions' => '2 ساعتونه:2 hours,1 ورځ:1 day,3 ورځې:3 days,1 اوونۍ:1 week,2 اوونۍ:2 weeks,1 مياشت:1 month,3 مياشتې:3 months,6 مياشتې:6 months,1 کال:1 year,لامحدوده:infinite',
@@ -1940,6 +1960,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'ipb-blocklist' => 'شته بنديزونه کتل',
 'ipb-blocklist-contribs' => 'د $1 ونډې',
 'unblockip' => 'کارن له بنديزه وېستل',
+'unblockiptext' => 'د لاندې فورمې په کارولو سره يو بنديز شوي کارن يا آی پي پتې ته د ليکلو لاسرسی ورکولی شی.',
 'ipusubmit' => 'دا بنديز ليرې کول',
 'unblocked' => 'له [[User:$1|$1]] بنديز ليري شو',
 'unblocked-range' => 'له $1 بنديز ليرې شو',
@@ -2028,7 +2049,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'movenotallowedfile' => 'تاسې د دوتنو د لېږدولو پرېښله نلرۍ.',
 'cant-move-user-page' => 'تاسې د کارن مخونو د لېږدولو پرېښله نلرۍ (د څېرمه مخونو نه پرته).',
 'cant-move-to-user-page' => 'تاسې د يو کارن مخ ته د يوه بل مخ د لېږدولو پرېښله نلرۍ (د يو کارن د څېرمه مخ نه پرته).',
-'newtitle' => 'Ù\8aÙ\88 Ù\86Ù\88Ù\8a Ø³Ø±Ù\84Ù\8aÚ© ØªÙ\87:',
+'newtitle' => 'نوي سرليک ته:',
 'move-watch' => 'همدا مخ کتل',
 'movepagebtn' => 'مخ لېږدول',
 'pagemovedsub' => 'لېږدول په برياليتوب سره ترسره شوه',
@@ -2148,7 +2169,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'tooltip-ca-nstab-image' => 'د دوتنې مخ کتل',
 'tooltip-ca-nstab-mediawiki' => 'د غونډال پيغامونه کتل',
 'tooltip-ca-nstab-template' => 'کينډۍ کتل',
-'tooltip-ca-nstab-help' => 'د لارښود مخ کتل',
+'tooltip-ca-nstab-help' => 'لارښود مخ کتل',
 'tooltip-ca-nstab-category' => 'د وېشنيزې مخ ښکاره کول',
 'tooltip-minoredit' => 'دا لکه يوه وړه سمونه په نښه کوي[alt-i]',
 'tooltip-save' => 'ستاسې بدلونونه خوندي کوي',
@@ -2189,9 +2210,9 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'pageinfo-length' => 'مخ اوږدوالی (په بايټونو)',
 'pageinfo-article-id' => 'د مخ پېژند',
 'pageinfo-language' => 'د مخ د مېنځپانگې ژبه',
-'pageinfo-robot-policy' => 'د پلټن ماشين دريځ',
-'pageinfo-robot-index' => 'Ù\84Ù\8aÚ©Ù\84Ú\93Ù\88Ú\93',
-'pageinfo-robot-noindex' => 'Ù\84Ù\8aÚ©Ù\84Ú\93Ù\88Ú\93 Ù\86Ù\87',
+'pageinfo-robot-policy' => 'ليکلړ اوډنه د روباټونو لخوا',
+'pageinfo-robot-index' => 'پرÛ\90Ú\9aÙ\84',
+'pageinfo-robot-noindex' => 'Ù\86اپرÛ\90Ú\9aÙ\84',
 'pageinfo-views' => 'د کتنو شمېر',
 'pageinfo-watchers' => 'د مخ د کتونکو شمېر',
 'pageinfo-redirects-name' => 'دې مخ ته د ورگرځونو شمېر',
@@ -2234,7 +2255,9 @@ $1',
 'file-info-size' => '$1 × $2 پېکسل, د دوتنې کچه: $3, MIME بڼه: $4',
 'file-nohires' => 'تر دې کچې لوړې بېلن نښې نشته.',
 'svg-long-desc' => 'SVG دوتنه، نومېنلي $1 × $2 پېکسل، د دوتنې کچه: $3',
-'show-big-image' => 'بشپړ بېلن نښې',
+'show-big-image' => 'آرنۍ دوتنه',
+'show-big-image-preview' => 'د همدې ليدنې کچه: $1.',
+'show-big-image-size' => '$1 × $2 پېکسل',
 'file-info-gif-frames' => '$1 {{PLURAL:$1|چوکاټ|چوکاټونه}}',
 'file-info-png-repeat' => '$1 {{PLURAL:$1|ځل|ځله}} وغږېده',
 'file-info-png-frames' => '$1 {{PLURAL:$1|چوکاټ|چوکاټونه}}',
@@ -2262,6 +2285,12 @@ $1',
 'ago' => '$1 دمخه',
 'just-now' => 'همدا اوس',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|گړۍ|گړۍ}} دمخه',
+'minutes-ago' => '$1 {{PLURAL:$1|دقيقه|دقيقې}} دمخه',
+'seconds-ago' => '$1 {{PLURAL:$1|ثانيه|ثانيې}} دمخه',
+'monday-at' => 'Monday at $1',
+
 # Bad image list
 'bad_image_list' => 'بڼه يې په لاندې توگه ده:
 
@@ -2294,6 +2323,7 @@ $1',
 # Exif tags
 'exif-imagewidth' => 'سوروالی',
 'exif-imagelength' => 'لوړوالی',
+'exif-stripoffsets' => 'د انځور مالوماتځی',
 'exif-datetime' => 'د دوتنې د بدلون وخت او نېټه',
 'exif-imagedescription' => 'انځور سرليک',
 'exif-make' => 'د کامرې جوړونکی',
@@ -2351,7 +2381,7 @@ $1',
 'exif-copyrighted-true' => 'په رښتو سمبال',
 'exif-copyrighted-false' => 'د خپراوي د رښتو دريځ نه دی ټاکل شوی',
 
-'exif-unknowndate' => 'نامالومه نېټه',
+'exif-unknowndate' => 'ناڅرگنده نېټه',
 
 'exif-orientation-1' => 'نورمال',
 
@@ -2464,7 +2494,7 @@ $1',
 'monthsall' => 'ټول',
 
 # Email address confirmation
-'confirmemail' => 'د Ø¨Ø±Û\90Ú\9aÙ\84Ù\8aÚ© Ù¾ØªÛ\90 Ù¾Ø®Ù\84Û\8c Ù\88Ú©Ú\93Û\8c',
+'confirmemail' => 'برÛ\90Ú\9aÙ\84Ù\8aÚ© Ù¾ØªÙ\87 ØªØ§Ù\8aÙ\8aدÙ\88Ù\84',
 'confirmemail_noemail' => 'تاسې يوه سمه برېښليک پته نه ده ثبته کړې مهرباني وکړی [[Special:Preferences|د کارن غوره توبونه]] مو بدل کړۍ.',
 'confirmemail_send' => 'يو تاييدي کوډ لېږل',
 'confirmemail_sent' => 'تاييدي برېښليک ولېږل شو.',
@@ -2494,7 +2524,7 @@ $5
 
 # action=purge
 'confirm_purge_button' => 'ښه',
-'confirm-purge-top' => 'په رښتيا د همدې مخ حافظه سپينول غواړۍ؟',
+'confirm-purge-top' => 'آيا د همدې مخ حافظه سپينول غواړۍ؟',
 
 # action=watch/unwatch
 'confirm-watch-button' => 'ښه',
@@ -2511,6 +2541,10 @@ $5
 'imgmultigo' => 'ورځه!',
 'imgmultigoto' => 'د $1 مخ ته ورځه',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(تلواليزه ژبه)',
+'img-lang-go' => 'ورځه',
+
 # Table pager
 'ascending_abbrev' => 'ختند',
 'descending_abbrev' => 'مخښکته',
@@ -2526,7 +2560,7 @@ $5
 # Auto-summaries
 'autosumm-blank' => 'مخ تش شو',
 'autosumm-replace' => "دا مخ د '$1' پرځای راوستل",
-'autoredircomment' => '[[$1]] ته وګرځولی شو',
+'autoredircomment' => '[[$1]] ته وروگرځېده',
 'autosumm-new' => 'د "$1" تورو مخ جوړ شو',
 
 # Size units
@@ -2611,6 +2645,8 @@ $5
 'version-specialpages' => 'ځانگړي مخونه',
 'version-skins' => 'پوښۍ',
 'version-other' => 'بل',
+'version-hooks' => 'کونډۍ',
+'version-hook-name' => 'کونډۍ نوم',
 'version-version' => '(بڼه $1)',
 'version-license' => 'منښتليک',
 'version-poweredby-credits' => "دا ويکي د '''[https://www.mediawiki.org/ مېډياويکي]''' په سېک چلېږي، ټولې رښتې خوندي دي © 2001-$1 $2.",
@@ -2624,6 +2660,13 @@ $5
 'version-software-product' => 'اېبره',
 'version-software-version' => 'بڼه',
 
+# Special:Redirect
+'redirect-submit' => 'ورځه',
+'redirect-value' => 'ارزښت:',
+'redirect-user' => 'کارن پېژند',
+'redirect-file' => 'د دوتنې نوم',
+'redirect-not-exists' => 'ارزښت و نه موندل شو',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'د دوه گونو دوتنو پلټنه',
 'fileduplicatesearch-legend' => 'د دوه گونو دوتنو پلټنه',
@@ -2636,8 +2679,7 @@ $5
 # Special:SpecialPages
 'specialpages' => 'ځانگړي مخونه',
 'specialpages-note' => '* نورماله ځانگړي مخونه.
-* <strong class="mw-specialpagerestricted">محدوده ځانگړي مخونه.</strong>
-* <span class="mw-specialpagecached">رانيولي ځانگړي مخونه (کېدای شي منسوخ شوی وي).</span>',
+* <strong class="mw-specialpagerestricted">محدوده ځانگړي مخونه.</strong>',
 'specialpages-group-maintenance' => 'د څارنې راپورونه',
 'specialpages-group-other' => 'نور ځانگړي مخونه',
 'specialpages-group-login' => 'ننوتل / گڼون جوړول',
@@ -2748,6 +2790,9 @@ $5
 'duration-centuries' => '$1 {{PLURAL:$1|پېړۍ|پېړۍ}}',
 'duration-millennia' => '$1 {{PLURAL:$1|زرمه|زرمې}}',
 
+# Limit report
+'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|بايټ|بايټونه}}',
+
 # Special:ExpandTemplates
 'expandtemplates' => 'کينډۍ غځول',
 'expand_templates_input' => 'ځايونکی متن:',
index 69c96d1..d63e4d9 100644 (file)
@@ -382,14 +382,14 @@ $messages = array(
 'wednesday' => 'quarta-feira',
 'thursday' => 'quinta-feira',
 'friday' => 'sexta-feira',
-'saturday' => 'Sábado',
-'sun' => 'Dom',
-'mon' => 'Seg',
-'tue' => 'Ter',
-'wed' => 'Qua',
-'thu' => 'Qui',
-'fri' => 'Sex',
-'sat' => 'Sáb',
+'saturday' => 'sábado',
+'sun' => 'dom',
+'mon' => 'seg',
+'tue' => 'ter',
+'wed' => 'qua',
+'thu' => 'qui',
+'fri' => 'sex',
+'sat' => 'sáb',
 'january' => 'janeiro',
 'february' => 'fevereiro',
 'march' => 'março',
@@ -402,18 +402,18 @@ $messages = array(
 'october' => 'outubro',
 'november' => 'novembro',
 'december' => 'dezembro',
-'january-gen' => 'Janeiro',
-'february-gen' => 'Fevereiro',
+'january-gen' => 'janeiro',
+'february-gen' => 'fevereiro',
 'march-gen' => 'Março',
-'april-gen' => 'Abril',
-'may-gen' => 'Maio',
-'june-gen' => 'Junho',
-'july-gen' => 'Julho',
-'august-gen' => 'Agosto',
-'september-gen' => 'Setembro',
-'october-gen' => 'Outubro',
-'november-gen' => 'Novembro',
-'december-gen' => 'Dezembro',
+'april-gen' => 'abril',
+'may-gen' => 'maio',
+'june-gen' => 'junho',
+'july-gen' => 'julho',
+'august-gen' => 'agosto',
+'september-gen' => 'setembro',
+'october-gen' => 'outubro',
+'november-gen' => 'novembro',
+'december-gen' => 'dezembro',
 'jan' => 'Jan.',
 'feb' => 'Fev.',
 'mar' => 'Mar.',
@@ -823,7 +823,7 @@ Verifique a ortografia, ou [[Special:UserLogin/signup|crie uma nova conta]].',
 'passwordtooshort' => 'A palavra-chave deve ter no mínimo $1 {{PLURAL:$1|carácter|caracteres}}.',
 'password-name-match' => 'A sua palavra-chave tem de ser diferente do seu nome de utilizador.',
 'password-login-forbidden' => 'Foi proibido o uso deste nome de utilizador e palavra-chave.',
-'mailmypassword' => 'Enviar uma palavra-chave nova por correio electrónico',
+'mailmypassword' => 'Reiniciar a palavra-chave',
 'passwordremindertitle' => 'Nova palavra-chave temporária na {{SITENAME}}',
 'passwordremindertext' => 'Alguém (provavelmente você, a partir do endereço IP $1) solicitou uma palavra-chave nova para a sua conta na {{SITENAME}} ($4).
 Foi criada a palavra-chave temporária "$3" para o utilizador "$2".
@@ -896,7 +896,7 @@ Pode ter já alterado com sucesso a sua palavra-chave ou solicitado uma nova pal
 # Special:PasswordReset
 'passwordreset' => 'Repor palavra-chave',
 'passwordreset-text-one' => 'Preencha este formulário para repor a sua palavra-passe.',
-'passwordreset-text-many' => '{{PLURAL:$1|Preencha um dos campos para redefinir sua senha.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Preencha um dos campos para redefinir sua senha via correio eletrónico.}}',
 'passwordreset-legend' => 'Reiniciar a palavra-chave',
 'passwordreset-disabled' => 'O reinício da palavra-chave foi impossibilitado nesta wiki.',
 'passwordreset-emaildisabled' => 'Recursos de e-mail foram desativados neste wiki.',
@@ -1559,6 +1559,7 @@ Se optar por revelá-lo, ele será utilizado para atribuir-lhe crédito pelo seu
 'prefs-tokenwatchlist' => 'Chave',
 'prefs-diffs' => 'Diferenças',
 'prefs-help-prefershttps' => 'Esta preferência terá efeito no seu próximo início de sessão.',
+'prefs-tabs-navigation-hint' => 'Dica: Você pode utilizar as setas direita-esquerda do teclado para navegar entre as guias na lista.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Parece válido',
@@ -1740,10 +1741,11 @@ Se optar por revelá-lo, ele será utilizado para atribuir-lhe crédito pelo seu
 'recentchanges-summary' => 'Acompanhe nesta página as mudanças mais recentes da wiki.',
 'recentchanges-noresult' => 'Nenhuma alteração correspondente a esses critérios foi realizada durante o período selecionado.',
 'recentchanges-feed-description' => "Acompanhe neste ''feed'' as mudanças mais recentes da wiki.",
-'recentchanges-label-newpage' => 'Esta edição criou uma página nova',
+'recentchanges-label-newpage' => 'Esta edição criou uma nova página',
 'recentchanges-label-minor' => 'Esta é uma edição menor',
 'recentchanges-label-bot' => 'Esta edição foi feita por um robô',
 'recentchanges-label-unpatrolled' => 'Esta edição ainda não foi patrulhada',
+'recentchanges-label-plusminus' => 'Alteração no tamanho da página, em bytes',
 'recentchanges-legend-newpage' => '(ver também a [[Special:NewPages|lista de páginas novas]])',
 'rcnotefrom' => 'Abaixo estão as mudanças desde <b>$2</b> (mostradas até <b>$1</b>).',
 'rclistfrom' => 'Mostrar as novas mudanças a partir das $1',
@@ -3152,6 +3154,7 @@ Utilize o botão "Antever resultado" antes de gravar, por favor.',
 Permite colocar uma justificação no resumo da edição.',
 'tooltip-preferences-save' => 'Gravar preferências',
 'tooltip-summary' => 'Introduza um resumo breve',
+'interlanguage-link-title' => '$1 — $2',
 
 # Stylesheets
 'common.css' => '/* Código CSS colocado aqui será aplicado a todos os temas */',
@@ -3160,6 +3163,7 @@ Permite colocar uma justificação no resumo da edição.',
 'modern.css' => '/* Código CSS colocado aqui afectará os utilizadores do tema Moderno */',
 'vector.css' => '/* Código CSS colocado aqui afectará os utilizadores do tema Vector */',
 'print.css' => '/* Código CSS colocado aqui afectará as impressões */',
+'noscript.css' => '/* Os estilos CSS colocados aqui afetarão os utilizadores que tenham o JavaScript desativado em seus navegadores */',
 
 # Scripts
 'common.js' => '/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */',
@@ -3207,6 +3211,7 @@ Este bloqueio foi provavelmente causado por um link para um site externo que con
 'pageinfo-length' => 'Tamanho da página (em bytes)',
 'pageinfo-article-id' => 'ID da página',
 'pageinfo-language' => 'Idioma do conteúdo da página',
+'pageinfo-content-model' => 'Modelo de conteúdo de página',
 'pageinfo-robot-policy' => 'Indexação por robôs',
 'pageinfo-robot-index' => 'Permitida',
 'pageinfo-robot-noindex' => 'Não permitida',
@@ -3865,6 +3870,11 @@ Confirme que deseja realmente recriar esta página, por favor.",
 'imgmultigo' => 'Ir!',
 'imgmultigoto' => 'Ir para a página $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(língua padrão)',
+'img-lang-info' => 'Renderizar essa imagem em $1 $2.',
+'img-lang-go' => 'Ir',
+
 # Table pager
 'ascending_abbrev' => 'asc',
 'descending_abbrev' => 'desc',
@@ -4188,7 +4198,9 @@ Caso contrário, pode facilmente usar o formulário abaixo. O seu comentário se
 
 # Limit report
 'limitreport-title' => 'Dados de perfis do analisador:',
+'limitreport-cputime' => 'Tempo de utilização da CPU',
 'limitreport-cputime-value' => '$1 {{PLURAL:$1|segundo|segundos}}',
+'limitreport-walltime' => 'Tempo real de utilização',
 'limitreport-walltime-value' => '$1 {{PLURAL:$1|segundo|segundos}}',
 'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|byte|bytes}}',
 'limitreport-templateargumentsize' => 'Tamanho dos argumentos da predefinição',
index 4d30101..c960864 100644 (file)
@@ -49,6 +49,7 @@
  * @author McDutchie
  * @author MetalBrasil
  * @author MisterSanderson
+ * @author Mordecaista
  * @author Nemo bis
  * @author OTAVIO1981
  * @author Opraco
@@ -58,6 +59,7 @@
  * @author Raylton P. Sousa
  * @author Rodrigo Calanca Nishino
  * @author Rodrigo Padula
+ * @author Rodrigo codignoli
  * @author Sir Lestaty de Lioncourt
  * @author Teles
  * @author TheGabrielZaum
@@ -600,8 +602,8 @@ Veja a [[Special:Version|página sobre a versão do sistema]].',
 'youhavenewmessages' => 'Você tem $1 ($2).',
 'youhavenewmessagesfromusers' => 'Você tem $1 de {{PLURAL:$3|outro usuário|$3 usuários}} ($2)',
 'youhavenewmessagesmanyusers' => 'Você tem $1 de muitos usuários ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|uma mensagem nova|mensagens novas}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|última alteração|últimas alterações}}',
+'newmessageslinkplural' => '{{PLURAL:$1|uma mensagem nova|999=mensagens novas}}',
+'newmessagesdifflinkplural' => 'último {{PLURAL:$1|mudança|999=mudanças}}',
 'youhavenewmessagesmulti' => 'Você tem novas mensagens em $1',
 'editsection' => 'editar',
 'editold' => 'editar',
@@ -731,7 +733,8 @@ O administrador que bloqueou ofereceu a seguinte explicação: "$3".',
 'invalidtitle-knownnamespace' => 'Título inválido para o espaço nominal "$2" e texto "$3"',
 'invalidtitle-unknownnamespace' => 'Título inválido para o espaço nominal de número desconhecido ($1) e texto "$2"',
 'exception-nologin' => 'Não está autenticado',
-'exception-nologin-text' => 'Esta página ou ação requer que você esteja autenticado neste wiki.',
+'exception-nologin-text' => 'Por favor clique [[Special:Userlogin|log in]] para poder acessar esta página ou ação',
+'exception-nologin-text-manual' => 'Por favor clique $1 para poder acessar essa página ou ação.',
 
 # Virus scanner
 'virus-badscanner' => "Má configuração: antivírus desconhecido: ''$1''",
@@ -830,7 +833,7 @@ Tente novamente.',
 'passwordtooshort' => 'As senhas devem ter no mínimo {{PLURAL:$1|1 caractere|$1 caracteres}}.',
 'password-name-match' => 'A sua senha deve ser diferente do seu nome de usuário.',
 'password-login-forbidden' => 'O uso deste nome de usuário e senha foi desautorizado.',
-'mailmypassword' => 'Enviar uma nova senha por e-mail',
+'mailmypassword' => 'Redefinir senha',
 'passwordremindertitle' => 'Nova senha temporária em {{SITENAME}}',
 'passwordremindertext' => 'Alguém (provavelmente você, a partir do endereço de IP $1) solicitou uma nova senha para {{SITENAME}} ($4). Foi criada uma senha temporária para o usuário "$2", sendo ela "$3". Se esta era sua intenção, você precisará se autenticar e escolher uma nova senha agora.
 A sua senha temporária expirará em {{PLURAL:$5|um dia|$5 dias}}.
@@ -849,7 +852,8 @@ Para prevenir abusos, apenas um lembrete poderá ser enviado a cada {{PLURAL:$1|
 'acct_creation_throttle_hit' => 'Visitantes deste wiki utilizando o seu endereço IP criaram {{PLURAL:$1|1 conta|$1 contas}} no último dia, o que é o máximo permitido neste período de tempo.
 Como resultado, visitantes que usam este endereço IP não podem criar mais nenhuma conta no momento.',
 'emailauthenticated' => 'O seu endereço de e-mail foi autenticado às $3 de $2.',
-'emailnotauthenticated' => 'O seu endereço de e-mail ainda não foi autenticado. Não lhe será enviado nenhum e-mail sobre nenhuma das seguintes funcionalidades.',
+'emailnotauthenticated' => 'O seu endereço de e-mail ainda não foi autenticado.
+Não lhe será enviado nenhum e-mail sobre nenhuma das seguintes funcionalidades.',
 'noemailprefs' => 'Especifique um endereço de e-mail para que os seguintes recursos funcionem.',
 'emailconfirmlink' => 'Confirme o seu endereço de e-mail',
 'invalidemailaddress' => "O endereço de ''e-mail'' não pode ser aceite devido a talvez possuir um formato inválido. Por favor, introduza um endereço bem formatado ou esvazie o campo.",
@@ -949,6 +953,7 @@ Senha temporária: $2',
 Você só deve reiniciá-los se compartilhou-os com alguém ou se a sua conta foi comprometida.',
 'resettokens-no-tokens' => 'Não existem tokens para reiniciar.',
 'resettokens-legend' => 'Reiniciar tokens',
+'resettokens-tokens' => 'Símbolos:',
 'resettokens-token-label' => '$1 (valor atual: $2)',
 'resettokens-watchlist-token' => 'Tokens para o feed da web (Atom/RSS) das [[Special:Watchlist|mudanças de páginas em sua lista de páginas vigiadas]]',
 'resettokens-done' => 'Tokens reiniciados.',
@@ -1281,10 +1286,11 @@ Você pode ver esta comparação; detalhes podem ser encontrados no [{{fullurl:{
 Outros administradores no {{SITENAME}} continuarão podendo acessar ao conteúdo escondido e restaurá-lo através desta mesma ''interface'', a menos que uma restrição adicional seja definida.",
 'revdelete-confirm' => 'Por favor confirme que pretende executar esta ação, que compreende as suas consequências e que o faz em concordância com as [[{{MediaWiki:Policy-url}}|políticas e recomendações]].',
 'revdelete-suppress-text' => "A supressão deverá ser usada '''apenas''' para os seguintes casos:
+* Informação potencialmente difamatória
 * Informação pessoal inapropriada
 *: ''endereços de domicílio e números de telefone, números da segurança social, etc''",
 'revdelete-legend' => 'Definir restrições de visualização',
-'revdelete-hide-text' => 'Ocultar texto da edição',
+'revdelete-hide-text' => 'Texto de revisão',
 'revdelete-hide-image' => 'Ocultar conteúdos do arquivo',
 'revdelete-hide-name' => 'Ocultar ação e alvo',
 'revdelete-hide-comment' => 'Sumário de edição',
@@ -1436,6 +1442,7 @@ Note que os índices do sistema de busca externo poderão conter referências de
 'preferences' => 'Preferências',
 'mypreferences' => 'Preferências',
 'prefs-edits' => 'Número de edições:',
+'prefsnologintext2' => 'Por favor clique $1 para alterar suas preferências',
 'prefs-skin' => 'Tema',
 'skin-preview' => 'Pré-visualização',
 'datedefault' => 'Sem preferência',
@@ -1731,8 +1738,10 @@ Caso decida fornecê-lo, este será utilizado para dar-lhe crédito pelo seu tra
 'recentchanges-label-minor' => 'Esta é uma edição menor',
 'recentchanges-label-bot' => 'Esta edição foi feita por um robô',
 'recentchanges-label-unpatrolled' => 'Esta edição ainda não foi patrulhada',
-'recentchanges-label-plusminus' => 'Alterações no tamanho da página, em bytes',
-'recentchanges-legend-newpage' => '$1 - nova página',
+'recentchanges-label-plusminus' => 'Alteração no tamanho da página, em bytes',
+'recentchanges-legend-heading' => "'''Legenda''':",
+'recentchanges-legend-newpage' => '(veja também a [[Special:NewPages|lista de páginas novas]])',
+'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Seguem as alterações desde as '''$4''' de '''$3''' (limitadas a '''$1''').",
 'rclistfrom' => 'Mostrar as novas alterações a partir das $1',
 'rcshowhideminor' => '$1 edições menores',
@@ -2177,6 +2186,8 @@ Talvez você deseje editar a descrição na sua [$2 página de descrição de ar
 'pageswithprop-text' => 'Esta página lista as páginas que usam uma determinada propriedade de página.',
 'pageswithprop-prop' => 'Nome da propriedade:',
 'pageswithprop-submit' => 'Ir',
+'pageswithprop-prophidden-long' => 'Longa propriedade de texto oculta ($1)',
+'pageswithprop-prophidden-binary' => 'Valor de propriedade binária oculta ($1)',
 
 'doubleredirects' => 'Redirecionamentos duplos',
 'doubleredirectstext' => 'Esta página lista as páginas que redirecionam para outros redirecionamentos.
@@ -2204,6 +2215,7 @@ Entradas <del>riscadas</del> foram resolvidas.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|Interwikis}}',
 'nlinks' => '$1 {{PLURAL:$1|linque|linques}}',
 'nmembers' => '$1 {{PLURAL:$1|membro|membros}}',
+'nmemberschanged' => '$2{{PLURAL:$2|membro|membros}}',
 'nrevisions' => '$1 {{PLURAL:$1|revisão|revisões}}',
 'nviews' => '$1 {{PLURAL:$1|visita|visitas}}',
 'nimagelinks' => 'Utilizada em $1 {{PLURAL:$1|página|páginas}}',
@@ -3184,6 +3196,7 @@ Tal bloqueio foi provavelmente causado por uma ligação para um ''website'' ext
 'pageinfo-length' => 'Tamanho da página (em bytes)',
 'pageinfo-article-id' => 'ID da página',
 'pageinfo-language' => 'Idioma do conteúdo da página',
+'pageinfo-content-model' => 'Modelo de conteúdo de página',
 'pageinfo-robot-policy' => 'Indexado por robôs',
 'pageinfo-robot-index' => 'Autorizado',
 'pageinfo-robot-noindex' => 'Desautorizado',
@@ -3269,7 +3282,7 @@ Executá-lo poderá comprometer a segurança do seu sistema.",
 'svg-long-desc' => 'arquivo SVG, de $1 × $2 pixels, tamanho: $3',
 'svg-long-desc-animated' => 'arquivo SVG animado, de $1 × $2 pixels e de tamanho: $3',
 'svg-long-error' => 'Arquivo SVG inválido: $1',
-'show-big-image' => 'Resolução original',
+'show-big-image' => 'Arquivo original',
 'show-big-image-preview' => 'Tamanho desta previsualização: $1.',
 'show-big-image-other' => '{{PLURAL:$2|Outra resolução|Outras resoluções}}: $1.',
 'show-big-image-size' => '$1 × $2 pixels',
@@ -3834,12 +3847,20 @@ Por favor, confirme que realmente deseja recriar esta página.",
 'confirm-unwatch-button' => 'OK',
 'confirm-unwatch-top' => 'Remover esta página das páginas vigiadas?',
 
+# Separators for various lists, etc.
+'quotation-marks' => '$1',
+
 # Multipage image navigation
 'imgmultipageprev' => '← página anterior',
 'imgmultipagenext' => 'próxima página →',
 'imgmultigo' => 'Ir!',
 'imgmultigoto' => 'Ir para a página $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(Idioma padrão)',
+'img-lang-info' => 'Renderizar essa imagem em $1 $2',
+'img-lang-go' => 'Ir',
+
 # Table pager
 'ascending_abbrev' => 'asc',
 'descending_abbrev' => 'desc',
@@ -3939,7 +3960,7 @@ Em conjunto com este programa deve ter recebido [{{SERVER}}{{SCRIPTPATH}}/COPYIN
 # Special:Redirect
 'redirect' => 'Redirecionar por arquivo, usuário ou ID de revisão',
 'redirect-legend' => 'Redirecionar para um arquivo ou página',
-'redirect-summary' => 'Esta página especial redireciona a um arquivo (dado o nome do arquivo), a uma página (dado um ID de revisão) ou a uma página de usuário (dado o ID do usuário).',
+'redirect-summary' => 'Esta página especial redireciona a um arquivo (dado o nome do arquivo), a uma página (dado um ID de revisão) ou a uma página de usuário (dado o ID do usuário). Uso: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], ou [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Ir',
 'redirect-lookup' => 'Buscar',
 'redirect-value' => 'Valor:',
@@ -3961,6 +3982,7 @@ Em conjunto com este programa deve ter recebido [{{SERVER}}{{SCRIPTPATH}}/COPYIN
 
 # Special:SpecialPages
 'specialpages' => 'Páginas especiais',
+'specialpages-note-top' => 'Legenda',
 'specialpages-note' => '* Páginas especiais normais.
 * <span class="mw-specialpagerestricted">Páginas especiais restritas.</span>',
 'specialpages-group-maintenance' => 'Relatórios de manutenção',
index 876476c..e99ab8e 100644 (file)
@@ -27,6 +27,7 @@
  * @author Boivie
  * @author Brest
  * @author BrokenArrow
+ * @author Byfserag
  * @author Byrial
  * @author BáthoryPéter
  * @author Claudia Hattitten
@@ -58,6 +59,7 @@
  * @author Iwan Novirion
  * @author Jon Harald Søby
  * @author Karduelis
+ * @author Kazu89
  * @author Kghbln
  * @author Kizito
  * @author Klenje
@@ -78,6 +80,7 @@
  * @author Matma Rex
  * @author MaxSem
  * @author McDutchie
+ * @author MegaAlex
  * @author Meno25
  * @author Metalhead64
  * @author MichaelFrey
@@ -1328,7 +1331,6 @@ See example: [[Special:UserLogin]]',
 {{Identical|Create an account}}',
 'createaccount' => 'Used on the top of the page for logged out users, where it appears next to {{msg-mw|login}}, so consider making them similar.
 
-It is also used on the submit button in the form/special page where you register a new account.
 {{doc-special|CreateAccount}}
 {{Identical|Create account}}',
 'gotaccount' => 'Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED. Parameter:
@@ -1336,9 +1338,9 @@ It is also used on the submit button in the form/special page where you register
 'gotaccountlink' => 'Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED.
 {{Identical|Log in}}',
 'userlogin-resetlink' => 'Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED.',
-'userlogin-resetpassword-link' => 'Used as link text on login form.
+'userlogin-resetpassword-link' => 'Used as link text in the login form.
 
-The link points to the local [[Special:PasswordReset]].
+The link points to the local page [[Special:PasswordReset]].
 
 See example: [[Special:UserLogin]]
 
@@ -2009,7 +2011,7 @@ Parameters:
 'semiprotectedpagewarning' => '{{Related|Semiprotectedpagewarning}}',
 'cascadeprotectedwarning' => 'Parameters:
 * $1 - number of pages, for PLURAL support',
-'titleprotectedwarning' => 'Warning message above the edit form when editing a page that has been protected aginst creation.',
+'titleprotectedwarning' => 'Warning message above the edit form when editing a page that has been protected against creation.',
 'templatesused' => 'Displayed below the page when editing it. It indicates a list of templates which are used on that page.
 
 Parameters:
@@ -2260,10 +2262,17 @@ See also:
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Used as title of the error message {{msg-mw|Cantcreateaccount-text}}.',
-'cantcreateaccount-text' => 'Used as error message, with the title {{msg-mw|cantcreateaccounttitle}}.
+'cantcreateaccount-text' => 'Used as error message, with the title {{msg-mw|Cantcreateaccounttitle}}.
 * $1 - target IP address
-* $2 - reason or {{msg-mw|blockednoreason}}
-* $3 - username',
+* $2 - reason or {{msg-mw|Blockednoreason}}
+* $3 - username
+See also:
+* {{msg-mw|Cantcreateaccount-range-text}}',
+'cantcreateaccount-range-text' => "Used as more detailed version of the {{msg-mw|Cantcreateaccount-text}} error message, with the title {{msg-mw|Cantcreateaccounttitle}}.
+* $1 - target IP range
+* $2 - reason or {{msg-mw|Blockednoreason}}
+* $3 - username
+* $4 - current user's IP address",
 
 # History pages
 'viewpagelogs' => 'Link displayed in history of pages',
@@ -3222,6 +3231,7 @@ Used in [[Special:Preferences]], tab "Watchlist".
 The checkbox has the label {{msg-mw|Tog-prefershttps}}.
 
 See example: [[mw:Special:Preferences]].',
+'prefs-tabs-navigation-hint' => 'Hint message that explains the arrow key navigation for the tabs on [[Special:Preferences]] to screenreader users.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Used as hint for {{msg-mw|changeemail-newemail}} field in [[Special:ChangeEmail]], when the provided E-mail address is valid.',
@@ -3589,6 +3599,8 @@ See also:
 'recentchanges-label-plusminus' => 'Legend item for plus/minus.
 
 Preceded by legend example {{msg-mw|Recentchanges-legend-plusminus}}.',
+'recentchanges-legend-heading' => 'Used as a heading for legend box on [[Special:RecentChanges]] and [[Special:Watchlist]].
+{{Identical|Legend}}',
 'recentchanges-legend-newpage' => 'Used as legend in [[Special:RecentChanges]]. Preceded by {{msg-mw|Recentchanges-label-newpage}}.',
 'recentchanges-legend-plusminus' => 'A plus/minus sign with a number for the legend.',
 'rcnotefrom' => 'This message is displayed at [[Special:RecentChanges]] when viewing recentchanges from some specific time.
@@ -4847,7 +4859,19 @@ See also:
 Parameters:
 * $1 - the number of interwiki links",
 'nlinks' => 'This appears in brackets after each entry on the special page [[Special:MostLinked]]. $1 is the number of wiki links.',
-'nmembers' => 'Appears in brackets after each category listed on the special page [[Special:WantedCategories]]. $1 is the number of members of the category.',
+'nmembers' => 'Appears in brackets after each category listed on the special page [[Special:WantedCategories]].
+
+Parameters:
+* $1 - the number of members of the category
+See also:
+* {{msg-mw|Nmemberschanged}}',
+'nmemberschanged' => 'Appears in brackets after each category listed on the special page [[Special:WantedCategories]] if the number of pages in the category has changed since the list was last refreshed.
+
+Parameters:
+* $1 - the original number of members of the category
+* $2 - the current one
+See also:
+* {{msg-mw|Nmembers}}',
 'nrevisions' => 'Used as link text in [[Special:FewestRevisions]].
 
 The link points to the page history (action=history).
@@ -7971,7 +7995,8 @@ The label and the input box are always hidden.',
 'pageinfo-display-title' => 'The title that is displayed when the page is viewed.',
 'pageinfo-default-sort' => 'The key by which the page is sorted in categories by default.',
 'pageinfo-length' => 'The length of the page, in bytes.',
-'pageinfo-article-id' => 'The numeric identifier of the page.',
+'pageinfo-article-id' => 'The numeric identifier of the page.
+{{Identical|Page ID}}',
 'pageinfo-language' => 'Language in which the page content is written.',
 'pageinfo-content-model' => 'The model in which the page content is written.
 
@@ -9942,7 +9967,7 @@ A short description of the script path entry point. Links to the mediawiki.org d
 
 # Special:Redirect
 'redirect' => "{{doc-special|Redirect}}
-This means \"Redirect by file'''name''', user '''ID''', or revision ID\".",
+This means \"Redirect by file'''name''', user '''ID''', page '''ID''', or revision ID\".",
 'redirect-legend' => 'Legend of fieldset around input box in [[Special:Redirect]]',
 'redirect-summary' => 'Shown at top of [[Special:Redirect]]',
 'redirect-submit' => 'Button label in [[Special:Redirect]].
@@ -9951,12 +9976,15 @@ This means \"Redirect by file'''name''', user '''ID''', or revision ID\".",
 
 Followed by the select box which has the following options:
 * {{msg-mw|Redirect-user}}
+* {{msg-mw|Redirect-page}}
 * {{msg-mw|Redirect-revision}}
 * {{msg-mw|Redirect-file}}',
 'redirect-value' => 'Second field label in [[Special:Redirect]]
 {{Identical|Value}}',
 'redirect-user' => 'Description of lookup type for [[Special:Redirect]].
 {{Identical|User ID}}',
+'redirect-page' => 'Description of lookup type for [[Special:Redirect]].
+{{Identical|Page ID}}',
 'redirect-revision' => "Description of lookup type for [[Special:Redirect]].
 
 This means \"Page revision '''ID'''\".",
@@ -10517,6 +10545,7 @@ For more information, see [[mw:Extension:ExpandTemplates]]',
 'expand_templates_input' => '{{Identical|Input text}}',
 'expand_templates_output' => '{{Identical|Result}}',
 'expand_templates_xml_output' => 'Used as HTML <code><nowiki><h2></nowiki></code> heading.',
+'expand_templates_html_output' => 'Used as HTML <code><nowiki><h2></nowiki></code> heading.',
 'expand_templates_ok' => '{{Identical|OK}}',
 'expand_templates_remove_comments' => 'Check box to tell [[mw:Extension:ExpandTemplates]] to not show comments in the expanded template.',
 'expand_templates_remove_nowiki' => "Option on [[Special:Expandtemplates]]
@@ -10538,6 +10567,7 @@ Ticked:
 test
 </pre>",
 'expand_templates_generate_xml' => 'Used as checkbox label.',
+'expand_templates_generate_rawhtml' => 'Used as checkbox label.',
 'expand_templates_preview' => '{{Identical|Preview}}',
 
 );
index 5b289e4..09424e7 100644 (file)
@@ -50,12 +50,12 @@ $messages = array(
 'tog-hidepatrolled' => 'Zuppentar midadas controlladas en las «ultimas midadas»',
 'tog-newpageshidepatrolled' => 'Zuppentar paginas controlladas en las «paginas novas»',
 'tog-extendwatchlist' => "Extender la glista d'observaziun per mussar tut las midadas e betg be las ultimas",
-'tog-usenewrc' => "Gruppar las midadas tenor pagina en las ''ultimas midadas'' ed la ''glista d'observaziun'' (basegna JavaScript)",
+'tog-usenewrc' => "Gruppar las midadas tenor pagina en las ''ultimas midadas'' e la ''glista d'observaziun''",
 'tog-numberheadings' => 'Numerar automaticamain ils titels',
-'tog-showtoolbar' => "Mussa la trav d'utensils (basegna JavaScript)",
-'tog-editondblclick' => 'Modifitgar paginas cun in clic dubel (basegna JavaScript)',
+'tog-showtoolbar' => "Mussar la trav d'utensils per modifitgar",
+'tog-editondblclick' => 'Modifitgar paginas cun in clic dubel',
 'tog-editsection' => 'Mussar colliaziuns [modifitgar] per modifitgar singulas secziuns',
-'tog-editsectiononrightclick' => 'Activar la pussaivladad da modifitgar secziuns cun in clic dretg (basegna JavaScript)',
+'tog-editsectiononrightclick' => 'Activar la pussaivladad da modifitgar secziuns cun in clic dretg sin il titel',
 'tog-showtoc' => 'Mussar ina tabla da cuntegn sin paginas cun dapli che trais tetels',
 'tog-rememberpassword' => "S'annunziar permanantamain cun quest navigatur (per maximalmain $1 {{PLURAL:$1|di|dis}})",
 'tog-watchcreations' => "Agiuntar paginas ch'jeu creesch e datotecas ch'jau transferesch a la glista d'observaziun",
@@ -72,7 +72,7 @@ $messages = array(
 'tog-shownumberswatching' => "Mussar il dumber d'utilisaders che obervan questa pagina",
 'tog-oldsig' => 'Signatura actuala:',
 'tog-fancysig' => "Suttascripziun senza link automatic tar la pagina da l'utilisader.",
-'tog-uselivepreview' => 'Utilisar la prevista dinamica (basegna JavaScript) (experiment!)',
+'tog-uselivepreview' => 'Utilisar la prevista dinamica (experiment!)',
 'tog-forceeditsummary' => 'Avertir durant memoriar sche la resumaziun manca',
 'tog-watchlisthideown' => "Zuppentar mias modificaziuns en la glista d'observaziun",
 'tog-watchlisthidebots' => "Zuppentar modificaziuns da bots en la glista d'observaziun",
@@ -272,7 +272,7 @@ $1',
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'Davart {{SITENAME}}',
 'aboutpage' => 'Project:Davart',
-'copyright' => 'Cuntegn disponibel sut $1.',
+'copyright' => 'Il cuntegn è disponibel sut la licenza $1 sche betg inditgà autramain.',
 'copyrightpage' => '{{ns:project}}:Resguardar_dretgs_d_autur',
 'currentevents' => 'Events actuals',
 'currentevents-url' => 'Project:Events actuals',
@@ -300,8 +300,8 @@ $1',
 'youhavenewmessages' => 'Ti has $1 ($2).',
 'youhavenewmessagesfromusers' => 'Ti has $1 da{{PLURAL:$3|d in utilisader| $3 utilisaders}} ($2).',
 'youhavenewmessagesmanyusers' => 'Ti has $1 da divers utilisaders ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|in nov messadi|novs messadis}}',
-'newmessagesdifflinkplural' => 'ultima{{PLURAL:$1| midada|s midadas}}',
+'newmessageslinkplural' => '{{PLURAL:$1|in nov messadi|999=novs messadis}}',
+'newmessagesdifflinkplural' => 'ultima{{PLURAL:$1| midada|999=s midadas}}',
 'youhavenewmessagesmulti' => 'Ti as novs messadis en $1',
 'editsection' => 'modifitgar',
 'editold' => 'modifitgar',
@@ -421,7 +421,7 @@ L\'administratur che ha bloccà l\'access da scriva ha dà suandanta explicaziun
 'invalidtitle-knownnamespace' => 'Titel nunvalid cun tip da pagina "$2" e text "$3"',
 'invalidtitle-unknownnamespace' => 'Titel nunvalid cun numer da tip da pagina nunenconuschent $1 e text "$2"',
 'exception-nologin' => "Betg s'annunzià",
-'exception-nologin-text' => "Questa pagina u acziun pretenda che ti es s'annunzià en quest vichi.",
+'exception-nologin-text' => "Ti stos [[Special:Userlogin|t'annunziar]] per acceder questa pagina u acziun.",
 
 # Virus scanner
 'virus-badscanner' => "Configuraziun fauss: antivirus nunenconuschent: ''$1''",
@@ -431,7 +431,7 @@ L\'administratur che ha bloccà l\'access da scriva ha dà suandanta explicaziun
 # Login and logout pages
 'logouttext' => "'''Sortì cun success.'''
 
-Ti pos cuntinuar cun utilisar {{SITENAME}} anonimamain, u che ti pos <span class='plainlinks'>[$1 t'annunziar]</span> sco medem u in'auter utilisader. Resguarda che entginas paginas pon anc vesair or tuttina sco sche ti eras annunzià enfin che ti has stizzà il cache da tes navigatur.",
+Resguarda ch'entginas paginas pon tuttina anc vesair or sco sche ti eras annunzià(da) enfin che ti has svidà il cache da tes navigatur.",
 'welcomeuser' => 'Bainvegni, $1!',
 'welcomecreation-msg' => "Tes conto è vegnì creà. 
 N'emblida betg da midar tias [[Special:Preferences|{{SITENAME}} preferenzas]].",
@@ -456,7 +456,7 @@ N'emblida betg da midar tias [[Special:Preferences|{{SITENAME}} preferenzas]].",
 'gotaccount' => "Gia in conto d'utilisader? '''$1'''.",
 'gotaccountlink' => "T'annunziar",
 'userlogin-resetlink' => "Emblidà tias datas per s'annunziar?",
-'createaccountmail' => 'per e-mail',
+'createaccountmail' => "Dovrar per il mument in pled-clav casual ed inviar el a l'adressa d'e-mail inditgada.",
 'createaccountreason' => 'Motiv:',
 'badretype' => 'Ils dus pleds-clav na corrispundan betg.',
 'userexists' => "Quest num d'utilisader vegn gia duvrà. 
@@ -475,10 +475,10 @@ Controllescha che ti has activà ils cookies, rechargia la pagina ed emprova dan
 'noname' => "Ti n'has betg inditgà in num d'utilisader valid.",
 'loginsuccesstitle' => "T'annunzià cun success",
 'loginsuccess' => "'''Ti es t'annunzia tar {{SITENAME}} sco \"\$1\".'''",
-'nosuchuser' => 'I exista nagin utilisader cun il num "$1".
+'nosuchuser' => 'I n\'exista nagin utilisader cun il num "$1".
 Fa stim dad utilisar correctamain maiusclas e minusclas.
 Curregia il num u [[Special:UserLogin/signup|creescha in nov conto]].',
-'nosuchusershort' => 'I dat nagin utilisader cun il num "$1".
+'nosuchusershort' => 'I na dat nagin utilisader cun il num "$1".
 Curregia ti\'endataziun.',
 'nouserspecified' => "Inditgescha per plaschair in num d'utilisader.",
 'login-userblocked' => "Quest utilisader è bloccà. Betg pussaivel da t'annunziar.",
@@ -487,7 +487,7 @@ Curregia ti\'endataziun.',
 'passwordtooshort' => 'Tes pled-clav sto cuntegnair almain {{PLURAL:$1|in bustab|$1 bustabs}}.',
 'password-name-match' => "Il pled-clav na dastga betg esser il medem sco il num d'utilisader.",
 'password-login-forbidden' => "L'utilisaziun da quest num d'utilisader e pled-clav è vegnida scumandada.",
-'mailmypassword' => 'Trametter in nov pled-clav per e-mail',
+'mailmypassword' => 'Redefinir il pled-clav',
 'passwordremindertitle' => 'Nov pled-clav temporar per {{SITENAME}}',
 'passwordremindertext' => 'Insatgi (probablamain ti, cun l\'adressa dad IP $1) ha dumandà in nov pled-clav per {{SITENAME}} ($4). Il pled-clav temporar "$3" per l\'utilisader "$2" è vegnì creà. Sche quai era tes intent, ti al dovras per t\'annunziar e tscherner lura in nov pled-clav. Quest pled-clav temporar vegn a scrudar en {{PLURAL:$5|in di|$5 dis}}.
 
@@ -497,16 +497,16 @@ Sch\'insatgi auter ha fatg questa dumonda, ni sch\'il pled-clav è vegnì endame
 'passwordsent' => "In nov pled-clav è vegnì tramess a l'adressa dad e-mail ch'è registrada per l'utilisader \"\$1\".
 T'annunzia per plaschair sche ti has retschavì el.",
 'blocked-mailpassword' => "L'adressa dad IP che ti utiliseschas è vegnida bloccada per midar paginas. Plinavant è era la funcziun da generar in nov pled-clav vegnida bloccada per impedir in abus da questa funcziun.",
-'eauthentsent' => "In e-mail da confermaziun è vegnì tramess a l'adressa dad e-mail numnada.
+'eauthentsent' => "In e-mail da confermaziun è vegnì tramess a l'adressa d'e-mail inditgada.
 Suonda las infurmaziuns en l'e-mail per confermar ch'il conto d'utilisader è il tes.",
-'throttled-mailpassword' => "Entaifer {{PLURAL:$1|l'ultima ura|las ultimas $1 uras}} è gia vegnì tramess in pled-clav temporar.
-Per impedir abus vegn be tramess in pled-clav temporar entaifer {{PLURAL:$1|in ura|$1 uras}}.",
+'throttled-mailpassword' => "Entaifer {{PLURAL:$1|l'ultima ura|las ultimas $1 uras}} è gia vegnì tramess in e-mail per redefinir il pled-clav.
+Per impedir abus vegn be tramess in e-mail per redefinir il pled-clav entaifer {{PLURAL:$1|in ura|$1 uras}}.",
 'mailerror' => "Errur cun trametter l'e-mail: $1",
 'acct_creation_throttle_hit' => "Visitaders da questa wiki cun tia adressa dad IP han gia creà {{PLURAL:$1|1 conto|$1 contos}} l'ultim di. Quai è il maximum lubì en questa perioda.
 Perquai pon visitaders cun questa IP betg pli crear dapli contos per il mument.",
-'emailauthenticated' => 'Tia adressa dad e-mail è vegnida verifitgada ils $2 las $3.',
-'emailnotauthenticated' => "Vus n'avais betg anc <strong>confermà vossa adressa dad e-mail</strong>.<br />
-Perquei è anc nagin retschaiver e trametter dad e-mails per las suandantas funcziuns pussaivel.",
+'emailauthenticated' => "Tia adressa d'e-mail è vegnida confermada ils $2 a las $3.",
+'emailnotauthenticated' => "Ti n'has betg anc betg confermà tia adressa d'e-mail.
+Las suandantas funcziun èn pir disponiblas suenter che l'adressa è confermada.",
 'noemailprefs' => 'Inditgescha ina adressa dad e-mail en tias preferenzas, per che suandantas funcziuns ta stattan a disposiziun.',
 'emailconfirmlink' => "Confermar l'adressa dad e-mail",
 'invalidemailaddress' => "L'adressa dad e-mail na po betg vegnir acceptada perquai ch'ella para dad avair in format nunvalid. 
@@ -514,14 +514,14 @@ Endatescha per plaschair ina adressa formatada correctamain u svida cumplettamai
 'cannotchangeemail' => "L'adressa dad e-mail dal conto na po betg vegnir midada sin questa vichi.",
 'emaildisabled' => 'Questa pagina na sa betg trametter e-mails.',
 'accountcreated' => "Creà il conto d'utilisader",
-'accountcreatedtext' => "Il conto d'utilisader per $1 è vegnì creà.",
+'accountcreatedtext' => "Il conto d'utilisader [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) è vegnì creà.",
 'createaccount-title' => 'Crear in conto per {{SITENAME}}',
 'createaccount-text' => "Insatgi ha creà in conto d'utilisader per tia adressa dad e-mail sin {{SITENAME}} ($4). Il pled-clav generà automaticamain per l'utilisader «$2» è «$3». Ti ta duessas t'annunzar uss e midar tes pled-clav. 
 
 Sche ti na levas betg crear quest conto d'utilisader pos ti ignorar quest e-mail.",
 'usernamehasherror' => "Il num d'utilisader na po betg cuntegnair il segn da rauta (#)",
 'login-throttled' => "Ti has empruvà memia savens da t'annunziar.
-Spetga per plaschair avant ch'empruvar anc ina giada.",
+Spetga $1 avant ch'empruvar anc ina giada.",
 'login-abort-generic' => 'Annunzia senza success - Annullà',
 'loginlanguagelabel' => 'Lingua: $1',
 'suspicious-userlogout' => "Tia dumonda per partir è vegnida refusada perquai ch'i para ch'ella è vegnida tramessa d'in navigatur che funcziuna betg correctamain u d'in proxy da cache.",
@@ -539,8 +539,7 @@ Per finir da t'annunziar stos ti definir qua in nov pled-clav:",
 'newpassword' => 'pled-clav nov:',
 'retypenew' => 'repeter pled-clav nov:',
 'resetpass_submit' => "Definir il pled clav e m'annunziar",
-'changepassword-success' => 'Tes pled-clav è vegnì midà cun success. 
-Ti vegns annunzià…',
+'changepassword-success' => 'Tes pled-clav è vegnì midà cun success!',
 'resetpass_forbidden' => 'Il pled-clav na po betg vegnir midà',
 'resetpass-no-info' => "Ti stos t'annunziar per acceder directamain questa pagina.",
 'resetpass-submit-loggedin' => 'Midar il pled-clav',
@@ -559,25 +558,25 @@ Eventualmain has ti gia midà cun success tes pled-clav u dumandà per in nov pl
 'passwordreset-capture-help' => "Sche ti activeschas quest champ vegn l'e-mail (cun il pled-clav temporar) mussà a ti sco era tramess a l'utilisader.",
 'passwordreset-email' => 'Adressa dad e-mail:',
 'passwordreset-emailtitle' => 'Detagls davart il conto sn {{SITENAME}}',
-'passwordreset-emailtext-ip' => "Insatgi (probablamain ti da l'adressa dad IP $1) ha dumandà in nov pled-clav per la pagina {{SITENAME}} ($4). 
-{{PLURAL:$3|Il suandant conto d'utilisader è collià|Ils suandants contos d'utilisader èn colliads}} cun questa adressa dad e-mail:
+'passwordreset-emailtext-ip' => "Insatgi (probablamain ti, da l'adressa IP $1) ha dumandà da redefinir il pled-clav per la pagina {{SITENAME}} ($4). 
+{{PLURAL:$3|Il suandant conto d'utilisader è collià|Ils suandants contos d'utilisader èn colliads}} cun questa adressa d'e-mail:
 
 $2
 
 {{PLURAL:$3|Quest pled-clav temporar|Quests pleds-clav temporars}} èn valids {{PLURAL:$5|in di|$5 dis}}.
-Ti duessas t'annunziar e tscherner ussa in nov pled-clav. Sch'enzatgi auter ha empustà quests novs pleds-clav u sche ti ta regordas puspè da tes pled-clav original e na vuls betg pli midar il pled-clav pos ti ignorar quest messadi e cuntinuar dad utilisar tes pled-clav original.",
-'passwordreset-emailtext-user' => "L'utilisader $1 sin {{SITENAME}} ha dumandà in nov pled-clav per tes conto d'utilisader sin la pagina {{SITENAME}} ($4). 
+Ti duessas t'annunziar ussa e tscherner in nov pled-clav. Sch'enzatgi auter ha empustà quests novs pleds-clav u sche ti ta regordas puspè da tes pled-clav original e na vuls betg pli midar el, pos ti ignorar quest messadi e cuntinuar d'utilisar tes pled-clav original.",
+'passwordreset-emailtext-user' => "L'utilisader $1 sin {{SITENAME}} ha dumandà da redefinir il pled-clav per {{SITENAME}} ($4). 
 {{PLURAL:$3|Il suandant conto d'utilisader è collià|Ils suandants contos d'utilisader èn colliads}} cun questa adressa dad e-mail:
 
 $2
 
 {{PLURAL:$3|Quest pled-clav temporar|Quests pled-clav temporars}} èn valids {{PLURAL:$5|in di|$5 dis}}.
-Ti duessas t'annunziar e tscherner ussa in nov pled-clav. Sche ti na levas betg quests novs pleds-clav u sche ti ta regordas puspè da tes pled-clav original e na vuls betg pli midar il pled-clav pos ti ignorar quest messadi e cuntinuar dad utilisar tes pled-clav original.",
+Ti duessas t'annunziar ussa e tscherner in nov pled-clav. Sche ti na levas betg quests novs pleds-clav u sche ti ta regordas puspè da tes pled-clav original e na vuls betg pli midar il pled-clav pos ti ignorar quest messadi e cuntinuar dad utilisar tes pled-clav original.",
 'passwordreset-emailelement' => "Num d'utilisader: $1
 Pled-clav temporar: $2",
-'passwordreset-emailsent' => 'In e-mail cun in nov pled-clav è vegnì tramess.',
-'passwordreset-emailsent-capture' => "L'e-mail per far endament, che vegn mussà sutvart, è vegnì tramess.",
-'passwordreset-emailerror-capture' => "L'e-mail per far endament, che vegn mussà sutvart, è vegnì generà, ma ha dentant betg pudì vegnir spedì a l'utilisader: $1",
+'passwordreset-emailsent' => 'In e-mail per redefinir il pled-clav è vegnì tramess.',
+'passwordreset-emailsent-capture' => 'In e-mail (sco mussà sutvart) per redefinir il pled-clav è vegnì tramess.',
+'passwordreset-emailerror-capture' => "In e-mail (sco mussà sutvart) per redefinir il pled-clav è vegnì generà ma n'ha betg pudì envià a l'{{GENDER:$2|utilisader|utilisadra}}: $1",
 
 # Special:ChangeEmail
 'changeemail' => "Midar l'adressa dad e-mail",
@@ -668,20 +667,18 @@ Ella è eventualmain vegnida spustada u stizzada durant che ti has contemplà la
 'loginreqlink' => "t'annunziar",
 'loginreqpagetext' => 'Ti stos $1 per vesair autras paginas.',
 'accmailtitle' => 'Il pled-clav è vegnì tramess.',
-'accmailtext' => "In pled-clav casual per l'utilisader [[User talk:$1|$1]] è vegnì tramess a $2.
-
-Il pled-clav per quest nov conto po vegnir midà sin la pagina ''[[Special:ChangePassword|midar pled-clav]]'' suenter che ti t'es annunzià.",
+'accmailtext' => "In pled-clav casual per [[User talk:$1|$1]] è vegnì tramess a $2. El po vegnir midà sin la pagina ''[[Special:ChangePassword|midar pled-clav]]'' suenter che ti t'es annunzià.",
 'newarticle' => '(Nov)',
-'newarticletext' => "Ti has cliccà in link ad ina pagina che exista anc betg. Per crear ina pagina, entschaiva a tippar en la stgaffa sutvart (guarda [[{{MediaWiki:Helppage}}|la pagina d'agid]] per t'infurmar).",
+'newarticletext' => "Ti has cliccà ina colliaziun ad ina pagina che n'exista anc betg. Per crear ina pagina, entschaiva a tippar en la stgaffa sutvart (guarda [[{{MediaWiki:Helppage}}|la pagina d'agid]] per t'infurmar).",
 'anontalkpagetext' => "----''Quai è la pagina da discussiun per in utilisader anomim che n'ha anc betg creà in conto d'utilisader u che n'al utilisescha betg.
 Perquai avain nus d'utilisar l'adressa dad IP per l'identifitgar.
 Ina tala adressa dad IP po vegnir utilisada da differents utilisaders.
 Sche ti es in utilisaders anonim e pensas che commentaris che na pertutgan betg tai vegnan adressads a tai, lura [[Special:UserLogin/signup|creescha in conto]] u [[Special:UserLogin|t'annunzia]] per evitar en futur che ti vegns sbaglià cun auters utilisaders.''",
-'noarticletext' => 'Quest artitgel cuntegna actualmain nagin text.
+'noarticletext' => 'Quest artitgel na cuntegna actualmain nagin text.
 Ti pos [[Special:Search/{{PAGENAME}}|tschertgar il term]] sin in\'autra pagina,
-<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tschertgar en ils logs],
+<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tschertgar en ils protocols],
 u [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear questa pagina]</span>.',
-'noarticletext-nopermission' => 'Questa pagina cuntegna actualmain nagin text.
+'noarticletext-nopermission' => 'Questa pagina na cuntegna actualmain nagin text.
 Ti pos [[Special:Search/{{PAGENAME}}|tschertgar quest titel]] en autras paginas u <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tschertgar en ils protocols correspundents]</span>, ma ti n\'has betg ils dretgs da crear questa pagina.',
 'missing-revision' => 'La versiun #$1 da la pagina cun il num "{{PAGENAME}}" n\'exista betg.
 
@@ -691,7 +688,7 @@ Detagls pon vegnri chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULL
 Controllescha sch ti vuls propi crear/modiftgar questa pagina.',
 'userpage-userdoesnotexist-view' => 'Il conto d\'utilisader "$1" n\'exista betg.',
 'blocked-notice-logextract' => "Quai utilisader è bloccà actualmain. 
-L'ultima endataziun dal log da bloccar vegn mussà sutvart sco referenza:",
+L'ultima endataziun en il protocol da bloccadas vegn mussà sutvart sco referenza:",
 'clearyourcache' => "'''Remartga''' Suenter memorisar las midadas stos ti eventualmain svidar il chache da tes navigatur per vesair las midadas.
 * '''Firefox / Safari:''' Tegnair ''Shift'' durant cliccar ''chargiar danovamain'', u smatgar ''Ctrl-F5'' u ''Ctrl-R'' (''⌘-R'' sin in Mac)
 * '''Google Chrome:''' Smatgar ''Ctrl-Shift-R'' (''⌘-Shift-R'' sin in Mac)
@@ -755,17 +752,17 @@ Ti confermas era che ti has scrit sez quest text u al has copià d'ina funtaunda
 '''Betg trametta ovras protegidas dal dretg d'autur senza lubientscha!'''",
 'longpageerror' => "'''Errur: Il text che ti has tramess è {{PLURAL:$1|in kilobyte|$1 kilobytes}} grond. Quei ei pli grond ch'il maximum da {{PLURAL:$2|in kilobyte|$2 kilobytes}}.'''
 Il text na po betg vegnir memorisà.",
-'readonlywarning' => "'''Attenziun: La banca da datas è vegnida bloccada per motivs da mantegniment, uschia che ti na sas betg memorisar tias modificaziuns gest ussa.'''
-Per betg perder las midadas ta recummandain nus da copiar il text en in editur da text sin tes computer ed al memorisar per pli tard. 
+'readonlywarning' => "'''Attenziun: La banca da datas è vegnida bloccada per motivs da mantegniment, uschia che ti na sas betg memorisar tias modificaziuns per il mument.'''
+Per betg perder tias modificaziuns ta recummandain nus da copiar il text en ina datoteca da text e da memorisar el per pli tard. 
 
 Igl adminstratur che ha bloccà la banca da datas ha inditgà suandant motiv: $1",
-'protectedpagewarning' => "'''Attenziun: Questa pagina è vegnida bloccada, uschè che be utilisaders cun dretgs dad administraturs la pon modifitgar. '''
-Sco infurmaziun vegn mussada sutvart l'ultima endataziun dal cudesch da log:",
+'protectedpagewarning' => "'''Attenziun: Questa pagina è vegnida protegida, uschè che be utilisaders cun dretgs d'administratur la pon modifitgar. '''
+Sco infurmaziun vegn mussada sutvart l'ultima endataziun en il protocol:",
 'semiprotectedpagewarning' => "'''Attenziun: Questa pagina è vegnida bloccada, uschè che be utilisaders registrads la pon modifitgar.'''
-Sco infurmaziun vegn mussada sutvart l'ultima endataziun dal cudesch da log:",
+Sco infurmaziun vegn mussada sutvart l'ultima endataziun en il protocol:",
 'cascadeprotectedwarning' => "'''Attenziun:''' Questa pagina è vegnida protegiada uschia che be utilisaders cun dretgs d'administratur la pon modifitgar. Quella protecziun è activa perquai che la pagina è integrada en suandanta{{PLURAL:$1| pagina|s paginas}} cun activà l'opziun «protecziun ertada»:",
 'titleprotectedwarning' => "'''Attenziun: Questa pagina è vegnida protegia uschia che [[Special:ListGroupRights|dretgs specifics]] èn necessaris per la crear.'''
-L'ultima endataziun dal log vegn mussada sco referenza:",
+L'ultima endataziun dal protocol vegn mussada sco referenza:",
 'templatesused' => '{{PLURAL:$1|In model utilisà|Models utilisads}} sin questa pagina:',
 'templatesusedpreview' => '{{PLURAL:$1|In model utilisà|Models utilisads}} per questa prevista:',
 'templatesusedsection' => '{{PLURAL:$1|In model|Models}} utilisads en quest chapitel:',
@@ -782,11 +779,11 @@ Ti pos ir anavos e modifitgar ina pagina existenta, u [[Special:UserLogin|t'annu
 'permissionserrorstext-withaction' => "Ti n'has betg la permissiun da $2. Quai ord {{PLURAL:$1|il suandant motiv|ils suandants motivs}}:",
 'recreate-moveddeleted-warn' => "'''Attenziun: Ti recreeschas in artitgel ch'è vegni stizzà pli baud.'''
 
-Esi propi adattà da puspè crear questa pagina?
-Qua pos guardar il log da stizzar e spustar da la pagina:",
+Èsi propi adattà da crear questa pagina danovamain?
+Qua pos ti guardar il protocol d'eliminaziuns e spustaments da la pagina:",
 'moveddeleted-notice' => 'Questa pagina è vegnida stizzada. 
-Ils logs da stizzar e spustar da la pagina vegnan mussads sutvart sin questa pagina.',
-'log-fulllog' => 'Mussar il log cumplain',
+Ils protocols da stizzar e spustar da la pagina vegnan mussads sutvart sin questa pagina.',
+'log-fulllog' => 'Mussar il protocol cumplain',
 'edit-hook-aborted' => 'La modificaziun è vegnida interrutta dal hook.
 Nagina decleraziun inditgada.',
 'edit-gone-missing' => "La pagina na pudeva betg vegnir actualisada. 
@@ -841,7 +838,7 @@ Controlleschan en la vista per cumparegliar sutvart sche quei è quai che ti vul
 Il motiv inditgà da $3 è ''$2''",
 
 # History pages
-'viewpagelogs' => 'Guardar ils logs da questa pagina',
+'viewpagelogs' => 'Guardar ils protocols da questa pagina',
 'nohistory' => "Per questa pagina n'exista nagina cronologia.",
 'currentrev' => 'Versiun actuala',
 'currentrev-asof' => 'Versiun actuala dals $2, las $3 uras',
@@ -861,8 +858,8 @@ Il motiv inditgà da $3 è ''$2''",
 * M = Midà be bagatellas',
 'history-fieldset-title' => 'tschertgar en la cronica',
 'history-show-deleted' => 'be versiuns stizzadas',
-'histfirst' => 'pli veglia',
-'histlast' => 'pli nova',
+'histfirst' => 'la pli veglia',
+'histlast' => 'la pli nova',
 'historysize' => '({{PLURAL:$1|1 byte|$1 bytes}})',
 'historyempty' => '(vid)',
 
@@ -876,34 +873,34 @@ Emprova da [[Special:Search|tschertgar]] novas paginas sumegliantas en la wiki."
 
 # Revision deletion
 'rev-deleted-comment' => '(allontanà la resumaziun da las modificaziuns)',
-'rev-deleted-user' => "(stidà num d'utilisader)",
-'rev-deleted-event' => '(stidà acziun dal log)',
+'rev-deleted-user' => "(stizzà num d'utilisader)",
+'rev-deleted-event' => '(stizzà acziun dal protocol)',
 'rev-deleted-user-contribs' => "[Allontanà il num d'utilisader u l'adressa IP - zupentà la modificaziun da las contribuziuns]",
 'rev-deleted-text-permission' => "Questa versiun da la pagina è vegnida '''stizzada'''.
-Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log da stizzar].",
+Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protocol d'eliminaziuns].",
 'rev-deleted-text-unhide' => "Questa versiun da la pagina è vegnida '''stizzada'''.
-Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log da stizzar].
+Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protocol d'eliminaziuns].
 Ti sas anc adina [$1 contemplar questa versiun].",
 'rev-suppressed-text-unhide' => "Questa versiun da la pagina è vegnida '''supprimida'''.
-Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log da supprimer].
+Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} protocol da suppressiuns].
 Ti pos anc adina [$1 contemplar questa versiun].",
 'rev-deleted-text-view' => "Questa versiun da la pagina è vegnida '''stizzada'''.
-Ti pos la vesair; detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log da stizzar].",
+Ti pos la vesair; detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protocol d'eliminaziuns].",
 'rev-suppressed-text-view' => "Questa versiun da la pagina è vegnida '''supprimida'''.
-Ti pos la vesair; detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}}  log da supprimer].",
+Ti pos la vesair; detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} protocol da suppressiuns].",
 'rev-deleted-no-diff' => "Ti na pos betg guardar quest diff perquai ch'ina da las versiuns è vegnida '''stizzada'''.
-Detagls pos ti chattar en [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log da stizzar].",
+Detagls chattas ti en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protocol d'eliminaziuns].",
 'rev-suppressed-no-diff' => "Ti na pos betg guardar quest diff perquai ch'ina da las versiuns è vegnida '''stizzada'''.",
 'rev-deleted-unhide-diff' => "Ina da las versiuns da quest diff è vegnida '''stizzada'''.
-Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log da stizzar].
+Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protocol d'eliminaziuns].
 Ti pos anc adina [$1 contemplar quest diff] sche ti vuls cuntinuar.",
 'rev-suppressed-unhide-diff' => "Ina da las versiuns da quest diff è vegnida '''supprimida'''.
-Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log da supprimer].
+Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} protocol d'eliminaziuns].
 Ti pos anc adina [$1 contemplar quest diff] sche ti vuls cuntinuar.",
 'rev-deleted-diff-view' => "Ina da las versiuns da quest diff è vegnida '''stizzada'''.
-Ti pos vesair quest diff; detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log da stizzar].",
+Ti pos vesair quest diff; detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protocol d'eliminaziuns].",
 'rev-suppressed-diff-view' => "Ina da las versiuns da quest diff è vegnida '''supprimida'''.
-Ti pos vesair quest diff; detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}}  log da supprimer].",
+Ti pos vesair quest diff; detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} protocol da suppressiuns].",
 'rev-delundel' => 'mussar/zuppentar',
 'rev-showdeleted' => 'mussar',
 'revisiondelete' => 'Stizzar/restituir versiuns',
@@ -913,7 +910,7 @@ Ti pos vesair quest diff; detagls pon vegnir chattads en il [{{fullurl:{{#Specia
 'revdelete-show-file-confirm' => 'Es ti segir che ti vuls vesar ina versiun stizzada da la datoteca "<nowiki>$1</nowiki>" dals $2 las $3?',
 'revdelete-show-file-submit' => 'Gea',
 'revdelete-selected' => "'''{{PLURAL:$2|Versiun tschernida|Versiuns tschernidas}} da [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Elements dal log tschernì|Elements dal log tschernids}}:'''",
+'logdelete-selected' => "'''{{PLURAL:$1|Element dal protocol tschernì|Elements dal protocol tschernids}}:'''",
 'revdelete-text' => "'''Versiuns ed ocurrenzas stizzadas cumparan era vinavant en la cronologia ed en ils protocols, dentant èn parts dal cuntegn betg accessibels al public.'''
 Auters administraturs sin {{SITENAME}} vegnan tuttina ad avair access al cuntegn zuppentà e pon restaurar puspè la pagina, sch'i na vegnan betg definidas restricziuns supplementaras.",
 'revdelete-confirm' => 'Confermescha che ti vuls far quai, che ti chapeschas las consequenzas e che ti fas quai en accordanza cun [[{{MediaWiki:Policy-url}}|las directivas]].',
@@ -922,15 +919,15 @@ Auters administraturs sin {{SITENAME}} vegnan tuttina ad avair access al cuntegn
 * Infurmaziuns persunalas deplazzadas
 *: ''Adressas e numers da telefon, numers d'AVS, etc.''",
 'revdelete-legend' => 'Definir restricziuns da la visibilitad',
-'revdelete-hide-text' => 'Zuppetar il text da la versiun',
+'revdelete-hide-text' => 'Text da la versiun',
 'revdelete-hide-image' => 'Zuppentar il cuntegn da la datoteca',
 'revdelete-hide-name' => "Zuppentar l'acziun ed la destinaziun",
-'revdelete-hide-comment' => 'Zuppentar la resumaziun da la midada',
-'revdelete-hide-user' => "Zuppentar il num d'utilisader/l'adressa IP da l'autur",
+'revdelete-hide-comment' => 'Resumaziun da la modificaziun',
+'revdelete-hide-user' => "Num d'utilisader/adressa IP da l'autur",
 'revdelete-hide-restricted' => 'Supprimer las datas per administraturs sco per auters',
 'revdelete-radio-same' => '(na betg midar)',
-'revdelete-radio-set' => 'Gea',
-'revdelete-radio-unset' => 'Na',
+'revdelete-radio-set' => 'Zuppentà',
+'revdelete-radio-unset' => 'Vesaivel',
 'revdelete-suppress' => 'Supprimer il motiv per administraturs sco per auters',
 'revdelete-unsuppress' => 'Allontanar las restricziuns per versiuns restauradas',
 'revdelete-log' => 'Motiv:',
@@ -943,7 +940,7 @@ $1",
 $1",
 'revdel-restore' => 'midar la visibilitad',
 'pagehist' => 'Istorgia da las versiuns',
-'deletedhist' => 'Cronologia da stizzar',
+'deletedhist' => "Cronologia d'eliminaziuns",
 'revdelete-hide-current' => "Errur cun zuppentar l'element datà ils $1 las $2: Quai è la versiun actuala. 
 Ella na po betg vegnir zuppentada.",
 'revdelete-show-no-access' => 'Errur cun mussar l\'element datà ils $1 las $2: Quest element è vegnì marcà sco "restrenschì".
@@ -996,7 +993,7 @@ Fa stim che navigar cun agid da las coalliziuns reinizialisescha tia tscherna.',
 'mergehistory-reason' => 'Motiv:',
 
 # Merge log
-'mergelog' => "Log d'unir",
+'mergelog' => 'Protocol da fusiuns',
 'pagemerge-logentry' => 'unì [[$1]] a [[$2]] (versiuns enfin $3)',
 'revertmerge' => 'Revocar la fusiun',
 'mergelogpagetext' => "Sutvart è ina glista da las ultimas cronologias ch'èn vegnidas unidas cun autras.",
@@ -1096,7 +1093,7 @@ Considerescha che lur index da {{SITENAME}} po cuntegnair datas ch'èn betg pli
 'prefs-email' => 'Opziuns dad e-mail',
 'prefs-rendering' => 'Cumparsa',
 'saveprefs' => 'memorisar',
-'restoreprefs' => 'Restituir tut las preferenzas da standard',
+'restoreprefs' => 'Restituir tut las preferenzas da standard (en tut las secziuns)',
 'prefs-editing' => 'Modifitgar',
 'rows' => 'Lingias:',
 'columns' => 'Colonnas:',
@@ -1152,7 +1149,7 @@ Questa operaziun na po betg vegnir revocada.',
 Controllai ils tags da HTML.',
 'badsiglength' => 'Vossa signatura è memia lunga. 
 Ella na dastga betg esser pli lunga che $1 {{PLURAL:$1|caracter|caracters}}.',
-'yourgender' => 'Schlattaina',
+'yourgender' => 'Schlattaina:',
 'gender-unknown' => 'Betg inditgà',
 'gender-male' => 'Masculin',
 'gender-female' => 'Feminin',
@@ -1169,7 +1166,7 @@ Tia adressa dad e-mail na vegn betg mussada sche auters utilisaders ta contactes
 'prefs-signature' => 'Signatura',
 'prefs-dateformat' => 'Format da la data',
 'prefs-timeoffset' => 'Differenza da temp',
-'prefs-advancedediting' => 'Opziuns extendidas',
+'prefs-advancedediting' => 'Opziuns generalas',
 'prefs-advancedrc' => 'Opziuns extendidas',
 'prefs-advancedrendering' => 'Opziuns extendidas',
 'prefs-advancedsearchoptions' => 'Opziuns extendidas',
@@ -1201,7 +1198,7 @@ Tia adressa dad e-mail na vegn betg mussada sche auters utilisaders ta contactes
 'userrights-no-interwiki' => "Ti n'has betg la permissiun da midar dretgs d'utilisaders sin autras wikis.",
 'userrights-nodatabase' => "La banca da datas $1 n'exista betg u n'è betg locala.",
 'userrights-nologin' => "Ti stos [[Special:UserLogin|t'annunziar]] cun in conto d'aministratur per modifitgar ils dretgs d'utilisader.",
-'userrights-notallowed' => "Tes conto d'utilisader n'ha betg la permissiun dad agiuntar u allontanar dretgs d'utilisaders.",
+'userrights-notallowed' => "Ti n'has betg la permissiun d'agiuntar u allontanar dretgs d'utilisader.",
 'userrights-changeable-col' => 'Gruppas che ti pos modifitgar',
 'userrights-unchangeable-col' => 'Gruppas che ti nas pos betg modifitgar',
 
@@ -1261,7 +1258,7 @@ Tia adressa dad e-mail na vegn betg mussada sche auters utilisaders ta contactes
 'right-browsearchive' => 'Tschertgar paginas stizzadas',
 'right-undelete' => 'Restituir ina pagina',
 'right-suppressrevision' => "Examinar e restituir versiuns ch'èn era betg vesaivlas per ils administraturs",
-'right-suppressionlog' => 'Vesair logs privats',
+'right-suppressionlog' => 'Vesair protocols privats',
 'right-block' => "Impedir utilisaders ch'els pon betg pli modifitgar",
 'right-blockemail' => "Impedir utilisaders ch'els pon trametter e-mails",
 'right-hideuser' => "Bloccar e zuppentar in num d'utilisader",
@@ -1269,7 +1266,7 @@ Tia adressa dad e-mail na vegn betg mussada sche auters utilisaders ta contactes
 'right-proxyunbannable' => "N'è betg pertutgà da bloccadas automaticas da proxys",
 'right-unblockself' => 'Debloccar sasez',
 'right-protect' => 'Midar il livel da protecziun e modifitgar paginas protegidas',
-'right-editprotected' => 'Modifitgar paginas protegidas (senza protecziun ertada)',
+'right-editprotected' => 'Modifitgar paginas protegidas cun «{{int:protect-level-sysop}}»',
 'right-editinterface' => "Modifitgar l'interfascha per l'utilisader",
 'right-editusercssjs' => "Modifitgar datotecas da CSS e JavaScript d'auters utilisaders",
 'right-editusercss' => "Modifitgar datotecas da CSS d'auters utilisaders",
@@ -1292,12 +1289,12 @@ Tia adressa dad e-mail na vegn betg mussada sche auters utilisaders ta contactes
 'right-passwordreset' => "Vesair l'e-mail per redefinir pleds-clav",
 
 # Special:Log/newusers
-'newuserlogpage' => "Log d'utilisaders creads",
-'newuserlogpagetext' => "Quai è il log dals contos d'utilisader ch'èn vegnids creads.",
+'newuserlogpage' => "Protocol d'utilisaders creads",
+'newuserlogpagetext' => "Quai è il protocol dals contos d'utilisader ch'èn vegnids creads.",
 
 # User rights log
-'rightslog' => "Log dals dretgs d'utilisader",
-'rightslogtext' => "Quai è il log da las midadas en ils dretgs d'utilisaders.",
+'rightslog' => "Protocol dals dretgs d'utilisader",
+'rightslogtext' => "Quai è il protocol da las midadas en ils dretgs d'utilisaders.",
 
 # Associated actions - in the sentence "You do not have permission to X"
 'action-read' => 'leger questa pagina',
@@ -1321,12 +1318,12 @@ Tia adressa dad e-mail na vegn betg mussada sche auters utilisaders ta contactes
 'action-browsearchive' => 'tschertgar paginas stizzadas',
 'action-undelete' => 'restituir questa pagina',
 'action-suppressrevision' => 'vesair e restituir questa versiun zuppentada',
-'action-suppressionlog' => 'vesair quest log privat',
+'action-suppressionlog' => 'vesair quest protocol privat',
 'action-block' => "bloccar quest utilisader ch'el na po betg pli modifitgar",
 'action-protect' => 'midar il livel da protecziun da questa pagina',
 'action-rollback' => "revocar spert las midadas da l'ultim utilisader che ha modifitgà ina pagina particulara",
-'action-import' => "importar questa pagina d'in auter wiki",
-'action-importupload' => "importar questa pagina d'ina datoteca chargiada si",
+'action-import' => "importar paginas d'in auter wiki",
+'action-importupload' => "importar paginas d'ina datoteca chargiada si",
 'action-patrol' => "marcar modificaziuns d'auters sco controlladas",
 'action-autopatrol' => 'marcar tias modificaziuns sco controlladas',
 'action-unwatchedpages' => 'vesair la glista da las paginas betg contempladas',
@@ -1346,7 +1343,7 @@ Tia adressa dad e-mail na vegn betg mussada sche auters utilisaders ta contactes
 'recentchanges-label-minor' => 'Quai è ina pitschna modificaziun',
 'recentchanges-label-bot' => 'Questa modificaziun è vegnida exequida dad in bot',
 'recentchanges-label-unpatrolled' => "Questa midada n'è anc betg vegnida controllada",
-'recentchanges-legend-newpage' => '$1 - nova pagina',
+'recentchanges-legend-newpage' => '(vesair era la [[Special:NewPages|glista da novas paginas]])',
 'rcnotefrom' => "Midadas dapi '''$2''' (maximalmain '''$1''' vegnan mussads).",
 'rclistfrom' => 'Mussar las novas midadas entschavend cun $1',
 'rcshowhideminor' => '$1 midadas pitschnas',
@@ -1368,14 +1365,14 @@ Tia adressa dad e-mail na vegn betg mussada sche auters utilisaders ta contactes
 'rc_categories_any' => 'Tuts',
 'rc-change-size-new' => '$1 {{PLURAL:$1|byte|bytes}} suenter la midada',
 'newsectionsummary' => 'Nov chapitel /* $1 */',
-'rc-enhanced-expand' => 'Mussar detagls (JavaScript è necessari)',
+'rc-enhanced-expand' => 'Mussar detagls',
 'rc-enhanced-hide' => 'Zuppentar detagls',
 'rc-old-title' => 'creà oriundamain sco "$1"',
 
 # Recent changes linked
-'recentchangeslinked' => 'Midadas sin paginas cun colliaziuns',
-'recentchangeslinked-feed' => 'midadas sin paginas colliadas',
-'recentchangeslinked-toolbox' => 'midadas sin paginas colliadas',
+'recentchangeslinked' => 'Modificaziuns sin paginas colliadas',
+'recentchangeslinked-feed' => 'Modificaziuns sin paginas colliadas',
+'recentchangeslinked-toolbox' => 'Modificaziuns sin paginas colliadas',
 'recentchangeslinked-title' => 'Midadas en artitgels ch\'èn colliads cun "$1"',
 'recentchangeslinked-summary' => "Quest è ina glista da las midadas ch'èn vegnidas fatgas da curt en artitgels ch'èn colliads cun ina pagina specifica (ni en commembers d'ina categoria specifica).
 Paginas sin [[Special:Watchlist|tia glista d'observaziun]] èn '''grassas'''.",
@@ -1388,15 +1385,15 @@ Paginas sin [[Special:Watchlist|tia glista d'observaziun]] èn '''grassas'''.",
 'reuploaddesc' => 'Enavos tar la pagina da chargiar si.',
 'upload-tryagain' => 'Trametter la descripziun da la datoteca midada',
 'uploadnologin' => "Betg t'annunzià",
-'uploadnologintext' => "Ti stos [[Special:UserLogin|t'annunziar]] per chargiar si datotecas.",
+'uploadnologintext' => 'Ti stos $1 per chargiar si datotecas.',
 'upload_directory_missing' => "L'ordinatur per chargiar viaden ($1) n'exista betg e na pudeva betg vegnir creà dal server.",
 'upload_directory_read_only' => "L'ordinatur per chargiar viaden ($1) na po betg vegnir modifitgà dal server.",
 'uploaderror' => 'Errur cun chargiar si',
-'upload-recreate-warning' => "'''Attenziun: Ina datoteca cun quest num è vegnida stizzada u spustada.'''
+'upload-recreate-warning' => "'''Attenziun: Ina datoteca cun quest num è gia vegnida stizzada u spustada.'''
 
-Il log da stizzar e spustar vegn mussà sutvart:",
+Il protocol d'eliminaziuns e spustaments vegn mussà sutvart:",
 'uploadtext' => "Utilisescha quest formular per chargiar si datotecas.
-Per contemplar u tschertgar datotecas gia chargiada si, visita la pagina [[Special:FileList|glista da datotecas chargiadas si]]. Tut las datotecas che vegnan chargiadas si èn era notads en il [[Special:Log/upload|log da chargiar si]], quellas ch'èn vegnidas stizzadas en il [[Special:Log/delete|log dal stizzar]].
+Per contemplar u tschertgar datotecas gia chargiadas si, visita la [[Special:FileList|glista da datotecas chargiadas si]]. Tut las datotecas che vegnan chargiadas si èn era notads en il [[Special:Log/upload|protocol da datotecas chargiadas si]], quellas ch'èn vegnidas stizzadas en il [[Special:Log/delete|protocol d'eliminaziuns]].
 
 Per integrar ina datoteca en in artitgel pos ti per exempel duvrar in dals suandants cumonds:
 * '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' per utilisar la versiun cumplaina da la datoteca
@@ -1405,8 +1402,8 @@ Per integrar ina datoteca en in artitgel pos ti per exempel duvrar in dals suand
 'upload-permitted' => 'Tips da datotecas lubids: $1.',
 'upload-preferred' => 'Tips da datotecas preferids: $1.',
 'upload-prohibited' => 'Tips da datotecas betg lubids: $1.',
-'uploadlog' => 'Log dal chargiar si',
-'uploadlogpage' => 'Log da chargiar si',
+'uploadlog' => 'protocol da datotecas chargiadas si',
+'uploadlogpage' => 'Protocol da datotecas chargiadas si',
 'uploadlogpagetext' => "Quai è ina glista da las datotecas ch'èn vegnidas chargiadas si sco ultimas.
 Guarda era la [[Special:NewFiles|galleria da novas datotecas]] per ina survista pli visuala.",
 'filename' => 'Num da datoteca',
@@ -1628,8 +1625,7 @@ Eventualmain stos ti empruvar danovamain d'in temp ch'i marscha pli pac.",
 'upload_source_file' => ' (ina datoteca sin tes computer)',
 
 # Special:ListFiles
-'listfiles-summary' => "Questa pagina speziala mussa tut las datotecas ch'èn vegnidas chargiada si.
-Sche la pagina vegn filtrada tenor utilisaders vegnan be datotecas nua che l'utilisader ha chargià si la pli nova versiun da la datotecas mussadas.",
+'listfiles-summary' => "Questa pagina speziala mussa tut las datotecas ch'èn vegnidas chargiada si.",
 'listfiles_search_for' => 'Tschtgar tenor il num da dateoca:',
 'imgfile' => 'datoteca',
 'listfiles' => 'Glista dals maletgs',
@@ -1860,8 +1856,8 @@ Fa stim che era websites externas pon avair ina colliaziun a questa datoteca cun
 # Special:Log
 'specialloguserlabel' => 'Acziun exequida da:',
 'speciallogtitlelabel' => 'Destinaziun (titel u utilisader):',
-'log' => 'logs / cudesch da navigaziun',
-'all-logs-page' => 'Tut ils logs publics',
+'log' => 'Protocols',
+'all-logs-page' => 'Tut ils protocols publics',
 'alllogstext' => "Quai è ina visualisaziun cumbinada da tut ils protocols da {{SITENAME}}.
 Ti pos restrenscher la vista cun tscherner in tip da protocol, il num d'utilisader (resguardar maiusclas/minusclas) u la pagina pertutgada (era resguardar maiusclas/minusclas).",
 'logempty' => 'Nagins elements correspundents en il protocol.',
@@ -1923,7 +1919,7 @@ Dovra almain ina top-level domain, per exempel "*.org".<br />
 # Special:ActiveUsers
 'activeusers' => 'Glista dals utilisaders activs',
 'activeusers-intro' => "Quai è ina glista dals utilisaders che han gì activitads {{PLURAL:$1|l'ultim di|en ils ultims $1 dis}}.",
-'activeusers-count' => "$1 {{PLURAL:$1|modificaziun|modificaziuns}} {{PLURAL:$3|l'ultim di|ils ultims $3 dis}}",
+'activeusers-count' => "$1 {{PLURAL:$1|acziun|acziuns}} {{PLURAL:$3|l'ultim di|ils ultims $3 dis}}",
 'activeusers-from' => 'Mussar utilisaders davent da:',
 'activeusers-hidebots' => 'Zuppentar bots',
 'activeusers-hidesysops' => 'Zuppentar administraturs',
@@ -1933,7 +1929,8 @@ Dovra almain ina top-level domain, per exempel "*.org".<br />
 'listgrouprights' => "Dretgs da las gruppas d'utilisaders",
 'listgrouprights-summary' => "Sutvart vegn mussada ina glista da las gruppas d'utilisaders sin questa wiki cun ils dretgs d'access associads.
 Infurmaziuns supplementaras davart ils singuls dretgs chattas [[{{MediaWiki:Listgrouprights-helppage}}|sin questa pagina]].",
-'listgrouprights-key' => '* <span class="listgrouprights-granted">Dretg asssegnà</span>
+'listgrouprights-key' => 'Legenda:
+* <span class="listgrouprights-granted">Dretg asssegnà</span>
 * <span class="listgrouprights-revoked">Dretg revocà</span>',
 'listgrouprights-group' => 'Gruppa',
 'listgrouprights-rights' => 'Dretgs',
@@ -2004,9 +2001,9 @@ Midadas futuras vid questa pagina e la pagina da discussiun appertegnenta vegnan
 'unwatchthispage' => 'Betg pli observar',
 'notanarticle' => "Quai n'è betg ina pagina da cuntegn",
 'notvisiblerev' => "L'ultima versiun d'in auter utilisader è vegnida stizzada",
-'watchlist-details' => "{{PLURAL:$1|Ina pagina|$1 paginas}} èn sin tia glista d'observaziun (senza dumbrar las paginas da discussiun).",
+'watchlist-details' => "Ti has {{PLURAL:$1|$1 pagina|$1 paginas}} sin tia glista d'observaziun, paginas da discussiun exclusas.",
 'wlheader-enotif' => "Il servetsch d'infurmaziun per e-mail è activà.",
-'wlheader-showupdated' => "Artitgels ch'èn vegnids midads suenter che ti has vis els la davosa giada èn mussads '''grass'''",
+'wlheader-showupdated' => "Paginas ch'èn vegnidas modifitgadas suenter che ti has vis els la davosa giada èn mussads '''grass'''",
 'watchmethod-recent' => "intercurir las davosas midadas per la glista d'observaziun",
 'watchmethod-list' => 'intercurir las paginas observadas davart novas midadas',
 'watchlistcontains' => "Tia glista d'observaziun cuntegna $1 {{PLURAL:$1|pagina|paginas}}.",
@@ -2082,17 +2079,19 @@ Conferma per plaschair che ti ta es conscient da las consequenzas e che ti agesc
 'actionfailed' => "L'acziun n'è betg reussida",
 'deletedtext' => '"$1" è vegnì stizzà.
 Sin $2 chattas ti ina glista dals davos artitgels stizzads.',
-'dellogpage' => 'log dal stizzar',
+'dellogpage' => "Protocol d'eliminaziuns",
 'dellogpagetext' => "Sutvart è ina glista dals elements stizzads l'ultim.",
-'deletionlog' => 'log da stizzar',
+'deletionlog' => "protocol d'eliminaziuns",
 'reverted' => 'Reinizialisà ina versiun da pli baud',
 'deletecomment' => 'Motiv:',
 'deleteotherreason' => 'Autra / supplementara raschun:',
 'deletereasonotherlist' => 'Autra raschun:',
-'deletereason-dropdown' => "*Motivs frequents per stizzar
-** Dumonda da l'autur
-** Violaziun dals dretgs d'autur
-** Vandalissem",
+'deletereason-dropdown' => "* Motivs frequents per stizzar
+** spam
+** vandalissem
+** violaziun dals dretgs d'autur
+** dumonda da l'autur
+** renviament defect",
 'delete-edit-reasonlist' => 'Midar ils motivs per il stizzar',
 'delete-toobig' => "Questa pagina ha in grond dumber da midadas (passa $1 {{PLURAL:$1|versiun|versiuns}}).
 La funcziun da stizzar è vegnida restrenschida per talas paginas per evitar ch'il server da {{SITENAME}} vegni surchargià.",
@@ -2114,8 +2113,8 @@ Enzatgi auter ha gia modifitga u reinizialisà qeusta pagina.
 
 L'ultima modificaziun vid questa pagina è da [[User:$3|$3]] ([[User talk:$3|talk]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
 'editcomment' => "La resumaziun da la midada era: \"''\$1''\"",
-'revertpage' => "Annullà las modificaziun da [[Special:Contributions/$2|$2]] ([[User talk:$2|discussiun]]), l'ultima versiun da [[User:$1|$1]] è vegnida restaurada",
-'revertpage-nouser' => "Annullà las modificaziuns da (allontanà il num d'utilisader), l'ultima versiun da [[User:$1|$1]] è vegnida restaurada",
+'revertpage' => "Annullà las modificaziuns da [[Special:Contributions/$2|$2]] ([[User talk:$2|discussiun]]) e restaurà l'ultima versiun da [[User:$1|$1]]",
+'revertpage-nouser' => "Annullà las modificaziuns d'in utilisader zuppentà e restaurà l'ultima versiun da {{GENDER:$1|[[User:$1|$1]]}}",
 'rollback-success' => "Annullà las modificaziuns da $1;
 restaurà l'ultima versiun da $2.",
 
@@ -2126,7 +2125,7 @@ questa acziun è vegnida interrutta sco mesira da precauziun encunter hijacking
 Turna a l'ultima pagina, rechargia la pagina ed emprova anc ina giada.",
 
 # Protect
-'protectlogpage' => 'Log da las protecziuns',
+'protectlogpage' => 'Protocol da protecziuns',
 'protectlogtext' => 'Sutvart è ina glista da midadas vid protecziuns da paginas.
 Guarda la [[Special:ProtectedPages|glista da paginas protegidas]] per vesair la glista da las protecziuns actualmain activas.',
 'protectedarticle' => 'bloccà "[[$1]]"',
@@ -2226,8 +2225,8 @@ Eventualmain es ti suandà ina colliaziun faussa u la versiun è vegnida restaur
 $1',
 'undeletedpage' => "'''$1 è vegnì restaurà'''
 
-Consultescha il [[Special:Log/delete|protocol da stizzar]] per retschaiver ina survista da las ultimas paginas stizzadas u restauradas.",
-'undelete-header' => 'Legia il [[Special:Log/delete|protocol da stizzar]] per retschaiver ina survista da las ultimas paginas stizzadas u restauradas.',
+Consultescha il [[Special:Log/delete|protocol d'eliminaziuns]] per retschaiver ina survista da las ultimas paginas stizzadas u restauradas.",
+'undelete-header' => "Legia il [[Special:Log/delete|protocol d'eliminaziuns]] per retschaiver ina survista da las ultimas paginas stizzadas u restauradas.",
 'undelete-search-title' => 'Tschertgar paginas stizzadas',
 'undelete-search-box' => 'Tschertgar paginas stizzadas',
 'undelete-search-prefix' => 'Mussar paginas che cumenzan cun:',
@@ -2258,7 +2257,7 @@ $1',
 'contributions' => "Contribuziuns {{GENDER:$1|da l'utilisader|da l'utilisadra}}",
 'contributions-title' => "Contribuziuns d'utilisader da $1",
 'mycontris' => 'Contribuziuns',
-'contribsub2' => 'Per $1 ($2)',
+'contribsub2' => 'Per {{GENDER:$3|$1}} ($2)',
 'nocontribs' => 'Chattà naginas modificaziuns che correspundan a quests criteris.',
 'uctop' => '(actual)',
 'month' => 'dal mais (e pli baud):',
@@ -2267,16 +2266,16 @@ $1',
 'sp-contributions-newbies' => 'Be mussar contribuziuns da contos novs',
 'sp-contributions-newbies-sub' => "Per novs contos d'utilisader",
 'sp-contributions-newbies-title' => "Contribuziuns da novs contos d'utilisader",
-'sp-contributions-blocklog' => 'log dal bloccar',
+'sp-contributions-blocklog' => 'protocol da bloccadas',
 'sp-contributions-deleted' => 'Contribuziuns da commembers stizzadas',
 'sp-contributions-uploads' => 'datotecas chargiadas si',
-'sp-contributions-logs' => 'logs',
+'sp-contributions-logs' => 'protocols',
 'sp-contributions-talk' => 'discussiun',
 'sp-contributions-userrights' => "administraziun da dretgs d'utilisaders",
-'sp-contributions-blocked-notice' => "Quai utilisader è bloccà actualmain. 
-L'ultima endataziun dal log da bloccar vegn mussà sutvart sco referenza:",
+'sp-contributions-blocked-notice' => "Quest utilisader è bloccà actualmain. 
+L'ultima endataziun en il protocol da bloccadas vegn mussà sutvart sco referenza:",
 'sp-contributions-blocked-notice-anon' => "Questa adressa IP è bloccada actualmain. 
-L'ultima endataziun dal log da bloccar vegn mussà sutvart sco referenza:",
+L'ultima endataziun en il protocol da bloccadas vegn mussà sutvart sco referenza:",
 'sp-contributions-search' => "Tschertgar contribuziuns d'utilisaders",
 'sp-contributions-username' => "Adressa IP u num d'utilisader:",
 'sp-contributions-toponly' => "Be mussar modificaziuns ch'èn las ulimas versiuns",
@@ -2381,11 +2380,11 @@ La [[Special:BlockList|glista da bloccadas]] mussa tut las bloccadas.',
 'contribslink' => 'contribuziuns',
 'emaillink' => 'Trametter in e-mail',
 'autoblocker' => "Vossa adressa dad IP è vegnida bloccada perquai che vus utilisais ina adressa dad IP cun [[User:$1|$1]]. Motiv per bolccar $1: '''$2'''.",
-'blocklogpage' => 'Log dal bloccar',
+'blocklogpage' => 'Protocol da bloccadas',
 'blocklog-showlog' => 'Quest utilisader è gia vegnì bloccà pli baud.
-Qua il log da bloccaziun sco infurmaziun:',
-'blocklog-showsuppresslog' => 'Quest utilisader è pli baud vegnì bloccà e zuppentà.
-Quai è il log da supprimer sco infurmaziun:',
+Qua il protocol da bloccadas sco infurmaziun:',
+'blocklog-showsuppresslog' => 'Quest utilisader è gia vegnì bloccà e zuppentà pli baud.
+Quai è il protocol da suppressiuns sco infurmaziun:',
 'blocklogentry' => 'bloccà [[$1]] per $2. Motiv: $3',
 'reblock-logentry' => 'ha midà las opziuns da bloccada per [[$1]] enfin ils: $2 $3',
 'blocklogtext' => 'Quai è in protocol dad acziuns da bloccar e debloccar utilisaders.
@@ -2501,7 +2500,7 @@ En quests cas as ti da spustar u colliar manualmain las paginas, sche giavischà
 'movepage-page-moved' => 'La pagina $1 è vegnida spustada a $2.',
 'movepage-page-unmoved' => 'Betg pussaivel da spustar la pagina $1 a $2.',
 'movepage-max-pages' => 'Il dumber maximal da $1 {{PLURAL:$1|pagina|paginas}} è vegnì spustà. Tut las ulteriuras na pon betg vegnir spustadas automaticamain.',
-'movelogpage' => 'Log dal spustar',
+'movelogpage' => 'Protocol da spustaments',
 'movelogpagetext' => 'Sut è ina glista da tut las paginas spustadas.',
 'movesubpage' => '{{PLURAL:$1|Sutpagina|Sutpaginas}}',
 'movesubpagetext' => 'Questa pagina ha $1 {{PLURAL:$1|sutpagina mussada|sutpaginasmussadas}} sutvart.',
@@ -2529,9 +2528,9 @@ betg pussaivel da spustar ina pagina en il medem lieu.',
 'fix-double-redirects' => 'Schliar renviaments dubels suenter il spustar',
 'move-leave-redirect' => 'Crear renviament',
 'protectedpagemovewarning' => "'''Attenziun:''' Questa pagina è vegnida protegida uschia che be utilisaders cun dretgs d'administratur la pon spustar. 
-Sco infurmaziun l'ultima endataziun en il log:",
+Sco infurmaziun l'ultima endataziun en il protocol:",
 'semiprotectedpagemovewarning' => "'''Attenziun:''' Questa pagina è vegnida protegida uschia che be utilisaders registrads la pon spustar. 
-Sco infurmaziun l'ultima endataziun en il log:",
+Sco infurmaziun l'ultima endataziun en il protocol:",
 'move-over-sharedrepo' => '== Datoteca exista == 
 [[:$1]] exista gia en in repositori communabel. Spustar ina datoteca a quest titel vegn a remplazzar la datoteca communabla.',
 'file-exists-sharedrepo' => 'Il num da datoteca tschernì exista gia en in repositori communabel.
@@ -2593,9 +2592,9 @@ Fai ina visita sin [https://www.mediawiki.org/wiki/Localisation MediaWiki Locali
 # Special:Import
 'import' => 'Impurtar paginas',
 'importinterwiki' => 'Import transwiki',
-'import-interwiki-text' => "Tscherna ina wiki ed in titel da pagina per importar.
+'import-interwiki-text' => "Tscherna in wiki ed in titel da pagina per importar.
 Las datas da las versiuns ed ils nums dals contribuents vegnan mantegnids.
-Tut ils imports transwiki vegnan registrads en il [[Special:Log/import|log d'importar]].",
+Tut ils imports transwiki vegnan registrads en il [[Special:Log/import|protocol d'imports]].",
 'import-interwiki-source' => 'Wiki/pagina da funtauna:',
 'import-interwiki-history' => "Copiar l'entira cronologia da questa pagina",
 'import-interwiki-templates' => 'Includer tut ils models',
@@ -2609,7 +2608,7 @@ La memorisescha sin tes computer e chargia si ella qua.",
 'importstart' => 'Importar paginas…',
 'import-revision-count' => '{{PLURAL:$1|Ina versiun|$1 versiuns}}',
 'importnopages' => 'Nagina pagina per importar.',
-'imported-log-entries' => 'Importà $1 {{PLURAL:$1|endataziun dal log|endataziuns dal log}}.',
+'imported-log-entries' => 'Importà $1 {{PLURAL:$1|endataziun dal protocol|endataziuns dal protocol}}.',
 'importfailed' => "Betg reussì d'importar: <nowiki>$1</nowiki>",
 'importunknownsource' => "Funtauna d'import nunenconuschenta",
 'importcantopen' => "Betg pussaivel dad avrir la datoteca d'import",
@@ -2644,7 +2643,7 @@ Emprova danovamain.',
 'import-rootpage-nosubpage' => 'Il tip da pagina "$1" da la pagina principala na lubescha naginas sutpaginas.',
 
 # Import log
-'importlogpage' => 'Log dals imports',
+'importlogpage' => 'Protocol dals imports',
 'importlogpagetext' => 'Import administrativ da paginas cun cronologia da modificaziuns dad autras wikis.',
 'import-logentry-upload' => 'ha importà [[$1]] cun chargiar si ina datoteca',
 'import-logentry-upload-detail' => '{{PLURAL:$1|Ina versiun|$1 versiuns}}',
@@ -2777,11 +2776,11 @@ Probablamien è quai capità pervia dad in link ad ina pagina externa ch'è sin
 'pageinfo-article-id' => 'ID da la pagina',
 'pageinfo-language' => 'Lingua dal cuntegn da la pagina',
 'pageinfo-robot-policy' => 'Status per maschinas da tschertgar',
-'pageinfo-robot-index' => 'Indexabel',
-'pageinfo-robot-noindex' => 'Betg indexabel',
+'pageinfo-robot-index' => 'Lubì',
+'pageinfo-robot-noindex' => 'Betg lubì',
 'pageinfo-views' => 'Dumber da visitas',
 'pageinfo-watchers' => 'Dumber dad observaturs da la pagina',
-'pageinfo-redirects-name' => 'Renviaments a questa pagina',
+'pageinfo-redirects-name' => 'Dumber da renviaments a questa pagina',
 'pageinfo-subpages-name' => 'Sutpaginas da questa pagina',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|renviament|renviaments}}; $3 {{PLURAL:$3|betg in renviament|betg renviaments}})',
 'pageinfo-firstuser' => 'Creatur da la pagina',
@@ -2818,9 +2817,9 @@ Probablamien è quai capità pervia dad in link ad ina pagina externa ch'è sin
 'markedaspatrollederrornotify' => 'Sbagl durant marcar sco controllà.',
 
 # Patrol log
-'patrol-log-page' => 'Log da controlla',
-'patrol-log-header' => 'Quai è il log da las versiuns controlladas.',
-'log-show-hide-patrol' => '$1 il log da controllas',
+'patrol-log-page' => 'Protocol da controllas',
+'patrol-log-header' => 'Quai è il protocol da las versiuns controlladas.',
+'log-show-hide-patrol' => '$1 il protocol da controllas',
 
 # Image deletion
 'deletedrevision' => 'Stizzà la versiun veglia $1.',
@@ -2850,7 +2849,7 @@ Cun exequir questa datoteca po tes sistem vegnir donnegià.",
 'svg-long-desc' => 'datoteca da SVG, grondezza da basa $1 × $2 pixels, grondezza da datoteca: $3',
 'svg-long-desc-animated' => 'Datoteca da SVG animada, dimensiun normala $1 x $2 pixels, grondezza da datoteca: $3',
 'svg-long-error' => 'Datoteca da SVG nundalida: $1',
-'show-big-image' => 'Resoluziun cumplaina',
+'show-big-image' => 'Datoteca originala',
 'show-big-image-preview' => 'Grondezza da questa prevista: $1.',
 'show-big-image-other' => 'Other {{PLURAL:$2|resoluziun|resoluziuns}}: $1.',
 'show-big-image-size' => '$1 × $2 pixels',
@@ -3095,7 +3094,7 @@ Sche la datoteca è vegnida midada dal status original èn tscherts detagls even
 'exif-compression-4' => 'CCITT gruppa 4 codaziun da fax',
 
 'exif-copyrighted-true' => "Protegì dal dretg d'auturs",
-'exif-copyrighted-false' => 'Domena publica',
+'exif-copyrighted-false' => "Il stadi da copyright n'è betg vegnì definì.",
 
 'exif-unknowndate' => 'Data nunenconuschenta',
 
@@ -3387,7 +3386,7 @@ Conferma per plaschair che ti vuls propi crear danovamain quest artitgel.",
 
 # action=purge
 'confirm_purge_button' => 'ok',
-'confirm-purge-top' => 'Stizzar il cache da questa pagina?',
+'confirm-purge-top' => 'Svidar il cache da questa pagina?',
 'confirm-purge-bottom' => 'Svida il cache dad ina pagina e sforza da mussar la versiun actuala.',
 
 # action=watch/unwatch
@@ -3511,18 +3510,17 @@ Ti duessas avair retschavì [{{SERVER}}{{SCRIPTPATH}}/COPYING ina copia da la GN
 # Special:SpecialPages
 'specialpages' => 'Paginas spezialas',
 'specialpages-note' => '* Paginas spezialas normalas.
-* <span class="mw-specialpagerestricted">Paginas spezialas restrenschidas.</span>
-* <span class="mw-specialpagecached">Paginas spezialas en il cache (pon esser antiquadas).</span>',
+* <span class="mw-specialpagerestricted">Paginas spezialas restrenschidas.</span>',
 'specialpages-group-maintenance' => 'Rapports da mantegnamant',
 'specialpages-group-other' => 'Autras paginas spezialas',
 'specialpages-group-login' => "S'annunziar / crear in conto",
-'specialpages-group-changes' => 'Ultimas midadas e logs',
+'specialpages-group-changes' => 'Ultimas midadas e protocols',
 'specialpages-group-media' => 'Rapports ed elements multimedials',
 'specialpages-group-users' => 'Utilisaders e dretgs',
 'specialpages-group-highuse' => 'Paginas utilisadas savens',
 'specialpages-group-pages' => 'Glistas da paginas',
 'specialpages-group-pagetools' => 'Utensils per paginas',
-'specialpages-group-wiki' => 'Utensils e datas da la wiki',
+'specialpages-group-wiki' => 'Datas ed utensils',
 'specialpages-group-redirects' => 'Paginas specialas che renvieschan',
 'specialpages-group-spam' => 'Utensils da spam',
 
@@ -3590,8 +3588,8 @@ Ti duessas avair retschavì [{{SERVER}}{{SCRIPTPATH}}/COPYING ina copia da la GN
 'sqlite-no-fts' => '$1 senza sustegn per la retschertga da text integrala',
 
 # New logging system
-'logentry-delete-delete' => '$1 ha stizzà la pagina $3',
-'logentry-delete-restore' => '$1 ha restaurà la pagina $3',
+'logentry-delete-delete' => '$1 {{GENDER:$2|ha stizzà}} la pagina $3',
+'logentry-delete-restore' => '$1 {{GENDER:$2|ha restaurà}} la pagina $3',
 'logentry-delete-event' => "$1 ha midà la visibilitad da{{PLURAL:$5|d ina occurrenza en il protocol| $5 occurrenzas en il protocol}} da '''$3''': $4",
 'logentry-delete-revision' => '$1 ha midà la visibilitad da{{PLURAL:$5|d ina versiun| $5 versiuns}} da la pagina $3: $4',
 'logentry-delete-event-legacy' => '$1 ha midà la visibilitad dad occurrenzas da protocol sin $3',
index 16d3d25..6fa1426 100644 (file)
@@ -1173,6 +1173,9 @@ Acsete argumente au fost omise.',
 'cantcreateaccounttitle' => 'Crearea contului nu poate fi realizată',
 'cantcreateaccount-text' => "Crearea de conturi de la această adresă IP ('''$1''') a fost blocată de [[User:$3|$3]].
 
+Motivul invocat de $3 este ''$2''",
+'cantcreateaccount-range-text' => "Crearea de conturi de la adresele IP din gama '''$1''', care o include și pe a dumneavoastră ('''$4'''), a fost blocată de [[User:$3|$3]].
+
 Motivul invocat de $3 este ''$2''",
 
 # History pages
@@ -1517,6 +1520,7 @@ Dacă decideți furnizarea sa, acesta va fi folosit pentru a vă atribui munca.'
 'prefs-tokenwatchlist' => 'Jeton',
 'prefs-diffs' => 'Diferențe',
 'prefs-help-prefershttps' => 'Această preferință va avea efect la următoarea autentificare.',
+'prefs-tabs-navigation-hint' => 'Sfat: Puteți folosi tastele săgeată stânga și dreapta pentru a naviga între filele din cadrul listei de file.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Adresa de e-mail pare validă',
@@ -1703,13 +1707,14 @@ Dacă decideți furnizarea sa, acesta va fi folosit pentru a vă atribui munca.'
 'recentchanges-label-bot' => 'Această modificare a fost efectuată de un robot',
 'recentchanges-label-unpatrolled' => 'Această modificare nu a fost încă verificată',
 'recentchanges-label-plusminus' => 'Dimensiunea paginii s-a modificat corespunzător acestui număr de octeți',
-'recentchanges-legend-newpage' => '(vezi și [[Special:NewPages|lista cu pagini noi]])',
+'recentchanges-legend-heading' => "'''Legendă:'''",
+'recentchanges-legend-newpage' => '(vedeți și [[Special:NewPages|lista cu pagini noi]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => 'Dedesubt sunt modificările de la <b>$2</b> (maxim <b>$1</b> de modificări sunt afișate - schimbă numărul maxim de linii alegând altă valoare mai jos).',
 'rclistfrom' => 'Se arată modificările începând cu $1',
 'rcshowhideminor' => '$1 modificările minore',
 'rcshowhidebots' => '$1 roboții',
-'rcshowhideliu' => '$1 utilizatorii autentificați',
+'rcshowhideliu' => '$1 utilizatorii înregistrați',
 'rcshowhideanons' => '$1 utilizatorii anonimi',
 'rcshowhidepatr' => '$1 modificările patrulate',
 'rcshowhidemine' => '$1 contribuțiile mele',
@@ -2169,6 +2174,7 @@ Intrările <del>tăiate</del> au fost rezolvate.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|legături interwiki|de legături interwiki}}',
 'nlinks' => '{{PLURAL:$1|o legătură|$1 legături|$1 de legături}}',
 'nmembers' => '$1 {{PLURAL:$1|membru|membri|de membri}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|membru|membri|de membri}}',
 'nrevisions' => '{{PLURAL:$1|o versiune|$1 versiuni|$1 de versiuni}}',
 'nviews' => '{{PLURAL:$1|o accesare|$1 accesări|$1 de accesări}}',
 'nimagelinks' => 'Utilizat pe $1 {{PLURAL:$1|pagină|pagini}}',
@@ -2389,7 +2395,7 @@ Modificările viitoare efectuate asupra acestei pagini dar și asupra paginii de
 'notvisiblerev' => 'Versiunea a fost ștearsă',
 'watchlist-details' => '{{PLURAL:$1|O pagină|$1 pagini urmărite|$1 de pagini urmărite}}, excluzând paginile de discuție.',
 'wlheader-enotif' => 'Notificarea prin e-mail este activată.',
-'wlheader-showupdated' => "Paginile care au fost modificate ulterior accesării lor ultima dată de către dumneavoastră sunt '''îngroșate'''.",
+'wlheader-showupdated' => "Paginile care au fost modificate după ultima dumneavoastră vizită sunt afișate '''îngroșat'''.",
 'watchmethod-recent' => 'căutarea schimbărilor recente pentru paginile urmărite',
 'watchmethod-list' => 'căutarea paginilor urmărite pentru schimbări recente',
 'watchlistcontains' => 'Lista de pagini urmărite conține $1 {{PLURAL:$1|element|elemente|de elemente}}.',
@@ -3810,7 +3816,7 @@ Vă rugăm să confirmați faptul că într-adevăr doriți să recreați acest
 # Language selector for translatable SVGs
 'img-lang-opt' => '$2 ($1)',
 'img-lang-default' => '(limba implicită)',
-'img-lang-info' => 'Randează această imagine în $1 $2.',
+'img-lang-info' => 'Randează această imagine în $1. $2',
 'img-lang-go' => 'Du-te',
 
 # Table pager
@@ -3909,13 +3915,14 @@ MediaWiki este distribuit în speranța că va fi folositor, dar FĂRĂ VREO GAR
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
-'redirect' => 'Redirecționare după fișier, utilizator sau ID-ul versiunii',
+'redirect' => 'Redirecționare după fișier, utilizator, ID-ul paginii sau al versiunii',
 'redirect-legend' => 'Redirecționare către un fișier sau o pagină',
-'redirect-summary' => 'Această pagină specială vă redirecționează către un fișier (dat fiind un nume de fișier), o pagină (dat fiind ID-ul unei versiuni) sau o pagină de utilizator (dat fiind un ID numeric al utilizatorului). Utilizare: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] sau [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Această pagină specială vă redirecționează către un fișier (dat fiind un nume de fișier), o pagină (dat fiind ID-ul unei versiuni sau ID-ul unei pagini) sau o pagină de utilizator (dat fiind un ID numeric al utilizatorului). Utilizare: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] sau [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Du-te',
 'redirect-lookup' => 'Căutare:',
 'redirect-value' => 'Valoare:',
 'redirect-user' => 'ID utilizator',
+'redirect-page' => 'ID pagină',
 'redirect-revision' => 'Versiune de pagină',
 'redirect-file' => 'Nume de fișier',
 'redirect-not-exists' => 'Valoarea nu a fot găsită',
@@ -4154,10 +4161,12 @@ MediaWiki este distribuit în speranța că va fi folositor, dar FĂRĂ VREO GAR
 'expand_templates_input' => 'Introduceți textul aici:',
 'expand_templates_output' => 'Rezultat',
 'expand_templates_xml_output' => 'Ieșire XML',
+'expand_templates_html_output' => 'Ieșire HTML brut',
 'expand_templates_ok' => 'OK',
 'expand_templates_remove_comments' => 'Elimină comentariile',
 'expand_templates_remove_nowiki' => 'Suprimă etichetele <nowiki> în rezultat',
 'expand_templates_generate_xml' => 'Arată arborele de analiză XML',
+'expand_templates_generate_rawhtml' => 'Arată HTML brut',
 'expand_templates_preview' => 'Previzualizare',
 
 );
index 94bb982..3312ff2 100644 (file)
@@ -26,6 +26,7 @@
  * @author Biathlon
  * @author Bouron
  * @author Chilin
+ * @author Cinemantique
  * @author Claymore
  * @author Comp1089
  * @author Cryptocoryne
@@ -70,6 +71,7 @@
  * @author Matma Rex
  * @author MaxBioHazard
  * @author MaxSem
+ * @author Milicevic01
  * @author NBS
  * @author Nemo bis
  * @author Okras
@@ -911,7 +913,7 @@ $2',
 'createacct-imgcaptcha-ph' => 'Введите текст, который вы видите выше',
 'createacct-submit' => 'Создать учётную запись',
 'createacct-another-submit' => 'Создать ещё одну учётную запись',
-'createacct-benefit-heading' => '{{SITENAME}} создана такими же людьми, как вы.',
+'createacct-benefit-heading' => '{{SITENAME}} создают такие же люди, как вы.',
 'createacct-benefit-body1' => '{{PLURAL:$1|правка|правки|правок}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|статья|статьи|статей}}',
 'createacct-benefit-body3' => '{{PLURAL:$1|участник|участника|участников}} за последнее время',
@@ -1539,8 +1541,8 @@ $1",
 'searcheverything-enable' => 'Поиск по всем пространствам имён',
 'searchrelated' => 'связанный',
 'searchall' => 'все',
-'showingresults' => "Ниже показаны до '''$1''' {{PLURAL:$1|результата|результатов}}, начиная с №'''$2'''.",
-'showingresultsnum' => "Ниже {{PLURAL:$3|показан|показаны|показаны}} '''$3''' {{PLURAL:$3|результат|результата|результатов}}, начиная с №'''$2'''.",
+'showingresults' => "Ниже показаны до '''$1''' {{PLURAL:$1|результата|результатов}}, начиная с № '''$2'''.",
+'showingresultsnum' => "Ниже {{PLURAL:$3|показан|показаны|показаны}} '''$3''' {{PLURAL:$3|результат|результата|результатов}}, начиная с № '''$2'''.",
 'showingresultsheader' => "{{PLURAL:$5|Результат '''$1''' из '''$3'''|Результаты '''$1—$2''' из '''$3'''}} для «'''$4'''»",
 'search-nonefound' => 'Соответствий запросу не найдено.',
 'powersearch-legend' => 'Расширенный поиск',
@@ -1668,6 +1670,7 @@ $1",
 'prefs-tokenwatchlist' => 'Токен',
 'prefs-diffs' => 'Разница версий',
 'prefs-help-prefershttps' => 'Эта настройка будет применена после следующего представления системе.',
+'prefs-tabs-navigation-hint' => 'Совет: Вы можете использовать клавиши стрелок влево и вправо для перехода между вкладками в списке вкладок.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Выглядит корректно',
@@ -1854,6 +1857,7 @@ $1",
 'recentchanges-label-bot' => 'Эта правка сделана ботом',
 'recentchanges-label-unpatrolled' => 'Эта правку ещё никем не патрулировалась',
 'recentchanges-label-plusminus' => 'Размер страницы изменился на данное количество байт',
+'recentchanges-legend-heading' => "'''Легенда:'''",
 'recentchanges-legend-newpage' => '(см. также [[Special:NewPages|список новых страниц]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Ниже перечислены изменения с '''$2''' (не более '''$1''').",
@@ -2316,6 +2320,7 @@ $1',
 'ninterwikis' => '$1 {{PLURAL:$1|интервики-ссылка|интервики-ссылки|интервики-ссылок}}',
 'nlinks' => '$1 {{PLURAL:$1|ссылка|ссылки|ссылок}}',
 'nmembers' => '$1 {{PLURAL:$1|объект|объекта|объектов}}',
+'nmemberschanged' => '$1 → $2 объект{{PLURAL:$2||а|ов}}',
 'nrevisions' => '$1 {{PLURAL:$1|версия|версии|версий}}',
 'nviews' => '$1 {{PLURAL:$1|просмотр|просмотра|просмотров}}',
 'nimagelinks' => 'Используется на $1 {{PLURAL:$1|странице|страницах|страницах}}',
@@ -4163,7 +4168,7 @@ MediaWiki распространяется в надежде, что она бу
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Путь к скрипту]',
 
 # Special:Redirect
-'redirect' => 'Перенаправление с файла, участника или идентификатора версии',
+'redirect' => 'Перенаправление с файла, участника, страницы или идентификатора версии',
 'redirect-legend' => 'Перенаправление на файл или страницу',
 'redirect-summary' => 'Эта специальная страница перенаправляет на файл (с имени файла), страницу (с идентификатора версии) или страницу участника (с числового идентификатора участника).
 Использование: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] или [[{{#Special:Redirect}}/user/101]].',
index 43f6442..447a476 100644 (file)
@@ -1304,10 +1304,11 @@ L'operazioni nun pò èssiri annullata.",
 'recentchanges-legend' => 'Opzioni ùrtimi canciamenti',
 'recentchanges-summary' => 'Chista pàggina prisenta li canci cchiù ricenti ê cuntinuti dô situ.',
 'recentchanges-feed-description' => 'Stu feed riporta li canciamenti cchiù ricenti a li cuntinuti dû situ.',
-'recentchanges-label-newpage' => 'This edit havi creatu na nova pàggina',
-'recentchanges-label-minor' => 'Chista è nu canciamentu nnicu',
+'recentchanges-label-newpage' => 'Stu canciu criau na pàggina nova',
+'recentchanges-label-minor' => 'Chistu è nu canciamentu nicu',
 'recentchanges-label-bot' => 'Stu canciamentu fu fattu dû bot',
 'recentchanges-label-unpatrolled' => 'Stu canciamentu nun havi ancora statu virificatu',
+'recentchanges-label-plusminus' => 'La diminsioni dâ pàggina canciau di stu nùmmuru di bytes',
 'recentchanges-legend-newpage' => '$1 - pàggina nova',
 'rcnotefrom' => 'Ccà sutta cci sunnu li canciamenti a pàrtiri dû <b>$2</b> (ammustrati nzinu ô <b>$1</b>).',
 'rclistfrom' => 'Ammustra li canciamenti novi a pàrtiri di $1',
index e7c0045..8067903 100644 (file)
@@ -10,6 +10,7 @@
  * @author Antofa
  * @author Cornelia
  * @author Felis
+ * @author Jun Misugi
  * @author Kaganer
  */
 
@@ -116,7 +117,7 @@ $messages = array(
 'tog-editsection' => 'Mudìfigga di li sezzioni attrabessu lu cullegamentu [mudifigga]',
 'tog-editsectiononrightclick' => "Mudìfigga di li sezzioni attrabessu lu clic dresthu i' lu tìturu (nezzessàriu JavaScript)",
 'tog-showtoc' => "Musthra l'indizi pa li pàgini cun più di 3 sezzioni",
-'tog-rememberpassword' => "Ammenta la paràura d'órdhini (nezzessàriu azzittà li cookie) (for a maximum of $1 {{PLURAL:$1|day|days}})",
+'tog-rememberpassword' => "Ammenta la paràura d'órdhini (nezzessàriu azzittà li cookie) (for a maximum of $1 {{PLURAL:$1|dì|dì}})",
 'tog-watchcreations' => "Aggiungi li pàgini criaddi a l'abbaidaddi ippiziari",
 'tog-watchdefault' => "Aggiungi li pàgini mudìfiggaddi a l'abbaidaddi ippiziari",
 'tog-watchmoves' => "Aggiungi li pàgini ippusthaddi a l'abbaidaddi ippiziari",
@@ -129,6 +130,7 @@ $messages = array(
 'tog-enotifminoredits' => 'Signàrami pa postha erettrònica puru li mudìfigghi minori',
 'tog-enotifrevealaddr' => "Rivera lu me' indirizzu di postha erettrònica i' l'imbasciaddi d'avvisu",
 'tog-shownumberswatching' => "Musthra lu nùmaru d'utenti ch'àni la pàgina abbaidadda",
+'tog-oldsig' => 'Fimma esisthenti',
 'tog-fancysig' => "Interpreta i cumandi wiki i' la fimma (chena cullegaumentu otomatiggu)",
 'tog-uselivepreview' => "Attiba la funzioni ''Live preview'' (dumanda JavaScript; ippirimintari)",
 'tog-forceeditsummary' => "Dumanda cunfèimma si l'oggettu di la mudìfigga è bioddu",
@@ -195,6 +197,18 @@ $messages = array(
 'oct' => 'SAini',
 'nov' => 'SAndria',
 'dec' => 'Nad',
+'january-date' => '$1 Ginnagiu',
+'february-date' => '$1 Fribagiu',
+'march-date' => '$1 Matzu',
+'april-date' => '$1 Abriri',
+'may-date' => '$1 Maggiu',
+'june-date' => '$1 Làmpada',
+'july-date' => '$1 Tríura',
+'august-date' => '$1 Aosthu',
+'september-date' => '$1 Cabbidanni',
+'october-date' => '$1 Santuaini',
+'november-date' => "$1 Sant'Andria",
+'december-date' => '$1 Naddari',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categuria|Categuri}}',
@@ -205,13 +219,14 @@ $messages = array(
 'hidden-categories' => '{{PLURAL:$1|Categuria cuadda|Categuri cuaddi}}',
 'hidden-category-category' => 'Categuri cuaddi',
 'category-subcat-count' => "{{PLURAL:$2|Chistha categuria cunteni un'unica sottocateguria, indicadda inogghi.|Chistha categuria cunteni {{PLURAL:$1|la sottocateguria indicadda|li $1 sottocategurì indicaddi}} inogghi, i' un tutari di $2.}}",
-'category-article-count' => "{{PLURAL:$2|Chistha categuria cunteni un'unica pagina, indicadda inogghi.|Chistha categuria cunteni {{PLURAL:$1|la pagina indicadda|li $1 pagini indicaddi}} inogghi, i' un tutari di $2.}}",
+'category-article-count' => "{{PLURAL:$2|Chistha categuria cunteni un'única pàgina, indicadda inogghi.|Chistha categuria cunteni {{PLURAL:$1|la pàgina indicadda|li $1 pàgini indicaddi}} inogghi, i' un tutari di $2.}}",
+'category-file-count' => "{{PLURAL:$2|Chistha categuria cunteni unu únicu file, indicaddu inogghi.|{{PLURAL:$1|Lu file sighenti è|$1 Li file sighenti so}} inogghi, i' un tutari di $2.}}",
 'listingcontinuesabbrev' => '(séguiddu)',
 
 'about' => 'Infuimmazioni',
 'article' => 'Pagina',
 'newwindow' => "(s'abbri in d'unu nobu balchoni)",
-'cancel' => 'Annulla',
+'cancel' => 'Annullà',
 'moredotdotdot' => 'Althru...',
 'mypage' => 'La mea pàgina',
 'mytalk' => "Li me' dischussioni",
@@ -229,11 +244,18 @@ $messages = array(
 'faqpage' => 'Project:FAQ (infuimmazioni e aggiuddu)',
 
 # Vector skin
+'vector-action-addsection' => 'Aggiungì oggettu',
 'vector-action-delete' => 'Canzella',
 'vector-action-move' => 'Ippustha',
+'vector-action-protect' => 'Pruteggì',
 'vector-view-create' => 'Cria',
 'vector-view-edit' => 'Mudifigga',
+'vector-view-history' => 'Vèdi isthòria',
 'vector-view-view' => 'Leggi',
+'vector-view-viewsource' => 'Vèdi fonti',
+'actions' => 'Azioni',
+'namespaces' => 'Tipi di pàgina:',
+'variants' => 'Varianti',
 
 'errorpagetitle' => 'Errori',
 'returnto' => 'Turra a $1.',
@@ -268,7 +290,7 @@ $messages = array(
 'personaltools' => 'Isthrumenti passunari',
 'postcomment' => 'Noba sezzioni',
 'articlepage' => 'Vedi la bozi',
-'talk' => 'dischussioni',
+'talk' => 'Dischussioni',
 'views' => 'Vìsiti',
 'toolbox' => 'Isthrumenti',
 'userpage' => 'Visuarizza la pàgina utenti',
@@ -319,7 +341,7 @@ $messages = array(
 'retrievedfrom' => 'Buggaddu da "$1"',
 'youhavenewmessages' => 'Ài $1 ($2).',
 'youhavenewmessagesmulti' => 'Ài nobi imbasciaddi i $1',
-'editsection' => 'mudifigga',
+'editsection' => 'Mudìfigga',
 'editold' => 'mudifigga',
 'viewsourceold' => "visuarizza l'orìgini",
 'editlink' => 'mudifigga',
@@ -414,7 +436,7 @@ Zerthuni pàgini pudìani continuà a apparì cumenti si la iscidda nò fùssia
 'yourname' => 'Innòmu utenti',
 'yourpassword' => "Paràura d'órdhini",
 'yourpasswordagain' => "Ripeti la paràura d'órdhini",
-'remembermypassword' => "Ammenta la paràura d'órdhini (for a maximum of $1 {{PLURAL:$1|day|days}})",
+'remembermypassword' => "Ammenta la me' paràura d'órdhini in chisthu nabiggadori (par un màssimu di $1 {{PLURAL:$1|dì|dì}})",
 'yourdomainname' => 'Ippizzificà lu dumìniu',
 'externaldberror' => "S'è verifiggaddu un errori cu lu server di autentificazioni esthernu, oppuru nò si diponi di l'autorizazioni nezzessàri pa aggiornà la propria registhrazioni estherna.",
 'login' => 'Intra',
@@ -425,10 +447,11 @@ Zerthuni pàgini pudìani continuà a apparì cumenti si la iscidda nò fùssia
 'userlogout' => 'Esci',
 'notloggedin' => 'Intradda no effettuadda',
 'nologin' => "No ài una registhrazioni? '''$1'''.",
-'nologinlink' => 'Crèara abà',
+'nologinlink' => 'Crea una noba registhrazioni',
 'createaccount' => 'Crea una noba registhrazioni',
 'gotaccount' => "Ài già'na registhrazioni? '''$1'''.",
 'gotaccountlink' => 'Intra',
+'userlogin-resetlink' => "Hai immintiggaddu li minuddi d'intradda?",
 'createaccountmail' => 'via postha erettrònica',
 'badretype' => "Li paràuri d'órdhini insiriddi nò cuinzidhini tra èddi.",
 'userexists' => "L'innòmu utenti insiriddu è già utirizaddu. Pa pazieri chirria un'innòmu utenti dibessu.",
@@ -515,7 +538,7 @@ Pa cumprità la registhrazioni è nezzessàriu impusthà una noba paràura d'ór
 'subject' => 'Tìturu:',
 'minoredit' => 'Chistha è una mudìfigga minori',
 'watchthis' => "Aggiungi a l'abbaidaddi ippiziari",
-'savearticle' => 'Saivva la pagina',
+'savearticle' => 'Saivvà la pagina',
 'preview' => 'Antiprimma',
 'showpreview' => 'Visuarizza antiprimma',
 'showlivepreview' => "Funzioni ''Live preview''",
@@ -574,6 +597,7 @@ Si vói crià la pàgina abà, pói sùbidu ischribì in giossu (abbaidda li [[{
 S'ài sighiddu lu cullegamentu pa un'errori, è suffizenti incalchà lu buttoni '''Indareddu''' i' lu propriu nabiggadori.",
 'anontalkpagetext' => "----''Chistha è la pàgina di dischussioni di un'utenti anònimu, chi no ha ancora criaddu una registhrazioni o, in dugna modu, no la usa. Pa identifiggallu è dunca nezzessàriu usà lu sóiu nùmaru di l'indirizzu IP. L'indirizzi IP, parò, poni assé cundibisi da più utenti. Si sei un'utenti anònimu e vói chi li cummenti prisenti in chistha pàgina no si rifèrini a te, [[Special:UserLogin|crea una noba registhrazion o intra]] cu' chidda ch'hai già pa evità d'assé confusu cu' althri utenti anònimi in futuru.''",
 'noarticletext' => "Abà chistha pàgina è biodda. È pussìbiri [[Special:Search/{{PAGENAME}}|zirchà chistu tituru]] i' l'althri pàgini di lu situ, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} zirchà i' li rigisthri curriraddi] oppuru [{{fullurl:{{FULLPAGENAME}}|action=edit}} mudifiggà la pagina abà]</span>.",
+'noarticletext-nopermission' => "Abà chistha pàgina è biodda. È pussìbiri [[Special:Search/{{PAGENAME}}|zirchà chistu tìturu]] i' l'althri pàgini di lu situ, oppuru <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} zirchà i' li rigisthri reratibi]</span>, parò nò pói crià chistha pàgina.",
 'userpage-userdoesnotexist' => 'La registhrazioni "<nowiki>$1</nowiki>" nò curripundi a un\'utenti rigisthraddu. Verifiggà chi s\'aggia avveru gana di crià o mudìfiggà chistha pàgina.',
 'clearyourcache' => "'''Nota:''' daboi abé saivaddu è nezzessàriu pulì la mimória cache di lu propriu nabiggadori pà vidé li ciambamenti. Pa '''Mozilla / Firefox / Safari''': fà clic i Ricàrrigga incalchendi lu buttoni di li maiuschuri, oppuru incalchà ''Ctrl-Maiusc-R'' (''Cmd-Maiusc-R'' i Mac); pa '''Internet Explorer:''' mantinì incalchaddu lu tasthu ''Ctrl'' mentri s'incalcha lu buttoni ''Aggiorna'' o incalchà ''Ctrl-F5''; pa '''Konqueror''': incalchà lu buttoni ''Ricarica'' o lu tasthu ''F5''; pa '''Opera''' pò assé nezzessàriu ibbuiddà cumpretamenti la mimória cache da lu menù ''Strumenti → Preferenze''.",
 'usercssyoucanpreview' => "'''Suggerimentu:''' Usa lu buttoni '''Visuarizza antiprimma''' pa prubà li nobi CSS primma di sàivvaddi.",
@@ -592,7 +616,7 @@ S'ài sighiddu lu cullegamentu pa un'errori, è suffizenti incalchà lu buttoni
 
 '''Si lu probrema prisisthi, pói prubà à iscì e turrà a intrà.'''",
 'token_suffix_mismatch' => "'''La mudìfigga nò è isthadda sàivvadda parchí lu nabiggadori à musthraddu di gesthì in modu erraddu i caràtteri di punteggiaddura i' lu identifigganti di la mudìfigga. Pa evità una pussìbiri corruzioni di lu testhu di la pàgina, è isthadda rifiutadda l'intrea mudìfigga. Chistha situazioni pó verifiggassi, calch’e voltha, candu so usaddi zerthuni sivvìzi di proxy anònimi via reti chi àni di l'errori.'''",
-'editing' => 'Mudifigga di $1',
+'editing' => 'Mudìfigga di $1',
 'editingsection' => 'Mudifigga di $1 (sezzioni)',
 'editingcomment' => 'Mudifigga di $1 (cummentu)',
 'editconflict' => "Cuntrasthu d'edizioni i $1",
@@ -666,8 +690,9 @@ La rasgioni frunidda da $3 è ''$2''",
 
 Ippiegazioni: (curr) = diffarènzi cu la versioni currenti, (priz) = diffarènzi cu la versioni prizzidenti, '''m''' = mudìfigga minori, '''b''' = mudìfigga d'un bot, '''N''' = pàgina noba",
 'history-fieldset-title' => "Ischurri i' la cronologia",
-'histfirst' => 'Primma',
-'histlast' => 'Ulthima',
+'history-show-deleted' => 'Musthrà soru versioni annulladdi',
+'histfirst' => 'primma',
+'histlast' => 'ùlthimi',
 'historysize' => '({{PLURAL:$1|1 byte|$1 bytes}})',
 'historyempty' => '(biodda)',
 
@@ -686,7 +711,7 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'rev-deleted-text-view' => "Chistha versioni di la pàgina è isthadda buggadda da l'archìbi visìbiri a lu pùbbriggu.
 Lu testhu pò assé visuarizzaddu soru da l'amministhradori di lu situ.
 Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigisthru di canzilladdura] pa althri dettàgli.",
-'rev-delundel' => 'musthra/cua',
+'rev-delundel' => 'musthrà/cuà',
 'revisiondelete' => 'Canzella o ricùpara versioni',
 'revdelete-nooldid-title' => 'Versioni nò ippizzificadda',
 'revdelete-nooldid-text' => "No ài ippizzificaddu la o li versioni di la pàgina i' li quari eseguì chistha funzioni; pò assé chi nò esisthini.",
@@ -745,9 +770,24 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'notextmatches' => 'Nisciuna curripundènzia i lu teshu di li pàgini',
 'prevn' => 'prizzidenti {{PLURAL:$1|$1}}',
 'nextn' => 'sighenti {{PLURAL:$1|$1}}',
+'prevn-title' => 'Prizzidenti $1 {{PLURAL:$1|risulthaddu|risulthaddi}}',
+'nextn-title' => 'Sighenti $1 {{PLURAL:$1|risulthaddu|risulthaddi}}',
+'shown-title' => 'Musthra {{PLURAL:$1|un risulthaddu|$1 risulthaddi}} pa pàgina',
 'viewprevnext' => 'Vèdi ($1 {{int:pipe-separator}} $2) ($3).',
+'searchmenu-exists' => "'''Z'è una pàgina ciamadda\"[[:\$1]]\" in chisthu vichi.''' {{PLURAL:\$2|0=|Vèdi puru li althri risulthaddi agattaddi.}}",
+'searchmenu-new' => "'''Crea la pàgina \"[[:\$1]]\" in chistha vichi!''' {{PLURAL:\$2|0=|Vèdi puru la pàgina agattadda cun la zercha tòia.|Vèdi puru li risulthaddi agattaddi .}}",
+'searchprofile-articles' => 'Bozi',
+'searchprofile-project' => "Pàgini d'aggiuddu e di prugettu",
+'searchprofile-images' => 'Mùrthimediari',
 'searchprofile-everything' => 'Tuttu',
+'searchprofile-advanced' => 'Abanzaddu',
+'searchprofile-articles-tooltip' => 'Zercha in $1',
+'searchprofile-project-tooltip' => 'Zercha in $1',
+'searchprofile-images-tooltip' => 'Zirchà dati',
+'searchprofile-everything-tooltip' => 'Zercha in tuttu lu cuntinuddu (pàgini di dischussioni cumpresi)',
+'searchprofile-advanced-tooltip' => 'Zercha in althri tipi di pàgina',
 'search-result-size' => '$1 ({{PLURAL:$2|una paraura|$2 parauri}})',
+'search-result-category-size' => '{{PLURAL:$1|1 erementu|$1 erementi}} ({{PLURAL:$2|1 sottucateguria|$2 sottucateguri}}, {{PLURAL:$3|1 file|$3 file}})',
 'search-redirect' => '(rinviu $1)',
 'search-section' => '(sezzioni $1)',
 'search-suggest' => 'Forsi zerchabi: $1',
@@ -759,6 +799,8 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'searchall' => 'tutti',
 'showingresults' => "Accó {{PLURAL:$1|màssimu '''1''' risulthaddu|màssimu li '''$1''' risulthaddi}} à partì da lu nùmaru #'''$2'''.",
 'showingresultsnum' => "Accó {{PLURAL:$3|'''1''' risulthaddu |li '''$3''' risulthaddi}} à partì da lu nùmaru #'''$2'''.",
+'showingresultsheader' => "{{PLURAL:$5|Risulthaddu '''$1''' of '''$3'''|Risulthaddi '''$1 - $2''' di '''$3'''}} pa '''$4'''",
+'search-nonefound' => "Nisciuni risulthaddi pa la to' zercha",
 'powersearch-legend' => 'Zercha abanzadda',
 'powersearch-ns' => "Zercha i' li tipi di pàgina:",
 'powersearch-redir' => 'Listha rinvii',
@@ -860,7 +902,7 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'grouppage-bureaucrat' => '{{ns:project}}:Buròcrati',
 
 # Special:Log/newusers
-'newuserlogpage' => 'Nobi utenti',
+'newuserlogpage' => 'Rigisthru di nobi utenti',
 
 # User rights log
 'rightslog' => 'Diritti di li utenti',
@@ -872,9 +914,13 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|mudìfigga|mudìfigghi}}',
 'recentchanges' => 'Ulthimi mudìfigghi',
-'recentchanges-legend' => 'Opzioni ulthimi mudifigghi',
+'recentchanges-legend' => 'Opzioni ùlthimi mudìfigghi',
 'recentchanges-summary' => 'Chistha pàgina prisinta li mudìfigghi più rizzenti a li cuntinuddi di lu situ.',
 'recentchanges-feed-description' => 'Chisthu feed cunteni li mudìfigghi più rizzenti a li cuntinuddi di lu situ.',
+'recentchanges-label-newpage' => 'Noba pàgina',
+'recentchanges-label-minor' => 'Chistha è una mudìfigga minori',
+'recentchanges-label-bot' => 'Chistha è una mudìfigga pa unu bot',
+'recentchanges-label-unpatrolled' => 'Mudìfigga nò ancora contrulladda',
 'rcnotefrom' => "Inogghi so erencaddi li mudìfigghi arriggaddi a parthì da '''$2''' (finz'a '''$1''').",
 'rclistfrom' => 'Musthra li mudìfigghi arriggaddi à partì da $1',
 'rcshowhideminor' => '$1 li mudìfigghi minori',
@@ -886,8 +932,8 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'rclinks' => "Musthra li $1 mudìfigghi più rizzenti arriggaddi i' l'ulthimi $2 dì<br />$3",
 'diff' => 'diff',
 'hist' => 'cron',
-'hide' => 'cua',
-'show' => 'musthra',
+'hide' => 'Cua',
+'show' => 'Musthra',
 'minoreditletter' => 'm',
 'newpageletter' => 'N',
 'boteditletter' => 'b',
@@ -895,7 +941,7 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'rc_categories' => 'Limita a li categuri (siparaddi da "|")',
 'rc_categories_any' => 'Cassisia',
 'newsectionsummary' => '/* $1 */ noba sezzioni',
-'rc-enhanced-expand' => 'Musthra dettagli (dumanda JavaScript)',
+'rc-enhanced-expand' => 'Musthrà dettagli (dumanda JavaScript)',
 'rc-enhanced-hide' => 'Cua dettàgli',
 
 # Recent changes linked
@@ -990,6 +1036,7 @@ Si si diponi di l'immàgina i' la risoruzioni originari, pa piazeri carriggalla.
 'upload-curl-error28-text' => "Lu situ à impiegaddu troppu tempu a rippundì. Verifiggà chi lu situ sia attibu, aisittà calchi minuti e turrà a prubà, pussibiimmenti candu v'è mancu genti.",
 
 'license' => "Licènzia d'usu:",
+'license-header' => "Licènzia d'usu:",
 'nolicense' => 'Nisciuna licènzia indicadda',
 'license-nopreview' => '(Antiprimma nò dipunìbiri)',
 'upload_source_url' => " (un'indirizzu vàriddu e pùbbriggu)",
@@ -1020,10 +1067,11 @@ Si si diponi di l'immàgina i' la risoruzioni originari, pa piazeri carriggalla.
 'filehist-dimensions' => 'Misuri',
 'filehist-filesize' => 'Misuri di lu file',
 'filehist-comment' => 'Oggettu',
-'imagelinks' => 'Cullegamenti a lu file',
+'imagelinks' => 'Utirizazioni di lu file',
 'linkstoimage' => "{{PLURAL:$1|La sighenti pàgina pùnta|Li sighenti $1 pàgini pùntani}} a l'immàgina:",
 'nolinkstoimage' => "Nisciuna pàgina cunteni cullegamenti a l'immàgina.",
 'sharedupload' => 'Chisthu file prubeni da $1 e pó assé utirizaddu da althri prugetti.',
+'sharedupload-desc-here' => 'Chisthu file prubeni da $1 e pó assé utirizaddu da althri prugetti. La deschrizioni di la [$2 pàgina di deschrizioni] è indicadda in giossu.',
 'uploadnewversion-linktext' => 'Carrigga una nóba versioni di chistu file',
 
 # File reversion
@@ -1128,6 +1176,7 @@ Si si diponi di l'immàgina i' la risoruzioni originari, pa piazeri carriggalla.
 'protectedtitles' => 'Tìturi prutiggiddi',
 'protectedtitlesempty' => 'Abà nò vi so tìturi prutiggiddi.',
 'listusers' => 'Erencu di li utenti',
+'usercreated' => '{{GENDER:$3|Criaddu}} lu $1 a $2',
 'newpages' => 'Pàgini più rizzenti',
 'newpages-username' => 'Nommu utenti:',
 'ancientpages' => 'Pàgini mancu rizzenti',
@@ -1178,6 +1227,7 @@ Also see [[Special:WantedCategories|wanted categories]].",
 # Special:LinkSearch
 'linksearch' => 'Cullegamenti estherni',
 'linksearch-ok' => 'Zercha',
+'linksearch-line' => '$1 ha liaddura da $2',
 
 # Special:ListUsers
 'listusersfrom' => "Musthra l'utenti parthendi da:",
@@ -1209,7 +1259,8 @@ Also see [[Special:WantedCategories|wanted categories]].",
 
 # Watchlist
 'watchlist' => 'Abbaidaddi ippiziari',
-'mywatchlist' => 'Abbaidaddi ippiziari',
+'mywatchlist' => 'Abbaiddaddi ippiziari',
+'watchlistfor2' => 'Pa $1 $2',
 'nowatchlist' => "La listha di l'abbaidaddi ippiziari è biodda.",
 'watchlistanontext' => "Pa visuarizzà e mudìfiggà l'erencu di l'abbaidaddi ippiziari è nezzessàriu $1.",
 'watchnologin' => 'Intradda nò effettuadda',
@@ -1285,8 +1336,9 @@ Pa dì cosa ni pensi e dumandà assisthènzia:
 'confirmdeletetext' => "Sei canzillendi pa sempri da la bancati una pàgina o un'immàgina, umpari a la cronologia d'edda.
 Pa piazzeri, cunfèimma chi vói canzillà avveru, ch'ài cumpresu li cunsiguènzi di l'azioni tóia e ch'edda è cunfòimmi a li [[{{MediaWiki:Policy-url}}|lìni ghia]].",
 'actioncomplete' => 'Azioni cumpritadda',
+'actionfailed' => 'Azioni craccadda',
 'deletedtext' => 'La pàgina "$1" è isthadda canzilladda. Cunsultha lu $2 pa un\'erencu di li pàgini canzilladdi da poggu tempu.',
-'dellogpage' => 'Canzilladduri',
+'dellogpage' => 'Rigisthru di li canzilladduri',
 'dellogpagetext' => 'Inogghi so erencaddi li pàgini canzilladdi da poggu tempu.',
 'deletionlog' => 'Rigisthru di li canzilladduri',
 'reverted' => 'Turra a la versioni prizzidenti',
@@ -1302,7 +1354,7 @@ Pa piazzeri, cunfèimma chi vói canzillà avveru, ch'ài cumpresu li cunsiguèn
 # Rollback
 'rollback' => 'Annulla li mudìfigghi',
 'rollback_short' => 'Turra che primma',
-'rollbacklink' => 'turra che primma',
+'rollbacklink' => 'turrà che primma',
 'rollbackfailed' => 'Nò è ridisciddu a turrà che primma',
 'cantrollback' => "Impussìbiri annullà li mudìfigghi; l'utenti chi n'è l'autori è l'unicu cuntribudori di la pàgina.",
 'editcomment' => "L'oggettu di la mudìfigga era: \"''\$1''\".",
@@ -1312,7 +1364,7 @@ Pa piazzeri, cunfèimma chi vói canzillà avveru, ch'ài cumpresu li cunsiguèn
 'sessionfailure' => "S'è verifigaddu un probrema i' la sissioni ch'identifigga l'intradda; lu sistham nò à eseguiddu lu cumandu imparthiddu pa precauzioni. Turrà a la pàgina prizzidenti cu' lu buttoni \"Indareddu\" di lu proprio nabigaddori, turrà a carriggà la pàgina e riprubà.",
 
 # Protect
-'protectlogpage' => 'Prutizioni',
+'protectlogpage' => 'Rigisthru di prutizioni',
 'protectlogtext' => "Inogghi v'è la listha di li pàgini broccaddi e ibbruccaddi. Védi la [[Special:ProtectedPages|listha di li pàgini prutiggiddi]] pa chiddi chi so attuarmenti prutiggiddi.",
 'protectedarticle' => 'à prutiggiddu "[[$1]]"',
 'modifiedarticleprotection' => 'ha mudìfiggaddu lu libellu di prutizioni di "[[$1]]"',
@@ -1366,6 +1418,7 @@ L'impusthazioni currenti pa la pàgina so '''$1''':",
 'undelete-nodiff' => 'Nò è isthadda acciappadda nisciuna ribisioni prizzidenti.',
 'undeletebtn' => 'Turra che primma',
 'undeletelink' => 'visuarizza/rimpustha',
+'undeleteviewlink' => 'vidé',
 'undeletecomment' => 'Cummentu:',
 'undeletedrevisions' => '{{PLURAL:$1|Una ribisioni ricuparadda|$1 ribisioni ricuparaddi}}',
 'undeletedrevisions-files' => '{{PLURAL:$1|Una ribisioni|$1 ribisioni}} e {{PLURAL:$2|un file ricuparaddu|$2 file ricuparaddi}}',
@@ -1391,39 +1444,43 @@ $1",
 'blanknamespace' => '(Prinzipari)',
 
 # Contributions
-'contributions' => 'Cuntributi utenti',
+'contributions' => '{{GENDER:$1|Cuntributi utenti}}',
 'contributions-title' => 'Cuntributi di $1',
-'mycontris' => "li me' cuntributi",
-'contribsub2' => 'Pa $1 ($2)',
+'mycontris' => "Li me' cuntributi",
+'contribsub2' => 'Par {{GENDER:$3|$1}} ($2)',
 'nocontribs' => 'Nò so isthaddi acciappaddi mudifigghi cunfoimmi a li criteri sciubaraddi.',
-'uctop' => '(ulthima pa la pàgina)',
+'uctop' => '(currenti)',
 'month' => 'A parthì da lu mesi (e prizzidenti):',
 'year' => "A parthì da l'anni (e prizzidenti):",
 
 'sp-contributions-newbies' => 'Musthra soru li cuntributi di li nobi utenti',
 'sp-contributions-newbies-sub' => 'Pa li nobi utenti',
 'sp-contributions-blocklog' => 'Brocchi',
+'sp-contributions-uploads' => 'carriggamentu',
+'sp-contributions-logs' => 'rigisthri',
 'sp-contributions-talk' => 'dischussioni',
 'sp-contributions-search' => 'Zercha cuntributi',
 'sp-contributions-username' => 'Indirizzu IP o nommu utenti:',
+'sp-contributions-toponly' => 'Soru musthrà li versioni attuari',
 'sp-contributions-submit' => 'Zercha',
 
 # What links here
 'whatlinkshere' => 'Puntani inogghi',
 'whatlinkshere-title' => 'Pàgini chi pùntani a "$1"',
 'whatlinkshere-page' => 'Pàgina:',
-'linkshere' => "Le sighenti pàgini cuntenani dei cullegamenti a '''[[:$1]]''':",
+'linkshere' => "Li sighenti pàgini cuntenani cullegamenti a '''[[:$1]]''':",
 'nolinkshere' => "Nisciuna pàgina cunteni dei cullegamenti chi pùntani a '''[[:$1]]'''.",
 'nolinkshere-ns' => "Nò vi so pàgini chi pùntani a '''[[:$1]]''' i' lu namespace sciubaraddu.",
 'isredirect' => 'rinviu',
 'istemplate' => 'incrusioni',
-'isimage' => "cullegamentu a l'immàgina",
+'isimage' => 'Cullegamentu a file',
 'whatlinkshere-prev' => '{{PLURAL:$1|prizzidenti|prizzidenti $1}}',
 'whatlinkshere-next' => '{{PLURAL:$1|sighenti|sighenti $1}}',
 'whatlinkshere-links' => '← cullegamenti',
 'whatlinkshere-hideredirs' => '$1 rinvii',
 'whatlinkshere-hidetrans' => '$1 incrusioni',
 'whatlinkshere-hidelinks' => '$1 cullegamenti',
+'whatlinkshere-hideimages' => '$1 liadduri a file',
 'whatlinkshere-filters' => 'Filthri',
 
 # Block/unblock
@@ -1462,7 +1519,7 @@ $1",
 'emailblock' => 'postha erettrònica broccadda',
 'ipblocklist-empty' => "L'erencu di li brocchi è bioddu.",
 'ipblocklist-no-results' => "L'indirizzu IP o innòmmu utenti ciamaddu nò è broccaddu.",
-'blocklink' => 'brocca',
+'blocklink' => 'broccà',
 'unblocklink' => 'ibbrucca',
 'change-blocklink' => 'ciamba broccu',
 'contribslink' => 'cuntributi',
@@ -1542,7 +1599,7 @@ La pàgina di disthinazioni "[[:$1]]" isisthi già. Vói canzillalla pa rindì p
 'selfmove' => "Lu nobu tìturu è uguari a lu vécciu; impussìbiri ippusthà la pàgina cu' lu matessi innòmmu.",
 
 # Export
-'export' => 'Ippurtha li pàgini',
+'export' => 'Ippurthà pàgini',
 'exporttext' => "È pussìbiri ippurthà lu testhu e la cronologia di li mudìfigghi di una pàgina o di un gruppu di pàgini in fuimmaddu XML pa impurthalli i'althri siti ch'utilizzanni lu software MediaWiki, attrabessu [[Special:Import]].
 
 Pa ippurthà li pàgina indicà i tìturi i' la casella di testhu in giossu, unu pa riga, e ippizzificà si s'à gana d'uttinì la versioni currenti e tutti li versioni prizzidenti, cu' li dati di la cronologia di la pàgina, oppure soru l'ulthima versioni e i dati curripundenti a l'ulthima mudìfigga.
@@ -1571,7 +1628,7 @@ Pa piazeri utirizà [https://www.mediawiki.org/wiki/Localisation MediaWiki Lucar
 'allmessages-filter-submit' => 'Vai',
 
 # Thumbnails
-'thumbnail-more' => 'Immannitta',
+'thumbnail-more' => 'Immannittà',
 'filemissing' => 'File mancanti',
 'thumbnail_error' => "Errori i' la criazioni di la miniadduri: $1",
 'djvu_page_error' => 'Nùmaru di pàgina DjVu ibbagliaddu',
@@ -1627,7 +1684,7 @@ Tutti l'operazioni d'impurthazioni trans-wiki so rigisthraddi i' lu [[Special:Lo
 'tooltip-pt-logout' => 'Iscidda',
 'tooltip-ca-talk' => 'Vèdi li dischussioni reratibi a chistha pàgina',
 'tooltip-ca-edit' => "Pói mudìfiggà chistha pàgina. Pa piazeri usa lu buttoni d'antiprimma primma di saivvà",
-'tooltip-ca-addsection' => 'Ischumenza una sezzioni noba',
+'tooltip-ca-addsection' => 'Ischuminzà una sezzioni noba',
 'tooltip-ca-viewsource' => 'Chistha pàgina è prutiggidda, ma pói vidé lu còdizi soiu.',
 'tooltip-ca-history' => 'Versioni prizzidenti di chistha pàgina',
 'tooltip-ca-protect' => 'Prutiggi chistha pàgina',
@@ -1637,10 +1694,11 @@ Tutti l'operazioni d'impurthazioni trans-wiki so rigisthraddi i' lu [[Special:Lo
 'tooltip-ca-watch' => "Aggiungi chistha pàgina a la listha tóia di l'abbaidaddi ippiziari",
 'tooltip-ca-unwatch' => "Elimina chistha pàgina da la tóia listha d'abbaidaddi ippiziari",
 'tooltip-search' => 'Zercha di dentru a {{SITENAME}}',
-'tooltip-search-go' => "Via a una pàgina cu' lu tìturu indicaddu, si v'è",
+'tooltip-search-go' => "Vai a una pàgina cu' lu tìturu indicaddu, si v'è",
 'tooltip-search-fulltext' => "Zercha lu testhu indicaddu i' li pàgini",
-'tooltip-p-logo' => 'Pagina prinzipari',
+'tooltip-p-logo' => 'Visita la pàgina prinzipari',
 'tooltip-n-mainpage' => 'Visita la pàgina prinzipari',
+'tooltip-n-mainpage-description' => 'Visita la pàgina prinzipari',
 'tooltip-n-portal' => "Deschrizioni di lu prugettu, cosa pói fà, und'agattà li cosi",
 'tooltip-n-currentevents' => "Infuimmazioni i' l'eventi d'attuarità",
 'tooltip-n-recentchanges' => "Erencu di l'ulthimi mudìfigghi i' lu situ",
@@ -1659,7 +1717,7 @@ Tutti l'operazioni d'impurthazioni trans-wiki so rigisthraddi i' lu [[Special:Lo
 'tooltip-ca-nstab-main' => 'Vèdi la bozi',
 'tooltip-ca-nstab-user' => 'Vèdi la pàgina utenti',
 'tooltip-ca-nstab-media' => 'Vedi la pàgina di lu file mùrthimediari',
-'tooltip-ca-nstab-special' => 'Chistha è una pàgina ippiziari, nò pó assé mudìfiggadda.',
+'tooltip-ca-nstab-special' => 'Chistha è una pàgina ippiziari, nò pó assé mudifiggadda.',
 'tooltip-ca-nstab-project' => 'Vèdi la pàgina di saivvìziu',
 'tooltip-ca-nstab-image' => "Vèdi la pàgina di l'immàgina",
 'tooltip-ca-nstab-mediawiki' => "Vèdi l'imbasciadda di sisthema",
@@ -1674,8 +1732,9 @@ Tutti l'operazioni d'impurthazioni trans-wiki so rigisthraddi i' lu [[Special:Lo
 'tooltip-watch' => "Aggiungi chistha pàgina a la listha di l'abbaidaddi ippiziari",
 'tooltip-recreate' => "Ricrea la pàgina puru s'è già isthadda canzilladda.",
 'tooltip-upload' => 'Ischuminza lu carriggamentu',
-'tooltip-rollback' => '"Turra che primma" annulla li mudifigghi a chistha pagina di l\'ulthimu cuntributori cu\' un soru clic.',
+'tooltip-rollback' => '"Turra che primma" annulla li mudìfigghi a chistha pagina di l\'ulthimu cuntributori cu\' un soru clic.',
 'tooltip-undo' => "\"Annulla\"  pilmitti d'annullà chistha mudifigga e abbri lu modulu di mudifigga d'antiprimma. Pilmitti d'insirì una mutibazioni i' l'oggettu di la mudifigga.",
+'tooltip-summary' => 'Ischribbi un riassuntu corthu',
 
 # Metadata
 'notacceptable' => "Lu server wiki nò è bonu a frunì li dati i' un fuimmaddu liggìbiri da lu nabiggadori utirizaddu.",
@@ -1736,7 +1795,7 @@ $1",
 'file-info-size' => '$1 × $2 punti, misuri: $3, tipu MIME: $4',
 'file-nohires' => 'Nò so dipunìbiri versioni a risoruzioni maggiori.',
 'svg-long-desc' => 'file in fuimmaddu SVG, misuri nominari $1 × $2 punti, misuri di lu file: $3',
-'show-big-image' => 'Versioni a altha risoruzioni',
+'show-big-image' => "File d'orìgini",
 
 # Special:NewFiles
 'newimages' => 'Galleria di li file nobi',
@@ -1836,7 +1895,7 @@ So cunsidaraddi soru l'erenchi puntaddi (righi ch'ischumenzani cu' lu caràtteri
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => 'tutti',
-'namespacesall' => 'Tutti',
+'namespacesall' => 'tutti',
 'monthsall' => 'tutti',
 
 # Email address confirmation
@@ -1953,6 +2012,7 @@ Pa piazeri, cunfèimma chi vòi ricrià avveru chistha pàgina.",
 'specialpages-group-login' => 'Intra / registhrazioni',
 
 # Special:Tags
+'tag-filter' => '[[Special:Tags|Tag]] filthru:',
 'tags-edit' => 'mudifigga',
 
 # HTML forms
index 33a8e7a..a0da3a4 100644 (file)
@@ -405,7 +405,7 @@ $messages = array(
 'articlepage' => 'අන්තර්ගත පිටුව නරඹන්න',
 'talk' => 'සාකච්ඡාව',
 'views' => 'දෘෂ්ටි',
-'toolbox' => 'මෙවලම් ගොන්න',
+'toolbox' => 'මෙවලම්',
 'userpage' => 'පරිශීලක පිටුව නරඹන්න',
 'projectpage' => 'ව්‍යාපෘති පිටුව නරඹන්න',
 'imagepage' => 'ගොනු පිටුව නරඹන්න',
@@ -442,7 +442,7 @@ $1",
 'disclaimers' => 'වියාචනයන්',
 'disclaimerpage' => 'Project:පොදු වියාචන',
 'edithelp' => 'සංස්කරණ උදවු',
-'helppage' => 'Help:පටුන',
+'helppage' => 'උදවු:පටුන',
 'mainpage' => 'මුල් පිටුව',
 'mainpage-description' => 'මුල් පිටුව',
 'policy-url' => 'Project:ප්‍රතිපත්තිය',
@@ -677,7 +677,7 @@ $2',
 'passwordtooshort' => 'මුරපදය අඩුම වශයෙන් {{PLURAL:$1|එක් අක්ෂරයක්|අක්ෂර $1 ක්}} සහිත විය යුතුය.',
 'password-name-match' => 'ඔබගේ මුරපදය, ඔබගේ පරිශීලක නාමයෙන් වෙනස් එකක් විය යුතුය.',
 'password-login-forbidden' => 'මෙම පරිශීලක නාමයේ හා මුරපදයේ භාවිතය වලක්වා ඇත.',
-'mailmypassword' => 'නà·\80 à¶¸à·\94රපදය à·\80à·\92දà·\8aâ\80\8dයà·\94තà·\8a à¶­à·\90පà·\91ලâ\80\8dට à¶ºà·\80න්න',
+'mailmypassword' => 'මà·\94රපදය à¶´à·\8aâ\80\8dරතà·\8aâ\80\8dයà·\8fරමà·\8aභ à¶\9aරන්න',
 'passwordremindertitle' => '{{SITENAME}} සඳහා නව තාවකාලික මුර-පදය',
 'passwordremindertext' => 'යම් අයෙකු  ($1 අන්තර්ජාල ලිපිනය තුලින් සමහර විට ඔබ) විසින්  {{SITENAME}} ($4)සඳහා නව මුර-පදයක් ඉල්ලා සිට ඇත. පරිශීලක "$2"  වෙනුවෙන් තාවකාලික  මුර-පදයක් තනා "$3" බවට නියම කර ඇත. මෙය ඔබගේ අභිලාශය වූයේ නම් ඔබ විසින් ළහිළහියේ ප්‍රවිෂ්ට වී, නව මුර-පදයක් තෝරා ගත යුතුව ඇත.ඔබගේ තාවකාලික මුරපදය  {{PLURAL:$5|එක් දිනකින්|දින $5 කින්}}කල් ඉකුත්වනු ඇත.
 
@@ -1520,7 +1520,7 @@ HTML ටැගයන් පිරික්සන්න.',
 'rclistfrom' => '$1 සිට බලපැවැත්වෙන මෑත වෙනස්වීම් පෙන්වන්න',
 'rcshowhideminor' => 'සුළු සංස්කරණ $1',
 'rcshowhidebots' => 'රොබෝ $1',
-'rcshowhideliu' => 'පà·\92à·\80à·\92à·\83à·\94නà·\94 à¶´à¶»à·\92à·\81à·\93ලà¶\9aයනà·\8a $1',
+'rcshowhideliu' => 'ලà·\9aà¶\9bනà¶\9cත à¶´à¶»à·\92à·\81à·\93ලà¶\9aයà·\9d $1',
 'rcshowhideanons' => 'නිර්නාමික පරිශීලකයන් $1',
 'rcshowhidepatr' => 'පරික්‍ෂා කර බැලූ සංස්කරණයන් $1',
 'rcshowhidemine' => 'මගේ සංස්කරණයන් $1',
@@ -2402,7 +2402,7 @@ $1',
 'contributions' => '{{GENDER:$1|පරිශීලකගේ}} දායකත්වයන්',
 'contributions-title' => ' $1 සඳහා පරිශීලක දායකත්වයන්',
 'mycontris' => 'දායකත්ව',
-'contribsub2' => '$1 සඳහා ($2)',
+'contribsub2' => '{{GENDER:$3|$1}} සඳහා ($2)',
 'nocontribs' => 'මෙම උපමානයන් හා ගැලපෙන වෙනස්වීම් හමුනොවිණි.',
 'uctop' => '(වත්මන්)',
 'month' => 'මෙම මස (හා ඉන් පෙර) සිට:',
@@ -2983,7 +2983,7 @@ $1',
 'file-nohires' => 'මෙයට ඉහල විසර්ජනයක් දක්වා එළඹිය නොහැක.',
 'svg-long-desc' => 'SVG ගොනුව, නාමමාත්‍රිකව $1 × $2 පික්සල්, ගොනු විශාලත්වය: $3',
 'svg-long-error' => 'අනීතික SVG ගොනුව: $1',
-'show-big-image' => 'පà·\96රà·\8aණ à·\80à·\92භà·\9aදනය',
+'show-big-image' => 'මà·\94ලà·\8a à¶\9cà·\9cනà·\94à·\80',
 'show-big-image-preview' => 'මෙම පෙරදසුනෙහි තරම: $1.',
 'show-big-image-other' => 'අනෙකුත් {{PLURAL:$2|විභේදනය|විභේදනයන්}}: $1.',
 'show-big-image-size' => '$1 × $2  පික්සල',
index 858d6a0..e020653 100644 (file)
@@ -1681,10 +1681,11 @@ Softvér používa toto nastavenie na správne oslovenie a označenie vás ostat
 'recentchanges-summary' => 'Pomocou tejto stránky sledujete posledné úpravy wiki.',
 'recentchanges-noresult' => 'V danom období nie sú zmeny spĺňajúce tieto kritériá.',
 'recentchanges-feed-description' => 'Sledovať posledné úpravy tejto wiki týmto kanálom.',
-'recentchanges-label-newpage' => 'Táto úprava vytvorila novú stránku.',
+'recentchanges-label-newpage' => 'Táto úprava vytvorila novú stránku',
 'recentchanges-label-minor' => 'Toto je drobná úprava',
-'recentchanges-label-bot' => 'Túto úpravy vykonal robot',
+'recentchanges-label-bot' => 'Túto úpravu vykonal bot',
 'recentchanges-label-unpatrolled' => 'Táto úprava zatiaľ nebola strážená',
+'recentchanges-label-plusminus' => 'Veľkosť stránky sa zmenila o toľkoto bajtov',
 'recentchanges-legend-newpage' => '(pozri tiež [[Special:NewPages|zoznam nových stránok]])',
 'rcnotefrom' => "Nižšie sú zobrazené úpravy od '''$2''' (do '''$1''').",
 'rclistfrom' => 'Zobraziť nové úpravy počnúc od $1',
index fe25f1f..cafa6b1 100644 (file)
@@ -1422,6 +1422,7 @@ Ko vas drugi uporabniki kontaktirajo, jim vašega e-poštnega naslova ne bomo ra
 'prefs-tokenwatchlist' => 'Žeton',
 'prefs-diffs' => 'Primerjave',
 'prefs-help-prefershttps' => 'Nastavitev bo začela veljati ob vaši naslednji prijavi.',
+'prefs-tabs-navigation-hint' => 'Namig: Za krmarjenje med zavihki na seznamu zavihkov lahko uporabite levo in desno smerno tipko.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Izgleda veljaven',
@@ -1604,16 +1605,17 @@ Ko vas drugi uporabniki kontaktirajo, jim vašega e-poštnega naslova ne bomo ra
 'recentchanges-noresult' => 'V podanem obdobju nobena sprememba ne ustreza tem merilom.',
 'recentchanges-feed-description' => 'Spremljajte zadnje spremembe wikija prek tega vira.',
 'recentchanges-label-newpage' => 's tem urejanjem je uporabnik ustvaril novo stran',
-'recentchanges-label-minor' => 'Manjše urejanje',
+'recentchanges-label-minor' => 'manjše urejanje',
 'recentchanges-label-bot' => 'urejanje je izvedel bot',
 'recentchanges-label-unpatrolled' => 'Urejanje še ni bilo pregledano',
 'recentchanges-label-plusminus' => 'uporabnik je velikost strani spremenil za tolikšno število bajtov',
+'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => '(glej tudi [[Special:NewPages|seznam novih strani]])',
 'rcnotefrom' => "Navedene so spremembe od '''$2''' dalje (prikazujem jih do '''$1''').",
 'rclistfrom' => 'Prikaži spremembe od $1 naprej',
 'rcshowhideminor' => '$1 manjša urejanja',
 'rcshowhidebots' => '$1 bote',
-'rcshowhideliu' => '$1 prijavljene uporabnike',
+'rcshowhideliu' => '$1 registrirane uporabnike',
 'rcshowhideanons' => '$1 brezimne uporabnike',
 'rcshowhidepatr' => '$1 pregledana urejanja',
 'rcshowhidemine' => '$1 moja urejanja',
@@ -2083,6 +2085,7 @@ Sedaj je preusmeritev na [[$2]].',
 'ninterwikis' => '$1 {{PLURAL:$1|medjezikovna povezava|medjezikovni povezavi|medjezikovne povezave|medjezikovnih povezav}}',
 'nlinks' => '$1 {{PLURAL:$1|povezava|povezavi|povezave|povezav|povezav}}',
 'nmembers' => '$1 {{PLURAL:$1|element|elementa|elementi|elementov|elementov}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|element|elementa|elementi|elementov}}',
 'nrevisions' => '$1 {{PLURAL:$1|redakcija|redakciji|redakcije|redakcij|redakcij}}',
 'nviews' => '$1 {{PLURAL:$1|ogled|ogleda|ogledi|ogledov|ogledov}}',
 'nimagelinks' => 'Uporabljeno na $1 {{PLURAL:$1|strani|straneh}}',
@@ -3731,6 +3734,11 @@ Prosimo, potrdite, da jo resnično želite znova ustvariti.",
 'imgmultigo' => 'Pojdi!',
 'imgmultigoto' => 'Pojdi na stran $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(privzeti jezik)',
+'img-lang-info' => 'Upodobi sliko v $1. $2',
+'img-lang-go' => 'Pojdi',
+
 # Table pager
 'ascending_abbrev' => 'nar',
 'descending_abbrev' => 'pad',
@@ -3830,13 +3838,14 @@ Skupaj s programom bi morali bi prejeti [{{SERVER}}{{SCRIPTPATH}}/COPYING kopijo
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Pot skripta]',
 
 # Special:Redirect
-'redirect' => 'Preusmeri po datoteki, uporabniku ali ID-ju redakcije',
+'redirect' => 'Preusmeri po datoteki, uporabniku, strani ali ID-ju redakcije',
 'redirect-legend' => 'Preusmeritev na datoteko ali stran',
-'redirect-summary' => 'Posebna stran preusmeri na datoteko (če podate ime datoteke), stran (če podate ID redakcije) ali uporabniško stran (če podate številski ID uporabnika). Primer: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] ali [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Posebna stran preusmeri na datoteko (če podate ime datoteke), stran (če podate ID redakcije ali ID strani) ali uporabniško stran (če podate številski ID uporabnika). Uporaba: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] ali [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Pojdi',
 'redirect-lookup' => 'Iskanje:',
 'redirect-value' => 'Vrednost:',
 'redirect-user' => 'ID uporabnika',
+'redirect-page' => 'ID strani',
 'redirect-revision' => 'Redakcija strani',
 'redirect-file' => 'Ime datoteke',
 'redirect-not-exists' => 'Vrednosti ni mogoče najti',
@@ -4079,10 +4088,12 @@ Pravzaprav razširi skoraj vse v dvojnih zavitih oklepajih.',
 'expand_templates_input' => 'Vhodno besedilo:',
 'expand_templates_output' => 'Rezultat',
 'expand_templates_xml_output' => 'Izhod XML',
+'expand_templates_html_output' => 'Surovi izhod HTML',
 'expand_templates_ok' => 'V redu',
 'expand_templates_remove_comments' => 'Odstrani komentarje',
 'expand_templates_remove_nowiki' => 'V rezultatu odstrani oznake <nowiki>',
 'expand_templates_generate_xml' => 'Pokaži razčlenitveno drevo XML',
+'expand_templates_generate_rawhtml' => 'Prikaži surovi HTML',
 'expand_templates_preview' => 'Predogled',
 
 );
index 9b4c58d..8855862 100644 (file)
@@ -774,7 +774,7 @@ $1',
 'actionthrottled' => 'Радња је успорена',
 'actionthrottledtext' => 'У циљу борбе против непожељних порука, ограничене су вам измене у одређеном времену, а управо сте прешли то ограничење. Покушајте поново за неколико минута.',
 'protectedpagetext' => 'Ова страница је закључана за измене и друге радње.',
-'viewsourcetext' => 'Можете да погледате и копирате изворни текст ове странице:',
+'viewsourcetext' => 'Можете читати и копирати садржај ове странице:',
 'viewyourtext' => "Можете да погледате и копирате извор '''ваших измена''' на овој страници:",
 'protectedinterface' => 'Ова страница садржи текст корисничког окружења за софтвер на овом викију и заштићена је ради спречавања злоупотребе.
 Да бисте додали или изменили преводе свих викија, посетите [//translatewiki.net/ Транслејтвики], пројекат за локализацију Медијавикија.',
@@ -1688,7 +1688,7 @@ $1",
 'right-writeapi' => 'писање АПИ-ја',
 'right-delete' => 'брисање страница',
 'right-bigdelete' => 'брисање страница с великом историјом',
-'right-deletelogentry' => 'Ð\91рисање и враћање одређених ставки у дневнику',
+'right-deletelogentry' => 'брисање и враћање одређених ставки у дневнику',
 'right-deleterevision' => 'брисање и враћање одређених измена страница',
 'right-deletedhistory' => 'прегледање обрисаних ставки историје без повезаног текста',
 'right-deletedtext' => 'прегледање обрисаног текста и измена између обрисаних измена',
@@ -1701,17 +1701,17 @@ $1",
 'right-hideuser' => 'блокирање корисничког имена и његово сакривање од јавности',
 'right-ipblock-exempt' => 'заобилажење блокирања IP адресе, самоблокирања и блокирања опсега',
 'right-proxyunbannable' => 'заобилажење самоблокирања посредника',
-'right-unblockself' => 'Ð\9eдблокирај самог себе',
-'right-protect' => 'Ð\9fÑ\80омени Ð½Ð¸Ð²Ð¾Ðµ Ð·Ð°Ñ\88Ñ\82иÑ\82е Ð¸ Ñ\83Ñ\80еди ÐºÐ°Ñ\81кадно Ð·Ð°Ñ\88Ñ\82иÑ\9bене Ñ\81Ñ\82Ñ\80аниÑ\86е',
-'right-editprotected' => 'Уреди странице под заштитом „{{int:protect-level-sysop}}“',
-'right-editsemiprotected' => 'Уреди странице под заштитом „{{int:protect-level-autoconfirmed}}“',
+'right-unblockself' => 'одблокирај самог себе',
+'right-protect' => 'пÑ\80омени Ð½Ð¸Ð²Ð¾Ðµ Ð·Ð°Ñ\88Ñ\82иÑ\82е Ð¸ Ñ\83Ñ\80еди Ñ\81Ñ\82Ñ\80аниÑ\86е Ñ\81а Ð¿Ñ\80еноÑ\81ивом Ð·Ð°Ñ\88Ñ\82иÑ\82ом',
+'right-editprotected' => 'уреди странице под заштитом „{{int:protect-level-sysop}}“',
+'right-editsemiprotected' => 'уреди странице под заштитом „{{int:protect-level-autoconfirmed}}“',
 'right-editinterface' => 'уређивање корисничког окружења',
 'right-editusercssjs' => 'уређивање туђих CSS и јаваскрипт датотека',
 'right-editusercss' => 'уређивање туђих CSS датотека',
 'right-edituserjs' => 'уређивање туђих јаваскрипт датотека',
-'right-viewmyprivateinfo' => 'Ð\92идите своје личне податке (нпр. адресу е-поште, право име)',
-'right-editmyprivateinfo' => 'Уреди своје личне податке (нпр. адресу е-поште, право име)',
-'right-editmyoptions' => 'Уредите своја подешавања',
+'right-viewmyprivateinfo' => 'видите своје личне податке (нпр. адресу е-поште, право име)',
+'right-editmyprivateinfo' => 'уреди своје личне податке (нпр. адресу е-поште, право име)',
+'right-editmyoptions' => 'уредите своја подешавања',
 'right-rollback' => 'брзо враћање измена последњег корисника који је мењао одређену страницу',
 'right-markbotedits' => 'означавање враћених измена као измене бота',
 'right-noratelimit' => 'отпорност на ограничења',
@@ -1787,7 +1787,9 @@ $1",
 'recentchanges-label-minor' => 'Мања измена',
 'recentchanges-label-bot' => 'Ову измену је направио бот',
 'recentchanges-label-unpatrolled' => 'Ова измена још није прегледана',
-'recentchanges-legend-newpage' => '(такође погледајте [[Special:NewPages|списак нових страница]])',
+'recentchanges-label-plusminus' => 'Промена величине странице (у бајтовима)',
+'recentchanges-legend-heading' => "'''Легенда:'''",
+'recentchanges-legend-newpage' => '([[Special:NewPages|списак нових страница]])',
 'rcnotefrom' => 'Испод су измене од <b>$3; $4</b> (до <b>$1</b> измена).',
 'rclistfrom' => 'Прикажи нове измене почев од $1',
 'rcshowhideminor' => '$1 мање измене',
@@ -1937,7 +1939,7 @@ $1",
 'sourcefilename' => 'Назив изворне датотеке:',
 'sourceurl' => 'Адреса извора:',
 'destfilename' => 'Назив:',
-'upload-maxfilesize' => 'Ð\9dаÑ\98веÑ\9bа величина датотеке: $1',
+'upload-maxfilesize' => 'Ð\9cакÑ\81имална величина датотеке: $1',
 'upload-description' => 'Опис датотеке',
 'upload-options' => 'Поставке слања',
 'watchthisupload' => 'Надгледај ову датотеку',
@@ -2085,7 +2087,7 @@ $1',
 'nolicense' => 'није изабрано',
 'license-nopreview' => '(преглед није доступан)',
 'upload_source_url' => ' (исправна и јавно доступна адреса)',
-'upload_source_file' => ' (датотека на вашем рачунару)',
+'upload_source_file' => '(датотека на вашем рачунару)',
 
 # Special:ListFiles
 'listfiles-summary' => 'Ова посебна страница приказује све послате датотеке.',
@@ -2219,7 +2221,7 @@ $1',
 'statistics-articles' => 'Странице са садржајем',
 'statistics-pages' => 'Страница',
 'statistics-pages-desc' => 'Све странице на викију, укључујући странице за разговор, преусмерења итд.',
-'statistics-files' => 'Ð\9eÑ\82пÑ\80емÑ\99ено датотека',
+'statistics-files' => 'Ð\91Ñ\80оÑ\98 Ð¿Ð¾Ñ\81лаÑ\82иÑ\85 датотека',
 'statistics-edits' => 'Број измена страница откад постоји {{SITENAME}}',
 'statistics-edits-average' => 'Просечан број измена по страници',
 'statistics-views-total' => 'Укупно прегледа',
@@ -2475,7 +2477,7 @@ $1',
 'watchnologintext' => 'Морате бити [[Special:UserLogin|пријављени]] да бисте мењали списак надгледања.',
 'addwatch' => 'Додај на списак надгледања',
 'addedwatchtext' => 'Страница „[[:$1]]“ је додата на ваш [[Special:Watchlist|списак надгледања]].
-Будуће измене ове странице и њене странице за разговор биће наведене тамо.',
+Будуће измене ове странице и њене странице за разговор биће наведене овде.',
 'removewatch' => 'Уклони са списка надгледања',
 'removedwatchtext' => 'Страница „[[:$1]]“ је уклоњена с вашег [[Special:Watchlist|списка надгледања]].',
 'watch' => 'Надгледај',
@@ -2484,7 +2486,7 @@ $1',
 'unwatchthispage' => 'Прекини надгледање',
 'notanarticle' => 'Није страница са садржајем',
 'notvisiblerev' => 'Измена је обрисана',
-'watchlist-details' => '{{PLURAL:$1|$1 страница|$1 странице|$1 страница}} на вашем списку надгледања, не рачунајући странице за разговор.',
+'watchlist-details' => 'Имате {{PLURAL:$1|$1 страница|$1 странице|$1 страница}} на вашем списку надгледања, не рачунајући странице за разговор.',
 'wlheader-enotif' => 'Обавештење е-поруком је омогућено.',
 'wlheader-showupdated' => "Странице које су измењене откад сте их последњи пут посетили су '''подебљане'''.",
 'watchmethod-recent' => 'проверава се да ли има надгледаних страница у скорашњим изменама',
@@ -2739,7 +2741,7 @@ $1',
 
 # Contributions
 'contributions' => '{{GENDER:$1|Кориснички}} доприноси',
-'contributions-title' => 'Доприноси {{GENDER:$1|корисника|кориснице|корисника}} $1',
+'contributions-title' => 'Доприноси {{GENDER:$1|корисника|кориснице}} $1',
 'mycontris' => 'Доприноси',
 'contribsub2' => 'За {{GENDER:$3|$1}} ($2)',
 'nocontribs' => 'Измене које одговарају овим условима нису пронађене.',
@@ -3187,7 +3189,7 @@ $1',
 'tooltip-t-emailuser' => 'Пошаљите е-поруку овом кориснику',
 'tooltip-t-upload' => 'Пошаљите датотеке',
 'tooltip-t-specialpages' => 'Списак свих посебних страница',
-'tooltip-t-print' => 'Ð\98здаÑ\9aе Ð·Ð° Ñ\88Ñ\82ампаÑ\9aе Ð¾Ð²Ðµ Ñ\81Ñ\82Ñ\80аниÑ\86е',
+'tooltip-t-print' => 'Ð\92еÑ\80зиÑ\98а Ð¾Ð²Ðµ Ñ\81Ñ\82Ñ\80аниÑ\86е Ð·Ð° Ñ\88Ñ\82ампаÑ\9aе',
 'tooltip-t-permalink' => 'Стална веза ка овој измени странице',
 'tooltip-ca-nstab-main' => 'Погледајте страницу са садржајем',
 'tooltip-ca-nstab-user' => 'Погледајте корисничку страницу',
@@ -4039,6 +4041,9 @@ $5
 'imgmultigo' => 'Иди!',
 'imgmultigoto' => 'Иди на страницу $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(подразумевани језик)',
+
 # Table pager
 'ascending_abbrev' => 'раст.',
 'descending_abbrev' => 'опад.',
@@ -4216,7 +4221,7 @@ $5
 'fileduplicatesearch-legend' => 'Претрага дупликата',
 'fileduplicatesearch-filename' => 'Назив датотеке:',
 'fileduplicatesearch-submit' => 'Претражи',
-'fileduplicatesearch-info' => '$1 × $2 пиксела<br />Величина: $3<br />MIME врста: $4',
+'fileduplicatesearch-info' => '$1 × $2 пиксела<br />Величина датотеке: $3<br />MIME тип: $4',
 'fileduplicatesearch-result-1' => 'Датотека „$1“ нема истоветних дупликата.',
 'fileduplicatesearch-result-n' => 'Датотека „$1“ има {{PLURAL:$2|идентичан дупликат|$2 идентична дупликата|$2 идентичних дупликата}}.',
 'fileduplicatesearch-noresults' => 'Датотека под називом „$1“ није пронађена.',
index 829a43b..5cfe5d1 100644 (file)
@@ -681,7 +681,7 @@ Podaci koji se ovde nalaze mogu biti zastareli.',
 'actionthrottled' => 'Radnja je usporena',
 'actionthrottledtext' => 'U cilju borbe protiv nepoželjnih poruka, ograničene su vam izmene u određenom vremenu, a upravo ste prešli to ograničenje. Pokušajte ponovo za nekoliko minuta.',
 'protectedpagetext' => 'Ova stranica je zaključana za izmene i druge radnje.',
-'viewsourcetext' => 'Možete da pogledate i umnožite izvorni tekst ove stranice:',
+'viewsourcetext' => 'Možete čitati i kopirati sadržaj ove stranice:',
 'viewyourtext' => "Možete da pogledate i umnožite izvor '''vaših izmena''' na ovoj stranici:",
 'protectedinterface' => 'Ova stranica sadrži tekst korisničkog okruženja za softver na ovom vikiju i zaštićena je radi sprečavanja zloupotrebe.
 Da biste dodali ili izmenili prevode svih vikija, posetite [//translatewiki.net/ Translejtviki], projekat za lokalizaciju Medijavikija.',
@@ -1571,7 +1571,7 @@ Ako izaberete da ga unesete, ono će biti korišćeno za pripisivanje vašeg rad
 'right-writeapi' => 'pisanje API-ja',
 'right-delete' => 'brisanje stranica',
 'right-bigdelete' => 'brisanje stranica s velikom istorijom',
-'right-deletelogentry' => 'Brisanje i vraćanje određenih stavki u dnevniku',
+'right-deletelogentry' => 'brisanje i vraćanje određenih stavki u dnevniku',
 'right-deleterevision' => 'brisanje i vraćanje određenih izmena stranica',
 'right-deletedhistory' => 'pregledanje obrisanih stavki istorije bez povezanog teksta',
 'right-deletedtext' => 'pregledanje obrisanog teksta i izmena između obrisanih izmena',
@@ -1584,9 +1584,9 @@ Ako izaberete da ga unesete, ono će biti korišćeno za pripisivanje vašeg rad
 'right-hideuser' => 'blokiranje korisničkog imena i njegovo sakrivanje od javnosti',
 'right-ipblock-exempt' => 'zaobilaženje blokiranja IP adrese, samoblokiranja i blokiranja opsega',
 'right-proxyunbannable' => 'zaobilaženje samoblokiranja posrednika',
-'right-unblockself' => 'Odblokiraj samog sebe',
-'right-protect' => 'Promeni nivoe zaštite i uredi kaskadno zaštićene stranice',
-'right-editprotected' => 'Uredi stranice pod zaštitom „{{int:protect-level-sysop}}“',
+'right-unblockself' => 'odblokiraj samog sebe',
+'right-protect' => 'promeni nivoe zaštite i uredi stranice sa prenosivom zaštitom',
+'right-editprotected' => 'uredi stranice pod zaštitom „{{int:protect-level-sysop}}“',
 'right-editinterface' => 'uređivanje korisničkog sučelja',
 'right-editusercssjs' => 'uređivanje tuđih CSS i javaskript datoteka',
 'right-editusercss' => 'uređivanje tuđih CSS datoteka',
@@ -1663,7 +1663,7 @@ Ako izaberete da ga unesete, ono će biti korišćeno za pripisivanje vašeg rad
 'recentchanges-label-minor' => 'Manja izmena',
 'recentchanges-label-bot' => 'Ovu izmenu je napravio bot',
 'recentchanges-label-unpatrolled' => 'Ova izmena još nije pregledana',
-'recentchanges-legend-newpage' => '$1 - nova stranica',
+'recentchanges-legend-newpage' => '([[Special:NewPages|spisak novih stranica]])',
 'rcnotefrom' => 'Ispod su izmene od <b>$3; $4</b> (do <b>$1</b> izmena).',
 'rclistfrom' => 'Prikaži nove izmene počev od $1',
 'rcshowhideminor' => '$1 manje izmene',
@@ -1813,7 +1813,7 @@ Slanje java datoteka nije dozvoljeno jer one mogu izazvati zaobilaženje sigurno
 'sourcefilename' => 'Naziv izvorne datoteke:',
 'sourceurl' => 'Adresa izvora:',
 'destfilename' => 'Naziv:',
-'upload-maxfilesize' => 'Najveća veličina datoteke: $1',
+'upload-maxfilesize' => 'Maksimalna veličina datoteke: $1',
 'upload-description' => 'Opis datoteke',
 'upload-options' => 'Postavke slanja',
 'watchthisupload' => 'Nadgledaj ovu datoteku',
@@ -1961,7 +1961,7 @@ Probajte kasnije kada bude manje opterećenje.',
 'nolicense' => 'nije izabrano',
 'license-nopreview' => '(pregled nije dostupan)',
 'upload_source_url' => ' (ispravna i javno dostupna adresa)',
-'upload_source_file' => ' (datoteka na vašem računaru)',
+'upload_source_file' => '(datoteka na vašem računaru)',
 
 # Special:ListFiles
 'listfiles-summary' => 'Ova posebna stranica prikazuje sve poslate datoteke.',
@@ -2091,7 +2091,7 @@ Pre brisanja proverite da li druge stranice vode do tih šablona.',
 'statistics-articles' => 'Stranice sa sadržajem',
 'statistics-pages' => 'Stranica',
 'statistics-pages-desc' => 'Sve stranice na vikiju, uključujući stranice za razgovor, preusmerenja itd.',
-'statistics-files' => 'Otpremljeno datoteka',
+'statistics-files' => 'Broj poslatih datoteka',
 'statistics-edits' => 'Broj izmena stranica otkad postoji {{SITENAME}}',
 'statistics-edits-average' => 'Prosečan broj izmena po stranici',
 'statistics-views-total' => 'Ukupno pregleda',
@@ -2344,7 +2344,7 @@ E-adresa koju ste uneli u vašim [[Special:Preferences|podešavanjima]] će se p
 'watchnologintext' => 'Morate biti [[Special:UserLogin|prijavljeni]] da biste menjali spisak nadgledanja.',
 'addwatch' => 'Dodaj na spisak nadgledanja',
 'addedwatchtext' => 'Stranica „[[:$1]]“ je dodata na vaš [[Special:Watchlist|spisak nadgledanja]].
-Buduće izmene ove stranice i njene stranice za razgovor biće navedene tamo.',
+Buduće izmene ove stranice i njene stranice za razgovor biće navedene ovde.',
 'removewatch' => 'Ukloni sa spiska nadgledanja',
 'removedwatchtext' => 'Stranica „[[:$1]]“ je uklonjena s vašeg [[Special:Watchlist|spiska nadgledanja]].',
 'watch' => 'Nadgledaj',
@@ -2353,7 +2353,7 @@ Buduće izmene ove stranice i njene stranice za razgovor biće navedene tamo.',
 'unwatchthispage' => 'Prekini nadgledanje',
 'notanarticle' => 'Nije stranica sa sadržajem',
 'notvisiblerev' => 'Izmena je obrisana',
-'watchlist-details' => '{{PLURAL:$1|$1 stranica|$1 stranice|$1 stranica}} na vašem spisku nadgledanja, ne računajući stranice za razgovor.',
+'watchlist-details' => 'Imate {{PLURAL:$1|$1 stranica|$1 stranice|$1 stranica}} na vašem spisku nadgledanja, ne računajući stranice za razgovor.',
 'wlheader-enotif' => 'Obaveštenje e-porukom je omogućeno.',
 'wlheader-showupdated' => "Stranice koje su izmenjene otkad ste ih poslednji put posetili su '''podebljane'''.",
 'watchmethod-recent' => 'proverava se da li ima nadgledanih stranica u skorašnjim izmenama',
@@ -2598,7 +2598,7 @@ $1',
 
 # Contributions
 'contributions' => '{{GENDER:$1|Korisnički}} doprinosi',
-'contributions-title' => 'Doprinosi {{GENDER:$1|korisnika|korisnice|korisnika}} $1',
+'contributions-title' => 'Doprinosi {{GENDER:$1|korisnika|korisnice}} $1',
 'mycontris' => 'Doprinosi',
 'contribsub2' => 'Za {{GENDER:$3|$1}} ($2)',
 'nocontribs' => 'Izmene koje odgovaraju ovim uslovima nisu pronađene.',
@@ -3045,7 +3045,7 @@ Pokušajte ponovo.',
 'tooltip-t-emailuser' => 'Pošaljite e-poruku ovom korisniku',
 'tooltip-t-upload' => 'Pošaljite datoteke',
 'tooltip-t-specialpages' => 'Spisak svih posebnih stranica',
-'tooltip-t-print' => 'Izdanje za štampanje ove stranice',
+'tooltip-t-print' => 'Verzija ove stranice za štampanje',
 'tooltip-t-permalink' => 'Stalna veza ka ovoj izmeni stranice',
 'tooltip-ca-nstab-main' => 'Pogledajte stranicu sa sadržajem',
 'tooltip-ca-nstab-user' => 'Pogledajte korisničku stranicu',
@@ -4056,7 +4056,7 @@ Trebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove op
 'fileduplicatesearch-legend' => 'Pretraga duplikata',
 'fileduplicatesearch-filename' => 'Naziv datoteke:',
 'fileduplicatesearch-submit' => 'Pretraži',
-'fileduplicatesearch-info' => '$1 × $2 piksela<br />Veličina: $3<br />MIME vrsta: $4',
+'fileduplicatesearch-info' => '$1 × $2 piksela<br />Veličina datoteke: $3<br />MIME tip: $4',
 'fileduplicatesearch-result-1' => 'Datoteka „$1“ nema istovetnih duplikata.',
 'fileduplicatesearch-result-n' => 'Datoteka „$1“ ima {{PLURAL:$2|identičan duplikat|$2 identična duplikata|$2 identičnih duplikata}}.',
 'fileduplicatesearch-noresults' => 'Datoteka pod nazivom „$1“ nije pronađena.',
index 74ba186..a9f7af0 100644 (file)
@@ -326,7 +326,7 @@ $dateFormats = array(
 
 $messages = array(
 # User preference toggles
-'tog-underline' => 'Stryk under länkar',
+'tog-underline' => 'Stryk under länkar:',
 'tog-justify' => 'Marginaljustera stycken',
 'tog-hideminor' => 'Visa inte mindre redigeringar i senaste ändringar',
 'tog-hidepatrolled' => 'Dölj patrullerade redigeringar i senaste ändringar',
@@ -571,7 +571,7 @@ $1',
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'Om {{SITENAME}}',
 'aboutpage' => 'Project:Om',
-'copyright' => 'Innehållet är tillgängligt under $1.',
+'copyright' => 'Innehållet är tillgängligt under $1 om inte annat anges.',
 'copyrightpage' => '{{ns:project}}:Upphovsrätt',
 'currentevents' => 'Aktuella händelser',
 'currentevents-url' => 'Project:Aktuella händelser',
@@ -582,8 +582,8 @@ $1',
 'mainpage' => 'Huvudsida',
 'mainpage-description' => 'Huvudsida',
 'policy-url' => 'Project:Riktlinjer',
-'portal' => 'Deltagarportalen',
-'portal-url' => 'Project:Deltagarportalen',
+'portal' => 'Gemenskapens portal',
+'portal-url' => 'Projekt:Gemenskapens portal',
 'privacy' => 'Integritetspolicy',
 'privacypage' => 'Project:Integritetspolicy',
 
@@ -1543,6 +1543,7 @@ Om du väljer att ange ditt riktiga namn, kommer det att användas för att till
 'prefs-tokenwatchlist' => 'Nyckel',
 'prefs-diffs' => 'Skillnader',
 'prefs-help-prefershttps' => 'Ändringar av denna inställning börjar gälla nästa gång du loggar in',
+'prefs-tabs-navigation-hint' => 'Tips: Du kan använda vänster och höger piltangenterna för att navigera mellan flikarna i listan flikar.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Ser giltig ut',
@@ -1729,13 +1730,14 @@ Om du väljer att ange ditt riktiga namn, kommer det att användas för att till
 'recentchanges-label-bot' => 'Denna redigering gjordes av en bot',
 'recentchanges-label-unpatrolled' => 'Denna redigering har inte blivit kontrollerad ännu',
 'recentchanges-label-plusminus' => 'Sidans storlek ändrades med detta antal byte',
+'recentchanges-legend-heading' => "'''Teckenförklaring:'''",
 'recentchanges-legend-newpage' => '(se även [[Special:NewPages|listan över nya sidor]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Nedan visas ändringar sedan '''$2''' (upp till '''$1''' visas).",
 'rclistfrom' => 'Visa ändringar efter $1',
 'rcshowhideminor' => '$1 mindre ändringar',
 'rcshowhidebots' => '$1 robotar',
-'rcshowhideliu' => '$1 inloggade användare',
+'rcshowhideliu' => '$1 registrerade användare',
 'rcshowhideanons' => '$1 oinloggade användare',
 'rcshowhidepatr' => '$1 kontrollerade redigeringar',
 'rcshowhidemine' => '$1 mina ändringar',
@@ -2193,6 +2195,7 @@ Varje rad innehåller länkar till den första och andra omdirigeringsidan, samt
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikis}}',
 'nlinks' => '$1 {{PLURAL:$1|länk|länkar}}',
 'nmembers' => '$1 {{PLURAL:$1|medlem|medlemmar}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|medlem|medlemmar}}',
 'nrevisions' => '$1 {{PLURAL:$1|version|versioner}}',
 'nviews' => '$1 {{PLURAL:$1|visning|visningar}}',
 'nimagelinks' => 'Använd på $1 {{PLURAL:$1|sida|sidor}}',
@@ -3841,7 +3844,7 @@ Bekräfta att du verkligen vill återskapa sidan.",
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(standardspråk)',
-'img-lang-info' => 'Rendera bilden i $1 $2.',
+'img-lang-info' => 'Rendera denna bild i $1. $2',
 'img-lang-go' => 'Gå',
 
 # Table pager
@@ -4193,10 +4196,12 @@ Annars kan du använda det enkla formuläret nedan. Din kommentar kommer att lä
 'expand_templates_input' => 'Text som ska expanderas:',
 'expand_templates_output' => 'Expanderad kod',
 'expand_templates_xml_output' => 'XML-kod',
+'expand_templates_html_output' => 'Rå HTML-utdata',
 'expand_templates_ok' => 'Expandera',
 'expand_templates_remove_comments' => 'Ta bort kommentarer',
 'expand_templates_remove_nowiki' => 'Undertryck <nowiki> taggar i resultatet',
 'expand_templates_generate_xml' => 'Visa parseträd som XML',
+'expand_templates_generate_rawhtml' => 'Visa rå HTML',
 'expand_templates_preview' => 'Förhandsvisning',
 
 );
index df68f9d..d61ce8d 100644 (file)
@@ -173,6 +173,7 @@ $messages = array(
 'dec' => 'gru',
 'january-date' => '$1 styczńa',
 'february-date' => '$1 lutygo',
+'march-date' => '$1 marca',
 'april-date' => '$1 kwjytńa',
 'may-date' => '$1 moja',
 'june-date' => '$1 czyrwca',
@@ -420,6 +421,7 @@ Eli tak ńy je, możno śe trefił feler we softwaru MediaWiki. Kej ja, pedz uo
 'cannotdelete' => 'Ńy idźe wyćepać podanyj zajty abo grafiki $1.',
 'cannotdelete-title' => 'Ńy idźie wyćepać zajty "$1".',
 'delete-hook-aborted' => 'Wyćepywańe sztopńynte bez hak. Przyczyna ńyuokreślůno.',
+'no-null-revision' => 'Ńy je mogebne stworzyńe zerowyj wersyji zajty "$1"',
 'badtitle' => 'Felerny titel',
 'badtitletext' => 'Podano felerny titel zajty. Prawdopodańy sům w ńim znoki, kerych ńy wolno używać we titlach abo je pusty.',
 'perfcached' => 'To co sam je naszkryflane, to ino kopja ze pamjyńći podryncznyj a może ńy być aktualne. Nojwjyncyj {{PLURAL:$1|jydyn wynik je|$1 wyniki sům}} we tyj pamjyńći.',
@@ -441,6 +443,8 @@ $2',
 'customjsprotected' => 'Ńy mosz uprawńyń do sprowjańo tyj zajty, bo na ńij sům uosobiste sztalowańo inkszego użytkowńika.',
 'mycustomcssprotected' => 'Ńy mosz uprawńyń do sprowjańo tyj zajty CSS.',
 'mycustomjsprotected' => 'Ńy mosz uprawńyń do sprowjańo tyj zajty JavaScript.',
+'myprivateinfoprotected' => 'Ńy mosz uprowńyń coby sprowjić swoje prywatne dane.',
+'mypreferencesprotected' => 'Ńy mosz uprowńyń coby sprowjić swoje sztalowańo.',
 'ns-specialprotected' => 'Ńy idźe sprowjać zajtůw we przestrzyni mjan {{ns:special}}.',
 'titleprotected' => "Wćepańy sam zajty uo takim mjańe zawar [[User:$1|$1]].
 Powůd zawarćo: ''$2''.",
@@ -448,6 +452,7 @@ Powůd zawarćo: ''$2''.",
 
 Administrator kery zawarł wćepał kůmyntorz: "$3".',
 'invalidtitle-knownnamespace' => 'Felerne mjano "$3" w przestrzeńy "$2".',
+'invalidtitle-unknownnamespace' => 'Felerne mjano ze ńyznomům nůmerům raumu mjan $1: "$2"',
 'exception-nologin' => 'Ńy jest żeś zalogůwany',
 'exception-nologin-text' => 'Prosza [[Special:Userlogin|zaloguj śe]] coby mjeć mogebność przejśćo do tyj zajty abo akcyji.',
 
@@ -541,7 +546,7 @@ Sprowdź szrajbůng, abo [[Special:UserLogin/signup|utwůrz nowe kůnto]].',
 Hasło muśi mjeć przinojmńij {{PLURAL:$1|1 buchsztaba|$1 buchsztabůw}} a być inksze uod mjana użytkowńika.',
 'password-name-match' => 'Hasło mo być inksze atoli mjano używocza.',
 'password-login-forbidden' => 'Mogebność wyboru tygo mjana używocza abo hasła je zawarte.',
-'mailmypassword' => 'Wyślij mi nowe hasło bez e-brif',
+'mailmypassword' => 'Wyczyść hasło',
 'passwordremindertitle' => 'Nowe tymczasowe hasło lo {{SITENAME}}',
 'passwordremindertext' => 'Ftoś (cheba Ty, ze IP $1)
 pado, aże chce nowe hasło do {{SITENAME}} ($4).
@@ -583,6 +588,7 @@ Kej bydźesz chćoł je podoć, bydům użyte, coby dokůmyntowoć Twoje autorst
 # Email sending
 'php-mail-error-unknown' => 'Ńyznany feler we funkcyji mail()',
 'user-mail-no-addy' => 'Průba posłańo e‐brifa bez adresu uodbjorcy',
+'user-mail-no-body' => 'Bůła průba posłańo e-brifa uo blank abo krůtkim tekśće.',
 
 # Change password dialog
 'changepassword' => 'Zmjana hasua',
@@ -600,6 +606,7 @@ Kej bydźesz chćoł je podoć, bydům użyte, coby dokůmyntowoć Twoje autorst
 'resetpass-wrong-oldpass' => 'Felerne tymczasowe abo aktualne hasło.
 Możliwe co właśńy zmjyńiłżeś swoje hasło abo poprosiłżeś uo nowe tymczasowe hasło.',
 'resetpass-temp-password' => 'Tymczasowe hasło:',
+'resetpass-abort-generic' => 'Půmjyńańe hasła uostoła zatrzimane bez rozszyrzyńe.',
 
 # Special:PasswordReset
 'passwordreset' => 'Wyczyść hasło',
@@ -638,6 +645,9 @@ Tymczasowe hasło: $2',
 'changeemail-submit' => 'Spamjyntej nowy',
 'changeemail-cancel' => 'Uodćepej',
 
+# Special:ResetTokens
+'resettokens' => 'Resetuj tokeny',
+
 # Edit page toolbar
 'bold_sample' => 'Ruby tekst',
 'bold_tip' => 'Ruby tekst',
@@ -709,7 +719,7 @@ Możesz to zrobić we [[Special:Preferences|swojich sztalowańach]].',
 'newarticletext' => 'Ńy mo sam jeszcze artikla uo takijj titli. Eli chcesz go sprowjać, naszkryflej niżyj jego tekst (wjyncy informacyj nojdźesz [[{{MediaWiki:Helppage}}|na zajće půmocy]]). Eli żeś chćoł zrobić cośik inksze, naćiś ino knefel "Nazod".',
 'anontalkpagetext' => "---- ''To je zajta godki lo anůnimowych używoczy  - takich, kerzi ńy majům jeszcze swojigo kůnta abo ńy chcům go terozki używać.
 By jejich idyntyfikować, używomy numerůw IP.
-Eli jeżeś anůnimowym używoczym a wydowo Ći śe, aże zamjyszczůne sam kůmyntorze ńy sům skjyrowane do Ćebje, [[Special:UserLogin|utwůrz prosza kůnto]] abo [[Special:UserLogin|zalůguj śe]] - beztůż uńikńesz potym podobnych ńyporozumjyń.''",
+Eli jeżeś anůnimowym używoczym a wydowo Ći śe, aże zamjyszczůne sam kůmyntorze ńy sům skjyrowane do Ćebje, [[Special:UserLogin/signup|utwůrz kůnto]] abo [[Special:UserLogin|zaloguj śe]] - beztůż uńikńesz potym podobnych ńyporozumjyń.''",
 'noarticletext' => 'Ńy můmy zajta uo takij titli. Mogesz [{{fullurl:{{FULLPAGENAME}}|action=edit}} wćepać artikel {{FULLPAGENAME}}] abo [[Special:Search/{{PAGENAME}}|sznupać {{PAGENAME}} we inkszych]].',
 'noarticletext-nopermission' => 'Ta zajta terozki je pusto.
 Mogesz [[Special:Search/{{PAGENAME}}|wysznupać ta titla]] we treśćach inkszych zajtůw, abo <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} przesznupać powjůnzane rejery]</span>, nale ńy mosz uprowńyń coby ta zajta wćepać',
@@ -799,6 +809,7 @@ Rejer wyćepań tyj zajty je podany půńiżej, cobyś mioł wygoda:",
 Zdowo śe, co zostoła wyćepano.',
 'edit-conflict' => 'Kůnflikt sprowjyń.',
 'edit-no-change' => 'Twoje sprowjyńe uostouo zignorowane pů takymu, co ńic žeś we tekśće ńy zmjyńiu.',
+'postedit-confirmation' => 'Spamjyntano twoje sprowjyńe.',
 'edit-already-exists' => 'Ńy idźe utwořić nowyj zajty.
 Tako zajta juž sam je.',
 'defaultmessagetext' => 'Tekst důmyślny',
@@ -836,7 +847,7 @@ Skuli: ''$2''",
 'revisionasof' => 'Wersyjo ze dńa $1',
 'revision-info' => 'Wersyjo s dńa $1; $2',
 'previousrevision' => '← starszo wersyjo',
-'nextrevision' => 'Nastympno wersyjo→',
+'nextrevision' => 'Nostympno wersyjo→',
 'currentrevisionlink' => 'Aktualno wersyjo',
 'cur' => 'akt.',
 'next' => 'nastympno',
@@ -1250,11 +1261,11 @@ $1',
 'recentchanges-label-minor' => 'To je ńywjelge sprowjyńy',
 'recentchanges-label-bot' => 'To sprowjyńy bůło zrobjůne uod bota',
 'recentchanges-label-unpatrolled' => 'To sprowjyńy ńy bůło jeszcze uowjerzůne',
-'rcnotefrom' => 'PůÅ\84¾ej pokazano půmjyÅ\84\84o zrobjůne pů <b>$2</b> (Å\84y wjyncyj jak <b>$1</b> pozycji).',
+'rcnotefrom' => 'PůÅ\84¼ej pokazano půmjyÅ\84\84o zrobjůne pů <b>$2</b> (Å\84y wjyncyj kej <b>$1</b> pozycji).',
 'rclistfrom' => 'Ukoż půmjyńańa uod $1',
 'rcshowhideminor' => '$1 drobne půmjyńańa',
 'rcshowhidebots' => '$1 boty',
-'rcshowhideliu' => '$1 nalogowanych używoczůw',
+'rcshowhideliu' => '$1 zaregisztrowanych',
 'rcshowhideanons' => '$1 anůńimowych',
 'rcshowhidepatr' => '$1 uowjerzůne',
 'rcshowhidemine' => '$1 uody mje sprowjůne',
@@ -1477,7 +1488,7 @@ Niżyj sům informacyje ze [$2 zajty popisu] tygo pliku.',
 'randomredirect-nopages' => 'We przestrzyńi mjan "$1" ńy ma przekerowań.',
 
 # Statistics
-'statistics' => 'Statystyka',
+'statistics' => 'Sztatystyka',
 'statistics-header-pages' => 'Statystyka zajtůw',
 'statistics-header-edits' => 'Statystyka sprowjyń',
 'statistics-header-views' => 'Statystyka bezuchůw',
@@ -1571,8 +1582,8 @@ Niżyj sům informacyje ze [$2 zajty popisu] tygo pliku.',
 
 # Book sources
 'booksources' => 'Kśůnžki',
-'booksources-search-legend' => 'Šnupej za zdřůduůma kśiůnžkowymi',
-'booksources-go' => 'Pokož',
+'booksources-search-legend' => 'Sznupej za zdrzůdłůma kśůnżkowymi',
+'booksources-go' => 'Pokoż',
 'booksources-text' => 'Půńiżyj je lista uodnośńikůw do inkszych witryn, kere pośredńiczům we sprzedaży nowych a używanych buchůw, a tyż můgům mjeć dolsze informacyje uo poszukiwanym bez ćebje buchu.',
 'booksources-invalid-isbn' => 'Podany numer ISBN zostoł rozpoznany kej felerny. Sprowdź aże podany numer je zgodny s numerym kery je we zdrzůdle.',
 
@@ -1920,7 +1931,7 @@ $1',
 'month' => 'Uod mjeśůnca (i downiyjše):',
 'year' => 'Uod roku (i dowńijše):',
 
-'sp-contributions-newbies' => 'Pokož wkuod ino uod nowych užytkowńikůw',
+'sp-contributions-newbies' => 'Pokoż ajnzac ino uod nowych użytkowńikůw',
 'sp-contributions-newbies-sub' => 'Dlo nowych užytkowńikůw',
 'sp-contributions-newbies-title' => 'Wkłod nowych użytkowńików',
 'sp-contributions-blocklog' => 'zawarća',
@@ -1929,17 +1940,17 @@ $1',
 'sp-contributions-logs' => 'rejer dźołońo',
 'sp-contributions-talk' => '↓ dyskusyjo',
 'sp-contributions-userrights' => 'Zařůndzańy prowami užytkowńikůw',
-'sp-contributions-search' => 'Šnupej za wkuodym',
+'sp-contributions-search' => 'Sznupej za wkłodym',
 'sp-contributions-username' => 'Adres IP abo mjano użytkowńika',
 'sp-contributions-toponly' => 'Ukoż jyno ůostanie wersyje',
-'sp-contributions-submit' => 'Šnupej',
+'sp-contributions-submit' => 'Sznupej',
 
 # What links here
 'whatlinkshere' => 'Co sam linkuje',
 'whatlinkshere-title' => 'Zajty, kere linkujům na "$1"',
 'whatlinkshere-page' => 'Zajta:',
 'linkshere' => "Nastympůjůnce zajty sóm adrésůwane do '''[[:$1]]''':",
-'nolinkshere' => "Žodno zajta ńy je adrésowana do '''[[:$1]]'''.",
+'nolinkshere' => "Å»odno zajta ńy je adrésowana do '''[[:$1]]'''.",
 'nolinkshere-ns' => "Žodno zajta ńy je adresowano do '''[[:$1]]''' we wybrany přestřyni mjan.",
 'isredirect' => 'překerowujůnca zajta',
 'istemplate' => 'dołůnczony muster',
@@ -2241,7 +2252,7 @@ Wšyjstke uoperacyje importu transwiki sům uodnotowywane w [[Special:Log/import
 'tooltip-feed-rss' => 'Kanau RSS do tyj zajty',
 'tooltip-feed-atom' => 'Kanoł Atom lo tyj zajty',
 'tooltip-t-contributions' => 'Ukoż ajnzace tygo używocza',
-'tooltip-t-emailuser' => 'WyÅ\9blij e-brif do tygo užytkowńika',
+'tooltip-t-emailuser' => 'WyÅ\9blij e-brif do tygo użytkowńika',
 'tooltip-t-upload' => 'Wćepej plik na serwer',
 'tooltip-t-specialpages' => 'Lista wszyjskich ekstra zajtůw',
 'tooltip-t-print' => 'Wersyjo do durku',
index ad803b4..d85df08 100644 (file)
@@ -23,6 +23,7 @@
  * @author Planemad
  * @author Sank
  * @author Shanmugamp7
+ * @author Shirayuki
  * @author Sodabottle
  * @author Sundar
  * @author Surya Prakash.S.A.
@@ -2128,7 +2129,7 @@ $NEWPAGE
 
 # Protect
 'protectlogpage' => 'காப்புப் பதிகை',
-'protectlogtext' => '!!FUzZY!!பின்வருவது பக்க திறப்புக்களதும் பூட்டுக்களதும் பட்டியலாகும். தற்போது நடைமுறையிலுள்ள காக்கப்பட்டப் பக்கங்களைக் காண [[Special:ProtectedPages|காக்கப்பட்ட பக்கங்களின் பட்டியலைப்]] பார்க்கவும்.',
+'protectlogtext' => 'பின்வருவது பக்க திறப்புக்களதும் பூட்டுக்களதும் பட்டியலாகும். தற்போது நடைமுறையிலுள்ள காக்கப்பட்டப் பக்கங்களைக் காண [[Special:ProtectedPages|காக்கப்பட்ட பக்கங்களின் பட்டியலைப்]] பார்க்கவும்.',
 'protectedarticle' => '"[[$1]]" காக்கப்பட்டது',
 'modifiedarticleprotection' => '"[[$1]]" பக்கத்திற்கான காப்பின் அளவு மாற்றப்பட்டது',
 'unprotectedarticle' => '"[[$1]]" பக்கத்தின் காப்பு நீக்கப்பட்டது',
index f337408..56f36f1 100644 (file)
@@ -149,7 +149,7 @@ $messages = array(
 'tog-hidepatrolled' => 'ఇటీవలి మార్పులలో నిఘా ఉన్న మార్పులను దాచు',
 'tog-newpageshidepatrolled' => 'కొత్త పేజీల జాబితా నుంచి నిఘా ఉన్న పేజీలను దాచు',
 'tog-extendwatchlist' => 'కేవలం ఇటీవలి మార్పులే కాక, మార్పులన్నీ చూపించటానికి నా వీక్షణా జాబితాను పెద్దది చేయి',
-'tog-usenewrc' => 'à°\87à°\9fà±\80వలి à°®à°¾à°°à±\8dà°ªà±\81à°²à±\81 à°®à°°à°¿à°¯à±\81 à°µà°¿క్షణ జాబితాలలో మార్పులను పేజీ వారిగా చూపించు',
+'tog-usenewrc' => 'à°\87à°\9fà±\80వలి à°®à°¾à°°à±\8dà°ªà±\81à°²à±\81 à°®à°°à°¿à°¯à±\81 à°µà±\80క్షణ జాబితాలలో మార్పులను పేజీ వారిగా చూపించు',
 'tog-numberheadings' => 'శీర్షికలకు అప్రమేయంగా వరుస సంఖ్యలు చేర్చు',
 'tog-showtoolbar' => 'దిద్దుబాటు పనిముట్ల పట్టీని చూపించు',
 'tog-editondblclick' => 'డబుల్‌ క్లిక్కు చేసినప్పుడు పేజీని మార్చు',
index 0f15e93..1c55f47 100644 (file)
@@ -743,13 +743,11 @@ Ita-nia mudansa la armazenadu seidauk!",
 'ipadressorusername' => "Diresaun IP ka naran uza-na'in:",
 'ipbexpiry' => 'Tempu:',
 'ipbreason' => 'Motivu:',
-'ipbreasonotherlist' => 'Motivu seluk',
 'ipbcreateaccount' => 'La bele kria konta foun',
 'ipbemailban' => 'La bele haruka korreiu eletróniku',
 'ipbsubmit' => "Blokeiu uza-na'in ne'e",
 'ipbother' => 'Tempu seluk:',
 'ipboptions' => '2 hours:2 hours,1 loron:1 day,3 Loron:3 days,1 semana:1 week,2 semana:2 weeks,1 fulan:1 month,3 fulan:3 months,6 fulan:6 months,1 tinan:1 year,infinite:infinite',
-'ipbotheroption' => 'seluk',
 'ipbhidename' => "Subar naran uza-na'in (iha kontribuisaun no lista seluk)",
 'ipbwatchuser' => "Hateke pájina uza-na'in nian (hamutuk ho pájina diskusaun)",
 'ipb-disableusertalk' => 'La bele edita ninia pájina diskusaun',
@@ -908,7 +906,6 @@ Ligasaun seluk iha liña - ne'e pájina sira iha ne'ebé bele inklui imajen aat.
 'watchlistall2' => 'hotu',
 'namespacesall' => 'hotu',
 'monthsall' => 'hotu',
-'limitall' => 'hotu',
 
 # action=purge
 'confirm_purge_button' => 'OK',
index dd853be..952f7cc 100644 (file)
@@ -1559,7 +1559,8 @@ $1",
 'recentchanges-label-minor' => 'เป็นการแก้ไขเล็กน้อย',
 'recentchanges-label-bot' => 'การแก้ไขนี้กระทำโดยบอต',
 'recentchanges-label-unpatrolled' => 'การแก้ไขนี้ยังไม่ได้ตรวจสอบ',
-'recentchanges-legend-newpage' => '$1 - หน้าใหม่',
+'recentchanges-label-plusminus' => 'ขนาดของหน้าเปลี่ยนไปด้วยจำนวนไบต์เท่านี้',
+'recentchanges-legend-newpage' => '(ดูเพิ่มที่[[Special:NewPages|รายชื่อหน้าใหม่]])',
 'rcnotefrom' => "ด้านล่างเป็นการเปลี่ยนแปลงตั้งแต่ '''$2''' (มากสุด '''$1''' รายการ)",
 'rclistfrom' => 'แสดงการเปลี่ยนแปลงใหม่เริ่มตั้งแต่ $1',
 'rcshowhideminor' => '$1การแก้ไขเล็กน้อย',
index a21b544..272c8a2 100644 (file)
@@ -1562,6 +1562,7 @@ Diğer kullanıcılar sizinle bu yolla iletişime geçtiğinde e-posta adresiniz
 'prefs-tokenwatchlist' => 'Anahtar',
 'prefs-diffs' => 'Farklar',
 'prefs-help-prefershttps' => 'Bu tercih bir sonraki girişinizde etkili olacaktır.',
+'prefs-tabs-navigation-hint' => 'İpucu: Sekmeler listesindeki sekmeler arasında gezinmek için sağ ve sol ok tuşlarını kullanabilirsiniz.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'E-posta adresi geçerli görünüyor',
@@ -1743,11 +1744,12 @@ Diğer kullanıcılar sizinle bu yolla iletişime geçtiğinde e-posta adresiniz
 'recentchanges-summary' => 'Yapılan en son değişiklikleri bu sayfadan izleyin.',
 'recentchanges-noresult' => 'Belirtilen kriterlere uyan herhangi bir değişiklik bulunamadı.',
 'recentchanges-feed-description' => "Bu beslemede, viki'de yapılan en son değişiklikleri takip edin.",
-'recentchanges-label-newpage' => 'Bu değişiklik yeni bir sayfa oluşturdu',
-'recentchanges-label-minor' => 'Bu küçük bir değişiklik',
-'recentchanges-label-bot' => 'Bu değişiklik bir bot tarafından yapıldı',
+'recentchanges-label-newpage' => 'Bu değişiklikle yeni bir sayfa oluşturuldu',
+'recentchanges-label-minor' => 'Küçük değişiklik',
+'recentchanges-label-bot' => 'Bir bot tarafından yapılan değişiklik',
 'recentchanges-label-unpatrolled' => 'Bu değişiklik henüz gözlenmemiş',
-'recentchanges-label-plusminus' => 'Sayfa boyutu bu bayt sayısı kadar değişti',
+'recentchanges-label-plusminus' => 'Sayfa boyutundaki değişikliğin bayt bazında değeri',
+'recentchanges-legend-heading' => "'''Gösterge:'''",
 'recentchanges-legend-newpage' => '(ayrıca bakınız [[Special:NewPages|yeni sayfalar listesi]])',
 'rcnotefrom' => "'''$2''' tarihinden itibaren yapılan değişiklikler aşağıdadır (en fazla <b>$1</b> tanesi gösterilmektedir).",
 'rclistfrom' => '$1 tarihinden itibaren yeni değişiklikleri göster',
@@ -2210,6 +2212,7 @@ Her satırın içerdiği bağlantılar; birinci ve ikinci yönlendirme, ayrıca
 'ninterwikis' => '$1 {{PLURAL:$1|interviki|interviki}}',
 'nlinks' => '$1 {{PLURAL:$1|bağlantı|bağlantılar}}',
 'nmembers' => '{{PLURAL:$1|üye|üye}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|üye|üye}}',
 'nrevisions' => '{{PLURAL:$1|değişiklik|değişiklikler}}',
 'nviews' => '$1 {{PLURAL:$1|görünüm|görünüm}}',
 'nimagelinks' => '$1 {{PLURAL:$1|sayfada|sayfada}} kullanılıyor',
@@ -3877,7 +3880,7 @@ Sayfayı baştan açmak isityorsanız, lütfen onaylayın.",
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(varsayılan dil)',
-'img-lang-info' => 'Bu resmi $1 ile işle $2.',
+'img-lang-info' => 'Bu resmi $1 ile işle. $2',
 'img-lang-go' => 'Gönder',
 
 # Table pager
@@ -3982,13 +3985,14 @@ Bu programla birlikte [{{SERVER}}{{SCRIPTPATH}}/COPYING GNU Genel Kamu Lisansın
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
-'redirect' => 'Dosya, kullanıcı veya sayfa ID yönlendirme',
+'redirect' => 'Dosya, kullanıcı, sayfa ya da revizyon kimliği ile yönlendirme',
 'redirect-legend' => 'Bir dosya veya sayfaya yönlendirme',
-'redirect-summary' => "Bu özel sayfa sizi bir dosya (dosya adı verilen), bir sayfa (bir revizyon ID'si verilen) veya bir kullanıcı sayfasının (sayısal kullanıcı kimliği verilen) adresine yönlendirir. Kullanım: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], ya da  [[{{#Special:Redirect}}/user/101]].",
+'redirect-summary' => "Bu özel sayfa sizi bir dosya (dosya adı verilen), bir sayfa (bir revizyon ya da sayfa ID'si verilen) veya bir kullanıcı sayfasının (sayısal kullanıcı kimliği verilen) adresine yönlendirir. Kullanım: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], ya da  [[{{#Special:Redirect}}/user/101]].",
 'redirect-submit' => 'Git',
 'redirect-lookup' => 'Ara:',
 'redirect-value' => 'Değer:',
 'redirect-user' => 'Kullanıcı kimliği',
+'redirect-page' => 'Sayfa kimliği',
 'redirect-revision' => 'Sayfa revizyonu',
 'redirect-file' => 'Dosya adı',
 'redirect-not-exists' => 'Değer bulunamadı',
@@ -4228,10 +4232,12 @@ Aslında, çift ayraçlı hemen hemen her şeyi genişletir.',
 'expand_templates_input' => 'Giriş metni:',
 'expand_templates_output' => 'Sonuç',
 'expand_templates_xml_output' => 'XML üretim',
+'expand_templates_html_output' => 'Ham HTML çıktısı',
 'expand_templates_ok' => 'Tamam',
 'expand_templates_remove_comments' => 'Yorumları sil',
 'expand_templates_remove_nowiki' => 'Sonuçlarda <nowiki> etiketlerini bastır',
 'expand_templates_generate_xml' => 'XML derleyici ağacını göster',
+'expand_templates_generate_rawhtml' => 'Ham HTML göster',
 'expand_templates_preview' => 'Önizleme',
 
 );
index be857e2..106179b 100644 (file)
@@ -23,6 +23,7 @@
  * @author Ерней
  * @author Ильнар
  * @author Рашат Якупов
+ * @author Умар
  */
 
 $fallback = 'ru';
@@ -1346,7 +1347,7 @@ $1",
 'recentchanges-label-minor' => 'Бу кече үзгәртү',
 'recentchanges-label-bot' => 'Бу үзгәртү бот белән эшләнгән иде',
 'recentchanges-label-unpatrolled' => 'Үзгәртүне әлегә тикшермәгәннәр',
-'recentchanges-legend-newpage' => '$1 — яңа бит',
+'recentchanges-legend-newpage' => '([[Special:NewPages|яңа бит]])',
 'rcnotefrom' => "Астарак '''$2''' башлап ('''$1''' кадәр) үзгәртүләр күрсәтелгән.",
 'rclistfrom' => '$1 башлап яңа үзгәртүләрне күрсәт',
 'rcshowhideminor' => 'кече үзгәртүләрне $1',
index 02b14d6..d583f84 100644 (file)
@@ -763,7 +763,7 @@ $2
 'nosuchsectiontext' => 'سىز تەھرىرلىمەكچى بولغان ئابزاس مەۋجۇد ئەمەس.
 سىز ئۇ بەتنى كۆرۈۋاتقاندا يۆتكەلگەن ياكى ئوچۈرۈلگەن بولۇشى مۇمكىن.',
 'loginreqtitle' => 'تىزىمغا كىرىڭ',
-'loginreqlink' => 'تىزىمغا كىر',
+'loginreqlink' => 'تىزىمغا كىرىڭ',
 'loginreqpagetext' => '$1 بولغاندىلا ئاندىن باشقا بەتلەرنى كۆرەلەيسىز.',
 'accmailtitle' => 'پارول يوللاندى.',
 'accmailtext' => "[[User talk:$1|$1]] ئىختىيارىي قۇرۇلغان ئىم  $2 غا يوللاندى.
@@ -1445,6 +1445,8 @@ HTML بەلگىسىنى تەكشۈرۈڭ.',
 'action-userrights-interwiki' => 'باشقا wiki دىكى ئىشلەتكۈچى ھوقۇقىنى تەھرىرلە',
 'action-siteadmin' => 'ساندان قۇلۇپلا ۋە قۇلۇپ ئاچ',
 'action-sendemail' => 'ئېلخەت يوللا',
+'action-editmywatchlist' => 'كۈزىتىش تىزىملىكىڭىزنى تەھرىرلەڭ',
+'action-viewmywatchlist' => 'كۈزىتىش تىزىملىكىڭىزنى كۆرۈڭ',
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|ئۆزگەرتىش|ئۆزگەرتىش}}',
@@ -1457,12 +1459,12 @@ HTML بەلگىسىنى تەكشۈرۈڭ.',
 'recentchanges-label-minor' => 'بۇ ئازراقلا تەھرىرلەش',
 'recentchanges-label-bot' => 'بۇ تەھرىرنى ماشىنا ئادەم ئېلىپ بارغان',
 'recentchanges-label-unpatrolled' => 'بۇ تەھرىر تېخى كۆزىتىلمىگەن',
-'recentchanges-legend-newpage' => '$1 - يېڭى بەت',
+'recentchanges-legend-newpage' => '(بۇنىڭغىمۇ قاراڭ [[Special:NewPages|يېڭى بەتلەر تىزىملىگى]])',
 'rcnotefrom' => "تۆۋەندىكىسى '''$2''' نىڭ ئۆزگەرتىشى (ئەڭ كۆپ بولغاندا '''$1''' كۆرسىتىدۇ )",
 'rclistfrom' => '$1 دىن باشلانغان يېڭى ئۆزگەرتىشنى كۆرسەت',
 'rcshowhideminor' => '$1 ئازراقلا تەھرىر',
 'rcshowhidebots' => '$1 ماشىنا ئادەمنىڭ تەھرىرى',
-'rcshowhideliu' => '$1 ØªÙ\89زÙ\89Ù\85غا Ù\83Ù\89رگÛ\95Ù\86 Ø¦Ù\89Ø´Ù\84Û\95تÙ\83Û\88Ú\86Ù\89Ù\86Ù\89Ú­ ØªÛ\95ھرÙ\89رى',
+'rcshowhideliu' => '$1 Ø®Û\95تÙ\84Û\95Ù\86Ú¯Û\95Ù\86 Ø¦Ù\89Ø´Ù\84Û\95تÙ\83Û\88Ú\86ى',
 'rcshowhideanons' => '$1 ئىمزاسىز ئىشلەتكۈچى تەھرىرى',
 'rcshowhidepatr' => '$1 كۆزىتىلگەن تەھرىر',
 'rcshowhidemine' => '$1 مېنىڭ تەھرىرىم',
@@ -1501,7 +1503,7 @@ HTML بەلگىسىنى تەكشۈرۈڭ.',
 'reuploaddesc' => 'يۈكلەشتىن ۋاز كېچىپ، يۈكلەش كۆزنىكىگە قايت',
 'upload-tryagain' => 'ئۆزگەرتىلگەن ھۆججەت چۈشەندۈرۈشى يوللا',
 'uploadnologin' => 'تىزىمغا كىرمىدى',
-'uploadnologintext' => ' سىز [[Special:UserLogin|تىزىمغا كىر]]سىڭىز ئاندىن ھۆججەت يوللىيالايسىز.',
+'uploadnologintext' => 'ھۆججەتنى تورغا يوللاش ئۈچۈن $1.',
 'upload_directory_missing' => 'يۈكلەش مۇندەرىجىسى ($1) يوقالغان، تور بەت مۇلازىمىتىرى قۇرالمايدۇ.',
 'upload_directory_read_only' => 'تور مۇلازىمىتىرىنىڭ يۈكلەش مۇندەرىجىسى ($1) گە يېزىش  ھوقۇقى يوق.',
 'uploaderror' => 'يۈكلەش خاتالىقى',
@@ -2379,7 +2381,7 @@ $1',
 'blanknamespace' => '(ئاساسىي)',
 
 # Contributions
-'contributions' => '{{$1:GENDER|ئىشلەتكۈچى}} تۆھپىسى',
+'contributions' => '{{GENDER:$1|ئىشلەتكۈچى}} تۆھپىسى',
 'contributions-title' => '$1 نىڭ ئىشلەتكۈچى تۆھپىسى',
 'mycontris' => 'تۆھپە',
 'contribsub2' => '{{GENDER:$3|$1}} ($2) ئۈچۈن',
index a7ee74b..1695a88 100644 (file)
@@ -1598,6 +1598,7 @@ $1",
 'prefs-tokenwatchlist' => 'Жетон',
 'prefs-diffs' => 'Різниці версій',
 'prefs-help-prefershttps' => 'Цей параметр набуде чинності при вашому наступному вході у систему.',
+'prefs-tabs-navigation-hint' => 'Порада: Ви можете використовувати клавіші стрілок вліво і вправо для переходу між вкладками в списку вкладок.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Адреса електронної пошти є чинною',
@@ -1785,13 +1786,14 @@ $1",
 'recentchanges-label-bot' => 'Це редагування зроблене ботом',
 'recentchanges-label-unpatrolled' => 'Це редагування ще не було відпатрульоване',
 'recentchanges-label-plusminus' => 'Розмір сторінки змінився на таке число байтів',
+'recentchanges-legend-heading' => "'''Легенда:'''",
 'recentchanges-legend-newpage' => '(див. також [[Special:NewPages|список нових сторінок]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => 'Нижче відображені редагування з <strong>$2</strong> (до <strong>$1</strong>).',
 'rclistfrom' => 'Показати редагування починаючи з $1.',
 'rcshowhideminor' => '$1 незначні редагування',
 'rcshowhidebots' => '$1 ботів',
-'rcshowhideliu' => '$1 зареєстрованих',
+'rcshowhideliu' => '$1 зареєстрованих користувачів',
 'rcshowhideanons' => '$1 анонімів',
 'rcshowhidepatr' => '$1 перевірені',
 'rcshowhidemine' => '$1 мої редагування',
@@ -2259,6 +2261,7 @@ $1',
 'ninterwikis' => '$1 {{PLURAL:$1|інтервікі-посилання|інтервікі-посилання|інтервікі-посилань}}',
 'nlinks' => '$1 {{PLURAL:$1|посилання|посилання|посилань}}',
 'nmembers' => "$1 {{PLURAL:$1|об'єкт|об'єкти|об'єктів}}",
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|член|члени|членів}}',
 'nrevisions' => '$1 {{PLURAL:$1|версія|версії|версій}}',
 'nviews' => '$1 {{PLURAL:$1|перегляд|перегляди|переглядів}}',
 'nimagelinks' => 'Використовується на $1 {{PLURAL:$1|сторінці|сторінках}}',
@@ -4017,7 +4020,7 @@ $5
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(типова мова)',
-'img-lang-info' => 'Візуалізувати це зображення у $1 $2.',
+'img-lang-info' => 'Візуалізувати це зображення у $1. $2',
 'img-lang-go' => 'Перейти',
 
 # Table pager
@@ -4183,13 +4186,14 @@ MediaWiki поширюється в надії, що вона буде кори
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Шлях до скриптів]',
 
 # Special:Redirect
-'redirect' => 'Перенаправлення за файлом, користувачем або ID версії',
+'redirect' => 'Перенаправлення за файлом, користувачем, сторінкою або ID версії',
 'redirect-legend' => 'Перенаправити на файл чи сторінку',
-'redirect-summary' => 'Ця спеціальна сторінка перенаправляє на файл (за поданою назвою файлу), сторінку (за поданим ID версії) або сторінку користувача (за поданим числовим ID користувача). Використання: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] або [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Ця спеціальна сторінка перенаправляє на файл (за поданою назвою файлу), сторінку (за поданим ID версії або сторінки) або сторінку користувача (за поданим числовим ID користувача). Використання: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]],[[{{#Special:Redirect}}/revision/328429]] або [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Перейти',
 'redirect-lookup' => 'Шукати:',
 'redirect-value' => 'Значення:',
 'redirect-user' => 'ID користувача',
+'redirect-page' => 'ID сторінки',
 'redirect-revision' => 'Версія сторінки',
 'redirect-file' => 'Назва файлу',
 'redirect-not-exists' => 'Значення не знайдено',
@@ -4432,10 +4436,12 @@ MediaWiki поширюється в надії, що вона буде кори
 'expand_templates_input' => 'Вхідний текст:',
 'expand_templates_output' => 'Результат',
 'expand_templates_xml_output' => 'XML-вивід',
+'expand_templates_html_output' => 'Сирий вивід HTML',
 'expand_templates_ok' => 'Гаразд',
 'expand_templates_remove_comments' => 'Вилучити коментарі',
 'expand_templates_remove_nowiki' => 'Ігнорувати теги <nowiki> в результаті',
 'expand_templates_generate_xml' => 'Показати дерево аналізу XML',
+'expand_templates_generate_rawhtml' => 'Показати сирий HTML',
 'expand_templates_preview' => 'Попередній перегляд',
 
 );
index a028d89..938d203 100644 (file)
@@ -431,8 +431,8 @@ $1',
 'youhavenewmessages' => 'Te ghè $1 ($2).',
 'youhavenewmessagesfromusers' => "Te ghè $1 da {{PLURAL:$3|n'altro utente|$3 utenti}} ($2).",
 'youhavenewmessagesmanyusers' => 'Te ghè $1 da vari utenti ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|un messagio novo|dei messagi novi}}',
-'newmessagesdifflinkplural' => '$1 {{PLURAL:$1|ultimo canbiamento|ultimi canbiamenti}}',
+'newmessageslinkplural' => '{{PLURAL:$1|un messagio novo|999=dei messagi novi}}',
+'newmessagesdifflinkplural' => '$1 {{PLURAL:$1|ultimo canbiamento|999=ultimi canbiamenti}}',
 'youhavenewmessagesmulti' => 'Te ghè messagi novi su $1',
 'editsection' => 'canbia',
 'editold' => 'canbia',
@@ -484,6 +484,8 @@ L'elenco de le pagine speciali te lo cati su [[Special:SpecialPages|{{int:specia
 # General errors
 'error' => 'Erore',
 'databaseerror' => 'Erore del database',
+'databaseerror-function' => 'Funsion: $1',
+'databaseerror-error' => 'Eror: $1',
 'laggedslavemode' => "'''Atension:''' ła pajina podaria no riportare i azornamenti pì resenti.",
 'readonly' => 'Database blocà',
 'enterlockreason' => 'Indicare el motivo del bloco, spesifegando el momento in cui xè presumibiłe che el venga rimoso',
@@ -596,13 +598,14 @@ Nó desmentegarte de personałixare łe [[Special:Preferences|prefarense de {{SI
 'gotaccount' => "Sito zà iscrito? '''$1'''.",
 'gotaccountlink' => 'Entra',
 'userlogin-resetlink' => "Desmentegà i to dati d'aceso?",
-'userlogin-resetpassword-link' => 'Reinposta la to password',
+'userlogin-resetpassword-link' => "Te gheto desmentegà ła paroła d'ordine?",
 'helplogin-url' => 'Help:Login',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Ajuto col login]]',
 'createacct-join' => 'Meti le to informassion qua soto.',
 'createacct-emailrequired' => 'Indirisso e-mail',
 'createacct-emailoptional' => 'Indiriso e-mail (opsionałe)',
 'createacct-email-ph' => 'Inserissi el to indirizo de e-mail',
+'createacct-another-email-ph' => "Inserissi l'indirizo de e-mail",
 'createaccountmail' => 'Dopara na password caxuałe tenporanea e inviała al indiriso e-mail spesifegà cuà soto',
 'createacct-realname' => 'Nome reale (opsionale)',
 'createaccountreason' => 'Motivassion:',
@@ -936,6 +939,7 @@ No xe stà dà nissuna spiegazion in merito.",
 Pararìa che la sìpia stà scancelà.',
 'edit-conflict' => 'Conflito de modifica.',
 'edit-no-change' => 'La to modifica la xe stà ignorà, parché no ti gà canbià gnente nel testo.',
+'postedit-confirmation' => 'La modifica la xe stà salvà.',
 'edit-already-exists' => 'No se pol crear na pagina nova.
 La esiste de zà.',
 'defaultmessagetext' => 'Testo predefinìo',
@@ -1484,7 +1488,8 @@ Co qualcheduni te scrivarà, nol vedarà mia el to indirizo.',
 'recentchanges-label-minor' => 'Sto qua el xe un canbiamento picenin',
 'recentchanges-label-bot' => 'Sta modifica el la ga fata un bot',
 'recentchanges-label-unpatrolled' => 'Sta modifica no la xe stà gnancora verificà',
-'recentchanges-legend-newpage' => '$1 - pagina nova',
+'recentchanges-label-plusminus' => 'La dimension de la pagina la xe canbià de sto nùmaro de byte',
+'recentchanges-legend-newpage' => "(varda anca [[Special:NewPages|l'elenco de le pagine nove]])",
 'rcnotefrom' => "Qui di seguito sono elencate le modifiche da '''$2''' (fino a '''$1''').",
 'rclistfrom' => 'Fà védar i canbiamenti fati dal $1',
 'rcshowhideminor' => '$1 i canbiamenti picenini',
index 3334056..c8772dd 100644 (file)
@@ -97,27 +97,27 @@ $messages = array(
 'tog-extendwatchlist' => 'Levitagat kaclendnimikirjutez, miše nähta kaik toižetused.',
 'tog-usenewrc' => 'Kävutagat paremboitud tantoižed toižetused (pidab otta radho JavaScript)',
 'tog-numberheadings' => 'Nomeruida avtomatižikš pälkirjutesed',
-'tog-showtoolbar' => "Ozutada azegiden üläpanel' redaktiruindan aigan (JavaScript)",
+'tog-showtoolbar' => "Ozutada redaktiruindan panel'",
 'tog-editondblclick' => 'Redaktiruida lehtpoled kaksitadud plokul',
 'tog-editsection' => 'Ozutada "Redaktiruida"-kosketuz kaikuččen sekcijan täht',
 'tog-editsectiononrightclick' => 'Redaktiruida sekcijad hiren oiktal plokul pälkirjutesele',
 'tog-showtoc' => 'Ozutada südäiolend (lehtpoled, kudambil om enamba, mi 3 pälkirjutest)',
 'tog-rememberpassword' => 'Muštta minun kävutajan nimi neciš kompjuteras (enintään $1 {{PLURAL:$1|päivä|päivää}})',
-'tog-watchcreations' => 'Ližata kaik minai sätud lehtpoled minun kaclendkirjuteshe',
-'tog-watchdefault' => 'Ližata kaik minai toižetadud lehtpoled minun kaclendkirjuteshe',
-'tog-watchmoves' => 'Ližata kaik minai udesnimitadud lehtpoled minun kaclendkirjuteshe',
-'tog-watchdeletion' => 'Ližata kaik minai čutud lehtpoled minun kaclendkirjuteshe',
+'tog-watchcreations' => 'Ližata kaik minai sätud lehtpoled da failad minun kaclendkirjuteshe',
+'tog-watchdefault' => 'Ližata kaik minai toižetadud lehtpoled da failad minun kaclendkirjuteshe',
+'tog-watchmoves' => 'Ližata kaik minai udesnimitadud lehtpoled da failad minun kaclendkirjuteshe',
+'tog-watchdeletion' => 'Ližata kaik minai čutud lehtpoled da failad minun kaclendkirjuteshe',
 'tog-minordefault' => 'Znamoita äugotižjärgendusen mödhe kaik toižetused penikš',
 'tog-previewontop' => 'Panda ezikacund redaktiruindan iknan edehe',
 'tog-previewonfirst' => 'Ozutada ezikacund redaktiruindan augotades',
-'tog-enotifwatchlistpages' => 'Oigekat minei e-počt, konz lehtpoled minun kaclendnimikirjutesespäi toižetase',
+'tog-enotifwatchlistpages' => 'Oigekat minei e-počt, konz lehtpoled vai failad minun kaclendnimikirjutesespäi toižetasoiš',
 'tog-enotifusertalkpages' => "Oigeta minei e-počt, konz minun lodulehtpol' toižetase",
-'tog-enotifminoredits' => 'Oigeta minei e-počt eskai siloi, konz toižetused oma minimaližed',
+'tog-enotifminoredits' => 'Oigeta minei e-počt eskai siloi, konz toižetused lehtpolil vai failoiš oma minimaližed',
 'tog-enotifrevealaddr' => 'Ozutada minun počtadres tedotuzkirjeižiš',
 'tog-shownumberswatching' => 'Ozutada niiden kävutajiden lugu, kudambad oma mülütanuded lehtpolen ičeze kaclendnimikirjutesihe',
 'tog-oldsig' => 'Nügüdläine allekirjutez',
 'tog-fancysig' => 'Ičeze allekirjutesen wiki-znamišt (avtomatižeta kosketuseta)',
-'tog-uselivepreview' => 'Kävutada hered ezikacund (JavaScript) (Eksperimentaline)',
+'tog-uselivepreview' => 'Kävutada hered ezikacund (Eksperimentaline)',
 'tog-forceeditsummary' => 'Varutada, kunz toižetusen ümbrikirjutandan pöud ei ole täuttud',
 'tog-watchlisthideown' => 'Peitta minun redakcijad kaclendnimikirjutesespäi',
 'tog-watchlisthidebots' => 'Peitta botoiden redakcijad kaclendnimikirjutesespäi',
@@ -229,6 +229,7 @@ $messages = array(
 'newwindow' => '(avaidase udes iknas)',
 'cancel' => 'Heitta pätand',
 'moredotdotdot' => 'Edeleze...',
+'morenotlisted' => 'Nece nimikirjutez ei ole vaumiž.',
 'mypage' => "Lehtpol'",
 'mytalk' => 'Lodud',
 'anontalk' => 'Lodud neciš IP-adresas',
@@ -330,7 +331,7 @@ $1",
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'Informacii saitas {{SITENAME}}',
 'aboutpage' => 'Project:Informacii',
-'copyright' => 'südäiolend kävutadas $1-licenzijan mödhe.',
+'copyright' => 'südäiolend kävutadas $1-licenzijan mödhe, ku ei ole ozutadud toižin.',
 'copyrightpage' => '{{ns:project}}:tegijan oiktused',
 'currentevents' => 'Nügüdläižed tegod',
 'currentevents-url' => 'Project:Nügüdläižed tegod',
@@ -357,6 +358,10 @@ Kacu [[Special:Version|informacii kävutadud versijoiš]].',
 'ok' => 'Ka',
 'retrievedfrom' => 'Purde - "$1"',
 'youhavenewmessages' => 'Tö sat $1 ($2).',
+'youhavenewmessagesfromusers' => 'Teil om $1 {{PLURAL:$3|toižel kävutajalpäi|$3 kävutajilpäi}} ($2).',
+'youhavenewmessagesmanyusers' => 'Teil om $1 äjil kävutajilpäi ($2).',
+'newmessageslinkplural' => "{{PLURAL:$1|uz' kirjeine|ut kirješt}}",
+'newmessagesdifflinkplural' => "{{PLURAL:$1|jäl'gmäine toižetuz|jäl'gmäšt toižetust}}",
 'youhavenewmessagesmulti' => 'Teil om uzid tedotusid $1-lehtpolel',
 'editsection' => 'redaktiruida',
 'editold' => 'redaktiruida',
@@ -408,6 +413,7 @@ Kc. [[Special:SpecialPages|specialižiden lehtpoliden nimikirj]].",
 # General errors
 'error' => 'Petuz',
 'databaseerror' => 'Andmusiden bazan petuz',
+'databaseerror-function' => 'Funkcii:$1',
 'databaseerror-error' => 'Petuz: $1',
 'laggedslavemode' => "Varutuz: voib olda, lehtpolen versijal ei ole jäl'gmäižid ližadusid.",
 'readonly' => 'Andmusiden baz om luklostadud',
@@ -437,6 +443,7 @@ Ližakat URL.',
 'cannotdelete' => 'Ei voi čuta poiš necidä lehtpol\'t vai "$1"-failad.
 Sen om jo čutnu ken-se toine.',
 'cannotdelete-title' => "Ei voi heitta «$1»-lehtpol't",
+'no-null-revision' => 'Ei voi säta ut 0-revizijad "$1"-lehtpolen täht',
 'badtitle' => 'Hond nimi',
 'badtitletext' => 'Ectud lehtpolen nimi om vär, vai mugošt nimed ei ole, vai kelidenkeskeline (interwiki) nimi om kirjutadud värin.
 Siš voib olda simvoloid, kudambid ei sa panda nimihe.',
@@ -447,7 +454,7 @@ Anttud naku andmused ei udištugoi.",
 'viewsource' => 'Kc. purde',
 'viewsource-title' => 'Ozutada $1-lehtpolen lähtmižtekst',
 'actionthrottled' => 'Tegendan piguz om kaidetud',
-'protectedpagetext' => "Nece lehtpol' om luklostadud, miše kaita se redaktiruindaspäi.",
+'protectedpagetext' => "Nece lehtpol' om luklostadud, miše kaita se redaktiruindaspäi da toižis tegendoišpäi.",
 'viewsourcetext' => 'Sab lugeda da kopiruida necen lehtpolen augotižtekst:',
 'protectedinterface' => 'Necil lehtpolel om programman interfeistedotuz. Se om luklostadud, miše kaita se vandalizmaspäi.',
 'editinginterface' => "'''Homaikat:''' Tö ladit redaktiruida lehtpol't, kudambal om programman interfeistekst.
@@ -456,9 +463,13 @@ Kändmižen täht om paremb kävutada [//translatewiki.net/wiki/Main_Page?setlan
 'namespaceprotected' => "Teil ei ole oiktust redaktiruida lehtpolid '''$1'''-nimiavaruses.",
 'customcssprotected' => 'Teil ei ole oiktust redaktiruida nece CSS-lehtpol’, sikš sil oma toižen ühtnijan personaližed järgendused.',
 'customjsprotected' => 'Teil ei ole oiktust redaktiruida nece JavaScript-lehtpol’, sikš sil oma toižen ühtnijan personaližed järgendused.',
+'mycustomcssprotected' => 'Teile ei sa redaktiruida necidä CSS-lehtpol’t.',
+'mycustomjsprotected' => "Teile ei sa redaktiruida necidä JavaScript-lehtpol't.",
+'myprivateinfoprotected' => 'Teile ei sa redaktiruida ičetoi personališt informacijad.',
 'ns-specialprotected' => 'Ei sa redaktiruida specialižid lehtpolid.',
 'titleprotected' => '[[User:$1|$1]]-kävutai om kel\'nu mugoižen lehtpolen pälkirjutesen kävutamižen.
 Sü om "\'\'$2\'\'".',
+'exception-nologin' => 'Ei ole kirjutadud sistemha',
 
 # Virus scanner
 'virus-badscanner' => "Järgendusen petuz: tundmatoi virusoiden skaner: ''$1''",
@@ -476,6 +487,7 @@ Otkat sil'mnägubale, miše erasid lehtpolid ozutaškatas mugažo, kut i edel te
 'createacct-another-username-ph' => 'Kirjutagat kävutajannimi',
 'yourpassword' => 'Peitsana:',
 'userlogin-yourpassword' => 'Peitsana',
+'userlogin-yourpassword-ph' => 'Kirjutagat teiden peitsana',
 'createacct-yourpassword-ph' => 'Kirjutagat peitsana',
 'yourpasswordagain' => 'Kirjutagat peitsana udes:',
 'createacct-yourpasswordagain' => 'Peitsanan vahvištoituz',
@@ -483,6 +495,7 @@ Otkat sil'mnägubale, miše erasid lehtpolid ozutaškatas mugažo, kut i edel te
 'remembermypassword' => 'Panda muštho minun tulendandmused neciš kompjuteras (enintään $1 {{PLURAL:$1|päivä|päivää}})',
 'userlogin-remembermypassword' => 'Jäda sistemha',
 'yourdomainname' => 'Teiden domen:',
+'password-change-forbidden' => 'Teile ei sa vajehtada peitsanad neciš vikiš.',
 'externaldberror' => 'Ozaižihe petuz autentifikacijan, kudamb tehtihe andmusiden irdbazan turbiš, aigan, vai teile ei ulotu oiktusid toižetada ičetoi irdregistracijad.',
 'login' => 'Kirjutadas sistemha',
 'nav-login-createaccount' => 'Kirjutadas / Sada registracii',
@@ -492,13 +505,18 @@ Otkat sil'mnägubale, miše erasid lehtpolid ozutaškatas mugažo, kut i edel te
 'logout' => 'Lähtta',
 'userlogout' => 'Lähtta',
 'notloggedin' => 'Tö et olgoi kirjutanus sistemha',
+'userlogin-joinproject' => 'Ühtne {{SITENAME}}-saiha',
 'nologin' => "Ku tö et völ olgoi sanuded registracijad, '''$1'''.",
 'nologinlink' => 'Sada registracii',
 'createaccount' => 'Sada registracii',
 'gotaccount' => "Ku teil om jo registracii, '''$1'''.",
 'gotaccountlink' => 'Kirjutagatoiš sistemha',
 'userlogin-resetlink' => 'Unohtid-ik andmused tulendan täht?',
-'createaccountmail' => 'e-počtaiči',
+'createacct-emailrequired' => 'E-počtal adres',
+'createacct-email-ph' => 'Kirjutagat teiden e-počtan adres',
+'createacct-another-email-ph' => 'Kirjutagat e-počtan adres',
+'createaccountmail' => 'Kävutagat aigaline statjaline peitsana i oigekat ozutadud e-počtan adresale',
+'createacct-realname' => 'Todesine nimi (opcionaline)',
 'createaccountreason' => 'Sü:',
 'createacct-reason' => 'Sü',
 'createacct-reason-ph' => 'Mikš sädad kävutajanprofilid?',
@@ -506,6 +524,10 @@ Otkat sil'mnägubale, miše erasid lehtpolid ozutaškatas mugažo, kut i edel te
 'createacct-imgcaptcha-ph' => 'Kirjutagat tekst pälpäi',
 'createacct-submit' => "Säta kävutajanprofil'",
 'createacct-another-submit' => "Säta toine kävutajanprofil'",
+'createacct-benefit-heading' => '{{SITENAME}}-saitad tehtas teiden pojavad ristitud.',
+'createacct-benefit-body1' => '{{PLURAL:$1|redakcii|redakcijad}}',
+'createacct-benefit-body2' => "{{PLURAL:$1|lehtpol'|lehtpol't}}",
+'createacct-benefit-body3' => '{{PLURAL:$1|tantoine kirjutai|tantošt kirjutajad}}',
 'badretype' => 'Teil kirjutadud peitsanad ei kožugoi toine toižhe.',
 'userexists' => 'Kirjutadud kävutajan nimi om jo kävutamižes.
 Olgat hüväd, valikat toine kävutajan nimi.',
@@ -531,7 +553,7 @@ Kirjutagat toine peitsana.",
 'passwordtooshort' => 'Peitsanha pidab mülütada {{PLURAL:$1|1 znam|$1 znamad}}.',
 'password-name-match' => 'Teiden peitsanale pidab erineda kävutajan nimespäi.',
 'password-login-forbidden' => "Necen kävutajannimen da peitsanan kävutamine om kel'tud.",
-'mailmypassword' => "Oigeta minei uz' peitsana e-počtadme",
+'mailmypassword' => 'Udestada peitsana',
 'passwordremindertitle' => "Uz' pordaigaline peitsana {{SITENAME}}-saitan täht",
 'noemail' => '"$1"-kävutai ei ole andnu ičeze e-počtan adresad.',
 'noemailcreate' => 'Bidab kirjutada todesine e-počtan adres',
@@ -558,6 +580,7 @@ Olgat hüväd, varastagat pordon aigad edel ut naprindad.',
 
 # Email sending
 'php-mail-error-unknown' => 'Tundmatoi petuz PHP:n mail()-funkcijas',
+'user-mail-no-addy' => 'Tö ladit oigeta kirjeine e-počtan adresata.',
 
 # Change password dialog
 'changepassword' => 'Peitsanan toižetuz',
@@ -592,6 +615,7 @@ Aigaline peitsana: $2',
 # Special:ChangeEmail
 'changeemail' => 'Toižetada e-počtan adres',
 'changeemail-no-info' => 'Miše kirjutada necil lehtpolel, teile pidab kirjutadas sistemha.',
+'changeemail-oldemail' => 'Nügüdläine e-počtan adres:',
 'changeemail-newemail' => "Uz' e-počtan adres",
 'changeemail-none' => '(ei ole)',
 'changeemail-submit' => 'Toižetada e-počtan adres',
@@ -686,7 +710,7 @@ Tö voit [[Special:Search/{{PAGENAME}}|ectä nece nimi]] toižil lehtpolil,
 vai [{{fullurl:{{FULLPAGENAME}}|action=edit}} redaktiruida nece lehtpol\']</span>.',
 'noarticletext-nopermission' => 'Necil lehtpolel ei ole nügüd\' tekstad.
 Tö voit [[Special:Search/{{PAGENAME}}|ectä necen lehtpolen nimi]] toižil lehtpolil,
-<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ectä pojavid aigkirjoiden kirjutesid]</span>.',
+<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ectä pojavid aigkirjoiden kirjutesid]</span>, no teile ei sa säta necidä lehtpol\'t.',
 'userpage-userdoesnotexist' => "Kävutajan nimed «<nowiki>$1</nowiki>» ei ole. Todeks-ik tahtoit säta vai toižetada nece lehtpol'?",
 'userpage-userdoesnotexist-view' => '"$1"-kävutai ei ole registriruidud.',
 'blocked-notice-logextract' => "Nece kävutai om nügüd' blokiruidud.
@@ -703,6 +727,7 @@ Alemba om anttud jälgmäine kirjutuz blokiruindaiglehtesespäi:",
 'note' => "'''Homaičend:'''",
 'previewnote' => "'''Muštkat, miše nece om vaiše ezikacund.''' 
 Teiden toižetused ei olgoi völ kirjutadud!",
+'continue-editing' => 'Mända redaktiruindtarhaze',
 'previewconflict' => "Tekst redaktiruindan üläiknas kuvazub neche ezikacundha muga, kut se nägub lopkirjutamižen jäl'ghe.",
 'editing' => '$1-lehtpolen redaktiruind',
 'creating' => 'Sätas $1',
@@ -749,7 +774,7 @@ Tö voit pörttas tagaze i redaktiruida toine lehtpol', vai [[Special:UserLogin|
 'nocreate-loggedin' => 'Teile ei sa säta uzid lehtpolid.',
 'sectioneditnotsupported-title' => "Jagadusiden redaktiruind ei ole pid'oiteldud.",
 'sectioneditnotsupported-text' => "Necil lehtpolel jagadusiden redaktiruind ei ole pid'oiteldud.",
-'permissionserrors' => 'Oiktusiden petused',
+'permissionserrors' => 'Oiktusiden petuz',
 'permissionserrorstext' => 'Teile ei sa tehta muga {{PLURAL:$1|necen sün|neniden süiden}} tagut:',
 'permissionserrorstext-withaction' => 'Teile ei sa $2 {{PLURAL:$1|necen sün|neciden süiden}} tagut:',
 'recreate-moveddeleted-warn' => "Homaikat!
@@ -765,10 +790,14 @@ Ei ole ližasüid.',
 Voib olda, se om jo čutud.",
 'edit-conflict' => 'Redakcijoiden konflikt.',
 'edit-no-change' => 'Teiden redakcii ignoriruidihe, sikš miše tekst ei ole toižetadud.',
+'postedit-confirmation' => 'Teiden redakcii om kirjutadud muštho.',
 'edit-already-exists' => "Ei voi säta uz' lehtpol'.
 Wikiš om jo mugoi lehtpol'.",
 'defaultmessagetext' => 'Tekst augotižjärgendusen mödhe',
 
+# Content models
+'content-model-text' => 'koveritoi tekst',
+
 # Parser/template warnings
 'expensive-parserfunction-category' => 'Lehtpoled, kudambil kävutadas äjahko resursokahid funkcijoid',
 'post-expand-template-inclusion-warning' => 'Varutuz: lehtpolele pandud šablonoiden suruz om surehk.
@@ -847,11 +876,11 @@ Administratorad voiškatas lugeda peittud südäimištod da endištada sidä nec
 'revdelete-hide-image' => 'Peitta failan südäiolend',
 'revdelete-hide-name' => 'Peitta tegend da sen objekt',
 'revdelete-hide-comment' => 'Peitta toižetusiden kirjutez',
-'revdelete-hide-user' => 'Peitta avtoran nimi/IP',
+'revdelete-hide-user' => 'Redaktoran nimi/IP-adres',
 'revdelete-hide-restricted' => 'Peitta andmusid eskai administratorilpäi-ki',
 'revdelete-radio-same' => '(ala toižeta)',
-'revdelete-radio-set' => 'Ka',
-'revdelete-radio-unset' => 'Ei',
+'revdelete-radio-set' => 'Peittud',
+'revdelete-radio-unset' => 'Nägub',
 'revdelete-suppress' => 'Peitta administratorilpäi-ki sadud andmused',
 'revdelete-unsuppress' => 'Heitta kaidendused endištadud versijoilpäi',
 'revdelete-log' => 'Sü:',
@@ -978,6 +1007,7 @@ Otkat sil'mnägubale üks-se, miše {{SITENAME}}-saitan sädäimišt voib olda v
 'prefs-beta' => 'Beta-voindad',
 'prefs-datetime' => 'Dat da aig',
 'prefs-labs' => 'Eksperimentaližed voindad',
+'prefs-user-pages' => 'Kävutajan lehtpoled',
 'prefs-personal' => "Kävutajan profil'",
 'prefs-rc' => 'Tantoižed toižetused',
 'prefs-watchlist' => 'Kaclendnimikirjutez',
@@ -993,7 +1023,7 @@ Otkat sil'mnägubale üks-se, miše {{SITENAME}}-saitan sädäimišt voib olda v
 'prefs-email' => 'E-počtan opcijad',
 'prefs-rendering' => 'Nägu',
 'saveprefs' => 'Kirjutada',
-'restoreprefs' => 'Endištada kaik augotižjärgendused',
+'restoreprefs' => 'Endištada kaik augotižjärgendused (kaikiš sekcijoiš)',
 'prefs-editing' => 'Redaktiruind',
 'rows' => 'Rivid:',
 'columns' => 'Pachid:',
@@ -1035,9 +1065,9 @@ Otkat sil'mnägubale üks-se, miše {{SITENAME}}-saitan sädäimišt voib olda v
 Necidä tegendad ei sa toižetada.",
 'prefs-emailconfirm-label' => 'E-počtan vahvištand:',
 'youremail' => 'E-počt:',
-'username' => 'Kävutajan nimi:',
-'uid' => 'Kävutajan nomer:',
-'prefs-memberingroups' => '{{PLURAL:$1|Gruppan|Gruppiden}} ühtnii:',
+'username' => '{{GENDER:$1|Kävutajan nimi}}:',
+'uid' => '{{GENDER:$1|Kävutajan nomer}} ID:',
+'prefs-memberingroups' => '{{PLURAL:$1|Gruppan|Gruppiden}} {{GENDER:$2|ühtnii}}:',
 'prefs-registration' => 'Registracijan aig:',
 'yourrealname' => 'Todesine nimi:',
 'yourlanguage' => "Kel':",
@@ -1063,7 +1093,7 @@ Ku tö kirjutat sen, nece nimi kävutadas, miše ozutada lehtpolen toižetajad.'
 'prefs-signature' => 'Allekirjutez',
 'prefs-dateformat' => 'Datan format',
 'prefs-timeoffset' => 'Aigan sirdand',
-'prefs-advancedediting' => 'Ližaopcijad',
+'prefs-advancedediting' => 'opcijad',
 'prefs-preview' => 'Ezikacund',
 'prefs-advancedrc' => 'Ližaopcijad',
 'prefs-advancedrendering' => 'Ližaopcijad',
@@ -1358,6 +1388,7 @@ Ku problem jäb jäl'ghepäi-ki, säkat pagin [[Special:ListUsers/sysop|sistemad
 # File backend
 'backend-fail-backup' => 'Ei voi tehta $1-failan rezervkopijad.',
 'backend-fail-notexists' => 'Ei ole mugošt failad: "$1".',
+'backend-fail-delete' => 'Ei voi čuta poiš "$1"-failad.',
 'backend-fail-alreadyexists' => '$1-fail om jo olmas.',
 'backend-fail-copy' => 'Ei voi kopiruida "$1"-failad "$2"-tahoze.',
 'backend-fail-move' => 'Ei voi sirta "$1"-failad "$2"-tahoze.',
@@ -1450,6 +1481,7 @@ Informacijad sen [$2 andmusiden lehtpolelpäi] om anttud alemba.',
 'uploadnewversion-linktext' => "Jügutoitta necen failan uz' versii",
 'shared-repo-from' => '$1-projektaspäi',
 'shared-repo' => 'ühthine mediavaraait',
+'upload-disallowed-here' => 'Teile ei sa toižetada necidä failad.',
 
 # File reversion
 'filerevert' => '$1n endištand vanhemban versijannoks',
@@ -1524,6 +1556,8 @@ Informacijad sen [$2 andmusiden lehtpolelpäi] om anttud alemba.',
 'statistics-users-active-desc' => "Kävutajad, kudambad ozutiba aktivižut {{PLURAL:$1|jäl’gmäižen päivän|$1 jäl'gmäižil päivil}}",
 'statistics-mostpopular' => 'Kaikiš populärižembad lehtpoled',
 
+'pageswithprop-submit' => 'Tege',
+
 'doubleredirects' => 'Kaksitadud läbikosketused',
 'double-redirect-fixed-move' => "[[$1]]-lehtpol' om udesnimitadud. Se läbikosketab nügüd' [[$2]]-lehtpolele.",
 'double-redirect-fixer' => 'Läbikosketusiden kohendai',
@@ -1717,6 +1751,7 @@ Kc. mugažo [[Special:WantedCategories|ectud kategorijoiden nimikirjutez]].',
 'watchnologin' => 'Pidab kirjutadas sistemha',
 'addwatch' => 'Ližata kaclendnimikirjuteshe',
 'addedwatchtext' => '"[[:$1]]"-lehtpol\' om ližadud teiden [[Special:Watchlist|kaclendnimikirjuteshe]]. Necen lehtpolen (i sidotud lehtpoliden) tulebiš toižetusiš voiškandeb tedištada neciš nimikirjutesespäi; necen polhe kirjutaškatas mugažo [[Special:RecentChanges|uziden toižetusiden lehtpolel]] lihavoitud kirjamil, miše oliži kebnemb homaita.',
+'removewatch' => 'Čuta poiš kaclendnimikirjutesespäi',
 'removedwatchtext' => '"[[:$1]]"-lehtpol\' om heittud [[Special:Watchlist|teiden kaclendnimikirjutesespäi]].',
 'watch' => 'Pida sil’miš',
 'watchthispage' => "Kacelta necidä lehtpol't",
@@ -1911,8 +1946,8 @@ Sab toižetada necen lehtpolen kaičendpind, no se ei voi toižetada kaskadkaič
 'undeletedrevisions' => '{{PLURAL:$1|1 toižetuz|$1 toižetust}} om endištadud',
 'undeletedrevisions-files' => '{{PLURAL:$1|1 toižetuz|$1 toižetust}} da {{PLURAL:$2|1 fail|$2 failad}} oma endištadud',
 'undeletedfiles' => '{{PLURAL:$1|1 fail om|$1 failad oma}} endištadud',
-'cannotundelete' => 'Endištandan petuz;
-Voib olda, ken-se om jo endištanu necen lehtpolen ende.',
+'cannotundelete' => 'Endištandan petuz:
+$1',
 'undeletedpage' => "'''$1-lehtpol' om endištadud'''
 
 Kc. [[Special:Log/delete|čudandoiden aigkirj]], miše tedištada tantoižiš čudandoiš da endištandoiš.",
@@ -1932,6 +1967,7 @@ $1',
 # Namespace form on various pages
 'namespace' => 'Nimiavaruz:',
 'invert' => 'Käta erigoittud sanad vastkarin',
+'namespace_association' => 'Sidotud nimiavaruz',
 'blanknamespace' => '(Pälehtpoled)',
 
 # Contributions
@@ -2335,6 +2371,9 @@ Voib olda, necil lehtpolel om kosketuz irdsaitale, kudamb om mustas nimikirjutes
 'pageinfo-authors' => 'Erazvuiččiden avtoroiden lugu',
 'pageinfo-contentpage-yes' => 'Ka',
 'pageinfo-protect-cascading-yes' => 'Ka',
+'pageinfo-category-pages' => 'Lehtpoliden lugumär',
+'pageinfo-category-subcats' => 'Alakategorijoiden lugumär',
+'pageinfo-category-files' => 'Failoiden lugumär',
 
 # Skin names
 'skinname-cologneblue' => "Köl'nan sinine",
@@ -2568,6 +2607,7 @@ Ku fail redaktiruidihe sändan polhe, erased parametrad voidas erineda nügüdl
 'exif-languagecode' => 'Kel’',
 'exif-iimcategory' => 'Kategorii',
 'exif-datetimeexpires' => "Algat kävutagoi necen datan jäl'ghe",
+'exif-identifier' => 'Identifikator',
 'exif-label' => 'Arbaine',
 'exif-pngfilecomment' => 'Kommentarii PNG-failha',
 
index 4bab197..bacc258 100644 (file)
@@ -1541,6 +1541,7 @@ Nếu bạn đồng ý cung cấp, nó sẽ dùng để ghi nhận công lao c
 'prefs-tokenwatchlist' => 'Dấu hiệu',
 'prefs-diffs' => 'Khác biệt',
 'prefs-help-prefershttps' => 'Đăng xuất và đăng nhập lại để áp dụng tùy chọn này.',
+'prefs-tabs-navigation-hint' => 'Mẹo: Bạn có thể bấm các phím mũi tên trái phải để luân chuyển qua các thẻ trong danh sách thẻ.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Có vẻ hợp lệ',
@@ -1727,13 +1728,14 @@ Nếu bạn đồng ý cung cấp, nó sẽ dùng để ghi nhận công lao c
 'recentchanges-label-bot' => 'Sửa đổi này do bot thực hiện',
 'recentchanges-label-unpatrolled' => 'Sửa đổi này chưa được tuần tra',
 'recentchanges-label-plusminus' => 'Kích cỡ trang đã thay đổi bằng số byte này',
+'recentchanges-legend-heading' => "'''Chú giải:'''",
 'recentchanges-legend-newpage' => '(xem thêm [[Special:NewPages|danh sách các trang mới]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Thay đổi từ '''$2''' (hiển thị tối đa '''$1''' thay đổi).",
 'rclistfrom' => 'Hiển thị các thay đổi từ $1.',
 'rcshowhideminor' => '$1 sửa đổi nhỏ',
 'rcshowhidebots' => '$1 sửa đổi bot',
-'rcshowhideliu' => '$1 sửa đổi thành viên',
+'rcshowhideliu' => '$1 thành viên đăng ký',
 'rcshowhideanons' => '$1 sửa đổi vô danh',
 'rcshowhidepatr' => '$1 sửa đổi đã tuần tra',
 'rcshowhidemine' => '$1 sửa đổi của tôi',
@@ -2191,7 +2193,8 @@ Các mục <del>bị gạch bỏ</del> là các trang đã được sửa.',
 'ncategories' => '$1 {{PLURAL:$1|thể loại|thể loại}}',
 'ninterwikis' => '$1 liên kết liên wiki',
 'nlinks' => '$1 {{PLURAL:$1|liên kết|liên kết}}',
-'nmembers' => '$1 {{PLURAL:$1|trang|trang}}',
+'nmembers' => '$1 trang',
+'nmemberschanged' => '$1 → $2 trang',
 'nrevisions' => '$1 {{PLURAL:$1|phiên bản|phiên bản}}',
 'nviews' => '$1 {{PLURAL:$1|lượt truy cập|lượt truy cập}}',
 'nimagelinks' => 'Được sử dụng trong $1 trang',
@@ -3893,7 +3896,7 @@ Xin hãy xác nhận bạn thực sự muốn tạo lại trang này.",
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(ngôn ngữ mặc định)',
-'img-lang-info' => 'Kết xuất hình này trong $1 $2.',
+'img-lang-info' => 'Kết xuất hình này trong $1. $2',
 'img-lang-go' => 'Xem',
 
 # Table pager
@@ -4054,14 +4057,15 @@ hoặc [//www.gnu.org/licenses/old-licenses/gpl-2.0.html đọc nó trực tuy
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath?uselang=vi Đường dẫn kịch bản]',
 
 # Special:Redirect
-'redirect' => 'Đổi hướng đến tập tin, người dùng, hoặc số phiên bản',
+'redirect' => 'Đổi hướng đến tập tin, người dùng, trang, hoặc số phiên bản',
 'redirect-legend' => 'Đổi hướng đến tập tin hoặc trang',
-'redirect-summary' => 'Trang đặc biệt này đổi hướng đến một tập tin (theo tên tập tin được cho vào), trang (theo số phiên bản được cho vào), hoặc trang cá nhân (theo số thành viên). Cách sử dụng: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], hoặc [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Trang đặc biệt này đổi hướng đến một tập tin (theo tên tập tin được cho vào), trang (theo số phiên bản hoặc số trang được cho vào), hoặc trang cá nhân (theo số thành viên). Cách sử dụng: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], hoặc [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Đi',
 'redirect-lookup' => 'Tra cứu:',
 'redirect-value' => 'Giá trị:',
 'redirect-user' => 'Số thành viên',
-'redirect-revision' => 'Phiên bản trang',
+'redirect-page' => 'Số trang',
+'redirect-revision' => 'Số phiên bản trang',
 'redirect-file' => 'Tên tập tin',
 'redirect-not-exists' => 'Không tìm thấy giá trị',
 
@@ -4299,10 +4303,12 @@ Nếu không thì bạn có thể điền biểu mẫu đơn giản ở dưới.
 'expand_templates_input' => 'Mã nguồn để bung:',
 'expand_templates_output' => 'Kết quả',
 'expand_templates_xml_output' => 'Xuất XML',
+'expand_templates_html_output' => 'Mã nguồn HTML thô',
 'expand_templates_ok' => 'Bung',
 'expand_templates_remove_comments' => 'Bỏ các chú thích',
 'expand_templates_remove_nowiki' => 'Bỏ qua thẻ <nowiki> trong kết quả',
 'expand_templates_generate_xml' => 'Xem cây phân tích XML',
+'expand_templates_generate_rawhtml' => 'Hiển thị HTML thô',
 'expand_templates_preview' => 'Xem trước',
 
 );
index f79dc5d..f7ee5cf 100644 (file)
@@ -240,7 +240,7 @@ $messages = array(
 'articlepage' => 'Artiklilehekülg',
 'talk' => 'Arotus',
 'views' => 'Kaemisõq',
-'toolbox' => 'Tüüriistakast',
+'toolbox' => 'Tüüriistaq',
 'userpage' => 'Pruukjalehekülg',
 'projectpage' => 'Tallituslehekülg',
 'imagepage' => 'Näütäq teedüstülehte',
@@ -345,6 +345,7 @@ Olõmanolõvaq tallitusleheküleq ommaq löüdäq leheküle päält [[Special:Sp
 # General errors
 'error' => 'Viga',
 'databaseerror' => 'Teedüskogo viga',
+'databaseerror-error' => 'Viga: $1',
 'laggedslavemode' => 'Hoiatus: Taa lehe pääl pruugi-i ollaq perämäidsi muutmiisi.',
 'readonly' => 'Teedüskogo kirotuskaitsõ all',
 'enterlockreason' => 'Kirodaq lukkupandmisõ põhjus ja ligikaudnõ vallalõvõtmisõ aig',
index 7e59c01..c583b60 100644 (file)
@@ -990,8 +990,8 @@ $1",
 'saveprefs' => '保存',
 'restoreprefs' => '复原全部默认设定',
 'prefs-editing' => '编辑',
-'rows' => '行:',
-'columns' => '列:',
+'rows' => '行:',
+'columns' => '列:',
 'searchresultshead' => '搜索',
 'resultsperpage' => '每页显示链接数:',
 'stub-threshold' => '<a href="#" class="stub">短页面链接</a>格式门槛值(字节):',
index 101bf4e..0fe61fc 100644 (file)
@@ -707,7 +707,7 @@ $2',
 'passwordtooshort' => 'פאַסווערטער מוזן זײַן כאטש {{PLURAL:$1|איין כאַראַקטער|$1 כאַראַקטערס}}.',
 'password-name-match' => 'אײַער פאַסווארט מוז זײַן אנדערש פון אײַער באַניצער נאָמען.',
 'password-login-forbidden' => 'באַניצן דעם נאָמען און שפּריכוואָרט איז פאַרבאָטן.',
-'mailmypassword' => 'ש×\99ק×\98 ×\9e×\99×\99×\9f × ×\99×\99×¢ ×¤×\90סווארט',
+'mailmypassword' => 'צ×\95ר×\99קש×\98×¢×\9c×\9f ×¤×\90Ö·סווארט',
 'passwordremindertitle' => 'ניי צייטווייליג פאסווארט פאר {{SITENAME}}',
 'passwordremindertext' => 'עמעצער (מסתמא איר, פֿון IP אדרעס $1)
 האט געבעטן א ניי פאַסווארט פֿאר {{SITENAME}} ($4).
@@ -779,7 +779,7 @@ $2',
 # Special:PasswordReset
 'passwordreset' => 'צוריקשטעלן פאַסווארט',
 'passwordreset-text-one' => 'דערגאַנצט די פאָרעם צוריקצושטעלן אײַער פאַסווארט.',
-'passwordreset-text-many' => '{{PLURAL:$1|×\93ער×\92×\90ַנצ×\98 ×\90×\99×\99× ×¢ ×¤Ö¿×\95×\9f ×\93×\99 ×¤Ö¿×¢×\9c×\93ער ×¦×\95ר×\99קצ×\95ש×\98×¢×\9c×\9f ×\90ײַער ×¤×\90ַס×\95×\95×\90רט.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|×\93ער×\92×\90ַנצ×\98 ×\90×\99×\99× ×¢ ×¤Ö¿×\95×\9f ×\93×\99 ×¤Ö¿×¢×\9c×\93ער ×\9b×\93×\99 ×¦×\95 ×\91×\90ק×\95×\9e×¢×\9f ×\90 ×¤×¨×\90×\95×\95×\99×\96×\90ר×\99ש ×¤×\90ַס×\95×\95×\90ר×\98 ×\93×\95ר ×\9b×\9f ×¤×\90סט.}}',
 'passwordreset-legend' => 'צוריקשטעלן פאַסווארט',
 'passwordreset-disabled' => 'מען האט אומאַקטיוויטר צוריקשטעלן פאַסווערטער אויף דער וויקי.',
 'passwordreset-emaildisabled' => 'ע-פאסט דינסטן זענען געווארן אומאקטיווירט אויף דער דאזיקער וויקי.',
@@ -1616,8 +1616,8 @@ $1",
 'recentchanges-label-minor' => 'דאָס איז אַ מינערדיקע רעדאַקטירונג',
 'recentchanges-label-bot' => ' די רעדאַקטירונג האט אויסגעפירט א באט',
 'recentchanges-label-unpatrolled' => 'די רעדאקטירונג איז נאך נישט נאכגעקוקט',
-'recentchanges-label-plusminus' => '×\91×\9c×\90×\98 ×\92ר×\99×\99ס ×\92×¢×¢× ×\93ער×\98 ×\9e×\99×\98 ×\93ער ×\90צל בייטן',
-'recentchanges-legend-newpage' => '(×\96×¢×\99×\9d אויך [[Special:NewPages|די רשימה פון נייע בלעטער]])',
+'recentchanges-label-plusminus' => '×\91×\9c×\90×\98 ×\92ר×\99×\99ס ×\92×¢×¢× ×\93ער×\98 ×\9e×\99×\98 ×\93ער ×¦×\90ל בייטן',
+'recentchanges-legend-newpage' => '(×\96×¢×\98 אויך [[Special:NewPages|די רשימה פון נייע בלעטער]])',
 'rcnotefrom' => "פֿאלגנד זענען די ענדערונגען זײַט '''$2''' (ביז '''$1''')",
 'rclistfrom' => 'װײַזן נײַע ענדערונגען פֿון $1',
 'rcshowhideminor' => '$1 מינערדיגע ענדערונגען',
index 5dabc0c..ebb8e5a 100644 (file)
@@ -18,6 +18,7 @@
  * @author Waihorace
  * @author William915
  * @author Wong128hk
+ * @author Xiaomingyan
  * @author Yfdyh000
  */
 
@@ -1151,8 +1152,8 @@ $1",
 'saveprefs' => '儲存',
 'restoreprefs' => '恢復全部預設設定',
 'prefs-editing' => '編輯中',
-'rows' => ':',
-'columns' => ':',
+'rows' => '行數:',
+'columns' => '列數:',
 'searchresultshead' => '搵嘢',
 'resultsperpage' => '每頁顯示嘅擊中數:',
 'stub-threshold' => '<a href="#" class="stub">楔位連結</a>格式門檻 (bytes):',
index 67f60e6..a2ce8d2 100644 (file)
@@ -400,7 +400,7 @@ $messages = array(
 'tog-watchmoves' => '添加我移动的页面和文件至我的监视列表',
 'tog-watchdeletion' => '添加我删除的页面和文件至我的监视列表',
 'tog-minordefault' => '默认标记所有编辑为小编辑',
-'tog-previewontop' => 'å\9c¨ç¼\96è¾\91æ¡\86ä¸\8aæ\96¹æ\98¾ç¤ºé¢\84è§\88',
+'tog-previewontop' => 'å°\86é¢\84è§\88æ\98¾ç¤ºå\9c¨ç¼\96è¾\91æ¡\86ä¸\8aæ\96¹',
 'tog-previewonfirst' => '首次编辑时显示预览',
 'tog-enotifwatchlistpages' => '当我的监视列表中的页面或文件更改时发送电子邮件通知我',
 'tog-enotifusertalkpages' => '当我的用户讨论页面更改时发送电子邮件通知我',
@@ -409,7 +409,7 @@ $messages = array(
 'tog-shownumberswatching' => '显示监视用户数',
 'tog-oldsig' => '当前签名:',
 'tog-fancysig' => '将签名视为维基文本(不自动生成链接)',
-'tog-uselivepreview' => '使用实时预览(实验)',
+'tog-uselivepreview' => '使用实时预览(实验)',
 'tog-forceeditsummary' => '未输入编辑摘要时提醒我',
 'tog-watchlisthideown' => '隐藏监视列表中的我的编辑',
 'tog-watchlisthidebots' => '隐藏监视列表中的机器人编辑',
@@ -530,7 +530,7 @@ $messages = array(
 'mytalk' => '讨论',
 'anontalk' => '该IP地址的讨论',
 'navigation' => '导航',
-'and' => '&#32;和',
+'and' => '和',
 
 # Cologne Blue skin
 'qbfind' => '查找',
@@ -823,7 +823,7 @@ $2',
 'gotaccount' => '已经拥有账户?请$1。',
 'gotaccountlink' => '登录',
 'userlogin-resetlink' => '忘记你的登录信息?',
-'userlogin-resetpassword-link' => '忘记您的密码?',
+'userlogin-resetpassword-link' => '忘记密码?',
 'helplogin-url' => 'Help:登录',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|登录帮助]]',
 'userlogin-loggedin' => '你已经以{{GENDER:$1|$1}}的身份登录。使用下面的表格以其他用户的身份登录。',
@@ -886,7 +886,7 @@ $2',
 'throttled-mailpassword' => '密码提醒已在最近$1小时内发送。为了安全起见,在每$1小时内只能发送一个密码提醒。',
 'mailerror' => '发送邮件错误:$1',
 'acct_creation_throttle_hit' => '使用你的IP地址访问本wiki的访客在过去24小时中创建了{{PLURAL:$1|$1个账户}},达到了这段时间所允许的最大值。因此,使用该IP地址的访客现在不能再创建账户。',
-'emailauthenticated' => '您的邮箱地址已经于$3在$2确认。',
+'emailauthenticated' => '你的电子邮件地址已于$2 $3确认。',
 'emailnotauthenticated' => '您的邮件地址尚未确认。
 您将不会收到以下任何功能的邮件。',
 'noemailprefs' => '指定一个电子邮箱地址以使用此功能。',
@@ -1270,7 +1270,7 @@ $3的理由是''$2''",
 'revdelete-hide-image' => '隐藏文件内容',
 'revdelete-hide-name' => '隐藏动作和目标',
 'revdelete-hide-comment' => '编辑摘要',
-'revdelete-hide-user' => 'ç¼\96è¾\91è\80\85ç\9a\84用户名/IP地址',
+'revdelete-hide-user' => 'ç¼\96è\80\85用户名/IP地址',
 'revdelete-hide-restricted' => '同时阻止管理员与其他用户查看数据',
 'revdelete-radio-same' => '(不更改)',
 'revdelete-radio-set' => '隐藏',
@@ -1301,7 +1301,7 @@ $1",
 ** 潜在毁谤性信息',
 'revdelete-otherreason' => '其他/附加原因:',
 'revdelete-reasonotherlist' => '其他原因',
-'revdelete-edit-reasonlist' => 'ç¼\96è¾\91å\88 é\99¤å\9f\8bç\94±',
+'revdelete-edit-reasonlist' => 'ç¼\96è¾\91å\88 é\99¤å\8e\9få\9b ',
 'revdelete-offender' => '版本作者:',
 
 # Suppression log
@@ -1339,7 +1339,7 @@ $1",
 
 # Diffs
 'history-title' => '“$1”的版本历史',
-'difference-title' => 'â\80\9c$1â\80\9dç\9a\84ç\89\88æ\9c¬é\97´ç\9a\84å·®å¼\82',
+'difference-title' => '“$1”版本间的差异',
 'difference-title-multipage' => '页面“$1”与“$2”之间的差异',
 'difference-multipage' => '(页面间的差异)',
 'lineno' => '第$1行:',
@@ -1433,18 +1433,18 @@ $1",
 'prefs-email' => '电子邮件',
 'prefs-rendering' => '显示',
 'saveprefs' => '保存',
-'restoreprefs' => '恢复所有默认设置(所有部分)',
+'restoreprefs' => '还原所有默认设置(所有分项)',
 'prefs-editing' => '编辑',
-'rows' => '行:',
-'columns' => '列:',
+'rows' => '行:',
+'columns' => '列:',
 'searchresultshead' => '搜索',
 'resultsperpage' => '每页显示链接数:',
 'stub-threshold' => '<a href="#" class="stub">短页面链接</a>格式阈值(字节):',
-'stub-threshold-disabled' => 'å·²å\81\9cç\94¨',
+'stub-threshold-disabled' => '停用',
 'recentchangesdays' => '最近更改中显示的天数:',
 'recentchangesdays-max' => '最多$1天',
 'recentchangescount' => '默认显示的编辑数:',
-'prefs-help-recentchangescount' => '这包括近更改、页面历史和日志。',
+'prefs-help-recentchangescount' => '这包括近更改、页面历史和日志。',
 'prefs-help-watchlist-token2' => '这是你的监视列表网页feed的密钥。任何知道它的人均可以阅读你的监视列表,因此不要分享它。[[Special:ResetTokens|如果需要重置它,请点击这里]]。',
 'savedprefs' => '你的系统设置已保存。',
 'timezonelegend' => '时区:',
@@ -1502,7 +1502,7 @@ $1",
 'prefs-signature' => '签名',
 'prefs-dateformat' => '日期格式',
 'prefs-timeoffset' => '时差',
-'prefs-advancedediting' => '一般选项',
+'prefs-advancedediting' => '常规选项',
 'prefs-editor' => '编辑',
 'prefs-preview' => '预览',
 'prefs-advancedrc' => '高级选项',
@@ -1515,6 +1515,7 @@ $1",
 'prefs-tokenwatchlist' => '密钥',
 'prefs-diffs' => '差异对比',
 'prefs-help-prefershttps' => '该设置将在你下次登录时生效。',
+'prefs-tabs-navigation-hint' => '提示:您可以通过左、右箭头键在选项卡之间切换。',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => '电子邮件地址有效',
@@ -1571,15 +1572,15 @@ $1",
 # Rights
 'right-read' => '阅读页面',
 'right-edit' => '编辑页面',
-'right-createpage' => 'å\88\9b建页é\9d¢ï¼\88é\9d\9e讨论页é\9d¢ï¼\89',
+'right-createpage' => 'å\88\9b建é\9d\9e讨论页é\9d¢',
 'right-createtalk' => '创建讨论页面',
-'right-createaccount' => '创建新用户账户',
-'right-minoredit' => '标记小编辑',
+'right-createaccount' => '创建账户',
+'right-minoredit' => '标记编辑为小编辑',
 'right-move' => '移动页面',
 'right-move-subpages' => '移动页面及其子页面',
 'right-move-rootuserpages' => '移动根用户页面',
 'right-movefile' => '移动文件',
-'right-suppressredirect' => '移动页面时不创建来自来源页面的重定向',
+'right-suppressredirect' => '移动页面时不创建来源页面的重定向',
 'right-upload' => '上传文件',
 'right-reupload' => '覆盖现存文件',
 'right-reupload-own' => '覆盖自己上传的文件',
@@ -1587,52 +1588,52 @@ $1",
 'right-upload_by_url' => '从URL上传文件',
 'right-purge' => '无确认清除页面缓存',
 'right-autoconfirmed' => '不受基于IP的速率限制',
-'right-bot' => '被视为自动过程',
+'right-bot' => '被视为自动程序',
 'right-nominornewtalk' => '不使小编辑在讨论页面引发新信息提示',
-'right-apihighlimits' => '在API查询中使用更高的限制',
+'right-apihighlimits' => '在API查询中使用更高的上限',
 'right-writeapi' => '使用写入API',
 'right-delete' => '删除页面',
 'right-bigdelete' => '删除有大型历史的页面',
 'right-deletelogentry' => '删除和恢复特定的日志项目',
 'right-deleterevision' => '删除和恢复页面的特定版本',
-'right-deletedhistory' => '查看被删除的历史条目,无其相关文字',
-'right-deletedtext' => '查看被删除的版本间的被删除的文字和更改',
+'right-deletedhistory' => '查看被删除的历史项目,不含相关文本',
+'right-deletedtext' => '查看被删除的文本及被删除的版本间差异',
 'right-browsearchive' => '搜索被删除的页面',
 'right-undelete' => '还原页面',
-'right-suppressrevision' => '审查和恢复管理员隐藏的版本',
+'right-suppressrevision' => '审查和恢复管理员隐藏的版本',
 'right-suppressionlog' => '查看非公开日志',
 'right-block' => '阻止其他用户编辑',
-'right-blockemail' => '阻止用户电邮联系',
+'right-blockemail' => '阻止用户发送电子邮件',
 'right-hideuser' => '封禁并隐藏用户名',
-'right-ipblock-exempt' => '避开IP封禁、自动封禁和IP段封禁',
+'right-ipblock-exempt' => '绕过IP封禁、自动封禁和段封禁',
 'right-proxyunbannable' => '避开代理服务器的自动封禁',
 'right-unblockself' => '自我解封',
 'right-protect' => '更改保护级别和编辑受连锁保护的页面',
-'right-editprotected' => '编辑页面保护需要“{{int:protect-level-sysop}}”',
-'right-editsemiprotected' => '编辑页面保护需要“{{int:protect-level-autoconfirmed}}”',
+'right-editprotected' => '编辑保护级别为“{{int:protect-level-sysop}}”的页面',
+'right-editsemiprotected' => '编辑保护级别为“{{int:protect-level-autoconfirmed}}”的页面',
 'right-editinterface' => '编辑用户界面',
 'right-editusercssjs' => '编辑其他用户的CSS和JavaScript文件',
 'right-editusercss' => '编辑其他用户的CSS文件',
 'right-edituserjs' => '编辑其他用户的JavaScript文件',
-'right-editmyusercss' => '编辑你自己的用户CSS文件',
-'right-editmyuserjs' => '编辑你自己的用户JavaScript文件',
-'right-viewmywatchlist' => '查看的监视列表',
-'right-editmywatchlist' => '编辑您的监视列表。请注意即使没有这种权利,某些操作仍将添加页面。',
-'right-viewmyprivateinfo' => '查看你自己的私人数据(如电子邮件地址、真实姓名)',
-'right-editmyprivateinfo' => '编辑你自己的私人数据(如电子邮件地址、真实姓名)',
+'right-editmyusercss' => '编辑的用户CSS文件',
+'right-editmyuserjs' => '编辑的用户JavaScript文件',
+'right-viewmywatchlist' => '查看的监视列表',
+'right-editmywatchlist' => '编辑您的监视列表。请留意即使缺少此权限,某些操作仍将添加页面至监视列表。',
+'right-viewmyprivateinfo' => '查看的私人数据(如电子邮件地址、真实姓名)',
+'right-editmyprivateinfo' => '编辑的私人数据(如电子邮件地址、真实姓名)',
 'right-editmyoptions' => '编辑您的个人设置',
-'right-rollback' => '快速回退最后编辑特定页面的用户的编辑',
+'right-rollback' => '快速回退最后一名用户对特定页面的编辑',
 'right-markbotedits' => '标记回退编辑为机器人编辑',
 'right-noratelimit' => '不受速率限制影响',
 'right-import' => '从其他wiki导入页面',
-'right-importupload' => '从文件上传导入页面',
+'right-importupload' => '通过上传文件导入页面',
 'right-patrol' => '标记他人的编辑为已巡查',
 'right-autopatrol' => '使自己的编辑自动标记为已巡查',
 'right-patrolmarks' => '查看最近更改的巡查标记',
 'right-unwatchedpages' => '查看未受监视页面的列表',
 'right-mergehistory' => '合并页面历史',
-'right-userrights' => '编辑所有用户权限',
-'right-userrights-interwiki' => '编辑其它wiki用户的用户权限',
+'right-userrights' => '编辑所有用户权限',
+'right-userrights-interwiki' => '编辑其它wiki用户的用户权限',
 'right-siteadmin' => '锁定和解锁数据库',
 'right-override-export-depth' => '导出含有链接页面深度为5的页面',
 'right-sendemail' => '电邮联系其他用户',
@@ -1697,18 +1698,19 @@ $1",
 'recentchanges-noresult' => '在此期间没有符合这些条件的编辑',
 'recentchanges-feed-description' => '用这个源跟踪本wiki的最近更改。',
 'recentchanges-label-newpage' => '该编辑创建了新页面',
-'recentchanges-label-minor' => 'è¿\99æ\98¯ä¸\80个小编辑',
-'recentchanges-label-bot' => '该编辑由机器人行',
+'recentchanges-label-minor' => '该ç¼\96è¾\91为小编辑',
+'recentchanges-label-bot' => '该编辑由机器人行',
 'recentchanges-label-unpatrolled' => '该编辑尚未巡查',
-'recentchanges-label-plusminus' => '页面大小通过该字节数更改',
+'recentchanges-label-plusminus' => '该页面字节数的前后变化',
+'recentchanges-legend-heading' => "'''说明:'''",
 'recentchanges-legend-newpage' => '(另见[[Special:NewPages|新页面列表]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "下面是'''$2'''之后的更改(最多显示'''$1'''个)。",
 'rclistfrom' => '显示$1之后的新更改',
 'rcshowhideminor' => '$1小编辑',
-'rcshowhidebots' => '$1机器人的编辑',
-'rcshowhideliu' => '$1登录用户的编辑',
-'rcshowhideanons' => '$1匿名用户的编辑',
+'rcshowhidebots' => '$1机器人',
+'rcshowhideliu' => '$1注册用户',
+'rcshowhideanons' => '$1匿名用户',
 'rcshowhidepatr' => '$1已巡查的编辑',
 'rcshowhidemine' => '$1我的编辑',
 'rclinks' => '显示最后$2天的最后$1个更改<br />$3',
@@ -1994,9 +1996,9 @@ $1',
 'filehist-missing' => '文件遗失',
 'imagelinks' => '文件用途',
 'linkstoimage' => '以下{{PLURAL:$1|页面|$1个页面}}链接至本文件:',
-'linkstoimage-more' => '多于$1个页面连接到这个文件。
-下面的列表只列示了连去这个文件的最首$1个页面。
-一个[[Special:WhatLinksHere/$2|完整的列表]]可以提供。',
+'linkstoimage-more' => '超过$1个页面连接到这个文件。
+此处只列出首$1个链接到该文件的页面。
+您也可以查看[[Special:WhatLinksHere/$2|完整的列表]]。',
 'nolinkstoimage' => '没有页面链接到本文件。',
 'morelinkstoimage' => '查看连接到这个文件的[[Special:WhatLinksHere/$1|更多链接]]。',
 'linkstoimage-redirect' => '$1(文件重定向)$2',
@@ -2041,7 +2043,7 @@ $1',
 *常用删除理由
 ** 侵犯版权
 ** 重复文件',
-'filedelete-edit-reasonlist' => 'ç¼\96è¾\91å\88 é\99¤å\9f\8bç\94±',
+'filedelete-edit-reasonlist' => 'ç¼\96è¾\91å\88 é\99¤å\8e\9få\9b ',
 'filedelete-maintenance' => '维护期间文件删除和恢复暂时停用。',
 'filedelete-maintenance-title' => '无法删除文件',
 
@@ -2130,6 +2132,7 @@ $1',
 'ninterwikis' => '$1个跨语言链接',
 'nlinks' => '$1个链接',
 'nmembers' => '$1个成员',
+'nmemberschanged' => '$1 → $2个成员',
 'nrevisions' => '$1个版本',
 'nviews' => '$1次浏览',
 'nimagelinks' => '用于$1个页面中',
@@ -2348,8 +2351,8 @@ $1',
 'watchmethod-list' => '查看监视页中的最新修改',
 'watchlistcontains' => '您的监视列表包含$1个页面。',
 'iteminvalidname' => "页面'$1'错误,无效命名...",
-'wlnote' => "下面是最后'''$2'''小时的最后'''$1'''个更改,截至$3 $4。",
-'wlshowlast' => '显示过去$1小时 $2天 $3',
+'wlnote' => "下面是{{PLURAL:$2|上|过去'''$2'''}}小时的{{PLURAL:$1|最后更改|最后'''$1'''个更改}},截至$3 $4。",
+'wlshowlast' => '显示过去$1小时或$2天内的$3',
 'watchlist-options' => '监视列表选项',
 
 # Displayed when you click the "watch" button and it is in the process of watching
@@ -2445,7 +2448,7 @@ $UNWATCHURL
 本页最后的编辑者是[[User:$3|$3]]([[User talk:$3|讨论]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])。',
 'editcomment' => '编辑摘要:"<i>$1</i>"。',
 'revertpage' => '恢复[[Special:Contributions/$2|$2]]([[User talk:$2|讨论]])的编辑至[[User:$1|$1]]的最后版本',
-'revertpage-nouser' => '恢复由隐藏用户的编辑到{{GENDER:$1|[[User:$1|$1]]}}的最后一个修订版本',
+'revertpage-nouser' => '恢复隐藏用户的编辑至{{GENDER:$1|[[User:$1|$1]]}}的最后版本',
 'rollback-success' => '已恢复$1的编辑,更改回$2的最后版本。',
 
 # Edit tokens
@@ -2570,7 +2573,7 @@ $1',
 'namespace' => '名字空间:',
 'invert' => '反选',
 'tooltip-invert' => '请选择该框以隐藏指定名字空间(及相关名字空间,若被选择)的页面更改',
-'namespace_association' => '相关名字空间',
+'namespace_association' => '关联的名字空间',
 'tooltip-namespace_association' => '选中此复选框可包括与选定名字空间相关的讨论页或子页面',
 'blanknamespace' => '(主)',
 
@@ -3695,7 +3698,7 @@ Variants for Chinese language
 'confirmemail_invalid' => '无效的确认码,该代码可能已经过期。',
 'confirmemail_needlogin' => '您需要$1以确认您的邮箱地址。',
 'confirmemail_success' => '您的邮箱已经被确认。您现在可以[[Special:UserLogin|登录]]并使用此网站了。',
-'confirmemail_loggedin' => '您的邮箱地址现在已被确认。',
+'confirmemail_loggedin' => '你的电子邮件地址现在已经确认。',
 'confirmemail_subject' => '{{SITENAME}}电子邮件地址确认',
 'confirmemail_body' => '来自IP地址$1的用户(可能是您)在{{SITENAME}}上创建了账户“$2”,并提交了您
 的电子邮箱地址。
@@ -3776,7 +3779,7 @@ $5
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(默认语言)',
-'img-lang-info' => '在$1 $2找到此图像。',
+'img-lang-info' => '在$1找到此图像。$2',
 'img-lang-go' => '去',
 
 # Table pager
@@ -3877,13 +3880,14 @@ MediaWiki发表时预期有用,但对此'''无任何保证''',亦无隐含
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath 脚本路径]',
 
 # Special:Redirect
-'redirect' => '重定向(按文件、用户或版本ID)',
+'redirect' => '重定向(按文件、用户、页面或版本ID)',
 'redirect-legend' => '重定向至文件或页面',
-'redirect-summary' => '本特殊页面可以跳转至一个文件(提供文件名)、页面(提供版本ID)或用户页面(提供数字用户ID)。用法:[[{{#Special:Redirect}}/file/Example.jpg]]、[[{{#Special:Redirect}}/revision/328429]]或[[{{#Special:Redirect}}/user/101]]。',
+'redirect-summary' => '本特殊页面可以跳转至一个文件(提供文件名)、页面(提供版本ID或页面ID)或用户页面(提供数字用户ID)。用法:[[{{#Special:Redirect}}/file/Example.jpg]]、[[{{#Special:Redirect}}/page/64308]]、[[{{#Special:Redirect}}/revision/328429]]或[[{{#Special:Redirect}}/user/101]]。',
 'redirect-submit' => '提交',
 'redirect-lookup' => '基于:',
 'redirect-value' => '值:',
 'redirect-user' => '用户ID',
+'redirect-page' => '页面ID',
 'redirect-revision' => '页面版本ID',
 'redirect-file' => '文件名',
 'redirect-not-exists' => '没找到相应值',
@@ -4123,10 +4127,12 @@ MediaWiki发表时预期有用,但对此'''无任何保证''',亦无隐含
 'expand_templates_input' => '输入文本:',
 'expand_templates_output' => '结果:',
 'expand_templates_xml_output' => 'XML输出',
+'expand_templates_html_output' => '原始HTML输出',
 'expand_templates_ok' => '确定',
 'expand_templates_remove_comments' => '移除注释',
 'expand_templates_remove_nowiki' => '在结果中隐藏<nowiki>标签',
 'expand_templates_generate_xml' => '显示XML语法树',
+'expand_templates_generate_rawhtml' => '显示原始HTML',
 'expand_templates_preview' => '预览',
 
 );
index 498b91b..67597a4 100644 (file)
@@ -1369,8 +1369,8 @@ $1",
 'saveprefs' => '儲存',
 'restoreprefs' => '還原所有預設設定(所有部分)',
 'prefs-editing' => '編輯',
-'rows' => '行:',
-'columns' => '列:',
+'rows' => '行:',
+'columns' => '列:',
 'searchresultshead' => '搜尋',
 'resultsperpage' => '每頁顯示連結數:',
 'stub-threshold' => '<a href="#" class="stub">短頁面連結</a>格式門檻值 (位元組):',
@@ -1454,6 +1454,7 @@ $1",
 'prefs-tokenwatchlist' => '密鑰',
 'prefs-diffs' => '差異',
 'prefs-help-prefershttps' => '此選項將於您下次登入時生效。',
+'prefs-tabs-navigation-hint' => '提示:您可通過左、右鍵於選項卡之間切換。',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => '電子郵件位址有效',
@@ -1639,14 +1640,15 @@ $1",
 'recentchanges-label-minor' => '這是一個小編輯',
 'recentchanges-label-bot' => '這次編輯是由機器人進行',
 'recentchanges-label-unpatrolled' => '這次編輯尚未巡查過',
-'recentchanges-label-plusminus' => '通過此處位元組的數位以更改頁面大小',
+'recentchanges-label-plusminus' => '更改前後頁面位元組大小的變化',
+'recentchanges-legend-heading' => "'''說明:'''",
 'recentchanges-legend-newpage' => '(另見[[Special:NewPages|新頁面列表]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "下面是自'''$2'''(最多顯示'''$1'''):",
 'rclistfrom' => '顯示自 $1 以來的新變更',
 'rcshowhideminor' => '$1小編輯',
 'rcshowhidebots' => '$1機器人的編輯',
-'rcshowhideliu' => '$1已登入用戶的編輯',
+'rcshowhideliu' => '$1已註冊用戶',
 'rcshowhideanons' => '$1匿名用戶的編輯',
 'rcshowhidepatr' => '$1巡查過的編輯',
 'rcshowhidemine' => '$1我的編輯',
@@ -1940,9 +1942,9 @@ $1',
 'filehist-missing' => '檔案遺失',
 'imagelinks' => '檔案使用情況',
 'linkstoimage' => '以下的$1個頁面連接到本檔案:',
-'linkstoimage-more' => '多於$1個頁面連接到這個檔案。
-下面的清單只列示了連去這個檔案的最首$1個頁面。
-一個[[Special:WhatLinksHere/$2|完整的清單]]可以提供。',
+'linkstoimage-more' => '超過$1個頁面連接到這個檔案。
+此處只列出首$1個連接到此檔案的頁面。
+您也可以查看[[Special:WhatLinksHere/$2|完整的清單]]。',
 'nolinkstoimage' => '沒有頁面連接到本檔案。',
 'morelinkstoimage' => '檢視連接到這個檔案的[[Special:WhatLinksHere/$1|更多連結]]。',
 'linkstoimage-redirect' => '$1 (檔案重定向) $2',
@@ -2081,6 +2083,7 @@ $1',
 'ninterwikis' => '$1 個跨維基',
 'nlinks' => '$1個連結',
 'nmembers' => '$1個成員',
+'nmemberschanged' => '$1 → $2個成員',
 'nrevisions' => '$1個修訂',
 'nviews' => '$1次瀏覽',
 'nimagelinks' => '用於$1個頁面中',
@@ -3742,7 +3745,7 @@ $5
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(預設語言)',
-'img-lang-info' => '於$1 $2呈現此圖像。',
+'img-lang-info' => '於$1呈現此圖像。$2',
 'img-lang-go' => '走',
 
 # Table pager
@@ -4086,10 +4089,12 @@ MediaWiki是基於使用目的而加以發佈,然而不負任何擔保責任
 'expand_templates_input' => '輸入文字:',
 'expand_templates_output' => '結果:',
 'expand_templates_xml_output' => 'XML輸出',
+'expand_templates_html_output' => '原始HTML輸出',
 'expand_templates_ok' => '確定',
 'expand_templates_remove_comments' => '移除注釋',
 'expand_templates_remove_nowiki' => '在結果中隱藏<nowiki>標記',
 'expand_templates_generate_xml' => '顯示XML語法樹',
+'expand_templates_generate_rawhtml' => '顯示原始HTML',
 'expand_templates_preview' => '預覽',
 
 );
diff --git a/maintenance/archives/patch-logging_user_text_time_index.sql b/maintenance/archives/patch-logging_user_text_time_index.sql
new file mode 100644 (file)
index 0000000..06f2986
--- /dev/null
@@ -0,0 +1 @@
+CREATE INDEX /*i*/log_user_text_time ON /*_*/logging (log_user_text, log_timestamp);
diff --git a/maintenance/archives/patch-logging_user_text_type_time_index.sql b/maintenance/archives/patch-logging_user_text_type_time_index.sql
new file mode 100644 (file)
index 0000000..2801bc8
--- /dev/null
@@ -0,0 +1 @@
+CREATE INDEX /*i*/log_user_text_type_time ON /*_*/logging (log_user_text, log_type, log_timestamp);
index e03763f..f56e91f 100644 (file)
@@ -1,6 +1,5 @@
 <?php
 /**
- * PHP lacks an interactive mode, but this can be very helpful when debugging.
  * This script lets a command-line user start up the wiki engine and then poke
  * about by issuing PHP commands directly.
  *
index 52056ea..74eb971 100644 (file)
@@ -64,24 +64,39 @@ class FindHooks extends Maintenance {
                        $IP . '/includes/actions/',
                        $IP . '/includes/api/',
                        $IP . '/includes/cache/',
+                       $IP . '/includes/changes/',
+                       $IP . '/includes/clientpool/',
                        $IP . '/includes/content/',
                        $IP . '/includes/context/',
+                       $IP . '/includes/dao/',
                        $IP . '/includes/db/',
+                       $IP . '/includes/debug/',
+                       $IP . '/includes/deferred/',
                        $IP . '/includes/diff/',
+                       $IP . '/includes/externalstore/',
+                       $IP . '/includes/filebackend/',
                        $IP . '/includes/filerepo/',
                        $IP . '/includes/filerepo/file/',
+                       $IP . '/includes/gallery/',
+                       $IP . '/includes/htmlform/',
                        $IP . '/includes/installer/',
                        $IP . '/includes/interwiki/',
+                       $IP . '/includes/job/',
+                       $IP . '/includes/json/',
                        $IP . '/includes/logging/',
                        $IP . '/includes/media/',
                        $IP . '/includes/parser/',
+                       $IP . '/includes/rcfeed/',
                        $IP . '/includes/resourceloader/',
                        $IP . '/includes/revisiondelete/',
                        $IP . '/includes/search/',
+                       $IP . '/includes/site/',
+                       $IP . '/includes/specialpage/',
                        $IP . '/includes/specials/',
                        $IP . '/includes/upload/',
                        $IP . '/languages/',
                        $IP . '/maintenance/',
+                       $IP . '/maintenance/language/',
                        $IP . '/tests/',
                        $IP . '/tests/parser/',
                        $IP . '/tests/phpunit/suites/',
diff --git a/maintenance/generateJsonI18n.php b/maintenance/generateJsonI18n.php
new file mode 100644 (file)
index 0000000..554e0a8
--- /dev/null
@@ -0,0 +1,167 @@
+<?php
+
+/**
+ * Convert a PHP messages file to a set of JSON messages files.
+ *
+ * Usage:
+ *    php generateJsonI18n.php ExtensionName.i18n.php i18n/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Maintenance
+ */
+
+require_once __DIR__ . '/Maintenance.php';
+
+/**
+ * Maintenance script to generate JSON i18n files from a PHP i18n file.
+ *
+ * @ingroup Maintenance
+ */
+class GenerateJsonI18n extends Maintenance {
+       public function __construct() {
+               parent::__construct();
+               $this->mDescription = "Build JSON messages files from a PHP messages file";
+               $this->addArg( 'phpfile', 'PHP file defining a $messages array', true );
+               $this->addArg( 'jsondir', 'Directory to write JSON files to', true );
+               $this->addOption( 'langcode', 'Language code; only needed for converting core i18n files',
+                       false, true );
+       }
+
+       public function execute() {
+               $phpfile = $this->getArg( 0 );
+               $jsondir = $this->getArg( 1 );
+
+               if ( !is_readable( $phpfile ) ) {
+                       $this->error( "Error reading $phpfile\n", 1 );
+               }
+               include $phpfile;
+               $phpfileContents = file_get_contents( $phpfile );
+
+               if ( !isset( $messages ) ) {
+                       $this->error( "PHP file $phpfile does not define \$messages array\n", 1 );
+               }
+
+               $extensionStyle = true;
+               if ( !isset( $messages['en'] ) || !is_array( $messages['en'] ) ) {
+                       if ( !$this->hasOption( 'langcode' ) ) {
+                               $this->error( "PHP file $phpfile does not set language codes, --langcode " .
+                                       "is required.\n", 1 );
+                       }
+                       $extensionStyle = false;
+                       $langcode = $this->getOption( 'langcode' );
+                       $messages = array( $langcode => $messages );
+               } else if ( $this->hasOption( 'langcode' ) ) {
+                       $this->output( "Warning: --langcode option set but will not be used.\n" );
+               }
+
+               foreach ( $messages as $langcode => $langmsgs ) {
+                       $authors = $this->getAuthorsFromComment( $this->findCommentBefore(
+                               $extensionStyle ? "\$messages['$langcode'] =" : '$messages =',
+                               $phpfileContents
+                       ) );
+                       // Make sure the @metadata key is the first key in the output
+                       $langmsgs = array_merge(
+                               array( '@metadata' => array( 'authors' => $authors ) ),
+                               $langmsgs
+                       );
+
+                       $jsonfile = "$jsondir/$langcode.json";
+                       $success = file_put_contents(
+                               $jsonfile,
+                               FormatJson::encode( $langmsgs, true, FormatJson::ALL_OK )
+                       );
+                       if ( $success === false ) {
+                               $this->error( "FAILED to write $jsonfile", 1 );
+                       }
+                       $this->output( "$jsonfile\n" );
+               }
+
+               if ( !$this->hasOption( 'langcode' ) ) {
+                       $shim = $this->doShim( $jsondir );
+                       file_put_contents( $phpfile, $shim );
+               }
+
+               $this->output( "All done.\n" );
+               $this->output( "Also add \$wgMessagesDirs['YourExtension'] = __DIR__ . /i18n';\n" );
+       }
+
+       protected function doShim( $jsondir ) {
+               $shim = <<<'PHP'
+<?php
+$messages = array();
+$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function ( $cache, $code, &$cachedData ) {
+       $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
+       foreach ( $codeSequence as $csCode ) {
+               $fileName = __DIR__ . "/{{OUT}}/$csCode.json";
+               if ( is_readable( $fileName ) ) {
+                       $data = FormatJson::decode( file_get_contents( $fileName ), true );
+                       foreach ( $data as $key => $unused ) {
+                               if ( $key === '' || $key[0] === '@' ) {
+                                       unset( $data[$key] );
+                               }
+                       }
+                       $cachedData['messages'] = array_merge( $data, $cachedData['messages'] );
+               }
+
+               $cachedData['deps'][] = new FileDependency( $fileName );
+       }
+       return true;
+};
+
+PHP;
+
+               $jsondir = str_replace('\\', '/', $jsondir );
+               $shim = str_replace( '{{OUT}}', $jsondir, $shim );
+               return $shim;
+       }
+
+       /**
+        * Find the documentation comment immediately before a given search string
+        * @param string $needle String to search for
+        * @param string $haystack String to search in
+        * @return string Substring of $haystack starting at '/**' ending right before $needle, or empty
+        */
+       protected function findCommentBefore( $needle, $haystack ) {
+               $needlePos = strpos( $haystack, $needle );
+               if ( $needlePos === false ) {
+                       return '';
+               }
+               // Need to pass a negative offset to strrpos() so it'll search backwards from the
+               // offset
+               $startPos = strrpos( $haystack, '/**', $needlePos - strlen( $haystack ) );
+               if ( $startPos === false ) {
+                       return '';
+               }
+
+               return substr( $haystack, $startPos, $needlePos - $startPos );
+       }
+
+       /**
+        * Get an array of author names from a documentation comment containing @author declarations.
+        * @param string $comment Documentation comment
+        * @return Array of author names (strings)
+        */
+       protected function getAuthorsFromComment( $comment ) {
+               $matches = null;
+               preg_match_all( '/@author (.*?)$/m', $comment, $matches );
+               return $matches && $matches[1] ? $matches[1] : array();
+       }
+}
+
+$maintClass = "GenerateJsonI18n";
+require_once RUN_MAINTENANCE_IF_MAIN;
index e08c4f4..5e463b2 100644 (file)
@@ -800,6 +800,7 @@ $wgMessageStructure = array(
        'cantcreateaccount' => array(
                'cantcreateaccounttitle',
                'cantcreateaccount-text',
+               'cantcreateaccount-range-text',
        ),
        'history' => array(
                'viewpagelogs',
@@ -1117,6 +1118,7 @@ $wgMessageStructure = array(
                'prefs-tokenwatchlist',
                'prefs-diffs',
                'prefs-help-prefershttps',
+               'prefs-tabs-navigation-hint',
        ),
        'preferences-email' => array(
                'email-address-validity-valid',
@@ -1307,6 +1309,7 @@ $wgMessageStructure = array(
                'recentchanges-label-bot',
                'recentchanges-label-unpatrolled',
                'recentchanges-label-plusminus',
+               'recentchanges-legend-heading',
                'recentchanges-legend-newpage',
                'recentchanges-legend-plusminus',
                'rcnotefrom',
@@ -1742,6 +1745,7 @@ $wgMessageStructure = array(
                'ninterwikis',
                'nlinks',
                'nmembers',
+               'nmemberschanged',
                'nrevisions',
                'nviews',
                'nimagelinks',
@@ -3683,6 +3687,7 @@ $wgMessageStructure = array(
                'redirect-lookup',
                'redirect-value',
                'redirect-user',
+               'redirect-page',
                'redirect-revision',
                'redirect-file',
                'redirect-not-exists',
@@ -3946,10 +3951,12 @@ $wgMessageStructure = array(
                'expand_templates_input',
                'expand_templates_output',
                'expand_templates_xml_output',
+               'expand_templates_html_output',
                'expand_templates_ok',
                'expand_templates_remove_comments',
                'expand_templates_remove_nowiki',
                'expand_templates_generate_xml',
+               'expand_templates_generate_rawhtml',
                'expand_templates_preview',
        ),
 );
index 5bf04c6..a63c45b 100644 (file)
@@ -46,8 +46,8 @@ class MergeMessageFileList extends Maintenance {
                $this->addOption( 'list-file', 'A file containing a list of extension setup files, one per line.', false, true );
                $this->addOption( 'extensions-dir', 'Path where extensions can be found.', false, true );
                $this->addOption( 'output', 'Send output to this file (omit for stdout)', false, true );
-               $this->mDescription = 'Merge $wgExtensionMessagesFiles from various extensions to produce a ' .
-                       'single array containing all message files.';
+               $this->mDescription = 'Merge $wgExtensionMessagesFiles and $wgMessagesDirs from ' .
+                       ' various extensions to produce a single file listing all message files and dirs.';
        }
 
        public function execute() {
@@ -158,7 +158,8 @@ $s =
        "<" . "?php\n" .
        "## This file is generated by mergeMessageFileList.php. Do not edit it directly.\n\n" .
        "if ( defined( 'MW_NO_EXTENSION_MESSAGES' ) ) return;\n\n" .
-       '$wgExtensionMessagesFiles = ' . var_export( $wgExtensionMessagesFiles, true ) . ";\n\n";
+       '$wgExtensionMessagesFiles = ' . var_export( $wgExtensionMessagesFiles, true ) . ";\n\n" .
+       '$wgMessagesDirs = ' . var_export( $wgMessagesDirs, true ) . ";\n\n";
 
 $dirs = array(
        $IP,
index 8a565d5..71fdd61 100644 (file)
@@ -619,6 +619,8 @@ CREATE INDEX /*$wgDBprefix*/page_time ON /*$wgDBprefix*/logging (log_namespace,
 CREATE INDEX /*$wgDBprefix*/times ON /*$wgDBprefix*/logging (log_timestamp);
 CREATE INDEX /*$wgDBprefix*/log_user_type_time ON /*$wgDBprefix*/logging (log_user, log_type, log_timestamp);
 CREATE INDEX /*$wgDBprefix*/log_page_id_time ON /*$wgDBprefix*/logging (log_page,log_timestamp);
+CREATE INDEX /*$wgDBprefix*/log_user_text_type_time ON /*$wgDBprefix*/logging (log_user_text, log_type, log_timestamp);
+CREATE INDEX /*$wgDBprefix*/log_user_text_time ON /*$wgDBprefix*/logging (log_user_text, log_timestamp);
 
 CREATE TABLE /*$wgDBprefix*/log_search (
        -- The type of ID (rev ID, log ID, rev timestamp, username)
index 06ccccb..9b4d194 100644 (file)
@@ -78,10 +78,6 @@ class NextJobDB extends Maintenance {
                        }
 
                        list( $type, $db ) = $candidates[mt_rand( 0, count( $candidates ) - 1 )];
-                       if ( JobQueueGroup::singleton( $db )->isQueueDeprioritized( $type ) ) {
-                               $pendingDBs[$type] = array_diff( $pendingDBs[$type], array( $db ) );
-                               $again = true;
-                       }
                } while ( $again );
 
                if ( $this->hasOption( 'types' ) ) {
diff --git a/maintenance/oracle/archives/patch-logging_user_text_time_index.sql b/maintenance/oracle/archives/patch-logging_user_text_time_index.sql
new file mode 100644 (file)
index 0000000..e04abf5
--- /dev/null
@@ -0,0 +1,4 @@
+define mw_prefix='{$wgDBprefix}';
+
+CREATE INDEX &mw_prefix.logging_i07 ON &mw_prefix.logging (log_user_text, log_timestamp);
+
diff --git a/maintenance/oracle/archives/patch-logging_user_text_type_time_index.sql b/maintenance/oracle/archives/patch-logging_user_text_type_time_index.sql
new file mode 100644 (file)
index 0000000..c1c0d4f
--- /dev/null
@@ -0,0 +1,4 @@
+define mw_prefix='{$wgDBprefix}';
+
+CREATE INDEX &mw_prefix.logging_i06 ON &mw_prefix.logging (log_user_text, log_type, log_timestamp);
+
index 2395bc5..a6b5350 100644 (file)
@@ -509,6 +509,8 @@ CREATE INDEX &mw_prefix.logging_i02 ON &mw_prefix.logging (log_user, log_timesta
 CREATE INDEX &mw_prefix.logging_i03 ON &mw_prefix.logging (log_namespace, log_title, log_timestamp);
 CREATE INDEX &mw_prefix.logging_i04 ON &mw_prefix.logging (log_timestamp);
 CREATE INDEX &mw_prefix.logging_i05 ON &mw_prefix.logging (log_type, log_action, log_timestamp);
+CREATE INDEX &mw_prefix.logging_i06 ON &mw_prefix.logging (log_user_text, log_type, log_timestamp);
+CREATE INDEX &mw_prefix.logging_i07 ON &mw_prefix.logging (log_user_text, log_timestamp);
 
 CREATE TABLE &mw_prefix.log_search (
   ls_field VARCHAR2(32) NOT NULL,
index d0d1e92..b8a7185 100644 (file)
@@ -510,6 +510,8 @@ CREATE INDEX logging_page_time ON logging (log_namespace, log_title, log_timesta
 CREATE INDEX logging_times ON logging (log_timestamp);
 CREATE INDEX logging_user_type_time ON logging (log_user, log_type, log_timestamp);
 CREATE INDEX logging_page_id_time ON logging (log_page, log_timestamp);
+CREATE INDEX logging_user_text_type_time ON logging (log_user_text, log_type, log_timestamp);
+CREATE INDEX logging_user_text_time ON logging (log_user_text, log_timestamp);
 
 CREATE TABLE log_search (
   ls_field   TEXT     NOT NULL,
index 429edf4..8a4a5ab 100644 (file)
@@ -2,10 +2,6 @@
 /**
  * Run pending jobs.
  *
- * Options:
- *  --maxjobs <num> (default 10000)
- *  --type <job_cmd>
- *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
index afd7c74..5e21130 100644 (file)
@@ -56,14 +56,16 @@ class ShowJobs extends Maintenance {
                } elseif ( $this->hasOption( 'group' ) ) {
                        foreach ( $group->getQueueTypes() as $type ) {
                                $queue = $group->get( $type );
+                               $delayed = $queue->getDelayedCount();
                                $pending = $queue->getSize();
                                $claimed = $queue->getAcquiredCount();
                                $abandoned = $queue->getAbandonedCount();
                                $active = max( 0, $claimed - $abandoned );
-                               if ( ( $pending + $claimed ) > 0 ) {
+                               if ( ( $pending + $claimed + $delayed ) > 0 ) {
                                        $this->output(
                                                "{$type}: $pending queued; " .
-                                               "$claimed claimed ($active active, $abandoned abandoned)\n"
+                                               "$claimed claimed ($active active, $abandoned abandoned); " .
+                                               "$delayed delayed\n"
                                        );
                                }
                        }
index a628b0b..5cad5a7 100644 (file)
@@ -34,15 +34,17 @@ class MwSql extends Maintenance {
                parent::__construct();
                $this->mDescription = "Send SQL queries to a MediaWiki database";
                $this->addOption( 'cluster', 'Use an external cluster by name', false, true );
+               $this->addOption( 'wikidb', 'The database wiki ID to use if not the current one', false, true );
                $this->addOption( 'slave', 'Use a slave server (either "any" or by name)', false, true );
        }
 
        public function execute() {
+               $wiki = $this->getOption( 'wikidb' ) ?: false;
                // Get the appropriate load balancer (for this wiki)
                if ( $this->hasOption( 'cluster' ) ) {
-                       $lb = wfGetLBFactory()->getExternalLB( $this->getOption( 'cluster' ) );
+                       $lb = wfGetLBFactory()->getExternalLB( $this->getOption( 'cluster' ), $wiki );
                } else {
-                       $lb = wfGetLB();
+                       $lb = wfGetLB( $wiki );
                }
                // Figure out which server to use
                if ( $this->hasOption( 'slave' ) ) {
@@ -65,9 +67,9 @@ class MwSql extends Maintenance {
                        $index = DB_MASTER;
                }
                // Get a DB handle (with this wiki's DB selected) from the appropriate load balancer
-               $dbw = $lb->getConnection( $index );
-               if ( $this->hasOption( 'slave' ) && $dbw->getLBInfo( 'master' ) !== null ) {
-                       $this->error( "The server selected ({$dbw->getServer()}) is not a slave.", 1 );
+               $db = $lb->getConnection( $index, array(), $wiki );
+               if ( $this->hasOption( 'slave' ) && $db->getLBInfo( 'master' ) !== null ) {
+                       $this->error( "The server selected ({$db->getServer()}) is not a slave.", 1 );
                }
 
                if ( $this->hasArg( 0 ) ) {
@@ -76,7 +78,7 @@ class MwSql extends Maintenance {
                                $this->error( "Unable to open input file", true );
                        }
 
-                       $error = $dbw->sourceStream( $file, false, array( $this, 'sqlPrintResult' ) );
+                       $error = $db->sourceStream( $file, false, array( $this, 'sqlPrintResult' ) );
                        if ( $error !== true ) {
                                $this->error( $error, true );
                        } else {
@@ -102,7 +104,7 @@ class MwSql extends Maintenance {
                                # User simply pressed return key
                                continue;
                        }
-                       $done = $dbw->streamStatementEnd( $wholeLine, $line );
+                       $done = $db->streamStatementEnd( $wholeLine, $line );
 
                        $wholeLine .= $line;
 
@@ -114,12 +116,12 @@ class MwSql extends Maintenance {
                        if ( $useReadline ) {
                                # Delimiter is eated by streamStatementEnd, we add it
                                # up in the history (bug 37020)
-                               readline_add_history( $wholeLine . $dbw->getDelimiter() );
+                               readline_add_history( $wholeLine . $db->getDelimiter() );
                                readline_write_history( $historyFile );
                        }
                        try {
-                               $res = $dbw->query( $wholeLine );
-                               $this->sqlPrintResult( $res, $dbw );
+                               $res = $db->query( $wholeLine );
+                               $this->sqlPrintResult( $res, $db );
                                $prompt = $newPrompt;
                                $wholeLine = '';
                        } catch ( DBQueryError $e ) {
index 18139b2..9a93c44 100644 (file)
@@ -1263,6 +1263,8 @@ CREATE INDEX /*i*/times ON /*_*/logging (log_timestamp);
 CREATE INDEX /*i*/log_user_type_time ON /*_*/logging (log_user, log_type, log_timestamp);
 CREATE INDEX /*i*/log_page_id_time ON /*_*/logging (log_page,log_timestamp);
 CREATE INDEX /*i*/type_action ON /*_*/logging (log_type, log_action, log_timestamp);
+CREATE INDEX /*i*/log_user_text_type_time ON /*_*/logging (log_user_text, log_type, log_timestamp);
+CREATE INDEX /*i*/log_user_text_time ON /*_*/logging (log_user_text, log_timestamp);
 
 
 CREATE TABLE /*_*/log_search (
index e01406d..beed720 100644 (file)
@@ -170,8 +170,8 @@ class UpdateMediaWiki extends Maintenance {
                }
                $time2 = new MWTimestamp();
 
-               $this->output( "\nDone.\n" );
-               $this->output( "\nThe job took " . $time2->diff( $time1 )->format( "%i:%S" ) . ".\n" );
+               $timeDiff = $time2->diff( $time1 );
+               $this->output( "\nDone in " . $timeDiff->format( "%i:%S" ) . ".\n" );
        }
 
        function afterFinalSetup() {
index 3432cb2..40c6951 100644 (file)
@@ -112,9 +112,6 @@ class UpdateSpecialPages extends Maintenance {
                                                        sleep( 10 );
                                                } while ( !wfGetLB()->pingAll() );
                                                $this->output( "Reconnected\n\n" );
-                                       } else {
-                                               # Commit the results
-                                               $dbw->commit( __METHOD__ );
                                        }
                                        # Wait for the slave to catch up
                                        wfWaitForSlaves();
diff --git a/resources/Makefile b/resources/Makefile
new file mode 100644 (file)
index 0000000..4de5c2f
--- /dev/null
@@ -0,0 +1,9 @@
+kss: nodecheck
+# FIXME: Use more up-to-date Ruby version
+       @node_modules/.bin/kss-node mediawiki.ui mediawiki.ui/docs -l mediawiki.ui/vector.less -t styleguide-template
+       @echo Opening the generated style guide...
+       @command -v xdg-open >/dev/null 2>&1 || { open ${PWD}/mediawiki.ui/docs/index.html; exit 1; }
+       @xdg-open ${PWD}/mediawiki.ui/docs/index.html
+
+nodecheck:
+       @scripts/nodecheck.sh
diff --git a/resources/README.txt b/resources/README.txt
new file mode 100644 (file)
index 0000000..d91bf2a
--- /dev/null
@@ -0,0 +1,4 @@
+The Makefile, package.json, scripts, styleguide-template, and
+mediawiki.ui/styleguide.md files and directories in here support the automatic
+generation of CSS documentation from the source LESS files using kss for
+node.js, https://github.com/kneath/kss
index df124cc..d280c75 100644 (file)
@@ -76,6 +76,17 @@ return array(
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
+       'skins.common' => array(
+               // Used in the web installer. Test it after modifying this definition!
+               'styles' => array(
+                       'common/commonElements.css' => array( 'media' => 'screen' ),
+                       'common/commonContent.css' => array( 'media' => 'screen' ),
+                       'common/commonInterface.css' => array( 'media' => 'screen' ),
+               ),
+               'remoteBasePath' => $GLOBALS['wgStylePath'],
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
+       ),
+       // FIXME: Remove in favour of skins.monobook.styles when cache expires
        'skins.monobook' => array(
                'styles' => array(
                        'common/commonElements.css' => array( 'media' => 'screen' ),
@@ -86,8 +97,8 @@ return array(
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
+       // FIXME: Remove in favour of skins.vector.styles when cache expires
        'skins.vector' => array(
-               // Used in the web installer. Test it after modifying this definition!
                'styles' => array(
                        'common/commonElements.css' => array( 'media' => 'screen' ),
                        'common/commonContent.css' => array( 'media' => 'screen' ),
@@ -97,13 +108,17 @@ return array(
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
-       'skins.vector.beta' => array(
-               // Keep in sync with skins.vector
+       'skins.vector.styles' => array(
+               // Used in the web installer. Test it after modifying this definition!
                'styles' => array(
-                       'common/commonElements.css' => array( 'media' => 'screen' ),
-                       'common/commonContent.css' => array( 'media' => 'screen' ),
-                       'common/commonInterface.css' => array( 'media' => 'screen' ),
-                       'vector/styles-beta.less',
+                       'vector/styles.less',
+               ),
+               'remoteBasePath' => $GLOBALS['wgStylePath'],
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
+       ),
+       'skins.monobook.styles' => array(
+               'styles' => array(
+                       'monobook/main.css' => array( 'media' => 'screen' ),
                ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
@@ -1013,6 +1028,13 @@ return array(
        'mediawiki.special.changeslist' => array(
                'styles' => 'resources/mediawiki.special/mediawiki.special.changeslist.css',
        ),
+       'mediawiki.special.changeslist.js' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.changeslist.js',
+               'dependencies' => array(
+                       'jquery.makeCollapsible',
+                       'jquery.cookie',
+               ),
+       ),
        'mediawiki.special.changeslist.enhanced' => array(
                'styles' => 'resources/mediawiki.special/mediawiki.special.changeslist.enhanced.css',
        ),
@@ -1030,6 +1052,9 @@ return array(
                'skinStyles' => array(
                        'vector' => 'skins/vector/special.preferences.less',
                ),
+               'messages' => array(
+                       'prefs-tabs-navigation-hint',
+               ),
        ),
        'mediawiki.special.recentchanges' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.recentchanges.js',
@@ -1064,28 +1089,39 @@ return array(
                        'mediawiki.util',
                ),
        ),
-       'mediawiki.special.userlogin' => array(
+       'mediawiki.special.userlogin.common.styles' => array(
+               'styles' => array(
+                       'resources/mediawiki.special/mediawiki.special.userlogin.common.css',
+               ),
+               'position' => 'top',
+       ),
+       'mediawiki.special.userlogin.signup.styles' => array(
                'styles' => array(
-                       'resources/mediawiki.special/mediawiki.special.vforms.css',
-                       'resources/mediawiki.special/mediawiki.special.userLogin.css',
+                       'resources/mediawiki.special/mediawiki.special.userlogin.signup.css',
                ),
                'position' => 'top',
        ),
-       'mediawiki.special.createaccount' => array(
+       'mediawiki.special.userlogin.login.styles' => array(
                'styles' => array(
-                       'resources/mediawiki.special/mediawiki.special.vforms.css',
-                       'resources/mediawiki.special/mediawiki.special.createAccount.css',
+                       'resources/mediawiki.special/mediawiki.special.userlogin.login.css',
                ),
+               'position' => 'top',
        ),
-       'mediawiki.special.createaccount.js' => array(
-               'scripts' => 'resources/mediawiki.special/mediawiki.special.createAccount.js',
+       'mediawiki.special.userlogin.common.js' => array(
+               'scripts' => array(
+                       'resources/mediawiki.special/mediawiki.special.userlogin.common.js',
+               ),
                'messages' => array(
                        'createacct-captcha',
+                       'createacct-imgcaptcha-ph',
+               ),
+       ),
+       'mediawiki.special.userlogin.signup.js' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.userlogin.signup.js',
+               'messages' => array(
                        'createacct-emailrequired',
-                       'createacct-imgcaptcha-ph'
                ),
                'dependencies' => 'mediawiki.jqueryMsg',
-               'position' => 'top',
        ),
        'mediawiki.special.javaScriptTest' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.javaScriptTest.js',
@@ -1184,6 +1220,16 @@ return array(
                        'vector' => 'resources/mediawiki.ui/vector.less',
                ),
                'position' => 'top',
+               'targets' => array( 'desktop', 'mobile' ),
+       ),
+       // Lightweight module for button styles
+       'mediawiki.ui.button' => array(
+               'skinStyles' => array(
+                       'default' => 'resources/mediawiki.ui/components/default/buttons.less',
+                       'vector' => 'resources/mediawiki.ui/components/vector/buttons.less',
+               ),
+               'position' => 'top',
+               'targets' => array( 'desktop', 'mobile' ),
        ),
 
        /* OOJS */
@@ -1195,5 +1241,4 @@ return array(
                ),
                'targets' => array( 'desktop', 'mobile' ),
        ),
-
 );
index 28e2afc..3774d0c 100644 (file)
@@ -61,6 +61,16 @@ $.suggestions = {
                }
        },
 
+       /**
+        * Hide the element with suggestions and clean up some state.
+        */
+       hide: function ( context ) {
+               // Remove any highlights, including on "special" items
+               context.data.$container.find( '.suggestions-result-current' ).removeClass( 'suggestions-result-current' );
+               // Hide the container
+               context.data.$container.hide();
+       },
+
        /**
         * Restore the text the user originally typed in the textbox, before it
         * was overwritten by highlight(). This restores the value the currently
@@ -83,7 +93,7 @@ $.suggestions = {
                // if the textbox is empty then clear the result div, but leave other settings intouched
                function maybeFetch() {
                        if ( context.data.$textbox.val().length === 0 ) {
-                               context.data.$container.hide();
+                               $.suggestions.hide( context );
                                context.data.prevText = '';
                        } else if (
                                context.data.$textbox.val() !== context.data.prevText ||
@@ -147,7 +157,7 @@ $.suggestions = {
                                if ( context.data !== undefined ) {
                                        if ( context.data.$textbox.val().length === 0 ) {
                                                // Hide the div when no suggestion exist
-                                               context.data.$container.hide();
+                                               $.suggestions.hide( context );
                                        } else {
                                                // Rebuild the suggestions list
                                                context.data.$container.show();
@@ -399,7 +409,7 @@ $.suggestions = {
                                break;
                        // Escape
                        case 27:
-                               context.data.$container.hide();
+                               $.suggestions.hide( context );
                                $.suggestions.restore( context );
                                $.suggestions.cancel( context );
                                context.data.$textbox.trigger( 'change' );
@@ -407,9 +417,9 @@ $.suggestions = {
                                break;
                        // Enter
                        case 13:
-                               context.data.$container.hide();
                                preventDefault = wasVisible;
                                selected = context.data.$container.find( '.suggestions-result-current' );
+                               $.suggestions.hide( context );
                                if ( selected.length === 0 || context.data.selectedWithMouse ) {
                                        // if nothing is selected OR if something was selected with the mouse,
                                        // cancel any current requests and submit the form
@@ -530,7 +540,7 @@ $.fn.suggestions = function () {
                                                        // do not interfere with non-left clicks or if modifier keys are pressed (e.g. ctrl-click)
                                                        if ( !( e.which !== 1 || e.altKey || e.ctrlKey || e.shiftKey || e.metaKey ) ) {
                                                                $.suggestions.highlight( context, $result, true );
-                                                               context.data.$container.hide();
+                                                               $.suggestions.hide( context );
                                                                if ( typeof context.config.result.select === 'function' ) {
                                                                        context.config.result.select.call( $result, context.data.$textbox );
                                                                }
@@ -557,7 +567,7 @@ $.fn.suggestions = function () {
                                                        }
                                                        // do not interfere with non-left clicks or if modifier keys are pressed (e.g. ctrl-click)
                                                        if ( !( e.which !== 1 || e.altKey || e.ctrlKey || e.shiftKey || e.metaKey ) ) {
-                                                               context.data.$container.hide();
+                                                               $.suggestions.hide( context );
                                                                if ( typeof context.config.special.select === 'function' ) {
                                                                        context.config.special.select.call( $special, context.data.$textbox );
                                                                }
@@ -617,7 +627,7 @@ $.fn.suggestions = function () {
                                        if ( context.data.mouseDownOn.length > 0 ) {
                                                return;
                                        }
-                                       context.data.$container.hide();
+                                       $.suggestions.hide( context );
                                        $.suggestions.cancel( context );
                                } );
                }
index ce3c674..9b27e24 100644 (file)
@@ -3,6 +3,10 @@
  *
  * Add an expand/collapse link and collapse by default if set to
  * (with JS disabled, user will see all items)
+ *
+ * See also:
+ * - ImagePage.php#makeMetadataTable (creates the HTML)
+ * - skins/common/shared.css (hides tr.collapsable inside table.collapsed)
  */
 ( function ( mw, $ ) {
        $( function () {
@@ -12,7 +16,7 @@
                        $table = $( '#mw_metadata' ),
                        $tbody = $table.find( 'tbody' );
 
-               if ( !$tbody.length ) {
+               if ( !$tbody.length || !$tbody.find( '.collapsable' ).length ) {
                        return;
                }
 
index 19a715b..c55c25c 100644 (file)
@@ -40,7 +40,5 @@
 
 .transition(@string) {
        -webkit-transition: @string;
-       -moz-transition: @string;
-       -o-transition: @string;
        transition: @string;
 }
index 2242924..b3ed88c 100644 (file)
@@ -1,10 +1,16 @@
-/* This is JsJpegMeta 1.0, ported to MediaWiki ResourceLoader by Bryan Tong Minh */
-/* The following lines where changed with respect to the original: 54, 625-627 */
+/**
+ * This is JsJpegMeta v1.0
+ * From: https://code.google.com/p/jsjpegmeta/downloads/list
+ * From: https://github.com/bennoleslie/jsjpegmeta/blob/v1.0.0/jpegmeta.js
+ *
+ * Ported to MediaWiki ResourceLoader by Bryan Tong Minh
+ * Changes:
+ * - Add closure.
+ * - Add this.JpegMeta assignment to expose it as global.
+ * - Add mw.libs.jpegmeta wrapper.
+ */
 
-(function( $ ) {
-
-       /* JsJpegMeta starts here */
-       
+( function () {
        /*
        Copyright (c) 2009 Ben Leslie
        
@@ -52,7 +58,8 @@
        */
 
        var JpegMeta = {};
-       this.JpegMeta = JpegMeta; // I have no clue why I need this magic... -- Bryan
+       // MediaWiki: Expose as global
+       this.JpegMeta = JpegMeta;
        
        /* 
           parse an unsigned number of size bytes at offset in some binary string data.
                }
            }
        };
-       
-       /* JsJpegMeta ends here */
 
+       // MediaWiki: Add mw.libs wrapper
        mw.libs.jpegmeta = function( fileReaderResult, fileName ) {
                return new JpegMeta.JpegFile( fileReaderResult, fileName );
        };
 
-} )( jQuery );
+}() );
index 3846681..e354106 100644 (file)
                mw.util.init();
 
                /**
+                * Fired when wiki content is being added to the DOM
+                *
+                * It is encouraged to fire it before the main DOM is changed (when $content
+                * is still detatched).  However, this order is not defined either way, so you
+                * should only rely on $content itself.
+                *
+                * This includes the ready event on a page load (including post-edit loads)
+                * and when content has been previewed with LivePreview.
+                *
                 * @event wikipage_content
                 * @member mw.hook
-                * @param {jQuery} $content
+                * @param {jQuery} $content The most appropriate element containing the content,
+                *   such as #mw-content-text (regular content root) or #wikiPreview (live preview
+                *   root)
                 */
                mw.hook( 'wikipage.content' ).fire( $( '#mw-content-text' ) );
        } );
index e9afa4a..ef287c4 100644 (file)
                        .attr( 'title', mw.msg( 'tooltip-ca-' + action ) +
                                ( accesskeyTip ? ' ' + accesskeyTip[0] : '' )
                        )
-                       .attr( 'href', mw.util.wikiScript() + '?' + $.param({
+                       .attr( 'href', mw.util.wikiScript() + '?' + $.param( {
                                        title: title,
                                        action: action
-                               })
+                               } )
                        );
 
                // Most common ID style
                        updateWatchLink( $link, action, 'loading' );
 
                        api = new mw.Api();
-                       api[action](
-                               title,
-                               // Success
-                               function ( watchResponse ) {
-                                       var $li, otherAction;
-
-                                       otherAction = action === 'watch' ? 'unwatch' : 'watch';
-                                       $li = $link.closest( 'li' );
-
-                                       mw.notify( $.parseHTML( watchResponse.message ), {
-                                               tag: 'watch-self'
-                                       } );
-
-                                       // Set link to opposite
-                                       updateWatchLink( $link, otherAction );
-
-                                       // Bug 12395 - update the watch checkbox on edit pages when the
-                                       // page is watched or unwatched via the tab.
-                                       if ( watchResponse.watched !== undefined ) {
-                                               $( '#wpWatchthis' ).prop( 'checked', true );
-                                       } else {
-                                               $( '#wpWatchthis' ).prop( 'checked', false );
-                                       }
-                               },
-                               // Error
-                               function () {
-                                       var cleanTitle, msg, link;
-
-                                       // Reset link to non-loading mode
-                                       updateWatchLink( $link, action );
-
-                                       // Format error message
-                                       cleanTitle = title.replace( /_/g, ' ' );
-                                       link = mw.html.element(
-                                               'a', {
-                                                       href: mw.util.getUrl( title ),
-                                                       title: cleanTitle
-                                               }, cleanTitle
-                                       );
-                                       msg = mw.message( 'watcherrortext', link );
-
-                                       // Report to user about the error
-                                       mw.notify( msg, { tag: 'watch-self' } );
+                       api[action]( title )
+                       .done( function ( watchResponse ) {
+                               var otherAction;
 
+                               otherAction = action === 'watch' ? 'unwatch' : 'watch';
+
+                               mw.notify( $.parseHTML( watchResponse.message ), {
+                                       tag: 'watch-self'
+                               } );
+
+                               // Set link to opposite
+                               updateWatchLink( $link, otherAction );
+
+                               // Bug 12395 - update the watch checkbox on edit pages when the
+                               // page is watched or unwatched via the tab.
+                               if ( watchResponse.watched !== undefined ) {
+                                       $( '#wpWatchthis' ).prop( 'checked', true );
+                               } else {
+                                       $( '#wpWatchthis' ).prop( 'checked', false );
                                }
-                       );
+                       } )
+                       .fail( function () {
+                               var cleanTitle, msg, link;
+
+                               // Reset link to non-loading mode
+                               updateWatchLink( $link, action );
+
+                               // Format error message
+                               cleanTitle = title.replace( /_/g, ' ' );
+                               link = mw.html.element(
+                                       'a', {
+                                               href: mw.util.getUrl( title ),
+                                               title: cleanTitle
+                                       }, cleanTitle
+                               );
+                               msg = mw.message( 'watcherrortext', link );
+
+                               // Report to user about the error
+                               mw.notify( msg, { tag: 'watch-self' } );
+                       } );
                } );
        } );
 
index b96a26e..b1af745 100644 (file)
        border: 1px solid #ddd;
 }
 
+.mw-changeslist-legend dl {
+       /* Parent element defines sufficient padding */
+       margin-bottom: 0;
+}
+
 .mw-changeslist-legend dt {
        float: left;
 }
diff --git a/resources/mediawiki.special/mediawiki.special.changeslist.js b/resources/mediawiki.special/mediawiki.special.changeslist.js
new file mode 100644 (file)
index 0000000..df606f5
--- /dev/null
@@ -0,0 +1,21 @@
+/* Remember the collapse state of the legend on recent changes and watchlist pages. */
+jQuery( document ).ready( function ( $ ) {
+       var
+               cookieName = 'changeslist-state',
+               cookieOptions = {
+                       expires: 30,
+                       path: '/'
+               },
+               isCollapsed = $.cookie( cookieName ) === 'collapsed';
+
+       $( '.mw-changeslist-legend' )
+               .makeCollapsible( {
+                       collapsed: isCollapsed
+               } )
+               .on( 'beforeExpand.mw-collapsible', function () {
+                       $.cookie( cookieName, 'expanded', cookieOptions );
+               } )
+               .on( 'beforeCollapse.mw-collapsible', function () {
+                       $.cookie( cookieName, 'collapsed', cookieOptions );
+               } );
+} );
diff --git a/resources/mediawiki.special/mediawiki.special.createAccount.css b/resources/mediawiki.special/mediawiki.special.createAccount.css
deleted file mode 100644 (file)
index 11d00e7..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Disable the underline that Vector puts on h2 headings, and bold them. */
-.mw-ui-container h2 {
-       border: 0;
-       font-weight: bold;
-}
-
-/**** shuffled CAPTCHA ****/
-#wpCaptchaWord {
-       margin-top: 6px;
-}
-
-.mw-createacct-captcha-container {
-       background-color: #f8f8f8;
-       border: 1px solid #c9c9c9;
-       padding: 10px;
-       text-align: center;
-}
-
-.mw-createacct-captcha-assisted {
-       display: block;
-       margin-top: 0.5em;
-}
-
-/* Put a border around the fancycaptcha-image-container. */
-.mw-createacct-captcha-and-reload {
-       border: 1px solid #c9c9c9;
-       display: table-cell; /* Other display formats end up too wide */
-       width: 270px;
-       background-color: #FFF;
-}
-
-/* Make the fancycaptcha-image-container full-width within its parent.  */
-.fancycaptcha-image-container
-{
-       width: 100%;
-}
-
-/**** Benefits column CSS to the right (if it fits) of the form. ****/
-.mw-ui-container #userloginForm {
-       float: left;
-}
-
-div.mw-createacct-benefits-container {
-       /* Keeps this column compact and close to the form, but tends to squish contents. */
-       float: left;
-}
-
-div.mw-createacct-benefits-container h2 {
-       margin-bottom: 30px;
-}
-
-.mw-number-text.icon-edits {
-       /* @embed */
-       background: url(images/icon-edits.png) no-repeat left center;
-}
-
-.mw-number-text.icon-pages {
-       /* @embed */
-       background: url(images/icon-pages.png) no-repeat left center;
-}
-
-.mw-number-text.icon-contributors {
-       /* @embed */
-       background: url(images/icon-contributors.png) no-repeat left center;
-}
-
-/* Special font for numbers in benefits*/
-div.mw-number-text h3 {
-       top: 0;
-       margin: 0;
-       padding: 0;
-       color: #252525;
-       font-family: 'Georgia', serif;
-       font-weight: normal;
-       font-size: 2.2em;
-       line-height: 1.2;
-       text-align: center;
-}
-
-/* Contains a number and explanatory text, with space for an icon */
-div.mw-number-text {
-       display: block;
-       font-size: 1.2em;
-       color: #444;
-       margin-top: 1em;
-       padding: 0 0 0 95px; /* 80px wide icon plus "margin" */
-       min-height: 75px; /* matches max icon height, ensures icon emblem is visible */
-       text-align: center;
-}
diff --git a/resources/mediawiki.special/mediawiki.special.createAccount.js b/resources/mediawiki.special/mediawiki.special.createAccount.js
deleted file mode 100644 (file)
index 609b2dd..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * JavaScript for Create account form (Special:UserLogin?type=signup).
- */
-( function ( mw, $ ) {
-       // When sending password by email, hide the password input fields.
-       // This function doesn't need to be loaded early by ResourceLoader, but is tiny.
-       function hidePasswordOnEmail() {
-               // Always required if checked, otherwise it depends, so we use the original
-               var $emailLabel = $( 'label[for="wpEmail"]' ),
-                       originalText = $emailLabel.text(),
-                       requiredText = mw.message( 'createacct-emailrequired' ).text(),
-                       $createByMailCheckbox = $( '#wpCreateaccountMail' ),
-                       $beforePwds = $( '.mw-row-password:first' ).prev(),
-                       $pwds;
-
-               function updateForCheckbox() {
-                       var checked = $createByMailCheckbox.prop( 'checked' );
-                       if ( checked ) {
-                               $pwds = $( '.mw-row-password' ).detach();
-                               $emailLabel.text( requiredText );
-                       } else {
-                               if ( $pwds ) {
-                                       $beforePwds.after( $pwds );
-                                       $pwds = null;
-                               }
-                               $emailLabel.text( originalText );
-                       }
-               }
-
-               $createByMailCheckbox.on( 'change', updateForCheckbox );
-               updateForCheckbox();
-       }
-
-       // Move the FancyCaptcha image into a more attractive container.
-       // This function does need to be run early by ResourceLoader.
-       function adjustFancyCaptcha( $content, buttonSubmit ) {
-               var $submit = $content.find( buttonSubmit ),
-                       tabIndex,
-                       $captchaStuff,
-                       $captchaImageContainer,
-                       // JavaScript can't yet parse the message createacct-imgcaptcha-help when it
-                       // contains a MediaWiki transclusion, so PHP parses it and sends the HTML.
-                       helpMsg = mw.config.get( 'wgCreateacctImgcaptchaHelp' ),
-                       helpHtml = '';
-
-               /*
-                * CAPTCHA
-                * The CAPTCHA is in a div style="captcha" at the top of the form.
-                * If it's a FancyCaptcha, then we remove it and insert it lower down,
-                * in a customized div with just what we need (e.g. no
-                * fancycaptcha-createaccount message).
-                */
-               if ( !$submit.length) {
-                       return;
-               }
-               tabIndex = $submit.prop( 'tabindex' ) - 1;
-               $captchaStuff = $content.find ( '.captcha' );
-
-               if ( $captchaStuff.length ) {
-
-                       // The FancyCaptcha has this class in the ConfirmEdit extension
-                       // after 2013-04-18.
-                       $captchaImageContainer = $captchaStuff.find( '.fancycaptcha-image-container' );
-                       if ( $captchaImageContainer.length !== 1 ) {
-                               return;
-                       }
-
-                       $captchaStuff.remove();
-
-                       if ( helpMsg) {
-                               helpHtml = '<small class="mw-createacct-captcha-assisted">' + helpMsg + '</small>';
-                       }
-
-                       // Insert another div before the submit button that will include the
-                       // repositioned FancyCaptcha div, an input field, and possible help.
-                       $submit.closest( 'div' )
-                               .before( [
-                       '<div>',
-                               '<label for="wpCaptchaWord">' + mw.message( 'createacct-captcha' ).escaped() + '</label>',
-                               '<div class="mw-createacct-captcha-container">',
-                                       '<div class="mw-createacct-captcha-and-reload" />',
-                                       '<input id="wpCaptchaWord" name="wpCaptchaWord" type="text" placeholder="' +
-                                               mw.message( 'createacct-imgcaptcha-ph' ).escaped() +
-                                               '" tabindex="' + tabIndex + '" autocapitalize="off" autocorrect="off">',
-                                               helpHtml,
-                               '</div>',
-                       '</div>'
-                                       ].join( '' )
-                               );
-
-                       // Stick the FancyCaptcha container inside our bordered and framed parents.
-                       $captchaImageContainer
-                               .prependTo( $content.find( '.mw-createacct-captcha-and-reload' ) );
-
-                       // Find the input field, add the text (if any) of the existing CAPTCHA
-                       // field (although usually it's blanked out on every redisplay),
-                       // and after it move over the hidden field that tells the CAPTCHA
-                       // what to do.
-                       $content.find( '#wpCaptchaWord' )
-                               .val( $captchaStuff.find( '#wpCaptchaWord' ).val() )
-                               .after( $captchaStuff.find( '#wpCaptchaId' ) );
-               }
-       }
-
-       $( function () {
-               // Checks if the current page is Special:UserLogin
-               var isLogin = false,
-                       $content = $( '#mw-content-text' ),
-                       buttonSubmit = '#wpCreateaccount';
-
-               if ( $content.find( buttonSubmit ).length === 0 ) {
-                       buttonSubmit = '#wpLoginAttempt';
-                       isLogin = true;
-               }
-
-               adjustFancyCaptcha( $content, buttonSubmit );
-
-               if ( !isLogin ) {
-                       hidePasswordOnEmail();
-               }
-
-       } );
-
-}( mediaWiki, jQuery ) );
index 3cd9739..7b1d416 100644 (file)
@@ -38,7 +38,7 @@ tr.mw-block-hideuser {
 
 /**** Special:BlockList ****/
 table.mw-blocklist span.mw-usertoollinks,
-span.mw-blocklist-actions{
+span.mw-blocklist-actions {
        white-space: nowrap;
        font-size: 90%;
 }
index 161efde..75ae5ca 100644 (file)
@@ -9,3 +9,13 @@
 /*
 .mw-email-authenticated .mw-input { }
 */
+
+/**
+ * Hide, but keep accessible for screen-readers.
+ * Like .mw-jump, #jump-to-nav from skins/common/shared.css
+ */
+.mw-navigation-hint {
+       overflow: hidden;
+       height: 0;
+       zoom: 1;
+}
index 03d93d0..3302ec6 100644 (file)
@@ -3,22 +3,45 @@
  */
 jQuery( function ( $ ) {
        var $preftoc, $preferences, $fieldsets, $legends,
-               hash,
+               hash, labelFunc,
                $tzSelect, $tzTextbox, $localtimeHolder, servertime;
 
-       $( '#prefsubmit' ).attr( 'id', 'prefcontrol' );
+       labelFunc = function () {
+               return this.id.replace( /^mw-prefsection/g, 'preftab' );
+       };
 
-       $preftoc = $('<ul id="preftoc"></ul>');
+       $( '#prefsubmit' ).attr( 'id', 'prefcontrol' );
+       $preftoc = $('<ul id="preftoc"></ul>')
+               .attr( 'role', 'tablist' );
        $preferences = $( '#preferences' )
                .addClass( 'jsprefs' )
                .before( $preftoc );
        $fieldsets = $preferences.children( 'fieldset' )
                .hide()
+               .attr( {
+                       role: 'tabpanel',
+                       'aria-hidden': 'true',
+                       'aria-labelledby': labelFunc
+               } )
                .addClass( 'prefsection' );
        $legends = $fieldsets
                .children( 'legend' )
                .addClass( 'mainLegend' );
 
+       // Make sure the accessibility tip is selectable so that screen reader users take notice,
+       // but hide it per default to reduce interface clutter. Also make sure it becomes visible
+       // when selected. Similar to jquery.mw-jump
+       $( '<div>' ).addClass( 'mw-navigation-hint' )
+               .text( mediaWiki.msg( 'prefs-tabs-navigation-hint' ) )
+               .attr( 'tabIndex', 0 )
+               .on( 'focus blur', function( e ) {
+                       if ( e.type === 'blur' || e.type === 'focusout' ) {
+                               $( this ).css( 'height', '0' );
+                       } else {
+                               $( this ).css( 'height', 'auto' );
+                       }
+       } ).insertBefore( $preftoc );
+
        /**
         * It uses document.getElementById for security reasons (HTML injections in $()).
         *
@@ -36,12 +59,23 @@ jQuery( function ( $ ) {
                }
                $( window ).scrollTop( scrollTop );
 
-               $preftoc.find( 'li' ).removeClass( 'selected' );
+               $preftoc.find( 'li' ).removeClass( 'selected' )
+                       .find( 'a' ).attr( {
+                               tabIndex: -1,
+                               'aria-selected': 'false'
+                       } );
+
                $tab = $( document.getElementById( 'preftab-' + name ) );
                if ( $tab.length ) {
-                       $tab.parent().addClass( 'selected' );
-                       $preferences.children( 'fieldset' ).hide();
-                       $( document.getElementById( 'mw-prefsection-' + name ) ).show();
+                       $tab.attr( {
+                               tabIndex: 0,
+                               'aria-selected': 'true'
+                       } )
+                       .focus()
+                               .parent().addClass( 'selected' );
+
+                       $preferences.children( 'fieldset' ).hide().attr( 'aria-hidden', 'true' );
+                       $( document.getElementById( 'mw-prefsection-' + name ) ).show().attr( 'aria-hidden', 'false' );
                }
        }
 
@@ -55,17 +89,40 @@ jQuery( function ( $ ) {
                ident = $legend.parent().attr( 'id' );
 
                $li = $( '<li>' )
+                       .attr( 'role', 'presentation' )
                        .addClass( i === 0 ? 'selected' : '' );
                $a = $( '<a>' )
                        .attr( {
                                id: ident.replace( 'mw-prefsection', 'preftab' ),
-                               href: '#' + ident
+                               href: '#' + ident,
+                               role: 'tab',
+                               tabIndex: i === 0 ? 0 : -1,
+                               'aria-selected': i === 0 ? 'true' : 'false',
+                               'aria-controls': ident
                        } )
                        .text( $legend.text() );
                $li.append( $a );
                $preftoc.append( $li );
        } );
 
+       // Enable keyboard users to use left and right keys to switch tabs
+       $preftoc.on( 'keydown', function( event ) {
+               var keyLeft = 37,
+                       keyRight = 39,
+                       $el;
+
+               if( event.keyCode === keyLeft ) {
+                       $el = $( '#preftoc li.selected' ).prev().find( 'a' );
+               } else if ( event.keyCode === keyRight ) {
+                       $el = $( '#preftoc li.selected' ).next().find( 'a' );
+               } else {
+                       return;
+               }
+               if ( $el.length > 0 ) {
+                       switchPrefTab( $el.attr( 'href' ).replace( '#mw-prefsection-', '' ) );
+               }
+       } );
+
        // If we've reloaded the page or followed an open-in-new-window,
        // make the selected tab visible.
        hash = window.location.hash;
diff --git a/resources/mediawiki.special/mediawiki.special.userLogin.css b/resources/mediawiki.special/mediawiki.special.userLogin.css
deleted file mode 100644 (file)
index cf9eaa0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Styles just for VForm user login */
-#mw-userlogin-help {
-       text-align: center;
-}
-
-.mw-ui-vform .mw-secure {
-       /* @embed */
-       background: url(images/icon-lock.png) no-repeat scroll left center transparent;
-       margin: 0 0 0 1px;
-       padding: 0 0 0 11px;
-}
-
-/* The login form invites users to create an account */
-#mw-createaccount-cta {
-       width: 20em;
-       height: 10em;
-       /* @embed */
-       background: url(images/glyph-people-large.png) no-repeat 50%;
-       margin: 0 auto;
-}
-
-#mw-createaccount-cta h3,
-#mw-createaccount-another h3 {
-       font-size: 0.9em;
-       font-weight: normal;
-       text-align: center;
-}
-
-#mw-createaccount-cta h3 {
-       padding-top: 4em;
-}
-
-#mw-createaccount-join {
-       margin-left: 0.75em;
-       /* Separate from background image */
-       box-shadow: 4px 4px 4px 4px rgba(255, 255, 255, 1);
-       width: auto;
-       display: inline-block;
-}
-
-/**** shuffled CAPTCHA ****/
-#wpCaptchaWord {
-       margin-top: 6px;
-}
-
-.mw-createacct-captcha-container {
-       background-color: #f8f8f8;
-       border: 1px solid #c9c9c9;
-       padding: 10px;
-       text-align: center;
-}
-
-.mw-createacct-captcha-assisted {
-       display: block;
-       margin-top: 0.5em;
-}
-
-/* Put a border around the fancycaptcha-image-container. */
-.mw-createacct-captcha-and-reload {
-       border: 1px solid #c9c9c9;
-       display: table-cell; /* Other display formats end up too wide */
-       width: 270px;
-       background-color: #FFF;
-}
-
-/* Make the fancycaptcha-image-container full-width within its parent.  */
-.fancycaptcha-image-container
-{
-       width: 100%;
-}
diff --git a/resources/mediawiki.special/mediawiki.special.userlogin.common.css b/resources/mediawiki.special/mediawiki.special.userlogin.common.css
new file mode 100644 (file)
index 0000000..d5fd2b8
--- /dev/null
@@ -0,0 +1,65 @@
+/* Styles for user login and signup forms */
+#mw-userlogin-help {
+       text-align: center;
+}
+
+.mw-ui-vform .mw-secure {
+       /* @embed */
+       background: url(images/icon-lock.png) no-repeat scroll left center transparent;
+       margin: 0 0 0 1px;
+       padding: 0 0 0 11px;
+}
+
+/*
+ * When inside the VForm style, disable the border that Vector and other skins
+ * put on the div surrounding the login/create account form.
+ * Also disable the margin and padding that Vector puts around the form.
+ */
+.mw-ui-container #userloginForm,
+.mw-ui-container #userlogin {
+       border: 0;
+       margin: 0;
+       padding: 0;
+}
+
+/* Reposition and resize language links, which appear on a per-wiki basis */
+.mw-ui-container #languagelinks {
+       margin-bottom: 2em;
+       font-size: 0.8em;
+}
+
+/* Put some space under template's header, which may contain CAPTCHA HTML.*/
+section.mw-form-header {
+       margin-bottom: 10px;
+}
+
+/**** shuffled CAPTCHA ****/
+#wpCaptchaWord {
+       margin-top: 6px;
+}
+
+.mw-createacct-captcha-container {
+       background-color: #f8f8f8;
+       border: 1px solid #c9c9c9;
+       padding: 10px;
+       text-align: center;
+}
+
+.mw-createacct-captcha-assisted {
+       display: block;
+       margin-top: 0.5em;
+}
+
+/* Put a border around the fancycaptcha-image-container. */
+.mw-createacct-captcha-and-reload {
+       border: 1px solid #c9c9c9;
+       /* Other display formats end up too wide */
+       display: table-cell;
+       width: 270px;
+       background-color: #FFF;
+}
+
+/* Make the fancycaptcha-image-container full-width within its parent. */
+.fancycaptcha-image-container {
+       width: 100%;
+}
diff --git a/resources/mediawiki.special/mediawiki.special.userlogin.common.js b/resources/mediawiki.special/mediawiki.special.userlogin.common.js
new file mode 100644 (file)
index 0000000..a899ae7
--- /dev/null
@@ -0,0 +1,72 @@
+/**
+ * JavaScript for login and signup forms.
+ */
+( function ( mw, $ ) {
+       // Move the FancyCaptcha image into a more attractive container.
+       // The CAPTCHA is in a <div class="captcha"> at the top of the form. If it's a FancyCaptcha,
+       // then we remove it and insert it lower down, in a customized div with just what we need (e.g.
+       // no 'fancycaptcha-createaccount' message).
+       function adjustFancyCaptcha( $content, buttonSubmit ) {
+               var $submit = $content.find( buttonSubmit ),
+                       tabIndex,
+                       $captchaStuff,
+                       $captchaImageContainer,
+                       // JavaScript can't yet parse the message 'createacct-imgcaptcha-help' when it
+                       // contains a MediaWiki transclusion, so PHP parses it and sends the HTML.
+                       // This is only set for the signup form (and undefined for login).
+                       helpMsg = mw.config.get( 'wgCreateacctImgcaptchaHelp' ),
+                       helpHtml = '';
+
+               if ( !$submit.length ) {
+                       return;
+               }
+               tabIndex = $submit.prop( 'tabindex' ) - 1;
+               $captchaStuff = $content.find( '.captcha' );
+
+               if ( $captchaStuff.length ) {
+                       // The FancyCaptcha has this class in the ConfirmEdit extension since 2013-04-18.
+                       $captchaImageContainer = $captchaStuff.find( '.fancycaptcha-image-container' );
+                       if ( $captchaImageContainer.length !== 1 ) {
+                               return;
+                       }
+
+                       $captchaStuff.remove();
+
+                       if ( helpMsg ) {
+                               helpHtml = '<small class="mw-createacct-captcha-assisted">' + helpMsg + '</small>';
+                       }
+
+                       // Insert another div before the submit button that will include the
+                       // repositioned FancyCaptcha div, an input field, and possible help.
+                       $submit.closest( 'div' ).before( [
+                               '<div>',
+                                       '<label for="wpCaptchaWord">' + mw.message( 'createacct-captcha' ).escaped() + '</label>',
+                                       '<div class="mw-createacct-captcha-container">',
+                                               '<div class="mw-createacct-captcha-and-reload" />',
+                                               '<input id="wpCaptchaWord" name="wpCaptchaWord" type="text" placeholder="' +
+                                                       mw.message( 'createacct-imgcaptcha-ph' ).escaped() +
+                                                       '" tabindex="' + tabIndex + '" autocapitalize="off" autocorrect="off">',
+                                                       helpHtml,
+                                       '</div>',
+                               '</div>'
+                       ].join( '' ) );
+
+                       // Stick the FancyCaptcha container inside our bordered and framed parents.
+                       $captchaImageContainer
+                               .prependTo( $content.find( '.mw-createacct-captcha-and-reload' ) );
+
+                       // Find the input field, add the text (if any) of the existing CAPTCHA
+                       // field (although usually it's blanked out on every redisplay),
+                       // and after it move over the hidden field that tells the CAPTCHA
+                       // what to do.
+                       $content.find( '#wpCaptchaWord' )
+                               .val( $captchaStuff.find( '#wpCaptchaWord' ).val() )
+                               .after( $captchaStuff.find( '#wpCaptchaId' ) );
+               }
+       }
+
+       $( function () {
+               // Work with both login and signup form
+               adjustFancyCaptcha( $( '#mw-content-text' ), '#wpCreateaccount, #wpLoginAttempt' );
+       } );
+}( mediaWiki, jQuery ) );
diff --git a/resources/mediawiki.special/mediawiki.special.userlogin.login.css b/resources/mediawiki.special/mediawiki.special.userlogin.login.css
new file mode 100644 (file)
index 0000000..85730f5
--- /dev/null
@@ -0,0 +1,27 @@
+/* The login form invites users to create an account */
+#mw-createaccount-cta {
+       width: 20em;
+       height: 10em;
+       /* @embed */
+       background: url(images/glyph-people-large.png) no-repeat 50%;
+       margin: 0 auto;
+}
+
+#mw-createaccount-cta h3,
+#mw-createaccount-another h3 {
+       font-size: 0.9em;
+       font-weight: normal;
+       text-align: center;
+}
+
+#mw-createaccount-cta h3 {
+       padding-top: 4em;
+}
+
+#mw-createaccount-join {
+       margin-left: 0.75em;
+       /* Separate from background image */
+       box-shadow: 4px 4px 4px 4px rgba(255, 255, 255, 1);
+       width: auto;
+       display: inline-block;
+}
diff --git a/resources/mediawiki.special/mediawiki.special.userlogin.signup.css b/resources/mediawiki.special/mediawiki.special.userlogin.signup.css
new file mode 100644 (file)
index 0000000..1564712
--- /dev/null
@@ -0,0 +1,63 @@
+/* Disable the underline that Vector puts on h2 headings, and bold them. */
+.mw-ui-container h2 {
+       border: 0;
+       font-weight: bold;
+}
+
+/* Benefits column CSS to the right (if it fits) of the form. */
+.mw-ui-container #userloginForm {
+       float: left;
+       /* Override the right margin of the form to give space in case a benefits
+        * column appears to the side. */
+       margin-right: 100px;
+}
+
+div.mw-createacct-benefits-container {
+       /* Keeps this column compact and close to the form, but tends to squish contents. */
+       float: left;
+}
+
+div.mw-createacct-benefits-container h2 {
+       margin-bottom: 30px;
+}
+
+.mw-number-text.icon-edits {
+       /* @embed */
+       background: url(images/icon-edits.png) no-repeat left center;
+}
+
+.mw-number-text.icon-pages {
+       /* @embed */
+       background: url(images/icon-pages.png) no-repeat left center;
+}
+
+.mw-number-text.icon-contributors {
+       /* @embed */
+       background: url(images/icon-contributors.png) no-repeat left center;
+}
+
+/* Special font for numbers in benefits*/
+div.mw-number-text h3 {
+       top: 0;
+       margin: 0;
+       padding: 0;
+       color: #252525;
+       font-family: 'Georgia', serif;
+       font-weight: normal;
+       font-size: 2.2em;
+       line-height: 1.2;
+       text-align: center;
+}
+
+/* Contains a number and explanatory text, with space for an icon */
+div.mw-number-text {
+       display: block;
+       font-size: 1.2em;
+       color: #444;
+       margin-top: 1em;
+       /* 80px wide icon plus "margin" */
+       padding: 0 0 0 95px;
+       /* Matches max icon height, ensures icon emblem is visible */
+       min-height: 75px;
+       text-align: center;
+}
diff --git a/resources/mediawiki.special/mediawiki.special.userlogin.signup.js b/resources/mediawiki.special/mediawiki.special.userlogin.signup.js
new file mode 100644 (file)
index 0000000..c293f65
--- /dev/null
@@ -0,0 +1,34 @@
+/**
+ * JavaScript for signup form.
+ */
+( function ( mw, $ ) {
+       // When sending password by email, hide the password input fields.
+       function hidePasswordOnEmail() {
+               // Always required if checked, otherwise it depends, so we use the original
+               var $emailLabel = $( 'label[for="wpEmail"]' ),
+                       originalText = $emailLabel.text(),
+                       requiredText = mw.message( 'createacct-emailrequired' ).text(),
+                       $createByMailCheckbox = $( '#wpCreateaccountMail' ),
+                       $beforePwds = $( '.mw-row-password:first' ).prev(),
+                       $pwds;
+
+               function updateForCheckbox() {
+                       var checked = $createByMailCheckbox.prop( 'checked' );
+                       if ( checked ) {
+                               $pwds = $( '.mw-row-password' ).detach();
+                               $emailLabel.text( requiredText );
+                       } else {
+                               if ( $pwds ) {
+                                       $beforePwds.after( $pwds );
+                                       $pwds = null;
+                               }
+                               $emailLabel.text( originalText );
+                       }
+               }
+
+               $createByMailCheckbox.on( 'change', updateForCheckbox );
+               updateForCheckbox();
+       }
+
+       $( hidePasswordOnEmail );
+}( mediaWiki, jQuery ) );
diff --git a/resources/mediawiki.special/mediawiki.special.vforms.css b/resources/mediawiki.special/mediawiki.special.vforms.css
deleted file mode 100644 (file)
index 768a9c6..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * When inside the VForm style, disable the border that Vector and other skins
- * put on the div surrounding the login/create account form.
- * Also disable the margin and padding that Vector puts around the form.
- */
-.mw-ui-container #userloginForm,
-.mw-ui-container #userlogin {
-       border: 0;
-       margin: 0;
-       padding: 0;
-}
-
-/* Reposition and resize language links, which appear on a per-wiki basis */
-.mw-ui-container #languagelinks {
-       margin-bottom: 2em;
-       font-size: 0.8em;
-}
-
-/* Put some space under template's header, which may contain CAPTCHA HTML.*/
-section.mw-form-header {
-       margin-bottom: 10px;
-}
-
-/*
- * Styles for information boxes.
- */
-.mw-ui-vform .errorbox,
-.mw-ui-vform .warningbox,
-.mw-ui-vform .successbox {
-       -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       box-sizing: border-box;
-       font-size: 0.9em;
-       margin: 0 0 1em 0;
-       padding: 0.5em;
-       word-wrap: break-word;
-}
-
-/*
- * Override the right margin of the form to give space in case a benefits
- * column appears to the side.
- *
- */
-.mw-ui-container #userloginForm {
-       margin-right: 100px;
-}
index a931756..3dc13c5 100644 (file)
@@ -1,9 +1,21 @@
 @import "../../settings/typography";
 @import "../../mixins/effects";
 
+// Buttons
+//
+// Styleguide 2.
+
 @buttonBorderRadius: 3px;
 
 // Button styling
+//
+// Basic button styling to be used on desktop skins. Can be any element.
+// Due to a lack of a CSS reset, the exact styling of the button depends on what type of element is used.
+//
+// Markup:
+// <div class="mw-ui-button">button.mw-ui-button</div>
+//
+// Styleguide 2.1.
 .mw-ui-button {
        // Container layout
        display: inline-block;
@@ -54,6 +66,18 @@ a.mw-ui-button {
 }
 
 // Button groups
+//
+// Group of buttons. Make sure you clear the floating after using a mw-ui-button-group.
+//
+// Markup:
+// <div class="mw-ui-button-group">
+//   <div class="mw-ui-button">A</div>
+//   <div class="mw-ui-button">B</div>
+//   <div class="mw-ui-button">C</div>
+//   <div class="mw-ui-button">D</div>
+// </div><div style="clear:both"></div>
+//
+// Styleguide 2.2.
 .mw-ui-button-group > * {
        border-radius: 0;
        float: left;
index d2554c6..66f4487 100644 (file)
 @captchaContainerWidth: 290px;
 @defaultFormWidth: @captchaContainerWidth;
 
+// Forms
+//
+// Styleguide 3.
+
+// VForm
+//
 // Style a compact vertical stacked form ("VForm") and the elements in divs
-// within it.
+// within it. See button section on guidance of how and when to use mw-ui-constructive.
+//
+// Markup:
+// <form class="mw-ui-vform">
+//   <div class="mw-ui-vform-div">This is a form example.</div>
+//   <div>
+//     <label>Username </label>
+//     <input value="input">
+//   </div>
+//   <div>
+//     <button class="mw-ui-button mw-ui-constructive">Button in vform</button>
+//   </div>
+// </form>
+//
+// Styleguide 3.1.
 .mw-ui-vform {
        .box-sizing(border-box);
 
 
        }
 
-       // HTMLForm uses error, SpecialUserlogin (login and create account) uses
-       // errorbox.
-       // TODO move errorbox from mediawiki.special.vforms.css into here.
+       // Styles for information boxes
+       //
+       // Regular HTMLForm uses .error class, some special pages like
+       // SpecialUserlogin (login and create account) use .errorbox.
+       //
+       // Markup:
+       // <form class="mw-ui-vform">
+       //   <div class="errorbox">An error occurred</div>
+       //   <div class="warningbox">A warning to be noted</div>
+       //   <div class="successbox">Action successful!</div>
+       //   <div class="error">A different kind of error</div>
+       //   <div>
+       //     <input type="text" value="input" class="mw-ui-input">
+       //   <div>
+       //   </div>
+       //     <button class="mw-ui-button">Button in vform</button>
+       //   </div>
+       // </form>
+       //
+       // Styleguide 3.1.
        .error {
                .box-sizing(border-box);
                font-size: 0.9em;
                text-shadow: 0 1px #fae3e3;
                word-wrap: break-word;
        }
+
+       .errorbox,
+       .warningbox,
+       .successbox {
+               .box-sizing(border-box);
+               font-size: 0.9em;
+               margin: 0 0 1em 0;
+               padding: 0.5em;
+               word-wrap: break-word;
+       }
+
 }
 
 // --------------------------------------------------------------------------
index a49721d..2c215f6 100644 (file)
@@ -2,16 +2,44 @@
 @import "../../mixins/type";
 
 .mw-ui-button {
-       // Button colors determined by function.
-       // -----------------------------------------
+       // Primary buttons
+       //
+       // Do not use the mw-ui-primary class use mw-ui-constructive instead. For blue buttons
+       // use mw-ui-progressive (coming soon)
+       //
+       // Markup:
+       // <button class="mw-ui-button mw-ui-primary">mw-ui-primary</button>
+       //
+       // Styleguide 2.1.1.
        &.mw-ui-primary {
                .buttonColors(@agoraBlue);
        }
 
+       // Constructive buttons
+       //
+       // Use constructive buttons for actions which result in a final action in the process that results
+       // in a change of state.
+       // e.g. save changes button
+       //
+       // Markup:
+       // <button class="mw-ui-button mw-ui-constructive">mw-ui-constructive</button>
+       //
+       // Styleguide 2.1.2.
        &.mw-ui-constructive {
                .buttonColors(@agoraGreen);
        }
 
+
+       // Destructive buttons
+       //
+       // Use destructive buttons for actions which result in the destruction of data.
+       // e.g. deleting a page.
+       // This should not be used for cancel buttons.
+       //
+       // Markup:
+       // <button class="mw-ui-button mw-ui-destructive">mw-ui-destructive</button>
+       //
+       // Styleguide 2.1.3.
        &.mw-ui-destructive {
                .buttonColors(@agoraRed);
        }
index 036db5f..05045d5 100644 (file)
@@ -3,6 +3,8 @@
  * Vector.
  */
 
+// FIXME: remove import for button styles as soon as extensions using mediawiki.ui are
+// updated to use mediawiki.ui.button as well.
 @import "components/utilities";
 @import "components/default/buttons";
 @import "components/default/forms";
diff --git a/resources/mediawiki.ui/styleguide.md b/resources/mediawiki.ui/styleguide.md
new file mode 100644 (file)
index 0000000..b7eea54
--- /dev/null
@@ -0,0 +1,26 @@
+#Wikimedia projects
+
+This is the living style guide for MediaWiki UI used in Wikimedia Projects. It is generated from existing CSS programmatically. Please use it as a reference when developing code for MediaWiki to ensure your design is consistent with others across the site. Note this document is a work in progress and subject to change.
+
+##Brand
+
+Imagine a world in which every single human being can freely share in the sum of all knowledge.
+
+Sharing knowledge is the heart of our movement. Specifically, we care about sharing the “… highest possible quality to every single person on the planet in their own language” (Jimmy Wales). The focus of our identity is being credible and is moving toward being more inviting. We want our contributors to keep contributing while our assuring our readers that the information on any of the Wikimedia projects is reliable and accurate. Our personality should embody both of those traits with a slight sense of rebellion. We are unlike traditional projects (for instance, Encyclopedias that are only created by a few select individuals). We are a global movement, and as Jimmy Wales puts it: “Wikipedia is like rock’n’roll; it’s a cultural shift."
+
+##Design Philosophy
+
+The Wikimedia movement is a global volunteer community that aims to collect and develop the world's knowledge and to make it available to everyone for free, for any purpose. “Imagine a world in which every single human being can freely share in the sum of all knowledge.” 
+
+###Credible
+We strive for the most accurate, high quality and neutral information on all Wikimedia projects. We are fact-based and honest. We do not take sides. We are fair and impartial. 
+
+###Inviting
+We are geeky about collecting and developing knowledge. We invite and welcome every single human being to share their knowledge with us and the rest of the world. We are open-minded and have a strong sense of community. Our aesthetics should be clean and encourage interaction. 
+
+###Worldly
+We are thoughtful and are aware of cultural differences. We are careful about words, color usage, and images that might offend. We are also aware of limited connectivity in some areas of the world and are thoughtful of image sizes and loading speed. 
+
+###Humble
+We are respectful of contributors’ effort and knowledge. We have a wealth of knowledge on all projects and many people to thank for that. We are humble. We are helpful and welcome help to expand the sum of all knowledge. 
+
index a347562..d084731 100644 (file)
@@ -2,6 +2,27 @@
  * Provide Agora appearance for mw-ui-* classes when using the Vector skin.
  */
 
+// FIXME: remove import for button styles as soon as extensions using mediawiki.ui are
+// updated to use mediawiki.ui.button as well.
+
+// Typography
+//
+// We prefer the usage of Georgia Bold for all headings. Georgia Regular is used to place emphasis on pull-out or short quotations. This latter usage should be used sparingly. 
+//
+// We prefer the use of Helvetica Neue Regular for body copy. Helvetiva Neue Bold for sub-headers. Pull-out quotes within the body copy should use Helvetica Neue Bold. Helvetica Neue is an not open-source font. Hence, below is a list of preferred alternate choices.
+//
+// Second choice: Helvetica
+//
+// Third choice: Arial
+//
+// Our content is predominantly text, hence visual hierarchy must be clear. Use these recommended type sizes to inform and establish information hierarchy and organization. 
+//
+// Unless if you plan to put extra attention and manually adjust spacing, avoid justifying texts and paragraphs as they are harder to read and create unnecessary visual distractions. Along with centered text, they convey a formal and less friendly environment. 
+//
+// It will be important to talk about other languages, scripts and writing direction - with the same level as importance, not as an afterthought.
+//
+// Styleguide 1.
+
 @import "components/utilities";
 @import "components/vector/buttons";
 @import "components/vector/forms";
index 0bd86fe..c21dfec 100644 (file)
@@ -2,11 +2,6 @@
        Stylesheet for mediawiki.hlist module
        @author [[User:Edokter]]
  */
-.skin-monobook .hlist dl,
-.skin-modern .hlist dl,
-.skin-vector .hlist dl {
-       line-height: 1.5em;
-}
 .hlist dl,
 .hlist ol,
 .hlist ul {
index ef98136..77d8fdc 100644 (file)
@@ -1,24 +1,31 @@
 /**
-       IE 8: Add pseudo-selector class to last-child list items
+       .hlist fallbacks for IE 6, 7 and 8.
        @author [[User:Edokter]]
 */
-jQuery( function( $ ) {
-       if ( $.client.profile().name === 'msie' ) {
-               if ( $.client.profile().versionNumber === 8 ) {
-                       $( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' )
-                               .addClass( 'hlist-last-child' );
+( function ( mw, $ ) {
+       var profile = $.client.profile();
+
+       if ( profile.name === 'msie' ) {
+               if ( profile.versionNumber === 8 ) {
+                       /* IE 8: Add pseudo-selector class to last-child list items */
+                       mw.hook( 'wikipage.content' ).add( function ( $content ) {
+                               $content.find( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' )
+                                       .addClass( 'hlist-last-child' );
+                       } );
                }
+               else if ( profile.versionNumber <= 7 ) {
                        /* IE 7 and below: Generate interpuncts and parentheses */
-               if ( $.client.profile().versionNumber <= 7 ) {
-                       var $hlists = $( '.hlist' );
-                       $hlists.find( 'dt:not(:last-child)' )
-                               .append( ': ' );
-                       $hlists.find( 'dd:not(:last-child)' )
-                               .append( '<b>·</b> ' );
-                       $hlists.find( 'li:not(:last-child)' )
-                               .append( '<b>·</b> ' );
-                       $hlists.find( 'dl dl, dl ol, dl ul, ol dl, ol ol, ol ul, ul dl, ul ol, ul ul' )
-                               .prepend( '( ' ).append( ') ' );
+                       mw.hook( 'wikipage.content' ).add( function ( $content ) {
+                               var $hlists = $content.find( '.hlist' );
+                               $hlists.find( 'dt:not(:last-child)' )
+                                       .append( ': ' );
+                               $hlists.find( 'dd:not(:last-child)' )
+                                       .append( '<b>·</b> ' );
+                               $hlists.find( 'li:not(:last-child)' )
+                                       .append( '<b>·</b> ' );
+                               $hlists.find( 'dl dl, dl ol, dl ul, ol dl, ol ol, ol ul, ul dl, ul ol, ul ul' )
+                                       .prepend( '( ' ).append( ') ' );
+                       } );
                }
        }
-} );
+}( mediaWiki, jQuery ) );
index 724ca5e..7764bea 100644 (file)
@@ -1635,8 +1635,8 @@ var mw = ( function ( $, undefined ) {
                                /**
                                 * Change the state of one or more modules.
                                 *
-                                * @param {string|Object} module module name or object of module name/state pairs
-                                * @param {string} state state name
+                                * @param {string|Object} module Module name or object of module name/state pairs
+                                * @param {string} state State name
                                 */
                                state: function ( module, state ) {
                                        var m;
@@ -1684,7 +1684,7 @@ var mw = ( function ( $, undefined ) {
                                /**
                                 * Get the state of a module.
                                 *
-                                * @param {string} module name of module to get state for
+                                * @param {string} module Name of module to get state for
                                 */
                                getState: function ( module ) {
                                        if ( registry[module] !== undefined && registry[module].state !== undefined ) {
@@ -1791,30 +1791,33 @@ var mw = ( function ( $, undefined ) {
                                        },
 
                                        /**
-                                        * Initialize the store by retrieving it from localStorage and (if successfully
-                                        * retrieved) decoding the stored JSON value to a plain object.
+                                        * Initialize the store.
+                                        *
+                                        * Retrieves store from localStorage and (if successfully retrieved) decoding
+                                        * the stored JSON value to a plain object.
                                         *
                                         * The try / catch block is used for JSON & localStorage feature detection.
                                         * See the in-line documentation for Modernizr's localStorage feature detection
-                                        * code for a full account of why we need a try / catch: <http://git.io/4NEwKg>.
+                                        * code for a full account of why we need a try / catch:
+                                        * https://github.com/Modernizr/Modernizr/blob/v2.7.1/modernizr.js#L771-L796
                                         */
                                        init: function () {
                                                var raw, data;
 
                                                if ( mw.loader.store.enabled !== null ) {
-                                                       // #init already ran.
+                                                       // Init already ran
                                                        return;
                                                }
 
                                                if ( !mw.config.get( 'wgResourceLoaderStorageEnabled' ) || mw.config.get( 'debug' ) ) {
-                                                       // Disabled by configuration, or because debug mode is set.
+                                                       // Disabled by configuration, or because debug mode is set
                                                        mw.loader.store.enabled = false;
                                                        return;
                                                }
 
                                                try {
                                                        raw = localStorage.getItem( mw.loader.store.getStoreKey() );
-                                                       // If we get here, localStorage is available; mark enabled.
+                                                       // If we get here, localStorage is available; mark enabled
                                                        mw.loader.store.enabled = true;
                                                        data = JSON.parse( raw );
                                                        if ( data && typeof data.items === 'object' && data.vary === mw.loader.store.getVary() ) {
@@ -1824,7 +1827,8 @@ var mw = ( function ( $, undefined ) {
                                                } catch (e) {}
 
                                                if ( raw === undefined ) {
-                                                       mw.loader.store.enabled = false;  // localStorage failed; disable store.
+                                                       // localStorage failed; disable store
+                                                       mw.loader.store.enabled = false;
                                                } else {
                                                        mw.loader.store.update();
                                                }
@@ -1839,7 +1843,7 @@ var mw = ( function ( $, undefined ) {
                                        get: function ( module ) {
                                                var key;
 
-                                               if ( mw.loader.store.enabled !== true ) {
+                                               if ( !mw.loader.store.enabled ) {
                                                        return false;
                                                }
 
@@ -1861,29 +1865,23 @@ var mw = ( function ( $, undefined ) {
                                        set: function ( module, descriptor ) {
                                                var args, key;
 
-                                               if ( mw.loader.store.enabled !== true ) {
+                                               if ( !mw.loader.store.enabled ) {
                                                        return false;
                                                }
 
                                                key = mw.loader.store.getModuleKey( module );
 
-                                               if ( key in mw.loader.store.items ) {
-                                                       // Already set; decline to store.
-                                                       return false;
-                                               }
-
-                                               if ( descriptor.state !== 'ready' ) {
-                                                       // Module failed to load; decline to store.
-                                                       return false;
-                                               }
-
-                                               if ( !descriptor.version || $.inArray( descriptor.group, [ 'private', 'user', 'site' ] ) !== -1 ) {
-                                                       // Unversioned, private, or site-/user-specific; decline to store.
-                                                       return false;
-                                               }
-
-                                               if ( $.inArray( undefined, [ descriptor.script, descriptor.style, descriptor.messages ] ) !== -1 ) {
-                                                       // Partial descriptor; decline to store.
+                                               if (
+                                                       // Already stored a copy of this exact version
+                                                       key in mw.loader.store.items ||
+                                                       // Module failed to load
+                                                       descriptor.state !== 'ready' ||
+                                                       // Unversioned, private, or site-/user-specific
+                                                       ( !descriptor.version || $.inArray( descriptor.group, [ 'private', 'user', 'site' ] ) !== -1 ) ||
+                                                       // Partial descriptor
+                                                       $.inArray( undefined, [ descriptor.script, descriptor.style, descriptor.messages ] ) !== -1
+                                               ) {
+                                                       // Decline to store
                                                        return false;
                                                }
 
@@ -1891,13 +1889,15 @@ var mw = ( function ( $, undefined ) {
                                                        args = [
                                                                JSON.stringify( module ),
                                                                typeof descriptor.script === 'function' ?
-                                                                       String( descriptor.script ) : JSON.stringify( descriptor.script ),
+                                                                       String( descriptor.script ) :
+                                                                       JSON.stringify( descriptor.script ),
                                                                JSON.stringify( descriptor.style ),
                                                                JSON.stringify( descriptor.messages )
                                                        ];
-                                               } catch (e) {
+                                               } catch ( e ) {
                                                        return;
                                                }
+
                                                mw.loader.store.items[key] = 'mw.loader.implement(' + args.join(',') + ');';
                                                mw.loader.store.update();
                                        },
@@ -1909,7 +1909,7 @@ var mw = ( function ( $, undefined ) {
                                        prune: function () {
                                                var key, module;
 
-                                               if ( mw.loader.store.enabled !== true ) {
+                                               if ( !mw.loader.store.enabled ) {
                                                        return false;
                                                }
 
@@ -1940,8 +1940,10 @@ var mw = ( function ( $, undefined ) {
                                                var timer;
 
                                                function flush() {
-                                                       var data, key = mw.loader.store.getStoreKey();
-                                                       if ( mw.loader.store.enabled !== true ) {
+                                                       var data,
+                                                               key = mw.loader.store.getStoreKey();
+
+                                                       if ( !mw.loader.store.enabled ) {
                                                                return false;
                                                        }
                                                        mw.loader.store.prune();
@@ -1953,7 +1955,7 @@ var mw = ( function ( $, undefined ) {
                                                                localStorage.removeItem( key );
                                                                data = JSON.stringify( mw.loader.store );
                                                                localStorage.setItem( key, data );
-                                                       } catch (e) {}
+                                                       } catch ( e ) {}
                                                }
 
                                                return function () {
index 7f07862..8fd8496 100644 (file)
 
                // Compatibility map
                map = {
-                       browsers: {
-                               // Left-to-right languages
-                               ltr: {
-                                       // SimpleSearch is broken in Opera < 9.6
-                                       opera: [['>=', 9.6]],
-                                       docomo: false,
-                                       blackberry: false,
-                                       ipod: false,
-                                       iphone: false
-                               },
-                               // Right-to-left languages
-                               rtl: {
-                                       opera: [['>=', 9.6]],
-                                       docomo: false,
-                                       blackberry: false,
-                                       ipod: false,
-                                       iphone: false
-                               }
-                       }
+                       // SimpleSearch is broken in Opera < 9.6
+                       opera: [['>=', 9.6]],
+                       docomo: false,
+                       blackberry: false,
+                       ipod: false,
+                       iphone: false
                };
 
                if ( !$.client.test( map ) ) {
index d2d61e9..706f589 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * Object Oriented JavaScript Library v1.0.5
- * https://github.com/trevorparscal/oojs
+ * OOjs v1.0.6
+ * https://www.mediawiki.org/wiki/OOjs
  *
- * Copyright 2011-2013 OOJS Team and other contributors.
+ * Copyright 2011-2013 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: Wed Oct 23 2013 02:22:02 GMT+0200 (CEST)
+ * Date: Tue Dec 10 2013 22:43:42 GMT+0100 (CET)
  */
 ( function ( global ) {
 
diff --git a/resources/package.json b/resources/package.json
new file mode 100644 (file)
index 0000000..a1722b5
--- /dev/null
@@ -0,0 +1,13 @@
+{
+       "name": "mediawiki-ui-dependencies",
+       "description": "Node.js dependencies used for KSS generation",
+       "version": "0.0.1",
+       "dependencies": {
+               "kss": ">=0.3.6"
+       },
+       "repository" : {
+               "type" : "git",
+               "url" : "https://gerrit.wikimedia.org/r/p/mediawiki/core.git"
+       }
+
+}
diff --git a/resources/scripts/nodecheck.sh b/resources/scripts/nodecheck.sh
new file mode 100755 (executable)
index 0000000..3ee0f83
--- /dev/null
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+if command -v npm > /dev/null ; then
+  npm install
+else
+  echo "You need to install Node.JS!"
+  echo "See http://nodejs.org/"
+  exit 1
+fi
index 6aba2f9..cd21ecc 100644 (file)
@@ -4,6 +4,8 @@
  * even the most ancient of browsers, so be very careful when editing.
  */
 
+var mediaWikiLoadStart = ( new Date() ).getTime();
+
 /**
  * Returns false when run in a black-listed browser
  *
@@ -41,7 +43,9 @@ function isCompatible( ua ) {
                // Opera Mini, all versions
                ua.match( /Opera Mini/ ) ||
                // Nokia's Ovi Browser
-               ua.match( /S40OviBrowser/ )
+               ua.match( /S40OviBrowser/ ) ||
+               // Google Glass browser groks JS but UI is too limited
+               ( ua.match( /Glass/ ) && ua.match( /Android/ ) )
        );
 }
 
diff --git a/resources/styleguide-template/index.html b/resources/styleguide-template/index.html
new file mode 100644 (file)
index 0000000..99f3e4f
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html class="no-js" lang="en">
+<head>
+       <meta charset="utf-8">
+       <title>MediaWiki Living Styleguide</title>
+       <meta name="description" content="">
+       <meta name="generator" content="kss-node" />
+       <meta name="viewport" content="width=device-width">
+       <link rel="stylesheet" href="public/kss.css">
+       <link rel="stylesheet" href="public/style.css">
+</head>
+<body><div id="kss-wrapper">
+       <header id="kss-header">
+               <hgroup><h1>MediaWiki Living Styleguide</h1></hgroup>
+       </header>
+       <nav class="content">
+               <ul>
+               <li><a href="index.html">0.0: Overview</a></li>
+               {{#eachRoot}}
+               <li>
+                       <a href="section-{{reference}}.html">{{reference}}.0: {{header}}</a>
+               </li>
+               {{/eachRoot}}
+               </ul>
+       </nav>
+       <article>
+               {{#if overview}}
+                       {{html overview}}
+               {{else}}
+                       {{#eachSection rootNumber}}
+                               {{#whenDepth 1}}
+                                       <h1>{{ reference }}.0 - {{ header }}</h1>
+                               {{else}}
+                                       {{#whenDepth 2}}
+                                       <h2>{{ reference }} - {{ header }}</h2>
+                                       {{/whenDepth}}
+                                       {{#whenDepth 3}}
+                                       <h3>{{ reference }} - {{ header }}</h3>
+                                       {{/whenDepth}}
+                               {{/whenDepth}}
+                               {{#ifAny markup modifiers}}
+                                               <div>{{html description}}</div>
+                                               <strong>Default styling</strong><br>
+                                               {{modifierMarkup}}
+                                               {{#eachModifier}}
+                                               {{html description}}<br>
+                                               <p>{{name}}</p>
+                                               {{modifierMarkup}}
+                                               {{/eachModifier}}
+                                               <pre class="prettyprint lang-html">{{markup}}</pre>
+                               {{else}}
+                                               {{#if description}}
+                                                       {{html description}}
+                                               {{/if}}
+                               {{/ifAny}}
+                       {{/eachSection}}
+               {{/if}}
+       </article>
+</div></body>
+</html>
diff --git a/resources/styleguide-template/public/kss.less b/resources/styleguide-template/public/kss.less
new file mode 100644 (file)
index 0000000..431303d
--- /dev/null
@@ -0,0 +1,24 @@
+header {
+       padding: .8em 16px 0;
+}
+
+nav {
+       float: left;
+       width: 200px;
+}
+
+article {
+       margin-left: 250px;
+}
+
+.content.kss-no-margin {
+       margin: 0;
+}
+
+// FIXME: Remove when typography module in mediawiki-ui
+body {
+       font-family: "Nimbus Sans L", "Liberation Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
+}
+h1,h2,h3,h4,h5 {
+       font-family: "DejaVu Serif", Georgia, serif;
+}
diff --git a/resources/styleguide-template/public/less.js b/resources/styleguide-template/public/less.js
new file mode 100644 (file)
index 0000000..89b7637
--- /dev/null
@@ -0,0 +1,9 @@
+//
+// LESS - Leaner CSS v1.2.1
+// http://lesscss.org
+// 
+// Copyright (c) 2009-2011, Alexis Sellier
+// Licensed under the Apache 2.0 License.
+//
+(function(a,b){function c(b){return a.less[b.split("/")[1]]}function m(){var a=document.getElementsByTagName("style");for(var b=0;b<a.length;b++)a[b].type.match(k)&&(new d.Parser).parse(a[b].innerHTML||"",function(c,d){var e=d.toCSS(),f=a[b];f.type="text/css",f.styleSheet?f.styleSheet.cssText=e:f.innerHTML=e})}function n(a,b){for(var c=0;c<d.sheets.length;c++)o(d.sheets[c],a,b,d.sheets.length-(c+1))}function o(b,c,e,f){var g=a.location.href.replace(/[#?].*$/,""),i=b.href.replace(/\?.*$/,""),j=h&&h.getItem(i),k=h&&h.getItem(i+":timestamp"),l={css:j,timestamp:k};/^(https?|file):/.test(i)||(i.charAt(0)=="/"?i=a.location.protocol+"//"+a.location.host+i:i=g.slice(0,g.lastIndexOf("/")+1)+i);var m=i.match(/([^\/]+)$/)[1];s(b.href,b.type,function(a,g){if(!e&&l&&g&&(new Date(g)).valueOf()===(new Date(l.timestamp)).valueOf())r(l.css,b),c(null,b,{local:!0,remaining:f});else try{(new d.Parser({optimization:d.optimization,paths:[i.replace(/[\w\.-]+$/,"")],mime:b.type,filename:m})).parse(a,function(d,e){if(d)return w(d,i);try{c(d,e,a,b,{local:!1,lastModified:g,remaining:f}),u(document.getElementById("less-error-message:"+q(i)))}catch(d){w(d,i)}})}catch(h){w(h,i)}},function(a,b){throw new Error("Couldn't load "+b+" ("+a+")")})}function q(a){return a.replace(/^[a-z]+:\/\/?[^\/]+/,"").replace(/^\//,"").replace(/\?.*$/,"").replace(/\.[^\.\/]+$/,"").replace(/[^\.\w-]+/g,"-").replace(/\./g,":")}function r(a,b,c){var d,e=b.href?b.href.replace(/\?.*$/,""):"",f="less:"+(b.title||q(e));(d=document.getElementById(f))===null&&(d=document.createElement("style"),d.type="text/css",d.media=b.media||"screen",d.id=f,document.getElementsByTagName("head")[0].appendChild(d));if(d.styleSheet)try{d.styleSheet.cssText=a}catch(g){throw new Error("Couldn't reassign styleSheet.cssText.")}else(function(a){d.childNodes.length>0?d.firstChild.nodeValue!==a.nodeValue&&d.replaceChild(a,d.firstChild):d.appendChild(a)})(document.createTextNode(a));c&&h&&(v("saving "+e+" to cache."),h.setItem(e,a),h.setItem(e+":timestamp",c))}function s(a,b,c,e){function i(b,c,d){b.status>=200&&b.status<300?c(b.responseText,b.getResponseHeader("Last-Modified")):typeof d=="function"&&d(b.status,a)}var f=t(),h=g?!1:d.async;typeof f.overrideMimeType=="function"&&f.overrideMimeType("text/css"),f.open("GET",a,h),f.setRequestHeader("Accept",b||"text/x-less, text/css; q=0.9, */*; q=0.5"),f.send(null),g?f.status===0||f.status>=200&&f.status<300?c(f.responseText):e(f.status,a):h?f.onreadystatechange=function(){f.readyState==4&&i(f,c,e)}:i(f,c,e)}function t(){if(a.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(b){return v("browser doesn't support AJAX."),null}}function u(a){return a&&a.parentNode.removeChild(a)}function v(a){d.env=="development"&&typeof console!="undefined"&&console.log("less: "+a)}function w(a,b){var c="less-error-message:"+q(b),e='<li><label>{line}</label><pre class="{class}">{content}</pre></li>',f=document.createElement("div"),g,h,i=[],j=a.filename||b;f.id=c,f.className="less-error-message",h="<h3>"+(a.message||"There is an error in your .less file")+"</h3>"+'<p>in <a href="'+j+'">'+j+"</a> ";var k=function(a,b,c){a.extract[b]&&i.push(e.replace(/\{line\}/,parseInt(a.line)+(b-1)).replace(/\{class\}/,c).replace(/\{content\}/,a.extract[b]))};a.stack?h+="<br/>"+a.stack.split("\n").slice(1).join("<br/>"):a.extract&&(k(a,0,""),k(a,1,"line"),k(a,2,""),h+="on line "+a.line+", column "+(a.column+1)+":</p>"+"<ul>"+i.join("")+"</ul>"),f.innerHTML=h,r([".less-error-message ul, .less-error-message li {","list-style-type: none;","margin-right: 15px;","padding: 4px 0;","margin: 0;","}",".less-error-message label {","font-size: 12px;","margin-right: 15px;","padding: 4px 0;","color: #cc7777;","}",".less-error-message pre {","color: #dd6666;","padding: 4px 0;","margin: 0;","display: inline-block;","}",".less-error-message pre.line {","color: #ff0000;","}",".less-error-message h3 {","font-size: 20px;","font-weight: bold;","padding: 15px 0 5px 0;","margin: 0;","}",".less-error-message a {","color: #10a","}",".less-error-message .error {","color: red;","font-weight: bold;","padding-bottom: 2px;","border-bottom: 1px dashed red;","}"].join("\n"),{title:"error-message"}),f.style.cssText=["font-family: Arial, sans-serif","border: 1px solid #e00","background-color: #eee","border-radius: 5px","-webkit-border-radius: 5px","-moz-border-radius: 5px","color: #e00","padding: 15px","margin-bottom: 15px"].join(";"),d.env=="development"&&(g=setInterval(function(){document.body&&(document.getElementById(c)?document.body.replaceChild(f,document.getElementById(c)):document.body.insertBefore(f,document.body.firstChild),clearInterval(g))},10))}Array.isArray||(Array.isArray=function(a){return Object.prototype.toString.call(a)==="[object Array]"||a instanceof Array}),Array.prototype.forEach||(Array.prototype.forEach=function(a,b){var c=this.length>>>0;for(var d=0;d<c;d++)d in this&&a.call(b,this[d],d,this)}),Array.prototype.map||(Array.prototype.map=function(a){var b=this.length>>>0,c=new Array(b),d=arguments[1];for(var e=0;e<b;e++)e in this&&(c[e]=a.call(d,this[e],e,this));return c}),Array.prototype.filter||(Array.prototype.filter=function(a){var b=[],c=arguments[1];for(var d=0;d<this.length;d++)a.call(c,this[d])&&b.push(this[d]);return b}),Array.prototype.reduce||(Array.prototype.reduce=function(a){var b=this.length>>>0,c=0;if(b===0&&arguments.length===1)throw new TypeError;if(arguments.length>=2)var d=arguments[1];else do{if(c in this){d=this[c++];break}if(++c>=b)throw new TypeError}while(!0);for(;c<b;c++)c in this&&(d=a.call(null,d,this[c],c,this));return d}),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=this.length,c=arguments[1]||0;if(!b)return-1;if(c>=b)return-1;c<0&&(c+=b);for(;c<b;c++){if(!Object.prototype.hasOwnProperty.call(this,c))continue;if(a===this[c])return c}return-1}),Object.keys||(Object.keys=function(a){var b=[];for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.push(c);return b}),String.prototype.trim||(String.prototype.trim=function(){return String(this).replace(/^\s\s*/,"").replace(/\s\s*$/,"")});var d,f;typeof environment=="object"&&{}.toString.call(environment)==="[object Environment]"?(typeof a=="undefined"?d={}:d=a.less={},f=d.tree={},d.mode="rhino"):typeof a=="undefined"?(d=exports,f=c("./tree"),d.mode="node"):(typeof a.less=="undefined"&&(a.less={}),d=a.less,f=a.less.tree={},d.mode="browser"),d.Parser=function(b){function t(){j=m[i],k=h,n=h}function u(){m[i]=j,h=k,n=h}function v(){h>n&&(m[i]=m[i].slice(h-n),n=h)}function w(a){var b,c,d,e,f,j,k,l;if(a instanceof Function)return a.call(o.parsers);if(typeof a=="string")b=g.charAt(h)===a?a:null,d=1,v();else{v();if(!(b=a.exec(m[i])))return null;d=b[0].length}if(b){l=h+=d,j=h+m[i].length-d;while(h<j){e=g.charCodeAt(h);if(e!==32&&e!==10&&e!==9)break;h++}return m[i]=m[i].slice(d+(h-l)),n=h,m[i].length===0&&i<m.length-1&&i++,typeof b=="string"?b:b.length===1?b[0]:b}}function x(a,b){var c=w(a);if(!!c)return c;y(b||(typeof a=="string"?"expected '"+a+"' got '"+g.charAt(h)+"'":"unexpected token"))}function y(a,b){throw{index:h,type:b||"Syntax",message:a}}function z(a){return typeof a=="string"?g.charAt(h)===a:a.test(m[i])?!0:!1}function A(a,b){return a.filename&&b.filename&&a.filename!==b.filename?o.imports.contents[a.filename]:g}function B(a,b){for(var c=a,d=-1;c>=0&&b.charAt(c)!=="\n";c--)d++;return{line:typeof a=="number"?(b.slice(0,a).match(/\n/g)||"").length:null,column:d}}function C(a,b){var c=A(a,b),d=B(a.index,c),e=d.line,f=d.column,g=c.split("\n");this.type=a.type||"Syntax",this.message=a.message,this.filename=a.filename||b.filename,this.index=a.index,this.line=typeof e=="number"?e+1:null,this.callLine=a.call&&B(a.call,c)+1,this.callExtract=g[B(a.call,c)],this.stack=a.stack,this.column=f,this.extract=[g[e-1],g[e],g[e+1]]}var g,h,i,j,k,l,m,n,o,q=this,r=function(){},s=this.imports={paths:b&&b.paths||[],queue:[],files:{},contents:{},mime:b&&b.mime,error:null,push:function(a,c){var e=this;this.queue.push(a),d.Parser.importer(a,this.paths,function(b,d,f){e.queue.splice(e.queue.indexOf(a),1),e.files[a]=d,e.contents[a]=f,b&&!e.error&&(e.error=b),c(b,d),e.queue.length===0&&r()},b)}};return this.env=b=b||{},this.optimization="optimization"in this.env?this.env.optimization:1,this.env.filename=this.env.filename||null,o={imports:s,parse:function(a,e){var j,k,p,q,s,t,u=[],v,x=null;h=i=n=l=0,m=[],g=a.replace(/\r\n/g,"\n"),m=function(a){var c=0,d=/[^"'`\{\}\/\(\)]+/g,e=/\/\*(?:[^*]|\*+[^\/*])*\*+\/|\/\/.*/g,f=0,h,i=a[0],j,k;for(var l=0,m,n;l<g.length;l++){d.lastIndex=l,(h=d.exec(g))&&h.index===l&&(l+=h[0].length,i.push(h[0])),m=g.charAt(l),e.lastIndex=l,!k&&!j&&m==="/"&&(n=g.charAt(l+1),(n==="/"||n==="*")&&(h=e.exec(g))&&h.index===l&&(l+=h[0].length,i.push(h[0]),m=g.charAt(l)));if(m==="{"&&!k&&!j)f++,i.push(m);else if(m==="}"&&!k&&!j)f--,i.push(m),a[++c]=i=[];else if(m==="("&&!k&&!j)i.push(m),j=!0;else if(m===")"&&!k&&j)i.push(m),j=!1;else{if(m==='"'||m==="'"||m==="`")k?k=k===m?!1:k:k=m;i.push(m)}}if(f>0)throw{type:"Syntax",message:"Missing closing `}`",filename:b.filename};return a.map(function(a){return a.join("")})}([[]]);try{j=new f.Ruleset([],w(this.parsers.primary)),j.root=!0}catch(y){return e(new C(y,b))}j.toCSS=function(a){var e,g,h;return function(e,g){var h=[],i;e=e||{},typeof g=="object"&&!Array.isArray(g)&&(g=Object.keys(g).map(function(a){var b=g[a];return b instanceof f.Value||(b instanceof f.Expression||(b=new f.Expression([b])),b=new f.Value([b])),new f.Rule("@"+a,b,!1,0)}),h=[new f.Ruleset(null,g)]);try{var j=a.call(this,{frames:h}).toCSS([],{compress:e.compress||!1})}catch(k){throw new C(k,b)}if(i=o.imports.error)throw i instanceof C?i:new C(i,b);return e.yuicompress&&d.mode==="node"?c("./cssmin").compressor.cssmin(j):e.compress?j.replace(/(\s)+/g,"$1"):j}}(j.eval);if(h<g.length-1){h=l,t=g.split("\n"),s=(g.slice(0,h).match(/\n/g)||"").length+1;for(var z=h,A=-1;z>=0&&g.charAt(z)!=="\n";z--)A++;x={type:"Parse",message:"Syntax Error on line "+s,index:h,filename:b.filename,line:s,column:A,extract:[t[s-2],t[s-1],t[s]]}}this.imports.queue.length>0?r=function(){e(x,j)}:e(x,j)},parsers:{primary:function(){var a,b=[];while((a=w(this.mixin.definition)||w(this.rule)||w(this.ruleset)||w(this.mixin.call)||w(this.comment)||w(this.directive))||w(/^[\s\n]+/))a&&b.push(a);return b},comment:function(){var a;if(g.charAt(h)!=="/")return;if(g.charAt(h+1)==="/")return new f.Comment(w(/^\/\/.*/),!0);if(a=w(/^\/\*(?:[^*]|\*+[^\/*])*\*+\/\n?/))return new f.Comment(a)},entities:{quoted:function(){var a,b=h,c;g.charAt(b)==="~"&&(b++,c=!0);if(g.charAt(b)!=='"'&&g.charAt(b)!=="'")return;c&&w("~");if(a=w(/^"((?:[^"\\\r\n]|\\.)*)"|'((?:[^'\\\r\n]|\\.)*)'/))return new f.Quoted(a[0],a[1]||a[2],c)},keyword:function(){var a;if(a=w(/^[_A-Za-z-][_A-Za-z0-9-]*/))return f.colors.hasOwnProperty(a)?new f.Color(f.colors[a].slice(1)):new f.Keyword(a)},call:function(){var a,c,d=h;if(!(a=/^([\w-]+|%|progid:[\w\.]+)\(/.exec(m[i])))return;a=a[1].toLowerCase();if(a==="url")return null;h+=a.length;if(a==="alpha")return w(this.alpha);w("("),c=w(this.entities.arguments);if(!w(")"))return;if(a)return new f.Call(a,c,d,b.filename)},arguments:function(){var a=[],b;while(b=w(this.entities.assignment)||w(this.expression)){a.push(b);if(!w(","))break}return a},literal:function(){return w(this.entities.dimension)||w(this.entities.color)||w(this.entities.quoted)},assignment:function(){var a,b;if((a=w(/^\w+(?=\s?=)/i))&&w("=")&&(b=w(this.entity)))return new f.Assignment(a,b)},url:function(){var a;if(g.charAt(h)!=="u"||!w(/^url\(/))return;return a=w(this.entities.quoted)||w(this.entities.variable)||w(this.entities.dataURI)||w(/^[-\w%@$\/.&=:;#+?~]+/)||"",x(")"),new f.URL(a.value||a.data||a instanceof f.Variable?a:new f.Anonymous(a),s.paths)},dataURI:function(){var a;if(w(/^data:/)){a={},a.mime=w(/^[^\/]+\/[^,;)]+/)||"",a.charset=w(/^;\s*charset=[^,;)]+/)||"",a.base64=w(/^;\s*base64/)||"",a.data=w(/^,\s*[^)]+/);if(a.data)return a}},variable:function(){var a,c=h;if(g.charAt(h)==="@"&&(a=w(/^@@?[\w-]+/)))return new f.Variable(a,c,b.filename)},color:function(){var a;if(g.charAt(h)==="#"&&(a=w(/^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})/)))return new f.Color(a[1])},dimension:function(){var a,b=g.charCodeAt(h);if(b>57||b<45||b===47)return;if(a=w(/^(-?\d*\.?\d+)(px|%|em|rem|pc|ex|in|deg|s|ms|pt|cm|mm|rad|grad|turn)?/))return new f.Dimension(a[1],a[2])},javascript:function(){var a,b=h,c;g.charAt(b)==="~"&&(b++,c=!0);if(g.charAt(b)!=="`")return;c&&w("~");if(a=w(/^`([^`]*)`/))return new f.JavaScript(a[1],h,c)}},variable:function(){var a;if(g.charAt(h)==="@"&&(a=w(/^(@[\w-]+)\s*:/)))return a[1]},shorthand:function(){var a,b;if(!z(/^[@\w.%-]+\/[@\w.-]+/))return;if((a=w(this.entity))&&w("/")&&(b=w(this.entity)))return new f.Shorthand(a,b)},mixin:{call:function(){var a=[],c,d,e,i=h,j=g.charAt(h),k=!1;if(j!=="."&&j!=="#")return;while(c=w(/^[#.](?:[\w-]|\\(?:[a-fA-F0-9]{1,6} ?|[^a-fA-F0-9]))+/))a.push(new f.Element(d,c,h)),d=w(">");w("(")&&(e=w(this.entities.arguments))&&w(")"),w(this.important)&&(k=!0);if(a.length>0&&(w(";")||z("}")))return new f.mixin.Call(a,e,i,b.filename,k)},definition:function(){var a,b=[],c,d,e,i,j;if(g.charAt(h)!=="."&&g.charAt(h)!=="#"||z(/^[^{]*(;|})/))return;t();if(c=w(/^([#.](?:[\w-]|\\(?:[a-fA-F0-9]{1,6} ?|[^a-fA-F0-9]))+)\s*\(/)){a=c[1];while(e=w(this.entities.variable)||w(this.entities.literal)||w(this.entities.keyword)){e instanceof f.Variable?w(":")?(i=x(this.expression,"expected expression"),b.push({name:e.name,value:i})):b.push({name:e.name}):b.push({value:e});if(!w(","))break}x(")"),w(/^when/)&&(j=x(this.conditions,"expected condition")),d=w(this.block);if(d)return new f.mixin.Definition(a,b,d,j);u()}}},entity:function(){return w(this.entities.literal)||w(this.entities.variable)||w(this.entities.url)||w(this.entities.call)||w(this.entities.keyword)||w(this.entities.javascript)||w(this.comment)},end:function(){return w(";")||z("}")},alpha:function(){var a;if(!w(/^\(opacity=/i))return;if(a=w(/^\d+/)||w(this.entities.variable))return x(")"),new f.Alpha(a)},element:function(){var a,b,c,d;c=w(this.combinator),a=w(/^(?:\d+\.\d+|\d+)%/)||w(/^(?:[.#]?|:*)(?:[\w-]|\\(?:[a-fA-F0-9]{1,6} ?|[^a-fA-F0-9]))+/)||w("*")||w(this.attribute)||w(/^\([^)@]+\)/),a||w("(")&&(d=w(this.entities.variable))&&w(")")&&(a=new f.Paren(d));if(a)return new f.Element(c,a,h);if(c.value&&c.value.charAt(0)==="&")return new f.Element(c,null,h)},combinator:function(){var a,b=g.charAt(h);if(b===">"||b==="+"||b==="~"){h++;while(g.charAt(h)===" ")h++;return new f.Combinator(b)}if(b==="&"){a="&",h++,g.charAt(h)===" "&&(a="& ");while(g.charAt(h)===" ")h++;return new f.Combinator(a)}if(b===":"&&g.charAt(h+1)===":"){h+=2;while(g.charAt(h)===" ")h++;return new f.Combinator("::")}return g.charAt(h-1)===" "?new f.Combinator(" "):new f.Combinator(null)},selector:function(){var a,b,c=[],d,e;while(b=w(this.element)){d=g.charAt(h),c.push(b);if(d==="{"||d==="}"||d===";"||d===",")break}if(c.length>0)return new f.Selector(c)},tag:function(){return w(/^[a-zA-Z][a-zA-Z-]*[0-9]?/)||w("*")},attribute:function(){var a="",b,c,d;if(!w("["))return;if(b=w(/^[a-zA-Z-]+/)||w(this.entities.quoted))(d=w(/^[|~*$^]?=/))&&(c=w(this.entities.quoted)||w(/^[\w-]+/))?a=[b,d,c.toCSS?c.toCSS():c].join(""):a=b;if(!w("]"))return;if(a)return"["+a+"]"},block:function(){var a;if(w("{")&&(a=w(this.primary))&&w("}"))return a},ruleset:function(){var a=[],b,c,d;t();while(b=w(this.selector)){a.push(b),w(this.comment);if(!w(","))break;w(this.comment)}if(a.length>0&&(c=w(this.block)))return new f.Ruleset(a,c);l=h,u()},rule:function(){var a,b,c=g.charAt(h),d,e;t();if(c==="."||c==="#"||c==="&")return;if(a=w(this.variable)||w(this.property)){a.charAt(0)!="@"&&(e=/^([^@+\/'"*`(;{}-]*);/.exec(m[i]))?(h+=e[0].length-1,b=new f.Anonymous(e[1])):a==="font"?b=w(this.font):b=w(this.value),d=w(this.important);if(b&&w(this.end))return new f.Rule(a,b,d,k);l=h,u()}},"import":function(){var a,b,c=h;if(w(/^@import\s+/)&&(a=w(this.entities.quoted)||w(this.entities.url))){b=w(this.mediaFeatures);if(w(";"))return new f.Import(a,s,b,c)}},mediaFeature:function(){var a=[];do if(e=w(this.entities.keyword))a.push(e);else if(w("(")){p=w(this.property),e=w(this.entity);if(!w(")"))return null;if(p&&e)a.push(new f.Paren(new f.Rule(p,e,null,h,!0)));else{if(!e)return null;a.push(new f.Paren(e))}}while(e);if(a.length>0)return new f.Expression(a)},mediaFeatures:function(){var a,b=[];while(a=w(this.mediaFeature)){b.push(a);if(!w(","))break}return b.length>0?b:null},media:function(){var a;if(w(/^@media/)){a=w(this.mediaFeatures);if(rules=w(this.block))return new f.Directive("@media",rules,a)}},directive:function(){var a,b,c,d,e,i;if(g.charAt(h)!=="@")return;if(b=w(this["import"])||w(this.media))return b;if(a=w(/^@page|@keyframes/)||w(/^@(?:-webkit-|-moz-|-o-|-ms-)[a-z0-9-]+/)){d=(w(/^[^{]+/)||"").trim();if(c=w(this.block))return new f.Directive(a+" "+d,c)}else if(a=w(/^@[-a-z]+/))if(a==="@font-face"){if(c=w(this.block))return new f.Directive(a,c)}else if((b=w(this.entity))&&w(";"))return new f.Directive(a,b)},font:function(){var a=[],b=[],c,d,e,g;while(g=w(this.shorthand)||w(this.entity))b.push(g);a.push(new f.Expression(b));if(w(","))while(g=w(this.expression)){a.push(g);if(!w(","))break}return new f.Value(a)},value:function(){var a,b=[],c;while(a=w(this.expression)){b.push(a);if(!w(","))break}if(b.length>0)return new f.Value(b)},important:function(){if(g.charAt(h)==="!")return w(/^! *important/)},sub:function(){var a;if(w("(")&&(a=w(this.expression))&&w(")"))return a},multiplication:function(){var a,b,c,d;if(a=w(this.operand)){while(!z(/^\/\*/)&&(c=w("/")||w("*"))&&(b=w(this.operand)))d=new f.Operation(c,[d||a,b]);return d||a}},addition:function(){var a,b,c,d;if(a=w(this.multiplication)){while((c=w(/^[-+]\s+/)||g.charAt(h-1)!=" "&&(w("+")||w("-")))&&(b=w(this.multiplication)))d=new f.Operation(c,[d||a,b]);return d||a}},conditions:function(){var a,b,c=h,d;if(a=w(this.condition)){while(w(",")&&(b=w(this.condition)))d=new f.Condition("or",d||a,b,c);return d||a}},condition:function(){var a,b,c,d,e=h,g=!1;w(/^not/)&&(g=!0),x("(");if(a=w(this.addition)||w(this.entities.keyword)||w(this.entities.quoted))return(d=w(/^(?:>=|=<|[<=>])/))?(b=w(this.addition)||w(this.entities.keyword)||w(this.entities.quoted))?c=new f.Condition(d,a,b,e,g):y("expected expression"):c=new f.Condition("=",a,new f.Keyword("true"),e,g),x(")"),w(/^and/)?new f.Condition("and",c,w(this.condition)):c},operand:function(){var a,b=g.charAt(h+1);g.charAt(h)==="-"&&(b==="@"||b==="(")&&(a=w("-"));var c=w(this.sub)||w(this.entities.dimension)||w(this.entities.color)||w(this.entities.variable)||w(this.entities.call);return a?new f.Operation("*",[new f.Dimension(-1),c]):c},expression:function(){var a,b,c=[],d;while(a=w(this.addition)||w(this.entity))c.push(a);if(c.length>0)return new f.Expression(c)},property:function(){var a;if(a=w(/^(\*?-?[-a-z_0-9]+)\s*:/))return a[1]}}}};if(d.mode==="browser"||d.mode==="rhino")d.Parser.importer=function(a,b,c,d){a.charAt(0)!=="/"&&b.length>0&&(a=b[0]+a),o({href:a,title:a,type:d.mime},c,!0)};(function(a){function b(b){return a.functions.hsla(b.h,b.s,b.l,b.a)}function c(b){if(b instanceof a.Dimension)return parseFloat(b.unit=="%"?b.value/100:b.value);if(typeof b=="number")return b;throw{error:"RuntimeError",message:"color functions take numbers as parameters"}}function d(a){return Math.min(1,Math.max(0,a))}a.functions={rgb:function(a,b,c){return this.rgba(a,b,c,1)},rgba:function(b,d,e,f){var g=[b,d,e].map(function(a){return c(a)}),f=c(f);return new a.Color(g,f)},hsl:function(a,b,c){return this.hsla(a,b,c,1)},hsla:function(a,b,d,e){function h(a){return a=a<0?a+1:a>1?a-1:a,a*6<1?g+(f-g)*a*6:a*2<1?f:a*3<2?g+(f-g)*(2/3-a)*6:g}a=c(a)%360/360,b=c(b),d=c(d),e=c(e);var f=d<=.5?d*(b+1):d+b-d*b,g=d*2-f;return this.rgba(h(a+1/3)*255,h(a)*255,h(a-1/3)*255,e)},hue:function(b){return new a.Dimension(Math.round(b.toHSL().h))},saturation:function(b){return new a.Dimension(Math.round(b.toHSL().s*100),"%")},lightness:function(b){return new a.Dimension(Math.round(b.toHSL().l*100),"%")},alpha:function(b){return new a.Dimension(b.toHSL().a)},saturate:function(a,c){var e=a.toHSL();return e.s+=c.value/100,e.s=d(e.s),b(e)},desaturate:function(a,c){var e=a.toHSL();return e.s-=c.value/100,e.s=d(e.s),b(e)},lighten:function(a,c){var e=a.toHSL();return e.l+=c.value/100,e.l=d(e.l),b(e)},darken:function(a,c){var e=a.toHSL();return e.l-=c.value/100,e.l=d(e.l),b(e)},fadein:function(a,c){var e=a.toHSL();return e.a+=c.value/100,e.a=d(e.a),b(e)},fadeout:function(a,c){var e=a.toHSL();return e.a-=c.value/100,e.a=d(e.a),b(e)},fade:function(a,c){var e=a.toHSL();return e.a=c.value/100,e.a=d(e.a),b(e)},spin:function(a,c){var d=a.toHSL(),e=(d.h+c.value)%360;return d.h=e<0?360+e:e,b(d)},mix:function(b,c,d){var e=d.value/100,f=e*2-1,g=b.toHSL().a-c.toHSL().a,h=((f*g==-1?f:(f+g)/(1+f*g))+1)/2,i=1-h,j=[b.rgb[0]*h+c.rgb[0]*i,b.rgb[1]*h+c.rgb[1]*i,b.rgb[2]*h+c.rgb[2]*i],k=b.alpha*e+c.alpha*(1-e);return new a.Color(j,k)},greyscale:function(b){return this.desaturate(b,new a.Dimension(100))},e:function(b){return new a.Anonymous(b instanceof a.JavaScript?b.evaluated:b)},escape:function(b){return new a.Anonymous(encodeURI(b.value).replace(/=/g,"%3D").replace(/:/g,"%3A").replace(/#/g,"%23").replace(/;/g,"%3B").replace(/\(/g,"%28").replace(/\)/g,"%29"))},"%":function(b){var c=Array.prototype.slice.call(arguments,1),d=b.value;for(var e=0;e<c.length;e++)d=d.replace(/%[sda]/i,function(a){var b=a.match(/s/i)?c[e].value:c[e].toCSS();return a.match(/[A-Z]$/)?encodeURIComponent(b):b});return d=d.replace(/%%/g,"%"),new a.Quoted('"'+d+'"',d)},round:function(a){return this._math("round",a)},ceil:function(a){return this._math("ceil",a)},floor:function(a){return this._math("floor",a)},_math:function(b,d){if(d instanceof a.Dimension)return new a.Dimension(Math[b](c(d)),d.unit);if(typeof d=="number")return Math[b](d);throw{type:"Argument",message:"argument must be a number"}},argb:function(b){return new a.Anonymous(b.toARGB())},percentage:function(b){return new a.Dimension(b.value*100,"%")},color:function(b){if(b instanceof a.Quoted)return new a.Color(b.value.slice(1));throw{type:"Argument",message:"argument must be a string"}},iscolor:function(b){return this._isa(b,a.Color)},isnumber:function(b){return this._isa(b,a.Dimension)},isstring:function(b){return this._isa(b,a.Quoted)},iskeyword:function(b){return this._isa(b,a.Keyword)},isurl:function(b){return this._isa(b,a.URL)},ispixel:function(b){return b instanceof a.Dimension&&b.unit==="px"?a.True:a.False},ispercentage:function(b){return b instanceof a.Dimension&&b.unit==="%"?a.True:a.False},isem:function(b){return b instanceof a.Dimension&&b.unit==="em"?a.True:a.False},_isa:function(b,c){return b instanceof c?a.True:a.False}}})(c("./tree")),function(a){a.colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}}(c("./tree")),function(a){a.Alpha=function(a){this.value=a},a.Alpha.prototype={toCSS:function(){return"alpha(opacity="+(this.value.toCSS?this.value.toCSS():this.value)+")"},eval:function(a){return this.value.eval&&(this.value=this.value.eval(a)),this}}}(c("../tree")),function(a){a.Anonymous=function(a){this.value=a.value||a},a.Anonymous.prototype={toCSS:function(){return this.value},eval:function(){return this}}}(c("../tree")),function(a){a.Assignment=function(a,b){this.key=a,this.value=b},a.Assignment.prototype={toCSS:function(){return this.key+"="+(this.value.toCSS?this.value.toCSS():this.value)},eval:function(a){return this.value.eval&&(this.value=this.value.eval(a)),this}}}(c("../tree")),function(a){a.Call=function(a,b,c,d){this.name=a,this.args=b,this.index=c,this.filename=d},a.Call.prototype={eval:function(b){var c=this.args.map(function(a){return a.eval(b)});if(!(this.name in a.functions))return new a.Anonymous(this.name+"("+c.map(function(a){return a.toCSS()}).join(", ")+")");try{return a.functions[this.name].apply(a.functions,c)}catch(d){throw{type:d.type||"Runtime",message:"error evaluating function `"+this.name+"`"+(d.message?": "+d.message:""),index:this.index,filename:this.filename}}},toCSS:function(a){return this.eval(a).toCSS()}}}(c("../tree")),function(a){a.Color=function(a,b){Array.isArray(a)?this.rgb=a:a.length==6?this.rgb=a.match(/.{2}/g).map(function(a){return parseInt(a,16)}):this.rgb=a.split("").map(function(a){return parseInt(a+a,16)}),this.alpha=typeof b=="number"?b:1},a.Color.prototype={eval:function(){return this},toCSS:function(){return this.alpha<1?"rgba("+this.rgb.map(function(a){return Math.round(a)}).concat(this.alpha).join(", ")+")":"#"+this.rgb.map(function(a){return a=Math.round(a),a=(a>255?255:a<0?0:a).toString(16),a.length===1?"0"+a:a}).join("")},operate:function(b,c){var d=[];c instanceof a.Color||(c=c.toColor());for(var e=0;e<3;e++)d[e]=a.operate(b,this.rgb[e],c.rgb[e]);return new a.Color(d,this.alpha+c.alpha)},toHSL:function(){var a=this.rgb[0]/255,b=this.rgb[1]/255,c=this.rgb[2]/255,d=this.alpha,e=Math.max(a,b,c),f=Math.min(a,b,c),g,h,i=(e+f)/2,j=e-f;if(e===f)g=h=0;else{h=i>.5?j/(2-e-f):j/(e+f);switch(e){case a:g=(b-c)/j+(b<c?6:0);break;case b:g=(c-a)/j+2;break;case c:g=(a-b)/j+4}g/=6}return{h:g*360,s:h,l:i,a:d}},toARGB:function(){var a=[Math.round(this.alpha*255)].concat(this.rgb);return"#"+a.map(function(a){return a=Math.round(a),a=(a>255?255:a<0?0:a).toString(16),a.length===1?"0"+a:a}).join("")}}}(c("../tree")),function(a){a.Comment=function(a,b){this.value=a,this.silent=!!b},a.Comment.prototype={toCSS:function(a){return a.compress?"":this.value},eval:function(){return this}}}(c("../tree")),function(a){a.Condition=function(a,b,c,d,e){this.op=a.trim(),this.lvalue=b,this.rvalue=c,this.index=d,this.negate=e},a.Condition.prototype.eval=function(a){var b=this.lvalue.eval(a),c=this.rvalue.eval(a),d=this.index,e,e=function(a){switch(a){case"and":return b&&c;case"or":return b||c;default:if(b.compare)e=b.compare(c);else{if(!c.compare)throw{type:"Type",message:"Unable to perform comparison",index:d};e=c.compare(b)}switch(e){case-1:return a==="<"||a==="=<";case 0:return a==="="||a===">="||a==="=<";case 1:return a===">"||a===">="}}}(this.op);return this.negate?!e:e}}(c("../tree")),function(a){a.Dimension=function(a,b){this.value=parseFloat(a),this.unit=b||null},a.Dimension.prototype={eval:function(){return this},toColor:function(){return new a.Color([this.value,this.value,this.value])},toCSS:function(){var a=this.value+this.unit;return a},operate:function(b,c){return new a.Dimension(a.operate(b,this.value,c.value),this.unit||c.unit)},compare:function(b){return b instanceof a.Dimension?b.value>this.value?-1:b.value<this.value?1:0:-1}}}(c("../tree")),function(a){a.Directive=function(b,c,d){this.name=b,this.features=d&&new a.Value(d),Array.isArray(c)?(this.ruleset=new a.Ruleset([],c),this.ruleset.allowImports=!0):this.value=c},a.Directive.prototype={toCSS:function(a,b){var c=this.features?" "+this.features.toCSS(b):"";return this.ruleset?(this.ruleset.root=!0,this.name+c+(b.compress?"{":" {\n  ")+this.ruleset.toCSS(a,b).trim().replace(/\n/g,"\n  ")+(b.compress?"}":"\n}\n")):this.name+" "+this.value.toCSS()+";\n"},eval:function(a){return this.features=this.features&&this.features.eval(a),a.frames.unshift(this),this.ruleset=this.ruleset&&this.ruleset.eval(a),a.frames.shift(),this},variable:function(b){return a.Ruleset.prototype.variable.call(this.ruleset,b)},find:function(){return a.Ruleset.prototype.find.apply(this.ruleset,arguments)},rulesets:function(){return a.Ruleset.prototype.rulesets.apply(this.ruleset)}}}(c("../tree")),function(a){a.Element=function(b,c,d){this.combinator=b instanceof a.Combinator?b:new a.Combinator(b),typeof c=="string"?this.value=c.trim():c?this.value=c:this.value="",this.index=d},a.Element.prototype.eval=function(b){return new a.Element(this.combinator,this.value.eval?this.value.eval(b):this.value,this.index)},a.Element.prototype.toCSS=function(a){return this.combinator.toCSS(a||{})+(this.value.toCSS?this.value.toCSS(a):this.value)},a.Combinator=function(a){a===" "?this.value=" ":a==="& "?this.value="& ":this.value=a?a.trim():""},a.Combinator.prototype.toCSS=function(a){return{"":""," ":" ","&":"","& ":" ",":":" :","::":"::","+":a.compress?"+":" + ","~":a.compress?"~":" ~ ",">":a.compress?">":" > "}[this.value]}}(c("../tree")),function(a){a.Expression=function(a){this.value=a},a.Expression.prototype={eval:function(b){return this.value.length>1?new a.Expression(this.value.map(function(a){return a.eval(b)})):this.value.length===1?this.value[0].eval(b):this},toCSS:function(a){return this.value.map(function(b){return b.toCSS?b.toCSS(a):""}).join(" ")}}}(c("../tree")),function(a){a.Import=function(b,c,d,e){var f=this;this.index=e,this._path=b,this.features=d&&new a.Value(d),b instanceof a.Quoted?this.path=/\.(le?|c)ss(\?.*)?$/.test(b.value)?b.value:b.value+".less":this.path=b.value.value||b.value,this.css=/css(\?.*)?$/.test(this.path),this.css||c.push(this.path,function(b,c){b&&(b.index=e),f.root=c||new a.Ruleset([],[])})},a.Import.prototype={toCSS:function(a){var b=this.features?" "+this.features.toCSS(a):"";return this.css?"@import "+this._path.toCSS()+b+";\n":""},eval:function(b){var c,d=this.features&&this.features.eval(b);if(this.css)return this;c=new a.Ruleset([],this.root.rules.slice(0));for(var e=0;e<c.rules.length;e++)c.rules[e]instanceof a.Import&&Array.prototype.splice.apply(c.rules,[e,1].concat(c.rules[e].eval(b)));return this.features?new a.Directive("@media",c.rules,this.features.value):c.rules}}}(c("../tree")),function(a){a.JavaScript=function(a,b,c){this.escaped=c,this.expression=a,this.index=b},a.JavaScript.prototype={eval:function(b){var c,d=this,e={},f=this.expression.replace(/@\{([\w-]+)\}/g,function(c,e){return a.jsify((new a.Variable("@"+e,d.index)).eval(b))});try{f=new Function("return ("+f+")")}catch(g){throw{message:"JavaScript evaluation error: `"+
+f+"`",index:this.index}}for(var h in b.frames[0].variables())e[h.slice(1)]={value:b.frames[0].variables()[h].value,toJS:function(){return this.value.eval(b).toCSS()}};try{c=f.call(e)}catch(g){throw{message:"JavaScript evaluation error: '"+g.name+": "+g.message+"'",index:this.index}}return typeof c=="string"?new a.Quoted('"'+c+'"',c,this.escaped,this.index):Array.isArray(c)?new a.Anonymous(c.join(", ")):new a.Anonymous(c)}}}(c("../tree")),function(a){a.Keyword=function(a){this.value=a},a.Keyword.prototype={eval:function(){return this},toCSS:function(){return this.value},compare:function(b){return b instanceof a.Keyword?b.value===this.value?0:1:-1}},a.True=new a.Keyword("true"),a.False=new a.Keyword("false")}(c("../tree")),function(a){a.mixin={},a.mixin.Call=function(b,c,d,e,f){this.selector=new a.Selector(b),this.arguments=c,this.index=d,this.filename=e,this.important=f},a.mixin.Call.prototype={eval:function(a){var b,c,d=[],e=!1;for(var f=0;f<a.frames.length;f++)if((b=a.frames[f].find(this.selector)).length>0){c=this.arguments&&this.arguments.map(function(b){return b.eval(a)});for(var g=0;g<b.length;g++)if(b[g].match(c,a))try{Array.prototype.push.apply(d,b[g].eval(a,this.arguments,this.important).rules),e=!0}catch(h){throw{message:h.message,index:h.index,filename:this.filename,stack:h.stack,call:this.index}}if(e)return d;throw{type:"Runtime",message:"No matching definition was found for `"+this.selector.toCSS().trim()+"("+this.arguments.map(function(a){return a.toCSS()}).join(", ")+")`",index:this.index,filename:this.filename}}throw{type:"Name",message:this.selector.toCSS().trim()+" is undefined",index:this.index,filename:this.filename}}},a.mixin.Definition=function(b,c,d,e){this.name=b,this.selectors=[new a.Selector([new a.Element(null,b)])],this.params=c,this.condition=e,this.arity=c.length,this.rules=d,this._lookups={},this.required=c.reduce(function(a,b){return!b.name||b.name&&!b.value?a+1:a},0),this.parent=a.Ruleset.prototype,this.frames=[]},a.mixin.Definition.prototype={toCSS:function(){return""},variable:function(a){return this.parent.variable.call(this,a)},variables:function(){return this.parent.variables.call(this)},find:function(){return this.parent.find.apply(this,arguments)},rulesets:function(){return this.parent.rulesets.apply(this)},evalParams:function(b,c){var d=new a.Ruleset(null,[]);for(var e=0,f;e<this.params.length;e++)if(this.params[e].name){if(!(f=c&&c[e]||this.params[e].value))throw{type:"Runtime",message:"wrong number of arguments for "+this.name+" ("+c.length+" for "+this.arity+")"};d.rules.unshift(new a.Rule(this.params[e].name,f.eval(b)))}return d},eval:function(b,c,d){var e=this.evalParams(b,c),f,g=[],h;for(var i=0;i<Math.max(this.params.length,c&&c.length);i++)g.push(c[i]||this.params[i].value);return e.rules.unshift(new a.Rule("@arguments",(new a.Expression(g)).eval(b))),h=d?this.rules.map(function(b){return new a.Rule(b.name,b.value,"!important",b.index)}):this.rules.slice(0),(new a.Ruleset(null,h)).eval({frames:[this,e].concat(this.frames,b.frames)})},match:function(a,b){var c=a&&a.length||0,d,e;if(c<this.required)return!1;if(this.required>0&&c>this.params.length)return!1;if(this.condition&&!this.condition.eval({frames:[this.evalParams(b,a)].concat(b.frames)}))return!1;d=Math.min(c,this.arity);for(var f=0;f<d;f++)if(!this.params[f].name&&a[f].eval(b).toCSS()!=this.params[f].value.eval(b).toCSS())return!1;return!0}}}(c("../tree")),function(a){a.Operation=function(a,b){this.op=a.trim(),this.operands=b},a.Operation.prototype.eval=function(b){var c=this.operands[0].eval(b),d=this.operands[1].eval(b),e;if(c instanceof a.Dimension&&d instanceof a.Color){if(this.op!=="*"&&this.op!=="+")throw{name:"OperationError",message:"Can't substract or divide a color from a number"};e=d,d=c,c=e}return c.operate(this.op,d)},a.operate=function(a,b,c){switch(a){case"+":return b+c;case"-":return b-c;case"*":return b*c;case"/":return b/c}}}(c("../tree")),function(a){a.Paren=function(a){this.value=a},a.Paren.prototype={toCSS:function(a){return"("+this.value.toCSS(a)+")"},eval:function(b){return new a.Paren(this.value.eval(b))}}}(c("../tree")),function(a){a.Quoted=function(a,b,c,d){this.escaped=c,this.value=b||"",this.quote=a.charAt(0),this.index=d},a.Quoted.prototype={toCSS:function(){return this.escaped?this.value:this.quote+this.value+this.quote},eval:function(b){var c=this,d=this.value.replace(/`([^`]+)`/g,function(d,e){return(new a.JavaScript(e,c.index,!0)).eval(b).value}).replace(/@\{([\w-]+)\}/g,function(d,e){var f=(new a.Variable("@"+e,c.index)).eval(b);return"value"in f?f.value:f.toCSS()});return new a.Quoted(this.quote+d+this.quote,d,this.escaped,this.index)}}}(c("../tree")),function(a){a.Rule=function(b,c,d,e,f){this.name=b,this.value=c instanceof a.Value?c:new a.Value([c]),this.important=d?" "+d.trim():"",this.index=e,this.inline=f||!1,b.charAt(0)==="@"?this.variable=!0:this.variable=!1},a.Rule.prototype.toCSS=function(a){return this.variable?"":this.name+(a.compress?":":": ")+this.value.toCSS(a)+this.important+(this.inline?"":";")},a.Rule.prototype.eval=function(b){return new a.Rule(this.name,this.value.eval(b),this.important,this.index,this.inline)},a.Shorthand=function(a,b){this.a=a,this.b=b},a.Shorthand.prototype={toCSS:function(a){return this.a.toCSS(a)+"/"+this.b.toCSS(a)},eval:function(){return this}}}(c("../tree")),function(a){a.Ruleset=function(a,b){this.selectors=a,this.rules=b,this._lookups={}},a.Ruleset.prototype={eval:function(b){var c=this.selectors&&this.selectors.map(function(a){return a.eval(b)}),d=new a.Ruleset(c,this.rules.slice(0));d.root=this.root,d.allowImports=this.allowImports,b.frames.unshift(d);if(d.root||d.allowImports)for(var e=0;e<d.rules.length;e++)d.rules[e]instanceof a.Import&&Array.prototype.splice.apply(d.rules,[e,1].concat(d.rules[e].eval(b)));for(var e=0;e<d.rules.length;e++)d.rules[e]instanceof a.mixin.Definition&&(d.rules[e].frames=b.frames.slice(0));for(var e=0;e<d.rules.length;e++)d.rules[e]instanceof a.mixin.Call&&Array.prototype.splice.apply(d.rules,[e,1].concat(d.rules[e].eval(b)));for(var e=0,f;e<d.rules.length;e++)f=d.rules[e],f instanceof a.mixin.Definition||(d.rules[e]=f.eval?f.eval(b):f);return b.frames.shift(),d},match:function(a){return!a||a.length===0},variables:function(){return this._variables?this._variables:this._variables=this.rules.reduce(function(b,c){return c instanceof a.Rule&&c.variable===!0&&(b[c.name]=c),b},{})},variable:function(a){return this.variables()[a]},rulesets:function(){return this._rulesets?this._rulesets:this._rulesets=this.rules.filter(function(b){return b instanceof a.Ruleset||b instanceof a.mixin.Definition})},find:function(b,c){c=c||this;var d=[],e,f,g=b.toCSS();return g in this._lookups?this._lookups[g]:(this.rulesets().forEach(function(e){if(e!==c)for(var g=0;g<e.selectors.length;g++)if(f=b.match(e.selectors[g])){b.elements.length>e.selectors[g].elements.length?Array.prototype.push.apply(d,e.find(new a.Selector(b.elements.slice(1)),c)):d.push(e);break}}),this._lookups[g]=d)},toCSS:function(b,c){var d=[],e=[],f=[],g=[],h,i;this.root||(b.length===0?g=this.selectors.map(function(a){return[a]}):this.joinSelectors(g,b,this.selectors));for(var j=0;j<this.rules.length;j++)i=this.rules[j],i.rules||i instanceof a.Directive?f.push(i.toCSS(g,c)):i instanceof a.Comment?i.silent||(this.root?f.push(i.toCSS(c)):e.push(i.toCSS(c))):i.toCSS&&!i.variable?e.push(i.toCSS(c)):i.value&&!i.variable&&e.push(i.value.toString());return f=f.join(""),this.root?d.push(e.join(c.compress?"":"\n")):e.length>0&&(h=g.map(function(a){return a.map(function(a){return a.toCSS(c)}).join("").trim()}).join(c.compress?",":g.length>3?",\n":", "),d.push(h,(c.compress?"{":" {\n  ")+e.join(c.compress?"":"\n  ")+(c.compress?"}":"\n}\n"))),d.push(f),d.join("")+(c.compress?"\n":"")},joinSelectors:function(a,b,c){for(var d=0;d<c.length;d++)this.joinSelector(a,b,c[d])},joinSelector:function(b,c,d){var e=[],f=[],g=[],h=[],i=!1,j;for(var k=0;k<d.elements.length;k++)j=d.elements[k],j.combinator.value.charAt(0)==="&"&&(i=!0),i?h.push(j):g.push(j);i||(h=g,g=[]),g.length>0&&e.push(new a.Selector(g)),h.length>0&&f.push(new a.Selector(h));for(var l=0;l<c.length;l++)b.push(e.concat(c[l]).concat(f))}}}(c("../tree")),function(a){a.Selector=function(a){this.elements=a,this.elements[0].combinator.value===""&&(this.elements[0].combinator.value=" ")},a.Selector.prototype.match=function(a){var b=this.elements.length,c=a.elements.length,d=Math.min(b,c);if(b<c)return!1;for(var e=0;e<d;e++)if(this.elements[e].value!==a.elements[e].value)return!1;return!0},a.Selector.prototype.eval=function(b){return new a.Selector(this.elements.map(function(a){return a.eval(b)}))},a.Selector.prototype.toCSS=function(a){return this._css?this._css:this._css=this.elements.map(function(b){return typeof b=="string"?" "+b.trim():b.toCSS(a)}).join("")}}(c("../tree")),function(b){b.URL=function(b,c){b.data?this.attrs=b:(typeof a!="undefined"&&!/^(?:https?:\/\/|file:\/\/|data:|\/)/.test(b.value)&&c.length>0&&(b.value=c[0]+(b.value.charAt(0)==="/"?b.value.slice(1):b.value)),this.value=b,this.paths=c)},b.URL.prototype={toCSS:function(){return"url("+(this.attrs?"data:"+this.attrs.mime+this.attrs.charset+this.attrs.base64+this.attrs.data:this.value.toCSS())+")"},eval:function(a){return this.attrs?this:new b.URL(this.value.eval(a),this.paths)}}}(c("../tree")),function(a){a.Value=function(a){this.value=a,this.is="value"},a.Value.prototype={eval:function(b){return this.value.length===1?this.value[0].eval(b):new a.Value(this.value.map(function(a){return a.eval(b)}))},toCSS:function(a){return this.value.map(function(b){return b.toCSS(a)}).join(a.compress?",":", ")}}}(c("../tree")),function(a){a.Variable=function(a,b,c){this.name=a,this.index=b,this.file=c},a.Variable.prototype={eval:function(b){var c,d,e=this.name;e.indexOf("@@")==0&&(e="@"+(new a.Variable(e.slice(1))).eval(b).value);if(c=a.find(b.frames,function(a){if(d=a.variable(e))return d.value.eval(b)}))return c;throw{type:"Name",message:"variable "+e+" is undefined",filename:this.file,index:this.index}}}}(c("../tree")),function(a){a.find=function(a,b){for(var c=0,d;c<a.length;c++)if(d=b.call(a,a[c]))return d;return null},a.jsify=function(a){return Array.isArray(a.value)&&a.value.length>1?"["+a.value.map(function(a){return a.toCSS(!1)}).join(", ")+"]":a.toCSS(!1)}}(c("./tree"));var g=location.protocol==="file:"||location.protocol==="chrome:"||location.protocol==="chrome-extension:"||location.protocol==="resource:";d.env=d.env||(location.hostname=="127.0.0.1"||location.hostname=="0.0.0.0"||location.hostname=="localhost"||location.port.length>0||g?"development":"production"),d.async=!1,d.poll=d.poll||(g?1e3:1500),d.watch=function(){return this.watchMode=!0},d.unwatch=function(){return this.watchMode=!1},d.env==="development"?(d.optimization=0,/!watch/.test(location.hash)&&d.watch(),d.watchTimer=setInterval(function(){d.watchMode&&n(function(a,b,c,d,e){b&&r(b.toCSS(),d,e.lastModified)})},d.poll)):d.optimization=3;var h;try{h=typeof a.localStorage=="undefined"?null:a.localStorage}catch(i){h=null}var j=document.getElementsByTagName("link"),k=/^text\/(x-)?less$/;d.sheets=[];for(var l=0;l<j.length;l++)(j[l].rel==="stylesheet/less"||j[l].rel.match(/stylesheet/)&&j[l].type.match(k))&&d.sheets.push(j[l]);d.refresh=function(a){var b,c;b=c=new Date,n(function(a,d,e,f,g){g.local?v("loading "+f.href+" from cache."):(v("parsed "+f.href+" successfully."),r(d.toCSS(),f,g.lastModified)),v("css for "+f.href+" generated in "+(new Date-c)+"ms"),g.remaining===0&&v("css generated in "+(new Date-b)+"ms"),c=new Date},a),m()},d.refreshStyles=m,d.refresh(d.env==="development")})(window);
\ No newline at end of file
index f7fb0d8..fdcb0c1 100644 (file)
@@ -45,7 +45,7 @@ class SkinMonoBook extends SkinTemplate {
        function setupSkinUserCss( OutputPage $out ) {
                parent::setupSkinUserCss( $out );
 
-               $out->addModuleStyles( 'skins.monobook' );
+               $out->addModuleStyles( array( 'skins.common', 'skins.monobook.styles' ) );
 
                // TODO: Migrate all of these
                $out->addStyle( 'monobook/IE60Fixes.css', 'screen', 'IE 6' );
index 288b5fd..a9ab8fb 100644 (file)
@@ -67,7 +67,7 @@ class SkinVector extends SkinTemplate {
        function setupSkinUserCss( OutputPage $out ) {
                parent::setupSkinUserCss( $out );
 
-               $styles = array( 'skins.vector' );
+               $styles = array( 'skins.common', 'skins.vector.styles' );
                wfRunHooks( 'SkinVectorStyleModules', array( &$this, &$styles ) );
                $out->addModuleStyles( $styles );
        }
index af6665e..7eca070 100644 (file)
@@ -59,7 +59,7 @@
        font-size: 84%;
        line-height: 1.2em;
        margin: 0 0 1.4em 1em;
-       color: #7d7d7d;
+       color: #545454;
        width: auto;
 }
 span.subpages {
index c7804a0..2d45653 100644 (file)
@@ -17,6 +17,12 @@ a.new {
        border: 1px solid #aaaaaa;
        background-color: #f9f9f9;
        padding: 5px;
+       display: -moz-inline-block;
+       display: inline-block;
+       display: table;
+       /* IE7 and earlier */
+       zoom: 1;
+       *display: inline;
 }
 
 /* images */
index 2e61f63..310294a 100644 (file)
@@ -533,7 +533,11 @@ table.wikitable > caption {
        font-weight: bold;
 }
 
-/* hide initially collapsed collapsable tables */
+/**
+ * Hide collapsable rows in a collapsed table.
+ *
+ * Used by ImagePage and the mediawiki.action.view.metadata module.
+ */
 table.collapsed tr.collapsable {
        display: none;
 }
index 40fbfd7..5da7d5b 100644 (file)
@@ -303,7 +303,7 @@ hr {
 }
 
 #contentSub {
-       color: #888;
+       color: #545454;
        font-size: small;
        padding-left: 2em;
 }
diff --git a/skins/vector/beta/screen.less b/skins/vector/beta/screen.less
deleted file mode 100644 (file)
index 6d56cd5..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Content */
-#content {
-       line-height: 1.5em;
-       .mw-editsection {
-               font-family: @content-font-family;
-       }
-
-       h1,
-       #firstHeading {
-               font-family: @content-heading-font-family;
-               font-size: 1.833em;
-               line-height: 22pt;
-               padding: 0;
-               margin-bottom: 4pt;
-       }
-
-       h2 {
-               font-size: 1.5em;
-               line-height: 22pt;
-       }
-
-       h2,
-       h3,
-       h4,
-       h5,
-       h6 {
-               font-family: @content-heading-font-family;
-               padding: 0;
-               margin-bottom: 4pt;
-               margin-top: 14pt;
-       }
-
-       h3 {
-               font-size: 1.17em;
-               line-height: 22pt;
-       }
-
-       h3,
-       h4 {
-               font-weight: bold;
-       }
-
-       h4,
-       h5,
-       h6 {
-               font-size: 100%; /* (reset) */
-       }
-
-       h6 {
-               font-style: italic;
-       }
-
-       p {
-               margin-bottom: 8pt;
-       }
-
-       // FIXME: this is hacky
-       #toc h2 {
-               font-size: 100%;
-       }
-}
-
-/* Personal menu */
-#p-personal a {
-       color: #555;
-}
-
-/* Main menu */
-div#mw-panel div.portal {
-       margin-left: 1.25em;
-       h3 {
-               margin: 0;
-               line-height: 1;
-       }
-}
diff --git a/skins/vector/beta/variables.less b/skins/vector/beta/variables.less
deleted file mode 100644 (file)
index 08e662d..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-@html-font-size: 90%;
-
-@body-font-size: inherit;
-
-// Page content
-@content-font-family: "Helvetica Neue", "Helvetica", "Nimbus Sans L", "Arial", "Liberation Sans", sans-serif;
-@content-font-color: #252525;
-@content-font-size: 0.9em;
-@content-line-height: inherit;
-@content-padding: 1em;
-@content-heading-font-size: 1.6em;
-@content-heading-font-family: Georgia, "DejaVu Serif", serif;
-
-// Common menu
-@menu-link-color: #555;
-
-// Main menu
-@menu-main-font-size: 0.82em;
-@menu-main-heading-font-size: 100%;
-@menu-main-heading-padding: 5px 0;
-
-@menu-main-body-font-size: inherit;
-@menu-main-body-link-color: inherit;
-@menu-main-body-link-visited-color: inherit;
-@menu-main-body-margin: 0;
-@menu-main-body-padding: 0 0 10px;
-@menu-main-logo-left: 1.6em;
-
-// Personal menu
-@menu-personal-font-size: 0.75em;
-
-// Collapsible nav
-@collapsible-nav-heading-color: #555;
-@collapsible-nav-heading-collapsed-color: inherit;
-
-@collapsible-nav-heading-padding: 4px 0 3px 1.5em;
-@collapsible-nav-body-margin: 0 0 0 1.25em;
index 83d043e..e33cfc9 100644 (file)
                        collapsible: 'li.collapsible',
                        shifting: false,
                        expandCondition: function ( eleWidth ) {
-                               // If there's at least eleWidth pixels free space, expand.
-                               return calculateTabDistance() >= eleWidth;
+                               // If there are at least eleWidth + 1 pixels of free space, expand.
+                               // We add 1 because .width() will truncate fractional values
+                               // but .offset() will not.
+                               return calculateTabDistance() >= (eleWidth + 1);
                        },
                        collapseCondition: function () {
                                // If there's an overlap, collapse.
index 5a1fc05..2683a21 100644 (file)
@@ -2,7 +2,7 @@
 
 div#content {
        margin-left: 11em;
-       padding: 1.25em 1.5em 1.5em 1.5em;
+       padding: 1.5em 1.5em 1.5em 1.75em;
 }
 #p-logo {
        left: @menu-main-logo-left;
diff --git a/skins/vector/styles-beta.less b/skins/vector/styles-beta.less
deleted file mode 100644 (file)
index a76b639..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-@import "variables.less";
-@import "beta/variables.less";
-
-@media screen {
-       @import "screen.less";
-       @import "beta/screen.less";
-       @import "externalLinks.less";
-       @import "collapsibleNav.less";
-}
-
-@media screen and (min-width: 982px) {
-       @import "screen-hd.less";
-}
index 691e0fd..f818401 100644 (file)
@@ -7,7 +7,7 @@
 @content-font-color: black;
 @content-font-size: 0.8em;
 @content-line-height: 1.5em;
-@content-padding: 1.5em 1.5em 1.5em 1.75em;
+@content-padding: 1.25em 1.5em 1.5em 1.5em;
 @content-heading-font-size: 1.6em;
 @content-heading-font-family: sans-serif;
 
index 7e275a5..cd2a23a 100644 (file)
@@ -474,6 +474,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
                // create revisions -----------------------------
                $page = WikiPage::factory( Title::newFromText(
                        'RevisionStorageTest_testUserWasLastToEdit', $ns ) );
+               $page->insertOn( $dbw );
 
                # zero
                $revisions[0] = new Revision( array(
index a2b707c..a3d68b6 100644 (file)
@@ -264,7 +264,7 @@ class StatusTest extends MediaWikiLangTestCase {
         *       this can not really be done now due to use of $this->getWikiText using wfMessage()->plain()
         *       It is possible to mock such methods but only if namespaces are used
         */
-       public function testGetHtml( Status $status, $wikitext, $html) {
+       public function testGetHtml( Status $status, $wikitext, $html ) {
                $this->assertEquals( $html, $status->getHTML() );
        }
 
index 16dac94..516ce3a 100644 (file)
@@ -44,6 +44,7 @@ class FakeDatabaseMysqlBase extends DatabaseMysqlBase {
        protected function mysqlNumRows( $res ) {}
        protected function mysqlNumFields( $res ) {}
        protected function mysqlFieldName( $res, $n ) {}
+       protected function mysqlFieldType( $res, $n ) {}
        protected function mysqlDataSeek( $res, $row ) {}
        protected function mysqlError( $conn = null ) {}
        protected function mysqlFetchField( $res, $n ) {}
index 072cb7c..653205f 100644 (file)
@@ -37,7 +37,9 @@ class FileBackendTest extends MediaWikiTestCase {
                                $useConfig['shardViaHashLevels'] = array( // test sharding
                                        'unittest-cont1' => array( 'levels' => 1, 'base' => 16, 'repeat' => 1 )
                                );
-                               $useConfig['fileJournal'] = FileJournal::factory( $config['fileJournal'], $name );
+                               if ( isset( $useConfig['fileJournal'] ) ) {
+                                       $useConfig['fileJournal'] = FileJournal::factory( $useConfig['fileJournal'], $name );
+                               }
                                $useConfig['lockManager'] = LockManagerGroup::singleton()->get( $useConfig['lockManager'] );
                                $class = $useConfig['class'];
                                self::$backendToUse = new $class( $useConfig );
@@ -1114,6 +1116,57 @@ class FileBackendTest extends MediaWikiTestCase {
                return $cases;
        }
 
+       /**
+        * @dataProvider provider_testGetFileStat
+        * @covers FileBackend::streamFile
+        */
+       public function testStreamFile( $path, $content, $alreadyExists ) {
+               $this->backend = $this->singleBackend;
+               $this->tearDownFiles();
+               $this->doTestStreamFile( $path, $content, $alreadyExists );
+               $this->tearDownFiles();
+       }
+
+       private function doTestStreamFile( $path, $content ) {
+               $backendName = $this->backendClass();
+
+               // Test doStreamFile() directly to avoid header madness
+               $class = new ReflectionClass( $this->backend );
+               $method = $class->getMethod( 'doStreamFile' );
+               $method->setAccessible( true );
+
+               if ( $content !== null ) {
+                       $this->prepare( array( 'dir' => dirname( $path ) ) );
+                       $status = $this->create( array( 'dst' => $path, 'content' => $content ) );
+                       $this->assertGoodStatus( $status,
+                               "Creation of file at $path succeeded ($backendName)." );
+
+                       ob_start();
+                       $method->invokeArgs( $this->backend, array( array( 'src' => $path ) ) );
+                       $data = ob_get_contents();
+                       ob_end_clean();
+
+                       $this->assertEquals( $content, $data, "Correct content streamed from '$path'" );
+               } else { // 404 case
+                       ob_start();
+                       $method->invokeArgs( $this->backend, array( array( 'src' => $path ) ) );
+                       $data = ob_get_contents();
+                       ob_end_clean();
+
+                       $this->assertEquals( '', $data, "Correct content streamed from '$path' ($backendName)" );
+               }
+       }
+
+       public static function provider_testStreamFile() {
+               $cases = array();
+
+               $base = self::baseStorePath();
+               $cases[] = array( "$base/unittest-cont1/e/b/z/some_file.txt", "some file contents" );
+               $cases[] = array( "$base/unittest-cont1/e/b/some-other_file.txt", null );
+
+               return $cases;
+       }
+
        /**
         * @dataProvider provider_testGetFileContents
         * @covers FileBackend::getFileContents
index 5bbc3a5..5c0487b 100644 (file)
@@ -148,11 +148,46 @@ class CSSMinTest extends MediaWikiTestCase {
                                'foo { background: url(red.gif); }',
                                'foo { background: url(http://localhost/w/red.gif?timestamp); }',
                        ),
+                       array(
+                               'Regular file (missing)',
+                               'foo { background: url(theColorOfHerHair.gif); }',
+                               'foo { background: url(http://localhost/w/theColorOfHerHair.gif); }',
+                       ),
                        array(
                                'Remote URL',
                                'foo { background: url(http://example.org/w/foo.png); }',
                                'foo { background: url(http://example.org/w/foo.png); }',
                        ),
+                       array(
+                               'Protocol-relative remote URL',
+                               'foo { background: url(//example.org/w/foo.png); }',
+                               'foo { background: url(//example.org/w/foo.png); }',
+                       ),
+                       array(
+                               'Remote URL with query',
+                               'foo { background: url(http://example.org/w/foo.png?query=yes); }',
+                               'foo { background: url(http://example.org/w/foo.png?query=yes); }',
+                       ),
+                       array(
+                               'Protocol-relative remote URL with query',
+                               'foo { background: url(//example.org/w/foo.png?query=yes); }',
+                               'foo { background: url(//example.org/w/foo.png?query=yes); }',
+                       ),
+                       array(
+                               'Domain-relative URL',
+                               'foo { background: url(/static/foo.png); }',
+                               'foo { background: url(http://doc.example.org/static/foo.png); }',
+                       ),
+                       array(
+                               'Domain-relative URL with query',
+                               'foo { background: url(/static/foo.png?query=yes); }',
+                               'foo { background: url(http://doc.example.org/static/foo.png?query=yes); }',
+                       ),
+                       array(
+                               'Remote URL (unnecessary quotes not preserved)',
+                               'foo { background: url("http://example.org/w/foo.png"); }',
+                               'foo { background: url(http://example.org/w/foo.png); }',
+                       ),
                        array(
                                'Embedded file',
                                'foo { /* @embed */ background: url(red.gif); }',
@@ -218,6 +253,55 @@ class CSSMinTest extends MediaWikiTestCase {
                                'foo { background: url( red.gif ); }',
                                'foo { background: url(http://localhost/w/red.gif?timestamp); }',
                        ),
+                       array(
+                               '@import rule to local file (should we remap this?)',
+                               '@import url(/styles.css)',
+                               '@import url(http://doc.example.org/styles.css)',
+                       ),
+                       array(
+                               '@import rule to URL (should we remap this?)',
+                               '@import url(//localhost/styles.css?query=yes)',
+                               '@import url(//localhost/styles.css?query=yes)',
+                       ),
+               );
+       }
+
+       /**
+        * This tests basic functionality of CSSMin::buildUrlValue.
+        *
+        * @dataProvider provideBuildUrlValueCases
+        * @covers CSSMin::buildUrlValue
+        */
+       public function testBuildUrlValue( $message, $input, $expectedOutput ) {
+               $this->assertEquals(
+                       $expectedOutput,
+                       CSSMin::buildUrlValue( $input ),
+                       "CSSMin::buildUrlValue: $message"
+               );
+       }
+
+       public static function provideBuildUrlValueCases() {
+               return array(
+                       array(
+                               'Full URL',
+                               'scheme://user@domain:port/~user/fi%20le.png?query=yes&really=y+s',
+                               'url(scheme://user@domain:port/~user/fi%20le.png?query=yes&really=y+s)',
+                       ),
+                       array(
+                               'data: URI',
+                               'data:image/png;base64,R0lGODlh/+==',
+                               'url(data:image/png;base64,R0lGODlh/+==)',
+                       ),
+                       array(
+                               'URL with quotes',
+                               "https://en.wikipedia.org/wiki/Wendy's",
+                               "url(\"https://en.wikipedia.org/wiki/Wendy's\")",
+                       ),
+                       array(
+                               'URL with parentheses',
+                               'https://en.wikipedia.org/wiki/Boston_(band)',
+                               'url("https://en.wikipedia.org/wiki/Boston_(band)")',
+                       ),
                );
        }
 
index 854e2d3..e568eaf 100644 (file)
@@ -76,7 +76,7 @@ class DjVuTest extends MediaWikiTestCase {
 
        public function testGetImageSize() {
                $this->assertArrayEquals(
-                       array(  2480, 3508, 'DjVu', 'width="2480" height="3508"' ),
+                       array( 2480, 3508, 'DjVu', 'width="2480" height="3508"' ),
                        $this->handler->getImageSize( null, $this->filePath . '/LoremIpsum.djvu' ),
                        'Test file LoremIpsum.djvu should have a size of 2480 * 3508'
                );
index 124b477..c742444 100644 (file)
@@ -308,7 +308,7 @@ class NewParserTest extends MediaWikiTestCase {
                                $useConfig['name'] = 'local-backend'; // swap name
                                unset( $useConfig['lockManager'] );
                                unset( $useConfig['fileJournal'] );
-                               $class = $conf['class'];
+                               $class = $useConfig['class'];
                                self::$backendToUse = new $class( $useConfig );
                                $backend = self::$backendToUse;
                        }
@@ -318,11 +318,7 @@ class NewParserTest extends MediaWikiTestCase {
                        # informations.
                        $backend = new MockFileBackend( array(
                                'name' => 'local-backend',
-                               'wikiId' => wfWikiId(),
-                               'containerPaths' => array(
-                                       'local-public' => "$uploadDir",
-                                       'local-thumb' => "$uploadDir/thumb",
-                               )
+                               'wikiId' => wfWikiId()
                        ) );
                }
 
@@ -448,16 +444,12 @@ class NewParserTest extends MediaWikiTestCase {
                ) );
 
                // No helpful SVG file to copy, so make one ourselves
-               $tmpDir = wfTempDir();
-               $tempFsFile = new TempFSFile( "$tmpDir/Foobar.svg" );
-               $tempFsFile->autocollect(); // destroy file when $tempFsFile leaves scope
-               file_put_contents( "$tmpDir/Foobar.svg",
-                       '<?xml version="1.0" encoding="utf-8"?>' .
-                       '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><text>Foo</text></svg>' );
+               $data = '<?xml version="1.0" encoding="utf-8"?>' .
+                       '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><text>Foo</text></svg>';
 
                $backend->prepare( array( 'dir' => "$base/local-public/f/ff" ) );
-               $backend->quickStore( array(
-                       'src' => "$tmpDir/Foobar.svg", 'dst' => "$base/local-public/f/ff/Foobar.svg"
+               $backend->quickCreate( array(
+                       'content' => $data, 'dst' => "$base/local-public/f/ff/Foobar.svg"
                ) );
        }
 
index a0def62..fc58022 100644 (file)
@@ -1,20 +1,19 @@
 <?php
 /**
+ * Test for Manx (Gaelg) language
+ *
  * @author Santhosh Thottingal
- * @copyright Copyright © 2012, Santhosh Thottingal
+ * @copyright Copyright © 2013, Santhosh Thottingal
  * @file
  */
 
-/** Tests for MediaWiki languages/classes/LanguageGv.php */
 class LanguageGvTest extends LanguageClassesTestCase {
        /**
         * @dataProvider providePlural
         * @covers Language::convertPlural
         */
        public function testPlural( $result, $value ) {
-               // This is not compatible with CLDR plural rules http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html#gv
-               // What does this mean? Is there a hard-coded override for gv somewhere? -Ryan Kaldari 2013-01-28
-               $forms = array( 'Form 1', 'Form 2', 'Form 3', 'Form 4' );
+               $forms = array( 'one', 'two', 'few', 'other' );
                $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
@@ -23,21 +22,23 @@ class LanguageGvTest extends LanguageClassesTestCase {
         * @covers Language::getPluralRuleType
         */
        public function testGetPluralRuleType( $result, $value ) {
-               $this->markTestSkipped( "This test won't work since convertPlural for gv doesn't seem to actually follow our plural rules." );
                $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
        }
 
        public static function providePlural() {
                return array(
-                       array( 'Form 4', 0 ),
-                       array( 'Form 2', 1 ),
-                       array( 'Form 3', 2 ),
-                       array( 'Form 4', 3 ),
-                       array( 'Form 1', 20 ),
-                       array( 'Form 2', 21 ),
-                       array( 'Form 3', 22 ),
-                       array( 'Form 4', 23 ),
-                       array( 'Form 4', 50 ),
+                       array( 'few', 0 ),
+                       array( 'one', 1 ),
+                       array( 'two', 2 ),
+                       array( 'other', 3 ),
+                       array( 'few', 20 ),
+                       array( 'one', 21 ),
+                       array( 'two', 22 ),
+                       array( 'other', 23 ),
+                       array( 'other', 50 ),
+                       array( 'few', 60 ),
+                       array( 'other', 80 ),
+                       array( 'few', 100 )
                );
        }
 }
index 49aefbd..de8590e 100644 (file)
  * @ingroup FileBackend
  * @since 1.22
  */
-class MockFileBackend extends FileBackendStore {
-
-       protected $mocked = array();
-
-       /** Poor man debugging */
-       protected function debug( $msg = '' ) {
-               wfDebug( wfGetCaller() . "$msg\n" );
-       }
-
-       public function isPathUsableInternal( $storagePath ) {
-               return true;
-       }
-
-       protected function doCreateInternal( array $params ) {
-               if ( isset( $params['content'] ) ) {
-                       $content = $params['content'];
-               } else {
-                       $content = 'Default mocked file content';
-               }
-               $this->debug( serialize( $params ) );
-               $dst = $params['dst'];
-               $this->mocked[$dst] = $content;
-               return Status::newGood();
-       }
-
-       protected function doStoreInternal( array $params ) {
-               $this->debug( serialize( $params ) );
-               return $this->doCreateInternal( $params );
-       }
-
-       protected function doCopyInternal( array $params ) {
-               $this->debug( serialize( $params ) );
-               $src = $params['src'];
-               $dst = $params['dst'];
-               $this->mocked[$dst] = $this->mocked[$src];
-               return Status::newGood();
-       }
-
-       protected function doDeleteInternal( array $params ) {
-               $this->debug( serialize( $params ) );
-               $src = $params['src'];
-               unset( $this->mocked[$src] );
-               return Status::newGood();
-       }
-
-       protected function doGetFileStat( array $params ) {
-               $src = $params['src'];
-               if ( array_key_exists( $src, $this->mocked ) ) {
-                       $this->debug( "('$src') found" );
-                       return array(
-                               'mtime' => wfTimestamp( TS_MW ),
-                               'size' => strlen( $this->mocked[$src] ),
-                               # No sha1, stat does not need it.
-                       );
-               } else {
-                       $this->debug( "('$src') not found" );
-                       return false;
-               }
-       }
-
+class MockFileBackend extends MemoryFileBackend {
        protected function doGetLocalCopyMulti( array $params ) {
                $tmpFiles = array(); // (path => MockFSFile)
-
-               $this->debug( '(' . serialize( $params ) . ')' );
                foreach ( $params['srcs'] as $src ) {
-                       $tmpFiles[$src] = new MockFSFile(
-                               wfTempDir() . '/' . wfRandomString( 32 )
-                       );
+                       $tmpFiles[$src] = new MockFSFile( wfTempDir() . '/' . wfRandomString( 32 ) );
                }
                return $tmpFiles;
        }
-
-       protected function doDirectoryExists( $container, $dir, array $params ) {
-               $this->debug();
-               return true;
-       }
-
-       public function getDirectoryListInternal( $container, $dir, array $params ) {
-               $this->debug();
-               return array();
-       }
-
-       public function getFileListInternal( $container, $dir, array $params ) {
-               $this->debug();
-               return array();
-       }
-
-       protected function directoriesAreVirtual() {
-               $this->debug();
-               return true;
-       }
 }
index 76f32f7..8fd789a 100644 (file)
@@ -71,7 +71,9 @@
                        'Opera/9.80 (Android; Opera Mini/7.29530/27.1407; U; en) Presto/2.8.119 Version/11.10',
                        // Ovi Browser
                        'Mozilla/5.0 (Series40; NokiaX3-02/05.60; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/3.2.0.0.6',
-                       'Mozilla/5.0 (Series40; Nokia305/05.92; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/3.7.0.0.11'
+                       'Mozilla/5.0 (Series40; Nokia305/05.92; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/3.7.0.0.11',
+                       // Google Glass
+                       'Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Glass 1 Build/IMM76L; XE11) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
                ],
                // No explicit support for or against these browsers, they're
                // given a shot at Grade A at their own risk.