From: jenkins-bot Date: Sat, 12 Aug 2017 17:19:46 +0000 (+0000) Subject: Merge "mw.util: Add a deprecation message to escapeId()" X-Git-Tag: 1.31.0-rc.0~2406 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dmes_infos.php?a=commitdiff_plain;h=c05926bc7ce57cbea42e90053ef799fa58b9da1e;hp=66ae68ee44dc7560d431db1b141f5385d0dddbd4;p=lhc%2Fweb%2Fwiklou.git Merge "mw.util: Add a deprecation message to escapeId()" --- diff --git a/composer.json b/composer.json index bc48360283..32933e67a6 100644 --- a/composer.json +++ b/composer.json @@ -53,7 +53,7 @@ "jakub-onderka/php-parallel-lint": "0.9.2", "jetbrains/phpstorm-stubs": "dev-master#1b9906084d6635456fcf3f3a01f0d7d5b99a578a", "justinrainbow/json-schema": "~5.2", - "mediawiki/mediawiki-codesniffer": "0.10.1", + "mediawiki/mediawiki-codesniffer": "0.11.0", "monolog/monolog": "~1.22.1", "nikic/php-parser": "2.1.0", "nmred/kafka-php": "0.1.5", diff --git a/includes/AuthPlugin.php b/includes/AuthPlugin.php index b85e1d6fc1..b73ecbd8ed 100644 --- a/includes/AuthPlugin.php +++ b/includes/AuthPlugin.php @@ -73,8 +73,8 @@ class AuthPlugin { /** * Modify options in the login template. * - * @param BaseTemplate $template - * @param string $type 'signup' or 'login'. Added in 1.16. + * @param BaseTemplate &$template + * @param string &$type 'signup' or 'login'. Added in 1.16. */ public function modifyUITemplate( &$template, &$type ) { # Override this! @@ -124,7 +124,7 @@ class AuthPlugin { * * @deprecated since 1.26, use the UserLoggedIn hook instead. And assigning * a different User object to $user is no longer supported. - * @param User $user + * @param User &$user * @return bool */ public function updateUser( &$user ) { @@ -286,7 +286,7 @@ class AuthPlugin { * * @deprecated since 1.26, use the UserLoggedIn hook instead. And assigning * a different User object to $user is no longer supported. - * @param User $user + * @param User &$user * @param bool $autocreate True if user is being autocreated on login */ public function initUser( &$user, $autocreate = false ) { @@ -306,7 +306,7 @@ class AuthPlugin { /** * Get an instance of a User object * - * @param User $user + * @param User &$user * * @return AuthPluginUser */ @@ -359,6 +359,7 @@ class AuthPluginUser { /** * @deprecated since 1.28, use SessionManager::invalidateSessionForUser() instead. + * @return bool */ public function resetAuthToken() { # Override this! diff --git a/includes/Block.php b/includes/Block.php index 8fc2686305..843ea54484 100644 --- a/includes/Block.php +++ b/includes/Block.php @@ -1501,7 +1501,7 @@ class Block { return $id; } $hmac = MWCryptHash::hmac( $id, $secretKey, false ); - $cookieValue = $id . '!' . $hmac; + $cookieValue = $id . '!' . $hmac; return $cookieValue; } diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index a28aa5b3f5..ba755fa1a2 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -5797,7 +5797,7 @@ $wgPasswordAttemptThrottle = [ // Long term limit. We need to balance the risk // of somebody using this as a DoS attack to lock someone // out of their account, and someone doing a brute force attack. - [ 'count' => 150, 'seconds' => 60*60*48 ], + [ 'count' => 150, 'seconds' => 60 * 60 * 48 ], ]; /** diff --git a/includes/EditPage.php b/includes/EditPage.php index cfb78cd78d..49341c5e7e 100644 --- a/includes/EditPage.php +++ b/includes/EditPage.php @@ -852,7 +852,7 @@ class EditPage { /** * This function collects the form data and uses it to populate various member variables. - * @param WebRequest $request + * @param WebRequest &$request * @throws ErrorPageError */ public function importFormData( &$request ) { @@ -1080,7 +1080,7 @@ class EditPage { * this method should be overridden and return the page text that will be used * for saving, preview parsing and so on... * - * @param WebRequest $request + * @param WebRequest &$request * @return string|null */ protected function importContentFormData( &$request ) { @@ -1432,7 +1432,7 @@ class EditPage { /** * Make sure the form isn't faking a user's credentials. * - * @param WebRequest $request + * @param WebRequest &$request * @return bool * @private */ @@ -1475,7 +1475,7 @@ class EditPage { /** * Attempt submission - * @param array|bool $resultDetails See docs for $result in internalAttemptSave + * @param array|bool &$resultDetails See docs for $result in internalAttemptSave * @throws UserBlockedError|ReadOnlyError|ThrottledError|PermissionsError * @return Status The resulting status object. */ @@ -1721,7 +1721,7 @@ class EditPage { /** * Attempt submission (no UI) * - * @param array $result Array to add statuses to, currently with the + * @param array &$result Array to add statuses to, currently with the * possible keys: * - spam (string): Spam string from content if any spam is detected by * matchSpamRegex. @@ -4202,7 +4202,7 @@ class EditPage { * Returns an array of html code of the following checkboxes old style: * minor and watch * - * @param int $tabindex Current tabindex + * @param int &$tabindex Current tabindex * @param array $checked See getCheckboxesDefinition() * @return array */ @@ -4260,7 +4260,7 @@ class EditPage { * Returns an array of html code of the following checkboxes: * minor and watch * - * @param int $tabindex Current tabindex + * @param int &$tabindex Current tabindex * @param array $checked Array of checkbox => bool, where bool indicates the checked * status of the checkbox * @@ -4333,7 +4333,7 @@ class EditPage { $newPage = !$this->mTitle->exists(); if ( $labelAsPublish ) { - $buttonLabelKey = $newPage ? 'publishpage' : 'publishchanges'; + $buttonLabelKey = $newPage ? 'publishpage' : 'publishchanges'; } else { $buttonLabelKey = $newPage ? 'savearticle' : 'savechanges'; } @@ -4345,7 +4345,7 @@ class EditPage { * Returns an array of html code of the following buttons: * save, diff and preview * - * @param int $tabindex Current tabindex + * @param int &$tabindex Current tabindex * * @return array */ diff --git a/includes/FauxRequest.php b/includes/FauxRequest.php index 3b2283b77a..2f7f75b4d7 100644 --- a/includes/FauxRequest.php +++ b/includes/FauxRequest.php @@ -126,7 +126,7 @@ class FauxRequest extends WebRequest { /** * @since 1.26 - * @param string $name Unprefixed name of the cookie to set + * @param string $key Unprefixed name of the cookie to set * @param string|null $value Value of the cookie to set * @param string|null $prefix Cookie prefix. Defaults to $wgCookiePrefix */ @@ -152,6 +152,7 @@ class FauxRequest extends WebRequest { /** * @since 1.25 + * @param string $url */ public function setRequestURL( $url ) { $this->requestUrl = $url; @@ -160,6 +161,7 @@ class FauxRequest extends WebRequest { /** * @since 1.25 MWException( "getRequestURL not implemented" ) * no longer thrown. + * @return string */ public function getRequestURL() { if ( $this->requestUrl === null ) { diff --git a/includes/FileDeleteForm.php b/includes/FileDeleteForm.php index 8a1cd35297..8c843c4438 100644 --- a/includes/FileDeleteForm.php +++ b/includes/FileDeleteForm.php @@ -143,9 +143,9 @@ class FileDeleteForm { /** * Really delete the file * - * @param Title $title - * @param File $file - * @param string $oldimage Archive name + * @param Title &$title + * @param File &$file + * @param string &$oldimage Archive name * @param string $reason Reason of the deletion * @param bool $suppress Whether to mark all deleted versions as restricted * @param User $user User object performing the request @@ -398,8 +398,8 @@ class FileDeleteForm { * value was provided, does it correspond to an * existing, local, old version of this file? * - * @param File $file - * @param File $oldfile + * @param File &$file + * @param File &$oldfile * @param File $oldimage * @return bool */ diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php index 70784ba5a7..49159ed3df 100644 --- a/includes/GlobalFunctions.php +++ b/includes/GlobalFunctions.php @@ -241,7 +241,7 @@ function wfArrayFilterByKey( array $arr, callable $callback ) { * @param string|int $key * @param mixed $value * @param mixed $default - * @param array $changed Array to alter + * @param array &$changed Array to alter * @throws MWException */ function wfAppendToArrayIfNotDefault( $key, $value, $default, &$changed ) { @@ -1750,7 +1750,7 @@ function wfEscapeWikiText( $text ) { * If source is NULL, it just returns the value, it doesn't set the variable * If force is true, it will set the value even if source is NULL * - * @param mixed $dest + * @param mixed &$dest * @param mixed $source * @param bool $force * @return mixed @@ -1766,7 +1766,7 @@ function wfSetVar( &$dest, $source, $force = false ) { /** * As for wfSetVar except setting a bit * - * @param int $dest + * @param int &$dest * @param int $bit * @param bool $state * @@ -2234,7 +2234,8 @@ function wfIniGetBool( $setting ) { * (https://bugs.php.net/bug.php?id=26285) and the locale problems on Linux in * PHP 5.2.6+ (bug backported to earlier distro releases of PHP). * - * @param string ... strings to escape and glue together, or a single array of strings parameter + * @param string $args,... strings to escape and glue together, + * or a single array of strings parameter * @return string */ function wfEscapeShellArg( /*...*/ ) { @@ -2618,7 +2619,7 @@ function wfShellWikiCmd( $script, array $parameters = [], array $options = [] ) * @param string $old * @param string $mine * @param string $yours - * @param string $result + * @param string &$result * @return bool */ function wfMerge( $old, $mine, $yours, &$result ) { diff --git a/includes/Licenses.php b/includes/Licenses.php index da1a8da6b0..6467777bff 100644 --- a/includes/Licenses.php +++ b/includes/Licenses.php @@ -92,7 +92,7 @@ class Licenses extends HTMLFormField { } /** - * @param array $list + * @param array &$list * @param array $path * @param mixed $item */ diff --git a/includes/Linker.php b/includes/Linker.php index 2ca851c13f..d55f0e0bb5 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -154,6 +154,11 @@ class Linker { * @since 1.16.3 * @deprecated since 1.28, use MediaWiki\Linker\LinkRenderer instead * @see Linker::link + * @param Title $target + * @param string $html + * @param array $customAttribs + * @param array $query + * @param string|array $options * @return string */ public static function linkKnown( @@ -1350,7 +1355,7 @@ class Linker { /** * @param Title $contextTitle * @param string $target - * @param string $text + * @param string &$text * @return string */ public static function normalizeSubpageLink( $contextTitle, $target, &$text ) { diff --git a/includes/MagicWord.php b/includes/MagicWord.php index 1703179c9e..e70b8cec5c 100644 --- a/includes/MagicWord.php +++ b/includes/MagicWord.php @@ -518,7 +518,7 @@ class MagicWord { * Returns true if the text matches the word, and alters the * input string, removing all instances of the word * - * @param string $text + * @param string &$text * * @return bool */ @@ -534,7 +534,7 @@ class MagicWord { } /** - * @param string $text + * @param string &$text * @return bool */ public function matchStartAndRemove( &$text ) { @@ -655,7 +655,7 @@ class MagicWord { * * @param array $magicarr * @param string $subject - * @param string $result + * @param string &$result * * @return bool */ @@ -677,7 +677,7 @@ class MagicWord { * Adds all the synonyms of this MagicWord to an array, to allow quick * lookup in a list of magic words * - * @param array $array + * @param array &$array * @param string $value */ public function addToArray( &$array, $value ) { diff --git a/includes/MagicWordArray.php b/includes/MagicWordArray.php index 6a9ead5f1e..7461191fca 100644 --- a/includes/MagicWordArray.php +++ b/includes/MagicWordArray.php @@ -260,7 +260,7 @@ class MagicWordArray { * Returns an associative array, ID => param value, for all items that match * Removes the matched items from the input string (passed by reference) * - * @param string $text + * @param string &$text * * @return array */ @@ -304,7 +304,7 @@ class MagicWordArray { * Return false if no match found and $text is not modified. * Does not match parameters. * - * @param string $text + * @param string &$text * * @return int|bool False on failure */ diff --git a/includes/Message.php b/includes/Message.php index be6b0aff0f..8777c6fee1 100644 --- a/includes/Message.php +++ b/includes/Message.php @@ -488,7 +488,7 @@ class Message implements MessageSpecifier, Serializable { * * @since 1.17 * - * @param mixed ... Parameters as strings or arrays from + * @param mixed $args,... Parameters as strings or arrays from * Message::numParam() and the like, or a single array of parameters. * * @return Message $this diff --git a/includes/MovePage.php b/includes/MovePage.php index 8d0c33dcc2..39dc6424db 100644 --- a/includes/MovePage.php +++ b/includes/MovePage.php @@ -511,7 +511,7 @@ class MovePage { $logEntry->setComment( $reason ); $logEntry->setParameters( [ '4::target' => $nt->getPrefixedText(), - '5::noredir' => $redirectContent ? '0': '1', + '5::noredir' => $redirectContent ? '0' : '1', ] ); $formatter = LogFormatter::newFromEntry( $logEntry ); diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 7a2cf0070e..2a3a7cd147 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -571,6 +571,7 @@ class OutputPage extends ContextSource { * @param bool $filter Whether to filter out insufficiently trustworthy modules * @param string|null $position If not null, only return modules with this position * @param string $param + * @param string $type * @return array Array of module names */ public function getModules( $filter = false, $position = null, $param = 'mModules', @@ -688,7 +689,7 @@ class OutputPage extends ContextSource { * Add one or more head items to the output * * @since 1.28 - * @param string|string[] $value Raw HTML + * @param string|string[] $values Raw HTML */ public function addHeadItems( $values ) { $this->mHeadItems = array_merge( $this->mHeadItems, (array)$values ); @@ -1715,7 +1716,7 @@ class OutputPage extends ContextSource { * Add wikitext with a custom Title object * * @param string $text Wikitext - * @param Title $title + * @param Title &$title * @param bool $linestart Is this the start of a line? */ public function addWikiTextWithTitle( $text, &$title, $linestart = true ) { @@ -1726,7 +1727,7 @@ class OutputPage extends ContextSource { * Add wikitext with a custom Title object and tidy enabled. * * @param string $text Wikitext - * @param Title $title + * @param Title &$title * @param bool $linestart Is this the start of a line? */ function addWikiTextTitleTidy( $text, &$title, $linestart = true ) { @@ -1899,7 +1900,7 @@ class OutputPage extends ContextSource { /** * Add the output of a QuickTemplate to the output buffer * - * @param QuickTemplate $template + * @param QuickTemplate &$template */ public function addTemplate( &$template ) { $this->addHTML( $template->getHTML() ); @@ -1963,7 +1964,7 @@ class OutputPage extends ContextSource { } /** - * @param $maxage + * @param int $maxage * @deprecated since 1.27 Use setCdnMaxage() instead */ public function setSquidMaxage( $maxage ) { @@ -2913,7 +2914,7 @@ class OutputPage extends ContextSource { // Use an IE conditional comment to serve the script only to old IE $pieces[] = ' link placeholders with actual links, in the buffer * - * @param string $text + * @param string &$text */ public function replace( &$text ) { $this->replaceInternal( $text ); @@ -273,7 +273,7 @@ class LinkHolderArray { /** * Replace internal links - * @param string $text + * @param string &$text */ protected function replaceInternal( &$text ) { if ( !$this->internals ) { @@ -416,7 +416,7 @@ class LinkHolderArray { /** * Replace interwiki links - * @param string $text + * @param string &$text */ protected function replaceInterwiki( &$text ) { if ( empty( $this->interwikis ) ) { @@ -444,7 +444,7 @@ class LinkHolderArray { /** * Modify $this->internals and $colours according to language variant linking rules - * @param array $colours + * @param array &$colours */ protected function doVariants( &$colours ) { global $wgContLang; diff --git a/includes/parser/Parser.php b/includes/parser/Parser.php index 88439db98a..326100280d 100644 --- a/includes/parser/Parser.php +++ b/includes/parser/Parser.php @@ -972,7 +972,7 @@ class Parser { * * @param array $elements List of element names. Comments are always extracted. * @param string $text Source text string. - * @param array $matches Out parameter, Array: extracted tags + * @param array &$matches Out parameter, Array: extracted tags * @param string|null $uniq_prefix * @return string Stripped text * @since 1.26 The uniq_prefix argument is deprecated. @@ -2103,7 +2103,7 @@ class Parser { /** * Process [[ ]] wikilinks (RIL) - * @param string $s + * @param string &$s * @throws MWException * @return LinkHolderArray * @@ -3411,7 +3411,7 @@ class Parser { # string or an array containing the string and any flags. This mungs # things around to match what this method should return. if ( !is_array( $result ) ) { - $result =[ + $result = [ 'found' => true, 'text' => $result, ]; @@ -4536,7 +4536,7 @@ class Parser { * Do not reuse this parser instance after calling getUserSig(), * as it may have changed if it's the $wgParser. * - * @param User $user + * @param User &$user * @param string|bool $nickname Nickname to use or false to use user's default nickname * @param bool|null $fancySig whether the nicknname is the complete signature * or null to use default value @@ -4897,7 +4897,7 @@ class Parser { * Replace "" link placeholders with actual links, in the buffer * Placeholders created in Linker::link() * - * @param string $text + * @param string &$text * @param int $options */ public function replaceLinkHolders( &$text, $options = 0 ) { @@ -5406,7 +5406,7 @@ class Parser { * Callback from the Sanitizer for expanding items found in HTML attribute * values, so they can be safely tested and escaped. * - * @param string $text + * @param string &$text * @param bool|PPFrame $frame * @return string */ diff --git a/includes/parser/ParserOptions.php b/includes/parser/ParserOptions.php index 73a99272c2..c7146a1306 100644 --- a/includes/parser/ParserOptions.php +++ b/includes/parser/ParserOptions.php @@ -761,7 +761,7 @@ class ParserOptions { * is it allowed in the specific case of parsing this page. * @see self::getAllowUnsafeRawHtml() * @since 1.29 - * @param bool|null Value to set or null to get current value + * @param bool|null $x Value to set or null to get current value * @return bool Current value for allowUnsafeRawHtml */ public function setAllowUnsafeRawHtml( $x ) { @@ -1062,11 +1062,13 @@ 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/parser/Preprocessor_DOM.php b/includes/parser/Preprocessor_DOM.php index 3c750ad7dc..2588962604 100644 --- a/includes/parser/Preprocessor_DOM.php +++ b/includes/parser/Preprocessor_DOM.php @@ -625,7 +625,7 @@ class Preprocessor_DOM extends Preprocessor { $curLen = strlen( $curChar ); $count = ( $curLen > 1 ) ? # allow the final character to repeat - strspn( $text, $curChar[$curLen-1], $i+1 ) + 1 : + strspn( $text, $curChar[$curLen - 1], $i + 1 ) + 1 : strspn( $text, $curChar, $i ); # we need to add to stack only if opening brace count is enough for one of the rules diff --git a/includes/parser/Preprocessor_Hash.php b/includes/parser/Preprocessor_Hash.php index 25d253f9b9..9ea8fa3a50 100644 --- a/includes/parser/Preprocessor_Hash.php +++ b/includes/parser/Preprocessor_Hash.php @@ -569,7 +569,7 @@ class Preprocessor_Hash extends Preprocessor { $curLen = strlen( $curChar ); $count = ( $curLen > 1 ) ? # allow the final character to repeat - strspn( $text, $curChar[$curLen-1], $i+1 ) + 1 : + strspn( $text, $curChar[$curLen - 1], $i + 1 ) + 1 : strspn( $text, $curChar, $i ); # we need to add to stack only if opening brace count is enough for one of the rules diff --git a/includes/profiler/Profiler.php b/includes/profiler/Profiler.php index 252a227a1d..4da7976d82 100644 --- a/includes/profiler/Profiler.php +++ b/includes/profiler/Profiler.php @@ -164,7 +164,7 @@ abstract class Profiler { abstract public function scopedProfileIn( $section ); /** - * @param SectionProfileCallback $section + * @param SectionProfileCallback &$section */ public function scopedProfileOut( SectionProfileCallback &$section = null ) { $section = null; diff --git a/includes/profiler/SectionProfiler.php b/includes/profiler/SectionProfiler.php index fdfb24d8c4..57bd01f8de 100644 --- a/includes/profiler/SectionProfiler.php +++ b/includes/profiler/SectionProfiler.php @@ -66,7 +66,7 @@ class SectionProfiler { } /** - * @param ScopedCallback $section + * @param ScopedCallback &$section */ public function scopedProfileOut( ScopedCallback &$section ) { $section = null; @@ -298,7 +298,7 @@ class SectionProfiler { /* Find all items under this entry */ $level = $stack[$max][1]; $working = []; - for ( $i = $max -1; $i >= 0; $i-- ) { + for ( $i = $max - 1; $i >= 0; $i-- ) { if ( $stack[$i][1] > $level ) { $working[] = $stack[$i]; } else { @@ -439,7 +439,7 @@ class SectionProfiler { protected function calltreeCount( $stack, $start ) { $level = $stack[$start][1]; $count = 0; - for ( $i = $start -1; $i >= 0 && $stack[$i][1] > $level; $i-- ) { + for ( $i = $start - 1; $i >= 0 && $stack[$i][1] > $level; $i-- ) { $count ++; } return $count; diff --git a/includes/resourceloader/ResourceLoader.php b/includes/resourceloader/ResourceLoader.php index ad16420651..c58bb00b94 100644 --- a/includes/resourceloader/ResourceLoader.php +++ b/includes/resourceloader/ResourceLoader.php @@ -655,7 +655,7 @@ class ResourceLoader implements LoggerAwareInterface { * * @since 1.26 * @param ResourceLoaderContext $context - * @param string[] $modules List of known module names + * @param string[] $moduleNames List of known module names * @return string Hash */ public function getCombinedVersion( ResourceLoaderContext $context, array $moduleNames ) { diff --git a/includes/resourceloader/ResourceLoaderContext.php b/includes/resourceloader/ResourceLoaderContext.php index f99114e2b9..cbb0beca8d 100644 --- a/includes/resourceloader/ResourceLoaderContext.php +++ b/includes/resourceloader/ResourceLoaderContext.php @@ -224,7 +224,7 @@ class ResourceLoaderContext implements MessageLocalizer { * @since 1.27 * @param string|string[]|MessageSpecifier $key Message key, or array of keys, * or a MessageSpecifier. - * @param mixed ... + * @param mixed $args,... * @return Message */ public function msg( $key ) { diff --git a/includes/resourceloader/ResourceLoaderMediaWikiUtilModule.php b/includes/resourceloader/ResourceLoaderMediaWikiUtilModule.php index 166f1babf1..d16a4ff763 100644 --- a/includes/resourceloader/ResourceLoaderMediaWikiUtilModule.php +++ b/includes/resourceloader/ResourceLoaderMediaWikiUtilModule.php @@ -27,7 +27,7 @@ */ class ResourceLoaderMediaWikiUtilModule extends ResourceLoaderFileModule { /** - * @inheritdoc + * @inheritDoc */ public function getScript( ResourceLoaderContext $context ) { return ResourceLoader::makeConfigSetScript( @@ -38,14 +38,14 @@ class ResourceLoaderMediaWikiUtilModule extends ResourceLoaderFileModule { } /** - * @inheritdoc + * @inheritDoc */ public function supportsURLLoading() { return false; } /** - * @inheritdoc + * @inheritDoc */ public function enableModuleContentVersion() { return true; diff --git a/includes/revisiondelete/RevDelList.php b/includes/revisiondelete/RevDelList.php index 64a6aec806..a2c58e6741 100644 --- a/includes/revisiondelete/RevDelList.php +++ b/includes/revisiondelete/RevDelList.php @@ -402,7 +402,7 @@ abstract class RevDelList extends RevisionListBase { /** * A hook for setVisibility(): do any necessary updates post-commit. * STUB - * @param array [id => ['oldBits' => $oldBits, 'newBits' => $newBits], ... ] + * @param array $visibilityChangeMap [id => ['oldBits' => $oldBits, 'newBits' => $newBits], ... ] * @return Status */ public function doPostCommitUpdates( array $visibilityChangeMap ) { diff --git a/includes/revisiondelete/RevisionDeleter.php b/includes/revisiondelete/RevisionDeleter.php index b834c15367..4a807fbc7e 100644 --- a/includes/revisiondelete/RevisionDeleter.php +++ b/includes/revisiondelete/RevisionDeleter.php @@ -98,7 +98,7 @@ class RevisionDeleter { * @param int $field The bitmask describing the single option. * @param int $diff The xor of the old and new bitfields. * @param int $new The new bitfield - * @param array $arr The array to update. + * @param array &$arr The array to update. */ protected static function checkItem( $desc, $field, $diff, $new, &$arr ) { if ( $diff & $field ) { diff --git a/includes/search/NullIndexField.php b/includes/search/NullIndexField.php index 852e1d5a1b..5ecf5c8929 100644 --- a/includes/search/NullIndexField.php +++ b/includes/search/NullIndexField.php @@ -26,7 +26,7 @@ class NullIndexField implements SearchIndexField { /** * Check if flag is set. - * @param $flag + * @param int $flag * @return int 0 if unset, !=0 if set */ public function checkFlag( $flag ) { @@ -44,7 +44,7 @@ class NullIndexField implements SearchIndexField { } /** - * {@inheritDoc} + * @inheritDoc */ public function getEngineHints( SearchEngine $engine ) { return []; diff --git a/includes/search/SearchEngine.php b/includes/search/SearchEngine.php index 70117db76c..1b9ee6c5db 100644 --- a/includes/search/SearchEngine.php +++ b/includes/search/SearchEngine.php @@ -138,7 +138,7 @@ abstract class SearchEngine { * @return mixed the feature value or null if unset */ public function getFeatureData( $feature ) { - if ( isset ( $this->features[$feature] ) ) { + if ( isset( $this->features[$feature] ) ) { return $this->features[$feature]; } return null; @@ -566,6 +566,7 @@ abstract class SearchEngine { /** * Process completion search results. * Resolves the titles and rescores. + * @param string $search * @param SearchSuggestionSet $suggestions * @return SearchSuggestionSet */ diff --git a/includes/search/SearchExactMatchRescorer.php b/includes/search/SearchExactMatchRescorer.php index 40cfe39305..0e99ba91ff 100644 --- a/includes/search/SearchExactMatchRescorer.php +++ b/includes/search/SearchExactMatchRescorer.php @@ -35,8 +35,8 @@ class SearchExactMatchRescorer { * to not be in the results or be lower down the list. * @param string $search the query * @param int[] $namespaces the namespaces - * @param int $limit the max number of results to return * @param string[] $srchres results + * @param int $limit the max number of results to return * @return string[] munged results */ public function rescore( $search, $namespaces, $srchres, $limit ) { diff --git a/includes/search/SearchHighlighter.php b/includes/search/SearchHighlighter.php index cebdb40dbb..20462cf133 100644 --- a/includes/search/SearchHighlighter.php +++ b/includes/search/SearchHighlighter.php @@ -32,6 +32,7 @@ class SearchHighlighter { /** * @warning If you pass false to this constructor, then * the caller is responsible for HTML escaping. + * @param bool $cleanupWikitext */ function __construct( $cleanupWikitext = true ) { $this->mCleanWikitext = $cleanupWikitext; @@ -291,8 +292,8 @@ class SearchHighlighter { /** * Split text into lines and add it to extracts array * - * @param array $extracts Index -> $line - * @param int $count + * @param array &$extracts Index -> $line + * @param int &$count * @param string $text */ function splitAndAdd( &$extracts, &$count, $text ) { @@ -326,8 +327,8 @@ class SearchHighlighter { * @param string $text * @param int $start * @param int $end - * @param int $posStart (out) actual start position - * @param int $posEnd (out) actual end position + * @param int &$posStart (out) actual start position + * @param int &$posEnd (out) actual end position * @return string */ function extract( $text, $start, $end, &$posStart = null, &$posEnd = null ) { @@ -397,10 +398,10 @@ class SearchHighlighter { * * @param string $pattern Regexp for matching lines * @param array $extracts Extracts to search - * @param int $linesleft Number of extracts to make - * @param int $contextchars Length of snippet - * @param array $out Map for highlighted snippets - * @param array $offsets Map of starting points of snippets + * @param int &$linesleft Number of extracts to make + * @param int &$contextchars Length of snippet + * @param array &$out Map for highlighted snippets + * @param array &$offsets Map of starting points of snippets * @protected */ function process( $pattern, $extracts, &$linesleft, &$contextchars, &$out, &$offsets ) { diff --git a/includes/search/SearchIndexField.php b/includes/search/SearchIndexField.php index a348d6dc9a..eb72662508 100644 --- a/includes/search/SearchIndexField.php +++ b/includes/search/SearchIndexField.php @@ -61,7 +61,7 @@ interface SearchIndexField { public function setFlag( $flag, $unset = false ); /** * Check if flag is set. - * @param $flag + * @param int $flag * @return int 0 if unset, !=0 if set */ public function checkFlag( $flag ); diff --git a/includes/search/SearchIndexFieldDefinition.php b/includes/search/SearchIndexFieldDefinition.php index 87d6344bea..3e008ae66a 100644 --- a/includes/search/SearchIndexFieldDefinition.php +++ b/includes/search/SearchIndexFieldDefinition.php @@ -81,7 +81,7 @@ abstract class SearchIndexFieldDefinition implements SearchIndexField { /** * Check if flag is set. - * @param $flag + * @param int $flag * @return int 0 if unset, !=0 if set */ public function checkFlag( $flag ) { @@ -141,7 +141,7 @@ abstract class SearchIndexFieldDefinition implements SearchIndexField { } /** - * {@inheritDoc} + * @inheritDoc */ public function getEngineHints( SearchEngine $engine ) { return []; diff --git a/includes/search/SearchMySQL.php b/includes/search/SearchMySQL.php index 2ea960555b..77dcfe9ce2 100644 --- a/includes/search/SearchMySQL.php +++ b/includes/search/SearchMySQL.php @@ -218,7 +218,7 @@ class SearchMySQL extends SearchDatabase { /** * Add special conditions - * @param array $query + * @param array &$query * @since 1.18 */ protected function queryFeatures( &$query ) { @@ -231,7 +231,7 @@ class SearchMySQL extends SearchDatabase { /** * Add namespace conditions - * @param array $query + * @param array &$query * @since 1.18 (changed) */ function queryNamespaces( &$query ) { @@ -245,7 +245,7 @@ class SearchMySQL extends SearchDatabase { /** * Add limit options - * @param array $query + * @param array &$query * @since 1.18 */ protected function limitResult( &$query ) { diff --git a/includes/search/SearchSqlite.php b/includes/search/SearchSqlite.php index 2c82c7d9a5..3d4da42ce8 100644 --- a/includes/search/SearchSqlite.php +++ b/includes/search/SearchSqlite.php @@ -145,7 +145,7 @@ class SearchSqlite extends SearchDatabase { $searchChars = parent::legalSearchChars( $type ); if ( $type === self::CHARS_ALL ) { // " for phrase, * for wildcard - $searchChars = "\"*" . $searchChars; + $searchChars = "\"*" . $searchChars; } return $searchChars; } diff --git a/includes/search/SearchSuggestion.php b/includes/search/SearchSuggestion.php index 4e7c782e84..7f433db4ae 100644 --- a/includes/search/SearchSuggestion.php +++ b/includes/search/SearchSuggestion.php @@ -53,7 +53,7 @@ class SearchSuggestion { /** * Construct a new suggestion * @param float $score the suggestion score - * @param string $text|null the suggestion text + * @param string|null $text the suggestion text * @param Title|null $suggestedTitle the suggested title * @param int|null $suggestedTitleID the suggested title ID */ diff --git a/includes/session/PHPSessionHandler.php b/includes/session/PHPSessionHandler.php index 084ac05c96..b76f0ff6b7 100644 --- a/includes/session/PHPSessionHandler.php +++ b/includes/session/PHPSessionHandler.php @@ -145,7 +145,7 @@ class PHPSessionHandler implements \SessionHandlerInterface { * @private Use self::install(). * @param SessionManager $manager * @param BagOStuff $store - * @param LoggerInterface $store + * @param LoggerInterface $logger */ public function setManager( SessionManager $manager, BagOStuff $store, LoggerInterface $logger diff --git a/includes/session/SessionProvider.php b/includes/session/SessionProvider.php index 3cf69b7b33..ba075e0ca8 100644 --- a/includes/session/SessionProvider.php +++ b/includes/session/SessionProvider.php @@ -387,7 +387,7 @@ abstract class SessionProvider implements SessionProviderInterface, LoggerAwareI * reset whatever token it does use here. * * @protected For use by \MediaWiki\Session\SessionManager only - * @param User $user; + * @param User $user */ public function invalidateSessionsForUser( User $user ) { } diff --git a/includes/session/Token.php b/includes/session/Token.php index 523e0cc1c0..14d239d5a9 100644 --- a/includes/session/Token.php +++ b/includes/session/Token.php @@ -56,7 +56,7 @@ class Token { * be able to extract the timestamp. * * @param string $token - * @param int|null + * @return int|null */ public static function getTimestamp( $token ) { $suffixLen = strlen( self::SUFFIX ); diff --git a/includes/site/Site.php b/includes/site/Site.php index 31e1590933..a6e63391da 100644 --- a/includes/site/Site.php +++ b/includes/site/Site.php @@ -333,7 +333,7 @@ class Site implements Serializable { */ public function getLinkPath() { $type = $this->getLinkPathType(); - return $type === null ? null: $this->getPath( $type ); + return $type === null ? null : $this->getPath( $type ); } /** diff --git a/includes/site/SiteImporter.php b/includes/site/SiteImporter.php index 42812e14fb..5e13d06152 100644 --- a/includes/site/SiteImporter.php +++ b/includes/site/SiteImporter.php @@ -191,7 +191,7 @@ class SiteImporter { /** * @param DOMElement $element - * @param $name + * @param string $name * @param string|null|bool $default * * @return null|string diff --git a/includes/skins/BaseTemplate.php b/includes/skins/BaseTemplate.php index aad676f8e3..55f7a674f4 100644 --- a/includes/skins/BaseTemplate.php +++ b/includes/skins/BaseTemplate.php @@ -29,7 +29,7 @@ abstract class BaseTemplate extends QuickTemplate { * Get a Message object with its context set * * @param string $name Message name - * @param ... $params Message params + * @param mixed $params,... Message params * @return Message */ public function getMsg( $name /* ... */ ) { diff --git a/includes/skins/QuickTemplate.php b/includes/skins/QuickTemplate.php index e0ceab5215..e7120e9703 100644 --- a/includes/skins/QuickTemplate.php +++ b/includes/skins/QuickTemplate.php @@ -92,14 +92,14 @@ abstract class QuickTemplate { /** * @param string $name - * @param mixed $value + * @param mixed &$value */ public function setRef( $name, &$value ) { $this->data[$name] =& $value; } /** - * @param MediaWikiI18N $t + * @param MediaWikiI18N &$t */ public function setTranslator( &$t ) { $this->translator = &$t; diff --git a/includes/skins/Skin.php b/includes/skins/Skin.php index 849362aae7..e1d0034675 100644 --- a/includes/skins/Skin.php +++ b/includes/skins/Skin.php @@ -449,7 +449,7 @@ abstract class Skin extends ContextSource { * "" tag, skins can override it if they have a need to add in any * body attributes or classes of their own. * @param OutputPage $out - * @param array $bodyAttrs + * @param array &$bodyAttrs */ function addToBodyAttributes( $out, &$bodyAttrs ) { // does nothing by default @@ -1215,7 +1215,7 @@ abstract class Skin extends ContextSource { /** * make sure we have some title to operate on * - * @param Title $title + * @param Title &$title * @param string $name */ static function checkTitle( &$title, $name ) { @@ -1286,7 +1286,7 @@ abstract class Skin extends ContextSource { * * This is just a wrapper around addToSidebarPlain() for backwards compatibility * - * @param array $bar + * @param array &$bar * @param string $message */ public function addToSidebar( &$bar, $message ) { @@ -1296,7 +1296,7 @@ abstract class Skin extends ContextSource { /** * Add content from plain text * @since 1.17 - * @param array $bar + * @param array &$bar * @param string $text * @return array */ diff --git a/includes/specialpage/AuthManagerSpecialPage.php b/includes/specialpage/AuthManagerSpecialPage.php index fbc3022a43..500c2e93f5 100644 --- a/includes/specialpage/AuthManagerSpecialPage.php +++ b/includes/specialpage/AuthManagerSpecialPage.php @@ -45,7 +45,7 @@ abstract class AuthManagerSpecialPage extends SpecialPage { * @param AuthenticationRequest[] $requests * @param array $fieldInfo Field information array (union of all * AuthenticationRequest::getFieldInfo() responses). - * @param array $formDescriptor HTMLForm descriptor. The special key 'weight' can be set to + * @param array &$formDescriptor HTMLForm descriptor. The special key 'weight' can be set to * change the order of the fields. * @param string $action Authentication type (one of the AuthManager::ACTION_* constants) * @return bool @@ -474,7 +474,7 @@ abstract class AuthManagerSpecialPage extends SpecialPage { /** * Submit handler callback for HTMLForm * @private - * @param $data array Submitted data + * @param array $data Submitted data * @return Status */ public function handleFormSubmit( $data ) { @@ -598,7 +598,7 @@ abstract class AuthManagerSpecialPage extends SpecialPage { /** * Adds a sequential tabindex starting from 1 to all form elements. This way the user can * use the tab key to traverse the form without having to step through all links and such. - * @param $formDescriptor + * @param array &$formDescriptor */ protected function addTabIndex( &$formDescriptor ) { $i = 1; @@ -709,7 +709,7 @@ abstract class AuthManagerSpecialPage extends SpecialPage { * Sort the fields of a form descriptor by their 'weight' property. (Fields with higher weight * are shown closer to the bottom; weight defaults to 0. Negative weight is allowed.) * Keep order if weights are equal. - * @param array $formDescriptor + * @param array &$formDescriptor * @return array */ protected static function sortFormDescriptorFields( array &$formDescriptor ) { diff --git a/includes/specialpage/LoginSignupSpecialPage.php b/includes/specialpage/LoginSignupSpecialPage.php index 9d6fd5bad0..04d391b3db 100644 --- a/includes/specialpage/LoginSignupSpecialPage.php +++ b/includes/specialpage/LoginSignupSpecialPage.php @@ -98,7 +98,7 @@ abstract class LoginSignupSpecialPage extends AuthManagerSpecialPage { /** * Load basic request parameters for this Special page. - * @param $subPage + * @param string $subPage */ private function loadRequestParameters( $subPage ) { if ( $this->mLoadedRequest ) { @@ -1156,7 +1156,7 @@ abstract class LoginSignupSpecialPage extends AuthManagerSpecialPage { // Don't show a "create account" link if the user can't. if ( $this->showCreateAccountLink() ) { // link to the other action - $linkTitle = $this->getTitleFor( $this->isSignup() ? 'Userlogin' :'CreateAccount' ); + $linkTitle = $this->getTitleFor( $this->isSignup() ? 'Userlogin' : 'CreateAccount' ); $linkq = $this->getReturnToQueryStringFragment(); // Pass any language selection on to the mode switch link if ( $this->mLanguage ) { @@ -1199,7 +1199,7 @@ abstract class LoginSignupSpecialPage extends AuthManagerSpecialPage { /** * Adds fields provided via the deprecated UserLoginForm / UserCreateForm hooks - * @param $fieldDefinitions array + * @param array $fieldDefinitions * @param FakeAuthTemplate $template * @return array */ @@ -1247,6 +1247,7 @@ abstract class LoginSignupSpecialPage extends AuthManagerSpecialPage { /** * Returns a string that can be appended to the URL (without encoding) to preserve the * return target. Does not include leading '?'/'&'. + * @return string */ protected function getReturnToQueryStringFragment() { $returnto = ''; @@ -1339,7 +1340,8 @@ abstract class LoginSignupSpecialPage extends AuthManagerSpecialPage { } /** - * @param array $formDescriptor + * @param array &$formDescriptor + * @param array $requests */ protected function postProcessFormDescriptor( &$formDescriptor, $requests ) { // Pre-fill username (if not creating an account, T46775). @@ -1395,6 +1397,11 @@ class FakeAuthTemplate extends BaseTemplate { /** * Extensions (AntiSpoof and TitleBlacklist) call this in response to * UserCreateForm hook to add checkboxes to the create account form. + * @param string $name + * @param string $value + * @param string $type + * @param string $msg + * @param string|bool $helptext */ public function addInputItem( $name, $value, $type, $msg, $helptext = false ) { // use the same indexes as UserCreateForm just in case someone adds an item manually @@ -1496,6 +1503,7 @@ class LoginForm extends SpecialPage { /** * @deprecated since 1.27 - call LoginHelper::getValidErrorMessages instead. + * @return array */ public static function getValidErrorMessages() { return LoginHelper::getValidErrorMessages(); @@ -1503,6 +1511,8 @@ class LoginForm extends SpecialPage { /** * @deprecated since 1.27 - don't use LoginForm, use AuthManager instead + * @param string $username + * @return array|false */ public static function incrementLoginThrottle( $username ) { wfDeprecated( __METHOD__, "1.27" ); @@ -1514,6 +1524,8 @@ class LoginForm extends SpecialPage { /** * @deprecated since 1.27 - don't use LoginForm, use AuthManager instead + * @param string $username + * @return bool|int */ public static function incLoginThrottle( $username ) { wfDeprecated( __METHOD__, "1.27" ); @@ -1523,6 +1535,8 @@ class LoginForm extends SpecialPage { /** * @deprecated since 1.27 - don't use LoginForm, use AuthManager instead + * @param string $username + * @return void */ public static function clearLoginThrottle( $username ) { wfDeprecated( __METHOD__, "1.27" ); @@ -1559,6 +1573,7 @@ class LoginForm extends SpecialPage { /** * @deprecated since 1.27 - don't use LoginForm, use AuthManager instead + * @return string */ public static function getCreateaccountToken() { wfDeprecated( __METHOD__, '1.27' ); diff --git a/includes/specialpage/RedirectSpecialPage.php b/includes/specialpage/RedirectSpecialPage.php index 9b5d5f463d..d3e22a0f62 100644 --- a/includes/specialpage/RedirectSpecialPage.php +++ b/includes/specialpage/RedirectSpecialPage.php @@ -52,8 +52,7 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage { return $redirect; } else { - $class = static::class; - throw new MWException( "RedirectSpecialPage $class doesn't redirect!" ); + $this->showNoRedirectPage(); } } @@ -106,6 +105,11 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage { public function personallyIdentifiableTarget() { return false; } + + protected function showNoRedirectPage() { + $class = static::class; + throw new MWException( "RedirectSpecialPage $class doesn't redirect!" ); + } } /** diff --git a/includes/specialpage/SpecialPageFactory.php b/includes/specialpage/SpecialPageFactory.php index 8dcb30c907..4433ddb7d6 100644 --- a/includes/specialpage/SpecialPageFactory.php +++ b/includes/specialpage/SpecialPageFactory.php @@ -501,8 +501,8 @@ class SpecialPageFactory { * Returns a title object if the page is redirected, false if there was no such special * page, and true if it was successful. * - * @param Title $title - * @param IContextSource $context + * @param Title &$title + * @param IContextSource &$context * @param bool $including Bool output is being captured for use in {{special:whatever}} * @param LinkRenderer|null $linkRenderer (since 1.28) * diff --git a/includes/specials/SpecialBlock.php b/includes/specials/SpecialBlock.php index 04c04b239c..66e4fbeda2 100644 --- a/includes/specials/SpecialBlock.php +++ b/includes/specials/SpecialBlock.php @@ -233,7 +233,7 @@ class SpecialBlock extends FormSpecialPage { /** * If the user has already been blocked with similar settings, load that block * and change the defaults for the form fields to match the existing settings. - * @param array $fields HTMLForm descriptor array + * @param array &$fields HTMLForm descriptor array * @return bool Whether fields were altered (that is, whether the target is * already blocked) */ diff --git a/includes/specials/SpecialDiff.php b/includes/specials/SpecialDiff.php index 9804e777b1..28cd0d195a 100644 --- a/includes/specials/SpecialDiff.php +++ b/includes/specials/SpecialDiff.php @@ -56,11 +56,64 @@ class SpecialDiff extends RedirectSpecialPage { $this->mAddedRedirectParams['oldid'] = $parts[0]; $this->mAddedRedirectParams['diff'] = $parts[1]; } else { - // Wrong number of parameters, bail out - $this->addHelpLink( 'Help:Diff' ); - throw new ErrorPageError( 'nopagetitle', 'nopagetext' ); + return false; } return true; } + + protected function showNoRedirectPage() { + $this->addHelpLink( 'Help:Diff' ); + $this->setHeaders(); + $this->outputHeader(); + $this->showForm(); + } + + private function showForm() { + $form = HTMLForm::factory( 'ooui', [ + 'oldid' => [ + 'name' => 'oldid', + 'type' => 'int', + 'label-message' => 'diff-form-oldid', + ], + 'diff' => [ + 'name' => 'diff', + 'class' => 'HTMLTextField', + 'label-message' => 'diff-form-revid', + ], + ], $this->getContext(), 'diff-form' ); + $form->setSubmitTextMsg( 'diff-form-submit' ); + $form->setSubmitCallback( [ $this, 'onFormSubmit' ] ); + $form->show(); + } + + public function onFormSubmit( $formData ) { + $params = []; + if ( $formData['oldid'] ) { + $params[] = $formData['oldid']; + } + if ( $formData['diff'] ) { + $params[] = $formData['diff']; + } + $title = $this->getPageTitle( $params ? implode( '/', $params ) : null ); + $url = $title->getFullUrlForRedirect(); + $this->getOutput()->redirect( $url ); + } + + public function getDescription() { + // 'diff' message is in lowercase, using own message + return $this->msg( 'diff-form' )->text(); + } + + public function getName() { + return 'diff-form'; + } + + public function isListed() { + return true; + } + + protected function getGroupName() { + return 'redirects'; + } } diff --git a/includes/specials/SpecialDoubleRedirects.php b/includes/specials/SpecialDoubleRedirects.php index ba14c664ce..d73ac19875 100644 --- a/includes/specials/SpecialDoubleRedirects.php +++ b/includes/specials/SpecialDoubleRedirects.php @@ -122,28 +122,33 @@ class DoubleRedirectsPage extends QueryPage { // That does save the bulk of the query cost, but now we need to // get a little more detail about each individual entry quickly // using the filter of reallyGetQueryInfo. - if ( $result && !isset( $result->b_namespace ) ) { - $dbr = wfGetDB( DB_REPLICA ); - $qi = $this->reallyGetQueryInfo( - $result->namespace, - $result->title - ); - $res = $dbr->select( - $qi['tables'], - $qi['fields'], - $qi['conds'], - __METHOD__ - ); - - if ( $res ) { - $result = $dbr->fetchObject( $res ); + $deep = false; + if ( $result ) { + if ( isset( $result->b_namespace ) ) { + $deep = $result; + } else { + $dbr = wfGetDB( DB_REPLICA ); + $qi = $this->reallyGetQueryInfo( + $result->namespace, + $result->title + ); + $res = $dbr->select( + $qi['tables'], + $qi['fields'], + $qi['conds'], + __METHOD__ + ); + + if ( $res ) { + $deep = $dbr->fetchObject( $res ) ?: false; + } } } $titleA = Title::makeTitle( $result->namespace, $result->title ); $linkRenderer = $this->getLinkRenderer(); - if ( !$result ) { + if ( !$deep ) { return '' . $linkRenderer->makeLink( $titleA, null, [], [ 'redirect' => 'no' ] ) . ''; } @@ -171,7 +176,7 @@ class DoubleRedirectsPage extends QueryPage { [ 'redirect' => 'no' ] ); - $titleB = Title::makeTitle( $result->b_namespace, $result->b_title ); + $titleB = Title::makeTitle( $deep->b_namespace, $deep->b_title ); $linkB = $linkRenderer->makeKnownLink( $titleB, null, @@ -180,10 +185,10 @@ class DoubleRedirectsPage extends QueryPage { ); $titleC = Title::makeTitle( - $result->c_namespace, - $result->c_title, - $result->c_fragment, - $result->c_interwiki + $deep->c_namespace, + $deep->c_title, + $deep->c_fragment, + $deep->c_interwiki ); $linkC = $linkRenderer->makeKnownLink( $titleC, $titleC->getFullText() ); diff --git a/includes/specials/SpecialExport.php b/includes/specials/SpecialExport.php index d5c5528d7a..8e6c446238 100644 --- a/includes/specials/SpecialExport.php +++ b/includes/specials/SpecialExport.php @@ -288,7 +288,7 @@ class SpecialExport extends SpecialPage { $formDescriptor += [ 'wpDownload' => [ 'type' => 'check', - 'name' =>'wpDownload', + 'name' => 'wpDownload', 'id' => 'wpDownload', 'default' => $request->wasPosted() ? $request->getCheck( 'wpDownload' ) : true, 'label-message' => 'export-download', diff --git a/includes/specials/SpecialFilepath.php b/includes/specials/SpecialFilepath.php index 49caaa3a1d..c18faa12d3 100644 --- a/includes/specials/SpecialFilepath.php +++ b/includes/specials/SpecialFilepath.php @@ -35,7 +35,7 @@ class SpecialFilepath extends RedirectSpecialPage { /** * Implement by redirecting through Special:Redirect/file. * - * @param string|null $subpage + * @param string|null $par * @return Title */ public function getRedirect( $par ) { diff --git a/includes/specials/SpecialMediaStatistics.php b/includes/specials/SpecialMediaStatistics.php index 44e0db85e2..1789bb2bda 100644 --- a/includes/specials/SpecialMediaStatistics.php +++ b/includes/specials/SpecialMediaStatistics.php @@ -63,6 +63,7 @@ class MediaStatisticsPage extends QueryPage { * come out of querycache table is the order they went in. Which is hacky. * However, other special pages like Special:Deadendpages and * Special:BrokenRedirects also rely on this. + * @return array */ public function getQueryInfo() { $dbr = wfGetDB( DB_REPLICA ); @@ -169,7 +170,7 @@ class MediaStatisticsPage extends QueryPage { * * @param string $mime mime type (e.g. image/jpeg) * @param int $count Number of images of this type - * @param int $totalBytes Total space for images of this type + * @param int $bytes Total space for images of this type */ protected function outputTableRow( $mime, $count, $bytes ) { $mimeSearch = SpecialPage::getTitleFor( 'MIMEsearch', $mime ); @@ -197,7 +198,7 @@ class MediaStatisticsPage extends QueryPage { $row .= Html::rawElement( 'td', // Make sure js sorts it in numeric order - [ 'data-sort-value' => $bytes ], + [ 'data-sort-value' => $bytes ], $this->msg( 'mediastatistics-nbytes' ) ->numParams( $bytes ) ->sizeParams( $bytes ) @@ -251,6 +252,7 @@ class MediaStatisticsPage extends QueryPage { * Output the start of the table * * Including opening , and first with column headers. + * @param string $mediaType */ protected function outputTableStart( $mediaType ) { $this->getOutput()->addHTML( diff --git a/includes/specials/SpecialPermanentLink.php b/includes/specials/SpecialPermanentLink.php index 2bd3ab7d76..b1772b78e3 100644 --- a/includes/specials/SpecialPermanentLink.php +++ b/includes/specials/SpecialPermanentLink.php @@ -39,11 +39,44 @@ class SpecialPermanentLink extends RedirectSpecialPage { public function getRedirect( $subpage ) { $subpage = intval( $subpage ); if ( $subpage === 0 ) { - # throw an error page when no subpage was given - throw new ErrorPageError( 'nopagetitle', 'nopagetext' ); + return false; } $this->mAddedRedirectParams['oldid'] = $subpage; return true; } + + protected function showNoRedirectPage() { + $this->setHeaders(); + $this->outputHeader(); + $this->showForm(); + } + + private function showForm() { + $form = HTMLForm::factory( 'ooui', [ + 'revid' => [ + 'type' => 'int', + 'name' => 'revid', + 'label-message' => 'permanentlink-revid', + ], + ], $this->getContext(), 'permanentlink' ); + $form->setSubmitTextMsg( 'permanentlink-submit' ); + $form->setSubmitCallback( [ $this, 'onFormSubmit' ] ); + $form->show(); + } + + public function onFormSubmit( $formData ) { + $revid = $formData['revid']; + $title = $this->getPageTitle( $revid ?: null ); + $url = $title->getFullUrlForRedirect(); + $this->getOutput()->redirect( $url ); + } + + public function isListed() { + return true; + } + + protected function getGroupName() { + return 'redirects'; + } } diff --git a/includes/specials/SpecialPreferences.php b/includes/specials/SpecialPreferences.php index 40b50ea5bf..ba5a57ea5a 100644 --- a/includes/specials/SpecialPreferences.php +++ b/includes/specials/SpecialPreferences.php @@ -81,7 +81,7 @@ class SpecialPreferences extends SpecialPage { $user = $this->getUser(); } - $htmlForm = Preferences::getFormObject( $user, $this->getContext() ); + $htmlForm = $this->getFormObject( $user, $this->getContext() ); $htmlForm->setSubmitCallback( [ 'Preferences', 'tryUISubmit' ] ); $sectionTitles = $htmlForm->getPreferenceSections(); @@ -117,6 +117,16 @@ class SpecialPreferences extends SpecialPage { $htmlForm->show(); } + /** + * Get the preferences form to use. + * @param User $user The user. + * @param IContextSource $context The context. + * @return PreferencesForm|HtmlForm + */ + protected function getFormObject( $user, IContextSource $context ) { + return Preferences::getFormObject( $user, $context ); + } + private function showResetForm() { if ( !$this->getUser()->isAllowed( 'editmyoptions' ) ) { throw new PermissionsError( 'editmyoptions' ); diff --git a/includes/specials/SpecialRecentchanges.php b/includes/specials/SpecialRecentchanges.php index 6ef75e07c0..0b48d4081c 100644 --- a/includes/specials/SpecialRecentchanges.php +++ b/includes/specials/SpecialRecentchanges.php @@ -255,7 +255,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage { } /** - * @inheritdoc + * @inheritDoc */ protected function transformFilterDefinition( array $filterDefinition ) { if ( isset( $filterDefinition['showHideSuffix'] ) ) { @@ -266,7 +266,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage { } /** - * @inheritdoc + * @inheritDoc */ protected function registerFilters() { parent::registerFilters(); @@ -380,7 +380,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage { } /** - * @inheritdoc + * @inheritDoc */ protected function buildQuery( &$tables, &$fields, &$conds, &$query_options, &$join_conds, FormOptions $opts @@ -404,7 +404,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage { } /** - * @inheritdoc + * @inheritDoc */ protected function doMainQuery( $tables, $fields, $conds, $query_options, $join_conds, FormOptions $opts @@ -868,7 +868,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage { /** * Filter $rows by categories set in $opts * - * @param ResultWrapper $rows Database rows + * @param ResultWrapper &$rows Database rows * @param FormOptions $opts */ function filterByCategories( &$rows, FormOptions $opts ) { diff --git a/includes/specials/SpecialRecentchangeslinked.php b/includes/specials/SpecialRecentchangeslinked.php index fee336e435..e353f0cbdd 100644 --- a/includes/specials/SpecialRecentchangeslinked.php +++ b/includes/specials/SpecialRecentchangeslinked.php @@ -47,7 +47,7 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges { } /** - * @inheritdoc + * @inheritDoc */ protected function doMainQuery( $tables, $select, $conds, $query_options, $join_conds, FormOptions $opts diff --git a/includes/specials/SpecialRevisiondelete.php b/includes/specials/SpecialRevisiondelete.php index 4b0fa008b6..e1d4dd1b5d 100644 --- a/includes/specials/SpecialRevisiondelete.php +++ b/includes/specials/SpecialRevisiondelete.php @@ -73,28 +73,28 @@ class SpecialRevisionDelete extends UnlistedSpecialPage { 'success' => 'revdelete-success', 'failure' => 'revdelete-failure', 'text' => 'revdelete-text-text', - 'selected'=> 'revdelete-selected-text', + 'selected' => 'revdelete-selected-text', ], 'archive' => [ 'check-label' => 'revdelete-hide-text', 'success' => 'revdelete-success', 'failure' => 'revdelete-failure', 'text' => 'revdelete-text-text', - 'selected'=> 'revdelete-selected-text', + 'selected' => 'revdelete-selected-text', ], 'oldimage' => [ 'check-label' => 'revdelete-hide-image', 'success' => 'revdelete-success', 'failure' => 'revdelete-failure', 'text' => 'revdelete-text-file', - 'selected'=> 'revdelete-selected-file', + 'selected' => 'revdelete-selected-file', ], 'filearchive' => [ 'check-label' => 'revdelete-hide-image', 'success' => 'revdelete-success', 'failure' => 'revdelete-failure', 'text' => 'revdelete-text-file', - 'selected'=> 'revdelete-selected-file', + 'selected' => 'revdelete-selected-file', ], 'logging' => [ 'check-label' => 'revdelete-hide-name', diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php index 8afea0b295..85b4572bd5 100644 --- a/includes/specials/SpecialSearch.php +++ b/includes/specials/SpecialSearch.php @@ -555,7 +555,7 @@ class SpecialSearch extends SpecialPage { * Extract "power search" namespace settings from the request object, * returning a list of index numbers to search. * - * @param WebRequest $request + * @param WebRequest &$request * @return array */ protected function powerSearch( &$request ) { diff --git a/includes/specials/SpecialWatchlist.php b/includes/specials/SpecialWatchlist.php index 9e01d2d450..51ddc0ba0b 100644 --- a/includes/specials/SpecialWatchlist.php +++ b/includes/specials/SpecialWatchlist.php @@ -109,7 +109,7 @@ class SpecialWatchlist extends ChangesListSpecialPage { } /** - * @inheritdoc + * @inheritDoc */ protected function transformFilterDefinition( array $filterDefinition ) { if ( isset( $filterDefinition['showHideSuffix'] ) ) { @@ -120,7 +120,7 @@ class SpecialWatchlist extends ChangesListSpecialPage { } /** - * @inheritdoc + * @inheritDoc */ protected function registerFilters() { parent::registerFilters(); @@ -250,7 +250,7 @@ class SpecialWatchlist extends ChangesListSpecialPage { } /** - * @inheritdoc + * @inheritDoc */ protected function buildQuery( &$tables, &$fields, &$conds, &$query_options, &$join_conds, FormOptions $opts @@ -267,7 +267,7 @@ class SpecialWatchlist extends ChangesListSpecialPage { } /** - * @inheritdoc + * @inheritDoc */ protected function doMainQuery( $tables, $fields, $conds, $query_options, $join_conds, FormOptions $opts @@ -596,7 +596,7 @@ class SpecialWatchlist extends ChangesListSpecialPage { // default string representation, for example, and would confuse comparisons. // Misleadingly, the 'days' option supports hours too. - $days = array_map( 'strval', [ 1/24, 2/24, 6/24, 12/24, 1, 3, 7 ] ); + $days = array_map( 'strval', [ 1 / 24, 2 / 24, 6 / 24, 12 / 24, 1, 3, 7 ] ); $userWatchlistOption = (string)$this->getUser()->getOption( 'watchlistdays' ); // add the user preference, if it isn't available already diff --git a/includes/specials/helpers/LoginHelper.php b/includes/specials/helpers/LoginHelper.php index cfcbf652c0..a35a420ee6 100644 --- a/includes/specials/helpers/LoginHelper.php +++ b/includes/specials/helpers/LoginHelper.php @@ -75,7 +75,7 @@ class LoginHelper extends ContextSource { // Allow modification of redirect behavior Hooks::run( 'PostLoginRedirect', [ &$returnTo, &$returnToQuery, &$type ] ); - $returnToTitle = Title::newFromText( $returnTo ) ?: Title::newMainPage(); + $returnToTitle = Title::newFromText( $returnTo ) ?: Title::newMainPage(); if ( $wgSecureLogin && !$stickHTTPS ) { $options = [ 'http' ]; diff --git a/includes/specials/pagers/ProtectedPagesPager.php b/includes/specials/pagers/ProtectedPagesPager.php index 45dced8829..823b5da403 100644 --- a/includes/specials/pagers/ProtectedPagesPager.php +++ b/includes/specials/pagers/ProtectedPagesPager.php @@ -36,9 +36,9 @@ class ProtectedPagesPager extends TablePager { /** * @param SpecialProtectedpages $form * @param array $conds - * @param $type - * @param $level - * @param $namespace + * @param string $type + * @param string $level + * @param int $namespace * @param string $sizetype * @param int $size * @param bool $indefonly diff --git a/includes/specials/pagers/UsersPager.php b/includes/specials/pagers/UsersPager.php index cdb9130bc0..a68fe66881 100644 --- a/includes/specials/pagers/UsersPager.php +++ b/includes/specials/pagers/UsersPager.php @@ -270,7 +270,7 @@ class UsersPager extends AlphabeticPager { function getPageHeader() { list( $self ) = explode( '/', $this->getTitle()->getPrefixedDBkey() ); - $groupOptions = [ $this->msg( 'group-all' )->text() => '' ]; + $groupOptions = [ $this->msg( 'group-all' )->text() => '' ]; foreach ( $this->getAllGroups() as $group => $groupText ) { $groupOptions[ $groupText ] = $group; } diff --git a/includes/tidy/Balancer.php b/includes/tidy/Balancer.php index 4852ce5211..b29a3afbd4 100644 --- a/includes/tidy/Balancer.php +++ b/includes/tidy/Balancer.php @@ -1203,7 +1203,7 @@ class BalanceStack implements IteratorAggregate { $furthestBlock = null; $furthestBlockIndex = -1; $stackLength = $this->length(); - for ( $i = $index+1; $i < $stackLength; $i++ ) { + for ( $i = $index + 1; $i < $stackLength; $i++ ) { if ( $this->node( $i )->isA( BalanceSets::$specialSet ) ) { $furthestBlock = $this->node( $i ); $furthestBlockIndex = $i; @@ -1225,7 +1225,7 @@ class BalanceStack implements IteratorAggregate { // Let the common ancestor be the element immediately above // the formatting element in the stack of open elements. - $ancestor = $this->node( $index-1 ); + $ancestor = $this->node( $index - 1 ); // Let a bookmark note the position of the formatting // element in the list of active formatting elements @@ -2116,7 +2116,7 @@ class Balancer { return $this->insertToken( $token, $value, $attribs, $selfClose ); } // "Any other start tag" - $adjusted = ( $this->fragmentContext && $this->stack->length()===1 ) ? + $adjusted = ( $this->fragmentContext && $this->stack->length() === 1 ) ? $this->fragmentContext : $this->stack->currentNode; $this->stack->insertForeignElement( $adjusted->namespaceURI, $value, $attribs @@ -2242,7 +2242,7 @@ class Balancer { private function switchMode( $mode ) { Assert::parameter( - substr( $mode, -4 )==='Mode', '$mode', 'should end in Mode' + substr( $mode, -4 ) === 'Mode', '$mode', 'should end in Mode' ); $oldMode = $this->parseMode; $this->parseMode = $mode; @@ -2267,8 +2267,8 @@ class Balancer { switch ( $node->localName ) { case 'select': $stackLength = $this->stack->length(); - for ( $j = $i + 1; $j < $stackLength-1; $j++ ) { - $ancestor = $this->stack->node( $stackLength-$j-1 ); + for ( $j = $i + 1; $j < $stackLength - 1; $j++ ) { + $ancestor = $this->stack->node( $stackLength - $j - 1 ); if ( $ancestor->isHtmlNamed( 'template' ) ) { break; } diff --git a/includes/upload/UploadBase.php b/includes/upload/UploadBase.php index 660c5b7e67..2ee40a886c 100644 --- a/includes/upload/UploadBase.php +++ b/includes/upload/UploadBase.php @@ -155,7 +155,7 @@ abstract class UploadBase { /** * Create a form of UploadBase depending on wpSourceType and initializes it * - * @param WebRequest $request + * @param WebRequest &$request * @param string|null $type * @return null|UploadBase */ @@ -241,7 +241,7 @@ abstract class UploadBase { /** * Initialize from a WebRequest. Override this in a subclass. * - * @param WebRequest $request + * @param WebRequest &$request */ abstract public function initializeFromRequest( &$request ); @@ -1496,6 +1496,7 @@ abstract class UploadBase { * @param string $type PUBLIC or SYSTEM * @param string $publicId The well-known public identifier for the dtd * @param string $systemId The url for the external dtd + * @return bool|array */ public static function checkSvgExternalDTD( $type, $publicId, $systemId ) { // This doesn't include the XHTML+MathML+SVG doctype since we don't @@ -1521,6 +1522,7 @@ abstract class UploadBase { * @todo Replace this with a whitelist filter! * @param string $element * @param array $attribs + * @param array $data * @return bool */ public function checkSvgScriptCallback( $element, $attribs, $data = null ) { diff --git a/includes/upload/UploadFromChunks.php b/includes/upload/UploadFromChunks.php index c0c2cb5c31..68bcb9d9c7 100644 --- a/includes/upload/UploadFromChunks.php +++ b/includes/upload/UploadFromChunks.php @@ -64,7 +64,7 @@ class UploadFromChunks extends UploadFromFile { } /** - * {@inheritdoc} + * @inheritDoc */ public function tryStashFile( User $user, $isPartial = false ) { try { @@ -77,7 +77,7 @@ class UploadFromChunks extends UploadFromFile { } /** - * {@inheritdoc} + * @inheritDoc * @throws UploadChunkVerificationException * @deprecated since 1.28 Use tryStashFile() instead */ @@ -88,7 +88,7 @@ class UploadFromChunks extends UploadFromFile { } /** - * {@inheritdoc} + * @inheritDoc * @throws UploadChunkVerificationException * @deprecated since 1.28 */ @@ -99,7 +99,7 @@ class UploadFromChunks extends UploadFromFile { } /** - * {@inheritdoc} + * @inheritDoc * @throws UploadChunkVerificationException * @deprecated since 1.28 */ diff --git a/includes/upload/UploadFromFile.php b/includes/upload/UploadFromFile.php index acfabbac26..675bb8d453 100644 --- a/includes/upload/UploadFromFile.php +++ b/includes/upload/UploadFromFile.php @@ -34,7 +34,7 @@ class UploadFromFile extends UploadBase { protected $mUpload = null; /** - * @param WebRequest $request + * @param WebRequest &$request */ function initializeFromRequest( &$request ) { $upload = $request->getUpload( 'wpUploadFile' ); diff --git a/includes/upload/UploadFromStash.php b/includes/upload/UploadFromStash.php index 1fbdb7d86d..a9f399b7cc 100644 --- a/includes/upload/UploadFromStash.php +++ b/includes/upload/UploadFromStash.php @@ -113,7 +113,7 @@ class UploadFromStash extends UploadBase { } /** - * @param WebRequest $request + * @param WebRequest &$request */ public function initializeFromRequest( &$request ) { // sends wpSessionKey as a default when wpFileKey is missing diff --git a/includes/upload/UploadFromUrl.php b/includes/upload/UploadFromUrl.php index 2b13dd8b52..7d697a1902 100644 --- a/includes/upload/UploadFromUrl.php +++ b/includes/upload/UploadFromUrl.php @@ -141,7 +141,7 @@ class UploadFromUrl extends UploadBase { /** * Entry point for SpecialUpload - * @param WebRequest $request + * @param WebRequest &$request */ public function initializeFromRequest( &$request ) { $desiredDestName = $request->getText( 'wpDestFile' ); diff --git a/includes/user/User.php b/includes/user/User.php index fa84c94ca7..71a427298e 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -3519,7 +3519,7 @@ class User implements IDBAccessObject { /** * Check if user is allowed to access a feature / make an action * - * @param string ... Permissions to test + * @param string $permissions,... Permissions to test * @return bool True if user is allowed to perform *any* of the given actions */ public function isAllowedAny() { @@ -3534,7 +3534,7 @@ class User implements IDBAccessObject { /** * - * @param string ... Permissions to test + * @param string $permissions,... Permissions to test * @return bool True if the user is allowed to perform *all* of the given actions */ public function isAllowedAll() { @@ -3661,7 +3661,7 @@ class User implements IDBAccessObject { * If e-notif e-mails are on, they will receive notification mails on * the next change of the page if it's watched etc. * @note If the user doesn't have 'editmywatchlist', this will do nothing. - * @param Title $title Title of the article to look at + * @param Title &$title Title of the article to look at * @param int $oldid The revision id being viewed. If not given or 0, latest revision is assumed. */ public function clearNotification( &$title, $oldid = 0 ) { diff --git a/includes/utils/AutoloadGenerator.php b/includes/utils/AutoloadGenerator.php index 8931e3ca17..19f5100a4c 100644 --- a/includes/utils/AutoloadGenerator.php +++ b/includes/utils/AutoloadGenerator.php @@ -372,7 +372,7 @@ class ClassCollector { /** * Accepts the next token in an expect sequence * - * @param array + * @param array $token */ protected function tryEndExpect( $token ) { switch ( $this->startToken[0] ) { diff --git a/includes/widget/search/InterwikiSearchResultSetWidget.php b/includes/widget/search/InterwikiSearchResultSetWidget.php index 9145bb66aa..81a1a43111 100644 --- a/includes/widget/search/InterwikiSearchResultSetWidget.php +++ b/includes/widget/search/InterwikiSearchResultSetWidget.php @@ -176,7 +176,7 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget { $iwIconUrl = $parsed['scheme'] . $parsed['delimiter'] . $parsed['host'] . - ( isset ( $parsed['port'] ) ? ':' . $parsed['port'] : '' ) . + ( isset( $parsed['port'] ) ? ':' . $parsed['port'] : '' ) . '/favicon.ico'; $iwIcon = new OOUI\IconWidget( [ diff --git a/includes/widget/search/InterwikiSearchResultWidget.php b/includes/widget/search/InterwikiSearchResultWidget.php index bcd1c16f4d..4eead5e7e9 100644 --- a/includes/widget/search/InterwikiSearchResultWidget.php +++ b/includes/widget/search/InterwikiSearchResultWidget.php @@ -61,6 +61,6 @@ class InterwikiSearchResultWidget implements SearchResultWidget { } return Html::rawElement( 'div', [ 'class' => 'iw-result__title' ], $link . ' ' . $redirect ) . - Html::rawElement( 'div', [ 'class'=> 'iw-result__content' ], $snippet ); + Html::rawElement( 'div', [ 'class' => 'iw-result__content' ], $snippet ); } } diff --git a/languages/Language.php b/languages/Language.php index 92dad9b134..9db7dec4cd 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -203,7 +203,7 @@ class Language { /** * Create a language object for a given language code * @param string $code - * @param $fallback boolean Whether we're going through language fallback chain + * @param bool $fallback Whether we're going through language fallback chain * @throws MWException * @return Language */ @@ -1584,9 +1584,9 @@ class Language { * @return int[] */ private static function tsToIranian( $ts ) { - $gy = substr( $ts, 0, 4 ) -1600; - $gm = substr( $ts, 4, 2 ) -1; - $gd = substr( $ts, 6, 2 ) -1; + $gy = substr( $ts, 0, 4 ) - 1600; + $gm = substr( $ts, 4, 2 ) - 1; + $gd = substr( $ts, 6, 2 ) - 1; # Days passed from the beginning (including leap years) $gDayNo = 365 * $gy @@ -1666,7 +1666,7 @@ class Language { (int)( ( 275 * $zm ) / 9 ) + $zd + 1729777; } - $zl = $zjd -1948440 + 10632; + $zl = $zjd - 1948440 + 10632; $zn = (int)( ( $zl - 1 ) / 10631 ); $zl = $zl - 10631 * $zn + 354; $zj = ( (int)( ( 10985 - $zl ) / 5316 ) ) * ( (int)( ( 50 * $zl ) / 17719 ) ) + @@ -3346,7 +3346,7 @@ class Language { if ( $start < 0 ) { $start = 0; } - $groupedNumber = substr( $number, $start, $end -$start ) . $groupedNumber; + $groupedNumber = substr( $number, $start, $end - $start ) . $groupedNumber; $end = $start; if ( $numMatches > 1 ) { // use the last pattern for the rest of the number diff --git a/languages/LanguageCode.php b/languages/LanguageCode.php index 7c9da77ba6..3fa3dc16e5 100644 --- a/languages/LanguageCode.php +++ b/languages/LanguageCode.php @@ -27,6 +27,27 @@ * @ingroup Language */ class LanguageCode { + /** + * Mapping of deprecated language codes that were used in previous + * versions of MediaWiki to up-to-date, current language codes. + * + * @var array Mapping from language code to language code + * + * @since 1.30 + */ + private static $deprecatedLanguageCodeMapping = [ + // Note that als is actually a valid ISO 639 code (Tosk Albanian), but it + // was previously used in MediaWiki for Alsatian, which comes under gsw + 'als' => 'gsw', + 'bat-smg' => 'sgs', + 'be-x-old' => 'be-tarask', + 'fiu-vro' => 'vro', + 'roa-rup' => 'rup', + 'zh-classical' => 'lzh', + 'zh-min-nan' => 'nan', + 'zh-yue' => 'yue', + ]; + /** * Returns a mapping of deprecated language codes that were used in previous * versions of MediaWiki to up-to-date, current language codes. @@ -36,19 +57,27 @@ class LanguageCode { * MediaWiki's localisation system. * * @return string[] + * + * @since 1.29 */ public static function getDeprecatedCodeMapping() { - return [ - // Note that als is actually a valid ISO 639 code (Tosk Albanian), but it - // was previously used in MediaWiki for Alsatian, which comes under gsw - 'als' => 'gsw', - 'bat-smg' => 'sgs', - 'be-x-old' => 'be-tarask', - 'fiu-vro' => 'vro', - 'roa-rup' => 'rup', - 'zh-classical' => 'lzh', - 'zh-min-nan' => 'nan', - 'zh-yue' => 'yue', - ]; + return self::$deprecatedLanguageCodeMapping; + } + + /** + * Replace deprecated language codes that were used in previous + * versions of MediaWiki to up-to-date, current language codes. + * Other values will returned unchanged. + * + * @param string $code Old language code + * @return string New language code + * + * @since 1.30 + */ + public static function replaceDeprecatedCodes( $code ) { + if ( isset( self::$deprecatedLanguageCodeMapping[$code] ) ) { + return self::$deprecatedLanguageCodeMapping[$code]; + } + return $code; } } diff --git a/languages/classes/LanguageEn.php b/languages/classes/LanguageEn.php index dcb7a9194b..1cfcd2c74e 100644 --- a/languages/classes/LanguageEn.php +++ b/languages/classes/LanguageEn.php @@ -36,8 +36,8 @@ class EnConverter extends LanguageConverter { * Translates text into Pig Latin. This allows developers to test the language variants * functionality and user interface without having to switch wiki language away from default. * - * @param $text string - * @param $toVariant string + * @param string $text + * @param string $toVariant * @return string */ function translate( $text, $toVariant ) { diff --git a/languages/classes/LanguageKk.php b/languages/classes/LanguageKk.php index f6f03c48af..1a1438c6b2 100644 --- a/languages/classes/LanguageKk.php +++ b/languages/classes/LanguageKk.php @@ -282,7 +282,7 @@ class KkConverter extends LanguageConverter { $ret = ''; foreach ( $matches as $m ) { - $ret .= substr( $text, $mstart, $m[1] -$mstart ); + $ret .= substr( $text, $mstart, $m[1] - $mstart ); $ret .= $this->regsConverter( $m[0], $toVariant ); $mstart = $m[1] + strlen( $m[0] ); } diff --git a/languages/classes/LanguageSr.php b/languages/classes/LanguageSr.php index 6491f55140..e0ff5e1676 100644 --- a/languages/classes/LanguageSr.php +++ b/languages/classes/LanguageSr.php @@ -131,7 +131,7 @@ class SrConverter extends LanguageConverter { $ret = $this->mTables[$toVariant]->replace( $m[0] ); $mstart = $m[1] + strlen( $m[0] ); foreach ( $matches as $m ) { - $ret .= substr( $text, $mstart, $m[1] -$mstart ); + $ret .= substr( $text, $mstart, $m[1] - $mstart ); $ret .= parent::translate( $m[0], $toVariant ); $mstart = $m[1] + strlen( $m[0] ); } diff --git a/languages/data/Names.php b/languages/data/Names.php index 19ff2a4ffb..8970b40f4e 100644 --- a/languages/data/Names.php +++ b/languages/data/Names.php @@ -314,7 +314,7 @@ class Names { 'nl' => 'Nederlands', # Dutch 'nl-informal' => "Nederlands (informeel)\xE2\x80\x8E", # Dutch (informal address ("je")) 'nn' => 'norsk nynorsk', # Norwegian (Nynorsk) - 'no' => 'norsk bokmål', # Norwegian (falls back to nb). + 'no' => 'norsk', # Norwegian macro language (falls back to nb). 'nov' => 'Novial', # Novial 'nrm' => 'Nouormand', # Norman 'nso' => 'Sesotho sa Leboa', # Northern Sotho diff --git a/languages/i18n/ar.json b/languages/i18n/ar.json index d7243a9032..53da8b0197 100644 --- a/languages/i18n/ar.json +++ b/languages/i18n/ar.json @@ -757,8 +757,8 @@ "permissionserrorstext-withaction": "لا تملك الصلاحيات ل$2، لل{{PLURAL:$1||سبب التالي|سببين التاليين|أسباب التالية}}:", "contentmodelediterror": "أنت لا يمكنك تعديل هذه المراجعة لأن موديل محتواها هو $1، والذي يختلف عن موديل المحتوى الحالي للصفحة $2.", "recreate-moveddeleted-warn": "'''تحذير: أنت تعيد إنشاء صفحة سبق حذفها.'''\n\nيجب عليك التيقن من أن الاستمرار بتحرير هذه الصفحة ملائم.\nسجلا الحذف والنقل لهذه الصفحة معروضان هنا للتيسير:", - "moveddeleted-notice": "هذه الصفحة تم حذفها.\nسجلا الحذف والنقل للصفحة معروضان بالأسفل كمرجع.", - "moveddeleted-notice-recent": "عذرا، هذه الصفحة تم حذفها مؤخرا (في آخر 24 ساعة).\nسجلا الحذف والنقل للصفحة معروضان بالأسفل كمرجع.", + "moveddeleted-notice": "هذه الصفحة تم حذفها.\nسجلا حذف ونقل الصفحة معروضان بالأسفل كمرجع.", + "moveddeleted-notice-recent": "عذرا، هذه الصفحة تم حذفها مؤخرا (في آخر 24 ساعة).\nسجلا حذف ونقل الصفحة معروضان بالأسفل كمرجع.", "log-fulllog": "أظهر السجل الكامل", "edit-hook-aborted": "التعديل تم تركه بواسطة الخطاف.\nلم يعط تفسيرا.", "edit-gone-missing": "لم يمكن تحديث الصفحة.\nيبدو أنه تم حذفها.", @@ -3634,6 +3634,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/ast.json b/languages/i18n/ast.json index bef877babc..f9fa0fb42f 100644 --- a/languages/i18n/ast.json +++ b/languages/i18n/ast.json @@ -3473,6 +3473,7 @@ "compare-invalid-title": "El títulu que conseñasti nun ye válidu.", "compare-title-not-exists": "El títulu que conseñasti nun esiste.", "compare-revision-not-exists": "La revisión que conseñasti nun esiste.", + "diff-form": "un '''formulariu'''", "dberr-problems": "¡Sentímoslo! Esti sitiu ta esperimentando dificultaes téuniques.", "dberr-again": "Tenta esperar dellos minutos y recargar.", "dberr-info": "(Nun se pue entrar na base de datos: $1)", diff --git a/languages/i18n/ba.json b/languages/i18n/ba.json index 5a51975c0d..0f0bbe3ffa 100644 --- a/languages/i18n/ba.json +++ b/languages/i18n/ba.json @@ -190,6 +190,7 @@ "searcharticle": "Күсеү", "history": "Бит тарихы", "history_short": "Тарих", + "history_small": "тарихы", "updatedmarker": "һуңғы инеүемдән һуң яңыртылған", "printableversion": "Баҫтырыу өлгөһө", "permalink": "Даими һылтанма", @@ -710,8 +711,8 @@ "permissionserrorstext-withaction": "«'''$2'''» ғәмәлен башҡара алмайһығыҙ. {{PLURAL:$1|1=Сәбәбе|Сәбәптәре}}:", "contentmodelediterror": "Был версияны мөхәррирләй алмайһығыҙ — $1, моделе ғәмәлдәге — $2 моделенан айырыла.", "recreate-moveddeleted-warn": "'''Иғтибар: Һеҙ, элек юйылған битте яңынан яһарға теләйһегеҙ.'''\n\nҺеҙгә был битте яңынан яһау кәрәклеген яңынан уйлап ҡарағыҙ.\nТүбәндә биттең юйыу һәм исем үҙгәртеү яҙмалары килтерелә:", - "moveddeleted-notice": "Был бит юйылған.\nБелешмә өсөн киләһе юйыу һәм исем үҙгәртеү яҙмалары килтерелә.", - "moveddeleted-notice-recent": "Үкенескә ҡаршы бит бит юйылған (һуүғы 24 сәғәт эсендә). Түбәндә юйыуҙар журналы һәм был журналға күсереүҙәр бирелгән.", + "moveddeleted-notice": "Был бит юйылған.\nБелешмә өсөн түбәндә был биттең юйыу, һаҡлау һәм үҙгәртеү яҙмалары килтерелә.", + "moveddeleted-notice-recent": "Үкенескә ҡаршы был бит юйылған (һуңғы 24 сәғәт эсендә). Түбәндә, мәғлүмәт өсөн, был биткә тәғәйен юйыуҙар, һаҡлау һәм күсереп ҡуйыуҙарҙың журналы күрһәтелгән.", "log-fulllog": "Бар яҙмаларҙы ҡарарға", "edit-hook-aborted": "Үҙгәртеүҙе ҡармаҡ-процедура кире ҡаҡты.\nӨҫтәмә аңлатма килтерелмәй.", "edit-gone-missing": "Битте яңыртып булмай.\nБәлки ул юйылғандыр.", @@ -1087,8 +1088,11 @@ "userrights-nodatabase": "$1 базаһы юҡ йәки урындағы (локаль) база түгел.", "userrights-changeable-col": "Һеҙ үҙгәртә алған төркөмдәр", "userrights-unchangeable-col": "Һеҙ үҙгәртә алмаған төркөмдәр", + "userrights-expiry-current": "$1 мөҙҙәте сығып килә", "userrights-expiry-none": "Сикләүһеҙ", + "userrights-expiry": "Тамамлана:", "userrights-expiry-existing": "Әлеге ваҡыт сыға:$2, $3", + "userrights-expiry-othertime": "Башҡа ваҡыт:", "userrights-expiry-options": "1 көн:1 day,1 аҙна:1 week,1 ай:1 mopnth, 3 ай:3 months,6 ай:6 months,1 йыл:1 year", "userrights-invalid-expiry": "«$1» төркөмө өсөн ваҡыт бөтөүе яңылыш бирелгән", "userrights-expiry-in-past": "Время истечения для группы «$1» задано в прошлом.\n«$1» төркөмө өсөн ваҡыт бөтөүе үткән ваҡытта бирелгән.", @@ -1301,14 +1305,21 @@ "rcfilters-limit-shownum": "{{PLURAL:$1|һуңғы үҙгәреш|$1 һуңғы үҙгәрештәр|$1 һуңғы үҙгәрештәрҙе}} күрһәтергә", "rcfilters-days-title": "Аҙаҡҡы көндәр", "rcfilters-hours-title": "Аҙаҡҡы сәғәттәр", + "rcfilters-days-show-days": "$1 {{PLURAL:$1|көн|көндәр}}", + "rcfilters-days-show-hours": "$1 {{PLURAL:$1|сәғәт|сәғәттән}}", "rcfilters-quickfilters": "Һаҡланған фильтрҙар", "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": "Бөтә фильтрҙарҙы ла таҙартырға", @@ -1317,12 +1328,14 @@ "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": "Авторлыҡты мөхәррирләү", @@ -1331,6 +1344,7 @@ "rcfilters-filter-editsbyother-label": "Башҡа ҡатнашыусылар индергән үҙгәртеүҙәр", "rcfilters-filter-editsbyother-description": "Һинән башҡа барһының да үҙгәртеүҙәре", "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": "Системаға инмәгән мөхәррирҙәр", @@ -1359,7 +1373,40 @@ "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-changetype": "Үҙгәреш төрө", + "rcfilters-filter-pageedits-label": "Биттәрҙе мөхәррирләү", + "rcfilters-filter-pageedits-description": "Вики йөкмәткеһен, фекерләшеү, категориялар яҙмаһын мөхәррирләү...", + "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-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-liveupdates-button": "Автоматик яңыртыу", + "rcfilters-liveupdates-button-title-on": "Автоматик яңыртыуҙы һүндереү", + "rcfilters-liveupdates-button-title-off": "Яңы үҙгәрештәрҙе килеп сығыу менән күрһәтергә", "rcnotefrom": "Аҫта $3, $4 ҡарата {{PLURAL:$5|үҙгәртеүҙәр күрһәтелгән}} ($1 күберәк түгел).", + "rclistfromreset": "Дата һайлауҙы һүндереү", "rclistfrom": "$3 $2 алып яңы үҙгәртеүҙәрҙе күрһәт.", "rcshowhideminor": "бәләкәй төҙәтеүҙәрҙе $1", "rcshowhideminor-show": "Күрһәтергә", @@ -1466,6 +1513,8 @@ "file-thumbnail-no": "Файлдың исеме $1 менән башлана.\nБәлки, ул рәсемдең бәләкәйтелгән өлгөһөлөр ''(шартлы рәсем)''.\nӘгәр һеҙҙә был рәсемдең ҙур өлгөһө булһа, зинһар, уны керетегеҙ йәки файлдың исемен үҙгәртегеҙ.", "fileexists-forbidden": "Бындай исемле файл бар инде һәм ул үҙгәртелә алмай.\nӘгәр һеҙ шулай ҙа был файлды тейәргә теләһәгеҙ, зинһар, кире ҡайтығыҙ һәм уны икенсе исем аҫтында тейәгеҙ.\n[[File:$1|thumb|center|$1]]", "fileexists-shared-forbidden": "Бындай исемле файл дөйөм файл һаҡлағыста бар инде.\nӘгәр һеҙ шулай ҙа был файлды тейәргә теләһәгеҙ, зинһар, кире ҡайтығыҙ һәм яңы исем һайлағыҙ.\n[[File:$1|thumb|center|$1]]", + "fileexists-no-change": "Был тейәү файлдың ағымдағы версияһы [[:$1]] там ише", + "fileexists-duplicate-version": "Был тейәү [[:$1]] файлының {{PLURAL:$2|иҫкерәк версияһының|иҫкерәк версияларының}} там ише булып тора.", "file-exists-duplicate": "Был файл түбәндәге {{PLURAL:$1|1=файл|файлдар}} менән тап килә:", "file-deleted-duplicate": "Оҡшаш файл ([[:$1]]) юйылғайны инде. Уны ҡайтанан тейәр алдынан, зинһар, файлды юйыу тарихын ҡарағыҙ.", "file-deleted-duplicate-notitle": "Ошоға оҡшаған файл юйылған,ә исеме тыйылған булған. Яңынан тейәү алдынан администратор хоҡуғы булған кешенән тыйылған файлдарҙы ҡарап сығыуын һорарға кәрәк.", @@ -1478,6 +1527,7 @@ "php-uploaddisabledtext": "Файлдар тейәү PHP көйләүҙәрендә рөхсәт ителмәй. Зинһар, file_uploads көйләүен тикшерегеҙ.", "uploadscripted": "Файлда булған HTML-кодты йәки скриптты браузер дөрөҫ эшкәртмәүе мөмкин.", "upload-scripted-pi-callback": "XML стилендәге таблицаны эшкәртеү инструкцияһы булған файлды тейеп булмай.", + "upload-scripted-dtd": "Ят DTD-белдереүе булған SVG-файлдарҙы тейәп булмай.", "uploaded-script-svg": "Тейәлгән SVG-файлында хәүефле «$1» элементы табылды.", "uploaded-hostile-svg": "Тейәлгән SVG-файлда хәүефле CSS-код табылды.", "uploaded-event-handler-on-svg": "SVG-файлдары өсөн $1=\"$2\" атрибуты ҡуйыу рөхсәт ителмәй.", @@ -1515,8 +1565,11 @@ "upload-http-error": "HTTP хата килеп сыҡты: $1", "upload-copy-upload-invalid-domain": "Был доменға ҡараған сайттарҙан файл күсереү асыҡ түгел", "upload-foreign-cant-upload": "Вики ситтәге репозиторийға файл тейәргә көйләнмәгән.", + "upload-foreign-cant-load-config": "Файлдарҙы тейәү юлын тыштағы файл-һаҡлағысҡа тейәп булманы.", + "upload-dialog-disabled": "Был вики-сайтта файлдарҙы диалог тәҙрәһе ярҙамында тейәү мөмкинлеге һүндерелгән.", "upload-dialog-title": "Файлды тейәргә", "upload-dialog-button-cancel": "Кире алырға", + "upload-dialog-button-back": "Артҡа", "upload-dialog-button-done": "Әҙер", "upload-dialog-button-save": "Һаҡларға", "upload-dialog-button-upload": "Тейәргә", @@ -1585,6 +1638,7 @@ "uploadstash-errclear": "Файлдарҙы таҙартып булманы.", "uploadstash-refresh": "Файлдар исемлеген яңыртырға", "uploadstash-thumbnail": "һүрәттәрҙе ҡарау", + "uploadstash-exception": "Тейәлгәнде ваҡытлыса һаҡлауыста ($1):«$2» һаҡлап булманы.", "invalid-chunk-offset": "Ҡабул ителмәгән фрагмент шылыуы", "img-auth-accessdenied": "Керергә рөхсәт ителмәй", "img-auth-nopathinfo": "PATH_INFO юҡ.\nҺеҙҙең сервер был мәғлүмәтте ебәреү өсөн көйләнмәгән.\nУның CGI нигеҙендә эшләүе һәм img_auth ҡулланмауы мөмкин.\nТулыраҡ мәғлүмәт: https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization", @@ -1672,6 +1726,7 @@ "filerevert-submit": "Кире алырға", "filerevert-success": "'''[[Media:$1|$1]]''' [$2 $3 булдырылған $4 өлгөһөнә] ҡайтарылды.", "filerevert-badversion": "Файлдың күрһәтелгән ваҡыт билдәһе менән алдағы урындағы өлгөһө юҡ.", + "filerevert-identical": "Ағымдағы версия һайланғаны менән бер иш.", "filedelete": "$1 юйырға", "filedelete-legend": "Файлды юйырға", "filedelete-intro": "Һеҙ '''[[Media:$1|$1]]''' файлын бөтә тарихы менән бергә юйырға йыйынаһығыҙ.", @@ -1728,6 +1783,8 @@ "pageswithprop-legend": "Үҙенсәлектәре ҡайтанан билдәләнгән биттәр", "pageswithprop-text": "Бында айырым үҙенсәлектәре ҡулдан яңыртып билдәләнгән биттәр һанала.", "pageswithprop-prop": "Үҙенсәлектең атамаһы:", + "pageswithprop-reverse": "Кире тәртиптә айырыу.", + "pageswithprop-sortbyvalue": "Сифаты буйынса айырыу", "pageswithprop-submit": "Табырға", "pageswithprop-prophidden-long": "Текст үҙенсәлегенең оҙон мәғәнәһе йәшерелгән ($1)", "pageswithprop-prophidden-binary": "ике тармаҡлы үҙенсәлектең мәғәнәһе йәшерелгән ($1)", @@ -1761,6 +1818,7 @@ "uncategorizedcategories": "Категорияланмаған категориялар", "uncategorizedimages": "Категорияланмаған файлдар", "uncategorizedtemplates": "Категорияланмаған ҡалыптар", + "uncategorized-categories-exceptionlist": "# Бында Special:UncategorizedCategories телгә алынырға тейеш булмаған категориялар теҙмәһе бар. Берәр юллап, «*» тамғаһынан башлап. Башҡа тамға (ара ҡалдырыуҙы ла ҡушып) менән башланған юлдар кире ҡағыла. Фекерҙәрегеҙ өсөн «#» ҡулланығыҙ.", "unusedcategories": "Ҡулланылмаған категориялар", "unusedimages": "Ҡулланылмаған файлдар", "wantedcategories": "Кәрәкле категориялар", @@ -1859,12 +1917,18 @@ "apisandbox-sending-request": "API-ғариза ебәреү", "apisandbox-loading-results": "API-яуап алыу", "apisandbox-results-error": " API-яуап алғанда хата китте: $1.", + "apisandbox-results-login-suppressed": "Был һорау теркәлмәгән ҡулланыусынан килгән тип ҡаралған. Сөнки һорау браузерҙағы домен ҡағиҙәһенә тап кимәүе ихтимал. Иғтибар, API ҡомлоҡтоң токендарын автоматик эшкәртеү бындай һорауҙарҙа яңылыша; зинһар, ҡулдан яҙып тултырығыҙ.", + "apisandbox-request-selectformat-label": "Һорауҙың билдәләрен шулай күрһәтергә:", + "apisandbox-request-format-url-label": "URL-һорау юлы", "apisandbox-request-url-label": "Һоратыуҙың URL-адресы:", + "apisandbox-request-json-label": "JSON-ды һорап алырға:", "apisandbox-request-time": "Мөрәжәғәт ваҡыты:{{PLURAL:$1|$1 мс}}", "apisandbox-results-fixtoken": "Токенды төҙөтегеҙ, ебәреүҙе ҡабатлағыҙ", "apisandbox-results-fixtoken-fail": " «$1» токенына инеп булманы", "apisandbox-alert-page": "Был биттә ҡайһы бер ҡырҙар дөрөҫ түгел.", "apisandbox-alert-field": "Был ҡыр дәүмәле ярамай.", + "apisandbox-continue": "Дауам итергә", + "apisandbox-continue-clear": "Таҙартыу", "booksources": "Китап сығанаҡтары", "booksources-search-legend": "Китап сығанаҡтарын эҙлә", "booksources-search": "Эҙләү", @@ -2500,7 +2564,7 @@ "import-nonewrevisions": "Бөтә өлгөләр бығаса тейәлгән булған.", "xml-error-string": "$2 юлда, $3 урында ($4 байт) $1: $5", "import-upload": "XML-мәғлүмәт тейәргә", - "import-token-mismatch": "Сессия мәғлүмәттәре юғалған.\nЗинһар, тағы ҡабатлап ҡарағыҙ. [[Special:UserLogout|системанан сығырға]]", + "import-token-mismatch": "Сессия мәғлүмәттәре юғалған.\nҺеҙ эш сеансын бөтөргәнһегеҙ. '''Ултырыш идентификаторығыҙҙы тикшереп, ҡабатлап ҡарағыҙ.'''\nБарыбер килеп сыҡмаһа, [[Special:UserLogout|системанан сығып]], яңынан инегеҙ, шулай уҡ браузер был сайттың cookies ҡабул итеү мөмкинлеген тикшерегеҙ.", "import-invalid-interwiki": "Күрһәтелгән вики проекттан тейәү мөмкин түгел.", "import-error-edit": "«$1» битен импортлап булманы, сөнки һеҙгә ул битте мөхәррирләү тыйылған.", "import-error-create": "«$1» битен импортлап булманы, сөнки һеҙгә ул битте яһау тыйылған.", @@ -3351,6 +3415,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/be-tarask.json b/languages/i18n/be-tarask.json index 58f5d80d4d..41797c249c 100644 --- a/languages/i18n/be-tarask.json +++ b/languages/i18n/be-tarask.json @@ -1393,6 +1393,8 @@ "rcfilters-view-tags-tooltip": "Фільтар вынікаў з дапамогай метак правак", "rcfilters-view-return-to-default-tooltip": "Вярнуцца да галоўнага мэню фільтраў", "rcfilters-liveupdates-button": "Імгненныя абнаўленьні", + "rcfilters-liveupdates-button-title-on": "Адключыць аўтаматычнае абнаўленьне", + "rcfilters-liveupdates-button-title-off": "Паказваць новыя зьмены як толькі яны адбываюцца", "rcnotefrom": "Ніжэй {{PLURAL:$5|знаходзіцца зьмена|знаходзяцца зьмены}} з $4 $3 (да $1 на старонку).", "rclistfromreset": "Скінуць выбар даты", "rclistfrom": "Паказаць зьмены з $2 $3", @@ -3482,6 +3484,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/bn.json b/languages/i18n/bn.json index 50106c4831..d45d38eb9a 100644 --- a/languages/i18n/bn.json +++ b/languages/i18n/bn.json @@ -3571,6 +3571,8 @@ "compare-invalid-title": "আপনার প্রদেয় শিরোনামটি সঠিক নয়।", "compare-title-not-exists": "আপনার কাঙ্ক্ষিত শিরোনামটি নেই।", "compare-revision-not-exists": "আপনার কাঙ্ক্ষিত সংস্করণটি নেই।", + "diff-form": "একটি '''ফরম'''", + "permanentlink-submit": "এই সংশোধনে যান", "dberr-problems": " দুঃখিত! এই সাইটটি বর্তমানে কারীগরী অসুবিধার মুখোমুখি হয়েছে।", "dberr-again": "কয়েক মিনিট পর পুনরায় পরিদর্শনের চেষ্টা করুন।", "dberr-info": "(ডেটাবেজ প্রবেশ করা সম্ভব হয়নি: $1)", diff --git a/languages/i18n/bs.json b/languages/i18n/bs.json index 75e13f6c50..1bce36fe01 100644 --- a/languages/i18n/bs.json +++ b/languages/i18n/bs.json @@ -3495,6 +3495,7 @@ "compare-invalid-title": "Naslov koji ste unijeli je nevaljan.", "compare-title-not-exists": "Naslov koji ste naveli ne postoji.", "compare-revision-not-exists": "Izmjena koji ste naveli ne postoji.", + "diff-form": "'''obrazac'''", "dberr-problems": "Žao nam je! Ova stranica ima određene tehničke poteškoće.", "dberr-again": "Pokušajte pričekati par minuta i zatim osvježiti.", "dberr-info": "(ne može se pristupiti bazi podataka: $1)", diff --git a/languages/i18n/ca.json b/languages/i18n/ca.json index dca845c644..c6c91c58a8 100644 --- a/languages/i18n/ca.json +++ b/languages/i18n/ca.json @@ -3503,6 +3503,7 @@ "compare-invalid-title": "El títol que heu especificat no és vàlid.", "compare-title-not-exists": "El títol que heu especificat no existeix.", "compare-revision-not-exists": "La revisió que heu especificat no existeix.", + "diff-form": "un '''formulari'''", "dberr-problems": "Ho sentim. Aquest lloc web està experimentant dificultats tècniques.", "dberr-again": "Intenteu esperar uns minuts i tornar a carregar.", "dberr-info": "(No es pot accedir a la base de dades: $1)", diff --git a/languages/i18n/cs.json b/languages/i18n/cs.json index c10766c75a..e2f096025a 100644 --- a/languages/i18n/cs.json +++ b/languages/i18n/cs.json @@ -723,8 +723,8 @@ "permissionserrorstext-withaction": "Z {{PLURAL:$1|následujícího důvodu|následujících důvodů}} nemáte oprávnění $2:", "contentmodelediterror": "Tuto revizi nemůžete editovat, protože model jejího obsahu je $1, což se liší od aktuálního modelu obsahu této stránky, kterým je $2.", "recreate-moveddeleted-warn": "'''Upozornění: Pokoušíte se znovuzaložit stránku, která byla v minulosti smazána.'''\n\nZvažte, zda je vhodné v editaci této stránky pokračovat.\nNíže vidíte soupis přesunů a smazání této stránky:", - "moveddeleted-notice": "Tato stránka byla smazána.\nPodrobnosti si můžete prohlédnout v níže zobrazeném seznamu provedených přesunů a smazání této stránky.", - "moveddeleted-notice-recent": "Omlouváme se, ale tato stránka byla nedávno (v posledních 24 hodinách) smazána. Pro úplnost je níže zobrazen soupis přesunů a smazání této stránky.", + "moveddeleted-notice": "Tato stránka byla smazána.\nPodrobnosti si můžete prohlédnout v níže zobrazeném seznamu provedených smazání, zamčení a přesunů této stránky.", + "moveddeleted-notice-recent": "Omlouváme se, ale tato stránka byla nedávno (v posledních 24 hodinách) smazána. Pro úplnost je níže zobrazen soupis smazání, zamčení a přesunů této stránky.", "log-fulllog": "Zobrazit všechny záznamy", "edit-hook-aborted": "Editace byla bez bližšího vysvětlení zrušena přípojným bodem.", "edit-gone-missing": "Stránku se nepodařilo aktualizovat.\nZřejmě byla smazána.", @@ -1310,6 +1310,7 @@ "recentchanges-submit": "Zobrazit", "rcfilters-legend-heading": "Seznam zkratek:", "rcfilters-group-results-by-page": "Seskupit výsledky podle stránky", + "rcfilters-grouping-title": "Seskupování", "rcfilters-activefilters": "Aktivní filtry", "rcfilters-advancedfilters": "Pokročilé filtry", "rcfilters-limit-title": "Zobrazit změny", @@ -1335,6 +1336,7 @@ "rcfilters-restore-default-filters": "Obnovit výchozí filtry", "rcfilters-clear-all-filters": "Zrušit všechny filtry", "rcfilters-show-new-changes": "Zobrazit nejnovější změny", + "rcfilters-previous-changes-label": "Dříve prohlédnuté změny", "rcfilters-search-placeholder": "Filtrovat nedávné změny (prohlížejte nebo začněte psát)", "rcfilters-invalid-filter": "Neplatný filtr", "rcfilters-empty-filter": "Žádné aktivní filtry. Zobrazeny jsou všechny příspěvky.", @@ -1407,11 +1409,14 @@ "rcfilters-tag-prefix-namespace-inverted": ":ne $1", "rcfilters-exclude-button-off": "Vynechat vybrané", "rcfilters-exclude-button-on": "Vybrané vynechány", + "rcfilters-view-advanced-filters-label": "Pokročilé filtry", "rcfilters-view-tags": "Označené editace", "rcfilters-view-namespaces-tooltip": "Filtrovat výsledky podle jmenného prostoru", "rcfilters-view-tags-tooltip": "Filtrovat výsledky pomocí značek editací", "rcfilters-view-return-to-default-tooltip": "Vrátit se do hlavního filtrovacího menu", "rcfilters-liveupdates-button": "Živé aktualizace", + "rcfilters-liveupdates-button-title-on": "Vypnout živé aktualizace", + "rcfilters-liveupdates-button-title-off": "Zobrazovat nové změny, jakmile jsou zveřejněny", "rcnotefrom": "Níže {{PLURAL:$5|je změna|jsou změny}} od $3, $4 ({{PLURAL:$1|zobrazena|zobrazeny|zobrazeno}} nejvýše $1).", "rclistfromreset": "Obnovit výběr data", "rclistfrom": "Ukázat nové změny, počínaje od $2, $3", @@ -3555,6 +3560,12 @@ "compare-invalid-title": "Zadaný název je neplatný.", "compare-title-not-exists": "Zadaný název neexistuje.", "compare-revision-not-exists": "Zadaná revize neexistuje.", + "diff-form": "Rozdíly", + "diff-form-oldid": "ID staré revize (nepovinné)", + "diff-form-submit": "Zobrazit rozdíly", + "permanentlink": "Trvalý odkaz", + "permanentlink-revid": "ID revize", + "permanentlink-submit": "Přejít na revizi", "dberr-problems": "Promiňte! Tento server má v tuto chvíli technické problémy.", "dberr-again": "Zkuste několik minut počkat a poté znovu načíst stránku.", "dberr-info": "(Nelze se připojit k databázi: $1)", diff --git a/languages/i18n/de.json b/languages/i18n/de.json index 009b24bf6e..9d13c52eb7 100644 --- a/languages/i18n/de.json +++ b/languages/i18n/de.json @@ -3591,6 +3591,13 @@ "compare-invalid-title": "Der angegebene Seitenname ist ungültig.", "compare-title-not-exists": "Der angegebene Seitenname ist nicht vorhanden.", "compare-revision-not-exists": "Die angegebene Version ist nicht vorhanden.", + "diff-form": "Unterschiede", + "diff-form-oldid": "Alte Versionskennung (optional)", + "diff-form-revid": "Versionskennung des Unterschieds", + "diff-form-submit": "Unterschiede anzeigen", + "permanentlink": "Permanenter Link", + "permanentlink-revid": "Versionskennung", + "permanentlink-submit": "Gehe zu Version", "dberr-problems": "Entschuldigung. Diese Seite hat momentan technische Schwierigkeiten.", "dberr-again": "Warte einige Minuten und versuche dann neu zu laden.", "dberr-info": "(Auf die Datenbank konnte nicht zugegriffen werden: $1)", diff --git a/languages/i18n/en.json b/languages/i18n/en.json index 61a113e894..86ac78ef77 100644 --- a/languages/i18n/en.json +++ b/languages/i18n/en.json @@ -3917,6 +3917,15 @@ "compare-invalid-title": "The title you specified is invalid.", "compare-title-not-exists": "The title you specified does not exist.", "compare-revision-not-exists": "The revision you specified does not exist.", + "diff-form": "Differences", + "diff-form-oldid": "Old revision ID (optional)", + "diff-form-revid": "Revision ID of difference", + "diff-form-submit": "Show differences", + "diff-form-summary": "", + "permanentlink": "Permanent link", + "permanentlink-revid": "Revision ID", + "permanentlink-submit": "Go to revision", + "permanentlink-summary": "", "dberr-problems": "Sorry! This site is experiencing technical difficulties.", "dberr-again": "Try waiting a few minutes and reloading.", "dberr-info": "(Cannot access the database: $1)", diff --git a/languages/i18n/es.json b/languages/i18n/es.json index 1bf49168ca..03b3c64b9a 100644 --- a/languages/i18n/es.json +++ b/languages/i18n/es.json @@ -3646,6 +3646,7 @@ "compare-invalid-title": "El título especificado es inválido.", "compare-title-not-exists": "El título especificado no existe.", "compare-revision-not-exists": "La revisión especificada no existe.", + "diff-form": "un '''formulario'''", "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/fa.json b/languages/i18n/fa.json index 30456e0ac9..0a200d30e6 100644 --- a/languages/i18n/fa.json +++ b/languages/i18n/fa.json @@ -3586,6 +3586,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/fi.json b/languages/i18n/fi.json index b5cfe820fd..45fa807b51 100644 --- a/languages/i18n/fi.json +++ b/languages/i18n/fi.json @@ -54,7 +54,8 @@ "BiscuitMan", "Alluk.", "Tumm1", - "4shadoww" + "4shadoww", + "Pahkiqaz" ] }, "tog-underline": "Linkkien alleviivaus:", @@ -738,7 +739,7 @@ "contentmodelediterror": "Et voi muokata tätä versiota, koska sen sisältömalli on $1 ja tämä poikkeaa sivun nykyisestä sisältömallista, joka on $2.", "recreate-moveddeleted-warn": "'''Varoitus: Olet luomassa sellaista sivua, joka on aikaisemmin poistettu.'''\n\nHarkitse, kannattaako tätä sivua luoda uudelleen. \nAlla on tämän sivun poisto- ja siirtohistoria:", "moveddeleted-notice": "Tämä sivu on poistettu. \nAlla on sivun poisto-, suojaus- ja siirtohistoria.", - "moveddeleted-notice-recent": "Valitettavasti tämä sivu on poistettu aivan äskettäin (viimeisen 24 tunnin aikana).\nAlla on sivun poisto-, suojaus- ja siirtohistoria.", + "moveddeleted-notice-recent": "Valitettavasti tämä sivu on poistettu äskettäin (viimeisen 24 tunnin aikana).\nAlla on sivun poisto-, suojaus- ja siirtohistoria.", "log-fulllog": "Näytä loki kokonaan", "edit-hook-aborted": "Laajennuskoodi esti muokkauksen antamatta syytä.", "edit-gone-missing": "Sivun päivitys ei onnistunut.\nSe on ilmeisesti poistettu.", @@ -1331,7 +1332,7 @@ "rcfilters-savedqueries-defaultlabel": "Tallennetut suodattimet", "rcfilters-savedqueries-rename": "Nimeä uudelleen", "rcfilters-savedqueries-setdefault": "Aseta oletukseksi", - "rcfilters-savedqueries-unsetdefault": "Poista oletus", + "rcfilters-savedqueries-unsetdefault": "Poista oletksena", "rcfilters-savedqueries-remove": "Poista", "rcfilters-savedqueries-new-name-label": "Nimi", "rcfilters-savedqueries-apply-label": "Luo suodatin", @@ -3496,6 +3497,7 @@ "compare-invalid-title": "Antamasi sivun nimi on virheellinen.", "compare-title-not-exists": "Määrittämääsi sivua ei ole.", "compare-revision-not-exists": "Määrittämääsi versiota ei ole.", + "diff-form": "Eroavaisuudet", "dberr-problems": "Tällä sivustolla on teknisiä ongelmia.", "dberr-again": "Odota hetki ja lataa sivu uudelleen.", "dberr-info": "(Tietokantaan ei saada yhteyttä: $1)", diff --git a/languages/i18n/fr.json b/languages/i18n/fr.json index b18568b780..6fa8f17a5e 100644 --- a/languages/i18n/fr.json +++ b/languages/i18n/fr.json @@ -3738,6 +3738,13 @@ "compare-invalid-title": "Le titre que vous avez spécifié n’est pas valide.", "compare-title-not-exists": "Le titre que vous avez spécifié n’existe pas.", "compare-revision-not-exists": "La révision que vous avez spécifiée n’existe pas.", + "diff-form": "Différences", + "diff-form-oldid": "ID de l’ancienne révision (facultatif)", + "diff-form-revid": "ID de la révision à comparer", + "diff-form-submit": "Afficher les différences", + "permanentlink": "Lien permanent", + "permanentlink-revid": "ID de la révision", + "permanentlink-submit": "Aller à la révision", "dberr-problems": "Désolé ! Ce site rencontre des difficultés techniques.", "dberr-again": "Essayez d'attendre quelques minutes et rechargez.", "dberr-info": "(Accès à la base de données impossible : $1)", diff --git a/languages/i18n/gl.json b/languages/i18n/gl.json index b8380fda02..78c96e092a 100644 --- a/languages/i18n/gl.json +++ b/languages/i18n/gl.json @@ -720,7 +720,7 @@ "contentmodelediterror": "Non pode editar esta revisión porque o seu modelo de contido é \"$1\", o cal difire do modelo de contido \"$2\", que é o actual da páxina.", "recreate-moveddeleted-warn": "'''Atención: Vai volver crear unha páxina que xa foi eliminada anteriormente.'''\n\nDebería considerar se é apropiado continuar a editar esta páxina.\nVelaquí están o rexistro de borrados e mais o de traslados desta páxina, por se quere consultalos:", "moveddeleted-notice": "Esta páxina foi borrada.\nA continuación pódese ver o rexistro de borrados e traslados desta páxina, por se quere consultalos.", - "moveddeleted-notice-recent": "Sentímolo, borrouse esta páxina recentemente (nas últimas 24 horas).\nVelaquí están o rexistro de borrados e traslados da páxina, por se os quere consultar.", + "moveddeleted-notice-recent": "Sentímolo, borrouse esta páxina recentemente (nas últimas 24 horas).\nVelaquí están o rexistro de borrados, proteccións e traslados da páxina, por se os quere consultar.", "log-fulllog": "Ver o rexistro completo", "edit-hook-aborted": "A edición foi abortada polo asociador.\nEste non deu ningunha explicación.", "edit-gone-missing": "Non se pode actualizar a páxina.\nSemella que foi borrada.", @@ -3575,6 +3575,13 @@ "compare-invalid-title": "O título que especificou non é válido.", "compare-title-not-exists": "O título que especificou non existe.", "compare-revision-not-exists": "A revisión que especificou non existe.", + "diff-form": "Diferenzas", + "diff-form-oldid": "Identificador de revisión antigo (opcional)", + "diff-form-revid": "Identificador de revisión da diferenza", + "diff-form-submit": "Mostrar as diferenzas", + "permanentlink": "Ligazón permanente", + "permanentlink-revid": "ID da revisión", + "permanentlink-submit": "Ir á revisión", "dberr-problems": "Sentímolo! Este sitio está experimentando dificultades técnicas.", "dberr-again": "Por favor, agarde uns minutos e logo probe a cargar de novo a páxina.", "dberr-info": "(Non se pode acceder ao servidor da base de datos: $1)", diff --git a/languages/i18n/gu.json b/languages/i18n/gu.json index e5f3045abc..8247dec68d 100644 --- a/languages/i18n/gu.json +++ b/languages/i18n/gu.json @@ -612,7 +612,7 @@ "permissionserrorstext": "તમને નીચેનાં {{PLURAL:$1|કારણ|કારણો}} સર આ કાર્ય કરવાની પરવાનગીનથી.", "permissionserrorstext-withaction": "$2 પરવાનગી તમને નીચેનાં {{PLURAL:$1|કારણ|કારણો}} સર નથી:", "recreate-moveddeleted-warn": "'''ચેતવણી: તમે જે પાનું નવું બનાવવા જઇ રહ્યાં છો તે પહેલાં દૂર કરવામાં આવ્યું છે.'''\n\nઆ પાનું સંપાદિત કરતા પહેલાં ગંભીરતાપૂર્વક વિચારજો અને જો તમને લાગે કે આ પાનું ફરી વાર બનાવવું ઉચિત છે, તો જ અહીં ફેરફાર કરજો.\nપાનું હટાવ્યાં પહેલાનાં બધા ફેરફારોની સૂચિ તમારી અનુકૂળતા માટે અહીં આપી છે:", - "moveddeleted-notice": "આ પાનું ભૂંસી દેવાયું છે.\nતમારા સંદર્ભ માટે ભૂંસેલા અને હટાવેલા પાનાની સૂચિ આપેલી છે.", + "moveddeleted-notice": "આ પાનું દૂર કરવામાં આવ્યું છે.\nતમારા સંદર્ભ માટે દૂર કરેલા, સુરક્ષિત કરેલા અને ખસેડેલા પાનાંની સૂચિ આપેલી છે.", "log-fulllog": "પૂર્ણ લોગ જુઓ", "edit-hook-aborted": "ખૂંટા દ્વારા રદ્દ કરાયું.\nકોઇ કારણ નથી અપાયું", "edit-gone-missing": "આ પાને અધ્યતન ન બનાવી શકાયું \nલાગે છે કોઇએ આ પાનું હટાવી દીધું છે", @@ -1077,6 +1077,8 @@ "recentchanges-legend-heading": "કળ:", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|નવા પાનાઓની યાદી]] પણ જુઓ)", "recentchanges-submit": "બતાવો", + "rcfilters-other-review-tools": "અન્ય ચકાસણી સાધનો", + "rcfilters-savedqueries-cancel-label": "રદ કરો", "rcnotefrom": "નીચે $3, $4 થી {{PLURAL:$5|ફેરફાર|ફેરફારો}} દર્શાવેલ છે ($1 સુધી દર્શાવેલ છે).", "rclistfrom": "$3 $2 બાદ થયેલા નવા ફેરફારો બતાવો", "rcshowhideminor": "નાના ફેરફારો $1", @@ -1120,7 +1122,7 @@ "recentchangeslinked-feed": "આની સાથે જોડાયેલા ફેરફાર", "recentchangeslinked-toolbox": "આની સાથે જોડાયેલા ફેરફાર", "recentchangeslinked-title": "\"$1\" ને લગતા ફેરફારો", - "recentchangeslinked-summary": "આ એવા ફેરફારોની યાદી છે જે આ ચોક્કસ પાના (કે શ્રેણીનાં સભ્ય પાનાઓ) સાથે જોડાયેલા પાનાઓમાં તાજેતરમાં કરવામાં આવ્યા હોય.\n
[[Special:Watchlist|તમારી ધ્યાનસૂચિમાં]] હોય તેવા પાનાં '''ઘાટા અક્ષર'''માં વર્ણવ્યાં છે", + "recentchangeslinked-summary": "આ એવા ફેરફારોની યાદી છે જે આ ચોક્કસ પાના (કે શ્રેણીનાં સભ્ય પાનાઓ) સાથે જોડાયેલા પાનાઓમાં તાજેતરમાં કરવામાં આવ્યા હોય.\n[[Special:Watchlist|તમારી ધ્યાનસૂચિમાં]] હોય તેવા પાનાં '''ઘાટા અક્ષર'''માં વર્ણવ્યાં છે.", "recentchangeslinked-page": "પાનાનું નામ:", "recentchangeslinked-to": "આને બદલે આપેલા પાનાં સાથે જોડાયેલા લેખોમાં થયેલા ફેરફારો શોધો", "upload": "ફાઇલ ચડાવો", @@ -1492,7 +1494,7 @@ "apisandbox-examples": "ઉદાહરણો", "apisandbox-results": "પરિણામો", "booksources": "પુસ્તક સ્રોત", - "booksources-search-legend": "પુસ્તક સ્રોત શોધો", + "booksources-search-legend": "પુસ્તક સ્રોત માટે શોધો", "booksources-isbn": "આઇએસબીએન:", "booksources-search": "શોધ", "booksources-text": "નીચે દર્શાવેલ યાદી એ કડીઓ બતાવે છે જેઓ નવા અને જૂના પુસ્તકો વેચે છે , અને તમે માંગેલ વસ્તુ સંબંધિ વધુ મહિતી પણ ધરાવી શકે છે.", @@ -1696,7 +1698,7 @@ "protect-locked-dblock": "માહિતી સંચ બંધ હોવાથી સંરક્ષણ સ્તર બદલી નહીં શકાય્\nઆ પાનાના હાલના સુરક્ષા સ્તર : $1", "protect-locked-access": "તમને પાનાની સુરક્ષાનાં સ્તરમાં ફેરફાર કરવાની પરવાનગી નથી.\nપાનાં '''$1'''નું હાલનું સેટીંગ અહિં જોઈ શકો છો:", "protect-cascadeon": "આ પાનું હાલમાં સંરક્ષિત છે કારણકે તે {{PLURAL:$1|પાનું,|પાનાઓ,}} જેમાં ધોધાકાર સંરક્ષણ ચાલુ છે, તેમાં છે.\n\nતમે આ પાનાઓનું સંરક્ષણ સ્તર બદલી શકો છો, પરંતુ તેની અસર ધોધાકાર સંરક્ષણ પર પડવી જોઇએ નહીં.", - "protect-default": "બધા સભ્યોને પરવાનગી", + "protect-default": "બધા સભ્યોને પરવાનગી આપો", "protect-fallback": "માત્ર \"$1\" પરવાનગી સાથેના સભ્યોને માન્ય રાખો", "protect-level-autoconfirmed": "માત્ર આપમેળે ખાતરી થયેલા સભ્યોને માન્ય રાખો", "protect-level-sysop": "માત્ર પ્રબંધકોને માન્ય રાખો", diff --git a/languages/i18n/he.json b/languages/i18n/he.json index f2eb9c03dd..085ee3b2de 100644 --- a/languages/i18n/he.json +++ b/languages/i18n/he.json @@ -3597,6 +3597,13 @@ "compare-invalid-title": "שם הדף שציינת אינו תקין.", "compare-title-not-exists": "הדף שציינת אינו קיים.", "compare-revision-not-exists": "הגרסה שציינת אינה קיימת.", + "diff-form": "הבדלים", + "diff-form-oldid": "מספר הגרסה הישנה (אופציונלי)", + "diff-form-revid": "מספר הגרסה החדשה", + "diff-form-submit": "הצגת ההבדלים", + "permanentlink": "קישור קבוע", + "permanentlink-revid": "מספר הגרסה", + "permanentlink-submit": "מעבר לגרסה", "dberr-problems": "מצטערים! קיימת בעיה טכנית באתר זה.", "dberr-again": "נסו להמתין מספר שניות ולהעלות מחדש את הדף.", "dberr-info": "(לא ניתן לגשת לבסיס הנתונים: $1)", diff --git a/languages/i18n/hi.json b/languages/i18n/hi.json index f741240b1b..3b3f5bc5a4 100644 --- a/languages/i18n/hi.json +++ b/languages/i18n/hi.json @@ -3583,6 +3583,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/hr.json b/languages/i18n/hr.json index 341e4080da..e95ae119e2 100644 --- a/languages/i18n/hr.json +++ b/languages/i18n/hr.json @@ -3233,6 +3233,7 @@ "compare-invalid-title": "Naslov koji ste naveli nije valjan.", "compare-title-not-exists": "Naslov koji ste naveli ne postoji.", "compare-revision-not-exists": "Navedena izmjena stranice ne postoji.", + "diff-form": "'''form'''", "dberr-problems": "Ispričavamo se! Ova stranica ima tehničkih poteškoća.", "dberr-again": "Pričekajte nekoliko minuta i ponovno učitajte.", "dberr-info": "(Ne mogu pristupiti bazi podataka: $1)", diff --git a/languages/i18n/hu.json b/languages/i18n/hu.json index bf9c69bbb1..b84d1743db 100644 --- a/languages/i18n/hu.json +++ b/languages/i18n/hu.json @@ -78,7 +78,7 @@ "tog-shownumberswatching": "A lapot figyelő szerkesztők számának megjelenítése", "tog-oldsig": "A jelenlegi aláírásod:", "tog-fancysig": "Az aláírás wikiszöveg (nem lesz automatikusan hivatkozásba rakva)", - "tog-uselivepreview": "Élő előnézet használata", + "tog-uselivepreview": "Előnézetek megjelenítése az oldal újratöltése nélkül", "tog-forceeditsummary": "Figyelmeztessen, ha nem adok meg szerkesztési összefoglalót", "tog-watchlisthideown": "Saját szerkesztések elrejtése", "tog-watchlisthidebots": "Robotok szerkesztéseinek elrejtése", @@ -735,7 +735,7 @@ "contentmodelediterror": "Nem szerkesztheted ezt a változatot, mert a tartalommodellje $1, ami eltér a jelenlegitől ($2).", "recreate-moveddeleted-warn": "'''Figyelem! Olyan lapot készülsz létrehozni, amit már legalább egyszer töröltek.'''\n\nMielőtt létrehoznád, nézd meg, miért törölték a lap korábbi tartalmát, és győződj meg róla, hogy a törlés indoka érvényes-e még. A törlési és átnevezési naplókban az érintett lapról az alábbi bejegyzések szerepelnek:", "moveddeleted-notice": "Az oldal korábban törölve lett.\nA lap törlési és átnevezési naplója alább olvasható.", - "moveddeleted-notice-recent": "Sajnáljuk, az oldalt nemrég törölték (az elmúlt 24 órában).\nA részletekért lásd lentebb a törlési és átnevezési naplót.", + "moveddeleted-notice-recent": "Sajnáljuk, az oldalt nemrég törölték (az elmúlt 24 órában).\nA részletekért lásd lentebb a törlési, védelmi és átnevezési naplót.", "log-fulllog": "Teljes napló megtekintése", "edit-hook-aborted": "A szerkesztés meg lett szakítva egy hook által.\nNem lett magyarázat csatolva.", "edit-gone-missing": "Nem lehet frissíteni a lapot.\nÚgy tűnik, hogy törölve lett.", @@ -1323,6 +1323,8 @@ "rcfilters-advancedfilters": "Haladó szűrők", "rcfilters-limit-title": "Megjelenítendő változtatások", "rcfilters-limit-shownum": "Utolsó $1 változtatás megjelenítése", + "rcfilters-days-title": "Legutóbbi napok", + "rcfilters-hours-title": "Legutóbbi órák", "rcfilters-days-show-days": "$1 nap", "rcfilters-days-show-hours": "$1 óra", "rcfilters-quickfilters": "Mentett szűrők", @@ -1410,6 +1412,7 @@ "rcfilters-filter-previousrevision-description": "Minden változtatás a legutóbbiak kivételével", "rcfilters-filter-excluded": "Kizárva", "rcfilters-tag-prefix-namespace-inverted": ":nem $1", + "rcfilters-view-advanced-filters-label": "Haladó szűrők", "rcfilters-view-tags": "Megjelölt szerkesztések", "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", @@ -2128,6 +2131,7 @@ "enotif_lastdiff": "Ezen változtatás megtekintéséhez lásd: $1", "enotif_anon_editor": "$1 névtelen felhasználó", "enotif_body": "Kedves $WATCHINGUSERNAME!\n\n$PAGEINTRO $NEWPAGE\n\nA szerkesztési összefoglaló a következő volt: $PAGESUMMARY $PAGEMINOREDIT\n\nA szerkesztő elérhetősége:\ne-mail küldése: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nAmíg nem keresed fel az oldalt bejelentkezve, addig nem érkeznek újabb értesítések az oldal változásaival kapcsolatban. A figyelőlistádon is beállíthatod, hogy újból kapj értesítéseket, az összes lap után.\n\nBaráti üdvözlettel: a(z) {{SITENAME}} értesítő rendszere\n\n--\nAz e-mail értesítéseid módosításához keresd fel a \n{{canonicalurl:{{#special:Preferences}}}} címet\n\nA figyelőlistád módosításához keresd fel a\n{{canonicalurl:{{#special:EditWatchlist}}}} címet\n\nA lap figyelőlistádról való törléséhez keresd fel a\n$UNWATCHURL címet\n\nVisszajelzés és további segítség:\n$HELPPAGE", + "enotif_minoredit": "Ez egy apró szerkesztés", "created": "létrehozta", "changed": "megváltoztatta", "deletepage": "Lap törlése", @@ -3493,6 +3497,7 @@ "compare-invalid-title": "A megadott cím érvénytelen.", "compare-title-not-exists": "A megadott cím nem létezik.", "compare-revision-not-exists": "A megadott lapváltozat nem létezik.", + "diff-form": "egy '''űrlap'''", "dberr-problems": "Sajnáljuk, de az oldallal technikai problémák vannak.", "dberr-again": "Várj néhány percet, majd frissítsd az oldalt.", "dberr-info": "(Nem sikerült kapcsolódni az adatbázishoz: $1)", @@ -3565,7 +3570,7 @@ "logentry-import-upload-details": "$1 {{GENDER:$2|importálta}} a(z) $3 lapot fájlfeltöltéssel ($4 lapváltozat).", "logentry-import-interwiki": "$1 {{GENDER:$2|importálta}} $3 lapot egy másik wikiből", "logentry-import-interwiki-details": "$1 {{GENDER:$2|importálta}} a(z) $3 lapot a(z) $5 wikiről ($4 lapváltozat).", - "logentry-merge-merge": "$1 {{GENDER:$2|összevonta}} $3 lapot $4 lappal ($5 változtig)", + "logentry-merge-merge": "$1 {{GENDER:$2|összevonta}} $3 lapot $4 lappal ($5 változatig)", "logentry-move-move": "$1 átnevezte a(z) $3 lapot a következő névre: $4", "logentry-move-move-noredirect": "$1 átnevezte a(z) $3 lapot $4 lapra átirányítás nélkül", "logentry-move-move_redir": "$1 átnevezte a(z) $3 lapot $4 lapra az átirányítást felülírva", diff --git a/languages/i18n/it.json b/languages/i18n/it.json index 95a854a075..a6ed45394f 100644 --- a/languages/i18n/it.json +++ b/languages/i18n/it.json @@ -3574,6 +3574,7 @@ "compare-invalid-title": "Il titolo che hai specificato non è valido.", "compare-title-not-exists": "Il titolo che hai specificato non esiste.", "compare-revision-not-exists": "La versione che hai specificato non esiste.", + "diff-form": "Differenze", "dberr-problems": "Questo sito sta avendo dei problemi tecnici.", "dberr-again": "Prova ad attendere qualche minuto e ricaricare.", "dberr-info": "(Impossibile accedere al server del database: $1)", diff --git a/languages/i18n/ja.json b/languages/i18n/ja.json index 80f502220d..d7cd7097a4 100644 --- a/languages/i18n/ja.json +++ b/languages/i18n/ja.json @@ -3670,6 +3670,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/jv.json b/languages/i18n/jv.json index c05122bf12..6efbd9a070 100644 --- a/languages/i18n/jv.json +++ b/languages/i18n/jv.json @@ -710,12 +710,12 @@ "previousrevision": "← Owahan sadurungé", "nextrevision": "Owahan sabanjuré →", "currentrevisionlink": "Owahan wekasan", - "cur": "sai", + "cur": "saiki", "next": "sabanjuré", - "last": "sadurung", + "last": "sadurungé", "page_first": "kapisan", "page_last": "pungkasan", - "histlegend": "Kanggo nandhingaké: tandhani kothak radhio révisi-révisi sing arep dibandhingaké lan pencèt ''Enter'' utawa tombol sing ana ing ngisor.
\nLegéndha: ({{int:cur}}) = béda karo révisi pungkasan, ({{int:last}}) = béda karo révisi sadurungé, {{int:minoreditletter}} = besutan cilik.", + "histlegend": "Kanggo mbandhingaké: Tandhani kothak radhioning révisi-révisi sing arep dibandhingaké lan pencèt ''Enter'' utawa tombol ing ngisor.
\nLegéndhah: ({{int:cur}}) = bédané karo révisi pungkasan, ({{int:last}}) = bédané karo révisi sadurungé, {{int:minoreditletter}} = besutan cilik.", "history-fieldset-title": "Golèk owahan", "history-show-deleted": "Mligi owahan sing dibusak", "histfirst": "lawas dhéwé", @@ -3216,6 +3216,7 @@ "compare-invalid-title": "Sesirah sing kokawèhaké ora sah.", "compare-title-not-exists": "Sesirah sing kokawèhaké ora ana.", "compare-revision-not-exists": "Benahan sing Sampéyan jaluk ora ana.", + "diff-form": "sawijining '''formulir'''", "dberr-problems": "Nyuwun ngapura! Situs iki ngalami masalah tèknis.", "dberr-again": "Coba nunggu sawetara menit lan unggahna manèh.", "dberr-info": "(Ora bisa nggayut basis dhata: $1)", diff --git a/languages/i18n/ko.json b/languages/i18n/ko.json index 7c7758c934..81edcade3a 100644 --- a/languages/i18n/ko.json +++ b/languages/i18n/ko.json @@ -1339,10 +1339,12 @@ "recentchanges-submit": "보기", "rcfilters-legend-heading": "약어 목록:", "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-title": "표시할 변경사항 수", + "rcfilters-limit-shownum": "최근 {{PLURAL:$1|$1개의 변경사항}} 표시", "rcfilters-days-title": "최근 날", "rcfilters-hours-title": "최근 시간", "rcfilters-days-show-days": "$1{{PLURAL:$1|일}}", @@ -3552,6 +3554,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/lb.json b/languages/i18n/lb.json index ee3c3ef462..68a4dcfb74 100644 --- a/languages/i18n/lb.json +++ b/languages/i18n/lb.json @@ -3312,6 +3312,7 @@ "compare-invalid-title": "Den Titel deen Dir uginn hutt ass net valabel.", "compare-title-not-exists": "Den Titel deen Dir uginn hutt gëtt et net.", "compare-revision-not-exists": "D'Versioun déi Dir uginn hutt gëtt et net.", + "diff-form": "ein '''Formulair'''", "dberr-problems": "Pardon! Dëse Site huet technesch Schwieregkeeten.", "dberr-again": "Versicht e puer Minutten ze waarden an dann nei ze lueden.", "dberr-info": "(D'Datebank kann net erreecht ginn: $1)", diff --git a/languages/i18n/li.json b/languages/i18n/li.json index 078806f95f..26757f2b7e 100644 --- a/languages/i18n/li.json +++ b/languages/i18n/li.json @@ -1176,6 +1176,11 @@ "grant-createaccount": "Maak gebroekers aan", "grant-createeditmovepage": "Maak, bewirk en verplaats pagina's", "grant-delete": "Wösj pagina's, bewirkinge en logbookregele", + "grant-editmycssjs": "Bewirk diene CSS/JavaScript", + "grant-editmyoptions": "Bewirk dien veurkäöre", + "grant-editmywatchlist": "Bewirk dien volglies", + "grant-editpage": "Bewirk bestäöndje pagina's", + "grant-editprotected": "Bewirk besjurmde pagina's", "grant-basic": "Basisrechte", "newuserlogpage": "Logbook nuuj gebroekers", "newuserlogpagetext": "Hiej ónger saton de nuuj ingesjreve gebroekers.", @@ -2874,6 +2879,7 @@ "compare-invalid-title": "De opgegaeve pazjenanaam is óngeljig.", "compare-title-not-exists": "Aangegaeve titel besteit neet.", "compare-revision-not-exists": "Aangegaeve versie besteit neet.", + "diff-form": "'n '''formulier'''", "dberr-problems": "Os excuses. Deze site ongervindj op t moment technische probleme.", "dberr-again": "Wach n aantal minute en probeer t daonao opnuuj.", "dberr-info": "(Kan gein verbinjing make mit de databaseserver: $1)", diff --git a/languages/i18n/lzh.json b/languages/i18n/lzh.json index c8048ea8d4..3b8e6d084a 100644 --- a/languages/i18n/lzh.json +++ b/languages/i18n/lzh.json @@ -2151,6 +2151,7 @@ "compare-rev1": "審一", "compare-rev2": "審二", "compare-submit": "較", + "diff-form": "表", "htmlform-invalid-input": "爾之輸問也", "htmlform-select-badoption": "爾之值為非效之。", "htmlform-int-invalid": "爾之值為非整數也。", diff --git a/languages/i18n/mk.json b/languages/i18n/mk.json index ddb9443960..0b361cb49f 100644 --- a/languages/i18n/mk.json +++ b/languages/i18n/mk.json @@ -713,8 +713,8 @@ "permissionserrorstext-withaction": "Немате дозвола за $2, од {{PLURAL:$1|следнава причина|следниве причини}}:", "contentmodelediterror": "Не можете да ја измените оваа преработка бидејќи нејзиниот содржински модел е $1, што се разликува од тековниот содржински модел на страницата $2.", "recreate-moveddeleted-warn": "Внимание: Повторно создавате страница што претходно била бришена.'''\n\nРазмислете дали е правилно да продолжите со уредување на оваа страница.\nПодолу е прикажан дневникот на бришења и преместувања на оваа страница:", - "moveddeleted-notice": "Оваа страница била претходно бришена.\nДневникот на бришења и преместувања за оваа страница е прикажан подолу за ваше дополнително информирање.", - "moveddeleted-notice-recent": "За жал, страницава беше неодамна избришана (во последниве 24 часа).\nПодолу можете да го погледате дневникот на бришење и преместување.", + "moveddeleted-notice": "Оваа страница е избришана.\nДневникот на бришења и преместувања за оваа страница е прикажан подолу.", + "moveddeleted-notice-recent": "За жал, страницава беше неодамна избришана (во последниве 24 часа).\nПодолу можете да го погледате дневникот на бришења, заштити и преместувања.", "log-fulllog": "Преглед на целиот дневник", "edit-hook-aborted": "Уредувањето е прекинато со пресретник.\nНе е дадено никакво образложение.", "edit-gone-missing": "Не можев да ја подновам страницата.\nВеројатно е избришана.", @@ -982,7 +982,7 @@ "prefs-editwatchlist-clear": "Исчисти набљудувани", "prefs-watchlist-days": "Број на денови за приказ во набљудуваните", "prefs-watchlist-days-max": "Највеќе $1 {{PLURAL:$1|ден|дена}}", - "prefs-watchlist-edits": "Највеќе прикажани промени во проширениот список на набљудувања:", + "prefs-watchlist-edits": "Највеќе прикажани промени во набљудувањата:", "prefs-watchlist-edits-max": "Највеќе: 1000", "prefs-watchlist-token": "Шифра на набљудувањата:", "prefs-misc": "Други нагодувања", @@ -1327,7 +1327,7 @@ "rcfilters-savedqueries-add-new-title": "Зачувај тековни филтерски поставки", "rcfilters-restore-default-filters": "Поврати основни филтри", "rcfilters-clear-all-filters": "Тргни ги сите филтри", - "rcfilters-show-new-changes": "Прикажи нови промени", + "rcfilters-show-new-changes": "Погл. најнови промени", "rcfilters-previous-changes-label": "Претходно прегледани промени", "rcfilters-search-placeholder": "Филтрирај скорешни промени (прелстајте или почнете да пишувате)", "rcfilters-invalid-filter": "Неважечки филтер", @@ -2615,7 +2615,7 @@ "import-nonewrevisions": "Не увезов ниедна преработка (сите се веќе присутни или изоставени поради грешки)", "xml-error-string": "$1 во ред $2, колона $3 (бајт $4): $5", "import-upload": "Подигни XML податоци", - "import-token-mismatch": "Загубени седничките податоци.\n\nМоже да сте биле одјавени. Проверете дали сè уште сте најавени и обидете се повторно.\nАко проблемот продолжи да се јавува, [[Special:UserLogout|одјавете се]] и повторно најавете се, и проверете дали прелистувачот дозволува колачиња од ова мрежно место.", + "import-token-mismatch": "Загубени седничките податоци.\n\nМоже да сте биле одјавени. '''Проверете дали сè уште сте најавени и обидете се повторно'''.\nАко проблемот продолжи да се јавува, [[Special:UserLogout|одјавете се]] и повторно најавете се, и проверете дали прелистувачот дозволува колачиња од ова мрежно место.", "import-invalid-interwiki": "Не можам да увезам од наведеното вики.", "import-error-edit": "Страницата „$1“ не е увезена бидејќи не ви е дозволено да ја уредувате.", "import-error-create": "Страницата „$1“ не е увезена бидејќи не ви е дозволено да ја создадете.", @@ -3645,6 +3645,13 @@ "compare-invalid-title": "Наведениот наслов е неважечки.", "compare-title-not-exists": "Наведениот наслов не постои.", "compare-revision-not-exists": "Наведената преработка не постои.", + "diff-form": "Разлики", + "diff-form-oldid": "Назнака на старата преработка (незадолж.)", + "diff-form-revid": "Назнака на преработката на разликата", + "diff-form-submit": "Прик. разлики", + "permanentlink": "Постојана врска", + "permanentlink-revid": "Назнака на преработката", + "permanentlink-submit": "Оди на преработката", "dberr-problems": "Жалиме! Ова мрежно место се соочува со технички потешкотии.", "dberr-again": "Почекајте неколку минути и обидете се повторно.", "dberr-info": "(Не можам да пристапам кон базата: $1)", diff --git a/languages/i18n/nb.json b/languages/i18n/nb.json index f9803d5fff..562a8191c5 100644 --- a/languages/i18n/nb.json +++ b/languages/i18n/nb.json @@ -737,8 +737,8 @@ "permissionserrorstext-withaction": "Du har ikke tillatelse til å $2 {{PLURAL:$1|fordi|av følgende grunner}}:", "contentmodelediterror": "Du kan ikke redigere denne revisjonen fordi innholdsmodellen er $1, som avviker fra den nåværende innholdsmodellen til siden $2.", "recreate-moveddeleted-warn": "Advarsel: Du er i ferd med å opprette en side som tidligere har blitt slettet.'''\n\nDu bør vurdere om det er passende å fortsette å redigere denne siden.\nSlette- og flytteloggen for denne siden gjengis her:", - "moveddeleted-notice": "Denne siden har blitt slettet.\nSlette- og flytteloggen vises nedenfor.", - "moveddeleted-notice-recent": "Beklager, denne siden er nylig blitt slettet (i løpet av de siste 24 timer)\nSlette- og flytteloggen for siden er angitt nedenfor for referanse.", + "moveddeleted-notice": "Denne siden har blitt slettet.\nSlette-, beskyttelses- og flytteloggen vises nedenfor.", + "moveddeleted-notice-recent": "Beklager, denne siden er nylig blitt slettet (i løpet av de siste 24 timer)\nSlette-, beskyttelses- og flytteloggen for siden er angitt nedenfor for referanse.", "log-fulllog": "Vis hele loggen", "edit-hook-aborted": "Redigering avbrutt av en funksjon, uten forklaring.", "edit-gone-missing": "Kunne ikke oppdatere siden fordi den har blitt slettet.", @@ -3563,6 +3563,13 @@ "compare-invalid-title": "Tittelen du oppga er ugyldig.", "compare-title-not-exists": "Tittelen du oppga eksisterer ikke.", "compare-revision-not-exists": "Versjonen du oppga eksisterer ikke.", + "diff-form": "Forskjeller", + "diff-form-oldid": "Gammel revisjons-ID (valgfritt)", + "diff-form-revid": "Revisjons-ID for diffen", + "diff-form-submit": "Vis forskjeller", + "permanentlink": "Permanent lenke", + "permanentlink-revid": "Revisjons-ID", + "permanentlink-submit": "Gå til revisjon", "dberr-problems": "Siden har tekniske problemer.", "dberr-again": "Prøv å oppdatere siden om noen minutter.", "dberr-info": "(Kan ikke kontakte databasetjeneren: $1)", diff --git a/languages/i18n/ne.json b/languages/i18n/ne.json index c1f6c52a89..1b1d4bc496 100644 --- a/languages/i18n/ne.json +++ b/languages/i18n/ne.json @@ -3189,6 +3189,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/nl.json b/languages/i18n/nl.json index fdf2ba3ba4..10130aa020 100644 --- a/languages/i18n/nl.json +++ b/languages/i18n/nl.json @@ -3574,6 +3574,12 @@ "compare-invalid-title": "De opgegeven pagina is ongeldig.", "compare-title-not-exists": "De titel die u hebt opgegeven bestaat niet.", "compare-revision-not-exists": "De versie die u hebt opgegeven bestaat niet.", + "diff-form": "Wijzigingen", + "diff-form-revid": "Versienummer van de wijziging", + "diff-form-submit": "Verschillen weergeven", + "permanentlink": "Permanente koppeling", + "permanentlink-revid": "Versienummer", + "permanentlink-submit": "Naar versie gaan", "dberr-problems": "Onze excuses. Deze site ondervindt op het moment technische problemen.", "dberr-again": "Wacht een aantal minuten en probeer het daarna opnieuw.", "dberr-info": "(Kan geen toegang krijgen tot de database: $1)", diff --git a/languages/i18n/nn.json b/languages/i18n/nn.json index 767006137e..6d9d92a38e 100644 --- a/languages/i18n/nn.json +++ b/languages/i18n/nn.json @@ -1195,6 +1195,7 @@ "rcfilters-filter-previousrevision-description": "Alle endringar som ikkje er den siste versjonen.", "rcfilters-filter-excluded": "Utelate", "rcfilters-exclude-button-off": "Utelat dei valde", + "rcfilters-view-advanced-filters-label": "Avanserte filter", "rcfilters-view-tags": "Endringar med merke", "rcfilters-view-namespaces-tooltip": "Filtrer resultat etter namnerom", "rcfilters-view-tags-tooltip": "Filtrer resultat etter endringsmerke", @@ -3006,6 +3007,7 @@ "compare-invalid-title": "Tittelen du oppgav er ugild.", "compare-title-not-exists": "Tittelen du oppgav finst ikkje.", "compare-revision-not-exists": "Versjonen du oppgav finst ikkje.", + "diff-form": "eit '''skjema'''", "dberr-problems": "Nettstaden har tekniske problem.", "dberr-again": "Venta nokre minutt og last sida inn på nytt.", "dberr-info": "(Kan ikkje kontakta databasetenaren: $1)", diff --git a/languages/i18n/pl.json b/languages/i18n/pl.json index b79c3ff3a5..01eb029d29 100644 --- a/languages/i18n/pl.json +++ b/languages/i18n/pl.json @@ -777,8 +777,8 @@ "permissionserrorstext-withaction": "Nie masz uprawnień do $2 z {{PLURAL:$1|następującego powodu|następujących powodów}}:", "contentmodelediterror": "Nie możesz edytować tej wersji, ponieważ model jej zawartości ($1) różni się od obecnego modelu zawartości strony ($2).", "recreate-moveddeleted-warn": "'''Uwaga! Zamierzasz utworzyć stronę, która została wcześniej usunięta.'''\n\nUpewnij się, czy ponowne utworzenie tej strony jest uzasadnione.\nPoniżej znajduje się rejestr usunięć i zmian nazwy tej strony:", - "moveddeleted-notice": "Ta strona została usunięta.\nRejestr usunięć i zmian nazwy tej strony jest pokazany poniżej.", - "moveddeleted-notice-recent": "Przepraszamy, ale ta strona została niedawno (w ciągu ostatnich 24 godzin) usunięta. Poniżej znajduje się rejestr usunięć i zmian nazwy tej strony.", + "moveddeleted-notice": "Ta strona została usunięta.\nRejestr usunięć, zabezpieczeń i zmian nazwy tej strony jest pokazany poniżej.", + "moveddeleted-notice-recent": "Przepraszamy, ale ta strona została niedawno (w ciągu ostatnich 24 godzin) usunięta. Poniżej znajduje się rejestr usunięć, zabezpieczeń i zmian nazwy tej strony.", "log-fulllog": "Pokaż cały rejestr", "edit-hook-aborted": "Edycja zatrzymana z powodu haka.\nWystąpił z nieokreślonej przyczyny.", "edit-gone-missing": "Nie udało się zaktualizować strony.\nZdaje się, że została skasowana.", @@ -3596,6 +3596,13 @@ "compare-invalid-title": "Tytuł jest nieprawidłowy.", "compare-title-not-exists": "Podany tytuł nie istnieje.", "compare-revision-not-exists": "Wybrana wersja nie istnieje.", + "diff-form": "Różnice", + "diff-form-oldid": "ID starej wersji", + "diff-form-revid": "ID wersji ze zmianą", + "diff-form-submit": "Pokaż różnice", + "permanentlink": "Link trwały do wersji", + "permanentlink-revid": "ID wersji", + "permanentlink-submit": "Przejdź do wersji", "dberr-problems": "Przepraszamy! Witryna ma problemy techniczne.", "dberr-again": "Spróbuj przeładować stronę za kilka minut.", "dberr-info": "(Błąd łączności z bazą danych: $1)", diff --git a/languages/i18n/pt-br.json b/languages/i18n/pt-br.json index 5f01a42efb..0ea4932894 100644 --- a/languages/i18n/pt-br.json +++ b/languages/i18n/pt-br.json @@ -801,8 +801,8 @@ "permissionserrorstext-withaction": "Você não possui permissão para $2, {{PLURAL:$1|pelo seguinte motivo|pelos motivos a seguir}}:", "contentmodelediterror": "Você não pode editar essa revisão pois seu modelo de conteúdo é $1, que difere do modelo de conteúdo atual da página $2.", "recreate-moveddeleted-warn": "'''Atenção: Você está recriando uma página já eliminada em outra ocasião.'''\n\nConsidere se é realmente adequado continuar editando esta página.\nOs registros de eliminação e de movimentação desta página são exibidos a seguir, para sua comodidade:", - "moveddeleted-notice": "Esta página foi eliminada.\nOs registros de eliminação e de movimentação para esta página estão disponibilizados abaixo, para referência.", - "moveddeleted-notice-recent": "Desculpe, esta página foi eliminada recentemente (nos últimos 24 horas). A eliminação e se mover para a página de log são fornecidos abaixo para referência.", + "moveddeleted-notice": "Esta página foi eliminada.\nOs registros de eliminação, proteção e de movimentação para esta página estão disponibilizados abaixo, para referência.", + "moveddeleted-notice-recent": "Desculpe, esta página foi eliminada recentemente (nas últimas 24 horas). Os registros de eliminação, proteção e de movimentação para esta página estão disponibilizados abaixo, para referência.", "log-fulllog": "Ver registro detalhado", "edit-hook-aborted": "Edição abortada por ''hook''.\nEle não deu nenhuma explicação.", "edit-gone-missing": "Não foi possível atualizar a página.\nEla parece ter sido eliminada.", @@ -3576,6 +3576,7 @@ "compare-invalid-title": "O título que você especificou é inválido.", "compare-title-not-exists": "O título que você especificou não existe.", "compare-revision-not-exists": "A revisão que você especificou não existe.", + "diff-form": "um '''formulário'''", "dberr-problems": "Desculpe! Este sítio está passando por dificuldades técnicas.", "dberr-again": "Experimente esperar alguns minutos e atualizar.", "dberr-info": "(Não pode acessar a base de dados: $1)", diff --git a/languages/i18n/pt.json b/languages/i18n/pt.json index 9e88af6bc2..cafc3981dc 100644 --- a/languages/i18n/pt.json +++ b/languages/i18n/pt.json @@ -759,8 +759,8 @@ "permissionserrorstext-withaction": "Não possui permissão para $2, {{PLURAL:$1|pelo seguinte motivo|pelos seguintes motivos}}:", "contentmodelediterror": "Não pode editar esta revisão porque o modelo de conteúdo é $1, que é diferente do modelo atual da página $2.", "recreate-moveddeleted-warn": "Aviso: Está a recriar uma página anteriormente eliminada.\n\nVerifique se é apropriado continuar a editar esta página.\nPara sua conveniência, é apresentado abaixo o registo de eliminação e movimentação da página:", - "moveddeleted-notice": "Esta página foi eliminada.\nPara sua referência, é apresentado abaixo o registo de eliminação e movimentação da página.", - "moveddeleted-notice-recent": "Desculpe, esta página foi eliminada recentemente (nas últimas 24 horas).\nA exclusão e registo de movimentação para a página são fornecidos abaixo para referência.", + "moveddeleted-notice": "Esta página foi eliminada.\nPara sua referência, é apresentado abaixo o registo de eliminação, proteção e movimentação da página.", + "moveddeleted-notice-recent": "Desculpe, esta página foi eliminada recentemente (nas últimas 24 horas).\nPara sua referência é apresentado abaixo o registo de eliminação, proteção e movimentação da página.", "log-fulllog": "Ver registo detalhado", "edit-hook-aborted": "A edição foi abortada por um hook.\nNão foi dada nenhuma explicação.", "edit-gone-missing": "Não foi possível atualizar a página.\nEla parece ter sido eliminada.", @@ -1028,7 +1028,7 @@ "prefs-editwatchlist-clear": "Limpar lista de páginas vigiadas", "prefs-watchlist-days": "Dias a mostrar nas mudanças às páginas vigiadas:", "prefs-watchlist-days-max": "Máximo: $1 {{PLURAL:$1|dia|dias}}", - "prefs-watchlist-edits": "Número de edições a mostrar na listagem expandida:", + "prefs-watchlist-edits": "Número máximo de edições a mostrar na lista de vigiadas:", "prefs-watchlist-edits-max": "Máximo: 1000", "prefs-watchlist-token": "Chave secreta da lista de páginas vigiadas:", "prefs-misc": "Diversos", @@ -3537,6 +3537,13 @@ "compare-invalid-title": "O título que especificou é inválido.", "compare-title-not-exists": "O título que especificou não existe.", "compare-revision-not-exists": "A revisão que especificou não existe.", + "diff-form": "Diferenças", + "diff-form-oldid": "Identificador de revisão antigo (opcional)", + "diff-form-revid": "Identificador de revisão da diferença", + "diff-form-submit": "Mostrar diferenças", + "permanentlink": "Link permanente", + "permanentlink-revid": "Identificador de revisão", + "permanentlink-submit": "Ir para a revisão", "dberr-problems": "Desculpe! Este site está com dificuldades técnicas.", "dberr-again": "Experimente esperar alguns minutos e atualizar.", "dberr-info": "(Não foi possível aceder ao servidor da base de dados: $1)", diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json index 7be71f0037..f8d050fb27 100644 --- a/languages/i18n/qqq.json +++ b/languages/i18n/qqq.json @@ -4107,6 +4107,15 @@ "compare-invalid-title": "Used as error message in [[Special:ComparePages]].", "compare-title-not-exists": "Used as error message in [[Special:ComparePages]].", "compare-revision-not-exists": "Used as error message in [[Special:ComparePages]].", + "diff-form": "The title of [[Special:Diff]]", + "diff-form-oldid": "Label for the field of the old revision in the comparison for [[Special:Diff]]", + "diff-form-revid": "Label for the field of the new revision in the comparison for [[Special:Diff]]", + "diff-form-submit": "Submit button on [[Special:Diff]]", + "diff-form-summary": "{{doc-specialpagesummary|diff}}", + "permanentlink": "The title of [[Special:PermanentLink]]", + "permanentlink-revid": "Label for the field for the revision ID in [[Special:PermanentLink]]", + "permanentlink-submit": "Submit button on [[Special:PermanentLink]]", + "permanentlink-summary": "{{doc-specialpagesummary|permanentlink}}", "dberr-problems": "This message does not allow any wiki nor html markup.", "dberr-again": "This message does not allow any wiki nor html markup.", "dberr-info": "This message does not allow any wiki nor html markup. Parameters:\n* $1 - database server name\nSee also:\n* {{msg-mw|Dberr-info-hidden}} - hides database server name", diff --git a/languages/i18n/rif.json b/languages/i18n/rif.json index 4fb3318fa7..cc85e3b2ec 100644 --- a/languages/i18n/rif.json +++ b/languages/i18n/rif.json @@ -15,7 +15,7 @@ "underline-always": "ⵍⴱⴷⴰ", "sunday": "ⴰⵙⴰⵎⴰⵙ", "monday": "ⴰⵢⵏⴰⵙ", - "tuesday": "Asinas (Ettřata)", + "tuesday": "ⴰⵙⵉⵏⴰⵙ", "wednesday": "Akṛas (Řarbeɛ)", "thursday": "ⴰⴽⵡⴰⵙ", "friday": "ⴰⵙⵉⵎⵡⴰⵙ", @@ -73,7 +73,7 @@ "november-date": "$1 ⵏⵓⵡⴰⵏⴱⵉⵔ", "december-date": "$1 ⴷⵓⵊⴰⵏⴱⵉⵔ", "pagecategories": "{{PLURAL:$1|ⴰⵙⵎⵉⵍ|ⵉⵙⵎⵉⵍⵏ}}", - "category_header": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⴳ ⵜⴰⴳⴳⴰⵢⵜ \"$1\"", + "category_header": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⴷⵉ ⵜⴰⴳⴳⴰⵢⵜ \"$1\"", "subcategories": "ⵉⴷⵓⵙⵎⵉⵍⵏ", "category-media-header": "Media di category \"$1\"", "category-empty": "''Taggayt a war dags bu ca n Tasna niɣ ca n umedia.''", @@ -85,12 +85,12 @@ "mypage": "ⵜⴰⵙⵏⴰ", "mytalk": "ⴰⵎⵙⴰⵡⴰⵍ", "anontalk": "ⴰⵎⵙⴰⵡⴰⵍ", - "navigation": "Tagriwa", + "navigation": "ⴰⵙⵜⴰⵔⴰ", "and": " ⴷ", "actions": "ⵜⵉⴳⴰⵡⵉⵏ", "errorpagetitle": "ⵜⴰⵣⴳⵍⵜ", "returnto": "Dwl ghar $1.", - "tagline": "Zi {{SITENAME}}", + "tagline": "ⵣⵉ {{SITENAME}}", "help": "ⵜⵉⵡⵉⵙⵉ", "search": "ⵔⵣⵓ", "searchbutton": "ⵔⵣⵓ", @@ -102,7 +102,7 @@ "printableversion": "Tanghelt n usiggez", "permalink": "Tamghunt iqqimen", "edit": "ⵙⵏⴼⵍ", - "create": "Egg", + "create": "ⵙⵏⵓⵍⴼⵓ", "delete": "ⴽⴽⵙ", "protect": "Mstn", "protect_change": "ⵙⵏⴼⵍ", @@ -110,13 +110,13 @@ "talkpagelinktext": "ⴰⵎⵙⴰⵡⴰⵍ", "personaltools": "Imassen inu", "talk": "ⴰⵎⵙⴰⵡⴰⵍ", - "views": "Timmeẓṛa", + "views": "ⵜⴰⵏⵏⴰⵢⵉⵏ", "toolbox": "ⵉⵎⴰⵙⵙⵏ", - "otherlanguages": "S tutlayin nneḍni", + "otherlanguages": "ⵙ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏⵏⵉⴹⵏ", "redirectedfrom": "(Itwasnnmd-d zi $1)", "redirectpagesub": "Tasna n (Redirect)", "jumpto": "Nḍu ghar:", - "jumptonavigation": "tagriwa", + "jumptonavigation": "ⴰⵙⵜⴰⵔⴰ", "jumptosearch": "ⵔⵣⵓ", "aboutsite": "ⵅⴼ {{SITENAME}}", "aboutpage": "Project:ⵅⴼ", @@ -287,6 +287,7 @@ "group-bot": "ⵉⵔⵓⴱⵓⵜⵏ", "group-sysop": "Indbaln", "group-all": "(ⵎⴰⵔⵔⴰ)", + "grouppage-bot": "{{ns:project}}:ⵉⵔⵓⴱⵓⵜⵏ", "grouppage-sysop": "{{ns:project}}:inedbalen", "right-read": "ⵖⵔ ⵜⴰⵙⵏⵉⵡⵉⵏ", "right-edit": "ⵙⵏⴼⵍ ⵜⴰⵙⵏⵉⵡⵉⵏ", @@ -301,6 +302,7 @@ "enhancedrc-history": "ⴰⵎⵣⵔⵓⵢ", "recentchanges": "ⵉⵙⵏⴼⵉⵍⵏ ⵉⵏⴳⴳⵓⵔⴰ", "recentchanges-feed-description": "Bbar tiẓṛigin timayutin n wiki deg usudem(feed) a .", + "recentchanges-label-newpage": "ⵉⵙⵏⵓⵍⴼⴰ ⵓⵙⵏⴼⵍ ⴰ ⵉⵛⵜ ⵏ ⵜⴰⵙⵏⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ", "recentchanges-label-minor": "ⵡⴰ ⴷ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ", "recentchanges-label-bot": "ⴰⵙⵏⴼⵍ ⴰ ⵉⴳⴳⴰ ⵜ ⵉⵊⵊ ⵏ ⵓⵔⵓⴱⵓ", "rcfilters-savedqueries-new-name-label": "ⵉⵙⵎ", @@ -316,7 +318,7 @@ "rclinks": "Ẓar $1 tiẓṛigin tinggura di $2 n ussan inggura", "diff": "ⴰⵎⵣⴰⵔⴰⵢ", "hist": "ⴰⵎⵣⵔⵓⵢ", - "hide": "Snuffar", + "hide": "ⵙⵏⵓⴼⴼⵔ", "show": "semmel-d", "minoreditletter": "ⵎⵥⵢ", "newpageletter": "ⵎⵢⵏ", @@ -374,11 +376,11 @@ "download": "ⴰⴳⵎ", "listredirects": "Ẓar (redirects)", "unusedtemplates": "Timudmiwin war twasexedment", - "randompage": "Tasna mamec ma tella", + "randompage": "ⵜⴰⵙⵏⴰ ⵜⴰⴷⵀⵎⴰⵙⵜ", "randomincategory-category": "ⴰⵙⵎⵉⵍ:", "randomincategory-submit": "Raḥ ɣa", "randomredirect": "(redirect) zi ṭṭarf", - "statistics": "tisiḍanin", + "statistics": "ⵉⵙⵉⴹⵏⴻⵏ", "statistics-articles": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵜⵓⵎⴰⵢⵜ", "statistics-pages": "ⵜⴰⵙⵏⵉⵡⵉⵏ", "doubleredirects": "(redirects) ɛɛawdent", @@ -517,7 +519,7 @@ "sp-contributions-newbies-sub": "i imiḍan imaynuten", "sp-contributions-blocklog": "sbdd tabdart n talghut", "sp-contributions-talk": "ⵎⵙⴰⵡⵍ", - "sp-contributions-search": "Arzu x tiggawin", + "sp-contributions-search": "ⵔⵣⵓ ⵅ ⵜⵓⵎⵓⵜⵉⵏ", "sp-contributions-username": "Tansa IP d isem useqdac:", "sp-contributions-submit": "ⵔⵣⵓ", "whatlinkshere": "ⵎⵉⵏ ⵉⵇⵇⵏⴻⵏ ⵖⵔ ⴷⴰ", @@ -534,7 +536,7 @@ "whatlinkshere-hidelinks": "$1 timqqan", "blockip": "Sbdd asqdac a", "ipbreason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:", - "ipboptions": "2 ⵜⵙⵔⴰⴳⵉⵏ:2 hours,1 ⵡⴰⵙⵙ:1 day,3 ⵡⵓⵙⵙⴰⵏ:3 days,1 ⵉⵎⴰⵍⴰⵙⵙ:1 week,2 ⵉⵎⴰⵍⴰⵙⵙⵏ:2 weeks,1 ⵡⴰⵢⵢⵓⵓⵔ:1 month,3 ⵡⴰⵢⵢⵓⵔⵏ:3 months,6 ⵡⴰⵢⵢⵓⵔⵏ:6 months,1 ⵓⵙⴳⴳⵯⴰⵙ:1 year,ⵍⴱⴷⴰ:infinite", + "ipboptions": "2 ⵜⵙⵔⴰⴳⵉⵏ:2 hours,1 ⵡⴰⵙⵙ:1 day,3 ⵡⵓⵙⵙⴰⵏ:3 days,1 ⵉⵎⴰⵍⴰⵙⵙ:1 week,2 ⵉⵎⴰⵍⴰⵙⵙⵏ:2 weeks,1 ⵡⴰⵢⵢⵓⵔ:1 month,3 ⵡⴰⵢⵢⵓⵔⵏ:3 months,6 ⵡⴰⵢⵢⵓⵔⵏ:6 months,1 ⵓⵙⴳⴳⵯⴰⵙ:1 year,ⵍⴱⴷⴰ:infinite", "autoblocklist-submit": "ⵔⵣⵓ", "ipblocklist": "Tabdart n tansiwin IP d isemawen n iseqdacen ig iteblukan", "blocklist-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ", @@ -590,21 +592,21 @@ "tooltip-ca-unwatch": "Kkes Tasna ya zi Tabdart uḥṭṭu inec", "tooltip-search": "ⵔⵣⵓ ⴳ {{SITENAME}}", "tooltip-search-go": "Uyur ghar tasna s yizwel a s imant nnes malla tella", - "tooltip-search-fulltext": "Rzu di tasniwin xef waḍṛis a", + "tooltip-search-fulltext": "ⵔⵣⵓ ⴷⵉ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵅⴼ ⵓⴹⵔⵉⵙ ⴰ", "tooltip-p-logo": "Tasbtirt Tamzwarut", "tooltip-n-mainpage": "Adef ɣar tasna tamezwarut", "tooltip-n-mainpage-description": "Adef ghar tasna tamezwarut", "tooltip-n-portal": "Xef usenfar, mayen tzemmared ad tegged, mani ɣa tafed tiɣawsiwin", "tooltip-n-currentevents": "Af tilgha n ugilal xf tmsarin titurawin", - "tooltip-n-recentchanges": "Tabdart n isenfilen imaynuten di Wiki.", + "tooltip-n-recentchanges": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵙⵏⴼⵉⵍⵏ ⵉⵏⴳⴳⵓⵔⴰ ⴷⴳ ⵓⵡⵉⴽⵉ", "tooltip-n-randompage": "Zdem ict tasna d tagacurant", "tooltip-n-help": "Mani gha tessned", "tooltip-t-whatlinkshere": "Tabdart n marra tasniwin n Wiki i d-iteqqnen da", - "tooltip-t-recentchangeslinked": "Isenfilen n drus zggwami di tasniwin i yetwaqqnen zi tasna ya", + "tooltip-t-recentchangeslinked": "ⵉⵙⵏⴼⵉⵍⵏ ⵉⵏⴳⴳⵓⵔⴰ ⴷⵉ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵇⵇⵏⴻⵏ ⵣⵉ ⵜⴰⵙⵏⴰ ⴰ", "tooltip-t-contributions": "Ẓar Tabdart n tiggawin n useqdac a", "tooltip-t-emailuser": "Sekk e-mail i bnadem a", "tooltip-t-upload": "ⵙⴽⵜⵔ ⵉⴼⴰⵢⵍⵓⵜⵏ", - "tooltip-t-specialpages": "Tabdart n marra tasniwin tinemmezrayin", + "tooltip-t-specialpages": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵎⴰⵔⵔⴰ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵥⵍⵉⵏ", "tooltip-t-print": "Tanghelt usiggez n tasna ya", "tooltip-ca-nstab-main": "Ẓeṛ tasna n ukettur", "tooltip-ca-nstab-user": "Ẓar Tasna n user", @@ -613,12 +615,13 @@ "tooltip-ca-nstab-template": "Ẓṛ tamudmt", "tooltip-ca-nstab-help": "Ẓar Tasna n tallalt", "tooltip-ca-nstab-category": "Ẓṛ tasna n taggayt", - "tooltip-minoredit": "egg-itt d taẓṛigt tamẓyant", + "tooltip-minoredit": "ⴳⴳ ⵉⵜ ⴷ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ", "tooltip-save": "Xmml isnfiln nnk", "tooltip-preview": "Ẓṛ mayn turid, zzat i t gha txmmld!", "tooltip-diff": "Ẓar tiẓṛigin i teggid deg uḍṛiṣ a.", "tooltip-compareselectedversions": "Ẓar imsebeḍiyen jar tunɣilin n Tasna ya.", "tooltip-watch": "Arni Tasna ya ɣa Tabdart uḥṭṭu inec", + "pageinfo-header-edits": "ⴰⵎⵣⵔⵓⵢ ⵏ ⵓⵙⵏⴼⵍ", "pageinfo-language": "ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵜⵓⵎⴰⵢⵜ ⵏ ⵜⴰⵙⵏⴰ", "pageinfo-contentpage-yes": "ⵢⴰⵀ", "pageinfo-protect-cascading-yes": "ⵢⴰⵀ", diff --git a/languages/i18n/ro.json b/languages/i18n/ro.json index 185c8f3131..c5f9e8c83e 100644 --- a/languages/i18n/ro.json +++ b/languages/i18n/ro.json @@ -3415,6 +3415,7 @@ "compare-invalid-title": "Titlul specificat nu este corect.", "compare-title-not-exists": "Titlul specificat nu există.", "compare-revision-not-exists": "Versiunea specificată nu există.", + "diff-form": "un '''formular'''", "dberr-problems": "Ne cerem scuze! Acest site întâmpină dificultăți tehnice.", "dberr-again": "Așteptați câteva minute și încercați din nou.", "dberr-info": "(Nu se poate accesa baza de date: $1)", @@ -3708,5 +3709,6 @@ "authprovider-resetpass-skip-label": "Omite", "linkaccounts-submit": "Leagă conturile", "unlinkaccounts": "Dezleagă conturile", - "unlinkaccounts-success": "Contul a fost dezlegat" + "unlinkaccounts-success": "Contul a fost dezlegat", + "userjsispublic": "Atenție: subpaginile JavaScript nu trebuie să conțină date confidențiale, întrucât ele sunt vizibile altor utilizatori." } diff --git a/languages/i18n/roa-tara.json b/languages/i18n/roa-tara.json index 3ec620b45e..e6937d0f6c 100644 --- a/languages/i18n/roa-tara.json +++ b/languages/i18n/roa-tara.json @@ -3437,6 +3437,7 @@ "compare-invalid-title": "'U titele ca è specificate jè invalide.", "compare-title-not-exists": "'U titele ca è specificate non g'esiste.", "compare-revision-not-exists": "'A revisione ca è specificate non g'esiste.", + "diff-form": "'nu '''form'''", "dberr-problems": "Sime spiacende! Stu site stè 'ngondre de le difficoltà tecniche.", "dberr-again": "Aspitte quacche minute e pò recareche.", "dberr-info": "(Non ge riuscime a trasè sus a'u server d'u database: $1)", diff --git a/languages/i18n/ru.json b/languages/i18n/ru.json index dfd0b6c47f..0dfa7f5a5e 100644 --- a/languages/i18n/ru.json +++ b/languages/i18n/ru.json @@ -3690,6 +3690,12 @@ "compare-invalid-title": "Указанное вами название недопустимо.", "compare-title-not-exists": "Не существует указанного вами названия.", "compare-revision-not-exists": "Указанной вами версии не существует.", + "diff-form": "Различия", + "diff-form-oldid": "Старый идентификатор версии (необязательно)", + "diff-form-submit": "Показать отличия", + "permanentlink": "Постоянная ссылка", + "permanentlink-revid": "Идентификатор правки", + "permanentlink-submit": "Перейти к версии", "dberr-problems": "Извините! На данном сайте возникли технические трудности.", "dberr-again": "Попробуйте обновить страницу через несколько минут.", "dberr-info": "(Нет доступа к базе данных: $1)", diff --git a/languages/i18n/sa.json b/languages/i18n/sa.json index 7875342afd..fab6663ec8 100644 --- a/languages/i18n/sa.json +++ b/languages/i18n/sa.json @@ -30,6 +30,7 @@ "tog-hideminor": "सद्योजातानां परिवर्तनानां लघूनि सम्पादनानि गोप्यन्ताम्", "tog-hidepatrolled": "सद्योजातानां परिवर्तनानां परिशीलितानि सम्पादनानि गोप्यन्ताम्", "tog-newpageshidepatrolled": "नूतनपृष्ठानाम् आवलेः परिशीलितानि पृष्ठानि गोप्यन्त्ताम्", + "tog-hidecategorization": "पृष्ठानां श्रेणीविभाजनं न दर्श्यताम् ।", "tog-extendwatchlist": "न केवलं सद्योजातानि अपि तु निरीक्षासूचेः सर्वाणि परिवर्तनानि दृश्यन्ताम्", "tog-usenewrc": "सद्यः परिवर्तनावल्यां, निरीक्षासूचौ च पृष्ठानि विभागानुसारं प्रदर्श्यन्ताम् (जावा-लिपिः अपेक्ष्यते)", "tog-numberheadings": "शीर्षकाणि स्वयमेव यथाक्रमं करोतु", @@ -40,6 +41,7 @@ "tog-watchdefault": "मया सम्पादितानि पृष्ठानि मम निरीक्षासूचौ योज्यन्ताम्।", "tog-watchmoves": "मया चालितानि पृष्ठानि मम निरीक्षासूचौ योज्यन्ताम्।", "tog-watchdeletion": "मया अपाकृतानि पृष्ठानि मम निरीक्षासूचौ योज्यन्ताम्।", + "tog-watchuploads": "मया आरोपिताः नूतनसञ्चिकाः मम निरीक्षासूच्यां योजनीयाः ।", "tog-watchrollback": "मया प्रत्यापन्नानि (rollback) पृष्ठानि मम निरीक्षासूचौ योज्यताम् ।", "tog-minordefault": "मम सर्वाणि सम्पादनानि लघुत्वेन प्रदर्श्यन्ताम् ।", "tog-previewontop": "सम्पादनात् पूर्वं प्राग्दृश्यं दर्श्यताम् ।", @@ -163,13 +165,7 @@ "anontalk": "सम्भाषणम्", "navigation": "सञ्चरणम्", "and": " तथा च", - "qbfind": "अन्विष्यताम्", - "qbbrowse": "अन्विष्यताम्", - "qbedit": "सम्पाद्यताम्", - "qbpageoptions": "इदं पृष्ठम्", - "qbmyoptions": "मम पृष्ठानि", "faq": "सामान्यजिज्ञासाः (FAQ)", - "faqpage": "Project:सामान्यजिज्ञासाः(FAQ)", "actions": "क्रियाः", "namespaces": "नामाकाशाः", "variants": "पाठभेदाः", @@ -194,29 +190,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": "फलकपृष्ठं दृश्यताम्", @@ -2905,7 +2891,6 @@ "fileduplicatesearch-noresults": "\"$1\" इति नाम्ना सञ्चिका न दृष्टा ।", "specialpages": "विशिष्टपृष्ठानि", "specialpages-note-top": "तालिका", - "specialpages-note": "* विशिष्टपृष्ठानि । \n* प्रतिबन्धितानि विशिष्टपृष्ठानि ।", "specialpages-group-maintenance": "निर्वहणवृत्तानि ।", "specialpages-group-other": "अन्यविशेषपुटानि ।", "specialpages-group-login": "प्रविश्यताम् / लेखा सृज्यताम्", diff --git a/languages/i18n/shi.json b/languages/i18n/shi.json index 1f082fd6cc..575a1bdc4c 100644 --- a/languages/i18n/shi.json +++ b/languages/i18n/shi.json @@ -353,8 +353,8 @@ "watchthis": "ⴹⴼⵓⵔ ⵜⴰⵙⵏⴰ ⴰⴷ", "savearticle": "Ẓṛig d tḥbut", "preview": "Iẓṛi amzwaru", - "showpreview": "Iẓṛi amzwaru", - "showdiff": "Mel imbddln lli ifttun", + "showpreview": "ⵎⵍ ⵜⴰⵎⵓⵖⵍⵉ", + "showdiff": "ⵎⵍ ⵉⵙⵏⴼⵉⵍⵏ", "anoneditwarning": "Han ''' ur ttuyssant ''' rad ibayn IP nk ɣ umzrut n tasna yad, ur sul iḥba tamagit nk", "anonpreviewwarning": "ur ittuyssan mat tgit. Iɣ tgdl tawuri nk, tansa nk IP rad tbayn ɣ umzruy n imbdln n tasna yad.", "missingsummary": "'''Adakt nskti :''' ur ta tfit awal imun n imbddln nk.\nIɣ tklikkit tiklit yaḍn f tjrrayt « $1 », aẓṛig rad ittuyskar blla tsnt", @@ -473,7 +473,7 @@ "nextn": "Tallid yuckan {{PLURAL:$1|$1}}", "prevn-title": "$1 {{PLURAL:$1|Askfa amzaru|Iskfatn imzwura}}", "nextn-title": "$1 {{PLURAL:$1|ⵜⵢⴰⴼⵓⵜ ⵜⵓⴹⴼⵉⵔⵜ|ⵜⵢⴰⴼⵓⵜⵉⵏ ⵜⵓⴹⴼⵉⵔⵉⵏ}}", - "shown-title": "Fsr $1 tayafut{{PLURAL:$1||s}} s tasna", + "shown-title": "ⵎⵍ $1 {{PLURAL:$1|ⵜⵢⴰⴼⵓⵜ|ⵜⵢⴰⴼⵓⵜⵉⵏ}} ⵉ ⵜⴰⵙⵏⴰ", "viewprevnext": "Mel ($1 {{int:pipe-separator}} $2) ($3)", "searchmenu-exists": "\"'Tlla yat tasna lli ilan assaɣ « [[:$1]] » ɣ wiki yad", "searchmenu-new": "ⵙⵏⵓⵍⴼⵓ ⵜⴰⵙⵏⴰ \"[[:$1]]\" ⴳ ⵓⵡⵉⴽⵉ ⴰⴷ! {{PLURAL:$2|0=|See also the page found with your search.|See also the search results found.}}", @@ -607,26 +607,30 @@ "rcfilters-savedqueries-new-name-label": "ⵉⵙⵎ", "rcfilters-filterlist-whatsthis": "ⵎⴰⵜⵜⴰ ⵓⵢⴰ?", "rcfilters-filter-bots-label": "ⴱⵓⵜ", - "rcnotefrom": "Had imbddln lli ittuyskarn z '''$2''' ('''$1''' ɣ uggar).", - "rclistfrom": "Mel imbdeltn imaynutn z $3 $2", + "rcnotefrom": "ⴷⴷⴰⵡ ⴰⵙ {{PLURAL:$5|ⴰⵙⵏⴼⵍ|ⵉⵙⵏⴼⵉⵍⵏ}} ⵣⵖ $3, $4 (ⴰⵔ $1 ⴰⴷ ⵉⴱⴰⵢⵏⴻⵏ ⵙ ⵉⴳⴳⵓⵜ).", + "rclistfrom": "ⵎⵍ ⵉⵙⵏⴼⵉⵍⵏ ⵉⵎⴰⵢⵏⵓⵜⵏ ⵣⵖ $3 ⵖ $2", "rcshowhideminor": "$1 ⵉⵙⵏⴼⵉⵍⵏ ⵓⵎⵥⵉⵢⵏ", "rcshowhideminor-hide": "ⵙⵙⵏⵜⵍ", "rcshowhidebots": "$1 ⵉⵔⵓⴱⵓⵜⵏ", + "rcshowhidebots-show": "ⵎⵍ", "rcshowhidebots-hide": "ⵙⵙⵏⵜⵍ", "rcshowhideliu": "$1 ⵉⵙⵎⵔⴰⵙⵏ ⵣⵎⵎⴻⵎⵏⵉⵏ", + "rcshowhideliu-show": "ⵎⵍ", "rcshowhideliu-hide": "ⵙⵙⵏⵜⵍ", "rcshowhideanons": "$1 midn ur ttuyssan nin", + "rcshowhideanons-show": "ⵎⵍ", "rcshowhideanons-hide": "ⵙⵙⵏⵜⵍ", "rcshowhidepatr": "$1 ⵉⵙⵏⴼⵉⵍⵏ ⵜⵜⵡⴰⵃⴹⴰⵏⵉⵏ", "rcshowhidepatr-hide": "ⵙⵙⵏⵜⵍ", "rcshowhidemine": "$1 ⵉⵙⵏⴼⵉⵍⵏ ⵉⵏⵓ", + "rcshowhidemine-show": "ⵎⵍ", "rcshowhidemine-hide": "ⵙⵙⵏⵜⵍ", "rcshowhidecategorization-hide": "ⵙⵙⵏⵜⵍ", "rclinks": "Ml id $1 n imbddltn immgura li ittuyskarn n id $2 ussan ad gguranin", "diff": "ⴰⵎⵣⴰⵔⴰⵢ", "hist": "ⴰⵎⵣⵔⵓⵢ", "hide": "ⵙⵙⵏⵜⵍ", - "show": "Mel", + "show": "ⵎⵍ", "minoreditletter": "ⵎⵥⵢ", "newpageletter": "ⵎⵢⵏ", "boteditletter": "ⴱ", @@ -644,7 +648,7 @@ "recentchangeslinked-title": "ⵉⵙⵏⴼⵉⵍⵏ ⵇⵇⵏⵏⵉⵏ ⵙ \"$1\"", "recentchangeslinked-summary": "Ɣid umuɣ iymbddeln li ittyskarnin tigira yad ɣ tisniwin li ittuyzdayn d kra n tasna (ulla i igmamn n kra taggayt ittuyzlayn). Tisniwin ɣ [[Special:Watchlist|Umuɣ n tisniwin li ttsaggat]].", "recentchangeslinked-page": "ⵉⵙⵎ ⵏ ⵜⴰⵙⵏⴰ:", - "recentchangeslinked-to": "Afficher les changements vers les pages liées au lieu de la page donnée\nMel imbddeln z tisniwin li ittuyzdayni bla tasna li trit.", + "recentchangeslinked-to": "ⵎⵍ ⵉⵙⵏⴼⵉⵍⵏ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵇⵇⵏⵏⵉⵏ ⵙ ⵜⴰⵙⵏⴰ instead", "upload": "ⵙⴽⵜⵔ ⴽⵔⴰ ⵏ ⵓⴼⴰⵢⵍⵓ", "uploadbtn": "ⵙⴽⵜⵔ ⴰⴼⴰⵢⵍⵓ", "reuploaddesc": "Sbidd asrbu d turrit", @@ -677,7 +681,7 @@ "listfiles-latestversion-no": "ⵓⵀⵓ", "file-anchor-link": "ⴰⴼⴰⵢⵍⵓ", "filehist": "ⴰⵎⵣⵔⵓⵢ ⵏ ⵓⴼⴰⵢⵍⵓ", - "filehist-help": "Adr i asakud/tizi bac attżrt manik as izwar usddaw ɣ tizi yad", + "filehist-help": "ⴽⵍⵉⴽⵉ ⴼ ⴽⵔⴰ ⵏ ⵓⵙⴰⴽⵓⴷ/ⴰⴽⵓⴷ ⴰⴷ ⵜⵥⵔⵜ ⴰⴼⴰⵢⵍⵓ ⵎⴽⵍⵍⵉ ⵜⵜ ⵉⵏⵏ ⵉⴽⴽⴰ ⵖ ⵜⵉⵣⵉ ⴰⵏⵏ.", "filehist-deleteone": "ⴽⴽⵙ", "filehist-revert": "Sgadda daɣ", "filehist-current": "ⴰⵎⵉⵔⴰⵏ", @@ -691,7 +695,7 @@ "linkstoimage": "Tasna yad {{PLURAL:$1|izdayn n tasna|$1 azday n tasniwin}} s usdaw:", "nolinkstoimage": "Ḥtta kra n tasna ur tra asdaw ad", "sharedupload": "Asdawad z $1 tẓḍart at tsxdmt gr iswirn yaḍnin", - "sharedupload-desc-here": "ⴰⵙⴷⴰⵡ ⴰⴷ ⵉⴽⴽⴰⴷ ⵣ : $1. ⵜⵥⴹⴰⵔⵜ ⴰⵙⵙⵉ ⵜⵙⵡⵡⵓⵔ ⵖ ⵜⵉⵡⵓⵔⵉⵡⵉⵏ ⵜⴰⴹⵏ.\nⵓⴳⴳⴰⵔ ⴼⵍⵍⴰⵙ ⵍⵍⴰⵏ ⵖ [$2 ⵜⴰⵙⵏⴰ ⵏ ⵉⵎⵍⵓⵣⵣⵓⵜⵏ] ⵍⵍⵉ ⵉⵍⵍⴰⵏ ⵖⵉⴷ.", + "sharedupload-desc-here": "ⴰⴼⴰⵢⵍⵓ ⴰⴷ ⵉⴽⴽⴰ ⴷ $1 ⴷ ⵉⵥⴹⴰⵔ ⴰⴷ ⵢⵉⵍⵉ ⵉⵜⵜⵢⴰⵡⵙⵅⴷⴰⵎ ⵖ ⵉⵙⵏⴼⴰⵔⵏ ⵢⴰⴹⵏ.\nⴰⴳⵍⴰⵎ ⵉⵍⵍⴰⵏ ⵖ [$2 ⵜⴰⵙⵏⴰ ⵏⵏⵙ ⵏ ⵓⴳⵍⴰⵎ] ⵀⴰ ⵜ ⴷⴷⴰⵡ ⴰⵙ.", "uploadnewversion-linktext": "ⵙⴽⵜⵔ ⴽⵔⴰ ⵏ ⵜⵓⵏⵖⵉⵍⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ ⵏ ⵓⴼⴰⵢⵍⵓ ⴰⴷ", "filedelete": "ⴽⴽⵙ $1", "filedelete-legend": "ⴽⴽⵙ ⴰⴼⴰⵢⵍⵓ", @@ -764,7 +768,7 @@ "watchthispage": "ⴹⴼⵓⵔ ⵜⴰⵙⵏⴰ ⴰⴷ", "unwatch": "ⵙⴱⴷⴷ ⴰⴹⴼⴼⵓⵔ", "watchlist-details": "{{PLURAL:$1|$1 ⵜⴰⵙⵏⴰ|$1 ⵜⴰⵙⵏⵉⵡⵉⵏ}} ⴳ ⵜⵍⴳⴰⵎⵜ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}} ⵏ ⵓⴹⴼⴼⵓⵔ, not separately counting talk pages.", - "wlshowlast": "Ml ikudan imggura $1 , ussan imggura $2 niɣd", + "wlshowlast": "ⵎⵍ $1 ⵜⵙⵔⴰⴳⵉⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ, $2 ⵡⵓⵙⵙⴰⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ", "watchlist-hide": "ⵙⵙⵏⵜⵍ", "wlshowhidebots": "ⵉⴷ ⴱⵓⵜ", "watchlist-options": "ⵜⵉⵙⵖⴰⵍ ⵏ ⵜⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ", @@ -820,7 +824,7 @@ "uctop": "(ⵜⴰⵎⵉⵔⴰⵏⵜ)", "month": "Z usggas (d urbur):", "year": "Z usggas (d urbur):", - "sp-contributions-newbies": "Ad ur tmlt abla tiwuriwin n wiyyaḍ", + "sp-contributions-newbies": "ⵎⵍ ⵖⴰⵔ ⵜⵓⵎⵓⵜⵉⵏ ⵏ ⵉⵎⵉⴹⴰⵏⴻⵏ ⵉⵎⴰⵢⵏⵓⵜⵏ", "sp-contributions-newbies-sub": "Z imiḍan (comptes) imaynutn", "sp-contributions-newbies-title": "Tiwuriwin n umqdac z imḍan imaynutn", "sp-contributions-blocklog": "Tinɣmas n willi ttuyqqanin (blocage)", @@ -833,7 +837,8 @@ "sp-contributions-blocked-notice-anon": "Tansa yad IP ttuysbddad. Maf ittuysbddad illa ɣ uɣmmis n n willi n sbid. Mayad ɣ trit ad tsnt maɣ", "sp-contributions-search": "ⵙⵉⴳⴳⵍ ⵜⵓⵎⵓⵜⵉⵏ", "sp-contributions-username": "Tansa IP niɣ assaɣ nu umsqdac:", - "sp-contributions-toponly": "Ad urtmlt adla mat ittuyẓran tigira yad", + "sp-contributions-toponly": "ⵎⵍ ⵖⴰⵔ ⵉⵙⵏⴼⵉⵍⵏ ⴳⴰⵏⵉⵏ ⵜⵓⵏⵖⵉⵍⵉⵏ ⵜⵉⵎⵉⵔⴰⵏⵉⵏ", + "sp-contributions-newonly": "ⵎⵍ ⵖⴰⵔ ⵉⵙⵏⴼⵉⵍⵏ ⴳⴰⵏⵉⵏ ⵉⵙⵏⵓⵍⴼⵓⵜⵏ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ", "sp-contributions-submit": "ⵙⵉⴳⴳⵍ", "sp-contributions-explain": "↓", "whatlinkshere": "ⵎⴰⴷ ⵉⵇⵇⵏⴻⵏ ⵙ ⵖⵉⴷ", @@ -952,7 +957,7 @@ "tooltip-minoredit": "ⵔⵛⵎ ⴰⵢⴰ ⵎⴰⵙ ⵉⴳⴰ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ", "tooltip-save": "Ḥbu imbddel nek", "tooltip-preview": "Mel(fsr) imbddeln nek, urat tḥibit matskert", - "tooltip-diff": "Mel (fsr) imbddeln li tskert u-ṭṛiṣ", + "tooltip-diff": "ⵎⵍ ⵎⴰⵏ ⵉⵙⵏⴼⵉⵍⵏ ⴰⴷ ⵜⵙⴽⵔⵜ ⵉ ⵓⴹⵔⵉⵙ", "tooltip-compareselectedversions": "Ẓr inaḥyatn gr sin lqimat li ttuystaynin ɣ tasna yad.", "tooltip-watch": "ⵔⵏⵓ ⵜⴰⵙⵏⴰ ⴰⴷ ⵉ ⵜⵍⴳⴰⵎⵜ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}} ⵏ ⵓⴹⴼⴼⵓⵔ", "tooltip-recreate": "Als askr n tasna yad waxxa ttuwḥiyyad", @@ -961,12 +966,13 @@ "tooltip-undo": "\"Sglb\" ḥiyd ambdl ad t mmurẓmt tasatmt n umbdl ɣ umuḍ tiẓri tamzwarut.", "tooltip-summary": "Skcm yat tayafut imẓẓin", "pageinfo-header-edits": "ⴰⵎⵣⵔⵓⵢ ⵏ ⵓⵙⵏⴼⵍ", + "pageinfo-length": "ⵜⵉⴷⴷⵉ ⵏ ⵜⴰⵙⵏⴰ (ⵙ ⵉⴷ ⴱⴰⵢⵜ)", "pageinfo-language": "ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵜⵓⵎⴰⵢⵜ ⵏ ⵜⴰⵙⵏⴰ", "pageinfo-language-change": "ⵙⵏⴼⵍ", "pageinfo-content-model-change": "ⵙⵏⴼⵍ", "pageinfo-firsttime": "ⴰⵙⴰⴽⵓⴷ ⵏ ⵓⵙⵏⵓⵍⴼⵓ ⵏ ⵜⴰⵙⵏⴰ", "pageinfo-lastuser": "ⴰⵎⵙⵏⴼⵍ ⵉⴳⴳⵯⵔⴰⵏ", - "pageinfo-lasttime": "ⴰⵙⴰⴽⵓⴷ ⵏ ⵓⵙⵏⴼⵍ ⵉⴳⴳⵯⵔⴰⵏ", + "pageinfo-lasttime": "ⴰⵙⴰⴽⵓⴷ ⵏ ⵓⵙⵏⴼⵍ ⴰⴽⴽⵯ ⵉⴳⴳⵯⵔⴰⵏ", "pageinfo-hidden-categories": "{{PLURAL:$1|ⴰⵙⵎⵉⵍ ⵉⵏⵜⵍⵏ|ⵉⵙⵎⵉⵍⵏ ⵏⵜⵍⵏⵉⵏ}} ($1)", "pageinfo-contentpage-yes": "ⵢⴰⵀ", "pageinfo-protect-cascading-yes": "ⵢⴰⵀ", @@ -989,11 +995,12 @@ "variantname-shi-latn": "Tašlḥiyt", "variantname-shi": "disable", "metadata": "ⵎⵉⵜⴰⴷⴰⵜⴰ", - "metadata-help": "Asdaw ad llan gis inɣmisn yaḍnin lli tfl lkamira tuṭunit niɣd aṣfḍ n uxddam lliɣ ay sgadda asdaw ad", + "metadata-help": "ⵢⵓⵙⵢ ⵓⴼⴰⵢⵍⵓ ⴰⴷ ⵓⵎⵍⴰⵏ , lli tfl lkamira tuṭunit niɣd aṣfḍ n uxddam lliɣ ay sgadda asdaw ad.\nⵉⵖ ⵉⵏⴼⵍ ⵓⴼⴰⵢⵍⵓ ⵣⵖ ⴰⴷⴷⴰⴷ ⵏⵏⵙ ⴰⵏⵚⵍⵉ, .", "metadata-expand": "Ml ifruriyn lluzzanin", "metadata-collapse": "Aḥbu n ifruriyn lluzzanin", "metadata-fields": "Igran n isfkan n metadata li illan ɣ tabratad ran ilin ɣ tawlaf n tasna iɣ mzzin tiflut n isfka n mita\nWiyyaḍ raggis ḥbun s ɣiklli sttin kkan gantn.\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-orientation": "ⴰⵙⵡⴰⵍⴰ", + "exif-datetime": "ⴰⵙⴰⴽⵓⴷ ⴷ ⵡⴰⴽⵓⴷ ⵏ ⵓⵙⵏⴼⵍ ⵏ ⵓⴼⴰⵢⵍⵓ", "exif-flash": "ⴼⵍⴰⵛ", "exif-source": "ⴰⵙⴰⴳⵎ", "exif-languagecode": "ⵜⵓⵜⵍⴰⵢⵜ", diff --git a/languages/i18n/shn.json b/languages/i18n/shn.json index d8258dacb1..f5155f48a2 100644 --- a/languages/i18n/shn.json +++ b/languages/i18n/shn.json @@ -615,7 +615,7 @@ "permissionserrorstext-withaction": "ၸဝ်ႈၵဝ်ႇဢမ်ႇမီးသုၼ်ႇ တႃႇ $2, တွၼ်ႈတႃႇ ၸိူဝ်း ဢၼ်ပဵၼ် {{PLURAL:$1|reason|လွင်ႈတၢင်း}}:", "contentmodelediterror": "ၸဝ်ႈၵဝ်ႇတေဢမ်ႇၸၢင်ႈ မႄးထတ်း ၵၢၼ်ၶူၼ်ႉၶႆႈၼႆႉ၊ ယွၼ်ႉပိူဝ်ႈဝႃႈ ၽၢင်တူဝ် ၶေႃႈၶဝ်ႈပႃး မၼ်းၼႆႉပဵၼ် $1, ဢၼ် ပႅၵ်ႇပိူင်ႈၵၼ်တၢင်း ၽၢင်တူဝ် ၶေႃႈၶဝ်ႈပႃး ၶွင်ႈၼႃႈလိၵ်ႈ $2 ၼႆႉ။", "recreate-moveddeleted-warn": "ၶေႃႈၽၢင်ႉပၼ် : ၸဝ်ႈၵဝ်ႇ ၶိုၼ်းၵေႃႇသၢင်ႈ ၼႃႈလိၵ်ႈ ဢၼ်လႆႈ မွတ်ႇပႅတ်ႈၵႂႃႇဝႆႉၼၼ်ႉ။\n\nၸဝ်ႈၵဝ်ႇ ထုၵ်ႇလီဝူၼ်ႉတူၺ်းဝႃႈ ၸွင်ႇမၼ်းသၢင်ႇထုၵ်ႇ တွၼ်ႈတႃႇတေသိုပ်ႇ မႄးထတ်း ၼႃႈလိၵ်ႈၼႆႉဢၼ်ဝႃႈၼၼ်ႉ။\nသဵၼ်ႈလၢႆ မွတ်ႇပႅတ်ႈလႄႈ ၶၢႆႉဢွင်ႈ တွၼ်ႈတႃႇၼႃႈလိၵ်ႈၼႆႉ ၵမ်ႉထႅမ်ဝႆႉပၼ် ၵႃႈတီႈၼႆႈ တွၼ်ႈတႃႇ ႁႂ်းငၢႆႈလူမ်ၸႂ် :", - "moveddeleted-notice": "ၼႃႈလိၵ်ႈၼႆႉ မွတ်ႇပႅတ်ႈၵႂႃႇယဝ်ႉ။ လွင်ႈမွတ်ႇပႅတ်ႈလႄႈ လွင်ႈၶၢႆႉသၢႆမၢႆ တွၼ်ႈတႃႇ ၼႃႈလိၵ်ႈၼႆႉ ၵမ်ႉထႅမ်ဝႆႉပၼ် ၼင်ႇပႃႈတႂ်ႈၼႆႉယူႇ။ မၼ်းပဵၼ် တွၼ်ႈတႃႇ ႁဵတ်းၽိုၼ်ဢိင်ယဝ်ႉ။", + "moveddeleted-notice": "ၼႃႈလိၵ်ႈၼႆႉ မွတ်ႇပႅတ်ႈၵႂႃႇယဝ်ႉ။ လွင်ႈမွတ်ႇပႅတ်ႈ၊ လွင်ႈႁႄႉၵင်ႈ လႄႈ သၢႆမၢႆလွင်ႈၶၢႆႉ တွၼ်ႈတႃႇ ၼႃႈလိၵ်ႈၼႆႉ ၵမ်ႉထႅမ်ဝႆႉပၼ် ၼင်ႇပႃႈတႂ်ႈၼႆႉ ပဵၼ် တွၼ်ႈတႃႇ ႁဵတ်းၽိုၼ်ဢိင်ယဝ်ႉ။", "moveddeleted-notice-recent": "ယိၼ်းၶီၸွမ်ႈယူႇ၊ ၼႃႈလိၵ်ႈၼႆႉ တိုၵ်ႉႁႃထုၵ်ႇမွတ်ႇပႅတ်ႈ (ၼႂ်းၶၢဝ်းတၢင်း မိူဝ်ႈပူၼ်ႉမႃး 24 ၸူဝ်ႈမူင်း) ၼႆႉၵူၺ်း။ သဵၼ်ႈမၢႆ မွတ်ႇပႅတ်ႈ လႄႈ ၶၢႆႉဢွင်ႈတီႈ ၸိူဝ်းၼၼ်ႉ လႆႈၵမ်ႉထႅမ်ဝႆႉပၼ်ၼင်ႇၽၢႆႇတႂ်ႈ ႁႂ်ႈၸၢင်ႈပဵၼ် ၵၢၼ်ၽိုၼ်ဢိင်။", "log-fulllog": "တူၺ်း သဵၼ်ႈမၢႆဢၼ်တဵမ်ထူၼ်ႈ", "edit-hook-aborted": "ၵၢၼ်မႄးထတ်း ထုၵ်ႇလူတ်းပႅတ်တင်းၶေႃၵွင်ႉ။\nမၼ်းဢမ်ႇပၼ်ဝႆႉ ၶေႃႈသပ်းလႅင်းသင်။", @@ -754,6 +754,7 @@ "editundo": "ၶိုၼ်ၶိုၼ်း", "diff-empty": "(ဢမ်ႇမီးလွင်ႈပႅၵ်ႇပိူင်ႈ)", "diff-multi-sameuser": "({{PLURAL:$1|လွင်ႈၶူၼ်ႉၶႆႈ ပၢၼ်ၵၢင် |$1 လွင်ႈၶူၼ်ႉၶႆႈ ပၢၼ်ၵၢင်}} ​ပေႃးတႃႇ ၽူႈၸႂ်တိုဝ်းမိူၼ်ၵၼ် တေဢမ်ႇၼႄပၼ်)", + "diff-multi-otherusers": "({{PLURAL:$1|လွင်ႈၶူၼ်ႉၶႆႈမႄးၶိုၼ်း ပၢၼ်ၵၢင် |$1 လွင်ႈၶူၼ်ႉၶႆႈမႄးၶိုၼ်း ပၢၼ်ၵၢင်}} ​\n{{PLURAL:$2|ၽူႈၸႂ်ႉတိုဝ်း ထႅင်ႈၵေႃႉၼိုင်ႈ|$2 ၽူႈၸႂ်ႉတိုဝ်း}} ဢမ်ႇၼႄဝႆႉ)", "searchresults": "ၶူၼ်ႉႁႃၺႃး", "searchresults-title": "ၶူၼ်ႉႁႃၺႃးတွၼ်ႈတႃႇ \"$1\"", "titlematches": "ႁူဝ်ၶေႃႈ ၼႃႈလိၵ်ႈ ၶူပ်းၵၼ်ယူႇ", @@ -778,9 +779,11 @@ "searchprofile-everything-tooltip": "သွၵ်ႈႁႃလမ်းၼႂ်းတင်းမူတ်း (ဢိၵ်ႇပႃးၼႃႈလိၵ်ႈ ဢုပ်ႇဢူဝ်း)", "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-section": "(တွၼ်ႈၵၼ် $1)", "search-category": "(တွၼ်ႈၵၼ် $1)", + "search-file-match": "(လမ်းၼႂ်းၾၢႆႇဢၼ်မႅၼ်ႈၵၼ်)", "search-suggest": "ၶႂ်ႈဝႃႈ $1 - ၼႆႁႃႉ", "search-interwiki-caption": "ၽွၼ်းလႆႈ ၵႃႈတီႈ ၼႃႈၵၢၼ် ပီႈၼွင်ႉၵၼ်", "search-interwiki-default": "ၽွၼ်းလႆႈ ၵႃႈတီႈ $1 :", @@ -1088,17 +1091,16 @@ "rcfilters-empty-filter": "ဢမ်ႇမီးတူဝ်ထွင် ဢၼ်တူင်ႉၼိုင်။ ၵၢၼ်ၶဝ်ႈႁူမ်ႈတၢင်းသဵင်ႈၵေႃႈၼႄဝႆႉယူႇ။", "rcfilters-filterlist-title": "တူဝ်ထွင်", "rcfilters-filterlist-noresults": "ဢမ်ႇႁၼ်မီးတူဝ်ထွင်", - "rcfilters-filtergroup-registration": "လွင်ႈတၢင်ႇမၢႆၽၢင် ၽူႈၸႂ်ႉတိုဝ်း", - "rcfilters-filter-registered-label": "တၢင်ႇမၢႆၾၢင်ဝႆႉယဝ်ႉ", - "rcfilters-filter-registered-description": "ၽူႈမႄးထတ်းၶဝ် ၶဝ်ႈလွၵ်ႉဢိၼ်ႇဝႆႉ", - "rcfilters-filter-unregistered-label": "ဢမ်ႇလႆႈတၢင်ႇမၢႆႇၽၢင်ဝႆႉ", - "rcfilters-filter-unregistered-description": "ၽူႈမႄးထတ်း ၸိူဝ်းဢမ်ႇလႆႈၶဝ်ႈ လွၵ်ႉဢိၼ်ႇဝႆႉ", "rcfilters-filtergroup-authorship": "လွင်ႈၶဝ်ႈႁူမ်ႈ ၸဝ်ႈပၢႆၵမ်", "rcfilters-filter-editsbyself-label": "လွင်ႈ​လႅၵ်ႈလၢႆႈ ၸဝ်ႈၵဝ်ႇႁဵတ်း", "rcfilters-filter-editsbyself-description": "လွင်ႈၶဝ်ႈႁူမ်ႈ ၶွင်တူဝ်ၸဝ်ႈၵဝ်ႇ", "rcfilters-filter-editsbyother-label": "လွင်ႈလႅၵ်ႈလၢႆႈ တၢင်ႇၵေႃႉႁဵတ်း", "rcfilters-filter-editsbyother-description": "လွင်ႈလႅၵ်ႈလၢႆႈတၢင်းသဵင် လိူဝ်သေၶွင်တူဝ်ၸဝ်ႈၵဝ်ႇ", "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": "ဢေႇလိူဝ် ၵၢၼ်မႄးထတ်း ႑႐ ဢၼ် လႄႈ လွင်ႈတူင်ႉၼိုင် တႃႇသီႇဝၼ်း", "rcfilters-filter-user-experience-level-learner-label": "ၽူႈလဵပ်ႈႁဵၼ်း", @@ -1556,6 +1558,7 @@ "allinnamespace": "ၼႃႈလိၵ်ႈတင်းမူတ်း ($1 ဢွင်ႈၸိုဝ်ႈ)", "allpagessubmit": "သိုပ်ႇၵႂႃႇ", "allpagesprefix": "ၼႃးလိၵ်ႈဢၼ်ၼႄ ဢိၵ်ႇတင်း ၶေႃႈလူင်ႈၼႃႈ", + "allpages-hide-redirects": "သိူင်ႇ ၸိူဝ်းတူဝ်ပိၼ်ႇၸီႉ", "categories": "လိူင်ႈ", "sp-deletedcontributions-contribs": "လွင်ႈၶဝ်ႈႁူမ်ႈ", "linksearch": "သွၵ်ႈႁႃ ႁဵင်းၵွင်ႉၽၢႆႇၼွၵ်ႈ", @@ -1639,6 +1642,8 @@ "watchnologin": "ဢမ်ႇလႆႈၶဝ်ႈလွၵ်ႉဢိၼ်ႇဝႆ့", "addwatch": "ထႅမ်သႂ်ႇၸူး သဵၼ်ႈမၢႆ ပႂ်ႉတူၺ်း", "watch": "ပႂ်ႉတူၺ်း", + "unwatch": "ဢမ်ႇတူၺ်း", + "wlshowlast": "ၼႄ ၶၢဝ်းယၢမ်းလိုၼ်းသုတ်း $1 မူင်း $2 ဝၼ်း", "watchlist-hide": "သိူင်ႇ", "watchlist-submit": "ၼႄ", "wlshowtime": "ပွင်ႈၶၢဝ်းယၢမ်း တွၼ်ႈတႃႇ ဢွၵ်ႇၼႄ:", @@ -1652,6 +1657,7 @@ "watchlist-options": "ၵၼ်လိူၵ်ႈသၢင်ႈ တူဝ်ပႂ်ႉတူၺ်း", "watching": "တိုၵ်ႉတူၺ်းယူႇ...", "unwatching": "ဢမ်ႇတူၺ်းဝႆႉ...", + "enotif_reset": "ႁဵတ်းၼႃႈလိၵ်ႈတင်းသဵင်ႈ ၼင်ႇဢႅဝ်ႇဝႆႉယဝ်ႉ", "enotif_impersonal_salutation": "{{SITENAME}} ၽူႈၸႂ်ႉတိုဝ်း", "enotif_subject_deleted": "ၼႃႈလိၵ်ႈ {{SITENAME}} $1 ၼႆႉ ထုၵ်ႇ $2 ၵေႃႉ {{GENDER:$2|မူတ်ႇပႅတ်ႈ}} ဢေႃႈ။", "enotif_subject_created": "ၼႃႈလိၵ်ႈ {{SITENAME}} $1 ၼႆႉ ထုၵ်ႇ $2 ၵေႃႉ {{GENDER:$2|ၵေႃႇသၢင်ႈဝႆႉ}} ဢေႃႈ", @@ -1701,6 +1707,8 @@ "logentry-contentmodel-change-revertlink": "ပိၼ်ႈၶိုၼ်း", "logentry-contentmodel-change-revert": "ပိၼ်ႈၶိုၼ်း", "protectlogpage": "မၢႆတမ်း ၵၢၼ်ႁေႉၵင်ႈ", + "protectedarticle": "ႁႄႉၵင်ႈဝႆႉ \"[[$1]]\"", + "modifiedarticleprotection": "ၸၼ်ႉထၢၼ်ႈလွင်ႈႁႄႉၵင်ႈ ဢၼ်လႅၵ်ႈလၢႆႈဝႆႉတႃႇ \"[[$1]]\"", "protect-default": "ၶႂၢင်းပၼ် ၽူႈၸႂ်ႉတိုဝ်း တၢင်းသဵင်ႈ", "protect-fallback": "ၶႂၢင်းပၼ် ၽူႈၸႂ်ႉတိုဝ်း ဢၼ်တင်း လွင်ႈၶႂၢင်းပၼ် \"$1\" ၼၼ်ႉၵူၺ်း", "protect-level-autoconfirmed": "ၶႂၢင်းပၼ် ၽူႈၸႂ်ႉတိုဝ်း ဢၼ်ၼႄႉၼွၼ်းႁင်းၵူၺ်းၼၼ်ႉ ၵူၺ်း", @@ -1738,11 +1746,14 @@ "tooltip-namespace_association": "လိူၵ်ႈပၼ် လွၵ်းၼႆႉ တႃႇတေႁႂ်ႈပႃး ၶေႃႈဢုပ်ႇဢူဝ်း ဢမ်ႇၼၼ် ၸိုဝ်ႈႁူဝ်ၶေႃႈ ဢၼ်ၵပ်းၵၢႆႇလူၺ်ႈ ႁူဝ်ၶေႃႈ ဢၼ်လိူၵ်ႈဝႆႉၼၼ်ႉ။", "blanknamespace": "ႁူဝ်ႁႅၵ်ႇ", "contributions": "{{GENDER:$1|User}} ၶဝ်ႈႁူမ်ႈပႃး", + "contributions-title": "လွင်ႈၶဝ်ႈႁူမ်ႈၽူႈၸႂ်ႉတိုဝ်း တွၼ်ႈတႃႇ $1", "mycontris": "လွင်ႈၶဝ်ႈႁူမ်ႈ", "anoncontribs": "လွင်ႈၶဝ်ႈႁူမ်ႈ", + "contribsub2": "တွၼ်ႈတႃႇ {{GENDER:$3|$1}} ($2)", "uctop": "(ယၢမ်းလဵဝ်)", "month": "တႄႇဢဝ်လိူၼ် (လႄႈ ဢၼ်ပူၼ်ႉမႃး):", "year": "တႄႇဢဝ်ပီ (လႄႈ ဢၼ်ပူၼ်ႉမႃး):", + "sp-contributions-newbies": "ၼႄပၼ်လွင်ႈၶဝ်ႈႁူမ်ႈ ၶွင် ဢၶွင်ႉဢၼ်မႂ်ႇလၢႆလၢႆၵူၺ်းလႄႈ", "sp-contributions-newbies-sub": "တွၼ်ႈတႃႇဢၶွင်ႉ ဢၼ်မႂ်ႇ", "sp-contributions-blocklog": "မၢႆတမ်းၵၢၼ်​ႁေႉတတ်း", "sp-contributions-suppresslog": "လွင်ႈၶဝ်ႈႁူမ်ႈ {{GENDER:$1|ၽူႈၸႂ်ႉတိုဝ်း}} ဢၼ်ႁူမ်ႇလပ်ႉဝႆႉ", @@ -1868,6 +1879,7 @@ "ipb_hide_invalid": "ဢမ်ႇၸၢင်ႈႁူမ်ႇလပ်ႉဝႆႉ ဢၶွင်ႉဢၼ်ၼႆႉ; မၼ်းမီးလိူဝ်ဝႆႉ {{PLURAL:$1|လွင်ႈမႄးထတ်း ဢၼ်ၼိုင်ႈ|$1 လွင်ႈမႄးထတ်းတင်းၼမ်}}။", "ipb_already_blocked": "\"$1\" ၼႆႉ ထုၵ်ႇ ႁႄႉတတ်းဝႆႉယဝ်ႉ။", "ipb-needreblock": "$1 ၼႆႉ ထုၵ်ႇႁႄႉတတ်းဝႆႉယဝ်ႉ။ ၸွင်ႇၸဝ်ႈၵဝ်ႇ ၶႂ်ႈလႅၵ်ႈလၢႆႈ ၵၼ်တင်ႈႁိုဝ်?", + "proxyblocker": "တူဝ်ႁႄႉတတ်း ပရၢဝ်ႇသီႇ", "ipbnounblockself": "ၸဝ်ႈၵဝ်ႇ ဢမ်ႇမီးသုၼ်ႇ တွၼ်ႈတႃႇ ပိုတ်ႇသေႃးၶိုၼ်းတႃႇၸဝ်ႈၵဝ်ႇ။", "lockdb": "ၶတ်းယွင်ၶေႃႈမုၼ်း", "unlockdb": "ပိုတ်ႇသေႃး ယွင်ၶေႃႈမုၼ်း", @@ -2069,6 +2081,7 @@ "lastmodifiedatby": "ၼႃႈလိၵ်ႈဢၼ်ၼႆႉ ထုၵ်ႇ $3 ၵေႃႉမူၼ်ႉမႄးဝႆႉမိူဝ်ႈ $2, $1။", "spam_reverting": "လွင်ႈပိၼ်ႈၶိုၼ်း လွင်ႈၶူၼ်ႉၶႆႈ ၵမ်းလိုၼ်းသုတ်းၼၼ်ႉ မၼ်းဢမ်ႇၶဝ်ႈပႃးဝႆႉ ႁဵင်းၵွင်ႉ ဢၼ်ၵွင်ႉၸူး $1", "simpleantispam-label": "ၵူတ်ႇထတ်း Anti-spam.\nယႃႇပေထႅမ်ဢၼ်ၼႆႉသႂ်ႇ!", + "pageinfo-title": "လွၼ်ႉၶၢဝ်ႇ တွၼ်ႈတႃႇ \"$1\"", "pageinfo-header-basic": "�လွၼ်ႉၶၢဝ်ႈ ပိုၼ်ႉထၢၼ်", "pageinfo-header-edits": "ပိုၼ်းမႄးထတ်း", "pageinfo-header-restrictions": "လွင်ႈႁႄႉၵင်ႈၼႃႈလိၵ်ႈ", @@ -2081,11 +2094,14 @@ "pageinfo-language-change": "လႅၵ်ႈလၢႆႈ", "pageinfo-content-model": "ပိူင်ၵေႃႇသၢင်ႈ လမ်းၼႂ်း ၼႃႈလိၵ်ႈ", "pageinfo-content-model-change": "လႅၵ်ႈလၢႆႈ", + "pageinfo-robot-policy": "လွင်ႈ ၶိူင်ႈၸၢၵ်ႈၵေႃႉ ၸီႉၼႄပၼ်", "pageinfo-robot-index": "ၶႂၢင်းပၼ်ဝႆႉ", "pageinfo-robot-noindex": "ဢမ်ႇၶႂၢင်းပၼ်ဝႆႉ", "pageinfo-watchers": "တၢင်းၼမ် ၽူႈတူၺ်းၼႃႈလိၵ်ႈ", "pageinfo-visiting-watchers": "တၢင်းၼမ်ၽူႈၶဝ်ႈတူၺ်း ၼႃႈလိၵ်ႈ ၵေႃႉဢၼ် တိုၵ်ႉႁႃၶဝ်ႈဢႅဝ်တီႈ လွင်ႈမႄးထတ်း ၸိူဝ်းပႆႇပေႃးႁိုင်", "pageinfo-few-watchers": "ဢေႇလိူဝ်သေ $1 {{PLURAL:$1|ၽူႈၶဝ်ႈတူၺ်း}}", + "pageinfo-redirects-name": "တၢင်းၼမ် လွင်ႈပိၼ်ႇၽၢႆႇ ၸူး ၼႃႈလိၵ်ႈဢၼ်ၼႆႉ", + "pageinfo-subpages-name": "တၢင်းၼမ် ၼႃႈလိၵ်ႈၽႄ ၶွင်ႈၼႃႈလိၵ်ႈဢၼ်ၼႆႉ", "pageinfo-firstuser": "ၽူႈၵေႃႇသၢင်ႈ ၼႃႈလိၵ်ႈ", "pageinfo-firsttime": "ဝၼ်းထီႉ လွင်ႈၵေႃႇသၢင်ႈ ၼႃႈလိၵ်ႈ", "pageinfo-lastuser": "ၽူႈမႄးထတ်း ၵေႃႉလိုၼ်းသုတ်း", @@ -2094,7 +2110,9 @@ "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) ဢၼ်ႁဵတ်းဝႆႉ Transclude", "pageinfo-toolboxlink": "လွၼ်ႉၶၢဝ်ႇၼႃႈလိၵ်ႈ", "pageinfo-redirectsto": "ဝိၼ်ႇၵႂႃႇၸူး", "pageinfo-redirectsto-info": "လွၼ်ႉၶၢဝ်ႇ", @@ -2112,8 +2130,10 @@ "markaspatrolleddiff": "မၢႆဝႆႉၼင်ႇ ပႂ်ႉယၢမ်း", "markaspatrolledtext": "မၢႆဝႆႉၼႃႈလိၵ်ႈၼင်ႇ ပႂ်ႉယၢမ်း", "markedaspatrolled": "မၢႆဝႆႉၼင်ႇ ပႂ်ႉယၢမ်း", + "patrol-log-page": "သဵၼ်ႈမၢႆ လွင်ႈပႂ်ႉၵူတ်ႇထတ်း", "previousdiff": "ၵၢၼ်မႄးထတ်း ဢၼ်ၵဝ်ႇ", "nextdiff": "ထတ်းသၢင်ႈဢၼ်မႂ်ႇမႂ်ႇ", + "widthheightpage": "$1 × $2, $3 {{PLURAL:$3|ၼႃႈလိၵ်ႈ|ၼႃႈလိၵ်ႈ။}}", "file-info-size": "$1 × $2 pixels, တၢင်းလဵၵ်ႉတၢင်းယႂ်ႇ ၾၢႆႇ: $3, ယိူင်ႈ MIME: $4", "file-info-size-pages": "$1 × $2 pixels, သႅၼ်းၾၢႆႇ: $3, ၸုပ်ႈ MIME: $4, $5 {{PLURAL:$5|ၼႃႈ|ၼႃႈ(ၼမ်)}}", "file-nohires": "ဢမ်ႇမီး ဢၼ်ႁႅင်းၸိုၼ်ႈသႂ်ႇမၼ်း သုင်သုင်", @@ -2197,16 +2217,35 @@ "version-extensions": "သၢႆလင် ၸိူဝ်းဢူၼ်းသႂ်ႇဝႆႉ�", "version-skins": "ၽိဝ်ၼင် ၸိူဝ်းဢူၼ်းသႂ်ႇဝႆႉ�", "version-specialpages": "�ၼႃႈလိၵ်ႈ ၶိုၵ်ႉတွၼ်း", + "redirect": "ၶိုၼ်းပိၼ်ႇၽၢႆ ၼင်ႇ ၾၢႆႇ၊ ၽူႈၸႂ်ႉတိုဝ်း၊ ၼႃႈလိၵ်ႈ၊ လွင်ႈမႄးၶိုၼ်း ဢမ်ႇၼၼ် မၢႆၽၢင် သဵၼ်ႈမၢႆ", + "redirect-submit": "သိုပ်ႇၵႂႃႇ", + "redirect-lookup": "ပိုတ်ႇတူၺ်း:", + "redirect-value": "ၵႃႈၶၼ်:", + "redirect-user": "ၽၢႆၽၢင် ၽူႈၸႂ်ႉတိုဝ်း", + "redirect-page": "မၢႆၽၢင် ၼႃႈလိၵ်ႈ", + "redirect-revision": "လွင်ႈမႄးၶိုၼ်းၼႃႈလိၵ်ႈ", + "redirect-file": "ၸိုဝ်ႈၾၢႆႇ", "specialpages": "ၼႃႈလိၵ်ႈ ၶိုၵ်ႉတွၼ်း", "tag-filter": "ၶတ်းလိူၵ်ႈဢဝ်[[Special:Tags|Tag]]:", "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Tag|Tags}}]]: $2)", + "tags-active-yes": "ၸႂ်ႈယဝ်ႉ", + "tags-active-no": "ဢမ်ႇ", + "tags-hitcount": "$1 {{PLURAL:$1|လႅၵ်ႈလၢႆႈ|ၸိူဝ်းလႅၵ်ႈလၢႆႈ}}", "logentry-delete-delete": "$1 {{GENDER:$2|မွတ်ႇယဝ်ႉ}} ၼႃႈလိၵ်ႈ $3", "logentry-delete-restore": "$1 {{GENDER:$2|ဢဝ်ၶိုၼ်း}} ၼႃႈလိၵ်ႈ $3 ($4)", + "logentry-delete-revision": "$1 {{GENDER:$2|လႅၵ်ႈလၢႆႈဝႆႉ}} လွင်ႈႁၼ်လႆႈၶွင် {{PLURAL:$5|လွင်ႈၶူၼ်ႉမႄးၶိုၼ်း|$5 လွင်ႈၶူၼ်ႉမႄးၶိုၼ်း}} တီႈၼိူဝ် ၼႃႈလိၵ်ႈ $3: $4", + "revdelete-content-hid": "လမ်းၼႂ်း ဢၼ်သိူင်ႇဝႆႉ", "logentry-move-move": "$1 {{GENDER:$2|ၶၢႆႉယဝ်ႉ}} ၼႃႈလိၵ်ႈ $3 တေႃႇ $4", + "logentry-move-move-noredirect": "ဢမ်ႇဢွၵ်ႇယၢၼ် လွင်ႈပိၼ်ႇၽၢႆႇေသ $1 {{GENDER:$2|ၶၢႆႉဝႆႉ}} ၼႃႈလိၵ်ႈ $3 တေႃႇ $4", + "logentry-move-move_redir": "တၢင်ႇၼိူဝ် လွင်ႈပိၼ်ႇၽၢႆႇ သေ $1 {{GENDER:$2|ၶၢႆႉ}} ၼႃႈလိၵ်ႈ $3 တေႃႇ $4", "logentry-newusers-create": "ဢၶွင်ႉၽူႈၸႂ်ႉတိုဝ်း $1 ၼႆႉ လႆႈ {{GENDER:$2|ၵေႃႇသၢင်ႈယဝ်ႉ}}", + "logentry-newusers-autocreate": "ဢၶွင်ႉ ၽူႈၸႂ်ႉတိုဝ်း $1 ၼႆႉ ထုၵ်ႇ {{GENDER:$2|ၵေႃႇသၢင်ႈၵႂႃႇ}} ႁင်းမၼ်းယဝ်ႉ။", "logentry-upload-upload": "$1 {{GENDER:$2|လူတ်ႇၶိုၼ်ႈၵႂႃႇယဝ်ႉ}} $3", + "logentry-upload-overwrite": "$1 {{GENDER:$2|လူတ်ႇၶိုၼ်ႈဝႆႉ}} မၢႆဢွၵ်ႇဢၼ်မႂ်ႇ ၶွင် $3", "searchsuggest-search": "ၶူၼ်ႉႁႃ {{SITENAME}}", + "duration-days": "$1 {{PLURAL:$1|ဝၼ်း|ဝၼ်း။}}", "mw-widgets-dateinput-no-date": "ပႆႇလိူၵ်ႈဝၼ်းယၢမ်း", + "randomrootpage": "ၼႃႈလိၵ်ႈငဝ်ႈႁၢၵ်ႈ ၵမ်ႉသၢင်ႇတေႃႇ", "revid": "ၶူၼ်ႉၶႆႈ $1", "pageid": "မၢႆၽၢင် ၽိုၼ်လိၵ်ႈ $1" } diff --git a/languages/i18n/sk.json b/languages/i18n/sk.json index 9daccbb295..0dd4975807 100644 --- a/languages/i18n/sk.json +++ b/languages/i18n/sk.json @@ -717,7 +717,8 @@ "permissionserrorstext": "Na to nemáte povolenie z {{PLURAL:$1|nasledujúceho dôvodu|nasledujúcich dôvodov}}:", "permissionserrorstext-withaction": "Nemáte oprávnenie $2 z {{PLURAL:$1|nasledovného dôvodu|nasledovných dôvodov}}:", "recreate-moveddeleted-warn": "'''Upozornenie: Opätovne vytvárate stránku, ktorá bola predtým zmazaná.'''\n\nMali by ste zvážiť, či je vhodné pokračovať v úpravách tejto stránky.\nĎalšie informácie si môžete pozrieť v zázname zmazaní a presunutí:", - "moveddeleted-notice": "Táto stránka bola zmazaná.\nĎalšie informácie si môžete pozrieť v zázname zmazaní a presunutí.", + "moveddeleted-notice": "Táto stránka bola zmazaná.\nĎalšie informácie si môžete pozrieť v zázname zmazaní, zamknutí a presunutí.", + "moveddeleted-notice-recent": "Ospravedlňujeme sa, ale táto stránka bola zmazaná (počas posledným 24 hodín).\nĎalšie informácie si môžete pozrieť v zázname zmazaní, zamknutí a presunutí.", "log-fulllog": "Zobraziť úplný záznam", "edit-hook-aborted": "Úpravu zrušila prídavná funkcia (prípojný bod syntaktického analyzátora).\nNeudala vysvetlenie.", "edit-gone-missing": "Nebolo možné aktualizovať stránku.\nZdá sa, že bola zmazaná.", @@ -3147,8 +3148,8 @@ "version-libraries-license": "Licencia", "version-libraries-description": "Popis", "version-libraries-authors": "Autori", - "redirect": "Presmerovanie podľa súboru, používateľa alebo ID revízie", - "redirect-summary": "Táto špeciálna stránka presmerováva na súbor (podľa názvu), stránku (podľa ID stránky alebo revízie) alebo používateľa (podľa číselného ID). Použitie: [[{{#Special:Redirect}}/file/Test.jpg]], [[{{#Special:Redirect}}/revision/328429]], resp. [[{{#Special:Redirect}}/user/101]].", + "redirect": "Presmerovanie podľa súboru, používateľa, ID revízie alebo ID protokolového záznamu.", + "redirect-summary": "Táto špeciálna stránka presmerováva na súbor (podľa názvu), stránku (podľa ID stránky alebo revízie), používateľa (podľa číselného ID) alebo protokolový záznam (podľa ID záznamu). Použitie: [[{{#Special:Redirect}}/file/Test.jpg]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], resp. [[{{#Special:Redirect}}/logid/186]].", "redirect-submit": "Ísť", "redirect-lookup": "Vyhľadať:", "redirect-value": "Hodnota:", @@ -3168,7 +3169,6 @@ "fileduplicatesearch-noresults": "Súbor s názvom „$1“ nebol nájdený.", "specialpages": "Špeciálne stránky", "specialpages-note-top": "Legenda", - "specialpages-note": "* Bežné špeciálne stránky.\n* Špeciálne stránky s obmedzeným prístupom.", "specialpages-group-maintenance": "Údržbové správy", "specialpages-group-other": "Iné špeciálne stránky", "specialpages-group-login": "Prihlásenie / registrácia", @@ -3241,6 +3241,7 @@ "compare-invalid-title": "Názov, ktorý ste zadali nie je platný.", "compare-title-not-exists": "Názov, ktorý ste zadali neexistuje.", "compare-revision-not-exists": "Revízia, ktorú ste zadali, neexistuje.", + "diff-form": "'''formulár'''", "dberr-problems": "Prepáčte! Táto stránka má práve technické problémy.", "dberr-again": "Skúste niekoľko minút počkať a potom opäť načítať stránku.", "dberr-info": "(Spojenie s databázovým serverom neúspešné: $1)", @@ -3269,7 +3270,7 @@ "htmlform-datetime-placeholder": "RRRR-MM-DD HH:MM:SS", "logentry-delete-delete": "$1 zmazal stránku $3", "logentry-delete-delete_redir": "$1 {{GENDER:$2|zmazal|zmazala}} presunom presmerovanie $3", - "logentry-delete-restore": "$1 obnovil stránku $3", + "logentry-delete-restore": "$1 {{GENDER:$2|obnovil|obnovila}} stránku $3 ($4)", "logentry-delete-event": "$1 zmenil viditeľnosť {{PLURAL:$5|záznamu udalostí|$5 záznamov udalostí}} k stránke $3: $4", "logentry-delete-revision": "$1 {{GENDER:$2|zmenil|zmenila}} viditeľnosť {{PLURAL:$5|revízie|$5 revízií}} na stránke $3: $4", "logentry-delete-event-legacy": "$1 {{GENDER:$2|zmenil|zmenila}} viditeľnosť záznamov udalostí k stránke $3", @@ -3313,6 +3314,7 @@ "logentry-rights-rights-legacy": "$1 zmenil členstvo $3 v skupinách", "logentry-rights-autopromote": "$1 bol automaticky povýšený z $4 na $5", "logentry-upload-upload": "$1 {{GENDER:$2|pridal|pridala}} $3", + "logentry-upload-overwrite": "$1 {{GENDER:$2|nahral|nahrala}} novú verziu $3", "log-name-managetags": "Záznam správy značiek", "log-description-managetags": "Táto stránka obsahuje zoznam správcovských úkonov týkajúcich sa [[Special:Tags|značiek]]. Záznam obsahuje len akcie, zrealizované manuálne správcom. Značky môže vytvárať a mazať aj priamo softvér wiki, bez zmienky v tomto zázname.", "log-name-tag": "Záznam značiek", diff --git a/languages/i18n/skr-arab.json b/languages/i18n/skr-arab.json index 771dee7982..399e920703 100644 --- a/languages/i18n/skr-arab.json +++ b/languages/i18n/skr-arab.json @@ -283,6 +283,7 @@ "loginlanguagelabel": "زبان: $1", "pt-login": "لاگ ان تھیوو", "pt-login-button": "لاگ ان تھیوو", + "pt-login-continue-button": "لاگ ان جاری رکھو", "pt-createaccount": "کھاتہ کھولو", "pt-userlogout": "لاگ آؤٹ", "changepassword": "پاس ورڈ تبدیل کرو", @@ -495,6 +496,7 @@ "prefs-advancedsearchoptions": "اعلیٰ اختیارات", "prefs-advancedwatchlist": "اعلیٰ اختیارات", "prefs-tokenwatchlist": "ٹوکن", + "prefs-diffs": "فرق", "userrights-reason": "سبب:", "userrights-expiry": "مُکسی:", "userrights-expiry-othertime": "ٻیا ویلا:", @@ -519,6 +521,8 @@ "action-edit": "ایں ورقے تے لکھو", "action-createpage": "ایہ ورقہ بݨاؤ", "action-createaccount": "ایہ ورتݨ آلا کھاتہ کھولو", + "action-move": "ایہ ورقہ ٹورو", + "action-movefile": "ایہ فائل ٹورو", "action-delete": "ایہ ورقہ مٹاؤ", "action-sendemail": "ای میلاں بھیجو", "enhancedrc-history": "پچھلا کم", @@ -542,6 +546,7 @@ "rcfilters-savedqueries-unsetdefault": "ݙیفالٹ توں ہٹاؤ", "rcfilters-savedqueries-remove": "مٹاؤ", "rcfilters-savedqueries-new-name-label": "ناں", + "rcfilters-savedqueries-apply-label": "نتارا بݨاؤ", "rcfilters-savedqueries-cancel-label": "منسوخ", "rcfilters-filterlist-title": "نتارے", "rcfilters-highlightmenu-title": "رنگ چݨو", diff --git a/languages/i18n/sl.json b/languages/i18n/sl.json index ee02e086c7..0844073e43 100644 --- a/languages/i18n/sl.json +++ b/languages/i18n/sl.json @@ -3481,6 +3481,13 @@ "compare-invalid-title": "Navedeni naslov ni veljaven.", "compare-title-not-exists": "Navedeni naslov ne obstaja.", "compare-revision-not-exists": "Navedena redakcija ne obstaja.", + "diff-form": "Razlike", + "diff-form-oldid": "ID stare redakcije (izbirno)", + "diff-form-revid": "ID redakcije razlike", + "diff-form-submit": "Prikaži razlike", + "permanentlink": "Trajna povezava", + "permanentlink-revid": "ID redakcije", + "permanentlink-submit": "Pojdi na redakcijo", "dberr-problems": "Oprostite! Ta stran se sooča s tehničnimi težavami.", "dberr-again": "Poskusite počakati nekaj minut in ponovno naložite stran.", "dberr-info": "(Ne morem dostopati do zbirke podatkov: $1)", diff --git a/languages/i18n/sq.json b/languages/i18n/sq.json index 3c2245fa7d..1cbcf69ae5 100644 --- a/languages/i18n/sq.json +++ b/languages/i18n/sq.json @@ -3245,6 +3245,7 @@ "compare-invalid-title": "Titulli që keni specifikuar është i pavlefshëm", "compare-title-not-exists": "Titulli që keni specifikuar nuk ekziston.", "compare-revision-not-exists": "Rishikimi që ju specifikuat nuk ekziston", + "diff-form": "'''formë'''", "dberr-problems": "Na vjen keq! Kjo faqe po has vështirësi teknike.", "dberr-again": "Pritni disa minuta dhe provoni të ringarkoni faqen.", "dberr-info": "(Nuk mund të qaset në bazën e të dhënave: $1)", diff --git a/languages/i18n/sr-ec.json b/languages/i18n/sr-ec.json index 35558df587..4a121f7a57 100644 --- a/languages/i18n/sr-ec.json +++ b/languages/i18n/sr-ec.json @@ -3375,6 +3375,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/sr-el.json b/languages/i18n/sr-el.json index 20b1593c80..d612734f46 100644 --- a/languages/i18n/sr-el.json +++ b/languages/i18n/sr-el.json @@ -3237,6 +3237,7 @@ "compare-invalid-title": "Navedeni naslov je neispravan.", "compare-title-not-exists": "Navedeni naslov ne postoji.", "compare-revision-not-exists": "Navedena izmena ne postoji.", + "diff-form": "'''forma'''", "dberr-problems": "Došlo je do tehničkih problema.", "dberr-again": "Sačekajte nekoliko minuta i ponovo učitajte stranicu.", "dberr-info": "(Ne mogu pristupiti bazi podataka: $1)", diff --git a/languages/i18n/sv.json b/languages/i18n/sv.json index 57700f421c..aed3d98543 100644 --- a/languages/i18n/sv.json +++ b/languages/i18n/sv.json @@ -3554,6 +3554,7 @@ "compare-invalid-title": "Titeln du angav är ogiltig.", "compare-title-not-exists": "Titeln du angav finns inte.", "compare-revision-not-exists": "Versionen du angav finns inte.", + "diff-form": "ett '''formulär'''", "dberr-problems": "Ursäkta! Denna sajt har just nu tekniska problem.", "dberr-again": "Pröva med att vänta några minuter och ladda om.", "dberr-info": "(Kan inte komma åt databasen: $1)", diff --git a/languages/i18n/te.json b/languages/i18n/te.json index 290f675b6e..547c09c643 100644 --- a/languages/i18n/te.json +++ b/languages/i18n/te.json @@ -3141,6 +3141,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/th.json b/languages/i18n/th.json index 24bb2a15a2..ad083e9023 100644 --- a/languages/i18n/th.json +++ b/languages/i18n/th.json @@ -3077,6 +3077,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/tr.json b/languages/i18n/tr.json index 2c8591e962..aad07df838 100644 --- a/languages/i18n/tr.json +++ b/languages/i18n/tr.json @@ -3361,6 +3361,7 @@ "compare-invalid-title": "Belirttiğiniz başlık geçersiz.", "compare-title-not-exists": "Belirttiğiniz başlık mevcut değil.", "compare-revision-not-exists": "Belirttiğiniz sürüm mevcut değil.", + "diff-form": "bir '''form'''", "dberr-problems": "Üzgünüz! Bu site teknik zorluklar yaşıyor.", "dberr-again": "Bir kaç dakika bekleyip tekrar yüklemeyi deneyin.", "dberr-info": "(Veritabanı sunucusuyla irtibat kurulamıyor: $1)", diff --git a/languages/i18n/ug-arab.json b/languages/i18n/ug-arab.json index d942cd8811..e8ba64732c 100644 --- a/languages/i18n/ug-arab.json +++ b/languages/i18n/ug-arab.json @@ -12,15 +12,17 @@ "아라", "Macofe", "Matma Rex", - "Amire80" + "Amire80", + "Uzdil" ] }, "tog-underline": "ئۇلانما ئاستى سىزىقى:", - "tog-hideminor": "يېقىنقى ئۆزگەرتىشتە ئازراقلا تەھرىرنى يوشۇر", - "tog-hidepatrolled": "يېقىنقى ئۆزگەرتىشتە كۆزەتكەن تەھرىرنى يوشۇر", - "tog-newpageshidepatrolled": "يېڭى بەت تىزىملىكىدە كۆزەتكەن تەھرىرنى يوشۇر", - "tog-extendwatchlist": "كۈچەيتىلگەن كۆزەت تىزىملىكىدە يېقىنقى ئۆزگەرتىشنىلا كۆرسەتمەي بەلكى ھەممە ئۆزگەرتىشنى كۆرسەت", - "tog-usenewrc": "يېقىنقى ئۆزگەرتىش ۋە كۆزەت تىزىملىلىگىدىكى بەتلەر ئۆزگىرىشىگە ئاساسەن گۇرۇپپىلا", + "tog-hideminor": "يېقىنقى ئۆزگەرتىشىكى كىچىك تەھرىرلەشنى يوشۇرۇش", + "tog-hidepatrolled": "يېقىنقى ئۆزگەرتىشتە تەكشۈرۈلگەن تەھرىرلەشنى يوشۇرۇش", + "tog-newpageshidepatrolled": "يېڭى بەت تىزىملىكىدە كۆزەتكەن تەھرىرنى يوشۇرۇش", + "tog-hidecategorization": "بەت تۈرىنى يوشۇرۇش", + "tog-extendwatchlist": "كۆزىتىش تىزىملىكىدە يېقىنقى ئۆزگەرتىشنىلا كۆرسەتمەي بەلكى ھەممە ئۆزگەرتىشنى كۆرسىتىش", + "tog-usenewrc": "يېقىنقى ئۆزگەرتىش ۋە كۆزەت تىزىملىلىگىدىكى بەتلەر ئۆزگىرىشىگە ئاساسەن گۇرۇپپىلاش", "tog-numberheadings": "ماۋزۇغا ئۆزلۈكىدىن تەرتىپ نومۇرى قوش", "tog-showtoolbar": "تەھرىر قورال بالداقنى كۆرسەت", "tog-editondblclick": "قوش چەككەندە بەت تەھرىرلە", @@ -29,6 +31,8 @@ "tog-watchdefault": "مەن تەھرىرلىگەن بەت ۋە ھۆججەتنى كۆزەت تىزىملىكىمگە قوش", "tog-watchmoves": "مەن يۆتكىگەن بەت ۋە ھۆججەتنى كۆزەت تىزىملىكىمگە قوش", "tog-watchdeletion": "مەن ئۆچۈرگەن بەت ۋە ھۆججەتنى كۆزەت تىزىملىكىمگە قوش", + "tog-watchuploads": "يوللىغان يېڭى ھۆججەتلىرىمنى نازارەت تىزىملىكىگە قوشىمەن", + "tog-watchrollback": "قايتقان بەتلەرنى نازارەت تىزىملىكىمگە قوشىمەن", "tog-minordefault": "ھەممە تەھرىرلەشنى ئازراقلا تەھرىرگە تەڭشە", "tog-previewontop": "تەھرىر رامكىسىنىڭ ئۈستىدە ئالدىن كۆزىتىشنى كۆرسەت", "tog-previewonfirst": "تۇنجى قېتىم تەھرىرلىگەندە ئالدىن كۆزىتىشنى كۆرسەت", @@ -39,20 +43,21 @@ "tog-shownumberswatching": "بۇ بەتنى كۆزىتىۋاتقان ئىشلەتكۈچى سانىنى كۆرسەت", "tog-oldsig": "نۆۋەتتىكى ئىمزا:", "tog-fancysig": "ئىمزاغا wiki تېكستى سۈپىتىدە مۇئامىلە قىل (ئۆزلۈكىدىن ئۇلانما ھاسىل بولمايدۇ)", - "tog-uselivepreview": "جانلىق ئالدىن كۆزىتىشنى ئىشلەت (سىناق)", + "tog-uselivepreview": "بەتنى قاچىلىماي تۇرۇپ ئالدىن كۆرۈشنى كۆرسىتىش", "tog-forceeditsummary": "ئۈزۈندە كىرگۈزمىگەندە مېنى ئەسكەرت", - "tog-watchlisthideown": "كۆزەت تىزىملىكىدىن مېنىڭ تەھرىرلىگىنىمنى يوشۇر", - "tog-watchlisthidebots": "كۆزەت تىزىملىكىدىن ماشىنا ئادەم تەھرىرلىگەننى يوشۇر", - "tog-watchlisthideminor": "كۆزەت تىزىملىكىدىن ئازراقلا تەھرىرلىگەننى يوشۇر", - "tog-watchlisthideliu": "كۆزەت تىزىملىكىدە تىزىمغا كىرگەن ئىشلەتكۈچىلەرنى يوشۇر", - "tog-watchlisthideanons": "كۆزەت تىزىملىكىدە ئىمزاسىز ئىشلەتكۈچىلەرنى يوشۇر", - "tog-watchlisthidepatrolled": "كۆزەت تىزىملىكىدىن كۆزىتىلگەن تەھرىرنى يوشۇر", + "tog-watchlisthideown": "كۆزىتىش تىزىملىكىدىن تەھرىرلىگىنىمنى يوشۇرىمەن", + "tog-watchlisthidebots": "كۆزىتىش تىزىملىكىدىن ماشىنا ئادەم تەھرىرلىگەننى يوشۇرۇش", + "tog-watchlisthideminor": "كۆزىتىش تىزىملىكىدىن ئازراقلا تەھرىرلىگەننى يوشۇرۇش", + "tog-watchlisthideliu": "كۆزىتىش تىزىملىكىدە تىزىمغا كىرگەن ئىشلەتكۈچىلەرنىڭ تەھرىرىنى يوشۇرۇش", + "tog-watchlisthideanons": "كۆزەت تىزىملىكىدە ئىمزاسىز ئابونتلارنى يوشۇرۇش", + "tog-watchlisthidepatrolled": "كۆزىتىش تىزىملىكىدىن كۆزىتىلگەن تەھرىرنى يوشۇرۇش", + "tog-watchlisthidecategorization": "بەت تۈرىنى يوشۇرۇش", "tog-ccmeonemails": "مەن باشقىلارغا يوللىغان ئېلخەتنى ئۆزەمگىمۇ بىر نۇسخا يوللا", "tog-diffonly": "تۈزىتىلگەن ئىككى نەشرىنىڭ پەرقىنى سېلىشتۇرغاندا بەت مەزمۇنىنى كۆرسەتمە", "tog-showhiddencats": "يوشۇرۇن تۈرلەرنى كۆرسەت", "tog-norollbackdiff": "قايتۇرۇشنى ئىجرا قىلغاندىن كېيىن پەرقنى كۆرسەتمە", "tog-useeditwarning": "بىر تەھرىرلىگەن بەتنى ساقلىماي چېكىنگەندە مېنى ئەسكەرت", - "tog-prefershttps": "تىزىمغا كىرگەندە دائىم بىخەتەر ئۇلىنىشنى ئىشلەت", + "tog-prefershttps": "تىزىمغا كىرگەندە دائىم بىخەتەر ئۇلىنىشنى ئىشلىتىمەن", "underline-always": "دائىم", "underline-never": "ھەرگىز", "underline-default": "تېرە ياكى توركۆرگۈ كۆڭۈلدىكىسى", @@ -123,6 +128,8 @@ "october-date": "$1- ئۆكتەبىر", "november-date": "$1- نويابىر", "december-date": "$1- دىكابىر", + "period-am": "چۈشتىن بۇرۇن", + "period-pm": "چۈشتىن كېيىن", "pagecategories": "{{PLURAL:$1|تۈر|تۈرلەر}}", "category_header": "\"$1\" تۈردىكى بەتلەر", "subcategories": "تارماق تۈر", @@ -149,16 +156,10 @@ "morenotlisted": "بۇ تىزىملىك تولۇق ئەمەس.", "mypage": "بەت", "mytalk": "مۇنازىرە بېتىم", - "anontalk": "بۇ IP نىڭ مۇنازىرە بېتى", + "anontalk": "مۇنازىرە", "navigation": "يولباشچى", "and": " ۋە", - "qbfind": "ئىزدە:", - "qbbrowse": "كۆز يۈگۈرت", - "qbedit": "تەھرىر", - "qbpageoptions": "بۇ بەت", - "qbmyoptions": "بەتلەرىم", "faq": "كۆپ كۆرۈلىدىغان مەسىلىلەر", - "faqpage": "Project:كۆپ كۆرۈلىدىغان مەسىلىلەر", "actions": "مەشغۇلات", "namespaces": "ئات بوشلۇقى", "variants": "ۋارىيانتلار", @@ -169,40 +170,35 @@ "help": "ياردەم", "search": "ئىزدە", "searchbutton": "ئىزدە", - "go": "يۆتكەل", - "searcharticle": "يۆتكەل", + "go": "يۆتكىلىش", + "searcharticle": "يۆتكىلىش", "history": "بەتنىڭ تارىخى", "history_short": "تارىخ", + "history_small": "تارىخ", "updatedmarker": "مەن ئالدىنقى قېتىم زىيارەت قىلغاندىن بۇيانقى يېڭىلانغىنى", - "printableversion": "باسقىلى بولىدىغان نەشرى", + "printableversion": "باسما نۇسخىسى", "permalink": "مەڭگۈلۈك ئۇلانما", "print": "باس", "view": "كۆرۈنۈش", - "edit": "تەھرىر", + "view-foreign": "$1 دە كۆرۈش", + "edit": "تەھرىرلەش", + "edit-local": "يەرلىك ئىزاھاتنى تەھرىرلەش", "create": "قۇر", - "editthispage": "بۇ بەتنى تەھرىرلە", - "create-this-page": "بۇ بەتنى قۇر", + "create-local": "يەرلىك ئىزاھات قوشۇش", "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": "قۇرۇلۇش بېتىنى كۆرسەت", + "tool-link-userrights": "{{GENDER:$1|ئەزا}} گۇرۇپپىسىنى ئۆزگەرتىش", "imagepage": "ھۆججەت بېتىنى كۆرسەت", "mediawikipage": "ئۇچۇر بېتىنى كۆرسەت", "templatepage": "قېلىپ بېتىنى كۆرسەت", @@ -212,6 +208,7 @@ "otherlanguages": "باشقا تىلاردا", "redirectedfrom": "(قايتا نىشان بەلگىلەش ئورنى $1)", "redirectpagesub": "قايتا نىشان بەلگىلەنگەن بەت", + "redirectto": "قايتا نىشانلاش:", "lastmodifiedat": "بۇ بەتنى $1 ئاخىرقى قېتىم $2 دا ئۆزگەرتكەن.", "viewcount": "بۇ بەت {{PLURAL:$1|بىر قېتىم|$1 قېتىم}} زىيارەت قىلىندى.", "protectedpage": "قوغدالغان بەت", @@ -222,13 +219,14 @@ "pool-timeout": "قۇلۇپنى ساقلاش ۋاقىت ھالقىدى", "pool-queuefull": "قاچا ئۆچرىتى توشتى", "pool-errorunknown": "نامەلۇم خاتالىق", + "poolcounter-usage-error": "ئىشلىتىش خاتالىقى: $1", "aboutsite": "{{SITENAME}} ھەققىدە", "aboutpage": "Project:ھەققىدە", "copyright": "خاتىرىلەنگەندىن باشقا تېكست مەزمۇنى $1 ماددىسىغا ئاساسەن تەمىنلىنىدۇ.", "copyrightpage": "{{ns:project}}:نەشر ھوقۇقى", "currentevents": "نۆۋەتتىكى ھادىسە", "currentevents-url": "Project:نۆۋەتتىكى ھادىسە", - "disclaimers": "ئاگاھلاندۇرۇشلار", + "disclaimers": "ھوقۇق باياناتى", "disclaimerpage": "Project:ئومۇمىي ئاگاھلاندۇرۇش", "edithelp": "تەھرىرلەش ياردىمى", "mainpage": "باش بەت", @@ -254,17 +252,19 @@ "newmessageslinkplural": "{{PLURAL:$1|بىر يېڭى ئۇچۇر|999=يېڭى ئۇچۇرلار}}", "newmessagesdifflinkplural": "ئاخىرقى {{PLURAL:$1|ئۆزگەرتىش|999=ئۆزگەرتىشلەر}}", "youhavenewmessagesmulti": "$1 دە يېڭى ئۇچۇرىڭىز بار", - "editsection": "تەھرىر", - "editold": "تەھرىر", + "editsection": "تەھرىرلەش", + "editold": "تەھرىرلەش", "viewsourceold": "مەنبەنى كۆرسەت", - "editlink": "تەھرىر", + "editlink": "تەھرىرلەش", "viewsourcelink": "مەنبەنى كۆرسەت", - "editsectionhint": "ئابزاس تەھرىر: $1", + "editsectionhint": "ئابزاس تەھرىرلەش: $1", "toc": "مەزمۇنى", "showtoc": "كۆرسەت", - "hidetoc": "يوشۇر", - "collapsible-collapse": "ئابزاس ئايرىمىسى يوشۇر", + "hidetoc": "يوشۇرۇش", + "collapsible-collapse": "قاتلاش", "collapsible-expand": "ياي", + "confirmable-yes": "ھەئە", + "confirmable-no": "ياق", "thisisdeleted": "كۆرسەت ياكى ئەسلىگە كەلتۈر $1 ؟", "viewdeleted": "$1 كۆرسەت؟", "restorelink": "{{PLURAL:$1|بىر ئۆچۈرۈلگەن نەشرى|$1 ئۆچۈرۈلگەن نەشرى}}", @@ -334,7 +334,7 @@ "actionthrottled": "مەشغۇلات چەكلەندى", "actionthrottledtext": "ئەخلەتكە قارشى تۇرۇش ئۆلچىمىگە ئاساسەن، سىز بۇ بىر بۆلۈك قىسقا ۋاقىتتا بۇ مەشغۇلاتنى ئېلىپ بېرىشىڭىزنى چەكلىدى، ئەمما سىز بۇ چەكتىن ئېشىپ كەتتىڭىز.\n\nبىر قانچە مىنۇتتىن كېيىن قايتا سىناڭ.", "protectedpagetext": "بۇ بەت تەھرىرلەشنىڭ ئالدىنى ئېلىش ئۈچۈن قۇلۇپلانغان.", - "viewsourcetext": "سىز بۇ بەتنى ئەسلى كودىنى كۆرەلەيسىز ۋە كۆچۈرەلەيسىز:", + "viewsourcetext": "بۇ بەتنىڭ ئەسلى كودىنى كۆرەلەيسىز ۋە كۆچۈرەلەيسىز.", "viewyourtext": "بۇ بەتتىكى '''تەھرىرلىگەنلىرىڭىز'''نىڭ ئەسلى كودىنى كۆرۈپ كۆچۈرەلەيسىز.", "protectedinterface": "بۇ بەت يۇمشاق دېتالنىڭ كۆرۈنۈش تېكستىنى تەمىنلىگەن، خالىغانچە تەھرىرلەشتىن ساقلىنىش ئۈچۈن قۇلۇپلانغان.\nمەسىلەن ئەگەر تەرجىمە قىلسىڭىز [https://translatewiki.net/wiki/Main_Page?setlang=ug translatewiki.net] ئۇنداقتا MediaWiki يەرلىكلەشتۈرۈش پىلانىنى ئىشلىتىشنى ئويلىشىڭ.", "editinginterface": "'''ئاگاھلاندۇرۇش:''' سىز تەھرىرلەۋاتقان بەت يۇمشاق دېتالنىڭ كۆرۈنۈش تېكستىگە ئىشلىتىلىدۇ.\n\nبۇ بەت ئۆزگەرتىلسە باشقا ئىشلەتكۈچىلەرنىڭ كۆرۈنۈش ئۇسلۇبىغا تەسىر كۆرسىتىدۇ.\n\nمەسىلەن ئەگەر تەرجىمە قىلسىڭىز [https://translatewiki.net/wiki/Main_Page?setlang=ug translatewiki.net] ئۇنداقتا MediaWiki يەرلىكلەشتۈرۈش پىلانىنى ئىشلىتىشنى ئويلىشىڭ.", @@ -358,6 +358,7 @@ "virus-scanfailed": "تەكشۈرۈش مەغلۇپ بولدى (كودى $1)", "virus-unknownscanner": "نامەلۇم ۋىرۇسخور", "logouttext": "'''ھازىر تىزىمدىن چىقتىڭىز.'''\n\nدىققەت، بەزى بەتلەر توركۆرگۈنىڭ غەملىكى تازىلانمىغۇچە يەنىلا سىزنى تىزىمغا كىرگەن ھالەتتە كۆرسىتىشى مۇمكىن.", + "cannotlogoutnow-title": "ھازىر چېكىنگىلى بولمايدۇ", "welcomeuser": "$1، خۇش كەپسىز!", "welcomecreation-msg": "ھېساباتىڭىز قۇرۇلدى.\n\n[[Special:Preferences|{{SITENAME}} تەڭشىكىڭىزنى تەڭشەشنى ئۇنتۇپ قالماڭ]].", "yourname": "ئىشلەتكۈچى نامى:", @@ -373,18 +374,21 @@ "createacct-yourpasswordagain-ph": "پارولنى قايتا كىرگۈزۈڭ", "userlogin-remembermypassword": "مېنى ئەستە ساقلا", "userlogin-signwithsecure": "بىخەتەر ئۇلىنىشنى ئىشلەت", + "cannotloginnow-title": "ھازىر كىرگىلى بولمايدۇ", "yourdomainname": "دائىرە نامىڭىز:", "password-change-forbidden": "بۇ ۋىكىدىكى پارولنى ئۆزگەرتەلمەيسىز.", "externaldberror": "بۇ سانداننى دەلىللەش خاتالىقى ياكى سىرتقى ھېساباتىڭىزنى يېڭىلاشنى چەكلىگەنلىكتىن بولغان بولۇشى مۇمكىن.", "login": "تىزىمغا كىر", + "login-security": "سالاھيىتىڭىزنى جەزىملەشتۈرۈڭ", "nav-login-createaccount": "تىزىمغا كىر/ھېسابات قۇر", - "logout": "تىزىمدىن چىق", - "userlogout": "تىزىمدىن چىق", + "logout": "چېكىنىش", + "userlogout": "چېكىنىش", "notloggedin": "تىزىمغا كىرمىدى", "userlogin-noaccount": "ھېساباتىڭىز يوقمۇ؟", "userlogin-joinproject": "{{SITENAME}} قا ئەزا بولۇڭ", "createaccount": "ھېسابات قۇر", "userlogin-resetpassword-link": "پارولىڭىزنى ئۇنتۇپ قالدىڭىزمۇ؟", + "userlogin-helplink2": "كىرىشتىن ياردەم", "userlogin-loggedin": "سىز ئاللىقاچان {{GENDER:$1|$1}} ھالىتىدە تىزىمغا كىرىپ بولدىڭىز. تۆۋەندىكىلەرنى تولدۇرۇپ باشقا ئىشلەتكۈچى ھالىتىدە تىزىمغا كىرىڭ.", "userlogin-createanother": "باشقا ھېسابات قۇرىمەن", "createacct-emailrequired": "ئېلخەت ئادرېسى", @@ -396,7 +400,9 @@ "createacct-reason": "سەۋەبى", "createacct-reason-ph": "نېمىشقا باشقا ھېسابات قۇرماقچى بولدىڭىز", "createacct-submit": "ھېساباتىڭىزنى قۇرۇڭ", - "createacct-another-submit": "باشقا ھېسابات قۇرىمەن", + "createacct-another-submit": "ھېسابات قۇرۇش", + "createacct-continue-submit": "ئاككونت قۇرۇشنى داۋاملاشتۇرۇش", + "createacct-another-continue-submit": "ئاككونت قۇرۇشنى داۋاملاشتۇرۇش", "createacct-benefit-heading": "{{SITENAME}} سىزگە ئوخشاش كىشىلەر تەرىپىدىن قۇرۇلغان.", "createacct-benefit-body1": "{{PLURAL:$1|قېتىم}} تەھرىرلەنگەن", "createacct-benefit-body2": "{{PLURAL:$1|بەت}}", @@ -411,7 +417,7 @@ "nocookiesfornew": "ئىشلەتكۈچى ھېساباتى قۇرۇلمىدى، ئۇنىڭ مەنبەسىنى جەزملىيەلمەيمىز.\ncookies نى قوزغاتقانلىقىڭىزنى جەزملەڭ، بۇ بەتنى قايتا يۈكلەپ ئاندىن قايتا سىناڭ.", "nocookiesforlogin": "{{int:nocookieslogin}}", "noname": "سىز تېخى ئىناۋەتلىك ئىشلەتكۈچى نامىنى بەلگىلىمىدىڭىز.", - "loginsuccesstitle": "تىزىمغا كىرىش مۇۋەپپەقىيەتلىك", + "loginsuccesstitle": "تىزىمغا كىردىڭىز", "loginsuccess": "'''سىز {{SITENAME}} غا \"$1\" سالاھىيىتىدە كىردىڭىز.'''", "nosuchuser": "\"$1\" ناملىق ئىشلەتكۈچىنى تاپالمىدى.\nئىشلەتكۈچى نامىنى تەكشۈرۈڭ.\nياكى [[Special:CreateAccount|يېڭى ھېسابات قۇرۇڭ]].", "nosuchusershort": "\"$1\" ناملىق ئىشلەتكۈچى يوق.\nكىرگۈزگىنىڭىزنى تەكشۈرۈڭ.", @@ -450,12 +456,15 @@ "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 نىڭ mail() فونكسىيەسىدىكى يوچۇن خاتالىق", "user-mail-no-addy": "ئېلخەت ئادرېسسىز خەت يوللاشنى سىنىدى.", "user-mail-no-body": "بوش ياكى مەزمۇنى قىسقا مۇۋاپىق بولمىغان تورخەت ئەۋەتىشنى سىنىدى.", "changepassword": "پارولنى ئۆزگەرتىش", - "resetpass_announce": "سىز ۋاقىتلىق ئېلخەت جەزملەش كودىدا تىزىمغا كىرگەن.\nتىزىمغا كىرىشنى تاماملاشتا، بۇ جايدا يېڭى ئىم بەلگىلىشىڭىز لازىم:", + "resetpass_announce": "كىرىشنى تاماملاشتا، چوقۇم يېڭى پارول بەلگىلەيسىز.", "resetpass_text": "", "resetpass_header": "ھېسابات ئىمنى ئۆزگەرت", "oldpassword": "كونا پارول:", @@ -464,7 +473,22 @@ "resetpass_submit": "پارول بەلگىلەپ تىزىمغا كىرىڭ", "changepassword-success": "پارولىڭىز ئوڭۇشلۇق ئۆزگەرتىلدى!", "changepassword-throttled": "سىز بۇ ھېساباتتا تىزىمغا كىرىشنى كۆپ قېتىم سىنىدىڭىز.\n$1 ساقلاپ، ئاندىن قايتا سىناڭ.", + "botpasswords": "ماشىنا ئادەم پارولى", + "botpasswords-existing": "نۆۋەتتە بار ماشىنا ئادەم پارولى", + "botpasswords-createnew": "يېڭى ماشىنا ئادەم پارولى قۇرۇش", + "botpasswords-label-appid": "ماشىنا ئادەم نامى:", + "botpasswords-label-create": "قۇرۇش", + "botpasswords-label-update": "يېڭىلاش", + "botpasswords-label-cancel": "قالدۇرۇش", + "botpasswords-label-delete": "ئۆچۈرۈلگەن", + "botpasswords-label-resetpassword": "پارولنى ئەسلىگە قايتۇرماق", + "botpasswords-label-grants": "قوللىنىش ھوقۇقى:", + "botpasswords-label-grants-column": "ھوقۇقلۇق", + "botpasswords-created-title": "ماشىنا ئادەم پارولى قۇرۇلدى", + "botpasswords-updated-title": "ماشىنا ئادەم پارولى يېڭىلاندى", + "botpasswords-deleted-title": "ماشىنا ئادەم پارولى ئۆچۈرۈلدى", "resetpass_forbidden": "پارولنى ئۆزگەرتەلمىدى", + "resetpass_forbidden-reason": "پارولنى ئۆزگەرتەلمىدى: $1", "resetpass-no-info": "سىز تىزىمغا كىرگەندىن كېيىن بىۋاسىتە بۇ بەتكە كىرىشىڭىز لازىم.", "resetpass-submit-loggedin": "پارولنى ئۆزگەرتىش", "resetpass-submit-cancel": "ۋاز كەچ", @@ -484,6 +508,9 @@ "passwordreset-emailtext-user": "{{SITENAME}} دىكى ئىشلەتكۈچى $1 بېكەت {{SITENAME}} ($4) دىكى پارولىڭىزنى قايتا بېكىتىشنى ئىلتىماس قىلدى .\nتۆۋەندىكى ئىشلەتكۈچىنىڭ {{PLURAL:$3|ھېسابات|ھېسابات}}($4)ى مۇشۇ ئېلخەتكە باغلانغان:\n\n$2\n\n{{PLURAL:$3|بۇ ۋاقىتلىق پارول|بۇ ۋاقىتلىق پارول}} {{PLURAL:$5|بىر كۈن|$5 كۈن}}دە ۋاقتى ئۆتىدۇ. ئەگەر بۇ مەشغۇلاتنى سىز ئىلتىماس قىلغان بولسىڭىز، دەرھال تىزىمغا كىرىپ يېڭى پارولدىن بىرنى تاللاڭ.\nسىز بەلگىلىگەن يېڭى پارول {{PLURAL:$5|كۈن|$5 كۈن}}دە ۋاقتى توشىدۇ. ئەگەر باشقىلار ئىلتىماس قىلغان بولسا ياكى ئۆزىڭىز بەلگىلىگەن پارول ئېسىڭىزگە كېلىپ ئۇنى ئۆزگەرتمىسىڭىز، \nبۇ ئۇچۇرغا پەرۋا قىلماي ئۆزىڭىزنىڭ كونا پارولىنى ئىشلىتىۋېرىڭ.", "passwordreset-emailelement": "ئىشلەتكۈچى نامى: \n$1\n\nۋاقىتلىق پارول: \n$2", "passwordreset-emailsentemail": "پارولنى قايتا بېكىتىش ئېلخېتى يوللاندى.", + "passwordreset-nocaller": "چوقۇم بىر يۆتكەپ ئىشلەتكۈچى تەمىنلەڭ", + "passwordreset-nosuchcaller": "يۆتكەپ ئىشلەتكۈچى تەرەپ مەۋجۇت ئەمەس: $1", + "passwordreset-invalidemail": "ئىناۋەتسىز ئېلخەت ئادرېسى", "changeemail": "ئېلخەت ئادرېس ئۆزگەرت", "changeemail-header": "ھېساباتنىڭ ئېلخەت ئادرېسىنى ئۆزگەرت", "changeemail-no-info": "سىز تىزىمغا كىرگەندىن كېيىن بىۋاسىتە بۇ بەتكە كىرىشىڭىز لازىم.", @@ -520,10 +547,13 @@ "sig_tip": "ۋاقىت تامغىلىق ئىمزايىڭىز", "hr_tip": "توغرىسىغا سىزىق (ئېھتىيات بىلەن ئىشلىتىڭ)", "summary": "ئۈزۈندە", - "subject": "تېما/ماۋزۇ:", + "subject": "ماۋزۇ:", "minoredit": "بۇ ئازراقلا تەھرىرلەش", - "watchthis": "بۇ بەتنى كۆزەت", + "watchthis": "بۇ بەتنى كۆزىتىش", "savearticle": "بەت ساقلا", + "savechanges": "ئۆزگەرتىشنى ساقلاش", + "publishpage": "بەتنى ئېلان قىلىش", + "publishchanges": "يوللىغاننى ئۆزگەرتىش", "preview": "ئالدىن كۆزەت", "showpreview": "ئالدىن كۆزىتىشنى كۆرسەت", "showdiff": "ئۆزگەرتىشنى كۆرسەت", @@ -532,8 +562,8 @@ "missingsummary": "'''ئەسكەرتىش:''' سىز تەھرىرلەش ئۈزۈندىسى تەمىنلىمىدىڭىز. .\nئەگەر ساقلانى يەنە بىر قېتىم چەكسىڭىز، تەھرىرلىگىنىڭىزنى ئۈزۈندە يوق ھالەتتە ساقلايدۇ.", "missingcommenttext": "تۆۋەندە ئىزاھات كىرگۈزۈڭ.", "missingcommentheader": "'''ئەسكەرتىش:''' سىز ئىزاھاتقا ماۋزۇ تەمىنلىمىدىڭىز.\nئەگەر \"$1\"نى يەنە بىر قېتىم چەكسىڭىز، تەھرىرلىگىنىڭىزنى ماۋزۇسىز ھالەتتە ساقلايدۇ.", - "summary-preview": "ئۈزۈندە ئالدىن كۆزىتىش:", - "subject-preview": "تېما/ماۋزۇنى ئالدىن كۆزەت:", + "summary-preview": "ئۈزۈندىنى ئالدىن كۆزىتىش:", + "subject-preview": "ماۋزۇنى ئالدىن كۆرۈش:", "blockedtitle": "ئىشلەتكۈچى چەكلەنگەن", "blockedtext": "'''ئىشلەتكۈچى ئاتىڭىز ياكى IP ئادرېسىڭىزنى $1 چەكلىگەن .'''\n\n بۇنى $1 چەكلىگەن.\nسەۋەبى ''$2''.\n\n* چەكلەش باشلانغان ۋاقىت: $8\n* چەكلەش ئاخىرلىشىدىغان ۋاقىت: $6\n* چەكلەنگۈچى: $7\n\n $1 بىلەن ئالاقىلىشىڭ ياكى باشقا [[{{MediaWiki:Grouppage-sysop}}|باشقۇرغۇچى]] بىلەن بۇ قېتىملىق چەكلەشنى سۆزلىشىشڭ.\nسىز [[Special:Preferences|ھېسابات مايىللىقى]] تەڭشىكىڭىزدە ئىناۋەتلىك ئېلخەت ئادرېسى بەلگىلىمىگەن بولسىڭىز، 'بۇ ئىشلەتكۈچىگە ئېلخەت يوللا' ئىقتىدارىنى ئىشلىتەلمەيسىز. ئىناۋەتلىك ئېلخەتتىن بىرنى بەلگىلىگەندىن كېيىن، بۇ ئىقتىدار چەكلەنمەيدۇ.\nسىزنىڭ نۆۋەتتىكى IP ئادرېسىڭىز $3، چەكلەنگەن كىملىك #$5.\nسوئالىڭىزدا يۇقىرىقى بارلىق ماتېرىياللارنى ئىزاھلاڭ.", "autoblockedtext": "IP ئادرېسىڭىز ئاپتوماتىك چەكلەنگەن، چۈنكى ئىلگىرى باشقا بىر ئىشلەتكۈچىنى $1 چەكلىگەن.\nچەكلەش سەۋەبى:\n\n''$2''.\n\n* چەكلەش باشلانغان ۋاقىت: $8\n* چەكلەش ئاخىرلىشىدىغان ۋاقىت: $6\n* چەكلەنگۈچى: $7\n\n $1 بىلەن ئالاقىلىشىڭ ياكى باشقا [[{{MediaWiki:Grouppage-sysop}}|باشقۇرغۇچى]] بىلەن بۇ قېتىملىق چەكلەشنى سۆزلىشىشڭ.\nسىز [[Special:Preferences|ھېسابات مايىللىقى]] تەڭشىكىڭىزدە ئىناۋەتلىك ئېلخەت ئادرېسى بەلگىلىمىگەن بولسىڭىز، 'بۇ ئىشلەتكۈچىگە ئېلخەت يوللا' ئىقتىدارىنى ئىشلىتەلمەيسىز. ئىناۋەتلىك ئېلخەتتىن بىرنى بەلگىلىگەندىن كېيىن، بۇ ئىقتىدار چەكلەنمەيدۇ.\nسىزنىڭ نۆۋەتتىكى IP ئادرېسىڭىز $3، چەكلەنگەن كىملىك #$5.\nسوئالىڭىزدا يۇقىرىقى بارلىق ماتېرىياللارنى ئىزاھلاڭ.", @@ -567,7 +597,7 @@ "updated": "(يېڭىلاندى)", "note": "'''ئىزاھات:'''", "previewnote": "'''ئېسىڭىزدە بولسۇنكى بۇ پەقەتلا ئالدىن كۆزىتىش.'''\nئۆزگەرتكەن مەزمۇنىڭىز تېخى ساقلانمىدى!", - "continue-editing": "تەھرىرلەشكە يۆتكەل", + "continue-editing": "تەھرىرلەش رايونىغا كۆچۈش", "previewconflict": "بۇ ئالدىن كۆزىتىشتە ئۈستىدىكى تېكست تەھرىرلەش رايونىدىكى مەزمۇننى كۆرسەتتى. ئۇ ساقلانى تاللىغاندىن كېيىن كۆرۈنىدۇ.", "session_fail_preview": "'''كەچۈرۈڭ! سىزنىڭ جەريان سانلىق مەلۇماتىڭىز يوقاپ كەتكەندە ئېلىپ بارغان تەھرىرىڭىزنى بىر تەرەپ قىلالمايمىز.'''\nقايتا سىناڭ.\nئەگەر يەنىلا مەغلۇپ بولسا، [[Special:UserLogout|تىزىمدىن چىق]]قاندىن كېيىن قايتا تىزىمغا كىرىڭ.", "session_fail_preview_html": "'''كەچۈرۈڭ! سىزنىڭ جەريان سانلىق مەلۇماتىڭىز يوقاپ كەتكەندە ئېلىپ بارغان تەھرىرىڭىزنى بىر تەرەپ قىلالمايمىز.'''\n\n''چۈنكى {{SITENAME}} بېكىتى ئەسلى HTML ئىشلىتىشكە يول قويىدۇ، JavaScript ھۇجۇمىنىڭ ئالدىنى ئېلىش ئۈچۈن، ئالدىن كۆزىتىش يوشۇرۇلدى.''\n\n'''ئەگەر بۇ قانۇنلۇق تەھرىرلەش بولسا قايتا سىناڭ'''\nئەگەر ئۇنداق بولمىسا [[Special:UserLogout|تىزىمدىن چىق]]ىپ قايتا تىزىمغا كىرىڭ.", @@ -608,7 +638,7 @@ "permissionserrorstext": "تۆۋەندىكى {{PLURAL:$1|سەۋەپ|سەۋەپ}}: تۈپەيلىدىن تۆۋەندىكى مەشغۇلاتنى ئېلىپ بېرىش ھوقۇقىڭىز يوق.", "permissionserrorstext-withaction": "{{PLURAL:$1|سەۋەب|سەۋەبلەر}} تۈپەيلىدىن $2 مەشغۇلاتى ئېلىپ بېرىش ھوقۇقىڭىز يوق:", "recreate-moveddeleted-warn": "'''ئاگاھلاندۇرۇش: ئىلگىرى ئۆچۈرگەن ھۆججەتتىن بىرنى قۇرۇۋاتىسىز.'''\n\nبۇ ھۆججەتنى قايتا يۈكلەشنىڭ مۇۋاپىق ياكى ئەمەسلىكىنى ئويلىنىپ بېقىڭ.\nقولايلىق بولۇشى ئۈچۈن بۇ ھۆججەتنىڭ ئۆچۈرۈش خاتىرىسى تۆۋەندە تەمىنلەندى:", - "moveddeleted-notice": "بۇ بەت ئۆچۈرۈلگەن.\nبۇ بەتنىڭ ئۆچۈرۈش ۋە يۆتكەش خاتىرىسى پايدىلىنىش ئۈچۈن تۆۋەندە كۆرسىتىلدى.", + "moveddeleted-notice": "بۇ بەت ئۆچۈرۈلدى.\nتۆۋەندە بۇ بەتنىڭ ئۆچۈرۈش، قوغداش ۋە يۆتكەش خاتىرىسى پايدىلىنىش ئۈچۈن تەمىنلەندى.", "log-fulllog": "تولۇق خاتىرىنى كۆرسەت", "edit-hook-aborted": "تەھرىر ئىلمەك تەرىپىدىن چېكىندۈرۈلدى\nئۇ سەۋەبىنى تەمىنلىمىدى.", "edit-gone-missing": "بۇ بەتنى يېڭىلىيالمايدۇ.\nئۇ بايىلا ئۆچۈرۈلگەن بولۇشى مۇمكىن.", @@ -637,7 +667,7 @@ "parser-template-recursion-depth-warning": "قايتىلانما ئىپادە چوڭقۇر چەكلىمىسىدىن ئېشىپ كەتتى ($1)", "language-converter-depth-warning": "تىل ئالماشتۇرۇش چوڭقۇرلۇقى چەكتىن ئاشتى ($1)", "node-count-exceeded-category": "بەتنىڭ نۇقتا سانى چەكتىن ئېشىپ كەتتى", - "node-count-exceeded-warning": "بەت نۇقتا سانىدىن ئېشىپ كەتتى", + "node-count-exceeded-warning": "بەت نۇقتا چەكلىمە سانىدىن ئېشىپ كەتتى", "expansion-depth-exceeded-category": "كېڭەيتىلگەن چوڭقۇرلۇق بەت چەكلىمىسىدىن ئېشىپ كەتتى", "expansion-depth-exceeded-warning": "بەت كېڭەيتىلگەن چوڭقۇرلۇقتىن ئېشىپ كەتتى", "parser-unstrip-loop-warning": "دەۋرىيلىك بايقالدى", @@ -665,7 +695,7 @@ "page_first": "تۇنجى", "page_last": "ئاخىرقى", "histlegend": "پەرق تاللاش: سېلىشتۇرىدىغان ئۆزگەرتىلگەن نەشرىنىڭ يەككە تاللاش كۇنۇپكىسىغا بەلگە سېلىپ، ئاستىدىكى كۇنۇپكىنى چېكىپ سېلىشتۇرۇڭ.
\nچۈشەندۈرۈش: '''({{int:cur}})'' نۆۋەتتىكى نەشرى بىلەن سېلىشتۇرۇشنى كۆرسىتىدۇ.\n '''({{int:last}})''' ئالدىنقى ئۆزگەرتىلگەن نەشرى بىلەن سېلىشتۇرۇشنى كۆرسىتىدۇ.\n '''{{int:minoreditletter}}''' ئازراقلا ئۆزگەرتىش.", - "history-fieldset-title": "تارىخىنى كۆرسەت", + "history-fieldset-title": "ئۆزگەرتىلگەن نەشىرىنى ئىزدەش", "history-show-deleted": "ئۆچۈرۈلگەننىلا", "histfirst": "ئەڭ كونا", "histlast": "ئەڭ يېڭى", @@ -678,7 +708,7 @@ "rev-deleted-comment": "(تەھرىرلەش ئۈزۈندىسى چىقىرىۋېتىلدى)", "rev-deleted-user": "(ئىشلەتكۈچى نامى چىقىرىۋېتىلدى)", "rev-deleted-event": "(خاتىرە مەشغۇلاتى چىقىرىۋېتىلدى)", - "rev-deleted-user-contribs": "[ئىشلەتكۈچى نامى ياكى IP ئادرېس چىقىرىۋېتىلدى - تۆھپىدىن تەھرىرنى يوشۇر]", + "rev-deleted-user-contribs": "[ئىشلەتكۈچى نامى ياكى IP ئادرېس چىقىرىۋېتىلدى - تۆھپىە تەھرىرلەشكە يوشۇرۇلدى]", "rev-deleted-text-permission": "'''ئاگاھلاندۇرۇش: بۇ بەتنىڭ تۈزىتىلگەن نەشرى'''ئۆچۈرۈلگەن'''\n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ئۆچۈرۈش خاتىرىسى]دىن تەپسىلىي ئۇچۇرنى تاپقىلى بولىدۇ.", "rev-deleted-text-unhide": "بۇ بەتنىڭ تۈزىتىلگەن نەشرى '''ئۆچۈرۈلگەن'''.\n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ئۆچۈرۈش خاتىرىسى]دىن تەپسىلىي ئۇچۇرنى تاپقىلى بولىدۇ.\nداۋاملاشتۇرماقچى بولسىڭىز يەنىلا [$1 بۇ نەشرىنى كۆرسەت]ەلەيسىز.", "rev-suppressed-text-unhide": "بۇ بەتنىڭ تۈزىتىلگەن نەشرى '''نازارەتچى يوشۇرغان'''.\n[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} نازارەتچى يوشۇرۇش خاتىرىسى]دىن تەپسىلىي ئۇچۇرنى تاپقىلى بولىدۇ. ئەگەر داۋاملاشتۇرماقچى بولسىڭىز يەنىلا [$1 بۇ تۈزىتىلگەن نەشرىنى كۆرسەت]ەلەيسىز.", @@ -690,7 +720,7 @@ "rev-suppressed-unhide-diff": "بۇ بەتنىڭ تۈزىتىلگەن نەشرى '''نازارەتچى يوشۇرغان'''.\n[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} نازارەتچى يوشۇرۇش خاتىرىسى]دىن تەپسىلىي ئۇچۇرنى تاپقىلى بولىدۇ. ئەگەر داۋاملاشتۇرماقچى بولسىڭىز يەنىلا [$1 بۇ تۈزىتىلگەن نەشرىنى كۆرسەت]ەلەيسىز.", "rev-deleted-diff-view": "بۇ بەتنىڭ بىر قېتىملىق تۈزىتىلگەن نەشرى '''ئۆچۈرۈلگەن'''\nبۇ پەرقنى كۆرەلەيسىز.: تەپسىلاتىنى [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ئۆچۈرۈش خاتىرىسى]دىن تاپالايسىز.", "rev-suppressed-diff-view": "بۇ بەتنىڭ بىر قېتىملىق تۈزىتىلگەن نەشرى '''نازارەتچى يوشۇرغان'''.\nبۇ پەرقنى كۆرەلەيسىز.: تەپسىلاتىنى [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} نازارەتچى يوشۇرۇش خاتىرىسى]دىن تاپالايسىز.", - "rev-delundel": "كۆرسەت/يوشۇر", + "rev-delundel": "كۆرسىتىش ھالىتىنى ئۆزگەرتىش", "rev-showdeleted": "كۆرسەت", "revisiondelete": "تۈزىتىلگەن نەشرىنى ئۆچۈر/ئەسلىگە كەلتۈر", "revdelete-nooldid-title": "ئىناۋەتسىز نىشان تۈزىتىش نەشرى", @@ -704,9 +734,9 @@ "revdelete-legend": "كۆرۈنۈشچانلىق چەكلىمە تەڭشىكى", "revdelete-hide-text": "تۈزىتىلگەن تېكىست", "revdelete-hide-image": "ھۆججەت مەزمۇنىنى يوشۇر", - "revdelete-hide-name": "مەشغۇلات ۋە نىشاننى يوشۇر", + "revdelete-hide-name": "نىشان ۋە سانلىق ئۇچۇرنى يوشۇرۇش", "revdelete-hide-comment": "تەھرىر ئىزاھاتىنى يوشۇر", - "revdelete-hide-user": "تەھرىرلىگۈچىنىڭ نامى/IP ئادرېسىنى يوشۇر", + "revdelete-hide-user": "تەھرىرلىگۈچىنىڭ نامى/IP ئادرېسىنى يوشۇرۇش", "revdelete-hide-restricted": "مەشغۇلاتچى ۋە باشقا ئىشلەتكۈچىنىڭ سانلىق مەلۇمات كۆرۈشىنىمۇ چەكلە", "revdelete-radio-same": "(ئۆزگەرتمە)", "revdelete-radio-set": "يوشۇرۇن", @@ -799,7 +829,7 @@ "search-file-match": "(ھۆججەت مەزمۇنى ماس كەلگەن)", "search-suggest": "ئىزدىمەكچى بولغىنىڭىز: $1", "search-interwiki-caption": "ھەمشىرە قۇرۇلۇشلار", - "search-interwiki-default": "$1 نەتىجە:", + "search-interwiki-default": "$1 دىكى نەتىجە:", "search-interwiki-more": "(تېخىمۇ كۆپ)", "search-relatedarticle": "ئالاقىدار", "searchrelated": "ئالاقىدار", @@ -816,7 +846,7 @@ "search-error": "ئىزدەش جەريانىدا بىر خاتالىق يۈز بەردى: $1", "preferences": "مايىللىق", "mypreferences": "مايىللىق", - "prefs-edits": "تەھرىر سانى:", + "prefs-edits": "تەھرىرلەش قېتىم سانى:", "prefsnologintext2": "مايىللىقىڭىزنى ئۆزگەرتىش ئۈچۈن $1.", "prefs-skin": "تېرە", "skin-preview": "ئالدىن كۆزەت", @@ -828,7 +858,7 @@ "prefs-watchlist": "كۆزەت تىزىملىكى", "prefs-watchlist-days": "كۆزەت تىزىملىكىدە كۆرۈنىدىغان كۈن سانى:", "prefs-watchlist-days-max": "ئەڭ چوڭ 1$ {{PLURAL:$1|كۈن}}", - "prefs-watchlist-edits": "كۈچەيتىلگەن كۆزەت تىزىملىكىدە ئەڭ كۆپ ئۆزگەرتىش سانى:", + "prefs-watchlist-edits": "كۆزىتىش تىزىملىكىدە ئەڭ كۆپ ئۆزگەرتىش سانىنى كۆرسىتىش:", "prefs-watchlist-edits-max": "ئەڭ كۆپ سانى: 1000", "prefs-watchlist-token": "كۆزەت تىزىملىك نىشانى:", "prefs-misc": "ئارىلاشما تۈر", @@ -839,7 +869,7 @@ "prefs-rendering": "كۆرۈنۈش", "saveprefs": "ساقلا", "restoreprefs": "بارلىق كۆڭۈلدىكى تەڭشەكنى ئەسلىگە كەلتۈر (بارلىق بۆلەكلەردە)", - "prefs-editing": "تەھرىر", + "prefs-editing": "تەھرىرلەش", "searchresultshead": "ئىزدە", "stub-threshold": "قىسقا بەت ئۇلانمىسى فورمات چەك قىممىتى (بايت) :", "stub-threshold-disabled": "چەكلەنگەن", @@ -915,10 +945,10 @@ "prefs-tokenwatchlist": "ئاچقۇچ", "prefs-diffs": "پەرقلەر", "prefs-help-prefershttps": "بۇ سەپلەك، سىز قايتا تىزىمغا كىرگەندە ئىشلەيدۇ.", - "userrights": "ئىشلەتكۈچى ھوقۇقى باشقۇرۇش", - "userrights-lookup-user": "ئىشلەتكۈچى گۇرۇپپىسى باشقۇرۇش", + "userrights": "ئابونت ھوقۇقى", + "userrights-lookup-user": "ئەزا تاللاڭ", "userrights-user-editname": "ئىشلەتكۈچى ئاتى كىرگۈزۈڭ:", - "editusergroup": "ئىشلەتكۈچى گۇرۇپپىسى تەھرىر", + "editusergroup": "ئىشلەتكۈچى گۇرۇپپىسى", "editinguser": "ئىشلەتكۈچى '''[[User:$1|$1]]''' $2 نىڭ ھوقۇقىنى ئۆزگەرتىۋاتىدۇ", "userrights-editusergroup": "ئىشلەتكۈچى گۇرۇپپىسى تەھرىر", "saveusergroups": "ئىشلەتكۈچى گۇرۇپپىسى ساقلا", @@ -967,7 +997,7 @@ "right-reupload": "مەۋجۇد ھۆججەتنى قاپلا", "right-reupload-own": "ئوخشاش بىر ئادەم يوللىغان ھۆججەتنى قاپلىۋەت", "right-reupload-shared": "ئېتىبارغا ئېلىنمايدىغان يەرلىك ھەمبەھىر كۆپ ۋاسىتە ئامبىرىدىكى ھۆججەت", - "right-upload_by_url": "URL دىن ھۆججەت يۈكلە", + "right-upload_by_url": "URL دىن ھۆججەت يۈكلەش", "right-purge": "جەزملەشنى سورىمايلا تور بېكەت غەملىكىنى تازىلا", "right-autoconfirmed": "يېرىم قوغدالغان بەت تەھرىر", "right-bot": "ئاپتوماتىك جەريان دەپ قارىلىدۇ", @@ -1062,19 +1092,30 @@ "recentchanges-label-minor": "بۇ ئازراقلا تەھرىرلەش", "recentchanges-label-bot": "بۇ تەھرىرنى ماشىنا ئادەم ئېلىپ بارغان", "recentchanges-label-unpatrolled": "بۇ تەھرىر تېخى كۆزىتىلمىگەن", + "recentchanges-legend-heading": "ئىزاھات:", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (بۇنىڭغىمۇ قاراڭ [[Special:NewPages|يېڭى بەتلەر تىزىملىگى]])", "rcnotefrom": "تۆۋەندىكىسى '''$2''' نىڭ ئۆزگەرتىشى (ئەڭ كۆپ بولغاندا '''$1''' كۆرسىتىدۇ )", "rclistfrom": "$3 $2 دىن باشلانغان يېڭى ئۆزگەرتىشنى كۆرسەت", - "rcshowhideminor": "$1 ئازراقلا تەھرىر", + "rcshowhideminor": "$1 ئازراقلا تەھرىرلەش", + "rcshowhideminor-show": "كۆرسىتىش", + "rcshowhideminor-hide": "يوشۇر", "rcshowhidebots": "$1 ماشىنا ئادەمنىڭ تەھرىرى", + "rcshowhidebots-show": "كۆرسەت", + "rcshowhidebots-hide": "يوشۇرۇش", "rcshowhideliu": "$1 خەتلەنگەن ئىشلەتكۈچى", + "rcshowhideliu-show": "كۆرسىتىش", + "rcshowhideliu-hide": "يوشۇرۇش", "rcshowhideanons": "$1 ئىمزاسىز ئىشلەتكۈچى تەھرىرى", - "rcshowhidepatr": "$1 كۆزىتىلگەن تەھرىر", + "rcshowhideanons-show": "كۆرسىتىش", + "rcshowhideanons-hide": "يوشۇر", + "rcshowhidepatr": "$1 كۆزىتىلگەن تەھرىرلەش", "rcshowhidemine": "$1 مېنىڭ تەھرىرىم", + "rcshowhidemine-show": "كۆرسىتىش", + "rcshowhidemine-hide": "يوشۇرۇش", "rclinks": "يېقىنقى $2 كۈن ئىچىدىكى ئەڭ يېڭى $1 قېتىملىق ئۆزگەرتىشنى كۆرسەت.", "diff": "پەرق", "hist": "تارىخ", - "hide": "يوشۇر", + "hide": "يوشۇرۇش", "show": "كۆرسەت", "minoreditletter": "ئازراقلا", "newpageletter": "يېڭى", @@ -1082,12 +1123,12 @@ "unpatrolledletter": "!", "number_of_watching_users_pageview": "[$1 {{PLURAL:$1|ئىشلەتكۈچى|ئىشلەتكۈچى}}كۆزىتىۋاتىدۇ]", "rc_categories": "تۈر چېگرىسى (\"|\" بىلەن ئايرىلىدۇ )", - "rc_categories_any": "خالىغان", + "rc_categories_any": "خالىغانچە تاللاش", "rc-change-size": "$1", "rc-change-size-new": "ئۆزگەرتكەندىن كېيىن $1 {{PLURAL:$1|بايت}}", "newsectionsummary": "* $1 * يېڭى ئابزاس", "rc-enhanced-expand": "تەپسىلاتىنى كۆرسەت", - "rc-enhanced-hide": "تەپسىلاتىنى يوشۇر", + "rc-enhanced-hide": "تەپسىلاتىنى يوشۇرۇش", "rc-old-title": "ئەڭ دەسلەپتە \"$1\" سۈپىتىدە قۇرۇلغان", "recentchangeslinked": "مۇناسىۋەتلىك ئۆزگەرتىشلەر", "recentchangeslinked-feed": "مۇناسىۋەتلىك ئۆزگەرتىشلەر", @@ -1096,8 +1137,8 @@ "recentchangeslinked-summary": "بۇ ئالاھىدە بەت يۈزى كۆرسەتكەن بەتتىن ئۇلىنىپ چىققان يېقىنقى ئۆزگەرتىش تىزىملىكى (ياكى ئالاھىدە تۈرنىڭ ئەزاسى).\n [[Special:Watchlist|كۆزەت تىزىملىكىڭىز]] دىكى بەت يۈزى '''توم''' كۆرسىتىلىدۇ.", "recentchangeslinked-page": "بەت نامى:", "recentchangeslinked-to": "بېرىلگەن بەتكە ئۇلانغان ئۆزگەرتىشنى كۆرسەت", - "upload": "ھۆججەت يۈكلە", - "uploadbtn": "ھۆججەت يۈكلە", + "upload": "ھۆججەت يۈكلەش", + "uploadbtn": "ھۆججەت يۈكلەش", "reuploaddesc": "يۈكلەشتىن ۋاز كېچىپ، يۈكلەش كۆزنىكىگە قايت", "upload-tryagain": "ئۆزگەرتىلگەن ھۆججەت چۈشەندۈرۈشى يوللا", "uploadnologin": "تىزىمغا كىرمىدى", @@ -1107,9 +1148,9 @@ "uploaderror": "يۈكلەش خاتالىقى", "upload-recreate-warning": "'''ئاگاھلاندۇرۇش: ئوخشاش ئاتلىق ھۆججەتتىن بىرى ئىلگىرى ئۆچۈرۈلگەن ياكى باشقا جايغا يۆتكەلگەن.'''\nپايدىلىنىش ئۈچۈن بۇ بەتنىڭ ئۆچۈرۈش ۋە يۆتكەش خاتىرىسى بۇ جايدا تەمىنلەندى:", "uploadtext": "تۆۋەندىكى كۆزنەكنى ئىشلىتىپ ھۆججەت يۈكلەڭ.\nئىلگىرى يۈكلەنگەن ھۆججەتلەرنى كۆرۈش ياكى ئىزدەشتە [[Special:FileList|ھۆججەت يۈكلەش تىزىملىكى]]گە كىرىپ، (يېڭىدىن) يۈكلەنگەننى [[Special:Log/upload|يۈكلەش خاتىرىسى]]دە خاتىرىلىنىدۇ، ئۆچۈرۈلگىنى [[Special:Log/delete|ئۆچۈرۈش خاتىرىسى]]دە خاتىرىلىنىدۇ.\n\nبەتكە ھۆججەت يۈكلىمەكچى بولسىڭىز، تۆۋەندىكى ئۇلانما شەكلىنى ئىشلىتىڭ:\n* '''[[{{ns:file}}:File.jpg]]''' ھۆججەتنىڭ تولۇق نەشرىنى ئىشلىتىدۇ\n* '''[[{{ns:file}}:File.png|200px|thumb|left|alt text]]''' 200 نۇقتا كەڭلىكتىكى سول ياندىكى رامكىدا قايتا پەيدا بولىدىغان 'ئالماشتۇرىدىغان تېكست' چۈشەندۈرۈشىنى ئىشلىتىدۇ.\n* '''[[{{ns:media}}:File.ogg]]''' ھۆججەتنى كۆرسەتمەيلا بىۋاسىتە ئۇلىنىدۇ", - "upload-permitted": "يول قويىدىغان ھۆججەت تىپى: $1", - "upload-preferred": "تەۋسىيىلىك ھۆججەت تىپى: $1", - "upload-prohibited": "چەكلەيدىغان ھۆججەت تىپى: $1", + "upload-permitted": "يول قويىدىغان ھۆججەت {{PLURAL:$2|تىپى}}: $1", + "upload-preferred": "تەۋسىيىلىك ھۆججەت {{PLURAL:$2|تىپى}}: $1", + "upload-prohibited": "چەكلەيدىغان ھۆججەت {{PLURAL:$2|تىپى}}: $1", "uploadlogpage": "خاتىرە يۈكلە", "uploadlogpagetext": "تۆۋەندىكىسى يېقىندا يوللانغان ھۆججەت تىزىملىكى.\\n\n [[Special:NewFiles|يېڭى ھۆججەت كارىدورى]]دىن تېخىمۇ كۆپ سۈرەتلەرنى كۆرۈڭ.", "filename": "ھۆججەت ئاتى", @@ -1437,7 +1478,7 @@ "nopagetext": "سىز بەلگىلىگەن نىشان بەت مەۋجۇد ئەمەس.", "pager-newer-n": "{{PLURAL:$1|يېڭى 1|يېڭى $1}}", "pager-older-n": "{{PLURAL:$1|كونا 1|كونا $1}}", - "suppress": "نازارەتچى", + "suppress": "چەكلەش", "querypage-disabled": "بۇ ئالاھىدە بەت ئۈنۈم سەۋەبىدىن چەكلەندى.", "apisandbox": "API قۇم ساندۇقى", "apisandbox-api-disabled": "مەزكۇر بېكەتتە API چەكلەندى.", @@ -1445,12 +1486,13 @@ "apisandbox-submit": "ئىلتىماس يوللا", "apisandbox-reset": "تازىلا", "apisandbox-examples": "مىسال", - "apisandbox-results": "نەتىجە", + "apisandbox-results": "نەتىجىسى", "apisandbox-request-url-label": "تەلەپ قىلغان URL:", "apisandbox-request-time": "ئىلتىماس ۋاقتى: $1", "booksources": "كىتاب مەنبەسى", "booksources-search-legend": "كىتاب مەنبەسى ئىزدە", "booksources-isbn": "ISBN:", + "booksources-search": "ئىزدەش", "booksources-text": "تۆۋەندىكىسى بىر قىسىم تور كىتابخانىلىرىنىڭ تىزىملىكى، ئىچىدە سىز ئىزدىمەكچى بولغان كىتابلارنىڭ تېخىمۇ كۆپ ئۇچۇرى بولۇشى مۇمكىن:", "booksources-invalid-isbn": "تەمىنلىگەن ISBN نومۇرى توغرا ئەمەس. ئەسلى كۆچۈرگەن مەنبەدىكى نومۇردا خاتالىق بار يوقلۇقىنى تەكشۈرۈڭ.", "specialloguserlabel": "ئىشلەتكۈچى:", @@ -1460,7 +1502,7 @@ "alllogstext": "{{SITENAME}} بارلىق ئىشلەتكىلى بولىدىغان خاتىرىنى ئۇنىۋېرسال كۆرسىتىدۇ.\nسىز خاتىرە تىپى، ئىشلەتكۈچى ئاتى (چوڭ كىچىك يېزىلىشنى پەرقلەندۈرىدۇ) نى تاللىيالايسىز ياكى مۇناسىۋەتلىك بەت (چوڭ كىچىك يېزىلىشنى پەرقلەندۈرىدۇ) ئارقىلىق ئىزدەش دائىرىسىنى كىچىكلىتەلەيسىز.", "logempty": "خاتىرىدە ماس كېلىدىغان تۈر يوق.", "log-title-wildcard": "بۇ تېكست بىلەن باشلانغان ماۋزۇنى ئىزدە", - "showhideselectedlogentries": "تالغان خاتىرىسى كۈرسەت / يوشۇر", + "showhideselectedlogentries": "تاللىغان خاتىرىنى كۆرسىتىش/يوشۇرۇش", "allpages": "ھەممە بەت", "nextpage": "كەينى بەت ($1)", "prevpage": "ئالدىنقى بەت ($1)", @@ -1468,11 +1510,11 @@ "allpagesto": "بۇ جايدىن ئاياغلاشقان بەتنى كۆرسەت:", "allarticles": "ھەممە بەت", "allinnamespace": "ئالدى بەت ($1)", - "allpagessubmit": "يۆتكەل", + "allpagessubmit": "يوللاش", "allpagesprefix": "ئالدى قوشۇلغۇچىسى بار بەتنى كۆرسەت:", "allpagesbadtitle": "بېرىلگەن بەت ماۋزۇسى قانۇنسىز ياكى ئىچكى تىلغا ئىگە ياكى ئىچكى wiki نىڭ ئالدى قوشۇلغۇچىسى.\nئۇ ماۋزۇغا ئىشلەتكىلى بولمايدىغان بىر ياكى بىر قانچە ھەرپنى ئۆز ئىچىگە ئالغان بولۇشى مۇمكىن.", "allpages-bad-ns": "{{SITENAME}} دا\\\"$1\" ئات بوشلۇقى يوق.", - "allpages-hide-redirects": "قايتا نىشانلاشنى يوشۇر", + "allpages-hide-redirects": "قايتا نىشانلاشنى يوشۇرۇش", "cachedspecial-viewing-cached-ttl": "سىز بۇ بەتنىڭ غەملەك نەشرىنى كۆرۈۋاتىسىز، ئەڭ كۆپ بولغاندا $1 كونىراق.", "cachedspecial-viewing-cached-ts": "سىز بۇ بەتنىڭ غەملەك نەشرىنى كۆرۈۋاتىسىز، ئۇ ئەڭ يېڭى تولۇق نەشرى بولماسلىقى مۇمكىن.", "cachedspecial-refresh-now": "يېقىنقىنى كۈرىشى.", @@ -1611,7 +1653,7 @@ "delete-edit-reasonlist": "ئۆچۈرۈش سەۋەبى تەھرىر", "delete-toobig": "بۇ بەتنىڭ بەك كۆپ تەھرىرلەش تارىخى بار، {{PLURAL:$1|تۈزىتىلگەن نەشرى|تۈزىتىلگەن نەشرى}} قېتىمدىن ئارتۇق. {{SITENAME}} قالايمىقانچىلىقنىڭ ئالدىنى ئېلىش ئۈچۈن بۇ خىل بەتلەرنى ئۆچۈرۈش مەشغۇلاتى چەكلەندى.", "delete-warning-toobig": "بۇ بەتنىڭ تەھرىرلەش تارىخى بەك كۆپ، {{PLURAL:$1|تۈزىتىلگەن نەشرى|تۈزىتىلگەن نەشرى}} قېتىمدىن ئارتۇق.\nبۇ بەت ئۆچۈرۈلسە {{SITENAME}} ساندانىنىڭ مەشغۇلاتىنى قالايمىقانلاشتۇرۇۋېتىشى مۇمكىن؛\nبۇ مەشغۇلاتنى داۋاملاشتۇرۇشتىن ئىلگىرى ئېھتىيات قىلىڭ.", - "rollback": "تەھرىر ئەسلىگە قايتۇر", + "rollback": "تەھرىرلەشكە قايتىش", "rollbacklink": "ئەسلىگە قايتۇر", "rollbacklinkcount": "$1 {{PLURAL:$1|تەھرىر}}نى ئەسلىگە قايتۇر", "rollbacklinkcount-morethan": "$1 دىن كۆپ {{PLURAL:$1|تەھرىر}}نى ئەسلىگە قايتۇر", @@ -1671,7 +1713,7 @@ "minimum-size": "ئەڭ كىچىك چوڭلۇقى", "maximum-size": "ئەڭ چوڭ چوڭلۇقى:", "pagesize": "(بايت)", - "restriction-edit": "تەھرىر", + "restriction-edit": "تەھرىرلەش", "restriction-move": "يۆتكە", "restriction-create": "قۇر", "restriction-upload": "يۈكلە", @@ -1723,6 +1765,7 @@ "contributions": "{{GENDER:$1|ئىشلەتكۈچى}} تۆھپىسى", "contributions-title": "$1 نىڭ ئىشلەتكۈچى تۆھپىسى", "mycontris": "تۆھپە", + "anoncontribs": "تۆھپە", "contribsub2": "{{GENDER:$3|$1}} ($2) ئۈچۈن", "nocontribs": "بۇ ئۆلچەمگە ماس كېلىدىغان ئۆزگەرتىش تېپىلمىدى.", "uctop": "(نۆۋەتتىكى)", @@ -1742,6 +1785,7 @@ "sp-contributions-search": "تۆھپە ئىزدە", "sp-contributions-username": "IP ئادرېس ياكى ئىشلەتكۈچى نامى:", "sp-contributions-toponly": "ئەڭ يېڭى تۈزىتىلگەن نەشرىنىلا كۆرسەت", + "sp-contributions-newonly": "بەت قۇرۇش تەھرىرىنىلا كۆرسەت", "sp-contributions-submit": "ئىزدە", "whatlinkshere": "بۇ جايدىكى ئۇلانما", "whatlinkshere-title": "\"$1\" بەتكە ئۇلانغان بەتلەر", @@ -1755,7 +1799,7 @@ "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 ھۆججەت ئۇلانما", @@ -1802,9 +1846,9 @@ "ipblocklist": "چەكلەنگەن ئىشلەتكۈچىلەر", "ipblocklist-legend": "چەكلەنگەن ئىشلەتكۈچىدىن بىرنى ئىزدە", "blocklist-userblocks": "ھېسابات چەكلەشنى يوشۇر", - "blocklist-tempblocks": "ۋاقىتلىق چەكلەشنى يوشۇر", + "blocklist-tempblocks": "ۋاقىتلىق چەكلەنمىنى يوشۇرۇش", "blocklist-addressblocks": "يەككە IP چەكلەشنى يوشۇر", - "blocklist-rangeblocks": "دائىرە چەكلىمىسىنى يوشۇر", + "blocklist-rangeblocks": "چەكلەنگەن IP بۆلىكىنى يوشۇرۇش", "blocklist-timestamp": "ۋاقىت تامغاسى", "blocklist-target": "نىشان", "blocklist-expiry": "ۋاقتى ئۆتتى", @@ -1960,7 +2004,7 @@ "allmessages-filter-modified": "ئۆزگەرتىلگەن", "allmessages-prefix": "ئالدى قوشۇلغۇچى سۈزگۈچ:", "allmessages-language": "تىل:", - "allmessages-filter-submit": "يۆتكەل", + "allmessages-filter-submit": "يوللاش", "thumbnail-more": "چوڭايت", "filemissing": "ھۆججەت يوقالغان", "thumbnail_error": "كىچىك رەسىم قۇرۇش خاتالىقى: $1", @@ -2001,7 +2045,7 @@ "import-nonewrevisions": "ھەممە تۈزىتىش بايىلا ئەكىرىلگەن.", "xml-error-string": "$2 قۇردىكى $1، ستون $3 ($4 بايت): $5", "import-upload": "XML سانلىق مەلۇماتى يۈكلە", - "import-token-mismatch": "جەريان سانلىق مەلۇماتى يوقالدى.\n قايتا سىناڭ.", + "import-token-mismatch": "جەريان سانلىق مەلۇماتى يوقالدى.\n\nسىز بەلكىم چېكىنىپ چىقتىڭىز. '''سېستىمىغا تىزىملىتىپ كىرگەنلىك ھالىتىڭىزنى تەكشۈرۈڭ، ھەم قايتا سىناڭ '''. ئەگەر داۋاملىق ئىشلىمىسە، [[Special:UserLogout|چېكىنىش]] نى سىناپ قايتا كىرىڭ، شۇنداقلا توركۆرگۈچىڭىزنىڭ تور بېكەت cookie نى قوللايدىغانلىقىنى تەكشۈرۈڭ.", "import-invalid-interwiki": "بەلگىلەنگەن wiki دىن ئەكىرەلمىدى.", "import-error-edit": "\"$1\" نى ئەكىرمىدى چۈنكى سىز ئۇنى تەھرىرلەشكە يول قويمىغان.", "import-error-create": "\"$1\" نى ئەكىرمىدى چۈنكى سىز ئۇنى قۇرۇشقا يول قويمىغان.", @@ -2018,18 +2062,18 @@ "import-logentry-interwiki-detail": "$2 دىن كەلگەن $1 {{PLURAL:$1|تۈزىتىش|تۈزىتىش}}", "javascripttest": "JavaScript سىناش", "javascripttest-qunit-intro": "mediawiki.org دىكى [$1 سىناش قوللانمىسى]نى كۆرۈڭ.", - "tooltip-pt-userpage": "ئىشلەتكۈچى بېتىڭىز", + "tooltip-pt-userpage": "{{GENDER:|سىزنىڭ ئىشلەتكۈچى}} بېتىڭىز", "tooltip-pt-anonuserpage": "بۇ بېكەتنى تەھرىرلىگەندە ئىشلەتكەن IP ماس كەلگەن ئىشلەتكۈچى بېتى", - "tooltip-pt-mytalk": "مۇنازىرە بېتىڭىز", + "tooltip-pt-mytalk": "{{GENDER:|سىزنىڭ}} مۇنازىرە بېتىڭىز", "tooltip-pt-anontalk": "مەزكۇر IP ئادرېستىن كەلگەن تەھرىرنىڭ مۇنازىرىسى", - "tooltip-pt-preferences": "مايىللىق تەڭشىگىڭىز", + "tooltip-pt-preferences": "{{GENDER:|سىزنىڭ}} مايىللىق تەڭشىكىڭىز", "tooltip-pt-watchlist": "سىز كۆزىتىۋاتقان بەتلەر تىزىملىگى", - "tooltip-pt-mycontris": "تۆھپە تىزىملىكىڭىز", + "tooltip-pt-mycontris": "{{GENDER:|سىزنىڭ}} تۆھپە تىزىملىكىڭىز", "tooltip-pt-login": "تىزىمغا كىرىشىڭىزنى تەۋسىيە قىلىمىز ئەمما مەجبۇرىي ئەمەس", - "tooltip-pt-logout": "تىزىمدىن چىق", + "tooltip-pt-logout": "چېكىنىش", "tooltip-pt-createaccount": "ھېساباتتىن بىرنى قۇرۇپ تىزىمغا كىرىشىڭىزنى تەۋسىيە قىلىمىز، ئەمما بۇ مەجبۇرىي ئەمەس.", "tooltip-ca-talk": "بەت مەزمۇنى ھەققىدىكى مۇنازىرە", - "tooltip-ca-edit": "بۇ بەتنى تەھرىرلىيەلەيسىز.\nساقلاشتىن ئىلگىرى ئالدىن كۆزەت كۇنۇپكىسىنى ئىشلىتىڭ", + "tooltip-ca-edit": "بۇ بەتنى تەھرىرلەش", "tooltip-ca-addsection": "يېڭى بىر مۇنازىرە باشلاڭ", "tooltip-ca-viewsource": "بۇ بەت قوغدالغان.\nمەنبە ھۆججىتىنى كۆرەلەيسىز", "tooltip-ca-history": "بۇ بەتنىڭ بۇرۇنقى نەشرى", @@ -2041,7 +2085,7 @@ "tooltip-ca-watch": "بۇ بەتنى كۆزەت تىزىملىكىگە قوش", "tooltip-ca-unwatch": "بۇ بەتنى كۆزەت تىزىملىكىمدىن چىقىرىۋەت", "tooltip-search": "{{SITENAME}} ئىزدە", - "tooltip-search-go": "ئەگەر بۇ ئاتتىكى بەت مەۋجۇد بولسا شۇ بەتكە يۆتكەل", + "tooltip-search-go": "ئوخشاش ماۋزۇلۇق تېما بولسا، بىۋاستە بۇ بەتكە يۆتكىلىدۇ", "tooltip-search-fulltext": "بۇ تېكست بار بەتنى ئىزدە", "tooltip-p-logo": "باش بەتنى زىيارەت قىل", "tooltip-n-mainpage": "باش بەتنى زىيارەت قىل", @@ -2056,10 +2100,10 @@ "tooltip-feed-rss": "بۇ بەتنىڭ RSS قانىلى", "tooltip-feed-atom": "بۇ بەتنىڭ Atom قانىلى", "tooltip-t-contributions": "بۇ ئىشلەتكۈچىنىڭ تۆھپە تىزىملىكىنى كۆرسەت", - "tooltip-t-emailuser": "بۇ ئىشلەتكۈچىگە ئېلخەت يوللا", + "tooltip-t-emailuser": "{{GENDER:$1|بۇ ئىشلەتكۈچىگە}} ئېلخەت يوللاش", "tooltip-t-upload": "ھۆججەتلەرنى يۈكلە", "tooltip-t-specialpages": "بارلىق ئالاھىدە بەتلەر تىزىملىكى", - "tooltip-t-print": "بۇ بەتنىڭ باسقىلى بولىدىغان نەشرى", + "tooltip-t-print": "بۇ بەتنىڭ باسما نۇسخىسى", "tooltip-t-permalink": "ئۆزگەرتىلگەن نەشرىدىكى بۇ بەتنىڭ مەڭگۈلۈك ئۇلانمىسى", "tooltip-ca-nstab-main": "مەزمۇن بېتىنى كۆرسەت", "tooltip-ca-nstab-user": "ئىشلەتكۈچى بېتىنى كۆرسەت", @@ -2125,7 +2169,8 @@ "pageinfo-length": "بەت چوڭلۇقى (بايت)", "pageinfo-article-id": "بەت ID", "pageinfo-language": "بەت مەزمۇن تىلى", - "pageinfo-robot-policy": "ئىزدەش ماتور ھالىتى", + "pageinfo-content-model": "بەت مەزمۇنى تىپى", + "pageinfo-robot-policy": "ماشىنا ئادەمدە ئىنىدىكىسلاش", "pageinfo-robot-index": "چەكلەنمىگەن", "pageinfo-robot-noindex": "چەكلەنگەن", "pageinfo-watchers": "بەت كۆزەتكۈچىلەر سانى", @@ -2178,7 +2223,7 @@ "filedelete-old-unregistered": "بەلگىلەنگەن ھۆججەتنىڭ \"$1\" تۈزىتىلگەن نەشرى سانداندا يوق.", "filedelete-current-unregistered": "بەلگىلەنگەن ھۆججەت \"$1\" سانداندا يوق.", "filedelete-archive-read-only": "تور بەت مۇلازىمىتىرىدىكى ئارخىپ مۇندەرىجىسى \"$1\" گە يازغىلى بولمايدۇ.", - "previousdiff": "→ ئالدىنقى تەھرىر", + "previousdiff": "→ ئالدىنقى تەھرىرلەش", "nextdiff": "كېيىنكى تەھرىر ←", "mediawarning": "'''ئاگاھلاندۇرۇش''': بۇ ھۆججەتتە زەھەرخەندە كود بولۇشى مۇمكىن، ئۇنى ئىجرا قىلسىڭىز سىستېمىڭىزغا خەۋپ ئېلىپ كېلىشى مۇمكىن.", "imagemaxsize": "سۈرەت چوڭلۇق چەكلىمىسى:
''(ھۆججەت چۈشەندۈرۈش بېتى ئۈچۈن)''", @@ -2635,8 +2680,8 @@ "confirm-unwatch-top": "بۇ بەتنى كۆزەت تىزىمىدىن چىقىرىۋېتەمسىز؟", "imgmultipageprev": "← ئالدىنقى بەت", "imgmultipagenext": "كېيىنكى بەت →", - "imgmultigo": "يۆتكەل!", - "imgmultigoto": "$1 بەتكە يۆتكەل", + "imgmultigo": "يوللاش!", + "imgmultigoto": "$1 .بەتكە يۆتكىلىش", "ascending_abbrev": "ئۆسكۈچى", "descending_abbrev": "كېمەيگۈچى", "table_pager_next": "كېيىنكى بەت", @@ -2645,7 +2690,7 @@ "table_pager_last": "ئەڭ ئاخىرقى بەت", "table_pager_limit": "ھەر بىر بەتتە $1 تۈر كۆرسەت", "table_pager_limit_label": "ھەر بەتتىكى تۈر سانى:", - "table_pager_limit_submit": "يۆتكەل", + "table_pager_limit_submit": "يوللاش", "table_pager_empty": "نەتىجە يوق", "autosumm-blank": "بەتنى قۇرۇقدا", "autosumm-replace": "ئالماشتۇرۇلغان مەزمۇن '$1'", @@ -2666,6 +2711,7 @@ "watchlistedit-raw-done": "كۆزەت تىزىملىكىڭىز يېڭىلاندى.", "watchlistedit-raw-added": "{{PLURAL:$1|1 ماۋزۇ|$1 ماۋزۇ}} قوشۇلدى:", "watchlistedit-raw-removed": "{{PLURAL:$1|1 ماۋزۇ|$1 ماۋزۇ}} چىقىرىۋېتىلدى:", + "watchlisttools-clear": "كۆزىتىش تىزىملىكىنى تازىلاش", "watchlisttools-view": "مۇناسىۋەتلىك ئۆزگەرتىشنى كۆرسەت", "watchlisttools-edit": "كۆزەت تىزىملىكىنى كۆرۈپ تەھرىرلەش", "watchlisttools-raw": "ئەسلى كۆزەت تىزىملىك تەھرىرى", @@ -2698,7 +2744,12 @@ "version-entrypoints": "كىرىش نۇقتىسىنىڭ URL لىرى", "version-entrypoints-header-entrypoint": "كىرىش نۇقتىسى", "version-entrypoints-header-url": "URL", + "redirect-submit": "يوللاش", + "redirect-lookup": "تەكشۈرۈش:", "redirect-value": "قىممىتى:", + "redirect-user": "ئابونت ID", + "redirect-page": "بەت ID", + "redirect-revision": "بەت نەشىرى", "redirect-file": "ھۆججەت نامى", "redirect-not-exists": "قىممىتى تېپىلمىدى", "fileduplicatesearch": "تەكرار ھۆججەت ئىزدە", @@ -2710,7 +2761,6 @@ "fileduplicatesearch-result-n": " \"$1\" ھۆججەتنىڭ تامامەن ئوخشاش {{PLURAL:$2|1 تەكرار|$2 تەكرار}} نۇسخىسى بار.", "fileduplicatesearch-noresults": "\"$1\" ئاتلىق ھۆججەت تېپىلمىدى.", "specialpages": "ئالاھىدە بەتلەر", - "specialpages-note": "* ئادەتتىكى ئالاھىدە بەت.\n* چەكلىمىلىك ئالاھىدە بەتلەر.\n* غەملەنگەن ئالاھىدە بەتلەر(ۋاقتى ئۆتكەن بولۇشى مۇمكىن).", "specialpages-group-maintenance": "ئاسراش دوكلاتى", "specialpages-group-other": "باشقا ئالاھىدە بەتلەر", "specialpages-group-login": "تىزىملىتىش / كىرىش", @@ -2749,6 +2799,7 @@ "compare-invalid-title": "سىز بەلگىلىگەن تېما ئىناۋەتسىز.", "compare-title-not-exists": "سىز بەلگىلىگەن تېما مەۋجۇت ئەمەس.", "compare-revision-not-exists": "سىز بەلگىلىگەن تۈزىتىلگەن نەشرى مەۋجۇت ئەمەس.", + "diff-form": "'''جەدۋەل'''", "dberr-problems": "كەچۈرۈڭ! بۇ بېكەتتە تېخنىكىلىق قىيىنچىلىق كۆرۈلدى.", "dberr-again": "بىر قانچە مىنۇت كۈتۈپ ئاندىن قايتا يۈكلەڭ.", "dberr-info": "(ساندان مۇلازىمىتىرىغا ئۇلىنالمىدى: $1)", @@ -2795,13 +2846,14 @@ "logentry-patrol-patrol": "$3 بەتنىڭ $4 تۈزىتىلگەن نەشرىگە $1 چارلاش بەلگىسى سالدى", "logentry-patrol-patrol-auto": "$3 بەتنىڭ $4 تۈزىتىلگەن نەشرىگە $1 چارلاش بەلگىسى ئاپتوماتىك سالدى", "logentry-newusers-newusers": "ئەزا $1 قۇرۇلبولدى", - "logentry-newusers-create": "ئەزا $1 قۇرۇلبولدى", + "logentry-newusers-create": "ئەزا ئاكونت $1 تىنى {{GENDER:$2|قۇرۇپ بولغان}}", "logentry-newusers-create2": "ئىشلەتكۈچى ھېساباتى $3 نى $1 قۇردى", "logentry-newusers-byemail": "ئىشلەتكۈچى ھېساباتى $3 نى $1 قۇردى ھەمدە ئىمنى تورخەتكە ئەۋەتتى", - "logentry-newusers-autocreate": "ئىشلەتكۈچى $1 ئاپتوماتلىق قۇرۇلدى", + "logentry-newusers-autocreate": "ئىشلەتكۈچى ئاكونتى $1 نى {{GENDER:$2|ئاپتوماتىك قۇردى}}", "logentry-rights-rights": "$3 نىڭ ئىشلەتكۈچى گۇرۇپپىسىنى $4 دىن $5 غا $1 ئالماشتۇردى", "logentry-rights-rights-legacy": "$3 نىڭ ئىشلەتكۈچى گۇرۇپپىسىنى $1 ئۆزگەرتتى", "logentry-rights-autopromote": "$1 نىڭ ئىشلەتكۈچى گۇرۇپپىسى ئۆزلۈكىدىن $4 دىن $5 غا يۈكسەلدى", + "logentry-upload-overwrite": "$1 يېڭى نەشىرى $3 نى {{GENDER:$2|يوللاش}}", "rightsnone": "(يوق)", "feedback-adding": "قايتۇرما ئىنكاسنى بەتكە قوشۇۋاتىدۇ…", "feedback-bugcheck": "قالتىس! كەمتۈكنىڭ ئاللىبۇرۇن يوللانغان [$1 مەلۇملۇق كەمتۈك] ياكى ئەمەسلىكىنى تەكشۈرۈڭ.", @@ -2816,7 +2868,7 @@ "feedback-subject": "تېما:", "feedback-submit": "تاپشۇر", "feedback-thanks": "كۆپ رەھمەت! قايتۇرما ئىنكاسىڭىز \"[$2 $1]\" بەتكە يوللاندى.", - "searchsuggest-search": "ئىزدەش", + "searchsuggest-search": "{{SITENAME}} ئىزدەش", "searchsuggest-containing": "ئىچىدە…", "api-error-badtoken": "ئىچكى خاتالىق: سۆزلىشىش ئىناۋەتسىز.", "api-error-emptypage": "يېڭىدىن قۇرۇش، قۇرۇق بەت يول قۇيۇلمايدۇ.", @@ -2862,5 +2914,6 @@ "special-characters-group-devanagari": "سانسكرىتچە", "special-characters-group-thai": "تايلاندچە", "special-characters-group-lao": "لائوسچە", - "special-characters-group-khmer": "كېخمېرچە" + "special-characters-group-khmer": "كېخمېرچە", + "randomrootpage": "خالىغان غول بەت" } diff --git a/languages/i18n/vi.json b/languages/i18n/vi.json index 8dd0c53c3b..9ab3d48554 100644 --- a/languages/i18n/vi.json +++ b/languages/i18n/vi.json @@ -37,7 +37,8 @@ "Nguyên Lê", "Asmen", "Stephanecbisson", - "Quoclinh94" + "Quoclinh94", + "Tmp1109" ] }, "tog-underline": "Gạch chân liên kết:", @@ -993,7 +994,7 @@ "prefs-editwatchlist-clear": "Xóa sạch danh sách theo dõi của bạn", "prefs-watchlist-days": "Số ngày hiển thị trong danh sách theo dõi:", "prefs-watchlist-days-max": "Tối đa $1 ngày", - "prefs-watchlist-edits": "Số lần sửa đổi tối đa trong danh sách theo dõi mở rộng:", + "prefs-watchlist-edits": "Số lần sửa đổi lớn nhất trong danh sách theo dõi mở rộng:", "prefs-watchlist-edits-max": "Con số tối đa: 1.000", "prefs-watchlist-token": "Dấu hiệu cho danh sách theo dõi:", "prefs-misc": "Linh tinh", @@ -3550,6 +3551,7 @@ "compare-invalid-title": "Tên trang chỉ định không hợp lệ.", "compare-title-not-exists": "Tên trang chỉ định không tồn tại.", "compare-revision-not-exists": "Phiên bản chỉ định không tồn tại.", + "diff-form": "'''biểu mẫu'''", "dberr-problems": "Xin lỗi! Trang này đang gặp phải những khó khăn về kỹ thuật.", "dberr-again": "Xin thử đợi vài phút rồi tải lại trang.", "dberr-info": "(Không thể liên lạc với máy chủ cơ sở dữ liệu: $1)", diff --git a/languages/i18n/yi.json b/languages/i18n/yi.json index ac778bc79e..986f6d3d3d 100644 --- a/languages/i18n/yi.json +++ b/languages/i18n/yi.json @@ -3073,6 +3073,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/zh-hans.json b/languages/i18n/zh-hans.json index 72eddd2aaf..47e7ead590 100644 --- a/languages/i18n/zh-hans.json +++ b/languages/i18n/zh-hans.json @@ -3598,6 +3598,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/zh-hant.json b/languages/i18n/zh-hant.json index d28c05ef6d..1587eebf5c 100644 --- a/languages/i18n/zh-hant.json +++ b/languages/i18n/zh-hant.json @@ -3546,6 +3546,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/messages/MessagesKm.php b/languages/messages/MessagesKm.php index 967224fec9..299beb8f25 100644 --- a/languages/messages/MessagesKm.php +++ b/languages/messages/MessagesKm.php @@ -88,7 +88,7 @@ $defaultDateFormat = 'km'; $dateFormats = [ 'km time' => 'ម៉ោងH:i', 'km date' => 'l ទីd F ឆ្នាំY', - 'km both' => 'ម៉ោងH:i l ទីd F ឆ្នាំY', + 'km both' => 'ម៉ោងH:i l ទីd F ឆ្នាំY', ]; $specialPageAliases = [ diff --git a/maintenance/archives/patch-ip_changes.sql b/maintenance/archives/patch-ip_changes.sql new file mode 100644 index 0000000000..5f05672e84 --- /dev/null +++ b/maintenance/archives/patch-ip_changes.sql @@ -0,0 +1,23 @@ +-- +-- Every time an edit by a logged out user is saved, +-- a row is created in ip_changes. This stores +-- the IP as a hex representation so that we can more +-- easily find edits within an IP range. +-- +CREATE TABLE /*_*/ip_changes ( + -- Foreign key to the revision table, also serves as the unique primary key + ipc_rev_id int unsigned NOT NULL PRIMARY KEY DEFAULT '0', + + -- The timestamp of the revision + ipc_rev_timestamp binary(14) NOT NULL DEFAULT '', + + -- Hex representation of the IP address, as returned by IP::toHex() + -- For IPv4 it will resemble: ABCD1234 + -- For IPv6: v6-ABCD1234000000000000000000000000 + -- BETWEEN is then used to identify revisions within a given range + ipc_hex varbinary(35) NOT NULL DEFAULT '' + +) /*$wgDBTableOptions*/; + +CREATE INDEX /*i*/ipc_rev_timestamp ON /*_*/ip_changes (ipc_rev_timestamp); +CREATE INDEX /*i*/ipc_hex_time ON /*_*/ip_changes (ipc_hex,ipc_rev_timestamp); diff --git a/maintenance/hhvm/makeRepo.php b/maintenance/hhvm/makeRepo.php index 2a102b2486..c1aa082039 100644 --- a/maintenance/hhvm/makeRepo.php +++ b/maintenance/hhvm/makeRepo.php @@ -95,7 +95,7 @@ class HHVMMakeRepo extends Maintenance { print "Found " . count( $files ) . " files in " . count( $dirs ) . " directories\n"; - $tmpDir = wfTempDir() . '/mw-make-repo' . mt_rand( 0, 1<<31 ); + $tmpDir = wfTempDir() . '/mw-make-repo' . mt_rand( 0, 1 << 31 ); if ( !mkdir( $tmpDir ) ) { $this->error( 'Unable to create temporary directory', 1 ); } diff --git a/maintenance/refreshLinks.php b/maintenance/refreshLinks.php index 578a226c91..b099aff44f 100644 --- a/maintenance/refreshLinks.php +++ b/maintenance/refreshLinks.php @@ -448,7 +448,7 @@ class RefreshLinks extends Maintenance { do { $finalConds = $conds; $timestamp = $dbr->addQuotes( $timestamp ); - $finalConds []= + $finalConds [] = "(cl_timestamp > $timestamp OR (cl_timestamp = $timestamp AND cl_from > $lastId))"; $res = $dbr->select( [ 'page', 'categorylinks' ], [ 'page_id', 'cl_timestamp' ], diff --git a/maintenance/sqlite/archives/patch-ip_changes.sql b/maintenance/sqlite/archives/patch-ip_changes.sql new file mode 100644 index 0000000000..5f05672e84 --- /dev/null +++ b/maintenance/sqlite/archives/patch-ip_changes.sql @@ -0,0 +1,23 @@ +-- +-- Every time an edit by a logged out user is saved, +-- a row is created in ip_changes. This stores +-- the IP as a hex representation so that we can more +-- easily find edits within an IP range. +-- +CREATE TABLE /*_*/ip_changes ( + -- Foreign key to the revision table, also serves as the unique primary key + ipc_rev_id int unsigned NOT NULL PRIMARY KEY DEFAULT '0', + + -- The timestamp of the revision + ipc_rev_timestamp binary(14) NOT NULL DEFAULT '', + + -- Hex representation of the IP address, as returned by IP::toHex() + -- For IPv4 it will resemble: ABCD1234 + -- For IPv6: v6-ABCD1234000000000000000000000000 + -- BETWEEN is then used to identify revisions within a given range + ipc_hex varbinary(35) NOT NULL DEFAULT '' + +) /*$wgDBTableOptions*/; + +CREATE INDEX /*i*/ipc_rev_timestamp ON /*_*/ip_changes (ipc_rev_timestamp); +CREATE INDEX /*i*/ipc_hex_time ON /*_*/ip_changes (ipc_hex,ipc_rev_timestamp); diff --git a/maintenance/tables.sql b/maintenance/tables.sql index 14f69324f7..1497d6fc23 100644 --- a/maintenance/tables.sql +++ b/maintenance/tables.sql @@ -410,6 +410,30 @@ CREATE INDEX /*i*/usertext_timestamp ON /*_*/revision (rev_user_text,rev_timesta -- and is a logged-in user. CREATE INDEX /*i*/page_user_timestamp ON /*_*/revision (rev_page,rev_user,rev_timestamp); +-- +-- Every time an edit by a logged out user is saved, +-- a row is created in ip_changes. This stores +-- the IP as a hex representation so that we can more +-- easily find edits within an IP range. +-- +CREATE TABLE /*_*/ip_changes ( + -- Foreign key to the revision table, also serves as the unique primary key + ipc_rev_id int unsigned NOT NULL PRIMARY KEY DEFAULT '0', + + -- The timestamp of the revision + ipc_rev_timestamp binary(14) NOT NULL DEFAULT '', + + -- Hex representation of the IP address, as returned by IP::toHex() + -- For IPv4 it will resemble: ABCD1234 + -- For IPv6: v6-ABCD1234000000000000000000000000 + -- BETWEEN is then used to identify revisions within a given range + ipc_hex varbinary(35) NOT NULL DEFAULT '' + +) /*$wgDBTableOptions*/; + +CREATE INDEX /*i*/ipc_rev_timestamp ON /*_*/ip_changes (ipc_rev_timestamp); +CREATE INDEX /*i*/ipc_hex_time ON /*_*/ip_changes (ipc_hex,ipc_rev_timestamp); + -- -- Holds text of individual page revisions. -- diff --git a/phpcs.xml b/phpcs.xml index d2e4fcc5f0..238fc98f1d 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -2,17 +2,10 @@ - - - - - - - @@ -43,7 +36,6 @@ */includes/StubObject.php . - ^extensions/ diff --git a/resources/src/mediawiki.special/mediawiki.special.search.interwikiwidget.styles.less b/resources/src/mediawiki.special/mediawiki.special.search.interwikiwidget.styles.less index 992ce99961..59464bd846 100644 --- a/resources/src/mediawiki.special/mediawiki.special.search.interwikiwidget.styles.less +++ b/resources/src/mediawiki.special/mediawiki.special.search.interwikiwidget.styles.less @@ -111,7 +111,8 @@ } .mw-search-createlink, .mw-search-nonefound, - .mw-search-results { + .mw-search-results, + .mw-search-interwiki-header { float: left; width: 60%; clear: left; diff --git a/resources/src/mediawiki/mediawiki.toc.print.css b/resources/src/mediawiki/mediawiki.toc.print.css index 69e944021f..5f6eb2586d 100644 --- a/resources/src/mediawiki/mediawiki.toc.print.css +++ b/resources/src/mediawiki/mediawiki.toc.print.css @@ -1,3 +1,4 @@ +#toc.tochidden, .toc.tochidden, .toctoggle { display: none; diff --git a/tests/parser/ParserTestRunner.php b/tests/parser/ParserTestRunner.php index e578418542..c2f396be8d 100644 --- a/tests/parser/ParserTestRunner.php +++ b/tests/parser/ParserTestRunner.php @@ -477,7 +477,7 @@ class ParserTestRunner { * @see staticSetup * * @param array $teardown The snippet array - * @param ScopedCallback|null A ScopedCallback to consume + * @param ScopedCallback|null $nextTeardown A ScopedCallback to consume * @return ScopedCallback */ protected function createTeardownObject( $teardown, $nextTeardown = null ) { @@ -1529,7 +1529,7 @@ class ParserTestRunner { /** * Add articles to the test DB. * - * @param $articles Article info array from TestFileReader + * @param array $articles Article info array from TestFileReader */ public function addArticles( $articles ) { global $wgContLang; diff --git a/tests/phpunit/MediaWikiTestCase.php b/tests/phpunit/MediaWikiTestCase.php index 4afe710580..18e6e97d5d 100644 --- a/tests/phpunit/MediaWikiTestCase.php +++ b/tests/phpunit/MediaWikiTestCase.php @@ -300,7 +300,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { 'ConfigFactory', self::makeTestConfigFactoryInstantiator( $oldConfigFactory, - [ 'main' => $bootstrapConfig ] + [ 'main' => $bootstrapConfig ] ) ); $newServices->resetServiceForTesting( 'DBLoadBalancerFactory' ); diff --git a/tests/phpunit/includes/WatchedItemQueryServiceUnitTest.php b/tests/phpunit/includes/WatchedItemQueryServiceUnitTest.php index 958d70acd2..474487520a 100644 --- a/tests/phpunit/includes/WatchedItemQueryServiceUnitTest.php +++ b/tests/phpunit/includes/WatchedItemQueryServiceUnitTest.php @@ -49,7 +49,7 @@ class WatchedItemQueryServiceUnitTest extends PHPUnit_Framework_TestCase { } /** - * @param $mockDb + * @param PHPUnit_Framework_MockObject_MockObject|Database $mockDb * @return PHPUnit_Framework_MockObject_MockObject|LoadBalancer */ private function getMockLoadBalancer( $mockDb ) { diff --git a/tests/phpunit/includes/WatchedItemStoreUnitTest.php b/tests/phpunit/includes/WatchedItemStoreUnitTest.php index 6c1859921c..950e220845 100644 --- a/tests/phpunit/includes/WatchedItemStoreUnitTest.php +++ b/tests/phpunit/includes/WatchedItemStoreUnitTest.php @@ -2030,7 +2030,7 @@ class WatchedItemStoreUnitTest extends MediaWikiTestCase { } /** - * @param $text + * @param string $text * @param int $ns * * @return PHPUnit_Framework_MockObject_MockObject|Title diff --git a/tests/phpunit/includes/auth/LegacyHookPreAuthenticationProviderTest.php b/tests/phpunit/includes/auth/LegacyHookPreAuthenticationProviderTest.php index 3b0019499d..a4b980f04b 100644 --- a/tests/phpunit/includes/auth/LegacyHookPreAuthenticationProviderTest.php +++ b/tests/phpunit/includes/auth/LegacyHookPreAuthenticationProviderTest.php @@ -282,7 +282,7 @@ class LegacyHookPreAuthenticationProviderTest extends \MediaWikiTestCase { * @dataProvider provideTestForAccountCreation * @param string $msg * @param Status|null $status - * @param StatusValue Result + * @param StatusValue $result Result */ public function testTestForAccountCreation( $msg, $status, $result ) { $this->hook( 'AbortNewAccount', $this->once() ) diff --git a/tests/phpunit/includes/changes/ChangesListFilterTest.php b/tests/phpunit/includes/changes/ChangesListFilterTest.php index 0015453de9..811c8c2b72 100644 --- a/tests/phpunit/includes/changes/ChangesListFilterTest.php +++ b/tests/phpunit/includes/changes/ChangesListFilterTest.php @@ -84,7 +84,7 @@ class ChangesListFilterTest extends MediaWikiTestCase { ] ); - $groupB = $this->getGroup( + $groupB = $this->getGroup( [ 'name' => 'groupB', 'filters' => [ diff --git a/tests/phpunit/includes/changes/EnhancedChangesListTest.php b/tests/phpunit/includes/changes/EnhancedChangesListTest.php index 465bc22f60..1290c641df 100644 --- a/tests/phpunit/includes/changes/EnhancedChangesListTest.php +++ b/tests/phpunit/includes/changes/EnhancedChangesListTest.php @@ -99,7 +99,10 @@ class EnhancedChangesListTest extends MediaWikiLangTestCase { $enhancedChangesList->recentChangesLine( $recentChange, false ); $html = $enhancedChangesList->endRecentChangesList(); - $this->assertRegExp( '/data-mw-revid="5" data-mw-ts="20131103092153" class="[^"]*mw-enhanced-rc[^"]*"/', $html ); + $this->assertRegExp( + '/data-mw-revid="5" data-mw-ts="20131103092153" class="[^"]*mw-enhanced-rc[^"]*"/', + $html + ); $recentChange2 = $this->getEditChange( '20131103092253' ); $enhancedChangesList->recentChangesLine( $recentChange2, false ); diff --git a/tests/phpunit/includes/changes/OldChangesListTest.php b/tests/phpunit/includes/changes/OldChangesListTest.php index 90c60c826c..244a05decd 100644 --- a/tests/phpunit/includes/changes/OldChangesListTest.php +++ b/tests/phpunit/includes/changes/OldChangesListTest.php @@ -126,10 +126,14 @@ class OldChangesListTest extends MediaWikiLangTestCase { $oldChangesList = $this->getOldChangesList(); $line = $oldChangesList->recentChangesLine( $recentChange, false, 1 ); - $this->assertRegExp( '/
  • /', - $line ); - $this->assertRegExp( '/
  • /', - $line ); + $this->assertRegExp( + '/
  • /', + $line + ); + $this->assertRegExp( + '/
  • /', + $line + ); } public function testRecentChangesLine_numberOfWatchingUsers() { diff --git a/tests/phpunit/includes/config/EtcdConfigTest.php b/tests/phpunit/includes/config/EtcdConfigTest.php index 19cffa29b9..c13cf2517c 100644 --- a/tests/phpunit/includes/config/EtcdConfigTest.php +++ b/tests/phpunit/includes/config/EtcdConfigTest.php @@ -90,7 +90,7 @@ class EtcConfigTest extends PHPUnit_Framework_TestCase { */ public function testConstructCacheSpec() { $config = $this->createConfigMock( [ 'cache' => [ - 'class' => HashBagOStuff::class + 'class' => HashBagOStuff::class ] ] ); $config->expects( $this->once() )->method( 'fetchAllFromEtcd' ) ->willReturn( [ diff --git a/tests/phpunit/includes/content/WikitextStructureTest.php b/tests/phpunit/includes/content/WikitextStructureTest.php index 49907c8532..f1b54f6abe 100644 --- a/tests/phpunit/includes/content/WikitextStructureTest.php +++ b/tests/phpunit/includes/content/WikitextStructureTest.php @@ -8,7 +8,7 @@ class WikitextStructureTest extends MediaWikiLangTestCase { /** * Get parser output for Wiki text - * @param $text + * @param string $text * @return ParserOutput */ private function getParserOutput( $text ) { @@ -18,7 +18,7 @@ class WikitextStructureTest extends MediaWikiLangTestCase { /** * Get WikitextStructure for given text - * @param $text + * @param string $text * @return WikiTextStructure */ private function getStructure( $text ) { diff --git a/tests/phpunit/includes/interwiki/ClassicInterwikiLookupTest.php b/tests/phpunit/includes/interwiki/ClassicInterwikiLookupTest.php index 48310a9f41..fd3b0b856a 100644 --- a/tests/phpunit/includes/interwiki/ClassicInterwikiLookupTest.php +++ b/tests/phpunit/includes/interwiki/ClassicInterwikiLookupTest.php @@ -39,7 +39,7 @@ class ClassicInterwikiLookupTest extends MediaWikiTestCase { $lookup = new \MediaWiki\Interwiki\ClassicInterwikiLookup( Language::factory( 'en' ), WANObjectCache::newEmpty(), - 60*60, + 60 * 60, false, 3, 'en' @@ -153,7 +153,7 @@ class ClassicInterwikiLookupTest extends MediaWikiTestCase { $lookup = new \MediaWiki\Interwiki\ClassicInterwikiLookup( Language::factory( 'en' ), WANObjectCache::newEmpty(), - 60*60, + 60 * 60, $cdbFile, 3, 'en' @@ -204,7 +204,7 @@ class ClassicInterwikiLookupTest extends MediaWikiTestCase { $lookup = new \MediaWiki\Interwiki\ClassicInterwikiLookup( Language::factory( 'en' ), WANObjectCache::newEmpty(), - 60*60, + 60 * 60, $hash, 3, 'en' diff --git a/tests/phpunit/includes/libs/objectcache/WANObjectCacheTest.php b/tests/phpunit/includes/libs/objectcache/WANObjectCacheTest.php index 3d405faf3d..58a6d38167 100644 --- a/tests/phpunit/includes/libs/objectcache/WANObjectCacheTest.php +++ b/tests/phpunit/includes/libs/objectcache/WANObjectCacheTest.php @@ -2,7 +2,7 @@ use Wikimedia\TestingAccessWrapper; -class WANObjectCacheTest extends PHPUnit_Framework_TestCase { +class WANObjectCacheTest extends PHPUnit_Framework_TestCase { /** @var WANObjectCache */ private $cache; /**@var BagOStuff */ @@ -912,7 +912,7 @@ class WANObjectCacheTest extends PHPUnit_Framework_TestCase { /** * @dataProvider getWithSetCallback_versions_provider * @param array $extOpts - * @param $versioned + * @param bool $versioned */ public function testGetWithSetCallback_versions( array $extOpts, $versioned ) { $cache = $this->cache; diff --git a/tests/phpunit/includes/libs/xmp/XMPTest.php b/tests/phpunit/includes/libs/xmp/XMPTest.php index 5eee8b88c9..514e6cdddc 100644 --- a/tests/phpunit/includes/libs/xmp/XMPTest.php +++ b/tests/phpunit/includes/libs/xmp/XMPTest.php @@ -4,7 +4,7 @@ * @group Media * @covers XMPReader */ -class XMPTest extends PHPUnit_Framework_TestCase { +class XMPTest extends PHPUnit_Framework_TestCase { protected function setUp() { parent::setUp(); diff --git a/tests/phpunit/includes/search/SearchIndexFieldTest.php b/tests/phpunit/includes/search/SearchIndexFieldTest.php index bb7508c1c8..8b4119e0d3 100644 --- a/tests/phpunit/includes/search/SearchIndexFieldTest.php +++ b/tests/phpunit/includes/search/SearchIndexFieldTest.php @@ -18,11 +18,11 @@ class SearchIndexFieldTest extends MediaWikiTestCase { /** * @dataProvider getMergeCases - * @param $t1 - * @param $n1 - * @param $t2 - * @param $n2 - * @param $result + * @param int $t1 + * @param string $n1 + * @param int $t2 + * @param string $n2 + * @param bool $result */ public function testMerge( $t1, $n1, $t2, $n2, $result ) { $field1 = diff --git a/tests/phpunit/includes/specials/SpecialRecentchangesTest.php b/tests/phpunit/includes/specials/SpecialRecentchangesTest.php index a9a612d51f..0af3089501 100644 --- a/tests/phpunit/includes/specials/SpecialRecentchangesTest.php +++ b/tests/phpunit/includes/specials/SpecialRecentchangesTest.php @@ -27,7 +27,7 @@ class SpecialRecentchangesTest extends AbstractChangesListSpecialPageTestCase { [ 'days=3', [ 'days' => '3' ] ], - [ 'days=0.25', [ 'days' => '0.25'] ], + [ 'days=0.25', [ 'days' => '0.25' ] ], [ 'namespace=5', [ 'namespace' => '5' ] ], diff --git a/tests/phpunit/languages/LanguageCodeTest.php b/tests/phpunit/languages/LanguageCodeTest.php index b33360cfe9..7689ef1dda 100644 --- a/tests/phpunit/languages/LanguageCodeTest.php +++ b/tests/phpunit/languages/LanguageCodeTest.php @@ -37,4 +37,10 @@ class LanguageCodeTest extends PHPUnit_Framework_TestCase { $this->assertArrayNotHasKey( 'simple', $map ); } + public function testReplaceDeprecatedCodes() { + $this->assertEquals( 'gsw', LanguageCode::replaceDeprecatedCodes( 'als' ) ); + $this->assertEquals( 'gsw', LanguageCode::replaceDeprecatedCodes( 'gsw' ) ); + $this->assertEquals( null, LanguageCode::replaceDeprecatedCodes( null ) ); + } + } diff --git a/tests/phpunit/mocks/MockWebRequest.php b/tests/phpunit/mocks/MockWebRequest.php index 3ac5bfb067..90475c384a 100644 --- a/tests/phpunit/mocks/MockWebRequest.php +++ b/tests/phpunit/mocks/MockWebRequest.php @@ -7,8 +7,7 @@ * WebRequest#response), then you might be able to use this mock to simplify * your tests. */ -class MockWebRequest extends WebRequest -{ +class MockWebRequest extends WebRequest { /** * @var WebResponse */ diff --git a/tests/phpunit/mocks/media/MockOggHandler.php b/tests/phpunit/mocks/media/MockOggHandler.php index 99992fe3d8..bb686fd846 100644 --- a/tests/phpunit/mocks/media/MockOggHandler.php +++ b/tests/phpunit/mocks/media/MockOggHandler.php @@ -51,7 +51,7 @@ class MockOggHandler extends OggHandlerTMH { 'length' => $this->getLength( $file ), 'offset' => $this->getOffset( $file ), 'width' => $targetWidth, - 'height' => $targetHeight, + 'height' => $targetHeight, 'isVideo' => !$this->isAudio( $file ), 'thumbtime' => isset( $params['thumbtime'] @@ -59,7 +59,7 @@ class MockOggHandler extends OggHandlerTMH { 'start' => isset( $params['start'] ) ? $params['start'] : false, 'end' => isset( $params['end'] ) ? $params['end'] : false, 'fillwindow' => isset( $params['fillwindow'] ) ? $params['fillwindow'] : false, - 'disablecontrols' => isset ( $params['disablecontrols'] ) ? $params['disablecontrols'] : false + 'disablecontrols' => isset( $params['disablecontrols'] ) ? $params['disablecontrols'] : false ]; // No thumbs for audio diff --git a/tests/qunit/data/load.mock.php b/tests/qunit/data/load.mock.php index 71cf852a91..671bdf1fc2 100644 --- a/tests/qunit/data/load.mock.php +++ b/tests/qunit/data/load.mock.php @@ -42,17 +42,17 @@ mw.loader.implement( 'testUsesNestedMissing', function () { }, {}, {}); ", - 'testSkipped' =>" + 'testSkipped' => " mw.loader.implement( 'testSkipped', function () { QUnit.ok( false, 'Module testSkipped was supposed to be skipped.' ); }, {}, {}); ", - 'testNotSkipped' =>" + 'testNotSkipped' => " mw.loader.implement( 'testNotSkipped', function () {}, {}, {}); ", - 'testUsesSkippable' =>" + 'testUsesSkippable' => " mw.loader.implement( 'testUsesSkippable', function () {}, {}, {}); ", ];