Merge "Show redirect fragments on Special:BrokenRedirects"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 4 Aug 2017 16:36:39 +0000 (16:36 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 4 Aug 2017 16:36:40 +0000 (16:36 +0000)
147 files changed:
.gitignore
Gruntfile.js
RELEASE-NOTES-1.30
autoload.php
composer.json
includes/DefaultSettings.php
includes/EditPage.php
includes/Linker.php
includes/ListToggle.php
includes/Sanitizer.php
includes/Setup.php
includes/Title.php
includes/actions/InfoAction.php
includes/api/ApiMain.php
includes/htmlform/HTMLForm.php
includes/htmlform/HTMLFormField.php
includes/htmlform/OOUIHTMLForm.php
includes/htmlform/fields/HTMLCheckField.php
includes/htmlform/fields/HTMLFormFieldCloner.php
includes/htmlform/fields/HTMLMultiSelectField.php
includes/htmlform/fields/HTMLRadioField.php
includes/htmlform/fields/HTMLTextAreaField.php
includes/htmlform/fields/HTMLTextField.php
includes/installer/i18n/pt.json
includes/page/CategoryPage.php
includes/page/ImagePage.php
includes/parser/Parser.php
includes/resourceloader/ResourceLoaderMediaWikiUtilModule.php [new file with mode: 0644]
includes/skins/BaseTemplate.php
includes/skins/Skin.php
includes/specials/SpecialContributions.php
includes/specials/SpecialDoubleRedirects.php
includes/specials/SpecialImport.php
includes/specials/SpecialListgrants.php
includes/specials/SpecialListgrouprights.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialUndelete.php
includes/specials/SpecialVersion.php
includes/specials/pagers/AllMessagesTablePager.php
includes/specials/pagers/ContribsPager.php
jsduck.json
languages/i18n/ast.json
languages/i18n/azb.json
languages/i18n/ba.json
languages/i18n/be-tarask.json
languages/i18n/bho.json
languages/i18n/bs.json
languages/i18n/ce.json
languages/i18n/de.json
languages/i18n/en.json
languages/i18n/fr.json
languages/i18n/gl.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/it.json
languages/i18n/jv.json
languages/i18n/kab.json
languages/i18n/ko.json
languages/i18n/li.json
languages/i18n/lv.json
languages/i18n/mk.json
languages/i18n/nb.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/pl.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/roa-tara.json
languages/i18n/ru.json
languages/i18n/skr-arab.json
languages/i18n/sq.json
languages/i18n/sr-ec.json
languages/i18n/sv.json
languages/i18n/tr.json
languages/i18n/zh-hans.json
maintenance/rebuildrecentchanges.php
resources/Resources.php
resources/lib/oojs-ui/i18n/as.json
resources/lib/oojs-ui/i18n/bs.json
resources/lib/oojs-ui/i18n/pt-br.json
resources/lib/oojs-ui/oojs-ui-apex.js
resources/lib/oojs-ui/oojs-ui-core-apex.css
resources/lib/oojs-ui/oojs-ui-core-wikimediaui.css
resources/lib/oojs-ui/oojs-ui-core.js
resources/lib/oojs-ui/oojs-ui-core.js.map
resources/lib/oojs-ui/oojs-ui-toolbars-apex.css
resources/lib/oojs-ui/oojs-ui-toolbars-wikimediaui.css
resources/lib/oojs-ui/oojs-ui-toolbars.js
resources/lib/oojs-ui/oojs-ui-widgets-apex.css
resources/lib/oojs-ui/oojs-ui-widgets-wikimediaui.css
resources/lib/oojs-ui/oojs-ui-widgets.js
resources/lib/oojs-ui/oojs-ui-widgets.js.map
resources/lib/oojs-ui/oojs-ui-wikimediaui.js
resources/lib/oojs-ui/oojs-ui-windows-apex.css
resources/lib/oojs-ui/oojs-ui-windows-wikimediaui.css
resources/lib/oojs-ui/oojs-ui-windows.js
resources/lib/oojs-ui/themes/apex/icons-media.json
resources/lib/oojs-ui/themes/apex/images/icons/play-ltr.png [new file with mode: 0644]
resources/lib/oojs-ui/themes/apex/images/icons/play-ltr.svg [new file with mode: 0644]
resources/lib/oojs-ui/themes/apex/images/icons/play-rtl.png [new file with mode: 0644]
resources/lib/oojs-ui/themes/apex/images/icons/play-rtl.svg [new file with mode: 0644]
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-ltr-invert.png
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-ltr-invert.svg
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-ltr-progressive.png
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-ltr-progressive.svg
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-ltr.png
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-ltr.svg
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-rtl-invert.png
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-rtl-invert.svg
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-rtl-progressive.png
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-rtl-progressive.svg
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-rtl.png
resources/lib/oojs-ui/themes/wikimediaui/images/icons/play-rtl.svg
resources/lib/oojs-ui/themes/wikimediaui/images/icons/stop-invert.png
resources/lib/oojs-ui/themes/wikimediaui/images/icons/stop-invert.svg
resources/lib/oojs-ui/themes/wikimediaui/images/icons/stop-progressive.png
resources/lib/oojs-ui/themes/wikimediaui/images/icons/stop-progressive.svg
resources/lib/oojs-ui/themes/wikimediaui/images/icons/stop.png
resources/lib/oojs-ui/themes/wikimediaui/images/icons/stop.svg
resources/src/mediawiki.action/mediawiki.action.edit.js
resources/src/mediawiki.action/mediawiki.action.edit.preview.js
resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js
resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js
resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js
resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js
resources/src/mediawiki.rcfilters/mw.rcfilters.js
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.mixins.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesLimitPopupWidget.less [new file with mode: 0644]
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterTagMultiselectWidget.less
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesLimitButtonWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesLimitPopupWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.LiveUpdateButtonWidget.js
resources/src/mediawiki.special/mediawiki.special.preferences.styles.css
resources/src/mediawiki.widgets.visibleByteLimit/mediawiki.widgets.visibleByteLimit.js
resources/src/mediawiki/mediawiki.checkboxtoggle.js
resources/src/mediawiki/mediawiki.util.js
tests/parser/ParserTestRunner.php
tests/parser/parserTests.txt
tests/phpunit/includes/SanitizerTest.php
tests/phpunit/includes/TitleTest.php
tests/qunit/suites/resources/mediawiki/mediawiki.util.test.js

index a82ae21..3e97aab 100644 (file)
@@ -48,7 +48,6 @@ node_modules/
 # Composer
 /vendor
 /composer.lock
-/composer.json
 /composer.local.json
 
 # MediaWiki UI documentation
index 811d2c0..dbbfcb8 100644 (file)
@@ -44,8 +44,6 @@ module.exports = function ( grunt ) {
                                '!extensions/**/*.js',
                                '!skins/**/*.js',
                                // Skip functions aren't even parseable
-                               '!resources/src/dom-level2-skip.js',
-                               '!resources/src/es5-skip.js',
                                '!resources/src/mediawiki.hidpi-skip.js'
                        ]
                },
index c5ab81a..452cb35 100644 (file)
@@ -26,6 +26,13 @@ section).
   array. This allows dependency injection to be used for ResourceLoader modules.
 * $wgExceptionHooks has been removed.
 * (T45547) $wgUsePigLatinVariant added (off by default).
+* (T152540) MediaWiki now supports a section ID escaping style that allows to display
+  non-Latin characters verbatim on many modern browsers. This is controlled by the
+  new configuration setting, $wgFragmentMode.
+* $wgExperimentalHtmlIds is now deprecated and will be removed in a future version,
+  use $wgFragmentMode to migrate off it to a modern alternative.
+* $wgExternalInterwikiFragmentMode was introduced to control how fragments in
+  sinterwikis going outside of current wiki farm are encoded.
 
 === New features in 1.30 ===
 * (T37247) Output from Parser::parse() will now be wrapped in a div with
@@ -143,6 +150,14 @@ changes to languages because of Phabricator reports.
   MediaWikiServices instead. Access to the underlying BagOStuff is possible
   through the new ParserCache::getCacheStorage() method.
 * .mw-ui-constructive CSS class (deprecated in 1.27) was removed.
+* Sanitizer::escapeId() was deprecated, use escapeIdForAttribute(),
+  escapeIdForLink() or escapeIdForExternalInterwiki() instead.
+* Title::escapeFragmentForURL() was deprecated, use one of the aforementioned
+  Sanitizer functions or, if possible, Title::getFragmentForURL().
+* Second parameter to Sanitizer::escapeIdReferenceList() ($options) now does
+  nothing and is deprecated.
+* mw.util.escapeId() was deprecated, use escapeIdForAttribute() or
+  escapeIdForLink().
 
 == Compatibility ==
 MediaWiki 1.30 requires PHP 5.5.9 or later. There is experimental support for
