From: jenkins-bot Date: Tue, 24 Oct 2017 08:41:10 +0000 (+0000) Subject: Merge "RCFilters: Display specific error if query times out" X-Git-Tag: 1.31.0-rc.0~1688 X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dcompta/operations/supprimer.php?a=commitdiff_plain;h=433d2480f994932162da94b857e1d297d59cd4c8;hp=63235f2d7f42f94337d1f12aaaab8322868732b9;p=lhc%2Fweb%2Fwiklou.git Merge "RCFilters: Display specific error if query times out" --- diff --git a/.phpcs.xml b/.phpcs.xml new file mode 100644 index 0000000000..3170381fda --- /dev/null +++ b/.phpcs.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */languages/messages/Messages*.php + + + */includes/StubObject.php + + . + + + ^extensions/ + ^skins/ + AdminSettings\.php + LocalSettings\.php + StartProfiler\.php + diff --git a/COPYING b/COPYING index 1cdc9d42e1..8cecc2e9dd 100644 --- a/COPYING +++ b/COPYING @@ -6,7 +6,7 @@ MediaWiki is licensed under the terms of the GNU General Public License, version 2 or later. Derivative works and later versions of the code must be free software licensed under the same or a compatible license. This includes "extensions" that use MediaWiki functions or variables; see -http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins for details. +https://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins for details. For the full text of version 2 of the license, see https://www.gnu.org/licenses/gpl-2.0.html or '''GNU General Public License''' @@ -36,7 +36,7 @@ CC licenses: * resources/assets/licenses/cc-by.png These icons are trademarked, and used subject to the CC trademark license, -available at http://creativecommons.org/policies#trademark +available at https://creativecommons.org/policies#trademark == GNU GENERAL PUBLIC LICENSE == diff --git a/INSTALL b/INSTALL index 13c9c62600..1a59f0b580 100644 --- a/INSTALL +++ b/INSTALL @@ -82,8 +82,8 @@ help (please provide enough information to work with, and preferably be aware of what you're doing!) and keep track of major changes to the software, including performance improvements and security patches. -http://lists.wikimedia.org/mailman/listinfo/mediawiki-announce (low traffic) +https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce (low traffic) -http://lists.wikimedia.org/mailman/listinfo/mediawiki-l (site admin support) +https://lists.wikimedia.org/mailman/listinfo/mediawiki-l (site admin support) -http://lists.wikimedia.org/mailman/listinfo/wikitech-l (development) +https://lists.wikimedia.org/mailman/listinfo/wikitech-l (development) diff --git a/RELEASE-NOTES-1.30 b/RELEASE-NOTES-1.30 index bec7b86b34..bcdd4363f3 100644 --- a/RELEASE-NOTES-1.30 +++ b/RELEASE-NOTES-1.30 @@ -240,6 +240,9 @@ changes to languages because of Phabricator reports. * (T138166) SpecialEmailUser::getTarget() now requires a second argument, the sending user object. Using the method without the second argument is deprecated. * (T67297) Browsers that don't support Unicode will have their edits rejected. +* (T178450) The module 'jquery.badge' is deprecated and will be removed in a future + release. For notifying the user of an event, the Notifications ("Echo") system + should be used instead. == Compatibility == MediaWiki 1.30 requires PHP 5.5.9 or later. There is experimental support for diff --git a/RELEASE-NOTES-1.31 b/RELEASE-NOTES-1.31 index 3fd1fc8ac9..3c22e78ca8 100644 --- a/RELEASE-NOTES-1.31 +++ b/RELEASE-NOTES-1.31 @@ -6,10 +6,16 @@ MediaWiki 1.31 is an alpha-quality branch and is not recommended for use in production. === Configuration changes in 1.31 === +* $wgEnableAPI and $wgEnableWriteAPI are now deprecated and will be removed in + a future version. The API is now considered to be stable, secure and + essential. +* $wgUsejQueryThree was removed, as it is now the default. This was documented as a + temporary variable during the migration period, deprecated since 1.29. * … === New features in 1.31 === -* … +* Wikimedia\Rdbms\IDatabase->select() and similar methods now support + joins with parentheses for grouping. === External library changes in 1.31 === @@ -42,6 +48,11 @@ changes to languages because of Phabricator reports. * MessageBlobStore::insertMessageBlob() (deprecated in 1.27) was removed. * The global function wfBCP47 was renamed to LanguageCode::bcp47. * The global function wfBCP47 is now deprecated. +* The global function wfCountDown() is now deprecated in favor of + Maintenance::countDown() +* The OutputPage class constructor now requires a context parameter, + (instantiating without context was deprecated in 1.18) +* mw.page (deprecated in 1.30) was removed. == Compatibility == MediaWiki 1.31 requires PHP 5.5.9 or later. There is experimental support for diff --git a/UPGRADE b/UPGRADE index 0e6ad9b0b8..8fb187d8b0 100644 --- a/UPGRADE +++ b/UPGRADE @@ -3,7 +3,7 @@ specific problems, check * the documentation at https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents * the mediawiki-l mailing list archive at - http://lists.wikimedia.org/pipermail/mediawiki-l/ + https://lists.wikimedia.org/pipermail/mediawiki-l/ * the bug tracker at https://phabricator.wikimedia.org/ for information and workarounds to common issues. @@ -36,7 +36,7 @@ your operating system documentation for information on making copies of files. Download the files for the new version of the software. These are available as a compressed "tar" archive from the Wikimedia Download Service -(http://download.wikimedia.org/mediawiki). +(https://releases.wikimedia.org/mediawiki/). You can also obtain the new files directly from our Git source code repository. diff --git a/autoload.php b/autoload.php index 0a2ecf01c5..cf4a115a9b 100644 --- a/autoload.php +++ b/autoload.php @@ -255,7 +255,6 @@ $wgAutoloadLocalClasses = [ 'CheckLanguageCLI' => __DIR__ . '/maintenance/language/checkLanguage.inc', 'CheckLess' => __DIR__ . '/maintenance/checkLess.php', 'CheckStorage' => __DIR__ . '/maintenance/storage/checkStorage.php', - 'CheckSyntax' => __DIR__ . '/maintenance/checkSyntax.php', 'CheckUsernames' => __DIR__ . '/maintenance/checkUsernames.php', 'ClassCollector' => __DIR__ . '/includes/utils/AutoloadGenerator.php', 'CleanupAncientTables' => __DIR__ . '/maintenance/cleanupAncientTables.php', @@ -931,6 +930,7 @@ $wgAutoloadLocalClasses = [ 'MediaWiki\\Session\\UserInfo' => __DIR__ . '/includes/session/UserInfo.php', 'MediaWiki\\ShellDisabledError' => __DIR__ . '/includes/exception/ShellDisabledError.php', 'MediaWiki\\Shell\\Command' => __DIR__ . '/includes/shell/Command.php', + 'MediaWiki\\Shell\\CommandFactory' => __DIR__ . '/includes/shell/CommandFactory.php', 'MediaWiki\\Shell\\Result' => __DIR__ . '/includes/shell/Result.php', 'MediaWiki\\Shell\\Shell' => __DIR__ . '/includes/shell/Shell.php', 'MediaWiki\\Site\\MediaWikiPageNameNormalizer' => __DIR__ . '/includes/site/MediaWikiPageNameNormalizer.php', @@ -1498,6 +1498,7 @@ $wgAutoloadLocalClasses = [ 'TrackBlobs' => __DIR__ . '/maintenance/storage/trackBlobs.php', 'TrackingCategories' => __DIR__ . '/includes/TrackingCategories.php', 'TraditionalImageGallery' => __DIR__ . '/includes/gallery/TraditionalImageGallery.php', + 'TransactionRoundDefiningUpdate' => __DIR__ . '/includes/deferred/TransactionRoundDefiningUpdate.php', 'TransformParameterError' => __DIR__ . '/includes/media/MediaTransformOutput.php', 'TransformTooBigImageAreaError' => __DIR__ . '/includes/media/MediaTransformOutput.php', 'TransformationalImageHandler' => __DIR__ . '/includes/media/TransformationalImageHandler.php', @@ -1706,5 +1707,8 @@ $wgAutoloadLocalClasses = [ 'ZhConverter' => __DIR__ . '/languages/classes/LanguageZh.php', 'ZipDirectoryReader' => __DIR__ . '/includes/utils/ZipDirectoryReader.php', 'ZipDirectoryReaderError' => __DIR__ . '/includes/utils/ZipDirectoryReaderError.php', + 'concatenatedgziphistoryblob' => __DIR__ . '/includes/HistoryBlob.php', + 'historyblobcurstub' => __DIR__ . '/includes/HistoryBlob.php', + 'historyblobstub' => __DIR__ . '/includes/HistoryBlob.php', 'profile_point' => __DIR__ . '/profileinfo.php', ]; diff --git a/composer.json b/composer.json index 1de39e4399..a0fe9a2ef8 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ "ext-xml": "*", "liuggio/statsd-php-client": "1.0.18", "mediawiki/at-ease": "1.1.0", - "oojs/oojs-ui": "0.23.3", + "oojs/oojs-ui": "0.24.0", "oyejorge/less.php": "1.7.0.14", "php": ">=5.5.9", "psr/log": "1.0.2", @@ -54,12 +54,12 @@ "jakub-onderka/php-parallel-lint": "0.9.2", "jetbrains/phpstorm-stubs": "dev-master#1b9906084d6635456fcf3f3a01f0d7d5b99a578a", "justinrainbow/json-schema": "~5.2", - "mediawiki/mediawiki-codesniffer": "13.0.0", + "mediawiki/mediawiki-codesniffer": "14.1.0", "monolog/monolog": "~1.22.1", "nikic/php-parser": "2.1.0", "nmred/kafka-php": "0.1.5", "phpunit/phpunit": "4.8.35", - "psy/psysh": "0.8.5", + "psy/psysh": "0.8.11", "wikimedia/avro": "1.7.7", "wikimedia/testing-access-wrapper": "~1.0", "wmde/hamcrest-html-matchers": "^0.1.0" diff --git a/docs/skin.txt b/docs/skin.txt index a3c8c3347a..0b4e0bdac5 100644 --- a/docs/skin.txt +++ b/docs/skin.txt @@ -26,7 +26,7 @@ supporting them became too heavy to bear. Those were: * Nostalgia: A skin which looks like Wikipedia did in its first year (2001). This skin is now used for the old Wikipedia snapshot at - http://nostalgia.wikipedia.org/ + https://nostalgia.wikipedia.org/ * Chick: A lightweight Monobook skin with no sidebar. The sidebar links were given at the bottom of the page instead. diff --git a/includes/CategoryFinder.php b/includes/CategoryFinder.php index 89bf5c7327..2a70f5f3fd 100644 --- a/includes/CategoryFinder.php +++ b/includes/CategoryFinder.php @@ -190,7 +190,7 @@ class CategoryFinder { $layer = []; $res = $this->dbr->select( /* FROM */ 'categorylinks', - /* SELECT */ '*', + /* SELECT */ [ 'cl_to', 'cl_from' ], /* WHERE */ [ 'cl_from' => $this->next ], __METHOD__ . '-1' ); diff --git a/includes/CategoryViewer.php b/includes/CategoryViewer.php index 9d692d71b3..f36c75800b 100644 --- a/includes/CategoryViewer.php +++ b/includes/CategoryViewer.php @@ -629,7 +629,7 @@ class CategoryViewer extends ContextSource { * @return string HTML */ private function pagingLinks( $first, $last, $type = '' ) { - $prevLink = $this->msg( 'prev-page' )->text(); + $prevLink = $this->msg( 'prev-page' )->escaped(); $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer(); if ( $first != '' ) { @@ -638,13 +638,13 @@ class CategoryViewer extends ContextSource { unset( $prevQuery["{$type}from"] ); $prevLink = $linkRenderer->makeKnownLink( $this->addFragmentToTitle( $this->title, $type ), - $prevLink, + new HtmlArmor( $prevLink ), [], $prevQuery ); } - $nextLink = $this->msg( 'next-page' )->text(); + $nextLink = $this->msg( 'next-page' )->escaped(); if ( $last != '' ) { $lastQuery = $this->query; @@ -652,7 +652,7 @@ class CategoryViewer extends ContextSource { unset( $lastQuery["{$type}until"] ); $nextLink = $linkRenderer->makeKnownLink( $this->addFragmentToTitle( $this->title, $type ), - $nextLink, + new HtmlArmor( $nextLink ), [], $lastQuery ); diff --git a/includes/CommentStore.php b/includes/CommentStore.php index b8a31e6f02..0d679d37db 100644 --- a/includes/CommentStore.php +++ b/includes/CommentStore.php @@ -29,10 +29,24 @@ use Wikimedia\Rdbms\IDatabase; */ class CommentStore { - /** Maximum length of a comment. Longer comments will be truncated. */ + /** + * Maximum length of a comment in UTF-8 characters. Longer comments will be truncated. + * @note This must be at least 255 and not greater than floor( MAX_COMMENT_LENGTH / 4 ). + */ + const COMMENT_CHARACTER_LIMIT = 1000; + + /** + * Maximum length of a comment in bytes. Longer comments will be truncated. + * @note This value is determined by the size of the underlying database field, + * currently BLOB in MySQL/MariaDB. + */ const MAX_COMMENT_LENGTH = 65535; - /** Maximum length of serialized data. Longer data will result in an exception. */ + /** + * Maximum length of serialized data in bytes. Longer data will result in an exception. + * @note This value is determined by the size of the underlying database field, + * currently BLOB in MySQL/MariaDB. + */ const MAX_DATA_LENGTH = 65535; /** @@ -371,6 +385,15 @@ class CommentStore { # Truncate comment in a Unicode-sensitive manner $comment->text = $this->lang->truncate( $comment->text, self::MAX_COMMENT_LENGTH ); + if ( mb_strlen( $comment->text, 'UTF-8' ) > self::COMMENT_CHARACTER_LIMIT ) { + $ellipsis = wfMessage( 'ellipsis' )->inLanguage( $this->lang )->escaped(); + if ( mb_strlen( $ellipsis ) >= self::COMMENT_CHARACTER_LIMIT ) { + // WTF? + $ellipsis = '...'; + } + $maxLength = self::COMMENT_CHARACTER_LIMIT - mb_strlen( $ellipsis, 'UTF-8' ); + $comment->text = mb_substr( $comment->text, 0, $maxLength, 'UTF-8' ) . $ellipsis; + } if ( $this->stage > MIGRATION_OLD && !$comment->id ) { $dbData = $comment->data; diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 780976a1c8..c1a518a96c 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -3696,16 +3696,6 @@ $wgResourceLoaderMinifierMaxLineLength = 1000; */ $wgIncludeLegacyJavaScript = false; -/** - * Use jQuery 3 (with jQuery Migrate) instead of jQuery 1. - * - * This is a temporary feature flag for the MediaWiki 1.29 development cycle while - * instabilities with jQuery 3 are being addressed. See T124742. - * - * @deprecated since 1.29 - */ -$wgUsejQueryThree = true; - /** * Whether or not to assign configuration variables to the global window object. * @@ -7953,6 +7943,8 @@ $wgExemptFromUserRobotsControl = null; * machine-readable data via api.php * * See https://www.mediawiki.org/wiki/API + * + * @deprecated since 1.31 */ $wgEnableAPI = true; @@ -7960,6 +7952,8 @@ $wgEnableAPI = true; * Allow the API to be used to perform write operations * (page edits, rollback, etc.) when an authorised user * accesses it + * + * @deprecated since 1.31 */ $wgEnableWriteAPI = true; diff --git a/includes/EditPage.php b/includes/EditPage.php index 3fc12ced8c..bc91623159 100644 --- a/includes/EditPage.php +++ b/includes/EditPage.php @@ -3166,7 +3166,7 @@ class EditPage { */ function getSummaryInputOOUI( $summary = "", $labelText = null, $inputAttrs = null ) { wfDeprecated( __METHOD__, '1.30' ); - $this->getSummaryInputWidget( $summary, $labelText, $inputAttrs ); + return $this->getSummaryInputWidget( $summary, $labelText, $inputAttrs ); } /** diff --git a/includes/FeedUtils.php b/includes/FeedUtils.php index 0def6a0402..b1c3ce615a 100644 --- a/includes/FeedUtils.php +++ b/includes/FeedUtils.php @@ -236,18 +236,18 @@ class FeedUtils { */ public static function applyDiffStyle( $text ) { $styles = [ - 'diff' => 'background-color: white; color:black;', - 'diff-otitle' => 'background-color: white; color:black; text-align: center;', - 'diff-ntitle' => 'background-color: white; color:black; text-align: center;', - 'diff-addedline' => 'color:black; font-size: 88%; border-style: solid; ' + 'diff' => 'background-color: #fff; color: #222;', + 'diff-otitle' => 'background-color: #fff; color: #222; text-align: center;', + 'diff-ntitle' => 'background-color: #fff; color: #222; text-align: center;', + 'diff-addedline' => 'color: #222; font-size: 88%; border-style: solid; ' . 'border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; ' . 'vertical-align: top; white-space: pre-wrap;', - 'diff-deletedline' => 'color:black; font-size: 88%; border-style: solid; ' + 'diff-deletedline' => 'color: #222; font-size: 88%; border-style: solid; ' . 'border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; ' . 'vertical-align: top; white-space: pre-wrap;', - 'diff-context' => 'background-color: #f9f9f9; color: #333333; font-size: 88%; ' + 'diff-context' => 'background-color: #f8f9fa; color: #222; font-size: 88%; ' . 'border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; ' - . 'border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;', + . 'border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;', 'diffchange' => 'font-weight: bold; text-decoration: none;', ]; diff --git a/includes/GitInfo.php b/includes/GitInfo.php index 3c600ed984..8095fd7308 100644 --- a/includes/GitInfo.php +++ b/includes/GitInfo.php @@ -23,6 +23,8 @@ * @file */ +use MediaWiki\Shell\Shell; + class GitInfo { /** @@ -221,13 +223,19 @@ class GitInfo { is_executable( $wgGitBin ) && $this->getHead() !== false ) { - $environment = [ "GIT_DIR" => $this->basedir ]; - $cmd = wfEscapeShellArg( $wgGitBin ) . - " show -s --format=format:%ct HEAD"; - $retc = false; - $commitDate = wfShellExec( $cmd, $retc, $environment ); - if ( $retc === 0 ) { - $date = (int)$commitDate; + $cmd = [ + $wgGitBin, + 'show', + '-s', + '--format=format:%ct', + 'HEAD', + ]; + $result = Shell::command( $cmd ) + ->environment( [ 'GIT_DIR' => $this->basedir ] ) + ->execute(); + + if ( $result->getExitCode() === 0 ) { + $date = (int)$result->getStdout(); } } $this->cache['headCommitDate'] = $date; diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php index 069e1beea4..1cff881c21 100644 --- a/includes/GlobalFunctions.php +++ b/includes/GlobalFunctions.php @@ -2259,6 +2259,7 @@ function wfEscapeShellArg( /*...*/ ) { * @deprecated since 1.30 use MediaWiki\Shell::isDisabled() */ function wfShellExecDisabled() { + wfDeprecated( __FUNCTION__, '1.30' ); return Shell::isDisabled() ? 'disabled' : false; } @@ -2683,6 +2684,7 @@ function wfRelativePath( $path, $from ) { function wfBaseConvert( $input, $sourceBase, $destBase, $pad = 1, $lowercase = true, $engine = 'auto' ) { + wfDeprecated( __FUNCTION__, '1.27' ); return Wikimedia\base_convert( $input, $sourceBase, $destBase, $pad, $lowercase, $engine ); } @@ -3046,6 +3048,8 @@ function wfWaitForSlaves( * Count down from $seconds to zero on the terminal, with a one-second pause * between showing each number. For use in command-line scripts. * + * @deprecated since 1.31, use Maintenance::countDown() + * * @codeCoverageIgnore * @param int $seconds */ @@ -3228,6 +3232,7 @@ function wfGetParserCacheStorage() { * @deprecated since 1.25 - use Hooks::run */ function wfRunHooks( $event, array $args = [], $deprecatedVersion = null ) { + wfDeprecated( __METHOD__, '1.25' ); return Hooks::run( $event, $args, $deprecatedVersion ); } diff --git a/includes/HistoryBlob.php b/includes/HistoryBlob.php index 51bd7a9e94..14d22ec404 100644 --- a/includes/HistoryBlob.php +++ b/includes/HistoryBlob.php @@ -699,3 +699,16 @@ class DiffHistoryBlob implements HistoryBlob { } } + +// @codingStandardsIgnoreStart +if ( false ) { + // Blobs generated by MediaWiki < 1.5 on PHP 4 were serialized with the + // class name coerced to lowercase. We can improve efficiency by adding + // autoload entries for the lowercase variants of these classes (T166759). + // The code below is never executed, but it is picked up by the AutoloadGenerator + // parser, which scans for class_alias() calls. + class_alias( 'ConcatenatedGzipHistoryBlob', 'concatenatedgziphistoryblob' ); + class_alias( 'HistoryBlobCurStub', 'historyblobcurstub' ); + class_alias( 'HistoryBlobStub', 'historyblobstub' ); +} +// @codingStandardsIgnoreEnd diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php index 84fc959fa7..0d010b49d1 100644 --- a/includes/MediaWikiServices.php +++ b/includes/MediaWikiServices.php @@ -10,6 +10,7 @@ use GenderCache; use GlobalVarConfig; use Hooks; use IBufferingStatsdDataFactory; +use MediaWiki\Shell\CommandFactory; use Wikimedia\Rdbms\LBFactory; use LinkCache; use Wikimedia\Rdbms\LoadBalancer; @@ -681,6 +682,14 @@ class MediaWikiServices extends ServiceContainer { return $this->getService( 'ReadOnlyMode' ); } + /** + * @since 1.30 + * @return CommandFactory + */ + public function getShellCommandFactory() { + return $this->getService( 'ShellCommandFactory' ); + } + /////////////////////////////////////////////////////////////////////////// // NOTE: When adding a service getter here, don't forget to add a test // case for it in MediaWikiServicesTest::provideGetters() and in diff --git a/includes/MovePage.php b/includes/MovePage.php index 2f8255ba38..fe8246535f 100644 --- a/includes/MovePage.php +++ b/includes/MovePage.php @@ -310,7 +310,7 @@ class MovePage { # Protect the redirect title as the title used to be... $res = $dbw->select( 'page_restrictions', - '*', + [ 'pr_type', 'pr_level', 'pr_cascade', 'pr_user', 'pr_expiry' ], [ 'pr_page' => $pageid ], __METHOD__, 'FOR UPDATE' diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 20b2c3c32d..7a2b7dfe1a 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -314,15 +314,10 @@ class OutputPage extends ContextSource { * Constructor for OutputPage. This should not be called directly. * Instead a new RequestContext should be created and it will implicitly create * a OutputPage tied to that context. - * @param IContextSource|null $context + * @param IContextSource $context */ - function __construct( IContextSource $context = null ) { - if ( $context === null ) { - # Extensions should use `new RequestContext` instead of `new OutputPage` now. - wfDeprecated( __METHOD__, '1.18' ); - } else { - $this->setContext( $context ); - } + function __construct( IContextSource $context ) { + $this->setContext( $context ); } /** diff --git a/includes/Preferences.php b/includes/Preferences.php index ba90121a83..94854fa23d 100644 --- a/includes/Preferences.php +++ b/includes/Preferences.php @@ -1350,7 +1350,7 @@ class Preferences { * @param IContextSource $context * @param string $formClass * @param array $remove Array of items to remove - * @return PreferencesForm|HtmlForm + * @return PreferencesForm|HTMLForm */ static function getFormObject( $user, diff --git a/includes/Revision.php b/includes/Revision.php index bcfbe638b4..dd3ee782fd 100644 --- a/includes/Revision.php +++ b/includes/Revision.php @@ -571,168 +571,184 @@ class Revision implements IDBAccessObject { * @throws MWException * @access private */ - function __construct( $row ) { + public function __construct( $row ) { if ( is_object( $row ) ) { - $this->mId = intval( $row->rev_id ); - $this->mPage = intval( $row->rev_page ); - $this->mTextId = intval( $row->rev_text_id ); - $this->mComment = CommentStore::newKey( 'rev_comment' ) - // Legacy because $row probably came from self::selectFields() - ->getCommentLegacy( wfGetDB( DB_REPLICA ), $row, true )->text; - $this->mUser = intval( $row->rev_user ); - $this->mMinorEdit = intval( $row->rev_minor_edit ); - $this->mTimestamp = $row->rev_timestamp; - $this->mDeleted = intval( $row->rev_deleted ); - - if ( !isset( $row->rev_parent_id ) ) { - $this->mParentId = null; - } else { - $this->mParentId = intval( $row->rev_parent_id ); - } - - if ( !isset( $row->rev_len ) ) { - $this->mSize = null; - } else { - $this->mSize = intval( $row->rev_len ); - } - - if ( !isset( $row->rev_sha1 ) ) { - $this->mSha1 = null; - } else { - $this->mSha1 = $row->rev_sha1; - } + $this->constructFromDbRowObject( $row ); + } elseif ( is_array( $row ) ) { + $this->constructFromRowArray( $row ); + } else { + throw new MWException( 'Revision constructor passed invalid row format.' ); + } + $this->mUnpatrolled = null; + } - if ( isset( $row->page_latest ) ) { - $this->mCurrent = ( $row->rev_id == $row->page_latest ); - $this->mTitle = Title::newFromRow( $row ); - } else { - $this->mCurrent = false; - $this->mTitle = null; - } + /** + * @param object $row + */ + private function constructFromDbRowObject( $row ) { + $this->mId = intval( $row->rev_id ); + $this->mPage = intval( $row->rev_page ); + $this->mTextId = intval( $row->rev_text_id ); + $this->mComment = CommentStore::newKey( 'rev_comment' ) + // Legacy because $row probably came from self::selectFields() + ->getCommentLegacy( wfGetDB( DB_REPLICA ), $row, true )->text; + $this->mUser = intval( $row->rev_user ); + $this->mMinorEdit = intval( $row->rev_minor_edit ); + $this->mTimestamp = $row->rev_timestamp; + $this->mDeleted = intval( $row->rev_deleted ); + + if ( !isset( $row->rev_parent_id ) ) { + $this->mParentId = null; + } else { + $this->mParentId = intval( $row->rev_parent_id ); + } - if ( !isset( $row->rev_content_model ) ) { - $this->mContentModel = null; # determine on demand if needed - } else { - $this->mContentModel = strval( $row->rev_content_model ); - } + if ( !isset( $row->rev_len ) ) { + $this->mSize = null; + } else { + $this->mSize = intval( $row->rev_len ); + } - if ( !isset( $row->rev_content_format ) ) { - $this->mContentFormat = null; # determine on demand if needed - } else { - $this->mContentFormat = strval( $row->rev_content_format ); - } + if ( !isset( $row->rev_sha1 ) ) { + $this->mSha1 = null; + } else { + $this->mSha1 = $row->rev_sha1; + } - // Lazy extraction... - $this->mText = null; - if ( isset( $row->old_text ) ) { - $this->mTextRow = $row; - } else { - // 'text' table row entry will be lazy-loaded - $this->mTextRow = null; - } + if ( isset( $row->page_latest ) ) { + $this->mCurrent = ( $row->rev_id == $row->page_latest ); + $this->mTitle = Title::newFromRow( $row ); + } else { + $this->mCurrent = false; + $this->mTitle = null; + } - // Use user_name for users and rev_user_text for IPs... - $this->mUserText = null; // lazy load if left null - if ( $this->mUser == 0 ) { - $this->mUserText = $row->rev_user_text; // IP user - } elseif ( isset( $row->user_name ) ) { - $this->mUserText = $row->user_name; // logged-in user - } - $this->mOrigUserText = $row->rev_user_text; - } elseif ( is_array( $row ) ) { - // Build a new revision to be saved... - global $wgUser; // ugh - - # if we have a content object, use it to set the model and type - if ( !empty( $row['content'] ) ) { - // @todo when is that set? test with external store setup! check out insertOn() [dk] - if ( !empty( $row['text_id'] ) ) { - throw new MWException( "Text already stored in external store (id {$row['text_id']}), " . - "can't serialize content object" ); - } + if ( !isset( $row->rev_content_model ) ) { + $this->mContentModel = null; # determine on demand if needed + } else { + $this->mContentModel = strval( $row->rev_content_model ); + } - $row['content_model'] = $row['content']->getModel(); - # note: mContentFormat is initializes later accordingly - # note: content is serialized later in this method! - # also set text to null? - } + if ( !isset( $row->rev_content_format ) ) { + $this->mContentFormat = null; # determine on demand if needed + } else { + $this->mContentFormat = strval( $row->rev_content_format ); + } - $this->mId = isset( $row['id'] ) ? intval( $row['id'] ) : null; - $this->mPage = isset( $row['page'] ) ? intval( $row['page'] ) : null; - $this->mTextId = isset( $row['text_id'] ) ? intval( $row['text_id'] ) : null; - $this->mUserText = isset( $row['user_text'] ) - ? strval( $row['user_text'] ) : $wgUser->getName(); - $this->mUser = isset( $row['user'] ) ? intval( $row['user'] ) : $wgUser->getId(); - $this->mMinorEdit = isset( $row['minor_edit'] ) ? intval( $row['minor_edit'] ) : 0; - $this->mTimestamp = isset( $row['timestamp'] ) - ? strval( $row['timestamp'] ) : wfTimestampNow(); - $this->mDeleted = isset( $row['deleted'] ) ? intval( $row['deleted'] ) : 0; - $this->mSize = isset( $row['len'] ) ? intval( $row['len'] ) : null; - $this->mParentId = isset( $row['parent_id'] ) ? intval( $row['parent_id'] ) : null; - $this->mSha1 = isset( $row['sha1'] ) ? strval( $row['sha1'] ) : null; - - $this->mContentModel = isset( $row['content_model'] ) - ? strval( $row['content_model'] ) : null; - $this->mContentFormat = isset( $row['content_format'] ) - ? strval( $row['content_format'] ) : null; - - // Enforce spacing trimming on supplied text - $this->mComment = isset( $row['comment'] ) ? trim( strval( $row['comment'] ) ) : null; - $this->mText = isset( $row['text'] ) ? rtrim( strval( $row['text'] ) ) : null; + // Lazy extraction... + $this->mText = null; + if ( isset( $row->old_text ) ) { + $this->mTextRow = $row; + } else { + // 'text' table row entry will be lazy-loaded $this->mTextRow = null; + } - $this->mTitle = isset( $row['title'] ) ? $row['title'] : null; - - // if we have a Content object, override mText and mContentModel - if ( !empty( $row['content'] ) ) { - if ( !( $row['content'] instanceof Content ) ) { - throw new MWException( '`content` field must contain a Content object.' ); - } - - $handler = $this->getContentHandler(); - $this->mContent = $row['content']; + // Use user_name for users and rev_user_text for IPs... + $this->mUserText = null; // lazy load if left null + if ( $this->mUser == 0 ) { + $this->mUserText = $row->rev_user_text; // IP user + } elseif ( isset( $row->user_name ) ) { + $this->mUserText = $row->user_name; // logged-in user + } + $this->mOrigUserText = $row->rev_user_text; + } - $this->mContentModel = $this->mContent->getModel(); - $this->mContentHandler = null; + /** + * @param array $row + * + * @throws MWException + */ + private function constructFromRowArray( array $row ) { + // Build a new revision to be saved... + global $wgUser; // ugh - $this->mText = $handler->serializeContent( $row['content'], $this->getContentFormat() ); - } elseif ( $this->mText !== null ) { - $handler = $this->getContentHandler(); - $this->mContent = $handler->unserializeContent( $this->mText ); + # if we have a content object, use it to set the model and type + if ( !empty( $row['content'] ) ) { + if ( !( $row['content'] instanceof Content ) ) { + throw new MWException( '`content` field must contain a Content object.' ); } - // If we have a Title object, make sure it is consistent with mPage. - if ( $this->mTitle && $this->mTitle->exists() ) { - if ( $this->mPage === null ) { - // if the page ID wasn't known, set it now - $this->mPage = $this->mTitle->getArticleID(); - } elseif ( $this->mTitle->getArticleID() !== $this->mPage ) { - // Got different page IDs. This may be legit (e.g. during undeletion), - // but it seems worth mentioning it in the log. - wfDebug( "Page ID " . $this->mPage . " mismatches the ID " . - $this->mTitle->getArticleID() . " provided by the Title object." ); - } + // @todo when is that set? test with external store setup! check out insertOn() [dk] + if ( !empty( $row['text_id'] ) ) { + throw new MWException( "Text already stored in external store (id {$row['text_id']}), " . + "can't serialize content object" ); } - $this->mCurrent = false; + $row['content_model'] = $row['content']->getModel(); + # note: mContentFormat is initializes later accordingly + # note: content is serialized later in this method! + # also set text to null? + } + + $this->mId = isset( $row['id'] ) ? intval( $row['id'] ) : null; + $this->mPage = isset( $row['page'] ) ? intval( $row['page'] ) : null; + $this->mTextId = isset( $row['text_id'] ) ? intval( $row['text_id'] ) : null; + $this->mUserText = isset( $row['user_text'] ) + ? strval( $row['user_text'] ) : $wgUser->getName(); + $this->mUser = isset( $row['user'] ) ? intval( $row['user'] ) : $wgUser->getId(); + $this->mMinorEdit = isset( $row['minor_edit'] ) ? intval( $row['minor_edit'] ) : 0; + $this->mTimestamp = isset( $row['timestamp'] ) + ? strval( $row['timestamp'] ) : wfTimestampNow(); + $this->mDeleted = isset( $row['deleted'] ) ? intval( $row['deleted'] ) : 0; + $this->mSize = isset( $row['len'] ) ? intval( $row['len'] ) : null; + $this->mParentId = isset( $row['parent_id'] ) ? intval( $row['parent_id'] ) : null; + $this->mSha1 = isset( $row['sha1'] ) ? strval( $row['sha1'] ) : null; + + $this->mContentModel = isset( $row['content_model'] ) + ? strval( $row['content_model'] ) : null; + $this->mContentFormat = isset( $row['content_format'] ) + ? strval( $row['content_format'] ) : null; + + // Enforce spacing trimming on supplied text + $this->mComment = isset( $row['comment'] ) ? trim( strval( $row['comment'] ) ) : null; + $this->mText = isset( $row['text'] ) ? rtrim( strval( $row['text'] ) ) : null; + $this->mTextRow = null; + + $this->mTitle = isset( $row['title'] ) ? $row['title'] : null; + + // if we have a Content object, override mText and mContentModel + if ( !empty( $row['content'] ) ) { + $handler = $this->getContentHandler(); + $this->mContent = $row['content']; - // If we still have no length, see it we have the text to figure it out - if ( !$this->mSize && $this->mContent !== null ) { - $this->mSize = $this->mContent->getSize(); - } + $this->mContentModel = $this->mContent->getModel(); + $this->mContentHandler = null; - // Same for sha1 - if ( $this->mSha1 === null ) { - $this->mSha1 = $this->mText === null ? null : self::base36Sha1( $this->mText ); + $this->mText = $handler->serializeContent( $row['content'], $this->getContentFormat() ); + } elseif ( $this->mText !== null ) { + $handler = $this->getContentHandler(); + $this->mContent = $handler->unserializeContent( $this->mText ); + } + + // If we have a Title object, make sure it is consistent with mPage. + if ( $this->mTitle && $this->mTitle->exists() ) { + if ( $this->mPage === null ) { + // if the page ID wasn't known, set it now + $this->mPage = $this->mTitle->getArticleID(); + } elseif ( $this->mTitle->getArticleID() !== $this->mPage ) { + // Got different page IDs. This may be legit (e.g. during undeletion), + // but it seems worth mentioning it in the log. + wfDebug( "Page ID " . $this->mPage . " mismatches the ID " . + $this->mTitle->getArticleID() . " provided by the Title object." ); } + } - // force lazy init - $this->getContentModel(); - $this->getContentFormat(); - } else { - throw new MWException( 'Revision constructor passed invalid row format.' ); + $this->mCurrent = false; + + // If we still have no length, see it we have the text to figure it out + if ( !$this->mSize && $this->mContent !== null ) { + $this->mSize = $this->mContent->getSize(); } - $this->mUnpatrolled = null; + + // Same for sha1 + if ( $this->mSha1 === null ) { + $this->mSha1 = $this->mText === null ? null : self::base36Sha1( $this->mText ); + } + + // force lazy init + $this->getContentModel(); + $this->getContentFormat(); } /** diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index d048007c3a..75ce8eca94 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -41,6 +41,7 @@ use MediaWiki\Interwiki\ClassicInterwikiLookup; use MediaWiki\Linker\LinkRendererFactory; use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; +use MediaWiki\Shell\CommandFactory; return [ 'DBLoadBalancerFactory' => function ( MediaWikiServices $services ) { @@ -428,6 +429,23 @@ return [ ); }, + 'ShellCommandFactory' => function ( MediaWikiServices $services ) { + $config = $services->getMainConfig(); + + $limits = [ + 'time' => $config->get( 'MaxShellTime' ), + 'walltime' => $config->get( 'MaxShellWallClockTime' ), + 'memory' => $config->get( 'MaxShellMemory' ), + 'filesize' => $config->get( 'MaxShellFileSize' ), + ]; + $cgroup = $config->get( 'ShellCgroup' ); + + $factory = new CommandFactory( $limits, $cgroup ); + $factory->setLogger( LoggerFactory::getInstance( 'exec' ) ); + + return $factory; + }, + /////////////////////////////////////////////////////////////////////////// // NOTE: When adding a service here, don't forget to add a getter function // in the MediaWikiServices class. The convenience getter should just call diff --git a/includes/Setup.php b/includes/Setup.php index 68e3d96afe..d4612dd2c6 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -284,7 +284,7 @@ unset( $repo ); // no global pollution; destroy reference // Convert this deprecated setting to modern system if ( $wgExperimentalHtmlIds ) { - $wgFragmentMode = [ 'html5-legacy', 'legacy' ]; + $wgFragmentMode = [ 'html5-legacy', 'html5' ]; } $rcMaxAgeDays = $wgRCMaxAge / ( 3600 * 24 ); diff --git a/includes/Title.php b/includes/Title.php index 3da6ab9552..718239dbeb 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -776,6 +776,7 @@ class Title implements LinkTarget { * @return string Escaped string */ static function escapeFragmentForURL( $fragment ) { + wfDeprecated( __METHOD__, '1.30' ); # Note that we don't urlencode the fragment. urlencoded Unicode # fragments appear not to work in IE (at least up to 7) or in at least # one version of Opera 9.x. The W3C validator, for one, doesn't seem diff --git a/includes/api/ApiMain.php b/includes/api/ApiMain.php index aea441b8aa..edc1a3e7e9 100644 --- a/includes/api/ApiMain.php +++ b/includes/api/ApiMain.php @@ -125,7 +125,6 @@ class ApiMain extends ApiBase { 'none' => 'ApiFormatNone', ]; - // @codingStandardsIgnoreStart String contenation on "msg" not allowed to break long line /** * List of user roles that are specifically relevant to the API. * [ 'right' => [ 'msg' => 'Some message with a $1', @@ -142,7 +141,6 @@ class ApiMain extends ApiBase { 'params' => [ ApiBase::LIMIT_SML2, ApiBase::LIMIT_BIG2 ] ] ]; - // @codingStandardsIgnoreEnd /** * @var ApiFormatBase diff --git a/includes/api/ApiQueryCategories.php b/includes/api/ApiQueryCategories.php index c4428d575a..f728dc5fa8 100644 --- a/includes/api/ApiQueryCategories.php +++ b/includes/api/ApiQueryCategories.php @@ -69,7 +69,7 @@ class ApiQueryCategories extends ApiQueryGeneratorBase { $this->addTables( 'categorylinks' ); $this->addWhereFld( 'cl_from', array_keys( $this->getPageSet()->getGoodTitles() ) ); - if ( !is_null( $params['categories'] ) ) { + if ( $params['categories'] ) { $cats = []; foreach ( $params['categories'] as $cat ) { $title = Title::newFromText( $cat ); @@ -79,6 +79,10 @@ class ApiQueryCategories extends ApiQueryGeneratorBase { $cats[] = $title->getDBkey(); } } + if ( !$cats ) { + // No titles so no results + return; + } $this->addWhereFld( 'cl_to', $cats ); } diff --git a/includes/api/ApiQueryImages.php b/includes/api/ApiQueryImages.php index 0086c58a93..01a54de9e9 100644 --- a/includes/api/ApiQueryImages.php +++ b/includes/api/ApiQueryImages.php @@ -85,7 +85,7 @@ class ApiQueryImages extends ApiQueryGeneratorBase { } $this->addOption( 'LIMIT', $params['limit'] + 1 ); - if ( !is_null( $params['images'] ) ) { + if ( $params['images'] ) { $images = []; foreach ( $params['images'] as $img ) { $title = Title::newFromText( $img ); @@ -95,6 +95,10 @@ class ApiQueryImages extends ApiQueryGeneratorBase { $images[] = $title->getDBkey(); } } + if ( !$images ) { + // No titles so no results + return; + } $this->addWhereFld( 'il_to', $images ); } diff --git a/includes/api/ApiQueryLinks.php b/includes/api/ApiQueryLinks.php index 4b340912e8..508bdf3f9d 100644 --- a/includes/api/ApiQueryLinks.php +++ b/includes/api/ApiQueryLinks.php @@ -87,22 +87,34 @@ class ApiQueryLinks extends ApiQueryGeneratorBase { $this->addTables( $this->table ); $this->addWhereFld( $this->prefix . '_from', array_keys( $this->getPageSet()->getGoodTitles() ) ); - $this->addWhereFld( $this->prefix . '_namespace', $params['namespace'] ); - if ( !is_null( $params[$this->titlesParam] ) ) { + $multiNS = true; + $multiTitle = true; + if ( $params[$this->titlesParam] ) { + // Filter the titles in PHP so our ORDER BY bug avoidance below works right. + $filterNS = $params['namespace'] ? array_flip( $params['namespace'] ) : false; + $lb = new LinkBatch; foreach ( $params[$this->titlesParam] as $t ) { $title = Title::newFromText( $t ); if ( !$title ) { $this->addWarning( [ 'apiwarn-invalidtitle', wfEscapeWikiText( $t ) ] ); - } else { + } elseif ( !$filterNS || isset( $filterNS[$title->getNamespace()] ) ) { $lb->addObj( $title ); } } $cond = $lb->constructSet( $this->prefix, $this->getDB() ); if ( $cond ) { $this->addWhere( $cond ); + $multiNS = count( $lb->data ) !== 1; + $multiTitle = count( call_user_func_array( 'array_merge', $lb->data ) ) !== 1; + } else { + // No titles so no results + return; } + } elseif ( $params['namespace'] ) { + $this->addWhereFld( $this->prefix . '_namespace', $params['namespace'] ); + $multiNS = count( $params['namespace'] ) !== 1; } if ( !is_null( $params['continue'] ) ) { @@ -131,12 +143,15 @@ class ApiQueryLinks extends ApiQueryGeneratorBase { if ( count( $this->getPageSet()->getGoodTitles() ) != 1 ) { $order[] = $this->prefix . '_from' . $sort; } - if ( count( $params['namespace'] ) != 1 ) { + if ( $multiNS ) { $order[] = $this->prefix . '_namespace' . $sort; } - - $order[] = $this->prefix . '_title' . $sort; - $this->addOption( 'ORDER BY', $order ); + if ( $multiTitle ) { + $order[] = $this->prefix . '_title' . $sort; + } + if ( $order ) { + $this->addOption( 'ORDER BY', $order ); + } $this->addOption( 'LIMIT', $params['limit'] + 1 ); $res = $this->select( __METHOD__ ); diff --git a/includes/api/i18n/gl.json b/includes/api/i18n/gl.json index 8e978b2f91..aa21cd701d 100644 --- a/includes/api/i18n/gl.json +++ b/includes/api/i18n/gl.json @@ -11,10 +11,11 @@ "Amire80", "Macofe", "Hamilton Abreu", - "Umherirrender" + "Umherirrender", + "Fitoschido" ] }, - "apihelp-main-extended-description": "
\n* [[mw:Special:MyLanguage/API:Main_page|Documentación]]\n* [[mw:Special:MyLanguage/API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de discusión]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anuncios da API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Erros e solicitudes]\n
\nEstado: Tódalas funcionalidades mostradas nesta páxina deberían estar funcionanado, pero a API aínda está desenrolo, e pode ser modificada en calquera momento. Apúntese na [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ lista de discusión mediawiki-api-announce] para estar informado acerca das actualizacións.\n\nSolicitudes incorrectas: Cando se envían solicitudes incorrectas á API, envíase unha cabeceira HTTP coa chave \"MediaWiki-API-Error\" e, a seguir, tanto o valor da cabeceira como o código de erro retornado serán definidos co mesmo valor. Para máis información, consulte [[mw:Special:MyLanguage/API:Errors_and_warnings|API: Erros e avisos]].\n\nTest: Para facilitar as probas das peticións da API, consulte [[Special:ApiSandbox]].", + "apihelp-main-extended-description": "
\n* [[mw:Special:MyLanguage/API:Main_page|Documentación]]\n* [[mw:Special:MyLanguage/API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de discusión]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anuncios da API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Erros e solicitudes]\n
\nEstado: Tódalas funcionalidades mostradas nesta páxina deberían estar funcionando, pero a API aínda está desenrolo, e pode ser modificada en calquera momento. Apúntese na [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ lista de discusión mediawiki-api-announce] para estar informado acerca das actualizacións.\n\nSolicitudes incorrectas: Cando se envían solicitudes incorrectas á API, envíase unha cabeceira HTTP coa chave \"MediaWiki-API-Error\" e, a seguir, tanto o valor da cabeceira como o código de erro retornado serán definidos co mesmo valor. Para máis información, consulte [[mw:Special:MyLanguage/API:Errors_and_warnings|API: Erros e avisos]].\n\nTest: Para facilitar as probas das peticións da API, consulte [[Special:ApiSandbox]].", "apihelp-main-param-action": "Que acción se realizará.", "apihelp-main-param-format": "O formato de saída.", "apihelp-main-param-maxlag": "O retardo máximo pode usarse cando MediaWiki está instalada nun cluster de base de datos replicadas. Para gardar accións que causen calquera retardo máis de replicación do sitio, este parámetro pode facer que o cliente espere ata que o retardo de replicación sexa menor que o valor especificado. No caso de retardo excesivo, é devolto o código de erro maxlag cunha mensaxe como esperando por $host: $lag segundos de retardo.
Para máis información, ver [[mw:Special:MyLanguage/Manual:Maxlag_parameter|Manual: Maxlag parameter]].", diff --git a/includes/api/i18n/ko.json b/includes/api/i18n/ko.json index df5a1ecf5e..0410ddf79b 100644 --- a/includes/api/i18n/ko.json +++ b/includes/api/i18n/ko.json @@ -208,11 +208,19 @@ "apihelp-opensearch-param-limit": "반환할 결과의 최대 수", "apihelp-opensearch-param-namespace": "검색할 이름공간.", "apihelp-opensearch-param-suggest": "[[mw:Special:MyLanguage/Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]이 거짓인 경우 아무 것도 하지 않습니다.", + "apihelp-opensearch-param-redirects": "넘겨주기 관리 방법:\n;return:넘겨주기 자체를 반환합니다.\n;resolve:대상 문서를 반환합니다. $1제한 미만의 결과를 반환할 수 있습니다.\n역사적인 이유로 기본값은 $1format=json의 경우 \"return\"이며, 그 밖의 포맷의 경우 \"resolve\"입니다.", "apihelp-opensearch-param-format": "출력 포맷.", + "apihelp-opensearch-param-warningsaserror": "format=json을 사용 시 경고가 발생할 경우, 이를 무시하지 않고 API 오류를 반환합니다.", "apihelp-opensearch-example-te": "Te로 시작하는 문서를 찾기.", "apihelp-options-summary": "현재 사용자의 환경 설정을 변경합니다.", - "apihelp-options-param-reset": "사이트 기본으로 설정 초기화", - "apihelp-options-example-reset": "모든 설정 초기화", + "apihelp-options-extended-description": "핵심 확장 기능 기능이나 설치된 확장 기능 중 하나에 등록된 옵션 또는 userjs-(사용자 스크립트에 의해 사용됨)로 시작하는 키를 가진 옵션만 설정할 수 있습니다.", + "apihelp-options-param-reset": "사이트 기본값으로 환경 설정을 초기화합니다.", + "apihelp-options-param-resetkinds": "$1reset 옵션을 설정할 때 초기화할 옵션의 유형 목록입니다.", + "apihelp-options-param-optionname": "$1optionvalue에 의해 지정된 값으로 설정할 옵션의 이름입니다.", + "apihelp-options-param-optionvalue": "$1optionname에 의해 지정된 옵션의 값입니다.", + "apihelp-options-example-reset": "모든 환경 설정을 초기화합니다.", + "apihelp-options-example-change": "skin과 hideminor 환경 설정을 변경합니다.", + "apihelp-options-example-complex": "모든 환경 설정을 초기화하고 skin과 nickname을 설정합니다.", "apihelp-paraminfo-summary": "API 모듈의 정보를 가져옵니다.", "apihelp-paraminfo-param-helpformat": "도움말 문자열 포맷.", "apihelp-parse-summary": "내용의 구문을 분석하고 파서 출력을 반환합니다.", @@ -718,6 +726,7 @@ "api-help-param-multi-separate": "| 또는 [[Special:ApiHelp/main#main/datatypes|대안]]으로 값을 구분합니다.", "api-help-param-multi-max": "값들의 최대 수는 {{PLURAL:$1|$1}}입니다. (봇의 경우 {{PLURAL:$2|$2}})", "api-help-param-multi-max-simple": "값의 최대 수는 {{PLURAL:$1|$1}}입니다.", + "api-help-param-multi-all": "모든 값을 지정하려면, $1를 사용하십시오.", "api-help-param-default": "기본값: $1", "api-help-param-default-empty": "기본값: (비어 있음)", "api-help-param-token": "\"$1\" 토큰은 [[Special:ApiHelp/query+tokens|action=query&meta=tokens]]에서 가져옵니다", diff --git a/includes/api/i18n/uk.json b/includes/api/i18n/uk.json index 2fcd915ecb..ca0b0a89bc 100644 --- a/includes/api/i18n/uk.json +++ b/includes/api/i18n/uk.json @@ -12,7 +12,8 @@ "Andriykopanytsia", "Максим Підліснюк", "AS", - "Umherirrender" + "Umherirrender", + "Choomaq" ] }, "apihelp-main-extended-description": "
\n* [[mw:Special:MyLanguage/API:Main_page|Документація]]\n* [[mw:Special:MyLanguage/API:FAQ|ЧаПи]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Список розсилки]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Оголошення API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Баґи і запити]\n
\nСтатус: Усі функції, вказані на цій сторінці, мають працювати, але API далі перебуває в активній розробці і може змінитися у будь-який момент. Підпишіться на [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ список розсилки mediawiki-api-announce], щоб помічати оновлення.\n\nХибні запити: Коли до API надсилаються хибні запити, буде відіслано HTTP-шапку з ключем «MediaWiki-API-Error», а тоді і значення шапки, і код помилки, надіслані назад, будуть встановлені з тим же значенням. Більше інформації див. на [[mw:Special:MyLanguage/API:Errors_and_warnings|API: Errors and warnings]].\n\nТестування: Для зручності тестування запитів API, див. [[Special:ApiSandbox]].", @@ -1341,8 +1342,8 @@ "apihelp-tokens-summary": "Отримати жетони для дій пов'язаних зі зміною даних.", "apihelp-tokens-extended-description": "Цей модуль застарів на користь [[Special:ApiHelp/query+tokens|action=query&meta=tokens]].", "apihelp-tokens-param-type": "Які типи жетонів запитати.", - "apihelp-tokens-example-edit": "Отримати жетон редагування (за замовчуванням).", - "apihelp-tokens-example-emailmove": "Отримати жетон електронної пошти та жетон перейменування.", + "apihelp-tokens-example-edit": "Отримати токен редагування (за замовчуванням).", + "apihelp-tokens-example-emailmove": "Отримати токен електронної пошти та токен перейменування.", "apihelp-unblock-summary": "Розблокувати користувача.", "apihelp-unblock-param-id": "Ідентифікатор блоку чи розблокування (отриманий через list=blocks). Не може бути використано разом із $1user або $1userid.", "apihelp-unblock-param-user": "Ім'я користувача, IP-адреса чи IP-діапазон до розблокування. Не може бути використано разом із $1id або $1userid.", diff --git a/includes/api/i18n/zh-hans.json b/includes/api/i18n/zh-hans.json index 5daadb1c2c..0084717132 100644 --- a/includes/api/i18n/zh-hans.json +++ b/includes/api/i18n/zh-hans.json @@ -22,7 +22,8 @@ "損齋", "Myy730", "D41D8CD98F", - "Umherirrender" + "Umherirrender", + "NeverBehave" ] }, "apihelp-main-extended-description": "
\n* [[mw:Special:MyLanguage/API:Main_page|文档]]\n* [[mw:Special:MyLanguage/API:FAQ|常见问题]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api 邮件列表]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API公告]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R 程序错误与功能请求]\n
\n状态信息:本页所展示的所有特性都应正常工作,但是API仍在开发当中,将会随时变化。请订阅[https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ mediawiki-api-announce 邮件列表]以便获得更新通知。\n\n错误请求:当API收到错误请求时,HTTP header将会返回一个包含\"MediaWiki-API-Error\"的值,随后header的值与error code将会送回并设置为相同的值。详细信息请参阅[[mw:Special:MyLanguage/API:Errors_and_warnings|API:错误与警告]]。\n\n测试中:测试API请求的易用性,请参见[[Special:ApiSandbox]]。", @@ -1736,7 +1737,7 @@ "apiwarn-notfile": "“$1”不是文件。", "apiwarn-nothumb-noimagehandler": "不能创建缩略图,因为$1没有关联的图片处理器。", "apiwarn-parse-nocontentmodel": "title或contentmodel未提供,假设$1。", - "apiwarn-parse-revidwithouttext": "revid在没有text的情况下被使用,并且请求了已解析页面的属性。您是想用oldid而不是revid么?", + "apiwarn-parse-revidwithouttext": "revid在没有text的情况下被使用,并且请求了已解析的页面属性。您是想用oldid而不是revid么?", "apiwarn-parse-titlewithouttext": "title在没有text的情况下被使用,并且请求了已解析页面的属性。您是想用page而不是title么?", "apiwarn-redirectsandrevids": "重定向解决方案不能与revids参数一起使用。任何revids所指向的重定向都未被解决。", "apiwarn-tokennotallowed": "操作“$1”不允许当前用户使用。", diff --git a/includes/api/i18n/zh-hant.json b/includes/api/i18n/zh-hant.json index ecdf37d3fb..ea5f2dd98e 100644 --- a/includes/api/i18n/zh-hant.json +++ b/includes/api/i18n/zh-hant.json @@ -13,7 +13,8 @@ "烈羽", "Corainn", "A2093064", - "Wwycheuk" + "Wwycheuk", + "Wbxshiori" ] }, "apihelp-main-extended-description": "
\n* [[mw:Special:MyLanguage/API:Main_page|說明文件]]\n* [[mw:Special:MyLanguage/API:FAQ|常見問題]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api 郵遞清單]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API公告]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R 報告錯誤及請求功能]\n
\n狀態資訊:本頁所展示的所有功能都應正常運作,但API仍在開發,會隨時變化。請訂閱[https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ mediawiki-api-announce 郵遞清單]以便獲得更新通知。\n\n錯誤的請求:當API收到錯誤的請求,會發出以「MediaWiki-API-Error」為鍵的HTTP標頭欄位,隨後標頭欄位的值,以及傳回的錯誤碼會設為相同值。詳細資訊請參閱[[mw:Special:MyLanguage/API:Errors_and_warnings|API: 錯誤與警告]]。\n\n測試:要簡化API請求的測試過程,請見[[Special:ApiSandbox]]。", @@ -185,6 +186,13 @@ "apihelp-protect-param-protections": "保護層級清單,格式為 action=level (例如 edit=sysop)。all 層級代表所有人都可以進行行動,亦即無限制。\n\n注意:未列入清單項目的限制皆會移除。", "apihelp-protect-param-expiry": "期限時間戳記,若只設定一個時間戳記,該時間戳記將會套用至所有的保護層級。 使用 infinite、indefinite、infinity 或 never 來設定保護層級期限為永遠。", "apihelp-protect-param-reason": "(解除)保護的原因。", + "apihelp-protect-param-tags": "修改標籤以套用於保護日誌裡的項目。", + "apihelp-protect-param-cascade": "啟用連鎖保護(也就是保護包含於此頁面的頁面)。如果所有提供的保護等級不支援連鎖,就將其忽略。", + "apihelp-protect-param-watch": "如果被設定,就將被(解除)保護的頁面加至目前使用者的監視列表。", + "apihelp-protect-param-watchlist": "無條件地將該頁面加入至或移除自目前使用者的監視列表、使用偏好設定或不更改監視。", + "apihelp-protect-example-protect": "保護一個頁面。", + "apihelp-purge-summary": "為指定標題清除快取。", + "apihelp-purge-example-generator": "重新整理主要命名空間的前10個頁面。", "apihelp-query-summary": "擷取來自及有關MediaWiki的數據。", "apihelp-query+allcategories-param-limit": "要回傳的分類數量。", "apihelp-query+allfileusages-param-limit": "要回傳的項目總數。", @@ -311,6 +319,7 @@ "apierror-permissiondenied": "您沒有權限$1。", "apierror-reauthenticate": "於本工作階段還未核對身分,請重新核對。", "apierror-timeout": "伺服器未有在預計的時間內回應。", + "api-feed-error-title": "錯誤($1)", "api-credits-header": "製作群", "api-credits": "API 開發人員:\n* Roan Kattouw (首席開發者 Sep 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (創立者,首席開發者 Sep 2006–Sep 2007)\n* Brad Jorsch (首席開發者 2013–present)\n\n請傳送您的評論、建議以及問題至 mediawiki-api@lists.wikimedia.org\n或者回報問題至 https://phabricator.wikimedia.org/。" } diff --git a/includes/changes/ChangesListBooleanFilterGroup.php b/includes/changes/ChangesListBooleanFilterGroup.php index 0622211f0a..7bab97bac2 100644 --- a/includes/changes/ChangesListBooleanFilterGroup.php +++ b/includes/changes/ChangesListBooleanFilterGroup.php @@ -1,5 +1,7 @@ getFilters() as $filter ) { + if ( $filter->isActive( $opts, $isStructuredFiltersEnabled ) ) { + $filter->modifyQuery( $dbr, $specialPage, $tables, $fields, $conds, + $query_options, $join_conds ); + } + } + } + + /** + * @inheritDoc + */ + public function addOptions( FormOptions $opts, $allowDefaults, $isStructuredFiltersEnabled ) { + /** @var ChangesListBooleanFilter $filter */ + foreach ( $this->getFilters() as $filter ) { + $defaultValue = $allowDefaults ? $filter->getDefault( $isStructuredFiltersEnabled ) : false; + $opts->add( $filter->getName(), $defaultValue ); + } } } diff --git a/includes/changes/ChangesListFilterGroup.php b/includes/changes/ChangesListFilterGroup.php index e9140da209..48c6e840a0 100644 --- a/includes/changes/ChangesListFilterGroup.php +++ b/includes/changes/ChangesListFilterGroup.php @@ -27,6 +27,8 @@ // What to call it. FilterStructure? That would also let me make // setUnidirectionalConflict protected. +use Wikimedia\Rdbms\IDatabase; + /** * Represents a filter group (used on ChangesListSpecialPage and descendants) * @@ -326,14 +328,6 @@ abstract class ChangesListFilterGroup { return isset( $this->filters[$name] ) ? $this->filters[$name] : null; } - /** - * Check whether the URL parameter is for the group, or for individual filters. - * Defaults can also be defined on the group if and only if this is true. - * - * @return bool True if and only if the URL parameter is per-group - */ - abstract public function isPerGroupRequestParameter(); - /** * Gets the JS data in the format required by the front-end of the structured UI * @@ -449,4 +443,34 @@ abstract class ChangesListFilterGroup { } ) ); } + + /** + * Modifies the query to include the filter group. + * + * The modification is only done if the filter group is in effect. This means that + * one or more valid and allowed filters were selected. + * + * @param IDatabase $dbr Database, for addQuotes, makeList, and similar + * @param ChangesListSpecialPage $specialPage Current special page + * @param array &$tables Array of tables; see IDatabase::select $table + * @param array &$fields Array of fields; see IDatabase::select $vars + * @param array &$conds Array of conditions; see IDatabase::select $conds + * @param array &$query_options Array of query options; see IDatabase::select $options + * @param array &$join_conds Array of join conditions; see IDatabase::select $join_conds + * @param FormOptions $opts Wrapper for the current request options and their defaults + * @param bool $isStructuredFiltersEnabled True if the Structured UI is currently enabled + */ + abstract public function modifyQuery( IDatabase $dbr, ChangesListSpecialPage $specialPage, + &$tables, &$fields, &$conds, &$query_options, &$join_conds, + FormOptions $opts, $isStructuredFiltersEnabled ); + + /** + * All the options represented by this filter group to $opts + * + * @param FormOptions $opts + * @param bool $allowDefaults + * @param bool $isStructuredFiltersEnabled + */ + abstract public function addOptions( FormOptions $opts, $allowDefaults, + $isStructuredFiltersEnabled ); } diff --git a/includes/changes/ChangesListStringOptionsFilterGroup.php b/includes/changes/ChangesListStringOptionsFilterGroup.php index 59efd82bca..653344a983 100644 --- a/includes/changes/ChangesListStringOptionsFilterGroup.php +++ b/includes/changes/ChangesListStringOptionsFilterGroup.php @@ -35,7 +35,6 @@ use Wikimedia\Rdbms\IDatabase; * * @since 1.29 */ - class ChangesListStringOptionsFilterGroup extends ChangesListFilterGroup { /** * Type marker, used by JavaScript @@ -128,13 +127,6 @@ class ChangesListStringOptionsFilterGroup extends ChangesListFilterGroup { } } - /** - * @inheritDoc - */ - public function isPerGroupRequestParameter() { - return true; - } - /** * Sets default of filter group. * @@ -170,23 +162,17 @@ class ChangesListStringOptionsFilterGroup extends ChangesListFilterGroup { } /** - * Modifies the query to include the filter group. - * - * The modification is only done if the filter group is in effect. This means that - * one or more valid and allowed filters were selected. - * - * @param IDatabase $dbr Database, for addQuotes, makeList, and similar - * @param ChangesListSpecialPage $specialPage Current special page - * @param array &$tables Array of tables; see IDatabase::select $table - * @param array &$fields Array of fields; see IDatabase::select $vars - * @param array &$conds Array of conditions; see IDatabase::select $conds - * @param array &$query_options Array of query options; see IDatabase::select $options - * @param array &$join_conds Array of join conditions; see IDatabase::select $join_conds - * @param string $value URL parameter value + * @inheritDoc */ public function modifyQuery( IDatabase $dbr, ChangesListSpecialPage $specialPage, - &$tables, &$fields, &$conds, &$query_options, &$join_conds, $value + &$tables, &$fields, &$conds, &$query_options, &$join_conds, + FormOptions $opts, $isStructuredFiltersEnabled ) { + if ( !$this->isActive( $isStructuredFiltersEnabled ) ) { + return; + } + + $value = $opts[ $this->getName() ]; $allowedFilterNames = []; foreach ( $this->filters as $filter ) { $allowedFilterNames[] = $filter->getName(); @@ -242,4 +228,21 @@ class ChangesListStringOptionsFilterGroup extends ChangesListFilterGroup { return $output; } + + /** + * @inheritDoc + */ + public function addOptions( FormOptions $opts, $allowDefaults, $isStructuredFiltersEnabled ) { + $opts->add( $this->getName(), $allowDefaults ? $this->getDefault() : '' ); + } + + /** + * Check if this filter group is currently active + * + * @param {boolean} $isStructuredUI Is structured filters UI current enabled + */ + private function isActive( $isStructuredUI ) { + // STRING_OPTIONS filter groups are exclusively active on Structured UI + return $isStructuredUI; + } } diff --git a/includes/content/TextContent.php b/includes/content/TextContent.php index 5f585bc98a..e5a9f90d16 100644 --- a/includes/content/TextContent.php +++ b/includes/content/TextContent.php @@ -34,6 +34,11 @@ */ class TextContent extends AbstractContent { + /** + * @var string + */ + protected $mText; + /** * @param string $text * @param string $model_id diff --git a/includes/deferred/DeferredUpdates.php b/includes/deferred/DeferredUpdates.php index e8e250b551..3c4833c7f0 100644 --- a/includes/deferred/DeferredUpdates.php +++ b/includes/deferred/DeferredUpdates.php @@ -250,6 +250,8 @@ class DeferredUpdates { // Run only the job enqueue logic to complete the update later $spec = $update->getAsJobSpecification(); JobQueueGroup::singleton( $spec['wiki'] )->push( $spec['job'] ); + } elseif ( $update instanceof TransactionRoundDefiningUpdate ) { + $update->doUpdate(); } else { // Run the bulk of the update now $fnameTrxOwner = get_class( $update ) . '::doUpdate'; diff --git a/includes/deferred/MergeableUpdate.php b/includes/deferred/MergeableUpdate.php index 70760ce49c..8eeef13bbe 100644 --- a/includes/deferred/MergeableUpdate.php +++ b/includes/deferred/MergeableUpdate.php @@ -6,7 +6,7 @@ * * @since 1.27 */ -interface MergeableUpdate { +interface MergeableUpdate extends DeferrableUpdate { /** * Merge this update with $update * diff --git a/includes/deferred/TransactionRoundDefiningUpdate.php b/includes/deferred/TransactionRoundDefiningUpdate.php new file mode 100644 index 0000000000..65baec5d51 --- /dev/null +++ b/includes/deferred/TransactionRoundDefiningUpdate.php @@ -0,0 +1,31 @@ +callback = $callback; + $this->fname = $fname; + } + + public function doUpdate() { + call_user_func( $this->callback ); + } + + public function getOrigin() { + return $this->fname; + } +} diff --git a/includes/diff/DifferenceEngine.php b/includes/diff/DifferenceEngine.php index a9d6ad69d4..ef67477c66 100644 --- a/includes/diff/DifferenceEngine.php +++ b/includes/diff/DifferenceEngine.php @@ -21,6 +21,7 @@ * @ingroup DifferenceEngine */ use MediaWiki\MediaWikiServices; +use MediaWiki\Shell\Shell; /** @deprecated use class constant instead */ define( 'MW_DIFF_VERSION', '1.11a' ); @@ -604,14 +605,15 @@ class DifferenceEngine extends ContextSource { $out->addHTML( "

{$revHeader}

\n" ); # Page content may be handled by a hooked call instead... - # @codingStandardsIgnoreStart Ignoring long lines. if ( Hooks::run( 'ArticleContentOnDiff', [ $this, $out ] ) ) { $this->loadNewText(); $out->setRevisionId( $this->mNewid ); $out->setRevisionTimestamp( $this->mNewRev->getTimestamp() ); $out->setArticleFlag( true ); - if ( !Hooks::run( 'ArticleContentViewCustom', [ $this->mNewContent, $this->mNewPage, $out ] ) ) { + if ( !Hooks::run( 'ArticleContentViewCustom', + [ $this->mNewContent, $this->mNewPage, $out ] ) + ) { // Handled by extension } else { // Normal page @@ -630,13 +632,14 @@ class DifferenceEngine extends ContextSource { # WikiPage::getParserOutput() should not return false, but just in case if ( $parserOutput ) { // Allow extensions to change parser output here - if ( Hooks::run( 'DifferenceEngineRenderRevisionAddParserOutput', [ $this, $out, $parserOutput, $wikiPage ] ) ) { + if ( Hooks::run( 'DifferenceEngineRenderRevisionAddParserOutput', + [ $this, $out, $parserOutput, $wikiPage ] ) + ) { $out->addParserOutput( $parserOutput ); } } } } - # @codingStandardsIgnoreEnd // Allow extensions to optionally not show the final patrolled link if ( Hooks::run( 'DifferenceEngineRenderRevisionShowFinalPatrolLink' ) ) { @@ -966,8 +969,16 @@ class DifferenceEngine extends ContextSource { fwrite( $tempFile2, $ntext ); fclose( $tempFile1 ); fclose( $tempFile2 ); - $cmd = wfEscapeShellArg( $wgExternalDiffEngine, $tempName1, $tempName2 ); - $difftext = wfShellExec( $cmd ); + $cmd = [ $wgExternalDiffEngine, $tempName1, $tempName2 ]; + $result = Shell::command( $cmd ) + ->execute(); + $exitCode = $result->getExitCode(); + if ( $exitCode !== 0 ) { + throw new Exception( "External diff command returned code {$exitCode}. Stderr: " + . wfEscapeWikiText( $result->getStderr() ) + ); + } + $difftext = $result->getStdout(); $difftext .= $this->debug( "external $wgExternalDiffEngine" ); unlink( $tempName1 ); unlink( $tempName2 ); diff --git a/includes/filerepo/file/LocalFile.php b/includes/filerepo/file/LocalFile.php index 410a794cc4..a36bec3cda 100644 --- a/includes/filerepo/file/LocalFile.php +++ b/includes/filerepo/file/LocalFile.php @@ -2463,7 +2463,7 @@ class LocalFileDeleteBatch { } function doDBDeletes() { - global $wgUpdateCompatibleMetadata; + global $wgCommentTableSchemaMigrationStage; $dbw = $this->file->repo->getMasterDB(); list( $oldRels, $deleteCurrent ) = $this->getOldRels(); @@ -2478,7 +2478,7 @@ class LocalFileDeleteBatch { if ( $deleteCurrent ) { $dbw->delete( 'image', [ 'img_name' => $this->file->getName() ], __METHOD__ ); - if ( $wgUpdateCompatibleMetadata > MIGRATION_OLD ) { + if ( $wgCommentTableSchemaMigrationStage > MIGRATION_OLD ) { $dbw->delete( 'image_comment_temp', [ 'imgcomment_name' => $this->file->getName() ], __METHOD__ ); diff --git a/includes/htmlform/fields/HTMLSelectAndOtherField.php b/includes/htmlform/fields/HTMLSelectAndOtherField.php index 910a053065..cdb8f5b909 100644 --- a/includes/htmlform/fields/HTMLSelectAndOtherField.php +++ b/includes/htmlform/fields/HTMLSelectAndOtherField.php @@ -126,7 +126,7 @@ class HTMLSelectAndOtherField extends HTMLSelectField { } public function getInputWidget( $params ) { - return new Mediawiki\Widget\SelectWithInputWidget( $params ); + return new MediaWiki\Widget\SelectWithInputWidget( $params ); } /** diff --git a/includes/htmlform/fields/HTMLSelectOrOtherField.php b/includes/htmlform/fields/HTMLSelectOrOtherField.php index f6c0b07102..fb133f20e5 100644 --- a/includes/htmlform/fields/HTMLSelectOrOtherField.php +++ b/includes/htmlform/fields/HTMLSelectOrOtherField.php @@ -136,7 +136,7 @@ class HTMLSelectOrOtherField extends HTMLTextField { } public function getInputWidget( $params ) { - return new Mediawiki\Widget\SelectWithInputWidget( $params ); + return new MediaWiki\Widget\SelectWithInputWidget( $params ); } /** diff --git a/includes/htmlform/fields/HTMLTextAreaField.php b/includes/htmlform/fields/HTMLTextAreaField.php index 480c5bb926..e6963d5cde 100644 --- a/includes/htmlform/fields/HTMLTextAreaField.php +++ b/includes/htmlform/fields/HTMLTextAreaField.php @@ -92,10 +92,9 @@ class HTMLTextAreaField extends HTMLFormField { $this->getAttributes( $allowedParams ) ); - return new OOUI\TextInputWidget( [ + return new OOUI\MultilineTextInputWidget( [ 'id' => $this->mID, 'name' => $this->mName, - 'multiline' => true, 'value' => $value, 'rows' => $this->getRows(), ] + $attribs ); diff --git a/includes/http/PhpHttpRequest.php b/includes/http/PhpHttpRequest.php index 0c5d162345..0636314577 100644 --- a/includes/http/PhpHttpRequest.php +++ b/includes/http/PhpHttpRequest.php @@ -47,13 +47,11 @@ class PhpHttpRequest extends MWHttpRequest { if ( $this->caInfo ) { $certLocations = [ 'manual' => $this->caInfo ]; } elseif ( version_compare( PHP_VERSION, '5.6.0', '<' ) ) { - // @codingStandardsIgnoreStart Generic.Files.LineLength // Default locations, based on // https://www.happyassassin.net/2015/01/12/a-note-about-ssltls-trusted-certificate-stores-and-platforms/ // PHP 5.5 and older doesn't have any defaults, so we try to guess ourselves. // PHP 5.6+ gets the CA location from OpenSSL as long as it is not set manually, // so we should leave capath/cafile empty there. - // @codingStandardsIgnoreEnd $certLocations = array_filter( [ getenv( 'SSL_CERT_DIR' ), getenv( 'SSL_CERT_PATH' ), diff --git a/includes/installer/DatabaseInstaller.php b/includes/installer/DatabaseInstaller.php index 6c56b3d430..62acebf382 100644 --- a/includes/installer/DatabaseInstaller.php +++ b/includes/installer/DatabaseInstaller.php @@ -41,6 +41,16 @@ abstract class DatabaseInstaller { */ public $parent; + /** + * @var string Set by subclasses + */ + public static $minimumVersion; + + /** + * @var string Set by subclasses + */ + protected static $notMiniumumVerisonMessage; + /** * The database connection. * @@ -62,6 +72,23 @@ abstract class DatabaseInstaller { */ protected $globalNames = []; + /** + * Whether the provided version meets the necessary requirements for this type + * + * @param string $serverVersion Output of Database::getServerVersion() + * @return Status + * @since 1.30 + */ + public static function meetsMinimumRequirement( $serverVersion ) { + if ( version_compare( $serverVersion, static::$minimumVersion ) < 0 ) { + return Status::newFatal( + static::$notMiniumumVerisonMessage, static::$minimumVersion, $serverVersion + ); + } + + return Status::newGood(); + } + /** * Return the internal name, e.g. 'mysql', or 'sqlite'. */ @@ -697,7 +724,7 @@ abstract class DatabaseInstaller { } $this->db->selectDB( $this->getVar( 'wgDBname' ) ); - if ( $this->db->selectRow( 'interwiki', '*', [], __METHOD__ ) ) { + if ( $this->db->selectRow( 'interwiki', '1', [], __METHOD__ ) ) { $status->warning( 'config-install-interwiki-exists' ); return $status; diff --git a/includes/installer/Installer.php b/includes/installer/Installer.php index 52be321f69..012b477578 100644 --- a/includes/installer/Installer.php +++ b/includes/installer/Installer.php @@ -546,6 +546,17 @@ abstract class Installer { return $this->compiledDBs; } + /** + * Get the DatabaseInstaller class name for this type + * + * @param string $type database type ($wgDBtype) + * @return string Class name + * @since 1.30 + */ + public static function getDBInstallerClass( $type ) { + return ucfirst( $type ) . 'Installer'; + } + /** * Get an instance of DatabaseInstaller for the specified DB type. * @@ -561,7 +572,7 @@ abstract class Installer { $type = strtolower( $type ); if ( !isset( $this->dbInstallers[$type] ) ) { - $class = ucfirst( $type ) . 'Installer'; + $class = self::getDBInstallerClass( $type ); $this->dbInstallers[$type] = new $class( $this ); } diff --git a/includes/installer/MssqlInstaller.php b/includes/installer/MssqlInstaller.php index d01f954632..e462220785 100644 --- a/includes/installer/MssqlInstaller.php +++ b/includes/installer/MssqlInstaller.php @@ -51,7 +51,8 @@ class MssqlInstaller extends DatabaseInstaller { // SQL Server 2005 RTM // @todo Are SQL Express version numbers different?) - public $minimumVersion = '9.00.1399'; + public static $minimumVersion = '9.00.1399'; + protected static $notMiniumumVerisonMessage = 'config-mssql-old'; // These are schema-level privs // Note: the web user will be created will full permissions if possible, this permission @@ -191,12 +192,7 @@ class MssqlInstaller extends DatabaseInstaller { $conn = $status->value; // Check version - $version = $conn->getServerVersion(); - if ( version_compare( $version, $this->minimumVersion ) < 0 ) { - return Status::newFatal( 'config-mssql-old', $this->minimumVersion, $version ); - } - - return $status; + return static::meetsMinimumRequirement( $conn->getServerVersion() ); } /** diff --git a/includes/installer/MssqlUpdater.php b/includes/installer/MssqlUpdater.php index a2aa8c0f1a..411d2c8cb2 100644 --- a/includes/installer/MssqlUpdater.php +++ b/includes/installer/MssqlUpdater.php @@ -104,6 +104,7 @@ class MssqlUpdater extends DatabaseUpdater { // 1.30 [ 'modifyField', 'image', 'img_media_type', 'patch-add-3d.sql' ], + [ 'addIndex', 'site_stats', 'PRIMARY', 'patch-site_stats-pk.sql' ], ]; } diff --git a/includes/installer/MysqlInstaller.php b/includes/installer/MysqlInstaller.php index c5dd4dcbc9..ab5701a8bf 100644 --- a/includes/installer/MysqlInstaller.php +++ b/includes/installer/MysqlInstaller.php @@ -51,7 +51,8 @@ class MysqlInstaller extends DatabaseInstaller { public $supportedEngines = [ 'InnoDB', 'MyISAM' ]; - public $minimumVersion = '5.5.8'; + public static $minimumVersion = '5.5.8'; + protected static $notMiniumumVerisonMessage = 'config-mysql-old'; public $webUserPrivs = [ 'DELETE', @@ -133,12 +134,7 @@ class MysqlInstaller extends DatabaseInstaller { $conn = $status->value; // Check version - $version = $conn->getServerVersion(); - if ( version_compare( $version, $this->minimumVersion ) < 0 ) { - return Status::newFatal( 'config-mysql-old', $this->minimumVersion, $version ); - } - - return $status; + return static::meetsMinimumRequirement( $conn->getServerVersion() ); } /** diff --git a/includes/installer/OracleInstaller.php b/includes/installer/OracleInstaller.php index 14683d6c46..05f078fab7 100644 --- a/includes/installer/OracleInstaller.php +++ b/includes/installer/OracleInstaller.php @@ -21,6 +21,7 @@ * @ingroup Deployment */ +use Wikimedia\Rdbms\Database; use Wikimedia\Rdbms\DBConnectionError; /** @@ -45,7 +46,8 @@ class OracleInstaller extends DatabaseInstaller { '_InstallUser' => 'SYSTEM', ]; - public $minimumVersion = '9.0.1'; // 9iR1 + public static $minimumVersion = '9.0.1'; // 9iR1 + protected static $notMiniumumVerisonMessage = 'config-oracle-old'; protected $connError = null; @@ -152,15 +154,12 @@ class OracleInstaller extends DatabaseInstaller { } /** - * @var $conn Database + * @var Database $conn */ $conn = $status->value; // Check version - $version = $conn->getServerVersion(); - if ( version_compare( $version, $this->minimumVersion ) < 0 ) { - return Status::newFatal( 'config-oracle-old', $this->minimumVersion, $version ); - } + $status->merge( static::meetsMinimumRequirement( $conn->getServerVersion() ) ); return $status; } diff --git a/includes/installer/OracleUpdater.php b/includes/installer/OracleUpdater.php index 00b96614f8..040b54a124 100644 --- a/includes/installer/OracleUpdater.php +++ b/includes/installer/OracleUpdater.php @@ -125,6 +125,7 @@ class OracleUpdater extends DatabaseUpdater { // 1.30 [ 'doAutoIncrementTriggers' ], + [ 'addIndex', 'site_stats', 'PRIMARY', 'patch-site_stats-pk.sql' ], // KEEP THIS AT THE BOTTOM!! [ 'doRebuildDuplicateFunction' ], diff --git a/includes/installer/PostgresInstaller.php b/includes/installer/PostgresInstaller.php index 2265ae3aed..cb1b47e1e3 100644 --- a/includes/installer/PostgresInstaller.php +++ b/includes/installer/PostgresInstaller.php @@ -46,7 +46,8 @@ class PostgresInstaller extends DatabaseInstaller { '_InstallUser' => 'postgres', ]; - public $minimumVersion = '8.3'; + public static $minimumVersion = '8.3'; + protected static $notMiniumumVerisonMessage = 'config-postgres-old'; public $maxRoleSearchDepth = 5; protected $pgConns = []; @@ -124,8 +125,9 @@ class PostgresInstaller extends DatabaseInstaller { // Check version $version = $conn->getServerVersion(); - if ( version_compare( $version, $this->minimumVersion ) < 0 ) { - return Status::newFatal( 'config-postgres-old', $this->minimumVersion, $version ); + $status = static::meetsMinimumRequirement( $conn->getServerVersion() ); + if ( !$status->isOK() ) { + return $status; } $this->setVar( 'wgDBuser', $this->getVar( '_InstallUser' ) ); diff --git a/includes/installer/PostgresUpdater.php b/includes/installer/PostgresUpdater.php index 07aeb13d1d..1f17fecc2b 100644 --- a/includes/installer/PostgresUpdater.php +++ b/includes/installer/PostgresUpdater.php @@ -454,7 +454,7 @@ class PostgresUpdater extends DatabaseUpdater { [ 'addPgIndex', 'user_groups', 'user_groups_expiry', '( ug_expiry )' ], // 1.30 - [ 'modifyField', 'image', 'img_media_type', 'patch-add-3d.sql' ], + [ 'addPgEnumValue', 'media_type', '3D' ], [ 'setDefault', 'revision', 'rev_comment', '' ], [ 'changeNullableField', 'revision', 'rev_comment', 'NOT NULL', true ], [ 'setDefault', 'archive', 'ar_comment', '' ], @@ -481,6 +481,7 @@ class PostgresUpdater extends DatabaseUpdater { [ 'changeNullableField', 'protected_titles', 'pt_reason', 'NOT NULL', true ], [ 'addPgField', 'protected_titles', 'pt_reason_id', 'INTEGER NOT NULL DEFAULT 0' ], [ 'addTable', 'comment', 'patch-comment-table.sql' ], + [ 'addIndex', 'site_stats', 'PRIMARY', 'patch-site_stats-pk.sql' ], ]; } @@ -838,6 +839,46 @@ END; } } + /** + * Add a value to an existing PostgreSQL enum type + * @since 1.31 + * @param string $type Type name. Must be in the core schema. + * @param string $value Value to add. + */ + public function addPgEnumValue( $type, $value ) { + $row = $this->db->selectRow( + [ + 't' => 'pg_catalog.pg_type', + 'n' => 'pg_catalog.pg_namespace', + 'e' => 'pg_catalog.pg_enum', + ], + [ 't.typname', 't.typtype', 'e.enumlabel' ], + [ + 't.typname' => $type, + 'n.nspname' => $this->db->getCoreSchema(), + ], + __METHOD__, + [], + [ + 'n' => [ 'JOIN', 't.typnamespace = n.oid' ], + 'e' => [ 'LEFT JOIN', [ 'e.enumtypid = t.oid', 'e.enumlabel' => $value ] ], + ] + ); + + if ( !$row ) { + $this->output( "...Type $type does not exist, skipping modify enum.\n" ); + } elseif ( $row->typtype !== 'e' ) { + $this->output( "...Type $type does not seem to be an enum, skipping modify enum.\n" ); + } elseif ( $row->enumlabel === $value ) { + $this->output( "...Enum type $type already contains value '$value'.\n" ); + } else { + $this->output( "...Adding value '$value' to enum type $type.\n" ); + $etype = $this->db->addIdentifierQuotes( $type ); + $evalue = $this->db->addQuotes( $value ); + $this->db->query( "ALTER TYPE $etype ADD VALUE $evalue" ); + } + } + protected function dropFkey( $table, $field ) { $fi = $this->db->fieldInfo( $table, $field ); if ( is_null( $fi ) ) { diff --git a/includes/installer/SqliteInstaller.php b/includes/installer/SqliteInstaller.php index d60d801bed..d5909f4e1f 100644 --- a/includes/installer/SqliteInstaller.php +++ b/includes/installer/SqliteInstaller.php @@ -33,7 +33,8 @@ use Wikimedia\Rdbms\DBConnectionError; */ class SqliteInstaller extends DatabaseInstaller { - public $minimumVersion = '3.3.7'; + public static $minimumVersion = '3.3.7'; + protected static $notMiniumumVerisonMessage = 'config-outdated-sqlite'; /** * @var DatabaseSqlite @@ -58,12 +59,9 @@ class SqliteInstaller extends DatabaseInstaller { * @return Status */ public function checkPrerequisites() { - $result = Status::newGood(); // Bail out if SQLite is too old $db = DatabaseSqlite::newStandaloneInstance( ':memory:' ); - if ( version_compare( $db->getServerVersion(), $this->minimumVersion, '<' ) ) { - $result->fatal( 'config-outdated-sqlite', $db->getServerVersion(), $this->minimumVersion ); - } + $result = static::meetsMinimumRequirement( $db->getServerVersion() ); // Check for FTS3 full-text search module if ( DatabaseSqlite::getFulltextSearchModule() != 'FTS3' ) { $result->warning( 'config-no-fts3' ); diff --git a/includes/installer/i18n/ar.json b/includes/installer/i18n/ar.json index 69d1fcf8a7..b50247bad7 100644 --- a/includes/installer/i18n/ar.json +++ b/includes/installer/i18n/ar.json @@ -250,6 +250,7 @@ "config-help-tooltip": "اضغط للتوسيع", "config-nofile": "لا يمكن العثور على الملف \"$1\". هل حُذف؟", "config-extension-link": "هل كنت تعلم أن الويكي الخاصة بك تدعم [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions الامتدادات]؟\n\nيمكنك تصفح [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category الامتدادات حسب التصنيف] أو [https://www.mediawiki.org/wiki/Extension_Matrix مصفوفة الامتدادت] لترى القائمة الكاملة للامتدادات.", + "config-screenshot": "لقطة شاشة", "mainpagetext": "تم تثبيت ميدياويكي بنجاح.", "mainpagedocfooter": "استشر [https://meta.wikimedia.org/wiki/Help:Contents دليل المستخدم] لمعلومات حول استخدام برنامج الويكي.\n\n== البداية ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings قائمة إعدادات الضبط]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ أسئلة متكررة حول ميدياويكي]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce القائمة البريدية الخاصة بإصدار ميدياويكي]" } diff --git a/includes/installer/i18n/eu.json b/includes/installer/i18n/eu.json index eda62d464e..492da036e2 100644 --- a/includes/installer/i18n/eu.json +++ b/includes/installer/i18n/eu.json @@ -14,7 +14,10 @@ "config-localsettings-upgrade": "LocalSettings.php fitxategi bat detektatu da.\nInstalazioa eguneratzeko, mesedez, sar ezazu $wgUpgradeKey balioa beheko koadroan.\nLocalSettings.php fitxategian aurkituko duzu.", "config-localsettings-cli-upgrade": "LocalSettings.php fitxategi bat detektatu da.\nInstalazioa eguneratzeko, exekuta ezazu update.php, mesedez", "config-localsettings-key": "Eguneratze-gakoa:", - "config-upgrade-key-missing": "Detektatu egin dagoeneko MediaWiki instalatu dagoela.\n\nInstalazio hau gaurkotzeko, jarri hurrengo lerroa behekoaldean LocalSettings.php \n\n$1", + "config-localsettings-badkey": "Sartu duzun eguneratze-gakoa ez da zuzena.", + "config-upgrade-key-missing": "Detektatu egin da dagoeneko MediaWiki instalatu dagoela.\n\nInstalazio hau gaurkotzeko, jarri hurrengo lerroa behekoaldean LocalSettings.php \n\n$1", + "config-localsettings-incomplete": "Existitzen den LocalSettings.php bukatu gabe dagoela ematen du.\n$1 aldagaia ez dago finkatuta.\nMesedez, aldatu LocalSettings.php, aldagaia aldatzeko eta gero klikatu {{int:Config-continue}}\".", + "config-localsettings-connection-error": "Arazo bat sortu da datu-basearekin konektatzen LocalSettings.php-ean zehaztutako ezarpenak erabilita. Mesedez konpondu ezarpen hauek eta berriro saiatu.", "config-session-error": "Saio hasierako errorea: $1", "config-session-expired": "Saioren informazio galdu egin dela ematen du.\nSaioak konfiguratutak daude $1 -eko iraupenerako.\nHau handitu ahal duzu code>session.gc_maxlifetime jartzen php.ini -n.\n\nBerrabiatu instalazio prozesua.", "config-no-session": "Saioren informazio galdu egin da!\nEgiaztatu zure php.ini eta ziurtatu session.save_path egoki zaion direktorioan kokatu dagoela.", @@ -41,14 +44,31 @@ "config-page-existingwiki": "Existitzen den wikia", "config-help-restart": "Ezabatu nahi duzu gorde duzun informazio guztia eta berrebiarazi instalazio prozesua?", "config-restart": "Bai, berriz hasi", + "config-welcome": "=== Ingurumen-egiaztapenak ===\n\nOinarrizko kontrola burutzen ari da, ikusteko ia ingurumena aproposa da MediaWikia instalatzeko.\nLaguntza behar izanez gero instalazio prozesua amaitzeko ez ahaztu sartzea informazio hau .", + "config-copyright": "=== Copyright eta terminoak ===\n\n$1\n\nPrograma hau software librea da; birbana eta / edo alda dezakezu GNU Lizentzia Publiko Orokorraren baldintzapean, Free Software Foundation-ek argitaratutakoaren arabera; Lizentziaren 2. bertsioa edo (nahiago baduzu) bertsio berriago bat.\n\nPrograma hau baliagarria izango delakoan elkarbantzen da, baina bermerik gabe ; merkaturatze edo helburu jakin baterako gaitasuna berme inplizitua ere izan gabe.\nIkus GNU Lizentzia Publiko Orokorra xehetasun gehiagorako.\n\n izan beharko zenuke GNU Lizentzia Publiko Orokorraren kopia programa honekin batera; bestela, idatzi Free Software Foundation-en, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, AEB, edo [http://www.gnu.org/copyleft/gpl.html irakurri ezazu online]. .", "config-sidebar": "* [https://www.mediawiki.org MediaWiki nagusia]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Erabiltzaileentzako Gida]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents Administratzaileentzako Gida]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MEG]\n----\n* Irakur nazazu\n* Oharren argitalpena\n* Kopiaketa\n* Eguneratzea", + "config-env-good": "Ingurumena egiaztatu egin da. \nMediaWiki instalatu ahal duzu.", + "config-env-bad": "Ingurumena egiaztatu egin da.\nEzin duzu MediaWiki-a instalatu.", "config-env-php": "PHP $1 instalatuta dago.", "config-env-hhvm": "HHVM $1 instalatuta dago.", + "config-unicode-using-intl": "[http://pecl.php.net/intl intl PECL extension] erabiltzen Unicode-ren normalizaziorako.", + "config-unicode-pure-php-warning": "Oharra: [http://pecl.php.net/intl intl PECL extension] ez dago prest Unicode-ren normalizazioa jasatzeko,PHP hutsaren ezarpena motelara itzultzen.\n\nTrafiko handiko gune bat exekutatzen baduzu, apur bat irakurri beharko zenuke [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations Unicode normalization]-ri buruz.", + "config-unicode-update-warning": "Oharra: Unicode-ren normalizazioaren bilgarriaren bertsio instalatua [http://site.icu-project.org/ ICU proiektuaren] liburutegia bertsio zaharrago bat erabiltzen du.\n[Https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations upgrade] behar duzu Unicode erabiltzeagatik kezkatuta bazaude.", + "config-no-db": "Ezin izan da aurkitu datu-basearen driver egoki bat! Instalatu behar duzu PHP-ko datu-basearen driver bat. Hurrengo datu {{PLURAL:$2|basea|baseak}} onartzen {{PLURAL:$2|da|dira}}:$1\n\n\nPHP-k zuk konpilatu baduzu, berkonfiguratu datu-basearen bezeroarekin gaituta, adibidez, ./configure --with-mysqli. erabiliz.\nDebian edo Ubuntu pakete batetik PHPa instalatu baduzu, orduan instalatu behar duzu ere bai hurrengo adibide bezalako bat php5-mysql", + "config-outdated-sqlite": "Warning: SQLite $1 daukazu, hau da, gutxieneko bertsioa $2 baino atzeratutagoa da. SQLite ez dago erabilgarri.", + "config-no-fts3": "Warning: SQLite konpilatu egin da [//sqlite.org/fts3.html FTS3 module] barik, \nbilaketa funtzioak ez dira erabilgarri izango \"backend\" honetan.", + "config-pcre-old": "Fatal: PCRE $1 edo berriagoa behar da.\nZure PHP bitarra PCRE $2 rekin lotzen da.\n[https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms/PCRE Informazio gehiago].", + "config-pcre-no-utf8": "Fatal: PHREko PCRE modulua PCRE_UTF8 ko laguntza gabe bildu da.\nMediaWiki-k UTF-8 euskarria behar du behar bezala funtziona dezan.", + "config-memory-raised": "PHP-ko memory_limit $1 da, $2-ra igota.", + "config-memory-bad": "Warning: PHPko memory_limit $1 da.\nZiurrenik hau oso baxua da.\nInstalazioa huts egin dezake!", "config-xcache": "[http://xcache.lighttpd.net/ XCache] instalatuta dago", "config-apc": "[http://www.php.net/apc APC] instalatuta dago", "config-apcu": "[http://www.php.net/apcu APCu] instalatuta dago", "config-wincache": "[http://www.iis.net/download/WinCacheForPhp WinCache] instalatuta dago", + "config-no-cache-apcu": "Warning: Ezin izan da [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] edo [http://www.iis.net/download/WinCacheForPhp WinCache] aurkitu.\nObjektu katxea ez dago aktibatuta.", + "config-mod-security": "Warning: Zure web zerbitzariak [http://modsecurity.org/mod_security] / mod_security2 aktibatu du. Honen konfigurazio komun asko sortu ahal dituzte arazoak MediaWikin eta beste software batzuetan, hautazko edukia argitaratzeko aukera ematen dutenei erabiltzaileei.\nAhal izanez gero, desgaitu egin beharko litzateke. Bestela, kontsultatu [http://modsecurity.org/documentation/ mod_security documentation] edo jarri harremanetan zure ostalariarekin ausazko akatsak aurkitzen badituzu.", "config-diff3-bad": "GNU diff3 ez da aurkitu.", + "config-git": "Git bertsio-kontrol software aurkitu da: $1", "config-git-bad": "Git bertsio-kontrol software ez da aurkitu.", "config-no-uri": "Errore: Ezin izan da zehaztu URI. Instalazio geldiarazi egin da.", "config-no-cli-uri": "Oharra. Ez da zehaztu --scriptpath, erabiltzen estandar $1 .", @@ -60,90 +80,193 @@ "config-db-host-oracle": "Datu-baseko TNS:", "config-db-wiki-settings": "Wiki hau identifikatu", "config-db-name": "Datu-base izena:", + "config-db-name-help": "Aukeratu zure Wikia identifikatzen duen izena.\nEzin dira espazioak eabili.\n\nErabiltzen ari bazara web hosting partekatua, hostin-eko hornitzaileak emango dizu datu-basearen izen espezifikoa edo kontrol panel baten bitzrtez zure datu-basea sortzea utziko dizu.", "config-db-name-oracle": "Datu-baseko eskema:", + "config-db-install-account": "Instalazio prozesuan erabili erabiltzaile kontua.", "config-db-username": "Datu-base lankide izena:", "config-db-password": "Datu-base pasahitza:", + "config-db-install-username": "Sartu erabiliko duzun erabiltzaile izena datu-basearikn konektzatzeko instalazio prozesuaren bitartean.\nHau ez da MediaWikiaren erabiltzaile izanea; hau da datu-basearen erabiltzaile izena da.", "config-db-install-password": "Sartu erabiliko den pasahitza datu-basea konektatzeko instalazio prozesuan zehar.\n\nHau ez da MediaWikiaren pasahitza; hau da zure datu-basearen pasahitza.", + "config-db-install-help": "Sartu instalazio prozesuan zehar datu-basearekin konektatzeko erabiliko den erabiltzaile izena eta pasahitza.", "config-db-account-lock": "Operazio arruntentan erabili erabiltzaile izena eta pasahitza berdina", "config-db-wiki-account": "Operazio arruntentaten erabili erabiltzaile kontua.", + "config-db-wiki-help": "Operazio arruntetan erabiliko den erabiltzaile izena eta pasahitza sartu.\n\nKontua ez bada existitzen, eta instalazio kontua pribilegio nahikoak baditu, erabiltzaile kontu hau sortuko da wikia erabiltzeko behar diren pribilegio minimoekin.", "config-db-prefix": "Datu-basearen taularen aurrizkiak:", + "config-db-prefix-help": "Datu-base bat elkarbanatu behar baduzu hainbat wiki orrien artean, edota MediaWiki eta best web aplikazio batekin, taula guztiei aurrizki bat gehitzea aukeratu ahal dezakezu, gatazkak ez sortzeko.\nEz erabili zuriunerik.\n\nAtal hau normalean utsik uzten da.", + "config-mysql-old": "MySQL $1 edo berriagoa behar da. Zuk $2 badaukazu.", "config-db-port": "Datu-basearen ataka:", "config-db-schema": "MediaWikirako eskema:", "config-db-schema-help": "Patroi hau normalean egokia da. Bakarrik aldatu beharrezkoa bada.", "config-pg-test-error": "Ezin da datu-basearekin konektatu $1: $2", + "config-sqlite-dir": "SQLite -eko informazioaren direktorioa:", + "config-oracle-temp-ts": "Aldi baterako taula:", "config-type-mysql": "MySQL (edo bateragarria)", "config-type-postgres": "PostgreSQL", "config-type-sqlite": "SQLite", "config-type-oracle": "Oracle", "config-type-mssql": "Microsoft SQL Server", + "config-support-info": "MediaWiki-k onartzen du hurrengo datu-base sistemak:\n\n$1\n\nListan ez baduzu ikusten erabili nahi duzun sistema, jarraitu goiko argibideak aktibatzeko.", "config-header-mysql": "MySQL hobespenak", "config-header-postgres": "PostgreSQL hobespenak", "config-header-sqlite": "SQLite hobespenak", "config-header-oracle": "Oracle hobespenak", "config-header-mssql": "Microsoft SQL Server-en ezarpenak", "config-invalid-db-type": "Datu-base mota baliogabea.", + "config-missing-db-name": "\"{{int:config-db-name}}\"-rentzako balioa sartu behar duzu.", + "config-missing-db-host": "\"{{int:config-db-host}}\"-rentzako balioa sartu behar duzu.", + "config-missing-db-server-oracle": "\"{{int:config-db-host-oracle}}\"-rentzako balioa sartu behar duzu.", + "config-connection-error": "$1\n\nHost-a, erabiltzaile izena eta pasahitza egiaztatu eta saiatu berriro.", + "config-db-sys-create-oracle": "Instalatzaileak bakarrik jasaten du SYSBDA kontu bat erabiltzaile kontu berri bat sortzeko.", "config-db-sys-user-exists-oracle": "$1 erabiltzaile kontua dagoeneko existitzen da. SYSDBA kontu berri bat sortzeko erabili daiteke soilik!", + "config-postgres-old": "PostgreSQL $1 edo berriagoa behar da. Zuk $2 badaukazu.", + "config-mssql-old": "Microsoft SQL Server $1 edo berriagoa behar da. Zuk $2 badaukazu.", + "config-sqlite-name-help": "Aukeratu zure wikia identifikatzen duen izen bat.\nEz erabili zuriunerik edo gidoirik.\nHau erabiliko da SQLite datuen artxiborako.", + "config-sqlite-mkdir-error": "Arazo bat sortu da datuen direktorioa sortzerakoan \"$1\".\nLokalizazio egiaztatu eta berriro saiatu.", + "config-sqlite-dir-unwritable": "Ezin izan da \"$1\" direktoriora idatzi.\nAldatu baimenak web-serbidoreak idatzi ahal izateko, eta berriro saiatu.", + "config-sqlite-connection-error": "$1.\n\nDatu direktorioa eta datu-basea egiaztatu eta berriro saiatu.", "config-sqlite-readonly": "Ezin da idatzi $1 fitxategian.", + "config-sqlite-cant-create-db": "Ezin izan da $1 datu-basearen artxiboa sortu.", + "config-upgrade-done-no-regenerate": "Eguneratze prozesua amaitu egin da.\n\nHasi ahal zara [ $1 wikia arabiltzen]", "config-regenerate": "Birsortu LocalSettings.php →", + "config-show-table-status": "SHOW TABLE STATUS kontsulta huts egin du!", + "config-db-web-account": "Datu-basearen kontua web sarbiderako.", + "config-db-web-help": "Aukeratu erabiliko den erabiltzaile izena eta pasahitza web serbidorea eta datu-basearen serbidorea konektatzeko, wikiren operazio normalaren bitartean.", "config-db-web-account-same": "Instalazioan erabili duzun kontu berdina erabili.", + "config-db-web-create": "Kontua sortu oraindik ez bada existitzen.", + "config-db-web-no-create-privs": "Zehaztu duzun kontuak ez dauka pribilegio nahikoak kontu bat sortzeko.\nZehaztu duzun kontua existitu behar da.", + "config-mysql-engine": "Biltegiratze motorea:", "config-mysql-innodb": "InnoDB", "config-mysql-myisam": "MyISAM", "config-mysql-binary": "Bitarra", "config-mysql-utf8": "UTF-8", + "config-mssql-auth": "Autentifikazio mota:", + "config-mssql-sqlauth": "SQL Serbidorearen Autentifikazioa", + "config-mssql-windowsauth": "Windows-eko Autentifikazioa.", "config-site-name": "Wikiaren izena:", + "config-site-name-help": "Hau nabigatzailearen tituluaren lerroan agertuko da eta pare bat leku gehiagotan.", + "config-site-name-blank": "Aukeratu webgunearen izena.", "config-project-namespace": "Proiektuaren izen-tartea:", "config-ns-generic": "Proiektua", + "config-ns-site-name": "Wiki izenaren berdina: $1", "config-ns-other": "Bestelakoa (zehaztu)", "config-ns-other-default": "MyWiki", + "config-project-namespace-help": "Wikipedia-ren adibidea jarraitzen, wiki askok beren orrien politika mantentzen dute beren edukien orrialdeetatik bereizita, '' 'proiektuaren izen-eremuan' ''.\nOrrialde honetako izenburu guztiek aurrizki jakin batekin hasten dira, hemen zehaztu ahal direnak.\nNormalean, aurrizkia wikiaren izenetik dator, baina ezin du \"#\" edo \":\" puntuazio-karaktereak eduki.", "config-admin-box": "Administratzaile kontua", "config-admin-name": "Zure erabiltzaile-izena:", "config-admin-password": "Pasahitza:", "config-admin-password-confirm": "Pasahitza berriz:", + "config-admin-help": "Sartu zure gustokoen erabiltzaile izena hemen, adibidez \"Joe Bloggs\".\nHau da erabiliko duzun izena wikian sartzeko.", + "config-admin-name-blank": "Sartu administratzaile kontua.", + "config-admin-name-invalid": "$1 erabiltzaile izena baliogabea da.\nZehaztu erabiltzaile izen desberdin bat.", "config-admin-password-blank": "Sartu pasahitza administratzaile kontuarentzako.", "config-admin-password-mismatch": "Sartutako bi pasahitzak ez datoz bat.", "config-admin-email": "E-posta helbidea:", + "config-admin-email-help": "Sartu email bat baimena emateko mezuak jasotzeko, pasahitza aldatzeko and orrien aldaketeei buruz berri edukitzeko.\nHutsik utzi ahal duzu.", + "config-admin-error-password": "Barne-arazoa administratzailearen pasahitza sortzerakoan.\"$1\".
$2
", "config-admin-error-bademail": "Helbide elektroniko okerra idatzi duzu.", + "config-pingback": "Elkarbanatu informazioa instalazio prozesuari buruz MediaWiki-ko sustatzaileekin.", + "config-almost-done": "Ia amaitu duzu!\nFalta den konfigurazioa saltatu ahal duzu eta zuzenean wikia instalatu.", "config-optional-continue": "Galdera gehiago egin.", "config-optional-skip": "Aspertuta nago, wikia instalatu bakarrik.", + "config-profile": "Erabiltzailearen profilaren eskubideak:", "config-profile-wiki": "Wikia ireki", "config-profile-no-anon": "Kontua sortzea beharrezkoa da", "config-profile-fishbowl": "Baimendutako editoreak bakarrik", "config-profile-private": "Wiki pribatua", "config-license": "Copyright eta lizentzia:", + "config-license-none": "Ez jarri lizentzia orriaren baimenik", + "config-license-cc-by-sa": "Creative Commons-eko esleipen-lizentzia", "config-license-cc-by": "Creative Commons Aitorpena", "config-license-cc-0": "Creative Commons Zero (Jabari Publikoa)", + "config-license-gfdl": "\nGNU Free Documentation License 1.3 edo berriagoa", "config-license-pd": "Domeinu Askea", "config-license-cc-choose": "Aukeratu Creative Commons lizentzia pertsonalizatua", "config-email-settings": "E-posta hobespenak", + "config-enable-email": "Aktibatu irteerako emaila.", + "config-email-user": "Aktibatu erabiltzaileen arteko emaila.", + "config-email-user-help": "Baimena eman erabiltzaileei beraien artean emailak bidaltzeko, lehentasunetan aukera aktibatuta badaukate.", + "config-email-usertalk": "Aktibatu erabiltzaileen eztabaida orrien jakinarazpena", + "config-email-usertalk-help": "Erabiltzailei baimena eman jakinarazpenak jasotzeko eztabaidan orrietako aldaketei buruz, aukera hau aktibatu badaukate.", + "config-email-watchlist": "Jarraipen listaren jakinarazpenak aktibatu.", + "config-email-watchlist-help": "Baimena eman erabiltzaileei jakinarazpenak jasotzeko haiek ikusitako orriei buruz, lehenespenetan aktibatu badaukate.", + "config-email-auth": "Aktibatu emailaren autentifikazioa.", + "config-email-auth-help": "Aukera hau aktibatuta badago, erabiltzaileak konfirmatu behar du bere emaila, sortzerakoen edota aldetzerakoan bidali zaion linka erabiltzen.\n\nBakarrik kautotaku emailak gai izango dira beste erabiltzaileen emailak jasotzeko edota jakinarazpen emailak aldatzeko.\n\nAukera hau hautatzea gomendagarria da Wiki publikoentzat, emaileen erramintien abusua dela eta.", "config-email-sender": "Itzuli helbide elektronikoa:", "config-upload-settings": "Irudi eta fitxategi igoerak", "config-upload-enable": "Fitxategi igoera gaitu", + "config-upload-help": "Fitxategiak kargatzeak zure zerbitzaria segurtasun arriskuei eragin diezaioke.\nInformazio gehiagorako, irakurri [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security security section] eskuliburuan.\n\nFitxategiak igotzea aktibatzeko, aldatu images subdirektorio modua MediaWiki-ren erroko direktorioaren azpian, web zerbitzariak honela idatz dezake.\nOndoren, gaitu aukera hau.", "config-upload-deleted": "Ezabatutako artxiboentzako direktorioa:", + "config-upload-deleted-help": "Aukeratu fitxategi bat ezabatutako artxiboak gordetzeko.\nGomendagarria da hau webgunetik ez egotea eskuragarri.", "config-logo": "Logo URL:", "config-instantcommons": "Instant Commons gaitu", + "config-cc-error": "Creative Commons lizentziaren aukeratzaileak ez du emaitzarik eman.\nEskuz sartu lizentzia.", "config-cc-again": "Berriz aukeratu...", + "config-cc-not-chosen": "Aukeratu ze Creative Common lizentzi nahi duzu eta sakatu \"proceed\"", "config-advanced-settings": "Konfigurazio aurreratua", + "config-cache-options": "Objektu cachearen ezarpenak:", + "config-cache-help": "Objektuen katxea erabiltzen da MediaWikiko abiadura hobetzeko, sarritan erabiltzen diren datuak gordetzen.\nOso gomendagarria da, webgune handientzako eta ertainentzako, webgune txikiek ere ikusiko dituzte onurak.", + "config-cache-none": "Desaktibatu Katxina (ez dira funtzionaltasunak ezabatu, baina wiki orrialde handietan abiaduran eragina izan ahal du)", + "config-cache-accel": "PHP objetuen katxea (APC, APCu, XCache edo WinCache)", + "config-cache-memcached": "Memcached erabili (konfigurazio eta instalazio gehiago behar du)", + "config-memcached-servers": "Memcached serbidoreak:", + "config-memcached-help": "Memcached-ekin erabiltzeko IP helbideen lista.\nLerro bakoitzen bat bakarrik jarri behar da eta zehaztu ze ataka erabiliko den. Adibidez:\n127.0.0.1:11211\n192.168.1.25:1234", + "config-memcache-needservers": "Memcached aukeratu duzu zure katxe mota bezala baina ez duzu zehaztu inolako serbidorerik.", + "config-memcache-badip": "Sartu duzu Memcached-eko baliogabeko IP bat: $1", + "config-memcache-noport": "Ez duzu zehaztu portu bat Memcached serbidorerako: $1\nEz badakizu portua, estandarra 11211 da.", + "config-memcache-badport": "Memcached-eko ataka zenbakiak $1 eta $2 artean egon behar dira.", "config-extensions": "Luzapenak", + "config-extensions-help": "Goian zerrendatutako luzapenak zure ./ extensions direktorioan detektatu dira.\n\nBeharbada konfigurazio gehaigo behar dute, baina orain gaitu ditzakezu.", "config-skins": "Itxurak", + "config-skins-help": "Goian aipatutako itxurak zure ./skins direktorioan aurkitu dira. Bat gutxienez aktibatu behar duzu, eta estandarra aukeratu.", + "config-skins-use-as-default": "Erabili ikusizko estilo hau lehenezpen gisa.", + "config-skins-missing": "Ez dira itxurarik aurkitu, MediaWiki-ak oinarrizko itxura bat erabiliko du, zuk itxura egokiak instalatu arte.", + "config-skins-must-enable-some": "Gutxienez aukeratu behar duzu ikusizko estilo bat aktibatzeko.", + "config-skins-must-enable-default": "Lehenetsia bezala aukeratu duzun ikusizko estilo aktibatuta egon behar da.", + "config-install-alreadydone": "Oharra:Badirudi MediaWikia instalatu daukazula eta berriz instalatzen saiatzen ari zarela.\n\nMesedez, hurrengo orrian jarraitu", "config-install-step-done": "egina", "config-install-step-failed": "Huts egin du", "config-install-extensions": "Luzapenak barne", "config-install-database": "Datu-basea konfiguratu", "config-install-schema": "Eskema sortu", + "config-install-pg-schema-not-exist": "PostgreSQL eskema ez da existitzen.", + "config-install-pg-schema-failed": "Tauleen sorrerak huts egin du.\nEgiaztatu \"$1\" erabiltzaileak \"$2\" eskeman idatzi ahal duela.", + "config-install-pg-commit": "Aldaketak egiten", + "config-install-pg-plpgsql": "PL/pgSQL hizkuntza bilatzen.", + "config-pg-no-plpgsql": "$1 datu-basean instalatu behar duzu PL/pgSQL hizkuntza.", + "config-pg-no-create-privs": "Zehaztu duzun kontua instalazio prozesurako ez dauka pribilegio nahikoak kontu bat sortzeko.", + "config-pg-not-in-role": "Zehaztu duzun kontua web erabiltzailerako dagoeneko existitzen da.\nInstalatzeko zehaztutako kontua ez da super erabiltzailea eta ez da web erabiltzailearen rolaren kide bat,hori dela eta ez da gai web erabiltzailearen objetuak erabiltzeko.\n\nMediaWiki-k, gaur egun, taulak web erabiltzailearenak izatea eskatzen du. Mesedez, zehaztu beste web kontuen izen bat, edo egin klik \"atzera\" botoian eta zehaztu instalazio egokia duen kontu bat.", "config-install-user": "Datubase erabiltzailea sortzen", "config-install-user-alreadyexists": "\"$1\" erabiltzailea badago.", "config-install-user-create-failed": "$1 erabiltzailea sortzerakoan huts egin du: $2", "config-install-user-grant-failed": "$1ri baimena emateak huts egin du: $2", + "config-install-user-missing": "Saru duzun erabiltzaile izena \"$1\" ez da existitzen.", + "config-install-user-missing-create": "Espezifikatu duzun erabiltzaile izena \"$1\" ez da existitzen.\n\nMesedez klikatu \"kontu bat sortu\" laukia, bat sortu nahi baduzu.", "config-install-tables": "Taulak sortzen", + "config-install-tables-exist": "Oharra: Badirudi MediaWkiko- taulak dagoeneko existitzen direla. Sorrera saltatzen.", + "config-install-tables-failed": "Errore: Taulen sorrerak huts egin du hurrengo erroreakin: $1", + "config-install-interwiki": "MediaWiki taula estandarrari datuak sartzen.", "config-install-interwiki-list": "Ezin izan da interwiki.list fitxategia irakurri.", + "config-install-interwiki-exists": "Oharra: Interwikiko taula badirudi sarrerak dituela. \nTaula estandarra saltatzen.", "config-install-stats": "Estatistikak hasten", "config-install-keys": "Gako sekretuak sortzen", + "config-install-updates": "Saihestu egikaratzen behar ez diren aktualizazioak", + "config-install-updates-failed": "Errore Sartzea eguneratze-gakoak taulen barruan huts egin du hurrengo errorearekin: $1", "config-install-sysop": "Administratzaile kontua sortzen", + "config-install-subscribe-fail": "Ezin izan da mediawiki-announce -ra harpidetu: $1", + "config-install-subscribe-notpossible": "cURL ez dago instalatuta eta allow_url_fopen ez dago erabilgarri.", + "config-install-mainpage": "Sortzen orri nagusia eduki estandarrarekin", + "config-install-mainpage-exists": "Orri nagusia dagoeneko existitzen da, hurrengora saltatzen", + "config-install-extension-tables": "Taulak sortzen aktibatutako luzapenentzako.", + "config-install-mainpage-failed": "Orri nagusia ezin izan da txertatu: $1", + "config-install-done": "Zorionak!\nMediaWiki instalatu duzu.\n\nInstalatzaileak sortu egin du LocalSettings.php\nZure konfigurazio guztia dauka.\n\nDeskargatu egin behar duzu eta jarri $4 -ean . Deskarga automakikoki hasiko da.\n\nEz badizu deskargatzeko aukerarik eman, edo kantzelatu egin baduzu, hurrengo linkean klikatu berrabiatzeko:\n\n$3\n\nOharra: Instalazio prozesuatik ateratzen bazara konfigurazio artxikoa deskargatu barik, gero ez da egongo eskuragarri.\n\nBehin hori eginda, [$2 enter your wiki] ahal duzu.", "config-install-done-path": "Zorionak!\nMediaWiki instalatu duzu.\n\nInstalatzaileak sortu egin du LocalSettings.php\nZure konfigurazio guztia dauka.\n\nDeskargatu egin behar duzu eta jarri $4 -ean . Deskarga automakikoki hasiko da.\n\nEz badizu deskargatzeko aukerarik eman, edo kantzalatu egin baduzu, hurrengo linkean klikatu berrabiatzeko:\n\n$3\n\nOharra: Instalazio prozesuatik ateratzen bazara konfigurazio artxikoa deskargatu barik, gero ez da egongo eskuragarri.\n\nBehin hori eginda, [$2 enter your wiki] ahal duzu.", "config-download-localsettings": "Jaitsi LocalSettings.php", "config-help": "Laguntza", "config-help-tooltip": "sakatu zabaltzeko", "config-nofile": "Ezin da \"$1\" fitxategia aurkitu. Ezabatua izan da?", + "config-extension-link": "Ba al zenekien wikiak [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensions] onartzen dituela?\n\nArakatu [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensions by category] edo [https://www.mediawiki.org/wiki/Extension_Matrix Extension Matrix] ikusi ahal izateko luzapenen zerrenda.", + "config-skins-screenshots": "$1 (Pantaila-irudia: $2)", + "config-screenshot": "Pantaila-irudia", "mainpagetext": "MediaWiki instalatu da.", "mainpagedocfooter": "Ikus [https://meta.wikimedia.org/wiki/Help:Contents Erabiltzaile Gida] wiki softwarea erabiltzen hasteko informazio gehiagorako.\n\n== Nola hasi ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Konfigurazio balioen zerrenda]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ (Maiz egindako galderak)]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWikiren argitalpenen posta zerrenda]" } diff --git a/includes/installer/i18n/zh-hant.json b/includes/installer/i18n/zh-hant.json index ab365ec2f1..96f0ef136b 100644 --- a/includes/installer/i18n/zh-hant.json +++ b/includes/installer/i18n/zh-hant.json @@ -19,7 +19,8 @@ "Suchichi02", "Winstonyin", "Wehwei", - "Wwycheuk" + "Wwycheuk", + "蘭斯特" ] }, "config-desc": "MediaWiki 安裝程式", @@ -325,6 +326,8 @@ "config-help-tooltip": "點選以展開", "config-nofile": "查無檔案 \"$1\",是否已被刪除?", "config-extension-link": "您是否了解您的 Wiki 支援 [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions 擴充套件]?\n\n\n您可以瀏覽 [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category 擴充套件分類] 或 [https://www.mediawiki.org/wiki/Extension_Matrix 擴充套件資料表] 以取得相關的資訊。", + "config-skins-screenshots": "$1 (螢幕截圖: $2)", + "config-screenshot": "螢幕截圖", "mainpagetext": "已安裝 MediaWiki。", "mainpagedocfooter": "有關使用wiki的訊息,請參閱[https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents 使用者指南]。\n\n== 新手入門 ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings 系統設定]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki常見問題]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki郵寄清單]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources 將MediaWiki翻譯至您的語言]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam 了解如何在您的wiki上防禦破壞]" } diff --git a/includes/jobqueue/JobRunner.php b/includes/jobqueue/JobRunner.php index db881d5eb9..fa7d605731 100644 --- a/includes/jobqueue/JobRunner.php +++ b/includes/jobqueue/JobRunner.php @@ -119,6 +119,7 @@ class JobRunner implements LoggerAwareInterface { $response['reached'] = 'none-possible'; return $response; } + // Bail out if DB is in read-only mode if ( wfReadOnly() ) { $response['reached'] = 'read-only'; @@ -126,6 +127,9 @@ class JobRunner implements LoggerAwareInterface { } $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory(); + if ( $lbFactory->hasTransactionRound() ) { + throw new LogicException( __METHOD__ . ' called with an active transaction round.' ); + } // Bail out if there is too much DB lag. // This check should not block as we want to try other wiki queues. list( , $maxLag ) = $lbFactory->getMainLB( wfWikiID() )->getMaxLag(); @@ -134,9 +138,6 @@ class JobRunner implements LoggerAwareInterface { return $response; } - // Flush any pending DB writes for sanity - $lbFactory->commitAll( __METHOD__ ); - // Catch huge single updates that lead to replica DB lag $trxProfiler = Profiler::instance()->getTransactionProfiler(); $trxProfiler->setLogger( LoggerFactory::getInstance( 'DBPerformance' ) ); @@ -170,7 +171,6 @@ class JobRunner implements LoggerAwareInterface { } else { $job = $group->pop( $type ); // job from a single queue } - $lbFactory->commitMasterChanges( __METHOD__ ); // flush any JobQueueDB writes if ( $job ) { // found a job ++$jobsPopped; @@ -193,7 +193,6 @@ class JobRunner implements LoggerAwareInterface { $info = $this->executeJob( $job, $lbFactory, $stats, $popTime ); if ( $info['status'] !== false || !$job->allowRetries() ) { $group->ack( $job ); // succeeded or job cannot be retried - $lbFactory->commitMasterChanges( __METHOD__ ); // flush any JobQueueDB writes } // Back off of certain jobs for a while (for throttling and for errors) diff --git a/includes/jobqueue/jobs/HTMLCacheUpdateJob.php b/includes/jobqueue/jobs/HTMLCacheUpdateJob.php index e8edab59b4..4d75cb303c 100644 --- a/includes/jobqueue/jobs/HTMLCacheUpdateJob.php +++ b/includes/jobqueue/jobs/HTMLCacheUpdateJob.php @@ -169,6 +169,20 @@ class HTMLCacheUpdateJob extends Job { } } + public function getDeduplicationInfo() { + $info = parent::getDeduplicationInfo(); + if ( is_array( $info['params'] ) ) { + // For per-pages jobs, the job title is that of the template that changed + // (or similar), so remove that since it ruins duplicate detection + if ( isset( $info['params']['pages'] ) ) { + unset( $info['namespace'] ); + unset( $info['title'] ); + } + } + + return $info; + } + public function workItemCount() { if ( !empty( $this->params['recursive'] ) ) { return 0; // nothing actually purged diff --git a/includes/jobqueue/jobs/RefreshLinksJob.php b/includes/jobqueue/jobs/RefreshLinksJob.php index 424fcecb2d..51e964d54f 100644 --- a/includes/jobqueue/jobs/RefreshLinksJob.php +++ b/includes/jobqueue/jobs/RefreshLinksJob.php @@ -291,7 +291,7 @@ class RefreshLinksJob extends Job { if ( is_array( $info['params'] ) ) { // For per-pages jobs, the job title is that of the template that changed // (or similar), so remove that since it ruins duplicate detection - if ( isset( $info['pages'] ) ) { + if ( isset( $info['params']['pages'] ) ) { unset( $info['namespace'] ); unset( $info['title'] ); } diff --git a/includes/libs/objectcache/BagOStuff.php b/includes/libs/objectcache/BagOStuff.php index 8a23db515b..d6cb340551 100644 --- a/includes/libs/objectcache/BagOStuff.php +++ b/includes/libs/objectcache/BagOStuff.php @@ -732,7 +732,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface { * @since 1.27 * @param string $keyspace * @param array $args - * @return string + * @return string Colon-delimited list of $keyspace followed by escaped components of $args */ public function makeKeyInternal( $keyspace, $args ) { $key = $keyspace; @@ -747,8 +747,8 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface { * Make a global cache key. * * @since 1.27 - * @param string $keys,... Key component - * @return string + * @param string $keys,... Key component (starting with a key collection name) + * @return string Colon-delimited list of $keyspace followed by escaped components of $args */ public function makeGlobalKey() { return $this->makeKeyInternal( 'global', func_get_args() ); @@ -758,8 +758,8 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface { * Make a cache key, scoped to this instance's keyspace. * * @since 1.27 - * @param string $keys,... Key component - * @return string + * @param string $keys,... Key component (starting with a key collection name) + * @return string Colon-delimited list of $keyspace followed by escaped components of $args */ public function makeKey() { return $this->makeKeyInternal( $this->keyspace, func_get_args() ); diff --git a/includes/libs/objectcache/WANObjectCache.php b/includes/libs/objectcache/WANObjectCache.php index 1f757a41e9..0531d7f709 100644 --- a/includes/libs/objectcache/WANObjectCache.php +++ b/includes/libs/objectcache/WANObjectCache.php @@ -686,8 +686,11 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { * having to inspect a "current time left" variable (e.g. $curTTL, $curTTLs), a cache * regeneration will automatically be triggered using the callback. * - * The simplest way to avoid stampedes for hot keys is to use - * the 'lockTSE' option in $opts. If cache purges are needed, also: + * The $ttl argument and "hotTTR" option (in $opts) use time-dependant randomization + * to avoid stampedes. Keys that are slow to regenerate and either heavily used + * or subject to explicit (unpredictable) purges, may need additional mechanisms. + * The simplest way to avoid stampedes for such keys is to use 'lockTSE' (in $opts). + * If explicit purges are needed, also: * - a) Pass $key into $checkKeys * - b) Use touchCheckKey( $key ) instead of delete( $key ) * @@ -839,11 +842,13 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { * This is useful if the source of a key is suspected of having possibly changed * recently, and the caller wants any such changes to be reflected. * Default: WANObjectCache::MIN_TIMESTAMP_NONE. - * - hotTTR: Expected time-till-refresh for keys that average ~1 hit/second. - * This should be greater than "ageNew". Keys with higher hit rates will regenerate - * more often. This is useful when a popular key is changed but the cache purge was - * delayed or lost. Seldom used keys are rarely affected by this setting, unless an - * extremely low "hotTTR" value is passed in. + * - hotTTR: Expected time-till-refresh (TTR) for keys that average ~1 hit/second (1 Hz). + * Keys with a hit rate higher than 1Hz will refresh sooner than this TTR and vise versa. + * Such refreshes won't happen until keys are "ageNew" seconds old. The TTR is useful at + * reducing the impact of missed cache purges, since the effect of a heavily referenced + * key being stale is worse than that of a rarely referenced key. Unlike simply lowering + * $ttl, seldomly used keys are largely unaffected by this option, which makes it possible + * to have a high hit rate for the "long-tail" of less-used keys. * Default: WANObjectCache::HOT_TTR. * - lowTTL: Consider pre-emptive updates when the current TTL (seconds) of the key is less * than this. It becomes more likely over time, becoming certain once the key is expired. @@ -964,6 +969,10 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { // A deleted key with a negative TTL left must be tombstoned $isTombstone = ( $curTTL !== null && $value === false ); + if ( $isTombstone && $lockTSE <= 0 ) { + // Use the INTERIM value for tombstoned keys to reduce regeneration load + $lockTSE = 1; + } // Assume a key is hot if requested soon after invalidation $isHot = ( $curTTL !== null && $curTTL <= 0 && abs( $curTTL ) <= $lockTSE ); // Use the mutex if there is no value and a busy fallback is given @@ -987,11 +996,8 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { // Use the INTERIM value for tombstoned keys to reduce regeneration load. // For hot keys, either another thread has the lock or the lock failed; // use the INTERIM value from the last thread that regenerated it. - $wrapped = $this->cache->get( self::INTERIM_KEY_PREFIX . $key ); - list( $value ) = $this->unwrap( $wrapped, microtime( true ) ); - if ( $value !== false && $this->isValid( $value, $versioned, $asOf, $minTime ) ) { - $asOf = $wrapped[self::FLD_TIME]; - + $value = $this->getInterimValue( $key, $versioned, $minTime, $asOf ); + if ( $value !== false ) { return $value; } // Use the busy fallback value if nothing else @@ -1013,24 +1019,19 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { } finally { --$this->callbackDepth; } + $valueIsCacheable = ( $value !== false && $ttl >= 0 ); + // When delete() is called, writes are write-holed by the tombstone, // so use a special INTERIM key to pass the new value around threads. - if ( ( $isTombstone && $lockTSE > 0 ) && $value !== false && $ttl >= 0 ) { + if ( ( $isTombstone && $lockTSE > 0 ) && $valueIsCacheable ) { $tempTTL = max( 1, (int)$lockTSE ); // set() expects seconds $newAsOf = microtime( true ); $wrapped = $this->wrap( $value, $tempTTL, $newAsOf ); // Avoid using set() to avoid pointless mcrouter broadcasting - $this->cache->merge( - self::INTERIM_KEY_PREFIX . $key, - function () use ( $wrapped ) { - return $wrapped; - }, - $tempTTL, - 1 - ); + $this->setInterimValue( $key, $wrapped, $tempTTL ); } - if ( $value !== false && $ttl >= 0 ) { + if ( $valueIsCacheable ) { $setOpts['lockTSE'] = $lockTSE; // Use best known "since" timestamp if not provided $setOpts += [ 'since' => $preCallbackTime ]; @@ -1040,12 +1041,47 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { if ( $lockAcquired ) { // Avoid using delete() to avoid pointless mcrouter broadcasting - $this->cache->changeTTL( self::MUTEX_KEY_PREFIX . $key, 1 ); + $this->cache->changeTTL( self::MUTEX_KEY_PREFIX . $key, (int)$preCallbackTime - 60 ); } return $value; } + /** + * @param string $key + * @param bool $versioned + * @param float $minTime + * @param mixed $asOf + * @return mixed + */ + protected function getInterimValue( $key, $versioned, $minTime, &$asOf ) { + $wrapped = $this->cache->get( self::INTERIM_KEY_PREFIX . $key ); + list( $value ) = $this->unwrap( $wrapped, microtime( true ) ); + if ( $value !== false && $this->isValid( $value, $versioned, $asOf, $minTime ) ) { + $asOf = $wrapped[self::FLD_TIME]; + + return $value; + } + + return false; + } + + /** + * @param string $key + * @param array $wrapped + * @param int $tempTTL + */ + protected function setInterimValue( $key, $wrapped, $tempTTL ) { + $this->cache->merge( + self::INTERIM_KEY_PREFIX . $key, + function () use ( $wrapped ) { + return $wrapped; + }, + $tempTTL, + 1 + ); + } + /** * Method to fetch multiple cache keys at once with regeneration * @@ -1083,7 +1119,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { * $setOpts += Database::getCacheSetOptions( $dbr ); * * // Load the row for this file - * $row = $dbr->selectRow( 'file', '*', [ 'id' => $id ], __METHOD__ ); + * $row = $dbr->selectRow( 'file', File::selectFields(), [ 'id' => $id ], __METHOD__ ); * * return $row ? (array)$row : false; * }, @@ -1169,7 +1205,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { * * // Load the rows for these files * $rows = []; - * $res = $dbr->select( 'file', '*', [ 'id' => $ids ], __METHOD__ ); + * $res = $dbr->select( 'file', File::selectFields(), [ 'id' => $ids ], __METHOD__ ); * foreach ( $res as $row ) { * $rows[$row->id] = $row; * $mtime = wfTimestamp( TS_UNIX, $row->timestamp ); @@ -1315,8 +1351,8 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { /** * @see BagOStuff::makeKey() - * @param string $keys,... Key component - * @return string + * @param string $keys,... Key component (starting with a key collection name) + * @return string Colon-delimited list of $keyspace followed by escaped components of $args * @since 1.27 */ public function makeKey() { @@ -1325,8 +1361,8 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { /** * @see BagOStuff::makeGlobalKey() - * @param string $keys,... Key component - * @return string + * @param string $keys,... Key component (starting with a key collection name) + * @return string Colon-delimited list of $keyspace followed by escaped components of $args * @since 1.27 */ public function makeGlobalKey() { @@ -1507,7 +1543,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { } /** - * Check if a key should be regenerated (using random probability) + * Check if a key is nearing expiration and thus due for randomized regeneration * * This returns false if $curTTL >= $lowTTL. Otherwise, the chance * of returning true increases steadily from 0% to 100% as the $curTTL @@ -1724,7 +1760,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface { return array_diff( $keys, $keysFound ); } - /** + /** * @param array $keys * @param array $checkKeys * @return array Map of (cache key => mixed) diff --git a/includes/libs/rdbms/database/Database.php b/includes/libs/rdbms/database/Database.php index bc1454baec..c04e167738 100644 --- a/includes/libs/rdbms/database/Database.php +++ b/includes/libs/rdbms/database/Database.php @@ -2015,11 +2015,21 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware // No alias? Set it equal to the table name $alias = $table; } + + if ( is_array( $table ) ) { + // A parenthesized group + $joinedTable = '(' + . $this->tableNamesWithIndexClauseOrJOIN( $table, $use_index, $ignore_index, $join_conds ) + . ')'; + } else { + $joinedTable = $this->tableNameWithAlias( $table, $alias ); + } + // Is there a JOIN clause for this table? if ( isset( $join_conds[$alias] ) ) { list( $joinType, $conds ) = $join_conds[$alias]; $tableClause = $joinType; - $tableClause .= ' ' . $this->tableNameWithAlias( $table, $alias ); + $tableClause .= ' ' . $joinedTable; if ( isset( $use_index[$alias] ) ) { // has USE INDEX? $use = $this->useIndexClause( implode( ',', (array)$use_index[$alias] ) ); if ( $use != '' ) { @@ -2041,7 +2051,7 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware $retJOIN[] = $tableClause; } elseif ( isset( $use_index[$alias] ) ) { // Is there an INDEX clause for this table? - $tableClause = $this->tableNameWithAlias( $table, $alias ); + $tableClause = $joinedTable; $tableClause .= ' ' . $this->useIndexClause( implode( ',', (array)$use_index[$alias] ) ); @@ -2049,14 +2059,14 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware $ret[] = $tableClause; } elseif ( isset( $ignore_index[$alias] ) ) { // Is there an INDEX clause for this table? - $tableClause = $this->tableNameWithAlias( $table, $alias ); + $tableClause = $joinedTable; $tableClause .= ' ' . $this->ignoreIndexClause( implode( ',', (array)$ignore_index[$alias] ) ); $ret[] = $tableClause; } else { - $tableClause = $this->tableNameWithAlias( $table, $alias ); + $tableClause = $joinedTable; $ret[] = $tableClause; } diff --git a/includes/libs/rdbms/database/DatabaseMssql.php b/includes/libs/rdbms/database/DatabaseMssql.php index 8a69eec428..53beb65f9a 100644 --- a/includes/libs/rdbms/database/DatabaseMssql.php +++ b/includes/libs/rdbms/database/DatabaseMssql.php @@ -440,8 +440,14 @@ class DatabaseMssql extends Database { if ( strpos( $sql, 'MAX(' ) !== false || strpos( $sql, 'MIN(' ) !== false ) { $bitColumns = []; if ( is_array( $table ) ) { - foreach ( $table as $t ) { - $bitColumns += $this->getBitColumns( $this->tableName( $t ) ); + $tables = $table; + while ( $tables ) { + $t = array_pop( $tables ); + if ( is_array( $t ) ) { + $tables = array_merge( $tables, $t ); + } else { + $bitColumns += $this->getBitColumns( $this->tableName( $t ) ); + } } } else { $bitColumns = $this->getBitColumns( $this->tableName( $table ) ); diff --git a/includes/libs/rdbms/database/DatabasePostgres.php b/includes/libs/rdbms/database/DatabasePostgres.php index 5a7da4976f..8c21d726b0 100644 --- a/includes/libs/rdbms/database/DatabasePostgres.php +++ b/includes/libs/rdbms/database/DatabasePostgres.php @@ -532,26 +532,30 @@ __INDEXATTR__; unset( $options[$forUpdateKey] ); $options['FOR UPDATE'] = []; - // All tables not in $join_conds are good - foreach ( $table as $alias => $name ) { - if ( is_numeric( $alias ) ) { + $toCheck = $table; + reset( $toCheck ); + while ( $toCheck ) { + $alias = key( $toCheck ); + $name = $toCheck[$alias]; + unset( $toCheck[$alias] ); + + $hasAlias = !is_numeric( $alias ); + if ( !$hasAlias && is_string( $name ) ) { $alias = $name; } - if ( !isset( $join_conds[$alias] ) ) { - $options['FOR UPDATE'][] = $alias; - } - } - foreach ( $join_conds as $table_cond => $join_cond ) { - if ( 0 === preg_match( '/^(?:LEFT|RIGHT|FULL)(?: OUTER)? JOIN$/i', $join_cond[0] ) ) { - $options['FOR UPDATE'][] = $table_cond; + if ( !isset( $join_conds[$alias] ) || + !preg_match( '/^(?:LEFT|RIGHT|FULL)(?: OUTER)? JOIN$/i', $join_conds[$alias][0] ) + ) { + if ( is_array( $name ) ) { + // It's a parenthesized group, process all the tables inside the group. + $toCheck = array_merge( $toCheck, $name ); + } else { + // Quote alias names so $this->tableName() won't mangle them + $options['FOR UPDATE'][] = $hasAlias ? $this->addIdentifierQuotes( $alias ) : $alias; + } } } - - // Quote alias names so $this->tableName() won't mangle them - $options['FOR UPDATE'] = array_map( function ( $name ) use ( $table ) { - return isset( $table[$name] ) ? $this->addIdentifierQuotes( $name ) : $name; - }, $options['FOR UPDATE'] ); } if ( isset( $options['ORDER BY'] ) && $options['ORDER BY'] == 'NULL' ) { diff --git a/includes/libs/rdbms/database/IDatabase.php b/includes/libs/rdbms/database/IDatabase.php index 67e8e85518..868c2d4b00 100644 --- a/includes/libs/rdbms/database/IDatabase.php +++ b/includes/libs/rdbms/database/IDatabase.php @@ -620,6 +620,19 @@ interface IDatabase { * This includes the user table in the query, with the alias "a" available * for use in field names (e.g. a.user_name). * + * Joins using parentheses for grouping (since MediaWiki 1.31) may be + * constructed using nested arrays. For example, + * + * [ 'tableA', 'nestedB' => [ 'tableB', 'b2' => 'tableB2' ] ] + * + * along with `$join_conds` like + * + * [ 'b2' => [ 'JOIN', 'b_id = b2_id' ], 'nestedB' => [ 'LEFT JOIN', 'b_a = a_id' ] ] + * + * will produce SQL something like + * + * FROM tableA LEFT JOIN (tableB JOIN tableB2 AS b2 ON (b_id = b2_id)) ON (b_a = a_id) + * * All of the table names given here are automatically run through * Database::tableName(), which causes the table prefix (if any) to be * added, and various other table name mappings to be performed. diff --git a/includes/logging/BlockLogFormatter.php b/includes/logging/BlockLogFormatter.php index 1ed18cd0bb..a5af02691e 100644 --- a/includes/logging/BlockLogFormatter.php +++ b/includes/logging/BlockLogFormatter.php @@ -22,8 +22,6 @@ * @since 1.25 */ -use MediaWiki\MediaWikiServices; - /** * This class formats block log entries. * @@ -99,7 +97,7 @@ class BlockLogFormatter extends LogFormatter { public function getActionLinks() { $subtype = $this->entry->getSubtype(); - $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer(); + $linkRenderer = $this->getLinkRenderer(); if ( $this->entry->isDeleted( LogPage::DELETED_ACTION ) // Action is hidden || !( $subtype === 'block' || $subtype === 'reblock' ) || !$this->context->getUser()->isAllowed( 'block' ) diff --git a/includes/logging/ContentModelLogFormatter.php b/includes/logging/ContentModelLogFormatter.php index 861ea3021b..e05357cd68 100644 --- a/includes/logging/ContentModelLogFormatter.php +++ b/includes/logging/ContentModelLogFormatter.php @@ -1,7 +1,5 @@ context->getLanguage(); @@ -20,7 +18,7 @@ class ContentModelLogFormatter extends LogFormatter { } $params = $this->extractParameters(); - $revert = MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink( + $revert = $this->getLinkRenderer()->makeKnownLink( SpecialPage::getTitleFor( 'ChangeContentModel' ), $this->msg( 'logentry-contentmodel-change-revertlink' )->text(), [], diff --git a/includes/logging/DeleteLogFormatter.php b/includes/logging/DeleteLogFormatter.php index ceb00520bf..ef00634520 100644 --- a/includes/logging/DeleteLogFormatter.php +++ b/includes/logging/DeleteLogFormatter.php @@ -23,8 +23,6 @@ * @since 1.22 */ -use MediaWiki\MediaWikiServices; - /** * This class formats delete log entries. * @@ -135,7 +133,7 @@ class DeleteLogFormatter extends LogFormatter { public function getActionLinks() { $user = $this->context->getUser(); - $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer(); + $linkRenderer = $this->getLinkRenderer(); if ( !$user->isAllowed( 'deletedhistory' ) || $this->entry->isDeleted( LogPage::DELETED_ACTION ) ) { diff --git a/includes/logging/LogFormatter.php b/includes/logging/LogFormatter.php index 0f1e1f7f1e..b28bb7df77 100644 --- a/includes/logging/LogFormatter.php +++ b/includes/logging/LogFormatter.php @@ -261,19 +261,15 @@ class LogFormatter { $text = wfMessage( 'undeletedarticle' ) ->rawParams( $target )->inContentLanguage()->escaped(); break; - // @codingStandardsIgnoreStart Long line //case 'revision': // Revision deletion //case 'event': // Log deletion // see https://github.com/wikimedia/mediawiki/commit/a9c243b7b5289dad204278dbe7ed571fd914e395 //default: - // @codingStandardsIgnoreEnd } break; case 'patrol': - // @codingStandardsIgnoreStart Long line // https://github.com/wikimedia/mediawiki/commit/1a05f8faf78675dc85984f27f355b8825b43efff - // @codingStandardsIgnoreEnd // Create a diff link to the patrolled revision if ( $entry->getSubtype() === 'patrol' ) { $diffLink = htmlspecialchars( @@ -644,12 +640,13 @@ class LogFormatter { * @return string */ protected function makePageLink( Title $title = null, $parameters = [], $html = null ) { + if ( !$title instanceof Title ) { + throw new MWException( 'Expected title, got null' ); + } if ( !$this->plaintext ) { - $link = Linker::link( $title, $html, [], $parameters ); + $html = $html !== null ? new HtmlArmor( $html ) : $html; + $link = $this->getLinkRenderer()->makeLink( $title, $html, [], $parameters ); } else { - if ( !$title instanceof Title ) { - throw new MWException( "Expected title, got null" ); - } $link = '[[' . $title->getPrefixedText() . ']]'; } diff --git a/includes/logging/MergeLogFormatter.php b/includes/logging/MergeLogFormatter.php index b0edd4c07f..8775097dd6 100644 --- a/includes/logging/MergeLogFormatter.php +++ b/includes/logging/MergeLogFormatter.php @@ -54,9 +54,9 @@ class MergeLogFormatter extends LogFormatter { // Show unmerge link $params = $this->extractParameters(); - $revert = Linker::linkKnown( + $revert = $this->getLinkRenderer()->makeKnownLink( SpecialPage::getTitleFor( 'MergeHistory' ), - $this->msg( 'revertmerge' )->escaped(), + $this->msg( 'revertmerge' )->text(), [], [ 'target' => $params[3], diff --git a/includes/logging/MoveLogFormatter.php b/includes/logging/MoveLogFormatter.php index afbf8e95e6..43ca0ea1d5 100644 --- a/includes/logging/MoveLogFormatter.php +++ b/includes/logging/MoveLogFormatter.php @@ -71,9 +71,9 @@ class MoveLogFormatter extends LogFormatter { return ''; } - $revert = Linker::linkKnown( + $revert = $this->getLinkRenderer()->makeKnownLink( SpecialPage::getTitleFor( 'Movepage' ), - $this->msg( 'revertmove' )->escaped(), + $this->msg( 'revertmove' )->text(), [], [ 'wpOldTitle' => $destTitle->getPrefixedDBkey(), diff --git a/includes/logging/PatrolLogFormatter.php b/includes/logging/PatrolLogFormatter.php index bbd8badc8a..894f59b0ac 100644 --- a/includes/logging/PatrolLogFormatter.php +++ b/includes/logging/PatrolLogFormatter.php @@ -22,7 +22,6 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later * @since 1.22 */ -use MediaWiki\MediaWikiServices; /** * This class formats patrol log entries. @@ -55,8 +54,7 @@ class PatrolLogFormatter extends LogFormatter { 'oldid' => $oldid, 'diff' => 'prev' ]; - $revlink = MediaWikiServices::getInstance()->getLinkRenderer()->makeLink( - $target, $revision, [], $query ); + $revlink = $this->getLinkRenderer()->makeLink( $target, $revision, [], $query ); } else { $revlink = htmlspecialchars( $revision ); } diff --git a/includes/logging/ProtectLogFormatter.php b/includes/logging/ProtectLogFormatter.php index 9e5eea54ca..64ec626935 100644 --- a/includes/logging/ProtectLogFormatter.php +++ b/includes/logging/ProtectLogFormatter.php @@ -21,7 +21,6 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later * @since 1.26 */ -use MediaWiki\MediaWikiServices; /** * This class formats protect log entries. @@ -78,7 +77,7 @@ class ProtectLogFormatter extends LogFormatter { } public function getActionLinks() { - $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer(); + $linkRenderer = $this->getLinkRenderer(); $subtype = $this->entry->getSubtype(); if ( $this->entry->isDeleted( LogPage::DELETED_ACTION ) // Action is hidden || $subtype === 'move_prot' // the move log entry has the right action link diff --git a/includes/page/ImagePage.php b/includes/page/ImagePage.php index 62f5d00c33..639cbd07d6 100644 --- a/includes/page/ImagePage.php +++ b/includes/page/ImagePage.php @@ -963,7 +963,7 @@ EOT $fromSrc = $this->getContext()->msg( 'shared-repo-from', $file->getRepo()->getDisplayName() - )->text(); + )->escaped(); } $out->addHTML( "
  • {$link} {$fromSrc}
  • \n" ); } diff --git a/includes/parser/Parser.php b/includes/parser/Parser.php index 49f2ce1def..f2e47dc36a 100644 --- a/includes/parser/Parser.php +++ b/includes/parser/Parser.php @@ -2504,10 +2504,10 @@ class Parser { $value = '|'; break; case 'currentmonth': - $value = $pageLang->formatNum( MWTimestamp::getInstance( $ts )->format( 'm' ) ); + $value = $pageLang->formatNum( MWTimestamp::getInstance( $ts )->format( 'm' ), true ); break; case 'currentmonth1': - $value = $pageLang->formatNum( MWTimestamp::getInstance( $ts )->format( 'n' ) ); + $value = $pageLang->formatNum( MWTimestamp::getInstance( $ts )->format( 'n' ), true ); break; case 'currentmonthname': $value = $pageLang->getMonthName( MWTimestamp::getInstance( $ts )->format( 'n' ) ); @@ -2519,16 +2519,16 @@ class Parser { $value = $pageLang->getMonthAbbreviation( MWTimestamp::getInstance( $ts )->format( 'n' ) ); break; case 'currentday': - $value = $pageLang->formatNum( MWTimestamp::getInstance( $ts )->format( 'j' ) ); + $value = $pageLang->formatNum( MWTimestamp::getInstance( $ts )->format( 'j' ), true ); break; case 'currentday2': - $value = $pageLang->formatNum( MWTimestamp::getInstance( $ts )->format( 'd' ) ); + $value = $pageLang->formatNum( MWTimestamp::getInstance( $ts )->format( 'd' ), true ); break; case 'localmonth': - $value = $pageLang->formatNum( MWTimestamp::getLocalInstance( $ts )->format( 'm' ) ); + $value = $pageLang->formatNum( MWTimestamp::getLocalInstance( $ts )->format( 'm' ), true ); break; case 'localmonth1': - $value = $pageLang->formatNum( MWTimestamp::getLocalInstance( $ts )->format( 'n' ) ); + $value = $pageLang->formatNum( MWTimestamp::getLocalInstance( $ts )->format( 'n' ), true ); break; case 'localmonthname': $value = $pageLang->getMonthName( MWTimestamp::getLocalInstance( $ts )->format( 'n' ) ); @@ -2540,10 +2540,10 @@ class Parser { $value = $pageLang->getMonthAbbreviation( MWTimestamp::getLocalInstance( $ts )->format( 'n' ) ); break; case 'localday': - $value = $pageLang->formatNum( MWTimestamp::getLocalInstance( $ts )->format( 'j' ) ); + $value = $pageLang->formatNum( MWTimestamp::getLocalInstance( $ts )->format( 'j' ), true ); break; case 'localday2': - $value = $pageLang->formatNum( MWTimestamp::getLocalInstance( $ts )->format( 'd' ) ); + $value = $pageLang->formatNum( MWTimestamp::getLocalInstance( $ts )->format( 'd' ), true ); break; case 'pagename': $value = wfEscapeWikiText( $this->mTitle->getText() ); diff --git a/includes/parser/ParserOptions.php b/includes/parser/ParserOptions.php index c7146a1306..5e2845ffe2 100644 --- a/includes/parser/ParserOptions.php +++ b/includes/parser/ParserOptions.php @@ -1062,13 +1062,11 @@ class ParserOptions { 'speculativeRevIdCallback' => null, ]; - // @codingStandardsIgnoreStart Squiz.WhiteSpace.OperatorSpacing.NoSpaceAfterAmp Hooks::run( 'ParserOptionsRegister', [ &self::$defaults, &self::$inCacheKey, &self::$lazyOptions, ] ); - // @codingStandardsIgnoreEnd ksort( self::$inCacheKey ); } diff --git a/includes/resourceloader/ResourceLoader.php b/includes/resourceloader/ResourceLoader.php index c58bb00b94..b2e1c49cfd 100644 --- a/includes/resourceloader/ResourceLoader.php +++ b/includes/resourceloader/ResourceLoader.php @@ -728,6 +728,8 @@ class ResourceLoader implements LoggerAwareInterface { // See https://bugs.php.net/bug.php?id=36514 ob_start(); + $this->measureResponseTime( RequestContext::getMain()->getTiming() ); + // Find out which modules are missing and instantiate the others $modules = []; $missing = []; @@ -828,6 +830,16 @@ class ResourceLoader implements LoggerAwareInterface { echo $response; } + protected function measureResponseTime( Timing $timing ) { + DeferredUpdates::addCallableUpdate( function () use ( $timing ) { + $measure = $timing->measure( 'responseTime', 'requestStart', 'requestShutdown' ); + if ( $measure !== false ) { + $stats = MediaWikiServices::getInstance()->getStatsdDataFactory(); + $stats->timing( 'resourceloader.responseTime', $measure['duration'] * 1000 ); + } + } ); + } + /** * Send main response headers to the client. * diff --git a/includes/shell/Command.php b/includes/shell/Command.php index 4e0c0ec309..1816c5aed1 100644 --- a/includes/shell/Command.php +++ b/includes/shell/Command.php @@ -63,7 +63,7 @@ class Command { private $everExecuted = false; /** @var string|false */ - private $cGroup = false; + private $cgroup = false; /** * Constructor. Don't call directly, instead use Shell::command() @@ -83,12 +83,14 @@ class Command { */ public function __destruct() { if ( !$this->everExecuted ) { + $context = [ 'command' => $this->command ]; $message = __CLASS__ . " was instantiated, but execute() was never called."; if ( $this->method ) { - $message .= " Calling method: {$this->method}."; + $message .= ' Calling method: {method}.'; + $context['method'] = $this->method; } - $message .= " Command: {$this->command}"; - trigger_error( $message, E_USER_NOTICE ); + $message .= ' Command: {command}'; + $this->logger->warning( $message, $context ); } } @@ -131,10 +133,16 @@ class Command { /** * Sets execution limits * - * @param array $limits Optional array with limits(filesize, memory, time, walltime). + * @param array $limits Associative array of limits. Keys (all optional): + * filesize (for ulimit -f), memory, time, walltime. * @return $this */ public function limits( array $limits ) { + if ( !isset( $limits['walltime'] ) && isset( $limits['time'] ) ) { + // Emulate the behavior of old wfShellExec() where walltime fell back on time + // if the latter was overridden and the former wasn't + $limits['walltime'] = $limits['time']; + } $this->limits = $limits + $this->limits; return $this; @@ -180,29 +188,22 @@ class Command { /** * Sets cgroup for this command * - * @param string|false $cgroup + * @param string|false $cgroup Absolute file path to the cgroup, or false to not use a cgroup * @return $this */ public function cgroup( $cgroup ) { - $this->cGroup = $cgroup; + $this->cgroup = $cgroup; return $this; } /** - * Executes command. Afterwards, getExitCode() and getOutput() can be used to access execution - * results. + * String together all the options and build the final command + * to execute * - * @return Result - * @throws Exception - * @throws ProcOpenError - * @throws ShellDisabledError + * @return array [ command, whether to use log pipe ] */ - public function execute() { - $this->everExecuted = true; - - $profileMethod = $this->method ?: wfGetCaller(); - + protected function buildFinalCommand() { $envcmd = ''; foreach ( $this->env as $k => $v ) { if ( wfIsWindows() ) { @@ -221,37 +222,54 @@ class Command { } } + $useLogPipe = false; $cmd = $envcmd . trim( $this->command ); - $useLogPipe = false; if ( is_executable( '/bin/bash' ) ) { $time = intval( $this->limits['time'] ); $wallTime = intval( $this->limits['walltime'] ); - // for b/c, wall time falls back to time - $wallTime = min( $time, $wallTime ); $mem = intval( $this->limits['memory'] ); $filesize = intval( $this->limits['filesize'] ); if ( $time > 0 || $mem > 0 || $filesize > 0 || $wallTime > 0 ) { $cmd = '/bin/bash ' . escapeshellarg( __DIR__ . '/limit.sh' ) . ' ' . - escapeshellarg( $cmd ) . ' ' . - escapeshellarg( - "MW_INCLUDE_STDERR=" . ( $this->useStderr ? '1' : '' ) . ';' . - "MW_CPU_LIMIT=$time; " . - 'MW_CGROUP=' . escapeshellarg( $this->cGroup ) . '; ' . - "MW_MEM_LIMIT=$mem; " . - "MW_FILE_SIZE_LIMIT=$filesize; " . - "MW_WALL_CLOCK_LIMIT=$wallTime; " . - "MW_USE_LOG_PIPE=yes" - ); + escapeshellarg( $cmd ) . ' ' . + escapeshellarg( + "MW_INCLUDE_STDERR=" . ( $this->useStderr ? '1' : '' ) . ';' . + "MW_CPU_LIMIT=$time; " . + 'MW_CGROUP=' . escapeshellarg( $this->cgroup ) . '; ' . + "MW_MEM_LIMIT=$mem; " . + "MW_FILE_SIZE_LIMIT=$filesize; " . + "MW_WALL_CLOCK_LIMIT=$wallTime; " . + "MW_USE_LOG_PIPE=yes" + ); $useLogPipe = true; - } elseif ( $this->useStderr ) { - $cmd .= ' 2>&1'; } - } elseif ( $this->useStderr ) { + } + if ( !$useLogPipe && $this->useStderr ) { $cmd .= ' 2>&1'; } - wfDebug( __METHOD__ . ": $cmd\n" ); + + return [ $cmd, $useLogPipe ]; + } + + /** + * Executes command. Afterwards, getExitCode() and getOutput() can be used to access execution + * results. + * + * @return Result + * @throws Exception + * @throws ProcOpenError + * @throws ShellDisabledError + */ + public function execute() { + $this->everExecuted = true; + + $profileMethod = $this->method ?: wfGetCaller(); + + list( $cmd, $useLogPipe ) = $this->buildFinalCommand(); + + $this->logger->debug( __METHOD__ . ": $cmd" ); // Don't try to execute commands that exceed Linux's MAX_ARG_STRLEN. // Other platforms may be more accomodating, but we don't want to be @@ -259,13 +277,13 @@ class Command { // input. See T129506. if ( strlen( $cmd ) > SHELL_MAX_ARG_STRLEN ) { throw new Exception( __METHOD__ . - '(): total length of $cmd must not exceed SHELL_MAX_ARG_STRLEN' ); + '(): total length of $cmd must not exceed SHELL_MAX_ARG_STRLEN' ); } $desc = [ 0 => [ 'file', 'php://stdin', 'r' ], 1 => [ 'pipe', 'w' ], - 2 => [ 'file', 'php://stderr', 'w' ], + 2 => [ 'pipe', 'w' ], ]; if ( $useLogPipe ) { $desc[3] = [ 'pipe', 'w' ]; @@ -278,6 +296,7 @@ class Command { throw new ProcOpenError(); } $outBuffer = $logBuffer = ''; + $errBuffer = null; $emptyArray = []; $status = false; $logMsg = false; @@ -352,6 +371,9 @@ class Command { } elseif ( $fd == 1 ) { // From stdout $outBuffer .= $block; + } elseif ( $fd == 2 ) { + // From stderr + $errBuffer .= $block; } elseif ( $fd == 3 ) { // From log FD $logBuffer .= $block; @@ -402,6 +424,6 @@ class Command { $this->logger->warning( "$logMsg: {command}", [ 'command' => $cmd ] ); } - return new Result( $retval, $outBuffer ); + return new Result( $retval, $outBuffer, $errBuffer ); } } diff --git a/includes/shell/CommandFactory.php b/includes/shell/CommandFactory.php new file mode 100644 index 0000000000..c0b8f899ed --- /dev/null +++ b/includes/shell/CommandFactory.php @@ -0,0 +1,65 @@ +limits = $limits; + $this->cgroup = $cgroup; + $this->setLogger( new NullLogger() ); + } + + /** + * Instantiates a new Command + * + * @return Command + */ + public function create() { + $command = new Command(); + $command->setLogger( $this->logger ); + + return $command + ->limits( $this->limits ) + ->cgroup( $this->cgroup ); + } +} diff --git a/includes/shell/Result.php b/includes/shell/Result.php index c1429dfca2..1e18210f2b 100644 --- a/includes/shell/Result.php +++ b/includes/shell/Result.php @@ -32,13 +32,17 @@ class Result { /** @var string */ private $stdout; + /** @var string|null */ + private $stderr; + /** * @param int $exitCode * @param string $stdout */ - public function __construct( $exitCode, $stdout ) { + public function __construct( $exitCode, $stdout, $stderr = null ) { $this->exitCode = $exitCode; $this->stdout = $stdout; + $this->stderr = $stderr; } /** @@ -58,4 +62,14 @@ class Result { public function getStdout() { return $this->stdout; } + + /** + * Returns stderr of the process or null if the Command was configured to add stderr to stdout + * with includeStderr( true ) + * + * @return string|null + */ + public function getStderr() { + return $this->stderr; + } } diff --git a/includes/shell/Shell.php b/includes/shell/Shell.php index f2c96aeb99..604c96a6ad 100644 --- a/includes/shell/Shell.php +++ b/includes/shell/Shell.php @@ -22,7 +22,6 @@ namespace MediaWiki\Shell; -use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; /** @@ -38,6 +37,7 @@ use MediaWiki\MediaWikiServices; * * ... = $result->getExitCode(); * ... = $result->getStdout(); + * ... = $result->getStderr(); */ class Shell { @@ -56,18 +56,9 @@ class Shell { // treat it as a list of arguments $args = reset( $args ); } - $command = new Command(); - $config = MediaWikiServices::getInstance()->getMainConfig(); - - $limits = [ - 'time' => $config->get( 'MaxShellTime' ), - 'walltime' => $config->get( 'MaxShellWallClockTime' ), - 'memory' => $config->get( 'MaxShellMemory' ), - 'filesize' => $config->get( 'MaxShellFileSize' ), - ]; - $command->limits( $limits ); - $command->cgroup( $config->get( 'ShellCgroup' ) ); - $command->setLogger( LoggerFactory::getInstance( 'exec' ) ); + $command = MediaWikiServices::getInstance() + ->getShellCommandFactory() + ->create(); return $command->params( $args ); } @@ -122,14 +113,12 @@ class Shell { if ( wfIsWindows() ) { // Escaping for an MSVC-style command line parser and CMD.EXE - // @codingStandardsIgnoreStart For long URLs // Refs: // * https://web.archive.org/web/20020708081031/http://mailman.lyra.org/pipermail/scite-interest/2002-March/000436.html // * https://technet.microsoft.com/en-us/library/cc723564.aspx // * T15518 // * CR r63214 // Double the backslashes before any double quotes. Escape the double quotes. - // @codingStandardsIgnoreEnd $tokens = preg_split( '/(\\\\*")/', $arg, -1, PREG_SPLIT_DELIM_CAPTURE ); $arg = ''; $iteration = 0; diff --git a/includes/skins/Skin.php b/includes/skins/Skin.php index 167b49d9f3..07964a4d55 100644 --- a/includes/skins/Skin.php +++ b/includes/skins/Skin.php @@ -34,7 +34,11 @@ use MediaWiki\MediaWikiServices; * @ingroup Skins */ abstract class Skin extends ContextSource { + /** + * @var string|null + */ protected $skinname = null; + protected $mRelevantTitle = null; protected $mRelevantUser = null; @@ -134,7 +138,17 @@ abstract class Skin extends ContextSource { } /** - * @return string Skin name + * @since 1.31 + * @param string|null $skinname + */ + public function __construct( $skinname = null ) { + if ( is_string( $skinname ) ) { + $this->skinname = $skinname; + } + } + + /** + * @return string|null Skin name */ public function getSkinName() { return $this->skinname; diff --git a/includes/specialpage/AuthManagerSpecialPage.php b/includes/specialpage/AuthManagerSpecialPage.php index 0cdc55f060..95729f3c56 100644 --- a/includes/specialpage/AuthManagerSpecialPage.php +++ b/includes/specialpage/AuthManagerSpecialPage.php @@ -679,7 +679,7 @@ abstract class AuthManagerSpecialPage extends SpecialPage { ]; if ( $type === 'submit' && isset( $singleFieldInfo['label'] ) ) { - $descriptor['default'] = wfMessage( $singleFieldInfo['label'] )->plain(); + $descriptor['default'] = $singleFieldInfo['label']->plain(); } elseif ( $type !== 'submit' ) { $descriptor += array_filter( [ // help-message is omitted as it is usually not really useful for a web interface diff --git a/includes/specialpage/ChangesListSpecialPage.php b/includes/specialpage/ChangesListSpecialPage.php index a3fee64d19..eab31bcdbc 100644 --- a/includes/specialpage/ChangesListSpecialPage.php +++ b/includes/specialpage/ChangesListSpecialPage.php @@ -642,7 +642,7 @@ abstract class ChangesListSpecialPage extends SpecialPage { if ( $savedQueries && isset( $savedQueries[ 'default' ] ) ) { // Only load queries that are 'version' 2, since those // have parameter representation - if ( $savedQueries[ 'version' ] === '2' ) { + if ( isset( $savedQueries[ 'version' ] ) && $savedQueries[ 'version' ] === '2' ) { $savedQueryDefaultID = $savedQueries[ 'default' ]; $defaultQuery = $savedQueries[ 'queries' ][ $savedQueryDefaultID ][ 'data' ]; @@ -994,6 +994,23 @@ abstract class ChangesListSpecialPage extends SpecialPage { return $unstructuredGroupDefinition; } + /** + * @return array The legacy show/hide toggle filters + */ + protected function getLegacyShowHideFilters() { + $filters = []; + foreach ( $this->filterGroups as $group ) { + if ( $group instanceof ChangesListBooleanFilterGroup ) { + foreach ( $group->getFilters() as $key => $filter ) { + if ( $filter->displaysOnUnstructuredUi( $this ) ) { + $filters[ $key ] = $filter; + } + } + } + } + return $filters; + } + /** * Register all the filters, including legacy hook-driven ones. * Then create a FormOptions object with options as specified by the user @@ -1034,19 +1051,9 @@ abstract class ChangesListSpecialPage extends SpecialPage { // If urlversion=2 is set, ignore the filter defaults and set them all to false/empty $useDefaults = $this->getRequest()->getInt( 'urlversion' ) !== 2; - // Add all filters /** @var ChangesListFilterGroup $filterGroup */ foreach ( $this->filterGroups as $filterGroup ) { - // URL parameters can be per-group, like 'userExpLevel', - // or per-filter, like 'hideminor'. - if ( $filterGroup->isPerGroupRequestParameter() ) { - $opts->add( $filterGroup->getName(), $useDefaults ? $filterGroup->getDefault() : '' ); - } else { - /** @var ChangesListBooleanFilter $filter */ - foreach ( $filterGroup->getFilters() as $filter ) { - $opts->add( $filter->getName(), $useDefaults ? $filter->getDefault( $structuredUI ) : false ); - } - } + $filterGroup->addOptions( $opts, $useDefaults, $structuredUI ); } $opts->add( 'namespace', '', FormOptions::STRING ); @@ -1177,9 +1184,9 @@ abstract class ChangesListSpecialPage extends SpecialPage { // or per-filter, like 'hideminor'. foreach ( $this->filterGroups as $filterGroup ) { - if ( $filterGroup->isPerGroupRequestParameter() ) { + if ( $filterGroup instanceof ChangesListStringOptionsFilterGroup ) { $stringParameterNameSet[$filterGroup->getName()] = true; - } elseif ( $filterGroup->getType() === ChangesListBooleanFilterGroup::TYPE ) { + } elseif ( $filterGroup instanceof ChangesListBooleanFilterGroup ) { foreach ( $filterGroup->getFilters() as $filter ) { $hideParameterNameSet[$filter->getName()] = true; } @@ -1209,7 +1216,10 @@ abstract class ChangesListSpecialPage extends SpecialPage { * @param FormOptions $opts */ public function validateOptions( FormOptions $opts ) { - if ( $this->fixContradictoryOptions( $opts ) ) { + $isContradictory = $this->fixContradictoryOptions( $opts ); + $isReplaced = $this->replaceOldOptions( $opts ); + + if ( $isContradictory || $isReplaced ) { $query = wfArrayToCgi( $this->convertParamsForLink( $opts->getChangedValues() ) ); $this->getOutput()->redirect( $this->getPageTitle()->getCanonicalURL( $query ) ); } @@ -1280,6 +1290,34 @@ abstract class ChangesListSpecialPage extends SpecialPage { return false; } + /** + * Replace old options 'hideanons' or 'hideliu' with structured UI equivalent + * + * @param FormOptions $opts + * @return bool True if the change was made + */ + public function replaceOldOptions( FormOptions $opts ) { + if ( !$this->isStructuredFilterUiEnabled() ) { + return false; + } + + // At this point 'hideanons' and 'hideliu' cannot be both true, + // because fixBackwardsCompatibilityOptions resets (at least) 'hideanons' in such case + if ( $opts[ 'hideanons' ] ) { + $opts->reset( 'hideanons' ); + $opts[ 'userExpLevel' ] = 'registered'; + return true; + } + + if ( $opts[ 'hideliu' ] ) { + $opts->reset( 'hideliu' ); + $opts[ 'userExpLevel' ] = 'unregistered'; + return true; + } + + return false; + } + /** * Convert parameters values from true/false to 1/0 * so they are not omitted by wfArrayToCgi() @@ -1315,20 +1353,10 @@ abstract class ChangesListSpecialPage extends SpecialPage { $dbr = $this->getDB(); $isStructuredUI = $this->isStructuredFilterUiEnabled(); + /** @var ChangesListFilterGroup $filterGroup */ foreach ( $this->filterGroups as $filterGroup ) { - // URL parameters can be per-group, like 'userExpLevel', - // or per-filter, like 'hideminor'. - if ( $filterGroup->isPerGroupRequestParameter() ) { - $filterGroup->modifyQuery( $dbr, $this, $tables, $fields, $conds, - $query_options, $join_conds, $opts[$filterGroup->getName()] ); - } else { - foreach ( $filterGroup->getFilters() as $filter ) { - if ( $filter->isActive( $opts, $isStructuredUI ) ) { - $filter->modifyQuery( $dbr, $this, $tables, $fields, $conds, - $query_options, $join_conds ); - } - } - } + $filterGroup->modifyQuery( $dbr, $this, $tables, $fields, $conds, + $query_options, $join_conds, $opts, $isStructuredUI ); } // Namespace filtering diff --git a/includes/specials/SpecialEmailuser.php b/includes/specials/SpecialEmailuser.php index 249be7f17f..30eb38d04a 100644 --- a/includes/specials/SpecialEmailuser.php +++ b/includes/specials/SpecialEmailuser.php @@ -280,7 +280,9 @@ class SpecialEmailUser extends UnlistedSpecialPage { return "blockedemailuser"; } - if ( $user->pingLimiter( 'emailuser' ) ) { + // Check the ping limiter without incrementing it - we'll check it + // again later and increment it on a successful send + if ( $user->pingLimiter( 'emailuser', 0 ) ) { wfDebug( "Ping limiter triggered.\n" ); return 'actionthrottledtext'; @@ -376,6 +378,11 @@ class SpecialEmailUser extends UnlistedSpecialPage { $text .= $context->msg( 'emailuserfooter', $from->name, $to->name )->inContentLanguage()->text(); + // Check and increment the rate limits + if ( $context->getUser()->pingLimiter( 'emailuser' ) ) { + throw new ThrottledError(); + } + $error = false; if ( !Hooks::run( 'EmailUser', [ &$to, &$from, &$subject, &$text, &$error ] ) ) { if ( $error instanceof Status ) { diff --git a/includes/specials/SpecialExport.php b/includes/specials/SpecialExport.php index 8e6c446238..eb7be510bd 100644 --- a/includes/specials/SpecialExport.php +++ b/includes/specials/SpecialExport.php @@ -23,7 +23,7 @@ * @ingroup SpecialPage */ -use Mediawiki\MediaWikiServices; +use MediaWiki\MediaWikiServices; /** * A special page that allows users to export pages in a XML file diff --git a/includes/specials/SpecialPreferences.php b/includes/specials/SpecialPreferences.php index ba5a57ea5a..7c55e5c8cb 100644 --- a/includes/specials/SpecialPreferences.php +++ b/includes/specials/SpecialPreferences.php @@ -121,7 +121,7 @@ class SpecialPreferences extends SpecialPage { * Get the preferences form to use. * @param User $user The user. * @param IContextSource $context The context. - * @return PreferencesForm|HtmlForm + * @return PreferencesForm|HTMLForm */ protected function getFormObject( $user, IContextSource $context ) { return Preferences::getFormObject( $user, $context ); diff --git a/includes/specials/SpecialRecentchanges.php b/includes/specials/SpecialRecentchanges.php index 6ce1968742..c3ce78e301 100644 --- a/includes/specials/SpecialRecentchanges.php +++ b/includes/specials/SpecialRecentchanges.php @@ -621,18 +621,21 @@ class SpecialRecentChanges extends ChangesListSpecialPage { // Check whether the widget is already collapsed or expanded $collapsedState = $this->getRequest()->getCookie( 'rcfilters-toplinks-collapsed-state' ); // Note that an empty/unset cookie means collapsed, so check for !== 'expanded' - $collapsedClass = $collapsedState !== 'expanded' ? 'mw-rcfilters-toplinks-collapsed' : ''; + $topLinksAttributes[ 'class' ] .= $collapsedState !== 'expanded' ? + ' mw-recentchanges-toplinks-collapsed' : ''; + + $this->getOutput()->enableOOUI(); + $contentTitle = new OOUI\ButtonWidget( [ + 'classes' => [ 'mw-recentchanges-toplinks-title' ], + 'label' => new OOUI\HtmlSnippet( $this->msg( 'rcfilters-other-review-tools' )->parse() ), + 'framed' => false, + 'indicator' => $collapsedState !== 'expanded' ? 'down' : 'up', + 'flags' => [ 'progressive' ], + ] ); - $contentTitle = Html::rawElement( 'div', - [ 'class' => 'mw-recentchanges-toplinks-title ' . $collapsedClass ], - $this->msg( 'rcfilters-other-review-tools' )->parse() - ); $contentWrapper = Html::rawElement( 'div', array_merge( - [ - 'class' => 'mw-recentchanges-toplinks-content mw-collapsible-content ' . - $collapsedClass - ], + [ 'class' => 'mw-recentchanges-toplinks-content mw-collapsible-content' ], $langAttributes ), $content @@ -912,40 +915,32 @@ class SpecialRecentChanges extends ChangesListSpecialPage { $links = []; - $filterGroups = $this->getFilterGroups(); - - foreach ( $filterGroups as $groupName => $group ) { - if ( !$group->isPerGroupRequestParameter() ) { - foreach ( $group->getFilters() as $key => $filter ) { - if ( $filter->displaysOnUnstructuredUi( $this ) ) { - $msg = $filter->getShowHide(); - $linkMessage = $this->msg( $msg . '-' . $showhide[1 - $options[$key]] ); - // Extensions can define additional filters, but don't need to define the corresponding - // messages. If they don't exist, just fall back to 'show' and 'hide'. - if ( !$linkMessage->exists() ) { - $linkMessage = $this->msg( $showhide[1 - $options[$key]] ); - } - - $link = $this->makeOptionsLink( $linkMessage->text(), - [ $key => 1 - $options[$key] ], $nondefaults ); - - $attribs = [ - 'class' => "$msg rcshowhideoption clshowhideoption", - 'data-filter-name' => $filter->getName(), - ]; - - if ( $filter->isFeatureAvailableOnStructuredUi( $this ) ) { - $attribs['data-feature-in-structured-ui'] = true; - } - - $links[] = Html::rawElement( - 'span', - $attribs, - $this->msg( $msg )->rawParams( $link )->escaped() - ); - } - } + foreach ( $this->getLegacyShowHideFilters() as $key => $filter ) { + $msg = $filter->getShowHide(); + $linkMessage = $this->msg( $msg . '-' . $showhide[1 - $options[$key]] ); + // Extensions can define additional filters, but don't need to define the corresponding + // messages. If they don't exist, just fall back to 'show' and 'hide'. + if ( !$linkMessage->exists() ) { + $linkMessage = $this->msg( $showhide[1 - $options[$key]] ); } + + $link = $this->makeOptionsLink( $linkMessage->text(), + [ $key => 1 - $options[$key] ], $nondefaults ); + + $attribs = [ + 'class' => "$msg rcshowhideoption clshowhideoption", + 'data-filter-name' => $filter->getName(), + ]; + + if ( $filter->isFeatureAvailableOnStructuredUi( $this ) ) { + $attribs['data-feature-in-structured-ui'] = true; + } + + $links[] = Html::rawElement( + 'span', + $attribs, + $this->msg( $msg )->rawParams( $link )->escaped() + ); } // show from this onward link diff --git a/includes/specials/SpecialRunJobs.php b/includes/specials/SpecialRunJobs.php index cb1e892e2f..375694be08 100644 --- a/includes/specials/SpecialRunJobs.php +++ b/includes/specials/SpecialRunJobs.php @@ -39,17 +39,21 @@ class SpecialRunJobs extends UnlistedSpecialPage { public function execute( $par = '' ) { $this->getOutput()->disable(); + if ( wfReadOnly() ) { wfHttpError( 423, 'Locked', 'Wiki is in read-only mode.' ); return; - } elseif ( !$this->getRequest()->wasPosted() ) { + } + + // Validate request method + if ( !$this->getRequest()->wasPosted() ) { wfHttpError( 400, 'Bad Request', 'Request must be POSTed.' ); return; } + // Validate request parameters $optional = [ 'maxjobs' => 0, 'maxtime' => 30, 'type' => false, 'async' => true ]; $required = array_flip( [ 'title', 'tasks', 'signature', 'sigexpiry' ] ); - $params = array_intersect_key( $this->getRequest()->getValues(), $required + $optional ); $missing = array_diff_key( $required, $params ); if ( count( $missing ) ) { @@ -59,11 +63,11 @@ class SpecialRunJobs extends UnlistedSpecialPage { return; } + // Validate request signature $squery = $params; unset( $squery['signature'] ); $correctSignature = self::getQuerySignature( $squery, $this->getConfig()->get( 'SecretKey' ) ); $providedSignature = $params['signature']; - $verified = is_string( $providedSignature ) && hash_equals( $correctSignature, $providedSignature ); if ( !$verified || $params['sigexpiry'] < time() ) { @@ -75,39 +79,34 @@ class SpecialRunJobs extends UnlistedSpecialPage { $params += $optional; if ( $params['async'] ) { - // Client will usually disconnect before checking the response, - // but it needs to know when it is safe to disconnect. Until this - // reaches ignore_user_abort(), it is not safe as the jobs won't run. - ignore_user_abort( true ); // jobs may take a bit of time // HTTP 202 Accepted HttpStatus::header( 202 ); - ob_flush(); - flush(); - // Once the client receives this response, it can disconnect - set_error_handler( function ( $errno, $errstr ) { - if ( strpos( $errstr, 'Cannot modify header information' ) !== false ) { - return true; // bug T115413 - } - // Delegate unhandled errors to the default MediaWiki handler - // so that fatal errors get proper logging (T89169) - return call_user_func_array( - 'MWExceptionHandler::handleError', func_get_args() - ); - } ); + // Clients are meant to disconnect without waiting for the full response. + // Let the page output happen before the jobs start, so that clients know it's + // safe to disconnect. MediaWiki::preOutputCommit() calls ignore_user_abort() + // or similar to make sure we stay alive to run the deferred update. + DeferredUpdates::addUpdate( + new TransactionRoundDefiningUpdate( + function () use ( $params ) { + $this->doRun( $params ); + }, + __METHOD__ + ), + DeferredUpdates::POSTSEND + ); + } else { + $this->doRun( $params ); + print "Done\n"; } + } - // Do all of the specified tasks... - if ( in_array( 'jobs', explode( '|', $params['tasks'] ) ) ) { - $runner = new JobRunner( LoggerFactory::getInstance( 'runJobs' ) ); - $response = $runner->run( [ - 'type' => $params['type'], - 'maxJobs' => $params['maxjobs'] ? $params['maxjobs'] : 1, - 'maxTime' => $params['maxtime'] ? $params['maxjobs'] : 30 - ] ); - if ( !$params['async'] ) { - print FormatJson::encode( $response, true ); - } - } + protected function doRun( array $params ) { + $runner = new JobRunner( LoggerFactory::getInstance( 'runJobs' ) ); + $runner->run( [ + 'type' => $params['type'], + 'maxJobs' => $params['maxjobs'] ?: 1, + 'maxTime' => $params['maxtime'] ?: 30 + ] ); } /** diff --git a/includes/specials/SpecialUnblock.php b/includes/specials/SpecialUnblock.php index 56b6cc3ee0..0da9b7a0b3 100644 --- a/includes/specials/SpecialUnblock.php +++ b/includes/specials/SpecialUnblock.php @@ -57,7 +57,7 @@ class SpecialUnblock extends SpecialPage { $out = $this->getOutput(); $out->setPageTitle( $this->msg( 'unblockip' ) ); - $out->addModules( [ 'mediawiki.special' ] ); + $out->addModules( [ 'mediawiki.special', 'mediawiki.userSuggest' ] ); $form = HTMLForm::factory( 'ooui', $this->getFields(), $this->getContext() ); $form->setWrapperLegendMsg( 'unblockip' ); @@ -87,12 +87,12 @@ class SpecialUnblock extends SpecialPage { protected function getFields() { $fields = [ 'Target' => [ - 'type' => 'user', + 'type' => 'text', 'label-message' => 'ipaddressorusername', 'autofocus' => true, 'size' => '45', 'required' => true, - 'ipallowed' => true, + 'cssclass' => 'mw-autocomplete-user', // used by mediawiki.userSuggest ], 'Name' => [ 'type' => 'info', diff --git a/includes/specials/SpecialWatchlist.php b/includes/specials/SpecialWatchlist.php index fcf1bfb8b9..921a6dd465 100644 --- a/includes/specials/SpecialWatchlist.php +++ b/includes/specials/SpecialWatchlist.php @@ -333,15 +333,8 @@ class SpecialWatchlist extends ChangesListSpecialPage { // This is how we handle the fact that HTML forms don't submit // unchecked boxes. - foreach ( $this->filterGroups as $filterGroup ) { - if ( $filterGroup instanceof ChangesListBooleanFilterGroup ) { - /** @var ChangesListBooleanFilter $filter */ - foreach ( $filterGroup->getFilters() as $filter ) { - if ( $filter->displaysOnUnstructuredUi() ) { - $allBooleansFalse[$filter->getName()] = false; - } - } - } + foreach ( $this->getLegacyShowHideFilters() as $filter ) { + $allBooleansFalse[ $filter->getName() ] = false; } $params = $params + $allBooleansFalse; @@ -646,21 +639,15 @@ class SpecialWatchlist extends ChangesListSpecialPage { # Spit out some control panel links $links = []; $namesOfDisplayedFilters = []; - foreach ( $this->getFilterGroups() as $groupName => $group ) { - if ( !$group->isPerGroupRequestParameter() ) { - foreach ( $group->getFilters() as $filterName => $filter ) { - if ( $filter->displaysOnUnstructuredUi( $this ) ) { - $namesOfDisplayedFilters[] = $filterName; - $links[] = $this->showHideCheck( - $nondefaults, - $filter->getShowHide(), - $filterName, - $opts[$filterName], - $filter->isFeatureAvailableOnStructuredUi( $this ) - ); - } - } - } + foreach ( $this->getLegacyShowHideFilters() as $filterName => $filter ) { + $namesOfDisplayedFilters[] = $filterName; + $links[] = $this->showHideCheck( + $nondefaults, + $filter->getShowHide(), + $filterName, + $opts[ $filterName ], + $filter->isFeatureAvailableOnStructuredUi( $this ) + ); } $hiddenFields = $nondefaults; diff --git a/includes/specials/pagers/NewPagesPager.php b/includes/specials/pagers/NewPagesPager.php index 53362d9cbc..a87bbb7567 100644 --- a/includes/specials/pagers/NewPagesPager.php +++ b/includes/specials/pagers/NewPagesPager.php @@ -28,7 +28,7 @@ class NewPagesPager extends ReverseChronologicalPager { protected $opts; /** - * @var HtmlForm + * @var HTMLForm */ protected $mForm; diff --git a/includes/tidy/Balancer.php b/includes/tidy/Balancer.php index fbe92702df..82c35bb881 100644 --- a/includes/tidy/Balancer.php +++ b/includes/tidy/Balancer.php @@ -1669,13 +1669,11 @@ class BalanceActiveFormattingElements { $this->addToNoahList( $b ); } - // @codingStandardsIgnoreStart Generic.Files.LineLength.TooLong /** * Reconstruct the active formatting elements. * @param BalanceStack $stack The open elements stack * @see https://html.spec.whatwg.org/multipage/syntax.html#reconstruct-the-active-formatting-elements */ - // @codingStandardsIgnoreEnd public function reconstruct( $stack ) { $entry = $this->tail; // If there are no entries in the list of active formatting elements, diff --git a/includes/upload/UploadStash.php b/includes/upload/UploadStash.php index 755f9fdf7b..da896f973d 100644 --- a/includes/upload/UploadStash.php +++ b/includes/upload/UploadStash.php @@ -515,7 +515,12 @@ class UploadStash { $row = $dbr->selectRow( 'uploadstash', - '*', + [ + 'us_user', 'us_key', 'us_orig_path', 'us_path', 'us_props', + 'us_size', 'us_sha1', 'us_mime', 'us_media_type', + 'us_image_width', 'us_image_height', 'us_image_bits', + 'us_source_type', 'us_timestamp', 'us_status', + ], [ 'us_key' => $key ], __METHOD__ ); diff --git a/includes/widget/UsersMultiselectWidget.php b/includes/widget/UsersMultiselectWidget.php index 999cb6ab32..ea3205810f 100644 --- a/includes/widget/UsersMultiselectWidget.php +++ b/includes/widget/UsersMultiselectWidget.php @@ -7,7 +7,7 @@ */ namespace MediaWiki\Widget; -use \OOUI\TextInputWidget; +use \OOUI\MultilineTextInputWidget; /** * Widget to select multiple users. @@ -38,9 +38,8 @@ class UsersMultiselectWidget extends \OOUI\Widget { $this->inputPlaceholder = $config['placeholder']; } - $textarea = new TextInputWidget( [ + $textarea = new MultilineTextInputWidget( [ 'name' => $this->inputName, - 'multiline' => true, 'value' => implode( "\n", $this->usersArray ), 'rows' => 25, ] ); diff --git a/includes/widget/search/InterwikiSearchResultSetWidget.php b/includes/widget/search/InterwikiSearchResultSetWidget.php index 81a1a43111..b4e3414857 100644 --- a/includes/widget/search/InterwikiSearchResultSetWidget.php +++ b/includes/widget/search/InterwikiSearchResultSetWidget.php @@ -168,7 +168,7 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget { * * @param string $iwPrefix Interwiki prefix * @return OOUI\IconWidget - **/ + */ protected function iwIcon( $iwPrefix ) { $interwiki = $this->iwLookup->fetch( $iwPrefix ); $parsed = wfParseUrl( wfExpandUrl( $interwiki ? $interwiki->getURL() : '/' ) ); diff --git a/languages/Language.php b/languages/Language.php index 435f058367..8517f26eb3 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -178,6 +178,7 @@ class Language { /** * Get a cached or new language object for a given language code * @param string $code + * @throws MWException * @return Language */ static function factory( $code ) { diff --git a/languages/data/Names.php b/languages/data/Names.php index e2ed910686..1266561f9f 100644 --- a/languages/data/Names.php +++ b/languages/data/Names.php @@ -370,7 +370,7 @@ class Names { 'sd' => 'سنڌي', # Sindhi 'sdc' => 'Sassaresu', # Sassarese 'sdh' => 'کوردی خوارگ', # Southern Kurdish - 'se' => 'sámegiella', # Northern Sami + 'se' => 'davvisámegiella', # Northern Sami 'sei' => 'Cmique Itom', # Seri 'ses' => 'Koyraboro Senni', # Koyraboro Senni 'sg' => 'Sängö', # Sango/Sangho diff --git a/languages/i18n/af.json b/languages/i18n/af.json index 898fc11f32..0f9548bd36 100644 --- a/languages/i18n/af.json +++ b/languages/i18n/af.json @@ -28,16 +28,16 @@ "Slashme" ] }, - "tog-underline": "Onderstreep skakels.", - "tog-hideminor": "Versteek klein wysigings in die onlangse wysigingslys.", - "tog-hidepatrolled": "Versteek gepatrolleerde wysigings in onlangse wysigingslys", + "tog-underline": "Onderstreep skakels:", + "tog-hideminor": "Versteek geringe redigerings aan onlangse wysigings.", + "tog-hidepatrolled": "Versteek gepatrolleerde redigerings van onlangse wysigings", "tog-newpageshidepatrolled": "Versteek gepatrolleerde wysigings van nuwe bladsy lys", "tog-hidecategorization": "Versteek kategorisering van bladsye", "tog-extendwatchlist": "Brei dophoulys uit om alle wysigings te wys, nie slegs die nuutste nie", "tog-usenewrc": "Groepeer wysigings per bladsy in onlangse wysigings en dophoulys", "tog-numberheadings": "Nommer opskrifte outomaties", - "tog-showtoolbar": "Wys redigeergereedskap", - "tog-editondblclick": "Dubbelkliek om te wysig", + "tog-showtoolbar": "Wys redigeringsnutsbalk", + "tog-editondblclick": "Dubbelklik om te redigeer", "tog-editsectiononrightclick": "Wysig afdeling met 'n regskliek op die afdeling se titel", "tog-watchcreations": "Voeg bladsye wat ek skep en lêers wat ek oplaai by my dophoulys", "tog-watchdefault": "Voeg bladsye en lêers wat ek wysig by my dophoulys", @@ -53,9 +53,9 @@ "tog-enotifminoredits": "Stuur ook e-pos vir klein wysigings aan bladsye en lêers", "tog-enotifrevealaddr": "Stel my e-posadres bloot in kennisgewingspos", "tog-shownumberswatching": "Wys die aantal gebruikers wat dophou", - "tog-oldsig": "Jou bestaande handtekening:", - "tog-fancysig": "Doodgewone handtekening (sonder outomatiese skakel)", - "tog-uselivepreview": "Gebruik lewendige voorskou", + "tog-oldsig": "U bestaande handtekening:", + "tog-fancysig": "Beskou handtekening as wikiteks (sonder 'n outomatiese skakel)", + "tog-uselivepreview": "Vertoon voorskoue regstreeks", "tog-forceeditsummary": "Let my daarop as ek nie 'n opsomming van my wysiging gee nie", "tog-watchlisthideown": "Versteek my wysigings in dophoulys", "tog-watchlisthidebots": "Versteek robotwysigings in dophoulys", @@ -77,8 +77,8 @@ "underline-default": "Omslag of webblaaier se verstekwaarde", "editfont-style": "Lettertipe vir wysigingsvenster:", "editfont-monospace": "Monospaced lettertipe", - "editfont-sansserif": "Sans-serif lettertipe", - "editfont-serif": "Serif lettertipe", + "editfont-sansserif": "Sans-serif-lettertipe", + "editfont-serif": "Serif-lettertipe", "sunday": "Sondag", "monday": "Maandag", "tuesday": "Dinsdag", @@ -86,13 +86,13 @@ "thursday": "Donderdag", "friday": "Vrydag", "saturday": "Saterdag", - "sun": "So", - "mon": "Ma", - "tue": "Di", - "wed": "Wo", - "thu": "Do", - "fri": "Vr", - "sat": "Sa", + "sun": "So.", + "mon": "Ma.", + "tue": "Di.", + "wed": "Wo.", + "thu": "Do.", + "fri": "Vr.", + "sat": "Sa.", "january": "Januarie", "february": "Februarie", "march": "Maart", @@ -117,18 +117,18 @@ "october-gen": "Oktober", "november-gen": "November", "december-gen": "Desember", - "jan": "Jan", - "feb": "Feb", - "mar": "Mrt", - "apr": "Apr", + "jan": "Jan.", + "feb": "Feb.", + "mar": "Mrt.", + "apr": "Apr.", "may": "Mei", - "jun": "Jun", - "jul": "Jul", - "aug": "Aug", - "sep": "Sep", - "oct": "Okt", - "nov": "Nov", - "dec": "Des", + "jun": "Jun.", + "jul": "Jul.", + "aug": "Aug.", + "sep": "Sept.", + "oct": "Okt.", + "nov": "Nov.", + "dec": "Des.", "january-date": "$1 Januarie", "february-date": "$1 Februarie", "march-date": "$1 Maart", @@ -141,8 +141,8 @@ "october-date": "$1 Oktober", "november-date": "$1 November", "december-date": "$1 Desember", - "period-am": "AM", - "period-pm": "PM", + "period-am": "vm.", + "period-pm": "nm.", "pagecategories": "{{PLURAL:$1|Kategorie|Kategorieë}}", "category_header": "Bladsye in kategorie \"$1\"", "subcategories": "Subkategorieë", @@ -188,16 +188,16 @@ "history": "Bladsygeskiedenis", "history_short": "Geskiedenis", "history_small": "geskiedenis", - "updatedmarker": "opgedateer sedert my laaste besoek", + "updatedmarker": "sedert my laaste besoek bygewerk", "printableversion": "Drukbare weergawe", "permalink": "Permanente skakel", "print": "Druk", "view": "Wys", "view-foreign": "Wys op $1", - "edit": "Wysig", + "edit": "Redigeer", "edit-local": "Wysig plaaslike beskrywing", "create": "Skep", - "create-local": "Voeg plaaslike beskrywing by", + "create-local": "Voeg 'n plaaslike beskrywing by", "delete": "Skrap", "undelete_short": "Herstel {{PLURAL:$1|een wysiging|$1 wysigings}}", "viewdeleted_short": "Wys {{PLURAL:$1|een geskrapte wysiging|$1 geskrapte wysigings}}", @@ -209,7 +209,7 @@ "specialpage": "Spesiale bladsy", "personaltools": "Persoonlike gereedskap", "talk": "Bespreking", - "views": "Weergawes", + "views": "Gekyk", "toolbox": "Gereedskap", "tool-link-emailuser": "E-pos die {{GENDER:$1|gebruiker}}", "imagepage": "Lees bladsy oor lêer", @@ -221,7 +221,7 @@ "otherlanguages": "Ander tale", "redirectedfrom": "(Aangestuur vanaf $1)", "redirectpagesub": "Aanstuurblad", - "redirectto": "Aanstuur na:", + "redirectto": "Stuur aan na:", "lastmodifiedat": "Die bladsy is laas op $1 om $2 bygewerk.", "viewcount": "Hierdie bladsy is al {{PLURAL:$1|keer|$1 kere}} aangevra.", "protectedpage": "Beskermde bladsy", @@ -229,26 +229,26 @@ "jumptonavigation": "navigasie", "jumptosearch": "soek", "view-pool-error": "Jammer, die bedieners is tans oorbelas.\nTe veel gebruikers probeer om na hierdie bladsy te kyk.\nWag asseblief 'n rukkie voordat u weer probeer om die bladsy op te roep.\n\n$1", - "generic-pool-error": "Jammer, die bedieners is tans oorbelas.\nTe veel gebruikers probeer om na hierdie bladsy te kyk.\nWag asseblief 'n rukkie voordat u weer probeer.", + "generic-pool-error": "Jammer, die bedieners is tans oorbelas.\nTe veel gebruikers probeer om na hierdie bladsy te kyk.\nWag asseblief 'n rukkie voordat u weer toegang tot hierdie bron verkry.", "pool-timeout": "Die maksimum wagtyd vir 'n databasisversperring is oorskry.", "pool-queuefull": "Die poel se wagtou is vol", "pool-errorunknown": "Onbekende fout", - "pool-servererror": "Die \"pool counter\"-diens is nie beskikbaar nie ($1).", + "pool-servererror": "Die poelteller-diens is nie beskikbaar nie ($1).", "poolcounter-usage-error": "Gebruiksfout: $1", "aboutsite": "Inligting oor {{SITENAME}}", - "aboutpage": "Project:Omtrent", + "aboutpage": "Project:Aangaande", "copyright": "Inhoud is onderhewig aan $1, tensy anders vermeld", "copyrightpage": "{{ns:project}}:Kopieregte", "currentevents": "Huidige gebeure", "currentevents-url": "Project:Huidige gebeure", - "disclaimers": "Voorbehoud", + "disclaimers": "Vrywaring", "disclaimerpage": "Project:Voorwaardes", - "edithelp": "Wysigingshulp", + "edithelp": "Redigeringshulp", "helppage-top-gethelp": "Hulp", "mainpage": "Tuisblad", "mainpage-description": "Tuisblad", "policy-url": "Project:Beleid", - "portal": "Gebruikersportaal", + "portal": "Gemeenskapsportaal", "portal-url": "Project:Gebruikersportaal", "privacy": "Privaatheidsbeleid", "privacypage": "Project:Privaatheidsbeleid", @@ -1111,7 +1111,7 @@ "recentchanges-submit": "Wys", "rcfilters-tag-remove": "Verwyder '$1'", "rcfilters-legend-heading": "Lys van afkortings:", - "rcfilters-other-review-tools": "Ander hulpmiddels", + "rcfilters-other-review-tools": "Ander hulpmiddels", "rcfilters-group-results-by-page": "Groepeer resultate per bladsy", "rcfilters-grouping-title": "Groepering", "rcfilters-activefilters": "Aktiewe filters", @@ -1151,19 +1151,23 @@ "rcfilters-highlightmenu-help": "Kies 'n kleur om hierdie eienskap aan te dui", "rcfilters-filterlist-noresults": "Geen filters gevind", "rcfilters-noresults-conflict": "Geen resultate gevind omdat die soek-kriteria met mekaar bots", + "rcfilters-filtergroup-authorship": "Outeur van die bywerking", "rcfilters-filter-editsbyself-label": "U eie wysigings", "rcfilters-filter-editsbyself-description": "U eie bydraes.", "rcfilters-filter-editsbyother-label": "Wysigings deur ander", "rcfilters-filter-editsbyother-description": "Alle wysigings behalwe u eie.", - "rcfilters-filtergroup-userExpLevel": "Gebruikersregistrasie en ervaring", + "rcfilters-filtergroup-userExpLevel": "Registrasie en ervaring", "rcfilters-filter-user-experience-level-registered-label": "Geregistreer", "rcfilters-filter-user-experience-level-registered-description": "Aangemelde redigeerders.", "rcfilters-filter-user-experience-level-unregistered-label": "Ongeregistreer", "rcfilters-filter-user-experience-level-unregistered-description": "Redigeerders wat nie aangemeld is nie.", "rcfilters-filter-user-experience-level-newcomer-label": "Nuwelinge", - "rcfilters-filter-user-experience-level-newcomer-description": "Minder as 10 wysigings en 4 dae van aktiwiteit.", + "rcfilters-filter-user-experience-level-newcomer-description": "Redigeerders met minder as 10 wysigings en 4 dae van aktiwiteit.", "rcfilters-filter-user-experience-level-learner-label": "Leerlinge", + "rcfilters-filter-user-experience-level-learner-description": "Redigeerders met meer ervaring as \"nuwelinge\", maar minder as \"ervare gebruikers\".", "rcfilters-filter-user-experience-level-experienced-label": "Ervare gebruikers", + "rcfilters-filter-user-experience-level-experienced-description": "Redigeerders met meer as 500 wysigings en 30 dae van aktiwiteit.", + "rcfilters-filtergroup-automated": "Geoutomatiseerde bywerkings", "rcfilters-filter-bots-label": "Bot", "rcfilters-filter-bots-description": "Wysigings met behulp van geoutomatiseerde hulpmiddele.", "rcfilters-filter-humans-label": "Menslik (nie 'n bot)", @@ -1177,12 +1181,14 @@ "rcfilters-filter-minor-label": "Klein wysigings", "rcfilters-filter-minor-description": "Wysigings wat deur die outeur as klein gemerk is.", "rcfilters-filter-major-label": "Groot wysigings", - "rcfilters-filter-major-description": "Wysigings wat nie as klein gekerm is nie.", + "rcfilters-filter-major-description": "Wysigings wat nie as klein gemerk is nie.", "rcfilters-filtergroup-watchlist": "Dopgehoude bladsye", - "rcfilters-filter-watchlist-watched-label": "Op die dophoulys", + "rcfilters-filter-watchlist-watched-label": "In dophoulys", "rcfilters-filter-watchlist-watched-description": "Wysigings aan bladsye op u dophoulys.", "rcfilters-filter-watchlist-watchednew-label": "Nuwe dophoulys-wysigings", - "rcfilters-filter-watchlist-notwatched-label": "Nie op dophoulys", + "rcfilters-filter-watchlist-watchednew-description": "Wysigings aan bladsye op u dophoulys wat u nog nie besoek het nie.", + "rcfilters-filter-watchlist-notwatched-label": "Nie in dophoulys", + "rcfilters-filter-watchlist-notwatched-description": "Alles behalwe wysigings aan bladsye op u dophoulys.", "rcfilters-filtergroup-watchlistactivity": "Dophoulys-bedrywighede", "rcfilters-filtergroup-changetype": "Soort wysiging", "rcfilters-filter-pageedits-label": "Bladsywysigings", @@ -1190,6 +1196,7 @@ "rcfilters-filter-newpages-label": "Nuwe bladsye", "rcfilters-filter-newpages-description": "Bywerkings wat nuwe bladsye skep.", "rcfilters-filter-categorization-label": "Kategorie-wysigings", + "rcfilters-filter-categorization-description": "Wys kategorisering van bladsye.", "rcfilters-filter-logactions-label": "Geregistreerde aksies", "rcfilters-filter-logactions-description": "Administratiewe aksies, nuwe rekeninge, bladsyverwyderings, oplaaie…", "rcfilters-filtergroup-lastRevision": "Nuutste weergawes", @@ -1199,9 +1206,10 @@ "rcfilters-filter-previousrevision-description": "Alle wysigings is nie die \"nuutste weergawe\" nie.", "rcfilters-filter-excluded": "Uitgesluit", "rcfilters-tag-prefix-namespace-inverted": ":nie $1", + "rcfilters-exclude-button-off": "Sluit uit", "rcfilters-view-advanced-filters-label": "Gevorderde filters", "rcfilters-view-tags": "Geëtiketteerde wysigings", - "rcfilters-view-namespaces-tooltip": "Filtreer resultate per naamruimte", + "rcfilters-view-namespaces-tooltip": "Filtreer resultate volgens naamruimte", "rcfilters-view-tags-tooltip": "Filter resultate volgens wysigingsetikette", "rcfilters-preference-label": "Versteek die verbeter weergawe van 'Onlangse wysigings'", "rcnotefrom": "{{PLURAL:$5|Wysiging|Wysigings}} sedert $3 om $4 (maksimum van $1 word gewys).", diff --git a/languages/i18n/ais.json b/languages/i18n/ais.json index ce82a52107..5359320ca8 100644 --- a/languages/i18n/ais.json +++ b/languages/i18n/ais.json @@ -7,6 +7,7 @@ "Tokoabibi" ] }, + "tog-underline": "nu sasaan sacuzu’ masasiket:", "tog-hideminor": "midimut ibabuay nu capi a sumad mikilulay a sumad", "tog-hidepatrolled": "midimut capiay a demiad masumaday tayza-mikibiay a mikawaway-kalumyiti", "tog-newpageshidepatrolled": "midimut baluhayay a kasabelih piazihan-tu-sulit tayza-mikibi a kasabelih", @@ -14,6 +15,7 @@ "tog-extendwatchlist": "micuwat miazihay a piazihan-tu-sulit paazih yamalyilu capi demiad zumaay a sacahamin sumad", "tog-usenewrc": "kilul capi demiad misumad atu miazihay a piazihan-tu-sulit a kasabelih kakuniza paazih ku masumaday", "tog-numberheadings": "satangahan lunuk pabanggu", + "tog-showtoolbar": "paazih mikawaway-kalumyiti sakaluk tusil", "tog-editondblclick": "sapecec sakatusa hawsa mikawaway-kalumyiti kasabelih", "tog-editsectiononrightclick": "miwawah hwasu kawanan-penec sapecec tusil satangahan mikawaway-kalumyiti", "tog-watchcreations": "amipatizeng kasabelih nu maku atu patapabaw a tangan pacunus miazihay a piazihan-tu-sulit", @@ -30,6 +32,7 @@ "tog-enotifminoredits": "anu kasabelih atu tangan izaw ku mikilulay asumad, pabahel imyiyo(email) patakus takuwan", "tog-enotifrevealaddr": "ilabu nu patakusay a tigami paazih imyiyo(email) puenengan", "tog-shownumberswatching": "paazih misisip misaungayay a nikayadah", + "tog-oldsig": "nu misuay ayzaay a sulitan a ngangan:", "tog-fancysig": "sulitan a ngangan mahiza ku Wikitext kamu (caay lunuk misanga’ masasiket)", "tog-forceeditsummary": "caay misulit mikawaway-kalumyiti pecu’ nu lacul haw pacekil takuwan", "tog-watchlisthideown": "midimut ilabu miazihay a piazihan-tu-sulit numakuay a mikawaway-kalumyiti", @@ -123,9 +126,13 @@ "hidden-categories": "{{PLURAL:$1|midimut kakuniza}}", "hidden-category-category": "midimut kakuniza", "category-subcat-count": "{{PLURAL:$2|uyni kakuniza hatiza ku cacay yamalyilu sailuc-kakuniza. kina kakuniza yamalyilu isasa $2 a sailuc-kasasizuma, ilabu {{PLURAL:$1}}mahiza ku isasaay}}", + "category-subcat-count-limited": "uyni kakuniza yamalyilu isasa’ay {{PLURAL:$1|sailuc-kakuniza}}.", "category-article-count": "{{PLURAL:$2|uyni kakuniza hatiza ku cacay yamalyilu sailuc-kakuniza. kina kakuniza yamalyilu isasa $2 a sailuc-kasasizuma, ilabu {{PLURAL:$1}}mahiza ku isasaay}}", + "category-article-count-limited": "isasa’ay a {{PLURAL:$1|kasabelih ku}} i masitudungay a kakuniza.", "category-file-count": "{{PLURAL:$2|kakuniza yamalyilu isasaay a cacay ku tangan. kakuniza yamalyilu isasaay izaway $1 ku tangan, pulung $2 makalaan.}}", "listingcontinuesabbrev": "palalid", + "index-category": "mapatayza kapah pikiliman tu nisulitan miasipay kasabelih", + "noindex-category": "caay kasilsil i kapah pikiliman tu nisulitan miasipay kasabelih", "broken-file-category": "tangan masasiket malepi’ay a kasabelih", "about": "mahizaay", "article": "lacul kasabelih", @@ -197,6 +204,7 @@ "pool-queuefull": "laylay saculuk matumestu", "pool-errorunknown": "caay kapulita ku mungangaw", "pool-servererror": "la’cus pisaungay laylay miasipay mietap ($1)", + "poolcounter-usage-error": "sahicaan mungangaw: $1", "aboutsite": "mahizaay {{SITENAME}}", "aboutpage": "Project:mahizaay", "copyright": "anu izaw ku zuma buhci tu kamu, kasabelih aazihen a lacul i labu, pisaungay hamin $1 sapabeli tu kinli a ceding.", @@ -219,14 +227,15 @@ "versionrequired": "maydih $1 baziyong a MediaWiki", "ok": "malucekay", "retrievedfrom": "miala i \"$1\"", + "youhavenewmessages": "{{PLURAL:$3|izaw kisu}} $1 ($2).", "youhavenewmessagesmanyusers": "izaw kisu namakay katuud misaungayay a $1 ($2).", "newmessageslinkplural": "{{PLURAL:$1|cacay baluhay palatuh|999=baluhay palatuh}}", "youhavenewmessagesmulti": "izaw $1 baluhay palatuh kisu", "editsection": "mikawaway-kalumyiti", "editold": "mikawaway tu kalumyiti", - "viewsourceold": "ciwsace sakatizeng bangu", + "viewsourceold": "ciwsace yuensma-kodo", "editlink": "mikawaway-kalumyiti", - "viewsourcelink": "ciwsace sakatizeng bangu", + "viewsourcelink": "ciwsace yuensma-kodo", "editsectionhint": "mikawaway-kalumyiti tusil: $1", "toc": "dilyikotoling", "showtoc": "paazih", @@ -237,9 +246,11 @@ "confirmable-yes": "hang", "confirmable-no": "caay", "thisisdeleted": "ciwsace saca patiku $1?", + "viewdeleted": "ciwsace $1?", "restorelink": "{{PLURAL:$1|masipuay a mikawaway-kalumyiti}}", "feed-invalid": "la’cusay a miaca-aazihan Feed kakuniz.", "feed-unavailable": "caayhen nipabeli RSS saca Atom ayza", + "site-rss-feed": "\"$1\" a RSS saangangan", "site-atom-feed": "$1 a Atom saangangan", "page-rss-feed": "\"$1\" a RSS saangangan", "page-atom-feed": "$1 a Atom saangangan", @@ -264,12 +275,14 @@ "databaseerror-error": "mungangaw: $1", "readonly": "pamutektu sulu nu nasulitan", "enterlockreason": "pisuliten pamutek a mahicaay, yamalyilu sausi miliyaw mawawah a tuki", + "missingarticle-rev": "(masumad#: $1)", "readonly_lag": "nasulitan-sulu lunuk miazih, imahini mihalhal mikilulay nasulitan-sulu malecad naamahiza misulit kalunasulitan katukuh sausi nasulitan-sulu", "internalerror": "ilabuay a mungangaw", "internalerror_info": "ilabuay a mungangaw: $1", "internalerror-fatal-exception": "pihaceng a bahal nikalahizaan \"$1\"", "filecopyerror": "la’cus mikopi tangan \"$1\" tayza \"$2\".", "filerenameerror": "la’cus miliyaw pangangan tu tangan \"$1\" ku \"$2\".", + "filedeleteerror": "la’cus misipu ku tangan \"$1\".", "directorycreateerror": "la’cus patizeng dilyikotoling \"$1\"", "directoryreadonlyerror": "dilyikotoling \"$1\" ku asip dada’.", "directorynotreadableerror": "dilyikotoling \"$1\" la’cu miasip.", @@ -279,15 +292,17 @@ "badarticleerror": "la’cus ini kasabelih miteka kya saungay.", "cannotdelete": "la’cus misipu kasabelih saca tangan \"$1\".\nhakay masipu tuway ku zumaay a tatemaw", "cannotdelete-title": "la’cus masipu kasabelih \"$1\"", + "delete-hook-aborted": "sipu masatezep tuway nay Hook.\nzumasatu caay patukil inayi’ amahicahica buhci tu kamu.", "no-null-revision": "la’cus patizeng kasabelih \"$1\" a baluhay nayi’ ku cacan a sumad", "badtitle": "a’cusay a pyawti", "badtitletext": "matuzu’ay a kasabelih pyawti u la’cusay、nayi’ ku cacan, caaysa tatenga’ay tu misiket kamu Wikiay a pyawti.\ntebanay pyawti akay amalyilu la’cusay pisaungay i pyawtayi a tatebanan nu nisulitan.", "title-invalid-empty": "tebanay satangahan akay amalyilu la’cusay pisaungay i pyawtayi a tatebanan-nisulitan.", + "title-invalid-utf8": "namilungucay a kasabelih satangahan yamalyilu izaw la’cusay a UTF-8 bacu", "title-invalid-interwiki": "milungucay a kasabelih satangahan yamalyilu la’cus pisaungay i satangahan a milakuid Wiki masasiket.", "title-invalid-talk-namespace": "milungucay a kasabelih satangahan nimicaliw hakay inayi’ay a sasukamu belih", "title-invalid-characters": "milungucay a kasabelih satangahan yamalyilu la’cusay a tatebanan-nisulitan: \"$1\".", "title-invalid-leading-colon": "milungucay a kasabelih satangahan yamalyilu la’cusay a mahaw-bacu i lalingatuan.", - "viewsource": "ciwsace sakatizeng bangu", + "viewsource": "ciwsace yuensma-kodo", "viewsource-title": "ciwsace $1 a sakatizeng banggu", "actionthrottled": "makelec saungay tuway", "protectedpagetext": "tina kasabelih masetin midiput mitena’ mikawaway-kalumyiti saca zuma saungay tuway.", @@ -310,6 +325,7 @@ "yourname": "misaungayay a kalungangan:", "userlogin-yourname": "misaungayay a kalungangan", "userlogin-yourname-ph": "pisulitan tu nu misay a misaungayay a kalungangan", + "createacct-another-username-ph": "pisulit misaungayay a kalungangan", "yourpassword": "mima:", "userlogin-yourpassword": "mima", "userlogin-yourpassword-ph": "suliten nu misuay a mima", @@ -317,7 +333,7 @@ "yourpasswordagain": "pisuliten tu mima cacay aca:", "createacct-yourpasswordagain": "malucekay tu mima", "createacct-yourpasswordagain-ph": "pisulitan ku mima kinacacay aca", - "userlogin-remembermypassword": "pabalucu'en patalabu setyitase nu maku", + "userlogin-remembermypassword": "pabalucu’en patalabu setyitase nu maku", "userlogin-signwithsecure": "pisaungay zahkez misiket tu calay-zazan(wanglu)", "cannotlogin-title": "la’cus patalabu", "cannotlogin-text": "la’cus patalabu.", @@ -329,6 +345,7 @@ "password-change-forbidden": "amana kisu misumad tina Wiki a mima.", "externaldberror": "uyniyan hakay u nanu kalunasulitan-sulu sawantan mungangaw, saca caay mahasa kisu mitadas ihekalay a canghaw.", "login": "patalabu", + "login-security": "sawantanen tu ID nu misu", "nav-login-createaccount": "patalabu / panganganen ku canghaw", "logout": "katahkal", "notloggedin": "caay henay patalabu", @@ -364,6 +381,8 @@ "loginsuccesstitle": "patalabutu", "nouserspecified": "kanca matuzu’ay cacay misaungayay a kalungangan kisu.", "login-userblocked": "tina misaungayay mapalangat tuway, caay mahasa patalabu tuway.", + "wrongpassword": "nasulitan nu misu a mima mungangaw, pitaneng aca.", + "wrongpasswordempty": "nasuliten a mima inayi’.\npitaneng aca.", "passwordtoopopular": "amana pisaungay sawsawni maazihay a mima,pipili’en pisaungay uzumaay a mima.", "password-name-match": "mima nu misu la’cus kalecad tu misaungayay a kalungangan", "password-login-forbidden": "tina misaungayay a kalungangan atu mima masatezep pisaungay tuway.", @@ -397,6 +416,7 @@ "oldpassword": "malumannay a mima", "newpassword": "baluhay a mima:", "retypenew": "miliyaw suliten baluhay a mima:", + "resetpass_submit": "setin mima atu patalabu", "changepassword-success": "mima nu misu masumad tu!", "changepassword-throttled": "capi demiad mitanam mangasiw patalabu.\npihalhal henay $1 pitaneng aca.", "botpasswords": "kikay-tademaw a mima", @@ -416,6 +436,9 @@ "botpasswords-bad-appid": "kikay-tademaw kalungangan \"$1\" la’cus.", "botpasswords-insert-failed": "micunusen kikay-tademaw kalungangan \"$1\" mungnhaw, pacunusen tu haw?", "botpasswords-update-failed": "misabaluh kikay-tademaw kalungangan \"$1\" mungnhaw, masipu tu haw?", + "botpasswords-created-title": "patizeng tu ku kikay-tademaw mima", + "botpasswords-updated-title": "masabaluh kikay-tademaw mima", + "botpasswords-deleted-title": "masipu tu kikay-tademaw mima", "botpasswords-restriction-failed": "kikay-tademaw a mima kelec makai tu ayzaay a patalabu.", "botpasswords-invalid-name": "matuzu’ay a misaungayay a kalungangan caay yamalyilu kikay-tademaw mima maliyasay a tatebanan nu nisulitan (\"$1\")", "botpasswords-not-exist": "misaungayay \"$1\" zumasatu inayi’ kalungangan ku \"$2\" a kikay-tademaw mima.", @@ -436,6 +459,7 @@ "passwordreset-domain": "calay-subal(wangyi) kalungangan:", "passwordreset-email": "imyiyo(email) puenengan:", "passwordreset-emailtitle": "i {{SITENAME}} a canghaw pulita kalunasulitan", + "passwordreset-emailelement": "misaungayay a kalungangan:\n$1\n\nnanunuzay a mima:\n$2", "passwordreset-nocaller": "manakanca nipabeli caller", "passwordreset-nosuchcaller": "Caller inayi’: $1", "passwordreset-ignored": "caay pilisimet miliyaw patizeng mima. hakay caay henay misetin nipabeliay?", @@ -450,10 +474,11 @@ "changeemail-submit": "misumad imyiyo(email)", "changeemail-nochange": "pisulitan caay kalecaday baluhay imyiyo(email) puenengan.", "resettokens": "miliyaw patizeng sabuhat a mima", - "resettokens-no-tokens": "inayi’ ku miliyaw tu setinay a mima-sacukcuk.", + "resettokens-no-tokens": "inayi’ ku miliyaw tu setinay a mima-sabuhat.", "resettokens-tokens": "sabuhat:", "resettokens-token-label": "$1 (ayza sa ku $2)", - "resettokens-resetbutton": "miliyaw patizeng mapili’ay a sabuhat-sacukcuk", + "resettokens-done": "maliyaw tu patizeng mima-sabuhat", + "resettokens-resetbutton": "miliyaw patizeng mapili’ay a mima-sabuhat", "bold_sample": "kibetulay a sulit", "bold_tip": "kibetulay a sulit", "italic_sample": "tukenihay nisulit", @@ -483,19 +508,22 @@ "showdiff": "paazih ku masumaday", "anoneditwarning": "patalaw:caay henay kisu patalabu. anu miteka mikawaway tu kalumyiti, IP adolyise nu misu ama mitilak. anu kisu [$1 patalabu ] acasa [$2 panganganen ku canghaw ], misuay mikawaway tu kalumyiti payni tu nu misuay misaungayay kalungangan sacuzu’ ,izaway zuma kapahayay.", "missingcommenttext": "pisuliten buhci tu kamu isasa’.", + "summary-preview": "mikawaway-kalumyiti pecu’ nu lacul pataayaway miazih:", "subject-preview": "pataayaway miazih taazihan tu kawaw:", "previewerrortext": "mitanam pataayaway miazih sumad nu misu sa mungangaw.", + "blockedtitle": "misaungayay malangat tuway", "blockednoreason": "caay pasaheci tu mahicaay", "whitelistedittext": "piayawen $1 sakapah mikawaway-kalumyiti kasabelih.", "nosuchsectiontitle": "caykatepa tu tusil", "loginreqtitle": "maydih patalabu", "loginreqlink": "patalabu", + "loginreqpagetext": "$1 iayaw kyu kapah miciwsace zuma kasabelih.", "accmailtitle": "mima patigamitu", "newarticle": "(baluhay)", "newarticletext": "masasiket kisu tu nayi’ay tu kasabelih.\namipatizeng tina kasabelih, kaisasa mikawaway tu kalumyiti atilad misulit ku lacul (kahica nu kawaw piazih tu tatenga’ay [$1 misaungay a buhci tu kamu kasabelih ]).\namahica caay padeteng tayza tina kasabelih kisu haw, pihaymaw sapecec saazihay a tatiku pipenecan.", "noarticletext": "kina kasabelih inayi’ lacul ayza,kapah tu kisu i zumaay a kasabelih [[Special:Search/{{PAGENAME}}| mikilim kina kasabelih pyawti ]]、[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mikilim sasuala nasulitan nakawawan ] caay sa[{{fullurl:{{FULLPAGENAME}}|action=edit}} patizeng kina kasabelih ].", "noarticletext-nopermission": "tina kasabelih ayza inayi’ lacul,\nkapah tu kisu i zuma kasabelih [[Special:Search/{{PAGENAME}}| kilim kina kasabelih pyawti ]],acasa [{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} kilim sasuala nasulitan nakawawan ],uyzasa inayi’ ku tungus patizeng tina kasabelih.", - "userpage-userdoesnotexist-view": "misaungayay canghaw \"$1\" caay henay pangangan.", + "userpage-userdoesnotexist-view": "misaungayay canghaw \"$1\" caay henay mapangangan.", "blocked-notice-logextract": "tina misaungayay malangat tu ayza.\nisasa’ay ku capi demiad malangatay a nasulitan apabeli miazih tu tatenga’ay:", "updated": "(misabaluh tuway)", "note": "azihen:", @@ -504,6 +532,7 @@ "creating": "patizeng ayza $1", "editingsection": "mikawaway tu kalumyiti ayza $1 (tusil)", "editingcomment": "imahini mikawaway-kalumyiti $1 (baluhay tusil)", + "editconflict": "mikawaway-kalumyiti sasula’cus: $1", "yourtext": "numisuay a sulit", "storedversion": "misupedtu tu sumad", "yourdiff": "sasizuma", @@ -515,21 +544,26 @@ "template-semiprotected": "(madiputay a kasabelih - satizep mikawaway tu kalumyiti)", "hiddencategories": "kina kasabelih tungusay nu {{PLURAL:$1|1 midimut kakuniza }}mamikawaw:", "nocreate-loggedin": "inayi’ tungus kisu patizeng baluhayay a kasabelih.", + "sectioneditnotsupported-title": "caay pidama mikawaway-kalumyiti tusil", "sectioneditnotsupported-text": "tina kasabelih caay midama mikawaway-kalumyiti tusil.", "permissionserrors": "mungangaw ku tungus", "permissionserrorstext-withaction": "namakay isasaay {{PLURAL:$1|mahicaay}}, inayi’ kisu situngus miteka $2 miteka tuway misaungay:", "moveddeleted-notice": "kina kasabelih masipu tu.\nisasa nipabeli kina kasabelihay a masipu atu milimad nasulitan nakawawan, taneng miazih tu tatenga’ay.", "log-fulllog": "ciwsace leku nasulitan-nazipa’an", "edit-hook-aborted": "mikawaway-kalumyiti masatezep tuway nay Hook.\nzumasatu caay patukil inayi’ amahicahica buhci tu kamu.", + "edit-gone-missing": "la’cus misabaluh kasabelih.\nkya kasabelih hakay masipu tuway.", "edit-conflict": "mikawaway-kalumyiti sasula’cus", "edit-no-change": "izay kisu caay misumad amahicahica tu sulit, masekipo tina mikawaway-kalumyiti tuway.", "postedit-confirmation-created": "mapatizeng tu kasabelih.", "postedit-confirmation-restored": "mapatiku tu kasabelih.", "postedit-confirmation-saved": "masuped tu mikawaway-kalumyiti nu misu.", "defaultmessagetext": "pataayaw tu kawaw palatuh a sulit", + "content-failed-to-parse": "tingalaw $2 kese a $1 kamu-sakilul a lacul mungangaw: $3", "invalid-content-data": "lacul kalunasulitan la’cus", "content-not-allowed-here": "kasabelih [[$2]] caay mahasa pisaungay \"$1\" lacul nu kamu-sakilul", + "editpage-invalidcontentmodel-title": "caay pidama tu lacul nu tatudungen misanga’", "editpage-invalidcontentmodel-text": "caay kamidama lacul tatudungen-misanga’ \"$1\".", + "editpage-notsupportedcontentformat-title": "caay pidama tuyni a lacul nu kese", "editpage-notsupportedcontentformat-text": "lacul kamu-sakilul $2 caay midama pisaungay $1 kese a lacul.", "content-model-wikitext": "Wikitext", "content-model-text": "sulit a dada’", @@ -540,7 +574,7 @@ "duplicate-args-category": "anu taazihan-mitudung muawaw haw pisaungay misaliyaway a aazihen-sulyang a kasabelih", "expensive-parserfunction-category": "pisaungay sayadah eluc sisetyimo katahkalan nu kalisiw a mapulita kasabelih", "post-expand-template-inclusion-category": "nicaliwan taazihan-mitudung mangasiw kelec nu kasabelih", - "post-expand-template-argument-category": "taazihan-mitudung aazihen a sulyang izaw layad masekipoay a kasabelih", + "post-expand-template-argument-category": "taazihan-mitudung aazihen-sulyang izaw layad masekipoay a kasabelih", "parser-template-loop-warning": "masedap taazihan-mitudung musaliyut: [[$1]]", "template-loop-category": "sitatutungay masaliyut a kasabelih", "template-loop-category-desc": "kasabelih yamalyilumaazihan masaliyut, mahizatuay niza miawaw nizaay a maazihan.", @@ -576,6 +610,7 @@ "history-show-deleted": "paazih a cacay ku masipuay tu masumad", "histfirst": "sakasumamadan", "histlast": "sabaluhay", + "historysize": "({{PLURAL:$1|1 wyiyincu}})", "historyempty": "(inayi’)", "history-feed-title": "masumad nu ayaway a nazipa’an", "history-feed-description": "tina Wiki tina kasabelih nu masumaday a nazipa’an", @@ -587,6 +622,7 @@ "rev-delundel": "misumad ku maazihay", "rev-showdeleted": "paazih", "revisiondelete": "masipu/palawpes misipu masumad nu ayaway", + "revdelete-nooldid-title": "la’cusay a pamutekan masumad nu ayaway", "revdelete-no-file": "matuzu’ay a tangan inayi’ tu.", "revdelete-show-file-submit": "hang", "logdelete-selected": "mapili’ {{PLURAL:$1|cacay|yadah}} nasulitan nazipa’an saungay nu binawlan.", @@ -595,6 +631,7 @@ "revdelete-legend": "misetin paazih a kelec", "revdelete-hide-text": "masumad nu ayaway a sulit", "revdelete-hide-image": "midimut lacul nu tangan", + "revdelete-hide-name": "midimut pamutekan atu aazihen-sulyang", "revdelete-hide-comment": "pecu’ nu lacul mikawaway-kalumyiti", "revdelete-hide-user": "mikawaway-kalumyitiay a misaungayay a kalungangan/IP puenengan", "revdelete-hide-restricted": "la’cus paazih kalunasulitan tu mikuwanay atu zuma misaungayay", @@ -606,6 +643,7 @@ "revdelete-submit": "caedung tu mapili’ay a {{PLURAL:$1|cacay|yadah}} masumad nu ayaway", "revdelete-success": "misabaluh masumaday a maazihay.", "logdelete-success": "setin nasulitan-nazipa’an a maazihay.", + "logdelete-failure": "la’cus misabaluh nasulitan-nazipa’an a paazih setin:\n$1", "revdel-restore": "misumad ku maazihay", "pagehist": "kasabelih nazipa’an", "deletedhist": "masiputu tu nazipa’an", @@ -623,12 +661,15 @@ "mergehistory-list": "kapah mikabuay a mikawaway-kalumyiti nazipa’an", "mergehistory-go": "paazih kapah mikabuay a mikawaway-kalumyiti", "mergehistory-empty": "inayi’ amikabuay a sumad.", + "mergehistory-done": "$1 izaw $3 {{PLURAL:$3|baziyong}} masumad nu ayaway makabu tu i [[:$2]]", "mergehistory-fail": "la’cus miteka nazipa’an mikabu, piliyaw kinsa kya kasabelih atu tuki aazihen-sulyang", "mergehistory-fail-bad-timestamp": "tatukian a suyling la’cus.", + "mergehistory-fail-invalid-source": "saangangan kasabelih la’cus.", + "mergehistory-fail-invalid-dest": "pamutekan kasabelih la’cus.", "mergehistory-fail-permission": "mangadis tungus,la’cus mikabu nazipa’an.", "mergehistory-fail-self-merge": "malecad ku kalungangan nu saangangan kasabelih atu papatuzu’an kasabelih.", "mergehistory-fail-timestamps-overlap": "angangan masumad nu ayaway baziyong misaliyaw, saca i zikuz nu papatuzu’an masumad nu ayaway baziyong sa matahkal.", - "mergehistory-fail-toobig": "mangasiw $1 masumad nu ayaway milimadan pabaw-sahezek, la’cus miteka nazipa’an mikabu", + "mergehistory-fail-toobig": "mangasiw {{PLURAL:$1|baziyong}} masumad nu ayaway milimaday a pabaw-sahezek, la’cus mikabu nazipa’an.", "mergehistory-no-source": "saangangan kasabelih $1 inayi’.", "mergehistory-no-destination": "papatuzu’an kasabelih $1 inayi’.", "mergehistory-invalid-source": "saangangan kasabelih kanca pisaungay kapahay a satangahan.", @@ -643,7 +684,9 @@ "history-title": "\"$1\" masumaday a nazipa’an", "difference-title": "\"$1\" misumad laeday sasizuma", "difference-title-multipage": "kasabelih \"$1\" atu \"$2\" laeday a sasizuma", + "difference-multipage": "(kasabelih laeday sasizuma)", "lineno": "silsil $1:", + "compareselectedversions": "sasutili’ay tu mipili’ sumad", "showhideselectedversions": "misumad mapili’ay a masumad nu ayaway a paazihay a setin", "editundo": "patiku", "diff-empty": "(inayi’ sasizuma)", @@ -670,9 +713,11 @@ "searchprofile-everything-tooltip": "kilim saca hamin lacul (yamalyilu sasukamu kasabelih)", "searchprofile-advanced-tooltip": "mikilim pakuniza misanga’ pangangananay a salaedan", "search-result-size": "$1 ({{PLURAL:$2|$2 ku sulit}})", + "search-result-category-size": "{{PLURAL:$1|$1 sakawaway}} ({{PLURAL:$2|$2 sailuc-kasasizuma}}, {{PLURAL:$3|$3 tangan }})", "search-redirect": "(miliyaw tazuma namakay $1)", "search-section": "(tusil $1)", "search-category": "(kakuniza $1)", + "search-file-match": "(matatungus tangan lacul)", "search-suggest": "u tuzu’ nu misu ku:$1 haw?", "search-rewritten": "paazih $1 a heci nu makatepa, balicen mikilim $2ㄡ", "search-interwiki-caption": "yaheci namakay kakana-sabana a cwanan", @@ -701,15 +746,18 @@ "skin-preview": "pataayaway miazih", "datedefault": "sulyang nu pataayaw tu kawaw", "prefs-labs": "mitanam henay a sasahicaan", + "prefs-personal": "misaungayay angangan a kalunasulitan", "prefs-rc": "capi a demaiday a sumad", "prefs-watchlist": "miazihay a piazihan tu sulit", "prefs-editwatchlist": "miazihay a piazihan tu sulit nu mikawaway-kalumyiti", "prefs-editwatchlist-label": "mikawaway-kalumyiti i numisuay miazihay a piazihan-tu-sulit kasacacay:", "prefs-editwatchlist-edit": "ciwsace atu misipu satangahan ilabu nu miazihay a piazihan-tu-sulit", "prefs-editwatchlist-raw": "mikawaway-kalumyiti saayaway misisip a piazihan-tu-sulit", + "prefs-editwatchlist-clear": "misipu miazihay a piazihan-tu-sulit nu misu", "prefs-watchlist-days": "ilabu nu miazihay a piazihan-tu-sulit paazih a demiad nikayadah:", "prefs-watchlist-days-max": "sayadahay $1 {{PLURAL:$1|a demiad}}", "prefs-watchlist-edits-max": "makelec nikayadah:1000", + "prefs-watchlist-token": "miazihay a piazihan-tu-sulit mima-sabuhat:", "prefs-misc": "zuma", "prefs-resetpass": "misumad tu mima", "prefs-changeemail": "misumad saca misipu imyiyo(email) puenengan", @@ -731,6 +779,7 @@ "savedrights": "masuped tu {{GENDER:$1|$1}} misaungayay a tungus.", "timezonelegend": "tatukian a kakitizaan:", "localtime": "itiniay a tuki:", + "timezoneuseserverdefault": "pisaungay Wiki pataayaw tu kawaw sulyang($1)", "servertime": "sefuci-kikay a tuki:", "guesstimezone": "pisaungay saazih sakaluk setin sulyang", "timezoneregion-africa": "Afilika", @@ -749,6 +798,7 @@ "prefs-custom-css": "pakuniza misanga’ CSS", "prefs-custom-js": "pakuniza misanga’ JavaScript", "prefs-common-css-js": "sacahamin nuhekalan kapulungan a CSS/JavaScript:", + "prefs-emailconfirm-label": "imyiyo(email) malucekay tuway:", "username": "{{GENDER:$1|misaungayay a kalungangan}}:", "prefs-registration": "pangangan a demiad:", "yourrealname": "tatengaay a ngangan:", @@ -756,6 +806,7 @@ "yourvariant": "lacul kamu masazumaay:", "prefs-help-variant": "maydih kisu sapaazih tina kakacawan a lacul kalukamu saca sasuala tu sulit nu kamu.", "yournick": "baluhay sulitan a ngangan:", + "badsig": "mungangaw a saayaway sulitan a ngangan.\npikinsa HTML aazihen-paya.", "yourgender": "milunguc kisu pisaungay canan a etul muawaw tisuwanan?", "gender-unknown": "anu miawaw tisuwan sa, tina zwanti hakay amana misaungay tu etul-sulit.", "gender-male": "mikawaway-kalumyiti Wiki kasabelih ciniza", @@ -780,24 +831,28 @@ "userrights": "tungus nu misaungayay", "userrights-lookup-user": "mipili’ misaungayay", "userrights-user-editname": "pisuliti misaungayay a kalungangan:", + "editusergroup": "pacumud misaungayay luyaluy", "userrights-editusergroup": "mikawaway-kalumyiti {{GENDER:$1|misaungayay}} cyucu", "userrights-viewusergroup": "ciwsace {{GENDER:$1|misaungayay}} luyaluy", "saveusergroups": "misuped {{GENDER:$1|misaungayay}} luyaluy", "userrights-groupsmember": "canan a luyaluy:", + "userrights-groupsmember-auto": "litinay yamalyilu luyaluy:", "userrights-reason": "mahicaay:", "userrights-no-interwiki": "inayi’ tungus kisu mikawaway-kalumyiti zuma Wiki misaungayay a tungus.", "userrights-nodatabase": "kalunasulitan-sulu $1 inayi’ saca inayi’ itiniay a angangan-kikay.", + "userrights-changeable-col": "kapah kisu ku misumaday tu luyaluy", "userrights-unchangeable-col": "amana kisu misumad tu luyaluy", "userrights-expiry-current": "kakatekuhan $1", "userrights-expiry-none": "inayi’ kakatekuhan", "userrights-expiry": "kakatekuhan:", - "userrights-expiry-existing": "masetin tu kakatekuhan: $3, $2", + "userrights-expiry-existing": "ayzaay a kakatekuhan: $3, $2", "userrights-expiry-othertime": "zuma a tatukian:", "userrights-invalid-expiry": "luyaluy \"$1\" a kakatekuhan la’cus tu.", "userrights-expiry-in-past": "luyaluy \"$1\" a kakatekuhan mangliw tu.", "userrights-conflict": "misaungayay tungus misumad sasula’cus! piciwsace atu malucekay sumad nu misu", "group": "luyaluy:", "group-user": "misaungayay", + "group-autoconfirmed": "lunuk malucekay tu misaungayay", "group-bot": "kikay a tademaw", "group-sysop": "mikuwanay", "group-bureaucrat": "situngusay a mikawaway", @@ -813,7 +868,7 @@ "grouppage-autoconfirmed": "{{ns:project}}: lunuk malucekay tu misaungayay", "grouppage-bot": "{{ns:project}}:kikay a tademaw", "grouppage-sysop": "{{ns:project}}:mikuwanay", - "grouppage-bureaucrat": "{{ns:project}}:situngusay a mikawaway", + "grouppage-bureaucrat": "{{ns:project}}:situngusay mikawaw", "grouppage-suppress": "{{ns:project}}:misisipay", "right-read": "miasip kasabelih", "right-edit": "kasabelih mikawaway-kalumyiti", @@ -821,6 +876,7 @@ "right-createtalk": "patizeng matatengil kasabelih", "right-createaccount": "patizeng baluhay misaungayay a canghaw", "right-autocreateaccount": "pisaungay hekalay a misaungayay canghaw lunuk patalabu", + "right-minoredit": "sacuzu’ mikawaway-kalumyiti mala mikilulay", "right-move": "milimad kasabelih", "right-move-subpages": "milimad kasabelih atu sailuc-kasabelih", "right-move-rootuserpages": "milimad tu limit misaungayay a kasabelih", @@ -828,11 +884,13 @@ "right-movefile": "milimad tu tangan", "right-suppressredirect": "milimad kasabelih caay i angangan kasabelih kakitizaan patizeng miliyaw patatuzu’ kasabelih", "right-upload": "patapabaw tu tangan", + "right-reupload": "mitahpu tu izaay ayza a tangan", "right-reupload-own": "mitahpu patapabaway a tangan nu misu", "right-reupload-shared": "mitahpu kapulungan myiti tangan-sulu i itiniay a tangan", "right-upload_by_url": "pisaungay URL patapabaw tangan", "right-purge": "amana malucek palawpesen tu calay-kakacawan(wangcan) a kasabelih kalamkam-miala", "right-autoconfirmed": "caay pasatezepan nu IP-based a pangangan tumiyac", + "right-bot": "a u malunukay ku piazih tu laylay", "right-nominornewtalk": "caay paazih matatengil kasabelih mikilulay mikawaway-kalumyiti a baluhay palatuh pacekil", "right-apihighlimits": "pisaungay API takalaway a makelec nikayadah nu palalitemuh tu kawaw", "right-writeapi": "pisaungay suliten API", @@ -852,10 +910,12 @@ "right-hideuser": "milangat misaungayay a kalungangan, amana pabibawlan paazih", "right-ipblock-exempt": "sekipo IP milangat, lunuk milangat atu subal milangat kinsa", "right-unblockself": "mihulak tu ku langat nu maku", - "right-protect": "misumad midiput saselal atu mikawaway-kalumyiti mapatatusul midiputay a kasabelih", + "right-protect": "misumad midiput tindud atu mikawaway-kalumyiti mapatatusul midiputay a kasabelih", "right-editcontentmodel": "mikawaway-kalumyiti kasabelih a lacul tatudungen-misanga’", + "right-editinterface": "mikawaway-kalumyiti misaungayay taypuolayta", "right-editusercss": "mikawaway-kalumyiti zuma misaungayay a CSS tangan", "right-edituserjs": "mikawaway-kalumyiti zuma misaungayay a JavaScript tangan", + "right-editmyusercss": "mikawaway-kalumyiti numisuay a misaungayay CSS tangan", "right-editmyuserjs": "mikawaway-kalumyiti numisuay misaungayay a JavaScript tangan", "right-viewmywatchlist": "ciwsace misuay a miazihay a piazihan-tu-sulit", "right-viewmyprivateinfo": "ciwsace numisuay a dimut kalunasulitan (tinaku, imyiyo(email) puenengan atu tatenga’ay a ngangan)", @@ -873,7 +933,7 @@ "right-userrights": "mikawaway-kalumyiti sacahamin misaungayay a tungus", "right-userrights-interwiki": "mikawaway-kalumyiti misaungayay a tungus i zuma a Wiki", "right-siteadmin": "pamutek atu mihulak azihen sulu nu nasulitan", - "right-override-export-depth": "patahkal ku kasabelih yamalyilu masasiket lacul, ilabu pabaw-sahezek silima kasaselal", + "right-override-export-depth": "patahkal ku kasabelih yamalyilu masasiket lacul, ilabu pabaw-sahezek silima tindud", "right-sendemail": "pabahel imyiyo(email) patakus zuma misaungayay", "right-deletechangetags": "nay kalunasulitan-sulu masipu [[Special:Tags|aazihen-paya]]", "grant-generic": "\"$1\" tungus pulung han", @@ -882,6 +942,7 @@ "grant-group-watchlist-interaction": "sakasaungay numisuay misisip a piazihan-tu-sulit", "grant-group-email": "pabahel imyiyo(email)", "grant-group-high-volume": "mileku sayadah a saungay nu binawlan", + "grant-group-customization": "pakuniza misanga’ atu setin tu kanamuhan", "grant-group-administration": "mileku tu mikuwanay a kawaw", "grant-group-other": "zuma saungay nu binawlan", "grant-blockusers": "milangat atu mihulak milangatay a misaungayay", @@ -891,11 +952,14 @@ "grant-editmycssjs": "mikawaway-kalumyiti numisuay a misaungayay CSS/JavaScript", "grant-editmyoptions": "mikawaway-kalumyiti misaungayay setin tu kanamuhan nu misu", "grant-editmywatchlist": "mikawaway-kalumyiti numisu misisip a piazihan-tu-sulit", + "grant-editpage": "mikawaway-kalumyiti izaway kasabelih", "grant-editprotected": "mikawaway-kalumyiti madiputay a kasabelih", "grant-highvolume": "masibek mikawaway-kalumyiti", "grant-oversight": "midimut misaungayay atu satezep paazih masumad nu ayaway", + "grant-patrol": "mikibi tu kasabelihay a misumad", "grant-privateinfo": "misuped-miala madimut kasikazan a cesyun", "grant-protect": "midiput atu palawpes midiput kasabelih", + "grant-rollback": "patiku kasabelih a sumad", "grant-sendemail": "pabahel imyiyo(email) patakus zuma misaungayay", "grant-uploadeditmovefile": "patapabaw, mibalic atu milimad tangan", "grant-uploadfile": "patapabaw ku baluhay a tangan", @@ -905,6 +969,7 @@ "grant-viewrestrictedlogs": "ciwsace makelecay a nasulitan-nazipa’an kasacacay", "newuserlogpage": "patizeng misaungayay nasulitan nakawawan", "newuserlogpagetext": "uniyan sa u patizeng misaungayay a nasulitan-nazipa’an.", + "rightslog": "misaungayay a tungus nasulitan nazipa’an", "rightslogtext": "uyiniyan sa ku misumad misaungayay tungus a nasulitan-nazipa’an.", "action-read": "miasip tina kasabelih", "action-edit": "mikawaway-kalumyiti uyni a kasabelih", @@ -922,16 +987,19 @@ "action-reupload": "mitahpu imahiniay a tangan", "action-reupload-shared": "mitahpu tina kapulungan sulu nu tangan a tangan", "action-upload_by_url": "pisaungay URL patapabaw tina tangan", + "action-writeapi": "pisaungay suliten API", "action-delete": "misipu tina kasabelih", "action-deleterevision": "misipu tu masumaday nu ayaway", "action-deletelogentry": "masipu nasulitan nazipa’an kasacacay", "action-deletedhistory": "ciwsace kasabelih a masipu nazipa’an", "action-deletedtext": "ciwsac masipuay a sulit nu masumad ayaway baziyong", "action-browsearchive": "mikilim masipuay a kasabelih", + "action-undelete": "palawpes masipuay kasabelih", "action-suppressrevision": "miciwsace atu patiku midimut masumad nu ayaway", "action-suppressionlog": "ciwsace tina caay pabinawlanay nasulitan-nazipa’an", "action-block": "miangat tina saungayay a tungus nu mikawaway-kalumyiti", - "action-protect": "misumad tina kasabelih a midiput saselal", + "action-protect": "misumad tina kasabelih a midiput tindud", + "action-rollback": "kalamkam patiku sazikuzay a cacay misaungayay patatapalen zuma a cacay kasabelih a mikawaway-kalumyiti.", "action-import": "nay zuma Wiki pacumud kasabelih", "action-importupload": "nay tangan patapabaw pacumud kasabelih", "action-patrol": "sacuzu’ zumaay a mikawaway-kalumyiti tu tayza-mikibi", @@ -968,6 +1036,7 @@ "recentchanges-legend-heading": "u tinaku nu kulit:", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (piazih tu tatenga’ay [[Special:NewPages| baluhayay a kasabelih]])", "recentchanges-submit": "paazih", + "rcfilters-activefilters": "pisaungayay a sebseb sakacucek", "rcfilters-days-show-hours": "$1 {{PLURAL:$1|tuki}}", "rcfilters-quickfilters": "suped sebseb sakaluk", "rcfilters-savedqueries-defaultlabel": "suped sebseb sakaluk", @@ -976,7 +1045,9 @@ "rcfilters-savedqueries-new-name-label": "kalungangan", "rcfilters-savedqueries-cancel-label": "palawpes", "rcfilters-restore-default-filters": "patiku pataayaw tu kawaw mipili’ay sakacucek", + "rcfilters-clear-all-filters": "misipu sacahamin sebseb sakacucek", "rcfilters-search-placeholder": "pili’ tu labuay sulit capi misumad (azih saca miteka suzu)", + "rcfilters-invalid-filter": "la’cusay a sebseb sakacucek", "rcfilters-empty-filter": "inayi’ pisaungay pili’ tu labuay sulit. mapaazih sacahamin a paanin.", "rcfilters-filterlist-title": "sakacucek nu misapili’", "rcfilters-highlightbutton-title": "pulita sacuzu’ a heci", @@ -1010,9 +1081,11 @@ "rcfilters-filter-minor-description": "masacudaday sacuzu’ tuway mikilulay a mikawaway-kalumyiti.", "rcfilters-filter-major-label": "caay mikilulay mikawaway-kalumyiti", "rcfilters-filter-major-description": "caay silusi mikilulay a mikawaway-kalumyiti.", + "rcfilters-filtergroup-watchlist": "mikantuk tu lisetoay kasabelih", "rcfilters-filter-watchlist-watched-label": "miazih piazihan tu sulit", "rcfilters-filter-watchlist-watched-description": "misumad piazihan-tu-sulit i misisip nu misu.", "rcfilters-filter-watchlist-watchednew-label": "nasumadan nu baluhayay misisip a piazihan-tu-sulit", + "rcfilters-filter-watchlist-notwatched-label": "caayay ka kantuk a liseto", "rcfilters-filtergroup-changetype": "misumad nikalahizaan", "rcfilters-filter-pageedits-label": "mikawaway-kalumyiti nu kasabelih", "rcfilters-filter-pageedits-description": "nay Wiki lacul, matatengil, kakuniza buhci tu kamu nasangaan a mikawaway-kalumyiti...", @@ -1053,6 +1126,7 @@ "minoreditletter": "adidi’", "newpageletter": "baluhay", "boteditletter": "kikay a tademaw", + "number_of_watching_users_pageview": "[$1 imahini miazihay a {{PLURAL:$1|misaungayay}}]", "rc_categories": "kakuniza kelec (ku \"|\" palaliyas):", "rc_categories_any": "amahicahica tu mipili’ay", "rc-change-size-new": "masumadtu sa u $1 {{PLURAL:$1|wyiyincu}}", @@ -1067,6 +1141,7 @@ "recentchangeslinked-summary": "uyni kasabelih pasilsil micuzu’ kasabelih masasiketay saca hamin kasabelihan (hakya u matuzu’ay kakuniza\nilabu saca hamin mamikawaw)izaw ku misumaday kasabelih piazihan tu sulit.\nizawtu ku [[Special:Watchlist|sapacukat a sulit nu misu]] ilabuay a kasabelih apatahkal ku kibetulay a sulit sacuzu’.", "recentchangeslinked-page": "kasabelih kalungangan:", "recentchangeslinked-to": "Show changes to pages linked to the given page instead\nmisumad ku paazih masasiket tayza matuzu’ay kasabelih a nisumad", + "recentchanges-page-added-to-category": "[[:$1]] macunus tu ta kakuniza", "recentchanges-page-removed-from-category": "[[:$1]] masipu tu nay kakuniza", "autochange-username": "MediaWiki lunuk misumad", "upload": "patapabaw ku tangan", @@ -1077,6 +1152,9 @@ "upload_directory_missing": "ma’ngadis patapabaw dilyikotoling ($1) zumasa calay-belih(wangyi) sefu-kikay inayi’ tungus mipatizeng.", "upload_directory_read_only": "calay-belih(wangyi) sefu-sakaluk inayi’ patapabaw dilyikotoling ($1) a suliten tungus.", "uploaderror": "patapabaw mungangaw", + "upload-permitted": "mahasa tangan {{PLURAL:$2|nikalahizaan}}: $1.", + "upload-preferred": "patahkal nizateng a tangan {{PLURAL:$2|nikalahizaan}}: $1", + "upload-prohibited": "satezep a tangan {{PLURAL:$2|nikalahizaan}}: $1", "uploadlogpage": "patapabaw nasulitan nazipa’an", "filename": "kalungangan nu tangan", "filedesc": "pecu’ nu lacul", @@ -1090,8 +1168,10 @@ "filename-toolong": "tangan kalungangan amana mangsiw 240 wyiyincu.", "badfilename": "masumad tuway tangan kalungangan ku \"$1\"", "filetype-badmime": "amana mahasa patapabaw MIME nikalahizaan ku \"$1\" a tangan.", + "filetype-missing": "kya tangan inayi’ mikilulay ngangan nu tangan (tinaku \".jpg\")", "empty-file": "patayzaan nu misu a tangan u inayi’ay.", "file-too-large": "patayzaan tangan nu misu micalapay.", + "filename-tooshort": "tangan kalungangan tada apuyu’.", "filetype-banned": "tina nikalahizaan tangan masatezep pisaungay tuway.", "verification-error": "tina tangan caay kasawantan.", "hookaborted": "mitanam kisu misumad pasatezep nu sacunus-tuutuud.", @@ -1114,11 +1194,16 @@ "uploaded-hostile-svg": "i mapatapabaway a SVG tangan yangse aazihen-paya matepa caay kaenapay a CSS.", "uploadinvalidxml": "la’cus mitingalaw matapabaway tangan a XML.", "upload-source": "saangangan a tangan", + "sourcefilename": "saangangan tangan kalungangan:", + "sourceurl": "saangangan URL:", + "destfilename": "pamutekan tangan kalungangan:", "upload-maxfilesize": "hacica-tabaki nu tangan makelec: $1", "upload-description": "tangan sapuelac", "upload-options": "patapabaw mapiliay", "watchthisupload": "miazih tina tangan", + "upload-proto-error": "padinwaay a ketun caay katatenga’", "upload-file-error": "ilabuay a mungangaw", + "upload-misc-error": "caay kapulita patudud mungangaw", "upload-too-many-redirects": "kya URL miliyaw patatuzu’ tayza sayadah zuma a puenengan", "upload-http-error": "HTTP mungangaw: $1", "upload-copy-upload-invalid-domain": "tina calay-subal(wangyi) caay mahasa kopi patapabaway a tangan.", @@ -1142,6 +1227,7 @@ "backend-fail-hashes": "la’cus maala tangan macamel-sulyang (Hash) miteka sasutili’ay.", "backend-fail-notsame": "i \"$1\" izaw tu zumaay caay kalecaday a tangan.", "backend-fail-invalidpath": "\"$1\" caykaw kapahay a suped pazazan.", + "backend-fail-delete": "la’cus misipu ku tangan \"$1\".", "backend-fail-describe": "la’cus misumad tangan \"$1\" a kalunasulitan misaheci.", "backend-fail-alreadyexists": "tangan \"$1\" izaw tu.", "backend-fail-store": "la’cus misuped tangan \"$1\" i \"$2\".", @@ -1172,7 +1258,7 @@ "zip-wrong-format": "matuzu’ay a tangan caay ku ZIP tangan.", "zip-bad": "ZIP tangan malepi’tu saca la’cus miasip.\nla’cus habutud han miteka zahkez kinsa.", "uploadstash": "patapabaw ku sulu nu pisipetan", - "uploadstash-clear": "palamadac tu sulu nu tangan", + "uploadstash-clear": "palamadac tu suped-sulu nu tangan", "uploadstash-nofiles": "inayi’ masupetay a tangan nu misu.", "uploadstash-badtoken": "miteka saungay mungangaw. mikawaway-kalumyitiay nu misu a pincen hakay mangasiw, piliyaw aca.", "uploadstash-errclear": "palamadac tu tangan masepay.", @@ -1206,6 +1292,7 @@ "upload_source_file": "(mapili’ay a tangan nu misu i tinnaw nu misu)", "listfiles-delete": "misipu", "listfiles-summary": "uyni sazumaay a kasabelih paazih sacahamin patabapaw a tangan.", + "listfiles_search_for": "mikilim myiti kalungangan:", "listfiles-userdoesnotexist": "misaungayay canghaw \"$1\" caay henay pangangan.", "imgfile": "tangan", "listfiles": "piazihan tu sulit nu tangan", @@ -1259,9 +1346,12 @@ "filedelete-nofile": "$1 inayi’.", "filedelete-otherreason": "zumaay/nicunusay a mahicaay:", "filedelete-reason-otherlist": "zuma a mahicaay", + "filedelete-reason-dropdown": "* sawsawni maazih misipuay a mahicaay \n**midebung nisanga’an niza tu tungus a kawaw \n**tangan misaliyaw", "filedelete-edit-reasonlist": "masipu a mahicaay nu mikawaway-kalumyiti", "filedelete-maintenance": "midiput a demiad sa tangan misipu atu patiku nanunuz pisaungay.", "filedelete-maintenance-title": "la’cus masipu tu tangan", + "mimesearch": "MIME kilim", + "mimetype": "MIME nikalahizaan:", "download": "patasasa'", "unwatchedpages": "caayay kasisip a kasabelih", "listredirects": "miliyaw patatuzu’ piazihan tu sulit", @@ -1278,12 +1368,13 @@ "statistics": "sausi", "statistics-header-pages": "kasabelih sausi", "statistics-header-edits": "sausi mikawaway-kalumyiti", + "statistics-header-users": "misaungayay a sausi cesyun", "statistics-header-hooks": "zuma a sausi", "statistics-articles": "lacul kasabelih", "statistics-pages-desc": "i Wiki sacahamin a kasabelih, yamalyilu sasukamu kasabelih, miliyaw patatuzau’ kasabelih…", "statistics-files": "mapatapabaw tu a tangan", "statistics-edits": "nay {{SITENAME}} napatizeng katukuh ayza sa kasabelih mikawaway-kalumyiti sulyang", - "statistics-edits-average": "paybelih malecalecad mikawaway-kalumyiti su", + "statistics-edits-average": "paybelih malecalecad mikawaway-kalumyiti sulyang", "statistics-users-active": "saungay nu binawlan a misaungayay", "pageswithprop": "izaw susin a kasabelih", "pageswithprop-text": "tina kasabelih sapalalitemuh tu kawaw pisaungay matuzu’ay susin a kasabelih", @@ -1291,6 +1382,8 @@ "pageswithprop-submit": "mileku", "pageswithprop-prophidden-long": "midimut mangasiw tanaya’ a susin sulyang ($1) tuway", "pageswithprop-prophidden-binary": "madimut tusa-taayaw-eneng susin sulyang ($1)", + "doubleredirects": "tusaay a miliyaw patatuzu’", + "double-redirect-fixer": "miliyaw patatuzu’ misumaday", "brokenredirects": "malepi’ ay miliyaw patatuzu’", "brokenredirectstext": "isasa’ miliyaw patatuzu’ kasabelih masasiket a kasabelih inayi’:", "brokenredirects-delete": "misipu", @@ -1298,10 +1391,13 @@ "withoutinterwiki-summary": "isasa’ay inayi’ masasiket tu zuma kamu baziyong a kasabelih.", "withoutinterwiki-legend": "saayaway a sulit", "withoutinterwiki-submit": "paazih", + "fewestrevisions": "sainayi'ay masumaday nu kasabelih", "nbytes": "$1 {{PLURAL:$1|wyiyincu}}", "ncategories": "{{PLURAL:$1|kakuniza}}", + "ninterwikis": "$1 {{PLURAL:$1|interwiki masasiket}}", "nlinks": "$1 {{PLURAL:$1|masasiket}}", "nmembers": "$1 {{PLURAL:$1|ku mamikawaw}}", + "nmemberschanged": "$1 → $2 {{PLURAL:$2|sakawaway}}", "nrevisions": "$1 {{PLURAL:$1|masumad nu ayaway}}", "nimagelinks": "{{PLURAL:$1|kasabelih}}", "ntransclusions": "$1 {{PLURAL:$1|ku kasabelih}}", @@ -1318,10 +1414,13 @@ "wantedpages-badtitle": "kyu i lecapuay a satangahan la’cus: $1", "wantedfiles": "maydihay a tangan", "wantedtemplates": "maydihay a taazihan mitudung", + "mostlinked": "masasiket sayadahay a kasabelih", "mostlinkedcategories": "masasiket sayadahay a kakuniza", "mostlinkedtemplates": "nipacaliwan kayadahay a kasabelih", + "mostcategories": "iyadah ku kakunizaay nu kasabelih", "mostimages": "masasiket kayadahay a tangan", "mostinterwikis": "sayadah lakec masasiket nu Wiki a kasabelih", + "mostrevisions": "iyadah ku masumaday nu kasabelih", "prefixindex": "kilul tatangahan nu sulit palalitemuh tu kawaw kasabelih", "prefixindex-namespace": "kilulen tatangahan nu sulit palalitemuh tu kawaw kasabelih ($1 pangangananay a salaedan)", "prefixindex-submit": "paazih", @@ -1347,6 +1446,7 @@ "protectedtitles-submit": "paazih tu satangahan", "listusers": "misaungayay a piazihan tu sulit", "listusers-editsonly": "paazih a cacay izaw misaungayay nu mikawaway-kalumyiti", + "listusers-creationsort": "i patizeng a demiad tu kasalaylay", "listusers-desc": "pisaungay nay tabakiay katukuh adidi’ kasalaylay", "usereditcount": "$1 {{PLURAL:$1|ku mikawaway-kalumyiti}}", "usercreated": "i $1 $2 {{GENDER:$3|patizeng}}", @@ -1358,8 +1458,9 @@ "unusedcategoriestext": "isasa’ kakuniza inayi’ caay henay masaungay nu kasabelih saca kakuniza", "notargettitle": "inayi’ ku pabalucu’an", "notargettext": "caay henay kisu matuzu’ papatuzu'an kasabelih saca misaungayay amiteka tina saungay.", + "nopagetitle": "inayi’ku pamutekan tu kasabelih", "nopagetext": "matuzu’ay a papatuzu’an a kasabelih nu misu inayi’.", - "pager-newer-n": "{{PLURAL:$1|baluhay $1}}", + "pager-newer-n": "{{PLURAL:$1|hatiya baluhayay $1}}", "pager-older-n": "{{PLURAL:$1| kusa malumanay}}", "suppress": "malangat", "querypage-disabled": "uyni sazumaay a kasabelih zayhan mizateng ku icelang a munday mapasatezep tuway.", @@ -1391,16 +1492,18 @@ "apisandbox-results-error": "miasip API palalitemuh tu kawaw patukil sa mungangaw: $1.", "apisandbox-request-selectformat-label": "paazih milunguc kalunasulitan u:", "apisandbox-request-format-url-label": "URL palalitemuh tu kawaw sulisulitan", + "apisandbox-request-url-label": "milunguc URL:", "apisandbox-request-json-label": "milunguc JSON:", "apisandbox-request-time": "milungucay a tatukian:{{PLURAL:$1|$1 ms}}", - "apisandbox-results-fixtoken": "misumad mima-sacukcuk sa miliyaw patayzaan", - "apisandbox-results-fixtoken-fail": "maala \"$1\" mima-sacukcuk mungangaw.", + "apisandbox-results-fixtoken": "misumad mima-sabuhat sa miliyaw patayzaan", + "apisandbox-results-fixtoken-fail": "maala \"$1\" mima-sabuhat mungangaw.", "apisandbox-alert-page": "tina kasabelih a pisinga’an la’cus.", "apisandbox-alert-field": "la’cus tina pisinga’an a sulyang.", "apisandbox-continue": "palalid", "apisandbox-continue-clear": "palawpis", "apisandbox-param-limit": "musulit max amisaungay satabakiay a kelec.", "apisandbox-multivalue-all-namespaces": "$1 (sacahamin pangangananay a salaedan)", + "apisandbox-multivalue-all-values": "$1 (sacahamin sulyang)", "booksources": "nu cudad atu laculaculan", "booksources-search-legend": "mikilim ku cudad atu laculaculan", "booksources-search": "kilim", @@ -1448,11 +1551,15 @@ "listusers-submit": "paazih", "listusers-noresult": "caykatepa misaungayay.", "listusers-blocked": "(malangat tuway)", + "activeusers": "saungay nu binawlanay misaungayay piazihan tu sulit", + "activeusers-intro": "tina piazihan-tu-sulit sa ku capi $1 {{PLURAL:$1|demiad}} izaw ku saungay a misaungayay.", + "activeusers-count": "{{PLURAL:$1|saungay}} capi {{PLURAL:$3|demiad}}", "activeusers-from": "paazih misaungayay miteka nay:", "activeusers-groups": "paazih tungusay nu sasa’ay a luyaluy misaungayay:", "activeusers-excludegroups": "palawpes tungusay nu isasa’ay luyaluy a misaungayay:", "activeusers-noresult": "caykatepa misaungayay.", "activeusers-submit": "paazih misaungayay i saungay nu binawlan", + "listgrouprights": "misaungayay luyaluy a tungus", "listgrouprights-group": "luyaluy", "listgrouprights-rights": "kinli", "listgrouprights-helppage": "Help:Group rights", @@ -1478,8 +1585,9 @@ "emailuser-title-target": "imyiyo(email) tu{{GENDER:$1|misaungayay}}", "emailuser-title-notarget": "imyiyo(email) patakus misaungayay", "defemailsubject": "{{SITENAME}} misaungayay \"$1\" patigamiay a imyiyo(email)", - "usermaildisabled": "mapasatezep imyiyo(email)", + "usermaildisabled": "misaungayay imyiyo(email) mapasatezep tu", "usermaildisabledtext": "la’cus pabahel imyiyo(email) tayza tian Wiki zumaay a misaungayay", + "noemailtitle": "inayi’ imyiyo(email) puenegan", "noemailtext": "tina misaungayay caay henay matuzu’ay cacay ku kapahay a imyiyo(email) puenengan.", "nowikiemailtext": "tina misaungayay mipili’ caay mizawis zuma misaungayay a tigami.", "emailnotarget": "milayapay inayi’ saca la’cus ku misaungayay a kalungangan.", @@ -1494,7 +1602,9 @@ "emailsend": "patigamitu", "emailccme": "pabahel cacay palatuh mikilulay-cudad tu imyiyo(email) nu maku.", "emailccsubject": "napatigami $1 nu misa a palatuh mikilulay-cudad: $2", + "emailsent": "mapatahkal tu i imyiyo(email)", "emailsenttext": "patigamitu ku imyiyo(email) palatuh nu misu.", + "usermessage-summary": "subelid tu latuh tayza i sisetyimo.", "watchlist": "miazihay a piazihan tu sulit", "mywatchlist": "miazihay a piazihan tu sulit", "watchlistfor2": "$1 miazihay a piazihan-tu-sulit $2", @@ -1522,8 +1632,9 @@ "wlshowhidepatr": "tayza mikibi mikawaway-kalumyiti", "wlshowhidemine": "numakuay a mikawaway-kalumyiti", "wlshowhidecategorization": "kasabelih nu kakuniza", - "watchlist-options": "misisipa piazihan-tu-sulit a syinsiang", - "unwatching": "palawpes aazihan...", + "watchlist-options": "miazihay piazihan-tu-sulit a mapiliay", + "watching": "imahini miazih...", + "unwatching": "imahini pahanhan mikantuk…", "watcherrortext": "imahini misumad \"$1\" miazihay a piazihan-tu-sulit setin sa mungangaw", "enotif_reset": "silusi sacahamin kasabelih ku maciwsaceay", "enotif_impersonal_salutation": "{{SITENAME}} misaungayay", @@ -1536,6 +1647,7 @@ "enotif_minoredit": "payni mikilulay a mikawaway-kalumyiti", "deletepage": "misipu tu kasabelih", "confirm": "malucekaytu", + "excontent": "lacul nu: \"$1\"", "exbeforeblank": "caay henay palawpes hamin a lacul ku: \"$1\"", "delete-confirm": "misipu \"$1\"", "historyaction-submit": "paazih", @@ -1555,7 +1667,7 @@ "rollbacklinkcount": "patiku {{PLURAL:$1|mikawaway tu kalumyiti}}", "rollbacklinkcount-morethan": "$1 {{PLURAL:$1|mikawaway-kalumyiti}}", "rollbackfailed": "patiku mungangaw", - "rollback-missingparam": "milunguc caay kataneng kasasulul aazihen a sulyang.", + "rollback-missingparam": "milunguc caay kataneng kasasulul aazihen-sulyang.", "rollback-missingrevision": "la’cus pacumud masumad nu ayaway a kalunasulitan.", "cantrollback": "la’cus patiku mikawaway-kalumyiti;\ntina kasabelih a sazikuz paaninay u kinacacay a masacudaday.", "editcomment": "mikawaway-kalumyiti pecu’ nu lacul ku: $1.", @@ -1564,23 +1676,27 @@ "changecontentmodel-title-label": "kasabelih satangahan", "changecontentmodel-model-label": "tatudungen misanga’ nu baluhay a lacul", "changecontentmodel-reason-label": "mahicaay:", + "changecontentmodel-success-title": "masumad tuway lacul tatudungen misanga’", "changecontentmodel-success-text": "masumad tuway [[:$1]] a lacul nikalahizaan.", "changecontentmodel-cannot-convert": "[[:$1]] a lacul la’cus miliyaw tu $2 a nikalahizaan.", "changecontentmodel-nodirectediting": "$1 a lacul tatudungen-misanga’ caay midama kakelulay a mikawaway-kalumyiti", "changecontentmodel-emptymodels-title": "inayi’ ku silaheciay a lacul tatudungen-misanga", "changecontentmodel-emptymodels-text": "[[:$1]] a lacul akamiliyaw tu amahicahica nikalahizaan.", + "log-name-contentmodel": "lacul tatudungen misanga’ misumad nasulitan nazipa’an", "protectlogpage": "midiput nasulitan nakawawan", "protectedarticle": "madiput tuway \"[[$1]]\"", - "modifiedarticleprotection": "masumad tuway \"[[$1]]\" a midiput kasaselal", + "modifiedarticleprotection": "masumad tuway \"[[$1]]\" a midiput tindud", "unprotectedarticle": "mahulak tu \"[[$1]]\" a diput", "movedarticleprotection": "malimad \"[[$2]]\" a midiput setin tu \"[[$1]]\"", "protectedarticle-comment": "{{GENDER:$2|madiputay}} \"[[$1]]\"", "unprotectedarticle-comment": "{{GENDER:$2|masipu tu }} \"[[$1]]\" a midiput", - "protect-title": "misumad \"$1\" a midiputay a saselal", + "protect-title": "misumad \"$1\" a midiputay a tindud", + "protect-title-notallowed": "ciwsace \"$1\" a midiput tindud", "prot_1movedto2": "malimad [[$1]] tayza [[$2]]", "protect-badnamespace-title": "pangangananay a salaedan amana midiput", "protect-badnamespace-text": "tina ilabu nupangangananay a salaedan a kasabelih la’cusay setin tu midiput.", "protect-norestrictiontypes-text": "la’cus midiput tina kasabelih, inayi’ sapakelecay a kasacacay.", + "protect-norestrictiontypes-title": "inayi’ midiputay a kasabelih", "protect-legend": "malucekay tu midiputay", "protectcomment": "mahicaay:", "protectexpiry": "kakatekuhan:", @@ -1595,9 +1711,9 @@ "protect-expiring": "kakatekuhan $1 (UTC)", "protect-expiring-local": "kakatekuhan katukuh i $1", "protect-expiry-indefinite": "inayi’ u sungliw", - "protect-cantedit": "inayi’ mikawaway-kalumyiti a tungus kisu, la’cus misumad tina kasabelih a midiput kasaselal.", + "protect-cantedit": "inayi’ mikawaway-kalumyiti a tungus kisu,la’cus misumad tina kasabelih a midiput tindud.", "protect-othertime": "zuma a tatukian:", - "protect-existing-expiry": "masetin tu kakatekuhan: $3, $2", + "protect-existing-expiry": "ayzaay a kakatekuhan: $3, $2", "protect-existing-expiry-infinity": "masetin tuway a kakatekuhan: inayi’kakatekuhan", "protect-otherreason": "zumaay/nicunusay a mahicaay:", "protect-otherreason-op": "zuma a mahicaay", @@ -1618,9 +1734,11 @@ "undeletepage": "ciwsace atu patiku masipuay tu kasabelih", "viewdeletedpage": "ciwsace masipuay tu kasabelih", "undelete-fieldset-title": "patiku misumad nu ayaway", + "undeleterevisions": "$1{{PLURAL:$1|baziyong}}misipu", "undelete-revision": "masipu nu $3 a $1 (i $4 $5) masumad nu ayaway", "undelete-nodiff": "inayi’ nasawniay a sumad.", "undeletebtn": "patiku", + "undeletelink": "ciwsace/patiku", "undeleteinvert": "kabelihan mipili’", "undeletecomment": "mahicaay:", "cannotundelete": "liyad saca hamin a palawpes misipu mungangaw:\n$1", @@ -1633,6 +1751,7 @@ "undelete-cleanup-error": "yu misipu caay pisaungay a misinga’ tangan \"$1\" sa mungangaw.", "undelete-error": "palawpes masipu kasabelih mungangaw", "undelete-error-short": "palawpes masipu tangan mungangaw: $1", + "undelete-error-long": "imahini palawpes misipu tangan bahal mungangaw:\n\n$1", "undelete-show-file-submit": "hang", "namespace": "pangangananay a salaedan:", "invert": "kabelihan mipili’", @@ -1668,7 +1787,7 @@ "sp-contributions-hideminor": "midimut mikilulay mikawaway-kalumyiti", "sp-contributions-submit": "kilim", "whatlinkshere": "masasiket katukuh uyniyay a kasabelih", - "whatlinkshere-title": "masasiket tazumaay a \"$1\" kasabelih", + "whatlinkshere-title": "masasiket tayza \"$1\" a kasabelih", "whatlinkshere-page": "Kasabelih:", "linkshere": "isasaay a kasabelih masasiket tazuma tu [[:$1]]:", "nolinkshere-ns": "mapili’ay a pangangananay a salaedan inayi’ kasabelih masasiket tu [[:$1]].", @@ -1684,12 +1803,15 @@ "whatlinkshere-hideimages": "$1 tangan-tangan misiket", "whatlinkshere-filters": "sakacucek nu misapili’", "whatlinkshere-submit": "mileku", + "autoblockid": "lunuk malangat #$1", "block": "milangat misaungayay", + "unblock": "mihulak malangat misaungayay", "blockip": "milangat {{GENDER:$1|misaungayay}}", "ipaddressorusername": "IP puenengan saca misaungayay a kalungangan:", "ipbexpiry": "kakatekuhan:", "ipbreason": "mahicaay:", "ipb-hardblock": "amana pisaungay tina IP puenengan patalabuay a misaungayay mikawaway-kalumyiti", + "ipbcreateaccount": "mitena’ patizeng baluhay canghaw", "ipbemailban": "satezep misaungayay pabahel imyiyo(email)", "ipbsubmit": "milangat tina misaungayay", "ipbother": "zuma a tatukian:", @@ -1707,6 +1829,7 @@ "ipb-blocklist": "ciwsace katukuhayza a langat", "ipb-blocklist-contribs": "{{GENDER:$1|$1}} a paanin", "ipb-blocklist-duration-left": "$1 pakawili", + "unblockip": "mihulak malangat misaungayay", "ipusubmit": "misipu tina langat", "unblocked": "[[User:$1|$1]] a langat mahulak tuway.", "unblocked-range": "mahulak tu ku langat $1.", @@ -1731,10 +1854,11 @@ "infiniteblock": "inayi’ u sungliw", "expiringblock": "$1 $2 hatinitu", "anononlyblock": "wiza dada’ paceba panganganay ku misaungayay", - "noautoblockblock": "mapasatezep lunuk milangat", + "noautoblockblock": "lunuk malangat mapasatezep tu", "createaccountblock": "canghaw patizeng mapasatezep tuway", "emailblock": "mapasatezep imyiyo(email)", "blocklist-nousertalk": "la’cus mikawaway-kalumyiti sasukamu kasabelih nu misu", + "ipblocklist-empty": "malangat piazihan tu sulit nayi’tu ku canan.", "ipblocklist-no-results": "milungucay a IP puenengan saca misaungayay a kalungangan caay henay palangat.", "blocklink": "milangat", "unblocklink": "mihulak tu langat", @@ -1748,12 +1872,15 @@ "unblocklogentry": "mahulak malangat $1 tuway", "block-log-flags-anononly": "wiza dada’ paceba panganganay ku misaungayay", "block-log-flags-nocreate": "canghaw patizeng mapasatezep tuway", - "block-log-flags-noautoblock": "mapasatezep lunuk milangat", + "block-log-flags-noautoblock": "lunuk malangat mapasatezep tu", "block-log-flags-noemail": "mapasatezep imyiyo(email)", "block-log-flags-nousertalk": "la’cus mikawaway-kalumyiti sasukamu kasabelih nu misu", "block-log-flags-angry-autoblock": "pangaleb lunuk-langat mawawah tuway", + "block-log-flags-hiddenname": "midimut misaungayay a kalungangan", "range_block_disabled": "mikuwanay kapah patizeng subal milangat a tungus maedeb tuway.", + "ipb_expiry_old": "kakatukuhan a demiad mangasiw tuway.", "ipb_expiry_temp": "midimut misaungayay a kalungangan langat amana misetin kakatekuhan.", + "ipb_hide_invalid": "la’cus satezep paazih tina canghaw; izaw mangasiw {{PLURAL:$1|cacay mikawaway-kalumyiti}} ciniza.", "ipb_already_blocked": "malangat \"$1\" tuway.", "ipb-needreblock": "$1 mapalangat tu. maydih kisu misetin haw?", "ipb-otherblocks-header": "zuma {{PLURAL:$1|milangat}}", @@ -1761,19 +1888,21 @@ "ipb_cant_unblock": "mungangaw: inayi’ milangat ID $1, hakay mahulak tu kya langat.", "ip_range_invalid": "la’cusay IP subal.", "ip_range_toolarge": "caay mahasa milangat kya taliyuk mangasiw /$1.", - "proxyblocker": "kutay sefuci-kikay milangat-kikay", + "proxyblocker": "kutay sefu-kikay milangat-kikay", "softblockrangesreason": "IP puenengan nu misu ($1) inayi’ mahasa paceba pangangan paanin, pipatalabu.", "ipbblocked": "izay kisu malangat, sisa la’cus milangat saca mihulak malangatay a zuma misaungayay", "ipbnounblockself": "caay mahasa mihulak malangat tu kisu.", "lockdb": "pamutek tu sulu nu kalunasulitan", + "unlockdb": "mihulak azihen nasulitan-sulu", "lockconfirm": "hang, maydih kaku pamutek kalunasulitan-sulu.", "unlockconfirm": "hang, maydih kaku mihulak pamutek sulu nu nasulitan", "lockbtn": "pamutek tu sulu nu kalunasulitan", + "unlockbtn": "mihulak azihen nasulitan-sulu", "locknoconfirm": "caay henay kisu hatizaay malucekay tu mapili’ay atilad", "lockdbsuccesssub": "malahci pamutek sulu nu nasulitan tuway", "unlockdbsuccesssub": "misipu pamutek tu sulu nu kalunasulitan tuway", - "databaselocked": "pamutek tuway ku sulu nu nasulitan.", - "databasenotlocked": "caay pamutek henay ku sulu nu nasulitan.", + "databaselocked": "pamutek tuway ku kalunasulitan-sulu", + "databasenotlocked": "caay pamutek henay ku kalunasulitan-sulu", "lockedbyandtime": "(nay {{GENDER:$1|$1}} i $2 a $3)", "move-page": "milimad $1", "move-page-legend": "milimad kasabelih", @@ -1802,6 +1931,7 @@ "movelogpage": "milimad ku nasulitan nakawawan", "movelogpagetext": "isasa’ay sa u sacahamin milimad kasabelih a saungay nasulitan piazihan-tu-sulit.", "movesubpage": "{{PLURAL:$1|sailuc-kasabelih}}", + "movesubpagetext": "tina kasabelih izaw $1 {{PLURAL:$1|sailuc-kasabelih}} mahiza isasa’ay.", "movenosubpage": "tina kasabelih inayi’ amahicahica tu sailuc-kasabelih.", "movereason": "mahicaay:", "delete_and_move_confirm": "hang, masipu tina kasabelih", @@ -1809,9 +1939,10 @@ "immobile-source-namespace": "la’cus milimad i pangangananay a salaedan \"$1\" a kasabelih.", "immobile-target-namespace": "la’cus milimad kasabelih tayza pangangananay a salaedan \"$1\"", "immobile-target-namespace-iw": "milimad kasabelih amana pisaungay Interwiki masasiket sanu papatuzu'an.", - "immobile-source-page": "tina belih la’cus milimad.", + "immobile-source-page": "tina kasabelih la’cus milimad.", "immobile-target-page": "la’cus milimad katukuh nabalucu’a satangahan.", "bad-target-model": "matuzu’ay a patusukan pisaungay caay kalecaday a lacul tatudungen misanga’. la’cus miliyaw $1 tu $2.", + "imagenocrossnamespace": "amana milimad tangan tayza caay ku nu tangan panganganay a salaedan.", "nonfile-cannot-move-to-file": "caay kakapah milimad paceba’ay a tangan tayza tangan pangangananay a salaedan", "imagetypemismatch": "baluhayay a tangan mikilulay-tangan-ngangan caay matatungus kya tangan a nikalahizaan.", "imageinvalidfilename": "papatuzu’an a tangan kalungangan la’cus.", @@ -1831,6 +1962,7 @@ "allmessages": "sisetyimo palatuh", "allmessagesname": "kalungangan", "allmessagesdefault": "pataayaw tu kawaw palatuh a sulit", + "allmessagescurrent": "ayzaay palatuh a sulit", "allmessages-filter-legend": "kilim", "allmessages-filter": "kilul misumad zasatu mikilim:", "allmessages-filter-unmodified": "caay henay misumad", @@ -1843,10 +1975,12 @@ "thumbnail-more": "patabaki(micuwat)", "filemissing": "tangan mahedaw", "thumbnail_error": "patizeng sukep tu zunga mungangaw: $1", + "thumbnail_error_remote": "namakay $1 mungangaw palatuh\n\n$2", "djvu_page_error": "DjVu kasabelih micalapay", "djvu_no_xml": "la’cus i DjVu tangan miala XML", "thumbnail-temp-create": "la’cus patizeng nanunuz misukep tu zunga tangan", "thumbnail-dest-create": "la’cus misuped sukep tu zunga ta pabalucu’an", + "thumbnail_invalid_params": "la’cusay a sukep tu zunga aazihen-sulyang", "thumbnail_toobigimagearea": "tangan a ditek mangasiw $1", "thumbnail_dest_directory": "la’cus patizeng papatuzu’an a dilyikotoling", "thumbnail_image-type": "caypi damaenay a zunga nikalahizaan", @@ -1859,18 +1993,24 @@ "import-interwiki-history": "kopi tina kasabelih sacahamin nazipa’an masumad nu ayaway", "import-interwiki-templates": "yamalyilu sacahamin taazihan mitudung", "import-interwiki-submit": "pacumud", + "import-mapping-default": "pacumud tayza pataayaw tu kawaw kakitizaan", "import-mapping-namespace": "pacumud i pangangananay a salaedan:", "import-mapping-subpage": "pacumud sapa isasa’ay kasabelih a sailuc-kasabelih:", "import-upload-filename": "kalungangan nu tangan:", "import-comment": "pacunus sakacaay kapawan:", + "importstart": "pacumud tayza pataayaw tu kawaw kakitizaan", "import-revision-count": "$1 {{PLURAL:$1|masumad nu ayaway}}", "importnopages": "inayi’ mapacumuday a kasabelih.", + "imported-log-entries": "pacumud tuway $1 {{PLURAL:$1|nasulitan-nazipa’an kasacacay}}", "importfailed": "pacumud mungangaw:$1", "importunknownsource": "caykapulita a nikalahizaan nu pacumud a saangangan", "importcantopen": "la’cusay miwawah pacumuday a tangan", "importbadinterwiki": "la’cusay a interwiki masasiket", "importsuccess": "pahezek tuway pacumud!", "importnofile": "caay henay papabaw pacumud tangan.", + "importuploaderrorsize": "patapabaw pacumud tangan mungangaw.\ntangan hacica-tabaki mangasiw mahasa patapabaw hacica-tabaki.", + "importuploaderrorpartial": "patapabaw pacumud tu tangan mungangaw.\npatapabaw dada’ liyad a tangan.", + "importuploaderrortemp": "patapabaw pacumud tu tangan mungangaw.\nmahedaw nanunuz kalunasulita-emic", "import-parse-failure": "XML pacumud tingalaw mungangaw", "import-noarticle": "inayi’ amahicahica kapah pacumuday a kasabelih!", "import-nonewrevisions": "inayi’ pacumud amahicahica tu masumad nu ayaway (masumad nu ayaway izaw tuway, saca zayhan mungangaw sekipo)", @@ -1902,6 +2042,7 @@ "tooltip-pt-createaccount": "taneng kami pauuh kisuan panganganen tu cacay canghaw atu patalabu, anu caay ku tabakiay a pisaungay.", "tooltip-ca-talk": "matatengil tu mahizaay lacul nu kasabelih", "tooltip-ca-edit": "mikawaway-kalumyiti uyni a kasabelih", + "tooltip-ca-addsection": "miteka tu cacay baluhay ngatu", "tooltip-ca-viewsource": "uyni kasabelih madiputay tuway.\nkapah kisu miciwsace tuyni kasabelih sakatizeng bangu", "tooltip-ca-history": "uyini kasabelih nasawniay a sumad", "tooltip-ca-protect": "midiput tina kasabelih", @@ -1909,7 +2050,7 @@ "tooltip-ca-delete": "misipu tina kasabelih", "tooltip-ca-undelete": "patiku tina kasabelih tu ayaw setyitase nu masipu", "tooltip-ca-move": "milimad tina kasabelih", - "tooltip-ca-watch": "paynien kasabelih micunus misuay cyinse piazihan tu sulit", + "tooltip-ca-watch": "micunus tina kasabelih tayza numisuay a miazihay a piazihan-tu-sulit", "tooltip-ca-unwatch": "tina kasabelih nay misipu ilabu nu miazihay a piazihan-tu-sulit", "tooltip-search": "kilim {{SITENAME}}", "tooltip-search-go": "amahica milihiza tuyni kalungangan malalanepay kasabelih izaay tu, taayawen ku tiza kasabelih", @@ -1949,7 +2090,7 @@ "tooltip-preview": "kay iayaw nu pisuped miazih tu nu misuay nisumad.", "tooltip-diff": "paazih hica sa kisu labuay a nisumadan", "tooltip-compareselectedversions": "piazih tina kasabelih yatatusa mapili’ay a sasizuma nu sumad", - "tooltip-watch": "paynien kasabelih micunus misuay cyinse piazihan tu sulit", + "tooltip-watch": "micunus tina kasabelih tayza numisuay a miazihay a piazihan-tu-sulit", "tooltip-watchlistedit-normal-submit": "misipu satangahan", "tooltip-watchlistedit-raw-submit": "misabaluhay misisip tu piazihan-tu-sulit", "tooltip-recreate": "namahicahica masipu caay haw, miliyaw patizeng kya kasabelih", @@ -1978,6 +2119,7 @@ "pageinfo-header-restrictions": "kasabelih midiput", "pageinfo-header-properties": "susin nu kasabelih", "pageinfo-display-title": "paazih tu satangahan", + "pageinfo-default-sort": "pataayaw tu kawaw pasilsilay a sasakawawen", "pageinfo-length": "kasabelih a tanaya’ (wyiyincu)", "pageinfo-article-id": "kasabelih ID", "pageinfo-language": "kasabelih lacul a kamu", @@ -1989,6 +2131,7 @@ "pageinfo-robot-noindex": "amana", "pageinfo-watchers": "kasabelih miazihay a nikayadah", "pageinfo-visiting-watchers": "mazizaw capi demiad mikawaway-kalumyiti a kasabelih miazihay kinapina", + "pageinfo-few-watchers": "ma'ngadis mangalep $1 {{PLURAL:$1|misisipay}}", "pageinfo-few-visiting-watchers": "miazih capi demiad mikawaway-kalumyiti a misaungayay hakay ku miazihay a misaungayay.", "pageinfo-redirects-name": "patuzu’ tina kasabelih a miliyaw patatuzu’ kasabelih nikayadah", "pageinfo-subpages-name": "tina belih a sailuc-kasabelih nikayadah", @@ -2001,6 +2144,9 @@ "pageinfo-recent-edits": "capi demiad mikawaway-kalumyiti kinapina (naayaw $1 ilabu)", "pageinfo-recent-authors": "capiay masacudaday a nikayadah", "pageinfo-magic-words": "mosu {{PLURAL:$1|sulit}} ($1)", + "pageinfo-hidden-categories": "midimut {{PLURAL:$1|kakuniza}} ($1)", + "pageinfo-templates": "nicaliwan{{PLURAL:$1|taazihan-mitudung}} ($1)", + "pageinfo-transclusions": "{{PLURAL:$1|kasabelih}} nanicaliwan i ($1)", "pageinfo-toolboxlink": "kasabelih cesyun", "pageinfo-redirectsto-info": "katinengan", "pageinfo-contentpage": "miasip papi lacul kasabelih", @@ -2015,11 +2161,13 @@ "pageinfo-category-files": "tangan nikayadah", "pageinfo-user-id": "misaungayay ID", "markaspatrolleddiff": "silusi natayza mikibi tuway", + "markaspatrolledtext": "silusi tina belih ku tayza-mikibi", "markaspatrolledtext-file": "silusi tina tangan baziyong tu tayza-mikibi", "markedaspatrolled": "silusi natayza mikibi tuway", "markedaspatrolledtext": "masilusi mipili’ay a sumad [[:$1]] ku tayza-mikibiay.", "rcpatroldisabled": "mapasatezep tu ku capi-demiad misumad tayza-mikibi", "rcpatroldisabledtext": "sabaluhay misumad tayza-mikibi a sasahicaan mapasatezep tu ayza.", + "markedaspatrollederror": "la’cus silusi tayza tu makibi", "markedaspatrollederrortext": "maydih kisu matuzu’ apasilusi tayza-mikibi sumad.", "markedaspatrollederror-noautopatrol": "la’cus kisu misumad namasanga’ nu misu pasilusi ku tayza-mikibi.", "markedaspatrollednotify": "kasabelih $1 a sumad silusi tayza-mikibi tuway.", @@ -2027,7 +2175,7 @@ "patrol-log-page": "tayza mikibi nasulitan nazipa’an", "patrol-log-header": "uyniyan sa u tayza-mikibi masumaday baziyong a nasulitan-nazipa’an.", "log-show-hide-patrol": "$1 tayza mikibi nasulitan nazipa’an", - "log-show-hide-tag": "$1 aazihen a paya nasulitan nazipa’an", + "log-show-hide-tag": "$1 tazihan-paya nasulitan nazipa’an", "confirm-markpatrolled-button": "malucekay", "confirm-markpatrolled-top": "silusi $2 a sumad $3 ku tayza-mikibi?", "deletedrevision": "masipu malumanay misumad nu ayaway $1", @@ -2063,6 +2211,7 @@ "newimages-user": "IP puenengan saca misaungayay a kalungangan", "newimages-newbies": "paazih a cacay baluhay canghaw a paanin", "newimages-showbots": "paazih nay tademaw-kikay patapabaw a tangan", + "newimages-hidepatrolled": "midimut natayza tu mikibi patudud", "noimages": "inayi’ amahicahica tu zunga.", "gallery-slideshow-toggle": "ketun mibalic sukep tu zunga", "ilsubmit": "kilim", @@ -2082,8 +2231,8 @@ "seconds-ago": "ayaw $1 {{PLURAL:$1|a beti}}", "monday-at": "sakacacay a demiad nu lipay i$1", "tuesday-at": "sakatusa a demied nu lipay i $1", - "wednesday-at": "saka tulu i $1", - "thursday-at": "sakasepat i $1", + "wednesday-at": "sakatulu a demiad nu lipay i $1", + "thursday-at": "sakasepat a demied nu lipay i $1", "friday-at": "sakalima a demied nu lipay i $1", "saturday-at": "sakaenem a demiad nu lipay i $1", "sunday-at": "pilipayan i $1", @@ -2102,14 +2251,17 @@ "exif-samplesperpixel": "syangsu nikayadah", "exif-planarconfiguration": "kalunasulitan misilsil", "exif-ycbcrsubsampling": "takuliway pasumad sumanahay sakatusa mipiri’", + "exif-ycbcrpositioning": "likat atu takelal kakitizaan", "exif-xresolution": "sasuala katingalaw", "exif-yresolution": "mitelekay katingalaw", "exif-stripoffsets": "iga kalunasulitan kakitizaan", "exif-rowsperstrip": "cacay ku kaus papina ku tusil", + "exif-stripbytecounts": "pay piepian mipecec tay wyiyincu sulyang", "exif-jpeginterchangeformat": "JPEG SOI misiwit", "exif-jpeginterchangeformatlength": "JPEG kalunasulitan wyiyincu", "exif-whitepoint": "sangelacay hacica-kulit", "exif-primarychromaticities": "sausi sulyang nu kulit", + "exif-ycbcrcoefficients": "kalukulit salaedan miliyaw cicen sisu", "exif-referenceblackwhite": "umeniay-sangelacay miazih tu tatenga’ay nikayadah", "exif-datetime": "tangan misumaday a demiad atu tuki", "exif-imagedescription": "satangahan nu iga", @@ -2126,6 +2278,7 @@ "exif-pixelxdimension": "zunga nu hacica-ahebal", "exif-pixelydimension": "zunga nu hacica-takalaw", "exif-usercomment": "misaungayay a buhci tu kamu", + "exif-relatedsoundfile": "mahizaay nu suniay a tangan", "exif-datetimeoriginal": "kalunasulitan masangaay’ a demiad atu tuki", "exif-datetimedigitized": "suwyihwaay a demiad atu tuki", "exif-subsectime": "DateTime saba-beti", @@ -2149,6 +2302,7 @@ "exif-subjectarea": "sausi a kakitizaan", "exif-flashenergy": "sabelabelatay a tinghuy u icelang", "exif-focalplanexresolution": "X couciaw kimpi’ katingalaw", + "exif-focalplaneyresolution": "Y couciaw kimpi’ katingalaw", "exif-focalplaneresolutionunit": "edil-sanat a sapat katingalaw tatebanan nu nisulitan", "exif-subjectlocation": "kakitizaan nu satangahan", "exif-exposureindex": "mapaedil a sulyang", @@ -2166,6 +2320,7 @@ "exif-sharpness": "kacidem", "exif-devicesettingdescription": "sakaluk setin sapuelac", "exif-subjectdistancerange": "baat nu tatizengan a liwliw", + "exif-imageuniqueid": "kinacacay sakatineng-kodo nu sasing", "exif-gpsversionid": "GPS baziyong nu aazihen a paya", "exif-gpslatituderef": "pyiwyi asaca nanwyi", "exif-gpslongituderef": "tongcing asaca sicing", @@ -2178,20 +2333,27 @@ "exif-gpsdop": "miditek a tatungus", "exif-gpsspeedref": "saduba’ kalamkam a sacacaycacay", "exif-gpsspeed": "GPS pizawis-sakaluk saduba’ kalamkam", + "exif-gpstrackref": "milimad pasayzaan miazih tu tatenga’ay sulyang", + "exif-gpsimgdirectionref": "pasayzaan nu iga miazih tu tatenga’ay sulyang", "exif-gpsmapdatum": "pisaungay ulaulangan miditek a kalunasulitan", + "exif-gpsdestlatituderef": "pametekan wyitu miazih tu tatenga’ay sulyang", "exif-gpsdestlatitude": "pabalucu’an a wyitu", - "exif-gpsdestlongituderef": "pabalucu’an a cintu", + "exif-gpsdestlongituderef": "pamutekan cintu miazih tu tatenga’ay sulyang", + "exif-gpsdestbearingref": "pamutekan sasakawawen miazih tu tatenga’ay sulyang", + "exif-gpsdestdistanceref": "pamutekan baat miazih tu tatenga’ay sulyang", "exif-gpsprocessingmethod": "GPS saungay sasakawawen kalungangan", + "exif-gpsareainformation": "GPS subal kalungangan", "exif-gpsdatestamp": "GPS a demiad", "exif-gpsdifferential": "GPS chafen misumad", "exif-jpegfilecomment": "JPEG tangan pacunus sakacaay kapawan", "exif-keywords": "aazihen dulit", "exif-worldregioncreated": "zunga masasing a kakitizaan", "exif-countrycreated": "zunga masasingan a kanatal", + "exif-countrycodecreated": "zunga masasing kanatal kodo", "exif-provinceorstatecreated": "yakuwanan a sasing", "exif-citycreated": "yatukay a sasing", "exif-sublocationcreated": "zunga masasing tukay pulita kahicelaan", - "exif-worldregiondest": "paazih tu subal nu kitakit", + "exif-worldregiondest": "paazih ku subal nu kitakit", "exif-countrydest": "paazih tu kanatal", "exif-countrycodedest": "paazih kanatal a kodo", "exif-provinceorstatedest": "paazih seng asaca cou", @@ -2222,13 +2384,14 @@ "exif-serialnumber": "sasasing salaylay a banggu", "exif-cameraownername": "sasasing nizaay", "exif-label": "aazihen paya", + "exif-datetimemetadata": "sazikuzay a demiad sapisumad nu kalunasulitan misaheci", "exif-nickname": "caykaw tatengaay a zunga kalungangan", "exif-rightscertificate": "nisanga’an niza tu tungus a kawaw nu makuwanay a pincen", "exif-copyrighted": "nisanga’an niza tu tungus a kawaw setyitase", "exif-copyrightowner": "nizaay nisanga’an tu tungus a kawaw", "exif-usageterms": "mamaala a cedang", "exif-webstatement": "nabalucu'an nu i telay nisanga’an niza tu tungus a kawaw", - "exif-originaldocumentid": "kinacacay mapulitaay a kodo nu saayaway a cudad", + "exif-originaldocumentid": "kinacacay sakatineng-kodo nu saayaway a cudad", "exif-licenseurl": "nisanga’an niza tu tungus a kawaw pabeli tu kinli masasiket", "exif-morepermissionsurl": "paliyuh pabeli tu kinli a cesyun", "exif-attributionurl": "anu misaliyaw pisaungay tina nalimaan, pisasiket tu", @@ -2255,6 +2418,7 @@ "exif-unknowndate": "caay kapulita ku demiad", "exif-orientation-1": "tatungus", "exif-orientation-2": "mabelih tu zazay", + "exif-orientation-3": "malineng 180°", "exif-orientation-4": "mabelih tu mitelekay", "exif-orientation-5": "cuis tu culil nu tuki malineng 90° atu pitelekay mibelih", "exif-orientation-7": "duduc tu culil nu tuki malineng 90° atu mitelekay mibelih", @@ -2281,7 +2445,7 @@ "exif-meteringmode-255": "zuma", "exif-lightsource-1": "likat", "exif-lightsource-2": "inkwang a tinghuy", - "exif-lightsource-3": "useteng-tinghuy (白熾燈)", + "exif-lightsource-3": "useteng-tinghuy", "exif-lightsource-4": "sabelabelatay a tinghuy", "exif-lightsource-9": "cilalah a demiad", "exif-lightsource-10": "kenutan", @@ -2297,6 +2461,7 @@ "exif-lightsource-255": "zuma katahkalan nu likat", "exif-flash-fired-0": "sabelabelatay a tinghui caay henay miwawah", "exif-flash-fired-1": "sabelabelatay a tinghui miwawah tuway", + "exif-flash-return-0": "inayi’ belabelatan-kikay a sasahicaan", "exif-flash-return-2": "sabelabela-sedap-sakaluk caay sedap tu edil", "exif-flash-return-3": "sabelabelatay sedap-sakaluk sedap tu edil", "exif-flash-mode-1": "pacici sabelabelatay tinghuy mawawah", @@ -2359,6 +2524,8 @@ "exif-gpsdestdistance-m": "inli", "exif-gpsdestdistance-n": "hayli", "exif-gpsdop-excellent": "tada kapah ($1)", + "exif-gpsdop-good": "kapahay ($1)", + "exif-gpsdop-moderate": "hucu ($1)", "exif-gpsdop-poor": "la’cus ($1)", "exif-objectcycle-a": "namalamam a cacay", "exif-objectcycle-p": "nakalahukan a cacay", @@ -2368,6 +2535,7 @@ "exif-ycbcrpositioning-1": "teban", "exif-ycbcrpositioning-2": "palecad miala tu maaziahan", "exif-dc-contributor": "paaninay tu kalusasing", + "exif-dc-coverage": "myitiay ahebal nu hekal", "exif-dc-date": "demiad", "exif-dc-publisher": "insacay", "exif-dc-relation": "mahizaay u myiti", @@ -2376,7 +2544,9 @@ "exif-dc-type": "myiti nikalahizaan", "exif-rating-rejected": "kakaian", "exif-isospeedratings-overflow": "satabakien tu 65535", + "exif-iimcategory-ace": "nalimaanay, lalangawan atu limulak", "exif-iimcategory-clj": "mungangaw atu hulic", + "exif-iimcategory-dis": "labades atu malitemuhay", "exif-iimcategory-fin": "kyizay atu syubay", "exif-iimcategory-edu": "pasubana’ay a kawaw", "exif-iimcategory-evn": "liwliw", @@ -2397,21 +2567,30 @@ "exif-urgency-other": "misaungayay pakuniza misanga’ maluayaw tungus ($1)", "namespacesall": "hamin", "monthsall": "hamin", + "confirmemail": "milucekay tu imyiyo(email) puengan", + "confirmemail_send": "imyiyo(email) malucekay-kodo", + "confirmemail_sent": "malucekay mapatigami tuway.", + "confirmemail_invalid": "la’cus malucekay-kodo.\nkya kodo hakay mangasiw tuway.", + "confirmemail_needlogin": "$1 pilucek tu misuay a imyiyo(email) puenengan nu misu.", "confirmemail_loggedin": "malucekay tu misuay imyiyo(email) puengengan.", "confirmemail_subject": "{{SITENAME}} imyiyo(email) puenengan malucekay tuway", "confirmemail_invalidated": "palawpes tu imyiyo(email) puenengan palucekay", + "invalidateemail": "palawpes imyiyo(email) malucekay tuway", "notificationemail_subject_changed": "{{SITENAME}} panganganay a imyiyo(email) puenengan masumad tuway", "scarytranscludefailed": "[taazihan-mitudung $1 maasip mungangaw]", "scarytranscludefailed-httpstatus": "[taazihan-mitudung $1 maasip mungangaw: HTTP $2]", + "scarytranscludetoolong": "[URL tada tanayu’]", "recreate": "miliyaw miteka patizeng", "confirm-purge-title": "misipu tina kasabelih", "confirm_purge_button": "malucekay", "confirm-purge-top": "amisipu tina kasabelih a kalamkam-miala haw?", "confirm-purge-bottom": "palawpes kasabelih amalawpes kasabelih a kyasiw nasulitan zumasatu pacici paazih capi demiad kasabelih masumad nu ayaway.", "confirm-watch-button": "malucekay", + "confirm-watch-top": "micunus tina kasabelih tayza numisuay a miazihay a piazihan-tu-sulit?", "confirm-unwatch-button": "malucekay", "confirm-unwatch-top": "nay misuay a miazihay a piazihan-tu-sulit sa misipu tina kasabelih?", "confirm-rollback-button": "malucekay", + "confirm-rollback-top": "patiku mikawaway-kalumyiti tu tina kasabelih?", "quotation-marks": "\"$1\"", "imgmultipageprev": "ayaway cacay a belih", "imgmultipagenext": "zikuzan a belih →", @@ -2440,10 +2619,13 @@ "watchlistedit-raw-title": "mikawaway-kalumyiti saayaway misisip a piazihan-tu-sulit", "watchlistedit-raw-submit": "misabaluhay misisip tu piazihan-tu-sulit", "watchlistedit-raw-done": "misabaluh tuway miazihay a piazihan-tu-sulit nu misu.", + "watchlistedit-raw-added": "macunus tu {{PLURAL:$1|atangahan}}", + "watchlistedit-raw-removed": "masipu tu {{PLURAL:$1|satangahan}}:", "watchlistedit-clear-title": "misipu miazihay a piazihan tu sulit", "watchlistedit-clear-explain": "amisipu nu misuay a sacahamin a satangahan nay miazihay a piazihan-tu-sulit", "watchlistedit-clear-submit": "palawpes amin miazihay a piazihan-tu-sulit (la’cus patiku)", "watchlistedit-clear-done": "malawpes tu miazihay a piazihan-tu-sulit nu misu.", + "watchlistedit-clear-removed": "masipu tu {{PLURAL:$1|satangahan}}:", "watchlistedit-too-many": "iyadah apaazihay a kasabelih itini.", "watchlisttools-clear": "misipu miazihay a piazihan tu sulit", "watchlisttools-view": "ciwsace mahizaay a sumad", @@ -2461,6 +2643,7 @@ "version-other": "zuma", "version-mediahandlers": "myiti saungayay a sakaluk", "version-hooks": "kulawid", + "version-parser-extensiontags": "patingalaway-kikay micuwat tu taazihen-paya", "version-parser-function-hooks": "kamu-sakilul mapulita sapisausi makulawit", "version-hook-name": "kalawid a kalungangan", "version-hook-subscribedby": "pangangan", @@ -2473,7 +2656,7 @@ "version-ext-colheader-credits": "masacudaday", "version-license-title": "$1 a sapabeli tu kinli a cedang", "version-license-not-found": "caay katepa tina sacunusay a pulita sapabeli tu kinli a cedang cesyun.", - "version-credits-title": "$1 a kasakumi nu misayingaay", + "version-credits-title": "$1 a kasakumi nu paaninay", "version-credits-not-found": "caay katepa tina sacunusay a pulita kasakumi nu misayingaay cesyun", "version-poweredby-others": "zuma", "version-poweredby-translators": "translatewiki.net mibelihay", @@ -2482,6 +2665,7 @@ "version-software-version": "baziyong", "version-entrypoints": "sacumud URL", "version-entrypoints-header-url": "URL", + "version-libraries": "malaculay a cengse-sulu", "version-libraries-library": "sulu nu cengse", "version-libraries-version": "baziyong", "version-libraries-license": "sapabeli tu kinli a cedang", @@ -2493,6 +2677,7 @@ "redirect-value": "sulyang:", "redirect-user": "misaungayay ID", "redirect-page": "kasabelih ID", + "redirect-revision": "misumad tu kasabelih ID", "redirect-file": "kalungangan nu tangan", "redirect-logid": "nasulitan nazipa’an ID", "redirect-not-exists": "caykatepa ku sulyang", @@ -2501,19 +2686,24 @@ "fileduplicatesearch-filename": "kalungangan nu tangan:", "fileduplicatesearch-submit": "kilim", "fileduplicatesearch-result-1": "tangan $1 inayi’ misaliyaw tu tangan.", + "fileduplicatesearch-result-n": "tina tangan \"$1\" izaw {{PLURAL:$2|1 malecad misaliyaw|$2 malecad misaliyaw}}.", "fileduplicatesearch-noresults": "inayi’ ku kalungangan nu \"$1\" a tangan.", "specialpages": "sazumaay a kasabelih", "specialpages-group-maintenance": "aazihen a cudad nu midiputay", "specialpages-group-other": "sazumaay cidek a kasabelih", "specialpages-group-login": "patalabu / panganganen ku canghaw", + "specialpages-group-changes": "capi misumad atu nasulitan nazipa’an", + "specialpages-group-media": "myiti patapabaw atu aazihen cudad", "specialpages-group-users": "misaungayay atu tungus", "specialpages-group-highuse": "sawsawniay a kasabelih", "specialpages-group-pages": "piazihan tu sulit nu kasabelih", "specialpages-group-pagetools": "kasabelih sakaluk", "specialpages-group-wiki": "kalunasulitan atu sakaluk", "specialpages-group-redirects": "miliyaw patatuzu’ mahizaay sazumaay a kasabelih", + "specialpages-group-spam": "satena’ tu babakahen a sulit sakaluk", "specialpages-group-developer": "saayaway miteka a misakakawaway sakaluk", "blankpage": "salengacay a kasabelih", + "intentionallyblankpage": "kasabelih padetengan a miliwan.", "tags": "kapah misumad tu tazihan a paya", "tag-filter": "[[Special:Tags|aazihen paya]] kilim:", "tag-filter-submit": "kilim", @@ -2522,6 +2712,7 @@ "tags-title": "aazihen a paya", "tags-tag": "aazihen a paya kalungangan", "tags-display-header": "ilabu nu misumad nasulitan-nazipa’an paazih sasakawawen", + "tags-description-header": "malekuay mibuhci tu kamu", "tags-source-header": "saangangan", "tags-active-header": "miwawah", "tags-actions-header": "saungay", @@ -2569,15 +2760,19 @@ "tags-edit-title": "aazihen a paya mikawaway-kalumyiti", "tags-edit-manage-link": "aazihen a paya nu kuwan", "tags-edit-logentry-selected": "mapili’ {{PLURAL:$1|cacay|yadah}} nasulitan nazipa’an saungay nu binawlan.", + "tags-edit-existing-tags": "izaway tu a taazihen-paya:", "tags-edit-existing-tags-none": "inayi’", "tags-edit-new-tags": "baluhay aazihen a paya:", - "tags-edit-add": "micunus uyniyay aazihen a paya:", + "tags-edit-add": "micunus uyniyay taazihen-paya:", + "tags-edit-remove": "misipu uyniyay taazihen-paya:", + "tags-edit-remove-all-tags": "(misipu sacahamin taazihen-paya)", "tags-edit-chosen-placeholder": "mipili’ hatizaay aazihen a paya", "tags-edit-chosen-no-results": "inayi’ aazihen a paya matatungus sakacucek", "tags-edit-reason": "mahicaay:", "tags-edit-revision-submit": "caedung kya sumad katukuh i {{PLURAL:$1|tina misumad nu ayaway|$1 masumad nu ayaway}}", "tags-edit-success": "macaedung tu ku sasumad.", "tags-edit-failure": "misumad la’cus micaedung:\n$1", + "tags-edit-nooldid-title": "la’cusay a pamutekan masumad nu ayaway", "tags-edit-nooldid-text": "inayi’ kisu matuzu’ amahicahica amiteka tina sasahicaan a papatuzu'an masumad nu ayaway saca matuzu’ay sumad inayi’.", "tags-edit-none-selected": "anu inayi’ i pipili’ cacay amicunusay saca amisipuay a aazihen-paya.", "comparepages": "sasutili’ay a kasabelih", @@ -2586,11 +2781,14 @@ "compare-rev1": "misumad nu ayaway 1", "compare-rev2": "misumad nu ayaway 2", "compare-submit": "sasutili’ay", + "compare-invalid-title": "matuzu’ay satangahan la’cus.", "compare-title-not-exists": "matuzu’ay a satangah nu misu inayi’.", "compare-revision-not-exists": "matuzu’ay a sumad nu misu inayi’.", "diff-form": "sasizuma", "permanentlink": "saluimengay misiket", "dberr-problems": "ahicanaca! tina calay-kakacawan(wangcan) tahkal tuway hatizaay sitanengay a munday.", + "dberr-again": "sawsawni pinapina ku widi pitanam aca.", + "dberr-info": "(la’cus misuped-miala kalunasulitan-sulu: $1)", "dberr-info-hidden": "(la’cus misuped-miala sulu nu nasulitan)", "dberr-usegoogle": "kapah tu kisu mitanam ilabu nu kakatekuhan pisaungay Google kilim.", "dberr-outofdate": "azihen, napatizeng nu heni pikiliman tu nisulitan miasip a lacul hakay caay kawbaluhayay.", @@ -2607,6 +2805,7 @@ "htmlform-selectorother-other": "zuma", "htmlform-no": "caay", "htmlform-yes": "hang", + "htmlform-chosen-placeholder": "kapipili’tu cacay mapiliay", "htmlform-cloner-create": "ngalepen tu cunus", "htmlform-cloner-delete": "milimad", "htmlform-cloner-required": "anu inayi’ i manakanca suliten cacay kalunasulitan.", @@ -2614,7 +2813,7 @@ "htmlform-time-placeholder": "HH:MM:SS", "htmlform-datetime-placeholder": "YYYY-MM-DD HH:MM:SS", "htmlform-date-toolow": "matuzu’ay a sulyang nu misu mahasaay a demiad i ayaw nu $1.", - "htmlform-date-toohigh": "matuzu’ay a sulyang nu misu mahasaay a demiad i ayaw nu $1.", + "htmlform-date-toohigh": "matuzu’ay a sulyang i zikuz nu mahasaay a demiad $1.", "htmlform-time-toolow": "namatuzu’ kisu a sulyang i ayaw nu saayaw mahasa a tuki $1.", "htmlform-time-toohigh": "namituzu’ kisu a sulyang i zikuz nu sazikuz mahasa a tuki $1.", "htmlform-datetime-toolow": "matuzu’ay a sulyangnu misu iayaw saayaw mahasa a demiad atu tuki $1.", @@ -2628,6 +2827,8 @@ "restore-count-files": "{{PLURAL:$1|1 tangan}}", "logentry-suppress-delete": "$1 {{GENDER:$2|misatezep paazih tuway}} kasabelih $3", "revdelete-content-hid": "madimut tu ku lacul", + "revdelete-summary-hid": "madimut mikawaway-kalumyiti pecu’ nu lacul", + "revdelete-uname-hid": "midimut misaungayay a kalungangan", "revdelete-content-unhid": "palawpes midimut tu lacul", "revdelete-summary-unhid": "palawpes midimut mikawaway-kalumyiti pecu’ nu lacul", "revdelete-uname-unhid": "palawpes midimut misaungayay a kalungangan", @@ -2645,7 +2846,7 @@ "logentry-upload-upload": "$1 {{GENDER:$2|masayacay tuway}} $3", "logentry-upload-overwrite": "$1 {{GENDER:$2|patapabaw tuway}} baluhay baziyong a $3", "logentry-upload-revert": "$1 {{GENDER:$2|masayacay tuway}} $3", - "log-name-managetags": "aazihan-paya kuwan tu nasulitan", + "log-name-managetags": "tazihan-paya kuwan tu nasulitan", "logentry-managetags-create": "$1 {{GENDER:$2|mapatizeng yuway}} aazihen-paya \"$4\"", "log-name-tag": "aazihen a paya nasulitan nazipa’an", "rightsnone": "(nayi’)", @@ -2658,26 +2859,29 @@ "feedback-external-bug-report-button": "munday nu patubeli", "feedback-dialog-title": "patahkal tu kamu mihwidubaku", "feedback-error1": "mungangaw: la’cus sapulita API maminay a heci", + "feedback-error2": "mungangaw: mikawaway-kalumyiti mungangaw", "feedback-error3": "mungangaw: API inayi’ patukil", "feedback-error4": "mungangaw: la’cus patiyak tu matuzu’ay a nabalucu’ hwidubaku satangahan", "feedback-message": "palatuh:", "feedback-subject": "satangahan:", "feedback-submit": "patayzaan", + "feedback-termsofuse": "patubeli kaku kilulen mamaala a cedang nipabeli nabalucu’an hwidubaku.", "feedback-thanks": "kukay! nu misu a nabalucu’an hwidubaku mapatiyak tu kasabelih \"[$2 $1]\"", "feedback-thanks-title": "kukay tisuwanan!", "feedback-useragent": "misaungayay tayli:", "searchsuggest-search": "kilim {{SITENAME}}", - "api-error-badtoken": "labuay a mungangaw: mima-sacukcuk mungangaw.", + "api-error-badtoken": "labuay a mungangaw: mima-sabuhat mungangaw", "api-error-emptypage": "la’cus mahasa patizeng inayi’ ku cacan a kasabelih.", "api-error-publishfailed": "nu labuay a mungangaw: sefu’kikay patiyak nanunuz mungangaw.", "api-error-stashfailed": "nu labuay a mungangaw: sefu’kikay suped nanunuz mungangaw.", "api-error-unknown-warning": "caykapulitaay patalaw: \"$1\".", - "api-error-unknownerror": "caay kapulita ku mungangaw: \"$1\".", + "api-error-unknownerror": "caykapulitaay mungangaw: \"$1\".", "duration-seconds": "$1 {{PLURAL:$1|a beti}}", "duration-minutes": "$1 {{PLURAL:$1|widi}}", "duration-hours": "$1 {{PLURAL:$1|tuki}}", "duration-weeks": "$1 {{PLURAL:$1|a lipas}}", "duration-years": "$1 {{PLURAL:$1|a mihca}}", + "duration-decades": "$1{{PLURAL:$1|0 a mihca}}", "duration-centuries": "$1 {{PLURAL:$1|lasubu a mihca}}", "duration-millennia": "$1 {{PLURAL:$1|malebut a mihca}}", "rotate-comment": "duduc tu culil nu tuki malineng a zunga $1 {{PLURAL:$1|tu}}", @@ -2690,8 +2894,10 @@ "limitreport-ppgeneratednodes": "pataayaw-saungay-sakaluk masanga’ ciyityin kinapina", "limitreport-postexpandincludesize": "namicuwat nicaliwan hacica-tabaki", "limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|wyiyincu}}", + "limitreport-templateargumentsize": "taazihan mitudung aazihen-sulyang hacica tabaki", "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|wyiyincu}}", "limitreport-expansiondepth": "satakalaw micuwat ilabu", + "limitreport-expensivefunctioncount": "sayadah-eluc tingalaw-sakaluk hansu kinapina", "expandtemplates": "micuwat tu taazihan a mitudung", "expand_templates_title": "ulic satangahan, pabeli {{FULLPAGENAME}} atu zuma pisaungay:", "expand_templates_input": "suliten:", @@ -2721,6 +2927,7 @@ "log-description-pagelang": "tina kasabelih sa ku kasabelih kamu sumad nasulitan-nazipa’an.", "default-skin-not-found-row-enabled": "* $1 / $2 (mawawah tu)", "mediastatistics": "myiti sausi cesyun", + "mediastatistics-allbytes": "sacahamin tangan a pulung tangan pinalu hacica-tabaki: {{PLURAL:$1|$1 wyiyincu}} ($2).", "mediastatistics-table-mimetype": "MIME nikalahizaan", "mediastatistics-table-extensions": "kapah saungay a mikilulay a ngangan nu tangan", "mediastatistics-table-count": "tangan nikayadah", @@ -2740,6 +2947,7 @@ "json-error-ctrl-char": "misimaw tatebanan-nisulitan mungangaw, hakay caay tatenga’ay tu sakababalic a banggu", "json-error-syntax": "sakilul nu kamu mungangaw", "json-error-utf8": "UTF-8 tatebanan-nisulitan a kese caay tatenga’ay, hakay caay tatenga’ kya sakababalic a banggu", + "json-error-recursion": "ilabu nu kalunasulitan izaw cacay saca yadah musaliyuliyud sulyang nu tanengnengan masakababalic tu banggu", "json-error-inf-or-nan": "i kalunasulitan izaw ku cacay saca yadayay a NAN saca INF sulyang masakababalic a banggu", "json-error-unsupported-type": "isasa’ay a kalunasulitan kakuniza la’cus sakababalic tu banggu", "headline-anchor-title": "misasiket tina tusil", @@ -2768,6 +2976,7 @@ "mw-widgets-dateinput-no-date": "caayhen mipili’ tu demiad", "mw-widgets-mediasearch-noresults": "caykatepa ku heci.", "mw-widgets-titleinput-description-new-page": "kasabelih nayai’ tu", + "mw-widgets-titleinput-description-redirect": "miliyaw tazuma tu $1", "mw-widgets-categoryselector-add-category-placeholder": "micunus tu kakuniza...", "mw-widgets-usersmultiselect-placeholder": "micunus sangaleben...", "sessionmanager-tie": "la’cus mikabu kayadahay a milunguc zencen nikalahizaan:$1", @@ -2780,8 +2989,11 @@ "log-action-filter-import": "pacumud nikalahizaan:", "log-action-filter-managetags": "nikalahizaan nu aazihen a paya mikuwanay a saungay:", "log-action-filter-move": "milimad nikalahizaan:", + "log-action-filter-newusers": "canghaw patizengay a nikalahizaan:", "log-action-filter-patrol": "tayza mikibi nikalahizaan:", "log-action-filter-protect": "midiput nikalahizaan:", + "log-action-filter-rights": "tungus misumad a nikalahizaan:", + "log-action-filter-suppress": "satezep paazih nikalahizaan:", "log-action-filter-upload": "nikalahizaan nu patapabaw:", "log-action-filter-all": "hamin", "log-action-filter-block-block": "milangat", @@ -2799,7 +3011,7 @@ "log-action-filter-managetags-create": "patizeng aazihen paya", "log-action-filter-managetags-delete": "misipu aazihen a paya", "log-action-filter-managetags-activate": "aazihen a paya miteka", - "log-action-filter-managetags-deactivate": "aazihan-paya palawpesen ku pisaungay", + "log-action-filter-managetags-deactivate": "tazihan-paya palawpesen ku pisaungay", "log-action-filter-move-move": "milimad caay maliyaw misulit miliyaw patatuzu’", "log-action-filter-move-move_redir": "milimad miliyaw misulit miliyawtu tazuma nay", "log-action-filter-newusers-create": "nay paceba panganganay a misaungayay patizeng", @@ -2842,6 +3054,7 @@ "authmanager-userdoesnotexist": "misaungayay canghaw \"$1\" caay henay pangangan.", "authmanager-userlogin-remembermypassword-help": "apabalucu’en ku mima amiala ku tanaya’ay a kasasiketan tuki.", "authmanager-username-help": "zencen a misaungayay a kalungangan.", + "authmanager-password-help": "sapizencen a mima.", "authmanager-domain-help": "ihekal zencenay a calay-subal(wangyi).", "authmanager-retype-help": "misult mima kinacacay henay kya malucek.", "authmanager-email-label": "imyiyo(email)", @@ -2856,12 +3069,14 @@ "authprovider-confirmlink-failed": "canghaw masasiket caay kahamin malahci: $1", "authprovider-confirmlink-ok-help": "paazih masasiket mungangaw a palatuh sa palalid.", "authprovider-resetpass-skip-label": "sekipo", + "authprovider-resetpass-skip-help": "takud han miliyaw patizeng tu mima.", "authform-nosession-login": "malahci tu mizencen, uyzasa saazihay-sakaluk nu misu la’cus \"i balucu’en\" patalabu cesyun.\n\n$1", "authform-nosession-signup": "panganganen tu ku canghaw, uyzasa saazihay-sakaluk nu misu la’cus \"i balucu’en\" patalabu cesyun.\n\n$1", "authform-newtoken": "mahedaw mima-sacukcuk. $1", "authform-wrongtoken": "mima-sacukcuk mungangaw", "specialpage-securitylevel-not-allowed-title": "amana", "specialpage-securitylevel-not-allowed": "ahicanaca, caay mahasa pisaungay tina belih kisu, u nanu ID nu misu caay henay sawantan.", + "authpage-cannot-login": "la’cus miteka patalabu.", "authpage-cannot-login-continue": "la’cus milalid patalabu, kasasiketan nu misu hakay mautang tuway.", "authpage-cannot-create": "la’cus miteka patizeng tu canghaw.", "authpage-cannot-create-continue": "la’cus palalid patizeng tu canghaw. kasasiketan nu misu mahiza mautang.", diff --git a/languages/i18n/anp.json b/languages/i18n/anp.json index 4734ca24a3..b78f426c0e 100644 --- a/languages/i18n/anp.json +++ b/languages/i18n/anp.json @@ -13,6 +13,7 @@ "tog-hideminor": "हाल के बदलाव सॆं छोटॊ बदलाव छुपाबॊ", "tog-hidepatrolled": "निगरानी मॆं करलॊ गेलॊ संपादनॊ कॆ हाल के बदलावॊ मॆं नै देखाबॊ", "tog-newpageshidepatrolled": "निगरानी वाला पन्ना कॆ नया पन्ने वाला सूची मॆं नै देखाबॊ", + "tog-hidecategorization": "पृष्ठ के श्रेणीकरण छिपाबौ", "tog-extendwatchlist": "ध्यान सूची मॆं सब्भे बदलाव दर्शाबॊ, सिर्फ हाले के नै", "tog-usenewrc": "हाल मं॑ होलऽ परिवर्तनऽ आरू ध्यानसूची मं॑ परिवर्तनऽ क॑ पृष्ठ अनुसार समूहऽ मं॑ बाँटऽ", "tog-numberheadings": "शीर्षक स्वयं-क्रमांकित करॊ", @@ -23,6 +24,7 @@ "tog-watchdefault": "हमरऽ संपादित करलऽ पन्ना आरू फाइल क॑ हमरऽ ध्यानसूची मं॑ रखियै", "tog-watchmoves": "हमरऽ हटैलऽ पन्ना आरू फाइल क॑ हमरऽ ध्यानसूची मं॑ रखियै", "tog-watchdeletion": "हमरऽ मेटैलऽ पन्ना आरू फाइल क॑ हमरऽ ध्यानसूची मं॑ रखियै", + "tog-watchuploads": "हमरौ नया फ़ाइल क॑ हमरौ ध्यानसूची में डालौ ।", "tog-watchrollback": "हमरऽ द्वारा प्रत्यापन्न (रोलबैक) करलऽ गेलऽ पन्ना सब क॑ हमरऽ ध्यानसूची मंं॑ जोड़ऽ", "tog-minordefault": "सब्भे सम्पादनऽ क॑ छोटऽ बदलाव के रूप मं॑ चिह्नित करऽ", "tog-previewontop": "एडिट बॉक्स के उपर झलक दिखाबॊ", @@ -32,9 +34,9 @@ "tog-enotifminoredits": "पन्ना आरू फाइल मं॑ तनी-मनी बदलाव लेली भी हमरा इ-मेल भेजऽ", "tog-enotifrevealaddr": "अधिसूचना ईमेल मं॑ हमरऽ ईमेल पता दर्शाबऽ", "tog-shownumberswatching": "ध्यान रखै वाला यूजर के संख्या देखाबऽ", - "tog-oldsig": "वर्तमान दसखत:", + "tog-oldsig": "आपन॑ के वर्तमान हस्ताक्षर:", "tog-fancysig": "दसखत क॑ विकिपाठ ऐसनऽ मानऽ (बिना स्वचालित कड़ी केरऽ)", - "tog-uselivepreview": "सजीवन झलक के प्रयोग करऽ", + "tog-uselivepreview": "सजीवन झलक के उपयोग करौ", "tog-forceeditsummary": "जों सम्पादन सारांश नै देलऽ गेलऽ छै त॑ हमरा सूचित करऽ", "tog-watchlisthideown": "हमरऽ ध्यानसूची सं॑ हमरऽ करलऽ बदलाव छिपाबऽ", "tog-watchlisthidebots": "हमरऽ ध्यानसूची सं॑ बॉट द्वारा करलऽ बदलाव छिपाबऽ", @@ -52,7 +54,6 @@ "underline-never": "कहियो नै", "underline-default": "प्राथमिक त्वचा या ब्राउज़र", "editfont-style": "सम्पादन क्षेत्र केरऽ मुद्रलिपि शैली:", - "editfont-default": "प्राथमिक ब्राउज़र", "editfont-monospace": "एकल स्थल मुद्रलिपि", "editfont-sansserif": "'सॅन्स-सेरिफ' मुद्रालिपि", "editfont-serif": "'सेरिफ' मुद्रालिपि", @@ -146,13 +147,7 @@ "anontalk": "इ आई॰पी लेली वार्ता", "navigation": "भ्रमण", "and": " आरू", - "qbfind": "खोजॊ", - "qbbrowse": "ब्राउज़", - "qbedit": "संपादन", - "qbpageoptions": "इ पन्ना", - "qbmyoptions": "हमरऽ पन्ना", "faq": "अक्सर पूछलऽ जाबै वाला प्रश्न", - "faqpage": "Project:अक्सर पूछलऽ जाबै वाला सवाल", "actions": "क्रिया", "namespaces": "नामस्थान", "variants": "संस्करण", @@ -177,29 +172,19 @@ "edit-local": "स्थानीय विवरण सम्पादित करऽ", "create": "सृजन करॊ", "create-local": "स्थानीय विवरण जोड़ऽ", - "editthispage": "ई पन्ना के सम्पादन करॊ", - "create-this-page": "इ पन्ना सृजित करऽ", "delete": "हटाबॊ", - "deletethispage": "इ पन्ना हटाबऽ", - "undeletethispage": "इ पन्ना क॑ पुनर्स्थापित करऽ", "undelete_short": "{{PLURAL:$1|एगऽ हटैलऽ गेलै|$1 हटैलऽ गेलै}} बदलाव वापस लानऽ", "viewdeleted_short": "देखऽ {{PLURAL:$1|एगऽ हटैलऽ गेलऽ सम्पादन|$1 हटैलऽ गेलऽ सम्पादन}}", "protect": "सुरक्षित करॊ", "protect_change": "बदलॊ", - "protectthispage": "इ पन्ना सुरक्षित करऽ", "unprotect": "सुरक्षितता बदलऽ", - "unprotectthispage": "इ पन्ना केरऽ सुरक्षितता बदलऽ", "newpage": "नया पन्ना", - "talkpage": "इ पन्ना पर चर्चा करॊ", "talkpagelinktext": "वार्ता", "specialpage": "विशेष पन्ना", "personaltools": "वैयक्तिक औज़ार", - "articlepage": "लेख पन्ना", "talk": "चर्चा", "views": "दर्शाव", "toolbox": "उपकरण", - "userpage": "सदस्य पन्ना देखऽ", - "projectpage": "प्रोजेक्ट पन्ना देखऽ", "imagepage": "फाइल पन्ना देखऽ", "mediawikipage": "सन्देश पृष्ठ देखऽ", "templatepage": "साँचा पृष्ठ देखऽ", @@ -210,7 +195,7 @@ "redirectedfrom": "($1 स॑ भेजलऽ गेलऽ)", "redirectpagesub": "पुन: निर्देशित पन्ना", "redirectto": "क॑ अनुप्रेषित:", - "lastmodifiedat": "$1 के $2 पर इ पन्ना पर अन्तिम बार परिवर्तन भेलै.", + "lastmodifiedat": "$1 के $2 प॑ ई पन्ना प॑ अन्तिम बार परिवर्तन भेलै ।", "viewcount": "इ पृष्ठ {{PLURAL:$1|एक|$1}} बार देखलऽ गेलऽ छै.", "protectedpage": "सुरक्षित पन्ना", "jumpto": "हिन्न॑ जा:", @@ -412,12 +397,17 @@ "showdiff": "बदलाव देखाबऽ", "anoneditwarning": "सावधान: आपन॑ लॉग-इन नै करन॑ छियै. जों आपन॑ सम्पादन करै छियै त॑ इ पृष्ठ के संपादन इतिहास मं॑ आपने के आइ.पी. पता अंकित करलऽ जैतै. जों आपन॑ [$1 लॉगिन] करै छियै अथवा [$2 खाता बनाबै छियै] त॑ अन्य सुविधा के साथ-साथ आपन॑ क॑ संपादनऽ केरऽ श्रेय आपन॑ केरऽ सदस्यनाम पर देलऽ जैतै.", "summary-preview": "सारांश पूर्वावलोकन:", + "blockedtext": "'''आपका सदस्यनाम अथवा आइ॰पी पता अवरोधित कर दिया गया हैं ।'''\n\nअवरोध $1 द्वारा किया गया था।\nअवरोध का कारण है ''$2''\n\n* अवरोध का आरंभ: $8\n* अवरोध की समाप्ति: $6\n* अवरोधित इकाई: $7\n\nइस अवरोध के बारे में चर्चा करने के लिए आप $1 या किसी अन्य [[{{MediaWiki:Grouppage-sysop}}|प्रबन्धक]] से संपर्क कर सकते हैं।\nअगर आपने [[Special:Preferences|अपनी वरीयताओं]] में वैध ई-मेल पता प्रविष्ट किया है तो ही आप 'इस प्रयोक्ता को ई-मेल भेजें' वाली सुविधा का इस्तेमाल कर सकते हैं और आपको इसका इस्तेमाल करने से नहीं रोका गया है।\nआपका मौजूदा आइ॰पी पता $3 है और अवरोध क्रमांक #$5 है।\nअपने किसी भी प्रश्न में कृपया यह सभी जानकारी भी शामिल करें।", "loginreqlink": "लॉग-इन", "newarticle": "(नया)", "newarticletext": "आपनॆ जे लेख चाहै छियै वू अखनी तलक लिखलॊ नै गेलॊ छै. इ लेख लिखै लेली नीचे टाइप करॊ. सहायता लेली [$1 ऐन्जां] क्लीक करॊ.\n\nजों आपनॆ यहां पर गलती सॆं आबी गेलॊ छियै तॆ आपनॊ ब्राउज़र कॆ बॅक (back) पर क्लीक करॊ.", + "anontalkpagetext": "----\nयह वार्ता पृष्ठ उन बेनामी सदस्यों के लिये है जिन्होंने या तो खाता नहीं खोला है या खाते का प्रयोग नहीं कर रहे हैं।\nइसलिये उनकी पहचान के लिये हमें उनका संख्यात्मक आई॰पी॰ पता प्रयोग करना पड़ता है।\nऐसा आई॰पी॰ पता कई सदस्यों के लिए साझा हो सकता है।\nयदि आप एक बेनामी सदस्य हैं और आपको लगता है कि आपके बारे में अप्रासंगिक टीका टिप्पणी की गई है तो कृपया [[Special:CreateAccount|सदस्यता लें]] या [[Special:UserLogin|सत्रारंभ करें]] ताकि अन्य बेनामी सदस्यों में से आपको अलग से पहचाना जा सके।", "noarticletext": "फ़िलहाल ई पन्ना पर कोनो सामग्री नै छै.\nआपन॑ अन्य पन्ना मं॑ [[Special:Search/{{PAGENAME}}|ई सामग्री के खोज]] कर॑ सकै छियै,\n[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} संबंधित चिट्ठा मं॑ खोज कर॑ सकै छियै],\nया [{{fullurl:{{FULLPAGENAME}}|action=edit}} इ पन्ना क॑ संपादित कर॑ सक॑ छियै].", "noarticletext-nopermission": "\nफ़िलहाल इ पन्ना पर कोय सामग्री नै छै.\nआपने अन्य पन्ना म॑ [[Special:Search/{{PAGENAME}}|इ सामग्री केरऽ खोज]] कर॑ सकै छियै,\n[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} संबंधित चिट्ठा मं॑ खोज कर॑ सकै छियै],\nया फेरू [{{fullurl:{{FULLPAGENAME}}|action=edit}} इ पन्ना क॑ संपादित कर॑ सकै छियै].", - "previewnote": "'''याद रखॊ, इ केवल एगॊ झलक छेकै आरू अभी तलक सुरक्षित नै करलॊ गेलॊ छै!'''", + "userpage-userdoesnotexist-view": "सदस्य \"$1\" पंजीकृत नै छै।", + "clearyourcache": "'''ध्यान दिऐ:''' संजोला के बाद बदलाव देखै लेली आपन॑ क॑ अपने ब्राउज़र के कैश खाली करै ल॑ पड़॑ सकै छै।\n* '''फ़ायरफ़ॉक्स / सफ़ारी:''' ''Reload'' (रीलोड) दबाते समय ''Shift'' (शिफ़्ट) दबा के रखें, या फिर ''Ctrl-F5'' (कंट्रोल-F5) या ''Ctrl-R'' (कंट्रोल-R) दबाएँ (मैक पर ''⌘-R'')\n* '''गूगल क्रोम:''' ''Ctrl-Shift-R'' (कंट्रोल-शिफ़्ट-R) दबाएँ (मैक पर ''⌘-Shift-R'')\n* '''इन्टर्नेट एक्सप्लोरर:''' ''Ctrl'' (कंट्रोल) दबाकर ''Refresh'' (रिफ़्रेश) करें या ''Ctrl-F5'' (कंट्रोल-F5) दबाएँ\n* '''ऑपेरा:''' ''Tools → Preferences'' (उपकरण → वरीयताएँ) में कैश साफ़ करें", + "previewnote": "'''याद रखऽ, ई खाली एगऽ झलक छेकै आरू अभी तलक सुरक्षित नै करलऽ गेलऽ छै!'''", + "continue-editing": "संपादन क्षेत्र म॑ जा", "editing": "$1 केरऽ सम्पादन चली रहलऽ छै.", "creating": "$1 बनाबऽ", "editingsection": "$1 सम्पादन (अनुभाग)", @@ -427,8 +417,12 @@ "template-protected": "(सुरक्षित)", "template-semiprotected": "(अर्ध-सुरक्षीत)", "hiddencategories": "इ लेख निम्नलिखित {{PLURAL:$1|1 छुपैलऽ श्रेणी म॑|$1 छुपैलऽ श्रेणी म॑}} छै:", + "permissionserrors": "अनुमति त्रुटि", "permissionserrorstext-withaction": "आपन॑क॑ $2 केरऽ अनुमति नै छै, निम्नलिखित {{PLURAL:$1|कारण लेली|कारणऽ लेली}}:", - "moveddeleted-notice": "इ पन्ना हटाय देलऽ गेलऽ छै.\nपन्ना हटाबै केरऽ लॉग संदर्भ लेली नीचें देलऽ गेलऽ छै.", + "recreate-moveddeleted-warn": "'''चेतावनी: आप एक पहले हटाए गए पृष्ठ को पुनर्निर्मित कर रहे हैं।'''\n\nआप को विचार करना चाहिये कि क्या इस पृष्ठ का संपादन जारी रखना उचित होगा।\nइस पृष्ट के हटाने व स्थानांतरण का लॉग सुविधा के लिये उपलब्ध है:", + "moveddeleted-notice": "ई पन्ना हटाय देलऽ गेलऽ छै ।\nपन्ना हटाबै केरऽ लॉग संदर्भ लेली नीचें देलऽ गेलऽ छै ।", + "content-model-wikitext": "विकिपाठ्य", + "undo-failure": "ई बीच अन्य बदलाव होला के कारण ई संपादन पूर्ववत करना संभव नै छै।", "viewpagelogs": "इ पन्ना केरऽ लॉग देखॊ", "currentrev-asof": "$1 केरऽ समय के संस्करण", "revisionasof": "$1 केरऽ संस्करण", @@ -439,26 +433,34 @@ "cur": "चालू", "last": "पिछला", "histlegend": "फर्क चयन: फर्क देखै लेली पुराना अवतरणॊ के आगे देलॊ गेलॊ रेडियो बॉक्सपर क्लीक करॊ तथा एन्टर करॊ अथवा नीचॆं देलॊ बटन पर क्लीक करॊ
    \nलिजेंड: (चालू) = सद्य अवतरण के बीच मॆ फर्क,\n(आखिरी) = पिछला अवतरण के बीच मॆं फर्क, छो = छोटा बदलाव", - "history-fieldset-title": "इतिहास के विचरण करॊ", - "histfirst": "बहुत पहिले के", - "histlast": "एकदम हाल के", + "history-fieldset-title": "अवतरण हेतु खोजऽ", + "histfirst": "सबस॑ पहलकरऽ", + "histlast": "सबस॑ नया", + "history-feed-title": "अवतरण इतिहास", + "history-feed-description": "विकि प॑ उपलब्ध ई पृष्ठ केरऽ अवतरण इतिहास", + "history-feed-item-nocomment": "$1 $3 क॑ $4 बजे", "rev-delundel": "दिखाब/छुपाबऽ", "revdel-restore": "दृश्यता बदलॊ", + "mergelog": "एकत्रीकरण लॉग", "revertmerge": "अलग करॊ", "history-title": "\"$1\" केरऽ अवतरण इतिहास", "difference-title": "\"$1\" केरऽ संशोधनऽ के बीच फरक", "lineno": "पंक्ति $1:", "compareselectedversions": "च़यन करलॊ अवतरणों मॆं फर्क देखियै", "editundo": "पूर्ववत करऽ", + "diff-empty": "(कोय फरक नै)", "diff-multi-sameuser": "({{PLURAL:$1|एगऽ मध्यवर्ती संशोधन|$1 मध्यवर्ती संशोधन}} एक्के यूजर द्वारा नै दिखलैलऽ गेलऽ)", + "diff-multi-otherusers": "({{PLURAL:$2|एक अन्य सदस्य|$2 सदस्यऽ}} द्वारा {{PLURAL:$1|करलऽ गेलऽ बीच के एगो अवतरण नै दर्शैलऽ|करलऽ गेलै बीच के $1 अवतरण नै दर्शैलऽ गेलऽ}})", "searchresults": "खोज परिणाम", "searchresults-title": "\"$1\" लेली खोज परिणाम", "notextmatches": "कोनो पन्ना मॆं इ सामग्री नै मिललै.", "prevn": "पिछला {{PLURAL:$1|$1}}", "nextn": "अगला {{PLURAL:$1|$1}}", + "prevn-title": "{{PLURAL:$1|पिछला|पिछला सब}} $1 परिणाम", "nextn-title": "अगला $1 {{PLURAL:$1|नतीजा|जादा नतीजा}}", "shown-title": "हर पन्ना प॑ $1 {{PLURAL:$1|result|results}} दिखाबऽ", "viewprevnext": "देख़ऽ ($1 {{int:pipe-separator}} $2) ($3)", + "searchmenu-exists": "ई विकि पर \"[[:$1]]\" नाम स॑ एगो पृष्ठ छेकै। {{PLURAL:$2|0=|अन्य प्राप्त खोज परिणाम भी देखऽ।}}", "searchmenu-new": "इ विकि पर \"[[:$1]]\" नाम केरऽ पन्ना बनाबऽ!{{PLURAL:$2|0=|आपने केरऽ खोज सं॑ मेल खैतें पन्ना भी देखऽ.|खोज परिणाम भी देखऽ।}}", "searchprofile-articles": "सामग्री पृष्ठ", "searchprofile-images": "मल्टीमीडिया", @@ -469,8 +471,10 @@ "searchprofile-everything-tooltip": "(वार्ता पृष्ठ सहित) सब्भे सामग्री मं॑ खोजऽ", "searchprofile-advanced-tooltip": "विशेष नामस्थानऽ मं॑ खोजऽ", "search-result-size": "$1 ({{PLURAL:$2|1 शब्द|$2 शब्द}})", - "search-redirect": "($1 क॑ अनुप्रेषित)", + "search-result-category-size": "{{PLURAL:$1|$1 सदस्य}} ({{PLURAL:$2|$2 उपश्रेणी|$2 उपश्रेणियाँ}}, {{PLURAL:$3|$3 सञ्चिका|$3 सञ्चिकाएँ}})", + "search-redirect": "($1 स॑ पुनर्निर्देशित)", "search-section": "(विभाग $1)", + "search-file-match": "(फ़ाइल सामग्री स॑ मेल खाय छै)", "search-suggest": "की आपन॑ के मतलब $1 छै ?", "search-interwiki-caption": "अन्य प्रकल्प", "search-interwiki-default": "$1 के रिज़ल्ट:", @@ -482,17 +486,21 @@ "powersearch-ns": "नामस्थानॊ मॆ खोजॊ:", "preferences": "वरीयता", "mypreferences": "वरीयता", + "group-bot": "बॉट", "group-sysop": "प्रचालक", + "grouppage-bot": "{{ns:project}}:बॉट", "grouppage-sysop": "{{ns:project}}:प्रचालक", "right-writeapi": "लेखन API के प्रयोग करऽ", "newuserlogpage": "नयऽ सदस्यऽ के सूची", "rightslog": "सदस्य अधिकार सूची", "action-edit": " ई पन्ना के सम्पादन करॊ", + "action-createaccount": "ई सदस्य के खाता खोलऽ", "nchanges": "$1 {{PLURAL:$1|बदलाव|बदलाव}}", "enhancedrc-history": "इतिहास", "recentchanges": "हाल मं॑ होलऽ बदलाव", "recentchanges-legend": "हाल केरऽ परिवर्तन संबंधी विकल्प", "recentchanges-summary": "इस विकि पर हाल मं॑ होलऽ बदलाव इ पन्ना पर देखलऽ जाब॑ सकै छै.", + "recentchanges-noresult": "ई अवधि के दौरान ई मापदंड क॑ पूरा करतें कोय परिवर्तन नै करलऽ गेलऽ छै।", "recentchanges-feed-description": "इ फ़ीड मॆ होय वाला विकि पर हाल मॆ होलॊ बदलाव देखियै.", "recentchanges-label-newpage": "इ संपादन सं॑ तैयार होलऽ नया पन्ना", "recentchanges-label-minor": "इ एगऽ छोटऽ बदलाव छेकै", @@ -501,6 +509,7 @@ "recentchanges-label-plusminus": "पृष्ठ आकार इ बाइट संख्या सं॑ बदललै", "recentchanges-legend-heading": "विवरण:", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|नया पन्ना के सूची]] क॑ भी देखऽ)", + "rcnotefrom": "नीचे $2 के बाद स॑ ($1 तलक) {{PLURAL:$5|होलऽ बदलाव दर्शैलऽ गेलऽ छै |होलऽ बदलाव दर्शैलऽ गेलऽ छै}}।", "rclistfrom": "$3 $2 सं॑ नया बदलाव देखलाबऽ", "rcshowhideminor": "छोटऽ बदलाव $1", "rcshowhideminor-show": "देखाबऽ", @@ -509,10 +518,12 @@ "rcshowhidebots-show": "देखाबऽ", "rcshowhidebots-hide": "छुपाबऽ", "rcshowhideliu": "पंजीकृत सदस्य $1", + "rcshowhideliu-show": "देखाबऽ", "rcshowhideliu-hide": "छुपाबऽ", "rcshowhideanons": "$1 अनामक सदस्यऽ", "rcshowhideanons-show": "देखाबऽ", "rcshowhideanons-hide": "छुपाबऽ", + "rcshowhidepatr": "परीक्षित सम्पादन $1", "rcshowhidemine": "हमरऽ संपादन $1", "rcshowhidemine-show": "देखाबऽ", "rcshowhidemine-hide": "छुपाबऽ", @@ -527,7 +538,9 @@ "rc-change-size-new": "बदलाव केरऽ बाद $1 {{PLURAL:$1|बाइट}}", "rc-enhanced-expand": "विस्तृत जानकारी देखाबॊ (ऐकरा लेली जावास्क्रिप्ट चाहियॊ)", "rc-enhanced-hide": "विस्तृत जानकारी छिपाबॊ", + "rc-old-title": "मूल रूप स॑ \"$1\" नाम स॑ बनैलऽ गेलऽ छेलै", "recentchangeslinked": "इ पृष्ठ संबंधी बदलाव", + "recentchangeslinked-feed": "इ पृष्ठ संबंधी बदलाव", "recentchangeslinked-toolbox": "इ पृष्ठ संबंधी बदलाव", "recentchangeslinked-title": "\"$1\" म॑ होलऽ बदलाव", "recentchangeslinked-summary": "कोनो पन्ना के हवाले कत्त॑ भी पन्ना मौजूद हुअ॑ सकै छै, इ सूची उ पन्ना (या कोनो श्रेणी के सदस्यऽ) मं॑ होलऽ हाल के बदलाव देखाबै छै.\n[[Special:Watchlist|आपन॑ के ध्यानसूची]] मं॑ मौजूद पन्ना '''मोटा''' अक्षरऽ मं॑ दिखतै.", @@ -536,30 +549,39 @@ "upload": "फाईल अपलोड", "uploadlogpage": "अपलोड सूची", "filedesc": "सारांश", + "license": "लाइसेन्सिंग:", "license-header": "लाइसेन्सिंग", "imgfile": "फाइल", + "listfiles": "फ़ाइल सूची", "file-anchor-link": "फ़ाइल", "filehist": "फाइल के इतिहास", "filehist-help": "संचिका पुरानऽ समय में कैन्हऽ दिखै रहै इ जानै लेली वांछित दिनांक/समय पर चटका लगाबऽ.", + "filehist-revert": "पूर्ववत करऽ", "filehist-current": "मौजूदा", "filehist-datetime": "तारीख/समय", "filehist-thumb": "थम्बनेल", "filehist-thumbtext": "$1 केरऽ समय के संस्करण के अँगूठाकार प्रारूप", + "filehist-nothumb": "कोय अंगूठाकार नै", "filehist-user": "सदस्य", "filehist-dimensions": "आयाम", "filehist-comment": "टिप्पणी", "imagelinks": "फ़ाइल केरऽ उपयोग", "linkstoimage": "निम्नोक्त {{PLURAL:$1|पन्ने|$1 पन्ना सीनी}} मं॑ इ संचिका के हवाले छै:", + "linkstoimage-more": "{{PLURAL:$1|$1}} से अधिक पृष्ठ इस फ़ाइल से जुड़ते हैं।\nनिम्नोक्त सूची फ़ाइल से जुड़ने वाले {{PLURAL:$1|$1 पृष्ठ|$1 पृष्ठ सब}} दिखाती है।\n[[Special:WhatLinksHere/$2|पूरी सूची]] भी उपलब्ध है।", "nolinkstoimage": "इ फ़ाइल स॑ कोय पन्ना नै जुड़ै छै.", + "linkstoimage-redirect": "$1(फ़ाइल पुनर्निर्देश) $2", "sharedupload": "ई फाईल $1 सॆ छै आरू संभवतः अन्य परियोजना भी एकरॊ इस्तेमाल करी रहलॊ होतै.", "sharedupload-desc-here": "इ फ़ाइल $1 स॑ छेकै आरू अन्य परियोजना द्वारा भी प्रयोग करलऽ जाब॑ सकै छै.\nवहाँ पर एकरऽ [$2 फ़ाइल विवरण पृष्ठ] मं॑ मौजूद विवरण निम्नांकित छै.", + "filepage-nofile": "ई नाम के कोय फ़ाइल मौजूद नै छै।", "uploadnewversion-linktext": "इ फाईल के नया संस्करण अपलॊड करॊ", "upload-disallowed-here": "आपन॑ इ फ़ाइल क॑ अधिलेखित नै कर॑ सकै छो", "randompage": "कोय्यो पन्ना", "statistics": "आँकड़ा", + "double-redirect-fixer": "पुनर्प्रेषण मिस्त्री", "nbytes": "{{PLURAL:$1|बाइट|बाइट}}", "nmembers": "$1 {{PLURAL:$1|सदस्य|जादा सदस्य}}", "prefixindex": "इ उपसर्ग वाल सब्भे पन्ना", + "listusers": "सदस्यसूची", "newpages": "नया पन्ना", "move": "स्थानांतरण", "movethispage": "इ पन्ना स्थानांतरित करॊ", @@ -568,29 +590,40 @@ "booksources": "पुस्तक स्रोत", "booksources-search-legend": "पुस्तक स्रोत खोजऽ", "booksources-search": "खोजऽ", + "specialloguserlabel": "कर्ता:", + "speciallogtitlelabel": "लक्ष्य (शीर्षक या \"{{ns:सदस्यनाम}}:सदस्यनाम\" सदस्य हेतु):", "log": "लॉग सूची", + "all-logs-page": "सब सार्वजनिक लॉग", + "alllogstext": "{{SITENAME}} की सभी उपलब्ध लॉगों की प्रविष्टियों का मिला-जुला प्रदर्शन।\nआप और बारीकी के लिए लॉग का प्रकार, सदस्य नाम (लघु-दीर्घ-अक्षर संवेदी), या प्रभावित पृष्ठ (लघु-दीर्घ-अक्षर संवेदी) चुन सकते हैं।", + "logempty": "लॉग में ऐसनऽ प्रविष्टि नै छै।", "allpages": "सब्भे पन्ना", "prevpage": "पिछला पन्ना ($1)", "allpagesfrom": "देलॊ गेलॊ अक्षर सॆं आरंभ होयवाला लेख दर्शाबॊ:", "allpagesto": "ऐना समाप्त होय वाला पन्ना दिखाबॊ:", "allarticles": "सब्भे पन्ना", "allpagessubmit": "चलऽ", + "allpages-hide-redirects": "पुनर्निर्देश छुपाबऽ", "categories": "श्रेणी", "linksearch": "बाहरी कड़ी", "listgrouprights-members": "(सदस्य सूची)", "emailuser": "इ सदस्य कॆ ई-मेल भेजॊ", - "watchlist": "हमरॊ ध्यानसूची", + "usermessage-editor": "सिस्टम दूत", + "watchlist": "ध्यानसूची", "mywatchlist": "ध्यानसूची", + "watchlistfor2": "$1 $2 लेली", "addedwatchtext": "\"[[:$1]]\" आपनॆके [[Special:Watchlist|ध्यानसूची]] मॆं \"$1\" केरॊ समावेश करी देलॊ गेलॊ छै.\nभविष्य मॆं इ पन्ना तथा इ पन्ने केरॊ वार्ता मॆं होय वाला बदलाव आपनॆकॆ ध्यानसूची मॆं दिखतै तथा [[Special:RecentChanges|हाल मॆं होलॊ बदलावॊ के सूची]] मॆं ई पन्ना बोल्ड दिखतै ताकि आपनॆ आसानी सॆं एकरॊ ध्यान रखॆ सकियै.\n\n

    अगर आपनॆकॆ इ पन्ना कॆ अपनॊ ध्यानसूची सॆं निकालना छै तॆ [[Special:RecentChanges|टटका परिवर्तन]] पर क्लिक करॊ.", "removedwatchtext": "\"[[:$1]]\" नामक पन्ना कॆ आपनॆ के [[Special:Watchlist|ध्यानसूची]] सॆं हटाय देलॊ गेलॊ छै.", "watch": "ध्यान रखऽ", "watchthispage": "ई पन्ना ध्यानसूची में डालॊ", "unwatch": "ध्यान हटाबॊ", - "watchlist-details": "वार्ता पन्ना केरॊ अलावा {{PLURAL:$1|$1 पन्ना|$1 पन्ने}} आपने के ध्यानसूची मॆं छै.", - "wlshowlast": "पिछला $1 घंटा $2 दिन देखॊ", + "watchlist-details": " {{PLURAL:$1|$1 पृष्ठ}} आपन॑ के ध्यानसूची म॑ छै (वार्ता पृष्ठऽ के अलावा)।", + "wlheader-showupdated": "आपन॑ के देखला गेला के बाद जोन पृष्ठऽ म॑ बदलाव होतै, ओकरऽ कड़ी गहरा रंग के दिखतै।", + "wlnote": "$3 क॑ $4 बजे तलक पिछला $2 {{PLURAL:$2|घंटा|घंटां}} म॑ {{PLURAL:$1|हुआ एक|होलै $1}} परिवर्तन निम्न {{PLURAL:$1|छै|छैं}}।", + "wlshowlast": "पिछला $1 घंटा $2 दिन देखऽ", "watchlist-options": "ध्यानसूची विकल्प", "watching": "ध्यान दय रहलॊ छै...", "unwatching": "ध्यान हटाय रहलॊ छियै...", + "enotif_reset": "सब पृष्ठ देखलऽ जैन्हऽ दर्शाबऽ", "deletepage": "पन्ना हटाबॊ", "confirmdeletetext": "आपनॆ एगॊ लेख ओकरॊ सब्भॆ अवतरणॊ के साथ हटाय लॆ चाहै छहॊ.\nआपनॆ सॆं अनुरोध छै कि आपनॆ जे करी रहलॊ छियै वू मीडिया विकि के [[{{MediaWiki:Policy-url}}|नीतिनुसार]] छै इ बात के पुष्टि करी लॆ तथा क्रिया करला सॆं पहले आपनॊ क्रिया के परिणाम जानी लॆ.", "actioncomplete": "कार्य पूर्ण", @@ -665,40 +698,51 @@ "contributions-title": "$1 लेली सदस्यॊ के योगदान", "mycontris": "योगदान", "anoncontribs": "योगदान", - "contribsub2": "$1 लेली ($2)", - "uctop": "(उपर)", + "contribsub2": "{{GENDER:$3|$1}} ($2) लेली", + "nocontribs": "ई कसौटी स॑ मिलै वाला बदलाव मिललै नै ।", + "uctop": "मौजूदा", "month": "इ महिना स॑ (आरू पुरान॑):", "year": "इ साल स॑ (आरू पुरानऽ):", "sp-contributions-newbies": "सिर्फ नया सदस्यॊ के योगदान दर्शाबॊ", "sp-contributions-blocklog": "ब्लॉक सूची", + "sp-contributions-uploads": "अपलोड", + "sp-contributions-logs": "लॉग सूची", + "sp-contributions-talk": "वार्ता", "sp-contributions-search": "योगदान लेली खोज", "sp-contributions-username": "आईपी एड्रेस या सदस्यनाम:", + "sp-contributions-toponly": "खाली वू सम्पादनऽ क॑ दिखाबऽ जे नवीनतम संशोधन छेकै", + "sp-contributions-newonly": "केवल वे सम्पादन दिखाएँ जिनसे पृष्ठ निर्मित हुए हों हुअ॑", "sp-contributions-submit": "खोज", "whatlinkshere": "एन्जां की जुड़तै", "whatlinkshere-title": "$1 सं॑ जुड़लऽ पन्ना", "whatlinkshere-page": "पन्ना:", "linkshere": "नीचे के सब पन्ना '''[[:$1]]''' स॑ जुड़लऽ:", + "nolinkshere": "[[:$1]] स॑ कोय भी पन्ना नै जुड़लऽ छै।", "isredirect": "पुन: निर्दिष्ट पन्ना", "istemplate": "मिलाबऽ", "isimage": "फाइल लिंक", "whatlinkshere-prev": "{{PLURAL:$1|पिछला|पिछला सीनी $1}}", "whatlinkshere-next": "{{PLURAL:$1|अगला|अगला $1}}", "whatlinkshere-links": "← लिंक", - "whatlinkshere-hideredirs": "$1 अनुप्रेषितें", + "whatlinkshere-hideredirs": "$1 पुनर्निर्देश", "whatlinkshere-hidetrans": "$1 ट्रान्स्क्ल्युजन्स", "whatlinkshere-hidelinks": "$1 लिंक", + "whatlinkshere-hideimages": "$1 फ़ाइल कड़ी", "whatlinkshere-filters": "फिल्टर्स", "blockip": "अवरोधित करॊ", "ipboptions": "२ घंटा:2 hours,१ दिन:1 day,३ दिन:3 days,१ हफ्ता:1 week,२ हफ्ता:2 weeks,१ महिना:1 month,३ महिना:3 months,६ महिना:6 months,१ साल:1 year,अनंत:infinite", "ipblocklist": "अवरोधित आईपी पता व सदस्यनाम", + "infiniteblock": "इनफाईनाईट", "blocklink": "अवरोधित करऽ", "unblocklink": "अवरोध हटाएँ (अनब्लॉक)", "change-blocklink": "ब्लॉक बदलॊ", "contribslink": "योगदान", "blocklogpage": "ब्लॉक सूची", "blocklogentry": "\"[[$1]]\" कॆ $2 $3 तलक बदलाव करै सॆं रोकी देलॊ गेलॊ छै.", + "reblock-logentry": "[[$1]] केरऽ अवरोध जमाव बदललऽ गेलै, मियाद अब॑ $2 $3 प॑ खत्म होतै", "unblocklogentry": "$1 ब्लॉक निकाली देलॊ गेलॊ छै.", "block-log-flags-nocreate": "खाता निर्माण पर रोक", + "proxyblocker": "प्रॉक्सी ब्लॉकर", "movepagetext": "नीचॆं देलॊ पर्चा पन्ना के नाम बदली देतै, ऐकरॊ सारा इतिहास भी नयॊ नाम सॆं दिखना शुरू होय जैतै.\nपुराना शीर्षक नया नाम कॆ अनुप्रेषित करी लेतै.\nमूल शीर्षक दन्नॆ जाय वाला अग्रेषणॊ कॆ आपनॆ स्वचालित रूपॊ सॆं बदलॆ सकॆ छियै.\nयदि आपनॆ ऐन्हॊ नै करै छियै तॆ कृपया [[Special:DoubleRedirects|दोहरा]] पुनर्निर्देशण या [[Special:BrokenRedirects|टूटलॊ पुनर्निर्देशन]] लेली ज़रूर जाँच करॊ.\nकड़ी सीनी सही जगह इंगित करी रहलॊ छै, ई सुनिश्चित करना आपनॆ कॆ जिम्मेदारी छै.\n\nअगर नयॊ शीर्षक के लेख पहलै सॆं छै तॆ स्थानांतरण '''नै''' होतै. पर अगर नयॊ शीर्षक वाला लेख खाली छै अथवा कहीं आरू अनुप्रेषित करै छियै आरू साथ ही ओकरॊ पुरानॊ संस्करण नै छै तॆ स्थानांतरण होय जैतै.\nएकरॊ मतलब कि यदि आपनॆ सॆं गलती हो जाय तॆ आपनॆ वापस पुरानॊ नाम पर इ पन्ना कॆ स्थानांतरण करॆ सकॆ छियै, आरू साथ ही आपनॆ कोनॊ मौजूदा पन्ना के बदले ई स्थानांतरण नै करॆ सकॆ छियै.\n\n'''चेतावनी!'''\nयदि पन्ना काफ़ी लोकप्रिय छै तॆ ओकरा लेली ई एक बहुत बड़ा व अकस्मात् परिवर्तन हुऎ सकॆ छै;\nआगू बढ़ला सॆं पहले अंजाम अच्छा सॆं समझी लॆ.\n\n'''सूचना!'''\nस्थानांतरण करला सॆं कोय भी महत्वपूर्ण लेख मॆं अनपेक्षित बदलाव हुऎ सकॆ छै\nआपनॆ सॆं अनुरोध छै कि आपनॆ एकरॊ परिणाम जानी लियै.", "movepagetalktext": "संबंधित वार्ता पृष्ठ ऐकरॊ साथ स्थानांतरीत नै होतै '''अगर:'''\n* आपनॆ पन्ना दोसरॊ नामस्थान मॆं स्थानांतरीत करी रहलॊ छहॊ.\n* इ नाम के वार्ता पृष्ठ पहलॆ सॆं बनलॊ छै, या\n* नीचॆं देलॊ गेलॊ चेक बॉक्स आपनॆ निकाली देनॆ छियै.\n\nइ मामला मॆं आपनॆकॆ स्वयं इ पन्ना जोडै लॆ पड़तै.", "newtitle": "नया शीर्षक दन्नॆ:", @@ -713,6 +757,7 @@ "revertmove": "पुरानॊ अवतरण पर लॆ चलॊ (रिवर्ट)", "export": "पन्ना क॑ निर्यात करऽ", "thumbnail-more": "बड़ा करऽ", + "importlogpage": "आयात सूची", "tooltip-pt-userpage": "{{GENDER:|आपन॑ के प्रयोक्ता}} पन्ना", "tooltip-pt-mytalk": "{{GENDER:|आपन॑ के}} वार्ता पृष्ठ", "tooltip-pt-preferences": "{{GENDER:|आपन॑ के}} वरीयता", @@ -747,7 +792,7 @@ "tooltip-feed-rss": "इ पन्ना के आरएसएस फ़ीड", "tooltip-feed-atom": "इ पन्ना के अणु फ़ीड", "tooltip-t-contributions": "{{GENDER:$1| केरऽ ई साल}} म॑ सदस्य के योगदान केरऽ सूची देखियै", - "tooltip-t-emailuser": "इस सदस्य कॆ इमेल भेजॊ", + "tooltip-t-emailuser": "{{GENDER:$1|ई सदस्य}} क॑ इमेल भेजऽ", "tooltip-t-upload": "फाईल लादऽ (अपलोड )", "tooltip-t-specialpages": "ख़ास पन्ना केरऽ सूची", "tooltip-t-print": "इ पन्ना के छापे लायक संस्करण.", @@ -757,6 +802,7 @@ "tooltip-ca-nstab-special": "इ एगऽ खास पन्ना छै, आपन॑ एकरा बदल॑ नै सकै छियै.", "tooltip-ca-nstab-project": "प्रोजेक्ट पन्ना देखियै", "tooltip-ca-nstab-image": "फाइल के पन्ना देखऽ", + "tooltip-ca-nstab-mediawiki": "प्रणाली सन्देश देखऽ", "tooltip-ca-nstab-template": "टेम्प्लेट देखियै", "tooltip-ca-nstab-category": "श्रेणी पन्ना देखऽ", "tooltip-minoredit": "ऐकरा छोटा बदलाव के तौर पर दर्ज करॊ", @@ -769,10 +815,45 @@ "tooltip-undo": "\"पुरानऽ स्थिति पर लानऽ\" इ बदलाव क॑ वापस ल॑ जाय क॑ संपादन पर्चा क॑ झलक रीति म॑ दिखलाबै छै.\nएकरऽ जरिया सं॑ सारांश मं॑ पुरानऽ स्थिति मं॑ लानै के कारण लिखलऽ जाब॑ पार॑.", "tooltip-summary": "एक संक्षिप्त सारांश दर्ज करऽ", "simpleantispam-label": "स्पैम-विरोधी जाँच.\nएकरा म॑ इ नै भरऽ!", + "pageinfo-title": "\"$1\" लेली जानकारी", + "pageinfo-header-basic": "मूल जानकारी", + "pageinfo-header-edits": "सम्पादन इतिहास", + "pageinfo-header-restrictions": "पृष्ठ सुरक्षा", + "pageinfo-header-properties": "पृष्ठ जानकारी", + "pageinfo-display-title": "प्रदर्शित शीर्षक", + "pageinfo-default-sort": "डिफ़ॉल्ट सॉर्ट की", + "pageinfo-length": "पृष्ठ आकार (बाइट्स म॑)", + "pageinfo-article-id": "पृष्ठ आइ॰डी", + "pageinfo-language": "पृष्ठ सामग्री भाषा", + "pageinfo-content-model": "पृष्ठ सामग्री के नमूना", + "pageinfo-robot-policy": "सर्च इंजन बॉट द्वारा अनुक्रमण", + "pageinfo-robot-index": "अनुमतित", + "pageinfo-robot-noindex": "नै अनुमतित", + "pageinfo-watchers": "पृष्ठ पर नज़र रखै वाला के संख्या", + "pageinfo-few-watchers": "$1 स॑ कम ध्यान दै {{PLURAL:$1|वाला|वालां}}", + "pageinfo-redirects-name": "इ पृष्ठ क॑ पुनर्निर्देश के संख्या", + "pageinfo-subpages-name": "ई पृष्ठ के उप-पृष्ठ", + "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|पुनर्निर्देश}}; $3 {{PLURAL:$3|ग़ैर-पुनर्निर्देश}})", + "pageinfo-firstuser": "पृष्ठ निर्माता", + "pageinfo-firsttime": "पृष्ठ निर्माण तिथि", + "pageinfo-lastuser": "नवीनतम सम्पादक", + "pageinfo-lasttime": "नवीनतम सम्पादन तिथि", + "pageinfo-edits": "संपादन के कुल संख्या", + "pageinfo-authors": "लेखक सिनी के संख्या", + "pageinfo-recent-edits": "हाल म॑ होलऽ सम्पादनऽ के संख्या (पिछ्ला $1 म॑)", + "pageinfo-recent-authors": "हाल ही म॑ लेखकऽ के संख्या", + "pageinfo-magic-words": "जादुई {{PLURAL:$1|शब्द}} ($1)", + "pageinfo-hidden-categories": "छुपलऽ {{PLURAL:$1|श्रेणी|श्रेणियाँ}} ($1)", + "pageinfo-templates": "प्रयुक्त {{PLURAL:$1|साँचा|साँचां}} ($1)", "pageinfo-toolboxlink": "पृष्ठ सूचना", + "pageinfo-contentpage": "सामग्री पृष्ठऽ म॑ गिनलऽ जाय छै", + "pageinfo-contentpage-yes": "हाँ", + "patrol-log-page": "परीक्षण लॉग", "previousdiff": " पुराना संपादन", "nextdiff": "टटका संपादन", + "widthheightpage": "$1 × $2, $3 {{PLURAL:$3|पृष्ठ|पृष्ठ सब}}", "file-info-size": "$1 × $2 चित्रतत्व, संचिका के आकार: $3, MIME प्रकार: $4", + "file-info-size-pages": "$1 × $2 पिक्सेल, फ़ाइल केरऽ आकार: $3 , MIME प्रकार: $4 , $5 {{PLURAL:$5| page|pages}}", "file-nohires": "स॑ ज्यादा रिज़ोल्यूशन उपलब्ध नै छै.", "svg-long-desc": "SVG फ़ाईल, साधारणत: $1 × $2 पीक्सेल्स, फ़ाईल केरॊ आकार: $3", "show-big-image": "संपूर्ण रिजोल्यूशन", @@ -799,16 +880,42 @@ "exif-orientation-1": "सामान्य", "namespacesall": "सब्भे", "monthsall": "सब्भे", + "imgmultipagenext": "अगला पृष्ठ →", + "imgmultigo": "जा !", + "imgmultigoto": "$1 पृष्ठ प॑ जा", + "watchlisttools-clear": "ध्यानसूची खाली करऽ", "watchlisttools-view": "प्रासंगिक बदलाव देखॊ", "watchlisttools-edit": "ध्यानसूची देखॊ आरू संपादित करॊ.", "watchlisttools-raw": "अनिर्मित ध्यानसूची देखॊ एवम्‌ संपादित करॊ", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|वार्ता]])", + "redirect": "फ़ाइल, सदस्य, पृष्ठ, अवतरण या लॉग आईडी द्वारा अनुप्रेषित", + "redirect-summary": "ई विशेष पृष्ठ एगो फाइल (फाइल नाम देलऽ गेलऽ छै), एक पृष्ठ (एक अवतरण पता अथवा पृष्ठ पता दिया गया), एक सदस्य पृष्ठ (एक संख्यात्मक सदस्य पता) अथवा एक लॉग प्रविष्टि (लॉग पता दिया गया) पर अनुप्रेषित होता है। उपयोग: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], अथवा [[{{#Special:Redirect}}/logid/186]].", + "redirect-submit": "चलऽ", + "redirect-lookup": "ढूँढऽ:", + "redirect-value": "मूल्य:", + "redirect-user": "सदस्य आई॰डी", + "redirect-page": "पृष्ठ आइ॰डी", + "redirect-revision": "पृष्ठ अवतरण संख्या", + "redirect-file": "फ़ाइल नाम", "specialpages": "खास पन्ना", "tag-filter": "[[Special:Tags|चिप्पी]] छननी:", "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|टैग}}]]: $2)", + "tags-active-yes": "हाँ", + "tags-active-no": "नै", + "tags-hitcount": "$1 {{PLURAL:$1|बदलाव|बदलाव सिनी}}", "logentry-delete-delete": "$1 न॑ पृष्ठ $3 {{GENDER:$2|हटाय}} देलकै", + "logentry-delete-restore": "$1 न॑ पृष्ठ $3 ($4) क॑ {{GENDER:$2|पुनर्स्थापित}} करी देलकै", + "logentry-delete-revision": "$1 न॑ $3 पृष्ठ के {{PLURAL:$5|एक अवतरण|$5 अवतरणों}} के दृश्यता {{GENDER:$2|बदललकै}}: $4", + "revdelete-content-hid": "सामग्री छिपैलऽ गेलै", "logentry-move-move": "$1 न॑ $3 पृष्ठ $4 पर {{GENDER:$2|स्थानांतरित}} करलकै", + "logentry-move-move-noredirect": "$1 न॑ $3 पर पुनर्निर्देश छोड़ल॑ बिना ओकरा $4 पर {{GENDER:$2|स्थानांतरित}} करलकै", + "logentry-move-move_redir": "$1 ने $4 स॑ पुनर्निर्देश हटायक॑ $3 क॑ ओकरा प॑ {{GENDER:$2|स्थानांतरित}} करलकै", + "logentry-patrol-patrol-auto": "$1 न॑ $3 पृष्ठ केरऽ $4 अवतरण क॑ स्वचालित रूप स॑ परीक्षित {{GENDER:$2|चिन्हित}} करलकै", "logentry-newusers-create": "यूजर खाता $1 {{GENDER:$2|बनैलऽ गेलै}}", + "logentry-newusers-autocreate": "खाता $1 स्वचालित रूप स॑ {{GENDER:$2|बनैलऽ}} गेलऽ छेलै", "logentry-upload-upload": "$1 {{GENDER:$2|अपलोड}} $3", - "searchsuggest-search": "खोजऽ" + "logentry-upload-overwrite": "$1 {{GENDER:$2|अपलोड करलऽ गेलै}} $3 केरऽ एगो नया अवतरण", + "searchsuggest-search": "{{SITENAME}} मं॑ खोजऽ", + "duration-days": "$1 {{PLURAL:$1|दिन}}", + "randomrootpage": "अविशिष्ट मूल पृष्ठ" } diff --git a/languages/i18n/ar.json b/languages/i18n/ar.json index 8404117ec5..e72bda0943 100644 --- a/languages/i18n/ar.json +++ b/languages/i18n/ar.json @@ -1066,7 +1066,7 @@ "timezoneregion-europe": "أوروبا", "timezoneregion-indian": "المحيط الهندي", "timezoneregion-pacific": "المحيط الهادي", - "allowemail": "مكن تلقي البريد الإلكتروني من المستخدمين الآخرين", + "allowemail": "اسمح للمستخدمين الآخرين بإرسال بريد إلكتروني إلي", "email-blacklist-label": "امنع هؤلاء المستخدمين من إرسال بريد إلكتروني لي:", "prefs-searchoptions": "البحث", "prefs-namespaces": "أسماء النطاقات", @@ -1346,7 +1346,7 @@ "recentchanges-submit": "أظهر", "rcfilters-tag-remove": "أزل '$1'", "rcfilters-legend-heading": "قائمة الاختصارات:", - "rcfilters-other-review-tools": "أدوات مراجعة أخرى", + "rcfilters-other-review-tools": "أدوات مراجعة أخرى", "rcfilters-group-results-by-page": "جمع النتائج حسب الصفحة", "rcfilters-grouping-title": "جمع", "rcfilters-activefilters": "المرشحات النشطة", @@ -1594,7 +1594,7 @@ "uploaded-script-svg": "تم العثور على عنصر سكريبت \"$1\" في ملف الSVG المرفوع.", "uploaded-hostile-svg": "تم العثور على CSS غير آمن في عنصر الشكل في ملف الSVG المرفوع.", "uploaded-event-handler-on-svg": "ضبط سمات معالج الأحداث $1=\"$2\" غير مسموح به في ملفات SVG.", - "uploaded-href-attribute-svg": "سمات href في ملفات SVG مسموح بوصلها فقط بأهداف http:// أو https:// ، تم العثور على <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": " العناصر يمكنها فقط وصل (href) للبيانات: (ملف مضمن)، أهداف http:// أو https://, أو fragment (#, same-document). للعناصر الأخرى، مثل ، فقط بيانات: و fragment مسموح بها. جرب تضمين الصور عند تصدير الSVG الخاص بك. تم العثور على <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "تم العثور على href لبيانات غير آمنة: هدف URI <$1 $2=\"$3\"> في ملف SVG المرفوع.", "uploaded-animate-svg": "تم العثور على وسم \"animate\" الذي ربما يكون يغير href, باستخدام سمة \"from\" <$1 $2=\"$3\"> في ملف SVG المرفوع.", "uploaded-setting-event-handler-svg": "ضبط سمات معالج الأحداث ممنوع، تم العثور على <$1 $2=\"$3\"> في ملف SVG المرفوع.", diff --git a/languages/i18n/ast.json b/languages/i18n/ast.json index 36c29a9224..5971a8e053 100644 --- a/languages/i18n/ast.json +++ b/languages/i18n/ast.json @@ -620,7 +620,7 @@ "anonpreviewwarning": "''Nun aniciasti sesión. Al guardar quedará rexistrada la to direición IP nel historial d'edición d'esta páxina.''", "missingsummary": "'''Recordatoriu:''' Nun conseñasti un resume d'edición.\nSi calques nuevamente \"$1\", la to edición guardaráse ensin nengún resume.", "selfredirect": "Atención: Tas redirixendo esta páxina a ella mesma.\nSeique conseñaras un oxetivu enquivocáu pa la redireición, o que teas editando una páxina enquivocada. Si vuelves a facer clic en «$1», crearáse la redireición de toles maneres.", - "missingcommenttext": "Por favor, escribi un comentariu abaxo.", + "missingcommenttext": "Escribi un comentariu.", "missingcommentheader": "Recordatoriu: Nun conseñasti un asuntu pa esti comentariu.\nSi calques nuevamente «$1», la to edición guardaráse ensin nengunu.", "summary-preview": "Vista previa del resume d'edición:", "subject-preview": "Vista previa del asuntu:", @@ -1010,8 +1010,8 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Océanu Índicu", "timezoneregion-pacific": "Océanu Pacíficu", - "allowemail": "Dexar a los otros usuarios mandate correos", - "email-blacklist-label": "Torgar a estos usuarios unviame correos electrónicos:", + "allowemail": "Permitir qu'otros usuarios m'unvien correos", + "email-blacklist-label": "Torgar qu'estos usuarios m'unvien correos electrónicos:", "prefs-searchoptions": "Buscar", "prefs-namespaces": "Espacios de nome", "default": "predetermináu", @@ -1291,7 +1291,7 @@ "recentchanges-submit": "Amosar", "rcfilters-tag-remove": "Desanicia '$1'", "rcfilters-legend-heading": "Llista d'abreviatures:", - "rcfilters-other-review-tools": "Otres ferramientes de revisión", + "rcfilters-other-review-tools": "Otres ferramientes de revisión", "rcfilters-group-results-by-page": "Agrupar resultancies per páxina", "rcfilters-grouping-title": "Agrupamientu", "rcfilters-activefilters": "Filtros activos", @@ -1304,7 +1304,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hora|hores}}", "rcfilters-highlighted-filters-list": "Resaltao: $1", "rcfilters-quickfilters": "Filtros guardaos", - "rcfilters-quickfilters-placeholder-title": "Entá nun se guardaron enllaces", + "rcfilters-quickfilters-placeholder-title": "Entá nun se guardó nengún filtru", "rcfilters-quickfilters-placeholder-description": "Pa guardar les preferencies del filtru y volver a usales sero, pulsia nel iconu del marcador del área de Filtru Activu más abaxo.", "rcfilters-savedqueries-defaultlabel": "Filtros guardaos", "rcfilters-savedqueries-rename": "Renomar", @@ -1344,7 +1344,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Non rexistraos", "rcfilters-filter-user-experience-level-unregistered-description": "Editores que nun tán coneutaos.", "rcfilters-filter-user-experience-level-newcomer-label": "Recién llegaos", - "rcfilters-filter-user-experience-level-newcomer-description": "Editores rexistraos con menos de 10 ediciones y 4 díes d'actividá.", + "rcfilters-filter-user-experience-level-newcomer-description": "Editores rexistraos que tienen menos de 10 ediciones o 4 díes d'actividá.", "rcfilters-filter-user-experience-level-learner-label": "Aprendices", "rcfilters-filter-user-experience-level-learner-description": "Editores rexistraos con esperiencia ente «Recién llegaos» y «Usuarios espertos».", "rcfilters-filter-user-experience-level-experienced-label": "Usuarios espertos", @@ -1539,7 +1539,7 @@ "uploaded-script-svg": "Alcontróse l'elementu «$1» que puede recibir scripts nel ficheru SVG xubíu.", "uploaded-hostile-svg": "Alcontróse CSS inseguru nel elementu d'estilu del ficheru SVG xubíu.", "uploaded-event-handler-on-svg": "Nun se permite configurar los atributos de controladores de socesos $1=\"$2\" nos ficheros SVG.", - "uploaded-href-attribute-svg": "Los atributos href de los ficheros SVG are sólo pueden enllazar a destinos http:// o https://, alcontróse <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": " los elementos solo pueden enllazar (href) con destinos «data:» (ficheru incrustáu), «http://», «https://» o de fragmentu («#», «same-document»). Pa otros elementos como , sólo se permiten «data:» y fragmentu. Tenta incrustar les imaxes al esportar el SVG. Atopóse <$1 $2=\"$3\">", "uploaded-href-unsafe-target-svg": "Alcontróse un href a datos inseguros: la URI de destín <$1 $2=\"$3\"> nel ficheru SVG xubíu.", "uploaded-animate-svg": "Alcontróse la etiqueta \"animate\" que puede cambiar href, usando l'atributu \"from\" <$1 $2=\"$3\"> nel ficheru SVG xubíu.", "uploaded-setting-event-handler-svg": "Ta torgada la configuración d'atributos del xestor de socesos. Alcontróse <$1 $2=\"$3\"> nel ficheru SVG xubíu.", diff --git a/languages/i18n/az.json b/languages/i18n/az.json index 999a6bdda4..84a844868a 100644 --- a/languages/i18n/az.json +++ b/languages/i18n/az.json @@ -211,6 +211,8 @@ "talk": "Müzakirə", "views": "Görünüş", "toolbox": "Alətlər", + "tool-link-userrights": "{{GENDER:$1|İstifadəçi}} qruplarını dəyişdir", + "tool-link-userrights-readonly": "İstifadəçi qruplarına bax", "imagepage": "Fayl səhifəsini göstər", "mediawikipage": "Mesaj səhifəsini göstər", "templatepage": "Şablon səhifəsini göstər", @@ -447,7 +449,7 @@ "throttled-mailpassword": "Bir parol sıfırlama e-poçtu son {{PLURAL:$1|bir saat|$1 saat}} içində zatən göndərildi. Xidməti pis niyyətlə istifadə etməyi önləmək üçün, hər {{PLURAL:$1|bir saatda|$1 saatda}} sadəcə bir parol sıfırlama e-poçtu göndəriləcəkdir.", "mailerror": "Məktub göndərmə xətası: $1", "acct_creation_throttle_hit": "Sizin IP ünvanınızdan bu vikidə son $2 ərzində {{PLURAL:$1|1 hesab|$1 hesab}} açılmışdır və bu, həmin müddət ərzində icazə verilən maksimum saydır.\nBu səbəbdən, bu IP ünvanı istifadə edən istifadəçilər hal-hazırda başqa hesab aça bilməzlər.", - "emailauthenticated": "E-poçt ünvanınız $2 saat $3 tarixində təsdiq edilib.", + "emailauthenticated": "E-poçt ünvanınız $3, $2 tarixində təsdiq edilib.", "emailnotauthenticated": "E-poçt ünvanınız təsdiq edilməyib.\nAşağıdakı xidmətlərin heç biri üçün Sizə e-məktub göndərilməyəcək.", "noemailprefs": "Bu xidmətlərdən yararlanmaq üçün nizamlamalarında E-məktub ünvanını göstər.", "emailconfirmlink": "E-poçt ünvanını təsdiq et", @@ -826,6 +828,7 @@ "prefs-custom-css": "Xüsusi CSS", "prefs-custom-js": "Xüsusi JavaScript", "prefs-common-css-js": "Bütün skinlər üçün ümumi CSS/JavaScript:", + "prefs-reset-intro": "Bu səhifəni nizamlamalarınızı ilkin vəziyyətə gətirmək üçün istifadə edə bilərsiniz. Bu əməliyyat geri qaytarıla bilməz.", "prefs-emailconfirm-label": "E-poçtun təsdiqlənməsi:", "youremail": "E-məktub:", "username": "{{GENDER:$1|İstifadəçi adı}}:", @@ -869,9 +872,11 @@ "editusergroup": "İstifadəçi qruplarını yüklə", "editinguser": "İstifadəçi [[User:$1|$1]] $2 üçün istifadəçi hüquqları dəyişdirilir", "userrights-editusergroup": "İstifadəçinin qruplarını redaktə et", + "userrights-viewusergroup": "İstifadəçi qruplarına bax", "saveusergroups": "{{GENDER:$1|İstifadəçi}} qruplarını qeyd et", "userrights-groupsmember": "Daxil olduğu qruplar:", "userrights-groupsmember-auto": "Güman edilən üzv:", + "userrights-groups-help": "Bu istifadəçinin daxil olduğu qrupları dəyişdirə bilərsiniz:\n* İşarələnmiş qutucuq istifadəçinin o qrupa daxil olduğunu bildirir.\n* Seçilməmiş qutucuq istifadəçinin o qrupa daxil olmadığını bildirir.\n* * simvolu istifadəçini bir dəfə əlavə etdikdən və ya çıxardıqdan sonra bu əməliyyatın əksini yerinə yetirə bilməyəcəyinizi göstərir.\n* # simvolu bu qrupda üzvlük müddətini uzada biləcəyinizi, lakin qısalda bilməyəcəyinizi göstərir.", "userrights-reason": "Səbəb:", "userrights-no-interwiki": "Sizə başqa vikilayihələrdəki istifadəçilərin statusunu dəyişməyə icazə verilməyib", "userrights-nodatabase": "$1 verilənlər bazası ya mövcud deyil, ya da lokal deyil.", @@ -1004,7 +1009,7 @@ "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (həmçinin bax: [[Special:NewPages|yeni səhifələrin siyahısı]])", "recentchanges-submit": "Göstər", "rcfilters-legend-heading": "Abreviaturalar siyahısı:", - "rcfilters-other-review-tools": "Digər yoxlama alətləri", + "rcfilters-other-review-tools": "Digər yoxlama alətləri", "rcfilters-group-results-by-page": "Dəyişiklikləri səhifələrə görə qruplaşdır", "rcfilters-grouping-title": "Qruplaşdırma", "rcfilters-activefilters": "Aktiv filtrlər", @@ -1450,6 +1455,7 @@ "restricted-displaytitle-ignored": "İmtina edilmiş görüntü başlıqlarına malik səhifələr", "mailnologin": "Ünvan yoxdur", "emailuser": "İstifadəçiyə e-məktub göndər", + "emailuser-title-target": "Bu {{GENDER:$1|istifadəçiyə}} e-məktub göndər", "defemailsubject": "\"$1\" adlı istifadəçidən {{SITENAME}} e-məktubu", "usermaildisabled": "İstifadəçi e-maili işləmir", "noemailtitle": "E-məktub ünvanı yoxdur", diff --git a/languages/i18n/ba.json b/languages/i18n/ba.json index c48c95259b..e78f50f985 100644 --- a/languages/i18n/ba.json +++ b/languages/i18n/ba.json @@ -1296,13 +1296,13 @@ "recentchanges-submit": "Күрһәтергә", "rcfilters-tag-remove": "'$1'юй", "rcfilters-legend-heading": "Ҡыҫҡартыуҙар теҙмәһе:", - "rcfilters-other-review-tools": "Тикшереүҙең башҡа ҡоралдары", + "rcfilters-other-review-tools": "Тикшереүҙең башҡа ҡоралдары", "rcfilters-group-results-by-page": "Төркөмдөң төрлө биттәге һөҙөмтәләре", "rcfilters-grouping-title": "Төркөмләштереү", "rcfilters-activefilters": "Әүҙем фильтрҙар", "rcfilters-advancedfilters": "Киңәйтелгән фильтрҙар", "rcfilters-limit-title": "Күрһәтеү өсөн үҙгәртеүҙәр", - "rcfilters-limit-shownum": "Һуңғы {{PLURAL:$1 үҙгәреште}} күрһәтергә", + "rcfilters-limit-shownum": "Һуңғы {{PLURAL:$1}} үҙгәреште күрһәтергә", "rcfilters-days-title": "Аҙаҡҡы көндәр", "rcfilters-hours-title": "Аҙаҡҡы сәғәттәр", "rcfilters-days-show-days": "$1 {{PLURAL:$1|көн}}", diff --git a/languages/i18n/be-tarask.json b/languages/i18n/be-tarask.json index 396e8da2f9..edab7c0db6 100644 --- a/languages/i18n/be-tarask.json +++ b/languages/i18n/be-tarask.json @@ -621,7 +621,7 @@ "anonpreviewwarning": "Вы не ўвайшлі ў сыстэму. Па захаваньні старонкі ваш IP-адрас будзе дададзены ў яе гісторыю рэдагаваньняў.", "missingsummary": "'''Напамін:''' Вы не пазначылі кароткае апісаньне зьменаў.\nКалі Вы націсьніце кнопку «Запісаць» яшчэ раз, Вашае рэдагаваньне будзе запісанае без апісаньня.", "selfredirect": "Папярэджаньне: вы перанакіроўваеце старонку саму на сябе.\nМагчыма, вы пазначылі няслушную старонку для перанакіраваньня або вы рэдагуеце ня тую старонку.\nКалі вы націсьніце «$1» яшчэ раз, перанакіраваньне будзе створанае.", - "missingcommenttext": "Калі ласка, увядзіце камэнтар ніжэй.", + "missingcommenttext": "Калі ласка, увядзіце камэнтар.", "missingcommentheader": "Напамін: Вы не пазначылі загаловак камэнтара. Калі Вы націсьніце кнопку «$1» яшчэ раз, Вашая зьмена будзе захаваная без камэнтара.", "summary-preview": "Папярэдні прагляд апісаньня зьменаў:", "subject-preview": "Папярэдні прагляд загалоўку:", @@ -970,14 +970,14 @@ "prefs-editwatchlist-raw": "Рэдагаваць нефарматаваны сьпіс назіраньня", "prefs-editwatchlist-clear": "Ачысьціць ваш сьпіс назіраньня", "prefs-watchlist-days": "Колькасьць дзён для паказу ў сьпісе назіраньня:", - "prefs-watchlist-days-max": "(максымальна $1 {{PLURAL:$1|дзень|дні|дзён}})", + "prefs-watchlist-days-max": "Максымальна $1 {{PLURAL:$1|дзень|дні|дзён}}", "prefs-watchlist-edits": "Максымальная колькасьць зьменаў для паказу ў сьпісе назіраньня:", "prefs-watchlist-edits-max": "Максымальная колькасьць: 1000", - "prefs-watchlist-token": "Сакрэтны ключ сьпісу назіраньня:", + "prefs-watchlist-token": "Ключ сьпісу назіраньня:", "prefs-misc": "Рознае", "prefs-resetpass": "Зьмяніць пароль", "prefs-changeemail": "Зьмяніць ці выдаліць адрас электроннай пошты", - "prefs-setemail": "Устанавіць адрас электроннай пошты", + "prefs-setemail": "Вызначыць адрас электроннай пошты", "prefs-email": "Налады электроннай пошты", "prefs-rendering": "Выгляд", "saveprefs": "Захаваць", @@ -1010,7 +1010,7 @@ "timezoneregion-europe": "Эўропа", "timezoneregion-indian": "Індыйскі акіян", "timezoneregion-pacific": "Ціхі акіян", - "allowemail": "Дазволіць атрыманьне лістоў ад іншых удзельнікаў і ўдзельніц", + "allowemail": "Дазволіць іншым удзельнікам і ўдзельніцам дасылаць мне лісты электроннай поштай", "email-blacklist-label": "Забараніць гэтым удзельнікам дасылаць мне лісты электроннай поштай:", "prefs-searchoptions": "Пошук", "prefs-namespaces": "Прасторы назваў", @@ -1290,7 +1290,7 @@ "recentchanges-submit": "Паказаць", "rcfilters-tag-remove": "Выдаліць «$1»", "rcfilters-legend-heading": "Сьпіс абрэвіятураў:", - "rcfilters-other-review-tools": "Іншыя інструмэнты праверкі", + "rcfilters-other-review-tools": "Іншыя інструмэнты праверкі", "rcfilters-group-results-by-page": "Групаваць вынікі паводле старонак", "rcfilters-grouping-title": "Групаваньне", "rcfilters-activefilters": "Актыўныя фільтры", @@ -1303,7 +1303,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|гадзіна|гадзіны|гадзінаў}}", "rcfilters-highlighted-filters-list": "Вылучана: $1", "rcfilters-quickfilters": "Захаваныя фільтры", - "rcfilters-quickfilters-placeholder-title": "Спасылкі яшчэ не захаваныя", + "rcfilters-quickfilters-placeholder-title": "Яшчэ няма захаваных фільтраў", "rcfilters-quickfilters-placeholder-description": "Каб захаваць налады вашага фільтру і выкарыстаць іх пазьней, націсьніце на выяву закладкі ў зоне актыўнага фільтру ніжэй.", "rcfilters-savedqueries-defaultlabel": "Захаваныя фільтры", "rcfilters-savedqueries-rename": "Перайменаваць", @@ -1343,7 +1343,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Незарэгістраваныя", "rcfilters-filter-user-experience-level-unregistered-description": "Рэдактары, якія не ўвайшлі ў сыстэму", "rcfilters-filter-user-experience-level-newcomer-label": "Навічкі", - "rcfilters-filter-user-experience-level-newcomer-description": "Зарэгістраваныя рэдактары зь менш чым 10 праўкамі і 4 днямі актыўнасьці.", + "rcfilters-filter-user-experience-level-newcomer-description": "Зарэгістраваныя рэдактары, якія маюць менш чым 10 правак ці 4 дні актыўнасьці.", "rcfilters-filter-user-experience-level-learner-label": "Вучні", "rcfilters-filter-user-experience-level-learner-description": "Зарэгістраваныя рэдактары, чый досьвед больш чым у «навічкоў», але меней чым у «дасьведчаных удзельнікаў».", "rcfilters-filter-user-experience-level-experienced-label": "Дасьведчаныя ўдзельнікі", @@ -1538,7 +1538,7 @@ "uploaded-script-svg": "У загружаным SVG-файле знойдзены небясьпечны элемэнт з падтрымкай сцэнароў «$1».", "uploaded-hostile-svg": "Знойдзены небясьпечны CSS у элемэнце стылю загружанага SVG-файла.", "uploaded-event-handler-on-svg": "Усталёўваць атрыбуты апрацоўніка падзеяў $1=\"$2\" не дазволена для SVG-файлаў.", - "uploaded-href-attribute-svg": "href-атрыбутам у SVG-файлах дазволена весьці толькі на http:// ці https://, знойдзена <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": " элемэнты могуць толькі спасылацца (href) на зьвесткі: (укладзены файл), http:// ці https://, ці фрагмэнт (#, той жа дакумэнт). Для іншых элемэнтаў, такіх як , толькі зьвесткі: фрагмэнты дазволеныя. Паспрабуйце ўкладзеныя выявы, калі экспартуеце ваш SVG. Знойдзена <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "У загружаным SVG-файле знойдзеная спасылка на небясьпечныя зьвесткі: URI-мэты <$1 $2=\"$3\">.", "uploaded-animate-svg": "У загружаным SVG-файле знойдзены тэг «animate», які можа зьмяняць спасылку з дапамогай атрыбуту «from» <$1 $2=\"$3\">.", "uploaded-setting-event-handler-svg": "Усталёўка атрыбутаў апрацоўкі падзеяў заблякаваная, у загружаным SVG-файле знойдзены код <$1 $2=\"$3\">.", @@ -2746,7 +2746,7 @@ "pageinfo-few-watchers": "Менш за $1 {{PLURAL:$1|назіральніка|назіральнікі|назіральнікаў}}", "pageinfo-few-visiting-watchers": "Могуць быць, а могуць ня быць удзельнікі, якія назіраюць за старонкай і бачылі апошнія зьмены", "pageinfo-redirects-name": "Перанакіраваньняў на гэтую старонку", - "pageinfo-subpages-name": "Колькасьць падстаронак", + "pageinfo-subpages-name": "Колькасьць падстаронак гэтай старонкі", "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|перанакіраваньне|перанакіраваньні|перанакіраваньняў}}; $3 {{PLURAL:$3|звычайная|звычайныя|звычайных}})", "pageinfo-firstuser": "Стваральнік старонкі", "pageinfo-firsttime": "Дата стварэньня старонкі", diff --git a/languages/i18n/be.json b/languages/i18n/be.json index 9a6dd509d5..7e4665b84e 100644 --- a/languages/i18n/be.json +++ b/languages/i18n/be.json @@ -82,7 +82,6 @@ "underline-never": "Ніколі", "underline-default": "Як у браўзеры", "editfont-style": "Шрыфт у абшары праўкі:", - "editfont-default": "Як у браўзеры", "editfont-monospace": "Роўна-шырокі", "editfont-sansserif": "Без засечак", "editfont-serif": "З засечкамі", @@ -690,7 +689,6 @@ "explainconflict": "Нехта іншы змяніў старонку пасля таго, як вы пачалі працу з ёю.\nВерхняе тэкставае поле паказвае актуальны зыходны тэкст старонкі.\nВашы праўкі паказаны ў ніжнім тэкставым полі.\nВам трэба будзе далучыць іх да актуальнага зыходнага тэксту.\nКалі націснуць \"$1\", будзе запісаны '''толькі''' тэкст у верхнім полі.", "yourtext": "Свой тэкст", "storedversion": "Захаваная версія", - "nonunicodebrowser": "Увага: ваш браўзер не працуе з Unicode-кадаваннем. Каб вы маглі карэктна правіць старонкі, усе знакі, не ўключаныя ў ASCII, паказваюцца ў рэдактарскім акне як шаснаццаткавыя коды.", "editingold": "Увага: Вы правіце састарэлую версію гэтай старонкі.\nКалі Вы паспрабуеце захаваць яе, то страціце змены ў артыкуле, зробленыя пасля колішняга запісу гэтай версіі.", "yourdiff": "Адрозненні", "copyrightwarning": "Заўважце, што ўсе ўклады на {{GRAMMAR:месны|{{SITENAME}}}} лічацца выданымі на ўмовах $2 (гл. падрабязнасці на $1). Калі вы не жадаеце, каб вашыя матэрыялы бязлітасна правіліся, і свабодна распаўсюджваліся, то і не аддавайце іх сюды.
    \nТаксама вы нам абяцаеце, што напісалі гэта самі, або скапіравалі з рэсурсу, які знаходзіцца ў публічнай уласнасці, або з аналагічнага свабоднага рэсурсу.\nНельга без дазволу дадаваць матэрыялы, абароненыя аўтарскім правам!", @@ -751,7 +749,7 @@ "expensive-parserfunction-warning": "Увага: На старонцы занадта шмат працаёмістых зваротаў да парсера.\n\nТрэба, каб зваротаў было меней за $2, а зараз ёсць $1.", "expensive-parserfunction-category": "Старонкі, дзе шмат працаёмістых зваротаў да парсера", "post-expand-template-inclusion-warning": "Увага: аб'ём улучанага шаблона занадта вялікі.\nНекаторыя шаблоны не будуць улучаныя.", - "post-expand-template-inclusion-category": "Старонкі, на якіх перавышаны максімальны аб'ём шаблона", + "post-expand-template-inclusion-category": "Старонкі, на якіх перавышаны максімальны аб’ём шаблона", "post-expand-template-argument-warning": "Увага: на гэтай старонцы ёсць прынамсі адзін параметр шаблона, які занадта доўгі ў разгорнутым выглядзе.\nТакія параметры былі прапушчаныя.", "post-expand-template-argument-category": "Старонкі, на якіх прапушчаны параметры шаблонаў", "parser-template-loop-warning": "Цыклічнае ўключэнне шаблона: [[$1]]", @@ -2232,7 +2230,6 @@ "block": "Заблакаваць удзельніка", "unblock": "Разблакаваць удзельніка", "blockip": "Заблакаваць {{GENDER:$1|удзельніка|удзельніцу}}", - "blockip-legend": "Заблакаваць удзельніка", "blockiptext": "Гэты фармуляр дазваляе заблакаваць магчымасць запісу для пэўнага адрасу IP ці імя ўдзельніка.\nГэта трэба рабіць толькі дзеля засцерагання ад вандалізму і ў адпаведнасці з [[{{MediaWiki:Policy-url}}|правіламі]].\nНіжэй трэба ўпісаць канкрэтную прычыну (напрыклад, пералічваючы канкрэтныя старонкі, якія былі вандалізаваныя).", "ipaddressorusername": "IP-адрас ці імя ўдзельніка:", "ipbexpiry": "Згасае:", @@ -3348,6 +3345,7 @@ "compare-invalid-title": "Абраная вамі назва недапушчальная.", "compare-title-not-exists": "Не існуе названай вамі назвы.", "compare-revision-not-exists": "Паказанай вамі версіі не існуе.", + "diff-form": "'''фармуляр'''", "dberr-problems": "Прабачце, на пляцоўцы здарыліся тэхнічныя цяжкасці.", "dberr-again": "Паспрабуйце перачытаць праз некалькі хвілін.", "dberr-info": "(Немагчыма звязацца з базай даных: $1)", diff --git a/languages/i18n/bg.json b/languages/i18n/bg.json index 7d32a40075..352aaec619 100644 --- a/languages/i18n/bg.json +++ b/languages/i18n/bg.json @@ -1223,6 +1223,7 @@ "action-deleterevision": "изтриване на версии", "action-deletelogentry": "изтриване на записи от дневника", "action-deletedhistory": "преглед на изтритата история на тази страница", + "action-deletedtext": "преглед на текста на изтритата версия", "action-browsearchive": "търсене на изтрити страници", "action-undelete": "възстановяване на страници", "action-suppressrevision": "преглеждане и възстановяване на скрити версии", @@ -1248,6 +1249,7 @@ "action-editcontentmodel": "редактиране на модела на съдържанието на страница", "action-managechangetags": "създаване и (де)активиране на етикети", "action-applychangetags": "прилагане на етикетите заедно с промените ви", + "action-deletechangetags": "изтриване на етикети от базата от данни", "action-purge": "почисти кеша на тази страница", "nchanges": "$1 {{PLURAL:$1|промяна|промени}}", "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|от последното посещение}}", @@ -1267,7 +1269,7 @@ "recentchanges-submit": "Показване", "rcfilters-tag-remove": "Премахване на '$1'", "rcfilters-legend-heading": "Списък на съкращенията:", - "rcfilters-other-review-tools": "Други инструменти за проверка", + "rcfilters-other-review-tools": "Други инструменти за проверка", "rcfilters-group-results-by-page": "Групиране на резултатите по страница", "rcfilters-grouping-title": "Групиране", "rcfilters-activefilters": "Активни филтри", @@ -1280,7 +1282,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|час|часа}}", "rcfilters-highlighted-filters-list": "Маркирани: $1", "rcfilters-quickfilters": "Запазени филтри", - "rcfilters-quickfilters-placeholder-title": "Няма запазени препратки", + "rcfilters-quickfilters-placeholder-title": "Няма запазени филтри", "rcfilters-quickfilters-placeholder-description": "За да запазите настройките на филтрите и да ги използвате повторно по-късно, щракнете върху иконката за отметки в блока „Активни филтри“ по-долу.", "rcfilters-savedqueries-defaultlabel": "Съхранени филтри", "rcfilters-savedqueries-rename": "Преименуване", @@ -1344,6 +1346,8 @@ "rcfilters-filter-watchlist-watchednew-description": "Промени в страниците от списъка за наблюдение, които не сте посетили от извършването им.", "rcfilters-filter-watchlist-notwatched-label": "Извън списъка за наблюдение", "rcfilters-filter-watchlist-notwatched-description": "Всички, освен промените в страници от списъка за наблюдение.", + "rcfilters-filtergroup-watchlistactivity": "Активност по списъка за наблюдение", + "rcfilters-filter-watchlistactivity-unseen-label": "Невидяни промени", "rcfilters-filter-watchlistactivity-seen-label": "Видени промени", "rcfilters-filtergroup-changetype": "Вид на промяната", "rcfilters-filter-pageedits-label": "Редакции на страници", @@ -1354,7 +1358,7 @@ "rcfilters-filter-categorization-description": "Записи от добавяне или премахване на страници от категории.", "rcfilters-filter-logactions-label": "Записани в дневника действия", "rcfilters-filter-logactions-description": "Административни действия, създавания на сметки, изтривания на страници, качвания...", - "rcfilters-filtergroup-lastRevision": "Текуща версия", + "rcfilters-filtergroup-lastRevision": "Текущи версии", "rcfilters-filter-lastrevision-label": "Текуща версия", "rcfilters-filter-lastrevision-description": "Последната промяна на страница.", "rcfilters-filter-previousrevision-label": "По-ранни версии", @@ -1368,12 +1372,15 @@ "rcfilters-view-namespaces-tooltip": "Филтриране на резултатите по именни пространства", "rcfilters-view-tags-tooltip": "Филтриране на резултатите по етикети на редакциите", "rcfilters-view-return-to-default-tooltip": "Назад към главното меню на филтрите", + "rcfilters-view-tags-help-icon-tooltip": "Научете повече за Етикетираните редакции", "rcfilters-liveupdates-button": "Обновявания на живо", "rcfilters-liveupdates-button-title-off": "Показване на новите промени в реално време", "rcfilters-watchlist-markseen-button": "Отбелязване на всички промени като видени", + "rcfilters-watchlist-edit-watchlist-button": "Редактиране на списъка за наблюдение", "rcfilters-preference-label": "Скриване на подобрената версия на Последни промени", "rcfilters-preference-help": "Премахва новия дизайн на интерфейса от 2017 г. и всички инструменти, добавени тогава и след това.", "rcnotefrom": "{{PLURAL:$5|Дадена е промяната|Дадени са промените}} от $3, $4 (до $1 показани).", + "rclistfromreset": "Нулиране на избора на дата", "rclistfrom": "Показване на промени, като се започва от $3 $2", "rcshowhideminor": "$1 на малки промени", "rcshowhideminor-show": "Показване", @@ -1489,6 +1496,9 @@ "uploaddisabledtext": "Качването на файлове е забранено.", "php-uploaddisabledtext": "Качванията на файлове са спрени в PHP.\nПроверете настройката file_uploads.", "uploadscripted": "Файлът съдържа HTML или скриптов код, който може да бъде погрешно интерпретиран от браузъра.", + "uploaded-script-svg": "Намерен е скриптов елемент „$1“ в качения SVG файл.", + "uploaded-hostile-svg": "Намерен е несигурен CSS в стиловия елемент на качения SVG файл.", + "uploaded-event-handler-on-svg": "Поставянето на event-handler атрибути $1=\"$2\" не е позволено в SVG файлове.", "uploadscriptednamespace": "Този SVG файл съдържа неправилно именно пространство „$1“", "uploadinvalidxml": "XML-кода в качения файл не може да бъде анализиран.", "uploadvirus": "Файлът съдържа вирус! Подробности: $1", @@ -1533,6 +1543,7 @@ "upload-form-label-not-own-work-message-generic-foreign": "Ако не можете да качите този файл в съответствие с правилата на споделеното хранилище, моля, затворете този прозорец и опитайте друг метод.", "backend-fail-notexists": "Файлът „$1“ не съществува.", "backend-fail-delete": "Файлът „$1“ не може да бъде изтрит.", + "backend-fail-describe": "Метаданните не могат да бъдат променени за файл „$1“.", "backend-fail-alreadyexists": "Файлът „$1“ вече съществува.", "backend-fail-store": "Файлът „$1“ не може да бъде съхранен в „$2“.", "backend-fail-copy": "Файлът „$1“ не можа да бъде копиран в „$2“.", @@ -1543,6 +1554,8 @@ "backend-fail-read": "Файлът $1 не може да бъде прочетен.", "backend-fail-create": "Файлът „$1“ не може да бъде съхранен.", "backend-fail-maxsize": "Файлът „$1“ не може да бъде съхранен, тъй като размерът му надвишава {{PLURAL:$2|един байт|$2 байт}}.", + "backend-fail-connect": "Не е възможно свързването към бекенда за съхранение „1“.", + "backend-fail-internal": "Възникна неизвестна грешка в бекенда за съхранение „1“.", "zip-file-open-error": "Възникна грешка при отваряне на файла за проверка на ZIP.", "zip-wrong-format": "Указаният файл не е ZIP файл.", "zip-bad": "Файлът е повреден или е нечетим ZIP файл.\nСигурността му не може да бъде проверена.", @@ -1666,6 +1679,7 @@ "listredirects": "Списък на пренасочванията", "listduplicatedfiles": "Списък на повтарящи се файлове", "listduplicatedfiles-summary": "Това е списък на файловете, за които последната версия е дубликат с последната версия на друг файл. Показани са само локалните файлове.", + "listduplicatedfiles-entry": "[[:File:$1|$1]] има [[$3|{{PLURAL:$2|дубликат|$2 дубликата}}]].", "unusedtemplates": "Неизползвани шаблони", "unusedtemplatestext": "Тази страница съдържа списък на страниците в именно пространство {{ns:template}}, които не са включени в друга страница. Проверявайте за препратки към отделните шаблони преди да ги изтриете или предложите за изтриване.", "unusedtemplateswlh": "други препратки", @@ -1697,6 +1711,8 @@ "pageswithprop-legend": "Страници с page property", "pageswithprop-text": "На тази страница са показани всички страници, които използват page property.", "pageswithprop-prop": "Име на свойството:", + "pageswithprop-reverse": "Подреждане в обратен ред", + "pageswithprop-sortbyvalue": "Подреждане по стойност на свойството", "pageswithprop-submit": "Отваряне", "doubleredirects": "Двойни пренасочвания", "doubleredirectstext": "Тази страница съдържа списък със страници, които пренасочват към друга пренасочваща страница.\nВсеки ред съдържа препратки към първото и второто пренасочване, както и целта на второто пренасочване, която обикновено е „истинската“ целева страница, към която първото пренасочване би трябвало да сочи.\nЗадрасканите записи са коригирани.", @@ -1810,6 +1826,8 @@ "apisandbox-dynamic-parameters-add-label": "Добавяне на параметър:", "apisandbox-dynamic-parameters-add-placeholder": "Име на параметъра", "apisandbox-dynamic-error-exists": "Параметър с име „$1“ вече съществува.", + "apisandbox-deprecated-parameters": "Остарели параметри", + "apisandbox-fetch-token": "Автоматично попълване на маркера", "apisandbox-submit-invalid-fields-title": "Някои полета са невалидни", "apisandbox-submit-invalid-fields-message": "Моля, поправете маркираните полета и опитайте пак.", "apisandbox-results": "Резултати", @@ -1818,6 +1836,8 @@ "apisandbox-request-url-label": "URL-адрес на заявката:", "apisandbox-request-json-label": "JSON заявка:", "apisandbox-request-time": "Време на заявката: {{PLURAL:$1|$1 ms}}", + "apisandbox-alert-page": "Полета на тази страница не са валидни.", + "apisandbox-alert-field": "Стойността на това поле не е валидна.", "apisandbox-continue": "Продължаване", "apisandbox-continue-clear": "Изчистване", "apisandbox-multivalue-all-namespaces": "$1 (Всички именни пространства)", @@ -1827,6 +1847,7 @@ "booksources-search": "Търсене", "booksources-text": "По-долу е списъкът от връзки към други сайтове, продаващи нови и използвани книги или имащи повече информация за книгите, които търсите:", "booksources-invalid-isbn": "Предоставеният ISBN изглежда е невалиден; проверете за грешки и копирайте от оригиналния източник.", + "magiclink-tracking-rfc": "Страници, използващи вълшебни препратки RFC", "magiclink-tracking-pmid": "Страници, използващи вълшебни препратки PMID", "magiclink-tracking-pmid-desc": "Тази страница използва вълшебни препратки PMID. Вижте [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] как да ги пренесете.", "magiclink-tracking-isbn": "Страници, използващи вълшебни препратки ISBN", @@ -1911,6 +1932,7 @@ "trackingcategories-msg": "Категория за проследяване", "trackingcategories-name": "Име на съобщението", "trackingcategories-desc": "Критерий за включване на категория", + "restricted-displaytitle-ignored": "Страници с игнорирани заглавия за показване", "trackingcategories-nodesc": "Няма налично описание.", "trackingcategories-disabled": "Категорията е деактивирана", "mailnologin": "Няма електронна поща", @@ -2029,6 +2051,7 @@ "rollbacklinkcount": "отмяна на $1 {{PLURAL:$1|редакция|редакции}}", "rollbacklinkcount-morethan": "отмяна на повече от $1 {{PLURAL:$1|редакция|редакции}}", "rollbackfailed": "Отмяната не сполучи", + "rollback-missingrevision": "Данните за версията не могат да бъдат заредени.", "cantrollback": "Не може да се извърши отмяна на редакциите. Последният редактор е и единствен автор на страницата.", "alreadyrolled": "Редакцията на [[:$1]], направена от [[User:$2|$2]] ([[User talk:$2|Беседа]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]), не може да бъде отменена. Някой друг вече е редактирал страницата или е отменил промените.\n\nПоследната редакция е на [[User:$3|$3]] ([[User talk:$3|Беседа]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).", "editcomment": "Резюмето на редакцията беше: $1.", @@ -2045,9 +2068,14 @@ "changecontentmodel-submit": "Променяне", "changecontentmodel-success-title": "Моделът на съдържанието беше променен", "changecontentmodel-success-text": "Типът на съдържанието на [[:$1]] е успешно променен.", + "changecontentmodel-cannot-convert": "Съдържанието на [[:$1]] не може да преобразувано в тип $2.", + "changecontentmodel-nodirectediting": "Моделът на съдържание $1 не поддържа пряко редактиране", + "changecontentmodel-emptymodels-title": "Не са налични модели на съдържание", + "changecontentmodel-emptymodels-text": "Съдържанието в [[:$1]] не може да бъде превърнато в никакъв тип.", "log-name-contentmodel": "Дневник на промените на модела на съдържанието", "log-description-contentmodel": "Страницата показва промените в модела на съдържанието на страниците и страниците, създадени с модел на съдържанието различен от този по подразбиране.", "logentry-contentmodel-new": "$1 {{GENDER:$2|създаде}} страницата $3, използвайки модел на съдържанието „$5“, който не е по подразбиране", + "logentry-contentmodel-change": "$1 {{GENDER:$2|промени}} модела на съдържание на страница $3 от „$4“ на „$5“", "logentry-contentmodel-change-revertlink": "връщане", "logentry-contentmodel-change-revert": "връщане", "protectlogpage": "Дневник на защитата", @@ -2238,7 +2266,9 @@ "blocklist": "Блокирани потребители", "autoblocklist": "Автоматични блокирания", "autoblocklist-submit": "Търсене", + "autoblocklist-legend": "Списък на автоматични блокирания", "autoblocklist-localblocks": "{{PLURAL:$1|Локално автоматично блокиране|Локални автоматични блокирания}}", + "autoblocklist-total-autoblocks": "Общ брой автоматични блокирания: $1", "autoblocklist-empty": "Списъкът на автоматичните блокирания е празен.", "ipblocklist": "Блокирани потребители", "ipblocklist-legend": "Търсене на блокиран потребител", @@ -2297,6 +2327,7 @@ "ipb_blocked_as_range": "Грешка: IP-адресът $1 не може да бъде разблокиран, тъй като е част от блокирания регистър $2. Можете да разблокирате адреса, като разблокирате целия регистър.", "ip_range_invalid": "Невалиден интервал за IP-адреси.", "ip_range_toolarge": "Забранено е блокиране на диапазони от IP адреси по-големи от /$1.", + "ip_range_exceeded": "IP диапазонът превишава максималния диапазон. Позволен диапазон: /$1.", "proxyblocker": "Блокировач на проксита", "proxyblockreason": "IP-адресът ви беше блокиран, тъй като е анонимно достъпен междинен сървър. Свържете се с доставчика ви на интернет и го информирайте за този сериозен проблем в сигурността.", "sorbsreason": "IP-адресът ви е записан като анонимно достъпен междинен сървър в DNSBL на {{SITENAME}}.", @@ -3032,7 +3063,7 @@ "confirmemail_loggedin": "Адресът Ви за електронна поща беше потвърден.", "confirmemail_subject": "{{SITENAME}} – Потвърждаване на адрес за е-поща", "confirmemail_body": "Някой, вероятно Вие, от IP-адрес $1, е регистрирал потребител „$2“ в {{SITENAME}}, като е посочил този адрес за електронна поща.\n\nЗа да потвърдите, че сметката в {{SITENAME}} и настоящият пощенски адрес са Ваши, заредете долната препратка в браузъра си:\n\n$3\n\nАко някой друг е направил регистрацията в {{SITENAME}} и не желаете да я потвърждавате, последвайте препратката по-долу:\n\n$5\n\nКодът за потвърждение ще загуби валидност след $4.", - "confirmemail_body_changed": "Някой, вероятно Вие, от IP адрес $1,\nе променил с този адрес електронната поща, свързана с потребителска сметка \"$2\" в {{SITENAME}}.\n\nЗа да потвърдите, че тази потребителска сметка ви принадлежи и да активирате отново функциите, свързани с електронната поща в {{SITENAME}}, отворете във вашия браузър следната връзка:\n\n$3\n\nАко потребителската сметка *не* Ви принадлежи, моля, откажете потвърждението, като последвате следната връзка:\n\n$5\n\nВалидността на този код за потвърждение ще важи до $4.", + "confirmemail_body_changed": "Някой, вероятно Вие, от IP адрес $1,\nе променил с този адрес електронната поща, свързана с потребителска сметка „$2“ в {{SITENAME}}.\n\nЗа да потвърдите, че тази потребителска сметка ви принадлежи и да активирате отново функциите, свързани с електронната поща в {{SITENAME}}, отворете във вашия браузър следната връзка:\n\n$3\n\nАко потребителската сметка *не* Ви принадлежи, моля, откажете потвърждението, като последвате следната връзка:\n\n$5\n\nВалидността на този код за потвърждение ще важи до $4.", "confirmemail_body_set": "Някой, вероятно Вие, от IP адрес $1,\nе посочил този адрес за електронната поща, свързан с потребителска сметка „$2“ в {{SITENAME}}.\n\nЗа потвърждаване, че тази потребителска сметка наистина Ви принадлежи и за да активирате отново функциите, свързани с електронна поща в {{SITENAME}}, необходимо е да отворите във вашия браузър следната препратка:\n\n$3\n\nАко потребителската сметка *не* Ви принадлежи, можете да откажете потвърждението, като последвате следната препратка:\n\n$5\n\nВалидността на този код за потвърждение изтича на $4.", "confirmemail_invalidated": "Отменено потвърждение за електронна поща", "invalidateemail": "Отмяна на потвърждението за електронна поща", @@ -3097,11 +3128,13 @@ "watchlistedit-clear-submit": "Изчистване на списъка за наблюдение (Необратимо!)", "watchlistedit-clear-done": "Списъкът за наблюдение беше изчистен.", "watchlistedit-clear-removed": "{{PLURAL:$1|1 заглавие беше премахнато|$1 заглавия бяха премахнати}}:", + "watchlistedit-too-many": "Има твърде много страници за показване.", "watchlisttools-clear": "Изчистване на списъка за наблюдение", "watchlisttools-view": "Преглед на списъка за наблюдение", "watchlisttools-edit": "Преглед и редактиране на списъка за наблюдение", "watchlisttools-raw": "Редактиране на необработения списък за наблюдение", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|беседа]])", + "timezone-local": "Местно", "duplicate-defaultsort": "Внимание: Ключът за сортиране по подразбиране „$2“ отменя по-ранния ключ „$1“.", "version": "Версия", "version-extensions": "Инсталирани разширения", @@ -3187,6 +3220,7 @@ "tag-filter": "Филтър на [[Special:Tags|етикета]]:", "tag-filter-submit": "Филтриране", "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Етикет|Етикети}}]]: $2)", + "tag-mw-contentmodelchange": "промяна на модела на съдържание", "tags-title": "Етикети", "tags-intro": "Тук са изброени всички етикети, които могат да се ползват за отбелязване на редакциите, както и тяхното значение.", "tags-tag": "Име на етикета", @@ -3236,12 +3270,20 @@ "tags-deactivate-reason": "Причина:", "tags-deactivate-not-allowed": "Деактивирането на етикет „$1“ не е възможно.", "tags-deactivate-submit": "Деактивиране", + "tags-apply-no-permission": "Нямате права да прилагате етикети за промени заедно с промените си.", + "tags-apply-blocked": "Не може да прилагате етикети за промени, докато сте {{GENDER:$1|блокирани}}.", + "tags-apply-not-allowed-one": "Не е позволено етикетът „$1“ да бъде прилаган ръчно.", + "tags-apply-not-allowed-multi": "Не е позволено {{PLURAL:$2|следният етикет да бъде ръчно променен|следните етикети да бъдат ръчно променени}}: $1", "tags-update-no-permission": "Нямате права за добавяне или премахване на етикети от индивидуални версии или дневници.", + "tags-update-blocked": "Не може да добавяте или премахвате етикети за промени, докато сте {{GENDER:$1|блокирани}}.", + "tags-update-add-not-allowed-one": "Не е позволено етикетът „$1“ да бъде ръчно добавян.", + "tags-update-remove-not-allowed-one": "Не е позволено етикетът „$1“ да бъде премахван.", "tags-edit-title": "Редактиране на етикетите", "tags-edit-manage-link": "Управление на етикетите", "tags-edit-revision-selected": "{{PLURAL:$1|Избрана версия|Избрани версии}} от [[:$2]]:", "tags-edit-logentry-selected": "{{PLURAL:$1|Избрано събитие|Избрани събития}}:", "tags-edit-revision-legend": "Добавяне или премахване на етикети от {{PLURAL:$1|тази редакция|всичките $1 редакции}}", + "tags-edit-logentry-legend": "Добавяне или променяне на етикети {{PLURAL:$1|в този запис в дневника|във всички $1 записи в дневника}}", "tags-edit-existing-tags": "Съществуващи етикети:", "tags-edit-existing-tags-none": "Няма", "tags-edit-new-tags": "Нови етикети:", @@ -3249,8 +3291,10 @@ "tags-edit-remove": "Премахнете тези етикети:", "tags-edit-remove-all-tags": "(изтриване на всички етикети)", "tags-edit-chosen-placeholder": "Избиране на няколко етикета", + "tags-edit-chosen-no-results": "Не са открити съответстващи етикети", "tags-edit-reason": "Причина:", "tags-edit-revision-submit": "Прилагане на промените към {{PLURAL:$1|тази редакция|$1 редакции}}", + "tags-edit-logentry-submit": "Прилагане на промените към {{PLURAL:$1|този запис в дневника|$1 записи в дневника}}", "tags-edit-success": "Промените са приложени.", "tags-edit-failure": "Промените не могат да бъдат приложени:\n$1", "tags-edit-nooldid-title": "Не е зададена версия", @@ -3264,7 +3308,8 @@ "compare-invalid-title": "Посоченото заглавие е невалидно.", "compare-title-not-exists": "Посоченото заглавие не съществува.", "compare-revision-not-exists": "Посочената версия не съществува.", - "diff-form": "'''формуляр'''", + "diff-form": "Разлики", + "diff-form-submit": "Показване на разликите", "permanentlink": "Постоянна препратка", "permanentlink-revid": "ID на редакцията", "permanentlink-submit": "Към редакцията", @@ -3295,8 +3340,15 @@ "htmlform-time-placeholder": "ЧЧ:ММ:СС", "htmlform-datetime-placeholder": "ГГГГ-ММ-ДД ЧЧ:ММ:СС", "htmlform-date-invalid": "Избраната от вас стойност за дата не е разпозната. Опитайте да използвате формат ГГГГ-ММ-ДД.", + "htmlform-time-invalid": "Стойността, която сте уточнили, не е разпозната. Опитайте да използвате формат ЧЧ:ММ:СС.", "htmlform-datetime-invalid": "Избраната от вас стойност за дата не е разпозната. Опитайте да използвате формат ГГГГ-ММ-ДД ЧЧ:ММ:СС.", + "htmlform-date-toolow": "Стойността, която сте уточнили, е по-рано от най-ранната позволена дата $1.", + "htmlform-date-toohigh": "Стойността, която сте уточнили, е след най-късната позволена дата $1.", + "htmlform-time-toolow": "Стойността, която сте уточнили, е преди най-ранното позволено време $1.", + "htmlform-time-toohigh": "Стойността, която сте уточнили, е след най-късното позволено време $1.", + "htmlform-datetime-toolow": "Стойността, която сте уточнили, е преди най-ранните позволени дата и час $1.", "htmlform-title-badnamespace": "[[:$1]] не е в именното пространство „{{ns:$2}}“.", + "htmlform-title-not-creatable": "Заглавието „$1“ не може да бъде създадено", "htmlform-title-not-exists": "$1 не съществува.", "htmlform-user-not-exists": "$1 не съществува.", "htmlform-user-not-valid": "$1 не е валидно потребителско име.", @@ -3325,6 +3377,10 @@ "logentry-block-reblock": "$1 {{GENDER:$2|промени }} настройките на блокиране на {{GENDER:$4|$3}} със срок на изтичане $5 $6", "logentry-suppress-block": "$1 {{GENDER:$2|блокира}} {{GENDER:$4|$3}} със срок на изтичане $5 $6", "logentry-suppress-reblock": "$1 {{GENDER:$2|промени}} настройките на блокиране на {{GENDER:$4|$3}} със срок на изтичане $5 $6", + "logentry-import-upload": "$1 {{GENDER:$2|внесе}} $3 чрез качване на файл", + "logentry-import-upload-details": "$1 {{GENDER:$2|внесе}} $3 чрез качване на файл ($4 {{PLURAL:$4|редакция|редакции}})", + "logentry-import-interwiki": "$1 {{GENDER:$2|внесе}} $3 от друго уики", + "logentry-import-interwiki-details": "$1 {{GENDER:$2|внесе}} $3 от $5 ($4 {{PLURAL:$4|редакция|редакции}})", "logentry-merge-merge": "$1 {{GENDER:$2|сля}} $3 с $4 (редакции до $5)", "logentry-move-move": "$1 {{GENDER:$2|премести}} страница „$3“ като „$4“", "logentry-move-move-noredirect": "$1 {{GENDER:$2|премести}} страницата „$3“ като „$4“ без пренасочване", @@ -3338,6 +3394,7 @@ "logentry-newusers-byemail": "$1 {{GENDER:$2|създаде}} потребителската сметка $3, като паролата за нея беше изпратена по е-поща", "logentry-newusers-autocreate": "Сметката $1 беше {{GENDER:$2|създадена}} автоматично", "logentry-protect-move_prot": "$1 {{GENDER:$2|премести}} настройките на защита от $4 на $3", + "logentry-protect-unprotect": "$1 {{GENDER:$2|премахна}} защитата от $3", "logentry-protect-protect": "\n$1 {{GENDER:$2|защити}} $3 $4", "logentry-protect-protect-cascade": "$1 {{GENDER:$2|защити}} $3 $4 [каскадно]", "logentry-protect-modify": "$1 {{GENDER:$2|промени}} нивото на защита на $3 $4", @@ -3358,7 +3415,12 @@ "log-description-tag": "Тази страница показва, кога потребителите са добавили или премахнали [[Special:Tags|етикети]] от отделни версии или записи. Списъкът не включва подобни действия, когато те се появяват, като част от процеса на редактиране, изтриване или подобни действия.", "logentry-tag-update-add-revision": "$1 {{GENDER:$2|добави}} {{PLURAL:$7|етикета|етикетите}} $6 към редакция $4 на страница $3", "logentry-tag-update-add-logentry": "$1 {{GENDER:$2|добави}} {{PLURAL:$7|етикета|етикетите}} $6 към записа в дневника $5 на страница $3", + "logentry-tag-update-remove-revision": "$1 {{GENDER:$2|премахна}} {{PLURAL:$9|етикета|етикетите}} $8 от редакция $4 на страница $3", + "logentry-tag-update-remove-logentry": "$1 {{GENDER:$2|премахна}} {{PLURAL:$9|етикета|етикетите}} $8 от запис в дневника $5 на страница $3", + "logentry-tag-update-revision": "$1 {{GENDER:$2|обнови}} етикети на редакция $4 на страница $3 ({{PLURAL:$7|добавени}} $6; {{PLURAL:$9|премахнати}} $8)", + "logentry-tag-update-logentry": "$1 {{GENDER:$2|обнови}} етикети в запис в дневника $5 на страница $3 ({{PLURAL:$7|добавени}} $6; {{PLURAL:$9|премахнати}} $8)", "rightsnone": "(никакви)", + "rightslogentry-temporary-group": "$1 (временно, до $2)", "feedback-adding": "Добавяне на коментар към страницата...", "feedback-back": "Обратно", "feedback-bugcheck": "Страхотно! Само проверете дали това не сред вече [$1 докладваните грешки].", @@ -3366,6 +3428,7 @@ "feedback-bugornote": "Ако сте готови подробно да опишете технически проблем, моля [$1 докладвайте го тук].\nВ противен случай, можете да използвате лесния формуляр по-долу. Коментарът ви ще бъде добавен към страницата „[$3 $2]“, наред с вашето потребителско име.", "feedback-cancel": "Отказване", "feedback-close": "Готово", + "feedback-dialog-title": "Изпращане на обратна връзка", "feedback-error1": "Грешка: Неразпознат резултат от API", "feedback-error2": "Грешка: Неуспешна редакция", "feedback-error3": "Грешка: Няма отговор от API", @@ -3425,6 +3488,7 @@ "default-skin-not-found-row-disabled": "* $1 / $2 (изключено)", "mediastatistics": "Статистика за файлове", "mediastatistics-summary": "Статистика за видовете качени файлове. Тя включва само последните версии на файловете, без старите или изтритите версии.", + "mediastatistics-nbytes": "{{PLURAL:$1|$1 байт|$1 байта}} ($2; $3%)", "mediastatistics-bytespertype": "Пълен размер на файловете за този раздел: {{PLURAL:$1|$1 байт|$1 байта}} ($2; $3%).", "mediastatistics-allbytes": "Общ размер на всички файлове: {{PLURAL:$1|$1 байт|$1 байта}} ($2).", "mediastatistics-table-mimetype": "MIME тип", @@ -3515,6 +3579,8 @@ "log-action-filter-upload-upload": "Ново качване", "log-action-filter-upload-overwrite": "Повторно качване", "authmanager-create-disabled": "Създаването на сметки е изключено.", + "authmanager-create-from-login": "За да създадете сметка, моля попълнете полетата.", + "authmanager-authplugin-setpass-failed-title": "Промяната на паролата е неуспешна", "authmanager-authplugin-setpass-bad-domain": "Невалиден домейн.", "authmanager-userdoesnotexist": "Няма регистрирана потребителска сметка за „$1“.", "authmanager-retype-help": "Парола (повторно) за потвърждение.", @@ -3524,7 +3590,9 @@ "authmanager-realname-help": "Истинско име на потребителя", "authmanager-provider-temporarypassword": "Временна парола", "authprovider-resetpass-skip-label": "Пропускане", + "authform-newtoken": "Липсва маркер. $1", "authform-notoken": "Липсва маркер", + "authform-wrongtoken": "Грешен маркер", "specialpage-securitylevel-not-allowed-title": "Не е позволено", "cannotauth-not-allowed-title": "Достъпът е отказан", "cannotauth-not-allowed": "Не ви е позволено да използвате тази страница", diff --git a/languages/i18n/bn.json b/languages/i18n/bn.json index cdf953d906..f225e7dc35 100644 --- a/languages/i18n/bn.json +++ b/languages/i18n/bn.json @@ -1031,7 +1031,7 @@ "timezoneregion-europe": "ইউরোপ", "timezoneregion-indian": "ভারত মহাসাগর", "timezoneregion-pacific": "প্রশান্ত মহাসাগর", - "allowemail": "অন্য ব্যবহারকারীদেরকে আপনাকে ই-মেইল পাঠানোর অনুমতি দিন।", + "allowemail": "অন্য ব্যবহারকারীদেরকে আমাকে ইমেল করতে অনুমতি দিন", "email-blacklist-label": "আমাকে ইমেইল পাঠানো থেকে এই ব্যবহারকারীদের বিরত রাখুন:", "prefs-searchoptions": "অনুসন্ধান", "prefs-namespaces": "নামস্থানসমূহ", @@ -1312,7 +1312,7 @@ "recentchanges-submit": "দেখাও", "rcfilters-tag-remove": "'$1' সরান", "rcfilters-legend-heading": "সংক্ষিপ্ত রূপের তালিকা:", - "rcfilters-other-review-tools": "অন্যান্য পর্যালোচনা সরঞ্জাম", + "rcfilters-other-review-tools": "অন্যান্য পর্যালোচনা সরঞ্জাম", "rcfilters-group-results-by-page": "পাতা অনুযায়ী দলের ফলাফল", "rcfilters-grouping-title": "দলবদ্ধ", "rcfilters-activefilters": "সক্রিয় ছাঁকনিসমূহ", @@ -1325,7 +1325,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|ঘণ্টা}}", "rcfilters-highlighted-filters-list": "আলোকপাতাকৃত: $1", "rcfilters-quickfilters": "সংরক্ষিত ছাঁকনি", - "rcfilters-quickfilters-placeholder-title": "এখনো কোন সংযোগ সংরক্ষণ হয়নি", + "rcfilters-quickfilters-placeholder-title": "এখনো কোন ছাঁকনি সংরক্ষণ হয়নি", "rcfilters-quickfilters-placeholder-description": "আপনার ছাঁকনির সেটিং সংরক্ষণ করতে ও পরে পুনরায় ব্যবহার করতে, নীচে, সক্রিয় ছাঁকনি এলাকায় বুকমার্ক আইকনে ক্লিক করুন।", "rcfilters-savedqueries-defaultlabel": "ছাঁকনি সংরক্ষণ", "rcfilters-savedqueries-rename": "নামান্তর", diff --git a/languages/i18n/bs.json b/languages/i18n/bs.json index 5606e04374..f4e909801b 100644 --- a/languages/i18n/bs.json +++ b/languages/i18n/bs.json @@ -358,8 +358,8 @@ "perfcached": "Sljedeći podaci su keÅ¡irani i možda neće biti u potpunosti ažurirani. KeÅ¡ sadrži najviÅ¡e {{PLURAL:$1|jedan rezultat|$1 rezultata}}.", "perfcachedts": "Sljedeći podaci su keÅ¡irani i posljednji put ažurirani na datum $2 u $3. KeÅ¡ sadrži najviÅ¡e {{PLURAL:$4|jedan rezultat|$4 rezultata}}.", "querypage-no-updates": "Ažuriranje ove stranice je isključeno.\nPodaci koji se ovdje nalaze ne moraju biti aktuelni.", - "viewsource": "Prikaži izvor", - "viewsource-title": "Prikaz izvora stranice $1", + "viewsource": "Izvorni kôd", + "viewsource-title": "Izvorni kôd stranice $1", "actionthrottled": "Akcija je usporena", "actionthrottledtext": "U cilju borbe protiv zloupotrebe, ograničeno vam je da u kratkom vremenskom periodu previÅ¡e puta vrÅ¡ite ovu radnju, a upravo ste preÅ¡li to ograničenje.\nPokuÅ¡ajte ponovo za nekoliko minuta.", "protectedpagetext": "Ova stranica je zaključana da bi se spriječile izmjene.", @@ -1297,7 +1297,7 @@ "recentchanges-submit": "Prikaži", "rcfilters-tag-remove": "Ukloni '$1'", "rcfilters-legend-heading": "Spisak skraćenica:", - "rcfilters-other-review-tools": "Drugi alati za pregled", + "rcfilters-other-review-tools": "Drugi alati za pregled", "rcfilters-group-results-by-page": "Grupiraj rezultate po stranicama", "rcfilters-grouping-title": "Grupiranje", "rcfilters-activefilters": "Aktivni filteri", @@ -2614,7 +2614,7 @@ "tooltip-ca-talk": "Razgovor o sadržaju", "tooltip-ca-edit": "Uredi ovu stranicu", "tooltip-ca-addsection": "Započnite novu sekciju.", - "tooltip-ca-viewsource": "Ovaj članak je zaključan. Možete ga samo vidjeti ili kopirati kod.", + "tooltip-ca-viewsource": "Ova stranica je zaÅ¡tićena.\nMožete joj vidjeti izvorni kôd", "tooltip-ca-history": "Prethodne verzije ove stranice.", "tooltip-ca-protect": "ZaÅ¡titite stranicu od budućih izmjena", "tooltip-ca-unprotect": "Promijeni zaÅ¡titu za ovu stranicu", @@ -3180,7 +3180,7 @@ "confirmemail": "Potvrdite adresu e-poÅ¡te", "confirmemail_noemail": "Niste unijeli tačnu e-mail adresu u VaÅ¡e [[Special:Preferences|korisničke postavke]].", "confirmemail_text": "{{SITENAME}} zahtijeva da potvrdite adresu VaÅ¡e e-poÅ¡te prije nego Å¡to koristite mogućnosti e-poÅ¡te.\nAktivirajte dugme ispod kako biste poslali poÅ¡tu za potvrdu na VaÅ¡u adresu.\nPoÅ¡ta uključuje link koji sadrži kod;\nučitajte link u VaÅ¡ preglednik da biste potvrdili da je adresa VaÅ¡e e-poÅ¡te validna.", - "confirmemail_pending": "Potvrdni kod Vam je već poslan e-poÅ¡tom;\nako ste nedavno otvorili račun, trebali biste pričekati nekoliko minuta da poslana poÅ¡ta stigne, prije nego Å¡to ponovo zahtijevate novi kod.", + "confirmemail_pending": "Potvrdni kod Vam je već poslan e-poÅ¡tom;\nako ste nedavno otvorili račun, pričekajte nekoliko minuta da poruka stigne prije nego Å¡to zatražite novi kod.", "confirmemail_send": "PoÅ¡aljite kod za potvrdu", "confirmemail_sent": "E-poÅ¡ta za potvrđivanje poslata.", "confirmemail_oncreate": "Kod za potvrđivanje Vam je poslat na VaÅ¡u e-mail adresu.\nTaj kod nije neophodan za prijavljivanje, ali Vam ne potreban kako bi ste omogućili funkcije wikija zasnovane na e-mailu.", @@ -3811,7 +3811,7 @@ "log-action-filter-contentmodel-change": "Izmjena modela sadržaja", "log-action-filter-contentmodel-new": "Nova stranica s nestandardnim modelom sadržaja", "log-action-filter-delete-delete": "Brisanje stranice", - "log-action-filter-delete-delete_redir": "Prepisivanje preusmjerenja", + "log-action-filter-delete-delete_redir": "Presnimavanje preusmjerenja", "log-action-filter-delete-restore": "Vraćanje obrisane stranice", "log-action-filter-delete-event": "Brisanje unosa u zapisniku", "log-action-filter-delete-revision": "Brisanje izmjene", diff --git a/languages/i18n/ca.json b/languages/i18n/ca.json index da172aae35..8e5f5ecd2f 100644 --- a/languages/i18n/ca.json +++ b/languages/i18n/ca.json @@ -1060,7 +1060,7 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Oceà Índic", "timezoneregion-pacific": "Oceà Pacífic", - "allowemail": "Permet que altres usuaris puguin enviar-me missatges per correu electrònic", + "allowemail": "Permet que altres usuaris m'enviïn missatges per correu electrònic", "prefs-searchoptions": "Cerca", "prefs-namespaces": "Espais de noms", "default": "per defecte", @@ -1339,7 +1339,7 @@ "recentchanges-legend-plusminus": "(''±123'')", "recentchanges-submit": "Mostra", "rcfilters-legend-heading": "Llista d'abreviatures:", - "rcfilters-other-review-tools": "Altres eines de supervisió", + "rcfilters-other-review-tools": "Altres eines de supervisió", "rcfilters-group-results-by-page": "Agrupa els resultats per pàgina", "rcfilters-grouping-title": "Agrupació", "rcfilters-activefilters": "Filtres actius", @@ -1435,6 +1435,7 @@ "rcfilters-filter-lastrevision-label": "Darrera revisió", "rcfilters-filter-lastrevision-description": "El canvi més recent a una pàgina.", "rcfilters-filter-previousrevision-label": "Revisions anteriors", + "rcfilters-filter-previousrevision-description": "Tots els canvis que no són «la darrera revisió».", "rcfilters-filter-excluded": "Exclòs", "rcfilters-exclude-button-off": "Exclou els seleccionats", "rcfilters-exclude-button-on": "Excloent els seleccionats", @@ -1449,6 +1450,7 @@ "rcfilters-watchlist-markseen-button": "Marca tots els canvis com a vistos", "rcfilters-watchlist-edit-watchlist-button": "Editeu la vostra llista de pàgines seguides", "rcnotefrom": "A sota hi ha {{PLURAL:$5|el canvi|els canvis}} a partir de $3, $4 (fins a $1).", + "rclistfromreset": "Reinicialitza la selecció de data", "rclistfrom": "Mostra els canvis nous des de $3, $2", "rcshowhideminor": "$1 edicions menors", "rcshowhideminor-show": "Mostra", @@ -1822,6 +1824,7 @@ "pageswithprop-legend": "Pàgines amb una propietat de pàgina", "pageswithprop-text": "Aquesta pàgina llista les pàgines que utilitzen una propietat de pàgina en particular.", "pageswithprop-prop": "Nom de la propietat:", + "pageswithprop-reverse": "Ordena en invers", "pageswithprop-submit": "Vés", "pageswithprop-prophidden-long": "valor de propietat text llarg ocult ($1)", "pageswithprop-prophidden-binary": "valor de propietat binària oculta ($1)", diff --git a/languages/i18n/cdo.json b/languages/i18n/cdo.json index 7d07a832dc..f2b3cddc7b 100644 --- a/languages/i18n/cdo.json +++ b/languages/i18n/cdo.json @@ -53,7 +53,7 @@ "tog-watchlisthideanons": "共匿名其用戶其編輯趁監視單𡅏囥起咯", "tog-watchlisthidepatrolled": "共巡查其編輯趁監視單𡅏囥起咯", "tog-watchlisthidecategorization": "Káung kÄ« hiĕk gì lôi-biék", - "tog-ccmeonemails": "共我發乞其他用戶其電子郵件其備份發乞我。", + "tog-ccmeonemails": "共我發乞其他用戶其電子郵件其備份發乞我", "tog-diffonly": "伓使敆下底其顯示𣍐蜀様其地方顯示頁面內容", "tog-showhiddencats": "㪗藏類別", "tog-norollbackdiff": "Cék-hèng huòi-gÅ«ng Ä«-hâiu ng-sāi hiēng-sê chă-biék", @@ -317,8 +317,8 @@ "filenotfound": "討𣍐著文件「$1」。", "unexpected": "伓是卜挃其值:「$1」=「$2」。", "formerror": "綻去:𣍐使提交表單。", - "badarticleerror": "不允許敆茲蜀萆做茲蜀種行為。", - "cannotdelete": "無能耐刪掉頁面或者文件「$1」。\n可能茲已經共別儂刪掉咯了。", + "badarticleerror": "𣍐使敆茲蜀萆頁面做茲蜀種行為。", + "cannotdelete": "無能耐刪掉這頁面或者文件「$1」。\n可能嚽已經乞別儂刪掉咯了。", "cannotdelete-title": "無辦法刪掉頁面「$1」", "delete-hook-aborted": "刪除乞鉤子拍斷咯。\n無給出解釋。", "no-null-revision": "𣍐使敆頁面$1𡅏新建空操作。", @@ -347,7 +347,7 @@ "exception-nologin-text": "起動汝登錄以後再訪問茲蜀頁,或者做茲蜀萆操作。", "exception-nologin-text-manual": "起動汝$1,以後才會使訪問茲蜀頁,或者做茲蜀萆行為。", "virus-badscanner": "呆其配置:𣍐仈倛病毒掃描器:$1", - "virus-scanfailed": "掃描失敗(代碼$1)", + "virus-scanfailed": "掃描𣍐來(代碼$1)", "virus-unknownscanner": "𣍐八其反病毒:", "logouttext": "汝現在已經躒出了。\n\n注意有其頁面可能會繼續顯示汝未躒出辰候其樣式,除開汝清理瀏覽器緩存。", "welcomeuser": "歡迎,$1!", @@ -444,7 +444,7 @@ "resetpass-submit-cancel": "取消", "resetpass-temp-password": "臨時密碼:", "passwordreset": "重置密碼", - "passwordreset-text-one": "完成茲隻表單,通過電批寄臨時密碼其方法來重新設定汝其密碼。", + "passwordreset-text-one": "完成茲隻表單,使電批寄臨時密碼來重新設定汝其密碼。", "passwordreset-username": "用戶名:", "passwordreset-domain": "域名:", "passwordreset-email": "電批地址:", @@ -490,7 +490,7 @@ "blockedtitle": "用戶乞封鎖了", "blockednoreason": "無掏出原因", "whitelistedittext": "汝必須$1乍會使修改頁面。", - "loginreqtitle": "需要登錄", + "loginreqtitle": "汝著登錄", "loginreqlink": "láuk-diē", "loginreqpagetext": "起動汝$1以後再看其它頁面。", "accmailtitle": "密碼寄出了", @@ -503,7 +503,7 @@ "note": "注意:", "previewnote": "'''記定茲若是蜀萆預覽。'''\n汝其改變固𡅏未保存!", "continue-editing": "繼續修改", - "editing": "修改 $1", + "editing": "修改$1", "creating": "創建$1", "editingsection": "修改$1(段)", "editingcomment": "修改$1(新其蜀部分)", diff --git a/languages/i18n/ce.json b/languages/i18n/ce.json index f53ded7ea3..8d836c2c30 100644 --- a/languages/i18n/ce.json +++ b/languages/i18n/ce.json @@ -1147,7 +1147,7 @@ "recentchanges-legend-heading": "Легенда: ", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (хьажа кхин [[Special:NewPages|керла агӀонийн могӀа]])", "recentchanges-submit": "Гайта", - "rcfilters-other-review-tools": "Талларан кхин гӀирсаш", + "rcfilters-other-review-tools": "Талларан кхин гӀирсаш", "rcfilters-group-results-by-page": "Карийнарш, агӀонгахь тобанаш ян", "rcfilters-grouping-title": "Тобанашца нисъяр", "rcfilters-activefilters": "Жигара литтарш", diff --git a/languages/i18n/ckb.json b/languages/i18n/ckb.json index 44117f42da..ff67d240b0 100644 --- a/languages/i18n/ckb.json +++ b/languages/i18n/ckb.json @@ -1160,10 +1160,11 @@ "recentchanges-legend-plusminus": "(''±۱٢٣'')", "recentchanges-submit": "نیشانی بدە", "rcfilters-legend-heading": "پێرستی ناوبڕەکان:", - "rcfilters-other-review-tools": "ئامرازەکانی تری بەسەرداچوونەوە", + "rcfilters-other-review-tools": "ئامرازەکانی تری بەسەرداچوونەوە", "rcfilters-activefilters": "پاڵێوەرە چالاکەکان", "rcfilters-advancedfilters": "پاڵوێنە پێشکەوتووەکان", "rcfilters-limit-shownum": "پیشاندانی دوایین $1 دەستکاری", + "rcfilters-days-show-days": "$1 {{PLURAL:$1|ڕۆژ}}", "rcfilters-quickfilters": "پاڵوێنە پاشەکەوتکراوەکان", "rcfilters-savedqueries-defaultlabel": "پاڵوێنە پاشەکەوتکراوەکان", "rcfilters-clear-all-filters": "ھەموو فیلتەرەکان بسڕەوە", @@ -2867,6 +2868,7 @@ "logentry-upload-overwrite": "$1 وەشانێکی نوێی $3ی {{GENDER:$2|بار کرد}}", "logentry-managetags-create": "$1 تاگی \"$4\"ی دروست کرد", "rightsnone": "(ھیچ)", + "rightslogentry-temporary-group": "$1 (کاتیی، تاوەکوو $2)", "feedback-back": "گەڕانەوە", "feedback-cancel": "ھەڵوەشاندنەوە", "feedback-close": "کرا", diff --git a/languages/i18n/cs.json b/languages/i18n/cs.json index 8753dd92a2..b87a717ec4 100644 --- a/languages/i18n/cs.json +++ b/languages/i18n/cs.json @@ -642,7 +642,7 @@ "anonpreviewwarning": "Nejste přihlášen(a). Uložením zveřejníte svou IP adresu v historii této stránky.", "missingsummary": "Připomenutí: Nezadali jste shrnutí editace. Pokud jeÅ¡tě jednou kliknete na „$1“, bude vaÅ¡e editace zapsána bez shrnutí.", "selfredirect": "Upozornění: Pokoušíte se tuto stránku přesměrovat na sebe samu.\nMožná jste zadali chybný cíl přesměrování, nebo editujete Å¡patnou stránku.\nPokud jeÅ¡tě jednou kliknete na „$1“, bude i přesto přesměrování vytvořeno.", - "missingcommenttext": "Zadejte komentář", + "missingcommenttext": "Prosím, zadejte komentář.", "missingcommentheader": "Připomenutí: Nezadali jste předmět pro tento komentář.\nPokud jeÅ¡tě jednou kliknete na „$1“, bude vaÅ¡e editace uložena bez něj.", "summary-preview": "Náhled shrnutí:", "subject-preview": "Náhled předmětu:", @@ -1032,7 +1032,7 @@ "timezoneregion-europe": "Evropa", "timezoneregion-indian": "Indický oceán", "timezoneregion-pacific": "Tichý oceán", - "allowemail": "Povolit e-mail od ostatních uživatelů", + "allowemail": "Dovolit ostatním uživatelům posílat mi e-maily", "email-blacklist-label": "Znemožnit těmto uživatelům posílat mi e-maily:", "prefs-searchoptions": "Vyhledávání", "prefs-namespaces": "Jmenné prostory", @@ -1313,7 +1313,7 @@ "recentchanges-submit": "Zobrazit", "rcfilters-tag-remove": "Odebrat '$1'", "rcfilters-legend-heading": "Seznam zkratek:", - "rcfilters-other-review-tools": "Další kontrolní nástroje", + "rcfilters-other-review-tools": "Další kontrolní nástroje", "rcfilters-group-results-by-page": "Seskupit výsledky podle stránky", "rcfilters-grouping-title": "Seskupování", "rcfilters-activefilters": "Aktivní filtry", @@ -1326,7 +1326,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hodina|hodiny|hodin}}", "rcfilters-highlighted-filters-list": "Zvýrazněno: $1", "rcfilters-quickfilters": "Uložené filtry", - "rcfilters-quickfilters-placeholder-title": "Zatím neuloženy žádné odkazy", + "rcfilters-quickfilters-placeholder-title": "Zatím neuloženy žádné filtry", "rcfilters-quickfilters-placeholder-description": "Pokud chcete uložit svá nastavení filtrů a použít je později, klikněte na ikonku záložky v ploÅ¡e aktivních filtrů níže.", "rcfilters-savedqueries-defaultlabel": "Uložené filtry", "rcfilters-savedqueries-rename": "Přejmenovat", @@ -1366,7 +1366,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Neregistrovaní", "rcfilters-filter-user-experience-level-unregistered-description": "Editoři, kteří nejsou přihlášení.", "rcfilters-filter-user-experience-level-newcomer-label": "Nováčci", - "rcfilters-filter-user-experience-level-newcomer-description": "Registrovaní uživatelé s méně než 10 editacemi a 4 dny činnosti.", + "rcfilters-filter-user-experience-level-newcomer-description": "Registrovaní uživatelé, kteří mají méně než 10 editací nebo 4 dny činnosti.", "rcfilters-filter-user-experience-level-learner-label": "Začátečníci", "rcfilters-filter-user-experience-level-learner-description": "Registrovaní uživatelé, jejichž zkuÅ¡enosti spadají mezi „Nováčky“ a „ZkuÅ¡ené uživatele“.", "rcfilters-filter-user-experience-level-experienced-label": "ZkuÅ¡ení uživatelé", @@ -1561,7 +1561,7 @@ "uploaded-script-svg": "V načteném SVG souboru byl nalezen skriptovatelný element „$1“.", "uploaded-hostile-svg": "V načteném SVG souboru bylo v elementu se styly nalezeno nebezpečné CSS.", "uploaded-event-handler-on-svg": "Nastavování atributů pro obsluhu událostí $1=\"$2\" není v SVG souborech dovoleno.", - "uploaded-href-attribute-svg": "Atributy href v souborech SVG smějí odkazovat jen na cíle využívající http:// nebo https://, nalezeno <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": "Elementy
    smějí odkazovat (atributem href) jen na cíle využívající data: (vložený soubor), http://, https:// nebo fragment (#, obsah ve stejném dokumentu). U jiných elementů, např. , jsou dovoleny pouze cíle data: a fragmenty. Při exportu do SVG zkuste obrázky vložit. Nalezeno <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "V načteném SVG souboru byl nalezen href odkazující na nebezpečný cíl s datovým URI <$1 $2=\"$3\">.", "uploaded-animate-svg": "V načteném SVG souboru byla nalezena značka „animate“, která by mohla měnit href, s atributem „from“ <$1 $2=\"$3\">.", "uploaded-setting-event-handler-svg": "Nastavování atributů pro obsluhu událostí je zablokováno, v načteném SVG souboru bylo nalezeno <$1 $2=\"$3\">.", diff --git a/languages/i18n/cy.json b/languages/i18n/cy.json index 85449b7d2e..386bc5b5a1 100644 --- a/languages/i18n/cy.json +++ b/languages/i18n/cy.json @@ -70,7 +70,6 @@ "underline-never": "Byth", "underline-default": "Rhagosodyn y porwr neu'r wedd", "editfont-style": "Arddull y ffont yn y blwch golygu:", - "editfont-default": "Rhagosodyn y porwr", "editfont-monospace": "Ffont unlled", "editfont-sansserif": "Sans-seriff", "editfont-serif": "Seriff", @@ -654,7 +653,6 @@ "explainconflict": "Mae rhywun arall wedi newid y dudalen hon ers i chi ddechrau ei golygu hi.\nMae'r blwch testun uchaf yn cynnwys testun y dudalen fel y mae hi rwan.\nMae eich newidiadau chi yn ymddangos yn y blwch testun isaf.\nBydd yn rhaid i chi gyfuno eich newidiadau chi a'r testun sydd yn bodoli eisoes.\n'''Dim ond''' y testun yn y blwch testun '''uchaf''' fydd yn cael ei roi ar gadw pan wasgwch y botwm \"$1\".", "yourtext": "Eich testun", "storedversion": "Y golygiad diweddaraf yn y storfa", - "nonunicodebrowser": "'''RHYBUDD: Nid yw eich porwr yn cydymffurfio ag Unicode. Serch hyn, mae modd i chi olygu tudalennau: bydd nodau sydd ddim yn rhan o ASCII yn ymddangos yn y blwch golygu fel codau hecsadegol.'''", "editingold": "'''RHYBUDD: Rydych chi'n golygu hen ddiwygiad o'r dudalen hon. Os caiff ei chadw, bydd unrhyw newidiadau diweddarach yn cael eu colli.'''", "yourdiff": "Gwahaniaethau", "copyrightwarning": "Mae pob cyfraniad i {{SITENAME}} yn cael ei ryddhau o dan termau'r Drwydded Ddogfen Rhydd ($2) (gwelwch $1 am fanylion). Os nad ydych chi'n fodlon i'ch gwaith gael ei olygu heb drugaredd, neu i gopïau ymddangos ar draws y we, peidiwch a'i gyfrannu yma.
    \nRydych chi'n cadarnhau mai chi yw awdur y cyfraniad, neu eich bod chi wedi'i gopïo o'r parth cyhoeddus (''public domain'') neu rywle rhydd tebyg. '''Nid''' yw'r mwyafrif o wefannau yn y parth cyhoeddus.\n\n'''PEIDIWCH Â CHYFRANNU GWAITH O DAN HAWLFRAINT HEB GANIATÂD!'''", @@ -1252,7 +1250,7 @@ "recentchanges-legend-plusminus": "(''±123'')", "recentchanges-submit": "Dangos", "rcfilters-legend-heading": "Rhestr o fyrfoddau:", - "rcfilters-other-review-tools": "Teclynau adolygu eraill", + "rcfilters-other-review-tools": "Teclynau adolygu eraill", "rcfilters-group-results-by-page": "Canlyniadau'r grwp bob yn ddalen", "rcfilters-grouping-title": "Grwpio", "rcfilters-activefilters": "Hidlau sydd ar waith", @@ -2170,7 +2168,6 @@ "block": "Rhwystro defnyddiwr", "unblock": "Dad-rwystro defnyddiwr", "blockip": "Rhwystro'r {{GENDER:$1|defnyddiwr}}", - "blockip-legend": "Rhwystro'r defnyddiwr", "blockiptext": "Defnyddiwch y ffurflen hon i rwystro cyfeiriad IP neu ddefnyddiwr rhag ysgrifennu i'r gronfa ddata. \nDylech chi ddim ond gwneud hyn er mwyn rhwystro fandaliaeth, a chan ddilyn [[{{MediaWiki:Policy-url}}|polisi'r wici]]. \nRhowch reswm dros rwystro'r defnyddiwr (er enghraifft, dywedwch pa dudalen(au) a fandaleiddiwyd).", "ipaddressorusername": "Cyfeiriad IP neu enw defnyddiwr:", "ipbexpiry": "Am gyfnod:", diff --git a/languages/i18n/da.json b/languages/i18n/da.json index e5d8299eee..057ac25375 100644 --- a/languages/i18n/da.json +++ b/languages/i18n/da.json @@ -94,13 +94,14 @@ "tog-shownumberswatching": "Vis antal brugere, der overvåger", "tog-oldsig": "Din nuværende signatur:", "tog-fancysig": "Behandl signatur som wikitekst (uden automatisk henvisning)", - "tog-uselivepreview": "Benyt løbende forhåndsvisning", + "tog-uselivepreview": "Vis forhåndsvisninger uden at indlæse siden igen", "tog-forceeditsummary": "Advar mig, hvis jeg ikke udfylder beskrivelsesfeltet", "tog-watchlisthideown": "Skjul egne ændringer i overvågningslisten", "tog-watchlisthidebots": "Skjul ændringer fra botter i overvågningslisten", "tog-watchlisthideminor": "Skjul mindre ændringer i overvågningslisten", "tog-watchlisthideliu": "Skjul indloggede brugeres redigeringer i overvågningslisten", "tog-watchlistreloadautomatically": "Opdater overvågningslisten automatisk, når et filter ændres (kræver JavaScript)", + "tog-watchlistunwatchlinks": "Tilføj direkte henvisninger for at overvåge/fjerne overvågning til overvågningsposter (JavaScript krævet for at skifte funktionalitet)", "tog-watchlisthideanons": "Skjul anonyme brugeres redigeringer i overvågningslisten", "tog-watchlisthidepatrolled": "Skjul patruljerede ændringer i overvågningslisten", "tog-watchlisthidecategorization": "Skjul kategorisering af sider", @@ -114,7 +115,6 @@ "underline-never": "Aldrig", "underline-default": "Standard for browseren eller udseendet", "editfont-style": "Skriftstil ved redigering:", - "editfont-default": "Brug browserens indstilling", "editfont-monospace": "Fastbreddeskrift", "editfont-sansserif": "Skrift uden fødder", "editfont-serif": "Skrift med fødder", @@ -578,6 +578,11 @@ "botpasswords-updated-body": "Robottens adgangskode for robotnavn »$1« for brugeren »$2« blev opdateret.", "botpasswords-deleted-title": "Bot kodeord slettet", "botpasswords-deleted-body": "Robottens adgangskode for robotnavn »$1« for brugeren »$2« blev slettet.", + "botpasswords-newpassword": "Den nye adgangskode at logge ind med for $1 er $2. Gem denne oplysning for fremtidig reference.
    (For gamle robotter som kræver at logindnavnet er det samme som det eventuelle brugernavn, så kan du også bruge $3 som brugernavn og $4 som adgangskode).", + "botpasswords-no-provider": "BotPasswordsSessionProvider er ikke tilgængelig.", + "botpasswords-restriction-failed": "Begrænsninger for robotadgangskode forhindrer dette logind.", + "botpasswords-invalid-name": "Det angivne brugernavn indeholder ikke adskillelsestegnet for robotadgangskoden (»$1«).", + "botpasswords-not-exist": "Brugeren »$1« har ikke en robotadgangskode navngivet »$2«.", "resetpass_forbidden": "Adgangskoder kan ikke ændres", "resetpass_forbidden-reason": "Adgangskoder kan ikke ændres: $1", "resetpass-no-info": "Du skal være logget på for at komme direkte til denne side.", @@ -659,7 +664,7 @@ "anonpreviewwarning": "''Du er ikke logget på. Hvis du gemmer, registreres din IP-adresse i versionshistorikken.''", "missingsummary": "'''Bemærk:''' Du har ikke angivet en redigeringsbeskrivelse. Hvis du igen trykker på \"$1\", gemmes ændringerne uden en beskrivelse.", "selfredirect": "Advarsel: Du er ved at omdirigere denne side til sig selv.\nDu kan have angivet det forkerte mål for omdirigeringen, eller du kan være ved at redigere den forkerte side.\nHvis du klikker på \"$1\" igen, vil omdirigeringen blive oprettet uanset dette.", - "missingcommenttext": "Skriv venligst en kommentar nedenfor.", + "missingcommenttext": "Skriv venligst en kommentar.", "missingcommentheader": "Bemærk: Du har ikke angivet en overskrift/emne for denne kommentar. Hvis du trykker \"$1\" én gang til, gemmes dine ændringer uden overskrift/emne.", "summary-preview": "Forhåndsvisning af sammenfatning:", "subject-preview": "Forhåndsvisning af emne/overskrift:", @@ -738,7 +743,8 @@ "permissionserrorstext": "Du har ikke rettigheder til at gennemføre denne handling, {{PLURAL:$1|årsagen|årsagerne}} er:", "permissionserrorstext-withaction": "Du har ikke rettigheder til at $2 af følgende {{PLURAL:$1|grund|grunde}}:", "recreate-moveddeleted-warn": "'''Advarsel: Du er ved at genskabe en tidligere slettet side.'''\n\nOvervej om det er passende at genoprette siden. Sletnings- og flytteloggerne for siden er vist nedenfor.", - "moveddeleted-notice": "Denne side er blevet slettet.\nSletnings- og flytteloggerne for siden er vist nedenfor.", + "moveddeleted-notice": "Denne side er blevet slettet.\nSletnings-, beskyttelses- og flytteloggene for siden er vist nedenfor.", + "moveddeleted-notice-recent": "Beklager, denne side er for nylig blevet slettet (i løbet af de sidste 24 timer).\nSlette-, beskyttelses- og flytteloggene for siden er vist nedenfor.", "log-fulllog": "Vis fuldstændig log", "edit-hook-aborted": "Redigering afbrudt af en programfunktion. Ingen tilknyttet forklaring.", "edit-gone-missing": "Kunne ikke opdatere siden.\nDen ser du til at være slettet.", @@ -902,6 +908,10 @@ "mergehistory-fail-bad-timestamp": "Tidsangivelsen er ugyldig.", "mergehistory-fail-invalid-source": "Kildesiden er ugyldig.", "mergehistory-fail-invalid-dest": "Målsiden er ugyldigt.", + "mergehistory-fail-no-change": "Historiksammenføjning sammenføjede ikke nogle revisioner. Kontroller siden og tidsparametre igen.", + "mergehistory-fail-permission": "Utilstrækkelige tilladelser for at flette historik.", + "mergehistory-fail-self-merge": "Kilde- og destinationssider er ens.", + "mergehistory-fail-timestamps-overlap": "Kilderevisioner overlapper eller kommer efter destinationsrevisioner.", "mergehistory-fail-toobig": "Ude af stand til at flette historiken sammen, fordi flere end grænsen på $1 {{PLURAL:$1|version|versioner}} ville blive flyttet.", "mergehistory-no-source": "Kildesiden $1 findes ikke.", "mergehistory-no-destination": "Destinationssiden $1 findes ikke.", @@ -957,6 +967,7 @@ "search-category": "(kategorien $1)", "search-file-match": "(svarer til filens indhold)", "search-suggest": "Mente du: $1", + "search-rewritten": "Viser resultater for $1. Søg i stedet efter $2.", "search-interwiki-caption": "Resultater fra søsterprojekter", "search-interwiki-default": "Resultater fra $1:", "search-interwiki-more": "(mere)", @@ -968,6 +979,7 @@ "showingresultsinrange": "Herunder vises op til {{PLURAL:$1|1 resultat|$1 resultater}} fra nummer $2 til nummer $3.", "search-showingresults": "{{PLURAL:$4|Resultat $1 af $3|Resultat $1 - $2 af $3}}", "search-nonefound": "Søgningen gav ingen resultater.", + "search-nonefound-thiswiki": "Der var ingen resultater matchende forespørgslen på denne side.", "powersearch-legend": "Avanceret søgning", "powersearch-ns": "Søg i navnerummene:", "powersearch-togglelabel": "Marker:", @@ -1036,7 +1048,8 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Indiske Ocean", "timezoneregion-pacific": "Stillehavet", - "allowemail": "Tillad e-mail fra andre brugere", + "allowemail": "Tillad at andre brugere sender mig beskeder", + "email-blacklist-label": "Forbyd disse brugere i at sende mig beskeder:", "prefs-searchoptions": "Søg", "prefs-namespaces": "Navnerum", "default": "standard", @@ -1078,6 +1091,7 @@ "prefs-editor": "Redigeringsprogrammet", "prefs-preview": "Forhåndsvisning", "prefs-advancedrc": "Avancerede indstillinger", + "prefs-opt-out": "Vælg ikke at få forbedringer", "prefs-advancedrendering": "Avancerede indstillinger", "prefs-advancedsearchoptions": "Avancerede indstillinger", "prefs-advancedwatchlist": "Avancerede indstillinger", @@ -1093,11 +1107,13 @@ "userrights-user-editname": "Skriv et brugernavn:", "editusergroup": "Indlæs brugergrupper", "editinguser": "Ændrer brugerrettigheder for {{GENDER:$1|brugeren}} [[User:$1|$1]] $2", + "viewinguserrights": "Viser brugerrettigheder for {{GENDER:$1|bruger}} [[User:$1|$1]] $2", "userrights-editusergroup": "Redigér {{GENDER:$1|brugergrupper}}", + "userrights-viewusergroup": "Vis {{GENDER:$1|user}}-grupper", "saveusergroups": "Gem {{GENDER:$1|brugergrupper}}", "userrights-groupsmember": "Medlem af:", "userrights-groupsmember-auto": "Implicit medlem af:", - "userrights-groups-help": "Du kan ændre denne brugers gruppemedlemsskaber:\n* Et markeret afkrydsningsfelt betyder at brugeren er medlen af den pågældende gruppe.\n* Et umarkeret felt betyder at brugeren ikke er medlem af gruppen.\n* En * betyder at du ikke kan fravælge gruppen, når den først er tilføjet og omvendt.", + "userrights-groups-help": "Du kan ændre denne brugers gruppemedlemsskaber:\n* Et markeret afkrydsningsfelt betyder at brugeren er medlen af den pågældende gruppe.\n* Et umarkeret felt betyder at brugeren ikke er medlem af gruppen.\n* En * betyder at du ikke kan fravælge gruppen, når den først er tilføjet og omvendt.\n* En # betyder at du kun kan forkorte udløbsperioden for dette gruppemedlemskab; du kan ikke forlænge den.", "userrights-reason": "Årsag:", "userrights-no-interwiki": "Du har ikke tilladelse til at redigere brugerrettigheder på andre wikier.", "userrights-nodatabase": "Databasen $1 eksisterer ikke lokalt.", @@ -1312,7 +1328,7 @@ "recentchanges-submit": "Vis", "rcfilters-tag-remove": "Fjern »$1«", "rcfilters-legend-heading": "Liste over forkortelser:", - "rcfilters-other-review-tools": "Andre gennemgangsværktøjer", + "rcfilters-other-review-tools": "Andre gennemgangsværktøjer", "rcfilters-group-results-by-page": "Grupper resultater efter side", "rcfilters-grouping-title": "Gruppering", "rcfilters-activefilters": "Aktive filtre", @@ -1364,11 +1380,11 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Uregistrerede", "rcfilters-filter-user-experience-level-unregistered-description": "Redaktører, der ikke er logget ind.", "rcfilters-filter-user-experience-level-newcomer-label": "Nybegyndere", - "rcfilters-filter-user-experience-level-newcomer-description": "Færre end 10 redigeringer og 4 dages aktivitet", + "rcfilters-filter-user-experience-level-newcomer-description": "Registrerede brugere som har færre end 10 redigeringer eller 4 dages aktivitet.", "rcfilters-filter-user-experience-level-learner-label": "Let øvede", "rcfilters-filter-user-experience-level-learner-description": "Mere erfaring end \"nybegyndere\" men mindre end \"erfarne brugere\".", "rcfilters-filter-user-experience-level-experienced-label": "Erfarne brugere", - "rcfilters-filter-user-experience-level-experienced-description": "Over 30 dages aktivitet og 500 redigeringer.", + "rcfilters-filter-user-experience-level-experienced-description": "Registrerede skribenter med mere end 500 redigeringer og 30 dages aktivitet.", "rcfilters-filtergroup-automated": "Automatiserede bidrag", "rcfilters-filter-bots-label": "Bot", "rcfilters-filter-bots-description": "Redigeringer udført af automatiserede værktøjer.", @@ -1406,10 +1422,12 @@ "rcfilters-filter-lastrevision-label": "Seneste revision", "rcfilters-filter-lastrevision-description": "Den nyeste ændring af en side.", "rcfilters-filter-previousrevision-label": "Tidligere revisioner", - "rcfilters-filter-previousrevision-description": "Alle ændringer som ikke er den nyeste ændring af en side.", + "rcfilters-filter-previousrevision-description": "Alle ændringer som ikke er »seneste revision«.", + "rcfilters-filter-excluded": "Ekskluderet", "rcfilters-view-advanced-filters-label": "Avancerede filtre", "rcfilters-view-tags": "Mærkede redigeringer", "rcfilters-view-namespaces-tooltip": "Filtrer resultater efter navnerum", + "rcfilters-watchlist-markseen-button": "Marker alle ændringer som set", "rcfilters-watchlist-edit-watchlist-button": "Rediger din liste med overvågede sider", "rcfilters-preference-label": "Skjul den forbedrede verson af Seneste ændringer", "rcnotefrom": "Nedenfor er op til '''$1''' {{PLURAL:$5|ændring|ændringer}} siden '''$2''' vist.", @@ -1891,6 +1909,7 @@ "apisandbox-results": "Resultater", "apisandbox-sending-request": "Sender API-forespørgsel ...", "apisandbox-loading-results": "Modtager API-resultater ...", + "apisandbox-results-error": "Der opstod en fejl under indlæsning af API-forespørgelsessvaret: $1.", "apisandbox-request-format-url-label": "Adresseforepørgselsstreng", "apisandbox-request-url-label": "Forespurgt URL:", "apisandbox-request-time": "Forespørgselstid: {{PLURAL:$1|$1 ms}}", @@ -1958,7 +1977,10 @@ "activeusers-intro": "Dette er en liste over brugere, som har haft en eller anden form for aktivitet inden for {{PLURAL:$1|den|de}} seneste {{PLURAL:$1|dag|$1 dage}}.", "activeusers-count": "$1 {{PLURAL:$1|handling|handlinger}} i {{PLURAL:$3|det seneste døgn|de seneste $3 dage}}", "activeusers-from": "Vis brugere som starter med:", + "activeusers-groups": "Vis brugere tilhørende grupperne:", + "activeusers-excludegroups": "Ekskluder brugere tilhørende grupperne:", "activeusers-noresult": "Ingen brugere fundet.", + "activeusers-submit": "Vis aktive brugere", "listgrouprights": "Brugergrupperettigheder", "listgrouprights-summary": "Denne side viser de brugergrupper der er defineret på denne wiki og de enkelte gruppers rettigheder.\n\nDer findes muligvis [[{{MediaWiki:Listgrouprights-helppage}}|yderligere information]] om de enkelte rettigheder.", "listgrouprights-key": "Forklaring:\n* Bevilget rettighed\n* Tilbagetrukket rettighed", @@ -1977,12 +1999,15 @@ "listgrouprights-namespaceprotection-header": "Navnerumsbegrænsninger", "listgrouprights-namespaceprotection-namespace": "Navnerum", "listgrouprights-namespaceprotection-restrictedto": "Rettighed(er) der giver brugeren mulighed for at redigere", + "listgrants": "Tildelinger", + "listgrants-grant": "Tildeling", "listgrants-rights": "Rettigheder", "trackingcategories": "Sporingskategorier", "trackingcategories-summary": "Denne side viser sporing af de kategorier, som er automatisk udfyldt af MediaWiki-softwaren. Deres navne kan ændres ved at ændre de relevante system-beskeder i {{ns:8}}-navnerummet.", "trackingcategories-msg": "Sporingskategori", "trackingcategories-name": "Navn på besked", "trackingcategories-desc": "Optagelseskriterier for kategori", + "restricted-displaytitle-ignored": "Sider med ignorerede visningstitler", "noindex-category-desc": "Siden indekseres ikke af robotter, fordi den indeholder det magiske ord __NOINDEX__ og er i et navnerum, hvor dette flag er tilladt.", "index-category-desc": "Siden indeholder __INDEX__ (og er i et navnerum, hvor dette flag er tilladt), og bliver derfor indekseret af robotter, hvor den normalt ikke ville blive det.", "post-expand-template-inclusion-category-desc": "Siden er større end $wgMaxArticleSize efter alle skabeloner er udvidet, så nogle skabeloner blev ikke udvidet.", @@ -2039,7 +2064,7 @@ "unwatchthispage": "Fjern overvågning", "notanarticle": "Ikke en artikel", "notvisiblerev": "Versionen er blevet slettet", - "watchlist-details": "Du har {{PLURAL:$1|$1 side|$1 sider}} på din overvågningsliste (uden at medregne diskussionssider).", + "watchlist-details": "{{PLURAL:$1|$1 side er|$1 sider er}} på din overvågningsliste (plus diskussionssider).", "wlheader-enotif": "E-mail-underretning er slået til.", "wlheader-showupdated": "Sider, der er ændret siden dit sidste besøg, er vist med '''fed skrift'''.", "wlnote": "Nedenfor ses {{PLURAL:$1|den seneste ændring|de seneste $1 ændringer}} i {{PLURAL:$2|den sidste time|de sidste $2 timer}} op til den $3 kl. $4.", @@ -2116,9 +2141,14 @@ "rollback-success": "Ændringerne fra $1 er fjernet,\nog den seneste version af $2 er gendannet.", "sessionfailure-title": "Sessionsfejl", "sessionfailure": "Der lader til at være et problem med din loginsession; denne handling blev annulleret som en sikkerhedsforanstaltning mod kapring af sessionen. Tryk på \"tilbage\"-knappen og genindlæs den side du kom fra, og prøv dernæst igen.", + "changecontentmodel-legend": "Ændr indholdsmodel", "changecontentmodel-title-label": "Sidetitel", "changecontentmodel-model-label": "Ny indholdsmodel", "changecontentmodel-reason-label": "Begrundelse:", + "changecontentmodel-submit": "Ændr", + "changecontentmodel-success-title": "Indholdsmodellen blev ændret", + "changecontentmodel-success-text": "Indholdstypen for [[:$1]] er blevet ændret.", + "changecontentmodel-cannot-convert": "Indholdet for [[:$1]] kan ikke konverteres til en type af $2.", "changecontentmodel-emptymodels-title": "Ingen indholdsmodeller er tilgængelige", "changecontentmodel-emptymodels-text": "Indholdet på [[:$1]] kan ikke konverteres til en anden type.", "protectlogpage": "Skrivebeskyttelseslog", @@ -2202,6 +2232,7 @@ "undelete-search-title": "Søg i slettede sider", "undelete-search-box": "Søg efter slettede sider", "undelete-search-prefix": "Vis sider som starter med:", + "undelete-search-full": "Vis sidetitler indeholdende:", "undelete-search-submit": "Søg", "undelete-no-results": "Der blev ikke fundet en passende side i arkivet.", "undelete-filename-mismatch": "Kan ikke gendanne filen med tidsstempel $1: forkert filnavn", @@ -2268,8 +2299,7 @@ "block": "Bloker bruger", "unblock": "Ophæv blokering af bruger", "blockip": "Bloker {{GENDER:$1|bruger}}", - "blockip-legend": "Bloker bruger", - "blockiptext": "Brug formularen herunder til at blokere for skriveadgang fra en bestemt IP-adresse eller et brugernavn.\nDette bør kun gøres for at forhindre vandalisme og skal være i overensstemmelse med [[{{MediaWiki:Policy-url}}|retningslinjerne]].\nAngiv en konkret begrundelse herunder (for eksempel med angivelse af sider der har været udsat for vandalisme).", + "blockiptext": "Brug formularen herunder til at blokere for skriveadgang fra en bestemt IP-adresse eller et brugernavn.\nDette bør kun gøres for at forhindre vandalisme og skal være i overensstemmelse med [[{{MediaWiki:Policy-url}}|retningslinjerne]].\nAngiv en konkret begrundelse herunder (for eksempel med angivelse af sider der har været udsat for vandalisme).\nDu kan blokere IP-adresseintervaller via syntaksen fra [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]; det største tilladte interval er /$1 for IPv4 og /$2 for IPv6.", "ipaddressorusername": "IP-adresse eller brugernavn", "ipbexpiry": "varighed", "ipbreason": "Begrundelse:", @@ -2304,10 +2334,12 @@ "unblocked": "[[User:$1|$1]] blev frigivet", "unblocked-range": "$1 er fjernet fra blokering", "unblocked-id": "Blokering $1 er blevet fjernet", + "unblocked-ip": "[[Special:Contributions/$1|$1]] har fået fjernet blokering.", "blocklist": "Blokerede brugere", "autoblocklist": "Autoblokeringer", "autoblocklist-submit": "Søg", "autoblocklist-legend": "Vis autoblokeringer", + "autoblocklist-total-autoblocks": "Samlet antal automatiske blokeringer: $1", "autoblocklist-empty": "Autoblokeringslisten er tom.", "autoblocklist-otherblocks": "Andre {{PLURAL:$1|autoblokering|autoblokeringer}}", "ipblocklist": "Blokerede brugere", @@ -3306,6 +3338,7 @@ "tags-active-yes": "Ja", "tags-active-no": "Nej", "tags-source-extension": "Defineret af programmellet", + "tags-source-manual": "Anvendt manuelt af brugere og robotter", "tags-source-none": "Anvendes ikke længere", "tags-edit": "redigér", "tags-delete": "slet", diff --git a/languages/i18n/de-ch.json b/languages/i18n/de-ch.json index 613247613d..d37dc57b22 100644 --- a/languages/i18n/de-ch.json +++ b/languages/i18n/de-ch.json @@ -9,7 +9,11 @@ "SVG", "The Evil IP address", "Umherirrender", - "Das Schäfchen" + "Das Schäfchen", + "FriedhelmW", + "J. 'mach' wust", + "Macofe", + "Marcell0" ] }, "tog-hideminor": "Kleine Änderungen in den «Letzten Änderungen» ausblenden", @@ -17,13 +21,64 @@ "tog-newpageshidepatrolled": "Kontrollierte Seiten bei den «Neuen Seiten» ausblenden", "tog-usenewrc": "Seitenbezogene Gruppierung in den «Letzten Änderungen» und auf der Beobachtungsliste", "tog-minordefault": "Eigene Änderungen standardmässig als minim markieren", + "january": "Januar", + "february": "Februar", + "march": "März", + "april": "April", + "may_long": "Mai", + "june": "Juni", + "july": "Juli", + "august": "August", + "september": "September", + "october": "Oktober", + "november": "November", + "december": "Dezember", + "jan": "Jan.", + "feb": "Feb.", + "mar": "Mär.", + "apr": "Apr.", + "may": "Mai", + "jun": "Jun.", + "jul": "Juli", + "aug": "Aug.", + "sep": "Sep.", + "oct": "Okt.", + "nov": "Nov.", + "dec": "Dez.", "category_header": "Seiten in der Kategorie «$1»", "category-media-header": "Medien in der Kategorie «$1»", + "navigation": "Navigation", + "namespaces": "Namensräume", + "variants": "Varianten", + "navigation-heading": "Navigationsmenü", + "help": "Hilfe", + "search": "Suche", + "searchbutton": "Suche", + "searcharticle": "Gehe", + "printableversion": "Druckbare Version", + "edit": "Bearbeiten", + "talkpagelinktext": "Diskussion", + "personaltools": "Meine Werkzeuge", + "talk": "Diskussion", + "views": "Ansichten", + "toolbox": "Werkzeuge", + "jumpto": "Wechseln zu:", + "jumptonavigation": "Navigation", + "jumptosearch": "Suche", + "aboutsite": "Über {{SITENAME}}", + "aboutpage": "Project:Über_{{SITENAME}}", + "disclaimers": "Impressum", + "disclaimerpage": "Project:Impressum", + "privacy": "Datenschutz", + "privacypage": "Project:Datenschutz", "badaccess-groups": "Diese Aktion ist auf Benutzer beschränkt, die {{PLURAL:$2|der Gruppe|einer der Gruppen}} «$1» angehören.", "retrievedfrom": "Von «$1»", + "editsection": "Bearbeiten", + "editsectionhint": "Abschnitt bearbeiten: $1", "site-atom-feed": "Atom-Feed für «$1»", "page-rss-feed": "RSS-Feed für «$1»", "page-atom-feed": "Atom-Feed für «$1»", + "red-link-title": "$1 (Seite nicht vorhanden)", "missing-article": "Der Text von «$1» $2 wurde nicht in der Datenbank gefunden.\n\nDie Seite ist möglicherweise gelöscht oder verschoben worden.\n\nFalls dies nicht zutrifft, hast du eventuell einen Fehler in der Software gefunden. Bitte melde dies einem [[Special:ListUsers/sysop|Administrator]] unter Nennung der URL.", "filecopyerror": "Die Datei «$1» konnte nicht nach «$2» kopiert werden.", "filerenameerror": "Die Datei «$1» konnte nicht nach «$2» umbenannt werden.", @@ -35,11 +90,11 @@ "cannotdelete-title": "Seite «$1» kann nicht gelöscht werden", "actionthrottledtext": "Im Rahmen einer Anti-Spam-Massnahme oder aufgrund eines Missbrauchsfilters kann diese Aktion in einem kurzen Zeitabstand nur begrenzt oft ausgeführt werden. Diese Grenze hast du überschritten.\nBitte versuche es in ein paar Minuten erneut.", "editinginterface": "'''Warnung:''' Diese Seite enthält von der MediaWiki-Software genutzten Text.\nÄnderungen auf dieser Seite wirken sich auf die Benutzeroberfläche dieses Wikis aus.\nNutze bitte [https://translatewiki.net/ translatewiki.net], das Lokalisierungsprojekt von MediaWiki, um Übersetzungen für alle Wikis hinzuzufügen oder zu ändern.", - "titleprotected": "Eine Seite mit diesem Namen kann nicht angelegt werden.\nDie Sperre wurde durch [[User:$1|$1]] mit der Begründung ''«$2»'' eingerichtet.", + "titleprotected": "Eine Seite mit diesem Namen kann nicht angelegt werden.\nDie Sperre wurde durch [[User:$1|$1]] mit der Begründung $2 eingerichtet.", "filereadonlyerror": "Die Datei «$1» kann nicht verändert werden, da auf das Dateirepositorium «$2» nur Lesezugriff möglich ist.\n\nDer Administrator, der den Schreibzugriff sperrte, gab folgenden Grund an: «$3».", "createacct-realname": "Richtiger Name (optional)", "loginsuccess": "Du bist jetzt als «$1» bei {{SITENAME}} angemeldet.", - "nosuchuser": "Der Benutzername «$1» existiert nicht.\nÜberprüfe die Schreibweise (Gross-/Kleinschreibung beachten) oder [[Special:UserLogin/signup|melde dich als neuer Benutzer an]].", + "nosuchuser": "Der Benutzername «$1» existiert nicht.\nÜberprüfe die Schreibweise (Gross-/Kleinschreibung beachten) oder [[Special:CreateAccount|melde dich als neuer Benutzer an]].", "nosuchusershort": "Der Benutzername «$1» ist nicht vorhanden. Bitte überprüfe die Schreibweise.", "passwordremindertext": "Jemand mit der IP-Adresse $1, wahrscheinlich du selbst, hat ein neues Passwort für die Anmeldung bei {{SITENAME}} ($4) angefordert.\n\nDas automatisch generierte Passwort für Benutzer «$2» lautet nun: $3\n\nFalls du dies wirklich gewünscht hast, solltest du dich jetzt anmelden und das Passwort ändern.\nDas neue Passwort ist {{PLURAL:$5|1 Tag|$5 Tage}} gültig.\n\nBitte ignoriere dieses E-Mail, falls du es nicht selbst angefordert hast. Das alte Passwort bleibt weiterhin gültig.", "noemail": "{{GENDER:$1|Benutzer|Benutzerin|Benutzer}} «$1» hat keine E-Mail-Adresse angegeben.", @@ -49,14 +104,14 @@ "mailerror": "Fehler beim Senden des E-Mails: $1", "createaccount-text": "Es wurde für dich ein Benutzerkonto «$2» auf {{SITENAME}} ($4) erstellt. Das automatisch generierte Passwort für «$2» ist «$3». Du solltest dich nun anmelden und das Passwort ändern.\n\nFalls das Benutzerkonto irrtümlich angelegt wurde, kannst du diese Nachricht ignorieren.", "createacct-another-realname-tip": "Der richtige Name ist optional.\nWenn du ihn angibst, wird er für die Zuordnung der Beiträge verwendet.", + "pt-login": "Anmelden", + "pt-createaccount": "Benutzerkonto erstellen", "user-mail-no-addy": "Versuchte, ein E-Mail ohne Angabe einer E-Mail-Adresse zu versenden", "user-mail-no-body": "Es wurde versucht, ein E-Mail mit einem leeren oder zu kurzen Textkörper zu versenden.", "resetpass_announce": "Um die Anmeldung abzuschliessen, musst du ein neues Passwort festlegen.", - "passwordreset-emailsent": "Ein Passwortzurücksetzungs-E-Mail wurde versandt.", - "passwordreset-emailsent-capture": "Ein Passwortzurücksetzungs-E-Mail wurde versandt, das unten angezeigt wird.", - "passwordreset-emailerror-capture": "Die unten angezeigte Passwortzurücksetzungs-E-Mail wurde generiert, allerdings ist der Versand an {{GENDER:$2|den Benutzer|die Benutzerin}} gescheitert: $1", - "missingsummary": "'''Hinweis:''' Du hast keine Zusammenfassung angegeben. Wenn du erneut auf «{{int:savearticle}}» klickst, wird deine Änderung ohne Zusammenfassung übernommen.", - "missingcommentheader": "'''Achtung:''' Du hast kein Betreff/Überschrift eingegeben. Wenn du erneut auf «{{int:savearticle}}» klickst, wird deine Bearbeitung ohne Überschrift gespeichert.", + "passwordreset-emailsentemail": "Ein Passwortzurücksetzungs-E-Mail wurde versandt.", + "missingsummary": "'''Hinweis:''' Du hast keine Zusammenfassung angegeben. Wenn du erneut auf «$1» klickst, wird deine Änderung ohne Zusammenfassung übernommen.", + "missingcommentheader": "'''Achtung:''' Du hast kein Betreff/Überschrift eingegeben. Wenn du erneut auf «$1» klickst, wird deine Bearbeitung ohne Überschrift gespeichert.", "blockedtext": "'''Dein Benutzername oder deine IP-Adresse wurde gesperrt.'''\n\nDie Sperrung wurde von $1 durchgeführt.\nAls Grund wurde ''$2'' angegeben.\n\n* Beginn der Sperre: $8\n* Ende der Sperre: $6\n* Sperre betrifft: $7\n\nDu kannst $1 oder einen der anderen [[{{MediaWiki:Grouppage-sysop}}|Administratoren]] kontaktieren, um über die Sperre zu diskutieren.\nDu kannst die «E-Mail an diesen Benutzer»-Funktion nicht nutzen, solange keine gültige E-Mail-Adresse in deinen [[Special:Preferences|Benutzerkonto-Einstellungen]] eingetragen ist oder diese Funktion für dich gesperrt wurde.\nDeine aktuelle IP-Adresse ist $3, und die Sperr-ID ist $5.\nBitte füge alle Informationen jeder Anfrage hinzu, die du stellst.", "autoblockedtext": "Deine IP-Adresse wurde automatisch gesperrt, da sie von einem anderen Benutzer genutzt wurde, der von $1 gesperrt wurde.\nAls Grund wurde angegeben:\n\n:''$2''\n\n* Beginn der Sperre: $8\n* Ende der Sperre: $6\n* Sperre betrifft: $7\n\nDu kannst $1 oder einen der anderen [[{{MediaWiki:Grouppage-sysop}}|Administratoren]] kontaktieren, um über die Sperre zu diskutieren.\n\nDu kannst die «E-Mail an diesen Benutzer»-Funktion nicht nutzen, solange keine gültige E-Mail-Adresse in deinen [[Special:Preferences|Benutzerkonto-Einstellungen]] eingetragen ist oder diese Funktion für dich gesperrt wurde.\n\nDeine aktuelle IP-Adresse ist $3, und die Sperr-ID ist $5.\nBitte füge alle Informationen jeder Anfrage hinzu, die du stellst.", "confirmedittext": "Du musst deine E-Mail-Adresse erst bestätigen, bevor du Bearbeitungen durchführen kannst. Bitte ergänze und bestätige dein E-Mail in den [[Special:Preferences|Einstellungen]].", @@ -71,7 +126,7 @@ "creating": "Erstellen von «$1»", "editingsection": "Bearbeiten von «$1» (Abschnitt)", "editingcomment": "Bearbeiten von «$1» (Neuer Abschnitt)", - "explainconflict": "Jemand anders hat diese Seite geändert, nachdem du angefangen hast, sie zu bearbeiten.\nDas obere Textfeld enthält den aktuellen Bearbeitungsstand der Seite.\nDas untere Textfeld enthält deine Änderungen.\nBitte füge deine Änderungen in das obere Textfeld ein.\n'''Nur''' der Inhalt des oberen Textfeldes wird gespeichert, wenn du auf «{{int:savearticle}}» klickst.", + "explainconflict": "Jemand anders hat diese Seite geändert, nachdem du angefangen hast, sie zu bearbeiten.\nDas obere Textfeld enthält den aktuellen Bearbeitungsstand der Seite.\nDas untere Textfeld enthält deine Änderungen.\nBitte füge deine Änderungen in das obere Textfeld ein.\n'''Nur''' der Inhalt des oberen Textfeldes wird gespeichert, wenn du auf «$1» klickst.", "copyrightwarning": "'''Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!'''
    \nDu gibst uns hiermit deine Zusage, dass du den Text '''selbst verfasst''' hast, dass der Text Allgemeingut '''(public domain)''' ist, oder dass der '''Urheber''' seine '''Zustimmung''' gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin.\nBitte beachte, dass alle {{SITENAME}}-Beiträge automatisch unter der «$2» stehen (siehe $1 für Einzelheiten). Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann drücke nicht auf «Seite speichern».", "longpageerror": "'''Fehler: Der Text, den du zu speichern versuchst, ist {{PLURAL:$1|ein Kilobyte|$1 Kilobytes}} gross. Dies ist grösser als das erlaubte Maximum von {{PLURAL:$2|ein Kilobyte|$2 Kilobytes}}.'''\nEr kann nicht gespeichert werden.", "post-expand-template-inclusion-warning": "Warnung: Die Grösse eingebundener Vorlagen ist zu gross, einige Vorlagen können nicht eingebunden werden.", @@ -82,7 +137,7 @@ "revdelete-show-no-access": "Fehler beim Anzeigen des Eintrags vom $1, $2 Uhr: Dieser Eintrag wurde als «eingeschränkt» markiert.\nDu hast darauf keinen Zugriff.", "revdelete-modify-no-access": "Fehler beim Bearbeiten des Eintrags vom $1, $2 Uhr: Dieser Eintrag wurde als «eingeschränkt» markiert.\nDu hast darauf keinen Zugriff.", "mergehistory-merge": "Die folgenden Versionen von «[[:$1]]» können nach «[[:$2]]» übertragen werden. Markiere die Version, bis zu der (einschliesslich) die Versionen übertragen werden sollen. Bitte beachte, dass die Nutzung der Navigationslinks die Auswahl zurücksetzt.", - "mergehistory-success": "{{PLURAL:$3|1 Version|$3 Versionen}} von «[[:$1]]» erfolgreich nach «[[:$2]]» vereinigt.", + "mergehistory-done": "{{PLURAL:$3|1 Version|$3 Versionen}} von «$1» erfolgreich nach «[[:$2]]» vereinigt.", "mergehistory-no-source": "Ursprungsseite «$1» ist nicht vorhanden.", "mergehistory-no-destination": "Zielseite «$1» ist nicht vorhanden.", "mergehistory-autocomment": "«[[:$1]]» vereinigt nach «[[:$2]]»", @@ -99,6 +154,9 @@ "recentchangescount": "Anzahl der standardmässig angezeigten Bearbeitungen:", "yourrealname": "Richtiger Name:", "prefs-help-signature": "Beiträge auf Diskussionsseiten sollten mit «~~~~» signiert werden, was dann in die Signatur mit Zeitstempel umgewandelt wird.", + "gender-unknown": "«Der Benutzer», «seine Diskussion», «er bearbeitet» usw.", + "gender-male": "«Der Benutzer», «seine Diskussion», «er bearbeitet» usw. (männlich)", + "gender-female": "«Die Benutzerin», «ihre Diskussion», «sie bearbeitet» usw. (weiblich)", "prefs-help-realname": "Dies ist eine freiwillige Angabe. Damit kann dein richtiger Name deinen Beiträgen zugeordnet werden.", "right-createpage": "Seiten erstellen (ausser Diskussionsseiten)", "right-nominornewtalk": "Kleine Bearbeitungen an Diskussionsseiten führen zu keiner «Neue Nachrichten»-Anzeige", @@ -106,9 +164,9 @@ "right-viewmyprivateinfo": "Eigene private Daten ansehen (beispielsweise E-Mail-Adresse, richtiger Name)", "right-editmyprivateinfo": "Eigene private Daten bearbeiten (beispielsweise E-Mail-Adresse, richtiger Name)", "right-override-export-depth": "Exportiere Seiten einschliesslich verlinkter Seiten bis zu einer Tiefe von 5", - "right-passwordreset": "Passwort eines Benutzers zurücksetzen und das dazu verschickte E-Mail einsehen", "recentchanges-label-plusminus": "Die Änderung der Seitengrösse in Bytes", "rc_categories": "Nur Seiten aus den Kategorien (getrennt mit «|»):", + "rc-change-size-new": "$1 {{PLURAL:$1|Byte|Bytes}} nach der Änderung", "rc-old-title": "ursprünglich erstellt als «$1»", "recentchangeslinked-title": "Änderungen an Seiten, die von «$1» verlinkt sind", "uploadtext": "Benutze dieses Formular, um neue Dateien hochzuladen.\n\nGehe zu der [[Special:FileList|Liste hochgeladener Dateien]], um vorhandene Dateien zu suchen und anzuzeigen. Siehe auch das [[Special:Log/upload|Datei-]] und [[Special:Log/delete|Lösch-Logbuch]].\n\nUm ein '''Bild''' in einer Seite zu verwenden, nutze einen Link in der folgenden Form:\n* '''[[{{ns:file}}:Datei.jpg]]''' – für ein Vollbild\n* '''[[{{ns:file}}:Datei.png|200px|thumb|left|Alternativer Text]]''' – für ein 200px breites Bild innerhalb einer Box, mit «Alternativer Text» als Bildbeschreibung\n* '''[[{{ns:media}}:Datei.ogg]]''' – für einen direkten Link auf die Datei, ohne Darstellung der Datei", @@ -169,12 +227,12 @@ "randomredirect-nopages": "Im Namensraum «$1» sind keine Weiterleitungen vorhanden.", "alllogstext": "Dies ist die kombinierte Anzeige aller in {{SITENAME}} geführten Logbücher.\nDie Ausgabe kann durch die Auswahl des Logbuchtyps, des Benutzers oder des Seitentitels eingeschränkt werden (Gross-/Kleinschreibung muss beachtet werden).", "allpages-bad-ns": "Der Namensraum «$1» ist in {{SITENAME}} nicht vorhanden.", - "linksearch-text": "Diese Spezialseite ermöglicht die Suche nach Seiten, in denen bestimmte Weblinks enthalten sind. Dabei können Platzhalter wie beispielsweise *.beispiel.ch benutzt werden. Es muss mindestens eine Top-Level-Domain, z. B. «*.org». angegeben werden.
    {{PLURAL:$2|Unterstütztes Protokoll|Unterstützte Protokolle}}: $1 (Standard ist http, falls kein Protokoll angegeben ist.)", - "post-expand-template-inclusion-category-desc": "Nach dem Expandieren aller Vorlagen ist die Seitengrösse grösser als $wgMaxArticleSize, sodass einige Vorlagen nicht expandiert werden.", + "linksearch-text": "Diese Spezialseite ermöglicht die Suche nach Seiten, in denen bestimmte Weblinks enthalten sind. Dabei können Platzhalter wie beispielsweise *.beispiel.ch benutzt werden. Es muss mindestens eine Top-Level-Domain, z. B. «*.org». angegeben werden.
    {{PLURAL:$2|Unterstütztes Protokoll|Unterstützte Protokolle}}: $1 (Standard ist http, falls kein Protokoll angegeben ist.)", + "post-expand-template-inclusion-category-desc": "Die Seitengrösse ist nach dem Expandieren aller Vorlagen grösser als $wgMaxArticleSize, so dass einige Vorlagen nicht expandiert wurden.", "post-expand-template-argument-category-desc": "Nach dem Expandieren eines Vorlagenargumentes (etwas in dreifach geschweiften Klammern, z. B. {{{Foo}}}) ist die Seite grösser als $wgMaxArticleSize.", "hidden-category-category-desc": "Dies ist eine Kategorie mit __HIDDENCAT__, die standardmässig nicht auf Seiten im Kategorienbereich angezeigt wird.", "emailpagetext": "Du kannst {{GENDER:$1|dem Benutzer|der Benutzerin}} mit dem unten stehenden Formular ein E-Mail senden.\nAls Absender wird die E-Mail-Adresse aus deinen [[Special:Preferences|Einstellungen]] eingetragen, damit {{GENDER:$1|der Benutzer|die Benutzerin}} dir direkt antworten kann.", - "defemailsubject": "{{SITENAME}} - E-Mail von Benutzer «$1»", + "defemailsubject": "{{SITENAME}} - E-Mail von {{GENDER:$1|Benutzer|Benutzerin}} «$1»", "emailnotarget": "Nicht vorhandener oder ungültiger Benutzername für den Empfang eines E-Mails.", "emailccme": "Sende eine Kopie des E-Mails an mich", "emailsenttext": "Dein E-Mail wurde verschickt.", @@ -187,7 +245,7 @@ "exbeforeblank": "Inhalt vor dem Leeren der Seite: «$1»", "delete-confirm": "Löschen von «$1»", "deletedtext": "«$1» wurde gelöscht. Im $2 findest du eine Liste der letzten Löschungen.", - "editcomment": "Die Änderungszusammenfassung lautet: ''«$1»''.", + "editcomment": "Die Änderungszusammenfassung lautet: $1.", "protectedarticle": "schützte «[[$1]]»", "modifiedarticleprotection": "änderte den Schutz von «[[$1]]»", "unprotectedarticle": "hob den Schutz von «[[$1]]» auf", @@ -205,6 +263,7 @@ "undeletedpage": "'''«$1»''' wurde wiederhergestellt.\n\nIm [[Special:Log/delete|Lösch-Logbuch]] findest du eine Übersicht der gelöschten und wiederhergestellten Seiten.", "undelete-cleanup-error": "Fehler beim Löschen der unbenutzten Archiv-Version «$1».", "undelete-show-file-confirm": "Bist du sicher, dass du eine gelöschte Version der Datei «$1» vom $2, $3 Uhr sehen willst?", + "blanknamespace": "(Hauptseite)", "contributions-title": "Benutzerbeiträge von «$1»", "whatlinkshere-title": "Seiten, die auf «$1» verlinken", "linkshere": "Die folgenden Seiten verlinken auf '''«[[:$1]]»''':", @@ -213,6 +272,7 @@ "ipb-confirmhideuser": "Du bist gerade dabei, einen Benutzer im Modus «Benutzer verstecken» zu sperren. Dies führt dazu, dass der Benutzername in allen Listen und Logbüchern unterdrückt wird. Möchtest du das wirklich tun?", "ipb-unblock-addr": "«$1» freigeben", "ipb-blocklist-contribs": "Benutzerbeiträge von «$1»", + "contribslink": "Beiträge", "autoblocker": "Automatische Sperre, da du eine gemeinsame IP-Adresse mit [[User:$1|$1]] benutzt.\nGrund der Benutzersperre: «$2»", "blocklogentry": "sperrte «[[$1]]» für den Zeitraum: $2 $3", "reblock-logentry": "änderte die Sperre von «[[$1]]» für den Zeitraum: $2 $3", @@ -239,11 +299,17 @@ "import-error-interwiki": "Die Seite «$1» wurde nicht importiert, da deren Name für externe Links (Interwiki) reserviert ist.", "import-error-special": "Die Seite «$1» wurde nicht importiert, da sie zu einem besonderen Namensraum gehört, in dem keine Seiten möglich sind.", "import-error-invalid": "Seite «$1» wurde nicht importiert, da deren Name ungültig ist.", - "import-logentry-upload": "importierte «[[$1]]» von einer Datei", - "import-logentry-interwiki": "importierte «$1» (Transwiki)", - "javascripttest-pagetext-unknownframework": "Unbekanntes Framework «$1».", + "tooltip-pt-createaccount": "Wir ermutigen dich ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich.", + "tooltip-search": "{{SITENAME}} durchsuchen", + "tooltip-search-go": "Gehe zur Seite mit diesem exakten Namen, falls diese existiert.", + "tooltip-search-fulltext": "Durchsuche die Seiten nach diesem Text", + "tooltip-p-logo": "Hauptseite aufsuchen", + "tooltip-n-recentchanges": "Liste der letzten Änderungen in diesem Wiki", + "tooltip-n-help": "Der Platz um herauszufinden", "tooltip-t-emailuser": "Ein E-Mail an diesen Benutzer senden", + "tooltip-t-specialpages": "Liste aller Spezialseiten", "pageinfo-title": "Informationen zu «$1»", + "pageinfo-toolboxlink": "Informationen zur Seite", "markedaspatrollederror": "Markierung als «kontrolliert» nicht möglich.", "filedelete-missing": "Die Datei «$1» kann nicht gelöscht werden, da sie nicht vorhanden ist.", "filedelete-old-unregistered": "Die angegebene Datei-Version «$1» ist nicht in der Datenbank vorhanden.", @@ -277,19 +343,17 @@ "autosumm-new": "Die Seite wurde neu angelegt: «$1»", "watchlistedit-normal-explain": "Dies sind die Einträge deiner Beobachtungsliste. Um Einträge zu entfernen, markiere die Kästchen neben den Einträgen und klicke am Ende der Seite auf «{{int:Watchlistedit-normal-submit}}». Du kannst deine Beobachtungsliste auch im [[Special:EditWatchlist/raw|Listenformat bearbeiten]].", "watchlistedit-raw-explain": "Dies sind die Einträge deiner Beobachtungsliste im Listenformat. Die Einträge können zeilenweise gelöscht oder hinzugefügt werden.\nPro Zeile ist ein Eintrag erlaubt. Sobald du fertig bist, klicke auf «{{int:Watchlistedit-raw-submit}}».\nDu kannst auch die [[Special:EditWatchlist|Standardseite]] zum Bearbeiten benutzen.", - "unknown_extension_tag": "Unbekanntes Parsertag «$1»", "duplicate-defaultsort": "Achtung: Der Sortierungsschlüssel «$2» überschreibt den vorher verwendeten Schlüssel «$1».", "version-license-info": "MediaWiki ist freie Software, d. h. sie kann, gemäss den Bedingungen der von der Free Software Foundation veröffentlichten ''GNU General Public License'', weiterverteilt und/oder modifiziert werden. Dabei kann die Version 2, oder nach eigenem Ermessen, jede neuere Version der Lizenz verwendet werden.\n\nMediaWiki wird in der Hoffnung verteilt, dass es nützlich sein wird, allerdings OHNE JEGLICHE GARANTIE und sogar ohne die implizierte Garantie einer MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Hierzu sind weitere Hinweise in der ''GNU General Public License'' enthalten.\n\nEine [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie der ''GNU General Public License''] sollte zusammen mit diesem Programm verteilt worden sein. Sofern dies nicht der Fall war, kann eine Kopie bei der Free Software Foundation Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA, schriftlich angefordert oder auf deren Website [//www.gnu.org/licenses/old-licenses/gpl-2.0.html online gelesen] werden.", "fileduplicatesearch-info": "$1 × $2 Pixel
    Dateigrösse: $3
    MIME-Typ: $4", "fileduplicatesearch-result-1": "Die Datei «$1» hat keine identischen Duplikate.", "fileduplicatesearch-result-n": "Die Datei «$1» hat {{PLURAL:$2|ein identisches Duplikat|$2 identische Duplikate}}.", "fileduplicatesearch-noresults": "Es wurde keine Datei namens «$1» gefunden.", + "specialpages": "Spezialseiten", "external_image_whitelist": " #Diese Zeile nicht verändern.

    \n#Untenstehend können Fragmente regulärer Ausdrücke (der Teil zwischen den //) eingegeben werden.\n#Diese werden mit den URLs von Bildern aus externen Quellen verglichen.\n#Ein positiver Vergleich führt zur Anzeige des Bildes, andernfalls wird das Bild nur als Link angezeigt.\n#Zeilen, die mit einem # beginnen, werden als Kommentar behandelt.\n#Es wird nicht zwischen Gross- und Kleinschreibung unterschieden.\n\n#Fragmente regulärer Ausdrücke nach dieser Zeile eintragen. Diese Zeile nicht verändern.
    ", "feedback-bugornote": "Sofern Du detailliert ein technisches Problem beschreiben möchtest, melde bitte [$1 einen Fehler].\nAnderenfalls kannst du auch das untenstehende einfache Formular nutzen. Dein Kommentar wird, zusammen mit deinem Benutzernamen und der Version des von Dir verwendeten Webbrowsers sowie Betriebssystems, auf der Seite «[$3 $2]» hinzugefügt.", "feedback-thanks": "Vielen Dank. Deine Rückmeldung wurde auf der Seite «[$2 $1]» gespeichert.", - "api-error-file-too-large": "Die hochgeladene Datei war zu gross.", - "api-error-hookaborted": "Die von dir vorgesehene Anpassung kann nicht durchgeführt werden (Unterbruch durch eine Programmschnittstelle).", - "api-error-unknown-code": "Unbekannter Fehler: «$1»", + "searchsuggest-search": "Suche", "api-error-unknown-warning": "Unbekannte Warnung: «$1»", "api-error-unknownerror": "Unbekannter Fehler: «$1»" } diff --git a/languages/i18n/de-formal.json b/languages/i18n/de-formal.json index a719fb62fd..e49e4e7396 100644 --- a/languages/i18n/de-formal.json +++ b/languages/i18n/de-formal.json @@ -161,7 +161,6 @@ "edit_form_incomplete": "'''Der Inhalt des Bearbeitungsformulars hat den Server nicht vollständig erreicht. Bitte prüfen Sie Ihre Bearbeitungen auf Vollständigkeit und versuchen Sie es erneut.'''", "explainconflict": "Jemand anders hat diese Seite geändert, nachdem Sie angefangen haben, sie zu bearbeiten.\nDas obere Textfeld enthält den aktuellen Bearbeitungsstand der Seite.\nDas untere Textfeld enthält Ihre Änderungen.\nBitte fügen Sie Ihre Änderungen in das obere Textfeld ein.\n'''Nur''' der Inhalt des oberen Textfeldes wird gespeichert, wenn Sie auf „$1“ klicken.", "yourtext": "Ihr Text", - "nonunicodebrowser": "'''Achtung: Ihr Browser kann Unicode-Zeichen nicht richtig verarbeiten.''' Es wird eine Hilfsroutine eingesetzt, um Ihnen zu erlauben, Seiten sicher zu bearbeiten: Nicht-ASCII-Zeichen werden dabei im Bearbeitungsfenster als hexadezimale Codes angezeigt.", "editingold": "'''Achtung: Sie bearbeiten eine alte Version dieser Seite. Sofern Sie sie speichern, werden alle neueren Versionen überschrieben.'''", "copyrightwarning": "'''Bitte kopieren Sie keine Webseiten, die nicht Ihre eigenen sind, benutzen Sie keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!'''
    \nSie geben uns hiermit Ihre Zusage, dass Sie den Text '''selbst verfasst''' haben, dass der Text Allgemeingut '''(public domain)''' ist, oder dass der '''Urheber''' seine '''Zustimmung''' gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weisen Sie bitte auf der Diskussionsseite darauf hin.\nBitte beachten Sie, dass alle {{SITENAME}}-Beiträge automatisch unter der „$2“ stehen (siehe $1 für Einzelheiten). Falls Sie nicht möchten, dass Ihre Arbeit hier von anderen verändert und verbreitet wird, dann klicken Sie nicht auf „Seite speichern“.", "copyrightwarning2": "Bitte beachten Sie, dass alle Beiträge zu {{SITENAME}} von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können.\nReichen Sie keine Texte ein, falls Sie nicht wollen, dass diese ohne Einschränkung geändert werden können.\n\nSie bestätigen hiermit auch, dass Sie diese Texte selbst geschrieben haben oder diese von einer gemeinfreien Quelle kopiert haben\n(weitere Einzelheiten unter $1). '''ÜBERTRAGEN SIE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!'''", @@ -344,6 +343,8 @@ "confirmemail_loggedin": "Ihre E-Mail-Adresse wurde erfolgreich bestätigt.", "confirmemail_body": "Hallo,\n\njemand mit der IP-Adresse $1, wahrscheinlich Sie selbst, hat das Benutzerkonto „$2“ bei {{SITENAME}} registriert.\n\nUm die E-Mail-Funktionen von {{SITENAME}} (wieder) zu aktivieren und um zu bestätigen,\ndass dieses Benutzerkonto wirklich zu Ihrer E-Mail-Adresse und damit zu Ihnen gehört, öffnen Sie bitte folgenden Link in Ihrem Browser:\n\n$3\n\nWenn Sie das genannte Benutzerkonto *nicht* registriert haben, folgen Sie diesem Link, um den Bestätigungsprozess abzubrechen:\n\n$5\n\nDieser Bestätigungscode ist gültig bis zum $6, $7 Uhr.", "confirmemail_body_set": "Jemand mit der IP-Adresse $1, wahrscheinlich Sie selbst,\nhat die E-Mail-Adresse des Benutzerkontos „$2“ auf {{SITENAME}} zu dieser E-Mail-Adresse abgeändert.\n\nUm zu bestätigen, dass dieses Benutzerkonto wirklich zu Ihnen gehört\nund um die E-Mail-Funktionen auf {{SITENAME}} zu aktivieren, öffnen Sie bitte den folgenden Link in Ihrem Browser:\n\n$3\n\nFalls das Konto *nicht* zu Ihnen gehört, bitte den nachfolgenden Link öffnen,\num die Bestätigung der E-Mail-Adresse abzubrechen:\n\n$5\n\nDieser Bestätigungscode ist gültig bis $4.", + "notificationemail_body_changed": "Jemand mit der IP-Adresse $1, wahrscheinlich Sie selbst, hat auf {{SITENAME}} die E-Mail-Adresse für das Benutzerkonto „$2“ auf „$3“ geändert.\n\nFalls Sie dies nicht waren, kontaktieren Sie bitte umgehend einen Administrator des Wikis.", + "notificationemail_body_removed": "Jemand mit der IP-Adresse $1, wahrscheinlich Sie selbst, hat auf {{SITENAME}} die E-Mail-Adresse für das Benutzerkonto „$2“ entfernt.\n\nFalls Sie dies nicht waren, kontaktieren Sie bitte umgehend einen Administrator des Wikis.", "deletedwhileediting": "Achtung: Diese Seite wurde gelöscht, nachdem Sie angefangen haben, sie zu bearbeiten!\nIm [{{fullurl:{{#special:Log}}|type=delete&page={{FULLPAGENAMEE}}}} Lösch-Logbuch] finden Sie den Grund für die Löschung.\nWenn Sie die Seite speichern, wird sie neu angelegt.", "confirmrecreate": "Benutzer [[User:$1|$1]] ([[User talk:$1|Diskussion]]) hat diese Seite gelöscht, nachdem Sie angefangen haben, sie zu bearbeiten. Die Begründung lautete:\n: ''$2''\nBitte bestätigen Sie, dass Sie diese Seite wirklich neu erstellen möchten.", "watchlistedit-normal-explain": "Dies sind die Einträge Ihrer Beobachtungsliste. Um Einträge zu entfernen, markieren Sie die Kästchen neben den Einträgen und klicken Sie am Ende der Seite auf „{{int:Watchlistedit-normal-submit}}“. Sie können Ihre Beobachtungsliste auch im [[Special:EditWatchlist/raw|Listenformat bearbeiten]].", diff --git a/languages/i18n/de.json b/languages/i18n/de.json index 6e4037dc2c..136e4f3dc2 100644 --- a/languages/i18n/de.json +++ b/languages/i18n/de.json @@ -696,7 +696,7 @@ "anonpreviewwarning": "''Du bist nicht angemeldet. Beim Speichern wird deine IP-Adresse in der Versionsgeschichte aufgezeichnet.''", "missingsummary": "Hinweis: Du hast keine Zusammenfassung angegeben. Wenn du erneut auf „$1“ klickst, wird deine Änderung ohne Zusammenfassung übernommen.", "selfredirect": "Warnung: Du leitest auf diese Seite selbst weiter.\nDu hast vermutlich das falsche Weiterleitungsziel angegeben oder du bearbeitest die falsche Seite.\nWenn du erneut auf „$1“ klickst, wird die Weiterleitung dennoch erstellt.", - "missingcommenttext": "Bitte gib unten einen Kommentar ein.", + "missingcommenttext": "Bitte gib einen Kommentar ein.", "missingcommentheader": "Achtung: Du hast keinen Betreff eingegeben. Wenn du erneut auf „$1“ klickst, wird deine Bearbeitung ohne Überschrift gespeichert.", "summary-preview": "Vorschau der Zusammenfassungszeile:", "subject-preview": "Vorschau der Zusammenfassungszeile:", @@ -1086,7 +1086,7 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Indischer Ozean", "timezoneregion-pacific": "Pazifischer Ozean", - "allowemail": "E-Mail-Empfang von anderen Benutzern ermöglichen", + "allowemail": "Anderen Benutzern erlauben, E-Mails an mich zu senden.", "email-blacklist-label": "Diesen Benutzern das Versenden von E-Mails an mich verbieten:", "prefs-searchoptions": "Suche", "prefs-namespaces": "Namensräume", @@ -1370,7 +1370,7 @@ "recentchanges-submit": "Anzeigen", "rcfilters-tag-remove": "„$1“ entfernen", "rcfilters-legend-heading": "Liste von Abkürzungen:", - "rcfilters-other-review-tools": "Andere Überprüfungswerkzeuge", + "rcfilters-other-review-tools": "Andere Überprüfungswerkzeuge", "rcfilters-group-results-by-page": "Ergebnisse nach Seite gruppieren", "rcfilters-grouping-title": "Gruppierung", "rcfilters-activefilters": "Aktive Filter", @@ -1383,7 +1383,7 @@ "rcfilters-days-show-hours": "{{PLURAL:$1|Eine Stunde|$1 Stunden}}", "rcfilters-highlighted-filters-list": "Hervorgehoben: $1", "rcfilters-quickfilters": "Gespeicherte Filter", - "rcfilters-quickfilters-placeholder-title": "Noch keine Links gespeichert", + "rcfilters-quickfilters-placeholder-title": "Noch keine Filter gespeichert", "rcfilters-quickfilters-placeholder-description": "Um deine Filtereinstellungen zu speichern und später erneut zu verwenden, klicke unten auf das Lesezeichensymbol im Bereich der aktiven Filter.", "rcfilters-savedqueries-defaultlabel": "Gespeicherte Filter", "rcfilters-savedqueries-rename": "Umbenennen", @@ -1423,7 +1423,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Unangemeldet", "rcfilters-filter-user-experience-level-unregistered-description": "Autoren, die nicht angemeldet sind.", "rcfilters-filter-user-experience-level-newcomer-label": "Neulinge", - "rcfilters-filter-user-experience-level-newcomer-description": "Angemeldete Autoren mit weniger als 10 Bearbeitungen und einer Aktivität von weniger als 4 Tagen.", + "rcfilters-filter-user-experience-level-newcomer-description": "Angemeldete Autoren, die weniger als 10 Bearbeitungen oder eine Aktivität von weniger als 4 Tagen haben.", "rcfilters-filter-user-experience-level-learner-label": "Anfänger", "rcfilters-filter-user-experience-level-learner-description": "Angemeldete Autoren, deren Erfahrung zwischen „Neulinge“ und „Erfahrene Benutzer“ fällt.", "rcfilters-filter-user-experience-level-experienced-label": "Erfahrene Benutzer", @@ -1619,7 +1619,7 @@ "uploaded-script-svg": "Skriptelement „$1“ in der hochgeladenen SVG-Datei gefunden.", "uploaded-hostile-svg": "Unsicheres CSS im Styleelement der hochgeladenen SVG-Datei gefunden.", "uploaded-event-handler-on-svg": "Das Festlegen von Ereignis-Handler-Attributen $1=\"$2\" ist in SVG-Dateien nicht erlaubt.", - "uploaded-href-attribute-svg": "href-Attribute in SVG-Dateien sind nur als Verlinkung zu http://- oder https://-Zielen erlaubt. <$1 $2=\"$3\"> gefunden.", + "uploaded-href-attribute-svg": "
    -Elemente können nur auf Daten verlinken (href): (eingebettete Datei), http://, https:// oder fragment-Ziele (#, gleiches Dokument). Für andere Elemente wie sind nur data: und fragment erlaubt. Versuche beim Exportieren deiner SVG-Datei Bilder einzubinden. <$1 $2=\"$3\"> gefunden.", "uploaded-href-unsafe-target-svg": "href zu unsicheren Daten gefunden: URI-Ziel <$1 $2=\"$3\"> in der hochgeladenen SVG-Datei.", "uploaded-animate-svg": "Tag „animate“ gefunden, das href mithilfe des Attributs „from“ <$1 $2=\"$3\"> in der hochgeladenen SVG-Datei ändern könnte.", "uploaded-setting-event-handler-svg": "Das Festlegen von Ereignis-Handler-Attributen ist gesperrt. <$1 $2=\"$3\"> in der hochgeladenen SVG-Datei gefunden.", @@ -2133,7 +2133,7 @@ "emailuser-title-target": "E-Mail an {{GENDER:$1|diesen Benutzer|diese Benutzerin}} senden", "emailuser-title-notarget": "E-Mail an Benutzer", "emailpagetext": "Du kannst {{GENDER:$1|dem Benutzer|der Benutzerin}} mit dem unten stehenden Formular eine E-Mail senden.\nAls Absender wird die E-Mail-Adresse aus deinen [[Special:Preferences|Einstellungen]] eingetragen, damit {{GENDER:$1|der Benutzer|die Benutzerin}} dir direkt antworten kann.", - "defemailsubject": "{{SITENAME}} – E-Mail von Benutzer „$1“", + "defemailsubject": "{{SITENAME}} – E-Mail von {{GENDER:$1|Benutzer|Benutzerin}} „$1“", "usermaildisabled": "E-Mail-Empfang deaktiviert", "usermaildisabledtext": "Du kannst in diesem Wiki keine E-Mails an andere Benutzer senden", "noemailtitle": "Keine E-Mail-Adresse", @@ -2153,7 +2153,7 @@ "emailccsubject": "Kopie deiner Nachricht an $1: $2", "emailsent": "E-Mail verschickt", "emailsenttext": "Deine E-Mail wurde verschickt.", - "emailuserfooter": "Diese E-Mail wurde von „$1“ an „{{GENDER:$2|$2}}“ durch die Funktion „{{int:emailuser}}“ bei {{SITENAME}} {{GENDER:$1|gesendet}}. Falls {{GENDER:$2|du}} auf diese E-Mail antwortest, wird sie direkt an {{GENDER:$1|den Originalabsender|die Originalabsenderin}} gesendet. Dabei erfährt {{GENDER:$1|er|sie}} {{GENDER:$2|deine}} E-Mail-Adresse.", + "emailuserfooter": "Diese E-Mail wurde von „$1“ an „{{GENDER:$2|$2}}“ durch die Funktion „{{int:emailuser|$2}}“ bei {{SITENAME}} {{GENDER:$1|gesendet}}. Falls {{GENDER:$2|du}} auf diese E-Mail antwortest, wird sie direkt an {{GENDER:$1|den Originalabsender|die Originalabsenderin}} gesendet. Dabei erfährt {{GENDER:$1|er|sie}} {{GENDER:$2|deine}} E-Mail-Adresse.", "usermessage-summary": "Systemnachricht gespeichert.", "usermessage-editor": "System-Messenger", "usermessage-template": "MediaWiki:Benutzernachricht", @@ -3333,8 +3333,8 @@ "invalidateemail": "E-Mail-Adressbestätigung abbrechen", "notificationemail_subject_changed": "Die registrierte E-Mail-Adresse auf {{SITENAME}} wurde geändert", "notificationemail_subject_removed": "Die registrierte E-Mail-Adresse auf {{SITENAME}} wurde entfernt", - "notificationemail_body_changed": "Jemand mit der IP-Adresse $1, wahrscheinlich du selbst,\nhat auf {{SITENAME}} die E-Mail-Adresse für das Benutzerkonto „$2“ auf „$3“ geändert.\n\nFalls das nicht du warst, kontaktiere umgehend einen Wikiadministrator.", - "notificationemail_body_removed": "Jemand mit der IP-Adresse $1, wahrscheinlich du selbst,\nhat auf {{SITENAME}} die E-Mail-Adresse für das Benutzerkonto „$2“ entfernt.\n\nFalls das nicht du warst, kontaktiere umgehend einen Wikiadministrator.", + "notificationemail_body_changed": "Jemand mit der IP-Adresse $1, wahrscheinlich du selbst, hat auf {{SITENAME}} die E-Mail-Adresse für das Benutzerkonto „$2“ auf „$3“ geändert.\n\nFalls du dies nicht warst, kontaktiere bitte umgehend einen Administrator des Wikis.", + "notificationemail_body_removed": "Jemand mit der IP-Adresse $1, wahrscheinlich du selbst, hat auf {{SITENAME}} die E-Mail-Adresse für das Benutzerkonto „$2“ entfernt.\n\nFalls du dies nicht warst, kontaktiere bitte umgehend einen Administrator des Wikis.", "scarytranscludedisabled": "[Interwiki-Einbindung ist deaktiviert]", "scarytranscludefailed": "[Vorlageneinbindung für $1 ist gescheitert]", "scarytranscludefailed-httpstatus": "[Vorlagenabruf fehlgeschlagen für $1: HTTP $2]", diff --git a/languages/i18n/diq.json b/languages/i18n/diq.json index 305fcd004f..60d2df4aaf 100644 --- a/languages/i18n/diq.json +++ b/languages/i18n/diq.json @@ -201,7 +201,7 @@ "edit-local": "Şınasnayışê lokali bıvurne", "create": "Vıraze", "create-local": "Şınasnayışê lokali cı ke", - "delete": "Bestern", + "delete": "Bestere", "undelete_short": "{{PLURAL:$1|Yew vırnayışi|$1 Vırnayışan}} mestere", "viewdeleted_short": "{{PLURAL:$1|Jew vurnayış esternayi|$1 Vurnayışanê esternayan}} bımotne", "protect": "Bıstarnê", @@ -1175,7 +1175,7 @@ "action-writeapi": "ser nuşte API gure bike", "action-delete": "ena pele bestere", "action-deleterevision": "revizyoni besternê", - "action-deletelogentry": "roceka dekerdan bestern", + "action-deletelogentry": "qeydanê cıkewtışan bestere", "action-deletedhistory": "verora esteriya perrer bıvin", "action-browsearchive": "pelanê esterıteyan bıgeyre", "action-undelete": "Ena perre mesterê", @@ -1991,7 +1991,7 @@ "undelete-error-long": "hewn a kerdışê na dosyayi wexta tepiya geriyenê xeta vıraziya:\n\n$1", "undelete-show-file-confirm": "\"$1\" şıma emin î dosyaya revizyonê no $2 $3 tarixi bıvini?", "undelete-show-file-submit": "Eya", - "namespace": "Namey herun:", + "namespace": "Heruna namey:", "invert": "Weçinayışi dimlaşt ke", "tooltip-invert": "nameyo ke nışan biyo (u nameyo elekeyın zi nışanyyayo se) vurnayışan zerrekan nımtışi re ena dore tesdiqi nışan kerê", "namespace_association": "Heruna namanê elaqedaran", diff --git a/languages/i18n/el.json b/languages/i18n/el.json index 4a2e3f5cee..9addae6d14 100644 --- a/languages/i18n/el.json +++ b/languages/i18n/el.json @@ -84,7 +84,7 @@ "tog-shownumberswatching": "Εμφάνιση του αριθμού των συνδεδεμένων χρηστών", "tog-oldsig": "Η τρέχουσα υπογραφή σας:", "tog-fancysig": "Μεταχείριση υπογραφής ως κώδικα wiki (χωρίς αυτόματο σύνδεσμο)", - "tog-uselivepreview": "Χρήση προεπισκόπησης σε ζωντανό χρόνο", + "tog-uselivepreview": "Εμφάνισης προεπισκόπησης χωρίς επαναφόρτωση της σελίδας", "tog-forceeditsummary": "Να ειδοποιούμαι κατά την εισαγωγή κενής σύνοψης επεξεργασίας", "tog-watchlisthideown": "Απόκρυψη των επεξεργασιών μου από τη λίστα παρακολούθησης", "tog-watchlisthidebots": "Απόκρυψη των επεξεργασιών των bot από τη λίστα παρακολούθησης", @@ -737,7 +737,7 @@ "contentmodelediterror": "Δεν μπορείτε να επεξεργαστείτε αυτή την αναθεώρηση, γιατί το περιεχόμενό του μοντέλου του είναι $1, το οποίο διαφέρει από το τρέχον περιεχόμενο μοντέλο της σελίδας $2.", "recreate-moveddeleted-warn": "'''Προειδοποίηση: Ξαναδημιουργείτε μια σελίδα που είχε προηγουμένως διαγραφεί.'''\n\nΘα πρέπει να σκεφτείτε σοβαρά αν είναι σωστό να συνεχίσετε να επεξεργάζεστε αυτή τη σελίδα.\nΟι καταγραφές διαγραφών και μετακινήσεων παρέχονται εδώ για διευκόλυνση:", "moveddeleted-notice": "Αυτή η σελίδα έχει διαγραφεί.\nΤο αρχείο καταγραφών διαγραφών και μετακινήσεων της σελίδας παρέχεται παρακάτω για αναφορά.", - "moveddeleted-notice-recent": "Συγγνώμη, η σελίδα έχει διαγραφεί πρόσφατα (μέσα στις τελευταίες 24 ώρες).\nΗ διαγραφή και μετακίνηση του αρχείου καταγραφής της σελίδας παρέχεται παρακάτω για αναφορά.", + "moveddeleted-notice-recent": "Συγγνώμη, η σελίδα έχει διαγραφεί πρόσφατα (μέσα στις τελευταίες 24 ώρες).\nΤο αρχείο καταγραφής διαγραφής, προστασίας, και μετακίνησης της σελίδας παρέχεται παρακάτω για αναφορά.", "log-fulllog": "Εμφάνιση πλήρους αρχείου", "edit-hook-aborted": "Η επεξεργασία ματαιώθηκε από το hook.\nΔεν έδωσε εξήγηση.", "edit-gone-missing": "Δεν ήταν εφικτό να ενημερωθεί η σελίδα.\nΦαίνεται πως έχει διαγραφεί.", @@ -956,7 +956,7 @@ "search-file-match": "(ταιριάζει με το περιεχόμενο του αρχείου)", "search-suggest": "Μήπως εννοούσατε: $1", "search-rewritten": "Εμφανίζονται αποτελέσματα για $1. Εναλλακτικά αναζητήστε για $2.", - "search-interwiki-caption": "Αδελφικά εγχειρήματα", + "search-interwiki-caption": "Αποτελέσματα από αδελφικά εγχειρήματα", "search-interwiki-default": "$1 αποτελέσματα:", "search-interwiki-more": "(περισσότερα)", "search-interwiki-more-results": "περισσότερα αποτελέσματα", @@ -1310,28 +1310,37 @@ "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (δείτε [[Special:NewPages|κατάλογος νέων σελίδων]])", "recentchanges-legend-plusminus": "(±123)", "recentchanges-submit": "Προβολή", + "rcfilters-other-review-tools": "Άλλα εργαλεία επιθεώρησης", + "rcfilters-group-results-by-page": "Ομαδοποίηση αποτελεσμάτων ανά σελίδα", + "rcfilters-grouping-title": "Ομαδοποίηση", "rcfilters-activefilters": "Ενεργά φίλτρα", "rcfilters-advancedfilters": "Σύνθετα Φίλτρα", "rcfilters-limit-title": "Αλλαγές για εμφάνιση", + "rcfilters-limit-shownum": "Εμφάνιση {{{{PLURAL:$1|τελευταίας επεξεργασίας|τελευταίων $1 επεξεργασιών}}", "rcfilters-days-title": "Πρόσφατες ημέρες", "rcfilters-hours-title": "Πρόσφατες ώρες", "rcfilters-days-show-days": "$1 {{PLURAL:$1|μέρα|μέρες}}", "rcfilters-days-show-hours": "$1 {{PLURAL:$1|ώρα|ώρες}}", + "rcfilters-highlighted-filters-list": "Επισημασμένες: $1", "rcfilters-quickfilters": "Αποθηκευμένα φίλτρα", "rcfilters-savedqueries-defaultlabel": "Αποθηκευμένα φίλτρα", "rcfilters-savedqueries-rename": "Μετονομασία", "rcfilters-savedqueries-setdefault": "Ορισμός ως προεπιλογή", "rcfilters-savedqueries-remove": "Αφαίρεση", "rcfilters-savedqueries-new-name-label": "Όνομα", + "rcfilters-savedqueries-apply-label": "Δημιουργία φίλτρου", + "rcfilters-savedqueries-apply-and-setdefault-label": "Δημιουργία προεπιλεγμένου φίλτρου", "rcfilters-savedqueries-cancel-label": "Ακύρωση", + "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": "Χωρίς ενεργά φίλτρα. Εμφανίζονται όλες οι συνεισφορές.", "rcfilters-filterlist-title": "Φίλτρα", - "rcfilters-filterlist-whatsthis": "Τι είναι αυτό;", - "rcfilters-filterlist-feedbacklink": "Δώστε ανατροφοδότηση για τα νέα φίλτρα (beta)", + "rcfilters-filterlist-whatsthis": "Πως λειτουργούν αυτά;", + "rcfilters-filterlist-feedbacklink": "Πείτε μας τι σκέφτεστε για αυτά τα (νέα) εργαλεία φιλτραρίσματος", "rcfilters-highlightbutton-title": "Επισήμανση αποτελεσμάτων", "rcfilters-highlightmenu-title": "Επιλέξτε ένα χρώμα", "rcfilters-highlightmenu-help": "Επιλέξτε ένα χρώμα για να επισημάνετε αυτή την ιδιότητα", @@ -1343,22 +1352,23 @@ "rcfilters-filter-editsbyself-description": "Οι δικές σας συνεισφορές.", "rcfilters-filter-editsbyother-label": "Αλλαγές από άλλους", "rcfilters-filter-editsbyother-description": "Όλες οι αλλαγές εκτός από τις δικές σας.", - "rcfilters-filtergroup-userExpLevel": "Επίπεδο εμπειρίας (για εγγεγραμμένους χρήστες μόνο)", + "rcfilters-filtergroup-userExpLevel": "Εγγραφή χρήστη και εμπειρία", "rcfilters-filter-user-experience-level-registered-label": "Εγγεγραμμένοι", "rcfilters-filter-user-experience-level-registered-description": "Συνδεδεμένοι συντάκτες.", "rcfilters-filter-user-experience-level-unregistered-label": "Μη εγγεγραμμένοι", "rcfilters-filter-user-experience-level-unregistered-description": "Συντάκτες που δεν είναι συνδεδεμένοι.", "rcfilters-filter-user-experience-level-newcomer-label": "Νεοφερμένοι", - "rcfilters-filter-user-experience-level-newcomer-description": "Λιγότερες από 10 επεξεργασίες και 4 ημέρες δραστηριότητας.", + "rcfilters-filter-user-experience-level-newcomer-description": "Εγγεγραμμένοι συντάκτες με λιγότερες από 10 επεξεργασίες και 4 ημέρες δραστηριότητας.", "rcfilters-filter-user-experience-level-learner-label": "Μαθητευόμενοι", - "rcfilters-filter-user-experience-level-learner-description": "Περισσότερες ημέρες δραστηριότητας και επεξεργασίες από τους «νεοφερμένους» αλλά λιγότερες από τους «έμπειρους χρήστες».", + "rcfilters-filter-user-experience-level-learner-description": "Εγγεγραμμένοι συντάκτες των οποίων η εμπειρία εμπίπτει κάπου μεταξύ «νεοφερμένου» και «έμπειρου χρήστη».", "rcfilters-filter-user-experience-level-experienced-label": "Έμπειροι χρήστες", - "rcfilters-filter-user-experience-level-experienced-description": "Περισσότερες από 30 ημέρες δραστηριότητας και 500 αλλαγές.", + "rcfilters-filter-user-experience-level-experienced-description": "Εγγεγραμμένοι συντάκτες με περισσότερες από 500 επεξεργασίες και 30 ημέρες δραστηριότητας.", "rcfilters-filtergroup-automated": "Αυτοματοποιημένες συνεισφορές", "rcfilters-filter-bots-label": "Ρομπότ", "rcfilters-filter-bots-description": "Επεξεργασίες που έγιναν από αυτοματοποιημένα εργαλεία.", "rcfilters-filter-humans-label": "Ανθρώπινες (όχι από ρομπότ)", "rcfilters-filter-humans-description": "Επεξεργασίες που έγιναν από ανθρώπους συντάκτες.", + "rcfilters-filter-patrolled-label": "Ελεγμένες", "rcfilters-filtergroup-significance": "Σημαντικότητα", "rcfilters-filter-minor-label": "Μικροεπεξεργασίες", "rcfilters-filter-minor-description": "Επεξεργασίες που ο συντάκτης χαρακτήρισε ως μικροεπεξεργασίες.", @@ -1366,13 +1376,17 @@ "rcfilters-filter-major-description": "Επεξεργασίες μη χαρακτηρισμένες ως μικροεπεξεργασίες.", "rcfilters-filtergroup-changetype": "Τύπος αλλαγής", "rcfilters-filter-pageedits-label": "Επεξεργασίες σελίδων", - "rcfilters-filter-pageedits-description": "Επεξεργασίες σε περιεχόμενο του wiki, συζητήσεις, περιγραφές κατηγοριών....", + "rcfilters-filter-pageedits-description": "Επεξεργασίες σε περιεχόμενο του wiki, συζητήσεις, περιγραφές κατηγοριών…", "rcfilters-filter-newpages-label": "Δημιουργίες σελίδων", "rcfilters-filter-newpages-description": "Επεξεργασίες που δημιουργούν νέες σελίδες.", "rcfilters-filter-categorization-label": "Αλλαγές κατηγοριών", "rcfilters-filter-categorization-description": "Καταγραφές σελίδων που προστίθενται ή αφαιρούνται από κατηγορίες.", "rcfilters-filter-logactions-label": "Καταγραφόμενες ενέργειες", - "rcfilters-filter-logactions-description": "Διαχειριστικές ενέργειες, δημιουργίες λογαριασμών, διαγραφές σελίδων, ανεβάσματα αρχείων....", + "rcfilters-filter-logactions-description": "Διαχειριστικές ενέργειες, δημιουργίες λογαριασμών, διαγραφές σελίδων, ανεβάσματα αρχείων…", + "rcfilters-exclude-button-off": "Εξαίρεση επιλεγμένων", + "rcfilters-view-advanced-filters-label": "Προχωρημένα φίλτρα", + "rcfilters-view-tags": "Επεξεργασίες με ετικέτες", + "rcfilters-view-namespaces-tooltip": "Φιλτράρισμα αποτελεσμάτων κατά ονοματοχώρο", "rcnotefrom": "Παρακάτω {{PLURAL:$5|είναι η αλλαγή|είναι οι αλλαγές}} από $3, $4 (έως $1 που εμφανίζεται).", "rclistfrom": "Εμφάνιση νέων αλλαγών αρχίζοντας από τις $3 στις $2", "rcshowhideminor": "$1 μικροεπεξεργασιών", @@ -3232,6 +3246,7 @@ "version-libraries-description": "Περιγραφή", "version-libraries-authors": "Δημιουργοί", "redirect": "Ανακατεύθυνση κατά αρχείο, χρήστη, σελίδα, αναγνωριστικό αναθεώρησης ή αρχείο καταγραφής ID", + "redirect-summary": "Αυτή η ειδική σελίδα ανακατευθύνει προς ένα αρχείο (αν δοθεί όνομα αρχείου), μια σελίδα (αν δοθεί ID αναθεώρησης ή ID σελίδας), μια σελίδα χρήστη (αν δοθεί αριθμητικό ID χρήστη), ή μια καταχώρηση μητρώου (αν δοθεί ID καταχώρησης). Χρήση: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], or [[{{#Special:Redirect}}/logid/186]].", "redirect-submit": "Μετάβαση", "redirect-lookup": "Αναζήτηση:", "redirect-value": "Τιμή:", diff --git a/languages/i18n/en.json b/languages/i18n/en.json index c20452b173..de493ef157 100644 --- a/languages/i18n/en.json +++ b/languages/i18n/en.json @@ -646,7 +646,7 @@ "anonpreviewwarning": "You are not logged in. Saving will record your IP address in this page's edit history.", "missingsummary": "Reminder: You have not provided an edit summary.\nIf you click \"$1\" again, your edit will be saved without one.", "selfredirect": "Warning: You are redirecting this page to itself.\nYou may have specified the wrong target for the redirect, or you may be editing the wrong page.\nIf you click \"$1\" again, the redirect will be created anyway.", - "missingcommenttext": "Please enter a comment below.", + "missingcommenttext": "Please enter a comment.", "missingcommentheader": "Reminder: You have not provided a subject for this comment.\nIf you click \"$1\" again, your edit will be saved without one.", "summary-preview": "Preview of edit summary:", "subject-preview": "Preview of subject:", @@ -1061,8 +1061,8 @@ "timezoneregion-europe": "Europe", "timezoneregion-indian": "Indian Ocean", "timezoneregion-pacific": "Pacific Ocean", - "allowemail": "Enable email from other users", - "email-blacklist-label": "Prohibit these users from sending emails to me:", + "allowemail": "Allow other users to email me", + "email-blacklist-label": "Prohibit these users from emailing me:", "prefs-searchoptions": "Search", "prefs-namespaces": "Namespaces", "default": "default", @@ -1355,7 +1355,7 @@ "recentchanges-submit": "Show", "rcfilters-tag-remove": "Remove '$1'", "rcfilters-legend-heading": "List of abbreviations:", - "rcfilters-other-review-tools": "Other review tools", + "rcfilters-other-review-tools": "Other review tools", "rcfilters-group-results-by-page": "Group results by page", "rcfilters-grouping-title": "Grouping", "rcfilters-activefilters": "Active filters", @@ -1368,7 +1368,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hour|hours}}", "rcfilters-highlighted-filters-list": "Highlighted: $1", "rcfilters-quickfilters": "Saved filters", - "rcfilters-quickfilters-placeholder-title": "No links saved yet", + "rcfilters-quickfilters-placeholder-title": "No filters saved yet", "rcfilters-quickfilters-placeholder-description": "To save your filter settings and reuse them later, click the bookmark icon in the Active Filter area, below.", "rcfilters-savedqueries-defaultlabel": "Saved filters", "rcfilters-savedqueries-rename": "Rename", @@ -1408,7 +1408,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Unregistered", "rcfilters-filter-user-experience-level-unregistered-description": "Editors who aren't logged-in.", "rcfilters-filter-user-experience-level-newcomer-label": "Newcomers", - "rcfilters-filter-user-experience-level-newcomer-description": "Registered editors with fewer than 10 edits and 4 days of activity.", + "rcfilters-filter-user-experience-level-newcomer-description": "Registered editors who have fewer than 10 edits or 4 days of activity.", "rcfilters-filter-user-experience-level-learner-label": "Learners", "rcfilters-filter-user-experience-level-learner-description": "Registered editors whose experience falls between \"Newcomers\" and \"Experienced users.\"", "rcfilters-filter-user-experience-level-experienced-label": "Experienced users", @@ -1468,7 +1468,7 @@ "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-view-tags-help-icon-tooltip": "Learn more about Tagged Edits", + "rcfilters-view-tags-help-icon-tooltip": "Learn more about Tagged edits", "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", @@ -1613,7 +1613,7 @@ "uploaded-script-svg": "Found scriptable element \"$1\" in the uploaded SVG file.", "uploaded-hostile-svg": "Found unsafe CSS in the style element of uploaded SVG file.", "uploaded-event-handler-on-svg": "Setting event-handler attributes $1=\"$2\" is not allowed in SVG files.", - "uploaded-href-attribute-svg": "href attributes in SVG files are only allowed to link to http:// or https:// targets, found <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": " elements can only link (href) to data: (embedded file), http:// or https://, or fragment (#, same-document) targets. For other elements, such as , only data: and fragment are allowed. Try embedding images when exporting your SVG. Found <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "Found href to unsafe data: URI target <$1 $2=\"$3\"> in the uploaded SVG file.", "uploaded-animate-svg": "Found \"animate\" tag that might be changing href, using the \"from\" attribute <$1 $2=\"$3\"> in the uploaded SVG file.", "uploaded-setting-event-handler-svg": "Setting event-handler attributes is blocked, found <$1 $2=\"$3\"> in the uploaded SVG file.", diff --git a/languages/i18n/es.json b/languages/i18n/es.json index 2b63f64756..700f337b08 100644 --- a/languages/i18n/es.json +++ b/languages/i18n/es.json @@ -186,8 +186,8 @@ "tog-minordefault": "Marcar todas las ediciones como menores de manera predeterminada", "tog-previewontop": "Mostrar previsualización antes del cuadro de edición", "tog-previewonfirst": "Mostrar previsualización en la primera edición", - "tog-enotifwatchlistpages": "Enviarme un correo electrónico cuando se modifique una página o un archivo de mi lista de seguimiento", - "tog-enotifusertalkpages": "Enviarme un mensaje de correo electrónico cuando se modifique mi página de discusión", + "tog-enotifwatchlistpages": "Enviarme un mensaje de correo cuando se modifique una página o un archivo de mi lista de seguimiento", + "tog-enotifusertalkpages": "Enviarme un mensaje de correo cuando se modifique mi página de discusión", "tog-enotifminoredits": "Notificarme también por correo electrónico los cambios menores de las páginas y archivos", "tog-enotifrevealaddr": "Revelar mi dirección de correo electrónico en los correos de notificación", "tog-shownumberswatching": "Mostrar el número de usuarios que la vigilan", @@ -204,7 +204,7 @@ "tog-watchlisthideanons": "Ocultar las ediciones de los usuarios anónimos de la lista de seguimiento", "tog-watchlisthidepatrolled": "Ocultar las ediciones verificadas de la lista de seguimiento", "tog-watchlisthidecategorization": "Ocultar la categorización de páginas", - "tog-ccmeonemails": "Recibir copias de los correos electrónicos que envíe a otros usuarios", + "tog-ccmeonemails": "Recibir copias de los mensajes de correo que envíe a otros usuarios", "tog-diffonly": "No mostrar el contenido de la página debajo de la lista de diferencias", "tog-showhiddencats": "Mostrar categorías ocultas", "tog-norollbackdiff": "No mostrar la lista de diferencias después de revertir", @@ -505,7 +505,7 @@ "viewyourtext": "Puedes ver y copiar el código de tus ediciones en esta página.", "protectedinterface": "Esta página proporciona el texto de la interfaz del software en este wiki, y está protegida para prevenir el abuso.\nPara agregar o cambiar las traducciones para todos los wikis, usa [https://translatewiki.net/ translatewiki.net], el proyecto de localización de MediaWiki.", "editinginterface": "Advertencia: estás editando una página usada para proporcionar texto de la interfaz al software. \nLos cambios en esta página afectarán la apariencia de la interfaz de los demás usuarios de este wiki.", - "translateinterface": "Para añadir o cambiar traducciones para todos los wikis, usa [https://translatewiki.net/ translatewiki.net], el proyecto de localización de MediaWiki.", + "translateinterface": "Para añadir o cambiar traducciones para todos los wikis, usa [https://translatewiki.net/ translatewiki.net], el proyecto de regionalización de MediaWiki.", "cascadeprotected": "Esta página ha sido protegida contra edición porque está transcluida en {{PLURAL:$1|la siguiente página protegida|las siguientes páginas protegidas}} con la opción de «cascada» activa:\n$2", "namespaceprotected": "No tienes permiso para editar las páginas del espacio de nombres $1.", "customcssprotected": "No tienes permiso para editar esta página CSS, porque contiene configuraciones personales de otro usuario.", @@ -823,6 +823,7 @@ "yourtext": "Tu texto", "storedversion": "Versión guardada", "editingold": "Advertencia: estás editando sobre una revisión antigua de esta página.\nSi la guardas, se perderá cualquier otro cambio realizado desde esa revisión.", + "unicode-support-fail": "Parece que tu navegador no es compatible con Unicode. Como esta codificación es necesaria para editar las páginas, no se guardó tu edición.", "yourdiff": "Diferencias", "copyrightwarning": "Ten en cuenta que todas las contribuciones a {{SITENAME}} se consideran publicadas bajo la $2 (véase $1 para más información). Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, no las publiques aquí.
    Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre. ¡No uses textos con copyright sin permiso!", "copyrightwarning2": "Ten en cuenta que todas las contribuciones a {{SITENAME}} pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
    Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase $1 para más detalles).\n¡No uses textos con copyright sin permiso!", @@ -889,6 +890,7 @@ "parser-template-loop-warning": "Se ha detectado un bucle de plantilla: [[$1]]", "template-loop-category": "Páginas con bucles de plantillas", "template-loop-category-desc": "Esta página contiene un bucle de plantillas, es decir, una plantilla que se llama a sí misma recursivamente.", + "template-loop-warning": "Atención: esta página llama a [[:$1]], lo que provoca un bucle en las plantillas (una llamada recurrente infinita).", "parser-template-recursion-depth-warning": "Se ha superado el límite de profundidad de la recursividad de plantillas ($1)", "language-converter-depth-warning": "Se ha superado el límite de profundidad del convertidor de idioma ($1)", "node-count-exceeded-category": "Páginas que sobrepasan la cantidad de nodos", @@ -1157,7 +1159,7 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Océano Índico", "timezoneregion-pacific": "Océano Pacífico", - "allowemail": "Aceptar correo electrónico de otros usuarios", + "allowemail": "Permitir que otros usuarios me envíen mensajes de correo", "email-blacklist-label": "Prohibir a estos usuarios enviarme mensajes de correo:", "prefs-searchoptions": "Buscar", "prefs-namespaces": "Espacios de nombres", @@ -1200,6 +1202,7 @@ "prefs-editor": "Editor", "prefs-preview": "Previsualización", "prefs-advancedrc": "Opciones avanzadas", + "prefs-opt-out": "Renunciar a las mejoras", "prefs-advancedrendering": "Opciones avanzadas", "prefs-advancedsearchoptions": "Opciones avanzadas", "prefs-advancedwatchlist": "Opciones avanzadas", @@ -1325,7 +1328,7 @@ "right-userrights-interwiki": "Modificar los permisos de usuario en otros wikis", "right-siteadmin": "Bloquear y desbloquear la base de datos", "right-override-export-depth": "Exportar páginas, incluidas aquellas enlazadas hasta una profundidad de 5", - "right-sendemail": "Enviar correo electrónico a otros usuarios", + "right-sendemail": "Enviar mensajes de correo a otros usuarios", "right-managechangetags": "Crear y (des)activar [[Special:Tags|etiquetas]]", "right-applychangetags": "Aplicar [[Special:Tags|etiquetas]] junto con los cambios propios", "right-changetags": "Agregar y quitar [[Special:Tags|etiquetas]] arbitrarias a revisiones individuales y entradas del registro", @@ -1356,7 +1359,7 @@ "grant-privateinfo": "Acceder a información privada", "grant-protect": "Proteger y desproteger páginas", "grant-rollback": "Revertir cambios a páginas", - "grant-sendemail": "Enviar un correo electrónico a otros usuarios", + "grant-sendemail": "Enviar mensajes de correo a otros usuarios", "grant-uploadeditmovefile": "Subir, reemplazar y renombrar archivos", "grant-uploadfile": "Subir archivos nuevos", "grant-basic": "Permisos básicos", @@ -1436,7 +1439,7 @@ "recentchanges-submit": "Mostrar", "rcfilters-tag-remove": "Quitar «$1»", "rcfilters-legend-heading": "Lista de abreviaturas:", - "rcfilters-other-review-tools": "Otras herramientas de revisión", + "rcfilters-other-review-tools": "Otras herramientas de revisión", "rcfilters-group-results-by-page": "Agrupar resultados por página", "rcfilters-grouping-title": "Agrupación", "rcfilters-activefilters": "Filtros activos", @@ -1449,7 +1452,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hora|horas}}", "rcfilters-highlighted-filters-list": "Destacados: $1", "rcfilters-quickfilters": "Filtros guardados", - "rcfilters-quickfilters-placeholder-title": "Ningún enlace guardado aún", + "rcfilters-quickfilters-placeholder-title": "No se guardó ningún filtro aún", "rcfilters-quickfilters-placeholder-description": "Para guardar tus ajustes de filtro y reutilizarlos más tarde, pulsa en el icono del marcador en el área de Filtro activo que se encuentra a continuación.", "rcfilters-savedqueries-defaultlabel": "Filtros guardados", "rcfilters-savedqueries-rename": "Cambiar nombre", @@ -1547,6 +1550,7 @@ "rcfilters-view-namespaces-tooltip": "Filtrar resultados por espacio de nombres", "rcfilters-view-tags-tooltip": "filtrado de resultados usando etiquetas de edición", "rcfilters-view-return-to-default-tooltip": "Volver al menú de filtro principal", + "rcfilters-view-tags-help-icon-tooltip": "Más información sobre las ediciones etiquetadas", "rcfilters-liveupdates-button": "Actualizaciones en directo", "rcfilters-liveupdates-button-title-on": "Apagar actualizaciones en directo", "rcfilters-liveupdates-button-title-off": "Mostar los cambios en tiempo real", @@ -1554,6 +1558,7 @@ "rcfilters-watchlist-edit-watchlist-button": "Edita tu lista de seguimiento", "rcfilters-watchlist-showupdated": "Los cambios hechos a páginas que no has visitado desde que se efectuaron aparecen en negrita, acompañados de marcadores sólidos.", "rcfilters-preference-label": "Ocultar la versión mejorada de Cambios recientes", + "rcfilters-preference-help": "Revierte el rediseño de interfaz de 2017 y desactiva todas las herramientas añadidas desde entonces.", "rcnotefrom": "Debajo {{PLURAL:$5|aparece el cambio|aparecen los cambios}} desde $3, $4 (se muestran hasta $1).", "rclistfromreset": "Restablecer selección de fecha", "rclistfrom": "Mostrar cambios nuevos desde las $2 del $3", @@ -1680,7 +1685,7 @@ "uploaded-script-svg": "Se encontró el elemento habilitado para secuencias de órdenes «$1» en el archivo SVG cargado.", "uploaded-hostile-svg": "Se encontró código CSS no seguro en el elemento de estilo del archivo SVG cargado.", "uploaded-event-handler-on-svg": "No está permitido configurar atributos controladores de eventos $1=\"$2\" en los archivos SVG.", - "uploaded-href-attribute-svg": "Los atributos href en archivos SVG sólo tienen permitido enlazar a objetivos http:// o https://, se encontró <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": "Los elementos
    solo tienen permitido enlazar (href) con objetivos «data:» (archivo incrustado), «http://», «https://» o de fragmento («#», «same-document»). Prueba a incrustar las imágenes al exportar el SVG. Se encontró <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "Se encontró un href hacia un destino inseguro <$1 $2=\"$3\"> en el archivo SVG cargado.", "uploaded-animate-svg": "Se encontró un etiqueta \"animate\" que puede estar cambiando \"href\", mediante el atributo \"from\" <$1 $2=\"$3\"> en el archivo SVG cargado.", "uploaded-setting-event-handler-svg": "Está bloqueada la configuración de atributos controladores de eventos. Se encontró <$1 $2=\"$3\"> en el archivo SVG cargado.", @@ -2467,6 +2472,7 @@ "sp-contributions-newonly": "Mostrar solo ediciones que son creaciones de páginas", "sp-contributions-hideminor": "Ocultar ediciones menores", "sp-contributions-submit": "Buscar", + "sp-contributions-outofrange": "No se pudo mostrar ningún resultado. El intervalo de IP seleccionado es mayor que el límite de CIDR de /$1.", "whatlinkshere": "Lo que enlaza aquí", "whatlinkshere-title": "Páginas que enlazan con «$1»", "whatlinkshere-page": "Página:", @@ -2577,7 +2583,7 @@ "block-log-flags-nousertalk": "no puede editar su propia página de discusión", "block-log-flags-angry-autoblock": "autobloqueo avanzado habilitado", "block-log-flags-hiddenname": "nombre de usuario ocultado", - "range_block_disabled": "La facultad de administrador de crear bloqueos por rangos está deshabilitada.", + "range_block_disabled": "La facultad administrativa de crear bloqueos por intervalos está desactivada.", "ipb_expiry_invalid": "El tiempo de caducidad no es válido.", "ipb_expiry_old": "El tiempo de expiración está en el pasado.", "ipb_expiry_temp": "Los bloqueos a nombres de usuario ocultos deben ser permanentes.", @@ -2589,7 +2595,9 @@ "ipb_cant_unblock": "Error: no se encuentra el identificador de bloque $1. Pudo haber sido desbloqueado ya.", "ipb_blocked_as_range": "Error: la dirección IP $1 no está bloqueada directamente y no puede ser desbloqueada.\nSin embargo, está bloqueada como parte del rango $2, que puede ser desbloqueado.", "ip_range_invalid": "El intervalo de IP no es válido.", - "ip_range_toolarge": "Los bloqueos de rango superiores a /$1 no están permitidos.", + "ip_range_toolarge": "Los bloqueos por intervalo superiores a /$1 no están permitidos.", + "ip_range_exceeded": "El intervalo de IP sobrepasa el límite máximo. Intervalo permitido: /$1.", + "ip_range_toolow": "En la práctica, no se permiten los intervalos de IP.", "proxyblocker": "Bloqueador de proxies", "proxyblockreason": "Tu dirección IP ha sido bloqueada porque es un proxy abierto.\nContacta con tu proveedor de servicios de Internet o con tu servicio de asistencia técnica e infórmales de este grave problema de seguridad.", "sorbsreason": "Su dirección IP está listada como proxy abierto en DNSBL.", @@ -3190,7 +3198,7 @@ "exif-preferredattributionname": "Al volver a utilizar este trabajo, por favor da crédito", "exif-pngfilecomment": "Comentario de archivo PNG", "exif-disclaimer": "Exoneración de responsabilidad", - "exif-contentwarning": "Advertencia de contenido", + "exif-contentwarning": "Alerta de contenido", "exif-giffilecomment": "Comentario de archivo GIF", "exif-intellectualgenre": "Tipo de elemento", "exif-subjectnewscode": "Código de asunto", @@ -3658,7 +3666,10 @@ "compare-title-not-exists": "El título especificado no existe.", "compare-revision-not-exists": "La revisión especificada no existe.", "diff-form": "Diferencias", + "diff-form-submit": "Mostrar diferencias", "permanentlink": "Enlace permanente", + "permanentlink-revid": "Id. de revisión", + "permanentlink-submit": "Ir a la revisión", "dberr-problems": "Lo sentimos. Este sitio está experimentando dificultades técnicas.", "dberr-again": "Prueba a recargar dentro de unos minutos.", "dberr-info": "(No se puede acceder a la base de datos: $1)", diff --git a/languages/i18n/et.json b/languages/i18n/et.json index e3e7cac3d2..ce275c840b 100644 --- a/languages/i18n/et.json +++ b/languages/i18n/et.json @@ -1304,7 +1304,7 @@ "recentchanges-submit": "Näita", "rcfilters-tag-remove": "Eemalda \"$1\"", "rcfilters-legend-heading": "Lühendite loetelu:", - "rcfilters-other-review-tools": "Muud ülevaatusriistad", + "rcfilters-other-review-tools": "Muud ülevaatusriistad", "rcfilters-group-results-by-page": "Rühmita tulemused lehekülje kaupa", "rcfilters-grouping-title": "Rühmitamine", "rcfilters-activefilters": "Aktiivsed filtrid", diff --git a/languages/i18n/eu.json b/languages/i18n/eu.json index 73167de85f..3d6a314daa 100644 --- a/languages/i18n/eu.json +++ b/languages/i18n/eu.json @@ -572,6 +572,8 @@ "passwordreset-domain": "Domeinua:", "passwordreset-email": "E-mail helbidea:", "passwordreset-emailtitle": "{{SITENAME}}-rako kontuaren xehetasunak", + "passwordreset-emailtext-ip": "Norbaitek (zuk seguruenik, $1 IP helbidetik) {{SITENAME}} ($4) web gunerako zure pasahitza berrarazi nahi du. Honako erabiltzaile {{PLURAL: $3 |kontua dago|kontuak daude}} helbide elektroniko honekin lotuta:\n\n$2\n\n{{PLURAL: $3|Aldi baterako pasahitz hau|Aldi baterako pasahitza hauek}} iraungiko d(ir)a {{PLURAL: $5 |egun batean |$5 egunetan}}.\nSaioa hasi beharko zenuke orain eta pasahitza berria aukeratu. Beste norbaitek egin badu eskaera, edo zure jatorrizko pasahitza gogoratu baduzu eta ez baduzu gehiago\naldatu nahi, mezu hau baztertu eta zure pasahitza zaharra erabiltzen jarrai dezakezu.", + "passwordreset-emailtext-user": "$1 wikilariak {{SITENAME}} ($4) web gunerako zure pasahitza berrarazteko eskaera egin du. Honako erabiltzaile {{PLURAL:$3|kontua dago|kontuak daude}} helbide elektroniko honekin lotuta:\n\n$2\n\n{{PLURAL:$3|Aldi baterako pasahitz hau|Aldi baterako pasahitza hauek}} iraungiko d(ir)a {{PLURAL:$5|egun batean|$5 egunetan}}.\nSaioa hasi beharko zenuke orain eta pasahitza berria aukeratu. Beste norbaitek egin badu eskaera, edo zure jatorrizko pasahitza gogoratu baduzu eta ez baduzu gehiago\naldatu nahi, mezu hau baztertu eta zure pasahitza zaharra erabiltzen jarrai dezakezu.", "passwordreset-emailelement": "Erabiltzaile izena: \n$1\n\nBehin-behineko pasahitza: \n$2", "passwordreset-emailsentemail": "Hau zure kontuarekin lotuta dagoen helbide elektronikoa baldin bada, mezu elektronikoa bidaliko da zure pasahitza berrezartzeko.", "passwordreset-emailsentusername": "Zure kontuarekin lotuta dagoen helbide elektronikoa baldin baduzu, zure pasahitza berrezartzeko mezu elektronikoa bidaliko da.", @@ -633,7 +635,7 @@ "anonpreviewwarning": "''Ez duzu saioa hasi. Gordez gero, zure IP helbidea grabatuko da orri honen edizio historian.''", "missingsummary": "'''Gogorarazpena:''' Ez duzu aldaketa laburpen bat zehaztu. Berriz ere gordetzeko aukeratzen baduzu, laburpen mezurik gordeko da.", "selfredirect": "Oharra: Orri hau orri berdinera birbideratzen ari zara.\nBaliteke birzuzenketarako helburu okerra zehaztu izatea, edo okerreko orrialdea editatzen egotea.\n\"$1\" berriro sakatzen baduzu, birbideraketa egingo da hala ere.", - "missingcommenttext": "Mesedez, iruzkin bat idatzi jarraian.", + "missingcommenttext": "Mesedez, iruzkin bat sartu.", "missingcommentheader": "Oharra: Ez duzu iruzkin honetarako gairik ezarri. «{{int:Savearticle}}» berriro klikatzen baduzu, gairik gabe gordeko da zure edizioa.", "summary-preview": "Laburpenaren aurreikuspena:", "subject-preview": "Gaiaren aurrebista:", @@ -657,6 +659,7 @@ "anontalkpagetext": "Orrialde hau konturik sortu ez edo erabiltzen ez duen erabiltzaile anonimo baten eztabaida orria da.\nBere IP helbidea erabili beharko da beraz identifikatzeko.\nErabiltzaile batek baino gehiagok IP bera erabil dezakete ordea.\nErabiltzaile anonimoa bazara eta zurekin zerikusirik ez duten mezuak jasotzen badituzu, mesedez [[Special:CreateAccount|Izena eman]] edo [[Special:UserLogin|saioa hasi]] etorkizunean horrelakoak gerta ez daitezen.", "noarticletext": "Oraindik ez dago testurik orri honetan.\nEdukiz hornitzeko, aukera hauek dituzu: beste orri batzuetan [[Special:Search/{{PAGENAME}}|orri izenburu hau bilatzea]],\n[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} lotutako logak bilatzea],\nedo [{{fullurl:{{FULLPAGENAME}}|action=edit}} orri hau sortzea].", "noarticletext-nopermission": "Une honetan ez dago testurik orrialde honetan.\nBeste orrialdeetan [[Special:Search/{{PAGENAME}}|izenburu hau bilatu dezakezu]],\nedo [{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} erlazionatutako erregistroak bilatu], baina ez duzu orrialde hau sortzeko baimenik.", + "missing-revision": "\"{{FULLPAGENAME}}\" izeneko orriaren #$1 berrikusketa ez da existitzen.\n\n\nHau ezabatu egin den orri baten historia zaharkiturik dagoen esteka baten ondorioz sortua izaten da.\n\nXehetasunak hemen aurkitu daiteke [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].", "userpage-userdoesnotexist": "\"$1\" lankidea ez dago erregistatuta. Mesedez, konprobatu orri hau editatu/sortu nahi duzun.", "userpage-userdoesnotexist-view": "\"$1\" erabiltzaile-kontua ez dago erregistraturik.", "blocked-notice-logextract": "Erabiltzaile hau blokeatuta dago une honetan.\nAzken blokeoaren erregistroa ageri da behean, erreferentzia gisa:", @@ -740,6 +743,7 @@ "content-json-empty-object": "Objetu hustua", "content-json-empty-array": "Matrize hutsa", "deprecated-self-close-category": "HTML etiketa automatikoak ez diren balioak erabiltzen ari diren oriialdeak", + "deprecated-self-close-category-desc": "Orriak HTML etiketa autoitxi baliogabeak dauzka, adibidez <b/> edo <span/>. Hauen jarrera HTML5 zehaztapenekin bat egiteko goiz aldatuko dira, zaharkiturik geratzen direla wikitestuan.", "duplicate-args-warning": "Oharra: [[:$1]]k [[:$2]] \"$3\" parametroarentzako balio bat baino gehiagorekin deitzen ari da. Emandako azken balioa bakarrik erabiliko da.", "duplicate-args-category": "Txantiloi-deietan argumentu bikoiztuak erabiltzen dituzten orrialdeak", "duplicate-args-category-desc": "Orriak argumentu bikoitzak erabiltzen dituzten txantiloien deiak ditu, hala nola {{foo|bar=1|bar=2}} edo {{foo|bar|1=baz}}.", @@ -771,6 +775,7 @@ "undo-summary": "[[Special:Contributions/$2|$2]] ([[User talk:$2|eztabaida]]) wikilariaren $1 berrikuspena desegin da", "undo-summary-username-hidden": "Deuseztatu ezkutuko erabiltzaile batek egindako $1 berrikusketa", "cantcreateaccount-text": "IP helbide honetatik ('''$1''') kontu berria sortzeko aukera blokeatu du [[User:$3|$3]](e)k.\n\n$3(e)k emandako arrazoia: ''$2''", + "cantcreateaccount-range-text": " $1 IP helbide eremuetatik kontu sortzea, zure ($4) IP helbidea daramana, [[User:$3|$3]] izenpean blokeatua izan da.\n\n$3 wikilariak emandako arrazoia $2 da", "viewpagelogs": "Orrialde honen erregistroak ikusi", "nohistory": "Orrialde honek ez dauka aldaketa historiarik.", "currentrev": "Oraingo berrikuspena", @@ -802,6 +807,7 @@ "rev-deleted-event": "(log xehetasunak ezabatu dira)", "rev-deleted-user-contribs": "[lankide izena edo Ip helbidea ezabatua - aldatu ezkutapena ekarpenetatik]", "rev-deleted-text-permission": "Orrialdearen berrikuspen hau ezabatua izan da.\nXehetasunak [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ezabaketa erregistroan] ikus daitezke.", + "rev-suppressed-text-permission": "Orri berrikusketa hau ezabatua izan da. Xehetasunak aurkitu daitezke hemen [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].", "rev-deleted-text-unhide": "Orriaren bertsio hau '''ezabatu''' da.\nXehetasunak ikusgai daude [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ezabatze erregistroan].\nAdministratzailea zarenez, oraindik [$1 bertsio hau ikus dezakezu], nahi izanez gero.", "rev-suppressed-text-unhide": "Orriaren bertsio hau '''ezeztatu''' da.\nXehetasunak ikusgai daude [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} ezeztatze erregistroan].\nAdministratzailea zarenez, oraindik [$1 bertsio hau ikus dezakezu], nahi izanez gero.", "rev-deleted-text-view": "Orriaren berrikuspen hau '''ezabatua''' izan da.\nZuk ikusteko aukera daukazu; xehetasunak [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ezabaketa erregistroan] ikus ditzakezu.", @@ -883,6 +889,7 @@ "mergehistory-fail-permission": "Historiala batzeko baimen nahikorik ez.", "mergehistory-fail-self-merge": "Iturri eta helmuga orriak berdinak dira.", "mergehistory-fail-timestamps-overlap": "Iturburuaren berrikusteak gainjartzen dira edo helmuga berrikusketen ondoren datoz.", + "mergehistory-fail-toobig": "Ezin da historia bateraketa egin $1 {{PLURAL:$1|berrikusketa|berrikusketak}} osatutako muga mugituko baitzen.", "mergehistory-no-source": "Ez da $1 jatorrizko orrialdea existitzen.", "mergehistory-no-destination": "Ez da $1 helburu orrialdea existitzen.", "mergehistory-invalid-source": "Jatorrizko orrialdea baliozko izenburua izan behar da.", @@ -905,6 +912,8 @@ "diff-empty": "(Ez dago alderik)", "diff-multi-sameuser": "(Erabiltzaile berdinaren {{PLURAL:$1|erdiko ekarpen bat ez da|$1 erdiko ekarpen ez dira}} erakusten)", "diff-multi-otherusers": "({{PLURAL:$1|Tarteko berrikusketa bat|$1 tarteko berrikusketak}} {{PLURAL:$2|beste erabiltzaile bat|$2 erabiltzaileak}} egina ez da erakusten)", + "diff-multi-manyusers": "({{PLURAL:$1|Tarteko berrikusketa bat|$1 tarteko berrikusketak}} by more than $2 {{PLURAL:$2|erabiltzaile batek|erabiltzaile batzuek}} baino gehiagok egina ez erakutsia)", + "difference-missing-revision": " ($1) ezberdinatasunaren {{PLURAL:$2|Berrikusketa bat|$2 berrikusketa}} ez {{PLURAL:$2|da|dira}} aurkitu.\n\nHau, orokorrean ezabatu egin den orri batera deskonektatua dagoen esteka desegonkor baten ondorioz gertatzen da.\n\nHemen xehetasunak aurki daitezke: [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].", "searchresults": "Bilaketaren emaitzak", "searchresults-title": "«$1» bilaketaren emaitzak", "titlematches": "Emaitzak artikuluen izenburuetan", @@ -1016,7 +1025,7 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Indiar Ozeanoa", "timezoneregion-pacific": "Ozeano Barea", - "allowemail": "Beste erabiltzaileengandik e-posta mezuak jasotzea gaitu", + "allowemail": "Beste erabiltzaileei niri posta mezuak bidaltzea gaitu", "email-blacklist-label": "Erabiltzaile hauei niri mezu elektronikoak bidaltzen debekatu:", "prefs-searchoptions": "Bilatu", "prefs-namespaces": "Izen-tarteak", @@ -1296,7 +1305,7 @@ "recentchanges-submit": "Erakutsi", "rcfilters-tag-remove": "$1 ezabatu", "rcfilters-legend-heading": "Laburpenen zerrenda:", - "rcfilters-other-review-tools": "Beste berrikusketa tresnak", + "rcfilters-other-review-tools": "Beste berrikusketa tresnak", "rcfilters-group-results-by-page": "Talde emaitzak orrika", "rcfilters-grouping-title": "Taldekatzen", "rcfilters-activefilters": "Iragazki aktiboak", @@ -1309,7 +1318,7 @@ "rcfilters-days-show-hours": "{{PLURAL:$1|Ordu $1|$1 ordu}}", "rcfilters-highlighted-filters-list": "Azpimarratua: $1", "rcfilters-quickfilters": "Gordetako iragazkiak", - "rcfilters-quickfilters-placeholder-title": "Ez dira oraindik Link-ak gorde", + "rcfilters-quickfilters-placeholder-title": "Ez da oraindik iragazkirik gorde", "rcfilters-quickfilters-placeholder-description": "Iragazkiaren doikuntzak gordetzeko eta berrerabiltzeko geroago, egin klik lasterbide ikonoan Active Filter area eremuan, beherago.", "rcfilters-savedqueries-defaultlabel": "Gordetako iragazkiak", "rcfilters-savedqueries-rename": "Berrizendatu", @@ -1349,7 +1358,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Ez erregistratuak", "rcfilters-filter-user-experience-level-unregistered-description": "Saioa hasi ez duten editoreak.", "rcfilters-filter-user-experience-level-newcomer-label": "Iritsiberriak", - "rcfilters-filter-user-experience-level-newcomer-description": "10 aldaketa eta 4 ekintza-egun baino gutxiagoko erregistratutako editoreak.", + "rcfilters-filter-user-experience-level-newcomer-description": "10 aldaketa edo 4 ekintza-egun baino gutxiagoko erregistratutako editoreak.", "rcfilters-filter-user-experience-level-learner-label": "Ikasleak", "rcfilters-filter-user-experience-level-learner-description": "Erregistratutako editoreak, zeinen esperientzia \"Etorri berriak\" eta \"Erabiltzaile aurreratuen\" artean dagoena.", "rcfilters-filter-user-experience-level-experienced-label": "Erabiltzaile trebatuak", @@ -1544,7 +1553,15 @@ "uploaded-script-svg": "Igotako SVG fitxategian \"$1\" elementu aldagarria aurkitu egin da.", "uploaded-hostile-svg": "Igotako SVG fitxategiko estilo elementuan segurua ez den CSS-a aurkitu da.", "uploaded-event-handler-on-svg": "Ekitaldiaren $1=\"$2\" kudeatze-atributuak ezartzea ez da onartzen SVG fitxategietan.", + "uploaded-href-attribute-svg": " elementuek soilik (href) datuei lotu diezaiekete: (fitxategi kapsulatua), http: // edo https: //, edo fragment (#, same-document) helburuak. Beste elementu batzuetarako, adibidez, , soilik datuak eta zatiak onartzen dira. Saiatu zure irudiak SVG esportatzerakoan txikiagotzen. <$1 $2=\"$3\"> aurkitua.", + "uploaded-href-unsafe-target-svg": "Babesgabeko datuentzako aurkitutako href-a: URI <$1 $2=\"$3\"> xedea igotako SVG fitxategian.", + "uploaded-animate-svg": "Igotako SVG fitxategian <$1 $2=\"$3\"> atributua erabiltzen ari da, href aldatzen ari daitekeen \"animate\" aurkitu den etiketarekin.", + "uploaded-setting-event-handler-svg": "Ekitaldi-kudeatzailearen atributuak ezartzea blokeatuta, bilatu <$1 $2=\"$3\"> igotako SVG fitxategian.", "uploaded-setting-href-svg": "\"set\" etiketa \"href\" atributua guraso elementuetara gehitzeko blokeatuta dago.", + "uploaded-wrong-setting-svg": "\"Set\" etiketa erabiltzea urruneko/datu/script helburu bat gehitzeko edozein atributurako blokeatuta, bilatu <set to=\"$1\"> igotako SVG fitxategian.", + "uploaded-setting-handler-svg": "Urruneko/datu/scriptarekin \"eskuliburua\" atributua ezartzen duen SVGa blokeatuta dago. $1=\"$2\" aurkitu da SVG kargatutako fitxategian.", + "uploaded-remote-url-svg": "Edozein estiloko atributua kanpoko URL-arekin ezartzen duen SVGa blokeatuta dago. SVG fitxategian $1=\"$2\" aurkitu da.", + "uploaded-image-filter-svg": "Irudi iragazkia aurkitua URL-arekin: <$1 $2=\"$3\"> igotako SVG fitxategian.", "uploadscriptednamespace": "SVG fitxategi hau legez kanpoko \"$1\" izen eremua dauka.", "uploadinvalidxml": "Ezin izan da analizatu XMLa igotako fitxategian.", "uploadvirus": "Fitxategiak birusa dauka! Xehetasunak: $1", @@ -1613,9 +1630,12 @@ "backend-fail-create": "Ezin izan da \"$1\" fitxategia idatzi.", "backend-fail-maxsize": "Ezin izan da idatzi \"$1\" fitxategia {{PLURAL:$2|byte bat|$2 byte}} baino handiagoa delako.", "backend-fail-readonly": "$1 biltegiratze motorea irakurtzeko soilik dago orain. Emandako arrazoia: $2", + "backend-fail-synced": "\"$1\" fitxategia barneko biltegiratzeen babeskopietan dago behin behieneko egoeran", "backend-fail-connect": "Ezin izan da \"$1\" gordailuaren atzeko aldearekin konektatu.", "backend-fail-internal": "Akats ezezaguna gertatu da \"$1\" gordailuaren atzeko aldean.", "backend-fail-contenttype": "Ezin izan da $1n gordeko den artxiboaren eduki mota zehaztu.", + "backend-fail-batchsize": "Biltegiratze-euskarriari ; $1 {{PLURAL:$1|eragiketa|eragiketak}} fitxategi sorta eman zaio; muga $2 {{PLURAL:$2|eragiketa|eragiketak}} d(ir)elarik.", + "backend-fail-usable": "Ezin izan da \"$1\" fitxategia irakurri edo idaztzi baimen nahikorik edo direktorio/edukiontzirik ez delako aurkitzen.", "filejournal-fail-dbconnect": "Ezin izan da $1 biltegiratze-ataleko datu-basearen egunkarira konektatu.", "filejournal-fail-dbquery": "Ezin izan da egunkariaren datu-basea eguneratu $1 biltegiratze-atalerako.", "lockmanager-notlocked": "Ezin izan da \"$1\" askatu; ez dago itxita.", @@ -1650,6 +1670,7 @@ "img-auth-nofile": "Ez dago \"$1\" fitxategirik.", "img-auth-isdir": "\"$1\" direktorio batera iristen saiatzen ari zara.\nFitxategien sarbidea baino ez da onartzen.", "img-auth-streaming": "\"$1\" sekuentziatzen.", + "img-auth-public": "Img_auth.php-ren funtzioa wiki pribatuetako fitxategiak irteerazteko da.\nWiki hau wiki publiko gisa konfiguratuta dago.\nSegurtasun ezin hobea lortzeko, img_auth.php desgaituta dago.", "img-auth-noread": "Erabiltzaileak ez du \"$1\" irakurtzeko sarbiderik.", "http-invalid-url": "URL baliogabea: $1", "http-invalid-scheme": "\"$1\" eskema duten URLak ez dira baliagarriak.", @@ -1709,7 +1730,10 @@ "linkstoimage-redirect": "$1 (fitxategiranzko birbideratzea) $2", "duplicatesoffile": "Ondorengo fitxategi {{PLURAL:$1|hau beste honen berdina da|$1 hauek beste honen berdinak dira}} ([[Special:FileDuplicateSearch/$2|zehaztasun gehiago]]):", "sharedupload": "Elkarbanatutako fitxategi hau $1-(e)ko igoera bat da eta beste proiektuek ere erabil dezakete.", + "sharedupload-desc-there": "Fitxagia $1tik dator eta beste proiektu batzuk erabili ditzakete. Mesedez ikusi [$2 fitxategi deskribapen orria] informazio gehiagorako.", "sharedupload-desc-here": "Fitxategi hau $1-(e)koa da eta beste proeiktuetan erabilia izan liteke.\nBere [$2 fitxategiaren deskribapen orrialdea] behean dago.", + "sharedupload-desc-edit": "Fitxategi hau $1tik dator eta beste proiektuetatik erabili daiteke. Beharbada bere deskribapena aldatu nahi duzu bere [$2 fitxategi deskribapen orrian].", + "sharedupload-desc-create": "Fitxategi hau $1tik dator eta beste proiektuetatik erabili daiteke. Beharbada bere deskribapena aldatu nahi duzu bere [$2 fitxategi deskribapen orrian].", "filepage-nofile": "Izen horrekin ez dago fitxategirik.", "filepage-nofile-link": "Ez dago fitxategirik izen honekin, baina [$1 igo dezakezu].", "uploadnewversion-linktext": "Fitxategi honen bertsio berri bat igo", @@ -1816,6 +1840,7 @@ "uncategorizedcategories": "Kategorizatu gabeko kategoriak", "uncategorizedimages": "Kategorizatu gabeko irudiak", "uncategorizedtemplates": "Sailkatu gabeko txantiloiak", + "uncategorized-categories-exceptionlist": "# Kategoria zerrenda bat dauka, Special:UncategorizedCategories lekuan ez zena aipatu behar. Lerro bakoitzeko, \"*\" hasita. Beste karaktere batekin hasten diren lerroak (zuriuneak barne) ez dira kontuan hartuko. Erabili \"#\" iruzkinetarako.", "unusedcategories": "Erabili gabeko kategoriak", "unusedimages": "Erabili gabeko fitxategiak", "wantedcategories": "Eskatutako kategoriak", @@ -1823,6 +1848,9 @@ "wantedpages-summary": "Lotura gehien dituzten eta existitzen ez diren orrialdeen zerrenda da hau, eurengana birzuzenketak baino ez dituzten orrialdeak kenduta. Eurenganako birzuzenketak dituzten baina existitzen ez diren orrialdeen zerrenda bat ikusteko, [[{{#special:BrokenRedirects}}|apurtutako birzuzenketen zerrendara]] jo dezakezu.", "wantedpages-badtitle": "Izenburu okerra hautatutako emaitzetan: $1", "wantedfiles": "Eskatutako fitxategiak", + "wantedfiletext-cat": "Hurrengo fitxategiak erabiltzen dira baina ez dira existitzen. Kanpoko biltegietako fitxategiak zerrendaturik agertu daitezke nahiz eta ez existitu. Positibo faltsu hauek suntsitusuntsituMediaWiki web zerbitzuen APIarekin esperimentatzeko.\nIkusi [[mw:API:Main page|API dokumentazioa]] API erabilerari buruzko xehetasun gehiago lortzeko. Adibidez: [https://www.mediawiki.org/wiki/API#A_simple_example orri nagusiko edukia lortu]. Hautatu ekintza bat adibide gehiago ikusteko.\n\nKontuan izan, hau da sandbox bat bada ere, orri honetan egiten dituzun ekintzak wikiak alda ditzaketela.", "apisandbox-fullscreen": "Zabaldu panela", "apisandbox-fullscreen-tooltip": "Zabaldu sandbox panela arakatzailearen leihoa betetzeko.", "apisandbox-unfullscreen": "Erakutsi orria", @@ -1892,6 +1923,7 @@ "apisandbox-reset": "Garbitu", "apisandbox-retry": "Saiatu berriro", "apisandbox-loading": "API $1 modulorako informazioa kargatzen...", + "apisandbox-load-error": "\"$1\" API modulorako informazioa kargatzerakoan akats bat gertatu da: $2", "apisandbox-no-parameters": "API modulu honek ez du parametrorik.", "apisandbox-helpurls": "Laguntza estekak", "apisandbox-examples": "Adibideak", @@ -1907,6 +1939,7 @@ "apisandbox-sending-request": "APIari eskaera bidaltzen...", "apisandbox-loading-results": "APIaren emaitzak jasotzen...", "apisandbox-results-error": "Errore bat gertatu da API kontsulta-erantzuna kargatzean: $1", + "apisandbox-results-login-suppressed": "Eskaera hau erregistratu gabeko erabiltzaile bezala prozesatu da, Same-Originaren segurtasuna arakatzailean nabigatzeko erabil daitekelako bestela. Kontuan izan API sandboxeko token automatikoko manipulazioa ez dela behar bezala funtzionatzen horrelako eskaerekin, eskuz bete itzazu mesedez.", "apisandbox-request-selectformat-label": "Erakutsi eskaera datuak horrela:", "apisandbox-request-format-url-label": "URL kontsulta katea", "apisandbox-request-url-label": "Eskatutako URLa:", @@ -1918,6 +1951,7 @@ "apisandbox-alert-field": "Zelai honetako balioak ez du balio.", "apisandbox-continue": "Jarraitu", "apisandbox-continue-clear": "Garbitu", + "apisandbox-continue-help": "{{int:apisandbox-continue}} [https://www.mediawiki.org/wiki/API:Query#Continuing_queries continue] azken eskaera prozesatuko du; {{int:apisandbox-continue-clear}} jarraipenarekin zerikusia duten parametroak ezabatuko ditu.", "apisandbox-param-limit": "max sartu gehienezko muga erabiltzeko.", "apisandbox-multivalue-all-namespaces": "$1 (Izen eremu guztiak)", "apisandbox-multivalue-all-values": "$1 (balio guztiak)", @@ -2006,6 +2040,7 @@ "listgrouprights-namespaceprotection-namespace": "Izen-tartea", "listgrouprights-namespaceprotection-restrictedto": "Erabiltzaileak editatzera baimentzeko eskubidea(k)", "listgrants": "Diru-laguntzak", + "listgrants-summary": "Ondoren dagoen beken zerrendak erabiltzailearen eskubideak dituzten sarbideak erakusten ditu. Erabiltzaileek aplikazioek beraien kontua erabiltzeko baimena eska dezakete, baimen mugatuekin, erabiltzaileak eskaerari eman dion konfiantzarekin soilik. Erabiltzaile baten izenean jarduten duen aplikazio batek ezin du erabiltzaileak ez dituen eskubideak erabili. [[{{MediaWiki:Listgrouprights-helppage}}|informazio gehigarria]] egon daiteke eskubide indibidualen inguruan.", "listgrants-grant": "Baimena eman", "listgrants-rights": "Eskubideak", "trackingcategories": "Jarraipen kategoriak", @@ -2014,6 +2049,12 @@ "trackingcategories-name": "Mezuaren izena", "trackingcategories-desc": "Kategoria inklusio irizpideak", "restricted-displaytitle-ignored": "Bistaratze izen ezezagunak dituzten orriak", + "restricted-displaytitle-ignored-desc": "Orriak {{DISPLAYTITLE}} ez du kontuan hartu orriaren oraingo izenburuarekin bat ez datorrelako.", + "noindex-category-desc": "Orri honek sarrera erroboten eskutik ez dauka eginda hitz magikoa daukalako __NOINDEX__ barruan eta banderatxoa onartzen ez duen izen-eremuan dagoelako.", + "index-category-desc": "Orriak __INDEX__ darama (eta banderatxoa onartua dagoen izen-eremuan dago), beraz, sarrera erroboten esku dago nahiz eta normalean horrela izan behar ez den.", + "post-expand-template-inclusion-category-desc": "Orri hau $wgMaxArticleSize baino handiagoa txantilioi guztiak zabaldu eta gero, horregatik batzuk ez dira zabaldu.", + "post-expand-template-argument-category-desc": "Orrialdea $wgMaxArticleSize baino handiagoa da, txantiloiaren argumentua zabaldu ondoren (triple giltza duen zerbait, {{{Foo}}} bezalakoa).", + "expensive-parserfunction-category-desc": "Orriak analisi funtzional garesti gehiegi erabiltzen ditu (like #ifexist). \nIkusi [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].", "broken-file-category-desc": "Orriak fitxategi hautsitako esteka bat du (fitxategi bat txertatzeko esteka fitxategia ez denean existitzen).", "hidden-category-category-desc": "Kategoriak __HIDDENCAT__ darama bere orrialde edukian, orrien esteken kutxa orrian lehenespenez erakusteko saihesten duena.", "trackingcategories-nodesc": "Ez dago deskribapenik eskuragarri.", @@ -2130,6 +2171,7 @@ "delete-toobig": "Orrialde honek aldaketa historia luzea du, {{PLURAL:$1|berrikuspen batetik|$1 berrikuspenetik}} gorakoa.\nOrrialde horien ezabaketa mugatua dago {{SITENAME}}n ezbeharrak saihesteko.", "delete-warning-toobig": "Orrialde honek aldaketa historia luzea du, {{PLURAL:$1|berrikuspen batetik|$1 berrikuspenetik}} gorakoa.\nEzabatzeak ezbeharrak eragin ditzake {{SITENAME}}ren datu-basean;\nkontu izan.", "deleteprotected": "Ezin dezakezu orri hau ezabatu babestu egin delako.", + "deleting-backlinks-warning": "Abisua: [[Special:WhatLinksHere/{{FULLPAGENAME}}|Beste orriek]] ezabatzear zauden orrira linkatu edo doaz.", "deleting-subpages-warning": "Oharra: Ezabatuko duzun orrialdeak [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|a subpage|$1 subpages|51=over 50 subpages}}]] dauka.", "rollback": "Desegin aldaketak", "rollbacklink": "desegin", @@ -2144,6 +2186,7 @@ "revertpage": "[[Special:Contributions/$2|$2]] ([[User talk:$2|talk]]) wikilariaren aldaketak deseginda, edukia [[User:$1|$1]] wikilariaren azken bertsiora itzuli da.", "revertpage-nouser": "{{GENDER:$1|[[User:$1|$1]]}}-n azken berrikuspena ezkutatutako erabiltzaile batek egindako leheneraketa aldaketak.", "rollback-success": "{{GENDER:$3|$1}}; wikilariaren aldaketak deseginda,\nedukia {{GENDER:$4|$2}} wikilariaren azken bertsiora itzuli da.", + "rollback-success-notify": "$1k leheneratutako aldaketal;\nazkenengo berrikusketara aldatu da berriz $2ren eskutik. [$3 Erakutsi aldaketak]", "sessionfailure-title": "Saio-akatsa", "sessionfailure": "Badirudi saioarekin arazoren bat dagoela; bandalismoak saihesteko ekintza hau ezeztatu egin da. Mesedez, nabigatzaileko \"atzera\" botoian klik egin, hona ekarri zaituen orrialde hori berriz kargatu, eta saiatu berriz.", "changecontentmodel": "Aldatu orri bateko eduki eredua", @@ -2160,6 +2203,8 @@ "changecontentmodel-emptymodels-text": "[[:$1]] daukan edukia ezin da inolaz ere edozein motara bihurtu.", "log-name-contentmodel": "Log eduki eredu aldaketa", "log-description-contentmodel": "Orrialde honetan orrien eduki-ereduen aldaketak zerrendatzen dira, baita lehenespenez kanpoko beste eduki batzuekin sortu ziren orriak.", + "logentry-contentmodel-new": "$1 wikilariak $3 orria \"$5\" lehenetsirik ez dagoen eduki eredua erabiliz {{GENDER:$2|sortu}} egin du", + "logentry-contentmodel-change": "$1 wikilariak $3 orriko eduki eredua \"$4\"tik \"$5\"ra {{GENDER:$2|aldatu}} egin du", "logentry-contentmodel-change-revertlink": "desegin", "logentry-contentmodel-change-revert": "desegin", "protectlogpage": "Babes erregistroa", @@ -2188,7 +2233,7 @@ "protect-locked-blocked": "Babes-mailak ezin dira aldatu blokeatuta dagoen bitartean.\nHemen daude '''$1''' orrialdearen egungo ezarpenak:", "protect-locked-dblock": "Babes-mailak ezin dira aldatu, datu-basea blokeatuta baitago.\nHemen daude '''$1''' orriaren oraingo ezarpenak:", "protect-locked-access": "Zure kontuak ez du baimenik babes mailak aldatzeko.\nHemen daude '''$1''' orrialderako oraingo ezarpenak:", - "protect-cascadeon": "Orrialde hau babestuta dago orain, ondorengo orrialde {{PLURAL:$1|honek kaskada bidezko babesa aktibatua duelako|hauek kaskada bidezko babesa aktibatua dutelako}}.\nOrrialde honen babes maila alda dezakezu, baina ez du eraginik izango kaskada bidezko babesean.", + "protect-cascadeon": "Orrialde hau babestuta dago orain, ondorengo orrialde {{PLURAL:$1|honek kaskada bidezko babesa aktibatua duelako|hauek kaskada bidezko babesa aktibatua dutelako}}.\nOrrialde honen babes maila aldaketek kaskada bidezko babesean ez dute eraginik izango.", "protect-default": "Lankide guztiak baimendu", "protect-fallback": "\"$1\" baimena duten erabiltzaileak bakarrik baimendu", "protect-level-autoconfirmed": "Baimendu lankide autokonfirmatuei bakarrik", @@ -2233,6 +2278,7 @@ "undeletehistorynoadmin": "Artikulua ezabatu egin da. Ezabatzeko azalpena beheko laburpenean erakusten da, ezabatu aurretik parte hartu zuten erabiltzaileen xehetasunekin batera. Ezabatutako berrikuspenen oraingo testua administratzaileek bakarrik ikus dezakete.", "undelete-revision": "$1(e)n berrikuspen $3(e)k ezabatu du ($4(e)ko $5(e)tan):", "undeleterevision-missing": "Baliogabeko berrikuspena. Baliteke lotura ezegokia izatea, edo berriskupena leheneratu edo kendu izana.", + "undeleterevision-duplicate-revid": "{{PLURAL:$1|Berrikusketa bat ezin izan da|$1 berrikusketa ezin izan dira}} berregin, {{PLURAL:$1|bere|beraien}} rev_id erabiltzen zegoelako jada.", "undelete-nodiff": "Ez da aurkitu aurreko berrikuspenik.", "undeletebtn": "Leheneratu", "undeletelink": "ikusi/leheneratu", @@ -2582,20 +2628,22 @@ "import-nonewrevisions": "Ez da berrikuspenik inportatu (guztiak aurretiaz aurkeztu dira edo akatsengatik behertan behera utzi ziren).", "xml-error-string": "$1 $2 lerroan, $3 zutabean ($4 byte): $5", "import-upload": "Igo XML datuak", - "import-token-mismatch": "Sesio data galdu da. Saia saitez berriro ere, mesedez.", + "import-token-mismatch": "Saioaren datuen galera.\n\nBaliteke saioa amaituta egotea. '''Egiaztatu oraindik saioa hasita duzula eta saiatu berriro'''.\nOraindik ez badu funtzionatzen, saiatu [[Special:UserLogout|logout out]] eta saioa hasi berriro, eta egiaztatu zure nabigatzaileak gune honetako cookieak onartzen dituela.", "import-invalid-interwiki": "Ezin da esandako wikitik inportatu.", "import-error-edit": "\"$1\" orrialdea ez da inportatu aldatzeko baimenik ez duzulako.", "import-error-create": "\"$1\" orrialdea ez da inportatu sortzeko baimenik ez duzulako.", "import-error-interwiki": "\"$1\" orrialdea ez da inportatu bere izena kanpo loturetarako gordeta dagoelako (interwiki).", "import-error-special": "\"$1\" orrialdea ez da inportatu izen-tarte berezi bati dagokiolako eta horretan orrialderik ezin delako egon.", "import-error-invalid": "\"$1\" orrialdea ez da inportatu horretarako dagokion izena ez delako baliagarria wiki honetan.", + "import-error-unserialize": "\"$1\" orriko $2 berrikusketa ezin izan da deskategorizatu. Berrikusketa $4 bezala sailkatutako $3 eduki eredua erabiltzeko txostena bidali da.", + "import-error-bad-location": "$3 eduki eredua erabiltzen duen $2 berrikusketak ezin da wiki honetako $1 lekuan bildu, orri horretan eredu hori ez delako onartzen.", "import-options-wrong": "Aukera {{PLURAL:$2|ez-egokia|ez-egokiak}}:$1", "import-rootpage-invalid": "Emandako jatorri orrialdea izenburu ez-baliagarria da.", "import-rootpage-nosubpage": "Jatorri orrialdearen «$1» izen-tarteak ez du baimentzen azpi-orrialderik.", "importlogpage": "Inportazio erregistroa", "importlogpagetext": "Beste wiki batzutatik historial eta guzti egindako orrialdeen inportazio administratiboak.", - "import-logentry-upload-detail": "$1 {{PLURAL:$1|berrikuspen|berrikuspen}}", - "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|berrikuspen|berrikuspen}} $2-(e)tik", + "import-logentry-upload-detail": "$1 {{PLURAL:$1|berrikuspen|berrikuspenak}} inportatuak", + "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|berrikuspen|berrikuspenak}} $2-(e)tik inportatuak", "javascripttest": "JavaScript frogatzen", "javascripttest-pagetext-unknownaction": "Ekintza ezezaguna \"$1\".", "javascripttest-qunit-intro": "Ikusi [$1 frogen dokumentazioa] mediawiki.org orrialdean.", @@ -2675,7 +2723,7 @@ "anonymous": "{{SITENAME}}(e)ko lankide {{PLURAL:$1|anonimoa|anonimoak}}", "siteuser": "{{SITENAME}}(e)ko $1 erabiltzailea", "anonuser": "{{SITENAME}}-(e)ko $1 erabiltzaile anonimoa", - "lastmodifiedatby": "Orrialdearen azken aldaketa: $2, $1. Nork: $3.", + "lastmodifiedatby": "Orrialde azkenik aldatua: $2, $1n $3 wikilariaren eskutik.", "othercontribs": "$1(r)en lanean oinarrituta.", "others": "besteak", "siteusers": "{{SITENAME}}(e)ko $1 {{PLURAL:$2|erabiltzailea|erabiltzaileak}}", @@ -2789,6 +2837,7 @@ "file-info-png-repeat": "{{PLURAL:$1|Behin|$1 aldiz}} ikusia", "file-info-png-frames": "{{PLURAL:$1|Frame bat|$1 frame}}", "file-no-thumb-animation": "'''Oharra: Muga teknikoak direla eta, fitxategi honen iruditxoak ezin dira animatu.'''", + "file-no-thumb-animation-gif": "Oharra: muga teknikoak direla eta, erresoluzio handiko GIF irudi hau bezalakoak ez dira animatuak izango. ", "newimages": "Fitxategi berrien galeria", "imagelisttext": "Jarraian duzu $2(e)z ordenatutako {{PLURAL:$1|fitxategi baten|'''$1''' fitxategiren}} zerrenda.", "newimages-summary": "Orrialde berezi honek igotako azkeneko fitxategiak erakusten ditu.", @@ -3221,6 +3270,7 @@ "scarytranscludetoolong": "[URLa luzeegia da]", "deletedwhileediting": "'''Oharra''': Zu aldaketak egiten hasi ondoren orrialdea ezabatua izan da!", "confirmrecreate": "[[User:$1|$1]] erabiltzaileak ([[User talk:$1|eztabaida]]) {{GENDER:$1|deleted}} orrialde hau ezabatu zu aldatzen hasi eta gero arrazoi honekin:\n: $2\nMesedez, baieztatu benetan orrialde hau berriz sortu nahi duzula.", + "confirmrecreate-noreason": "[[User:$1|$1]] wikilariak ([[User talk:$1|talk]]) orri hau {{GENDER:$1|ezabatu}} du zuk aldatzen hasi eta gero. Mesedez, konfirmatu ezazu orri hau berregin nahi duzula.", "recreate": "Birsortu", "confirm-purge-title": "Orri hau purgatu", "confirm_purge_button": "Ados", @@ -3286,6 +3336,9 @@ "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|eztabaida]])", "timezone-local": "Lokala", "duplicate-defaultsort": "Adi: Berezko \"$2\" antolatzeak aurreko berezko \"$1\" antolatzea gainditzen du.", + "duplicate-displaytitle": "Abisua: \"$2\" aurkezpen izenburua aurretiazko \"$1\" aurkezpen izenburua baliogabetzen du.", + "restricted-displaytitle": "Abisua: \"$1\" aurkezpen izenburua ez da kontuan hartu orriak orain daukan izenburuarekin ez delako baliokidea.", + "invalid-indicator-name": "Akatsa: Orriaren egoera indikatzaileen atributu izena ezin da hutsik egon.", "version": "Bertsioa", "version-extensions": "Instalatutako luzapenak", "version-skins": "Instalatutako itxurak", @@ -3318,6 +3371,7 @@ "version-poweredby-others": "beste batzuk", "version-poweredby-translators": "translatewiki.net itzultzaileak", "version-credits-summary": "Hurrengo pertsonak gogoan izan nahi ditugu [[Special:Version|MediaWikiri]] egindako ekarpena dela eta.", + "version-license-info": "MediaWiki software librea da; birbanatu daitekena edota alda dezakezuna GNU Lizentzia Publiko Orokorraren baldintzapean, Free Software Foundation-ek argitaratutakoaren arabera; Lizentziaren 2. bertsioa edo (nahiago baduzu) bertsio berriago bat.\n\nMediaWiki partekatzen da erabilgarria izango delakoan, baina BERMERIK GABE; MERKATURATZEKO ez dela bermerik gabe edo HELBURU PARTIKULARRETARAKO izango den jakin gabe. Ikus GNU Lizentzia Publiko Orokorra xehetasun gehiagorako.\n\n{{SERVER}}{{SCRIPTPATH}}/COPYING lizentzia programa publiko orokorraren kopia bat jaso beharko zenuke honekin batera; bestela, idatzi Free Software Foundation-en, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, AEB edo [//www.gnu.org/licenses/old-licenses/gpl-2.0.html irakurri sarean].", "version-software": "Instalatutako softwarea", "version-software-product": "Produktua", "version-software-version": "Bertsioa", @@ -3373,6 +3427,7 @@ "tag-filter-submit": "Iragazkia", "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Etiketa|Etiketak}}]]: $2)", "tag-mw-contentmodelchange": "Eduki eredu aldaketa", + "tag-mw-contentmodelchange-description": "Orri baten [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:ChangeContentModel change the content model] aldaketak", "tags-title": "Etiketak", "tags-intro": "Orri honek softwareak aldatzeko bezala marka ditzazkeen etiketak zerrendatzen ditu, eta berauen esanahia.", "tags-tag": "Etiketaren izena", @@ -3393,21 +3448,29 @@ "tags-deactivate": "desaktibatu", "tags-hitcount": "$1 {{PLURAL:$1|aldaketa|aldaketa}}", "tags-manage-no-permission": "Ez duzu etiketa aldaketak kudeatzeko baimenik.", + "tags-manage-blocked": "Ezin dezakezu etiketa aldaketa kudeatu {{GENDER:$1|you}} blokeatua egon bitartean.", "tags-create-heading": "Etiketa berria sortu", "tags-create-explanation": "Lehenespenez, sortutako etiketa berriak erabiltzaileek eta botek erabiltzeko eskuragarri egingo dira.", "tags-create-tag-name": "Etiketaren izena:", "tags-create-reason": "Arrazoia:", "tags-create-submit": "Sortu", "tags-create-no-name": "Etiketatutako izen bat zehaztu behar duzu.", + "tags-create-invalid-chars": "Etiketak izenek ezin dezakete komak (,), hodi (|), edo barruti aurreraturik (/) eraman.", "tags-create-invalid-title-chars": "Etiketa izenak ezin du orri-tituluetan erabili ezin diren karaktererik eduki.", "tags-create-already-exists": "\"$1\" etiketa badago.", + "tags-create-warnings-above": "Hurrengo {{PLURAL:$2|abisua aurkitu da|abisuak aurkitu dira}} \"$1\" etiketa sortzen saiatzerakoan:", "tags-create-warnings-below": "Etiketaren sorrerarekin jarraitu nahi duzu?", "tags-delete-title": "Etiketa ezabatu", "tags-delete-explanation-initial": "Datu-basetik \"$1\" etiketa ezabatzera zoaz", + "tags-delete-explanation-in-use": "{{PLURAL:$2|$2 berrikusketa edo erregistro sarrera kenduko da|all $2 berrikusketa edota erregistro sarrera guztiak kenduko dira}} orain aplikatutako lekutik.", + "tags-delete-explanation-warning": "Akzio hau atzeraezina eta deseginezin daitekeena da, ezta datu baseak antolatzen dituzten administratzaileen partez.Ezabatu nahi duzun etiketa hau dela ziurtatu.", + "tags-delete-explanation-active": "\"$1\" etiketa aktibo dago oraindik, eta etorkizunean aplikatzen jarraituko da. Hau ez gertatzea nahi bada, etiketa aplikatzeko jarrita dagoen leku(eta)ra jo, bertan ezgaitutzeko.", "tags-delete-reason": "Arrazoia:", "tags-delete-submit": "Betirako ezabatu etiketa hau", "tags-delete-not-allowed": "Luzapen batek definitutako etiketak ezin dira ezabatu, luzapenak bereziki baimendu ezean.", "tags-delete-not-found": "\"$1\" etiketa ez da existitzen.", + "tags-delete-too-many-uses": "\"$1\" etiketa $2 {{PLURAL:$2|berrikusketa bat|berrikusketa}} baino gehiagotan aplikatu egin denez ezingo da ezabatu", + "tags-delete-warnings-after-delete": "\"$1\" etiketa ezabatu egin da, baina hurrengo {{PLURAL:$2|abisua|abisuak}} aurkitu d(ir)a:", "tags-delete-no-permission": "Ez daukazu baimenik etiketa aldaketak ezabatzeko.", "tags-activate-title": "Etiketa aktibatu", "tags-activate-question": "\"$1\" etiketa aktibatzear zaude.", @@ -3421,9 +3484,11 @@ "tags-deactivate-not-allowed": "Ezin izan da \"$1\" etiketa desaktibatu.", "tags-deactivate-submit": "Desaktibatu", "tags-apply-no-permission": "Ez duzu etiketak aldatzeko baimen nahikorik zure aldaketa baimenetan.", + "tags-apply-blocked": "Ezin dituzu aldaketaren etiketak aplikatu zure aldaketekin batera, blokeaturik {{GENDER:$1|zauden}} bitartean.", "tags-apply-not-allowed-one": "\"$1\" etiketa ez dauka eskuz aplikatzeko baimenik.", "tags-apply-not-allowed-multi": "Hurrengo {{PLURAL:$2|etiketa|etiketak}} ezin d(ir)a eskuz aplikatu: $1", "tags-update-no-permission": "Ez duzu aldaketaren etiketak gehitzeko edo kentzeko baimenik bakarkako berrikuspen edo erregistroko sarreretatik.", + "tags-update-blocked": "Ezin ditzakezu etiketa aldaketak gehitu edo kendu blokeatuta {{GENDER:$1|zauden}} bitartean.", "tags-update-add-not-allowed-one": "$1 etiketa ezin da eskuz gehitu.", "tags-update-add-not-allowed-multi": "Hurrengo {{PLURAL:$2|etiketa|etiketak}} ezin d(ir)a eskuz gehitu: $1", "tags-update-remove-not-allowed-one": "$1 etiketa ezabatzeko baimenik ez dago.", @@ -3433,6 +3498,7 @@ "tags-edit-revision-selected": "[[:$2]](r)en {{PLURAL:$1|aukeratutako berrikusketa|aukeratutako berrikusketak}}:", "tags-edit-logentry-selected": "{{PLURAL:$1|Aukeratutako log gertakaria|Aukeratutako log gertakariak}}:", "tags-edit-revision-legend": "{{PLURAL:$1|Berrikusketa honetatik| $1 berrikuska guztietatik}} etiketak gehitu edo kendu", + "tags-edit-logentry-legend": "{{PLURAL:$1|erregistro sarrera honetatik|$1 erregistro sarreretatik}} etiketak kendu edo gehitu", "tags-edit-existing-tags": "Existitzen diren etiketak:", "tags-edit-existing-tags-none": "Bat ere ez", "tags-edit-new-tags": "Etiketa berriak:", @@ -3442,6 +3508,7 @@ "tags-edit-chosen-placeholder": "Hautatu etiketa batzuk", "tags-edit-chosen-no-results": "Balio duen etiketarik ez da aurkitu", "tags-edit-reason": "Arrazoia:", + "tags-edit-revision-submit": "Aldaketak {{PLURAL:$1|berrikusketa honi|$1 berrikusketa hauei}} aplikatu", "tags-edit-logentry-submit": " {{PLURAL:$1|saio sarrera honetan|$1 saio sarreretan}} aldaketak aplikatu", "tags-edit-success": "Aldaketak ezarri dira.", "tags-edit-failure": "Ezin izan dira aldaketak ezarri:\n$1", @@ -3505,14 +3572,20 @@ "htmlform-user-not-exists": "$1 ez da existitzen.", "htmlform-user-not-valid": "$1 erabiltzaile izena ezin da erabili.", "logentry-delete-delete": "$1 {{GENDER:$2|wikilariak}} «$3» orria ezabatu du", + "logentry-delete-delete_redir": "$1k {{GENDER:$2|}} $3 birbideraketa ezabatu du gainidatziz", "logentry-delete-restore": "$1 administratzaileak «$3» orria {{GENDER:$2|lehengoratu}} du", "logentry-delete-restore-nocount": "$1-k {{GENDER:$2|leheneratutako}} $3 orria.", "restore-count-revisions": "{{PLURAL:$1|berrikusketa 1|$1 berrikusketa}}", "restore-count-files": "{{PLURAL:$1|Fitxategi 1|$1 fitxategi}}", "logentry-delete-event": "$1 wikilariak ikusgaitasuna {{GENDER:$2|aldatu}} {{PLURAL:$5|dio erregistroko sarrera bati|die erregistroko $5 sarrerari}}, $3 orrian: $4", "logentry-delete-revision": "$1 wikilariak ikusgaitasuna {{GENDER:$2|aldatu}} {{PLURAL:$5|dio erregistroko sarrera bati|die erregistroko $5 sarrerari}}, $3 orrian: $4", + "logentry-delete-event-legacy": "$1k {{GENDER:$2|}} $3ko sarrera gertaeren ikuspena aldatu egin du.", + "logentry-delete-revision-legacy": "$1k {{GENDER:$2|}} $3 orriko berrikusketen ikuspena aldatu egin du", "logentry-suppress-delete": "$1 erabiltzaileak $3 orria {{GENDER:$2|ezabatu}} du", - "logentry-suppress-event": "$1 wikilariak ezkutuan ikusgaitasuna aldatu {{PLURAL:$5|dio erregistroko sarrera bati|die erregistroko $5 sarrerari}}, «$3» orrian: $4", + "logentry-suppress-event": "$1 wikilariak {{GENDER:$2|}} ezkutuan ikusgaitasuna aldatu {{PLURAL:$5|dio erregistroko sarrera bati|die erregistroko $5 sarrerei}} $3n: $4", + "logentry-suppress-revision": "$1 wikilariak ikusgaitasuna aldatu {{PLURAL:$5|dio berrikusketari|$5 berrikusketei}} $3 orrian: $4", + "logentry-suppress-event-legacy": "$1k {{GENDER:$2|}} sekretuan $3 sarrera gertaeren ikuspena aldatu egin du", + "logentry-suppress-revision-legacy": "$1 wikilariak izkutuan $3 orriko berrikusketen ikuspena {{GENDER:$2|aldatu}} egin du", "revdelete-content-hid": "edukia ezkutatu da", "revdelete-summary-hid": "edizioaren laburpena ezkutatu da", "revdelete-uname-hid": "lankide izena ezkutatua", @@ -3527,6 +3600,10 @@ "logentry-suppress-block": "$1 {{GENDER:$2|administratzaileak}} {{GENDER:$4|$3}} blokeatu du. Iraupena: $5 $6", "logentry-suppress-reblock": "$1 administratzaileak {{GENDER:$4|$3}} wikilariaren blokeoa {{GENDER:$2|aldatu du}}. Blokeoaldia: $5 $6", "logentry-import-upload": "$1(e)k $3 {{GENDER:$2|inportatu du}} fitxategi-igoera bidez", + "logentry-import-upload-details": "$1 erabiltzaileak $3 {{GENDER:$2|inportatu}} du ($4 {{PLURAL:$4|berrikusketa|berrikusketak}}) fitxategia igo eginez.", + "logentry-import-interwiki": "$1 wikilariak {{GENDER:$2|}} $3 beste wiki batetik inportatu egin du", + "logentry-import-interwiki-details": "$1 wikilariak {{GENDER:$2|}} $3 inportatu egin du $5tik ($4 {{PLURAL:$4|berrikusketa|berrikusketak}})", + "logentry-merge-merge": "$1 wikilariak $3 $4ri {{GENDER:$2|batu}} egin dio ($5 gehienez baitan hartzen duten berrikusketak)", "logentry-move-move": "$1 {{GENDER:$2|wikilariak}} «$3» orria «$4» izenera aldatu du", "logentry-move-move-noredirect": "$1 {{GENDER:$2|wikilariak}} «$3» orria «$4» izenera aldatu du, birzuzenketarik utzi gabe", "logentry-move-move_redir": "$1 {{GENDER:$2|wikilariak}} «$3» orria «$4» izenera aldatu du, birzuzenketaren gainetik", @@ -3538,19 +3615,39 @@ "logentry-newusers-create2": "$1 wikilariak $3 erabiltzaile kontua {{GENDER:$2|sortu}} du", "logentry-newusers-byemail": "$1(e)k $3 erabiltzaile kontua {{GENDER:$2|sortu du}} eta pasahitza emailez bidali da", "logentry-newusers-autocreate": "$1 erabiltzaile kontua automatikoki {{GENDER:$2|sortu da}}", + "logentry-protect-move_prot": "$1 wikilariak babespen ezarpenak $4tik $3ra {{GENDER:$2|mugitu}} egin ditu", "logentry-protect-unprotect": "$1 {{GENDER:$2|administratzaileak}} babesa kendu dio «$3» orriari", + "logentry-protect-protect": "$1 wikilariak {{GENDER:$2|}} $3 $4 babestu du", + "logentry-protect-protect-cascade": "$1 wikilariak {{GENDER:$2|}} $3 $4 babestu du [korrontean]", + "logentry-protect-modify": "$1 wikilariak {{GENDER:$2|}} $3 $4rentzako babespen maila aldatu du", + "logentry-protect-modify-cascade": "$1 wikilariak $3 $4 duten babespen maila {{GENDER:$2|aldatu}} egin du [kaskada bidez]", + "logentry-rights-rights": "$1 wikilariak {{GENDER:$6 eta|$3 wikilarientzako}} talde bazkidetza $4tik $5ra {{GENDER:$2|aldatu}} dizkie", + "logentry-rights-rights-legacy": "$1 erabiltzaileak $3ren talde bazkidetza {{GENDER:$2|aldatu}} egin du", + "logentry-rights-autopromote": "$1 automatikoki $4tik $5ra {{GENDER:$2|igo}} egin zaio", "logentry-upload-upload": "$1(e)k $3 {{GENDER:$2|igo du}}", "logentry-upload-overwrite": "$1(e)k $3(r)en bertsio berria {{GENDER:$2|igo du}}", "logentry-upload-revert": "$1(e)k $3 {{GENDER:$2|igo du}}", "log-name-managetags": "Etiketa kudeatze erregistroa", "log-description-managetags": "Orrialde honetan [[Special:Tags|etiketekin]] lotutako kudeaketa-zereginak zerrendatzen dira. Saioak administratzaileak eskuz egiten dituen ekintzak soilik ditu; Wiki softwarerrarekin etiketak sortu edo ezabatzeko ahalmenarekin erregistro honetan erregistratutako sarrerarik gabe.", "logentry-managetags-create": "$1 lankideak \"$4\" etiketa {{GENDER:$2|sortu du}}", + "logentry-managetags-delete": "$1 erabiltzaileak \"$4\" etiketa {{GENDER:$2|ezabatu}} egin du ($5tik ezabatua {{PLURAL:$5|berrikusketa edo erregistro sarrera|berrikusketak edota erregistro sarrerak}})", + "logentry-managetags-activate": "$1 {{GENDER:$2|erabiltzaileak}} \"$4\" etiketa erabiltzaile eta errobotek erabiltzeko aktibatu du", + "logentry-managetags-deactivate": "$1 {{GENDER:$2|erabiltzaileak}} \"$4\" etiketa erabiltzaile eta errobotek erabiltzeko desaktibatu du", "log-name-tag": "Etiketen erregistroa", + "log-description-tag": "Orrialde honek erabiltzaileek [[Special:Tags|tags]] berrikuspenak bakarko edo erregistroko sarreretan gehitu edo kendu duten erakusten du. Erregistroak ez ditu zerrendatzen etiketatze-ekintzak editatzean, ezabatzean edo antzeko ekintzetan.", + "logentry-tag-update-add-revision": "$1 wikilariak $6 {{PLURAL:$7|etiketa|etiketak}} $3 orriko $4 berrikusketara {{GENDER:$2|gehitu}} egin d(it)u", + "logentry-tag-update-add-logentry": "$1 wikilariak $6 {{PLURAL:$7|etiketa|etiketak}} $3 orriko $5 erregistro sarrerara {{GENDER:$2|gehitu}} egin d(it)u", + "logentry-tag-update-remove-revision": "$1 wikilariak $8 {{PLURAL:$9|etiketa|etiketak}} $3 orriko $4 berrikusketatik {{GENDER:$2|kendu}} egin d(it)u", + "logentry-tag-update-remove-logentry": "$1 wikilariak $8 {{PLURAL:$9|etiketa|etiketak}} $3 orriko $5 erregistro sarreratik {{GENDER:$2|kendu}} egin d(it)u", + "logentry-tag-update-revision": "$1 wikilariak $3 orriko $4 berrikusketan etiketak {{GENDER:$2|eguneratu}} egin ditu ({{PLURAL:$7|gehitutakoak}}$6; {{PLURAL:$9|kendutakoak}} $8)", + "logentry-tag-update-logentry": "$1 wikilariak etiketak {{GENDER:$2|igo}} egin ditu $3 orriko $5 sarreran. ({{PLURAL:$7|gehituak}} $6; {{PLURAL:$9|kenduak}} $8)", "rightsnone": "(bat ere ez)", "rightslogentry-temporary-group": "$1 (momentuz, $2rarte)", "feedback-adding": "Orriari feedbacka gehitzen...", "feedback-back": "Atzera", + "feedback-bugcheck": "Primeran! Soilik egiaztatu ez dagoela [$1 ezagututako zomorroak] barruan.", "feedback-bugnew": "Txekeatu dut. Bug berria bidaliko", + "feedback-bugornote": "Arazo tekniko bat xehetasunez deskribatzeko prest bazaude [bug baten berri eman $1] mesedez. Bestela, beheko formulario erraza erabil dezakezu. Zure iruzkina \"[$3 $2]\" orrialdean gehituko da, zure erabiltzaile-izenarekin batera.", "feedback-cancel": "Utzi", "feedback-close": "Egina", "feedback-external-bug-report-button": "Artxibatu lan tekniko bat", @@ -3565,6 +3662,7 @@ "feedback-submit": "Bidali", "feedback-terms": "Ulertzen dut nire erabiltzaile agentearen informazioak nire arakatzaile zehatza eta sistema eragilearen bertsioari buruzko informazioa biltzen duela eta publikoki partekatuko dela nire iritziarekin batera.", "feedback-termsofuse": "Erabiltzeko Baldintzen arabera feedback-a emateko onartzen dut.", + "feedback-thanks": "Eskerrik asko! Zure iritiza \"[$2 $1]\" orrian argitaratu da.", "feedback-thanks-title": "Eskerrik asko!", "feedback-useragent": "Erabiltzaile agentea:", "searchsuggest-search": "{{SITENAME}} wikian bilatu", @@ -3611,6 +3709,8 @@ "expand_templates_generate_xml": "Erakutsi XML parse zuhaitza", "expand_templates_generate_rawhtml": "Erakutsi HTML gordina", "expand_templates_preview": "Aurreikusi", + "expand_templates_preview_fail_html": " {{SITENAME}} HTML morroia gaituta duelako eta saio datuak galdu direnez, aurrebista ezkutuko gisa ezkutatuta dago javascript-erasoen aurka babesteko. \n\n\n Aurreikuspen saiakera bidezko bat bada, saiatu berriro mesedez. \nOraindik ez badu funtzionatzen, saiatu [[Special:UserLogout|logging out]] eta saioa berriro hasiz, eta egiaztatu zure nabigatzaileak gune honetako cookieak onartzen dituela.", + "expand_templates_preview_fail_html_anon": " {{SITENAME}} HTML morroia gaituta duenez eta ez duzulako saioa hasi, aurrebista ezkutuan ezkutatuta dago javascript erasoen aurka. \n\n Bidezkoa den aurrebista saiakera bat bada, mesedez [[Special:UserLogin|log in]] eta saiatu berriro. ", "expand_templates_input_missing": "Gutxienez sarrera testuren bat eman behar duzu.", "pagelanguage": "Orriaren hizkuntza aldatu", "pagelang-name": "Orria", @@ -3621,16 +3721,22 @@ "pagelang-submit": "Bidali", "pagelang-nonexistent-page": "$1 orria ez da existitzen.", "pagelang-unchanged-language": "$1 orrialdea jada $2 hizkuntzan dago.", + "pagelang-unchanged-language-default": "$1 orria Wikiaren eduki lehenetsiaren hizkuntzarako jarrita dago jadanik.", "pagelang-db-failed": "Datu-base orrialdearen hizkuntza aldatu ezin izan da aldatu.", "right-pagelang": "Aldatu orrialdearen hizkuntza", "action-pagelang": "orrialdearen hizkuntza aldatu", "log-name-pagelang": "Hizkuntza aldatu:", "log-description-pagelang": "Orrialdeetako hizkuntzen aldaketa saioa da hau.", + "logentry-pagelang-pagelang": "$1k {{GENDER:$2|}} $3ren hizkuntza $4tik $5ra aldatu du", + "default-skin-not-found": "Whoops! Zure wikiaren azala lehenetsia, $wgDefaultSkin n$1 gisa definitua, ez dago erabilgarri.\n\nZure instalazioa {{PLURAL:$4|azal|azalak}} d(it)uela badirudi. Ikusi [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manuala: Skin konfigurazioa] {{PLURAL:$4|it|horiek gaitu eta aukeratu lehenetsia}}.\n\n$2\n\n;MediaWiki instalatu baduzu:\n:Git-etik edo beste iturri kode batetik zuzenean instalatu duzu. Hau espero da. Saiatu larruazal batzuk instalatzen [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org-en azala direktorioa], honela:\n:* [Https://www.mediawiki.org/wiki/Download tarball installer] deskargatzen du, hainbat motatako eta luzapenekin dator. Kopiatu eta itsatsi dezakezu skins/ direktorioan.\n:* Azaleko tarballs banakako deskargatzea [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins Git erabiliz pantaila deskargatzeko].\n: Egiteko hau ez du zure git biltegian oztopatuko MediaWiki garatzailea bada.\n\n; MediaWiki bertsioa berritua baduzu:\n: MediaWiki 1.24 eta bertsio berriagoak ez dituzte automatikoki instalatutako pantailak automatikoki gaitzen (ikus [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery]). {{PLURAL:$5| linea|lineak}} ondorengoa itsats dezakezu LocalSettings.php sisteman {{PLURAL:$5|hori|guztiak}} instalatuta izateko {{PLURAL: $5|azala|azalak}}:\n\n
    $3
    \n\n; Aldatu baduzu LocalSettings.php:\n: Egiaztatu erroreen azalaren izenak bi aldiz.", + "default-skin-not-found-no-skins": "Whoops! Zure wikierako azala lehenetsia, $wgDefaultSkin, $1 gisa definituta dagoena, ez dago erabilgarri.\n\nEz dago instalatutako egiturarik.\n\n; MediaWiki instalatu edo berritu baduzu:\n: Git-etik edo beste iturri kode batetik zuzenean instalatu duzu seguruenik. Hau espero da. MediaWiki 1.24 eta berriagoak ez dira biltegi nagusiko inongo azalpenik espero. Saiatu larruazal batzuk instalatzen [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org-en azala direktorioa], honela:\n: * [Https://www.mediawiki.org/wiki/Download tarball installer] deskargatzen du, hainbat motatako luzapenekin datorrena. Kopiatu eta itsatsi dezakezu skins/ direktorioa hortik.\n: * Azaleko tarballs banaka deskargatzea [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n: * [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins Git erabiliz pantaila deskargatzeko].\n:Egiteko hau ez du zure git biltegian oztopatuko MediaWiki garatzailea bada. Ikusi [https://www.mediawiki.org/wiki/Manual:Skin_configuration eskuliburua: Skin konfigurazioa] larruen gaitasunak nola egin jakiteko eta lehenetsi aukeratzeko.", "default-skin-not-found-row-enabled": "* $1 / $2 (gaituta)", "default-skin-not-found-row-disabled": "* $1 / $2 (desgaituta)", "mediastatistics": "Media estatistikak", "mediastatistics-summary": "Igotako fitxategien estatistikak. Hemen ikus daitekeena fitxategiaren azken bertsioa baino ez da. Fitxategiaren bertsio zahar edo ezabatuak kanpo daude.", "mediastatistics-nbytes": "{{PLURAL:$1|$1 byte|$1 byte}} ($2; %$3)", + "mediastatistics-bytespertype": "Atal honetarako fitxategi tamainia totala: {{PLURAL:$1|$1 byte}} ($2; $3%).", + "mediastatistics-allbytes": "Fitxategi guztietarako fitxategi tamainia osoa: {{PLURAL:$1|$1 byte|$1 bytes}} ($2).", "mediastatistics-table-mimetype": "MIME mota", "mediastatistics-table-extensions": "Luzapen posibleak", "mediastatistics-table-count": "Fitxategi kopurua", @@ -3646,9 +3752,13 @@ "mediastatistics-header-executable": "Exekutagarriak", "mediastatistics-header-archive": "Formatu konprimatuak", "mediastatistics-header-total": "Fitxategi guztiak", + "json-warn-trailing-comma": "Amaierako $1 {{PLURAL:$1|koma|komak}} ezabatu egin d(ir)a JSON-tik", + "json-error-unknown": "JSON-arekin arazo bat egon da. Akatsa: $1", "json-error-depth": "Multzoaren gehienezko sakonera gainditu egin da", + "json-error-state-mismatch": "Balio ez duen edo txarto egituratua dagoen JSON-a", "json-error-ctrl-char": "Kontrol-karaktere errorea, ziurrenik gaizki kodeatzeagatik.", "json-error-syntax": "Sintaxi-errorea", + "json-error-utf8": "Gaizki egituratutako UTF-8 karaktereak, ziurrenik gaizki kodeatutak", "json-error-recursion": "Erreferentzia errekurtsibo bat edo gehiago kodeatzeko balioan", "json-error-inf-or-nan": "NAN edo INF bat edo gehiago kodeatzeko balioan", "json-error-unsupported-type": "Kodeatu ezin daitekeen balio mota eman da", @@ -3745,6 +3855,7 @@ "authmanager-authn-no-primary": "Emandako kredentzialak ezin izan dira egiaztatu.", "authmanager-authn-no-local-user": "Emandako kredentzialak ez dute lotura wiki honetako erabiltzaileekin.", "authmanager-authn-no-local-user-link": "Hornitutako kredentzialak baliagarriak dira, baina ez dira lotzen wiki honetako erabiltzaileekin. Beste modu batean saioa hasi edo erabiltzaile berri bat sortu eta zure aurreko kredentzialak kontu horri lotzeko aukera izango duzu.", + "authmanager-authn-autocreate-failed": "Tokiko kontu bat automatikoki sortzerakoan huts egin du: $1", "authmanager-change-not-supported": "Hornitutako kredentzialak ezin dira aldatu, erabiliko ez direlako.", "authmanager-create-disabled": "Auto-sorkuntza ezgaituta.", "authmanager-create-from-login": "Zure kontua sortzeko, bete itzazu eremu guztiak.", @@ -3772,8 +3883,11 @@ "authmanager-provider-password": "Pasahitzan oinarritutako baieztapena", "authmanager-provider-password-domain": "Pasahitza eta domeinuan oinarritutako baieztapena", "authmanager-provider-temporarypassword": "Behin-behineko pasahitza", + "authprovider-confirmlink-message": "Zure azken saio-hasierako saiakeretan oinarrituta, hurrengo kontuak zure wiki-kontuarekin lotu daitezke. Estekatzeak kontu hauen bidez saioa hastea ahalbidetzen du. Hautatu zeintzuk diren lotu behar direnak mesedez.", "authprovider-confirmlink-request-label": "Linkatu beharko ziren kontuak", "authprovider-confirmlink-success-line": "$1: ederki linkatu egin da.", + "authprovider-confirmlink-failed": "Kontua linkatzea ezin izan da guztiz burutu: $1", + "authprovider-confirmlink-ok-help": "Jarraitu estekatze akats mezuak erakutsi ondoren.", "authprovider-resetpass-skip-label": "Utzi", "authprovider-resetpass-skip-help": "Utzi pasahitzaren berrezartzeari.", "authform-nosession-login": "Autentifikazioa arrakastatsua izan da, baina zure nabigatzaileak ezin du \"gogoratu\" saioa hasita izatea.\n\n$1", @@ -3813,11 +3927,17 @@ "usercssispublic": "Kontutan izan mesedez: CSS azpiorriek ez lukete datu konfidentzialik eraman behar, beste erabiltzaileek ikusi ahal dituztelako.", "restrictionsfield-badip": "Baliogabeko IP helbide edo eremua: $1", "restrictionsfield-label": "Onartutako IP eremuak:", + "restrictionsfield-help": "Linea bakoitzeko IP helbide edo CIDR eremu bakarra. Guztia gaitzeko, erabili: \n
    0.0.0.0/0\n::/0
    ", "revid": "$1 berrikusi", "pageid": "$1 orri IDa", "rawhtml-notallowed": "<html> etiketak ezin dira orri arruntetatik kanpo erabili.", "gotointerwiki": "{{SITENAME}}(e)tik irteten", "gotointerwiki-invalid": "Zehaztutako titulua baliogabea da.", + "gotointerwiki-external": "{{SITENAME}} ustear zaude [[$2]] bisitatzeko, bananduta dagoen webgunea dena.\n\n'''[$1 Jarraitu hona $1]'''", + "undelete-cantedit": "Ezin duzu orri honen ezabaketa desegin ez daukazulako orri hau aldatzeko baimenik.", + "undelete-cantcreate": "Ezin duzu orri honen ezabaketa desegin ez dagoelako izen honekin existitzen den orririk eta ez daukazulako orri hau sortzeko baimenik.", "pagedata-title": "Orri data", + "pagedata-text": "Orrialde honek orrien interfaze datuak eskaintzen ditu. Eman orrialdearen izenburua URLan, azpiorri sintaxia erabiliz.\n*Edukiaren negoziazioa zure bezeroaren onarpen goiburuan oinarritzen erabiltzen da. Horrek esan nahi du orriaren datuak zure bezeroak nahiago duen formatuan emango direla.", + "pagedata-not-acceptable": "Bat egiten duen formaturik ez da aurkitu. Onartutako MIME motak: $1", "pagedata-bad-title": "Izenburu baliogabea: $1" } diff --git a/languages/i18n/fa.json b/languages/i18n/fa.json index d211095907..16a2cd8473 100644 --- a/languages/i18n/fa.json +++ b/languages/i18n/fa.json @@ -1340,7 +1340,7 @@ "recentchanges-submit": "نمایش", "rcfilters-tag-remove": "حذف «$1»", "rcfilters-legend-heading": "فهرست کوته‌نوشت‌ها:", - "rcfilters-other-review-tools": "دیگر ابزارهای بازبینی", + "rcfilters-other-review-tools": "دیگر ابزارهای بازبینی", "rcfilters-group-results-by-page": "گروه‌بندی نتایج بر اساس صفحه", "rcfilters-grouping-title": "گروه‌بندی", "rcfilters-activefilters": "پالایه‌های فعال", @@ -1588,7 +1588,7 @@ "uploaded-script-svg": "عنصر قابل برنامه‌ریزی «$1» در پرونده بارگذاری اس‌وی‌جی یافت شد.", "uploaded-hostile-svg": "سی‌اس‌اس نا امن در عنصر سبک پروندهٔ بارگذاری شدهٔ اس‌وی‌جی یافت شد.", "uploaded-event-handler-on-svg": "قرار دادن ویژگی‌های مدیریت رویداد $1=\"$2\" در پرونده‌های اس‌وی‌جی مجاز نیست.", - "uploaded-href-attribute-svg": "ویژگی‌های href در پرونده‌های SVG فقط برای اهدافhttp:// ‎ وhttps:// ‎ مجاز هستند، <$1 $2=\"$3\"> یافت شد.", + "uploaded-href-attribute-svg": "
    این مورد فقط برای پیوند (href) به داده است: (فایل جاسازی‌شده)، http:// یا https://، یا بخشی از (#, same-document) هدف‌ها. برای سایر موارد، مانند ، فقط داده: و بخشی از صفحه اجازه دارید. برای تبدیل SVG تلاش کنید تصویر را جاسازی کنید. <$1 $2=\"$3\"> یافت شد.", "uploaded-href-unsafe-target-svg": "در پرونده SVG بارگذاری‌شده برای نشانی هدف <$1 $2=\"$3\"> برچسب href به اطلاعات ناامن یافت شد.", "uploaded-animate-svg": "برچسب \"animate\" یافت شده ممکن است herf را تغییر دهد. از مشخصه \"from\" <$1 $2=\"$3\"> در پرونده SVG بارگذاری‌شده استفاده کنید.", "uploaded-setting-event-handler-svg": "تنظیمات مشخصه گرداننده رویداد بسته شده‌است. کد <$1 $2=\"$3\"> در پرونده بارگذاری‌شده یافت شد.", @@ -2486,7 +2486,7 @@ "block-log-flags-nousertalk": "صفحهٔ بحث خود را نمی‌تواند ویرایش کند", "block-log-flags-angry-autoblock": "قطع دسترسی خودکار پیشرفته فعال شد", "block-log-flags-hiddenname": "نام کاربری پنهان", - "range_block_disabled": "بستن یک بازه توسط مدیران غیر فعال است.", + "range_block_disabled": "بستن یک بازه توسط مدیران غیرفعال است.", "ipb_expiry_invalid": "زمان سرآمدن نامعتبر.", "ipb_expiry_old": "زمان سرآمدن در گذشته‌است.", "ipb_expiry_temp": "قطع دسترسی کاربرهای پهنان باید همیشگی باشد.", @@ -3815,7 +3815,7 @@ "default-skin-not-found": "اوه! پوسته پیش‌فرض برای ویکی شما تعریف‌شده در به عنوان $1، در دسترس نیست.\n\nبه نظر می‌آید نصب شما شامل پوسته‌های زیر می‌شود. [https://www.mediawiki.org/wiki/Manual:Skin_configuration راهنما: تنظیمات پوسته] را برای کسب اطلاعات در باره چگونگی فعال‌ساختن آن‌ها و انتخاب پیش‌فرض ببینید.\n\n$2\n\n; اگر اخیراً مدیاویکی را نصب کرده‌اید:\n: احتمالاً از گیت، یا به طور مستقیم از کد مبدأ که از چند متد دیگر استفاده می‌کند نصب کردید. انتظار می‌رود. چند {{PLURAL:$4|پوسته|پوسته}} از [https://www.mediawiki.org/wiki/Category:All_skins فهرست پوسته mediawiki.org] نصب کنید، که همراه چندین پوسته و افزونه هستند. شما می‌توانید شاخه skins/ را از آن نسخه‌برداری کرده و بچسبانید.\n\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins استفاده از گیت برای دریافت پوسته‌ها].\n: انجام این کار با مخزن گیت‌تان تداخل نمی‌کند اگر توسعه‌دهنده مدیاویکی هستید.\n\n; اگر اخیراً مدیاویکی را ارتقاء دادید:\n: مدیاویکی ۱٫۲۴ و تازه‌تر دیگر به طور خودکار پوسته‌های نصب‌شده را فعال نمی‌کند ([https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery راهنما: کشف خودکار پوسته] را ببینید). شما می‌توانید خطوط زیر را به داخل LocalSettings.php بچسبانید تا {{PLURAL:$5|همه|همه}} پوسته‌های نصب‌شده را فعال کنید:\n\n
    $3
    \n\n; اگر اخیراً LocalSettings.php را تغییر دادید:\n: نام پوسته‌ها را برای غلط املایی دوباره بررسی کنید.", "default-skin-not-found-no-skins": "پوستهٔ پیش‌فرض برای ویکی شما تعریف‌شده در$wgDefaultSkin به عنوان $1، هست موجود نیست.\n\nشما پوسته‌ها را نصب نکرده‌اید.\n\n:اگر مدیاویکی را به‌روز یا نصب کرده‌اید:\n:ممکن است از گیت یا از کد منبع با روش‌های دیگر نصب کرده‌اید. انتظار می‌رود MediaWiki 1.24 یا جدیدتر در پوشهٔ اصلی هیچ پوسته‌ای نداشته باشند.\nسعی کنید تعدادی پوسته از [https://www.mediawiki.org/wiki/Category:All_skins پوشهٔ پوسته‌های مدیاویکی]، با:\n:*دریافت [https://www.mediawiki.org/wiki/Download نصب‌کننده تاربال]، که با چندین پوسته و افزونه هست. شما می توانید پوستهٔ skins/ را از آن کپی و پیست کنید.\n:*کلون کردن یکی از mediawiki/skins/* از مخزن در پوشهٔ skins/ مدیاویکی‌تان.\n:اگر توسعه‌دهندهٔ مدیاویکی هستید، انجام این کار نباید تعارضی با مخزن گیت شما داشته باشد. برای اطلاعات بیشتر و فعال کردن پوسته‌ها و انتخاب آنها به عنوان پیش‌فرض [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: تنظیمات پوسته] را مشاهده کنید.", "default-skin-not-found-row-enabled": "* $1 / $2 (فعال)", - "default-skin-not-found-row-disabled": "* $1 / $2 (غیر فعال)", + "default-skin-not-found-row-disabled": "* $1 / $2 (غیرفعال)", "mediastatistics": "آمار رسانه‌ها", "mediastatistics-summary": "آمارها دربارهٔ نوع‌های پرونده‌ای به روزشده. این فقط شامل آخرین نسخهٔ پرونده است. نسخه‌های قدیمی یا حذف‌شده مسثنی هستند.", "mediastatistics-nbytes": "{{PLURAL:$1|$1 بایت}} ($2؛ $3٪)", @@ -3883,7 +3883,7 @@ "sessionmanager-tie": "نمی‌توان چندین نوع درخواست هویت‌سنجی را ترکیب کرد: $1.", "sessionprovider-generic": "$1 فصل", "sessionprovider-mediawiki-session-cookiesessionprovider": "فصل‌های کوکی‌محور", - "sessionprovider-nocookies": "کوکی‌ها ممکن است غیر فعال شده باشند. اطمینان کسب کنید که کوکی‌ها را فعال کرده‌اید و دوباره آغاز کنید.", + "sessionprovider-nocookies": "کوکی‌ها ممکن است غیرفعال شده باشند. اطمینان کسب کنید که کوکی‌ها را فعال کرده‌اید و دوباره آغاز کنید.", "randomrootpage": "صفحهٔ ریشهٔ تصادفی", "log-action-filter-block": "نوع بسته شدن:", "log-action-filter-contentmodel": "نوع تغییرات مدل محتوا:", diff --git a/languages/i18n/fi.json b/languages/i18n/fi.json index 293b3deb7e..f5eab1ea42 100644 --- a/languages/i18n/fi.json +++ b/languages/i18n/fi.json @@ -392,7 +392,7 @@ "actionthrottledtext": "Häiriköinnin estämiseksi tämän toiminnon suorittamista on rajoitettu niin, että sitä ei voi tehdä useita kertoja lyhyen ajan sisällä. Olet suorittanut toiminnon nyt liian monta kertaa. \nYritä uudelleen muutaman minuutin kuluttua.", "protectedpagetext": "Tämä sivu on suojattu muutoksilta ja muilta toiminnoilta.", "viewsourcetext": "Voit katsoa ja kopioida tämän sivun lähdetekstiä.", - "viewyourtext": "Voit nähdä ja kopioida tähän sivuun tekemistäsi muutoksista syntyneen lähdekoodin.", + "viewyourtext": "Voit nähdä ja kopioida tähän sivuun tekemistäsi muutoksista syntyneen lähdetekstin.", "protectedinterface": "Tämä sivu sisältää ohjelmiston käyttöliittymätekstiä ja on suojattu häiriköinnin estämiseksi.\nViestien kääntäminen tulisi tehdä [https://translatewiki.net/ translatewiki.netissä] – MediaWikin kotoistusprojektissa.", "editinginterface": "Varoitus: Olet muokkaamassa sivua, joka sisältää ohjelmiston käyttöliittymän tekstiä.\nMuutokset tähän sivuun vaikuttavat muiden käyttäjien käyttöliittymään tässä wikissä.", "translateinterface": "Jos haluat lisätä tai muuttaa käännöksiä kaikissa wikeissä, käytä siihen MediaWikin kääntämistä varten rakennettua sivustoa [https://translatewiki.net/ translatewiki.net].", @@ -1042,7 +1042,8 @@ "timezoneregion-europe": "Eurooppa", "timezoneregion-indian": "Intian valtameri", "timezoneregion-pacific": "Tyynimeri", - "allowemail": "Salli sähköpostin lähetys osoitteeseen", + "allowemail": "Salli muiden käyttäjien lähettää minulle sähköpostia", + "email-blacklist-label": "Estä näitä käyttäjiä lähettämästä minulle sähköpostia:", "prefs-searchoptions": "Haku", "prefs-namespaces": "Nimiavaruudet", "default": "oletus", @@ -1318,7 +1319,7 @@ "recentchanges-submit": "Näytä", "rcfilters-tag-remove": "Poista '$1'", "rcfilters-legend-heading": "Luettelo lyhenteistä:", - "rcfilters-other-review-tools": "Muut arviointityökalut", + "rcfilters-other-review-tools": "Muut arviointityökalut", "rcfilters-group-results-by-page": "Ryhmitä tulokset sivujen mukaan", "rcfilters-grouping-title": "Ryhmitys", "rcfilters-activefilters": "Aktiiviset suodattimet", @@ -1331,7 +1332,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|tunti|tuntia}}", "rcfilters-highlighted-filters-list": "Korostettu: $1", "rcfilters-quickfilters": "Tallennetut suodattimet", - "rcfilters-quickfilters-placeholder-title": "Ei vielä tallennettuja linkkejä", + "rcfilters-quickfilters-placeholder-title": "Ei tallennettuja suodattimia", "rcfilters-quickfilters-placeholder-description": "Tallentaaksesi suodatinasetuksesi ja käyttääksesi niitä myöhemmin, napsauta kirjanmerkkikuvaketta alla olevalla \"Aktiiviset suodattimet\" -alueella.", "rcfilters-savedqueries-defaultlabel": "Tallennetut suodattimet", "rcfilters-savedqueries-rename": "Nimeä uudelleen", @@ -1397,6 +1398,8 @@ "rcfilters-filter-watchlist-watchednew-label": "Uudet tarkkailulistan muutokset", "rcfilters-filter-watchlist-watchednew-description": "Muutokset tarkkailulistalla oleviin sivuihin, joilla et ole vieraillut sen jälkeen, kun sivuille on tehty muutoksia.", "rcfilters-filter-watchlist-notwatched-label": "Ei tarkkailulistalla", + "rcfilters-filter-watchlist-notwatched-description": "Kaikki paitsi muutokset tarkkailulistallasi oleviin sivuihin.", + "rcfilters-filtergroup-watchlistactivity": "Tarkkailulistan aktiivisuus", "rcfilters-filtergroup-changetype": "Muutoksen tyyppi", "rcfilters-filter-pageedits-label": "Sivun muokkaukset", "rcfilters-filter-pageedits-description": "Muokkaukset wikin sisältöön, keskusteluihin, luokkakuvauksiin…", @@ -3782,7 +3785,7 @@ "mw-widgets-usersmultiselect-placeholder": "Lisää enemmän...", "date-range-from": "Aloituspäivä:", "date-range-to": "Päättymispäivä:", - "sessionmanager-tie": "!!FYZZ!!Cannot combine multiple request authentication types: $1.", + "sessionmanager-tie": "Cannot combine multiple request authentication types: $1.", "sessionprovider-generic": "$1 istuntoa", "sessionprovider-mediawiki-session-cookiesessionprovider": "istuntoja, joissa on evästeet käytössä", "sessionprovider-nocookies": "Evästeet on voitu poistaa käytöstä. Varmista, että sinulla on evästeet käytössä ja yritä sitten uudelleen.", diff --git a/languages/i18n/fr.json b/languages/i18n/fr.json index ba4dc1ba60..4cce904c47 100644 --- a/languages/i18n/fr.json +++ b/languages/i18n/fr.json @@ -771,7 +771,7 @@ "anonpreviewwarning": "Vous n’êtes pas connecté{{GENDER:||e}}. Sauvegarder enregistrera votre adresse IP dans l’historique des modifications de la page.", "missingsummary": "Rappel : vous n’avez pas encore fourni le résumé de votre modification.\nSi vous cliquez de nouveau sur le bouton « $1 », vos modifications seront sauvegardées sans résumé.", "selfredirect": "Attention : vous êtes en train de rediriger la page vers elle-même.\nIl se peut que vous ayez spécifié la mauvaise cible pour la redirection, ou que vous modifiez peut-être la mauvaise page.\nSi vous cliquez de nouveau sur « $1 », la redirection sera tout de même créée.", - "missingcommenttext": "Veuillez entrer un commentaire ci-dessous.", + "missingcommenttext": "Veuillez entrer un commentaire.", "missingcommentheader": "Rappel : vous n’avez pas fourni de sujet pour ce commentaire.\nSi vous cliquez de nouveau sur « {{int:Savearticle}} », votre modification sera enregistrée sans sujet.", "summary-preview": "Aperçu du résumé de modification :", "subject-preview": "Aperçu du sujet :", @@ -1164,7 +1164,7 @@ "timezoneregion-europe": "Europe", "timezoneregion-indian": "Océan indien", "timezoneregion-pacific": "Océan pacifique", - "allowemail": "Autoriser l'envoi de courriels venant d'autres utilisateurs", + "allowemail": "Autoriser les autres utilisateurs à m'envoyer des courriels", "email-blacklist-label": "Empêcher ces utilisateurs de m'envoyer des courriels :", "prefs-searchoptions": "Recherche", "prefs-namespaces": "Espaces de noms", @@ -1447,7 +1447,7 @@ "recentchanges-submit": "Lister", "rcfilters-tag-remove": "Supprimer « $1 »", "rcfilters-legend-heading": "Liste des abréviations :", - "rcfilters-other-review-tools": "Autres outils de relecture", + "rcfilters-other-review-tools": "Autres outils de relecture", "rcfilters-group-results-by-page": "Grouper les résultats par page", "rcfilters-grouping-title": "Regroupement", "rcfilters-activefilters": "Filtres actifs", @@ -1460,7 +1460,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|heure|heures}}", "rcfilters-highlighted-filters-list": "Mis en évidence : $1", "rcfilters-quickfilters": "Filtres sauvegardés", - "rcfilters-quickfilters-placeholder-title": "Aucun lien n’a encore été sauvegardé", + "rcfilters-quickfilters-placeholder-title": "Aucun filtre n’a encore été sauvegardé", "rcfilters-quickfilters-placeholder-description": "Pour sauvegarder la configuration de vos filtres pour la réutiliser ultérieurement, cliquez sur l’icône des raccourcis dans la zone des filtres actifs, ci-dessous.", "rcfilters-savedqueries-defaultlabel": "Filtres sauvegardés", "rcfilters-savedqueries-rename": "Renommer", @@ -1500,7 +1500,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Non connecté", "rcfilters-filter-user-experience-level-unregistered-description": "Éditeurs qui ne sont pas connectés.", "rcfilters-filter-user-experience-level-newcomer-label": "Nouveaux arrivants", - "rcfilters-filter-user-experience-level-newcomer-description": "Éditeurs connectés avec moins de 10 modifications et 4 jours d’activité.", + "rcfilters-filter-user-experience-level-newcomer-description": "Éditeurs connectés ayant fait moins de 10 modifications ou ayant moins de 4 jours d’activité.", "rcfilters-filter-user-experience-level-learner-label": "Apprentis", "rcfilters-filter-user-experience-level-learner-description": "Éditeurs connectés dont l’expérience se situe entre « Nouveaux arrivants » et « Utilisateurs expérimentés ».", "rcfilters-filter-user-experience-level-experienced-label": "Utilisateurs expérimentés", @@ -1566,7 +1566,7 @@ "rcfilters-watchlist-edit-watchlist-button": "Modifier votre liste de pages suivies", "rcfilters-watchlist-showupdated": "Les modifications faites aux pages que vous n’avez pas visitées depuis qu’elles ont été modifiées sont en gras, avec des balises unies.", "rcfilters-preference-label": "Masquer la version améliorée des modifications récentes", - "rcfilters-preference-help": "Restitue la version 2017 de l'interface ainsi que de tous les outils ajoutés alors et depuis.", + "rcfilters-preference-help": "Désactive la version 2017 de l'interface ainsi que de tous les outils ajoutés alors et depuis.", "rcnotefrom": "Ci-dessous {{PLURAL:$5|la modification effectuée|les modifications effectuées}} depuis le $3, $4 (affichées jusqu’à $1).", "rclistfromreset": "Réinitialiser la sélection de la date", "rclistfrom": "Afficher les nouvelles modifications depuis le $3 à $2", @@ -1697,7 +1697,7 @@ "uploaded-script-svg": "Élément scriptable « $1 » trouvé dans le fichier SVG téléversé.", "uploaded-hostile-svg": "CSS non sûr trouvé dans l’élément style d’un fichier SVG téléversé.", "uploaded-event-handler-on-svg": "Fixer des attributs de gestionnaire d’événement $1=\"$2\" n’est pas autorisé dans les fichiers SVG.", - "uploaded-href-attribute-svg": "les attributs href dans les fichiers SVG ne sont autorisés que pour faire référence à des cibles http:// ou https://, <$1 $2=\"$3\"> trouvé.", + "uploaded-href-attribute-svg": "
    les éléments ne peuvent être liés (href) qu’aux cibles de données : (fichier inclus), http:// ou https://, ou un fragment (#, même document). Pour les autres éléments, comme , seuls data: et fragment sont autorisés. Essayez les images incluses lors de l’export de votre SVG. <$1 $2=\"$3\"> obtenu.", "uploaded-href-unsafe-target-svg": "Un href vers des données non sûres a été trouvé dans le fichier SVG téléversé : URI cible <$1 $2=\"$3\">.", "uploaded-animate-svg": "Balise « animate » trouvée, qui pourrait modifier le href en utilisant l’attribut « from » <$1 $2=\"$3\"> dans le fichier SVG téléversé.", "uploaded-setting-event-handler-svg": "Positionner les attributs du gestionnaire d’événements n'est pas possible, <$1 $2=\"$3\"> trouvé dans le fichier SVG téléversé.", @@ -3149,7 +3149,7 @@ "exif-gpsstatus": "État du récepteur", "exif-gpsmeasuremode": "Mode de mesure", "exif-gpsdop": "Précision de la mesure", - "exif-gpsspeedref": "Unité de vitesse du récepteur GPS", + "exif-gpsspeedref": "Unité de vitesse", "exif-gpsspeed": "Vitesse du récepteur GPS", "exif-gpstrackref": "Référence pour la direction du mouvement", "exif-gpstrack": "Direction du mouvement", diff --git a/languages/i18n/gl.json b/languages/i18n/gl.json index bdcf6dfc85..ef99780ff3 100644 --- a/languages/i18n/gl.json +++ b/languages/i18n/gl.json @@ -637,7 +637,7 @@ "anonpreviewwarning": "''Non accedeu ao sistema. Se garda a páxina, o seu enderezo IP quedará rexistrado no historial de edicións.''", "missingsummary": "'''Aviso:''' Esqueceu incluír o texto do campo resumo.\nSe preme en \"$1\" a súa edición gardarase sen ningunha descrición da edición.", "selfredirect": "Atención: Está redirixindo esta páxina a si mesma.\nQuizais especificou incorrectamente a páxina de destino ou poida que estea a editar unha páxina errónea.\nSe preme en \"$1\" de novo, crearase a redireción de calquera xeito.", - "missingcommenttext": "Por favor, escriba un comentario a continuación.", + "missingcommenttext": "Por favor, escriba un comentario.", "missingcommentheader": "Aviso: Non escribiu ningún texto no asunto deste comentario.\nSe preme en \"$1\" de novo, a súa edición gardarase sen el.", "summary-preview": "Vista previa do resumo de edición:", "subject-preview": "Vista previa do asunto:", @@ -691,6 +691,7 @@ "yourtext": "O seu texto", "storedversion": "Versión gardada", "editingold": "'''Atención: Está editando unha revisión vella desta páxina.'''\nSe a garda, perderanse os cambios realizados tras esta revisión.", + "unicode-support-fail": "Parece que o seu navegador non soporta Unicode. É necesario para editar páxinas, polo que a súa edición non foi gardada.", "yourdiff": "Diferenzas", "copyrightwarning": "Por favor, teña en conta que todas as contribucións feitas en {{SITENAME}} se consideran publicadas baixo a $2 (consulte $1 para obter máis detalles).\nSe non quere que os seus escritos sexan editados sen piedade e redistribuídos sen límites, entón non os publique aquí.
    \nDo mesmo xeito, comprométese a que o que vostede escriba é da súa autoría ou está copiado dun recurso de dominio público ou que procede dunha fonte libre.\nNon envíe material con dereitos de autoría sen permiso!", "copyrightwarning2": "Por favor, teña en conta que todas as contribucións feitas en {{SITENAME}} poden ser editadas, alteradas ou eliminadas por outras persoas.\nSe non quere que os seus escritos sexan editados sen piedade, entón non os publique aquí.
    \nDo mesmo xeito, comprométese a que o que vostede escriba é da súa autoría ou está copiado dun recurso de dominio público ou que procede dunha fonte libre (consulte $1 para obter máis detalles).\nNon envíe material con dereitos de autoría sen permiso!", @@ -1315,7 +1316,7 @@ "recentchanges-submit": "Mostrar", "rcfilters-tag-remove": "Eliminar '$1'", "rcfilters-legend-heading": "Lista de abreviaturas:", - "rcfilters-other-review-tools": "Outras ferramentas de revisión", + "rcfilters-other-review-tools": "Outras ferramentas de revisión", "rcfilters-group-results-by-page": "Agrupar resultados por páxina", "rcfilters-grouping-title": "Agrupamento", "rcfilters-activefilters": "Filtros activos", @@ -1328,7 +1329,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hora|horas}}", "rcfilters-highlighted-filters-list": "Destacados: $1", "rcfilters-quickfilters": "Filtros gardados", - "rcfilters-quickfilters-placeholder-title": "Aínda non se gardou ningunha ligazón", + "rcfilters-quickfilters-placeholder-title": "Aínda non se gardou ningún filtro", "rcfilters-quickfilters-placeholder-description": "Para gardar a configuración dos seus filtros e reutilizala máis tarde, prema na icona do marcador na área de Filtro activo que se atopa a abaixo.", "rcfilters-savedqueries-defaultlabel": "Filtros gardados", "rcfilters-savedqueries-rename": "Renomear", @@ -1368,7 +1369,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Non rexistrados", "rcfilters-filter-user-experience-level-unregistered-description": "Editores que non están autenticados.", "rcfilters-filter-user-experience-level-newcomer-label": "Chegados recentemente", - "rcfilters-filter-user-experience-level-newcomer-description": "Editores rexistrados con menos de 10 edicións e 4 días de actividade.", + "rcfilters-filter-user-experience-level-newcomer-description": "Editores rexistrados con menos de 10 edicións ou 4 días de actividade.", "rcfilters-filter-user-experience-level-learner-label": "Aprendices", "rcfilters-filter-user-experience-level-learner-description": "Editores rexistrados cuxa experiencia está entre os \"usuarios novatos\" e os \"usuarios experimentados\".", "rcfilters-filter-user-experience-level-experienced-label": "Usuarios experimentados", @@ -2485,6 +2486,7 @@ "ip_range_invalid": "Rango de enderezos IP non válido.", "ip_range_toolarge": "Non están permitidos os rangos de bloqueo maiores que /$1.", "ip_range_exceeded": "O rango IP excede o rango máximo. Rango permitido: /$1.", + "ip_range_toolow": "Na práctica, non se permiten os intervalos de IPs.", "proxyblocker": "Bloqueador de proxy", "proxyblockreason": "O seu enderezo IP foi bloqueado porque é un proxy aberto.\nPor favor, contacte co seu fornecedor de acceso á Internet ou co seu soporte técnico e informe deste grave problema de seguridade.", "sorbsreason": "O seu enderezo IP está rexistrado como un proxy aberto na lista DNSBL usada por {{SITENAME}}.", diff --git a/languages/i18n/gom-latn.json b/languages/i18n/gom-latn.json index 3ce34b0dbc..afe6cb664c 100644 --- a/languages/i18n/gom-latn.json +++ b/languages/i18n/gom-latn.json @@ -26,7 +26,6 @@ "underline-always": "Soddankal", "underline-never": "Kednach na", "underline-default": "Skin vo browsera pormonnem", - "editfont-default": "Browsera pormonnem", "sunday": "Aitar", "monday": "Somar", "tuesday": "Mongllar", @@ -112,13 +111,7 @@ "mytalk": "Bhasabhas", "navigation": "Dixa-niontronn", "and": " ani", - "qbfind": "Sod", - "qbbrowse": "Bhovndi mar", - "qbedit": "Bodol", - "qbpageoptions": "Hem pan", - "qbmyoptions": "Mhoji panam", "faq": "Porot porot vicharlele prosn", - "faqpage": "Project:Porot porot vicharlele prosn", "actions": "Kornnio", "namespaces": "Nanvthollam", "variants": "Dusre", @@ -142,29 +135,19 @@ "edit-local": "Thollavem vornon bodol", "create": "Roch", "create-local": "Thollavem vornon zod", - "editthispage": "Hem pan bodol", - "create-this-page": "Ho pan roch", "delete": "Kadun udoi", - "deletethispage": "Hem pan kad", - "undeletethispage": "Hem pan punorsthapit kor", "undelete_short": "{{PLURAL:$1|Ek kadun udoil'lo bodol|$1 kadun udoil'le bodlopam}} portun had", "viewdeleted_short": "{{PLURAL:$1|Ek kadun udoil'lo bodol|$1 kadun udoil'le bodlopam}} dakhoi", "protect": "Rakh", "protect_change": "bodol", - "protectthispage": "Hem pan rakh", "unprotect": "Surokxechem sthor bodol", - "unprotectthispage": "Hem panachem surokxechem sthor bodol", "newpage": "Novem pan", - "talkpage": "Hea panachem bhasabhas kor", "talkpagelinktext": "Bhasabhas", "specialpage": "Vixex pan", "personaltools": "Khasgi avtam", - "articlepage": "Vixoi sombondhi pan poloi", "talk": "Bhasabhas", "views": "Drishya", "toolbox": "Avtam", - "userpage": "Vangddiacho pan poloi", - "projectpage": "Prokolpachem pan poloi", "imagepage": "Imazichem pan poloi", "mediawikipage": "Sondexachem pan polloi", "templatepage": "Sanchechem pan polloi", @@ -401,7 +384,7 @@ "hiddencategories": "Hem pan {{PLURAL:$1|1 lipoilelea vorgacho vangddi|$1 lipoileleam vorgancho vangddi}}:", "permissionserrorstext-withaction": "$2, hem korpak tuka porvangi na, {{PLURAL:$1|hea karnnak lagon|hea karnnank lagun}}:", "recreate-moveddeleted-warn": "Xittkavnni: Tum ek pan porot rochtai jem fattim kadun udoilelem.\n\nPanacho sudar korop sarkem zalear dhean di.\nPan kadoupachem ani halovpachem sotr, sovloti khatir hangasor dilelem asa:", - "moveddeleted-notice": "Hem pan kadun udoilelem asa.\nPanachea kadun udounechi ani hallovnechi sotr sondorba khatir sokoil dilea.", + "moveddeleted-notice": "Hem pan kadun udoilelem asa.\nPanachea kadun udounechi, rakhpachi, ani hallovnechi sotr sondorba khatir sokoil dilea.", "content-model-wikitext": "wikimozkur", "content-model-text": "Sado mozkur", "post-expand-template-inclusion-warning": "'''Chotrai:''' Sacho zoddpacho akar chod vhodlem asa.\nThodde sache zoddchenant", diff --git a/languages/i18n/gu.json b/languages/i18n/gu.json index a3173ead71..71e1c0d17f 100644 --- a/languages/i18n/gu.json +++ b/languages/i18n/gu.json @@ -1103,7 +1103,7 @@ "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|નવા પાનાઓની યાદી]] પણ જુઓ)", "recentchanges-submit": "બતાવો", "rcfilters-legend-heading": "સંક્ષેપોની યાદી:", - "rcfilters-other-review-tools": "અન્ય ચકાસણી સાધનો", + "rcfilters-other-review-tools": "અન્ય ચકાસણી સાધનો", "rcfilters-activefilters": "સક્રિય ગાળકો", "rcfilters-limit-title": "દર્શાવવાના ફેરફારો", "rcfilters-limit-shownum": "છેલ્લા {{PLURAL:$1|ફેરફાર|$1 ફેરફારો}} દર્શાવો", diff --git a/languages/i18n/he.json b/languages/i18n/he.json index bde25c2e85..e7d8bfbc7f 100644 --- a/languages/i18n/he.json +++ b/languages/i18n/he.json @@ -643,7 +643,7 @@ "anonpreviewwarning": "אתם לא מחוברים לחשבון. שמירה תגרום לכתובת ה־IP שלכם להירשם בהיסטוריית העריכות של הדף.", "missingsummary": "תזכורת: לא הזנת תקציר עריכה.\nלחיצה חוזרת על הכפתור \"$1\" תגרום לעריכה שלך להישמר בלעדיו.", "selfredirect": "אזהרה: ניסית ליצור הפניה מדף זה לעצמו.\nאולי כתבת יעד שגוי להפניה, ואולי ערכת את הדף הלא־נכון.\nלחיצה חוזרת על הכפתור \"$1\" תגרום להפניה להיווצר בכל זאת.", - "missingcommenttext": "יש להקליד את ההודעה למטה.", + "missingcommenttext": "יש להקליד הערה.", "missingcommentheader": "תזכורת: לא הזנת נושא להודעה זו.\nלחיצה חוזרת על הכפתור \"$1\" תגרום לעריכה שלך להישמר ללא נושא.", "summary-preview": "תצוגה מקדימה של תקציר העריכה:", "subject-preview": "תצוגה מקדימה של הנושא:", @@ -1033,7 +1033,7 @@ "timezoneregion-europe": "אירופה", "timezoneregion-indian": "האוקיינוס ההודי", "timezoneregion-pacific": "האוקיינוס השקט", - "allowemail": "לאפשר למשתמשים לשלוח לי דואר אלקטרוני", + "allowemail": "לאפשר למשתמשים אחרים לשלוח לי דואר אלקטרוני", "email-blacklist-label": "חסימת המשתמשים הבאים משליחת דואר אלקטרוני אליי:", "prefs-searchoptions": "חיפוש", "prefs-namespaces": "מרחבי שם", @@ -1314,7 +1314,7 @@ "recentchanges-submit": "הצגה", "rcfilters-tag-remove": "הסרת \"$1\"", "rcfilters-legend-heading": "רשימת קיצורים:", - "rcfilters-other-review-tools": "כלי סקירה אחרים", + "rcfilters-other-review-tools": "כלי סקירה אחרים", "rcfilters-group-results-by-page": "חלוקה התוצאות לקבוצות לפי דף", "rcfilters-grouping-title": "חלוקה לקבוצות", "rcfilters-activefilters": "מסננים פעילים", @@ -1327,7 +1327,7 @@ "rcfilters-days-show-hours": "{{PLURAL:$1|שעה אחת|שעתיים|$1 שעות}}", "rcfilters-highlighted-filters-list": "מובלט: $1", "rcfilters-quickfilters": "מסננים שמורים", - "rcfilters-quickfilters-placeholder-title": "טרם נשמרו קישורים", + "rcfilters-quickfilters-placeholder-title": "טרם נשמרו מסננים", "rcfilters-quickfilters-placeholder-description": "כדי לשמור את הגדרות המסננים שלך ולהשתמש בהן מאוחר יותר, יש ללחוץ על סמל הסימנייה באזור המסנן הפעיל להלן.", "rcfilters-savedqueries-defaultlabel": "מסננים שמורים", "rcfilters-savedqueries-rename": "שינוי שם", @@ -1367,7 +1367,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "לא רשומים", "rcfilters-filter-user-experience-level-unregistered-description": "עורכים שלא נכנסו לחשבון.", "rcfilters-filter-user-experience-level-newcomer-label": "חדשים", - "rcfilters-filter-user-experience-level-newcomer-description": "עורכים רשומים עם פחות מ־10 עריכות ומ־4 ימים של פעילות.", + "rcfilters-filter-user-experience-level-newcomer-description": "עורכים רשומים עם פחות מ־10 עריכות או 4 ימים של פעילות.", "rcfilters-filter-user-experience-level-learner-label": "לומדים", "rcfilters-filter-user-experience-level-learner-description": "עורכים רשומים שרמת הניסיון שלהם היא בין \"חדשים\" לבין \"מנוסים\".", "rcfilters-filter-user-experience-level-experienced-label": "משתמשים מנוסים", @@ -1562,7 +1562,7 @@ "uploaded-script-svg": "נמצא אלמנט שאפשר לכתוב בו תסריט \"$1\" בקובץ ה־SVG שהועלה.", "uploaded-hostile-svg": "נמצא CSS בלתי־מאובטח באלמנט style בקובץ ה־SVG שהועלה.", "uploaded-event-handler-on-svg": "אסור להגדיר מאפייני טיפול באירועים $1=\"$2\" בקובצי SVG.", - "uploaded-href-attribute-svg": "למאפייני href בקובצי SVG מותר לקשר רק ליעדי http או https, ונמצא <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": "רכיבי
    יכולים לקשר (href) רק ליעדי data:‎ (קובץ מוטמע), http://‎ או https://‎, או מקטע (עם #, באותו מסמך). ברכיבים אחרים, כגון , מותרים רק יעדי data:‎ ומקטע. באפשרותך לנסות להטמיע תמונות בעת ייצוא קובץ ה־SVG שלך. נמצא <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "נמצא href לנתונים לא מאובטחים <$1 $2=\"$3\"> בקובץ ה־SVG שהועלה.", "uploaded-animate-svg": "נמצא תג \"animate\" שיכול לשנות href באמצעות מאפיין \"from\" בצורת <$1 $2=\"$3\"> בקובץ ה־SVG שהועלה.", "uploaded-setting-event-handler-svg": "הגדרת מאפייני טיפול באירועים חסומה, נמצא <$1 $2=\"$3\"> בקובץ ה־SVG שהועלה.", diff --git a/languages/i18n/hi.json b/languages/i18n/hi.json index 6ab714df88..b2bd8fb35b 100644 --- a/languages/i18n/hi.json +++ b/languages/i18n/hi.json @@ -1365,7 +1365,7 @@ "recentchanges-submit": "दिखाएँ", "rcfilters-tag-remove": "निकालें$1", "rcfilters-legend-heading": "संकेतों की सूची:", - "rcfilters-other-review-tools": "दूसरे समीक्षा उपकरण", + "rcfilters-other-review-tools": "दूसरे समीक्षा उपकरण", "rcfilters-group-results-by-page": "पेज द्वारा समूह परिणाम", "rcfilters-grouping-title": "समूहीकरण", "rcfilters-activefilters": "सक्रिय फिल्टर", diff --git a/languages/i18n/hif-latn.json b/languages/i18n/hif-latn.json index b25c266380..4c45688e99 100644 --- a/languages/i18n/hif-latn.json +++ b/languages/i18n/hif-latn.json @@ -68,7 +68,6 @@ "underline-never": "Kabhi nai", "underline-default": "Skin nai to browser ke default", "editfont-style": "Badlao waala jagah ke font:", - "editfont-default": "Browser ke sadharan setting", "editfont-monospace": "Font jiske sab akcchar ke ekke chaurrai hae", "editfont-sansserif": "Sans-serif font", "editfont-serif": "Serif font", @@ -674,7 +673,6 @@ "explainconflict": "Aap ke ii panna ke badle ke suruu kare ke baad, aur koi ii panna ke badal diis hai.\nUppar ke text area panna ke text jaise abhi hai ke dekhawa jae hai.\nAap ke badlao ke lower text area me dekawa jae hai.\nAap ke aapan badlao ke existing text me merge kare ke parri.\n'''Khali''' text in the upper text area ke save karaa jai jab aap \"$1\" ke press karega.", "yourtext": "Aap ke text", "storedversion": "Bachawa gais version", - "nonunicodebrowser": "'''CHETAUNI: Aap ke browser unicode ke nai maane hae.\nEk workaround uu jagah hae jahan pe aap thik se panna ke badle sakta hae: non-ASCII akchhar edit box me hexadecimal codes dekhai.'''", "editingold": "'''WARNING: Aap ii panna ke purana version ke badalata hae.'''\nAgar aap iske save kar lia tab last badlao se abi tak ke changes will be lost.", "yourdiff": "Antar", "copyrightwarning": "Dhyann me rakho ki {{SITENAME}} ke sab yog daan $2 ($1 ke dekho aur kaankari khatir) ke niche dewa gae hai. Agar aap nai mangtaa ki aap ke likha gae koi chij ke duusra logan badle tab hain par nahii likho.
    \nAap ii bhi waada kartaa hai ki iske aap likha hai aur koi duusra jagah se copy nahi karaa hai.\n'''COPYRIGHT CHIJ KE BINA ANUMATI KE HIAN PAR NAHI SUBMIT KARNA!'''", @@ -1287,7 +1285,7 @@ "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (aur dekho [[Special:NewPages|nawaa panna ke suchi]])", "recentchanges-submit": "Dekhao", "rcfilters-legend-heading": "Abbreviations ke suchi:", - "rcfilters-other-review-tools": "Duusra review kare waala tool:", + "rcfilters-other-review-tools": "Duusra review kare waala tool:", "rcfilters-activefilters": "Active filters", "rcfilters-advancedfilters": "Advanced filters", "rcfilters-limit-title": "Jon badlao ke dekhae ke hai", @@ -2321,7 +2319,6 @@ "block": "Sadasya ke roko", "unblock": "Sadasya ke rukawat k khalaas karo", "blockip": "{{GENDER:$1|sadasya}} ke roko", - "blockip-legend": "Sadasya ke roko", "blockiptext": "Niche ke form ke use kar ke koi khaas IP address nai to username ke write access ke roko.\nIske khaali vandalism ke roke ke khatir kaam me laae ke chaahi [[{{MediaWiki:Policy-url}}|policy]] ke niche.\nFill in a specific reason below (for example, citing particular pages that were vandalized).\nYou can block IP address ranges using the [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR] syntax; the largest allowed range is /$1 for IPv4 and /$2 for IPv6.", "ipaddressorusername": "IP Address nai to username:", "ipbexpiry": "Expiry:", @@ -3457,6 +3454,7 @@ "compare-invalid-title": "Jon title ke aap specify karaa hae, valid nai hae", "compare-title-not-exists": "Chuna gais title abhi nai banawa gais hai.", "compare-revision-not-exists": "Chuna gais revision abhi nai banawa gais hai.", + "diff-form": "ek '''form'''", "dberr-problems": "Maaf karna! Ii site technical difficulties experience kare hae.", "dberr-again": "Thora deri wait kar ke fir se load kare ke try karo", "dberr-info": "(Cannot access the database: $1)", diff --git a/languages/i18n/hr.json b/languages/i18n/hr.json index 794f94687e..9438fa0a06 100644 --- a/languages/i18n/hr.json +++ b/languages/i18n/hr.json @@ -467,7 +467,7 @@ "nosuchusershort": "Ne postoji suradnik s imenom \"$1\". Provjerite Vaš unos.", "nouserspecified": "Molimo navedite suradničko ime.", "login-userblocked": "Ovaj je suradnik blokiran. Prijava nije dopuštena.", - "wrongpassword": "Zaporka koju ste unijeli nije ispravna. Pokušajte ponovno.", + "wrongpassword": "Zaporka koju ste unijeli nije ispravna. Molimo Vas, pokušajte ponovo.", "wrongpasswordempty": "Niste unijeli zaporku. Pokušajte ponovno.", "passwordtooshort": "Zaporka mora sadržavati najmanje {{PLURAL:$1|1 znak|$1 znaka|$1 znakova}}.", "password-name-match": "Vaša zaporka mora biti različita od Vašeg suradničkog imena.", @@ -699,7 +699,7 @@ "permissionserrorstext": "Nemate ovlasti za tu radnju iz sljedećih {{PLURAL:$1|razlog|razloga}}:", "permissionserrorstext-withaction": "Nemate dopuštenje za $2, iz {{PLURAL:$1|navedenog|navedenih}} razloga:", "recreate-moveddeleted-warn": "Upozorenje: Ponovo stvarate stranicu koja je prethodno bila izbrisana.\n\nRazmotrite je li prikladno nastaviti s uređivanje ove stranice.\nZa Vašu informaciju slijedi evidencija brisanja i premještanja ove stranice:", - "moveddeleted-notice": "Ova stranica je bila izbrisana.\nEvidencija brisanja i evidencija premještanja za ovu stranicu je prikazana niže.", + "moveddeleted-notice": "Ova je stranica izbrisana.\nEvidencije brisanja, zaštićivanja i premještanja za ovu stranicu prikazane su niže za uputu.", "moveddeleted-notice-recent": "Žao nam je, ova stranica je izbrisana u prošla 24 sata. \nNiže je navedena evidencija brisanja i premještanja.", "log-fulllog": "Prikaži cijelu evidenciju", "edit-hook-aborted": "Uređivanje prekinuto kukom.\nRazlog nije ponuđen.", @@ -884,7 +884,7 @@ "showhideselectedversions": "Otkrij/sakrij odabrane izmjene", "editundo": "ukloni ovu izmjenu", "diff-empty": "Nema razlike inačica", - "diff-multi-sameuser": "{{PLURAL:$1|Nije prikazana jedna međuinačica|Nisu prikazane $1 međuinačice|Nije prikazano $1 međuinačica}} istog suradnika", + "diff-multi-sameuser": "({{PLURAL:$1|Nije prikazana jedna međuinačica|Nisu prikazane $1 međuinačice|Nije prikazano $1 međuinačica}} istog suradnika)", "diff-multi-otherusers": "({{PLURAL:$1|Nije prikazana jedna međuinačica|Nisu prikazane $1 međuinačice|Nije prikazano $1 međuinačica}} {{PLURAL:$2|jednog|$2}} suradnika)", "diff-multi-manyusers": "({{PLURAL:$1|Nije prikazana jedna međuinačica|Nisu prikazane $1 međuinačice|Nije prikazano $1 međuinačica}} više od {{PLURAL:$2|jednog|$2|$2}} suradnika)", "difference-missing-revision": "{{PLURAL:$2|Uređivanje|$2 uređivanja}} sljedeće šifre ($1) ne {{PLURAL:$2|postoji|postoje}}.\n\nOvo je obično uzrokovano kada kliknete na zastarjelu poveznicu na stranice koja je obrisana.\nViše informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} evidenciji brisanja].", @@ -916,6 +916,7 @@ "search-redirect": "(preusmjeravanje s $1)", "search-section": "(odlomak $1)", "search-category": "(kategorija $1)", + "search-file-match": "(podudara se sa sadržajem datoteke)", "search-suggest": "Mislili ste: $1", "search-rewritten": "Prikazuju se rezultati za $1. Umjesto toga pretraži $2.", "search-interwiki-caption": "Rezultati sa sestrinskih projekata", @@ -1001,7 +1002,7 @@ "email-blacklist-label": "Zabrani sljedećim suradnicima da mi šalju e-poruke:", "prefs-searchoptions": "Način traženja", "prefs-namespaces": "Imenski prostori", - "default": "prvotno", + "default": "predodređeno", "prefs-files": "Datoteke", "prefs-custom-css": "Prilagođen CSS", "prefs-custom-js": "Prilagođen JS", @@ -1248,7 +1249,7 @@ "recentchanges-legend-plusminus": "(±123)", "recentchanges-submit": "Prikaži", "rcfilters-legend-heading": "Popis kratica:", - "rcfilters-other-review-tools": "Ostali alati za pregledavanje:", + "rcfilters-other-review-tools": "Ostali alati za pregledavanje:", "rcfilters-group-results-by-page": "Grupiranje rezultata po stranici", "rcfilters-grouping-title": "Grupiranje", "rcfilters-activefilters": "Aktivni filtri", @@ -1274,7 +1275,7 @@ "rcfilters-savedqueries-add-new-title": "Spremi trenutačne postavke filtra", "rcfilters-restore-default-filters": "Vrati zadane filtre", "rcfilters-clear-all-filters": "Očisti sve filtre", - "rcfilters-show-new-changes": "Prikaži najnovije promjene", + "rcfilters-show-new-changes": "Vidi najnovije izmjene", "rcfilters-search-placeholder": "Filtriraj nedavne promjene (pretražite ili počnite unositi)", "rcfilters-invalid-filter": "Filter nije valjan", "rcfilters-empty-filter": "Nema aktivnih filtra. Prikazani su svi doprinosi.", @@ -1326,7 +1327,7 @@ "rcfilters-filter-watchlist-notwatched-label": "Izvan popisa praćenja", "rcfilters-filter-watchlist-notwatched-description": "Sve izmjene na stranicama osim onih na popisu praćenja.", "rcfilters-filtergroup-changetype": "Vrste promjena", - "rcfilters-filter-pageedits-label": "Uređivanja stranice", + "rcfilters-filter-pageedits-label": "Uređivanja stranica", "rcfilters-filter-pageedits-description": "Uređivanja wikisadržaja, rasprave, opisi kategorija...", "rcfilters-filter-newpages-label": "Stvaranje stranica", "rcfilters-filter-newpages-description": "Uređivanja kojima su stvorene nove stranice.", @@ -1349,7 +1350,7 @@ "rcfilters-view-tags-tooltip": "Filtriranje rezultata po oznakama uređivanja", "rcfilters-preference-label": "Skrij poboljšanu inačicu nedavnih promjena", "rcfilters-preference-help": "Vraća natrag stanje prije redizajna sučelja 2017., te svih oruđa dodanih tada i poslije toga.", - "rcnotefrom": "Slijede promjene od $2 (prikazano ih je do $1).", + "rcnotefrom": "Ispod {{PLURAL:$5|je izmjena|su izmjene}} od $3, $4 (prikazano ih do $1).", "rclistfromreset": "Vrati na zadano izbor datuma", "rclistfrom": "Prikaži nove promjene počevši od $3 $2", "rcshowhideminor": "$1 manje promjene", @@ -1954,11 +1955,11 @@ "removedwatchtext-short": "Stranica \"$1\" uklonjena je s Vašeg popisa praćenja.", "watch": "Prati", "watchthispage": "Prati ovu stranicu", - "unwatch": "Prekini praćenje", - "unwatchthispage": "Prekini praćenje", - "notanarticle": "Nije članak", + "unwatch": "Prestani pratiti", + "unwatchthispage": "Prestani pratiti stranicu", + "notanarticle": "Nije stranica sa sadržajem", "notvisiblerev": "Izmjena je obrisana", - "watchlist-details": "{{PLURAL:$1|$1 stranica se nalazi|$1 stranice se nalaze|$1 stranica se nalazi}} na popisu praćenja, ne brojeći stranice za razgovor.", + "watchlist-details": "Na Vašem popisu praćenja imate {{PLURAL:$1|$1 stranicu|$1 stranice|$1 stranica}} (plus stranice za razgovor).", "wlheader-enotif": "Uključeno je izvješćivanje e-poštom.", "wlheader-showupdated": "Stranice koje su promijenjene od Vašeg posljednjeg posjeta prikazane su '''podebljano'''.", "wlnote": "Niže {{PLURAL:$1|0=nema ijedna izmjena načinjena|je posljednja izmjena načinjena|su $1 posljednje izmjene načinjene|su $1 posljednjih izmjena načinjenih}} {{PLURAL:$2|0=u zadanom roku|posljednjega sata|u posljednja $2 sata|u posljednjih $2 sati}}, zaključno do $3 u $4.", @@ -2034,7 +2035,7 @@ "revertpage-nouser": "Vraćene izmjene suradnika (suradničko ime uklonjeno) na posljednju inačicu suradnika [[User:$1|$1]]", "rollback-success": "uklonjeno uređivanje {{GENDER:$1|suradnika|suradnice}} $1\nvraćeno na posljednju inačicu {{GENDER:$2|suradnika|suradnice}} $2.", "sessionfailure-title": "Prekid sesije", - "sessionfailure": "Uočili smo problem s Vašom prijavom. Zadnja naredba nije izvršena kako bi se izbjegla zloupotreba. Molimo Vas da se u pregledniku vratite natrag na prethodnu stranicu, ponovno je učitate i zatim pokušate opet.", + "sessionfailure": "Izgleda da postoji problem s uspostavom sjednice kod Vašega prijavljivanja; ta radnja otkazana je kao način sprječavanja krađe sjednice. Molimo Vas da se u pregledniku vratite natrag na prethodnu stranicu, ponovo ju učitate i zatim pokušate opet.", "changecontentmodel": "Promjena modela sadržaja stranice", "changecontentmodel-legend": "Promijeni model sadržaja", "changecontentmodel-title-label": "Naziv stranice", @@ -2186,7 +2187,7 @@ "whatlinkshere-hideredirs": "$1 preusmjeravanja", "whatlinkshere-hidetrans": "$1 transkluzije", "whatlinkshere-hidelinks": "$1 poveznice", - "whatlinkshere-hideimages": "$1 poveznice slike", + "whatlinkshere-hideimages": "$1 poveznica prema datoteci", "whatlinkshere-filters": "Filtri", "whatlinkshere-submit": "Idi", "autoblockid": "Automatsko blokiranje #$1", @@ -3222,10 +3223,13 @@ "version-libraries-description": "Opis", "version-libraries-authors": "Autori", "redirect": "Preusmjerenje prema datoteci, odnosno ID-u suradnika, stranice, izmjene ili ID-u u evidenciji", + "redirect-summary": "Ova posebna stranica preusmjerava na datoteku (danog imena), stranicu (dane oznake izmjene ili identifikatora stranice), suradničku stranicu (danoga numeričkog identifikatora suradnika) ili zapis u evidenciji (danog numeričkog identifikatora evidencije). Oznake se rabe na sljedeći način: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], ili [[{{#Special:Redirect}}/logid/186]].", "redirect-submit": "Idi", + "redirect-lookup": "Tip vrijednosti:", "redirect-value": "Vrijednost:", "redirect-user": "ID suradnika", "redirect-page": "ID stranice", + "redirect-revision": "Inačica stranice", "redirect-file": "Datotečno ime", "fileduplicatesearch": "Traži kopije datoteka", "fileduplicatesearch-summary": "Traži kopije datoteka na temelju njihove hash vrijednosti.", @@ -3562,8 +3566,8 @@ "log-action-filter-managetags-delete": "Brisanje oznake", "log-action-filter-managetags-activate": "Aktiviranje oznake", "log-action-filter-managetags-deactivate": "Deaktiviranje oznake", - "log-action-filter-move-move": "premještanje bez prepisivanja preko preusmjeravanja", - "log-action-filter-move-move_redir": "premještanje s prepisivanjem preko preusmjeravanja", + "log-action-filter-move-move": "Premještanje bez presnimavanja preko preusmjeravanja", + "log-action-filter-move-move_redir": "Premještanje s presnimavanjem preko preusmjeravanja", "log-action-filter-newusers-create": "stvorio anonimni suradnik", "log-action-filter-newusers-create2": "stvorio registrirani suradnik", "log-action-filter-newusers-autocreate": "automatski stvoren", diff --git a/languages/i18n/ht.json b/languages/i18n/ht.json index 0f654a5e1d..3c6e4413d2 100644 --- a/languages/i18n/ht.json +++ b/languages/i18n/ht.json @@ -58,7 +58,6 @@ "underline-never": "Jamè", "underline-default": "Dekorasyon ou navigatè pa defo", "editfont-style": "Estil karaktè yo nan zòn modifikasyon:", - "editfont-default": "Selon paramèt navigatè", "editfont-monospace": "Estil karaktè Monospaced (espas fiks)", "editfont-sansserif": "Estil karaktè Sans-serif", "editfont-serif": "Estil karaktè Serif", @@ -152,13 +151,7 @@ "anontalk": "Diskite", "navigation": "Navigasyon", "and": " epi", - "qbfind": "Chache", - "qbbrowse": "Bouske", - "qbedit": "Modifye", - "qbpageoptions": "Paj sa a", - "qbmyoptions": "Paj mwen yo", "faq": "FAQ", - "faqpage": "Project:FAQ", "actions": "Aksyon yo", "namespaces": "Espas non yo", "variants": "Varyant yo", @@ -184,29 +177,19 @@ "edit-local": "Chanje on deskripsyon lokal", "create": "Kreye", "create-local": "Ajoute on deskription lokal", - "editthispage": "Modifye paj sa a", - "create-this-page": "Kreye paj sa", "delete": "Efase", - "deletethispage": "Efase paj sa", - "undeletethispage": "Retabli paj sa a", "undelete_short": "Restore {{PLURAL:$1|Yon modifikasyon| $1 modifikasyon yo}}", "viewdeleted_short": "Gade {{PLURAL:$1|yon modifikasyon ki te efase|$1 modifikasyon yo ki te efase}}", "protect": "Pwoteje", "protect_change": "Chanje pwoteksyon paj sa", - "protectthispage": "Pwoteje paj sa", "unprotect": "Chanje nivo pwoteksyon", - "unprotectthispage": "Chanje nivo pwoteksyon", "newpage": "Nouvo paj", - "talkpage": "Diskite paj sa a", "talkpagelinktext": "Diskite", "specialpage": "Paj Espesyal", "personaltools": "Zouti pèsonèl yo", - "articlepage": "Wè paj atik", "talk": "Diskisyon", "views": "Afichay yo", "toolbox": "Bwat zouti", - "userpage": "Wè paj itilizatè", - "projectpage": "Wè paj pwojè", "imagepage": "Wè paj fichye", "mediawikipage": "Wè paj mesaj", "templatepage": "Wè paj modèl", @@ -517,7 +500,6 @@ "explainconflict": "Yon lòt moun te anrejistre paj sa apre ou te komanse modifye l.\nW ap jwenn teks jan li ye kounye a nan zòn modifikasyon an ki anlè.\nModifikasyon ou pòte yo parèt anba.\nOu dwe fè modifikasyon ou yo nan tèks ki te deja anrejistre a ki anlè.\nSe tèks ki nan pati anlè a sèlman k ap anrejistre toutbon lè ou klike sou « $1 ».", "yourtext": "Tèks ou an", "storedversion": "Vèsyon ki anrejistre", - "nonunicodebrowser": "'''Atansyon: Navigatè ou an pa ka mache ak Unicode lan.'''\nNou fè yon jan pou pèmèt ou fè modifikasyon nan paj yo: karaktè ki pa nan ASCII yo pral ekri ak kòd ekzadesimal.", "editingold": "'''Avètisman : Ou ap edite yon vye vèsyon paj sa a.''' \nSi ou anrejistre li, tout chanjman yo depi vèsyon sa a pral pèdi.", "yourdiff": "Diferans", "copyrightwarning": "Tanpri sonje tout piblikasyon ki fèt nan {{SITENAME}} piblye anba kontra $2 an (wè $1 pou konnen plis). Si ou pa vle sa ou ekri pataje oubyen modifye, ou pa dwe soumèt yo isit.
    \nW ap pwomèt tou ke sa w ap ekri a se ou menm menm ki ekri li oubyen ke ou kopye li de yon sous ki nan domèn piblik, ou byen you sous ki lib. '''PA ITILIZE TRAVAY KI ANBA DWA DOTÈ SI OTÈ PA T BAY OTORIZASYON LI TOUTBON !'''", @@ -618,7 +600,9 @@ "prevn": "{{PLURAL:$1|$1}} anvan yo", "nextn": "{{PLURAL:$1|$1}} swivan yo", "nextn-title": "Pwochen $1 rezilta", + "shown-title": "Montre {{PLURAL:$1|result|rezilta yo}} pou chak paj", "viewprevnext": "Wè ($1 {{int:pipe-separator}} $2) ($3).", + "searchmenu-new": "Fè nouvo paj sa a \"[[:$1]]\" sou wiki sa a {{PLURAL:$2|0=|epi wè paj ki te jwenn ak rechèch ou an|epi wè paj ki te jwenn ak rechèch ou an.}}", "searchprofile-articles": "Paj kontni", "searchprofile-images": "Miltimedya", "searchprofile-everything": "Tout", @@ -634,6 +618,7 @@ "search-interwiki-default": "Rezilta yo pou $1 :", "search-interwiki-more": "(plis)", "searchall": "tout", + "search-nonefound": "Rezilta yo nan rechèch ou an pa ka jwenn", "powersearch-legend": "Fouye fon", "powersearch-ns": "Chache nan espas non sa yo:", "preferences": "Preferans yo", @@ -839,6 +824,7 @@ "undeletelink": "gade/retabli", "namespace": "Espas non :", "invert": "Envèse seleksyon an", + "namespace_association": "Non menm jan an", "blanknamespace": "(Prensipal)", "contributions": "Kontribisyon $1", "contributions-title": "Lis tout kontribisyon itilizatè ki rele $1", @@ -931,7 +917,7 @@ "tooltip-t-recentchangeslinked": "Lis modifikasyon ki fèk fèt pou paj yo ki genyen lyen nan paj sa a", "tooltip-feed-rss": "Fil RSS pou paj sa a", "tooltip-feed-atom": "Fil Atom pou paj sa a", - "tooltip-t-contributions": "Wè lis kontribisyon itilizatè sa a", + "tooltip-t-contributions": "Wè lis kontribisyon itilizatè sa a {{GENDER:$1|this user}}", "tooltip-t-emailuser": "Voye yon imèl pou itilizatè sa a", "tooltip-t-upload": "Chaje yon fichye", "tooltip-t-specialpages": "Lis tout paj espesyal yo", @@ -954,7 +940,7 @@ "tooltip-rollback": "« Revoke » ap anile ak yon sèl klik modifikasyon dènye kontribitè te fè sou paj sa a", "tooltip-undo": "« Revoke » ap efase modifikasyon sa epi li ap ouvri fenèt modifikasyon an nan mòd kote ou kapab wè sa sa ou fè a ap bay.\nLi pèmèt retabli vèsyon ki te anvan li epi ajoute yon rezon ki esplike poukisa ou revoke modifikasyon sa nan bwat rezime a.", "tooltip-summary": "Ekri yon ti rezime", - "simpleantispam-label": "Verifikasyon antispam.\nPA ranpli sa a!", + "simpleantispam-label": "Tcheke enfòmasyon\nPA ranpli oswa antre nan tèks!", "pageinfo-toolboxlink": "Enfòmasyon sou paj la", "previousdiff": "← Modifikasyon presedan", "nextdiff": "Modifikasyon swivan →", @@ -969,13 +955,14 @@ "metadata-help": "Fichye sa genyen enfòmasyon adisyonèl, petèt ki soti nan yon kamera dijital oubyen yon nimerizè itilize pou kreye oubyen dijitalize li. Si fichye sa te modifye depi kreyasyon li, kèk detay ka pa menm avèk original la.", "metadata-expand": "Montre detay konplè yo", "metadata-collapse": "Kache enfòmasyon ak tout detay yo", - "metadata-fields": "Chan metadone EXIF ki liste nan mesaj sa a ap parèt nan paj deskripsyon imaj la lè tab metadone a ap pi piti. Lòt chan yo ap kache pa defo.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude", + "metadata-fields": "Ou ka wè imaj sa a nan paj ki dekri imaj la. Gen kèk enfòmasyon ki pa toujou vizib.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude", "exif-xresolution": "Rezolisyon orizontal", "exif-yresolution": "Rezolisyon vètikal", "exif-datetime": "Dat ak lè chanjman fichye a", "exif-make": "Mak kamera a", "exif-model": "Modèl kamera a", "exif-exifversion": "Vèsyon EXIF", + "exif-colorspace": "Espas la pou koulè", "exif-orientation-1": "Nòmal", "exif-contrast-0": "Nòmal", "namespacesall": "Tout", @@ -990,5 +977,5 @@ "htmlform-reset": "Revoke chanjman yo", "revdelete-restricted": "aplike restriksyon sa yo pou administratè yo", "logentry-newusers-create": "Kont itilizatè $1 a kreye", - "searchsuggest-search": "Chèche" + "searchsuggest-search": "Jwenn" } diff --git a/languages/i18n/hu.json b/languages/i18n/hu.json index 687e4add30..f9ce3c5737 100644 --- a/languages/i18n/hu.json +++ b/languages/i18n/hu.json @@ -707,6 +707,7 @@ "yourtext": "A te változatod", "storedversion": "A tárolt változat", "editingold": "'''FIGYELMEZTETÉS: A lap egy elavult változatát szerkeszted.\nHa elmented, akkor az ezen változat után végzett összes módosítás elvész.'''", + "unicode-support-fail": "Úgy tűnik, hogy a böngésződ nem támogatja az Unicode-kódolást. Ez viszont szükséges a lapok szerkesztéséhez, ezért a szerkesztésed nem lett elmentve.", "yourdiff": "Eltérések", "copyrightwarning": "Vedd figyelembe, hogy a {{SITENAME}} wikin végzett összes módosítás a(z) $2 alatt jelenik meg (lásd a(z) $1 lapot a részletekért). Ha nem akarod, hogy az írásodat módosítsák vagy továbbterjesszék, akkor ne küldd be.
    \nAzt is megígéred, hogy ezt magadtól írtad, vagy egy közkincsből vagy más szabad forrásból másoltad.\n'''NE KÜLDJ BE JOGVÉDETT MUNKÁT ENGEDÉLY NÉLKÜL!'''", "copyrightwarning2": "Vedd figyelembe, hogy a {{SITENAME}} wikin végzett összes módosítást szerkeszthetik, módosíthatják vagy eltávolíthatják más szerkesztők.\nHa nem akarod, hogy az írásodat módosítsák, akkor ne küldd be.
    \nAzt is megígéred, hogy ezt magadtól írtad, vagy egy közkincsből vagy más szabad forrásból másoltad (lásd a(z) $1 lapot a részletekért).\n'''NE KÜLDJ BE JOGVÉDETT MUNKÁT ENGEDÉLY NÉLKÜL!'''", @@ -1085,6 +1086,7 @@ "prefs-editor": "Szerkesztő", "prefs-preview": "Előnézet", "prefs-advancedrc": "Haladó beállítások", + "prefs-opt-out": "Fejlesztések kikapcsolása", "prefs-advancedrendering": "Haladó beállítások", "prefs-advancedsearchoptions": "Haladó beállítások", "prefs-advancedwatchlist": "Haladó beállítások", @@ -1321,7 +1323,7 @@ "recentchanges-submit": "Megjelenítés", "rcfilters-tag-remove": "$1 eltávolítása", "rcfilters-legend-heading": "Rövidítések listája:", - "rcfilters-other-review-tools": "Egyéb hasznos hivatkozások", + "rcfilters-other-review-tools": "Egyéb hasznos hivatkozások", "rcfilters-group-results-by-page": "Csoportosítás eredményei lapok szerint", "rcfilters-grouping-title": "Csoportosítás", "rcfilters-activefilters": "Aktív szűrők", @@ -1334,7 +1336,7 @@ "rcfilters-days-show-hours": "$1 óra", "rcfilters-highlighted-filters-list": "Kiemelve: $1", "rcfilters-quickfilters": "Mentett szűrők", - "rcfilters-quickfilters-placeholder-title": "Nincs mentett hivatkozás", + "rcfilters-quickfilters-placeholder-title": "Nincs mentett szűrő", "rcfilters-quickfilters-placeholder-description": "Hogy elmentsd szűrőid beállításait és később újra használhasd őket, kattints a könyvjelző ikonra az „aktív szűrők” mezőben, feljebb.", "rcfilters-savedqueries-defaultlabel": "Mentett szűrők", "rcfilters-savedqueries-rename": "Átnevezés", @@ -1374,7 +1376,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Nem regisztrált", "rcfilters-filter-user-experience-level-unregistered-description": "Nem bejelentkezett szerkesztők.", "rcfilters-filter-user-experience-level-newcomer-label": "Újoncok", - "rcfilters-filter-user-experience-level-newcomer-description": "Regisztrált szerkesztők kevesebb mint 10 szerkesztéssel és 4 nap aktivitással.", + "rcfilters-filter-user-experience-level-newcomer-description": "Regisztrált szerkesztők kevesebb mint 10 szerkesztéssel vagy 4 nap aktivitással.", "rcfilters-filter-user-experience-level-learner-label": "Tanulók", "rcfilters-filter-user-experience-level-learner-description": "Regisztrált szerkesztők „újonc” és „tapasztalt szerkesztő” közé eső tapasztalattal.", "rcfilters-filter-user-experience-level-experienced-label": "Tapasztalt szerkesztők", @@ -1431,6 +1433,7 @@ "rcfilters-view-namespaces-tooltip": "Találatok szűrése névtér szerint", "rcfilters-view-tags-tooltip": "Találatok szűrése címkék használatával", "rcfilters-view-return-to-default-tooltip": "Vissza a főszűrőmenübe.", + "rcfilters-view-tags-help-icon-tooltip": "Tudj meg többet a jelölt szerkesztésekről", "rcfilters-liveupdates-button": "Élő frissítések", "rcfilters-liveupdates-button-title-on": "Élő frissítések kikapcsolása", "rcfilters-liveupdates-button-title-off": "A legfrissebb változtatások mutatása, amint megtörténnek", @@ -1438,6 +1441,7 @@ "rcfilters-watchlist-edit-watchlist-button": "A figyelőlistád szerkesztése", "rcfilters-watchlist-showupdated": "Az újabb változtatások amiket még nem néztél meg, vastaggal jelöltük", "rcfilters-preference-label": "A friss változtatások fejlesztett változatának elrejtése", + "rcfilters-preference-help": "A 2017-es felületátdolgozás és minden azóta hozzáadott eszköz visszaállítása.", "rcnotefrom": "Alább a $3 $4 óta történt változtatások láthatóak (legfeljebb $1 db).", "rclistfromreset": "Dátumválasztás visszaállítása", "rclistfrom": "$3, $2 után történt változtatások megtekintése", @@ -1494,6 +1498,7 @@ "uploadbtn": "Fájl feltöltése", "reuploaddesc": "Visszatérés a feltöltési űrlaphoz.", "upload-tryagain": "Módosított fájl-leírás elküldése", + "upload-tryagain-nostash": "Újra-feltöltött fájl és módosított leírás küldése", "uploadnologin": "Nem vagy bejelentkezve", "uploadnologintext": "{{UCFIRST:$1}} fájlok feltöltéséhez.", "upload_directory_missing": "A feltöltési könyvtár ($1) nem létezik vagy nem tudja létrehozni a kiszolgáló.", @@ -1673,6 +1678,7 @@ "uploadstash-errclear": "A fájlok törlése nem sikerült.", "uploadstash-refresh": "Fájlok listájának frissítése", "uploadstash-thumbnail": "bélyegkép megjelenítése", + "uploadstash-exception": "Nem sikerült eltárolni a feltöltést a stash-ben ($1): „$2”", "invalid-chunk-offset": "Érvénytelen darab eltolás", "img-auth-accessdenied": "Hozzáférés megtagadva", "img-auth-nopathinfo": "Hiányzó PATH_INFO.\nA szerver nincs beállítva, hogy továbbítsa ezt az információt.\nLehet, hogy CGI-alapú, és nem támogatja az img_auth-ot.\nLásd https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization!", diff --git a/languages/i18n/hy.json b/languages/i18n/hy.json index 1c091bff1b..69a2c139bb 100644 --- a/languages/i18n/hy.json +++ b/languages/i18n/hy.json @@ -723,6 +723,8 @@ "revdelete-reasonotherlist": "Ուրիշ պատճառ", "revdelete-edit-reasonlist": "Խմբագրել ջնջման պատճառների ցանկը", "revdelete-offender": "Էջի տարբերակի հեղինակ՝", + "mergehistory-from": "Աղբյուր էջ.", + "mergehistory-into": "Նպատակային էջ.", "mergehistory-reason": "Պատճառ՝", "revertmerge": "Անջատել", "history-title": "«$1» էջի փոփոխումների պատմություն", @@ -766,6 +768,7 @@ "search-interwiki-caption": "Կից նախագծեր", "search-interwiki-default": "$1 արդյունք.", "search-interwiki-more": "(էլի)", + "search-interwiki-more-results": "ավելի շատ արդյունքներ", "search-relatedarticle": "Հարակից", "searchrelated": "հարակից", "searchall": "բոլոր", @@ -928,6 +931,7 @@ "newuserlogpagetext": "Սա նոր մասնակիցների գրանցման տեղեկամատյանն է.", "rightslog": "Մասնակցի իրավունքների տեղեկամատյան", "rightslogtext": "Սա մասնակիցների իրավունքների փոփոխությունների տեղեկամատյանն է։", + "action-read": "կարդալ այս էջը", "action-edit": "խմբագրել այս էջը", "action-createpage": "Ստեղծել էջ", "action-move": "տեղափոխել այս էջը", @@ -959,7 +963,11 @@ "recentchanges-legend-heading": "Լեգենդ՝", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (տես նաև՝ [[Special:NewPages|նոր էջերի ցանկ]])", "recentchanges-submit": "Ցույց տալ", + "rcfilters-tag-remove": "Հեռացնել '$1'", + "rcfilters-legend-heading": "Հապավումների ցանկ.", "rcfilters-limit-shownum": "Ցուցադրել վերջին $1 փոփոխությունները", + "rcfilters-days-title": "Վերջին օրերին", + "rcfilters-hours-title": "Վերջին ժամերը", "rcfilters-savedqueries-rename": "Վերանվանել", "rcfilters-savedqueries-remove": "Ջնջել", "rcfilters-savedqueries-new-name-label": "Անուն", @@ -967,6 +975,7 @@ "rcfilters-savedqueries-cancel-label": "Չեղարկել", "rcfilters-filterlist-title": "Զտիչներ", "rcfilters-filterlist-whatsthis": "Ինչպե՞ս է սա աշխատում:", + "rcfilters-highlightmenu-title": "Ընտրեք գույնը", "rcfilters-filter-editsbyself-label": "Ձեր խմբագրումներ", "rcfilters-filter-user-experience-level-newcomer-description": "Գրանցված խմբագիրներ՝ ոչ պակաս քան 10 խմբագրումով և 4 օր ակտիվությամբ:", "rcfilters-filtergroup-lastRevision": "Ընթացիկ տարբերակ", diff --git a/languages/i18n/ia.json b/languages/i18n/ia.json index e676f76187..cb8d5eca3a 100644 --- a/languages/i18n/ia.json +++ b/languages/i18n/ia.json @@ -621,7 +621,7 @@ "anonpreviewwarning": "''Tu non ha aperite un session. Salveguardar registrara tu adresse IP in le historia de modificationes de iste pagina.''", "missingsummary": "Rememoration: Tu non ha scribite un summario de modification.\nSi tu clicca sur \"$1\" de novo, le modification essera publicate sin summario.", "selfredirect": "Attention: Tu redirige iste pagina verso se mesme.\nTu pote haber specificate le mal destination pro le redirection, o tu modifica forsan le mal pagina.\nSi tu clicca sur \"$1\" de novo, le redirection essera create in despecto de isto.", - "missingcommenttext": "Per favor entra un commento infra.", + "missingcommenttext": "Per favor entra un commento.", "missingcommentheader": "Rememoration: Tu non ha fornite un subjecto pro iste commento.\nSi tu clicca super \"$1\" de novo, le modification essera publicate sin subjecto.", "summary-preview": "Previsualisation del summario de modification:", "subject-preview": "Previsualisation del subjecto:", @@ -1011,7 +1011,7 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Oceano Indian", "timezoneregion-pacific": "Oceano Pacific", - "allowemail": "Activar reception de e-mail de altere usatores", + "allowemail": "Permitter que altere usatores me invia e-mail", "email-blacklist-label": "Prohibir a iste usatores de inviar me e-mail:", "prefs-searchoptions": "Recerca", "prefs-namespaces": "Spatios de nomines", @@ -1292,7 +1292,7 @@ "recentchanges-submit": "Monstrar", "rcfilters-tag-remove": "Remover '$1'", "rcfilters-legend-heading": "Lista de abbreviationes:", - "rcfilters-other-review-tools": "Altere instrumentos de revision", + "rcfilters-other-review-tools": "Altere instrumentos de revision", "rcfilters-group-results-by-page": "Gruppar resultatos per pagina", "rcfilters-grouping-title": "Gruppamento", "rcfilters-activefilters": "Filtros active", @@ -1305,7 +1305,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hora|horas}}", "rcfilters-highlighted-filters-list": "Mittite in evidentia: $1", "rcfilters-quickfilters": "Filtros salveguardate", - "rcfilters-quickfilters-placeholder-title": "Nulle ligamine salveguardate ancora", + "rcfilters-quickfilters-placeholder-title": "Nulle filtro salveguardate ancora", "rcfilters-quickfilters-placeholder-description": "Pro salveguardar tu filtros pro uso posterior, clicca sur le icone marcapaginas in le area Filtro Active hic infra.", "rcfilters-savedqueries-defaultlabel": "Filtros salveguardate", "rcfilters-savedqueries-rename": "Renominar", @@ -1345,7 +1345,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Non registrate", "rcfilters-filter-user-experience-level-unregistered-description": "Redactores que non ha aperite session.", "rcfilters-filter-user-experience-level-newcomer-label": "Novicios", - "rcfilters-filter-user-experience-level-newcomer-description": "Redactores registrate con minus de 10 modificationes e 4 dies de activitate.", + "rcfilters-filter-user-experience-level-newcomer-description": "Redactores registrate que ha minus de 10 modificationes o 4 dies de activitate.", "rcfilters-filter-user-experience-level-learner-label": "Apprentisses", "rcfilters-filter-user-experience-level-learner-description": "Redactores registrate con experientia inter \"Novicios\" e \"Usatores con experientia\".", "rcfilters-filter-user-experience-level-experienced-label": "Usatores con experientia", @@ -1403,6 +1403,7 @@ "rcfilters-view-namespaces-tooltip": "Filtrar le resultatos per spatio de nomines", "rcfilters-view-tags-tooltip": "Filtrar le resultatos usante etiquettas de version", "rcfilters-view-return-to-default-tooltip": "Retornar al menu principal de filtros", + "rcfilters-view-tags-help-icon-tooltip": "Leger plus sur le modification con etiquettas", "rcfilters-liveupdates-button": "Fluxo continue", "rcfilters-liveupdates-button-title-on": "Disactivar actualisation in directo", "rcfilters-liveupdates-button-title-off": "Monstrar cambiamentos in tempore real", @@ -1539,7 +1540,7 @@ "uploaded-script-svg": "Un elemento de script \"$1\" se trova in le file SVG incargate.", "uploaded-hostile-svg": "Certe codice CSS insecur se trova in le elemento de stilo del file SVG incargate.", "uploaded-event-handler-on-svg": "Fixar attributos de gestion de eventos $1=\"$2\" non es permittite in files SVG.", - "uploaded-href-attribute-svg": "Le attributos href in files SVG pote solmente ligar a adresses http:// o https://, ma un adresse <$1 $2=\"$3\"> ha essite trovate.", + "uploaded-href-attribute-svg": "Le elementos
    in files SVG pote solmente ligar (href) a datos: files incastrate, adresses http:// o https:// o marcatores de fragmento (#, same-document). Pro altere elementos, solmente data: e fragmentos es permittite. Essaya a incastrar imagines quando tu exporta tu SVG. Trovate: <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "Un href a datos non secur: le URI <$1 $2=\"$3\"> se trova in le file SVG incargate.", "uploaded-animate-svg": "Un etiqueta \"animate\" que poterea cambiar le href, usante le attributo \"from\" <$1 $2=\"$3\">, se trova in le file SVG incargate.", "uploaded-setting-event-handler-svg": "Fixar le attributos de gestion de eventos non es permittite, ma le codice <$1 $2=\"$3\"> se trova in le file SVG incargate.", @@ -2449,6 +2450,8 @@ "ipb_blocked_as_range": "Error: Le IP $1 non es blocate directemente e non pote esser disblocate.\nIllo es, nonobstante, blocate como parte del intervallo $2, le qual pote esser disblocate.", "ip_range_invalid": "Intervallo de adresses IP invalide.", "ip_range_toolarge": "Non es permittite blocar un gamma de adresses IP plus grande que /$1.", + "ip_range_exceeded": "Le rango IP excede le rango maxime. Le rango permittite es: /$1.", + "ip_range_toolow": "Le rangos IP ha essite effectivemente disactivate.", "proxyblocker": "Blocator de proxy", "proxyblockreason": "Tu adresse IP ha essite blocate proque illo es un proxy aperte.\nPer favor contacta tu providitor de servicio internet o supporto technic e informa les de iste problema grave de securitate.", "sorbsreason": "Tu adresse IP es listate como proxy aperte in le DNSBL usate per {{SITENAME}}.", diff --git a/languages/i18n/id.json b/languages/i18n/id.json index 439edb69a5..1971cb112a 100644 --- a/languages/i18n/id.json +++ b/languages/i18n/id.json @@ -55,7 +55,8 @@ "MF-Warburg", "Rachmat04", "Arifpedia", - "Uchup19" + "Uchup19", + "Archd" ] }, "tog-underline": "Garis bawahi pranala:", @@ -106,7 +107,6 @@ "underline-never": "Tidak pernah", "underline-default": "Kulit atau penjelajah bawaan", "editfont-style": "Gaya tulisan komputer pada kotak penyuntingan:", - "editfont-default": "Bawaan penjelajah web", "editfont-monospace": "Tulisan Monospace", "editfont-sansserif": "Tulisan Sans-serif", "editfont-serif": "Tulisan Serif", @@ -668,7 +668,7 @@ "anonpreviewwarning": "''Anda belum masuk log. Menyimpan halaman akan menyebabkan alamat IP Anda tercatat pada riwayat suntingan laman ini.''", "missingsummary": "'''Peringatan:''' Anda tidak memasukkan ringkasan penyuntingan. Jika Anda kembali menekan tombol Simpan, suntingan Anda akan disimpan tanpa ringkasan penyuntingan.", "selfredirect": "Peringatan: Anda mengalihkan halaman ini kembali ke halaman semula.\nAnda bisa jadi telah memberikan tujuan pengalihan yang salah, atau telah menyunting halaman yang salah.\nJika Anda mengeklik \"$1\" sekali lagi, halaman pengalihan akan dibuat.", - "missingcommenttext": "Harap masukkan komentar di bawah ini.", + "missingcommenttext": "Tolong masukkan komentar.", "missingcommentheader": "'''Peringatan:''' Anda belum memberikan subjek atau judul untuk komentar Anda. Jika Anda kembali menekan \"$1\", suntingan Anda akan disimpan tanpa komentar tersebut.", "summary-preview": "Pratayang ringkasan suntingan:", "subject-preview": "Pratayang subjek:", @@ -721,8 +721,8 @@ "explainconflict": "Orang lain telah menyunting halaman ini sejak Anda mulai menyuntingnya.\nBagian atas teks ini mengandung teks halaman saat ini.\nPerubahan yang Anda lakukan ditunjukkan pada bagian bawah teks.\nAnda hanya perlu menggabungkan perubahan Anda dengan teks yang telah ada.\n'''Hanya''' teks pada bagian atas halamanlah yang akan disimpan apabila Anda menekan \"$1\".", "yourtext": "Teks Anda", "storedversion": "Versi tersimpan", - "nonunicodebrowser": "'''Peringatan: Penjelajah web Anda tidak mendukung unicode.'''\nTelah terdapat sebuah solusi agar Anda dapat menyunting halaman dengan aman: karakter non-ASCII akan muncul dalam kotak edit sebagai kode heksadesimal.", "editingold": "'''Peringatan:\nAnda menyunting revisi lama suatu halaman.\nJika Anda menyimpannya, perubahan-perubahan yang dibuat sejak revisi ini akan hilang.'''", + "unicode-support-fail": "Tampaknya peramban Anda tidak mendukung Unicode, yang menjadi syarat penyuntingan halaman. Jadi suntingan Anda tidak disimpan.", "yourdiff": "Perbedaan", "copyrightwarning": "Perhatikan bahwa semua kontribusi terhadap {{SITENAME}} dianggap dilisensikan sesuai dengan $2 (lihat $1 untuk informasi lebih lanjut). Jika Anda tidak ingin tulisan Anda disunting dan disebarkan ke halaman web yang lain, jangan kirimkan ke sini.
    Anda juga berjanji bahwa ini adalah hasil karya Anda sendiri, atau disalin dari sumber milik umum atau sumber bebas yang lain. '''JANGAN KIRIMKAN KARYA YANG DILINDUNGI HAK CIPTA TANPA IZIN!'''", "copyrightwarning2": "Perhatikan bahwa semua kontribusi terhadap {{SITENAME}} dapat disunting, diubah, atau dihapus oleh penyumbang lainnya. Jika Anda tidak ingin tulisan Anda disunting orang lain, jangan kirimkan ke sini.
    Anda juga berjanji bahwa ini adalah hasil karya Anda sendiri, atau disalin dari sumber milik umum atau sumber bebas yang lain (lihat $1 untuk informasi lebih lanjut). '''JANGAN KIRIMKAN KARYA YANG DILINDUNGI HAK CIPTA TANPA IZIN!'''", @@ -790,6 +790,7 @@ "parser-template-loop-warning": "Hubungan berulang templat terdeteksi: [[$1]]", "template-loop-category": "Halaman dengan templat berulang", "template-loop-category-desc": "Halaman ini mengandung templat melingkar, yaitu templat yang memanggil dirinya sendiri secara bolak-balik.", + "template-loop-warning": "Peringatan: Halaman ini memanggil [[:$1]] yang menyebabkan template loop (panggilan rekursif tak hingga).", "parser-template-recursion-depth-warning": "Limit kedalaman hubungan berulang templat terlampaui ($1)", "language-converter-depth-warning": "Batas kedalaman pengonversi bahasa terlampaui ($1)", "node-count-exceeded-category": "Halaman dimana hitungan-node terlampaui", @@ -1059,7 +1060,8 @@ "timezoneregion-europe": "Eropa", "timezoneregion-indian": "Samudera Hindia", "timezoneregion-pacific": "Samudera Pasifik", - "allowemail": "Izinkan pengguna lain mengirim surel", + "allowemail": "Izinkan pengguna lain mengirim surel kepada saya", + "email-blacklist-label": "Cegah para pengguna ini mengirim saya surel:", "prefs-searchoptions": "Cari", "prefs-namespaces": "Ruang nama", "default": "baku", @@ -1339,8 +1341,9 @@ "recentchanges-legend-heading": "Keterangan:", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (lihat pula [[Special:NewPages|daftar halaman baru]])", "recentchanges-submit": "Tampilkan", + "rcfilters-tag-remove": "Hapus '$1'", "rcfilters-legend-heading": "Daftar singkatan:", - "rcfilters-other-review-tools": "Peralatan peninjauan lainnya", + "rcfilters-other-review-tools": "Peralatan peninjauan lainnya", "rcfilters-group-results-by-page": "Kelompokkan hasil menurut halaman", "rcfilters-grouping-title": "Kelompokkan", "rcfilters-activefilters": "Filter aktif", @@ -1351,8 +1354,9 @@ "rcfilters-hours-title": "Jam-jam terakhir", "rcfilters-days-show-days": "$1 {{PLURAL:$1|hari|hari}}", "rcfilters-days-show-hours": "$1 {{PLURAL:$1|jam|jam}}", + "rcfilters-highlighted-filters-list": "Disorot: $1", "rcfilters-quickfilters": "Saringan tersimpan", - "rcfilters-quickfilters-placeholder-title": "Tidak ada pranala tersimpan sekarang", + "rcfilters-quickfilters-placeholder-title": "Tidak ada penyaring yang disimpan", "rcfilters-quickfilters-placeholder-description": "Untuk menyimpan pengaturan saringan dan menggunakannya kembali, klik ikon penanda halaman di area Penyaringan Aktif, di bawah.", "rcfilters-savedqueries-defaultlabel": "Saringan tersimpan", "rcfilters-savedqueries-rename": "Ubah nama", @@ -1368,12 +1372,12 @@ "rcfilters-restore-default-filters": "Kembalikan filter bawaan", "rcfilters-clear-all-filters": "Hapus semua penyaringan", "rcfilters-show-new-changes": "Tampilkan perubahan terbaru", - "rcfilters-search-placeholder": "Filter perubahan terbaru (jelajahi atau masukan input)", + "rcfilters-search-placeholder": "Filter perubahan terbaru (jelajahi atau masukkan input)", "rcfilters-invalid-filter": "Penyqringan tidak sah", "rcfilters-empty-filter": "Tidak ada filter aktif. Semua kontribusi ditampilkan.", "rcfilters-filterlist-title": "Penyaringan", "rcfilters-filterlist-whatsthis": "Bagaimana hal ini bekerja?", - "rcfilters-filterlist-feedbacklink": "Berikan umpan balik untuk filter uji coba baru", + "rcfilters-filterlist-feedbacklink": "Berikan umpan balik untuk alat-alat filter (baru) ini", "rcfilters-highlightbutton-title": "Sorot hasil", "rcfilters-highlightmenu-title": "Pilih warna", "rcfilters-highlightmenu-help": "Pilihlah warna untuk menyorot atribut ini", @@ -1440,15 +1444,19 @@ "rcfilters-filter-previousrevision-description": "Semua perubahan yang bukan merupakan \"revisi terbaru\".", "rcfilters-filter-excluded": "Tidak termasuk", "rcfilters-tag-prefix-namespace-inverted": ":bukan $1", + "rcfilters-exclude-button-off": "Kecuali yang terpilih", + "rcfilters-exclude-button-on": "Kecuali yang terpilih", "rcfilters-view-advanced-filters-label": "Penyaringan lebih lanjut", "rcfilters-view-tags": "Suntingan ditandai", "rcfilters-view-namespaces-tooltip": "Saring hasil menurut ruangnama", "rcfilters-view-tags-tooltip": "Saring hasil menggunakan tag penyuntingan", "rcfilters-view-return-to-default-tooltip": "Kembali ke menu penyaringan utama", + "rcfilters-view-tags-help-icon-tooltip": "Pelajari lebih lanjut tentang suntinggan dengan TAG", "rcfilters-liveupdates-button": "Perubahan langsung", "rcfilters-liveupdates-button-title-on": "Matikan perubahan langsung", "rcfilters-liveupdates-button-title-off": "Tampilkan perubahan baru ketika perubahan tersebut terjadi", "rcfilters-watchlist-markseen-button": "Tandai semua perubahan sebagai terlihat", + "rcfilters-watchlist-edit-watchlist-button": "Sunting daftar pantauan Anda", "rcnotefrom": "Di bawah ini adalah {{PLURAL:$5|perubahan}} sejak $3, $4 (ditampilkan sampai $1 perubahan).", "rclistfromreset": "Atur ulang pilihan tanggal", "rclistfrom": "Perlihatkan perubahan terbaru sejak $3 $2", @@ -1725,7 +1733,7 @@ "listfiles_size": "Ukuran", "listfiles_description": "Deskripsi", "listfiles_count": "Versi", - "listfiles-show-all": "Termasuk versi lama gambar", + "listfiles-show-all": "Masukkan versi lama berkas", "listfiles-latestversion": "Versi terkini", "listfiles-latestversion-yes": "Ya", "listfiles-latestversion-no": "Tidak", @@ -2384,7 +2392,6 @@ "block": "Blokir pengguna", "unblock": "Buka blokir pengguna", "blockip": "Blokir {{GENDER:$1|pengguna}}", - "blockip-legend": "Blokir pengguna", "blockiptext": "Gunakan formulir di bawah untuk memblokir akses penulisan dari sebuah alamat IP atau pengguna tertentu.\nIni hanya boleh dilakukan untuk mencegah vandalisme, dan sejalan dengan [[{{MediaWiki:Policy-url}}|kebijakan]].\nMasukkan alasan Anda di bawah (contoh, menuliskan nama halaman yang telah divandalisasi).\nAnda dapat memblok rentang IP menggunakan [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR] syntax; the largest allowed range is /$1 for IPv4 and /$2 for IPv6.", "ipaddressorusername": "Alamat IP atau nama pengguna:", "ipbexpiry": "Kedaluwarsa:", @@ -2556,7 +2563,7 @@ "delete_and_move_text": "Halaman yang dituju, \"[[:$1]]\", telah berisi.\nApakah Anda ingin menghapusnya untuk memberikan ruang bagi pemindahan?", "delete_and_move_confirm": "Ya, hapus halaman tersebut", "delete_and_move_reason": "Dihapus untuk mengantisipasikan pemindahan halaman dari \"[[$1]]\"", - "selfmove": "Pemindahan halaman tidak dapat dilakukan karena judul sumber dan judul tujuan sama.", + "selfmove": "Tidak dapat memindahkan halaman, karena judul sumber dan judul tujuan sama.", "immobile-source-namespace": "Tidak dapat memindahkan halaman dalam ruang nama \"$1\"", "immobile-target-namespace": "Tidak dapat memindahkan halaman ke ruang nama \"$1\"", "immobile-target-namespace-iw": "Pranala interwiki bukanlah target yang valid untuk pemindahan halaman.", diff --git a/languages/i18n/ilo.json b/languages/i18n/ilo.json index 293138ffdd..f444927937 100644 --- a/languages/i18n/ilo.json +++ b/languages/i18n/ilo.json @@ -59,7 +59,6 @@ "underline-never": "Saan uray kaanoman", "underline-default": "Kudil wenno kasisigud a pagbasabasa", "editfont-style": "Estilo ti kita ti letra ti pagurnosan a lugar:", - "editfont-default": "Kasisigud a pagbasabasa", "editfont-monospace": "Monospaced a kita ti letra", "editfont-sansserif": "Sans-serif a kita ti letra", "editfont-serif": "Serif a kita ti letra", @@ -661,7 +660,6 @@ "explainconflict": "Adda sabali a nagsukat iti daytoy a panid idi nangrugika a nagurnos.\nTi akinngato a lugar ti teksto ket aglaon ti teksto ti panid iti agdama kaaddana.\nDagiti sinukatam ket maipakita iti akinbaba a lugar ti teksto.\nNasken nga itiponmonto dagiti sinukatam iti adda a teksto.\nTi laeng teksto iti akinngato a lugar ti teksto ti maidulinto no talmegam ti \"$1\".", "yourtext": "Ti tekstom", "storedversion": "Rebision a naidulin", - "nonunicodebrowser": "Ballaag: Ti pabasabasam ket saan a maitunos iti Unicode .\nAdda sabali a mausar tapno makaurnoska kadagiti panid: Ti saan nga-ASCII a karakter ket agparang iti pagurnosan a kahon a kas dagiti heksadesimal a kodigo.", "editingold": "Ballag: Ur-urnosem ti daan a rebision iti daytoy a panid.\nNo idulinmo, mapukawto ti ania man a naaramid a binaliwan manipud iti daytoy a rebision.", "yourdiff": "Paggigiddiatan", "copyrightwarning": "Pangngaasi a laglagipen nga amin a kontribusion iti {{SITENAME}} ket naikeddeng a naipablaak babaen ti babaen ti $2 (kitaen ti $1 para kadagiti salaysay). \nNo dimo kayat a ti sinuratmo ket maurnos nga awanan-asi ken maiwaras nga awan sungsungbatan kenka, saanmon nga ited ditoy.
    \nIkarkarim pay kadakami a bukodmo a sinurat daytoy, wenno kinopia manipud iti publiko a dominio wenno ti kapadpadana a nawaya a nagtaudan.\nSaan a mangited ti nakarbengan ti kopia nga obra no awan iti pammalubos!", @@ -1272,7 +1270,7 @@ "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (kitaen pay ti [[Special:NewPages|listaan ti baro a pampanid]])", "recentchanges-submit": "Ipakita", "rcfilters-legend-heading": "Listaan dagiti pangyababaan:", - "rcfilters-other-review-tools": "Dagiti sabali pay a pangrepaso a ramit", + "rcfilters-other-review-tools": "Dagiti sabali pay a pangrepaso a ramit", "rcfilters-group-results-by-page": "Igrupo dagiti resulta babaen ti panid", "rcfilters-grouping-title": "Pannakaigrupo", "rcfilters-activefilters": "Dagiti aktibo a sagat", @@ -1375,7 +1373,7 @@ "rcfilters-liveupdates-button": "Dagiti agdama a panagpabaro", "rcfilters-liveupdates-button-title-on": "Iddepen dagiti agdama a panagpabaro", "rcfilters-liveupdates-button-title-off": "Ipakita dgaiti baro a sinuksukatan bayatda a mapaspasamak", - "rcfilters-watchlist-markSeen-button": "Markaan amin a sinuksukatan a kas nakitan", + "rcfilters-watchlist-markseen-button": "Markaan amin a sinuksukatan a kas nakitan", "rcnotefrom": "Dita baba ket {{PLURAL:$5|ti sinukatan|dagiti sinukatan}} manipud idi $3, $4 (aginggana iti $1 a naipakita).", "rclistfromreset": "Isaad manen ti panagpili ti petsa", "rclistfrom": "Ipakita dagiti kabarbaro a sinukatan a mangrugi manipud idi $2, $3", @@ -2305,7 +2303,6 @@ "block": "Serraan ti agar-aramat", "unblock": "Ikkaten ti serra ti agar-aramat", "blockip": "Serraan ti {{GENDER:$1|agar-aramat}}", - "blockip-legend": "Serraan ti agar-aramat", "blockiptext": "Usaren ti porma dita baba tapno maserraan ti panagserrek ti panagsurat manipud iti naisangayan nga adres ti IP wenno nagan ti agar-aramat.\nDaytoy ket nasken laeng a maaramid tapno mapawilan ti bandalismo, ken segun iti [[{{MediaWiki:Policy-url}}|annuroten]].\nIkabil ti naisangayan a rason dita baba (kas pagarigan, ti panagdakamat kadagiti naisangayan a panid a nabandalismo).\nMabalinmo a serraan dagiti sakup ti adres ti IP babaen ti panagusar ti sintaksis ti [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]; ti kadakkelan a maipalubos a sakup ket /$1 para iti IPv4 ken /$2 para iti IPv6.", "ipaddressorusername": "Adres ti IP wenno nagan ti agar-aramat:", "ipbexpiry": "Agpaso:", diff --git a/languages/i18n/it.json b/languages/i18n/it.json index 8d3816ecbd..888d004b66 100644 --- a/languages/i18n/it.json +++ b/languages/i18n/it.json @@ -717,7 +717,7 @@ "anonpreviewwarning": "Non hai effettuato l'accesso. Salvando, il tuo indirizzo IP sarà registrato nella cronologia della pagina.", "missingsummary": "Attenzione: non è stato specificato l'oggetto di questa modifica. Premendo di nuovo \"$1\" la modifica verrà salvata senza.", "selfredirect": "Attenzione: stai reindirizzando questa pagina a se stessa.\nPotresti aver indicato la destinazione errata per il redirect, o stai modificando la pagina sbagliata.\nSe fai clic nuovamente su \"$1\", il redirect sarà creato comunque.", - "missingcommenttext": "Inserire un commento qui sotto.", + "missingcommenttext": "Inserisci un commento.", "missingcommentheader": "Attenzione: non è stato specificato l'oggetto di questo commento. Premendo di nuovo \"$1\" la modifica verrà salvata senza.", "summary-preview": "Anteprima dell'oggetto della modifica:", "subject-preview": "Anteprima dell'oggetto:", @@ -1105,7 +1105,7 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Oceano Indiano", "timezoneregion-pacific": "Oceano Pacifico", - "allowemail": "Abilita la ricezione di messaggi email da altri utenti", + "allowemail": "Consenti ad altri utenti di inviarmi email", "email-blacklist-label": "Impedisci a questi utenti di inviarmi email:", "prefs-searchoptions": "Ricerca", "prefs-namespaces": "Namespace", @@ -1386,7 +1386,7 @@ "recentchanges-submit": "Mostra", "rcfilters-tag-remove": "Rimuovi '$1'", "rcfilters-legend-heading": "Elenco di abbreviazioni:", - "rcfilters-other-review-tools": "Altri strumenti di revisione", + "rcfilters-other-review-tools": "Altri strumenti di revisione", "rcfilters-group-results-by-page": "Raggruppa risultati per pagina", "rcfilters-grouping-title": "Raggruppamento", "rcfilters-activefilters": "Filtri attivi", @@ -1399,7 +1399,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|ora|ore}}", "rcfilters-highlighted-filters-list": "Evidenziato: $1", "rcfilters-quickfilters": "Filtri salvati", - "rcfilters-quickfilters-placeholder-title": "Nessun collegamento salvato ancora", + "rcfilters-quickfilters-placeholder-title": "Nessun filtro salvato ancora", "rcfilters-quickfilters-placeholder-description": "Per salvare le impostazioni del tuo filtro e riutilizzarle dopo, clicca l'icona segnalibro nell'area \"Filtri attivi\" qui sotto", "rcfilters-savedqueries-defaultlabel": "Filtri salvati", "rcfilters-savedqueries-rename": "Rinomina", @@ -1439,7 +1439,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Non registrato", "rcfilters-filter-user-experience-level-unregistered-description": "Contributori che non hanno effettuato l'accesso.", "rcfilters-filter-user-experience-level-newcomer-label": "Nuovi utenti", - "rcfilters-filter-user-experience-level-newcomer-description": "Utenti registrati con meno di 10 modifiche e 4 giorni di attività.", + "rcfilters-filter-user-experience-level-newcomer-description": "Utenti registrati che hanno fatto meno di 10 modifiche o 4 giorni di attività.", "rcfilters-filter-user-experience-level-learner-label": "Principianti", "rcfilters-filter-user-experience-level-learner-description": "Utenti registrati il cui livello di esperienza è compreso tra \"Nuovi arrivati\" e \"Utenti esperti\".", "rcfilters-filter-user-experience-level-experienced-label": "Utenti con esperienza", @@ -1632,7 +1632,7 @@ "uploaded-script-svg": "Trovato elemento di script \"$1\" nel file caricato in formato SVG.", "uploaded-hostile-svg": "Trovato CSS non sicuro nell'elemento di stile del file in formato SVG caricato.", "uploaded-event-handler-on-svg": "Impostazione gestione eventi ed attributi $1=\"$2\" non è consentito in file SGV", - "uploaded-href-attribute-svg": "attributi href in file SVG sono consentiti collegamenti solo verso destinazioni http:// o https://, trovato <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": "
    elementi possono solo collegare (href) a data: (file incorporato), http:// o https://, o destinazioni fragment (#, stesso documento). Per altri elementi, come , solo data: e fragment sono consentiti. Prova ad incorporare le immagini quando esporti il tuo SVG. Trovato <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "Trovati href a dati non sicuri: destinazione URI <$1 $2=\"$3\"> caricato nel file SVG", "uploaded-animate-svg": "Trovato il tag \"animate\" che potrebbe cambiare href, usando l'attributo \"from\" <$1 $2=\"$3\"> nel file SVG caricato.", "uploaded-setting-event-handler-svg": "La configurazione di attributi per il gestore di eventi è bloccata, trovato <$1 $2=\"$3\"> nel file SVG caricato.", @@ -3820,7 +3820,7 @@ "mediastatistics-header-audio": "Audio", "mediastatistics-header-video": "Video", "mediastatistics-header-multimedia": "Contenuti multimediali", - "mediastatistics-header-office": "Ufficio", + "mediastatistics-header-office": "Documenti", "mediastatistics-header-text": "Testuali", "mediastatistics-header-executable": "File eseguibili", "mediastatistics-header-archive": "Formati compressi", diff --git a/languages/i18n/ja.json b/languages/i18n/ja.json index ade5a167cb..8832651f5b 100644 --- a/languages/i18n/ja.json +++ b/languages/i18n/ja.json @@ -85,7 +85,8 @@ "Thibaut120094", "Translatealcd", "Delim", - "Hinaloe" + "Hinaloe", + "Phantomize" ] }, "tog-underline": "リンクの下線:", @@ -522,7 +523,7 @@ "nocookieslogin": "{{SITENAME}}ではログインに Cookie を使用します。\nCookie を無効にしているようです。\nCookie を有効にしてから、もう一度試してください。", "nocookiesfornew": "発信元を確認できなかったため、アカウントは作成されませんでした。\nCookieを有効にしていることを確認して、このページを再読込してもう一度試してください。", "nocookiesforlogin": "{{int:nocookieslogin}}", - "createacct-loginerror": "アカウントは正常に作成されましたが、自動的にログインすることができませんでした。[[Special:UserLogin|手動でログイン]]をしてください。", + "createacct-loginerror": "アカウントは作成されましたが、自動的にログインできませんでした。[[Special:UserLogin|手動でログイン]]をしてください。", "noname": "有効な利用者名が指定されていません。", "loginsuccesstitle": "ログイン済み", "loginsuccess": "{{SITENAME}}に「$1」としてログインしました。", @@ -644,7 +645,7 @@ "passwordreset-nosuchcaller": "送信者が存在しません: $1", "passwordreset-ignored": "パスワードのリセットが処理されませんでした。プロバイダーが設定されていない可能性があります。", "passwordreset-invalidemail": "無効なメールアドレスです", - "passwordreset-nodata": "利用者名もメールアドレスも入力されていません", + "passwordreset-nodata": "利用者名とメールアドレスが入力されていません", "changeemail": "メールアドレスの変更または除去", "changeemail-header": "あなたのメールアドレスを変更するには、このフォームを完成させます。もし、あなたのアカウントから任意のメールアドレスの関連付けを削除したい場合は、フォームの送信時に、新しいメールアドレスを空白のままにします。", "changeemail-no-info": "このページに直接アクセスするためにはログインしている必要があります。", @@ -1325,7 +1326,7 @@ "action-deleterevision": "版の削除", "action-deletelogentry": "記録項目の削除", "action-deletedhistory": "ページの削除履歴の閲覧", - "action-deletedtext": "削除された版の本文を閲覧する", + "action-deletedtext": "削除された版の本文の閲覧", "action-browsearchive": "削除されたページの検索", "action-undelete": "ページの復元", "action-suppressrevision": "隠された版の確認と復元", @@ -1425,7 +1426,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "未登録", "rcfilters-filter-user-experience-level-unregistered-description": "ログインしていない利用者。", "rcfilters-filter-user-experience-level-newcomer-label": "新規利用者", - "rcfilters-filter-user-experience-level-newcomer-description": "登録から4日以内、かつ10編集以下の利用者", + "rcfilters-filter-user-experience-level-newcomer-description": "登録から4日以内、または編集回数が10回以下の利用者", "rcfilters-filter-user-experience-level-learner-label": "初学者", "rcfilters-filter-user-experience-level-learner-description": "「新規利用者」よりも編集経験があり、「経験者」より編集経験が少ない利用者", "rcfilters-filter-user-experience-level-experienced-label": "経験者", @@ -1475,7 +1476,7 @@ "rcfilters-exclude-button-on": "選択済みを除外中", "rcfilters-view-advanced-filters-label": "詳細フィルター", "rcfilters-view-tags": "タグ付けされた編集", - "rcfilters-view-namespaces-tooltip": "名前空間別のフィルター結果", + "rcfilters-view-namespaces-tooltip": "名前空間で絞り込む", "rcfilters-view-tags-tooltip": "編集タグを利用した絞込み", "rcfilters-view-return-to-default-tooltip": "メインフィルターメニューに戻る", "rcfilters-view-tags-help-icon-tooltip": "タグ付けされた編集とは", @@ -2211,7 +2212,7 @@ "deletepage": "ページを削除", "confirm": "確認", "excontent": "内容:「$1」", - "excontentauthor": "内容:「$1」、投稿者は「[[Special:Contributions/$2|$2]]」のみ ([[User talk:$2|talk]])", + "excontentauthor": "内容:「$1」、投稿者は「[[Special:Contributions/$2|$2]]」のみ ([[User talk:$2|トーク]])", "exbeforeblank": "白紙化前の内容:「$1」", "delete-confirm": "「$1」の削除", "delete-legend": "削除", @@ -2593,7 +2594,7 @@ "delete_and_move_text": "移動先「[[:$1]]」は既に存在します。\n移動のためにこのページを削除しますか?", "delete_and_move_confirm": "はい、ページを削除します", "delete_and_move_reason": "「[[$1]]」からの移動に伴う削除", - "selfmove": "移動元と移動先のページ名が同じです。\n自分自身には移動できません。", + "selfmove": "ページ名が同じです。\n自分自身には移動できません。", "immobile-source-namespace": "「$1」名前空間のページは移動できません", "immobile-target-namespace": "「$1」名前空間にはページを移動できません", "immobile-target-namespace-iw": "ウィキ間リンクは、ページの移動先には指定できません。", @@ -2716,7 +2717,7 @@ "tooltip-pt-mycontris": "自分の投稿の一覧", "tooltip-pt-anoncontribs": "このIPアドレスからなされた編集の一覧", "tooltip-pt-login": "ログインすることを推奨します。ただし、必須ではありません。", - "tooltip-pt-login-private": "このウィキを利用するにはログインする必要があります", + "tooltip-pt-login-private": "このウィキを利用するにはログインをしてください", "tooltip-pt-logout": "ログアウト", "tooltip-pt-createaccount": "アカウントを作成してログインすることをお勧めしますが、必須ではありません", "tooltip-ca-talk": "本文ページについての議論", @@ -2923,14 +2924,15 @@ "newimages-newbies": "新規利用者の投稿のみ表示", "newimages-showbots": "ボットによるアップロードを表示", "newimages-hidepatrolled": "巡回済みのアップロードを隠す", + "newimages-mediatype": "メディアの種類:", "noimages": "表示できるものがありません。", "gallery-slideshow-toggle": "トグルサムネイル", "ilsubmit": "検索", "bydate": "日付順", "sp-newimages-showfrom": "$1の$2以降の新しいファイルを表示", "video-dims": "$1、 $2 × $3", - "seconds-abbrev": "$1 s", - "minutes-abbrev": "$1 m", + "seconds-abbrev": "$1秒", + "minutes-abbrev": "$1分", "hours-abbrev": "$1 h", "days-abbrev": "$1 d", "seconds": "{{PLURAL:$1|$1 秒}}", @@ -2941,7 +2943,7 @@ "months": "{{PLURAL:$1|$1 か月}}", "years": "{{PLURAL:$1|$1 年}}", "ago": "$1前", - "just-now": "ちょうど今", + "just-now": "たった今", "hours-ago": "$1 {{PLURAL:$1|時間}}前", "minutes-ago": "$1 {{PLURAL:$1|分}}前", "seconds-ago": "$1 {{PLURAL:$1|秒}}前", @@ -2988,9 +2990,9 @@ "variantname-shi-tfng": "シルハ語 (ティフィナグ文字)", "variantname-shi-latn": "シルハ語 (ラテン文字)", "variantname-shi": "シルハ語", - "variantname-uz": "uz", - "variantname-uz-latn": "uz-Latn", - "variantname-uz-cyrl": "uz-Cyrl", + "variantname-uz": "ウズベク語", + "variantname-uz-latn": "ウズベク語 (ラテン文字)", + "variantname-uz-cyrl": "ウズベク語 (キリル文字)", "metadata": "メタデータ", "metadata-help": "このファイルには、追加情報があります (おそらく、作成やデジタル化する際に使用したデジタルカメラやスキャナーが追加したものです)。\nこのファイルが元の状態から変更されている場合、修正されたファイルを完全に反映していない項目がある場合があります。", "metadata-expand": "拡張項目を表示", @@ -3406,7 +3408,7 @@ "confirmrecreate-noreason": "あなたが編集を開始した後、[[User:$1|$1]] ([[User talk:$1|トーク]]) がこのページを{{GENDER:$1|削除しました}}。このページを本当に再作成していいかご確認ください。", "recreate": "再作成する", "unit-pixel": "ピクセル", - "confirm-purge-title": "このページをパージする", + "confirm-purge-title": "このページのキャッシュ破棄", "confirm_purge_button": "OK", "confirm-purge-top": "このページのキャッシュを破棄しますか?", "confirm-purge-bottom": "ページのキャッシュを破棄し、強制的に最新版を表示します。", @@ -3798,8 +3800,8 @@ "logentry-delete-delete_redir": "$1 がリダイレクト「$3」を上書きにより{{GENDER:$2|削除しました}}", "logentry-delete-restore": "$1 がページ「$3 ($4)」を{{GENDER:$2|復元しました}}", "logentry-delete-restore-nocount": "$1 がページ「$3」を{{GENDER:$2|復元しました}}", - "restore-count-revisions": "$1{{PLURAL:$1|版}}", - "restore-count-files": "{{PLURAL:$1|$1ファイル}}", + "restore-count-revisions": "{{PLURAL:$1|1|$1}}件の版", + "restore-count-files": "{{PLURAL:$1|$1件のファイル}}", "logentry-delete-event": "$1 が $3 の{{PLURAL:$5|記録項目|記録項目$5件}}の閲覧レベルを{{GENDER:$2|変更しました}}: $4", "logentry-delete-revision": "$1 がページ「$3」の{{PLURAL:$5|版|$5件の版}}の閲覧レベルを{{GENDER:$2|変更しました}}: $4", "logentry-delete-event-legacy": "$1 が $3 の記録項目の閲覧レベルを{{GENDER:$2|変更しました}}", @@ -3947,8 +3949,8 @@ "pagelang-reason": "理由", "pagelang-submit": "変更", "pagelang-nonexistent-page": "ページ $1 は存在しません。", - "pagelang-unchanged-language": "ページ「$1」の言語は既に$2に設定されています。", - "pagelang-unchanged-language-default": "「$1」はすでにウィキの既定のコンテンツ言語に設定されています。", + "pagelang-unchanged-language": "ページ「$1」の言語はすでに$2に設定されています。", + "pagelang-unchanged-language-default": "ページ「$1」はすでにウィキの既定の言語に設定されています。", "pagelang-db-failed": "データベースがページの言語を変更できませんでした。", "right-pagelang": "ページの言語を変更", "action-pagelang": "ページの言語の変更", @@ -4029,8 +4031,8 @@ "date-range-to": "終了日:", "sessionmanager-tie": "複数の要求の認証方法を組み合わせることはできません: $1。", "sessionprovider-generic": "$1 セッション", - "sessionprovider-mediawiki-session-cookiesessionprovider": "クッキーベースのセッション", - "sessionprovider-nocookies": "クッキーが無効になっている可能性があります。クッキーが有効になっていることを確認し、もう一度お試しください。", + "sessionprovider-mediawiki-session-cookiesessionprovider": "Cookie ベースのセッション", + "sessionprovider-nocookies": "Cookie が無効になっている可能性があります。有効になっていることを確認し、もう一度お試しください。", "randomrootpage": "おまかせルートページ", "log-action-filter-block": "ブロックの種類", "log-action-filter-contentmodel": "コンテンツモデルの変更の種類", @@ -4051,7 +4053,7 @@ "log-action-filter-contentmodel-change": "コンテンツモデルの変更", "log-action-filter-contentmodel-new": "標準でないコンテンツ・モデルによるページの作成", "log-action-filter-delete-delete": "ページの削除", - "log-action-filter-delete-delete_redir": "リダイレクトを上書き", + "log-action-filter-delete-delete_redir": "転送の上書き", "log-action-filter-delete-restore": "ページの復帰", "log-action-filter-delete-event": "記録の削除", "log-action-filter-delete-revision": "版指定削除", @@ -4066,7 +4068,7 @@ "log-action-filter-newusers-create": "匿名利用者による作成", "log-action-filter-newusers-create2": "登録利用者による作成", "log-action-filter-newusers-autocreate": "自動的な作成", - "log-action-filter-newusers-byemail": "メールによるパスワード送信を伴う作成", + "log-action-filter-newusers-byemail": "メール送信されるパスワードによる作成", "log-action-filter-patrol-patrol": "手動巡回", "log-action-filter-patrol-autopatrol": "自動巡回", "log-action-filter-protect-protect": "保護", @@ -4099,7 +4101,7 @@ "authmanager-authplugin-create-fail": "アカウントの作成は、認証プラグインによって拒否されました。", "authmanager-authplugin-setpass-denied": "パスワードの変更は、認証プラグインによって許可されていません。", "authmanager-authplugin-setpass-bad-domain": "無効なドメインです。", - "authmanager-autocreate-noperm": "自動アカウント作成は許可されていません。", + "authmanager-autocreate-noperm": "アカウントの自動作成は許可されていません。", "authmanager-autocreate-exception": "自動アカウント作成は、以前のエラーにより一時的に無効になっています。", "authmanager-userdoesnotexist": "利用者アカウント「$1」は登録されていません。", "authmanager-userlogin-remembermypassword-help": "パスワードはセッションの長さよりも長いため、忘れないようにしてください。", @@ -4128,8 +4130,8 @@ "authform-newtoken": "トークンがありません。$1", "authform-notoken": "トークンがありません", "authform-wrongtoken": "不正なトークンです", - "specialpage-securitylevel-not-allowed-title": "許可されていません", - "specialpage-securitylevel-not-allowed": "申し訳ありませんが、あなたが同一人であるか確認できないため、このページを使用することはできません。", + "specialpage-securitylevel-not-allowed-title": "このページは利用できません", + "specialpage-securitylevel-not-allowed": "あなたが同一人であるか確認できないため、このページを利用することはできません。", "authpage-cannot-login": "ログインを開始できません。", "authpage-cannot-login-continue": "ログインを続行できません。セッションがタイムアウトした可能性が高いです。", "authpage-cannot-create": "アカウントの作成を開始できません。", diff --git a/languages/i18n/jv.json b/languages/i18n/jv.json index 20c87ab0c1..7cae851df2 100644 --- a/languages/i18n/jv.json +++ b/languages/i18n/jv.json @@ -245,7 +245,7 @@ "privacypage": "Project:Pranatan bab privasi", "badaccess": "Aksès ora olèh", "badaccess-group0": "Panjenengan ora pareng nglakokaké tindhakan sing panjenengan gayuh.", - "badaccess-groups": "Pratingkah panjenengan diwatesi tumrap panganggo ing {{PLURAL:$2|klompoké|klompoké}}: $1.", + "badaccess-groups": "Tumindak sing panjenengan péngini winates marang panganggo ing {{PLURAL:$2|golongan|golongan}}: $1.", "versionrequired": "Dibutuhaké MediaWiki vèrsi $1", "versionrequiredtext": "MediaWiki vèrsi $1 dibutuhaké kanggo nggunakaké kaca iki. Mangga mirsani [[Special:Version|kaca iki]]", "ok": "Oké", @@ -324,7 +324,7 @@ "filenotfound": "Ora bisa nemokaké berkas \"$1\".", "unexpected": "Biji (''nilai'') ing njabaning jangkauan: \"$1\"=\"$2\".", "formerror": "Masalah: Ora bisa ngirim formulir", - "badarticleerror": "Pratingkah iku ora bisa katindhakaké ing kaca iki.", + "badarticleerror": "Tumindak iki ora bisa diayahi ing kaca iki.", "cannotdelete": "Kaca utawa berkas \"$1\" ora bisa dibusak.\nManawa wis dibusak déning wong liya.", "cannotdelete-title": "Ora bisa mbusak kaca \"$1\"", "delete-hook-aborted": "Pambusakan dibatalaké déning ''hook''.\nOra ana alesané.", @@ -428,7 +428,7 @@ "createacct-benefit-body1": "{{PLURAL:$1|besutan}}", "createacct-benefit-body2": "{{PLURAL:$1|kaca}}", "createacct-benefit-body3": "{{PLURAL:$1|sing nyumbang}} mentas waé", - "badretype": "Sandhi panjenengan ora gathuk", + "badretype": "Tembung wadi sing panjenengan isèkaké ora gathuk.", "usernameinprogress": "Panggawéning akun tumrap jeneng panganggo iki tembé lumaku.\nEntèni sadhéla.", "userexists": "Jeneng panganggo sing dilebokaké lagi dianggo.\nMangga pilih jeneng liya.", "loginerror": "Masalah mlebu log", @@ -453,7 +453,7 @@ "password-name-match": "Tembung wadiné panjenengan kudu béda saka jeneng panganggoné panjenengan.", "password-login-forbidden": "Panganggoning jeneng panganggo lan tembung wadi iki dilarang.", "mailmypassword": "Balèni gawé tembung wadi", - "passwordremindertitle": "Pèngetan tembung sandhi saka {{SITENAME}}", + "passwordremindertitle": "Tembung wadi sauntara kanggo {{SITENAME}}", "passwordremindertext": "Ana wong (mbokmanawa panjenengan dhéwé, saka alamat IP $1) nyuwun supaya dikirimi tembung sandhi anyar kanggo {{SITENAME}} ($4). Tembung sandi sawetara kanggo panganggo \"$2\" wis digawé lan saiki \"$3\". Yèn panjenengan pancèn nggayuh iki, mangga énggal mlebu log lan ngganti tembung sandi saiki.\nTembung sandi sawetara mau bakal kadaluwarsa ing {{PLURAL:$5|sadina|$5 dina}}.\nYèn wong liya sing nglakoni panyuwunan iki, utawa panjenengan éling tembung sandi panjenengan, lan ora kepéngin ngowahi, panjenengan ora usah nggubris pesen iki lan bisa tetep nganggo tembung sandi lawas.", "noemail": "Ora ana alamat layang-èl sing kacathet tumrap ing panganggo \"$1\".", "noemailcreate": "Panjenengan kudu maringi alamat e-mail sing absah", @@ -474,7 +474,7 @@ "accountcreatedtext": "Akun panganggo [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|rembug]]) wis digawé.", "createaccount-title": "Gawé akun kanggo {{SITENAME}}", "createaccount-text": "Ana sing nggawé akun nganggo alamat layang-èlé panjenengan ing {{SITENAME}} ($4) kanthi aran \"$2\", mawa tembung wadi \"$3\".\nPanjenengan kudu mlebu log lan ngowahi tembung wadiné panjenengan saiki.\n\nPanjenengan kena nglirwakaké layang iki, manawa akun iki digawé awit kaluputan.", - "login-throttled": "Panjenengan wis kakèhan njajal mlebu log.\nTulung nunggu dhisik $1 sadurungé njajal manèh.", + "login-throttled": "Panjenengan wis ping akèh njajal mlebu log.\nTulung nunggu dhisik $1 sadurungé njajal manèh.", "login-abort-generic": "Panjenengan ora bisa mlebu log - Kawurungan", "login-migrated-generic": "Akuné panjenengan wis dimigrasi, lan jeneng panganggoné wis ora ana manèh ing wiki iki.", "loginlanguagelabel": "Basa: $1", @@ -516,8 +516,8 @@ "resetpass-submit-cancel": "Wurung", "resetpass-wrong-oldpass": "Tembung wadi saiki utawa sauntara ora trep.\nPanjengen bokmanawa wis ngganti tembung wadiné panjenengan utawa nyuwun tembung wadi sauntara sing anyar.", "resetpass-temp-password": "Tembung wadi sauntara:", - "resetpass-abort-generic": "Ngowah tembung sandhi diwurungaké déning èkstènsi.", - "passwordreset": "Balèni setèl tembung sandhi", + "resetpass-abort-generic": "Ngowahi tembung wadi kawurungaké déning èkstènsi.", + "passwordreset": "Balèni gawé tembung wadi", "passwordreset-text-one": "Lengkapana formulir iki kanggo nampa tembung sandhi sementara lewat layang elektronik.", "passwordreset-text-many": "{{PLURAL:$1|Isinen salah sijine kotak ing ngisor iki kanggo nampa tembung sandhi sementara lewat layang elektronik.}}", "passwordreset-disabled": "Setèl ulang tembung wadi dipatèni ing wiki iki.", @@ -602,7 +602,7 @@ "newarticle": "(Anyar)", "newarticletext": "Panjenengan ngetuti pranala sing durung ana.\nKanggo nggawé kaca, gagéa ngetik ing kothak ngisor iki (deleng [$1 kaca pitulung] ngenani katerangané).\nManawa panjenengan tekan kéné awit ora sengaja, kliken tumbul balik ana ing pangluruné panjenengan.", "anontalkpagetext": "----\nIki kaca parembugané panganggo anonim sing durung gawé akun, utawa sing ora nganggo akuné.\nMula, awak dhéwé kudu nganggo alamat IP-né awujud angka kanggo nglacak dhèwèké.\nAlamat IP mangkono bisa dianggo déning sawenèh panganggo.\nManawa panjenengan panganggo anonim lan rumasa yèn ana tanggepan sing ora ilok dieneraké marang panjenengan, mangga [[Special:CreateAccount|gawéa akun]] utawa [[Special:UserLogin|mlebua log]] kanggo ngéndhani salah pangira karo panganggo anonim liyané ing tembé buri.", - "noarticletext": "Kala saiki kaca iki durung ana tulisané.\nSampéyan bisa [[Special:Search/{{PAGENAME}}|nggolèki sesirahing kaca iki]] sajeroning kaca liya,\n[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} nggolèki log sing magepokan],\nutawa [{{fullurl:{{FULLPAGENAME}}|action=edit}} nggawé kaca iki].", + "noarticletext": "Saiki kaca iki durung ana tulisané.\nPanjenengan bisa (1) [[Special:Search/{{PAGENAME}}|nggolèki sesirahing kaca iki]] ing kaca liyané, (2)\n[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} nggolèki log sing magepokan],\nutawa (3) [{{fullurl:{{FULLPAGENAME}}|action=edit}} nggawé kaca iki].", "noarticletext-nopermission": "Saiki lagi ora ana tèks ing kaca iki. \nPanjenengan bisa [[Special:Search/{{PAGENAME}}|nggolèk sesirah kaca iki]] ing kaca liyané, \nutawa [{{fullurl:{{#Special:Log}}|page={{urlencode:{{FULLPAGENAME}}}}}} nggolèk ing log sing gegayutan], nanging panjenengan ora kawogan nggawé kaca iki.", "missing-revision": "Révisi #$1 saka kaca ajeneng \"{{FULLPAGENAME}}\" ora ana.\n\nIki biyasané kasababaké awit nututi pranala sajarah sing wis lawas saka sawijiné kaca sing wis dibusak.\nRerincèné bisa digolèki ing [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log busak].", "userpage-userdoesnotexist": "Akun panganggo \"$1\" ora kadhaftar.\nMangga pesthèkaké dhisik yèn panjenengan péngin nggawé/mbesut kaca iki.", @@ -656,7 +656,7 @@ "sectioneditnotsupported-text": "Ora bisa mbesut sapérangan ana ing kaca iki.", "permissionserrors": "Masalah idin", "permissionserrorstext": "Panjengan ora kagungan idin kanggo nglakoni sing panjenengan gayuh amerga {{PLURAL:$1|alesan|alesan-alesan}} iki:", - "permissionserrorstext-withaction": "Panjenengan ora duwé hak aksès kanggo $2, amarga {{PLURAL:$1|alasan|alasan}} ing ngisor iki:", + "permissionserrorstext-withaction": "Panjenengan ora diidinaké $2 amarga {{PLURAL:$1|alasan|alasan}} ing ngisor iki:", "recreate-moveddeleted-warn": "'''Pènget: Panjenengan gawé manèh sawijining kaca sing wis tau dibusak.'''\n\nMangga digagas manèh apa pantes nerusaké nyunting kaca iki.\nIng ngisor iki kapacak log pambusakan lan pamindhahan saka kaca iki:", "moveddeleted-notice": "Kaca iki wis dibusak.\nLog busak, reksa, lan alih bab kacané cumepak ing ngisor minangka rujukan.", "log-fulllog": "Deleng cathetan wutuh", @@ -742,7 +742,7 @@ "rev-delundel": "owah pakatonan", "rev-showdeleted": "tuduhaké", "revisiondelete": "Busak/wurung busak révisi", - "revdelete-nooldid-title": "Rèvisi tujuan ora sah", + "revdelete-nooldid-title": "Révisi tujuan ora trep", "revdelete-nooldid-text": "Panjenengan durung mènèhi target revisi kanggo nglakoni fungsi iki.", "revdelete-no-file": "Barkas sing dipéngini ora ana.", "revdelete-show-file-confirm": "Apa panjenengan yakin arep mirsani révisi sing wis kabusak saka berkas \"$1\" ing $2, jam $3?", @@ -766,7 +766,7 @@ "revdelete-log": "Alesan:", "revdelete-submit": "Trapna ing {{PLURAL:$1|révisi|révisi}} kapilih", "revdelete-success": "Kekatonan owahan wis dianyari.", - "revdelete-failure": "'''Panampakan rèvisi ora bisa dianyari:'''\n$1", + "revdelete-failure": "Pakatonané révisiné ora bisa dianyari:\n$1", "logdelete-success": "Kekatonan log wis disetèl.", "logdelete-failure": "'''Aturan pandhelikan ora bisa disèt:'''\n$1", "revdel-restore": "Ngowahi visiblitas (pangatonan)", @@ -800,9 +800,9 @@ "mergehistory-fail": "Ora bisa nggabung sajarah, coba dipriksa manèh kacané lan paramèter wektuné.", "mergehistory-fail-invalid-source": "Kaca sumber ora trep.", "mergehistory-fail-invalid-dest": "Kaca paran ora trep.", - "mergehistory-fail-no-change": "Panggabung sajarah ora nggabungaké rèvisi. Mangga priksanen kaca lan paramèter wektuné.", + "mergehistory-fail-no-change": "Panggabung ing kala kawuri ora kasil nggabungaké révisi babar blas. Mangga priksanen manèh kaca lan paramèter wektuné.", "mergehistory-fail-self-merge": "Kaca asal lan kaca paran padha.", - "mergehistory-fail-timestamps-overlap": "Rèvisi asal tumpuk-undhung utawa njedhul sawisé révisi paran.", + "mergehistory-fail-timestamps-overlap": "Révisi asal tumpuk-undhung utawa njedhul sawisé révisi tujuan.", "mergehistory-fail-toobig": "Ora bisa nggabungaké sajarah amarga {{PLURAL:$1|révisi}} sing arep dilih munjuli $1.", "mergehistory-no-source": "Kaca sumber $1 ora ana.", "mergehistory-no-destination": "Kaca paran $1 ora ana.", @@ -820,13 +820,13 @@ "difference-title-multipage": "Béda antarané kaca \"$1\" lan \"$2\"", "difference-multipage": "(Prabédhan antar kaca)", "lineno": "Larik $1:", - "compareselectedversions": "Bandhingaké rèvisi sing kapilih", + "compareselectedversions": "Bandhingaké révisi sing kapilih", "showhideselectedversions": "Tampilaké/dhelikaké révisi kapilih", "editundo": "wurung", "diff-empty": "(Ora ana béda)", "diff-multi-sameuser": "({{PLURAL:$1|Sarévisi antara|$1 révisi antara}} déning panganggo sing padha sing ora katuduhaké)", "diff-multi-otherusers": "({{PLURAL:$1|Siji révisi langsung|$1 révisi langsung}} déning {{PLURAL:$2|siji panganggo liyané|$2 panganggo}} ora dituduhaké)", - "diff-multi-manyusers": "({{PLURAL:$1Siji rèvisi sedhengan|$1 rèvisi sedhengan}} déning luwih saka $2 {{PLURAL:$2|panganggo|panganggo}} ora dituduhaké)", + "diff-multi-manyusers": "({{PLURAL:$1|Siji révisi langsung|$1 révisi langsung}} déning {{PLURAL:$2|panganggo|panganggo}} $2 ora katuduhaké)", "difference-missing-revision": "{{PLURAL:$2|Sak pambenahan|$2 pambenahan}} saka prabédan iki ($1) {{PLURAL:$2|ora ditemokaké|ora ditemokaké}}.\n\nIki biasané kasebab pranala prabedan sing wis ora kanggo saka kaca isi wis dibusak.\nRinciané bisa ditemokaké nèng [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log busak].", "searchresults": "Kasiling golèk", "searchresults-title": "Kasiling golèk \"$1\"", @@ -1154,7 +1154,7 @@ "action-move-rootuserpages": "ngalih kaca panganggo oyod", "action-move-categorypages": "alih kaca kategori", "action-movefile": "alih barkas iki", - "action-upload": "unggah barkas iki", + "action-upload": "ngunggah barkas iki", "action-reupload": "nindhih berkas sing wis ana", "action-reupload-shared": "nindhih berkas sing wis ana ing papan panyimpanan berkas sing dianggo bebarengan", "action-upload_by_url": "unggahna berkas iki saka sawijining alamat URL", @@ -1210,7 +1210,7 @@ "recentchanges-legend-plusminus": "(''±123'')", "recentchanges-submit": "Tuduhaké", "rcfilters-legend-heading": "Pratélané cekakan:", - "rcfilters-other-review-tools": "Piranti pamriksa liyané", + "rcfilters-other-review-tools": "Piranti pamriksa liyané", "rcfilters-group-results-by-page": "Golongaké kasilé miturut kacané", "rcfilters-grouping-title": "Panggegolong", "rcfilters-activefilters": "Saringan murub", @@ -1324,7 +1324,7 @@ "rcshowhidecategorization": "$1 kategorisasi kaca", "rcshowhidecategorization-show": "Tuduhaké", "rcshowhidecategorization-hide": "Dhelikaké", - "rclinks": "Tuduhaké $1 owahan pungkasan kawit $2 dina kapungkur.", + "rclinks": "Tuduhaké $1 owahan pungkasan ing dalem $2 dina pungkasan.", "diff": "béd", "hist": "saj", "hide": "Dhelikaké", @@ -1621,7 +1621,7 @@ "randomincategory-nopages": "Ora ana kaca ing kategori [[:Category:$1|$1]].", "randomincategory-category": "Kategori:", "randomincategory-legend": "Sembarang kaca ing kategori", - "randomincategory-submit": "Tumuju", + "randomincategory-submit": "Menyang", "randomredirect": "Pangalihan sembarang", "randomredirect-nopages": "Ora ana alih-alihan ing mandala aran \"$1\".", "statistics": "Statistik", @@ -1985,11 +1985,11 @@ "cantrollback": "Ora bisa mbalèkaké suntingan; panganggo pungkasan iku siji-sijiné penulis artikel iki.", "alreadyrolled": "Ora bisa mulihaké besutan pungkasan [[:$1]] déning [[User:$2|$2]] ([[User talk:$2|rembug]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]); ana wong liya sing wis mbesut utawa mulihaké kaca iki.\n\nBesutan pungkasan kaca iku garapané [[User:$3|$3]] ([[User talk:$3|rembug]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).", "editcomment": "Ringkesan suntingan yaiku: $1.", - "revertpage": "Besutané [[Special:Contributions/$2|$2]] ([[User talk:$2|rembugan]]) dipulihaké ing révisi pungkasan déning [[User:$1|$1]]", - "revertpage-nouser": "Besutané panganggo peteng dipulihaké ing révisi pungkasan déning {{GENDER:$1|[[User:$1|$1]]}}", + "revertpage": "Besutané [[Special:Contributions/$2|$2]] ([[User talk:$2|rembugan]]) dipulihaké ing révisi pungkasan garapané [[User:$1|$1]]", + "revertpage-nouser": "Besutané panganggo peteng dipulihaké ing révisi pungkasan garapané {{GENDER:$1|[[User:$1|$1]]}}", "rollback-success": "Suntingan dibalèkaké déning $1;\ndiowahi bali menyang vèrsi pungkasan déning $2.", "sessionfailure-title": "Sèsi gagal", - "sessionfailure": "Katoné ana masalah karo sèsi log panjenengan; log panjenengan wis dibatalaké kanggo nyegah pambajakan. Mangga mencèt tombol \"back\" lan unggahaké manèh kaca sadurungé mlebu log, lan coba manèh.", + "sessionfailure": "Katoné ana masalah nalika panjenengan mlebu log; \ntumindak iki diwurungaké kanggo jaga-jaga yèn ana sing mbajag.\nBalia menyang kaca sadurungé, momota manèh kacané lan tumuli jajalen manèh.", "changecontentmodel-title-label": "Sesirahé kaca", "changecontentmodel-model-label": "Modhèl kontèn anyar", "changecontentmodel-reason-label": "Alesan:", @@ -2059,7 +2059,7 @@ "undeletepagetitle": "'''Ing ngisor iki kapacak daftar révisi sing dibusak saka [[:$1]]'''.", "viewdeletedpage": "Deleng kaca sing wis dibusak", "undeletepagetext": "{{PLURAL:$1|kaca iki wis dibusak nanging isih|$1 kaca iki wis dibusak nanging isih}} ana ing arsip lan bisa dibalèkaké.\nArsip bisa diresiki sakala-kala.", - "undelete-fieldset-title": "Mulihaké rèvisi", + "undelete-fieldset-title": "Pulihaké révisi", "undeleteextrahelp": "Saperlu mulihaké kabèh surajah kaca, jaraké kothak cèk kosong banjur klik {{int:undeletebtn}}.\nSaperlu ngayahi réstorasi sèlèktif, cèk kothak sing magepokan karo révisi sing arep dipulihaké, banjur klik {{int:undeletebtn}}.", "undeleterevisions": "$1 {{PLURAL:$1|révisi|révisi}} diarsipaké", "undeletehistory": "Yèn panjenengan mbalèkaké kaca, kabèh révisi bakal dibalèkaké jroning sajarah.\nYèn sawijining kaca anyar kanthi jeneng sing padha wis digawé wiwit nalika pambusakan, révisi sing wis dibalèkaké bakal katon jroning sajarah sadurungé.", @@ -3294,7 +3294,7 @@ "logentry-move-move-noredirect": "$1 {{GENDER:$2|ngalih}} kaca $3 menyang $4 tanpa ninggal alihan", "logentry-move-move_redir": "$1 {{GENDER:$2|ngalih}} kaca $3 menyang $4 kanthi nindhihi alihan", "logentry-move-move_redir-noredirect": "$1 {{GENDER:$2|ngalih}} kaca $3 menyang $4 kanthi nindhihi alihan tanpa nginggal alihan", - "logentry-patrol-patrol": "$1 {{GENDER:$2|nengeri}} rèvisi $4 saka kaca $3 sing diawasi", + "logentry-patrol-patrol": "$1 {{GENDER:$2|nengeri}} révisi $4 saka kaca $3 sing diawasi", "logentry-patrol-patrol-auto": "$1 otomatis {{GENDER:$2|nandhani}} benahan $4 saka kaca $3 kaawasake", "logentry-newusers-newusers": "Akun panganggo $1 {{GENDER:$2|digawé}}", "logentry-newusers-create": "Akun panganggo $1 {{GENDER:$2|digawé}}", diff --git a/languages/i18n/ka.json b/languages/i18n/ka.json index 02ffc58c62..8d8a71324b 100644 --- a/languages/i18n/ka.json +++ b/languages/i18n/ka.json @@ -1033,7 +1033,7 @@ "timezoneregion-europe": "ევროპა", "timezoneregion-indian": "ინდოეთის ოკეანე", "timezoneregion-pacific": "წყნარი ოკეანე", - "allowemail": "სხვა მომხმარებლებისგან ელ. ფოსტის მიღების ნებართვა", + "allowemail": "სხვა მომხმარებლებისგან ელ. ფოსტის მიღების ჩართვა", "email-blacklist-label": "აუკრძალე შემდეგ მომხმარებლებს ჩემთვის მეილების გამოგზავნა:", "prefs-searchoptions": "ძიების პარამეტრები", "prefs-namespaces": "სახელთა სივრცეები", @@ -1318,7 +1318,7 @@ "recentchanges-submit": "ჩვენება", "rcfilters-tag-remove": "'$1'-ის წაშლა", "rcfilters-legend-heading": "აბრევიატურების წაშლა:", - "rcfilters-other-review-tools": "შემოწმების სხვა ხელსაწყოები", + "rcfilters-other-review-tools": "შემოწმების სხვა ხელსაწყოები", "rcfilters-group-results-by-page": "ჯგუფის შედეგები გვერდების მიხედვით", "rcfilters-grouping-title": "დაჯგუფება", "rcfilters-activefilters": "აქტიური ფილტრები", @@ -1568,7 +1568,7 @@ "uploaded-script-svg": "ნაპოვნია \"$1\" ელემენტი ატვირთულ SVG ფაილში.", "uploaded-hostile-svg": "ატვირთულ SVG-ფაილის style ელემენტში ნაპოვნია საფრთხის შემცვლელი CSS-ის კოდი.", "uploaded-event-handler-on-svg": "event-handler ატრიბუტების $1=\"$2\" დანიშნვნა არ არის დაშვებული SVG ფაილებში.", - "uploaded-href-attribute-svg": "href ატრიბუტებისთვის SVG ფაილებში დაშვებულია ბმულის გაკეთება http:// და https:// მისამართებზე, ნაპოვნია <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": "ელემნტები შესაძლოა დაუკავშირდნენ (href) მონაცემებს: (embedded file), http://, https://, ან ფრანგემენტს (#, same-document). სხვა ელემენტებისათვის, როგორიცაა , მხოლოდ მონაცემი: და ფრანგმენტი არის ნებადართული. სცადეთ გამოიყენოთ embedding images, როდესაც აკეთებთ თქვენი SVG-ის ექსპორტს. ნაპოვნია <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "ნაპოვნია href საშიშ მონაცემში: URI <$1 $2=\"$3\"> ატვირთულ SVG ფაილში.", "uploaded-animate-svg": "ნაპოვნია \"animate\" ტეგი, რომელიც შესაძლოა ცვლის href-ს, \"from\" ატრიბუტის, <$1 $2=\"$3\">, გამოყენებით ატვირთულ SVG ფაილში.", "uploaded-setting-event-handler-svg": "event-handler ატრიბუტების დანიშვნა დაბლოკილია, ნაპოვნია <$1 $2=\"$3\"> ატვირთულ SVG ფაილში.", diff --git a/languages/i18n/kab.json b/languages/i18n/kab.json index 4673106fcf..e93cf04716 100644 --- a/languages/i18n/kab.json +++ b/languages/i18n/kab.json @@ -1210,7 +1210,7 @@ "recentchanges-submit": "Sken", "rcfilters-tag-remove": "Kkes '$1'", "rcfilters-legend-heading": "Tabdart n isegzilen:", - "rcfilters-other-review-tools": "Ifecka-nniḍen n ucegger", + "rcfilters-other-review-tools": "Ifecka-nniḍen n ucegger", "rcfilters-group-results-by-page": "Sdukkel igmaḍ s usebter", "rcfilters-grouping-title": "Asdukkel", "rcfilters-activefilters": "Imzizdigen urmiden", diff --git a/languages/i18n/km.json b/languages/i18n/km.json index 6c0ddb098d..5b6976be2b 100644 --- a/languages/i18n/km.json +++ b/languages/i18n/km.json @@ -65,7 +65,6 @@ "underline-never": "កុំឲ្យសោះ", "underline-default": "តាមលំនាំដើមនៃ​កម្មវិធី​រុករក​", "editfont-style": "​រចនាបថ​ពុម្ព​អក្សរ​ក្នុងប្រអប់កែប្រែ​៖", - "editfont-default": "លំនាំដើមនៃ​កម្មវិធី​រុករក​", "editfont-monospace": "ពុម្ព​អក្សរ​ដែល​ដក​ឃ្លា​តែមួយ​", "editfont-sansserif": "ពុម្ពអក្សរ​​គ្មានកន្ទុយ (Sans-serif font)", "editfont-serif": "ពុម្ពអក្សរ​​មានកន្ទុយ (Serif font)", @@ -175,6 +174,7 @@ "searcharticle": "ទៅ", "history": "ប្រវត្តិទំព័រ", "history_short": "ប្រវត្តិ", + "history_small": "ប្រវត្តិ", "updatedmarker": "ត្រូវបានបន្ទាន់សម័យបន្ទាប់ពីពេលខ្ញុំចូលមើលចុងក្រោយ", "printableversion": "ទម្រង់​សម្រាប់បោះពុម្ភ", "permalink": "តំណភ្ជាប់អចិន្ត្រៃយ៍", @@ -581,7 +581,6 @@ "explainconflict": "ចាប់តាំងពីអ្នកបានបង្កើតទំព័រនេះមក មានអ្នកដទៃបានកែប្រែវាហើយ។ ផ្នែកខាងលើនៃទំព័រអត្ថបទ គឺជាកំណែប្រែថ្មី។ កំណែប្រែរបស់អ្នក គឺនៅផ្នែកខាងក្រោម។ ចូរដាក់កំណែប្រែរបស់អ្នកបញ្ចូលគ្នាជាមួយអត្ថបទដែលមាននៅផ្នែកខាងលើ។​\nអត្ថបទនៅផ្នែកខខាងលើ នឹងត្រូវរក្សាទុក នៅពេលអ្នក ចុច\"រក្សាទំព័រ\"។", "yourtext": "អត្ថបទរបស់អ្នក", "storedversion": "កំណែដែលបានស្តារឡើងវិញ", - "nonunicodebrowser": "​'''ប្រយ័ត្ន​៖ កម្មវិធី​រុករក​របស់​អ្នក​មិន​គាំ​ទ្រ​ដល់​អក្សរ​ពុម្ព​យូនីកូដ​ទេ​។'''\nមាន​ដំណោះ​ស្រាយ​មួយ​ដែល​អនុញ្ញាត​ឲ្យ​អ្នក​កែ​ប្រែ​ទំព័រ​ដោយ​សុវត្ថិភាព​៖ តួ​អក្សរមិន​មែន​ ASCII ​(non-ASCII) នឹង​បង្ហាញ​នៅ​ក្នុង​ប្រអប់​កែ​ប្រែ​ជា​កូដ​គោល១៦ ។", "editingold": "'''បម្រាម:អ្នកកំពុងតែកែកំណែប្រែដែលហួសសម័យរបស់ទំព័រនេះ។\n\nប្រសិនបើអ្នករក្សាវាទុក កំណែប្រែពីមុនទាំងប៉ុន្មាននឹងត្រូវបាត់បង់។'''", "yourdiff": "ចំណុចខុសគ្នា", "copyrightwarning": "សូមធ្វើការកត់សម្គាល់​ថា គ្រប់ការរួមចំណែក​របស់អ្នក​នៅលើ{{SITENAME}} ត្រូវបាន​ផ្សព្វផ្សាយ​តាម​លិខិតអនុញ្ញាត $2 (សូម​មើល $1 សម្រាប់​ព័ត៌មាន​លម្អិត) ។ បើអ្នកមិនចង់ឱ្យ​​ត្រូវបានអ្នកដទៃធ្វើការកែប្រែ ផ្សព្វផ្សាយបន្តសំណេរ​របស់អ្នកទេនោះ សូមអ្នកកុំដាក់​ស្នើវា​នៅទីនេះអី។
    \nអ្នកត្រូវសន្យាថា ​អ្នកសរសេរវា​ដោយខ្លួនអ្នក ឬបានចម្លងវា​ពី​កម្មសិទ្ធិសាធារណៈឬពីប្រភពសេរី ។\n'''មិនត្រូវ​ដាក់ស្នើ​ការងារមានជាប់កម្មសិទ្ឋិបញ្ញាដោយគ្មានការអនុញ្ញាតទេ!'''", @@ -1763,7 +1762,6 @@ "block": "ដាក់ការហាមឃាត់លើអ្នកប្រើប្រាស់", "unblock": "ដកការហាមឃាត់លើអ្នកប្រើប្រាស់", "blockip": "ហាមឃាត់{{GENDER:$1|អ្នកប្រើប្រាស់}}", - "blockip-legend": "ដាក់ការហាមឃាត់លើអ្នកប្រើប្រាស់", "blockiptext": "សូម​ប្រើប្រាស់​សំណុំ​បែបបទ​ខាងក្រោម​ដើម្បី​ហាមឃាត់ការសរសេរ​ពី​អាសយដ្ឋាន IP ឬ​ឈ្មោះ​អ្នកប្រើប្រាស់ណាមួយ​។\nការ​ធ្វើ​បែបនេះ​គួរតែ​ធ្វើឡើង​ក្នុង​គោលបំណង​បង្ការ​ការប៉ុនប៉ង​បំផ្លាញ(vandalism)ដូច​ដែល​មាន​ចែង​ក្នុង[[{{MediaWiki:Policy-url}}|គោលការណ៍]]។\nសូមបំពេញមូលហេតុច្បាស់លាស់មួយខាងក្រោម (ឧទាហរណ៍៖ រាយឈ្មោះទំព័រនានាដែលត្រូវបានគេបំផ្លាញ)។", "ipaddressorusername": "អាសយដ្ឋានIP ឬអត្តនាម៖", "ipbexpiry": "រយៈពេលផុតកំណត់៖", diff --git a/languages/i18n/ko.json b/languages/i18n/ko.json index d0c572b868..e404fda409 100644 --- a/languages/i18n/ko.json +++ b/languages/i18n/ko.json @@ -671,7 +671,7 @@ "anonpreviewwarning": "로그인하고 있지 않습니다. 문서를 저장하면 당신의 IP 주소가 문서의 편집 역사에 남게 됩니다.", "missingsummary": "'''알림:''' 편집 요약을 적지 않았습니다.\n\"$1\" 버튼을 다시 클릭하면 편집 요약 없이 편집이 저장됩니다.", "selfredirect": "경고: 자기 자신으로 문서를 넘겨주고 있습니다.\n넘겨줄 대상을 잘못 입력했거나, 잘못된 문서를 편집하고 있을 수 있습니다.\n\"$1\" 버튼을 다시 클릭하면, 넘겨주기 문서가 생성됩니다.", - "missingcommenttext": "아래에 내용을 채워 넣어 주세요.", + "missingcommenttext": "댓글을 입력해 주십시오.", "missingcommentheader": "알림: 이 댓글에 제목을 입력하지 않았습니다.\n\"$1\" 버튼을 다시 클릭하면 제목 없이 편집이 저장됩니다.", "summary-preview": "편집 요약 미리 보기:", "subject-preview": "주제 미리 보기:", @@ -1061,7 +1061,7 @@ "timezoneregion-europe": "유럽", "timezoneregion-indian": "인도양", "timezoneregion-pacific": "태평양", - "allowemail": "다른 사용자가 보낸 이메일을 받음", + "allowemail": "다른 사용자가 내게 이메일을 보낼 수 있게 허용", "email-blacklist-label": "이 사용자들이 내게 이메일을 보내는 것을 금지합니다:", "prefs-searchoptions": "검색", "prefs-namespaces": "이름공간", @@ -1342,7 +1342,7 @@ "recentchanges-submit": "보기", "rcfilters-tag-remove": "'$1' 제거", "rcfilters-legend-heading": "약어 목록:", - "rcfilters-other-review-tools": "다른 검토 도구", + "rcfilters-other-review-tools": "다른 검토 도구", "rcfilters-group-results-by-page": "문서별로 묶음", "rcfilters-grouping-title": "묶기", "rcfilters-activefilters": "사용 중인 필터", @@ -1355,7 +1355,7 @@ "rcfilters-days-show-hours": "$1{{PLURAL:$1|시간}}", "rcfilters-highlighted-filters-list": "강조됨: $1", "rcfilters-quickfilters": "저장된 필터", - "rcfilters-quickfilters-placeholder-title": "저장된 링크가 아직 없습니다", + "rcfilters-quickfilters-placeholder-title": "저장된 필터가 아직 없습니다", "rcfilters-quickfilters-placeholder-description": "필터 설정을 저장하고 나중에 다시 사용하려면 아래의 사용 중인 필터 영역의 북마크 아이콘을 클릭하십시오.", "rcfilters-savedqueries-defaultlabel": "저장된 필터", "rcfilters-savedqueries-rename": "이름 바꾸기", @@ -1395,7 +1395,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "등록 안 됨", "rcfilters-filter-user-experience-level-unregistered-description": "로그인하지 않은 편집자.", "rcfilters-filter-user-experience-level-newcomer-label": "신규 사용자", - "rcfilters-filter-user-experience-level-newcomer-description": "10회 미만의 편집 및 4일 미만의 활동.", + "rcfilters-filter-user-experience-level-newcomer-description": "10회 미만의 편집 또는 4일 미만의 활동을 한 등록된 편집자.", "rcfilters-filter-user-experience-level-learner-label": "학습자", "rcfilters-filter-user-experience-level-learner-description": "\"신규 사용자\" 보다 경험이 더 많지만 \"능숙한 사용자\" 보다는 적습니다.", "rcfilters-filter-user-experience-level-experienced-label": "능숙한 사용자", @@ -2749,7 +2749,7 @@ "tooltip-minoredit": "이 편집을 사소한 편집으로 표시하기", "tooltip-save": "바뀐 내용 저장하기", "tooltip-publish": "변경사항 게시", - "tooltip-preview": "바뀜을 미리 봅니다. 저장하기 전에 미리 보기를 해주세요!", + "tooltip-preview": "바뀐 내용을 미리 봅니다. 저장하기 전에 미리 보기를 해주세요.", "tooltip-diff": "자신이 바꾼 내용 보기", "tooltip-compareselectedversions": "이 문서에서 선택한 두 판 간의 차이를 비교", "tooltip-watch": "이 문서를 주시문서 목록에 추가", diff --git a/languages/i18n/krc.json b/languages/i18n/krc.json index 28867f5210..431a2b07c9 100644 --- a/languages/i18n/krc.json +++ b/languages/i18n/krc.json @@ -56,7 +56,6 @@ "underline-never": "Бир заманда да", "underline-default": "Браузерни джарашдырыуларын хайырландыр", "editfont-style": "Тюрлендириу джерни шрифтини тиби:", - "editfont-default": "Браузерни джарашдырыуларындан шрифт", "editfont-monospace": "Кенгленнген шрифт", "editfont-sansserif": "Sans-serif шрифт", "editfont-serif": "Сериф шрифт", @@ -555,7 +554,6 @@ "explainconflict": "Сиз тюрлендире тургъан сагъатда, ким эседа бы бетни тюрлендирген этгенди.\nБаш терезеде сиз бусагъатдагъы текстни кёресиз.\nТюбюнде терезеде сизни варинтды.\nСиз этген тюрлениулени тюб терезеден баш терезеге кёчюрюгюз.\n«$1» басылса баш терезеде текст сакъланныкъды.", "yourtext": "Сизни текстигиз", "storedversion": "Сакъланнган версия", - "nonunicodebrowser": "'''Эсгертиу: сизни браузеригиз Юникод кодировканы танымайдв.'''\nБетлени тюрлендирген сагъатда ASCII болмагъан символла оналтылыкъ кодларына алышдырыллыкъдыла.", "editingold": "'''Эсгертиу: сиз бу бетни эскирген версиясын тюрлендиресиз.'''\nСакълатхан тиекге басхан сагъатда, джангы версиялада этилген тюрлендириуле тас боллукъдула.", "yourdiff": "Айырмала", "copyrightwarning": "Статьяны текстинде бютеу къошуула, тюрлендириуле $2 лицензияны тамалында (къарагъыз: $1) чыкъгъаннга саналгъанына эс бёлюгюз!\nСизни текстлеригизни хар излегеннге эркин джайыллыгъын эмда тюрлендириллигин излеймей эсегиз, аланы бери салмагъыз.
    \nДагъыда сиз, этилген тюрлениулени автору болгъаныгъызгъа, неда аланы эркин джайылыргъа эмда тюрлендирирге эркинлик берген джерледен алыннганына шагъатлыкъ этесиз.
    \n'''АВТОР ХАКЪ БЛА ДЖАКЪЛАННГАН МАТЕРИАЛЛАНЫ ЭРКИНЛИКСИЗ САЛМАГЪЫЗ!'''", @@ -1045,7 +1043,7 @@ "recentchanges-legend-heading": "Легенда: ", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (къарагъыз: [[Special:NewPages|джангы бетлени тизмеси]])", "recentchanges-legend-plusminus": "(''±123'')", - "rcfilters-other-review-tools": "Башха тинтиу адырла", + "rcfilters-other-review-tools": "Башха тинтиу адырла", "rcfilters-activefilters": "Актив фильтрле", "rcfilters-limit-shownum": "Ахыр {{PLURAL:$1|тюрлениуню}} кёргюзт", "rcfilters-quickfilters-placeholder-title": "Сакъланнган джибериуле алкъын джокъдула", @@ -1721,7 +1719,6 @@ "block": "Къошулуучуну блокла", "unblock": "Къошулуучуну блок этилиуюн алыу", "blockip": "Бу къошулуучуну блок эт", - "blockip-legend": "Къошулуучуну блокга салыу", "blockiptext": "Тюбюндеги форманы хайырланыб белгили бир IP-ден неда регистрация этилген къошулуучуну тюрлениу этиуюню тыяллыкъсыз. Бу, джангыз вандализмни тыяр ючюн эм [[{{MediaWiki:Policy-url}}|джорукълагъа]] келишиулю этилирге керекди. Тюбюрек тыйыу бла байламлы ангылатыу джазыгъыз. (юлгю: -Бу- бетледе вандализм этилгенди).", "ipaddressorusername": "IP-адрес неда къошулуучу ат:", "ipbexpiry": "Бошаллыкъды (ётсе):", diff --git a/languages/i18n/krl.json b/languages/i18n/krl.json index 736e5cffdc..bc183552f0 100644 --- a/languages/i18n/krl.json +++ b/languages/i18n/krl.json @@ -96,10 +96,6 @@ "mytalk": "Pakinat", "navigation": "Navigacija", "and": " ta", - "qbfind": "Eči", - "qbedit": "Kohenna", - "qbpageoptions": "Tämä Å¡ivu", - "qbmyoptions": "Omat Å¡ivut", "namespaces": "Nimitilat", "variants": "Variantit", "navigation-heading": "Navigacija", @@ -120,10 +116,7 @@ "edit": "Kohentele", "create": "Luaji Å¡ivu", "create-local": "Lisyä paikallini kuvauÅ¡", - "editthispage": "Kohentele tätä Å¡ivuo", - "create-this-page": "Luaji tämä Å¡ivu", "delete": "Poistua", - "deletethispage": "Poissa tämä Å¡ivu", "newpage": "UuÅ¡i Å¡ivu", "talkpagelinktext": "pakina", "personaltools": "Henkilökohtaset ruatokalut", @@ -133,7 +126,7 @@ "otherlanguages": "Muilla kielillä", "redirectedfrom": "(Å iirretty sivulta $1)", "redirectto": "OhjauÅ¡ Å¡ivulla:", - "lastmodifiedat": "ViimesekÅ¡i tätä Å¡ivuo on kohenneltu $1, $2 aikah.", + "lastmodifiedat": "ViimekÅ¡i tätä Å¡ivuo on kohenneltu $1, $2 aikah.", "jumpto": "Å iirry:", "jumptonavigation": "navigacija", "jumptosearch": "eči", @@ -179,6 +172,8 @@ "nstab-template": "Malli", "nstab-category": "Luokka", "mainpage-nstab": "Piäšivu", + "nosuchspecialpage": "Tätä erityistä Å¡ivuo ei ole löytyn", + "nospecialpagetext": "ErityiÅ¡ivuo ei ole löytyn.\n\nErityisÅ¡ivujen luvettelo löytyy tiältä [[Special:SpecialPages|{{int:specialpages}}]]", "error": "HairahuÅ¡", "databaseerror-query": "KyÅ¡ely: $1", "databaseerror-error": "HairahuÅ¡: $1", @@ -259,7 +254,7 @@ "template-semiprotected": "(oÅ¡ittain Å¡uojattu)", "hiddencategories": "Tämä Å¡ivu kuuluu {{PLURAL:$1|1 peitettyh kategorijah|$1 peitettylöih kategorijoih}}:", "permissionserrorstext-withaction": "Å iula ei ole oikeutta {{lcfirst:$2}} {{PLURAL:$1|Å¡euruavaÅ¡ta Å¡yyÅ¡tä|Å¡euruavista Å¡yistä}}:", - "moveddeleted-notice": "Tämä Å¡ivu on poistettu.\nAlla on tämän Å¡ivun poisto- ta Å¡iirtoistorija.", + "moveddeleted-notice": "Tämä Å¡ivu on poissettu.\nAlla on tämän Å¡ivun poisto- ta Å¡iirtoistorija.", "viewpagelogs": "Näytä tämän Å¡ivun lokit", "currentrev-asof": "Nykyni versija $1", "revisionasof": "Versija $1", @@ -270,6 +265,8 @@ "cur": "nyk.", "last": "iell.", "page_last": "iell.", + "histfirst": "vanhin", + "histlast": "uuÅ¡in", "rev-delundel": "muuta näkyvyttä", "history-title": "Å ivun ”$1” muutoÅ¡istorija", "difference-title": "Ero Å¡ivun ”$1” versijien välillä", @@ -303,6 +300,7 @@ "searchresultshead": "Ečindy", "right-writeapi": "Käyttyä kirjutuÅ¡-APIe", "newuserlogpage": "UuÅ¡ien käyttäjien luvettelo", + "action-edit": "kohentele tätä Å¡ivuo", "enhancedrc-history": "istorija", "recentchanges": "Uuvvet muutokÅ¡et", "recentchanges-legend": "VerekÅ¡ien kohennukÅ¡ien aÅ¡etukÅ¡et", @@ -322,6 +320,7 @@ "rcshowhidebots-show": "Näytä", "rcshowhidebots-hide": "Peitä", "rcshowhideliu": "$1 rekisteröitynyöt käyttäjät", + "rcshowhideliu-show": "Näytä", "rcshowhideliu-hide": "Peitä", "rcshowhideanons": "$1 anonimiset käyttäjät", "rcshowhideanons-show": "Näytä", @@ -378,9 +377,10 @@ "allpagessubmit": "Mäne", "categories": "Kategorijat", "linksearch-ok": "Ečindy", - "watchlist": "Kaččuolistu", + "watchlist": "Tarkkailulista", "mywatchlist": "Valvontaluvettelo", "watch": "Valvo", + "unwatch": "Lopeta tarkkailu", "dellogpage": "Poistoloki", "rollbacklink": "Tuo entini versija", "rollbacklinkcount": "palauta $1 {{PLURAL:$1|muutoÅ¡|muutoÅ¡ta}}", @@ -399,6 +399,13 @@ "anoncontribs": "Omat kohennukÅ¡et", "month": "KuukauÅ¡i", "year": "Vuosi", + "sp-contributions-blocklog": "Å¡alpauÅ¡loki", + "sp-contributions-uploads": "LataukÅ¡et", + "sp-contributions-logs": "lokit", + "sp-contributions-talk": "pakina", + "sp-contributions-search": "Eči kohentukÅ¡ia", + "sp-contributions-username": "IP-oÅ¡oiteh tahi käyttäjän nimi:", + "sp-contributions-toponly": "Näytä vain kohentukÅ¡et, kumpasissa näkyy uuÅ¡in versijo.", "sp-contributions-submit": "Ečindy", "whatlinkshere": "Linkit tänne", "whatlinkshere-title": "Å ivut, kumpaset viitatah Å¡ivulla \"$1\"", diff --git a/languages/i18n/ku-latn.json b/languages/i18n/ku-latn.json index 70a5eafd60..7b3dc6beaa 100644 --- a/languages/i18n/ku-latn.json +++ b/languages/i18n/ku-latn.json @@ -731,7 +731,7 @@ "timezoneregion-europe": "Ewropa", "timezoneregion-indian": "Okyanûsa Hindî", "timezoneregion-pacific": "Okyanûsa Mezin", - "allowemail": "Ji bikarhênerên dî e-nameyan qebûl bike", + "allowemail": "Ji bikarhênerên din e-peyaman bistîne", "prefs-searchoptions": "Lê bigere", "prefs-namespaces": "Valahiyên nav", "default": "asayî", @@ -873,7 +873,7 @@ "rcfilters-savedqueries-new-name-label": "Nav", "rcfilters-savedqueries-cancel-label": "Betal bike", "rcfilters-filterlist-title": "Parzûn", - "rcfilters-filter-editsbyself-label": "Guhêrandinên ji yaliyê te", + "rcfilters-filter-editsbyself-label": "Guhêrandinên ji aliyê te", "rcfilters-filter-editsbyother-label": "Guherandinên ji aliyên kesên din", "rcfilters-filter-bots-label": "Bot", "rcfilters-filter-humans-label": "Mirov (ne bot)", @@ -919,7 +919,7 @@ "recentchangeslinked-feed": "Guherandinên peywend", "recentchangeslinked-toolbox": "Guherandinên peywend", "recentchangeslinked-title": "Guherandinên têkildarî \"$1\"", - "recentchangeslinked-summary": "Ev lîste, ji rûpela destnîşankirî (an jî endamên destnîşankirî) re rûpelê lîsteya guherandinên dawî ji rûpelên lînkkirî nîşandide. Ew rûpel yê di [[Special:Watchlist|lîsteya te ya şopandinê]] da bi nivîsa estûr tên nîşandan.", + "recentchangeslinked-summary": "Ev lîste, ji rûpela destnîşankirî (an jî endamên destnîşankirî) re rûpelê lîsteya guherandinên dawî ji rûpelên lînkkirî nîşandide. Ew rûpel yê di [[Special:Watchlist|lîsteya te ya şopandinê]] da bi nivîsa stûr tên nîşandan.", "recentchangeslinked-page": "Navê rûpelê:", "recentchanges-page-added-to-category": "[[:$1]] li kategoriyê hate zêdekirin", "recentchanges-page-removed-from-category": "[[:$1]] ji kategoriyê hate jêbirin", diff --git a/languages/i18n/lb.json b/languages/i18n/lb.json index 35cb2db6bf..41f4d4c34a 100644 --- a/languages/i18n/lb.json +++ b/languages/i18n/lb.json @@ -1254,7 +1254,7 @@ "recentchanges-submit": "Weisen", "rcfilters-tag-remove": "'$1' ewechhuelen", "rcfilters-legend-heading": "Lëscht vun Ofkierzungen:", - "rcfilters-other-review-tools": "Aner Méiglechkeete fir z'iwwerliesen", + "rcfilters-other-review-tools": "Aner Méiglechkeete fir z'iwwerliesen", "rcfilters-group-results-by-page": "Resultater no de Säite gruppéieren", "rcfilters-grouping-title": "Gruppéieren", "rcfilters-activefilters": "Aktiv Filteren", @@ -1267,7 +1267,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|Stonn|Stonnen}}", "rcfilters-highlighted-filters-list": "Ervirgehuewen: $1", "rcfilters-quickfilters": "Gespäichert Filteren", - "rcfilters-quickfilters-placeholder-title": "Nach keng Linke gespäichert", + "rcfilters-quickfilters-placeholder-title": "Nach keng Filtere gespäichert", "rcfilters-quickfilters-placeholder-description": "Fir Är Filterastellungen z'änneren a méi spéit nees ze benotzen, klickt op d'Zeeche fir Lieszeechen (bookmark) am Beräich vun den Aktive Filteren hei drënner.", "rcfilters-savedqueries-defaultlabel": "Gespäichert Filteren", "rcfilters-savedqueries-rename": "Ëmbenennen", @@ -1302,7 +1302,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Net-ugemellt", "rcfilters-filter-user-experience-level-unregistered-description": "Auteuren déi net ageloggt sinn.", "rcfilters-filter-user-experience-level-newcomer-label": "Neier", - "rcfilters-filter-user-experience-level-newcomer-description": "Manner wéi 10 Ännerungen a manner wéi 4 Deeg Aktivitéit.", + "rcfilters-filter-user-experience-level-newcomer-description": "Registréiert Auteure mat manner wéi 10 Ännerungen a manner wéi 4 Deeg Aktivitéit.", "rcfilters-filter-user-experience-level-learner-label": "Ufänger", "rcfilters-filter-user-experience-level-learner-description": "Méi Erfarung wéi ''Nei Benotzer'' awer manner wéi ''Erfuere Benotzer''.", "rcfilters-filter-user-experience-level-experienced-label": "Erfuere Benotzer.", diff --git a/languages/i18n/lfn.json b/languages/i18n/lfn.json index 4e94bef001..8a730c912d 100644 --- a/languages/i18n/lfn.json +++ b/languages/i18n/lfn.json @@ -60,7 +60,6 @@ "underline-never": "Nunca", "underline-default": "Implicada par pel o surfador", "editfont-style": "Stilo de leteras en la caxa de edita", - "editfont-default": "Implicada par surfador", "editfont-monospace": "Leteras monospasida", "editfont-sansserif": "Leteras sin serif", "editfont-serif": "Leteras con serif", @@ -1279,7 +1278,7 @@ "recentchanges-submit": "Mostra", "rcfilters-tag-remove": "Sutrae '$1'", "rcfilters-legend-heading": "Lista de cortis:", - "rcfilters-other-review-tools": "Otra utiles de revisa", + "rcfilters-other-review-tools": "Otra utiles de revisa", "rcfilters-group-results-by-page": "Grupi resultas par paje", "rcfilters-grouping-title": "Grupi", "rcfilters-activefilters": "Filtros ativa", @@ -2335,7 +2334,6 @@ "block": "Impedi usor", "unblock": "Desimpedi usor", "blockip": "Impedi {{GENDER:$1|usor}}", - "blockip-legend": "Impedi usor", "blockiptext": "Usa la formulario a su per impedi asedes scrivente de un adirije IP o nom de usor spesifada.\nOn debe fa esta sola per preveni vandalsime, e longo la [[{{MediaWiki:Policy-url}}|politica]].\nSpesifa un razona a su (per esemplo, indicante pajes individua cual ia es vandalida).\nPer impedi adirijes IP, on pote usa la sintatica [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]; la estende la plu grande permeteda es /$1 per IPv4 e /$2 per IPv6.", "ipaddressorusername": "Adirije IP o nom de usor:", "ipbexpiry": "Desvalidi:", diff --git a/languages/i18n/li.json b/languages/i18n/li.json index 7a55d010ea..f9847625ab 100644 --- a/languages/i18n/li.json +++ b/languages/i18n/li.json @@ -697,7 +697,7 @@ "sectioneditnotsupported-text": "Doe kèns hie gein köpkes bewèrke", "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}}:", + "permissionserrorstext-withaction": "Dich höbs gein rech óm $2 óm de volgende {{PLURAL:$1|raej|raej}}:", "contentmodelediterror": "Doe kans dees versie neet bewirke, went 't inhawdsmodel daovan is $1 en 't hujig inhawdsmodel van de pagina is $2.", "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, 't beveiligingslogbook en 't logbook verplaatsjde pagina's van dees pagina hiejónger weergegaeve.", @@ -1150,6 +1150,7 @@ "right-editinterface": "De gebroekersinterface bewerke", "right-editusercss": "De CSS-bestande van angere gebroekers bewerke", "right-edituserjs": "De JS-bestande van angere gebroekers bewerke", + "right-viewmywatchlist": "Betrach dien eige volglies", "right-editmyoptions": "Bewirk dien eige veurkäöre", "right-rollback": "Snel de letste bewerking(e) van 'n gebroeker van 'n pagina terugdraaie", "right-markbotedits": "Teruggedraaide bewerkinge markere es botbewerkinge", @@ -1207,16 +1208,17 @@ "action-writeapi": "via de API te bewirke", "action-delete": "dees pagina eweg te sjaffe", "action-deleterevision": "dees versie eweg te sjaffe", + "action-deletelogentry": "logbeukregels eweg te sjaffe", "action-deletedhistory": "de eweggesjafte versies van dees pagina te bekieke", "action-browsearchive": "eweggesjafte pagina's te zeuke", - "action-undelete": "dees pagina trökzètte", - "action-suppressrevision": "dees verborge versie betrachte en trök plaatse", + "action-undelete": "dees pagina trök te zètte", + "action-suppressrevision": "dees verborge versie te betrachte en trök te plaatse", "action-suppressionlog": "dit besjirmp logbook betrachte", "action-block": "deze gebroeker 'n bewirkingsblokkaad op lèkge", "action-protect": "'t beveiligingsniveau van dees pagina aan passe", "action-rollback": "drej bewèrkinge vanne lèste bewèrkendje gebroeker snel trögk", - "action-import": "dees pagina van 'n angere wiki importere", - "action-importupload": "dees pagina van 'n besjtandsupload importere", + "action-import": "dees pagina van 'n angere wiki te importere", + "action-importupload": "dees pagina van 'n besjtandsupload te importere", "action-patrol": "bewerkinge van angere es gecontroleerd te markere", "action-autopatrol": "eige bewerkinge as gecontroleerd te laote markere", "action-unwatchedpages": "de lies met pagina's die neet op 'n volglies staon te bekieke", @@ -1225,6 +1227,16 @@ "action-userrights-interwiki": "gebroekersrechte van gebroekers van anger wiki's te bewerke", "action-siteadmin": "de database aaf te sloete of aope te stelle", "action-sendemail": "Sjik e-mails", + "action-editmyoptions": "dien eige veurkäöre te bewirke", + "action-editmywatchlist": "dien eige volglies te bewirke", + "action-viewmywatchlist": "dien eige volglies te betrachte", + "action-viewmyprivateinfo": "dien eige privégegaeves te betrachte", + "action-editmyprivateinfo": "dien eige privégegaeves te bewirke", + "action-editcontentmodel": "'t paginainhawdmodel te bewirke", + "action-managechangetags": "labels aan te make en te (de)aktivere", + "action-applychangetags": "labels aan dien bewirkinge bie te doon", + "action-changetags": "willekäörige labels bie te doen en eweg te sjaffe van versies en logbeukregels", + "action-deletechangetags": "labels oet de database eweg te sjaffe", "action-purge": "sjoean dees pagina op", "nchanges": "$1 {{PLURAL:$1|bewerking|bewerkinge}}", "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|saer die litste bezeuk}}", @@ -1242,7 +1254,10 @@ "recentchanges-legend-heading": "Legenda:", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (zuuch ouch [[Special:NewPages|de nuuj pagina's]])", "recentchanges-submit": "Tuin", + "rcfilters-tag-remove": "Sjaf '$1' weg", "rcfilters-legend-heading": "Lies mit aafkórtinge:", + "rcfilters-other-review-tools": "Angere kentrolhölpmiddele", + "rcfilters-group-results-by-page": "Resultate per pagina groepere", "rcfilters-grouping-title": "Groepeer", "rcfilters-activefilters": "Aktief filters", "rcfilters-advancedfilters": "Geavanceerde filters", @@ -1252,7 +1267,8 @@ "rcfilters-hours-title": "Recènte oere", "rcfilters-days-show-days": "$1 {{PLURAL:$1|daag}}", "rcfilters-days-show-hours": "$1 {{PLURAL:$1|oer}}", - "rcfilters-quickfilters": "Opgeslage filters", + "rcfilters-highlighted-filters-list": "Oetgeleech: $1", + "rcfilters-quickfilters": "Opgesjlage filters", "rcfilters-quickfilters-placeholder-title": "Nag gein opgeslage links", "rcfilters-savedqueries-defaultlabel": "Opgesjlage filters", "rcfilters-savedqueries-rename": "Herneum", @@ -1262,10 +1278,12 @@ "rcfilters-savedqueries-new-name-label": "Naam", "rcfilters-savedqueries-new-name-placeholder": "Besjrief 't doel van de filter", "rcfilters-savedqueries-apply-label": "Maak filter aan", + "rcfilters-savedqueries-apply-and-setdefault-label": "Sjtandaard filter aanmake", "rcfilters-savedqueries-cancel-label": "Braek aaf", "rcfilters-savedqueries-add-new-title": "Hujige filterinstèllinge opsjlaon", "rcfilters-restore-default-filters": "Zèt sjtanderd filters trögk", "rcfilters-clear-all-filters": "Sjaf alle filters eweg", + "rcfilters-show-new-changes": "Tuin nuujste wieziginge", "rcfilters-search-placeholder": "Filter recènte verangeringe (blajer of begin mit intikke)", "rcfilters-invalid-filter": "Óngeljige filter", "rcfilters-empty-filter": "Gein aktief filters. Alle biedrage waere waergegaeve.", diff --git a/languages/i18n/lt.json b/languages/i18n/lt.json index f61d7979c8..49aa82ff68 100644 --- a/languages/i18n/lt.json +++ b/languages/i18n/lt.json @@ -86,7 +86,6 @@ "underline-never": "Niekada", "underline-default": "Pagal narÅ¡yklės nustatymus", "editfont-style": "Redagavimo srities Å¡rifto stilius:", - "editfont-default": "NarÅ¡yklės numatytasis", "editfont-monospace": "Lygiaplotis Å¡riftas", "editfont-sansserif": "Å riftas be užraitų", "editfont-serif": "Å riftas su užraitais", @@ -692,7 +691,6 @@ "explainconflict": "Kažkas kitas jau pakeitė puslapį nuo tada, kai jÅ«s pradėjote jį redaguoti.\nVirÅ¡utiniame tekstiniame lauke pateikta Å¡iuo metu esanti puslapio versija.\nJÅ«sų keitimai pateikti žemiau esančiame lauke.\nJums reikia sujungti jÅ«sų pakeitimus su esančia versija.\nKai paspausite „$1“, bus įraÅ¡ytas '''tik''' tekstas virÅ¡utiniame tekstiniame lauke.", "yourtext": "JÅ«sų tekstas", "storedversion": "IÅ¡saugota versija", - "nonunicodebrowser": "'''Ä®SPĖJIMAS: JÅ«sų narÅ¡yklė nepalaiko unikodo. Kad bÅ«tų saugu redaguoti puslapį, ne ASCII simboliai redagavimo lauke bus rodomi kaip Å¡eÅ¡ioliktainiai kodai.'''", "editingold": "'''Ä®SPĖJIMAS: JÅ«s keičiate ne naujausią puslapio versiją.\nJei iÅ¡saugosite savo keitimus, po to daryti pakeitimai pradings.'''", "yourdiff": "Skirtumai", "copyrightwarning": "Primename, kad viskas, kas patenka į {{SITENAME}}, yra laikoma paskelbtu pagal $2 (detaliau - $1). Jei nenorite, kad jÅ«sų indėlis bÅ«tų be gailesčio redaguojamas ir platinamas, čia neraÅ¡ykite.
    \nJūs taip pat pasižadate, kad tai jūsų pačių rašytas turinys arba kopijuotas iš viešų ar panašių nemokamų šaltinių.\n'''NEKOPIJUOKITE AUTORINĖMIS TEISĖMIS APSAUGOTŲ DARBŲ BE LEIDIMO!'''", @@ -1022,6 +1020,7 @@ "timezoneregion-indian": "Indijos vandenynas", "timezoneregion-pacific": "Ramusis vandenynas", "allowemail": "Leisti kitiems naudotojams siųsti man el. laiškus", + "email-blacklist-label": "Neleisti šiems vartotojams siųsti man el. laiškų:", "prefs-searchoptions": "Paieška", "prefs-namespaces": "Vardų sritys", "default": "pagal nutylėjimą", @@ -1361,6 +1360,7 @@ "rcfilters-filter-lastrevision-description": "Naujausias puslapio keitimas.", "rcfilters-filter-previousrevision-description": "Visi keitimai, kurie nėra naujausi puslapio keitimai.", "rcfilters-view-tags": "Pažymėti keitimai", + "rcfilters-view-tags-help-icon-tooltip": "Sužinoti daugiau apie Pažymėtus pakeitimus", "rcnotefrom": "Žemiau yra {{PLURAL:$5|pakeitimas|pakeitimai}} pradedant $3, $4 (rodoma iki $1 pakeitimų).", "rclistfromreset": "Nustatyti duomenų pasirinkimą iš naujo", "rclistfrom": "Rodyti naujus pakeitimus pradedant $3 $2", @@ -2270,7 +2270,6 @@ "block": "Blokuoti naudotoją", "unblock": "Atblokuoti naudotoją", "blockip": "Blokuoti naudotoją", - "blockip-legend": "Blokuoti naudotoją", "blockiptext": "Naudokite šią formą, kad uždraustumėte redagavimo prieigą pasirinktam IP adresui ar naudotojui. Tai turėtų būti atliekama tik tam, kad sustabdytumėte vandalizmą, ir neprieštarauti [[{{MediaWiki:Policy-url}}|projekte galiojančioms taisyklėms]].\nŽemiau pateikite tikslią priežastį (pavyzdžiui, nurodydami sugadintus puslapius).\nJūs galite blokuoti IP intervalus pasinaudodami [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR] sintakse; didžiausias leidžiamas intervalas yra /$1 IPv4 ir /$2 IPv6.", "ipaddressorusername": "IP adresas arba naudotojo vardas", "ipbexpiry": "Galiojimo laikas", diff --git a/languages/i18n/lv.json b/languages/i18n/lv.json index 35b15ae27e..dee5cf197c 100644 --- a/languages/i18n/lv.json +++ b/languages/i18n/lv.json @@ -868,7 +868,8 @@ "timezoneregion-europe": "Eiropa", "timezoneregion-indian": "Indijas okeāns", "timezoneregion-pacific": "Klusais okeāns", - "allowemail": "Atļaut saņemt e-pastus no citiem dalībniekiem", + "allowemail": "Atļaut citiem dalībniekiem sūtīt man e-pastus", + "email-blacklist-label": "Aizliegt šiem dalībniekiem man sūtīt e-pastus:", "prefs-searchoptions": "Meklēšana", "prefs-namespaces": "Vārdtelpas", "default": "pēc noklusējuma", @@ -1097,7 +1098,7 @@ "recentchanges-submit": "Rādīt", "rcfilters-tag-remove": "Noņemt \"$1\"", "rcfilters-legend-heading": "Saīsinājumu saraksts:", - "rcfilters-other-review-tools": "Citi pārskatīšanas rīki", + "rcfilters-other-review-tools": "Citi pārskatīšanas rīki", "rcfilters-group-results-by-page": "Grupēt rezultātus pēc lapas", "rcfilters-grouping-title": "Grupēšana", "rcfilters-activefilters": "Aktīvie filtri", @@ -1186,6 +1187,7 @@ "rcfilters-view-advanced-filters-label": "Paplašinātie filtri", "rcfilters-view-tags": "Iezīmētie labojumi", "rcfilters-view-namespaces-tooltip": "Filtrēt rezultātus pēc vārdtelpas", + "rcfilters-view-tags-help-icon-tooltip": "Uzzināt vairāk par iezīmētajiem labojumiem", "rcfilters-watchlist-markseen-button": "Atzīmēt visas izmaiņas kā apskatītas", "rcfilters-watchlist-edit-watchlist-button": "Labot manu uzraugāmo lapu sarakstu", "rcnotefrom": "Šobrīd redzamas izmaiņas kopš '''$2''' (parādītas ne vairāk par '''$1''').", diff --git a/languages/i18n/mk.json b/languages/i18n/mk.json index 6f3463abf5..f8fd147dbb 100644 --- a/languages/i18n/mk.json +++ b/languages/i18n/mk.json @@ -355,7 +355,7 @@ "title-invalid-too-long": "Бараниот наслов е предолг. Не смее да биде поголем од $1 {{PLURAL:$1|бајт|бајти}} шифриран според UTF-8.", "title-invalid-leading-colon": "Бараниот наслов содржи неважечки две точки на почетокот.", "perfcached": "Следните податоци се меѓускладирани и може да не се тековни. Во меѓускладот {{PLURAL:$1|е достапен највеќе еден запис|се достапни највеќе $1 записи}}.", - "perfcachedts": "Следните податоци се меѓускладирани, последен пат подновени на $1. Во меѓускладот {{PLURAL:$4|е достапен највеќе еден запис|се достапни највеќе $4 записи}}.", + "perfcachedts": "Следните податоци се меѓускладирани, последен пат подновени во $1. Во меѓускладот {{PLURAL:$4|е достапен највеќе еден запис|се достапни највеќе $4 записи}}.", "querypage-no-updates": "Подновите на оваа страница моментално се оневозможени.\nПодатоците овде во моментов нема да се подновуваат.", "viewsource": "Преглед", "viewsource-title": "Преглед на кодот на $1", @@ -1023,7 +1023,7 @@ "timezoneregion-indian": "Индиски Океан", "timezoneregion-pacific": "Тихи Океан", "allowemail": "Дозволи е-пошта од други корисници", - "email-blacklist-label": "Забрани им на следниве корисници да ми праќаат е-пошта:", + "email-blacklist-label": "Забрани е-пошта од следниве корисници:", "prefs-searchoptions": "Пребарување", "prefs-namespaces": "Именски простори", "default": "по основно", @@ -1304,7 +1304,7 @@ "recentchanges-submit": "Прикажи", "rcfilters-tag-remove": "Отстрани го „$1“", "rcfilters-legend-heading": "Список на кратенки:", - "rcfilters-other-review-tools": "Други алатки за проверка", + "rcfilters-other-review-tools": "Други алатки за проверка", "rcfilters-group-results-by-page": "Групен исход по страница", "rcfilters-grouping-title": "Групирање", "rcfilters-activefilters": "Активни филтри", @@ -1317,7 +1317,7 @@ "rcfilters-days-show-hours": "{{PLURAL:$1|еден час|$1 часа}}", "rcfilters-highlighted-filters-list": "Истакнато: $1", "rcfilters-quickfilters": "Зачувани филтри", - "rcfilters-quickfilters-placeholder-title": "Засега нема зачувани врски", + "rcfilters-quickfilters-placeholder-title": "Засега нема зачувани филтри", "rcfilters-quickfilters-placeholder-description": "За да ги зачувате вашите филтерски псотавки за да ги употребите другпат, стиснете на иконката за бележник во подрачјето „Активен филтер“ подолу.", "rcfilters-savedqueries-defaultlabel": "Зачувани филтри", "rcfilters-savedqueries-rename": "Преименувај", @@ -1553,7 +1553,7 @@ "uploaded-script-svg": "Пронајдов скриптен елемент „$1“ во подигнатата SVG-податотека.", "uploaded-hostile-svg": "Пронајдов небезбеден CSS во стилскиот елемент на подигнатата SVG-податотека.", "uploaded-event-handler-on-svg": "Задавањето на атрибути $1=\"$2\" за работа со настани не е дозволено за SVG-податотеки.", - "uploaded-href-attribute-svg": "На href-атрибутите во SVG-податотеки им е дозволено да водат само до цели со претставки http:// или https://, кои се наоѓаат на <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": "
    елементите може да водат (href) само до data: (вметната податотека), http:// или https://, или пак одредишта кои се fragment (#, ист документ). За останатите елементи како , се допуштаат само data: и fragment. Вметнете слики кога извезувате SVG. Најдено е <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "Пронајдов href кон небезбедни податоци: URI-цел <$1 $2=\"$3\"> во подигнатата SVG-податотека.", "uploaded-animate-svg": "Пронајдов ознака „animate“ што може да го менува href, користејќи го атрибутот „from“ <$1 $2=\"$3\"> во подигнатата SVG-податотека.", "uploaded-setting-event-handler-svg": "Задавањето на атрибути за работа со настани е спречено. Пронајдов <$1 $2=\"$3\"> во подигнатата SVG-податотека.", diff --git a/languages/i18n/ml.json b/languages/i18n/ml.json index 9011dcc717..5c35bf02b6 100644 --- a/languages/i18n/ml.json +++ b/languages/i18n/ml.json @@ -1220,7 +1220,7 @@ "recentchanges-submit": "പ്രദർശിപ്പിക്കുക", "rcfilters-tag-remove": "'$1' നീക്കംചെയ്യുക", "rcfilters-legend-heading": "ചുരുക്കെഴുത്തുകളുടെ പട്ടിക:", - "rcfilters-other-review-tools": "മറ്റ് സംശോധന ഉപകരണങ്ങൾ", + "rcfilters-other-review-tools": "മറ്റ് സംശോധന ഉപകരണങ്ങൾ", "rcfilters-group-results-by-page": "ഫലങ്ങൾ താളനുസരിച്ച് ഗണങ്ങളാക്കുക", "rcfilters-grouping-title": "ഗണങ്ങളാക്കൽ", "rcfilters-activefilters": "സജീവ അരിപ്പകൾ", @@ -1552,6 +1552,7 @@ "uploadstash-badtoken": "പ്രവൃത്തി വിജയകരമായിരുന്നില്ല, താങ്കളുടെ തിരുത്തുവാനുള്ള അവകാശങ്ങൾ ചിലപ്പോൾ കാലഹരണപ്പെട്ടിട്ടുണ്ടാകാം. വീണ്ടും ശ്രമിക്കുക.", "uploadstash-errclear": "പ്രമാണങ്ങൾ ശൂന്യമാക്കൽ വിജയകരമായിരുന്നില്ല.", "uploadstash-refresh": "പ്രമാണങ്ങളുടെ പട്ടിക പുതുക്കുക", + "uploadstash-thumbnail": "ലഘുചിത്രം കാണുക", "img-auth-accessdenied": "പ്രവേശനമില്ല", "img-auth-nopathinfo": "PATH_INFO ലഭ്യമല്ല.\nതാങ്കളുടെ സെർവർ ഈ വിവരം കൈമാറ്റം ചെയ്യാൻ തയ്യാറാക്കിയിട്ടില്ല.\nഅത് img_auth പിന്തുണയില്ലാത്ത സി.ജി.ഐ. അധിഷ്ഠിതമായ ഒന്നായിരിക്കാം.\nhttps://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization കാണുക.", "img-auth-notindir": "ആവശ്യപ്പെട്ട പാത അപ്‌‌ലോഡ് ഡയറക്റ്ററിയിൽ സജ്ജീകരിച്ചു നൽകിയിട്ടില്ല.", diff --git a/languages/i18n/mr.json b/languages/i18n/mr.json index 1d0f148f53..b38e64151c 100644 --- a/languages/i18n/mr.json +++ b/languages/i18n/mr.json @@ -1264,7 +1264,7 @@ "recentchanges-legend-plusminus": "(''±१२३'')", "recentchanges-submit": "दाखवा", "rcfilters-legend-heading": "लघुरूपांची यादी:", - "rcfilters-other-review-tools": "पुनरावलोकनाची इतर साधने", + "rcfilters-other-review-tools": "पुनरावलोकनाची इतर साधने", "rcfilters-group-results-by-page": "पानानुसार गट निकाल", "rcfilters-grouping-title": "गट करणे", "rcfilters-activefilters": "सक्रिय गाळण्या", diff --git a/languages/i18n/mwl.json b/languages/i18n/mwl.json index 5398faef47..47c997fd72 100644 --- a/languages/i18n/mwl.json +++ b/languages/i18n/mwl.json @@ -24,8 +24,8 @@ "tog-editsectiononrightclick": "Posseblitar l'eidiçon de cachos por clique cul boton dreito ne l títalo de la seçon", "tog-watchcreations": "Ajuntar las páiginas que you criar a las mies páiginas begiadas", "tog-watchdefault": "Ajuntar las páiginas que you eiditar a las mies páiginas begiadas", - "tog-watchmoves": "Ajuntar las páiginas que you mober a las mies páiginas begiadas", - "tog-watchdeletion": "Ajuntar las páiginas que you eileminar a las mies páiginas begiadas", + "tog-watchmoves": "Ajuntar las páiginas que you arrastrar a las mies páiginas begiadas", + "tog-watchdeletion": "Ajuntar las páiginas que you botar fuora a las mies páiginas begiadas", "tog-minordefault": "Por oumisson, marcar todas las eidiçones cumo menores", "tog-previewontop": "Amostrar l'antebison antes de la caixa d'eidiçon", "tog-previewonfirst": "Amostrar l'antebison na purmeira eidiçon", @@ -216,6 +216,7 @@ "badaccess": "Erro de premisson", "versionrequired": "Ye percisa la beson $1 de l MediaWiki", "ok": "OK", + "pagetitle": "$1 - {{SITENAME}}", "retrievedfrom": "Sacado an \"$1\"", "youhavenewmessages": "{{PLURAL:$3|Tu tenes}} $1 ($2).", "youhavenewmessagesfromusers": "{{PLURAL:$4|Ten}} $1 de {{PLURAL:$3|outro outelizador|$3 outelizadores}} ($2).", @@ -368,6 +369,7 @@ "minoredit": "Marcar cumo eidiçon pequerrixa", "watchthis": "Begiar esta páigina", "savearticle": "Grabar páigina", + "publishpage": "Publicar páigina", "publishchanges": "Publicar altaraçones", "preview": "Ber cumo queda", "showpreview": "Ber cumo queda", @@ -404,6 +406,7 @@ "template-protected": "(portegida)", "template-semiprotected": "(semi-protegida)", "hiddencategories": "Esta páigina faç parte {{PLURAL:$1|dua catadorie scundida|$1 duas catadories scundidas}}:", + "edittools": "", "nocreatetext": "{{SITENAME}} restringe la possibilidade de criar nuobas páiginas.\nPuode buoltar atrás i eiditar ua páigina yá eisistente, ó [[Special:UserLogin|outenticar-se ó criar ua cuonta]].", "permissionserrors": "Erro de permisson", "permissionserrorstext-withaction": "Tu nun tenes premisson pa $2, {{PLURAL:$1|pula seguinte rezon|pulas seguintes rezones}}:", @@ -674,6 +677,7 @@ "recentchangeslinked-to": "Amostrar antes altaraçones a páiginas que téngan a ber cula páigina dada", "upload": "Cargar fexeiro", "uploadbtn": "Cargar fexeiro", + "uploadtext": "Outelize l formulairo ambaixo pa cargar nuobos fexeiros.\nPa ber ó percurar fexeiros ambiados antes, cunsulte la [[Special:FileList|lhista de fexeiros]]. Las (re)cargaduras dun fexeiro son tamien registradas ne l [[Special:Log/upload|registro de cargaduras]], i ls fexeiros botados fuora ne l [[Special:Log/delete|registro de páiginas botadas fuora]].\n\nPa outelizar un fexeiro nua páigina, adepuis de cargar el, ansira ua lhigaçon cun un de ls seguintes formatos:\n* [[{{ns:file}}:Fexeiro.jpg]] pa amostrar ua eimaige nas sues dimensones oureginales;\n* [[{{ns:file}}:Fexeiro.png|200px|thumb|left|testo]] pa amostrar ua eimaige cula dimenson hourizuntal de 200 píxeles, drento dua caixa, na marge squierda, amostrando \"testo\" cumo çcriçon;\n* [[{{ns:media}}:Fexeiro.ogg]] pa ua lhigaçon direta al fexeiro sien que el seia amostrado.", "uploadlogpage": "Registro de carregamientos", "filename": "Nome de l fexeiro", "filedesc": "Çcriçon de l fexeiro", @@ -841,7 +845,7 @@ "removedwatchtext": "La páigina \"[[:$1]]\" i la sue páigina de cumbersa fúrun botadas fuora de la [[Special:Watchlist|tue lista de páiginas begiadas]].", "watch": "Begiar", "watchthispage": "Begiar esta páigina", - "unwatch": "Zantressar-se", + "unwatch": "Deixar de begiar", "watchlist-details": "{{PLURAL:$1|Eisiste $1 páigina|Eisisten $1 páiginas}} na sue lhista de páiginas begiadas (mais las páiginas de cumbersa).", "wlheader-enotif": "La notificaçon por correio eiletrónico stá atiba.", "wlheader-showupdated": "Las páiginas altaradas zde la redadeira beç que las besitou aparecen çtacadas an negrito.", @@ -870,7 +874,7 @@ "deletecomment": "Rezon:", "deleteotherreason": "Rezon adicional:", "deletereasonotherlist": "Outra rezon", - "deletereason-dropdown": "* Motibos d'eliminaçon quemuns\n** Spam\n** Bandalismo\n** Biolaçon de dreitos d'outor\n** Pedido de l'outor\n** Ancaminamiento ambálido", + "deletereason-dropdown": "* Motibos quemuns pa botar fuora\n** Spam\n** Bandalismo\n** Biolaçon de dreitos d'outor\n** Pedido de l outor\n** Ancaminamiento ambálido", "delete-edit-reasonlist": "Eiditar rezones de botar fuora", "deleting-backlinks-warning": "Abiso: Eisisten [[Special:WhatLinksHere/{{FULLPAGENAME}}|páiginas]] que cunténen lhigaçones ó que ancaminan pa la páigina que stá pristes a botar fuora.", "rollbacklink": "retornar", @@ -923,6 +927,7 @@ "year": "De l anho (i atrasados):", "sp-contributions-newbies": "Percurar solo an las cuntribuiçones de nuobas cuontas", "sp-contributions-newbies-sub": "Pa cuontas nuobas", + "sp-contributions-newbies-title": "Cuntrebuiçones de cuontas nuobas", "sp-contributions-blocklog": "registro de bloqueios", "sp-contributions-uploads": "cargaduras", "sp-contributions-logs": "registros", @@ -939,7 +944,7 @@ "nolinkshere": "Nun eisisten lhigaçones pa '''[[:$1]]'''.", "isredirect": "páigina de ancaminamiento", "istemplate": "ancluson", - "isimage": "lhigaçon d'eimaige", + "isimage": "lhigaçon pa l fexeiro", "whatlinkshere-prev": "{{PLURAL:$1|pa trás|$1 pa trás}}", "whatlinkshere-next": "{{PLURAL:$1|próssimo|próssimos $1}}", "whatlinkshere-links": "← lhigaçones", @@ -960,7 +965,7 @@ "blocklink": "bloquiar", "unblocklink": "zbloquiar", "change-blocklink": "altarar bloqueio", - "contribslink": "cuntribs", + "contribslink": "cuntrebuiçones", "blocklogpage": "Registro de bloqueios", "blocklogentry": "\"[[$1]]\" fui bloquiado cun un tiempo de balidade de $2 $3", "reblock-logentry": "modificou ls parámetros de l bloqueio de [[$1]] cun spiraçon de $2, $3", @@ -1058,6 +1063,8 @@ "tooltip-rollback": "\"{{int:rollbacklink}}\" çfazer, cun un solo clique, las eidiçones de l redadeiro eiditor desta páigina.", "tooltip-undo": "\"Çfazer\" çfaç esta eidiçoni abre ls campos de eidiçon ne l modo \"ber cumo queda\".\nPremite ajuntar la rezon de la eidiçon ne l sumário.", "tooltip-summary": "Screba un resumo brebe", + "common.css": "/* L código CSS quelocado eiqui será aplicado an todas las maçcarilhas */", + "common.js": "/* Qualquiera código JavaScript quelocado eiqui será cargado pa todos ls outelizadores an cada cargadura de páigina. */", "lastmodifiedatby": "Esta páigina fui eiditada pula redadeira beç a la(s) $2 de $1 por $3.", "simpleantispam-label": "Berificaçon contra spam.\nNun poner nada nesto!", "pageinfo-title": "Anformaçones subre \"$1\"", @@ -1213,6 +1220,7 @@ "tag-filter": "Filtrar las [[Special:Tags|etiquetas]]:", "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Eitiqueta|Eitiquetas}}]]: $2)", "tags-title": "Eitiquetas", + "tags-source-header": "Ourige", "tags-active-yes": "Si", "tags-active-no": "Nó", "tags-edit": "eiditar", diff --git a/languages/i18n/my.json b/languages/i18n/my.json index f852e58120..e7527c6451 100644 --- a/languages/i18n/my.json +++ b/languages/i18n/my.json @@ -910,7 +910,7 @@ "recentchanges-submit": "ပြသရန်", "rcfilters-tag-remove": "'$1' ကို ဖယ်ရှားရန်", "rcfilters-legend-heading": "အတိုကောက်များ စာရင်း:", - "rcfilters-other-review-tools": "အခြား ဆန်းစစ်ကိရိယာများ", + "rcfilters-other-review-tools": "အခြား ဆန်းစစ်ကိရိယာများ", "rcfilters-group-results-by-page": "စာမျက်နှာအလိုက် ရလဒ်များ အုပ်စုဖွဲ့ရန်", "rcfilters-grouping-title": "အုပ်စုဖွဲ့ခြင်း", "rcfilters-activefilters": "သက်ဝင်နေသာ filter များ", diff --git a/languages/i18n/nan.json b/languages/i18n/nan.json index 02ec826bff..a0e157696a 100644 --- a/languages/i18n/nan.json +++ b/languages/i18n/nan.json @@ -39,7 +39,7 @@ "tog-shownumberswatching": "Hián-sī tng leh khoàⁿ ê iōng-chiá sò͘-bo̍k", "tog-oldsig": "Lí kì-sêng ê chhiam-miâ:", "tog-fancysig": "共我的簽名當做文章文字,(無需要自動連結)", - "tog-uselivepreview": "Ēng sui khoàⁿ-māi", + "tog-uselivepreview": "Bián têng-lia̍h ia̍h-bīn ê preview tián-sī", "tog-forceeditsummary": "Pian-chi̍p khài-iàu bô thiⁿ ê sî-chūn, kā goá thê-chhéⁿ", "tog-watchlisthideown": "Kàm-sī-toaⁿ bián hián-sī goá ê pian-chi̍p", "tog-watchlisthidebots": "Kàm-sī-toaⁿ bián hián-sī ki-khì pian-chi̍p", @@ -207,7 +207,7 @@ "redirectedfrom": "(Tùi $1 choán--lâi)", "redirectpagesub": "Choán-ia̍h", "redirectto": "跳去:", - "lastmodifiedat": "Chit ia̍h tī $1, $2 ū kái--koè", + "lastmodifiedat": "Chit ia̍h siāng bóe tī $1, $2 ū pian-chi̍p--koè.", "viewcount": "Chit ia̍h kàu taⁿ, hō͘ lâng khoàⁿ $1 pái.", "protectedpage": "Siū pó-hō͘ ê ia̍h", "jumpto": "Thiàu khì:", @@ -345,7 +345,7 @@ "actionthrottled": "Tōng-chok hông tóng leh.", "actionthrottledtext": "Ūi tio̍h thê-hông lām-iōng, lí hông hān-chè tī té sî-kan lāi chò siuⁿ chē pái pún khoán tōng-chok, taⁿ lí í-keng chhiau-koè hān-chè.\nChhiáⁿ tī kúi hun-cheng āu chiah koh chhì.", "protectedpagetext": "Chit ia̍h hông só tiâu leh, bē pian-chi̍p tit, mā bē-tàng chò kî-thaⁿ oa̍h-tāng.", - "viewsourcetext": "Lí ē-sái khoàⁿ ia̍h khó͘-pih chit ia̍h ê goân-sú loē-iông:", + "viewsourcetext": "Lí thang koan-khoàⁿ kiam khó͘-pih chit ia̍h ê goân-sú-bé.", "viewyourtext": "你會使看你改的原始碼,並且khop去這頁:", "protectedinterface": "Chit ia̍h thê-kiong nńg-thé kài-bīn ēng ê bûn-jī. Ūi beh ī-hông lâng chau-that, só͘-í ū siū tio̍h pó-hō͘. Nā beh kái hoan-e̍k, chhiaⁿ khì Ûi-ki Mûi-thé chāi-tē-hoà sū-kang [https://translatewiki.net/ translatewiki.net] hiâ.", "editinginterface": "'''Sè-jī:''' Lí tng teh siu-kái 1 bīn thê-kiong nńg-thé kài-bīn bûn-jī ê ia̍h. Jīn-hô kái-piàn to ē éng-hióng tio̍h kî-thaⁿ iōng-chiá ê sú-iōng kài-bīn. Nā beh kái hoan-e̍k, chhiaⁿ khì Ûi-ki Mûi-thé chāi-tē-hoà sū-kang [https://translatewiki.net/ translatewiki.net] hiâ.", @@ -691,6 +691,8 @@ "recentchanges-label-plusminus": "Hit ia̍h kái liáu; cheng-chha ê ūi-goân-cho͘", "recentchanges-legend-heading": "Ké-soeh:", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (請參考[[Special:NewPages|新頁清單]])", + "rcfilters-legend-heading": "Kán-siá lia̍t-toaⁿ:", + "rcfilters-savedqueries-cancel-label": "Chhú-siau", "rcnotefrom": "Ē-kha sī $2 kàu taⁿ ê kái-piàn (ke̍k-ke hián-sī $1 hāng).", "rclistfrom": "Hián-sī tùi $3 $2 kàu taⁿ ê sin kái-piàn", "rcshowhideminor": "$1 sió siu-kái", @@ -1115,5 +1117,7 @@ "expand_templates_input": "Su-ji̍p bûn-jī:", "expand_templates_output": "Kiat-kó:", "expand_templates_remove_comments": "Comments the̍h tiāu", - "mw-widgets-mediasearch-input-placeholder": "搜揣媒體" + "mw-widgets-mediasearch-input-placeholder": "搜揣媒體", + "date-range-from": "Khai-sí ji̍t-chí:", + "date-range-to": "Kiat-sok ji̍t-chí:" } diff --git a/languages/i18n/nb.json b/languages/i18n/nb.json index e03c31511b..c9bdf45cd0 100644 --- a/languages/i18n/nb.json +++ b/languages/i18n/nb.json @@ -656,7 +656,7 @@ "anonpreviewwarning": "Du er ikke logget inn. Ved lagring vil IP-adressen din lagres i sidens redigeringshistorikk.", "missingsummary": "'''Påminnelse:''' Du har ikke lagt inn en redigeringsforklaring.\nVelger du ''Lagre siden'' en gang til blir endringene lagret uten forklaring.", "selfredirect": "Advarsel: Du omdirigerer denne siden til seg selv. Du kan ha oppgitt feil mål for omdirigeringen, eller kanskje du redigerer feil side. Om du klikker «$1» igjen vil omdirigeringen bli opprettet uansett.", - "missingcommenttext": "Vennligst legg inn en kommentar under.", + "missingcommenttext": "Vennligst legg inn en kommentar.", "missingcommentheader": "Påminnelse: Du har ikke angitt et emne/overskrift for denne kommentaren.\nOm du trykker «$1» igjen vil redigeringen din bli lagret uten forklaring.", "summary-preview": "Forhåndsvisning av redigeringsforklaring:", "subject-preview": "Forhåndsvisning av overskrift:", @@ -1328,7 +1328,7 @@ "recentchanges-submit": "Vis", "rcfilters-tag-remove": "Fjern «$1»", "rcfilters-legend-heading": "Liste over forkortelser:", - "rcfilters-other-review-tools": "Andre gjennomgangsverktøy", + "rcfilters-other-review-tools": "Andre gjennomgangsverktøy", "rcfilters-group-results-by-page": "Grupper resultater etter side", "rcfilters-grouping-title": "Gruppering", "rcfilters-activefilters": "Aktive filtre", @@ -1341,7 +1341,7 @@ "rcfilters-days-show-hours": "{{PLURAL:$1|Én time|$1 timer}}", "rcfilters-highlighted-filters-list": "Fremhevet: $1", "rcfilters-quickfilters": "Lagrede filtre", - "rcfilters-quickfilters-placeholder-title": "Ingen lenker lagret enda", + "rcfilters-quickfilters-placeholder-title": "Ingen filtre lagret enda", "rcfilters-quickfilters-placeholder-description": "For å lagre filterinnstillingene og gjenbruk dem senere, klikk på bokmerkeikonet i området Aktive Filtre under.", "rcfilters-savedqueries-defaultlabel": "Lagrede filtre", "rcfilters-savedqueries-rename": "Gi nytt navn", @@ -1381,7 +1381,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Uregistrerte", "rcfilters-filter-user-experience-level-unregistered-description": "Brukere som ikke er logget inn.", "rcfilters-filter-user-experience-level-newcomer-label": "Nykommere", - "rcfilters-filter-user-experience-level-newcomer-description": "Registrerte brukere med færre enn 10 redigeringer og 4 dagers aktivitet.", + "rcfilters-filter-user-experience-level-newcomer-description": "Registrerte brukere som har gjort færre enn 10 redigeringer eller vært aktive i mindre enn 4 dager.", "rcfilters-filter-user-experience-level-learner-label": "Nybegynnere", "rcfilters-filter-user-experience-level-learner-description": "Registrerte brukere med mer erfaring enn «Nykommere», men mindre enn «Erfarne brukere».", "rcfilters-filter-user-experience-level-experienced-label": "Erfarne brukere", @@ -1576,7 +1576,7 @@ "uploaded-script-svg": "Fant et skriptelement \"$1\" i den opplastede SVG-koden.", "uploaded-hostile-svg": "Fant usikker CSS i stilelementet til opplastet SVG-fil", "uploaded-event-handler-on-svg": "Å sette event-handler-attributtene $1=\"$2\" tillates ikke i SVG-filer.", - "uploaded-href-attribute-svg": "href-attributter i SVG-filer tillates kun for http://- eller https://-mål; fant <$1 $2=\"$3\"%gt;.", + "uploaded-href-attribute-svg": "-elementer kan bare lenke (href) til data:- (innbygde filer), http(s)://- eller fragmentmål (#, samme dokument). For andre elementer som tillates bare data:- og fragmentlenker. Prøv å bygge inn bilder når du eksporterer SVG-en din. Fant <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "Fant href til usikre data: URI-mål <$1 $2=\"$3\"> i den opplastede SVG-filen.", "uploaded-animate-svg": "Fant en «animate»-tagg som kan endre href, bruk attributtet «from» <$1 $2=\"$3\"> i den opplastede SVG-fila.", "uploaded-setting-event-handler-svg": "Setting av event-handler-attributter er blokkert, fant <$1 $2=\"$3\"> i den opplastede SVG-fila.", @@ -1939,7 +1939,7 @@ "apisandbox": "API-sandkasse", "apisandbox-jsonly": "JavaScript kreves for å bruke API-sandkassa.", "apisandbox-api-disabled": "API er deaktivert på dette nettstedet.", - "apisandbox-intro": "Bruk denne siden for å eksperimentere med MediaWiki webtjeneste-APIet.\nSjekk [[mw:API:Main page|API-dokumentasjonen]] for mer informasjon om bruk av APIet. Eksempel: [https://www.mediawiki.org/wiki/API#A_simple_example hente innholdet til en hovedside]. Velg en handling for å se flere eksempler.\n\nMerk at du kan utføre handlinger her som fører til endringer på wikien.", + "apisandbox-intro": "Bruk denne siden for å eksperimentere med webtjenesteprogrammeringsgrensesnittet til MediaWiki.\nSe [[mw:API:Main page|API-dokumentasjonen]] for mer informasjon om bruk. Eksempel: [https://www.mediawiki.org/wiki/API#A_simple_example hente innholdet til en hovedside]. Velg en handling for å se flere eksempler.\n\nMerk at selv om dette er en sandkasse så kan du utføre handlinger her som fører til endringer på wikien.", "apisandbox-fullscreen": "Utvid panelet", "apisandbox-fullscreen-tooltip": "Utvid sandkassepanelet så det dekker nettleservinduet.", "apisandbox-unfullscreen": "Vis siden", diff --git a/languages/i18n/nl.json b/languages/i18n/nl.json index fa66828452..6fc29108e0 100644 --- a/languages/i18n/nl.json +++ b/languages/i18n/nl.json @@ -693,7 +693,7 @@ "anonpreviewwarning": "''U bent niet aangemeld.''\n''Door uw bewerking op te slaan wordt uw IP-adres opgeslagen in de paginageschiedenis.''", "missingsummary": "'''Let op:''' u hebt geen bewerkingssamenvatting opgegeven.\nAls u nogmaals op \"$1\" klikt wordt de bewerking zonder samenvatting opgeslagen.", "selfredirect": "Waarschuwing: U heeft een doorverwijzing gemaakt naar deze pagina. Mogelijk heeft u de verkeerde bestemming voor de doorverwijzing gebruikt, of bewerkt u de verkeerde pagina. Door nogmaals op \"$1\" te klikken word de doorverwijzing alsnog aangemaakt.", - "missingcommenttext": "Plaats uw reactie hieronder.", + "missingcommenttext": "Plaats uw reactie.", "missingcommentheader": "Let op: u hebt geen onderwerp/kop voor deze opmerking opgegeven.\nAls u opnieuw op \"$1\" klikt, wordt uw wijziging zonder een onderwerp/kop opgeslagen.", "summary-preview": "Voorvertoning van de bewerkingssamenvatting:", "subject-preview": "Voorvertoning van het onderwerp:", @@ -1083,7 +1083,7 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Indische Oceaan", "timezoneregion-pacific": "Stille Oceaan", - "allowemail": "E-mail van andere gebruikers toestaan", + "allowemail": "Andere gebruikers toestaan mij e-mails te sturen", "email-blacklist-label": "Voorkom dat deze gebruikers e-mails naar mij kunnen sturen:", "prefs-searchoptions": "Zoeken", "prefs-namespaces": "Naamruimten", @@ -1364,7 +1364,7 @@ "recentchanges-submit": "Weergeven", "rcfilters-tag-remove": "Verwijder '$1'", "rcfilters-legend-heading": "Lijst met afkortingen:", - "rcfilters-other-review-tools": "Andere controlehulpmiddelen", + "rcfilters-other-review-tools": "Andere controlehulpmiddelen", "rcfilters-group-results-by-page": "Resultaten per pagina groeperen", "rcfilters-grouping-title": "Groeperen", "rcfilters-activefilters": "Actieve filters", @@ -1377,7 +1377,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|uur|uren}}", "rcfilters-highlighted-filters-list": "Uitgelicht: $1", "rcfilters-quickfilters": "Opgeslagen filters", - "rcfilters-quickfilters-placeholder-title": "Nog geen koppelingen opgeslagen", + "rcfilters-quickfilters-placeholder-title": "Nog geen filters opgeslagen", "rcfilters-quickfilters-placeholder-description": "Om uw filterinstellingen op te slaan en later te kunnen hergebruiken, klik op het bladwijzer pictogram in het Actieve Filter gebied beneden.", "rcfilters-savedqueries-defaultlabel": "Opgeslagen filters", "rcfilters-savedqueries-rename": "Hernoemen", @@ -1417,7 +1417,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Niet-geregistreerd", "rcfilters-filter-user-experience-level-unregistered-description": "Bewerkers die niet zijn aangemeld.", "rcfilters-filter-user-experience-level-newcomer-label": "Nieuwkomers", - "rcfilters-filter-user-experience-level-newcomer-description": "Geregistreerde bewerkers met minder dan 10 bewerkingen en 4 dagen van activiteit.", + "rcfilters-filter-user-experience-level-newcomer-description": "Geregistreerde bewerkers die minder dan 10 bewerkingen hebben gemaakt of 4 dagen actief zijn geweest.", "rcfilters-filter-user-experience-level-learner-label": "Leerlingen", "rcfilters-filter-user-experience-level-learner-description": "Geregistreerde bewerkers met meer ervaring dan \"nieuwkomers\", maar minder dan \"ervaren gebruikers\".", "rcfilters-filter-user-experience-level-experienced-label": "Ervaren gebruikers", @@ -1612,7 +1612,7 @@ "uploaded-script-svg": "Scriptbaar element \"$1\" in het geüploade SVG-bestand gevonden.", "uploaded-hostile-svg": "Onveilige CSS in het \"style\"-element van het geüploade SVG-bestand gevonden.", "uploaded-event-handler-on-svg": "Het instellen van de event-handlereigenschappen $1=\"$2\" is niet toegestaan in SVG-bestanden.", - "uploaded-href-attribute-svg": "\"href\"-kenmerken in SVG-bestanden zijn alleen toegestaan als koppeling naar http:// of https://. Aangetroffen is <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": " elementen kunnen alleen verwijzen (href) naar data: (ingebed bestand), http:// of https://, of een url-fragment (#, van het document zelf). Voor andere elementen zoals zijn alleen data: en url-fragmenten toegestaan. Probeer afbeeldingen in te voegen wanneer u uw SVG exporteert. Aangetroffen is <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "href naar onveilig gegevens: URI-doel <$1 $2=\"$3\"> in het geüploade SVG-bestand gevonden.", "uploaded-animate-svg": "\"animate\"-label gevonden in het geüploade svg-bestand die href zou kunnen veranderen, met behulp van het \"from\"-attribuut <$1 $2=\"$3\">.", "uploaded-setting-event-handler-svg": "Het instellen van de event-handlereigenschappen is geblokkeerd, <$1 $2=\"$3\"> gevonden in het geüploade SVG-bestand.", diff --git a/languages/i18n/or.json b/languages/i18n/or.json index 62f0c48c1f..3f7ec0d17a 100644 --- a/languages/i18n/or.json +++ b/languages/i18n/or.json @@ -64,7 +64,6 @@ "underline-never": "କେବେନୁହେଁ", "underline-default": "ବ୍ରାଉଜର କିମ୍ବା ସ୍କିନରେ ଆଗରୁ ଥିବା ସୁବିଧା", "editfont-style": "ଫଣ୍ଟ ଶୈଳୀକୁ ବଦଳାଇବେ:", - "editfont-default": "ବ୍ରାଉଜରରେ ଆଗରୁ ଥିବା ସୁବିଧା", "editfont-monospace": "ମନୋସ୍ପେସ ଥିବା ଫଣ୍ଟ", "editfont-sansserif": "ସାନ୍ସ-ସେରିଫ ଫଣ୍ଟ", "editfont-serif": "ସେରିଫ ଫଣ୍ଟ", @@ -581,7 +580,7 @@ "savearticle": "ସାଇତିବେ [Save]", "savechanges": "ସାଇତିବେ [Save]", "publishpage": "ପୃଷ୍ଠା ପ୍ରକାଶ କରନ୍ତୁ", - "publishchanges": "ବଦଳଗୁଡିକ ପ୍ରକାଶ କରନ୍ତୁ", + "publishchanges": "ବଦଳଗୁଡ଼ିକ ପ୍ରକାଶ କରନ୍ତୁ", "preview": "ସାଇତିବା ଆଗରୁ ଦେଖନ୍ତୁ", "showpreview": "ଦେଖଣା [Preview]", "showdiff": "ବଦଳଗୁଡ଼ିକ ଦେଖାଇବେ", @@ -642,7 +641,6 @@ "explainconflict": "ଆପଣ ବଦଳାଇବା ଆରମ୍ଭ କରିବା ଭିତରେ କେହିଜଣେ ଏହି ପୃଷ୍ଠାକୁ ବଦଳାଇଛନ୍ତି ।\nଉପର ଲେଖା ଜାଗାଟି ଏହା ଯେମିତି ଅଛି ସେମିତି ଥିବା ଲେଖାଟି ଦେଖାଉଛି ।\nତଳ ଜାଗାଟିରେ ଆପଣ କରିଥିବା ବଦଳ ଦେଖାଉଛି ।\nଏବେ ଥିବା ଲେଖାରେ ଆପଣଙ୍କୁ ନିଜ ବଦଳକୁ ମିଶାଇବାକୁ ହେବ ।\nଯଦି ଆପଣ \"$1\" ଦବାନ୍ତି ତେବେ '''କେବଳ''' ଉପର ଲେଖାଟି ସାଇତା ହୋଇଯିବ ।", "yourtext": "ଆପଣଙ୍କ ଲେଖା", "storedversion": "ସାଇତା ସଙ୍କଳନ", - "nonunicodebrowser": "'''ଚେତାବନୀ: ଆପଣଙ୍କ ବ୍ରାଉଜରରେ ଇଉନିକୋଡ଼ ସଚଳ କରାଯାଇନାହିଁ ।'''\nଏକ ୱର୍କାଆରାଉଣ୍ଡ ଏକ ଏହିପରି ଜାଗା ଯାହା ଆପଣଙ୍କୁ ନିରାପଦ ଭାବରେ ପୃଷ୍ଠା ସମ୍ପାଦନ କରିବାରେ ସାହାଯ୍ୟ କରିଥାଏ: ଅଣ-ASCII ଅକ୍ଷରସମୂହ ସମ୍ପାଦନା ଘରେ ହେକ୍ସାଡେସିମାଲ କୋଡ଼ ରୂପେ ଦେଖାଯିବ ।", "editingold": "'''ଚେତାବନୀ: ଆପଣ ଏହି ପୃଷ୍ଠାର ଏକ ଅଚଳ ପୁରାତନ ସଙ୍କଳନକୁ ବଦଳାଉଛନ୍ତି ।'''\nଯଦି ଆପଣ ଏହାକୁ ସାଇତିବେ, ନୂଆ ସଙ୍କଳନ ଯାଏଁ କରାଯାଇଥିବା ସବୁ ବଦଳ ନଷ୍ଟ ହୋଇଯିବ ।", "yourdiff": "ତଫାତ", "copyrightwarning": "ଦୟାକରି ଜାଣିରଖନ୍ତୁ ଯେ {{SITENAME}}କୁ ସବୁଯାକ ଅବଦାନ $2 ଅଧିନରେ ପ୍ରକାଶ କରାଯିବ । (ଅଧିକ ଜାଣିବା ପାଇଁ $1 ଦେଖନ୍ତୁ)\nଯଦି ଆପଣ ନିଜର ଲେଖା ନିର୍ଦୟ ଭାବେ ସମ୍ପାଦିତ ହେଉ ବୋଲି ଚାହୁଁନାହାନ୍ତି ବା ବଣ୍ଟନ କରାଯାଉ ବୋଲି ଚାହୁଁ ନାହାନ୍ତି ତେବେ ତାହା ଏଠାରେ ଦିଅନ୍ତୁ ନାହିଁ ।
    \nଆପଣ ଆମପକ୍ଷେ ମଧ୍ୟ ପ୍ରତିଜ୍ଞା କରୁଛନ୍ତି ଯେ ଏହା ଆପଣ ନିଜେ ଲେଖିଛନ୍ତି, କିମ୍ବା ଏକ ପବ୍ଲିକ ଡୋମେନରୁ ବା ମାଗଣା ଓ ଖୋଲା ଲାଇସେନ୍ସ ଥିବା ସାଇଟରୁ ନକଲ କରି ଆଣିଛନ୍ତି ।\n'''ଅନୁମତି ବିନା ସ୍ଵତ୍ତ୍ଵାଧିକାର ଥିବା କାମ ଏଠାରେ ଦିଅନ୍ତୁ ନାହିଁ !'''", @@ -1933,7 +1931,6 @@ "block": "ସଭ୍ୟଙ୍କୁ ଅଟକାଇବେ", "unblock": "ବାସନ୍ଦ ହୋଇଥିବା ସଭ୍ୟଙ୍କୁ ମୁକୁଳାଇବେ", "blockip": "{{GENDER:$1|ଜଣ ସଭ୍ୟଙ୍କୁ}} ଅଟକାନ୍ତୁ", - "blockip-legend": "ସଭ୍ୟଙ୍କୁ ବାସନ୍ଦ କରିବେ", "blockiptext": "ଏକ ନିର୍ଦିଷ୍ଟ IP ଠିକଣା ବା ବ୍ୟବହାରକାରୀଙ୍କ ଲେଖିବା ସୁବିଧାକୁ ବାରାଁ କରିବା ନିମନ୍ତେ ଏହି ତଳ ଫର୍ମଟି ବ୍ୟବହାର କରନ୍ତୁ ।\nଏହା କେବଳ ଅପବ୍ୟବହାରକୁ ରୋକିବା ନିମନ୍ତେ କରାଯାଇଥାଏ, ଏହା [[{{MediaWiki:Policy-url}}|ନୀତି]] ଅନୁସାରେ କରାଯାଇଥାଏ ।\nଏହା ତଳେ ଏକ ନିର୍ଦିଷ୍ଟ କାରଣ ଦିଅନ୍ତୁ (ଯଥା, ଯେଉଁସବୁ ପୃଷ୍ଠାରେ କିଛି ପ୍ରକାରର ଅପବ୍ୟବହାର କରାଯାଇଛି) ।", "ipaddressorusername": "ବ୍ୟବହାରକାରୀଙ୍କର IP ଠିକଣା ବା ଇଉଜର ନାମ:", "ipbexpiry": "ମିଆଦ:", diff --git a/languages/i18n/pl.json b/languages/i18n/pl.json index 7d42c2058f..2d48b61259 100644 --- a/languages/i18n/pl.json +++ b/languages/i18n/pl.json @@ -92,7 +92,8 @@ "InternerowyGołąb", "Wojtas", "Kastanoto", - "Sebek Adamowicz" + "Sebek Adamowicz", + "Cholewka" ] }, "tog-underline": "Podkreślenie linków:", @@ -753,6 +754,7 @@ "yourtext": "Twój tekst", "storedversion": "Zapisana wersja", "editingold": "'''Uwaga! Edytujesz starszą niż bieżąca wersję tej strony.\nJeśli ją zapiszesz, wszystkie zmiany wykonane w międzyczasie zostaną wycofane.'''", + "unicode-support-fail": "Wygląda na to, że Twoja przeglądarka nie obsługuje Unikodu. Jest on wymagany do edytowania stron, więc Twoja edycja nie została zapisana.", "yourdiff": "Różnice", "copyrightwarning": "Wkład na {{SITENAME}} jest udostępniany na licencji $2 (szczegóły w $1). Jeśli nie chcesz, żeby Twój tekst był dowolnie zmieniany przez każdego i rozpowszechniany bez ograniczeń, nie umieszczaj go tutaj.
    \nZapisując swoją edycję, oświadczasz, że ten tekst jest Twoim dziełem lub pochodzi z materiałów dostępnych na warunkach ''domeny publicznej'' lub kompatybilnych.\n'''PROSZĘ NIE WPROWADZAĆ MATERIAŁÓW CHRONIONYCH PRAWEM AUTORSKIM BEZ POZWOLENIA WŁAŚCICIELA!'''", "copyrightwarning2": "Wszelki wkład na {{SITENAME}} może być edytowany, zmieniany lub usunięty przez innych użytkowników.\nJeśli nie chcesz, żeby Twój tekst był dowolnie zmieniany przez każdego i rozpowszechniany bez ograniczeń, nie umieszczaj go tutaj.
    \nZapisując swoją edycję, oświadczasz, że ten tekst jest Twoim dziełem lub pochodzi z materiałów dostępnych na warunkach ''domeny publicznej'' lub kompatybilnych (zobacz także $1).\n'''PROSZĘ NIE WPROWADZAĆ MATERIAŁÓW CHRONIONYCH PRAWEM AUTORSKIM BEZ POZWOLENIA WŁAŚCICIELA!'''", @@ -1087,7 +1089,7 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Ocean Indyjski", "timezoneregion-pacific": "Ocean Spokojny", - "allowemail": "Zgadzam się, by inni użytkownicy mogli przesyłać do mnie e‐maile", + "allowemail": "Inni użytkownicy mogą przesyłać do mnie e‐maile", "prefs-searchoptions": "Wyszukiwanie", "prefs-namespaces": "Przestrzenie nazw", "default": "domyślnie", @@ -1367,7 +1369,7 @@ "recentchanges-submit": "Pokaż", "rcfilters-tag-remove": "Usuń '$1'", "rcfilters-legend-heading": "Wykaz skrótów:", - "rcfilters-other-review-tools": "Inne narzędzia do sprawdzania", + "rcfilters-other-review-tools": "Inne narzędzia do sprawdzania", "rcfilters-group-results-by-page": "Grupuj wyniki według stron", "rcfilters-grouping-title": "Grupowanie", "rcfilters-activefilters": "Aktywne filtry", @@ -1380,7 +1382,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|godzina|godziny|godzin}}", "rcfilters-highlighted-filters-list": "Podświetlono: $1", "rcfilters-quickfilters": "Zapisane filtry", - "rcfilters-quickfilters-placeholder-title": "Nie masz jeszcze zapisanych linków", + "rcfilters-quickfilters-placeholder-title": "Nie masz jeszcze zapisanych filtrów", "rcfilters-quickfilters-placeholder-description": "Aby zapisać ustawienia filtrów i używać ich później, kliknij ikonkę zakładki w polu aktywnych filtrów znajdującym się niżej.", "rcfilters-savedqueries-defaultlabel": "Zapisane filtry", "rcfilters-savedqueries-rename": "Zmień nazwę", @@ -1420,7 +1422,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Niezarejestrowani", "rcfilters-filter-user-experience-level-unregistered-description": "Niezalogowani", "rcfilters-filter-user-experience-level-newcomer-label": "Początkujący", - "rcfilters-filter-user-experience-level-newcomer-description": "Zarejestrowani edytorzy z mniej niż 10 edycji i 4 dni aktywności.", + "rcfilters-filter-user-experience-level-newcomer-description": "Zarejestrowani edytorzy, którzy mają mniej niż 10 edycji lub 4 dni aktywności.", "rcfilters-filter-user-experience-level-learner-label": "Uczący się", "rcfilters-filter-user-experience-level-learner-description": "Zarejestrowani edytujący, których doświadczenie plasuje się między „Nowicjuszami”, a „Doświadczonymi użytkownikami”.", "rcfilters-filter-user-experience-level-experienced-label": "Doświadczeni użytkownicy", diff --git a/languages/i18n/ps.json b/languages/i18n/ps.json index f360215845..1e13db1077 100644 --- a/languages/i18n/ps.json +++ b/languages/i18n/ps.json @@ -306,39 +306,58 @@ "databaseerror-query": "تپوس: $1", "databaseerror-function": "کړنه: $1", "databaseerror-error": "تېروتنه: $1", + "transaction-duration-limit-exceeded": "د لوړ عکس العمل د منځګړیتوب څخه مخنیوي لپاره، دا لیږد رد شو ځکه چې د لیک لیک ($1) د $2 دویم محدوديت څخه تیریږي.\nکه تاسو په یوه وخت کې ډیری توکي بدلولی شئ، په ځای یې د ډیرو کوچنیو عملیاتو کولو هڅه وکړئ.", "laggedslavemode": "'''گواښنه:''' په دې مخ کې کېدای شي تازه اوسمهالېدنې نه وي.", "readonly": "توکبنسټ تړل شوی", "enterlockreason": "د بنديز يو سبب وليکۍ، او همداراز د بنديز د ليرې کېدلو يوه اټکليزه نېټه هم څرگنده کړۍ", + "readonlytext": "ډیټابیس اوس مهال د نویو ثبتونو او نورو ترمیمونو سره تړلی دی، شاید د معمول ډیټابیس ساتنه لپاره، وروسته له هغې چې دا به نورمال ته راشي.\n\nد سیسټم مدیر چې چا بند کړی یې یې دا توضیحي وړاندیز کړی: $1", "missing-article": "توکبنسټ د \"$1\" $2 په نامه د ورکړ شوي مخ متن چې بايد موندلی يې وای، و نه موند.\n\nدا ستونزه اکثراً د يوه ړنگ شوي مخ د پېښليک يا توپير د تړنو په څارلو کې رامېنځ ته کېږي.\n\nکه چېرته داسې نه وي، نو بيا کېدای شي چې په ساوترې کې کومه تېروتنه رابرسېره شوې وي.\nلطفاً د دې چارې راپور د URL په نښه کولو سره يوه [[Special:ListUsers/sysop|پازوال]] ته ورکړۍ.", "missingarticle-rev": "(مخليدنه#: $1)", "missingarticle-diff": "(توپير: $1، $2)", "readonly_lag": "د اصلي توکبنسټ سره د فرعي توکبنسټ پالنگرانو د همغاړېتوب پخاطر دا توکبنسټ په خپلکاره توگه تړل شوی", + "nonwrite-api-promise-error": "ژمنه - غیر-لیک-API-Action 'HTTP سرپرست واستول شو مګر دا غوښتنه د API لیکل ماډل ته وه.", "internalerror": "کورنۍ تېروتنه", "internalerror_info": "کورنۍ تېروتنه: $1", + "internalerror-fatal-exception": "د \"$1\" ډول ډول ډول ډول استثناء", "filecopyerror": "د \"$1\" په نامه دوتنه مو \"$2\" ته و نه لمېسلای شوه.", "filerenameerror": "د \"$1\" په نامه د دوتنې نوم \"$2\" ته بدل نه شو.", "filedeleteerror": "د \"$1\" دوتنه ړنگه نه شوه.", "directorycreateerror": "د \"$1\" په نامه ليکلړ جوړ نه شو.", + "directoryreadonlyerror": "ډایرکټري \"$1\" یواځې لوستل دي.", + "directorynotreadableerror": "ډایرکټري \"$1\" د لوست وړ ندی.", "filenotfound": "د \"$1\" دوتنه مو و نه موندله.", "unexpected": "نا اټکله شمېره: \"$1\"=\"$2\".", "formerror": "ستونزه: فورمه مو و نه سپارل شوه", "badarticleerror": "په دې مخ دا کړنه نه شي ترسره کېدلای.", "cannotdelete": "د \"$1\" مخ يا دوتنې ړنگېدنه ترسره نه شوه.\nکېدای شي چې وار دمخې دا کوم بل چا ړنگه کړې وي.", "cannotdelete-title": "د \"$1\" مخ نشي ړنگېدای", + "delete-hook-aborted": "ړنګول د هک په واسطه وتړل شو.\nدې توضیحات نه ورکوي.", + "no-null-revision": "د \"$1\" مخ لپاره نوی ناباوره بیاکتنه نشي کولی", "badtitle": "ناسم سرليک", "badtitletext": "ستاسې د غوښتل شوي مخ سرليک سم نه وو، يا مو د سرليک ځای تش وو او يا هم د ژبو خپلمنځي تړنې څخه يا د ويکي گانو خپلمنځي سرليکونو څخه يو ناسم توری مو پکې کارولی وي.\nکېدای شي چې ستاسې په ورکړ شوي سرليک کې يو يا څو داسې توري وي چې د سرليک په توگه بايد و نه کارېږي.", + "title-invalid-empty": "د غوښتل شوي مخ سرلیک خالي دی یا د نوم نوم ځای یوازې نوم لري.", + "title-invalid-utf8": "د غوښتل شوي پاڼې سرلیک یو ناباوره UTF-8 ترتیب لري.", "title-invalid-interwiki": "په سرليک کې يوه ويکي خپلمنځي تړنه ده", + "title-invalid-talk-namespace": "د غوښتل شوي مخ عنوان د خبرو پاڼې ته اشاره کوي چې شتون نلري.", + "title-invalid-characters": "د غوښتل شوي مخ سرلیک غلط ډولونه لري: \"$1\".", + "title-invalid-relative": "سرلیک اړیکې لري. د اړیکو پاڼې سرلیکونه (./، ​​../) ناباوره دي، ځکه چې دوی به ډیری وختونه غیر فعال وي کله چې د کارن د لټونګر لخوا اداره کیږي.", + "title-invalid-magic-tilde": "د غوښتل شوي مخ سرلیک د ناباوره جادو ټیلډ ترتیب لري (~~~).", + "title-invalid-too-long": "د غوښتل شوې پاڼې سرلیک اوږده دی. دا باید د $ 1 څخه ډیر نه وي {{PLURAL: $1 | بټی | بايټس}} په UTF-8 انکینډ کې.", + "title-invalid-leading-colon": "د غوښتل شوي پاڼې سرلیک په پیل کې یو ناسمه برنامه لري.", "perfcached": "لاندينی اومتوک په حافظه کې ساتل شوی او کېدای شي اوسمهاله شوی نه وي. اکثر بريد له مخې {{PLURAL:$1|يوه پايله|$1 پايلې}} په حافظه کې شته.", "perfcachedts": "لاندې راغلی اومتوک په حافظه کې ساتل شوی او وروستی ځل په $1 هم مهاله شوی. په ساتلې حافظې کې ډېر تر ډېره {{PLURAL:$4|يوه پايله ده|$4 پايلې دي}}.", "querypage-no-updates": "د دې مخ اوسمهالېدنې ناچارن شوي.\nپه ښکاره توگه د دې ځای اومتوک به نه وي تازه شوي.", "viewsource": "سرچينه کتل", "viewsource-title": "د $1 سرچينه کتل", "actionthrottled": "د دې کړنې مخنيوی وشو", + "actionthrottledtext": "د ناوړه چلند ضد اقدام په توګه، تاسو د دې عمل ترسره کولو څخه لږ وخت په لنډ وخت کې محدود یاست، او تاسو له دې حد څخه تیر شوی.\nلطفا په څو دقیقو کې بیا بیا هڅه وکړئ.", "protectedpagetext": "دا مخ د سمون او نورو کړنو د ترسره کولو په تکل ژغورل شوی.", "viewsourcetext": "تاسې د دې مخ سرچينه کتلی او لمېسلی شی.", "viewyourtext": "په دې مخ کې تاسې د خپلو سمونونو سرچينه کتلی او لمېسلی شی.", "protectedinterface": "دا مخ د دې ويکي د ساوترې د ليدنمخ متن لري، او د ورانکارۍ په خاطر ژغورل شوی.\nپه ټولو ويکي گانو کې د ژباړې د ورگډولو او يا هم د ژباړې د سمون او بدلون لپاره د مېډياويکي د ځايتابه پروژه [https://translatewiki.net/ translatewiki.net] وکاروۍ.", "editinginterface": "گواښنه: تاسې چې په دې مخ کې بدلون راولۍ همدا مخ د يوې ساوترې د ليدنمخ متن په توگه کارېږي.\nد دې مخ بدلون به د ټولو کارنانو لپاره د ليدنمخ بڼه اغېزمنه کړي.", + "translateinterface": "د ټولو ويکي ګانو دژباړې لپاره لطفا [https://translatewiki.net/ ژباړه ويکي. نيټ]، څخه کار واخلي. د ميډياويکي سيمه ييز کولو پروژه.", + "cascadeprotected": "دا پاڼه د سمولو څخه خوندي شوې ده، ځکه چې دا په لاندې {{PLURAL:$1 |ډول}} دی.\n$2", "namespaceprotected": "تاسې د '''$1''' په نوم-تشيال کې د مخونو د سمولو اجازه نه لرۍ.", "customcssprotected": "تاسې د دې CSS مخ د سمولو اجازه نه لرۍ، دا ځکه چې دا مخ د بل کارن شخصي امستنې لري.", "customjsprotected": "تاسې د دې جاواسکرېپټ مخ د سمولو اجازه نه لرۍ، دا ځکه چې دا مخ د بل کارن شخصي امستنې لري.", @@ -348,6 +367,7 @@ "mypreferencesprotected": "تاسې د خپلو غوره توبونو د سمولو اجازه نلرۍ.", "ns-specialprotected": "ځانگړي مخونو کې سمون او بدلون نه شی راوستلای.", "titleprotected": "د [[User:$1|$1]] لخوا د دې سرليک د جوړېدلو مخنيوی شوی.\nاو د دې کړنې سبب $2 ورکړ شوی.", + "filereadonlyerror": "د \"$1\" دوتنې سمولو توان نلري ځکه چې د دوتنې ذخیره \"$2\" د لوستلو یواځې موډل کې ده.\n\nد سیسټم مدیر چې چا یې بند کړی دی دا توضیحي وړاندیز کړی: \"$3\".", "invalidtitle-knownnamespace": "ناسم سرليک د \"$2\" نومتشيال او \"$3\" متن سره", "invalidtitle-unknownnamespace": "ناسم سرليک د ناڅرگند نومتشيال شمېرې $1 او \"$2\" متن سره", "exception-nologin": "غونډال کې نه ياست ننوتي", @@ -358,6 +378,7 @@ "virus-unknownscanner": "ناڅرگند ضدويروس:", "logouttext": "'''اوس تاسې د غونډال څخه ووتلئ.'''\n\nدا په پام کې وساتۍ چې تر څو تاسې د خپل کتنمل حافظه نه وي سپينه کړې، نو ځينې مخونو کې به لا تر اوسه پورې په غونډال کې ننوتي ښکارۍ.", "cannotlogoutnow-title": "وس نسم کولاي بهر تري ووځم", + "cannotlogoutnow-text": "وتل ناممکنه دي تر څو چي $1 کاروي.", "welcomeuser": "$1، ښه راغلې!", "welcomecreation-msg": "گڼون مو جوړ شو.\nد [[Special:Preferences|{{SITENAME}} غوره توبونه]] بدلول مو مه هېروۍ.", "yourname": "کارن-نوم:", @@ -373,11 +394,17 @@ "createacct-yourpasswordagain-ph": "پټنوم مو بيا وټاپئ", "userlogin-remembermypassword": "غونډال کې مې ننوتلی وساته", "userlogin-signwithsecure": "خوندي اړيکتيا کارول", + "cannotlogin-title": "نسم کولای چې دننه سم", + "cannotlogin-text": "وتل ناممکنه دي", "cannotloginnow-title": "نسم کولای چې دننه سم", + "cannotloginnow-text": "ننوتل ناممکنه دي تر څو چي $1 کاروي.", "cannotcreateaccount-title": "گڼونونه نه شي جوړېدای", + "cannotcreateaccount-text": "په دې ويکي کې د مستقيم ګڼون جوړول ناممکنه دي.", "yourdomainname": "ستاسې شپول:", "password-change-forbidden": "تاسې په دې ويکي باندې خپل پټنوم نه شی بدلولی.", + "externaldberror": "د یا د تصدیق کولو ډیټابیس تېروتنه وه یا تاسو ته د خپل بهرني حساب نوي کولو اجازه نه لرئ.", "login": "ننوتل", + "login-security": "خپل هویت تایید کړئ", "nav-login-createaccount": "ننوتل / گڼون جوړول", "logout": "وتل", "userlogout": "وتل", @@ -388,15 +415,18 @@ "userlogin-resetpassword-link": "پټنوم مو هېر شوی؟", "userlogin-helplink2": "په ننوتلو کې مرسته", "userlogin-loggedin": "تاسې له پخوا څخه د {{GENDER:$1|$1}} په نوم ننوتلي ياست.\nد لاندينۍ فورمې په کارولو سره تاسې د بل کارن په توگه ننوتلی شی.", + "userlogin-reauth": "تاسو بايد ننوځي بیا تصدیق وکړئ چې تاسو {{GENDER:$1|$1}} یاست.", "userlogin-createanother": "بل گڼون جوړول", "createacct-emailrequired": "برېښليک پته", "createacct-emailoptional": "برېښليک پته (اختياري)", "createacct-email-ph": "برېښليک پته مو وټاپئ", "createacct-another-email-ph": "برېښليک پته مو ورکړئ", "createaccountmail": "يو لنډمهاله ناټاکلی پټنوم کارول او ځانگړې شوې برېښليک پتې ته ورلېږل", + "createaccountmail-help": "د کاروونې زده کړې پرته د بل چا لپاره د حساب جوړولو لپاره کارول کیدی شي.", "createacct-realname": "آر نوم (اختياري)", "createacct-reason": "سبب", "createacct-reason-ph": "تاسې ولې بل گڼون جوړوئ؟", + "createacct-reason-help": "پیغام د حساب جوړونې په نښه کې ښودل شوی", "createacct-submit": "گڼون مو جوړ کړئ", "createacct-another-submit": "گڼون جوړول", "createacct-continue-submit": "د گڼون جوړول شروع کړي.", @@ -406,12 +436,15 @@ "createacct-benefit-body2": "{{PLURAL:$1|مخ|مخونه}}", "createacct-benefit-body3": "{{PLURAL:$1|وروستنی ونډه وال|وروستني ونډه وال}}", "badretype": "دا پټنوم چې تاسې ليکلی د مخکني پټنوم سره ورته نه دی.", + "usernameinprogress": "د دې کارن نوم لپاره د حساب جوړونې کار روان دی.\nهیله کيږي لږ صبر وکړه.", "userexists": "کوم کارن نوم چې تاسې ورکړی هغه بل چا کارولی.\nلطفاً يو بل نوم وټاکۍ.", "loginerror": "د ننوتلو ستونزه", "createacct-error": "د گڼون جوړېدنې ستونزه", "createaccounterror": "گڼون مو جوړ نه شو: $1", "nocookiesnew": "ستاسې گڼون جوړ شو، خو تاسې لا غونډال ته نه ياست ورننوتلي.\n{{SITENAME}} کې د ننوتلو لپاره کوکيز کارېږي.\nاو ستاسې د کتنمل کوکيز ناچارن دي.\nلطفاً خپل د کتنمل کوکيز چارن کړۍ او بيا د خپل کارن-نوم او پټنوم په کارولو سره غونډال ته ورننوځی.", "nocookieslogin": "{{SITENAME}} کې د ننوتلو لپاره کوکيز کارېږي.\nاو ستاسې د کتنمل کوکيز ناچارن دي.\nلطفاً خپل د کتنمل کوکيز چارن کړۍ او بيا د خپل کارن-نوم او پټنوم په کارولو سره غونډال ته ورننوځی.", + "nocookiesfornew": "د کارن حساب نه و جوړ شوی، ځکه چې موږ د دې سرچینې تصدیق نه شو کولی.\nډاډ ترلاسه کړئ چې تاسو کوکیز فعال کړي، دا پاڼه بیاپټ کړئ او بیا هڅه وکړئ.", + "createacct-loginerror": "ګڼون په بریالیتوب سره جوړ شو خو تاسو په اتوماتيک ډول نشو کارولی. مهرباني وکړئ [[Special:UserLogin|ننوتلو]] ته لاړ شي.", "noname": "تاسې تر اوسه پورې کوم کره کارن نوم نه دی ځانگړی کړی.", "loginsuccesstitle": "غونډال کې ورننوتلۍ", "loginsuccess": "'''تاسې اوس {{SITENAME}} کې د \"$1\" په نوم ننوتي ياست.'''", @@ -423,6 +456,7 @@ "wrongpasswordempty": "تاسې پټنوم نه دی ليکلی. لطفاً سر له نوي يې وليکۍ.", "passwordtooshort": "بايد چې پټنوم مو لږ تر لږه {{PLURAL:$1|1 توری|$1 توري}} وي.", "passwordtoolong": "پټنوم مو بايد له {{PLURAL:$1|1 توري|$1 تورو}} څخه اوږد نه وي.", + "passwordtoopopular": "عموما غوره شوي پاسورډونه نشي کارولای. مهربانی وکړئ یو بل ځانګړی پاسورډ غوره کړئ.", "password-name-match": "ستاسې پټنوم بايد ستاسې د کارن-نوم سره توپير ولري.", "password-login-forbidden": "د دې کارن-نوم او پټنوم په کارېدنې بنديز دی.", "mailmypassword": "پټنوم بياپرځايول", @@ -433,8 +467,9 @@ "passwordsent": "د \"$1\" لپاره يو نوی پټنوم د اړونده کارن برېښليک پتې ته ولېږل شو.\nلطفاً کله چې پټنوم مو ترلاسه کړ نو بيا غونډال ته ننوځۍ.", "blocked-mailpassword": "ستاسې په IP پتې بنديز لگېدلی او تاسې نه شی کولای چې ليکنې وکړی، په همدې توگه تاسې نه شی کولای چې د پټنوم د پرځای کولو کړنې وکاروی دا ددې لپاره چې د وراني مخنيوی وشي.", "eauthentsent": "ستاسې برېښليک پتې ته مو يو تاييدي برېښليک درولېږه.\nتر دې دمخه چې ستاسې گڼون ته کوم بل برېښليک درولېږو، بايد تاسې په برېښليک کې درلېږل شوې لارښوونې پلي کړی او د دې پخلی وکړی چې همدا گڼون په رښتيا ستاسې خپل دی.", + "throttled-mailpassword": "A password reset email has already been sent, within the last {{PLURAL:$1|hour|$1 hours}}.\nTo prevent abuse, only one password reset email will be sent per {{PLURAL:$1|hour|$1 hours}}.", "mailerror": "د برېښليک د لېږلو ستونزه: $1", - "acct_creation_throttle_hit": "د همدې ويکي کارنانو په وروستيو ورځو کې ستاسې د IP پتې په کارولو سره {{PLURAL:$1|1 گڼون|$1 گڼونونه}} جوړ کړي، چې دا په همدې مودې کې د گڼونونو د جوړولو تر ټولو ډېر شمېر دی چې اجازه يې ورکړ شوې.\nنو په همدې خاطر د اوس لپاره د همدې IP پتې کارنان نه شي کولای چې نور گڼونونه جوړ کړي.", + "acct_creation_throttle_hit": "د همدې ويکي کارنانو په وروستيو ورځو کې ستاسې د IP پتې په کارولو سره {{PLURAL:$2|1 گڼون|$1 گڼونونه}} جوړ کړي، چې دا په همدې مودې کې د گڼونونو د جوړولو تر ټولو ډېر شمېر دی چې اجازه يې ورکړ شوې.\nنو په همدې خاطر د اوس لپاره د همدې IP پتې کارنان نه شي کولای چې نور گڼونونه جوړ کړي.", "emailauthenticated": "ستاسې برېښليک پته په $2 په $3 بجو د منلو وړ وگرځېده.", "emailnotauthenticated": "لا تر اوسه ستاسې برېښليک پته د منلو وړ نه ده گرځېدلې. د لاندې ځانگړتياو لپاره به تاسې ته هېڅ کوم برېښليک و نه لېږل شي.", "noemailprefs": "ددې لپاره چې دا کړنې کار وکړي نو تاسو يو برېښليک وټاکۍ.", @@ -448,13 +483,18 @@ "createaccount-text": "يو چا د {{SITENAME}} په وېبځي ($4) کې ستاسې د برېښليک پتې لپاره د \"$2\" په نامه يو گڼون جوړ کړی چې پټنوم يې \"$3\" دی.\nتاسې بايد غونډال ته ورننوځۍ او همدا اوس خپل پټنوم بدل کړی.\n\nکه چېرته دا کړنه په تېروتنه کې شوی وي نو تاسې کولای شی چې دا پيغام بابېزه وگڼۍ.", "login-throttled": "تاسې څو واره هڅه کړې چې غونډال ته ورننوځۍ.\nلطفاً د بيا هڅې نه مخکې $1 شېبې تم شۍ.", "login-abort-generic": "غونډال کې مو ننوتل نابرياله شوه - ناڅاپي بند شو", + "login-migrated-generic": "ستاسو حساب لغوه شوی، او ستاسو کارن-نوم اوس په دې ويکي نه شتون لري.", "loginlanguagelabel": "ژبه: $1", + "suspicious-userlogout": "د ننوتلو لپاره ستاسو غوښتنه رد شوې وه ځکه چې داسې ښکاري چې دا د مات شوي براؤزر یا کیچاک پراکسي لخوا لیږل شوی.", + "createacct-another-realname-tip": "اصلي نوم اختیاري دی.\nکه تاسو دا وټاکئ انتخاب کړئ، دا به د دوی د کار لپاره د کارن انتفاع ورکول لپاره کارول کیږي.", "pt-login": "ننوتل", "pt-login-button": "ننوتل", + "pt-login-continue-button": "همداسې دننه يي پريږدي", "pt-createaccount": "گڼون جوړول", "pt-userlogout": "وتل", "php-mail-error-unknown": "د PHP برېښليک () کړنو کې ناڅرگنده ستونزه.", "user-mail-no-addy": "د يوې برېښليک پتې پرته د برېښليک لېږلو هڅه شوې.", + "user-mail-no-body": "تاسو هڅه کوله چې لنډ یا خالي بریښناليک ولېږئ.", "changepassword": "پټنوم بدلول", "resetpass_announce": "د ننوتلو د بشپړېدلو لپاره بايد تاسې يو نوی پټنوم وټاکئ.", "resetpass_text": "", @@ -466,6 +506,9 @@ "changepassword-success": "ستاسې پټنوم بدل شو!", "changepassword-throttled": "تاسې څو واره هڅه کړې چې غونډال ته ورننوځۍ.\nلطفاً د بيا هڅې نه مخکې $1 شېبې تم شۍ.", "botpasswords": "روباټ پټنومونه", + "botpasswords-existing": "د بوټ موجود پټ نومونه", + "botpasswords-createnew": "نوی پټنوم (پاسورډ) جوړ کړي", + "botpasswords-editexisting": "د بوټ موجود پاسورډ جوړ کړئ", "botpasswords-label-appid": "روباټ نوم:", "botpasswords-label-create": "جوړول", "botpasswords-label-update": "اوسمهالول", @@ -473,6 +516,15 @@ "botpasswords-label-delete": "ړنگول", "botpasswords-label-resetpassword": "پټوم بدل کړي", "botpasswords-label-grants": "تطبیق وړ ګرانټ:", + "botpasswords-label-grants-column": "ورکړل شو", + "botpasswords-bad-appid": "د بوټ نوم \"$1\" وجود نلري.", + "botpasswords-insert-failed": "د بوټ \"$1\" نوم په ورګډولو کي پاتې راغلې دا نوم د پخوا څخه ورګډ سوي وو?", + "botpasswords-created-title": "د بوټ پټنوم جوړ شو", + "botpasswords-created-body": "د بوټ پټنوم د بوټ \"$1\" د کارن \"$2\" لپاره جوړ شو.", + "botpasswords-updated-title": "د بوټ پټنوم آپډيټ سو", + "botpasswords-updated-body": "د بوټ پټنوم د بوټ \"$1\" د کارن \"$2\" لپاره آپډيټ شو.", + "botpasswords-deleted-title": "د بوټ پټنوم ړنګ شو", + "botpasswords-deleted-body": "د بوټ پټنوم د بوټ \"$1\" د کارن \"$2\" لپاره ړنګ شو.", "resetpass_forbidden": "پټنومونه مو نه شي بدلېدلای", "resetpass-no-info": "دې مخ ته د لاسرسي لپاره بايد غونډال کې ورننوځۍ.", "resetpass-submit-loggedin": "پټنوم بدلول", @@ -542,7 +594,7 @@ "blankarticle": "خبرتیا: تاسو د یو خالي مخ جوړلو په حال کي ياست.\nکه «$1» دوهم ځلي کښي کاږي، نو مخ به د معلوماتو بغير جوړ سي.", "anoneditwarning": "گواښنه: تاسې غونډال کې نه ياست ننوتي. که تاسې کوم سمونونه ترسره کوۍ نو ستاسې IP پته به ټولو ته د دې مخ د سمونونو په پېښليک کې ښکاري. که تاسې په خپل نوم [$1 کې ننوځئ] يا [$2 يو گڼون جوړ کړئ]، نو ستاسې سمونونه به ستاسې کارن-نوم اړونده ثبت شي چې ډېرې نورې گټې هم لري.", "anonpreviewwarning": "''تاسې غونډال ته نه ياست ننوتي. خوندي کولو سره به ستاسې IP پته به د دې مخ د سمونونو په پېښليک کې ثبت شي.''", - "missingcommenttext": "لطفاً تبصره لاندې وليکۍ.", + "missingcommenttext": "لطفاً کمينټ لاندې وليکۍ.", "summary-preview": "د لنډيز مخليدنه:", "subject-preview": "د پروژې بيا ليدنه:", "previewerrortext": "د بدلونونو د مخليدنو په وخت کې مو يوه ستونزه رامېنځ ته شوه.", @@ -645,7 +697,7 @@ "page_first": "لومړنی", "page_last": "وروستنی", "histlegend": "د توپير ټاکنه: د هرې هغې بڼې پرتلنه چې تاسې غواړۍ نو د هماغې بڼې چوکاټک په نښه کړی او بيا په لاندينۍ تڼۍ وټوکۍ.
    \nلنډيز: (اوس) = د اوسنۍ بڼې سره توپير،\n(وروست) = د وروستۍ بڼې سره توپير، و = وړه سمونه.", - "history-fieldset-title": "پېښليک سپړل", + "history-fieldset-title": "پېښليک ولټوي", "history-show-deleted": "يواځې ړنگ شوي", "histfirst": "تر ټولو زاړه", "histlast": "تر ټولو نوي", @@ -661,6 +713,7 @@ "rev-delundel": "ښکارېدنه بدلول", "rev-showdeleted": "ښکاره کول", "revisiondelete": "د ړنگولو/ناړنگولو مخکتنې", + "revdelete-nooldid-title": "ناباوره پيښنليک ته اشاره", "revdelete-no-file": "ځانگړې شوې دوتنه نشته.", "revdelete-show-file-submit": "هو", "revdelete-selected-text": "د [[:$2]] {{PLURAL:$1|ټاکلې بڼه|ټاکلې بڼې}}:", @@ -691,6 +744,7 @@ "revdelete-reasonotherlist": "بل سبب", "revdelete-edit-reasonlist": "د ړنگولو سببونه سمول", "revdelete-offender": "د مخکتنې ليکوال:", + "suppressionlog": "ننوتل لوستل", "mergehistory": "د مخ پېښليکونه سره يوځای کول", "mergehistory-box": "د دوه مخونو بڼې سره اخږل:", "mergehistory-from": "د سرچينې مخ:", @@ -700,6 +754,7 @@ "mergehistory-submit": "بڼې سره يوځای کول", "mergehistory-done": "د $1 $3 {{PLURAL:$3|بڼه|بڼې}} په برياليتوب سره و [[:$2]] کې {{PLURAL:$3|واخږل شو|واخږل شول}}.", "mergehistory-fail-bad-timestamp": "وخت ټاپه ناسمه ده.", + "mergehistory-fail-invalid-source": "د مخ سرچينې ناباوره دي.", "mergehistory-no-source": "د سرچينې مخ $1 نشته.", "mergehistory-no-destination": "د $1 موخنيز مخ نشته.", "mergehistory-invalid-source": "د سرچينې مخ بايد يو سم سرليک وي.", @@ -722,7 +777,7 @@ "editundo": "ناکړ", "diff-empty": "(بې توپيره)", "diff-multi-sameuser": "(د همدغه کارن لخوا {{PLURAL:$1|يوه منځوۍ بڼه نه ده ښکاره شوې|$1 منځوۍ بڼې نه دي ښکاره شوي}})", - "diff-multi-otherusers": "(د همدغه کارن لخوا {{PLURAL:$1|يوه منځوۍ بڼه نه ده ښکاره شوې|$1 منځوۍ بڼې نه دي ښکاره شوي}})", + "diff-multi-otherusers": "(د همدغه کارن لخوا {{{{PLURAL:$2|پلورل}}|يوه منځوۍ بڼه نه ده ښکاره شوې|$1 منځوۍ بڼې نه دي ښکاره شوي}})", "searchresults": "د پلټنې پايلې", "searchresults-title": "د \"$1\" د پلټنې پايلې", "titlematches": "د مخ سرليک ورسره ورته دی", @@ -753,9 +808,10 @@ "search-category": "(وېشنيزه $1)", "search-file-match": "(د دوتنو مېنځپانگې سره ورته دي)", "search-suggest": "آيا همدا مو موخه وه: $1", - "search-interwiki-caption": "خورلڼې پروژې", + "search-interwiki-caption": "د خورلڼو پروژو پایلې", "search-interwiki-default": "پايلې له $1 څخه:", "search-interwiki-more": "(نور)", + "search-interwiki-more-results": "نورې پايلې", "search-relatedarticle": "اړونده", "searchrelated": "اړونده", "searchall": "ټول", @@ -763,6 +819,7 @@ "showingresultsinrange": "دلته لاندې د #$2 تر #$3 حدونو پورې {{PLURAL:$1|1 پايله|$1 پايلې}} ښکارېږي.", "search-showingresults": "{{PLURAL:$4|$1 پايله، ټولټال $3|$1 - $2 پايلې، ټولټال $3}}", "search-nonefound": "ستاسې دغوښتنې اړونده پايلې و نه موندل شوې.", + "search-nonefound-thiswiki": "ستاسې دغوښتنې اړونده پايلې و نه موندل شوې.", "powersearch-legend": "ژوره پلټنه", "powersearch-ns": "په نوم-تشيالونو کې پلټنه:", "powersearch-togglelabel": "نښه کول:", @@ -770,6 +827,9 @@ "powersearch-togglenone": "هېڅ", "powersearch-remember": "د راتلونکو پلټنو لپاره همدا ټاکنې په ياد ساتل", "search-external": "باندنۍ پلټنه", + "searchdisabled": "{{SITENAME}} لټون نافعال شوی.\nتاسو کولی شئ د ګوګل له لارې په عین حال کې لټون وکړئ.\nپه ياد ولرئ چې د {{SITENAME}} منځپانګې انډول ښايي بي نېټې وي.", + "search-error": "د لټون په وخت کې یوه تېروتنه رامنځته شوه: $1", + "search-warning": "د لټون کولو په وخت کې یو خبرداری راغلی دی:$1", "preferences": "غوره توبونه", "mypreferences": "غوره توبونه", "prefs-edits": "د سمونو شمېر:", @@ -790,6 +850,7 @@ "prefs-watchlist-days": "د ورځو شمېر چې په کتنلړ کې به ښکاري:", "prefs-watchlist-days-max": "حد اکثر $1 {{PLURAL:$1|ورځ|ورځې}}", "prefs-watchlist-edits-max": "د شمېر اکثر بريد: 1000", + "prefs-watchlist-token": "د کتنې ټوکن:", "prefs-misc": "بېلابېل", "prefs-resetpass": "پټنوم بدلول", "prefs-changeemail": "برېښليک پته بدلول يا ليرې کول", @@ -807,6 +868,7 @@ "recentchangescount": "د هغو سمونو شمېر چې په تلواليزه بڼه ښکاره بايد شي:", "prefs-help-recentchangescount": "پدې کې د وروستني بدلونونو، د مخونو د پېښليکونو او يادښتونه شامل دي.", "savedprefs": "غوره توبونه مو خوندي شول.", + "savedrights": "د کاروونکو ګروپونه {{GENDER:$1|$1}} خوندي شوه.", "timezonelegend": "د وخت سيمه:", "localtime": "سيمه ايز وخت:", "timezoneuseserverdefault": "د ويکي تلواليزه بڼه کارول ($1)", @@ -836,6 +898,7 @@ "username": "{{GENDER:$1|کارن نوم}}:", "prefs-memberingroups": "د {{PLURAL:$1|ډله|ډلې}} {{GENDER:$2|غړی}}:", "prefs-memberingroups-type": "$1", + "group-membership-link-with-expiry": "$1 (تر $2)", "prefs-registration": "د نومليکنې وخت:", "prefs-registration-date-time": "$1", "yourrealname": "اصلي نوم:", @@ -1022,8 +1085,30 @@ "recentchanges-legend-plusminus": "(±123)", "recentchanges-submit": "ښکاره کول", "rcfilters-tag-remove": "لرې کړئ'$1'", + "rcfilters-activefilters": "فعال فيلټرونه", + "rcfilters-advancedfilters": "پرمختللي فلټرونه", + "rcfilters-limit-title": "د ښودلو لپاره بدلونونه", + "rcfilters-limit-shownum": "آخري ښودنه {{PLURAL:$1|changes|$1 بدلونونه}}", + "rcfilters-days-title": "وروستي ورځي", + "rcfilters-hours-title": "وروستي ساعتونه", + "rcfilters-days-show-days": "$1 {{PLURAL:$1|day|ورځې}}", + "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hour|ساعتونه}}", + "rcfilters-highlighted-filters-list": "لوړ شوی: $1", + "rcfilters-quickfilters": "خوندي شوی فلټرونه", + "rcfilters-quickfilters-placeholder-title": "هيڅ فيلټر نه دي صفت سوي", + "rcfilters-savedqueries-defaultlabel": "خوندي شوی فيلټرونه", "rcfilters-savedqueries-rename": "نوم بدلول", + "rcfilters-savedqueries-setdefault": "د فرض په ډول کښېږدي.", + "rcfilters-savedqueries-unsetdefault": "د فرض په ډول لري کونه", + "rcfilters-savedqueries-remove": "لري کول", + "rcfilters-savedqueries-new-name-label": "نوم", + "rcfilters-savedqueries-new-name-placeholder": "د فلټر هدف بیان کړئ", + "rcfilters-savedqueries-apply-label": "جوړ فيلټرونه", + "rcfilters-savedqueries-apply-and-setdefault-label": "د فرض په ډول د فيلټر جوړول", + "rcfilters-savedqueries-cancel-label": "ناگارل", + "rcfilters-savedqueries-add-new-title": "د امستنې اوسنۍ فيلټر خوندي کړي", "rcfilters-filterlist-title": "چاڼگران", + "rcfilters-highlightmenu-title": "يو رنګ وټاکۍ", "rcfilters-filter-user-experience-level-newcomer-label": "نوي راغلي", "rcfilters-filter-user-experience-level-learner-label": "زده کوونکي", "rcnotefrom": "دلته لاندې د $2 څخه راپدېخوا پېښ شوي بدلونونه راغلي (تر $1 پورې ښکاري).", @@ -1144,6 +1229,7 @@ "upload-http-error": "د HTTP يوه ستونزه رامېنځ ته شوې: $1", "upload-dialog-title": "دوتنه پورته کول", "upload-dialog-button-cancel": "ناگارل", + "upload-dialog-button-back": "پر شا کېدل", "upload-dialog-button-done": "ترسره شو", "upload-dialog-button-save": "خوندي کول", "upload-dialog-button-upload": "پورته کول", @@ -1170,6 +1256,7 @@ "uploadstash-refresh": "د دوتنو لړليک بياتازه کول", "img-auth-accessdenied": "لاسرسی رد شو", "img-auth-nofile": "د $1 په نوم کومه دوتنه نشته.", + "img-auth-streaming": "سټريمينګ \"$1\".", "http-invalid-url": "ناسم URL: $1", "http-read-error": "د HTTP د لوستلو ستونزه.", "http-timed-out": "د HTTP غوښتنې وخت اوښتی.", @@ -1953,7 +2040,7 @@ "pageinfo-header-properties": "د مخ ځانتياوې", "pageinfo-display-title": "ښکارېدونکی سرليک", "pageinfo-default-sort": "تلواليزه اوډن کونجۍ", - "pageinfo-length": "مخ اوږدوالی (په بايټونو)", + "pageinfo-length": "د مخ اوږدوالی (د تورو له مخې)", "pageinfo-article-id": "د مخ پېژند", "pageinfo-language": "د مخ د مېنځپانگې ژبه", "pageinfo-content-model": "د مخ مېنځپانگې جوړښت", @@ -2166,7 +2253,7 @@ "exif-unknowndate": "ناڅرگنده نېټه", "exif-orientation-1": "نورمال", "exif-componentsconfiguration-0": "نشته دی", - "exif-exposureprogram-1": "لاسي", + "exif-exposureprogram-1": "لارښوونيز", "exif-exposureprogram-2": "نورماله پروگرام", "exif-subjectdistance-value": "$1 متره", "exif-meteringmode-0": "ناجوت", @@ -2624,12 +2711,21 @@ "changecredentials-submit": "بدلول", "removecredentials-submit": "غورځول", "credentialsform-account": "گڼون نوم:", + "linkaccounts": "ورګډ سوي ګڼونونه", + "linkaccounts-success-text": "ګڼون ورګډ سو.", + "linkaccounts-submit": "لينک کڼوڼونه", + "unlinkaccounts": "ناخوښه ګڼونونه", + "unlinkaccounts-success": "ګڼون ناخوښه سو.", + "restrictionsfield-badip": "ناباوره آي پي آدرس او حدود د : $1", + "restrictionsfield-label": "اجازه ورکړل شوي آي پي حدودونه:", + "revid": "بیاکتنه $1", "pageid": "د مخ پېژند$1", "rawhtml-notallowed": "لیبلونه <html> د منظمو ليکنو څخه بهر نشي کارول کیدی.", "gotointerwiki": "{{SITENAME}} پريښودل", "gotointerwiki-invalid": "ټاکل شوی سرلیک نامعلوم دی.", "gotointerwiki-external": "تاسي د {{SITENAME}} د پريښودلو په حال کې یاست لیدلو لپاره [[$2]]، کوم یو جلا ویب پاڼه ده.\n\n'''[$1 دوام ورکونه و $1 ته]'''", "undelete-cantedit": "تاسو دا مخ شيه ړنګولي ځکه چې تاسو د دا پامخ د سمون اجازه نه لرئ.", + "pagedata-title": "د پاڼې ډاټا", "pagedata-not-acceptable": "د سمون نمونه ونه موندل شوه. ملاتړ شوي ميمي ډولونه: $1", "pagedata-bad-title": "ناسم سرليک: $1" } diff --git a/languages/i18n/pt-br.json b/languages/i18n/pt-br.json index 2712013539..ba89a6693b 100644 --- a/languages/i18n/pt-br.json +++ b/languages/i18n/pt-br.json @@ -112,7 +112,8 @@ "WikiUser22222", "BarbaraAckles", "Trigonometria87", - "RadiX" + "RadiX", + "Fitoschido" ] }, "tog-underline": "Link sublinhado:", @@ -721,7 +722,7 @@ "anonpreviewwarning": "''Você não está logado. Gravar registará o seu endereço IP no histórico de edições desta página.''", "missingsummary": "'''Lembrete:''' Você não introduziu um sumário de edição. Se clicar novamente em Salvar, a sua edição será salva sem um sumário.", "selfredirect": "Aviso: Você esta redirecionando esta pagina para ela mesmo. Você pode ter especificado o caminho errado para redirecionar, ou você pode estar editando a pagina errada. Se você clicar \"$1\" novamente, o redirecionamento será criado de qualquer modo.", - "missingcommenttext": "Por favor, introduzida um comentário abaixo.", + "missingcommenttext": "Por favor, digite um comentário.", "missingcommentheader": "'''Lembrete:''' Você não introduziu um assunto/título para este comentário.\nSe você clicar novamente \"$1\", a sua edição será salva sem um assunto/título.", "summary-preview": "Previsão do resumo de edição:", "subject-preview": "Previsão do assunto/título:", @@ -1111,8 +1112,8 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Oceano Índico", "timezoneregion-pacific": "Oceano Pacífico", - "allowemail": "Permitir que outros usuários me enviem e-mails", - "email-blacklist-label": "Proibir que esses usuários me enviem e-mails:", + "allowemail": "Permitir que outros usuários enviem-me e-mails", + "email-blacklist-label": "Proibir que estes usuários enviem-me e-mails:", "prefs-searchoptions": "Busca", "prefs-namespaces": "Espaços nominais", "default": "padrão", @@ -1173,7 +1174,7 @@ "viewinguserrights": "Visualizar os privilégios {{GENDER:$1|do usuário|da usuária}} [[User:$1|$1]] $2", "userrights-editusergroup": "Editar grupos {{GENDER:$1|do usuário|da usuária|do(a) usuário(a)}}", "userrights-viewusergroup": "Ver grupos de {{GENDER:$1|usuários}}", - "saveusergroups": "Salvar grupos de{{GENDER:$1|usuário}}", + "saveusergroups": "Salvar grupos {{GENDER:$1|do usuário|da usuária|do(a) usuário(a)}}", "userrights-groupsmember": "Membro de:", "userrights-groupsmember-auto": "Membro implícito de:", "userrights-groups-help": "É possível alterar os grupos em que {{GENDER:$1|este usuário|esta usuária|este(a) usuário(a)}} se encontra:\n* Uma caixa de seleção selecionada significa que {{GENDER:$1|o usuário|a usuária|o(a) usuário(a)}} encontra-se no grupo.\n* Uma caixa de seleção não selecionada significa que {{GENDER:$1|o usuário|a usuária|o(a) usuário(a)}} não se encontra no grupo.\n* Um * indica que não pode remover o grupo depois de o adicionar, ou vice-versa.\n* Um # indica que você só pode atrasar o tempo de expiração dos membros deste grupo; você não pode aumentá-lo.", @@ -1392,7 +1393,7 @@ "recentchanges-submit": "Exibir", "rcfilters-tag-remove": "Remover '$1'", "rcfilters-legend-heading": "Lista de abreviaturas:", - "rcfilters-other-review-tools": " Outras ferramentas de revisão:", + "rcfilters-other-review-tools": " Outras ferramentas de revisão:", "rcfilters-group-results-by-page": "Agrupar resultado por página", "rcfilters-grouping-title": "Agrupamento", "rcfilters-activefilters": "Filtros ativos", @@ -1405,7 +1406,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hora|horas}}", "rcfilters-highlighted-filters-list": "Realçado: $1", "rcfilters-quickfilters": "Filtros salvos", - "rcfilters-quickfilters-placeholder-title": "Ainda não foi gravado nenhum link", + "rcfilters-quickfilters-placeholder-title": "Ainda não foi salvado nenhum filtro", "rcfilters-quickfilters-placeholder-description": "Para gravar as suas configurações dos filtros e reutilizá-las mais tarde, clique o ícone do marcador de página, na área Filtro Ativo abaixo.", "rcfilters-savedqueries-defaultlabel": "Filtros salvos", "rcfilters-savedqueries-rename": "Renomear", @@ -1445,7 +1446,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Não registados", "rcfilters-filter-user-experience-level-unregistered-description": "Editores que não estão autenticados.", "rcfilters-filter-user-experience-level-newcomer-label": "Recém-chegados", - "rcfilters-filter-user-experience-level-newcomer-description": "Menos de 10 edições e 4 dias de atividade.", + "rcfilters-filter-user-experience-level-newcomer-description": "Editores registrados com menos de 10 edições ou 4 dias de atividade.", "rcfilters-filter-user-experience-level-learner-label": "Aprendizes", "rcfilters-filter-user-experience-level-learner-description": "Mais experiência do que \"Novatos\", mas menos do que \"Usuários experientes\".", "rcfilters-filter-user-experience-level-experienced-label": "Usuários experientes", @@ -1475,7 +1476,7 @@ "rcfilters-filtergroup-watchlistactivity": "Atividade da lista de observação", "rcfilters-filter-watchlistactivity-unseen-label": "Mudanças não vistas", "rcfilters-filter-watchlistactivity-unseen-description": "Modificações nas páginas que você não visitou desde as alterações ocorridas.", - "rcfilters-filter-watchlistactivity-seen-label": "Ver mudanças", + "rcfilters-filter-watchlistactivity-seen-label": "Mudanças vistas", "rcfilters-filter-watchlistactivity-seen-description": "Modificações nas páginas que visitou desde as alterações ocorridas.", "rcfilters-filtergroup-changetype": "Tipo de mudança", "rcfilters-filter-pageedits-label": "Edições em páginas", @@ -1640,7 +1641,7 @@ "uploaded-script-svg": "Encontrado elemento de script \"$1\" no arquivo SVG carregado.", "uploaded-hostile-svg": "Encontrado CSS inseguro no elemento de estilo do arquivo SVG carregado.", "uploaded-event-handler-on-svg": "Não é permitido configurar atributos que manipulem eventos $1=\"$2\" em arquivos SVG.", - "uploaded-href-attribute-svg": "os atributos href nos ficheiros SVG só están autorizados a ligar a direccións http:// ou https://, atopado <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": "
    os elementos só podem vincular (href) aos dados: (arquivo incorporado), http:// ou https://, ou fragmento (#, same-document) alvos. Para outros elementos, como , apenas dados: e os fragmentos são permitidos. Tente incorporar imagens ao exportar seu SVG. Encontrado <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "Encontrado href para dados não seguros: alvo URI <$1 $2=\"$3\"> no arquivo SVG carregado.", "uploaded-animate-svg": "Encontrado a tag \"animate\" que pode estar mudando \"href\", usando o atributo \"from\" <$1 $2=\"$3\"> no arquivo SVG carregado.", "uploaded-setting-event-handler-svg": "A definição de atributos controladores de eventos está bloqueada. Foi detetado <$1 $2=\"$3\"> no arquivo SVG carregado.", @@ -1995,7 +1996,7 @@ "nopagetitle": "Página alvo não existe", "nopagetext": "A página alvo especificada não existe.", "pager-newer-n": "{{PLURAL:$1|posterior|$1 posteriores}}", - "pager-older-n": "{{PLURAL:$1|1 anterior|$1 anteriores}}", + "pager-older-n": "{{PLURAL:$1|anterior|$1 anteriores}}", "suppress": "Suprimir", "querypage-disabled": "Esta página especial está desativada para não prejudicar o desempenho.", "apihelp": "Ajuda de API", @@ -2551,7 +2552,7 @@ "ipb_blocked_as_range": "Erro: O IP $1 não se encontra bloqueado de forma direta, não podendo ser desbloqueado deste modo. Se encontra bloqueado como parte do \"range\" $2, o qual pode ser desbloqueado.", "ip_range_invalid": "Gama de IPs inválida.", "ip_range_toolarge": "Intervalos de bloqueio maiores do que /$1 não são permitidos", - "ip_range_exceeded": "O intervalo de IP excede o seu alcance máximo. Intervalo permitido:: /$1.", + "ip_range_exceeded": "O intervalo de IP excede o seu alcance máximo. Intervalo permitido: /$1.", "ip_range_toolow": "Os intervalos de IP não são efetivamente permitidos.", "proxyblocker": "Bloqueador de proxy", "proxyblockreason": "O seu endereço de IP foi bloqueado por ser um proxy público. Por favor contacte o seu fornecedor do serviço de Internet ou o apoio técnico e informe-os deste problema de segurança grave.", @@ -2686,7 +2687,7 @@ "thumbnail_image-failure-limit": "Houveram muitas tentativas falhas recentemente ($1 ou mais) de criação desta miniatura. Por favor, tente novamente mais tarde.", "import": "Importar páginas", "importinterwiki": "importar páginas a partir de outra wiki", - "import-interwiki-text": "Selecione um wiki e um título de página para importar.\nAs datas das edições e os seus editores serão mantidos.\nTodas as ações de importação transwiki são registradas no [[Special:Log/import|Registro de importações]].", + "import-interwiki-text": "Selecione uma wiki e o título de uma página que deseje importar.\nAs datas das edições e os seus editores serão mantidos.\nTodas as ações de importação transwiki são registradas no [[Special:Log/import|Registro de importações]].", "import-interwiki-sourcewiki": "Fonte wiki:", "import-interwiki-sourcepage": "Página de origem:", "import-interwiki-history": "Copiar todas as edições para esta página", diff --git a/languages/i18n/pt.json b/languages/i18n/pt.json index 755b581822..6403757489 100644 --- a/languages/i18n/pt.json +++ b/languages/i18n/pt.json @@ -240,7 +240,7 @@ "history_small": "histórico", "updatedmarker": "atualizado desde a minha última visita", "printableversion": "Versão para impressão", - "permalink": "Hipeligação permanente", + "permalink": "Hiperligação permanente", "print": "Imprimir", "view": "Ver", "view-foreign": "Ver em $1", @@ -1070,7 +1070,7 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Oceano Índico", "timezoneregion-pacific": "Oceano Pacífico", - "allowemail": "Aceitar correio eletrónico de outros utilizadores", + "allowemail": "Permitir que outros utilizadores me enviem correio eletrónico", "email-blacklist-label": "Proibir estes utilizadores de me enviarem correio eletrónico:", "prefs-searchoptions": "Pesquisa", "prefs-namespaces": "Domínios", @@ -1338,7 +1338,7 @@ "recentchanges": "Mudanças recentes", "recentchanges-legend": "Opções das mudanças recentes", "recentchanges-summary": "Acompanhe nesta página as mudanças mais recentes da wiki.", - "recentchanges-noresult": "Não foi realizada nenhuma alteração correspondente a esses critérios durante o período selecionado.", + "recentchanges-noresult": "Não foi realizada nenhuma alteração que corresponda a estes critérios durante o período especificado.", "recentchanges-feed-description": "Acompanhe neste ''feed'' as mudanças mais recentes da wiki.", "recentchanges-label-newpage": "Esta edição criou uma nova página", "recentchanges-label-minor": "Esta é uma edição menor", @@ -1351,7 +1351,7 @@ "recentchanges-submit": "Mostrar", "rcfilters-tag-remove": "Remover '$1'", "rcfilters-legend-heading": "Lista de abreviações:", - "rcfilters-other-review-tools": "Outras ferramentas de revisão", + "rcfilters-other-review-tools": "Outras ferramentas de revisão", "rcfilters-group-results-by-page": "Agrupar resultados por página", "rcfilters-grouping-title": "Agrupamento", "rcfilters-activefilters": "Filtros ativos", @@ -1364,8 +1364,8 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hora|horas}}", "rcfilters-highlighted-filters-list": "Realçado: $1", "rcfilters-quickfilters": "Filtros gravados", - "rcfilters-quickfilters-placeholder-title": "Ainda não foi gravado nenhum link", - "rcfilters-quickfilters-placeholder-description": "Para gravar as suas configurações dos filtros e reutilizá-las mais tarde, clique o ícone do marcador de página, na área Filtro Ativo abaixo.", + "rcfilters-quickfilters-placeholder-title": "Ainda não foi gravado nenhum filtro", + "rcfilters-quickfilters-placeholder-description": "Para gravar as suas configurações dos filtros e reutilizá-las mais tarde, clique o ícone do marcador de página, na área dos filtros ativos abaixo.", "rcfilters-savedqueries-defaultlabel": "Filtros gravados", "rcfilters-savedqueries-rename": "Alterar o nome", "rcfilters-savedqueries-setdefault": "Ativar por padrão", @@ -1376,7 +1376,7 @@ "rcfilters-savedqueries-apply-label": "Criar filtro", "rcfilters-savedqueries-apply-and-setdefault-label": "Criar filtro padrão", "rcfilters-savedqueries-cancel-label": "Cancelar", - "rcfilters-savedqueries-add-new-title": "Gravar configurações atuais de filtros", + "rcfilters-savedqueries-add-new-title": "Gravar as configurações de filtros atuais", "rcfilters-restore-default-filters": "Restaurar os filtros padrão", "rcfilters-clear-all-filters": "Limpar todos os filtros", "rcfilters-show-new-changes": "Mostrar as mudanças mais recentes", @@ -1394,10 +1394,10 @@ "rcfilters-state-message-subset": "Este filtro não produz efeito porque os seus resultados já estão incluídos nos {{PLURAL:$2|do seguinte filtro mais abrangente|dos seguintes filtros mais abrangentes}} (tente usar o realce para diferenciá-lo): $1", "rcfilters-state-message-fullcoverage": "Selecionar todos os filtros deste grupo é o mesmo que não selecionar nenhum, portanto este filtro não produz efeito. O grupo inclui: $1", "rcfilters-filtergroup-authorship": "Autoria da contribuição", - "rcfilters-filter-editsbyself-label": "Modificações feitas por si", + "rcfilters-filter-editsbyself-label": "Mudanças feitas por si", "rcfilters-filter-editsbyself-description": "As suas edições.", - "rcfilters-filter-editsbyother-label": "Modificações de outros", - "rcfilters-filter-editsbyother-description": "Todas as modificações, exceto as suas.", + "rcfilters-filter-editsbyother-label": "Mudanças feitas por outros", + "rcfilters-filter-editsbyother-description": "Todas as mudanças, exceto as feitas por si.", "rcfilters-filtergroup-userExpLevel": "Registo de utilizadores e experiência", "rcfilters-filter-user-experience-level-registered-label": "Registados", "rcfilters-filter-user-experience-level-registered-description": "Editores autenticados.", @@ -1434,7 +1434,7 @@ "rcfilters-filtergroup-watchlistactivity": "Atividade das páginas vigiadas", "rcfilters-filter-watchlistactivity-unseen-label": "Mudanças ainda não vistas", "rcfilters-filter-watchlistactivity-unseen-description": "Modificações de páginas que ainda não visitou depois de serem modificadas.", - "rcfilters-filter-watchlistactivity-seen-label": "Modificações já vistas", + "rcfilters-filter-watchlistactivity-seen-label": "Mudanças já vistas", "rcfilters-filter-watchlistactivity-seen-description": "Modificações de páginas que já visitou depois de serem modificadas.", "rcfilters-filtergroup-changetype": "Tipo de alteração", "rcfilters-filter-pageedits-label": "Edições de páginas", @@ -1450,9 +1450,9 @@ "rcfilters-typeofchange-conflicts-hideminor": "Este filtro de Tipo de Modificação entra em conflito com o filtro \"Edições menores\". Certos tipos de modificações não podem ser classificados como \"menores\".", "rcfilters-filtergroup-lastRevision": "Últimas revisões", "rcfilters-filter-lastrevision-label": "Última revisão", - "rcfilters-filter-lastrevision-description": "Só a modificação mais recente de uma página.", - "rcfilters-filter-previousrevision-label": "Revisões menos a mais recente", - "rcfilters-filter-previousrevision-description": "Todas as modificações que não são a \"última revisão\".", + "rcfilters-filter-lastrevision-description": "Só a mudança mais recente de uma página.", + "rcfilters-filter-previousrevision-label": "Excepto a última revisão", + "rcfilters-filter-previousrevision-description": "Todas as mudanças que não sejam a \"Última revisão\".", "rcfilters-filter-excluded": "Excluído", "rcfilters-tag-prefix-namespace-inverted": ":não $1", "rcfilters-exclude-button-off": "Excluir os selecionados", @@ -1466,7 +1466,7 @@ "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", - "rcfilters-watchlist-markseen-button": "Marcar todas as modificações como já vistas", + "rcfilters-watchlist-markseen-button": "Marcar todas as mudanças como já vistas", "rcfilters-watchlist-edit-watchlist-button": "Editar a sua lista de páginas vigiadas", "rcfilters-watchlist-showupdated": "As mudanças das páginas que ainda não visitou após terem sido alteradas aparecem a negrito, com marcadores sólidos.", "rcfilters-preference-label": "Ocultar a versão melhorada das mudanças recentes", @@ -1599,7 +1599,7 @@ "uploaded-script-svg": "Encontrou um elemento scriptable no ficheiro \"$1\" SVG carregado.", "uploaded-hostile-svg": "Encontrou-se um código CSS não seguro no elemento de estilo do ficheiro SVG carregado.", "uploaded-event-handler-on-svg": "Não é permitido configurar atributos controladores de eventos $1=\"$2\" nos ficheiros SVG.", - "uploaded-href-attribute-svg": "Os atributos href em ficheiros SVG só estão autorizados a ligar a endereços http:// ou https://, mas foi encontrado <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": " os elementos só podem ser hiperligações (href) para destinos data: (ficheiro incorporado), http:// ou https://, ou fragment (#, mesmo documento). Para outros elementos, tais como , só são permitidos data: e fragment. Tente incorporar imagens ao exportar o seu SVG. Foi encontrado <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "Detetado href para dados inseguros: alvo URI <$1 $2=\"$3\"> no ficheiro SVG carregado.", "uploaded-animate-svg": "Foi detetado um elemento \"animate\" que pode estar a alterar href, usando o atributo \"from\" <$1 $2=\"$3\"> no ficheiro SVG carregado.", "uploaded-setting-event-handler-svg": "A definição de atributos controladores de eventos está bloqueada. Foi detetado <$1 $2=\"$3\"> no ficheiro SVG carregado.", @@ -1953,7 +1953,7 @@ "nopagetitle": "A página de destino não existe", "nopagetext": "A página de destino que especificou não existe.", "pager-newer-n": "{{PLURAL:$1|posterior|$1 posteriores}}", - "pager-older-n": "{{PLURAL:$1|1 anterior|$1 anteriores}}", + "pager-older-n": "{{PLURAL:$1|anterior|$1 anteriores}}", "suppress": "Suprimir", "querypage-disabled": "Esta página especial está desativada para não prejudicar o desempenho.", "apihelp": "Ajuda da API", diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json index 8a645bc711..d731322dda 100644 --- a/languages/i18n/qqq.json +++ b/languages/i18n/qqq.json @@ -313,7 +313,7 @@ "period-pm": "Text indicating the second period of the day when using a 12-hour calendar.", "pagecategories": "Used in the categories section of pages.\n\nFollowed by a colon and a list of categories.\n\nParameters:\n* $1 - number of categories\n{{Identical|Category}}", "pagecategorieslink": "{{notranslate}}", - "category_header": "In category description page. Parameters:\n* $1 - category name\nSee also:\n* {{msg-mw|Category-media-header}}", + "category_header": "In category description page, be aware that this is not about biology, but about bibliography. Parameters:\n* $1 - category name\nSee also:\n* {{msg-mw|Category-media-header}}", "subcategories": "Used as a header on category pages that have subcategories.\n{{Identical|Subcategory}}", "category-media-header": "In category description page. Parameters:\n* $1 - category name\nSee also:\n* {{msg-mw|Category header}}", "category-empty": "The text displayed in category page when that category is empty", @@ -1546,7 +1546,7 @@ "recentchanges-legend-unpatrolled": "Used as legend on [[Special:RecentChanges]] and [[Special:Watchlist]].\n\nRefers to {{msg-mw|Recentchanges-label-unpatrolled}}.", "recentchanges-legend-plusminus": "{{optional}}\nA plus/minus sign with a number for the legend.", "recentchanges-submit": "Label for submit button in [[Special:RecentChanges]]\n{{Identical|Show}}", - "rcfilters-tag-remove": "A tooltip for the button that removes a filter from the active filters area in [[Special:RecentChanges]] and [[Special:Watchlist]] when RCFilters are enabled. \n\nParameters: $1 - Tag label", + "rcfilters-tag-remove": "A tooltip for the button that removes a filter from the active filters area in [[Special:RecentChanges]] and [[Special:Watchlist]] when RCFilters are enabled. \n\nParameters: $1 - Tag label\n{{Identical|Remove}}", "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.", @@ -1661,7 +1661,7 @@ "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-view-tags-help-icon-tooltip": "Tooltip for the help button that leads user to [[mw:Special:MyLanguage/Help:New_filters_for_edit_review/Advanced_filters#tags|Help page]] for Tagged Edits", + "rcfilters-view-tags-help-icon-tooltip": "Tooltip for the help button that leads user to Special:Tags page", "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.", diff --git a/languages/i18n/ro.json b/languages/i18n/ro.json index 9cb2afd23c..2acdca328f 100644 --- a/languages/i18n/ro.json +++ b/languages/i18n/ro.json @@ -1303,7 +1303,7 @@ "recentchanges-submit": "Afișează", "rcfilters-tag-remove": "Șterge '$1'", "rcfilters-legend-heading": "Lista abrevierilor:", - "rcfilters-other-review-tools": "Alte unelte de revizuire", + "rcfilters-other-review-tools": "Alte unelte de revizuire", "rcfilters-group-results-by-page": "Grupează rezultatele după pagină", "rcfilters-grouping-title": "Grupare", "rcfilters-activefilters": "Filtre active", diff --git a/languages/i18n/roa-tara.json b/languages/i18n/roa-tara.json index c278468331..5962d114cc 100644 --- a/languages/i18n/roa-tara.json +++ b/languages/i18n/roa-tara.json @@ -305,6 +305,7 @@ "databaseerror-query": "Inderrogazione: $1", "databaseerror-function": "Funzione: $1", "databaseerror-error": "Errore: $1", + "transaction-duration-limit-exceeded": "Pe evità 'nu retarde ierte de repliche, sta operazzione ha state inderrotte peurcé 'a durate d'u tiembe de scretture ($1) ave supranate 'u limite de $2 {{PLURAL:$2|seconde}}.\n\nCe se ste cange 'nu sbuénne de vôsce jndr'à 'na botta sole, pruève a ffà cchiù operazziune cu mene vôsce a vote.", "laggedslavemode": "Attenzione: 'A pàgene no ge tène cangiaminde recente.", "readonly": "Archivie blocchete", "enterlockreason": "Mitte 'na raggione p'u blocche, 'ncludenne 'na stime de quanne 'u blocche avène luate.", @@ -607,7 +608,7 @@ "anonpreviewwarning": "''Tu non ge sì collegate. Reggistranne le cangiaminde jndr'à sta pàgene iesse l'indirizze IP tune jndr'à storie.''", "missingsummary": "'''Arrecuèrdete:''' Tu non g'è provvedute a 'nu riepileghe de le cangiaminde.\nCe tu cazze Reggistre 'n'otra vote, 'u cangiamende tue avène memorizzete senze une.", "selfredirect": "Attenziò: Tu ste redirezione sta pàgene da sule.\nTu puè avè specificate 'a destinazione sbagliate pe stu redirezionamende, o tu ste cange 'a pàgena sbagliate.\nCe tu cazze \"$1\" arrete, 'u redirezionamende avène ccrejate 'u stesse.", - "missingcommenttext": "Pe piacere mitte 'nu commende aqquà sotte.", + "missingcommenttext": "Pe piacere mitte 'nu commende.", "missingcommentheader": "Arrecuèrdete: Tu non g'è provvedute a 'nu soggette pe stu commende.\nCe tu cazze \"$1\" 'n'otra vote, 'u cangiamende tune avène memorizzate senze jidde.", "summary-preview": "Andeprime d'u riepileghe d'u cangiamende:", "subject-preview": "Andeprime de l'oggette:", @@ -988,7 +989,7 @@ "timezoneregion-europe": "Europe", "timezoneregion-indian": "Oceano Indiane", "timezoneregion-pacific": "Oceano Pacifiche", - "allowemail": "Abbilite l'e-mail da l'otre utinde", + "allowemail": "Abbilite l'otre utinde a mannarme 'na mail", "prefs-searchoptions": "Cirche", "prefs-namespaces": "Namespaces", "default": "defolt", @@ -1263,7 +1264,7 @@ "recentchanges-submit": "Fà 'ndrucà", "rcfilters-tag-remove": "Live '$1'", "rcfilters-legend-heading": "Elenghe de le abbreviazziune:", - "rcfilters-other-review-tools": "Otre struminde de revisione", + "rcfilters-other-review-tools": "Otre struminde de revisione", "rcfilters-group-results-by-page": "Raggruppe le resultate pe pàgene", "rcfilters-grouping-title": "Stoche e raggruppe", "rcfilters-activefilters": "Filtre attive", @@ -1276,7 +1277,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|ore}}", "rcfilters-highlighted-filters-list": "Evidenziate: $1", "rcfilters-quickfilters": "Filtre reggistrate", - "rcfilters-quickfilters-placeholder-title": "Nisciune collegamende reggistrate", + "rcfilters-quickfilters-placeholder-title": "Nisciune filtre 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", @@ -1296,6 +1297,7 @@ "rcfilters-empty-filter": "Nisciune filtre attive. Tutte le condrebbute avènene fatte 'ndrucà.", "rcfilters-filterlist-title": "Filtre", "rcfilters-filterlist-whatsthis": "Cumme funzionane?", + "rcfilters-highlightbutton-title": "Evidenzie le resultate", "rcfilters-highlightmenu-title": "Scacchie 'nu culore", "rcfilters-highlightmenu-help": "Scacchie 'nu culore pe evidenzià sta probbietà", "rcfilters-filterlist-noresults": "Nisciune filtre acchiate", diff --git a/languages/i18n/ru.json b/languages/i18n/ru.json index 1bc5cced5e..d15f30f124 100644 --- a/languages/i18n/ru.json +++ b/languages/i18n/ru.json @@ -849,7 +849,7 @@ "parser-template-loop-warning": "Обнаружена петля в шаблонах: [[$1]]", "template-loop-category": "Страницы с петлями в шаблонах", "template-loop-category-desc": "Эта страница содержит петлю в шаблоне, т.е. шаблон, который рекурсивно вызывает сам себя.", - "template-loop-warning": "Предупреждение: Эта страница вызывает [[:$1]], который приводит к возникновению цикла в шаблоне (бесконечный рекурсивный вызов).", + "template-loop-warning": "Предупреждение: Эта страница вызывает [[:$1]], который приводит к возникновению цикла в шаблоне (бесконечный рекурсивный вызов).", "parser-template-recursion-depth-warning": "Превышен предел глубины рекурсии шаблона ($1)", "language-converter-depth-warning": "Превышен предел глубины преобразователя языков ($1)", "node-count-exceeded-category": "Страницы, на которых превышено число узлов", @@ -1089,7 +1089,7 @@ "prefs-email": "Параметры электронной почты", "prefs-rendering": "Внешний вид", "saveprefs": "Сохранить", - "restoreprefs": "Восстановить настройки по умолчанию", + "restoreprefs": "Восстановить настройки по умолчанию (на всех вкладках)", "prefs-editing": "Редактирование", "searchresultshead": "Поиск", "stub-threshold": "Порог для определения оформления ссылок на заготовки ($1):", @@ -1399,7 +1399,7 @@ "recentchanges-submit": "Показать", "rcfilters-tag-remove": "Удалить '$1'", "rcfilters-legend-heading": "Список сокращений:", - "rcfilters-other-review-tools": "Другие инструменты проверки", + "rcfilters-other-review-tools": "Другие инструменты проверки", "rcfilters-group-results-by-page": "Группировать результаты по странице", "rcfilters-grouping-title": "Группировка", "rcfilters-activefilters": "Активные фильтры", diff --git a/languages/i18n/sat.json b/languages/i18n/sat.json index 2f15fc44f2..629efd286d 100644 --- a/languages/i18n/sat.json +++ b/languages/i18n/sat.json @@ -198,7 +198,7 @@ "redirectedfrom": "$1 khon ạcur heć akana", "redirectpagesub": "Bań sojhe sakam", "redirectto": "Ar hõ udugoḱakana:", - "lastmodifiedat": "ᱱᱚᱭᱟ ᱥᱟᱦᱴᱟ ᱨᱮᱱᱟᱜ ᱚᱞ ᱢᱩᱪᱟᱹᱫᱫᱷᱟᱣ ᱵᱚᱫᱚᱞ ᱟᱠᱟᱱᱟ $1, at $2", + "lastmodifiedat": "ᱱᱚᱶᱟ ᱥᱟᱦᱴᱟ ᱢᱩᱪᱟᱹᱫ ᱫᱷᱟᱣ ᱵᱚᱫᱚᱞ ᱟᱠᱟᱱᱟ $1 ᱢᱟᱹᱦᱤᱛ, $2 ᱚᱠᱛᱚᱨᱮ", "viewcount": "Noa sakamdo {{PLURAL:$1 dhom $1 dhom}} udug hoena.", "protectedpage": "Rukhíạ sakamko", "jumpto": "Donme :", @@ -233,6 +233,7 @@ "ok": "Ṭhik gea", "retrievedfrom": "\"$1\" khon ñam ạgui", "youhavenewmessages": "Amaḱ do $1 ($2) menaḱa", + "newmessagesdifflinkplural": "ᱢᱩᱪᱟᱹᱫ {{PLURAL:$1|ᱵᱚᱫᱚᱞ|999=ᱵᱚᱫᱚᱞᱠᱚ}}", "youhavenewmessagesmulti": "Amaḱ nãwã mesagko do $1 menaḱa", "editsection": "Tońge", "editold": "Toṅge", @@ -451,6 +452,7 @@ "summary-preview": "Guṭ katha unuduḱ:", "subject-preview": "Babot/Guṭkatha unuduḱ:", "blockedtitle": "Beoharić doe eset ocoakana.", + "blockedtext": "ᱟᱢᱟᱜ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱧᱩᱛᱩᱢ ᱟᱨᱵᱟᱝ IP ᱵᱩᱴᱟᱹ ᱫᱚ ᱵᱚᱸᱫᱽ ᱟᱠᱟᱱᱟ ᱾ \n\nᱱᱚᱶᱟ ᱵᱚᱸᱫᱽ ᱫᱚ $1 ᱫᱟᱨᱟᱭᱛᱮ ᱦᱩᱭᱟᱠᱱᱟ ᱾\nᱱᱚᱶᱟ ᱨᱮᱱᱟᱜ ᱚᱡᱮ ᱫᱚ ᱮᱢᱮᱱᱟ $2.\n\n* ᱵᱚᱸᱫᱽ ᱮᱦᱚᱵ: $8\n* ᱵᱚᱸᱫᱽ ᱢᱩᱪᱟᱹᱫ: $6\n* ᱟᱥᱟᱦᱟᱱ ᱵᱚᱸᱫᱽᱠᱚ: $7\n\nᱟᱢ $1 ᱮᱢ ᱥᱟᱹᱜᱟᱹᱭ ᱫᱟᱲᱮᱭᱟᱭᱟ ᱵᱟᱝᱠᱷᱟᱱ ᱮᱴᱟᱜ [[{{MediaWiki:Grouppage-sysop}}|ᱟᱰᱢᱤᱱᱤᱥᱴᱨᱮᱴᱚᱨ]] ᱵᱚᱸᱫᱽ ᱵᱟᱵᱚᱫᱽ ᱛᱮ ᱜᱟᱞᱚᱪ ᱞᱟᱹᱜᱤᱫ ᱾\nᱟᱢ ᱵᱟᱢ ᱵᱮᱵᱷᱟᱨ ᱫᱟᱲᱮᱭᱟᱜ \"email this user\" ᱥᱩᱵᱤᱫᱷᱟ ᱡᱚᱛᱷᱟᱛ ᱤᱢᱮᱞ ᱵᱩᱴᱟᱹ ᱛᱟᱢ ᱵᱟᱝ ᱛᱟᱦᱮᱸᱱ ᱠᱷᱟᱱ ᱟᱨ ᱱᱚᱶᱟ ᱫᱚ ᱪᱤᱱᱦᱟᱹᱣ-ᱟ [[Special:Preferences|ᱠᱷᱟᱛᱟ ᱧᱮᱞᱚᱚᱜ]] ᱠᱷᱚᱱ ᱟᱨ ᱟᱢ ᱫᱚ ᱵᱟᱢ ᱵᱚᱸᱫᱽ ᱟᱠᱟᱱᱟ ᱱᱚᱶᱟ ᱵᱮᱵᱷᱟᱨ ᱠᱷᱚᱱ ᱾\nᱟᱢᱟᱜ ᱱᱤᱛᱚᱜᱟᱜ IP ᱵᱩᱴᱟᱹ ᱫᱚ $3, ᱟᱨ ᱵᱚᱸᱫᱽ ID ᱫᱚ #$5 \nᱫᱟᱭᱟᱠᱟᱛᱮ ᱥᱮᱞᱮᱫᱽ ᱢᱮ ᱪᱮᱛᱟᱱᱟᱜ ᱠᱟᱛᱷᱟᱠᱚ ᱡᱚᱛᱚ ᱞᱮᱠᱟᱱ ᱠᱩᱠᱞᱤ ᱨᱮ ᱾", "blockednoreason": "jahan babot baṅ em akana", "whitelistedittext": "Sakamre sompadon lạgit́te $1 em hoyoḱa.", "nosuchsectiontitle": "Pahaṭa bȧn ńamlena", @@ -497,6 +499,7 @@ "edit-no-change": "Amaḱ sompadon do baṅ hataolena, Cedaḱ je olre jahan bodol bạnuḱa.", "edit-already-exists": "Nãwã sakam baṅ tear lena.\nSakam do laha khon menaḱgea.", "defaultmessagetext": "Sedae olko", + "content-model-wikitext": "ᱣᱤᱠᱤ-ᱚᱞ", "post-expand-template-inclusion-warning": "\"Sontoroḱme\" Noa format do lạṭu geya.\nThoṛa format do noare banuḱana.", "post-expand-template-inclusion-category": "Sakamko oka borḍre noa tahẽna ona doe paromkeda", "post-expand-template-argument-warning": "'''Sontoroḱmẽ:''' Noa sakamre komse kom mitṭen forma joṛao menaḱa ạḍi lạṭute pasnao akana.\nOnate noa ạrgumenṭkodo bạgi giḍi hoena.", @@ -547,11 +550,13 @@ "deletedhist": "Get giḍi jạṛ", "revdelete-reasonotherlist": "Eṭaḱak karon", "mergehistory-reason": "Babot:", + "mergelog": "ᱞᱚᱜᱽ ᱢᱮᱥᱟ", "revertmerge": "bań mit́", "history-title": "\"$1\": Jạṛ nãwã aroe", "lineno": "Sạr $1:", "compareselectedversions": "Noa barea nãwã bachawanaḱ talare tolonayme", "editundo": "ruạṛ", + "diff-empty": "(ᱵᱷᱮᱜᱮᱫ ᱵᱟᱹᱱᱩᱜ)", "searchresults": "Se̠ndra pho̠l", "searchresults-title": "\"$1\" renaḱ Sẽndra phol", "prevn": "Laha reaḱ {{PLURAL:$1|$1}}", @@ -616,6 +621,10 @@ "editusergroup": "Beoharićaḱ gãotako toṅgeymẽ", "userrights-editusergroup": "Beoharićaḱ gãotako toṅgeymẽ", "saveusergroups": "Beoharićaḱ gãotako rukhiyaymẽ", + "group-bot": "ᱵᱚᱴᱠᱚ", + "group-sysop": "ᱟᱰᱢᱤᱱᱤᱥᱴᱨᱮᱴᱚᱨ", + "grouppage-bot": "{{ns:project}}:ᱵᱚᱴᱠᱚ", + "grouppage-sysop": "{{ns:project}}:ᱯᱟᱨᱜᱟᱱᱟᱠᱚ", "right-read": "Sakamko paṛhaomẽ", "right-edit": "Sakamko toṅge", "right-createpage": "Sakamko benoamẽ (Okako do galmarao sakamko baṅkan)", @@ -628,7 +637,9 @@ "right-writeapi": "write API ᱵᱮᱵᱦᱟᱨ", "right-delete": "Sakamko get giḍiymẽ", "newuserlogpage": "Laṛcaṛićaḱ tear cạbi", + "rightslog": "ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱟᱹᱭᱫᱟᱹᱨ ᱞᱚᱜᱽ", "action-edit": "noa sakam joṛao", + "action-createaccount": "ᱱᱚᱶᱟ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱠᱷᱟᱛᱟ ᱵᱮᱱᱟᱣ", "nchanges": "$1 {{PLURAL:$1 bodol bodolko}}", "enhancedrc-history": "Jạṛ", "recentchanges": "Nãwã bo̠do̠lko", @@ -672,6 +683,7 @@ "rc-enhanced-expand": "Purạote uduḱ", "rc-enhanced-hide": "Purạo cuku", "recentchangeslinked": "Sãotenaḱ bodolko", + "recentchangeslinked-feed": "ᱥᱟᱹᱜᱟᱹᱭᱟᱱ ᱵᱚᱫᱚᱞᱠᱚ", "recentchangeslinked-toolbox": "Noṛjoṛ palaṭko", "recentchangeslinked-title": "Bodolaḱko do \"$1\" sãote joṛao geya", "recentchangeslinked-summary": "Noa do ona tạlika kana oka do nebetarge bodol hoyakan oka do asokayte hatao akan sakam khon.\n\n[[Special:Watchlist|your watchlist]] renaḱ sakamko do '''bold''' .", @@ -704,6 +716,7 @@ "filehist-datetime": "̣Tạrikh/So̠mo̠y", "filehist-thumb": "Ṭip", "filehist-thumbtext": "$1 lekan thambnail varson", + "filehist-nothumb": "ᱵᱟᱹᱱᱩᱜ-ᱟ ᱴᱤᱯ-ᱨᱟᱢᱟ", "filehist-user": "Laṛcaṛić", "filehist-dimensions": "Maṕ", "filehist-comment": "Roṛ", @@ -715,6 +728,7 @@ "randompage": "Joṛao sakam", "statistics": "Halot", "statistics-pages": "Sakamko", + "double-redirect-fixer": "ᱢᱚᱸᱦᱟᱰᱟ ᱴᱷᱟᱹᱣᱠᱟᱹᱭᱤᱡ", "nbytes": "$1 {{PLURAL:$1|baiṭ|baiṭ}}", "nmembers": "$1 {{PLURAL:$1 Gaõtaren Gaõtarenko}}", "prefixindex": "Sanam sakam re joṛao menaḱ", @@ -732,11 +746,13 @@ "booksources": "Puthi ńamoḱ ṭhại/jayga", "booksources-search-legend": "Puthi reak ṭhai sendrayme", "booksources-search": "Sendra", + "speciallogtitlelabel": "ᱡᱚᱥ (ᱧᱩᱛᱩᱢ ᱟᱨᱵᱟᱝ {{ns:user}}:ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱞᱟᱹᱜᱩᱫ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱧᱩᱛᱩᱢ):", "log": "Cạbiko", "all-logs-page": "ᱡᱚᱛᱚ ᱫᱤᱥᱣᱟᱹ ᱞᱚᱜᱽ ᱠᱚ", "allpages": "joto sakam", "allarticles": "Sanam sakam", "allpagessubmit": "Calaḱme", + "allpages-hide-redirects": "ᱢᱚᱦᱰᱟᱦᱟᱜᱠᱚ ᱫᱟᱱᱟᱝ", "categories": "rokom sokom", "linksearch-line": "$2 khon $1 re joṛao hoeakana", "listusers-submit": "Udugmẽ", @@ -755,6 +771,7 @@ "emailto": "Ńamić:", "emailmessage": "Mesag", "emailsend": "Kulmẽ", + "usermessage-editor": "ᱥᱤᱥᱴᱚᱢ ᱨᱟᱭᱵᱟᱨ", "watchlist": "Inak' n'el ko", "mywatchlist": "Ńeloḱgoḱ tạlika", "watchlistfor2": "$1 ($2) lạ̣gitte", @@ -764,6 +781,7 @@ "wlshowlast": "Mucạtet́ udukmẽ $1 baje $2 maha", "watchlist-options": "Ńelok tạlika reak sonketko", "watching": "Ńeloḱ kana...", + "enotif_reset": "ᱱᱤᱱᱦᱟᱹᱭᱢᱮ ᱡᱚᱛᱚ ᱥᱟᱦᱴᱟ ᱦᱤᱨᱤᱭᱟᱠᱟᱱᱟ", "changed": "Bodolena", "deletepage": "Sakam get giḍikam", "delete-legend": "Get giḍi", @@ -783,6 +801,8 @@ "undeleteviewlink": "Ńel", "namespace": "Ńutum reaḱ ṭhai", "invert": "Seć bachao", + "tooltip-invert": "ᱱᱚᱶᱟ ᱵᱟᱠᱥᱟ ᱴᱤᱠ ᱢᱮ ᱥᱟᱦᱴᱟ ᱠᱷᱚᱱ ᱵᱚᱫᱚᱞᱟᱜᱠᱚ ᱫᱟᱱᱟᱝ ᱞᱟᱹᱜᱤᱫ ᱵᱟᱛᱷᱚᱱ ᱨᱟᱠᱷᱟ ᱧᱩᱛᱩᱢ ᱥᱟᱶᱛᱮ (ᱟᱨ ᱡᱚᱯᱚᱲᱟᱣᱟᱱ ᱨᱟᱠᱷᱟ ᱧᱩᱛᱩᱢ ᱡᱩᱫᱤ ᱴᱤᱠ ᱟᱠᱟᱱᱟ)", + "tooltip-namespace_association": "ᱱᱚᱶᱟ ᱵᱟᱠᱥᱟ ᱴᱤᱠ ᱢᱮ ᱨᱚᱯᱚᱲ ᱵᱟᱝᱠᱷᱟᱱ ᱥᱟᱛᱟᱢ ᱨᱟᱠᱷᱟ ᱧᱩᱛᱩᱢ ᱵᱟᱪᱷᱚᱱ ᱟᱠᱟᱱ ᱨᱟᱠᱷᱟ ᱧᱩᱛᱩᱢ ᱥᱟᱶ ᱡᱚᱯᱚᱲᱟᱣ ᱟᱠᱟᱱᱟᱜ", "blanknamespace": "Mukhiạ̣", "contributions": "{{GENDER:$1|Beoharićaḱ }} Kạmiko", "contributions-title": "$1 Beoharićaḱ kạmiko", @@ -822,6 +842,7 @@ "ipboptions": "2 Ghonṭa : 2 hours, 1 maha:1 day, 3 maha : 3 days,1 hapta :1 week, 2 hapta : 2 weeks, 1 cando :1 month, 3 cando : 3 months,6 cando :6 months, 1 serma :1 year, Aemamaha : infinite", "ipblocklist": "Beoharic esetgeyay", "ipblocklist-submit": "Sendra", + "infiniteblock": "ᱚᱦᱤᱥᱟᱹᱵᱽ", "emailblock": "E-mail do esetgea", "blocklink": "Eset́", "unblocklink": "bań block", @@ -830,9 +851,11 @@ "emaillink": "E-mail kulmẽ", "blocklogpage": "Tala eset", "blocklogentry": "Eset [[$1]] sãote cabaḱ okte oka do $2 $3", + "reblock-logentry": "ᱵᱚᱫᱚᱞᱮᱱᱟ ᱵᱚᱸᱫ ᱥᱟᱡᱟᱣᱠᱚ [[$1]] ᱞᱟᱹᱜᱤᱫ ᱪᱟᱵᱟᱜ ᱚᱠᱛᱚ $2 $3 ᱥᱟᱶ", "block-log-flags-nocreate": "Ekaunṭ benao do bondogeya", "block-log-flags-noemail": "E-mail do esetgea", "block-log-flags-hiddenname": "Beoharićaḱ ńutum do ukugea", + "proxyblocker": "ᱯᱨᱚᱠᱥᱤ ᱮᱥᱮᱫᱤᱡ", "movepagebtn": "Sakam ocogmẽ, Sakam kulmẽ", "pagemovedsub": "Ocogoḱ do hoena", "movelogpage": "Tala cạbi ocoḱme", @@ -847,6 +870,7 @@ "thumbnail-more": "Lạṭui mẽ", "thumbnail_error": "Benawakan unuduḱ kạṭuṕ do baṅ ṭhika: $1", "import-upload-filename": "Rẽt ńutum", + "importlogpage": "ᱞᱚᱜᱽ ᱟᱹᱜᱩ", "tooltip-pt-userpage": "{{GENDER:|am beoharićaḱ}} sakam", "tooltip-pt-mytalk": "{{GENDER:|Amaḱ}} ro̠ṛreaḱ́ sakam", "tooltip-pt-preferences": "{{GENDER:|Amaḱ}} pạsindko", @@ -890,6 +914,7 @@ "tooltip-ca-nstab-special": "Noa do mit́ṭen bises sakam kana, ar noa do bam joṛao daṛẽaḱa", "tooltip-ca-nstab-project": "projeṭ sakam ńelmẽ", "tooltip-ca-nstab-image": "Fael sakam ńel", + "tooltip-ca-nstab-mediawiki": "ᱥᱤᱥᱴᱚᱢ ᱢᱮᱥᱮᱡᱽ ᱧᱮᱞ", "tooltip-ca-nstab-template": "Forom uduḱme", "tooltip-ca-nstab-help": "Goṛo sakam ńelmẽ", "tooltip-ca-nstab-category": "Rokom sokom sakamko udukme", @@ -905,14 +930,45 @@ "tooltip-summary": "Khaṭote guṭ katha bhoraome", "others": "Eṭagaḱko", "simpleantispam-label": "Enṭi espam ńel\nDo not noa purạome!", + "pageinfo-title": "\"$1\" ᱞᱟᱹᱜᱤᱫ ᱥᱩᱪᱱᱟ", + "pageinfo-header-basic": "ᱢᱩᱬ ᱥᱩᱪᱱᱟ", "pageinfo-header-edits": "Toṅgeko", + "pageinfo-header-restrictions": "ᱥᱟᱦᱴᱟ ᱵᱟᱧᱪᱟᱣ", + "pageinfo-header-properties": "ᱥᱟᱦᱴᱟ ᱜᱩᱱᱠᱚ", + "pageinfo-display-title": "ᱩᱫᱩᱜ ᱧᱩᱛᱩᱢ", + "pageinfo-default-sort": "ᱯᱟᱹᱦᱤᱞᱟᱜ ᱠᱷᱟᱴᱚ ᱪᱟᱹᱵᱤ", + "pageinfo-length": "ᱥᱟᱦᱴᱟ ᱡᱤᱞᱤᱝ (ᱵᱟᱭᱤᱴ ᱛᱮ)", + "pageinfo-article-id": "ᱥᱟᱦᱴᱟ ID", + "pageinfo-language": "ᱥᱟᱦᱴᱟ ᱩᱱᱩᱫᱩᱜ ᱯᱟᱹᱨᱥᱤ", + "pageinfo-content-model": "ᱥᱟᱦᱴᱟ ᱩᱱᱩᱫᱩᱜ ᱥᱟᱢᱟᱝ", + "pageinfo-robot-policy": "ᱨᱚᱵᱚᱴ ᱫᱟᱨᱟᱭᱛᱮ ᱩᱱᱩᱫᱩᱜ", + "pageinfo-robot-index": "ᱚᱪᱚᱣᱟᱜ", + "pageinfo-robot-noindex": "ᱵᱟᱝᱚᱪᱚ", "pageinfo-watchers": "Ńeńelkoaḱ nombor", + "pageinfo-few-watchers": "$1 ᱠᱷᱚᱱ ᱠᱚᱢ {{PLURAL:$1|ᱧᱮᱧᱮᱞᱤᱭᱟᱹ|ᱧᱮᱧᱮᱞᱤᱭᱟᱹᱠᱚ}}", + "pageinfo-redirects-name": "ᱱᱚᱶᱟ ᱥᱟᱦᱴᱟᱛᱮ ᱢᱚᱸᱦᱰᱟᱜᱠᱟᱱ ᱮᱞ", + "pageinfo-subpages-name": "ᱱᱚᱶᱟ ᱥᱟᱦᱴᱟ ᱨᱮᱱᱟᱜ ᱪᱟᱸᱜᱟ ᱥᱟᱦᱴᱟ ᱠᱚᱣᱟᱜ ᱮᱞ", + "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|ᱢᱚᱦᱰᱟ|ᱢᱚᱦᱰᱟᱠᱚ}}; $3 {{PLURAL:$3|ᱵᱟᱝ-ᱢᱚᱦᱰᱟ|ᱵᱟᱝ-ᱢᱚᱦᱰᱟᱠᱚ}})", + "pageinfo-firstuser": "ᱥᱟᱦᱴᱟ ᱛᱮᱜ-ᱭᱟᱨᱠᱚ", + "pageinfo-firsttime": "ᱥᱟᱦᱴᱟ ᱛᱮᱭᱟᱨ ᱨᱮᱱᱟᱜ ᱢᱟᱺᱦᱤᱛ", "pageinfo-lastuser": "ᱨᱚᱠᱟ ᱥᱟᱯᱲᱮᱛ", "pageinfo-lasttime": "ᱨᱚᱠᱟ ᱥᱟᱯᱲᱟᱣ ᱨᱮᱱᱟᱜ ᱢᱟᱹᱦᱤᱛ", + "pageinfo-edits": "ᱥᱟᱯᱲᱟᱣᱟᱠᱚ ᱨᱮᱱᱟᱜ ᱜᱩᱴ ᱮᱞ", + "pageinfo-authors": "ᱴᱷᱟᱹᱣᱠᱟᱹ ᱚᱱᱚᱞᱤᱭᱟᱹ ᱠᱚᱣᱟᱜ ᱜᱩᱴ ᱮᱞ", + "pageinfo-recent-edits": "ᱨᱚᱠᱟ ᱥᱟᱯᱲᱟᱣᱟᱜ ᱮᱞ (ᱢᱟᱨᱮᱭᱟᱜ ᱢᱮᱥᱟ $1)", + "pageinfo-recent-authors": "ᱴᱷᱟᱹᱣᱠᱟᱹ ᱚᱱᱚᱞᱤᱭᱟᱹ ᱠᱚᱣᱟᱜ ᱨᱚᱠᱟ ᱮᱞ", + "pageinfo-magic-words": "ᱢᱤᱡᱤᱠ {{PLURAL:$1|ᱟᱹᱲᱟ|ᱟᱹᱲᱟᱹᱠᱚ}} ($1)", + "pageinfo-hidden-categories": "ᱫᱟᱱᱟᱝ {{PLURAL:$1|ᱦᱟᱹᱴᱤᱧ|ᱦᱟᱹᱹᱴᱤᱧᱠᱚ}} ($1)", + "pageinfo-templates": "ᱚᱞᱩᱪᱟᱹᱲᱟᱜ {{PLURAL:$1|ᱪᱷᱟᱸᱪ|ᱪᱷᱟᱸᱪᱠᱚ}} ($1)", "pageinfo-toolboxlink": "Sakam reaḱ baḍaejońaḱko", + "pageinfo-contentpage": "ᱩᱱᱩᱫᱩᱜ ᱥᱟᱦᱴᱟ ᱞᱮᱠᱟᱛᱮ ᱞᱮᱠᱷᱟ ᱦᱟᱠᱟᱱᱟ", + "pageinfo-contentpage-yes": "ᱦᱮᱸ", + "patrol-log-page": "ᱛᱩᱱᱠᱷᱤᱭᱤᱡᱟᱜ ᱞᱚᱜᱽ", "previousdiff": "Marenaḱ toṅgeko", "nextdiff": "Nãwã joṛao", + "widthheightpage": "$1 × $2, $3 {{PLURAL:$3|ᱥᱟᱦᱴᱟ|ᱥᱟᱦᱴᱟᱠᱚ}}", "file-info-size": "$1 x $2 pixels, file size: $3, MIME type: $4", + "file-info-size-pages": "$1 × $2 ᱯᱤᱠᱥᱮᱞ, ᱨᱮᱫ ᱥᱚᱝ: $3, MIME ᱞᱮᱠᱟᱱ: $4, $5 {{PLURAL:$5|ᱥᱟᱦᱴᱟ|ᱥᱟᱦᱴᱟᱠᱚ}}", "file-nohires": "Aema resulation nondḍe banuḱa", "svg-long-desc": "SVG rẽt, normalte $1 x $2 pixels, rẽt sayej: $3", "show-big-image": "Mukhiạ phayel", @@ -941,18 +997,37 @@ "exif-orientation-1": "ᱥᱟᱫᱷᱟᱨᱚᱱ", "namespacesall": "sanam", "monthsall": "Sanamak", + "imgmultipagenext": "ᱫᱟᱨᱟᱭ ᱥᱟᱦᱴᱟ 'n", + "imgmultigo": "ᱥᱮᱱᱚᱜ!", + "imgmultigoto": "ᱥᱮᱱᱚᱜ ᱢᱮ ᱥᱟᱦᱴᱟ $1", + "watchlisttools-clear": "ᱠᱩᱥᱤᱭᱟᱜ ᱞᱤᱥᱴᱤ ᱥᱟᱯᱷᱟ", "watchlisttools-view": "Jońgṛao bodolaḱko ńel", "watchlisttools-edit": "Ńelok tạlika ńel ar joṛao", "watchlisttools-raw": "Baṇ purạo akan ńelok tạlika purạomẽ", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|galmarao]])", "duplicate-defaultsort": "'''Sontoroḱmẽ:''' ḍifolṭ sajao reaḱ cạbi: $2 lahare ḍifolṭ sajao reaḱ sakam: ''$1'' e bae luturaḱ kana.", + "redirect": "ᱨᱮᱫ, ᱵᱮᱵᱷᱟᱨᱩᱭᱟᱹ, ᱥᱟᱦᱴᱟ, ᱧᱮᱞ-ᱟᱹᱨᱩ, ᱵᱟᱝᱠᱷᱟᱱ ᱞᱚᱜᱽ ID ᱫᱟᱨᱟᱭᱛᱮ ᱢᱚᱦᱰᱟ", + "redirect-submit": "ᱥᱮᱱᱚᱜ", + "redirect-lookup": "ᱧᱮᱞᱢᱮ", + "redirect-user": "ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ID", + "redirect-page": "ᱥᱟᱦᱴᱟ ID", + "redirect-revision": "ᱥᱟᱦᱴᱟ ᱧᱮᱞ-ᱟᱹᱨᱩ", + "redirect-file": "ᱨᱮᱫᱧᱩᱛᱩᱢ", "specialpages": "Osokayteaḱ sakamko", "external_image_whitelist": "#Noa sakam do cet leka menaḱa oṅkage dohoemẽ\n#Sanam okte re jạhiren kuṭrạ latar re (khạli hạtiń //talare) bạisạomẽ\n#Noako do bahre reaḱ (hotlinked) chubi reaḱ URL saõte milạo hoyoḱa\n#Okako milạḱa, onako do chubi lekate udugoḱa, baṅkhan do khali chubi joṛao udugoḱa\n#Noa layen reaḱ ehoṕre # menaḱa ona layenko menko hisapte beohar hoyoḱka\n#Noa do kas-baṅ rimjhạoaḱge\n#Noa dag cetanre regex kuṭrạ bạsạomẽ. Noa layen cetleka menaḱa oṅkage dohoemẽ", "tag-filter": "[[Special:Tags|Tag]] saphay:", "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|ᱥᱟᱛᱚᱢ|ᱥᱟᱛᱚᱢᱠᱩ}}]]: $2)", + "tags-active-yes": "ᱦᱮᱸ", + "tags-active-no": "ᱵᱟᱝ", "logentry-delete-delete": "$3 ᱥᱟᱦᱴᱟ $1 {{GENDER:$2|ᱜᱮᱫ ᱠᱮᱜ-ᱟᱭ}}", + "logentry-delete-restore": "$1 {{GENDER:$2|ᱨᱟᱠᱷᱟ ᱫᱚᱲᱦᱟ}} ᱠᱮᱜ-ᱟ ᱥᱟᱦᱴᱟ $3 ($4)", + "revdelete-content-hid": "ᱩᱱᱩᱫᱩᱜ ᱫᱟᱱᱟᱝ", "logentry-move-move": "$1 beoharić $3 sakam do $4 ńutumre {{GENDER:$2|ạcạr}} akada", + "logentry-move-move_redir": "$1 {{GENDER:$2|ᱩᱪᱟᱹᱲᱮᱱᱟ}} ᱥᱟᱦᱴᱟ $3 ᱠᱷᱚᱱ $4 ᱪᱮᱛᱟᱱ ᱢᱚᱸᱦᱰᱟ ᱦᱟᱠᱟᱱᱟ", "logentry-newusers-create": "Beoharićaḱ hisạb khata $1 do jhićena", + "logentry-newusers-autocreate": "ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱠᱷᱟᱛᱟ $1 ᱫᱚ {{GENDER:$2|ᱛᱮᱭᱟᱨᱮᱱᱟ}} ᱟᱡᱛᱮᱜᱮ", "logentry-upload-upload": "$1 {{GENDER:$2|rakaṕ akadae}} $3", - "searchsuggest-search": "ᱥᱮᱸᱫᱽᱨᱟ {{SITENAME}}" + "searchsuggest-search": "ᱥᱮᱸᱫᱽᱨᱟ {{SITENAME}}", + "duration-days": "$1 {{PLURAL:$1|ᱢᱟᱦᱟᱸ|ᱢᱟᱸᱦᱟᱸ}}", + "randomrootpage": "ᱟᱹᱛᱷᱟᱣᱲᱤ ᱨᱮᱦᱮᱫ ᱥᱟᱦᱴᱟ" } diff --git a/languages/i18n/sd.json b/languages/i18n/sd.json index 37f6244d2c..c7f7ecba11 100644 --- a/languages/i18n/sd.json +++ b/languages/i18n/sd.json @@ -904,7 +904,7 @@ "recentchanges-legend-heading": "ڪنجي:", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (پڻ ڏسو [[Special:NewPages|نون صفحن جي فھرست]])", "recentchanges-submit": "ڏيکاريو", - "rcfilters-other-review-tools": "نظرثانيءَ جا ٻيا اوزار", + "rcfilters-other-review-tools": "نظرثانيءَ جا ٻيا اوزار", "rcfilters-activefilters": "سرگرم ڇاڻيون", "rcfilters-advancedfilters": "متقدم ڇاڻيون", "rcfilters-limit-shownum": "آخري {{PLURAL:$1|تبديلي|$1 تبديليون}} ڏيکاريو", diff --git a/languages/i18n/sk.json b/languages/i18n/sk.json index 30434b638d..9b187fdc17 100644 --- a/languages/i18n/sk.json +++ b/languages/i18n/sk.json @@ -35,7 +35,8 @@ "Hromoslav", "Matma Rex", "LacoR", - "Xð" + "Xð", + "Pmikolas44" ] }, "tog-underline": "Podčiarkovať odkazy:", @@ -85,7 +86,6 @@ "underline-never": "Nikdy", "underline-default": "Podľa nastavení prehliadača alebo témy vzhľadu", "editfont-style": "Štýl písma oblasti na úpravy:", - "editfont-default": "Predvoľba prehliadača", "editfont-monospace": "S pevnou šírkou znaku", "editfont-sansserif": "Bezpätkové písmo", "editfont-serif": "Pätkové písmo", @@ -638,7 +638,7 @@ "anonpreviewwarning": "''Nie ste prihlásený. Uložením zaznamenáte svoju IP adresu do histórie úprav tejto stránky.''", "missingsummary": "'''Pripomienka:''' Neposkytli ste zhrnutie úprav. Ak kliknete znova na Uložiť, vaše úpravy sa uložia bez zhrnutia úprav.", "selfredirect": "Upozornenie: Snažíte sa túto stránku presmerovať samú na seba.\nMožno ste zadali chybný cieľ presmerovania, alebo editujete nesprávnu stránku.\nAk znova kliknete na „$1“, bude presmerovanie aj napriek tomu vytvorené.", - "missingcommenttext": "Prosím, dolu napíšte komentár.", + "missingcommenttext": "Prosím, vložte komentár.", "missingcommentheader": "Pripomienka: Neposkytli ste predmet/hlavičku tohto komentára.\nAk znova kliknete na tlačidlo „$1“, vaša úprava sa uloží bez nej.", "summary-preview": "Náhľad zhrnutia:", "subject-preview": "Náhľad predmetu:", @@ -1281,7 +1281,7 @@ "recentchanges-submit": "Zobraziť", "rcfilters-tag-remove": "Odstrániť '$1'", "rcfilters-legend-heading": "Zoznam skratiek:", - "rcfilters-other-review-tools": "Ďalšie kontrolné nástroje", + "rcfilters-other-review-tools": "Ďalšie kontrolné nástroje", "rcfilters-group-results-by-page": "Zoskupiť výsledky podľa stránky", "rcfilters-grouping-title": "Zoskupovanie", "rcfilters-activefilters": "Aktívne filtre", @@ -1334,7 +1334,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Neregistrovaní", "rcfilters-filter-user-experience-level-unregistered-description": "Redaktori, ktorí nie sú prihlásení.", "rcfilters-filter-user-experience-level-newcomer-label": "Nováčikovia", - "rcfilters-filter-user-experience-level-newcomer-description": "Registrovaní používatelia s menej ako 10 úpravami a 4 dňami aktivity.", + "rcfilters-filter-user-experience-level-newcomer-description": "Registrovaní editori, ktorí majú menej ako 10 úprav alebo 4 dni aktivity.", "rcfilters-filter-user-experience-level-learner-label": "Začiatočníci", "rcfilters-filter-user-experience-level-learner-description": "Registrovaní používatelia, ktorých skúsenosti spadajú medzi „Nováčikmi“ a „Skúsenými používateľmi“.", "rcfilters-filter-user-experience-level-experienced-label": "Skúsení používatelia", @@ -2271,7 +2271,6 @@ "block": "Zablokovať používateľa", "unblock": "Odblokovať používateľa", "blockip": "Zablokovať {{GENDER:$1|používateľa|používateľku}}", - "blockip-legend": "Zablokovať používateľa", "blockiptext": "Tento formulár použite na zablokovanie možnosti zápisu z konkrétnej IP adresy alebo od konkrétneho používateľa.\nMali by ste to urobiť len na zabránenie vandalizmu a v súlade so [[{{MediaWiki:Policy-url}}|zásadami a smernicami {{GRAMMAR:genitív|{{SITENAME}}}}]].\nNižšie uveďte konkrétny dôvod (napríklad uveďte konkrétne stránky, ktoré padli za obeť vandalizmu).\nRozsahy IP adreies môžete blokovať pomocou syntaxe [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]; najväčší povolený rozsah je /$1 v prípade IPv4 a /$2 v prípade IPv6.", "ipaddressorusername": "IP adresa alebo meno používateľa:", "ipbexpiry": "Ukončenie:", diff --git a/languages/i18n/sl.json b/languages/i18n/sl.json index c345048ca5..e9ca049be1 100644 --- a/languages/i18n/sl.json +++ b/languages/i18n/sl.json @@ -620,7 +620,7 @@ "anonpreviewwarning": "Niste prijavljeni. Ob spremembi strani se bo vaš IP-naslov zapisal v zgodovini urejanja te strani.", "missingsummary": "'''Opozorilo:''' Niste napisali povzetka urejanja. Ob ponovnem kliku gumba ''Shrani'' se bo vaše urejanje shranilo brez njega.", "selfredirect": "Opozorilo: Stran preusmerjate na samo nase.\nMorda ste za cilj preusmeritve navedli napačno stran ali pa morda urejate napačno stran.\nČe ponovno kliknete »$1«, bomo preusmeritev vseeno ustvarili.", - "missingcommenttext": "Prosimo, vpišite v spodnje polje komentar.", + "missingcommenttext": "Prosimo, vnesite komentar.", "missingcommentheader": "Opozorilo: Niste vnesli zadeve za ta komentar.\nČe boste ponovno kliknili »$1«, bo vaše urejanje shranjeno brez nje.", "summary-preview": "Predogled povzetka urejanja:", "subject-preview": "Predogled zadeve:", @@ -1291,7 +1291,7 @@ "recentchanges-submit": "Prikaži", "rcfilters-tag-remove": "Odstrani »$1«", "rcfilters-legend-heading": "Seznam okrajšav:", - "rcfilters-other-review-tools": "Druga orodja za pregled", + "rcfilters-other-review-tools": "Druga orodja za pregled", "rcfilters-group-results-by-page": "Združi rezultate po strani", "rcfilters-grouping-title": "Združevanje", "rcfilters-activefilters": "Dejavni filtri", @@ -1304,7 +1304,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|ura|uri|ure|ur}}", "rcfilters-highlighted-filters-list": "Označeno: $1", "rcfilters-quickfilters": "Shranjeni filtri", - "rcfilters-quickfilters-placeholder-title": "Shranjena ni še nobena povezava", + "rcfilters-quickfilters-placeholder-title": "Shranjen ni še noben filter", "rcfilters-quickfilters-placeholder-description": "Da shranite svoje nastavitve filtrov in jih ponovno uporabite pozneje, kliknite na ikono za zaznamek v območju Dejavni filtri spodaj.", "rcfilters-savedqueries-defaultlabel": "Shranjeni filtri", "rcfilters-savedqueries-rename": "Preimenuj", @@ -1338,13 +1338,13 @@ "rcfilters-filter-editsbyself-description": "Vaša lastna urejanja.", "rcfilters-filter-editsbyother-label": "Spremembe drugih", "rcfilters-filter-editsbyother-description": "Vse spremembe razen vaših.", - "rcfilters-filtergroup-userExpLevel": "Registriranost in izkušenost uporabnika", - "rcfilters-filter-user-experience-level-registered-label": "Registriran", + "rcfilters-filtergroup-userExpLevel": "Prijava in izkušnje uporabnika", + "rcfilters-filter-user-experience-level-registered-label": "Prijavljeni", "rcfilters-filter-user-experience-level-registered-description": "Prijavljeni uporabniki.", - "rcfilters-filter-user-experience-level-unregistered-label": "Neregistriran", + "rcfilters-filter-user-experience-level-unregistered-label": "Neprijavljeni", "rcfilters-filter-user-experience-level-unregistered-description": "Uporabniki, ki niso prijavljeni.", "rcfilters-filter-user-experience-level-newcomer-label": "Novinci", - "rcfilters-filter-user-experience-level-newcomer-description": "Registrirani uporabniki z manj kot 10 urejanji in 4 dnevi dejavnosti.", + "rcfilters-filter-user-experience-level-newcomer-description": "Registrirani uporabniki, ki imajo manj kot 10 urejanj ali 4 dni dejavnosti.", "rcfilters-filter-user-experience-level-learner-label": "Učenci", "rcfilters-filter-user-experience-level-learner-description": "Registrirani uporabniki, ki so po izkušenosti med »Novinci« in »Izkušenimi uporabniki«.", "rcfilters-filter-user-experience-level-experienced-label": "Izkušeni uporabniki", @@ -1539,7 +1539,7 @@ "uploaded-script-svg": "V naloženi datoteki SVG smo našli skriptni element »$1«.", "uploaded-hostile-svg": "V slogovnem elementu naložene datoteke SVG smo našli nevaren CSS.", "uploaded-event-handler-on-svg": "Določevanje atributov za dogodke $1=\"$2\" v datotekah SVG ni dovoljeno.", - "uploaded-href-attribute-svg": "Atributi href v datotekah SVG lahko ciljajo samo na http:// ali https://, našli smo <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": "Elementi se lahko povezujejo (href) samo na cilje data: (vgrajena datoteka), http://, https:// ali sidro (#, v istem dokumentu). Za druge elemente, kot je , sta dovoljena samo data: in sidro. Med izvozom svojega SVG poskusite slike vgraditi. Našli smo <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "Našli smo href na nevaren podatek: cilj URI <$1 $2=\"$3\"> v naloženi datoteki SVG.", "uploaded-animate-svg": "V naloženi datoteki SVG smo našli oznako »animate«, ki lahko spreminja href z uporabo atributa »from« <$1 $2=\"$3\">.", "uploaded-setting-event-handler-svg": "Določevanje atributov za dogodke je blokirano; v naloženi datoteki SVG smo našli <$1 $2=\"$3\">.", diff --git a/languages/i18n/sr-ec.json b/languages/i18n/sr-ec.json index ba59edf4cf..7b99cf1b57 100644 --- a/languages/i18n/sr-ec.json +++ b/languages/i18n/sr-ec.json @@ -151,7 +151,7 @@ "december-date": "$1 децембар", "period-am": "преподне", "period-pm": "поподне", - "pagecategories": "{{PLURAL:$1|Категорија|Категорије}}", + "pagecategories": "{{PLURAL:$1|Категорија|Категорије|Категорија}}", "category_header": "Странице у категорији „$1“", "subcategories": "Поткатегорије", "category-media-header": "Датотеке у категорији „$1“", @@ -307,7 +307,7 @@ "sort-descending": "Поређај опадајуће", "sort-ascending": "Поређај растуће", "nstab-main": "Страница", - "nstab-user": "{{GENDER:{{BASEPAGENAME}}|Корисник|Корисница}}", + "nstab-user": "{{GENDER:{{BASEPAGENAME}}|Корисник|Корисница|Корисник}}", "nstab-media": "Медији", "nstab-special": "Посебно", "nstab-project": "Пројекат", @@ -320,7 +320,7 @@ "nosuchaction": "Нема такве радње", "nosuchactiontext": "Радња наведена у адреси није исправна.\nМожда сте погрешно написали адресу или сте пратили застарелу везу.\nМогуће је и да се ради о грешци у софтверу викија.", "nosuchspecialpage": "Нема такве посебне странице", - "nospecialpagetext": "Посебна страница не постоји.\n\nСписак свих посебних страница налази се [[Special:SpecialPages|овде]].", + "nospecialpagetext": "Посебна страница коју сте захтевали не постоји.\n\nСписак свих посебних страница налази се на „[[Special:SpecialPages|{{int:specialpages}}]]”.", "error": "Грешка", "databaseerror": "Грешка у бази података", "databaseerror-text": "Дошло је до грешке у упиту базе података. Можда је у питању програмска грешка.", @@ -368,7 +368,7 @@ "perfcachedts": "Следећи подаци су кеширани и последњи пут ажурирани на датум $2 у $3 ч. У кешу {{PLURAL:$4|је доступан највише један резултат|су доступна највише $4 резултата|је доступно највише $4 резултата}}.", "querypage-no-updates": "Ажурирање ове странице је тренутно онемогућено.\nПодаци који се овде налазе могу бити застарели.", "viewsource": "Изворни код", - "viewsource-title": "Изворни текст странице $1", + "viewsource-title": "Изворни код за страницу $1", "actionthrottled": "Радња је успорена", "actionthrottledtext": "У циљу борбе против непожељних порука, ограничене су вам измене у одређеном времену, а управо сте прешли то ограничење. Покушајте поново за неколико минута.", "protectedpagetext": "Ова страница је закључана за измене и друге радње.", @@ -449,9 +449,9 @@ "createacct-continue-submit": "Наставите отварање налога", "createacct-another-continue-submit": "Наставите отварање налога", "createacct-benefit-heading": "{{SITENAME}} је пројекат који стварају људи попут Вас.", - "createacct-benefit-body1": "{{PLURAL:$1|измена}}", - "createacct-benefit-body2": "{{PLURAL:$1|страница|странице}}", - "createacct-benefit-body3": "{{PLURAL:$1|активни корисник|активних корисника}}", + "createacct-benefit-body1": "{{PLURAL:$1|измена|измене|измена}}", + "createacct-benefit-body2": "{{PLURAL:$1|страница|странице|страница}}", + "createacct-benefit-body3": "недавно {{PLURAL:$1|активни корисник|активна корисника|активних корисника}}", "badretype": "Унете лозинке се не поклапају.", "usernameinprogress": "Налог за ово корисничко име се већ прави, молимо сачекајте.", "userexists": "Корисничко име је заузето. Изаберите друго.", @@ -598,14 +598,14 @@ "italic_tip": "Искошени текст", "link_sample": "Наслов везе", "link_tip": "Унутрашња веза", - "extlink_sample": "http://www.primer.com наслов везе", - "extlink_tip": "Спољна веза (с предметком http://)", - "headline_sample": "Наслов", - "headline_tip": "Поднаслов", + "extlink_sample": "http://www.example.com/ наслов везе", + "extlink_tip": "Спољашња веза (с префиксом http://)", + "headline_sample": "Текст наслова", + "headline_tip": "Поднаслов (ниво 2)", "nowiki_sample": "Убаците необликован текст овде", "nowiki_tip": "Занемари вики обликовање", "image_sample": "Пример.jpg", - "image_tip": "Убацивање датотеке", + "image_tip": "Уграђивање датотеке", "media_sample": "Пример.ogg", "media_tip": "Веза", "sig_tip": "Ваш потпис са тренутним временом", @@ -690,7 +690,7 @@ "cascadeprotectedwarning": "Упозорење: Ова страница је заштићена тако да је могу уређивати само корисници са [[Special:ListGroupRights|одређеним правима]] (администратори), јер је иста укључена у {{PLURAL:$1|следећу страницу која је заштићена|следеће странице које су заштићене}} „преносивом” заштитом:", "titleprotectedwarning": "Упозорење: ову страницу могу направити само корисници [[Special:ListGroupRights|с одређеним правима]].\nИспод су наведени последњи записи у дневнику:", "templatesused": "{{PLURAL:$1|Шаблон|Шаблони}} на овој страници:", - "templatesusedpreview": "{{PLURAL:$1|Шаблон|Шаблони}} у овом прегледу:", + "templatesusedpreview": "{{PLURAL:$1|Шаблон|Шаблони}} у овом претпрегледу:", "templatesusedsection": "{{PLURAL:$1|Шаблон|Шаблони}} у овом одељку:", "template-protected": "(заштићено)", "template-semiprotected": "(полузаштићено)", @@ -895,7 +895,7 @@ "showhideselectedversions": "Промени видљивост изабраних измена", "editundo": "поништи", "diff-empty": "(Нема разлике)", - "diff-multi-sameuser": "({{PLURAL:$1|Једна међуизмена истог корисника није приказана|$1 међуизмене истог корисника није приказано|$1 међуизмена истог корисника није приказано}})", + "diff-multi-sameuser": "({{PLURAL:$1|Једна међуизмена истог корисника није приказана|$1 међуизмене истог корисника нису приказане|$1 међуизмена истог корисника није приказано}})", "diff-multi-otherusers": "({{PLURAL:$1|Једна међуизмена|$1 међуизмене|$1 међуизмена}} од стране {{PLURAL:$2|још једног корисника није приказана|$2 корисника није приказано}})", "diff-multi-manyusers": "({{PLURAL:$1|Није приказана међуизмена|Нису приказане $1 међуизмене|Није приказано $1 међуизмена}} од више од $2 корисника)", "difference-missing-revision": "Не могу да пронађем {{PLURAL:$2|једну измену|$2 измене|$2 измена}} од ове разлике ($1).\n\nОво се обично дешава када пратите застарелу везу до странице која је обрисана.\nВише информација можете пронаћи у [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневнику брисања].", @@ -904,8 +904,8 @@ "titlematches": "Наслов странице одговара", "textmatches": "Текст странице одговара", "notextmatches": "Ниједан текст странице не одговара", - "prevn": "претходних {{PLURAL:$1|$1}}", - "nextn": "следећих {{PLURAL:$1|$1}}", + "prevn": "{{PLURAL:$1|претходну $1|претходне $1|претходних $1}}", + "nextn": "{{PLURAL:$1|следећу $1|следеће $1|следећих $1}}", "prev-page": "претходна страница", "next-page": "следећа страница", "prevn-title": "$1 {{PLURAL:$1|претходни резултат|претходна резултата|претходних резултата}}", @@ -914,7 +914,7 @@ "viewprevnext": "Погледај ($1 {{int:pipe-separator}} $2) ($3).", "searchmenu-exists": "Постоји страница под називом „[[:$1]]”! {{PLURAL:$2|0=|Такође погледајте друге пронађене резултате претраге.}}", "searchmenu-new": "Направите страницу „[[:$1]]”! {{PLURAL:$2|0=|Такође погледајте резултат претраге.|Такође погледајте резултате претраге.}}", - "searchprofile-articles": "Чланци", + "searchprofile-articles": "Странице са садржајем", "searchprofile-images": "Датотеке", "searchprofile-everything": "Све", "searchprofile-advanced": "Напредно", @@ -1280,7 +1280,7 @@ "recentchanges-submit": "Прикажи", "rcfilters-tag-remove": "Обриши $1", "rcfilters-legend-heading": "Списак скраћеница:", - "rcfilters-other-review-tools": "Остали алати за преглед", + "rcfilters-other-review-tools": "Остали алати за преглед", "rcfilters-group-results-by-page": "Групиши резултате по страницама", "rcfilters-grouping-title": "Груписање", "rcfilters-activefilters": "Активни филтери", @@ -1392,7 +1392,7 @@ "rcfilters-preference-help": "Поништава редизајн интерфејса из 2017. и све алатке додате тада и после.", "rcnotefrom": "Испод {{PLURAL:$5|је измена|су измене}} од $3, $4 (до $1 приказано).", "rclistfromreset": "Ресетуј одабир датума", - "rclistfrom": "Прикажи нове измене почев од $2 $3", + "rclistfrom": "Прикажи нове измене почев од $2, $3", "rcshowhideminor": "$1 мање измене", "rcshowhideminor-show": "Прикажи", "rcshowhideminor-hide": "Сакриј", @@ -1667,7 +1667,7 @@ "filehist-comment": "Коментар", "imagelinks": "Употреба датотеке", "linkstoimage": "{{PLURAL:$1|Следећа страница користи|$1 следеће странице користе|$1 следећих страница користи}} ову датотеку:", - "linkstoimage-more": "Више од $1 {{PLURAL:$1|странице|странице|страница}} је повезано с овом датотеком.\nСледећи списак приказује само {{PLURAL:$1|прву страницу повезану|прве $1 странице повезане|првих $1 страница повезаних}} с овом датотеком.\nДоступан је и [[Special:WhatLinksHere/$2|потпуни списак]].", + "linkstoimage-more": "Више од $1 {{PLURAL:$1|страница|странице|страница}} је повезано с овом датотеком.\nСледећи списак приказује само {{PLURAL:$1|прву страницу повезану|прве $1 странице повезане|првих $1 страница повезаних}} с овом датотеком.\nДоступан је и [[Special:WhatLinksHere/$2|потпуни списак]].", "nolinkstoimage": "Нема страница које користе ову датотеку.", "morelinkstoimage": "Погледајте [[Special:WhatLinksHere/$1|више веза]] до ове датотеке.", "linkstoimage-redirect": "$1 (преусмерење датотеке) $2", @@ -1847,7 +1847,7 @@ "nopagetitle": "Не постоји таква страница", "nopagetext": "Тражена страница не постоји.", "pager-newer-n": "{{PLURAL:$1|новији 1|новија $1|новијих $1}}", - "pager-older-n": "{{PLURAL:$1|старији 1|старијих $1}}", + "pager-older-n": "{{PLURAL:$1|старији 1|старија $1|старијих $1}}", "suppress": "Ревизија", "querypage-disabled": "Ова посебна страница је онемогућена ради побољшања перформанси.", "apihelp": "API помоћ", @@ -2245,14 +2245,14 @@ "whatlinkshere": "Шта води овде", "whatlinkshere-title": "Странице које су повезане са „$1”", "whatlinkshere-page": "Страница:", - "linkshere": "Следеће странице имају везу до '''[[:$1]]''':", - "nolinkshere": "Ниједна страница није повезана са: '''[[:$1]]'''.", + "linkshere": "Следеће странице имају везу до [[:$1]]:", + "nolinkshere": "Ниједна страница није повезана са: [[:$1]].", "nolinkshere-ns": "Ниједна страница не води до '''[[:$1]]''' у изабраном именском простору.", "isredirect": "преусмерење", "istemplate": "укључивање", "isimage": "веза до датотеке", - "whatlinkshere-prev": "{{PLURAL:$1|претходни|претходних $1}}", - "whatlinkshere-next": "{{PLURAL:$1|следећи|следећих $1}}", + "whatlinkshere-prev": "{{PLURAL:$1|претходни|претходна $1|претходних $1}}", + "whatlinkshere-next": "{{PLURAL:$1|следећи|следећа $1|следећих $1}}", "whatlinkshere-links": "← везе", "whatlinkshere-hideredirs": "$1 преусмерења", "whatlinkshere-hidetrans": "$1 укључивања", @@ -2569,13 +2569,13 @@ "tooltip-n-portal": "О пројекту, шта можете да радите и где да пронађете ствари", "tooltip-n-currentevents": "Сазнајте више о текућим догађајима", "tooltip-n-recentchanges": "Списак скорашњих измена на викију", - "tooltip-n-randompage": "Отворите случајну страницу", + "tooltip-n-randompage": "Учитајте случајну страницу", "tooltip-n-help": "Место где можете да се информишете", "tooltip-t-whatlinkshere": "Списак свих страница које воде овде", - "tooltip-t-recentchangeslinked": "Скорашње измене на страницама које су повезана с овом страницом", + "tooltip-t-recentchangeslinked": "Скорашње измене на страницама које су повезане с овом страницом", "tooltip-feed-rss": "RSS довод ове странице", "tooltip-feed-atom": "Атом довод ове странице", - "tooltip-t-contributions": "Списак доприноса {{GENDER:$1|овог корисника|ове кориснице}}", + "tooltip-t-contributions": "Списак доприноса {{GENDER:$1|овог корисника|ове кориснице|овог корисника}}", "tooltip-t-emailuser": "Пошаљите имејл {{GENDER:$1|овом кориснику|овој корисници}}", "tooltip-t-info": "Више информација о овој страници", "tooltip-t-upload": "Отпреми датотеке", @@ -2587,7 +2587,7 @@ "tooltip-ca-nstab-media": "Погледајте мултимедијалну датотеку", "tooltip-ca-nstab-special": "Ово је посебна страница. Не можете је мењати.", "tooltip-ca-nstab-project": "Погледајте страницу пројекта", - "tooltip-ca-nstab-image": "Прикажи страну датотеке", + "tooltip-ca-nstab-image": "Прикажи страницу датотеке", "tooltip-ca-nstab-mediawiki": "Погледајте системску поруку", "tooltip-ca-nstab-template": "Погледајте шаблон", "tooltip-ca-nstab-help": "Погледајте страницу за помоћ", @@ -2604,7 +2604,7 @@ "tooltip-recreate": "Поново направите страницу иако је обрисана", "tooltip-upload": "Започните отпремање", "tooltip-rollback": "„Врати“ враћа измене последњег корисника једним кликом", - "tooltip-undo": "Поништава ову измену и отвара образац за уређивање.", + "tooltip-undo": "Опција „поништи” враћа ову измену и отвара образац за уређивање у претпрегледном моду. Омогућава додавање разлога у опису измене.", "tooltip-preferences-save": "Сачувај поставке", "tooltip-summary": "Унесите кратак опис", "interlanguage-link-title": "$1 — $2", @@ -2648,7 +2648,7 @@ "pageinfo-display-title": "Наслов за приказ", "pageinfo-default-sort": "Подразумевани кључ сортирања", "pageinfo-length": "Дужина странице (у бајтовима)", - "pageinfo-article-id": "ИД странице", + "pageinfo-article-id": "ID странице", "pageinfo-language": "Језик садржаја странице", "pageinfo-content-model": "Модел садржаја странице", "pageinfo-content-model-change": "промени", @@ -2657,7 +2657,7 @@ "pageinfo-robot-noindex": "Није дозвољено", "pageinfo-watchers": "Број надгледача странице", "pageinfo-visiting-watchers": "Број надгледача странице који су посјетили скорашње измјене", - "pageinfo-few-watchers": "Мање од $1 {{PLURAL:$1|пратиоца|пратилаца}}", + "pageinfo-few-watchers": "Мање од $1 {{PLURAL:$1|пратиоца|пратиоца|пратилаца}}", "pageinfo-redirects-name": "Број преусмерења на ову страницу", "pageinfo-subpages-name": "Подстранице ове странице", "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|преусмерење|преусмерења|преусмерења}}; $3 {{PLURAL:$3|непреусмерење|непреусмерења|непреусмерења}})", @@ -2728,7 +2728,7 @@ "show-big-image": "Пуна величина", "show-big-image-preview": "Величина овог приказа: $1.", "show-big-image-preview-differ": "Величина $3 прегледа за ову $2 датотеку је $1.", - "show-big-image-other": "{{PLURAL:$2|Друга резолуција|Друге резолуције}}: $1.", + "show-big-image-other": "$2 {{PLURAL:$2|друга резолуција|друге резолуције|других резолуција}}: $1.", "show-big-image-size": "$1 × $2 пиксела", "file-info-gif-looped": "петља", "file-info-gif-frames": "$1 {{PLURAL:$1|кадар|кадра|кадрова}}", @@ -2810,7 +2810,7 @@ "variantname-shi-latn": "shi-Latn", "variantname-shi": "shi", "metadata": "Метаподаци", - "metadata-help": "Ова датотека садржи додатне податке који вероватно долазе од дигиталног фотоапарата или скенера.\nАко је првобитно стање датотеке промењено, могуће је да неки детаљи не описују измењену датотеку.", + "metadata-help": "Ова датотека садржи додатне податке, који вероватно долазе од дигиталног фотоапарата или скенера коришћеног за дигитализацију.\nАко је првобитно стање датотеке промењено, могуће је да неки детаљи не описују измењену датотеку у потпуности.", "metadata-expand": "Прикажи детаље", "metadata-collapse": "Сакриј детаље", "metadata-fields": "Поља за метаподатке слике наведена у овој поруци ће бити укључена на страници за слике када се скупи табела метаподатака. Остала поља ће бити сакривена по подразумеваним поставкама.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude", @@ -3385,7 +3385,8 @@ "version-libraries-license": "Лиценца", "version-libraries-description": "Опис", "version-libraries-authors": "Аутори", - "redirect": "Преусмерење на датотеку, корисника, страницу, измену или дневник", + "redirect": "Преусмерење на датотеку, корисника, страницу, измену или дневник (ID)", + "redirect-summary": "Ова специјална страница преусмерава до датотеке (са датим именом датотеке), странице (са датим ID-ом измене или ID-ом странице), корисничке странице (са датим нумеричким корисничким ID-ом), или уноса у дневнику (са датим дневничким ID-ом). Употреба: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], or [[{{#Special:Redirect}}/logid/186]].", "redirect-submit": "Иди", "redirect-lookup": "Тип вредности:", "redirect-value": "Вредност:", @@ -3424,7 +3425,7 @@ "tags": "Важеће ознаке измена", "tag-filter": "Филтер за [[Special:Tags|ознаке]]:", "tag-filter-submit": "Филтрирај", - "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Ознака|Ознаке}}]]: $2)", + "tag-list-wrapper": "([[Special:Tags|$1 {{PLURAL:$1|ознака|ознаке|ознака}}]]: $2)", "tag-mw-contentmodelchange": "промена модела садржаја", "tags-title": "Ознаке", "tags-intro": "На овој страници је наведен списак ознака с којима програм може да означи измене и његово значење.", @@ -3514,7 +3515,7 @@ "htmlform-title-not-exists": "$1 не постоји.", "htmlform-user-not-exists": "$1 не постоји.", "htmlform-user-not-valid": "$1 није исправно корисничко име.", - "logentry-delete-delete": "$1 је {{GENDER:$2|обрисао|обрисала}} страницу $3", + "logentry-delete-delete": "$1 је {{GENDER:$2|обрисао|обрисала|обрисао}} страницу $3", "logentry-delete-delete_redir": "$1 је {{GENDER:$2|обрисао|обрисала}} преусмерење $3 преписивањем", "logentry-delete-restore": "$1 је {{GENDER:$2|вратио|вратила}} страницу $3 ($4)", "logentry-delete-restore-nocount": "$1 је {{GENDER:$2|вратио|вратила}} страницу $3", diff --git a/languages/i18n/sr-el.json b/languages/i18n/sr-el.json index cf4abf276a..c4e136828b 100644 --- a/languages/i18n/sr-el.json +++ b/languages/i18n/sr-el.json @@ -1181,7 +1181,7 @@ "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|spisak novih stranica]])", "recentchanges-submit": "Prikaži", "rcfilters-legend-heading": "Spisak skraćenica:", - "rcfilters-other-review-tools": "Ostali alati za pregled:", + "rcfilters-other-review-tools": "Ostali alati za pregled:", "rcfilters-activefilters": "Aktivni filteri", "rcfilters-advancedfilters": "Napredni filteri", "rcfilters-limit-title": "Prikazati izmjena", @@ -3321,7 +3321,7 @@ "logentry-protect-modify": "$1 je {{GENDER:$2|promenio|promenila}} stepen zaštite za $3 $4", "logentry-protect-modify-cascade": "$1 je {{GENDER:$2|promenio|promenila}} stepen zaštite za $3 $4 [prenosiva zaštita]", "logentry-rights-rights": "$1 je {{GENDER:$2|promenio|promenila}} članstvo grupe za {{GENDER:$6|$3}} iz $4 u $5", - "logentry-rights-rights-legacy": "$1 je {{GENDER:$2|promenio|promenila}} čalnstvo grupe za $3", + "logentry-rights-rights-legacy": "$1 je {{GENDER:$2|promenio|promenila}} članstvo grupe za $3", "logentry-rights-autopromote": "$1 je automatski {{GENDER:$1|unapređen|unapređena}} iz $4 u $5", "logentry-upload-upload": "$1 je {{GENDER:$2|otpremio|otpremila}} $3", "logentry-upload-overwrite": "$1 je {{GENDER:$2|otpremio|otpremila}} novu verziju $3", diff --git a/languages/i18n/su.json b/languages/i18n/su.json index 0e3fcc0c04..770ba7332e 100644 --- a/languages/i18n/su.json +++ b/languages/i18n/su.json @@ -1256,7 +1256,7 @@ "recentchanges-submit": "Témbongkeun", "rcfilters-tag-remove": "Pupus '$1'", "rcfilters-legend-heading": "Daptar singgetan:", - "rcfilters-other-review-tools": "Pakakas paninjauan lianna", + "rcfilters-other-review-tools": "Pakakas paninjauan lianna", "rcfilters-group-results-by-page": "Gorombolkeun hasil dumasar kaca", "rcfilters-grouping-title": "Gorombolkeun", "rcfilters-activefilters": "Panyaringan aktif", diff --git a/languages/i18n/sv.json b/languages/i18n/sv.json index e02bf4117a..300a037cca 100644 --- a/languages/i18n/sv.json +++ b/languages/i18n/sv.json @@ -308,10 +308,10 @@ "privacy": "Integritetspolicy", "privacypage": "Project:Integritetspolicy", "badaccess": "Behörighetsfel", - "badaccess-group0": "Du har inte behörighet att utföra den handling du begärt.", - "badaccess-groups": "Den handling du har begärt kan enbart utföras av användare i {{PLURAL:$2|gruppen|en av grupperna}}: $1.", + "badaccess-group0": "Du har inte behörighet att utföra den åtgärd du begärt.", + "badaccess-groups": "Den åtgärd du har begärt kan enbart utföras av användare i {{PLURAL:$2|gruppen|en av grupperna}}: $1.", "versionrequired": "Version $1 av MediaWiki krävs", - "versionrequiredtext": "Version $1 av MediaWiki är nödvändig för att använda denna sida. Se [[Special:Version|versionssidan]].", + "versionrequiredtext": "Version $1 av MediaWiki krävs för att använda denna sida. Se [[Special:Version|versionssidan]].", "ok": "OK", "retrievedfrom": "Hämtad från \"$1\"", "youhavenewmessages": "{{PLURAL:$3|Du har}} $1 ($2).", @@ -359,7 +359,7 @@ "nstab-category": "Kategori", "mainpage-nstab": "Huvudsida", "nosuchaction": "Funktionen finns inte", - "nosuchactiontext": "Den handling som specificerats av webbadressen är ogiltig.\nDu kan ha stavat webbadressen fel, eller följt en felaktig länk.\nDet kan även bero på en bugg i mjukvaran som används på {{SITENAME}}.", + "nosuchactiontext": "Den åtgärd som specificerats av webbadressen är ogiltig.\nDu kan ha stavat webbadressen fel, eller följt en felaktig länk.\nDet kan även bero på en bugg i mjukvaran som används på {{SITENAME}}.", "nosuchspecialpage": "Någon sådan specialsida finns inte", "nospecialpagetext": "Du har begärt en specialsida som inte finns.\n\nI [[Special:SpecialPages|listan över specialsidor]] kan du se vilka specialsidor som finns.", "error": "Fel", @@ -390,7 +390,7 @@ "directorynotreadableerror": "Katalog \"$1\" är inte läsbar.", "filenotfound": "Kunde inte hitta filen \"$1\".", "unexpected": "Oväntat värde: \"$1\"=\"$2\".", - "formerror": "Fel: Kunde inte sända formulär", + "formerror": "Fel: Kunde inte sända formulär.", "badarticleerror": "Den åtgärden kan inte utföras på den här sidan.", "cannotdelete": "Sidan eller filen \"$1\" kunde inte raderas.\nDen kanske redan har raderats av någon annan.", "cannotdelete-title": "Sidan \"$1\" kan inte raderas", @@ -405,7 +405,7 @@ "title-invalid-characters": "Den begärda sidtiteln innehåller ogiltiga tecken: \"$1\".", "title-invalid-relative": "Titeln har relativa sökvägar. Relativa sidtitlar (./, ../) är ogiltiga då de oftast är onåbara när de hanteras av en användares webbläsare.", "title-invalid-magic-tilde": "Den begärda sidans titel innehåller ogiltiga magiska tildesekvenser (~~~).", - "title-invalid-too-long": "Den begärda sidtiteln är för lång. Det får inte vara längre än $1 {{PLURAL:$1|byte}} i UTF-8-kodning.", + "title-invalid-too-long": "Den begärda sidtiteln är för lång. Den får inte vara längre än $1 {{PLURAL:$1|byte}} i UTF-8-kodning.", "title-invalid-leading-colon": "Den begärda sidans titel innehåller ett ogiltigt kolon i början.", "perfcached": "Följande data är cachad och är möjligtvis inte helt uppdaterad. Maximalt {{PLURAL:$1|ett|$1}} resultat finns {{PLURAL:$1|tillgängligt|tillgängliga}} i cachen.", "perfcachedts": "Följande data är cachad och uppdaterades senast $1. Maximalt {{PLURAL:$4|ett|$4}} resultat finns {{PLURAL:$4|tillgängligt|tillgängliga}} i cachen.", @@ -417,15 +417,15 @@ "protectedpagetext": "Den här sidan har skrivskyddats för att förhindra redigering eller andra åtgärder.", "viewsourcetext": "Du kan se och kopiera denna sidas källtext.", "viewyourtext": "Du kan se och kopiera källtexten för dina redigeringar av denna sida.", - "protectedinterface": "Denna sida innehåller text för mjukvarans gränssnitt på denna wiki, och är skrivskyddad för att förebygga missbruk.\nFör att lägga till eller ändra översättningar för alla wikis, var god använd [https://translatewiki.net/ translatewiki.net], lokaliseringsprojektet för MediaWiki.", + "protectedinterface": "Denna sida innehåller text för mjukvarans gränssnitt på denna wiki, och är skrivskyddad för att förebygga missbruk.\nFör att lägga till eller ändra översättningar för alla wikier, var god använd [https://translatewiki.net/ translatewiki.net], lokaliseringsprojektet för MediaWiki.", "editinginterface": "Varning: Du redigerar en sida som används för texten i gränssnittet.\nÄndringar på denna sida kommer att påverka användargränssnittets utseende för andra användare på denna wiki.", - "translateinterface": "För att lägga till eller ändra översättningar för alla wikis, använd [https://translatewiki.net/ translatewiki.net], lokaliseringsprojektet för MediaWiki.", + "translateinterface": "För att lägga till eller ändra översättningar för alla wikier, använd [https://translatewiki.net/ translatewiki.net], lokaliseringsprojektet för MediaWiki.", "cascadeprotected": "Den här sidan har skyddats från redigering eftersom den inkluderas på följande {{PLURAL:$1|sida|sidor}} som skrivskyddats med \"kaskaderande\"-inställningen aktiverad:\n$2", - "namespaceprotected": "Du har inte behörighet att redigera sidor i namnrymden '''$1'''.", + "namespaceprotected": "Du har inte behörighet att redigera sidor i namnrymden $1.", "customcssprotected": "Du har inte behörighet att redigera denna CSS-sida eftersom den innehåller en annan användares personliga inställningar.", "customjsprotected": "Du har inte behörighet att redigera denna JavaScript-sida eftersom den innehåller en annan användares personliga inställningar.", - "mycustomcssprotected": "Du har inte rättigheten att redigera denna CSS-sida.", - "mycustomjsprotected": "Du har inte rättigheten att redigera denna JavaScript-sida.", + "mycustomcssprotected": "Du har inte behörighet att redigera denna CSS-sida.", + "mycustomjsprotected": "Du har inte behörighet att redigera denna JavaScript-sida.", "myprivateinfoprotected": "Du har inte behörighet att redigera din privata information.", "mypreferencesprotected": "Du har inte behörighet att redigera dina inställningar.", "ns-specialprotected": "Specialsidor kan inte redigeras.", @@ -436,7 +436,7 @@ "exception-nologin": "Inte inloggad", "exception-nologin-text": "Var god logga in för att komma åt denna sida eller åtgärd.", "exception-nologin-text-manual": "Var god $1 för att få tillgång till denna sida eller åtgärd.", - "virus-badscanner": "Dålig konfigurering: okänd virusskanner: ''$1''", + "virus-badscanner": "Dålig konfigurering: Okänd virusskanner: $1", "virus-scanfailed": "skanning misslyckades (kod $1)", "virus-unknownscanner": "okänt antivirusprogram:", "logouttext": "Du är nu utloggad.\n\nObservera att det, tills du tömmer din webbläsares cache, på vissa sidor kan det se ut som att du fortfarande är inloggad.", @@ -452,7 +452,7 @@ "userlogin-yourpassword": "Lösenord", "userlogin-yourpassword-ph": "Ange ditt lösenord", "createacct-yourpassword-ph": "Ange ett lösenord", - "yourpasswordagain": "Upprepa lösenord", + "yourpasswordagain": "Upprepa lösenord:", "createacct-yourpasswordagain": "Bekräfta lösenordet", "createacct-yourpasswordagain-ph": "Ange lösenordet igen", "userlogin-remembermypassword": "Håll mig inloggad", @@ -463,9 +463,9 @@ "cannotloginnow-text": "Det går inte att logga in med $1.", "cannotcreateaccount-title": "Kan inte skapa konton", "cannotcreateaccount-text": "Direkt kontoregistrering är inte aktiverat på denna wiki.", - "yourdomainname": "Din domän", + "yourdomainname": "Din domän:", "password-change-forbidden": "Du kan inte ändra lösenord på denna wiki.", - "externaldberror": "Antingen inträffade autentiseringsproblem med en extern databas, eller så får du inte uppdatera ditt externa konto.", + "externaldberror": "Antingen inträffade autentiseringsproblem med en databas, eller så får du inte uppdatera ditt externa konto.", "login": "Logga in", "login-security": "Verifiera din identitet", "nav-login-createaccount": "Logga in / skapa konto", @@ -482,7 +482,7 @@ "userlogin-createanother": "Skapa ett annat konto", "createacct-emailrequired": "E-postadress", "createacct-emailoptional": "E-postadress (valfritt)", - "createacct-email-ph": "Bekräfta din e-postadress", + "createacct-email-ph": "Ange din e-postadress", "createacct-another-email-ph": "Skriv in e-postadress", "createaccountmail": "Använd ett tillfälligt slumpvis valt lösenord och skicka det till den angivna e-postadressen", "createaccountmail-help": "Kan användas för att skapa ett konto åt en annan person utan att kunna lösenordet.", @@ -510,13 +510,13 @@ "createacct-loginerror": "Kontot skapades men du kunde inte loggas in automatiskt. Var god [[Special:UserLogin|logga in manuellt]].", "noname": "Du har angett ett ogiltigt användarnamn.", "loginsuccesstitle": "Inloggad", - "loginsuccess": "'''Du är nu inloggad på {{SITENAME}} som \"$1\".'''", + "loginsuccess": "Du är nu inloggad på {{SITENAME}} som \"$1\".", "nosuchuser": "Det finns ingen användare med namnet \"$1\".\nAnvändarnamn är skiftlägeskänsliga.\nKontrollera din stavning, eller [[Special:CreateAccount|skapa ett nytt konto]].", "nosuchusershort": "Det finns ingen användare som heter \"$1\". Kontrollera att du stavat rätt.", "nouserspecified": "Du måste ange ett användarnamn.", "login-userblocked": "Denna användare är blockerad. Inloggning är inte tillåtet.", "wrongpassword": "Lösenordet du angav är felaktigt. Försök igen.", - "wrongpasswordempty": "Lösenordet som angavs var blankt. Var god försök igen.", + "wrongpasswordempty": "Lösenordet som angavs var tomt. Var god försök igen.", "passwordtooshort": "Lösenord måste innehålla minst {{PLURAL:$1|$1 tecken}}.", "passwordtoolong": "Lösenord kan inte vara längre än {{PLURAL:$1|1 tecken|$1 tecken}}.", "passwordtoopopular": "Vanliga lösenord kan inte användas. Välj ett mer unikt lösenord.", @@ -524,9 +524,9 @@ "password-login-forbidden": "Användningen av dessa användarnamn och lösenord har förbjudits.", "mailmypassword": "Återställ lösenord", "passwordremindertitle": "Nytt temporärt lösenord från {{SITENAME}}", - "passwordremindertext": "Någon (förmodligen du, från IP-adressen $1) har begärt ett nytt lösenord för {{SITENAME}} ($4). Ett tillfälligt lösenordet för användaren \"$2\" har skapats och satts till \"$3\". Om detta var vad du önskade, behöver du nu logga in och välja ett nytt lösenord. Ditt tillfälliga lösenord går ut om {{PLURAL:$5|ett dygn|$5 dygn}}.\n\nOm denna begäran gjordes av någon annan, eller om du har kommit ihåg ditt lösenord, och inte längre önskar ändra det, kan du ignorera detta meddelande och fortsätta använda ditt gamla lösenord.", + "passwordremindertext": "Någon (förmodligen du, från IP-adressen $1) har begärt ett nytt lösenord för {{SITENAME}} ($4). Ett tillfälligt lösenord för användaren \"$2\" har skapats och satts till \"$3\". Om detta var vad du önskade, behöver du nu logga in och välja ett nytt lösenord. Ditt tillfälliga lösenord går ut om {{PLURAL:$5|ett dygn|$5 dygn}}.\n\nOm denna begäran gjordes av någon annan, eller om du har kommit ihåg ditt lösenord, och inte längre önskar ändra det, kan du ignorera detta meddelande och fortsätta använda ditt gamla lösenord.", "noemail": "Användaren \"$1\" har inte registrerat någon e-postadress.", - "noemailcreate": "Du måste ange en giltig e-postadress", + "noemailcreate": "Du måste ange en giltig e-postadress.", "passwordsent": "Ett nytt lösenord har skickats till den e-postadress som användaren \"$1\" har registrerat. När du får meddelandet, var god logga in igen.", "blocked-mailpassword": "Din IP-adress har blockerats från att redigera. För att förhindra missbruk kan den inte användas för att få ett nytt lösenord.", "eauthentsent": "Ett e-postmeddelande för bekräftelse har skickats till den angivna e-postadressen.\nInnan någon annan e-post kan skickas till kontot, måste du följa instruktionerna i e-postmeddelandet för att bekräfta att kontot verkligen är ditt.", @@ -534,19 +534,19 @@ "mailerror": "Fel vid skickande av e-post: $1", "acct_creation_throttle_hit": "Besökare till den här wikin som har använt din IP-adress har skapat {{PLURAL:$1|ett användarkonto|$1 användarkonton}} under det senaste $2, vilket är det maximalt tillåtna inom den tidsperioden.\nSom ett resultat kan besökare som använder den här IP-adressen inte skapa några fler användarkonton just nu.", "emailauthenticated": "Din e-postadress bekräftades den $2 kl. $3.", - "emailnotauthenticated": "Din e-postadress är ännu inte bekräftad. Ingen e-post kommer att skickas vad gäller det följande funktionerna.", + "emailnotauthenticated": "Din e-postadress är ännu inte bekräftad. Ingen e-post kommer att skickas vad gäller de följande funktionerna.", "noemailprefs": "Uppge en e-postadress i dina inställningar för att få dessa funktioner att fungera.", "emailconfirmlink": "Bekräfta din e-postadress", "invalidemailaddress": "E-postadressen kan inte godtas då formatet verkar vara felaktigt.\nSkriv in en adress med korrekt format eller töm fältet.", - "cannotchangeemail": "E-post-adresser som är bundna till användarkonton kan inte ändras på denna wiki.", + "cannotchangeemail": "E-postadresser kan inte ändras på denna wiki.", "emaildisabled": "Denna webbplats kan inte skicka e-post.", "accountcreated": "Kontot har skapats", "accountcreatedtext": "Användarkontot [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|diskussion]]) har skapats.", "createaccount-title": "Konto skapat på {{SITENAME}}", "createaccount-text": "Någon har skapat ett konto åt din e-postadress på {{SITENAME}} ($4) med namnet \"$2\" och lösenordet \"$3\". Du bör nu logga in och ändra ditt lösenord.\n\nDu kan ignorera detta meddelande om kontot skapats av misstag.", - "login-throttled": "Du har gjort för många misslyckade inloggningsförsök.\nVänta $1 innan du försöker igen.", + "login-throttled": "Du har gjort för många nyliga inloggningsförsök.\nVänta $1 innan du försöker igen.", "login-abort-generic": "Din inloggning misslyckades - Avbröts", - "login-migrated-generic": "Dit konto har migrerats och ditt användarnamn existerar inte längre på denna wiki.", + "login-migrated-generic": "Ditt konto har migrerats och ditt användarnamn existerar inte längre på denna wiki.", "loginlanguagelabel": "Språk: $1", "suspicious-userlogout": "Din begäran om att logga ut nekades eftersom det ser ut som det skickades av en trasig webbläsare eller cachande proxy.", "createacct-another-realname-tip": "Riktigt namn behöver inte anges.\nOm du väljer att ange det, kommer det att användas för att tillskriva dig ditt arbete.", @@ -555,7 +555,7 @@ "pt-login-continue-button": "Fortsätt att logga in", "pt-createaccount": "Skapa konto", "pt-userlogout": "Logga ut", - "php-mail-error-unknown": "Okänt fel i PHP:s mail()-funktion", + "php-mail-error-unknown": "Okänt fel i PHP:s mail()-funktion.", "user-mail-no-addy": "Försökte skicka e-post utan en e-postadress", "user-mail-no-body": "Försökte skicka e-post med tomt eller orimligt kort innehåll.", "changepassword": "Byt lösenord", @@ -569,7 +569,7 @@ "changepassword-success": "Ditt lösenord har ändrats!", "changepassword-throttled": "Du har gjort för många inloggningsförsök nyligen.\nVänta $1 innan du försöker igen.", "botpasswords": "Botlösenord", - "botpasswords-summary": "Botlösenord ger åtkomst till ett användarkonto via API utan att använda kontots primära inloggningsuppgifter. Tillgängliga användarrättigheter när du är loggar in med ett botlösenord kan vara begränsade.\n\nOm du inte vet varför du kanske vill göra detta bör du förmodligen inte göra det. Ingen behöver någonsin be dig att generera ett av dessa och ge det till dem.", + "botpasswords-summary": "Botlösenord ger åtkomst till ett användarkonto via API utan att använda kontots primära inloggningsuppgifter. Tillgängliga användarbehörigheter när man är inloggad med ett botlösenord kan vara begränsade.\n\nOm du inte vet varför du skulle vilja göra detta, bör du förmodligen inte göra det. Ingen behöver någonsin be dig att generera ett av dessa och ge det till dem.", "botpasswords-disabled": "Botlösenord är inaktiverade.", "botpasswords-no-central-id": "För att använda botlösenord måste du vara inloggad på ett centraliserat konto.", "botpasswords-existing": "Befintliga botlösenord", @@ -582,7 +582,7 @@ "botpasswords-label-delete": "Radera", "botpasswords-label-resetpassword": "Återställ lösenordet", "botpasswords-label-grants": "Tillgängliga beviljanden:", - "botpasswords-help-grants": "Beviljande ger åtkomst till användarrättigheter som ditt användarkonto redan har. När ett beviljande aktiveras här ger det inte åtkomst till de användarrättigheter som ditt användarkonto inte annars skulle ha. Se [[Special:ListGrants|tabellen över beviljanden]] för mer information.", + "botpasswords-help-grants": "Beviljande ger åtkomst till användarbehörigheter som ditt användarkonto redan har. När ett beviljande aktiveras här ger det inte åtkomst till de användarrättigheter som ditt användarkonto inte annars skulle ha. Se [[Special:ListGrants|tabellen över beviljanden]] för mer information.", "botpasswords-label-grants-column": "Beviljas", "botpasswords-bad-appid": "Botnamnet \"$1\" är inte giltigt.", "botpasswords-insert-failed": "Kunde inte lägga till botnamnet \"$1\". Har det redan lagts till?", @@ -593,7 +593,7 @@ "botpasswords-updated-body": "Botlösenordet för botnamnet \"$1\" till användaren \"$2\" uppdaterades.", "botpasswords-deleted-title": "Botlösenord raderades", "botpasswords-deleted-body": "Botlösenordet för botnamnet \"$1\" till användaren \"$2\" raderades.", - "botpasswords-newpassword": "Det nya lösenordet att logga in för $1 är $2. Spara detta som framtida referens.
    (För äldre botar som kräver att inloggningsnamnet är detsamma som det eventuella användarnamnet kan du även använda $3 som användarnamn och $4 som lösenord.)", + "botpasswords-newpassword": "Det nya lösenordet för att logga in med $1 är $2. Spara detta för framtida referens.
    (För äldre botar som kräver att inloggningsnamnet är detsamma som det eventuella användarnamnet kan du även använda $3 som användarnamn och $4 som lösenord.)", "botpasswords-no-provider": "BotPasswordsSessionProvider är inte tillgänglig.", "botpasswords-restriction-failed": "Begränsningar av botlösenord tillåter inte denna inloggning.", "botpasswords-invalid-name": "Det angivna användarnamnet innehåller inte separatorn för botlösenord (\"$1\").", @@ -1074,7 +1074,7 @@ "timezoneregion-europe": "Europa", "timezoneregion-indian": "Indiska oceanen", "timezoneregion-pacific": "Stilla havet", - "allowemail": "Tillåt e-post från andra användare", + "allowemail": "Låt andra användare skicka e-post till mig", "email-blacklist-label": "Förhindra följande användare att skicka e-post till mig:", "prefs-searchoptions": "Sök", "prefs-namespaces": "Namnrymder", @@ -1355,7 +1355,7 @@ "recentchanges-submit": "Visa", "rcfilters-tag-remove": "Ta bort \"$1\"", "rcfilters-legend-heading": "Lista över förkortningar:", - "rcfilters-other-review-tools": "Andra granskningsverktyg", + "rcfilters-other-review-tools": "Andra granskningsverktyg", "rcfilters-group-results-by-page": "Gruppera resultat efter sida", "rcfilters-grouping-title": "Gruppering", "rcfilters-activefilters": "Aktiva filter", @@ -1368,7 +1368,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|timme|timmar}}", "rcfilters-highlighted-filters-list": "Markerade: $1", "rcfilters-quickfilters": "Sparade filter", - "rcfilters-quickfilters-placeholder-title": "Inga länkar har sparats ännu", + "rcfilters-quickfilters-placeholder-title": "Inga filter har sparats ännu", "rcfilters-quickfilters-placeholder-description": "För att spara dina filterinställningar och återanvända dem senare, klicka på bokmärkesikonen under \"Aktiva filter\" nedan.", "rcfilters-savedqueries-defaultlabel": "Sparade filter", "rcfilters-savedqueries-rename": "Döp om", @@ -1408,7 +1408,7 @@ "rcfilters-filter-user-experience-level-unregistered-label": "Oregistrerade", "rcfilters-filter-user-experience-level-unregistered-description": "Redigerare som inte är inloggade.", "rcfilters-filter-user-experience-level-newcomer-label": "Nykomlingar", - "rcfilters-filter-user-experience-level-newcomer-description": "Registrerade redigerare med färre än 10 redigeringar och 4 dagars aktivitet.", + "rcfilters-filter-user-experience-level-newcomer-description": "Registrerade redigerare som har färre än 10 redigeringar eller 4 dagars aktivitet.", "rcfilters-filter-user-experience-level-learner-label": "Nybörjare", "rcfilters-filter-user-experience-level-learner-description": "Registrerade redigerare vars erfarenhet hamnar mellan \"Nybörjare\" och \"Erfarna användare\".", "rcfilters-filter-user-experience-level-experienced-label": "Erfarna användare", @@ -1468,7 +1468,7 @@ "rcfilters-view-return-to-default-tooltip": "Återvänd till huvudfiltreringsmenyn", "rcfilters-view-tags-help-icon-tooltip": "Läs mer om taggade redigeringar", "rcfilters-liveupdates-button": "Liveuppdateringar", - "rcfilters-liveupdates-button-title-on": "Stäng av live-uppdateringar", + "rcfilters-liveupdates-button-title-on": "Stäng av liveuppdateringar", "rcfilters-liveupdates-button-title-off": "Visa nya ändringar när de händer", "rcfilters-watchlist-markseen-button": "Markera alla ändringar som sedda", "rcfilters-watchlist-edit-watchlist-button": "Redigera din lista över bevakade sidor", @@ -1603,7 +1603,7 @@ "uploaded-script-svg": "Hittade skriptelementet \"$1\" i den uppladdade SVG-filen.", "uploaded-hostile-svg": "Hittade osäker CSS i den uppladdade filens stilelement.", "uploaded-event-handler-on-svg": "Att ange event-handler-attribut $1=\"$2\" är inte tillåtet i SVG-filer.", - "uploaded-href-attribute-svg": "href-attribut i SVG-filer tillåts endast att länka till http:// eller https:// som återfinns <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": "Elementen
    kan endast länkar (href) till data: (inbäddad fil), http:// eller https:// eller fragmentmål (#, inom samma dokument). För andra element, som , endast data: och fragment är tillåtna. Försök att bädda in bilder när du exporterar din SVG. Hittade <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "Hittade href till osäker data: URI-mål <$1 $2=\"$3\"> i den uppladdade SVG-filen.", "uploaded-animate-svg": "Hittades taggen \"animate\" som kan ändra href med hjälp av attributen \"from\" <$1 $2=\"$3\"> i den uppladdade SVG-filen.", "uploaded-setting-event-handler-svg": "Att ange event-handler-attribut är blockerat. Hittade <$1 $2=\"$3\"> i den uppladdade SVG-filen.", diff --git a/languages/i18n/tay.json b/languages/i18n/tay.json index 28d888f13c..14e67db4a0 100644 --- a/languages/i18n/tay.json +++ b/languages/i18n/tay.json @@ -81,12 +81,15 @@ "category_header": "Zngazyan tay qsahuy pintbcyan sa\"$1\"", "subcategories": "Uzyuk na pintbcyan", "category-media-header": "Cyux niya’ ptbcyun na \"$1\" Meti’", + "category-empty": "Pintbcyan qaniy ga ini’ niya’ lpganiy kwara’ kinna zngazyan ruw meti’.", "hidden-categories": "{{PLURAL:$1| Lnqing na pintbcyan }}", "hidden-category-category": "Lnqing na pintbuci’", "category-subcat-count": "{{PLURAL:$2|pintbcyan qaniy ga nanak yaquw qutux uzyuk na pintbcyan quw spgluw niya’.| pintbcyan qaniy ga kwara’ kin na $1 uzyuk na pintbcyan sawn niya uziy, $2 kwara’.}}", "category-article-count": "{{PLURAL:$2| pintbcyan qaniy ga ginkwara’ zngazyan tay suruw. | pintbcyan qaniy ga kwara’ kin $1 pintbcyan tay suruw, $2 kwara’.}}", "category-file-count": "{{PLURAL:$2|Pintbcyan niya’ qaniy ga nanak yaquw nyux niya’ sbiru’ sa hugal qaniy|Pintbcyan niya’ qaniy ga kwara’ kin na biru’ ka $1, psqunun kwara\nga $2 .}}", "listingcontinuesabbrev": "luhing", + "noindex-category": "Ini’ bkganiy quw zngazyan na ppglaing sa awsa’ mita’ qsahuy na biru’.", + "broken-file-category": "Wal yaqih p’ubuy Tang’an na zngazyan", "about": "Nanu’ quw", "article": "Kya kay’ qsahuy na zngazyan", "newwindow": "(gyahiy na giqas na kktan)", @@ -145,6 +148,7 @@ "pool-errorunknown": "Ini’ bqbaqiy ginlaylwan pin’qwan", "aboutsite": "Nanu’ quw {{SITENAME}}", "aboutpage": "Project: Nanu’ quw", + "copyright": "Baqaw ta’ iy kya qutux inblayqan niya’ pinqzyu’, maha ini’ kusa’ qasa ga musa’ phtun na gaga’ bbiq kinri’ tay $1 kwara’ quw bniru’ niya’ sa qsahuy.", "copyrightpage": "{{ns:project}}:pancyuen", "currentevents": "’Awsan na giqas na Sinbung", "currentevents-url": "Project: Pzyang giqas na sinbung", @@ -162,6 +166,10 @@ "badaccess": "Min’uqu’ pcingan sinpngan na kiri’", "ok": "Wal balay", "retrievedfrom": "’Nagal sa \"$1\"", + "youhavenewmessages": "kya $1 ($2){{PLURAL:$3|su’}}", + "youhavenewmessagesfromusers": "{{PLURAL:$4|isu’}}kya kahul sa {{PLURAL:$3|bzinah qutux na pptzyuwaw|$3 hi’ ptzyuwaw}} hya’ $1 ($2).", + "newmessageslinkplural": "{{PLURAL:$1|giqas na pintkaykay|999=giqas na pintkaykay}}", + "newmessagesdifflinkplural": "misuw qaniy{{PLURAL:$1|pinsbah}}", "editsection": "smr’zyut miru’", "editold": "Smr’zyut miru’", "viewsourceold": "Kta quw llpgan aring sa cin’ringan", @@ -192,6 +200,7 @@ "nstab-category": "Ps’anak sa mkgluw", "mainpage-nstab": "T’ringan na zzngayan", "nosuchspecialpage": "Ungat ana qutux siy pn’anak na zngazyan", + "nospecialpagetext": "Pinsina’ su’ ka muci’ na zngazyan qasa ga ungat zyuwaw niya’. maha smawya’ su’ magal sa musa’ thuzyay na muci’ balay na bikgan kktan ga, usa’ squw[[Special:SpecialPages|{{int:specialpages}}]].", "error": "Min’uqu’", "databaseerror": "Min’uqu’ quw cryawku’", "databaseerror-query": "Hmkangi’: $1", @@ -203,7 +212,9 @@ "badtitle": "Ungat zyuwaw na lalu’ na spzyang kkayal", "badtitletext": "Sni’ su’ lalu’ na spzyang kkayal su’ qasa ga ungat zyuwaw niya’, ungat ana nanu’ qsahuy niya’, ini’ ga ini’ su’ ’nblayqiy p’ubuy quw pin’ubuy su’ squw bzinah na kay’, ini’ ga ’mubuy sa sni’ naha’ lalu’ sa Wiki’. \nKuna kya wal su’ syun ka biru’ qasa ga kya’a cyux ’magan sa biru’ na ini’ baqiy mita’ hazi’.", "viewsource": "Kta quw llpgan aring sa cin’ringan", + "viewsource-title": "’nblaq mita’ yuensma’ na $1", "actionthrottled": "Wal shtuy quw ppzyuwi’an", + "viewsourcetext": "Nway su’ inblayqun mita’ ruw koppi’ quw bango’ puqing balay na zngazyan qaniy.", "exception-nologin": "Ini’ su’ kzyup na’", "cannotlogoutnow-title": "Ini’ baqiy mshriq misuw qaniy", "yourname": "Lalu’ na pptzyuwaw:", @@ -212,7 +223,7 @@ "yourpassword": "Mima’:", "userlogin-yourpassword": "Nanak kung baq sa llpgan qaniy", "userlogin-yourpassword-ph": "Brwaniy Mima’ su’", - "createacct-yourpassword-ph": "Brwaniy quw isu’ nanak musa’ baq na banggo’", + "createacct-yourpassword-ph": "Brwaniy mima’", "createacct-yourpasswordagain": "Wal srhgun smhuzyay quw Mima’", "createacct-yourpasswordagain-ph": "Brwaniy lawziy quw mima’", "userlogin-remembermypassword": "Laxiy zngiy kinzyup maku’", @@ -307,28 +318,37 @@ "showdiff": "Pkaykita’ sinbah", "anoneditwarning": "Smrhuw kmal: Ini’ su’ kzyup na’. Maha iy wal su’ sbahun ana inu’ ga, nanu’ quw cyux ki’an na IP su’ ga musa’ ktan kwara’ squliq. Maha iy [$1 wal mzyup] ini’ ga [$2 ps’rux Canghaw],sinr’zyut su’ miru’ qaniy ga musa’ niya’ s’agal sa lalu’ su’ ka nyux mmiru’ qaniy smbbaq, ru musa’ magal sa kwara’ ka qqblayqan na hway naha’.", "subject-preview": "Pnaynama’ mita’ sa spzyang na ptzyuwaw:", + "blockedtext": "lalu’ su’ na ptzyuwaw ini’ga cyux ki’an IP su’ wal sqhut lga. wal su’ sqhut na $1, ’ringan niya’ ga $2. \n*ryax na ’ringan qnhut niya’ ga: $8 \n*tmsuqan na qnhut niya’ ga: $6 \n*ubuy giuw sinngusan qnhut niya’ ga: $7 aniy rinrak quw $1 ini’ga yaquw tay bzinah ka [[{{MediaWiki:Grouppage-sysop}}|pklahang]] pkaylaniy quw ubuy giuw na zyuwaw na qnhut naha’. maha niy wal su’ rima’ maki’ sa [[Special:Preferences|sni’ su pzyang sawyan]] smi’ qutux sa maki’ rngu’ na ki’an na e-mail, ruw ini’ qhtaniy na’ quw tthuzyay rngu’ na e-mail su’ ga, musa’ blaq skahul squw tthuzyay rngu’ na \"Email prinrak squw ptzyuwaw\" musa’ rinrak sa ubuy gluw na pklahang. cyux ki’an na IP su’ misuw qaniy ga $3, wal naha’ sqhut ID hya’ga #$5. \nnanu’ maqut su’ ga aniy minblaq miru’ kya quw wal sbiru’ tay glaing ka sibbaq su’ zyuwaw qniy.", "blockednoreason": "ini’ niya’ kaylaniy quw nanu’ quw ‘ringan", "nosuchsectiontitle": "Ini’ ‘luwiy quw binkgan gnaygay na binrwan", "loginreqtitle": "Siy ga mzyup", "loginreqlink": "mzyup", "accmailtitle": "Wayal ssatu’ mima", "newarticle": "(Giqas)", + "newarticletext": "Nyux su’ sp’ubuy sa qutux ungat na zngazyan. ps’ rux su’ zngazyan qasa ga, aniy miru’ squw cyux niya syan sikak na sr’tan miru’ tay hugal quw kay’ ka bbiru’ su’(kt’aniy sa [$1 awsa’ minblaq kmayal sa zngazyan]).\nMaha iyat su’ spzyang ruw mzyup su’ sa zngazyan qaniy ga, wzyagiy mhut quw ka kikay na zzyangay pphtan na msbzinah.", + "anontalkpagetext": "---- \nSpkayal ta’ quw zzngazyan qaniy ga, yaquw ini’ psr’ux sa canghaw ka cyuw lmqing lalu’ ka pptzyuwaw musa’ mtzyuwaw \nNanu’ yasa quw siy kiy s’agal ta’ cyux ki’an na IP musa’ baqun mita’ quw mibun naha’.\nGa mtnaq kya uziy maha cyux ki’an na IP , musa’ hazi’ anan kahul sa pzyux ini’ ptnaq na pptzyuwaw cyuw ptgqun mbing.\nMaha ni isu’ quw cyux lmqing lalu’ na pptzyuwaw ga, iy maha su’ maha ta quw kay’ knayal naha’ qaniy iy ini’ su’ pqbbaq sa zyuwawqaniy ga, nanu’ yasa quw [[Special:CreateAccount|ps’rux giqas na canghaw]] ini’ ga [[Special:UserLogin|pbiru’ mzyup]] \nkana p’imaw squw cyux lmqing lalu’ ka ptzyuwaw bznah.", "noarticletext": "Ungat nanu’ binrwan naha’ sa qsahuy qaniy, nway su’ musa’ sa zngazyan tay bzinah musa’ [[Special:Search/{{PAGENAME}}|hmkangi’ puqing lalu’ na zngazyan qaniy]], [{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}hmkangi’ sa gluw na binrwan naha’ qutux qutux ryax ]ini’ ga [{{fullurl:{{FULLPAGENAME}}|action=edit}}musa’ ps’rux sa zzngazyan qaniy].", "noarticletext-nopermission": "Ungat ana cikuy knayal sa zyuwaw na qsahuy na lalu’ na kay’ squw nyux ktan sa zngayan qaniy.\nAna su’ s’usa’ sa zngayan tay bzinah \n[[Special:Search/{{PAGENAME}}|hmkangi’ sa puqing lalu’ na zngayan qaniy]], ini’ ga [{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} hmkangi’ sa m’ubuy sa zyuwaw na bbrwan qutux qutux ryax],ga ungat kinri’ su’ ms’rux sa zngayan qaniy.", + "userpage-userdoesnotexist-view": "Canghaw na pptzyuwaw \"$1\" ini’ pbiru’ lalu’ na’.", + "clearyourcache": "pinbaqiy: suqun su’ cucun lga siyga ’nblayqun su’ kmagaw kwara’ sawn ini’ kznga’ magal sa kikay na zzyangay ga musa’ su’ baqun mita’ kya quw giqas balay na sinbah su’ *\nFirefox / Safari: phtun Shiftlga wazyaw t’aring smr’zyut,ini’ ga phut Ctrl-F5 ini’ ga Ctrl-R (Mac musa’ maha⌘-R) *\nGoogle Chrome: phutCtrl-Shift-R (Mac musa’ maha ⌘-Shift-R) * \nInternet Explorer: phtun Ctrl lga wazyaw t’aring smr’zyut, ini’ ga phut Ctrl-F5 * Opera:usa’ squw wzyagan→syaniy (cyux sa Mac maha Opera → pzyang sawyan) ruw usa’ lawziy sa lnqing nanak & sk’anzeng → kwagiy cryaw na zzyangay → wal skhaylaw magal na zga’ ruw Tang’an.", "updated": "(Sinbahan)", "note": " pinkita’ niya’ sa pinzga’ :", + "previewnote": "Misuw qaniy ga cyuw su’ tmrang pnama’ mita’ zmangay, ini’ su’ aniy cucun na’ quw sinbah su’!", "continue-editing": "Usa’ squw hhalan smr’zyut miru’", "editing": "Nyuw smr’zyut miru’ $1", + "creating": "Nyuw tmrang ps’rux $1", "editingsection": "smr’zyut miru’ $1 (gnaygay binrwan)", "yourtext": "Bniru’ su’", "storedversion": "Wal cucun quw sinbah", "yourdiff": "Kin’ini’ ptnaq", "templatesused": "Zngayan qaniy ga cyux niya’ sptzyuwaw qu nyux sbiru’ hugal qaniy{{PLURAL:$1|mopan}}:", + "templatesusedpreview": "Nyux sptzyuwaw na pnaynama’ kkita’ quw nyux hugal qaniy {{PLURAL:$1|yaya’ na kkbalay nn nanu’}}:", "template-protected": "(klhangan)", "template-semiprotected": "(ana walskun ga baqun smbah)", "hiddencategories": "zngayan qaniy hya’ ga gluw na {{PLURAL:$1|1 lnqing na pintbcyan|$1 lnqing pintbcyan}}na qutux bluw na squliq naha’:", "permissionserrors": "Min’uqu’ pcingan sinpngan na kiri’", "permissionserrorstext-withaction": "Yalaw gi yan nyux sbiru’ hugal qaniy{{PLURAL:$1|’ringan}}, ungat kiri’ musa’ myzyuwaw sa $2 na pptzyuwaw:", + "recreate-moveddeleted-warn": "kmux na kay’: nyux su’ t’ringun ps’rux lawziy quw misansu’ wal laxan ka zngazyan qasa.\nBalay ga aki’ su’ lnglungun cikay maha musa’ su’ lhingun smr’zyut na’ quw zngazyan qaniy. \nKyalaw misu’ sqaniy quw bbiru’ qutux qutux ryax na biru’ na ’muzyut squw smbah aki’ su’ galan sa kktan su’:", "moveddeleted-notice": "Wal pzyutan quw zngayan qaniy.\nNyux sbiru’ hugal quw wal pzyutan na zngazyan squw sinhzyuwan bniru’ sa qutux qutux ryax aki’ baqun sa ggalan pspngan mita’.", "edit-conflict": "Ini’ ptnaq imi’ qsahuy na sinr’zyut miru’.", "postedit-confirmation-created": "Wal ps’rux zngazyan.", @@ -339,6 +359,7 @@ "content-model-text": "biru’ mlmlux", "content-json-empty-object": "Ungat ana nanu’ quw nnanu’ niya’", "content-json-empty-array": "Ungat ana nanu’ sni’ binrwan naha’", + "undo-failure": "Yalaw giy kya cikay psinzyuwagan nquw snbah smr’zyut miru’, ruw ini’ baqiy psbzinah lquw sinr’tan miru’.", "viewpagelogs": "Inblaq mita’ quw bniru’ sa zngazyan qaniy", "currentrev": "Spzyang giqas na sinnbah", "currentrev-asof": "Spzyang balay giqas sinbahan squw $1", @@ -352,12 +373,15 @@ "last": "tay glaing", "page_first": "t’ringan balay na llpgan", "page_last": "pucing balay llpgan", + "histlegend": "Pspung sa kin’ini’ ptnaq nabniru’ sabiru’:mwazyaw sa musa’ pspngun binzyagan qutux balay na xwakway ka bniru’ ka sinbah qasa, \nruw phtun quw cyux maki’ sa kyahu’niya’ ka pphtan musa’ pspung.
    \nInblayqan kmayal:({{int:cur}}) = pspngun squw giqas balay na sinbah biru’, ({{int:last}}) = pspngun squwbiru’ sinbah tay glaing, {{int:minoreditletter}} = iyat tqs’un smbah.", "history-fieldset-title": "Hkangi’ sinbah", "histfirst": "spzyang smural", "histlast": "giqas balay", "historysize": "({{PLURAL:$1|$1 bzyaqan kkayal na llpgan}})", "historyempty": "(ungat ana nanu’)", "history-feed-title": "Sbah pincyagan sraral", + "history-feed-description": "Sinbah sa wayal na zngazyan qaniy ka nyux squw WIKI qaniy.", + "history-feed-item-nocomment": "$1 na $2", "rev-delundel": "Smbah sa musa’ slwan mita’", "rev-showdeleted": "Pkaykita’", "revdelete-show-file-submit": "Aw’", @@ -383,9 +407,11 @@ "history-title": "Tay \"$1\" na sinbah bniru’ sraral", "difference-title": "Kin ini’ ptnaq sinbahan squw \"$1\"", "lineno": "Tuqiy binkgan binrwan$1:", + "compareselectedversions": "Pspung wal wzyagan na sinbah", "editundo": "Psbzinah", "diff-empty": "(ungat ini’ ptnaq)", "diff-multi-sameuser": "({{PLURAL:ini’ kta quw sinbahan tay kska’ nquw sinbahan tay $1}})", + "diff-multi-otherusers": "(ini’ pkt’aniy {{PLURAL:$2|kahul sa pincyuwagan $2}} {{PLURAL:$1|pinxalan $1 smbah}})", "searchresults": "Babaw na hinkangi", "searchresults-title": "$1 na babaw hinkangi", "titlematches": "Mtnaq quw lalu’ kkayal sa zngazyan", @@ -394,9 +420,11 @@ "nextn": "tay suruw {{PLURAL:$1|$1}}", "prev-page": "llpgan tay glaing", "next-page": "llpgan tay suruw", + "prevn-title": "Pcingan balay na $1 {{PLURAL:$1|sa wayal}}", "nextn-title": "Pimkaykita’ sa babaw tay {{PLURAL:$1|na pinspngan ktan qasa}}", "shown-title": "Pinkita’ $1 {{PLURAL:$1|babaw nya’| babaw niya’}}squw qutux qutux zzngayan", "viewprevnext": "Psbzih mita’ ($1 {{int:pipe-separator}} $2) ($3)", + "searchmenu-exists": "Wiki qaniy ga rima’ maki’ lalu’ maha \"[[:$1]]\" zzngayan hya’.\n{{PLURAL:$2|0=|ini’ga kta quw pucing balay hinkangi’ na bbzinah.}}", "searchmenu-new": "Ps’rux zngazyan squw Wiki qaniy \"[[:$1]]\"!{{PLURAL:$2|0=|Ini’ ga kt’aniy squ zngayan ka wal su’ ’lwan.|Ini’ ga kta sa hinkangi’ naha’ sa bzinah na zngazyan.}}", "searchprofile-articles": "Bnrwan tay qsahuy na zzngazyan", "searchprofile-images": "Twometi’", @@ -407,9 +435,11 @@ "searchprofile-everything-tooltip": "Hkangi’ kwara’ qu bnrwan tay qsahuy na (kwara’ kin na spkayal sa zzngyan)", "searchprofile-advanced-tooltip": "Hkangi’ sa sniyan nanak Kungcyen nasslalu’", "search-result-size": "$1 ({{PLURAL:$2|1 binrwan|$2 binrwan}})", + "search-result-category-size": "{{PLURAL:$1|$1 qutux gluw pinglgan}} ({{PLURAL:$2|$2 uzyuk na pintbcya}}, {{PLURAL:$3|$3Tang’an}})", "search-redirect": "(t’aring pglaing squw $1)", "search-section": "(binkgan sa lalu’ na puqing kkayal squw uzyuk na kkayal tay $1)", "search-category": "(ps’anak sa mkgluw $1)", + "search-file-match": "(mtntnaq sa bnrwan qsahuy na biru’ na zayzyuwaw na snku’ biru’)", "search-suggest": "Imi’ na kay’ su’ ga yasa qasa: $1", "search-interwiki-more": "(pzyux na’)", "search-interwiki-more-results": "pzyux na’ pcingan na hinkangi’", @@ -525,9 +555,11 @@ "grant-uploadfile": "Pawsa’ sa kktan quw giqas Tang’an qaniy", "grant-basic": "Puqing balay na pcingan na kinri’", "newuserlogpage": "Ps’rux sa bbiru’ krayryax na pbing nasquliq", + "rightslog": "Pcingan na sinpngan bniru na pptzyuwaw", "action-read": "lpuw zngazyan qaniy", "action-edit": "sr’zyut squw zzngayan tay sqaniy", "action-createpage": "Ps’rux quw zngazyan qaniy", + "action-createaccount": "Ps’rux canghaw na pptzyuwaw qaniy", "action-move": "hz’aniy quw zngazyan qaniy", "action-move-categorypages": "shzyaniy quw pintbuci’ na zngazyan", "action-movefile": "hz’aniy quw Tang’an qaniy", @@ -541,6 +573,8 @@ "recentchanges": "Sinbahan misuw qaniy", "recentchanges-legend": "Misan sinbahan wwazyaw misuw", "recentchanges-summary": "Sksa’ quw misan sinbah sa misuw qaniy ka zngayan sa Wiki’ qaniy.", + "recentchanges-noresult": "Maki’ sa snyan naha’ ryax qaniy gaungat ana qutux musa’ thuzyay mtntnaq sa sinpngan snyan naha gaga’ quw sinbahan naha’.", + "recentchanges-feed-description": "Sksa’ quw sinbahan sa misuw ka gnaygay lalu’ na kkayal squw Wiki qaniy.", "recentchanges-label-newpage": "Cyux ps’rux sa qutux giqas na zzngayan quw sinr’zitan qasa", "recentchanges-label-minor": "Qaniy hya’ ga mszik sa ssr’zitun miru’", "recentchanges-label-bot": "Ssr’zyut miru’ qaniy hya’ ga kikay psr’zyut miru’", @@ -584,6 +618,7 @@ "rcfilters-filter-categorization-label": "Pintbcyan na sinbahan", "rcfilters-filter-logactions-label": "Miru’ sa bbiru’", "rcfilters-filtergroup-lastRevision": "Spzyang giqas na sinnbah", + "rcnotefrom": "Kwara’ nyux kyahu’ ka {{PLURAL:$5|yasa quw}} qaniy ga, aring sa $3 $4 ga, yasa pinsbah niya’ krayryax (ana pzyux ga ini’ hzinas sa $1).", "rclistfrom": "Inkahul misan sinbahan sa $2, $3", "rcshowhideminor": "$1 mszik sa ssr’tun", "rcshowhideminor-show": "Pkaykita’", @@ -597,6 +632,7 @@ "rcshowhideanons": "$1 ini’ sbbqan lalu’ na mintzyuwaw", "rcshowhideanons-show": "Pkaykita’", "rcshowhideanons-hide": "Lqing", + "rcshowhidepatr": "$1 gnawzyaw na sinr’zyut miru’", "rcshowhidepatr-show": "Pkaykita’", "rcshowhidepatr-hide": "Lqing", "rcshowhidemine": "$1 sinr’zyut maku’ miru’", @@ -615,6 +651,7 @@ "boteditletter": "squliq na kikay", "rc_categories_any": "Ana nanu’ binzyagan na", "rc-change-size-new": "sin-nbah$1 {{PLURAL:bzyaqan kkayal na llpgan}}", + "rc-old-title": "pins’ruxsa minqsu’ na lalu’ ga \"$1\"", "recentchangeslinked": "M’ubuy quw zyuwaw na sinbahan", "recentchangeslinked-feed": "M’ubuy quw zyuwaw na sinbahan", "recentchangeslinked-toolbox": "M’ubuy quw zyuwaw na sinbahan", @@ -693,8 +730,11 @@ "filehist-comment": "Tnwang smbbaq miru’", "imagelinks": "Pptzyuwaw na sinr’zyut biru’", "linkstoimage": "Nyux sbiru’ tay hugal ka {{PLURAL:$1| qutux zngazyan |$1 qutux zngazyan}}sp’ubuy sa biru’ qaniy.", + "linkstoimage-more": "Hmzinas $1{{PLURAL:$1|’nubuy zngazyan|’nubuy zngazyan }}mucing sa Tang’an qaniy. \nBinkgan kktan tay hugal qaniy ga nanak qaniy nyux baykgun tay glayng ka{{PLURAL:$1|1 ’nubuy|$1pin’ubuy}}zngazyan ka mwah sa Tang’an qaniy. \nNway su’ ’nblayqun mita’ uziy [[Special:WhatLinksHere/$2|ungat zinghuqan na binkgan kktan]].", "nolinkstoimage": "Ungat ana qutux wal ’mubuy sa biru’ na ana nanu’ zyuwaw qaniy.", + "linkstoimage-redirect": "$1 (t’ringun pglaing Tang’an) $2", "sharedupload-desc-here": "Tang’an qaniy hya’ ga kahul squw$1 ruw hazi’ ana wal sptzyuwaw na cwan’an bbzinah. \nTay kyahu’ cyux spkita’ sa Tang’an qaniy hya’ ga cyux squw [$2 Tang’an pinqzyu’ zngayan ] na qsahuy pinqzyuwan.", + "filepage-nofile": "Ungat lalu’ na Tang’an qaniy.", "shared-repo-from": "minkahul sa $1", "shared-repo": "pglgan mita’ ruw pglgan mtzyuwaw na ssliyan Tang’an", "upload-disallowed-here": "Iyat su’ bauqn ’mumuk quw biru’ na zayzyuwaw qaniy.", @@ -727,6 +767,7 @@ "statistics-users-active": "Ini’ hngaw mtzyuwaw na pptyuwaw", "pageswithprop-prop": "Lalu’ na ubuy mkgluw:", "pageswithprop-submit": "Musa’", + "double-redirect-fixer": "T’aring pglaing sa psbah na squliq", "brokenredirects-edit": "Smr’zyut miru’", "brokenredirects-delete": "’muyut", "withoutinterwiki-legend": "T’ringan na biru’", @@ -748,6 +789,7 @@ "wantedpages": "Musa’ sawyan magal ka zngazyan", "wantedfiles": "Musa’ sawyan magal ka Tang’an", "wantedtemplates": "Musa’ sawyan magal ka mopan", + "prefixindex": "Kahul sa tunux na biru’ hmkangi’ zngazyan", "prefixindex-submit": "Pkaykita’", "shortpages": "R’tung iyal na zngazyan", "longpages": "Hmzinas iyal na zngazyan", @@ -773,6 +815,7 @@ "move": "Smhzi’", "movethispage": "Hz’aniy quw zngazyan qaniy", "notargettitle": "Ungat sinngusan niya’", + "pager-newer-n": "{{PLURAL:$1|giqas hazi’$1}}", "pager-older-n": "{{PLURAL:$1|smural hazi’ quw $1}}", "suppress": "Shtuy", "apihelp": "minblaq kmal na API", @@ -797,9 +840,12 @@ "booksources-search-legend": "Hkangi’ tkhulan pila’ na brbiru’", "booksources-search": "Hkangi’", "specialloguserlabel": "Pptzyuwaw:", + "speciallogtitlelabel": "Sngusun (tunux lalu’ na kkayal ini’gayaquw {{ns:user}}:pptzyuwaw quw niwan ptzyuwaw):", "log": "Pinhknyan sraral", "logeventslist-submit": "Pkaykita’", "all-logs-page": "Kwara’ ka wal niya’ skayal kwara’ squliq ka bnrwan", + "alllogstext": "Nyux pinsqunun spkaykita’ kwara’ {{SITENAME}}sqaniy ka kwara’ gluw na mmntnaq bniru.\nNway su’ wzyagan mhut ruwhuluy quw biru’ binzyagan su’ ka mmntnaq sa bniru’ krayryax,syaniy qutux lalu’ na pptzyuwaw (ptbuci’ miru’ sa biru’ na krahu’ squw biru’ na cikuy) ini’ ga kyaquw musa’ niya’ s’lahun na zngazyan (ptbuci’ miru’ sa biru’ na krahu’ squw biru’ na cikuy).", + "logempty": "Ungat mtntnaq sa sinpngan sa tthuzyayna bniru’.", "checkbox-all": "Kwara’", "checkbox-none": "Ungat", "checkbox-invert": "Pssyuk mwazyaw", @@ -808,6 +854,7 @@ "prevpage": "Llpgan tay glaing ($1)", "allarticles": "Kwara’ biru’ na zngyan", "allpagessubmit": "Mtzyuwaw", + "allpages-hide-redirects": "Lqing zngazyan cin’aring pglaing", "categories": "Pintbcyan", "categories-submit": "Pkaykita’", "sp-deletedcontributions-contribs": "wal miq sa pincyuwagan", @@ -834,6 +881,7 @@ "trackingcategories-desc": "Galan pspngan na snli’ sa snli’ niya’kwara’ ka pintbuci’", "trackingcategories-disabled": "Wal phngagun quw pintbcyan", "mailnologin": "Ungat sstwan lalu’ na rhzyal", + "emailuser": "Email prinrak squw ptzyuwaw qaniy", "emailusername": "Lalu’ na pptzyuwaw:", "emailusernamesubmit": "Pawsun", "emailfrom": "Squliq smnatu’:", @@ -843,12 +891,17 @@ "usermessage-editor": "Sni’ nanak sinbbaq zyuwaw na situng", "watchlist": "Cyes’ cingtan", "mywatchlist": "Kta quw binkgan biru’", + "watchlistfor2": "$1 na kkyagal squ binkgan sa kktan $2", "watchnologin": "Ini’ su’ kzyup na’", "watch": "Kita’", "watchthispage": "Kta quw zngazyan qaniy", "unwatch": "Laxiy kaygaliy", "unwatchthispage": "Hngaw kmyagal", "notanarticle": "Zngazyan na iyat kay’ balay na binrwan", + "watchlist-details": "cyux maki’ sa binkgan kktan sa kinlhangan su’ mita’ ga {{PLURAL:$1|$1 kwara’ zngazyan}} (kwara’ kina zngazyan na mpkayal).", + "wlheader-showupdated": "Suqun su’ minblaq mita’ squw pucingbalay lga, sinbah su’ zngazyan qasa ga musa’ yan nqaniy qthuy na biru’ pkaykita’.", + "wlnote": "Kwara’ nyux kyahu’ ka aring sa glaing na $3 $4 ga, kinbalay niya’ sa {{PLURAL:$2|$2 tmucing lga}}, {{PLURAL:$1|min$1 niya’ smbah}}.", + "wlshowlast": "Pkt’aniy misuw balay $1 spung $2 ryax", "watchlist-hide": "Lqing", "watchlist-submit": "Pkaykita’", "wlshowhideminor": "msnzik sa spzyang balay sinr’zyut miru’", @@ -859,6 +912,7 @@ "wlshowhidemine": "smr’zyut maku’ miru’", "wlshowhidecategorization": "Pintbcyan na zngazyan", "watchlist-options": "Wwazyaw sa’ kkita’ sa binkgan sa kktan", + "enotif_reset": "Si’ slnbbaq’ kwara’ zngazyan maha wal ’nblayqun mita’", "enotif_impersonal_salutation": "{{SITENAME}} kwara’ ka cyux mbing ka qutux qutux ngasal", "enotif_anon_editor": "inqing lalu’ nqu squliq cyux mbing $1", "enotif_minoredit": "Qaniy hya’ ga mszik na musa’ sr’tun miru’", @@ -886,11 +940,14 @@ "logentry-contentmodel-change-revertlink": "psbzih", "logentry-contentmodel-change-revert": "psbzih", "protectlogpage": "Kklahang sa bniru’", + "protectedarticle": "wal klhangan \"[[$1]]\"", + "modifiedarticleprotection": "wal sbahun \"[[$1]]\" kinwagiq na kinlahang", "protect-legend": "Wal srhgun smhuzyay mlahang", "protectcomment": "’ringan:", "protectexpiry": "Sinpngan ryax:", "protect_expiry_invalid": "Ini’ baqiy snbah mima’.", "protect_expiry_old": "Wal tmasuq quw sinpngan na ryax", + "protect-default": "Swalan kwara’ pptzyuwaw", "protect-level-sysop": "Nanak yaquw pklahang swalan", "protect-summary-cascade": "casketing", "protect-expiring": "Sinpngan ryax $1 (UTC)", @@ -926,22 +983,30 @@ "tooltip-namespace_association": "Prawngan mwazyaw squw “bbzyagan” qaniy ga spgluw niya’ kwara’ quw kin na ppkayal sa wnwazyaw kungcyen na sslalu’, ini’ ga tunux lalu’ nquw kungcyen na sslalu’", "blanknamespace": "(Spzyang balay)", "contributions": "{{GENDER:$1| squliq mniru’}}bniru’ na qmnlah biru’", + "contributions-title": "$1 bniq sa pincyuwagan na pptzyuwaw", "mycontris": "Snli’ sa binrwan", "anoncontribs": "Snli’ sa binrwan", + "contribsub2": "{{GENDER:$3|$1}} bniq sa pincyuwagan na pptzyuwaw ($2)", + "nocontribs": "Ini’ ’luwiy quw pinsbah ka mtntnaq sa musa’ thuzyay.", "uctop": "(misuw qaniy ga)", "month": "Pcingan na sniyan naha’ ryax na byacing:", "year": "Pcingan na sniyan naha’ ryax na kawas", + "sp-contributions-newbies": "Nanak yaquw mniq pincyuwagan nagiqas na canghaw quw spkita’", "sp-contributions-newbies-sub": "Pptzyuwaw sa kkbalay sa giqas na Canghaw", "sp-contributions-blocklog": "qmhut smu’ut sa bniru’", "sp-contributions-uploads": "pawsa’ sa kktan", "sp-contributions-logs": "pinhknyan sraral", "sp-contributions-talk": "mpkal", "sp-contributions-search": "Hkangi’ wal miq sa pincyuwagan", + "sp-contributions-username": "Cyux ki’an na IP ini’galalu’ na pptzyuwaw:", + "sp-contributions-toponly": "Nanak ya quw sinr’zyut ka pzyang giqas sinbah quw spkita’ niya’.", + "sp-contributions-newonly": "Nanak ya quw sinr’zyut sa pins’rux niya’ zngazyan quw spkita’ niya’.", "sp-contributions-submit": "Hhkangi’", "whatlinkshere": "Aniy p’ubuy tay lpgan sqaniy", "whatlinkshere-title": "Aniy ’mubuy sa zngayan tay \"$1\"", "whatlinkshere-page": "Zngayan", "linkshere": "Zngayan tay suruw qaniy ga aniy p’ubuy sa [[:$1]]:", + "nolinkshere": "Ungat zngazyan ’mubuy squw [[:$1]].", "isredirect": "t’ringun pawsa’ sa zngayan", "istemplate": "’nagal sa", "isimage": "’ubuy sa biru’ na ana nanu’ zayzyuwaw", @@ -951,6 +1016,7 @@ "whatlinkshere-hideredirs": "t’aring maras lawziy sa spzyang balay sa $1", "whatlinkshere-hidetrans": "’ nagal sa $1", "whatlinkshere-hidelinks": "$1 p’ubuy", + "whatlinkshere-hideimages": "$1 ’ubuy na T’ang’an", "whatlinkshere-filters": "Hmkangi’", "whatlinkshere-submit": "Musa’", "block": "Htzyaniy quw pptzyuwaw", @@ -958,6 +1024,7 @@ "ipbreason": "’ringan:", "ipbsubmit": "Qhtaniy quw pptzyuwaw qaniy", "ipbother": "Zikang tay bzinah:", + "ipboptions": "2tmucing: 2 hours,\n1ryax: 1 day,\n3ryax: 3 days,\n1hngawan: 1 week,\n2hngawan: 2 weeks,\n1byacing: 1 month,\n3byacing: 3 months,\n6byacing: 6 months,\n1 kawas:1 year,\nungat pcingan ryax :infinite", "ipb-confirm": "Sqhut quw wal srhgun smhuzyay", "blockipsuccesssub": "Wal thuzyay qmhut smu’ut", "ipb-edit-dropdown": "Sr’zyut miru’ quw ’ringan na qnhut", @@ -981,8 +1048,12 @@ "contribslink": "wal miq sa pincyuwagan", "emaillink": "Stwaniy e-meyo’", "blocklogpage": "Qmhut smu’ut sa bniru’", + "blocklogentry": "ryax na qnihut [[$1]] mucing $2 $3", + "reblock-logentry": "sinbah sa [[$1]] sinqaysan ryax mucing $2 $3", + "block-log-flags-nocreate": "laxiy ps’rux canghaw", "block-log-flags-noautoblock": "phngaw quw pinzroo na qnhut", "block-log-flags-noemail": "phngaw quw e-meyo’", + "proxyblocker": "Qayqaya’ na ’iwan sxuci’ qmhut", "lockdb": "Sngusiy cryawku’", "lockbtn": "Sngusiy cryawku’", "move-page": "Smhzi’ $1", @@ -1031,12 +1102,14 @@ "tooltip-pt-createaccount": "Musa’ misu’ miyan slawkahan maha ps’rux canghaw hru kzyup qsahuy niya ha, ana maha baliy sikiy musa’ maha qasa hiya", "tooltip-ca-talk": "Nanu’quw spkayal squw zyuwaw qsahuy na zzngayan", "tooltip-ca-edit": "Sr’zyut squw zzngayan tay sqaniy", + "tooltip-ca-addsection": "T’aring giqas na gnaygay binrwan", "tooltip-ca-viewsource": "Ana wayal skun quw zngazyan qaniy ga, musa’ su’ baqun musa’ msbaybzih mita’ na’ quw puqing balay lalu’ na binkgan niya’.", "tooltip-ca-history": "Zzngayan qaniy hya’ ga sinbahan sa wayal qasa", "tooltip-ca-protect": "Klhangiy quw zngazyan qaniy", "tooltip-ca-delete": "’zyuciy quw zngazyan qaniy", "tooltip-ca-move": "Hz’aniy quw zngazyan qaniy", "tooltip-ca-watch": "Aniy tmwang sa baqun du’ mita’ na biru’ binkgan ka ggyahan llpgan qaniy", + "tooltip-ca-unwatch": "Kahul sa binkgan na kinlhangan mita’ laxiy quw zngazyan qaniy", "tooltip-search": "Hmkangi’ sa {{SITENAME}}", "tooltip-search-go": "Maha maki’ balay mtnaq lalu’ sa zzngayan qaniy ga, hala ta’ sa zzngayan qasa.", "tooltip-search-fulltext": "Hhkangi’ sa mtntnaq kay’ niya’ sa zzngayan qaniy", @@ -1052,6 +1125,7 @@ "tooltip-t-recentchangeslinked": "Misan sinbahan sa misuw qaniy lpgan sqaniy ka wayal sp’ubuy sa zzngayan tay bzinah", "tooltip-feed-atom": "Inkhulan na Atom sa zngazyan qaniy", "tooltip-t-contributions": "{{GENDER:$1|nanu’ quw nyux mtzyuwaw qaniy ga}}bnkuw niya’ ka bnrwan niya’", + "tooltip-t-emailuser": "Smatu’ e-meyo’ prinrak{{GENDER:$1|ptzyuwaw qaniy}}", "tooltip-t-upload": "Pawsa’ sa kktan zayzyuwaw na biru’", "tooltip-t-specialpages": "Kwara’ ka binkgan kktan sa mnanak na zzngayan", "tooltip-t-print": "Biru’ ka musa’ blaq sp’insat na gniyahan lpgan", @@ -1061,12 +1135,15 @@ "tooltip-ca-nstab-special": "Zzngayan qaniy hya’ ga ini’ ptnaq balayna zzngayan, iyat baqun smr’zyut", "tooltip-ca-nstab-project": "Inblaq mita’ quw zngazyan na Cwan’an qaniy", "tooltip-ca-nstab-image": "Psbzih mita’ zzngzyan sa biru’ na bniru’ sa zayzyuwaw", + "tooltip-ca-nstab-mediawiki": "’nblaq mita’ pintkaykay’ situng", "tooltip-ca-nstab-template": "Kta quw mopan", "tooltip-ca-nstab-category": "psbzih mita’ sa pintbcyan na zngazyan", + "tooltip-minoredit": "Si’ slnbbaq qaniy maha iyat spzyangna sr’tung miru’", "tooltip-save": "Sku’ qu wayal su’ sbahun", "tooltip-publish": "Kaylaniy kwara’ squliq quw sinbah su’", "tooltip-preview": "Zik na sskun su’ quw sinbahan su’ ga, sbnahiy mita’ quw sinbah su’.", "tooltip-diff": "Aniy pkita’ quw wayal su’ sbahun tay qsahuy niya’", + "tooltip-compareselectedversions": "Kta cikay quw kin’ini’ptnaq sinbahan na sazing binzyagan sa zngazyan qaniy", "tooltip-watch": "Aniy tmwang sa baqun du’ mita’ na biru’ binkgan ka ggyahan llpgan qaniy", "tooltip-watchlistedit-normal-submit": "Laxiy quw lalu’ na kkayal", "tooltip-watchlistedit-raw-submit": "Psqgiqas smbah kkita’ sa bnkuw na kktan", @@ -1077,29 +1154,42 @@ "others": "bzinah", "creditspage": "Kinbalay sa zngazyan na qutux gluw qasa", "simpleantispam-label": "Kmyagal sa kana ptayqihiy na niwan saysyup na kay’ na nnanu.\nLaxiy brwaniy sa bbrwan qaniy!", + "pageinfo-title": "\"$1\" na ggalan kinbaq zayzyuwaw", "pageinfo-header-basic": "Puqing balay na ggalan kinbbaq", "pageinfo-header-edits": "Sr’zyut miru’ pincyuwagan sraral", "pageinfo-header-restrictions": "Kklahang sa zngazyan", "pageinfo-header-properties": "Gluw na zngazyan", "pageinfo-display-title": "Pkt’aniy lalu’ na kkayal", + "pageinfo-default-sort": "Pnaynama’ smi’ sa bbkuw:", + "pageinfo-length": "Kinqruzyux zzngayan (bzyaqan kkayal na llpgan)", "pageinfo-article-id": "Zngazyan na ID", "pageinfo-language": "Kay’ qsahuy na zngazyan", "pageinfo-language-change": "smbah", "pageinfo-content-model": "Inrkyasan pinsulung sa qsahuy na zngazyan", "pageinfo-content-model-change": "smbah", + "pageinfo-robot-policy": "Yaquw squliq kikay quw ps’rux sa ppglaing sa awsa’ mita’ qsahuy na biru’.", "pageinfo-robot-index": "Snwalan", "pageinfo-robot-noindex": "Laxiy swaliy", "pageinfo-watchers": "Number of page watchers", + "pageinfo-few-watchers": "Ka pklahang mita’ $1 ga{{PLURAL:$1| ini’ tayhuk na’ squliq niya’}}", + "pageinfo-redirects-name": "Pskura’ squw t’aring pglaing paskura’ sa kinpzyux na zngazyan na zngazyan qaniy", + "pageinfo-subpages-name": "Kinpzyux uzyuk na zngazyan nquwzngazyan qaniy.", + "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|t’aring pglaing}}; $3 {{PLURAL:$3|\niyat t’aring pglaing}})", "pageinfo-firstuser": "Kinbalay sa zngazyang", "pageinfo-firsttime": "Zikang na pins’rux sa zngazyan", "pageinfo-lastuser": "Senmung psr’zyut miru’ sa misuw qaniy", "pageinfo-lasttime": "Ryax sinr’zyut miru’ misuw qaniy", "pageinfo-edits": "Sinqunan plpuw na pinsr’zyut miru’", "pageinfo-authors": "Kinkhmay kwara’ na mniru’", + "pageinfo-recent-edits": "Minpira’ smr’zyut miru’ sa misuw qaniy (kinwayal $1 sa ryax qasa)", "pageinfo-recent-authors": "Senmung pbiru’ sa misuw qaniy", + "pageinfo-magic-words": "Mazit{{PLURAL:$1|biru’}} ($1)", + "pageinfo-hidden-categories": "Lqing {{PLURAL:$1|pintbcyan na mlmlamu’}} ($1)", + "pageinfo-templates": "’nagal niya’ squw {{PLURAL:$1|yaya’ na kkbalay nn nanu’}} ($1)", "pageinfo-toolboxlink": "Zzngayan na ggalan qqbaqan", "pageinfo-redirectsto": "T’ringun pglaing maras sa:", "pageinfo-redirectsto-info": "ggalan kinbaq zayzyuwaw", + "pageinfo-contentpage": "Galan sa pllpuw sa qsahuy na zngazyan", "pageinfo-contentpage-yes": "Aw’", "pageinfo-protect-cascading": "Kklahang tkhulan sakwara’ ka m’ubuy na ana nanu’", "pageinfo-protect-cascading-yes": "Aw’", @@ -1119,7 +1209,9 @@ "previousdiff": "← Smural sinr’zyut miru’", "nextdiff": "Giqas hazi’ sinr’zyut→", "thumbsize": "Sspngan kinkrahu’ na swotu’:", + "widthheightpage": "$1×$2, $3 {{PLURAL:$3|zzngayan}}", "file-info-size": "$1 × $2 qqblayqan zzyangay, zayzyuwaw biru’ na sspngan kinkrahu’: $3, gluw na mmntnaq MIME: $4", + "file-info-size-pages": "$1×$2 kinblayqan zzyangay, pspngan kinkrahu’ Tang’an: $3, MIME gluw na mmntnaq: $4, $5 {{PLURAL:$5| zzngayan}}", "file-nohires": "Ungat qbaqan miq qutux sa musa’ tthuzyay iyal pkaykita’ sa kinslwan iyal na qayqaya’.", "svg-long-desc": "SVG biru’ na cyux slyan ana nanu’ zayzyuwaw,kinkrahu’ ktan tay babaw\n$1 × $2 tay babaw na Syangsu’,\nsspngan kinkrahu’ kkita’ syasing:$3", "show-big-image": "Spzyang puqing balay na Tang’an", @@ -1395,6 +1487,7 @@ "imgmultipageprev": "←llpgan tay glaing", "imgmultipagenext": "llpgan tay suruw →", "imgmultigo": "Aw’!", + "imgmultigoto": "Usa’ sa gnyahan lpgan tay $1", "img-lang-default": "(pinnama’ smi’ na kay’)", "img-lang-go": "Musa’", "ascending_abbrev": "pskkrawn paybkuw", @@ -1414,6 +1507,9 @@ "watchlistedit-raw-submit": "Psqgiqas smbah kkita’ sa bnkuw na kktan", "watchlistedit-clear-titles": "Lalu’:", "watchlisttools-clear": "Laxiy kwara’ quw kkita’ squw kktan binkgan", + "watchlisttools-view": "’nblaq mita’ ubuy gluw na minsbah", + "watchlisttools-edit": "’nblaq mita’ ruw sr’zyut miru’ kkyagal mita’ binkgan kktan", + "watchlisttools-raw": "Sr’zyut miru’ cin’ringan kkyagal squ binkgan sa kktan", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|mpkal]])", "timezone-local": "Rhzyal tay hasa", "version": "Ubuy gluw bbiru’ ni", @@ -1444,11 +1540,14 @@ "version-libraries-license": "biru’ na gaga’ nqu snwayal hmriq sa kinri’", "version-libraries-description": "Miblaq pnqzyu’ sa zyuwaw", "version-libraries-authors": "Mniru’", + "redirect": "Khlaniy sa biru’ na zayzyuwaw, pptzyuwaw, zzngayan, sinbah ini’ga bniru ID musa’ t’aring pglaing pawsa", + "redirect-summary": "Muci’ balay na zngazyan qaniy ga, musa’ blaq galan sat’aring pglaing pawsa’ sa Tang’an (syaniy qutux lalu’ na Tang’an), zngazyan (syaniy psbah ID ini’ga zngazyan ID), zngazyan na pptzyuwaw (si’ squw ID na ptzyuwaw), ini’ga lmlamu’ na bniru (si’ squw ID na bniru).\npptzyuwaw:[[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]] 或 [[{{#Special:Redirect}}/logid/186]].", "redirect-submit": "Mtzyuwaw", "redirect-lookup": "Hmkangi’:", "redirect-value": "Kin...:", "redirect-user": "Mning ID", "redirect-page": "Zngazyan na ID", + "redirect-revision": "Sinbah zzngayan ID", "redirect-file": "Lalu’ na tang’an", "redirect-logid": "Bbiru’ krayryax ID", "redirect-not-exists": "Ini' ’luwiy biru’ na llpgan", @@ -1520,11 +1619,18 @@ "htmlform-yes": "Aw’", "htmlform-cloner-create": "Pzyux na’ quw misan tnwang", "logentry-delete-delete": "$1 {{GENDER:$2|wal laxan}}zngayan $3", + "logentry-delete-restore": "$1{{GENDER:$2|psbzinah}} zzngayan $3 ($4)", + "logentry-delete-revision": "$1 {{GENDER:$2|wal sbahun}} qsahuy zzngayan $3 {{PLURAL:$5|sinbah tay1 |sinbah tay $5}}na musa’ baqun mita: $4", "revdelete-content-hid": "wal lqingun quw binrwan tay qsahuy", "revdelete-content-unhid": "lzxiy quw lnqing qsahuy na bnrwan", "logentry-move-move": "$1 {{GENDER:$2|wal shzyun}}zngyan $3 squw $4", + "logentry-move-move-noredirect": "$1 {{GENDER:$2|wal shzyun}} zzngayan $3 squw $4, ini’ thaziy t’ringun pglaing", + "logentry-move-move_redir": "$1 {{GENDER:$2|wal shzyun quw}} zzngayan $3 squw $4 ruw ’mukan quw cin’ringan pglaing", + "logentry-patrol-patrol-auto": "$1 rima’wal ziroo {{GENDER:$2|sinbbaq miru’}}zzngayan $3 na sinbah $4 maha wal gawzaygan", "logentry-newusers-create": "Wayal tmasuq {{GENDER:$2|ps’rux sq }} quw cin canghaw $1", + "logentry-newusers-autocreate": "Wal siy lnglung nanak {{GENDER:$2|ps’rux}} canghaw na pptzyuwaw $1", "logentry-upload-upload": "$1 {{GENDER:$2|wal pawsun }} $3", + "logentry-upload-overwrite": "$1 {{GENDER:$2|pawsa’ sa kktan la}} giqas ubuy gluw bbiru’ ni $3", "log-name-managetags": "Qmlah sa lalu’ na bniru’ kklahang", "log-name-tag": "Bniru’ sa lalu’ na qinlah", "rightsnone": "(ungat)", @@ -1541,6 +1647,7 @@ "searchsuggest-search": "Hhkangi’ {{SITENAME}}", "searchsuggest-containing": "kwara’ kin na...", "api-error-unknownerror": "Ini’ bqbaqiy ginlaylwan pin’qwan: \"$1\".", + "duration-days": "$1 {{PLURAL:$1|ryax}}", "limitreport-walltime": "Spzyang balay pincyuwagan na zikang", "limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|bzyaqan kkayal na llpgan}}", "limitreport-templateargumentsize": "Pspngan kinkrahu’ na chansu’ na Mopan", diff --git a/languages/i18n/te.json b/languages/i18n/te.json index 94bc39e34f..e37e79f88e 100644 --- a/languages/i18n/te.json +++ b/languages/i18n/te.json @@ -1254,7 +1254,7 @@ "recentchanges-submit": "చూపించు", "rcfilters-tag-remove": "'$1'ను తీసివెయ్యి", "rcfilters-legend-heading": "సంక్షేపాల (ఎబ్రీవియేషన్లు) జాబితా:", - "rcfilters-other-review-tools": "ఇతర సమీక్షా ఉపకరణాలు", + "rcfilters-other-review-tools": "ఇతర సమీక్షా ఉపకరణాలు", "rcfilters-group-results-by-page": "ఫలితాలను పేజీవారీగా గుదిగుచ్చు", "rcfilters-grouping-title": "గుదిగుచ్చడం", "rcfilters-activefilters": "సచేతనమైన వడపోతలు", diff --git a/languages/i18n/tg-cyrl.json b/languages/i18n/tg-cyrl.json index 9114076706..973741b219 100644 --- a/languages/i18n/tg-cyrl.json +++ b/languages/i18n/tg-cyrl.json @@ -218,7 +218,7 @@ "pool-servererror": "Хидмати ҳисобкунаки ҳафз дастрас нест ($1).", "aboutsite": "Дар бораи {{SITENAME}}", "aboutpage": "Project:Дар бораи", - "copyright": "Мӯҳтаво таҳти иҷозатномаи $1 ва ё дигар дастрас аст.", + "copyright": "Муҳтаво таҳти иҷозатномаи $1 ва ё дигар дастрас аст.", "copyrightpage": "{{ns:project}}:Copyrights", "currentevents": "Рӯйдодҳои кунунӣ", "currentevents-url": "Лоиҳа:Рӯйдодҳои кунунӣ", @@ -378,7 +378,7 @@ "nocookiesfornew": "Ҳисоби корбарӣ сохта нашуд, чун мо манбаъи онро тасдиқ карда натавонистем.\nМутмаин бошед, ки кукиҳои мурургар фаъоланд, ин саҳифро аз нав кушода бори дигар саъй кунед.", "noname": "Номи корбари дурустеро шумо пешниҳод накардед.", "loginsuccesstitle": "Вуруд бо муваффақият", - "loginsuccess": "'''Шумо акнун ба Википедиа ҳамчун \"$1\". вуруд кардед'''", + "loginsuccess": "'''Шумо акнун ба Википедия ҳамчун \"$1\". вуруд кардед'''", "nosuchuser": "Корбаре бо номи \"$1\" вуҷуд надорад.\nАмали номро барраси кунед, ё [[Special:CreateAccount|ҳисоби ҷадидеро эҷод кунед]].", "nosuchusershort": "Ягон корбаре бо номи \"$1\" вуҷуд надорад. Тарзи навишти номро санҷед.", "nouserspecified": "Шумо бояд як номи корбарӣ мушаххас кунед.", @@ -674,13 +674,13 @@ "viewprevnext": "Намоиши ($1 {{int:pipe-separator}} $2) ($3)", "searchmenu-exists": "'''Саҳифае бо номи \"[[:$1]]\" дар ин вики вуҷуд дорад.'''", "searchmenu-new": "'''Эҷоди саҳифаи \"[[:$1]]\" дар ин вики!'''", - "searchprofile-articles": "Саҳифаҳои мӯҳтаво", + "searchprofile-articles": "Саҳифаҳои муҳтаво", "searchprofile-images": "Чандрасонаӣ", "searchprofile-everything": "Ҳамачиз", "searchprofile-advanced": "Пешрафта", "searchprofile-articles-tooltip": "Ҷустуҷӯ дар $1", "searchprofile-images-tooltip": "Ҷустуҷӯи парвандаҳо", - "searchprofile-everything-tooltip": "Ҷустуҷӯи ҳамаи мӯҳтаво (бо ҳисоби саҳифаҳои баҳс)", + "searchprofile-everything-tooltip": "Ҷустуҷӯи ҳамаи муҳтаво (бо ҳисоби саҳифаҳои баҳс)", "searchprofile-advanced-tooltip": "Ҷустуҷӯ дар фазоҳои номи дилхоҳ", "search-result-size": "$1 ({{PLURAL:$2|1 калима|$2 калима}})", "search-redirect": "(тағйири масир $1)", @@ -755,7 +755,7 @@ "prefs-registration": "Замони сабтином:", "yourrealname": "Номи аслӣ:", "yourlanguage": "Забон:", - "yourvariant": "Навъи забони мӯҳтаво:", + "yourvariant": "Навъи забони муҳтаво:", "yournick": "Ники шумо:", "badsig": "Имзои хом нодуруст аст; барҷасбҳои HTML-ро баррасӣ кунед.", "badsiglength": "Тахаллус хеле дароз аст.\nОн бояд камтар аз $1 {{PLURAL:$1|аломат|аломатҳо}} бошад.", @@ -879,7 +879,7 @@ "enhancedrc-history": "таърих", "recentchanges": "Тағйироти охирин", "recentchanges-legend": "Ихтиёроти тағйироти охирин", - "recentchanges-summary": "Назорати тағйиротҳои навтарин дар Википедиа дар ҳамин саҳифа аст.", + "recentchanges-summary": "Назорати тағйиротҳои навтарин дар Википедия дар ҳамин саҳифа аст.", "recentchanges-feed-description": "Радёбии охирин тағйироти ин вики дар ин хурд.", "recentchanges-label-newpage": "Ин вироиш саҳифаи нав эҷод кард", "recentchanges-label-minor": "Ин вироиши ҷузъи аст", @@ -1092,12 +1092,12 @@ "randomincategory-submit": "Бирав", "randomredirect": "Масири тасодуфӣ", "randomredirect-nopages": "Ҳеҷ саҳифаи тағйири масире дар ин фазои ном мавҷуд нест.", - "statistics": "Омор/Статистика", + "statistics": "Омор", "statistics-header-pages": "Саҳифаи омор", "statistics-header-edits": "Вироиши омор", "statistics-header-users": "Омори корбарон", "statistics-header-hooks": "Дигар омор", - "statistics-articles": "Саҳифаҳои мӯҳтаво", + "statistics-articles": "Саҳифаҳои муҳтаво", "statistics-pages": "Саҳифаҳо", "statistics-pages-desc": "Тамоми саҳифаҳо дар ин вики-сомона (саҳифаҳои равонакунӣ, баҳсҳо ва ғ.)", "statistics-files": "Парвандаҳои боршуда", @@ -1620,7 +1620,7 @@ "tooltip-n-mainpage-description": "Бозгашт ба саҳифаи аслӣ", "tooltip-n-portal": "Дар бораи лоиҳа, чӣ корҳоро метавонед кард, ва дарёфти чизҳо", "tooltip-n-currentevents": "Ёфтани иттилооти пешзамина перомуни рӯйдодҳои кунунӣ", - "tooltip-n-recentchanges": "Рӯйхати тағйирот дар Википедиа", + "tooltip-n-recentchanges": "Рӯйхати тағйирот дар Википедия", "tooltip-n-randompage": "Овардани як саҳифаи тасодуфӣ", "tooltip-n-help": "Макон барои дарёфт", "tooltip-t-whatlinkshere": "Рӯйхати ҳамаи саҳифаҳое, ки ба ин саҳифа пайванд доранд", @@ -1658,7 +1658,7 @@ "tooltip-preferences-save": "Захираи тарҷиҳот", "tooltip-summary": "Хулосаи кӯтоҳ ворид кунед", "anonymous": "{{PLURAL:$1|корбари|корбарони}} гумномӣ {{SITENAME}}", - "siteuser": "Википедиа user $1", + "siteuser": "Википедия user $1", "lastmodifiedatby": "Ин саҳифа охирин маротиба дар $2, $1 аз тарафи $3 тағйир дода шудааст.", "othercontribs": "Дар асоси коре аз тарафи $1.", "others": "дигарон", diff --git a/languages/i18n/th.json b/languages/i18n/th.json index 3dc3b4980f..f662c072aa 100644 --- a/languages/i18n/th.json +++ b/languages/i18n/th.json @@ -3076,7 +3076,7 @@ "compare-invalid-title": "ชื่อเรื่องที่คุณระบุไม่ถูกต้อง", "compare-title-not-exists": "ชื่อเรื่องที่คุณระบุไม่มีอยู่", "compare-revision-not-exists": "รุ่นที่คุณระบุไม่มีอยู่", - "diff-form": "'''แบบฟอร์ม'''", + "diff-form": "ความแตกต่าง", "dberr-problems": "ขออภัย เว็บไซต์นี้กำลังพบกับข้อผิดพลาดทางเทคนิค", "dberr-again": "กรุณารอสักครู่แล้วจึงโหลดใหม่", "dberr-info": "(ไม่สามารถเข้าถึงฐานข้อมูล: $1)", diff --git a/languages/i18n/tl.json b/languages/i18n/tl.json index 61ce439d1b..cb2d2a788d 100644 --- a/languages/i18n/tl.json +++ b/languages/i18n/tl.json @@ -59,6 +59,7 @@ "tog-watchlisthideminor": "Itago ang mga maliliit na pagbabago mula sa tala ng mga binabantayan", "tog-watchlisthideliu": "Itago ang mga pagbabago ng mga nakalagdang tagagamit mula sa tala ng mga binabantayan", "tog-watchlistreloadautomatically": "I-karga muli ang bantayan ng awtomatiko kung kailan man nabago ang isang filter (kinakailangan ang JavaScript)", + "tog-watchlistunwatchlinks": "Magdagdag ng direktang huwag panoorin/panoorin na kawing sa talaan ng mga pinapanood (Kailangan ang JavaScript para gumana)", "tog-watchlisthideanons": "Itago ang mga pagbabago ng hindi nakikilalang mga tagagamit mula sa tala ng mga binabantayan", "tog-watchlisthidepatrolled": "Itago ang napatrolyang mga pagbabago mula sa tala ng mga binabantayan", "tog-watchlisthidecategorization": "Itago ang kategorisasyon ng mga pahina", @@ -178,11 +179,13 @@ "tagline": "Mula sa {{SITENAME}}", "help": "Tulong", "search": "Paghahanap", + "search-ignored-headings": " #
    \n# Headings that will be ignored by search.\n# Changes to this take effect as soon as the page with the heading is indexed.\n# You can force page reindexing by doing a null edit.\n# The syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment.\n#   * Every non-blank line is the exact title to ignore, case and everything.\nMga sanggunian\nMga panlabas na kawing\nMakita rin\n #
    ", "searchbutton": "Maghanap", "go": "Gawin", "searcharticle": "Pumunta", "history": "Kasaysayan ng pahina", "history_short": "Kasaysayan", + "history_small": "kasaysayan", "updatedmarker": "isinapanahon mula noong huli kong pagdalaw", "printableversion": "Bersiyong maililimbag", "permalink": "Palagiang link", @@ -206,6 +209,9 @@ "talk": "Usapan", "views": "Mga anyo", "toolbox": "Mga kagamitan", + "tool-link-userrights": "Baguhin ang mga grupo ng {{GENDER:$1|tagagamit}}", + "tool-link-userrights-readonly": "Tingnan ang mga grupo ng {{GENDER:$1|tagagamit}}", + "tool-link-emailuser": "Gumawa ng e-liham para sa {{GENDER:$1|tagagamit}} na ito", "imagepage": "Tingnan ang pahina ng talaksan", "mediawikipage": "Tingnan ang pahina ng mensahe", "templatepage": "Tingnan ang pahina ng padron", @@ -313,6 +319,7 @@ "databaseerror-query": "Tanong: $1", "databaseerror-function": "Tungkulin: $1", "databaseerror-error": "Depekto: $1", + "transaction-duration-limit-exceeded": "Para maiwasan ang kabagalan, ang transaksyong ito ay nabigo dahil ang tagal ng pagsulat ($1) ay lumagpas sa $2 segundong hangganan.\nKung ikaw ay nagbabago ng mga maraming bagay ng sabay-sabay, subukang gumawa na lamang ng mga maliliit na operasyon.", "laggedslavemode": "'''Babala:''' Maaaring hindi naglalaman ang pahina ng mga huling dagdag.", "readonly": "Nakakandado ang kalipunan ng datos", "enterlockreason": "Maglagay ng dahilan sa pagkakandado, kasama ang taya kung kailan magtatapos ang pagkakandado", @@ -321,12 +328,16 @@ "missingarticle-rev": "(pagbabago#: $1)", "missingarticle-diff": "(Pagkakaiba: $1, $2)", "readonly_lag": "Automatikong kinandado ang kalipunan ng datos habang humahabol ang mga aliping serbidor sa pinunong kalipunan nito", + "nonwrite-api-promise-error": "Ang HTTP header na 'Promise-Non-Write-API-Action' ay ipinadala ngunit ang kahilingan ay para sa isang ''API write module''.", "internalerror": "Kamaliang panloob", "internalerror_info": "Kamaliang panloob: $1", + "internalerror-fatal-exception": "Malubhang kataliwasan ng uring \"$1\"", "filecopyerror": "Hindi makopya ang talaksang \"$1\" sa \"$2\".", "filerenameerror": "Hindi mapalitan ang pangalan ng talaksang \"$1\" sa \"$2\".", "filedeleteerror": "Hindi mabura ang talaksang \"$1\".", "directorycreateerror": "Hindi malikha ang direktoryong \"$1\".", + "directoryreadonlyerror": "Ang direktoryong \"$1\" ay basahin lamang.", + "directorynotreadableerror": "Ang direktoryong \"$1\" ay hindi mabasa.", "filenotfound": "Hindi mahanap ang talaksang \"$1\".", "unexpected": "Hindi inaasahang halaga: \"$1\"=\"$2\".", "formerror": "Kamalian: hindi maipadala ang pormularyo", @@ -337,6 +348,15 @@ "no-null-revision": "Hindi makalikha ng bagong \"null\" para sa pahina na \"$1\"", "badtitle": "Hindi kanais-nais na pamagat", "badtitletext": "Ang hiniling na pamagat ng pahina ay hindi katanggap-tanggap, wala, o isang may-maling kawing na pamagat na pangugnayang-wika (interwika) o pangugnayang wiki (interwiki).\nMaaaring naglalaman ito ng isa o higit pang mga panitik (karakter) na hindi maaaring gamitin para sa mga pamagat.", + "title-invalid-empty": "Ang kahilingang pamagat ng pahina ay walang laman o naglalaman lamang ng pangalan ng ngalan-espasyo.", + "title-invalid-utf8": "Ang kahilingang pamagat ng pahina ay naglalaman ng imbalidong pagkasunod-sunod ng UTF-8.", + "title-invalid-interwiki": "Ang kahilingang pamagat ng pahina ay naglalaman ng isang kawing ng interwiki na hindi magagamit sa mga pamagat.", + "title-invalid-talk-namespace": "Ang kahilingang pamagat ng pahina ay tumutukoy sa isang usapang pahina na hindi ummiiral.", + "title-invalid-characters": "Ang kahilingang pamagat ng pahina ay naglalaman ng mga imbalidong karakter: \"$1\".", + "title-invalid-relative": "Ang pamagat ay mayroong kaugnay na daan. Ang mga kaugnay na pamagat ng pahina (./, ../) ay imbalido, dahil hindi sila maaabot kapag hinahawakan ng browser ng tagagamit.", + "title-invalid-magic-tilde": "Ang kahilingang pamagat ng pahina ay naglalaman ng imbalidong pagkasunod-sunod ng mahikang tilda (~~~).", + "title-invalid-too-long": "Ang kahilingang pamagat ng pahina ay masyadong mahaba. Ito ay hindi dapat mas mahaba sa $1 {{PLURAL:$1|byte|bytes}} sa pag-encode sa UTF-8.", + "title-invalid-leading-colon": "Ang kahilingang pamagat ng pahina ay naglalaman ng imbalidong tutuldok sa unahan.", "perfcached": "Ang sumusunod na mga dato ay nakaligpit at maaaring hindi na napapanahon. Isang pinakamataas na {{PLURAL:$1|isang resulta|$1 mga resulta ang}} ang makukuha mula sa taguan.", "perfcachedts": "Ang sumusunod na mga dato ay nakaligpit, at dating isinapanahon noong $1. Isang pinakamataas na {{PLURAL:$4|isang resulta ang|$4 mga resulta ang}} makukuha mula sa taguan.", "querypage-no-updates": "Kasulukuyang hindi gumagana ang mga pagbabago para sa pahinang ito.\nAng mga dato dito ay hindi pa masasariwa sa kasalukuyan.", @@ -349,6 +369,7 @@ "viewyourtext": "Matitingnan at makokopya mo ang pinagmulan ng mga pagbabago papunta sa pahinang ito.", "protectedinterface": "Nagbibigay ang pahinang ito ng tekstong interface para sa software, at ikinandado para maiwasan ang pangaabuso.\nUpang dagdagan o baguhin ang mga salin para sa lahat ng mga wiki, pakigamit ang [https://translatewiki.net/ translatewiki.net], ang proyekto para sa lokalisasyon ng MediaWiki.", "editinginterface": "'''Babala:''' Binabago mo ang isang pahinang ginagamit sa pagbibigay ng tekstong panghangganan para sa sopwer.\nMakaaapekto ang mga pagbago sa pahinang ito sa anyo ng hangganang (''interface'') pantagagamit na para sa ibang mga tagagamit sa wiking ito.\nUpang magdagag o magbago ng mga salinwika, isaaalang-alang na lang po ang paggamit ng [https://translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], ang proyekto para sa lokalisasyon ng MediaWiki.", + "translateinterface": "Para magdagdag o magbago ng mga pagsasalin sa lahat ng mga wiki, maaaring gamitin ang [https://translatewiki.net/ translatewiki.net], ang proyektong panglokalisasyon ng MediaWiki.", "cascadeprotected": "Nakasanggalang ang pahinang ito mula sa mga pagbabago, dahil kabilang ito sa sumusunod na {{PLURAL:$1|pahinang|mga pahinang}} nakasanggalang sa pamamagitan ng binuhay na opsyong \"nahuhulog\" (kumakaskada):\n$2", "namespaceprotected": "Wala kang pahintulot na magbago ng mga pahinang nasa ngalan-espasyong '''$1'''.", "customcssprotected": "Wala kang pahintulot na baguhin ang pahina ng CSS na ito, dahil naglalaman ito ng mga katakdaang pansarili ng ibang tagagamit.", @@ -369,6 +390,8 @@ "virus-scanfailed": "nabigo ang paghagilap (kodigong $1)", "virus-unknownscanner": "hindi kilalang panlaban sa birus:", "logouttext": "Nakaalis ka na sa pagkaka-login.\n\nTandaan na may ilang mga pahina na patuloy na nagpapakita na parang hindi ka naka-login, hanggang alisin mo ang iyong browser cache.", + "cannotlogoutnow-title": "Hindi maka-log out ngayon", + "cannotlogoutnow-text": "Imposible ang pag-log out kapag gumagamit ng $1.", "welcomeuser": "Mabuhay, $1!", "welcomecreation-msg": "Nilikha na ang iyong account.\nHuwag kalimutang baguhin ang iyong [[Special:Preferences|mga kagustuhan sa {{SITENAME}}]].", "yourname": "Bansag:", @@ -384,10 +407,17 @@ "createacct-yourpasswordagain-ph": "Muling ilagay ang password", "userlogin-remembermypassword": "Panatilihin akong naka-login", "userlogin-signwithsecure": "Gumamit ng ligtas na koneksyon", + "cannotlogin-title": "Hindi maka-log in", + "cannotlogin-text": "Imposible and pag-log in.", + "cannotloginnow-title": "Hindi maka-log in ngayon", + "cannotloginnow-text": "Imposible ang pag-log in kapag gumagamit ng $1.", + "cannotcreateaccount-title": "Hindi makagawa ng mga account", + "cannotcreateaccount-text": "Ang direktang paggawa ng account ay hindi pinapagana sa wiking ito.", "yourdomainname": "Dominyo mo:", "password-change-forbidden": "Hindi mo maaaring palitan ang mga password sa wiking ito.", "externaldberror": "Maaaring may kamalian sa pagpapatotoo ng database o kaya hindi ka pinahintulutang isapanahon ng iyong panlabas na account.", "login": "Lumagda", + "login-security": "Patunayan ang iyong pagkakakilanlan", "nav-login-createaccount": "Lumagda / lumikha ng account", "logout": "Umalis sa pagkaka-login", "userlogout": "Umalis sa pagkaka-login", @@ -398,12 +428,14 @@ "userlogin-resetpassword-link": "Nakalimutan ba ang iyong password?", "userlogin-helplink2": "Tulong sa pag-login", "userlogin-loggedin": "Naka-login ka na bilang {{GENDER:$1|$1}}. Gamitin ang form sa ibaba upang maka-login bilang ibang tagagamit o user.", + "userlogin-reauth": "Kailangan mong mag-log in muli para mapatunayan na ikaw si {{GENDER:$1|$1}}.", "userlogin-createanother": "Lumikha ng iba pang account", "createacct-emailrequired": "Direksiyong e-liham:", "createacct-emailoptional": "Email (hindi kailangan)", "createacct-email-ph": "Ipasok ang iyong email address", "createacct-another-email-ph": "Ipasok ang email address", "createaccountmail": "Gumamit ng pansamantalang random na password at ipadala ito sa email na nakasaad sa ibaba", + "createaccountmail-help": "Maaaring magamit para gumawa ng account para sa isang tao ng hindi nalalaman ang password.", "createacct-realname": "Tunay na pangalan (maaaring wala)", "createacct-reason": "Dahilan", "createacct-reason-ph": "Bakit ka gagawa ng isa pang account?", diff --git a/languages/i18n/tr.json b/languages/i18n/tr.json index 8bd88afb24..8564c553b9 100644 --- a/languages/i18n/tr.json +++ b/languages/i18n/tr.json @@ -701,7 +701,7 @@ "anonpreviewwarning": "''Giriş yapmadınız. Kaydederseniz, sayfanın değişiklik geçmişine IP adresiniz yazılır.''", "missingsummary": "'''Uyarı:''' Herhangi bir özet yazmadın.\nKaydet tuşuna tekrar basarsan sayfa özetsiz kaydedilecek.", "selfredirect": "Uyarı: Bu sayfanın kendisine yönlendirme vardır.\nYönlendirme için yanlış hedef belirtmiş olabilirsiniz, ya da yanlış sayfa düzenlemeye çalışmış olabilirsiniz.\n\n\"$1\" sayfasına tıklayarak, yönlendirmeyi zaten oluşturabilirsiniz.", - "missingcommenttext": "Lütfen aşağıda bir açıklama yazınız.", + "missingcommenttext": "Lütfen bir açıklama yazınız.", "missingcommentheader": "Hatırlatma: Bu yorum için bir konu girmediniz.\nEğer \"{{int: savearticle}}\" tuşuna tekrar basarsanız, değişikliğiniz konu olmadan kaydedilecektir.", "summary-preview": "Değişiklik özeti ön izlemesi:", "subject-preview": "Konu ön izlemesi:", @@ -777,7 +777,7 @@ "sectioneditnotsupported-text": "Bölüm değiştirmesi bu sayfada desteklenmiyor.", "permissionserrors": "İzin hatası", "permissionserrorstext": "Aşağıdaki {{PLURAL:$1|sebep|sebepler}}den dolayı, bunu yapmaya yetkiniz yok:", - "permissionserrorstext-withaction": "Aşağıdaki {{PLURAL:$1|neden|nedenler}}den dolayı $2 için yetkiniz yok:", + "permissionserrorstext-withaction": "Aşağıdaki {{PLURAL:$1|neden|nedenler}}den dolayı $2 yetkiniz yok:", "recreate-moveddeleted-warn": "Uyarı: Daha önceden silinmiş bir sayfayı tekrar oluşturuyorsunuz.\n\nBu sayfayı düzenlemeye devam etmenin uygun olup olmadığını düşünmelisiniz.\nBu sayfanın silme ve taşıma günlüğü kolaylık için burada verilmiştir:", "moveddeleted-notice": "Bu sayfa silinmiş.\nSayfanın silme ve taşıma kaydı referans için aşağıda verilmiştir.", "log-fulllog": "Tam günlüğü gör", @@ -1081,7 +1081,8 @@ "timezoneregion-europe": "Avrupa", "timezoneregion-indian": "Hint Okyanusu", "timezoneregion-pacific": "Pasifik Okyanusu", - "allowemail": "Diğer kullanıcılar bana e-posta atabilsin", + "allowemail": "Diğer kullanıcıların bana e-posta gönderebilmesine izin ver", + "email-blacklist-label": "Şu kullanıcıların bana e-posta göndermesine izin verme:", "prefs-searchoptions": "Arama", "prefs-namespaces": "İsim alanları", "default": "varsayılan", @@ -1358,7 +1359,7 @@ "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-newcomer-description": "10'dan az düzenlemesi veya 4 günden az etkinliği olan kayıtlı kullanıcılar.", "rcfilters-filter-user-experience-level-learner-label": "Öğreniciler", "rcfilters-filter-user-experience-level-learner-description": "\"Yeni gelenler\"den daha fazla gün boyunca etkinlik ve daha fazla düzenleme, ancak \"Deneyimli kullanıcılar\"dan daha az etkinlik ve düzenleme.", "rcfilters-filter-user-experience-level-experienced-label": "Deneyimli kullanıcılar", @@ -2512,7 +2513,7 @@ "tooltip-pt-login": "Oturum açmanız tavsiye edilmektedir; ancak bu zorunlu değildir", "tooltip-pt-logout": "Sistemden çık", "tooltip-pt-createaccount": "Bir hesap oluşturup oturum açmanız tavsiye edilmektedir ancak bu zorunlu değildir", - "tooltip-ca-talk": "İçerik ile ilgili tartışma", + "tooltip-ca-talk": "Kullanıcı mesaj sayfası", "tooltip-ca-edit": "Bu sayfayı düzenleyin", "tooltip-ca-addsection": "Yeni bir altbaşlık aç", "tooltip-ca-viewsource": "Bu sayfa koruma altında. Sadece kaynağını görebilirsiniz.", diff --git a/languages/i18n/ug-arab.json b/languages/i18n/ug-arab.json index 2e07b2bf73..f28a37221c 100644 --- a/languages/i18n/ug-arab.json +++ b/languages/i18n/ug-arab.json @@ -62,7 +62,6 @@ "underline-never": "ھەرگىز", "underline-default": "تېرە ياكى توركۆرگۈ كۆڭۈلدىكىسى", "editfont-style": "تەھرىرلەش رايونىنىڭ خەت نۇسخا ئۇسلۇبى:", - "editfont-default": "توركۆرگۈ كۆڭۈلدىكىسى", "editfont-monospace": "تەڭ كەڭلىكتىكى خەت نۇسخا", "editfont-sansserif": "Sans-serif خەت نۇسخا", "editfont-serif": "Serif خەت نۇسخا", @@ -623,7 +622,6 @@ "explainconflict": "سىز بۇ بەتنى تەھرىرلەشكە باشلىغاندا باشقىلار ئۆزگەرتتى.\nئۈستىدىكى تېكست رامكىسىدا كۆرۈنگىنى نۆۋەتتىكى بەتتىكى مەزمۇن.\nسىزنىڭ ئۆزگەرتىشىڭىز تۆۋەندىكى تېكست رامكىسىدا كۆرۈنىدۇ.\nئۆزگەرتىشىڭىزنى نۆۋەتتىكى مەزمۇنغا قوشۇڭ.\n'''پەقەت ''' ئۈستىدىكى تېكست رامكىسىدىكى مەزمۇن \"بەت ساقلا\"نى چەككەندىن كېيىنلا ئاندىن ساقلىنىدۇ.", "yourtext": "تېكستىڭىز", "storedversion": "ساقلانغان ئۆزگەرتىلگەن نەشرى", - "nonunicodebrowser": "'''ئاگاھلاندۇرۇش: تور كۆرگۈڭىز يۇنىكودنى قوللىمايدۇ.'''\nبۇ جايدىكى خىزمەت رايونىدا بەتنى بىخەتەر ھالدا تەھرىرلىيەلەيسىز: غەيرى ASCII ھەرپلىرى ئون ئالتىلىك كودلىنىش بويىچە تېكست رامكىسىدا كۆرۈنىدۇ.", "editingold": "'''ئاگاھلاندۇرۇش: تەھرىرلەۋاتقىنىڭىز بۇ بەتنىڭ كونا نەشرى.'''\nئەگەر ئۇنى ساقلىسىڭىز، مەزكۇر نەشرىدىن كېيىنكى ھەر قانداق ئۆزگەرتىش يوقاپ كېتىدۇ.", "yourdiff": "پەرقلەر", "copyrightwarning": "دىققەت، سىزنىڭ {{SITENAME}} دىكى بارلىق تۆھپىلىرىڭىز $2 دا ئېلان قىلىنىدۇ دەپ قارىلىدۇ ($1 نىڭ تەپسىلاتىدىن كۆرۈڭ).\nئەگەر يازمىڭىزنىڭ خالىغانچە ئۆزگەرتىلىشى ياكى قايتا تارقىلىشىنى خالىمىسىڭىز، يوللىماڭ.
    \n سىز يوللىغان مەزمۇننىڭ ئۆزىڭىزنىڭ يازغانلىقى ياكى يەرلىك تور دائىرىسىدىن ياكى ئەركىن مەنبەدىن كەلگەنلىكىگە كاپالەتلىك قىلىڭ.\n'''ئىجازەتكە ئېرىشمەي تۇرۇپ يوللىماڭ!'''", @@ -1144,7 +1142,7 @@ "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (بۇنىڭغىمۇ قاراڭ [[Special:NewPages|يېڭى بەتلەر تىزىملىگى]])", "recentchanges-submit": "كۆرسىتىش", "rcfilters-legend-heading": "قىسقارتىپ يېزىلىش تىزىملىكى:", - "rcfilters-other-review-tools": " باشقا تەكشۈرۈش قوراللىرى", + "rcfilters-other-review-tools": " باشقا تەكشۈرۈش قوراللىرى", "rcfilters-grouping-title": "گۇرۇپپىلىنىۋاتىدۇ", "rcfilters-activefilters": "قوزغىتىلىغان سۈزگۈچلەر", "rcfilters-days-title": "يېقىنقى بىر نەچچە كۈن", @@ -1899,7 +1897,6 @@ "block": "ئىشلەتكۈچىنى چەكلە", "unblock": "ئىشلەتكۈچىنى چەكلىمە", "blockip": "چەكلەنگەن ئىشلەتكۈچى", - "blockip-legend": "چەكلەنگەن ئىشلەتكۈچى", "blockiptext": "تۆۋەندىكى جەدۋەلنى ئىشلىتىپ بەلگىلىك IP ئادرېس ياكى ئىشلەتكۈچى ئاتىدىن كەلگەن يېزىش زىيارىتىنى چەكلەشكە بولىدۇ.\nپەقەت بۇزغۇنچىلىكنىڭ ئالدىنى ئېلىش ھەمدە [[{{MediaWiki:Policy-url}}|تاكتىكا]].\nسىغا ئۇيغۇن بولغان ئەھۋالدا ئاندىن بۇ مەشغۇلاتنى ئېلىپ بېرىشقا بولىدۇ. تۆۋەندە ئەمەلىي سەۋەب (مەسىلەن، بۇزۇۋېتىلگەن بەتتىن بىرنى نەقىل ئېلىش)تىن بىرنى كىرگۈزۈڭ.", "ipaddressorusername": "IP ئادرېس ياكى ئىشلەتكۈچى ئاتى:", "ipbexpiry": "مۇددىتى:", diff --git a/languages/i18n/uk.json b/languages/i18n/uk.json index bb256bee9e..4f72f70c15 100644 --- a/languages/i18n/uk.json +++ b/languages/i18n/uk.json @@ -122,7 +122,6 @@ "underline-never": "Ніколи", "underline-default": "Використовувати налаштування браузера", "editfont-style": "Тип шрифту в полі редагування:", - "editfont-default": "Шрифт від веб-оглядача", "editfont-monospace": "Шрифт зі сталою шириною", "editfont-sansserif": "Шрифт без засічок", "editfont-serif": "Шрифт із засічками", @@ -1075,7 +1074,7 @@ "timezoneregion-indian": "Індійський океан", "timezoneregion-pacific": "Тихий океан", "allowemail": "Дозволити електронну пошту від інших користувачів", - "email-blacklist-label": "Заборонити цим користувачам надсилати мені листи на електронну пошту:", + "email-blacklist-label": "Заборонити цим користувачам надсилати мені електронну пошту:", "prefs-searchoptions": "Пошук", "prefs-namespaces": "Простори назв", "default": "за замовчуванням", @@ -1125,7 +1124,7 @@ "prefs-advancedwatchlist": "Розширені налаштування", "prefs-displayrc": "Налаштування показу", "prefs-displaywatchlist": "Налаштування показу", - "prefs-tokenwatchlist": "Жетон", + "prefs-tokenwatchlist": "Токен", "prefs-diffs": "Різниці версій", "prefs-help-prefershttps": "Цей параметр набуде чинності при вашому наступному вході у систему.", "prefswarning-warning": "Ви внесли в свої налаштування зміни, які ще не були збережені.\nЯкщо ви залишите цю сторінку, не натиснувши \"$1\", налаштування не будуть оновлені.", @@ -1358,7 +1357,7 @@ "recentchanges-submit": "Показати", "rcfilters-tag-remove": "Вилучити «$1»", "rcfilters-legend-heading": "Список скорочень:", - "rcfilters-other-review-tools": "Інші інструменти перевірки", + "rcfilters-other-review-tools": "Інші інструменти перевірки", "rcfilters-group-results-by-page": "Групувати результати за сторінкою", "rcfilters-grouping-title": "Групування", "rcfilters-activefilters": "Активні фільтри", @@ -1371,7 +1370,7 @@ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|година|години|годин}}", "rcfilters-highlighted-filters-list": "Виділено: $1", "rcfilters-quickfilters": "Збережені фільтри", - "rcfilters-quickfilters-placeholder-title": "Ще немає збережених посилань", + "rcfilters-quickfilters-placeholder-title": "Ще немає збережених фільтрів", "rcfilters-quickfilters-placeholder-description": "Щоб зберегти Ваші налаштування фільтрів та використати їх пізніше, клацніть на іконку закладки в ділянці активних фільтрів нижче.", "rcfilters-savedqueries-defaultlabel": "Збережені фільтри", "rcfilters-savedqueries-rename": "Перейменувати", @@ -1469,6 +1468,7 @@ "rcfilters-view-namespaces-tooltip": "Фільтрувати результати за простором назв", "rcfilters-view-tags-tooltip": "Фільтрувати результати, використовуючи мітки до редагувань", "rcfilters-view-return-to-default-tooltip": "Повернутися до головного меню фільтра", + "rcfilters-view-tags-help-icon-tooltip": "Дізнайтесь більше про редагування з мітками", "rcfilters-liveupdates-button": "Оновлення наживо", "rcfilters-liveupdates-button-title-on": "Вимкнути оновлення наживо", "rcfilters-liveupdates-button-title-off": "Показувати нові зміни одразу ж після їх здійснення", @@ -1607,7 +1607,7 @@ "uploaded-script-svg": " \t\t\nЗнайдений небезпечний елемент з підтримкою сценаріїв «$1» в завантаженому файлі SVG.", "uploaded-hostile-svg": " \t\nЗнайдений небезпечний CSS-код в елементі стилю завантаженого файлу SVG.", "uploaded-event-handler-on-svg": " \t\nУстановка атрибутів обробника подій $1=\"$2\" не дозволено для SVG-файлів.", - "uploaded-href-attribute-svg": "href-атрибути в SVG-файлах дозволені лише для посилання на цілі http:// або https://, знайдено <$1 $2=\"$3\">.", + "uploaded-href-attribute-svg": "
    елементи можуть лише посилатися (href) на цілі типу data: (вбудований файл), http:// або https://, або ж fragment (#, same-document). Для інших елементів, таких як , дозволені лише data: і fragment. Спробуйте вбудовувати зображення при експортуванні Вашого файлу SVG. Знайдено <$1 $2=\"$3\">.", "uploaded-href-unsafe-target-svg": "У завантаженому SVG-файлі знайдено href на небезпечні дані: ціль URI <$1 $2=\"$3\">.", "uploaded-animate-svg": "У завантаженому SVG-файлі знайдено теґ «animate», який може змінювати href, використовуючи атрибут «from» <$1 $2=\"$3\">.", "uploaded-setting-event-handler-svg": "Встановлення атрибутів обробника подій заблоковане, у завантаженому файлі SVG знайдено <$1 $2=\"$3\">.", @@ -2422,7 +2422,6 @@ "block": "Заблокувати користувача", "unblock": "Розблокувати користувача", "blockip": "Заблокувати {{GENDER:$1|користувача|користувачку}}", - "blockip-legend": "Блокування користувача", "blockiptext": "Використовуйте форму нижче, щоб заблокувати можливість редагування зазначеній IP-адресі або користувачу.\nЦе слід робити лише для запобігання порушенням і у відповідності до [[{{MediaWiki:Policy-url}}|правил]].\nОбов'язково заповніть причину нижче, бажано дати інформативну вичерпну інформацію (наприклад, послатися на конкретні правила, дати посилання на редагування користувача, які призвели до блокування). Можна конкретизувати причину блокування на сторінці обговорення користувача.\nВи можете заблокувати діапазони IP-адрес, використовуючи [https://uk.wikipedia.org/wiki/CIDR CIDR]-синтаксис. Максимально допустимий діапазон — /$1 для протоколу IPv4 та /$2 для протоколу IPv6.", "ipaddressorusername": "IP-адреса або ім'я користувача:", "ipbexpiry": "Термін:", @@ -2524,6 +2523,8 @@ "ipb_blocked_as_range": "Помилка: IP-адреса $1 була заблокована не напряму і не може бути розблокована. Однак, вона належить до заблокованого діапазону $2, який можна розблокувати.", "ip_range_invalid": "Неприпустимий діапазон IP-адрес.", "ip_range_toolarge": "Блокування діапазонів, більших за /$1, не дозволені.", + "ip_range_exceeded": "Діапазон IP-адрес перевищує свій максимальний діапазон. Дозволений діапазон: /$1.", + "ip_range_toolow": "Діапазони IP-адрес ефективно не дозволені.", "proxyblocker": "Блокування проксі", "proxyblockreason": "Ваша IP-адреса заблокована, тому що це — відкритий проксі.\nБудь ласка, зв'яжіться з вашим Інтернет-провайдером чи службою підтримки й повідомте їм про цю серйозну проблему безпеки.", "sorbs": "DNSBL", @@ -2594,7 +2595,7 @@ "delete_and_move_text": "Сторінка з назвою [[:$1|«$1»]] вже існує.\nБажаєте вилучити її для можливості перейменування?", "delete_and_move_confirm": "Так, вилучити для перейменування", "delete_and_move_reason": "Вилучена для можливості перейменування сторінки «[[$1]]»", - "selfmove": "Неможливо перейменувати сторінку: поточна й нова назви сторінки збігаються.", + "selfmove": "Ця назва є ідентичною з поточною;\nнеможливо перейменувати сторінку на поточну назву.", "immobile-source-namespace": "Не можна перейменовувати сторінки з простору назв «$1»", "immobile-target-namespace": "Не можна перейменовувати сторінки до простору назв «$1»", "immobile-target-namespace-iw": "Інтервікі-посилання не підходить для перейменування сторінки.", diff --git a/languages/i18n/ur.json b/languages/i18n/ur.json index 66a5a70dca..206dea8ab4 100644 --- a/languages/i18n/ur.json +++ b/languages/i18n/ur.json @@ -62,7 +62,7 @@ "tog-shownumberswatching": "دیکھنے والے صارفین کی تعداد دکھائیں", "tog-oldsig": "آپ کے موجودہ دستخط:", "tog-fancysig": "سادہ دستخط (بلا خودکار ربط)", - "tog-uselivepreview": "راست نمائش استعمال کریں", + "tog-uselivepreview": "صفحہ تازہ کیے بغیر نمائش دکھائیں", "tog-forceeditsummary": "خلاصہ ترمیم خالی چھوڑنے پر مجھے آگاہ کریں", "tog-watchlisthideown": "زیرِنظر فہرست سے میری ترامیم چھپائیں", "tog-watchlisthidebots": "زیرِنظر فہرست سے روبہ جاتی ترامیم چھپائیں", @@ -232,7 +232,7 @@ "redirectedfrom": "($1 سے رجوع مکرر)", "redirectpagesub": "رجوع مکرر", "redirectto": "رجوعِ مکرر از:", - "lastmodifiedat": "اس صفحہ میں آخری بار مورخہ $1ء کو $2 بجے ترمیم کی گئی۔", + "lastmodifiedat": "اس صفحہ میں آخری بار مورخہ $1 کو $2 بجے ترمیم کی گئی۔", "viewcount": "اِس صفحہ تک {{PLURAL:$1|ایک‌بار|$1 مرتبہ}} رسائی کی گئی", "protectedpage": "محفوظ شدہ صفحہ", "jumpto": "یہاں جائیں:", @@ -779,8 +779,8 @@ "page_first": "پہلا", "page_last": "آخری", "histlegend": "انتخاب: مختلف نسخوں کا موازنہ کرنے کے لیے ریڈیو خانوں کو نشان زد کر کے نیچے دیے گئے بٹن پر کلک کریں۔\n\n'''علامات:'''\n\n(رائج) = موجودہ متن سے اختلاف، (سابقہ) = گزشتہ متن سے اختلاف، م = معمولی ترمیم", - "history-fieldset-title": "تاریخ ملاحظہ کریں", - "history-show-deleted": "صرف حذف شدہ", + "history-fieldset-title": "نسخوں کی تلاش", + "history-show-deleted": "صرف حذف شدہ نسخہ", "histfirst": "قدیم ترین", "histlast": "تازہ ترین", "historysize": "({{PLURAL:$1|1 بائٹ|$1 بائٹ}})", @@ -924,13 +924,13 @@ "searchprofile-advanced-tooltip": "حسب مرضی نام فضا میں تلاش کریں", "search-result-size": "$1 ({{PLURAL:$2|1 لفظ|$2 الفاظ}})", "search-result-category-size": "{{PLURAL:$1|1 رُکن|$1 اراکین}} ({{PLURAL:$2|1 ذیلی زمرہ|$2 ذیلی زمرہ جات}}، {{PLURAL:$3|1 فائل|$3 فائلیں}})", - "search-redirect": "(رجوع مکرر $1)", + "search-redirect": "($1 سے رجوع مکرر)", "search-section": "(قطعہ $1)", "search-category": "(زمرہ $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-interwiki-more-results": "مزید نتائج", @@ -1009,7 +1009,8 @@ "timezoneregion-europe": "یورپ", "timezoneregion-indian": "بحر ہند", "timezoneregion-pacific": "بحر الکاہل", - "allowemail": "دوسرے صارفین کو برقی خظ لکھنے کا اختیار دیں", + "allowemail": "دوسرے صارفین کو برقی خظ بھیجنے کا اختیار دیں", + "email-blacklist-label": "ان صارفین کو برقی خط ارسال کرنے سے باز رکھیں:", "prefs-searchoptions": "تلاش", "prefs-namespaces": "جائے نام", "default": "طے شدہ", @@ -1072,7 +1073,7 @@ "saveusergroups": "حلقہ ہائے {{GENDER:$1|صارف}} کو محفوظ کریں", "userrights-groupsmember": "رکنِ:", "userrights-groupsmember-auto": "اعتباری صارف در", - "userrights-groups-help": "آپ ان حلقوں میں تبدیلی کرسکتے ہیں جن سے صارف متعلق ہے: \n* نشان زد خانہ کا مطلب یہ ہے کہ صارف کا تعلق اس گروہ سے ہے۔ \n* غیر نشان زد خانہ کا مطلب یہ ہے کہ صارف کا تعلق اس گروہ سے نہیں ہے۔ \n* یہ * علامت اس بات کا اشارہ ہے کہ آپ اس گروہ کو نہیں ہٹا سکتے جسے ایک مرتبہ آپ نے شامل کردیا ہو، یا اس کے بر عکس۔", + "userrights-groups-help": "آپ ان حلقوں میں تبدیلی کرسکتے ہیں جن سے صارف متعلق ہے: \n* نشان زد خانہ کا مطلب یہ ہے کہ صارف کا تعلق اس گروہ سے ہے۔ \n* غیر نشان زد خانہ کا مطلب یہ ہے کہ صارف کا تعلق اس گروہ سے نہیں ہے۔ \n* یہ # علامت اس بات کا اشارہ ہے کہ آپ اس گروہ کو نہیں ہٹا سکتے جسے ایک مرتبہ آپ نے شامل کردیا ہو۔", "userrights-reason": "وجہ:", "userrights-no-interwiki": "دوسرے ویکیوں پر حقوقِ صارف میں ترمیم کی آپ کو اجازت نہیں ہے.", "userrights-nodatabase": "ڈیٹابیس $1 موجود نہیں یا مقامی نہیں۔", @@ -1081,7 +1082,11 @@ "userrights-expiry-current": "وقت اختتام $1", "userrights-expiry-none": "لامحدود", "userrights-expiry": "اختتام:", + "userrights-expiry-existing": "موجودہ وقت اختتام: $3، $2", "userrights-expiry-othertime": "دیگر وقت:", + "userrights-expiry-options": "1 دن:1 day,1 ہفتہ:1 week,1 مہینہ:1 month,3 مہینے:3 months,6 مہینے:6 months,1 سال:1 year", + "userrights-invalid-expiry": "گروہ «$1» کا وقت اختتام درست نہیں ہے۔", + "userrights-expiry-in-past": "گروہ «$1» کا وقت اختتام بیت چکا ہے۔", "userrights-conflict": "اختیارات کی تبدیلی میں تنازع! براہ کرم نظر ثانی کریں اور اپنی تبدیلیوں کی تصدیق کریں۔", "group": "حلقہ:", "group-user": "صارفین", @@ -1208,6 +1213,7 @@ "grant-basic": "بنیادی اختیارات", "grant-viewdeleted": "حذف شدہ فائلوں اور صفحات کا معائنہ", "grant-viewmywatchlist": "اپنی زیرنظر فہرست کا معائنہ", + "grant-viewrestrictedlogs": "ممنوع اندراجات نوشتہ دیکھیں", "newuserlogpage": "نوشتۂ آمد صارف", "newuserlogpagetext": "یہ نۓ صارفوں کی آمد کا نوشتہ ہے", "rightslog": "نوشتہ صارفی اختیارات", @@ -1232,6 +1238,7 @@ "action-writeapi": "اے پی آئی تحریر کے استعمال کرنے", "action-delete": "یہ صفحہ حذف کرنے", "action-deleterevision": "یہ نسخہ حذف کرنے", + "action-deletelogentry": "نوشتے کے اندراجات کو حذف کریں", "action-deletedhistory": "اس صفحہ کا حذف شدہ تاریخچہ دیکھیں", "action-browsearchive": "حذف شدہ صفحات میں تلاش کرنے", "action-undelete": "یہ صفحہ بحال کرنے", @@ -1250,6 +1257,7 @@ "action-userrights-interwiki": "دوسری ویکیوں پر صارف کے اختیارات میں ترمیم کرنے", "action-siteadmin": "ڈیٹابیس کو مقفل کرنے یا کھولنے", "action-sendemail": "برقی خطوط روانہ کرنے", + "action-editmyoptions": "اپنی ترجیحات میں ترمیم کرنے", "action-editmywatchlist": "اپنی زیرنظر فہرست میں ترمیم کرنے", "action-viewmywatchlist": "اپنی زیر نظر فہرست دیکھنے", "action-viewmyprivateinfo": "اپنی نجی معلومات دیکھنے", @@ -1276,8 +1284,9 @@ "recentchanges-legend-heading": "اختصارات:", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (نیز [[Special:NewPages|جدید صفحات کی فہرست]]) ملاحظہ فرمائیں", "recentchanges-submit": "دکھائیں", + "rcfilters-tag-remove": "حذف «$1»", "rcfilters-legend-heading": "اختصارات کی فہرست:", - "rcfilters-other-review-tools": "نظرثانی کے دیگر آلات", + "rcfilters-other-review-tools": "نظرثانی کے دیگر آلات", "rcfilters-group-results-by-page": "نتائج گروہ بندی بلحاظ صفحہ", "rcfilters-grouping-title": "گروہ بندی", "rcfilters-activefilters": "فعال فلٹر", @@ -1287,15 +1296,38 @@ "rcfilters-days-title": "حالیہ دنوں کی تعداد", "rcfilters-hours-title": "حالیہ گھنٹوں کی تعداد", "rcfilters-days-show-days": "$1 {{PLURAL:$1|دن}}", + "rcfilters-days-show-hours": "$1 {{PLURAL:$1|گھنٹہ|گھنٹے}}", + "rcfilters-highlighted-filters-list": "نمایاں: $1", "rcfilters-quickfilters": "محفوظ فلٹر", - "rcfilters-quickfilters-placeholder-title": "اب تک کوئی ربط محفوظ نہیں ہوا ہے", + "rcfilters-quickfilters-placeholder-title": "اب تک کوئی فلٹر محفوظ نہیں ہوا ہے", "rcfilters-quickfilters-placeholder-description": "اپنی فلٹر ترتیبات کو محفوظ اور انہیں دوبارہ استعمال کرنے کے لیے نیچے فعال فلٹر خانے میں موجود بک مارک کی علامت پر کلک کریں۔", "rcfilters-savedqueries-defaultlabel": "محفوظ فلٹر", + "rcfilters-savedqueries-rename": "نام کی تبدیلی", + "rcfilters-savedqueries-setdefault": "طے شدہ طور پر محفوظ کریں", + "rcfilters-savedqueries-unsetdefault": "طے شدہ طور پر ہٹائیں", + "rcfilters-savedqueries-remove": "ہٹائیں", + "rcfilters-savedqueries-new-name-label": "نام", + "rcfilters-savedqueries-new-name-placeholder": "فلٹر کا مقصد واضح کریں", + "rcfilters-savedqueries-apply-label": "فلٹر بنائیں", + "rcfilters-savedqueries-apply-and-setdefault-label": "طے شدہ فلٹر بنائیں", + "rcfilters-savedqueries-cancel-label": "منسوخ کریں", + "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": "کوئی فلٹر فعال نہیں ہے چنانچہ تمام شراکتیں دکھائی جا رہی ہیں۔", "rcfilters-filterlist-title": "فلٹروں کی فہرست", + "rcfilters-filterlist-whatsthis": "یہ کام کیسے کرتے ہیں؟", "rcfilters-filterlist-feedbacklink": "ان (نئے) فلٹر آلات کے متعلق ہمیں اپنے تاثرات سے آگاہ کریں", "rcfilters-highlightbutton-title": "نتائج کو نمایاں کریں", + "rcfilters-highlightmenu-title": "رنگ پسند کریں", + "rcfilters-highlightmenu-help": "اس خاصیت کو نمایاں کرنے کے لیے کوئی رنگ پسند کریں", + "rcfilters-filterlist-noresults": "کوئی فلٹر نہیں ملا", + "rcfilters-noresults-conflict": "کوئی نتیجہ برآمد نہیں ہوا کیونکہ تلاش کی کسوٹی باہم متعارض ہے", + "rcfilters-state-message-subset": "یہ فلٹر غیر موثر ہے کیونکہ اس کے نتائج ذیل کے زیادہ عمومی {{PLURAL:$2|فلٹر|فلٹروں}} میں شامل ہیں (اسے نمایاں کرنے کی کوشش کریں): $1", + "rcfilters-state-message-fullcoverage": "اس گروہ میں تمام فلٹروں کو منتخب کرنے کا کوئی فائدہ نہیں، لہذا یہ فلٹر غیر موثر ہے۔ گروہ میں یہ شامل ہیں: $1", "rcfilters-filtergroup-authorship": "ویکی نویسی", "rcfilters-filter-editsbyself-label": "آپ کی تبدیلیاں", "rcfilters-filter-editsbyself-description": "آپ کی اپنی شراکتیں", @@ -1317,16 +1349,27 @@ "rcfilters-filter-bots-description": "ترامیم بذریعہ خودکار آلات", "rcfilters-filter-humans-label": "دستی (غیر روبہ جاتی)", "rcfilters-filter-humans-description": "ترامیم بدست انسانی", + "rcfilters-filtergroup-reviewstatus": "نظر ثانی کی صورت حال", + "rcfilters-filter-patrolled-label": "مراجعت شدہ", + "rcfilters-filter-patrolled-description": "بطور مراجعت شدہ نشان زد ترامیم", + "rcfilters-filter-unpatrolled-label": "غیر مراجعت شدہ", + "rcfilters-filter-unpatrolled-description": "غیر مراجعت شدہ نشان زد ترامیم", "rcfilters-filtergroup-significance": "اہمیت", "rcfilters-filter-minor-label": "معمولی ترامیم", "rcfilters-filter-minor-description": "ترامیم جنہیں صارفین نے معمولی قرار دیا", + "rcfilters-filter-major-label": "معمولی ترامیم کے سوا", "rcfilters-filter-major-description": "ترامیم جنہیں معمولی قرار نہیں دیا گیا", "rcfilters-filtergroup-watchlist": "زیر نظر صفحات", + "rcfilters-filter-watchlist-watched-label": "زیر نظر فہرست میں", "rcfilters-filter-watchlist-watched-description": "آپ کی زیر نظر فہرست کے صفحات میں ہونے والی تبدیلیاں۔", + "rcfilters-filter-watchlist-watchednew-label": "زیر نظر فہرست کی نئی تبدیلیاں", "rcfilters-filter-watchlist-watchednew-description": "آپ کے ان زیر نظر صفحات کی تبدیلیاں جنہیں آپ نے تبدیل ہونے کے بعد نہیں دیکھا۔", "rcfilters-filter-watchlist-notwatched-label": "زیر نظر فہرست میں نہیں", "rcfilters-filter-watchlist-notwatched-description": "اپنے زیر نظر صفحات کی تبدیلیوں کے سوا سب کچھ", + "rcfilters-filtergroup-watchlistactivity": "زیر نظر فہرست کی سرگرمی", + "rcfilters-filter-watchlistactivity-unseen-label": "نادیدہ تبدیلیاں", "rcfilters-filter-watchlistactivity-unseen-description": "ان صفحات کی تبدیلیاں جنہیں آپ نے تبدیل ہونے کے بعد نہیں دیکھا۔", + "rcfilters-filter-watchlistactivity-seen-label": "دیدہ تبدیلیاں", "rcfilters-filter-watchlistactivity-seen-description": "ان صفحات کی تبدیلیاں جنہیں آپ نے تبدیل ہونے کے بعد دیکھا ہے۔", "rcfilters-filtergroup-changetype": "تبدیلی کی نوعیت", "rcfilters-filter-pageedits-label": "صفحاتی ترامیم", @@ -1337,20 +1380,34 @@ "rcfilters-filter-categorization-description": "زمروں میں شامل یا ان سے حذف کیے جانے والے صفحات کے نوشتے", "rcfilters-filter-logactions-label": "درج نوشتہ اقدامات", "rcfilters-filter-logactions-description": "انتظامی اقدامات، تخلیق کھاتہ، صفحات کی حذف شدگی، اپلوڈ وغیرہ۔۔۔", + "rcfilters-hideminor-conflicts-typeofchange-global": "«معمولی ترامیم» والا فلٹر «تبدیلی کی نوعیت» والے ایک یا زائد فلٹروں سے متعارض ہو جاتا ہے کیونکہ کچھ مخصوص قسم کی تبدیلیاں \"معمولی\" نہیں کہلاتیں۔ یہ متعارض فلٹر اوپر موجود «فعال فلٹر» کے تحت نمایاں کر دیے گئے ہیں۔", + "rcfilters-hideminor-conflicts-typeofchange": "مخصوص قسم کی تبدیلیاں \"معمولی\" نہیں کہلاتیں، اس صورت میں یہ فلٹر درج ذیل «تبدیلی کی نوعیت» فلٹروں سے متعارض ہو جاتا ہے: $1", + "rcfilters-typeofchange-conflicts-hideminor": "اس نوعیت کی تبدیلی والا فلٹر «معمولی ترامیم» والے فلٹر سے متعارض ہو جاتا ہے؛ کیونکہ کچھ مخصوص قسم کی تبدیلیاں \"معمولی\" نہیں کہلاتیں۔", "rcfilters-filtergroup-lastRevision": "تازہ ترین نسخے", + "rcfilters-filter-lastrevision-label": "تازہ ترین نسخہ", "rcfilters-filter-lastrevision-description": "صفحے کی محض حالیہ ترین تبدیلی", "rcfilters-filter-previousrevision-label": "تازہ ترین نسخہ کے سوا", "rcfilters-filter-previousrevision-description": "«تازہ ترین نسخہ» کے سوا تمام تبدیلیاں", "rcfilters-filter-excluded": "مستثنیٰ شدہ", + "rcfilters-tag-prefix-namespace-inverted": ":نہیں $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-view-tags-help-icon-tooltip": "ٹیگ شدہ ترامیم کے متعلق مزید معلومات", + "rcfilters-liveupdates-button": "راست تبدیلیاں", + "rcfilters-liveupdates-button-title-on": "راست تبدیلیاں بند کریں", + "rcfilters-liveupdates-button-title-off": "نئی تبدیلیاں ہوتے ہی دکھائیں", + "rcfilters-watchlist-markseen-button": "تمام تبدیلیوں کو بطور دیدہ نشان زد کریں", "rcfilters-watchlist-edit-watchlist-button": "اپنی زیرنظر صفحات کی فہرست ترمیم کیجیے", "rcfilters-watchlist-showupdated": "تبدیلیوں کے رونما ہونے کے بعد جن صفحات کو آپ نے نہیں دیکھا وہ جلی حرفوں میں ٹھوس علامتوں کے ساتھ نظر آئیں گے۔", "rcfilters-preference-label": "حالیہ تبدیلیوں کا اصلاح شدہ نسخہ چھپائیں", "rcfilters-preference-help": "سنہ 2017ء کے انٹرفیس کو واپس لایا گیا ہے اور تمام آلات کو شامل کیا گیا ہے۔", "rcnotefrom": "ذیل میں $2 سے کی گئی {{PLURAL:$5|تبدیلی|تبدیلیاں}} $1 تک دکھائی جا رہی ہیں۔", + "rclistfromreset": "انتخاب تاریخ کی ترتیب نو", "rclistfrom": "$2، $3ء سے ہونے والی نئی تبدیلیاں دکھائیں", "rcshowhideminor": "معمولی ترامیم $1", "rcshowhideminor-show": "دکھائیں", @@ -1999,6 +2056,7 @@ "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": "حذف کریں", @@ -2241,6 +2299,8 @@ "unblocked-id": "پابندی نمبر $1 سے پابندی ہٹا دی گئی۔", "unblocked-ip": "[[Special:Contributions/$1|$1]] سے پابندی ہٹا دی گئی۔", "blocklist": "ممنوع صارفین", + "autoblocklist": "خودکار پابندیاں", + "autoblocklist-submit": "تلاش", "ipblocklist": "ممنوع صارفین", "ipblocklist-legend": "ممنوع صارف کو تلاش کریں", "blocklist-userblocks": "کھاتے کی پابندیاں چھپائیں", @@ -2572,6 +2632,7 @@ "pageinfo-length": "صفحہ کا حجم (بائٹ میں)", "pageinfo-article-id": "صفحہ کی شناخت", "pageinfo-language": "زبان", + "pageinfo-language-change": "تبدیلی", "pageinfo-content-model": "انداز متن", "pageinfo-content-model-change": "تبدیل کریں", "pageinfo-robot-policy": "روبوں کی فہرست سازی", @@ -2609,6 +2670,7 @@ "pageinfo-category-pages": "تعداد صفحات", "pageinfo-category-subcats": "تعداد ذیلی زمرہ جات", "pageinfo-category-files": "فائلوں کی تعداد", + "pageinfo-user-id": "صارف آئی ڈی", "markaspatrolleddiff": "بطور مراجعت شدہ نشان زد کریں", "markaspatrolledtext": "اس صفحہ کو بطور مراجعت شدہ نشان زد کریں", "markaspatrolledtext-file": "فائل کے اس نسخے کو مراجعت شدہ نشان زد کریں", @@ -2625,6 +2687,7 @@ "patrol-log-header": "ذیل میں مراجعت شدہ ترامیم کا نوشتہ ہے۔", "log-show-hide-patrol": "$1 نوشتہ مراجعت", "log-show-hide-tag": "$1 نوشتہ ٹیگ", + "confirm-markpatrolled-button": "ٹھیک ہے", "deletedrevision": "حذف شدہ پرانی ترمیم $1۔", "filedeleteerror-short": "فائل حذف کاری میں نقص: $1", "filedeleteerror-long": "فائل حذف کرنے کے دوران میں نقص واقع ہوا:\n\n$1", @@ -2662,8 +2725,10 @@ "newimages-summary": "اس خصوصی صفحہ میں تازہ ترین اپلوڈ شدہ فائلوں کی فہرست موجود ہے۔", "newimages-legend": "مقطار", "newimages-label": "فائل کا نام (یا اس کا جزو):", + "newimages-user": "آئی پی پتہ یا صارف نام", "newimages-showbots": "روبہ جات کے ذریعہ اپلوڈ کردہ فائلیں دکھائیں", "newimages-hidepatrolled": "مراجعت شدہ اپلوڈ چھپائیں", + "newimages-mediatype": "میڈیا قسم:", "noimages": "دیکھنے کیلئے کچھ نہیں ہے۔", "ilsubmit": "تلاش", "bydate": "بلحاظ تاریخ", @@ -3186,7 +3251,7 @@ "version-license-not-found": "اس توسیع کے اجازت نامے سے متعلق تفصیلی معلومات دستیاب نہین ہوئی۔", "version-credits-title": "$1 کے انتسابات", "version-credits-not-found": "اس توسیع کے انتسابات سے متعلق تفصیلی معلومات دستیاب نہین ہوئی۔", - "version-poweredby-credits": "پیش نظر ویکی [https://www.mediawiki.org/ میڈیاویکی] کی تقویت یافتہ ہے، جملہ حقوق محفوظ © 2001-$1 $2 بنام", + "version-poweredby-credits": "پیش نظر ویکی [https://www.mediawiki.org/ میڈیاویکی سافٹ ویئر] کی تقویت یافتہ ہے۔ جملہ حقوق محفوظ © 2001-$1 $2", "version-poweredby-others": "دیگر", "version-poweredby-translators": "translatewiki.net کے مترجمین", "version-credits-summary": "ہم درج ذیل اشخاص کی [[Special:Version|میڈیاویکی]] کی تعمیر میں شرکت کرنے کا اعتراف کرتے ہیں۔", @@ -3197,6 +3262,8 @@ "version-entrypoints": "یوآرایل کا نقطہ آمد", "version-entrypoints-header-entrypoint": "نقطہ آمد", "version-entrypoints-header-url": "یوآرایل", + "version-entrypoints-articlepath": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgArticlePath راہ مضمون]", + "version-entrypoints-scriptpath": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgScriptPath راہ اسکرپٹ]", "version-libraries": "نصب شدہ کتب خانے", "version-libraries-library": "کتب خانہ", "version-libraries-version": "نسخہ", @@ -3224,6 +3291,7 @@ "fileduplicatesearch-noresults": "«$1» کے نام سے کوئی فائل نہیں مل سکی۔", "specialpages": "خصوصی صفحات", "specialpages-note-top": "وضاحت", + "specialpages-note-restricted": "* عام خصوصی صفحات\n* مقید خصوصی صفحات", "specialpages-group-maintenance": "نگہداشت کی رپورٹیں", "specialpages-group-other": "دیگر خصوصی صفحات", "specialpages-group-login": "کھاتہ کھولیں یا اندراج کریں", @@ -3342,6 +3410,8 @@ "compare-invalid-title": "آپ کا اختصاصی عنوان غلط ہے۔", "compare-title-not-exists": "آپ کا اختصاصی عنوان موجود نہیں۔", "compare-revision-not-exists": "آپ کی اختصاصی نظرثانی موجود نہیں۔", + "diff-form": "فرق", + "permanentlink": "مستقل ربط", "dberr-problems": "افسوس! اس ویب سائٹ کو تکنیکی مشکلات کا سامنا ہے۔", "dberr-again": "چند منٹ انتظار کے بعد دوبارہ کوشش کریں۔", "dberr-info": "(ڈیٹا بیس تک رسائی نہیں مل سکی: $1)", @@ -3518,6 +3588,7 @@ "pagelang-language": "زبان", "pagelang-use-default": "طے شدہ زبان استعمال کرتا ہے", "pagelang-select-lang": "زبان کا انتخاب کریں", + "pagelang-reason": "وجہ", "pagelang-submit": "ٹھیک ہے", "right-pagelang": "صفحے کی زبان تبدیل کریں", "action-pagelang": "صفحے کی زبان تبدیل کریں", @@ -3583,8 +3654,11 @@ "special-characters-title-emdash": "خط فاصل کشیدہ", "special-characters-title-minus": "علامت وضع", "mw-widgets-dateinput-no-date": "کسی تاریخ کو منتخب نہیں کیا گیا", + "mw-widgets-mediasearch-noresults": "مطلوبہ نتائج نہیں ملے۔", "mw-widgets-titleinput-description-new-page": "صفحہ ابھی تک موجود نہیں", "mw-widgets-titleinput-description-redirect": "$1 کا رجوع مکرر", + "mw-widgets-categoryselector-add-category-placeholder": "زمرہ شامل کریں۔ ۔ ۔", + "mw-widgets-usersmultiselect-placeholder": "مزید شامل کریں۔۔۔", "date-range-from": "تاریخ از:", "date-range-to": "تا:", "sessionmanager-tie": "تصدیقی درخواست کی متعدد قسموں کو یکجا نہیں کیا جا سکتا: $1", @@ -3717,5 +3791,6 @@ "usercssispublic": "براہ کرم اس بات کا خیال رکھیں کہ سی ایس ایس کے ذیلی صفحات میں خفیہ معلومات نہیں رکھی جانی چاہئیں کیونکہ ان صفحات کو دیگر صارفین بھی دیکھ سکتے ہیں۔", "restrictionsfield-badip": "آئی پی پتا یا رینج نادرست ہے: $1", "restrictionsfield-label": "آئی پی کی اجازت یافتہ رینج:", - "restrictionsfield-help": "فی سطر ایک آئی پی پتا یا سی آئی ڈی آر رینج۔ تمام کو فعال کرنے کے لیے
    0.0.0.0/0
    ::/0 استعمال کریں" + "restrictionsfield-help": "فی سطر ایک آئی پی پتا یا سی آئی ڈی آر رینج۔ تمام کو فعال کرنے کے لیے
    0.0.0.0/0
    ::/0 استعمال کریں", + "pagedata-title": "صفحے کا ڈیٹا" } diff --git a/languages/i18n/vi.json b/languages/i18n/vi.json index 6fdd915d25..87a44253cc 100644 --- a/languages/i18n/vi.json +++ b/languages/i18n/vi.json @@ -1311,7 +1311,7 @@ "recentchanges-submit": "Xem", "rcfilters-tag-remove": "Loại bỏ “$1”", "rcfilters-legend-heading": "Danh sách chữ viết tắt:", - "rcfilters-other-review-tools": "Công cụ duyệt khác", + "rcfilters-other-review-tools": "Công cụ duyệt khác", "rcfilters-group-results-by-page": "Nhóm kết quả theo trang", "rcfilters-grouping-title": "Nhóm", "rcfilters-activefilters": "Bộ lọc hiện hành", diff --git a/languages/i18n/yi.json b/languages/i18n/yi.json index 0ab434bf56..f51559988f 100644 --- a/languages/i18n/yi.json +++ b/languages/i18n/yi.json @@ -1254,7 +1254,7 @@ "recentchanges-legend-plusminus": "(''±123'')", "recentchanges-submit": "ווייזן", "rcfilters-legend-heading": "ליסטע פון ראשי תיבות:", - "rcfilters-other-review-tools": "אנדערע רעצענזיע ווערקצייג", + "rcfilters-other-review-tools": "אנדערע רעצענזיע ווערקצייג", "rcfilters-activefilters": "אַקטיווע פילטערס", "rcfilters-advancedfilters": "פֿארגעשריטענע פֿילטערס", "rcfilters-limit-title": "ענדערונגען צו ווייזן", diff --git a/languages/i18n/yue.json b/languages/i18n/yue.json index 849397f541..3756ee1a26 100644 --- a/languages/i18n/yue.json +++ b/languages/i18n/yue.json @@ -648,7 +648,7 @@ "userpage-userdoesnotexist": "用戶戶口\"$1\"重未開。請響䦒/編輯呢版之前先檢查一下。", "userpage-userdoesnotexist-view": "用戶戶口\"$1\"重未開。", "blocked-notice-logextract": "呢位用戶而家被封鎖緊。\n下面有最近嘅封鎖紀錄以供參考:", - "clearyourcache": "注意:喺儲存之後,你可能要先略過你嘅瀏覽器快取去睇到更改。\n*Firefox / Safari: 㩒住Shift掣再撳重新載入,又或者㩒Ctrl-F5或者Ctrl-R(喺Mac㩒Command-R掣);\n*Google Chrome: 㩒Ctrl-Shift-R(喺Mac㩒Command-R掣);\n*Internet Explorer: 㩒住Ctrl掣再撳重新整理,又或者㩒Ctrl-F5掣;\n*Opera: 去 選單 → 設定 (喺 Mac 係 Opera → 偏好設定) 跟住再到 隱私 & 安全性 → 清除瀏覽資料 → 已快取的圖片與檔案。", + "clearyourcache": "注意:喺儲存之後,你可能要先略過你嘅瀏覽器快取去睇到更改。\n* Firefox / Safari: 㩒住Shift掣再撳重新載入,又或者㩒Ctrl-F5或者Ctrl-R(喺Mac㩒Command-R掣);\n* Google Chrome: 㩒Ctrl-Shift-R(喺Mac㩒Command-R掣);\n* Internet Explorer: 㩒住Ctrl掣再撳重新整理,又或者㩒Ctrl-F5掣;\n* Opera: 去 選單 → 設定 (喺 Mac 係 Opera → 偏好設定) 跟住再到 隱私 & 安全性 → 清除瀏覽資料 → 已快取的圖片與檔案。", "usercssyoucanpreview": "'''提示:'''響儲存前,用「{{int:showpreview}}」個掣嚟測試你嘅新CSS。", "userjsyoucanpreview": "'''提示:'''響儲存前,用「{{int:showpreview}}」個掣嚟測試你嘅新JavaScript。", "usercsspreview": "'''記住你而家只係預覽緊你嘅用戶CSS樣式表。'''\n'''佢嘅內容重未儲存!'''", diff --git a/languages/i18n/zh-hans.json b/languages/i18n/zh-hans.json index a38762247b..2c161b82c0 100644 --- a/languages/i18n/zh-hans.json +++ b/languages/i18n/zh-hans.json @@ -127,7 +127,7 @@ "tog-shownumberswatching": "显示监视用户数", "tog-oldsig": "您现有的签名:", "tog-fancysig": "将签名视为维基文本(不自动生成链接)", - "tog-uselivepreview": "显示预览而不加载页面", + "tog-uselivepreview": "显示预览而不重新加载页面", "tog-forceeditsummary": "未输入编辑摘要时提醒我", "tog-watchlisthideown": "隐藏监视列表中的我的编辑", "tog-watchlisthidebots": "隐藏监视列表中的机器人编辑", @@ -704,7 +704,7 @@ "anonpreviewwarning": "您没有登录。保存将您的IP地址记录至此页面的编辑历史中。", "missingsummary": "提示:您没有提供编辑摘要。如果您再次点击“$1”,您的编辑将不带摘要保存。", "selfredirect": "警告:您正在将此页面重定向至它自己。您可能指定了错误的重定向目标,或者您正在编辑错误的页面。如果您再次点击“$1”,重定向仍将被创建。", - "missingcommenttext": "请在下面输入评论。", + "missingcommenttext": "请输入一段评论。", "missingcommentheader": "提示:您还没有为此评论提供一个标题。如果您再次点击“$1”,您的编辑将不带标题保存。", "summary-preview": "编辑摘要的预览:", "subject-preview": "主题的预览:", @@ -1094,7 +1094,7 @@ "timezoneregion-europe": "欧洲", "timezoneregion-indian": "印度洋", "timezoneregion-pacific": "太平洋", - "allowemail": "启用来自其他用户的电子邮件", + "allowemail": "允许其他用户向我发送电子邮件", "email-blacklist-label": "禁止这些用户给我发送电子邮件:", "prefs-searchoptions": "搜索", "prefs-namespaces": "名字空间", @@ -1122,7 +1122,7 @@ "gender-unknown": "当提及您时,软件将尽可能使用性别中性的词法", "gender-male": "他", "gender-female": "她", - "prefs-help-gender": "该设置为可选项。系统会使用您选择的方式来称呼您,对他人提及您时也会使用适当语法称呼。该信息会公开。", + "prefs-help-gender": "该设置为可选项。软件会使用您选择的方式来称呼您,对他人提及您时也会使用适当语法称呼。该信息会公开。", "email": "电子邮件", "prefs-help-realname": "真实姓名是选填项目。如果提供,它可能用于署名您的贡献。", "prefs-help-email": "电子邮件地址是选填项,但是当您忘记您的密码要重置密码时,需要该信息。", @@ -1375,7 +1375,7 @@ "recentchanges-submit": "显示", "rcfilters-tag-remove": "移除“$1”", "rcfilters-legend-heading": "缩写列表:", - "rcfilters-other-review-tools": "其他复核工具", + "rcfilters-other-review-tools": "其他复核工具", "rcfilters-group-results-by-page": "按页面分组结果", "rcfilters-grouping-title": "分组", "rcfilters-activefilters": "激活的过滤器", @@ -1388,7 +1388,7 @@ "rcfilters-days-show-hours": "$1{{PLURAL:$1|小时}}", "rcfilters-highlighted-filters-list": "已高亮:$1", "rcfilters-quickfilters": "已保存过滤器", - "rcfilters-quickfilters-placeholder-title": "尚未保存链接", + "rcfilters-quickfilters-placeholder-title": "尚未保存过滤器", "rcfilters-quickfilters-placeholder-description": "要保存您的过滤器设置并供日后再利用,点击下方激活的过滤器区域内的书签图标。", "rcfilters-savedqueries-defaultlabel": "保存的过滤器", "rcfilters-savedqueries-rename": "重命名", @@ -1404,7 +1404,7 @@ "rcfilters-restore-default-filters": "恢复默认过滤器", "rcfilters-clear-all-filters": "清空所有过滤器", "rcfilters-show-new-changes": "显示最新更改", - "rcfilters-search-placeholder": "过滤器最近更改(浏览或开始输入)", + "rcfilters-search-placeholder": "过滤最近更改(浏览或开始输入)", "rcfilters-invalid-filter": "无效过滤器", "rcfilters-empty-filter": "没有激活的过滤器。已显示所有贡献。", "rcfilters-filterlist-title": "过滤器", @@ -1422,17 +1422,17 @@ "rcfilters-filter-editsbyself-description": "您自己的贡献。", "rcfilters-filter-editsbyother-label": "他人更改", "rcfilters-filter-editsbyother-description": "除了您的更改以外的所有更改。", - "rcfilters-filtergroup-userExpLevel": "用户注册及体验", + "rcfilters-filtergroup-userExpLevel": "用户注册及经验", "rcfilters-filter-user-experience-level-registered-label": "已注册", "rcfilters-filter-user-experience-level-registered-description": "登录编辑者。", "rcfilters-filter-user-experience-level-unregistered-label": "未注册", "rcfilters-filter-user-experience-level-unregistered-description": "未登录的编辑者。", "rcfilters-filter-user-experience-level-newcomer-label": "新手", - "rcfilters-filter-user-experience-level-newcomer-description": "少于10次编辑和4天活跃。", + "rcfilters-filter-user-experience-level-newcomer-description": "少于10次编辑或4天活跃的注册编辑者。", "rcfilters-filter-user-experience-level-learner-label": "初学者", "rcfilters-filter-user-experience-level-learner-description": "比“新手”拥有更多经验,但少于“有经验的用户”。", "rcfilters-filter-user-experience-level-experienced-label": "有经验的用户", - "rcfilters-filter-user-experience-level-experienced-description": "超过30天活跃和500次编辑。", + "rcfilters-filter-user-experience-level-experienced-description": "超过500次编辑和30天活跃的注册编辑者。", "rcfilters-filtergroup-automated": "自动化贡献者", "rcfilters-filter-bots-label": "机器人", "rcfilters-filter-bots-description": "由自动化工具做出的编辑。", @@ -1623,7 +1623,7 @@ "uploaded-script-svg": "在上传的SVG文件中找到可编写脚本的元素“$1”。", "uploaded-hostile-svg": "在上传的SVG文件中的样式元素中找到不安全CSS。", "uploaded-event-handler-on-svg": "在SVG文件中不允许设置event-handler属性$1=\"$2\"。", - "uploaded-href-attribute-svg": "SVG文件中的href属性只允许链接至http://或https://目标,已找到<$1 $2=\"$3\">。", + "uploaded-href-attribute-svg": "
    元素只能链接(href)到 data:(嵌入文件),http:// 或 https:// ,或片段(#,同一文档中)。对于其他元素,如,只允许链接data:和片段。 在导出SVG时尝试嵌入图像。发现<$1 $2=\"$3\">。", "uploaded-href-unsafe-target-svg": "在上传的SVG文件中找到了至不安全数据的href:URI目标<$1 $2=\"$3\">。", "uploaded-animate-svg": "在上传的SVG文件找到“animate”标签,它可能会更改href,使用“from”属性<$1 $2=\"$3\">。", "uploaded-setting-event-handler-svg": "设置event-handler属性时受阻,在上传的SVG文件中找到<$1 $2=\"$3\">。", diff --git a/languages/i18n/zh-hant.json b/languages/i18n/zh-hant.json index 4a73cab289..335a2368c6 100644 --- a/languages/i18n/zh-hant.json +++ b/languages/i18n/zh-hant.json @@ -89,7 +89,8 @@ "Wwycheuk", "Corainn", "WhitePhosphorus", - "Translatealcd" + "Translatealcd", + "蘭斯特" ] }, "tog-underline": "底線標示連結:", @@ -119,13 +120,14 @@ "tog-shownumberswatching": "顯示監視使用者數量", "tog-oldsig": "您現有的簽名:", "tog-fancysig": "將簽名視為 Wikitext 語言 (不自動產生連結)", - "tog-uselivepreview": "使用即時預覽", + "tog-uselivepreview": "顯示預覽而不重新載入頁面", "tog-forceeditsummary": "未填寫編輯摘要時提示我", "tog-watchlisthideown": "隱藏監視清單中我自己的編輯", "tog-watchlisthidebots": "隱藏監視清單中機器人的編輯", "tog-watchlisthideminor": "隱藏監視清單中的次要修訂", "tog-watchlisthideliu": "隱藏監視清單中已登入使用者的編輯", - "tog-watchlistreloadautomatically": "查詢條件變更時自動重新讀取監視清單 (需要使用 JavaScript)", + "tog-watchlistreloadautomatically": "查詢條件變更時自動重新讀取監視清單(需要使用 JavaScript)", + "tog-watchlistunwatchlinks": "添加監視列表條目的直接(取消)監視鏈接(需要JavaScript才能打開功能)", "tog-watchlisthideanons": "隱藏監視清單中匿名使用者的編輯", "tog-watchlisthidepatrolled": "隱藏監視清單中已巡查的編輯", "tog-watchlisthidecategorization": "隱藏頁面分類", @@ -693,7 +695,7 @@ "anonpreviewwarning": "您尚未登入。儲存頁面會將您的 IP 位址記錄在此頁面的編輯歷史中。", "missingsummary": "提醒:您未填寫編輯摘要。\n若您再點選 \"$1\" 一次,將略過摘要直接儲存您的編輯。", "selfredirect": "警告: 您正建立連結至自己的重新導向。\n您可能指定錯要重新導向的目標頁面或者編輯錯頁面。\n若您再點選 \"$1\" 一次,將會繼續建立重新導向。", - "missingcommenttext": "請在下方輸入評論。", + "missingcommenttext": "請輸入一段評論。", "missingcommentheader": "提醒:您未填寫此評論的主旨。\n若您再點選 \"$1\" 一次,將略過主旨/標題直接儲存您的評論。", "summary-preview": "編輯摘要預覽:", "subject-preview": "預覽主旨:", @@ -747,6 +749,7 @@ "yourtext": "您的文字", "storedversion": "已儲存修訂", "editingold": "警告:您目前正編輯頁面的舊修訂版本。\n若您儲存,在此修訂之後變更的任何內容將會遺失。", + "unicode-support-fail": "看起來您的瀏覽器不支援Unicode。需要Unicode才能編輯頁面,所以您的編輯無法儲存。", "yourdiff": "差異", "copyrightwarning": "請注意,所有於 {{SITENAME}} 所做的貢獻會依據 $2 授權條款發佈 (詳情請見 $1)。\n若您不希望您的著作被任意修改與散佈,請勿在此發表文章。
    \n您同時向我們保証在此的著作內容是您自行撰寫,或是取自不受版權保護的公開領域或自由資源。\n請勿在未經授權的情況下發表文章!", "copyrightwarning2": "請注意,所有於 {{SITENAME}} 所做的貢獻可能會被其他貢獻者編輯,修改或刪除。\n若您不希望您的著作被任意修改與散佈,請勿在此發表文章。
    \n您同時向我們保証在此的著作內容是您自行撰寫,或是取自不受版權保護的公開領域或自由資源 (詳情請見 $1)。\n請勿在未經授權的情況下發表文章!", @@ -774,7 +777,7 @@ "contentmodelediterror": "您無法編輯此修訂,因此修訂使用的內容模型為 $1 與目前使用的頁面內容模型 $2 不同。", "recreate-moveddeleted-warn": "警告:您正重新建立先前已刪除的頁面。\n\n您應考慮是否繼續編輯此頁。\n在此提供刪除與移動日誌方便作為參考:", "moveddeleted-notice": "此頁面已刪除。\n下方提供此頁面的刪除、保護和移動日誌以便參考。", - "moveddeleted-notice-recent": "抱歉,此頁面最近被刪除 (24 小時內)。\n以下提供此頁面的刪除與移動日誌做為參考。", + "moveddeleted-notice-recent": "對不起,此頁面剛剛被刪除(在最近24小時內)。頁面的刪除、保護和移動日誌在下方提供以供參考。", "log-fulllog": "檢視完整日誌", "edit-hook-aborted": "編輯已被 Hook 中止。\n且未回應無任何說明。", "edit-gone-missing": "無法更新頁面。\n該頁面可能已被刪除。", @@ -898,7 +901,7 @@ "revdelete-hide-comment": "編輯摘要", "revdelete-hide-user": "編輯者的使用者名稱/IP 位址", "revdelete-hide-restricted": "禁止顯示資料給管理者及其他使用者", - "revdelete-radio-same": "(不更改)", + "revdelete-radio-same": "(不作變更)", "revdelete-radio-set": "隱藏", "revdelete-radio-unset": "顯示", "revdelete-suppress": "禁止向管理者及其他使用者顯示資料", @@ -1081,7 +1084,8 @@ "timezoneregion-europe": "歐洲", "timezoneregion-indian": "印度洋", "timezoneregion-pacific": "太平洋", - "allowemail": "開啟來自其他使用者的郵件通知功能", + "allowemail": "允許其他使用者向我傳送電子郵件", + "email-blacklist-label": "禁止這些使用者向我傳送電子郵件:", "prefs-searchoptions": "搜尋", "prefs-namespaces": "命名空間", "default": "預設", @@ -1358,8 +1362,9 @@ "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (請參考[[Special:NewPages|新頁面]])", "recentchanges-legend-plusminus": "(±123)", "recentchanges-submit": "顯示", + "rcfilters-tag-remove": "移除「$1」", "rcfilters-legend-heading": "縮寫列表:", - "rcfilters-other-review-tools": "其他檢閱工具", + "rcfilters-other-review-tools": "其他檢閱工具", "rcfilters-group-results-by-page": "按頁面分組結果", "rcfilters-grouping-title": "分組", "rcfilters-activefilters": "使用中的過濾條件", @@ -1368,8 +1373,11 @@ "rcfilters-limit-shownum": "顯示最近{{PLURAL:$1|$1次更改}}", "rcfilters-days-title": "最近幾天", "rcfilters-hours-title": "最近幾個小時", + "rcfilters-days-show-days": "$1{{PLURAL:$1|天}}", + "rcfilters-days-show-hours": "$1{{PLURAL:$1|小時}}", + "rcfilters-highlighted-filters-list": "已明顯標示:$1", "rcfilters-quickfilters": "儲存的查詢條件", - "rcfilters-quickfilters-placeholder-title": "尚未儲存任何連結", + "rcfilters-quickfilters-placeholder-title": "尚未保存過濾器", "rcfilters-quickfilters-placeholder-description": "要儲存您的篩選器設定並供以後重新使用,點選下方啟用的篩選器區域之內的書籤圖示。", "rcfilters-savedqueries-defaultlabel": "已儲存的查詢條件", "rcfilters-savedqueries-rename": "重新命名", @@ -1379,17 +1387,18 @@ "rcfilters-savedqueries-new-name-label": "名稱", "rcfilters-savedqueries-new-name-placeholder": "說明查詢條件的用途", "rcfilters-savedqueries-apply-label": "建立查詢條件", + "rcfilters-savedqueries-apply-and-setdefault-label": "建立預設過濾器", "rcfilters-savedqueries-cancel-label": "取消", "rcfilters-savedqueries-add-new-title": "儲存目前的過濾器設定", "rcfilters-restore-default-filters": "還原預設過濾條件", "rcfilters-clear-all-filters": "清除所有過濾條件", "rcfilters-show-new-changes": "顯示最新更改", - "rcfilters-search-placeholder": "過濾條件近期變更 (瀏覽或開始輸入)", + "rcfilters-search-placeholder": "過濾近期變更(瀏覽或開始輸入)", "rcfilters-invalid-filter": "無效的過濾條件", "rcfilters-empty-filter": "沒有使用中的過濾條件。已顯示所有的貢獻。", "rcfilters-filterlist-title": "過濾條件", "rcfilters-filterlist-whatsthis": "這是什麼?", - "rcfilters-filterlist-feedbacklink": "提供新 (測試版) 過濾條件的意見回饋", + "rcfilters-filterlist-feedbacklink": "告訴我們您對這些(新)過濾工具有什麼想法", "rcfilters-highlightbutton-title": "明顯標示結果", "rcfilters-highlightmenu-title": "選擇顏色", "rcfilters-highlightmenu-help": "選擇要明顯標示此屬性的色彩", @@ -1402,17 +1411,17 @@ "rcfilters-filter-editsbyself-description": "您的貢獻", "rcfilters-filter-editsbyother-label": "其他人的更改", "rcfilters-filter-editsbyother-description": "除了您以外的所有更改", - "rcfilters-filtergroup-userExpLevel": "經驗等級 (僅限已註冊的使用者)", + "rcfilters-filtergroup-userExpLevel": "使用者註冊及經驗", "rcfilters-filter-user-experience-level-registered-label": "已註冊", - "rcfilters-filter-user-experience-level-registered-description": "已登入的編輯者。", + "rcfilters-filter-user-experience-level-registered-description": "已登入編輯者。", "rcfilters-filter-user-experience-level-unregistered-label": "未註冊", "rcfilters-filter-user-experience-level-unregistered-description": "未有登入的編輯者。", "rcfilters-filter-user-experience-level-newcomer-label": "新手", - "rcfilters-filter-user-experience-level-newcomer-description": "編輯數低於 10 次,活躍低於 4 天。", + "rcfilters-filter-user-experience-level-newcomer-description": "少於10次編輯或4天活躍的註冊編輯者。", "rcfilters-filter-user-experience-level-learner-label": "初學者", "rcfilters-filter-user-experience-level-learner-description": "比「新手」資深,但比「有經驗的使用者」資淺。", "rcfilters-filter-user-experience-level-experienced-label": "有經驗的使用者", - "rcfilters-filter-user-experience-level-experienced-description": "活躍超過 30 天,編輯超過 500 次。", + "rcfilters-filter-user-experience-level-experienced-description": "活躍超過30天且編輯超過500次的註冊編輯者。", "rcfilters-filtergroup-automated": "自動化貢獻", "rcfilters-filter-bots-label": "機器人", "rcfilters-filter-bots-description": "由自動化工具所做的編輯。", @@ -1436,9 +1445,9 @@ "rcfilters-filter-watchlist-notwatched-label": "不在監視清單內", "rcfilters-filter-watchlist-notwatched-description": "除了更改您的監視頁面以外的任何事項。", "rcfilters-filtergroup-watchlistactivity": "監視列表活動", - "rcfilters-filter-watchlistactivity-unseen-label": "未查看更改", + "rcfilters-filter-watchlistactivity-unseen-label": "未讀變更", "rcfilters-filter-watchlistactivity-unseen-description": "自從更改發生以來,對您沒有訪問的頁面做出的更改。", - "rcfilters-filter-watchlistactivity-seen-label": "已查看更改", + "rcfilters-filter-watchlistactivity-seen-label": "已讀變更", "rcfilters-filter-watchlistactivity-seen-description": "自從更改發生以來,對您已訪問的頁面做出的更改。", "rcfilters-filtergroup-changetype": "變更類型", "rcfilters-filter-pageedits-label": "頁面編輯", @@ -1452,20 +1461,26 @@ "rcfilters-hideminor-conflicts-typeofchange-global": "\"次要編輯\" 過濾條件與一個或多個變更類型過濾條件衝突,因為某些變更類型無法指定為 \"次要\"。衝突的過濾條件已在上方使用的過濾條件區域中標示。", "rcfilters-hideminor-conflicts-typeofchange": "某些變更類型無法指定為 \"次要\",所以此過濾條件與以下變更類型的過濾條件衝突:$1", "rcfilters-typeofchange-conflicts-hideminor": "此變更類型過濾條件與 \"次要編輯\" 過濾條件衝突,某些變更類型無法指定為 \"次要\"。", - "rcfilters-filtergroup-lastRevision": "最新版本", - "rcfilters-filter-lastrevision-label": "最新版本", - "rcfilters-filter-lastrevision-description": "對頁面最近做的更改。", - "rcfilters-filter-previousrevision-label": "早期版本", - "rcfilters-filter-previousrevision-description": "所有除了頁面近期變更的變更。", + "rcfilters-filtergroup-lastRevision": "最新修訂版本", + "rcfilters-filter-lastrevision-label": "最新修訂版本", + "rcfilters-filter-lastrevision-description": "只包括對頁面的近期變更。", + "rcfilters-filter-previousrevision-label": "不是最新修訂版本", + "rcfilters-filter-previousrevision-description": "所有不是「最新修訂版本」的更改。", "rcfilters-filter-excluded": "已排除", "rcfilters-tag-prefix-namespace-inverted": ":不是$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-tags-help-icon-tooltip": "了解更多關於標記編輯的資訊", "rcfilters-liveupdates-button": "實時更新", + "rcfilters-liveupdates-button-title-on": "關閉實時更新", "rcfilters-watchlist-markseen-button": "標記所有更改為已查看", "rcfilters-watchlist-edit-watchlist-button": "編輯您的監視頁面列表", "rcfilters-watchlist-showupdated": "自更改發生以來,對您尚未訪問的頁面做出的更改以粗體顯示,並帶有實心圓形標記。", + "rcfilters-preference-help": "返回到2017年介面重新設計版,並重新新增這以後增加的工具。", "rcnotefrom": "以下{{PLURAL:$5|為}}自 $3 $4 以來的變更 (最多顯示 $1 筆)。", "rclistfromreset": "重設日期選擇", "rclistfrom": "顯示自 $3 $2 以來的新變更", @@ -1522,6 +1537,7 @@ "uploadbtn": "上傳檔案", "reuploaddesc": "取消上傳並返回上傳表單", "upload-tryagain": "送出修改後的檔案描述", + "upload-tryagain-nostash": "提交重新上傳的檔案並修改說明", "uploadnologin": "尚未登入", "uploadnologintext": "您必須先 $1 才能上傳檔案。", "upload_directory_missing": "缺少上傳目錄 ($1) 且網頁伺服器沒有權限建立。", @@ -1581,6 +1597,7 @@ "file-deleted-duplicate-notitle": "與此檔案完全相同的檔案在先前已被刪除,且禁止顯示該標題。\n您在重新上傳前,應請求有權力檢視隱藏檔案的使用者重新審查。", "uploadwarning": "上傳警告", "uploadwarning-text": "請修改以下的檔案描述並重試。", + "uploadwarning-text-nostash": "請重新上傳檔案,在下方修改說明並重試。", "savefile": "儲存檔案", "uploaddisabled": "已停用上傳。", "copyuploaddisabled": "已停止使用 URL 上傳。", @@ -1742,7 +1759,7 @@ "listfiles_size": "大小", "listfiles_description": "描述", "listfiles_count": "版本", - "listfiles-show-all": "包含圖片的舊版本", + "listfiles-show-all": "包括檔案的舊版本", "listfiles-latestversion": "目前版本", "listfiles-latestversion-yes": "是", "listfiles-latestversion-no": "否", @@ -1845,6 +1862,8 @@ "pageswithprop-legend": "擁有頁面屬性的頁面", "pageswithprop-text": "此頁面用來查詢使用了指定屬性的頁面。", "pageswithprop-prop": "屬性名稱:", + "pageswithprop-reverse": "反向排序", + "pageswithprop-sortbyvalue": "按屬性值排序", "pageswithprop-submit": "執行", "pageswithprop-prophidden-long": "已隱藏過長的屬性值 ($1)", "pageswithprop-prophidden-binary": "已隱藏二進位屬性值 ($1)", @@ -2181,6 +2200,7 @@ "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{{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": "刪除頁面", @@ -2209,6 +2229,7 @@ "delete-warning-toobig": "此頁面含有大量的編輯歷史,超過 $1 次修訂。\n刪除該頁面可能會中斷 {{SITENAME}} 的資料庫運作;\n請小心執行此動作。", "deleteprotected": "此頁面已受保護,您無法刪除此頁面。", "deleting-backlinks-warning": "警告:您正要刪除的頁面有[[Special:WhatLinksHere/{{FULLPAGENAME}}|其他頁面]]連結或引用。", + "deleting-subpages-warning": "警告:您要刪除的頁面有[[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|$1個子頁面|51=超過50個子頁面}}]]。", "rollback": "復原編輯", "rollbacklink": "還原", "rollbacklinkcount": "還原 $1 次編輯", @@ -2328,6 +2349,7 @@ "undelete-search-title": "搜尋已刪除頁面", "undelete-search-box": "搜尋已刪除的頁面", "undelete-search-prefix": "顯示頁面開始自:", + "undelete-search-full": "顯示頁面標題包含:", "undelete-search-submit": "搜尋", "undelete-no-results": "刪除記錄裡沒有符合的頁面。", "undelete-filename-mismatch": "無法取消刪除時間為 $1 的檔案修訂:檔案名稱不符。", @@ -2374,6 +2396,7 @@ "sp-contributions-newonly": "只顯示建立頁面的編輯", "sp-contributions-hideminor": "隱藏次要編輯", "sp-contributions-submit": "搜尋", + "sp-contributions-outofrange": "無法顯示任何結果。請求的IP段大於CIDR限制/$1。", "whatlinkshere": "連結至此的頁面", "whatlinkshere-title": "連結至「$1」的頁面", "whatlinkshere-page": "頁面:", @@ -2497,6 +2520,7 @@ "ipb_blocked_as_range": "錯誤:IP 位址 $1 並不是直接被封鎖,因此無法直接解除封鎖。\n此 IP 位址在 $2 的封鎖範圍之中,您可以解決此範圍的封鎖。", "ip_range_invalid": "無效的 IP 範圍。", "ip_range_toolarge": "不允許封鎖範圍大於 /$1。", + "ip_range_exceeded": "IP段超過其最大範圍。允許的範圍:/$1。", "proxyblocker": "代理伺服器封鎖器", "proxyblockreason": "因您的 IP 位址是開放代理伺服器,已被封鎖。\n請聯絡您的網路服務供應商或您所在組織的技術支援,告知他們此嚴重的安全性問題。", "sorbsreason": "您的 IP 位址在 {{SITENAME}} 使用的 DNSBL 列為開放代理伺服器。", @@ -2566,7 +2590,7 @@ "delete_and_move_text": "目標頁面 \"[[:$1]]\" 已存在。\n您是否要刪除該頁面以完成移動?", "delete_and_move_confirm": "是的,刪除該頁面", "delete_and_move_reason": "已刪除讓來自 [[$1]] 頁面可移動", - "selfmove": "原始標題與目標標題相同,無法移動至自身頁面。", + "selfmove": "標題相同;無法移動頁面到自己本身。", "immobile-source-namespace": "無法移動在命名空間 \"$1\" 中的頁面", "immobile-target-namespace": "無法移動頁面至命名空間 \"$1\"", "immobile-target-namespace-iw": "移動頁面不可使用 Interwiki 連結做為目標。", @@ -3444,6 +3468,7 @@ "fileduplicatesearch-noresults": "查無名稱為 \"$1\" 的檔案。", "specialpages": "特殊頁面", "specialpages-note-top": "說明", + "specialpages-note-restricted": "* 普通特殊頁面。\n* 受限特殊頁面。", "specialpages-group-maintenance": "維護報表", "specialpages-group-other": "其它特殊頁面", "specialpages-group-login": "登入 / 建立帳號", @@ -3565,8 +3590,10 @@ "diff-form": "差異", "diff-form-oldid": "舊修訂版本ID(可選)", "diff-form-revid": "差異的修訂版本ID", + "diff-form-submit": "顯示差異", "permanentlink": "固定連結", "permanentlink-revid": "修訂版本ID", + "permanentlink-submit": "前往修訂版本", "dberr-problems": "抱歉!這個網站出現了一些技術上的問題。", "dberr-again": "請稍後數分鐘後再試。", "dberr-info": "(無法存取資料庫:$1)", diff --git a/languages/messages/MessagesKo.php b/languages/messages/MessagesKo.php index 3ac7779fb4..3146a36b5e 100644 --- a/languages/messages/MessagesKo.php +++ b/languages/messages/MessagesKo.php @@ -142,7 +142,7 @@ $specialPageAliases = [ 'Preferences' => [ '환경설정' ], 'Prefixindex' => [ '접두어찾기' ], 'Protectedpages' => [ '보호된문서' ], - 'Protectedtitles' => [ '만들기보호된문서', '생성보호된문서' ], + 'Protectedtitles' => [ '생성보호된문서', '만들기보호된문서' ], 'Randompage' => [ '임의문서' ], 'RandomInCategory' => [ '분류안의임의문서' ], 'Randomredirect' => [ '임의넘겨주기' ], @@ -165,7 +165,7 @@ $specialPageAliases = [ 'Uncategorizedpages' => [ '분류안된문서' ], 'Uncategorizedtemplates' => [ '분류안된틀' ], 'Undelete' => [ '삭제취소', '삭제된문서' ], - 'Unlockdb' => [ 'DB잠금취소', 'DB잠금해제' ], + 'Unlockdb' => [ 'DB잠금해제', 'DB잠금취소' ], 'Unusedcategories' => [ '안쓰는분류', '쓰이지않는분류' ], 'Unusedimages' => [ '안쓰는파일', '안쓰는그림', '쓰이지않는파일', '쓰이지않는그림' ], 'Unusedtemplates' => [ '안쓰는틀', '쓰이지않는틀' ], @@ -311,8 +311,8 @@ $magicWords = [ 'displaytitle' => [ '1', '보일제목', '표시제목', 'DISPLAYTITLE' ], 'rawsuffix' => [ '1', '원', 'R' ], 'nocommafysuffix' => [ '0', '구분자없음', 'NOSEP' ], - 'newsectionlink' => [ '1', '__새글쓰기__', '__NEWSECTIONLINK__' ], - 'nonewsectionlink' => [ '1', '__새글쓰기숨기기__', '__NONEWSECTIONLINK__' ], + 'newsectionlink' => [ '1', '__새문단쓰기__', '__새글쓰기__', '__NEWSECTIONLINK__' ], + 'nonewsectionlink' => [ '1', '__새문단쓰기숨기기__', '__새글쓰기숨기기__', '__NONEWSECTIONLINK__' ], 'currentversion' => [ '1', '현재버전', 'CURRENTVERSION' ], 'urlencode' => [ '0', '주소인코딩:', 'URLENCODE:' ], 'anchorencode' => [ '0', '책갈피인코딩', 'ANCHORENCODE' ], @@ -353,7 +353,7 @@ $magicWords = [ ]; $bookstoreList = [ - 'Aladdin.co.kr' => 'http://www.aladdin.co.kr/catalog/book.asp?ISBN=$1', + 'Aladin.co.kr' => 'http://www.aladin.co.kr/catalog/book.asp?ISBN=$1', 'inherit' => true, ]; diff --git a/languages/messages/MessagesUr.php b/languages/messages/MessagesUr.php index cac8482f35..80c81141f9 100644 --- a/languages/messages/MessagesUr.php +++ b/languages/messages/MessagesUr.php @@ -12,6 +12,7 @@ * @author Muhammad Shuaib * @author Noor2020 * @author O.bangash + * @author Obaid Raza * @author Rachitrali * @author Reedy * @author Tahir mq @@ -61,80 +62,119 @@ $namespaceAliases = [ $specialPageAliases = [ 'Activeusers' => [ 'متحرک_صارفین' ], 'Allmessages' => [ 'تمام_پیغامات' ], + 'AllMyUploads' => [ 'میرے_تمام_اپلوڈ', 'میری_تمام_فائلیں' ], 'Allpages' => [ 'تمام_صفحات' ], + 'ApiHelp' => [ 'آے_پی_آئی_معاونت' ], + 'ApiSandbox' => [ 'اے_پی_آئی_تختہ_مشق' ], 'Ancientpages' => [ 'قدیم_صفحات' ], + 'AutoblockList' => [ 'فہرست_خودکار_پابندی' ], 'Badtitle' => [ 'خراب_عنوان' ], 'Blankpage' => [ 'خالی_صفحہ' ], - 'Block' => [ 'پابندی', 'آئی_پی_پتہ_پابندی', 'پابندی_بر_صارف' ], + 'Block' => [ 'پابندی', 'آئی_پی_پابندی', 'آئی_پی_پتہ_پابندی', 'پابندی_بر_صارف' ], 'Booksources' => [ 'کتابی_وسائل' ], + 'BotPasswords' => [ 'روبہ_کے_پاسورڈ' ], 'BrokenRedirects' => [ 'شکستہ_رجوع_مکررات' ], 'Categories' => [ 'زمرہ_جات' ], + 'ChangeContentModel' => [ 'تبدیلی_مواد_ماڈل' ], + 'ChangeCredentials' => [ 'تبدیلی_حساس_معلومات' ], 'ChangeEmail' => [ 'ڈاک_تبدیل' ], - 'ChangePassword' => [ 'کلمہ_شناخت_تبدیل', 'تنظیم_کلمہ_شناخت' ], + 'ChangePassword' => [ 'تبدیلی_پاسورڈ', 'کلمہ_شناخت_تبدیل', 'تنظیم_کلمہ_شناخت' ], 'ComparePages' => [ 'موازنہ_صفحات' ], 'Confirmemail' => [ 'تصدیق_ڈاک' ], 'Contributions' => [ 'شراکتیں' ], 'CreateAccount' => [ 'تخلیق_کھاتہ' ], 'Deadendpages' => [ 'مردہ_صفحات' ], 'DeletedContributions' => [ 'حذف_شدہ_شراکتیں' ], + 'Diff' => [ 'فرق' ], 'DoubleRedirects' => [ 'دوہرے_رجوع_مکررات' ], - 'EditWatchlist' => [ 'ترمیم_زیر_نظر' ], - 'Emailuser' => [ 'صارف_ڈاک' ], + 'EditTags' => [ 'ترمیم_ٹیگ' ], + 'EditWatchlist' => [ 'ترمیم_زیر_نظر_فہرست', 'ترمیم_زیر_نظر' ], + 'Emailuser' => [ 'صارف_ڈاک', 'برقی_ڈاک' ], + 'ExpandTemplates' => [ 'توسیع_سانچہ_جات' ], 'Export' => [ 'برآمد', 'برآمدگی' ], - 'Fewestrevisions' => [ 'کم_نظر_ثانی_شدہ' ], + 'Fewestrevisions' => [ 'کمترین_نسخہ', 'کم_نظر_ثانی_شدہ' ], 'FileDuplicateSearch' => [ 'تلاش_دوہری_فائل', 'دہری_ملف_تلاش' ], 'Filepath' => [ 'راہ_فائل', 'راہ_ملف' ], + 'GoToInterwiki' => [ 'بین_الویکی_پر_جائیں' ], 'Import' => [ 'درآمد', 'درآمدگی' ], 'Invalidateemail' => [ 'ڈاک_تصدیق_منسوخ' ], 'JavaScriptTest' => [ 'تجربہ_جاوا_اسکرپٹ' ], - 'BlockList' => [ 'فہرست_ممنوع', 'فہرست_دستور_شبکی_ممنوع' ], + 'BlockList' => [ 'فہرست_ممنوعین', 'فہرست_ممنوع', 'فہرست_دستور_شبکی_ممنوع' ], 'LinkSearch' => [ 'تلاش_روابط' ], + 'LinkAccounts' => [ 'کھاتے_مربوط_کریں' ], 'Listadmins' => [ 'فہرست_منتظمین' ], 'Listbots' => [ 'فہرست_روبہ_جات' ], 'Listfiles' => [ 'فائلوں_کی_فہرست', 'فہرست_تصاویر' ], 'Listgrouprights' => [ 'فہرست_اختیارات_گروہ', 'صارفی_گروہ_اختیارات' ], + 'Listgrants' => [ 'فہرست_عطیات' ], 'Listredirects' => [ 'فہرست_رجوع_مکررات' ], + 'ListDuplicatedFiles' => [ 'دوہری_فائلوں_کی_فہرست' ], 'Listusers' => [ 'فہرست_صارفین' ], + 'Lockdb' => [ 'ڈیٹابیس_مقفل' ], 'Log' => [ 'نوشتہ', 'نوشتہ_جات' ], 'Lonelypages' => [ 'یتیم_صفحات' ], 'Longpages' => [ 'طویل_صفحات' ], + 'MediaStatistics' => [ 'شماریات_میڈیا' ], 'MergeHistory' => [ 'ضم_تاریخچہ' ], + 'MIMEsearch' => [ 'ایم_آئی_ایم_ای_تلاش' ], + 'Mostcategories' => [ 'بیشتر_زمرہ_جات' ], + 'Mostimages' => [ 'بیشتر_تصویریں', 'بیشتر_مربوط_تصویریں', 'بیشتر_فائلیں' ], + 'Mostinterwikis' => [ 'بیشتر_بین_الویکی_رعابط' ], + 'Mostlinked' => [ 'بیشتر_مربوط_صفحات', 'بیشتر_مربوط' ], + 'Mostlinkedcategories' => [ 'بیشتر_مربوط_زمرہ_جات', 'بیشتر_مستعمل_زمرہ_جات' ], + 'Mostlinkedtemplates' => [ 'بیشتر_مستعمل_صفحات', 'بیشتر_مربوط_سانچے', 'بیشتر_مستعمل_سانچے' ], + 'Mostrevisions' => [ 'بیشتر_نسخے' ], 'Movepage' => [ 'منتقلی_صفحہ' ], 'Mycontributions' => [ 'میری_شراکتیں', 'میرا_حصہ' ], + 'MyLanguage' => [ 'میری_زبان' ], 'Mypage' => [ 'میرا_صفحہ' ], - 'Mytalk' => [ 'میری_گفتگو' ], - 'Myuploads' => [ 'میرے_اپلوڈ', 'میرے_زبراثقالات' ], - 'Newimages' => [ 'جدید_فائلیں', 'جدید_املاف', 'جدید_تصاویر' ], + 'Mytalk' => [ 'میرا_تبادلہ_خیال', 'میری_گفتگو' ], + 'Myuploads' => [ 'میرے_اپلوڈ', 'میرے_زبراثقالات', 'میری_فائلیں' ], + 'Newimages' => [ 'جدید_فائلیں', 'جدید_املاف', 'جدید_تصاویر', 'نئی_فائلیں', 'نئی_املاف', 'نئی_تصاویر', 'نئی_تصویریں', 'جدید_تصویریں' ], 'Newpages' => [ 'جدید_صفحات' ], + 'PagesWithProp' => [ 'صفحات_مع_خاصیت', 'صفحات_بلحاظ_خاصیت' ], + 'PageData' => [ 'معلومات_صفحہ' ], + 'PageLanguage' => [ 'صفحہ_کی_زبان' ], + 'PasswordReset' => [ 'پاسورڈ_کی_ترتیب_نو' ], 'PermanentLink' => [ 'مستقل_ربط' ], 'Preferences' => [ 'ترجیحات' ], 'Prefixindex' => [ 'اشاریہ_سابقہ' ], 'Protectedpages' => [ 'محفوظ_صفحات' ], - 'Protectedtitles' => [ 'محفوظ_عناوین' ], - 'Randompage' => [ 'تصادف', 'تصادفی_مقالہ' ], - 'Randomredirect' => [ 'تصادفی_رجوع_مکرر' ], + 'Protectedtitles' => [ 'محفوظ_عناوین' ], + 'Randompage' => [ 'جستہ', 'جستہ_جستہ', 'تصادف', 'تصادفی_مقالہ' ], + 'RandomInCategory' => [ 'جستہ_جستہ_زمرہ' ], + 'Randomredirect' => [ 'جستہ_جستہ_رجوع_مکرر', 'تصادفی_رجوع_مکرر' ], + 'Randomrootpage' => [ 'جستہ_جستہ_بنیادی_صفحہ' ], 'Recentchanges' => [ 'حالیہ_تبدیلیاں' ], - 'Recentchangeslinked' => [ 'متعلقہ_تبدیلیاں' ], - 'Revisiondelete' => [ 'حذف_نظر_ثانی', 'حذف_اعادہ' ], + 'Recentchangeslinked' => [ 'متعلقہ_حالیہ_تبدیلیاں', 'متعلقہ_تبدیلیاں' ], + 'Redirect' => [ 'رجوع_مکرر' ], + 'RemoveCredentials' => [ 'حذف_حساس_معلومات' ], + 'ResetTokens' => [ 'ٹوکنوں_کی_ترتیب_نو' ], + 'Revisiondelete' => [ 'حذف_نسخہ', 'حذف_نظر_ثانی', 'حذف_اعادہ' ], + 'RunJobs' => [ 'تعمیل_امور' ], 'Search' => [ 'تلاش' ], 'Shortpages' => [ 'مختصر_صفحات' ], 'Specialpages' => [ 'خصوصی_صفحات' ], 'Statistics' => [ 'شماریات' ], 'Tags' => [ 'ٹیگ', 'ٹیگز' ], + 'TrackingCategories' => [ 'متلاشی_زمرہ_جات' ], 'Unblock' => [ 'پابندی_ختم' ], 'Uncategorizedcategories' => [ 'غیر_زمرہ_بند_زمرہ_جات' ], 'Uncategorizedimages' => [ 'غیر_زمرہ_بند_فائلیں', 'غیر_زمرہ_بند_املاف', 'غیر_زمرہ_بند_تصاویر' ], 'Uncategorizedpages' => [ 'غیر_زمرہ_بند_صفحات' ], 'Uncategorizedtemplates' => [ 'غیر_زمرہ_بند_سانچے' ], 'Undelete' => [ 'بحال' ], + 'UnlinkAccounts' => [ 'کھاتے_غیر_مربوط_کریں' ], + 'Unlockdb' => [ 'ڈیٹابیس_قفل_کھولیں' ], 'Unusedcategories' => [ 'غیر_مستعمل_زمرہ_جات' ], - 'Unusedimages' => [ 'غیر_مستعمل_فائلیں', 'غیر_مستعمل_املاف', 'غیر_مستعمل_تصاویر' ], + 'Unusedimages' => [ 'غیر_مستعمل_فائلیں', 'غیر_مستعمل_املاف', 'غیر_مستعمل_تصاویر', 'غیر_مستعمل_تصویریں' ], 'Unusedtemplates' => [ 'غیر_مستعمل_سانچے' ], 'Unwatchedpages' => [ 'نادیدہ_صفحات' ], - 'Upload' => [ 'اپلوڈ', 'زبراثقال' ], - 'Userlogin' => [ 'داخل_نوشتگی' ], - 'Userlogout' => [ 'خارج_نوشتگی' ], - 'Userrights' => [ 'صارفی_اختیارات' ], + 'Upload' => [ 'اپلوڈ', 'زبراثقال', 'زبر_اثقال' ], + 'UploadStash' => [ 'اجتماعی_اپلوڈ' ], + 'Userlogin' => [ 'داخل_ہوں', 'داخل_نوشتگی' ], + 'Userlogout' => [ 'خارج_ہوں', 'خارج_نوشتگی' ], + 'Userrights' => [ 'اختیارات_صارف', 'صارفی_اختیارات' ], 'Version' => [ 'نسخہ', 'اخراجہ' ], 'Wantedcategories' => [ 'مطلوبہ_زمرہ_جات' ], 'Wantedfiles' => [ 'مطلوبہ_فائلیں', 'مطلوبہ_املاف' ], @@ -147,23 +187,174 @@ $specialPageAliases = [ $magicWords = [ 'redirect' => [ '0', '#رجوع_مکرر', '#REDIRECT' ], - 'notoc' => [ '0', '_فہرست_نہیں_', '__NOTOC__' ], + 'notoc' => [ '0', '__فہرست_نہیں__', '__نافہرست__', '__NOTOC__' ], + 'nogallery' => [ '0', '__نگارخانہ_نہیں__', '__NOGALLERY__' ], + 'forcetoc' => [ '0', '__بافہرست__', '__FORCETOC__' ], 'toc' => [ '0', '__فہرست__', '__TOC__' ], - 'noeditsection' => [ '0', '__ناتحریرقسم__', '__NOEDITSECTION__' ], + 'noeditsection' => [ '0', '__ناترمیم_قطعہ__', '__NOEDITSECTION__' ], + 'currentmonth' => [ '1', 'موجودہ_مہینہ', 'موجودہ_مہینہ2', 'CURRENTMONTH', 'CURRENTMONTH2' ], + 'currentmonth1' => [ '1', 'موجودہ_مہینہ1', 'CURRENTMONTH1' ], + 'currentmonthname' => [ '1', 'موجودہ_مہینہ_کا_نام', 'CURRENTMONTHNAME' ], + 'currentmonthnamegen' => [ '1', 'موجودہ_مہینہ_کا_نام_اضافت', 'CURRENTMONTHNAMEGEN' ], + 'currentmonthabbrev' => [ '1', 'موجودہ_مہینہ_کا_اختصار', 'CURRENTMONTHABBREV' ], + 'currentday' => [ '1', 'موجودہ_دن', 'CURRENTDAY' ], + 'currentday2' => [ '1', 'موجودہ_دن2', 'CURRENTDAY2' ], + 'currentdayname' => [ '1', 'موجودہ_دن_کا_نام', 'CURRENTDAYNAME' ], + 'currentyear' => [ '1', 'موجودہ_سال', 'CURRENTYEAR' ], + 'currenttime' => [ '1', 'موجودہ_وقت', 'CURRENTTIME' ], + 'currenthour' => [ '1', 'موجودہ_گھنٹہ', 'CURRENTHOUR' ], + 'localmonth' => [ '1', 'مقامی_مہینہ', 'مقامی_مہینہ2', 'LOCALMONTH', 'LOCALMONTH2' ], + 'localmonth1' => [ '1', 'مقامی_مہینہ1', 'LOCALMONTH1' ], + 'localmonthname' => [ '1', 'مقامی_مہینہ_کا_نام', 'LOCALMONTHNAME' ], + 'localmonthnamegen' => [ '1', 'مقامی_مہینہ_کا_نام_اضافت', 'LOCALMONTHNAMEGEN' ], + 'localmonthabbrev' => [ '1', 'مقامی_مہینہ_کا_اختصار', 'LOCALMONTHABBREV' ], + 'localday' => [ '1', 'مقامی_دن', 'LOCALDAY' ], + 'localday2' => [ '1', 'مقامی_دن2', 'LOCALDAY2' ], + 'localdayname' => [ '1', 'مقامی_دن_کا_نام', 'LOCALDAYNAME' ], + 'localyear' => [ '1', 'مقامی_سال', 'LOCALYEAR' ], + 'localtime' => [ '1', 'مقامی_وقت', 'LOCALTIME' ], + 'localhour' => [ '1', 'مقامی_گھنٹہ', 'LOCALHOUR' ], + 'numberofpages' => [ '1', 'تعداد_صفحات', 'NUMBEROFPAGES' ], + 'numberofarticles' => [ '1', 'تعداد_مضامین', 'NUMBEROFARTICLES' ], + 'numberoffiles' => [ '1', 'تعداد_فائل', 'NUMBEROFFILES' ], + 'numberofusers' => [ '1', 'تعداد_صارفین', 'NUMBEROFUSERS' ], + 'numberofactiveusers' => [ '1', 'تعداد_فعال_صارفین', 'NUMBEROFACTIVEUSERS' ], + 'numberofedits' => [ '1', 'تعداد_ترامیم', 'NUMBEROFEDITS' ], 'pagename' => [ '1', 'نام_صفحہ', 'PAGENAME' ], + 'pagenamee' => [ '1', 'نام_صفحہ_کوڈ', 'PAGENAMEE' ], 'namespace' => [ '1', 'نام_فضا', 'NAMESPACE' ], + 'namespacee' => [ '1', 'نام_فضا_کوڈ', 'NAMESPACEE' ], + 'namespacenumber' => [ '1', 'نام_فضا_کا_عدد', 'NAMESPACENUMBER' ], + 'talkspace' => [ '1', 'تبادلہ_خیال_نام_فضا', 'TALKSPACE' ], + 'talkspacee' => [ '1', 'تبادلہ_خیال_کوڈ', 'TALKSPACEE' ], + 'subjectspace' => [ '1', 'مضمون_نام_فضا', 'SUBJECTSPACE', 'ARTICLESPACE' ], + 'subjectspacee' => [ '1', 'مضمون_نام_فضا_کوڈ', 'SUBJECTSPACEE', 'ARTICLESPACEE' ], + 'fullpagename' => [ '1', 'صفحہ_کا_مکمل_نام', 'مکمل_نام', 'FULLPAGENAME' ], + 'fullpagenamee' => [ '1', 'مکمل_نام_کوڈ', 'FULLPAGENAMEE' ], + 'subpagename' => [ '1', 'نام_ذیلی_صفحہ', 'SUBPAGENAME' ], + 'subpagenamee' => [ '1', 'ذیلی_صفحہ_کوڈ', 'SUBPAGENAMEE' ], + 'rootpagename' => [ '1', 'نام_اصل_صفحہ', 'ROOTPAGENAME' ], + 'rootpagenamee' => [ '1', 'اصل_صفحہ_کوڈ', 'ROOTPAGENAMEE' ], + 'basepagename' => [ '1', 'نام_بنیادی_صفحہ', 'BASEPAGENAME' ], + 'basepagenamee' => [ '1', 'بنیادی_صفحہ_کوڈ', 'BASEPAGENAMEE' ], + 'talkpagename' => [ '1', 'نام_تبادلہ_خیال_صفحہ', 'TALKPAGENAME' ], + 'talkpagenamee' => [ '1', 'تبادلہ_خیال_صفحہ_کوڈ', 'TALKPAGENAMEE' ], + 'subjectpagename' => [ '1', 'نام_صفحہ_مضمون', 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ], + 'subjectpagenamee' => [ '1', 'نام_صفحہ_مضمون_کوڈ', 'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ], 'msg' => [ '0', 'پیغام:', 'MSG:' ], - 'subst' => [ '0', 'جا:', 'نقل:', 'SUBST:' ], - 'safesubst' => [ '0', 'محفوظ_جا:', 'محفوظ_نقل:', 'SAFESUBST:' ], + 'subst' => [ '0', 'نقل:', 'جا:', 'SUBST:' ], + 'safesubst' => [ '0', 'محفوظ_نقل:', 'محفوظ_جا:', 'SAFESUBST:' ], + 'msgnw' => [ '0', 'خام_پیغام:', 'MSGNW:' ], 'img_thumbnail' => [ '1', 'تصغیر', 'thumb', 'thumbnail' ], + 'img_manualthumb' => [ '1', 'تصغیر=$1', 'thumbnail=$1', 'thumb=$1' ], 'img_right' => [ '1', 'دائیں', 'right' ], 'img_left' => [ '1', 'بائیں', 'left' ], - 'img_center' => [ '1', 'درمیان', 'center', 'centre' ], - 'sitename' => [ '1', 'نام_موقع', 'SITENAME' ], + 'img_none' => [ '1', 'بغیر', 'بدون', 'none' ], + 'img_width' => [ '1', '$1پکسل', '$1پک', '$1px' ], + 'img_center' => [ '1', 'وسط', 'center', 'centre' ], + 'img_framed' => [ '1', 'چوکھٹا', 'frame', 'framed', 'enframed' ], + 'img_frameless' => [ '1', 'بدون_چوکھٹا', 'frameless' ], + 'img_lang' => [ '1', 'زبان=$1', 'lang=$1' ], + 'img_page' => [ '1', 'صفحہ=$1', 'صفحہ_$1', 'page=$1', 'page $1' ], + 'img_upright' => [ '1', 'ایستادہ', 'ایستادہ=$1', 'ایستادہ_$1', 'upright', 'upright=$1', 'upright $1' ], + 'img_border' => [ '1', 'حدود', 'border' ], + 'img_baseline' => [ '1', 'خط_اساسی', 'baseline' ], + 'img_sub' => [ '1', 'زیر', 'sub' ], + 'img_super' => [ '1', 'زبر', 'super', 'sup' ], + 'img_top' => [ '1', 'بالا', 'top' ], + 'img_text_top' => [ '1', 'متن-بالا', 'text-top' ], + 'img_middle' => [ '1', 'وسط', 'درمیان', 'middle' ], + 'img_bottom' => [ '1', 'زیریں', 'bottom' ], + 'img_text_bottom' => [ '1', 'متن-زیریں', 'text-bottom' ], + 'img_link' => [ '1', 'ربط=$1', 'لنک=$1', 'link=$1' ], + 'img_alt' => [ '1', 'متبادل=$1', 'alt=$1' ], + 'img_class' => [ '1', 'درجہ=$1', 'class=$1' ], + 'int' => [ '0', 'عالمی:', 'INT:' ], + 'sitename' => [ '1', 'سائٹ_نام', 'نام_سائٹ', 'نام_موقع', 'SITENAME' ], + 'ns' => [ '0', 'نف:', 'NS:' ], + 'nse' => [ '0', 'نفک:', 'NSE:' ], + 'localurl' => [ '0', 'مقامی_ربط:', 'LOCALURL:' ], + 'localurle' => [ '0', 'مقامی_ربط_کوڈ:', 'LOCALURLE:' ], + 'articlepath' => [ '0', 'راہ_مضمون', 'ARTICLEPATH' ], + 'pageid' => [ '0', 'شناخت_صفحہ', 'PAGEID' ], + 'server' => [ '0', 'سرور', 'SERVER' ], + 'servername' => [ '0', 'نام_سرور', 'SERVERNAME' ], + 'scriptpath' => [ '0', 'راہ_اسکرپٹ', 'SCRIPTPATH' ], + 'stylepath' => [ '0', 'راہ_طرز', 'STYLEPATH' ], 'grammar' => [ '0', 'قواعد:', 'GRAMMAR:' ], - 'gender' => [ '0', 'جنس:', 'GENDER:' ], + 'gender' => [ '0', 'صنف:', 'GENDER:' ], + 'bidi' => [ '0', 'بی_ڈی:', 'BIDI:' ], + 'notitleconvert' => [ '0', '__منتقلی_عنوان_نہیں__', '__NOTITLECONVERT__', '__NOTC__' ], + 'nocontentconvert' => [ '0', '__منتقلی_مواد_نہیں__', '__NOCONTENTCONVERT__', '__NOCC__' ], + 'currentweek' => [ '1', 'موجودہ_ہفتہ', 'CURRENTWEEK' ], + 'currentdow' => [ '1', 'ہفتہ_کا_دن', 'CURRENTDOW' ], + 'localweek' => [ '1', 'مقامی_ہفتہ', 'LOCALWEEK' ], + 'localdow' => [ '1', 'مقامی_ہفتہ_کا_دن', 'LOCALDOW' ], + 'revisionid' => [ '1', 'شناخت_نسخہ', 'REVISIONID' ], + 'revisionday' => [ '1', 'یوم_نسخہ', 'REVISIONDAY' ], + 'revisionday2' => [ '1', 'یوم_نسخہ2', 'REVISIONDAY2' ], + 'revisionmonth' => [ '1', 'ماہ_نسخہ', 'REVISIONMONTH' ], + 'revisionmonth1' => [ '1', 'ماہ_نسخہ1', 'REVISIONMONTH1' ], + 'revisionyear' => [ '1', 'سال_نسخہ', 'REVISIONYEAR' ], + 'revisiontimestamp' => [ '1', 'مہر_وقت_نسخہ', 'REVISIONTIMESTAMP' ], + 'revisionuser' => [ '1', 'صارف_نسخہ', 'REVISIONUSER' ], + 'revisionsize' => [ '1', 'حجم_نسخہ', 'REVISIONSIZE' ], + 'plural' => [ '0', 'جمع:', 'PLURAL:' ], + 'fullurl' => [ '0', 'مکمل_ربط:', 'FULLURL:' ], + 'fullurle' => [ '0', 'مکمل_ربط_کوڈ:', 'FULLURLE:' ], + 'canonicalurl' => [ '0', 'معیاری_ربط:', 'CANONICALURL:' ], + 'canonicalurle' => [ '0', 'معیاری_ربط_کوڈ:', 'CANONICALURLE:' ], + 'lcfirst' => [ '0', 'چھوٹے_حروف_سے_شروع:', 'LCFIRST:' ], + 'ucfirst' => [ '0', 'بڑے_حروف_سے_شروع:', 'UCFIRST:' ], + 'lc' => [ '0', 'چھوٹے_حروف:', 'LC:' ], + 'uc' => [ '0', 'بڑے_حروف:', 'UC:' ], + 'raw' => [ '0', 'خام:', 'RAW:' ], + 'displaytitle' => [ '1', 'نمائش_عنوان', 'DISPLAYTITLE' ], + 'rawsuffix' => [ '1', 'آر', 'R' ], + 'nocommafysuffix' => [ '0', 'جدا_نہیں', 'NOSEP' ], + 'newsectionlink' => [ '1', '__ربط_نیا_قطعہ__', '__NEWSECTIONLINK__' ], + 'nonewsectionlink' => [ '1', '__ربط_نیا_قطعہ_نہیں__', '__NONEWSECTIONLINK__' ], + 'currentversion' => [ '1', 'موجودہ_نسخہ', 'CURRENTVERSION' ], + 'urlencode' => [ '0', 'ربط_کوڈ:', 'URLENCODE:' ], + 'anchorencode' => [ '0', 'اینکر_کوڈ', 'ANCHORENCODE' ], + 'currenttimestamp' => [ '1', 'موجودہ_مہر_وقت', 'CURRENTTIMESTAMP' ], + 'localtimestamp' => [ '1', 'مقامی_مہر_وقت', 'LOCALTIMESTAMP' ], + 'directionmark' => [ '1', 'علامت_جہت', 'DIRECTIONMARK', 'DIRMARK' ], + 'language' => [ '0', '#زبان:', '#LANGUAGE:' ], + 'contentlanguage' => [ '1', 'مواد_کی_زبان', 'CONTENTLANGUAGE', 'CONTENTLANG' ], + 'pagesinnamespace' => [ '1', 'نام_فضا_میں_صفحات:', 'PAGESINNAMESPACE:', 'PAGESINNS:' ], + 'numberofadmins' => [ '1', 'تعداد_منتظمین', 'NUMBEROFADMINS' ], + 'formatnum' => [ '0', 'صیغہ_عدد', 'FORMATNUM' ], + 'padleft' => [ '0', 'بائیں_جوڑیں', 'PADLEFT' ], + 'padright' => [ '0', 'دائیں_جوڑیں', 'PADRIGHT' ], 'special' => [ '0', 'خاص', 'special' ], - 'speciale' => [ '0', 'خاص_عنوان', 'speciale' ], + 'speciale' => [ '0', 'خاص_کوڈ', 'speciale' ], + 'defaultsort' => [ '1', 'ابتدائی_ترتیب', 'کلید_ابتدائی_ترتیب', 'ابتدائی_ترتیب_زمرہ', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ], + 'filepath' => [ '0', 'راہ_فائل:', 'FILEPATH:' ], + 'tag' => [ '0', 'ٹیگ', 'tag' ], + 'hiddencat' => [ '1', '__پوشیدہ_زمرہ__', '__HIDDENCAT__' ], + 'pagesincategory' => [ '1', 'زمرے_میں_صفحات', 'PAGESINCATEGORY', 'PAGESINCAT' ], + 'pagesize' => [ '1', 'حجم_صفحہ', 'PAGESIZE' ], 'index' => [ '1', '__اشاریہ__', '__INDEX__' ], - 'noindex' => [ '1', '__نااشاریہ__', '__NOINDEX__' ], + 'noindex' => [ '1', '__اشاریہ_نہیں__', '__NOINDEX__' ], + 'numberingroup' => [ '1', 'تعداد_در_گروہ', 'NUMBERINGROUP', 'NUMINGROUP' ], + 'staticredirect' => [ '1', '__ساکن_رجوع_مکرر__', '__STATICREDIRECT__' ], + 'protectionlevel' => [ '1', 'درجہ_حفاظت', 'PROTECTIONLEVEL' ], + 'protectionexpiry' => [ '1', 'اختتام_حفاظت', 'PROTECTIONEXPIRY' ], + 'cascadingsources' => [ '1', 'آبشاری_مآخذ', 'CASCADINGSOURCES' ], + 'formatdate' => [ '0', 'صیغہ_تاریخ', 'formatdate', 'dateformat' ], + 'url_path' => [ '0', 'راہ', 'PATH' ], + 'url_wiki' => [ '0', 'ویکی', 'WIKI' ], + 'url_query' => [ '0', 'استفسار', 'QUERY' ], + 'defaultsort_noerror' => [ '0', 'نقص_نہیں', 'noerror' ], + 'defaultsort_noreplace' => [ '0', 'تبدیلی_نہیں', 'noreplace' ], + 'displaytitle_noerror' => [ '0', 'نقص_نہیں', 'noerror' ], + 'displaytitle_noreplace' => [ '0', 'تبدیلی_نہیں', 'noreplace' ], + 'pagesincategory_all' => [ '0', 'کل', 'all' ], + 'pagesincategory_pages' => [ '0', 'صفحات', 'pages' ], + 'pagesincategory_subcats' => [ '0', 'ذیلی_زمرے', 'subcats' ], + 'pagesincategory_files' => [ '0', 'فائلیں', 'files' ], ]; + +# LinkTrail for Urdu language +$linkTrail = "/^([ابپتٹثجچحخدڈذر​ڑ​زژسشصضطظعغفقکگل​م​نوؤہھیئےآأءۃ]+)(.*)$/sDu"; diff --git a/maintenance/Maintenance.php b/maintenance/Maintenance.php index ecbbb85117..7de0ae4ccb 100644 --- a/maintenance/Maintenance.php +++ b/maintenance/Maintenance.php @@ -1416,6 +1416,32 @@ abstract class Maintenance { return $title; } + /** + * Count down from $seconds to zero on the terminal, with a one-second pause + * between showing each number. If the maintenance script is in quiet mode, + * this function does nothing. + * + * @since 1.31 + * + * @codeCoverageIgnore + * @param int $seconds + */ + protected function countDown( $seconds ) { + if ( $this->isQuiet() ) { + return; + } + for ( $i = $seconds; $i >= 0; $i-- ) { + if ( $i != $seconds ) { + $this->output( str_repeat( "\x08", strlen( $i + 1 ) ) ); + } + $this->output( $i ); + if ( $i ) { + sleep( 1 ); + } + } + $this->output( "\n" ); + } + /** * Wrapper for posix_isatty() * We default as considering stdin a tty (for nice readline methods) @@ -1444,13 +1470,7 @@ abstract class Maintenance { } if ( $isatty && function_exists( 'readline' ) ) { - $resp = readline( $prompt ); - if ( $resp === null ) { - // Workaround for https://github.com/facebook/hhvm/issues/4776 - return false; - } else { - return $resp; - } + return readline( $prompt ); } else { if ( $isatty ) { $st = self::readlineEmulation( $prompt ); diff --git a/maintenance/checkImages.php b/maintenance/checkImages.php index 3e57393096..2df0a0954c 100644 --- a/maintenance/checkImages.php +++ b/maintenance/checkImages.php @@ -44,7 +44,8 @@ class CheckImages extends Maintenance { $repo = RepoGroup::singleton()->getLocalRepo(); do { - $res = $dbr->select( 'image', '*', [ 'img_name > ' . $dbr->addQuotes( $start ) ], + $res = $dbr->select( 'image', LocalFile::selectFields(), + [ 'img_name > ' . $dbr->addQuotes( $start ) ], __METHOD__, [ 'LIMIT' => $this->mBatchSize ] ); foreach ( $res as $row ) { $numImages++; diff --git a/maintenance/checkSyntax.php b/maintenance/checkSyntax.php deleted file mode 100644 index 3910f29d20..0000000000 --- a/maintenance/checkSyntax.php +++ /dev/null @@ -1,349 +0,0 @@ -addDescription( 'Check syntax for all PHP files in MediaWiki' ); - $this->addOption( 'with-extensions', 'Also recurse the extensions folder' ); - $this->addOption( - 'path', - 'Specific path (file or directory) to check, either with absolute path or ' - . 'relative to the root of this MediaWiki installation', - false, - true - ); - $this->addOption( - 'list-file', - 'Text file containing list of files or directories to check', - false, - true - ); - $this->addOption( - 'modified', - 'Check only files that were modified (requires Git command-line client)' - ); - $this->addOption( 'syntax-only', 'Check for syntax validity only, skip code style warnings' ); - } - - public function getDbType() { - return Maintenance::DB_NONE; - } - - public function execute() { - $this->buildFileList(); - - $this->output( "Checking syntax (using php -l, this can take a long time)\n" ); - foreach ( $this->mFiles as $f ) { - $this->checkFileWithCli( $f ); - if ( !$this->hasOption( 'syntax-only' ) ) { - $this->checkForMistakes( $f ); - } - } - $this->output( "\nDone! " . count( $this->mFiles ) . " files checked, " . - count( $this->mFailures ) . " failures and " . count( $this->mWarnings ) . - " warnings found\n" ); - } - - /** - * Build the list of files we'll check for syntax errors - */ - private function buildFileList() { - global $IP; - - $this->mIgnorePaths = [ - ]; - - $this->mNoStyleCheckPaths = [ - // Third-party code we don't care about - "/activemq_stomp/", - "EmailPage/PHPMailer", - "FCKeditor/fckeditor/", - '\bphplot-', - "/svggraph/", - "\bjsmin.php$", - "PEAR/File_Ogg/", - "QPoll/Excel/", - "/geshi/", - "/smarty/", - ]; - - if ( $this->hasOption( 'path' ) ) { - $path = $this->getOption( 'path' ); - if ( !$this->addPath( $path ) ) { - $this->error( "Error: can't find file or directory $path\n", true ); - } - - return; // process only this path - } elseif ( $this->hasOption( 'list-file' ) ) { - $file = $this->getOption( 'list-file' ); - MediaWiki\suppressWarnings(); - $f = fopen( $file, 'r' ); - MediaWiki\restoreWarnings(); - if ( !$f ) { - $this->error( "Can't open file $file\n", true ); - } - $path = trim( fgets( $f ) ); - while ( $path ) { - $this->addPath( $path ); - } - fclose( $f ); - - return; - } elseif ( $this->hasOption( 'modified' ) ) { - $this->output( "Retrieving list from Git... " ); - $files = $this->getGitModifiedFiles( $IP ); - $this->output( "done\n" ); - foreach ( $files as $file ) { - if ( $this->isSuitableFile( $file ) && !is_dir( $file ) ) { - $this->mFiles[] = $file; - } - } - - return; - } - - $this->output( 'Building file list...', 'listfiles' ); - - // Only check files in these directories. - // Don't just put $IP, because the recursive dir thingie goes into all subdirs - $dirs = [ - $IP . '/includes', - $IP . '/mw-config', - $IP . '/languages', - $IP . '/maintenance', - $IP . '/skins', - ]; - if ( $this->hasOption( 'with-extensions' ) ) { - $dirs[] = $IP . '/extensions'; - } - - foreach ( $dirs as $d ) { - $this->addDirectoryContent( $d ); - } - - // Manually add two user-editable files that are usually sources of problems - if ( file_exists( "$IP/LocalSettings.php" ) ) { - $this->mFiles[] = "$IP/LocalSettings.php"; - } - - $this->output( 'done.', 'listfiles' ); - } - - /** - * Returns a list of tracked files in a Git work tree differing from the master branch. - * @param string $path Path to the repository - * @return array Resulting list of changed files - */ - private function getGitModifiedFiles( $path ) { - global $wgMaxShellMemory; - - if ( !is_dir( "$path/.git" ) ) { - $this->error( "Error: Not a Git repository!\n", true ); - } - - // git diff eats memory. - $oldMaxShellMemory = $wgMaxShellMemory; - if ( $wgMaxShellMemory < 1024000 ) { - $wgMaxShellMemory = 1024000; - } - - $ePath = wfEscapeShellArg( $path ); - - // Find an ancestor in common with master (rather than just using its HEAD) - // to prevent files only modified there from showing up in the list. - $cmd = "cd $ePath && git merge-base master HEAD"; - $retval = 0; - $output = wfShellExec( $cmd, $retval ); - if ( $retval !== 0 ) { - $this->error( "Error retrieving base SHA1 from Git!\n", true ); - } - - // Find files in the working tree that changed since then. - $eBase = wfEscapeShellArg( rtrim( $output, "\n" ) ); - $cmd = "cd $ePath && git diff --name-only --diff-filter AM $eBase"; - $retval = 0; - $output = wfShellExec( $cmd, $retval ); - if ( $retval !== 0 ) { - $this->error( "Error retrieving list from Git!\n", true ); - } - - $wgMaxShellMemory = $oldMaxShellMemory; - - $arr = []; - $filename = strtok( $output, "\n" ); - while ( $filename !== false ) { - if ( $filename !== '' ) { - $arr[] = "$path/$filename"; - } - $filename = strtok( "\n" ); - } - - return $arr; - } - - /** - * Returns true if $file is of a type we can check - * @param string $file - * @return bool - */ - private function isSuitableFile( $file ) { - $file = str_replace( '\\', '/', $file ); - $ext = pathinfo( $file, PATHINFO_EXTENSION ); - if ( $ext != 'php' && $ext != 'inc' && $ext != 'php5' ) { - return false; - } - foreach ( $this->mIgnorePaths as $regex ) { - $m = []; - if ( preg_match( "~{$regex}~", $file, $m ) ) { - return false; - } - } - - return true; - } - - /** - * Add given path to file list, searching it in include path if needed - * @param string $path - * @return bool - */ - private function addPath( $path ) { - global $IP; - - return $this->addFileOrDir( $path ) || $this->addFileOrDir( "$IP/$path" ); - } - - /** - * Add given file to file list, or, if it's a directory, add its content - * @param string $path - * @return bool - */ - private function addFileOrDir( $path ) { - if ( is_dir( $path ) ) { - $this->addDirectoryContent( $path ); - } elseif ( file_exists( $path ) ) { - $this->mFiles[] = $path; - } else { - return false; - } - - return true; - } - - /** - * Add all suitable files in given directory or its subdirectories to the file list - * - * @param string $dir Directory to process - */ - private function addDirectoryContent( $dir ) { - $iterator = new RecursiveIteratorIterator( - new RecursiveDirectoryIterator( $dir ), - RecursiveIteratorIterator::SELF_FIRST - ); - foreach ( $iterator as $file ) { - if ( $this->isSuitableFile( $file->getRealPath() ) ) { - $this->mFiles[] = $file->getRealPath(); - } - } - } - - /** - * Check a file for syntax errors using php -l - * @param string $file Path to a file to check for syntax errors - * @return bool - */ - private function checkFileWithCli( $file ) { - $res = exec( 'php -l ' . wfEscapeShellArg( $file ) ); - if ( strpos( $res, 'No syntax errors detected' ) === false ) { - $this->mFailures[$file] = $res; - $this->output( $res . "\n" ); - - return false; - } - - return true; - } - - /** - * Check a file for non-fatal coding errors, such as byte-order marks in the beginning - * or pointless ?> closing tags at the end. - * - * @param string $file String Path to a file to check for errors - */ - private function checkForMistakes( $file ) { - foreach ( $this->mNoStyleCheckPaths as $regex ) { - $m = []; - if ( preg_match( "~{$regex}~", $file, $m ) ) { - return; - } - } - - $text = file_get_contents( $file ); - $tokens = token_get_all( $text ); - - $this->checkEvilToken( $file, $tokens, '@', 'Error supression operator (@)' ); - $this->checkRegex( $file, $text, '/^[\s\r\n]+<\?/', 'leading whitespace' ); - $this->checkRegex( $file, $text, '/\?>[\s\r\n]*$/', 'trailing ?>' ); - $this->checkRegex( $file, $text, '/^[\xFF\xFE\xEF]/', 'byte-order mark' ); - } - - private function checkRegex( $file, $text, $regex, $desc ) { - if ( !preg_match( $regex, $text ) ) { - return; - } - - if ( !isset( $this->mWarnings[$file] ) ) { - $this->mWarnings[$file] = []; - } - $this->mWarnings[$file][] = $desc; - $this->output( "Warning in file $file: $desc found.\n" ); - } - - private function checkEvilToken( $file, $tokens, $evilToken, $desc ) { - if ( !in_array( $evilToken, $tokens ) ) { - return; - } - - if ( !isset( $this->mWarnings[$file] ) ) { - $this->mWarnings[$file] = []; - } - $this->mWarnings[$file][] = $desc; - $this->output( "Warning in file $file: $desc found.\n" ); - } -} - -$maintClass = "CheckSyntax"; -require_once RUN_MAINTENANCE_IF_MAIN; diff --git a/maintenance/cleanupBlocks.php b/maintenance/cleanupBlocks.php index 7a3034fb78..f489333f8f 100644 --- a/maintenance/cleanupBlocks.php +++ b/maintenance/cleanupBlocks.php @@ -66,7 +66,7 @@ class CleanupBlocks extends Maintenance { $bestBlock = null; $res2 = $db->select( 'ipblocks', - '*', + Block::selectFields(), [ 'ipb_user' => $row->ipb_user, ] diff --git a/maintenance/compareParserCache.php b/maintenance/compareParserCache.php index 504c7d7ace..afbb2685e0 100644 --- a/maintenance/compareParserCache.php +++ b/maintenance/compareParserCache.php @@ -45,7 +45,12 @@ class CompareParserCache extends Maintenance { $withdiff = 0; $parserCache = MediaWikiServices::getInstance()->getParserCache(); while ( $pages-- > 0 ) { - $row = $dbr->selectRow( 'page', '*', + $row = $dbr->selectRow( 'page', + // @todo Title::selectFields() or Title::getQueryInfo() or something + [ + 'page_namespace', 'page_title', 'page_id', + 'page_len', 'page_is_redirect', 'page_latest', + ], [ 'page_namespace' => $this->getOption( 'namespace' ), 'page_is_redirect' => 0, diff --git a/maintenance/eraseArchivedFile.php b/maintenance/eraseArchivedFile.php index c90056db45..05fbbbcb49 100644 --- a/maintenance/eraseArchivedFile.php +++ b/maintenance/eraseArchivedFile.php @@ -55,7 +55,7 @@ class EraseArchivedFile extends Maintenance { $afile = false; } else { // specified version $dbw = $this->getDB( DB_MASTER ); - $row = $dbw->selectRow( 'filearchive', '*', + $row = $dbw->selectRow( 'filearchive', ArchivedFile::selectFields(), [ 'fa_storage_group' => 'deleted', 'fa_storage_key' => $filekey ], __METHOD__ ); if ( !$row ) { @@ -85,7 +85,7 @@ class EraseArchivedFile extends Maintenance { protected function scrubAllVersions( $name ) { $dbw = $this->getDB( DB_MASTER ); - $res = $dbw->select( 'filearchive', '*', + $res = $dbw->select( 'filearchive', ArchivedFile::selectFields(), [ 'fa_name' => $name, 'fa_storage_group' => 'deleted' ], __METHOD__ ); foreach ( $res as $row ) { diff --git a/maintenance/jsduck/categories.json b/maintenance/jsduck/categories.json index 899d80daa7..3623593762 100644 --- a/maintenance/jsduck/categories.json +++ b/maintenance/jsduck/categories.json @@ -53,12 +53,6 @@ "mw.jqueryMsg" ] }, - { - "name": "Page", - "classes": [ - "mw.page*" - ] - }, { "name": "Interfaces", "classes": [ diff --git a/maintenance/language/transstat.php b/maintenance/language/transstat.php index 720295234c..986fa62ba6 100644 --- a/maintenance/language/transstat.php +++ b/maintenance/language/transstat.php @@ -42,7 +42,7 @@ if ( !isset( $options['output'] ) ) { $options['output'] = 'wiki'; } -/** Print a usage message*/ +/** Print a usage message */ function showUsage() { print <<output( "...doing log_id from $blockStart to $blockEnd\n" ); $cond = "log_id BETWEEN $blockStart AND $blockEnd"; - $res = $db->select( 'logging', '*', $cond, __FUNCTION__ ); + $res = $db->select( + 'logging', [ 'log_id', 'log_type', 'log_action', 'log_params' ], $cond, __FUNCTION__ + ); foreach ( $res as $row ) { // RevisionDelete logs - revisions if ( LogEventsList::typeAction( $row, $delTypes, 'revision' ) ) { diff --git a/maintenance/populateRevisionSha1.php b/maintenance/populateRevisionSha1.php index fb97e910f8..c06f1e85df 100644 --- a/maintenance/populateRevisionSha1.php +++ b/maintenance/populateRevisionSha1.php @@ -55,10 +55,10 @@ class PopulateRevisionSha1 extends LoggedUpdateMaintenance { } $this->output( "Populating rev_sha1 column\n" ); - $rc = $this->doSha1Updates( 'revision', 'rev_id', 'rev' ); + $rc = $this->doSha1Updates( 'revision', 'rev_id', Revision::selectFields(), 'rev' ); $this->output( "Populating ar_sha1 column\n" ); - $ac = $this->doSha1Updates( 'archive', 'ar_rev_id', 'ar' ); + $ac = $this->doSha1Updates( 'archive', 'ar_rev_id', Revision::selectArchiveFields(), 'ar' ); $this->output( "Populating ar_sha1 column legacy rows\n" ); $ac += $this->doSha1LegacyUpdates(); @@ -74,7 +74,7 @@ class PopulateRevisionSha1 extends LoggedUpdateMaintenance { * @param string $prefix * @return int Rows changed */ - protected function doSha1Updates( $table, $idCol, $prefix ) { + protected function doSha1Updates( $table, $idCol, $fields, $prefix ) { $db = $this->getDB( DB_MASTER ); $start = $db->selectField( $table, "MIN($idCol)", false, __METHOD__ ); $end = $db->selectField( $table, "MAX($idCol)", false, __METHOD__ ); @@ -93,7 +93,7 @@ class PopulateRevisionSha1 extends LoggedUpdateMaintenance { $this->output( "...doing $idCol from $blockStart to $blockEnd\n" ); $cond = "$idCol BETWEEN $blockStart AND $blockEnd AND $idCol IS NOT NULL AND {$prefix}_sha1 = ''"; - $res = $db->select( $table, '*', $cond, __METHOD__ ); + $res = $db->select( $table, $fields, $cond, __METHOD__ ); $this->beginTransaction( $db, __METHOD__ ); foreach ( $res as $row ) { @@ -117,7 +117,7 @@ class PopulateRevisionSha1 extends LoggedUpdateMaintenance { protected function doSha1LegacyUpdates() { $count = 0; $db = $this->getDB( DB_MASTER ); - $res = $db->select( 'archive', '*', + $res = $db->select( 'archive', Revision::selectArchiveFields(), [ 'ar_rev_id IS NULL', 'ar_sha1' => '' ], __METHOD__ ); $updateSize = 0; diff --git a/maintenance/postgres/archives/patch-add-3d.sql b/maintenance/postgres/archives/patch-add-3d.sql deleted file mode 100644 index f8927557c3..0000000000 --- a/maintenance/postgres/archives/patch-add-3d.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TYPE media_type ADD VALUE '3D'; diff --git a/maintenance/postgres/archives/patch-site_stats-pk.sql b/maintenance/postgres/archives/patch-site_stats-pk.sql new file mode 100644 index 0000000000..faa5e9f846 --- /dev/null +++ b/maintenance/postgres/archives/patch-site_stats-pk.sql @@ -0,0 +1,3 @@ +ALTER TABLE site_stats DROP CONSTRAINT site_stats_ss_row_id_key; +ALTER TABLE site_stats ADD PRIMARY KEY (ss_row_id); +ALTER TABLE site_stats ALTER ss_row_id SET DEFAULT 0; diff --git a/maintenance/postgres/tables.sql b/maintenance/postgres/tables.sql index eea9e68514..d6d2f24c11 100644 --- a/maintenance/postgres/tables.sql +++ b/maintenance/postgres/tables.sql @@ -296,7 +296,7 @@ CREATE INDEX langlinks_lang_title ON langlinks (ll_lang,ll_title); CREATE TABLE site_stats ( - ss_row_id INTEGER NOT NULL UNIQUE, + ss_row_id INTEGER NOT NULL PRIMARY KEY DEFAULT 0, ss_total_edits INTEGER DEFAULT 0, ss_good_articles INTEGER DEFAULT 0, ss_total_pages INTEGER DEFAULT -1, diff --git a/maintenance/rebuildImages.php b/maintenance/rebuildImages.php index 109350cd74..a8fb9a3bd0 100644 --- a/maintenance/rebuildImages.php +++ b/maintenance/rebuildImages.php @@ -125,12 +125,12 @@ class ImageBuilder extends Maintenance { flush(); } - function buildTable( $table, $key, $callback ) { + function buildTable( $table, $key, $fields, $callback ) { $count = $this->dbw->selectField( $table, 'count(*)', '', __METHOD__ ); $this->init( $count, $table ); $this->output( "Processing $table...\n" ); - $result = $this->getDB( DB_REPLICA )->select( $table, '*', [], __METHOD__ ); + $result = $this->getDB( DB_REPLICA )->select( $table, $fields, [], __METHOD__ ); foreach ( $result as $row ) { $update = call_user_func( $callback, $row, null ); @@ -145,7 +145,7 @@ class ImageBuilder extends Maintenance { function buildImage() { $callback = [ $this, 'imageCallback' ]; - $this->buildTable( 'image', 'img_name', $callback ); + $this->buildTable( 'image', 'img_name', LocalFile::selectFields(), $callback ); } function imageCallback( $row, $copy ) { @@ -157,7 +157,8 @@ class ImageBuilder extends Maintenance { } function buildOldImage() { - $this->buildTable( 'oldimage', 'oi_archive_name', [ $this, 'oldimageCallback' ] ); + $this->buildTable( 'oldimage', 'oi_archive_name', OldLocalFile::selectFields(), + [ $this, 'oldimageCallback' ] ); } function oldimageCallback( $row, $copy ) { diff --git a/maintenance/rebuildtextindex.php b/maintenance/rebuildtextindex.php index faa4d96293..c786925440 100644 --- a/maintenance/rebuildtextindex.php +++ b/maintenance/rebuildtextindex.php @@ -145,9 +145,10 @@ class RebuildTextIndex extends Maintenance { private function createMysqlTextIndex() { $searchindex = $this->db->tableName( 'searchindex' ); $this->output( "\nRebuild the index...\n" ); - $sql = "ALTER TABLE $searchindex ADD FULLTEXT si_title (si_title), " . - "ADD FULLTEXT si_text (si_text)"; - $this->db->query( $sql, __METHOD__ ); + foreach ( [ 'si_title', 'si_text' ] as $field ) { + $sql = "ALTER TABLE $searchindex ADD FULLTEXT $field ($field)"; + $this->db->query( $sql, __METHOD__ ); + } } /** diff --git a/maintenance/refreshFileHeaders.php b/maintenance/refreshFileHeaders.php index fd3faeb622..16702350f6 100644 --- a/maintenance/refreshFileHeaders.php +++ b/maintenance/refreshFileHeaders.php @@ -76,7 +76,7 @@ class RefreshFileHeaders extends Maintenance { $conds[] = "img_minor_mime = {$dbr->addQuotes( $minor_mime )}"; } - $res = $dbr->select( 'image', '*', $conds, + $res = $dbr->select( 'image', LocalFile::selectFields(), $conds, __METHOD__, [ 'LIMIT' => $this->mBatchSize, 'ORDER BY' => 'img_name ASC' ] ); if ( $res->numRows() > 0 ) { diff --git a/maintenance/refreshImageMetadata.php b/maintenance/refreshImageMetadata.php index f6e9e9c35f..41da6b46e4 100644 --- a/maintenance/refreshImageMetadata.php +++ b/maintenance/refreshImageMetadata.php @@ -127,7 +127,7 @@ class RefreshImageMetadata extends Maintenance { do { $res = $dbw->select( 'image', - '*', + LocalFile::selectFields(), array_merge( $conds, $conds2 ), __METHOD__, $options diff --git a/maintenance/resetUserTokens.php b/maintenance/resetUserTokens.php index 481da980da..1c8b4b9d0b 100644 --- a/maintenance/resetUserTokens.php +++ b/maintenance/resetUserTokens.php @@ -64,7 +64,7 @@ class ResetUserTokens extends Maintenance { $this->output( "\n" ); $this->output( "Abort with control-c in the next five seconds " . "(skip this countdown with --nowarn) ... " ); - wfCountDown( 5 ); + $this->countDown( 5 ); } // We list user by user_id from one of the replica DBs diff --git a/maintenance/storage/testCompression.php b/maintenance/storage/testCompression.php index 90d8d03110..deb2ca60d5 100644 --- a/maintenance/storage/testCompression.php +++ b/maintenance/storage/testCompression.php @@ -50,7 +50,11 @@ $type = isset( $options['type'] ) ? $options['type'] : 'ConcatenatedGzipHistoryB $dbr = $this->getDB( DB_REPLICA ); $res = $dbr->select( [ 'page', 'revision', 'text' ], - '*', + array_merge( + Revision::selectFields(), + Revision::selectPageFields(), + Revision::selectTextFields() + ), [ 'page_namespace' => $title->getNamespace(), 'page_title' => $title->getDBkey(), diff --git a/maintenance/update.php b/maintenance/update.php index 5f705ba371..ba66c76683 100755 --- a/maintenance/update.php +++ b/maintenance/update.php @@ -128,7 +128,7 @@ class UpdateMediaWiki extends Maintenance { $this->compatChecks(); } else { $this->output( "Skipping compatibility checks, proceed at your own risk (Ctrl+C to abort)\n" ); - wfCountDown( 5 ); + $this->countDown( 5 ); } // Check external dependencies are up to date @@ -145,6 +145,16 @@ class UpdateMediaWiki extends Maintenance { # This will vomit up an error if there are permissions problems $db = $this->getDB( DB_MASTER ); + # Check to see whether the database server meets the minimum requirements + /** @var DatabaseInstaller $dbInstallerClass */ + $dbInstallerClass = Installer::getDBInstallerClass( $db->getType() ); + $status = $dbInstallerClass::meetsMinimumRequirement( $db->getServerVersion() ); + if ( !$status->isOK() ) { + // This might output some wikitext like but it should be comprehensible + $text = $status->getWikiText(); + $this->error( $text, 1 ); + } + $this->output( "Going to run database updates for " . wfWikiID() . "\n" ); if ( $db->getType() === 'sqlite' ) { /** @var IMaintainableDatabase|DatabaseSqlite $db */ @@ -155,7 +165,7 @@ class UpdateMediaWiki extends Maintenance { if ( !$this->hasOption( 'quick' ) ) { $this->output( "Abort with control-c in the next five seconds " . "(skip this countdown with --quick) ... " ); - wfCountDown( 5 ); + $this->countDown( 5 ); } $time1 = microtime( true ); diff --git a/phpcs.xml b/phpcs.xml deleted file mode 100644 index 29ddca34cc..0000000000 --- a/phpcs.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */languages/messages/Messages*.php - - - */includes/StubObject.php - - . - - - ^extensions/ - ^skins/ - AdminSettings\.php - LocalSettings\.php - StartProfiler\.php - diff --git a/resources/Resources.php b/resources/Resources.php index 055ffbae97..b9986fec57 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -132,14 +132,10 @@ return [ /* jQuery */ 'jquery' => [ - 'scripts' => ( $GLOBALS['wgUsejQueryThree'] ? - [ - 'resources/lib/jquery/jquery3.js', - 'resources/lib/jquery/jquery.migrate.js', - ] : [ - 'resources/lib/jquery/jquery.js', - ] - ), + 'scripts' => [ + 'resources/lib/jquery/jquery3.js', + 'resources/lib/jquery/jquery.migrate.js', + ], 'raw' => true, 'targets' => [ 'desktop', 'mobile' ], ], @@ -169,6 +165,7 @@ return [ 'targets' => [ 'desktop', 'mobile' ], ], 'jquery.badge' => [ + 'deprecated' => 'Please use Notifications instead.', 'scripts' => 'resources/src/jquery/jquery.badge.js', 'styles' => 'resources/src/jquery/jquery.badge.css', 'dependencies' => 'mediawiki.language', @@ -1705,7 +1702,6 @@ return [ 'mediawiki.page.watch.ajax' => [ 'scripts' => 'resources/src/mediawiki/page/watch.js', 'dependencies' => [ - 'mediawiki.page.startup', 'mediawiki.api.watch', 'mediawiki.notify', 'mediawiki.util', @@ -1786,6 +1782,7 @@ return [ ], 'mediawiki.rcfilters.filters.ui' => [ 'scripts' => [ + 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.GroupWidget.js', 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.CheckboxInputWidget.js', 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js', 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ItemMenuOptionWidget.js', @@ -1923,6 +1920,7 @@ return [ 'jquery.makeCollapsible', 'mediawiki.language', 'mediawiki.user', + 'mediawiki.util', 'mediawiki.rcfilters.filters.dm', 'oojs-ui.styles.icons-content', 'oojs-ui.styles.icons-moderation', diff --git a/resources/lib/jquery/jquery.js b/resources/lib/jquery/jquery.js deleted file mode 100644 index 6feb11086f..0000000000 --- a/resources/lib/jquery/jquery.js +++ /dev/null @@ -1,10351 +0,0 @@ -/*! - * jQuery JavaScript Library v1.11.3 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2015-04-28T16:19Z - */ - -(function( global, factory ) { - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper window is present, - // execute the factory and get jQuery - // For environments that do not inherently posses a window with a document - // (such as Node.js), expose a jQuery-making factory as module.exports - // This accentuates the need for the creation of a real window - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Can't do this because several apps including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// Support: Firefox 18+ -// - -var deletedIds = []; - -var slice = deletedIds.slice; - -var concat = deletedIds.concat; - -var push = deletedIds.push; - -var indexOf = deletedIds.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var support = {}; - - - -var - version = "1.11.3", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android<4.1, IE<9 - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: deletedIds.sort, - splice: deletedIds.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - isWindow: function( obj ) { - /* jshint eqeqeq: false */ - return obj != null && obj == obj.window; - }, - - isNumeric: function( obj ) { - // parseFloat NaNs numeric-cast false positives (null|true|false|"") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - // adding 1 corrects loss of precision from parseFloat (#15100) - return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - isPlainObject: function( obj ) { - var key; - - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - try { - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - } catch ( e ) { - // IE8,9 Will throw exceptions on certain host objects #9897 - return false; - } - - // Support: IE<9 - // Handle iteration over inherited properties before own properties. - if ( support.ownLast ) { - for ( key in obj ) { - return hasOwn.call( obj, key ); - } - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call(obj) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && jQuery.trim( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Support: Android<4.1, IE<9 - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( indexOf ) { - return indexOf.call( arr, elem, i ); - } - - len = arr.length; - i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; - - for ( ; i < len; i++ ) { - // Skip accessing in sparse arrays - if ( i in arr && arr[ i ] === elem ) { - return i; - } - } - } - - return -1; - }, - - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - while ( j < len ) { - first[ i++ ] = second[ j++ ]; - } - - // Support: IE<9 - // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) - if ( len !== len ) { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var args, proxy, tmp; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: function() { - return +( new Date() ); - }, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -}); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - - // Support: iOS 8.2 (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = "length" in obj && obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.2.0-pre - * http://sizzlejs.com/ - * - * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-12-16 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // General-purpose constants - MAX_NEGATIVE = 1 << 31, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf as it's faster than native - // http://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + characterEncoding + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - rescape = /'|\\/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }; - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - nodeType = context.nodeType; - - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - if ( !seed && documentIsHTML ) { - - // Try to shortcut find operations when possible (e.g., not under DocumentFragment) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document (jQuery #6963) - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // QSA path - if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - nid = old = expando; - newContext = context; - newSelector = nodeType !== 1 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return !!fn( div ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( div.parentNode ) { - div.parentNode.removeChild( div ); - } - // release memory in IE - div = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = attrs.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, parent, - doc = node ? node.ownerDocument || node : preferredDoc; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - parent = doc.defaultView; - - // Support: IE>8 - // If iframe document is assigned to "document" variable and if iframe has been reloaded, - // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 - // IE6-8 do not support the defaultView property so parent will be undefined - if ( parent && parent !== parent.top ) { - // IE11 does not have attachEvent, so all must suffer - if ( parent.addEventListener ) { - parent.addEventListener( "unload", unloadHandler, false ); - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", unloadHandler ); - } - } - - /* Support tests - ---------------------------------------------------------------------- */ - documentIsHTML = !isXML( doc ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); - }); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; - }); - - // ID find and filter - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [ m ] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - // Support: IE6/7 - // getElementById is not reliable as a find shortcut - delete Expr.find["ID"]; - - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See http://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - docElem.appendChild( div ).innerHTML = "
    " + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowcapture^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+ - if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibing-combinator selector` fails - if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - - assert(function( div ) { - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = doc.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return doc; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch (e) {} - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - // Don't keep the element (issue #299) - input[0] = null; - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (oldCache = outerCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - outerCache[ dir ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context !== document && context; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is no seed and only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { - // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = ""; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = ""; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ - return !!qualifier.call( elem, i, elem ) !== not; - }); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - }); - - } - - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; - }); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - })); -}; - -jQuery.fn.extend({ - find: function( selector ) { - var i, - ret = [], - self = this, - len = self.length; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - filter: function( selector ) { - return this.pushStack( winnow(this, selector || [], false) ); - }, - not: function( selector ) { - return this.pushStack( winnow(this, selector || [], true) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -}); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - init = jQuery.fn.init = function( selector, context ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return typeof rootjQuery.ready !== "undefined" ? - rootjQuery.ready( selector ) : - // Execute immediately if ready is not present - selector( jQuery ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.extend({ - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -jQuery.fn.extend({ - has: function( target ) { - var i, - targets = jQuery( target, this ), - len = targets.length; - - return this.filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { - // Always skip document fragments - if ( cur.nodeType < 11 && (pos ? - pos.index(cur) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector(cur, selectors)) ) { - - matched.push( cur ); - break; - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; - } - - // index in selector - if ( typeof elem === "string" ) { - return jQuery.inArray( this[0], jQuery( elem ) ); - } - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.unique( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -function sibling( cur, dir ) { - do { - cur = cur[ dir ]; - } while ( cur && cur.nodeType !== 1 ); - - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - if ( this.length > 1 ) { - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - ret = jQuery.unique( ret ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - } - - return this.pushStack( ret ); - }; -}); -var rnotwhite = (/\S+/g); - - - -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // First callback to fire (used internally by add and fireWith) - firingStart, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - firingLength = 0; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( list && ( !fired || stack ) ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( values === progressValues ) { - deferred.notifyWith( contexts, values ); - - } else if ( !(--remaining) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // if we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); - - -// The deferred used on DOM ready -var readyList; - -jQuery.fn.ready = function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; -}; - -jQuery.extend({ - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } - } -}); - -/** - * Clean-up method for dom ready events - */ -function detach() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } -} - -/** - * The ready event handler and self cleanup method - */ -function completed() { - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { - detach(); - jQuery.ready(); - } -} - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // we once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - - // If IE event model is used - } else { - // Ensure firing before onload, maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", completed ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", completed ); - - // If IE and not a frame - // continually check to see if the document is ready - var top = false; - - try { - top = window.frameElement == null && document.documentElement; - } catch(e) {} - - if ( top && top.doScroll ) { - (function doScrollCheck() { - if ( !jQuery.isReady ) { - - try { - // Use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - top.doScroll("left"); - } catch(e) { - return setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); - - // and execute any waiting functions - jQuery.ready(); - } - })(); - } - } - } - return readyList.promise( obj ); -}; - - -var strundefined = typeof undefined; - - - -// Support: IE<9 -// Iteration over object's inherited properties before its own -var i; -for ( i in jQuery( support ) ) { - break; -} -support.ownLast = i !== "0"; - -// Note: most support tests are defined in their respective modules. -// false until the test is run -support.inlineBlockNeedsLayout = false; - -// Execute ASAP in case we need to set body.style.zoom -jQuery(function() { - // Minified: var a,b,c,d - var val, div, body, container; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Return for frameset docs that don't have a body - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - if ( typeof div.style.zoom !== strundefined ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; - - support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; - if ( val ) { - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - // Support: IE<8 - body.style.zoom = 1; - } - } - - body.removeChild( container ); -}); - - - - -(function() { - var div = document.createElement( "div" ); - - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -})(); - - -/** - * Determines whether an object can have data - */ -jQuery.acceptData = function( elem ) { - var noData = jQuery.noData[ (elem.nodeName + " ").toLowerCase() ], - nodeType = +elem.nodeType || 1; - - // Do not set data on non-element DOM nodes because it will not be cleared (#8335). - return nodeType !== 1 && nodeType !== 9 ? - false : - - // Nodes accept data unless otherwise specified; rejection can be conditional - !noData || noData !== true && elem.getAttribute("classid") === noData; -}; - - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /([A-Z])/g; - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - - var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// checks a cache object for emptiness -function isEmptyDataObject( obj ) { - var name; - for ( name in obj ) { - - // if the public data object is empty, the private is still empty - if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { - continue; - } - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} - -function internalData( elem, name, data, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var ret, thisCache, - internalKey = jQuery.expando, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; - } - } - - if ( !cache[ id ] ) { - // Avoid exposing jQuery metadata on plain JS objects when the object - // is serialized using JSON.stringify - cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ] = jQuery.extend( cache[ id ], name ); - } else { - cache[ id ].data = jQuery.extend( cache[ id ].data, name ); - } - } - - thisCache = cache[ id ]; - - // jQuery data() is stored in a separate object inside the object's internal data - // cache in order to avoid key collisions between internal data and user-defined - // data. - if ( !pvt ) { - if ( !thisCache.data ) { - thisCache.data = {}; - } - - thisCache = thisCache.data; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // Check for both converted-to-camel and non-converted data property names - // If a data property was specified - if ( typeof name === "string" ) { - - // First Try to find as-is property data - ret = thisCache[ name ]; - - // Test for null|undefined property data - if ( ret == null ) { - - // Try to find the camelCased property - ret = thisCache[ jQuery.camelCase( name ) ]; - } - } else { - ret = thisCache; - } - - return ret; -} - -function internalRemoveData( elem, name, pvt ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var thisCache, i, - isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - - thisCache = pvt ? cache[ id ] : cache[ id ].data; - - if ( thisCache ) { - - // Support array or space separated string names for data keys - if ( !jQuery.isArray( name ) ) { - - // try the string as a key before any manipulation - if ( name in thisCache ) { - name = [ name ]; - } else { - - // split the camel cased version by spaces unless a key with the spaces exists - name = jQuery.camelCase( name ); - if ( name in thisCache ) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = name.concat( jQuery.map( name, jQuery.camelCase ) ); - } - - i = name.length; - while ( i-- ) { - delete thisCache[ name[i] ]; - } - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( !pvt ) { - delete cache[ id ].data; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject( cache[ id ] ) ) { - return; - } - } - - // Destroy the cache - if ( isNode ) { - jQuery.cleanData( [ elem ], true ); - - // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) - /* jshint eqeqeq: false */ - } else if ( support.deleteExpando || cache != cache.window ) { - /* jshint eqeqeq: true */ - delete cache[ id ]; - - // When all else fails, null - } else { - cache[ id ] = null; - } -} - -jQuery.extend({ - cache: {}, - - // The following elements (space-suffixed to avoid Object.prototype collisions) - // throw uncatchable exceptions if you attempt to set expando properties - noData: { - "applet ": true, - "embed ": true, - // ...but Flash objects (which have this classid) *can* handle expandos - "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data ) { - return internalData( elem, name, data ); - }, - - removeData: function( elem, name ) { - return internalRemoveData( elem, name ); - }, - - // For internal use only. - _data: function( elem, name, data ) { - return internalData( elem, name, data, true ); - }, - - _removeData: function( elem, name ) { - return internalRemoveData( elem, name, true ); - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var i, name, data, - elem = this[0], - attrs = elem && elem.attributes; - - // Special expections of .data basically thwart jQuery.access, - // so implement the relevant behavior ourselves - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = jQuery.data( elem ); - - if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE11+ - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice(5) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - jQuery._data( elem, "parsedAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - return arguments.length > 1 ? - - // Sets one value - this.each(function() { - jQuery.data( this, key, value ); - }) : - - // Gets one value - // Try to fetch any internally stored data first - elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined; - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - - -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = jQuery._data( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray(data) ) { - queue = jQuery._data( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // not intended for public consumption - generates a queueHooks object, or returns the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return jQuery._data( elem, key ) || jQuery._data( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData( elem, type + "queue" ); - jQuery._removeData( elem, key ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = jQuery._data( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHidden = function( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); - }; - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - length = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < length; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - length ? fn( elems[0], key ) : emptyGet; -}; -var rcheckableType = (/^(?:checkbox|radio)$/i); - - - -(function() { - // Minified: var a,b,c - var input = document.createElement( "input" ), - div = document.createElement( "div" ), - fragment = document.createDocumentFragment(); - - // Setup - div.innerHTML = "
    a"; - - // IE strips leading whitespace when .innerHTML is used - support.leadingWhitespace = div.firstChild.nodeType === 3; - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - support.tbody = !div.getElementsByTagName( "tbody" ).length; - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; - - // Makes sure cloning an html5 element does not cause problems - // Where outerHTML is undefined, this still works - support.html5Clone = - document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav>"; - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - input.type = "checkbox"; - input.checked = true; - fragment.appendChild( input ); - support.appendChecked = input.checked; - - // Make sure textarea (and checkbox) defaultValue is properly cloned - // Support: IE6-IE11+ - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // #11217 - WebKit loses check when the name is after the checked attribute - fragment.appendChild( div ); - div.innerHTML = ""; - - // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 - // old WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<9 - // Opera does not clone events (and typeof div.attachEvent === undefined). - // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() - support.noCloneEvent = true; - if ( div.attachEvent ) { - div.attachEvent( "onclick", function() { - support.noCloneEvent = false; - }); - - div.cloneNode( true ).click(); - } - - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - } -})(); - - -(function() { - var i, eventName, - div = document.createElement( "div" ); - - // Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event) - for ( i in { submit: true, change: true, focusin: true }) { - eventName = "on" + i; - - if ( !(support[ i + "Bubbles" ] = eventName in window) ) { - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) - div.setAttribute( eventName, "t" ); - support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -})(); - - -var rformElems = /^(?:input|select|textarea)$/i, - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - var tmp, events, t, handleObjIn, - special, eventHandle, handleObj, - handlers, type, namespaces, origType, - elemData = jQuery._data( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; - }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener/attachEvent if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - var j, handleObj, tmp, - origCount, t, events, - special, handlers, type, - namespaces, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - - // removeData also checks for emptiness and clears the expando if empty - // so use it instead of delete - jQuery._removeData( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - var handle, ontype, cur, - bubbleType, special, tmp, i, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && jQuery.acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && - jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction() check here because IE6/7 fails that test. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - try { - elem[ type ](); - } catch ( e ) { - // IE<9 dies on focus/blur to hidden element (#1486,#12518) - // only reproducible on winXP IE8 native, not IE9 in IE8 mode - } - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, ret, handleObj, matched, j, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var sel, handleObj, matches, i, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - /* jshint eqeqeq: false */ - for ( ; cur != this; cur = cur.parentNode || this ) { - /* jshint eqeqeq: true */ - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: IE<9 - // Fix target property (#1925) - if ( !event.target ) { - event.target = originalEvent.srcElement || document; - } - - // Support: Chrome 23+, Safari? - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Support: IE<9 - // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) - event.metaKey = !!event.metaKey; - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var body, eventDoc, doc, - button = original.button, - fromElement = original.fromElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && fromElement ) { - event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - try { - this.focus(); - return false; - } catch ( e ) { - // Support: IE<9 - // If we error on focus to hidden element (#1486, #12518), - // let .trigger() run the handlers - } - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - var name = "on" + type; - - if ( elem.detachEvent ) { - - // #8545, #7054, preventing memory leaks for custom events in IE6-8 - // detachEvent needed property on element, by name of that event, to properly expose it to GC - if ( typeof elem[ name ] === strundefined ) { - elem[ name ] = null; - } - - elem.detachEvent( name, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - // Support: IE < 9, Android < 4.0 - src.returnValue === false ? - returnTrue : - returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - if ( !e ) { - return; - } - - // If preventDefault exists, run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // Support: IE - // Otherwise set the returnValue property of the original event to false - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - if ( !e ) { - return; - } - // If stopPropagation exists, run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - - // Support: IE - // Set the cancelBubble property of the original event to true - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && e.stopImmediatePropagation ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// IE submit delegation -if ( !support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Lazy-add a submit handler when a descendant form may potentially be submitted - jQuery.event.add( this, "click._submit keypress._submit", function( e ) { - // Node name check avoids a VML-related crash in IE (#9807) - var elem = e.target, - form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; - if ( form && !jQuery._data( form, "submitBubbles" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submit_bubble = true; - }); - jQuery._data( form, "submitBubbles", true ); - } - }); - // return undefined since we don't need an event listener - }, - - postDispatch: function( event ) { - // If form was submitted by the user, bubble the event up the tree - if ( event._submit_bubble ) { - delete event._submit_bubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event, true ); - } - } - }, - - teardown: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Remove delegated handlers; cleanData eventually reaps submit handlers attached above - jQuery.event.remove( this, "._submit" ); - } - }; -} - -// IE change delegation and checkbox/radio fix -if ( !support.changeBubbles ) { - - jQuery.event.special.change = { - - setup: function() { - - if ( rformElems.test( this.nodeName ) ) { - // IE doesn't fire change on a check/radio until blur; trigger it on click - // after a propertychange. Eat the blur-change in special.change.handle. - // This still fires onchange a second time for check/radio after blur. - if ( this.type === "checkbox" || this.type === "radio" ) { - jQuery.event.add( this, "propertychange._change", function( event ) { - if ( event.originalEvent.propertyName === "checked" ) { - this._just_changed = true; - } - }); - jQuery.event.add( this, "click._change", function( event ) { - if ( this._just_changed && !event.isTrigger ) { - this._just_changed = false; - } - // Allow triggered, simulated change events (#11500) - jQuery.event.simulate( "change", this, event, true ); - }); - } - return false; - } - // Delegated event; lazy-add a change handler on descendant inputs - jQuery.event.add( this, "beforeactivate._change", function( e ) { - var elem = e.target; - - if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event, true ); - } - }); - jQuery._data( elem, "changeBubbles", true ); - } - }); - }, - - handle: function( event ) { - var elem = event.target; - - // Swallow native change events from checkbox/radio, we already triggered them above - if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { - return event.handleObj.handler.apply( this, arguments ); - } - }, - - teardown: function() { - jQuery.event.remove( this, "._change" ); - - return !rformElems.test( this.nodeName ); - } - }; -} - -// Create "bubbling" focus and blur events -if ( !support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - jQuery._removeData( doc, fix ); - } else { - jQuery._data( doc, fix, attaches ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var type, origFn; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); - - -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); - - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } - } - return safeFrag; -} - -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + - "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rtbody = /\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - option: [ 1, "" ], - legend: [ 1, "
    ", "
    " ], - area: [ 1, "", "" ], - param: [ 1, "", "" ], - thead: [ 1, "", "
    " ], - tr: [ 2, "", "
    " ], - col: [ 2, "", "
    " ], - td: [ 3, "", "
    " ], - - // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, - // unless wrapped in a div with non-breaking characters in front of it. - _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
    ", "
    " ] - }, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement("div") ); - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -function getAll( context, tag ) { - var elems, elem, - i = 0, - found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) : - undefined; - - if ( !found ) { - for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { - if ( !tag || jQuery.nodeName( elem, tag ) ) { - found.push( elem ); - } else { - jQuery.merge( found, getAll( elem, tag ) ); - } - } - } - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], found ) : - found; -} - -// Used in buildFragment, fixes the defaultChecked property -function fixDefaultChecked( elem ) { - if ( rcheckableType.test( elem.type ) ) { - elem.defaultChecked = elem.checked; - } -} - -// Support: IE<8 -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? - - elem.getElementsByTagName("tbody")[0] || - elem.appendChild( elem.ownerDocument.createElement("tbody") ) : - elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - if ( match ) { - elem.type = match[1]; - } else { - elem.removeAttribute("type"); - } - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var elem, - i = 0; - for ( ; (elem = elems[i]) != null; i++ ) { - jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); - } -} - -function cloneCopyEvent( src, dest ) { - - if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { - return; - } - - var type, i, l, - oldData = jQuery._data( src ), - curData = jQuery._data( dest, oldData ), - events = oldData.events; - - if ( events ) { - delete curData.handle; - curData.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - - // make the cloned public data object a copy from the original - if ( curData.data ) { - curData.data = jQuery.extend( {}, curData.data ); - } -} - -function fixCloneNodeIssues( src, dest ) { - var nodeName, e, data; - - // We do not need to do anything for non-Elements - if ( dest.nodeType !== 1 ) { - return; - } - - nodeName = dest.nodeName.toLowerCase(); - - // IE6-8 copies events bound via attachEvent when using cloneNode. - if ( !support.noCloneEvent && dest[ jQuery.expando ] ) { - data = jQuery._data( dest ); - - for ( e in data.events ) { - jQuery.removeEvent( dest, e, data.handle ); - } - - // Event data gets referenced instead of copied if the expando gets copied too - dest.removeAttribute( jQuery.expando ); - } - - // IE blanks contents when cloning scripts, and tries to evaluate newly-set text - if ( nodeName === "script" && dest.text !== src.text ) { - disableScript( dest ).text = src.text; - restoreScript( dest ); - - // IE6-10 improperly clones children of object elements using classid. - // IE10 throws NoModificationAllowedError if parent is null, #12132. - } else if ( nodeName === "object" ) { - if ( dest.parentNode ) { - dest.outerHTML = src.outerHTML; - } - - // This path appears unavoidable for IE9. When cloning an object - // element in IE9, the outerHTML strategy above is not sufficient. - // If the src has innerHTML and the destination does not, - // copy the src.innerHTML into the dest.innerHTML. #10324 - if ( support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { - dest.innerHTML = src.innerHTML; - } - - } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - // IE6-8 fails to persist the checked state of a cloned checkbox - // or radio button. Worse, IE6-7 fail to give the cloned element - // a checked appearance if the defaultChecked value isn't also set - - dest.defaultChecked = dest.checked = src.checked; - - // IE6-7 get confused and end up setting the value of a cloned - // checkbox/radio button to an empty string instead of "on" - if ( dest.value !== src.value ) { - dest.value = src.value; - } - - // IE6-8 fails to return the selected option to the default selected - // state when cloning options - } else if ( nodeName === "option" ) { - dest.defaultSelected = dest.selected = src.defaultSelected; - - // IE6-8 fails to set the defaultValue to the correct value when - // cloning other types of input fields - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, - inPage = jQuery.contains( elem.ownerDocument, elem ); - - if ( support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { - clone = elem.cloneNode( true ); - - // IE<=8 does not properly clone detached, unknown element nodes - } else { - fragmentDiv.innerHTML = elem.outerHTML; - fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); - } - - if ( (!support.noCloneEvent || !support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - // Fix all IE cloning issues - for ( i = 0; (node = srcElements[i]) != null; ++i ) { - // Ensure that the destination node is not null; Fixes #9587 - if ( destElements[i] ) { - fixCloneNodeIssues( node, destElements[i] ); - } - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0; (node = srcElements[i]) != null; i++ ) { - cloneCopyEvent( node, destElements[i] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - destElements = srcElements = node = null; - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var j, elem, contains, - tmp, tag, tbody, wrap, - l = elems.length, - - // Ensure a safe fragment - safe = createSafeFragment( context ), - - nodes = [], - i = 0; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || safe.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - - tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; - - // Descend through wrappers to the right content - j = wrap[0]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Manually add leading whitespace removed by IE - if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); - } - - // Remove IE's autoinserted from table fragments - if ( !support.tbody ) { - - // String was a , *may* have spurious - elem = tag === "table" && !rtbody.test( elem ) ? - tmp.firstChild : - - // String was a bare or - wrap[1] === "
    " && !rtbody.test( elem ) ? - tmp : - 0; - - j = elem && elem.childNodes.length; - while ( j-- ) { - if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { - elem.removeChild( tbody ); - } - } - } - - jQuery.merge( nodes, tmp.childNodes ); - - // Fix #12392 for WebKit and IE > 9 - tmp.textContent = ""; - - // Fix #12392 for oldIE - while ( tmp.firstChild ) { - tmp.removeChild( tmp.firstChild ); - } - - // Remember the top-level container for proper cleanup - tmp = safe.lastChild; - } - } - } - - // Fix #11356: Clear elements from fragment - if ( tmp ) { - safe.removeChild( tmp ); - } - - // Reset defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - if ( !support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( safe.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - tmp = null; - - return safe; - }, - - cleanData: function( elems, /* internal */ acceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - deleteExpando = support.deleteExpando, - special = jQuery.event.special; - - for ( ; (elem = elems[i]) != null; i++ ) { - if ( acceptData || jQuery.acceptData( elem ) ) { - - id = elem[ internalKey ]; - data = id && cache[ id ]; - - if ( data ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Remove cache only if it was not already removed by jQuery.event.remove - if ( cache[ id ] ) { - - delete cache[ id ]; - - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( deleteExpando ) { - delete elem[ internalKey ]; - - } else if ( typeof elem.removeAttribute !== strundefined ) { - elem.removeAttribute( internalKey ); - - } else { - elem[ internalKey ] = null; - } - - deletedIds.push( id ); - } - } - } - } - } -}); - -jQuery.fn.extend({ - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); - }, null, value, arguments.length ); - }, - - append: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - remove: function( selector, keepData /* Internal Use Only */ ) { - var elem, - elems = selector ? jQuery.filter( selector, this ) : this, - i = 0; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - } - - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - // If this is a select, ensure that it displays empty (#12336) - // Support: IE<9 - if ( elem.options && jQuery.nodeName( elem, "select" ) ) { - elem.options.length = 0; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map(function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined ) { - return elem.nodeType === 1 ? - elem.innerHTML.replace( rinlinejQuery, "" ) : - undefined; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - ( support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1>" ); - - try { - for (; i < l; i++ ) { - // Remove element nodes and prevent memory leaks - elem = this[i] || {}; - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch(e) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var arg = arguments[ 0 ]; - - // Make the changes, replacing each context element with the new content - this.domManip( arguments, function( elem ) { - arg = this.parentNode; - - jQuery.cleanData( getAll( this ) ); - - if ( arg ) { - arg.replaceChild( elem, this ); - } - }); - - // Force removal if there was no new content (e.g., from empty arguments) - return arg && (arg.length || arg.nodeType) ? this : this.remove(); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, callback ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[0], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[0] = value.call( this, index, self.html() ); - } - self.domManip( args, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( this[i], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); - } - } - } - } - - // Fix #11809: Avoid leaking memory - fragment = first = null; - } - } - - return this; - } -}); - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - i = 0, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone(true); - jQuery( insert[i] )[ original ]( elems ); - - // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - - -var iframe, - elemdisplay = {}; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var style, - elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? - - // Use of this method is a temporary fix (more like optmization) until something better comes along, - // since it was removed from specification and supported only in FF - style.display : jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - - // Use the already-created iframe if possible - iframe = (iframe || jQuery( "