From: jenkins-bot Date: Tue, 23 Dec 2014 11:49:25 +0000 (+0000) Subject: Merge "Use getHtmlCode() instead of getCode() to set the lang attribute" X-Git-Tag: 1.31.0-rc.0~12873 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_aide%28?a=commitdiff_plain;h=2e5bfb55d73d93867c5a1fcb091e6beab2ef56db;hp=7fe6f0206acc7e882de983407666996b7dabc65b;p=lhc%2Fweb%2Fwiklou.git Merge "Use getHtmlCode() instead of getCode() to set the lang attribute" --- diff --git a/HISTORY b/HISTORY index 4343c5d5d7..e5864fd670 100644 --- a/HISTORY +++ b/HISTORY @@ -809,7 +809,7 @@ of files that are no longer available follows. * HTMLForm 'select', 'selectandother', 'selectorother', 'multiselect', and 'radio' fields can now use message keys as labels via the 'options-messages' parameter, which overrides the 'options' parameter. -* Admins can expire users users passwords manually, or on a schedule using the +* Admins can expire users passwords manually, or on a schedule using the $wgPasswordExpirationDays configuration setting. * Add new hook SendWatchlistEmailNotification, this will be used to determine whether to send a watchlist email notification. @@ -1899,7 +1899,7 @@ This is a maintenance release of the MediaWiki 1.21 branch. === New features in 1.21 === * (bug 38110) Schema changes (adding or dropping tables, indices and - fields) can be now be done separately from from other changes that + fields) can be now be done separately from other changes that update.php makes. This is useful in environments that use database permissions to restrict schema changes but allow the DB user that MediaWiki normally runs as to perform other changes that update.php @@ -4300,7 +4300,7 @@ Selected changes since MediaWiki 1.16 that may be of interest: * (bug 20186) Allow filtering Special:Contributions for RevisionDeleted edits. * ajaxwatch now uses the API and JQuery, and can be used to animate arbitrary watch links, not just to watch the page the link is on. -* (bug 20976) "searchmenu-new-nocreate" message now displayed when when there +* (bug 20976) "searchmenu-new-nocreate" message now displayed when there is no title match in search and the user has no rights to create pages. * (bug 23429) Added new hook WatchlistEditorBuildRemoveLine. * (bug 22844) Added support for WinCache object caching (for IIS). @@ -5270,7 +5270,7 @@ comment from another wiki. ** Note that this change will break some extensions which have not been adapted for it. * (bug 17020) Adding fallback encodings for Traditional and Simplified Chinese - languages while the the text is typed as URLs. + languages while the text is typed as URLs. * (bug 17614) Prev / Next links are not shown if all results are shown * (bug 18207) Strange spacing before [[irc:...]] links * Removed float from the user login form in RTL interface - caused display @@ -5441,7 +5441,7 @@ comment from another wiki. enabled * (bug 19857) maintenance/deleteRevision.php on last revision no longer breaks target page -* (bug 20365) Page name with with c/g/h/j/s/u + x are now correctly handled in +* (bug 20365) Page name with c/g/h/j/s/u + x are now correctly handled in Special:MovePage with Esperanto as content language * (bug 20364) Fixed regression in GIF metadata loading * (bug 20299) MediaWiki:Move-subpages and MediaWiki:Move-talk-subpages can now @@ -5451,7 +5451,7 @@ comment from another wiki. * (bug 19966) MediaWiki:License-header is now used for the licensing header in the file description page instead of MediaWiki:License * (bug 20380) Links to history/deleted edits at the top of - Special:RevisionDelete are no more displayed when when doing log suppression + Special:RevisionDelete are no more displayed when doing log suppression * (bug 8143) Localised parser function names are now correctly case insensitive if they contain non-ASCII characters * (bug 19055) maintenance/rebuildrecentchanges.php now purges @@ -6236,7 +6236,7 @@ The following extensions are migrated into MediaWiki 1.14: * Extensions can use the SkinBuildSidebar hook to modify the content of the sidebar and add custom portlets to it * Added 'MakeGlobalVariablesScript' hook for extensions to be able to add vari- - ables into into the output of Skin::makeVariablesScript + ables into the output of Skin::makeVariablesScript * (bug 13846) Added $wgAddGroups and $wgRemoveGroups display on Special:ListGroupRights * (bug 14377) Add a date selector to history pages @@ -9840,7 +9840,7 @@ they will be run along with the main tests by maintenance/parserTests.php * Fix formatting of titles on Special:Undelete * (bug 7026) Fix action=raw&templates=expand * (bug 6976) Add namespace and direction classes to classic skins -* (bug 7144) Don't "return to main" from OutputPage::loginToUse() if the the user can't +* (bug 7144) Don't "return to main" from OutputPage::loginToUse() if the user can't read the main page in the first place * (bug 7188) Fix minor borkage in HTMLForm * (bug 6675) Replaced message 'watchthis' with new message 'watchthisupload in Special:Upload diff --git a/RELEASE-NOTES-1.25 b/RELEASE-NOTES-1.25 index ebe4a72c25..00bc155a4c 100644 --- a/RELEASE-NOTES-1.25 +++ b/RELEASE-NOTES-1.25 @@ -12,6 +12,7 @@ production. * $wgPageShowWatchingUsers was removed. * $wgLocalVirtualHosts has been added to replace $wgConf->localVHosts. * $wgAntiLockFlags was removed. +* $wgJavaScriptTestConfig was removed. * Edit tokens returned from User::getEditToken may change on every call. Token validity must be checked by passing the user-supplied token to User::matchEditToken rather than by testing for equality with a @@ -69,6 +70,7 @@ production. this allows for pagination of prefix results. Extensions using this hook should implement supporting behavior. Not doing so can result in undefined behavior from API clients trying to continue through prefix results. +* Update jQuery from v1.11.1 to v1.11.2. ==== External libraries ==== * MediaWiki now requires certain external libraries to be installed. In the past @@ -111,6 +113,8 @@ production. ** Title::moveTo() was deprecated. Use the MovePage class instead. ** Title::isValidMoveOperation() broken down into MovePage::isValidMove() and MovePage::checkPermissions(). +* The Special:WhatLinksHere page linked from 'Number of redirects to this page' + on action=info about a file page does not list file links anymore. === Action API changes in 1.25 === * (T67403) XML tag highlighting is now only performed for formats @@ -155,6 +159,7 @@ production. * (T76051) list=tags will now continue correctly. * (T76052) list=tags can now indicate whether a tag is defined. * (T75522) list=prefixsearch now supports continuation +* (T78737) action=expandtemplates can now return page properties. === Action API internal changes in 1.25 === * ApiHelp has been rewritten to support i18n and paginated HTML output. @@ -275,6 +280,8 @@ changes to languages because of Bugzilla reports. However, this difference is unlikely to arise in practice. * (T67278) RFC, PMID, and ISBN "magic links" must be surrounded by non-word characters on both sides. +* (T30950, T31025) RFC, PMID, and ISBN "magic links" can no longer contain + newlines; but they can contain   and other non-newline whitespace. == Compatibility == diff --git a/autoload.php b/autoload.php index fd2781c2b4..b1e03e899e 100644 --- a/autoload.php +++ b/autoload.php @@ -44,6 +44,7 @@ $wgAutoloadLocalClasses = array( 'ApiFormatXmlRsd' => __DIR__ . '/includes/api/ApiRsd.php', 'ApiFormatYaml' => __DIR__ . '/includes/api/ApiFormatYaml.php', 'ApiHelp' => __DIR__ . '/includes/api/ApiHelp.php', + 'ApiHelpParamValueMessage' => __DIR__ . '/includes/api/ApiHelpParamValueMessage.php', 'ApiImageRotate' => __DIR__ . '/includes/api/ApiImageRotate.php', 'ApiImport' => __DIR__ . '/includes/api/ApiImport.php', 'ApiImportReporter' => __DIR__ . '/includes/api/ApiImport.php', @@ -1018,6 +1019,7 @@ $wgAutoloadLocalClasses = array( 'SearchResultSet' => __DIR__ . '/includes/search/SearchResultSet.php', 'SearchSqlite' => __DIR__ . '/includes/search/SearchSqlite.php', 'SearchUpdate' => __DIR__ . '/includes/deferred/SearchUpdate.php', + 'SectionProfileCallback' => __DIR__ . '/includes/profiler/SectionProfiler.php', 'SectionProfiler' => __DIR__ . '/includes/profiler/SectionProfiler.php', 'SevenZipStream' => __DIR__ . '/maintenance/7zip.inc', 'ShiConverter' => __DIR__ . '/languages/classes/LanguageShi.php', diff --git a/docs/hooks.txt b/docs/hooks.txt index 369ad9f4bc..8d024d64d8 100644 --- a/docs/hooks.txt +++ b/docs/hooks.txt @@ -1261,7 +1261,7 @@ $reason: reason 'GalleryGetModes': Get list of classes that can render different modes of a gallery -$modeArray: An associative array mapping mode names to classes that implement +&$modeArray: An associative array mapping mode names to classes that implement that mode. It is expected all registered classes are a subclass of ImageGalleryBase. @@ -1461,7 +1461,7 @@ $page: ImagePage object 'ImgAuthBeforeStream': executed before file is streamed to user, but only when using img_auth.php. &$title: the Title object of the file as it would appear for the upload page -&$path: the original file and path name when img_auth was invoked by the the web +&$path: the original file and path name when img_auth was invoked by the web server &$name: the name only component of the file &$result: The location to pass back results of the hook routine (only used if diff --git a/docs/skin.txt b/docs/skin.txt index e998ebd96d..a3c8c3347a 100644 --- a/docs/skin.txt +++ b/docs/skin.txt @@ -7,7 +7,7 @@ MediaWiki includes four core skins: Monobook. * Monobook: Named after the black-and-white photo of a book in the page - background. Introduced in the 2004 release of 1.3, it had been been the + background. Introduced in the 2004 release of 1.3, it had been the default skin since then, before being replaced by Vector. * Modern: An attractive blue/grey theme with sidebar and top bar. Derived from diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php index 9c6f1f09e1..6344c27668 100644 --- a/includes/AutoLoader.php +++ b/includes/AutoLoader.php @@ -24,7 +24,6 @@ * Locations of core classes * Extension classes are specified with $wgAutoloadClasses * This array is a global instead of a static member of AutoLoader to work around a bug in APC - * This array is now generated by maintenance/generateLocalAutoload.php */ require_once __DIR__ . '/../autoload.php'; diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 4a6aa0be44..4261c68b43 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -5481,25 +5481,6 @@ $wgParserTestFiles = array( */ $wgEnableJavaScriptTest = false; -/** - * Configuration for javascript testing. - */ -$wgJavaScriptTestConfig = array( - 'qunit' => array( - // Page where documentation can be found relevant to the QUnit test suite being ran. - // Used in the intro paragraph on [[Special:JavaScriptTest/qunit]] for the - // documentation link in the "javascripttest-qunit-intro" message. - 'documentation' => '//www.mediawiki.org/wiki/Manual:JavaScript_unit_testing', - // If you are submitting the QUnit test suite to a TestSwarm instance, - // point this to the "inject.js" script of that instance. This is was registers - // the QUnit hooks to extract the test results and push them back up into the - // TestSwarm database. - // @example 'http://localhost/testswarm/js/inject.js' - // @example '//integration.mediawiki.org/testswarm/js/inject.js' - 'testswarm-injectjs' => false, - ), -); - /** * Overwrite the caching key prefix with custom value. * @since 1.19 diff --git a/includes/EditPage.php b/includes/EditPage.php index d05b996388..7f5a9c0463 100644 --- a/includes/EditPage.php +++ b/includes/EditPage.php @@ -2118,11 +2118,19 @@ class EditPage { $wgOut->addModules( 'mediawiki.action.edit' ); $wgOut->addModuleStyles( 'mediawiki.action.edit.styles' ); - if ( $wgUser->getOption( 'uselivepreview', false ) ) { + if ( $wgUser->getOption( 'showtoolbar' ) ) { + // The addition of default buttons is handled by getEditToolbar() which + // has its own dependency on this module. The call here ensures the module + // is loaded in time (it has position "top") for other modules to register + // buttons (e.g. extensions, gadgets, user scripts). + $wgOut->addModules( 'mediawiki.toolbar' ); + } + + if ( $wgUser->getOption( 'uselivepreview' ) ) { $wgOut->addModules( 'mediawiki.action.edit.preview' ); } - if ( $wgUser->getOption( 'useeditwarning', false ) ) { + if ( $wgUser->getOption( 'useeditwarning' ) ) { $wgOut->addModules( 'mediawiki.action.edit.editWarning' ); } @@ -3747,7 +3755,11 @@ HTML $tool['id'], ); - $script .= Xml::encodeJsCall( 'mw.toolbar.addButton', $params ); + $script .= Xml::encodeJsCall( + 'mw.toolbar.addButton', + $params, + ResourceLoader::inDebugMode() + ); } $script .= '});'; diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php index 1dd6dc444e..403566e1e1 100644 --- a/includes/GlobalFunctions.php +++ b/includes/GlobalFunctions.php @@ -1067,14 +1067,18 @@ function wfDebugMem( $exact = false ) { } /** - * Send a line to a supplementary debug log file, if configured, or main debug log if not. - * To configure a supplementary log file, set $wgDebugLogGroups[$logGroup] to a string - * filename or an associative array mapping 'destination' to the desired filename. The - * associative array may also contain a 'sample' key with an integer value, specifying - * a sampling factor. + * Send a line to a supplementary debug log file, if configured, or main debug + * log if not. + * + * To configure a supplementary log file, set $wgDebugLogGroups[$logGroup] to + * a string filename or an associative array mapping 'destination' to the + * desired filename. The associative array may also contain a 'sample' key + * with an integer value, specifying a sampling factor. Sampled log events + * will be emitted with a 1 in N random chance. * * @since 1.23 support for sampling log messages via $wgDebugLogGroups. * @since 1.25 support for additional context data + * @since 1.25 sample behavior dependent on configured $wgMWLoggerDefaultSpi * * @param string $logGroup * @param string $text @@ -1106,7 +1110,7 @@ function wfDebugLog( $logger = MWLogger::getInstance( $logGroup ); $context['private'] = ( $dest === 'private' ); - $logger->debug( $text, $context ); + $logger->info( $text, $context ); } /** @@ -3893,7 +3897,7 @@ function wfBCP47( $code ) { /** * Get a cache object. * - * @param int $inputType Cache type, one the the CACHE_* constants. + * @param int $inputType Cache type, one of the CACHE_* constants. * @return BagOStuff */ function wfGetCache( $inputType ) { diff --git a/includes/Html.php b/includes/Html.php index b3437d3930..e0337463fd 100644 --- a/includes/Html.php +++ b/includes/Html.php @@ -893,7 +893,7 @@ class Html { continue; } if ( $nsId === NS_MAIN ) { - // For other namespaces use use the namespace prefix as label, but for + // For other namespaces use the namespace prefix as label, but for // main we don't use "" but the user message describing it (e.g. "(Main)" or "(Article)") $nsName = wfMessage( 'blanknamespace' )->text(); } elseif ( is_int( $nsId ) ) { diff --git a/includes/HtmlFormatter.php b/includes/HtmlFormatter.php index ccbfba8211..e5efb5b8ec 100644 --- a/includes/HtmlFormatter.php +++ b/includes/HtmlFormatter.php @@ -178,7 +178,7 @@ class HtmlFormatter { // CSS Classes $domElemsToRemove = array(); - $xpath = new DOMXpath( $doc ); + $xpath = new DOMXPath( $doc ); foreach ( $removals['CLASS'] as $classToRemove ) { $elements = $xpath->query( '//*[contains(@class, "' . $classToRemove . '")]' ); diff --git a/includes/Import.php b/includes/Import.php index 6f933519d6..5b86fec848 100644 --- a/includes/Import.php +++ b/includes/Import.php @@ -424,11 +424,11 @@ class WikiImporter { $buffer = ""; while ( $this->reader->read() ) { switch ( $this->reader->nodeType ) { - case XmlReader::TEXT: - case XmlReader::SIGNIFICANT_WHITESPACE: + case XMLReader::TEXT: + case XMLReader::SIGNIFICANT_WHITESPACE: $buffer .= $this->reader->value; break; - case XmlReader::END_ELEMENT: + case XMLReader::END_ELEMENT: return $buffer; } } @@ -466,7 +466,7 @@ class WikiImporter { if ( !Hooks::run( 'ImportHandleToplevelXMLTag', array( $this ) ) ) { // Do nothing - } elseif ( $tag == 'mediawiki' && $type == XmlReader::END_ELEMENT ) { + } elseif ( $tag == 'mediawiki' && $type == XMLReader::END_ELEMENT ) { break; } elseif ( $tag == 'siteinfo' ) { $this->handleSiteInfo(); @@ -516,7 +516,7 @@ class WikiImporter { 'logtitle', 'params' ); while ( $this->reader->read() ) { - if ( $this->reader->nodeType == XmlReader::END_ELEMENT && + if ( $this->reader->nodeType == XMLReader::END_ELEMENT && $this->reader->name == 'logitem' ) { break; } @@ -580,7 +580,7 @@ class WikiImporter { $badTitle = false; while ( $skip ? $this->reader->next() : $this->reader->read() ) { - if ( $this->reader->nodeType == XmlReader::END_ELEMENT && + if ( $this->reader->nodeType == XMLReader::END_ELEMENT && $this->reader->name == 'page' ) { break; } @@ -645,7 +645,7 @@ class WikiImporter { $skip = false; while ( $skip ? $this->reader->next() : $this->reader->read() ) { - if ( $this->reader->nodeType == XmlReader::END_ELEMENT && + if ( $this->reader->nodeType == XMLReader::END_ELEMENT && $this->reader->name == 'revision' ) { break; } @@ -737,7 +737,7 @@ class WikiImporter { $skip = false; while ( $skip ? $this->reader->next() : $this->reader->read() ) { - if ( $this->reader->nodeType == XmlReader::END_ELEMENT && + if ( $this->reader->nodeType == XMLReader::END_ELEMENT && $this->reader->name == 'upload' ) { break; } @@ -835,7 +835,7 @@ class WikiImporter { $info = array(); while ( $this->reader->read() ) { - if ( $this->reader->nodeType == XmlReader::END_ELEMENT && + if ( $this->reader->nodeType == XMLReader::END_ELEMENT && $this->reader->name == 'contributor' ) { break; } diff --git a/includes/Linker.php b/includes/Linker.php index a55eee90ad..ac4bb99da8 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -1179,7 +1179,7 @@ class Linker { Hooks::run( 'UserToolLinksEdit', array( $userId, $userText, &$items ) ); if ( $items ) { - return wfMessage( 'word-separator' )->plain() + return wfMessage( 'word-separator' )->escaped() . '' . wfMessage( 'parentheses' )->rawParams( $wgLang->pipeList( $items ) )->escaped() . ''; @@ -1266,7 +1266,7 @@ class Linker { $userId = $rev->getUser( Revision::FOR_THIS_USER ); $userText = $rev->getUserText( Revision::FOR_THIS_USER ); $link = self::userLink( $userId, $userText ) - . wfMessage( 'word-separator' )->plain() + . wfMessage( 'word-separator' )->escaped() . self::userToolLinks( $userId, $userText ); } else { $link = wfMessage( 'rev-deleted-user' )->escaped(); @@ -1812,7 +1812,7 @@ class Linker { $inner = self::buildRollbackLink( $rev, $context, $editCount ); if ( !in_array( 'noBrackets', $options ) ) { - $inner = $context->msg( 'brackets' )->rawParams( $inner )->plain(); + $inner = $context->msg( 'brackets' )->rawParams( $inner )->escaped(); } return '' . $inner . ''; diff --git a/includes/MWTimestamp.php b/includes/MWTimestamp.php index 4b3d36a71f..ea91470e85 100644 --- a/includes/MWTimestamp.php +++ b/includes/MWTimestamp.php @@ -182,6 +182,11 @@ class MWTimestamp { $output .= ' GMT'; } + if ( $style == TS_MW && strlen( $output ) !== 14 ) { + throw new TimestampException( __METHOD__ . ': The timestamp cannot be represented in ' . + 'the specified format' ); + } + return $output; } diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 24b9e46f42..411bb2e51a 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -1075,7 +1075,7 @@ class OutputPage extends ContextSource { } /** - * Set the page as printable, i.e. it'll be displayed with with all + * Set the page as printable, i.e. it'll be displayed with all * print styles included */ public function setPrintable() { diff --git a/includes/Preferences.php b/includes/Preferences.php index 44995aca35..aca6dcbc3f 100644 --- a/includes/Preferences.php +++ b/includes/Preferences.php @@ -130,8 +130,7 @@ class Preferences { if ( $disable && !in_array( $name, self::$saveBlacklist ) ) { $info['disabled'] = 'disabled'; } - $field = HTMLForm::loadInputFromParameters( $name, $info ); // For validation - $field->mParent = $dummyForm; + $field = HTMLForm::loadInputFromParameters( $name, $info, $dummyForm ); // For validation $defaultOptions = User::getDefaultOptions(); $globalDefault = isset( $defaultOptions[$name] ) ? $defaultOptions[$name] diff --git a/includes/User.php b/includes/User.php index bda825f2be..34af4c5c5c 100644 --- a/includes/User.php +++ b/includes/User.php @@ -2489,7 +2489,7 @@ class User implements IDBAccessObject { $type = $oldaddr != '' ? 'changed' : 'set'; $result = $this->sendConfirmationMail( $type ); if ( $result->isGood() ) { - // Say the the caller that a confirmation mail has been sent + // Say to the caller that a confirmation mail has been sent $result->value = 'eauth'; } } else { diff --git a/includes/WikiMap.php b/includes/WikiMap.php index 34cd48dacf..f16f5aa767 100644 --- a/includes/WikiMap.php +++ b/includes/WikiMap.php @@ -161,7 +161,7 @@ class WikiReference { } /** - * Get the the URL in a way to de displayed to the user + * Get the URL in a way to be displayed to the user * More or less Wikimedia specific * * @return string diff --git a/includes/actions/InfoAction.php b/includes/actions/InfoAction.php index de51843883..686f63d392 100644 --- a/includes/actions/InfoAction.php +++ b/includes/actions/InfoAction.php @@ -338,7 +338,11 @@ class InfoAction extends FormlessAction { $whatLinksHere, $this->msg( 'pageinfo-redirects-name' )->escaped(), array(), - array( 'hidelinks' => 1, 'hidetrans' => 1 ) + array( + 'hidelinks' => 1, + 'hidetrans' => 1, + 'hideimages' => $title->getNamespace() == NS_FILE + ) ), $this->msg( 'pageinfo-redirects-value' ) ->numParams( count( $title->getRedirectsHere() ) ) diff --git a/includes/api/ApiBase.php b/includes/api/ApiBase.php index 9cb895d3ac..9985c36b86 100644 --- a/includes/api/ApiBase.php +++ b/includes/api/ApiBase.php @@ -66,13 +66,11 @@ abstract class ApiBase extends ContextSource { const PARAM_RANGE_ENFORCE = 9; /// @since 1.25 // Specify an alternative i18n message for this help parameter. - // Value can be a string key, an array giving key and parameters, or a - // Message object. + // Value is $msg for ApiBase::makeMessage() const PARAM_HELP_MSG = 10; /// @since 1.25 // Specify additional i18n messages to append to the normal message. Value - // is an array of any of strings giving the message key, arrays giving key and - // parameters, or Message objects. + // is an array of $msg for ApiBase::makeMessage() const PARAM_HELP_MSG_APPEND = 11; /// @since 1.25 // Specify additional information tags for the parameter. Value is an array @@ -82,9 +80,14 @@ abstract class ApiBase extends ContextSource { // comma-joined list of values, $3 = module prefix. const PARAM_HELP_MSG_INFO = 12; /// @since 1.25 - // When PARAM_DFLT is an array, this may be an array mapping those values + // When PARAM_TYPE is an array, this may be an array mapping those values // to page titles which will be linked in the help. const PARAM_VALUE_LINKS = 13; + /// @since 1.25 + // When PARAM_TYPE is an array, this is an array mapping those values to + // $msg for ApiBase::makeMessage(). Any value not having a mapping will use + // apihelp-{$path}-paramvalue-{$param}-{$value} is used. + const PARAM_HELP_MSG_PER_VALUE = 14; const LIMIT_BIG1 = 500; // Fast query, std user limit const LIMIT_BIG2 = 5000; // Fast query, bot/sysop limit @@ -2018,6 +2021,10 @@ abstract class ApiBase extends ContextSource { * @return array Keys are parameter names, values are arrays of Message objects */ public function getFinalParamDescription() { + $prefix = $this->getModulePrefix(); + $name = $this->getModuleName(); + $path = $this->getModulePath(); + $desc = $this->getParamDescription(); Hooks::run( 'APIGetParamDescription', array( &$this, &$desc ) ); @@ -2048,35 +2055,61 @@ abstract class ApiBase extends ContextSource { if ( isset( $settings[ApiBase::PARAM_HELP_MSG] ) ) { $msg = $settings[ApiBase::PARAM_HELP_MSG]; } else { - $msg = $this->msg( "apihelp-{$this->getModulePath()}-param-{$param}" ); + $msg = $this->msg( "apihelp-{$path}-param-{$param}" ); if ( !$msg->exists() ) { $msg = $this->msg( 'api-help-fallback-parameter', $d ); } } - $msg = ApiBase::makeMessage( $msg, $this->getContext(), array( - $this->getModulePrefix(), - $param, - $this->getModuleName(), - $this->getModulePath(), - ) ); + $msg = ApiBase::makeMessage( $msg, $this->getContext(), + array( $prefix, $param, $name, $path ) ); if ( !$msg ) { $this->dieDebug( __METHOD__, 'Value in ApiBase::PARAM_HELP_MSG is not valid' ); } $msgs[$param] = array( $msg ); + if ( isset( $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE] ) ) { + if ( !is_array( $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE] ) ) { + $this->dieDebug( __METHOD__, + 'ApiBase::PARAM_HELP_MSG_PER_VALUE is not valid' ); + } + if ( !is_array( $settings[ApiBase::PARAM_TYPE] ) ) { + $this->dieDebug( __METHOD__, + 'ApiBase::PARAM_HELP_MSG_PER_VALUE may only be used when ' . + 'ApiBase::PARAM_TYPE is an array' ); + } + + $valueMsgs = $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE]; + foreach ( $settings[ApiBase::PARAM_TYPE] as $value ) { + if ( isset( $valueMsgs[$value] ) ) { + $msg = $valueMsgs[$value]; + } else { + $msg = "apihelp-{$path}-paramvalue-{$param}-{$value}"; + } + $m = ApiBase::makeMessage( $msg, $this->getContext(), + array( $prefix, $param, $name, $path, $value ) ); + if ( $m ) { + $m = new ApiHelpParamValueMessage( + $value, + array( $m->getKey(), 'api-help-param-no-description' ), + $m->getParams() + ); + $msgs[$param][] = $m->setContext( $this->getContext() ); + } else { + $this->dieDebug( __METHOD__, + "Value in ApiBase::PARAM_HELP_MSG_PER_VALUE for $value is not valid" ); + } + } + } + if ( isset( $settings[ApiBase::PARAM_HELP_MSG_APPEND] ) ) { if ( !is_array( $settings[ApiBase::PARAM_HELP_MSG_APPEND] ) ) { $this->dieDebug( __METHOD__, 'Value for ApiBase::PARAM_HELP_MSG_APPEND is not an array' ); } foreach ( $settings[ApiBase::PARAM_HELP_MSG_APPEND] as $m ) { - $m = ApiBase::makeMessage( $m, $this->getContext(), array( - $this->getModulePrefix(), - $param, - $this->getModuleName(), - $this->getModulePath(), - ) ); + $m = ApiBase::makeMessage( $m, $this->getContext(), + array( $prefix, $param, $name, $path ) ); if ( $m ) { $msgs[$param][] = $m; } else { diff --git a/includes/api/ApiExpandTemplates.php b/includes/api/ApiExpandTemplates.php index 751be75fbb..4a5afb998f 100644 --- a/includes/api/ApiExpandTemplates.php +++ b/includes/api/ApiExpandTemplates.php @@ -114,7 +114,7 @@ class ApiExpandTemplates extends ApiBase { } else { if ( isset( $prop['categories'] ) ) { $categories = $wgParser->getOutput()->getCategories(); - if ( !empty( $categories ) ) { + if ( $categories ) { $categories_result = array(); foreach ( $categories as $category => $sortkey ) { $entry = array(); @@ -126,6 +126,20 @@ class ApiExpandTemplates extends ApiBase { $retval['categories'] = $categories_result; } } + if ( isset( $prop['properties'] ) ) { + $properties = $wgParser->getOutput()->getProperties(); + if ( $properties ) { + $properties_result = array(); + foreach ( $properties as $name => $value ) { + $entry = array(); + $entry['name'] = $name; + ApiResult::setContent( $entry, $value ); + $properties_result[] = $entry; + } + $result->setIndexedTagName( $properties_result, 'property' ); + $retval['properties'] = $properties_result; + } + } if ( isset( $prop['volatile'] ) && $frame->isVolatile() ) { $retval['volatile'] = ''; } @@ -157,6 +171,7 @@ class ApiExpandTemplates extends ApiBase { ApiBase::PARAM_TYPE => array( 'wikitext', 'categories', + 'properties', 'volatile', 'ttl', 'parsetree', diff --git a/includes/api/ApiHelp.php b/includes/api/ApiHelp.php index 8708fb78db..dd05f45f46 100644 --- a/includes/api/ApiHelp.php +++ b/includes/api/ApiHelp.php @@ -546,10 +546,10 @@ class ApiHelp extends ApiBase { } if ( $description ) { - $help['parameters'] .= Html::openElement( 'dd', - array( 'class' => 'description' ) ); - $help['parameters'] .= join( '', $description ); - $help['parameters'] .= Html::closeElement( 'dd' ); + $description = join( '', $description ); + $description = preg_replace( '!\s*\s*<\1>\s*!', "\n", $description ); + $help['parameters'] .= Html::rawElement( 'dd', + array( 'class' => 'description' ), $description ); } foreach ( $info as $i ) { diff --git a/includes/api/ApiHelpParamValueMessage.php b/includes/api/ApiHelpParamValueMessage.php new file mode 100644 index 0000000000..7cf3d6edb8 --- /dev/null +++ b/includes/api/ApiHelpParamValueMessage.php @@ -0,0 +1,72 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * + * @file + */ + +/** + * Message subclass that prepends wikitext for API help. + * + * This exists so the apihelp-*-paramvalue-*-* messages don't all have to + * include markup wikitext while still keeping the + * 'APIGetParamDescriptionMessages' hook simple. + * + * @since 1.25 + */ +class ApiHelpParamValueMessage extends Message { + + protected $paramValue; + + /** + * @see Message::__construct + * + * @param string $paramValue Parameter value being documented + * @param string $text Message to use. + * @param array $params Parameters for the message. + * @throws InvalidArgumentException + */ + public function __construct( $paramValue, $text, $params = array() ) { + parent::__construct( $text, $params ); + $this->paramValue = $paramValue; + } + + /** + * Fetch the parameter value + * @return string + */ + public function getParamValue() { + return $this->paramValue; + } + + /** + * Fetch the message. + * @return string + */ + public function fetchMessage() { + if ( $this->message === null ) { + $this->message = ";{$this->paramValue}:" . parent::fetchMessage(); + } + return $this->message; + } + +} diff --git a/includes/api/ApiMain.php b/includes/api/ApiMain.php index 81353f64b1..c03e513779 100644 --- a/includes/api/ApiMain.php +++ b/includes/api/ApiMain.php @@ -575,7 +575,7 @@ class ApiMain extends ApiBase { $wildcard ); - return "/https?:\/\/$wildcard/"; + return "/^https?:\/\/$wildcard$/"; } protected function sendCacheHeaders() { diff --git a/includes/api/ApiParamInfo.php b/includes/api/ApiParamInfo.php index 17773a760c..b74d52866f 100644 --- a/includes/api/ApiParamInfo.php +++ b/includes/api/ApiParamInfo.php @@ -129,8 +129,9 @@ class ApiParamInfo extends ApiBase { * @param array $res Result array * @param string $key Result key * @param Message[] $msgs + * @param bool $joinLists */ - protected function formatHelpMessages( array &$res, $key, array $msgs ) { + protected function formatHelpMessages( array &$res, $key, array $msgs, $joinLists = false ) { switch ( $this->helpFormat ) { case 'none': break; @@ -141,6 +142,9 @@ class ApiParamInfo extends ApiBase { $ret[] = $m->setContext( $this->context )->text(); } $res[$key] = join( "\n\n", $ret ); + if ( $joinLists ) { + $res[$key] = preg_replace( '!^(([*#:;])[^\n]*)\n\n(?=\2)!m', "$1\n", $res[$key] ); + } break; case 'html': @@ -148,16 +152,24 @@ class ApiParamInfo extends ApiBase { foreach ( $msgs as $m ) { $ret[] = $m->setContext( $this->context )->parseAsBlock(); } - $res[$key] = join( "\n", $ret ); + $ret = join( "\n", $ret ); + if ( $joinLists ) { + $ret = preg_replace( '!\s*\s*<\1>\s*!', "\n", $ret ); + } + $res[$key] = $ret; break; case 'raw': $res[$key] = array(); foreach ( $msgs as $m ) { - $res[$key][] = array( + $a = array( 'key' => $m->getKey(), 'params' => $m->getParams(), ); + if ( $m instanceof ApiHelpParamValueMessage ) { + $a['forvalue'] = $m->getParamValue(); + } + $res[$key][] = $a; } $this->getResult()->setIndexedTagName( $res[$key], 'msg' ); break; @@ -232,7 +244,7 @@ class ApiParamInfo extends ApiBase { 'name' => $name ); if ( isset( $paramDesc[$name] ) ) { - $this->formatHelpMessages( $item, 'description', $paramDesc[$name] ); + $this->formatHelpMessages( $item, 'description', $paramDesc[$name], true ); } if ( !empty( $settings[ApiBase::PARAM_REQUIRED] ) ) { diff --git a/includes/api/ApiQueryAllImages.php b/includes/api/ApiQueryAllImages.php index 725b7822b6..20e9f5e509 100644 --- a/includes/api/ApiQueryAllImages.php +++ b/includes/api/ApiQueryAllImages.php @@ -333,7 +333,9 @@ class ApiQueryAllImages extends ApiQueryGeneratorBase { 'prop' => array( ApiBase::PARAM_TYPE => ApiQueryImageInfo::getPropertyNames( $this->propertyFilter ), ApiBase::PARAM_DFLT => 'timestamp|url', - ApiBase::PARAM_ISMULTI => true + ApiBase::PARAM_ISMULTI => true, + ApiBase::PARAM_HELP_MSG => 'apihelp-query+imageinfo-param-prop', + ApiBase::PARAM_HELP_MSG_PER_VALUE => ApiQueryImageInfo::getPropertyMessages( $this->propertyFilter ), ), 'prefix' => null, 'minsize' => array( diff --git a/includes/api/ApiQueryAllPages.php b/includes/api/ApiQueryAllPages.php index a85c9c9361..e243593b1b 100644 --- a/includes/api/ApiQueryAllPages.php +++ b/includes/api/ApiQueryAllPages.php @@ -168,9 +168,23 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase { $this->addTables( 'langlinks' ); $this->addWhere( 'page_id=ll_from' ); $this->addOption( 'STRAIGHT_JOIN' ); - // We have to GROUP BY all selected fields to stop - // PostgreSQL from whining - $this->addOption( 'GROUP BY', $selectFields ); + + // MySQL filesorts if we use a GROUP BY that works with the rules + // in the 1992 SQL standard (it doesn't like having the + // constant-in-WHERE page_namespace column in there). Using the + // 1999 rules works fine, but that breaks other DBs. Sigh. + /// @todo Once we drop support for 1992-rule DBs, we can simplify this. + $dbType = $db->getType(); + if ( $dbType === 'mysql' || $dbType === 'sqlite' || + $dbType === 'postgres' && $db->getServerVersion() >= 9.1 + ) { + // 1999 rules, or screw-the-rules + $this->addOption( 'GROUP BY', array( 'page_title', 'page_id' ) ); + } else { + // 1992 rules + $this->addOption( 'GROUP BY', $selectFields ); + } + $forceNameTitleIndex = false; } diff --git a/includes/api/ApiQueryImageInfo.php b/includes/api/ApiQueryImageInfo.php index cfd06f1f35..c4ca5d66cf 100644 --- a/includes/api/ApiQueryImageInfo.php +++ b/includes/api/ApiQueryImageInfo.php @@ -632,7 +632,8 @@ class ApiQueryImageInfo extends ApiQueryBase { 'prop' => array( ApiBase::PARAM_ISMULTI => true, ApiBase::PARAM_DFLT => 'timestamp|user', - ApiBase::PARAM_TYPE => self::getPropertyNames() + ApiBase::PARAM_TYPE => self::getPropertyNames(), + ApiBase::PARAM_HELP_MSG_PER_VALUE => self::getPropertyMessages(), ), 'limit' => array( ApiBase::PARAM_TYPE => 'limit', @@ -690,11 +691,43 @@ class ApiQueryImageInfo extends ApiQueryBase { * Returns all possible parameters to iiprop * * @param array $filter List of properties to filter out - * * @return array */ public static function getPropertyNames( $filter = array() ) { - return array_diff( array_keys( self::getProperties() ), $filter ); + return array_keys( self::getPropertyMessages( $filter ) ); + } + + /** + * Returns messages for all possible parameters to iiprop + * + * @param array $filter List of properties to filter out + * @return array + */ + public static function getPropertyMessages( $filter = array() ) { + return array_diff_key( + array( + 'timestamp' => 'apihelp-query+imageinfo-paramvalue-prop-timestamp', + 'user' => 'apihelp-query+imageinfo-paramvalue-prop-user', + 'userid' => 'apihelp-query+imageinfo-paramvalue-prop-userid', + 'comment' => 'apihelp-query+imageinfo-paramvalue-prop-comment', + 'parsedcomment' => 'apihelp-query+imageinfo-paramvalue-prop-parsedcomment', + 'canonicaltitle' => 'apihelp-query+imageinfo-paramvalue-prop-canonicaltitle', + 'url' => 'apihelp-query+imageinfo-paramvalue-prop-url', + 'size' => 'apihelp-query+imageinfo-paramvalue-prop-size', + 'dimensions' => 'apihelp-query+imageinfo-paramvalue-prop-dimensions', + 'sha1' => 'apihelp-query+imageinfo-paramvalue-prop-sha1', + 'mime' => 'apihelp-query+imageinfo-paramvalue-prop-mime', + 'thumbmime' => 'apihelp-query+imageinfo-paramvalue-prop-thumbmime', + 'mediatype' => 'apihelp-query+imageinfo-paramvalue-prop-mediatype', + 'metadata' => 'apihelp-query+imageinfo-paramvalue-prop-metadata', + 'commonmetadata' => 'apihelp-query+imageinfo-paramvalue-prop-commonmetadata', + 'extmetadata' => 'apihelp-query+imageinfo-paramvalue-prop-extmetadata', + 'archivename' => 'apihelp-query+imageinfo-paramvalue-prop-archivename', + 'bitdepth' => 'apihelp-query+imageinfo-paramvalue-prop-bitdepth', + 'uploadwarning' => 'apihelp-query+imageinfo-paramvalue-prop-uploadwarning', + ), + array_flip( $filter ) + ); } /** diff --git a/includes/api/ApiQueryInfo.php b/includes/api/ApiQueryInfo.php index 88b2074eff..e6667b4026 100644 --- a/includes/api/ApiQueryInfo.php +++ b/includes/api/ApiQueryInfo.php @@ -811,7 +811,9 @@ class ApiQueryInfo extends ApiQueryBase { 'displaytitle', // If you add more properties here, please consider whether they // need to be added to getCacheMode() - ) ), + ), + ApiBase::PARAM_HELP_MSG_PER_VALUE => array(), + ), 'token' => array( ApiBase::PARAM_DEPRECATED => true, ApiBase::PARAM_DFLT => null, diff --git a/includes/api/ApiQueryStashImageInfo.php b/includes/api/ApiQueryStashImageInfo.php index be6f66968b..1debb2e14c 100644 --- a/includes/api/ApiQueryStashImageInfo.php +++ b/includes/api/ApiQueryStashImageInfo.php @@ -90,7 +90,9 @@ class ApiQueryStashImageInfo extends ApiQueryImageInfo { 'prop' => array( ApiBase::PARAM_ISMULTI => true, ApiBase::PARAM_DFLT => 'timestamp|url', - ApiBase::PARAM_TYPE => self::getPropertyNames( $this->propertyFilter ) + ApiBase::PARAM_TYPE => self::getPropertyNames( $this->propertyFilter ), + ApiBase::PARAM_HELP_MSG => 'apihelp-query+imageinfo-param-prop', + ApiBase::PARAM_HELP_MSG_PER_VALUE => self::getPropertyMessages( $this->propertyFilter ) ), 'urlwidth' => array( ApiBase::PARAM_TYPE => 'integer', diff --git a/includes/api/i18n/be-tarask.json b/includes/api/i18n/be-tarask.json index 754c9a3ec4..3e8e3bc88c 100644 --- a/includes/api/i18n/be-tarask.json +++ b/includes/api/i18n/be-tarask.json @@ -4,7 +4,7 @@ "Red Winged Duck" ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Дакумэнтацыя]\n* [https://www.mediawiki.org/wiki/API:FAQ Частыя пытаньні]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Сьпіс рассылкі]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API-аб’явы]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Памылкі і запыты]\n
\nСтатус: усе магчымасьці на гэтай старонцы павінны працаваць, але API знаходзіцца ў актыўнай распрацоўцы і можа зьмяняцца ў любы момант. Падпісвайцеся на [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ рассылку mediawiki-api-announce] дзеля паведамленьняў пра абнаўленьні.\n\nПамылковыя запыты: калі да API дасылаюцца памылковыя запыты, HTTP-загаловак будзе дасланы з ключом «MediaWiki-API-Error», а потым і значэньне загалоўка і код памылкі будуць выстаўленыя на аднолькавае значэньне. Дзеля дадатковай інфармацыі глядзіце https://www.mediawiki.org/wiki/API:Errors_and_warnings.", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Дакумэнтацыя]\n* [https://www.mediawiki.org/wiki/API:FAQ Частыя пытаньні]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Сьпіс рассылкі]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API-аб’явы]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Памылкі і запыты]\n
\nСтатус: усе магчымасьці на гэтай старонцы павінны працаваць, але API знаходзіцца ў актыўнай распрацоўцы і можа зьмяняцца ў любы момант. Падпісвайцеся на [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ рассылку mediawiki-api-announce] дзеля паведамленьняў пра абнаўленьні.\n\nПамылковыя запыты: калі да API дасылаюцца памылковыя запыты, HTTP-загаловак будзе дасланы з ключом «MediaWiki-API-Error», а потым і значэньне загалоўка і код памылкі будуць выстаўленыя на аднолькавае значэньне. Дзеля дадатковай інфармацыі глядзіце https://www.mediawiki.org/wiki/API:Errors_and_warnings.", "apihelp-main-param-action": "Дзеяньне для выкананьня.", "apihelp-main-param-format": "Фармат вываду.", "apihelp-main-param-maxlag": "Максымальная затрымка можа ўжывацца, калі MediaWiki ўсталяваная ў клястэр з рэплікаванай базай зьвестак. Дзеля захаваньня дзеяньняў, якія выклікаюць затрымку рэплікацыі, гэты парамэтар можа прымусіць кліента чакаць, пакуль затрымка рэплікацыі меншая за яго значэньне. У выпадку доўгай затрымкі, вяртаецца код памылкі «maxlag» з паведамленьнем кшталту «Чаканьне $host: $lag сэкундаў затрымкі».
Глядзіце https://www.mediawiki.org/wiki/Manual:Maxlag_parameter дзеля дадатковай інфармацыі.", @@ -28,5 +28,9 @@ "apihelp-block-param-allowusertalk": "Дазволіць удзельніку рэдагаваць уласную старонку гутарак (залежыць ад $wgBlockAllowsUTEdit).", "apihelp-block-param-reblock": "Калі ўдзельнік ужо заблякаваны, перапісаць дзейнае блякаваньне.", "apihelp-block-param-watchuser": "Назіраць за старонкай удзельніка або старонкай IP-адрасу, а таксама старонкай гутарак.", - "apihelp-block-example-ip-simple": "Заблякаваць IP-адрас 192.0.2.5 на тры дні з прычынай «First strike»" + "apihelp-block-example-ip-simple": "Заблякаваць IP-адрас 192.0.2.5 на тры дні з прычынай «First strike»", + "apihelp-block-example-user-complex": "Заблякаваць удзельніка Vandal назаўсёды з прычынай «Vandalism», а таксама забараніць стварэньне новых рахункаў і адсылку лістоў электроннай поштай", + "apihelp-clearhasmsg-description": "Ачышчае сьцяг hasmsg для актуальнага карыстальніка.", + "apihelp-clearhasmsg-example-1": "Ачыстка сьцягу hasmsg для актуальнага карыстальніка", + "apihelp-compare-description": "Атрымаць розьніцу паміж 2 старонкамі.\n\nВы мусіце перадаць нумар вэрсіі, назву або ID старонкі для абодвух «from» і «to»." } diff --git a/includes/api/i18n/bs.json b/includes/api/i18n/bs.json index c8df203349..420e6ac0d9 100644 --- a/includes/api/i18n/bs.json +++ b/includes/api/i18n/bs.json @@ -4,8 +4,13 @@ "Palapa" ] }, + "apihelp-main-param-action": "Koju akciju izvesti.", + "apihelp-main-param-format": "Format izlaza.", "apihelp-block-description": "Blokiraj korisnika", "apihelp-block-param-reason": "Razlog za blokadu", + "apihelp-block-example-ip-simple": "Blokiraj IP 192.0.2.5 na tri dana sa razlogom \"Prvi napad\"", + "apihelp-compare-param-fromtitle": "Prvi naslov za poređenje.", "apihelp-delete-description": "Obriši stranicu.", + "apihelp-edit-param-text": "Sadržaj stranice.", "apihelp-edit-param-minor": "Mala izmjena." } diff --git a/includes/api/i18n/ca.json b/includes/api/i18n/ca.json new file mode 100644 index 0000000000..c7254c2ffa --- /dev/null +++ b/includes/api/i18n/ca.json @@ -0,0 +1,12 @@ +{ + "@metadata": { + "authors": [ + "Toniher" + ] + }, + "apihelp-main-param-format": "El format de la sortida.", + "apihelp-block-param-nocreate": "Evita la creació de comptes.", + "apihelp-createaccount-param-name": "Nom d'usuari.", + "apihelp-createaccount-param-password": "Contrasenya (ignorada si es defineix $1mailpassword)", + "apihelp-delete-description": "Suprimeix una pàgina." +} diff --git a/includes/api/i18n/cs.json b/includes/api/i18n/cs.json index 976b6d84fa..57b450a2bc 100644 --- a/includes/api/i18n/cs.json +++ b/includes/api/i18n/cs.json @@ -5,7 +5,7 @@ "YjM" ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page Dokumentace]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api E-mailová konference]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Oznámení k API]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Chyby a požadavky]\n
\nStav: Všechny funkce uvedené na této stránce by měly fungovat, ale API se stále aktivně vyvíjí a může se kdykoli změnit. Upozornění na změny získáte přihlášením se k [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ e-mailové konferenci mediawiki-api-announce].\n\nChybné požadavky: Pokud jsou do API zaslány chybné požadavky, bude vrácena HTTP hlavička s klíčem „MediaWiki-API-Error“ a hodnota této hlavičky a chybový kód budou nastaveny na stejnou hodnotu. Více informací najdete na stránce https://www.mediawiki.org/wiki/API:Errors_and_warnings.", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page Dokumentace]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api E-mailová konference]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Oznámení k API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Chyby a požadavky]\n
\nStav: Všechny funkce uvedené na této stránce by měly fungovat, ale API se stále aktivně vyvíjí a může se kdykoli změnit. Upozornění na změny získáte přihlášením se k [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ e-mailové konferenci mediawiki-api-announce].\n\nChybné požadavky: Pokud jsou do API zaslány chybné požadavky, bude vrácena HTTP hlavička s klíčem „MediaWiki-API-Error“ a hodnota této hlavičky a chybový kód budou nastaveny na stejnou hodnotu. Více informací najdete na stránce https://www.mediawiki.org/wiki/API:Errors_and_warnings.", "apihelp-main-param-action": "Jaká akce se má provést.", "apihelp-main-param-format": "Formát výstupu.", "apihelp-main-param-maxlag": "Maximální zpoždění lze použít, když je MediaWiki nainstalováno na cluster s replikovanou databází. Abyste se vyhnuli zhoršování už tak špatného replikačního zpoždění, můžete tímto parametrem nechat klienta čekat, dokud replikační zpoždění neklesne pod uvedenou hodnotu. V případě příliš vysokého zpoždění se vrátí chybový kód „maxlag“ s hlášením typu „Waiting for $host: $lag seconds lagged“.
Více informací najdete v [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Maxlag_parameter příručce].", @@ -109,5 +109,5 @@ "api-help-permissions-granted-to": "Uděleno {{PLURAL:$1|skupině|skupinám}}: $2", "api-help-right-apihighlimits": "Používání vyšších limitů v API dotazech (pomalé dotazy: $1, rychlé dotazy: $2). Limity pro pomalé dotazy se vztahují i na vícehodnotové parametry.", "api-credits-header": "Zásluhy", - "api-credits": "Vývojáři API:\n* Roan Kattouw (hlavní vývojář září 2007–2009)\n* Viktor Vasiljev\n* Bryan Tong Minh\n* Sam Reed\n* Jurij Astrachan (tvůrce, hlavní vývojář září 2006–září 2007)\n* Brad Jorsch (hlavní vývojář od 2013)\n\nSvé komentáře, návrhy či dotazy posílejte na mediawiki-api@lists.wikimedia.org\nnebo založte chybové hlášení na https://bugzilla.wikimedia.org/." + "api-credits": "Vývojáři API:\n* Roan Kattouw (hlavní vývojář září 2007–2009)\n* Viktor Vasiljev\n* Bryan Tong Minh\n* Sam Reed\n* Jurij Astrachan (tvůrce, hlavní vývojář září 2006–září 2007)\n* Brad Jorsch (hlavní vývojář od 2013)\n\nSvé komentáře, návrhy či dotazy posílejte na mediawiki-api@lists.wikimedia.org\nnebo založte chybové hlášení na https://phabricator.wikimedia.org/." } diff --git a/includes/api/i18n/de.json b/includes/api/i18n/de.json index 4c9fef4283..70484a75c5 100644 --- a/includes/api/i18n/de.json +++ b/includes/api/i18n/de.json @@ -7,7 +7,7 @@ "Inkowik" ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page/de Dokumentation]\n* [https://www.mediawiki.org/wiki/API:FAQ/de Häufig gestellte Fragen]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailingliste]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API-Ankündigungen]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Fehlerberichte und Anfragen]\n
\nStatus: Alle auf dieser Seite gezeigten Funktionen sollten funktionieren, aber die API ist noch in aktiver Entwicklung und könnte sich zu jeder Zeit ändern. Abonniere die [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ MediaWiki-API-Ankündigungs-Mailingliste] für Mitteilungen über Aktualisierungen.\n\nFehlerhafte Anfragen: Wenn fehlerhafte Anfragen an die API gesendet werden, wird ein HTTP-Header mit dem Schlüssel „MediaWiki-API-Error“ versandt. Die zurückgesandten Werte des Headers und des Fehlercodes werden auf den gleichen Wert gesetzt. Für weitere Informationen siehe https://www.mediawiki.org/wiki/API:Errors_and_warnings.", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page/de Dokumentation]\n* [https://www.mediawiki.org/wiki/API:FAQ/de Häufig gestellte Fragen]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailingliste]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API-Ankündigungen]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Fehlerberichte und Anfragen]\n
\nStatus: Alle auf dieser Seite gezeigten Funktionen sollten funktionieren, aber die API ist noch in aktiver Entwicklung und könnte sich zu jeder Zeit ändern. Abonniere die [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ MediaWiki-API-Ankündigungs-Mailingliste] für Mitteilungen über Aktualisierungen.\n\nFehlerhafte Anfragen: Wenn fehlerhafte Anfragen an die API gesendet werden, wird ein HTTP-Header mit dem Schlüssel „MediaWiki-API-Error“ versandt. Die zurückgesandten Werte des Headers und des Fehlercodes werden auf den gleichen Wert gesetzt. Für weitere Informationen siehe https://www.mediawiki.org/wiki/API:Errors_and_warnings.", "apihelp-main-param-action": "Welche Aktion ausgeführt werden soll.", "apihelp-main-param-format": "Das Format der Ausgabe.", "apihelp-main-param-maxlag": "Maximale Verzögerung kann verwendet werden, wenn MediaWiki auf einem datenbankreplizierten Cluster installiert ist. Um Aktionen zu speichern, die Websitereplikationsverzögerungen verursachen, kann dieser Parameter den Client warten lassen, bis die Replikationsverzögerung weniger als dem angegebenen Wert entspricht. Im Fall einer übermäßigen Verzögerung wird der Fehlercode „maxlag“ zurückgegeben mit einer Nachricht wie „Waiting for $host: $lag seconds lagged“.
Siehe https://www.mediawiki.org/wiki/Manual:Maxlag_parameter für weitere Informationen.", @@ -351,5 +351,5 @@ "api-help-permissions-granted-to": "{{PLURAL:$1|Gewährt an}}: $2", "api-help-right-apihighlimits": "Höhere Beschränkungen in API-Anfragen verwenden (langsame Anfragen: $1; schnelle Anfragen: $2). Die Beschränkungen für langsame Anfragen werden auch auf Mehrwertparameter angewandt.", "api-credits-header": "Danksagungen", - "api-credits": "API-Entwickler:\n* Roan Kattouw (Hauptentwickler von September 2007 bis 2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (Autor, Hauptentwickler von September 2006 bis September 2007)\n* Brad Jorsch (Hauptentwickler seit 2013)\n\nBitte sende deine Kommentare, Vorschläge und Fragen an mediawiki-api@lists.wikimedia.org\noder reiche einen Fehlerbericht auf https://bugzilla.wikimedia.org/ ein." + "api-credits": "API-Entwickler:\n* Roan Kattouw (Hauptentwickler von September 2007 bis 2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (Autor, Hauptentwickler von September 2006 bis September 2007)\n* Brad Jorsch (Hauptentwickler seit 2013)\n\nBitte sende deine Kommentare, Vorschläge und Fragen an mediawiki-api@lists.wikimedia.org\noder reiche einen Fehlerbericht auf https://phabricator.wikimedia.org/ ein." } diff --git a/includes/api/i18n/en.json b/includes/api/i18n/en.json index 21b546cb52..61de86cf69 100644 --- a/includes/api/i18n/en.json +++ b/includes/api/i18n/en.json @@ -5,7 +5,7 @@ ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Documentation]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailing list]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API Announcements]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Bugs & requests]\n
\nStatus: All features shown on this page should be working, but the API is still in active development, and may change at any time. Subscribe to [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce mailing list] for notice of updates.\n\nErroneous requests: When erroneous requests are sent to the API, a HTTP header will be sent with the key \"MediaWiki-API-Error\" and then both the value of the header and the error code sent back will be set to the same value. For more information see https://www.mediawiki.org/wiki/API:Errors_and_warnings.", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Documentation]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailing list]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API Announcements]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bugs & requests]\n
\nStatus: All features shown on this page should be working, but the API is still in active development, and may change at any time. Subscribe to [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce mailing list] for notice of updates.\n\nErroneous requests: When erroneous requests are sent to the API, a HTTP header will be sent with the key \"MediaWiki-API-Error\" and then both the value of the header and the error code sent back will be set to the same value. For more information see https://www.mediawiki.org/wiki/API:Errors_and_warnings.", "apihelp-main-param-action": "Which action to perform.", "apihelp-main-param-format": "The format of the output.", "apihelp-main-param-maxlag": "Maximum lag can be used when MediaWiki is installed on a database replicated cluster. To save actions causing any more site replication lag, this parameter can make the client wait until the replication lag is less than the specified value. In case of excessive lag, error code \"maxlag\" is returned with a message like \"Waiting for $host: $lag seconds lagged\".
See https://www.mediawiki.org/wiki/Manual:Maxlag_parameter for more information.", @@ -113,7 +113,7 @@ "apihelp-expandtemplates-param-title": "Title of page.", "apihelp-expandtemplates-param-text": "Wikitext to convert.", "apihelp-expandtemplates-param-revid": "Revision ID, for {{REVISIONID}} and similar variables.", - "apihelp-expandtemplates-param-prop": "Which pieces of information to get:\n;wikitext:The expanded wikitext.\n;categories:Any categories present in the input that are not represented in the wikitext output.\n;volatile:Whether the output is volatile and should not be reused elsewhere within the page.\n;ttl:The maximum time after which caches of the result should be invalidated.\n;parsetree:The XML parse tree of the input.\nNote that if no values are selected, the result will contain the wikitext, but the output will be in a deprecated format.", + "apihelp-expandtemplates-param-prop": "Which pieces of information to get:\n;wikitext:The expanded wikitext.\n;categories:Any categories present in the input that are not represented in the wikitext output.\n;properties:Page properties defined by expanded magic words in the wikitext.\n;volatile:Whether the output is volatile and should not be reused elsewhere within the page.\n;ttl:The maximum time after which caches of the result should be invalidated.\n;parsetree:The XML parse tree of the input.\nNote that if no values are selected, the result will contain the wikitext, but the output will be in a deprecated format.", "apihelp-expandtemplates-param-includecomments": "Whether to include HTML comments in the output.", "apihelp-expandtemplates-param-generatexml": "Generate XML parse tree (replaced by $1prop=parsetree).", "apihelp-expandtemplates-example-simple": "Expand the wikitext \"{{Project:Sandbox}}\"", @@ -358,7 +358,6 @@ "apihelp-query+allimages-param-to": "The image title to stop enumerating at. Can only be used with $1sort=name.", "apihelp-query+allimages-param-start": "The timestamp to start enumerating from. Can only be used with $1sort=timestamp.", "apihelp-query+allimages-param-end": "The timestamp to end enumerating. Can only be used with $1sort=timestamp.", - "apihelp-query+allimages-param-prop": "Which image information to get:\n;timestamp:Adds timestamp for the uploaded version.\n;user:Adds the user who uploaded the image version.\n;userid:Add the user ID that uploaded the image version.\n;comment:Comment on the version.\n;parsedcomment:Parse the comment on the version.\n;canonicaltitle:Adds the canonical title of the image file.\n;url:Gives URL to the image and the description page.\n;size:Adds the size of the image in bytes and the height, width and page count (if applicable).\n;dimensions:Alias for size.\n;sha1:Adds SHA-1 hash for the image.\n;mime:Adds MIME type of the image.\n;mediatype:Adds the media type of the image.\n;metadata:Lists Exif metadata for the version of the image.\n;commonmetadata:Lists file format generic metadata for the version of the image.\n;extmetadata:Lists formatted metadata combined from multiple sources. Results are HTML formatted.\n;bitdepth:Adds the bit depth of the version.", "apihelp-query+allimages-param-prefix": "Search for all image titles that begin with this value. Can only be used with $1sort=name.", "apihelp-query+allimages-param-minsize": "Limit to images with at least this many bytes.", "apihelp-query+allimages-param-maxsize": "Limit to images with at most this many bytes.", @@ -616,7 +615,26 @@ "apihelp-query+fileusage-example-generator": "Get information about pages using [[:File:Example.jpg]]", "apihelp-query+imageinfo-description": "Returns file information and upload history.", - "apihelp-query+imageinfo-param-prop": "Which file information to get:\n;timestamp:Adds timestamp for the uploaded version.\n;user:Adds the user who uploaded each file version.\n;userid:Add the user ID that uploaded each file version.\n;comment:Comment on the version.\n;parsedcomment:Parse the comment on the version.\n;canonicaltitle:Adds the canonical title of the file.\n;url:Gives URL to the file and the description page.\n;size:Adds the size of the file in bytes and the height, width and page count (if applicable).\n;dimensions:Alias for size.\n;sha1:Adds SHA-1 hash for the file.\n;mime:Adds MIME type of the file.\n;thumbmime:Adds MIME type of the image thumbnail (requires url and param $1urlwidth).\n;mediatype:Adds the media type of the file.\n;metadata:Lists Exif metadata for the version of the file.\n;commonmetadata:Lists file format generic metadata for the version of the file.\n;extmetadata:Lists formatted metadata combined from multiple sources. Results are HTML formatted.\n;archivename:Adds the file name of the archive version for non-latest versions.\n;bitdepth:Adds the bit depth of the version.\n;uploadwarning:Used by the Special:Upload page to get information about an existing file. Not intended for use outside MediaWiki core.", + "apihelp-query+imageinfo-param-prop": "Which file information to get:", + "apihelp-query+imageinfo-paramvalue-prop-timestamp": "Adds timestamp for the uploaded version.", + "apihelp-query+imageinfo-paramvalue-prop-user":"Adds the user who uploaded each file version.", + "apihelp-query+imageinfo-paramvalue-prop-userid":"Add the user ID that uploaded each file version.", + "apihelp-query+imageinfo-paramvalue-prop-comment":"Comment on the version.", + "apihelp-query+imageinfo-paramvalue-prop-parsedcomment":"Parse the comment on the version.", + "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle":"Adds the canonical title of the file.", + "apihelp-query+imageinfo-paramvalue-prop-url":"Gives URL to the file and the description page.", + "apihelp-query+imageinfo-paramvalue-prop-size":"Adds the size of the file in bytes and the height, width and page count (if applicable).", + "apihelp-query+imageinfo-paramvalue-prop-dimensions":"Alias for size.", + "apihelp-query+imageinfo-paramvalue-prop-sha1":"Adds SHA-1 hash for the file.", + "apihelp-query+imageinfo-paramvalue-prop-mime":"Adds MIME type of the file.", + "apihelp-query+imageinfo-paramvalue-prop-thumbmime":"Adds MIME type of the image thumbnail (requires url and param $1urlwidth).", + "apihelp-query+imageinfo-paramvalue-prop-mediatype":"Adds the media type of the file.", + "apihelp-query+imageinfo-paramvalue-prop-metadata":"Lists Exif metadata for the version of the file.", + "apihelp-query+imageinfo-paramvalue-prop-commonmetadata":"Lists file format generic metadata for the version of the file.", + "apihelp-query+imageinfo-paramvalue-prop-extmetadata":"Lists formatted metadata combined from multiple sources. Results are HTML formatted.", + "apihelp-query+imageinfo-paramvalue-prop-archivename":"Adds the file name of the archive version for non-latest versions.", + "apihelp-query+imageinfo-paramvalue-prop-bitdepth":"Adds the bit depth of the version.", + "apihelp-query+imageinfo-paramvalue-prop-uploadwarning":"Used by the Special:Upload page to get information about an existing file. Not intended for use outside MediaWiki core.", "apihelp-query+imageinfo-param-limit": "How many file revisions to return per file.", "apihelp-query+imageinfo-param-start": "Timestamp to start listing from.", "apihelp-query+imageinfo-param-end": "Timestamp to stop listing at.", @@ -650,7 +668,17 @@ "apihelp-query+imageusage-example-generator": "Get information about pages using [[:File:Albert Einstein Head.jpg]]", "apihelp-query+info-description": "Get basic page information.", - "apihelp-query+info-param-prop": "Which additional properties to get:\n;protection:List the protection level of each page.\n;talkid:The page ID of the talk page for each non-talk page.\n;watched:List the watched status of each page.\n;watchers:The number of watchers, if allowed.\n;notificationtimestamp:The watchlist notification timestamp of each page.\n;subjectid:The page ID of the parent page for each talk page.\n;url:Gives a full URL, an edit URL, and the canonical URL for each page.\n;readable:Whether the user can read this page.\n;preload:Gives the text returned by EditFormPreloadText.\n;displaytitle:Gives the way the page title is actually displayed.", + "apihelp-query+info-param-prop": "Which additional properties to get:", + "apihelp-query+info-paramvalue-prop-protection": "List the protection level of each page.", + "apihelp-query+info-paramvalue-prop-talkid": "The page ID of the talk page for each non-talk page.", + "apihelp-query+info-paramvalue-prop-watched": "List the watched status of each page.", + "apihelp-query+info-paramvalue-prop-watchers": "The number of watchers, if allowed.", + "apihelp-query+info-paramvalue-prop-notificationtimestamp": "The watchlist notification timestamp of each page.", + "apihelp-query+info-paramvalue-prop-subjectid": "The page ID of the parent page for each talk page.", + "apihelp-query+info-paramvalue-prop-url": "Gives a full URL, an edit URL, and the canonical URL for each page.", + "apihelp-query+info-paramvalue-prop-readable": "Whether the user can read this page.", + "apihelp-query+info-paramvalue-prop-preload": "Gives the text returned by EditFormPreloadText.", + "apihelp-query+info-paramvalue-prop-displaytitle": "Gives the way the page title is actually displayed.", "apihelp-query+info-param-token": "Use [[Special:ApiHelp/query+tokens|action=query&meta=tokens]] instead.", "apihelp-query+info-example-simple": "Get information about the [[Main Page]]", "apihelp-query+info-example-protection": "Get general and protection information about the [[Main Page]]", @@ -806,7 +834,7 @@ "apihelp-query+revisions-example-last5": "Get last 5 revisions of the \"Main Page\"", "apihelp-query+revisions-example-first5": "Get first 5 revisions of the \"Main Page\"", "apihelp-query+revisions-example-first5-after": "Get first 5 revisions of the \"Main Page\" made after 2006-05-01", - "apihelp-query+revisions-example-first5-not-localhost": "Get first 5 revisions of the \"Main Page\" that were not made made by anonymous user \"127.0.0.1\"", + "apihelp-query+revisions-example-first5-not-localhost": "Get first 5 revisions of the \"Main Page\" that were not made by anonymous user \"127.0.0.1\"", "apihelp-query+revisions-example-first5-user": "Get first 5 revisions of the \"Main Page\" that were made by the user \"MediaWiki default\"", "apihelp-query+revisions+base-param-prop": "Which properties to get for each revision:\n;ids:The ID of the revision.\n;flags:Revision flags (minor).\n;timestamp:The timestamp of the revision.\n;user:User that made the revision.\n;userid:User ID of the revision creator.\n;size:Length (bytes) of the revision.\n;sha1:SHA-1 (base 16) of the revision.\n;contentmodel:Content model ID of the revision.\n;comment:Comment by the user for the revision.\n;parsedcomment:Parsed comment by the user for the revision.\n;content:Text of the revision.\n;tags:Tags for the revision.", @@ -845,7 +873,6 @@ "apihelp-query+stashimageinfo-description": "Returns file information for stashed files.", "apihelp-query+stashimageinfo-param-filekey": "Key that identifies a previous upload that was stashed temporarily.", "apihelp-query+stashimageinfo-param-sessionkey": "Alias for $1filekey, for backward compatibility.", - "apihelp-query+stashimageinfo-param-prop": "Which image information to get:\n;timestamp:Adds timestamp for the uploaded version.\n;canonicaltitle:Adds the canonical title of the image file.\n;url:Gives URL to the image and the description page.\n;size:Adds the size of the image in bytes and the height, width and page count (if applicable).\n;dimensions:Alias for size.\n;sha1:Adds SHA-1 hash for the image.\n;mime:Adds MIME type of the image.\n;thumbmime:Adds MIME type of the image thumbnail (requires url and param $1urlwidth).\n;metadata:Lists Exif metadata for the version of the image.\n;commonmetadata:Lists file format generic metadata for the version of the image.\n;extmetadata:Lists formatted metadata combined from multiple sources. Results are HTML formatted.\n;bitdepth:Adds the bit depth of the version.", "apihelp-query+stashimageinfo-example-simple": "Returns information for a stashed file", "apihelp-query+stashimageinfo-example-params": "Returns thumbnails for two stashed files", @@ -1105,5 +1132,5 @@ "api-help-right-apihighlimits": "Use higher limits in API queries (slow queries: $1; fast queries: $2). The limits for slow queries also apply to multivalue parameters.", "api-credits-header": "Credits", - "api-credits": "API developers:\n* Roan Kattouw (lead developer Sep 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (creator, lead developer Sep 2006–Sep 2007)\n* Brad Jorsch (lead developer 2013–present)\n\nPlease send your comments, suggestions and questions to mediawiki-api@lists.wikimedia.org\nor file a bug report at https://bugzilla.wikimedia.org/." + "api-credits": "API developers:\n* Roan Kattouw (lead developer Sep 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (creator, lead developer Sep 2006–Sep 2007)\n* Brad Jorsch (lead developer 2013–present)\n\nPlease send your comments, suggestions and questions to mediawiki-api@lists.wikimedia.org\nor file a bug report at https://phabricator.wikimedia.org/." } diff --git a/includes/api/i18n/fr.json b/includes/api/i18n/fr.json index 22743716ae..b40c532f0f 100644 --- a/includes/api/i18n/fr.json +++ b/includes/api/i18n/fr.json @@ -6,7 +6,7 @@ "Orlodrim" ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Documentation]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Liste de diffusion]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Annonces de l’API]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Bogues et demandes]\n
\nÉtat : Toutes les fonctionnalités affichées sur cette page devraient fonctionner, mais l’API est encore en cours de développement et peut changer à tout moment. Inscrivez-vous à [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ la liste de diffusion mediawiki-api-announce] pour être informé des mises à jour.\n\nRequêtes erronées : Si des requêtes erronées sont envoyées à l’API, un en-tête HTTP sera renvoyé avec la clé « MediaWiki-API-Error ». La valeur de cet en-tête et le code d’erreur renvoyé prendront la même valeur. Pour plus d’information, voyez https://www.mediawiki.org/wiki/API:Errors_and_warnings.", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Documentation]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Liste de diffusion]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Annonces de l’API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bogues et demandes]\n
\nÉtat : Toutes les fonctionnalités affichées sur cette page devraient fonctionner, mais l’API est encore en cours de développement et peut changer à tout moment. Inscrivez-vous à [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ la liste de diffusion mediawiki-api-announce] pour être informé des mises à jour.\n\nRequêtes erronées : Si des requêtes erronées sont envoyées à l’API, un en-tête HTTP sera renvoyé avec la clé « MediaWiki-API-Error ». La valeur de cet en-tête et le code d’erreur renvoyé prendront la même valeur. Pour plus d’information, voyez https://www.mediawiki.org/wiki/API:Errors_and_warnings.", "apihelp-main-param-action": "Quelle action effectuer.", "apihelp-main-param-format": "Le format de sortie.", "apihelp-main-param-maxlag": "La latence maximale peut être utilisée quand MédiaWiki est installé sur un cluster de base de données répliqué. Pour éviter des actions provoquant un supplément de latence de réplication de site, ce paramètre peut faire attendre le client jusqu’à ce que la latence de réplication soit inférieure à une valeur spécifiée. En cas de latence excessive, le code d’erreur « maxlag » est renvoyé avec un message tel que « Attente de $host : $lag secondes de délai ».
Voyez https://www.mediawiki.org/wiki/Manual:Maxlag_parameter pour plus d’information.", @@ -998,5 +998,5 @@ "api-help-permissions-granted-to": "{{PLURAL:$1|Accordé à}} : $2", "api-help-right-apihighlimits": "Utiliser des valeurs plus hautes dans les requêtes de l’API (requêtes lentes : $1 ; requêtes rapides : $2). Les limites pour les requêtes lentes s’appliquent aussi aux paramètres multivalués.", "api-credits-header": "Remerciements", - "api-credits": "Développeurs de l’API :\n* Roan Kattouw (développeur en chef Sept. 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (créateur, développeur en chef Sept. 2006–Sept. 2007)\n* Brad Jorsch (développeur en chef depuis 2013)\n\nVeuillez envoyer vos commentaires, suggestions et questions à mediawiki-api@lists.wikimedia.org\nou remplir un rapport de bogue sur https://bugzilla.wikimedia.org/." + "api-credits": "Développeurs de l’API :\n* Roan Kattouw (développeur en chef Sept. 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (créateur, développeur en chef Sept. 2006–Sept. 2007)\n* Brad Jorsch (développeur en chef depuis 2013)\n\nVeuillez envoyer vos commentaires, suggestions et questions à mediawiki-api@lists.wikimedia.org\nou remplir un rapport de bogue sur https://phabricator.wikimedia.org/." } diff --git a/includes/api/i18n/gl.json b/includes/api/i18n/gl.json index c029a62407..ec172e0cc9 100644 --- a/includes/api/i18n/gl.json +++ b/includes/api/i18n/gl.json @@ -4,28 +4,48 @@ "Elisardojm" ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Documentación]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de discusión]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anuncios da API]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Erros e solicitudes]\n
\nEstado: Tódalas funcionalidades mostradas nesta páxina deberían estar funcionanado, pero a API aínda está desenrolo, e pode ser modificada en calquera momento. Apúntese na [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ lista de discusión mediawiki-api-announce] para estar informado acerca das actualizacións.\n\nSolicitudes incorrectas: Cando se envían solicitudes incorrectas á API, envíase unha cabeceira HTTP coa chave \"MediaWiki-API-Error\" e, a seguir, tanto o valor da cabeceira como o código de erro retornado serán definidos co mesmo valor. Para máis información, consulte https://www.mediawiki.org/wiki/API:Errors_and_warnings.", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Documentación]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de discusión]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anuncios da API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Erros e solicitudes]\n
\nEstado: Tódalas funcionalidades mostradas nesta páxina deberían estar funcionanado, pero a API aínda está desenrolo, e pode ser modificada en calquera momento. Apúntese na [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ lista de discusión mediawiki-api-announce] para estar informado acerca das actualizacións.\n\nSolicitudes incorrectas: Cando se envían solicitudes incorrectas á API, envíase unha cabeceira HTTP coa chave \"MediaWiki-API-Error\" e, a seguir, tanto o valor da cabeceira como o código de erro retornado serán definidos co mesmo valor. Para máis información, consulte https://www.mediawiki.org/wiki/API:Errors_and_warnings.", "apihelp-main-param-action": "Que acción se realizará.", "apihelp-main-param-format": "O formato de saída.", + "apihelp-main-param-requestid": "Calquera valor dado aquí será incluído na resposta. Pode usarse para distingir peticións.", "apihelp-main-param-curtimestamp": "Incluir a marca de tempo actual no resultado.", "apihelp-block-description": "Bloquear un usuario.", + "apihelp-block-param-user": "Nome de usuario, dirección ou rango de IPs que quere bloquear.", "apihelp-block-param-reason": "Motivo para o bloqueo.", "apihelp-block-param-anononly": "Bloquear só usuarios anónimos (é dicir, desactivar edicións anónimas desta IP).", "apihelp-block-param-nocreate": "Previr a creación de contas.", "apihelp-block-param-autoblock": "Bloquear automaticamente o último enderezo IP utilizado, e calquera outro enderezo desde o que intente conectarse.", + "apihelp-block-param-reblock": "Se o usuario xa está bloqueado, sobreescribir o bloqueo existente.", "apihelp-block-param-watchuser": "Vixiar a páxina de usuario ou IP e a de conversa deste usuario", "apihelp-compare-param-fromtitle": "Primeiro título para comparar.", + "apihelp-compare-param-fromid": "Identificador da primeira páxina a comparar.", + "apihelp-compare-param-fromrev": "Primeira revisión a comparar.", "apihelp-compare-param-totitle": "Segundo título para comparar.", + "apihelp-compare-param-toid": "Identificador da segunda páxina a comparar.", + "apihelp-compare-param-torev": "Segunda revisión a comparar.", + "apihelp-compare-example-1": "Mostrar diferencias entre a revisión 1 e a 2", "apihelp-createaccount-description": "Crear unha nova conta de usuario.", "apihelp-createaccount-param-name": "Nome de usuario.", + "apihelp-createaccount-param-password": "Contrasinal (ignorado se $1mailpassword está activo)", + "apihelp-createaccount-param-domain": "Dominio para autenticación externa (opcional)", "apihelp-createaccount-param-email": "Enderezo de correo eletrónico do usuario (opcional).", "apihelp-createaccount-param-realname": "Nome real do usuario (opcional).", + "apihelp-createaccount-example-pass": "Crear usuario \"testuser\" con contrasinal \"test123\"", + "apihelp-createaccount-example-mail": "Crear usuario \"testmailuser\" e enviar por correo electrónico un contrasinal xenerado de forma aleatoria", "apihelp-delete-description": "Borrar a páxina.", + "apihelp-delete-param-title": "Título da páxina que quere eliminar. Non pode usarse xunto con $1pageid.", + "apihelp-delete-param-pageid": "Identificador da páxina que quere eliminar. Non pode usarse xunto con $1title.", + "apihelp-delete-param-reason": "Razón para o borrado. Se non se indica, usarase unha razón xenerada automaticamente.", "apihelp-delete-param-watch": "Engadir esta páxina á lista de vixilancia.", "apihelp-delete-param-unwatch": "Eliminar esta páxina da lista de vixilancia.", "apihelp-delete-example-simple": "Borrar a Páxina Principal", + "apihelp-delete-example-reason": "Eliminar a Páxina Principal coa razón \"Preparando para mover\"", "apihelp-disabled-description": "Este módulo foi desactivado.", "apihelp-edit-description": "Crear e editar páxinas.", + "apihelp-edit-param-title": "Título da páxina que quere editar. Non pode usarse xunto con $1pageid.", + "apihelp-edit-param-pageid": "Identificador da páxina que quere editar. Non pode usarse xunto con $1title.", + "apihelp-edit-param-section": "Número de selección. O 0 é para a sección superior, \"novo\" para unha sección nova.", + "apihelp-edit-param-sectiontitle": "Título para unha nova sección.", "apihelp-edit-param-text": "Contido da páxina.", "apihelp-edit-param-minor": "Edición pequena.", "apihelp-edit-param-notminor": "Edición non pequena.", @@ -35,6 +55,51 @@ "apihelp-edit-param-unwatch": "Eliminar esta páxina da lista de vixilancia.", "apihelp-edit-example-edit": "Editar a páxina", "apihelp-emailuser-description": "Enviar un correo electrónico a un usuario.", + "apihelp-emailuser-param-target": "Usuario ó que lle mandar correo electrónico.", + "apihelp-emailuser-param-text": "Corpo do correo.", + "apihelp-emailuser-param-ccme": "Enviarme unha copia deste correo.", + "apihelp-expandtemplates-description": "Expandir tódolos modelos en wikitexto.", "apihelp-expandtemplates-param-title": "Título da páxina.", - "apihelp-expandtemplates-param-text": "Sintaxis wiki a converter." + "apihelp-expandtemplates-param-text": "Sintaxis wiki a converter.", + "apihelp-feedcontributions-description": "Devolve a lista de contribucións dun usuario.", + "apihelp-feedcontributions-param-year": "Desde o ano (e anteriores).", + "apihelp-feedcontributions-param-month": "Desde o mes de (e anteriores).", + "apihelp-feedcontributions-param-deletedonly": "Mostrar só as contribuciones eliminadas.", + "apihelp-feedcontributions-param-toponly": "Mostrar só as edicións que que son as ultimas revisións.", + "apihelp-feedcontributions-param-newonly": "Mostrar só as edicións que crearon páxinas.", + "apihelp-feedcontributions-param-showsizediff": "Mostrar diferenza de tamaño entre edicións.", + "apihelp-feedrecentchanges-param-limit": "Número máximo de resultados a visualizar.", + "apihelp-feedrecentchanges-param-from": "Mostrar modificacións desde entón.", + "apihelp-feedrecentchanges-param-hideminor": "Ocultar cambios menores.", + "apihelp-feedrecentchanges-param-hidebots": "Ocultar cambios feitos por bots.", + "apihelp-import-param-rootpage": "Importar como subpáxina desta páxina.", + "apihelp-login-param-name": "Nome de usuario.", + "apihelp-login-param-password": "Contrasinal", + "apihelp-login-param-domain": "Dominio (opcional).", + "apihelp-login-example-login": "Identificarse", + "apihelp-logout-description": "Terminar e limpar datos de sesión.", + "apihelp-move-description": "Mover unha páxina.", + "apihelp-move-param-from": "Título da páxina que quere mover. Non pode usarse xunto con $1fromid.", + "apihelp-move-param-fromid": "Identificador da páxina que quere mover. Non pode usarse xunto con $1from.", + "apihelp-move-param-reason": "Motivo para o movemento.", + "apihelp-move-param-movetalk": "Mover a páxina de conversa, se existe.", + "apihelp-move-param-noredirect": "Non crear unha redirección.", + "apihelp-move-param-watch": "Engadir a páxina e a redirección á súa páxina de vixiancia.", + "apihelp-move-param-unwatch": "Eliminar a páxina e a redirección da súa páxina de vixiancia.", + "apihelp-move-param-ignorewarnings": "Ignorar as advertencias.", + "apihelp-opensearch-param-search": "Buscar texto.", + "apihelp-opensearch-param-limit": "Número máximo de resultados a visualizar.", + "apihelp-opensearch-param-namespace": "Espazo de nomes no que buscar.", + "apihelp-opensearch-param-format": "O formato de saída.", + "apihelp-opensearch-example-te": "Atopar páxinas comezando por \"Te\"", + "apihelp-options-example-reset": "Restablecer tódaalas preferencias", + "apihelp-paraminfo-description": "Obter información sobre módulos API.", + "apihelp-patrol-example-rcid": "Patrullar un cambio recente", + "apihelp-patrol-example-revid": "Patrullar unha revisión", + "apihelp-protect-param-title": "Título da páxina que quere (des)protexer. Non pode usarse xunto con $1pageid.", + "apihelp-protect-param-pageid": "Identificador da páxina que quere (des)protexer. Non pode usarse xunto con $1title.", + "apihelp-protect-param-reason": "Razón para (des)protexer.", + "apihelp-protect-example-protect": "Protexer unha páxina", + "apihelp-purge-param-forcelinkupdate": "Actualizar as táboas de ligazóns.", + "apihelp-purge-example-simple": "Purgar a \"Páxina Principal\" e páxina \"API\"" } diff --git a/includes/api/i18n/ia.json b/includes/api/i18n/ia.json index f377056aa6..ad52295be2 100644 --- a/includes/api/i18n/ia.json +++ b/includes/api/i18n/ia.json @@ -14,5 +14,7 @@ "apihelp-main-param-servedby": "Includer in le resultato le nomine del host que ha servite le requesta.", "apihelp-main-param-curtimestamp": "Includer le data e hora actual in le resultato.", "apihelp-block-description": "Blocar un usator.", - "apihelp-block-param-user": "Nomine de usator, adresse IP o intervallo IP que tu vole blocar." + "apihelp-block-param-user": "Nomine de usator, adresse IP o intervallo IP que tu vole blocar.", + "apihelp-query+revisions-example-first5-not-localhost": "Obtener le prime 5 versiones del \"Pagina principal\" que non ha essite facite per le usator anonyme \"127.0.0.1\"", + "api-credits": "Programmatores del API:\n* Roan Kattouw (programmator dirigente Sept. 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (creator, programmator dirigente Sept. 2006–Sept. 2007)\n* Brad Jorsch (programmator dirigente 2013–presente)\n\nInvia tu commentos, suggestiones e questiones a mediawiki-api@lists.wikimedia.org\no insere un reportage de bug a https://phabricator.wikimedia.org/." } diff --git a/includes/api/i18n/ja.json b/includes/api/i18n/ja.json index a06db94beb..3c89c79d74 100644 --- a/includes/api/i18n/ja.json +++ b/includes/api/i18n/ja.json @@ -2,7 +2,8 @@ "@metadata": { "authors": [ "Shirayuki", - "2nd-player" + "2nd-player", + "Los688" ] }, "apihelp-main-param-action": "実行する操作です。", @@ -15,8 +16,10 @@ "apihelp-main-param-curtimestamp": "現在のタイムスタンプを結果に含めます。", "apihelp-main-param-uselang": "メッセージの翻訳に使用する言語です。コードの一覧は [[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]] に siprop=languages を付けることで取得できます。\"user\" を指定することで現在の利用者の個人設定の言語を、\"content\" を指定することでこのウィキの本文の言語を使用することもできます。", "apihelp-block-description": "利用者をブロックします。", + "apihelp-block-param-reason": "ブロックの理由:", "apihelp-block-param-nocreate": "アカウントの作成を禁止します。", "apihelp-createaccount-description": "新しい利用者アカウントを作成します。", + "apihelp-createaccount-param-name": "利用者名:", "apihelp-createaccount-param-password": "パスワード ($1mailpassword が設定されると無視されます)。", "apihelp-createaccount-param-token": "最初のリクエストで得られたアカウント作成用トークンです。", "apihelp-createaccount-param-email": "利用者の電子メールアドレス (任意)。", @@ -32,11 +35,13 @@ "apihelp-edit-param-title": "編集するページ名です。$1pageid とは同時に使用できません。", "apihelp-edit-param-pageid": "編集するページIDです。$1title とは同時に使用できません。", "apihelp-edit-param-text": "ページの本文。", + "apihelp-edit-param-minor": "細部の編集", "apihelp-edit-param-createonly": "すでにそのページが存在する場合は編集を行いません。", "apihelp-edit-param-nocreate": "そのページが存在しない場合にエラーを返します。", "apihelp-edit-param-watch": "そのページをウォッチリストに追加します。", "apihelp-edit-param-unwatch": "そのページをウォッチリストから除去します。", "apihelp-edit-param-token": "このトークンは常に最後のパラメーターとして、または少なくとも $1text パラメーターより後に送信されるべきです。", + "apihelp-edit-example-edit": "ページを編集", "apihelp-emailuser-description": "利用者に電子メールを送信します。", "apihelp-emailuser-param-target": "送信先の利用者名。", "apihelp-emailuser-param-text": "電子メールの本文。", @@ -53,6 +58,7 @@ "apihelp-help-example-query": "2つの下位モジュールのヘルプ", "apihelp-login-param-name": "利用者名。", "apihelp-login-param-password": "パスワード。", + "apihelp-login-example-login": "ログイン", "apihelp-move-description": "ページを移動します。", "apihelp-move-param-from": "移動するページのページ名です。 $1fromid とは同時に使用できません。", "apihelp-move-param-fromid": "移動するページのページIDです。 $1from とは同時に使用できません。", @@ -117,5 +123,5 @@ "api-help-permissions": "{{PLURAL:$1|権限}}:", "api-help-permissions-granted-to": "{{PLURAL:$1|権限を持つグループ}}: $2", "api-credits-header": "クレジット", - "api-credits": "API の開発者:\n* Roan Kattouw (2007年9月-2009年の主任開発者)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (作成者、2006年9月-2007年9月の主任開発者)\n* Brad Jorsch (2013年-現在の主任開発者)\n\nコメント、提案、質問は mediawiki-api@lists.wikimedia.org にお送りください。\nバグはこちらへご報告ください: https://bugzilla.wikimedia.org/" + "api-credits": "API の開発者:\n* Roan Kattouw (2007年9月-2009年の主任開発者)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (作成者、2006年9月-2007年9月の主任開発者)\n* Brad Jorsch (2013年-現在の主任開発者)\n\nコメント、提案、質問は mediawiki-api@lists.wikimedia.org にお送りください。\nバグはこちらへご報告ください: https://phabricator.wikimedia.org/" } diff --git a/includes/api/i18n/ko.json b/includes/api/i18n/ko.json index a417e47fb1..f6608fd7b8 100644 --- a/includes/api/i18n/ko.json +++ b/includes/api/i18n/ko.json @@ -4,7 +4,23 @@ "Kwj2772" ] }, - "apihelp-main-description": "
* [https://www.mediawiki.org/wiki/API:Main_page 설명문서] * [https://www.mediawiki.org/wiki/API:FAQ FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api 메일링 리스트] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API 공지 사항] * [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts 버그 및 요청]
\n상태: 이 페이지에 표시된 모든 기능은 정상 작동할 것이지만, API는 여전히 활발하게 개발되고 있으며, 언제든지 바뀔 수 있습니다. 업데이트 정보를 받아보려면 [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce 메일링 리스트]를 구독하십시오.\n\n잘못된 요청: API에 잘못된 요청이 전송되면 HTTP 헤더에서 \"MediaWiki-API-Error\" 키를 보내고, 헤더 값과 오류 코드가 같게 설정됩니다. 자세한 정보에 대해서는 https://www.mediawiki.org/wiki/API:Errors_and_warnings 를 참고하십시오.", + "apihelp-main-description": "
* [https://www.mediawiki.org/wiki/API:Main_page 설명문서] * [https://www.mediawiki.org/wiki/API:FAQ FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api 메일링 리스트] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API 공지 사항] * [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R 버그 및 요청]
\n상태: 이 페이지에 표시된 모든 기능은 정상 작동할 것이지만, API는 여전히 활발하게 개발되고 있으며, 언제든지 바뀔 수 있습니다. 업데이트 정보를 받아보려면 [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce 메일링 리스트]를 구독하십시오.\n\n잘못된 요청: API에 잘못된 요청이 전송되면 HTTP 헤더에서 \"MediaWiki-API-Error\" 키를 보내고, 헤더 값과 오류 코드가 같게 설정됩니다. 자세한 정보에 대해서는 https://www.mediawiki.org/wiki/API:Errors_and_warnings 를 참고하십시오.", "apihelp-main-param-action": "수행할 동작", - "apihelp-main-param-format": "출력값의 형식." + "apihelp-main-param-format": "출력값의 형식.", + "apihelp-block-description": "사용자를 차단합니다.", + "apihelp-block-param-user": "차단하고자 하는 계정 이름, IP 주소 또는 대역", + "apihelp-block-param-expiry": "기한. 상대값(예시: \"5 months\" 또는 \"2 weeks\") 또는 절대값(예시: \"2014-09-18T12:34:56Z\")이 될 수 있습니다. \"infinite\", \"indefinite\" 또는 \"never\"로 설정하면 무기한으로 설정됩니다.", + "apihelp-block-param-reason": "차단 이유.", + "apihelp-block-param-anononly": "익명 사용자만 차단합니다. (즉, 이 IP의 익명 편집을 막음)", + "apihelp-block-param-nocreate": "계정 생성을 막습니다.", + "apihelp-block-param-autoblock": "최근 사용한 IP 주소나 로그인을 시도한 이후에 사용한 모든 IP 주소를 자동으로 차단합니다.", + "apihelp-block-param-noemail": "위키를 통해 이메일을 보내지 못하도록 막습니다. (\"blockemail\" 권한 필요)", + "apihelp-block-param-hidename": "차단 기록에서 사용자 이름을 숨깁니다. (\"hideuser\" 권한 필요)", + "apihelp-block-param-allowusertalk": "자신의 토론 문서를 편집할 수 있도록 허용합니다. ($wgBlockAllowsUTEdit 값에 따라 다름)", + "apihelp-block-param-reblock": "사용자가 이미 차단된 경우, 기존 차단 설정을 바꿉니다.", + "apihelp-block-param-watchuser": "해당 사용자 또는 IP 주소의 사용자 문서 및 토론 문서를 주시합니다.", + "apihelp-block-example-ip-simple": "IP 192.0.2.5에 대해 \"First strike\"라는 이유로 3일간 차단하기", + "apihelp-block-example-user-complex": "사용자 Vandal을 \"Vandalism\"이라는 이유로 무기한 차단하며 계정 생성 및 이메일 발송을 막기", + "api-help-param-list": "{{PLURAL:$1|1=하나의 값|2=값 (\"{{!}}\"로 구분)}}: $2", + "api-help-param-default": "기본값: $1" } diff --git a/includes/api/i18n/mg.json b/includes/api/i18n/mg.json index 3126a28306..8e2a8b5660 100644 --- a/includes/api/i18n/mg.json +++ b/includes/api/i18n/mg.json @@ -4,7 +4,7 @@ "Jagwar" ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Torohevitra be kokoa]\n* [https://www.mediawiki.org/wiki/API:FAQ Fanontaniana miverina matetika]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lisitry ny mailaka manaraka]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Filazana API]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Baogy & hataka]\n
\nStatus: \nTokony mandeha avokoa ny fitaovana aseho eto amin'ity pehy ity, na dia izany aza mbola am-panamboarana ny API ary mety hiova na oviana na oviana. Araho amin'ny alalan'ny fisoratana ny mailakao ao amin'ny [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce lisitra fampielezana] ny fiovana.\n\nHataka diso: \nRehefa alefa ao amin'i API ny hata, ho alefa miaraka amin'ny lakile \"MediaWiki-API-Error\" ny header HTTP ary samy homen-tsanda mitovy ny header ary ny kaodin-kadisoana. Ho an'ny torohay fanampiny dia jereo https://www.mediawiki.org/wiki/API:Errors_and_warnings.", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Torohevitra be kokoa]\n* [https://www.mediawiki.org/wiki/API:FAQ Fanontaniana miverina matetika]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lisitry ny mailaka manaraka]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Filazana API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Baogy & hataka]\n
\nStatus: \nTokony mandeha avokoa ny fitaovana aseho eto amin'ity pehy ity, na dia izany aza mbola am-panamboarana ny API ary mety hiova na oviana na oviana. Araho amin'ny alalan'ny fisoratana ny mailakao ao amin'ny [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce lisitra fampielezana] ny fiovana.\n\nHataka diso: \nRehefa alefa ao amin'i API ny hata, ho alefa miaraka amin'ny lakile \"MediaWiki-API-Error\" ny header HTTP ary samy homen-tsanda mitovy ny header ary ny kaodin-kadisoana. Ho an'ny torohay fanampiny dia jereo https://www.mediawiki.org/wiki/API:Errors_and_warnings.", "apihelp-main-param-action": "Inona ny zavatra ho atao.", "apihelp-main-param-format": "Format mivoaka", "apihelp-createaccount-param-name": "Anaram-pikambana." diff --git a/includes/api/i18n/mk.json b/includes/api/i18n/mk.json index 99d6ccd11e..686dab3a6c 100644 --- a/includes/api/i18n/mk.json +++ b/includes/api/i18n/mk.json @@ -4,7 +4,7 @@ "Bjankuloski06" ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Документација]\n* [https://www.mediawiki.org/wiki/API:FAQ ЧПП]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Поштенски список]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Соопштенија за Извршникот]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Грешки и барања]\n
\nСтатус: Сите ставки на страницава би требало да работат, но Извршникот сепак е во активна разработка, што значи дека може да се смени во секое време. Објавите за измени можете да ги дознавате ако се пријавите на [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ поштенскиот список „the mediawiki-api-announce“].\n\nПогрешни барања: Кога Извршникот ќе добие погрешни барања, ќе се испрати HTTP-заглавие со клучот „MediaWiki-API-Error“ и потоа на вредностите на заглавието и шифрата на грешката што ќе се појават ќе им биде зададена истата вредност. ПОвеќе информации ќе најдете на https://www.mediawiki.org/wiki/API:Errors_and_warnings.", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Документација]\n* [https://www.mediawiki.org/wiki/API:FAQ ЧПП]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Поштенски список]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Соопштенија за Извршникот]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Грешки и барања]\n
\nСтатус: Сите ставки на страницава би требало да работат, но Извршникот сепак е во активна разработка, што значи дека може да се смени во секое време. Објавите за измени можете да ги дознавате ако се пријавите на [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ поштенскиот список „the mediawiki-api-announce“].\n\nПогрешни барања: Кога Извршникот ќе добие погрешни барања, ќе се испрати HTTP-заглавие со клучот „MediaWiki-API-Error“ и потоа на вредностите на заглавието и шифрата на грешката што ќе се појават ќе им биде зададена истата вредност. ПОвеќе информации ќе најдете на https://www.mediawiki.org/wiki/API:Errors_and_warnings.", "apihelp-main-param-action": "Кое дејство да се изврши.", "apihelp-main-param-format": "Формат на изводот.", "apihelp-main-param-maxlag": "Максималниот заостаток може да се користи кога МедијаВики е воспоставен на грозд умножен од базата. За да спречите дополнителни заостатоци од дејства, овој параметар му наложува на клиентот да почека додека заостатокот не се намали под укажаната вредност. Во случај на преголем заостаток, системт ја дава грешката со код „maxlag“ со порака од обликот „Го чекам $host: има заостаток од $lag секунди“.
Погл. https://www.mediawiki.org/wiki/Manual:Maxlag_parameter за повеќе информации.", @@ -394,5 +394,5 @@ "api-help-permissions-granted-to": "{{PLURAL:$1|Доделена на}: $2", "api-help-right-apihighlimits": "Уоптреба на повисоки ограничувања за приложни барања (бавни барања: $1; брзи барања: $2). Ограничувањата за бавни барања важат и за повеќевредносни параметри.", "api-credits-header": "Признанија", - "api-credits": "Разработувачи на Извршникот:\n* Роан Катау (главен резработувач од септември 2007 до 2009 г.)\n* Виктор Василев\n* Брајан Тонг Мињ\n* Сем Рид\n* Јуриј Астрахан (создавач, главен разработувач од септември 2006 до септември 2007 г.)\n* Brad Jorsch (главен разработувач од 2013 г. до денес)\n\nВашите коментари, предлози и прашања испраќајте ги на mediawiki-api@lists.wikimedia.org\nа грешките пријавувајте ги на https://bugzilla.wikimedia.org/." + "api-credits": "Разработувачи на Извршникот:\n* Роан Катау (главен резработувач од септември 2007 до 2009 г.)\n* Виктор Василев\n* Брајан Тонг Мињ\n* Сем Рид\n* Јуриј Астрахан (создавач, главен разработувач од септември 2006 до септември 2007 г.)\n* Brad Jorsch (главен разработувач од 2013 г. до денес)\n\nВашите коментари, предлози и прашања испраќајте ги на mediawiki-api@lists.wikimedia.org\nа грешките пријавувајте ги на https://phabricator.wikimedia.org/." } diff --git a/includes/api/i18n/nl.json b/includes/api/i18n/nl.json index 450c641913..9a42ed3132 100644 --- a/includes/api/i18n/nl.json +++ b/includes/api/i18n/nl.json @@ -8,7 +8,7 @@ "Valhallasw" ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Documentatie]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api E-maillijst]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API-aankondigingen]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Bugs & verzoeken]\n
\nStatus: Alle functies die op deze pagina worden weergegeven horen te werken. Aan de API wordt actief gewerkt, en deze kan gewijzigd worden. Abonneer u op de [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ e-maillijst mediawiki-api-announce] voor meldingen over aanpassingen.\n\nFoutieve verzoeken: als de API foutieve verzoeken ontvangt, wordt er geantwoord met een HTTP-header met de sleutel \"MediaWiki-API-Error\" en daarna worden de waarde van de header en de foutcode op dezelfde waarde ingesteld. Zie https://www.mediawiki.org/wiki/API:Errors_and_warnings voor meer informatie.", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Documentatie]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api E-maillijst]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API-aankondigingen]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bugs & verzoeken]\n
\nStatus: Alle functies die op deze pagina worden weergegeven horen te werken. Aan de API wordt actief gewerkt, en deze kan gewijzigd worden. Abonneer u op de [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ e-maillijst mediawiki-api-announce] voor meldingen over aanpassingen.\n\nFoutieve verzoeken: als de API foutieve verzoeken ontvangt, wordt er geantwoord met een HTTP-header met de sleutel \"MediaWiki-API-Error\" en daarna worden de waarde van de header en de foutcode op dezelfde waarde ingesteld. Zie https://www.mediawiki.org/wiki/API:Errors_and_warnings voor meer informatie.", "apihelp-main-param-action": "Welke handeling uit te voeren.", "apihelp-main-param-format": "De opmaak van de uitvoer.", "apihelp-main-param-maxlag": "De maximale vertraging kan gebruikt worden als MediaWiki is geïnstalleerd op een databasecluster die gebruik maakt van replicatie. Om te voorkomen dat handelingen nog meer databasereplicatievertraging veroorzaken, kan deze parameter er voor zorgen dat de client wacht totdat de replicatievertraging lager is dan de aangegeven waarde. In het geval van buitensporige vertraging, wordt de foutcode \"maxlag\" teruggegeven met een bericht als \"Waiting for $host: $lag seconds lagged\".
Zie https://www.mediawiki.org/wiki/Manual:Maxlag_parameter voor mee informatie.", @@ -36,5 +36,5 @@ "api-help-param-deprecated": "Verouderd.", "api-help-param-default": "Standaard: $1", "api-credits-header": "Vermeldingen", - "api-credits": "API-ontwikkelaars:\n* Roan Kattouw (hoofdontwikkelaar september 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (oorspronkelijke ontwikkelaar, hoofdontwikkelaar september 2006 – september 2007)\n* Brad Jorsch (hoofdontwikkelaar 2013 – heden)\n\nStuur uw opmerkingen, suggesties en vragen naar mediawiki-api@lists.wikimedia.org\nof maak een melding aan op https://bugzilla.wikimedia.org/." + "api-credits": "API-ontwikkelaars:\n* Roan Kattouw (hoofdontwikkelaar september 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (oorspronkelijke ontwikkelaar, hoofdontwikkelaar september 2006 – september 2007)\n* Brad Jorsch (hoofdontwikkelaar 2013 – heden)\n\nStuur uw opmerkingen, suggesties en vragen naar mediawiki-api@lists.wikimedia.org\nof maak een melding aan op https://phabricator.wikimedia.org/." } diff --git a/includes/api/i18n/pl.json b/includes/api/i18n/pl.json index f61f2157ae..2f85059133 100644 --- a/includes/api/i18n/pl.json +++ b/includes/api/i18n/pl.json @@ -86,5 +86,5 @@ "api-help-permissions": "{{PLURAL:$2|Uprawnienie|Uprawnienia}}:", "api-help-permissions-granted-to": "{{PLURAL:$1|Przydzielone dla}}: $2", "api-credits-header": "Twórcy", - "api-credits": "Deweloperzy API:\n* Roan Kattouw (główny programista wrzesień 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (twórca, główny programista wrzesień 2006–wrzesień 2007)\n* Brad Jorsch (główny programista 2013–obecnie)\n\nProsimy wysyłać komentarze, sugestie i pytania do mediawiki-api@lists.wikimedia.org\nlub zgłoś błąd na https://bugzilla.wikimedia.org/." + "api-credits": "Deweloperzy API:\n* Roan Kattouw (główny programista wrzesień 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (twórca, główny programista wrzesień 2006–wrzesień 2007)\n* Brad Jorsch (główny programista 2013–obecnie)\n\nProsimy wysyłać komentarze, sugestie i pytania do mediawiki-api@lists.wikimedia.org\nlub zgłoś błąd na https://phabricator.wikimedia.org/." } diff --git a/includes/api/i18n/pt.json b/includes/api/i18n/pt.json index 4dc23e58c8..f6c9a61ce5 100644 --- a/includes/api/i18n/pt.json +++ b/includes/api/i18n/pt.json @@ -5,7 +5,7 @@ "Fúlvio" ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Documentação]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de discussão]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anúncios da API]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Erros e solicitações]\n
\nEstado: Todas as funcionalidades mostradas nesta página deveriam estar a funcionar, mas a API ainda está em activo desenvolvimento, e pode ser alterada a qualquer momento. Inscreva-se na [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ lista de discussão mediawiki-api-announce] para ser informado acerca das actualizações.\n\nSolicitações erradas: Quando solicitações erradas são enviadas à API, um cabeçalho em HTTP será enviado com a chave \"MediaWiki-API-Error\" e, em seguida, tanto o valor do cabeçalho quanto o código de erro retornado serão definidos com o mesmo valor. Para mais informação, consulte https://www.mediawiki.org/wiki/API:Errors_and_warnings.", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Documentação]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de discussão]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anúncios da API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Erros e solicitações]\n
\nEstado: Todas as funcionalidades mostradas nesta página deveriam estar a funcionar, mas a API ainda está em activo desenvolvimento, e pode ser alterada a qualquer momento. Inscreva-se na [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ lista de discussão mediawiki-api-announce] para ser informado acerca das actualizações.\n\nSolicitações erradas: Quando solicitações erradas são enviadas à API, um cabeçalho em HTTP será enviado com a chave \"MediaWiki-API-Error\" e, em seguida, tanto o valor do cabeçalho quanto o código de erro retornado serão definidos com o mesmo valor. Para mais informação, consulte https://www.mediawiki.org/wiki/API:Errors_and_warnings.", "apihelp-main-param-action": "Qual acção a executar.", "apihelp-main-param-format": "O formato de saída.", "apihelp-block-description": "Bloquear um utilizador.", @@ -87,5 +87,5 @@ "api-help-param-no-description": "(sem descrição)", "api-help-examples": "{{PLURAL:$1|Exemplo|Exemplos}}:", "api-credits-header": "Créditos", - "api-credits": "Programadores API:\n* Roan Kattouw (programador principal Set 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (criador, programador-líder Set 2006–Set 2007)\n* Brad Jorsch (programador-líder 2013–presente)\n\nPor favor, envie os seus comentários, sugestões e perguntas para mediawiki-api@lists.wikimedia.org ou reporte um erro técnico em https://bugzilla.wikimedia.org/." + "api-credits": "Programadores API:\n* Roan Kattouw (programador principal Set 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (criador, programador-líder Set 2006–Set 2007)\n* Brad Jorsch (programador-líder 2013–presente)\n\nPor favor, envie os seus comentários, sugestões e perguntas para mediawiki-api@lists.wikimedia.org ou reporte um erro técnico em https://phabricator.wikimedia.org/." } diff --git a/includes/api/i18n/qqq.json b/includes/api/i18n/qqq.json index 5c0a805ee2..10bc46ad05 100644 --- a/includes/api/i18n/qqq.json +++ b/includes/api/i18n/qqq.json @@ -328,7 +328,6 @@ "apihelp-query+allimages-param-to": "{{doc-apihelp-param|query+allimages|to}}", "apihelp-query+allimages-param-start": "{{doc-apihelp-param|query+allimages|start}}", "apihelp-query+allimages-param-end": "{{doc-apihelp-param|query+allimages|end}}", - "apihelp-query+allimages-param-prop": "{{doc-apihelp-param|query+allimages|prop}}", "apihelp-query+allimages-param-prefix": "{{doc-apihelp-param|query+allimages|prefix}}", "apihelp-query+allimages-param-minsize": "{{doc-apihelp-param|query+allimages|minsize}}", "apihelp-query+allimages-param-maxsize": "{{doc-apihelp-param|query+allimages|maxsize}}", @@ -563,7 +562,26 @@ "apihelp-query+fileusage-example-simple": "{{doc-apihelp-example|query+fileusage}}", "apihelp-query+fileusage-example-generator": "{{doc-apihelp-example|query+fileusage}}", "apihelp-query+imageinfo-description": "{{doc-apihelp-description|query+imageinfo}}", - "apihelp-query+imageinfo-param-prop": "{{doc-apihelp-param|query+imageinfo|prop}}", + "apihelp-query+imageinfo-param-prop": "{{doc-apihelp-param|query+imageinfo|prop|paramvalues=1}}", + "apihelp-query+imageinfo-paramvalue-prop-archivename": "{{doc-apihelp-paramvalue|query+imageinfo|prop|archivename}}", + "apihelp-query+imageinfo-paramvalue-prop-bitdepth": "{{doc-apihelp-paramvalue|query+imageinfo|prop|bitdepth}}", + "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle": "{{doc-apihelp-paramvalue|query+imageinfo|prop|canonicaltitle}}", + "apihelp-query+imageinfo-paramvalue-prop-comment": "{{doc-apihelp-paramvalue|query+imageinfo|prop|comment}}", + "apihelp-query+imageinfo-paramvalue-prop-commonmetadata": "{{doc-apihelp-paramvalue|query+imageinfo|prop|commonmetadata}}", + "apihelp-query+imageinfo-paramvalue-prop-dimensions": "{{doc-apihelp-paramvalue|query+imageinfo|prop|dimensions}}", + "apihelp-query+imageinfo-paramvalue-prop-extmetadata": "{{doc-apihelp-paramvalue|query+imageinfo|prop|extmetadata}}", + "apihelp-query+imageinfo-paramvalue-prop-mediatype": "{{doc-apihelp-paramvalue|query+imageinfo|prop|mediatype}}", + "apihelp-query+imageinfo-paramvalue-prop-metadata": "{{doc-apihelp-paramvalue|query+imageinfo|prop|metadata}}", + "apihelp-query+imageinfo-paramvalue-prop-mime": "{{doc-apihelp-paramvalue|query+imageinfo|prop|mime}}", + "apihelp-query+imageinfo-paramvalue-prop-parsedcomment": "{{doc-apihelp-paramvalue|query+imageinfo|prop|parsedcomment}}", + "apihelp-query+imageinfo-paramvalue-prop-sha1": "{{doc-apihelp-paramvalue|query+imageinfo|prop|sha1}}", + "apihelp-query+imageinfo-paramvalue-prop-size": "{{doc-apihelp-paramvalue|query+imageinfo|prop|size}}", + "apihelp-query+imageinfo-paramvalue-prop-thumbmime": "{{doc-apihelp-paramvalue|query+imageinfo|prop|thumbmime}}", + "apihelp-query+imageinfo-paramvalue-prop-timestamp": "{{doc-apihelp-paramvalue|query+imageinfo|prop|timestamp}}", + "apihelp-query+imageinfo-paramvalue-prop-uploadwarning": "{{doc-apihelp-paramvalue|query+imageinfo|prop|uploadwarning}}", + "apihelp-query+imageinfo-paramvalue-prop-url": "{{doc-apihelp-paramvalue|query+imageinfo|prop|url}}", + "apihelp-query+imageinfo-paramvalue-prop-user": "{{doc-apihelp-paramvalue|query+imageinfo|prop|user}}", + "apihelp-query+imageinfo-paramvalue-prop-userid": "{{doc-apihelp-paramvalue|query+imageinfo|prop|userid}}", "apihelp-query+imageinfo-param-limit": "{{doc-apihelp-param|query+imageinfo|limit}}", "apihelp-query+imageinfo-param-start": "{{doc-apihelp-param|query+imageinfo|start}}", "apihelp-query+imageinfo-param-end": "{{doc-apihelp-param|query+imageinfo|end}}", @@ -594,7 +612,17 @@ "apihelp-query+imageusage-example-simple": "{{doc-apihelp-example|query+imageusage}}", "apihelp-query+imageusage-example-generator": "{{doc-apihelp-example|query+imageusage}}", "apihelp-query+info-description": "{{doc-apihelp-description|query+info}}", - "apihelp-query+info-param-prop": "{{doc-apihelp-param|query+info|prop}}", + "apihelp-query+info-param-prop": "{{doc-apihelp-param|query+info|prop|paramvalues=1}}", + "apihelp-query+info-paramvalue-prop-displaytitle": "{{doc-apihelp-paramvalue|query+info|prop|displaytitle}}", + "apihelp-query+info-paramvalue-prop-notificationtimestamp": "{{doc-apihelp-paramvalue|query+info|prop|notificationtimestamp}}", + "apihelp-query+info-paramvalue-prop-preload": "{{doc-apihelp-paramvalue|query+info|prop|preload}}", + "apihelp-query+info-paramvalue-prop-protection": "{{doc-apihelp-paramvalue|query+info|prop|protection}}", + "apihelp-query+info-paramvalue-prop-readable": "{{doc-apihelp-paramvalue|query+info|prop|readable}}", + "apihelp-query+info-paramvalue-prop-subjectid": "{{doc-apihelp-paramvalue|query+info|prop|subjectid}}", + "apihelp-query+info-paramvalue-prop-talkid": "{{doc-apihelp-paramvalue|query+info|prop|talkid}}", + "apihelp-query+info-paramvalue-prop-url": "{{doc-apihelp-paramvalue|query+info|prop|url}}", + "apihelp-query+info-paramvalue-prop-watched": "{{doc-apihelp-paramvalue|query+info|prop|watched}}", + "apihelp-query+info-paramvalue-prop-watchers": "{{doc-apihelp-paramvalue|query+info|prop|watchers}}", "apihelp-query+info-param-token": "{{doc-apihelp-param|query+info|token}}", "apihelp-query+info-example-simple": "{{doc-apihelp-example|query+info}}", "apihelp-query+info-example-protection": "{{doc-apihelp-example|query+info}}", @@ -768,7 +796,6 @@ "apihelp-query+stashimageinfo-description": "{{doc-apihelp-description|query+stashimageinfo}}", "apihelp-query+stashimageinfo-param-filekey": "{{doc-apihelp-param|query+stashimageinfo|filekey}}", "apihelp-query+stashimageinfo-param-sessionkey": "{{doc-apihelp-param|query+stashimageinfo|sessionkey}}", - "apihelp-query+stashimageinfo-param-prop": "{{doc-apihelp-param|query+stashimageinfo|prop}}", "apihelp-query+stashimageinfo-example-simple": "{{doc-apihelp-example|query+stashimageinfo}}", "apihelp-query+stashimageinfo-example-params": "{{doc-apihelp-example|query+stashimageinfo}}", "apihelp-query+tags-description": "{{doc-apihelp-description|query+tags}}", diff --git a/includes/api/i18n/si.json b/includes/api/i18n/si.json index 14e0015489..a075a49fa8 100644 --- a/includes/api/i18n/si.json +++ b/includes/api/i18n/si.json @@ -66,5 +66,5 @@ "api-help-permissions": "{{PLURAL:$1|අවසරය|අවසරයන්}}:", "api-help-permissions-granted-to": "{{PLURAL:$1|\tප්‍රදානලාභියාට}}: $2", "api-credits-header": "ස්තුතිය", - "api-credits": "API වැඩිදියුණු කරන්නන්:\n* Roan Kattouw (ප්‍රධානියා 2007 සැප්. –2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (නිර්මාපකයා, ප්‍රධානියා 2006 සැප්. – 2007 සැප්.)\n* Brad Jorsch (ප්‍රධානියා 2013–මේ දක්වා)\n\nඔබගේ අදහස්, යෝජනා හා ගැටළු mediawiki-api@lists.wikimedia.org වෙත යොමු කරන්න, පින්තූර හෝ ගොනු හරහා ගැටළු ඉදිරිපත් කිරීමට https://bugzilla.wikimedia.org/ වෙත පිවිසෙන්න." + "api-credits": "API වැඩිදියුණු කරන්නන්:\n* Roan Kattouw (ප්‍රධානියා 2007 සැප්. –2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (නිර්මාපකයා, ප්‍රධානියා 2006 සැප්. – 2007 සැප්.)\n* Brad Jorsch (ප්‍රධානියා 2013–මේ දක්වා)\n\nඔබගේ අදහස්, යෝජනා හා ගැටළු mediawiki-api@lists.wikimedia.org වෙත යොමු කරන්න, පින්තූර හෝ ගොනු හරහා ගැටළු ඉදිරිපත් කිරීමට https://phabricator.wikimedia.org/ වෙත පිවිසෙන්න." } diff --git a/includes/api/i18n/sr-ec.json b/includes/api/i18n/sr-ec.json index 32a6765a8a..cf3a4de274 100644 --- a/includes/api/i18n/sr-ec.json +++ b/includes/api/i18n/sr-ec.json @@ -4,5 +4,8 @@ "Milicevic01" ] }, - "apihelp-block-param-reason": "Разлог блокирање." + "apihelp-block-description": "Блокирај корисника.", + "apihelp-block-param-reason": "Разлог за блокирање.", + "apihelp-delete-description": "Обриши страницу.", + "apihelp-edit-param-minor": "Мања измена." } diff --git a/includes/api/i18n/sv.json b/includes/api/i18n/sv.json index 1475a84f2d..30b25c49d3 100644 --- a/includes/api/i18n/sv.json +++ b/includes/api/i18n/sv.json @@ -5,21 +5,37 @@ "Lokal Profil", "WikiPhoenix", "Victorsa", - "Albinomamba" + "Albinomamba", + "Peki01", + "Stens51" ] }, + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page Dokumentation]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api E-postlist]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API-aviseringar]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Buggar & förslag]\n
\nStatus: Alla funktioner som visas på denna sida borde fungera. API:et är dock fortfarande under aktiv utveckling och kan ändras när som helst. Prenumerera på [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ mediawiki-api-announce e-postlistan] för att få aviseringar om uppdateringar.\n\nFelaktiga förfrågningar: När felaktiga förfrågningar skickas till API:et skickas en HTTP-header med nyckeln \"MediaWiki-API-Error\" och sedan sätts både värdet på headern och den felkoden som returneras till samma värde. För mer information läs https://www.mediawiki.org/wiki/API:Errors_and_warnings.", "apihelp-main-param-action": "Vilken åtgärd som ska utföras.", "apihelp-main-param-format": "Formatet för utdata.", + "apihelp-main-param-assert": "Bekräftar att användaren är inloggad om satt till \"user\", eller har bot-användarrättigheter om satt till \"bot\".", + "apihelp-main-param-requestid": "Alla värde som anges här kommer att inkluderas i svaret. Kan användas för att särskilja förfrågningar.", + "apihelp-main-param-servedby": "Inkludera det värdnamn som besvarade förfrågan i resultatet.", "apihelp-main-param-curtimestamp": "Inkludera den aktuella tidsstämpeln i resultatet.", + "apihelp-main-param-origin": "När API:et används genom en cross-domain AJAX-begäran (CORS), ange detta till den ursprungliga domänen. Detta måste inkluderas i alla pre-flight-begäran, och mpste därför vara en del av den begärda URI:n (inte i POST-datat). Detta måste överensstämma med en av källorna i Origin:-headern exakt, så den måste sättas till något i stil med http://en.wikipedia.org eller https://meta.wikimedia.org. Om denna parameter inte överensstämmer med Origin:-headern, returneras ett 403-svar. Om denna parameter överensstämmer med Origin:-headern och källan är vitlistad, sätts en Access-Control-Allow-Origin-header.", + "apihelp-main-param-uselang": "Språk som ska användas för meddelandeöversättningar. En lista med koder kan hämtas från [[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]] med siprop=languages, eller ange \"user\" för att använda den aktuella användarens språkpreferenser, eller ange \"content\" för att använda innehållsspråket.", "apihelp-block-description": "Blockera en användare.", "apihelp-block-param-user": "Användare, IP-adress eller IP-intervall du vill blockera.", + "apihelp-block-param-expiry": "Förfallotid. Kan vara Kan vara relativt (t.ex. \"5 months\" eller \"2 weeks\") eller absolut (t.ex. 2014-09-18T12:34:56Z\"). Om satt till \"infinite\", \"indefinite\" eller \"never\", kommer blockeringen aldrig att löpa ut.", "apihelp-block-param-reason": "Orsak till blockering.", "apihelp-block-param-anononly": "Blockera endast anonyma användare (t.ex. inaktivera anonyma redigeringar för denna IP-adress).", "apihelp-block-param-nocreate": "Förhindra registrering av användarkonton.", + "apihelp-block-param-autoblock": "Blockera automatiskt den senast använda IP-adressen, och alla efterföljande IP-adresser de försöker logga in från.", + "apihelp-block-param-noemail": "Hindra användaren från att skicka e-post via wikin. (Kräver \"blockemail\"-rättigheten).", "apihelp-block-param-hidename": "Döljer användarnamnet från blockeringsloggen. (Kräver rättigheten \"hideuser\").", "apihelp-block-param-allowusertalk": "Låt användaren redigera sin egen diskussionssida (beror på $wgBlockAllowsUTEdit).", "apihelp-block-param-reblock": "Skriv över befintlig blockering om användaren redan är blockerad.", "apihelp-block-param-watchuser": "Bevaka användarens eller IP-adressens användarsida och diskussionssida", + "apihelp-block-example-ip-simple": "Blockera IP-adressen 192.0.2.5 i tre dagar med motivationen \"First strike\"", + "apihelp-block-example-user-complex": "Blockera användare Vandal på obegränsad tid med motivationen \"Vandalism\", och förhindra kontoskapande och e-post.", + "apihelp-clearhasmsg-description": "Rensa hasmsg-flaggan för den aktuella användaren.", + "apihelp-clearhasmsg-example-1": "Rensa hasmsg-flaggan för den aktuella användaren", + "apihelp-compare-description": "Hämta skillnaden mellan två sidor.\n\nDu behöver skicka ett versionsnummer, en sidtitel, eller ett sid-Id för både \"from\" och \"to\".", "apihelp-compare-param-fromtitle": "Första titeln att jämföra.", "apihelp-compare-param-fromid": "Första sid-ID att jämföra.", "apihelp-compare-param-fromrev": "Första version att jämföra.", @@ -31,10 +47,17 @@ "apihelp-createaccount-param-name": "Användarnamn.", "apihelp-createaccount-param-password": "Lösenord (ignoreras om $1mailpassword angetts).", "apihelp-createaccount-param-domain": "Domän för extern autentisering (frivillig).", + "apihelp-createaccount-param-token": "Nyckel för kontoskapande erhölls i första begäran.", "apihelp-createaccount-param-email": "Användarens e-postadress (valfritt).", "apihelp-createaccount-param-realname": "Användarens riktiga namn (valfritt).", + "apihelp-createaccount-param-mailpassword": "Om satt till ett värde, skickas ett slumpmässigt lösenord till användaren via e-post.", + "apihelp-createaccount-param-reason": "Valfri anledning för att skapa kontot för att läggas till i loggarna.", + "apihelp-createaccount-param-language": "Språkkod att använda som standard för användaren (valfri, standardvärdet är innehållsspråket).", "apihelp-createaccount-example-pass": "Skapa användaren \"testuser\" med lösenordet \"test123\"", + "apihelp-createaccount-example-mail": "Skapa användaren \"testmailuser\" och skicka ett slumpgenererat lösenord via e-post", "apihelp-delete-description": "Radera en sida.", + "apihelp-delete-param-title": "Titel på sidan du vill radera. Kan inte användas tillsammans med $1pageid.", + "apihelp-delete-param-pageid": "Sid-ID för sidan du vill radera. Kan inte användas tillsammans med $1titel.", "apihelp-delete-param-reason": "Orsak till radering. Om orsak inte ges kommer en orsak att automatiskt genereras och användas.", "apihelp-delete-param-watch": "Lägg till sidan i din bevakningslista.", "apihelp-delete-param-unwatch": "Ta bort sidan från din bevakningslista.", @@ -42,29 +65,49 @@ "apihelp-delete-example-reason": "Raderar huvudsidan med orsaken \"Förbereder flyttning\"", "apihelp-disabled-description": "Denna modul har inaktiverats.", "apihelp-edit-description": "Skapa och redigera sidor.", + "apihelp-edit-param-title": "Titel på sidan du vill redigera. Kan inte användas tillsammans med $1pageid.", + "apihelp-edit-param-pageid": "Sid-ID för sidan du vill redigera. Kan inte användas tillsammans med $1titel.", + "apihelp-edit-param-section": "Avsnittsnummer. 0 för det översta avsnittet, \"new\" för ett nytt avsnitt.", "apihelp-edit-param-sectiontitle": "Rubriken för ett nytt avsnitt.", "apihelp-edit-param-text": "Sidans innehåll.", "apihelp-edit-param-summary": "Redigeringssammanfattning. Även avsnittets rubrik när $1section=new och $1sectiontitle inte anges.", "apihelp-edit-param-minor": "Mindre redigering.", + "apihelp-edit-param-notminor": "Icke-mindre redigering.", "apihelp-edit-param-bot": "Markera denna redigering som robotredigering.", + "apihelp-edit-param-basetimestamp": "Tidsstämpel för grundversionen, används för att upptäcka redigeringskonflikter. Kan erhållas genom [[Special:ApiHelp/query+revisions|action=query&prop=revisions&rvprop=timestamp]].", + "apihelp-edit-param-starttimestamp": "Tidsstämpel för när du började redigeringsprocessen, används för att upptäcka redigeringskonflikter. Ett lämpligt värde kan erhållas via [[Special:ApiHelp/main|curtimestamp]] när redigeringsprocessen startas (t.ex. när sidans innehåll laddas för redigering).", "apihelp-edit-param-createonly": "Redigera inte sidan om den redan finns.", "apihelp-edit-param-nocreate": "Kasta ett fel om sidan inte finns.", "apihelp-edit-param-watch": "Lägg till sidan i din bevakningslista.", "apihelp-edit-param-unwatch": "Ta bort sidan från din bevakningslista.", + "apihelp-edit-param-md5": "MD5-hash för $1text-parametern, eller $1prependtext- och $1appendtext-parametrarna sammanfogade.", + "apihelp-edit-param-prependtext": "Lägg till denna text i början på sidan. Ersätter $1text.", + "apihelp-edit-param-appendtext": "Lägg till denna text i slutet på sidan. Ersätter $1text.\n\nAnvänd $1section=new för att lägga till en ny sektion, hellre än denna parameter.", "apihelp-edit-param-redirect": "Åtgärda automatiskt omdirigeringar.", + "apihelp-edit-param-token": "Token ska alltid skickas som sista parameter, eller åtminstone efter $1text-parametern", "apihelp-edit-example-edit": "Redigera en sida", "apihelp-emailuser-description": "Skicka e-post till en användare.", "apihelp-emailuser-param-target": "Användare att skicka e-post till.", + "apihelp-emailuser-param-subject": "Ämnesrubrik.", "apihelp-emailuser-param-text": "E-postmeddelandets innehåll.", "apihelp-emailuser-param-ccme": "Skicka en kopia av detta e-postmeddelande till mig.", "apihelp-emailuser-example-email": "Skicka ett e-postmeddelande till användaren \"WikiSysop\" med texten \"Content\"", + "apihelp-expandtemplates-description": "Expanderar alla mallar i wikitext.", "apihelp-expandtemplates-param-title": "Sidans rubrik.", "apihelp-expandtemplates-param-text": "Wikitext att konvertera.", + "apihelp-expandtemplates-param-revid": "Revision ID, för {{REVISIONID}} och liknande variabler.", + "apihelp-expandtemplates-example-simple": "Expandera wikitexten \"{{Projekt:Sandbox}}\"", "apihelp-feedcontributions-param-year": "Från år (och tidigare).", "apihelp-feedcontributions-param-month": "Från månad (och tidigare).", + "apihelp-feedcontributions-param-tagfilter": "Filtrera bidrag som har dessa taggar.", + "apihelp-feedcontributions-param-deletedonly": "Visa bara borttagna bidrag.", + "apihelp-feedcontributions-param-toponly": "Visa endast ändringar som är senaste revideringen.", + "apihelp-feedcontributions-param-newonly": "Visa endast redigeringar där sidor skapas.", + "apihelp-feedcontributions-param-showsizediff": "Visa skillnaden i storlek mellan revisioner.", "apihelp-feedcontributions-example-simple": "Returnera bidrag för [[User:Example]]", "apihelp-feedrecentchanges-param-days": "Dagar att begränsa resultaten till.", "apihelp-feedrecentchanges-param-limit": "Maximalt antal resultat att returnera.", + "apihelp-feedrecentchanges-param-from": "Visa förändringar sedan dess.", "apihelp-feedrecentchanges-param-hideminor": "Dölj mindre ändringar.", "apihelp-feedrecentchanges-param-hidebots": "Dölj robotändringar.", "apihelp-feedrecentchanges-param-hideanons": "Dölj ändringar av oinloggade användare.", @@ -73,8 +116,11 @@ "apihelp-feedrecentchanges-param-hidemyself": "Dölj mina ändringar.", "apihelp-feedrecentchanges-param-tagfilter": "Filtrera efter tagg.", "apihelp-feedrecentchanges-param-target": "Visa endast ändringarna av sidor som den här sidan länkar till.", + "apihelp-feedrecentchanges-param-showlinkedto": "Visa ändringarna på sidor som är länkade till den valda sidan i stället.", "apihelp-feedrecentchanges-example-simple": "Visa senaste ändringar", "apihelp-feedrecentchanges-example-30days": "Visa senaste ändringar för 30 dygn", + "apihelp-feedwatchlist-param-hours": "Lista sidor ändrade inom så här många timmar från nu.", + "apihelp-feedwatchlist-param-linktosections": "Länka direkt till ändrade avsnitt om möjligt.", "apihelp-filerevert-description": "Återställ en fil till en äldre version.", "apihelp-filerevert-param-comment": "Ladda upp kommentar.", "apihelp-filerevert-example-revert": "Återställ Wiki.png till versionen från 2011-03-05T15:27:40Z", @@ -118,6 +164,8 @@ "apihelp-patrol-example-revid": "Patrullera en sidversion", "apihelp-protect-description": "Ändra skyddsnivån för en sida.", "apihelp-protect-example-protect": "Skydda en sida", + "apihelp-query-param-list": "Vilka listor att hämta.", + "apihelp-query-param-meta": "Vilka metadata att hämta.", "apihelp-query+alldeletedrevisions-paraminfo-useronly": "Kan endast användas med $3user.", "apihelp-query+alldeletedrevisions-paraminfo-nonuseronly": "Kan inte användas med $3user.", "apihelp-query+allfileusages-example-unique": "Lista unika filtitlar", @@ -126,6 +174,7 @@ "apihelp-query+allmessages-example-ipb": "Visa meddelanden som börjar med \"ipb-\"", "apihelp-query+allmessages-example-de": "Visa meddelandena \"august\" och \"mainpage\" på tyska", "apihelp-query+allpages-param-filterredir": "Vilka sidor att lista.", + "apihelp-query+revisions-example-first5-not-localhost": "Hämta första 5 revideringarna av \"huvudsidan\" och som inte gjorts av anonym användare \"127.0.0.1\"", "apihelp-query+stashimageinfo-description": "Returnerar filinformation för temporära filer.", "apihelp-query+stashimageinfo-param-filekey": "Nyckel som identifierar en tidigare uppladdning som lagrats temporärt.", "apihelp-query+stashimageinfo-example-simple": "Returnerar information för en temporär fil", diff --git a/includes/api/i18n/zh-hans.json b/includes/api/i18n/zh-hans.json index 332a6e6b0d..2026b034e9 100644 --- a/includes/api/i18n/zh-hans.json +++ b/includes/api/i18n/zh-hans.json @@ -9,7 +9,7 @@ "Shizhao" ] }, - "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page/zh 文档]\n* [https://www.mediawiki.org/wiki/API:FAQ/zh 常见问题]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api 邮件列表]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API公告]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts 程序错误与功能请求]\n
\n状态信息: 本页所展示的所有特性都应正常工作,但是API仍在开发当中,将会随时变化。请订阅[https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ mediawiki-api-announce 邮件列表]以便获得更新通知。\n\n错误请求: 当API收到错误请求时,HTTP header将会返回一个包含\"MediaWiki-API-Error\"的值,随后header的值与error code将会送回并设置为相同的值。详细信息请参阅 https://www.mediawiki.org/wiki/API:Errors_and_warnings 。", + "apihelp-main-description": "
\n* [https://www.mediawiki.org/wiki/API:Main_page/zh 文档]\n* [https://www.mediawiki.org/wiki/API:FAQ/zh 常见问题]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api 邮件列表]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API公告]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R 程序错误与功能请求]\n
\n状态信息: 本页所展示的所有特性都应正常工作,但是API仍在开发当中,将会随时变化。请订阅[https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ mediawiki-api-announce 邮件列表]以便获得更新通知。\n\n错误请求: 当API收到错误请求时,HTTP header将会返回一个包含\"MediaWiki-API-Error\"的值,随后header的值与error code将会送回并设置为相同的值。详细信息请参阅 https://www.mediawiki.org/wiki/API:Errors_and_warnings 。", "apihelp-main-param-action": "要执行的操作。", "apihelp-main-param-format": "输出的格式。", "apihelp-main-param-maxlag": "最大延迟可被用于MediaWiki安装于数据库复制集中。要保存导致更多网站复制延迟的操作,此参数可使客户端等待直到复制延迟少于指定值时。万一发生过多延迟,错误代码“maxlag”会返回消息,例如“等待$host中:延迟$lag秒”。
参见https://www.mediawiki.org/wiki/Manual:Maxlag_parameter以获取更多信息。", @@ -27,12 +27,14 @@ "apihelp-block-param-reason": "封禁的原因", "apihelp-block-param-anononly": "只封禁匿名用户(也就是说禁止此IP的匿名编辑)。", "apihelp-block-param-nocreate": "防止创建帐户。", + "apihelp-block-param-autoblock": "自动封禁最近使用的IP地址,以及以后他们尝试登陆使用的IP地址。", "apihelp-block-param-noemail": "阻止用户通过 wiki发送电子邮件。(要求\"blockemail\"权限)。", "apihelp-block-param-hidename": "从封禁日志中隐藏用户名。(需要“隐藏用户”权限)。", "apihelp-block-param-allowusertalk": "允许用户编辑自己的讨论页 (取决于 $wgBlockAllowsUTEdit)。", "apihelp-block-param-reblock": "如果该用户已被封禁,则覆盖已有的封禁。", "apihelp-block-param-watchuser": "监视该用户或该 IP 的用户页和讨论页。", - "apihelp-block-example-ip-simple": "封禁IP地址192.0.2.5三天,原因“首次罢工”", + "apihelp-block-example-ip-simple": "封禁IP地址192.0.2.5三天,原因“首次处理”", + "apihelp-block-example-user-complex": "无限期封禁破坏用户,原因“纯破坏用户”,并阻止新账户创建和电子邮件", "apihelp-clearhasmsg-description": "清除当前用户的 hasmsg 标志。", "apihelp-clearhasmsg-example-1": "清除当前用户的 hasmsg 标志", "apihelp-compare-description": "获取2个页面之间的差别。\n\n您必须为\"from\"和\"to\"传递特定的修订版本号、 页面标题或页面ID。", @@ -60,29 +62,39 @@ "apihelp-delete-param-pageid": "你所希望删除的页面的页面ID。不能与$1title一起使用。", "apihelp-delete-param-reason": "删除原因。如果未设置,将使用一个自动生成的原因。", "apihelp-delete-param-watch": "将该页面加入您的监视列表。", + "apihelp-delete-param-watchlist": "无条件地将页面加入至您的监视列表或将其移除,使用设置或不更改监视。", "apihelp-delete-param-unwatch": "将该页面从您的监视列表删除。", + "apihelp-delete-param-oldimage": "由[[Special:ApiHelp/query+imageinfo|action=query&prop=imageinfo&iiprop=archivename]]提供的要删除的旧图片名称。", "apihelp-delete-example-simple": "删除首页", "apihelp-delete-example-reason": "删除首页,原因“准备移动”", "apihelp-disabled-description": "此模块已禁用。", "apihelp-edit-description": "创建和编辑页面。", "apihelp-edit-param-title": "您希望编辑的页面标题。不能与$1pageid一起使用。", "apihelp-edit-param-pageid": "您希望编辑的页面ID。不能与$1title一起使用。", + "apihelp-edit-param-section": "段落数。0用于首段,“new”用于新的段落。", "apihelp-edit-param-sectiontitle": "新小节的标题。", "apihelp-edit-param-text": "页面内容。", "apihelp-edit-param-summary": "编辑摘要。当$1section=new且未设置$1sectiontitle时,还包括小节标题。", "apihelp-edit-param-minor": "小编辑。", "apihelp-edit-param-notminor": "不是小编辑。", "apihelp-edit-param-bot": "标记此编辑为机器人编辑。", + "apihelp-edit-param-basetimestamp": "基础修订的时间戳,用于检测编辑冲突。也许可以通过[[Special:ApiHelp/query+revisions|action=query&prop=revisions&rvprop=timestamp]]得到。", + "apihelp-edit-param-starttimestamp": "您开始编辑过程的时间戳,用于检测编辑冲突。当开始编辑过程时(例如当加载要编辑的页面时)使用[[Special:ApiHelp/main|curtimestamp]]可能取得一个适当的值。", + "apihelp-edit-param-recreate": "覆盖有关同时删除的条目的任何错误。", "apihelp-edit-param-createonly": "不要编辑页面,如果已经存在。", "apihelp-edit-param-nocreate": "如果该页面不存在,则抛出一个错误。", "apihelp-edit-param-watch": "将页面加入您的监视列表。", "apihelp-edit-param-unwatch": "将页面从您的监视列表移除。", + "apihelp-edit-param-watchlist": "无条件地将页面加入至您的监视列表或将其移除,使用设置或不更改监视。", + "apihelp-edit-param-md5": "$1text参数或$1prependtext和$1appendtext级联参数的MD5哈希值。如果设置,除非哈希值正确否则编辑无法完成。", "apihelp-edit-param-prependtext": "将该文本添加到该页面的开始。覆盖$1text。", "apihelp-edit-param-appendtext": "将该文本添加到该页面的结尾。覆盖$1text。\n\n采用$1section=new来添加一个新的章节,而不是这个参数。", "apihelp-edit-param-undo": "撤销此次修订。覆盖$1text、$1prependtext和$1appendtext。", + "apihelp-edit-param-undoafter": "撤销从$1undo至此的所有修订。如果不设置就撤销一次修订。", "apihelp-edit-param-redirect": "自动解析重定向。", "apihelp-edit-param-contentformat": "用于输入文本的内容串行化格式。", "apihelp-edit-param-contentmodel": "新内容的内容模型。", + "apihelp-edit-param-token": "令牌应总是发送为最后参数,或至少在$1text参数之后。", "apihelp-edit-example-edit": "编辑一个页面", "apihelp-edit-example-prepend": "页面中预置__NOTOC__", "apihelp-edit-example-undo": "通过13585撤销修订版本13579并自动填写编辑摘要", @@ -96,6 +108,7 @@ "apihelp-expandtemplates-param-title": "页面标题。", "apihelp-expandtemplates-param-text": "要转换的wiki文本。", "apihelp-expandtemplates-param-revid": "修订版本ID,用于{{REVISIONID}}和类似变体。", + "apihelp-expandtemplates-param-prop": "要获取的那条信息:\n;wikitext:展开的wiki文本。\n;categories:任何在不代表wiki文本输出的输入框出现的分类。\n;volatile:输出是否不稳定,并且不应在任何页面中再度使用。\n;ttl:结果的哪个缓存后等待最长时间应无效化。\n;parsetree:输入的XML解析树。\n注意如果没有选定值,结果将包含wiki文本,但将以弃用的格式显示。", "apihelp-expandtemplates-example-simple": "展开wiki文本“{{Project:Sandbox}}”", "apihelp-feedcontributions-description": "返回用户贡献纲要。", "apihelp-feedcontributions-param-feedformat": "纲要的格式。", @@ -157,14 +170,17 @@ "apihelp-login-param-domain": "域名(可选)。", "apihelp-login-example-gettoken": "检索登录令牌", "apihelp-login-example-login": "登录", + "apihelp-logout-description": "退出并清除会话数据。", "apihelp-logout-example-logout": "退出当前用户", "apihelp-move-description": "移动一个页面。", "apihelp-move-param-from": "您希望移动的页面标题。不能与$1fromid一起使用。", "apihelp-move-param-fromid": "您希望移动的页面ID。不能与$1from一起使用。", + "apihelp-move-param-to": "您重命名操作的目标页面标题。", "apihelp-move-param-reason": "移动原因。", "apihelp-move-param-movetalk": "移动讨论页,如果存在。", "apihelp-move-param-movesubpages": "移动子页面,如果可以。", "apihelp-move-param-noredirect": "不要创建重定向。", + "apihelp-move-param-watch": "将页面和重定向加入至您的监视列表中。", "apihelp-move-param-ignorewarnings": "忽略任何警告。", "apihelp-opensearch-param-search": "搜索字符串。", "apihelp-opensearch-param-limit": "要返回的结果最大数。", @@ -294,6 +310,7 @@ "apihelp-query+contributors-param-limit": "返回的贡献数。", "apihelp-query+contributors-example-simple": "显示[[首页]]的贡献", "apihelp-query+deletedrevisions-example-titles": "列出[[首页]]和[[Talk:首页]]的已删除修订,包含内容", + "apihelp-query+deletedrevisions-example-revids": "列出已删除修订123456的信息", "apihelp-query+deletedrevs-paraminfo-modes": "{{PLURAL:$1|模式}}:$2", "apihelp-query+deletedrevs-param-from": "从此标题开始列出。", "apihelp-query+deletedrevs-param-to": "列出至此标题为止。", @@ -371,6 +388,7 @@ "apihelp-query+linkshere-example-generator": "获取有关链接至[[首页]]的页面的信息", "apihelp-query+logevents-description": "从日志获取事件。", "apihelp-query+logevents-example-simple": "列出最近日志活动", + "apihelp-query+pagepropnames-description": "列出wiki中所有使用中的页面属性名称。", "apihelp-query+pagepropnames-example-simple": "获取前10个常用名称", "apihelp-query+pageprops-example-simple": "获取用于[[:Category:Foo]]的属性", "apihelp-query+pageswithprop-example-simple": "列出前10个使用{{DISPLAYTITLE:}}的页面", @@ -524,5 +542,5 @@ "api-help-permissions": "{{PLURAL:$1|权限}}:", "api-help-permissions-granted-to": "{{PLURAL:$1|授予}}:$2", "api-credits-header": "制作人员", - "api-credits": "API 开发人员:\n* Roan Kattouw(2007年9月~2009年的开发组领导)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan(创建者,2006年9月~2007年9月的开发组领导)\n* Brad Jorsch(2013年至今的开发组领导)\n\n请将您的评论、建议和问题发送至mediawiki-api@lists.wikimedia.org,或提交错误请求在https://bugzilla.wikimedia.org/。" + "api-credits": "API 开发人员:\n* Roan Kattouw(2007年9月~2009年的开发组领导)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan(创建者,2006年9月~2007年9月的开发组领导)\n* Brad Jorsch(2013年至今的开发组领导)\n\n请将您的评论、建议和问题发送至mediawiki-api@lists.wikimedia.org,或提交错误请求在https://phabricator.wikimedia.org/。" } diff --git a/includes/content/JsonContent.php b/includes/content/JsonContent.php index 1ce25c2dba..ff3b25b8b2 100644 --- a/includes/content/JsonContent.php +++ b/includes/content/JsonContent.php @@ -2,6 +2,8 @@ /** * JSON Content Model * + * This class requires the root structure to be an object (not primitives or arrays). + * * @file * * @author Ori Livneh @@ -14,53 +16,80 @@ */ class JsonContent extends TextContent { - public function __construct( $text, $modelId = CONTENT_MODEL_JSON ) { - parent::__construct( $text, $modelId ); + /** + * @since 1.25 + * @var Status + */ + protected $jsonParse; + + /** + * @param string $text JSON + */ + public function __construct( $text ) { + parent::__construct( $text, CONTENT_MODEL_JSON ); } /** * Decodes the JSON into a PHP associative array. - * @return array + * + * @deprecated since 1.25 Use getData instead. + * @return array|null */ public function getJsonData() { + wfDeprecated( __METHOD__, '1.25' ); return FormatJson::decode( $this->getNativeData(), true ); } /** - * @return bool Whether content is valid JSON. + * Decodes the JSON string into a PHP object. + * + * @return Status + */ + public function getData() { + if ( $this->jsonParse === null ) { + $this->jsonParse = FormatJson::parse( $this->getNativeData() ); + } + return $this->jsonParse; + } + + /** + * @return bool Whether content is valid. */ public function isValid() { - return $this->getJsonData() !== null; + return $this->getData()->isGood() && is_object( $this->getData()->getValue() ); } /** - * Pretty-print JSON + * Pretty-print JSON. + * + * If called before validation, it may return JSON "null". * - * @return bool|null|string + * @return string */ public function beautifyJSON() { - $decoded = $this->getJsonData(); - if ( !is_array( $decoded ) ) { - return null; - } - return FormatJson::encode( $decoded, true ); - + return FormatJson::encode( $this->getData()->getValue(), true ); } /** * Beautifies JSON prior to save. + * * @param Title $title Title * @param User $user User * @param ParserOptions $popts * @return JsonContent */ public function preSaveTransform( Title $title, User $user, ParserOptions $popts ) { + // FIXME: WikiPage::doEditContent invokes PST before validation. As such, native data + // may be invalid (though PST result is discarded later in that case). + if ( !$this->isValid() ) { + return $this; + } + return new static( $this->beautifyJSON() ); } /** - * Set the HTML and add the appropriate styles - * + * Set the HTML and add the appropriate styles. * * @param Title $title * @param int $revId @@ -71,50 +100,112 @@ class JsonContent extends TextContent { protected function fillParserOutput( Title $title, $revId, ParserOptions $options, $generateHtml, ParserOutput &$output ) { - if ( $generateHtml ) { - $output->setText( $this->objectTable( $this->getJsonData() ) ); + // FIXME: WikiPage::doEditContent generates parser output before validation. + // As such, native data may be invalid (though output is discarded later in that case). + if ( $generateHtml && $this->isValid() ) { + $output->setText( $this->objectTable( $this->getData()->getValue() ) ); $output->addModuleStyles( 'mediawiki.content.json' ); } else { $output->setText( '' ); } } + /** - * Constructs an HTML representation of a JSON object. - * @param array $mapping + * Construct an HTML representation of a JSON object. + * + * Called recursively via valueCell(). + * + * @param stdClass $mapping * @return string HTML */ protected function objectTable( $mapping ) { $rows = array(); + $empty = true; foreach ( $mapping as $key => $val ) { $rows[] = $this->objectRow( $key, $val ); + $empty = false; } - return Xml::tags( 'table', array( 'class' => 'mw-json' ), - Xml::tags( 'tbody', array(), join( "\n", $rows ) ) + if ( $empty ) { + $rows[] = Html::rawElement( 'tr', array(), + Html::element( 'td', array( 'class' => 'mw-json-empty' ), + wfMessage( 'content-json-empty-object' )->text() + ) + ); + } + return Html::rawElement( 'table', array( 'class' => 'mw-json' ), + Html::rawElement( 'tbody', array(), join( "\n", $rows ) ) ); } /** - * Constructs HTML representation of a single key-value pair. + * Construct HTML representation of a single key-value pair. * @param string $key * @param mixed $val * @return string HTML. */ protected function objectRow( $key, $val ) { $th = Xml::elementClean( 'th', array(), $key ); - if ( is_array( $val ) ) { - $td = Xml::tags( 'td', array(), self::objectTable( $val ) ); - } else { - if ( is_string( $val ) ) { - $val = '"' . $val . '"'; - } else { - $val = FormatJson::encode( $val ); - } + $td = self::valueCell( $val ); + return Html::rawElement( 'tr', array(), $th . $td ); + } + + /** + * Constructs an HTML representation of a JSON array. + * + * Called recursively via valueCell(). + * + * @param array $mapping + * @return string HTML + */ + protected function arrayTable( $mapping ) { + $rows = array(); + $empty = true; - $td = Xml::elementClean( 'td', array( 'class' => 'value' ), $val ); + foreach ( $mapping as $val ) { + $rows[] = $this->arrayRow( $val ); + $empty = false; } + if ( $empty ) { + $rows[] = Html::rawElement( 'tr', array(), + Html::element( 'td', array( 'class' => 'mw-json-empty' ), + wfMessage( 'content-json-empty-array' )->text() + ) + ); + } + return Html::rawElement( 'table', array( 'class' => 'mw-json' ), + Html::rawElement( 'tbody', array(), join( "\n", $rows ) ) + ); + } - return Xml::tags( 'tr', array(), $th . $td ); + /** + * Construct HTML representation of a single array value. + * @param mixed $val + * @return string HTML. + */ + protected function arrayRow( $val ) { + $td = self::valueCell( $val ); + return Html::rawElement( 'tr', array(), $td ); } + /** + * Construct HTML representation of a single value. + * @param mixed $val + * @return string HTML. + */ + protected function valueCell( $val ) { + if ( is_object( $val ) ) { + return Html::rawElement( 'td', array(), self::objectTable( $val ) ); + } + if ( is_array( $val ) ) { + return Html::rawElement( 'td', array(), self::arrayTable( $val ) ); + } + if ( is_string( $val ) ) { + $val = '"' . $val . '"'; + } else { + $val = FormatJson::encode( $val ); + } + + return Xml::elementClean( 'td', array( 'class' => 'value' ), $val ); + } } diff --git a/includes/db/Database.php b/includes/db/Database.php index 6d27d86834..33c5cfb3d0 100644 --- a/includes/db/Database.php +++ b/includes/db/Database.php @@ -1205,7 +1205,8 @@ abstract class DatabaseBase implements IDatabase { $n = $this->affectedRows(); if ( $isWriteQuery && $n > self::LOG_WRITE_THRESHOLD && PHP_SAPI !== 'cli' ) { wfDebugLog( 'DBPerformance', - "Query affected $n rows:\n$sql\n" . wfBacktrace( true ) ); + "Query affected $n rows:\n" . + DatabaseBase::generalizeSQL( $sql ) . "\n" . wfBacktrace( true ) ); } } diff --git a/includes/db/IORMTable.php b/includes/db/IORMTable.php index 6e262e8f0e..b2527f95b5 100644 --- a/includes/db/IORMTable.php +++ b/includes/db/IORMTable.php @@ -94,7 +94,7 @@ interface IORMTable { public function getSummaryFields(); /** - * Selects the the specified fields of the records matching the provided + * Selects the specified fields of the records matching the provided * conditions and returns them as DBDataObject. Field names get prefixed. * * @see DatabaseBase::select() @@ -113,7 +113,7 @@ interface IORMTable { array $options = array(), $functionName = null ); /** - * Selects the the specified fields of the records matching the provided + * Selects the specified fields of the records matching the provided * conditions and returns them as DBDataObject. Field names get prefixed. * * @since 1.20 @@ -145,7 +145,7 @@ interface IORMTable { array $options = array(), $functionName = null ); /** - * Selects the the specified fields of the records matching the provided + * Selects the specified fields of the records matching the provided * conditions and returns them as associative arrays. * Provided field names get prefixed. * Returned field names will not have a prefix. @@ -170,7 +170,7 @@ interface IORMTable { array $options = array(), $collapse = true, $functionName = null ); /** - * Selects the the specified fields of the first matching record. + * Selects the specified fields of the first matching record. * Field names get prefixed. * * @since 1.20 @@ -186,7 +186,7 @@ interface IORMTable { array $options = array(), $functionName = null ); /** - * Selects the the specified fields of the records matching the provided + * Selects the specified fields of the records matching the provided * conditions. Field names do NOT get prefixed. * * @since 1.20 @@ -202,7 +202,7 @@ interface IORMTable { array $options = array(), $functionName = null ); /** - * Selects the the specified fields of the first record matching the provided + * Selects the specified fields of the first record matching the provided * conditions and returns it as an associative array, or false when nothing matches. * This method makes use of selectFields and expects the same parameters and * returns the same results (if there are any, if there are none, this method returns false). diff --git a/includes/db/ORMTable.php b/includes/db/ORMTable.php index b22df39fb6..cada298ce2 100644 --- a/includes/db/ORMTable.php +++ b/includes/db/ORMTable.php @@ -190,7 +190,7 @@ class ORMTable extends DBAccessBase implements IORMTable { } /** - * Selects the the specified fields of the records matching the provided + * Selects the specified fields of the records matching the provided * conditions and returns them as DBDataObject. Field names get prefixed. * * @since 1.20 @@ -211,7 +211,7 @@ class ORMTable extends DBAccessBase implements IORMTable { } /** - * Selects the the specified fields of the records matching the provided + * Selects the specified fields of the records matching the provided * conditions and returns them as DBDataObject. Field names get prefixed. * * @since 1.20 @@ -296,7 +296,7 @@ class ORMTable extends DBAccessBase implements IORMTable { } /** - * Selects the the specified fields of the records matching the provided + * Selects the specified fields of the records matching the provided * conditions and returns them as associative arrays. * Provided field names get prefixed. * Returned field names will not have a prefix. @@ -346,7 +346,7 @@ class ORMTable extends DBAccessBase implements IORMTable { } /** - * Selects the the specified fields of the first matching record. + * Selects the specified fields of the first matching record. * Field names get prefixed. * * @since 1.20 @@ -369,7 +369,7 @@ class ORMTable extends DBAccessBase implements IORMTable { } /** - * Selects the the specified fields of the records matching the provided + * Selects the specified fields of the records matching the provided * conditions. Field names do NOT get prefixed. * * @since 1.20 @@ -400,7 +400,7 @@ class ORMTable extends DBAccessBase implements IORMTable { } /** - * Selects the the specified fields of the first record matching the provided + * Selects the specified fields of the first record matching the provided * conditions and returns it as an associative array, or false when nothing matches. * This method makes use of selectFields and expects the same parameters and * returns the same results (if there are any, if there are none, this method returns false). diff --git a/includes/debug/logger/Logger.php b/includes/debug/logger/Logger.php index 7417c6bdde..c54d2412cc 100644 --- a/includes/debug/logger/Logger.php +++ b/includes/debug/logger/Logger.php @@ -44,9 +44,8 @@ TXT; * change the service provider. If MWLogger::getInstance() is called before * any service provider has been registered, it will attempt to use the * $wgMWLoggerDefaultSpi global to bootstrap MWLoggerSpi registration. - * $wgMWLoggerDefaultSpi can either be the name of a class implementing the - * MWLoggerSpi interface with a zero argument constructor or a callable that - * will return an MWLoggerSpi instance. + * $wgMWLoggerDefaultSpi is expected to be an array usable by + * ObjectFactory::getObjectFromSpec() to create a class. * * @see MWLoggerSpi * @since 1.25 diff --git a/includes/debug/logger/legacy/Logger.php b/includes/debug/logger/legacy/Logger.php index 69c3feb9a9..a682504fb8 100644 --- a/includes/debug/logger/legacy/Logger.php +++ b/includes/debug/logger/legacy/Logger.php @@ -107,7 +107,7 @@ class MWLoggerLegacyLogger extends \Psr\Log\AbstractLogger { // and no explicit wgDebugLogGroups configuration. $shouldEmit = false; } else { - // Default return value is the the same as the historic wfDebug + // Default return value is the same as the historic wfDebug // method: emit if $wgDebugLogFile has been set. $shouldEmit = $wgDebugLogFile != ''; } diff --git a/includes/debug/logger/monolog/LegacyFormatter.php b/includes/debug/logger/monolog/LegacyFormatter.php index c9545fae1b..67acf57d4a 100644 --- a/includes/debug/logger/monolog/LegacyFormatter.php +++ b/includes/debug/logger/monolog/LegacyFormatter.php @@ -21,7 +21,7 @@ /** * Log message formatter that mimics the legacy log message formatting of * `wfDebug`, `wfDebugLog`, `wfLogDBError` and `wfErrorLog` global functions by - * deligating the formatting to MWLoggerLegacyLogger. + * delegating the formatting to MWLoggerLegacyLogger. * * @since 1.25 * @author Bryan Davis diff --git a/includes/diff/DairikiDiff.php b/includes/diff/DairikiDiff.php index a4c0168fea..30534f0a8f 100644 --- a/includes/diff/DairikiDiff.php +++ b/includes/diff/DairikiDiff.php @@ -189,7 +189,7 @@ class DiffOpChange extends DiffOp { * More ideas are taken from: * http://www.ics.uci.edu/~eppstein/161/960229.html * - * Some ideas are (and a bit of code) are from from analyze.c, from GNU + * Some ideas (and a bit of code) are from analyze.c, from GNU * diffutils-2.7, which can be found at: * ftp://gnudist.gnu.org/pub/gnu/diffutils/diffutils-2.7.tar.gz * diff --git a/includes/diff/DifferenceEngine.php b/includes/diff/DifferenceEngine.php index c8871932ee..a458831696 100644 --- a/includes/diff/DifferenceEngine.php +++ b/includes/diff/DifferenceEngine.php @@ -1062,7 +1062,7 @@ class DifferenceEngine extends ContextSource { $key = $title->quickUserCan( 'edit', $user ) ? 'editold' : 'viewsourceold'; $msg = $this->msg( $key )->escaped(); $editLink = $this->msg( 'parentheses' )->rawParams( - Linker::linkKnown( $title, $msg, array( ), $editQuery ) )->plain(); + Linker::linkKnown( $title, $msg, array( ), $editQuery ) )->escaped(); $header .= ' ' . Html::rawElement( 'span', array( 'class' => 'mw-diff-edit' ), diff --git a/includes/filebackend/FileBackendStore.php b/includes/filebackend/FileBackendStore.php index 495ac3c00b..06fb2c6e66 100644 --- a/includes/filebackend/FileBackendStore.php +++ b/includes/filebackend/FileBackendStore.php @@ -1372,7 +1372,7 @@ abstract class FileBackendStore extends FileBackend { /** * Check if a container name is valid. - * This checks for for length and illegal characters. + * This checks for length and illegal characters. * * @param string $container * @return bool diff --git a/includes/gallery/ImageGalleryBase.php b/includes/gallery/ImageGalleryBase.php index bb9a90395a..2a888a50e2 100644 --- a/includes/gallery/ImageGalleryBase.php +++ b/includes/gallery/ImageGalleryBase.php @@ -120,7 +120,7 @@ abstract class ImageGalleryBase extends ContextSource { 'packed-overlay' => 'PackedOverlayImageGallery', ); // Allow extensions to make a new gallery format. - Hooks::run( 'GalleryGetModes', self::$modeMapping ); + Hooks::run( 'GalleryGetModes', array( &self::$modeMapping ) ); } } diff --git a/includes/htmlform/HTMLForm.php b/includes/htmlform/HTMLForm.php index 62345b8cd4..dc73522144 100644 --- a/includes/htmlform/HTMLForm.php +++ b/includes/htmlform/HTMLForm.php @@ -246,10 +246,7 @@ class HTMLForm extends ContextSource { $this->mUseMultipart = true; } - $field = self::loadInputFromParameters( $fieldname, $info ); - // FIXME During field's construct, the parent form isn't available! - // could add a 'parent' name-value to $info, could add a third parameter. - $field->mParent = $this; + $field = self::loadInputFromParameters( $fieldname, $info, $this ); // vform gets too much space if empty labels generate HTML. if ( $this->isVForm() ) { @@ -359,14 +356,18 @@ class HTMLForm extends ContextSource { * * @param string $fieldname Name of the field * @param array $descriptor Input Descriptor, as described above + * @param HTMLForm|null $parent Parent instance of HTMLForm * * @throws MWException * @return HTMLFormField Instance of a subclass of HTMLFormField */ - public static function loadInputFromParameters( $fieldname, $descriptor ) { + public static function loadInputFromParameters( $fieldname, $descriptor, HTMLForm $parent = null ) { $class = self::getClassFromDescriptor( $fieldname, $descriptor ); $descriptor['fieldname'] = $fieldname; + if ( $parent ) { + $descriptor['parent'] = $parent; + } # @todo This will throw a fatal error whenever someone try to use # 'class' to feed a CSS class instead of 'cssclass'. Would be @@ -1014,7 +1015,7 @@ class HTMLForm extends ContextSource { * * @return string HTML, a "
    " list of errors */ - public static function formatErrors( $errors ) { + public function formatErrors( $errors ) { $errorstr = ''; foreach ( $errors as $error ) { @@ -1028,7 +1029,7 @@ class HTMLForm extends ContextSource { $errorstr .= Html::rawElement( 'li', array(), - wfMessage( $msg, $error )->parse() + $this->msg( $msg, $error )->parse() ); } diff --git a/includes/htmlform/HTMLFormField.php b/includes/htmlform/HTMLFormField.php index 4cf23942ff..861ae4cc15 100644 --- a/includes/htmlform/HTMLFormField.php +++ b/includes/htmlform/HTMLFormField.php @@ -343,6 +343,10 @@ abstract class HTMLFormField { function __construct( $params ) { $this->mParams = $params; + if ( isset( $params['parent'] ) && $params['parent'] instanceof HTMLForm ) { + $this->mParent = $params['parent']; + } + # Generate the label from a message, if possible if ( isset( $params['label-message'] ) ) { $msgInfo = $params['label-message']; @@ -354,7 +358,7 @@ abstract class HTMLFormField { $msgInfo = array(); } - $this->mLabel = wfMessage( $msg, $msgInfo )->parse(); + $this->mLabel = $this->msg( $msg, $msgInfo )->parse(); } elseif ( isset( $params['label'] ) ) { if ( $params['label'] === ' ' ) { // Apparently some things set   directly and in an odd format diff --git a/includes/htmlform/HTMLFormFieldCloner.php b/includes/htmlform/HTMLFormFieldCloner.php index 5dadaf8f7d..d1b7746c1e 100644 --- a/includes/htmlform/HTMLFormFieldCloner.php +++ b/includes/htmlform/HTMLFormFieldCloner.php @@ -96,8 +96,7 @@ class HTMLFormFieldCloner extends HTMLFormField { } else { $info['id'] = Sanitizer::escapeId( "{$this->mID}--$key--$fieldname" ); } - $field = HTMLForm::loadInputFromParameters( $name, $info ); - $field->mParent = $this->mParent; + $field = HTMLForm::loadInputFromParameters( $name, $info, $this->mParent ); $fields[$fieldname] = $field; } return $fields; @@ -310,8 +309,7 @@ class HTMLFormFieldCloner extends HTMLFormField { 'id' => Sanitizer::escapeId( "{$this->mID}--$key--delete" ), 'cssclass' => 'mw-htmlform-cloner-delete-button', 'default' => $this->msg( $label )->text(), - ) ); - $field->mParent = $this->mParent; + ), $this->mParent ); $v = $field->getDefault(); if ( $displayFormat === 'table' ) { @@ -383,8 +381,7 @@ class HTMLFormFieldCloner extends HTMLFormField { 'id' => Sanitizer::escapeId( "{$this->mID}--create" ), 'cssclass' => 'mw-htmlform-cloner-create-button', 'default' => $this->msg( $label )->text(), - ) ); - $field->mParent = $this->mParent; + ), $this->mParent ); $html .= $field->getInputHTML( $field->getDefault() ); return $html; diff --git a/includes/installer/DatabaseUpdater.php b/includes/installer/DatabaseUpdater.php index ea1213c306..b676f45ccf 100644 --- a/includes/installer/DatabaseUpdater.php +++ b/includes/installer/DatabaseUpdater.php @@ -612,7 +612,7 @@ abstract class DatabaseUpdater { * Append a line to the open filehandle. The line is assumed to * be a complete SQL statement. * - * This is used as a callback for for sourceLine(). + * This is used as a callback for sourceLine(). * * @param string $line Text to append to the file * @return bool False to skip actually executing the file diff --git a/includes/installer/i18n/bs.json b/includes/installer/i18n/bs.json index cb97c31985..668fbff736 100644 --- a/includes/installer/i18n/bs.json +++ b/includes/installer/i18n/bs.json @@ -10,6 +10,7 @@ "config-information": "Informacija", "config-localsettings-upgrade": "Otkrivena je datoteka LocalSettings.php.\nDa biste unaprijedili vaÅ¡ softver, molimo vas upiÅ¡ite vrijednost od $wgUpgradeKey u okvir ispod.\nNaći ćete ga u LocalSettings.php.", "config-localsettings-key": "Ključ za nadgradnju:", + "config-localsettings-badkey": "Ključ koji ste dali je pogreÅ¡an.", "config-session-error": "GreÅ¡ka pri pokretanju sesije: $1", "config-no-session": "VaÅ¡i podaci sesije su izgubljeni!\nProvjerite vaÅ¡ php.ini i provjerite da li je session.save_path postavljen na pravilni direktorijum.", "config-your-language": "VaÅ¡ jezik:", @@ -32,11 +33,13 @@ "config-page-releasenotes": "BiljeÅ¡ke izdanja", "config-page-copying": "Kopiram", "config-page-upgradedoc": "Nadograđujem", + "config-page-existingwiki": "Postojeća wiki", "config-help-restart": "Da li želite očistiti sve spremljene podatke koje ste unijeli i da započnete ponovo proces instalacije?", "config-restart": "Da, pokreni ponovo", "config-sidebar": "* [//www.mediawiki.org MediaWiki Početna strana]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Vodič za korisnike]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents Vodič za administratore]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ NPP]\n----\n* Pročitaj me\n* Napomene izdanja\n* Kopiranje\n* PoboljÅ¡avanje", "config-env-good": "Okruženje je provjereno.\nMožete instalirati MediaWiki.", "config-env-php": "PHP $1 je instaliran.", + "config-env-hhvm": "HHVM $1 je instaliran.", "config-no-db": "Nije mogao biti pronađen pogodan driver za bazu podataka! Morate instalirati driver baze podataka za PHP.\nSljedeće vrste baza podataka su podržane: $1.\n\nAko se sami kompajlirali PHP, podesite ga sa omogućenim klijentom baze podataka, koristeći naprimjer, ./configure --with-mysqli.\nAko ste instalirali PHP iz Debian ili Ubuntu paketa, tada morate instalirati, naprimjer, i paket php5-mysql.", "config-xcache": "[http://xcache.lighttpd.net/ XCache] je instaliran", "config-apc": "[http://www.php.net/apc APC] je instaliran", @@ -47,14 +50,37 @@ "config-db-wiki-settings": "Identificiraj ovu wiki", "config-db-name": "Naziv baze podataka:", "config-db-name-oracle": "Å ema baze podataka:", + "config-db-username": "Korisničko ime baze podataka:", + "config-db-password": "Pasvord baze podataka:", + "config-db-port": "Port baze podataka:", "config-header-mysql": "Postavke MySQL", "config-header-postgres": "Postavke PostgreSQL", "config-header-sqlite": "Postavke SQLite", "config-header-oracle": "Postavke Oracle", + "config-header-mssql": "Postavke za Microsoft SQL Server", "config-invalid-db-type": "Nevaljana vrsta baze podataka", + "config-missing-db-name": "Morate unijeti vrijednost za \"{{int:config-db-name}}\".", "config-upgrade-done": "Nadogradnja zavrÅ¡ena.\n\nSada možete [$1 početi koristiti vaÅ¡u wiki].\n\nAko želite regenerisati vaÅ¡u datoteku LocalSettings.php, kliknite na dugme ispod.\nOvo '''nije preporučeno''' osim ako nemate problema s vaÅ¡om wiki.", + "config-mysql-innodb": "InnoDB", + "config-mysql-myisam": "MyISAM", + "config-mysql-binary": "Binarni", + "config-site-name": "Ime wiki:", + "config-ns-other-default": "MyWiki", "config-admin-name": "VaÅ¡e korisničko ime:", "config-admin-password": "Å ifra:", + "config-admin-password-confirm": "Ponovno unesite pasvord:", + "config-admin-email": "E-mail adresa:", + "config-profile-wiki": "Otvori wiki", + "config-profile-private": "Privatna wiki", + "config-license-pd": "Javno vlasniÅ¡tvo", + "config-logo": "Logo URL:", + "config-cc-again": "Odaberi ponovno...", + "config-install-step-done": "zavrÅ¡eno", + "config-install-step-failed": "neuspjeÅ¡no", + "config-install-extensions": "Uključujući ekstenzije", + "config-install-tables": "Kreiranje tabela", + "config-help": "pomoć", + "config-help-tooltip": "klikni za proÅ¡irenje", "mainpagetext": "'''MediaViki softver is uspjeÅ¡no instaliran.'''", "mainpagedocfooter": "Kontaktirajte [//meta.wikimedia.org/wiki/Help:Contents uputstva za korisnike] za informacije o upotrebi wiki programa.\n\n== Početak ==\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista postavki]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki najčešće postavljana pitanja]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista E-Mail adresa MediaWiki]" } diff --git a/includes/installer/i18n/ca.json b/includes/installer/i18n/ca.json index 2b8a08e3dc..9fca5fe3a2 100644 --- a/includes/installer/i18n/ca.json +++ b/includes/installer/i18n/ca.json @@ -6,7 +6,8 @@ "Kippelboy", "Toniher", "Fitoschido", - "Jmarchn" + "Jmarchn", + "Alvaro Vidal-Abarca" ] }, "config-desc": "L'instal·lador del MediaWiki", @@ -54,7 +55,9 @@ "config-env-hhvm": "L’HHVM $1 és instal·lat.", "config-memory-raised": "El memory_limit del PHP és $1 i s'ha aixecat a $2.", "config-memory-bad": "Avís: El memory_limit del PHP és $1.\nAixò és probablement massa baix.\nLa instal·lació pot fallar!", + "config-xcache": "[http://xcache.lighttpd.net/ XCache] està instal·lat", "config-apc": "L’[http://www.php.net/apc APC] està instal·lat", + "config-wincache": "[http://www.iis.net/download/WinCacheForPhp WinCache] està instal·lat", "config-diff3-bad": "No s'ha trobat el GNU diff3.", "config-git": "S'ha trobat el programari de control de versions Git: $1.", "config-git-bad": "No s'ha trobat el programari de control de versions Git.", @@ -82,6 +85,7 @@ "config-db-charset": "Joc de caràcters de la base de dades", "config-charset-mysql5-binary": "Binari de MySQL 4.1/5.0", "config-charset-mysql5": "MySQL 4.1/5.0 UTF-8", + "config-charset-mysql4": "MySQL 4.0 compatible cap enrere amb UTF-8", "config-mysql-old": "Cal el MySQL $1 o posterior. Teniu el $2.", "config-db-port": "Port de la base de dades:", "config-db-schema": "Esquema per a MediaWiki:", @@ -101,7 +105,10 @@ "config-missing-db-name": "Heu d'introduir un valor per a «{{int:config-db-name}}».", "config-missing-db-host": "Heu d'introduir un valor per a «{{int:config-db-host}}».", "config-missing-db-server-oracle": "Heu d’introduir un valor per a «{{int:config-db-host-oracle}}».", + "config-connection-error": "$1.\n\nComproveu el servidor central, el nom d'usuari i la contrasenya i torneu-ho a provar.", + "config-db-sys-create-oracle": "L'instal·lador només accepta emprar un compte SYSDBA per a la creació d'un nou compte.", "config-db-sys-user-exists-oracle": "El compte d’usuari «$1» ja existeix. SYSDBA només es pot fer servir per crear comptes nous.", + "config-postgres-old": "Cal el PostgreSQL $1 o posterior. Teniu el $2.", "config-sqlite-readonly": "El fitxer $1 no es pot escriure.", "config-sqlite-cant-create-db": "No s'ha pogut crear el fitxer de base de dades $1.", "config-upgrade-done-no-regenerate": "S'ha completat l'actualització.\n\nJa podeu [$1 començar a utilitzar el wiki].", @@ -169,6 +176,7 @@ "config-upload-settings": "Imatges i càrregues de fitxers", "config-upload-enable": "Habilita la càrrega de fitxers", "config-upload-deleted": "Directori pels arxius suprimits:", + "config-upload-deleted-help": "Trieu un directori on arxivar els fitxers suprimits.\nIdealment no hauria de ser accessible des del web.", "config-logo": "URL del logo:", "config-instantcommons": "Habilita Instant Commons", "config-cc-error": "El selector de llicència Creative Commons no ha donat cap resultat.\nIntroduïu la llicència manualment.", diff --git a/includes/installer/i18n/diq.json b/includes/installer/i18n/diq.json index 843fe2f3b7..2cc85cea6f 100644 --- a/includes/installer/i18n/diq.json +++ b/includes/installer/i18n/diq.json @@ -42,7 +42,7 @@ "config-ns-other": "Zewbi (keyfiyo)", "config-ns-other-default": "MyWiki", "config-admin-box": "Hesabê Administratori", - "config-admin-name": "Namey karberdé to:", + "config-admin-name": "Nameyê şımayê karberi:", "config-admin-password": "Parola:", "config-admin-password-confirm": "Fına parola:", "config-admin-email": "Adresa e-postey:", diff --git a/includes/installer/i18n/et.json b/includes/installer/i18n/et.json index 8fae026e6a..4bf1268c85 100644 --- a/includes/installer/i18n/et.json +++ b/includes/installer/i18n/et.json @@ -38,7 +38,7 @@ "config-project-namespace": "Projekti nimeruum:", "config-ns-generic": "Projekt", "config-admin-box": "Administraatorikonto", - "config-admin-name": "Sinu nimi:", + "config-admin-name": "Sinu kasutajanimi:", "config-admin-password": "Parool:", "config-admin-password-confirm": "Parool uuesti:", "config-admin-name-blank": "Sisesta administraatori kasutajanimi.", diff --git a/includes/installer/i18n/ko.json b/includes/installer/i18n/ko.json index ecba5dcf5e..5fe2e81db7 100644 --- a/includes/installer/i18n/ko.json +++ b/includes/installer/i18n/ko.json @@ -126,7 +126,7 @@ "config-db-schema-help": "보통 이 스키마는 문제가 없습니다.\n필요한 경우에만 바꾸세요.", "config-pg-test-error": "'''$1''' 데이터베이스에 연결할 수 없습니다: $2", "config-sqlite-dir": "SQLite 데이터 디렉터리:", - "config-sqlite-dir-help": "SQLite는 하나의 파일에 모든 데이터를 저장합니다.\n\n입력한 디렉토리는 설치하는 동안 웹 서버가 쓸 수 있어야 합니다.\n\n이 디렉토리는 웹을 통해 접근할 수 '''없어야''' 하는데, PHP 파일이 있는 곳에 넣을 수 없는 것은 이 때문입니다.\n\n설치 프로그램은 .htaccess 파일을 작성하지만, 이것이 실패하면 누군가가 원본 데이터베이스에 접근할 수 있습니다.\n데이터베이스는 원본 사용자 데이터(이메일 주소, 해시한 비밀번호)뿐만 아니라 삭제된 판과 위키의 다른 제한된 데이터를 포함합니다.\n\n예를 들어 /var/lib/mediawiki/yourwiki와 같이 다른 곳에 데이터베이스를 넣는 것이 좋습니다.", + "config-sqlite-dir-help": "SQLite는 하나의 파일에 모든 데이터를 저장합니다.\n\n입력한 디렉토리는 설치하는 동안 웹 서버가 쓸 수 있어야 합니다.\n\n이 디렉토리는 웹을 통해 접근할 수 없어야 합니다. PHP 파일이 있는 곳에 넣을 수 없는 것은 이 때문입니다.\n\n설치 관리자는 .htaccess 파일을 작성하지만, 이것이 실패하면 누군가가 원본 데이터베이스에 접근할 수 있습니다.\n데이터베이스는 원본 사용자 데이터(이메일 주소, 해시한 비밀번호)뿐만 아니라 삭제된 판과 위키의 다른 제한된 데이터를 포함합니다.\n\n예를 들어 /var/lib/mediawiki/yourwiki와 같이 다른 곳에 데이터베이스를 넣는 것이 좋습니다.", "config-oracle-def-ts": "기본 테이블공간:", "config-oracle-temp-ts": "임시 테이블공간:", "config-type-mysql": "MySQL (또는 호환되는 데이터베이스 시스템)", @@ -157,8 +157,8 @@ "config-postgres-old": "PostgreSQL $1 이상이 필요하나 $2(이)가 있습니다.", "config-mssql-old": "Microsoft SQL 서버 $1 이상의 버전이 필요합니다. 현재 버전은 $2입니다.", "config-sqlite-name-help": "위키를 식별하기 위한 이름을 선택하세요.\n공백이나 하이픈을 사용하지 마십시오.\nSQLite 데이터 파일 이름에 사용됩니다.", - "config-sqlite-parent-unwritable-group": "$1 데이터 디렉토리를 만들 수 없으며, 이는 웹 서버는 상위 디렉토리인 $2에 쓸 수 없기 때문입니다.\n\n설치 프로그램은 웹 서버로 실행 중인 사용자를 지정할 수 없습니다.\n계속하려면 웹 서버가 쓸 수 있는 $3 디렉토리를 만드세요.\n유닉스/리눅스 시스템에서의 수행:\n\n
    cd $2\nmkdir $3\nchgrp $4 $3\nchmod g+w $3
    ", - "config-sqlite-parent-unwritable-nogroup": "$1 데이터 디렉토리를 만들 수 없으며, 이는 웹 서버가 상위 디렉토리인 $2에 쓸 수 없기 때문입니다.\n\n설치 프로그램은 웹 서버로 실행 중인 사용자를 지정할 수 없습니다.\n계속하려면 웹 서버(와 그 외 서버!)가 전역으로 쓸 수 있는 $3 디렉토리를 만드세요.\n유닉스/리눅스 시스템에서의 수행:\n\n
    cd $2\nmkdir $3\nchmod a+w $3
    ", + "config-sqlite-parent-unwritable-group": "$1 데이터 디렉토리를 만들 수 없으며, 이는 웹 서버는 상위 디렉토리인 $2에 쓸 수 없기 때문입니다.\n\n설치 관리자는 웹 서버로 실행 중인 사용자를 지정할 수 없습니다.\n계속하려면 웹 서버가 쓸 수 있는 $3 디렉토리를 만드세요.\n유닉스/리눅스 시스템에서의 수행:\n\n
    cd $2\nmkdir $3\nchgrp $4 $3\nchmod g+w $3
    ", + "config-sqlite-parent-unwritable-nogroup": "$1 데이터 디렉토리를 만들 수 없으며, 이는 웹 서버가 상위 디렉토리인 $2에 쓸 수 없기 때문입니다.\n\n설치 관리자는 웹 서버로 실행 중인 사용자를 지정할 수 없습니다.\n계속하려면 웹 서버(와 그 외 서버!)가 전역으로 쓸 수 있는 $3 디렉토리를 만드세요.\n유닉스/리눅스 시스템에서의 수행:\n\n
    cd $2\nmkdir $3\nchmod a+w $3
    ", "config-sqlite-mkdir-error": "\"$1\" 데이터 디렉터리를 만드는 도중 오류가 발생했습니다.\n경로를 확인하고 다시 시도하세요.", "config-sqlite-dir-unwritable": "\"$1\" 디렉토리에 쓸 수 없습니다.\n웹 서버를 쓸 수 있도록 권한을 바꾸고 다시 시도하세요.", "config-sqlite-connection-error": "$1.\n\n호스트, 계정 이름과 비밀번호를 확인하고 다시 시도하세요.", @@ -320,7 +320,7 @@ "config-install-mainpage": "기본 내용으로 대문을 만드는 중", "config-install-extension-tables": "활성화된 확장 기능을 위한 테이블을 만드는 중", "config-install-mainpage-failed": "대문을 삽입할 수 없습니다: $1", - "config-install-done": "'''축하합니다!'''\n미디어위키가 성공적으로 설치되었습니다.\n\n설치 프로그램이 LocalSettings.php 파일을 만들었습니다.\n모든 설정이 포함되어 있습니다.\n\n파일을 다운로드하여 위키 설치의 거점에 넣어야 합니다. (index.php와 같은 디렉터리) 다운로드가 자동으로 시작됩니다.\n\n다운로드가 제공되지 않을 경우나 그것을 취소한 경우에는 아래의 링크를 클릭하여 다운로드를 다시 시작할 수 있습니다:\n\n$3\n\n'''참고:''' 이 생성한 설정 파일을 다운로드하지 않고 설치를 끝내면 이 파일은 나중에 사용할 수 없습니다.\n\n완료되었으면 '''[$2 위키에 들어갈 수 있습니다]'''.", + "config-install-done": "축하합니다!\n미디어위키가 성공적으로 설치되었습니다.\n\n설치 관리자가 LocalSettings.php 파일을 만들었습니다.\n모든 설정이 포함되어 있습니다.\n\n파일을 다운로드하여 위키 설치의 거점에 넣어야 합니다. (index.php와 같은 디렉터리) 다운로드가 자동으로 시작됩니다.\n\n다운로드가 제공되지 않을 경우나 그것을 취소한 경우에는 아래의 링크를 클릭하여 다운로드를 다시 시작할 수 있습니다:\n\n$3\n\n참고: 이 생성한 설정 파일을 다운로드하지 않고 설치를 끝내면 이 파일은 나중에 사용할 수 없습니다.\n\n완료되었으면 [$2 위키에 들어갈 수 있습니다].", "config-download-localsettings": "LocalSettings.php 다운로드", "config-help": "도움말", "config-help-tooltip": "확장하려면 클릭", diff --git a/includes/installer/i18n/ms.json b/includes/installer/i18n/ms.json index 4aeba75644..7d5fab7f3d 100644 --- a/includes/installer/i18n/ms.json +++ b/includes/installer/i18n/ms.json @@ -5,7 +5,8 @@ "Pizza1016", "SNN95", "MaxSem", - "Aviator" + "Aviator", + "Macofe" ] }, "config-desc": "Pemasang MediaWiki", @@ -88,6 +89,7 @@ "config-oracle-def-ts": "Ruang jadual lalai:", "config-oracle-temp-ts": "Ruang jadual sementara:", "config-type-mysql": "MySQL (atau yang serasi)", + "config-type-mssql": "Microsoft SQL Server", "config-header-mysql": "Keutamaan MySQL", "config-header-postgres": "Keutamaan PostgreSQL", "config-header-sqlite": "Keutamaan SQLite", diff --git a/includes/jobqueue/JobQueueDB.php b/includes/jobqueue/JobQueueDB.php index 056e5a83de..5e8399c914 100644 --- a/includes/jobqueue/JobQueueDB.php +++ b/includes/jobqueue/JobQueueDB.php @@ -221,7 +221,7 @@ class JobQueueDB extends JobQueue { } $rowSet = array(); // (sha1 => job) map for jobs that are de-duplicated - $rowList = array(); // list of jobs for jobs that are are not de-duplicated + $rowList = array(); // list of jobs for jobs that are not de-duplicated foreach ( $jobs as $job ) { $row = $this->insertFields( $job ); if ( $job->ignoreDuplicates() ) { diff --git a/includes/jobqueue/jobs/HTMLCacheUpdateJob.php b/includes/jobqueue/jobs/HTMLCacheUpdateJob.php index 4d1e72c91a..b4ddd117e9 100644 --- a/includes/jobqueue/jobs/HTMLCacheUpdateJob.php +++ b/includes/jobqueue/jobs/HTMLCacheUpdateJob.php @@ -26,9 +26,9 @@ * * This job comes in a few variants: * - a) Recursive jobs to purge caches for backlink pages for a given title. - * These jobs have have (recursive:true,table:) set. + * These jobs have (recursive:true,table:
    ) set. * - b) Jobs to purge caches for a set of titles (the job title is ignored). - * These jobs have have (pages:(:(,),...) set. + * These jobs have (pages:(<page ID>:(<namespace>,<title>),...) set. * * @ingroup JobQueue */ @@ -67,7 +67,7 @@ class HTMLCacheUpdateJob extends Job { array( 'params' => $this->getRootJobParams() ) ); JobQueueGroup::singleton()->push( $jobs ); - // Job to purge pages for for a set of titles + // Job to purge pages for a set of titles } elseif ( isset( $this->params['pages'] ) ) { $this->invalidateTitles( $this->params['pages'] ); // B/C for job to purge a range of backlink pages for a given page diff --git a/includes/jobqueue/jobs/RefreshLinksJob.php b/includes/jobqueue/jobs/RefreshLinksJob.php index f82af273d8..5d95792cf9 100644 --- a/includes/jobqueue/jobs/RefreshLinksJob.php +++ b/includes/jobqueue/jobs/RefreshLinksJob.php @@ -26,9 +26,9 @@ * * This job comes in a few variants: * - a) Recursive jobs to update links for backlink pages for a given title. - * These jobs have have (recursive:true,table:<table>) set. + * These jobs have (recursive:true,table:<table>) set. * - b) Jobs to update links for a set of pages (the job title is ignored). - * These jobs have have (pages:(<page ID>:(<namespace>,<title>),...) set. + * These jobs have (pages:(<page ID>:(<namespace>,<title>),...) set. * - c) Jobs to update links for a single page (the job title) * These jobs need no extra fields set. * @@ -86,7 +86,7 @@ class RefreshLinksJob extends Job { array( 'params' => $extraParams ) ); JobQueueGroup::singleton()->push( $jobs ); - // Job to update link tables for for a set of titles + // Job to update link tables for a set of titles } elseif ( isset( $this->params['pages'] ) ) { foreach ( $this->params['pages'] as $pageId => $nsAndKey ) { list( $ns, $dbKey ) = $nsAndKey; @@ -157,7 +157,7 @@ class RefreshLinksJob extends Job { $ellapsed = microtime( true ) - $start; // If it took a long time to render, then save this back to the cache to avoid // wasted CPU by other apaches or job runners. We don't want to always save to - // cache as this cause cause high cache I/O and LRU churn when a template changes. + // cache as this can cause high cache I/O and LRU churn when a template changes. if ( $ellapsed >= self::PARSE_THRESHOLD_SEC && $page->isParserCacheUsed( $parserOptions, $revision->getId() ) && $parserOutput->isCacheable() diff --git a/includes/libs/MultiHttpClient.php b/includes/libs/MultiHttpClient.php index 8c982c431b..8ed9ee42d2 100644 --- a/includes/libs/MultiHttpClient.php +++ b/includes/libs/MultiHttpClient.php @@ -83,7 +83,7 @@ class MultiHttpClient { * - reason : HTTP response reason (empty if there was a serious cURL error) * - headers : <header name/value associative array> * - body : HTTP response body or resource (if "stream" was set) - * - err : Any cURL error string + * - error : Any cURL error string * The map also stores integer-indexed copies of these values. This lets callers do: * <code> * list( $rcode, $rdesc, $rhdrs, $rbody, $rerr ) = $http->run( $req ); @@ -107,7 +107,7 @@ class MultiHttpClient { * - reason : HTTP response reason (empty if there was a serious cURL error) * - headers : <header name/value associative array> * - body : HTTP response body or resource (if "stream" was set) - * - err : Any cURL error string + * - error : Any cURL error string * The map also stores integer-indexed copies of these values. This lets callers do: * <code> * list( $rcode, $rdesc, $rhdrs, $rbody, $rerr ) = $req['response']; diff --git a/includes/libs/RunningStat.php b/includes/libs/RunningStat.php index f09d101826..8bd4656cde 100644 --- a/includes/libs/RunningStat.php +++ b/includes/libs/RunningStat.php @@ -60,10 +60,10 @@ class RunningStat implements Countable { /** @var float The second central moment (or variance). **/ public $m2 = 0.0; - /** @var float The least value in the the set. **/ + /** @var float The least value in the set. **/ public $min = INF; - /** @var float The most value in the set. **/ + /** @var float The greatest value in the set. **/ public $max = NEGATIVE_INF; /** @@ -129,7 +129,7 @@ class RunningStat implements Countable { * Get the estimated standard deviation. * * The standard deviation of a statistical population is the square root of - * its variance. It shows shows how much variation from the mean exists. In + * its variance. It shows how much variation from the mean exists. In * addition to expressing the variability of a population, the standard * deviation is commonly used to measure confidence in statistical conclusions. * diff --git a/includes/libs/ScopedCallback.php b/includes/libs/ScopedCallback.php index 629c26907c..1ec9eaa627 100644 --- a/includes/libs/ScopedCallback.php +++ b/includes/libs/ScopedCallback.php @@ -32,12 +32,12 @@ class ScopedCallback { protected $params; /** - * @param callable $callback + * @param callable|null $callback * @param array $params Callback arguments (since 1.25) * @throws Exception */ public function __construct( $callback, array $params = array() ) { - if ( !is_callable( $callback ) ) { + if ( $callback !== null && !is_callable( $callback ) ) { throw new InvalidArgumentException( "Provided callback is not valid." ); } $this->callback = $callback; diff --git a/includes/libs/virtualrest/VirtualRESTServiceClient.php b/includes/libs/virtualrest/VirtualRESTServiceClient.php index 2d21d3cfac..6f416f12b0 100644 --- a/includes/libs/virtualrest/VirtualRESTServiceClient.php +++ b/includes/libs/virtualrest/VirtualRESTServiceClient.php @@ -125,17 +125,17 @@ class VirtualRESTServiceClient { * - reason : HTTP response reason (empty if there was a serious cURL error) * - headers : <header name/value associative array> * - body : HTTP response body or resource (if "stream" was set) - * - err : Any cURL error string + * - error : Any cURL error string * The map also stores integer-indexed copies of these values. This lets callers do: * <code> * list( $rcode, $rdesc, $rhdrs, $rbody, $rerr ) = $client->run( $req ); * </code> - * @param array $req Virtual HTTP request array + * @param array $req Virtual HTTP request maps * @return array Response array for request */ public function run( array $req ) { - $req = $this->runMulti( array( $req ) ); - return $req[0]['response']; + $responses = $this->runMulti( array( $req ) ); + return $responses[0]; } /** @@ -146,13 +146,13 @@ class VirtualRESTServiceClient { * - reason : HTTP response reason (empty if there was a serious cURL error) * - headers : <header name/value associative array> * - body : HTTP response body or resource (if "stream" was set) - * - err : Any cURL error string + * - error : Any cURL error string * The map also stores integer-indexed copies of these values. This lets callers do: * <code> * list( $rcode, $rdesc, $rhdrs, $rbody, $rerr ) = $responses[0]; * </code> * - * @param array $req Map of Virtual HTTP request arrays + * @param array $reqs Map of Virtual HTTP request maps * @return array $reqs Map of corresponding response values with the same keys/order */ public function runMulti( array $reqs ) { diff --git a/includes/media/SVGMetadataExtractor.php b/includes/media/SVGMetadataExtractor.php index 2a1091d81d..2037c33186 100644 --- a/includes/media/SVGMetadataExtractor.php +++ b/includes/media/SVGMetadataExtractor.php @@ -138,7 +138,7 @@ class SVGReader { $keepReading = $this->reader->read(); /* Skip until first element */ - while ( $keepReading && $this->reader->nodeType != XmlReader::ELEMENT ) { + while ( $keepReading && $this->reader->nodeType != XMLReader::ELEMENT ) { $keepReading = $this->reader->read(); } @@ -158,7 +158,7 @@ class SVGReader { $this->debug( "$tag" ); - if ( $isSVG && $tag == 'svg' && $type == XmlReader::END_ELEMENT + if ( $isSVG && $tag == 'svg' && $type == XMLReader::END_ELEMENT && $this->reader->depth <= $exitDepth ) { break; @@ -166,7 +166,7 @@ class SVGReader { $this->readField( $tag, 'title' ); } elseif ( $isSVG && $tag == 'desc' ) { $this->readField( $tag, 'description' ); - } elseif ( $isSVG && $tag == 'metadata' && $type == XmlReader::ELEMENT ) { + } elseif ( $isSVG && $tag == 'metadata' && $type == XMLReader::ELEMENT ) { $this->readXml( $tag, 'metadata' ); } elseif ( $isSVG && $tag == 'script' ) { // We normally do not allow scripted svgs. @@ -199,17 +199,17 @@ class SVGReader { */ private function readField( $name, $metafield = null ) { $this->debug( "Read field $metafield" ); - if ( !$metafield || $this->reader->nodeType != XmlReader::ELEMENT ) { + if ( !$metafield || $this->reader->nodeType != XMLReader::ELEMENT ) { return; } $keepReading = $this->reader->read(); while ( $keepReading ) { if ( $this->reader->localName == $name && $this->reader->namespaceURI == self::NS_SVG - && $this->reader->nodeType == XmlReader::END_ELEMENT + && $this->reader->nodeType == XMLReader::END_ELEMENT ) { break; - } elseif ( $this->reader->nodeType == XmlReader::TEXT ) { + } elseif ( $this->reader->nodeType == XMLReader::TEXT ) { $this->metadata[$metafield] = trim( $this->reader->value ); } $keepReading = $this->reader->read(); @@ -224,7 +224,7 @@ class SVGReader { */ private function readXml( $metafield = null ) { $this->debug( "Read top level metadata" ); - if ( !$metafield || $this->reader->nodeType != XmlReader::ELEMENT ) { + if ( !$metafield || $this->reader->nodeType != XMLReader::ELEMENT ) { return; } // @todo Find and store type of xml snippet. metadata['metadataType'] = "rdf" @@ -246,7 +246,7 @@ class SVGReader { */ private function animateFilterAndLang( $name ) { $this->debug( "animate filter for tag $name" ); - if ( $this->reader->nodeType != XmlReader::ELEMENT ) { + if ( $this->reader->nodeType != XMLReader::ELEMENT ) { return; } if ( $this->reader->isEmptyElement ) { @@ -256,11 +256,11 @@ class SVGReader { $keepReading = $this->reader->read(); while ( $keepReading ) { if ( $this->reader->localName == $name && $this->reader->depth <= $exitDepth - && $this->reader->nodeType == XmlReader::END_ELEMENT + && $this->reader->nodeType == XMLReader::END_ELEMENT ) { break; } elseif ( $this->reader->namespaceURI == self::NS_SVG - && $this->reader->nodeType == XmlReader::ELEMENT + && $this->reader->nodeType == XMLReader::ELEMENT ) { $sysLang = $this->reader->getAttribute( 'systemLanguage' ); diff --git a/includes/normal/README b/includes/normal/README index 0f718d2c58..fa70c63b1a 100644 --- a/includes/normal/README +++ b/includes/normal/README @@ -29,7 +29,7 @@ have been changed or you remove it. == Testing == 'make test' will run the conformance test (UtfNormalTest.php), fetching the -data from from the net if necessary. If it reports failure, something is +data from the net if necessary. If it reports failure, something is going wrong! You may have to set up PHPUnit first. diff --git a/includes/page/Article.php b/includes/page/Article.php index 45b6298592..be138f1014 100644 --- a/includes/page/Article.php +++ b/includes/page/Article.php @@ -1559,7 +1559,8 @@ class Article implements Page { # This code desperately needs to be totally rewritten $title = $this->getTitle(); - $user = $this->getContext()->getUser(); + $context = $this->getContext(); + $user = $context->getUser(); # Check permissions $permissionErrors = $title->getUserPermissionsErrors( 'delete', $user ); @@ -1576,8 +1577,8 @@ class Article implements Page { $this->mPage->loadPageData( 'fromdbmaster' ); if ( !$this->mPage->exists() ) { $deleteLogPage = new LogPage( 'delete' ); - $outputPage = $this->getContext()->getOutput(); - $outputPage->setPageTitle( wfMessage( 'cannotdelete-title', $title->getPrefixedText() ) ); + $outputPage = $context->getOutput(); + $outputPage->setPageTitle( $context->msg( 'cannotdelete-title', $title->getPrefixedText() ) ); $outputPage->wrapWikiMsg( "<div class=\"error mw-error-cannotdelete\">\n$1\n</div>", array( 'cannotdelete', wfEscapeWikiText( $title->getPrefixedText() ) ) ); @@ -1593,7 +1594,7 @@ class Article implements Page { return; } - $request = $this->getContext()->getRequest(); + $request = $context->getRequest(); $deleteReasonList = $request->getText( 'wpDeleteReasonList', 'other' ); $deleteReason = $request->getText( 'wpReason' ); @@ -1651,11 +1652,11 @@ class Article implements Page { ); // @todo FIXME: i18n issue/patchwork message - $this->getContext()->getOutput()->addHTML( + $context->getOutput()->addHTML( '<strong class="mw-delete-warning-revisions">' . - wfMessage( 'historywarning' )->numParams( $revisions )->parse() . - wfMessage( 'word-separator' )->plain() . Linker::linkKnown( $title, - wfMessage( 'history' )->escaped(), + $context->msg( 'historywarning' )->numParams( $revisions )->parse() . + $context->msg( 'word-separator' )->escaped() . Linker::linkKnown( $title, + $context->msg( 'history' )->escaped(), array( 'rel' => 'archives' ), array( 'action' => 'history' ) ) . '</strong>' @@ -1663,10 +1664,10 @@ class Article implements Page { if ( $title->isBigDeletion() ) { global $wgDeleteRevisionsLimit; - $this->getContext()->getOutput()->wrapWikiMsg( "<div class='error'>\n$1\n</div>\n", + $context->getOutput()->wrapWikiMsg( "<div class='error'>\n$1\n</div>\n", array( 'delete-warning-toobig', - $this->getContext()->getLanguage()->formatNum( $wgDeleteRevisionsLimit ) + $context->getLanguage()->formatNum( $wgDeleteRevisionsLimit ) ) ); } diff --git a/includes/page/ImagePage.php b/includes/page/ImagePage.php index b9f99c8bec..b4409c3560 100644 --- a/includes/page/ImagePage.php +++ b/includes/page/ImagePage.php @@ -175,7 +175,7 @@ class ImagePage extends Article { # Show shared description, if needed if ( $this->mExtraDescription ) { - $fol = wfMessage( 'shareddescriptionfollows' ); + $fol = $this->getContext()->msg( 'shareddescriptionfollows' ); if ( !$fol->isDisabled() ) { $out->addWikiText( $fol->plain() ); } @@ -188,7 +188,7 @@ class ImagePage extends Article { $out->addHTML( Xml::element( 'h2', array( 'id' => 'filelinks' ), - wfMessage( 'imagelinks' )->text() ) . "\n" ); + $this->getContext()->msg( 'imagelinks' )->text() ) . "\n" ); $this->imageDupes(); # @todo FIXME: For some freaky reason, we can't redirect to foreign images. # Yet we return metadata about the target. Definitely an issue in the FileRepo @@ -205,7 +205,7 @@ class ImagePage extends Article { $out->addHTML( Xml::element( 'h2', array( 'id' => 'metadata' ), - wfMessage( 'metadata' )->text() ) . "\n" ); + $this->getContext()->msg( 'metadata' )->text() ) . "\n" ); $out->addWikiText( $this->makeMetadataTable( $formattedMetadata ) ); $out->addModules( array( 'mediawiki.action.view.metadata' ) ); } @@ -237,12 +237,12 @@ class ImagePage extends Article { */ protected function showTOC( $metadata ) { $r = array( - '<li><a href="#file">' . wfMessage( 'file-anchor-link' )->escaped() . '</a></li>', - '<li><a href="#filehistory">' . wfMessage( 'filehist' )->escaped() . '</a></li>', - '<li><a href="#filelinks">' . wfMessage( 'imagelinks' )->escaped() . '</a></li>', + '<li><a href="#file">' . $this->getContext()->msg( 'file-anchor-link' )->escaped() . '</a></li>', + '<li><a href="#filehistory">' . $this->getContext()->msg( 'filehist' )->escaped() . '</a></li>', + '<li><a href="#filelinks">' . $this->getContext()->msg( 'imagelinks' )->escaped() . '</a></li>', ); if ( $metadata ) { - $r[] = '<li><a href="#metadata">' . wfMessage( 'metadata' )->escaped() . '</a></li>'; + $r[] = '<li><a href="#metadata">' . $this->getContext()->msg( 'metadata' )->escaped() . '</a></li>'; } Hooks::run( 'ImagePageShowTOC', array( $this, &$r ) ); @@ -260,7 +260,7 @@ class ImagePage extends Article { */ protected function makeMetadataTable( $metadata ) { $r = "<div class=\"mw-imagepage-section-metadata\">"; - $r .= wfMessage( 'metadata-help' )->plain(); + $r .= $this->getContext()->msg( 'metadata-help' )->plain(); $r .= "<table id=\"mw_metadata\" class=\"mw_metadata\">\n"; foreach ( $metadata as $type => $stuff ) { foreach ( $stuff as $v ) { @@ -341,14 +341,14 @@ class ImagePage extends Article { if ( $this->displayImg->allowInlineDisplay() ) { # image # "Download high res version" link below the image - # $msgsize = wfMessage( 'file-info-size', $width_orig, $height_orig, + # $msgsize = $this->getContext()->msg( 'file-info-size', $width_orig, $height_orig, # Linker::formatSize( $this->displayImg->getSize() ), $mime )->escaped(); # We'll show a thumbnail of this image if ( $width > $maxWidth || $height > $maxHeight || $this->displayImg->isVectorized() ) { list( $width, $height ) = $this->getDisplayWidthHeight( $maxWidth, $maxHeight, $width, $height ); - $linktext = wfMessage( 'show-big-image' )->escaped(); + $linktext = $this->getContext()->msg( 'show-big-image' )->escaped(); $thumbSizes = $this->getThumbSizes( $width, $height, $width_orig, $height_orig ); # Generate thumbnails or thumbnail links as needed... @@ -377,14 +377,14 @@ class ImagePage extends Article { $msgsmall = ''; $sizeLinkBigImagePreview = $this->makeSizeLink( $params, $width, $height ); if ( $sizeLinkBigImagePreview ) { - $msgsmall .= wfMessage( 'show-big-image-preview' )-> + $msgsmall .= $this->getContext()->msg( 'show-big-image-preview' )-> rawParams( $sizeLinkBigImagePreview )-> parse(); } if ( count( $otherSizes ) ) { $msgsmall .= ' ' . Html::rawElement( 'span', array( 'class' => 'mw-filepage-other-resolutions' ), - wfMessage( 'show-big-image-other' )->rawParams( $lang->pipeList( $otherSizes ) )-> + $this->getContext()->msg( 'show-big-image-other' )->rawParams( $lang->pipeList( $otherSizes ) )-> params( count( $otherSizes ) )->parse() ); } @@ -394,7 +394,7 @@ class ImagePage extends Article { $msgsmall = ''; } else { # Image is small enough to show full size on image page - $msgsmall = wfMessage( 'file-nohires' )->parse(); + $msgsmall = $this->getContext()->msg( 'file-nohires' )->parse(); } $params['width'] = $width; @@ -428,7 +428,7 @@ class ImagePage extends Article { $count = $this->displayImg->pageCount(); if ( $page > 1 ) { - $label = $out->parse( wfMessage( 'imgmultipageprev' )->text(), false ); + $label = $out->parse( $this->getContext()->msg( 'imgmultipageprev' )->text(), false ); // on the client side, this link is generated in ajaxifyPageNavigation() // in the mediawiki.page.image.pagination module $link = Linker::linkKnown( @@ -450,7 +450,7 @@ class ImagePage extends Article { } if ( $page < $count ) { - $label = wfMessage( 'imgmultipagenext' )->text(); + $label = $this->getContext()->msg( 'imgmultipagenext' )->text(); $link = Linker::linkKnown( $this->getTitle(), $label, @@ -487,8 +487,8 @@ class ImagePage extends Article { '</td><td><div class="multipageimagenavbox">' . Xml::openElement( 'form', $formParams ) . Html::hidden( 'title', $this->getTitle()->getPrefixedDBkey() ) . - wfMessage( 'imgmultigoto' )->rawParams( $select )->parse() . - Xml::submitButton( wfMessage( 'imgmultigo' )->text() ) . + $this->getContext()->msg( 'imgmultigoto' )->rawParams( $select )->parse() . + Xml::submitButton( $this->getContext()->msg( 'imgmultigo' )->text() ) . Xml::closeElement( 'form' ) . "<hr />$thumb1\n$thumb2<br style=\"clear: both\" /></div></td></tr></table>" ); @@ -502,12 +502,12 @@ class ImagePage extends Article { "</div>\n" ); } - $longDesc = wfMessage( 'parentheses', $this->displayImg->getLongDesc() )->text(); + $longDesc = $this->getContext()->msg( 'parentheses', $this->displayImg->getLongDesc() )->text(); $medialink = "[[Media:$filename|$linktext]]"; if ( !$this->displayImg->isSafeFile() ) { - $warning = wfMessage( 'mediawarning' )->plain(); + $warning = $this->getContext()->msg( 'mediawarning' )->plain(); // dirmark is needed here to separate the file name, which // most likely ends in Latin characters, from the description, // which may begin with the file type. In RTL environment @@ -619,7 +619,7 @@ EOT return Html::rawElement( 'a', array( 'href' => $thumbnail->getUrl(), 'class' => 'mw-thumbnail-link' - ), wfMessage( 'show-big-image-size' )->numParams( + ), $this->getContext()->msg( 'show-big-image-size' )->numParams( $thumbnail->getWidth(), $thumbnail->getHeight() )->parse() ); } else { @@ -645,9 +645,9 @@ EOT $wrap = "<div class=\"sharedUploadNotice\">\n$1\n</div>\n"; $repo = $this->mPage->getFile()->getRepo()->getDisplayName(); - if ( $descUrl && $descText && wfMessage( 'sharedupload-desc-here' )->plain() !== '-' ) { + if ( $descUrl && $descText && $this->getContext()->msg( 'sharedupload-desc-here' )->plain() !== '-' ) { $out->wrapWikiMsg( $wrap, array( 'sharedupload-desc-here', $repo, $descUrl ) ); - } elseif ( $descUrl && wfMessage( 'sharedupload-desc-there' )->plain() !== '-' ) { + } elseif ( $descUrl && $this->getContext()->msg( 'sharedupload-desc-there' )->plain() !== '-' ) { $out->wrapWikiMsg( $wrap, array( 'sharedupload-desc-there', $repo, $descUrl ) ); } else { $out->wrapWikiMsg( $wrap, array( 'sharedupload', $repo ), ''/*BACKCOMPAT*/ ); @@ -694,7 +694,7 @@ EOT ) { $ulink = Linker::makeExternalLink( $this->getUploadUrl(), - wfMessage( 'uploadnewversion-linktext' )->text() + $this->getContext()->msg( 'uploadnewversion-linktext' )->text() ); $out->addHTML( "<li id=\"mw-imagepage-reupload-link\">" . "<div class=\"plainlinks\">{$ulink}</div></li>\n" ); @@ -832,7 +832,7 @@ EOT $liContents = $link; } elseif ( count( $redirects[$element->page_title] ) === 0 ) { # Redirect without usages - $liContents = wfMessage( 'linkstoimage-redirect' )->rawParams( $link, '' )->parse(); + $liContents = $this->getContext()->msg( 'linkstoimage-redirect' )->rawParams( $link, '' )->parse(); } else { # Redirect with usages $li = ''; @@ -855,7 +855,7 @@ EOT array( 'class' => 'mw-imagepage-redirectstofile' ), $li ) . "\n"; - $liContents = wfMessage( 'linkstoimage-redirect' )->rawParams( + $liContents = $this->getContext()->msg( 'linkstoimage-redirect' )->rawParams( $link, $ul )->parse(); } $out->addHTML( Html::rawElement( @@ -901,7 +901,7 @@ EOT } else { $link = Linker::makeExternalLink( $file->getDescriptionUrl(), $file->getTitle()->getPrefixedText() ); - $fromSrc = wfMessage( 'shared-repo-from', $file->getRepo()->getDisplayName() )->text(); + $fromSrc = $this->getContext()->msg( 'shared-repo-from', $file->getRepo()->getDisplayName() )->text(); } $out->addHTML( "<li>{$link} {$fromSrc}</li>\n" ); } @@ -930,7 +930,7 @@ EOT */ function showError( $description ) { $out = $this->getContext()->getOutput(); - $out->setPageTitle( wfMessage( 'internalerror' ) ); + $out->setPageTitle( $this->getContext()->msg( 'internalerror' ) ); $out->setRobotPolicy( 'noindex,nofollow' ); $out->setArticleRelated( false ); $out->enableClientCache( false ); @@ -1008,7 +1008,7 @@ EOT $code = wfBCP47( $lang ); $name = Language::fetchLanguageName( $code, $this->getContext()->getLanguage()->getCode() ); if ( $name !== '' ) { - $display = wfMessage( 'img-lang-opt', $code, $name )->text(); + $display = $this->getContext()->msg( 'img-lang-opt', $code, $name )->text(); } else { $display = $code; } @@ -1024,7 +1024,7 @@ EOT // Its hard to know if the content is really in the default language, or // if its just unmarked content that could be in any language. $opts = Xml::option( - wfMessage( 'img-lang-default' )->text(), + $this->getContext()->msg( 'img-lang-default' )->text(), $defaultLang, $defaultLang === $curLang ) . $opts; @@ -1032,7 +1032,7 @@ EOT if ( !$haveCurrentLang && $defaultLang !== $curLang ) { $name = Language::fetchLanguageName( $curLang, $this->getContext()->getLanguage()->getCode() ); if ( $name !== '' ) { - $display = wfMessage( 'img-lang-opt', $curLang, $name )->text(); + $display = $this->getContext()->msg( 'img-lang-opt', $curLang, $name )->text(); } else { $display = $curLang; } @@ -1044,9 +1044,9 @@ EOT array( 'id' => 'mw-imglangselector', 'name' => 'lang' ), $opts ); - $submit = Xml::submitButton( wfMessage( 'img-lang-go' )->text() ); + $submit = Xml::submitButton( $this->getContext()->msg( 'img-lang-go' )->text() ); - $formContents = wfMessage( 'img-lang-info' )->rawParams( $select, $submit )->parse() + $formContents = $this->getContext()->msg( 'img-lang-info' )->rawParams( $select, $submit )->parse() . Html::hidden( 'title', $this->getTitle()->getPrefixedDBkey() ); $langSelectLine = Html::rawElement( 'div', array( 'id' => 'mw-imglangselector-line' ), diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index b9f7eda154..282506470c 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -50,7 +50,7 @@ class WikiPage implements Page, IDBAccessObject { public $mLatest = false; // !< Integer (false means "not loaded") /**@}}*/ - /** @var stdclass Map of cache fields (text, parser output, ect) for a proposed/new edit */ + /** @var stdClass Map of cache fields (text, parser output, ect) for a proposed/new edit */ public $mPreparedEdit = false; /** @@ -395,7 +395,7 @@ class WikiPage implements Page, IDBAccessObject { * @param string|int $from One of the following: * - "fromdb" or WikiPage::READ_NORMAL if the data comes from a slave DB * - "fromdbmaster" or WikiPage::READ_LATEST if the data comes from the master DB - * - "forupdate" or WikiPage::READ_LOCKING if the data comes from from + * - "forupdate" or WikiPage::READ_LOCKING if the data comes from * the master DB using SELECT FOR UPDATE */ public function loadFromRow( $data, $from ) { @@ -975,7 +975,7 @@ class WikiPage implements Page, IDBAccessObject { $source = $this->mTitle->getFullURL( 'redirect=no' ); return $rt->getFullURL( array( 'rdfrom' => $source ) ); } else { - // External pages pages without "local" bit set are not valid + // External pages without "local" bit set are not valid // redirect targets return false; } @@ -2050,7 +2050,7 @@ class WikiPage implements Page, IDBAccessObject { /** * Prepare text which is about to be saved. - * Returns a stdclass with source, pst and output members + * Returns a stdClass with source, pst and output members * * @deprecated since 1.21: use prepareContentForEdit instead. * @return object @@ -2063,7 +2063,7 @@ class WikiPage implements Page, IDBAccessObject { /** * Prepare content which is about to be saved. - * Returns a stdclass with source, pst and output members + * Returns a stdClass with source, pst and output members * * @param Content $content * @param int|null $revid diff --git a/includes/parser/CoreParserFunctions.php b/includes/parser/CoreParserFunctions.php index 6f19a23065..a95bbfee85 100644 --- a/includes/parser/CoreParserFunctions.php +++ b/includes/parser/CoreParserFunctions.php @@ -111,7 +111,7 @@ class CoreParserFunctions { $pref = $parser->getOptions()->getDateFormat(); - // Specify a different default date format other than the the normal default + // Specify a different default date format other than the normal default // if the user has 'default' for their setting if ( $pref == 'default' && $defaultPref ) { $pref = $defaultPref; @@ -953,13 +953,6 @@ class CoreParserFunctions { $inner = null; } - $stripList = $parser->getStripList(); - if ( !in_array( $tagName, $stripList ) ) { - return '<span class="error">' . - wfMessage( 'unknown_extension_tag', $tagName )->inContentLanguage()->text() . - '</span>'; - } - $attributes = array(); foreach ( $args as $arg ) { $bits = $arg->splitArg(); @@ -973,6 +966,19 @@ class CoreParserFunctions { } } + $stripList = $parser->getStripList(); + if ( !in_array( $tagName, $stripList ) ) { + // we can't handle this tag (at least not now), so just re-emit it as an ordinary tag + $attrText = ''; + foreach ( $attributes as $name => $value ) { + $attrText .= ' ' . htmlspecialchars( $name ) . '="' . htmlspecialchars( $value ) . '"'; + } + if ( $inner === null ) { + return "<$tagName$attrText/>"; + } + return "<$tagName$attrText>$inner</$tagName>"; + } + $params = array( 'name' => $tagName, 'inner' => $inner, diff --git a/includes/parser/MWTidy.php b/includes/parser/MWTidy.php index 7b537768a1..ed4db38cba 100644 --- a/includes/parser/MWTidy.php +++ b/includes/parser/MWTidy.php @@ -131,12 +131,12 @@ class MWTidy { $wrappedtext = $wrapper->getWrapped( $text ); $retVal = null; - list( $correctedtext, $errors ) = self::clean( $wrappedtext, $retVal ); + $correctedtext = self::clean( $wrappedtext, false, $retVal ); if ( $retVal < 0 ) { wfDebug( "Possible tidy configuration error!\n" ); return $text . "\n<!-- Tidy was unable to run -->\n"; - } elseif ( $correctedtext === '' && $text !== '' ) { + } elseif ( is_null( $correctedtext ) ) { wfDebug( "Tidy error detected!\n" ); return $text . "\n<!-- Tidy found serious XHTML errors -->\n"; } @@ -155,23 +155,31 @@ class MWTidy { */ public static function checkErrors( $text, &$errorStr = null ) { $retval = 0; - list( $outputStr, $errorStr ) = self::clean( $text, $retval ); + $errorStr = self::clean( $text, true, $retval ); return ( $retval < 0 && $errorStr == '' ) || $retval == 0; } /** * Perform a clean/repair operation * @param string $text HTML to check + * @param bool $stderr Whether to read result from STDERR rather than STDOUT * @param int &$retval Exit code (-1 on internal error) * @return string|null */ - private static function clean( $text, &$retval = null ) { + private static function clean( $text, $stderr = false, &$retval = null ) { global $wgTidyInternal; if ( $wgTidyInternal ) { - return self::internalClean( $text, $retval ); + if ( wfIsHHVM() ) { + if ( $stderr ) { + throw new MWException( __METHOD__ . ": error text return from HHVM tidy is not supported" ); + } + return self::hhvmClean( $text, $retval ); + } else { + return self::phpClean( $text, $stderr, $retval ); + } } else { - return self::externalClean( $text, $retval ); + return self::externalClean( $text, $stderr, $retval ); } } @@ -180,23 +188,32 @@ class MWTidy { * Also called in OutputHandler.php for full page validation * * @param string $text HTML to check + * @param bool $stderr Whether to read result from STDERR rather than STDOUT * @param int &$retval Exit code (-1 on internal error) * @return string|null */ - private static function externalClean( $text, &$retval = null ) { + private static function externalClean( $text, $stderr = false, &$retval = null ) { global $wgTidyConf, $wgTidyBin, $wgTidyOpts; wfProfileIn( __METHOD__ ); + $cleansource = ''; $opts = ' -utf8'; - $descriptorspec = array( - 0 => array( 'pipe', 'r' ), - 1 => array( 'pipe', 'w' ), - 2 => array( 'pipe', 'w' ), - ); + if ( $stderr ) { + $descriptorspec = array( + 0 => array( 'pipe', 'r' ), + 1 => array( 'file', wfGetNull(), 'a' ), + 2 => array( 'pipe', 'w' ) + ); + } else { + $descriptorspec = array( + 0 => array( 'pipe', 'r' ), + 1 => array( 'pipe', 'w' ), + 2 => array( 'file', wfGetNull(), 'a' ) + ); + } - $outputBuffer = ''; - $errorBuffer = ''; + $readpipe = $stderr ? 2 : 1; $pipes = array(); $process = proc_open( @@ -213,25 +230,24 @@ class MWTidy { // for tidyParseStdin and tidySaveStdout in console/tidy.c fwrite( $pipes[0], $text ); fclose( $pipes[0] ); - - while ( !feof( $pipes[1] ) ) { - $outputBuffer .= fgets( $pipes[1], 1024 ); + while ( !feof( $pipes[$readpipe] ) ) { + $cleansource .= fgets( $pipes[$readpipe], 1024 ); } - fclose( $pipes[1] ); - - while ( !feof( $pipes[2] ) ) { - $errorBuffer .= fgets( $pipes[2], 1024 ); - } - fclose( $pipes[2] ); - + fclose( $pipes[$readpipe] ); $retval = proc_close( $process ); } else { wfWarn( "Unable to start external tidy process" ); $retval = -1; } + if ( !$stderr && $cleansource == '' && $text != '' ) { + // Some kind of error happened, so we couldn't get the corrected text. + // Just give up; we'll use the source text and append a warning. + $cleansource = null; + } + wfProfileOut( __METHOD__ ); - return array( $outputBuffer, $errorBuffer ); + return $cleansource; } /** @@ -239,10 +255,11 @@ class MWTidy { * saving the overhead of spawning a new process. * * @param string $text HTML to check + * @param bool $stderr Whether to read result from error status instead of output * @param int &$retval Exit code (-1 on internal error) * @return string|null */ - private static function internalClean( $text, &$retval = null ) { + private static function phpClean( $text, $stderr = false, &$retval = null ) { global $wgTidyConf, $wgDebugTidy; wfProfileIn( __METHOD__ ); @@ -256,36 +273,57 @@ class MWTidy { return null; } - $outputBuffer = ''; - $errorBuffer = ''; - - if ( wfIsHHVM() ) { - // Use the tidy extension for HHVM from - // https://github.com/wikimedia/mediawiki-php-tidy - // - // This currently does not support the object-oriented interface, but - // tidy_repair_string() can be used for the most common tasks. - $result = tidy_repair_string( $text, $wgTidyConf, 'utf8' ); - $outputBuffer .= $result; - $retval = $result === false ? -1 : 0; - } else { - $tidy = new tidy; - $tidy->parseString( $text, $wgTidyConf, 'utf8' ); - $tidy->cleanRepair(); + $tidy = new tidy; + $tidy->parseString( $text, $wgTidyConf, 'utf8' ); + + if ( $stderr ) { $retval = $tidy->getStatus(); - $outputBuffer .= tidy_get_output( $tidy ); - if ( $retval > 0 ) { - $errorBuffer .= $tidy->errorBuffer; - } + + wfProfileOut( __METHOD__ ); + return $tidy->errorBuffer; } - if ( $wgDebugTidy && $errorBuffer && $retval > 0 ) { - $outputBuffer .= "<!--\nTidy reports:\n" . - str_replace( '-->', '-->', $tidy->errorBuffer ) . - "\n-->"; + $tidy->cleanRepair(); + $retval = $tidy->getStatus(); + if ( $retval == 2 ) { + // 2 is magic number for fatal error + // http://www.php.net/manual/en/function.tidy-get-status.php + $cleansource = null; + } else { + $cleansource = tidy_get_output( $tidy ); + if ( $wgDebugTidy && $retval > 0 ) { + $cleansource .= "<!--\nTidy reports:\n" . + str_replace( '-->', '-->', $tidy->errorBuffer ) . + "\n-->"; + } } wfProfileOut( __METHOD__ ); - return array( $outputBuffer, $errorBuffer ); + return $cleansource; + } + + /** + * Use the tidy extension for HHVM from + * https://github.com/wikimedia/mediawiki-php-tidy + * + * This currently does not support the object-oriented interface, but + * tidy_repair_string() can be used for the most common tasks. + * + * @param string $text HTML to check + * @param int &$retval Exit code (-1 on internal error) + * @return string|null + */ + private static function hhvmClean( $text, &$retval ) { + global $wgTidyConf; + wfProfileIn( __METHOD__ ); + $cleansource = tidy_repair_string( $text, $wgTidyConf, 'utf8' ); + if ( $cleansource === false ) { + $cleansource = null; + $retval = -1; + } else { + $retval = 0; + } + wfProfileOut( __METHOD__ ); + return $cleansource; } } diff --git a/includes/parser/Parser.php b/includes/parser/Parser.php index a9daa22309..e3a4ea57eb 100644 --- a/includes/parser/Parser.php +++ b/includes/parser/Parser.php @@ -90,6 +90,9 @@ class Parser { const EXT_IMAGE_REGEX = '/^(http:\/\/|https:\/\/)([^][<>"\\x00-\\x20\\x7F\p{Zs}]+) \\/([A-Za-z0-9_.,~%\\-+&;#*?!=()@\\x80-\\xFF]+)\\.((?i)gif|png|jpg|jpeg)$/Sxu'; + # Regular expression for a non-newline space + const SPACE_NOT_NL = '(?:\t| |&\#0*160;|&\#[Xx]0*[Aa]0;|\p{Zs})'; + # State constants for the definition list colon extraction const COLON_STATE_TEXT = 0; const COLON_STATE_TAG = 1; @@ -1389,18 +1392,22 @@ class Parser { wfProfileIn( __METHOD__ ); $prots = wfUrlProtocolsWithoutProtRel(); $urlChar = self::EXT_LINK_URL_CLASS; + $space = self::SPACE_NOT_NL; # non-newline space + $spdash = "(?:-|$space)"; # a dash or a non-newline space + $spaces = "$space++"; # possessive match of 1 or more spaces $text = preg_replace_callback( '!(?: # Start cases (<a[ \t\r\n>].*?</a>) | # m[1]: Skip link text (<.*?>) | # m[2]: Skip stuff inside HTML elements' . " - (\b(?i:$prots)$urlChar+) | # m[3]: Free external links" . ' - \b(?:RFC|PMID)\s+([0-9]+)\b |# m[4]: RFC or PMID, capture number - \bISBN\s+( # m[5]: ISBN, capture number - (?: 97[89] [\ \-]? )? # optional 13-digit ISBN prefix - (?: [0-9] [\ \-]? ){9} # 9 digits with opt. delimiters + (\b(?i:$prots)$urlChar+) | # m[3]: Free external links + \b(?:RFC|PMID) $spaces # m[4]: RFC or PMID, capture number + ([0-9]+)\b | + \bISBN $spaces ( # m[5]: ISBN, capture number + (?: 97[89] $spdash? )? # optional 13-digit ISBN prefix + (?: [0-9] $spdash? ){9} # 9 digits with opt. delimiters [0-9Xx] # check digit - )\b - )!xu', array( &$this, 'magicLinkCallback' ), $text ); + )\b + )!xu", array( &$this, 'magicLinkCallback' ), $text ); wfProfileOut( __METHOD__ ); return $text; } @@ -1441,6 +1448,8 @@ class Parser { } elseif ( isset( $m[5] ) && $m[5] !== '' ) { # ISBN $isbn = $m[5]; + $space = self::SPACE_NOT_NL; # non-newline space + $isbn = preg_replace( "/$space/", ' ', $isbn ); $num = strtr( $isbn, array( '-' => '', ' ' => '', @@ -1484,7 +1493,20 @@ class Parser { $sep .= ')'; } - $numSepChars = strspn( strrev( $url ), $sep ); + $urlRev = strrev( $url ); + $numSepChars = strspn( $urlRev, $sep ); + # Don't break a trailing HTML entity by moving the ; into $trail + # This is in hot code, so use substr_compare to avoid having to + # create a new string object for the comparison + if ( $numSepChars && substr_compare( $url, ";", -$numSepChars, 1 ) === 0) { + # more optimization: instead of running preg_match with a $ + # anchor, which can be slow, do the match on the reversed + # string starting at the desired offset. + # un-reversed regexp is: /&([a-z]+|#x[\da-f]+|#\d+)$/i + if ( preg_match( '/\G([a-z]+|[\da-f]+x#|\d+#)&/i', $urlRev, $m2, 0, $numSepChars ) ) { + $numSepChars--; + } + } if ( $numSepChars ) { $trail = substr( $url, -$numSepChars ) . $trail; $url = substr( $url, 0, -$numSepChars ); diff --git a/includes/parser/ParserOutput.php b/includes/parser/ParserOutput.php index 428e7b2b25..1a2be5fb71 100644 --- a/includes/parser/ParserOutput.php +++ b/includes/parser/ParserOutput.php @@ -861,7 +861,7 @@ class ParserOutput extends CacheTime { } /** - * Save space for for serialization by removing useless values + * Save space for serialization by removing useless values * @return array */ public function __sleep() { diff --git a/includes/poolcounter/PoolCounter.php b/includes/poolcounter/PoolCounter.php index e77ffd7cd6..5692d73199 100644 --- a/includes/poolcounter/PoolCounter.php +++ b/includes/poolcounter/PoolCounter.php @@ -34,7 +34,10 @@ * minutes and hundreds of read hits. * * The PoolCounter provides semaphore semantics for restricting the number - * of workers that may be concurrently performing such single task. + * of workers that may be concurrently performing such single task. Only one + * key can be locked by any PoolCounter instance of a process, except for keys + * that start with "nowait:". However, only 0 timeouts (non-blocking requests) + * can be used with "nowait:" keys. * * By default PoolCounter_Stub is used, which provides no locking. You * can get a useful one in the PoolCounter extension. @@ -67,6 +70,15 @@ abstract class PoolCounter { /** @var float Maximum time in seconds to wait for the lock */ protected $timeout; + /** + * @var boolean Whether the key is a "might wait" key + */ + private $isMightWaitKey; + /** + * @var boolean Whether this process holds a "might wait" lock key + */ + private static $acquiredMightWaitKey = 0; + /** * @param array $conf * @param string $type @@ -84,6 +96,7 @@ abstract class PoolCounter { $key = $this->hashKeyIntoSlots( $key, $this->slots ); } $this->key = $key; + $this->isMightWaitKey = !preg_match( '/^nowait:/', $this->key ); } /** @@ -136,6 +149,48 @@ abstract class PoolCounter { */ abstract public function release(); + /** + * Checks that the lock request is sane. + * @return Status - good for sane requests fatal for insane + * @since 1.25 + */ + final protected function precheckAcquire() { + if ( $this->isMightWaitKey ) { + if ( self::$acquiredMightWaitKey ) { + /* + * The poolcounter itself is quite happy to allow you to wait + * on another lock while you have a lock you waited on already + * but we think that it is unlikely to be a good idea. So we + * made it an error. If you are _really_ _really_ sure it is a + * good idea then feel free to implement an unsafe flag or + * something. + */ + return Status::newFatal( 'poolcounter-usage-error', + 'You may only aquire a single non-nowait lock.' ); + } + } elseif ( $this->timeout !== 0 ) { + return Status::newFatal( 'poolcounter-usage-error', + 'Locks starting in nowait: must have 0 timeout.' ); + } + return Status::newGood(); + } + + /** + * Update any lock tracking information when the lock is acquired + * @since 1.25 + */ + final protected function onAcquire() { + self::$acquiredMightWaitKey |= $this->isMightWaitKey; + } + + /** + * Update any lock tracking information when the lock is released + * @since 1.25 + */ + final protected function onRelease() { + self::$acquiredMightWaitKey &= !$this->isMightWaitKey; + } + /** * Given a key (any string) and the number of lots, returns a slot number (an integer from the [0..($slots-1)] range). * This is used for a global limit on the number of instances of a given type that can acquire a lock. diff --git a/includes/poolcounter/PoolCounterRedis.php b/includes/poolcounter/PoolCounterRedis.php index d609f61427..0f025f369b 100644 --- a/includes/poolcounter/PoolCounterRedis.php +++ b/includes/poolcounter/PoolCounterRedis.php @@ -123,12 +123,22 @@ class PoolCounterRedis extends PoolCounter { function acquireForMe() { $section = new ProfileSection( __METHOD__ ); + $status = $this->precheckAcquire(); + if ( !$status->isGood() ) { + return $status; + } + return $this->waitForSlotOrNotif( self::AWAKE_ONE ); } function acquireForAnyone() { $section = new ProfileSection( __METHOD__ ); + $status = $this->precheckAcquire(); + if ( !$status->isGood() ) { + return $status; + } + return $this->waitForSlotOrNotif( self::AWAKE_ALL ); } @@ -207,6 +217,8 @@ LUA; $this->onRelease = null; unset( self::$active[$this->session] ); + $this->onRelease(); + return Status::newGood( PoolCounter::RELEASED ); } @@ -266,6 +278,8 @@ LUA; self::$active[$this->session] = $this; } + $this->onAcquire(); + return Status::newGood( $slot === 'w' ? PoolCounter::DONE : PoolCounter::LOCKED ); } diff --git a/includes/profiler/ProfilerStub.php b/includes/profiler/ProfilerStub.php index 9a7ec8c3ff..1d77cc0fb5 100644 --- a/includes/profiler/ProfilerStub.php +++ b/includes/profiler/ProfilerStub.php @@ -34,9 +34,7 @@ class ProfilerStub extends Profiler { } public function scopedProfileIn( $section ) { - return new ScopedCallback( function () { - // no-op - } ); + return new ScopedCallback( null ); // no-op } public function getFunctionStats() { diff --git a/includes/profiler/ProfilerXhprof.php b/includes/profiler/ProfilerXhprof.php index a40c44ab60..624433b4dd 100644 --- a/includes/profiler/ProfilerXhprof.php +++ b/includes/profiler/ProfilerXhprof.php @@ -139,8 +139,13 @@ class ProfilerXhprof extends Profiler { // Merge in all of the custom profile sections foreach ( $this->sprofiler->getFunctionStats() as $stats ) { + if ( $stats['name'] === '-total' ) { + // Discard section profiler running totals + continue; + } + // @note: getFunctionStats() values already in ms - $stats['%real'] = $stats['real'] / $main['real']; + $stats['%real'] = $main['real'] ? $stats['real'] / $main['real'] * 100 : 0; $stats['%cpu'] = $main['cpu'] ? $stats['cpu'] / $main['cpu'] * 100 : 0; $stats['%memory'] = $main['memory'] ? $stats['memory'] / $main['memory'] * 100 : 0; $profile[] = $stats; // assume no section names collide with $metrics diff --git a/includes/profiler/SectionProfiler.php b/includes/profiler/SectionProfiler.php index 2c36b68c15..d5da928957 100644 --- a/includes/profiler/SectionProfiler.php +++ b/includes/profiler/SectionProfiler.php @@ -67,8 +67,7 @@ class SectionProfiler { public function scopedProfileIn( $section ) { $this->profileInInternal( $section ); - $that = $this; - return new ScopedCallback( $this->profileOutCallback, array( $that, $section ) ); + return new SectionProfileCallback( $this, $section ); } /** @@ -502,3 +501,29 @@ class SectionProfiler { } } } + +/** + * Subclass ScopedCallback to avoid call_user_func_array(), which is slow + * + * This class should not be used outside of SectionProfiler + */ +class SectionProfileCallback extends ScopedCallback { + /** @var SectionProfiler */ + protected $profiler; + /** @var string */ + protected $section; + + /** + * @param SectionProfiler $profiler + * @param string $section + */ + public function __construct( SectionProfiler $profiler, $section ) { + parent::__construct( null ); + $this->profiler = $profiler; + $this->section = $section; + } + + function __destruct() { + $this->profiler->profileOutInternal( $this->section ); + } +} diff --git a/includes/resourceloader/ResourceLoaderLanguageDataModule.php b/includes/resourceloader/ResourceLoaderLanguageDataModule.php index 09d90d6e70..123945365d 100644 --- a/includes/resourceloader/ResourceLoaderLanguageDataModule.php +++ b/includes/resourceloader/ResourceLoaderLanguageDataModule.php @@ -52,10 +52,14 @@ class ResourceLoaderLanguageDataModule extends ResourceLoaderModule { * @return string JavaScript code */ public function getScript( ResourceLoaderContext $context ) { - return Xml::encodeJsCall( 'mw.language.setData', array( - $context->getLanguage(), - $this->getData( $context ) - ) ); + return Xml::encodeJsCall( + 'mw.language.setData', + array( + $context->getLanguage(), + $this->getData( $context ) + ), + ResourceLoader::inDebugMode() + ); } /** diff --git a/includes/resourceloader/ResourceLoaderLanguageNamesModule.php b/includes/resourceloader/ResourceLoaderLanguageNamesModule.php index fe0c845436..55b1f4b14d 100644 --- a/includes/resourceloader/ResourceLoaderLanguageNamesModule.php +++ b/includes/resourceloader/ResourceLoaderLanguageNamesModule.php @@ -49,11 +49,15 @@ class ResourceLoaderLanguageNamesModule extends ResourceLoaderModule { * @return string JavaScript code */ public function getScript( ResourceLoaderContext $context ) { - return Xml::encodeJsCall( 'mw.language.setData', array( - $context->getLanguage(), - 'languageNames', - $this->getData( $context ) - ) ); + return Xml::encodeJsCall( + 'mw.language.setData', + array( + $context->getLanguage(), + 'languageNames', + $this->getData( $context ) + ), + ResourceLoader::inDebugMode() + ); } public function getDependencies() { diff --git a/includes/resourceloader/ResourceLoaderStartUpModule.php b/includes/resourceloader/ResourceLoaderStartUpModule.php index a0764dedc5..3818305dc1 100644 --- a/includes/resourceloader/ResourceLoaderStartUpModule.php +++ b/includes/resourceloader/ResourceLoaderStartUpModule.php @@ -293,7 +293,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { } /** - * Base modules required for the the base environment of ResourceLoader + * Base modules required for the base environment of ResourceLoader * * @return array */ @@ -356,7 +356,8 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { ); $mwConfigSetJsCall = Xml::encodeJsCall( 'mw.config.set', - array( $configuration ) + array( $configuration ), + ResourceLoader::inDebugMode() ); $out .= "var startUp = function () {\n" . @@ -370,7 +371,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { $scriptTag = Html::linkedScript( self::getStartupModulesUrl( $context ) ); $out .= "if ( isCompatible() ) {\n" . "\t" . Xml::encodeJsCall( 'document.write', array( $scriptTag ) ) . - "}"; + "\n}"; } return $out; @@ -409,8 +410,8 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { // ATTENTION!: Because of the line below, this is not going to cause // infinite recursion - think carefully before making changes to this // code! - // Pre-populate modifiedTime with something because the the loop over - // all modules below includes the the startup module (this module). + // Pre-populate modifiedTime with something because the loop over + // all modules below includes the startup module (this module). $this->modifiedTime[$hash] = 1; foreach ( $loader->getModuleNames() as $name ) { diff --git a/includes/resourceloader/ResourceLoaderUserDefaultsModule.php b/includes/resourceloader/ResourceLoaderUserDefaultsModule.php index d78fa9da7d..5f4bc16b5e 100644 --- a/includes/resourceloader/ResourceLoaderUserDefaultsModule.php +++ b/includes/resourceloader/ResourceLoaderUserDefaultsModule.php @@ -53,6 +53,10 @@ class ResourceLoaderUserDefaultsModule extends ResourceLoaderModule { * @return string */ public function getScript( ResourceLoaderContext $context ) { - return Xml::encodeJsCall( 'mw.user.options.set', array( User::getDefaultOptions() ) ); + return Xml::encodeJsCall( + 'mw.user.options.set', + array( User::getDefaultOptions() ), + ResourceLoader::inDebugMode() + ); } } diff --git a/includes/revisiondelete/RevisionDeleter.php b/includes/revisiondelete/RevisionDeleter.php index d4f816780c..b9f2024b98 100644 --- a/includes/revisiondelete/RevisionDeleter.php +++ b/includes/revisiondelete/RevisionDeleter.php @@ -115,7 +115,7 @@ class RevisionDeleter { * "revdelete-restricted", "revdelete-unrestricted" indicating (un)suppression * or null to indicate nothing in particular. * You can turn the keys in $arr[0] and $arr[1] into message keys by - * appending -hid and and -unhid to the keys respectively. + * appending -hid and -unhid to the keys respectively. * * @param int $n The new bitfield. * @param int $o The old bitfield. diff --git a/includes/site/SiteListFileCache.php b/includes/site/SiteListFileCache.php index f2a95a828e..e48a187a8d 100644 --- a/includes/site/SiteListFileCache.php +++ b/includes/site/SiteListFileCache.php @@ -1,5 +1,4 @@ <?php - /** * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,12 +15,19 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * - * @since 1.25 - * * @file * * @license GNU GPL v2+ */ + +/** + * Provides a file-based cache of a SiteStore, stored as a json file. + * The cache can be built with the rebuildSitesCache.php maintenance script, + * and a MediaWiki instance can be setup to use this by setting the + * 'wgSitesCacheFile' configuration to the cache file location. + * + * @since 1.25 + */ class SiteListFileCache { /** @@ -55,7 +61,11 @@ class SiteListFileCache { } /** + * @param string $globalId + * * @since 1.25 + * + * @return Site|null */ public function getSite( $globalId ) { $sites = $this->getSites(); diff --git a/includes/skins/Skin.php b/includes/skins/Skin.php index 1a4ec98b18..04c02d6607 100644 --- a/includes/skins/Skin.php +++ b/includes/skins/Skin.php @@ -646,8 +646,9 @@ abstract class Skin extends ContextSource { $url = htmlspecialchars( wfExpandIRI( $this->getTitle()->getCanonicalURL() ) ); } - return $this->msg( 'retrievedfrom', '<a dir="ltr" href="' . $url - . '">' . $url . '</a>' )->text(); + return $this->msg( 'retrievedfrom' ) + ->rawParams( '<a dir="ltr" href="' . $url. '">' . $url . '</a>' ) + ->escaped(); } /** diff --git a/includes/specialpage/QueryPage.php b/includes/specialpage/QueryPage.php index dd21af49fb..1ff7e3fb98 100644 --- a/includes/specialpage/QueryPage.php +++ b/includes/specialpage/QueryPage.php @@ -81,7 +81,7 @@ abstract class QueryPage extends SpecialPage { array( 'MostimagesPage', 'Mostimages' ), array( 'MostinterwikisPage', 'Mostinterwikis' ), array( 'MostlinkedCategoriesPage', 'Mostlinkedcategories' ), - array( 'MostlinkedtemplatesPage', 'Mostlinkedtemplates' ), + array( 'MostlinkedTemplatesPage', 'Mostlinkedtemplates' ), array( 'MostlinkedPage', 'Mostlinked' ), array( 'MostrevisionsPage', 'Mostrevisions' ), array( 'FewestrevisionsPage', 'Fewestrevisions' ), @@ -96,7 +96,7 @@ abstract class QueryPage extends SpecialPage { array( 'WantedFilesPage', 'Wantedfiles' ), array( 'WantedPagesPage', 'Wantedpages' ), array( 'WantedTemplatesPage', 'Wantedtemplates' ), - array( 'UnwatchedPagesPage', 'Unwatchedpages' ), + array( 'UnwatchedpagesPage', 'Unwatchedpages' ), array( 'UnusedtemplatesPage', 'Unusedtemplates' ), array( 'WithoutInterwikiPage', 'Withoutinterwiki' ), ); diff --git a/includes/specials/SpecialBlock.php b/includes/specials/SpecialBlock.php index 14d97eb08a..1d4a8606bf 100644 --- a/includes/specials/SpecialBlock.php +++ b/includes/specials/SpecialBlock.php @@ -105,7 +105,7 @@ class SpecialBlock extends FormSpecialPage { # Don't need to do anything if the form has been posted if ( !$this->getRequest()->wasPosted() && $this->preErrors ) { - $s = HTMLForm::formatErrors( $this->preErrors ); + $s = $form->formatErrors( $this->preErrors ); if ( $s ) { $form->addHeaderText( Html::rawElement( 'div', @@ -829,7 +829,7 @@ class SpecialBlock extends FormSpecialPage { } list( $show, $value ) = explode( ':', $option ); - $a[htmlspecialchars( $show )] = htmlspecialchars( $value ); + $a[$show] = $value; } return $a; diff --git a/includes/specials/SpecialFileDuplicateSearch.php b/includes/specials/SpecialFileDuplicateSearch.php index fc26c9030d..0ebbbc90b2 100644 --- a/includes/specials/SpecialFileDuplicateSearch.php +++ b/includes/specials/SpecialFileDuplicateSearch.php @@ -212,7 +212,7 @@ class FileDuplicateSearchPage extends QueryPage { if ( $result->isLocal() ) { $userId = $result->getUser( 'id' ); $user = Linker::userLink( $userId, $userText ); - $user .= $this->getContext()->msg( 'word-separator' )->plain(); + $user .= $this->getContext()->msg( 'word-separator' )->escaped(); $user .= '<span style="white-space: nowrap;">'; $user .= Linker::userToolLinks( $userId, $userText ); $user .= '</span>'; diff --git a/includes/specials/SpecialImport.php b/includes/specials/SpecialImport.php index da2df2ddea..c6ebaed3a6 100644 --- a/includes/specials/SpecialImport.php +++ b/includes/specials/SpecialImport.php @@ -47,7 +47,6 @@ class SpecialImport extends SpecialPage { */ public function __construct() { parent::__construct( 'Import', 'import' ); - $this->namespace = $this->getConfig()->get( 'ImportTargetNamespace' ); } /** @@ -58,6 +57,8 @@ class SpecialImport extends SpecialPage { $this->setHeaders(); $this->outputHeader(); + $this->namespace = $this->getConfig()->get( 'ImportTargetNamespace' ); + $this->getOutput()->addModules( 'mediawiki.special.import' ); $user = $this->getUser(); diff --git a/includes/specials/SpecialJavaScriptTest.php b/includes/specials/SpecialJavaScriptTest.php index a61a673c5d..65ddb31b8e 100644 --- a/includes/specials/SpecialJavaScriptTest.php +++ b/includes/specials/SpecialJavaScriptTest.php @@ -135,14 +135,13 @@ class SpecialJavaScriptTest extends SpecialPage { */ private function initQUnitTesting() { $out = $this->getOutput(); - $testConfig = $this->getConfig()->get( 'JavaScriptTestConfig' ); $out->addModules( 'test.mediawiki.qunit.testrunner' ); $qunitTestModules = $out->getResourceLoader()->getTestModuleNames( 'qunit' ); $out->addModules( $qunitTestModules ); $summary = $this->msg( 'javascripttest-qunit-intro' ) - ->params( $testConfig['qunit']['documentation'] ) + ->params( 'https://www.mediawiki.org/wiki/Manual:JavaScript_unit_testing' ) ->parseAsBlock(); $header = $this->msg( 'javascripttest-qunit-heading' )->escaped(); $userDir = $this->getLanguage()->getDir(); @@ -160,16 +159,9 @@ HTML; $out->addHtml( $this->wrapSummaryHtml( $summary, 'frameworkfound' ) . $baseHtml ); // This special page is disabled by default ($wgEnableJavaScriptTest), and contains - // no sensitive data. In order to allow TestSwarm to embed it into a test client window, + // no sensitive data. In order to allow test frameworks to embed it into a test client window, // we need to allow iframing of this page. $out->allowClickjacking(); - - // Used in ./tests/qunit/data/testrunner.js, see also documentation of - // $wgJavaScriptTestConfig in DefaultSettings.php - $out->addJsConfigVars( - 'QUnitTestSwarmInjectJSPath', - $testConfig['qunit']['testswarm-injectjs'] - ); } /** diff --git a/includes/specials/SpecialListusers.php b/includes/specials/SpecialListusers.php index 68c5346467..0b40d2f1e7 100644 --- a/includes/specials/SpecialListusers.php +++ b/includes/specials/SpecialListusers.php @@ -34,6 +34,11 @@ */ class UsersPager extends AlphabeticPager { + /** + * @var array A array with user ids as key and a array of groups as value + */ + private $userGroupCache; + /** * @param IContextSource $context * @param array $par (Default null) @@ -132,8 +137,6 @@ class UsersPager extends AlphabeticPager { 'user_name' => $this->creationSort ? 'MAX(user_name)' : 'user_name', 'user_id' => $this->creationSort ? 'user_id' : 'MAX(user_id)', 'edits' => 'MAX(user_editcount)', - 'numgroups' => 'COUNT(ug_group)', - 'singlegroup' => 'MAX(ug_group)', // the usergroup if there is only one 'creation' => 'MIN(user_registration)', 'ipb_deleted' => 'MAX(ipb_deleted)' // block/hide status ), @@ -176,7 +179,7 @@ class UsersPager extends AlphabeticPager { $lang = $this->getLanguage(); $groups = ''; - $groups_list = self::getGroups( $row->user_id ); + $groups_list = self::getGroups( intval( $row->user_id ), $this->userGroupCache ); if ( !$this->including && count( $groups_list ) > 0 ) { $list = array(); @@ -218,11 +221,38 @@ class UsersPager extends AlphabeticPager { function doBatchLookups() { $batch = new LinkBatch(); + $userIds = array(); # Give some pointers to make user links foreach ( $this->mResult as $row ) { $batch->add( NS_USER, $row->user_name ); $batch->add( NS_USER_TALK, $row->user_name ); + $userIds[] = $row->user_id; + } + + // Lookup groups for all the users + $dbr = wfGetDB( DB_SLAVE ); + $groupRes = $dbr->select( + 'user_groups', + array( 'ug_user', 'ug_group' ), + array( 'ug_user' => $userIds ), + __METHOD__ + ); + $cache = array(); + $groups = array(); + foreach ( $groupRes as $row ) { + $cache[intval( $row->ug_user )][] = $row->ug_group; + $groups[$row->ug_group] = true; } + $this->userGroupCache = $cache; + + // Add page of groups to link batch + foreach( $groups as $group => $unused ) { + $groupPage = User::getGroupPage( $group ); + if ( $groupPage ) { + $batch->addObj( $groupPage ); + } + } + $batch->execute(); $this->mResult->rewind(); } @@ -331,11 +361,17 @@ class UsersPager extends AlphabeticPager { * Get a list of groups the specified user belongs to * * @param int $uid User id + * @param array|null $cache * @return array */ - protected static function getGroups( $uid ) { - $user = User::newFromId( $uid ); - $groups = array_diff( $user->getEffectiveGroups(), User::getImplicitGroups() ); + protected static function getGroups( $uid, $cache = null ) { + if ( $cache === null ) { + $user = User::newFromId( $uid ); + $effectiveGroups = $user->getEffectiveGroups(); + } else { + $effectiveGroups = isset( $cache[$uid] ) ? $cache[$uid] : array(); + } + $groups = array_diff( $effectiveGroups, User::getImplicitGroups() ); return $groups; } diff --git a/includes/specials/SpecialMostimages.php b/includes/specials/SpecialMostimages.php index 98d8da3af9..3666964129 100644 --- a/includes/specials/SpecialMostimages.php +++ b/includes/specials/SpecialMostimages.php @@ -25,7 +25,7 @@ */ /** - * A special page page that list most used images + * A special page that lists most used images * * @ingroup SpecialPage */ diff --git a/includes/specials/SpecialNewpages.php b/includes/specials/SpecialNewpages.php index 9dad5a26b2..82cd0a1af8 100644 --- a/includes/specials/SpecialNewpages.php +++ b/includes/specials/SpecialNewpages.php @@ -228,7 +228,7 @@ class SpecialNewpages extends IncludableSpecialPage { ), 'nsinvert' => array( 'type' => 'check', - 'name' => 'nsinvert', + 'name' => 'invert', 'label-message' => 'invert', 'default' => $nsinvert, 'tooltip' => $this->msg( 'tooltip-invert' )->text(), diff --git a/includes/specials/SpecialWantedcategories.php b/includes/specials/SpecialWantedcategories.php index b8c0bb2820..7ddafae40e 100644 --- a/includes/specials/SpecialWantedcategories.php +++ b/includes/specials/SpecialWantedcategories.php @@ -109,6 +109,7 @@ class WantedCategoriesPage extends WantedQueryPage { $currentValue = isset( $this->currentCategoryCounts[$result->title] ) ? $this->currentCategoryCounts[$result->title] : 0; + $cachedValue = intval( $result->value ); // T76910 // If the category has been created or emptied since the list was refreshed, strike it if ( $nt->isKnown() || $currentValue === 0 ) { @@ -116,11 +117,11 @@ class WantedCategoriesPage extends WantedQueryPage { } // Show the current number of category entries if it changed - if ( $currentValue !== $result->value ) { + if ( $currentValue !== $cachedValue ) { $nlinks = $this->msg( 'nmemberschanged' ) - ->numParams( $result->value, $currentValue )->escaped(); + ->numParams( $cachedValue, $currentValue )->escaped(); } else { - $nlinks = $this->msg( 'nmembers' )->numParams( $result->value )->escaped(); + $nlinks = $this->msg( 'nmembers' )->numParams( $cachedValue )->escaped(); } } diff --git a/includes/utils/AutoloadGenerator.php b/includes/utils/AutoloadGenerator.php index 4e65e11e8b..0d0907b330 100644 --- a/includes/utils/AutoloadGenerator.php +++ b/includes/utils/AutoloadGenerator.php @@ -50,7 +50,7 @@ class AutoloadGenerator { if ( !is_array( $flags ) ) { $flags = array( $flags ); } - $this->basepath = realpath( $basepath ); + $this->basepath = self::normalizePathSeparator( realpath( $basepath ) ); $this->collector = new ClassCollector; if ( in_array( 'local', $flags ) ) { $this->variableName = 'wgAutoloadLocalClasses'; @@ -65,7 +65,7 @@ class AutoloadGenerator { * @param string $inputPath Full path to the file containing the class */ public function forceClassPath( $fqcn, $inputPath ) { - $path = realpath( $inputPath ); + $path = self::normalizePathSeparator( realpath( $inputPath ) ); if ( !$path ) { throw new \Exception( "Invalid path: $inputPath" ); } @@ -78,9 +78,13 @@ class AutoloadGenerator { } /** - * @var string $inputPath Path to a php file to find classes within + * @param string $inputPath Path to a php file to find classes within */ public function readFile( $inputPath ) { + // NOTE: do NOT expand $inputPath using realpath(). It is perfectly + // reasonable for LocalSettings.php and similiar files to be symlinks + // to files that are outside of $this->basepath. + $inputPath = self::normalizePathSeparator( $inputPath ); $len = strlen( $this->basepath ); if ( substr( $inputPath, 0, $len ) !== $this->basepath ) { throw new \Exception( "Path is not within basepath: $inputPath" ); @@ -99,7 +103,8 @@ class AutoloadGenerator { * for php files with either .php or .inc extensions */ public function readDir( $dir ) { - $it = new RecursiveDirectoryIterator( realpath( $dir ) ); + $it = new RecursiveDirectoryIterator( + self::normalizePathSeparator( realpath( $dir ) ) ); $it = new RecursiveIteratorIterator( $it ); foreach ( $it as $path => $file ) { @@ -170,6 +175,16 @@ global \${$this->variableName}; EOD ); } + + /** + * Ensure that Unix-style path separators ("/") are used in the path. + * + * @param string $path + * @return string + */ + protected static function normalizePathSeparator( $path ) { + return str_replace( '\\', '/', $path ); + } } /** diff --git a/languages/i18n/ang.json b/languages/i18n/ang.json index 5025c36f5e..2ec13d6d92 100644 --- a/languages/i18n/ang.json +++ b/languages/i18n/ang.json @@ -29,8 +29,8 @@ "tog-watchmoves": "Ēacnian mÄ«n behealdungtæl mid trametum and ymelum þā ic wege.", "tog-watchdeletion": "Ēacnian mÄ«n behealdungæl mid trametum and ymelum þā ic forlēose.", "tog-minordefault": "Mearcian ealla adihtunga lytela tō gewunan", - "tog-previewontop": "Īwan fōrebysene ofer adihtunge mearce", - "tog-previewonfirst": "Īwan fōrebysene on forman adihtunge", + "tog-previewontop": "Īwan forebysene ofer adihtunge mearce", + "tog-previewonfirst": "Īwan forebysene on forman adihtunge", "tog-enotifwatchlistpages": "Sendan mē spearcÇ£rend þǣr tramet oþþe ymele on mÄ«num behealdungtæle sÄ«e andwended.", "tog-enotifusertalkpages": "Sendan mē spearcÇ£rend þǣr mÄ«nes brÅ«cendtrametes mōtung sÄ« andwended", "tog-enotifminoredits": "Sendan mē spearcÇ£rend þǣr trametas oþþe ymelan sÄ«en efne lyt andwended.", @@ -38,7 +38,7 @@ "tog-shownumberswatching": "Īwan þæt rÄ«m behealdendra brÅ«cenda", "tog-oldsig": "Genge selfmearc:", "tog-fancysig": "Dōn selfmearce tō wikitexte (lēas Ç£r gedōnes hlencan)", - "tog-uselivepreview": "Notian rihte Ä«wde fōrebysene (on costnunge)", + "tog-uselivepreview": "Notian rihte Ä«wedre forebysene", "tog-forceeditsummary": "Cȳðan mē þǣr ic ne wrÄ«te adihtunge sceortnesse", "tog-watchlisthideown": "Hȳdan mÄ«na adihtunga wiþ þæt behealdungtæl", "tog-watchlisthidebots": "Hȳdan searuþrÇ£la adihtunga wiþ þæt behealdungtæl", @@ -181,6 +181,7 @@ "create-this-page": "Scieppan þisne tramet", "delete": "Forlēosan", "deletethispage": "Forlēosan þisne tramet", + "undeletethispage": "Undōn þā forlēosunge þisses trametes", "undelete_short": "Scieppan {{PLURAL:$1|āne adihtunge|$1 adihtunga}} eft", "viewdeleted_short": "Sēon {{PLURAL:$1|āne forlorene adihtunge|$1 forlorenra adihtunga}}", "protect": "Beorgan", @@ -208,6 +209,7 @@ "otherlanguages": "On ōðrum sprÇ£cum", "redirectedfrom": "(EdlÇ£ded fram $1)", "redirectpagesub": "EdlÇ£dunge tramet", + "redirectto": "EdlÇ£dan tō:", "lastmodifiedat": "Man nÄ«wanost wende þisne tramet on þǣre $2 tÄ«de þæs $1.", "viewcount": "Þes tramet wæs gesawen {{PLURAL:$1|āne|$1 mÇ£la}}.", "protectedpage": "Geborgen tramet", @@ -243,6 +245,7 @@ "youhavenewmessagesfromusers": "Þū hafast $1 fram {{PLURAL:$3|ōðrum brÅ«cende|$3 brÅ«cenda}} ($2).", "youhavenewmessagesmanyusers": "Þū hafast $1 fram manigum brÅ«cendum ($2).", "newmessageslinkplural": "{{PLURAL:$1|nÄ«we Ç£rendgewrit|999=nÄ«wra Ç£rendgewrita}}", + "newmessagesdifflinkplural": "{{PLURAL:$1|nÄ«wost andwendung|999=nÄ«wostra andwendunga}}", "youhavenewmessagesmulti": "Þū hæfst nÄ«wu Ç£rendu on $1", "editsection": "adihtan", "editold": "adihtan", @@ -253,6 +256,11 @@ "toc": "Innung", "showtoc": "Ä«wan", "hidetoc": "hȳdan", + "collapsible-collapse": "Lytlian", + "collapsible-expand": "BrÇ£dan", + "confirmable-confirm": "Ç·ilt þū þis Æ¿itodlÄ«ce dōn?", + "confirmable-yes": "Gēa", + "confirmable-no": "Nese", "thisisdeleted": "Sēon oþþe nÄ«wian $1?", "viewdeleted": "Sēon $1 lā?", "restorelink": "{{PLURAL:$1|ān forloren ādihtung|$1 forlorenra adihtunga}}", @@ -282,19 +290,35 @@ "nospecialpagetext": "<strong>Þū hafast abiden ungenges syndriges trametes.</strong>\n\nGetæl gengra syndrigra trameta cann man findan be [[Special:SpecialPages|þǣm syndrigra trameta getæle]].", "error": "Wōh", "databaseerror": "Cȳþþuhordes wōh", + "databaseerror-error": "Wōg: $1", "laggedslavemode": "'''Warnung:''' Wēnunga næbbe se tramet nÄ«wlÄ«ca nÄ«wunga.", "enterlockreason": "WrÄ«t race þǣre forwiernunge and apinsunge þæs tÄ«man on þǣm bēo sēo forwiernung forlÇ£ten", "missingarticle-rev": "(nÄ«wung#: $1)", "internalerror": "Inweard wōh", "internalerror_info": "Inweard wōh: $1", + "filecopyerror": "Nē cūðe biwrÄ«tan þā ymelan \"$1\" tō \"$2\".", "filerenameerror": "Ne cūðe ednemnan ymelan \"$1\" tō \"$2\".", + "filedeleteerror": "Ne cūðe forlēosan þā ymelan \"$1\".", "filenotfound": "Ne cūðe findan ymelan \"$1\".", "formerror": "Wōh: ne cūðe cȳþþugewrit forþsendan.", "badarticleerror": "Þēos dÇ£d ne cann bēon gefremed on þissum tramete.", + "cannotdelete-title": "Ne cann forlēosan þone tramet \"$1\"", "badtitle": "Nā genge titul", + "querypage-no-updates": "EdnÄ«wunga for þissum tramete ne sindon nÅ« gelÄ«feda. \nCȳþþu hēr ne biþ hraðe ednÄ«wod.", "viewsource": "Sēon fruman", "viewsource-title": "Fruman for $1 sēon", + "protectedpagetext": "Þes tramet wæs geborgen tō wyrnenne ōðerre adihtunge oþþe ōðra dÇ£da.", + "viewsourcetext": "Þū canst sēon and biwrÄ«tan þone fruman þisses trametes:", + "viewyourtext": "Þū canst sēon and biwrÄ«tan þone fruman <strong>þīnra adihtunga</strong> tō þissum tramete:", "cascadeprotected": "Þes trament wæs geborgen wiþ adihtunge, for þǣm þe hē is befangen in þissum {{PLURAL:$1|tramente, þe is| tramentum, þe sind}} geborgen settum wyrcende þǣm cyre \"cascading\": $2", + "namespaceprotected": "Þū nafast lēafe tō adihtenne trametas in þǣm <strong>$1</strong> namstede.", + "customcssprotected": "Þū nafast lēafe tō adihtenne þisne CSS tramet for þȳ hē behealdeþ ōðres brÅ«cendes āgna gesetednessa.", + "customjsprotected": "Þū nafast lēafe tō adihtenne þisne JavaScript tramet for þām hē behealdeþ ōðres hādes āgna gesetednessa.", + "mycustomcssprotected": "Þū nafast lēafe tō adihtenne þisne CSS tramet.", + "mycustomjsprotected": "Þū nafast lēafe tō adihtenne þisne JavaScript tramet.", + "myprivateinfoprotected": "Þū nafast lēafe tō adihtenne þīne āgnan cȳþþu.", + "mypreferencesprotected": "Þū nafast lēafe tō adihtenne þīna foreberunga.", + "ns-specialprotected": "Syndrige trametas ne cunnon wesan adihted.", "exception-nologin": "Ne inloggod", "virus-badscanner": "Yfel gesetedness: Uncūþ wyrmsēcend: <em>$1</em>", "virus-unknownscanner": "uncūþ andgund:", @@ -375,10 +399,10 @@ "minoredit": "Þēos is lytel adihtung", "watchthis": "Behealdan þisne tramet", "savearticle": "Hordian tramet", - "preview": "Fōrebysen", - "showpreview": "Īwan fōrebysene", + "preview": "Forebysen", + "showpreview": "Īwan forebysene", "showdiff": "Īwan andwendunga", - "summary-preview": "Scortnesse fōrebysen:", + "summary-preview": "Scortnesse forebysen:", "blockednoreason": "nān racu gifen", "whitelistedittext": "Þū scealt $1 to adihtenne trametas.", "nosuchsectiontitle": "Ne cann dÇ£l findan", @@ -390,10 +414,10 @@ "newarticle": "(NÄ«we)", "newarticletext": "Þū hæfst hlencan tō tramete þe nÅ« gÄ«et ne stent gefolgod.\nTō scieppene þone tramet, onginn tō wrÄ«tenne in þǣre mearce þe is beneoþan (seoh þone [$1 helpes tramet] ymb mā cȳþþu).\nGif þū hider be misfēnge cōme, cnoca þīnes webbsēcendes '''on bæc''' cnæpp.", "usercssyoucanpreview": "'''RÇ£d:''' BrÅ«c þone \"{{int:ForescēaÆ¿ian}}\" cnæpp tō costnienne þīne nÄ«wan css/js wrÄ«tunge Ç£r hit sÄ«e hordod.", - "userjsyoucanpreview": "'''RÇ£d:''' BrÅ«c þone 'Īwan fōrebysene' cnæpp tō costienne þīnre nÄ«wan JavaScrip fadunge Ç£r þū hordie.", + "userjsyoucanpreview": "'''RÇ£d:''' BrÅ«c þone \"{{int:showpreview}}\" cnæpp tō costienne þīnre nÄ«wan JavaScrip fadunge Ç£r þū hordie.", "updated": "(EdnÄ«wed)", "note": "'''Gewritincel:'''", - "previewnote": "'''Beþenc þe þis is gÄ«et efne fōrebysen.'''\nÞīna andwendunga gÄ«et ne sind hordoda!", + "previewnote": "<strong>Beþenc þe þis is gÄ«et efne forebysen.</strong>\nÞīna andwendunga gÄ«et ne sind hordoda!", "editing": "Adihtende $1", "editingsection": "Adihtende $1 (dÇ£l)", "editingcomment": "Adihtende $1 (nÄ«we dÇ£l)", @@ -403,7 +427,7 @@ "yourdiff": "FÇ£gnessa", "copyrightwarning2": "Bidde behielde þæt man mæg ealla forðunga tō {{SITENAME}}\nādihtan, hweorfan, oþþe forniman.\nGif þū ne wille man þīn gewrit ādihtan unmildheorte, þonne hÄ«e hēr ne forþsendan.<br />\nÞū behÇ£tst ēac þæt þū selfa þis write, oþþe efenlÇ£htest of sumre\nfolclicum āgnunge oþþe gelÄ«cum frēom horde (sēo $1 for āscungum).\n'''Ne forþsend efenlÇ£htscielded weorc bÅ«tan þafunge!'''", "templatesused": "{{PLURAL:$1|Þēos bysen is|Þās bysena sind}} gebrocen on þissum tramete:", - "templatesusedpreview": "{{PLURAL:$1|Þēos bysen is|Þās bysena sind}} gebrocen on þisre fōrebysene:", + "templatesusedpreview": "{{PLURAL:$1|Þēos bysen is|Þās bysena sind}} gebrocen on þisre forebysene:", "template-protected": "(geborgen)", "template-semiprotected": "(sāmborgen)", "hiddencategories": "Þes tramet is gesibb {{PLURAL:$1|1 gehȳdedum flocce|$1 gehȳdedra flocca}}:", @@ -476,10 +500,10 @@ "powersearch-legend": "Manigfeald sēcung", "powersearch-ns": "Sēcan in namstedum:", "search-external": "Ūtanweard sōcn", - "preferences": "Fōreberunga", - "mypreferences": "MÄ«na fōreberunga", + "preferences": "Foreberunga", + "mypreferences": "Foreberunga", "prefs-skin": "Scynn", - "skin-preview": "Fōrebysen", + "skin-preview": "Forebysen", "prefs-rc": "NÄ«wa andwendunga", "prefs-watchlist": "Wæccgetæl", "saveprefs": "Hordian", @@ -487,7 +511,7 @@ "columns": "Sȳla:", "searchresultshead": "Sōcn", "recentchangescount": "HÅ« mæniga adihtunga to Ä«wenne gewunelÄ«ce:", - "savedprefs": "Þīna fōreberunga wurdon gehordod.", + "savedprefs": "Þīna foreberunga wurdon gehordod.", "timezonelegend": "TÄ«dgeard", "servertime": "Þegntōles tÄ«d is nÅ«:", "default": "gewunelic", @@ -570,7 +594,7 @@ "license": "Lēaf:", "license-header": "Lēaf:", "nolicense": "Nān is gecoren", - "license-nopreview": "(Fōrebysen nis gearu)", + "license-nopreview": "(Forebysen nis gearu)", "listfiles-summary": "Þes syndriga tramet Ä«weþ ealla forþ gehladena ymelan.", "listfiles_search_for": "Sēcan missenendebyrdnesse naman:", "imgfile": "ymele", @@ -699,7 +723,7 @@ "deletepage": "Forlēosan tramet", "excontent": "innung wæs: \"$1\"", "excontentauthor": "innung wæs: '$1' (and se āna forðiend wæs \"[[Special:Contributions/$2|$2]]\")", - "historywarning": "'''Warnung''': Se tramet þe þū wilt forlēosan hafaþ stÇ£r mid nēan $1 {{PLURAL:$1|fadunge|fadunga}}:", + "historywarning": "<strong>Warnung:</strong> Se tramet þe þū wilt forlēosan hafaþ stÇ£r mid $1 {{PLURAL:$1|fadunge|fadunga}}:", "actioncomplete": "DÇ£d is fulfyled", "dellogpage": "Forlēosunge ealdhord", "deletionlog": "forlēosunge ealdhord", @@ -770,7 +794,7 @@ "whatlinkshere-hidetrans": "$1 bysene nytta", "whatlinkshere-hidelinks": "$1 hlencan", "whatlinkshere-filters": "Sifan", - "blockip": "Fortȳnan brÅ«cend", + "blockip": "Fortȳnan {{GENDER:$1|brÅ«cend|brÅ«cicgan}}", "ipbreason": "Racu:", "ipbreason-dropdown": "*GemÇ£na fortȳnungraca\n** Insettung falsre cȳþþe\n** Animung innunge of trametum\n** Spammlice hlencab tō Å«tweardum webbstedum\n** Insettung gedofes oþþe dwolunge in trametas\n** Hwōpende gebÇ£ru oþþe tirgung\n** Miswendung manigra reccinga\n** Uncwēme brÅ«cendnama", "ipbsubmit": "Fortȳnan þisne brÅ«cend", @@ -816,7 +840,7 @@ "import-noarticle": "Nān tramet tō inbringenne!", "tooltip-pt-userpage": "Þīn brÅ«cendtramet", "tooltip-pt-mytalk": "Þīn mōtung", - "tooltip-pt-preferences": "Þīna fōreberunga", + "tooltip-pt-preferences": "Þīna foreberunga", "tooltip-pt-watchlist": "Getæl trameta þā behieltst þū ymbe andwendunga", "tooltip-pt-mycontris": "Getæl þīnra forðunga", "tooltip-pt-login": "Man þē byldeþ to inmeldienne; þēah, þis nis abeden", diff --git a/languages/i18n/ar.json b/languages/i18n/ar.json index 73f14f9d56..aa7b33df7f 100644 --- a/languages/i18n/ar.json +++ b/languages/i18n/ar.json @@ -2975,7 +2975,6 @@ "hebrew-calendar-m12-gen": "أيلول", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|نقاش]])", "timezone-utc": "ت ع م", - "unknown_extension_tag": "وسم امتداد غير معروف \"$1\"", "duplicate-defaultsort": "'''تحذير:''' مفتاح الترتيب الافتراضي \"$2\" يتجاوز مفتاح الترتيب الافتراضي السابق \"$1\".", "duplicate-displaytitle": "<strong>تحذير:</strong> أعرض عنوان \"$2\" تجاهل العنوان المعروض سابقا \"$1\".", "version": "نسخة", diff --git a/languages/i18n/be-tarask.json b/languages/i18n/be-tarask.json index 5c65dcf3bc..60f170de2b 100644 --- a/languages/i18n/be-tarask.json +++ b/languages/i18n/be-tarask.json @@ -662,6 +662,8 @@ "content-model-text": "просты тэкст", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Пусты аб’ект", + "content-json-empty-array": "Пусты масіў", "duplicate-args-category": "Старонкі, на якіх у шаблёнах выкарыстоўваюцца парамэтры-дублікаты", "duplicate-args-category-desc": "Старонкі, якія ўтрымліваюць шаблёны з парамэтрамі-дублікатамі, напрыклад, <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> або <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "Папярэджаньне: гэтая старонка ўтрымлівае зашмат працаёмістых зваротаў да функцыяў парсэра.\n\nПавінна быць ня болей за $2 {{PLURAL:$2|зварот|звароты|зваротаў}}, а цяпер ўтрымліваецца {{PLURAL:$1|$1 зварот|$1 звароты|$1 зваротаў}}.", @@ -718,7 +720,7 @@ "history-feed-empty": "Запатрабаванай старонкі не існуе.\nМагчыма, яна была выдаленая альбо яе перанесьлі.\nПаспрабуйце [[Special:Search|пашукаць]] падобныя старонкі.", "rev-deleted-comment": "(апісаньне зьменаў выдаленае)", "rev-deleted-user": "(імя ўдзельніка выдаленае)", - "rev-deleted-event": "(запіс з журнала падзеяў выдалены)", + "rev-deleted-event": "(падрабязнасьці выдаленыя з журнала падзеяў)", "rev-deleted-user-contribs": "[імя ўдзельніка альбо IP-адрас выдалены — рэдагаваньне схаванае з унёску]", "rev-deleted-text-permission": "Гэтая вэрсія старонкі была '''выдаленая'''.\nМагчыма, падрабязнасьці могуць быць знойдзеныя ў [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журнале выдаленьняў].", "rev-suppressed-text-permission": "Гэтая вэрсія старонкі была <strong>схаваная</strong>.\nПадрабязнасьці могуць быць знойдзеныя ў [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} журнале хаваньняў].", @@ -752,7 +754,7 @@ "revdelete-legend": "Усталяваць абмежаваньні бачнасьці", "revdelete-hide-text": "Тэкст вэрсіі", "revdelete-hide-image": "Схаваць зьмест файла", - "revdelete-hide-name": "Схаваць дзеяньне і мэту", + "revdelete-hide-name": "Схаваць мэту і парамэтры", "revdelete-hide-comment": "Апісаньне зьменаў", "revdelete-hide-user": "Імя ўдзельніка/IP-адрас", "revdelete-hide-restricted": "Ужываць гэтыя абмежаваньні таксама і для адміністратараў", @@ -2853,7 +2855,6 @@ "watchlisttools-raw": "Рэдагаваць як тэкст", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|гутаркі]])", "timezone-utc": "UTC", - "unknown_extension_tag": "Невядомы тэг пашырэньня «$1»", "duplicate-defaultsort": "Папярэджаньне: Ключ сартыроўкі па змоўчваньні «$2» замяняе папярэдні ключ сартыроўкі па змоўчваньні «$1».", "duplicate-displaytitle": "<strong>Папярэджаньне:</strong> назва для адлюстраваньня «$2» перапісвае ранейшую назву для адлюстраваньня «$1».", "invalid-indicator-name": "<strong>Памылка:</strong> атрыбут <code>name</code> індыкатараў статусу старонкі ня мусіць быць пустым.", diff --git a/languages/i18n/bn.json b/languages/i18n/bn.json index 2ef4cd7bd0..e9011cf068 100644 --- a/languages/i18n/bn.json +++ b/languages/i18n/bn.json @@ -668,6 +668,8 @@ "content-model-text": "সাধারণ লেখা", "content-model-javascript": "জাভাস্ক্রিপ্ট", "content-model-css": "সিএসএস", + "content-json-empty-object": "খালি অবজেক্ট", + "content-json-empty-array": "খালি অ্যারে", "duplicate-args-category": "টেমপ্লেট আহ্বানে সদৃশ আর্গুমেন্ট ব্যবহার করা পাতা", "duplicate-args-category-desc": "এই পাতায় টেমপ্লেট আহ্বান উপস্থিত রয়েছে যা সদৃশ আর্গুমেন্ট ব্যবহার করেছে, যেমন <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> বা <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>।", "expensive-parserfunction-warning": "'''সতর্ক হোন:''' এই পাতাটি অনেক বেশি পরিমাণে এক্সপেনসিভ পার্সার ফাংশন কল রয়েছে।\n\nএটি $2-এর চেয়ে কম পরিমাণ {{PLURAL:$2|কল|কল}} থাকা উচিত, যেখানে মোট কলের সংখ্যা {{PLURAL:$1|বর্তমানে $1|বর্তমানে $1}}।", @@ -724,7 +726,7 @@ "history-feed-empty": "অনুরোধকৃত পাতাটির কোন অস্তিত্ব নেই।\nহয়ত পাতাটি উইকি থেকে মুছে ফেলা হয়েছে, কিংবা নতুন নামকরণ করা হয়েছে।\nপ্রাসঙ্গিক নতুন পাতাগুলির জন্য [[Special:Search|উইকি অনুসন্ধানের]] চেষ্টা করুন।", "rev-deleted-comment": "(সম্পাদনা সারাংশ অপসারিত)", "rev-deleted-user": "(ব্যবহারকারীর নাম সরিয়ে নেওয়া হয়েছে)", - "rev-deleted-event": "(লগ অ্যাকশন সরানো হয়েছে)", + "rev-deleted-event": "(লগ তথ্য সরানো হয়েছে)", "rev-deleted-user-contribs": "ব্যবহারকারীর নাম অথবা আইপি ঠিকানা অপসারিত হয়েছে - অবদান থেকে সম্পাদনা আড়াল করা হয়েছে", "rev-deleted-text-permission": "পাতার এই সংস্করণটি '''অপসারিত''' হয়েছে।\nবিস্তারিত কারণ এর [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] পাওয়া যেতে পারে।", "rev-suppressed-text-permission": "পাতার সংশোধনটি <strong>গোপন</strong> করা হয়েছে।\nবিস্তারিত বিবরণ [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} গোপনকার্যের লগে] থাকতে পারে।", @@ -2858,7 +2860,6 @@ "hebrew-calendar-m12": "এলুল", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|আলাপ]])", "timezone-utc": "ইউটিসি", - "unknown_extension_tag": "অজানা এক্সটেনশন ট্যাগ \"$1\"", "duplicate-defaultsort": "' ' ' সাবধান: ' ' ' ডিফল্ট সাজানোর কীঃ \"$2\" পূর্বে ডিফল্ট সাজানোর কীঃ \"$1\" কে অগ্রাহ্য করে।", "version": "সংস্করণ", "version-extensions": "ইন্সটলকৃত এক্সটেনশনসমূহ", diff --git a/languages/i18n/bs.json b/languages/i18n/bs.json index e647fae35d..f329f9b687 100644 --- a/languages/i18n/bs.json +++ b/languages/i18n/bs.json @@ -1721,7 +1721,7 @@ "protect-locked-blocked": "Ne možete promijeniti nivo zaÅ¡tite dok ste blokirani.\nOvo su trenutne postavke za stranicu '''$1''':", "protect-locked-dblock": "Nivoi zaÅ¡tite se ne mogu mijenjati jer je aktivna baza podataka zaključana.\nTrenutna postavka za stranicu '''$1''' je:", "protect-locked-access": "Nemate ovlasti za mijenjanje stepena zaÅ¡tite.\nSlijede trenutne postavke stranice '''$1''':", - "protect-cascadeon": "Ova stranica je tenutno zaÅ¡tićena jer je uključena u {{PLURAL:$1|stranicu, koja ima|stranice, koje imaju|stranice, koje imaju}} uključenu prenosnu zaÅ¡titu.\nMožete promijeniti stepen zaÅ¡tite ove stranice, ali to neće uticati na prenosnu zaÅ¡titu.", + "protect-cascadeon": "Ova stranica je trenutno zaÅ¡tićena jer je uključena u {{PLURAL:$1|stranicu, koja ima|stranice, koje imaju|stranice, koje imaju}} uključenu prenosnu zaÅ¡titu.\nPromijene stepena zaÅ¡tite ove stranice neće uticati na prenosnu zaÅ¡titu.", "protect-default": "Dopusti svim korisnicima", "protect-fallback": "Dozvolite samo korisnicima sa \"$1\" ovlastima/privilegijama", "protect-level-autoconfirmed": "Dopustite samo automatski potvrđenim korisnicima", @@ -1868,7 +1868,7 @@ "ipb-unblock-addr": "Deblokiraj $1", "ipb-unblock": "Deblokiraj korisničko ime ili IP adresu", "ipb-blocklist": "Vidi postojeće blokade", - "ipb-blocklist-contribs": "Doprinosi za $1", + "ipb-blocklist-contribs": "Doprinosi za {{GENDER:$1|$1}}", "unblockip": "Odblokiraj korisnika", "unblockiptext": "Upotrebite donji upitnik da bi ste vratili\npravo pisanja ranije blokiranoj IP adresi\nili korisničkom imenu.", "ipusubmit": "Ukloni ovu blokadu", @@ -1923,7 +1923,7 @@ "range_block_disabled": "Administratorska mogućnost da blokira grupe je isključena.", "ipb_expiry_invalid": "PogreÅ¡no vrijeme trajanja.", "ipb_expiry_temp": "Sakrivene blokade korisničkih imena moraju biti stalne.", - "ipb_hide_invalid": "Ne može se onemogućiti ovaj račun; možda ima isuviÅ¡e izmjena.", + "ipb_hide_invalid": "Ne može se onemogućiti ovaj račun; on ima viÅ¡e od {{PLURAL:$1|jedne izmjene|$1 izmjena}}.", "ipb_already_blocked": "\"$1\" je već blokiran", "ipb-needreblock": "$1 je već blokiran. Da li želite promijeniti postavke?", "ipb-otherblocks-header": "Ostale {{PLURAL:$1|blokada|blokade}}", @@ -2079,7 +2079,7 @@ "importuploaderrortemp": "Postavljanje uvozne datoteke nije uspjelo.\nNedostaje privremeni folder.", "import-parse-failure": "GreÅ¡ka pri parsiranju XML uvoza", "import-noarticle": "Nema stranica za uvoz!", - "import-nonewrevisions": "Sve revizije su prethodno uvežene.", + "import-nonewrevisions": "Nijedna revizija nije uvezena (ili su sve već prisutne ili su preskočene zbog greÅ¡ke).", "xml-error-string": "$1 na liniji $2, kolona $3 (bajt $4): $5", "import-upload": "Postavljanje XML podataka", "import-token-mismatch": "Izgubljeni podaci sesije. Molimo pokuÅ¡ajte ponovno.", @@ -2088,16 +2088,16 @@ "import-error-create": "Stranica \"$1\" nije uvezena jer vam nije dozvoljeno da je napravite.", "import-error-interwiki": "Stranica \"$1\" nije uvezena jer je njen naziv rezerviran za vanjsko povezivanje (interwiki).", "import-error-special": "Stranica \"$1\" nije uvezena jer pripada posebnom imenskom prostoru koje ne prihvata stranice.", - "import-error-invalid": "Stranica \"$1\" nije uvezena jer je njen naziv neispravan.", + "import-error-invalid": "Stranica \"$1\" nije uvezena jer je naziv pod kojim treba biti uvezena nije valjan na ovoj wiki.", "import-options-wrong": "{{PLURAL:$2|PogreÅ¡na opcija|PogreÅ¡ne opcije}}: <nowiki>$1</nowiki>", "import-rootpage-invalid": "Navedena osnovna stranica ima neispravan naslov.", "import-rootpage-nosubpage": "Imenski prostor \"$1\" osnovne stranice ne dozvoljava podstranice.", "importlogpage": "Zapisnik uvoza", "importlogpagetext": "Administrativni uvozi stranica sa historijom izmjena sa drugih wikija.", "import-logentry-upload": "uvezena stranica [[$1]] putem postavljanja datoteke", - "import-logentry-upload-detail": "$1 {{PLURAL:$1|revizija|revizije|revizija}}", + "import-logentry-upload-detail": "{{PLURAL:$1|Uvezena jedna revizija|Uvezene $1 revizije|Uvezeno $1 revizija}}", "import-logentry-interwiki": "uveženo (''transwikied'') $1", - "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|revizija|revizije|revizija}} od $2", + "import-logentry-interwiki-detail": "{{PLURAL:$1|Uvezena $1 revizija|Uvezene $1 revizije|Uvezeno $1 revizija}} od $2", "javascripttest": "Testiranje JavaScript-e", "javascripttest-title": "Pokretanje $1 testova", "javascripttest-pagetext-noframework": "Ova stranica je određena za pokretanje JavaScript testova.", @@ -2193,7 +2193,7 @@ "spam_reverting": "Vraćanje na posljednju verziju koja ne sadrži linkove ka $1", "spam_blanking": "Sve revizije koje sadrže linkove ka $1, očisti", "spam_deleting": "Sve revizije koje sadrže linkove na $1, briÅ¡em", - "simpleantispam-label": "Provjera protiv spama.\n'''NE''' popunjavaj ovo!", + "simpleantispam-label": "Provjera protiv spama.\n<strong>NE</strong> popunjavajte ovo!", "pageinfo-title": "Informacije za \"$1\"", "pageinfo-not-current": "Nažalost, nemoguće je dati ove informacije za starije revizije.", "pageinfo-header-basic": "Osnovne informacije", @@ -2801,11 +2801,10 @@ "hebrew-calendar-m12-gen": "Elul", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|razgovor]])", "timezone-utc": "KSV", - "unknown_extension_tag": "Nepoznata oznaka ekstenzije \"$1\"", "duplicate-defaultsort": "Upozorenje: Postavljeni ključ sortiranja \"$2\" zamjenjuje raniji ključ \"$1\".", "version": "Verzija", "version-extensions": "Instalirana proÅ¡irenja (ekstenzije)", - "version-skins": "Kože", + "version-skins": "Instalirane kože", "version-specialpages": "Posebne stranice", "version-parserhooks": "Kuke parsera", "version-variables": "Promjenjive", @@ -3024,7 +3023,7 @@ "limitreport-walltime": "KoriÅ¡tenje u realnom vremenu", "limitreport-walltime-value": "$1 {{PLURAL:$1|sekunda|sekunde|sekundi}}", "expandtemplates": "ProÅ¡iri Å¡ablone", - "expand_templates_intro": "Ova posebna stranica uzima neki tekst i proÅ¡iruje sve Å¡ablone u njemu rekurzivno.\nOna također proÅ¡iruje parserske funkcije poput\n<nowiki>{{</nowiki>#language:…}} i varijable poput\n<nowiki>{{</nowiki>CURRENTDAY}}—u principu gotovo sve između dvostrukih zagrada.\nOvo se uradi putem poziva relevantnog parserskog nivoa iz same MediaWiki.", + "expand_templates_intro": "Ova posebna stranica uzima neki tekst i proÅ¡iruje sve Å¡ablone u njemu rekurzivno.\nOna također proÅ¡iruje parserske funkcije poput\n<code><nowiki>{{</nowiki>#language:…}}</code> i varijable poput\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>. U principu proÅ¡iruje gotovo sve između dvostrukih zagrada.", "expand_templates_title": "Naslov konteksta, za {{FULLPAGENAME}} itd.:", "expand_templates_input": "Tekst unosa:", "expand_templates_output": "Rezultat", diff --git a/languages/i18n/ca.json b/languages/i18n/ca.json index 882a312df4..af20be0c2d 100644 --- a/languages/i18n/ca.json +++ b/languages/i18n/ca.json @@ -701,6 +701,8 @@ "content-model-text": "text net", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Objecte buit", + "content-json-empty-array": "Matriu buida", "duplicate-args-category": "Pàgines amb arguments duplicats en utilització de plantilles", "expensive-parserfunction-warning": "Atenció: Aquesta pàgina conté massa crides a funcions parserfunction complexes.\n\nActualment n'hi ha {{PLURAL:$1|$1|$1}} i, com a molt, {{PLURAL:$2|hauria|haurien}} de ser $2.", "expensive-parserfunction-category": "Pàgines amb massa crides de parser function", @@ -2185,6 +2187,7 @@ "thumbnail-temp-create": "No s'ha pogut creat el fitxer de miniatura temporal", "thumbnail-dest-create": "No es pot desar la miniatura a la destinació", "thumbnail_invalid_params": "Els paràmetres de les miniatures no són vàlids", + "thumbnail_toobigimagearea": "Fitxer amb dimensions més gran que $1", "thumbnail_dest_directory": "No s'ha pogut crear el directori de destinació", "thumbnail_image-type": "Tipus d'imatge no contemplat", "thumbnail_gd-library": "Configuració de la biblioteca GD incompleta: falta la funció $1", @@ -2925,9 +2928,9 @@ "watchlisttools-edit": "Visualitza i edita la llista de seguiment", "watchlisttools-raw": "Edita la llista de seguiment sense format", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discussió]])", - "unknown_extension_tag": "Etiqueta d'extensió desconeguda «$1»", "duplicate-defaultsort": "Atenció: La clau d'ordenació per defecte \"$2\" invalida l'anterior clau \"$1\".", "duplicate-displaytitle": "<strong>Avís:</strong> El títol a mostrar «$2» sobreescriu l'anterior títol a mostrar «$1».", + "invalid-indicator-name": "<strong>Error:</strong> No pot estar buit l'atribut <code>name</code> dels indicadors d'estat de la pàgina.", "version": "Versió", "version-extensions": "Extensions instaŀlades", "version-skins": "Temes instal·lats", diff --git a/languages/i18n/cdo.json b/languages/i18n/cdo.json index 3a9a46d736..cdce8197ff 100644 --- a/languages/i18n/cdo.json +++ b/languages/i18n/cdo.json @@ -37,7 +37,7 @@ "tog-shownumberswatching": "顯示監視用戶其數量", "tog-oldsig": "存在其簽名", "tog-fancysig": "共簽名當成維基文本(無自動鏈接)", - "tog-uselivepreview": "使即時預覽(敆𡅏實驗)", + "tog-uselivepreview": "使即時預覽", "tog-forceeditsummary": "提醒我行遘蜀萆空白其編輯總結", "tog-watchlisthideown": "趁監視單𡅏囥起我其修改", "tog-watchlisthidebots": "囥起監視單其機器人其修改", @@ -304,7 +304,7 @@ "laggedslavemode": "'''警告:'''頁面可能無最近其更新。", "readonly": "數據庫乞鎖起咯", "enterlockreason": "拍底汝鎖定數據庫其原因,包括汝估計其釋放鎖其時間", - "readonlytext": "Só-gé̤ṳ-kó cÄ«-buàng ké̤ṳk nè̤ng sō̤ kÄ« lāu, mâ̤-sāi siā sÄ­ng dèu-mĕ̤k hĕ̤k có̤ siÅ­-gāi, ô kō̤-nèng sê ôi-lāu nÄ­k-siòng mì-hô, cÄ­-hâiu cêu â̤ ciáng-siòng.\n\nSō̤ kÄ« só-gé̤ṳ-kó gì guāng-lÄ«-uòng cÅ«ng-kuāng gāi-sék: $1", + "readonlytext": "數據庫茲滿乞儂鎖定了,𣍐使寫新條目或者做修改。有可能是日常維護,之後就會正常。\n\n\n鎖起數據庫其管理員總款解釋:$1", "missing-article": "數據庫未討遘本身應當著討遘其名叫\"$1\"其頁面$2其文本。\n\n嚽可能是下底其過時其diff或者已經删除其歴史鏈接造成其。\n\n如果伓是茲兩種情況,汝可能發現著蜀萆服務器其缺陷。\n起動汝共茲蜀萆缺陷匯報乞[[Special:ListUsers/sysop|管理員]],附上網址。", "missingarticle-rev": "(版本#:$1)", "missingarticle-diff": "(比並:$1、$2)", @@ -366,8 +366,8 @@ "yourpasswordagain": "重新拍囇密碼:", "createacct-yourpasswordagain": "確定密碼", "createacct-yourpasswordagain-ph": "再輸入蜀回密碼", - "remembermypassword": "共我敆茲蜀萆瀏覽器其躒底記錄記定幾日(最価$1日){{PLURAL:$1}}", - "userlogin-remembermypassword": "保持我躒底其", + "remembermypassword": "共我敆茲蜀萆瀏覽器其登錄記錄記定幾日(最価$1日){{PLURAL:$1}}", + "userlogin-remembermypassword": "保持我登錄其", "userlogin-signwithsecure": "使安全其連接", "yourdomainname": "汝其域名:", "password-change-forbidden": "汝𣍐使敆茲蜀萆維基百科𡅏修改密碼。", @@ -410,18 +410,18 @@ "createacct-benefit-body3": "最近其{{PLURAL:$1|貢獻者}}", "badretype": "汝輸底其密碼𣍐蜀様。", "userexists": "用戶名已經乞別人使去了。\n起動另外再起蜀萆名字。", - "loginerror": "躒底有鄭", + "loginerror": "登錄有鄭", "createacct-error": "賬戶開出毛病咯", "createaccounterror": "無能獃開賬戶:$1", "nocookiesnew": "用戶賬號已經創建好了,但是汝未登錄。\n{{SITENAME}}使cookie來記錄已經登錄其用戶。\n但是汝禁用了cookie。\n起動汝開啟cookie,然後再使汝其新用戶共密碼來登錄。", "nocookieslogin": "{{SITENAME}}使cookies來記錄已經登錄其用戶。\n但是汝禁用了cookie。\n起動汝開起cookie,然後再試蜀試。", "noname": "汝未指定蜀萆合法其用戶名。", - "loginsuccesstitle": "躒底成功", - "loginsuccess": "'''汝現在已經「$1」其成功躒底{{SITENAME}}了。'''", + "loginsuccesstitle": "登錄成功", + "loginsuccess": "'''汝現在已經「$1」其成功登錄{{SITENAME}}了。'''", "nosuchuser": "無總款其用戶名「$1」。\n用户名是大小写敏感其。\n检查汝其拼写,或者覷蜀覷[[Special:UserLogin/signup|開新賬戶]]。", "nosuchusershort": "無總款其用戶名「$1」。\n檢查汝其拼寫。", "nouserspecified": "汝著指定蜀萆用戶名。", - "login-userblocked": "茲隻用戶已經乞封鎖去了。躒底是𣍐允許其。", + "login-userblocked": "茲隻用戶已經乞封鎖去了。登錄是𣍐允許其。", "wrongpassword": "密碼鄭咯。\n起動再查蜀下。", "wrongpasswordempty": "未輸入密碼。\n請再查蜀下。", "passwordtooshort": "密碼著設最少{{PLURAL:$1|$1萆字符}}。", @@ -429,7 +429,7 @@ "password-login-forbidden": "茲蜀萆用戶名共密碼應經乞禁止去了。", "mailmypassword": "重新設置密碼", "passwordremindertitle": "{{SITENAME}}其新其臨時密碼", - "passwordsent": "新密碼已經寄遘「$1」註冊其電子郵件地址了。\n收遘後,請再躒底蜀頭部。", + "passwordsent": "新密碼已經寄遘「$1」註冊其電子郵件地址了。\n收遘後,請再登錄蜀頭部。", "mailerror": "發電子郵件有賺:$1", "acct_creation_throttle_hit": "使汝其IP訪問茲蜀萆維基百科訪問者其已經敆最後蜀日創建{{PLURAL:$1|$1萆賬戶}}去了。茲蜀段時間最価若允許創建茲滿価萆賬戶。故此講使茲蜀萆IP訪問其儂敆現刻時𣍐使再開賬戶了。", "emailauthenticated": "汝其電子郵件地址已經敆$2$3確定過了。", @@ -439,7 +439,7 @@ "accountcreated": "賬戶創建了", "accountcreatedtext": "[[{{ns:User}}:$1|$1]]([[{{ns:User talk}}:$1|talk]])用戶已經創建。", "createaccount-title": "{{SITENAME}}其開賬戶", - "login-abort-generic": "汝其躒底𣍐成功——放棄去了", + "login-abort-generic": "汝其登錄𣍐成功——放棄去了", "loginlanguagelabel": "語言:$1", "pt-login": "登錄", "pt-login-button": "登錄", @@ -451,9 +451,9 @@ "oldpassword": "舊密碼:", "newpassword": "新密碼:", "retypenew": "確認密碼:", - "resetpass_submit": "設置密碼再躒底", + "resetpass_submit": "設置密碼再登錄", "resetpass_forbidden": "密碼改𣍐來", - "resetpass-no-info": "汝著躒底乍會使直接看茲蜀頁。", + "resetpass-no-info": "汝著登錄乍會使直接看茲蜀頁。", "resetpass-submit-loggedin": "修改密碼", "resetpass-submit-cancel": "取消", "resetpass-temp-password": "臨時密碼:", @@ -503,14 +503,14 @@ "blockedtitle": "用戶乞封鎖了", "blockednoreason": "無掏出原因", "whitelistedittext": "汝必須$1乍會使修改頁面。", - "loginreqtitle": "需要躒底", - "loginreqlink": "躒底", - "loginreqpagetext": "著$1才會使看其它頁面。", + "loginreqtitle": "需要登錄", + "loginreqlink": "登錄", + "loginreqpagetext": "起動汝$1以後再看其它頁面。", "accmailtitle": "密碼寄出了", "accmailtext": "共[[User talk:$1|$1]]用戶隨機生成其密碼已經發遘$2了。汝登錄以後會使敆[[Special:ChangePassword|修改密碼]]頁面修改茲蜀萆密碼。", "newarticle": "(新)", "newarticletext": "汝已經跟鏈接跟遘無存在其頁面了。\n卜想創建頁面,敆下底其框框𡅏拍字(覷蜀覷[$1 幫助頁面]有無更更価其幫助)。\n如果汝是無注意來遘茲蜀萆頁面,篤囇汝其瀏覽器上其「返回」按鈕。", - "anontalkpagetext": "''茲是未躒底其用戶討論頁面。''\n故此儂家著使數字IP來確定伊。\n總款其IP地址會乞雅価用戶共享。\n如果蜀隻未躒底其用戶見覺無關係其評論指向汝,起動[[Special:UserLogin/signup|開賬戶]]或者[[Special:UserLogin|躒底]]來避免以後共其它未躒底其用戶混蜀堆。", + "anontalkpagetext": "<em>茲是未登錄其用戶討論頁面。</em>\n故此儂家著使數字IP來確定伊。\n總款其IP地址會乞雅価用戶共享。\n如果蜀隻未登錄其用戶見覺無關係其評論指向汝,起動[[Special:UserLogin/signup|開賬戶]]或者[[Special:UserLogin|登錄]]來避免以後共其它未登錄其用戶混蜀堆。", "noarticletext": "現在敆茲蜀頁𡅏無文字。汝會使敆其它其頁面𡅏[[Special:Search/{{PAGENAME}}|討蜀討茲蜀萆標題]],<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 討相關其記錄],或者[{{fullurl:{{FULLPAGENAME}}|action=edit}}編輯茲蜀頁]</span>。", "clearyourcache": "'''注意:'''保存以後,汝可能固著刷新汝其瀏覽器緩存來看遘變化。\n* '''火狐/Safari:'''擪下''Shift''篤蜀篤''重新載入'',或者擪蜀擪''Ctrl+F5''或者''Ctrl+R'' (''⌘-R''敆Mac懸頂)\n* '''Google Chrome:'''擪''Ctrl+Shift+R''(敆Mac𡅏使''⌘-Shift-R'')\n* '''Internet Explorer:'''擪''Ctrl''其時候篤蜀篤''刷新'',或者擪''Ctrl+F5''\n* '''Opera:'''敆''工具→首選項''𡅏清除緩存", "note": "<strong>注意:</strong>", @@ -556,7 +556,7 @@ "histlegend": "差別揀選:選擇卜比並其版本,再擪「回車」('''Enter''')或者擪底底其'''比並揀選版本'''。<br />\n說明:(伶)=共第一新其版本比並,(前)=共前蜀版本比並,~=過幼修改。", "history-fieldset-title": "瀏覽歷史", "history-show-deleted": "囇刪掉去", - "histfirst": "最旧", + "histfirst": "最舊", "histlast": "最遲", "historysize": "({{PLURAL:$1|$1字節}})", "history-feed-title": "修改歷史", @@ -678,7 +678,7 @@ "upload": "上傳文件", "uploadbtn": "上傳文件", "reuploaddesc": "取消上傳,轉去上傳頁面", - "uploadnologin": "未躒底", + "uploadnologin": "未登錄", "uploadnologintext": "汝著$1才會使上傳文件。", "uploaderror": "上傳有鄭", "uploadlogpage": "上傳日誌", @@ -785,7 +785,7 @@ "watchlist": "我其監視單", "mywatchlist": "我其監視單", "nowatchlist": "汝其監視單𡅏無項目。", - "watchnologin": "未躒底", + "watchnologin": "未登錄", "addedwatchtext": "頁面「[[:$1]]」已經加遘汝其[[Special:Watchlist|監視單]]。以後敆茲蜀頁其改變共伊關聯其討論頁都會列敆嚽塊。", "removewatch": "趁汝其監視單臺中移去", "removedwatchtext": "頁面「[[:$1]]」已經趁[[Special:Watchlist|汝其監視單]]移去了。", @@ -926,7 +926,7 @@ "movepagetext": "使下底其表單來重新共茲蜀頁起蜀萆名字,移動伊所有其歷史遘伊其新名字。\n舊其標題會變成新其標題其重定向頁。\n汝會使自動更新重定向許蜀點遘原底其標題。\n如果伊結果伓是總款咯,許汝著檢查[[Special:DoubleRedirects|雙重重定向]]或者[[Special:BrokenRedirects|獃其重定向]]。\n汝著為鏈接會使繼續鏈遘伊應該跳轉其地方負責任。\n\n注意如果許塊已經有蜀頁去了,噲頁面就'''𣍐'''移過了,除開許囇是蜀萆重定向固加無舊底其修改歷史。\n茲其意思就是講如果汝名字起賺了,汝會使共茲蜀萆頁面重新起伊原底其名字,但是𣍐使覆蓋已經存在其頁面。\n\n'''警告!'''\n茲可能會對一般頁面造成過大其固加無辦法預見遘其改變;\n起動汝著敆做之前會意總款做其後果。", "movepagetalktext": "相關其討論頁會自動共伊移遘'''無挃''':\n* 汝其新其用戶名已經有蜀頁有內容其討論頁,或者\n* 汝取消下底其框框。\n\n若總款,汝會使自家移動或者是合併頁面。", "movearticle": "移動頁面", - "movenologintext": "著[[Special:UserLogin|躒底]]才會使移動頁面。", + "movenologintext": "著[[Special:UserLogin|登錄]]才會使移動頁面。", "newtitle": "遘新題目:", "move-watch": "監視茲頁", "movepagebtn": "移動頁面", @@ -949,8 +949,8 @@ "tooltip-pt-preferences": "汝其設定", "tooltip-pt-watchlist": "汝監視其頁面有改過其單單", "tooltip-pt-mycontris": "汝其貢獻其單單", - "tooltip-pt-login": "希望汝躒底其;當然,無逼汝總款做。", - "tooltip-pt-logout": "躒出", + "tooltip-pt-login": "希望汝登錄其;當然,無逼汝總款做。", + "tooltip-pt-logout": "退出", "tooltip-ca-talk": "茲蜀頁其討論", "tooltip-ca-edit": "汝會使修改茲蜀頁。起動敆保存以前使預覽按鈕", "tooltip-ca-addsection": "開始蜀萆新其部分", @@ -1006,7 +1006,7 @@ "confirmemail_needlogin": "汝著$1來確定汝其電子郵件地址。", "confirmemail_loggedin": "汝其電子郵件地址現在已經確定去了。", "confirmemail_body": "有人(可能是汝)敆IP地址$1𡅏已經使茲蜀萆電子郵件地址來註冊蜀萆賬戶「$2」去了。\n\n卜想確認茲蜀萆賬戶當真是汝其,固加敆{{SITENAME}}激活電子郵件特點,許敆汝其瀏覽器𡅏拍開茲蜀萆鏈接:\n\n$3\n\n如果汝*無*註冊茲賬戶,單擊茲蜀萆鏈接來取消電子郵件確認:\n\n$5\n\n茲蜀萆確認代碼會敆$4時候過期。", - "deletedwhileediting": "'''警告:'''茲蜀頁敆汝編輯以前已經乞刪唻了!", + "deletedwhileediting": "<strong>警告:</strong>茲蜀頁敆汝編輯以前已經乞刪唻了!", "recreate": "重新開", "confirm_purge_button": "好", "imgmultipageprev": "← 前蜀頁", diff --git a/languages/i18n/ce.json b/languages/i18n/ce.json index 180a1859ef..2aedf365df 100644 --- a/languages/i18n/ce.json +++ b/languages/i18n/ce.json @@ -661,6 +661,8 @@ "parser-unstrip-loop-warning": "ДӀачӀагӀанца pre карина", "undo-success": "Нисйинарг а тlе цалаца мега. Дехар до, хьажа цхьатерра йуй башхо, тешна хила, баккъалла иза хийцам буйте хьуна безарг, тlакха тlе таlайе «дlайазйе агlо», хийцам хlотта ба.", "undo-failure": "Юккъера хийцамаш бахьнехь нисдар юхадаккха йиш яц.", + "undo-norev": "Нисдар юхадаккха цало, иза доцу делла я дӀаяьккхина дела.", + "undo-nochange": "Нисдар хьалхо юхадяьккхиначух тера ду.", "undo-summary": "Юхадаьккхина {{GENDER:$2|декъашхочун}} [[Special:Contributions/$2|$2]] ([[User talk:$2|дийц.]]) нисдар $1", "undo-summary-username-hidden": "Юхадаьккхина декъашхочун нисдарш $1, цунна цӀе дӀахьулйина", "cantcreateaccounttitle": "Декъашхочун дӀаяздар кхолла йиш яц", @@ -1733,7 +1735,7 @@ "whatlinkshere": "Хьажоргаш кхузе", "whatlinkshere-title": "«$1» тӀе хьажоргаш йолу агӀонаш", "whatlinkshere-page": "Агlо:", - "linkshere": "ТӀаьхьайогӀу агӀонаш оцу '''[[:$1]]''': хьажорагца ю", + "linkshere": "ТӀаьхьайогӀу агӀонаш оцу '''[[:$1]]''': хьажоргца ю", "nolinkshere": "ХӀокху '''[[:$1]]''' агӀона тӀе кхечу агӀонашкахь хьажоргаш яц.", "nolinkshere-ns": "Хаьржинчу анахь яц '''[[:$1]]''' цӀе йолу агӀонаш", "isredirect": "агӀо-дӀасахьажорг", @@ -2451,7 +2453,6 @@ "watchlisttools-edit": "Хьажа/нисбé могӀам", "watchlisttools-raw": "Йоза санна тае", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|дийцаре]])", - "unknown_extension_tag": "«$1» шордаран ца йоьвзу тег", "version": "Верси MediaWiki", "version-extensions": "ДӀахӀоттийна шордарш", "version-skins": "ДӀахӀоттийна кечяран темаш", diff --git a/languages/i18n/ckb.json b/languages/i18n/ckb.json index 694482595d..bfb08d9228 100644 --- a/languages/i18n/ckb.json +++ b/languages/i18n/ckb.json @@ -2408,7 +2408,6 @@ "hebrew-calendar-m7-gen": "نیسان", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|لێدوان]])", "timezone-utc": "UTC", - "unknown_extension_tag": "تاگی درێژکراوەی نەناسراو \"$1\"", "duplicate-defaultsort": "'''ئاگاداری''' کلیلی پۆلێنکردنی \"$2'' چووەتە شوێنی کلیلی پۆلێنکردنی \"$1\"", "version": "وەشان", "version-extensions": "پێوەکراوە دامەزراوەکان", diff --git a/languages/i18n/cs.json b/languages/i18n/cs.json index ff5dce72fd..ec574b8587 100644 --- a/languages/i18n/cs.json +++ b/languages/i18n/cs.json @@ -675,6 +675,8 @@ "content-model-text": "čistý text", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Prázdný objekt", + "content-json-empty-array": "Prázdné pole", "duplicate-args-category": "Stránky s duplicitními argumenty ve voláních Å¡ablon", "duplicate-args-category-desc": "Stránka obsahuje volání Å¡ablony, které používá duplicitní argumenty, např. <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> nebo <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "'''Varování:''' Tato stránka obsahuje příliÅ¡ mnoho volání výkonnostně náročných funkcí syntaktického analyzátoru.\n\nPovolený limit je $2, v současné chvíli vÅ¡ak {{PLURAL:$1|zde jedno volání je|zde jsou $1 volání|zde je $1 volání}}.", @@ -2916,7 +2918,6 @@ "hebrew-calendar-m11-gen": "avu", "hebrew-calendar-m12-gen": "elulu", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|diskuse]])", - "unknown_extension_tag": "Neznámá značka rozšíření: „$1“", "duplicate-defaultsort": "Upozornění: Implicitní klíč řazení (DEFAULTSORTKEY) „$2“ přepisuje dříve nastavenou hodnotu „$1“.", "duplicate-displaytitle": "<strong>Upozornění:</strong> Předchozí zobrazovaný název „$1“ je nahrazen zobrazovaným názvem „$2“.", "invalid-indicator-name": "<strong>Chyba:</strong> Atribut <code>name</code> indikátoru stavu stránky nesmí být prázdný.", @@ -3142,7 +3143,7 @@ "api-error-stashzerolength": "Server nemohl soubor uložit do skrýše, protože má nulovou délku.", "api-error-stashnotloggedin": "Pro ukládání souboru do skrýše musíte být přihlášeni.", "api-error-stashwrongowner": "Soubor, ke kterému se ve skrýši pokoušíte přistoupit, vám nepatří.", - "api-error-stashnosuchfilekey": "Klíč souboru, ke kterém se ve skrýši pokoušíte přistoupit, neexistuje.", + "api-error-stashnosuchfilekey": "Klíč souboru, ke kterému se ve skrýši pokoušíte přistoupit, neexistuje.", "api-error-timeout": "Server neodpověděl v očekávaném čase.", "api-error-unclassified": "DoÅ¡lo k neznámé chybě.", "api-error-unknown-code": "Neznámá chyba: „$1“.", diff --git a/languages/i18n/da.json b/languages/i18n/da.json index ec6594d19d..679baf6df6 100644 --- a/languages/i18n/da.json +++ b/languages/i18n/da.json @@ -74,7 +74,7 @@ "tog-shownumberswatching": "Vis antal brugere, der overvÃ¥ger", "tog-oldsig": "Nuværende signatur:", "tog-fancysig": "Behandl signatur som wikitekst uden automatisk henvisning", - "tog-uselivepreview": "Brug automatisk forhÃ¥ndsvisning (er pÃ¥ forsøgsstadiet)", + "tog-uselivepreview": "Benyt løbende forhÃ¥ndsvisning", "tog-forceeditsummary": "Advar mig hvis jeg ikke udfylder beskrivelsesfeltet", "tog-watchlisthideown": "Skjul egne ændringer i overvÃ¥gningslisten", "tog-watchlisthidebots": "Skjul ændringer fra bots i overvÃ¥gningslisten", @@ -249,6 +249,7 @@ "otherlanguages": "Andre sprog", "redirectedfrom": "(Omdirigeret fra $1)", "redirectpagesub": "Omdirigeringsside", + "redirectto": "Omdiriger til:", "lastmodifiedat": "Denne side blev senest ændret $1 kl. $2.", "viewcount": "Siden er vist {{PLURAL:$1|en gang|$1 gange}}.", "protectedpage": "Beskyttet side", @@ -1575,6 +1576,7 @@ "querypage-disabled": "Denne specialside er deaktiveret af hensyn til ydeevnen.", "booksources": "Bogkilder", "booksources-search-legend": "Søgning efter bøger", + "booksources-search": "Søg", "booksources-text": "Dette er en liste med henvisninger til Internetsider, som sælger nye og brugte bøger. Der kan der ogsÃ¥ findes yderligere informationer om bøgerne. {{SITENAME}} er ikke forbundet med nogen af dem.", "booksources-invalid-isbn": "Det angivne ISBN-nummer ser forkert ud. Tjek med kilden om det er skrevet korrekt.", "specialloguserlabel": "Udført af:", @@ -1647,6 +1649,8 @@ "trackingcategories-desc": "Optagelseskriterier for kategori", "noindex-category-desc": "Siden indekseres ikke af robotter, fordi den indeholder det magiske ord <code><nowiki>__NOINDEX__</nowiki></code> og er i et navnerum, hvor dette flag er tilladt.", "index-category-desc": "Siden indeholder <code><nowiki>__INDEX__</nowiki></code> (og er i et navnerum, hvor dette flag er tilladt), og bliver derfor indekseret af robotter, hvor den normalt ikke ville blive det.", + "trackingcategories-nodesc": "Ingen beskrivelse tilgængelig.", + "trackingcategories-disabled": "Kategorien er deaktiveret", "mailnologin": "Du er ikke logget pÃ¥", "mailnologintext": "Du skal være [[Special:UserLogin|logget pÃ¥]] og have en gyldig e-mailadresse sat i dine [[Special:Preferences|indstillinger]] for at sende e-mail til andre brugere.", "emailuser": "E-mail til denne bruger", @@ -2812,7 +2816,6 @@ "watchlisttools-edit": "Rediger overvÃ¥gningsliste", "watchlisttools-raw": "Rediger rÃ¥ overvÃ¥gningsliste", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|diskussion]])", - "unknown_extension_tag": "Ukendt tag \"$1\"", "duplicate-defaultsort": "Advarsel: Standardsorteringsnøglen \"$2\" tilsidesætter den tidligere sorteringsnøgle \"$1\".", "version": "Information om MediaWiki", "version-extensions": "Installerede udvidelser", @@ -2832,6 +2835,7 @@ "version-license": "MediaWiki Licens", "version-ext-license": "Licens", "version-ext-colheader-name": "Udvidelse", + "version-ext-colheader-version": "Version", "version-ext-colheader-license": "Licens", "version-ext-colheader-description": "Beskrivelse", "version-ext-colheader-credits": "Forfattere", @@ -2883,6 +2887,7 @@ "specialpages-group-wiki": "Data og værktøjer", "specialpages-group-redirects": "Specialsider der viderestiller", "specialpages-group-spam": "Spamværktøjer", + "specialpages-group-developer": "Udviklerværktøjer", "blankpage": "Blank side", "intentionallyblankpage": "Denne side er bevidst uden indhold.", "external_image_whitelist": " #Lad denne linje være som den er<pre>\n#Skriv dele af regulære uttryk (delen som er mellem //) nedenfor\n#Disse vil tjekkes mod URL'er for eksterne billeder\n#De som matcher, vil blive vist som billeder. Øvrige vil kun blive vist som henvisninger til billedet\n#Linjer som begynder med # behandles som kommentarer\n#Der skelnes ikke mellem store og smÃ¥ bogstaver\n\n#Skriv alle delene af regulære udtryk over denne linje. Lad denne linje være som den er</pre>", @@ -2929,6 +2934,9 @@ "htmlform-no": "Nej", "htmlform-yes": "Ja", "htmlform-chosen-placeholder": "Vælg en mulighed", + "htmlform-cloner-create": "Tilføj flere", + "htmlform-cloner-delete": "Fjern", + "htmlform-cloner-required": "Der kræves mindst en værdi.", "sqlite-has-fts": "$1 med fuld-tekst søgnings support", "sqlite-no-fts": "$1 uden fuld-tekst søgnings support", "logentry-delete-delete": "$1 {{GENDER:$2|slettede}} siden $3", diff --git a/languages/i18n/de.json b/languages/i18n/de.json index b8a6559aa8..cc5b39b7ce 100644 --- a/languages/i18n/de.json +++ b/languages/i18n/de.json @@ -291,6 +291,7 @@ "pool-queuefull": "Poolwarteschlange ist voll", "pool-errorunknown": "Unbekannter Fehler", "pool-servererror": "Der Poolzählerdienst ist nicht verfügbar ($1).", + "poolcounter-usage-error": "Verwendungsfehler: $1", "aboutsite": "Über {{SITENAME}}", "aboutpage": "Project:Über_{{SITENAME}}", "copyright": "Der Inhalt ist verfügbar unter der Lizenz $1, sofern nicht anders angegeben.", @@ -415,7 +416,7 @@ "mycustomcssprotected": "Du hast keine Berechtigung, diese CSS-Seite zu bearbeiten.", "mycustomjsprotected": "Du hast keine Berechtigung, diese JavaScript-Seite zu bearbeiten.", "myprivateinfoprotected": "Du hast keine Berechtigung, deine privaten Informationen zu bearbeiten.", - "mypreferencesprotected": "Du hast keine Berechtigung, deine Einstellungen zu bearbeiten.", + "mypreferencesprotected": "Du bist nicht berechtigt, deine Einstellungen zu ändern.", "ns-specialprotected": "Spezialseiten können nicht bearbeitet werden.", "titleprotected": "Eine Seite mit diesem Namen kann nicht angelegt werden.\nDie Sperre wurde durch [[User:$1|$1]] mit der Begründung „<em>$2</em>“ eingerichtet.", "filereadonlyerror": "Die Datei „$1“ kann nicht verändert werden, da auf das Dateirepositorium „$2“ nur Lesezugriff möglich ist.\n\nDer Administrator, der den Schreibzugriff sperrte, gab folgenden Grund an: „$3“.", @@ -725,6 +726,8 @@ "content-model-text": "Klartext", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Leeres Objekt", + "content-json-empty-array": "Leeres Array", "duplicate-args-category": "Seiten, die doppelte Argumente in Vorlagenaufrufen verwenden", "duplicate-args-category-desc": "Die Seite enthält Vorlagenaufrufe, die Duplikate von Argumenten verwenden, wie <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> oder <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "'''Achtung:''' Diese Seite enthält zu viele Aufrufe aufwändiger Parserfunktionen.\n\nSie darf nicht mehr als $2 {{PLURAL:$2|Aufruf|Aufrufe}} haben, es {{PLURAL:$1|ist aktuell $1 Aufruf|sind aktuell $1 Aufrufe}}.", @@ -2934,7 +2937,6 @@ "hijri-calendar-m11": "Dhu l-qaÊ¿da", "hijri-calendar-m12": "Dhu l-hiddscha", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|Diskussion]])", - "unknown_extension_tag": "Unbekanntes Parsertag „$1“", "duplicate-defaultsort": "Achtung: Der Sortierungsschlüssel „$2“ überschreibt den vorher verwendeten Schlüssel „$1“.", "duplicate-displaytitle": "<strong>Warnung:</strong> Der Anzeigetitel „$2“ überschreibt den früheren Anzeigetitel „$1“.", "invalid-indicator-name": "<strong>Fehler:</strong> Das Attribut <code>name</code> des Seitenstatusindikators darf nicht leer sein.", diff --git a/languages/i18n/diq.json b/languages/i18n/diq.json index c455a76c3b..a8d1a9e2b7 100644 --- a/languages/i18n/diq.json +++ b/languages/i18n/diq.json @@ -372,8 +372,8 @@ "welcomecreation-msg": "Hesabê şıma abiyo.\n[[Special:Preferences|{{SITENAME}} vurnayişê tercihanê xo]], xo vir ra mekere.", "yourname": "Nameyê karberi:", "userlogin-yourname": "Nameyê karberi", - "userlogin-yourname-ph": "Namey ğoyé karberi cı kewe", - "createacct-another-username-ph": "Namey karberi de fi", + "userlogin-yourname-ph": "Nameyê xoyê karberi cı kewe", + "createacct-another-username-ph": "Nameyê karberi cı kewe", "yourpassword": "Parola", "userlogin-yourpassword": "Parola", "userlogin-yourpassword-ph": "Parolaya xo cıkewe", @@ -510,7 +510,7 @@ "passwordreset-emailtitle": "Hesab timarê {{SITENAME}}", "passwordreset-emailtext-ip": "Jeweri, {{SITENAME}} ra (ma heta şımayê, $1 IP adresi ra) ($4) teferuatê hesabdê şıma va wa biyaro xo viri. Karbero ke cêrdeyo {{PLURAL:$3|hesaba|eno hesaba}} ena e-posta adresiya aleqey cı esto:\n\n$2\n\n{{PLURAL:$3|ena parola idaretena|ena parola idareten}} {{PLURAL:$5|jew roc|$5 roca}}rêya.\nEna parolaya deqewe de u xorê ju parolaya newi bıweçine. Parolaya şıma emaya şıma viri se yana ena e-posta şıma nê weştase u şıma qayıl niye parolaya xo bıvurnese, ena mesacer peygoş bıkerê.", "passwordreset-emailtext-user": "$1 enê karberi, {{SITENAME}} ra ($4) teferuatê hesab dê şıma va wa biyaro xo viri. Karbero ke cêrdeyo {{PLURAL:$3|hesaba|eno hesaba}} ena e-posta adresiya aleqey cı esto:\n\n$2\n\n{{PLURAL:$3|ena parola idaretena|ena parola idareten}} {{PLURAL:$5|jew roc|$5 roca}}rêya.\nEna parolaya deqewe de u xorê ju parolaya newi bıweçine. Parolaya şıma emaya şıma viri se yana ena e-posta şıma nê weştase u şıma qayıl niye parolaya xo bıvurnese, ena mesacer peygoş bıkerê.", - "passwordreset-emailelement": "Namey karberi: $1\nParola vêrdiye: $2", + "passwordreset-emailelement": "Nameyê karberi: $1\nParolaya vêrdiye: $2", "passwordreset-emailsent": "Yew e-posteyê esterıtışê parola rışiya.", "passwordreset-emailsent-capture": "Yew e-posteyê esterıtışê parolayo ke rışiya, no cêr mocniyayo.", "passwordreset-emailerror-capture": "Yew e-posteyê esterıtışê parolayo ke rışiya, no cêr mocniyayo, ema {{GENDER:$2|karber}}i rê rıştış de mıwefeq nêbi: $1", @@ -708,7 +708,7 @@ "history-feed-item-nocomment": "$1 miyanê $2i de", "history-feed-empty": "Pela cıgeyrayiye çıniya.\nBeno ke ena esteriya, ya zi namê cı vuriyo.\nSeba pelanê muhimanê newan [[Special:Search|cıgeyrayışê wiki de]] bıcerebne.", "rev-deleted-comment": "(Timarkerdışe enay hewadeyayo)", - "rev-deleted-user": "(namey karberi esteriyo)", + "rev-deleted-user": "(nameyê karberi esteriyo)", "rev-deleted-event": "(fealiyetê cıkewtışi esteriyo)", "rev-deleted-user-contribs": "[namey karberi ya zi adresa IPy esteriya - vurnayış iştırakan ra nımniyo]", "rev-deleted-text-permission": "Çımraviyarnayışê ena pele '''esteriyo'''.\nBeno ke [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log] de teferruat esto.", @@ -936,7 +936,7 @@ "prefs-help-email": "Dayışê adresa e-postey keyfiyo, labelê seba eyarê parola lazıma, wexto ke şıma naye xo vira kerê.", "prefs-help-email-others": "Pera ğoya kerderi de zew link vırazése karberé bini şımaré şenê mesac bırşé. Lakin e-posta adresa şıma héç cayé de niasena.", "prefs-help-email-required": "E-mail adrese mecburiya.", - "prefs-info": "Melumata şıma", + "prefs-info": "Melumato bıngehên", "prefs-i18n": "Şar şélıg kerdış", "prefs-signature": "Ä°mza", "prefs-dateformat": "Formatê tarixi", @@ -1019,17 +1019,18 @@ "right-writeapi": "Ä°stıfadey APIyê nuştey", "right-delete": "Pele bestere", "right-bigdelete": "Pelanê be tarixanê dergan bestere", - "right-deletelogentry": "besternayış u mebesternayışa re qeyde definayışê xısusi", - "right-deleterevision": "Vurnayışê xısusiyê ke ê pelanê, inan bestere ya zi peyser bia", + "right-deletelogentry": "Qeydanê cıkewtışanê xısusiyan bestere û peyser biya", + "right-deleterevision": "Vurnayışanê xısusiyanê pele bestere ya zi peyser biya", "right-deletedhistory": "Qeydanê tarixanê esterıteyan de qayt ke, bê nuştey inan", "right-deletedtext": "Mabênê newede vurnayışanê esterıtiyan de qaytê nuştey esterıtey u vurnayışan ke", "right-browsearchive": "Pelanê esterıteyan bıgeyre", "right-undelete": "Jû pela esterıtiye peyser bia", - "right-suppressrevision": "Ä°darekeran ra dızdeni/miyanki, newede vurnayışan de qayt ke u newede vıraze", + "right-suppressrevision": "Ä°darekeran ra miyanki, newede vurnayışan de qayt ke u newede vıraze", + "right-viewsuppressed": "Ä°darekeran ra miyanki newede vurnayışan de qayt ke", "right-suppressionlog": "Rocekanê xasan bıvêne", "right-block": "Karberanê binan karê vurnayışi ra bloke bıke", "right-blockemail": "Yew karberê erşawıtışê/rıştena e-maili ra bloke bıke", - "right-hideuser": "Yew namey karberi şari ra dızdeni/miyanki bloke bıke", + "right-hideuser": "Yew nameyê karberi şari ra miyanki bloke bıke", "right-ipblock-exempt": "Blokanê IPi, oto-blokan u blokanê menzıli ra ravêre", "right-proxyunbannable": "Blokanê otomatikiê proksiyan ra ravêre", "right-unblockself": "Blokeyınan ake", @@ -1367,7 +1368,7 @@ "filehist-user": "Karber", "filehist-dimensions": "Ebati", "filehist-filesize": "Ebata dosya", - "filehist-comment": "Vacayış", + "filehist-comment": "Mışewre", "imagelinks": "Gurenayışê dosya", "linkstoimage": "Ena {{PLURAL:$1|pela|$1 pela}} gıreye ena dosya:", "linkstoimage-more": "$1 ra ziyed {{PLURAL:$1|pel|pel}} re gırey dano.\nlisteya ke ha ver a têna na {{PLURAL:$1|dosyaya ewwili|dosyaya $1 ewwili}} mocnena.\n[[Special:WhatLinksHere/$2|pêroyê liste]] mevcud o.", @@ -1413,7 +1414,7 @@ "filedelete-maintenance": "Esterayîş u resterasyonê dosyayî wextê texmirî de nibenê.", "filedelete-maintenance-title": "Dosyaya nêbesterneyêna", "mimesearch": "MIME bigêre", - "mimesearch-summary": "no pel, no tewır dosyayan MIME kontrol kena. kewteye: tipa zerreyi/tipa bıni, e.g. <code>resim/jpeg</code>.", + "mimesearch-summary": "Na pele, dosyayanê MIME goreyê tewran ra parzûn kena. Cıkewtış: tewrê zerreki/tewro bınên ya zi tewrê zerreki/*, nımune: <code>image/jpeg</code>.", "mimetype": "Babetê NIME", "download": "bar ke", "unwatchedpages": "Pelanê seyrnibiyeyî", @@ -1633,7 +1634,7 @@ "noemailtext": "no/na karber yew e-postayo meqbul nêdawa/o", "nowikiemailtext": "no/na karber/e, karberanê binani ra gırewtışê e-postayi tercih nêkerd.", "emailnotarget": "Qandê Gêreninamey karberiyo wuna çınyo yana xırabo.", - "emailtarget": "Namey Karberi defiyê de.", + "emailtarget": "Nameyê karberiyê gırewtoği cıkewên.", "emailusername": "Nameyê karberi:", "emailusernamesubmit": "Ä°taet", "email-legend": "karberê {{SITENAME}} binan re e-posta bıerşaw", @@ -1932,7 +1933,7 @@ "emailblock": "e-mail blok biyo", "blocklist-nousertalk": "ti nieşken pele minaqaşe xo bivurne", "ipblocklist-empty": "Lista kılitkerdışi venga.", - "ipblocklist-no-results": "Adresa IPya waştiye ya zi namey karberi kılit nêbiyo.", + "ipblocklist-no-results": "Adresa IPya waştiye ya zi nameyê karberi kılit nêbiyo.", "blocklink": "kılit ke", "unblocklink": "bloki wedare", "change-blocklink": "kılitkerdışi bıvurne", @@ -2091,13 +2092,13 @@ "import": "Peleyi import bik", "importinterwiki": "Împortê transwîkî", "import-interwiki-text": "qey kırıştışê zerreyi yew wiki u pel bıvıcinê.\ntarixê revizyon u nameyê nuştoxi pawyene.\nkarê zerredayişê benateyê wikiyani[[Special:Log/import|zerreyê rocaneyê kırıştî de]] qeyd beno.", - "import-interwiki-history": "Qe eno pel, revizyonê tarixê hemî kopya bike", - "import-interwiki-templates": "Şablonê hemî dehil bike", - "import-interwiki-submit": "Azare de", - "import-interwiki-namespace": "Destinasyonê canameyî:", + "import-interwiki-history": "Qeydanê pele pêrune kopya ke", + "import-interwiki-templates": "Şablonan pêro zerre ke", + "import-interwiki-submit": "Zerre ke", + "import-interwiki-namespace": "Hedefê cayê nameyi:", "import-interwiki-rootpage": "Hedef pelaya reçi (opsiyonel):", "import-upload-filename": "Nameyê dosyayi:", - "import-comment": "Vatış:", + "import-comment": "Mışewre:", "importtext": "Kerem ke dosyay, çımeyê wiki ra pê [[Special:Export|kırıştışê teberdayişi]] bıdê teber, Komputerê xo de qeyd kerê u bar kerê tiya.", "importstart": "Pelan împort kenî", "import-revision-count": "$1 {{PLURAL:$1|çımraviyarnayış|çımraviyarnayışi}}", @@ -2408,7 +2409,7 @@ "exif-ycbcrpositioning": "pozisyonê Y u C", "exif-xresolution": "Rezulasyanê veriniye", "exif-yresolution": "Rezulasyanê derganiye", - "exif-stripoffsets": "cayê data yê resim", + "exif-stripoffsets": "Cayê melumatê resımi", "exif-rowsperstrip": "Yew reze de teneyê dizeyi", "exif-stripbytecounts": "Yew compresyon de dizeyi", "exif-jpeginterchangeformat": "JPEG SOI rê ayar bike", @@ -2431,7 +2432,7 @@ "exif-compressedbitsperpixel": "Modê komprasyonê resimi", "exif-pixelydimension": "Herayeya resimi", "exif-pixelxdimension": "Berzeya resimi", - "exif-usercomment": "Hulasayê karberi", + "exif-usercomment": "Mışewreyê karberi", "exif-relatedsoundfile": "Derhekê dosya yê vengi", "exif-datetimeoriginal": "Zeman u tarixê data varaziyayişi", "exif-datetimedigitized": "Zeman u tarixê dicital kerdişi", @@ -2513,11 +2514,11 @@ "exif-coordinate-format": "$1° $2′ $3″ $4", "exif-jpegfilecomment": "Vatışê dosyada JPEG'i", "exif-keywords": "Qesa kelimey", - "exif-worldregioncreated": "Resim dınya dı qanci mıntıqara gêriyayo", - "exif-countrycreated": "Resim qanci dewlet ra gêriyayo", - "exif-countrycodecreated": "Cayo ke resim ancıyayo kodê dewlet da cı", - "exif-provinceorstatecreated": "Cayê resim antışi dewlet yana wılayet", - "exif-citycreated": "Suka ke resim gêriyayao", + "exif-worldregioncreated": "Mıntıqaya dınyaya ke tede resım gêriyayayo", + "exif-countrycreated": "Dewleta ke tede resım gêriyayayo", + "exif-countrycodecreated": "Kodê dewleta ke tede resım anciyayo", + "exif-provinceorstatecreated": "Wılayet ya zi dewleta ke tede resım anciyayo", + "exif-citycreated": "Sûka ke tede resım gêriyayayo", "exif-sublocationcreated": "Bın lokasyonê resimê suker da cı grot", "exif-worldregiondest": "Wareyo ke mocneyêno", "exif-countrydest": "Dewleta ke mocneyêna", @@ -2573,8 +2574,8 @@ "exif-event": "Weqaya ke nameycıyo ravreno", "exif-organisationinimage": "Organizasyono ke ravêreno", "exif-personinimage": "Merdumo ke nameycıyo ravêreno", - "exif-originalimageheight": "Veror de resim nêkırpnayışi dergeya cı", - "exif-originalimagewidth": "Veror de resim nêkırpnayışi herayeya cı", + "exif-originalimageheight": "Nêbırniyane ra ver derganiya resımi", + "exif-originalimagewidth": "Nêbırniyane ra ver verındiya resımi", "exif-contact-value": "$1\n\n$2\n<div class=\"adr\">\n$3\n\n$4, $5, $6 $7\n</div>\n$8", "exif-subjectnewscode-value": "$2 ($1)", "exif-compression-1": "Nêdegusneyayo", @@ -2920,7 +2921,6 @@ "hebrew-calendar-m12-gen": "Elul", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|mesac]])", "timezone-utc": "[[UTC]]", - "unknown_extension_tag": "Etiketê ilaweyo nêzanayey \"$1\"", "duplicate-defaultsort": "'''Tembe:''' Hesıbyaye sırmey ratnayış de \"$2\" sırmey ratnayış de \"$1\"i nêhesıbneno.", "version": "Versiyon", "version-extensions": "Ekstensiyonî ke ronaye", @@ -3100,7 +3100,7 @@ "searchsuggest-search": "Cı geyre", "searchsuggest-containing": "Estên...", "api-error-badaccess-groups": "Ena wiki de dosya barkerdışi rê mısade nêdeyêno.", - "api-error-badtoken": "Xirabiya zerrek:Xırab resim.", + "api-error-badtoken": "Xetaya zerreki: Antışo xırabın.", "api-error-copyuploaddisabled": "URL barkerdış ena waster dı qefılyayo.", "api-error-duplicate": "Ena {{PLURAL:$1|ze ke [zey $2]|biya [zey dosya da $2]}} zeq wesiqa biya wendeyê.", "api-error-duplicate-archive": "Ena {{PLURAL:$1|vurneyaya [$2 zey na dosya]| [zerrey cı zey $2 dosya]}} aseno,feqet {{PLURAL:$1|ena dosya|tewr veri}} besterneyaya.", @@ -3149,7 +3149,7 @@ "duration-decades": "$1 {{PLURAL:$1|dades|dadesi}}", "duration-centuries": "$1 {{PLURAL:$1|seserre|seserri}}", "duration-millennia": "$1 {{PLURAL:$1|milenyum|milenyumi}}", - "rotate-comment": "Resim heta sehata $1 {{PLURAL:$1|derece|derecey}} bi cerx", + "rotate-comment": "Resım hetê saete de $1 {{PLURAL:$1|derece|dereceyi}} çerexniya", "limitreport-title": "Agoznaye malumata profili:", "limitreport-cputime": "CPU dem karnayış", "limitreport-cputime-value": "$1 {{PLURAL:$1|saniye|saniyeyan}}", diff --git a/languages/i18n/egl.json b/languages/i18n/egl.json index 82e3fdf04d..b064b40c44 100644 --- a/languages/i18n/egl.json +++ b/languages/i18n/egl.json @@ -706,7 +706,7 @@ "history-feed-empty": "La pàgina serchêda l'an gh'é mìa; la pré èser stēda scanşlêda dal sît o gh'é stê cambiê nòm. Verifichêr cun [[Special:Search|pàgina 'd sèirca]] se gh'é dal pàgini nōvi.", "rev-deleted-comment": "(argumèint ed la mudéfica armôs)", "rev-deleted-user": "(nòm utèint armôs)", - "rev-deleted-event": "(asiòun dal log armôsa)", + "rev-deleted-event": "(particulêr dal log armôs)", "rev-deleted-user-contribs": "(nòm utèint o indirés IP armôs - mudéfica lughêda da la stòria)", "rev-deleted-text-permission": "Cla versiòun ché 'd la pàgina l'é stêda <strong> scanşlêda </strong>. \nConsultêr al [{{fullurl:{{#Special:Log}}/delete|page={{PAGENAMEE}}}} log dal canşladûri] per nōv particulêr.", "rev-suppressed-text-permission": "Cla versiòun ché 'd la pàgina l'é stêda <strong> scanşlêda </strong>. Consultêr al [{{fullurl:{{#Special:Log}}/ suppress |page={{ FULLPAGENAMEE }}}} log dal canşladûri] per nōv particulêr.", @@ -1060,6 +1060,17 @@ "right-markbotedits": "Sègna al mudéfichi da turnêr a mèter cme préma cme fâti da 'na mâchina in avtomâtich", "right-noratelimit": "An n'é mìa ublighê al lémit 'd asiòun", "right-import": "Côpia dal pàgini da 'd j êter wiki", + "right-importupload": "Zuntêr da pàgini da un file carghê.", + "right-patrol": "Sègna al mudéfichi 'd j êter utèint cme verifichêdi", + "right-autopatrol": "Sègna in avtomâtich al mudéfichi che t'é fât cme verifichêdi", + "right-patrolmarks": "Drōva la funsiòun ed veréfica dal j ûltmi mudéfichi", + "right-unwatchedpages": "Fa vèder un elèinch ed pàgini mìa guardêdi", + "right-mergehistory": "Al mèt insèm la stôria dal pàgini", + "right-userrights": "Mudéfica i dirét ed l'utèint", + "right-userrights-interwiki": "Mudéfica i dirét ed j êter utèint 'd êtri wiki", + "right-siteadmin": "Blōca e şblōca al databêş", + "right-override-export-depth": "Pôrta fōra al pàgini cun insèm al pàgini coleghêdi per 'na larghèsa ed 5", + "right-sendemail": "Spidés pôsta eletrônica a êter utèint", "newuserlogpage": "Utèint nōv", "action-read": "lēzer cla pàgina ché", "action-edit": "Mudifichêr cla pàgina ché", diff --git a/languages/i18n/en.json b/languages/i18n/en.json index 2ee3df2586..b0751e38bc 100644 --- a/languages/i18n/en.json +++ b/languages/i18n/en.json @@ -222,6 +222,7 @@ "pool-queuefull": "Pool queue is full", "pool-errorunknown": "Unknown error", "pool-servererror": "The pool counter service is not available ($1).", + "poolcounter-usage-error": "Usage error: $1", "aboutsite": "About {{SITENAME}}", "aboutpage": "Project:About", "copyright": "Content is available under $1 unless otherwise noted.", @@ -698,6 +699,9 @@ "content-model-text": "plain text", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-model-json": "JSON", + "content-json-empty-object": "Empty object", + "content-json-empty-array": "Empty array", "duplicate-args-category": "Pages using duplicate arguments in template calls", "duplicate-args-category-desc": "The page contains template calls that use duplicates of arguments, such as <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> or <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "<strong>Warning:</strong> This page contains too many expensive parser function calls.\n\nIt should have less than $2 {{PLURAL:$2|call|calls}}, there {{PLURAL:$1|is now $1 call|are now $1 calls}}.", @@ -3241,7 +3245,6 @@ "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|talk]])", "signature-anon": "[[{{#special:Contributions}}/$1|$2]]", "timezone-utc": "UTC", - "unknown_extension_tag": "Unknown extension tag \"$1\"", "duplicate-defaultsort": "<strong>Warning:</strong> Default sort key \"$2\" overrides earlier default sort key \"$1\".", "duplicate-displaytitle": "<strong>Warning:</strong> Display title \"$2\" overrides earlier display title \"$1\".", "invalid-indicator-name": "<strong>Error:</strong> Page status indicators' <code>name</code> attribute must not be empty.", diff --git a/languages/i18n/es.json b/languages/i18n/es.json index 047993dafb..27b14476c0 100644 --- a/languages/i18n/es.json +++ b/languages/i18n/es.json @@ -335,6 +335,7 @@ "pool-queuefull": "La cola de trabajo está llena", "pool-errorunknown": "Error desconocido", "pool-servererror": "El servicio de gestión de procesos agrupados no está disponible ($1).", + "poolcounter-usage-error": "Error de uso: $1", "aboutsite": "Acerca de {{SITENAME}}", "aboutpage": "Project:Acerca de", "copyright": "El contenido está disponible bajo la licencia $1 a menos que se indique lo contrario.", @@ -768,6 +769,7 @@ "content-model-text": "Texto sin formato", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Objeto vacío", "duplicate-args-category": "Páginas que usan argumentos duplicados en invocaciones de plantillas", "duplicate-args-category-desc": "La página contiene invocaciones de plantillas que utilizan argumentos duplicados, como <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> o <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "Aviso: Esta página contiene demasiadas llamadas a funciones sintácticas costosas (#ifexist: y similares)\n\nTiene {{PLURAL:$1|una llamada|$1 llamadas}}, pero debería tener menos de $2.", @@ -2959,7 +2961,6 @@ "watchlisttools-edit": "Ver y editar tu lista de seguimiento", "watchlisttools-raw": "Editar lista de seguimiento en crudo", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discusión]])", - "unknown_extension_tag": "Etiqueta desconocida «$1»", "duplicate-defaultsort": "'''Atención:''' La clave de ordenamiento predeterminada «$2» anula la clave de ordenamiento anterior «$1».", "duplicate-displaytitle": "<strong>Advertencia:</strong> El título visualizado \"$2\" sobreescribe al anterior \"$1\".", "invalid-indicator-name": "<strong>Error:</strong> el atributo <code>name</code> de los indicadores de estado de página no debe estar vacío.", diff --git a/languages/i18n/et.json b/languages/i18n/et.json index dd057170df..a7eaea2bcd 100644 --- a/languages/i18n/et.json +++ b/languages/i18n/et.json @@ -573,7 +573,7 @@ "anoneditwarning": "<strong>Hoiatus:</strong> Sa pole sisse logitud. Sinu IP-aadress on kõigile nähtav, kui muudatusi teed. Kui <strong>[$1 logid sisse]</strong> või <strong>[$2 lood konto]</strong>, siis teiste eeliste seas omistatakse sinu muudatused sulle kasutajanime järgi.", "anonpreviewwarning": "''Sa pole sisse logitud. Selle lehe redigeerimislogisse salvestatakse su IP-aadress.''", "missingsummary": "'''Meeldetuletus:''' Sa ei ole lisanud muudatuse resümeed.\nKui vajutad uuesti salvestamise nupule, salvestatakse muudatus ilma resümeeta.", - "selfredirect": "<strong>Hoiatus:</strong> Teed ümbersuunamise samasse artiklisse.\nÜmbersuunamine luuakse, kui klõpsad uuesti \"{{int:savearticle}}\".", + "selfredirect": "<strong>Hoiatus:</strong> Suunad selle lehekülje iseeneda juurde.\nVõimalik, et oled määranud ümbersuunamise jaoks vale sihtleheküljeks või redigeerid vale lehekülge.\nÜmbersuunamine luuakse sellest hoolimata, kui klõpsad uuesti \"{{int:savearticle}}\".", "missingcommenttext": "Palun sisesta siit allapoole kommentaar.", "missingcommentheader": "'''Meeldetuletus:''' Sa pole kirjutanud kommentaarile teemat ega pealkirja.\nKui klõpsad uuesti \"{{int:savearticle}}\", salvestatakse su kommentaar kummatagi.", "summary-preview": "Resümee eelvaade:", @@ -671,6 +671,8 @@ "content-model-text": "lihttekst", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Tühi objekt", + "content-json-empty-array": "Tühi massiiv", "duplicate-args-category": "Leheküljed, kus mallikutses on topeltargument", "duplicate-args-category-desc": "Lehekülg sisaldab mallikutseid, kus mõnd argumenti on kasutatud mitu korda, näiteks <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> või <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "'''Hoiatus:''' See lehekülg kasutab liialt palju aeglustavaid laiendusfunktsioone. Neid võiks kasutada vähem kui {{PLURAL:$2|ühel|$2}} korral, praegu on kasutatud {{PLURAL:$1|ühel|$1}} korral.", @@ -727,7 +729,7 @@ "history-feed-empty": "Soovitud lehekülge ei ole olemas.\nSee võib olla vikist kustutatud või ümber nimetatud.\nÜrita [[Special:Search|vikist otsida]] teemakohaseid lehekülgi.", "rev-deleted-comment": "(muudatuse resümee eemaldatud)", "rev-deleted-user": "(kasutajanimi eemaldatud)", - "rev-deleted-event": "(logitoiming eemaldatud)", + "rev-deleted-event": "(logi üksikasjad eemaldatud)", "rev-deleted-user-contribs": "[kasutajanimi või IP-aadress eemaldatud – muudatust ei näidata]", "rev-deleted-text-permission": "See lehekülje redaktsioon on '''kustutatud'''.\nÜksikasju võib olla [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} kustutamise logis].", "rev-suppressed-text-permission": "Lehekülje see redaktsioon on <strong>varjatud</strong>.\nÜksikasju leiad [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} varjamislogist].", @@ -761,7 +763,7 @@ "revdelete-legend": "Nähtavuse piirangute seadmine", "revdelete-hide-text": "Redaktsiooni tekst", "revdelete-hide-image": "Peida faili sisu", - "revdelete-hide-name": "Peida toiming ja selle objekt", + "revdelete-hide-name": "Peida toimingu objekt ja parameetrid", "revdelete-hide-comment": "Resümee", "revdelete-hide-user": "Toimetaja kasutajanimi või IP-aadress", "revdelete-hide-restricted": "Varja andmeid nii administraatorite kui ka teiste eest.", @@ -2142,6 +2144,7 @@ "thumbnail-temp-create": "Ajutist pisipildifaili ei õnnestu luua.", "thumbnail-dest-create": "Pisipilti ei õnnestu sihtkohas salvestada", "thumbnail_invalid_params": "Vigased pisipildi parameetrid", + "thumbnail_toobigimagearea": "Faili mõõtmed on suuremad kui $1", "thumbnail_dest_directory": "Sihtkataloogi loomine ebaõnnestus.", "thumbnail_image-type": "Selline pildi tüüp ei ole toetatav", "thumbnail_gd-library": "GD teegi häälestus on poolik: funktsioon $1 puudub", @@ -2852,7 +2855,6 @@ "watchlisttools-edit": "Vaata ja redigeeri jälgimisloendit", "watchlisttools-raw": "Muuda lähteteksti", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|arutelu]])", - "unknown_extension_tag": "Tundmatu lisa silt \"$1\".", "duplicate-defaultsort": "'''Hoiatus:''' Järjestamisvõti \"$2\" tühistab eespool oleva järjestamisvõtme \"$1\".", "duplicate-displaytitle": "<strong>Hoiatus:</strong> Kuvatava pealkirjaga \"$2\" kirjutatakse üle varasem kuvatav pealkiri \"$1\".", "invalid-indicator-name": "<strong>Tõrge:</strong> Lehekülje olekunäidu juures ei tohi atribuudi <code>name</code> väärtus puududa.", diff --git a/languages/i18n/fa.json b/languages/i18n/fa.json index eaea3f6a82..d094ad0a6f 100644 --- a/languages/i18n/fa.json +++ b/languages/i18n/fa.json @@ -801,12 +801,12 @@ "revdel-restore": "تغییر پیدایی", "pagehist": "تاریخچهٔ صفحه", "deletedhist": "تاریخچهٔ حذف‌شده", - "revdelete-hide-current": "خطا در پنهان‌کردن مورد مورخ $2 ساعت $1: این نسخه، نسخهٔ اخیر است و قابل پنهان‌کردن نیست.", - "revdelete-show-no-access": "خطا در پنهان‌کردن مورد مورخ $2 ساعت $1: این نسخه علامت «محدودیت» دارد و شما به آن دسترسی ندارید.", - "revdelete-modify-no-access": "خطا در پنهان‌کردن مورد مورخ $2 ساعت $1: این نسخه علامت «محدودیت» دارد و شما به آن دسترسی ندارید.", - "revdelete-modify-missing": "خطا در پنهان‌کردن مورد شمارهٔ $1: این نسخه در پایگاه داده وجود ندارد!", + "revdelete-hide-current": "خطا در پنهان کردن مورد مورخ $2 ساعت $1: این نسخه، نسخهٔ اخیر است و قابل پنهان کردن نیست.", + "revdelete-show-no-access": "خطا در پنهان کردن مورد مورخ $2 ساعت $1: این نسخه علامت «محدودیت» دارد و شما به آن دسترسی ندارید.", + "revdelete-modify-no-access": "خطا در پنهان کردن مورد مورخ $2 ساعت $1: این نسخه علامت «محدودیت» دارد و شما به آن دسترسی ندارید.", + "revdelete-modify-missing": "خطا در پنهان کردن مورد شمارهٔ $1: این نسخه در پایگاه داده وجود ندارد!", "revdelete-no-change": "'''هشدار:''' مورد مورخ $2 ساعت $1 از قبل تنظیمات پیدایی درخواست شده را دارا بود.", - "revdelete-concurrent-change": "خطا در پنهان‌کردن مورد مورخ $2 ساعت $1: به نظر می‌رسد که در مدتی که شما برای تغییر وضعیت آن تلاش می‌کردید وضعیت آن توسط فرد دیگری تغییر یافته است.\nلطفاً سیاهه‌ها را بررسی کنید.", + "revdelete-concurrent-change": "خطا در پنهان کردن مورد مورخ $2 ساعت $1: به نظر می‌رسد که در مدتی که شما برای تغییر وضعیت آن تلاش می‌کردید وضعیت آن توسط فرد دیگری تغییر یافته است.\nلطفاً سیاهه‌ها را بررسی کنید.", "revdelete-only-restricted": "خطا در پنهان کردن مورد مورخ $2 ساعت $1: شما نمی‌توانید موارد را از دید مدیران پنهان کنید مگر آن که یکی دیگر از گزینه‌های پنهان‌سازی را نیز انتخاب کنید.", "revdelete-reason-dropdown": "*دلایل متداول حذف\n** نقض حق تکثیر\n** اظهار نظر یا اطلاعات فردی نامناسب\n** نام کاربری نامناسب\n** اطلاعات به طور بالقوه افتراآمیز", "revdelete-otherreason": "دلیل دیگر/اضافی:", @@ -1080,7 +1080,7 @@ "right-suppressionlog": "مشاهدهٔ سیاهه‌های خصوصی", "right-block": "قطع دسترسی ویرایشی دیگر کاربران", "right-blockemail": "قطع دسترسی دیگر کاربران برای ارسال رایانامه", - "right-hideuser": "قطع دسترسی کاربر و پنهان‌کردن آن از دید عموم", + "right-hideuser": "قطع دسترسی کاربر و پنهان کردن آن از دید عموم", "right-ipblock-exempt": "تاثیر نپذیرفتن از قطع دسترسی‌های آی‌پی، خودکار یا فاصله‌ای", "right-proxyunbannable": "تاثیر نپذیرفتن از قطع دسترسی خودکار پروکسی‌ها", "right-unblockself": "بازکردن دسترسی خود", @@ -1181,22 +1181,22 @@ "rclistfrom": "نمایش تغییرات تازه با شروع از $3 $2", "rcshowhideminor": "$1 ویرایش‌های جزئی", "rcshowhideminor-show": "نمایش", - "rcshowhideminor-hide": "پنهان‌کردن", + "rcshowhideminor-hide": "پنهان کردن", "rcshowhidebots": "$1 ربات‌ها", "rcshowhidebots-show": "نمایش", - "rcshowhidebots-hide": "پنهان‌کردن", + "rcshowhidebots-hide": "پنهان کردن", "rcshowhideliu": "$1 کاربران ثبت‌نام‌کردە", "rcshowhideliu-show": "نمایش", - "rcshowhideliu-hide": "پنهان‌کردن", + "rcshowhideliu-hide": "پنهان کردن", "rcshowhideanons": "$1 کاربران ناشناس", "rcshowhideanons-show": "نمایش", - "rcshowhideanons-hide": "پنهان‌کردن", + "rcshowhideanons-hide": "پنهان کردن", "rcshowhidepatr": "$1 ویرایش‌های گشت‌خورده", "rcshowhidepatr-show": "نمایش", - "rcshowhidepatr-hide": "پنهان‌کردن", + "rcshowhidepatr-hide": "پنهان کردن", "rcshowhidemine": "$1 ویرایش‌های من", "rcshowhidemine-show": "نمایش", - "rcshowhidemine-hide": "پنهان‌کردن", + "rcshowhidemine-hide": "پنهان کردن", "rclinks": "نمایش آخرین $1 تغییر در $2 روز اخیر<br />$3", "diff": "تفاوت", "hist": "تاریخچه", @@ -1569,7 +1569,7 @@ "protectedpages-indef": "فقط محافظت‌های بی‌پایان", "protectedpages-summary": "در این صفحه فهرست صفحات موجود است که در حال حاضر محافظت شده اند. برای فهرست عنوان‌هایی که از ایجاد محافظت شده‌اند، به [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]] مراجعه کنید.", "protectedpages-cascade": "فقط محافظت‌های آبشاری", - "protectedpages-noredirect": "پنهان‌کردن تغییر مسیرها", + "protectedpages-noredirect": "پنهان کردن تغییر مسیرها", "protectedpagesempty": "در حال حاضر هیچ‌صفحه‌ای محافظت نشده‌است.", "protectedpages-timestamp": "برچسب زمان", "protectedpages-page": "صفحه", @@ -1992,9 +1992,9 @@ "blocklist": "کاربران بسته‌شده", "ipblocklist": "کاربران بسته‌شده", "ipblocklist-legend": "جستجوی کاربر بسته شده", - "blocklist-userblocks": "پنهان‌کردن بسته‌شدن‌های حساب", - "blocklist-tempblocks": "پنهان‌کردن بستن‌های موقت", - "blocklist-addressblocks": "پنهان‌کردن تک آی‌پی‌های بسته شده", + "blocklist-userblocks": "پنهان کردن بسته‌شدن‌های حساب", + "blocklist-tempblocks": "پنهان کردن بستن‌های موقت", + "blocklist-addressblocks": "پنهان کردن تک آی‌پی‌های بسته شده", "blocklist-rangeblocks": "پنهان کردنی قطع دسترسی بازه‌ها", "blocklist-timestamp": "برچسب زمان", "blocklist-target": "هدف", @@ -2051,7 +2051,7 @@ "sorbsreason": "نشانی آی‌پی شما توسط DNSBL مورد استفاده {{SITENAME}} به عنوان یک پروکسی باز گزارش شده‌است.", "sorbs_create_account_reason": "نشانی آی‌پی شما توسط DNSBL مورد استفاده {{SITENAME}} به عنوان یک پروکسی باز گزارش شده‌است.\nشما اجازهٔ ساختن حساب کاربری ندارید.", "xffblockreason": "نشانی آی‌پی در X-Forwarded-For header موجود است و پروکسی شما یا سروری که از آن استفاده می‌کنید بسته‌شده‌است. دلیل بسته‌شدن: $1", - "cant-see-hidden-user": "کاربری که می‌خواهید ببندید قبلاً بسته شده و پنهان گردیده‌است. چون شما دسترسی پنهان‌کردن کاربران را ندارید، نمی‌توانید قطع دسترسی کاربر را ببینید یا ویرایش کنید.", + "cant-see-hidden-user": "کاربری که می‌خواهید ببندید قبلاً بسته شده و پنهان گردیده است. چون شما دسترسی پنهان کردن کاربران را ندارید، نمی‌توانید قطع دسترسی کاربر را ببینید یا ویرایش کنید.", "ipbblocked": "شما نمی‌توانید دسترسی دیگر کاربران را ببندید یا باز کنید زیرا دسترسی خودتان بسته است.", "ipbnounblockself": "شما مجاز به باز کردن دسترسی خود نیستید.", "lockdb": "قفل کردن پایگاه داده", @@ -2935,7 +2935,6 @@ "hebrew-calendar-m11-gen": "آب", "hebrew-calendar-m12-gen": "ایلول", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|بحث]])", - "unknown_extension_tag": "برچسب ناشناختهٔ افزونه «$1»", "duplicate-defaultsort": "هشدار: ترتیب پیش‌فرض «$2» ترتیب پیش‌فرض قبلی «$1» را باطل می‌کند.", "duplicate-displaytitle": "<strong>هشدار:</strong> نمایش عنوان \" $2 \"باعث ابطال پیش نمایش عنوان\" $1 \" می‌شود.", "invalid-indicator-name": "<strong>خطا:</strong>ویژگی های شاخص‌های وضعیت صفحهٔ <code>name</code> نباید خالی باشند.", diff --git a/languages/i18n/fi.json b/languages/i18n/fi.json index 79a45ea691..62b1d63bef 100644 --- a/languages/i18n/fi.json +++ b/languages/i18n/fi.json @@ -593,7 +593,7 @@ "anoneditwarning": "<strong>Varoitus:</strong> Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos <strong>[$1 kirjaudut sisään]</strong> tai <strong>[$2 luot tunnuksen]</strong>, muokkauksesi kirjataan käyttäjätunnuksesi tekemiksi ja samalla saat käyttöösi hyödyllisiä välineitä.", "anonpreviewwarning": "''Et ole kirjautunut sisään. Tallentaminen kirjaa IP-osoitteesi tämän sivun muutoshistoriaan.''", "missingsummary": "Et ole antanut yhteenvetoa. Jos valitset Tallenna uudelleen, niin muokkauksesi tallennetaan ilman yhteenvetoa.", - "selfredirect": "<strong>Varoitus:</strong> Olet tekemässä uudelleenohjausta samaan artikkeliin. Jos painat toimintoa \"{{int:savearticle}}\" uudestaan, tämä ohjaussivu luodaan.", + "selfredirect": "<strong>Varoitus:</strong> Olet tekemässä uudelleenohjausta, joka johtaa tästä sivusta tähän samaan sivuun. \n\nOlet ehkä määrittänyt ohjauksen kohteen väärin tai kenties muokkaat parhaillaan väärää sivua.\n\nJos painat toimintoa \"{{int:savearticle}}\" uudestaan, tämä ohjaussivu luodaan joka tapauksessa.", "missingcommenttext": "Kirjoita viesti alle.", "missingcommentheader": "Et ole antanut otsikkoa kommentillesi. Napsauta ”{{int:savearticle}}”, jos et halua antaa otsikkoa.", "summary-preview": "Yhteenvedon esikatselu:", @@ -692,6 +692,8 @@ "content-model-text": "pelkkä teksti", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Tyhjä objekti", + "content-json-empty-array": "Tyhjä array", "duplicate-args-category": "Sivut, jotka käyttävät kaksinkertaisia argumentteja mallinekutsuissa", "duplicate-args-category-desc": "Tämä sivu sisältää sellaisia mallinekutsuja, jotka käyttävät kaksi kertaa samaa argumenttia kuten <nowiki>{{foo|bar=1|bar=2}}</nowiki></code> taikka <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "Tällä sivulla on liian monta hitaiden laajennusfunktioiden kutsua.\nKutsuja pitäisi olla alle $2 {{PLURAL:$2|kappale|kappaletta}}, mutta nyt niitä on $1 {{PLURAL:$1|kappale|kappaletta}}.", @@ -748,7 +750,7 @@ "history-feed-empty": "Pyydettyä sivua ei ole olemassa.\nSe on saatettu poistaa wikistä tai nimetä uudelleen.\nKokeile [[Special:Search|hakua]] löytääksesi asiaan liittyviä sivuja.", "rev-deleted-comment": "(muokkausyhteenveto poistettu)", "rev-deleted-user": "(käyttäjänimi poistettu)", - "rev-deleted-event": "(lokitapahtuma poistettu)", + "rev-deleted-event": "(lokitiedot poistettu)", "rev-deleted-user-contribs": "[käyttäjätunnus tai IP-osoite poistettu – muokkaus on piilotettu muokkausluettelosta]", "rev-deleted-text-permission": "Tämä versio sivusta on '''poistettu'''.\nLisätietoja löytyy [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} poistolokista].", "rev-suppressed-text-permission": "Tämä versio sivusta on <strong>häivytetty</strong>.\nLisätietoja löytyy [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} häivytyslokista].", @@ -782,7 +784,7 @@ "revdelete-legend": "Aseta version näkyvyyden rajoitukset", "revdelete-hide-text": "Piilota version tekstisisältö", "revdelete-hide-image": "Piilota tiedoston sisältö", - "revdelete-hide-name": "Piilota toiminto ja kohde", + "revdelete-hide-name": "Piilota kohde ja parametrit", "revdelete-hide-comment": "Piilota yhteenveto", "revdelete-hide-user": "Piilota tekijän tunnus tai IP-osoite", "revdelete-hide-restricted": "Häivytä tiedot sekä ylläpitäjien että muiden käyttäjien näkyviltä", @@ -2166,6 +2168,7 @@ "thumbnail-temp-create": "Väliaikaisen esikatselukuvan luonti epäonnistui", "thumbnail-dest-create": "Esikatselukuvaa ei voitu tallentaa kohteeseen", "thumbnail_invalid_params": "Virheelliset parametrit pienoiskuvalle", + "thumbnail_toobigimagearea": "Tiedosto, jonka mitat ovat suuremmat kuin $1", "thumbnail_dest_directory": "Kohdehakemiston luominen ei onnistunut", "thumbnail_image-type": "Kuvamuoto ei ole tuettu", "thumbnail_gd-library": "GD-kirjastoa ei ole asennettu oikein. Funktio $1 puuttuu.", @@ -2898,7 +2901,6 @@ "watchlisttools-edit": "Katso ja muokkaa tarkkailulistaa", "watchlisttools-raw": "Muokkaa listaa raakamuodossa", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|keskustelu]])", - "unknown_extension_tag": "Tuntematon laajennuskoodi ”$1”.", "duplicate-defaultsort": "'''Varoitus:''' Oletuslajitteluavain ”$2” korvaa aiemman oletuslajitteluavaimen ”$1”.", "duplicate-displaytitle": "<strong>Varoitus:</strong> Näytettävä otsikko \"$2\" päällekirjoittaa edellisen otsikon \"$1\".", "invalid-indicator-name": "<strong>Virhe:</strong> Sivun tilan osoittimien attribuutti <code>name</code> ei saa olla tyhjä.", diff --git a/languages/i18n/fr.json b/languages/i18n/fr.json index cf582297d5..00b2cf668a 100644 --- a/languages/i18n/fr.json +++ b/languages/i18n/fr.json @@ -664,7 +664,7 @@ "anoneditwarning": "<strong>Attention :</strong> Vous n’êtes pas connecté. Votre adresse IP sera visible de tout le monde si vous faites des modifications. Si vous <strong>[$1 vous connectez]</strong> ou <strong>[$2 créez un compte]</strong>, vos modifications seront attribuées à votre nom d’utilisateur, entre autres avantages.", "anonpreviewwarning": "''Vous n’êtes pas identifié(e). Sauvegarder enregistrera votre adresse IP dans l’historique des modifications de la page.''", "missingsummary": "'''Rappel :''' vous n'avez pas encore fourni le résumé de votre modification.\nSi vous cliquez de nouveau sur le bouton « {{int:savearticle}} », la publication sera faite sans nouvel avertissement.", - "selfredirect": "<strong>Attention :</strong> Vous êtes en train de créer une redirection vers le même article.\nSi vous cliquez de nouveau sur « {{int:savearticle}} », la redirection sera créée.", + "selfredirect": "<strong>Attention :</strong> Vous êtes en train de rediriger la page vers elle-même.\nVous pouvez avoir spécifié la mauvaise cible pour la redirection, ou vous modifiez peut-être la mauvaise page.\nSi vous cliquez de nouveau sur « {{int:savearticle}} », la redirection sera créée tout de même.", "missingcommenttext": "Veuillez entrer un commentaire ci-dessous.", "missingcommentheader": "'''Rappel :''' vous n'avez pas fourni de sujet ou de titre à ce commentaire.\nSi vous cliquez de nouveau sur « {{int:Savearticle}} », votre modification sera enregistrée sans titre.", "summary-preview": "Aperçu du résumé :", @@ -764,6 +764,8 @@ "content-model-text": "texte brut", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Objet vide", + "content-json-empty-array": "Tableau vide", "duplicate-args-category": "Pages utilisant des arguments dupliqués dans les appels de modèle", "duplicate-args-category-desc": "La page contient des appels de modèle qui utilisent des arguments dupliqués, comme <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> ou <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "Attention : cette page contient de trop nombreux appels à des fonctions coûteuses de l'analyseur syntaxique.\n\nIl devrait y avoir moins de $2 appel{{PLURAL:$2||s}}, alors qu'il y en a maintenant $1.", @@ -820,7 +822,7 @@ "history-feed-empty": "La page demandée n'existe pas.\nElle a peut-être été effacée ou renommée.\nEssayez de [[Special:Search|rechercher sur le wiki]] pour trouver des pages en rapport.", "rev-deleted-comment": "(résumé de modification retiré)", "rev-deleted-user": "(nom d'utilisateur retiré)", - "rev-deleted-event": "(entrée retirée)", + "rev-deleted-event": "(détails de l’entrée retirée)", "rev-deleted-user-contribs": "[nom d'utilisateur ou adresse IP retiré - modification masquée sur les contributions]", "rev-deleted-text-permission": "Cette version de la page a été '''effacée'''.\nDes détails sont disponibles dans le [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} journal des effacements].", "rev-suppressed-text-permission": "Cette version de la page a été <strong>supprimée</strong>.\nLes détails se trouvent dans le [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} journal des suppressions].", @@ -854,7 +856,7 @@ "revdelete-legend": "Mettre en place des restrictions de visibilité :", "revdelete-hide-text": "Texte de la révision", "revdelete-hide-image": "Masquer le contenu du fichier", - "revdelete-hide-name": "Masquer l'action et la cible", + "revdelete-hide-name": "Masquer la cible et les paramètres", "revdelete-hide-comment": "Modifier le résumé", "revdelete-hide-user": "Nom d’utilisateur/Adresse IP de l’éditeur", "revdelete-hide-restricted": "Supprimer ces données aux administrateurs ainsi qu'aux autres", @@ -2242,6 +2244,7 @@ "thumbnail-temp-create": "Impossible de créer le fichier de vignette temporaire", "thumbnail-dest-create": "Impossible d'enregistrer la vignette sur la destination", "thumbnail_invalid_params": "Paramètres de la miniature incorrects", + "thumbnail_toobigimagearea": "Fichier avec des dimensions supérieures à $1", "thumbnail_dest_directory": "Impossible de créer le répertoire de destination", "thumbnail_image-type": "Type d'image non supporté", "thumbnail_gd-library": "Configuration incomplète de la bibliothèque GD : fonction $1 introuvable", @@ -3045,7 +3048,6 @@ "hebrew-calendar-m11-gen": "Av", "hebrew-calendar-m12-gen": "Éloul", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discussion]])", - "unknown_extension_tag": "Balise d’extension « $1 » inconnue", "duplicate-defaultsort": "Attention : la clé de tri par défaut « $2 » écrase la précédente clé « $1 ».", "duplicate-displaytitle": "<strong>Attention :</strong> Le titre d'affichage «$2» remplace l'ancien titre d'affichage «$1».", "invalid-indicator-name": "<strong>Erreur :</strong> L’attribut <code>name</code> des indicateurs d’état de la page ne doit pas être vide.", diff --git a/languages/i18n/gl.json b/languages/i18n/gl.json index 4754b14882..0a8e4d3010 100644 --- a/languages/i18n/gl.json +++ b/languages/i18n/gl.json @@ -565,7 +565,7 @@ "anoneditwarning": "<strong>Aviso:</strong> Non accedeu ao sistema. O seu enderezo IP será rexistado no histórico de edicións desta páxina. Se <strong>[$1 accede ao sistema]</strong> ou <strong>[$2 crea unha conta]</strong>, as súas edicións serán rexistadas co seu nome de usuario, ademais doutros beneficios.", "anonpreviewwarning": "''Non accedeu ao sistema. Se garda a páxina, o seu enderezo IP quedará rexistrado no historial de edicións.''", "missingsummary": "'''Aviso:''' Esqueceu incluír o texto do campo resumo.\nSe preme en \"{{int:savearticle}}\" a súa edición gardarase sen ningunha descrición da edición.", - "selfredirect": "<strong>Atención:</strong> Está a crear unha redireción cara o mesmo artigo. Se preme \"{{int:savearticle}}\" de novo, crearase a redireción.", + "selfredirect": "<strong>Atención:</strong> Está redirecionando esta páxina a ela mesma. Vostede pode ter especificado a páxina incorrecta para a redireción, ou pode que estea a editar a páxina incorrecta. Se preme \"{{int:savearticle}}\" de novo, crearase a redireción de tódolos xeitos.", "missingcommenttext": "Por favor, escriba un comentario a continuación.", "missingcommentheader": "'''Aviso:''' Non escribiu ningún texto no asunto/título deste comentario.\nSe preme sobre \"{{int:savearticle}}\", a súa edición gardarase sen el.", "summary-preview": "Vista previa do resumo:", @@ -664,6 +664,8 @@ "content-model-text": "texto simple", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Obxecto baleiro", + "content-json-empty-array": "Matriz baleira", "duplicate-args-category": "Páxinas con argumentos duplicados nas chamadas aos modelos", "duplicate-args-category-desc": "Esta páxina contén as chamadas aos modelos que utilizan argumentos duplicados, como <code><nowiki>{{exemplo|bar=1|bar=2}}</nowiki></code> ou <code><nowiki>{{exemplo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "'''Aviso:''' Esta páxina contén demasiadas chamadas a funcións analíticas custosas.\n\nDebe ter menos {{PLURAL:$2|dunha chamada|de $2 chamadas}}, e agora hai $1.", @@ -720,7 +722,7 @@ "history-feed-empty": "A páxina solicitada non existe.\nPuido borrarse ou moverse a outro nome.\nProbe a [[Special:Search|buscar no wiki]] para atopar as páxinas relacionadas.", "rev-deleted-comment": "(resumo de edición eliminado)", "rev-deleted-user": "(nome de usuario eliminado)", - "rev-deleted-event": "(entrada eliminada)", + "rev-deleted-event": "(detalles do rexistro eliminados)", "rev-deleted-user-contribs": "[nome de usuario ou enderezo IP eliminado; edición agochada das contribucións]", "rev-deleted-text-permission": "Esta revisión da páxina foi '''borrada'''.\nPode ampliar os detalles no [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rexistro de borrados].", "rev-suppressed-text-permission": "Esta revisión da páxina foi <strong>suprimida</strong>.\nPode ampliar os detalles no [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rexistro de supresións].", @@ -754,7 +756,7 @@ "revdelete-legend": "Aplicar restricións de visibilidade", "revdelete-hide-text": "Texto da revisión", "revdelete-hide-image": "Agochar o contido do ficheiro", - "revdelete-hide-name": "Agochar a acción e o destino", + "revdelete-hide-name": "Agochar destino e parámetros", "revdelete-hide-comment": "Resumo de edición", "revdelete-hide-user": "Nome de usuario ou enderezo IP do editor", "revdelete-hide-restricted": "Eliminar os datos da vista dos administradores así coma da doutros", @@ -2138,6 +2140,7 @@ "thumbnail-temp-create": "Non se puido crear o ficheiro de miniatura temporal", "thumbnail-dest-create": "Non se puido gardar a miniatura no destino", "thumbnail_invalid_params": "Parámetros de miniatura non válidos", + "thumbnail_toobigimagearea": "Ficheiro con dimensións maiores que $1", "thumbnail_dest_directory": "Non se puido crear o directorio de destino", "thumbnail_image-type": "Tipo de imaxe non soportado", "thumbnail_gd-library": "Configuración da libraría GD incompleta: Falta a función $1", @@ -2853,7 +2856,6 @@ "watchlisttools-edit": "Ver e editar a lista de vixilancia", "watchlisttools-raw": "Editar a lista de vixilancia simple", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|conversa]])", - "unknown_extension_tag": "Etiqueta de extensión descoñecida \"$1\"", "duplicate-defaultsort": "<strong>Aviso:</strong> A clave de ordenación por defecto \"$2\" anula a clave de ordenación anterior por defecto \"$1\".", "duplicate-displaytitle": "'''Aviso:''' O título mostrado \"$2\" anula o título anterior \"$1\".", "invalid-indicator-name": "<strong>Erro:</strong> O atributo <code>name</code> dos indicadores do estado da páxina non pode estar baleiro.", diff --git a/languages/i18n/he.json b/languages/i18n/he.json index b3157424f2..60b61b0791 100644 --- a/languages/i18n/he.json +++ b/languages/i18n/he.json @@ -243,6 +243,7 @@ "pool-queuefull": "התור מלא", "pool-errorunknown": "שגיאה בלתי ידועה", "pool-servererror": "שירות המנייה אינו זמין ($1).", + "poolcounter-usage-error": "שגיאת שימוש: $1", "aboutsite": "אודות {{SITENAME}}", "aboutpage": "Project:אודות", "copyright": "התוכן זמין לפי תנאי $1 אלא אם נאמר אחרת.", @@ -676,6 +677,8 @@ "content-model-text": "טקסט פשוט", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "אוביקט ריק", + "content-json-empty-array": "מערך ריק", "duplicate-args-category": "דפים שמשתמשים בפרמטרים כפולים בקריאות לתבניות", "duplicate-args-category-desc": "הדף מכיל קריאות לתבניות שמשתמשות בפרמטרים כפולים, כגון <code><nowiki>{{תאריך|יום=1|יום=2}}</nowiki></code> או <code><nowiki>{{שעה|חמש|1=שש}}</nowiki></code>.", "expensive-parserfunction-warning": "'''אזהרה:''' דף זה כולל יותר מדי קריאות לפונקציות מפענח שגוזלות משאבים.\n\nנדרש {{PLURAL:$2|שתהיה בו לכל היותר קריאה אחת|שתהיינה בו לכל היותר $2 קריאות}} לפונקציות כאלה, אך כרגע יש בו {{PLURAL:$1|קריאה אחת|$1 קריאות}}.", @@ -2936,7 +2939,6 @@ "hebrew-calendar-m11-gen": "באב", "hebrew-calendar-m12-gen": "באלול", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|שיחה]])", - "unknown_extension_tag": "תגית בלתי ידועה: \"$1\"", "duplicate-defaultsort": "'''אזהרה:''' המיון הרגיל \"$2\" דורס את המיון הרגיל המוקדם ממנו \"$1\".", "duplicate-displaytitle": "<strong>אזהרה:</strong> כותרת התצוגה \"$2\" דורסת את כותרת התצוגה הקודמת \"$1\".", "invalid-indicator-name": "<strong>שגיאה:</strong> התכונה <code>name</code> של מצייני מצב הדף אינה יכולה להיות ריקה.", diff --git a/languages/i18n/hr.json b/languages/i18n/hr.json index 8564527498..037e278a2d 100644 --- a/languages/i18n/hr.json +++ b/languages/i18n/hr.json @@ -829,6 +829,7 @@ "search-result-category-size": "{{PLURAL:$1|1 član|$1 člana|$1 članova}} ({{PLURAL:$2|1 potkategorija|$2 potkategorije|$2 potkategorija}}, {{PLURAL:$3|1 datoteka|$3 datoteke|$3 datoteka}})", "search-redirect": "(preusmjeravanje $1)", "search-section": "(odlomak $1)", + "search-category": "(kategorija $1)", "search-suggest": "Mislili ste: $1", "search-interwiki-caption": "Sestrinski projekti", "search-interwiki-default": "$1 rezultati:", @@ -847,6 +848,7 @@ "powersearch-remember": "Zapamti izbor za buduća pretraživanja", "search-external": "Vanjski pretraživač", "searchdisabled": "<p>Oprostite! Pretraga po cjelokupnoj bazi je zbog bržeg rada projekta {{SITENAME}} trenutačno onemogućena. Možete se poslužiti tražilicom Google.</p>", + "search-error": "GreÅ¡ka prilikom pretrage: $1", "preferences": "Postavke", "mypreferences": "Moje postavke", "prefs-edits": "Broj uređivanja:", @@ -1208,7 +1210,7 @@ "fileexists-extension": "Već postoji datoteka sa sličnim imenom: [[$2|thumb]]\n* Ime datoteke koju postavljate: <strong>[[:$1]]</strong>\n* Ime postojeće datoteke: <strong>[[:$2]]</strong>\nMolimo da izaberete drugo ime.", "fileexists-thumbnail-yes": "Datoteka je najvjerojatnije slika u smanjenoj veličini ''(thumbnail)''. [[$1|thumb]]\nMolimo provjerite datoteku <strong>[[:$1]]</strong>.\nUkoliko je ta datoteka ista kao i ova koju ste upravo pokuÅ¡ali snimiti, samo u viÅ¡oj rezoluciji, nije nužno snimanje smanjenje slike ''(thumbnaila)'', prikazivanje smanjene slike iz izvornika radi se softverski.", "file-thumbnail-no": "Ime datoteke počinje s <strong>$1</strong>.\nČini se da je to slika smanjene veličine ''(minijatura)''.\nUkoliko imate ovu sliku u punoj razlučljivosti (rezoluciji) postavite tu sliku, u protivnom, molimo promijenite ime datoteke.", - "fileexists-forbidden": "Datoteka s ovim imenom već postoji i nemože biti presnimljena.\nAko i dalje želite postaviti svoju datoteku, molimo vratite se i odaberite novo ime. [[File:$1|thumb|center|$1]]", + "fileexists-forbidden": "Datoteka s ovim imenom već postoji i ne može biti presnimljena.\nAko i dalje želite postaviti svoju datoteku, molimo vratite se i odaberite novo ime. [[File:$1|thumb|center|$1]]", "fileexists-shared-forbidden": "Datoteka s ovim imenom već postoji u srediÅ¡njem poslužitelju datoteka.\nAko joÅ¡ uvijek želite postaviti svoju datoteku, idite nazad i postavite ju pod drugim imenom. [[File:$1|thumb|center|$1]]", "file-exists-duplicate": "Ova datoteka je duplikat {{PLURAL:$1|sljedeće datoteke|sljedećih datoteka}}:", "file-deleted-duplicate": "Datoteka istovjetna ovoj datoteci ([[:$1]]) prethodno je obrisana. Provjerite evidenciju brisanja za tu datoteke datoteku prije nego Å¡to nastavite s ponovnim postavljanjem.", @@ -1723,9 +1725,10 @@ "protect-othertime": "Drugo vrijeme:", "protect-othertime-op": "drugo vrijeme", "protect-existing-expiry": "Postojeće vrijeme zaÅ¡tite: $3, $2", + "protect-existing-expiry-infinity": "trenutačno vrijeme zaÅ¡tićivanja: neograničeno", "protect-otherreason": "Drugi/dodatni razlog:", "protect-otherreason-op": "drugi/dodatni razlog", - "protect-dropdown": "*Najčešći razlozi zaÅ¡tićivanja\n** Učestalo vandaliziranje\n** Učestalo spamiranje\n** Neproduktivni uređivački rat\n** Zatrpavanje nedavnih promjena", + "protect-dropdown": "*Najčešći razlozi zaÅ¡tićivanja:\n** učestalo vandaliziranje\n** učestalo spamiranje\n** neproduktivni uređivački rat\n** zatrpavanje nedavnih promjena\n** često koriÅ¡ten/složen predložak\n** stranica za razgovor blokiranog suradnika", "protect-edit-reasonlist": "Uredi razloge zaÅ¡tićivanja", "protect-expiry-options": "1 sat:1 hour,1 dan:1 day,1 tjedan:1 week,2 tjedna:2 weeks,1 mjesec:1 month,3 mjeseca:3 months,6 mjeseci:6 months,1 godina:1 year,neograničeno:infinite", "restriction-type": "DopuÅ¡tenje:", @@ -2763,7 +2766,6 @@ "hebrew-calendar-m11-gen": "ava", "hebrew-calendar-m12-gen": "elula", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|razgovor]])", - "unknown_extension_tag": "Nepoznat ''tag'' ekstenzije \"$1\"", "duplicate-defaultsort": "'''Upozorenje:''' Razvrstavanje po \"$2\" poniÅ¡tava ranije razvrstavanje po \"$1\".", "version": "Inačica softvera", "version-extensions": "Instalirana proÅ¡irenja", diff --git a/languages/i18n/hu.json b/languages/i18n/hu.json index b6703cb490..35371f84b1 100644 --- a/languages/i18n/hu.json +++ b/languages/i18n/hu.json @@ -2788,7 +2788,6 @@ "watchlisttools-edit": "A figyelőlista megtekintése és szerkesztése", "watchlisttools-raw": "A nyers figyelőlista szerkesztése", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|vita]])", - "unknown_extension_tag": "Ismeretlen tag kiterjesztés: $1", "duplicate-defaultsort": "Figyelem: a(z) „$2” rendezőkulcs felülírja a korábbit („$1”).", "version": "Névjegy", "version-extensions": "Telepített kiterjesztések", diff --git a/languages/i18n/ia.json b/languages/i18n/ia.json index 26951bcbf8..eea95e9e22 100644 --- a/languages/i18n/ia.json +++ b/languages/i18n/ia.json @@ -562,6 +562,7 @@ "anoneditwarning": "<strong>Attention:</strong> Tu non ha aperite un session. Le adresse IP tue essera publicamente visibile si tu face modificationes. Si tu <strong>[$1 aperi un session]</strong> o <strong>[$2 crea un conto]</strong>, le modificationes essera attribuite al nomine de usator tue, inter altere avantages.", "anonpreviewwarning": "''Tu non ha aperite un session. Salveguardar registrara tu adresse IP in le historia de modificationes de iste pagina.''", "missingsummary": "'''Rememoration:''' Tu non ha specificate un summario del modification.\nSi tu clicca super \"{{int:savearticle}}\" de novo, le modification essera publicate sin summario.", + "selfredirect": "<strong>Attention:</strong> Tu redirige iste pagina verso se mesme.\nTu pote haber specificate le mal destination pro le redirection, o tu modifica forsan le mal pagina.\nSi tu clicca sur \"{{int:savearticle}}\" de novo, le redirection essera create in despecto de isto.", "missingcommenttext": "Per favor entra un commento infra.", "missingcommentheader": "'''Rememoration:''' Tu non ha specificate un subjecto/titulo pro iste commento.\nSi tu clicca super \"{{int:savearticle}}\" de novo, le modification essera publicate sin titulo.", "summary-preview": "Previsualisation del summario:", @@ -660,6 +661,8 @@ "content-model-text": "texto simple", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Objecto vacue", + "content-json-empty-array": "Array vacue", "duplicate-args-category": "Paginas que usa parametros duplicate in appellos de patrono", "duplicate-args-category-desc": "Le pagina contine appellos de patrono que usa duplicatos de parametros, como per exemplo <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> or <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "Attention: Iste pagina contine troppo de appellos costose al functiones del analysator syntactic.\n\nIllo debe haber minus de $2 {{PLURAL:$2|appello|appellos}}, sed al momento ha $1 {{PLURAL:$1|appello|appellos}}.", @@ -716,7 +719,7 @@ "history-feed-empty": "Le pagina que tu requestava non existe.\nEs possibile que illo esseva delite del wiki, o renominate.\nProva [[Special:Search|cercar nove paginas relevante]] in le wiki.", "rev-deleted-comment": "(summario del modification removite)", "rev-deleted-user": "(nomine de usator eliminate)", - "rev-deleted-event": "(entrata eliminate)", + "rev-deleted-event": "(detalios de registro removite)", "rev-deleted-user-contribs": "[nomine de usator o adresse IP removite - modification celate ab contributiones]", "rev-deleted-text-permission": "Iste version del pagina ha essite '''delite'''.\nEs possibile que se trova detalios in le [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de deletiones].", "rev-suppressed-text-permission": "Iste version del pagina ha essite <strong>supprimite</strong>.\nDetalios se trova in le [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de suppressiones].", @@ -750,7 +753,7 @@ "revdelete-legend": "Definir restrictiones de visibilitate", "revdelete-hide-text": "Texto del version", "revdelete-hide-image": "Celar le contento del file", - "revdelete-hide-name": "Celar action e objectivo", + "revdelete-hide-name": "Celar objectivo e parametros", "revdelete-hide-comment": "Summario del modification", "revdelete-hide-user": "Nomine de usator o adresse IP del modificator", "revdelete-hide-restricted": "Supprimer le datos a administratores assi como a alteres", @@ -2133,6 +2136,7 @@ "thumbnail-temp-create": "Impossibile crear un file temporari de miniatura", "thumbnail-dest-create": "Impossibile salveguardar le miniatura in su destination", "thumbnail_invalid_params": "Parametros de miniatura invalide", + "thumbnail_toobigimagearea": "File con dimensiones superior a $1", "thumbnail_dest_directory": "Impossibile crear directorio de destination", "thumbnail_image-type": "typo de imagine non supportate", "thumbnail_gd-library": "le configuration del bibliotheca GD es incomplete: manca le function $1", @@ -2835,7 +2839,6 @@ "watchlisttools-edit": "Vider e modificar le observatorio", "watchlisttools-raw": "Modificar observatorio crude", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discussion]])", - "unknown_extension_tag": "Etiquetta de extension incognite \"$1\"", "duplicate-defaultsort": "Attention: Le clave de ordination predefinite \"$2\" supplanta le anterior clave de ordination predefinite \"$1\".", "duplicate-displaytitle": "<strong>Attention:</strong> Le titulo a monstrar \"$2\" supplanta le ancian titulo a monstrar \"$1\".", "invalid-indicator-name": "<strong>Error:</strong> Le attributo <code>name</code> del indicatores del stato del pagina non pote esser vacue.", diff --git a/languages/i18n/it.json b/languages/i18n/it.json index 00faf9db89..c7ab41a3fa 100644 --- a/languages/i18n/it.json +++ b/languages/i18n/it.json @@ -77,7 +77,8 @@ "C.R.", "Elitre", "Laurentius", - "Macofe" + "Macofe", + "Ricordisamoa" ] }, "tog-underline": "Sottolinea i collegamenti:", @@ -726,6 +727,7 @@ "content-model-text": "testo normale", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Oggetto vuoto", "duplicate-args-category": "Pagine contenenti chiamate a template con parametri duplicati", "duplicate-args-category-desc": "La pagina contiene chiamate a template che utilizzano argomenti duplicati, come ad esempio <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> o <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "'''Attenzione:''' Questa pagina contiene troppe chiamate alle parser functions.\n\nDovrebbe averne meno di $2, al momento ce {{PLURAL:$1|n'è $1|ne sono $1}}.", @@ -782,7 +784,7 @@ "history-feed-empty": "La pagina richiesta non esiste; potrebbe essere stata cancellata dal sito o rinominata. Verificare con la [[Special:Search|pagina di ricerca]] se vi sono nuove pagine.", "rev-deleted-comment": "(Oggetto della modifica rimosso)", "rev-deleted-user": "(nome utente rimosso)", - "rev-deleted-event": "(azione del log rimossa)", + "rev-deleted-event": "(dettagli del registro rimossi)", "rev-deleted-user-contribs": "[nome utente o indirizzo IP rimosso - edit nascosto dalla cronologia]", "rev-deleted-text-permission": "Questa versione della pagina è stata '''cancellata'''.\nConsultare il [{{fullurl:{{#Special:Log}}/delete|page={{PAGENAMEE}}}} log delle cancellazioni] per ulteriori dettagli.", "rev-suppressed-text-permission": "Questa versione della pagina è stata '''soppressa'''.\nConsultare il [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log delle soppressioni] per ulteriori dettagli.", @@ -2930,7 +2932,6 @@ "hebrew-calendar-m10": "Tammuz", "hebrew-calendar-m10-gen": "Tammuz", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discussioni]])", - "unknown_extension_tag": "Tag estensione sconosciuto: \"$1\"", "duplicate-defaultsort": "Attenzione: la chiave di ordinamento predefinita \"$2\" sostituisce la precedente \"$1\".", "duplicate-displaytitle": "<strong>Attenzione:</strong> il titolo visualizzato \"$2\" sostituisce il precedente titolo \"$1\".", "invalid-indicator-name": "<strong>Errore:</strong> attributo <code>name</code> degli indicatori dello stato della pagina non può essere vuoto.", diff --git a/languages/i18n/ja.json b/languages/i18n/ja.json index f6184c070f..e5f79c79c3 100644 --- a/languages/i18n/ja.json +++ b/languages/i18n/ja.json @@ -61,7 +61,8 @@ "Rxy", "Mfuji", "Takot", - "SkyDaisy9" + "SkyDaisy9", + "Los688" ] }, "tog-underline": "リンクの下線:", @@ -89,7 +90,7 @@ "tog-shownumberswatching": "ページをウォッチしている利用者数を表示", "tog-oldsig": "既存の署名:", "tog-fancysig": "署名をウィキ文として扱う (自動リンクなし)", - "tog-uselivepreview": "ライブプレビューを使用 (開発中)", + "tog-uselivepreview": "ライブプレビューを使用", "tog-forceeditsummary": "要約欄が空欄の場合に確認を促す", "tog-watchlisthideown": "自分の編集をウォッチリストに表示しない", "tog-watchlisthidebots": "ボットによる編集をウォッチリストに表示しない", @@ -766,7 +767,7 @@ "history-feed-empty": "要求されたページは存在しません。\nこのウィキから既に削除されたか、名前が変更された可能性があります。\n[[Special:Search|このウィキの検索]]で関連する新しいページを探してみてください。", "rev-deleted-comment": "(要約は除去されています)", "rev-deleted-user": "(利用者名は除去されています)", - "rev-deleted-event": "(記録は除去されています)", + "rev-deleted-event": "(記録の詳細は除去されています)", "rev-deleted-user-contribs": "[利用者名またはIPアドレスは除去されました - その編集は投稿記録で非表示にされています]", "rev-deleted-text-permission": "この版は<strong>削除されています</strong>。\n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]に詳細情報があるかもしれません。", "rev-suppressed-text-permission": "この版は<strong>秘匿されています</strong>。[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 秘匿記録]に詳細情報があるかもしれません。", @@ -3016,7 +3017,6 @@ "hebrew-calendar-m11-gen": "アブ", "hebrew-calendar-m12-gen": "エルール", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|トーク]])", - "unknown_extension_tag": "不明な拡張機能タグ「$1」です", "duplicate-defaultsort": "<strong>警告:</strong> 既定のソートキー「$2」が、その前に書かれている既定のソートキー「$1」を上書きしています。", "duplicate-displaytitle": "<strong>警告:</strong> DISPLAYTITLE「$2」が、その前に書かれているDISPLAYTITLE「$1」を上書きしています。", "version": "バージョン情報", diff --git a/languages/i18n/kab.json b/languages/i18n/kab.json index 48dbf784ce..a801a36b22 100644 --- a/languages/i18n/kab.json +++ b/languages/i18n/kab.json @@ -10,7 +10,8 @@ "Salem333", "Teak", "Urhixidur", - "아라" + "아라", + "SalemB" ] }, "tog-underline": "Derrer izdayen:", @@ -125,7 +126,7 @@ "category_header": "Isebtar deg taggayt \"$1\"", "subcategories": "Adutaggayin", "category-media-header": "Media deg taggayt \"$1\"", - "category-empty": "''Taggayt-agi d tilemt.''", + "category-empty": "<em>Taggayt agi ur tesɛa asebtar, adu-taggayt neÉ£ afaylu agetmedia.</em>", "hidden-categories": "{{PLURAL:$1|Taggayt yeffren|Taggayin yeffren}}", "hidden-category-category": "Taggayin yeffren", "category-subcat-count": "Taggayt agi tesɛa {{PLURAL:$2|adu-taggayt|$2 adu-taggayin, É£ef ayed {{PLURAL:$1|t-agi|t-igi $1}}}} ddaw agi.", @@ -163,7 +164,7 @@ "errorpagetitle": "Agul", "returnto": "UÉ£al ar $1.", "tagline": "Seg {{SITENAME}}", - "help": "Tallat", + "help": "Tallalt", "search": "Nadi", "searchbutton": "Nadi", "go": "Ẓer", @@ -203,7 +204,7 @@ "imagepage": "Ẓer asebter n tugna", "mediawikipage": "Ẓer asebter n izen", "templatepage": "Ẓer asebter n talÉ£a", - "viewhelppage": "Ẓer asebter n tallat", + "viewhelppage": "Ẓer asebter n tallalt", "categorypage": "Ẓer asebter n taggayin", "viewtalkpage": "Ẓer amyannan", "otherlanguages": "S tutlayin tiyaḍ", @@ -227,7 +228,7 @@ "currentevents-url": "Project:Isallen", "disclaimers": "IÉ£talen", "disclaimerpage": "Project:IÉ£talen", - "edithelp": "Tallat deg ubeddel", + "edithelp": "Tallalt deg ubeddel", "mainpage": "Asebter amenzawi", "mainpage-description": "Asebter amenzawi", "policy-url": "Project:Ilugan", @@ -280,7 +281,7 @@ "nstab-image": "Afaylu", "nstab-mediawiki": "Izen", "nstab-template": "TalÉ£a", - "nstab-help": "Tallat", + "nstab-help": "Tallalt", "nstab-category": "Taggayt", "nosuchaction": "Tigawt ulac-itt", "nosuchactiontext": "Wiki ur teɛqil ara tigawt-nni n URL", @@ -553,7 +554,7 @@ "accmailtitle": "Awal n tbaḍnit yettwazen.", "accmailtext": "Awal n uɛaddi id yuran s ugacur i [[User talk:$1|$1]] yetweceggaɛ i $2.\nYezmer ad yetbeddel É£ef usebtar [[Special:ChangePassword|Abeddel n awal uɛddi]] sakin tuqqna.", "newarticle": "(Amaynut)", - "newarticletext": "Tḍefreḍ azday É£er usebter mazal ur yettwaxleq ara.\nAkken ad txelqeḍ asebter-nni, aru deg tenkult i tella deg ukessar\n(ẓer [$1 asebter n tallat] akken ad tessneḍ kter).\nMa tÉ£elá¹­eḍ, wekki kan É£ef tqeffalt \"Back/Précédent\" n browser/explorateur inek.", + "newarticletext": "Tḍefreḍ azday É£er usebter mazal ur yettwaxleq ara.\nAkken ad txelqeḍ asebter-nni, aru deg tenkult i tella deg ukessar\n(ẓer [$1 asebter n tallalt] akken ad tessneḍ kter).\nMa tÉ£elá¹­eḍ, wekki kan É£ef tqeffalt \"Back/Précédent\" n browser/explorateur inek.", "anontalkpagetext": "---- ''Wagi d asebter n umyennan n useqdac adrig, mazal ur d-yesnufa ara amiḍan. I taɣẓint agi, ilaq an seqdec tansa IP ines iwakken at-id n sulu. Yiwet tansa IP tezmer at tettuseqdac sÉ£ur aá¹­á¹­as n iseqdacen. Lukan ula d kečč aqla-k amseqdac adrig dÉ£a ur tebÉ£iḍ ara ad tettwabcreḍ izen am wigini, ihi [[Special:UserLogin/signup|snulfud amiḍan]] naÉ£ [[Special:UserLogin|qqened]] iwakken sya d asawen ur t-illint ara uguren n usulu.''", "noarticletext": "Ulac aḍris deg usebter-agi, tzemreḍ ad [[Special:Search/{{PAGENAME}}|tnadiḍ É£ef wezwel n usebter-agi]] deg isebtar wiyaḍ neÉ£ [{{fullurl:{{FULLPAGENAME}}|action=edit}} tettbeddileḍ asebter-agi].", "noarticletext-nopermission": "Imira ulac aḍris deg usebter agi.\nTzemreḍ [[Special:Search/{{PAGENAME}}|ad nadiḍ É£ef azwel agi]] deg isebtaren nniḍen,\nnaÉ£ <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|asebter={{FULLPAGENAMEE}}}} ad nadiḍ deg iÉ£misen iqqenen]</span>.", @@ -2124,7 +2125,7 @@ "tooltip-ca-nstab-image": "Ẓer asebter n tugna", "tooltip-ca-nstab-mediawiki": "Ẓer izen n system", "tooltip-ca-nstab-template": "Ẓer talÉ£a", - "tooltip-ca-nstab-help": "Ẓer asebter n tallat", + "tooltip-ca-nstab-help": "Ẓer asebter n tallalt", "tooltip-ca-nstab-category": "Ẓer asebter n taggayt", "tooltip-minoredit": "Wagi d abeddel afessas", "tooltip-save": "Smekti ibeddlen inek", @@ -2700,7 +2701,6 @@ "watchlisttools-edit": "Ẓer u beddel umuÉ£ n uɛessi", "watchlisttools-raw": "Beddel umuÉ£ n uɛessi (raw)", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|amyannan]])", - "unknown_extension_tag": "Ticṛeá¹­ n usiÉ£zef « $1 » warisem", "duplicate-defaultsort": "Ɣur-wet : tasarut n ufran m-ulac « $2 » atsefεej tasarut n uqbel « $1 ».", "version": "Lqem", "version-extensions": "IsiÉ£zaf i serkeben", diff --git a/languages/i18n/kk-cyrl.json b/languages/i18n/kk-cyrl.json index d3c969055f..ded517b263 100644 --- a/languages/i18n/kk-cyrl.json +++ b/languages/i18n/kk-cyrl.json @@ -532,7 +532,7 @@ "blankarticle": "<strong>Ескерту:</strong> Сіз бастамақшы болған бет бос.\nЕгер сіз «{{int:savearticle}}» дегенші қайта шертсеңіз бет қандайда бір мағлұматсыз басталады.", "anoneditwarning": "<strong> Ескерту:</strong> Сіз жүйеге кірмегенсіз.\nIP мекенжайыңыз бұл беттің өңделу тарихында жазылып алынады.", "anonpreviewwarning": "<em>Сіз жүйеге кірмегенсіз. IP мекенжайыңыз бұл беттің өңделу тарихында жазылып алынады.</em>", - "missingsummary": "<strong>Ескерту:</strong> Өңдеменің қысқаша түйіндемесін енгізбепсіз.\n«{{int:savearticle}}» батырмасын қайта бассаңыз өңденмеңіз түйіндемесіз сақталады.", + "missingsummary": "<strong>Ескерту:</strong> Өңдеменің қысқаша түйіндемесін енгізбепсіз.\n«{{int:savearticle}}» батырмасын қайта бассаңыз өңдемеңіз түйіндемесіз сақталады.", "missingcommenttext": "Пікіріңізді төменге енгізіңіз.", "missingcommentheader": "<strong>Ескерту:</strong> Бұл пікірге тақырыпы/бас жолы жазбапсыз.\n«{{int:savearticle}}» түймесін тағы бассаңыз өңдемеңіз түйіндемесіз сақталады.", "summary-preview": "Қысқаша түйіндемесін қарап шығу:", @@ -2004,6 +2004,7 @@ "tooltip-feed-atom": "Бұл беттің Atom арнасы", "tooltip-t-contributions": "Осы қатысушының үлестерінің тізімі", "tooltip-t-emailuser": "Осы қатысушыға хат жөнелту", + "tooltip-t-info": "Бұл бет туралы көбірек мәлімет", "tooltip-t-upload": "Файлдарды жүктеу", "tooltip-t-specialpages": "Барлық арнайы беттер тізімі", "tooltip-t-print": "Бұл беттің басып шығарышқа арналған нұсқасы", @@ -2566,7 +2567,6 @@ "hebrew-calendar-m11-gen": "абтың", "hebrew-calendar-m12-gen": "айлолдың", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|талқылауы]])", - "unknown_extension_tag": "Белгісіз кеңейтпе белгісі \"$1\"", "version": "Нұсқа", "version-extensions": "Орнатылған кеңейтімдер", "version-skins": "Орнатылған мәнерлер", diff --git a/languages/i18n/ko.json b/languages/i18n/ko.json index 8cb30abc07..8652aa172b 100644 --- a/languages/i18n/ko.json +++ b/languages/i18n/ko.json @@ -70,7 +70,7 @@ "tog-shownumberswatching": "주시하는 사용자 수 보이기", "tog-oldsig": "현재 서명:", "tog-fancysig": "서명을 위키텍스트로 취급 (자동으로 링크를 걸지 않음)", - "tog-uselivepreview": "실시간 미리 보기 사용하기 (실험 기능)", + "tog-uselivepreview": "실시간 미리 보기 사용하기", "tog-forceeditsummary": "편집 요약을 쓰지 않았을 때 알려주기", "tog-watchlisthideown": "주시문서 목록에서 내 편집을 숨기기", "tog-watchlisthidebots": "주시문서 목록에서 봇 편집을 숨기기", @@ -590,6 +590,7 @@ "anoneditwarning": "<strong>경고:</strong> 로그인하고 있지 않습니다. 편집하면 당신의 IP 주소가 공개적으로 보여집니다. <strong>[$1 로그인]</strong>하거나 <strong>[$2 계정을 만들면]</strong>, 당신의 편집에 다른 이익과 함께, 사용자 이름이 표시됩니다.", "anonpreviewwarning": "<em>로그인하고 있지 않습니다. 문서를 저장하면 당신의 IP 주소가 문서의 편집 역사에 남게 됩니다.</em>", "missingsummary": "'''알림:''' 편집 요약을 적지 않았습니다.\n이대로 \"{{int:savearticle}}\"을 클릭하면 편집 요약 없이 저장됩니다.", + "selfredirect": "<strong>경고:</strong> 자기 자신으로 문서를 넘겨주고 있습니다.\n넘겨줄 대상을 잘못 입력했거나, 잘못된 문서를 편집하고 있을 수 있습니다.\n\"{{int:savearticle}}\"을 입력하면, 넘겨주기 문서가 생성될 것입니다.", "missingcommenttext": "아래에 내용을 채워 넣어 주세요.", "missingcommentheader": "'''알림:''' 글의 제목을 입력하지 않았습니다.\n다시 \"{{int:savearticle}}\" 버튼을 클릭하면 글이 제목 없이 저장됩니다.", "summary-preview": "요약 미리 보기:", @@ -688,6 +689,8 @@ "content-model-text": "일반 텍스트", "content-model-javascript": "자바스크립트", "content-model-css": "CSS", + "content-json-empty-object": "빈 오브젝트", + "content-json-empty-array": "빈 배열", "duplicate-args-category": "중복된 인수를 사용한 틀의 호출을 포함한 문서", "duplicate-args-category-desc": "문서에 <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code>나 <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>와 같은, 인수를 중복하여 사용한 틀 호출을 포함합니다.", "expensive-parserfunction-warning": "'''경고:''' 이 문서는 너무 많은 파서 함수를 포함하고 있습니다.\n\n$2개 보다 적게 {{PLURAL:$2|써야}} 하지만 {{PLURAL:$1|지금은 $1개를 쓰고 있습니다}}.", @@ -744,7 +747,7 @@ "history-feed-empty": "요청한 문서가 존재하지 않습니다.\n해당 문서가 삭제되었거나, 문서 이름이 바뀌었을 수 있습니다.\n[[Special:Search|위키의 검색]]을 사용해 관련 문서를 찾아보세요.", "rev-deleted-comment": "(편집 요약 삭제됨)", "rev-deleted-user": "(사용자 이름 삭제됨)", - "rev-deleted-event": "(기록 동작이 제거됨)", + "rev-deleted-event": "(기록 정보가 제거됨)", "rev-deleted-user-contribs": "[사용자 이름 또는 IP 주소 삭제됨 - 기여 목록에서 편집이 숨겨짐]", "rev-deleted-text-permission": "이 문서의 판은 <strong>삭제되어</strong> 있습니다.\n자세한 내용은 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 삭제 기록]에서 찾을 수 있습니다.", "rev-suppressed-text-permission": "이 문서의 판은 <strong>숨겨져</strong> 있습니다.\n자세한 내용은 [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 숨김 기록]에서 찾을 수 있습니다.", @@ -778,7 +781,7 @@ "revdelete-legend": "보이기 제한을 설정", "revdelete-hide-text": "판 문자열", "revdelete-hide-image": "파일을 숨기기", - "revdelete-hide-name": "명령 내용과 대상을 숨기기", + "revdelete-hide-name": "명령 내용과 변수를 숨기기", "revdelete-hide-comment": "편집 요약", "revdelete-hide-user": "편집자의 사용자 이름/IP 주소", "revdelete-hide-restricted": "관리자도 보지 못하게 숨기기", @@ -1082,6 +1085,7 @@ "right-protect": "보호 수준 바꾸기 및 연쇄 보호된 문서 편집", "right-editprotected": "\"{{int:protect-level-sysop}}\"로 보호된 문서 편집", "right-editsemiprotected": "\"{{int:protect-level-autoconfirmed}}\"로 보호된 문서 편집", + "right-editcontentmodel": "문서의 콘텐츠 모델을 편집", "right-editinterface": "사용자 인터페이스를 편집", "right-editusercssjs": "다른 사용자의 CSS와 자바스크립트 문서를 편집", "right-editusercss": "다른 사용자의 CSS 문서를 편집", @@ -1154,6 +1158,7 @@ "action-viewmywatchlist": "내 주시문서 목록 보기", "action-viewmyprivateinfo": "내 개인 정보 보기", "action-editmyprivateinfo": "내 개인 정보 편집", + "action-editcontentmodel": "문서의 콘텐츠 모델을 편집", "nchanges": "$1개 {{PLURAL:$1|바뀜}}", "enhancedrc-since-last-visit": "{{PLURAL:$1|마지막 방문 이후}} $1개", "enhancedrc-history": "역사", @@ -2164,6 +2169,7 @@ "thumbnail-temp-create": "임시 섬네일 파일을 만들 수 없습니다", "thumbnail-dest-create": "대상 경로에 섬네일을 저장할 수 없습니다.", "thumbnail_invalid_params": "섬네일 변수가 잘못되었습니다", + "thumbnail_toobigimagearea": "$1 이상의 파일 용량", "thumbnail_dest_directory": "새 목적 디렉터리를 만들 수 없습니다.", "thumbnail_image-type": "그림 형식이 지원되지 않습니다", "thumbnail_gd-library": "GD 라이브러리 설정이 잘못되었습니다: $1 함수를 찾을 수 없습니다.", @@ -2884,7 +2890,6 @@ "watchlisttools-edit": "주시문서 목록 보기/편집하기", "watchlisttools-raw": "주시문서 목록 직접 편집하기", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|토론]])", - "unknown_extension_tag": "알 수 없는 확장 기능 태그 \"$1\"", "duplicate-defaultsort": "'''경고:''' 기본 정렬 키 \"$2\"가 이전의 기본 정렬 키 \"$1\"를 덮어쓰고 있습니다.", "duplicate-displaytitle": "<strong>경고:</strong> \"$2\" 제목 표시는 기존의 표시되는 제목 \"$1\"을 덮어씁니다.", "invalid-indicator-name": "<strong>오류:</strong> 문서 상태 표시기의 <code>name</code> 특성은 비어 있지 않아야 합니다.", @@ -3104,6 +3109,7 @@ "api-error-stashfailed": "내부 오류: 서버가 임시 파일을 저장하지 못했습니다.", "api-error-publishfailed": "내부 오류: 서버가 임시 파일을 게시하지 못했습니다.", "api-error-stasherror": "파일을 안전한 곳으로 업로드 하는 동안 오류가 발생했습니다.", + "api-error-stashzerolength": "서버는 파일을 저장하지 못했는데, 파일의 용량이 0이기 때문입니다.", "api-error-stashnotloggedin": "파일을 업로드하기 위해 로그인이 필요합니다.", "api-error-timeout": "서버가 제 시간 내에 응답하지 않았습니다.", "api-error-unclassified": "알 수 없는 오류가 발생했습니다.", @@ -3159,8 +3165,8 @@ "log-name-pagelang": "언어 바꾸기 기록", "log-description-pagelang": "문서 언어를 바꾼 기록입니다.", "logentry-pagelang-pagelang": "$1 사용자가 $3의 문서 언어를 $4에서 $5로 {{GENDER:$2|바꾸었습니다}}.", - "default-skin-not-found": "이런! 당신의 위키에 <code dir=\"ltr\">$wgDefaultSkin</code>에 <code>$1</code>(으)로 지정한 기본 스킨은 사용할 수 없습니다.\n\n설치에는 다음 스킨이 포함된 것으로 보입니다. 스킨을 활성화하고 기본값으로 선택하는 방법에 대한 정보에 대해서는 [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: 스킨 설정]을 보세요.\n\n$2\n\n; 미디어위키를 설치했다면:\n: 아마 git에서 설치했거나, 어떤 다른 방법을 사용하여 직접 설치했을 수 있을 것으로 봅니다. [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org의 스킨 디렉터리]에서 어떤 스킨을 설치해보세요:\n:* 여러 스킨과 확장 기능이 들어 있는 [https://www.mediawiki.org/wiki/Download tarball 설치 프로그램]을 다운로드하세요. 거기서 <code>skins/</code> 디렉터리를 복사하여 붙여 넣을 수 있습니다.\n:* 미디어위키 설치의 <code dir=\"ltr\">skins/</code> 디렉터리 안에 git를 통해 <code>mediawiki/skins/*</code> 저장소 중 하나를 복제하세요.\n: 당신이 미디어위키 개발자이면 당신의 git 저장소를 방해하면 안됩니다.\n\n; 미디어위키를 업그레이드했다면:\n: 미디어위키 1.24와 새 버전은 더 이상 설치된 스킨을 자동으로 활성화하지 않습니다 ([https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: 스킨 자동발견]을 보세요). 현재 설치된 스킨을 모두 활성화하려면 <code>LocalSettings.php</code> 안에 다음 줄을 붙여 넣을 수 있습니다:\n\n<pre dir=\"ltr\">$3</pre>\n\n; <code>LocalSettings.php</code>를 수정했다면:\n: 스킨 이름에 오타가 났는지 다시 확인하세요.", - "default-skin-not-found-no-skins": "이런! 당신의 위키에 <code dir=\"ltr\">$wgDefaultSkin</code>에 <code>$1</code>(으)로 지정한 기본 스킨은 사용할 수 없습니다.\n\n설치된 스킨은 없습니다.\n\n; 미디어위키를 설치했거나 업그레이드했다면:\n: 아마 git에서 설치했거나, 어떤 다른 방법을 사용하여 직접 설치했을 수 있을 것으로 봅니다. 미디어위키 1.24와 새 버전은 주 저장소에 어떠한 스킨도 포함되어 있지 않습니다. [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org의 스킨 디렉터리]에서 어떤 스킨을 설치해보세요:\n:* 여러 스킨과 확장 기능이 들어 있는 [https://www.mediawiki.org/wiki/Download tarball 설치 프로그램]을 다운로드하세요. 거기서 <code>skins/</code> 디렉터리를 복사하여 붙여 넣을 수 있습니다.\n:* 미디어위키 설치의 <code dir=\"ltr\">skins/</code> 디렉터리 안에 git를 통해 <code>mediawiki/skins/*</code> 저장소 중 하나를 복제하세요.\n: 당신이 미디어위키 개발자이면 당신의 git 저장소를 방해하면 안됩니다. 스킨을 활성화하고 기본값으로 선택하는 방법에 대한 정보에 대해서는 [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: 스킨 설정]을 보세요.", + "default-skin-not-found": "이런! 당신의 위키에 <code dir=\"ltr\">$wgDefaultSkin</code>에 <code>$1</code>(으)로 지정한 기본 스킨은 사용할 수 없습니다.\n\n설치에는 다음 스킨이 포함된 것으로 보입니다. 스킨을 활성화하고 기본값으로 선택하는 방법에 대한 정보에 대해서는 [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: 스킨 설정]을 보세요.\n\n$2\n\n; 미디어위키를 설치했다면:\n: 아마 git에서 설치했거나, 어떤 다른 방법을 사용하여 직접 설치했을 수 있을 것으로 봅니다. [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org의 스킨 디렉터리]에서 어떤 스킨을 설치해보세요:\n:* 여러 스킨과 확장 기능이 들어 있는 [https://www.mediawiki.org/wiki/Download tarball 설치 관리자]를 다운로드하세요. 거기서 <code>skins/</code> 디렉터리를 복사하여 붙여 넣을 수 있습니다.\n:* [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org]에서 개별 스킨 tarball을 다운로드하세요.\n:* 미디어위키 설치의 <code dir=\"ltr\">skins/</code> 디렉터리 안에 git를 통해 <code>mediawiki/skins/*</code> 저장소 중 하나를 복제하세요.\n: 당신이 미디어위키 개발자이면 당신의 git 저장소를 방해하면 안됩니다.\n\n; 미디어위키를 업그레이드했다면:\n: 미디어위키 1.24와 새 버전은 더 이상 설치된 스킨을 자동으로 활성화하지 않습니다 ([https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: 스킨 자동발견]을 보세요). 현재 설치된 스킨을 모두 활성화하려면 <code>LocalSettings.php</code> 안에 다음 줄을 붙여 넣을 수 있습니다:\n\n<pre dir=\"ltr\">$3</pre>\n\n; <code>LocalSettings.php</code>를 수정했다면:\n: 스킨 이름에 오타가 났는지 다시 확인하세요.", + "default-skin-not-found-no-skins": "이런! 당신의 위키에 <code dir=\"ltr\">$wgDefaultSkin</code>에 <code>$1</code>(으)로 지정한 기본 스킨은 사용할 수 없습니다.\n\n설치된 스킨은 없습니다.\n\n; 미디어위키를 설치했거나 업그레이드했다면:\n: 아마 git에서 설치했거나, 어떤 다른 방법을 사용하여 직접 설치했을 수 있을 것으로 봅니다. 미디어위키 1.24와 새 버전은 주 저장소에 어떠한 스킨도 포함되어 있지 않습니다. [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org의 스킨 디렉터리]에서 어떤 스킨을 설치해보세요:\n:* 여러 스킨과 확장 기능이 들어 있는 [https://www.mediawiki.org/wiki/Download tarball 설치 관리자]를 다운로드하세요. 거기서 <code>skins/</code> 디렉터리를 복사하여 붙여 넣을 수 있습니다.\n:* [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org]에서 개별 스킨 tarball을 다운로드하세요.\n:* 미디어위키 설치의 <code dir=\"ltr\">skins/</code> 디렉터리 안에 git를 통해 <code>mediawiki/skins/*</code> 저장소 중 하나를 복제하세요.\n: 당신이 미디어위키 개발자이면 당신의 git 저장소를 방해하면 안됩니다. 스킨을 활성화하고 기본값으로 선택하는 방법에 대한 정보에 대해서는 [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: 스킨 설정]을 보세요.", "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (활성화)", "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 ('''비활성화''')", "mediastatistics": "미디어 통계", diff --git a/languages/i18n/lb.json b/languages/i18n/lb.json index 282de5105a..6c49d0b7f1 100644 --- a/languages/i18n/lb.json +++ b/languages/i18n/lb.json @@ -230,6 +230,7 @@ "pool-timeout": "Timeout bis d'Spär opgehuewen ass", "pool-queuefull": "Pool-Queue ass voll", "pool-errorunknown": "Onbekannte Feeler", + "poolcounter-usage-error": "Benotzungsfeeler: $1", "aboutsite": "Iwwer {{SITENAME}}", "aboutpage": "Project:Iwwer", "copyright": "Den Inhalt ass ënner $1 disponibel wann et net anescht uginn ass.", @@ -560,7 +561,7 @@ "anoneditwarning": "<strong>Opgepasst:</strong> Dir sidd net ageloggt. Dowéinst gëtt amplaz vun engem Benotzernumm Är IP Adress ëffentlech gewise wann Dir Ännerunge maacht. Wann Dir <strong>[$1 Iech aloggt]</strong> oder <strong>[$2 e Bnotzerkont opmaachen]</strong>, Är Ännerunge ginn dann Ärem Benotzerkont zougedeelt, genee wéi aner Avantagen.", "anonpreviewwarning": "''Dir sidd net ageloggt. Wann Dir ofspäichert gëtt Är IP-Adress an der Lëscht vun de Versioune vun dëser Säit enregistréiert.''", "missingsummary": "'''Erënnerung:''' Dir hutt kee Resumé aginn.\nWann Dir nacheemol op \"{{int:savearticle}}\" klickt, gëtt Är Ännerung ouni Resumé ofgespäichert.", - "selfredirect": "<strong>Opgepasst:</strong> Dir maacht eng Viruleedung op deeselwechten Artikel.\nWann Dir nach eng Kéier op \"{{int:savearticle}}\" klickt, da gëtt d'Viruleedung ugeluecht.", + "selfredirect": "<strong>Opgepasst:</strong> Dir maacht eng Viruleedung vun dëser Aäit op sech selwer.\n\nEt ka sinn datt Dir déi falsch Zilsäit fir d'Viruleedung aginn hutt oder datt Dir déi falsch Säit ännert.\n\nWann Dir nach eng Kéier op \"{{int:savearticle}}\" klickt, da gëtt d'Viruleedung trotzdem ugeluecht.", "missingcommenttext": "Gitt w.e.g. eng Bemierkung an.", "missingcommentheader": "'''Denkt drun:''' Dir hutt keen Titel/Sujet fir dës Bemierkung aginn.\nWann Dir nach en Kéier op \"{{int:savearticle}}\" klickt da gëtt Är Ännerung ouni Titel gespäichert.", "summary-preview": "Resumé kucken ouni ofzespäicheren:", @@ -659,6 +660,7 @@ "content-model-text": "Kloertext", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Eidelen Objet", "expensive-parserfunction-warning": "'''Opgepasst:'' Dës Säit huet ze vill Ufroe vu komplexe Parserfunktiounen.\n\nEt däerfen net méi wéi $2 {{PLURAL:$2|Ufro|Ufroe}} sinn, aktuell {{PLURAL:$2|ass et $1 Ufro|sinn et $1 Ufroe}}.", "expensive-parserfunction-category": "Säiten, déi komplex Parserfunktiounen ze dacks opruffen", "post-expand-template-inclusion-warning": "Opgepasst: D'Gréisst vun den agebonnene Schablounen ass ze grouss, e puer Schabloune kënnen net agebonne ginn.", @@ -707,7 +709,7 @@ "history-feed-empty": "Déi ugefrote Säit gëtt et net.\nVläicht gouf se geläscht oder geréckelt.\n[[Special:Search|Sicht]] op {{SITENAME}} no relevanten neie Säiten.", "rev-deleted-comment": "(Resumé vun der Ännerung ewechgeholl)", "rev-deleted-user": "(Benotzernumm ewechgeholl)", - "rev-deleted-event": "(Aktioun aus dem Logbuch erausgeholl)", + "rev-deleted-event": "(Detailer aus dem Logbuch erausgeholl)", "rev-deleted-user-contribs": "[Benotzernumm oder IP-Adress ewechgeholl - Ännerung an der Lescht vun de Kontributioune verstoppt]", "rev-deleted-text-permission": "Dës Versioun vun der Säit gouf '''geläscht'''.\nDir fannt eventuell méi Informatiounen an der [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Läsch-Logbuch].", "rev-suppressed-text-permission": "Dës Versioun vun der Säit gouf <strong>geläscht</strong>..\nDetailer fannt Dir am [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Läsch-Logbuch].", @@ -740,7 +742,7 @@ "revdelete-legend": "Limitatioune fir d'Sichtbarkeet festleeën", "revdelete-hide-text": "Text vun der Versioun", "revdelete-hide-image": "Bildinhalt verstoppen", - "revdelete-hide-name": "Logbuch-Aktioun verstoppen", + "revdelete-hide-name": "Zil a Parametere verstoppen", "revdelete-hide-comment": "Resumé vun der Ännerung", "revdelete-hide-user": "Dem Auteur säi Benotzernumm/IP-Adress", "revdelete-hide-restricted": "Donnéeën och fir Administrateuren suppriméieren geneesou wéi fir déi Aner", @@ -2800,7 +2802,6 @@ "watchlisttools-edit": "Iwwerwaachungslëscht weisen an änneren", "watchlisttools-raw": "Net-formatéiert Iwwerwaachungslëscht änneren", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|Diskussioun]])", - "unknown_extension_tag": "Onbekannten Erweiderungs-Tag \"$1\"", "duplicate-defaultsort": "'''Opgepasst:''' Den Zortéierschlëssel \"$2\" iwwerschreift de virege Standard-Zortéierschlëssel \"$1\".", "duplicate-displaytitle": "<strong>Opgepasst:</strong> Den Titel dee gewise gëtt \"$2\" iwwerschreift deen Titel dee virdru gewise gouf \"$1\".", "version": "Versioun", diff --git a/languages/i18n/lrc.json b/languages/i18n/lrc.json index 8a1418547d..fe6ae4c1fd 100644 --- a/languages/i18n/lrc.json +++ b/languages/i18n/lrc.json @@ -126,12 +126,12 @@ "category-subcat-count-limited": "ای دسه وا دم {{جمی:$1|زیردسه|$1زیردسه یا}} بوئه", "category-article-count": "{{جمی:$2|ای دسه ده ور گرته بلگه نهاییه .| {{جمی:$1| بلگه هئ|$1 بلگیا هئن}} د ای دسه, وه در $2 کل.}}", "category-article-count-limited": "نها {{جمی:$1|بلگه هئ|$1بلگیا هئن}} د دسه ایسنی .", - "category-file-count": "{{جمی:$2|ای دسه فقط شامل فایل نهایی هئ file.| نهایی {{جمی:$1|فایل هئ|$1 فایلیا هئن}} د ای دسه, وه در د کل $2 .}}", + "category-file-count": "{{جمی:$2|ای دسه فقط شامل جانیا نهایی هئ file.| نهایی {{جمی:$1|جانیا هئ|$1 جانیایا هئن}} د ای دسه, وه در د کل $2 .}}", "category-file-count-limited": " {{جمی:$1|[جانیا هئ|1$جانیایا هئن}}نهایی هان د دسه ایسنی.", "listingcontinuesabbrev": "دماله", "index-category": "بلگيا سيائه دار", "noindex-category": "بلگيا بی سيائه", - "broken-file-category": "بلگیایی که هوم پیوند فایلیا اشکسه دارن", + "broken-file-category": "بلگیایی که هوم پیوند جانیایا اشکسه دارن", "categoryviewer-pagedlinks": "($1) ($2)", "about": "دباره", "article": "مینونه بلگه", @@ -166,9 +166,9 @@ "history": "ويرگار بلگه", "history_short": "ويرگار", "updatedmarker": "د آخرین دیئن مه وه هنگوم سازی کو", - "printableversion": "نسقه چاپ بيئنی", + "printableversion": "نسقه پلا بيئنی", "permalink": "هوم پیوند هميشئی", - "print": "چاپ كردن", + "print": "پلا كردن", "view": "ديئن", "view-foreign": "د $1 نه بوینیت", "edit": "ويرايشت", @@ -177,7 +177,7 @@ "create-local": "یه گل توضیح ولات نشینی اضاف بکیتو", "editthispage": "ويرايشت ای بلگه", "create-this-page": "راس كردن ای بلگه", - "delete": "حذف كردن", + "delete": "پاکسا كردن", "deletethispage": "ای بلگه نه پاکسا بكيد", "undeletethispage": "ای بلگه نه پاکسا نكيد", "undelete_short": "زنه کردن {{جمی:$1|یه گل ویرایشت|$1 ویرایشتیا}}", @@ -220,6 +220,7 @@ "pool-queuefull": "اماییه کاری گی گرتن پر بیه", "pool-errorunknown": "خطا نادیار", "pool-servererror": "پول سنتر خذمتگه د دسرس نئ($1).", + "poolcounter-usage-error": "خطار وه کار گرتن:$1", "aboutsite": "دباره {{SITENAME}}", "aboutpage": "پروجه:دباره", "copyright": "مینونه د دسرس هئ سی $1 مر وه شلک هنی نوشته بوئه", @@ -234,7 +235,7 @@ "policy-url": "پروجه:خط و مش", "portal": "درآسونه کومله یکی", "portal-url": "پروجه:سرآسونه کومله یکی", - "privacy": "رهبرد رازداری", + "privacy": "پولتیک رازینه داری", "privacypage": "پروجه: خط مشی رازینه کاری کردن", "badaccess": "خطا :صلاداری کو", "badaccess-group0": "شما صلا انجوم کاری که حاستیت نارین", @@ -245,11 +246,11 @@ "pagetitle": "$1 - {{SITENAME}}", "pagetitle-view-mainpage": "{{SITENAME}}", "backlinksubtitle": "← $1", - "retrievedfrom": "بازيافته د\"$1\"", + "retrievedfrom": "د نو زنه بیه د\"$1\"", "youhavenewmessages": "شما داريت $1($2)", "youhavenewmessagesfromusers": "{{جمی:$4|شما }} $1 د {{جمی:$3|کاریار هنی|$3 کاریاریا}}داریتو($2).", "youhavenewmessagesmanyusers": "شما $1 د فره کاریار داريت ($2).", - "newmessageslinkplural": "{{جمی:$1|یه گل پیغوم تازه|999=پیغوم ئل تازه}}", + "newmessageslinkplural": "{{جمی:$1|یه گل پیغوم تازه|999=پیغومیا تازه}}", "newmessagesdifflinkplural": "آخر {{جمی:$1|آلشت|آلشتیا}}", "youhavenewmessagesmulti": "شما یه گل پیغوم تازه د $1 داریتو", "editsection": "ويرايشت", @@ -269,7 +270,7 @@ "thisisdeleted": "دیئن یا ورگنين $1?", "viewdeleted": "دیئن$1?", "restorelink": "{{جمی:$1|یه گل ویرایشت پاک بیه|$1 ویرایشتیا پاک بیه}}", - "feedlinks": "خورحو:", + "feedlinks": "هوال حون:", "feed-invalid": "نوع مشترک بین هوال حون نامعتور", "feed-unavailable": "هوال حونیا د دسرس نئین", "site-rss-feed": "هوال حون RSS سی $1", @@ -291,41 +292,41 @@ "nstab-template": "چوئه", "nstab-help": "بلگه هومياری", "nstab-category": "دسه", - "nosuchaction": "چنو كاری وجود ناره", + "nosuchaction": "چنی کنشتگری وجود ناره", "nosuchactiontext": "کاری که وا یو آر ال مشقص بیه معتور نئ.\nشایت شما یو آر ال نه دروس ننشتیته، یا یه گل هوم پیوند نادرست وارد بیه.\nوه شاید وه یه گل سیسریک د نرم افزار وه کار گرته بیه وا {{نوم مالگه}} هشاره داشتوه.", - "nosuchspecialpage": "چنو بلگه خاصی وجود ناره", + "nosuchspecialpage": "چنی بلگه خاصی وجود ناره", "nospecialpagetext": "<strong>شما سی یه گل بلگه نامعتور درحاست داشتیته.</strong>\nیه گل نوم گه سی اعتوار بلگه یا بوئه د [[ویجه:بلگه یا ویجه|{{رقم:بلگه یا ویجه}}]] پیدا با.", "error": "خطا", "databaseerror": "خطا د جاگه دونسمنيا", - "databaseerror-text": "یه خطا جست کردن د پایگا داده پیش اوما.یه ممکنه یه در کار ونن د نرم اوزار پیش بیاره", + "databaseerror-text": "یه خطا جست کردن د رسینه جا پیش اوما.یه ممکنه یه در کار ونن د نرم اوزار پیش بیاره", "databaseerror-textcl": "خطاجست گرتن رسینه جا دونسمنيا پيشومد كرده", "databaseerror-query": "نوم گشتن: $1", - "databaseerror-function": "تابع:$1", + "databaseerror-function": "آلشت ون:$1", "databaseerror-error": "خطا: $1", "laggedslavemode": "زنهار:بلگه شايت د ور گرینه وه هنگوم سازی تازه باو نبوئه", "readonly": "جاگه دونسمنيا بسه بيه", - "enterlockreason": "دلیل قلف کردن نه بنیست،یه وختی سی وا کردن قلف د ویر داشتویت.", - "readonlytext": "پایگا دونسمنیا ایسه سی دئن ورودی یا تازه یا آلشتگریا هنی قلف بیه،شایت سی منن معمولی پایگا دونسمنی نها وه که ورئرده وه حالت عادیش.\nمدیری که ونه قلف کرده ونه گوته:$1", - "missing-article": "پاگا دونمسمنی نتونه بلگه ای با پیدا بکه بجوره.که نومش $1 و $2 هئ.\nمعمولند یه سی یه که فرخ ویرگار رئته دش بیه پاک بیه.", - "missingarticle-rev": "(دوواره ديئن#: $1)", + "enterlockreason": "دلیل قلف کردن نه بنیست،یه گاتی سی وا کردن قلف د ویر داشتویت.", + "readonlytext": "رسینه جا ایسه سی دئن ورودی یا تازه یا آلشتگریا هنی قلف بیه،شایت سی منن معمولی رسینه جانها وه که ورئرده وه حال و بال عادیش.\nدیوونداری که ونه قلف کرده ونه گوته:$1", + "missing-article": "رسینه جا نتونه بلگه ای با پیدا بکه بجوره.که نومش $1 و $2 هئ.\nمعمولند یه سی یه که فرخ ویرگار رئته دش بیه پاک بیه.", + "missingarticle-rev": "(وانئری#: $1)", "missingarticle-diff": "(فرخ: $1، $2)", - "readonly_lag": "ای پاگا دونسمنی قلف بیه تا اوسه که سرور پایگا دونسمنیا وه مینجاون برسه.", + "readonly_lag": "ای رسینه جا قلف بیه تا اوسه که سرور رسینه جا وه مینجاون برسه.", "internalerror": "خطا داخلی", "internalerror_info": "خطا داخلی:$1", - "filecopyerror": "نبوئه فایل $1 د $2 کپی بوئه", - "filerenameerror": "نبوئه فایل $1 د $2 نوم آلشت بوئه", - "filedeleteerror": "نبوئه فایل $1 پاک بوئه", + "filecopyerror": "نبوئه جانیا $1 د $2 ورداشته بوئه", + "filerenameerror": "نبوئه جانیا $1 د $2 نوم آلشت بوئه", + "filedeleteerror": "نبوئه جانیا $1 پاکسا بوئه", "directorycreateerror": "نبوئه سردسه $1 راس بوئه.", - "filenotfound": "نتونیت فایل $1 پیدا بکید", + "filenotfound": "نتونیت جانیا $1 نه پیدا بکید", "unexpected": "ارزایشت ناحاسته: \"$1\"=\"$2\".", - "formerror": "خطا:نبوئه فرم وه مو بئيت", + "formerror": "خطا:نبوئه نوم بلگه وه مو بئيت", "badarticleerror": "ای انجوم دئنی د ای بلگه انجوم نگره.", - "cannotdelete": "بلگه یا فایل$1 نبوئه پاک با.\nشایت یه ایسه وا کسی هنی پاک بیه.", - "cannotdelete-title": "نبوئه بلگه $1 حذف بو", - "delete-hook-aborted": "پاک بیئن وا قلاو جلوگری بیه.\nهیچ توضیئ سیش نئ.", - "no-null-revision": "سی بلگه$1 دوواره خنثی دیئن راس بکید", - "badtitle": "موضو گن", - "badtitletext": "عنوان بلگه حاسته بیه معتور نی،یا یه گل مئن زونی یا مئن ویکی عنوان غلطه.\nیه شایت شومل یکی با یا بیشتر کاراکتریا نبوئه سی ای موضوعیا استفاده بوئن", + "cannotdelete": "بلگه یا جانیا $1 نبوئه پاکسا با.\nشایت یه ایسه وا کسی هنی پاکسابیه.", + "cannotdelete-title": "نبوئه بلگه $1 پاکسا بو", + "delete-hook-aborted": "پاکسا بیئن وا قلاو نهاگری بیه.\nهیچ توضیئ سیش نئ.", + "no-null-revision": "سی بلگه$1 وانئری خنثی نه راس بکید", + "badtitle": "داسون گن", + "badtitletext": "داسون بلگه حاسته بیه معتور نی،یا یه گل مئن زونی یا مئن ویکی داسون غلطه.\nیه شایت د ور گرته یکی با یا بیشتر کاراکتریا نبوئه سی ای داسونیا وه کار گرته بوئن", "perfcached": "رسینه یا نهایی د ویرگه نهونی موکشت بینه و شایت هنی وه هنگوم سازی نبینه.بیشترونه {{جمی:$4|یه گل نتیجه|$4 یه گل نتیجه}} د ویرگه نهونی هان د دسرس.", "perfcachedts": "رسینه یا نهایی د ویرگه نهونی موکشت بینه و شایت هنی وه هنگوم سازی نبینه.بیشترونه {{جمی:$4|یه گل نتیجه|$4 یه گل نتیجه}} د ویرگه نهونی هان د دسرس.", "querypage-no-updates": "نبوئه ای بلگه وه هنگوم سازی با.\nرسینه یا ایچه تازه نبیه.", @@ -338,10 +339,10 @@ "viewyourtext": "شما تونیت سرچشمه ویرایشتیا تونه ای د بلگه بوینیت و دشو ورداریت", "protectedinterface": "ای بلگه سی نرم افزار د ای ویکی نیسسه آماده می که، و د .\nسی اضاف کردن یا آلشت دئن د همه ویکی یا لطفا [//translatewiki.net/ translatewiki.net] نه به کار بؤریت، ولات نشین کنی پروجه ویکی وارسگر.", "editinginterface": "<strong>زئنار دئن:</strong> شما داریت بلگه ای نه که سی بیه ویرایشت می کید.", - "cascadeprotected": "ای بلگه د ویرایشت محافظت بیه سی یه که {{جمی:$1|وه بلگه یه |ونو بلگه یان}} که ها دش د :\n$2", + "cascadeprotected": "ای بلگه د ویرایشت پر و پیم بیه سی یه که {{جمی:$1|وه بلگه یه |ونو بلگه یان}} که ها دش د :\n$2", "namespaceprotected": "شما حقی سی ویرایشت بلگه یایی که هان د نومجا <strong>$1</strong> ناریت.", "customcssprotected": "شما سی ویرایشت ای بلگه سی اس اس اجازه ناریت سی یه که میزونکاری دونسمنیا شخصی یه کاریار هنی ها د وه.", - "customjsprotected": "شما سی ویرایشت ای بلگه جاوا اسکریپت اجازه ناریت سی یه که میزونکاری دونسمنیا شخصی یه کاریار هنی ها د وه.", + "customjsprotected": "شما سی ویرایشت ای بلگه جاوا اسکریپت صلا ناریت سی یه که میزونکاری دونسمنیا شخصی یه کاریار هنی ها د وه.", "mycustomcssprotected": "شما حق ناریت ای بلگه سی اس اس نه ویرایشت بکید", "mycustomjsprotected": "شما حق ناریت ای بلگه جاوا اسکریپت نه ویرایشت بکید", "myprivateinfoprotected": "شما حق ناریت دونسمنیا خصوصی نه ویرایشت بکید", @@ -353,170 +354,170 @@ "invalidtitle-unknownnamespace": "نوم نامعتور سی شماره نومجا ناشناس $1 و نیسه \"$2\"", "exception-nologin": "نبوئه وارد بوئيد", "exception-nologin-text": "شما وارد [[ویجه:وامین اومائن کاریار|وامین اومائن]] بوئیت سی یه تونستویت که د ای بلگه یا کنشت دسرسی داشتویت.", - "exception-nologin-text-manual": "خواهشمنیدم که $1 تونسه بوئه د ای بلگه دسرسی داشتوه یا کاری انجوم بیئه.", - "virus-badscanner": "سازواره گن:ویروس ناشناس:<em>$1</em>", + "exception-nologin-text-manual": "دتو تقاضا میکیم که $1 تونسه بوئه د ای بلگه دسرسی داشتوه یا کاری انجوم بیئه.", + "virus-badscanner": "سازواره گن:ویروس نادیار:<em>$1</em>", "virus-scanfailed": "زل بیئن شکست حرد($1)", - "virus-unknownscanner": "ويروس كش ناآشگار", + "virus-unknownscanner": "ويروس كش نادیار", "logouttext": "<strong>شما هنی نریتته وه در.</strong>\n\nد ویرتو با که ویرگه نهو انجومیارتو نه پاکسا نکیت، سی یه پاره ای د بلگه یا ممکنه جوری نشو دئه بوئن چی یه که منیستی شما هنی هایین وامین.", "welcomeuser": "خوش اومايت،$1!", "welcomecreation-msg": "حساوتو دروس بیه.\nد ویرتو نروئه که{{نوم دیارگه}} [[Special:Preferences|preferences]] خوتونه آلشت بکیت", "yourname": "نوم کاریاری:", - "userlogin-yourname": "نوم كاروری", + "userlogin-yourname": "نوم کاریاری", "userlogin-yourname-ph": "نوم کاریاری تو نه وارد بكيد", - "createacct-another-username-ph": "نوم كاروری ته وارد كو", - "yourpassword": "پاسورد:", - "userlogin-yourpassword": "رمز", - "userlogin-yourpassword-ph": "رمز بزه", - "createacct-yourpassword-ph": "رمزه بزه", - "yourpasswordagain": "دوواره رمز بزه", - "createacct-yourpasswordagain": "رمز محكم كو", - "createacct-yourpasswordagain-ph": "دوواره رمز بزه", - "remembermypassword": "اومائن وا مئن منه د ای مرورگر د ویر داشتو(سی بیشترونه$1{{جمی:$1|روز|روزیا}})", - "userlogin-remembermypassword": "منه مئن سيستم وادار", - "userlogin-signwithsecure": "د وصل بيئن امن استفاده كو", + "createacct-another-username-ph": "نوم کاریاری ته وارد كو", + "yourpassword": "رازینه گواردن:", + "userlogin-yourpassword": "رازینه گواردن", + "userlogin-yourpassword-ph": "رازینه گواردن نه بزه", + "createacct-yourpassword-ph": "رازینه گواردن نه بزه", + "yourpasswordagain": "دوواره رازینه گواردن نه بزه", + "createacct-yourpasswordagain": "رازینه گواردن نه پشت راس كو", + "createacct-yourpasswordagain-ph": "دوواره رازینه گواردن نه بزه", + "remembermypassword": "اومائن وا مین منه د ای دوارته نیئر د ویر داشتو(سی بیشترونه$1{{جمی:$1|روز|روزیا}})", + "userlogin-remembermypassword": "منه مین سامونه وادار", + "userlogin-signwithsecure": "د وصل بيئن امن وه کار بیئر", "yourdomainname": "پوشگیر شما:", - "password-change-forbidden": "شما نتونید پاسوردیانه د ای ویکی آلشت بکید", - "externaldberror": "اشتوایی د ارتواط وا رسینه گا پیش اومائه یا ینه که شما اجازه وه هنگوم سازی حساو خارجی تونه ناریت.", - "login": "اومائن", + "password-change-forbidden": "شما نتونید رازینه گواردتون خوتونه د ای ویکی آلشت بکید", + "externaldberror": "اشتوایی د ارتواط وا رسینه گا پیش اومائه یا ینه که شما صلا وه هنگوم سازی حساو خارجی تونه ناریت.", + "login": "وا مین اومائن", "nav-login-createaccount": " اومائن د سيستم/راس كردن حساو", "userlogin": " اومائن د سيستم/راس كردن حساو", - "userloginnocreate": "اومائن", - "logout": "رئتن", - "userlogout": "د سيستم دراومائن", - "notloggedin": "نبوئه وارد بوئيد", + "userloginnocreate": "وا مین اومائن", + "logout": "د سامونه دراومائن", + "userlogout": "د سامونه دراومائن", + "notloggedin": "نبوئه بیاییت وامین", "userlogin-noaccount": "یه گل حساو ناریت؟", "userlogin-joinproject": "وصل بوييت {{SITENAME}}", - "nologin": "حساو كاروری ناريت؟$1", + "nologin": "حساو کاریاری ناريت؟$1", "nologinlink": "يه گل حساو راست بكيد", "createaccount": "حساو راست بكيد", "gotaccount": "ایسنی حساو کاروری داریتو؟$1", - "gotaccountlink": "اومائن", + "gotaccountlink": "وا مین اومائن", "userlogin-resetlink": "جزییات وامین اومائن تونه د ویر بردیته", - "userlogin-resetpassword-link": "پاسورد د ویرتو رئته؟", + "userlogin-resetpassword-link": "رازینه گواردن د ویرتو رئته؟", "userlogin-helplink2": "هومیاری وا مین اومائن", - "userlogin-loggedin": "شما ایسه د عنوان {{جنس:$1|$1}} اومایته وا مین.\nد فرم هاری سی وا مین اومائن وه عنوان کاریار هنی استفاده بکیتو.", + "userlogin-loggedin": "شما ایسه چی {{جنس:$1|$1}} اومایته وا مین.\nد نوم بلگه هاری سی وا مین اومائن چی یه گل کاریار هنی وه کار بیئرتو.", "userlogin-createanother": "يه گل حساوهنی راست بكيد", - "createacct-emailrequired": "نشونی ايميل", - "createacct-emailoptional": "نشونی ايميل", - "createacct-email-ph": "نوم نشون ايميلتونه وارد بكيت", - "createacct-another-email-ph": "يه گل ايميل وارد بكيت", - "createaccountmail": "د یه گل پاسورد موقتیه بختکی استفاده بکید و ونه سی یه گل نشونی ایمیل ویجه بفرسنیت", + "createacct-emailrequired": "تیرنشون انجومانامه", + "createacct-emailoptional": "تیرنشون انجومانامه", + "createacct-email-ph": "تیرنشون انجومانامه تونه وارد بكيت", + "createacct-another-email-ph": "يه گل انجومانامه وارد بكيت", + "createaccountmail": "د یه گل رازینه گواردن موقتیه بختکی وه کار بیئریت و ونه سی یه گل نشونی انجومانامه ویجه کل بکیت", "createacct-realname": "نوم راستكی(مژبوری نيئ)", "createaccountreason": "دليل", "createacct-reason": "دليل", "createacct-reason-ph": "سی چی شما داريتو يه گل حساو هنی راس می كيد", "createacct-captcha": "وارسی امنيت دار بين", - "createacct-imgcaptcha-ph": "متنی نه كه د وارو ميئنيت وارد بكيد", + "createacct-imgcaptcha-ph": "نیسسه نه كه د وارو ميئنيت وارد بكيد", "createacct-submit": "حساو خوتونه راس بكيد", "createacct-another-submit": "يه گل حساوهنی راست بكيد", "createacct-benefit-heading": "{{نوم مالگه}} وه دس خلکی چی شما راس بیه.", "createacct-benefit-body1": "{{جمی:$1|ویرایشت|ویرایشتیا}}", "createacct-benefit-body2": "{{جمی:$1|بلگه|بلگه یا}}", "createacct-benefit-body3": "تازه{{جمی:$1|هومیار|هومیارا}}", - "badretype": "پاسوردی که شما دئیته مطاوقت ناره", - "userexists": "کارور نوم که وارد بیه د ایسه استفاده بوئه.\nلطف بکید یه گل نوم هنی انتخاو بکید", + "badretype": "رازینه گواردنی که شما دئیته مطاوقت ناره", + "userexists": "کاریارنوم که وارد بیه د ایسه وه کار گرته بوئه.\nلطف بکید یه گل نوم هنی انتخاو بکید", "loginerror": "خطا اومائن د سيستم", "createacct-error": "خطا راس كردن حساو", "createaccounterror": "نبوئه حساو راس بكيد:$1", - "nocookiesnew": "حساو کاروری راس بی،اما شما وامئن نیامایئته.{{نوم مالگه}} د کوکیا سی اومائن د سیستم کاروریا استفاده می که.کوکیا شما د کار افتائه.لطفن وا کارشو بونیت، اوسه وا نوم کاروری تازه و پسورد هنی بیایت وا مئن.", - "nocookieslogin": "{{نوم مالگه}} د کوکیا سی وامئن اومائن کاروریا استفاده می که. کوکیا شما د کار افتائه.\nلطف بکید د کارشو بونیت و دوواره تلاش بکید.", - "nocookiesfornew": "حساو کاروری راس نبیه، سی یه ایما نتونیم سرچشمه ونه مئکم بکیم.\nمطمئن بوئیت که کوکیا فعال بینه، ای بلگه نه د نو سوار بکید و د نو تلاش بکید.", + "nocookiesnew": "حساو کاریاری راس بی،اما شما وامئن نیامایئته.{{نوم مالگه}} د کوکیا سی اومائن د سیستم کاریاریا وه کار میئره .کوکیا شما د کار افتائه.لطفن وا کارشو بونیت، اوسه وا نوم کاریاری تازه و رازینه گواردن هنی بیایت وا مئن.", + "nocookieslogin": "{{نوم مالگه}} د کوکیا سی وامئن اومائن کاریاریا وه کار میئره. کوکیا شما د کار افتائه.\nلطف بکید د کارشو بونیت و دوواره تلاش بکید.", + "nocookiesfornew": "حساو کاریاری راس نبیه، سی یه ایما نتونیم سرچشمه ونه مئکم بکیم.\nمطمئن بوئیت که کوکیا کنشتگر بینه، ای بلگه نه د نو سوار بکید و د نو تلاش بکید.", "nocookiesforlogin": "{{int:nocookieslogin}}", - "noname": "شما یه گل نوم کاروری خو ناریت", - "loginsuccesstitle": "اومائن د سيستم موفق بی", - "loginsuccess": "شما ایسه وارد بیته {{SITENAME}} د دعنوان \"$1\".'", + "noname": "شما یه گل نوم کاریاری خو ناریت", + "loginsuccesstitle": "اومائن د سامونه موفق بی", + "loginsuccess": "شما ایسه وارد بیته {{SITENAME}} د چی\"$1\".'", "nosuchuser": "چنی کاریاری و نوم \"$1\" نئیش.\nنوم کاریاری وه حرفیا حساس هئ.\nروشت نیسنن تونه وارسی بکید،یا [[ویجه:وامین اومائن کاریار/ثوت نام کردن|یه گل حساو تازه راس بکید]].", - "nosuchusershort": "چنو کاروری وا ای نوم $1 نی ئیش.\nنیسنن تونه دوواره نئری بکیتو", - "nouserspecified": "شما باید یه نوم کارور اختصاص بئیتو", - "login-userblocked": "کارور قلف بیه.وامین اومائن اجازه نی ئن", - "wrongpassword": "پاسورد غلط وارد بیه.\nهنی تلاش بکید", - "wrongpasswordempty": "پاسوردی که دئیت حالیه.د نؤ تلاش بکیت", - "passwordtooshort": "پاسورد با حداقل {{PLURAL:$1|1 character|$1 characters}} با", - "password-name-match": "پاسوردتو با د نوم کاروریتو فرخ داشتوه", - "password-login-forbidden": "وه کار گرتن ای پاسوردو نوم کاروری ممنو بیه.", - "mailmypassword": "د نۈ وارد كردن رمز", - "passwordremindertitle": "پاسورد موقت تازه سی {{SITENAME}}", + "nosuchusershort": "چنو کاریاری وا ای نوم $1 نی ئیش.\nنیسنن تونه دوواره نئری بکیتو", + "nouserspecified": "شما باید یه نوم کاریاری تیاری بکیت", + "login-userblocked": "کاریار قلف بیه.وامین اومائن اجازه نی ئن", + "wrongpassword": "رازینه گواردن غلط وارد بیه.\nهنی تلاش بکید", + "wrongpasswordempty": "رازینه گواردنی که دئیت حالیه.د نؤ تلاش بکیت", + "passwordtooshort": "رازینه گواردن با حداقل {{PLURAL:$1|1 character|$1 characters}} با", + "password-name-match": "رازینه گواردنتو با د نوم کاریاری فرخ داشتوه", + "password-login-forbidden": "وه کار گرتن ای پاسوردو نوم کاریاری قدقن بیه.", + "mailmypassword": "د نۈ وارد كردن رازینه گواردن", + "passwordremindertitle": "رازینه گواردن موقت تازه سی {{SITENAME}}", "passwordremindertext": "یه نفر(شات خوتو،د تیرنشون آی پی $1) یه گل رازینه گواردن هنی سی {{نوم دیارگه}}($4) حاسته.یه گل رازینه گواردن موقتی سی کاریاری\"$2\" دروس بیه و د \"$3\" جاگر بیه. ار قصدتو یه بیه،شما واس ایسه روئیت وامین و یه گل رازینه گواردن هنی انتخاو بکید.\nرازینه گورادن موقتی د {{جمی:$5|یه رو|$5 رو}} تموم بوئه.\n\nار یه نفر هنی یه حاست داشتوئه،یا ار رازینه گورادن تونه د ویرتو اوما، و ار نحاستیت ونه آلشت بکیت، شما شایت د ای پیغوم تیه پوش بکیت و بحایت د وه کار بسن رازینه گواردن دماترتو دماداری بکیت.", - "noemail": "هیچ نشونی ایمیلی سی کارور $1 ضفط نبیه.", - "noemailcreate": "شما باید یه نشونی نومه معتور فراهم بکید", - "passwordsent": "یه گل پاسورد هنی سی تیرنشون انجانامه ای که \"$1\" واش ثوت نام کرده بی کل بیه.\nخواهش میکیم هنی رویئت وامین و اوسه بئریتش.", + "noemail": "هیچ تیرنشون انجومانامه ای سی کاریار $1 ضفط نبیه.", + "noemailcreate": "شما باید یه تیرنشون انجومانامه خو فراهم بکید", + "passwordsent": "یه گل رازینه گواردن هنی سی تیرنشون انجومانامه ای که \"$1\" واش ثوت نام کرده بی کل بیه.\nخواهش میکیم هنی رویئت وامین و اوسه بئریتش.", "blocked-mailpassword": "نها آی پی شما سی ویرایشت گرته بیه، و", "eauthentsent": "یه گل انجومانامه پشت راس کردنی د یه گل تیرنشون ویجه کل بیه.\nدما یه که یه گل انجومانامه هنی د حساو کل بوئه، شما واس دما رئنمونی نه د انجومانامه بئریت، سی یه که حساو شما راستکی پشت راست بوئه.", - "throttled-mailpassword": "یه گل پسورد دواره زنه بیه ایسه کل بیه، د آخری {{جمی:$1|ساعت|$1 ساعتیا}}.\nسی نهاگری د اذیت دئن،فقط یه گل رازینه گواردن د انجومانامه دواره زنه بیه د هر {{جمی:$1|ساعت|$1 ساعتیا}} کل بیه.", + "throttled-mailpassword": "یه گل رازینه گواردن دواره زنه بیه ایسه کل بیه، د آخری {{جمی:$1|ساعت|$1 ساعتیا}}.\nسی نهاگری د اذیت دئن،فقط یه گل رازینه گواردن د انجومانامه دواره زنه بیه د هر {{جمی:$1|ساعت|$1 ساعتیا}} کل بیه.", "mailerror": "خطا داره کل موئه:$1", - "acct_creation_throttle_hit": "سیل کریا ای ویکی د تیرنشون آی پی شما استفاده کردنه د روز دمایی {{جمی:$1|1 حساو|$1 حساویا}} نه دروس کردنه، و وه د بیشترونه صلا دئن د ای دوره گاتی انجوم بیه.\nد نتیجه، سیل کریایی که د ای تیرنشون آی پی استفاده کردنه نمی تونن حساویا بیشتری د ای گات دروس بکن.", - "emailauthenticated": "نشونی انجومانامه تونه د $2 سی 3$ مئکم بیه.", + "acct_creation_throttle_hit": "سیل کریا ای ویکی تیرنشون آی پی شما وه کار گرتنه د روز دمایی {{جمی:$1|1 حساو|$1 حساویا}} نه دروس کردنه، و وه د بیشترونه صلا دئن د ای دوره گاتی انجوم بیه.\nد نتیجه، سیل کریایی که د ای تیرنشون آی پی وه کار گرتنه نمی تونن حساویا بیشتری د ای گات دروس بکن.", + "emailauthenticated": "تیرنشون انجومانامه تونه د $2 سی 3$ مئکم بیه.", "emailnotauthenticated": "تیرنشون انجومانامه شما تا ایسه پشت راسگری نبیه.\nهنی انجومانامه ای سی چیا ری به نها کل نبیه.", "noemailprefs": "یه گل تیرنشون انجومانامه د الویتیاتو سی یه که ای ویجه گیا کار بکن انتخاو بکیت.", - "emailconfirmlink": "نشونی ايملتو نه محكم بكيد", + "emailconfirmlink": "پشت راس کردن تیرنشون انجومانامه", "invalidemailaddress": "تیرنشون انجومانامه حاستنی نئ شکل وه چوئه خوئی ناره.\nلطفن یه گل تیرنشون چوئه دار وارد بکیت یا ای رشنه گه نه حالی بنیت.", - "cannotchangeemail": "نشونی ایمیل حساو نتونه د ای ویکی آلشت بوئه.", - "emaildisabled": "ای مالگه نتونه ایمیل بفرسنه", + "cannotchangeemail": "تیرنشون انجومانامه حساو نتونه د ای ویکی آلشت بوئه.", + "emaildisabled": "ای مالگه نتونه انجومانامه کل نمی که", "accountcreated": "حساو راس بی", "accountcreatedtext": "حساو کاریاری سی [[{{ns:کاریار}}:$1|$1]] ([[{{ns:کاریار چک چنه}}:$1|چک چنه]]) دروس بیه.", "createaccount-title": "حساو راس کرده سی {{SITENAME}}", - "createaccount-text": "یه نفر وا تیرنشون انجونامه تو یه گل حساو راس کرده{{نوم دیارگه}} ($4) نومشه نیائه\"$2\", با پاسورد \"$3\".\nشما همی ایسه باید روئیت وامین و پاسوردتونه آلشت بکیت.\n\nار شما ای پیغوم نه وش التفات نکیت، د راس بیین ای حساو خطا دروس موئه.", + "createaccount-text": "یه نفر وا تیرنشون انجونامه تو یه گل حساو راس کرده{{نوم دیارگه}} ($4) نومشه نیائه\"$2\", با پاسورد \"$3\".\nشما همی ایسه باید روئیت وامین و رازینه گواردتونه آلشت بکیت.\n\nار شما ای پیغوم نه وش التفات نکیت، د راس بیین ای حساو خطا دروس موئه.", "login-throttled": "شما ایسنی فره سی وامین اومائن تلاش کردیته.\n$1 لطفن سی تلاش هنی صبر بکید", "login-abort-generic": "اومائن وامین تو شکست حرد-شکست حرده", "login-migrated-generic": "حساو کاریاری شما جا وه جا بیه، و نوم کاریاری شما دیه د ای ویکی نیئش.", "loginlanguagelabel": "زون:$1", "suspicious-userlogout": "درحاست وه در رئتن شما انکار بیه سی یه کل وه نظر میا که د یه گل دووارته نیئر گن یا یه گل پروکسی که ها د ویرگه نهو کل بیه", - "createacct-another-realname-tip": "نوم راستکی دل به حائه.\nار شما وه نه نهااماییه بکیت، یه سی هوم نسبت دئن وه کاریار سی کاریاش استفاده بوئه.", + "createacct-another-realname-tip": "نوم راستکی دل به حائه.\nار شما وه نه نهااماییه بکیت، یه سی هوم نسبت دئن وه کاریار سی کاریاش وه کار گرته بوئه.", "pt-login": "وا مین اومائن", "pt-login-button": "وا مین اومائن", "pt-createaccount": "يه گل حساو راست بكيد", - "pt-userlogout": "د سيستم دراومائن", - "php-mail-error-unknown": "خطا ناشناس مئن تاوع PHP's mail()", - "user-mail-no-addy": "سی کل کردن ایمیل بی نشونه ایمیل صورت گرته", - "user-mail-no-body": "سی کل کردن ایمیل وا مینونه حالی یا کؤچک بیئن سی دلیل غیر علقمنی تلاش بکید.", - "changepassword": "پاسورد نه آلشت بكيت", - "resetpass_announce": "سی تموم کردن وا مین اومائن، شما باید یه گل پاسورد هنی وارد بکیتو.", + "pt-userlogout": "د سامونه دراومائن", + "php-mail-error-unknown": "خطا نادیار مین آلشت ون PHP's mail()", + "user-mail-no-addy": "سی کل کردن انجومانامه د یه گل انجومانامه بی تیرنشون کنشتگری بیه", + "user-mail-no-body": "سی کل کردن انجومانامه وا مینونه حالی یا کؤچک بیئن سی دلیل غیر علقمنی تلاش بکید.", + "changepassword": "رازینه گواردن نه آلشت بكيت", + "resetpass_announce": "سی تموم کردن وا مین اومائن، شما باید یه گل رازینه گواردن هنی وارد بکیتو.", "resetpass_text": "<!-- یه گل نیسسه ایچه اضاف بکیت -->", - "resetpass_header": "پاسورد حساوتونه آلشت بکید", - "oldpassword": "پاسورد قدیمی:", - "newpassword": "پاسورد تازه:", - "retypenew": "رمز تازه نه دوواره بنیسید:", - "resetpass_submit": "پاسور بنیت و وامین بیایت", - "changepassword-success": "پاسورد شما وا موفقیت آلشت بی", + "resetpass_header": "رازینه گواردن حساوتونه آلشت بکید", + "oldpassword": "رازینه گواردن قدیمی:", + "newpassword": "رازینه گواردن تازه:", + "retypenew": "رازینه گواردن تازه نه دوواره انجومیارنیسی :", + "resetpass_submit": "رازینه گواردن بنیت و وامین بیایت", + "changepassword-success": "رازینه گواردن شما د خوئی آلشت بی", "changepassword-throttled": "شما ایسنی فره سی وامین اومائن تلاش کردیته.\n$1 لطفن سی تلاش هنی صبر بکید", - "resetpass_forbidden": "پاسوردیا نتونن آلشت بوئن", - "resetpass-no-info": "شما با بیایت د سیستم تا د ای بلگه دسرسی داشتویت", - "resetpass-submit-loggedin": "پاسورد نه آلشت بكيت", + "resetpass_forbidden": "رازینه گواردناتون نتونن آلشت بوئن", + "resetpass-no-info": "شما با بیایت د سامونه تا د ای بلگه دسرسی داشتویت", + "resetpass-submit-loggedin": "رازینه گواردن نه آلشت بكيت", "resetpass-submit-cancel": "انجوم شیوسن", "resetpass-wrong-oldpass": "رازینه گواردن تازه یا موقتی نامعتور.\nشات شما ایسنی یا رازینه گواردن خوتونه د خوئی آلشت دئیته یا یه گل رازینه گواردن موقت هنی درحاست دئیته.", "resetpass-recycled": "لطفن رازینه گواردن خوتونه سی چیا تر د رازینه گواردن ایسنی د نو زنه بکیت", "resetpass-temp-emailed": "شما وا یه گل رازینه موقتی که انجوما گر بیه اومایته وامین.\nسی تموم کردن اومائن وامین، یه گل رازینه گواردن هنی د ایچه جاگر بکیت.", - "resetpass-temp-password": "رمز موقت:", + "resetpass-temp-password": "رازینه گواردن موقت:", "resetpass-abort-generic": "آلشت دئن رازینه گواردن وا یه گل فره پوش خرو بیه.", "resetpass-expired": "رازینه گواردن شما منقضی بیه. لطفن یه گل رازینه گواردن هنی سی وامین اومائن جاگری بکیت.", "resetpass-expired-soft": "رازینه گواردن شما منقضی بیه و واس د نو زنه با. لطفن یه گل رازینه هنی انتخاو بکیت، یا سی د نو زنه کردن د نهاتر د ایچه \"{{int:resetpass-submit-cancel}}\" بپورنیت.", - "resetpass-validity-soft": "زازینه گواردتون تو معتور نئ:$1\n\nلطفن یه گل رازینه گواردن هنی انتخاو بکیت، یا ری ایچه \"{{int:resetpass-submit-cancel}}\" سی د نو زنه کردن وه د نهاتر بپورنیت.", - "passwordreset": "د نۈ وارد كردن رمز", + "resetpass-validity-soft": "رازینه گواردتون تو معتور نئ:$1\n\nلطفن یه گل رازینه گواردن هنی انتخاو بکیت، یا ری ایچه \"{{int:resetpass-submit-cancel}}\" سی د نو زنه کردن وه د نهاتر بپورنیت.", + "passwordreset": "د نۈ وارد كردن رازینه گواردن", "passwordreset-text-one": "ای نوم بلگه نه سی گرتن یه گل رازینه گواردن موقتی وا انجومانامه پر بکیت.", "passwordreset-text-many": "{{جمی:$1|یه گل د رشنه گه یا نه سی یه که رازینه گواردن موقتی وا انجومانامه گرته بوئه پر بکیت}}", - "passwordreset-legend": "د نۈ وارد كردن رمز", - "passwordreset-disabled": "نو کرد پاسورد د ای ویکی غیرفعال بیه.", - "passwordreset-emaildisabled": "چی یا هنی ایمیل د ای ویکی غیرفعال بیه.", - "passwordreset-username": "نوم كاروری:", + "passwordreset-legend": "د نۈ وارد كردن رازینه گواردن", + "passwordreset-disabled": "نو کرد رازینه گواردن د ای ویکی ناکشتگر بیه.", + "passwordreset-emaildisabled": "چی یا هنی انجومانامه د ای ویکی ناکشتگر بیه.", + "passwordreset-username": "نوم کاریاری:", "passwordreset-domain": "پوشگیر", - "passwordreset-capture": "ایمیل نتیجه نه بوینیتو؟", - "passwordreset-capture-help": "ار شما ای جعوه نه وارسی بکید. ایمیل و خوئی اوسه که سی کارور کل بیه بوئه بوینیتش.", - "passwordreset-email": "نشونی ايميل", + "passwordreset-capture": "انجومانامه نتیجه نه بوینیتو؟", + "passwordreset-capture-help": "ار شما ای جعوه نه وارسی بکید. انجومانامه و خوئی اوسه که سی کاریار کل بیه بوئه بوینیتش.", + "passwordreset-email": "تیرنشون انجومانامه", "passwordreset-emailtitle": "جزئیات حساو ها د {{نوم مالگه}}", "passwordreset-emailtext-ip": "یه کسی(شات خوتو، وا تیرنشون آی پی $1) سی د نو زنه کردن رازینه گواردن تو د {{SITENAME}} درحاست کرده($4).\nسی کاریار «$2» یه گل رازینه گواردن موقتی دروس بیه و و هؤمبراور «$3» ئه.\nار تمارزو تو یه بیه ایسه باید بیایت وامین سامونه و یه گل رازینه گواردن هنی بهاییت\nرازینه گواردن شما د طیل {{PLURAL:$5|یه رو|$5 رو}} باطل بوئه.\n\nار کس هنی چنی درحاستی کرده یا یه که شما رازینه گواردن دمایی خوتونه د ویر اوردیت و تر نمیهایت ونه آلشت بیئت، می تونیت د ای پیغوم تیه پوشی بکیت و همو رازینه گواردن دمایی نه وه کار به ونیت.", "passwordreset-emailtext-user": "کاریار $1 د {{SITENAME}} د نو زنه کردن رازینه گواردن شمانه د{{SITENAME}} ($4) کرده. {{PLURAL:$3|حساو|حساویا}} کاریاری که هان د هار د وا ای تیرنشون انجومانامه ها د ارتواط:\n\n$2\n\n{{PLURAL:$3|ای رازینه گواردن موقت|ای رازینه گواردنیا موقت}} تا {{PLURAL:$5|یه رو|$5 رو}} باطل بوئه.\nار کس هنی چنی درحاستی کرده یا یه که شما رازینه گواردن دمایی خوتونه د ویر اوردیت و تر نمیهایت ونه آلشت بیئت، می تونیت د ای پیغوم تیه پوشی بکیت و همو رازینه گواردن دمایی نه وه کار به ونیت.", - "passwordreset-emailelement": "نوم کاروری: $1\nپاسورد موقتی: $2", - "passwordreset-emailsent": "پاسورد هنی سی ایمیل کل بیه.", - "passwordreset-emailsent-capture": "پاسورد تازه تو د ایمیلتو که د هار نشو دئه بیه کل بیه", + "passwordreset-emailelement": "نوم کاریاری: $1\nرازینه گواردن موقتی: $2", + "passwordreset-emailsent": "رازینه گواردن هنی سی انجومانامه کل بیه.", + "passwordreset-emailsent-capture": "رازینه گواردن تازه تو د انجومانامه تو که د هار نشو دئه بیه کل بیه", "passwordreset-emailerror-capture": "رازینه گواردن د انجومانامه د نو زنه کننه راس بیه، و وه د هار دیاری می که، اما کل بیین وه د{{جنس:$2|کاریار}} شکست حرده:$1", - "changeemail": "ایمیل تو نه آلشت بکید", + "changeemail": "انجومانامه تو نه آلشت بکید", "changeemail-text": "ای نوم بلگه نه سی آلشت دئن تیرنشون انجومانامه تو پر بکیت. شما سی پشت راس کردن ای آلشت واس رازینه گواردن خوتونه وارد بکیت.", - "changeemail-no-info": "شما با بیایت د سیستم تا د ای بلگه دسرسی داشتویت", - "changeemail-oldemail": "نشونی ایمیل تازه باو:", - "changeemail-newemail": "نشونی ایمیل تازه", + "changeemail-no-info": "شما با بیایت د سامونه تا د ای بلگه دسرسی داشتویت", + "changeemail-oldemail": "تیرنشون انجومانامه تازه باو:", + "changeemail-newemail": "تیرنشون انجومانامه تازه:", "changeemail-none": "(هيش كوم)", - "changeemail-password": "شما {{SITENAME}} پاسورد:", - "changeemail-submit": "آلشت کردن ایمیل", + "changeemail-password": "{{SITENAME}} رازینه گواردن شما:", + "changeemail-submit": "آلشت کردن انجومانامه", "changeemail-throttled": "شما ایسنی فره سی وامین اومائن تلاش کردیته.\n$1 لطفن سی تلاش هنی صبر بکید.", "resettokens": "تازه کردن نشونه یا", "resettokens-text": "شما سی صلا دئن دسرسی وه رسینه یا خصوصی که ها د حساو ایچنی تو می تونیت دیارگریا نه د نو زنه بکیت.\n\nشما اوسنی واس ای کار بکیت که رسینه یا شما سی یه کسی تر بئر بیه یا د حساو شما چل بیه.", @@ -531,61 +532,61 @@ "bold_tip": "متن توپر بيه", "italic_sample": "نوشته كج كوله", "italic_tip": "نوشته كج كوله", - "link_sample": "عنوان لينك", - "link_tip": "لینک مئن ون", - "extlink_sample": "http://www.example.com نوم ديس ون", + "link_sample": "داسون هوم پیوند", + "link_tip": "هوم پیوند داخلی", + "extlink_sample": "http://www.example.com داسون هوم پیوند", "extlink_tip": "هوم پیوند خارجی(د ویر داشتو)", - "headline_sample": "سرخط نوشته", - "headline_tip": "قدم 2 خط سر ون", - "nowiki_sample": "د ایچه یه گل متن بی شلک وارد بکید", + "headline_sample": "سرخط نیسسه", + "headline_tip": "ریرتراز 2 خط سر ون", + "nowiki_sample": "د ایچه یه گل نیسسه بی شلک وارد بکید", "nowiki_tip": "شلک ویکی نه ندید بگر", "image_sample": "Example.jpg", "image_tip": "جانیا محاط بيه", "media_sample": "Example.ogg", - "media_tip": "فایل هوم پیوند", - "sig_tip": "امضا شما و برچسو وخت", - "hr_tip": "خط افق ونه(سوا سوا دش استفاده کو)", + "media_tip": "جانیا هوم پیوند", + "sig_tip": "امضا شما و دیس ون وخت", + "hr_tip": "خط آسو ونه(سوا سوا وه کار بیئرشو)", "summary": "چكسته", "subject": "موضو/سر خط:", "minoredit": "يه ويرايشت كؤچكيه", "watchthis": "ديئن ای بلگه", "savearticle": "اماییه کردن بلگه", "preview": "پيش سيل", - "showpreview": "پيش نمائش نشون بيئه", + "showpreview": "پيش سیل نشون بيئه", "showdiff": "آلشتيانه نشون بيئه", "blankarticle": "<strong>زنئار:</strong> بلگه ای که شما دروس کردیته حالیه.\nار شما د نو ری \"{{int:savearticle}}\" بپورنیت, بلگه وه شکل که هیچ مینونه ای دش نبا دروس بوئه.", "anoneditwarning": "<strong>زئنار:</strong> شما هنی نیوماته وامین. تیرنشون آی پی شما هر گاتی که آلشتی راس بکیت سی کل خلک دیاره. ار <strong>[$1 روئیت وامین]</strong> یا <strong>[$2 یه گل حساو کاریاری راس بکیت]</strong>، ویرایشتیا شما وه نوم کاریاری خوتون دیاری می که، و وا چیا بیتر هنی.", "anonpreviewwarning": "<em>شما نیومائته وامین. تیرنشون آی پی شما د ویرگار ویرایشت ای بلگه اماییه بوئه.</em>", "missingsummary": "<strong>د ویر ونا:</strong> شما هنی یه گل چکسته ویرایشتی نها اماییه نکردیته.\nار شما د نو د ری\"{{int:savearticle}}\" بپورنیت, ویرایشت شما حالی اماییه بوئه.", - "missingcommenttext": "لطفن د ایچه نظر بیئتو", + "missingcommenttext": "لطفن د ایچه ویر و باور بیئتو", "missingcommentheader": "<strong>د ویر ونا:</strong> شما هنی یه گل موضوع/سرخط سی ای ویر و باور نها اماییه نکردیته.\nار شما د نو د ری\"{{int:savearticle}}\" بپورنیت, ویرایشت شما حالی اماییه بوئه.", "summary-preview": "چکسته پیش سیل:", "subject-preview": "پیش سیل موضو سرخط", - "blockedtitle": "كارور قلف بيه", + "blockedtitle": "کاریار نهاگری بیه", "blockedtext": "<strong>نوم کاریاری شما یا تیرنشون آی پی شما قلف بیه.</strong>\n\n\n$1 ونه قلف کرده.\nدلیل ها د ایچه<em>$2</em>.\n\nشرو د قلف بیین:$8\nآخر قلف بیین:$6\nکاریار ورتیه قلف بیه:$7\n\nشما می تونیت وا $1 یا [[{{MediaWiki:Grouppage-sysop}}|دیووندار]] هنی پیوند بئریت و سی قلف کردن چک چنه بزنیت.\nالوت د ویر داشتویت که شما نمی تونیت د خصوصیت انجومانامه کل کردن سی ای کاربر استفاده بکیت مئر یه گل تیرنشون انجومانامه معتور د [[Special:Preferences|ترجیحیا کاریاری]] خوتو معلوم کرده بویت و باید امکان وه کار بستن وه نه داشتویتو\nتیرنشون آی پی ایسنی شما $3 ئه، و نوم دیارکن قلف کردن #$5 ئه.\nلطفا همه جزئیات نه د هر حاسته ای که داریت بوئیت.", - "autoblockedtext": "نوم کاریاری شما یا تیرنشون آی پی شما سی یه که یه گل کاریاری هنی وه کارش بسته خودانجومن قلف بیه $1 ونه قلف کرده.\nدلیل ها د ایچه\n\n:<em>$2</em>.\n\nشرو د قلف بیین:$8\nآخر قلف بیین:$6\nکاریار ورتیه قلف بیه:$7\n\nشما می تونیت وا $1 یا [[{{MediaWiki:Grouppage-sysop}}|دیووندار]] هنی پیوند بئریت و سی قلف کردن چک چنه بزنیت.\n\nالوت د ویر داشتویت که شما نمی تونیت د خصوصیت انجومانامه کل کردن سی ای کاربر استفاده بکیت مئر یه گل تیرنشون انجومانامه معتور د [[Special:Preferences|ترجیحیا کاریاری]] خوتو معلوم کرده بویت و باید امکان وه کار بستن وه نه داشتویت.\n\nتیرنشون آی پی ایسنی شما $3 ئه، و نوم دیارکن قلف کردن #$5 ئه.\nلطفا همه جزئیات نه د هر حاسته ای که داریت بوئیت.", + "autoblockedtext": "نوم کاریاری شما یا تیرنشون آی پی شما سی یه که یه گل کاریاری هنی وه کارش بسته خودانجومن قلف بیه $1 ونه قلف کرده.\nدلیل ها د ایچه\n\n:<em>$2</em>.\n\nشرو د قلف بیین:$8\nآخر قلف بیین:$6\nکاریار ورتیه قلف بیه:$7\n\nشما می تونیت وا $1 یا [[{{MediaWiki:Grouppage-sysop}}|دیووندار]] هنی پیوند بئریت و سی قلف کردن چک چنه بزنیت.\n\nالوت د ویر داشتویت که شما نمی تونیت د خصوصیت انجومانامه کل کردن سی ای کاربر استفاده بکیت مئر یه گل تیرنشون انجومانامه معتور د [[Special:Preferences|ترجیحیا کاریاری]] خوتو دیاری کرده بویت و باید امکان وه کار بستن وه نه داشتویت.\n\nتیرنشون آی پی ایسنی شما $3 ئه، و نوم دیارکن قلف کردن #$5 ئه.\nلطفا همه جزئیات نه د هر حاسته ای که داریت بوئیت.", "blockednoreason": "هیژ دلیلی دئه نبیه", "whitelistedittext": "شما باید $1 سی ویرایشت بلگیا", "confirmedittext": "شما واس دما ویرایشت کردن بلگه یا تیرنشون انجومانامه تونه پشت راس بکیت.\nلطفا یه گل تیرنشون خو سی [[Special:اولویتیا|اولویتیا کاریار]] بنیت.", "nosuchsectiontitle": "نبوئه بشخ پیدا بوئه", "nosuchsectiontext": "شما سی ویرایشت کردن جایی که وجود ناره تلاش کردیته.\nشات وه اوسه که شما بلگه نه می دیئته جا وه جا بیه یا پاکسا بیه.", "loginreqtitle": "وامین اومائن لازمه", - "loginreqlink": "اومائن", + "loginreqlink": "وا مین اومائن", "loginreqpagetext": "$1 لطف بکید بلگه یا هنی نه بوینیت", - "accmailtitle": "پاسورد کل بی", + "accmailtitle": "رازینه گواردن کل بی", "accmailtext": "یه گل رازینه گواردن شامسکی سی[[چک چنه کاریار:$1|$1]] سی $2 کل بیه.بوئه وه نه د گات وه کار بستن بلگه اومائن وامین د <em>[[Special:آلشت دئن رازینه گواردن|آلشت دئن رازینه گواردن]]</em> آلشت دئه بوئه.", "newarticle": "تازه", - "newarticletext": "شما وادما هوم پیوندی هئیت که وجود ناره.\nسی راس کردن بلگه.شرو د نیسنن مئن جعوه هاری بکید(سیل[$1 ] سی دونسمنی بیشتر بکید).\nار شما سی اشتوا کردن هایئن ایچه، دگمه وادما رئتن مرورگر تونه بپورنیت.", + "newarticletext": "شما وادما هوم پیوندی هئیت که وجود ناره.\nسی راس کردن بلگه.شرو د نیسنن مئن جعوه هاری بکید(سیل[$1 ] سی دونسمنی بیشتر بکید).\nار شما سی اشتوا کردن هایئن ایچه، دگمه وادما رئتن دوارته نیئر تونه بپورنیت.", "anontalkpagetext": "----", "noarticletext": "د تازه یا د ای بلگه متن نی.\nشما تونید د[[Special:Search/{{PAGENAME}}|search for this page title]] بگردید د ای بلگه یا د بلگیا هنی یا<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} د هنی پی جوری بوئه logs]</span> \n [{{fullurl:{{FULLPAGENAME}}|action=edit}} یای ای بلگه نه ویرایشت بکیدpage]</span>.", "noarticletext-nopermission": "د تازه یا د ای بلگه متن نی.\nشما تونید د[[Special:Search/{{PAGENAME}}|search for this page title]] بگردید د ای بلگه یا د بلگیا هنی یا<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} د هنی پی جوری بوئه logs]</span> اما شما حق ناریتو ای بلگه نه راس بکیت", "missing-revision": "وانئیری #$1 د بلگه ای که نومش ونه \"{{FULLPAGENAME}}\" وجود ناره.\n\nشایت بانی جاونه وه وا یه گل ویرگار وه هنگوم نبیه که د یه گل بلگه پاکسا بیه هوم پیوند بیه بوئه.\nشایت جزئیات د [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log] پیدا بوئن.", "userpage-userdoesnotexist": "حساو کاریاری\"$1\" ثوت نام نبیه.\nار میهایت ای بلگه نه بسازیتو یا ویرایشت بکیت یه گل وارسی انجوم بئیت.", "userpage-userdoesnotexist-view": "حساو کارور\"$1\" ثوت نبیه.", - "blocked-notice-logextract": "ای کارور ایسنی دسرسی ناره.\nآخری نشون قلف ورودی د هار ایچه سی سرچشمه آماده بیه:", - "clearyourcache": "<strong>توجه داشتویت:</strong> نها اماییه کاری, شات مژبور وه وه کار ونن ویرگه نهو دوارته نیئر خوتو سی دیئن ای آلشتیا بوئیت .\n* <strong>فایرفاکس/ سفری:</strong> بپورنیت ری<em>شیفت</em> اوسه که می پورنیت<em>د نو سوار بوئه</em>یا هنی ری <em>Ctrl-F5</em> بپورنیت یا<em>Ctrl-R</em> (<em>⌘-R</em> د سامونه مک)\n* <strong>گوگل کروم:</ strong>بپورنیت ری <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> یا د سامونه)\n* <strong>اینترنت اکسپلورر:</strong> <em>Ctrl</em> واداریت اوسه که می پورنیت ری <em>Refresh</em>, یل بپورنیت ری<em>Ctrl-F5</em>\n* <strong>اوپرا:</strong> ویرگه نهو نه د <em>اوزاریا→ اولویتیا پاک بکیت</em>", - "usercssyoucanpreview": "<strong>نکته:</strong> د دگمه \"{{int:showpreview}}\" سی آزماشت کردن سی اس اس تازه دما اماییه کاری استفاده بکیت .", - "userjsyoucanpreview": "<strong>نکته:</strong> د دگمه \"{{int:showpreview}}\" سی آزماشت کردن دما اماییه کاری جاوا اسکریپت تازه استفاده بکیت .", + "blocked-notice-logextract": "ای کاریار ایسنی دسرسی ناره.\nآخری پهرستنومه قلف ورودی د هار ایچه سی سرچشمه آماده بیه:", + "clearyourcache": "<strong>د ویر داشتویت:</strong> نها اماییه کاری, شات مژبور وه وه کار ونن ویرگه نهو دوارته نیئر خوتو سی دیئن ای آلشتیا بوئیت .\n* <strong>فایرفاکس/ سفری:</strong> بپورنیت ری<em>شیفت</em> اوسه که می پورنیت<em>د نو سوار بوئه</em>یا هنی ری <em>Ctrl-F5</em> بپورنیت یا<em>Ctrl-R</em> (<em>⌘-R</em> د سامونه مک)\n* <strong>گوگل کروم:</ strong>بپورنیت ری <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> یا د سامونه)\n* <strong>اینترنت اکسپلورر:</strong> <em>Ctrl</em> واداریت اوسه که می پورنیت ری <em>Refresh</em>, یل بپورنیت ری<em>Ctrl-F5</em>\n* <strong>اوپرا:</strong> ویرگه نهو نه د <em>اوزاریا→ اولویتیا پاک بکیت</em>", + "usercssyoucanpreview": "<strong>نکته:</strong> د دگمه \"{{int:showpreview}}\" سی آزماشت کردن سی اس اس تازه دما اماییه کاری وه کار بیئریت.", + "userjsyoucanpreview": "<strong>نکته:</strong> د دگمه \"{{int:showpreview}}\" سی آزماشت کردن دما اماییه کاری جاوا اسکریپت تازه وه کار بیئریت.", "usercsspreview": "<strong>د ویر داشتوئیت که شما فقط می تونیت سی اس اس کاریاری تونه پیش سیل بکیت. وه د ایسنی هنی اماییه نبیه!</strong>", "userjspreview": "<strong>د ویر داشتوئیت که شما فقط می تونیت جاوا اسکریپت کاریاری تونه پیش سیل بکیت. وه د ایسنی هنی اماییه نبیه!</strong>", "sitecsspreview": "<strong>د ویر داشتوئیت که شما فقط می تونیت ای سی اس اس نه فقط پیش سیل بکیت. وه د ایسنی هنی اماییه نبیه!</strong>", @@ -600,13 +601,13 @@ "session_fail_preview_html": "<strong>د بدبختی ما سی یه که رسینه یا جلسه مونه د دس دئیمه نمی تونیم کار پردازشت ویرایشت شمانه انجوم بیئمو.</strong>\nلطفن هنی تلاش بکیت.\n\n<em>سی یه که {{نوم دیارگه}} یه گل ردیف اچ تی ام ال کنشتگر بیه داره، پیش سیل سی یه که د دس حمله یا جاوا اسکریپ د امون با قام کرده بیه..</em>\n\n<strong>ار وه گات قانونی تلاش سی ویرایشته،لطفا د نو تلاش بکیت.</strong>\nار هنی کار وه دروس کار نکرد،[[Special:UserLogout|اومائن وه در]] نه ازمایشت بکیت و د نو بیایت وامین.", "token_suffix_mismatch": "<strong>ویرایشتیا شما سی یه که دووارته نئر شما نیسسه یا نقطه نیائن نه د رازینه امنیتی ویرایشت د یک تیچسه.</strong>\nویرایشت سی یه که د خراو بیئن نیسسه بلگه نهاگری با رد بیه.\nای رخ ون د گاتیایی پیش میا که شما د یه گل رسینه جا پروکسی استفاده می کیت.", "edit_form_incomplete": "<strong>پاره ای د ویرایشتا وه رسینه جا نمی رسن، هنی وارسی بکیت سی یه که بوینیت ویرایشتیا شما خوئه و هنی تلاش بکیت .</strong>", - "editing": "د حالت ويرايشت$1", + "editing": "د حال و بال ويرايشت$1", "creating": "راس كردن $1", - "editingsection": "د حال ویرایشت$1(بشخ)", - "editingcomment": "د حال ویرایشت$1(بشخ تازه)", + "editingsection": "د حال و بال ویرایشت$1(بشخ)", + "editingcomment": "د حال و بال ویرایشت$1(بهرجا تازه)", "editconflict": "تضاد د ویرایشت:$1", - "explainconflict": "داوسه که شما شرو د ویرایشت ای بلگه کردیته، یه نفر هنی ای بلگه نه آلشت دئه.\nراساگه روئی متن بلگه متن نه چی یه که وجود داشتوه د ور میئره.\nآلشتیا شما د متن هاری نشو دئه هئ.\nشما با آلشتیاتونه د متن که هئش یکی بکید.\nفقط متنی که ها د رو د وختی که شما\"{{رقم:ذخیره گوتار}}\" نه گزارشت می کید اماییه بوئه", - "yourtext": "متن شما", + "explainconflict": "داوسه که شما شرو د ویرایشت ای بلگه کردیته، یه نفر هنی ای بلگه نه آلشت دئه.\nراساگه وارو نیسسه بلگه نیسسه نه چی یه که وجود داشتوه د ور میئره.\nآلشتیا شما د نیسسه هاری نشو دئه هئ.\nشما با آلشتیاتونه د نیسسه که هئش یکی بکید.\nفقط متنی که ها د رو د گاتی که شما\"{{رقم:اماییه کاری گوتار}}\" نه گزارشت می کید اماییه بوئه", + "yourtext": "نیسسه شما", "storedversion": "دوواره دیئن انبار بیه.", "nonunicodebrowser": "<strong>زئنار:دووارته نئر شما وا نیسسه یا یونیکد سازگاری ناره.</strong>\nیه گل راحل وه کار گرته بیه سی یه که شما بلگه یا نه وا امنیت ویرایشت بکیت:\nنیسه یا غیر-ASCII د پایه رازینه یا 16 تایی دتو نشو دئه بوئه.", "editingold": "<strong>زئنار:شما داریت یه گل وانئری نا به هنگوم بیه نه سی ای بلگه ویرایشت می کید</strong>\nار شما ونه اماییه بکیت،هر آلشتی که د اول سی ای وانئری انجوم بیه گم بوئه.", @@ -619,24 +620,24 @@ "semiprotectedpagewarning": "<strong>د ویر داشتویت:</strong> ای بلگه سی یه که فقط کاریاریا ثوت نام کرده تونستون دش ویرایشت بکه ن پر و پیم بیه.\nآخرین پهرستنومه دئه بیه سی سرچشمه هار نها اماییه بیه:", "cascadeprotectedwarning": "<strong>زئنار:</strong> ای بلگه", "titleprotectedwarning": "<strong>زئنار:ای بلگه پر و پیم بیه سی یه که[[ویجه:نوم گه حقوق گرو|حقوق ویجه]] باید ونه دروس بکن .</strong>\nآخرین پهرستنومه دئه بیه سی سرچشمه دئن نهااماییه بیه:", - "templatesused": "{{جمی:$1|چوئه|چوئه یا}}د ای بلگه استفاده بیه:", + "templatesused": "{{جمی:$1|چوئه|چوئه یا}}د ای بلگه وه کار گرته بیه:", "templatesusedpreview": "{{جمی:$1|چوئه|چوئه یا}}استفاده بیه د ای پیش سیل:", - "templatesusedsection": "{{جمی:$1|چوئه|چوئه یا}} استفاده بیه د ای بخش:", - "template-protected": "(حمايت بيه)", - "template-semiprotected": "(نيم-حفاظت بيه)", + "templatesusedsection": "{{جمی:$1|چوئه|چوئه یا}} وه کار گرته بیه د ای بخش:", + "template-protected": "(پر و پیم بيه)", + "template-semiprotected": "نصم و نیمه پر و پیم بیه", "hiddencategories": "ای بلگه يه اندوم د{{PLURAL:$1|1 hidden category|$1 hidden categories}}: هئ", "edittools-upload": "-", "nocreatetext": "{{نوم مالگه}} سی راس کردن بلگه یا تازه محدود بیه.\nشما تونید روئیت وادما و بلگه ای که هئیش ویرایشت بکید ، یا [[ویجه:وامین اومائن کاریار|بیایت وامین یا یه گل حساو بسازیت]].", "nocreate-loggedin": "شما حق ناریت که بلگه یا تازه نه راس بکید.", - "sectioneditnotsupported-title": "ویرایشت بخش حمایت نبوئه", - "sectioneditnotsupported-text": "ویرایشت بشقی د ای بلگه نئیش.", + "sectioneditnotsupported-title": "ویرایشت بهرجا حامین داری نبوئه", + "sectioneditnotsupported-text": "ویرایشت بهرجایی د ای بلگه نئیش.", "permissionserrors": "خطا اجازه دئین", "permissionserrorstext": "شما حق ناریت ونه انجوم بیئت, سی{{جمی:$1|دلیل|دلیلیا}} نهایی:", "permissionserrorstext-withaction": "شما سی $2 اجازه ناریت\nسی دمال کردن{{PLURAL:$1|reason|reasons}}:", - "recreate-moveddeleted-warn": "'''زنهار شما بلگه ای که وادما پاکسا بیه هنی راس کردیته'''\nشما باید دونسه بایت که آیا هنی سی نها گرتن ویرایشت ای بلگه خوئه.\nپاکسا بیئن و جمشت سی ای بلگه سی راحتی تو فراهم بیه:", - "moveddeleted-notice": "ای بلگه پاک بیه.\nپاک بین و جمشت ای بلگه سی سرچشمه دئین فراهم بیه", + "recreate-moveddeleted-warn": "'''زنهار شما بلگه ای که وادما پاکسا بیه هنی راس کردیته'''\nشما باید دونسه بایت که آیا هنی سی نها گرتن ویرایشت ای بلگه خوئه.\nپاکسا بیئن و جمشت سی ای بلگه سی فراغتتو آماده بیه:", + "moveddeleted-notice": "ای بلگه پاکسا بیه.\nپاکسا بین و جمشت ای بلگه سی سرچشمه دئین آماده بیه", "log-fulllog": "دیئن همه پهرستنومه یا", - "edit-hook-aborted": "ویرایشت وا قلاو جلوگری بیه.\nهیچ توضیئ سیش نئ.", + "edit-hook-aborted": "ویرایشت وا قلاو نهاگری بیه.\nهیچ توضیئ سیش نئ.", "edit-gone-missing": "نبوئه ای بلگه نه وه هنگوم بکیت.\nوه نظر میا که وه پاکسا بیه.", "edit-conflict": "مخالفت نه ویرایشت بکید", "edit-no-change": "سی یه که آلشتیا د یه گل نیسسه دروس بیه د ویرایشت شما تیه پوشی بیه.", @@ -644,24 +645,24 @@ "postedit-confirmation-restored": "بلگه د نو اماییه بیه.", "postedit-confirmation-saved": "ویرایشتتو اماییه بی", "edit-already-exists": "نبوئه یه گل بلگه تازه راس بکید.\nوه هئیش.", - "defaultmessagetext": "متن پیغوم پیش فرض", + "defaultmessagetext": "نیسسه پیغوم پیش فرض", "content-failed-to-parse": "د یک تیچیسن چیا مئن $2 د مدل $1:$3", "invalid-content-data": "دنسمنی مینونه نامعتور", - "content-not-allowed-here": " مینونه\"$1\" سی بلگه [[$2]] اجازه نه دئه بیه", + "content-not-allowed-here": " مینونه\"$1\" سی بلگه [[$2]] صلا نه دئه بیه", "editwarning-warning": "ار ای بلگه نه ول بکیت هر آلشتی که دئیته پاک بوئه.\nار شما هاییت وا مین،شما می تونیت ای زئنار نه د \"{{int:prefs-editing}}\" که ها د بخش اولویتیا شما ناکشتگر بکیت.", "editpage-notsupportedcontentformat-title": "شلک مینونه دماگری نبیه", "editpage-notsupportedcontentformat-text": "وضع و بار مینونه $1 د مدل مینونه $2 حامین نبوئه.", - "content-model-wikitext": "ويكی متن", - "content-model-text": "متن ساده", + "content-model-wikitext": "ويكی نیسسه", + "content-model-text": "نیسسه ساده", "content-model-javascript": "جاوا اسكريپت", "content-model-css": "سی اس اس", "expensive-parserfunction-warning": "<strong>زئنار:</strong>ای بلگه مینونه دار واحونی دستوریا مئن اشکافت فره ای هئ.\n\nانازه و باید د کمتر با$2 {{جمی:$2|واحونی|واحونیا}}، ایسه {{جمی:$1|$1 واحونی|$1 واحونیا}}ئه.", "expensive-parserfunction-category": "بلگه یایی که واحونی پیوندگر خطا گرون فره ای ها دشو", - "post-expand-template-inclusion-warning": "زنئار قالو شومل انازه ای یه که فره گپه.پاره ای د قالویا نه د بر نگره", - "post-expand-template-inclusion-category": "بلگیا شومل قالوی ین که انازش د حد اومائه وه در", - "post-expand-template-argument-warning": "زنهار ای بلگه شومل حداقل یه قالو سی چک چنه یه که انازه فره گپه.\nگپسنیا پاک بینه.", - "post-expand-template-argument-category": "بلگه شومل قالو چک چنیا د بین رئته", - "parser-template-loop-warning": "حلقه قالو کشف بیه:[[$1]]", + "post-expand-template-inclusion-warning": "زنئار چوئه د ور گرته انازه ای یه که فره گپه.پاره ای د چوئه یا نه د ور نمیئره.", + "post-expand-template-inclusion-category": "بلگیا د ور گرته چوئه ین که انازش د حد اومائه وه در", + "post-expand-template-argument-warning": "زنهار ای بلگه د ور گرته حداقل یه چوئه سی چک چنه یه که انازه فره گپه.\nگپسنیا پاک بینه.", + "post-expand-template-argument-category": "بلگه د ور گرته چوئه چک چنیا د بین رئته", + "parser-template-loop-warning": "حلقه چوئه دیاری کرده:[[$1]]", "parser-template-recursion-depth-warning": "محدودیت پی یا ورئشتن چوئه رد بی($1)", "language-converter-depth-warning": "محدودیت پی یا زون والرن رد بی($1)", "node-count-exceeded-category": "بلگه یا که د بیشرونه شماره گرو فره پئشکرد کردنه", @@ -672,7 +673,7 @@ "expansion-depth-exceeded-warning": "بلگه د پی یا ووله بیین پئشکرد کرد", "parser-unstrip-loop-warning": "گردوله د فرمونه Unstrip پیدا بیه", "parser-unstrip-recursion-limit": "د بیشترونه د سرچشمه رئتن د دستور Unstrip واروتر رئتیته($1)", - "converter-manual-rule-error": "خطا د قانون دسی زون", + "converter-manual-rule-error": "خطا د قانون والرشتن دسی زون", "undo-success": "نبوئه ویرایشت نه انجومشیو بکیت.\nلطفا ای فرخی که ها د هار نه وارسی بکیت تا یه کاریه که میهات انجوم بئیت، و اوسه آلشتیا هار نه اماییه بکیت سی یه که خمثی کردن ویرایشت نه انجوم بئیت.", "undo-failure": "سی ری به ری بیئن ای ویرایشت وا ویرایشتیا مینجایی، نبوئه ای ویرایشت نه خومثی بکیت.", "undo-norev": "نبوئه ای ویرایشت نه خومثی بکیت سی یه که یا وجود ناره یا پاکسا بیه.", @@ -690,14 +691,14 @@ "revision-info": "دوواره سیل بیه چی $1 وا $2", "previousrevision": "اصلاح دمايی", "nextrevision": "تازه ترن دوبار دیئن", - "currentrevisionlink": "آخرین دوواره دیئن", + "currentrevisionlink": "آخری دوواره دیئن", "cur": "تازه باو", "next": "نيایی", "last": "دمايی", "page_first": "اولی", "page_last": "آخر", "histlegend": "انتخاو فرخدار:جعویا رادیو نه سی دوواره دیئن و وارسی نشو دار بکید و یا ری رئتن کلیک بکید .<br />\nشرح نوشته: '''({{int:cur}})''' = وا آخری دوواره دیئن فرخ داره '''({{ int:last}})'''= وا دواره دیئن انجوم دئنی فرخ داره '''{{int:minoreditletter}}''' =ویرایشت کؤچک.", - "history-fieldset-title": "ویرگار مرور ون", + "history-fieldset-title": "ویرگار دوارته نیئری", "history-show-deleted": "فقط پاكسا بيه", "histfirst": "قديمي تري", "histlast": "تازه تري", @@ -710,7 +711,7 @@ "rev-deleted-comment": "(ویرایشت چکسته جا وه جا بیه)", "rev-deleted-user": "(نوم کاروری جا وه جا بیه)", "rev-deleted-event": "(انجوم گر پهرستنومه جا وه جا بیه)", - "rev-deleted-user-contribs": "[نوم کاروری یا نشونی آی پی جا وه جا بیه - چیا قام بیه د ور هوم یاریانه ویرایشت بکید]", + "rev-deleted-user-contribs": "[نوم کاریاری یا تیرنشون آی پی جا وه جا بیه - چیا قام بیه د ور هوم یاریانه ویرایشت بکید]", "rev-deleted-text-permission": "وانئری ای بلگه <strong>پاکسا بیه</strong>.\nجزئیات هان د [{{fullurl:{{#Special:Log}}/پاکسا کردن|بلگه={{نوم کامل بلگه}}}} پهرستنومه پاکساکردن].", "rev-suppressed-text-permission": "وانئری بلگه <strong>پاکساگری</strong>.\nجزئیات هان د [{{fullurl:{{#Special:Log}}/پاکساگری کردن|بلگه={{نوم کامل بلگه}}}} پهرستنومه پاکساگری کردن].", "rev-deleted-text-unhide": "وانئری ای بلگه <strong>پاکسا بیه</strong>.\nجزئیات هان د [{{fullurl:{{#Special:Log}}/پاکسا کردن|بلگه={{نوم کامل بلگه}}}} پهرستنومه پاکساکردن].\nشما هنی تونیت [$1ای وانئری نه بونیت] ار بهاییت.", @@ -723,12 +724,12 @@ "rev-suppressed-unhide-diff": "وانئری ای بلگه <strong>پاکساگری بیه</strong>.\nجزئیات هان د [{{fullurl:{{#Special:Log}}/پاکساگری کردن|بلگه={{نوم کامل بلگه}}}} پهرستنومه پاکساگری کردن].\nشما هنی تونیت [$1ای وانئری نه بونیت] ار بهاییت.", "rev-deleted-diff-view": "وانئری ای بلگه <strong>پاکسا بیه</strong>.\nجزئیات هان د [{{fullurl:{{#Special:Log}}/پاکسا کردن|بلگه={{نوم کامل بلگه}}}} پهرستنومه پاکساکردن].", "rev-suppressed-diff-view": "وانئری بلگه <strong>پاکساگری</strong>.\nجزئیات هان د [{{fullurl:{{#Special:Log}}/پاکساگری کردن|بلگه={{نوم کامل بلگه}}}} پهرستنومه پاکساگری کردن].", - "rev-delundel": "آلشت وضئيت ديئن", - "rev-showdeleted": "نشو دائن", + "rev-delundel": "آلشت حال و بال ديئن", + "rev-showdeleted": "نشو دئن", "revisiondelete": "پاکسا کردن/زنه کردن وانئریا", "revdelete-nooldid-title": "وانیری تمارزی بیه نامعتوره", "revdelete-nooldid-text": "شما وانئریا حاسنی نه سی انجوم دئن ای کار ره ون تیاری نکردیته، یا وانئریا تیارگر بیه وجود نارن، یا یه که شما میهایت وانئری ایسنی نه قام بکیت.", - "revdelete-no-file": "فایل مشقص بیه وجود ناره.", + "revdelete-no-file": "جانیا تیار بیه وجود ناره.", "revdelete-show-file-confirm": "شما د دل میهایت که وانئری پاکسا بیه ای جانیا نه بونیت \"<nowiki>$1</nowiki>\" د $2 تا $3؟", "revdelete-show-file-submit": "هری", "revdelete-selected-text": "{{جمی:$1|وانیری گل گر بیه|وانیری گل گر بیه}} د [[:$2]]:", @@ -742,10 +743,10 @@ "revdelete-suppress-text": "پاکساگری فقط با <strong>تئنا</strong> سی جایایی که هان د هار وه کار گرته بوئه:\n*دونسمنیایی که فره تنادارن\n*دونسمنیا نامناسو شخصی\n*: <em>تیرنشون حونه، شماره تیلیفون،رازینه زایاره ای و چیا تر</em>", "revdelete-legend": "میزونکاری محدودیتیا دیار بیین.", "revdelete-hide-text": "متن دوواره دیئن", - "revdelete-hide-image": "چی یا مئن فایل قام کو", + "revdelete-hide-image": "چی یا مین جانیا نه قام کو", "revdelete-hide-name": "آرمون و انجوم گر نه قام بکید", "revdelete-hide-comment": "چکسه نه ویرایشت بکید", - "revdelete-hide-user": "نوم کاروری ویرایشتگر/نشونی آی پی", + "revdelete-hide-user": "نوم کاریاری ویرایشتگر/تیرنشون آی پی", "revdelete-hide-restricted": "پاکساگری کردن رسینه یا سی دیوونداریا و کسونا تر", "revdelete-radio-same": "آلشت نکید", "revdelete-radio-set": "قام بیه", @@ -758,7 +759,7 @@ "revdelete-failure": "'''دیئن وانیری وه خوئی وه هنگوم نبی:'''$1", "logdelete-success": "<strong>پهرستنومه دیار بیین د خوئی میزونکاری بی.</strong>", "logdelete-failure": "<strong>پهرستنومه دیار بیین نبوئه میزونکاری با.</strong> $1", - "revdel-restore": "آلشت وضئيت ديئن", + "revdel-restore": "آلشت حال و بال ديئن", "pagehist": "ويرگار بلگه", "deletedhist": "ویرگار پاکسا بیه", "revdelete-hide-current": "خطا د قام کردن چی که ها د ویرگار $2 ساعت $1: ای نسقه، نسقه ایسنی یه و نبوئه نهوش بکیت.", @@ -773,10 +774,10 @@ "revdelete-reasonotherlist": "دلیل هنی", "revdelete-edit-reasonlist": "دلیلیا پاکسا کردنه نه ویرایشت بکید", "revdelete-offender": "نیسنه وانیری:", - "suppressionlog": "پهرستنومه پاکسازی", + "suppressionlog": "پهرستنومه پاکساگری", "suppressionlogtext": "د هار یه گل نوم گه ای هئ که مینونه یا پاکسا بیه و قلف بیه که هان دش د ورتیه دیوونداریا قام بینه.\n[[ویجه:نوم گه قلف بیه|نوم گه قلف بیئنیا]]نه سی نوم گه ایی که انجومکاریا قدقن بیه و قلف بینیا هان دش بونیت.", "mergehistory": "ویرگاریا بلگه نه یکی بکید", - "mergehistory-header": "ای بلگه وه شما اجازه می ئه که وانیریانه ویرگار سرچشمه بلگه نه د یه گل بلگه تازه سریک سازی بکید.\nمطمئن بویت که ای آلشت د لحاظ ویرگاری د مین بلگه موندگار هئ.", + "mergehistory-header": "ای بلگه وه شما اجازه می ئه که وانیریانه ویرگار سرچشمه بلگه نه د یه گل بلگه تازه سریک سازی بکید.\nمطمئن بویت که ای آلشت د لحاظ ویرگاری د مین بلگه موندگاره.", "mergehistory-box": "دوواره دیئن دوبلگه ای نه سر یک سازی کو:", "mergehistory-from": "بلگه سرچشمه:", "mergehistory-into": "بلگه مقصد:", @@ -786,8 +787,8 @@ "mergehistory-submit": "سر یک سازی دوواره دیئنیا", "mergehistory-empty": "هیپ دوواره دیئنی نبوئه یکی سازی بوئه.", "mergehistory-success": "$3 {{جمی:$3|وانیری|وانیریا}} د [[:$1]] وه خوئی د [[:$2]] سریک سازی بی.", - "mergehistory-fail": "سریک سازی ویرگار انجوم نبوئه، لطفن پینیاریا زمون و بلگه نه د نو وارسی بکید.", - "mergehistory-fail-toobig": "نبوئه وه یک شیوسن ویرگان انجوم دئه سی یکه وه بیشتر د محدودیت $1 {{PLURAL:$1|نسقه}}جا وه جا موئه.", + "mergehistory-fail": "سریک سازی ویرگار انجوم نبوئه، لطفن پینیاریا گات و بلگه نه د نو وارسی بکید.", + "mergehistory-fail-toobig": "نبوئه وه یک شیوسن ویرگا انجوم دئه سی یکه وه بیشتر د محدودیت $1 {{PLURAL:$1|نسقه}}جا وه جا موئه.", "mergehistory-no-source": "سرچشمه بلگه $1 وجود ناره.", "mergehistory-no-destination": "بلگه مقصد $1 وجود ناره.", "mergehistory-invalid-source": "نوم ون بلگه سرچشمه با معتور بوئه.", @@ -811,11 +812,11 @@ "diff-empty": "(بی فرق)", "diff-multi-sameuser": "({{PLURAL:$1|یه گل نسقه مینجایی|$1 نسقه یا مینجایی}} وه دس{{PLURAL:$2|کاریاری تر|$2 کاریاریا}} نشو دئه نبیه)", "diff-multi-otherusers": "({{PLURAL:$1|یه گل نسقه مینجایی|$1 نسقه یا مینجایی}} وه دس{{PLURAL:$2|کاریاری تر|$2 کاریاریا}} نشو دئه نبیه)", - "diff-multi-manyusers": "({{جمی:$1|یه گل وانیری مینجاگرته|$1وانیریا مینجا گرته}} بیشتر د $2 {{جمی:$2|کارور|کاروریا}} نشو دئه نبیه)", + "diff-multi-manyusers": "({{جمی:$1|یه گل وانیری مینجاگرته|$1وانیریا مینجا گرته}} بیشتر د $2 {{جمی:$2|کاریار|کاریاریا}} نشو دئه نبیه)", "difference-missing-revision": "{{PLURAL:$2|یه گل ویرایشت|$2 ویرایشت}} د فرق مینجا($1) {{PLURAL:$2|پیدا نبی|پیدا نبینه}}.\n\nشایت بانی جاونه وه وا یه گل ویرگار وه هنگوم نبیه که د یه گل بلگه پاکسا بیه هوم پیوند بیه بوئه.\nشایت جزئیات د [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log] پیدا بوئن.", "searchresults": "نتيجه يا پی جوری", "searchresults-title": "نتيجه يا پی جوری سی \"$1\"", - "titlematches": "عنوان بلگه مطاوقت داره", + "titlematches": "داسون بلگه یکی بیه", "textmatches": "هومسازی نیسسه بلگه.", "notextmatches": "نیسسه بلگه هومسازی ناره", "prevn": "وادما {{PLURAL:$1|$1}}", @@ -826,13 +827,13 @@ "viewprevnext": "ديئن ($1 {{int:pipe-separator}} $2) ($3)", "searchmenu-exists": "'''ایچه بلگه ای هئ وه نوم\"[[:$1]]\" که ها د ای ویکی'''", "searchmenu-new": "'''ای بلگه نه راس كو \"[[:$1]]\" د ای ويكي!'''", - "searchprofile-articles": "بلگيا محتوا", - "searchprofile-images": "رسانيا جمی", + "searchprofile-articles": "بلگيا مینونه دار", + "searchprofile-images": "وارسگریا خلکمن", "searchprofile-everything": "همه چی", - "searchprofile-advanced": "پيشرفته", + "searchprofile-advanced": "پیشکرده", "searchprofile-articles-tooltip": "بگرد مئن $1", - "searchprofile-images-tooltip": "بگرد سی فايليا", - "searchprofile-everything-tooltip": "همه محتوا نه پی جوری كو (شاملا بلگيا چك چنه)", + "searchprofile-images-tooltip": "جانیایانه پی جوری کو", + "searchprofile-everything-tooltip": "همه مینونه یا نه پی جوری كو (شاملا بلگيا چك چنه)", "searchprofile-advanced-tooltip": "نوم جايا نوم ديار بگرد", "search-result-size": "$1 ({{جمی:$2|1 کلیمه|$2 کلیمه یا}})", "search-result-category-size": "{{جمی:$1|1 اندوم|$1 اندومیا}} ({{جمی:$2|1 زیردسه|$2 زیردسه یا}}, {{جمی:$3|1 جانیا|$3 جانیایا}}", @@ -851,8 +852,8 @@ "showingresultsinrange": "نمائشت بیشترونه {{PLURAL:$1|'''Û±''' نتیجه|'''$1''' نتیجه}} د هار، شرو د شماره'''$2''' تا شماره '''$3'''.", "search-showingresults": "{{PLURAL:$4|نتیجه یا<strong>$1</strong> د <strong>$3</strong>|نتیجه یا<strong>$1 - $2</strong د <strong>$3</strong>}}", "search-nonefound": "هیژ نتیجه یی سی پی جست تو مطاوقت نکرده", - "powersearch-legend": "پی جوری پیشبرده", - "powersearch-ns": "نوم جايا نوم ديار بگرد:", + "powersearch-legend": "پی جوری پیشکرده", + "powersearch-ns": "د نوم جايا نوم ديار پی جوری بک:", "powersearch-togglelabel": "چك كردن:", "powersearch-toggleall": "همه", "powersearch-togglenone": "هيش كوم", @@ -864,12 +865,12 @@ "mypreferences": "خصوصيات هنی", "prefs-edits": "شماره ویرایشتا:", "prefsnologintext2": "لطف بکیت بیایت وامین و ترجیحات خوتونه آلشت بئیت.", - "prefs-skin": "پوست", + "prefs-skin": "پوس", "skin-preview": "پیش سیل", "datedefault": "هیچ ترجیحات دش نئ", - "prefs-labs": "گزینشتیا آزمایشتی", - "prefs-user-pages": "بلگیا كارور", - "prefs-personal": "پروفایل کارور", + "prefs-labs": "گزینشتیا ازماشتی", + "prefs-user-pages": "بلگه یا کاریار", + "prefs-personal": "پروفایل کاریار", "prefs-rc": "آلشتیا تازه باو", "prefs-watchlist": "سیل برگ", "prefs-watchlist-days": "روزیا نه د سیل برگ نشو دئه بو:", @@ -878,14 +879,14 @@ "prefs-watchlist-edits-max": "شماره بیشترونه:1000", "prefs-watchlist-token": "نشونه سیل برگ:", "prefs-misc": "شيوسن", - "prefs-resetpass": "پاسورد نه آلشت بكيت", - "prefs-changeemail": "نشونی ایمیل تو نه آلشت بکید", - "prefs-setemail": "يه گل ايميل بنیت", + "prefs-resetpass": "رازینه گواردن نه آلشت بكيت", + "prefs-changeemail": "تیرنشون انجومانامه تو نه آلشت بکید", + "prefs-setemail": "يه گل انجومانامه بنیت", "prefs-email": "چیا هنی انجومانامه", "prefs-rendering": "شلک و ری", "saveprefs": "اماییه كردن", "restoreprefs": "د نو زنه کردن همه میزونکاریا پیش فرض(د همه جایا)", - "prefs-editing": "د حالت ويرايشت", + "prefs-editing": "د حال و بال ویرایشت", "rows": "رديفيا:", "columns": "ستينا:", "searchresultshead": "پی جوری", @@ -897,11 +898,11 @@ "prefs-help-recentchangescount": "یه شامل آلشتیا تازه،ویرگاریا بلگه و پهرستنومه یا هئ.", "prefs-help-watchlist-token2": "یه یه گل کلیت رازینه دار سی خوارک تیارگه سیل برگه شمانه.\nهر کسی که شما مئشناسیت می تونه سیل برگ شما نه بوحونه،په ونه هومبئری نکیت.[[Special:ResetTokens|ار لازمه ونه آلشت بئیت ایچه نه بپورنیت]].", "savedprefs": "ویجه گیا هنی تو اماییه بیه.", - "timezonelegend": "وخت راساگه", - "localtime": "وخت ولاتی:", - "timezoneuseserverdefault": "وخت راساگه", + "timezonelegend": "گات راساگه", + "localtime": "گات ولاتی:", + "timezoneuseserverdefault": "ویکی پیش فرض($1) وه کار بونیت", "timezoneuseoffset": "هنی", - "servertime": "وخت سرور:", + "servertime": "گات رسینه جا:", "guesstimezone": "وا جاگرد پر بوئه", "timezoneregion-africa": "افرقا", "timezoneregion-america": "امركا", @@ -913,46 +914,46 @@ "timezoneregion-europe": "اوروپا", "timezoneregion-indian": "جهوناو هند", "timezoneregion-pacific": "جهوناو آروم", - "allowemail": "ایمیل سی کاروریا هنی فعال کو", + "allowemail": "انجومانامه نه سی کاریاریا هنی کنشتگر کو", "prefs-searchoptions": "پی جوری", "prefs-namespaces": "نوم جایا", "default": "پيش فرض", - "prefs-files": "فايلا", + "prefs-files": "جانیایا", "prefs-custom-css": "سی اس اس جاافتائه", "prefs-custom-js": "جاوا نیسسه جاافتائه", "prefs-common-css-js": " سی اس اس/جاوا اسکریپت بهر بیه سی همه پوسه یا:", "prefs-reset-intro": "شما می تونیت ای بلگه سی د نو زنه کردن ترجیحات خوت وه شکل تیارگه پیش فرض وه کار بوونیت.\nیه ورئشت پذیر نئ.", - "prefs-emailconfirm-label": "مئکم کردن ایمیل:", - "youremail": "ايميل:", - "username": "{{جنس:$1|نوم کاروری}}:", + "prefs-emailconfirm-label": "پش راست کردن انجومانامه:", + "youremail": "انجومانامه:", + "username": "{{جنس:$1|نوم کاریاری}}:", "prefs-memberingroups": "{{جنس:$2|اندوم}} {{جمی:$1|گرویا|گرویا}}:", "prefs-memberingroups-type": "$1", - "prefs-registration": "موقع ثوت نام:", + "prefs-registration": "گات ثوت نام:", "prefs-registration-date-time": "$1", "yourrealname": "نوم راستكی:", "yourlanguage": "زون:", - "yourvariant": "محتوا آلشتگر زون:", + "yourvariant": "مینونه آلشتگر زون:", "prefs-help-variant": "قسه وری انتخاوی شما سی نمائشت مینونه بلگه یا د ای ویکی.", "yournick": "امضا تازه:", "prefs-help-signature": "ویر و باوریا نیسسه بیه د بلگه چک چنه باید وا«<nowiki>~~~~</nowiki>» امضا بان؛ ای نشون وه شکل خودانجومی وه امضا شما و مؤر ویرگار تبدیل بوئه.", "badsig": "امضا خؤم بی اعتوار.\nسردیسیا اچ تی ام ال نه وارسی بکیت.", - "badsiglength": "امضا شما فره گپه.\nطیل امضا باید کمتر د $1 {{PLURAL:$1|نیسه}} بوئه.", + "badsiglength": "امضا شما فره گپه.\nدرازا امضا باید کمتر د $1 {{PLURAL:$1|نیسه}} بوئه.", "yourgender": "شما بیشتر میهایت که چه جوری گوته بوئه؟", "gender-unknown": "مه میهام چی یی نموئم", "gender-male": "وه(پیا) بلگه یا ویکی نه ویرایشت می که", "gender-female": "وه(زئنه)بلگه یا ویکی نه ویرایشت می که", "prefs-help-gender": "انجوم دئن ای میزونکاری دل به هاییه.\nنرم افزار سی هشاره درست وه جنسیت و گوتن شما سی کسونا تر د شکل درست وه کار بسن یه گل دستور زون یه نه وه کار می بنه.\nای دونسمنیا سی کل خلک دیارن.", - "email": "پیومک برقی", - "prefs-help-realname": "نوم راستکی دل به حائه.\nار شما ونه وارد بکیت د گات واگردونی وه آرنگیاتو و نسوت دئن ونو وه خوتو د نوم راستکی استفاده بوئه.", - "prefs-help-email": "نشونی ایمیل اختیاری هئ.اما سی بازجست پاسورد دش نیاز بوئه.شما باید پاسوردتونه د ویر بوریت", - "prefs-help-email-others": "شما می تونید سی پیوند گرتن تو وا نهایین ایمیل مئن یه هوم پیوند د بلگه کاروری یا بلگه چک چنه تو انتخاو بکید.\nنشونی ایمیلتو وختی که کاروریا هنی وا تو پیوند می گرن دیار نی.", - "prefs-help-email-required": "نشونی ایمیل لازم هئ.", + "email": "انجومانامه", + "prefs-help-realname": "نوم راستکی دل به حائه.\nار شما ونه وارد بکیت د گات واگردونی وه آرنگیاتو و نسوت دئن ونو وه خوتو نوم راستکی وه کار گرته بوئه.", + "prefs-help-email": "تیرنشون ایمیل دل بهاییه.اما سی وایافت رازینه گواردن دش میهایتش.شما باید رازینه گواردنتونه د ویر بوریت", + "prefs-help-email-others": "شما می تونید سی پیوند گرتن تو وا نهایین انجومانامه مین یه هوم پیوند د بلگه کاریاری یا بلگه چک چنه تو انتخاو بکید.تیرنشون انجومانامه تونه د گاتی که کاریاریا هنی وا تو پیوند می گرن دیار نی.", + "prefs-help-email-required": "تیرنشون انجومانامه واس با.", "prefs-info": "دونسمنیا اولیه", "prefs-i18n": "جهون ولاتمنی", "prefs-signature": "امضا", - "prefs-dateformat": "شلک وخت", - "prefs-timeoffset": "جا وه جایی زمونی", - "prefs-advancedediting": "گزینه یا عمومی", + "prefs-dateformat": "شلک گات", + "prefs-timeoffset": "جا وه جایی گاتی", + "prefs-advancedediting": "گزینه یا خلکمنی", "prefs-editor": "ويرايشتگر", "prefs-preview": "پیش سیل", "prefs-advancedrc": "گزینه یا پیشکرده", @@ -966,44 +967,44 @@ "prefs-help-prefershttps": "کارگرایی ای ترجیح نها وامین اومائن نهایی شما وه کار گرته بوئه.", "prefswarning-warning": "آلشتیا شما ری ترجیحاتتو هنی اماییه نبیه.\nار ای بلگه نه بی یه که ری \"$1\" بپورنیت ول بکیت ترجیحیا شما اماییه نبوئن.", "prefs-tabs-navigation-hint": "نکته: شما می تونید د کلیتیا لادیار کن چپ و راست نه سی رئتن مین تبیا که هان د نوم گه تبیا وه کار بونیت.", - "email-address-validity-valid": "نشونی ایمیل دیار بیه خوئه", - "email-address-validity-invalid": "یه گل نشونی ایمیل خو وارد بکید", + "email-address-validity-valid": "تیرنشون انجومانامه دیار بیه خوئه", + "email-address-validity-invalid": "یه گل تیرنشون انجومانامه خو وارد بکید", "userrights": "حقوق دیوونداری کاریار", "userrights-lookup-user": "دسه یا کاروری نه دیوون داری بکیت", - "userrights-user-editname": "نوم كاروری ته وارد كو", - "editusergroup": "ویرایشت گرویا کاروری", + "userrights-user-editname": "یه گل نوم کاریاری وارد بکیت:", + "editusergroup": "ویرایشت گرویا کاریاری", "editinguser": "آلشت دئن حقوق کاریاری کاریار'''[[کاریار:$1|$1]]''' $2", - "userrights-editusergroup": "ویرایشت گرویا کاروری", + "userrights-editusergroup": "ویرایشت گرویا کاریاری", "saveusergroups": "اماییه کردن گرویا کاریاری", "userrights-groupsmember": "اندوم:", "userrights-groupsmember-auto": "اندوم ضمنی:", "userrights-groupsmember-type": "$1", "userrights-groups-help": "شما می تونیت دسه یای که ای کاریار ها دشو آلشت بئیتو:\n* جعوه نشودار وه ای مئنیه که کاریار ها د او دسه.\n* جعوه بی نشون وه ای مئنیه که کاریار د او دسه نئ.\n* نشون* د ای مئنیه که ار شما او دسه نه اضاف بکیتو د نهاتر نموئه ؤردارینش یا برعسگش.", "userrights-reason": "دليل:", - "userrights-no-interwiki": "شما سی ویرایشت حقوق کارور د ویکی یا هنی دسرسی ناریت.", + "userrights-no-interwiki": "شما سی ویرایشت حقوق کاریار د ویکی یا هنی دسرسی ناریت.", "userrights-nodatabase": "پاگا دونسمنی $1 یا نیئش یا د ولاتنشین نئ.", "userrights-nologin": "شما باید وا یه گل حساو کاریاری دیووندار [[Special:UserLogin|روئیت وامین ]] تا تونستوییت حقوق کاریاری کاریار نه گماشته کاری بکیت.", - "userrights-notallowed": "شما سی اضاف کردن حقوق کارور یا ورداشتنش دسرسی ناریت.", + "userrights-notallowed": "شما سی اضاف کردن حقوق کاریار یا ورداشتنش دسرسی ناریت.", "userrights-changeable-col": "گرویایی که شما تونیت ویرایشت بکید", "userrights-unchangeable-col": "گرویایی که شما نتونیت ویرایشت بکید", "userrights-irreversible-marker": "$1*", "userrights-conflict": "تعارض دسرسیا کاریاری! لطف بکیت یه گل وارسی انجوم بئیت و آلشتانه پشت راس بکیت.", "userrights-removed-self": "شما د خوئی حقوق خوتونه ؤرداشتیته، چی یه که مثلا شما تر نمی تونیت وه ای بلگه دسرسی داشتویت.", "group": "گرو", - "group-user": "کاروریا", - "group-autoconfirmed": "کاروریا خودوادار", + "group-user": "کاریاریا", + "group-autoconfirmed": "کاریاریا خود پش راست بیه", "group-bot": "بتیا", - "group-sysop": "مدیریا", + "group-sysop": "دیوونداریا", "group-bureaucrat": "بروکراتیا", "group-suppress": "تیه پایا", "group-all": "(همه)", - "group-user-member": "{{جنس:$1|کارور}}", + "group-user-member": "{{جنس:$1|کاریار}}", "group-autoconfirmed-member": "{{جنس:$1|کاریار خودانجومکار}}", "group-bot-member": "{{حنس:$1|بوت}}", - "group-sysop-member": "{{جنس:$1|مدیر}}", + "group-sysop-member": "{{جنس:$1|دیووندار}}", "group-bureaucrat-member": "{{جنس:$1|بروکرات}}", "group-suppress-member": "{{جنس:$1|تیه پا}}", - "grouppage-user": "{{ns:project}}:کاروریا", + "grouppage-user": "{{ns:project}}:کاریاریا", "grouppage-autoconfirmed": "{{ns:project}}:کاریار خودانجومکار", "grouppage-bot": "{{ns:project}}:بوت یا", "grouppage-sysop": "{{ns:project}}:دیوونداریا", @@ -1019,19 +1020,19 @@ "right-move-subpages": "بلگه یا و زیر بلگه یا شونه جا وه جا کو", "right-move-rootuserpages": "بلگه یا ریشه ای کارور نه جا وه جا کو", "right-move-categorypages": "دسه بلگه یا نه جا وه جا بکیت", - "right-movefile": "فایلیا نه جا وه جا کو", + "right-movefile": "جانیایا نه جا وه جا کو", "right-suppressredirect": "اوسه که بلگه یا د بین رئتنه هیچ واگردونی سی بلگه یا سرچشمه دروس نبیه", - "right-upload": "سوار کردن فايلا", + "right-upload": "سوار کردن جانیایا", "right-reupload": "سوارکرد هنی جانیایی که دماتر بئیشه", "right-reupload-own": "سوارکرد هنی جانیایی که د دماتر وه دس همو کاریار سوارکرد بیه.", "right-reupload-shared": "باطل‌کردن ولات نشینی جانیایا هومبئر بیه", - "right-upload_by_url": "سوار کرد فایلیا د یو آر ال", + "right-upload_by_url": "سوار کرد جانیایا د یو آر ال", "right-purge": "پاک کردن مینجاگر بلگه بی یه که بلگه پشت راس کردن دیاری بکه", "right-autoconfirmed": "د محدودیتیا سرعت آی پی-پایه کارگرایی ناره", "right-bot": "باور بیه چی یه گل پردازشت خودانجوم", "right-nominornewtalk": "حیرده ویرایشت بلگه یا چک چنه وه شکلی که باعث گوتن پیغوم تازه نبوئه.", "right-apihighlimits": "سخم بالاتر د وه کار بسن API", - "right-writeapi": "د نیسنن ای پی آی استفاده بکید", + "right-writeapi": "د نیسنن ای پی آی وه کار بئیریت", "right-delete": "بلگیا نه پاکسا کو", "right-bigdelete": "بلگه یایی که ویرگار گپی دارن پاکسا بکیت", "right-deletelogentry": "پاکسا کردن و ناپاکسا کردن داده واریایی ویجه ای د پهرستنومه", @@ -1039,7 +1040,7 @@ "right-deletedhistory": "دیئن چیا پاکسا بیه د ویرگار، بی یه که نیسسه ونونه بؤنیت.", "right-deletedtext": "دیئن نیسسه پاکسا بیه و آلشتیایی که هان مینجا وانئریا پاکسا بیه", "right-browsearchive": "بلگه یا پاک بیه نه پی جوری کو", - "right-undelete": "ای بلگه نه حذف نكيد", + "right-undelete": "ای بلگه نه پاکسا نكيد", "right-suppressrevision": "دیئن و زنه کردن وانئریایی بلگه یایی که د دس کاریاریا نهو بینه", "right-viewsuppressed": "دیئن وانئریایی که د تیه هر کاریاری قام بیه", "right-suppressionlog": "دیئن پهرستنومه یا خصوصی", @@ -1052,16 +1053,16 @@ "right-protect": "آلشت دئن انازه پر و پیم کردن بلگه یا و ویرایشت بلگه یا پر و پیم بیه تافی", "right-editprotected": "ویرایشت بلگه یا پر و پیم بیه چی «{{int:protect-level-sysop}}»", "right-editsemiprotected": "ویرایشت بلگه یا پر و پیم بیه چی «{{int:protect-level-autoconfirmed}}»", - "right-editinterface": "راوط کارور نه ویرایشت کو", - "right-editusercssjs": "فایلیا جاوا اسکریپت و سی اس اس کاروریا هنی نه ویرایشت کو", - "right-editusercss": "فایلیا سی اس اس کاروریا هنی نه ویرایشت کو", - "right-edituserjs": "فایلیا جاوا اسکریپت کاروریا هنی نه ویرایشت کو", - "right-editmyusercss": "فایلیا سی اس اس کارور خوتو نه ویرایشت کو", - "right-editmyuserjs": "فایلیا جاوا اسکریپت کارور خوتو نه ویرایشت کو", + "right-editinterface": "راوط کاریار نه ویرایشت کو", + "right-editusercssjs": "جانیایا جاوا اسکریپت و سی اس اس کاریاریا هنی نه ویرایشت کو", + "right-editusercss": "جانیایا سی اس اس کاریاریا هنی نه ویرایشت کو", + "right-edituserjs": "جانیایا جاوا اسکریپت کاریاریا هنی نه ویرایشت کو", + "right-editmyusercss": "جانیایا سی اس اس کاریار خوتو نه ویرایشت کو", + "right-editmyuserjs": "جانیایا جاوا اسکریپت کاریار خوتو نه ویرایشت کو", "right-viewmywatchlist": "سیل برگ خوتونه بوینیت", "right-editmywatchlist": "سیل برگ خوتونه ویرایشت بکیت. د ویرتو با که پاره ای د انجومکاریا بی دسرسی ئم می تونن ای بلگه یا نه اضافه بکن.", - "right-viewmyprivateinfo": "دونسمنیا شصقی خوتونه بوینیت(چی نشونی ایمیل،نوم راستکی)", - "right-editmyprivateinfo": "دونسمنیا شصقی خوتونه ویرایشت بکید(چی نشونی ایمیل،نوم راستکی)", + "right-viewmyprivateinfo": "دونسمنیا شصقی خوتونه بوینیت(چی تیرنشون انجومانامه،نوم راستکی)", + "right-editmyprivateinfo": "دونسمنیا شصقی خوتونه ویرایشت بکید(چی تیرنشون انجومانامه،نوم راستکی)", "right-editmyoptions": "اولویتیا تونه ویرایشت بکیت", "right-rollback": "چواشه کردن سریع ویرایشتیا آخری کاریاری که یه بلگه ویجه نه ویرایشت دئه", "right-markbotedits": "نشودار کردن ویرایشتیا چواشه بیه چی ویرایشتیا یه گل بات", @@ -1073,53 +1074,53 @@ "right-patrolmarks": "دیئن سردیس سردیاری کردن د آلشتیا ایسنی", "right-unwatchedpages": "دیئن نوم گه بلگه یا دیئه نبیه", "right-mergehistory": "وه یک شیوسن ویرگار ای بلگه", - "right-userrights": "حقوق همه کاروریانه ویرایشت بکید", - "right-userrights-interwiki": "حقوق همه کاروریانه د ویکی یا هنی ویرایشت بکید", + "right-userrights": "حقوق همه کاریاریانه ویرایشت بکید", + "right-userrights-interwiki": "حقوق همه کاریاریانه د ویکی یا هنی ویرایشت بکید", "right-siteadmin": "پاگا دونسمنی نه قلف بکید یا نکید", "right-override-export-depth": "وه در دئن بلگه یایی که بلگه یا هوم پیوند بیه تا پی یا 5 ها دشو", - "right-sendemail": "سی کاروریا هنی ایمیل کل بکید", - "right-passwordreset": "پاسورد ایمیلیا د نو دئه بیه نه بوینیت", - "newuserlogpage": "راس بیه وا کارور", - "newuserlogpagetext": "یه پهرستنومه راس بیئن کارور هئ.", + "right-sendemail": "سی کاریاریا هنی انجومانامه کل بکید", + "right-passwordreset": "رازینه گواردن انجومانامه د نو دئه بیه نه بوینیت", + "newuserlogpage": "راس بیه وا کاریار", + "newuserlogpagetext": "یه پهرستنومه راس بیئن کاریاره", "rightslog": "پهرستنومه حقوق کاریار", - "rightslogtext": "یه پهرستنومه آلشتیا حقوق کارور هئ.", - "action-read": "ای بلگه نه بحون", + "rightslogtext": "یه پهرستنومه آلشتیا حقوق کاریاره.", + "action-read": "ای بلگه نه بحو", "action-edit": "ای بلگه نه ويرايشت بكيد", "action-createpage": "راس کردن بلگیا", "action-createtalk": "بلگه یا چک چنه نه راس بکید", - "action-createaccount": "حساو ای کارور نه راس بکید", + "action-createaccount": "حساو ای کاریار نه راس بکید", "action-history": "ویرگار ای بلگه نه بوینیت", "action-minoredit": "ای ویرایشت نه چی یه حیرده ویرایشت نشو بیئت", "action-move": "لی بلگه جا وه جا کو", "action-move-subpages": "ای بلگه و زیر بلگه یاشه جا وه جا بکید", - "action-move-rootuserpages": "بلگه یا ریشه ای کارور نه جا وه جا بکید", + "action-move-rootuserpages": "بلگه یا ریشه ای کاریار نه جا وه جا بکید", "action-move-categorypages": "جا وه جا کردن دسه بلگه یا", - "action-movefile": "ای فایل جا وه جا بکید", - "action-upload": "ای فایل سوار بکید", + "action-movefile": "ای جانیا نه جا وه جا بکید", + "action-upload": "ای جانیا نه سوار بکید", "action-reupload": "نیسئین ری جانیا ایسنی", "action-reupload-shared": "باطل کردن ای جانیا ری یه گل گنجینه هومبئر", - "action-upload_by_url": "ای فایله نه د یو آر ال سوار بکید", + "action-upload_by_url": "ای جانیا نه د یو آر ال سوار بکید", "action-writeapi": "د نیسنن ای پی آی استفاده بکید", "action-delete": "ای بلگه نه پاکسا کو", - "action-deleterevision": "ای بازدئین پاک کو", + "action-deleterevision": "ای وانئری نه پاک کو", "action-deletedhistory": "ویرگار پاکسا بیه ای بلگه نه بوینیت", "action-browsearchive": "بلگه یا پاک بیه نه پی جوری بکید", "action-undelete": "ای بلگه نه پاک نکو", "action-suppressrevision": "وانئری و زنه کردن وانئریا پاک بیه", "action-suppressionlog": "ای پهرستنومه خصوصی نه بوینیت", - "action-block": "ای کارور نه د ویرایشت کردن منع کو", - "action-protect": "ریترازیا حفاظت د ای بلگه نه آلشت بکید", + "action-block": "ای کاریار نه د ویرایشت کردن نهاگری کو", + "action-protect": "ریترازیا پر و پیم کاری د ای بلگه نه آلشت بکید", "action-rollback": "چواشه کردن سریع ویرایشتیا آخری کاریاری که یه بلگه ویجه نه ویرایشت دئه", "action-import": "بلگه یا نه د ویکی هنی وارد بکید", - "action-importupload": "بلگه یا نه د فایل سوار بیه وارد بکید", + "action-importupload": "بلگه یا نه د جانیا سوار بیه وارد بکید", "action-patrol": "سردیاری کردن د ویرایشتیا کسونا تر", "action-autopatrol": "سردیاری کردن د ویرایشتیا خوتو", "action-unwatchedpages": "دیئن نوم گه بلگه یا دیئه نبیه", "action-mergehistory": "وه یک شیوسن ویرگار ای بلگه", - "action-userrights": "حقوق همه کاروریانه ویرایشت بکید", - "action-userrights-interwiki": "حقوق همه کاروریانه د ویکی یا هنی ویرایشت بکید", - "action-siteadmin": "پاگا دونسمنی نه قلف بکید یا نکید", - "action-sendemail": "ایمیلیانه کل کو", + "action-userrights": "حقوق همه کاریاریا نه ویرایشت بکید", + "action-userrights-interwiki": "حقوق همه کاریاریانه د ویکی یا هنی ویرایشت بکید", + "action-siteadmin": "رسینه جا نه قلف بکید یا نکید", + "action-sendemail": "انجومانامه یا نه کل کو", "action-editmywatchlist": "سیل برگ خوتونه ویرایشت بکید", "action-viewmywatchlist": "سیل برگ خوتونه بوینیت", "action-viewmyprivateinfo": "دونسمنیا خوتونه بوینیت", @@ -1127,10 +1128,10 @@ "nchanges": "$1 {{جمی:$1|آلشت|آلشتیا}}", "enhancedrc-since-last-visit": "$1 {{جمی:$1|د آخری دیئن}}", "enhancedrc-history": "ويرگار", - "recentchanges": "تغيريا تازه", - "recentchanges-legend": "گزينه يا آلشتيا تازه", + "recentchanges": "آلشتیا ایسنی", + "recentchanges-legend": "گزینه یا آلشتیا ایسنی", "recentchanges-summary": "دو بیشتر آلشتیا تازباو نه د ویکی نه د ای بلگه پیگری کو.", - "recentchanges-noresult": "هیژ آلشتی د طیل دوره دیار بیه وا ای معیاریا یکی نبی.", + "recentchanges-noresult": "هیژ آلشتی د درازا دوره دیار بیه وا ای معیاریا یکی نبی.", "recentchanges-feed-description": "دو بیشتر آلشتیا تازباو نه د ویکی که ها د هوال حون پیگری کو.", "recentchanges-label-newpage": "ای ويرايشت يه بلگه تازه راس كرده", "recentchanges-label-minor": "يه ويرايشت كؤچكيه", @@ -1151,7 +1152,7 @@ "rcshowhideliu": "$1 کاروريا ثوت نام کرده", "rcshowhideliu-show": "نشو دئن", "rcshowhideliu-hide": "قام کردن", - "rcshowhideanons": "$1 کاروريا ناشناس", + "rcshowhideanons": "کاریار نادیار $1", "rcshowhideanons-show": "نشو دئن", "rcshowhideanons-hide": "قام کردن", "rcshowhidepatr": "$1 ویرایشتیا تیه پرس بیه", @@ -1164,7 +1165,7 @@ "diff": "فرخ", "hist": "ويرگار", "hide": "قام كردن", - "show": "نشون دائن", + "show": "نشو دئن", "minoreditletter": "م", "newpageletter": "ن", "boteditletter": "ب", @@ -1174,19 +1175,19 @@ "rc_categories_any": "هرکوم", "rc-change-size": "$1", "rc-change-size-new": "$1 {{جمی:$1|بایت|بایتیا}} نها آلشت", - "newsectionsummary": "/* $1 */ بخش تازه", + "newsectionsummary": "/* $1 */ بهرجا تازه", "rc-enhanced-expand": "جزيات نشون بيئه", "rc-enhanced-hide": "جزياته قام كو", "rc-old-title": "ذاتا چی \"$1\" راس بیه", - "recentchangeslinked": "تغيريا مرتبط", - "recentchangeslinked-feed": "آلشتیا مرتبط", - "recentchangeslinked-toolbox": "تغيريا مرتبط", - "recentchangeslinked-title": "آلشتيا مرتوط وا $1", + "recentchangeslinked": "آلشتیا تی یکی", + "recentchangeslinked-feed": "آلشتیا تی یکی", + "recentchangeslinked-toolbox": "آلشتیا تی یکی", + "recentchangeslinked-title": "آلشتیا تی یکی د $1", "recentchangeslinked-summary": "ای نوم گه تازه د بلگیایی که وا بلگیا ویجه هوم پیوند بینه آلشت بیه(یا سی اندومیا دسه بنی بیه)\nبلگیا یی که هان [[Special:Watchlist|your watchlist]]و Ú¯Ù¾ بینه", "recentchangeslinked-page": "نوم بلگه:", "recentchangeslinked-to": "آلشتیایی که د بلگه یا هوم پیوند بینه وه جا بلگه دئیه بیه نشو بیه", - "upload": "بلم گير كردن فايلا", - "uploadbtn": "سوار کردن فایل", + "upload": "سوار کردن جانیا", + "uploadbtn": "سوار کردن جانیا", "reuploaddesc": "سوار کردن نه انجوم شیو بکیت و د ورئردیت جابلگ سوارکرد", "upload-tryagain": "کل کردن توضیحیا آلشت دئیه بیه جانیا", "uploadnologin": "وارد نبیه", @@ -1201,10 +1202,10 @@ "upload-prohibited": "جورا جانیا مجاز:$1.", "uploadlogpage": "سوارکرد", "uploadlogpagetext": "نومگه هاری یه گل نومگه د آخری سوارکرد جانیایا هئ.\nسی د نو سیل کردن[[Special:NewFiles|عسگدونی جانیایا تازه نه]] به ونیت.", - "filename": "نوم فایل", + "filename": "نوم جانیا", "filedesc": "چكسته", "fileuploadsummary": "چکسه", - "filereuploadsummary": "آلشتیا فایل:", + "filereuploadsummary": "آلشتیا جانیا:", "filestatus": "حال و بال کپی رایت", "filesource": "سرچشمه:", "ignorewarning": "تیه پوشی د زئنار و اماییه کردن جانیا", @@ -1213,19 +1214,19 @@ "illegalfilename": "نوم جانیا «$1» د وه گیرنه نیسه یایی که د نوم بلگه یا صاحاو اجاره نیئن.\nلطفن نوم جانیا نه آلشت بئیت و ونه د نو نوم بنیت.", "filename-toolong": "نوم جانیا شایت گپتر د 240 بایت نبا.", "badfilename": "نوم جانیا د \"$1\" آلشت بیه.", - "filetype-mime-mismatch": "دماون جانیا «$1.‎» وا نوع MIME وه($2) یکی نئ.", + "filetype-mime-mismatch": "دمادیس جانیا «$1.‎» وا نوع MIME وه($2) یکی نئ.", "filetype-badmime": "جانیایی که نوع MIME ونو $1 بوئه سی سوارکرد اجازه دار نیئن.", "filetype-bad-ie-mime": "نبوئه ای جانیانه سوار بکیت سی یه که اینترنت اکسپلورر ونه چی «$1» میشناسه، سی یه که وه یه گل جانیا ناصلادار و شات خطردار با.", "filetype-unwanted-type": "'''«‎.‎$1»''' یه گل جانیا حاستنی نئ.\n{{PLURAL:$3|جانیا ورتیه گر|جانیایا ورتیه گر}} د ای قرارن: $2 .", "filetype-banned-type": "‎'''\".$1\"''' {{PLURAL:$4|یه گل جانیا ناصلاداره|جانیایایی که صلادار نیئن}}.\n{{PLURAL:$3|جانیا صلادار|جانیایا صلادار}} د ای قرارن: $2.", "filetype-missing": "ای جانیا هیچ اضاف کردی ناره(چی \"جی پی جی\")", - "empty-file": "فایلی که دئی ته حالی بیه.", - "file-too-large": "فایلی که دئی ته فره Ú¯Ù¾ بی.", - "filename-tooshort": "نوم فایل فره کؤچکه.", + "empty-file": "جانیایی که دئی ته حالی بیه.", + "file-too-large": "جانیایی که دئی ته فره Ú¯Ù¾ بی.", + "filename-tooshort": "نوم جانیا فره کؤچکه.", "filetype-banned": "چنی جانیا قدقه بیه.", "verification-error": "جانیا د ازمایشت پشت راسگری نگوارد.", "hookaborted": "آلشتی که میهاستیت دروس بکیت وا یه گل قلاو اضاف کرد انجوم نگرت.", - "illegal-filename": "نوم فایل اجاره ندئه بیه.", + "illegal-filename": "نوم جانیا صلا ندئه ئه.", "overwrite": "نیسنن ری یه گل جانیایی که هیئش صلا ندئه بیه", "unknown-error": "یه گل خطا نادیار ری ون کرده.", "tmp-create-error": "نبوئه جانیا موقتی نه راس بکیتو.", @@ -1249,17 +1250,17 @@ "savefile": "جانیا نه اماییه کو", "uploaddisabled": "سوار کردن د کار نئ.", "copyuploaddisabled": "سوار کردن وا یو آر ال د کار نئ.", - "uploaddisabledtext": "سوار کرد فایلیا د کار نئ.", + "uploaddisabledtext": "سوار کرد جانیایا د کار نئ.", "php-uploaddisabledtext": "سوارکرد جانیایا د پی اچ پی ناکشتگر بیه.\nلطفن میزونکاری سوارکرد جانیا نه وارسی بکیت.", "uploadscripted": "ای بلگه مینونه دار رازینه اچ تی امل یا نیسسه یه که شایت وه ناخوشی وا دوراته نیئر واشکافت با.", "uploadscriptednamespace": "ای جانیا اس‌ وی‌ جی نوم جا غیرقانونی '$1' داره.", "uploadinvalidxml": "ایکس ام الی که سوار بیه نبوئه نوتیج با.", "uploadvirus": "د ای جانیا ویروس هئ!\nجزیات:$1", "uploadjava": "ای جانیا یه گل جانیا زیپه که مینونه دار جانیایی د نوع کلاس جاوائه.\nسوارکردن جانیایا جاوا قدقن بیه، سی یه که شایت ونو صلا دور زئن محدودیتیا امنیتی نه بی ئن.", - "upload-source": "سرچشمه فایل", + "upload-source": "سرچشمه جانیا", "sourcefilename": "سرچشمه نوم جانیا:", "sourceurl": "سرچشمه يو آر ال:", - "destfilename": "نوم فایل مقصد:", + "destfilename": "نوم جانیا مقصد:", "upload-maxfilesize": "بیشترونه انازه جانیا:$1", "upload-description": "شرح جانیا", "upload-options": "گزینه یا سوارکرد", @@ -1271,11 +1272,11 @@ "upload-failure-subj": "مشگل د سوارکردن", "upload-failure-msg": "یه گل مشلگل د سوارکردتو سی [$2] بی:$1", "upload-warning-subj": "هشدار سوارکرد", - "upload-warning-msg": "د نوم بلگه سوارکرد مشگلی بی [$2]. شما می تونیت د[[Special:Upload/stash/$1|نوم بلگه سوارکرد]] ؤیرذیت تا ای مشگل نه برطرف بکیت.", + "upload-warning-msg": "د نوم بلگه سوارکرد مشگلی بی [$2]. شما می تونیت د[[Special:Upload/stash/$1|نوم بلگه سوارکرد]] ؤیرئیت تا ای مشگل نه برطرف بکیت.", "upload-proto-error": "پروتکل نادروس", "upload-proto-error-text": "سوارکرد د د دیرادیر ائتیاج وه تیرنشونیایی داره که وا <code dir=ltr>http://</code> یا <code dir=ltr>ftp://</code> شرو بان.", "upload-file-error": "خطا مینونه", - "upload-file-error-text": "گات تلاش سی راس کردن یه گل جانیا موقتی د سرور یه گل خطا مینونه پیش اومائه.\nلطفن وا یه گل [[Special:ListUsers/sysop|دیووندار]] تماس بئریت.", + "upload-file-error-text": "گات تلاش سی راس کردن یه گل جانیا موقتی د رسینه جا یه گل خطا مینونه پیش اومائه.\nلطفن وا یه گل [[Special:ListUsers/sysop|دیووندار]] تماس بئریت.", "upload-misc-error": "خطا سوار کرد ناشناخته", "upload-misc-error-text": "د گات سوارکرد خطایی نادیاری پیش اومائه.\nلطف بکیت یه دل بایت که تیرنشون اینترنتی خو و د دسرسه و هنی تلاش بکیت.\nار مشگل هنی بیئش وا یه گل [[Special:ListUsers/sysop|دیوونداریا]] تماس بئیریت.", "upload-too-many-redirects": "ای یو آر ال د ورگیرنه واگردونیا فرئی هئ", @@ -1283,7 +1284,7 @@ "upload-copy-upload-invalid-domain": "ورداشتن سوارکردیا د ای پوشگئر د دسرس نئ.", "backend-fail-stream": "نبوئه جانیا\"$1\" کل بوئه.", "backend-fail-backup": "نبوئه سی \"$1\" پشتجا گرت.", - "backend-fail-notexists": "فایل $1 وجود ناره.", + "backend-fail-notexists": "جانیا $1 وجود ناره.", "backend-fail-hashes": "گرتن هش یا جانیا سی ری به ری یک نیاین د خوئی انجوم نگرت.", "backend-fail-notsame": "جانیا ناهمتایی ها د $1 .", "backend-fail-invalidpath": "\"$1\" ره خوئی سی امائیه کردن نئ.", @@ -2650,7 +2651,6 @@ "hijri-calendar-m4": "رجو", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|چک چنه]])", "timezone-utc": "UTC", - "unknown_extension_tag": "سردیس دمادیس نادیار \"$1\"", "duplicate-defaultsort": "زنهار کلیت پیش فرض جور بیه $2 تازه ای یا کلید پیش فرض جوربیه $1 رد بیه.", "version": "نسقه", "version-extensions": "دمادیسیا پورسه", diff --git a/languages/i18n/mg.json b/languages/i18n/mg.json index 19a78c3902..b2d0dcc5b7 100644 --- a/languages/i18n/mg.json +++ b/languages/i18n/mg.json @@ -315,6 +315,8 @@ "filerenameerror": "Tsy voaova ho \"$2\" ny anaran'ilay rakitra \"$1\".", "filedeleteerror": "Tsy voafafa ilay rakitra \"$1\".", "directorycreateerror": "Tsy afaka amboarina ny petra-drakitra (''dossier, directory'') « $1 ».", + "directoryreadonlyerror": "Vakiana ihany ny lahatahiry \"$1\"", + "directorynotreadableerror": "Tsy azo vakiana ny lahatahiry \"$1\".", "filenotfound": "Tsy hita ilay rakitra \"$1\".", "unexpected": "Tsy nandrasana: \"$1\"=\"$2\".", "formerror": "Tsy mety: tsy lasa ny fisy", @@ -651,6 +653,9 @@ "content-model-text": "soratra tsotra", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Zavatra foana", + "content-json-empty-array": "Tabilao foana", + "duplicate-args-category": "Pejy mampiasa dika mitovy hevitra amin'ny fiantsoana endrika", "expensive-parserfunction-warning": "Tandremo : Betsaka loatra ny fanantsoana ny tao parser.\n\nTsy maintsy latsaky ny $2 ny tao, kanefa misy $1. {{PLURAL:$2||}}", "expensive-parserfunction-category": "Pejy mampiasa be loatra ny tao parser", "post-expand-template-inclusion-warning": "'''Tandremo''' : be loatra ny endrika ampiasain'ity pejy ity, misy endrika tsy ho ampiasaina.", @@ -705,7 +710,7 @@ "history-feed-empty": "Tsy misy ny pejy notadiavina.\nMety efa voafafa na voafindra angamba izy.\nMitadiava amin'ny '''[[Special:Search|fiasàna fitadiavina]]''' mba hitady ny pejy misy fifandraisana.", "rev-deleted-comment": "(ambangovangom-panovana nesorina)", "rev-deleted-user": "(solonanarana nesorina)", - "rev-deleted-event": "(nesorina ny fampidirana)", + "rev-deleted-event": "(nesorina ny antsipirihan'ny laogy)", "rev-deleted-user-contribs": "[anaram-pikambana na adiresy IP voafafa - fanovana nasitria teo amin'ny fandraisan'anjara modification]", "rev-deleted-text-permission": "<strong>Voafafa</strong> ny santiônan'ity pejy ity.\nMety misy ny antsipirihany angamba ny [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAME}}}} laogim-pamafàna pejy].", "rev-deleted-text-unhide": "Ity versionan'ity pejy ity dia '''voafafa'''.\nHita ao amin'ny [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} laogim-pamafana] ny antsipirihany.\nAfaka [$1 mijery ilay versiona] ianao raha tianao.", @@ -727,12 +732,13 @@ "revdelete-show-file-confirm": "Tapa-kevitra hamafa ny ''revision''-n'i rakitra <nowiki>$1</nowiki> tamin'ny $2 tamin'ny $3 ve ianao ?", "revdelete-show-file-submit": "Eny", "logdelete-selected": "{{PLURAL:$1||}}Laogy voafidy :", + "revdelete-text-others": "Ny mpandrindra hafa dia mbola ho afaka nahazo ny votoaty miafina ary mamerina izany, \nraha tsy misy famerana mikasika izany.", "revdelete-confirm": "Amafiso eto ny hevitrao raha hanao io ianao, raha azonao sary an-tsaina ny mety ho vokany, ary raha araka ny [[{{MediaWiki:Policy-url}}|fepetra mihatra]] ny zavatra ataonao.", "revdelete-suppress-text": "Ny famafàna pejy dia ampiasaina rehefa :\n* Fampahalalana mampiely lainga\n* Misy fampahalalana tsy sarababem-bahoaka tsy metimety\n*: ''Adiresy onenana, laharana antso an-tariby, sns.''", "revdelete-legend": "Hametraka ny fe-pahitana", "revdelete-hide-text": "Tahirintsoratry ny versiona", "revdelete-hide-image": "asitriho ny votoatin'ilay rakitra", - "revdelete-hide-name": "Asitriho ny asa sy ny tanjona", + "revdelete-hide-name": "Asitriho ny tanjona sy ny parametatra", "revdelete-hide-comment": "Ambangovangon'ilay fiovàna", "revdelete-hide-user": "Adiresy IPn'ny Mpanova", "revdelete-hide-restricted": "Fafao ireo votoatiny ireo amin'ny mpiandrindra sy amin'ny mpikambana hafa", @@ -1028,6 +1034,7 @@ "right-protect": "Manova ny lenta fiarovan'ny pejy sy manova ny pejy voaaro miriana", "right-editprotected": "Manova pejy voaaro (tsy misy fiarovana en cascade)", "right-editsemiprotected": "Hanova ny pejy narovna ho \"{{int:protect-level-autoconfirmed}}\"", + "right-editcontentmodel": "Hanova ny modelim-botoatin'ny pejy", "right-editinterface": "Manova ny interface ny mpikambana", "right-editusercssjs": "Manova ny rakitra CSS sy JS ny mpikambana hafa", "right-editusercss": "Manova ny rakitra CSS ny mpikambana hafa", @@ -1100,6 +1107,7 @@ "action-viewmywatchlist": "Mijery ny pejy arahanao", "action-viewmyprivateinfo": "Mijery ny fampahalalana tsy sarababem-bahoakanao", "action-editmyprivateinfo": "Mijery ny fampahalalana sarababem-bahoakanao", + "action-editcontentmodel": "manova ny modelim-botoatin'ny pejy", "nchanges": "{{PLURAL:$1|fanovana|fanovana}} $1", "enhancedrc-since-last-visit": "$1 ({{PLURAL:$1|hatry ny famangiana farany}})", "enhancedrc-history": "tantara", @@ -2567,7 +2575,6 @@ "watchlisttools-view": "pejy arahako maso", "watchlisttools-edit": "Jereo sy ovao ny lisitra ny pejy fanaraha-maso", "watchlisttools-raw": "Ovay ilay pejy arahako maso amizao", - "unknown_extension_tag": "Balizy mitondra itatra « $1 » tsy fantatra", "duplicate-defaultsort": "'''Tandremo''' : manitsaka ny sort key taloha \"$1\" ilay sort key ankehitriny \"$2\".", "version": "Versiona", "version-extensions": "Fanitarana nampidirina", diff --git a/languages/i18n/mk.json b/languages/i18n/mk.json index 6022e8fe37..42c03dd212 100644 --- a/languages/i18n/mk.json +++ b/languages/i18n/mk.json @@ -231,6 +231,7 @@ "pool-queuefull": "Редицата на барања е полна", "pool-errorunknown": "Непозната грешка", "pool-servererror": "Службата на фондовскиот шалтер е недостапна ($1).", + "poolcounter-usage-error": "Грешка во употребата: $1", "aboutsite": "За {{SITENAME}}", "aboutpage": "Project:За {{SITENAME}}", "copyright": "Содржината е достапна под условите на $1 освен ако не е поинаку наведено.", @@ -670,6 +671,8 @@ "content-model-text": "прост текст", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Празен објект", + "content-json-empty-array": "Празна низа", "duplicate-args-category": "Страници што користат дуплирани аргументи во повикувања на шаблони", "duplicate-args-category-desc": "Страницава содржи повикувања на шаблони кои се дупликати на аргументи, како што се <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> или <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "Предупредување: Оваа страница користи премногу повикувања на parser функции.\n\nТреба да има помалку од $2 {{PLURAL:$2|повикување|повикувања}} а сега има {{PLURAL:$1|$1 повикување|$1 повикувања}}.", @@ -726,7 +729,7 @@ "history-feed-empty": "Бараната страница не постои.\nМоже била избришана од викито или преименувана.\nОбидете се да [[Special:Search|пребарате низ викито]] за релевантни нови страници.", "rev-deleted-comment": "(избришан опис на промени)", "rev-deleted-user": "(избришано корисничко име)", - "rev-deleted-event": "(избришан запис на дејство)", + "rev-deleted-event": "(избришани податоци од дневникот)", "rev-deleted-user-contribs": "[отстрането е корисничкото име или IP-адресата - уредувањето нема да се прикаже на списокот на придонеси]", "rev-deleted-text-permission": "Оваа преработка страницата е <strong>избришана</strong>.\nМожеби има подробности во [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневникот на бришења].", "rev-suppressed-text-permission": "Оваа преработка на страницата е <strong>притаена</strong>. Повеќе подробности ќе најдете во [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} дневникот на скривања].", @@ -760,7 +763,7 @@ "revdelete-legend": "Постави ограничувања за видливост", "revdelete-hide-text": "Текст на преработката", "revdelete-hide-image": "Скриј содржина на податотека", - "revdelete-hide-name": "Скриј го дејството и неговата одредница", + "revdelete-hide-name": "Скриј ја целта и параметрите", "revdelete-hide-comment": "Опис на уредувањето", "revdelete-hide-user": "Корисничко име/IP-адреса на уредникот", "revdelete-hide-restricted": "Постави ограничувања и за администратори на ист начин како и за останатите", @@ -1896,7 +1899,7 @@ "uctop": "(тековно)", "month": "Од месец (и порано):", "year": "Од година (и порано):", - "sp-contributions-newbies": "Прикажи придонеси само на нови корисници", + "sp-contributions-newbies": "Прикажи само придонеси на нови корисници", "sp-contributions-newbies-sub": "За нови кориснички сметки", "sp-contributions-newbies-title": "Придонеси на нови корисници", "sp-contributions-blocklog": "Дневник на блокирања", @@ -2986,7 +2989,6 @@ "hebrew-calendar-m11-gen": "ав", "hebrew-calendar-m12-gen": "елул", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|разговор]])", - "unknown_extension_tag": "Непозната ознака на додатокот „$1“", "duplicate-defaultsort": "Предупредување: Основниот клуч за подредување „$2“ го поништува претходниот основен клуч за подредување „$1“.", "duplicate-displaytitle": "<strong>Предупредување:</strong> Приказниот наслов „$2“ го заменува претходнито приказен наслов „$1“.", "invalid-indicator-name": "<strong>Грешка:</strong> Атрибутот <code>name</code> што го покажува статусот на страницата не може да биде празен.", diff --git a/languages/i18n/ml.json b/languages/i18n/ml.json index b7481e9b0c..10743af4d8 100644 --- a/languages/i18n/ml.json +++ b/languages/i18n/ml.json @@ -577,7 +577,7 @@ "anoneditwarning": "<strong>മുന്നറിയിപ്പ്:</strong> താങ്കൾ ലോഗിൻ ചെയ്തിട്ടില്ല. താങ്കൾ തിരുത്തുകളെന്തെങ്കിലും ചെയ്യുകയാണെങ്കിൽ താങ്കളുടെ ഐ.പി. വിലാസം എല്ലാവർക്കും ലഭ്യമായിരിക്കും. താങ്കൾ <strong>[$1 ലോഗിൻ ചെയ്യുകയോ]</strong> <strong>[$2 അംഗത്വമെടുക്കുകയോ]</strong> ചെയ്യുന്നതുവഴി മറ്റ് ഗുണങ്ങളോടൊപ്പം താങ്കളുടെ തിരുത്തുകൾ ഉപയോക്തൃനാമത്തിലാവും അറിയപ്പെടുക.", "anonpreviewwarning": "''താങ്കൾ ലോഗിൻ ചെയ്തിട്ടില്ല. സേവ് ചെയ്യുമ്പോൾ താളിന്റെ തിരുത്തൽ ചരിത്രത്തിൽ താങ്കളുടെ ഐ.പി. വിലാസം ചേർത്തു സൂക്ഷിക്കപ്പെടും.''", "missingsummary": "'''ഓർമ്മക്കുറിപ്പ്:''' താങ്കൾ തിരുത്തലിന്റെ ചുരുക്കരൂപം നൽകിയിട്ടില്ല. ''സേവ് ചെയ്യുക'' ബട്ടൺ ഒരുവട്ടം കൂടി അമർത്തിയാൽ താങ്കൾ വരുത്തിയ മാറ്റം കാത്തുസൂക്ഷിക്കുന്നതാണ്.", - "selfredirect": "<strong>മുന്നറിയിപ്പ്:</strong> അതേ ലേഖനത്തിലേക്കുള്ള തിരിച്ചുവിടലാണ് താങ്കൾ സൃഷ്ടിക്കുന്നത്.\nവീണ്ടും \"{{int:savearticle}}\" അമർത്തിയാൽ, തിരിച്ചുവിടൽ സൃഷ്ടിക്കപ്പെടുന്നതാണ്.", + "selfredirect": "<strong>മുന്നറിയിപ്പ്:</strong> ഈ താളിലേക്ക് തന്നെയുള്ള തിരിച്ചുവിടലാണ് താങ്കൾ സൃഷ്ടിക്കുന്നത്.\nതിരിച്ചുവിടലിനു താങ്കൾ നൽകിയ ലക്ഷ്യം തെറ്റിയിരിക്കാം അല്ലെങ്കിൽ താങ്കൾ തിരുത്തുന്നത് തെറ്റായ താൾ ആയിരിക്കാം.\nഎന്തായാലും, വീണ്ടും \"{{int:savearticle}}\" അമർത്തിയാൽ, തിരിച്ചുവിടൽ സൃഷ്ടിക്കപ്പെടുന്നതാണ്.", "missingcommenttext": "താങ്കളുടെ അഭിപ്രായം ദയവായി താഴെ രേഖപ്പെടുത്തുക.", "missingcommentheader": "'''ഓർമ്മക്കുറിപ്പ്:''' ഈ കുറിപ്പിന് താങ്കൾ വിഷയം/തലക്കെട്ട് നൽകിയിട്ടില്ല. ''{{int:savearticle}}'' എന്ന ബട്ടൺ ഒരുവട്ടം കൂടി അമർത്തിയാൽ വിഷയം/തലക്കെട്ട് ഇല്ലാതെ തന്നെ കാത്തുസൂക്ഷിക്കുന്നതാവും.", "summary-preview": "ചുരുക്കരൂപം എങ്ങനെയുണ്ടെന്നു കാണുക:", @@ -732,7 +732,7 @@ "history-feed-empty": "താങ്കൾ തിരഞ്ഞ താൾ നിലവിലില്ല.\nപ്രസ്തുത താൾ വിക്കിയിൽ നിന്നു ഒഴിവാക്കിയിരിക്കാനോ പുനർനാമകരണം ചെയ്തിരിക്കാനോ സാദ്ധ്യത ഉണ്ട്.\nബന്ധപ്പെട്ട പുതിയ താളുകൾ കണ്ടെത്താൻ [[Special:Search|വിക്കിയിലെ തിരച്ചിൽ]] എന്ന താൾ ഉപയോഗിക്കുക.", "rev-deleted-comment": "(തിരുത്തലിന്റെ ചുരുക്കം ഒഴിവാക്കിയിരിക്കുന്നു)", "rev-deleted-user": "(ഉപയോക്തൃനാമം ഒഴിവാക്കിയിരിക്കുന്നു)", - "rev-deleted-event": "(പ്രവൃത്തിയുടെ രേഖ ഒഴിവാക്കിയിരിക്കുന്നു)", + "rev-deleted-event": "(രേഖാ വിവരങ്ങൾ ഒഴിവാക്കിയിരിക്കുന്നു)", "rev-deleted-user-contribs": "[ഉപയോക്തൃനാമം അഥവാ ഐ.പി. വിലാസം ഒഴിവാക്കപ്പെട്ടിരിക്കുന്നു - തിരുത്തൽ സേവനങ്ങളിൽ നിന്നും മറച്ചിരിക്കുന്നു]", "rev-deleted-text-permission": "താളിന്റെ ഈ നാൾപ്പതിപ്പ് '''മായ്ച്ചിരിക്കുന്നു'''.\nകൂടുതൽ വിവരങ്ങൾ [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} മായ്ക്കൽ രേഖയിൽ] കാണാവുന്നതാണ്.", "rev-suppressed-text-permission": "താളിന്റെ ഈ സംശോധനം <strong>ഒതുക്കിയിരിക്കുന്നു</strong>.\nകൂടുതൽ വിവരങ്ങൾ [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} ഒതുക്കൽ രേഖയിൽ] ഉണ്ട്.", @@ -766,7 +766,7 @@ "revdelete-legend": "നാൾപ്പതിപ്പിന്റെ ദർശനീയത സജ്ജീകരിക്കുക", "revdelete-hide-text": "നാൾപ്പതിപ്പിലെ എഴുത്ത്", "revdelete-hide-image": "പ്രമാണത്തിന്റെ ഉള്ളടക്കം മറയ്ക്കുക", - "revdelete-hide-name": "പ്രവൃത്തിയും ലക്ഷ്യവും മറയ്ക്കുക", + "revdelete-hide-name": "ലക്ഷ്യവും ചരങ്ങളും മറയ്ക്കുക", "revdelete-hide-comment": "തിരുത്തലിന്റെ ചുരുക്കം", "revdelete-hide-user": "തിരുത്തുന്ന ആളുടെ ഉപയോക്തൃനാമം/ഐ.പി. വിലാസം", "revdelete-hide-restricted": "വിവരങ്ങളുടെ നിയന്ത്രണം മറ്റുള്ളവരെ പോലെ കാര്യനിർവാഹകർക്കും ബാധകമാക്കുക", @@ -2863,7 +2863,6 @@ "watchlisttools-edit": "ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടിക കാണുക, തിരുത്തുക", "watchlisttools-raw": "താങ്കൾ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയുടെ മൂലരൂപം തിരുത്തുക", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|സംവാദം]])", - "unknown_extension_tag": "അജ്ഞാതമായ അനുബന്ധ റ്റാഗ് \"$1\"", "duplicate-defaultsort": "'''മുന്നറിയിപ്പ്:''' ക്രമപ്പെടുത്താനുള്ള ചാവിയായ \"$2\" മുമ്പ് ക്രമപ്പെടുത്താനുള്ള ചാവിയായിരുന്ന \"$1\" എന്നതിനെ അതിലംഘിക്കുന്നു.", "duplicate-displaytitle": "<strong>മുന്നറിയിപ്പ്:</strong> പ്രദർശിപ്പിക്കുന്ന തലക്കെട്ട് \"$2\" മുമ്പ് പ്രദർശിപ്പിച്ചിരുന്ന തലക്കെട്ട് \"$1\" എന്നതിനെ അതിലംഘിക്കുന്നു.", "version": "പതിപ്പ്", diff --git a/languages/i18n/nap.json b/languages/i18n/nap.json index 526cd4b159..ea0c34427e 100644 --- a/languages/i18n/nap.json +++ b/languages/i18n/nap.json @@ -656,6 +656,8 @@ "content-model-text": "testo nurmale", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Oggetto abbacante", + "content-json-empty-array": "Array abbacante", "duplicate-args-category": "Paggene c'ausano argomiente dupprecate dint' 'e chiammate a 'e mudelle", "duplicate-args-category-desc": "'A paggena tene chiammate a mudelle c'ausassero argomiente dupprecate, comme p'esempio <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> o <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "'''Attenziò:''' Sta paggena cuntene troppe chiammate a 'e funzione parser.\n\nN'avesse 'a tené meno 'e $2, p' 'o mumento ce ne {{PLURAL:$1|stà $1|stanno $1}}.", @@ -712,7 +714,7 @@ "history-feed-empty": "'A paggena addimannata nun esiste.\nPuò darsi ca è stata scancellata d' 'a wiki, o s'è cagnato 'o nomme.\nProva a vedé [[Special:Search|dint' 'a wiki]] si ce stanno nnove paggene.", "rev-deleted-comment": "(Oggetto d' 'o cagnamiento luvato)", "rev-deleted-user": "(nomme utente luvato)", - "rev-deleted-event": "(azione d' 'o log luvata)", + "rev-deleted-event": "(dettaglie d' 'o log luvate)", "rev-deleted-user-contribs": "[nomme utente o indirizzo IP luvato - cagnamiento annascunnuto d' 'a cronologgia]", "rev-deleted-text-permission": "Sta verziona d' 'a paggena è stata '''scancellata'''.\nAscìa dint' 'o [{{fullurl:{{#Special:Log}}/delete|page={{PAGENAMEE}}}} riggistro d' 'e scancellamiente] pe ne sapé 'e cchiù.", "rev-suppressed-text-permission": "Sta verziona d' 'a paggena è stata '''luvata'''.\nVide 'o [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} riggistro 'e paggene luvate] pe' ne sapé 'e cchiù.", @@ -746,7 +748,7 @@ "revdelete-legend": "Miette 'e limmete 'e visibilità", "revdelete-hide-text": "Testo d' 'a verziona", "revdelete-hide-image": "Annascunne 'e cuntenute d' 'o file", - "revdelete-hide-name": "Annascunne aziona e l'oggetto 'e cchesta", + "revdelete-hide-name": "Annascunne l'oggetto e parametre", "revdelete-hide-comment": "Modifeca oggetto", "revdelete-hide-user": "Nomme o indirizzo IP 'e ll'autore", "revdelete-hide-restricted": "Annascunne 'e nfurmaziune 'nnecate pure a l'ammenistrature", @@ -2826,7 +2828,6 @@ "watchlisttools-edit": "Vide e cagna l'elenco 'e paggene cuntrullate", "watchlisttools-raw": "Cagna l'elenco 'e paggene cuntrullate ncruro", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|chiacchiere]])", - "unknown_extension_tag": "Tag 'e stensione scanusciuto \"$1\"", "duplicate-defaultsort": "<strong>Attenziò:</strong> A chiave d'arricetto \"$2\" se miette ncuollo a nu valore 'e primma \"$1\".", "duplicate-displaytitle": "<strong>Attenziò:</strong> A chiave d'arricetto \"$2\" se scagna p' 'o valore 'e primma \"$1\".", "invalid-indicator-name": "<strong>Errore:</strong> attribbuto <code>name</code> 'e ll'innecature d' 'o stato d' 'a paggena nu può rummanè abbacante.", diff --git a/languages/i18n/nds-nl.json b/languages/i18n/nds-nl.json index 238ff584c8..59c72621c5 100644 --- a/languages/i18n/nds-nl.json +++ b/languages/i18n/nds-nl.json @@ -2716,7 +2716,6 @@ "watchlisttools-edit": "Volglieste bekieken en bewarken", "watchlisttools-raw": "Roewe volglieste bewarken", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|overleg]])", - "unknown_extension_tag": "Onbekende tag \"$1\"", "duplicate-defaultsort": "Waorschuwing: de standardsortering \"$2\" krig veurrang veur de sortering \"$1\".", "version": "Versie", "version-extensions": "Uutbreidingen die installeerd bin", diff --git a/languages/i18n/nl.json b/languages/i18n/nl.json index fa7a9d389f..61683af5f8 100644 --- a/languages/i18n/nl.json +++ b/languages/i18n/nl.json @@ -61,7 +61,9 @@ "Arg", "NCoppens", "Josse.Cottenier", - "Macofe" + "Macofe", + "Mirolith", + "Akoopal" ] }, "tog-underline": "Koppelingen onderstrepen:", @@ -611,6 +613,7 @@ "anoneditwarning": "<strong>Waarschuwing:</strong> u bent niet aangemeld.\nUw IP-adres wordt opgeslagen als u wijzigingen op deze pagina maakt. Wanneer u <strong>[$1 aanmeldt]</strong> of <strong>[$2 een gebruiker aanmaakt]</strong verschijnen uw bewerkingen onder uw gebruikersnaam, naast andere voordelen.", "anonpreviewwarning": "''U bent niet aangemeld.''\n''Door uw bewerking op te slaan wordt uw IP-adres opgeslagen in de paginageschiedenis.''", "missingsummary": "'''Let op:''' u hebt geen bewerkingssamenvatting opgegeven.\nAls u nogmaals op \"{{int:savearticle}}\" klikt wordt de bewerking zonder samenvatting opgeslagen.", + "selfredirect": "<strong>Waarschuwing:</strong>U heeft een doorverwijzing gemaakt naar dezelfde pagina. Mogelijk heeft u de verkeerde bestemming voor de doorverwijzing gebruikt, of bewerkt u de verkeerde pagina. Door alsnog op \"{{int:savearticle}}\" te klikken word de doorverwijzing alsnog gecreëerd.", "missingcommenttext": "Plaats uw reactie hieronder.", "missingcommentheader": "'''Let op:''' u hebt geen onderwerp/kop voor deze opmerking opgegeven.\nAls u opnieuw op \"{{int:savearticle}}\" klikt, wordt uw wijziging zonder een onderwerp/kop opgeslagen.", "summary-preview": "Bewerkingssamenvatting nakijken:", @@ -709,6 +712,7 @@ "content-model-text": "tekst zonder opmaak", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Leeg object", "duplicate-args-category": "Pagina's met dubbele sjabloonparameters", "duplicate-args-category-desc": "De pagina bevat aanroepen van sjablonen waarin hetzelfde argument meerdere keren wordt gebruikt, bijvoorbeeld <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> of <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "'''Waarschuwing:''' deze pagina gebruikt te veel kostbare parserfuncties.\n\nNu {{PLURAL:$1|is|zijn}} het er $1, terwijl het er minder dan $2 {{PLURAL:$2|moet|moeten}} zijn.", @@ -2910,7 +2914,6 @@ "iranian-calendar-m11": "Elfde Perzische maand", "iranian-calendar-m12": "Twaalfde Perzische maand", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|overleg]])", - "unknown_extension_tag": "Onbekende tag \"$1\"", "duplicate-defaultsort": "'''Waarschuwing:''' de standaardsortering \"$2\" krijgt voorrang voor de sortering \"$1\".", "duplicate-displaytitle": "<strong>Waarschuwing:</strong>Titelweergave \"$2\" overschrijft eerdere titelweergave \"$1\".", "invalid-indicator-name": "<strong>Fout:</strong> de eigenschap <code>name</code> van de paginastatusindicators mag niet leeg zijn.", diff --git a/languages/i18n/nn.json b/languages/i18n/nn.json index 16ff0e2da3..68b61a51b9 100644 --- a/languages/i18n/nn.json +++ b/languages/i18n/nn.json @@ -47,7 +47,7 @@ "tog-shownumberswatching": "Vis kor mange som overvakar sida", "tog-oldsig": "Noverande signatur:", "tog-fancysig": "Handsam signaturar som wikitekst (utan automatisk lenking)", - "tog-uselivepreview": "Bruk levande førehandsvising (eksperimentelt)", + "tog-uselivepreview": "Bruk levande førehandsvising", "tog-forceeditsummary": "Spør meg nÃ¥r eg ikkje har skrive noko i endringssamandraget", "tog-watchlisthideown": "Gøym endringane mine i overvakingslista", "tog-watchlisthidebots": "Gøym endringar gjorde av robotar i overvakingslista", @@ -222,6 +222,7 @@ "otherlanguages": "PÃ¥ andre sprÃ¥k", "redirectedfrom": "(Omdirigert frÃ¥ $1)", "redirectpagesub": "Omdirigeringsside", + "redirectto": "Omdirigering til:", "lastmodifiedat": "Sida vart sist endra $1 kl. $2.", "viewcount": "Sida er vist {{PLURAL:$1|éin gong|$1 gonger}}.", "protectedpage": "Verna side", @@ -270,7 +271,7 @@ "toc": "Innhaldsliste", "showtoc": "vis", "hidetoc": "gøym", - "collapsible-collapse": "SlÃ¥ saman.", + "collapsible-collapse": "SlÃ¥ saman", "collapsible-expand": "Vid ut", "confirmable-confirm": "Er {{GENDER:$1|du}} viss pÃ¥ dette?", "confirmable-yes": "Ja", @@ -305,6 +306,8 @@ "error": "Feil", "databaseerror": "Databasefeil", "databaseerror-text": "Ein spørjefeil mot databasen har oppstÃ¥tt.\nDette kan indikere ein feil i programvara.", + "databaseerror-query": "Spørjing: $1", + "databaseerror-function": "Funksjon: $1", "databaseerror-error": "Feil: $1", "laggedslavemode": "Åtvaring: Det er mogleg at sida ikkje er heilt oppdatert.", "readonly": "Databasen er skriveverna", @@ -320,6 +323,8 @@ "filerenameerror": "Kunne ikkje døype om fila frÃ¥ «$1» til «$2».", "filedeleteerror": "Kunne ikkje slette fila «$1».", "directorycreateerror": "Kunne ikkje opprette mappa «$1».", + "directoryreadonlyerror": "Mappa «$1» er skriveverna.", + "directorynotreadableerror": "Mappa «$1» kan ikkje lesast.", "filenotfound": "Kunne ikkje finne fila «$1».", "unexpected": "Uventa verdi: «$1»=«$2».", "formerror": "Feil: Kunne ikkje sende skjema", @@ -395,11 +400,14 @@ "gotaccountlink": "Logg inn", "userlogin-resetlink": "Har du gløymd pÃ¥loggingsopplysingane dine?", "userlogin-resetpassword-link": "Gløymt passordet ditt?", + "userlogin-helplink2": "Hjelp med innlogging", + "userlogin-loggedin": "Du er alt innlogga som {{GENDER:$1|$1}}.\nNytt skjemaet nedanfor for Ã¥ logga inn som ein annan brukar.", + "userlogin-createanother": "Opprett ein annan konto", "createacct-emailrequired": "E-postadresse:", "createacct-emailoptional": "E-postadresse (valfritt)", "createacct-email-ph": "Skriv inn e-postadressa di", "createacct-another-email-ph": "Skriv inn e-postadresse", - "createaccountmail": "Bruk eit mellombels tilfeldig passord og send det til e-postadressa som er oppgjeven under", + "createaccountmail": "Bruk eit mellombels tilfeldig passord og send det til den oppgjevne e-postadressa", "createacct-realname": "Sant namn (valfritt)", "createaccountreason": "Årsak:", "createacct-reason": "Årsak", @@ -495,9 +503,9 @@ "passwordreset-emailtext-ip": "Nokon (sannsynlegvis deg, frÃ¥ IP-adressa $1) bad om ei pÃ¥minning for kontodetaljane dine for {{SITENAME}} ($4). {{PLURAL:$3|Den fylgjande brukarkontoen|Dei fylgjande brukarkontoane}} er assosierte med denne e-postadressa:\n\n$2\n\n{{PLURAL:$3|Dette mellombels passordet|Desse mellombels passorda}} vil verta ugilde om {{PLURAL:$5|éin dag|$5 dagar}}.\nDu bør logga inn og velja eit nytt passord no. Om nokon andre enn deg bad om denne pÃ¥minninga, eller du har kome i hug det opphavlege passordet og ikkje lenger ynskjer Ã¥ endra det, kan du sjÃ¥ bort frÃ¥ denne meldinga og halda fram med Ã¥ nytta det gamle passordet ditt.", "passwordreset-emailtext-user": "Brukaren $1 pÃ¥ {{SITENAME}} bad om ei pÃ¥minning for kontodetaljane dine for {{SITENAME}} ($4). {{PLURAL:$3|Den fylgjande brukarkontoen|Dei fylgjande brukarkontoane}} er assosierte med denne e-postadressa:\n\n$2\n\n{{PLURAL:$3|Dette mellombels passordet|Desse mellombels passorda}} vil verta ugilde om {{PLURAL:$5|éin dag|$5 dagar}}.\nDu bør logga inn og velja eit nytt passord no. Om nokon andre enn deg bad om denne pÃ¥minninga, eller du har kome i hug det opphavlege passordet og ikkje lenger ynskjer Ã¥ endra det, kan du sjÃ¥ bort frÃ¥ denne meldinga og halda fram med Ã¥ nytta det gamle passordet ditt.", "passwordreset-emailelement": "↓Brukarnamn: $1\nMellombels passord: $2", - "passwordreset-emailsent": "↓Ei pÃ¥minning har vorte sendt pÃ¥ e-post.", - "passwordreset-emailsent-capture": "Eposten under er sendt ut som ei pÃ¥minning.", - "passwordreset-emailerror-capture": "Ein pÃ¥minnings-e-post vart oppretta, og er vist nedanfor; men det lukkast ikkje Ã¥ senda han til brukaren: $1", + "passwordreset-emailsent": "Ein e-post for attendestilling av passord er vorten send", + "passwordreset-emailsent-capture": "Ein e-post om attendestilling av passord - vist under - er vorten send", + "passwordreset-emailerror-capture": "Ein e-post om attendestilling av passord vart oppretta, og er vist nedanfor; men det lukkast ikkje Ã¥ senda han til {{GENDER:$2|brukaren}}: $1", "changeemail": "↓Endre e-postadresse", "changeemail-text": "↓Fyll ut dette skjemaet for Ã¥ endra di e-postadresse. Du mÃ¥ oppgje passordet ditt for Ã¥ stadfesta endringa.", "changeemail-no-info": "↓Du mÃ¥ vera pÃ¥logga for Ã¥ fÃ¥ tilgang direkte til denne sida.", @@ -506,6 +514,7 @@ "changeemail-none": "↓(ingen)", "changeemail-password": "{{SITENAME}}-passordet ditt:", "changeemail-submit": "↓Endre e-post", + "changeemail-throttled": "Du har freista for mange gonger Ã¥ logga inn. Du lyt venta $1 før du kan freista pÃ¥ nytt.", "bold_sample": "Halvfeit skrift", "bold_tip": "Halvfeit skrift", "italic_sample": "Kursivskrift", @@ -963,6 +972,7 @@ "right-move": "Flytte sider", "right-move-subpages": "Flytte sider med undersider", "right-move-rootuserpages": "Flytte hovudbrukarsider", + "right-move-categorypages": "Flytta kategorisider", "right-movefile": "Flytta filer", "right-suppressredirect": "Treng ikkje lage omdirigering frÃ¥ det gamle namnet nÃ¥r sida vert flytta", "right-upload": "Laste opp filer", @@ -1031,6 +1041,7 @@ "action-move": "flytte denne sida", "action-move-subpages": "flytte denne sida og undersidene hennar", "action-move-rootuserpages": "flytte hovudbrukarsider", + "action-move-categorypages": "flytta kategorisider", "action-movefile": "flytta denne fila", "action-upload": "laste opp denne fila", "action-reupload": "skrive over den noverande fila", @@ -1047,8 +1058,8 @@ "action-block": "blokkere denne brukaren frÃ¥ Ã¥ gjere endringar", "action-protect": "endre vernenivÃ¥et til sida", "action-rollback": "snøgt rulla attende endringane til den siste brukaren som endra ei viss side", - "action-import": "importere denne sida frÃ¥ ein annan wiki", - "action-importupload": "importere denne sida frÃ¥ ei opplasta fil", + "action-import": "importera sider frÃ¥ ein annan wiki", + "action-importupload": "importera sider frÃ¥ ei filopplasting", "action-patrol": "merke andre endringar av andre brukar som patruljert", "action-autopatrol": "merke endringane dine som partuljert", "action-unwatchedpages": "vise lista over uovervaka sider", @@ -1059,7 +1070,10 @@ "action-sendemail": "senda e-postar", "action-editmywatchlist": "endra overvakingslista di", "action-viewmywatchlist": "sjÃ¥ overvakingslista di", + "action-viewmyprivateinfo": "sjÃ¥ den private informasjonen din", + "action-editmyprivateinfo": "endra den private informasjonen din", "nchanges": "{{PLURAL:$1|Éi endring|$1 endringar}}", + "enhancedrc-history": "historikk", "recentchanges": "Siste endringar", "recentchanges-legend": "Alternativ for siste endringar", "recentchanges-summary": "PÃ¥ denne sida ser du dei sist endra sidene i {{SITENAME}}.", @@ -1285,6 +1299,7 @@ "license-nopreview": "(Førehandsvising er ikkje tilgjengeleg)", "upload_source_url": " (ei gyldig, offentleg tilgjengeleg nettadresse)", "upload_source_file": " (ei fil pÃ¥ datamaskina di)", + "listfiles-delete": "slett", "listfiles-summary": "Spesialsida viser alle opplasta filer.\nNÃ¥r ho er filtrert etter brukar, vert berre filene der brukaren lasta opp den siste versjonen viste.", "listfiles_search_for": "Søk etter filnamn:", "imgfile": "fil", @@ -1296,6 +1311,8 @@ "listfiles_size": "Storleik", "listfiles_description": "Skildring", "listfiles_count": "Versjonar", + "listfiles-latestversion-yes": "Ja", + "listfiles-latestversion-no": "Nei", "file-anchor-link": "Fil", "filehist": "Filhistorikk", "filehist-help": "Klikk pÃ¥ dato/klokkeslett for Ã¥ sjÃ¥ fila slik ho var pÃ¥ det tidspunktet.", @@ -1370,6 +1387,8 @@ "randomincategory": "Tilfeldig side frÃ¥ kategori", "randomincategory-invalidcategory": "«$1» er ikkje eit gildt kategorinamn.", "randomincategory-nopages": "Det er ingen sider i kategorien [[:Category:$1|$1]].", + "randomincategory-category": "Kategori:", + "randomincategory-legend": "Tilfeldig side frÃ¥ kategori", "randomredirect": "Tilfeldig omdirigering", "randomredirect-nopages": "Det finst ingen omdirigeringar i namnerommet «$1».", "statistics": "Statistikk", @@ -1429,25 +1448,38 @@ "wantedfiles": "Etterspurde filer", "wantedfiletext-cat": "Desse filene er nytta men finst ikkje. Filer frÃ¥ utannettstadlege samlingar kan vera lista opp sjølv om dei finst. Slike falske positivar vert <del>strokne ut</del>. Sider som nyttar filer som ikkje finst vert lista opp i [[:$1]].", "wantedfiletext-nocat": "Desse filene er nytta men finst ikkje. Filer frÃ¥ utannettstadlege samlingar kan vera lista opp sjølv om dei finst. Slike falske positivar vert <del>strokne ut</del>.", + "wantedfiletext-nocat-noforeign": "Desse filene vert nytta, men finst ikkje.", "wantedtemplates": "Etterspurde malar", "mostlinked": "Sidene med flest lenkjer til seg", "mostlinkedcategories": "Mest brukte kategoriar", - "mostlinkedtemplates": "Mest brukte malar", + "mostlinkedtemplates": "Mest inkluderte sider", "mostcategories": "Sidene med flest kategoriar", "mostimages": "Mest brukte filer", "mostinterwikis": "Sidene med flest interwikiar", "mostrevisions": "Sidene med flest endringar", "prefixindex": "Alle sider med forstaving", "prefixindex-namespace": "Alle sider med førefeste ($1-namnerommet)", + "prefixindex-strip": "Fjern førefestet i lista", "shortpages": "Korte sider", "longpages": "Lange sider", "deadendpages": "Blindvegsider", "deadendpagestext": "Desse sidene har ikkje lenkjer til andre sider pÃ¥ {{SITENAME}}.", "protectedpages": "Verna sider", "protectedpages-indef": "Berre vern pÃ¥ uavgrensa tid", + "protectedpages-summary": "Sida listar opp sider som finst og er verna. For ei liste over titlar som er verna mot oppretting, sjÃ¥ [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].", "protectedpages-cascade": "Berre djupvern", + "protectedpages-noredirect": "Gøym omdirigeringar", "protectedpagesempty": "Ingen sider er verna pÃ¥ den valde mÃ¥ten akkurat no.", + "protectedpages-timestamp": "Tidsmerke", + "protectedpages-page": "Side", + "protectedpages-expiry": "Endar", + "protectedpages-performer": "Brukar som verna", + "protectedpages-params": "Vernestode", + "protectedpages-reason": "Årsak", + "protectedpages-unknown-timestamp": "Ukjent", + "protectedpages-unknown-performer": "Ukjend brukar", "protectedtitles": "Verna sidenamn", + "protectedtitles-summary": "Sida listar opp titlar som er verna mot oppretting. For ei liste over sider som finst og er verna, sjÃ¥ [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].", "protectedtitlesempty": "Ingen sider er verna pÃ¥ den valde mÃ¥ten akkurat no.", "listusers": "Brukarliste", "listusers-editsonly": "Vis berre brukarar med endringar", @@ -2000,6 +2032,7 @@ "allmessages-prefix": "Filtrer etter prefiks:", "allmessages-language": "SprÃ¥k:", "allmessages-filter-submit": "GÃ¥", + "allmessages-filter-translate": "Set om", "thumbnail-more": "Forstørr", "filemissing": "Fila manglar", "thumbnail_error": "Feil ved oppretting av miniatyrbilete: $1", @@ -2015,6 +2048,7 @@ "import": "Importer sider", "importinterwiki": "Transwikiimport", "import-interwiki-text": "Vel ei wiki og ei side Ã¥ importere. Endringssdatoer og brukarar som har medverka vert bevart. Alle transwiki-importeringar vert vist i [[Special:Log/import|importloggen]].", + "import-interwiki-sourcepage": "Kjeldeside:", "import-interwiki-history": "Kopier all historikken for denne sida", "import-interwiki-templates": "Inkluder alle malar", "import-interwiki-submit": "Importer", @@ -2696,7 +2730,6 @@ "watchlisttools-edit": "Vis og endre overvakingslista", "watchlisttools-raw": "Endre pÃ¥ overvakingslista i rÃ¥format", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|diskusjon]])", - "unknown_extension_tag": "Ukjend tilleggsmerking «$1»", "duplicate-defaultsort": "Åtvaring: Standardsorteringa «$2» tar over for den tidlegare sorteringa «$1».", "version": "Versjon", "version-extensions": "Installerte utvidingar", @@ -2761,6 +2794,7 @@ "specialpages-group-wiki": "Data og verktøy", "specialpages-group-redirects": "Omdirigerande spesialsider", "specialpages-group-spam": "Spamverktøy", + "specialpages-group-developer": "Utviklarverktøy", "blankpage": "Tom side", "intentionallyblankpage": "Denne sida er tom med vilje", "external_image_whitelist": " #La denne linja vere som ho er<pre>\n#Skriv fragment av regulære uttrykk (delen som gÃ¥r mellom //) nedanfor\n#Desse vil verte sjekka mot adresser til bilete frÃ¥ eksterne sider\n#Dei som vert godkjend vil visast, elles vil det verte gjeve ei lenkje til bilete\n#Linjer som byrjar med # vert rekna som kommentarar\n#Det vert ikkje skilt mellom smÃ¥ og store bokstavar\n\n#Skriv alle fragment av regulære uttrykk over denne lina. La denne linja vere som ho er</pre>", @@ -2795,7 +2829,7 @@ "dberr-usegoogle": "Du kan søkja gjennom Google i mellomtida.", "dberr-outofdate": "Merk at versjonane deira av innhaldet vÃ¥rt kan vera forelda.", "dberr-cachederror": "Dette er ein mellomlagra kopi av den etterspurde sida og er mogelegvis ikkje den gjeldande versjonen av henne.", - "htmlform-invalid-input": "Det finst problem med innskrivinga di", + "htmlform-invalid-input": "Det er problem med nokre av inndataa dine.", "htmlform-select-badoption": "Verdien du valde er ikkje eit gyldig alternativ.", "htmlform-int-invalid": "Verdien du valde er ikkje eit heiltal.", "htmlform-float-invalid": "Verdien du valde er ikkje eit tal.", @@ -2932,5 +2966,13 @@ "expand_templates_remove_nowiki": "Ikkje vis <nowiki>-merke i resultatet", "expand_templates_generate_xml": "Vis parsertre som XML", "expand_templates_generate_rawhtml": "Vis rÃ¥ HTML", - "expand_templates_preview": "Førehandsvising" + "expand_templates_preview": "Førehandsvising", + "mediastatistics-header-unknown": "Ukjende", + "mediastatistics-header-audio": "Lyd", + "mediastatistics-header-video": "Videoar", + "mediastatistics-header-multimedia": "Rike media", + "mediastatistics-header-office": "Kontor", + "mediastatistics-header-text": "Tekstformat", + "mediastatistics-header-executable": "Kan køyrast", + "mediastatistics-header-archive": "Komprimerte format" } diff --git a/languages/i18n/pl.json b/languages/i18n/pl.json index cbfd8d1de3..8582f54b22 100644 --- a/languages/i18n/pl.json +++ b/languages/i18n/pl.json @@ -720,7 +720,9 @@ "content-model-text": "zwykły tekst", "content-model-javascript": "JavaScript", "content-model-css": "CSS", - "duplicate-args-category": "Strony zawierające duplikaty parametrów w wywołaniach szablonów", + "content-json-empty-object": "Pusty obiekt", + "content-json-empty-array": "Pusta tablica", + "duplicate-args-category": "Strony zawierające wywołania szablonów z parametrami o takich samych nazwach", "duplicate-args-category-desc": "Strona zawiera szablony, które używają duplikatów argumentów, jak <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> lub <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "Uwaga! Ta strona zawiera zbyt wiele wywołań złożonych obliczeniowo funkcji parsera.\n\nPowinno być mniej niż $2 {{PLURAL:$2|wywołanie|wywołania|wywołań}}, a obecnie {{PLURAL:$1|jest $1 wywołanie|są $1 wywołania|jest $1 wywołań}}.", "expensive-parserfunction-category": "Strony ze zbyt dużą liczbą wywołań kosztownych funkcji parsera", @@ -810,7 +812,7 @@ "revdelete-legend": "Ustaw ograniczenia widoczności", "revdelete-hide-text": "Tekst wersji", "revdelete-hide-image": "Ukryj zawartość pliku", - "revdelete-hide-name": "Ukryj akcję i cel", + "revdelete-hide-name": "Ukryj cel i parametry", "revdelete-hide-comment": "Opis zmian", "revdelete-hide-user": "Nazwa użytkownika/adres IP", "revdelete-hide-restricted": "Ukryj informacje przed administratorami tak samo jak przed innymi", @@ -2944,7 +2946,6 @@ "hebrew-calendar-m9-gen": "Siwan", "hebrew-calendar-m11-gen": "Aw", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|dyskusja]])", - "unknown_extension_tag": "Nieznany znacznik rozszerzenia „$1”", "duplicate-defaultsort": "Uwaga: Domyślnym kluczem sortowania będzie „$2” i zastąpi on wcześniej wykorzystywany klucz „$1”.", "duplicate-displaytitle": "<strong>Uwaga:</strong> Wyświetlenie tytułu „$2” powoduje nadpisanie wcześniej wyświetlanego tytułu „$1”.", "version": "Wersja oprogramowania", diff --git a/languages/i18n/pms.json b/languages/i18n/pms.json index 05afab3c34..a3daf8653f 100644 --- a/languages/i18n/pms.json +++ b/languages/i18n/pms.json @@ -564,7 +564,7 @@ "anoneditwarning": "<strong>Atension:<strong> A l'é nen rintrà ant ël sistema. Soa adrëssa IP a së sc-iairërà s'a fà dle modìfiche. Si chiel a <strong>[$1 rintra ant ël sistema]</strong> o <strong>[$2 a crea an cont]</strong>, soe modìfiche a saran atribuìe a sò stranòm, ansema a d'àutri vantagg.", "anonpreviewwarning": "''A l'é nen rintrà ant ël sistema. An salvand a sarà memorisà soa adrëssa IP ant la stòria dle modìfiche ëd sa pàgina.''", "missingsummary": "'''Nòta:''' a l'ha butà gnun resumé dla modìfica. Se a sgnaca «{{int:savearticle}}» n'àutra vira, soa modìfica a resterà salvà sensa resumé.", - "selfredirect": "<strong>Atension:</strong> A l'é an camin ch'a crea na ridiriression a l'istess artìcol.\nS'a sgnaca torna ansima a «{{int:savearticle}}», la ridiression a sarà creà.", + "selfredirect": "<strong>Atension:</strong> A l'é an camin ch'a ridiression-a sa pàgina a chila-midema.\nMiraco a l'ha spessificà ël bërsaj sbalià për la ridiression, opura a l'é an camin ch'a modìfica la pàgina sbalià.\nS'a sgnaca torna ansima a «{{int:savearticle}}», la ridiression a sarà creà istess.", "missingcommenttext": "Për piasì, che a buta un coment sì-sota.", "missingcommentheader": "'''Ch'a arcòrda:''' A l'ha pa dàit ëd soget o d'intestassion për cost coment.\nSe a sgnaca torna «{{int:savearticle}}», soa modìfica a sarà salvà sensa gnun-a intestassion.", "summary-preview": "Preuva dël resumé:", @@ -663,6 +663,8 @@ "content-model-text": "mach test", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Oget veuid", + "content-json-empty-array": "Tàula veuida", "duplicate-args-category": "Pàgine ch'a deuvro d'argoment dobi ant j'arceste dë stamp", "duplicate-args-category-desc": "La pàgina a conten cj'arceste dë stamp che deuvro ëd duplicà d'argoment, tanme <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> o <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "'''Atension:''' Costa pàgina a l'ha tròpe ciamà costose a le fonsions d'anàlisi sintàtica.\n\nA dovrìa essnie men che {{PLURAL:$2|$2}}, adess a-i na j'é {{PLURAL:$1|$1}}.", @@ -719,7 +721,7 @@ "history-feed-empty": "La pàgina che a l'ha ciamà a-i é pa; a podrìa esse stàita scancelà da 'nt ël sit, ò pura tramudà a n'àutr nòm.\n\nChe a verìfica con la [[Special:Search|pàgina d'arserca]] se a-i fusso mai dj'àutre pàgine che a podèisso andeje bin.", "rev-deleted-comment": "(resumé dla modìfica gavà)", "rev-deleted-user": "(stranòm gavà)", - "rev-deleted-event": "(assion dël registr gavà)", + "rev-deleted-event": "(detaj dël registr gavà)", "rev-deleted-user-contribs": "[nòm utent o adrëssa IP gavà - modìfica stërmà ai contributor]", "rev-deleted-text-permission": "Sta revision-sì dla pàgina a l'é staita '''scancelà'''.\nA-i peulo essnie dle marche ant ël [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registr ëd jë scancelament].", "rev-suppressed-text-permission": "Costa revision dla pàgina-sì a l'é stàita <stong>gavà via<strong>.\nIj detaj as treuvo ant ël [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registr ëd jë scancelament].", @@ -753,7 +755,7 @@ "revdelete-legend": "But-je coste limitassion-sì a le version scancelà:", "revdelete-hide-text": "Test dla revision", "revdelete-hide-image": "Stërma ël contnù dl'archivi", - "revdelete-hide-name": "Stërma assion e oget", + "revdelete-hide-name": "Stërmé ël bërsaj e ij paràmeter", "revdelete-hide-comment": "Resumé dla modìfica", "revdelete-hide-user": "Stranòm/adrëssa IP dl'utent", "revdelete-hide-restricted": "Stërmé j'anformassion a j'aministrator tan-me a j'àutri", @@ -2140,6 +2142,7 @@ "thumbnail-temp-create": "Pa bon a creé l'archivi ëd miniadura temporania", "thumbnail-dest-create": "Pa bon a salvé na miniadura sla destinassion", "thumbnail_invalid_params": "Paràmetro dla figurin-a pa giust", + "thumbnail_toobigimagearea": "Archivi con dimension pi granda che $1", "thumbnail_dest_directory": "As peul pa fesse ël dossié ëd destinassion", "thumbnail_image-type": "Sòrt ëd figura nen gestì", "thumbnail_gd-library": "Configurassion incompleta dla biblioteca GD: Fonsion $1 mancanta", @@ -2862,7 +2865,6 @@ "iranian-calendar-m11": "Mèis Jalāli ch'a fa óndes", "iranian-calendar-m12": "Meis Jalāli ch'a fa dódes", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|ciaciarade]])", - "unknown_extension_tag": "Tichëtta d'estension «$1» pa conossùa", "duplicate-defaultsort": "'''Atension:''' La ciav d'ordinament ëstàndard «$2» a pija ël pòst ëd cola ëd prima «$1».", "duplicate-displaytitle": "<strong>Warning:</strong> ël tìtol ëd visualisassion «$2» a rampiassa ëd vej tìtol ëd visualisassion «$1».", "invalid-indicator-name": "<strong>Eror:</strong> l'atribù <code>name</code> dj'andicator dlë statù dla pàgina a peul nen esse veuid.", diff --git a/languages/i18n/pt-br.json b/languages/i18n/pt-br.json index 375c69e7f5..8b615ddbd9 100644 --- a/languages/i18n/pt-br.json +++ b/languages/i18n/pt-br.json @@ -103,7 +103,7 @@ "tog-shownumberswatching": "Mostrar o número de usuários que estão vigiando", "tog-oldsig": "Assinatura existente:", "tog-fancysig": "Tratar assinatura como wikitexto (sem link automático)", - "tog-uselivepreview": "Utilizar pré-visualização em tempo real (experimental)", + "tog-uselivepreview": "Utilizar pré-visualização em tempo real", "tog-forceeditsummary": "Avisar-me ao introduzir um sumário de edição vazio", "tog-watchlisthideown": "Ocultar as minhas edições da lista de páginas vigiadas", "tog-watchlisthidebots": "Ocultar edições de bots da lista de páginas vigiadas", @@ -382,6 +382,8 @@ "filerenameerror": "Não foi possível renomear o arquivo \"$1\" para \"$2\".", "filedeleteerror": "Não foi possível eliminar o arquivo \"$1\".", "directorycreateerror": "Não foi possível criar o diretório \"$1\".", + "directoryreadonlyerror": "Diretorio \"$1\" é somente leitura.", + "directorynotreadableerror": "O diretório \"$1\" não é legível.", "filenotfound": "Não foi possível encontrar o arquivo \"$1\".", "unexpected": "Valor não esperado: \"$1\"=\"$2\".", "formerror": "Erro: Não foi possível enviar o formulário", @@ -404,6 +406,7 @@ "viewyourtext": "Pode ver e copiar o código fonte '''das suas edições''' nesta página:", "protectedinterface": "Esta página fornece texto de interface ao software deste wiki, se encontrando protegida para prevenir abusos.\n\nPara adicionar ou alterar traduções em todos os wikis, utilize o [//translatewiki.net/ translatewiki.net], projeto de traduções do MediaWiki.", "editinginterface": "'''Aviso:''' Você se encontra prestes a editar uma página que é utilizada para fornecer texto de interface ao software.\nAlterações nesta página irão afetar a aparência da interface de usuário para outros usuários deste wiki.\nPara alterar ou adicionar traduções, considere utilizar a [//translatewiki.net/wiki/Main_Page?setlang=pt-br translatewiki.net], um projeto destinado para a tradução do MediaWiki.", + "translateinterface": "Para adicionar ou modificar traduções para todas as wikis, por favor use [//translatewiki.net/ translatewiki.net], o projeto de localização do MediaWiki.", "cascadeprotected": "Esta página foi protegida contra edições por estar incluída {{PLURAL:$1|na página listada|nas páginas listadas}} a seguir, ({{PLURAL:$1|página essa que está protegida|páginas essas que estão protegidas}} com a opção de \"proteção progressiva\" ativada):\n$2", "namespaceprotected": "Você não possui permissão para editar páginas no espaço nominal '''$1'''.", "customcssprotected": "Você não tem permissão para editar esta página CSS, porque ele contém configurações pessoais de outro usuário.", @@ -622,6 +625,7 @@ "anoneditwarning": "'''Atenção''': Você não se encontra autenticado.\nO seu endereço de IP será registrado no histórico de edições desta página.", "anonpreviewwarning": "''Você não está logado. Gravar registará o seu endereço IP no histórico de edições desta página.''", "missingsummary": "'''Lembrete:''' Você não introduziu um sumário de edição. Se clicar novamente em Salvar, a sua edição será salva sem um sumário.", + "selfredirect": "<strong>Aviso:</strong> Você esta redirecionando esta pagina para ela mesmo. Você pode ter especificado o caminho errado para redirecionar, ou você pode estar editando a pagina errada. Se você clicar \"{{int:savearticle}}\" novamente, o redirecionamento será criado de qualquer modo.", "missingcommenttext": "Por favor, introduzida um comentário abaixo.", "missingcommentheader": "'''Lembrete:''' Você não introduziu um assunto/título para este comentário.\nSe você clicar novamente \"{{int:savearticle}}\", a sua edição será salva sem um assunto/título.", "summary-preview": "Previsão de sumário:", @@ -720,7 +724,10 @@ "content-model-text": "texto simples", "content-model-javascript": "Javascript", "content-model-css": "CSS", + "content-json-empty-object": "Objeto vazio", + "content-json-empty-array": "Array vazia", "duplicate-args-category": "Páginas que utilizam argumentos duplicados ao chamar predefinições", + "duplicate-args-category-desc": "A pagina contem modelos que usam argumentos duplicados, como <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> ou <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "Aviso: Esta página contém muitas chamadas a funções do analisador \"parser\".\n\nDeveria ter menos de $2 {{PLURAL:$2|chamada|chamadas}}. Neste momento {{PLURAL:$1|há $1 chamada|existem $1 chamadas}}.", "expensive-parserfunction-category": "Páginas com muitas chamadas a funções do analisador \"parser\"", "post-expand-template-inclusion-warning": "'''Aviso''': a soma do tamanho de inclusão de predefinições é muito grande.\nAlgumas predefinições não serão processadas.", @@ -775,7 +782,7 @@ "history-feed-empty": "A página requisitada não existe.\nPoderá ter sido eliminada do wiki ou renomeada.\nTente [[Special:Search|pesquisar no wiki]] por páginas relevantes.", "rev-deleted-comment": "(resumo da edição suprimido)", "rev-deleted-user": "(nome de usuário removido)", - "rev-deleted-event": "(entrada removida)", + "rev-deleted-event": "(registros de detalhes eliminados)", "rev-deleted-user-contribs": "[nome de usuário ou endereço de IP eliminado - edição ocultada das contribuições]", "rev-deleted-text-permission": "Esta revisão desta página foi '''eliminada'''.\nPodem existir mais detalhes no [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de eliminações].", "rev-suppressed-text-permission": "A revisão desta página foi '''eliminada'''.\nVocê pode visualizá-la; podem existir mais detalhes no [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de eliminação].", @@ -809,7 +816,7 @@ "revdelete-legend": "Definir restrições de visualização", "revdelete-hide-text": "Texto de revisão", "revdelete-hide-image": "Ocultar conteúdos do arquivo", - "revdelete-hide-name": "Ocultar ação e alvo", + "revdelete-hide-name": "Ocultar destino e parâmetros", "revdelete-hide-comment": "Sumário de edição", "revdelete-hide-user": "Nome de usuário/endereço IP", "revdelete-hide-restricted": "Suprimir dados de administradores assim como de outros", @@ -853,6 +860,7 @@ "mergehistory-empty": "Não existem edições habilitadas a serem fundidas.", "mergehistory-success": "$3 {{PLURAL:$3|revisão|revisões}} de [[:$1]] fundidas em [[:$2]] com sucesso.", "mergehistory-fail": "Não foi possível fundir os históricos; por gentileza, verifique a página e os parâmetros de tempo.", + "mergehistory-fail-toobig": "Não é possível fundir o histórico, já que um número de revisão(ões) acima do limite ($1 {{PLURAL:$1|revisão|revisões}}) seriam movidos.", "mergehistory-no-source": "A página de origem ($1) não existe.", "mergehistory-no-destination": "A página de destino ($1) não existe.", "mergehistory-invalid-source": "A página de origem precisa ser um título válido.", @@ -902,6 +910,7 @@ "search-result-category-size": "{{PLURAL:$1|1 membro|$1 membros}} ({{PLURAL:$2|1 subcategoria|$2 subcategorias}}, {{PLURAL:$3|1 arquivo|$3 arquivos}})", "search-redirect": "(redirecionamento de $1)", "search-section": "(seção $1)", + "search-category": "(categoria $1)", "search-file-match": "(coincide com o conteúdo do arquivo)", "search-suggest": "Você quis dizer: $1", "search-interwiki-caption": "Projetos irmãos", @@ -911,6 +920,8 @@ "searchrelated": "relacionados", "searchall": "todos", "showingresults": "A seguir {{PLURAL:$1|é mostrado '''um''' resultado|são mostrados até '''$1''' resultados}}, iniciando no '''$2'''º.", + "showingresultsinrange": "Apresenta-se abaixo {{PLURAL:$1|<strong>1</strong> resultado|até <strong>$1</strong> resultados}} no intervalo #<strong>$2</strong> a #<strong>$3</strong>.", + "search-showingresults": "{{PLURAL:$4|Resultado <strong>$1</strong> de <strong>$3</strong>|Resultados <strong>$1 - $2</strong> de <strong>$3</strong>}}", "search-nonefound": "Não há resultados que correspondam à consulta.", "powersearch-legend": "Pesquisa avançada", "powersearch-ns": "Pesquisar nos espaços nominais:", @@ -1098,6 +1109,7 @@ "right-browsearchive": "Buscar páginas eliminadas", "right-undelete": "Restaurar páginas", "right-suppressrevision": "Rever e restaurar edições indisponíveis a administradores", + "right-viewsuppressed": "Ver revisões escondidas de qualquer usuário", "right-suppressionlog": "Ver registros privados", "right-block": "Impedir outros usuários de editarem", "right-blockemail": "Impedir um usuário de enviar email", @@ -1108,6 +1120,7 @@ "right-protect": "Mudar níveis de proteção e editar páginas protegidas em cascata", "right-editprotected": "Editar páginas protegidas como \"{{int:protect-level-sysop}}\"", "right-editsemiprotected": "Editar páginas protegidas como \"{{int:protect-level-autoconfirmed}}\"", + "right-editcontentmodel": "Editar o modelo de uma pagina", "right-editinterface": "Editar a interface de usuário", "right-editusercssjs": "Editar os arquivos CSS e JS de outros usuários", "right-editusercss": "Editar os arquivos CSS de outros usuários", @@ -1180,6 +1193,7 @@ "action-viewmywatchlist": "veja sua lista de páginas vigiadas", "action-viewmyprivateinfo": "veja suas informações privadas", "action-editmyprivateinfo": "modifique suas informações privadas", + "action-editcontentmodel": "editar o conteudo do modelo de uma pagina", "nchanges": "$1 {{PLURAL:$1|alteração|alterações}}", "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|desde a última visita}}", "enhancedrc-history": "histórico", @@ -1196,7 +1210,7 @@ "recentchanges-legend-heading": "'''Legenda''':", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (veja também a [[Special:NewPages|lista de páginas novas]])", "recentchanges-legend-plusminus": "(''±123'')", - "rcnotefrom": "Abaixo estão mostradas as alterações desde <strong>$2</strong> (até <strong>$1</strong>).", + "rcnotefrom": "Abaixo {{PLURAL:$5|é a mudança|são as mudanças}} desde <strong>$3, $4</strong> (up to <strong>$1</strong> shown).", "rclistfrom": "Mostrar as novas alterações a partir das $2 de $3", "rcshowhideminor": "$1 edições menores", "rcshowhideminor-show": "Exibir", @@ -1567,11 +1581,13 @@ "wantedpages-badtitle": "Título inválido no conjunto de resultados: $1", "wantedfiles": "Arquivos pedidos", "wantedfiletext-cat": "Os seguintes arquivos são usados, mas não existem. Arquivos de repositórios externos podem acabar sendo listados apesar de existirem. Esses falsos positivos aparecerão <del>riscados</del>. As páginas que incluem arquivos inexistentes são listadas em [[:$1]].", + "wantedfiletext-cat-noforeign": "Os arquivos seguintes são usados mas não existem. Além disso, as paginas que incorporam arquivos que não existem estão listadas em [[:$1]].", "wantedfiletext-nocat": "Os seguintes arquivos são usados, mas não existem. Arquivos de repositórios externos podem acabar sendo listados apesar de existirem. Esses falsos positivos aparecerão <del>riscados</del>.", + "wantedfiletext-nocat-noforeign": "Os seguintes arquivos são usados, mas não existem.", "wantedtemplates": "Predefinições pedidas", "mostlinked": "Páginas com mais afluentes", "mostlinkedcategories": "Categorias com mais membros", - "mostlinkedtemplates": "Páginas com mais transclusões", + "mostlinkedtemplates": "Páginas mais transcluídas", "mostcategories": "Páginas de conteúdo com mais categorias", "mostimages": "Imagens com mais afluentes", "mostinterwikis": "Páginas com mais interwikis", @@ -1621,6 +1637,8 @@ "pager-older-n": "{{PLURAL:$1|1 anterior|$1 anteriores}}", "suppress": "Supervisor", "querypage-disabled": "Esta página especial está desativada para não prejudicar o desempenho.", + "apihelp": "Ajuda de API", + "apihelp-no-such-module": "Modulo \"$1\" não foram achados.", "booksources": "Fontes bibliográficas", "booksources-search-legend": "Pesquisar referências bibliográficas", "booksources-search": "Pesquisar", @@ -1699,7 +1717,12 @@ "trackingcategories-name": "Nome da mensagem", "trackingcategories-desc": "Critérios de inclusão de categoria", "noindex-category-desc": "A página não é indexada por robôs, porque possui a palavra mágica <code><nowiki>__NOINDEX__</nowiki></code> e está em um namespace onde a flag é permitida.", + "index-category-desc": "A página contém a palavra mágica <code><nowiki>__INDEX__</nowiki></code> (e está num domínio em que essa marca é permitida) e, portanto, será indexada pelos robôs mesmo quando normalmente não o seria.", "post-expand-template-inclusion-category-desc": "O tamanho da página é superior a <code>$wgMaxArticleSize</code>, após a expansão de todas as predefinições, pelo que algumas predefinições não foram expandidas.", + "post-expand-template-argument-category-desc": "O tamanho da página é superior a <code>$wgMaxArticleSize</code>, após a expansão de um argumento de predefinição (algo em chavetas triplas, como <code>{{{Foo}}}</code>).", + "expensive-parserfunction-category-desc": "A página tem demasiadas funções do analisador custosas (como <code>#ifexist</code>) incluídas. Consulte [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].", + "broken-file-category-desc": "A página contém uma ligação quebrada para um arquivo(uma ligação para incorporar um arquivo que não existe).", + "hidden-category-category-desc": "Esta é uma categoria com a marca <code><nowiki>__HIDDENCAT__</nowiki></code>, que faz com que ela não apareça na caixa de ligações de categoria nas páginas, por omissão.", "trackingcategories-nodesc": "Nenhuma descrição disponível.", "trackingcategories-disabled": "A categoria está desabilitada", "mailnologin": "Nenhum endereço de envio", @@ -1753,7 +1776,7 @@ "watchlist-details": "{{PLURAL:$1|$1 página|$1 páginas}} na sua lista de páginas vigiadas, excluindo as páginas de discussão.", "wlheader-enotif": "A notificação por email encontra-se ativada.", "wlheader-showupdated": "Páginas modificadas desde a sua última visita são mostradas em '''negrito'''", - "wlnote": "A seguir {{PLURAL:$1|está a última alteração ocorrida|estão as últimas '''$1''' alterações ocorridas}} {{PLURAL:$2|na última hora|nas últimas '''$2''' horas}} a partir de $3, $4.", + "wlnote": "A seguir {{PLURAL:$1|está a última alteração ocorrida|estão as últimas <strong>$1</strong> alterações ocorridas}} {{PLURAL:$2|na última hora|nas últimas <strong>$2</strong> horas}} até $3, $4.", "wlshowlast": "Ver últimas $1 horas $2 dias", "watchlist-options": "Opções da lista de páginas vigiadas", "watching": "Vigiando...", @@ -2871,7 +2894,6 @@ "watchlisttools-edit": "Ver e editar a lista de páginas vigiadas", "watchlisttools-raw": "Edição crua da lista de páginas vigiadas", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discussão]])", - "unknown_extension_tag": "\"$1\" é uma tag de extensão desconhecida", "duplicate-defaultsort": "Aviso: A chave de ordenação padrão \"$2\" sobrepõe-se à anterior chave de ordenação padrão \"$1\".", "version": "Versão", "version-extensions": "Extensões instaladas", diff --git a/languages/i18n/pt.json b/languages/i18n/pt.json index 21a976adb3..4a86d893f8 100644 --- a/languages/i18n/pt.json +++ b/languages/i18n/pt.json @@ -279,6 +279,7 @@ "pool-queuefull": "A fila de processos está cheia", "pool-errorunknown": "Erro desconhecido", "pool-servererror": "O serviço ''pool counter'' não está disponível ($1).", + "poolcounter-usage-error": "Erro de uso: $1", "aboutsite": "Sobre a {{SITENAME}}", "aboutpage": "Project:Sobre", "copyright": "Conteúdo disponibilizado nos termos da $1, salvo indicação em contrário.", @@ -613,6 +614,7 @@ "anoneditwarning": "<strong>Aviso</strong>: Não iniciou sessão. O seu endereço IP será registado no histórico de edições desta página. Se <strong>[$1 iniciar sessão]</strong> ou <strong>[$2 criar uma conta]</strong>, as suas edições serão registadas com o seu nome de utilizador(a), bem como usufruir de outros benefícios.", "anonpreviewwarning": "''Não iniciou sessão. Ao gravar, registará o seu endereço IP no histórico de edições da página.''", "missingsummary": "'''Atenção:''' Não introduziu um resumo da edição.\nSe clicar novamente \"Gravar página\" a sua edição será gravada sem resumo.", + "selfredirect": "<strong>Aviso:</strong> Está a redirecionar esta página para si mesma.\nPode ter especificado o destino errado para a página ou até a editar a página errada.\nSe clicar em \"{{int:savearticle}}\" novamente, o redirecionamento será criado na mesma.", "missingcommenttext": "Introduza um comentário abaixo, por favor.", "missingcommentheader": "'''Atenção:''' Não introduziu um assunto ou cabeçalho para este comentário.\nSe clicar novamente \"{{int:savearticle}}\", a sua edição será gravada sem assunto ou cabeçalho.", "summary-preview": "Antevisão do resumo:", @@ -711,6 +713,7 @@ "content-model-text": "texto simples", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Objeto vazio", "duplicate-args-category": "Páginas que utilizam argumentos duplicados ao chamar predefinições", "expensive-parserfunction-warning": "'''Aviso:''' Esta página contém demasiadas chamadas de funções exigentes do analisador sintático.\n\nDevia ter menos de $2 {{PLURAL:$2|chamada|chamadas}}. Neste momento tem $1 {{PLURAL:$1|chamada|chamadas}}.", "expensive-parserfunction-category": "Páginas com demasiadas chamadas a funções exigentes", @@ -766,7 +769,7 @@ "history-feed-empty": "A página solicitada não existe.\nPode ter sido eliminada da wiki ou o nome sido alterado.\nTente [[Special:Search|pesquisar na wiki]] novas páginas relevantes.", "rev-deleted-comment": "(resumo da edição suprimido)", "rev-deleted-user": "(nome de utilizador removido)", - "rev-deleted-event": "(entrada removida)", + "rev-deleted-event": "(registos de detalhes eliminados)", "rev-deleted-user-contribs": "[nome de utilizador ou IP removido - edição ocultada das contribuições]", "rev-deleted-text-permission": "Esta revisão de página foi <strong>eliminada</strong>.\nEncontrará detalhes no [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registo de eliminações].", "rev-suppressed-text-permission": "Esta revisão de página foi <strong>suprimida</strong>.\nPode consultar os detalhes no [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registo de supressões].", @@ -800,7 +803,7 @@ "revdelete-legend": "Definir restrições de visibilidade", "revdelete-hide-text": "Revisão do texto", "revdelete-hide-image": "Ocultar conteúdo do ficheiro", - "revdelete-hide-name": "Ocultar operação e destino", + "revdelete-hide-name": "Ocultar destino e parâmetros", "revdelete-hide-comment": "Resumo da edição", "revdelete-hide-user": "Nome de utilizador/endereço de IP", "revdelete-hide-restricted": "Ocultar dados dos administradores e de todos os outros", @@ -1568,7 +1571,7 @@ "wantedtemplates": "Predefinições desejadas", "mostlinked": "Páginas com mais afluentes", "mostlinkedcategories": "Categorias com mais membros", - "mostlinkedtemplates": "Páginas com mais afluentes", + "mostlinkedtemplates": "Páginas mais transcluídas", "mostcategories": "Páginas com mais categorias", "mostimages": "Ficheiros com mais afluentes", "mostinterwikis": "Páginas com mais interlínguas", @@ -2884,7 +2887,6 @@ "watchlisttools-edit": "Ver e editar a lista de páginas vigiadas", "watchlisttools-raw": "Editar a lista de páginas vigiadas em forma de texto", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discussão]])", - "unknown_extension_tag": "\"$1\" é uma marca de extensão desconhecida", "duplicate-defaultsort": "<strong>Aviso:</strong> A chave de ordenação padrão \"$2\" sobrepõe-se à anterior \"$1\".", "duplicate-displaytitle": "<strong>Aviso:</strong> Exibir título \"$2\" substituindo o título anteriormente em exibição \"$1\".", "version": "Versão", diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json index 813064d799..04a6f9dd14 100644 --- a/languages/i18n/qqq.json +++ b/languages/i18n/qqq.json @@ -386,6 +386,7 @@ "pool-queuefull": "Part of {{msg-mw|view-pool-error}}\n\n\"Pool\" refers to a pool of processes.", "pool-errorunknown": "Part of {{msg-mw|view-pool-error}}.\n{{Identical|Unknown error}}", "pool-servererror": "Error message. Parameters:\n* $1 - list of server addresses\n\nSee e.g. {{msg-mw|Poolcounter-desc}} (and the Pool Counter extension in general) for translation hints for “pool counter service”.", + "poolcounter-usage-error": "Used as error message. Parameters:\n* $1 - non-localized string describing usage mistake.", "aboutsite": "Used as the label of the link that appears at the footer of every page on the wiki (in most of the skins) and leads to the page that contains the site description. The link target is {{msg-mw|aboutpage}}.\n\n[[mw:Manual:Interface/Aboutsite|MediaWiki manual]].\n\n{{doc-important|Do not change <nowiki>{{SITENAME}}</nowiki>.}}\n\n{{Identical|About}}", "aboutpage": "Used as the target of the link that appears at the footer of every page on the wiki (in most of the skins) and leads to the page that contains the site description. Therefore the content should be the same with the page name of the site description page. Only the message in the [[mw:Manual:$wgLanguageCode|site language]] ([[MediaWiki:Aboutpage]]) is used. The link label is {{msg-mw|aboutsite}}.\n\n{{doc-important|Do not translate \"Project:\" part, for this is the namespace prefix.}}", "copyright": "Parameters:\n* $1 - license name\n'''See also'''\n* {{msg-mw|Mobile-frontend-copyright}}", @@ -862,6 +863,9 @@ "content-model-text": "Name for the plain text content model, used when decribing what type of content a page contains.\n\nThis message is substituted in:\n*{{msg-mw|Bad-target-model}}\n*{{msg-mw|Content-not-allowed-here}}\n{{Identical|Plain text}}", "content-model-javascript": "Name for the JavaScript content model, used when decribing what type of content a page contains.\n\nThis message is substituted in:\n*{{msg-mw|Bad-target-model}}\n*{{msg-mw|Content-not-allowed-here}}", "content-model-css": "Name for the CSS content model, used when decribing what type of content a page contains.\n\nThis message is substituted in:\n*{{msg-mw|Bad-target-model}}\n*{{msg-mw|Content-not-allowed-here}}", + "content-model-json": "Name for the JSON content model, used when decribing what type of content a page contains.\n\nThis message is substituted in:\n*{{msg-mw|Bad-target-model}}\n*{{msg-mw|Content-not-allowed-here}}", + "content-json-empty-object": "Used to represent an object with no properties on a JSON content model page.", + "content-json-empty-array": "Used to represent an array with no values on a JSON content model page.", "duplicate-args-category": "This message is used as a category name for a [[mw:Special:MyLanguage/Help:Tracking categories|tracking category]] where pages are placed automatically if they contain template calls that use duplicates of arguments, such as <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> or <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "duplicate-args-category-desc": "Duplicate arguments category description. Shown on [[Special:TrackingCategories]].\n\nSee also:\n* {{msg-mw|Duplicate-args-category}}", "expensive-parserfunction-warning": "On some (expensive) [[MetaWikipedia:Help:ParserFunctions|parser functions]] (e.g. <code><nowiki>{{#ifexist:}}</nowiki></code>) there is a limit of how many times it may be used. This is an error message shown when the limit is exceeded.\n\nParameters:\n* $1 - the current number of parser function calls\n* $2 - the allowed number of parser function calls\nSee also [[:mw:Manual:$wgExpensiveParserFunctionLimit|$wgExpensiveParserFunctionLimit in the MediaWiki manual]].\n\nSee also:\n* {{msg-mw|Expensive-parserfunction-category}}", @@ -3405,7 +3409,6 @@ "signature": "This will be substituted in the signature (~<nowiki></nowiki>~~ or ~~<nowiki></nowiki>~~ excluding timestamp).\n\nParameters:\n* $1 - the username that is currently login\n* $2 - the customized signature which is specified in [[Special:Preferences|user's preferences]] as non-raw\nUse your language default parentheses ({{msg-mw|parentheses}}), but not use the message direct.\n\nSee also:\n* {{msg-mw|Signature-anon}} - signature for anonymous user", "signature-anon": "{{notranslate}}\nUsed as signature for anonymous user. Parameters:\n* $1 - username (IP address?)\n* $2 - nickname (IP address?)\nSee also:\n* {{msg-mw|Signature}} - signature for registered user", "timezone-utc": "{{optional}}", - "unknown_extension_tag": "This is an error shown when you use an unknown extension tag name.\n\nThis feature allows tags like <code><nowiki><pre></nowiki></code> to be called with a parser like <code><nowiki>{{#tag:pre}}</nowiki></code>.\n\nParameters:\n* $1 - the unknown extension tag name", "duplicate-defaultsort": "See definition of [[w:Sorting|sort key]] on Wikipedia. Parameters:\n* $1 - old default sort key\n* $2 - new default sort key", "duplicate-displaytitle": "Warning shown when a page has its display title set multiple times. Parameters:\n* $1 - old display title\n* $2 - new display title", "invalid-indicator-name": "Warning shown when the [https://www.mediawiki.org/wiki/Help:Page_status_indicators <indicator name=\"''unique-identifier''\">''content''</indicator>] parser tag is used incorrectly.", diff --git a/languages/i18n/ro.json b/languages/i18n/ro.json index b465a25526..f626ce1230 100644 --- a/languages/i18n/ro.json +++ b/languages/i18n/ro.json @@ -672,6 +672,8 @@ "content-model-text": "text simplu", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Obiect vid", + "content-json-empty-array": "Matrice vidă", "duplicate-args-category": "Pagini care folosesc argumente duplicate în apelarea formatelor", "duplicate-args-category-desc": "Pagina conține apelări ale formatelor care folosesc argumente duplicate, cum ar fi <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> sau <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "Atenție: Această pagină conține prea multe apelări costisitoare ale funcțiilor parser.\n\nAr trebui să existe mai puțin de $2 {{PLURAL:$2|apelare|apelări}}, acolo există {{PLURAL:$1|$1 apelare|$1 apelări}}.", @@ -728,7 +730,7 @@ "history-feed-empty": "Pagina solicitată nu există.\nE posibil să fi fost ștearsă sau redenumită.\nÎncearcă să [[Special:Search|cauți]] pe wiki pentru pagini noi semnificative.", "rev-deleted-comment": "(descrierea modificării ștearsă)", "rev-deleted-user": "(nume de utilizator șters)", - "rev-deleted-event": "(intrare ștearsă)", + "rev-deleted-event": "(detaliile din jurnalul șterse)", "rev-deleted-user-contribs": "[nume de utilizator sau adresă IP ștearsă - modificare ascunsă din contribuții]", "rev-deleted-text-permission": "Această versiune a paginii a fost '''ștearsă'''.\nMai multe detalii în [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} jurnalul ștergerilor].", "rev-suppressed-text-permission": "Această versiune a paginii a fost <strong>suprimată</strong>.\nDetalii puteți găsi în [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} jurnalul suprimărilor].", @@ -762,7 +764,7 @@ "revdelete-legend": "Restricții de afișare", "revdelete-hide-text": "Textul versiunii", "revdelete-hide-image": "Șterge conținutul fișierului", - "revdelete-hide-name": "Șterge operația și obiectul", + "revdelete-hide-name": "Ascunde ținta și parametrii", "revdelete-hide-comment": "Descrierea modificării", "revdelete-hide-user": "Numele de utilizator sau adresa IP", "revdelete-hide-restricted": "Ascunde informațiile față de administratori și față de alți utilizatori", @@ -2852,7 +2854,6 @@ "watchlisttools-edit": "Vezi și modifică lista paginilor urmărite", "watchlisttools-raw": "Modifică lista brută a paginilor urmărite", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discuție]])", - "unknown_extension_tag": "Extensie etichetă necunoscută „$1”", "duplicate-defaultsort": "'''Atenție:''' Cheia de sortare implicită („$2”) o înlocuiește pe precedenta („$1”).", "duplicate-displaytitle": "<strong>Atenție:</strong> Titlul afișat „$2” înlocuieşte titlul afișat anterior, „$1”.", "invalid-indicator-name": "<strong>Eroare:</strong> Parametrul <code>nume</code> al indicatorilor de stare a paginii nu trebuie să fie gol.", diff --git a/languages/i18n/ru.json b/languages/i18n/ru.json index 832b19d4a7..d9e0cbd8df 100644 --- a/languages/i18n/ru.json +++ b/languages/i18n/ru.json @@ -722,6 +722,8 @@ "content-model-text": "обычный текст", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Пустой объект", + "content-json-empty-array": "Пустой массив", "duplicate-args-category": "Страницы, использующие повторяющиеся аргументы в вызовах шаблонов", "duplicate-args-category-desc": "Страницы, содержащие вызовы шаблонов, использующие повторяющиеся аргументы, такие как <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> или <code><nowiki>{{foo|bar|1=bar}}</nowiki></code>.", "expensive-parserfunction-warning": "'''Внимание!''' Эта страница содержит слишком много вызовов ресурсоёмких функций.\n\nДолжно быть не более {{PLURAL:$2|$2 вызова|$2 вызовов|1=одного вызова}}, в то время как сейчас здесь $1 {{PLURAL:$1|вызов|вызовов|вызова}}.", @@ -2987,7 +2989,6 @@ "hebrew-calendar-m11-gen": "Ава", "hebrew-calendar-m12-gen": "Элула", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|обсуждение]])", - "unknown_extension_tag": "Неизвестный тег расширения «$1»", "duplicate-defaultsort": "Внимание. Ключ сортировки по умолчанию «$2» переопределяет прежний ключ сортировки по умолчанию «$1».", "duplicate-displaytitle": "<strong>Внимание:</strong> Отображаемое название «$2» переопределяет ранее заданное отображаемое название «$1».", "invalid-indicator-name": "<strong>Ошибка:</strong> Атрибут <code>name</code> индикаторов состояния страницы не должен быть пустым.", diff --git a/languages/i18n/sl.json b/languages/i18n/sl.json index c2dbff824e..adf5fef9b2 100644 --- a/languages/i18n/sl.json +++ b/languages/i18n/sl.json @@ -225,6 +225,7 @@ "pool-queuefull": "Čakalna vrsta zaloge je polna", "pool-errorunknown": "Neznana napaka", "pool-servererror": "Storitev založnega pulta ni na voljo ($1).", + "poolcounter-usage-error": "Napaka pri uporabi: $1", "aboutsite": "O {{GRAMMAR:dajalnik|{{SITENAME}}}}", "aboutpage": "Project:O {{GRAMMAR:dajalnik|{{SITENAME}}}}", "copyright": "Razen, kjer je navedeno drugače, je besedilo na razpolago pod pogoji licence $1.", @@ -659,6 +660,8 @@ "content-model-text": "golo besedilo", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Prazen objekt", + "content-json-empty-array": "Prazno polje", "duplicate-args-category": "Strani s podvojenimi argumenti v klicih predlog", "duplicate-args-category-desc": "Stran vsebuje klice predlog, ki vsebujejo dvojnike argumentov, kot sta <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> ali <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "'''Opozorilo:''' Ta stran vsebuje preveč klicev funkcije razčlenjevalnika kode.\n\nStran naj bi vsebovala manj kot $2 {{PLURAL:$2|klic|klica|klice|klicev}}, trenutno {{PLURAL:$1|je v uporabi $1 klic|sta v uporabi $1 klica|so v uporabi $1 klici|je v uporabi $1 klicev}}.", @@ -715,7 +718,7 @@ "history-feed-empty": "Zahtevana stran ne obstaja.\nMorda je bila izbrisana iz wikija ali pa jo je kdo preimenoval.\nProsimo, poskusite [[Special:Search|poiskati v wikiju]] ustrezajoče nove strani.", "rev-deleted-comment": "(povzetek urejanja je odstranjen)", "rev-deleted-user": "(uporabniÅ¡ko ime je bilo odstranjeno)", - "rev-deleted-event": "(dnevniÅ¡ki vnos je odstranjen)", + "rev-deleted-event": "(podrobnosti dnevnika so odstranjene)", "rev-deleted-user-contribs": "[uporabniÅ¡ko ime ali IP naslov odstranjeni - urajenje skrito v prispevkih]", "rev-deleted-text-permission": "Prikazana redakcija je bila '''izbrisana'''.\nPodrobnosti so na razpolago v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} dnevniku brisanja].", "rev-suppressed-text-permission": "Ta redakcija strani je bila <strong>zatrta</strong>.\nPodrobnosti so navedene v [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} dnevniku zatrtij].", @@ -749,7 +752,7 @@ "revdelete-legend": "Nastavi omejitve vidnosti", "revdelete-hide-text": "Besedilo redakcije", "revdelete-hide-image": "Skrij vsebino datoteke.", - "revdelete-hide-name": "Skrij dejanje in cilj", + "revdelete-hide-name": "Skrij cilj in parametre", "revdelete-hide-comment": "Povzetek urejanja", "revdelete-hide-user": "UporabniÅ¡ko ime/IP-naslov urejevalca", "revdelete-hide-restricted": "Zadrži podatke od administratorjev kakor tudi od ostalih", @@ -2843,7 +2846,6 @@ "watchlisttools-edit": "Prikaz in urejanje spiska nadzorov", "watchlisttools-raw": "Uredi gol spisek nadzorov", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|pogovor]])", - "unknown_extension_tag": "Neznana razÅ¡iritvena etiketa »$1«", "duplicate-defaultsort": "'''Opozorilo:''' Privzeti ključ razvrščanja »$2« prepiÅ¡e prejÅ¡nji privzeti ključ razvrščanja »$1«.", "duplicate-displaytitle": "<strong>Opozorilo:</strong> Prikazni naslov »$2« prepiÅ¡e prejÅ¡nji prikazni naslov »$1«.", "invalid-indicator-name": "<strong>Napaka:</strong> Atribut <code>name</code> indikatorjev stanja strani ne sme biti prazen.", diff --git a/languages/i18n/sr-ec.json b/languages/i18n/sr-ec.json index d51c8bf354..284117cc48 100644 --- a/languages/i18n/sr-ec.json +++ b/languages/i18n/sr-ec.json @@ -53,7 +53,7 @@ "tog-shownumberswatching": "Прикажи број корисника који надгледају", "tog-oldsig": "Текући потпис:", "tog-fancysig": "Сматрај потпис као викитекст (без самоповезивања)", - "tog-uselivepreview": "Користи тренутан преглед (експериментално)", + "tog-uselivepreview": "Користи тренутан преглед", "tog-forceeditsummary": "Упозори ме када не унесем опис измене", "tog-watchlisthideown": "Сакриј моје измене са списка надгледања", "tog-watchlisthidebots": "Сакриј измене ботова са списка надгледања", @@ -336,6 +336,8 @@ "filerenameerror": "Не могу да преименујем датотеку „$1“ у „$2“.", "filedeleteerror": "Не могу да обришем датотеку „$1“.", "directorycreateerror": "Не могу да направим фасциклу „$1“.", + "directoryreadonlyerror": "Директоријум „$1“ је само за читање.", + "directorynotreadableerror": "Директоријум „$1“ није читљив.", "filenotfound": "Не могу да пронађем датотеку „$1“.", "unexpected": "Неочекивана вредност: „$1“=„$2“.", "formerror": "Грешка: не могу да пошаљем образац", @@ -575,6 +577,7 @@ "anoneditwarning": "<strong>Упозорење:</strong> нисте пријављени. Ваша ИП адреса ће бити јавно видљива у историји ове странице ако начините било какву измену. Ако се <strong>[$1 пријавите]</strong> или <strong>[$2 отворите налог]</strong> ваше измене ће бити приписане вашем корисничком имену.", "anonpreviewwarning": "''Нисте пријављени. Ваша ИП адреса ће бити забележена у историји ове странице.''", "missingsummary": "'''Напомена:''' нисте унели опис измене.\nАко поново кликнете на „{{int:savearticle}}“, ваша измена ће бити сачувана без описа.", + "selfredirect": "<strong>Упозорење:</strong> преусмеравате ову страницу на њу саму.\nМожда вам је одредишна страница погрешна или уређујете погрешну страницу.\nАко још једном притиснете „{{int:savearticle}}“ преусмерење ће свеједно бити направљено.", "missingcommenttext": "Унесите коментар испод.", "missingcommentheader": "'''Напомена:''' нисте унели наслов овог коментара.\nАко поново кликнете на „{{int:savearticle}}“, ваша измена ће бити сачувана без наслова.", "summary-preview": "Преглед описа:", @@ -696,8 +699,8 @@ "undo-summary": "Поништена измена $1 {{GENDER:$2|корисника|кориснице}} [[Special:Contribs/$2|$2]] ([[User talk:$2|разговор]])", "undo-summary-username-hidden": "Поништи измену $1 скривеног корисника", "cantcreateaccounttitle": "Не могу да отворим налог", - "cantcreateaccount-text": "Отварање налога с ове IP адресе (<strong>$1</strong>) је блокирао/ла [[User:$3|$3]].\n\nРазлог који је навео/ла $3 је <em>$2</em>", - "cantcreateaccount-range-text": "Отварање налога са IP адреса у распону '''$1''', који укључује и вашу IP адресу ('''$4''') је блокирао/ла [[User:$3|$3]].\n\nРазлог који је навео/ла $3 је <em>$2</em>", + "cantcreateaccount-text": "Отварање налога с ове ИП адресе (<strong>$1</strong>) је блокирао/ла [[User:$3|$3]].\n\nРазлог који је навео/ла $3 је <em>$2</em>", + "cantcreateaccount-range-text": "Отварање налога са ИП адреса у распону '''$1''', који укључује и вашу ИП адресу ('''$4''') је блокирао/ла [[User:$3|$3]].\n\nРазлог који је навео/ла $3 је <em>$2</em>", "viewpagelogs": "Погледај дневнике ове странице", "nohistory": "Не постоји историја измена ове странице.", "currentrev": "Текућа измена", @@ -757,7 +760,7 @@ "revdelete-legend": "Ограничења видљивости", "revdelete-hide-text": "Сакриј текст измене", "revdelete-hide-image": "Сакриј садржај датотеке", - "revdelete-hide-name": "Сакриј радњу и одредиште", + "revdelete-hide-name": "Сакриј циљ и параметре", "revdelete-hide-comment": "Опис измене", "revdelete-hide-user": "Кориснчко име уредника/ИП адреса", "revdelete-hide-restricted": "Сакриј податке од администратора и других корисника", @@ -852,6 +855,7 @@ "search-redirect": "(преусмерење $1)", "search-section": "(одељак $1)", "search-category": "(категорија $1)", + "search-file-match": "(подудара се садржај датотеке)", "search-suggest": "Да ли сте мислили на: $1", "search-interwiki-caption": "Братски пројекти", "search-interwiki-default": "Резултати са $1:", @@ -1027,6 +1031,7 @@ "right-move": "премештање страница", "right-move-subpages": "премештање страница с њиховим подстраницама", "right-move-rootuserpages": "премештање основних корисничких страница", + "right-move-categorypages": "премештање категорија", "right-movefile": "премештање датотека", "right-suppressredirect": "прескакање стварања преусмерења при премештању страница", "right-upload": "отпремање датотека", @@ -1035,7 +1040,7 @@ "right-reupload-shared": "мењање датотека на дељеном складишту мултимедије", "right-upload_by_url": "отпремање датотека са веб адресе", "right-purge": "чишћење кеш меморије странице без потврде", - "right-autoconfirmed": "Not be affected by IP-based rate limits", + "right-autoconfirmed": "без ограничавања ставки за ИП адресе", "right-bot": "сматрање измена као аутоматски процес", "right-nominornewtalk": "непоседовање малих измена на страницама за разговор отвара прозор за нове поруке", "right-apihighlimits": "коришћење виших граница за упите из АПИ-ја", @@ -1048,7 +1053,8 @@ "right-deletedtext": "прегледање обрисаног текста и измена између обрисаних измена", "right-browsearchive": "претрага обрисаних страница", "right-undelete": "враћање обрисаних страница", - "right-suppressrevision": "прегледање и враћање измена које су сакривене од стране администратора", + "right-suppressrevision": "прегледање, скривање и враћање одређених измена страница од свих корисника", + "right-viewsuppressed": "прегледање измена скривених од свих корисника", "right-suppressionlog": "гледање приватних дневника", "right-block": "блокирање даљих измена других корисника", "right-blockemail": "онемогућавање корисницима да шаљу е-поруке", @@ -1145,7 +1151,7 @@ "recentchanges-label-plusminus": "Промена величине странице у бајтовима", "recentchanges-legend-heading": "'''Легенда:'''", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|списак нових страница]])", - "rcnotefrom": "Испод су измене од <strong>$2</strong> (до <strong>$1</strong> измена).", + "rcnotefrom": "Испод {{PLURAL:$5|је измена|су измене}} од <strong>$3, $4</strong> (до <strong>$1</strong> приказано).", "rclistfrom": "Прикажи нове измене почев од $2 $3", "rcshowhideminor": "$1 мање измене", "rcshowhideminor-show": "Прикажи", @@ -1359,8 +1365,8 @@ "license-header": "Лиценца:", "nolicense": "није изабрано", "license-nopreview": "(преглед није доступан)", - "upload_source_url": "(исправна и јавно доступна адреса)", - "upload_source_file": "(датотека на вашем рачунару)", + "upload_source_url": "(ваша изабрана датотека од исправних и јавно доступних адреса)", + "upload_source_file": "(ваша одабрана датотека са вашег рачунара)", "listfiles-delete": "обриши", "listfiles-summary": "Ова посебна страница приказује све послате датотеке.", "listfiles_search_for": "Назив датотеке:", @@ -1437,7 +1443,7 @@ "filedelete-maintenance": "Брисање и враћање датотека је привремено онемогућено због одржавања.", "filedelete-maintenance-title": "Не могу да обришем датотеку", "mimesearch": "MIME претрага", - "mimesearch-summary": "Ова страница омогућава филтрирање датотека према њиховим MIME типовима.\nУлазни подаци: contenttype/subtype, нпр. <code>image/jpeg</code>.", + "mimesearch-summary": "Ова страница омогућава филтрирање датотека према њиховим MIME типовима.\nУлазни подаци: contenttype/subtype или contenttype/*, нпр. <code>image/jpeg</code>.", "mimetype": "MIME врста:", "download": "преузми", "unwatchedpages": "Ненадгледане странице", @@ -1568,6 +1574,8 @@ "pager-older-n": "{{PLURAL:$1|старији 1|старијих $1}}", "suppress": "Надзор", "querypage-disabled": "Ова посебна страница је онемогућена ради побољшања перформанси.", + "apihelp": "API помоћ", + "apihelp-no-such-module": "Модул „$1“ није пронађен.", "booksources": "Штампани извори", "booksources-search-legend": "Тражи књижевне изворе", "booksources-isbn": "ISBN:", @@ -1640,7 +1648,9 @@ "listgrouprights-removegroup-self": "уклањање {{PLURAL:$2|групе|група}} са свог налога: $1", "listgrouprights-addgroup-self-all": "Додај све групе на сопствени налог", "listgrouprights-removegroup-self-all": "Уклони све групе са сопственог налога", + "listgrouprights-namespaceprotection-header": "Ограничења именских простора", "listgrouprights-namespaceprotection-namespace": "Именски простор", + "listgrouprights-namespaceprotection-restrictedto": "Права потребна за уређивање", "trackingcategories-name": "Име поруке", "trackingcategories-nodesc": "Опис није доступан.", "trackingcategories-disabled": "Категорија је онемогућена", @@ -1921,7 +1931,7 @@ "ipb-disableusertalk": "Забрани овом кориснику да уређује своју страницу за разговор док је блокиран", "ipb-change-block": "Поново блокирај корисника с овим поставкама", "ipb-confirm": "Потврди блокирање", - "badipaddress": "Неисправна IP адреса", + "badipaddress": "Неисправна ИП адреса", "blockipsuccesssub": "Блокирање је успело", "blockipsuccesstext": "[[Special:Contributions/$1|$1]] је {{GENDER:$1|блокиран|блокирана|блокиран}}.<br />\nБлокирања можете да погледате [[Special:BlockList|овде]].", "ipb-blockingself": "Овом радњом ћете блокирати себе! Јесте ли сигурни да то желите?", @@ -1930,9 +1940,9 @@ "ipb-unblock-addr": "Деблокирај $1", "ipb-unblock": "Деблокирај корисничко име или ИП адресу", "ipb-blocklist": "Погледај постојећа блокирања", - "ipb-blocklist-contribs": "Доприноси за $1", + "ipb-blocklist-contribs": "Доприноси за {{GENDER:$1|$1}}", "unblockip": "Деблокирај корисника", - "unblockiptext": "Користите образац испод да бисте вратили право писања блокираној IP адреси или корисничком имену.", + "unblockiptext": "Користите образац испод да бисте вратили право писања блокираној ИП адреси или корисничком имену.", "ipusubmit": "Уклони ову блокаду", "unblocked": "[[User:$1|$1]] је деблокиран", "unblocked-range": "$1 је деблокиран", @@ -2853,6 +2863,7 @@ "imgmultigo": "Иди!", "imgmultigoto": "Иди на страницу $1", "img-lang-default": "(подразумевани језик)", + "img-lang-info": "Прикажи ову слику на $1. $2", "img-lang-go": "Иди", "ascending_abbrev": "раст.", "descending_abbrev": "опад.", @@ -2954,7 +2965,6 @@ "hebrew-calendar-m12-gen": "Елул", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|разговор]])", "timezone-utc": "UTC", - "unknown_extension_tag": "Непозната ознака проширења „$1“", "duplicate-defaultsort": "'''Упозорење:''' подразумевани кључ сврставања „$2“ мења некадашњи кључ „$1“.", "version": "Верзија", "version-extensions": "Инсталирана проширења", @@ -3207,14 +3217,20 @@ "pagelang-select-lang": "Изабери језик", "right-pagelang": "мењање језика странице", "action-pagelang": "промену језика странице", + "mediastatistics": "Статистика датотека", "mediastatistics-summary": "Статистике о типовима послатих датотека. Овде су урачунате само најновије верзије датотека. Старе или обрисане верзије нису урачунате.", "mediastatistics-table-mimetype": "MIME тип", "mediastatistics-table-extensions": "Могуће екстензије", "mediastatistics-table-count": "Број датотека", "mediastatistics-table-totalbytes": "Укупна величина", + "mediastatistics-header-unknown": "Непознато", "mediastatistics-header-bitmap": "Битмап слике", "mediastatistics-header-drawing": "Цртежи (векторске слике)", "mediastatistics-header-audio": "Аудио", "mediastatistics-header-video": "Видео", - "mediastatistics-header-office": "Канцеларија" + "mediastatistics-header-office": "Канцеларија", + "mediastatistics-header-text": "Текстуалне", + "mediastatistics-header-executable": "Извршне", + "mediastatistics-header-archive": "Компресоване", + "json-error-syntax": "Грешка у синтакси" } diff --git a/languages/i18n/sr-el.json b/languages/i18n/sr-el.json index 8721007b5a..708dd1b070 100644 --- a/languages/i18n/sr-el.json +++ b/languages/i18n/sr-el.json @@ -45,7 +45,7 @@ "tog-shownumberswatching": "Prikaži broj korisnika koji nadgledaju", "tog-oldsig": "Tekući potpis:", "tog-fancysig": "Smatraj potpis kao vikitekst (bez samopovezivanja)", - "tog-uselivepreview": "Koristi trenutan pregled (eksperimentalno)", + "tog-uselivepreview": "Koristi trenutan pregled", "tog-forceeditsummary": "Upozori me kada ne unesem opis izmene", "tog-watchlisthideown": "Sakrij moje izmene sa spiska nadgledanja", "tog-watchlisthidebots": "Sakrij izmene botova sa spiska nadgledanja", @@ -747,7 +747,7 @@ "revdelete-legend": "Ograničenja vidljivosti", "revdelete-hide-text": "Sakrij tekst izmene", "revdelete-hide-image": "Sakrij sadržaj datoteke", - "revdelete-hide-name": "Sakrij radnju i odrediÅ¡te", + "revdelete-hide-name": "Sakrij cilj i parametre", "revdelete-hide-comment": "Opis izmene", "revdelete-hide-user": "Korisnčko ime urednika/IP adresa", "revdelete-hide-restricted": "Sakrij podatke od administratora i drugih korisnika", @@ -1024,7 +1024,7 @@ "right-reupload-shared": "menjanje datoteka na deljenom skladiÅ¡tu multimedije", "right-upload_by_url": "otpremanje datoteka sa veb adrese", "right-purge": "čišćenje keÅ¡ memorije stranice bez potvrde", - "right-autoconfirmed": "Not be affected by IP-based rate limits", + "right-autoconfirmed": "bez ograničavanja stavki za IP adrese", "right-bot": "smatranje izmena kao automatski proces", "right-nominornewtalk": "neposedovanje malih izmena na stranicama za razgovor otvara prozor za nove poruke", "right-apihighlimits": "korišćenje viÅ¡ih granica za upite iz API-ja", @@ -1037,7 +1037,7 @@ "right-deletedtext": "pregledanje obrisanog teksta i izmena između obrisanih izmena", "right-browsearchive": "pretraga obrisanih stranica", "right-undelete": "vraćanje obrisanih stranica", - "right-suppressrevision": "pregledanje i vraćanje izmena koje su sakrivene od strane administratora", + "right-suppressrevision": "pregledanje, skrivanje i vraćanje određenih izmena stranica od svih korisnika", "right-suppressionlog": "gledanje privatnih dnevnika", "right-block": "blokiranje daljih izmena drugih korisnika", "right-blockemail": "onemogućavanje korisnicima da Å¡alju e-poruke", @@ -1134,7 +1134,7 @@ "recentchanges-label-plusminus": "Promena veličine stranice u bajtovima", "recentchanges-legend-heading": "'''Legenda:'''", "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|spisak novih stranica]])", - "rcnotefrom": "Ispod su izmene od <b>$2</b> (do <b>$1</b> izmena).", + "rcnotefrom": "Ispod {{PLURAL:$5|je izmena|su izmene}} od <strong>$3, $4</strong> (do <strong>$1</strong> prikazano).", "rclistfrom": "Prikaži nove izmene počev od $2 $3", "rcshowhideminor": "$1 manje izmene", "rcshowhideminor-show": "Prikaži", @@ -1348,8 +1348,8 @@ "license-header": "Licenca:", "nolicense": "nije izabrano", "license-nopreview": "(pregled nije dostupan)", - "upload_source_url": "(ispravna i javno dostupna adresa)", - "upload_source_file": "(datoteka na vaÅ¡em računaru)", + "upload_source_url": "(vaÅ¡a izabrana datoteka od ispravnih i javno dostupnih adresa)", + "upload_source_file": "(vaÅ¡a odabrana datoteka sa vaÅ¡eg računara)", "listfiles-delete": "obriÅ¡i", "listfiles-summary": "Ova posebna stranica prikazuje sve poslate datoteke.", "listfiles_search_for": "Naziv datoteke:", @@ -1426,7 +1426,7 @@ "filedelete-maintenance": "Brisanje i vraćanje datoteka je privremeno onemogućeno zbog održavanja.", "filedelete-maintenance-title": "Ne mogu da obriÅ¡em datoteku", "mimesearch": "MIME pretraga", - "mimesearch-summary": "Ova stranica omogućava filtriranje datoteka prema njihovim MIME tipovima.\nUlazni podaci: contenttype/subtype, npr. <code>image/jpeg</code>.", + "mimesearch-summary": "Ova stranica omogućava filtriranje datoteka prema njihovim MIME tipovima.\nUlazni podaci: contenttype/subtype ili contenttype/*, npr. <code>image/jpeg</code>.", "mimetype": "MIME vrsta:", "download": "preuzmi", "unwatchedpages": "Nenadgledane stranice", @@ -2942,7 +2942,6 @@ "hebrew-calendar-m12-gen": "Elul", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|razgovor]])", "timezone-utc": "UTC", - "unknown_extension_tag": "Nepoznata oznaka proÅ¡irenja „$1“", "duplicate-defaultsort": "'''Upozorenje:''' podrazumevani ključ svrstavanja „$2“ menja nekadaÅ¡nji ključ „$1“.", "version": "Verzija", "version-extensions": "Instalirana proÅ¡irenja", diff --git a/languages/i18n/sv.json b/languages/i18n/sv.json index ae7899efad..3139b5c306 100644 --- a/languages/i18n/sv.json +++ b/languages/i18n/sv.json @@ -60,7 +60,8 @@ "아라", "Abbedabb", "Platinawolf", - "Albinomamba" + "Albinomamba", + "Stens51" ] }, "tog-underline": "Stryk under länkar:", @@ -610,7 +611,7 @@ "anoneditwarning": "<strong>Varning:</strong> Du är inte inloggad. Din IP-adress kommer att vara publikt synlig om du gör nÃ¥gra redigeringar. Om du <strong>[$1 loggar in]</strong> eller <strong>[$2 skapar ett konto]</strong> kommer dina redigeringar att tillskrivas ditt användarnamn, tillsammans med andra fördelar.", "anonpreviewwarning": "''Du är inte inloggad. Om du sparar kommer din IP-adress registreras pÃ¥ denna sidas redigeringshistorik.''", "missingsummary": "<strong>PÃ¥minnelse:</strong> Du har inte skrivit nÃ¥gon redigeringskommentar.\nOm du klickar pÃ¥ \"{{int:savearticle}}\" igen kommer din redigering att sparas utan en sÃ¥dan.", - "selfredirect": "<strong>Varning:</strong> Du omdirigerar till samma artikel.\nOm du klickar pÃ¥ \"{{int:savearticle}}\" igen kommer omdirigeringen att skapas.", + "selfredirect": "<strong>Varning:</strong> Du omdirigerar denna sida till sig själv.\nDu kanske angav fel mÃ¥l för din omdirigering, eller redigerar fel sida.\nOm du klickar pÃ¥ \"{{int:savearticle}}\" igen kommer omdirigeringen att skapas trots detta.", "missingcommenttext": "Var god och skriv in en kommentar nedan.", "missingcommentheader": "<strong>PÃ¥minnelse:</strong> Du har inte skrivit nÃ¥got ämne/rubrik för den här kommentaren.\nOm du trycker pÃ¥ \"{{int:savearticle}}\" igen kommer din redigering sparas utan rubrik.", "summary-preview": "Förhandsgranskning av sammanfattning:", @@ -709,6 +710,8 @@ "content-model-text": "oformaterad text", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "Tomt objekt", + "content-json-empty-array": "Tomt fält", "duplicate-args-category": "Sidor som använder upprepade argument i mallanrop", "duplicate-args-category-desc": "Sidan innehÃ¥ller mallanrop som använder repeterade argument, sÃ¥ som <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> eller <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.", "expensive-parserfunction-warning": "Varning: Denna sida innehÃ¥ller för mÃ¥nga anrop av resurskrävande parserfunktioner.\n\nAntalet anrop fÃ¥r vara högst $2, nu görs {{PLURAL:$1|$1 anrop}}", @@ -765,7 +768,7 @@ "history-feed-empty": "Den begärda sidan finns inte.\nDen kan ha tagits bort frÃ¥n wikin eller bytt namn.\nProva att [[Special:Search|söka pÃ¥ wikin]] för relevanta nya sidor.", "rev-deleted-comment": "(redigeringssammanfattning togs bort)", "rev-deleted-user": "(användarnamn borttaget)", - "rev-deleted-event": "(loggÃ¥tgärd borttagen)", + "rev-deleted-event": "(loggdetaljer borttagna)", "rev-deleted-user-contribs": "[användarnamn eller IP-adress har tagits bort - redigeringen visas ej bland bidragen]", "rev-deleted-text-permission": "Denna version av sidan har '''raderats'''.\nDet kan finnas mer information i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} raderingsloggen].", "rev-suppressed-text-permission": "Denna version av sidan har <strong>undanhÃ¥llits</strong>.\nDetaljer kan hittas i [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} undanhÃ¥llandeloggen].", @@ -799,7 +802,7 @@ "revdelete-legend": "Ändra synlighet", "revdelete-hide-text": "Versionstext", "revdelete-hide-image": "Dölj filinnehÃ¥ll", - "revdelete-hide-name": "Dölj Ã¥tgärd och sidnamn", + "revdelete-hide-name": "Dölj mÃ¥l och parametrar", "revdelete-hide-comment": "Redigeringssammanfattning", "revdelete-hide-user": "Redigerarens användarnamn/IP-adress", "revdelete-hide-restricted": "UndanhÃ¥ll data frÃ¥n administratörer sÃ¥ väl som frÃ¥n övriga", @@ -2904,7 +2907,6 @@ "watchlisttools-edit": "Visa och redigera bevakningslistan", "watchlisttools-raw": "Redigera bevakningslistan i rÃ¥format", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|diskussion]])", - "unknown_extension_tag": "Okänd tagg \"$1\"", "duplicate-defaultsort": "'''Varning:''' Standardsorteringsnyckeln \"$2\" tar över frÃ¥n den tidigare standardsorteringsnyckeln \"$1\".", "duplicate-displaytitle": "<strong>Varning:</strong> Visningstiteln \"$2\" skriver över den tidigare visningstiteln \"$1\".", "invalid-indicator-name": "<p>Fel:</strong> Sidstatus-indikatorernas <code>namn</code>-attributet fÃ¥r inte vara tomt.", diff --git a/languages/i18n/uk.json b/languages/i18n/uk.json index 336f588457..378bed6616 100644 --- a/languages/i18n/uk.json +++ b/languages/i18n/uk.json @@ -611,7 +611,7 @@ "anoneditwarning": "<strong>Увага!</strong> Ви не авторизувалися на сайті. Ваша IP-адреса буде публічно видима, якщо ви будете вносити будь-які правки. Якщо ви <strong>[$1 увійдете]</strong> або <strong>[$2 створите обліковий запис]</strong>, правки замість цього будуть пов'язані з вашим ім'ям користувача, а також у вас з'являться інші переваги.", "anonpreviewwarning": "''Ви не увійшли в систему. Якщо ви виконаєте збереження, то в історію сторінки буде записана ваша IP-адреса.''", "missingsummary": "'''Нагадування''': Ви не дали короткого опису змін.\nНатиснувши кнопку «Зберегти» ще раз, ви збережете зміни без коментаря.", - "selfredirect": "<strong>Попередження:</strong> Ви створюєте перенаправлення на цю ж сторінку.\nЯкщо Ви натиснете \"{{int:savearticle}}\" ще раз, перенаправлення буде створено.", + "selfredirect": "<strong>Попередження:</strong> Ви створюєте перенаправлення на цю ж сторінку.\nВи могли вказати невірну цільову сторінку, або ж редагуєте хибну сторінку.\nЯкщо Ви натиснете \"{{int:savearticle}}\" ще раз, перенаправлення буде створено.", "missingcommenttext": "Будь ласка, введіть нижче ваше повідомлення.", "missingcommentheader": "'''Нагадування''': ви не вказали тему/заголовок для цього коментаря.\nНатиснувши кнопку «{{int:savearticle}}» ще раз, ви збережете редагування без заголовка.", "summary-preview": "Опис буде:", @@ -3038,7 +3038,6 @@ "hebrew-calendar-m12-gen": "Елула", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|обговорення]])", "timezone-utc": "UTC", - "unknown_extension_tag": "Невідомий тег доповнення «$1»", "duplicate-defaultsort": "Увага. Ключ сортування «$2» перекриває попередній ключ сортування «$1».", "duplicate-displaytitle": "<strong>Увага:</strong> Відображений заголовок \"$2\" заміщує раніше відображений заголовок \"$1\".", "invalid-indicator-name": "<strong>Помилка:</strong> Сторінка індикатора стану <code>name</code> атрибута не може бути пуста.", diff --git a/languages/i18n/uz.json b/languages/i18n/uz.json index 968a02da19..01f80f557d 100644 --- a/languages/i18n/uz.json +++ b/languages/i18n/uz.json @@ -14,8 +14,8 @@ ] }, "tog-underline": "Havolalarning tagiga chizish:", - "tog-hideminor": "Yangi oÊ»zgarishlar roÊ»yxatidan kichik tahrirlarni yashirish", - "tog-hidepatrolled": "Yangi oÊ»zgarishlar roÊ»yxatidan tekshirilgan tahrirlarni yashirish", + "tog-hideminor": "Yangi oÊ»zgarishlar roÊ»yxatida kichik tahrirlarni yashirish", + "tog-hidepatrolled": "Yangi oÊ»zgarishlar roÊ»yxatida tekshirilgan tahrirlarni yashirish", "tog-newpageshidepatrolled": "Yangi sahifalar roÊ»yxatidan tekshirilgan sahifalarni yashirish", "tog-extendwatchlist": "Kengaytirilgan kuzatuv roÊ»yxati: faqat oxirgi paytdagi emas, barcha oÊ»zgarishlar koÊ»rsatiladi", "tog-usenewrc": "Yangi oÊ»zgarishlar va kuzatuv roÊ»yxatidagi sahifalarni guruhlarga boÊ»lish (JavaScript orqali)", @@ -300,9 +300,9 @@ "internalerror": "Ichki xato", "internalerror_info": "Ichki xato: $1", "filecopyerror": "\"$1\" fayl nusxasini \"$2\" fayliga koÊ»chirib boÊ»lmadi.", - "filerenameerror": "Faylning nomini \"$1\"dan \"$2\"ga o‘zgartirib bo‘lmadi.", + "filerenameerror": "Fayl nomini «$1»dan «$2»ga o‘zgartirish imkoni yoÊ»q.", "filedeleteerror": "\"$1\" faylini oÊ»chirib boÊ»lmadi.", - "directorycreateerror": "\"$1\" papkasini yaratib bo‘lmadi.", + "directorycreateerror": "\"$1\" papkasini yaratish imkoni yoÊ»q.", "filenotfound": "\"$1\" faylini topib boÊ»lmadi.", "unexpected": "Kutilmagan qiymat: \"$1\"=\"$2\".", "cannotdelete-title": "\"$1\" sahifasini oÊ»chirib boÊ»lmadi.", @@ -826,7 +826,7 @@ "file-anchor-link": "Fayl", "filehist": "Fayl tarixi", "filehist-help": "Faylning biror paytdagi holatini koÊ»rish uchun tegishli sana/vaqtga bosingiz.", - "filehist-deleteall": "barini o'chirish", + "filehist-deleteall": "barchasini oÊ»chirish", "filehist-deleteone": "o‘chirish", "filehist-revert": "qaytarish", "filehist-current": "joriy", diff --git a/languages/i18n/yi.json b/languages/i18n/yi.json index c862c3cb12..8ebea54a39 100644 --- a/languages/i18n/yi.json +++ b/languages/i18n/yi.json @@ -40,7 +40,7 @@ "tog-shownumberswatching": "ווייזן דעם נומער פון בלאט אויפֿפאסערס", "tog-oldsig": "איצטיגער אונטערשריפֿט:", "tog-fancysig": "באַהאַנדלן אונטערשריפט אַלס וויקיטעקסט (אָן אויטאמאטישן לינק)", - "tog-uselivepreview": "באניצן זיך מיט גיכער פאראויסדיגער ווייזונג (עקספערימענטאל)", + "tog-uselivepreview": "באניצן זיך מיט גיכער פאראויסדיגער ווייזונג", "tog-forceeditsummary": "ווארן מיך ווען איך לייג א ליידיג קורץ ווארט ענדערונג", "tog-watchlisthideown": "באהאלט מיינע ענדערונגען פון דער אויפפאסן ליסטע", "tog-watchlisthidebots": "באהאלט באט עדיטס פון אויפפאסן ליסטע", @@ -323,6 +323,8 @@ "filerenameerror": "נאמען טויש פֿאַר \"$1\" צו \"$2\" איז נישט אדורכגעגאנגען.", "filedeleteerror": "אויסמעקן \"$1\" נישט דורך.", "directorycreateerror": "קען נישט באשאפן דירעקטארי \"$1\".", + "directoryreadonlyerror": "דירעקטאריע \"$1\" איז נאר לייענבאר.", + "directorynotreadableerror": "דירעקטאריע \"$1\" איז נישט לייענבאר.", "filenotfound": "קען נישט געפינען טעקע \"$1\".", "unexpected": "אומערווארטערטער ווערד: \"$1\"=\"$2\"", "formerror": "פֿעלער: קען נישט שיקן פֿארעם.", @@ -716,7 +718,7 @@ "history-feed-empty": "דער געבעטענער בלאט עקזיסטירט נישט.\nעס איז מעגליך אויסגעמעקט געווארן פון דער וויקי, אדער דער נאמען געטוישט.\nפרובירט [[Special:Search|צו זיכן אין וויקי]] נאך רעלאווענטע נייע בלעטער.", "rev-deleted-comment": "(קורץ־ווארט אראָפגענומען)", "rev-deleted-user": "(באנוצער נאמען אראפגענומען)", - "rev-deleted-event": "(לאגירן אקציע אראפגענומען)", + "rev-deleted-event": "(לאגירן פרטים אראפגענומען)", "rev-deleted-user-contribs": "[באַניצער נאָמען אָדער IP אַדרעס אראפגענומען - רעדאַקטירונג פֿאַרבאָרגן פֿון בייַשטייַערונגען]", "rev-deleted-text-permission": "די בלאט רעוויזיע איז געווארן '''אויסגעמעקט '''.\nעס איז מעגלעך דא נאך פרטים אין דעם\n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} אויסמעקונג לאג].", "rev-suppressed-text-permission": "די בלאט רעוויזיע איז געווארן <strong>אונטערדריקט</strong>. מען קען געפינען נאך פרטים אין דעם [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} אונטערדריקן לאגבוך].", @@ -750,7 +752,7 @@ "revdelete-legend": "שטעלט ווייזונג באגרענעצונגען", "revdelete-hide-text": "ווערסיע טעקסט", "revdelete-hide-image": "באהאלט טעקע אינהאלט", - "revdelete-hide-name": "באהאלט אקציע און ציל", + "revdelete-hide-name": "באהאלטן ציל און פאראמעטערס", "revdelete-hide-comment": "רעדאקטירונג רעזומע", "revdelete-hide-user": "רעדאַקטאר'ס באניצער-נאמען/IP-אַדרעס", "revdelete-hide-restricted": "באהאלט אינפארמאציע אויך פון אדמיניסטראטורן פונקט ווי פשוטע באנוצער", @@ -794,6 +796,7 @@ "mergehistory-empty": "קיין רעוויזיעס קען נישט ווערן צונויפֿגעגאסן.", "mergehistory-success": "{{PLURAL:$3|איין גירסא|$3 גירסאות}} פֿון [[:$1]] צונויפֿגעגאסן אין [[:$2]] מיט דערפֿאלג.", "mergehistory-fail": "נישט מעגלעך אדורכצופֿירן היסטאריע צונויפֿגאס, ביטע זײַט בודק די בלאַט און צײַט פאַראַמעטערס.", + "mergehistory-fail-toobig": "אוממעגלעך אויסצופירן היסטאריע צונויפמישונג ווײַל מען וואלט געדארפט באוועגן מער ווי $1 {{PLURAL:$1|רעוויזיע|רעוויזיעס}}.", "mergehistory-no-source": "מקור בלאַט $1 עקזיסטירט נישט.", "mergehistory-no-destination": "פֿארציל בלאַט $1 עקזיסטירט נישט.", "mergehistory-invalid-source": "מקור בלאַט מוז זײַן א גילטיק קעפל.", @@ -2751,7 +2754,6 @@ "hebrew-calendar-m11-gen": "אב", "hebrew-calendar-m12-gen": "אלול", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|רעדן]])", - "unknown_extension_tag": "אומבאַוואוסטער פֿאַרברייטערונג טאַג \"$1\"", "duplicate-defaultsort": "'''ווארענונג:''' גרונט סארטשליסל \"$2\" פֿאָרט איבערן פֿריערדיגן גרונט סארטשליסל \"$1\".", "version": "ווערסיע", "version-extensions": "אינסטאלירטע פארברייטערונגען", diff --git a/languages/i18n/zh-hans.json b/languages/i18n/zh-hans.json index 1864352839..e9b4b7c322 100644 --- a/languages/i18n/zh-hans.json +++ b/languages/i18n/zh-hans.json @@ -297,6 +297,7 @@ "pool-queuefull": "请求队列已满", "pool-errorunknown": "未知错误", "pool-servererror": "池计数器服务不可用($1)。", + "poolcounter-usage-error": "用法错误:$1", "aboutsite": "关于{{SITENAME}}", "aboutpage": "Project:关于", "copyright": "除非另有声明,本网站内容采用$1授权。", @@ -731,6 +732,8 @@ "content-model-text": "纯文本", "content-model-javascript": "JavaScript", "content-model-css": "CSS", + "content-json-empty-object": "空的对象", + "content-json-empty-array": "空的数组", "duplicate-args-category": "调用重复模板参数的页面", "duplicate-args-category-desc": "页面包含调用了重复参数的模板,例如<code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code>或<code><nowiki>{{foo|bar|1=baz}}</nowiki></code>。", "expensive-parserfunction-warning": "<strong>警告:</strong>这个页面有太多高昂的语法功能调用。\n\n它应该少过$2次呼叫,现在有$1次呼叫。", @@ -2947,7 +2950,6 @@ "watchlisttools-edit": "查看并编辑监视列表", "watchlisttools-raw": "编辑原始监视列表", "signature": "[[{{ns:user}}:$1|$2]]([[{{ns:user_talk}}:$1|讨论]])", - "unknown_extension_tag": "未知扩展标签“$1”", "duplicate-defaultsort": "'''警告:'''默认排序关键词“$2”覆盖了之前的默认排序关键词“$1”。", "duplicate-displaytitle": "<strong>警告:</strong>显示的标题“$2”重写了此前显示的标题“$1”。", "invalid-indicator-name": "<strong>错误:</strong>页面状态指示器的<code>name</code>属性必须不为空。", diff --git a/languages/i18n/zh-hant.json b/languages/i18n/zh-hant.json index 84bbf306f9..891a74e7a2 100644 --- a/languages/i18n/zh-hant.json +++ b/languages/i18n/zh-hant.json @@ -254,7 +254,7 @@ "projectpage": "檢視專案頁面", "imagepage": "檢視檔案頁面", "mediawikipage": "檢視訊息頁面", - "templatepage": "檢視模板頁面", + "templatepage": "檢視樣板頁面", "viewhelppage": "檢視說明頁面", "categorypage": "檢視分類頁面", "viewtalkpage": "檢視討論頁面", @@ -337,7 +337,7 @@ "nstab-project": "專案頁面", "nstab-image": "檔案", "nstab-mediawiki": "訊息", - "nstab-template": "模板", + "nstab-template": "樣板", "nstab-help": "說明頁面", "nstab-category": "分類", "nosuchaction": "無此動作", @@ -607,7 +607,7 @@ "anoneditwarning": "<strong>警告:</strong>您尚未登入。 若您進行任何的編輯您的 IP 位置將會被公開。 若您 <strong>[$1 登入]</strong> 或 <strong>[$2 建立帳號]</strong>,您的編輯將會以您的使用者名稱標示,擁有其他優點。", "anonpreviewwarning": "<em>您尚未登入。儲存頁面會將您的 IP 位址記錄在此頁面的編輯歷史中。</em>", "missingsummary": "<strong>提醒:</strong>您未填寫編輯摘要。\n若您再點選 \"{{int:savearticle}}\" 一次,將略過摘要直接儲存您的編輯。", - "selfredirect": "<strong>警告:</strong> 您正建立連結至自己的重新導向。\n若您再點選 \"{{int:savearticle}}\" 一次,將會繼續建立重新導向。", + "selfredirect": "<strong>警告:</strong> 您正建立連結至自己的重新導向。\n您可能指定錯要重新導向的目標頁面或者編輯錯頁面。\n若您再點選 \"{{int:savearticle}}\" 一次,將會繼續建立重新導向。", "missingcommenttext": "請在下方輸入評論。", "missingcommentheader": "<strong>提醒:</strong>您未填寫此評論的主旨/標題。\n若您再點選 \"{{int:savearticle}}\" 一次,將略過主旨/標題直接儲存您的評論。", "summary-preview": "摘要預覽:", @@ -670,9 +670,9 @@ "semiprotectedpagewarning": "<strong>注意:</strong>本頁已經被保護,只有已註冊的使用者才可編輯。\n以下提供最近的日誌以便參考:", "cascadeprotectedwarning": "<strong>警告:</strong>本頁已經被保護,只有擁有管理員權限的使用者才可編輯,此頁面被下列頁面引用因此連鎖保護:", "titleprotectedwarning": "<strong>警告:本頁面已被保護,需要 [[Special:ListGroupRights|特殊權限]] 方可建立。</strong>\n以下提供最近的日誌以便參考:", - "templatesused": "此頁面使用了以下{{PLURAL:$1|模板}}:", - "templatesusedpreview": "此預覽使用了以下{{PLURAL:$1|模板}}:", - "templatesusedsection": "此頁面使用了以下{{PLURAL:$1模板}}:", + "templatesused": "此頁面使用了以下{{PLURAL:$1|樣板}}:", + "templatesusedpreview": "此預覽使用了以下{{PLURAL:$1|樣板}}:", + "templatesusedsection": "此頁面使用了以下{{PLURAL:$1|樣板}}:", "template-protected": "(受保護)", "template-semiprotected": "(受半保護)", "hiddencategories": "此頁面屬於 {{PLURAL:$1|1 個隱藏分類|$1 個隱藏分類}}的成員:", @@ -706,16 +706,18 @@ "content-model-text": "純文字", "content-model-javascript": "JavaScript", "content-model-css": "CSS", - "duplicate-args-category": "模板呼叫時使用重複的參數的頁面", - "duplicate-args-category-desc": "該頁面包含重複使用參數的模板呼叫,如 <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> 或 <code><nowiki>{{foo|bar|1=baz}}</nowiki>。", + "content-json-empty-object": "空物件", + "content-json-empty-array": "空陣列", + "duplicate-args-category": "樣板呼叫時使用重複的參數的頁面", + "duplicate-args-category-desc": "該頁面包含重複使用參數的樣板呼叫,如 <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> 或 <code><nowiki>{{foo|bar|1=baz}}</nowiki>。", "expensive-parserfunction-warning": "<strong>警告:</strong>此頁面使用了太多消耗系統資源的解析函數。\n\n使用次數應小於 $2 次,但目前使用了 $1 次。", "expensive-parserfunction-category": "使用了太多消耗系統資源的分析函數的頁面", - "post-expand-template-inclusion-warning": "<strong>警告:</strong>引用模板後大小超出限制。\n部份模板內容將不會被使用。", - "post-expand-template-inclusion-category": "引用模板後大小超出限制的頁面", - "post-expand-template-argument-warning": "<strong>警告:</strong>此頁面有一個以上的模板參數過長。\n過長的參數會被直接忽略。", - "post-expand-template-argument-category": "模板參數有部份被忽略的頁面", - "parser-template-loop-warning": "偵測到模板遞迴:[[$1]]", - "parser-template-recursion-depth-warning": "超出模板遞迴深度限制 ($1)", + "post-expand-template-inclusion-warning": "<strong>警告:</strong>引用樣板後大小超出限制。\n部份樣板內容將不會被使用。", + "post-expand-template-inclusion-category": "引用樣板後大小超出限制的頁面", + "post-expand-template-argument-warning": "<strong>警告:</strong>此頁面有一個以上的樣板參數過長。\n過長的參數會被直接忽略。", + "post-expand-template-argument-category": "樣板參數有部份被忽略的頁面", + "parser-template-loop-warning": "偵測到樣板遞迴:[[$1]]", + "parser-template-recursion-depth-warning": "超出樣板遞迴深度限制 ($1)", "language-converter-depth-warning": "已超出語言轉換器深度限制 ($1)", "node-count-exceeded-category": "節點數量超出限制的頁面", "node-count-exceeded-category-desc": "超出節點數量限制的頁面。", @@ -762,7 +764,7 @@ "history-feed-empty": "請求的頁面不存在,\n可能已被刪除或重新命名。\n請嘗試 [[Special:Search|搜尋本站]] 取得其他相關的新頁面。", "rev-deleted-comment": "(已移除編輯摘要)", "rev-deleted-user": " (已移除使用者名稱)", - "rev-deleted-event": "(已移除日誌操作)", + "rev-deleted-event": "(已移除日誌明細)", "rev-deleted-user-contribs": "[使用者名稱或 IP 位址已移除 - 已隱藏貢獻清單中的編輯]", "rev-deleted-text-permission": "此頁面修訂已被 <strong>刪除</strong>。\n可至 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 刪除日誌] 取得詳細資訊。", "rev-suppressed-text-permission": "此頁面修訂已被 <strong>禁止顯示</strong>。\n可至 [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 禁止顯示日誌] 取得詳細資訊。", @@ -796,7 +798,7 @@ "revdelete-legend": "設定顯示限制", "revdelete-hide-text": "修訂文字", "revdelete-hide-image": "隱藏檔案內容", - "revdelete-hide-name": "隱藏動作和目標", + "revdelete-hide-name": "隱藏目標與參數", "revdelete-hide-comment": "編輯摘要", "revdelete-hide-user": "編輯者的使用者名稱/IP 位址", "revdelete-hide-restricted": "禁止顯示資料給管理者及其他使用者", @@ -1188,7 +1190,7 @@ "recentchanges-label-unpatrolled": "該編輯尚未巡查", "recentchanges-label-plusminus": "該頁面變更的大小 (位元組)", "recentchanges-legend-heading": "'''說明:'''", - "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (請參考 [[Special:NewPages|最新頁面]])", + "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (請參考[[Special:NewPages|新頁面]])", "recentchanges-legend-plusminus": "(<em>±123</em>)", "rcnotefrom": "以下{{PLURAL:$5|為}}自 <strong>$3 $4</strong> 以來的變更 (最多顯示 <strong>$1</strong> 筆)。", "rclistfrom": "顯示自 $3 $2 以來的近期變更", @@ -1489,8 +1491,8 @@ "listduplicatedfiles": "重複檔案清單", "listduplicatedfiles-summary": "此清單中包含最新版本的檔案與其他檔案重複的清單,本清單只顯示本地檔案。", "listduplicatedfiles-entry": "[[:File:$1|$1]] 有[[$3|其他 $2 個重複檔案]]。", - "unusedtemplates": "未使用的模板", - "unusedtemplatestext": "此頁面列出所有於 {{ns:template}} 命名空間下未被其他頁面引用的模板。\n在刪除前,仍需檢查是否有連結這些模板的其他頁面。", + "unusedtemplates": "未使用的樣板", + "unusedtemplatestext": "此頁面列出所有於 {{ns:template}} 命名空間下未被其他頁面引用的樣板。\n在刪除前,仍需檢查是否有連結這些樣板的其他頁面。", "unusedtemplateswlh": "其他連結", "randompage": "隨機頁面", "randompage-nopages": "在{{PLURAL:$2|命名空間}}中沒有任何頁面:$1。", @@ -1552,7 +1554,7 @@ "uncategorizedpages": "未分類的頁面", "uncategorizedcategories": "未分類的分類", "uncategorizedimages": "未分類的檔案", - "uncategorizedtemplates": "待分類模板", + "uncategorizedtemplates": "待分類樣板", "unusedcategories": "未使用的分類", "unusedimages": "未使用的檔案", "wantedcategories": "需要的分類", @@ -1563,7 +1565,7 @@ "wantedfiletext-cat-noforeign": "下列檔案已被使用但不存在。 除此之外,頁面已內嵌但不存在的檔案列於 [[:$1]]。", "wantedfiletext-nocat": "下列檔案被時用,但檔案不存在。 外部儲存庫的檔案儘管存在,但此清單仍會列出。 這類誤報的項目會以 <del>刪除線</del> 標示。", "wantedfiletext-nocat-noforeign": "下列檔案已被使用但不存在。", - "wantedtemplates": "需要的模板", + "wantedtemplates": "需要的樣板", "mostlinked": "被連結最多的頁面", "mostlinkedcategories": "被連結最多的分類", "mostlinkedtemplates": "被引用最多的頁面", @@ -1698,8 +1700,8 @@ "trackingcategories-desc": "分類收錄標準", "noindex-category-desc": "命名空間允許,且含有魔術字 <code><nowiki>__NOINDEX__</nowiki></code> 未被機器人列入索引的頁面。", "index-category-desc": "命名空間允許,且含有魔術字 <code><nowiki>__INDEX__</nowiki></code> 被機器人列入索引的頁面。", - "post-expand-template-inclusion-category-desc": "展開模板後大小超過 <code>$wgMaxArticleSize</code> 導致部份模板未正常展開的頁面。", - "post-expand-template-argument-category-desc": "展開模板參數後大小超過 <code>$wgMaxArticleSize</code> 的頁面 (有些於三括號中,如 <code>{{{Foo}}}</code>)。", + "post-expand-template-inclusion-category-desc": "展開樣板後大小超過 <code>$wgMaxArticleSize</code> 導致部份樣板未正常展開的頁面。", + "post-expand-template-argument-category-desc": "展開樣板參數後大小超過 <code>$wgMaxArticleSize</code> 的頁面 (有些於三括號中,如 <code>{{{Foo}}}</code>)。", "expensive-parserfunction-category-desc": "頁面使用太多消耗系統資源的解析器函數 (如 <code>#ifexist</code>)。\n請參考 [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit]。", "broken-file-category-desc": "含有損壞檔案連結的頁面 (內嵌檔案連結的檔案不存在)。", "hidden-category-category-desc": "內容中使用 <code><nowiki>__HIDDENCAT__</nowiki></code> 的分類,可隱藏預設在頁面上顯示的分類連結方塊。", @@ -2155,7 +2157,7 @@ "export-addnstext": "使用命名空間新增頁面:", "export-addns": "新增", "export-download": "儲存為檔案", - "export-templates": "包含模板", + "export-templates": "包含樣板", "export-pagelinks": "包含連結的頁面深度:", "allmessages": "系統訊息", "allmessagesname": "名稱", @@ -2181,6 +2183,7 @@ "thumbnail-temp-create": "無法建立暫存縮圖檔案", "thumbnail-dest-create": "無法儲存縮圖至目標", "thumbnail_invalid_params": "無效的縮圖參數", + "thumbnail_toobigimagearea": "檔案的尺寸超過 $1", "thumbnail_dest_directory": "無法建立目標目錄", "thumbnail_image-type": "不支援的圖片類型", "thumbnail_gd-library": "未完成 GD 設定:缺少函數 $1", @@ -2192,7 +2195,7 @@ "import-interwiki-sourcewiki": "來源 Wiki:", "import-interwiki-sourcepage": "來源頁面:", "import-interwiki-history": "複製此頁的所有歷史修訂", - "import-interwiki-templates": "包含所有模板", + "import-interwiki-templates": "包含所有樣板", "import-interwiki-submit": "匯入", "import-interwiki-namespace": "目標命名空間:", "import-interwiki-rootpage": "目標根頁面 (選填):", @@ -2295,7 +2298,7 @@ "tooltip-ca-nstab-project": "檢視專案頁面", "tooltip-ca-nstab-image": "檢視檔案頁面", "tooltip-ca-nstab-mediawiki": "檢視系統訊息", - "tooltip-ca-nstab-template": "檢視模板", + "tooltip-ca-nstab-template": "檢視樣板", "tooltip-ca-nstab-help": "檢視說明頁面", "tooltip-ca-nstab-category": "檢視分類頁面", "tooltip-minoredit": "標記為小修訂", @@ -2370,7 +2373,7 @@ "pageinfo-recent-authors": "最近作者數", "pageinfo-magic-words": "魔術{{PLURAL:$1|字}} ($1)", "pageinfo-hidden-categories": "隱藏分類 ($1)", - "pageinfo-templates": "引用模板 ($1)", + "pageinfo-templates": "引用樣板 ($1)", "pageinfo-transclusions": "頁面被引用於 ($1)", "pageinfo-toolboxlink": "頁面資訊", "pageinfo-redirectsto": "重新導向至", @@ -2836,8 +2839,8 @@ "confirmemail_invalidated": "已取消電子郵件位址確認", "invalidateemail": "取消電子郵件確認", "scarytranscludedisabled": "[Interwiki 轉換代碼不可用]", - "scarytranscludefailed": "[模板 $1 讀取失敗]", - "scarytranscludefailed-httpstatus": "[模板 $1 讀取失敗:HTTP $2]", + "scarytranscludefailed": "[樣板 $1 讀取失敗]", + "scarytranscludefailed-httpstatus": "[樣板 $1 讀取失敗:HTTP $2]", "scarytranscludetoolong": "[URL 過長]", "deletedwhileediting": "<strong>警告:</strong>此頁在您開始編輯之後已經被刪除﹗", "confirmrecreate": "在您編輯的同時,使用者 [[User:$1|$1]] ([[User talk:$1|對話]]) 刪除了此頁面,原因為:\n: <em>$2</em>\n請確認您是否真的要重新建立此頁面。", @@ -2907,7 +2910,6 @@ "watchlisttools-edit": "檢視並編輯監視清單", "watchlisttools-raw": "編輯原始監視清單", "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|對話]])", - "unknown_extension_tag": "不明的擴充標籤 \"$1\"", "duplicate-defaultsort": "<strong>警告:</strong>預設的排序鍵 \"$2\" 會覆蓋先前預設的排序鍵 \"$1\"。", "duplicate-displaytitle": "<strong>警告:</strong> 顯示標題 \"$2\" 覆蓋之前的顯示標題 \"$1\"。", "invalid-indicator-name": "<strong>錯誤:</strong>頁面狀態指示器的<code>name</code> 屬性不能為空。", @@ -3161,12 +3163,12 @@ "limitreport-ppgeneratednodes": "預處理器產生節點次數", "limitreport-postexpandincludesize": "展開後的引用大小", "limitreport-postexpandincludesize-value": "$1/$2 個{{PLURAL:$2|位元組}}", - "limitreport-templateargumentsize": "模板參數大小", + "limitreport-templateargumentsize": "樣板參數大小", "limitreport-templateargumentsize-value": "$1/$2 個{{PLURAL:$2|位元組}}", "limitreport-expansiondepth": "最高展開深度", "limitreport-expensivefunctioncount": "高消耗解析器函數次數", - "expandtemplates": "展開模板", - "expand_templates_intro": "本特殊頁面會將文字中的模板展開,可以包含支援的解析器語法,如 <code><nowiki>{{</nowiki>#language:…}}</code> 與變數如 <code><nowiki>{{</nowiki>CURRENTDAY}}</code>。\n實際上,絕大部分在雙括號中的內容都會被展開。", + "expandtemplates": "展開樣板", + "expand_templates_intro": "本特殊頁面會將文字中的樣板展開,可以包含支援的解析器語法,如 <code><nowiki>{{</nowiki>#language:…}}</code> 與變數如 <code><nowiki>{{</nowiki>CURRENTDAY}}</code>。\n實際上,絕大部分在雙括號中的內容都會被展開。", "expand_templates_title": "上下文標題,用於 {{FULLPAGENAME}} 等:", "expand_templates_input": "輸入文字:", "expand_templates_output": "結果", diff --git a/maintenance/Maintenance.php b/maintenance/Maintenance.php index 108fe9f12e..2f8b7d2b12 100644 --- a/maintenance/Maintenance.php +++ b/maintenance/Maintenance.php @@ -1321,7 +1321,7 @@ abstract class LoggedUpdateMaintenance extends Maintenance { } /** - * Message to show the the update log was unable to log the completion of this update + * Message to show that the update log was unable to log the completion of this update * @return string */ protected function updatelogFailedMessage() { diff --git a/maintenance/fetchText.php b/maintenance/fetchText.php index 3e2c6c9337..dd4f760f98 100644 --- a/maintenance/fetchText.php +++ b/maintenance/fetchText.php @@ -44,7 +44,7 @@ class FetchText extends Maintenance { * \n * text (may be empty) * - * note that that the text string itself is *not* followed by newline + * note that the text string itself is *not* followed by newline */ public function execute() { $db = wfGetDB( DB_SLAVE ); diff --git a/maintenance/populateParentId.php b/maintenance/populateParentId.php index f77978fc4d..686d9f2b7f 100644 --- a/maintenance/populateParentId.php +++ b/maintenance/populateParentId.php @@ -84,7 +84,7 @@ class PopulateParentId extends LoggedUpdateMaintenance { "rev_id < " . intval( $row->rev_id ) ), __METHOD__, array( 'ORDER BY' => 'rev_id DESC' ) ); - # If there are none, check the the highest ID with a lower timestamp + # If there are none, check the highest ID with a lower timestamp if ( !$previousID ) { # Get the highest older timestamp $lastTimestamp = $db->selectField( diff --git a/maintenance/resources/update-oojs-ui.sh b/maintenance/resources/update-oojs-ui.sh index a20b83be8e..93aacdeb53 100755 --- a/maintenance/resources/update-oojs-ui.sh +++ b/maintenance/resources/update-oojs-ui.sh @@ -34,9 +34,15 @@ then exit 1 fi -# Copy files -# - Exclude the minimised distribution files and RTL sheets for non-CSSJanus environments -rsync --force --recursive --delete --exclude 'oojs-ui*.min.*' --exclude 'oojs-ui*.rtl.css' ./node_modules/oojs-ui/dist/ "$REPO_DIR/$TARGET_DIR" || exit 1 +# Copy files, excluding: +# * the Apex theme files, +# * the minimised distribution files, and +# * the RTL sheets for non-CSSJanus environments +rsync --force --recursive --delete \ + --exclude '*apex*' \ + --exclude 'oojs-ui*.min.*' \ + --exclude 'oojs-ui*.rtl.css' \ + ./node_modules/oojs-ui/dist/ "$REPO_DIR/$TARGET_DIR" || exit 1 # Clean up temporary area rm -rf "$NPM_DIR" diff --git a/maintenance/tables.sql b/maintenance/tables.sql index 0228684849..caf8ecce7b 100644 --- a/maintenance/tables.sql +++ b/maintenance/tables.sql @@ -374,13 +374,20 @@ CREATE TABLE /*_*/text ( -- Comma-separated list of flags: -- gzip: text is compressed with PHP's gzdeflate() function. - -- utf8: text was stored as UTF-8. - -- If $wgLegacyEncoding option is on, rows *without* this flag - -- will be converted to UTF-8 transparently at load time. + -- utf-8: text was stored as UTF-8. + -- If $wgLegacyEncoding option is on, rows *without* this flag + -- will be converted to UTF-8 transparently at load time. Note + -- that due to a bug in a maintenance script, this flag may + -- have been stored as 'utf8' in some cases (T18841). -- object: text field contained a serialized PHP object. -- The object either contains multiple versions compressed -- together to achieve a better compression ratio, or it refers -- to another row where the text can be found. + -- external: text was stored in an external location specified by old_text. + -- Any additional flags apply to the data stored at that URL, not + -- the URL itself. The 'object' flag is *not* set for URLs of the + -- form 'DB://cluster/id/itemid', because the external storage + -- system itself decompresses these. old_flags tinyblob NOT NULL ) /*$wgDBTableOptions*/ MAX_ROWS=10000000 AVG_ROW_LENGTH=10240; -- In case tables are created as MyISAM, use row hints for MySQL <5.0 to avoid 4GB limit diff --git a/resources/Resources.php b/resources/Resources.php index e5332df734..ccb842ded6 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -1011,6 +1011,7 @@ return array( 'class' => 'ResourceLoaderEditToolbarModule', 'scripts' => 'resources/src/mediawiki.toolbar/toolbar.js', 'styles' => 'resources/src/mediawiki.toolbar/toolbar.less', + 'position' => 'top', ), /* MediaWiki Action */ @@ -1020,7 +1021,6 @@ return array( 'styles' => 'resources/src/mediawiki.action/mediawiki.action.edit.css', 'dependencies' => array( 'mediawiki.action.edit.styles', - 'mediawiki.toolbar', 'jquery.textSelection', 'jquery.byteLimit', ), diff --git a/resources/assets/file-type-icons/COPYING b/resources/assets/file-type-icons/COPYING index 136530a91e..19a775a8db 100644 --- a/resources/assets/file-type-icons/COPYING +++ b/resources/assets/file-type-icons/COPYING @@ -1,4 +1,4 @@ -The icons used here are derived from the crystalsvg icons in the the +The icons used here are derived from the crystalsvg icons in the pics/crystalsvg/ directory of kdelibs-3.4.0 they were modified on 2005-05-15 by Ævar Arnfjörð Bjarmason for use in MediaWiki. diff --git a/resources/lib/jquery/jquery.js b/resources/lib/jquery/jquery.js index d4b67f7e6c..1c3aa8228f 100644 --- a/resources/lib/jquery/jquery.js +++ b/resources/lib/jquery/jquery.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v1.11.1 + * jQuery JavaScript Library v1.11.2 * http://jquery.com/ * * Includes Sizzle.js @@ -9,7 +9,7 @@ * Released under the MIT license * http://jquery.org/license * - * Date: 2014-05-01T17:42Z + * Date: 2014-12-17T15:27Z */ (function( global, factory ) { @@ -64,7 +64,7 @@ var support = {}; var - version = "1.11.1", + version = "1.11.2", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -269,7 +269,8 @@ jQuery.extend({ // parseFloat NaNs numeric-cast false positives (null|true|false|"") // ...but misinterprets leading-number strings, particularly hex literals ("0x...") // subtraction forces infinities to NaN - return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0; + // adding 1 corrects loss of precision from parseFloat (#15100) + return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; }, isEmptyObject: function( obj ) { @@ -584,14 +585,14 @@ function isArraylike( obj ) { } var Sizzle = /*! - * Sizzle CSS Selector Engine v1.10.19 + * Sizzle CSS Selector Engine v2.2.0-pre * http://sizzlejs.com/ * - * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors * Released under the MIT license * http://jquery.org/license * - * Date: 2014-04-18 + * Date: 2014-12-16 */ (function( window ) { @@ -618,7 +619,7 @@ var i, contains, // Instance-specific data - expando = "sizzle" + -(new Date()), + expando = "sizzle" + 1 * new Date(), preferredDoc = window.document, dirruns = 0, done = 0, @@ -633,7 +634,6 @@ var i, }, // General-purpose constants - strundefined = typeof undefined, MAX_NEGATIVE = 1 << 31, // Instance methods @@ -643,12 +643,13 @@ var i, push_native = arr.push, push = arr.push, slice = arr.slice, - // Use a stripped-down indexOf if we can't use a native one - indexOf = arr.indexOf || function( elem ) { + // Use a stripped-down indexOf as it's faster than native + // http://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { var i = 0, - len = this.length; + len = list.length; for ( ; i < len; i++ ) { - if ( this[i] === elem ) { + if ( list[i] === elem ) { return i; } } @@ -688,6 +689,7 @@ var i, ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), @@ -739,6 +741,14 @@ var i, String.fromCharCode( high + 0x10000 ) : // Supplemental Plane codepoint (surrogate pair) String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); }; // Optimize for push.apply( _, NodeList ) @@ -781,19 +791,18 @@ function Sizzle( selector, context, results, seed ) { context = context || document; results = results || []; + nodeType = context.nodeType; - if ( !selector || typeof selector !== "string" ) { - return results; - } + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { - return []; + return results; } - if ( documentIsHTML && !seed ) { + if ( !seed && documentIsHTML ) { - // Shortcuts - if ( (match = rquickExpr.exec( selector )) ) { + // Try to shortcut find operations when possible (e.g., not under DocumentFragment) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { // Speed-up: Sizzle("#ID") if ( (m = match[1]) ) { if ( nodeType === 9 ) { @@ -825,7 +834,7 @@ function Sizzle( selector, context, results, seed ) { return results; // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + } else if ( (m = match[3]) && support.getElementsByClassName ) { push.apply( results, context.getElementsByClassName( m ) ); return results; } @@ -835,7 +844,7 @@ function Sizzle( selector, context, results, seed ) { if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { nid = old = expando; newContext = context; - newSelector = nodeType === 9 && selector; + newSelector = nodeType !== 1 && selector; // qSA works strangely on Element-rooted queries // We can work around this by specifying an extra ID on the root @@ -1022,7 +1031,7 @@ function createPositionalPseudo( fn ) { * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value */ function testContext( context ) { - return context && typeof context.getElementsByTagName !== strundefined && context; + return context && typeof context.getElementsByTagName !== "undefined" && context; } // Expose support vars for convenience @@ -1046,9 +1055,8 @@ isXML = Sizzle.isXML = function( elem ) { * @returns {Object} Returns the current document */ setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, - doc = node ? node.ownerDocument || node : preferredDoc, - parent = doc.defaultView; + var hasCompare, parent, + doc = node ? node.ownerDocument || node : preferredDoc; // If no document and documentElement is available, return if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { @@ -1058,9 +1066,7 @@ setDocument = Sizzle.setDocument = function( node ) { // Set our document document = doc; docElem = doc.documentElement; - - // Support tests - documentIsHTML = !isXML( doc ); + parent = doc.defaultView; // Support: IE>8 // If iframe document is assigned to "document" variable and if iframe has been reloaded, @@ -1069,21 +1075,22 @@ setDocument = Sizzle.setDocument = function( node ) { if ( parent && parent !== parent.top ) { // IE11 does not have attachEvent, so all must suffer if ( parent.addEventListener ) { - parent.addEventListener( "unload", function() { - setDocument(); - }, false ); + parent.addEventListener( "unload", unloadHandler, false ); } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", function() { - setDocument(); - }); + parent.attachEvent( "onunload", unloadHandler ); } } + /* Support tests + ---------------------------------------------------------------------- */ + documentIsHTML = !isXML( doc ); + /* Attributes ---------------------------------------------------------------------- */ // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) support.attributes = assert(function( div ) { div.className = "i"; return !div.getAttribute("className"); @@ -1098,17 +1105,8 @@ setDocument = Sizzle.setDocument = function( node ) { return !div.getElementsByTagName("*").length; }); - // Check if getElementsByClassName can be trusted - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) { - div.innerHTML = "<div class='a'></div><div class='a i'></div>"; - - // Support: Safari<4 - // Catch class over-caching - div.firstChild.className = "i"; - // Support: Opera<10 - // Catch gEBCN failure to find non-leading classes - return div.getElementsByClassName("i").length === 2; - }); + // Support: IE<9 + support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); // Support: IE<10 // Check if getElementById returns elements by name @@ -1122,7 +1120,7 @@ setDocument = Sizzle.setDocument = function( node ) { // ID find and filter if ( support.getById ) { Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var m = context.getElementById( id ); // Check parentNode to catch when Blackberry 4.6 returns // nodes that are no longer in the document #6963 @@ -1143,7 +1141,7 @@ setDocument = Sizzle.setDocument = function( node ) { Expr.filter["ID"] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { - var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); return node && node.value === attrId; }; }; @@ -1152,14 +1150,20 @@ setDocument = Sizzle.setDocument = function( node ) { // Tag Expr.find["TAG"] = support.getElementsByTagName ? function( tag, context ) { - if ( typeof context.getElementsByTagName !== strundefined ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); } } : + function( tag, context ) { var elem, tmp = [], i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too results = context.getElementsByTagName( tag ); // Filter out possible comments @@ -1177,7 +1181,7 @@ setDocument = Sizzle.setDocument = function( node ) { // Class Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + if ( documentIsHTML ) { return context.getElementsByClassName( className ); } }; @@ -1206,13 +1210,15 @@ setDocument = Sizzle.setDocument = function( node ) { // setting a boolean content attribute, // since its presence should be enough // http://bugs.jquery.com/ticket/12359 - div.innerHTML = "<select msallowclip=''><option selected=''></option></select>"; + docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\f]' msallowcapture=''>" + + "<option selected=''></option></select>"; // Support: IE8, Opera 11-12.16 // Nothing should be selected when empty strings follow ^= or $= or *= // The test attribute must be unknown in Opera but "safe" for WinRT // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowclip^='']").length ) { + if ( div.querySelectorAll("[msallowcapture^='']").length ) { rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); } @@ -1222,12 +1228,24 @@ setDocument = Sizzle.setDocument = function( node ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } + // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+ + if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + // Webkit/Opera - :checked should return selected option elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked // IE8 throws error here and will not see later tests if ( !div.querySelectorAll(":checked").length ) { rbuggyQSA.push(":checked"); } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibing-combinator selector` fails + if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } }); assert(function( div ) { @@ -1344,7 +1362,7 @@ setDocument = Sizzle.setDocument = function( node ) { // Maintain original order return sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 0; } @@ -1371,7 +1389,7 @@ setDocument = Sizzle.setDocument = function( node ) { aup ? -1 : bup ? 1 : sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 0; // If the nodes are siblings, we can do a quick check @@ -1434,7 +1452,7 @@ Sizzle.matchesSelector = function( elem, expr ) { elem.document && elem.document.nodeType !== 11 ) { return ret; } - } catch(e) {} + } catch (e) {} } return Sizzle( expr, document, null, [ elem ] ).length > 0; @@ -1653,7 +1671,7 @@ Expr = Sizzle.selectors = { return pattern || (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); }); }, @@ -1675,7 +1693,7 @@ Expr = Sizzle.selectors = { operator === "^=" ? check && result.indexOf( check ) === 0 : operator === "*=" ? check && result.indexOf( check ) > -1 : operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : false; }; @@ -1795,7 +1813,7 @@ Expr = Sizzle.selectors = { matched = fn( seed, argument ), i = matched.length; while ( i-- ) { - idx = indexOf.call( seed, matched[i] ); + idx = indexOf( seed, matched[i] ); seed[ idx ] = !( matches[ idx ] = matched[i] ); } }) : @@ -1834,6 +1852,8 @@ Expr = Sizzle.selectors = { function( elem, context, xml ) { input[0] = elem; matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; return !results.pop(); }; }), @@ -1845,6 +1865,7 @@ Expr = Sizzle.selectors = { }), "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); return function( elem ) { return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; }; @@ -2266,7 +2287,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS i = matcherOut.length; while ( i-- ) { if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { seed[temp] = !(results[temp] = elem); } @@ -2301,13 +2322,16 @@ function matcherFromTokens( tokens ) { return elem === checkContext; }, implicitRelative, true ), matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; + return indexOf( checkContext, elem ) > -1; }, implicitRelative, true ), matchers = [ function( elem, context, xml ) { - return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( (checkContext = context).nodeType ? matchContext( elem, context, xml ) : matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; } ]; for ( ; i < len; i++ ) { @@ -2557,7 +2581,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { // Sort stability support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; -// Support: Chrome<14 +// Support: Chrome 14-35+ // Always assume duplicates if they aren't passed to the comparison function support.detectDuplicates = !!hasDuplicate; @@ -6115,7 +6139,14 @@ var getStyles, curCSS, if ( window.getComputedStyle ) { getStyles = function( elem ) { - return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); + // Support: IE<=11+, Firefox<=30+ (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + if ( elem.ownerDocument.defaultView.opener ) { + return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); + } + + return window.getComputedStyle( elem, null ); }; curCSS = function( elem, name, computed ) { @@ -6363,6 +6394,8 @@ function addGetHookIf( conditionFn, hookFn ) { reliableMarginRightVal = !parseFloat( ( window.getComputedStyle( contents, null ) || {} ).marginRight ); + + div.removeChild( contents ); } // Support: IE8 @@ -9070,7 +9103,8 @@ jQuery.extend({ } // We can fire global events as of now if asked to - fireGlobals = s.global; + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; // Watch for a new set of requests if ( fireGlobals && jQuery.active++ === 0 ) { @@ -9329,13 +9363,6 @@ jQuery.each( [ "get", "post" ], function( i, method ) { }; }); -// Attach a bunch of functions for handling common AJAX events -jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { - jQuery.fn[ type ] = function( fn ) { - return this.on( type, fn ); - }; -}); - jQuery._evalUrl = function( url ) { return jQuery.ajax({ @@ -9561,8 +9588,9 @@ var xhrId = 0, // Support: IE<10 // Open requests must be manually aborted on unload (#5280) -if ( window.ActiveXObject ) { - jQuery( window ).on( "unload", function() { +// See https://support.microsoft.com/kb/2856746 for more info +if ( window.attachEvent ) { + window.attachEvent( "onunload", function() { for ( var key in xhrCallbacks ) { xhrCallbacks[ key ]( undefined, true ); } @@ -9996,6 +10024,16 @@ jQuery.fn.load = function( url, params, callback ) { +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +}); + + + + jQuery.expr.filters.animated = function( elem ) { return jQuery.grep(jQuery.timers, function( fn ) { return elem === fn.elem; diff --git a/resources/lib/oojs-ui/oojs-ui-apex.css b/resources/lib/oojs-ui/oojs-ui-apex.css deleted file mode 100644 index cc6550b01a..0000000000 --- a/resources/lib/oojs-ui/oojs-ui-apex.css +++ /dev/null @@ -1,2210 +0,0 @@ -/*! - * OOjs UI v0.6.0 - * https://www.mediawiki.org/wiki/OOjs_UI - * - * Copyright 2011–2014 OOjs Team and other contributors. - * Released under the MIT license - * http://oojs.mit-license.org - * - * Date: 2014-12-16T21:01:07Z - */ -.oo-ui-progressBarWidget-slide-frames from { - margin-left: -40%; -} -.oo-ui-progressBarWidget-slide-frames to { - margin-left: 100%; -} -@-webkit-keyframes oo-ui-progressBarWidget-slide { - from { - margin-left: -40%; - } - to { - margin-left: 100%; - } -} -@-moz-keyframes oo-ui-progressBarWidget-slide { - from { - margin-left: -40%; - } - to { - margin-left: 100%; - } -} -@-ms-keyframes oo-ui-progressBarWidget-slide { - from { - margin-left: -40%; - } - to { - margin-left: 100%; - } -} -@-o-keyframes oo-ui-progressBarWidget-slide { - from { - margin-left: -40%; - } - to { - margin-left: 100%; - } -} -@keyframes oo-ui-progressBarWidget-slide { - from { - margin-left: -40%; - } - to { - margin-left: 100%; - } -} -/* @noflip */ -.oo-ui-rtl { - direction: rtl; -} -/* @noflip */ -.oo-ui-ltr { - direction: ltr; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button { - cursor: pointer; - display: inline-block; - vertical-align: middle; - font-family: inherit; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - display: none; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator { - display: none; -} -.oo-ui-buttonElement.oo-ui-widget-disabled > .oo-ui-buttonElement-button { - cursor: default; -} -.oo-ui-buttonElement.oo-ui-indicatorElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator, -.oo-ui-buttonElement.oo-ui-iconElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - display: inline-block; - vertical-align: middle; - background-position: center center; - background-repeat: no-repeat; -} -.oo-ui-buttonElement-frameless { - display: inline-block; - position: relative; -} -.oo-ui-buttonElement-frameless.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - display: inline-block; - vertical-align: middle; -} -.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button { - display: inline-block; - vertical-align: top; - text-align: center; -} -.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - display: inline-block; - vertical-align: middle; -} -.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { - cursor: default; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button { - color: #333333; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - margin-left: 0; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator { - margin-right: -0.75em; - margin-left: -0.75em; -} -.oo-ui-buttonElement.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator, -.oo-ui-buttonElement.oo-ui-iconElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator { - margin-left: 0; -} -.oo-ui-buttonElement.oo-ui-indicatorElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator, -.oo-ui-buttonElement.oo-ui-iconElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - opacity: 0.8; - width: 1.9em; - height: 1.9em; -} -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - /* Don't animate opacities for now, causes wiggling in Chrome (bug 63020) */ - /*.oo-ui-transition(opacity 200ms);*/ -} -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:focus { - outline: none; -} -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:hover > .oo-ui-iconElement-icon, -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:focus > .oo-ui-iconElement-icon { - opacity: 1; -} -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:hover > .oo-ui-labelElement-label, -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:focus > .oo-ui-labelElement-label { - color: #000000; -} -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - color: #333333; -} -.oo-ui-buttonElement-frameless.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - margin-left: 0.25em; -} -.oo-ui-buttonElement-frameless.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - color: #087ecc; -} -.oo-ui-buttonElement-frameless.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - color: #76ab36; -} -.oo-ui-buttonElement-frameless.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - color: #d45353; -} -.oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - color: #cccccc; -} -.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button { - margin: 0.1em 0; - padding: 0.2em 0.8em; - border-radius: 0.3em; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5); - border: 1px #c9c9c9 solid; - -webkit-transition: border-color 100ms ease-in-out; - -moz-transition: border-color 100ms ease-in-out; - -ms-transition: border-color 100ms ease-in-out; - -o-transition: border-color 100ms ease-in-out; - transition: border-color 100ms ease-in-out; - background: #eeeeee; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#dddddd'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #dddddd)); - background-image: -webkit-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -moz-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -ms-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -o-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: linear-gradient(top, #ffffff 0%, #dddddd 100%); -} -.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button:focus { - border-color: #aaaaaa; - outline: none; -} -.oo-ui-buttonElement-framed > input.oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - line-height: 1.9em; -} -.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, -.oo-ui-buttonElement-framed.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { - box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, 0.07); - color: black; - border-color: #c9c9c9; - background: #eeeeee; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#dddddd', endColorstr='#ffffff'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #dddddd), color-stop(100%, #ffffff)); - background-image: -webkit-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -moz-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -o-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: linear-gradient(top, #dddddd 0%, #ffffff 100%); -} -.oo-ui-buttonElement-framed.oo-ui-iconElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - margin-left: -0.5em; - margin-right: -0.5em; -} -.oo-ui-buttonElement-framed.oo-ui-iconElement.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - margin-left: -0.5em; - margin-right: 0.3em; -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { - border: solid 1px #a6cee1; - background: #cde7f4; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#eaf4fa', endColorstr='#b0d9ee'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #eaf4fa), color-stop(100%, #b0d9ee)); - background-image: -webkit-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -moz-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -ms-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -o-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { - border-color: #9dc2d4; -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { - border: solid 1px #a6cee1; - background: #cde7f4; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#b0d9ee', endColorstr='#eaf4fa'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #b0d9ee), color-stop(100%, #eaf4fa)); - background-image: -webkit-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -moz-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -ms-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -o-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button { - border: solid 1px #b8d892; - background: #daf0be; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f0fbe1', endColorstr='#c3e59a'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f0fbe1), color-stop(100%, #c3e59a)); - background-image: -webkit-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); - background-image: -moz-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); - background-image: -ms-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); - background-image: -o-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); - background-image: linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:focus { - border-color: #adcb89; -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { - border: solid 1px #b8d892; - background: #daf0be; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#c3e59a', endColorstr='#f0fbe1'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #c3e59a), color-stop(100%, #f0fbe1)); - background-image: -webkit-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); - background-image: -moz-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); - background-image: -ms-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); - background-image: -o-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); - background-image: linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { - color: #d45353; -} -.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { - opacity: 0.5; - -webkit-transform: translate3d(0, 0, 0); - box-shadow: none; - color: #333333; - background: #eeeeee; - border-color: #cccccc; -} -.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button:focus, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button:focus { - border-color: #cccccc; - box-shadow: none; -} -.oo-ui-clippableElement-clippable { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-draggableElement { - cursor: -webkit-grab -moz-grab, url(images/grab.cur), move; - /* - * HACK: In order to style horizontally, we must override - * OO.ui.OptionWidget's display rule that is currently set - * to be 'block' - */ -} -.oo-ui-draggableElement-dragging { - cursor: -webkit-grabbing -moz-grabbing, url(images/grabbing.cur), move; - background: rgba(0, 0, 0, 0.2); - opacity: 0.4; -} -.oo-ui-draggableGroupElement-horizontal .oo-ui-draggableElement.oo-ui-optionWidget { - display: inline-block; -} -.oo-ui-draggableGroupElement-placeholder { - position: absolute; - display: block; - background: rgba(0, 0, 0, 0.4); -} -.oo-ui-bookletLayout-stackLayout.oo-ui-stackLayout-continuous > .oo-ui-panelLayout-scrollable { - overflow-y: hidden; -} -.oo-ui-bookletLayout-stackLayout > .oo-ui-panelLayout { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-bookletLayout-stackLayout > .oo-ui-panelLayout-scrollable { - overflow-y: auto; -} -.oo-ui-bookletLayout-stackLayout > .oo-ui-panelLayout-padded { - padding: 2em; -} -.oo-ui-bookletLayout-outlinePanel-editable > .oo-ui-outlineSelectWidget { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 3em; - overflow-y: auto; -} -.oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { - position: absolute; - bottom: 0; - left: 0; - right: 0; -} -.oo-ui-bookletLayout-stackLayout > .oo-ui-panelLayout { - padding: 1.5em; -} -.oo-ui-bookletLayout-outlinePanel { - border-right: solid 1px #dddddd; -} -.oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { - box-shadow: 0 0 0.25em rgba(0, 0, 0, 0.25); -} -.oo-ui-fieldLayout { - display: block; - margin-bottom: 1em; -} -.oo-ui-fieldLayout:before, -.oo-ui-fieldLayout:after { - content: " "; - display: table; -} -.oo-ui-fieldLayout:after { - clear: both; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-left > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-left > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field { - display: block; - float: left; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label { - text-align: right; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { - display: table; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field { - display: table-cell; - vertical-align: middle; -} -.oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label { - display: inline-block; -} -.oo-ui-fieldLayout > .oo-ui-fieldLayout-help { - float: right; -} -.oo-ui-fieldLayout > .oo-ui-fieldLayout-help > .oo-ui-popupWidget > .oo-ui-popupWidget-popup { - z-index: 1; -} -.oo-ui-fieldLayout > .oo-ui-fieldLayout-help .oo-ui-fieldLayout-help-content { - padding: 0.5em 0.75em; - line-height: 1.5em; -} -.oo-ui-fieldLayout:last-child { - margin-bottom: 0; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-left.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label { - padding-top: 0.5em; - margin-right: 5%; - width: 35%; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-left > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field { - width: 60%; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label { - padding: 0.5em; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field { - padding: 0.5em 0; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-top.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label { - padding: 0.5em 0; -} -.oo-ui-fieldLayout > .oo-ui-popupButtonWidget > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - margin-top: 0.25em; -} -.oo-ui-fieldLayout-disabled .oo-ui-labelElement-label { - color: #cccccc; -} -.oo-ui-fieldsetLayout { - position: relative; - margin: 0; - padding: 0; - border: none; -} -.oo-ui-fieldsetLayout.oo-ui-iconElement > .oo-ui-iconElement-icon { - display: block; - position: absolute; - background-position: center center; - background-repeat: no-repeat; -} -.oo-ui-fieldsetLayout.oo-ui-labelElement > .oo-ui-labelElement-label { - display: inline-block; -} -.oo-ui-fieldsetLayout + .oo-ui-fieldsetLayout { - margin-top: 2em; -} -.oo-ui-fieldsetLayout > .oo-ui-labelElement-label { - font-size: 1.5em; - margin-bottom: 0.5em; - padding: 0.25em 0; -} -.oo-ui-fieldsetLayout.oo-ui-iconElement > .oo-ui-labelElement-label { - padding-left: 1.75em; - line-height: 1.33em; -} -.oo-ui-fieldsetLayout.oo-ui-iconElement > .oo-ui-iconElement-icon { - left: 0; - top: 0.25em; - width: 2em; - height: 2em; -} -.oo-ui-gridLayout { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; -} -.oo-ui-panelLayout { - position: relative; -} -.oo-ui-panelLayout-scrollable { - overflow-y: auto; -} -.oo-ui-panelLayout-expanded { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; -} -.oo-ui-panelLayout-padded { - padding: 1.25em; -} -.oo-ui-stackLayout > .oo-ui-panelLayout { - display: none; -} -.oo-ui-stackLayout-continuous > .oo-ui-panelLayout { - display: block; - position: relative; -} -.oo-ui-popupTool .oo-ui-popupWidget-popup, -.oo-ui-popupTool .oo-ui-popupWidget-anchor { - z-index: 4; -} -.oo-ui-popupTool .oo-ui-popupWidget { - /* @noflip */ - margin-left: 1.25em; - font-size: 0.8em; -} -.oo-ui-toolGroup { - display: inline-block; - vertical-align: middle; - margin: 0.3em; - border-radius: 0.25em; - border: solid 1px transparent; - -webkit-transition: border-color 300ms ease-in-out; - -moz-transition: border-color 300ms ease-in-out; - -ms-transition: border-color 300ms ease-in-out; - -o-transition: border-color 300ms ease-in-out; - transition: border-color 300ms ease-in-out; -} -.oo-ui-toolGroup-empty { - display: none; -} -.oo-ui-toolGroup .oo-ui-tool-link .oo-ui-iconElement-icon { - background-position: center center; - background-repeat: no-repeat; -} -.oo-ui-toolGroup.oo-ui-widget-enabled:hover { - border-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-toolGroup.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { - color: #000000; -} -.oo-ui-barToolGroup > .oo-ui-iconElement-icon, -.oo-ui-barToolGroup > .oo-ui-labelElement-label { - display: none; -} -.oo-ui-barToolGroup .oo-ui-tool { - display: inline-block; - position: relative; - vertical-align: top; -} -.oo-ui-barToolGroup .oo-ui-tool-link { - display: block; -} -.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconElement-icon { - display: block; -} -.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-tool-accel, -.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-tool-title { - display: none; -} -.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link { - cursor: default; -} -.oo-ui-barToolGroup .oo-ui-tool-title, -.oo-ui-barToolGroup .oo-ui-tool-accel { - display: none; -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-link { - cursor: pointer; -} -.oo-ui-barToolGroup .oo-ui-tool { - margin: -1px 0 -1px -1px; - border: solid 1px transparent; -} -.oo-ui-barToolGroup .oo-ui-tool:first-child { - border-top-left-radius: 0.25em; - border-bottom-left-radius: 0.25em; -} -.oo-ui-barToolGroup .oo-ui-tool:last-child { - margin-right: -1px; - border-top-right-radius: 0.25em; - border-bottom-right-radius: 0.25em; -} -.oo-ui-barToolGroup .oo-ui-tool-link { - height: 1.5em; - padding: 0.25em; -} -.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconElement-icon { - height: 1.5em; - width: 1.5em; - opacity: 0.8; -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled { - border-color: rgba(0, 0, 0, 0.2); - box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07); - background: #f8fbfd; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f1f7fb', endColorstr='#ffffff'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff)); - background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -moz-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -o-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: linear-gradient(top, #f1f7fb 0%, #ffffff 100%); -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled { - border-left-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.8; -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 1; -} -.oo-ui-barToolGroup.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-popupToolGroup { - position: relative; - height: 2em; - min-width: 2.5em; -} -.oo-ui-popupToolGroup-handle { - display: block; - cursor: pointer; -} -.oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator, -.oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon { - position: absolute; - background-position: center center; - background-repeat: no-repeat; -} -.oo-ui-popupToolGroup.oo-ui-widget-disabled .oo-ui-popupToolGroup-handle { - cursor: default; -} -.oo-ui-popupToolGroup .oo-ui-toolGroup-tools { - display: none; - position: absolute; - z-index: 4; -} -.oo-ui-popupToolGroup .oo-ui-toolGroup-tools .oo-ui-iconElement-icon { - background-repeat: no-repeat; - background-position: center center; -} -.oo-ui-popupToolGroup-active.oo-ui-widget-enabled > .oo-ui-toolGroup-tools { - display: block; -} -.oo-ui-popupToolGroup-left > .oo-ui-toolGroup-tools { - left: 0; -} -.oo-ui-popupToolGroup-right > .oo-ui-toolGroup-tools { - right: 0; -} -.oo-ui-popupToolGroup .oo-ui-tool-link { - display: table; - width: 100%; - vertical-align: middle; - white-space: nowrap; - text-decoration: none; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-iconElement-icon, -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-accel, -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-title { - display: table-cell; - vertical-align: middle; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-accel { - text-align: right; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-accel:not(:empty) { - padding-left: 3em; -} -.oo-ui-popupToolGroup.oo-ui-indicatorElement.oo-ui-iconElement { - min-width: 3.5em; -} -.oo-ui-popupToolGroup.oo-ui-labelElement .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label { - line-height: 2.6em; - font-size: 0.8em; - margin: 0 1em; -} -.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-iconElement .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label { - margin-left: 3em; -} -.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label { - margin-right: 2.25em; -} -.oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator, -.oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon { - top: 0; - width: 2em; - height: 2em; - opacity: 0.8; -} -.oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator { - right: 0; -} -.oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon { - left: 0.25em; -} -.oo-ui-popupToolGroup-header { - line-height: 2.6em; - font-size: 0.8em; - margin: 0 0.6em; - font-weight: bold; -} -.oo-ui-popupToolGroup-active.oo-ui-widget-enabled { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07); - background: #f8fbfd; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f1f7fb', endColorstr='#ffffff'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff)); - background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -moz-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -o-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: linear-gradient(top, #f1f7fb 0%, #ffffff 100%); -} -.oo-ui-popupToolGroup .oo-ui-toolGroup-tools { - top: 2em; - margin: 0 -1px; - border: solid 1px #cccccc; - background-color: white; - box-shadow: 0 0.25em 1em rgba(0, 0, 0, 0.25); -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-iconElement-icon { - height: 2em; - width: 2em; - min-width: 2em; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-title { - padding-left: 0.25em; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-accel, -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-title { - line-height: 2em; - font-size: 0.8em; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-accel { - color: #888888; -} -.oo-ui-listToolGroup .oo-ui-tool { - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-listToolGroup .oo-ui-tool-link { - cursor: pointer; -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link { - cursor: default; -} -.oo-ui-listToolGroup .oo-ui-toolGroup-tools { - padding: 0.25em; -} -.oo-ui-listToolGroup.oo-ui-popupToolGroup-active { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-listToolGroup .oo-ui-tool { - border: solid 1px transparent; - margin: -1px 0; - padding: 0 0.25em 0 0; -} -.oo-ui-listToolGroup .oo-ui-tool-active.oo-ui-widget-enabled { - border-color: rgba(0, 0, 0, 0.1); - box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07); - background: #f8fbfd; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f1f7fb', endColorstr='#ffffff'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff)); - background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -moz-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -o-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: linear-gradient(top, #f1f7fb 0%, #ffffff 100%); -} -.oo-ui-listToolGroup .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled { - border-top-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-listToolGroup .oo-ui-tool-active.oo-ui-widget-enabled:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.8; -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 1; -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-tool-title { - color: #cccccc; -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-tool-accel { - color: #dddddd; -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-listToolGroup.oo-ui-widget-disabled { - color: #cccccc; -} -.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator, -.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-menuToolGroup { - border-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-menuToolGroup .oo-ui-tool { - display: block; -} -.oo-ui-menuToolGroup .oo-ui-tool-link { - cursor: pointer; -} -.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link { - cursor: default; -} -.oo-ui-menuToolGroup .oo-ui-popupToolGroup-handle { - min-width: 8em; -} -.oo-ui-menuToolGroup .oo-ui-toolGroup-tools { - padding: 0.25em 0 0.25em 0; -} -.oo-ui-menuToolGroup.oo-ui-widget-enabled:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-menuToolGroup.oo-ui-popupToolGroup-active { - border-color: rgba(0, 0, 0, 0.25); -} -.oo-ui-menuToolGroup .oo-ui-tool { - padding: 0 0.75em 0 0.25em; -} -.oo-ui-menuToolGroup .oo-ui-tool-link .oo-ui-iconElement-icon { - background-image: none; -} -.oo-ui-menuToolGroup .oo-ui-tool-active .oo-ui-tool-link .oo-ui-iconElement-icon { - background-image: /* @embed */ url(themes/apex/images/icons/check.svg); -} -.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover { - background-color: #e1f3ff; -} -.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-tool-title { - color: #cccccc; -} -.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-menuToolGroup.oo-ui-widget-disabled { - color: #cccccc; - border-color: rgba(0, 0, 0, 0.05); -} -.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator, -.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-toolbar { - clear: both; -} -.oo-ui-toolbar-bar { - line-height: 1em; -} -.oo-ui-toolbar-actions { - float: right; -} -.oo-ui-toolbar-tools { - display: inline; -} -.oo-ui-toolbar-tools, -.oo-ui-toolbar-actions, -.oo-ui-toolbar-shadow { - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-toolbar-actions .oo-ui-popupWidget { - -webkit-touch-callout: default; - -webkit-user-select: all; - -moz-user-select: all; - -ms-user-select: all; - user-select: all; -} -.oo-ui-toolbar-shadow { - background-position: left top; - background-repeat: repeat-x; - position: absolute; - width: 100%; - pointer-events: none; -} -.oo-ui-toolbar-bar { - border-bottom: solid 1px #cccccc; - background: #f8fbfd; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#f1f7fb'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #f1f7fb)); - background-image: -webkit-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); - background-image: -moz-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); - background-image: -ms-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); - background-image: -o-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); - background-image: linear-gradient(top, #ffffff 0%, #f1f7fb 100%); -} -.oo-ui-toolbar-bar .oo-ui-toolbar-bar { - border: none; - background: none; -} -.oo-ui-toolbar-shadow { - background-image: /* @embed */ url(themes/apex/images/toolbar-shadow.png); - bottom: -9px; - height: 9px; - opacity: 0.125; - -webkit-transition: opacity 500ms ease-in-out; - -moz-transition: opacity 500ms ease-in-out; - -ms-transition: opacity 500ms ease-in-out; - -o-transition: opacity 500ms ease-in-out; - transition: opacity 500ms ease-in-out; -} -.oo-ui-optionWidget { - position: relative; - display: block; - cursor: pointer; - padding: 0.25em 0.5em; - border: none; -} -.oo-ui-optionWidget.oo-ui-widget-disabled { - cursor: default; -} -.oo-ui-optionWidget.oo-ui-labelElement .oo-ui-labelElement-label { - display: block; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.oo-ui-optionWidget-highlighted { - background-color: #e1f3ff; -} -.oo-ui-optionWidget .oo-ui-labelElement-label { - line-height: 1.5em; -} -.oo-ui-selectWidget-depressed .oo-ui-optionWidget-selected { - background-color: #a7dcff; -} -.oo-ui-selectWidget-pressed .oo-ui-optionWidget-pressed { - background-color: #a7dcff; -} -.oo-ui-optionWidget.oo-ui-widget-disabled { - color: #cccccc; -} -.oo-ui-decoratedOptionWidget { - padding: 0.5em 2em 0.5em 3em; -} -.oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon, -.oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator { - position: absolute; - background-repeat: no-repeat; - background-position: center center; -} -.oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon, -.oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator { - top: 50%; - width: 2em; - height: 2em; - margin-top: -1em; -} -.oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon { - left: 0.5em; -} -.oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator { - right: 0.5em; -} -.oo-ui-buttonSelectWidget { - display: inline-block; - white-space: nowrap; - border-radius: 0.3em; -} -.oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget .oo-ui-buttonElement-button { - border-radius: 0; - margin-left: -1px; -} -.oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget:first-child .oo-ui-buttonElement-button { - border-bottom-left-radius: 0.3em; - border-top-left-radius: 0.3em; - margin-left: 0; -} -.oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget:last-child .oo-ui-buttonElement-button { - border-bottom-right-radius: 0.3em; - border-top-right-radius: 0.3em; -} -.oo-ui-radioSelectWidget { - padding: 0.75em 0 0.5em 0; -} -.oo-ui-buttonOptionWidget { - display: inline-block; - padding: 0; - background-color: transparent; -} -.oo-ui-buttonOptionWidget .oo-ui-buttonElement-button { - position: relative; -} -.oo-ui-buttonOptionWidget.oo-ui-iconElement .oo-ui-iconElement-icon, -.oo-ui-buttonOptionWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator { - position: static; - display: inline-block; - vertical-align: middle; -} -.oo-ui-buttonOptionWidget .oo-ui-buttonElement-button { - height: 1.9em; -} -.oo-ui-buttonOptionWidget.oo-ui-iconElement .oo-ui-iconElement-icon, -.oo-ui-buttonOptionWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator { - height: 1.9em; - margin-top: 0; -} -.oo-ui-buttonOptionWidget.oo-ui-optionWidget-selected, -.oo-ui-buttonOptionWidget.oo-ui-optionWidget-pressed, -.oo-ui-buttonOptionWidget.oo-ui-optionWidget-highlighted { - background-color: transparent; -} -.oo-ui-radioOptionWidget { - cursor: default; - padding: 0; - background-color: transparent; -} -.oo-ui-radioOptionWidget .oo-ui-radioInputWidget, -.oo-ui-radioOptionWidget.oo-ui-labelElement .oo-ui-labelElement-label { - display: inline-block; - vertical-align: middle; -} -.oo-ui-radioOptionWidget.oo-ui-optionWidget-selected, -.oo-ui-radioOptionWidget.oo-ui-optionWidget-pressed, -.oo-ui-radioOptionWidget.oo-ui-optionWidget-highlighted { - background-color: transparent; -} -.oo-ui-radioOptionWidget > .oo-ui-labelElement-label { - padding: 0 0.5em; -} -.oo-ui-labelWidget { - display: inline-block; - padding: 0.5em 0; -} -.oo-ui-iconWidget { - display: inline-block; - vertical-align: middle; - background-position: center center; - background-repeat: no-repeat; - line-height: 2.5em; - height: 1.9em; - width: 1.9em; - opacity: 0.8; -} -.oo-ui-iconWidget.oo-ui-widget-disabled { - opacity: 0.2; -} -.oo-ui-indicatorWidget { - display: inline-block; - vertical-align: middle; - background-position: center center; - background-repeat: no-repeat; - line-height: 2.5em; - height: 1.9em; - width: 1.9em; - opacity: 0.8; -} -.oo-ui-indicatorWidget.oo-ui-widget-disabled { - opacity: 0.2; -} -.oo-ui-buttonWidget { - display: inline-block; - vertical-align: middle; -} -.oo-ui-buttonGroupWidget { - display: inline-block; - white-space: nowrap; - border-radius: 0.3em; -} -.oo-ui-buttonGroupWidget .oo-ui-buttonElement-framed .oo-ui-buttonElement-button { - border-radius: 0; - margin-left: -1px; -} -.oo-ui-buttonGroupWidget .oo-ui-buttonElement-framed:first-child .oo-ui-buttonElement-button { - border-bottom-left-radius: 0.3em; - border-top-left-radius: 0.3em; - margin-left: 0; -} -.oo-ui-buttonGroupWidget .oo-ui-buttonElement-framed:last-child .oo-ui-buttonElement-button { - border-bottom-right-radius: 0.3em; - border-top-right-radius: 0.3em; -} -.oo-ui-toggleSwitchWidget { - position: relative; - display: inline-block; - vertical-align: middle; - overflow: hidden; - cursor: pointer; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-transform: translateZ(0px); - -moz-transform: translateZ(0px); - -ms-transform: translateZ(0px); - -o-transform: translateZ(0px); - transform: translateZ(0px); - height: 2em; - width: 4em; - border-radius: 1em; - box-shadow: 0 0 0 white, inset 0 0.1em 0.2em #dddddd; - border: solid 1px #cccccc; - background: #eeeeee; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#dddddd', endColorstr='#ffffff'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #dddddd), color-stop(100%, #ffffff)); - background-image: -webkit-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -moz-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -o-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: linear-gradient(top, #dddddd 0%, #ffffff 100%); -} -.oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { - cursor: default; -} -.oo-ui-toggleSwitchWidget-grip { - position: absolute; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-toggleSwitchWidget .oo-ui-toggleSwitchWidget-glow { - position: absolute; - top: 0; - bottom: 0; - right: 0; - left: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-toggleWidget-off .oo-ui-toggleSwitchWidget-glow { - display: none; -} -.oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { - opacity: 0.5; -} -.oo-ui-toggleSwitchWidget-grip { - top: 0.25em; - left: 0.25em; - width: 1.5em; - height: 1.5em; - margin-top: -1px; - border-radius: 1em; - box-shadow: 0 0.1em 0.25em rgba(0, 0, 0, 0.1); - border: 1px #c9c9c9 solid; - -webkit-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out; - -moz-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out; - -ms-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out; - -o-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out; - transition: left 200ms ease-in-out, margin-left 200ms ease-in-out; - background: #eeeeee; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#dddddd'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #dddddd)); - background-image: -webkit-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -moz-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -ms-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -o-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: linear-gradient(top, #ffffff 0%, #dddddd 100%); -} -.oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover, -.oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { - border-color: #aaaaaa; -} -.oo-ui-toggleSwitchWidget .oo-ui-toggleSwitchWidget-glow { - border-radius: 1em; - box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, 0.07); - -webkit-transition: opacity 200ms ease-in-out; - -moz-transition: opacity 200ms ease-in-out; - -ms-transition: opacity 200ms ease-in-out; - -o-transition: opacity 200ms ease-in-out; - transition: opacity 200ms ease-in-out; - background: #cde7f4; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#b0d9ee', endColorstr='#eaf4fa'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #b0d9ee), color-stop(100%, #eaf4fa)); - background-image: -webkit-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -moz-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -ms-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -o-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); -} -.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-glow { - opacity: 1; -} -.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { - left: 2.25em; - margin-left: -2px; -} -.oo-ui-toggleWidget-off .oo-ui-toggleSwitchWidget-glow { - display: block; - opacity: 0; -} -.oo-ui-toggleWidget-off .oo-ui-toggleSwitchWidget-grip { - left: 0.25em; - margin-left: 0; -} -.oo-ui-progressBarWidget { - max-width: 50em; - border: solid 1px #a6cee1; - border-radius: 0.25em; - overflow: hidden; -} -.oo-ui-progressBarWidget-bar { - height: 1em; - border-right: solid 1px #a6cee1; - -webkit-transition: width 200ms, margin-left 200ms; - -moz-transition: width 200ms, margin-left 200ms; - -ms-transition: width 200ms, margin-left 200ms; - -o-transition: width 200ms, margin-left 200ms; - transition: width 200ms, margin-left 200ms; - background: #cde7f4; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#eaf4fa', endColorstr='#b0d9ee'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #eaf4fa), color-stop(100%, #b0d9ee)); - background-image: -webkit-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -moz-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -ms-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -o-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); -} -.oo-ui-progressBarWidget-indeterminate .oo-ui-progressBarWidget-bar { - -webkit-animation: oo-ui-progressBarWidget-slide 2s infinite linear; - -moz-animation: oo-ui-progressBarWidget-slide 2s infinite linear; - -ms-animation: oo-ui-progressBarWidget-slide 2s infinite linear; - -o-animation: oo-ui-progressBarWidget-slide 2s infinite linear; - animation: oo-ui-progressBarWidget-slide 2s infinite linear; - width: 40%; - margin-left: -10%; - border-left: solid 1px #a6cee1; -} -.oo-ui-progressBarWidget.oo-ui-widget-disabled { - opacity: 0.6; -} -.oo-ui-actionWidget.oo-ui-pendingElement-pending { - background-image: /* @embed */ url(themes/apex/images/textures/pending.gif); -} -.oo-ui-popupWidget { - position: absolute; - /* @noflip */ - left: 0; -} -.oo-ui-popupWidget-popup { - position: relative; - overflow: hidden; - z-index: 1; -} -.oo-ui-popupWidget-anchor { - display: none; - z-index: 1; -} -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor { - display: block; - position: absolute; - top: 0; - /* @noflip */ - left: 0; - background-repeat: no-repeat; -} -.oo-ui-popupWidget-head { - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-popupWidget-head .oo-ui-buttonWidget { - float: right; -} -.oo-ui-popupWidget-head .oo-ui-labelElement-label { - float: left; - cursor: default; -} -.oo-ui-popupWidget-body { - clear: both; - overflow: hidden; -} -.oo-ui-popupWidget-popup { - border: solid 1px #cccccc; - border-radius: 0.25em; - background-color: #ffffff; - box-shadow: 0 0.15em 0.5em 0 rgba(0, 0, 0, 0.2); -} -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-popup { - margin-top: 7px; -} -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor:before, -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor:after { - content: ""; - position: absolute; - width: 0; - height: 0; - border-style: solid; - border-color: transparent; - border-top: 0; -} -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor:before { - bottom: -8px; - left: -7px; - border-bottom-color: #aaaaaa; - border-width: 7px; -} -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor:after { - bottom: -8px; - left: -6px; - border-bottom-color: #ffffff; - border-width: 6px; -} -.oo-ui-popupWidget-transitioning .oo-ui-popupWidget-popup { - -webkit-transition: width 100ms ease-in-out, height 100ms ease-in-out, left 100ms ease-in-out; - -moz-transition: width 100ms ease-in-out, height 100ms ease-in-out, left 100ms ease-in-out; - -ms-transition: width 100ms ease-in-out, height 100ms ease-in-out, left 100ms ease-in-out; - -o-transition: width 100ms ease-in-out, height 100ms ease-in-out, left 100ms ease-in-out; - transition: width 100ms ease-in-out, height 100ms ease-in-out, left 100ms ease-in-out; -} -.oo-ui-popupWidget-head { - height: 2.5em; -} -.oo-ui-popupWidget-head .oo-ui-buttonWidget { - margin: 0.25em; -} -.oo-ui-popupWidget-head .oo-ui-labelElement-label { - margin: 0.75em 1em; -} -.oo-ui-popupWidget-body-padded { - padding: 0 1em; -} -.oo-ui-popupButtonWidget { - position: relative; -} -.oo-ui-popupButtonWidget .oo-ui-popupWidget { - position: absolute; - cursor: auto; -} -.oo-ui-popupButtonWidget.oo-ui-buttonElement-frameless > .oo-ui-popupWidget { - left: 1em; -} -.oo-ui-popupButtonWidget.oo-ui-buttonElement-framed > .oo-ui-popupWidget { - left: 1.25em; -} -.oo-ui-textInputWidget { - position: relative; - vertical-align: middle; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - max-width: 50em; -} -.oo-ui-textInputWidget input, -.oo-ui-textInputWidget textarea { - display: inline-block; - width: 100%; - resize: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-textInputWidget > .oo-ui-iconElement-icon, -.oo-ui-textInputWidget > .oo-ui-indicatorElement-indicator { - position: absolute; - top: 0; - height: 100%; - background-repeat: no-repeat; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-textInputWidget > .oo-ui-iconElement-icon { - left: 0; -} -.oo-ui-textInputWidget > .oo-ui-indicatorElement-indicator { - right: 0; -} -.oo-ui-textInputWidget input, -.oo-ui-textInputWidget textarea { - padding: 0.5em; - font-size: 1em; - font-family: sans-serif; - background-color: #ffffff; - color: black; - border: solid 1px #cccccc; - box-shadow: 0 0 0 white, inset 0 0.1em 0.2em #dddddd; - border-radius: 0.25em; - -webkit-transition: border-color 200ms, box-shadow 200ms; - -moz-transition: border-color 200ms, box-shadow 200ms; - -ms-transition: border-color 200ms, box-shadow 200ms; - -o-transition: border-color 200ms, box-shadow 200ms; - transition: border-color 200ms, box-shadow 200ms; -} -.oo-ui-textInputWidget-decorated input, -.oo-ui-textInputWidget-decorated textarea { - padding-left: 2em; -} -.oo-ui-textInputWidget-icon { - width: 2em; -} -.oo-ui-textInputWidget.oo-ui-widget-enabled input:focus, -.oo-ui-textInputWidget.oo-ui-widget-enabled textarea:focus { - outline: none; - border-color: #a7dcff; - box-shadow: 0 0 0.3em #a7dcff, 0 0 0 white; -} -.oo-ui-textInputWidget.oo-ui-widget-enabled input[readonly], -.oo-ui-textInputWidget.oo-ui-widget-enabled textarea[readonly] { - color: #777777; -} -.oo-ui-textInputWidget.oo-ui-widget-disabled input, -.oo-ui-textInputWidget.oo-ui-widget-disabled textarea { - color: #cccccc; - text-shadow: 0 1px 1px #ffffff; - border-color: #dddddd; - background-color: #f3f3f3; -} -.oo-ui-textInputWidget.oo-ui-pendingElement-pending input, -.oo-ui-textInputWidget.oo-ui-pendingElement-pending textarea { - background-color: transparent; - background-image: /* @embed */ url(themes/apex/images/textures/pending.gif); -} -.oo-ui-textInputWidget .oo-ui-iconElement-icon, -.oo-ui-textInputWidget .oo-ui-indicatorElement-indicator { - opacity: 0.8; -} -.oo-ui-textInputWidget.oo-ui-iconElement input, -.oo-ui-textInputWidget.oo-ui-iconElement textarea { - padding-left: 2em; -} -.oo-ui-textInputWidget.oo-ui-iconElement .oo-ui-iconElement-icon { - width: 2em; - background-position: right center; -} -.oo-ui-textInputWidget.oo-ui-indicatorElement input, -.oo-ui-textInputWidget.oo-ui-indicatorElement textarea { - padding-right: 1.5em; -} -.oo-ui-textInputWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator { - width: 1.5em; - background-position: left center; -} -.oo-ui-menuSelectWidget { - position: absolute; - background: #ffffff; - margin-top: -1px; - border: solid 1px #cccccc; - border-radius: 0 0 0.25em 0.25em; - box-shadow: 0 0.15em 1em 0 rgba(0, 0, 0, 0.2); -} -.oo-ui-menuSelectWidget input { - position: absolute; - width: 0; - height: 0; - overflow: hidden; - opacity: 0; -} -.oo-ui-menuOptionWidget { - position: relative; -} -.oo-ui-menuOptionWidget .oo-ui-iconElement-icon { - display: none; -} -.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { - background-color: transparent; -} -.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon { - display: block; -} -.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { - background-color: transparent; -} -.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, -.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected { - background-color: #e1f3ff; -} -.oo-ui-menuSectionOptionWidget { - cursor: default; - padding: 0.33em 0.75em; - color: #888888; -} -.oo-ui-dropdownWidget { - position: relative; - display: inline-block; - margin: 0.25em 0; - width: 100%; - max-width: 50em; -} -.oo-ui-dropdownWidget-handle { - width: 100%; - display: inline-block; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-dropdownWidget-handle .oo-ui-indicatorElement-indicator, -.oo-ui-dropdownWidget-handle .oo-ui-iconElement-icon { - position: absolute; - background-position: center center; - background-repeat: no-repeat; -} -.oo-ui-dropdownWidget .oo-ui-menuSelectWidget { - z-index: 1; - width: 100%; -} -.oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { - cursor: default; -} -.oo-ui-dropdownWidget-handle { - height: 2.5em; - border: solid 1px rgba(0, 0, 0, 0.1); - border-radius: 0.25em; -} -.oo-ui-dropdownWidget-handle:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-dropdownWidget-handle .oo-ui-indicatorElement-indicator { - right: 0; -} -.oo-ui-dropdownWidget-handle .oo-ui-iconElement-icon { - left: 0.25em; -} -.oo-ui-dropdownWidget-handle .oo-ui-labelElement-label { - line-height: 2.5em; - margin: 0 0.5em; -} -.oo-ui-dropdownWidget-handle .oo-ui-indicatorElement-indicator, -.oo-ui-dropdownWidget-handle .oo-ui-iconElement-icon { - top: 0; - width: 2.5em; - height: 2.5em; - opacity: 0.8; -} -.oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { - color: #cccccc; - text-shadow: 0 1px 1px #ffffff; - border-color: #dddddd; - background-color: #f3f3f3; -} -.oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator { - opacity: 0.2; -} -.oo-ui-dropdownWidget.oo-ui-iconElement .oo-ui-dropdownWidget-handle .oo-ui-labelElement-label { - margin-left: 3em; -} -.oo-ui-dropdownWidget.oo-ui-indicatorElement .oo-ui-dropdownWidget-handle .oo-ui-labelElement-label { - margin-right: 2em; -} -.oo-ui-outlineOptionWidget { - position: relative; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - font-size: 1.1em; - padding: 0.75em; -} -.oo-ui-outlineOptionWidget.oo-ui-indicatorElement .oo-ui-labelElement-label { - padding-right: 1.5em; -} -.oo-ui-outlineOptionWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator { - opacity: 0.5; -} -.oo-ui-outlineOptionWidget-level-0 { - padding-left: 3.5em; -} -.oo-ui-outlineOptionWidget-level-0 .oo-ui-iconElement-icon { - left: 1em; -} -.oo-ui-outlineOptionWidget-level-1 { - padding-left: 5em; -} -.oo-ui-outlineOptionWidget-level-1 .oo-ui-iconElement-icon { - left: 2.5em; -} -.oo-ui-outlineOptionWidget-level-2 { - padding-left: 6.5em; -} -.oo-ui-outlineOptionWidget-level-2 .oo-ui-iconElement-icon { - left: 4em; -} -.oo-ui-selectWidget-depressed .oo-ui-outlineOptionWidget.oo-ui-optionWidget-selected { - background-color: #a7dcff; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5); -} -.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-important { - font-weight: bold; -} -.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-placeholder { - font-style: italic; -} -.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty .oo-ui-iconElement-icon { - opacity: 0.5; -} -.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty .oo-ui-labelElement-label { - color: #777777; -} -.oo-ui-outlineControlsWidget { - height: 3em; - background-color: #ffffff; -} -.oo-ui-outlineControlsWidget-items, -.oo-ui-outlineControlsWidget-movers { - float: left; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-outlineControlsWidget > .oo-ui-iconElement-icon { - float: left; - background-position: right center; - background-repeat: no-repeat; -} -.oo-ui-outlineControlsWidget-items { - float: left; -} -.oo-ui-outlineControlsWidget-items .oo-ui-buttonWidget { - float: left; -} -.oo-ui-outlineControlsWidget-movers { - float: right; -} -.oo-ui-outlineControlsWidget-movers .oo-ui-buttonWidget { - float: right; -} -.oo-ui-outlineControlsWidget-items, -.oo-ui-outlineControlsWidget-movers { - height: 2em; - margin: 0.5em 0.5em 0.5em 0; - padding: 0; -} -.oo-ui-outlineControlsWidget > .oo-ui-iconElement-icon { - width: 1.5em; - height: 2em; - margin: 0.5em 0 0.5em 0.5em; - opacity: 0.2; -} -.oo-ui-comboBoxWidget { - display: inline-block; - position: relative; - width: 100%; - max-width: 50em; -} -.oo-ui-comboBoxWidget > .oo-ui-selectWidget { - width: 100%; - z-index: 1; -} -.oo-ui-comboBoxWidget-handle { - border: solid 1px rgba(0, 0, 0, 0.1); - border-radius: 0.25em; -} -.oo-ui-comboBoxWidget-handle:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-comboBoxWidget.oo-ui-widget-disabled .oo-ui-textInputWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator, -.oo-ui-comboBoxWidget-empty .oo-ui-textInputWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator { - cursor: default; - opacity: 0.2; -} -.oo-ui-comboBoxWidget > .oo-ui-selectWidget { - margin-top: -3px; -} -.oo-ui-searchWidget-query { - position: absolute; - top: 0; - left: 0; - right: 0; -} -.oo-ui-searchWidget-query .oo-ui-textInputWidget { - width: 100%; -} -.oo-ui-searchWidget-results { - position: absolute; - bottom: 0; - left: 0; - right: 0; - overflow-x: hidden; - overflow-y: auto; -} -.oo-ui-searchWidget-query { - height: 4em; - padding: 0 1em; - box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.2); -} -.oo-ui-searchWidget-query .oo-ui-textInputWidget { - margin: 0.75em 0; -} -.oo-ui-searchWidget-results { - top: 4em; - padding: 1em; - line-height: 0; -} -.oo-ui-window { - line-height: 1em; -} -.oo-ui-window-frame { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-window-frame > iframe { - width: 100%; - height: 100%; - margin: 0; - padding: 0; -} -.oo-ui-window-content:focus { - outline: none; -} -.oo-ui-window-head, -.oo-ui-window-foot { - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-window-body { - margin: 0; - padding: 0; - background: none; -} -.oo-ui-window-overlay, -.oo-ui-window-inner-overlay { - position: absolute; - top: 0; - /* @noflip */ - left: 0; -} -.oo-ui-window, -.oo-ui-window-isolated { - background-color: transparent; - background-image: none; - font-family: sans-serif; - font-size: 0.8em; -} -.oo-ui-dialog-content > .oo-ui-window-head, -.oo-ui-dialog-content > .oo-ui-window-body, -.oo-ui-dialog-content > .oo-ui-window-foot { - position: absolute; - left: 0; - right: 0; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-dialog-content > .oo-ui-window-head { - z-index: 1; - top: 0; -} -.oo-ui-dialog-content > .oo-ui-window-body { - z-index: 2; - top: 0; - bottom: 0; -} -.oo-ui-dialog-content > .oo-ui-window-foot { - z-index: 1; - bottom: 0; -} -.oo-ui-dialog-content > .oo-ui-window-inner-overlay { - z-index: 3; -} -.oo-ui-dialog-content > .oo-ui-window-body { - box-shadow: 0 0 0.66em rgba(0, 0, 0, 0.25); -} -.oo-ui-messageDialog-actions-horizontal { - display: table; - table-layout: fixed; - width: 100%; -} -.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { - display: table-cell; - width: 1%; -} -.oo-ui-messageDialog-actions-vertical { - display: block; -} -.oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { - display: block; - overflow: hidden; - text-overflow: ellipsis; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget { - position: relative; - text-align: center; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-buttonElement-button { - display: block; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label { - position: relative; - top: auto; - bottom: auto; - display: inline; - white-space: nowrap; -} -.oo-ui-messageDialog-content .oo-ui-window-body { - box-shadow: 0 0 0.33em rgba(0, 0, 0, 0.33); -} -.oo-ui-messageDialog-title, -.oo-ui-messageDialog-message { - display: block; - text-align: center; - padding-top: 0.5em; -} -.oo-ui-messageDialog-title { - font-size: 1.5em; - line-height: 1em; - color: #000000; -} -.oo-ui-messageDialog-message { - font-size: 0.9em; - line-height: 1.25em; - color: #666666; -} -.oo-ui-messageDialog-message-verbose { - font-size: 1.1em; - line-height: 1.5em; - text-align: left; -} -.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { - border-right: solid 1px #e5e5e5; -} -.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget:last-child { - border-right-width: 0; -} -.oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { - border-bottom: solid 1px #e5e5e5; -} -.oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child { - border-bottom-width: 0; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget { - height: 3.4em; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement .oo-ui-labelElement-label { - text-align: center; - line-height: 3.4em; - padding: 0 2em; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget:hover { - background-color: rgba(0, 0, 0, 0.05); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget:active { - background-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:hover { - background-color: rgba(8, 126, 204, 0.05); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:active { - background-color: rgba(8, 126, 204, 0.1); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-progressive .oo-ui-labelElement-label { - font-weight: bold; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:hover { - background-color: rgba(118, 171, 54, 0.05); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:active { - background-color: rgba(118, 171, 54, 0.1); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:hover { - background-color: rgba(212, 83, 83, 0.05); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active { - background-color: rgba(212, 83, 83, 0.1); -} -.oo-ui-processDialog-location { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.oo-ui-processDialog-title { - display: inline; - padding: 0; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget { - white-space: nowrap; -} -.oo-ui-processDialog-actions-safe, -.oo-ui-processDialog-actions-primary { - position: absolute; - top: 0; - bottom: 0; -} -.oo-ui-processDialog-actions-safe { - left: 0; -} -.oo-ui-processDialog-actions-primary { - right: 0; -} -.oo-ui-processDialog-errors { - display: none; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 2; - overflow-x: hidden; - overflow-y: auto; -} -.oo-ui-processDialog-content .oo-ui-window-head { - height: 3.4em; -} -.oo-ui-processDialog-content .oo-ui-window-head.oo-ui-pendingElement-pending { - background-image: /* @embed */ url(themes/apex/images/textures/pending.gif); -} -.oo-ui-processDialog-content .oo-ui-window-body { - top: 3.4em; - box-shadow: 0 0 0.33em rgba(0, 0, 0, 0.33); -} -.oo-ui-processDialog-navigation { - position: relative; - height: 3.4em; - padding: 0 1em; -} -.oo-ui-processDialog-location { - padding: 0.75em 0; - height: 1.9em; - cursor: default; - text-align: center; -} -.oo-ui-processDialog-title { - font-weight: bold; - line-height: 1.9em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-buttonElement-button, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget .oo-ui-buttonElement-button, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-buttonElement-button { - min-width: 1.9em; - min-height: 1.9em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-labelElement-label, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget .oo-ui-labelElement-label, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-labelElement-label { - line-height: 1.9em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement .oo-ui-iconElement-icon, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement .oo-ui-iconElement-icon, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-iconElement .oo-ui-iconElement-icon { - margin-top: -0.125em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-framed, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-framed, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-buttonElement-framed { - margin: 0.75em 0 0.75em 0.75em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button { - padding: 0 1em; - vertical-align: middle; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget:hover, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget:hover { - background-color: rgba(0, 0, 0, 0.05); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget:active, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget:active { - background-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-framed, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-framed { - margin: 0.75em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button { - /* Adjust for border so text aligns with title */ - margin: -1px; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:hover, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:hover { - background-color: rgba(8, 126, 204, 0.05); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:active, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:active { - background-color: rgba(8, 126, 204, 0.1); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-progressive .oo-ui-labelElement-label, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-progressive .oo-ui-labelElement-label { - font-weight: bold; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:hover, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:hover { - background-color: rgba(118, 171, 54, 0.05); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:active, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:active { - background-color: rgba(118, 171, 54, 0.1); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:hover, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:hover { - background-color: rgba(212, 83, 83, 0.05); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active { - background-color: rgba(212, 83, 83, 0.1); -} -.oo-ui-processDialog > .oo-ui-window-frame { - min-height: 5em; -} -.oo-ui-processDialog-errors { - background-color: rgba(255, 255, 255, 0.9); - padding: 3em 3em 1.5em 3em; - text-align: center; -} -.oo-ui-processDialog-errors .oo-ui-buttonWidget { - margin: 2em 1em 2em 1em; -} -.oo-ui-processDialog-errors-title { - font-size: 1.5em; - color: #000000; - margin-bottom: 2em; -} -.oo-ui-processDialog-error { - text-align: left; - margin: 1em; - padding: 1em; - border: solid 1px #ff9e9e; - background-color: #fff7f7; - border-radius: 0.25em; -} -.oo-ui-windowManager-modal > .oo-ui-dialog { - position: fixed; - width: 0; - height: 0; - overflow: hidden; -} -.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load { - width: auto; - height: auto; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1em; -} -.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > .oo-ui-window-frame { - position: absolute; - right: 0; - left: 0; - margin: auto; - overflow: hidden; - max-width: 100%; - max-height: 100%; - visibility: visible; -} -.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > .oo-ui-window-frame > iframe { - width: 100%; - height: 100%; -} -.oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { - visibility: hidden; -} -.oo-ui-windowManager-fullscreen > .oo-ui-dialog > .oo-ui-window-frame { - width: 100%; - height: 100%; - top: 0; - bottom: 0; -} -.oo-ui-windowManager-modal > .oo-ui-dialog { - background-color: rgba(255, 255, 255, 0.5); - opacity: 0; - -webkit-transition: opacity 250ms ease-in-out; - -moz-transition: opacity 250ms ease-in-out; - -ms-transition: opacity 250ms ease-in-out; - -o-transition: opacity 250ms ease-in-out; - transition: opacity 250ms ease-in-out; -} -.oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { - top: 1em; - bottom: 1em; - background-color: #ffffff; - -webkit-transform: scale(0.5); - -moz-transform: scale(0.5); - -ms-transform: scale(0.5); - -o-transform: scale(0.5); - transform: scale(0.5); - -webkit-transition: all 250ms ease-in-out; - -moz-transition: all 250ms ease-in-out; - -ms-transition: all 250ms ease-in-out; - -o-transition: all 250ms ease-in-out; - transition: all 250ms ease-in-out; -} -.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load { - opacity: 1; -} -.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > .oo-ui-window-frame { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -.oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { - border: solid 1px #cccccc; - border-radius: 0.5em; - box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.3); -} - -.oo-ui-icon-add { - background-image: /* @embed */ url(themes/apex/images/icons/add.png); -} -.oo-ui-icon-advanced { - background-image: /* @embed */ url(themes/apex/images/icons/advanced.png); -} -.oo-ui-icon-alert { - background-image: /* @embed */ url(themes/apex/images/icons/alert.png); -} -.oo-ui-icon-check { - background-image: /* @embed */ url(themes/apex/images/icons/check.png); -} -.oo-ui-icon-clear { - background-image: /* @embed */ url(themes/apex/images/icons/clear.png); -} -.oo-ui-icon-close { - background-image: /* @embed */ url(themes/apex/images/icons/close.png); -} -.oo-ui-icon-code { - background-image: /* @embed */ url(themes/apex/images/icons/code.png); -} -.oo-ui-icon-collapse { - background-image: /* @embed */ url(themes/apex/images/icons/collapse.png); -} -.oo-ui-icon-comment { - background-image: /* @embed */ url(themes/apex/images/icons/comment.png); -} -.oo-ui-icon-expand { - background-image: /* @embed */ url(themes/apex/images/icons/expand.png); -} -.oo-ui-icon-help { - background-image: /* @embed */ url(themes/apex/images/icons/help.png); -} -.oo-ui-icon-info { - background-image: /* @embed */ url(themes/apex/images/icons/info.png); -} -.oo-ui-icon-link { - background-image: /* @embed */ url(themes/apex/images/icons/link.png); -} -.oo-ui-icon-menu { - background-image: /* @embed */ url(themes/apex/images/icons/menu.png); -} -.oo-ui-icon-next { - background-image: /* @embed */ url(themes/apex/images/icons/move-ltr.png); -} -.oo-ui-icon-picture { - background-image: /* @embed */ url(themes/apex/images/icons/picture.png); -} -.oo-ui-icon-previous { - background-image: /* @embed */ url(themes/apex/images/icons/move-rtl.png); -} -.oo-ui-icon-redo { - background-image: /* @embed */ url(themes/apex/images/icons/arched-arrow-ltr.png); -} -.oo-ui-icon-remove { - background-image: /* @embed */ url(themes/apex/images/icons/remove.png); -} -.oo-ui-icon-search { - background-image: /* @embed */ url(themes/apex/images/icons/search.png); -} -.oo-ui-icon-settings { - background-image: /* @embed */ url(themes/apex/images/icons/settings.png); -} -.oo-ui-icon-tag { - background-image: /* @embed */ url(themes/apex/images/icons/tag.png); -} -.oo-ui-icon-undo { - background-image: /* @embed */ url(themes/apex/images/icons/arched-arrow-rtl.png); -} -.oo-ui-icon-window { - background-image: /* @embed */ url(themes/apex/images/icons/window.png); -} -.oo-ui-indicator-alert { - background-image: /* @embed */ url(themes/apex/images/indicators/alert.png); -} -.oo-ui-indicator-up { - background-image: /* @embed */ url(themes/apex/images/indicators/arrow-up.png); -} -.oo-ui-indicator-down { - background-image: /* @embed */ url(themes/apex/images/indicators/arrow-down.png); -} -.oo-ui-indicator-next { - background-image: /* @embed */ url(themes/apex/images/indicators/arrow-ltr.png); -} -.oo-ui-indicator-previous { - background-image: /* @embed */ url(themes/apex/images/indicators/arrow-rtl.png); -} -.oo-ui-indicator-required { - background-image: /* @embed */ url(themes/apex/images/indicators/required.png); -} -.oo-ui-texture-pending { - background-image: /* @embed */ url(themes/apex/images/textures/pending.gif); -} -.oo-ui-texture-transparency { - background-image: /* @embed */ url(themes/apex/images/textures/transparency.png); -} diff --git a/resources/lib/oojs-ui/oojs-ui-apex.js b/resources/lib/oojs-ui/oojs-ui-apex.js deleted file mode 100644 index 6fcf2fc074..0000000000 --- a/resources/lib/oojs-ui/oojs-ui-apex.js +++ /dev/null @@ -1,13 +0,0 @@ -/*! - * OOjs UI v0.6.0 - * https://www.mediawiki.org/wiki/OOjs_UI - * - * Copyright 2011–2014 OOjs Team and other contributors. - * Released under the MIT license - * http://oojs.mit-license.org - * - * Date: 2014-12-16T21:00:55Z - */ -/* Instantiation */ - -OO.ui.theme = new OO.ui.Theme(); diff --git a/resources/lib/oojs-ui/oojs-ui-apex.svg.css b/resources/lib/oojs-ui/oojs-ui-apex.svg.css deleted file mode 100644 index fee616373b..0000000000 --- a/resources/lib/oojs-ui/oojs-ui-apex.svg.css +++ /dev/null @@ -1,2210 +0,0 @@ -/*! - * OOjs UI v0.6.0 - * https://www.mediawiki.org/wiki/OOjs_UI - * - * Copyright 2011–2014 OOjs Team and other contributors. - * Released under the MIT license - * http://oojs.mit-license.org - * - * Date: 2014-12-16T21:01:07Z - */ -.oo-ui-progressBarWidget-slide-frames from { - margin-left: -40%; -} -.oo-ui-progressBarWidget-slide-frames to { - margin-left: 100%; -} -@-webkit-keyframes oo-ui-progressBarWidget-slide { - from { - margin-left: -40%; - } - to { - margin-left: 100%; - } -} -@-moz-keyframes oo-ui-progressBarWidget-slide { - from { - margin-left: -40%; - } - to { - margin-left: 100%; - } -} -@-ms-keyframes oo-ui-progressBarWidget-slide { - from { - margin-left: -40%; - } - to { - margin-left: 100%; - } -} -@-o-keyframes oo-ui-progressBarWidget-slide { - from { - margin-left: -40%; - } - to { - margin-left: 100%; - } -} -@keyframes oo-ui-progressBarWidget-slide { - from { - margin-left: -40%; - } - to { - margin-left: 100%; - } -} -/* @noflip */ -.oo-ui-rtl { - direction: rtl; -} -/* @noflip */ -.oo-ui-ltr { - direction: ltr; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button { - cursor: pointer; - display: inline-block; - vertical-align: middle; - font-family: inherit; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - display: none; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator { - display: none; -} -.oo-ui-buttonElement.oo-ui-widget-disabled > .oo-ui-buttonElement-button { - cursor: default; -} -.oo-ui-buttonElement.oo-ui-indicatorElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator, -.oo-ui-buttonElement.oo-ui-iconElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - display: inline-block; - vertical-align: middle; - background-position: center center; - background-repeat: no-repeat; -} -.oo-ui-buttonElement-frameless { - display: inline-block; - position: relative; -} -.oo-ui-buttonElement-frameless.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - display: inline-block; - vertical-align: middle; -} -.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button { - display: inline-block; - vertical-align: top; - text-align: center; -} -.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - display: inline-block; - vertical-align: middle; -} -.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { - cursor: default; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button { - color: #333333; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - margin-left: 0; -} -.oo-ui-buttonElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator { - margin-right: -0.75em; - margin-left: -0.75em; -} -.oo-ui-buttonElement.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator, -.oo-ui-buttonElement.oo-ui-iconElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator { - margin-left: 0; -} -.oo-ui-buttonElement.oo-ui-indicatorElement > .oo-ui-buttonElement-button > .oo-ui-indicatorElement-indicator, -.oo-ui-buttonElement.oo-ui-iconElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - opacity: 0.8; - width: 1.9em; - height: 1.9em; -} -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - /* Don't animate opacities for now, causes wiggling in Chrome (bug 63020) */ - /*.oo-ui-transition(opacity 200ms);*/ -} -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:focus { - outline: none; -} -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:hover > .oo-ui-iconElement-icon, -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:focus > .oo-ui-iconElement-icon { - opacity: 1; -} -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:hover > .oo-ui-labelElement-label, -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:focus > .oo-ui-labelElement-label { - color: #000000; -} -.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - color: #333333; -} -.oo-ui-buttonElement-frameless.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - margin-left: 0.25em; -} -.oo-ui-buttonElement-frameless.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - color: #087ecc; -} -.oo-ui-buttonElement-frameless.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - color: #76ab36; -} -.oo-ui-buttonElement-frameless.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - color: #d45353; -} -.oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - color: #cccccc; -} -.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button { - margin: 0.1em 0; - padding: 0.2em 0.8em; - border-radius: 0.3em; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5); - border: 1px #c9c9c9 solid; - -webkit-transition: border-color 100ms ease-in-out; - -moz-transition: border-color 100ms ease-in-out; - -ms-transition: border-color 100ms ease-in-out; - -o-transition: border-color 100ms ease-in-out; - transition: border-color 100ms ease-in-out; - background: #eeeeee; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#dddddd'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #dddddd)); - background-image: -webkit-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -moz-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -ms-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -o-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: linear-gradient(top, #ffffff 0%, #dddddd 100%); -} -.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button:focus { - border-color: #aaaaaa; - outline: none; -} -.oo-ui-buttonElement-framed > input.oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label { - line-height: 1.9em; -} -.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, -.oo-ui-buttonElement-framed.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { - box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, 0.07); - color: black; - border-color: #c9c9c9; - background: #eeeeee; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#dddddd', endColorstr='#ffffff'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #dddddd), color-stop(100%, #ffffff)); - background-image: -webkit-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -moz-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -o-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: linear-gradient(top, #dddddd 0%, #ffffff 100%); -} -.oo-ui-buttonElement-framed.oo-ui-iconElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - margin-left: -0.5em; - margin-right: -0.5em; -} -.oo-ui-buttonElement-framed.oo-ui-iconElement.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - margin-left: -0.5em; - margin-right: 0.3em; -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { - border: solid 1px #a6cee1; - background: #cde7f4; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#eaf4fa', endColorstr='#b0d9ee'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #eaf4fa), color-stop(100%, #b0d9ee)); - background-image: -webkit-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -moz-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -ms-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -o-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { - border-color: #9dc2d4; -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { - border: solid 1px #a6cee1; - background: #cde7f4; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#b0d9ee', endColorstr='#eaf4fa'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #b0d9ee), color-stop(100%, #eaf4fa)); - background-image: -webkit-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -moz-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -ms-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -o-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button { - border: solid 1px #b8d892; - background: #daf0be; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f0fbe1', endColorstr='#c3e59a'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f0fbe1), color-stop(100%, #c3e59a)); - background-image: -webkit-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); - background-image: -moz-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); - background-image: -ms-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); - background-image: -o-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); - background-image: linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:focus { - border-color: #adcb89; -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { - border: solid 1px #b8d892; - background: #daf0be; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#c3e59a', endColorstr='#f0fbe1'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #c3e59a), color-stop(100%, #f0fbe1)); - background-image: -webkit-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); - background-image: -moz-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); - background-image: -ms-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); - background-image: -o-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); - background-image: linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); -} -.oo-ui-buttonElement-framed.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { - color: #d45353; -} -.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { - opacity: 0.5; - -webkit-transform: translate3d(0, 0, 0); - box-shadow: none; - color: #333333; - background: #eeeeee; - border-color: #cccccc; -} -.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button:hover, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button:focus, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus, -.oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button:focus { - border-color: #cccccc; - box-shadow: none; -} -.oo-ui-clippableElement-clippable { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-draggableElement { - cursor: -webkit-grab -moz-grab, url(images/grab.cur), move; - /* - * HACK: In order to style horizontally, we must override - * OO.ui.OptionWidget's display rule that is currently set - * to be 'block' - */ -} -.oo-ui-draggableElement-dragging { - cursor: -webkit-grabbing -moz-grabbing, url(images/grabbing.cur), move; - background: rgba(0, 0, 0, 0.2); - opacity: 0.4; -} -.oo-ui-draggableGroupElement-horizontal .oo-ui-draggableElement.oo-ui-optionWidget { - display: inline-block; -} -.oo-ui-draggableGroupElement-placeholder { - position: absolute; - display: block; - background: rgba(0, 0, 0, 0.4); -} -.oo-ui-bookletLayout-stackLayout.oo-ui-stackLayout-continuous > .oo-ui-panelLayout-scrollable { - overflow-y: hidden; -} -.oo-ui-bookletLayout-stackLayout > .oo-ui-panelLayout { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-bookletLayout-stackLayout > .oo-ui-panelLayout-scrollable { - overflow-y: auto; -} -.oo-ui-bookletLayout-stackLayout > .oo-ui-panelLayout-padded { - padding: 2em; -} -.oo-ui-bookletLayout-outlinePanel-editable > .oo-ui-outlineSelectWidget { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 3em; - overflow-y: auto; -} -.oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { - position: absolute; - bottom: 0; - left: 0; - right: 0; -} -.oo-ui-bookletLayout-stackLayout > .oo-ui-panelLayout { - padding: 1.5em; -} -.oo-ui-bookletLayout-outlinePanel { - border-right: solid 1px #dddddd; -} -.oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { - box-shadow: 0 0 0.25em rgba(0, 0, 0, 0.25); -} -.oo-ui-fieldLayout { - display: block; - margin-bottom: 1em; -} -.oo-ui-fieldLayout:before, -.oo-ui-fieldLayout:after { - content: " "; - display: table; -} -.oo-ui-fieldLayout:after { - clear: both; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-left > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-left > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field { - display: block; - float: left; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label { - text-align: right; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { - display: table; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field { - display: table-cell; - vertical-align: middle; -} -.oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label { - display: inline-block; -} -.oo-ui-fieldLayout > .oo-ui-fieldLayout-help { - float: right; -} -.oo-ui-fieldLayout > .oo-ui-fieldLayout-help > .oo-ui-popupWidget > .oo-ui-popupWidget-popup { - z-index: 1; -} -.oo-ui-fieldLayout > .oo-ui-fieldLayout-help .oo-ui-fieldLayout-help-content { - padding: 0.5em 0.75em; - line-height: 1.5em; -} -.oo-ui-fieldLayout:last-child { - margin-bottom: 0; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-left.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label { - padding-top: 0.5em; - margin-right: 5%; - width: 35%; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-left > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field, -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field { - width: 60%; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label { - padding: 0.5em; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field { - padding: 0.5em 0; -} -.oo-ui-fieldLayout.oo-ui-fieldLayout-align-top.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label { - padding: 0.5em 0; -} -.oo-ui-fieldLayout > .oo-ui-popupButtonWidget > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { - margin-top: 0.25em; -} -.oo-ui-fieldLayout-disabled .oo-ui-labelElement-label { - color: #cccccc; -} -.oo-ui-fieldsetLayout { - position: relative; - margin: 0; - padding: 0; - border: none; -} -.oo-ui-fieldsetLayout.oo-ui-iconElement > .oo-ui-iconElement-icon { - display: block; - position: absolute; - background-position: center center; - background-repeat: no-repeat; -} -.oo-ui-fieldsetLayout.oo-ui-labelElement > .oo-ui-labelElement-label { - display: inline-block; -} -.oo-ui-fieldsetLayout + .oo-ui-fieldsetLayout { - margin-top: 2em; -} -.oo-ui-fieldsetLayout > .oo-ui-labelElement-label { - font-size: 1.5em; - margin-bottom: 0.5em; - padding: 0.25em 0; -} -.oo-ui-fieldsetLayout.oo-ui-iconElement > .oo-ui-labelElement-label { - padding-left: 1.75em; - line-height: 1.33em; -} -.oo-ui-fieldsetLayout.oo-ui-iconElement > .oo-ui-iconElement-icon { - left: 0; - top: 0.25em; - width: 2em; - height: 2em; -} -.oo-ui-gridLayout { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; -} -.oo-ui-panelLayout { - position: relative; -} -.oo-ui-panelLayout-scrollable { - overflow-y: auto; -} -.oo-ui-panelLayout-expanded { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; -} -.oo-ui-panelLayout-padded { - padding: 1.25em; -} -.oo-ui-stackLayout > .oo-ui-panelLayout { - display: none; -} -.oo-ui-stackLayout-continuous > .oo-ui-panelLayout { - display: block; - position: relative; -} -.oo-ui-popupTool .oo-ui-popupWidget-popup, -.oo-ui-popupTool .oo-ui-popupWidget-anchor { - z-index: 4; -} -.oo-ui-popupTool .oo-ui-popupWidget { - /* @noflip */ - margin-left: 1.25em; - font-size: 0.8em; -} -.oo-ui-toolGroup { - display: inline-block; - vertical-align: middle; - margin: 0.3em; - border-radius: 0.25em; - border: solid 1px transparent; - -webkit-transition: border-color 300ms ease-in-out; - -moz-transition: border-color 300ms ease-in-out; - -ms-transition: border-color 300ms ease-in-out; - -o-transition: border-color 300ms ease-in-out; - transition: border-color 300ms ease-in-out; -} -.oo-ui-toolGroup-empty { - display: none; -} -.oo-ui-toolGroup .oo-ui-tool-link .oo-ui-iconElement-icon { - background-position: center center; - background-repeat: no-repeat; -} -.oo-ui-toolGroup.oo-ui-widget-enabled:hover { - border-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-toolGroup.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { - color: #000000; -} -.oo-ui-barToolGroup > .oo-ui-iconElement-icon, -.oo-ui-barToolGroup > .oo-ui-labelElement-label { - display: none; -} -.oo-ui-barToolGroup .oo-ui-tool { - display: inline-block; - position: relative; - vertical-align: top; -} -.oo-ui-barToolGroup .oo-ui-tool-link { - display: block; -} -.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconElement-icon { - display: block; -} -.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-tool-accel, -.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-tool-title { - display: none; -} -.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link { - cursor: default; -} -.oo-ui-barToolGroup .oo-ui-tool-title, -.oo-ui-barToolGroup .oo-ui-tool-accel { - display: none; -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-link { - cursor: pointer; -} -.oo-ui-barToolGroup .oo-ui-tool { - margin: -1px 0 -1px -1px; - border: solid 1px transparent; -} -.oo-ui-barToolGroup .oo-ui-tool:first-child { - border-top-left-radius: 0.25em; - border-bottom-left-radius: 0.25em; -} -.oo-ui-barToolGroup .oo-ui-tool:last-child { - margin-right: -1px; - border-top-right-radius: 0.25em; - border-bottom-right-radius: 0.25em; -} -.oo-ui-barToolGroup .oo-ui-tool-link { - height: 1.5em; - padding: 0.25em; -} -.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconElement-icon { - height: 1.5em; - width: 1.5em; - opacity: 0.8; -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled { - border-color: rgba(0, 0, 0, 0.2); - box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07); - background: #f8fbfd; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f1f7fb', endColorstr='#ffffff'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff)); - background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -moz-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -o-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: linear-gradient(top, #f1f7fb 0%, #ffffff 100%); -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled { - border-left-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.8; -} -.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 1; -} -.oo-ui-barToolGroup.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-popupToolGroup { - position: relative; - height: 2em; - min-width: 2.5em; -} -.oo-ui-popupToolGroup-handle { - display: block; - cursor: pointer; -} -.oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator, -.oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon { - position: absolute; - background-position: center center; - background-repeat: no-repeat; -} -.oo-ui-popupToolGroup.oo-ui-widget-disabled .oo-ui-popupToolGroup-handle { - cursor: default; -} -.oo-ui-popupToolGroup .oo-ui-toolGroup-tools { - display: none; - position: absolute; - z-index: 4; -} -.oo-ui-popupToolGroup .oo-ui-toolGroup-tools .oo-ui-iconElement-icon { - background-repeat: no-repeat; - background-position: center center; -} -.oo-ui-popupToolGroup-active.oo-ui-widget-enabled > .oo-ui-toolGroup-tools { - display: block; -} -.oo-ui-popupToolGroup-left > .oo-ui-toolGroup-tools { - left: 0; -} -.oo-ui-popupToolGroup-right > .oo-ui-toolGroup-tools { - right: 0; -} -.oo-ui-popupToolGroup .oo-ui-tool-link { - display: table; - width: 100%; - vertical-align: middle; - white-space: nowrap; - text-decoration: none; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-iconElement-icon, -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-accel, -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-title { - display: table-cell; - vertical-align: middle; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-accel { - text-align: right; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-accel:not(:empty) { - padding-left: 3em; -} -.oo-ui-popupToolGroup.oo-ui-indicatorElement.oo-ui-iconElement { - min-width: 3.5em; -} -.oo-ui-popupToolGroup.oo-ui-labelElement .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label { - line-height: 2.6em; - font-size: 0.8em; - margin: 0 1em; -} -.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-iconElement .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label { - margin-left: 3em; -} -.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label { - margin-right: 2.25em; -} -.oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator, -.oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon { - top: 0; - width: 2em; - height: 2em; - opacity: 0.8; -} -.oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator { - right: 0; -} -.oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon { - left: 0.25em; -} -.oo-ui-popupToolGroup-header { - line-height: 2.6em; - font-size: 0.8em; - margin: 0 0.6em; - font-weight: bold; -} -.oo-ui-popupToolGroup-active.oo-ui-widget-enabled { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07); - background: #f8fbfd; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f1f7fb', endColorstr='#ffffff'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff)); - background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -moz-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -o-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: linear-gradient(top, #f1f7fb 0%, #ffffff 100%); -} -.oo-ui-popupToolGroup .oo-ui-toolGroup-tools { - top: 2em; - margin: 0 -1px; - border: solid 1px #cccccc; - background-color: white; - box-shadow: 0 0.25em 1em rgba(0, 0, 0, 0.25); -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-iconElement-icon { - height: 2em; - width: 2em; - min-width: 2em; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-title { - padding-left: 0.25em; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-accel, -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-title { - line-height: 2em; - font-size: 0.8em; -} -.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-accel { - color: #888888; -} -.oo-ui-listToolGroup .oo-ui-tool { - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-listToolGroup .oo-ui-tool-link { - cursor: pointer; -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link { - cursor: default; -} -.oo-ui-listToolGroup .oo-ui-toolGroup-tools { - padding: 0.25em; -} -.oo-ui-listToolGroup.oo-ui-popupToolGroup-active { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-listToolGroup .oo-ui-tool { - border: solid 1px transparent; - margin: -1px 0; - padding: 0 0.25em 0 0; -} -.oo-ui-listToolGroup .oo-ui-tool-active.oo-ui-widget-enabled { - border-color: rgba(0, 0, 0, 0.1); - box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07); - background: #f8fbfd; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f1f7fb', endColorstr='#ffffff'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff)); - background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -moz-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -o-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: linear-gradient(top, #f1f7fb 0%, #ffffff 100%); -} -.oo-ui-listToolGroup .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled { - border-top-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-listToolGroup .oo-ui-tool-active.oo-ui-widget-enabled:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.8; -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 1; -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-tool-title { - color: #cccccc; -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-tool-accel { - color: #dddddd; -} -.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-listToolGroup.oo-ui-widget-disabled { - color: #cccccc; -} -.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator, -.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-menuToolGroup { - border-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-menuToolGroup .oo-ui-tool { - display: block; -} -.oo-ui-menuToolGroup .oo-ui-tool-link { - cursor: pointer; -} -.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link { - cursor: default; -} -.oo-ui-menuToolGroup .oo-ui-popupToolGroup-handle { - min-width: 8em; -} -.oo-ui-menuToolGroup .oo-ui-toolGroup-tools { - padding: 0.25em 0 0.25em 0; -} -.oo-ui-menuToolGroup.oo-ui-widget-enabled:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-menuToolGroup.oo-ui-popupToolGroup-active { - border-color: rgba(0, 0, 0, 0.25); -} -.oo-ui-menuToolGroup .oo-ui-tool { - padding: 0 0.75em 0 0.25em; -} -.oo-ui-menuToolGroup .oo-ui-tool-link .oo-ui-iconElement-icon { - background-image: none; -} -.oo-ui-menuToolGroup .oo-ui-tool-active .oo-ui-tool-link .oo-ui-iconElement-icon { - background-image: /* @embed */ url(themes/apex/images/icons/check.svg); -} -.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover { - background-color: #e1f3ff; -} -.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-tool-title { - color: #cccccc; -} -.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-menuToolGroup.oo-ui-widget-disabled { - color: #cccccc; - border-color: rgba(0, 0, 0, 0.05); -} -.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator, -.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-iconElement-icon { - opacity: 0.2; -} -.oo-ui-toolbar { - clear: both; -} -.oo-ui-toolbar-bar { - line-height: 1em; -} -.oo-ui-toolbar-actions { - float: right; -} -.oo-ui-toolbar-tools { - display: inline; -} -.oo-ui-toolbar-tools, -.oo-ui-toolbar-actions, -.oo-ui-toolbar-shadow { - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-toolbar-actions .oo-ui-popupWidget { - -webkit-touch-callout: default; - -webkit-user-select: all; - -moz-user-select: all; - -ms-user-select: all; - user-select: all; -} -.oo-ui-toolbar-shadow { - background-position: left top; - background-repeat: repeat-x; - position: absolute; - width: 100%; - pointer-events: none; -} -.oo-ui-toolbar-bar { - border-bottom: solid 1px #cccccc; - background: #f8fbfd; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#f1f7fb'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #f1f7fb)); - background-image: -webkit-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); - background-image: -moz-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); - background-image: -ms-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); - background-image: -o-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); - background-image: linear-gradient(top, #ffffff 0%, #f1f7fb 100%); -} -.oo-ui-toolbar-bar .oo-ui-toolbar-bar { - border: none; - background: none; -} -.oo-ui-toolbar-shadow { - background-image: /* @embed */ url(themes/apex/images/toolbar-shadow.png); - bottom: -9px; - height: 9px; - opacity: 0.125; - -webkit-transition: opacity 500ms ease-in-out; - -moz-transition: opacity 500ms ease-in-out; - -ms-transition: opacity 500ms ease-in-out; - -o-transition: opacity 500ms ease-in-out; - transition: opacity 500ms ease-in-out; -} -.oo-ui-optionWidget { - position: relative; - display: block; - cursor: pointer; - padding: 0.25em 0.5em; - border: none; -} -.oo-ui-optionWidget.oo-ui-widget-disabled { - cursor: default; -} -.oo-ui-optionWidget.oo-ui-labelElement .oo-ui-labelElement-label { - display: block; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.oo-ui-optionWidget-highlighted { - background-color: #e1f3ff; -} -.oo-ui-optionWidget .oo-ui-labelElement-label { - line-height: 1.5em; -} -.oo-ui-selectWidget-depressed .oo-ui-optionWidget-selected { - background-color: #a7dcff; -} -.oo-ui-selectWidget-pressed .oo-ui-optionWidget-pressed { - background-color: #a7dcff; -} -.oo-ui-optionWidget.oo-ui-widget-disabled { - color: #cccccc; -} -.oo-ui-decoratedOptionWidget { - padding: 0.5em 2em 0.5em 3em; -} -.oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon, -.oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator { - position: absolute; - background-repeat: no-repeat; - background-position: center center; -} -.oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon, -.oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator { - top: 50%; - width: 2em; - height: 2em; - margin-top: -1em; -} -.oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon { - left: 0.5em; -} -.oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator { - right: 0.5em; -} -.oo-ui-buttonSelectWidget { - display: inline-block; - white-space: nowrap; - border-radius: 0.3em; -} -.oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget .oo-ui-buttonElement-button { - border-radius: 0; - margin-left: -1px; -} -.oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget:first-child .oo-ui-buttonElement-button { - border-bottom-left-radius: 0.3em; - border-top-left-radius: 0.3em; - margin-left: 0; -} -.oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget:last-child .oo-ui-buttonElement-button { - border-bottom-right-radius: 0.3em; - border-top-right-radius: 0.3em; -} -.oo-ui-radioSelectWidget { - padding: 0.75em 0 0.5em 0; -} -.oo-ui-buttonOptionWidget { - display: inline-block; - padding: 0; - background-color: transparent; -} -.oo-ui-buttonOptionWidget .oo-ui-buttonElement-button { - position: relative; -} -.oo-ui-buttonOptionWidget.oo-ui-iconElement .oo-ui-iconElement-icon, -.oo-ui-buttonOptionWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator { - position: static; - display: inline-block; - vertical-align: middle; -} -.oo-ui-buttonOptionWidget .oo-ui-buttonElement-button { - height: 1.9em; -} -.oo-ui-buttonOptionWidget.oo-ui-iconElement .oo-ui-iconElement-icon, -.oo-ui-buttonOptionWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator { - height: 1.9em; - margin-top: 0; -} -.oo-ui-buttonOptionWidget.oo-ui-optionWidget-selected, -.oo-ui-buttonOptionWidget.oo-ui-optionWidget-pressed, -.oo-ui-buttonOptionWidget.oo-ui-optionWidget-highlighted { - background-color: transparent; -} -.oo-ui-radioOptionWidget { - cursor: default; - padding: 0; - background-color: transparent; -} -.oo-ui-radioOptionWidget .oo-ui-radioInputWidget, -.oo-ui-radioOptionWidget.oo-ui-labelElement .oo-ui-labelElement-label { - display: inline-block; - vertical-align: middle; -} -.oo-ui-radioOptionWidget.oo-ui-optionWidget-selected, -.oo-ui-radioOptionWidget.oo-ui-optionWidget-pressed, -.oo-ui-radioOptionWidget.oo-ui-optionWidget-highlighted { - background-color: transparent; -} -.oo-ui-radioOptionWidget > .oo-ui-labelElement-label { - padding: 0 0.5em; -} -.oo-ui-labelWidget { - display: inline-block; - padding: 0.5em 0; -} -.oo-ui-iconWidget { - display: inline-block; - vertical-align: middle; - background-position: center center; - background-repeat: no-repeat; - line-height: 2.5em; - height: 1.9em; - width: 1.9em; - opacity: 0.8; -} -.oo-ui-iconWidget.oo-ui-widget-disabled { - opacity: 0.2; -} -.oo-ui-indicatorWidget { - display: inline-block; - vertical-align: middle; - background-position: center center; - background-repeat: no-repeat; - line-height: 2.5em; - height: 1.9em; - width: 1.9em; - opacity: 0.8; -} -.oo-ui-indicatorWidget.oo-ui-widget-disabled { - opacity: 0.2; -} -.oo-ui-buttonWidget { - display: inline-block; - vertical-align: middle; -} -.oo-ui-buttonGroupWidget { - display: inline-block; - white-space: nowrap; - border-radius: 0.3em; -} -.oo-ui-buttonGroupWidget .oo-ui-buttonElement-framed .oo-ui-buttonElement-button { - border-radius: 0; - margin-left: -1px; -} -.oo-ui-buttonGroupWidget .oo-ui-buttonElement-framed:first-child .oo-ui-buttonElement-button { - border-bottom-left-radius: 0.3em; - border-top-left-radius: 0.3em; - margin-left: 0; -} -.oo-ui-buttonGroupWidget .oo-ui-buttonElement-framed:last-child .oo-ui-buttonElement-button { - border-bottom-right-radius: 0.3em; - border-top-right-radius: 0.3em; -} -.oo-ui-toggleSwitchWidget { - position: relative; - display: inline-block; - vertical-align: middle; - overflow: hidden; - cursor: pointer; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-transform: translateZ(0px); - -moz-transform: translateZ(0px); - -ms-transform: translateZ(0px); - -o-transform: translateZ(0px); - transform: translateZ(0px); - height: 2em; - width: 4em; - border-radius: 1em; - box-shadow: 0 0 0 white, inset 0 0.1em 0.2em #dddddd; - border: solid 1px #cccccc; - background: #eeeeee; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#dddddd', endColorstr='#ffffff'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #dddddd), color-stop(100%, #ffffff)); - background-image: -webkit-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -moz-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -o-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: linear-gradient(top, #dddddd 0%, #ffffff 100%); -} -.oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { - cursor: default; -} -.oo-ui-toggleSwitchWidget-grip { - position: absolute; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-toggleSwitchWidget .oo-ui-toggleSwitchWidget-glow { - position: absolute; - top: 0; - bottom: 0; - right: 0; - left: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-toggleWidget-off .oo-ui-toggleSwitchWidget-glow { - display: none; -} -.oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { - opacity: 0.5; -} -.oo-ui-toggleSwitchWidget-grip { - top: 0.25em; - left: 0.25em; - width: 1.5em; - height: 1.5em; - margin-top: -1px; - border-radius: 1em; - box-shadow: 0 0.1em 0.25em rgba(0, 0, 0, 0.1); - border: 1px #c9c9c9 solid; - -webkit-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out; - -moz-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out; - -ms-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out; - -o-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out; - transition: left 200ms ease-in-out, margin-left 200ms ease-in-out; - background: #eeeeee; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#dddddd'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #dddddd)); - background-image: -webkit-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -moz-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -ms-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -o-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: linear-gradient(top, #ffffff 0%, #dddddd 100%); -} -.oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover, -.oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { - border-color: #aaaaaa; -} -.oo-ui-toggleSwitchWidget .oo-ui-toggleSwitchWidget-glow { - border-radius: 1em; - box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, 0.07); - -webkit-transition: opacity 200ms ease-in-out; - -moz-transition: opacity 200ms ease-in-out; - -ms-transition: opacity 200ms ease-in-out; - -o-transition: opacity 200ms ease-in-out; - transition: opacity 200ms ease-in-out; - background: #cde7f4; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#b0d9ee', endColorstr='#eaf4fa'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #b0d9ee), color-stop(100%, #eaf4fa)); - background-image: -webkit-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -moz-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -ms-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -o-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); -} -.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-glow { - opacity: 1; -} -.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { - left: 2.25em; - margin-left: -2px; -} -.oo-ui-toggleWidget-off .oo-ui-toggleSwitchWidget-glow { - display: block; - opacity: 0; -} -.oo-ui-toggleWidget-off .oo-ui-toggleSwitchWidget-grip { - left: 0.25em; - margin-left: 0; -} -.oo-ui-progressBarWidget { - max-width: 50em; - border: solid 1px #a6cee1; - border-radius: 0.25em; - overflow: hidden; -} -.oo-ui-progressBarWidget-bar { - height: 1em; - border-right: solid 1px #a6cee1; - -webkit-transition: width 200ms, margin-left 200ms; - -moz-transition: width 200ms, margin-left 200ms; - -ms-transition: width 200ms, margin-left 200ms; - -o-transition: width 200ms, margin-left 200ms; - transition: width 200ms, margin-left 200ms; - background: #cde7f4; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#eaf4fa', endColorstr='#b0d9ee'); - background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #eaf4fa), color-stop(100%, #b0d9ee)); - background-image: -webkit-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -moz-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -ms-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -o-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); -} -.oo-ui-progressBarWidget-indeterminate .oo-ui-progressBarWidget-bar { - -webkit-animation: oo-ui-progressBarWidget-slide 2s infinite linear; - -moz-animation: oo-ui-progressBarWidget-slide 2s infinite linear; - -ms-animation: oo-ui-progressBarWidget-slide 2s infinite linear; - -o-animation: oo-ui-progressBarWidget-slide 2s infinite linear; - animation: oo-ui-progressBarWidget-slide 2s infinite linear; - width: 40%; - margin-left: -10%; - border-left: solid 1px #a6cee1; -} -.oo-ui-progressBarWidget.oo-ui-widget-disabled { - opacity: 0.6; -} -.oo-ui-actionWidget.oo-ui-pendingElement-pending { - background-image: /* @embed */ url(themes/apex/images/textures/pending.gif); -} -.oo-ui-popupWidget { - position: absolute; - /* @noflip */ - left: 0; -} -.oo-ui-popupWidget-popup { - position: relative; - overflow: hidden; - z-index: 1; -} -.oo-ui-popupWidget-anchor { - display: none; - z-index: 1; -} -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor { - display: block; - position: absolute; - top: 0; - /* @noflip */ - left: 0; - background-repeat: no-repeat; -} -.oo-ui-popupWidget-head { - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-popupWidget-head .oo-ui-buttonWidget { - float: right; -} -.oo-ui-popupWidget-head .oo-ui-labelElement-label { - float: left; - cursor: default; -} -.oo-ui-popupWidget-body { - clear: both; - overflow: hidden; -} -.oo-ui-popupWidget-popup { - border: solid 1px #cccccc; - border-radius: 0.25em; - background-color: #ffffff; - box-shadow: 0 0.15em 0.5em 0 rgba(0, 0, 0, 0.2); -} -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-popup { - margin-top: 7px; -} -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor:before, -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor:after { - content: ""; - position: absolute; - width: 0; - height: 0; - border-style: solid; - border-color: transparent; - border-top: 0; -} -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor:before { - bottom: -8px; - left: -7px; - border-bottom-color: #aaaaaa; - border-width: 7px; -} -.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor:after { - bottom: -8px; - left: -6px; - border-bottom-color: #ffffff; - border-width: 6px; -} -.oo-ui-popupWidget-transitioning .oo-ui-popupWidget-popup { - -webkit-transition: width 100ms ease-in-out, height 100ms ease-in-out, left 100ms ease-in-out; - -moz-transition: width 100ms ease-in-out, height 100ms ease-in-out, left 100ms ease-in-out; - -ms-transition: width 100ms ease-in-out, height 100ms ease-in-out, left 100ms ease-in-out; - -o-transition: width 100ms ease-in-out, height 100ms ease-in-out, left 100ms ease-in-out; - transition: width 100ms ease-in-out, height 100ms ease-in-out, left 100ms ease-in-out; -} -.oo-ui-popupWidget-head { - height: 2.5em; -} -.oo-ui-popupWidget-head .oo-ui-buttonWidget { - margin: 0.25em; -} -.oo-ui-popupWidget-head .oo-ui-labelElement-label { - margin: 0.75em 1em; -} -.oo-ui-popupWidget-body-padded { - padding: 0 1em; -} -.oo-ui-popupButtonWidget { - position: relative; -} -.oo-ui-popupButtonWidget .oo-ui-popupWidget { - position: absolute; - cursor: auto; -} -.oo-ui-popupButtonWidget.oo-ui-buttonElement-frameless > .oo-ui-popupWidget { - left: 1em; -} -.oo-ui-popupButtonWidget.oo-ui-buttonElement-framed > .oo-ui-popupWidget { - left: 1.25em; -} -.oo-ui-textInputWidget { - position: relative; - vertical-align: middle; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - max-width: 50em; -} -.oo-ui-textInputWidget input, -.oo-ui-textInputWidget textarea { - display: inline-block; - width: 100%; - resize: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-textInputWidget > .oo-ui-iconElement-icon, -.oo-ui-textInputWidget > .oo-ui-indicatorElement-indicator { - position: absolute; - top: 0; - height: 100%; - background-repeat: no-repeat; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-textInputWidget > .oo-ui-iconElement-icon { - left: 0; -} -.oo-ui-textInputWidget > .oo-ui-indicatorElement-indicator { - right: 0; -} -.oo-ui-textInputWidget input, -.oo-ui-textInputWidget textarea { - padding: 0.5em; - font-size: 1em; - font-family: sans-serif; - background-color: #ffffff; - color: black; - border: solid 1px #cccccc; - box-shadow: 0 0 0 white, inset 0 0.1em 0.2em #dddddd; - border-radius: 0.25em; - -webkit-transition: border-color 200ms, box-shadow 200ms; - -moz-transition: border-color 200ms, box-shadow 200ms; - -ms-transition: border-color 200ms, box-shadow 200ms; - -o-transition: border-color 200ms, box-shadow 200ms; - transition: border-color 200ms, box-shadow 200ms; -} -.oo-ui-textInputWidget-decorated input, -.oo-ui-textInputWidget-decorated textarea { - padding-left: 2em; -} -.oo-ui-textInputWidget-icon { - width: 2em; -} -.oo-ui-textInputWidget.oo-ui-widget-enabled input:focus, -.oo-ui-textInputWidget.oo-ui-widget-enabled textarea:focus { - outline: none; - border-color: #a7dcff; - box-shadow: 0 0 0.3em #a7dcff, 0 0 0 white; -} -.oo-ui-textInputWidget.oo-ui-widget-enabled input[readonly], -.oo-ui-textInputWidget.oo-ui-widget-enabled textarea[readonly] { - color: #777777; -} -.oo-ui-textInputWidget.oo-ui-widget-disabled input, -.oo-ui-textInputWidget.oo-ui-widget-disabled textarea { - color: #cccccc; - text-shadow: 0 1px 1px #ffffff; - border-color: #dddddd; - background-color: #f3f3f3; -} -.oo-ui-textInputWidget.oo-ui-pendingElement-pending input, -.oo-ui-textInputWidget.oo-ui-pendingElement-pending textarea { - background-color: transparent; - background-image: /* @embed */ url(themes/apex/images/textures/pending.gif); -} -.oo-ui-textInputWidget .oo-ui-iconElement-icon, -.oo-ui-textInputWidget .oo-ui-indicatorElement-indicator { - opacity: 0.8; -} -.oo-ui-textInputWidget.oo-ui-iconElement input, -.oo-ui-textInputWidget.oo-ui-iconElement textarea { - padding-left: 2em; -} -.oo-ui-textInputWidget.oo-ui-iconElement .oo-ui-iconElement-icon { - width: 2em; - background-position: right center; -} -.oo-ui-textInputWidget.oo-ui-indicatorElement input, -.oo-ui-textInputWidget.oo-ui-indicatorElement textarea { - padding-right: 1.5em; -} -.oo-ui-textInputWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator { - width: 1.5em; - background-position: left center; -} -.oo-ui-menuSelectWidget { - position: absolute; - background: #ffffff; - margin-top: -1px; - border: solid 1px #cccccc; - border-radius: 0 0 0.25em 0.25em; - box-shadow: 0 0.15em 1em 0 rgba(0, 0, 0, 0.2); -} -.oo-ui-menuSelectWidget input { - position: absolute; - width: 0; - height: 0; - overflow: hidden; - opacity: 0; -} -.oo-ui-menuOptionWidget { - position: relative; -} -.oo-ui-menuOptionWidget .oo-ui-iconElement-icon { - display: none; -} -.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { - background-color: transparent; -} -.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon { - display: block; -} -.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { - background-color: transparent; -} -.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, -.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected { - background-color: #e1f3ff; -} -.oo-ui-menuSectionOptionWidget { - cursor: default; - padding: 0.33em 0.75em; - color: #888888; -} -.oo-ui-dropdownWidget { - position: relative; - display: inline-block; - margin: 0.25em 0; - width: 100%; - max-width: 50em; -} -.oo-ui-dropdownWidget-handle { - width: 100%; - display: inline-block; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-dropdownWidget-handle .oo-ui-indicatorElement-indicator, -.oo-ui-dropdownWidget-handle .oo-ui-iconElement-icon { - position: absolute; - background-position: center center; - background-repeat: no-repeat; -} -.oo-ui-dropdownWidget .oo-ui-menuSelectWidget { - z-index: 1; - width: 100%; -} -.oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { - cursor: default; -} -.oo-ui-dropdownWidget-handle { - height: 2.5em; - border: solid 1px rgba(0, 0, 0, 0.1); - border-radius: 0.25em; -} -.oo-ui-dropdownWidget-handle:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-dropdownWidget-handle .oo-ui-indicatorElement-indicator { - right: 0; -} -.oo-ui-dropdownWidget-handle .oo-ui-iconElement-icon { - left: 0.25em; -} -.oo-ui-dropdownWidget-handle .oo-ui-labelElement-label { - line-height: 2.5em; - margin: 0 0.5em; -} -.oo-ui-dropdownWidget-handle .oo-ui-indicatorElement-indicator, -.oo-ui-dropdownWidget-handle .oo-ui-iconElement-icon { - top: 0; - width: 2.5em; - height: 2.5em; - opacity: 0.8; -} -.oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { - color: #cccccc; - text-shadow: 0 1px 1px #ffffff; - border-color: #dddddd; - background-color: #f3f3f3; -} -.oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator { - opacity: 0.2; -} -.oo-ui-dropdownWidget.oo-ui-iconElement .oo-ui-dropdownWidget-handle .oo-ui-labelElement-label { - margin-left: 3em; -} -.oo-ui-dropdownWidget.oo-ui-indicatorElement .oo-ui-dropdownWidget-handle .oo-ui-labelElement-label { - margin-right: 2em; -} -.oo-ui-outlineOptionWidget { - position: relative; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - font-size: 1.1em; - padding: 0.75em; -} -.oo-ui-outlineOptionWidget.oo-ui-indicatorElement .oo-ui-labelElement-label { - padding-right: 1.5em; -} -.oo-ui-outlineOptionWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator { - opacity: 0.5; -} -.oo-ui-outlineOptionWidget-level-0 { - padding-left: 3.5em; -} -.oo-ui-outlineOptionWidget-level-0 .oo-ui-iconElement-icon { - left: 1em; -} -.oo-ui-outlineOptionWidget-level-1 { - padding-left: 5em; -} -.oo-ui-outlineOptionWidget-level-1 .oo-ui-iconElement-icon { - left: 2.5em; -} -.oo-ui-outlineOptionWidget-level-2 { - padding-left: 6.5em; -} -.oo-ui-outlineOptionWidget-level-2 .oo-ui-iconElement-icon { - left: 4em; -} -.oo-ui-selectWidget-depressed .oo-ui-outlineOptionWidget.oo-ui-optionWidget-selected { - background-color: #a7dcff; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5); -} -.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-important { - font-weight: bold; -} -.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-placeholder { - font-style: italic; -} -.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty .oo-ui-iconElement-icon { - opacity: 0.5; -} -.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty .oo-ui-labelElement-label { - color: #777777; -} -.oo-ui-outlineControlsWidget { - height: 3em; - background-color: #ffffff; -} -.oo-ui-outlineControlsWidget-items, -.oo-ui-outlineControlsWidget-movers { - float: left; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-outlineControlsWidget > .oo-ui-iconElement-icon { - float: left; - background-position: right center; - background-repeat: no-repeat; -} -.oo-ui-outlineControlsWidget-items { - float: left; -} -.oo-ui-outlineControlsWidget-items .oo-ui-buttonWidget { - float: left; -} -.oo-ui-outlineControlsWidget-movers { - float: right; -} -.oo-ui-outlineControlsWidget-movers .oo-ui-buttonWidget { - float: right; -} -.oo-ui-outlineControlsWidget-items, -.oo-ui-outlineControlsWidget-movers { - height: 2em; - margin: 0.5em 0.5em 0.5em 0; - padding: 0; -} -.oo-ui-outlineControlsWidget > .oo-ui-iconElement-icon { - width: 1.5em; - height: 2em; - margin: 0.5em 0 0.5em 0.5em; - opacity: 0.2; -} -.oo-ui-comboBoxWidget { - display: inline-block; - position: relative; - width: 100%; - max-width: 50em; -} -.oo-ui-comboBoxWidget > .oo-ui-selectWidget { - width: 100%; - z-index: 1; -} -.oo-ui-comboBoxWidget-handle { - border: solid 1px rgba(0, 0, 0, 0.1); - border-radius: 0.25em; -} -.oo-ui-comboBoxWidget-handle:hover { - border-color: rgba(0, 0, 0, 0.2); -} -.oo-ui-comboBoxWidget.oo-ui-widget-disabled .oo-ui-textInputWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator, -.oo-ui-comboBoxWidget-empty .oo-ui-textInputWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator { - cursor: default; - opacity: 0.2; -} -.oo-ui-comboBoxWidget > .oo-ui-selectWidget { - margin-top: -3px; -} -.oo-ui-searchWidget-query { - position: absolute; - top: 0; - left: 0; - right: 0; -} -.oo-ui-searchWidget-query .oo-ui-textInputWidget { - width: 100%; -} -.oo-ui-searchWidget-results { - position: absolute; - bottom: 0; - left: 0; - right: 0; - overflow-x: hidden; - overflow-y: auto; -} -.oo-ui-searchWidget-query { - height: 4em; - padding: 0 1em; - box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.2); -} -.oo-ui-searchWidget-query .oo-ui-textInputWidget { - margin: 0.75em 0; -} -.oo-ui-searchWidget-results { - top: 4em; - padding: 1em; - line-height: 0; -} -.oo-ui-window { - line-height: 1em; -} -.oo-ui-window-frame { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-window-frame > iframe { - width: 100%; - height: 100%; - margin: 0; - padding: 0; -} -.oo-ui-window-content:focus { - outline: none; -} -.oo-ui-window-head, -.oo-ui-window-foot { - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.oo-ui-window-body { - margin: 0; - padding: 0; - background: none; -} -.oo-ui-window-overlay, -.oo-ui-window-inner-overlay { - position: absolute; - top: 0; - /* @noflip */ - left: 0; -} -.oo-ui-window, -.oo-ui-window-isolated { - background-color: transparent; - background-image: none; - font-family: sans-serif; - font-size: 0.8em; -} -.oo-ui-dialog-content > .oo-ui-window-head, -.oo-ui-dialog-content > .oo-ui-window-body, -.oo-ui-dialog-content > .oo-ui-window-foot { - position: absolute; - left: 0; - right: 0; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.oo-ui-dialog-content > .oo-ui-window-head { - z-index: 1; - top: 0; -} -.oo-ui-dialog-content > .oo-ui-window-body { - z-index: 2; - top: 0; - bottom: 0; -} -.oo-ui-dialog-content > .oo-ui-window-foot { - z-index: 1; - bottom: 0; -} -.oo-ui-dialog-content > .oo-ui-window-inner-overlay { - z-index: 3; -} -.oo-ui-dialog-content > .oo-ui-window-body { - box-shadow: 0 0 0.66em rgba(0, 0, 0, 0.25); -} -.oo-ui-messageDialog-actions-horizontal { - display: table; - table-layout: fixed; - width: 100%; -} -.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { - display: table-cell; - width: 1%; -} -.oo-ui-messageDialog-actions-vertical { - display: block; -} -.oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { - display: block; - overflow: hidden; - text-overflow: ellipsis; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget { - position: relative; - text-align: center; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-buttonElement-button { - display: block; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label { - position: relative; - top: auto; - bottom: auto; - display: inline; - white-space: nowrap; -} -.oo-ui-messageDialog-content .oo-ui-window-body { - box-shadow: 0 0 0.33em rgba(0, 0, 0, 0.33); -} -.oo-ui-messageDialog-title, -.oo-ui-messageDialog-message { - display: block; - text-align: center; - padding-top: 0.5em; -} -.oo-ui-messageDialog-title { - font-size: 1.5em; - line-height: 1em; - color: #000000; -} -.oo-ui-messageDialog-message { - font-size: 0.9em; - line-height: 1.25em; - color: #666666; -} -.oo-ui-messageDialog-message-verbose { - font-size: 1.1em; - line-height: 1.5em; - text-align: left; -} -.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { - border-right: solid 1px #e5e5e5; -} -.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget:last-child { - border-right-width: 0; -} -.oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { - border-bottom: solid 1px #e5e5e5; -} -.oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child { - border-bottom-width: 0; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget { - height: 3.4em; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement .oo-ui-labelElement-label { - text-align: center; - line-height: 3.4em; - padding: 0 2em; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget:hover { - background-color: rgba(0, 0, 0, 0.05); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget:active { - background-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:hover { - background-color: rgba(8, 126, 204, 0.05); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:active { - background-color: rgba(8, 126, 204, 0.1); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-progressive .oo-ui-labelElement-label { - font-weight: bold; -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:hover { - background-color: rgba(118, 171, 54, 0.05); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:active { - background-color: rgba(118, 171, 54, 0.1); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:hover { - background-color: rgba(212, 83, 83, 0.05); -} -.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active { - background-color: rgba(212, 83, 83, 0.1); -} -.oo-ui-processDialog-location { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.oo-ui-processDialog-title { - display: inline; - padding: 0; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget { - white-space: nowrap; -} -.oo-ui-processDialog-actions-safe, -.oo-ui-processDialog-actions-primary { - position: absolute; - top: 0; - bottom: 0; -} -.oo-ui-processDialog-actions-safe { - left: 0; -} -.oo-ui-processDialog-actions-primary { - right: 0; -} -.oo-ui-processDialog-errors { - display: none; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 2; - overflow-x: hidden; - overflow-y: auto; -} -.oo-ui-processDialog-content .oo-ui-window-head { - height: 3.4em; -} -.oo-ui-processDialog-content .oo-ui-window-head.oo-ui-pendingElement-pending { - background-image: /* @embed */ url(themes/apex/images/textures/pending.gif); -} -.oo-ui-processDialog-content .oo-ui-window-body { - top: 3.4em; - box-shadow: 0 0 0.33em rgba(0, 0, 0, 0.33); -} -.oo-ui-processDialog-navigation { - position: relative; - height: 3.4em; - padding: 0 1em; -} -.oo-ui-processDialog-location { - padding: 0.75em 0; - height: 1.9em; - cursor: default; - text-align: center; -} -.oo-ui-processDialog-title { - font-weight: bold; - line-height: 1.9em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-buttonElement-button, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget .oo-ui-buttonElement-button, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-buttonElement-button { - min-width: 1.9em; - min-height: 1.9em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-labelElement-label, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget .oo-ui-labelElement-label, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-labelElement-label { - line-height: 1.9em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement .oo-ui-iconElement-icon, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement .oo-ui-iconElement-icon, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-iconElement .oo-ui-iconElement-icon { - margin-top: -0.125em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-framed, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-framed, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-buttonElement-framed { - margin: 0.75em 0 0.75em 0.75em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button, -.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button { - padding: 0 1em; - vertical-align: middle; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget:hover, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget:hover { - background-color: rgba(0, 0, 0, 0.05); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget:active, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget:active { - background-color: rgba(0, 0, 0, 0.1); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-framed, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-framed { - margin: 0.75em; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button { - /* Adjust for border so text aligns with title */ - margin: -1px; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:hover, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:hover { - background-color: rgba(8, 126, 204, 0.05); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:active, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-progressive:active { - background-color: rgba(8, 126, 204, 0.1); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-progressive .oo-ui-labelElement-label, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-progressive .oo-ui-labelElement-label { - font-weight: bold; -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:hover, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:hover { - background-color: rgba(118, 171, 54, 0.05); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:active, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-constructive:active { - background-color: rgba(118, 171, 54, 0.1); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:hover, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:hover { - background-color: rgba(212, 83, 83, 0.05); -} -.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active, -.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active { - background-color: rgba(212, 83, 83, 0.1); -} -.oo-ui-processDialog > .oo-ui-window-frame { - min-height: 5em; -} -.oo-ui-processDialog-errors { - background-color: rgba(255, 255, 255, 0.9); - padding: 3em 3em 1.5em 3em; - text-align: center; -} -.oo-ui-processDialog-errors .oo-ui-buttonWidget { - margin: 2em 1em 2em 1em; -} -.oo-ui-processDialog-errors-title { - font-size: 1.5em; - color: #000000; - margin-bottom: 2em; -} -.oo-ui-processDialog-error { - text-align: left; - margin: 1em; - padding: 1em; - border: solid 1px #ff9e9e; - background-color: #fff7f7; - border-radius: 0.25em; -} -.oo-ui-windowManager-modal > .oo-ui-dialog { - position: fixed; - width: 0; - height: 0; - overflow: hidden; -} -.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load { - width: auto; - height: auto; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1em; -} -.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > .oo-ui-window-frame { - position: absolute; - right: 0; - left: 0; - margin: auto; - overflow: hidden; - max-width: 100%; - max-height: 100%; - visibility: visible; -} -.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > .oo-ui-window-frame > iframe { - width: 100%; - height: 100%; -} -.oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { - visibility: hidden; -} -.oo-ui-windowManager-fullscreen > .oo-ui-dialog > .oo-ui-window-frame { - width: 100%; - height: 100%; - top: 0; - bottom: 0; -} -.oo-ui-windowManager-modal > .oo-ui-dialog { - background-color: rgba(255, 255, 255, 0.5); - opacity: 0; - -webkit-transition: opacity 250ms ease-in-out; - -moz-transition: opacity 250ms ease-in-out; - -ms-transition: opacity 250ms ease-in-out; - -o-transition: opacity 250ms ease-in-out; - transition: opacity 250ms ease-in-out; -} -.oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { - top: 1em; - bottom: 1em; - background-color: #ffffff; - -webkit-transform: scale(0.5); - -moz-transform: scale(0.5); - -ms-transform: scale(0.5); - -o-transform: scale(0.5); - transform: scale(0.5); - -webkit-transition: all 250ms ease-in-out; - -moz-transition: all 250ms ease-in-out; - -ms-transition: all 250ms ease-in-out; - -o-transition: all 250ms ease-in-out; - transition: all 250ms ease-in-out; -} -.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load { - opacity: 1; -} -.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > .oo-ui-window-frame { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -.oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { - border: solid 1px #cccccc; - border-radius: 0.5em; - box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.3); -} - -.oo-ui-icon-add { - background-image: /* @embed */ url(themes/apex/images/icons/add.svg); -} -.oo-ui-icon-advanced { - background-image: /* @embed */ url(themes/apex/images/icons/advanced.svg); -} -.oo-ui-icon-alert { - background-image: /* @embed */ url(themes/apex/images/icons/alert.svg); -} -.oo-ui-icon-check { - background-image: /* @embed */ url(themes/apex/images/icons/check.svg); -} -.oo-ui-icon-clear { - background-image: /* @embed */ url(themes/apex/images/icons/clear.svg); -} -.oo-ui-icon-close { - background-image: /* @embed */ url(themes/apex/images/icons/close.svg); -} -.oo-ui-icon-code { - background-image: /* @embed */ url(themes/apex/images/icons/code.svg); -} -.oo-ui-icon-collapse { - background-image: /* @embed */ url(themes/apex/images/icons/collapse.svg); -} -.oo-ui-icon-comment { - background-image: /* @embed */ url(themes/apex/images/icons/comment.svg); -} -.oo-ui-icon-expand { - background-image: /* @embed */ url(themes/apex/images/icons/expand.svg); -} -.oo-ui-icon-help { - background-image: /* @embed */ url(themes/apex/images/icons/help.svg); -} -.oo-ui-icon-info { - background-image: /* @embed */ url(themes/apex/images/icons/info.svg); -} -.oo-ui-icon-link { - background-image: /* @embed */ url(themes/apex/images/icons/link.svg); -} -.oo-ui-icon-menu { - background-image: /* @embed */ url(themes/apex/images/icons/menu.svg); -} -.oo-ui-icon-next { - background-image: /* @embed */ url(themes/apex/images/icons/move-ltr.svg); -} -.oo-ui-icon-picture { - background-image: /* @embed */ url(themes/apex/images/icons/picture.svg); -} -.oo-ui-icon-previous { - background-image: /* @embed */ url(themes/apex/images/icons/move-rtl.svg); -} -.oo-ui-icon-redo { - background-image: /* @embed */ url(themes/apex/images/icons/arched-arrow-ltr.svg); -} -.oo-ui-icon-remove { - background-image: /* @embed */ url(themes/apex/images/icons/remove.svg); -} -.oo-ui-icon-search { - background-image: /* @embed */ url(themes/apex/images/icons/search.svg); -} -.oo-ui-icon-settings { - background-image: /* @embed */ url(themes/apex/images/icons/settings.svg); -} -.oo-ui-icon-tag { - background-image: /* @embed */ url(themes/apex/images/icons/tag.svg); -} -.oo-ui-icon-undo { - background-image: /* @embed */ url(themes/apex/images/icons/arched-arrow-rtl.svg); -} -.oo-ui-icon-window { - background-image: /* @embed */ url(themes/apex/images/icons/window.svg); -} -.oo-ui-indicator-alert { - background-image: /* @embed */ url(themes/apex/images/indicators/alert.svg); -} -.oo-ui-indicator-up { - background-image: /* @embed */ url(themes/apex/images/indicators/arrow-up.svg); -} -.oo-ui-indicator-down { - background-image: /* @embed */ url(themes/apex/images/indicators/arrow-down.svg); -} -.oo-ui-indicator-next { - background-image: /* @embed */ url(themes/apex/images/indicators/arrow-ltr.svg); -} -.oo-ui-indicator-previous { - background-image: /* @embed */ url(themes/apex/images/indicators/arrow-rtl.svg); -} -.oo-ui-indicator-required { - background-image: /* @embed */ url(themes/apex/images/indicators/required.svg); -} -.oo-ui-texture-pending { - background-image: /* @embed */ url(themes/apex/images/textures/pending.gif); -} -.oo-ui-texture-transparency { - background-image: /* @embed */ url(themes/apex/images/textures/transparency.svg); -} diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/add.png b/resources/lib/oojs-ui/themes/apex/images/icons/add.png deleted file mode 100644 index 730d1029a4..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/add.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/add.svg b/resources/lib/oojs-ui/themes/apex/images/icons/add.svg deleted file mode 100644 index 29e5dba8c6..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/add.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="add"> - <path id="plus" d="M13 8h-2v3h-3v2h3v3h2v-3h3v-2h-3z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/advanced.png b/resources/lib/oojs-ui/themes/apex/images/icons/advanced.png deleted file mode 100644 index 514ff1dbad..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/advanced.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/advanced.svg b/resources/lib/oojs-ui/themes/apex/images/icons/advanced.svg deleted file mode 100644 index 201b4d7347..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/advanced.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="settings"> - <path id="gear" d="M20.869 13.476c.079-.482.131-.972.131-1.476s-.052-.994-.131-1.476l-2.463-.259c-.149-.556-.367-1.082-.648-1.57l1.558-1.924c-.576-.806-1.281-1.511-2.087-2.087l-1.924 1.558c-.488-.281-1.015-.499-1.57-.648l-.259-2.463c-.482-.079-.972-.131-1.476-.131s-.994.052-1.476.131l-.259 2.463c-.555.149-1.081.367-1.57.648l-1.924-1.557c-.805.576-1.51 1.281-2.086 2.086l1.558 1.924c-.281.488-.499 1.015-.648 1.57l-2.463.259c-.08.482-.132.972-.132 1.476s.052.994.131 1.476l2.463.259c.149.556.367 1.082.648 1.57l-1.558 1.924c.576.806 1.281 1.511 2.087 2.087l1.924-1.558c.488.281 1.015.499 1.57.648l.259 2.463c.482.079.972.131 1.476.131s.994-.052 1.476-.131l.259-2.463c.556-.149 1.082-.367 1.57-.648l1.924 1.558c.806-.576 1.511-1.281 2.087-2.087l-1.558-1.924c.281-.488.499-1.015.648-1.57l2.463-.259zm-8.869 2.522c-2.209 0-3.998-1.789-3.998-3.998s1.789-3.998 3.998-3.998 3.998 1.789 3.998 3.998-1.789 3.998-3.998 3.998z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/alert.png b/resources/lib/oojs-ui/themes/apex/images/icons/alert.png deleted file mode 100644 index e98a14a947..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/alert.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/alert.svg b/resources/lib/oojs-ui/themes/apex/images/icons/alert.svg deleted file mode 100644 index f0c652245c..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/alert.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="alert"> - <path id="point" d="M11 16h2v2h-2z"/> - <path id="stroke" d="M13.516 10h-3l.484 5h2z"/> - <path id="triangle" d="M12.017 5.974l7.519 13.026h-15.04l7.521-13.026m0-2.474c-.544 0-1.088.357-1.5 1.071l-7.985 13.831c-.825 1.429-.15 2.598 1.5 2.598h15.968c1.65 0 2.325-1.169 1.5-2.599l-7.983-13.829c-.413-.715-.956-1.072-1.5-1.072z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.png b/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.png deleted file mode 100644 index 88db108921..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.svg b/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.svg deleted file mode 100644 index 8a670ef209..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="arched-arrow-ltr"> - <path id="arrow" d="M19.925 14.937l-2.391-6.901-1.48 2.329c-.964-.845-2.699-1.85-5.513-1.823-4.887.046-6.524 4.244-6.524 4.244s2.753-2.639 6.925-1.949c1.729.286 3.007 1.206 3.675 1.791l-1.474 2.319 6.782-.01z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-rtl.png b/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-rtl.png deleted file mode 100644 index 0afcbfa558..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-rtl.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-rtl.svg b/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-rtl.svg deleted file mode 100644 index 01fc216be5..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-rtl.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="arched-arrow-rtl"> - <path id="arrow" d="M13.401 8.542c-2.814-.027-4.549.978-5.513 1.823l-1.48-2.329-2.391 6.901 6.782.009-1.474-2.319c.668-.584 1.945-1.504 3.675-1.791 4.172-.69 6.925 1.949 6.925 1.949s-1.637-4.197-6.524-4.243z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/check.png b/resources/lib/oojs-ui/themes/apex/images/icons/check.png deleted file mode 100644 index 9a2c9dbff0..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/check.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/check.svg b/resources/lib/oojs-ui/themes/apex/images/icons/check.svg deleted file mode 100644 index 8d4a1f8b8c..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/check.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0, 0, 24, 24"> - <g id="check"> - <path d="M7.105 13.473l1.422-1.423 1.901 1.902 4.81-6.952 1.657 1.148-6.26 8.852z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/clear.png b/resources/lib/oojs-ui/themes/apex/images/icons/clear.png deleted file mode 100644 index 51a33ff801..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/clear.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/clear.svg b/resources/lib/oojs-ui/themes/apex/images/icons/clear.svg deleted file mode 100644 index 0dcde9d182..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/clear.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="clear"> - <path id="circle-with-strike" d="M11.999 5.022c-3.853 0-6.977 3.124-6.977 6.978 0 3.853 3.124 6.978 6.977 6.978 3.854 0 6.979-3.125 6.979-6.978 0-3.854-3.125-6.978-6.979-6.978zm-5.113 6.978c0-1.092.572-3.25.93-2.929l7.113 7.113c.488.525-1.837.931-2.93.931-2.825-.001-5.113-2.291-5.113-5.115zm9.298 2.929l-7.114-7.113c-.445-.483 1.837-.931 2.929-.931 2.827 0 5.115 2.289 5.115 5.114 0 1.093-.364 3.543-.93 2.93z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/close.png b/resources/lib/oojs-ui/themes/apex/images/icons/close.png deleted file mode 100644 index 4eedfbceb3..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/close.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/close.svg b/resources/lib/oojs-ui/themes/apex/images/icons/close.svg deleted file mode 100644 index 1345e86771..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/close.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="close"> - <path id="x" d="M18.717 6.697l-1.414-1.414-5.303 5.303-5.303-5.303-1.414 1.414 5.303 5.303-5.303 5.303 1.414 1.414 5.303-5.303 5.303 5.303 1.414-1.414-5.303-5.303z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/code.png b/resources/lib/oojs-ui/themes/apex/images/icons/code.png deleted file mode 100644 index ee58c9a723..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/code.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/code.svg b/resources/lib/oojs-ui/themes/apex/images/icons/code.svg deleted file mode 100644 index 32f140d987..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/code.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"> - <g id="code"> - <path id="left-bracket" d="M4 12v-1h1c1 0 1 0 1-1v-2.386c0-.514.024-.896.073-1.142.054-.252.139-.463.257-.633.204-.279.473-.475.808-.584.335-.115.872-.255 1.835-.255h1.027v1h-.752c-.457 0-.77.191-.936.408-.167.215-.312.445-.312 1.068v1.857c0 .729-.041 1.18-.244 1.493-.2.307-.562.529-1.09.667.535.155.9.385 1.096.688.199.303.238.757.238 1.484v1.862c0 .619.145.848.312 1.062.166.22.479.407.936.407l.752.004v1h-1.027c-.963 0-1.5-.133-1.835-.248-.335-.109-.604-.307-.808-.591-.118-.165-.203-.374-.257-.625-.049-.253-.073-.636-.073-1.149v-2.387c0-1 0-1-1-1h-1z"/> - <use transform="matrix(-1 0 0 1 24 0)" id="right-bracket" width="24" height="24" xlink:href="#left-bracket"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/collapse.png b/resources/lib/oojs-ui/themes/apex/images/icons/collapse.png deleted file mode 100644 index 353ac79803..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/collapse.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/collapse.svg b/resources/lib/oojs-ui/themes/apex/images/icons/collapse.svg deleted file mode 100644 index 55aa8f8f9a..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/collapse.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="collapse"> - <path id="arrow" d="M6.697 15.714l5.303-5.302 5.303 5.302 1.414-1.414-6.717-6.717-6.717 6.717z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/comment.png b/resources/lib/oojs-ui/themes/apex/images/icons/comment.png deleted file mode 100644 index 265a3e4135..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/comment.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/comment.svg b/resources/lib/oojs-ui/themes/apex/images/icons/comment.svg deleted file mode 100644 index 0ae7e63f6c..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/comment.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="comment"> - <path id="speech-bubble" d="M15 6h-6c-1.657 0-3 1.344-3 3v4c0 1.656 1.343 3 3 3v3l3-3h3c1.657 0 3-1.344 3-3v-4c0-1.656-1.343-3-3-3z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/expand.png b/resources/lib/oojs-ui/themes/apex/images/icons/expand.png deleted file mode 100644 index 9073d243c9..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/expand.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/expand.svg b/resources/lib/oojs-ui/themes/apex/images/icons/expand.svg deleted file mode 100644 index 7666b41d60..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/expand.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="expand"> - <path id="arrow" d="M17.303 8.283l-5.303 5.303-5.303-5.303-1.414 1.414 6.717 6.717 6.717-6.717z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/help.png b/resources/lib/oojs-ui/themes/apex/images/icons/help.png deleted file mode 100644 index b80df009be..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/help.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/help.svg b/resources/lib/oojs-ui/themes/apex/images/icons/help.svg deleted file mode 100644 index bb2545c58b..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/help.svg +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="help"> - <path id="circle" d="M12.001 2.085c-5.478 0-9.916 4.438-9.916 9.916 0 5.476 4.438 9.914 9.916 9.914 5.476 0 9.914-4.438 9.914-9.914 0-5.478-4.438-9.916-9.914-9.916zm.001 18c-4.465 0-8.084-3.619-8.084-8.083 0-4.465 3.619-8.084 8.084-8.084 4.464 0 8.083 3.619 8.083 8.084 0 4.464-3.619 8.083-8.083 8.083z"/> - <g id="question-mark"> - <path id="top" d="M11.766 6.688c-2.5 0-3.219 2.188-3.219 2.188l1.411.854s.298-.791.901-1.229c.516-.375 1.625-.625 2.219.125.701.885-.17 1.587-1.078 2.719-.953 1.186-1 3.655-1 3.655h1.969s.135-2.318 1.041-3.381c.603-.707 1.443-1.338 1.443-2.494s-1.187-2.437-3.687-2.437z"/> - <path id="bottom" d="M11 16h2v2h-2z"/> - </g> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/info.png b/resources/lib/oojs-ui/themes/apex/images/icons/info.png deleted file mode 100644 index eb0fb46888..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/info.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/info.svg b/resources/lib/oojs-ui/themes/apex/images/icons/info.svg deleted file mode 100644 index 9c0d1cbc26..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/info.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0, 0, 24, 24"> - <g id="info"> - <path id="circled-i" d="M11.499 17c-3.036 0-5.499-2.464-5.499-5.5 0-3.037 2.462-5.5 5.499-5.5 3.037 0 5.501 2.462 5.501 5.5 0 3.036-2.464 5.5-5.501 5.5zm.002-12c-3.591 0-6.501 2.91-6.501 6.5s2.91 6.5 6.501 6.5c3.588 0 6.499-2.911 6.499-6.5s-2.911-6.5-6.499-6.5zM12 10v4h1v1h-3v-1h1v-3h-1v-1zM11 8h1v1h-1z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/link.png b/resources/lib/oojs-ui/themes/apex/images/icons/link.png deleted file mode 100644 index 2a087a4bef..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/link.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/link.svg b/resources/lib/oojs-ui/themes/apex/images/icons/link.svg deleted file mode 100644 index dbae3414bc..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/link.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="link"> - <path id="right" d="M19.188 12.001c0 1.1-.891 2.015-1.988 2.015l-4.195-.015c.538 1.088.963 1.999 1.997 1.999h3c1.656 0 2.998-2.343 2.998-4s-1.342-4-2.998-4h-3c-1.034 0-1.459.911-1.998 1.999l4.195-.015c1.098 0 1.989.917 1.989 2.017z"/> - <path id="center" d="M8 12c0 .535.42 1 .938 1h6.109c.518 0 .938-.465.938-1 0-.534-.42-1-.938-1h-6.109c-.518 0-.938.466-.938 1z"/> - <path id="left" d="M4.816 11.999c0-1.1.891-2.015 1.988-2.015l4.196.015c-.539-1.088-.964-1.999-1.998-1.999h-3c-1.656 0-2.998 2.343-2.998 4s1.342 4 2.998 4h3c1.034 0 1.459-.911 1.998-1.999l-4.195.015c-1.098 0-1.989-.917-1.989-2.017z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/menu.png b/resources/lib/oojs-ui/themes/apex/images/icons/menu.png deleted file mode 100644 index 0a781199fc..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/menu.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/menu.svg b/resources/lib/oojs-ui/themes/apex/images/icons/menu.svg deleted file mode 100644 index 50ac8a3981..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/menu.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="menu"> - <path id="lines" d="M6 15h12c.553 0 1 .447 1 1v1c0 .553-.447 1-1 1h-12c-.553 0-1-.447-1-1v-1c0-.553.447-1 1-1zm-1-4v1c0 .553.447 1 1 1h12c.553 0 1-.447 1-1v-1c0-.553-.447-1-1-1h-12c-.553 0-1 .447-1 1zm0-5v1c0 .553.447 1 1 1h12c.553 0 1-.447 1-1v-1c0-.553-.447-1-1-1h-12c-.553 0-1 .447-1 1z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/move-ltr.png b/resources/lib/oojs-ui/themes/apex/images/icons/move-ltr.png deleted file mode 100644 index fc4cd39088..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/move-ltr.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/move-ltr.svg b/resources/lib/oojs-ui/themes/apex/images/icons/move-ltr.svg deleted file mode 100644 index 51e6611afb..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/move-ltr.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="move-ltr"> - <path id="arrow" d="M8.935 7.181l5.302 5.302-5.302 5.303 1.414 1.414 6.716-6.717-6.716-6.716z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.png b/resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.png deleted file mode 100644 index dbce05ecb9..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.svg b/resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.svg deleted file mode 100644 index bcee09d96e..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="move-rtl"> - <path id="arrow" d="M15.065 17.786l-5.302-5.303 5.302-5.302-1.414-1.414-6.716 6.716 6.716 6.717z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/picture.png b/resources/lib/oojs-ui/themes/apex/images/icons/picture.png deleted file mode 100644 index 2043424844..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/picture.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/picture.svg b/resources/lib/oojs-ui/themes/apex/images/icons/picture.svg deleted file mode 100644 index 7400bca974..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/picture.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="picture"> - <path id="frame" d="M18 4h-12c-2-.007-3 .993-3 2.993l.014 9.007c-.014 2 .986 2.988 2.986 3h12c2-.012 2.994-1 3-3.006v-9.001c-.006-2-1-3-3-2.993zm1 13h-14v-11h14v11z"/> - <path id="mountains" d="M6 13.5l3.5-3.5 2.328 2.312-1.312 1.094.875 1.032 4.109-3.438 2.5 2v3h-12z"/> - <path id="sky" d="M6 12l3.516-4.156 3.046 3.172 2.938-2.016 2.5 2v-4h-12z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/remove.png b/resources/lib/oojs-ui/themes/apex/images/icons/remove.png deleted file mode 100644 index 9dc34b8af5..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/remove.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/remove.svg b/resources/lib/oojs-ui/themes/apex/images/icons/remove.svg deleted file mode 100644 index 6ad791744e..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/remove.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="remove"> - <path id="trash-can" d="M12 10h-1v6h1v-6zm-2 0h-1v6h1v-6zm4 0h-1v6h1v-6zm0-4v-1h-5v1h-3v3h1v7.966l1 1.031v-.074.077h6.984l.016-.018v.015l1-1.031v-7.966h1v-3h-3zm1 11h-7v-8h7v8zm1-9h-9v-1h9v1z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/search.png b/resources/lib/oojs-ui/themes/apex/images/icons/search.png deleted file mode 100644 index 39d3ab8c50..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/search.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/search.svg b/resources/lib/oojs-ui/themes/apex/images/icons/search.svg deleted file mode 100644 index e4db4f0d07..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/search.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="search"> - <path id="magnifying-glass" d="M16.021 15.96l-2.374-2.375-.169-.099c.403-.566.643-1.26.643-2.009-.001-1.92-1.558-3.477-3.477-3.477-1.921 0-3.478 1.557-3.478 3.478 0 1.92 1.557 3.477 3.478 3.477.749 0 1.442-.239 2.01-.643l.098.169 2.375 2.374c.19.189.543.143.79-.104s.293-.601.104-.791zm-5.377-2.27c-1.221 0-2.213-.991-2.213-2.213 0-1.221.992-2.213 2.213-2.213 1.222 0 2.213.992 2.213 2.213-.001 1.222-.992 2.213-2.213 2.213z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/settings.png b/resources/lib/oojs-ui/themes/apex/images/icons/settings.png deleted file mode 100644 index dd2706b4af..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/settings.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/settings.svg b/resources/lib/oojs-ui/themes/apex/images/icons/settings.svg deleted file mode 100644 index 9fa0a4b348..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/settings.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0, 0, 24, 24"> - <g id="settings"> - <path id="gear" d="M3 4h3v2h-3zM12 4h9v2h-9zM8 3h2c.552 0 1 .448 1 1v2c0 .552-.448 1-1 1h-2c-.552 0-1-.448-1-1v-2c0-.552.448-1 1-1zM3 11h9v2h-9zM18 11h3v2h-3zM14 10h2c.552 0 1 .448 1 1v2c0 .552-.448 1-1 1h-2c-.552 0-1-.448-1-1v-2c0-.552.448-1 1-1zM3 18h6v2h-6zM15 18h6v2h-6zM11 17h2c.552 0 1 .448 1 1v2c0 .552-.448 1-1 1h-2c-.552 0-1-.448-1-1v-2c0-.552.448-1 1-1z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/tag.png b/resources/lib/oojs-ui/themes/apex/images/icons/tag.png deleted file mode 100644 index 8e100fcbd4..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/tag.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/tag.svg b/resources/lib/oojs-ui/themes/apex/images/icons/tag.svg deleted file mode 100644 index 534824c843..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/tag.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="tag"> - <path d="M18.748 11.717c.389.389.389 1.025 0 1.414l-4.949 4.95c-.389.389-1.025.389-1.414 0l-6.01-6.01c-.389-.389-.707-1.157-.707-1.707l-.001-4.364c0-.55.45-1 1-1h4.364c.55 0 1.318.318 1.707.707l6.01 6.01zm-10.644-4.261c-.579.576-.578 1.514-.001 2.093.578.577 1.516.577 2.095.001.576-.578.576-1.517 0-2.095-.581-.576-1.518-.577-2.094.001z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/window.png b/resources/lib/oojs-ui/themes/apex/images/icons/window.png deleted file mode 100644 index db726a1914..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/window.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/window.svg b/resources/lib/oojs-ui/themes/apex/images/icons/window.svg deleted file mode 100644 index cd3b76c207..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/icons/window.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> - <g id="window"> - <path id="title" d="M7 10h10v1h-10z"/> - <path id="frame" d="M16 19h-8c-2.206 0-4-1.794-4-4v-6c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v6c0 2.206-1.794 4-4 4zm-8-12c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2h8c1.103 0 2-.897 2-2v-6c0-1.103-.897-2-2-2h-8z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/alert.png b/resources/lib/oojs-ui/themes/apex/images/indicators/alert.png deleted file mode 100644 index 5bf082785f..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/alert.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/alert.svg b/resources/lib/oojs-ui/themes/apex/images/indicators/alert.svg deleted file mode 100644 index d9dc6a87e5..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/indicators/alert.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"> - <g id="alert"> - <path d="M6 12c-3.314 0-6-2.686-6-6s2.686-6 6-6 6 2.686 6 6-2.686 6-6 6zm-1-5h2v-5h-2zm0 3h2v-2h-2z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-down.png b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-down.png deleted file mode 100644 index 65747259cd..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-down.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-down.svg b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-down.svg deleted file mode 100644 index bfa8ef0b7c..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-down.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"> - <g id="down"> - <path id="arrow" d="M2 3l3.5 6 3.5-6z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-ltr.png b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-ltr.png deleted file mode 100644 index 7c84397c11..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-ltr.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-ltr.svg b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-ltr.svg deleted file mode 100644 index aeca27a9eb..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-ltr.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"> - <g id="ltr"> - <path id="arrow" d="M3 9v-7l6 3.5z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-rtl.png b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-rtl.png deleted file mode 100644 index 5bf90642a4..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-rtl.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-rtl.svg b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-rtl.svg deleted file mode 100644 index eba0099560..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-rtl.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"> - <g id="rtl"> - <path id="arrow" d="M3 5.5l6 3.5v-7z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-up.png b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-up.png deleted file mode 100644 index 1a05ade6da..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-up.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-up.svg b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-up.svg deleted file mode 100644 index 4b01bb0277..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-up.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"> - <g id="up"> - <path id="arrow" d="M5.5 2l-3.5 6h7z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/required.png b/resources/lib/oojs-ui/themes/apex/images/indicators/required.png deleted file mode 100644 index 45eb03b64f..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/required.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/indicators/required.svg b/resources/lib/oojs-ui/themes/apex/images/indicators/required.svg deleted file mode 100644 index 969fa2d84a..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/indicators/required.svg +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"> - <g id="required"> - <path d="M5 1h2v10h-2zM9.83 2.634l1 1.732-8.66 5-1-1.732zM1.17 4.366l1-1.732 8.66 5-1 1.732z"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/textures/pending.gif b/resources/lib/oojs-ui/themes/apex/images/textures/pending.gif deleted file mode 100644 index 1194eed293..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/textures/pending.gif and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/textures/transparency.png b/resources/lib/oojs-ui/themes/apex/images/textures/transparency.png deleted file mode 100644 index 1843f27d2f..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/textures/transparency.png and /dev/null differ diff --git a/resources/lib/oojs-ui/themes/apex/images/textures/transparency.svg b/resources/lib/oojs-ui/themes/apex/images/textures/transparency.svg deleted file mode 100644 index 63a0b57cfd..0000000000 --- a/resources/lib/oojs-ui/themes/apex/images/textures/transparency.svg +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="16" height="16" viewBox="0, 0, 16, 16"> - <g id="transparency"> - <path d="M0,0 L8,0 L8,8 L0,8 z" fill="#CCCCCC"/> - <path d="M8,8 L16,8 L16,16 L8,16 z" fill="#CCCCCC"/> - <path d="M8,0 L16,0 L16,8 L8,8 z" fill="#FFFFFF"/> - <path d="M0,8 L8,8 L8,16 L0,16 z" fill="#FFFFFF"/> - </g> -</svg> diff --git a/resources/lib/oojs-ui/themes/apex/images/toolbar-shadow.png b/resources/lib/oojs-ui/themes/apex/images/toolbar-shadow.png deleted file mode 100644 index 97e8d13dcd..0000000000 Binary files a/resources/lib/oojs-ui/themes/apex/images/toolbar-shadow.png and /dev/null differ diff --git a/resources/src/jquery.tipsy/jquery.tipsy.js b/resources/src/jquery.tipsy/jquery.tipsy.js index 58a99a59e9..2a37fa86ce 100644 --- a/resources/src/jquery.tipsy/jquery.tipsy.js +++ b/resources/src/jquery.tipsy/jquery.tipsy.js @@ -6,7 +6,7 @@ // * This installation of tipsy includes several local modifications to both Javascript and CSS. // Please be careful when upgrading. -(function($) { +( function ( mw, $ ) { function maybeCall(thing, ctx) { return (typeof thing == 'function') ? (thing.call(ctx)) : thing; @@ -182,11 +182,22 @@ if (!options.live) this.each(function() { get(this); }); - if (options.trigger != 'manual') { - var binder = options.live ? 'live' : 'bind', - eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus', + if ( options.trigger != 'manual' ) { + var eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus', eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur'; - this[binder](eventIn, enter)[binder](eventOut, leave); + if ( options.live ) { + mw.track( 'mw.deprecate', 'tipsy-live' ); + mw.log.warn( 'Use of the "live" option of jquery.tipsy is deprecated.' ); + // XXX: The official status of 'context' is deprecated, and the official status of + // 'selector' is removed, so this really needs to go. + $( this.context ) + .on( eventIn, this.selector, enter ) + .on( eventOut, this.selector, leave ); + } else { + this + .on( eventIn, enter ) + .on( eventOut, leave ); + } } return this; @@ -256,4 +267,4 @@ } }; -})(jQuery); +}( mediaWiki, jQuery ) ); diff --git a/resources/src/jquery/jquery.makeCollapsible.js b/resources/src/jquery/jquery.makeCollapsible.js index 6c7b4d42d4..f7c4217797 100644 --- a/resources/src/jquery/jquery.makeCollapsible.js +++ b/resources/src/jquery/jquery.makeCollapsible.js @@ -330,7 +330,7 @@ .prop( 'tabIndex', 0 ); } } else { - // The toggle-link will be in one the the cells (td or th) of the first row + // The toggle-link will be in one of the cells (td or th) of the first row $firstItem = $collapsible.find( 'tr:first th, tr:first td' ); $toggle = $firstItem.find( '> .mw-collapsible-toggle' ); diff --git a/resources/src/jquery/jquery.tablesorter.js b/resources/src/jquery/jquery.tablesorter.js index 0d3341bd81..3918be7499 100644 --- a/resources/src/jquery/jquery.tablesorter.js +++ b/resources/src/jquery/jquery.tablesorter.js @@ -785,7 +785,7 @@ buildCollationTable(); // Legacy fix of .sortbottoms - // Wrap them inside inside a tfoot (because that's what they actually want to be) & + // Wrap them inside a tfoot (because that's what they actually want to be) // and put the <tfoot> at the end of the <table> var $tfoot, $sortbottoms = $table.find( '> tbody > tr.sortbottom' ); diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.js b/resources/src/mediawiki.action/mediawiki.action.edit.js index f88b83667d..01a25f3b85 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.js @@ -1,27 +1,23 @@ /*! - * Scripts for action=edit + * Scripts for action=edit at domready */ -( function ( mw, $ ) { +jQuery( function ( $ ) { + var editBox, scrollTop, $editForm; - $( function () { - var editBox, scrollTop, $editForm; + // Make sure edit summary does not exceed byte limit + $( '#wpSummary' ).byteLimit( 255 ); - // Make sure edit summary does not exceed byte limit - $( '#wpSummary' ).byteLimit( 255 ); - - // Restore the edit box scroll state following a preview operation, - // and set up a form submission handler to remember this state. - editBox = document.getElementById( 'wpTextbox1' ); - scrollTop = document.getElementById( 'wpScrolltop' ); - $editForm = $( '#editform' ); - if ( $editForm.length && editBox && scrollTop ) { - if ( scrollTop.value ) { - editBox.scrollTop = scrollTop.value; - } - $editForm.submit( function () { - scrollTop.value = editBox.scrollTop; - } ); + // Restore the edit box scroll state following a preview operation, + // and set up a form submission handler to remember this state. + editBox = document.getElementById( 'wpTextbox1' ); + scrollTop = document.getElementById( 'wpScrolltop' ); + $editForm = $( '#editform' ); + if ( $editForm.length && editBox && scrollTop ) { + if ( scrollTop.value ) { + editBox.scrollTop = scrollTop.value; } - } ); - -}( mediaWiki, jQuery ) ); + $editForm.submit( function () { + scrollTop.value = editBox.scrollTop; + } ); + } +} ); diff --git a/resources/src/mediawiki.action/mediawiki.action.view.redirectPage.css b/resources/src/mediawiki.action/mediawiki.action.view.redirectPage.css index 3209c9b340..a92f1c1613 100644 --- a/resources/src/mediawiki.action/mediawiki.action.view.redirectPage.css +++ b/resources/src/mediawiki.action/mediawiki.action.view.redirectPage.css @@ -47,7 +47,7 @@ margin: 0; padding: 0; padding-right: 42px; - background: transparent url(images/nextredirect-rtl.png) bottom left no-repeat; + background: transparent url(images/nextredirect-rtl.png) bottom right no-repeat; /* @embed */ background-image: -webkit-linear-gradient(transparent, transparent), url(images/nextredirect-rtl.svg); /* @embed */ @@ -57,7 +57,7 @@ /* @noflip */ .mw-content-rtl .redirectText li:first-child { padding-right: 47px; - background: transparent url(images/redirect-rtl.png) bottom left no-repeat; + background: transparent url(images/redirect-rtl.png) bottom right no-repeat; /* @embed */ background-image: -webkit-linear-gradient(transparent, transparent), url(images/redirect-rtl.svg); /* @embed */ diff --git a/resources/src/mediawiki.toolbar/toolbar.js b/resources/src/mediawiki.toolbar/toolbar.js index f9944b48d1..70d54ce39b 100644 --- a/resources/src/mediawiki.toolbar/toolbar.js +++ b/resources/src/mediawiki.toolbar/toolbar.js @@ -190,7 +190,7 @@ // This causes further calls to addButton to go to insertion directly // instead of to the queue. // It is important that this is after the one and only loop through - // the the queue + // the queue isReady = true; // Apply to dynamically created textboxes as well as normal ones diff --git a/resources/src/mediawiki/mediawiki.content.json.css b/resources/src/mediawiki/mediawiki.content.json.css index d93e291ecc..4afccda3b5 100644 --- a/resources/src/mediawiki/mediawiki.content.json.css +++ b/resources/src/mediawiki/mediawiki.content.json.css @@ -18,19 +18,20 @@ padding: 0.5em 1em; } -.mw-json td { - background-color: #eee; - font-style: italic; -} - .mw-json .value { background-color: #dcfae3; font-family: monospace, monospace; white-space: pre-wrap; } +.mw-json-empty { + background-color: #fff; + font-style: italic; +} + .mw-json tr { margin-bottom: 0.5em; + background-color: #eee; } .mw-json th { diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index 9235d69be0..40f8ef96a1 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -780,7 +780,7 @@ if ( 'documentMode' in document && document.documentMode <= 9 ) { $style = getMarker().prev(); - // Verify that the the element before Marker actually is a + // Verify that the element before Marker actually is a // <style> tag and one that came from ResourceLoader // (not some other style tag or even a `<meta>` or `<script>`). if ( $style.data( 'ResourceLoaderDynamicStyleTag' ) === true ) { diff --git a/resources/src/mediawiki/mediawiki.notification.js b/resources/src/mediawiki/mediawiki.notification.js index 1968aa9467..132c334f83 100644 --- a/resources/src/mediawiki/mediawiki.notification.js +++ b/resources/src/mediawiki/mediawiki.notification.js @@ -12,7 +12,7 @@ /** * A Notification object for 1 message. * - * The "_" in the name is to avoid a bug (http://github.com/senchalabs/jsduck/issues/304). + * The underscore in the name is to avoid a bug <https://github.com/senchalabs/jsduck/issues/304>. * It is not part of the actual class name. * * @class mw.Notification_ diff --git a/tests/parser/parserTests.txt b/tests/parser/parserTests.txt index c7fc380adb..cf9d829975 100644 --- a/tests/parser/parserTests.txt +++ b/tests/parser/parserTests.txt @@ -540,8 +540,6 @@ Italics and bold: 2-quote opening sequence: (2,2) !! test Italics and bold: 2-quote opening sequence: (2,3) -!! options -parsoid=wt2html !! wikitext ''foo''' !! html/* @@ -549,16 +547,6 @@ parsoid=wt2html </p> !!end -# same html as previous, but wikitext adjusted to match parsoid html2wt -!! test -Italics and bold: 2-quote opening sequence: (2,3) w/ nowiki -!! wikitext -''foo'<nowiki/>'' -!! html -<p><i>foo'</i> -</p> -!! end - !! test Italics and bold: 2-quote opening sequence: (2,4) !! options @@ -615,8 +603,6 @@ Italics and bold: 2-quote opening sequence: (2,5+3) w/ nowiki !! test Italics and bold: 3-quote opening sequence: (3,2) -!! options -parsoid=wt2html !! wikitext '''foo'' !! html/* @@ -624,16 +610,6 @@ parsoid=wt2html </p> !!end -# same html as previous, but wikitext adjusted to match parsoid html2wt -!! test -Italics and bold: 3-quote opening sequence: (3,2) w/ nowiki -!! wikitext -'<nowiki/>''foo'' -!! html -<p>'<i>foo</i> -</p> -!!end - !! test Italics and bold: 3-quote opening sequence: (3,3) !! wikitext @@ -645,8 +621,6 @@ Italics and bold: 3-quote opening sequence: (3,3) !! test Italics and bold: 3-quote opening sequence: (3,4) -!! options -parsoid=wt2html !! wikitext '''foo'''' !! html/* @@ -654,16 +628,6 @@ parsoid=wt2html </p> !!end -# same html as previous, but wikitext adjusted to match parsoid html2wt -!! test -Italics and bold: 3-quote opening sequence: (3,4) w/ nowiki -!! wikitext -'''foo'<nowiki/>''' -!! html -<p><b>foo'</b> -</p> -!! end - # The PHP parser strips the empty tags out for giggles; parsoid doesn't. !! test Italics and bold: 3-quote opening sequence: (3,5) @@ -720,8 +684,6 @@ Italics and bold: 4-quote opening sequence: (4,2) w/ nowiki !! test Italics and bold: 4-quote opening sequence: (4,3) -!! options -parsoid=wt2html !! wikitext ''''foo''' !! html/* @@ -729,16 +691,6 @@ parsoid=wt2html </p> !!end -# same html as previous, but wikitext adjusted to match parsoid html2wt -!! test -Italics and bold: 4-quote opening sequence: (4,3) w/ nowiki -!! wikitext -'<nowiki/>'''foo''' -!! html -<p>'<b>foo</b> -</p> -!!end - !! test Italics and bold: 4-quote opening sequence: (4,4) !! options @@ -849,16 +801,6 @@ parsoid=wt2html </p> !!end -# same html as previous, but wikitext adjusted to match parsoid html2wt -!! test -Italics and bold: 5-quote opening sequence: (5,4+2) w/ nowiki -!! wikitext -'''''foo'<nowiki/>''''' -!! html -<p><i><b>foo'</b></i> -</p> -!! end - !! test Italics and bold: 5-quote opening sequence: (5,5) !! wikitext @@ -868,6 +810,15 @@ Italics and bold: 5-quote opening sequence: (5,5) </p> !!end +!! test +Italics and bold: 5-quote opening sequence: (5,6) +!! wikitext +'''''foo'''''' +!! html/* +<p><i><b>foo'</b></i> +</p> +!! end + ### ### multiple quote sequences in a line ### @@ -1047,8 +998,6 @@ Italics and bold: other quote tests: (3,2,3+2+2,2) !! test Italics and bold: other quote tests: (3,2,3,3) -!! options -parsoid=wt2html !! wikitext '''this is about ''foo'''s family''' !! html/* @@ -1057,17 +1006,6 @@ parsoid=wt2html !!end -# same html as previous, but wikitext adjusted to match parsoid html2wt -!! test -Italics and bold: other quote tests: (3,2,3,3) w/ nowiki -!! wikitext -'<nowiki/>''this is about ''foo'''s family''' -!! html -<p>'<i>this is about </i>foo<b>s family</b> -</p> -!!end - - !! test Italics and bold: other quote tests: (3,(2,2),3) !! wikitext @@ -1082,9 +1020,11 @@ Italics and bold: other quote tests: (3,(2,2),3) Italicized possessive !! wikitext The ''[[Main Page]]'''s talk page. -!! html +!! html/php <p>The <i><a href="/wiki/Main_Page" title="Main Page">Main Page</a>'</i>s talk page. </p> +!! html/parsoid +<p>The <i><a rel="mw:WikiLink" href="Main_Page" title="Main Page">Main Page</a>'</i>s talk page.</p> !! end !! test @@ -3966,6 +3906,76 @@ Definition Lists: Weird Ones: Test 1 </ul> !! end +!! test +Definition Lists: colons occurring in tags +!! wikitext +;a:b +;'''a:b''' +;<i>a:b</i> +;<span>a:b</span> +;<div>a:b</div> +;{{echo|a:b}} +;{{echo|''a:b''}} +!! html +<dl><dt>a</dt> +<dd>b</dd> +<dt><b>a:b</b></dt> +<dt><i>a:b</i></dt> +<dt><span>a:b</span></dt> +<dt><div>a:b</div></dt> +<dt>a</dt> +<dd>b</dd> +<dt><i>a:b</i></dt></dl> + +!! end + +!! test +Definition Lists: colons and tables 1 +!! wikitext +:{| +| x +|} +:{| +| y +|} +!! html +<dl><dd><table> +<tr> +<td> x +</td></tr></table></dd></dl> +<dl><dd><table> +<tr> +<td> y +</td></tr></table></dd></dl> + +!! end + +# Parsoid's output (as documented below) differs from php's in this case. +# This is probably a bug. If we fixup parsoid to match php's output, the +# above test should pass and the below test case can be removed. It is +# unclear which output is more desirable. + +!! test +Definition Lists: colons and tables 2 +!! wikitext +:{| +| x +|} +:{| +| y +|} +!! html/parsoid +<dl><dd><table> +<tr> +<td> x +</td></tr></table></dd> +<dd><table> +<tr> +<td> y +</td></tr></table></dd></dl> +!! end + + ### ### External links ### @@ -4171,6 +4181,13 @@ http://example.com! http://example.com? http://example.com) http://example.com/url_with_(brackets) +(http://example.com/url_without_brackets) +http://example.com/url_with_entity  +http://example.com/url_with_entity  +http://example.com/url_with_entity  +http://example.com/url_with_entity< +http://example.com/url_with_entity< +http://example.com/url_with_entity< !! html <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>, <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>; @@ -4181,6 +4198,13 @@ http://example.com/url_with_(brackets) <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>? <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>) <a rel="nofollow" class="external free" href="http://example.com/url_with_(brackets)">http://example.com/url_with_(brackets)</a> +(<a rel="nofollow" class="external free" href="http://example.com/url_without_brackets">http://example.com/url_without_brackets</a>) +<a rel="nofollow" class="external free" href="http://example.com/url_with_entity ">http://example.com/url_with_entity </a> +<a rel="nofollow" class="external free" href="http://example.com/url_with_entity ">http://example.com/url_with_entity </a> +<a rel="nofollow" class="external free" href="http://example.com/url_with_entity ">http://example.com/url_with_entity </a> +<a rel="nofollow" class="external free" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a>< +<a rel="nofollow" class="external free" href="http://example.com/url_with_entity%3C">http://example.com/url_with_entity%3C</a> +<a rel="nofollow" class="external free" href="http://example.com/url_with_entity%3C">http://example.com/url_with_entity%3C</a> </p> !! end @@ -8910,6 +8934,19 @@ This is RFC 822 but thisRFC 822 is not RFC 822linked. </p> !! end +!! test +Magic links: RFC (w/ non-newline whitespace, bug 28950/29025) +!! wikitext +RFC       822 +RFC +822 +!! html +<p><a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc822">RFC 822</a> +RFC +822 +</p> +!! end + !! test Magic links: ISBN (bug 1937) !! wikitext @@ -8928,6 +8965,23 @@ This is ISBN 978-0-316-09811-3 but thisISBN 978-0-316-09811-3 is not ISBN 978-0- </p> !! end +!! test +Magic links: ISBN (w/ non-newline whitespace, bug 28950/29025) +!! wikitext +ISBN       978 0 316 09811 3 +ISBN +9780316098113 +ISBN 978 +0316098113 +!! html +<p><a href="/wiki/Special:BookSources/9780316098113" class="internal mw-magiclink-isbn">ISBN 978 0 316 09811 3</a> +ISBN +9780316098113 +ISBN 978 +0316098113 +</p> +!! end + !! test Magic links: PMID incorrectly converts space to underscore !! wikitext @@ -8946,6 +9000,19 @@ This is PMID 1234 but thisPMID 1234 is not PMID 1234linked. </p> !! end +!! test +Magic links: PMID (w/ non-newline whitespace, bug 28950/29025) +!! wikitext +PMID       1234 +PMID +1234 +!! html +<p><a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract">PMID 1234</a> +PMID +1234 +</p> +!! end + ### ### Templates #### @@ -19990,17 +20057,15 @@ parsoid=html2wt !! test Headings: 3. Nested inside html with wikitext split by html tags !! options -parsoid=html2wt +parsoid=html2wt,wt2wt !! wikitext = ='''bold'''<nowiki>foo=</nowiki> = -!! html -<h1>=<b>bold</b><span typeof="mw:Nowiki">foo=</span></h1> +!! html/parsoid +<h1>=<b>bold</b>foo=</h1> !!end !! test Headings: 4a. No escaping needed (testing just h1 and h2) -!! options -parsoid=html2wt !! wikitext = =foo = @@ -20014,20 +20079,28 @@ parsoid=html2wt == foo= == -= ''=''foo= = - -= <nowiki>=</nowiki> = -!! html += = = +!! html/parsoid <h1>=foo</h1> <h1>foo=</h1> <h1> =foo= </h1> <h1>=foo= bar</h1> <h2>=foo</h2> <h2>foo=</h2> -<h1><i>=</i>foo=</h1> -<h1><span typeof="mw:Nowiki">=</span></h1> +<h1>=</h1> !!end +!! test +Headings: 4a'. No escaping needed (Parsoid bug T84903) +!! wikitext += ''=''foo= = +!! html/php +<h1><span class="mw-headline" id=".3Dfoo.3D"><i>=</i>foo=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: =foo=">edit</a><span class="mw-editsection-bracket">]</span></span></h1> + +!! html/parsoid +<h1><i>=</i>foo=</h1> +!! end + !! test Headings: 4b. No escaping needed (inside p-tags) !! options @@ -20274,33 +20347,36 @@ Lists: 5. No unnecessary escapes !! wikitext * bar <span><nowiki>[[foo]]</nowiki></span> -*=bar <span><nowiki>[[foo]]</nowiki></span> +* =bar <span><nowiki>[[foo]]</nowiki></span> -*[[bar <span><nowiki>[[foo]]</nowiki></span> +* [[bar <span><nowiki>[[foo]]</nowiki></span> -*]]bar <span><nowiki>[[foo]]</nowiki></span> +* ]]bar <span><nowiki>[[foo]]</nowiki></span> -*=bar <span>foo]]</span>= +* =bar <span>foo]]</span>= * <s></s>: a + +* ''* foo'' !! html <ul><li> bar <span>[[foo]]</span></li></ul> -<ul><li>=bar <span>[[foo]]</span></li></ul> -<ul><li>[[bar <span>[[foo]]</span></li></ul> -<ul><li>]]bar <span>[[foo]]</span></li></ul> -<ul><li>=bar <span>foo]]</span>=</li></ul> +<ul><li> =bar <span>[[foo]]</span></li></ul> +<ul><li> [[bar <span>[[foo]]</span></li></ul> +<ul><li> ]]bar <span>[[foo]]</span></li></ul> +<ul><li> =bar <span>foo]]</span>=</li></ul> <ul><li> <s></s>: a</li></ul> +<ul><li> <i>* foo</i></li></ul> !!end !! test Lists: 6. Escape bullets in SOL position !! options -parsoid +parsoid=html2wt !! wikitext -<!--cmt--><nowiki>*foo</nowiki> +<!--cmt--><nowiki>*</nowiki>foo !! html -<p><!--cmt--><span typeof="mw:Nowiki">*foo</span></p> +<p><!--cmt-->*foo</p> !!end !! test @@ -20314,22 +20390,33 @@ a </p> !!end +!! test +Lists: 8. Escape colons only if not present in tags +!! options +parsoid=html2wt +!! wikitext +; <nowiki>a:b</nowiki>''c:d'' +!! html +<dl><dt>a:b<i>c:d</i></dt></dl> +!! end + #### --------------- HRs --------------- #### 1. Single line #### ----------------------------------- !! test HRs: 1. Single line -!! options -parsoid !! wikitext ----<nowiki>----</nowiki> ----=foo= ----*foo -!! html -<hr><p><span typeof="mw:Nowiki">----</span></p> -<hr><p>=foo=</p> -<hr><p>*foo</p> +!! html+tidy +<hr /> +<p>----</p> +<hr /> +<p>=foo=</p> +<hr /> +<p>*foo</p> !! end #### --------------- Tables --------------- @@ -20393,127 +20480,196 @@ Tables: 1d. No escaping needed Tables: 2a. Nested in td !! options parsoid=html2wt +!! html/parsoid +<table><tbody><tr> +<td>foo|bar</td></tr> +<tr><td>x<div>a|b</div></td> +</tbody></table> !! wikitext {| |<nowiki>foo|bar</nowiki> |- |x<div><nowiki>a|b</nowiki></div> |} -!! html -<table><tbody><tr> -<td>foo|bar</td></tr> -<tr><td>x<div>a|b</div></td> -</tbody></table> +!! html/php+tidy +<table> +<tr> +<td>foo|bar</td> +</tr> +<tr> +<td>x +<div>a|b</div> +</td> +</tr> +</table> !! end !! test Tables: 2b. Nested in td !! options -parsoid +parsoid=html2wt +!! html/parsoid +<table><tbody><tr> +<td>foo||bar</td> +<td>a<i>b||c</i></td> +<td>a<i><div>b||c</div></i></td> +</tr></tbody></table> !! wikitext {| |<nowiki>foo||bar</nowiki> -|''it''<nowiki>foo||bar</nowiki> +|a''<nowiki>b||c</nowiki>'' +|a''<div><nowiki>b||c</nowiki></div>'' |} -!! html -<table><tbody><tr> -<td><span typeof="mw:Nowiki">foo||bar</span></td> -<td><i>it</i><span typeof="mw:Nowiki">foo||bar</span></td></tr></tbody></table> +!! html/php +<table> +<tr> +<td>foo||bar +</td> +<td>a<i>b||c</i> +</td> +<td>a<i><div>b||c</div></i> +</td></tr></table> + !! end !! test Tables: 2c. Nested in td -- no escaping needed -!! options -parsoid !! wikitext {| + |foo!!bar |} -!! html -<table><tbody><tr><td>foo!!bar -</td></tr></tbody></table> +!! html/* +<table> + +<tr> +<td>foo!!bar +</td></tr></table> !! end !! test Tables: 3a. Nested in th -!! options -parsoid !! wikitext {| + !foo!bar |} -!! html -<table><tbody><tr><th>foo!bar -</th></tr></tbody></table> +!! html/* +<table> + +<tr> +<th>foo!bar +</th></tr></table> !! end !! test Tables: 3b. Nested in th !! options -parsoid +parsoid=html2wt +!! html/parsoid +<table><tbody> +<tr><th>foo!!bar</th> +<th><i>foo|bar</i></th> +<th><i>foo!!bar</i></th> +<th><i><span>foo!!bar</span></i></th> +</tr></tbody></table> !! wikitext {| !<nowiki>foo!!bar</nowiki> +!''<nowiki>foo|bar</nowiki>'' +!''<nowiki>foo!!bar</nowiki>'' +!''<span><nowiki>foo!!bar</nowiki></span>'' |} -!! html +!! html/php <table> -<tbody><tr><th><span typeof="mw:Nowiki">foo!!bar</span></th></tr> -</tbody></table> +<tr> +<th>foo!!bar +</th> +<th><i>foo|bar</i> +</th> +<th><i>foo!!bar</i> +</th> +<th><i><span>foo!!bar</span></i> +</th></tr></table> + !! end !! test -Tables: 3c. Nested in th -- no escaping needed +Tables: 3c. Nested in th !! options -parsoid +parsoid=html2wt +!! html/parsoid +<table><tbody> +<tr><th>foo||bar</th> +<th><span typeof="mw:Nowiki">foo||bar</span></th> +</tr></tbody></table> !! wikitext {| !<nowiki>foo||bar</nowiki> +!<nowiki>foo||bar</nowiki> |} -!! html -<table><tbody><tr> -<th><span typeof="mw:Nowiki">foo||bar</span></th></tr></tbody></table> +!! html/php +<table> +<tr> +<th>foo||bar +</th> +<th>foo||bar +</th></tr></table> + !! end !! test Tables: 4a. Escape - !! options -parsoid +parsoid=html2wt !! wikitext {| + !-bar + |- |<nowiki>-bar</nowiki> |} -!! html -<table><tbody> -<tr><th>-bar</th></tr> +!! html/* +<table> + +<tr> +<th>-bar +</th></tr> <tr> -<td><span typeof="mw:Nowiki">-bar</span></td></tr></tbody></table> +<td>-bar +</td></tr></table> + !! end !! test Tables: 4b. Escape + !! options -parsoid +parsoid=html2wt !! wikitext {| + !+bar + |- |<nowiki>+bar</nowiki> |} -!! html -<table><tbody> -<tr><th>+bar</th></tr> +!! html/* +<table> + +<tr> +<th>+bar +</th></tr> <tr> -<td><span typeof="mw:Nowiki">+bar</span></td></tr></tbody></table> +<td>+bar +</td></tr></table> + !! end !! test Tables: 4c. No escaping needed -!! options -parsoid !! wikitext {| |foo-bar @@ -20530,7 +20686,31 @@ bar|baz |x <div>a|b</div> |} -!! html +!! html/php +<table> +<tr> +<td>foo-bar +</td> +<td>foo+bar +</td></tr> +<tr> +<td><i>foo</i>-bar +</td> +<td><i>foo</i>+bar +</td></tr> +<tr> +<td>foo +<p>bar|baz ++bar +-bar +</p> +</td></tr> +<tr> +<td>x +<div>a|b</div> +</td></tr></table> + +!! html/parsoid <table><tbody> <tr><td>foo-bar</td><td>foo+bar</td></tr> <tr><td><i>foo</i>-bar</td><td><i>foo</i>+bar</td></tr> @@ -20545,15 +20725,23 @@ bar|baz !! test Tables: 4d. No escaping needed -!! options -parsoid !! wikitext {| |[[Foo]]-bar ||+1 ||-2 |} -!! html +!! html/php +<table> +<tr> +<td><a href="/wiki/Foo" title="Foo">Foo</a>-bar +</td> +<td>+1 +</td> +<td>-2 +</td></tr></table> + +!! html/parsoid <table> <tbody><tr><td><a rel="mw:WikiLink" href="./Foo" title="Foo">Foo</a>-bar</td> <td data-parsoid='{"startTagSrc":"|","attrSepSrc":"|"}'>+1</td> @@ -20800,6 +20988,18 @@ Links 12. Don't add spurious <nowiki/>s between text-nodes and ISBN-links (bug 6 ISBN 1234567890's !! end +!! test +Links 13: Protect link-like plain text. (Parsoid bug T78425) +!! options +parsoid=html2wt +!! html/* +<p>this is not a link: http://example.com +</p> +!! wikitext +this is not a link: <nowiki>http://example.com</nowiki> +!! end + + #### --------------- Quotes --------------- #### 1. Quotes inside <b> and <i> #### 2. Link fragments separated by <i> and <b> tags @@ -20807,7 +21007,7 @@ ISBN 1234567890's #### 4. No escaping needed #### -------------------------------------- !! test -1. Quotes inside <b> and <i> +1a. Quotes inside <b> and <i> !! options parsoid=html2wt,wt2wt !! wikitext @@ -20820,14 +21020,16 @@ parsoid=html2wt,wt2wt '''<nowiki>'''foo'''</nowiki>''' '''foo'<nowiki/>''bar'<nowiki/>''baz''' '''foo'''<nowiki/>'s -'<nowiki/>''foo'' +'''foo'' ''foo''<nowiki/>' +''foo'<nowiki/>''<nowiki/>' '<nowiki/>''foo''<nowiki/>' -'<nowiki/>'''foo''' +''''foo''' '''foo'''<nowiki/>' '<nowiki/>'''foo'''<nowiki/>' ''fools'<span> errand</span>'' ''<span>fool</span>'s errand'' +a|!*#-:;+-~[]{}b'''x'' !! html/* <p><i>'foo'</i> <i>''foo''</i> @@ -20840,15 +21042,33 @@ parsoid=html2wt,wt2wt <b>foo</b>'s '<i>foo</i> <i>foo</i>' +<i>foo'</i>' '<i>foo</i>' '<b>foo</b> <b>foo</b>' '<b>foo</b>' <i>fools'<span> errand</span></i> <i><span>fool</span>'s errand</i> +a|!*#-:;+-~[]{}b'<i>x</i> </p> !! end +!! test +1b. Quotes inside <b> and <i> with other chars +!! options +parsoid=html2wt,wt2wt +!! wikitext +'''a'' foo ''[[bar]]'' +''a''' foo ''[[bar]]'' +''a''' foo '''{{echo|[[bar]]}}''' +[[foo]] x'''[[bar]]'' +!! html +'<i>a</i> foo <i><a rel="mw:WikiLink" href="Bar" title="Bar">bar</a></i> +<i>a'</i> foo <i><a rel="mw:WikiLink" href="Bar" title="Bar">bar</a></i> +<i>a'</i> foo <b><a rel="mw:WikiLink" href="Bar" title="Bar" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[bar]]"}},"i":0}}]}'>bar</a></b> +<a rel="mw:WikiLink" href="Foo" title="Foo">foo</a> x'<i><a href="Bar" rel="mw:WikiLink" title="Bar">bar</a></i> +!! end + !! test 2. Link fragments separated by <i> and <b> tags !! wikitext @@ -20880,9 +21100,11 @@ parsoid=html2wt,wt2wt !! wikitext '<span>''bar''</span>' '<span>'''bar'''</span>' +'a:b'foo !! html <p>'<span><i>bar</i></span>' '<span><b>bar</b></span>' +'a:b'foo </p> !! end @@ -22386,6 +22608,36 @@ parsoid=html2wt <p><i>A</i><b><i>B</i></b></p> !! end +!! test +5a. Merge adjacent quote nodes if they've been edited +!! options +parsoid={ + "modes": ["wt2wt"], + "changes": [ + ["p", "contents", "remove", ":contains('b')"] + ] +} +!! wikitext +''a''b''c'' +!! wikitext/edited +''ac'' +!! end + +!! test +5b. Merge adjacent quote nodes if they've been edited +!! options +parsoid={ + "modes": ["wt2wt"], + "changes": [ + ["#x", "remove"] + ] +} +!! wikitext +''a''<span id="x">b</span>''c'' +!! wikitext/edited +''ac'' +!! end + #------------------------------------ # End of I/B quote minimization tests #------------------------------------ diff --git a/tests/phpunit/LessFileCompilationTest.php b/tests/phpunit/LessFileCompilationTest.php index 71e0f4b2c6..df4690a4f6 100644 --- a/tests/phpunit/LessFileCompilationTest.php +++ b/tests/phpunit/LessFileCompilationTest.php @@ -38,7 +38,7 @@ class LessFileCompilationTest extends ResourceLoaderTestCase { "$thisString must refer to a readable file" ); - $rlContext = static::getResourceLoaderContext(); + $rlContext = $this->getResourceLoaderContext(); // Bleh $method = new ReflectionMethod( $this->module, 'getLessCompiler' ); diff --git a/tests/phpunit/ResourceLoaderTestCase.php b/tests/phpunit/ResourceLoaderTestCase.php index f5f302e0c3..055beb018c 100644 --- a/tests/phpunit/ResourceLoaderTestCase.php +++ b/tests/phpunit/ResourceLoaderTestCase.php @@ -1,7 +1,12 @@ <?php abstract class ResourceLoaderTestCase extends MediaWikiTestCase { - protected static function getResourceLoaderContext( $lang = 'en' ) { + /** + * @param string $lang + * @param string $dir + * @return ResourceLoaderContext + */ + protected function getResourceLoaderContext( $lang = 'en', $dir = 'ltr' ) { $resourceLoader = new ResourceLoader(); $request = new FauxRequest( array( 'lang' => $lang, @@ -10,7 +15,14 @@ abstract class ResourceLoaderTestCase extends MediaWikiTestCase { 'skin' => 'vector', 'target' => 'test', ) ); - return new ResourceLoaderContext( $resourceLoader, $request ); + $ctx = $this->getMockBuilder( 'ResourceLoaderContext' ) + ->setConstructorArgs( array( $resourceLoader, $request ) ) + ->setMethods( array( 'getDirection' ) ) + ->getMock(); + $ctx->expects( $this->any() )->method( 'getDirection' )->will( + $this->returnValue( $dir ) + ); + return $ctx; } protected function setUp() { diff --git a/tests/phpunit/includes/HtmlFormatterTest.php b/tests/phpunit/includes/HtmlFormatterTest.php index 9dbfa452c8..1c3e8539c7 100644 --- a/tests/phpunit/includes/HtmlFormatterTest.php +++ b/tests/phpunit/includes/HtmlFormatterTest.php @@ -4,6 +4,20 @@ * @group HtmlFormatter */ class HtmlFormatterTest extends MediaWikiTestCase { + + /** + * Use TidySupport to check whether we should use $wgTidyInternal. + * + * The Tidy extension in HHVM does not support error text return, so it is + * nominally usable, but does not pass tests which require error text from + * Tidy. + */ + protected function setUp() { + parent::setUp(); + $tidySupport = new TidySupport(); + $this->setMwGlobals( 'wgTidyInternal', $tidySupport->isInternal() ); + } + /** * @dataProvider getHtmlData * diff --git a/tests/phpunit/includes/MWTimestampTest.php b/tests/phpunit/includes/MWTimestampTest.php index 05c1a661dc..365625459e 100644 --- a/tests/phpunit/includes/MWTimestampTest.php +++ b/tests/phpunit/includes/MWTimestampTest.php @@ -81,6 +81,17 @@ class MWTimestampTest extends MediaWikiLangTestCase { new MWTimestamp( "This is not a timestamp." ); } + /** + * Test an out of range timestamp + * @dataProvider provideOutOfRangeTimestamps + * @expectedException TimestampException + * @covers MWTimestamp + */ + public function testOutOfRangeTimestamps( $format, $input ) { + $timestamp = new MWTimestamp( $input ); + $timestamp->getTimestamp( $format ); + } + /** * Test requesting an invalid output format. * @expectedException TimestampException @@ -113,6 +124,18 @@ class MWTimestampTest extends MediaWikiLangTestCase { ); } + /** + * Returns a list of out of range timestamps in the format: + * array( type, timestamp_of_type ) + */ + public static function provideOutOfRangeTimestamps() { + return array( + // Various formats + array( TS_MW, '-62167219201' ), // -0001-12-31T23:59:59Z + array( TS_MW, '253402300800' ), // 10000-01-01T00:00:00Z + ); + } + /** * @dataProvider provideHumanTimestampTests * @covers MWTimestamp::getHumanTimestamp diff --git a/tests/phpunit/includes/OutputPageTest.php b/tests/phpunit/includes/OutputPageTest.php index 89d1de7bf3..4d63ea61c8 100644 --- a/tests/phpunit/includes/OutputPageTest.php +++ b/tests/phpunit/includes/OutputPageTest.php @@ -177,13 +177,13 @@ mw.loader.implement("test.quux",function($,jQuery){mw.test.baz({token:123});},{" }</script> ' ), - // Load module script with with ESI + // Load module script with ESI array( array( 'test.foo', ResourceLoaderModule::TYPE_SCRIPTS, true ), '<script><esi:include src="http://127.0.0.1:8080/w/load.php?debug=false&lang=en&modules=test.foo&only=scripts&skin=fallback&*" /></script> ' ), - // Load module styles with with ESI + // Load module styles with ESI array( array( 'test.foo', ResourceLoaderModule::TYPE_STYLES, true ), '<style><esi:include src="http://127.0.0.1:8080/w/load.php?debug=false&lang=en&modules=test.foo&only=styles&skin=fallback&*" /></style> diff --git a/tests/phpunit/includes/api/format/ApiFormatWddxTest.php b/tests/phpunit/includes/api/format/ApiFormatWddxTest.php index 51708561ae..c00545f8eb 100644 --- a/tests/phpunit/includes/api/format/ApiFormatWddxTest.php +++ b/tests/phpunit/includes/api/format/ApiFormatWddxTest.php @@ -13,6 +13,13 @@ class ApiFormatWddxTest extends ApiFormatTestBase { $this->markTestSkipped( "Function 'wddx_deserialize' not exist, skipping." ); } + if ( wfIsHHVM() && false === strpos( wddx_serialize_value( "Test for &" ), '&' ) ) { + # Some version of HHVM fails to escape the ampersand + # + # https://phabricator.wikimedia.org/T75531 + $this->markTestSkipped( "wddx_deserialize is bugged under this version of HHVM" ); + } + $data = $this->apiRequest( 'wddx', array( 'action' => 'query', 'meta' => 'siteinfo' ) ); $this->assertInternalType( 'array', wddx_deserialize( $data ) ); diff --git a/tests/phpunit/includes/content/JsonContentTest.php b/tests/phpunit/includes/content/JsonContentTest.php index d4151a5c24..0df8d40936 100644 --- a/tests/phpunit/includes/content/JsonContentTest.php +++ b/tests/phpunit/includes/content/JsonContentTest.php @@ -6,48 +6,80 @@ */ class JsonContentTest extends MediaWikiLangTestCase { + protected function setUp() { + parent::setUp(); + + $this->setMwGlobals( 'wgWellFormedXml', true ); + } + public static function provideValidConstruction() { return array( - array( 'foo', CONTENT_MODEL_JSON, false, null ), - array( FormatJson::encode( array() ), CONTENT_MODEL_JSON, true, array() ), - array( FormatJson::encode( array( 'foo' ) ), CONTENT_MODEL_JSON, true, array( 'foo' ) ), + array( 'foo', false, null ), + array( '{}', true, (object)array() ), + array( '{ "0": "bar" }', true, (object)array( 'bar' ) ), ); } /** * @dataProvider provideValidConstruction */ - public function testValidConstruct( $text, $modelId, $isValid, $expected ) { - $obj = new JsonContent( $text, $modelId ); + public function testIsValid( $text, $isValid, $expected ) { + $obj = new JsonContent( $text, CONTENT_MODEL_JSON ); $this->assertEquals( $isValid, $obj->isValid() ); - $this->assertEquals( $expected, $obj->getJsonData() ); + $this->assertEquals( $expected, $obj->getData()->getValue() ); } public static function provideDataToEncode() { return array( - array( array() ), - array( array( 'foo' ) ), - array( array( 'foo', 'bar' ) ), - array( array( 'baz' => 'foo', 'bar' ) ), - array( array( 'baz' => 1000, 'bar' ) ), + array( + // Round-trip empty array + '[]', + '[]', + ), + array( + // Round-trip empty object + '{}', + '{}', + ), + array( + // Round-trip empty array/object (nested) + '{ "foo": {}, "bar": [] }', + "{\n \"foo\": {},\n \"bar\": []\n}", + ), + array( + '{ "foo": "bar" }', + "{\n \"foo\": \"bar\"\n}", + ), + array( + '{ "foo": 1000 }', + "{\n \"foo\": 1000\n}", + ), + array( + '{ "foo": 1000, "0": "bar" }', + "{\n \"foo\": 1000,\n \"0\": \"bar\"\n}", + ), ); } /** * @dataProvider provideDataToEncode */ - public function testBeautifyUsesFormatJson( $data ) { - $obj = new JsonContent( FormatJson::encode( $data ) ); - $this->assertEquals( FormatJson::encode( $data, true ), $obj->beautifyJSON() ); + public function testBeautifyJson( $input, $beautified ) { + $obj = new JsonContent( $input ); + $this->assertEquals( $beautified, $obj->beautifyJSON() ); } /** * @dataProvider provideDataToEncode */ - public function testPreSaveTransform( $data ) { - $obj = new JsonContent( FormatJson::encode( $data ) ); - $newObj = $obj->preSaveTransform( $this->getMockTitle(), $this->getMockUser(), $this->getMockParserOptions() ); - $this->assertTrue( $newObj->equals( new JsonContent( FormatJson::encode( $data, true ) ) ) ); + public function testPreSaveTransform( $input, $transformed ) { + $obj = new JsonContent( $input ); + $newObj = $obj->preSaveTransform( + $this->getMockTitle(), + $this->getMockUser(), + $this->getMockParserOptions() + ); + $this->assertTrue( $newObj->equals( new JsonContent( $transformed ) ) ); } private function getMockTitle() { @@ -70,34 +102,38 @@ class JsonContentTest extends MediaWikiLangTestCase { public static function provideDataAndParserText() { return array( array( - array(), - '<table class="mw-json"><tbody></tbody></table>' + (object)array(), + '<table class="mw-json"><tbody><tr><td class="mw-json-empty">Empty object</td></tr>' . + '</tbody></table>' ), array( - array( 'foo' ), - '<table class="mw-json"><tbody><tr><th>0</th><td class="value">"foo"</td></tr></tbody></table>' + (object)array( 'foo' ), + '<table class="mw-json"><tbody><tr><th>0</th><td class="value">"foo"</td></tr>' . + '</tbody></table>' ), array( - array( 'foo', 'bar' ), + (object)array( 'foo', 'bar' ), '<table class="mw-json"><tbody><tr><th>0</th><td class="value">"foo"</td></tr>' . "\n" . '<tr><th>1</th><td class="value">"bar"</td></tr></tbody></table>' ), array( - array( 'baz' => 'foo', 'bar' ), + (object)array( 'baz' => 'foo', 'bar' ), '<table class="mw-json"><tbody><tr><th>baz</th><td class="value">"foo"</td></tr>' . "\n" . '<tr><th>0</th><td class="value">"bar"</td></tr></tbody></table>' ), array( - array( 'baz' => 1000, 'bar' ), + (object)array( 'baz' => 1000, 'bar' ), '<table class="mw-json"><tbody><tr><th>baz</th><td class="value">1000</td></tr>' . "\n" . '<tr><th>0</th><td class="value">"bar"</td></tr></tbody></table>' ), array( - array( '<script>alert("evil!")</script>'), - '<table class="mw-json"><tbody><tr><th>0</th><td class="value">"<script>alert("evil!")</script>"</td></tr></tbody></table>', + (object)array( '<script>alert("evil!")</script>'), + '<table class="mw-json"><tbody><tr><th>0</th><td class="value">"' . + '<script>alert("evil!")</script>"' . + '</td></tr></tbody></table>', ), ); } diff --git a/tests/phpunit/includes/exception/MWExceptionHandlerTest.php b/tests/phpunit/includes/exception/MWExceptionHandlerTest.php index dc5dc6aa32..d73f17d98f 100644 --- a/tests/phpunit/includes/exception/MWExceptionHandlerTest.php +++ b/tests/phpunit/includes/exception/MWExceptionHandlerTest.php @@ -15,7 +15,7 @@ class MWExceptionHandlerTest extends MediaWikiTestCase { $refvar = 'value'; try { $array = array( 'a', 'b' ); - $object = new StdClass(); + $object = new stdClass(); self::helperThrowAnException( $array, $object, $refvar ); } catch ( Exception $e ) { } diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php index 95da8473d3..9afc54d6cb 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php @@ -148,8 +148,7 @@ class ResourceLoaderFileModuleTest extends ResourceLoaderTestCase { */ public function testGetModifiedTime( $module, $expected ) { $rl = new ResourceLoaderFileModule( $module ); - $ts = $rl->getModifiedTime( new ResourceLoaderContext( - new ResourceLoader, new FauxRequest() ) ); + $ts = $rl->getModifiedTime( $this->getResourceLoaderContext() ); $this->assertEquals( $ts, $expected ); } } diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php index b25e9b061a..6d1ed4e05d 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php @@ -7,7 +7,7 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase { * @covers ResourceLoaderFileModule::getDefinitionSummary */ public function testDefinitionSummary() { - $context = self::getResourceLoaderContext(); + $context = $this->getResourceLoaderContext(); $baseParams = array( 'scripts' => array( 'foo.js', 'bar.js' ), diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php index 3fddc1edc1..69854d5b84 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php @@ -300,7 +300,7 @@ mw.loader.addSource( { $this->setMwGlobals( 'wgResourceLoaderSources', $case['sources'] ); } - $context = self::getResourceLoaderContext(); + $context = $this->getResourceLoaderContext(); $rl = $context->getResourceLoader(); $rl->register( $case['modules'] ); @@ -337,7 +337,7 @@ mw.loader.addSource( { public function testRegistrationsMinified( $modules ) { $this->setMwGlobals( 'wgResourceLoaderDebug', false ); - $context = self::getResourceLoaderContext(); + $context = $this->getResourceLoaderContext(); $rl = $context->getResourceLoader(); $rl->register( $modules ); $module = new ResourceLoaderStartUpModule(); @@ -357,7 +357,7 @@ mw.loader.addSource( { * @dataProvider provideRegistrations */ public function testRegistrationsUnminified( $modules ) { - $context = self::getResourceLoaderContext(); + $context = $this->getResourceLoaderContext(); $rl = $context->getResourceLoader(); $rl->register( $modules ); $module = new ResourceLoaderStartUpModule(); diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php index 5cdfa77d04..4fc7378a8a 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php @@ -79,7 +79,7 @@ class ResourceLoaderTest extends ResourceLoaderTestCase { * @covers ResourceLoaderFileModule::compileLessFile */ public function testLessFileCompilation() { - $context = self::getResourceLoaderContext(); + $context = $this->getResourceLoaderContext(); $basePath = __DIR__ . '/../../data/less/module'; $module = new ResourceLoaderFileModule( array( 'localBasePath' => $basePath, @@ -113,8 +113,8 @@ class ResourceLoaderTest extends ResourceLoaderTestCase { 'styles' => array( 'expected.css' ), ) ); - $contextLtr = self::getResourceLoaderContext( 'en' ); - $contextRtl = self::getResourceLoaderContext( 'he' ); + $contextLtr = $this->getResourceLoaderContext( 'en', 'ltr' ); + $contextRtl = $this->getResourceLoaderContext( 'he', 'rtl' ); // Since we want to compare the effect of @noflip+@embed against the effect of just @embed, and // the @noflip annotations are always preserved, we need to strip them first. diff --git a/tests/phpunit/includes/specials/SpecialBooksourcesTest.php b/tests/phpunit/includes/specials/SpecialBooksourcesTest.php index d341ccf128..69485a034e 100644 --- a/tests/phpunit/includes/specials/SpecialBooksourcesTest.php +++ b/tests/phpunit/includes/specials/SpecialBooksourcesTest.php @@ -27,10 +27,10 @@ class SpecialBooksourcesTest extends MediaWikiTestCase { } /** - * @covers SpecialBooksources::isValidISBN + * @covers SpecialBookSources::isValidISBN * @dataProvider provideISBNs */ public function testIsValidISBN( $isbn, $isValid ) { - $this->assertSame( $isValid, SpecialBooksources::isValidISBN( $isbn ) ); + $this->assertSame( $isValid, SpecialBookSources::isValidISBN( $isbn ) ); } } diff --git a/tests/phpunit/includes/specials/SpecialMIMESearchTest.php b/tests/phpunit/includes/specials/SpecialMIMESearchTest.php index 14d196851a..fe1c9e83b1 100644 --- a/tests/phpunit/includes/specials/SpecialMIMESearchTest.php +++ b/tests/phpunit/includes/specials/SpecialMIMESearchTest.php @@ -5,11 +5,11 @@ class SpecialMIMESearchTest extends MediaWikiTestCase { - /** @var MIMESearchPage */ + /** @var MIMEsearchPage */ private $page; function setUp() { - $this->page = new MIMESearchPage; + $this->page = new MIMEsearchPage; $context = new RequestContext(); $context->setTitle( Title::makeTitle( NS_SPECIAL, 'MIMESearch' ) ); $context->setRequest( new FauxRequest() ); diff --git a/tests/phpunit/maintenance/DumpTestCase.php b/tests/phpunit/maintenance/DumpTestCase.php index 9e62751ec8..8c76397053 100644 --- a/tests/phpunit/maintenance/DumpTestCase.php +++ b/tests/phpunit/maintenance/DumpTestCase.php @@ -19,7 +19,7 @@ abstract class DumpTestCase extends MediaWikiLangTestCase { protected $exceptionFromAddDBData = null; /** - * Holds the xmlreader used for analyzing an xml dump + * Holds the XMLReader used for analyzing an XML dump * * @var XMLReader|null */ diff --git a/tests/phpunit/suite.xml b/tests/phpunit/suite.xml index 574c11e4cf..860408ff5a 100644 --- a/tests/phpunit/suite.xml +++ b/tests/phpunit/suite.xml @@ -39,6 +39,7 @@ phpunit.php enables colors for other OSs at runtime <file>suites/UploadFromUrlTestSuite.php</file> </testsuite> <testsuite name="extensions"> + <directory>structure</directory> <file>suites/ExtensionsTestSuite.php</file> <file>suites/ExtensionsParserTestSuite.php</file> <file>suites/LessTestSuite.php</file> diff --git a/tests/qunit/data/testrunner.js b/tests/qunit/data/testrunner.js index b800bc251c..7294d62b42 100644 --- a/tests/qunit/data/testrunner.js +++ b/tests/qunit/data/testrunner.js @@ -30,6 +30,8 @@ // and assuming failure. QUnit.config.testTimeout = 30 * 1000; + QUnit.config.requireExpects = true; + // Add a checkbox to QUnit header to toggle MediaWiki ResourceLoader debug mode. QUnit.config.urlConfig.push( { id: 'debug', @@ -37,21 +39,6 @@ tooltip: 'Enable debug mode in ResourceLoader' } ); - QUnit.config.requireExpects = true; - - /** - * Load TestSwarm agent - */ - // Only if the current url indicates that there is a TestSwarm instance watching us - // (TestSwarm appends swarmURL to the test suites url it loads in iframes). - // Otherwise this is just a simple view of Special:JavaScriptTest/qunit directly, - // no point in loading inject.js in that case. Also, make sure that this instance - // of MediaWiki has actually been configured with the required url to that inject.js - // script. By default it is false. - if ( QUnit.urlParams.swarmURL && mw.config.get( 'QUnitTestSwarmInjectJSPath' ) ) { - jQuery.getScript( QUnit.fixurl( mw.config.get( 'QUnitTestSwarmInjectJSPath' ) ) ); - } - /** * CompletenessTest * diff --git a/tests/testHelpers.inc b/tests/testHelpers.inc index b5fc800326..bc02d0f1d8 100644 --- a/tests/testHelpers.inc +++ b/tests/testHelpers.inc @@ -805,7 +805,7 @@ class TidySupport { global $wgTidyBin; $this->internalTidy = extension_loaded( 'tidy' ) && - class_exists( 'tidy' ); + class_exists( 'tidy' ) && !wfIsHHVM(); $this->externalTidy = is_executable( $wgTidyBin ) || Installer::locateExecutableInDefaultPaths( array( $wgTidyBin ) ) diff --git a/thumb.php b/thumb.php index 3d8612d972..a972b21677 100644 --- a/thumb.php +++ b/thumb.php @@ -135,12 +135,12 @@ function wfStreamThumb( array $params ) { // Format is <timestamp>!<name> $bits = explode( '!', $fileName, 2 ); if ( count( $bits ) != 2 ) { - wfThumbError( 404, wfMessage( 'badtitletext' )->text() ); + wfThumbError( 404, wfMessage( 'badtitletext' )->parse() ); return; } $title = Title::makeTitleSafe( NS_FILE, $bits[1] ); if ( !$title ) { - wfThumbError( 404, wfMessage( 'badtitletext' )->text() ); + wfThumbError( 404, wfMessage( 'badtitletext' )->parse() ); return; } $img = RepoGroup::singleton()->getLocalRepo()->newFromArchiveName( $title, $fileName ); @@ -150,7 +150,7 @@ function wfStreamThumb( array $params ) { // Check the source file title if ( !$img ) { - wfThumbError( 404, wfMessage( 'badtitletext' )->text() ); + wfThumbError( 404, wfMessage( 'badtitletext' )->parse() ); return; } @@ -262,7 +262,7 @@ function wfStreamThumb( array $params ) { return; } - // For 404 handled thumbnails, we only use the the base name of the URI + // For 404 handled thumbnails, we only use the base name of the URI // for the thumb params and the parent directory for the source file name. // Check that the zone relative path matches up so squid caches won't pick // up thumbs that would not be purged on source file deletion (bug 34231). @@ -310,10 +310,10 @@ function wfStreamThumb( array $params ) { $user = RequestContext::getMain()->getUser(); if ( !wfThumbIsStandard( $img, $params ) && $user->pingLimiter( 'renderfile-nonstandard' ) ) { - wfThumbError( 500, wfMessage( 'actionthrottledtext' ) ); + wfThumbError( 500, wfMessage( 'actionthrottledtext' )->parse() ); return; } elseif ( $user->pingLimiter( 'renderfile' ) ) { - wfThumbError( 500, wfMessage( 'actionthrottledtext' ) ); + wfThumbError( 500, wfMessage( 'actionthrottledtext' )->parse() ); return; } @@ -598,7 +598,7 @@ function wfExtractThumbParams( $file, $params ) { * Output a thumbnail generation error message * * @param int $status - * @param string $msg + * @param string $msg HTML * @return void */ function wfThumbError( $status, $msg ) {