index 2bf1d4c..d44a305 100644 (file)
@@ -1231,6 +1231,7 @@ $wgAutoloadLocalClasses = [
        'ResourceLoaderJqueryMsgModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderJqueryMsgModule.php',
        'ResourceLoaderLanguageDataModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderLanguageDataModule.php',
        'ResourceLoaderLanguageNamesModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderLanguageNamesModule.php',
+       'ResourceLoaderMediaWikiUtilModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderMediaWikiUtilModule.php',
        'ResourceLoaderModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderModule.php',
        'ResourceLoaderOOUIFileModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderOOUIFileModule.php',
        'ResourceLoaderOOUIImageModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderOOUIImageModule.php',
index aefc158..bc48360 100644 (file)
@@ -25,7 +25,7 @@
                "ext-xml": "*",
                "liuggio/statsd-php-client": "1.0.18",
                "mediawiki/at-ease": "1.1.0",
-               "oojs/oojs-ui": "0.22.3",
+               "oojs/oojs-ui": "0.22.4",
                "oyejorge/less.php": "1.7.0.14",
                "php": ">=5.5.9",
                "psr/log": "1.0.2",
index b6d75ce..51320e2 100644 (file)
@@ -3372,16 +3372,56 @@ $wgApiFrameOptions = 'DENY';
 $wgDisableOutputCompression = false;
 
 /**
- * Should we allow a broader set of characters in id attributes, per HTML5?  If
- * not, use only HTML 4-compatible IDs.  This option is for testing -- when the
- * functionality is ready, it will be on by default with no option.
+ * Abandoned experiment with HTML5-style ID escaping. Normalized IDs a bit
+ * too aggressively, breaking preexisting content (particularly Cite).
+ * See T29733, T29694, T29474.
  *
- * Currently this appears to work fine in all browsers, but it's disabled by
- * default because it normalizes id's a bit too aggressively, breaking preexisting
- * content (particularly Cite).  See T29733, T29694, T29474.
+ * @deprecated since 1.30, use $wgFragmentMode
  */
 $wgExperimentalHtmlIds = false;
 
+/**
+ * How should section IDs be encoded?
+ * This array can contain 1 or 2 elements, each of them can be one of:
+ * - 'html5'  is modern HTML5 style encoding with minimal escaping. Allows to
+ *            display Unicode characters in many browsers' address bars.
+ * - 'legacy' is old MediaWiki-style encoding, e.g. 啤酒 turns into .E5.95.A4.E9.85.92
+ * - 'html5-legacy' corresponds to DEPRECATED $wgExperimentalHtmlIds mode. DO NOT use
+ *            it for anything but migration off that mode (see below).
+ *
+ * The first element of this array specifies the primary mode of escaping IDs. This
+ * is what users will see when they e.g. follow an [[#internal link]] to a section of
+ * a page.
+ *
+ * The optional second element defines a fallback mode, useful for migrations.
+ * If present, it will direct MediaWiki to add empty <span>s to every section with its
+ * id attribute set to fallback encoded title so that links using the previous encoding
+ * would still work.
+ *
+ * Example: you want to migrate your wiki from 'legacy' to 'html5'
+ *
+ * On the first step, set this variable to [ 'legacy', 'html5' ]. After a while, when
+ * all caches (parser, HTTP, etc.) contain only pages generated with this setting,
+ * flip the value to [ 'html5', 'legacy' ]. This will result in all internal links being
+ * generated in the new encoding while old links (both external and cached internal) will
+ * still work. After a long time, you might want to ditch backwards compatibility and
+ * set it to [ 'html5' ]. After all, pages get edited, breaking incoming links no matter which
+ * fragment mode is used.
+ *
+ * @since 1.30
+ */
+$wgFragmentMode = [ 'legacy' ];
+
+/**
+ * Which ID escaping mode should be used for external interwiki links? See documentation
+ * for $wgFragmentMode above for details of each mode. Because you can't control external sites,
+ * this setting should probably always be 'legacy', unless every wiki you link to has converted
+ * to 'html5'.
+ *
+ * @since 1.30
+ */
+$wgExternalInterwikiFragmentMode = 'legacy';
+
 /**
  * Abstract list of footer icons for skins in place of old copyrightico and poweredbyico code
  * You can add new icons to the built in copyright or poweredby, or you can create
@@ -4093,6 +4133,7 @@ $wgContentNamespaces = [ NS_MAIN ];
  * Optional array of namespaces which should be blacklisted from Special:ShortPages
  * Only pages inside $wgContentNamespaces but not $wgShortPagesNamespaceBlacklist will
  * be shown on that page.
+ * @since 1.30
  */
 $wgShortPagesNamespaceBlacklist = [];
 
index 229a36a..9d83fbd 100644 (file)
@@ -1698,7 +1698,7 @@ class EditPage {
                global $wgParser;
 
                if ( $this->sectiontitle !== '' ) {
-                       $sectionanchor = $wgParser->guessLegacySectionNameFromWikiText( $this->sectiontitle );
+                       $sectionanchor = $this->guessSectionName( $this->sectiontitle );
                        // If no edit summary was specified, create one automatically from the section
                        // title and have it link to the new section. Otherwise, respect the summary as
                        // passed.
@@ -1708,7 +1708,7 @@ class EditPage {
                                        ->rawParams( $cleanSectionTitle )->inContentLanguage()->text();
                        }
                } elseif ( $this->summary !== '' ) {
-                       $sectionanchor = $wgParser->guessLegacySectionNameFromWikiText( $this->summary );
+                       $sectionanchor = $this->guessSectionName( $this->summary );
                        # This is a new section, so create a link to the new section
                        # in the revision summary.
                        $cleanSummary = $wgParser->stripSectionName( $this->summary );
@@ -1743,7 +1743,7 @@ class EditPage {
         * time.
         */
        public function internalAttemptSave( &$result, $bot = false ) {
-               global $wgUser, $wgRequest, $wgParser, $wgMaxArticleSize;
+               global $wgUser, $wgRequest, $wgMaxArticleSize;
                global $wgContentHandlerUseDB;
 
                $status = Status::newGood();
@@ -2117,7 +2117,7 @@ class EditPage {
                                # We can't deal with anchors, includes, html etc in the header for now,
                                # headline would need to be parsed to improve this.
                                if ( $hasmatch && strlen( $matches[2] ) > 0 ) {
-                                       $sectionanchor = $wgParser->guessLegacySectionNameFromWikiText( $matches[2] );
+                                       $sectionanchor = $this->guessSectionName( $matches[2] );
                                }
                        }
                        $result['sectionanchor'] = $sectionanchor;
@@ -3076,7 +3076,7 @@ class EditPage {
                        'tabindex' => 1,
                        'size' => 60,
                        'spellcheck' => 'true',
-               ] + Linker::tooltipAndAccesskeyAttribs( 'summary' );
+               ];
        }
 
        /**
@@ -3097,6 +3097,7 @@ class EditPage {
                $inputAttrs = null, $spanLabelAttrs = null
        ) {
                $inputAttrs = $this->getSummaryInputAttributes( $inputAttrs );
+               $inputAttrs += Linker::tooltipAndAccesskeyAttribs( 'summary' );
 
                $spanLabelAttrs = ( is_array( $spanLabelAttrs ) ? $spanLabelAttrs : [] ) + [
                        'class' => $this->missingSummary ? 'mw-summarymissed' : 'mw-summary',
@@ -3132,6 +3133,10 @@ class EditPage {
                $inputAttrs = OOUI\Element::configFromHtmlAttributes(
                        $this->getSummaryInputAttributes( $inputAttrs )
                );
+               $inputAttrs += [
+                       'title' => Linker::titleAttrib( 'summary' ),
+                       'accessKey' => Linker::accesskey( 'summary' ),
+               ];
 
                // For compatibility with old scripts and extensions, we want the legacy 'id' on the `<input>`
                $inputAttrs['inputId'] = $inputAttrs['id'];
@@ -4277,7 +4282,7 @@ HTML
                        $accesskey = null;
                        if ( isset( $options['tooltip'] ) ) {
                                $accesskey = $this->context->msg( "accesskey-{$options['tooltip']}" )->text();
-                               $title = Linker::titleAttrib( $options['tooltip'], 'withaccess' );
+                               $title = Linker::titleAttrib( $options['tooltip'] );
                        }
                        if ( isset( $options['title-message'] ) ) {
                                $title = $this->context->msg( $options['title-message'] )->text();
@@ -4355,8 +4360,7 @@ HTML
                $attribs = [
                        'name' => 'wpSave',
                        'tabindex' => ++$tabindex,
-               ] + Linker::tooltipAndAccesskeyAttribs( 'save' );
-
+               ];
                if ( $this->oouiEnabled ) {
                        $saveConfig = OOUI\Element::configFromHtmlAttributes( $attribs );
                        $buttons['save'] = new OOUI\ButtonInputWidget( [
@@ -4368,11 +4372,13 @@ HTML
                                'label' => $buttonLabel,
                                'infusable' => true,
                                'type' => 'submit',
+                               'title' => Linker::titleAttrib( 'save' ),
+                               'accessKey' => Linker::accesskey( 'save' ),
                        ] + $saveConfig );
                } else {
                        $buttons['save'] = Html::submitButton(
                                $buttonLabel,
-                               $attribs + [ 'id' => 'wpSave' ],
+                               $attribs + Linker::tooltipAndAccesskeyAttribs( 'save' ) + [ 'id' => 'wpSave' ],
                                [ 'mw-ui-progressive' ]
                        );
                }
@@ -4380,7 +4386,7 @@ HTML
                $attribs = [
                        'name' => 'wpPreview',
                        'tabindex' => ++$tabindex,
-               ] + Linker::tooltipAndAccesskeyAttribs( 'preview' );
+               ];
                if ( $this->oouiEnabled ) {
                        $previewConfig = OOUI\Element::configFromHtmlAttributes( $attribs );
                        $buttons['preview'] = new OOUI\ButtonInputWidget( [
@@ -4390,18 +4396,20 @@ HTML
                                'useInputTag' => true,
                                'label' => $this->context->msg( 'showpreview' )->text(),
                                'infusable' => true,
-                               'type' => 'submit'
+                               'type' => 'submit',
+                               'title' => Linker::titleAttrib( 'preview' ),
+                               'accessKey' => Linker::accesskey( 'preview' ),
                        ] + $previewConfig );
                } else {
                        $buttons['preview'] = Html::submitButton(
                                $this->context->msg( 'showpreview' )->text(),
-                               $attribs + [ 'id' => 'wpPreview' ]
+                               $attribs + Linker::tooltipAndAccesskeyAttribs( 'preview' ) + [ 'id' => 'wpPreview' ]
                        );
                }
                $attribs = [
                        'name' => 'wpDiff',
                        'tabindex' => ++$tabindex,
-               ] + Linker::tooltipAndAccesskeyAttribs( 'diff' );
+               ];
                if ( $this->oouiEnabled ) {
                        $diffConfig = OOUI\Element::configFromHtmlAttributes( $attribs );
                        $buttons['diff'] = new OOUI\ButtonInputWidget( [
@@ -4412,11 +4420,13 @@ HTML
                                'label' => $this->context->msg( 'showdiff' )->text(),
                                'infusable' => true,
                                'type' => 'submit',
+                               'title' => Linker::titleAttrib( 'diff' ),
+                               'accessKey' => Linker::accesskey( 'diff' ),
                        ] + $diffConfig );
                } else {
                        $buttons['diff'] = Html::submitButton(
                                $this->context->msg( 'showdiff' )->text(),
-                               $attribs + [ 'id' => 'wpDiff' ]
+                               $attribs + Linker::tooltipAndAccesskeyAttribs( 'diff' ) + [ 'id' => 'wpDiff' ]
                        );
                }
 
@@ -4785,4 +4795,27 @@ HTML
                }
                return $wikitext;
        }
+
+       /**
+        * Turns section name wikitext into anchors for use in HTTP redirects. Various
+        * versions of Microsoft browsers misinterpret fragment encoding of Location: headers
+        * resulting in mojibake in address bar. Redirect them to legacy section IDs,
+        * if possible. All the other browsers get HTML5 if the wiki is configured for it, to
+        * spread the new style links more efficiently.
+        *
+        * @param string $text
+        * @return string
+        */
+       private function guessSectionName( $text ) {
+               global $wgParser;
+
+               // Detect Microsoft browsers
+               $userAgent = $this->context->getRequest()->getHeader( 'User-Agent' );
+               if ( $userAgent && preg_match( '/MSIE|Edge/', $userAgent ) ) {
+                       // ...and redirect them to legacy encoding, if available
+                       return $wgParser->guessLegacySectionNameFromWikiText( $text );
+               }
+               // Meanwhile, real browsers get real anchors
+               return $wgParser->guessSectionNameFromWikiText( $text );
+       }
 }
index 4aae3ba..2ca851c 100644 (file)
@@ -1608,22 +1608,24 @@ class Linker {
         *   a space and ending with '>'
         *   This *must* be at least '>' for no attribs
         * @param string $anchor The anchor to give the headline (the bit after the #)
-        * @param string $html Html for the text of the header
+        * @param string $html HTML for the text of the header
         * @param string $link HTML to add for the section edit link
-        * @param bool|string $legacyAnchor A second, optional anchor to give for
+        * @param string|bool $fallbackAnchor A second, optional anchor to give for
         *   backward compatibility (false to omit)
         *
         * @return string HTML headline
         */
        public static function makeHeadline( $level, $attribs, $anchor, $html,
-               $link, $legacyAnchor = false
+               $link, $fallbackAnchor = false
        ) {
+               $anchorEscaped = htmlspecialchars( $anchor );
                $ret = "<h$level$attribs"
-                       . "<span class=\"mw-headline\" id=\"$anchor\">$html</span>"
+                       . "<span class=\"mw-headline\" id=\"$anchorEscaped\">$html</span>"
                        . $link
                        . "</h$level>";
-               if ( $legacyAnchor !== false ) {
-                       $ret = "<div id=\"$legacyAnchor\"></div>$ret";
+               if ( $fallbackAnchor !== false && $fallbackAnchor !== $anchor ) {
+                       $fallbackAnchor = htmlspecialchars( $fallbackAnchor );
+                       $ret = "<div id=\"$fallbackAnchor\"></div>$ret";
                }
                return $ret;
        }
index 2c87b8b..7a5fd9a 100644 (file)
@@ -42,7 +42,7 @@ class ListToggle {
        private function checkboxLink( $checkboxType ) {
                return Html::element(
                        // CSS classes: mw-checkbox-all, mw-checkbox-none, mw-checkbox-invert
-                       'a', [ 'href' => '#', 'class' => 'mw-checkbox-' . $checkboxType ],
+                       'a', [ 'class' => 'mw-checkbox-' . $checkboxType, 'role' => 'button', 'tabindex' => 0 ],
                        $this->output->msg( 'checkbox-' . $checkboxType )->text()
                );
        }
index 2def06a..907da16 100644 (file)
@@ -56,6 +56,21 @@ class Sanitizer {
        const EVIL_URI_PATTERN = '!(^|\s|\*/\s*)(javascript|vbscript)([^\w]|$)!i';
        const XMLNS_ATTRIBUTE_PATTERN = "/^xmlns:[:A-Z_a-z-.0-9]+$/";
 
+       /**
+        * Tells escapeUrlForHtml() to encode the ID using the wiki's primary encoding.
+        *
+        * @since 1.30
+        */
+       const ID_PRIMARY = 0;
+
+       /**
+        * Tells escapeUrlForHtml() to encode the ID using the fallback encoding, or return false
+        * if no fallback is configured.
+        *
+        * @since 1.30
+        */
+       const ID_FALLBACK = 1;
+
        /**
         * List of all named character entities defined in HTML 4.01
         * https://www.w3.org/TR/html4/sgml/entities.html
@@ -800,7 +815,7 @@ class Sanitizer {
 
                        # Escape HTML id attributes
                        if ( $attribute === 'id' ) {
-                               $value = self::escapeId( $value, 'noninitial' );
+                               $value = self::escapeIdForAttribute( $value, Sanitizer::ID_PRIMARY );
                        }
 
                        # Escape HTML id reference lists
@@ -1164,6 +1179,8 @@ class Sanitizer {
         * ambiguous if it's part of something that looks like a percent escape
         * (which don't work reliably in fragments cross-browser).
         *
+        * @deprecated since 1.30, use one of this class' escapeIdFor*() functions
+        *
         * @see https://www.w3.org/TR/html401/types.html#type-name Valid characters
         *   in the id and name attributes
         * @see https://www.w3.org/TR/html401/struct/links.html#h-12.2.3 Anchors with
@@ -1215,21 +1232,146 @@ class Sanitizer {
                return $id;
        }
 
+       /**
+        * Given a section name or other user-generated or otherwise unsafe string, escapes it to be
+        * a valid HTML id attribute.
+        *
+        * WARNING: unlike escapeId(), the output of this function is not guaranteed to be HTML safe,
+        * be sure to use proper escaping.
+        *
+        * @param string $id String to escape
+        * @param int $mode One of ID_* constants, specifying whether the primary or fallback encoding
+        *     should be used.
+        * @return string|bool Escaped ID or false if fallback encoding is requested but it's not
+        *     configured.
+        *
+        * @since 1.30
+        */
+       public static function escapeIdForAttribute( $id, $mode = self::ID_PRIMARY ) {
+               global $wgFragmentMode;
+
+               if ( !isset( $wgFragmentMode[$mode] ) ) {
+                       if ( $mode === self::ID_PRIMARY ) {
+                               throw new UnexpectedValueException( '$wgFragmentMode is configured with no primary mode' );
+                       }
+                       return false;
+               }
+
+               $internalMode = $wgFragmentMode[$mode];
+
+               return self::escapeIdInternal( $id, $internalMode );
+       }
+
+       /**
+        * Given a section name or other user-generated or otherwise unsafe string, escapes it to be
+        * a valid URL fragment.
+        *
+        * WARNING: unlike escapeId(), the output of this function is not guaranteed to be HTML safe,
+        * be sure to use proper escaping.
+        *
+        * @param string $id String to escape
+        * @return string Escaped ID
+        *
+        * @since 1.30
+        */
+       public static function escapeIdForLink( $id ) {
+               global $wgFragmentMode;
+
+               if ( !isset( $wgFragmentMode[self::ID_PRIMARY] ) ) {
+                       throw new UnexpectedValueException( '$wgFragmentMode is configured with no primary mode' );
+               }
+
+               $mode = $wgFragmentMode[self::ID_PRIMARY];
+
+               $id = self::escapeIdInternal( $id, $mode );
+               $id = self::urlEscapeId( $id, $mode );
+
+               return $id;
+       }
+
+       /**
+        * Given a section name or other user-generated or otherwise unsafe string, escapes it to be
+        * a valid URL fragment for external interwikis.
+        *
+        * @param string $id String to escape
+        * @return string Escaped ID
+        *
+        * @since 1.30
+        */
+       public static function escapeIdForExternalInterwiki( $id ) {
+               global $wgExternalInterwikiFragmentMode;
+
+               $id = self::escapeIdInternal( $id, $wgExternalInterwikiFragmentMode );
+               $id = self::urlEscapeId( $id, $wgExternalInterwikiFragmentMode );
+
+               return $id;
+       }
+
+       /**
+        * Helper for escapeIdFor*() functions. URL-escapes the ID if needed.
+        *
+        * @param string $id String to escape
+        * @param string $mode One of modes from $wgFragmentMode
+        * @return string
+        */
+       private static function urlEscapeId( $id, $mode ) {
+               if ( $mode === 'html5' ) {
+                       $id = urlencode( $id );
+                       $id = str_replace( '%3A', ':', $id );
+               }
+
+               return $id;
+       }
+
+       /**
+        * Helper for escapeIdFor*() functions. Performs most of the actual escaping.
+        *
+        * @param string $id String to escape
+        * @param string $mode One of modes from $wgFragmentMode
+        * @return string
+        */
+       private static function escapeIdInternal( $id, $mode ) {
+               $id = Sanitizer::decodeCharReferences( $id );
+
+               switch ( $mode ) {
+                       case 'html5':
+                               $id = str_replace( ' ', '_', $id );
+                               break;
+                       case 'legacy':
+                               // This corresponds to 'noninitial' mode of the old escapeId()
+                               static $replace = [
+                                       '%3A' => ':',
+                                       '%' => '.'
+                               ];
+
+                               $id = urlencode( str_replace( ' ', '_', $id ) );
+                               $id = strtr( $id, $replace );
+                               break;
+                       case 'html5-legacy':
+                               $id = preg_replace( '/[ \t\n\r\f_\'"&#%]+/', '_', $id );
+                               $id = trim( $id, '_' );
+                               if ( $id === '' ) {
+                                       // Must have been all whitespace to start with.
+                                       $id = '_';
+                               }
+                               break;
+                       default:
+                               throw new InvalidArgumentException( "Invalid mode '$mode' passed to '" . __METHOD__ );
+               }
+
+               return $id;
+       }
+
        /**
         * Given a string containing a space delimited list of ids, escape each id
         * to match ids escaped by the escapeId() function.
         *
+        * @todo wfDeprecated() uses of $options in 1.31, remove completely in 1.32
+        *
         * @since 1.27
         *
         * @param string $referenceString Space delimited list of ids
-        * @param string|array $options String or array of strings (default is array()):
-        *   'noninitial': This is a non-initial fragment of an id, not a full id,
-        *       so don't pay attention if the first character isn't valid at the
-        *       beginning of an id.  Only matters if $wgExperimentalHtmlIds is
-        *       false.
-        *   'legacy': Behave the way the old HTML 4-based ID escaping worked even
-        *       if $wgExperimentalHtmlIds is used, so we can generate extra
-        *       anchors and links won't break.
+        * @param string|array $options Deprecated and does nothing.
         * @return string
         */
        static function escapeIdReferenceList( $referenceString, $options = [] ) {
@@ -1238,7 +1380,7 @@ class Sanitizer {
 
                # Escape each token as an id
                foreach ( $references as &$ref ) {
-                       $ref = self::escapeId( $ref, $options );
+                       $ref = self::escapeIdForAttribute( $ref );
                }
 
                # Merge the array back to a space delimited list string
index 3d5bee2..68e3d96 100644 (file)
@@ -282,6 +282,11 @@ foreach ( $wgForeignFileRepos as &$repo ) {
 }
 unset( $repo ); // no global pollution; destroy reference
 
+// Convert this deprecated setting to modern system
+if ( $wgExperimentalHtmlIds ) {
+       $wgFragmentMode = [ 'html5-legacy', 'legacy' ];
+}
+
 $rcMaxAgeDays = $wgRCMaxAge / ( 3600 * 24 );
 if ( $wgRCFilterByAge ) {
        // Trim down $wgRCLinkDays so that it only lists links which are valid
index edfdaca..5decece 100644 (file)
@@ -748,6 +748,8 @@ class Title implements LinkTarget {
        /**
         * Escape a text fragment, say from a link, for a URL
         *
+        * @deprecated since 1.30, use Sanitizer::escapeIdForLink() or escapeIdForExternalInterwiki()
+        *
         * @param string $fragment Containing a URL or link fragment (after the "#")
         * @return string Escaped string
         */
@@ -1316,6 +1318,23 @@ class Title implements LinkTarget {
                return self::makeTitle( MWNamespace::getTalk( $this->getNamespace() ), $this->getDBkey() );
        }
 
+       /**
+        * Get a Title object associated with the talk page of this article,
+        * if such a talk page can exist.
+        *
+        * @since 1.30
+        *
+        * @return Title The object for the talk page,
+        *         or null if no associated talk page can exist, according to canHaveTalkPage().
+        */
+       public function getTalkPageIfDefined() {
+               if ( !$this->canHaveTalkPage() ) {
+                       return null;
+               }
+
+               return $this->getTalkPage();
+       }
+
        /**
         * Get a title object associated with the subject page of this
         * talk page
@@ -1382,14 +1401,16 @@ class Title implements LinkTarget {
 
        /**
         * Get the fragment in URL form, including the "#" character if there is one
+        *
         * @return string Fragment in URL form
         */
        public function getFragmentForURL() {
                if ( !$this->hasFragment() ) {
                        return '';
-               } else {
-                       return '#' . self::escapeFragmentForURL( $this->getFragment() );
+               } elseif ( $this->isExternal() && !$this->getTransWikiID() ) {
+                       return '#' . Sanitizer::escapeIdForExternalInterwiki( $this->getFragment() );
                }
+               return '#' . Sanitizer::escapeIdForLink( $this->getFragment() );
        }
 
        /**
index baec944..68dda37 100644 (file)
@@ -156,8 +156,8 @@ class InfoAction extends FormlessAction {
         * @return string The HTML.
         */
        protected function makeHeader( $header, $canonicalId ) {
-               $spanAttribs = [ 'class' => 'mw-headline', 'id' => Sanitizer::escapeId( $header ) ];
-               $h2Attribs = [ 'id' => Sanitizer::escapeId( $canonicalId ) ];
+               $spanAttribs = [ 'class' => 'mw-headline', 'id' => Sanitizer::escapeIdForAttribute( $header ) ];
+               $h2Attribs = [ 'id' => Sanitizer::escapeIdForAttribute( $canonicalId ) ];
 
                return Html::rawElement( 'h2', $h2Attribs, Html::element( 'span', $spanAttribs, $header ) );
        }
index b7d4529..6468235 100644 (file)
@@ -1931,14 +1931,15 @@ class ApiMain extends ApiBase {
 
                        $header = $this->msg( 'api-help-datatypes-header' )->parse();
 
-                       // Add an additional span with sanitized ID
-                       if ( !$this->getConfig()->get( 'ExperimentalHtmlIds' ) ) {
-                               $header = Html::element( 'span', [ 'id' => Sanitizer::escapeId( 'main/datatypes' ) ] ) .
-                                       $header;
-                       }
-                       $help['datatypes'] .= Html::rawElement( 'h' . min( 6, $level ),
-                               [ 'id' => 'main/datatypes', 'class' => 'apihelp-header' ],
-                               $header
+                       $id = Sanitizer::escapeIdForAttribute( 'main/datatypes', Sanitizer::ID_PRIMARY );
+                       $idFallback = Sanitizer::escapeIdForAttribute( 'main/datatypes', Sanitizer::ID_FALLBACK );
+
+                       $help['datatypes'] .= Linker::makeHeadline( min( 6, $level ),
+                               ' class="apihelp-header"',
+                               $id,
+                               $header,
+                               '',
+                               $idFallback
                        );
                        $help['datatypes'] .= $this->msg( 'api-help-datatypes' )->parseAsBlock();
                        if ( !isset( $tocData['main/datatypes'] ) ) {
@@ -1953,15 +1954,15 @@ class ApiMain extends ApiBase {
                                ];
                        }
 
-                       // Add an additional span with sanitized ID
-                       if ( !$this->getConfig()->get( 'ExperimentalHtmlIds' ) ) {
-                               $header = Html::element( 'span', [ 'id' => Sanitizer::escapeId( 'main/credits' ) ] ) .
-                                       $header;
-                       }
                        $header = $this->msg( 'api-credits-header' )->parse();
-                       $help['credits'] .= Html::rawElement( 'h' . min( 6, $level ),
-                               [ 'id' => 'main/credits', 'class' => 'apihelp-header' ],
-                               $header
+                       $id = Sanitizer::escapeIdForAttribute( 'main/credits', Sanitizer::ID_PRIMARY );
+                       $idFallback = Sanitizer::escapeIdForAttribute( 'main/credits', Sanitizer::ID_FALLBACK );
+                       $help['credits'] .= Linker::makeHeadline( min( 6, $level ),
+                               ' class="apihelp-header"',
+                               $id,
+                               $header,
+                               '',
+                               $idFallback
                        );
                        $help['credits'] .= $this->msg( 'api-credits' )->useDatabase( false )->parseAsBlock();
                        if ( !isset( $tocData['main/credits'] ) ) {
index d4351e0..702c2eb 100644 (file)
@@ -1692,7 +1692,7 @@ class HTMLForm extends ContextSource {
 
                                        $attributes = [];
                                        if ( $fieldsetIDPrefix ) {
-                                               $attributes['id'] = Sanitizer::escapeId( "$fieldsetIDPrefix$key" );
+                                               $attributes['id'] = Sanitizer::escapeIdForAttribute( "$fieldsetIDPrefix$key" );
                                        }
                                        $subsectionHtml .= $this->wrapFieldSetSection( $legend, $section, $attributes );
                                } else {
@@ -1741,7 +1741,7 @@ class HTMLForm extends ContextSource {
                ];
 
                if ( $sectionName ) {
-                       $attribs['id'] = Sanitizer::escapeId( $sectionName );
+                       $attribs['id'] = Sanitizer::escapeIdForAttribute( $sectionName );
                }
 
                if ( $displayFormat === 'table' ) {
index 83a8023..77ddc1a 100644 (file)
@@ -416,8 +416,8 @@ abstract class HTMLFormField {
                        $this->mDir = $params['dir'];
                }
 
-               $validName = Sanitizer::escapeId( $this->mName );
-               $validName = str_replace( [ '.5B', '.5D' ], [ '[', ']' ], $validName );
+               $validName = urlencode( $this->mName );
+               $validName = str_replace( [ '%5B', '%5D' ], [ '[', ']' ], $validName );
                if ( $this->mName != $validName && !isset( $params['nodata'] ) ) {
                        throw new MWException( "Invalid name '{$this->mName}' passed to " . __METHOD__ );
                }
@@ -430,7 +430,7 @@ abstract class HTMLFormField {
 
                if ( isset( $params['id'] ) ) {
                        $id = $params['id'];
-                       $validId = Sanitizer::escapeId( $id );
+                       $validId = urlencode( $id );
 
                        if ( $id != $validId ) {
                                throw new MWException( "Invalid id '$id' passed to " . __METHOD__ );
@@ -976,7 +976,7 @@ abstract class HTMLFormField {
        }
 
        /**
-        * Returns the attributes required for the tooltip and accesskey.
+        * Returns the attributes required for the tooltip and accesskey, for Html::element() etc.
         *
         * @return array Attributes
         */
@@ -988,6 +988,22 @@ abstract class HTMLFormField {
                return Linker::tooltipAndAccesskeyAttribs( $this->mParams['tooltip'] );
        }
 
+       /**
+        * Returns the attributes required for the tooltip and accesskey, for OOUI widgets' config.
+        *
+        * @return array Attributes
+        */
+       public function getTooltipAndAccessKeyOOUI() {
+               if ( empty( $this->mParams['tooltip'] ) ) {
+                       return [];
+               }
+
+               return [
+                       'title' => Linker::titleAttrib( $this->mParams['tooltip'] ),
+                       'accessKey' => Linker::accesskey( $this->mParams['tooltip'] ),
+               ];
+       }
+
        /**
         * Returns the given attributes from the parameters
         *
index ed99802..e47de61 100644 (file)
@@ -66,7 +66,10 @@ class OOUIHTMLForm extends HTMLForm {
                        }
 
                        if ( isset( $this->mSubmitTooltip ) ) {
-                               $attribs += Linker::tooltipAndAccesskeyAttribs( $this->mSubmitTooltip );
+                               $attribs += [
+                                       'title' => Linker::titleAttrib( $this->mSubmitTooltip ),
+                                       'accessKey' => Linker::accesskey( $this->mSubmitTooltip ),
+                               ];
                        }
 
                        $attribs['classes'] = [ 'mw-htmlform-submit' ];
@@ -177,7 +180,7 @@ class OOUIHTMLForm extends HTMLForm {
                        'items' => $fieldsHtml,
                ];
                if ( $sectionName ) {
-                       $config['id'] = Sanitizer::escapeId( $sectionName );
+                       $config['id'] = Sanitizer::escapeIdForAttribute( $sectionName );
                }
                if ( is_string( $this->mWrapperLegend ) ) {
                        $config['label'] = $this->mWrapperLegend;
index b080e18..9a956fb 100644 (file)
@@ -52,7 +52,7 @@ class HTMLCheckField extends HTMLFormField {
                        $value = !$value;
                }
 
-               $attr = $this->getTooltipAndAccessKey();
+               $attr = $this->getTooltipAndAccessKeyOOUI();
                $attr['id'] = $this->mID;
                $attr['name'] = $this->mName;
 
index dd9184b..53c6835 100644 (file)
@@ -93,9 +93,9 @@ class HTMLFormFieldCloner extends HTMLFormField {
                                $info['name'] = $name;
                        }
                        if ( isset( $info['id'] ) ) {
-                               $info['id'] = Sanitizer::escapeId( "{$this->mID}--$key--{$info['id']}" );
+                               $info['id'] = Sanitizer::escapeIdForAttribute( "{$this->mID}--$key--{$info['id']}" );
                        } else {
-                               $info['id'] = Sanitizer::escapeId( "{$this->mID}--$key--$fieldname" );
+                               $info['id'] = Sanitizer::escapeIdForAttribute( "{$this->mID}--$key--$fieldname" );
                        }
                        // Copy the hide-if rules to "child" fields, so that the JavaScript code handling them
                        // (resources/src/mediawiki/htmlform/hide-if.js) doesn't have to handle nested fields.
@@ -313,7 +313,7 @@ class HTMLFormFieldCloner extends HTMLFormField {
                                'type' => 'submit',
                                'formnovalidate' => true,
                                'name' => $name,
-                               'id' => Sanitizer::escapeId( "{$this->mID}--$key--delete" ),
+                               'id' => Sanitizer::escapeIdForAttribute( "{$this->mID}--$key--delete" ),
                                'cssclass' => 'mw-htmlform-cloner-delete-button',
                                'default' => $this->getMessage( $label )->text(),
                        ], $this->mParent );
@@ -386,7 +386,7 @@ class HTMLFormFieldCloner extends HTMLFormField {
                        'type' => 'submit',
                        'formnovalidate' => true,
                        'name' => $name,
-                       'id' => Sanitizer::escapeId( "{$this->mID}--create" ),
+                       'id' => Sanitizer::escapeIdForAttribute( "{$this->mID}--create" ),
                        'cssclass' => 'mw-htmlform-cloner-create-button',
                        'default' => $this->getMessage( $label )->text(),
                ], $this->mParent );
index 2b6e066..0d5eeba 100644 (file)
@@ -142,7 +142,7 @@ class HTMLMultiSelectField extends HTMLFormField implements HTMLNestedFilterable
        public function getInputOOUI( $value ) {
                $this->mParent->getOutput()->addModules( 'oojs-ui-widgets' );
 
-               $attr = $this->getTooltipAndAccessKey();
+               $attr = [];
                $attr['id'] = $this->mID;
                $attr['name'] = "{$this->mName}[]";
 
index 06ec372..77ea7cd 100644 (file)
@@ -90,7 +90,7 @@ class HTMLRadioField extends HTMLFormField {
                                $html .= Html::rawElement( 'h1', [], $label ) . "\n";
                                $html .= $this->formatOptions( $info, $value );
                        } else {
-                               $id = Sanitizer::escapeId( $this->mID . "-$info" );
+                               $id = Sanitizer::escapeIdForAttribute( $this->mID . "-$info" );
                                $classes = [ 'mw-htmlform-flatlist-item' ];
                                if ( $wgUseMediaWikiUIEverywhere || $this->mParent instanceof VFormHTMLForm ) {
                                        $classes[] = 'mw-ui-radio';
index 82ec3bf..480c5bb 100644 (file)
@@ -71,7 +71,7 @@ class HTMLTextAreaField extends HTMLFormField {
                        throw new Exception( "OOUIHTMLForm does not support the 'cols' parameter for textareas" );
                }
 
-               $attribs = $this->getTooltipAndAccessKey();
+               $attribs = $this->getTooltipAndAccessKeyOOUI();
 
                if ( $this->mClass !== '' ) {
                        $attribs['classes'] = [ $this->mClass ];
index b0b66ca..1c5a43d 100644 (file)
@@ -140,7 +140,7 @@ class HTMLTextField extends HTMLFormField {
                        $value = '';
                }
 
-               $attribs = $this->getTooltipAndAccessKey();
+               $attribs = $this->getTooltipAndAccessKeyOOUI();
 
                if ( $this->mClass !== '' ) {
                        $attribs['classes'] = [ $this->mClass ];
index 686ebd2..f892527 100644 (file)
        "config-mssql-windowsauth": "Autenticação do Windows",
        "config-site-name": "Nome da wiki:",
        "config-site-name-help": "Este nome aparecerá no título da janela do seu navegador e em vários outros sítios.",
-       "config-site-name-blank": "Introduza o nome do sítio.",
+       "config-site-name-blank": "Introduza o nome do site.",
        "config-project-namespace": "Espaço nominal do projeto:",
        "config-ns-generic": "Projeto",
        "config-ns-site-name": "O mesmo que o nome da wiki: $1",
        "config-logo": "URL do logótipo:",
        "config-logo-help": "O tema padrão do MediaWiki inclui espaço para um logótipo de 135x160 píxeis acima do menu da barra lateral.\nColoque na wiki uma imagem com estas dimensões e introduza aqui o URL dessa imagem.\n\nSe não pretende usar um logótipo, deixe este campo em branco.",
        "config-instantcommons": "Ativar Instant Commons",
-       "config-instantcommons-help": "O [https://www.mediawiki.org/wiki/InstantCommons Instant Commons] é uma funcionalidade que permite que as wikis usem imagens, áudio e outros ficheiros multimédia disponíveis no sítio [https://commons.wikimedia.org/ Wikimedia Commons].\nPara poder usá-los, o MediaWiki necessita de acesso à Internet.\n\nPara mais informações sobre esta funcionalidade, incluindo instruções sobre como configurá-la para usar outras wikis em vez da Wikimedia Commons, consulte o [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos Manual Técnico].",
+       "config-instantcommons-help": "O [https://www.mediawiki.org/wiki/InstantCommons Instant Commons] é uma funcionalidade que permite que as wikis usem imagens, áudio e outros ficheiros multimédia disponíveis no site [https://commons.wikimedia.org/ Wikimedia Commons].\nPara poder usá-los, o MediaWiki necessita de acesso à Internet.\n\nPara mais informações sobre esta funcionalidade, incluindo instruções sobre como configurá-la para usar outras wikis em vez da Wikimedia Commons, consulte o [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos Manual Técnico].",
        "config-cc-error": "O auxiliar de escolha de licenças da Creative Commons não produziu resultados.\nIntroduza o nome da licença manualmente.",
        "config-cc-again": "Escolha outra vez...",
        "config-cc-not-chosen": "Escolha a licença da Creative Commons que pretende e clique \"proceed\".",
index 7dea271..2d7e8f2 100644 (file)
@@ -27,7 +27,7 @@
  */
 class CategoryPage extends Article {
        # Subclasses can change this to override the viewer class.
-       public $mCategoryViewerClass = 'CategoryViewer';
+       protected $mCategoryViewerClass = 'CategoryViewer';
 
        /**
         * @var WikiCategoryPage
@@ -117,4 +117,12 @@ class CategoryPage extends Article {
                $out->addHTML( $viewer->getHTML() );
                $this->addHelpLink( 'Help:Categories' );
        }
+
+       function getCategoryViewerClass() {
+               return $this->mCategoryViewerClass;
+       }
+
+       function setCategoryViewerClass( $class ) {
+               $this->mCategoryViewerClass = $class;
+       }
 }
index d37700b..b870831 100644 (file)
@@ -254,15 +254,16 @@ class ImagePage extends Article {
                $r .= "<table id=\"mw_metadata\" class=\"mw_metadata\">\n";
                foreach ( $metadata as $type => $stuff ) {
                        foreach ( $stuff as $v ) {
-                               # @todo FIXME: Why is this using escapeId for a class?!
-                               $class = Sanitizer::escapeId( $v['id'] );
+                               $class = str_replace( ' ', '_', $v['id'] );
                                if ( $type == 'collapsed' ) {
                                        // Handled by mediawiki.action.view.metadata module.
                                        $class .= ' collapsable';
                                }
-                               $r .= "<tr class=\"$class\">\n";
-                               $r .= "<th>{$v['name']}</th>\n";
-                               $r .= "<td>{$v['value']}</td>\n</tr>";
+                               $r .= Html::rawElement( 'tr',
+                                       [ 'class' => $class ],
+                                       Html::rawElement( 'th', [], $v['name'] )
+                                               . Html::rawElement( 'td', [], $v['value'] )
+                               );
                        }
                }
                $r .= "</table>\n</div>\n";
index b035b02..88439db 100644 (file)
@@ -4035,7 +4035,7 @@ class Parser {
         * @private
         */
        public function formatHeadings( $text, $origText, $isMain = true ) {
-               global $wgMaxTocLevel, $wgExperimentalHtmlIds;
+               global $wgMaxTocLevel;
 
                # Inhibit editsection links if requested in the page
                if ( isset( $this->mDoubleUnderscores['noeditsection'] ) ) {
@@ -4229,61 +4229,44 @@ class Parser {
                        # Save headline for section edit hint before it's escaped
                        $headlineHint = $safeHeadline;
 
-                       if ( $wgExperimentalHtmlIds ) {
-                               # For reverse compatibility, provide an id that's
-                               # HTML4-compatible, like we used to.
-                               # It may be worth noting, academically, that it's possible for
-                               # the legacy anchor to conflict with a non-legacy headline
-                               # anchor on the page.  In this case likely the "correct" thing
-                               # would be to either drop the legacy anchors or make sure
-                               # they're numbered first.  However, this would require people
-                               # to type in section names like "abc_.D7.93.D7.90.D7.A4"
-                               # manually, so let's not bother worrying about it.
-                               $legacyHeadline = Sanitizer::escapeId( $safeHeadline,
-                                       [ 'noninitial', 'legacy' ] );
-                               $safeHeadline = Sanitizer::escapeId( $safeHeadline );
-
-                               if ( $legacyHeadline == $safeHeadline ) {
-                                       # No reason to have both (in fact, we can't)
-                                       $legacyHeadline = false;
-                               }
-                       } else {
-                               $legacyHeadline = false;
-                               $safeHeadline = Sanitizer::escapeId( $safeHeadline,
-                                       'noninitial' );
+                       $fallbackHeadline = Sanitizer::escapeIdForAttribute( $safeHeadline, Sanitizer::ID_FALLBACK );
+                       $linkAnchor = Sanitizer::escapeIdForLink( $safeHeadline );
+                       $safeHeadline = Sanitizer::escapeIdForAttribute( $safeHeadline, Sanitizer::ID_PRIMARY );
+                       if ( $fallbackHeadline === $safeHeadline ) {
+                               # No reason to have both (in fact, we can't)
+                               $fallbackHeadline = false;
                        }
 
-                       # HTML names must be case-insensitively unique (T12721).
-                       # This does not apply to Unicode characters per
-                       # https://www.w3.org/TR/html5/infrastructure.html#case-sensitivity-and-string-comparison
+                       # HTML IDs must be case-insensitively unique for IE compatibility (T12721).
                        # @todo FIXME: We may be changing them depending on the current locale.
                        $arrayKey = strtolower( $safeHeadline );
-                       if ( $legacyHeadline === false ) {
-                               $legacyArrayKey = false;
+                       if ( $fallbackHeadline === false ) {
+                               $fallbackArrayKey = false;
                        } else {
-                               $legacyArrayKey = strtolower( $legacyHeadline );
+                               $fallbackArrayKey = strtolower( $fallbackHeadline );
                        }
 
                        # Create the anchor for linking from the TOC to the section
                        $anchor = $safeHeadline;
-                       $legacyAnchor = $legacyHeadline;
+                       $fallbackAnchor = $fallbackHeadline;
                        if ( isset( $refers[$arrayKey] ) ) {
                                // @codingStandardsIgnoreStart
                                for ( $i = 2; isset( $refers["${arrayKey}_$i"] ); ++$i );
                                // @codingStandardsIgnoreEnd
                                $anchor .= "_$i";
+                               $linkAnchor .= "_$i";
                                $refers["${arrayKey}_$i"] = true;
                        } else {
                                $refers[$arrayKey] = true;
                        }
-                       if ( $legacyHeadline !== false && isset( $refers[$legacyArrayKey] ) ) {
+                       if ( $fallbackHeadline !== false && isset( $refers[$fallbackArrayKey] ) ) {
                                // @codingStandardsIgnoreStart
-                               for ( $i = 2; isset( $refers["${legacyArrayKey}_$i"] ); ++$i );
+                               for ( $i = 2; isset( $refers["${fallbackArrayKey}_$i"] ); ++$i );
                                // @codingStandardsIgnoreEnd
-                               $legacyAnchor .= "_$i";
-                               $refers["${legacyArrayKey}_$i"] = true;
+                               $fallbackAnchor .= "_$i";
+                               $refers["${fallbackArrayKey}_$i"] = true;
                        } else {
-                               $refers[$legacyArrayKey] = true;
+                               $refers[$fallbackArrayKey] = true;
                        }
 
                        # Don't number the heading if it is the only one (looks silly)
@@ -4297,7 +4280,7 @@ class Parser {
                        }
 
                        if ( $enoughToc && ( !isset( $wgMaxTocLevel ) || $toclevel < $wgMaxTocLevel ) ) {
-                               $toc .= Linker::tocLine( $anchor, $tocline,
+                               $toc .= Linker::tocLine( $linkAnchor, $tocline,
                                        $numbering, $toclevel, ( $isTemplate ? false : $sectionIndex ) );
                        }
 
@@ -4364,7 +4347,7 @@ class Parser {
                        }
                        $head[$headlineCount] = Linker::makeHeadline( $level,
                                $matches['attrib'][$headlineCount], $anchor, $headline,
-                               $editlink, $legacyAnchor );
+                               $editlink, $fallbackAnchor );
 
                        $headlineCount++;
                }
@@ -5806,22 +5789,33 @@ class Parser {
                # Strip out wikitext links(they break the anchor)
                $text = $this->stripSectionName( $text );
                $text = Sanitizer::normalizeSectionNameWhitespace( $text );
-               return '#' . Sanitizer::escapeId( $text, 'noninitial' );
+               return '#' . Sanitizer::escapeIdForLink( $text );
        }
 
        /**
         * Same as guessSectionNameFromWikiText(), but produces legacy anchors
-        * instead.  For use in redirects, since IE6 interprets Redirect: headers
-        * as something other than UTF-8 (apparently?), resulting in breakage.
+        * instead, if possible. For use in redirects, since various versions
+        * of Microsoft browsers interpret Location: headers as something other
+        * than UTF-8, resulting in breakage.
         *
         * @param string $text The section name
         * @return string An anchor
         */
        public function guessLegacySectionNameFromWikiText( $text ) {
+               global $wgFragmentMode;
+
                # Strip out wikitext links(they break the anchor)
                $text = $this->stripSectionName( $text );
                $text = Sanitizer::normalizeSectionNameWhitespace( $text );
-               return '#' . Sanitizer::escapeId( $text, [ 'noninitial', 'legacy' ] );
+
+               if ( isset( $wgFragmentMode[1] ) && $wgFragmentMode[1] === 'legacy' ) {
+                       // ForAttribute() and ForLink() are the same for legacy encoding
+                       $id = Sanitizer::escapeIdForAttribute( $text, Sanitizer::ID_FALLBACK );
+               } else {
+                       $id = Sanitizer::escapeIdForLink( $text );
+               }
+
+               return "#$id";
        }
 
        /**
diff --git a/includes/resourceloader/ResourceLoaderMediaWikiUtilModule.php b/includes/resourceloader/ResourceLoaderMediaWikiUtilModule.php
new file mode 100644 (file)
index 0000000..166f1ba
--- /dev/null
@@ -0,0 +1,53 @@
+<?php
+/**
+ * ResourceLoader mediawiki.util module
+ *
+ * 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
+ */
+
+/**
+ * ResourceLoader module for mediawiki.util
+ *
+ * @since 1.30
+ */
+class ResourceLoaderMediaWikiUtilModule extends ResourceLoaderFileModule {
+       /**
+        * @inheritdoc
+        */
+       public function getScript( ResourceLoaderContext $context ) {
+               return ResourceLoader::makeConfigSetScript(
+                               [ 'wgFragmentMode' => $this->getConfig()->get( 'FragmentMode' ) ]
+                       )
+                       . "\n"
+                       . parent::getScript( $context );
+       }
+
+       /**
+        * @inheritdoc
+        */
+       public function supportsURLLoading() {
+               return false;
+       }
+
+       /**
+        * @inheritdoc
+        */
+       public function enableModuleContentVersion() {
+               return true;
+       }
+}
index 0b7fc2f..aad676f 100644 (file)
@@ -678,7 +678,7 @@ abstract class BaseTemplate extends QuickTemplate {
                }
                foreach ( $validFooterIcons as $blockName => $footerIcons ) {
                        $html .= Html::openElement( 'div', [
-                               'id' => 'f-' . Sanitizer::escapeId( $blockName ) . 'ico',
+                               'id' => Sanitizer::escapeIdForAttribute( "f-{$blockName}ico" ),
                                'class' => 'footer-icons'
                        ] );
                        foreach ( $footerIcons as $icon ) {
@@ -691,7 +691,7 @@ abstract class BaseTemplate extends QuickTemplate {
                        foreach ( $validFooterLinks as $aLink ) {
                                $html .= Html::rawElement(
                                        'li',
-                                       [ 'id' => Sanitizer::escapeId( $aLink ) ],
+                                       [ 'id' => Sanitizer::escapeIdForAttribute( $aLink ) ],
                                        $this->get( $aLink )
                                );
                        }
@@ -734,7 +734,7 @@ abstract class BaseTemplate extends QuickTemplate {
                        $out .= Html::rawElement(
                                'div',
                                [
-                                       'id' => Sanitizer::escapeId( "mw-indicator-$id" ),
+                                       'id' => Sanitizer::escapeIdForAttribute( "mw-indicator-$id" ),
                                        'class' => 'mw-indicator',
                                ],
                                $content
index 40905a5..849362a 100644 (file)
@@ -1375,8 +1375,8 @@ abstract class Skin extends ContextSource {
                                        $bar[$heading][] = array_merge( [
                                                'text' => $text,
                                                'href' => $href,
-                                               'id' => 'n-' . Sanitizer::escapeId( strtr( $line[1], ' ', '-' ), 'noninitial' ),
-                                               'active' => false
+                                               'id' => Sanitizer::escapeIdForAttribute( 'n-' . strtr( $line[1], ' ', '-' ) ),
+                                               'active' => false,
                                        ], $extraAttribs );
                                } else {
                                        continue;
index 3845649..1b14fcb 100644 (file)
@@ -131,17 +131,14 @@ class SpecialContributions extends IncludableSpecialPage {
 
                $skip = $request->getText( 'offset' ) || $request->getText( 'dir' ) == 'prev';
                # Offset overrides year/month selection
-               if ( $skip ) {
-                       $this->opts['year'] = '';
-                       $this->opts['month'] = '';
-               } else {
+               if ( !$skip ) {
                        $this->opts['year'] = $request->getVal( 'year' );
                        $this->opts['month'] = $request->getVal( 'month' );
 
                        $this->opts['start'] = $request->getVal( 'start' );
                        $this->opts['end'] = $request->getVal( 'end' );
-                       $this->opts = ContribsPager::processDateFilter( $this->opts );
                }
+               $this->opts = ContribsPager::processDateFilter( $this->opts );
 
                $feedType = $request->getVal( 'feed' );
 
index d7e99db..64b378c 100644 (file)
@@ -73,6 +73,7 @@ class DoubleRedirectsPage extends QueryPage {
                                // not actually be a page table row for this target (e.g. for interwiki redirects)
                                'nsc' => 'rb.rd_namespace',
                                'tc' => 'rb.rd_title',
+                               'fc' => 'rb.rd_fragment',
                                'iwc' => 'rb.rd_interwiki',
                        ],
                        'conds' => [
@@ -146,7 +147,7 @@ class DoubleRedirectsPage extends QueryPage {
                }
 
                $titleB = Title::makeTitle( $result->nsb, $result->tb );
-               $titleC = Title::makeTitle( $result->nsc, $result->tc, '', $result->iwc );
+               $titleC = Title::makeTitle( $result->nsc, $result->tc, $result->fc, $result->iwc );
 
                $linkA = $linkRenderer->makeKnownLink(
                        $titleA,
@@ -179,7 +180,7 @@ class DoubleRedirectsPage extends QueryPage {
                        [ 'redirect' => 'no' ]
                );
 
-               $linkC = $linkRenderer->makeKnownLink( $titleC );
+               $linkC = $linkRenderer->makeKnownLink( $titleC, $titleC->getFullText() );
 
                $lang = $this->getLanguage();
                $arr = $lang->getArrow() . $lang->getDirMark();
index a827e89..beb454d 100644 (file)
@@ -173,10 +173,8 @@ class SpecialImport extends SpecialPage {
 
                $out = $this->getOutput();
                if ( !$source->isGood() ) {
-                       $out->wrapWikiMsg(
-                               "<p class=\"error\">\n$1\n</p>",
-                               [ 'importfailed', $source->getWikiText() ]
-                       );
+                       $out->addWikiText( "<p class=\"error\">\n" .
+                               $this->msg( 'importfailed', $source->getWikiText() )->parse() . "\n</p>" );
                } else {
                        $importer = new WikiImporter( $source->value, $this->getConfig() );
                        if ( !is_null( $this->namespace ) ) {
index 2c92410..1a04eec 100644 (file)
@@ -69,7 +69,7 @@ class SpecialListGrants extends SpecialPage {
                                $grantCellHtml = '<ul><li>' . implode( "</li>\n<li>", $descs ) . '</li></ul>';
                        }
 
-                       $id = \Sanitizer::escapeId( $grant );
+                       $id = Sanitizer::escapeIdForAttribute( $grant );
                        $out->addHTML( \Html::rawElement( 'tr', [ 'id' => $id ],
                                "<td>" .
                                $this->msg(
index 7a25e55..2315887 100644 (file)
@@ -126,7 +126,7 @@ class SpecialListGroupRights extends SpecialPage {
                                ? $groupsRemoveFromSelf[$group]
                                : [];
 
-                       $id = $group == '*' ? false : Sanitizer::escapeId( $group );
+                       $id = $group == '*' ? false : Sanitizer::escapeIdForAttribute( $group );
                        $out->addHTML( Html::rawElement( 'tr', [ 'id' => $id ], "
                                <td>$grouppage$grouplink</td>
                                        <td>" .
index 1f8e3c5..6ef75e0 100644 (file)
@@ -189,12 +189,18 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                                'wgStructuredChangeFiltersEnableLiveUpdate',
                                $this->getConfig()->get( 'StructuredChangeFiltersEnableLiveUpdate' )
                        );
-                       if ( $experimentalStructuredChangeFilters ) {
-                               $out->addJsConfigVars(
-                                       'wgRCFiltersChangeTags',
-                                       $this->buildChangeTagList()
-                               );
-                       }
+                       $out->addJsConfigVars(
+                               'wgRCFiltersChangeTags',
+                               $this->buildChangeTagList()
+                       );
+                       $out->addJsConfigVars(
+                               'StructuredChangeFiltersDisplayConfig',
+                               [
+                                       'maxDays' => (int)$this->getConfig()->get( 'RCMaxAge' ) / ( 24 * 3600 ), // Translate to days
+                                       'limitArray' => $this->getConfig()->get( 'RCLinkLimits' ),
+                                       'daysArray' => $this->getConfig()->get( 'RCLinkDays' ),
+                               ]
+                       );
                }
        }
 
index 28914f4..740207d 100644 (file)
@@ -277,7 +277,7 @@ class SpecialUndelete extends SpecialPage {
                        $fieldset,
                        new OOUI\HtmlSnippet(
                                Html::hidden( 'title', $this->getPageTitle()->getPrefixedDBkey() ) .
-                               Html::hidden( 'fuzzy', $this->getRequest()->getVal( 'fuzzy' ) )
+                               Html::hidden( 'fuzzy', $fuzzySearch )
                        )
                );
 
index 30c4a0b..3ea1d03 100644 (file)
@@ -840,7 +840,7 @@ class SpecialVersion extends SpecialPage {
                // Finally! Create the table
                $html = Html::openElement( 'tr', [
                                'class' => 'mw-version-ext',
-                               'id' => Sanitizer::escapeId( 'mw-version-ext-' . $type . '-' . $extension['name'] )
+                               'id' => Sanitizer::escapeIdForAttribute( 'mw-version-ext-' . $type . '-' . $extension['name'] )
                        ]
                );
 
index ca1b7dc..e6a0f0b 100644 (file)
@@ -375,7 +375,9 @@ class AllMessagesTablePager extends TablePager {
                }
 
                if ( !$isSecond ) {
-                       $arr['id'] = Sanitizer::escapeId( 'msg_' . $this->getLanguage()->lcfirst( $row->am_title ) );
+                       $arr['id'] = Sanitizer::escapeIdForAttribute(
+                               'msg_' . $this->getLanguage()->lcfirst( $row->am_title )
+                       );
                }
 
                return $arr;
index 6bd7eb0..d7819c4 100644 (file)
@@ -583,10 +583,10 @@ class ContribsPager extends RangeChronologicalPager {
         * @return array Options array with processed start and end date filter options
         */
        public static function processDateFilter( $opts ) {
-               $start = $opts['start'] ?: '';
-               $end = $opts['end'] ?: '';
-               $year = $opts['year'] ?: '';
-               $month = $opts['month'] ?: '';
+               $start = isset( $opts['start'] ) ? $opts['start'] : '';
+               $end = isset( $opts['end'] ) ? $opts['end'] : '';
+               $year = isset( $opts['year'] ) ? $opts['year'] : '';
+               $month = isset( $opts['month'] ) ? $opts['month'] : '';
 
                if ( $start !== '' && $end !== '' && $start > $end ) {
                        $temp = $start;
index cbd4676..7e59432 100644 (file)
                "resources/src/jquery/jquery.suggestions.js",
                "resources/src/jquery/jquery.tabIndex.js",
                "resources/lib/jquery.client/jquery.client.js",
-               "resources/lib/oojs",
-               "resources/lib/oojs-ui"
+               "resources/lib/oojs/oojs.jquery.js",
+               "resources/lib/oojs-ui/oojs-ui-core.js",
+               "resources/lib/oojs-ui/oojs-ui-widgets.js",
+               "resources/lib/oojs-ui/oojs-ui-toolbars.js",
+               "resources/lib/oojs-ui/oojs-ui-windows.js",
+               "resources/lib/oojs-ui/oojs-ui-wikimediaui.js",
+               "resources/lib/oojs-ui/oojs-ui-apex.js"
        ]
 }
index c098ef2..bef877b 100644 (file)
@@ -14,7 +14,8 @@
                        "Macofe",
                        "Matma Rex",
                        "Tokvo",
-                       "Crucifunked"
+                       "Crucifunked",
+                       "Enolp"
                ]
        },
        "tog-underline": "Sorrayar enllaces:",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Amosar",
        "rcfilters-legend-heading": "<strong>Llista d'abreviatures:</strong>",
+       "rcfilters-other-review-tools": "<strong>Otres ferramientes de revisión</strong>",
        "rcfilters-activefilters": "Filtros activos",
        "rcfilters-advancedfilters": "Filtros avanzaos",
        "rcfilters-limit-title": "Cambios a amosar",
index b1441ff..3808631 100644 (file)
        "cannotchangeemail": "حساب ایمیل آدرسلری بو ویکی‌ده دَییشیلنمزلر.",
        "emaildisabled": "بو سایت ایمیل گؤندرنمز.",
        "accountcreated": "حساب یارادیلدی",
-       "accountcreatedtext": "[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|داÙ\86Û\8cØ´Û\8cÙ\82]]) Ø§Û\8cستÛ\8cÙ\81ادÙ\87â\80\8cÚ\86Û\8c حسابی یارادیلیب‌دیر.",
+       "accountcreatedtext": "[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|داÙ\86Û\8cØ´Û\8cÙ\82]]) Ø§Û\8cØ´Ù\84دÙ\86 حسابی یارادیلیب‌دیر.",
        "createaccount-title": "{{SITENAME}} اوچون حساب یارادیلماسی",
        "createaccount-text": "بیر کس، سیزین ایمیل آدرسینیزه {{SITENAME}} ($4) سایتیندا «$2» آدی و «$3» رمزی ایله بیر حساب آچیب‌دیر. سیز گرک گیریش ائدیب و رمزینیزی ایندی دَییشدیره‌سیز.\n\nبو حساب یانلیش دوزلیب‌سه، بو مئساژا محل قویمایابیلرسیز.",
        "login-throttled": "سیزین چوخ گیریش چالیشماغینیز اولوب‌دور.\nلوطفاً یئنی‌دن چالیشماق‌دان اؤنجه بیر آز $1 دؤزون.",
        "autosumm-replace": "صفحه‌‌نین مضمونونو ' $1' يازیسی ایله ديَیشدیریلدی",
        "autoredircomment": "[[$1]] صفحه‌‌سینه یوْللاندیریلیر",
        "autosumm-new": "صفحه‌‌نی ' $1' ایله ياراتدی",
-       "autosumm-newblank": "بوش صحفه یاراندی",
+       "autosumm-newblank": "بوش صفحه یاراندی",
        "lag-warn-normal": "$1 {{PLURAL:$1 | سانیيه‌دن | سانیيه‌ده}} يئنی ديَیشیکلیکلر بو سیياهیدا گؤرولمه‌يه.",
        "lag-warn-high": "وئریلنلر بازاسی سونوجوسونداکی هددیندن آرتیق گئجیکمه‌دن گؤره، $1 {{PLURAL:$1 | سانیيه‌دن | سانیيه‌دن}} يئنی ديَیشیکلیکلر بو سیياهیدا گؤرونمئيئبیلیر.",
        "watchlistedit-normal-title": "ایزله‌دیکلریم صفحه‌‌لری دَییشدیر",
        "fileduplicatesearch-result-n": "«$1» فایلینین، {{PLURAL:$2|بیر|$2}} عینی کوپیسی واردیر.",
        "fileduplicatesearch-noresults": "\"$1\" آدیندا فایل تاپیلمادی.",
        "specialpages": "اؤزل صفحه‌لر",
-       "specialpages-note": "* نورمال اؤزل صفحه‌لر.\n* <span class=\"mw-specialpagerestricted\">محدودلاشدیریلمیش اؤزل صفحه‌لر.</span>",
        "specialpages-group-maintenance": "ساخلانیش گوزاریشلری",
        "specialpages-group-other": "آیری اؤزل صفحه‌لر",
        "specialpages-group-login": "گیریش / حساب یارات",
index 9b11402..1bd2656 100644 (file)
@@ -58,7 +58,7 @@
        "tog-shownumberswatching": "Битте күҙәтеү исемлегенә өҫтәгән ҡулланыусылар һанын күрһәтергә",
        "tog-oldsig": "Хәҙерге имза:",
        "tog-fancysig": "Имзаның үҙ вики-тамғаһы (автоматик һылтанмаһыҙ)",
-       "tog-uselivepreview": "Тиҙ ҡарап алыуҙы ҡулланырға (JavaScript, эксперименталь)",
+       "tog-uselivepreview": "Тиҙ ҡарап алыуҙы ҡулланырға",
        "tog-forceeditsummary": "Төҙәтеүҙе тасуирлау юлы тултырылмаһа, мине киҫәт",
        "tog-watchlisthideown": "Үҙгәртеүҙеремде күҙәтеү исемлегенән йәшерергә",
        "tog-watchlisthidebots": "Боттар  үҙгәртеүҙәрен күҙәтеү исемлегенән йәшерергә",
        "thu": "Кс",
        "fri": "Йм",
        "sat": "Шб",
-       "january": "Ò\92инуар",
-       "february": "Февраль",
-       "march": "Ð\9cарт",
-       "april": "Ð\90прель",
-       "may_long": "Ð\9cай",
-       "june": "Ð\98юнь",
-       "july": "Ð\98юль",
-       "august": "Ð\90вгуст",
-       "september": "Сентябрь",
-       "october": "Ð\9eктябрь",
-       "november": "Ð\9dоябрь",
-       "december": "Ð\94екабрь",
+       "january": "Ò\93инуар",
+       "february": "февраль",
+       "march": "март",
+       "april": "апрель",
+       "may_long": "май",
+       "june": "июнь",
+       "july": "июль",
+       "august": "август",
+       "september": "сентябрь",
+       "october": "октябрь",
+       "november": "ноябрь",
+       "december": "декабрь",
        "january-gen": "ғинуар",
        "february-gen": "февраль",
        "march-gen": "март",
        "page_last": "аҙаҡҡы",
        "histlegend": "Айырма һайлау: сағыштырырға теләгән 2 версияны һайлап Enter-ға йәки биттең аҫҡы өлөшөндәге төймәгә баҫығыҙ.<br />\nАңлатмалар: '''({{int:cur}})''' — хәҙерге версиянан айырма, '''({{int:last}})''' — алдағы версиянан айырма, '''{{int:minoreditletter}}''' — әҙ үҙгәреш яһалған.",
        "history-fieldset-title": "Үҙгәртеүҙәрҙе эҙләү",
-       "history-show-deleted": "ЮйÑ\8bлÒ\93андаÑ\80 Ò\93Ñ\8bна",
+       "history-show-deleted": "Тик Ñ\8eйÑ\8bлÒ\93ан Ñ\82Ó©Ò\99Ó\99Ñ\82еүÒ\99Ó\99Ñ\80",
        "histfirst": "Иң иҫкеләр",
        "histlast": "Иң һуңғылар",
        "historysize": "($1 {{PLURAL:$1|байт}})",
        "search-file-match": "(файл эстәлеге менән тура килә)",
        "search-suggest": "Бәлки, ошоно эҙләйһегеҙҙер: $1",
        "search-rewritten": "$1 нәтижәһе күрһәтелгән. $2 урынына эҙләргә.",
-       "search-interwiki-caption": "Туғандаш проекттар",
+       "search-interwiki-caption": "Туғандаш проекттар һөҙөмтәләре",
        "search-interwiki-default": "$1 һөҙөмтәһе:",
        "search-interwiki-more": "(тағы)",
        "search-relatedarticle": "Ҡағылышлы",
        "prefs-help-recentchangescount": "Һуңғы үҙгәртеүҙәрҙе, биттәр тарихын, журналдарҙы үҙ эсенә ала.",
        "prefs-help-watchlist-token2": "Был - күҙәтеүҙәрегеҙ исемлегенең веб-каналы өсөн йәшерен асҡыс.\nУны белеүселәр күҙәтеүҙәрегеҙ исемлеген уҡый аласаҡ, шуға уны бер кемгә лә әйтмәгеҙ. [[Special:ResetTokens|Уны ташларға теләһәгеҙ, ошонда баҫығыҙ]].",
        "savedprefs": "Һеҙҙең көйләүҙәрегеҙ һаҡланды.",
-       "savedrights": "{{GENDER:$1|$1}} ҡулланыусының хоҡуҡтары һаҡланды.",
+       "savedrights": "{{GENDER:$1|Ҡатнашыусы}} төркөмдәре һаҡланды.",
        "timezonelegend": "Ваҡыт бүлкәте:",
        "localtime": "Урындағы ваҡыт:",
        "timezoneuseserverdefault": "Сервер көйләүҙәрен ҡулланырға $1",
        "prefs-help-prefershttps": "Был көйләү системаға киләһе танылыуҙан һуң ҡулланыласаҡ.",
        "prefswarning-warning": "Һеҙ көйләүҙәрегеҙгә әле һаҡланмаған үҙгәрештәр индерҙегеҙ. Әгәр \"$1\" баҫмайынса, биттән сыҡһағыҙ, көйләүҙәр яңыртылмай.",
        "prefs-tabs-navigation-hint": "Кәңәш: Һеҙ һулға, уңға баҫмағын ҡулланып, исемлектәге ҡушымталар араһында күсә алаһығыҙ",
-       "userrights": "Ҡулланыусы хоҡуҡтарын идаралау",
-       "userrights-lookup-user": "Ҡулланыусы төркөмдәрен идаралау",
+       "userrights": "Ҡатнашыусы хоҡуҡтары",
+       "userrights-lookup-user": "Ҡулланыусы һайлауы",
        "userrights-user-editname": "Ҡулланыусы исемен керетерегеҙ:",
-       "editusergroup": "{{GENDER:$1|ҡатнашыусы}} ҡатнашыусының төркөмдәрен үҙгәртеү",
+       "editusergroup": "Ҡатнашыусы төркөмдәрен тейәү",
        "editinguser": "{{GENDER:$1|ҡатнашыусы}} <strong>[[User:$1|$1]]</strong> $2 хоҡуҡтарын үҙгәртеү",
-       "userrights-editusergroup": "Ҡулланыусы төркөмдәрен идараларға",
+       "userrights-editusergroup": "{{GENDER:$1|Ҡатнашыусы}} төркөмдәрен үҙгәртеү",
        "saveusergroups": "{{GENDER:$1|user}} ҡатнашыусының төркөмдәрен һаҡлау",
        "userrights-groupsmember": "Ағза булған төркөмдәр:",
        "userrights-groupsmember-auto": "Йәшерен ағза булған төркөмдәр:",
        "rightslogtext": "Был — ҡулланыусы хоҡуҡтары үҙгәрештәре яҙмалары журналы",
        "action-read": "Был битте уҡыу",
        "action-edit": "Был битте үҙгәртеү",
-       "action-createpage": "ЯңÑ\8b Ð±Ð¸Ñ\82 яһау",
-       "action-createtalk": "Фекер алышыу битен яһау",
+       "action-createpage": "бÑ\8bл Ð±Ð¸Ñ\82Ñ\82е яһау",
+       "action-createtalk": "бÑ\8bл Ñ\84екер алышыу битен яһау",
        "action-createaccount": "Был ҡулланыусы иҫәп яҙыуын яһау",
        "action-autocreateaccount": "Ҡатнашыусының тышҡы иҫәп яҙмаһы менән инергә",
        "action-history": "Был биттең тарихын ҡарарға",
        "action-upload_by_url": "Был файлды URL адрестан күсереү",
        "action-writeapi": "Яҙҙырыу өсөн API ҡулланыу",
        "action-delete": "Был битте юйыу",
-       "action-deleterevision": "Ð\91иÑ\82Ñ\82ең Ð±Ñ\8bл Ó©Ð»Ð³Ó©Ò»Ó©н юйыу",
-       "action-deletedhistory": "Ð\91Ñ\8bл Ð±Ð¸Ñ\82Ñ\82ең Ñ\8eйÒ\99Ñ\8bÑ\80Ñ\8bÑ\83Ò\99аÑ\80 тарихын ҡарау",
+       "action-deleterevision": "биÑ\82Ñ\82ең Ó©Ð»Ð³Ó©Ð»Ó\99Ñ\80ен юйыу",
+       "action-deletedhistory": "биÑ\82Ñ\82ең Ñ\8eйÑ\8bлÒ\93ан тарихын ҡарау",
        "action-browsearchive": "Юйылған биттәрҙе эҙләү",
-       "action-undelete": "ЮйÑ\8bлÒ\93ан Ð±Ñ\8bл Ð±Ð¸Ñ\82Ñ\82е Ò¡Ð°Ð±Ð°Ñ\82 тергеҙеү",
-       "action-suppressrevision": "Ð\91Ñ\8bл Ð¹Ó\99Ñ\88еÑ\80елгÓ\99н Ó©Ð»Ð³Ó©Ð½Ó© ҡарау һәм тергеҙеү",
+       "action-undelete": "биÑ\82Ñ\82Ó\99Ñ\80Ò\99е тергеҙеү",
+       "action-suppressrevision": "биÑ\82Ñ\82Ó\99Ñ\80Ò\99ең Ð¹Ó\99Ñ\88еÑ\80елгÓ\99н Ó©Ð»Ð³Ó©Ð»Ó\99Ñ\80ен ҡарау һәм тергеҙеү",
        "action-suppressionlog": "Был шәхси журналды ҡарау",
        "action-block": "Был ҡатнашыусыға мөхәррирләүҙе тыйыу",
        "action-protect": "Был биттең һаҡланыу дәрәжәһен үҙгәртеү",
        "recentchangeslinked-page": "Бит исеме:",
        "recentchangeslinked-to": "Киреһенсә, был биткә һылтанма яһаған биттәрҙәге үҙгәртеүҙәрҙе күрһәтергә",
        "recentchanges-page-added-to-category": "[[:$1]] категорияға өҫтәлгән",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] һәм [[Special:WhatLinksHere/$1|{{PLURAL:$2|one page|$2 pages}}]]  категорияға өҫтәлгән",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] категорияға өҫтәлгән, [[Special:WhatLinksHere/$1|был бит икенсе биттәргә өҫтәлгән]]",
        "recentchanges-page-removed-from-category": "[[:$1]] категориянан алынған",
        "recentchanges-page-removed-from-category-bundled": "[[:$1]] һәм [[Special:WhatLinksHere/$1|{{PLURAL:$2|one page|$2 pages}}]]  категориянан алынған",
        "autochange-username": "Автоматик рәүештә MediaWiki үҙгәртелә",
        "undeleteviewlink": "ҡарарға",
        "undeleteinvert": "Һайланғандарҙы әйләндерергә",
        "undeletecomment": "Сәбәп:",
-       "cannotundelete": "Юйыуҙы кире алып булманы:\n$1",
+       "cannotundelete": "Һеҙҙең ҡайһы бер йәки бөтә тергеҙеүҙәр килеп сыҡманы: \n$1",
        "undeletedpage": "'''$1 бите тергеҙелде'''\n\nҺуңғы юйыуҙарҙы һәм тергеҙеүҙәрҙе ҡарау өсөн, [[Special:Log/delete|юйыу яҙмалары журналын]] ҡарағыҙ.",
        "undelete-header": "Һуңғы юйылған биттәрҙе [[Special:Log/delete|юйыу яҙмалары журналында]] ҡарағыҙ.",
        "undelete-search-title": "Юйылған биттәрҙе эҙләү",
        "sp-contributions-newbies-sub": "Яңы иҫәп яҙмалары өсөн",
        "sp-contributions-newbies-title": "Яңы теркәлгән ҡатнашыусылар башҡарған эш",
        "sp-contributions-blocklog": "блоклау яҙмалары",
-       "sp-contributions-suppresslog": "Ҡулланыусыларҙың юйылған өлөшө",
-       "sp-contributions-deleted": "юйылған үҙгәртеүҙәр",
+       "sp-contributions-suppresslog": "{{GENDER:$1|Ҡатнашыусы}} юйылған өлөшө",
+       "sp-contributions-deleted": "{{GENDER:$1|Ҡатнашыусы}} юйылған үҙгәртеүҙәре",
        "sp-contributions-uploads": "тейәүҙәр",
        "sp-contributions-logs": "журналдар",
        "sp-contributions-talk": "фекерләшеү",
-       "sp-contributions-userrights": "ҡатнашыусы хоҡуҡтарын идаралау",
+       "sp-contributions-userrights": "{{GENDER:$1|Ҡатнашыусы}} ҡатнашыусы хоҡуҡтары менән идаралау",
        "sp-contributions-blocked-notice": "Әлеге ваҡытта был ҡатнашыусы бикле.\nТүбәндә бикләү яҙмаларынан һуңғы ҡатнашыусыны бикләү яҙмаһы килтерелгән:",
        "sp-contributions-blocked-notice-anon": "Әлеге ваҡытта был IP адрес бикле.\nТүбәндә бикләү яҙмаларынан һуңғы адресты бикләү яҙмаһы килтерелгән:",
        "sp-contributions-search": "Башҡарған эште эҙләү",
        "tags-actions-header": "Ғәмәлдәр",
        "tags-active-yes": "Эйе",
        "tags-active-no": "Юҡ",
-       "tags-source-extension": "Ҡушымта билдәләй",
+       "tags-source-extension": "Программа тәьминәте менән билдәләнә",
        "tags-source-manual": "Ҡатнашыусы йәки робот ҡулдан индерә",
        "tags-source-none": "Башҡа ҡулланылмай",
        "tags-edit": "үҙгәртергә",
        "tags-deactivate": "һүндерергә",
        "tags-hitcount": "$1 {{PLURAL:$1|1=үҙгәртеү|үҙгәртеү}}",
        "tags-manage-no-permission": "Тамға исемен үҙгәртергә хоҡуғығыҙ юҡ",
-       "tags-manage-blocked": "Һеҙгә блок ҡуйылған, тамғалар менән идара итә алмайһығыҙ.",
+       "tags-manage-blocked": "Блок ҡуйылғанға күрә, {{GENDER:$1|һеҙ}} тамғалар менән идара итә алмайһығыҙ.",
        "tags-create-heading": "Яңы тамға булдырырға",
        "tags-create-explanation": "яңы булдырылған билдәләр боттар һәм ҡатнашыусылар ҡуллана алырлыҡ итеп эшләнәсәк",
        "tags-create-tag-name": "Тамға исеме",
        "api-error-emptypage": "Яңы буш биттәр яһау тыйыла.",
        "api-error-publishfailed": "Эске хата: сервер ваҡытлыса файлды һаҡлай алманы.",
        "api-error-stashfailed": "Эске хата: сервер ваҡытлыса файлды һаҡлай алманы.",
-       "api-error-unknown-warning": "Ð\91илдÓ\99һеÒ\99 Ð±ÐµÐ»Ð´ÐµÑ\80еү: \"$1\".",
+       "api-error-unknown-warning": "Ð\91илдÓ\99һеÒ\99 ÐºÐ¸Ò«Ó\99Ñ\82еү: Â«$1».",
        "api-error-unknownerror": "Билдәһеҙ хата: «$1»",
        "duration-seconds": "$1 {{PLURAL:$1|1=секунд|секунд}}",
        "duration-minutes": "$1 {{PLURAL:$1|1=минут|минут}}",
index 251fa04..ee362ac 100644 (file)
@@ -46,7 +46,7 @@
        "tog-shownumberswatching": "Паказваць колькасьць назіральнікаў",
        "tog-oldsig": "Ваш цяперашні подпіс:",
        "tog-fancysig": "Апрацоўваць подпіс як вікітэкст (без аўтаматычнай спасылкі)",
-       "tog-uselivepreview": "Ð\92Ñ\8bкаÑ\80Ñ\8bÑ\81Ñ\82оÑ\9eваÑ\86Ñ\8c Ñ\85Ñ\83Ñ\82кÑ\96 Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dднÑ\96 Ð¿Ñ\80аглÑ\8fд",
+       "tog-uselivepreview": "Ð\9fаказваÑ\86Ñ\8c Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dднÑ\96 Ð¿Ñ\80аглÑ\8fд Ð±ÐµÐ·Ñ\8c Ð¿ÐµÑ\80азагÑ\80Ñ\83зкÑ\96 Ñ\81Ñ\82аÑ\80онкÑ\96",
        "tog-forceeditsummary": "Папярэджваць пра адсутнасьць кароткага апісаньня зьменаў",
        "tog-watchlisthideown": "Хаваць мае праўкі ў сьпісе назіраньня",
        "tog-watchlisthidebots": "Хаваць праўкі робатаў у сьпісе назіраньня",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (глядзіце таксама [[Special:NewPages|сьпіс новых старонак]])",
        "recentchanges-submit": "Паказаць",
        "rcfilters-legend-heading": "<strong>Сьпіс абрэвіятураў:</strong>",
-       "rcfilters-other-review-tools": "<strong>Іншыя інструмэнты праверкі:</strong>",
+       "rcfilters-other-review-tools": "<strong>Іншыя інструмэнты праверкі</strong>",
+       "rcfilters-group-results-by-page": "Групаваць вынікі паводле старонак",
        "rcfilters-activefilters": "Актыўныя фільтры",
        "rcfilters-advancedfilters": "Пашыраныя фільтры",
        "rcfilters-limit-title": "Паказаць зьменаў",
-       "rcfilters-limit-shownum": "Паказаць апошнія $1 зьменаў",
+       "rcfilters-limit-shownum": "Паказаць $1 {{PLURAL:$1|апошнюю зьмену|апошнія зьмены|апошніх зьменаў}}",
        "rcfilters-days-title": "Апошнія дні",
        "rcfilters-hours-title": "Апошнія гадзіны",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|дзень|дні|дзён}}",
        "rcfilters-savedqueries-add-new-title": "Захаваць цяперашнія налады фільтру",
        "rcfilters-restore-default-filters": "Аднавіць фільтры па змоўчаньні",
        "rcfilters-clear-all-filters": "Ачысьціць усе фільтры",
+       "rcfilters-show-new-changes": "Паказаць новыя зьмены",
        "rcfilters-search-placeholder": "Фільтар апошніх зьменаў (праглядзець або пачніце друкаваць)",
        "rcfilters-invalid-filter": "Няслушны фільтар",
        "rcfilters-empty-filter": "Няма актыўных фільтраў. Паказаны ўвесь унёсак.",
        "pageinfo-title": "Інфармацыя пра «$1»",
        "pageinfo-not-current": "Даруйце, мы ня можам падаць гэтыя зьвесткі для старых вэрсіяў.",
        "pageinfo-header-basic": "Асноўныя зьвесткі",
-       "pageinfo-header-edits": "РÑ\8dдагаванÑ\8cнÑ\96",
+       "pageinfo-header-edits": "Ð\93Ñ\96Ñ\81Ñ\82оÑ\80Ñ\8bÑ\8f Ñ\80Ñ\8dдагаванÑ\8cнÑ\8fÑ\9e",
        "pageinfo-header-restrictions": "Абарона старонкі",
        "pageinfo-header-properties": "Уласьцівасьці старонкі",
        "pageinfo-display-title": "Загаловак для адлюстраваньня",
index 074c99f..3bd3da1 100644 (file)
        "blockip": "{{GENDER:$1|सदस्य}} अवरोधित करीं",
        "ipboptions": "२ घंटे:2 hours,१ दिन:1 day,३ दिन:3 days,१ हफ्ता:1 week,२ हफ्ते:2 weeks,१ महिना:1 month,३ महिने:3 months,६ महिने:6 months,१ साल:1 year,हमेशा खातिर:infinite",
        "blocklist": "अवरोधित प्रयोगकर्तासभ",
+       "infiniteblock": "अनिश्चितकाल",
        "blocklink": "रोक लगाईं",
        "unblocklink": "ताला खोलीं",
        "change-blocklink": "ब्लॉक बदलीं",
        "tooltip-summary": "संछेप में एगो सारांश लिखीं",
        "simpleantispam-label": "स्पैम-बिरोधी रोक (Anti-spam check)\nएके <strong>मत</strong> भरीं!",
        "pageinfo-length": "पन्ना लंबाई (बाइट में)",
+       "pageinfo-subpages-name": "एह पन्ना के उपपन्ना संख्या",
+       "pageinfo-magic-words": "जादुई शब्द {{{{PLURAL:$1||शब्द|शब्द}}}} ($1)",
        "pageinfo-toolboxlink": "पन्ना से जुड़ल जानकारी",
        "previousdiff": "← पुरान संपादन",
        "nextdiff": "नया संपादन →",
        "namespacesall": "सगरी",
        "monthsall": "सगरी",
        "confirmemail": "ईमेल पता कन्फर्म करीं",
+       "imgmultipagenext": "अगिला पन्ना →",
+       "imgmultigo": "जाईं!",
+       "imgmultigoto": "$1 पन्ना पर जाईं",
        "autoredircomment": "पन्ना [[$1]] पर अनुप्रेषित कइल गइल",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|बात करीं]])",
        "version-no-ext-name": "[अज्ञात नाम]",
        "fileduplicatesearch": "नकल प्रति फाइल खोजीं",
        "specialpages": "खास पन्ना",
+       "specialpages-group-maintenance": "रखरखाव रिपोर्ट",
        "specialpages-group-login": "प्रवेश / खाता निर्माण",
        "specialpages-group-changes": "तुरंत भइल परिवर्तन आ लॉगसभ",
        "specialpages-group-media": "मीडिया रिपोर्ट आ अपलोडसभ",
index b6ec398..7bee277 100644 (file)
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|spisak novih stranica]])",
        "recentchanges-submit": "Prikaži",
        "rcfilters-legend-heading": "<strong>Spisak skraćenica:</strong>",
+       "rcfilters-other-review-tools": "<strong>Drugi alati za pregled:</strong>",
        "rcfilters-activefilters": "Aktivni filteri",
        "rcfilters-advancedfilters": "Napredni filteri",
        "rcfilters-limit-title": "Izmjena za prikaz",
index 2bc253d..b46df0f 100644 (file)
        "rcfilters-clear-all-filters": "Ерриге литтарш цӀанъян",
        "rcfilters-filterlist-title": "Литтарш",
        "rcfilters-filterlist-noresults": "Литтарш цакарий",
-       "rcfilters-filtergroup-registration": "Декъашхойн регистраци",
-       "rcfilters-filter-registered-label": "Регистрацийинарш",
-       "rcfilters-filter-unregistered-label": "Регистрацицайинарш",
        "rcfilters-filtergroup-authorship": "Нисде авторалла",
        "rcfilters-filter-editsbyself-label": "Хьан дисдарш",
        "rcfilters-filter-editsbyself-description": "Хьан нисдарш.",
        "rcfilters-filter-editsbyother-label": "Кхечу декъашхойн нисдарш",
+       "rcfilters-filter-user-experience-level-registered-label": "Регистрацийинарш",
+       "rcfilters-filter-user-experience-level-unregistered-label": "Регистрацицайинарш",
        "rcfilters-filter-user-experience-level-newcomer-label": "Керланиш",
        "rcfilters-filter-user-experience-level-learner-label": "Доьшуш берш",
        "rcfilters-filter-bots-label": "Бот",
        "fileduplicatesearch-noresults": "ЦӀе «$1» йолуш файл цакарий.",
        "specialpages": "Леррина агӀонаш",
        "specialpages-note-top": "Легенда",
-       "specialpages-note": "* Гуттарлера белха агlонаш.\n* <strong class=\"mw-specialpagerestricted\">Кlеззиг таронаш йолу леррина агlонаш.</strong>",
+       "specialpages-note-restricted": "* Гуттарлера белха агӀонаш.\n* <span class=\"mw-specialpagerestricted\">КӀеззиг таронаш йолу белха агӀонаш.</span>",
        "specialpages-group-maintenance": "Техникийн хьашташ кхочушдаран хаамаш",
        "specialpages-group-other": "Кхин белхан агӀонаш",
        "specialpages-group-login": "Довзийтар / дӀаяздар кхоллар",
index ea0381d..4693a0e 100644 (file)
        "tog-shownumberswatching": "Anzahl der beobachtenden Benutzer anzeigen",
        "tog-oldsig": "Die vorhandene Signatur:",
        "tog-fancysig": "Signatur als Wikitext behandeln (ohne automatische Verlinkung)",
-       "tog-uselivepreview": "Vorschau sofort anzeigen",
+       "tog-uselivepreview": "Vorschau ohne Neuladen der Seite anzeigen",
        "tog-forceeditsummary": "Warnen, sofern beim Speichern die Zusammenfassung fehlt",
        "tog-watchlisthideown": "Eigene Bearbeitungen in der Beobachtungsliste ausblenden",
        "tog-watchlisthidebots": "Bearbeitungen durch Bots in der Beobachtungsliste ausblenden",
        "recentchanges-legend-plusminus": "''(±123)''",
        "recentchanges-submit": "Anzeigen",
        "rcfilters-legend-heading": "<strong>Liste von Abkürzungen:</strong>",
-       "rcfilters-other-review-tools": "<strong>Andere Überprüfungswerkzeuge:</strong>",
+       "rcfilters-other-review-tools": "<strong>Andere Überprüfungswerkzeuge</strong>",
+       "rcfilters-group-results-by-page": "Ergebnisse nach Seite gruppieren",
+       "rcfilters-grouping-title": "Gruppierung",
        "rcfilters-activefilters": "Aktive Filter",
        "rcfilters-advancedfilters": "Erweiterte Filter",
        "rcfilters-limit-title": "Anzuzeigende Änderungen",
-       "rcfilters-limit-shownum": "Die letzten $1 Änderungen anzeigen",
+       "rcfilters-limit-shownum": "Die {{PLURAL:$1|letzte Änderung|letzten $1 Änderungen}} anzeigen",
        "rcfilters-days-title": "Letzte Tage",
        "rcfilters-hours-title": "Letzte Stunden",
        "rcfilters-days-show-days": "{{PLURAL:$1|Ein Tag|$1 Tage}}",
        "rcfilters-savedqueries-add-new-title": "Aktuelle Filtereinstellungen speichern",
        "rcfilters-restore-default-filters": "Standardfilter wiederherstellen",
        "rcfilters-clear-all-filters": "Alle Filter löschen",
+       "rcfilters-show-new-changes": "Neueste Änderungen ansehen",
+       "rcfilters-previous-changes-label": "Zuletzt angesehene Änderungen",
        "rcfilters-search-placeholder": "Letzte Änderungen filtern (durchsuchen oder beginne mit der Eingabe)",
        "rcfilters-invalid-filter": "Ungültiger Filter",
        "rcfilters-empty-filter": "Keine aktiven Filter. Es werden alle Beiträge angezeigt.",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:nicht</strong> $1",
        "rcfilters-exclude-button-off": "Ausgewählte ausschließen",
        "rcfilters-exclude-button-on": "Ausgewählte ausgeschlossen",
+       "rcfilters-view-advanced-filters-label": "Erweiterte Filter",
        "rcfilters-view-tags": "Markierte Bearbeitungen",
        "rcfilters-view-namespaces-tooltip": "Ergebnisse nach Namensraum filtern",
        "rcfilters-view-tags-tooltip": "Ergebnisse filtern, die Bearbeitungsmarkierungen verwenden",
        "rcfilters-view-return-to-default-tooltip": "Zurück zum Hauptfiltermenü",
        "rcfilters-liveupdates-button": "Live-Aktualisierungen",
+       "rcfilters-liveupdates-button-title-on": "Live-Aktualisierungen ausschalten",
+       "rcfilters-liveupdates-button-title-off": "Neue Änderungen bei Auftreten anzeigen",
        "rcnotefrom": "Angezeigt {{PLURAL:$5|wird die Änderung|werden die Änderungen}} seit <strong>$3, $4</strong> (max. <strong>$1</strong> Einträge).",
        "rclistfromreset": "Datumsauswahl zurücksetzen",
        "rclistfrom": "Nur Änderungen seit $3, $2 Uhr zeigen.",
index 8c295b2..aa1254c 100644 (file)
@@ -30,7 +30,7 @@
        "tog-shownumberswatching": "Show the number of watching users",
        "tog-oldsig": "Your existing signature:",
        "tog-fancysig": "Treat signature as wikitext (without an automatic link)",
-       "tog-uselivepreview": "Use live preview",
+       "tog-uselivepreview": "Show previews without reloading the page",
        "tog-forceeditsummary": "Prompt me when entering a blank edit summary",
        "tog-watchlisthideown": "Hide my edits from the watchlist",
        "tog-watchlisthidebots": "Hide bot edits from the watchlist",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "Show",
        "rcfilters-legend-heading": "<strong>List of abbreviations:</strong>",
-       "rcfilters-other-review-tools": "<strong>Other review tools:</strong>",
+       "rcfilters-other-review-tools": "<strong>Other review tools</strong>",
+       "rcfilters-group-results-by-page": "Group results by page",
+       "rcfilters-grouping-title": "Grouping",
        "rcfilters-activefilters": "Active filters",
        "rcfilters-advancedfilters": "Advanced filters",
        "rcfilters-limit-title": "Changes to show",
-       "rcfilters-limit-shownum": "Show last $1 changes",
+       "rcfilters-limit-shownum": "Show last {{PLURAL:$1|change|$1 changes}}",
        "rcfilters-days-title": "Recent days",
        "rcfilters-hours-title": "Recent hours",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|day|days}}",
        "rcfilters-savedqueries-add-new-title": "Save current filter settings",
        "rcfilters-restore-default-filters": "Restore default filters",
        "rcfilters-clear-all-filters": "Clear all filters",
-       "rcfilters-show-new-changes": "Show new changes",
+       "rcfilters-show-new-changes": "View newest changes",
        "rcfilters-previous-changes-label": "Previously viewed changes",
        "rcfilters-search-placeholder": "Filter recent changes (browse or start typing)",
        "rcfilters-invalid-filter": "Invalid filter",
        "rcfilters-tag-prefix-tags": "#$1",
        "rcfilters-exclude-button-off": "Exclude selected",
        "rcfilters-exclude-button-on": "Excluding selected",
+       "rcfilters-view-advanced-filters-label": "Advanced filters",
        "rcfilters-view-tags": "Tagged edits",
        "rcfilters-view-namespaces-tooltip": "Filter results by namespace",
        "rcfilters-view-tags-tooltip": "Filter results using edit tags",
        "rcfilters-view-return-to-default-tooltip": "Return to main filter menu",
        "rcfilters-liveupdates-button": "Live updates",
+       "rcfilters-liveupdates-button-title-on": "Turn off live updates",
+       "rcfilters-liveupdates-button-title-off": "Display new changes as they happen",
        "rcnotefrom": "Below {{PLURAL:$5|is the change|are the changes}} since <strong>$3, $4</strong> (up to <strong>$1</strong> shown).",
        "rclistfromreset": "Reset date selection",
        "rclistfrom": "Show new changes starting from $2, $3",
        "import-nonewrevisions": "No revisions imported (all were either already present, or skipped due to errors).",
        "xml-error-string": "$1 at line $2, col $3 (byte $4): $5",
        "import-upload": "Upload XML data",
-       "import-token-mismatch": "Loss of session data.\n\nYou might have been logged out. <strong>Please verify that you're still logged in and try again</strong>.\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in, and check that your browser allows cookies from this site.",
+       "import-token-mismatch": "Loss of session data.\n\nYou might have been logged out. '''Please verify that you're still logged in and try again'''.\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in, and check that your browser allows cookies from this site.",
        "import-invalid-interwiki": "Cannot import from the specified wiki.",
        "import-error-edit": "Page \"$1\" was not imported because you are not allowed to edit it.",
        "import-error-create": "Page \"$1\" was not imported because you are not allowed to create it.",
index e9fa1e6..580993f 100644 (file)
                        "Fitoschido",
                        "Archaeodontosaurus",
                        "Trizek (WMF)",
-                       "Framawiki"
+                       "Framawiki",
+                       "Jona"
                ]
        },
        "tog-underline": "Soulignement des liens :",
        "tog-shownumberswatching": "Afficher le nombre d’utilisateurs en cours",
        "tog-oldsig": "Votre signature actuelle :",
        "tog-fancysig": "Traiter la signature comme du wikitexte (sans lien automatique)",
-       "tog-uselivepreview": "Utiliser l’aperçu rapide",
+       "tog-uselivepreview": "Afficher les aperçus sans recharger la page",
        "tog-forceeditsummary": "M’avertir lorsque je n’ai pas spécifié de résumé de modification",
        "tog-watchlisthideown": "Masquer mes propres modifications dans la liste de suivi",
        "tog-watchlisthidebots": "Masquer les modifications faites par des robots dans la liste de suivi",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Lister",
        "rcfilters-legend-heading": "<strong>Liste des abréviations :</strong>",
-       "rcfilters-other-review-tools": "<strong>Autres outils de relecture :</strong>",
+       "rcfilters-other-review-tools": "<strong>Autres outils de relecture</strong>",
+       "rcfilters-group-results-by-page": "Grouper les résultats par page",
+       "rcfilters-grouping-title": "Regroupement",
        "rcfilters-activefilters": "Filtres actifs",
        "rcfilters-advancedfilters": "Filtres avancés",
        "rcfilters-limit-title": "Modifications à afficher",
-       "rcfilters-limit-shownum": "Afficher les $1 dernières modifications",
+       "rcfilters-limit-shownum": "Afficher {{PLURAL:$1|la dernière modification|les $1 dernières modifications}}",
        "rcfilters-days-title": "Derniers jours",
        "rcfilters-hours-title": "Dernières heures",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|jour|jours}}",
        "rcfilters-savedqueries-add-new-title": "Sauvegarder la configuration du filtre courant",
        "rcfilters-restore-default-filters": "Rétablir les filtres par défaut",
        "rcfilters-clear-all-filters": "Effacer tous les filtres",
+       "rcfilters-show-new-changes": "Afficher les nouvelles modifications",
+       "rcfilters-previous-changes-label": "Modifications précédemment affichées",
        "rcfilters-search-placeholder": "Filtrer les modifications récentes (naviguer ou commencer à saisir)",
        "rcfilters-invalid-filter": "Filtre non valide",
        "rcfilters-empty-filter": "Aucun filtre actif. Toutes les contributions sont affichées.",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:not</strong> $1",
        "rcfilters-exclude-button-off": "Exclure les sélectionnés",
        "rcfilters-exclude-button-on": "Sélectionnés exclus",
+       "rcfilters-view-advanced-filters-label": "Filtres avancés",
        "rcfilters-view-tags": "Modifications marquées",
        "rcfilters-view-namespaces-tooltip": "Résultats du filtrage par espace de noms",
        "rcfilters-view-tags-tooltip": "Résultats du filtrage par balise d'édition",
        "rcfilters-view-return-to-default-tooltip": "Retour au menu principal du filtre",
        "rcfilters-liveupdates-button": "Mises à jour en direct",
+       "rcfilters-liveupdates-button-title-on": "Désactiver les mises à jour à chaud",
+       "rcfilters-liveupdates-button-title-off": "Afficher les nouveaux changements quand ils se produisent",
        "rcnotefrom": "Ci-dessous {{PLURAL:$5|la modification effectuée|les modifications effectuées}} depuis le <strong>$3, $4</strong> (affichées jusqu’à <strong>$1</strong>).",
        "rclistfromreset": "Réinitialiser la sélection de la date",
        "rclistfrom": "Afficher les nouvelles modifications depuis le $3 à $2",
        "fileduplicatesearch-noresults": "Aucun fichier nommé « $1 » n'a été trouvé.",
        "specialpages": "Pages spéciales",
        "specialpages-note-top": "Légende",
-       "specialpages-note-restricted": "* Pages spéciales normales.\n* <span class=\"mw-specialpagerestricted\">Pas spéciales restreintes.</span>",
+       "specialpages-note-restricted": "* Pages spéciales normales.\n* <span class=\"mw-specialpagerestricted\">Pages spéciales restreintes.</span>",
        "specialpages-group-maintenance": "Rapports de maintenance",
        "specialpages-group-other": "Autres pages spéciales",
        "specialpages-group-login": "S'identifier / s'inscrire",
        "mediastatistics-table-count": "Nombre de fichiers",
        "mediastatistics-table-totalbytes": "Taille combinée",
        "mediastatistics-header-unknown": "Inconnu",
-       "mediastatistics-header-bitmap": "Images raster",
+       "mediastatistics-header-bitmap": "Images matricielles",
        "mediastatistics-header-drawing": "Dessins (images vectorielles)",
        "mediastatistics-header-audio": "Audio",
        "mediastatistics-header-video": "Vidéos",
index 012e8f8..8e1d012 100644 (file)
@@ -54,7 +54,7 @@
        "tog-shownumberswatching": "Mostrar o número de usuarios que están a vixiar",
        "tog-oldsig": "A súa sinatura actual:",
        "tog-fancysig": "Tratar a sinatura como se fose texto wiki (sen ligazón automática)",
-       "tog-uselivepreview": "Usar a vista previa en tempo real",
+       "tog-uselivepreview": "Amosar as vistas previas sen recargar a páxina",
        "tog-forceeditsummary": "Avisar cando o campo resumo estea baleiro",
        "tog-watchlisthideown": "Agochar as edicións propias na lista de vixilancia",
        "tog-watchlisthidebots": "Agochar as edicións dos bots na lista de vixilancia",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Mostrar",
        "rcfilters-legend-heading": "<strong>Lista de abreviaturas:</strong>",
+       "rcfilters-other-review-tools": "<strong>Outras ferramentas de revisión</strong>",
+       "rcfilters-group-results-by-page": "Agrupar resultados por páxina",
+       "rcfilters-grouping-title": "Agrupamento",
        "rcfilters-activefilters": "Filtros activos",
        "rcfilters-advancedfilters": "Filtros avanzados",
        "rcfilters-limit-title": "Modificacións a amosar",
-       "rcfilters-limit-shownum": "Amosar as últimas $1 modificacións",
+       "rcfilters-limit-shownum": "Amosar {{PLURAL:$1|a última modificación|as últimas $1 modificacións}}",
        "rcfilters-days-title": "Últimos días",
        "rcfilters-hours-title": "Últimas horas",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|día|días}}",
        "rcfilters-savedqueries-new-name-label": "Nome",
        "rcfilters-savedqueries-new-name-placeholder": "Describe o propósito do filtro",
        "rcfilters-savedqueries-apply-label": "Crear filtro",
+       "rcfilters-savedqueries-apply-and-setdefault-label": "Crear filtro por defecto",
        "rcfilters-savedqueries-cancel-label": "Cancelar",
        "rcfilters-savedqueries-add-new-title": "Gardar a configuración do filtro actual",
        "rcfilters-restore-default-filters": "Restaurar os filtros por defecto",
        "rcfilters-clear-all-filters": "Borrar todos os filtros",
+       "rcfilters-show-new-changes": "Mostrar os novos cambios",
+       "rcfilters-previous-changes-label": "Modificacións vistas anteriormente",
        "rcfilters-search-placeholder": "Filtrar os cambios recentes (ollar ou comezar a escribir)",
        "rcfilters-invalid-filter": "Filtro no válido",
        "rcfilters-empty-filter": "Non hai filtros activos. Móstranse tódalas contribucións.",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:non</strong> $1",
        "rcfilters-exclude-button-off": "Excluír os seleccionados",
        "rcfilters-exclude-button-on": "Excluíndo os seleccionados",
+       "rcfilters-view-advanced-filters-label": "Filtros avanzados",
        "rcfilters-view-tags": "Edicións marcadas",
        "rcfilters-view-namespaces-tooltip": "Filtrar resultados por espazo de nomes",
        "rcfilters-view-tags-tooltip": "Filtrar resultados usando etiquetas de edición",
        "rcfilters-view-return-to-default-tooltip": "Volver ó menú principal do filtro",
        "rcfilters-liveupdates-button": "Actualizacións instantáneas",
+       "rcfilters-liveupdates-button-title-on": "Desactivar actualizacións en directo",
+       "rcfilters-liveupdates-button-title-off": "Amosar os novos cambios en canto se produzan",
        "rcnotefrom": "A continuación {{PLURAL:$5|móstrase o cambio feito|móstranse os cambios feitos}} desde o <strong>$3</strong> ás <strong>$4</strong> (móstranse <strong>$1</strong> como máximo).",
        "rclistfromreset": "Reinicializar a selección da data",
        "rclistfrom": "Mostrar os cambios novos desde o $3 ás $2",
        "pageswithprop-legend": "Páxinas cunha propiedade de páxina",
        "pageswithprop-text": "Esta páxina lista aquelas páxinas que utilizan unha propiedade de páxina determinada.",
        "pageswithprop-prop": "Nome da propiedade:",
+       "pageswithprop-reverse": "Ordenar en orde inversa",
+       "pageswithprop-sortbyvalue": "Ordenar por valor de propiedade",
        "pageswithprop-submit": "Mostrar",
        "pageswithprop-prophidden-long": "agochouse o valor de propiedade de texto longo ($1)",
        "pageswithprop-prophidden-binary": "agochouse o valor de propiedade binaria ($1)",
        "enotif_lastdiff": "Consulte $1 para ver este cambio",
        "enotif_anon_editor": "usuario anónimo $1",
        "enotif_body": "Boas, $WATCHINGUSERNAME:\n\n$PAGEINTRO $NEWPAGE\n\nResumo de edición: $PAGESUMMARY $PAGEMINOREDIT\n\nPode contactar co editor:\npor correo electrónico: $PAGEEDITOR_EMAIL\nno wiki: $PAGEEDITOR_WIKI\n\nNon se producirán máis notificacións en caso de que haxa actividade nova ata que acceda ao sistema e visite a páxina. Pode restablecer os indicadores de aviso de notificación para o conxunto das páxinas marcadas na súa lista de vixilancia.\n\nO sistema de avisos de {{SITENAME}}\n\n--\nPara cambiar as notificacións por correo electrónico, visite\n{{canonicalurl:{{#special:Preferences}}}}\n\n\nPara cambiar a súa lista de vixilancia, visite\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nPara borrar a páxina da súa lista de vixilancia, visite\n$UNWATCHURL\n\nAxuda:\n$HELPPAGE",
+       "enotif_minoredit": "Esta é unha edición pequena",
        "created": "creada",
        "changed": "modificada",
        "deletepage": "Borrar a páxina",
index 20fc9ce..c8cb0f9 100644 (file)
@@ -68,7 +68,7 @@
        "tog-shownumberswatching": "הצגת מספר המשתמשים העוקבים",
        "tog-oldsig": "החתימה הנוכחית שלך:",
        "tog-fancysig": "התייחסות לחתימה כקוד ויקי (ללא קישור אוטומטי)",
-       "tog-uselivepreview": "ש×\99×\9e×\95ש ×\91תצ×\95×\92×\94 ×\9eק×\93×\99×\9e×\94 ×\9e×\94×\99ר×\94",
+       "tog-uselivepreview": "×\9c×\94ר×\90×\95ת ×ª×¦×\95×\92×\94 ×\9eק×\93×\99×\9e×\94 ×\91×\9c×\99 ×\9c×\98×¢×\95×\9f ×\9e×\97×\93ש ×\90ת ×\94×\93×£",
        "tog-forceeditsummary": "הצגת אזהרה בעת הכנסת תקציר עריכה ריק",
        "tog-watchlisthideown": "הסתרת עריכות שלי ברשימת המעקב",
        "tog-watchlisthidebots": "הסתרת עריכות של בוטים ברשימת המעקב",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "הצגה",
        "rcfilters-legend-heading": "<strong>רשימת קיצורים:</strong>",
-       "rcfilters-other-review-tools": "<strong>כלי סקירה אחרים:</strong>",
+       "rcfilters-other-review-tools": "<strong>כלי סקירה אחרים</strong>",
+       "rcfilters-group-results-by-page": "חלוקה תוצאות לקבוצות לפי דף",
+       "rcfilters-grouping-title": "חלוקה לקבוצה",
        "rcfilters-activefilters": "מסננים פעילים",
        "rcfilters-advancedfilters": "מסננים מתקדמים",
        "rcfilters-limit-title": "אילו שינויים להראות",
        "rcfilters-savedqueries-add-new-title": "שמירת הגדרות המסננים הנוכחיות",
        "rcfilters-restore-default-filters": "שחזור למסנני ברירת המחדל",
        "rcfilters-clear-all-filters": "מחיקת כל המסננים",
+       "rcfilters-show-new-changes": "הצגת שינויים חדשים",
+       "rcfilters-previous-changes-label": "שינויים שהוצגו בעבר",
        "rcfilters-search-placeholder": "סינון שינויים אחרונים (עיינו או התחילו להקליד)",
        "rcfilters-invalid-filter": "מסנן בלתי־תקין",
        "rcfilters-empty-filter": "אין מסננים פעילים. כל התרומות מוצגות.",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:לא</strong> $1",
        "rcfilters-exclude-button-off": "להחריג את המסומנים",
        "rcfilters-exclude-button-on": "ללא המסומנים",
+       "rcfilters-view-advanced-filters-label": "מסננים מתקדמים",
        "rcfilters-view-tags": "עריכות מתויגות",
        "rcfilters-view-namespaces-tooltip": "סינון התוצאות לפי מרחב שם",
        "rcfilters-view-tags-tooltip": "סינון התוצאות לפי תגיות עריכה",
        "rcfilters-view-return-to-default-tooltip": "חזרה לתפריט המסננים הראשי",
        "rcfilters-liveupdates-button": "עדכונים חיים",
+       "rcfilters-liveupdates-button-title-on": "כיבוי העדכונים החיים",
+       "rcfilters-liveupdates-button-title-off": "להראות שינויים חדשים כשהם מתרחשים",
        "rcnotefrom": "להלן {{PLURAL:$5|השינוי שבוצע|השינויים שבוצעו}} מאז <strong>$3, $4</strong> (מוצגים עד <strong>$1</strong>).",
        "rclistfromreset": "איפוס בחירת התאריך",
        "rclistfrom": "הצגת שינויים חדשים החל מ־$2, $3",
index b248e77..88c7150 100644 (file)
        "rcfilters-savedqueries-add-new-title": "वर्तमान फ़िल्टर सेटिंग को सहेजें",
        "rcfilters-restore-default-filters": "मूलभूत फिल्टर पुनर्स्थापित करे",
        "rcfilters-clear-all-filters": "सभी फिल्टर हटाएँ",
+       "rcfilters-show-new-changes": "नए बदलाव दिखाएँ",
+       "rcfilters-previous-changes-label": "पिछले देखे बदलाव",
        "rcfilters-search-placeholder": "हाल में हुए बदलाव फ़िल्टर (ब्राउज़ या टाइप करना आरंभ करें)",
        "rcfilters-invalid-filter": "अमान्य फ़िल्टर",
        "rcfilters-empty-filter": "कोई सक्रिय फिल्टर नहीं। सभी योगदान दिखाए गए है।",
        "enotif_lastdiff": "इस बदलाव को देखने के लिये $1 देखें।",
        "enotif_anon_editor": "अनामक सदस्य $1",
        "enotif_body": "प्रिय $WATCHINGUSERNAME जी,\n\n$PAGEINTRO $NEWPAGE\n\nसम्पादन सारांश: $PAGESUMMARY $PAGEMINOREDIT\n\nसंपादक से संपर्क करें:\nई-मेल: $PAGEEDITOR_EMAIL\nविकि: $PAGEEDITOR_WIKI\n\nजब तक आप इस पृष्ठ पर लॉगिन कर के फिर से नहीं जाते, तब तक और बदलाव होने पर भी आपको फिर से सूचना नहीं भेजी जाएगी।\nआप चाहें तो अपनी ध्यानसूची में मौजूद सभी पन्नों के लिए सूचना चिन्ह को भी बदल सकते हैं।\n\nआपकी सहायिका, {{SITENAME}} की सूचक प्रणाली\n\n--\nअपनी ई-मेल सूचना के जमाव बदलने के लिये देखें\n{{canonicalurl:{{#special:Preferences}}}}\n\nअपनी ध्यानसूची के जमाव बदलने के लिए देखें\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nइस पृष्ठ को अपनी ध्यानसूची से हटाने के लिये देखें\n$UNWATCHURL\n\nराय देने या अधिक सहायता पाने के लिए:\n$HELPPAGE",
+       "enotif_minoredit": "यह एक छोटा बदलाव है",
        "created": "बनाया",
        "changed": "परिवर्तित किया",
        "deletepage": "पृष्ठ हटाएँ",
index 08a9911..721368b 100644 (file)
        "tog-shownumberswatching": "Mostra il numero di utenti che hanno la pagina in osservazione",
        "tog-oldsig": "La tua firma attuale:",
        "tog-fancysig": "Gestisci la firma come wikitesto (senza collegamento automatico)",
-       "tog-uselivepreview": "Abilita la funzione ''Live preview'' (anteprima in diretta)",
+       "tog-uselivepreview": "Mostra anteprime senza ricaricare la pagina",
        "tog-forceeditsummary": "Chiedi conferma se il campo oggetto è vuoto",
        "tog-watchlisthideown": "Nascondi le mie modifiche negli osservati speciali",
        "tog-watchlisthidebots": "Nascondi le modifiche dei bot negli osservati speciali",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Mostra",
        "rcfilters-legend-heading": "<strong>Elenco di abbreviazioni:</strong>",
+       "rcfilters-grouping-title": "Raggruppamento",
        "rcfilters-activefilters": "Filtri attivi",
        "rcfilters-advancedfilters": "Filtri avanzati",
        "rcfilters-limit-title": "Modifiche da mostrare",
-       "rcfilters-limit-shownum": "Mostra le ultime $1 modifiche",
+       "rcfilters-limit-shownum": "Mostra {{PLURAL:$1|l'ultima modifica|le ultime $1 modifiche}}",
        "rcfilters-days-title": "Giorni recenti",
        "rcfilters-hours-title": "Ore recenti",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|giorno|giorni}}",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:non</strong> $1",
        "rcfilters-exclude-button-off": "Escludi selezionato",
        "rcfilters-exclude-button-on": "Escludendo selezionato",
+       "rcfilters-view-advanced-filters-label": "Filtri avanzati",
        "rcfilters-view-tags": "Modifiche etichettate",
        "rcnotefrom": "Di seguito {{PLURAL:$5|è elencata la modifica apportata|sono elencate le modifiche apportate}} a partire da <strong>$3, $4</strong> (mostrate fino a <strong>$1</strong>).",
        "rclistfromreset": "Reimposta la selezione della data",
index 11565dc..88a78b8 100644 (file)
        "whatlinkshere-hidelinks": "$1 pranala",
        "whatlinkshere-hideimages": "$1 pranala barkas",
        "whatlinkshere-filters": "Panyaringan",
-       "whatlinkshere-submit": "Nyang",
+       "whatlinkshere-submit": "Menyang",
        "autoblockid": "Blokir otomatis #$1",
        "block": "Blokir panganggo",
        "unblock": "Uculaké blokirané panganggo",
        "move-watch": "Awasna kaca iki",
        "movepagebtn": "Ngalih kaca",
        "pagemovedsub": "Kasil dilih",
-       "movepage-moved": "<strong>\"$1\" wis dilih nyang \"$2\"</strong>",
+       "movepage-moved": "<strong>\"$1\" wis dilih menyang \"$2\"</strong>",
        "movepage-moved-redirect": "Kaca alihan wis kagawé.",
        "movepage-moved-noredirect": "Kanggo gawé pengalihan wis ditahan.",
        "articleexists": "Kaca mawa jeneng mangkono wis ana utawa jeneng sing kokpilih ora valid.\nMangga pilih jeneng liya.",
        "move-subpages": "Lih anak kaca (tekan $1)",
        "move-talk-subpages": "Lih anak kaca saka kaca parembugan (tekan $1)",
        "movepage-page-exists": "Kaca $1 wis ana lan ora bisa ditindhes sacara otomatis.",
-       "movepage-page-moved": "Kaca $1 wis dipindhah menyang $2.",
+       "movepage-page-moved": "Kaca $1 wis dilih menyang $2.",
        "movepage-page-unmoved": "Kaca $1 ora bisa dialihaké menyang $2.",
        "movepage-max-pages": "Paling akèh $1 {{PLURAL:$1|kaca|kaca}} wis dialihaké lan ora ana manèh sing bakal dialihaké sacara otomatis.",
        "movelogpage": "Log alih",
        "table_pager_empty": "Ora ana",
        "autosumm-blank": "Ngothongaké kaca",
        "autosumm-replace": "←Ngganti kaca karo '$1'",
-       "autoredircomment": "←Ngalihaké menyang [[$1]]",
+       "autoredircomment": "Ngeneraké kaca menyang [[$1]]",
        "autosumm-new": "Gawé kaca sing isi '$1'",
        "autosumm-newblank": "Nggawé kaca barès",
        "lag-warn-normal": "Owah-owahan pungkasan sing luwih anyar tinimbang $1 {{PLURAL:$1|detik|detik}} mbokmanawa ora metu ing pratélan iki.",
        "mw-widgets-mediasearch-input-placeholder": "Golèk médhia",
        "mw-widgets-mediasearch-noresults": "Ora ana wohing panggolèk.",
        "mw-widgets-titleinput-description-new-page": "kaca durung ana",
-       "mw-widgets-titleinput-description-redirect": "alihan nyang $1",
+       "mw-widgets-titleinput-description-redirect": "alihan menyang $1",
        "mw-widgets-categoryselector-add-category-placeholder": "Tambah kategori...",
        "mw-widgets-usersmultiselect-placeholder": "Tambah liyané...",
        "date-range-from": "Kawit tanggal:",
index d7c1a8e..cdb5a30 100644 (file)
                        "Belkacem77"
                ]
        },
-       "tog-underline": "Aderrer n yezdayen:",
-       "tog-hideminor": "Ffer ibeddlen ifessasen deg yibeddlen imaynuten",
-       "tog-hidepatrolled": "Ffer ibeddlen iεessan deg yibeddlen imaynuten",
-       "tog-newpageshidepatrolled": "Ffer isebtaren iɛessan gar umuɣ n isebtaren imaynuten",
+       "tog-underline": "Aderrer n iseɣwan:",
+       "tog-hideminor": "Ffer ibeddilen ifessasen deg yibeddilen imaynuten",
+       "tog-hidepatrolled": "Ffer ibeddilen yettwaɣran deg yibeddilen imaynuten",
+       "tog-newpageshidepatrolled": "Ffer isebtar yettwaɣran deg tebdart n isebtar imaynten",
        "tog-hidecategorization": "Ffer taggayin n isebtar",
        "tog-extendwatchlist": "Ssemɣer umuɣ n uɛessi iwakken ad muqleɣ akk n wayen zemreɣ ad beddleɣ",
        "tog-usenewrc": "Ssegrew ibeddlen s usebtar deg ibeddilen imaynuten d umuɣ n uḍfar",
        "december": "Dujamber",
        "january-gen": "yennayer",
        "february-gen": "Furar",
-       "march-gen": "meɣres",
-       "april-gen": "yebrir",
-       "may-gen": "mayyu",
-       "june-gen": "yunyu",
-       "july-gen": "yulyu",
-       "august-gen": "ɣuct",
-       "september-gen": "ctamber",
-       "october-gen": "tuber",
+       "march-gen": "Meɣres",
+       "april-gen": "Yebrir",
+       "may-gen": "Mayyu",
+       "june-gen": "Yunyu",
+       "july-gen": "Yulyu",
+       "august-gen": "Ɣuct",
+       "september-gen": "Ctamber",
+       "october-gen": "Tuber",
        "november-gen": "wamber",
        "december-gen": "dujamber",
        "jan": "yen",
        "broken-file-category": "Isebtar s iseɣwan n ifuyla iṛzan",
        "about": "Awal ɣef...",
        "article": "Ayen yella deg usebter",
-       "newwindow": "(teldi deg ttaq amaynut)",
+       "newwindow": "(ad d-yeldi deg usfaylu amaynut)",
        "cancel": "Eǧǧ-it am yella",
        "moredotdotdot": "Ugar...",
        "morenotlisted": "Umuɣ agi ur yella ara d ummid.",
        "mypage": "Asebtar",
        "mytalk": "Asqerdec",
-       "anontalk": "Amyannan n IP-yagi",
+       "anontalk": "Asqerdec",
        "navigation": "Assilel",
        "and": "&#32;u",
        "faq": "Isteqsiyen",
        "summary-preview": "Pre-timeẓriwt n ugzul:",
        "subject-preview": "Pre-timeẓriwt asentel/azwel azellum:",
        "blockedtitle": "Amseqdac iɛekkel",
-       "blockedtext": "'''Amiḍan ik n useqdac neɣ tansa n IP sewḥlen.'''\n\nAsewḥel yetwexdem af $1\nTaɣẓint id yenna : ''$2''.\n\n* Tazzwara n usewḥel : $8\n* Taggara n usewḥel : $6\n* Amiḍan i sewḥlen : $7.\n\n\nTzemreḍ ad tmeslayeḍ s $1 neɣ [[{{MediaWiki:Grouppage-sysop}}|anedbal]] nniḍen iwakken ad tsmelayem ɣef uɛekkil-nni.\nLukan ur tefkiḍ ara email saḥih deg [[Special:Preferences|isemyifiyen n wemseqdac]], ur tezmireḍ ara ad tazneḍ email.\nTansa n IP inek n tura d $3, ID n uɛekkil d #$5.\nSmekti-ten u fka-ten i unedbal-nni.",
-       "autoblockedtext": "Tansa IP inek/inem tesewḥel s-uwurman acku d-aseqdac nniḍen i ttisexdmen. Ladɣa ula d-aseqdac agi, isewḥel-it $1.\n\nTaɣẓint id yenna : ''$2''.\n\n* Tazzwara n usewḥel : $8\n* Taggara n usewḥel : $6\n* Amiḍan i sewḥlen : $7.\n\n\nTzemreḍ ad tmeslayeḍ s $1 neɣ [[{{MediaWiki:Grouppage-sysop}}|anedbal]] nniḍen iwakken ad tsmelayem ɣef uɛekkil-nni.\nLukan ur tefkiḍ ara email saḥih deg [[Special:Preferences|isemyifiyen n wemseqdac]], ur tezmireḍ ara ad tazneḍ email.\nTansa n IP inek n tura d $3, ID n uɛekkil d #$5.\nSmekti-ten u fka-ten i unedbal-nni.",
+       "blockedtext": "'''Amiḍan-ik n useqdac neɣ tansa n IP weḥlen.'''\n\nAsewḥel yega-t $1.\nTaɣẓint d tagi : ''$2''.\n\n* Tazwara n usewḥel : $8\n* Tagara n usewḥel : $6\n* Amiḍan iweḥlen : $7.\n\n\nTzemreḍ ad tnermseḍ $1 neɣ [[{{MediaWiki:Grouppage-sysop}}|anedbal]]-nniḍen akken ad tsmelayem.\nUr tezmireḍ ara ad tesqedceḍ tawuri \"nemres aseqdac-agi\" ma yella tella tensa tameɣtut deg[[Special:Preferences|ismenyifen n useqdac]], udiɣ ma yella tawuri-agi ur tewḥil ara. Tansa-ik IP n tura d $3, ID n usewḥeld #$5.\nSuddu-d akk talɣut-agi deg tuttriwin ara d-azdneḍ.",
+       "autoblockedtext": "'''Tansa-ik IP tewḥel s wudem awurman acku i tt-yesseqdacen  yesweḥli-t $1.\n\n\nTaɣẓint d tagi :\n:<em>$2</em>\n\n* Tazwara n usewḥel : $8\n* Tagara n usewḥel : $6\n* Amiḍan iweḥlen : $7.\n\n\nTzemreḍ ad tnermseḍ $1 neɣ [[{{MediaWiki:Grouppage-sysop}}|anedbal]]-nniḍen akken ad tsmelayem.\nUr tezmireḍ ara ad tesqedceḍ tawuri \"nermres aseqdac-agi\" ma yella tella tensa tameɣtut deg[[Special:Preferences|ismenyifen n useqdac]], udiɣ ma yella tawuri-agi ur tewḥil ara. \n\nTansa-ik IP n tura d $3, ID n usewḥeld #$5.\nSuddu-d akk talɣut-agi deg tuttriwin ara d-azdneḍ.",
        "blockednoreason": "Ulac taɣẓint",
        "whitelistedittext": "Yessefk ad $1 iwakken ad tbeddleḍ isebtar.",
        "confirmedittext": "Yessefk ad tsentmeḍ tansa e-mail inek uqbel abeddel. Xtar tansa e-mail di [[Special:Preferences|isemyifiyen n wemseqdac]].",
        "search-external": "Anadi yeffɣen",
        "searchdisabled": "Anadi deg {{SITENAME}} yettwakkes. Tzemreḍ ad tnadiḍ s Google. Meɛna ur tettuḍ ara, tasmult n google taqdimt.",
        "search-error": "Tella tuccḍa deg unadi n : $1",
-       "preferences": "Isemyifiyen",
-       "mypreferences": "Isemyifiyen",
+       "preferences": "Ismenyifen",
+       "mypreferences": "Ismenyifen",
        "prefs-edits": "Amḍan n ibeddlilen :",
        "prefsnologintext2": "Ilaq ad $1 iwakken ad sbaduḍ ismenyifen inek/inem.",
        "prefs-skin": "Aglim",
        "prefs-user-pages": "Isebtar n useqdac",
        "prefs-personal": "Profile n wemseqdac",
        "prefs-rc": "Ibeddilen imaynuten",
-       "prefs-watchlist": "Umuɣ n uɛessi",
+       "prefs-watchlist": "Tabdart n uḍfaṛ",
        "prefs-watchlist-days": "Amḍan n ussan i ubeqqeḍ deg umuɣ n uɛassi :",
        "prefs-watchlist-days-max": "Afellay $1 {{PLURAL:$1|ass|ussan}}",
        "prefs-watchlist-edits": "Geddac n yibeddlen yessefk ad banen deg wumuɣ n uɛessi ameqqran:",
        "prefs-watchlist-edits-max": "Amḍan afellay : 1000",
        "prefs-watchlist-token": "Tiddest  umuɣ n uɛassi :",
-       "prefs-misc": "Isemyifiyen wiyaḍ",
+       "prefs-misc": "Ismenyifien-nniḍen",
        "prefs-resetpass": "Beddel awal n uɛaddi",
        "prefs-changeemail": "Beddel tansa n e-mail",
        "prefs-setemail": "Sbadu yiwet tansa e-mail",
        "recentchangescount": "Amḍan n ibeddilen i ubeqqeḍ s lexṣas :",
        "prefs-help-recentchangescount": "Wagi yesɛa deg-es ibeddilen ineggura, isebtar n umezruy d iɣmisen.",
        "prefs-help-watchlist-token2": "Hattan tasarut tufurt n usuddem Web n umuɣ inek/inem n uḍfar.\nAkkw amḍan yesɛan tasarut agi, ad yezmer ad i ɣer umuɣ inek/inem n uḍfar, ur d-sselɣu ara tasarut agi ihi.\n[[Special:ResetTokens|Nqer d-agi ma tebɣiḍ ad wennezeḍ tasarut agi]].",
-       "savedprefs": "Isemyifiyen inek yettusmektan.",
+       "savedprefs": "Ismenyifen-ik ttwaskelsen.",
        "timezonelegend": "Iẓḍi n ukud :",
        "localtime": "Asrag adigan :",
        "timezoneuseserverdefault": "Seqdec azal s lexṣas n wiki ($1)",
        "listgrouprights-addgroup-self-all": "Yezmer ad yernu akkw igrawen ar umiḍan-is",
        "listgrouprights-removegroup-self-all": "Yezmer ad yekkes akkw igrawen ar umiḍan-is",
        "mailnologin": "Ur yufi ḥedd (tansa)",
-       "mailnologintext": "Yessefk ad [[Special:UserLogin|tkecmeḍ]] u tesɛiḍ tansa e-mail ṭaṣhiḥt deg [[Special:Preferences|isemyifiyen]] inek\niwakken ad tazneḍ email i imseqdacen wiyaḍ.",
+       "mailnologintext": "Yessefk ad tiliḍ[[Special:UserLogin|tkecmeḍ]] udiɣ ad tesɛuḍ tansa n yimayl tameɣtut  deg [[Special:Preferences|isemyifen-ik]] akken ad tazneḍ imayl i yiseqdacen-nniḍen.",
        "emailuser": "Azen e-mail i wemseqdac-agi",
        "emailuser-title-target": "Ceggaɛ tirawt i {{GENDER:$1|aseqdac agi|taseqdact agi}}",
        "emailuser-title-notarget": "Ceggaɛ tirawt i useqdac",
        "emailuserfooter": "Tirawt agi tetweceggaɛ sɣur « $1 » i « $2 » s tasɣent \"Ceggaɛ tirawt i useqdac\" n {{SITENAME}}.",
        "usermessage-summary": "Yeǧǧa-d izen anagraw",
        "usermessage-editor": "Ameskar n unagraw",
-       "watchlist": "Umuɣ n uɛessi",
-       "mywatchlist": "Umuɣ n uɛessi",
+       "watchlist": "Tabdart n uḍfaṛ",
+       "mywatchlist": "Tabdart n uḍfaṛ",
        "watchlistfor2": "I $1 $2",
-       "nowatchlist": "Umuɣ n uɛessi inek d ilem.",
+       "nowatchlist": "Ulac iferdisen di tebdart-ik n uḍfaṛ.",
        "watchlistanontext": "G leɛnaya-k $1 iwakken ad twalaḍ neɣ tbeddleḍ iferdas deg wumuɣ n uɛessi inek.",
        "watchnologin": "Ur tekcimeḍ ara",
        "addwatch": "Rnu i umuɣ n uɛassi",
        "wlheader-showupdated": "Isebtar ttubeddlen segwasmi tkecmeḍ tikelt taneggarut ttbanen-d s uḍris '''aberbuz'''.",
        "wlnote": "Ddaw agi  {{PLURAL:$1|yella abeddel aneggaru|llan '''$1''' ibeddilen ineggura}} n {{PLURAL:$2|usrag aneggaru|'''$2''' isragen ineggura}}, seg $3 af $4.",
        "wlshowlast": "Ssken $1 n swayeɛ $2 n wussan neɣ  ineggura",
-       "watchlist-options": "Tifranin n umuɣ n uɛessi",
+       "watchlist-options": "Iɣewwaṛen n tebdart n uḍfaṛ",
        "watching": "Ad iɛass...",
        "unwatching": "Ad ifukk aɛessi...",
        "watcherrortext": "Yella anezri imi tebeddeleḍ iɣewwaren n umuɣ inek/inem n uɛassi i « $1 ».",
        "tooltip-upload": "Beddu taktert",
        "tooltip-rollback": "« Semmet » yesemmet s-yiwen asenned akk d-acu amseqdac aneggaru yebeddel deg usebter",
        "tooltip-undo": "« Ssefsu » yesemmet abeddel agi dɣa i ldi asfaylu n ubeddel deg uskar n azaraskan. I ɛemmed an uɣal ar lqem n uqbel dɣa an rnu taɣẓint deg tanaka n ugzul.",
-       "tooltip-preferences-save": "Ḥrez isemyifiyen",
+       "tooltip-preferences-save": "Sekles ismenyifen",
        "tooltip-summary": "Sekcem agzul awezzlan",
        "interlanguage-link-title": "$1 — $2",
        "anonymous": "{{PLURAL:$1|Aseqdac udrig|Iseqdacen udrigen}} ɣef {{SITENAME}}",
        "namespacesall": "akk",
        "monthsall": "akk",
        "confirmemail": "Sentem tansa n e-mail",
-       "confirmemail_noemail": "Ur tesɛiḍ ara tansa n email ṣaḥiḥ deg [[Special:Preferences|isemyifiyen n wemseqdac]] inek.",
+       "confirmemail_noemail": "Ur tesɛiḍ ara tansa n yitameɣtut deg [[Special:Preferences|ismenyifen n useqdac]]-ik.",
        "confirmemail_text": "{{SITENAME}} yeḥweǧ aseɣbel n tansa e-mail inek/inem uqbel ad sexdemeḍ tanfa n tirawt.\nSeqdec taqeffalt ddaw-agi iwakken ad cegɛeḍ e-mail n uragag ar tansa e-mail inek/inem.\nTirawt at sɛu azday deg-es tangalt. Tzemreḍ at seqdeceḍ tikkelt kan deg talast n ukud ;\nllid azday agi deg iminig iwakken ad sergegeḍ tansa e-mail inek/inem.",
        "confirmemail_pending": "Yettwazen-ak yagi ungal n usentem; lukan txelqeḍ isem wemseqdac tura kan,\nahat yessefk ad tegguniḍ cwiṭ qbel ad tɛreḍeḍ ad testeqsiḍ ɣef ungal amaynut.",
        "confirmemail_send": "Azen-iyi-d angal n usentem s e-mail iwakken ad snetmeɣ.",
        "logentry-rights-rights": "$1 {{GENDER:$2|yebeddel|tebeddel}} amyili ar ugraw i $3 n $4 ar $5",
        "logentry-rights-rights-legacy": "$1 {{GENDER:$2|yebeddel|tebeddel}} amyili ar ugraw i $3",
        "logentry-rights-autopromote": "$1 {{GENDER:$2|yettwasmel|tettwasmel}} s uwurman seg $4 ar $5",
+       "logentry-upload-overwrite": "$1 {{GENDER:$2|yessuli-d|tessuli-d}} lqem amaynut n $3",
        "rightsnone": "(ulaḥedd)",
        "feedback-adding": "Rnud iwenniten inek/inem ar usebter...",
        "feedback-bugcheck": "D ayen igerrzen ! Senqed kan ma mačči d yiwen n [$1 inezriyen i n-sen yakan].",
index 9b33310..3461342 100644 (file)
@@ -97,7 +97,7 @@
        "tog-shownumberswatching": "주시하는 사용자 수 보이기",
        "tog-oldsig": "당신의 기존 서명:",
        "tog-fancysig": "서명을 위키텍스트로 취급 (자동으로 링크를 걸지 않음)",
-       "tog-uselivepreview": "실시간 미리 보기 사용하기",
+       "tog-uselivepreview": "페이지를 다시 불러오지 않고 미리 보기 표시",
        "tog-forceeditsummary": "편집 요약을 쓰지 않았을 때 내게 물어보기",
        "tog-watchlisthideown": "주시문서 목록에서 내 편집을 숨기기",
        "tog-watchlisthidebots": "주시문서 목록에서 봇 편집을 숨기기",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "보기",
        "rcfilters-legend-heading": "<strong>약어 목록:</strong>",
-       "rcfilters-other-review-tools": "<strong>다른 검토 도구:</strong>",
+       "rcfilters-other-review-tools": "<strong>다른 검토 도구</strong>",
        "rcfilters-activefilters": "사용 중인 필터",
        "rcfilters-advancedfilters": "고급 필터",
        "rcfilters-limit-title": "표시할 변경사항",
-       "rcfilters-limit-shownum": "최근 $1개의 변경사항 표시",
+       "rcfilters-limit-shownum": "최근 {{PLURAL:$1개의 변경사항}} 표시",
        "rcfilters-days-title": "최근 날",
        "rcfilters-hours-title": "최근 시간",
        "rcfilters-days-show-days": "$1{{PLURAL:$1|일}}",
        "rcfilters-savedqueries-add-new-title": "현재의 필터 설정 저장",
        "rcfilters-restore-default-filters": "기본 필터 복구",
        "rcfilters-clear-all-filters": "필터 모두 지우기",
+       "rcfilters-show-new-changes": "새로운 변경사항 표시",
+       "rcfilters-previous-changes-label": "이전에 표시된 변경사항",
        "rcfilters-search-placeholder": "필터 최근 바뀜 (찾아보거나 입력을 시작하십시오)",
        "rcfilters-invalid-filter": "유효하지 않은 필터",
        "rcfilters-empty-filter": "활성화된 필터가 없습니다. 모든 기여가 표시됩니다.",
        "rcfilters-filter-excluded": "제외됨",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:아님</strong> $1",
        "rcfilters-exclude-button-off": "선택 제외",
+       "rcfilters-view-advanced-filters-label": "고급 필터",
        "rcfilters-view-tags": "태그된 편집",
        "rcfilters-view-namespaces-tooltip": "이름공간으로 결과 필터",
        "rcfilters-view-tags-tooltip": "편집 태그를 사용하여 결과 필터",
        "rcfilters-view-return-to-default-tooltip": "주 필터 메뉴로 돌아가기",
        "rcfilters-liveupdates-button": "실시간 업데이트",
+       "rcfilters-liveupdates-button-title-on": "실시간 업데이트 끄기",
+       "rcfilters-liveupdates-button-title-off": "새로운 변경사항이 발생하면 표시",
        "rcnotefrom": "아래는 <strong>$3, $4</strong>부터 시작하는 {{PLURAL:$5|바뀜이 있습니다}}. (최대 <strong>$1</strong>개가 표시됨)",
        "rclistfromreset": "날짜 선택 초기화",
        "rclistfrom": "$3 $2부터 시작하는 새로 바뀐 문서 보기",
        "rc-enhanced-expand": "자세한 내용 보기",
        "rc-enhanced-hide": "자세한 기록 숨기기",
        "rc-old-title": "처음에 \"$1\"라는 제목으로 만들어졌습니다",
-       "recentchangeslinked": "가리키는 글의 바뀜",
-       "recentchangeslinked-feed": "가리키는 글의 바뀜",
-       "recentchangeslinked-toolbox": "가리키는 글의 바뀜",
+       "recentchangeslinked": "가리키는 글의 최근 바뀜",
+       "recentchangeslinked-feed": "가리키는 글의 최근 바뀜",
+       "recentchangeslinked-toolbox": "가리키는 글의 최근 바뀜",
        "recentchangeslinked-title": "\"$1\" 문서에 관련된 문서 바뀜",
        "recentchangeslinked-summary": "지정된 문서를 가리키는 문서(또는 지정된 분류에 들어 있는 문서)에 대한 최근에 바뀐 목록입니다.\n[[Special:Watchlist|주시문서 목록]]에 있는 문서는 <strong>굵게</strong> 나타납니다.",
        "recentchangeslinked-page": "문서 이름:",
-       "recentchangeslinked-to": "해당 문서를 가리키는 문서의 바뀜 보기",
+       "recentchangeslinked-to": "해당 문서를 가리키는 문서의 최근 바뀜 보기",
        "recentchanges-page-added-to-category": "[[:$1]]이(가) 분류에 추가되었습니다",
        "recentchanges-page-added-to-category-bundled": "[[:$1]] 문서가 분류에 추가되었습니다. [[Special:WhatLinksHere/$1|이 문서는 다른 문서들에 포함되어 있습니다]]",
        "recentchanges-page-removed-from-category": "[[:$1]]이(가) 분류에서 제거되었습니다",
index 348f710..1d16e47 100644 (file)
@@ -48,7 +48,7 @@
        "tog-shownumberswatching": "'t Aantal gebroekers tuine die dees pagina volg",
        "tog-oldsig": "Dien bestaonde ongerteikening:",
        "tog-fancysig": "Es wikiteks behanjele (zonder autematische verwiezing)",
-       "tog-uselivepreview": "\"live veurbesjouwing\" gebroeke",
+       "tog-uselivepreview": "Tuin veurbesjoewing zónger de pagina te herlaje",
        "tog-forceeditsummary": "'n Melding gaeve bie 'n laeg samevatting",
        "tog-watchlisthideown": "Eige bewirkinge verberge op mien volglies",
        "tog-watchlisthidebots": "Botbewirkinge op mien volglies verberge",
        "changeemail-throttled": "Doe höbs te huifig geperbeerd dit aan te melje.\nDoe mós effe $1 wachte ierdets te 't obbenuuts kens perbere.",
        "changeemail-nochange": "Veur 'n anger e-mailadres in.",
        "resettokens": "Stèl teikes oppernuuj in",
+       "resettokens-text": "Doe kans teikes oppernuuj instèlle die toegank gaeve tot bepaolde perseunlike gegaeves die aan diene gebroeker zeen verbónje.\n\nDoe zóds dit mótte doon wen se die per óngelök haes gedeild mit angere of wen ónbeveugde toegank tot diene gebroeker höbbe gehad.",
        "resettokens-no-tokens": "'t Geuf gein teikes veur oppernuuj in te stèlle.",
        "resettokens-tokens": "Teikes:",
        "resettokens-token-label": "$1 (hujige waerd: $2)",
        "blockedtitle": "Gebroeker is geblokkeerd",
        "blockedtext": "'''Dien gebroekersaccount of IP-adres is geblokkeerd.'''\n\nDe blokkade is oetgeveurd door $1. De opgegaeve raej is ''$2''.\n\n* Aanvang blokkade: $8\n* Ènj blokkade: $6\n* Bedoeld te blokkere: $7\n\nDe kèns contak opnumme mit $1 of 'ne angere [[{{MediaWiki:Grouppage-sysop}}|systeemwèrker]] óm de blokkade te besjpraeke.\nDe kèns gein gebroek make van de functie 'e-mail deze gebroeker', behauve es te 'n geldig e-mailadres höbs opgegaeve in dien [[Special:Preferences|veurkäöre]] en 't gebroek van deze fónksie neet geblokkeerd is.\nDien hujig IP-adres is $3 en 't nómmer van de blokkade is #$5. Vermeld beide gegaeves wens te örges op dees blokkade reageers.",
        "autoblockedtext": "Dien IP-adres is automatisch geblokkeerd omdet 't gebroek is door 'ne gebroeker, dae is geblokkeerd door $1.\nDe opgegaeve reje is:\n\n:''$2''\n\n* Aanvang blokkade: $8\n* Einde blokkade: $6\n* Blóksmeining: $7\n\nDoe kins deze blokkaasj bespraeke mèt $1 of 'ne angere [[{{MediaWiki:Grouppage-sysop}}|beheerder]]. Doe kins gén gebroek make van de functie 'e-mail deze gebroeker', tenzijse 'n geldig e-mailadres opgegaeve höbs in dien [[Special:Preferences|veurkeure]] en 't gebroek van deze functie neet is geblokkeerd.\n\nDien nömmer vanne blokkaasj is #$5 èn dien IP-adres is $3.\nVermeld det esse örges euver deze blokkaasj reageers.",
+       "systemblockedtext": "Diene gebroekersnaam of dien IP-adres is automatisch geblokkeerd gewaore door MediaWiki.\nDe opgegaove raeje is:\n\n:<em>$2</em>\n\n* Aanvank blokkaasj: $8\n* Ènj blokkaasj: $6\n* Gemèndj te blokkere: $7\n\nDien hujig IP-adres is $3.\n\nVermelj alle baovestäönde gegaeves in 'n aanvraog die se maaks.",
        "blockednoreason": "geine ree opgegaeve",
        "whitelistedittext": "Geer mót uch $1 óm pajzená te bewirke.",
        "confirmedittext": "De mós dien e-mailadres bevestige veurdats te kèns bewirke.\nVeur dien e-mailadres in en bevestig 'm bie [[Special:Preferences|dien veurkäöre]].",
        "loginreqlink": "aanmelde",
        "loginreqpagetext": "Doe moos diech $1 om anger pagina's te bekieke.",
        "accmailtitle": "Wachwaord versjtuurd.",
-       "accmailtext": "'n Willekäörig wachwaord veur [[User talk:$1|$1]] is nao $2 gesjtuurd.\n\n't Wachwaord veur deze nuje gebroeker kan gewiezig waere via de pagina ''[[Special:ChangePassword|Wachwaord wiezige]]'' nao 't aanmelje.",
+       "accmailtext": "'n Willekäörig wachwaord veur [[User talk:$1|$1]] is nao $2 gesjtuurd. 't Wachwaord verangerd waere via de pagina <em>[[Special:ChangePassword|Wachwaord wiezige]]</em> nao 't aanmelje.",
        "newarticle": "(Nuuj)",
        "newarticletext": "De höbs 'ne link gevolg nao 'n pagina die nog neet besjteit.\nType in de box hiejónger óm de pagina te beginne (zuug de [$1 helppagina] veur mie infermasie).\nEs te hie per óngelök terech bis gekómme, klik dan op de '''trök'''-knóp van diene browser.",
        "anontalkpagetext": "----\n<em>Dit is de euverlèkpagina veur 'ne anonieme gebroeker dae nog gein account haet aangemaak of dae 't neet gebroek.</em>\nDaoveur gebroeke v'r 't IP-adres óm de gebroeker te identificere.\nDet adres kan waere gedeild door mierdere gebroekers.\nEs te 'ne anonieme gebroeker bis en de höbs 't geveul dat 'r ónrelevante commentare aan dich gerich zeen, kèns te 't bèste [[Special:CreateAccount|'n account crëere]] of [[Special:UserLogin|inlogge]] óm toekomstige verwarring mit anger anoniem gebroekers te veurkomme.",
        "noarticletext": "Dees pagina bevat gein teks.\nDe kèns [[Special:Search/{{PAGENAME}}|nao deze term zeuke]] in anger pagina's, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} de logbeuk doorzeuke] of [{{fullurl:{{FULLPAGENAME}}|action=edit}} dees pagina aanmake]</span>.",
        "noarticletext-nopermission": "Dees pagina bevat gein teks.\nDe kans [[Special:Search/{{PAGENAME}}|nao dees term zeuke]] in anger pagina's of\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} de logbeuk doorzeuke]</span>, meh doe höbs gein vergónning dees pagina aan te make.",
+       "missing-revision": "De versie #$1 van de pagina \"{{FULLPAGENAME}}\" besteit neet.\n\nDit weurt meistal veroearzaak door 't volge van 'ne verajerde link nao 'n pagina die is eweggesjaf.\nMieër gegaeves zint meugelik te vinje in 't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ewegsjaffingslogbook].",
        "userpage-userdoesnotexist": "Doe bewirks 'n gebroekerspagina van 'ne gebroeker dae neet besjteit (gebroeker \"<nowiki>$1</nowiki>\"). Controlere ofs doe dees pagina waal wils aanmake/bewirke.",
        "userpage-userdoesnotexist-view": "Gebroeker \"$1\" is neet geregistreerd.",
        "blocked-notice-logextract": "Deze gebroeker is noe geblok.\nDe leste bloklogregel wuuertj hiejónger t'r raodpleging gegaeve:",
        "previewnote": "'''Lèt op: dit is 'n controlepagina; dien teks is nog neet opgesjlage!'''",
        "continue-editing": "Gank nao 't bewirkingsvönster",
        "previewconflict": "Dees versie toent wie de tèks in 't bôvesjte vèld oet git zeen es e zouws opsjlaon.",
-       "session_fail_preview": "'''Sorry! Dien bewerking is neet verwerkt omdat sessiegegevens verlaore zeen gegaon.\nProbeer 't opnieuw. Als 't dan nog neet lukt, meldt dich dan aaf en weer aan.'''",
-       "session_fail_preview_html": "'''Sorry! Dien bewerking is neet verwerk omdat sessiegegevens verlaore zeen gegaon.'''\n\n''Omdat in deze wiki ruwe HTML is ingesjakeld, is 'n voorvertoning neet meugelik als bescherming taege aanvalle met JavaScript.''\n\n'''Als dit een legitieme bewerking is, probeer 't dan opnieuw. Als 't dan nog neet lukt, meldt dich dan aaf en weer aan.'''",
+       "session_fail_preview": "Dien bewirking is neet verwirk ómdet sessiegegaeves verlaore zeen gegange.\n\nMeugelikerwies bös se automatisch oetgelog. <strong>Stèl vas of se nag bös aangemeldj en perbeer 't oppernuuj.</strong>\nEs 't den nanneet lök, [[Special:UserLogout|log dich oet]] en den weer aan, en controleer of diene browser waal cookies tousteit van dees site.",
+       "session_fail_preview_html": "Dien bewirking is neet verwirk ómdet sessiegegaeves verlaore zeen gegange.\n\n<em>Ómdet in {{SITENAME}} roew HTML is oetgeztte, is 'n veurbesjoewing neet meugelik es besjurming taenge aanvalle mit JavaScript.</em>\n\n<strong>Es dit 'n legitiem bewirking is, perbeer 't den oppernuuj.</strong>\nEs 't den nanneet lök, [[Special:UserLogout|log dich oet]] en den weer aan, en controleer of diene browser waal cookies tousteit van dees site.",
        "token_suffix_mismatch": "'''Dien bewerking is geweigerd omdat dien client de laesteikes in 't bewerkingstoken onjuist haet behandeld. De bewerking is geweigerd om verminking van de paginateks te veurkomme. Dit gebeurt soms es d'r een webgebaseerde proxydienst wurt gebroek die foute bevat.'''",
        "edit_form_incomplete": "'''Sommige ongerdeile van 't bewerkingsformuleer höbbe de server neet bereik. Controleer of dien bewerkinge intak zien en perbeer 't obbenuits.'''",
        "editing": "Bewirkingspagina: $1",
        "yourdiff": "Verangeringe",
        "copyrightwarning": "Opgelèt: Alle biedrage aan {{SITENAME}} weure geach te zeen vriegegaeve ónger de $2 (zuug $1 veur details). Wens te neet wils dat dienen teks door angere bewirk en versjpreid weurt, kees dan neet veur 'Pagina opsjlaon'.<br /> Hiebie belaofs te ós ouch dats te dees teks zelf höbs gesjreve, of höbs euvergenómme oet 'n vriej, openbaar brón.<br /> '''GEBROEK GEI MATERIAAL DAT BESJIRMP WEURT DOOR AUTEURSRECH, BEHAUVE WENS TE DAO TOESJTÖMMING VEUR HÖBS!'''",
        "copyrightwarning2": "Mèrk op dat alle biedrages aan {{SITENAME}} kinne weure verangerd, aangepas of weggehaold door anger luuj. As te neet wils dat dienen tèks zoemer kint weure aangepas mós te 't hie neet plaatsje.<br />\nDe beluifs ós ouch dats te dezen tèks zelf höbs gesjreve, of gekopieerd van 'n brón in 't publiek domein of get vergliekbaars (zuug $1 veur details).\n'''HIE GEIN AUTEURSRECHTELIK BESJIRMP WERK ZÓNGER TOESJTUMMING!'''",
+       "editpage-cannot-use-custom-model": "'t Inhawdsmodel van dees pagina kan neet waere verangerd.",
        "longpageerror": "Fout: De teks diese höbs toegevoegd haet is {{PLURAL:$1|'ne kilobyte|$1 kilobyte}} groet, wat groeter is es 't maximum van {{PLURAL:$2|'ne kilobyte|$2 kilobyte}}. Opslaon is neet meugelik.'''",
-       "readonlywarning": "WAARSJUWING: De database is vasgezèt veur ongerhoud, dus op 't mement kins e dien verangeringe neet opsjlaon. De kins dien tèks 't biste opsjlaon in 'n tèksbesjtand om 't later hie nog es te prebere.\n\nt Is geslaote waenger: $1",
+       "readonlywarning": "WAARSJUWING: De database is vasgezat veur óngerhawd, dus op 't mement kins se dien verangeringe neet opsjlaon.</strong>\n\nDe kins dien tèks 't biste opsjlaon in 'n tèksbesjtand om 't later hie nog es te prebere.\n\nt Is geslaote door de systeembehieërder waenger: $1",
        "protectedpagewarning": "'''WAARSJOEWING: Dees pagina is besjirmp zoedet ze allein door gebroekers mit administratorrechte kint waere verangerd.'''\nDe lèste logbookregel sjteit hiejónger:",
        "semiprotectedpagewarning": "'''Lèt op:''' Dees pagina is beveilig en kin allein door geregistreerde gebroekers bewirk waere.\nDe lèste logbookregel steit hiejónger:",
-       "cascadeprotectedwarning": "'''Waarschuwing:''' Deze pagina is beveilig en kin allein door beheerders bewerk waere, omdat deze is opgenaome in de volgende {{PLURAL:$1|pagina|pagina's}} {{PLURAL:$1|dae|die}} beveilig {{PLURAL:$1|is|zeen}} met de cascade-optie:",
+       "cascadeprotectedwarning": "<strong>Waarschuwing:</strong> Dees pagina is beveilig en kin allein door beheerders mit [[Special:ListGroupRights|specefieke rechte]] bewirk waere, omdet dees is opgenaome in de volgende {{PLURAL:$1|pagina|pagina's}} {{PLURAL:$1|dae|die}} beveilig {{PLURAL:$1|is|zeen}} mit de cascade-optie:",
        "titleprotectedwarning": "'''WAORSJUWING: Deze pagina is beveilig zodet allein inkele gebroekers 'm kinne aanmake. De beneuds [[Special:ListGroupRights|speciale rechte]].'''\nDe lèste logbookregel vólg hier:",
        "templatesused": "Op dees pagina {{PLURAL:$1|gebroek sjabloon|gebroekde sjablone}}:",
        "templatesusedpreview": "{{PLURAL:$1|Sjabloon|Sjablone}} gebroek in dees veurvertuining:",
        "permissionserrors": "Foute inne rèchter",
        "permissionserrorstext": "Doe höbs gein rèchter om det te daon om de volgende {{PLURAL:$1|reje|rejer}}:",
        "permissionserrorstext-withaction": "Geer höb gein rech óm $2 óm de volgende {{PLURAL:$1|raej|raej}}:",
+       "contentmodelediterror": "Doe kans dees versie neet bewirke, went 't inhawdsmodel daovan is <code>$1</code> en 't hujig inhawdsmodel van de pagina is <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Waarsjoewing: de bis bezig mit 't aanmake van 'n pagina die in 't verleje eweggesjaf is.'''\n\nBedink of 't terech is dets te wiejer wirks aan dees pagina. Veur dien gemaak sjteit hiejónger 't wislogbook en 't logbook verplaatste pagina's veur dees pagina:",
        "moveddeleted-notice": "Dees pagina is eweggesjaf.\nTer infermasie weurt 't wislogbook en 't logbook verplaatsjde pagina's van dees pagina hiejónger weergegaeve.",
+       "moveddeleted-notice-recent": "Dees pagina is recèntelik eweggesjaf gewaore (in de aafgeloupe 24 oer).\n't Ewegsjaffings- en verplaatsinglogbook weurt te rifferensie hie-ónger getoeandj.",
        "log-fulllog": "Bekiek 't gans logbook",
        "edit-hook-aborted": "De bewèrking is aafgebroke door 'ne 'hook'.\nD'r is gein toelichting besjikbaar.",
        "edit-gone-missing": "De pagina is neet biegewirk.\nZe lik eweggesjaf te zien.",
        "postedit-confirmation-saved": "Dien bewirking is opgeslage gewaore.",
        "edit-already-exists": "De pagina is neet aangemaak.\nZie besjteit al.",
        "defaultmessagetext": "Obligaten teks",
+       "content-failed-to-parse": "'t Waas neet meugelik d'n inhawd van 't MIME-typ $2 veur 't model $1 te verwirke: $3.",
        "invalid-content-data": "Óngeljige inhawdsgegaeves",
-       "editwarning-warning": "Es se dees pagina verleets verluus se meugelik wieziginge die se haes gemaak.\nEs se bös aangemeld, kins se dees waorsjoewing oetzètten in 't bewerkingstabblaad in dien veurkäöre.",
+       "content-not-allowed-here": "Inhawd \"$1\" is neet tougestange op pagina [[$2]].",
+       "editwarning-warning": "Es se dees pagina verleets verluus se meugelik verangeringe die se haes gemaak.\nEs se bös aangemeld, kins se dees waorsjoewing oetzètten in 't tabblaad \"{{int:prefs-editing}}\" in dien veurkäöre.",
        "editpage-invalidcontentmodel-title": "Inhaadsmodel wuuertj neet óngersteund",
        "editpage-invalidcontentmodel-text": "'t Inhawdsmodel \"$1\" weurt neet óngersteund",
        "editpage-notsupportedcontentformat-title": "Inhawdsformaat neet óngersteund",
        "content-json-empty-object": "Laeg objek",
        "content-json-empty-array": "Laege rits",
        "deprecated-self-close-category": "Pagina's mit óngeljige zelfsloetende HTML-tags",
+       "deprecated-self-close-category-desc": "De pagina bevat óngeljige zelf-aafgeslaote HTML-tags, wie <code>&lt;b/&gt;</code> of <code>&lt;span/&gt;</code>. 't Gedraag van dees tags zal binnekort waere verangerd zodet dit euvereinkumpt miet de HTML5-specificatie, dus 't gebroek hievan is verajerd en weurt aafgeraoje.",
+       "duplicate-args-warning": "<strong>Waorsjoewing:</strong> [[:$1]] reup [[:$2]] aan mit mieër es ein waerd veur de paramaeter \"$3\". Allein de litste waerd weurt gebroek.",
+       "duplicate-args-category": "Pagina's mit dóbbel sjebloonparamaeters",
+       "duplicate-args-category-desc": "De pagina bevat aanreup van sjeblone worin 'tzelfde argument versjillende kieëre weurt gebroek, wie <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> of <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
        "expensive-parserfunction-warning": "'''Waarschuwing:''' dees pagina gebroek te väöl kosbare parserfuncties.\n\nNoe {{PLURAL:$1|is|zeen}} 't d'r $1, terwiel 't d'r minder es $2 {{PLURAL:$2|mótte|mótte}} zeen.",
        "expensive-parserfunction-category": "Pagina's die te väöl kosbare parserfuncties gebroeke",
        "post-expand-template-inclusion-warning": "Waorsjuwing: de maximaal transclusiegruudje veur sjablone is euversjri-jje.\nSommige sjablone waere neet getranscludeerd.",
        "post-expand-template-argument-category": "Pagina's die missende sjabloonillemènte bevatte",
        "parser-template-loop-warning": "D'r is 'ne krinkloup in sjablone geconstateerd: [[$1]]",
        "template-loop-category": "Pagina's mit sjeblone die zichzelf insloete",
+       "template-loop-category-desc": "De pagina bevat e sjebloon det zichzelf insluut, wie e sjebloon det zichzelf recursief aanreup.",
        "parser-template-recursion-depth-warning": "De recursiedeepte veur sjablone is euversjrede ($1)",
        "language-converter-depth-warning": "De deepdjelimiet veure spraokómzètter is euversjreje ($1)",
        "node-count-exceeded-category": "Pagina's wo 't maximaal aantal nodes te väöl is",
+       "node-count-exceeded-category-desc": "De pagina kump euver 't maximaal aantal knouppuntje haer.",
        "node-count-exceeded-warning": "Oppe paasj is 't maximaal aantal nodes behaoltj",
        "expansion-depth-exceeded-category": "Pagina's wo de expansiedeepdje te väöl is",
        "expansion-depth-exceeded-category-desc": "De pagina geit euver de maximaal oetbreijingsdeepdje.",
        "prefs-help-signature": "Reacties op de euverlèkpagina's waere meistal ongerteikend mit \"<nowiki>~~~~</nowiki>\".\nDe tildes waeren omgezat in dien handjteikening en nen datum en tied van de bewirking.",
        "badsig": "Óngeljige roew handjteikening; kiek de HTML-tags nao.",
        "badsiglength": "De handjteikening is te lank.\nZie maag neet mie es $1 {{PLURAL:$1|karakter|karakters}} bevatte.",
-       "yourgender": "Geslach:",
-       "gender-unknown": "Neet aangegaeve",
+       "yourgender": "Waat is dien geslech?",
+       "gender-unknown": "De software gebroek de standerdwäörd óngeach 't geslech",
        "gender-male": "Hae bewirk de wiki",
        "gender-female": "Hèt bewirk de wiki",
-       "prefs-help-gender": "Optioneel: dit wört gebroek om gebroekers correk aan te spraeke in de software.\nDeze informatie is zichbaar veur angere gebroekers.",
+       "prefs-help-gender": "Deze veurkäör instèlle is optioneel.\n\nDe sofware gebroek dees waerd veur dich aan te spraeke en dich te vermelje aan anger gebroekers middels 't juuste grammatikaal geslech.\n\nDees infermasie is aopenbaar en zichbaar veur anger gebroekers.",
        "email": "E-mail",
        "prefs-help-realname": "Echte naam is optioneel.\nEs se dezen opgeufs, kan deze naam waere gebroek veur dich erkènning te gaeve veur die werk.",
        "prefs-help-email": "E-mailadres is optioneel, mer maak 't muuëgelik óm dich e wachwaord te sjikke es s'n 't vergaete höbs.",
        "userrights-invalid-expiry": "De verloiptied veure groep \"$1\" is óngeljig.",
        "userrights-expiry-in-past": "De verlouptied veure groep \"$1\" is al gewaes.",
        "userrights-cannot-shorten-expiry": "Doe kans de verlouptied van 't groepslidmaotsjap van groep \"$1\" neet verkorte. Allein gebroekers mit 't rech óm dees groep tou te veuge of eweg te sjaffe kónne de verlouptied verkorte.",
+       "userrights-conflict": "Kónflik mit gebroekersrechteverangering! Controleer en bevestig dien verangeringe.",
        "group": "Gróp:",
        "group-user": "Gebroekers",
        "group-autoconfirmed": "Geregistreerde gebroekers",
        "right-createpage": "Pagina's aanmake",
        "right-createtalk": "Euverlegpagina's aanmake",
        "right-createaccount": "Nuwe gebroekers aanmake",
+       "right-autocreateaccount": "Melj dich automatisch aan mit 'nen externe gebroeker",
        "right-minoredit": "Bewerkinge markere as klein",
        "right-move": "Pagina's hernaome",
        "right-move-subpages": "Pagina's inclusief subpagina's verplaatse",
        "right-move-rootuserpages": "Gebroekerspagina's van 't hoegste niveau verplaatse",
+       "right-move-categorypages": "Verplaats categoriepagina's",
        "right-movefile": "Bestenje hernoeme",
        "right-suppressredirect": "Een doorverwijzing op de doelpagina verwijdere bie 't hernaome van 'n pagina",
        "right-upload": "Bestande uploade",
        "right-reupload-shared": "Sjrief bestenj oete gedeildje mediagegaevesbak plaatsjelik euver.",
        "right-upload_by_url": "Bestande uploade via een URL",
        "right-purge": "De cache veur 'n pagina lege",
-       "right-autoconfirmed": "Behandeld waere as 'n geregistreerde gebroeker",
+       "right-autoconfirmed": "Oetgezunjerd van IP-gebaseerde tiedsaafhenkelike bepirkinge",
        "right-bot": "Behandeld waere as 'n geautomatiseerd proces",
        "right-nominornewtalk": "Kleine bewerkinge aan 'n euverlegpagina leide neet tot 'n melding 'nuwe berichte'",
        "right-apihighlimits": "Hoegere API-limiete gebroeke",
index 3a0564b..6e04c57 100644 (file)
        "october-date": "$1. oktobris",
        "november-date": "$1. novembris",
        "december-date": "$1. decembris",
+       "period-am": "AM",
+       "period-pm": "PM",
        "pagecategories": "{{PLURAL:$1|Kategorijas|Kategorija|Kategorijas}}",
        "category_header": "Raksti, kas ietverti kategorijā \"$1\".",
        "subcategories": "Apakškategorijas",
        "botpasswords-updated-title": "Bota parole atjaunināta",
        "botpasswords-deleted-title": "Bota parole dzēsta",
        "resetpass_forbidden": "Paroles nav iespējams nomainīt",
+       "resetpass_forbidden-reason": "Paroles nav iespējams nomainīt: $1",
        "resetpass-no-info": "Jums ir nepieciešams ieiet, lai tūlīt piekļūtu šai lapai.",
        "resetpass-submit-loggedin": "Mainīt paroli",
        "resetpass-submit-cancel": "Atcelt",
        "grant-group-email": "Sūtīt e-pastu",
        "grant-group-high-volume": "Veikt liela apjoma aktivitātes",
        "grant-group-administration": "Veikt administratīvās darbības",
+       "grant-blockusers": "Bloķēt un atbloķēt dalībniekus",
        "grant-createaccount": "Izveidot kontu",
        "grant-createeditmovepage": "Izveidot, labot un pārvietot lapas",
        "grant-delete": "Dzēst lapas, to versijas un žurnāla ierakstus",
+       "grant-editinterface": "Labot MediaWiki vārdtelpu un lietotāju CSS/JavaScript",
+       "grant-editmycssjs": "Labot savu lietotāja CSS/JavaScript",
+       "grant-editmyoptions": "Labot savas lietotāja izvēles",
        "grant-editmywatchlist": "Labot uzraugāmo rakstu sarakstu",
        "grant-editpage": "Labot esošās lapas",
        "grant-editprotected": "Labot aizsargātās lapas",
        "grant-highvolume": "Liela apjoma labošana",
+       "grant-patrol": "Patrulēt lapu izmaiņas",
        "grant-uploadfile": "Augšupielādēt jaunus failus",
        "grant-basic": "Pamattiesības",
        "grant-viewdeleted": "Skatīt dzēstos failus un lapas",
        "recentchanges-legend-heading": "<strong>Apzīmējumi:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (skatīt arī [[Special:NewPages|jaunās lapas]])",
        "recentchanges-submit": "Rādīt",
+       "rcfilters-group-results-by-page": "Grupēt rezultātus pēc lapas",
+       "rcfilters-grouping-title": "Grupēšana",
        "rcfilters-activefilters": "Aktīvie filtri",
+       "rcfilters-advancedfilters": "Paplašinātie filtri",
+       "rcfilters-limit-title": "Rādāmās izmaiņas",
+       "rcfilters-limit-shownum": "Rādīt {{PLURAL:$1|pēdējās $1 izmaiņas|pēdējo $1 izmaiņu|pēdējās $1 izmaiņas}}",
+       "rcfilters-days-title": "Pēdējās dienas",
+       "rcfilters-hours-title": "Pēdējās stundas",
+       "rcfilters-days-show-days": "$1 {{PLURAL:$1|dienas|diena|dienas}}",
+       "rcfilters-days-show-hours": "$1 {{PLURAL:$1|stundas|stunda|stundas}}",
        "rcfilters-quickfilters": "Saglabātie filtri",
+       "rcfilters-quickfilters-placeholder-title": "Vēl nav saglabāto saišu",
        "rcfilters-savedqueries-defaultlabel": "Saglabātie filtri",
        "rcfilters-savedqueries-rename": "Pārsaukt",
        "rcfilters-savedqueries-setdefault": "Uzstādīt kā noklusēto",
        "rcfilters-savedqueries-new-name-label": "Nosaukums",
        "rcfilters-savedqueries-new-name-placeholder": "Apraksti filtra būtību",
        "rcfilters-savedqueries-apply-label": "Izveidot filtru",
+       "rcfilters-savedqueries-apply-and-setdefault-label": "Izveidot noklusēto filtru",
        "rcfilters-savedqueries-cancel-label": "Atcelt",
        "rcfilters-savedqueries-add-new-title": "Saglabāt esošos filtra iestatījumus",
        "rcfilters-restore-default-filters": "Atjaunot noklusētos filtrus",
        "rcfilters-clear-all-filters": "Noņemt visus filtrus",
+       "rcfilters-show-new-changes": "Rādīt jaunās izmaiņas",
+       "rcfilters-previous-changes-label": "Iepriekš skatītās izmaiņas",
        "rcfilters-search-placeholder": "Filtrēt pēdējās izmaiņas (pārlūko vai sāc rakstīt)",
        "rcfilters-invalid-filter": "Nederīgs filtrs",
        "rcfilters-empty-filter": "Nav aktīvu filtru. Tiek rādītas visas izmaiņas.",
        "rcfilters-filterlist-title": "Filtri",
-       "rcfilters-filterlist-whatsthis": "Kas tas ir?",
+       "rcfilters-filterlist-whatsthis": "Kā tās strādā?",
        "rcfilters-filterlist-feedbacklink": "Sniedz atsauksmes par jaunajiem (bēta) filtriem",
        "rcfilters-highlightbutton-title": "Izcelt rezultātus",
        "rcfilters-highlightmenu-title": "Izvēlies krāsu",
        "rcfilters-highlightmenu-help": "Izvēlies krāsu, lai izceltu šo īpašību",
        "rcfilters-filterlist-noresults": "Filtri nav atrasti",
+       "rcfilters-noresults-conflict": "Nav rezultātu, jo meklēšanas kritēriji konfliktē",
        "rcfilters-filtergroup-authorship": "Devuma autors",
        "rcfilters-filter-editsbyself-label": "Tavi labojumi",
        "rcfilters-filter-editsbyself-description": "Tevis veiktie labojumi.",
        "rcfilters-filter-categorization-description": "Ieraksti par lapu pievienošanu vai noņemšanu no kategorijām.",
        "rcfilters-filter-logactions-label": "Reģistrētās darbības",
        "rcfilters-filter-logactions-description": "Administratīvās darbības, kontu veidošana, lapu dzēšana, augšupielādes...",
-       "rcfilters-filtergroup-lastRevision": "Pēdējā versija",
-       "rcfilters-filter-lastrevision-label": "Pēdējā versija",
+       "rcfilters-filtergroup-lastRevision": "Pašreizējās versijas",
+       "rcfilters-filter-lastrevision-label": "Pašreizējā versija",
        "rcfilters-filter-lastrevision-description": "Nesenākā lapas izmaiņa.",
        "rcfilters-filter-previousrevision-label": "Agrākas versijas",
        "rcfilters-filter-previousrevision-description": "Visas izmaiņas, kuras nav pēdējā lapas izmaiņa.",
+       "rcfilters-view-advanced-filters-label": "Paplašinātie filtri",
        "rcfilters-view-tags": "Iezīmētie labojumi",
        "rcnotefrom": "Šobrīd redzamas izmaiņas kopš '''$2''' (parādītas ne vairāk par '''$1''').",
        "rclistfromreset": "Atiestatīt datuma izvēli",
        "fileduplicatesearch-result-n": "Failam \"$1\" ir {{PLURAL:$2|$2 identiskas kopijas|1 identiska kopija|$2 identiskas kopijas}}.",
        "specialpages": "Īpašās lapas",
        "specialpages-note-top": "Apzīmējumi",
-       "specialpages-note": "* Normālas īpašās lapas.\n* <span class=\"mw-specialpagerestricted\">Ierobežotas pieejas īpašās lapas.</span>\n* <span class=\"mw-specialpagecached\">Iekešotās īpašās lapas.</span>",
        "specialpages-group-maintenance": "Uzturēšanas atskaites",
        "specialpages-group-other": "Citas īpašās lapas",
        "specialpages-group-login": "Pieslēgties / izveidot kontu",
        "htmlform-title-not-exists": "$1 nepastāv.",
        "logentry-delete-delete": "$1 {{GENDER:$2|izdzēsa}} lapu $3",
        "logentry-delete-delete_redir": "$1 {{GENDER:$2|izdzēsa}} pāradresāciju $3 pārrakstot",
-       "logentry-delete-restore": "$1 {{GENDER:$2|atjaunoja}} lapu $3",
+       "logentry-delete-restore": "$1 {{GENDER:$2|atjaunoja}} lapu $3 ($4)",
        "restore-count-files": "{{PLURAL: $1|$1 faili|$1 fails|$1 faili}}",
        "logentry-suppress-delete": "$1 {{GENDER:$2|cenzēja}} lapu $3",
        "revdelete-content-hid": "saturs slēpts",
index 93bbc50..ddb9443 100644 (file)
@@ -51,7 +51,7 @@
        "tog-shownumberswatching": "Прикажи го бројот на корисници кои набљудуваат",
        "tog-oldsig": "Вашиот постоечки потпис:",
        "tog-fancysig": "Сметај го потписот за викитекст (без автоматска врска)",
-       "tog-uselivepreview": "Ð\9aоÑ\80иÑ\81Ñ\82и Ð¿Ñ\80еглед Ð²Ð¾ Ð¶Ð¸Ð²Ð¾",
+       "tog-uselivepreview": "Ð\9fÑ\80егледи Ð²Ð¾ Ð¶Ð¸Ð²Ð¾ Ð±ÐµÐ· Ð¿Ñ\80евÑ\87иÑ\82Ñ\83ваÑ\9aе Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86аÑ\82а",
        "tog-forceeditsummary": "Извести ме кога нема опис на промените",
        "tog-watchlisthideown": "Скриј мои уредувања од набљудуваните",
        "tog-watchlisthidebots": "Скриј ботовски уредувања од набљудуваните",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Прикажи",
        "rcfilters-legend-heading": "<strong>Список на кратенки:</strong>",
-       "rcfilters-other-review-tools": "<strong>Други алатки за проверка:</strong>",
+       "rcfilters-other-review-tools": "<strong>Други алатки за проверка</strong>",
+       "rcfilters-group-results-by-page": "Групен исход по страница",
+       "rcfilters-grouping-title": "Групирање",
        "rcfilters-activefilters": "Активни филтри",
        "rcfilters-advancedfilters": "Напредни филтри",
        "rcfilters-limit-title": "Промени за приказ",
-       "rcfilters-limit-shownum": "Прикажи ги последните $1 промени",
+       "rcfilters-limit-shownum": "Прикажи {{PLURAL:$1|ја последната промена|ги последните $1 промени}}",
        "rcfilters-days-title": "Последниве денови",
        "rcfilters-hours-title": "Последниве часови",
        "rcfilters-days-show-days": "{{PLURAL:$1|еден ден|$1 дена}}",
        "rcfilters-savedqueries-add-new-title": "Зачувај тековни филтерски поставки",
        "rcfilters-restore-default-filters": "Поврати основни филтри",
        "rcfilters-clear-all-filters": "Тргни ги сите филтри",
+       "rcfilters-show-new-changes": "Прикажи нови промени",
+       "rcfilters-previous-changes-label": "Претходно прегледани промени",
        "rcfilters-search-placeholder": "Филтрирај скорешни промени (прелстајте или почнете да пишувате)",
        "rcfilters-invalid-filter": "Неважечки филтер",
        "rcfilters-empty-filter": "Нема активни филтри. Прикажани се сите придонеси.",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:не</strong> $1",
        "rcfilters-exclude-button-off": "Изземи избрано",
        "rcfilters-exclude-button-on": "Изземи избрано",
+       "rcfilters-view-advanced-filters-label": "Напредни филтри",
        "rcfilters-view-tags": "Означени уредувања",
        "rcfilters-view-namespaces-tooltip": "Филтрирај исход по именски постор",
        "rcfilters-view-tags-tooltip": "Филтрирај исход по уредувачки ознаки",
        "rcfilters-view-return-to-default-tooltip": "Назад на главното филтерско мени",
        "rcfilters-liveupdates-button": "Поднови во живо",
+       "rcfilters-liveupdates-button-title-on": "Исклучи поднови во живо",
+       "rcfilters-liveupdates-button-title-off": "Прикажува нови промени во живо",
        "rcnotefrom": "Подолу {{PLURAL:$5|е прикажана промената|се прикажани промените}} почнувајќи од <strong>$3, $4</strong>  (се прикажуваат до <b>$1</b>).",
        "rclistfromreset": "Нов избор на датуми",
        "rclistfrom": "Прикажи нови промени почнувајќи од $3 $2",
index b927233..fb7486d 100644 (file)
        "recentchanges-submit": "Vis",
        "rcfilters-legend-heading": "<strong>Liste over forkortelser:</strong>",
        "rcfilters-other-review-tools": "<strong>Andre gjennomgangsverktøy:</strong>",
+       "rcfilters-group-results-by-page": "Grupper resultater etter side",
+       "rcfilters-grouping-title": "Gruppering",
        "rcfilters-activefilters": "Aktive filtre",
        "rcfilters-advancedfilters": "Avanserte filtre",
        "rcfilters-limit-title": "Endringer som skal vises",
-       "rcfilters-limit-shownum": "Vis de siste $1 endringene",
+       "rcfilters-limit-shownum": "Vis {{PLURAL:$1|den siste endringen|de siste $1 endringene}}",
        "rcfilters-days-title": "De siste dagene",
        "rcfilters-hours-title": "De siste timene",
        "rcfilters-days-show-days": "{{PLURAL:$1|Én dag|$1 dager}}",
        "rcfilters-savedqueries-add-new-title": "Lagre de gjeldende filterinnstillingene",
        "rcfilters-restore-default-filters": "Gjenopprett standardfiltre",
        "rcfilters-clear-all-filters": "Nullstill alle filtre",
+       "rcfilters-show-new-changes": "Vis de nyeste endringene",
+       "rcfilters-previous-changes-label": "Endringer som har blitt vist tidligere",
        "rcfilters-search-placeholder": "Filtrer siste endringer (søk eller begyn å skrive)",
        "rcfilters-invalid-filter": "Ugyldig filter",
        "rcfilters-empty-filter": "Ingen aktive filtre. Alle bidrag vises.",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:not</strong> $1",
        "rcfilters-exclude-button-off": "Ekskluder de valgte",
        "rcfilters-exclude-button-on": "Ekskluderer de valgte",
+       "rcfilters-view-advanced-filters-label": "Avanserte filtre",
        "rcfilters-view-tags": "Taggede redigeringer",
        "rcfilters-view-namespaces-tooltip": "Filtrer resultater etter navnerom",
        "rcfilters-view-tags-tooltip": "Filtrer resultater med redigeringstagger",
index 2e343e3..92a91f4 100644 (file)
        "tog-shownumberswatching": "Het aantal gebruikers weergeven dat deze pagina volgt",
        "tog-oldsig": "Uw bestaande ondertekening:",
        "tog-fancysig": "Handtekening als wikitekst behandelen (zonder automatische koppeling)",
-       "tog-uselivepreview": "Livevoorvertoning gebruiken",
+       "tog-uselivepreview": "Voorvertoningen weergeven zonder de pagina opnieuw te laden",
        "tog-forceeditsummary": "Een melding geven bij een lege bewerkingssamenvatting",
        "tog-watchlisthideown": "Eigen bewerkingen op mijn volglijst verbergen",
        "tog-watchlisthidebots": "Botbewerkingen op mijn volglijst verbergen",
        "copyrightwarning2": "Al uw bijdragen aan {{SITENAME}} kunnen bewerkt, gewijzigd of verwijderd worden door andere gebruikers.\nAls u niet wilt dat uw teksten rigoureus aangepast worden door anderen, plaats ze hier dan niet.<br />\nU belooft ook dat u de oorspronkelijke auteur bent van dit materiaal of dat u het hebt gekopieerd uit een bron in het publieke domein of een soortgelijke vrije bron (zie $1 voor details).\n'''Gebruik geen materiaal dat beschermd wordt door auteursrecht, tenzij u daarvoor toestemming hebt!'''",
        "editpage-cannot-use-custom-model": "Het inhoudsmodel van deze pagina kan niet worden gewijzigd.",
        "longpageerror": "'''Fout: de tekst die u hebt toegevoegd is {{PLURAL:$1|één kilobyte|$1 kilobyte}} groot, wat groter is dan het maximum van {{PLURAL:$2|één kilobyte|$2 kilobyte}}.'''\nOpslaan is niet mogelijk.",
-       "readonlywarning": "<strong>Waarschuwing: u kunt deze bewerking nu niet opslaan omdat de database is geblokkeerd voor bewerkingen wegens onderhoudswerkzaamheden.</strong>\nHet is misschien verstandig om uw tekst tijdelijk in een tekstbestand op te slaan en te bewaren voor een later moment.\n\nDe systeembeheerder heeft de database geblokkeerd om de volgende reden: $1",
+       "readonlywarning": "<strong>Waarschuwing: u kunt deze bewerking nu niet opslaan omdat de database is geblokkeerd voor bewerkingen wegens onderhoudswerkzaamheden.</strong>\nHet is misschien verstandig om uw tekst tijdelijk in een tekstbestand op te slaan en te bewaren voor een later moment.\n\nDe systeembeheerder heeft de database geblokkeerd met de volgende reden: $1",
        "protectedpagewarning": "'''Waarschuwing: deze beveiligde pagina kan alleen door gebruikers met beheerdersrechten bewerkt worden.'''\nDe laatste logboekregel staat hieronder:",
        "semiprotectedpagewarning": "'''Let op:''' deze pagina is beveiligd en kan alleen door geregistreerde gebruikers bewerkt worden.\nDe laatste logboekregel staat hieronder:",
        "cascadeprotectedwarning": "<strong>Waarschuwing:</strong> deze pagina is beveiligd en kan alleen door gebruikers met [[Special:ListGroupRights|specifieke rechten]] bewerkt worden, omdat ze is opgenomen in de volgende {{PLURAL:$1|pagina|pagina's}} die beveiligd {{PLURAL:$1|is|zijn}} met de cascade-optie:",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "Weergeven",
        "rcfilters-legend-heading": "<strong>Lijst met afkortingen:</strong>",
-       "rcfilters-other-review-tools": "<strong>Andere controle hulmiddelen:</strong>",
+       "rcfilters-other-review-tools": "<strong>Andere controle hulmiddelen</strong>",
+       "rcfilters-group-results-by-page": "Resultaten per pagina groeperen",
+       "rcfilters-grouping-title": "Groeperen",
        "rcfilters-activefilters": "Actieve filters",
        "rcfilters-advancedfilters": "Geavanceerde filters",
        "rcfilters-limit-title": "Wijzigingen om te tonen",
-       "rcfilters-limit-shownum": "Toon laatste $1 wijzigingen",
+       "rcfilters-limit-shownum": "Toon laatste {{PLURAL:$1|wijziging|$1 wijzigingen}}",
        "rcfilters-days-title": "Afgelopen dagen",
        "rcfilters-hours-title": "Afgelopen uren",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|dag|dagen}}",
        "rcfilters-savedqueries-add-new-title": "Huidige filter instellingen opslaan",
        "rcfilters-restore-default-filters": "Standaard filters terugzetten",
        "rcfilters-clear-all-filters": "Alle filters verwijderen",
+       "rcfilters-show-new-changes": "Toon nieuwe wijzigingen",
+       "rcfilters-previous-changes-label": "Eerder bekeken wijzigingen",
        "rcfilters-search-placeholder": "Filter recente wijzigingen (blader of begin met intypen)",
        "rcfilters-invalid-filter": "Ongeldig filter",
        "rcfilters-empty-filter": "Geen actieve filters. Alle bijdragen worden weergeven.",
        "rcfilters-filter-excluded": "Uitgesloten",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:niet</strong> $1",
        "rcfilters-exclude-button-off": "Geselecteerde uitsluiten",
+       "rcfilters-exclude-button-on": "Geselecteerde uitsluiten",
+       "rcfilters-view-advanced-filters-label": "Geavanceerde filters",
        "rcfilters-view-tags": "Gelabelde bewerkingen",
        "rcfilters-view-namespaces-tooltip": "Filter resultaten op naamruimte",
        "rcfilters-view-tags-tooltip": "Filter resultaten door middel van bewerkingslabels",
        "rcfilters-view-return-to-default-tooltip": "Terug naar het filter hoofdmenu",
        "rcfilters-liveupdates-button": "Liveupdates",
+       "rcfilters-liveupdates-button-title-on": "Live updates uitschakelen",
+       "rcfilters-liveupdates-button-title-off": "Toon nieuwe wijzigingen op het moment dat ze gebeuren",
        "rcnotefrom": "Wijzigingen sinds <strong>$3 om $4</strong> (maximaal <strong>$1</strong> {{PLURAL:$1|wijziging|wijzigingen}}).",
        "rclistfromreset": "Datum selectie opnieuw instellen",
        "rclistfrom": "Wijzigingen bekijken vanaf $3 $2",
        "apisandbox-sending-request": "API-verzoek verzenden...",
        "apisandbox-loading-results": "API-resultaten ontvangen...",
        "apisandbox-results-error": "Er is een fout opgetreden tijdens het laden van het antwoord op het API-verzoek: $1.",
+       "apisandbox-results-login-suppressed": "Dit verzoek is verwerkt als een afgemelde gebruiker omdat het gebruikt zou kunnen worden voor het omzeilen van de Same-Origin browser beveiliging. Merk op dat de automatische token afhandeling van de API zandbak niet correct werkt met zulke verzoeken. Voer deze handmatig in.",
        "apisandbox-request-selectformat-label": "Toon resultaat als:",
        "apisandbox-request-format-url-label": "URL query string",
        "apisandbox-request-url-label": "Verzoek-URL:",
index 2132b8e..7670061 100644 (file)
        "rcfilters-activefilters": "Aktive filter",
        "rcfilters-advancedfilters": "Avanserte filter",
        "rcfilters-limit-title": "Tal endringar som skal visast",
-       "rcfilters-limit-shownum": "Vis dei siste $1 endringane",
+       "rcfilters-limit-shownum": "Vis {{PLURAL:$1|den siste endringa|dei siste $1 endringane}}",
        "rcfilters-days-title": "Dei siste dagane",
        "rcfilters-hours-title": "Dei siste timane",
        "rcfilters-days-show-days": "{{PLURAL:$1|Éin dag|$1 dagar}}",
        "rcfilters-filter-major-description": "Endringar ikkje merkte som småplukk.",
        "rcfilters-filter-watchlist-watched-label": "På overvakingslista",
        "rcfilters-filter-watchlist-watched-description": "Endringar på sider du overvakar",
+       "rcfilters-filter-watchlist-watchednew-label": "Nye endringar på overvakingslista",
        "rcfilters-filter-watchlist-watchednew-description": "Endringar på sider du overvakar som du ikkje har vitja sidan endringane vart gjorde.",
        "rcfilters-filter-watchlist-notwatched-label": "Ikkje på overvakingslista",
        "rcfilters-filter-watchlist-notwatched-description": "Alt utanom endringar på sider du overvakar.",
        "upload-form-label-infoform-title": "Detaljar",
        "upload-form-label-infoform-name": "Namn",
        "upload-form-label-usage-filename": "Filnamn",
+       "upload-form-label-own-work": "Dette er mitt eige verk",
        "upload-form-label-infoform-categories": "Kategoriar",
+       "upload-form-label-own-work-message-generic-local": "Eg stadfester at eg lastar opp denne fila i samsvar med bruksvilkåra og lisensieringsretningslinene på {{SITENAME}}.",
+       "upload-form-label-not-own-work-local-generic-local": "Du kan eventuelt freista [[Special:Upload|den vanlege opplastingssida]].",
+       "upload-form-label-own-work-message-generic-foreign": "Eg skjøner at eg lastar opp denne fila til ein delt lagringsstad. Eg stadfester at eg gjer dette i samsvar med bruksvilkåra og lisensieringsretningslinene der.",
+       "upload-form-label-not-own-work-local-generic-foreign": "Du kan eventuelt freista [[Special:Upload|opplastingssida på {{SITENAME}}]], om fila kan lastast opp der under retningslinene som gjeld der.",
        "backend-fail-stream": "Kunne ikkje strøyma fila «$1».",
        "backend-fail-backup": "Kunne ikkje tryggingskopiera fila «$1».",
        "backend-fail-notexists": "Fila $1 finst ikkje.",
index 97178e7..4c81d04 100644 (file)
        "recentchanges-submit": "Pokaż",
        "rcfilters-legend-heading": "<strong>Wykaz skrótów:</strong>",
        "rcfilters-other-review-tools": "<strong>Inne narzędzia do sprawdzania:</strong>",
+       "rcfilters-group-results-by-page": "Grupuj wyniki według stron",
+       "rcfilters-grouping-title": "Grupowanie",
        "rcfilters-activefilters": "Aktywne filtry",
        "rcfilters-advancedfilters": "Zaawansowane filtry",
        "rcfilters-limit-title": "Zmian do pokazania",
-       "rcfilters-limit-shownum": "Pokaż ostatnie $1 zmian",
+       "rcfilters-limit-shownum": "Pokaż {{PLURAL:$1|ostatnią zmianę|ostatnie $1 zmiany|ostatnie $1 zmian}}",
        "rcfilters-days-title": "Ostatnich dni",
        "rcfilters-hours-title": "Ostatnich godzin",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|dzień|dni}}",
        "rcfilters-savedqueries-add-new-title": "Zapisz bieżące ustawienia filtrów",
        "rcfilters-restore-default-filters": "Przywróć domyślne filtry",
        "rcfilters-clear-all-filters": "Wyczyść filtry",
+       "rcfilters-show-new-changes": "Pokaż nowsze zmiany",
+       "rcfilters-previous-changes-label": "Poprzednio wyświetlane zmiany",
        "rcfilters-search-placeholder": "Filtruj ostatnie zmiany (przeglądaj lub zacznij wpisywać)",
        "rcfilters-invalid-filter": "Nieprawidłowy filtr",
        "rcfilters-empty-filter": "Brak aktywnych filtrów. Wyświetlane są wszystkie zmiany.",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:nie z</strong> $1",
        "rcfilters-exclude-button-off": "Wyklucz zaznaczone",
        "rcfilters-exclude-button-on": "Zaznaczone są wykluczone",
+       "rcfilters-view-advanced-filters-label": "Zaawansowane filtry",
        "rcfilters-view-tags": "Edycje ze znacznikami zmian",
        "rcfilters-view-namespaces-tooltip": "Przefiltruj wyniki według przestrzeni nazw",
        "rcfilters-view-tags-tooltip": "Przefiltruj wyniki według znaczników zmian",
index d8338de..adc0c47 100644 (file)
        "tog-shownumberswatching": "Mostrar o número de utilizadores a vigiar",
        "tog-oldsig": "A sua assinatura atual:",
        "tog-fancysig": "Tratar assinatura como texto wiki (sem hiperligações automáticas)",
-       "tog-uselivepreview": "Usar a antevisão ao vivo",
+       "tog-uselivepreview": "Mostrar antevisões sem recarregar a página",
        "tog-forceeditsummary": "Avisar-me se deixar o resumo da edição vazio",
        "tog-watchlisthideown": "Esconder as minhas edições ao listar mudanças às páginas vigiadas",
        "tog-watchlisthidebots": "Esconder edições de robôs ao listar mudanças às páginas vigiadas",
        "emailconfirmlink": "Confirme o seu endereço de correio eletrónico",
        "invalidemailaddress": "O endereço de correio eletrónico não pode ser aceite porque parece ter um formato inválido.\nIntroduza um endereço formatado corretamente ou deixe o campo vazio.",
        "cannotchangeemail": "Os endereços de correio eletrónico das contas não podem ser alterados nesta wiki.",
-       "emaildisabled": "Este sítio não consegue enviar mensagens de correio eletrónico.",
+       "emaildisabled": "Este site não consegue enviar mensagens de correio eletrónico.",
        "accountcreated": "Conta criada",
        "accountcreatedtext": "A conta de utilizador para [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) foi criada.",
        "createaccount-title": "Criação de conta na wiki {{SITENAME}}",
        "showdiff": "Mostrar alterações",
        "blankarticle": "<strong>Aviso:</strong> A página que está prestes a criar está em branco.  \nSe clicar \"$1\" outra vez, a página será criada sem qualquer conteúdo.",
        "anoneditwarning": "<strong>Aviso</strong>: Não iniciou sessão. O seu endereço IP será registado no histórico de edições desta página. Se <strong>[$1 iniciar sessão]</strong> ou <strong>[$2 criar uma conta]</strong>, as suas edições serão registadas com o seu nome de utilizador(a), em conjunto com outros benefícios.",
-       "anonpreviewwarning": "''Não iniciou sessão. Ao gravar, registará o seu endereço IP no histórico de edições da página.''",
-       "missingsummary": "'''Atenção:''' Não introduziu um resumo da edição.\nSe clicar novamente \"Gravar página\" a sua edição será gravada sem resumo.",
-       "selfredirect": "<strong>Aviso:</strong> Está a redirecionar esta página para si mesma.\nPode ter especificado o destino errado para o redirecionamento ou pode estar a editar a página errada.\nSe clicar em \"$1\" novamente, o redirecionamento será criado na mesma.",
+       "anonpreviewwarning": "<em>Não iniciou sessão. Ao gravar, registará o seu endereço IP no histórico de edições da página.</em>",
+       "missingsummary": "<strong>Atenção:</strong> Não introduziu um resumo da edição.\nSe clicar novamente \"$1\", a sua edição será gravada sem resumo.",
+       "selfredirect": "<strong>Aviso:</strong> Está a redirecionar esta página para si mesma.\nPode ter especificado o destino errado para o redirecionamento ou pode estar a editar a página errada.\nSe clicar novamente \"$1\", o redirecionamento será criado na mesma.",
        "missingcommenttext": "Introduza um comentário abaixo, por favor.",
        "missingcommentheader": "<strong>Atenção:</strong> Não introduziu um assunto para este comentário.\nSe clicar novamente \"$1\", a sua edição será gravada sem assunto.",
        "summary-preview": "Antevisão do resumo de edição:",
        "accmailtitle": "Palavra-passe enviada.",
        "accmailtext": "Uma palavra-passe gerada aleatoriamente para [[User talk:$1|$1]] foi enviada para $2.\n\nEla pode ser alterada na página [[Special:ChangePassword|de alteração da palavra-passe]] após iniciar sessão.",
        "newarticle": "(Nova)",
-       "newarticletext": "Seguiu uma ligação para uma página que ainda não existe.\nPara criá-la, escreva o seu conteúdo na caixa abaixo (consulte a [$1 página de ajuda] para mais detalhes).\nSe chegou aqui por engano, clique o botão '''voltar''' (ou ''back'') do seu navegador.",
-       "anontalkpagetext": "----''Esta é a página de discussão de um utilizador anónimo que ainda não criou uma conta ou não a utiliza, pelo que temos de utilizar o endereço IP para identificá-lo(a).\nUm endereço IP pode ser partilhado por vários utilizadores.\nSe é um utilizador anónimo e sente que lhe foram direcionados comentários irrelevantes, por favor [[Special:CreateAccount|crie uma conta]] ou [[Special:UserLogin|inicie sessão]] para evitar futuras confusões com outros utilizadores anónimos.''",
-       "noarticletext": "Ainda não existe texto nesta página.\nPode [[Special:Search/{{PAGENAME}}|pesquisar o título desta página]] noutras páginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} procurar registos relacionados]\nou [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.",
-       "noarticletext-nopermission": "Ainda não existe texto nesta página.\nPode [[Special:Search/{{PAGENAME}}|pesquisar o título desta página]] noutras páginas, ou <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} procurar nos registos relacionados]</span>, mas não tem permissão para criar esta página.",
-       "missing-revision": "A revisão #$1 da página denominada \"{{FULLPAGENAME}}\" não existe.\n\nIsto é geralmente causado por seguir uma ligação de histórico desatualizada para uma página que foi eliminada.\nOs detalhes podem ser encontrados no [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registo de eliminação].",
-       "userpage-userdoesnotexist": "A conta \"<nowiki>$1</nowiki>\" não se encontra registada.\nVerifique se deseja realmente criar ou editar esta página, por favor.",
+       "newarticletext": "Seguiu uma ligação para uma página que ainda não existe.\nPara criá-la, escreva o seu conteúdo na caixa abaixo (consulte a [$1 página de ajuda] para mais detalhes).\nSe chegou aqui por engano, clique o botão <strong>voltar</strong> do seu navegador.",
+       "anontalkpagetext": "----\n<em>Esta é a página de discussão de um utilizador anónimo que ainda não criou uma conta ou não a utiliza.</em>\nPor isso, temos de utilizar o endereço IP numérico para identificá-lo(a).\nUm mesmo endereço IP pode ser partilhado por vários utilizadores.\nSe é um utilizador anónimo e sente que lhe foram direcionados comentários irrelevantes, [[Special:CreateAccount|crie uma conta]] ou [[Special:UserLogin|inicie sessão]] para evitar futuras confusões com outros utilizadores anónimos.",
+       "noarticletext": "Ainda não existe texto nesta página.\nPode [[Special:Search/{{PAGENAME}}|pesquisar o título desta página]] noutras páginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} procurar registos relacionados]\nou [{{fullurl:{{FULLPAGENAME}}|action=edit}} criar esta página]</span>.",
+       "noarticletext-nopermission": "Ainda não existe texto nesta página.\nPode [[Special:Search/{{PAGENAME}}|pesquisar o título desta página]] noutras páginas, ou <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} procurar registos relacionados]</span>, mas não tem permissão para criar esta página.",
+       "missing-revision": "A revisão nº $1 da página \"{{FULLPAGENAME}}\" não existe.\n\nIsto normalmente ocorre ao seguir uma hiperligação de histórico desatualizada para uma página que foi eliminada.\nPode encontrar detalhes no [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registo de eliminação].",
+       "userpage-userdoesnotexist": "A conta \"$1\" não se encontra registada.\nVerifique se deseja realmente criar ou editar esta página, por favor.",
        "userpage-userdoesnotexist-view": "A conta de utilizador \"$1\" não está registada.",
        "blocked-notice-logextract": "Este utilizador está bloqueado.\nPara referência, o último registo de bloqueio é apresentado abaixo:",
-       "clearyourcache": "'''Nota:''' Após gravar, terá de limpar a ''cache'' do seu navegador para ver as alterações.\n*'''Firefox / Safari:''' Pressione ''Shift'' enquanto clica ''Recarregar'', ou pressione ''Ctrl-F5'' ou ''Ctrl-R'' (''⌘-R'' no Mac)\n*'''Google Chrome:''' Pressione ''Ctrl-Shift-R'' (''⌘-Shift-R'' no Mac)\n*'''Internet Explorer:''' Pressione ''Ctrl'' enquanto clica ''Recarregar'', ou pressione ''Ctrl-F5''\n*'''Opera:''' Ir para <em>Menu → Configurações</em> (<em>Opera → Preferências</em> no Mac) e, em seguida, <em>Privacidade e segurança → Limpar dados de navegação → Imagens e ficheiros em cache</em>.",
-       "usercssyoucanpreview": "'''Dica:''' Use o botão \"{{int:showpreview}}\" para testar o seu novo CSS antes de gravar.",
-       "userjsyoucanpreview": "'''Dica:''' Use o botão \"{{int:showpreview}}\" para testar o seu novo JavaScript antes de gravar.",
-       "usercsspreview": "'''Lembre-se de que está apenas a antever o seu CSS particular.\nEste ainda não foi gravado!'''",
-       "userjspreview": "'''Lembre-se que está apenas a testar ou antever o seu JavaScript particular.'''\nEste ainda não foi gravado!",
-       "sitecsspreview": "'''Lembre-se de que está apenas a antever este CSS.'''\n'''Ele ainda não foi gravado!'''",
-       "sitejspreview": "'''Lembre-se de que está apenas a antever este código JavaScript.'''\n'''Ele ainda não foi gravado!'''",
-       "userinvalidcssjstitle": "'''Aviso:''' Não existe um tema \"$1\". Lembre-se que as páginas .css e  .js têm um título em minúsculas, exemplo: {{ns:user}}:Alguém/vector.css em vez de {{ns:user}}:Alguém/Vector.css.",
+       "clearyourcache": "<strong>Nota:</strong> Após gravar, terá de limpar a <em>cache</em> do seu navegador para ver as alterações.\n* <strong>Firefox / Safari:</strong> Pressione <em>Shift</em> enquanto clica <em>Recarregar</em>, ou pressione <em>Ctrl-F5</em> ou <em>Ctrl-R</em> (<em>⌘-R</em> no Mac)\n* <strong>Google Chrome:</strong> Pressione <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> no Mac)\n* <strong>Internet Explorer:</strong> Pressione <em>Ctrl</em> enquanto clica <em>Recarregar</em>, ou pressione <em>Ctrl-F5</em>\n* <strong>Opera:</strong> Ir para <em>Menu → Configurações</em> (<em>Opera → Preferências</em> no Mac) e, em seguida, <em>Privacidade e segurança → Limpar dados de navegação → Imagens e ficheiros em cache</em>.",
+       "usercssyoucanpreview": "<strong>Dica:</strong> Use o botão \"{{int:showpreview}}\" para testar o seu novo CSS antes de gravar.",
+       "userjsyoucanpreview": "<strong>Dica:</strong> Use o botão \"{{int:showpreview}}\" para testar o seu novo JavaScript antes de gravar.",
+       "usercsspreview": "<strong>Lembre-se de que está apenas a antever o seu CSS particular.\nEste ainda não foi gravado!</strong>",
+       "userjspreview": "<strong>Lembre-se de que está apenas a testar ou a antever o seu JavaScript particular.\nEste ainda não foi gravado!</strong>",
+       "sitecsspreview": "<strong>Lembre-se de que está apenas a antever este CSS.\nEle ainda não foi gravado!</strong>",
+       "sitejspreview": "<strong>Lembre-se de que está apenas a antever este código JavaScript.\nEle ainda não foi gravado!</strong>",
+       "userinvalidcssjstitle": "<strong>Aviso:</strong> Não existe um tema \"$1\".\nAs páginas personalizadas .css e .js têm um título em minúsculas, por exemplo: {{ns:user}}:Alguém/vector.css em vez de {{ns:user}}:Alguém/Vector.css.",
        "updated": "(Atualizado)",
-       "note": "'''Nota:'''",
-       "previewnote": "'''Lembre-se que esta é apenas uma antevisão do resultado.'''\nAs modificações ainda não foram gravadas!",
+       "note": "<strong>Nota:</strong>",
+       "previewnote": "<strong>Lembre-se de que esta é apenas uma antevisão do resultado.</strong>\nAs modificações ainda não foram gravadas!",
        "continue-editing": "Ir para a área de edição",
        "previewconflict": "Esta antevisão do resultado apresenta o texto da caixa de edição acima tal como este aparecerá se escolher gravá-lo.",
-       "session_fail_preview": "Desculpe! Não foi possível processar a edição devido à perda dos dados da sua sessão.\n\nA sua sessão poderá ter sido encerrada. <strong>Por favor, verifique se ainda está autenticado e tente novamente</strong>. \nCaso continue a não funcionar, tente [[Special:UserLogout|sair]] e voltar a entrar na sua conta, e verifique se o seu navegador permite a utilização de ''cookies'' deste sítio.",
-       "session_fail_preview_html": "Desculpe! Não foi possível processar a edição devido à perda de dados da sua sessão.\n\n<em>Como a wiki {{SITENAME}} possibilita o uso de HTML puro, a antevisão está oculta por precaução contra ataques com JavaScript.</em>\n\n<strong>Se esta é uma tentativa legítima de edição tente novamente, por favor</strong>. \nCaso continue a não funcionar, tente [[Special:UserLogout|sair]] e voltar a entrar na sua conta, e verifique se o seu navegador permite a utilização de ''cookies'' deste sítio.",
-       "token_suffix_mismatch": "'''A edição foi rejeitada porque o seu navegador alterou os sinais de pontuação no editor.'''\nA edição foi rejeitada para evitar perdas no texto da página.\nIsso acontece ocasionalmente quando se usa um serviço de proxy anonimizador mal configurado.'''",
-       "edit_form_incomplete": "'''Algumas partes do formulário de edição não chegaram ao servidor; verifique que a sua edição continua intacta e tente novamente, por favor.'''",
+       "session_fail_preview": "Desculpe! Não foi possível processar a edição devido à perda dos dados da sua sessão.\n\nA sua sessão poderá ter sido encerrada. <strong>Verifique se ainda está autenticado e tente novamente, por favor</strong>. \nCaso continue a não funcionar, tente [[Special:UserLogout|sair]] e voltar a entrar na sua conta, e verifique se o seu navegador permite cookies deste site.",
+       "session_fail_preview_html": "Desculpe! Não foi possível processar a edição devido à perda de dados da sua sessão.\n\n<em>Como a wiki {{SITENAME}} possibilita o uso de HTML puro, a antevisão está oculta por precaução contra ataques com JavaScript.</em>\n\n<strong>Se esta é uma tentativa legítima de edição tente novamente, por favor</strong>. \nCaso continue a não funcionar, tente [[Special:UserLogout|sair]] e voltar a entrar na sua conta, e verifique se o seu navegador permite <em>cookies</em> deste <em>site</em>.",
+       "token_suffix_mismatch": "<strong>A edição foi rejeitada porque o seu navegador alterou os sinais de pontuação no editor.</strong>\nA edição foi rejeitada para evitar perdas no texto da página.\nIsto acontece ocasionalmente quando se usa um serviço de proxy anonimizador mal configurado.",
+       "edit_form_incomplete": "<strong>Algumas partes do formulário de edição não chegaram ao servidor; verifique que a sua edição continua intacta e tente novamente, por favor.</strong>",
        "editing": "A editar $1",
        "creating": "A criar $1",
        "editingsection": "A editar $1 (secção)",
        "explainconflict": "A página foi alterada por alguém desde que começou a editá-la.\nA caixa de texto abaixo mostra o texto existente neste momento.\nAs suas mudanças são mostradas na área ao fundo da página.\nTerá de reintegrar as suas mudanças no texto da caixa abaixo.\n<strong>Só</strong> o texto desta caixa será gravado quando clicar \"$1\".",
        "yourtext": "O seu texto",
        "storedversion": "Versão gravada",
-       "nonunicodebrowser": "<strong>Aviso: O seu navegador não é compatível com as especificações Unicode.</strong>\nFoi ativado um sistema de edição alternativo que lhe permite editar as páginas com segurança: os caracteres não-ASCII aparecerão na caixa de edição no formato de códigos hexadecimais.",
-       "editingold": "'''Aviso: Está a editar uma revisão desatualizada desta página.'''\nSe gravar, todas as mudanças feitas a partir desta revisão serão perdidas.",
+       "nonunicodebrowser": "<strong>Aviso: O seu navegador não é compatível com as especificações Unicode.</strong>\nFoi ativado um sistema de edição alternativo que lhe permite editar as páginas com segurança: os caracteres que não são ASCII aparecerão na caixa de edição no formato de códigos hexadecimais.",
+       "editingold": "<strong>Aviso: Está a editar uma revisão desatualizada desta página.</strong>\nSe gravar, todas as mudanças feitas a partir desta revisão serão perdidas.",
        "yourdiff": "Diferenças",
-       "copyrightwarning": "Note, por favor, que todas as suas contribuições na wiki {{SITENAME}} são consideradas publicadas nos termos da licença $2 (consulte $1 para mais detalhes).\nSe não deseja que o seu texto possa ser inexoravelmente editado e redistribuído, não o envie.\nGarante-nos também que isto é algo escrito por si, ou copiado do domínio público ou de outra fonte de teor livre.<br />\n<strong>Não envie conteúdos cujos direitos de autor estão protegidos, sem ter a devida permissão!</strong>",
-       "copyrightwarning2": "Note, por favor, que todas as suas contribuições na wiki {{SITENAME}} podem ser editadas, alteradas ou removidas por outros utilizadores.\nSe não deseja que o seu texto seja inexoravelmente editado, não o envie.<br />\nGarante-nos também que isto é algo escrito por si, ou copiado do domínio público ou de outra fonte de teor livre (consulte $1 para mais detalhes).<br />\n<strong>Não envie conteúdos cujos direitos de autor estão protegidos, sem ter a devida permissão!</strong>",
+       "copyrightwarning": "Note, por favor, que todas as suas contribuições na wiki {{SITENAME}} são consideradas publicadas nos termos da licença $2 (consulte $1 para mais detalhes).\nSe não deseja que o seu texto possa ser inexoravelmente editado e redistribuído, não o envie.<br />\nGarante-nos também que isto é algo escrito por si, ou copiado do domínio público ou de outra fonte de teor livre.\n<strong>Não envie conteúdos cujos direitos de autor estão protegidos, sem ter a devida permissão!</strong>",
+       "copyrightwarning2": "Note, por favor, que todas as suas contribuições na wiki {{SITENAME}} podem ser editadas, alteradas ou removidas por outros utilizadores.\nSe não deseja que o seu texto seja inexoravelmente editado, não o envie.<br />\nGarante-nos também que isto é algo escrito por si, ou copiado do domínio público ou de outra fonte de teor livre (consulte $1 para mais detalhes).\n<strong>Não envie conteúdos cujos direitos de autor estão protegidos, sem ter a devida permissão!</strong>",
        "editpage-cannot-use-custom-model": "O modelo de conteúdo desta página não pode ser alterado.",
-       "longpageerror": "'''Erro: O texto que submeteu ocupa {{PLURAL:$1|um kilobyte|$1 kilobytes}}, que excede o máximo de {{PLURAL:$2|um kilobyte|$2 kilobytes}}.'''\nA página não pode ser gravada.",
-       "readonlywarning": "<strong>Atenção: A base de dados foi bloqueada para manutenção, pelo que não poderá gravar as suas edições neste momento.</strong>\nPode, contudo, copiar e colar o seu texto num ficheiro de texto e guardá-lo para mais tarde.\n\nO administrador do sistema que a bloqueou forneceu a seguinte explicação: $1",
-       "protectedpagewarning": "'''Aviso: Esta página foi protegida para só poder ser editada por administradores.'''\nO último registo é apresentado abaixo para referência:",
-       "semiprotectedpagewarning": "'''Nota:''' Esta página foi protegida de modo a que apenas utilizadores registados a possam editar.\nA última entrada no histórico é fornecida abaixo como referência.",
+       "longpageerror": "<strong>Erro: O texto que submeteu ocupa {{PLURAL:$1|um kilobyte|$1 kilobytes}}, que excede o máximo de {{PLURAL:$2|um kilobyte|$2 kilobytes}}.</strong>\nA página não pode ser gravada.",
+       "readonlywarning": "<strong>Aviso: A base de dados foi bloqueada para manutenção, pelo que não poderá gravar as suas edições neste momento.</strong>\nPode, contudo, copiar e colar o seu texto num ficheiro de texto e guardá-lo para mais tarde.\n\nO administrador do sistema que a bloqueou forneceu a seguinte explicação: $1",
+       "protectedpagewarning": "<strong>Aviso: Esta página foi protegida para só poder ser editada por administradores.</strong>\nPara referência, é apresentada abaixo a última entrada do registo:",
+       "semiprotectedpagewarning": "<strong>Nota:</strong> Esta página foi protegida de modo a que apenas utilizadores registados a possam editar.\nPara referência, é apresentada abaixo a última entrada do registo:",
        "cascadeprotectedwarning": "<strong>Aviso:</strong> Esta página está protegida de forma que apenas os utilizadores com [[Special:ListGroupRights|privilégios específicos]] possam editá-la, porque se encontra transcluída {{PLURAL:$1|na seguinte página protegida|nas seguintes páginas protegidas}} em cascata:",
-       "titleprotectedwarning": "'''Aviso: Esta página foi protegida de forma a que [[Special:ListGroupRights|privilégios específicos]] sejam necessários para criá-la.'''\nPara referência, é apresentada abaixo a última entrada do registo:",
+       "titleprotectedwarning": "<strong>Aviso: Esta página foi protegida de forma a que [[Special:ListGroupRights|privilégios específicos]] sejam necessários para criá-la.</strong>\nPara referência, é apresentada abaixo a última entrada do registo:",
        "templatesused": "{{PLURAL:$1|Predefinição utilizada|Predefinições utilizadas}} nesta página:",
        "templatesusedpreview": "{{PLURAL:$1|Predefinição utilizada|Predefinições utilizadas}} nesta antevisão:",
        "templatesusedsection": "{{PLURAL:$1|Predefinição utilizada|Predefinições utilizadas}} nesta secção:",
        "hiddencategories": "Esta página pertence a {{PLURAL:$1|uma categoria oculta|$1 categorias ocultas}}:",
        "edittools": "<!-- O texto colocado aqui será mostrado abaixo dos formulários de edição e de envio de ficheiros. -->",
        "nocreatetext": "A wiki {{SITENAME}} restringe a criação de páginas novas por utilizadores anónimos.\nPode voltar atrás e editar uma página já existente, ou [[Special:UserLogin|iniciar uma sessão ou criar uma conta]].",
-       "nocreate-loggedin": "Não possui permissão para criar novas páginas.",
+       "nocreate-loggedin": "Não tem permissão para criar páginas novas.",
        "sectioneditnotsupported-title": "Edição de secções não suportada",
-       "sectioneditnotsupported-text": "A edição de secções não é suportada nesta página de edição.",
+       "sectioneditnotsupported-text": "A edição de secções não é suportada nesta página.",
        "permissionserrors": "Erro de permissão",
        "permissionserrorstext": "Não possui permissão para fazer isso, {{PLURAL:$1|pelo seguinte motivo|pelos seguintes motivos}}:",
        "permissionserrorstext-withaction": "Não possui permissão para $2, {{PLURAL:$1|pelo seguinte motivo|pelos seguintes motivos}}:",
-       "contentmodelediterror": "Não pode editar esta revisão pois seu modelo de conteúdo é <code>$1</code>, que é diferente do modelo atual da página <code>$2</code>.",
+       "contentmodelediterror": "Não pode editar esta revisão porque o modelo de conteúdo é <code>$1</code>, que é diferente do modelo atual da página <code>$2</code>.",
        "recreate-moveddeleted-warn": "<strong>Aviso: Está a recriar uma página anteriormente eliminada.</strong>\n\nVerifique se é apropriado continuar a editar esta página.\nPara sua conveniência, é apresentado abaixo o registo de eliminação e movimentação da página:",
        "moveddeleted-notice": "Esta página foi eliminada.\nPara sua referência, é apresentado abaixo o registo de eliminação e movimentação da página.",
        "moveddeleted-notice-recent": "Desculpe, esta página foi eliminada recentemente (nas últimas 24 horas).\nA exclusão e registo de movimentação para a página são fornecidos abaixo para referência.",
        "editpage-invalidcontentmodel-text": "O modelo de conteúdo \"$1\" não é suportado.",
        "editpage-notsupportedcontentformat-title": "Formato de conteúdo não suportado",
        "editpage-notsupportedcontentformat-text": "O formato de conteúdo $1 não é suportado pelo modelo de conteúdo $2.",
-       "content-model-wikitext": "wikitexto",
+       "content-model-wikitext": "texto wiki",
        "content-model-text": "texto simples",
        "content-model-javascript": "JavaScript",
        "content-model-css": "CSS",
        "content-json-empty-object": "Objeto vazio",
        "content-json-empty-array": "Matriz vazia",
-       "deprecated-self-close-category": "Páginas com etiquetas HTML de autofechamento não válidas",
-       "deprecated-self-close-category-desc": "Esta página contém marcações HTML auto-fechadas, que são inválidas, tais como <code>&lt;b/></code> ou <code>&lt;span/></code>.  O comportamento destas tags será alterado em breve, para ser consistente com a especificação HTML5, pelo que o seu uso na notação wiki foi descontinuado.",
+       "deprecated-self-close-category": "Páginas com etiquetas HTML auto-fechadas inválidas",
+       "deprecated-self-close-category-desc": "Esta página contém etiquetas HTML auto-fechadas, que são inválidas, tais como <code>&lt;b/></code> ou <code>&lt;span/></code>. O comportamento destas etiquetas será alterado em breve, para ser consistente com a especificação HTML5, pelo que o seu uso no texto wiki foi descontinuado.",
        "duplicate-args-warning": "<strong>Aviso:</strong> [[:$1]] chama [[:$2]] com mais de um valor para o parâmetro \"$3\". Somente o último valor fornecido será utilizado.",
        "duplicate-args-category": "Páginas com argumentos de predefinições duplicados",
        "duplicate-args-category-desc": "A página contém chamadas de predefinições que passam à predefinição argumentos duplicados, tais como <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> ou <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
-       "expensive-parserfunction-warning": "'''Aviso:''' Esta página contém demasiadas chamadas de funções exigentes do analisador sintático.\n\nDevia ter menos de $2 {{PLURAL:$2|chamada|chamadas}}. Neste momento tem $1 {{PLURAL:$1|chamada|chamadas}}.",
+       "expensive-parserfunction-warning": "<strong>Aviso:</strong> Esta página contém demasiadas chamadas de funções exigentes do analisador sintático.\n\nDevia ter menos de $2 {{PLURAL:$2|chamada|chamadas}}. Neste momento tem $1 {{PLURAL:$1|chamada|chamadas}}.",
        "expensive-parserfunction-category": "Páginas com demasiadas chamadas a funções exigentes",
-       "post-expand-template-inclusion-warning": "Aviso: O tamanho de inclusão de predefinições é demasiado grande, algumas predefinições não serão incluídas.",
+       "post-expand-template-inclusion-warning": "<strong>Aviso:</strong> O tamanho de inclusão das predefinições é demasiado grande. Algumas predefinições não serão incluídas.",
        "post-expand-template-inclusion-category": "Páginas com excesso de predefinições",
-       "post-expand-template-argument-warning": "Aviso: Esta página contém pelo menos um argumento de predefinição com um tamanho expandido demasiado grande.\nEstes argumentos foram omitidos.",
+       "post-expand-template-argument-warning": "<strong>Aviso:</strong> Esta página contém pelo menos um argumento de predefinição com um tamanho expandido demasiado grande.\nEstes argumentos foram omitidos.",
        "post-expand-template-argument-category": "Páginas com argumentos de predefinições descartados",
        "parser-template-loop-warning": "Ciclo de predefinições detetado: [[$1]]",
        "template-loop-category": "Páginas com ciclos infinitos de predefinições",
        "expansion-depth-exceeded-category": "Páginas em que a profundidade de expansão é excedida",
        "expansion-depth-exceeded-category-desc": "A página excede a profundidade de expansão permitida.",
        "expansion-depth-exceeded-warning": "A página excedeu a profundidade de expansão",
-       "parser-unstrip-loop-warning": "Foi detetado um ciclo infinito unstrip",
-       "parser-unstrip-recursion-limit": "Limite de recursão do unstrip excedido ($1)",
+       "parser-unstrip-loop-warning": "Foi detetado um ciclo infinito da função unstrip",
+       "parser-unstrip-recursion-limit": "Limite de recursão da função unstrip excedido ($1)",
        "converter-manual-rule-error": "Erro detetado na regra de conversão de língua manual",
-       "undo-success": "É possível desfazer a edição.\nVerifique a comparação abaixo, para se certificar que corresponde ao que pretende fazer.\nDepois grave as alterações, para finalizar e desfazer a edição.",
+       "undo-success": "É possível desfazer a edição.\nVerifique a comparação abaixo, por favor, para se certificar de que corresponde ao que pretende fazer.\nDepois grave as alterações, para finalizar e desfazer a edição.",
        "undo-failure": "Não foi possível desfazer a edição por conflito com alterações intermédias.",
        "undo-norev": "Não foi possível desfazer a edição porque não existe ou foi apagada.",
        "undo-nochange": "A edição parece já ter sido desfeita.",
        "undo-summary": "Desfez a edição $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|Discussão]])",
        "undo-summary-username-hidden": "Desfez a edição $1 de um utilizador oculto",
-       "cantcreateaccount-text": "A criação de contas a partir deste endereço IP ('''$1''') foi bloqueada por [[User:$3|$3]].\n\nO motivo apresentado por $3 foi ''$2''",
-       "cantcreateaccount-range-text": "A criação de conta a partir dos endereços IP no intervalo <strong>$1</strong>, que inclui o seu endereço IP (<strong>$4</strong>), foi bloqueada por [[User:$3|$3]].\n\nA razão dada por $3 é <em>$2</em>",
+       "cantcreateaccount-text": "A criação de contas a partir deste endereço IP (<strong>$1</strong>) foi bloqueada por [[User:$3|$3]].\n\nO motivo apresentado por $3 foi <em>$2</em>",
+       "cantcreateaccount-range-text": "A criação de conta a partir dos endereços IP no intervalo <strong>$1</strong>, que inclui o seu endereço IP (<strong>$4</strong>), foi bloqueada por [[User:$3|$3]].\n\nO motivo apresentado por $3 foi <em>$2</em>",
        "viewpagelogs": "Ver registos para esta página",
        "nohistory": "Não há histórico de edições para esta página.",
        "currentrev": "Revisão atual",
        "showingresultsinrange": "Apresenta-se abaixo {{PLURAL:$1|<strong>1</strong> resultado|até <strong>$1</strong> resultados}} no intervalo #<strong>$2</strong> a #<strong>$3</strong>.",
        "search-showingresults": "{{PLURAL:$4|Resultado <strong>$1</strong> de <strong>$3</strong>|Resultados <strong>$1 - $2</strong> de <strong>$3</strong>}}",
        "search-nonefound": "A pesquisa não produziu resultados.",
-       "search-nonefound-thiswiki": "Não existem resultados que correspondam à consulta neste sítio.",
+       "search-nonefound-thiswiki": "Não existem resultados que correspondam à consulta neste site.",
        "powersearch-legend": "Pesquisa avançada",
        "powersearch-ns": "Pesquisar nos domínios:",
        "powersearch-togglelabel": "Marcar:",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "Mostrar",
        "rcfilters-legend-heading": "<strong>Lista de abreviações:</strong>",
-       "rcfilters-other-review-tools": "<strong>Outras ferramentas de revisão:</strong>",
+       "rcfilters-other-review-tools": "<strong>Outras ferramentas de revisão</strong>",
+       "rcfilters-group-results-by-page": "Agrupar resultados por página",
+       "rcfilters-grouping-title": "Agrupamento",
        "rcfilters-activefilters": "Filtros ativos",
        "rcfilters-advancedfilters": "Filtros avançados",
        "rcfilters-limit-title": "Modificações a mostrar",
-       "rcfilters-limit-shownum": "Mostrar as últimas $1 modificações",
+       "rcfilters-limit-shownum": "Mostrar {{PLURAL:$1|a última modificação|as últimas $1 modificações}}",
        "rcfilters-days-title": "Dias recentes",
        "rcfilters-hours-title": "Horas recentes",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|dia|dias}}",
        "rcfilters-savedqueries-add-new-title": "Gravar configurações atuais de filtros",
        "rcfilters-restore-default-filters": "Restaurar os filtros padrão",
        "rcfilters-clear-all-filters": "Limpar todos os filtros",
+       "rcfilters-show-new-changes": "Mostrar as novas mudanças",
+       "rcfilters-previous-changes-label": "Mudanças vistas anteriormente",
        "rcfilters-search-placeholder": "Filtrar mudanças recentes (navegue ou começe a escrever)",
        "rcfilters-invalid-filter": "Filtro inválido",
        "rcfilters-empty-filter": "Não há filtros ativos. São mostradas todas as contribuições.",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:não</strong> $1",
        "rcfilters-exclude-button-off": "Excluir os selecionados",
        "rcfilters-exclude-button-on": "A excluir os selecionados",
+       "rcfilters-view-advanced-filters-label": "Filtros avançados",
        "rcfilters-view-tags": "Edições marcadas",
        "rcfilters-view-namespaces-tooltip": "Filtrar resultados por espaço nominal",
        "rcfilters-view-tags-tooltip": "Filtrar resultados usando etiquetas de edição",
        "rcfilters-view-return-to-default-tooltip": "Voltar ao menu do filtro principal",
        "rcfilters-liveupdates-button": "Atualizações instantâneas",
+       "rcfilters-liveupdates-button-title-on": "Desligar atualizações ao vivo",
+       "rcfilters-liveupdates-button-title-off": "Apresentar mudanças novas à medida que acontecem",
        "rcnotefrom": "Abaixo {{PLURAL:$5|está a mudança|estão as mudanças}} desde <strong>$2</strong> (mostradas até <strong>$1</strong>).",
        "rclistfromreset": "Reiniciar a seleção da data",
        "rclistfrom": "Mostrar as novas mudanças a partir das $2 de $3",
        "http-curl-error": "Ocorreu um erro ao aceder ao URL: $1",
        "http-bad-status": "Ocorreu um problema durante o pedido HTTP: $1 $2",
        "upload-curl-error6": "Não foi possível aceder ao URL",
-       "upload-curl-error6-text": "Não foi possível aceder ao URL.\nVerifique se o endereço está correto e o sítio disponível, por favor.",
+       "upload-curl-error6-text": "Não foi possível aceder ao URL.\nVerifique se o endereço está correto e o site disponível, por favor.",
        "upload-curl-error28": "Tempo limite para o envio do ficheiro excedido",
-       "upload-curl-error28-text": "O sítio demorou muito tempo a responder. Verifique que o sítio está disponível, aguarde alguns momentos e tente novamente, por favor. Talvez queira tentar num horário menos congestionado.",
+       "upload-curl-error28-text": "O site demorou demasiado tempo a responder. Verifique que o site está disponível, aguarde alguns momentos e tente novamente, por favor. Talvez queira voltar a tentar numa altura menos congestionada.",
        "license": "Licença:",
        "license-header": "Licenciamento",
        "nolicense": "Nenhuma selecionada",
        "morelinkstoimage": "Ver a [[Special:WhatLinksHere/$1|lista completa]] de páginas que contêm ligações para este ficheiro.",
        "linkstoimage-redirect": "$1 (redirecionamento de ficheiro) $2",
        "duplicatesoffile": "{{PLURAL:$1|O seguinte ficheiro é duplicado|Os seguintes $1 ficheiros são duplicados}} deste ficheiro ([[Special:FileDuplicateSearch/$2|mais detalhes]]):",
-       "sharedupload": "Este ficheiro provém de $1 e pode ser usado por outros projetos.",
-       "sharedupload-desc-there": "Este ficheiro provém de $1 e pode ser usado por outros projetos.\nConsulte a [$2 página de descrição do ficheiro] para mais informações, por favor.",
-       "sharedupload-desc-here": "Este ficheiro provém de $1 e pode ser usado por outros projetos.\nA descrição na [$2 página original de descrição do ficheiro] é mostrada abaixo.",
-       "sharedupload-desc-edit": "Este ficheiro provém de $1 e pode ser utilizado por outros projetos.\nTalvez queira editar a descrição na [$2 página original de descrição do ficheiro].",
-       "sharedupload-desc-create": "Este ficheiro provém de $1 e pode ser utilizado por outros projetos.\nTalvez queira editar a descrição na [$2 página original de descrição do ficheiro].",
+       "sharedupload": "Este ficheiro vem da wiki $1 e pode ser usado por outros projetos.",
+       "sharedupload-desc-there": "Este ficheiro vem da wiki $1 e pode ser usado por outros projetos.\nConsulte a [$2 página de descrição do ficheiro] para mais informações, por favor.",
+       "sharedupload-desc-here": "Este ficheiro vem da wiki $1 e pode ser usado por outros projetos.\nA descrição na [$2 página original de descrição do ficheiro] é mostrada abaixo.",
+       "sharedupload-desc-edit": "Este ficheiro vem da wiki $1 e pode ser utilizado por outros projetos.\nTalvez queira editar a descrição na [$2 página original de descrição do ficheiro].",
+       "sharedupload-desc-create": "Este ficheiro vem da wiki $1 e pode ser utilizado por outros projetos.\nTalvez queira editar a descrição na [$2 página original de descrição do ficheiro].",
        "filepage-nofile": "Não existe nenhum ficheiro com este nome.",
        "filepage-nofile-link": "Não existe nenhum ficheiro com este nome, mas pode [$1 carregá-lo].",
        "uploadnewversion-linktext": "Carregar uma nova versão deste ficheiro",
        "import-nonewrevisions": "Não foi importada nenhuma revisão (já estavam todas presentes ou foram ignoradas devido a erros).",
        "xml-error-string": "$1 na linha $2, coluna $3 (byte $4): $5",
        "import-upload": "Enviar dados em XML",
-       "import-token-mismatch": "Perda de dados da sessão.\n\nA sua sessão poderá ter sido encerrada. <strong>Por favor, verifique se ainda está autenticado e tente novamente</strong>. \nCaso continue a não funcionar, tente [[Special:UserLogout|sair]] e voltar a entrar na sua conta, e verifique se o seu navegador permite a utilização de ''cookies'' deste sítio.",
+       "import-token-mismatch": "Perda de dados da sessão.\n\nA sua sessão poderá ter sido encerrada. <strong>Verifique se ainda está autenticado e tente novamente, por favor</strong>. \nCaso continue a não funcionar, tente [[Special:UserLogout|sair]] e voltar a entrar na sua conta, e verifique se o seu navegador permite cookies deste site.",
        "import-invalid-interwiki": "Não é possível importar da wiki especificada.",
        "import-error-edit": "A página \"$1\" não foi importada porque não tem permissão para editá-la.",
        "import-error-create": "A página \"$1\" não foi importada porque não tem permissão para criá-la.",
        "creditspage": "Créditos da página",
        "nocredits": "Não há informação disponível sobre os créditos desta página.",
        "spamprotectiontitle": "Filtro de proteção contra spam",
-       "spamprotectiontext": "O texto que desejava gravar foi bloqueado pelo filtro de ''spam''.\nProvavelmente este bloqueio foi causado por uma ligação para um sítio externo que consta da lista negra.",
+       "spamprotectiontext": "O texto que desejava gravar foi bloqueado pelo filtro de spam.\nEste bloqueio foi provavelmente causado por um link para um site externo que consta da lista negra.",
        "spamprotectionmatch": "O seguinte texto ativou o filtro de <i>spam</i>: $1",
        "spambot_username": "MediaWiki limpeza de spam",
        "spam_reverting": "A reverter para a última revisão que não contém ligação para $1",
        "exif-compression-3": "CCITT Grupo 3 codificação de fax",
        "exif-compression-4": "CCITT Grupo 4 codificação de fax",
        "exif-copyrighted-true": "Direitos de autor reservados",
-       "exif-copyrighted-false": "Situação dos direitos autorais não definida",
+       "exif-copyrighted-false": "Estado dos direitos de autor indefinido",
        "exif-photometricinterpretation-1": "Preto e branco (Preto é 0)",
        "exif-unknowndate": "Data desconhecida",
        "exif-orientation-1": "Normal",
        "invalidateemail": "Cancelar confirmação do correio eletrónico",
        "notificationemail_subject_changed": "O endereço de correio eletrónico registado na wiki {{SITENAME}} foi alterado",
        "notificationemail_subject_removed": "O endereço de correio eletrónico registado na wiki {{SITENAME}} foi removido",
-       "notificationemail_body_changed": "Alguém, provavelmente você, a partir do endereço IP $1, alterou o endereço de correio eletrónico da conta \"$2\" para \"$3\" na wiki {{SITENAME}}.\n\nCaso não o tenha alterado, contacte imediatamente um administrador do sítio.",
-       "notificationemail_body_removed": "Alguém, provavelmente você, a partir do endereço IP $1, eliminou o endereço de correio eletrónico da conta \"$2\" na wiki {{SITENAME}}.\n\nCaso não o tenha eliminado, contacte imediatamente um administrador do sítio.",
+       "notificationemail_body_changed": "Alguém, provavelmente você, a partir do endereço IP $1, alterou o endereço de correio eletrónico da conta \"$2\" para \"$3\" na wiki {{SITENAME}}.\n\nCaso não o tenha alterado, contacte imediatamente um administrador do site.",
+       "notificationemail_body_removed": "Alguém, provavelmente você, a partir do endereço IP $1, eliminou o endereço de correio eletrónico da conta \"$2\" na wiki {{SITENAME}}.\n\nCaso não o tenha eliminado, contacte imediatamente um administrador do site.",
        "scarytranscludedisabled": "[Transclusão interwikis foi impossibilitada]",
        "scarytranscludefailed": "[Não foi possível obter a predefinição a partir de $1]",
        "scarytranscludefailed-httpstatus": "[Não foi possível obter a predefinição a partir de $1: HTTP $2]",
        "compare-invalid-title": "O título que especificou é inválido.",
        "compare-title-not-exists": "O título que especificou não existe.",
        "compare-revision-not-exists": "A revisão que especificou não existe.",
-       "dberr-problems": "Desculpe! Este sítio está com dificuldades técnicas.",
+       "dberr-problems": "Desculpe! Este site está com dificuldades técnicas.",
        "dberr-again": "Experimente esperar alguns minutos e atualizar.",
        "dberr-info": "(Não foi possível aceder ao servidor da base de dados: $1)",
        "dberr-info-hidden": "(Não foi possível aceder ao servidor da base de dados)",
index 89f6f41..f3e2507 100644 (file)
        "recentchanges-submit": "Label for submit button in [[Special:RecentChanges]]\n{{Identical|Show}}",
        "rcfilters-legend-heading": "Used as a heading for legend box on [[Special:RecentChanges]] and [[Special:Watchlist]] when RCFilters are enabled.",
        "rcfilters-other-review-tools": "Used as a heading for the community collection of other links on [[Special:RecentChanges]] when RCFilters are enabled.",
+       "rcfilters-group-results-by-page": "A label for the checkbox describing whether the results in [[Special:RecentChanges]] are grouped by page when RCFilters are enabled.",
+       "rcfilters-grouping-title": "Title for the section showing display options for grouping results in [[Special:RecentChanges]] when RCFilters are enabled.",
        "rcfilters-activefilters": "Title for the filters selection showing the active filters.",
        "rcfilters-advancedfilters": "Title for the buttons allowing the user to switch to the various advanced filters views.",
        "rcfilters-limit-title": "Title for the options to change the number of results shown.",
        "rcfilters-tag-prefix-tags": "Prefix for the edit tags in [[Special:RecentChanges]]. Edit tags use a hash (#) as prefix. Please keep this format.\n\nParameters:\n* $1 - Tag display name.",
        "rcfilters-exclude-button-off": "Title for the button that excludes selected namespaces, when it is not yet active.",
        "rcfilters-exclude-button-on": "Title for the button that excludes selected namespaces, when it is not yet active.",
+       "rcfilters-view-advanced-filters-label": "Label for the view switch that changes between advanced filters in [[Special:RecentChanges]]",
        "rcfilters-view-tags": "Title for the tags view in [[Special:RecentChanges]]\n{{Identical|Tag}}",
        "rcfilters-view-namespaces-tooltip": "Tooltip for the button that loads the namespace view in [[Special:RecentChanges]]",
        "rcfilters-view-tags-tooltip": "Tooltip for the button that loads the tags view in [[Special:RecentChanges]]",
        "rcfilters-view-return-to-default-tooltip": "Tooltip for the button that returns to the default filter view in [[Special:RecentChanges]]",
        "rcfilters-liveupdates-button": "Label for the button to enable or disable live updates on [[Special:RecentChanges]]",
+       "rcfilters-liveupdates-button-title-on": "Title for the button to enable or disable live updates on [[Special:RecentChanges]] when the feature is ON.",
+       "rcfilters-liveupdates-button-title-off": "Title for the button to enable or disable live updates on [[Special:RecentChanges]] when the feature is OFF.",
        "rcnotefrom": "This message is displayed at [[Special:RecentChanges]] when viewing recentchanges from some specific time.\n\nThe corresponding message is {{msg-mw|Rclistfrom}}.\n\nParameters:\n* $1 - the maximum number of changes that are displayed\n* $2 - (Optional) a date and time\n* $3 - a date\n* $4 - a time\n* $5 - Number of changes are displayed, for use with PLURAL",
        "rclistfromreset": "Used on [[Special:RecentChanges]] to reset a selection of a certain date range.",
        "rclistfrom": "Used on [[Special:RecentChanges]]. Parameters:\n* $1 - (Currently not use) date and time. The date and the time adds to the rclistfrom description.\n* $2 - time. The time adds to the rclistfrom link description (with split of date and time).\n* $3 - date. The date adds to the rclistfrom link description (with split of date and time).\n\nThe corresponding message is {{msg-mw|Rcnotefrom}}.",
index 463558d..2d5d2eb 100644 (file)
@@ -38,7 +38,7 @@
        "tog-shownumberswatching": "Fa vedè 'u numere de le utinde ca uardene",
        "tog-oldsig": "'A firma toje:",
        "tog-fancysig": "Firma grezze cumme a 'nu teste de Uicchi (senza collegamende automatiche)",
-       "tog-uselivepreview": "Ause l'andeprime da 'u vive",
+       "tog-uselivepreview": "Face 'ndrucà l'andeprime senze recarecà 'a pàgene",
        "tog-forceeditsummary": "Ciércame conferme quanne stoche a 'nzerische 'nu riepighe vianghe",
        "tog-watchlisthideown": "Scunne le cangiaminde mije da l'elenghe de le pàggene condrollate",
        "tog-watchlisthidebots": "Scunne le cangiaminde de le bot da l'elenghe de le pàggene condrollate",
        "cannotlogin-title": "Non ge puè trasé",
        "cannotlogin-text": "Non ge puè trasè.",
        "cannotloginnow-title": "Non ge puè trasè mò",
+       "cannotloginnow-text": "Non ge puè trasè quanne ste ause $1.",
        "cannotcreateaccount-title": "Non ge pué ccrejà le cunde utinde",
        "yourdomainname": "'U nome d'u dominie tue:",
        "password-change-forbidden": "Non ge puè cangià le passuord sus a sta uicchi.",
        "userlogin-resetpassword-link": "T'è scurdate 'a passuord toje?",
        "userlogin-helplink2": "Aijute cu 'a trasute",
        "userlogin-loggedin": "Tu ste jndre ggià cumme a {{GENDER:$1|$1}}.\nAuse 'u module aqquà sotte pe trasè cumme a 'n'otre utende.",
+       "userlogin-reauth": "A trasè arrete pe verificà ca si {{GENDER:$1|$1}}.",
        "userlogin-createanother": "Ccreje 'n'otre cunde",
        "createacct-emailrequired": "Indirizze email",
        "createacct-emailoptional": "Indirizze email (opzionale)",
        "createacct-email-ph": "Mitte l'indirizze email tune",
        "createacct-another-email-ph": "Mitte l'indirizze email",
        "createaccountmail": "Ause 'na passuord temboranèe a uecchije e mannale a l'indirizze email specificate",
+       "createaccountmail-help": "Pò essere ausate pe ccrejà 'n'utende pe 'n'otre crestiane senze ca adda canoscere 'a passuord.",
        "createacct-realname": "Nome vere (opzionale)",
        "createacct-reason": "Mutive",
        "createacct-reason-ph": "Purcé tu ste ccreje 'n'otre cunde utende?",
+       "createacct-reason-help": "Messàgge 'ndrucate jndr'à l'archivije d'a ccrejazzione de le utinde",
        "createacct-submit": "Ccreje 'u cunde utende tune",
        "createacct-another-submit": "Ccreje 'nu cunde utende",
        "createacct-continue-submit": "Condinue 'a ccrejazzione de l'utende",
        "post-expand-template-argument-warning": "Attenziò: Sta pàgene tène almene 'n'argomende de 'nu template ca jè troppe larie.\nSte argumende onne state luete.",
        "post-expand-template-argument-category": "Pàggene ca condenene template cu quacche argomende zumbete",
        "parser-template-loop-warning": "Amme acchiete 'nu cicle de template: [[$1]]",
+       "template-loop-category": "Pàggene cu le template ca se chiamane da sule",
        "parser-template-recursion-depth-warning": "Ha state supranete 'u limite di ricorsione de le template ($1)",
        "language-converter-depth-warning": "'U convertitore de lènghe ha subranate 'u limite de profonnetà ($1)",
        "node-count-exceeded-category": "Pàggene addò 'u cunde de le node ha sbunnate",
        "mergehistory-empty": "Nisciuna revisione pò essere scuagghiate.",
        "mergehistory-done": "$3 {{PLURAL:$3|revisione|revisiune}} de $1 {{PLURAL:$3|ha|onne}} state scuagghiate jndr'à [[:$2]].",
        "mergehistory-fail": "Non ge se pò fa vedè 'a storie d'u scuagghiamende, pe piacere verifiche 'n'otra vota a pàgene e le parametre de l'orarie.",
+       "mergehistory-fail-bad-timestamp": "L'orarie de stambe non g'è valide.",
+       "mergehistory-fail-invalid-source": "'A pàgene de origgene non g'è valide.",
+       "mergehistory-fail-invalid-dest": "'A pàgene de destinazione non g'è valide.",
        "mergehistory-fail-toobig": "Non ge pozze combletà 'u scuagghiamende s'u cunde purcé supranesce 'u limite de $1 {{PLURAL:$1|revisione|revisiune}} ca onna essere spustate.",
        "mergehistory-no-source": "'A pàgena sorgende $1 non g'esiste.",
        "mergehistory-no-destination": "'A pàgene de destinazione $1 non g'esiste.",
        "grant-patrol": "Cangiaminde condrollate a le pàggene",
        "grant-privateinfo": "Accede a le 'mbormaziune private",
        "grant-protect": "Protegge e sprotegge le pàggene",
+       "grant-uploadfile": "Careche le file nuève",
+       "grant-basic": "Deritte de base",
+       "grant-viewdeleted": "'Ndruche le file e le pàggene scangellate",
+       "grant-viewmywatchlist": "'Ndruche le pàggene condrollate tune",
        "newuserlogpage": "Archivije de ccreazione de le utinde",
        "newuserlogpagetext": "Quiste ète l'archivije de le creazziune de l'utinde.",
        "rightslog": "Archivie de le diritte de l'utende",
        "recentchanges-legend-heading": "<strong>Leggende:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ('ndruche pure [[Special:NewPages|elenghe de le pàggene nuève]])",
        "recentchanges-submit": "Fà 'ndrucà",
+       "rcfilters-grouping-title": "Stoche e raggruppe",
        "rcfilters-activefilters": "Filtre attive",
        "rcfilters-advancedfilters": "Filtre avanzate",
        "rcfilters-limit-title": "Cangiaminde da 'ndrucà",
-       "rcfilters-limit-shownum": "Fà 'ndrucà le urteme $1 cangiaminde",
+       "rcfilters-limit-shownum": "Fà 'ndrucà le urteme {{PLURAL:$1|cangiamende|cangiaminde}}",
        "rcfilters-days-title": "Urteme sciurne",
        "rcfilters-hours-title": "Urteme ore",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|sciurne}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|ore}}",
        "rcfilters-quickfilters": "Filtre reggistrate",
        "rcfilters-quickfilters-placeholder-title": "Nisciune collegamende reggistrate",
+       "rcfilters-quickfilters-placeholder-description": "Pe reggistrà le 'mbostaziune d'u filtre tune e ausarle cchiù tarde, cazze sus a l'icone segnalibbre jndr'à l'arèe \"Fitlre attive\" aqquà sotte",
        "rcfilters-savedqueries-defaultlabel": "Filtre reggistrate",
        "rcfilters-savedqueries-rename": "Renomene",
        "rcfilters-savedqueries-setdefault": "'Mboste cumme predefinite",
        "rcfilters-filter-minor-label": "Cangiaminde stuèdeche",
        "rcfilters-filter-watchlist-watched-label": "Jndr'à le pàggene condrollate",
        "rcfilters-filter-watchlist-notwatched-label": "Fore da le pàggene condrollate",
+       "rcfilters-filtergroup-changetype": "Tipe de cangiamende",
        "rcfilters-filter-pageedits-label": "Cangiaminde d'a pàgene",
+       "rcfilters-filtergroup-lastRevision": "Urteme revisiune",
        "rcfilters-filter-lastrevision-label": "Urtema revisione",
+       "rcfilters-filter-lastrevision-description": "Sulamende le urteme cangiamende a 'na pàgene.",
+       "rcfilters-filter-previousrevision-label": "Non g'è l'urtema versione",
        "rcfilters-filter-excluded": "Scettate",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:non</strong> $1",
        "rcfilters-exclude-button-off": "Scitte le scacchiate",
        "rcfilters-exclude-button-on": "Scettanne le scacchiate",
+       "rcfilters-view-advanced-filters-label": "Filtre avanzate",
        "rcfilters-view-tags": "Cangiaminde taggate",
        "rcnotefrom": "Sotte {{PLURAL:$5|ste 'u cangiamende|stonne le cangiaminde}} da <strong>$3, $4</strong> ('nzigne a <strong>$1</strong> fatte vedè).",
        "rclistfrom": "Fà vedè le urteme cangiaminde partenne da $3 $2",
        "sp-contributions-username": "Indirizze IP o nome de l'utende:",
        "sp-contributions-toponly": "Sulamende facenne vedè le cangiaminde de l'urteme revisiune",
        "sp-contributions-newonly": "Fà vedè sulamende le cangiaminde ca onne ccrejate 'a pàgene",
+       "sp-contributions-hideminor": "Scunne le cangiaminde stuèdeche",
        "sp-contributions-submit": "Cirche",
        "whatlinkshere": "Appondene aqquà",
        "whatlinkshere-title": "Pàggene ca appondene a \"$1\"",
        "autoblocklist": "Autoblocche",
        "autoblocklist-submit": "Cirche",
        "autoblocklist-legend": "Elenghe de l'autoblocche",
+       "autoblocklist-localblocks": "{{PLURAL:$1|Autoblocche}} locale",
+       "autoblocklist-total-autoblocks": "Numere totale de auyoblocche: $1",
+       "autoblocklist-empty": "L'elenghe de le autoblocche jè vacande.",
+       "autoblocklist-otherblocks": "Otre {{PLURAL:$1|autoblocche}}",
        "ipblocklist": "Utinde bloccate",
        "ipblocklist-legend": "Iacchije 'n'utende blocchete",
        "blocklist-userblocks": "Scunne le blocche sus a le cunde de l'utinde",
        "confirmemail_body_set": "Quacchedune, pò essere tu, da l'indirizze IP $1,\nha cangiate l'indirizze e-mail d'u cunde utende \"$2\" cu st'indirizze e-mail sus a {{SITENAME}}.\n\nPe confermà ca stu cunde ète avveramende 'u tune e pe attivà 'a funzione email de {{SITENAME}}, iapre stu collegamende jndr'à 'u browser tune:\n\n$3\n\nCe tu *NON* g'è reggistrate 'u cunde utende, segue stu collegamende pe scangellà l'indirizze email de conferme:\n\n$5\n\nStu codece de conferme scade 'u $4.",
        "confirmemail_invalidated": "Conferme de l'indirizze e-mail scangellete",
        "invalidateemail": "Scangille 'a conferme de l'e-mail",
+       "notificationemail_subject_changed": "L'indirizze email reggistrate sus a {{SITENAME}} ha state cangiate",
+       "notificationemail_subject_removed": "L'indirizze email reggistrate sus a {{SITENAME}} ha state luate",
        "scarytranscludedisabled": "[Collegaminde 'mbrà InterUicchi disabbilitate]",
        "scarytranscludefailed": "[L'analisi d'u template ha fallite pe $1]",
        "scarytranscludefailed-httpstatus": "[Analise d'u template fallite pe $1: HTTP $2]",
        "tag-filter": "Filtre de le [[Special:Tags|tag]]:",
        "tag-filter-submit": "Filtre",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Tag}}]]: $2)",
+       "tag-mw-contentmodelchange": "cangiamende d'u modelle de condenute",
        "tags-title": "Tag",
        "tags-intro": "Sta pàgene elenghe le tag ca 'u software pò marcà cu 'nu cangiamende e 'u lore significate.",
        "tags-tag": "Nome d'u tag",
        "htmlform-date-toolow": "'U valore specificate avène apprime da date congesse de $1.",
        "htmlform-date-toohigh": "'U valore specificate avène apprisse da date congesse de $1.",
        "htmlform-title-badnamespace": "[[:$1]] non ge stè jndr'à 'u namespace \"{{ns:$2}}\".",
+       "htmlform-title-not-creatable": "\"$1\" jè 'nu titole de 'na pàgene ca no se pò ccrejà",
        "htmlform-title-not-exists": "$1 non g'esiste.",
        "htmlform-user-not-exists": "<strong>$1</strong> non g'esiste.",
        "htmlform-user-not-valid": "<strong>$1</strong> non g'è 'nu nome utende valide.",
        "log-action-filter-block-reblock": "Cangiamende d'u blocche",
        "log-action-filter-block-unblock": "Sblocche",
        "log-action-filter-contentmodel-change": "Cange 'u modelle de condenute",
+       "log-action-filter-delete-delete": "Scangellazzione d'a pàgene",
+       "log-action-filter-delete-event": "Scangellazzione de l'archivije",
+       "log-action-filter-delete-revision": "Scangellazzione d'a revisione",
        "log-action-filter-managetags-create": "Ccrejazzione d'u tag",
        "log-action-filter-managetags-delete": "Scangellazzione d'u tag",
        "log-action-filter-managetags-activate": "Attivazione d'u tag",
        "log-action-filter-managetags-deactivate": "Disattivazione d'u tag",
+       "log-action-filter-rights-rights": "Cangiamende a màne",
+       "log-action-filter-rights-autopromote": "Cangiamende automateche",
+       "log-action-filter-suppress-event": "Soppressione de l'archivije",
+       "log-action-filter-suppress-revision": "Soppressione d'a revisione",
+       "log-action-filter-suppress-delete": "Soppressione d'a pàgene",
+       "log-action-filter-suppress-block": "Soppressione de l'utende da blocche",
+       "log-action-filter-suppress-reblock": "Soppressione de l'utende da ri-blocche",
+       "log-action-filter-upload-upload": "Carecamende nuève",
+       "log-action-filter-upload-overwrite": "Recareche",
        "authmanager-authplugin-setpass-failed-title": "Cangiamende d'a passuord fallite",
+       "authmanager-authplugin-setpass-bad-domain": "Dominie invalide.",
        "authmanager-email-label": "Email",
        "authmanager-email-help": "Indirizze e-mail",
        "authmanager-realname-label": "Nome vere",
        "authmanager-realname-help": "Nome vere de l'utende",
        "authprovider-resetpass-skip-label": "Zumbe",
        "authform-newtoken": "Gettone mangande: $1",
+       "authform-notoken": "Gettone mangande",
+       "authform-wrongtoken": "Gettone sbagliate",
+       "specialpage-securitylevel-not-allowed-title": "Non conzendite",
+       "changecredentials": "Cange credenziale",
+       "changecredentials-submit": "Cange credenziale",
        "revid": "revisione $1",
        "pageid": "ID d'a pàgene $1",
        "rawhtml-notallowed": "Le tag &lt;html&gt; non ge ponne essere ausate fore da le pàggene normale.",
        "gotointerwiki": "Ste lasse {{SITENAME}}",
-       "gotointerwiki-invalid": "'U titole specificate non g'è valide."
+       "gotointerwiki-invalid": "'U titole specificate non g'è valide.",
+       "pagedata-bad-title": "Titole invalide: $1."
 }
index 6cf38a9..6d6ecde 100644 (file)
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Показать",
        "rcfilters-legend-heading": "<strong>Список сокращений:</strong>",
-       "rcfilters-other-review-tools": "<strong>Другие инструменты проверки:</strong>",
+       "rcfilters-other-review-tools": "<strong>Другие инструменты проверки</strong>",
+       "rcfilters-grouping-title": "Группировка",
        "rcfilters-activefilters": "Активные фильтры",
        "rcfilters-advancedfilters": "Расширенные фильтры",
        "rcfilters-limit-title": "Изменения для показа",
+       "rcfilters-limit-shownum": "Показать {{PLURAL:$1|последнее изменение|$1 последние изменения|$1 последних изменений}}",
        "rcfilters-days-title": "Последние дни",
        "rcfilters-hours-title": "Последние часы",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|день|дня|дней}}",
        "rcfilters-savedqueries-add-new-title": "Сохранить текущие настройки фильтра",
        "rcfilters-restore-default-filters": "Восстановить фильтры по умолчанию",
        "rcfilters-clear-all-filters": "Очистить все фильтры",
+       "rcfilters-show-new-changes": "Показать новые изменения",
+       "rcfilters-previous-changes-label": "Ранее просмотренные изменения",
        "rcfilters-search-placeholder": "Последние изменения фильтров (просмотрите или начните вводить)",
        "rcfilters-invalid-filter": "Недопустимый фильтр",
        "rcfilters-empty-filter": "Нет активных фильтров. Показываются все правки.",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:not</strong> $1",
        "rcfilters-exclude-button-off": "Исключить выбранное",
        "rcfilters-exclude-button-on": "Исключение выбранного",
+       "rcfilters-view-advanced-filters-label": "Расширенные фильтры",
        "rcfilters-view-tags": "Тегированные правки",
        "rcfilters-view-namespaces-tooltip": "Результаты фильтра по пространствам имён",
        "rcfilters-view-tags-tooltip": "Результаты фильтра, использующего метки правок",
        "fileduplicatesearch-noresults": "Не найден файл с именем «$1».",
        "specialpages": "Спецстраницы",
        "specialpages-note-top": "Легенда",
+       "specialpages-note-restricted": "* Обычные служебные страницы.\n* <span class=\"mw-specialpagerestricted\">Служебные страницы с ограниченным доступом.</span>",
        "specialpages-group-maintenance": "Отчёты технического обслуживания",
        "specialpages-group-other": "Другие служебные страницы",
        "specialpages-group-login": "Представиться / Зарегистрироваться",
index c95e7e9..9092510 100644 (file)
@@ -9,7 +9,8 @@
        "tog-numberheadings": "سرخیاں کوں خود کار نمبر ݙیوو",
        "tog-showtoolbar": "آلات ترمیم ݙکھاؤ",
        "tog-editondblclick": "ڈبل کلک نال ورقے وچ تبدیلیاں کرو",
-       "tog-uselivepreview": "براہ راست نمائش ورتو",
+       "tog-uselivepreview": "ورقہ ولدا لوڈ کیتے ٻاجھوں نمائش ݙکھاؤ",
+       "tog-showhiddencats": "لڳیاں قسماں ݙکھاؤ",
        "underline-always": "ہمیشہ",
        "underline-never": "کݙاہیں وی کائناں",
        "underline-default": "سکن یا براؤزر دا طے شدہ",
@@ -87,6 +88,7 @@
        "subcategories": "ذیلی زمرہ جات",
        "category-media-header": "زمرہ \"$1\" وچ میڈیا",
        "hidden-categories": "{{PLURAL:$1|پوشیدہ زمرہ|پوشیدہ زمرہ جات}}",
+       "hidden-category-category": "لکیاں قسماں",
        "listingcontinuesabbrev": "جاری۔",
        "noindex-category": "غیر فہرست شدہ صفحات",
        "broken-file-category": "ٹٹے ہوۓ جوڑاں آلے صفحے",
        "jumpto": "ٹپ مارو",
        "jumptonavigation": "رہنمائی",
        "jumptosearch": "ڳولو",
+       "pool-errorunknown": "نامعلوم غلطی",
        "aboutsite": "{{SITENAME}} دا تعارف",
        "aboutpage": "Project:تعارف",
        "copyrightpage": "{{ns:project}}:حقوق تصانیف",
        "error": "نقص",
        "databaseerror": "ڈیٹابیس دی غلطی",
        "databaseerror-error": "نقص: $1",
+       "missingarticle-diff": "(فرق: $1، $2)",
+       "internalerror": "اندر دی غلطی",
+       "internalerror_info": "اندر دی غلطی:$1",
        "badtitle": "بھیڑا عنوان",
        "viewsource": "ماخذ ݙیکھو",
        "viewsource-title": "$1 دا مسودہ ݙیکھو",
        "enhancedrc-history": "پچھلا کم",
        "recentchanges": "نویاں تبدیلیاں",
        "recentchanges-legend": "اِختیاراتِ حالیہ تبدیلیاں",
+       "recentchanges-summary": "ایں ورقے وچ حالیہ تھیوݨ آلیاں تبدیلیاں ݙیکھو۔",
+       "recentchanges-noresult": "ایں مدت وچ ایں معیار وانگوں کوئی تبدیلی کائنی تھئی۔",
        "recentchanges-feed-description": "ایں فیڈ وچ وکی تے تھیوݨ آلیاں نویاں نکور تبدیلیاں ݙیکھو۔",
        "recentchanges-label-newpage": "ایں تبدیلی نواں ورقہ بݨایا ہے",
        "recentchanges-label-minor": "ایہ ہک چھوٹی تبدیلی ہے",
        "recentchanges-legend-heading": "<strong>اختصارات:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ایہ وی ݙیکھو [[Special:NewPages|نویں ورقیاں دی لسٹ]])",
        "recentchanges-submit": "ݙیکھاؤ",
+       "rcfilters-days-title": "موجودہ ݙینہ",
+       "rcfilters-hours-title": "موجودہ گھنٹے",
        "rcfilters-savedqueries-rename": "نواں ناں لکھو",
        "rcfilters-savedqueries-setdefault": "ݙیفالٹ بݨاؤ",
        "rcfilters-savedqueries-unsetdefault": "ݙیفالٹ توں ہٹاؤ",
        "tooltip-t-whatlinkshere": "ایں نال جڑے سارے وکی ورقے۔",
        "tooltip-t-recentchangeslinked": "ایں ورقے توں جڑے ورقیاں وچ نویاں تبدیلیاں",
        "tooltip-feed-atom": "اِیں ورقے دا اٹوم فیڈ",
+       "tooltip-t-contributions": "{{GENDER:$1|ایں ورتݨ آلے}} دی شراکتاں دی فہرست",
        "tooltip-t-emailuser": "{{GENDER:$1|اایں صارف}} کوں ای میل بھیجو",
        "tooltip-t-upload": "فائل چڑھاؤ",
        "tooltip-t-specialpages": "سارے خاص ورقیاں دی تندیر",
        "logentry-delete-restore": "$1 {{GENDER:$2|بحال تھی ڳیوہے}} page $3 ($4)",
        "revdelete-content-hid": "مواد لکیا",
        "logentry-move-move": "$1 {{جنس:$2|پلٹی}} صفہ $3 توں $4",
+       "logentry-move-move_redir": "$1 نے رجوع مکرر ہٹا تے ورقہ $3 کوں $4 آلے پاسے {{GENDER:$2|منتقل کیتا}}",
        "logentry-newusers-create": "صارف کھاتہ $1 {{GENDER:$2|بݨایا ڳیا}}",
        "logentry-newusers-autocreate": "صارف کھاتہ $1 خودکار طور  {{GENDER:$2|تخلیق تھیا}}",
        "logentry-upload-upload": "$1 {{GENDER:$2|اپلوڈ}} $3",
index 1d0d3e4..3c2245f 100644 (file)
        "rcfilters-highlightmenu-help": "Zgjedh një ngjyrë për të theksuar këtë tipar",
        "rcfilters-filterlist-noresults": "Nuk u gjet ndonjë filtër",
        "rcfilters-noresults-conflict": "Nuk u gjetën rezultate sepse kriteret e kërkimit janë kundërthënës",
-       "rcfilters-filtergroup-registration": "Regjistrimi i përdoruesit",
-       "rcfilters-filter-registered-label": "Regjistruar",
-       "rcfilters-filter-registered-description": "Redaktorët e kyçur",
-       "rcfilters-filter-unregistered-label": "Ç'regjistruar",
-       "rcfilters-filter-unregistered-description": "Redaktorët që nuk janë të kyçur",
        "rcfilters-filtergroup-authorship": "Autorësia e kontributit",
        "rcfilters-filter-editsbyself-label": "Ndryshimet nga ti",
        "rcfilters-filter-editsbyself-description": "Kontributet tuaja.",
        "rcfilters-filter-editsbyother-label": "Kontributet nga të tjerët",
        "rcfilters-filter-editsbyother-description": "Të gjitha ndryshimet përveç nga ti.",
        "rcfilters-filtergroup-userExpLevel": "Niveli i përvojës (vetëm për përdoruesit e regjistruar)",
+       "rcfilters-filter-user-experience-level-registered-label": "Regjistruar",
+       "rcfilters-filter-user-experience-level-registered-description": "Redaktorët e kyçur",
+       "rcfilters-filter-user-experience-level-unregistered-label": "Ç'regjistruar",
+       "rcfilters-filter-user-experience-level-unregistered-description": "Redaktorët që nuk janë të kyçur",
        "rcfilters-filter-user-experience-level-newcomer-label": "Të rinjtë",
        "rcfilters-filter-user-experience-level-newcomer-description": "Më pak se 10 redaktime dhe 4 ditë aktivitet.",
        "rcfilters-filter-user-experience-level-learner-label": "Nxënës",
        "notvisiblerev": "Revizioni është grisur",
        "watchlist-details": "{{PLURAL:$1|$1 faqe|$1 faqe}} nën mbikëqyrje duke mos numëruar faqet e diskutimit.",
        "wlheader-enotif": "Është aktivizuar njoftimi me email.",
-       "wlheader-showupdated": "Faqet që kanë ndryshuar nga vizita juaj e fundit do të tregohen të <strong>trasha<strong>.",
+       "wlheader-showupdated": "Faqet që kanë ndryshuar nga vizita juaj e fundit do të tregohen të <strong>trasha</strong>.",
        "wlnote": "Më poshtë {{PLURAL:$1|është ndryshimi i fundit|janë <strong>$1</strong>''' ndryshimet e fundit}} në {{PLURAL:$2|orën e fundit|<strong>$2</strong>''' orët e fundit}}, që nga $3, $4.",
        "wlshowlast": "Trego $1 orët $2 ditët e fundit",
        "watchlist-hide": "Fshih",
        "fileduplicatesearch-noresults": "Nuk u gjet asnjë skedë me emrin \"$1\".",
        "specialpages": "Faqet speciale",
        "specialpages-note-top": "Legjenda",
-       "specialpages-note": "* Faqet speciale normale.\n* <span class=\"mw-specialpagerestricted\">Faqet speciale të kufizuara.</span>",
        "specialpages-group-maintenance": "Përmbledhje mirëmbajtjeje",
        "specialpages-group-other": "Faqe speciale të tjera",
        "specialpages-group-login": "Hyrë / hap llogari",
index 2e8d06e..47b3505 100644 (file)
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|списак нових страница]])",
        "recentchanges-submit": "Прикажи",
        "rcfilters-legend-heading": "<strong>Списак скраћеница:</strong>",
+       "rcfilters-grouping-title": "Груписање",
        "rcfilters-activefilters": "Активни филтери",
        "rcfilters-limit-title": "Приказати измјена",
        "rcfilters-limit-shownum": "Прикажи посљедњих $1 измјена",
        "rcfilters-savedqueries-add-new-title": "Сачувај тренутне поставке филтера",
        "rcfilters-restore-default-filters": "Враћање подразумеваних филтера",
        "rcfilters-clear-all-filters": "Уклони све филтере",
+       "rcfilters-show-new-changes": "Прикажи нове измене",
        "rcfilters-search-placeholder": "Филтер скорашњих измјена (претражите или почните куцати)",
        "rcfilters-empty-filter": "Нема активних филтера. Сви доприноси су приказани.",
        "rcfilters-noresults-conflict": "Није пронађен ниједан резултат јер су критеријуми претраге сукобљени",
index 5a6c348..6f53839 100644 (file)
        "rcfilters-savedqueries-add-new-title": "Spara filterinställningar",
        "rcfilters-restore-default-filters": "Återställ standardfilter",
        "rcfilters-clear-all-filters": "Rensa alla filter",
+       "rcfilters-show-new-changes": "Visa nya ändringar",
+       "rcfilters-previous-changes-label": "Ändringar som visades tidigare",
        "rcfilters-search-placeholder": "Filtrera senaste ändringar (bläddra eller börja skriva)",
        "rcfilters-invalid-filter": "Ogiltigt filter",
        "rcfilters-empty-filter": "Inga aktiva filter. Alla bidrag visas.",
index 5ab3d1f..b1cbe8d 100644 (file)
@@ -95,7 +95,8 @@
                        "Asmen",
                        "Stephanecbisson",
                        "Alerque",
-                       "Bulgu"
+                       "Bulgu",
+                       "Botansahin"
                ]
        },
        "tog-underline": "Bağlantıların altını çizme:",
        "recentchanges-legend-heading": "<strong>Gösterge:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ayrıca [[Special:NewPages|yeni sayfalar listesine]] bakınız)",
        "recentchanges-submit": "Göster",
+       "rcfilters-group-results-by-page": "Sayfalandırılmış grup sonuçları",
+       "rcfilters-grouping-title": "Gruplaştırma",
        "rcfilters-activefilters": "Etkin süzgeçler",
+       "rcfilters-limit-shownum": "Sonuncuyu göster{{ÇOĞUL:$1|}}$1 değiştir $1 değişiyor}}",
        "rcfilters-restore-default-filters": "Varsayılan süzgeçleri geri getir",
        "rcfilters-clear-all-filters": "Tüm süzgeçleri temizle",
        "rcfilters-search-placeholder": "Son değişiklikleri filtrele (gözatın veya yazmaya başlayın)",
        "rcfilters-highlightmenu-title": "Bir renk seçin",
        "rcfilters-highlightmenu-help": "Bu özelliği vurgulamak için bir renk seçin",
        "rcfilters-filterlist-noresults": "Süzgeç bulunamadı",
-       "rcfilters-filtergroup-registration": "Kullanıcı kaydı",
-       "rcfilters-filter-registered-label": "Kayıtlı",
-       "rcfilters-filter-registered-description": "Oturum açmış editörler.",
-       "rcfilters-filter-unregistered-label": "Kayıtsız",
-       "rcfilters-filter-unregistered-description": "Oturum açmamış editörler.",
        "rcfilters-filtergroup-authorship": "Düzenleme sahipliği",
        "rcfilters-filter-editsbyself-label": "Senin değişiklikleriniz",
        "rcfilters-filter-editsbyself-description": "Kendi katkılarınız.",
        "rcfilters-filter-editsbyother-label": "Başkalarının düzenlemeleri",
        "rcfilters-filter-editsbyother-description": "Kendi düzenlemeleriniz hariç bütün düzenlemeler.",
        "rcfilters-filtergroup-userExpLevel": "Deneyim düzeyi (yalnızca kayıtlı kullanıcılar için)",
-       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Bu süzgeç etkin değildir, çünkü yalnızca kayıtlı kullanıcıları bulmaktadır, yani \"Kayıtsız\" süzgeci etkisini ortadan kaldırmaktadır.",
-       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "\"Kayıtsız\" süzgeci bir veya daha fazla Deneyim süzgeciyle çakışmaktadır. Deneyim süzgeçleri yalnızca kayıtlı kullanıcıları bulmaktadır. Çakışan süzgeçler yukarıda etkin değil şeklinde işaretlenmiştir.",
+       "rcfilters-filter-user-experience-level-registered-label": "Kayıtlı",
+       "rcfilters-filter-user-experience-level-registered-description": "Oturum açmış editörler.",
+       "rcfilters-filter-user-experience-level-unregistered-label": "Kayıtsız",
+       "rcfilters-filter-user-experience-level-unregistered-description": "Oturum açmamış editörler.",
        "rcfilters-filter-user-experience-level-newcomer-label": "Yeni gelenler",
        "rcfilters-filter-user-experience-level-newcomer-description": "10'dan az düzenleme ve 4 günden az etkinlik.",
        "rcfilters-filter-user-experience-level-learner-label": "Öğreniciler",
        "rcfilters-filter-categorization-description": "Kategorilere eklenen veya kaldırılan sayfaların kayıtları.",
        "rcfilters-filter-logactions-label": "Günlüğü tutulan işlemler",
        "rcfilters-filter-logactions-description": "Hizmetli işlemleri, hesap oluşturmalar, sayfa silmeler, yüklemeler....",
+       "rcfilters-view-advanced-filters-label": "Gelişmiş filtreler",
        "rcnotefrom": "<strong>$3, $4</strong> tarihinden itibaren yapılan {{PLURAL:$5|değişiklik|değişiklik}} aşağıdadır (<strong>$1</strong> tarhine kadar olanlar gösterilmektedir).",
        "rclistfrom": "$3 $2 tarihinden itibaren yeni değişiklikleri göster",
        "rcshowhideminor": "Küçük değişiklikleri $1",
        "fileduplicatesearch-noresults": "\"$1\" isminde hiç dosya bulunamadı.",
        "specialpages": "Özel sayfalar",
        "specialpages-note-top": "Gösterge",
-       "specialpages-note": "* Normal özel sayfalar.\n* <span class=\"mw-specialpagerestricted\">Kısıtlı özel sayfalar.</span>",
        "specialpages-group-maintenance": "Bakım raporları",
        "specialpages-group-other": "Diğer özel sayfalar",
        "specialpages-group-login": "Oturum aç / hesap edin",
index 28a838f..3c01d14 100644 (file)
        "tog-shownumberswatching": "显示监视用户数",
        "tog-oldsig": "您现有的签名:",
        "tog-fancysig": "将签名视为维基文本(不自动生成链接)",
-       "tog-uselivepreview": "使用即时预览",
+       "tog-uselivepreview": "显示预览而不加载页面",
        "tog-forceeditsummary": "未输入编辑摘要时提醒我",
        "tog-watchlisthideown": "隐藏监视列表中的我的编辑",
        "tog-watchlisthidebots": "隐藏监视列表中的机器人编辑",
        "recentchanges-submit": "显示",
        "rcfilters-legend-heading": "<strong>缩写列表:</strong>",
        "rcfilters-other-review-tools": "<strong>其他复核工具:</strong>",
+       "rcfilters-group-results-by-page": "按页面分组结果",
+       "rcfilters-grouping-title": "正在分组",
        "rcfilters-activefilters": "激活的过滤器",
        "rcfilters-advancedfilters": "高级过滤器",
        "rcfilters-limit-title": "要显示的更改",
-       "rcfilters-limit-shownum": "显示最近$1次更改",
+       "rcfilters-limit-shownum": "显示最近{{PLURAL:$1|$1次更改}}",
        "rcfilters-days-title": "最近几天",
        "rcfilters-hours-title": "最近几个小时",
        "rcfilters-days-show-days": "$1{{PLURAL:$1|天}}",
        "rcfilters-savedqueries-add-new-title": "保存当前过滤器设置",
        "rcfilters-restore-default-filters": "恢复默认过滤器",
        "rcfilters-clear-all-filters": "清空所有过滤器",
+       "rcfilters-show-new-changes": "显示新更改",
+       "rcfilters-previous-changes-label": "之前查看过的更改",
        "rcfilters-search-placeholder": "过滤器