- php tests/phpunit/phpunit.php
notifications:
+ email: false
irc:
channels:
- "chat.freenode.net#mediawiki-core"
-Security reminder: MediaWiki does not require PHP's register_globals. If you
-have it on, turn it '''off''' if you can.
+Security reminder: If you have PHP's register_globals option set, you should
+turn it off. Although MediaWiki will work with it enabled, it exposes your
+server to potential security vulnerabilities.
== MediaWiki 1.24 ==
* Destinations to which notifications about recent changes
* should be sent.
*
- * As of MediaWiki 1.22, the only supported 'engine' parameter option in core
- * is 'UDPRCFeedEngine', which is used to send recent changes over UDP to the
- * specified server.
+ * As of MediaWiki 1.22, there are 2 supported 'engine' parameter option in core:
+ * * 'UDPRCFeedEngine', which is used to send recent changes over UDP to the
+ * specified server.
+ * * 'RedisPubSubFeedEngine', which is used to send recent changes to Redis.
+ *
* The common options are:
* * 'uri' -- the address to which the notices are to be sent.
* * 'formatter' -- the class name (implementing RCFeedFormatter) which will
* * 'omit_user' -- whether edits by registered users should be in the feed
* * 'omit_minor' -- whether minor edits should be in the feed
* * 'omit_patrolled' -- whether patrolled edits should be in the feed
+ *
* The IRC-specific options are:
* * 'add_interwiki_prefix' -- whether the titles should be prefixed with
* the first entry in the $wgLocalInterwikis array (or the value of
* $wgLocalInterwiki, if set)
+ *
* The JSON-specific options are:
* * 'channel' -- if set, the 'channel' parameter is also set in JSON values.
*
'wgEmailAuthentication', 'wgMainCacheType', '_MemCachedServers',
'wgUseInstantCommons' ) );
+ $retVal = true;
+
if ( !array_key_exists( $this->getVar( '_RightsProfile' ), $this->parent->rightsProfiles )
) {
reset( $this->parent->rightsProfiles );
if ( $code == 'cc-choose' ) {
if ( !$this->getVar( '_CCDone' ) ) {
$this->parent->showError( 'config-cc-not-chosen' );
-
- return false;
+ $retVal = false;
}
} elseif ( array_key_exists( $code, $this->parent->licenses ) ) {
// Messages:
$extsAvailable = $this->parent->findExtensions();
$extsToInstall = array();
foreach ( $extsAvailable as $ext ) {
- if ( $this->parent->request->getCheck( 'config_ext-' . $ext ) ) {
+ $this->parent->setVarsFromRequest( array( "ext-$ext" ) );
+ if ( $this->getVar( "ext-$ext" ) ) {
$extsToInstall[] = $ext;
}
}
$memcServers = explode( "\n", $this->getVar( '_MemCachedServers' ) );
if ( !$memcServers ) {
$this->parent->showError( 'config-memcache-needservers' );
-
- return false;
+ $retVal = false;
}
foreach ( $memcServers as $server ) {
&& ( gethostbyname( $memcParts[0] ) == $memcParts[0] ) )
) {
$this->parent->showError( 'config-memcache-badip', $memcParts[0] );
-
- return false;
+ $retVal = false;
} elseif ( !isset( $memcParts[1] ) ) {
$this->parent->showError( 'config-memcache-noport', $memcParts[0] );
-
- return false;
+ $retVal = false;
} elseif ( $memcParts[1] < 1 || $memcParts[1] > 65535 ) {
$this->parent->showError( 'config-memcache-badport', 1, 65535 );
-
- return false;
+ $retVal = false;
}
}
}
- return true;
+ return $retVal;
}
}
"config-desc": "Ka polokalamu hoʻonoho no MekiaWiki",
"config-title": "Ka hoʻonoho MekiaWiki $1",
"config-information": "ʻIke",
+ "config-localsettings-upgrade": "Ua hōʻike ʻia kekahi waihona <code>LocalSettings.php</code>.\nNo ka hoʻopuka hou ʻana o kēia hoʻonohona, e ʻoluʻolu, e kikokiko i ka helu o <code>$wgUpgradeKey</code> i loko o ka pahu i lalo.\nAia ia ma <code>LocalSettings.php</code>.",
+ "config-localsettings-cli-upgrade": "Ua hōʻike ʻia kekahi waihona <code>LocalSettings.php</code>.\nNo ka hoʻopuka hou ʻana o kēia hoʻonohona, e hana iā <code>update.php</code> ke ʻoluʻolu.",
"config-localsettings-key": "Pihi hoʻopuka hou:",
"config-localsettings-badkey": "Hewa ka pihi.",
+ "config-upgrade-key-missing": "Loaʻa he hoʻonohona mai mua o MīkiaWiki mai mua.\nNo ka hoʻopuka hou ʻana o kēia hoʻonohona, e ʻoluʻolu, e kau i kēia laina lalo ma lalo o kāu <code>LocalSettings.php</code>:\n\n$1",
"config-your-language": "Kāu ʻōlelo:",
"config-your-language-help": "E koho i kekahi ʻōlelo no ka hoʻohana ʻana ma loko o ka hana hoʻonohona.",
"config-wiki-language": "ʻŌlelo Wiki:",
"config-desc": "דער אינסטאלירער פאר מעדיעוויקי",
"config-title": "מעדיעוויקי $1 אינסטאלירונג",
"config-information": "אינפֿארמאציע",
+ "config-localsettings-badkey": "דעם שליסל וואס איר האט אײַנגעגעבן איז פאלש.",
"config-session-error": "פֿעלער ביים אנהייבן סעסיע:$1",
"config-your-language": "אײַער שפראך:",
"config-your-language-help": "קלויבט א שפראך צו ניצן ביים אינסטאלירונג פראצעס.",
"config-page-releasenotes": "ווערסיע־הערות",
"config-page-copying": "קאפיע",
"config-page-upgradedoc": "ראנג־העכערן",
+ "config-page-existingwiki": "עקזיסטירנדע וויקי",
+ "config-help-restart": "צי ווילט איר אפראמען די גארע געשפייכלערטע דאטן וואס איר האט אײַנגעגעבן און ווידער אנהייבן דעם אינסטאלאציע־פראצעס?",
+ "config-restart": "יא, ווידעראמאל אנהייבן",
"config-env-php": "PHP $1 איז אינצטאלירט.",
"config-apc": "[http://www.php.net/apc APC] איז אינסטאלירט",
"config-wincache": "[http://www.iis.net/download/WinCacheForPhp WinCache] איז אינסטאלירט",
}
} elseif ( $params['mimeType'] == 'image/x-xcf' ) {
$animation_post = array( '-layers', 'merge' );
+ wfSuppressWarnings();
+ $xcfMeta = unserialize( $image->getMetadata() );
+ wfRestoreWarnings();
+ if ( $xcfMeta
+ && isset( $xcfMeta['colorType'] )
+ && $xcfMeta['colorType'] === 'greyscale-alpha'
+ && version_compare( $this->getMagickVersion(), "6.8.9-3" ) < 0
+ ) {
+ // bug 66323 - Greyscale images not rendered properly.
+ // So only take the "red" channel.
+ $channelOnly = array( '-channel', 'R', '-separate' );
+ $animation_post = array_merge( $animation_post, $channelOnly );
+ }
}
// Use one thread only, to avoid deadlock bugs on OOM
* @return array
*/
function getImageSize( $image, $filename ) {
- return self::getXCFMetaData( $filename );
+ $header = self::getXCFMetaData( $filename );
+ if ( !$header ) {
+ return false;
+ }
+
+ # Forge a return array containing metadata information just like getimagesize()
+ # See PHP documentation at: http://www.php.net/getimagesize
+ $metadata = array();
+ $metadata[0] = $header['width'];
+ $metadata[1] = $header['height'];
+ $metadata[2] = null; # IMAGETYPE constant, none exist for XCF.
+ $metadata[3] = sprintf(
+ 'height="%s" width="%s"', $header['height'], $header['width']
+ );
+ $metadata['mime'] = 'image/x-xcf';
+ $metadata['channels'] = null;
+ $metadata['bits'] = 8; # Always 8-bits per color
+
+ assert( '7 == count($metadata); ' .
+ '# return array must contains 7 elements just like getimagesize() return' );
+
+ return $metadata;
}
/**
wfDebug( __METHOD__ .
": canvas size of '$filename' is {$header['width']} x {$header['height']} px\n" );
- # Forge a return array containing metadata information just like getimagesize()
- # See PHP documentation at: http://www.php.net/getimagesize
+ return $header;
+ }
+
+ /**
+ * Store the channel type
+ *
+ * Greyscale files need different command line options.
+ *
+ * @param File $file The image object, or false if there isn't one.
+ * Warning, FSFile::getPropsFromPath might pass an (object)array() instead (!)
+ * @param string $path The filename
+ * @return string
+ */
+ public function getMetadata( $file, $filename ) {
+ $header = self::getXCFMetadata( $filename );
$metadata = array();
- $metadata[0] = $header['width'];
- $metadata[1] = $header['height'];
- $metadata[2] = null; # IMAGETYPE constant, none exist for XCF.
- $metadata[3] = sprintf(
- 'height="%s" width="%s"', $header['height'], $header['width']
- );
- $metadata['mime'] = 'image/x-xcf';
- $metadata['channels'] = null;
- $metadata['bits'] = 8; # Always 8-bits per color
+ if ( $header ) {
+ // Try to be consistent with the names used by PNG files.
+ // Unclear from base media type if it has an alpha layer,
+ // so just assume that it does since it "potentially" could.
+ switch( $header['base_type'] ) {
+ case 0:
+ $metadata['colorType'] = 'truecolour-alpha';
+ break;
+ case 1:
+ $metadata['colorType'] = 'greyscale-alpha';
+ break;
+ case 2:
+ $metadata['colorType'] = 'index-coloured';
+ break;
+ default:
+ $metadata['colorType'] = 'unknown';
- assert( '7 == count($metadata); ' .
- '# return array must contains 7 elements just like getimagesize() return' );
+ }
+ } else {
+ // Marker to prevent repeated attempted extraction
+ $metadata['error'] = true;
+ }
+ return serialize( $metadata );
+ }
- return $metadata;
+ /**
+ * Should we refresh the metadata
+ *
+ * @param File $file The file object for the file in question
+ * @param string $metadata Serialized metadata
+ * @return bool One of the self::METADATA_(BAD|GOOD|COMPATIBLE) constants
+ */
+ public function isMetadataValid( $file, $metadata ) {
+ if ( !$metadata ) {
+ // Old metadata when we just put an empty string in there
+ return self::METADATA_BAD;
+ } else {
+ return self::METADATA_GOOD;
+ }
}
/**
}
protected function openShowImage() {
- global $wgImageLimits, $wgEnableUploads, $wgSend404Code;
+ global $wgEnableUploads, $wgSend404Code;
$this->loadFile();
$out = $this->getContext()->getOutput();
if ( $this->displayImg->allowInlineDisplay() ) {
# image
-
# "Download high res version" link below the image
# $msgsize = wfMessage( '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 ) {
- # Calculate the thumbnail size.
- # First case, the limiting factor is the width, not the height.
- /** @todo // FIXME: Possible division by 0. bug 36911 */
- if ( $width / $height >= $maxWidth / $maxHeight ) {
- /** @todo // FIXME: Possible division by 0. bug 36911 */
- $height = round( $height * $maxWidth / $width );
- $width = $maxWidth;
- # Note that $height <= $maxHeight now.
- } else {
- /** @todo // FIXME: Possible division by 0. bug 36911 */
- $newwidth = floor( $width * $maxHeight / $height );
- /** @todo // FIXME: Possible division by 0. bug 36911 */
- $height = round( $height * $newwidth / $width );
- $width = $newwidth;
- # Note that $height <= $maxHeight now, but might not be identical
- # because of rounding.
- }
+ if ( $width > $maxWidth || $height > $maxHeight || $this->displayImg->isVectorized() ) {
+ list( $width, $height ) = $this->getDisplayWidthHeight(
+ $maxWidth, $maxHeight, $width, $height
+ );
$linktext = wfMessage( 'show-big-image' )->escaped();
- if ( $this->displayImg->getRepo()->canTransformVia404() ) {
- $thumbSizes = $wgImageLimits;
- // Also include the full sized resolution in the list, so
- // that users know they can get it. This will link to the
- // original file asset if mustRender() === false. In the case
- // that we mustRender, some users have indicated that they would
- // find it useful to have the full size image in the rendered
- // image format.
- $thumbSizes[] = array( $width_orig, $height_orig );
- } else {
- # Creating thumb links triggers thumbnail generation.
- # Just generate the thumb for the current users prefs.
- $thumbSizes = array( $this->getImageLimitsFromOption( $user, 'thumbsize' ) );
- if ( !$this->displayImg->mustRender() ) {
- // We can safely include a link to the "full-size" preview,
- // without actually rendering.
- $thumbSizes[] = array( $width_orig, $height_orig );
- }
- }
+
+ $thumbSizes = $this->getThumbSizes( $width, $height, $width_orig, $height_orig );
# Generate thumbnails or thumbnail links as needed...
$otherSizes = array();
foreach ( $thumbSizes as $size ) {
// the current thumbnail's size ($width/$height)
// since that is added to the message separately, so
// it can be denoted as the current size being shown.
- if ( $size[0] <= $width_orig && $size[1] <= $height_orig
+ // Vectorized images are "infinitely" big, so all thumb
+ // sizes are shown.
+ if ( ( ($size[0] <= $width_orig && $size[1] <= $height_orig)
+ || $this->displayImg->isVectorized() )
&& $size[0] != $width && $size[1] != $height
) {
$sizeLink = $this->makeSizeLink( $params, $size[0], $size[1] );
}
}
$otherSizes = array_unique( $otherSizes );
+
$msgsmall = '';
$sizeLinkBigImagePreview = $this->makeSizeLink( $params, $width, $height );
if ( $sizeLinkBigImagePreview ) {
# Some sort of audio file that doesn't have dimensions
# Don't output a no hi res message for such a file
$msgsmall = '';
- } elseif ( $this->displayImg->isVectorized() ) {
- # For vectorized images, full size is just the frame size
- $msgsmall = '';
} else {
# Image is small enough to show full size on image page
$msgsmall = wfMessage( 'file-nohires' )->parse();
);
return $langSelectLine;
}
+
+ /**
+ * Get the width and height to display image at.
+ *
+ * @note This method assumes that it is only called if one
+ * of the dimensions are bigger than the max, or if the
+ * image is vectorized.
+ *
+ * @param $maxWidth integer Max width to display at
+ * @param $maxHeight integer Max height to display at
+ * @param $width integer Actual width of the image
+ * @param $height integer Actual height of the image
+ * @throws MWException
+ * @return Array (width, height)
+ */
+ protected function getDisplayWidthHeight( $maxWidth, $maxHeight, $width, $height ) {
+ if ( !$maxWidth || !$maxHeight ) {
+ // should never happen
+ throw new MWException( 'Using a choice from $wgImageLimits that is 0x0' );
+ }
+
+ if ( !$width || !$height ) {
+ return array( 0, 0 );
+ }
+
+ # Calculate the thumbnail size.
+ if ( $width <= $maxWidth && $height <= $maxHeight ) {
+ // Vectorized image, do nothing.
+ } elseif ( $width / $height >= $maxWidth / $maxHeight ) {
+ # The limiting factor is the width, not the height.
+ $height = round( $height * $maxWidth / $width );
+ $width = $maxWidth;
+ # Note that $height <= $maxHeight now.
+ } else {
+ $newwidth = floor( $width * $maxHeight / $height );
+ $height = round( $height * $newwidth / $width );
+ $width = $newwidth;
+ # Note that $height <= $maxHeight now, but might not be identical
+ # because of rounding.
+ }
+ return array( $width, $height );
+ }
+
+ /**
+ * Get alternative thumbnail sizes.
+ *
+ * @note This will only list several alternatives if thumbnails are rendered on 404
+ * @param $origWidth Actual width of image
+ * @param $origHeight Actual height of image
+ * @return Array An array of [width, height] pairs.
+ */
+ protected function getThumbSizes( $origWidth, $origHeight ) {
+ global $wgImageLimits;
+ if ( $this->displayImg->getRepo()->canTransformVia404() ) {
+ $thumbSizes = $wgImageLimits;
+ // Also include the full sized resolution in the list, so
+ // that users know they can get it. This will link to the
+ // original file asset if mustRender() === false. In the case
+ // that we mustRender, some users have indicated that they would
+ // find it useful to have the full size image in the rendered
+ // image format.
+ $thumbSizes[] = array( $origWidth, $origHeight );
+ } else {
+ # Creating thumb links triggers thumbnail generation.
+ # Just generate the thumb for the current users prefs.
+ $thumbSizes = array( $this->getImageLimitsFromOption( $this->getContext()->getUser(), 'thumbsize' ) );
+ if ( !$this->displayImg->mustRender() ) {
+ // We can safely include a link to the "full-size" preview,
+ // without actually rendering.
+ $thumbSizes[] = array( $origWidth, $origHeight );
+ }
+ }
+ return $thumbSizes;
+ }
+
}
/**
$where[] = $dbr->makeList(
array(
'page_namespace' => $ns,
- 'page_title' => $pages,
+ 'page_title' => array_unique( $pages ),
),
LIST_AND
);
'target',
'target',
50,
- $target
+ $target,
+ array(
+ // URLs are always ltr
+ 'dir' => 'ltr',
+ )
) . "\n";
if ( !$wgMiserMode ) {
*/
public function load() {
$request = $this->getRequest();
- list( $this->limit, $this->offset ) = $request->getLimitOffset( 20 );
+ list( $this->limit, $this->offset ) = $request->getLimitOffset( 20, '' );
$this->mPrefix = $request->getVal( 'prefix', '' );
$user = $this->getUser();
"cannotdelete-title": "Seiten „$1“ kå néd gléschd wern",
"badtitle": "koa gitiga Titl",
"badtitletext": "Da Titl voh da ogfordatn Seitn is ned gitig, laar oda a ungitiga Sprochlink vonam andan Wiki.",
- "perfcached": "Dé fóigernden Daaten staummern aus'm Cache und san méglicherweis nimmer aktuö. Maximoi {{PLURAL:$1|oah Ergebnis is|$1 Ergebniss san}} im Cache vafiagbor.",
- "perfcachedts": "Dé Daaten staummern aus 'm Cache. Da Zeidbunkt voh da létzden Aktualisiarung: $1. Maximoi {{PLURAL:$4|oah Ergebnis is|$4 Ergebniss san}} im Cache vafiagbor.",
+ "perfcached": "De foigandn Datn stamma ausm Cache und san meglichaweis neama aktuäi. Maximoi {{PLURAL:$1|oa Eagebnis is|$1 Ergebniss san}} im Cache vafigboar.",
+ "perfcachedts": "De Datn stamma ausm Cache. Da Zeidpunkt vo da lezzdn Aktualisiarung: $2, $3 Uah. Maximoi {{PLURAL:$4|oa Ergebnis is|$4 Ergebniss san}} im Cache vafigboar.",
"querypage-no-updates": "'''Dé Aktualisiarungsfunkzión voh derer Seiten is derzeid deaktivird. Dé Daaten wern bis auf Weiders néd daneiert.'''",
"viewsource": "Quejtext ozoagn",
"viewsource-title": "Quöntext voh da Seiten $1 auhschauh",
"resetpass-submit-loggedin": "Posswort ändern",
"resetpass-submit-cancel": "Obbrechen",
"passwordreset": "Passwoat zrucksetzn",
- "passwordreset-username": "Benutzernåm:",
+ "passwordreset-username": "Nutzanama:",
"bold_sample": "Fetta Text",
"bold_tip": "Fetta Text",
"italic_sample": "Kursiva Text",
"expand_templates_generate_rawhtml": "Паказаць HTML",
"expand_templates_preview": "Папярэдні прагляд",
"pagelanguage": "Выбар мовы старонкі",
+ "pagelang-name": "Старонка",
"pagelang-language": "Мова"
}
"http-invalid-url": "Памылковы URL: $1",
"http-invalid-scheme": "Не падтрымліваюцца адрасы са схемай \"$1\"",
"http-request-error": "Не атрымалася выканаць HTTP-запыт з-за невядомай памылкі",
- "http-read-error": "Памылка чытання HTTP",
+ "http-read-error": "Памылка чытання HTTP.",
"http-timed-out": "Мінуў час чакання HTTP-запыту.",
"http-curl-error": "Памылка звароту да URL: $1",
"http-bad-status": "Пад час апрацоўкі HTTP-запыту выяўлена праблема: $1 $2",
"trackingcategories-msg": "Катэгорыя для асочвання",
"trackingcategories-name": "Назва паведамлення",
"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>{{{Foo}}}</code>), памер старонкі перавышае <code>$wgMaxArticleSize</code>.",
"expensive-parserfunction-category-desc": "Занадта шмат працаёмкіх зваротаў да функцый парсера (напрыклад, <code>#ifexist</code>) уключана ў старонку. Гл. [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
+ "broken-file-category-desc": "Катэгорыя дадаецца, калі старонка ўтрымлівае няспраўную спасылку на файл (спасылку на ўкладзены файл, якога няма).",
"trackingcategories-nodesc": "Апісанне адсутнічае.",
"trackingcategories-disabled": "Катэгорыя адключана",
"mailnologin": "Няма эл.адрасу",
"spambot_username": "Чыстка спаму MediaWiki",
"spam_reverting": "Вяртаемся да апошняй версіі без спасылак на $1",
"spam_blanking": "Усе версіі ўтрымлівалі спасылкі на $1, чысцім",
+ "simpleantispam-label": "Праверка анты-спаму.\n<strong>НЕ</strong> ўпісвайце тут нічога!",
"pageinfo-title": "Інфармацыя для \"$1\"",
+ "pageinfo-not-current": "Выбачайце, немагчыма даць гэтыя звесткі для старых версій.",
"pageinfo-header-basic": "Агульныя звесткі",
"pageinfo-header-edits": "Гісторыя правак",
"pageinfo-header-restrictions": "Ахова старонкі",
"pageinfo-authors": "Агульная колькасць розных аўтараў",
"pageinfo-recent-edits": "Колькасць нядаўніх правак (за апошнія $1)",
"pageinfo-recent-authors": "Колькасць аўтараў за апошні час",
+ "pageinfo-magic-words": "{{PLURAL:$1|1=Магічнае слова|Магічныя словы}} ($1)",
"pageinfo-hidden-categories": "Схаван{{PLURAL:$1|ая катэгорыя|ыя катэгорыі}} ($1)",
"pageinfo-templates": "Выкарыстаны {{PLURAL:$1|шаблон|шаблоны}} ($1)",
"pageinfo-transclusions": "Выкарыстаны на {{PLURAL:$1|старонцы|старонках}} ($1)",
"file-info-size-pages": "$1 × $2 пікселяў, памер файла: $3, MIME-тип: $4, $5 {{PLURAL:$5|старонка|старонкі|старонак}}",
"file-nohires": "Без версіі ў лепшым разрозненні.",
"svg-long-desc": "файл SVG, намінальна $1 × $2 кропак, аб'ём файла: $3",
+ "svg-long-desc-animated": "Анімаваны файл SVG, намінальна $1 × $2 кропак, аб'ём файла: $3",
"svg-long-error": "Няспраўны файл SVG: $1",
"show-big-image": "Арыгінальны файл",
"show-big-image-preview": "Памер пры папярэднім праглядзе: $1.",
"expand_templates_intro": "Гэта адмысловая старонка бярэ тэкст і разгортвае ў ім усе шаблоны рэкурсіўна.\nТаксама разгортвае падтрыманыя функцыі парсера кшталту\n<code><nowiki>{{</nowiki>#language:…}}</code> і зменныя віду\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nФактычна, яна разгортвае ў пэўнай ступені ўсё ў двайных фігурных дужках.",
"expand_templates_input": "Уваходны тэкст:",
"expand_templates_output": "Вынік",
+ "expand_templates_xml_output": "Выніковы XML",
+ "expand_templates_html_output": "Выніковы зыходны код HTML",
+ "expand_templates_ok": "Добра",
"expand_templates_remove_comments": "Сцерці каментарыі",
+ "expand_templates_remove_nowiki": "Прыбраць тэгі <nowiki> з выніку",
+ "expand_templates_generate_xml": "Паказаць дрэва сінтаксічнага аналізу XML",
"expand_templates_generate_rawhtml": "Паказаць зыходны код HTML",
"expand_templates_preview": "Перадпаказ",
+ "pagelanguage": "Выбар мовы старонкі",
"pagelang-name": "Старонка",
"pagelang-language": "Мова",
"pagelang-use-default": "Прадвызначаная мова",
"pagelang-select-lang": "Выберыце мову",
"right-pagelang": "Змяняць мову старонкі",
"action-pagelang": "змяняць мову старонкі",
+ "log-name-pagelang": "Журнал змянення мовы",
"log-description-pagelang": "Гэта журнал змяненняў у мовах старонкі.",
"logentry-pagelang-pagelang": "$1 {{GENDER:$2|змяніў|змяніла}} мову старонкі $3 з $4 на $5."
}
"pageinfo-lasttime": "Datum posljednje izmjene",
"pageinfo-edits": "Ukupan broj izmjena",
"pageinfo-authors": "Ukupan broj različitih autora",
- "pageinfo-recent-edits": "Broj nedavnih izmjena (u poslednjih $1)",
+ "pageinfo-recent-edits": "Broj nedavnih izmjena (u posljednjih $1)",
"pageinfo-recent-authors": "Broj nedavnih različitih autora",
"pageinfo-magic-words": "{{PLURAL:$1|Čarobna riječ|Čarobne riječi}} ($1)",
"pageinfo-hidden-categories": "{{PLURAL:$1|Sakrivena kategorija|Sakrivene kategorije}} ($1)",
"right-move": "Flytte sider",
"right-move-subpages": "Flytte sider og undersider",
"right-move-rootuserpages": "Flytte hovedbrugersider",
+ "right-move-categorypages": "Flytte kategorisider",
"right-movefile": "Flytte filer",
"right-suppressredirect": "Flytte sider uden at oprette en omdirigering fra det gamle navn",
"right-upload": "Lægge filer op",
"action-move": "flytte denne side",
"action-move-subpages": "flytte denne side og dens undersider",
"action-move-rootuserpages": "flytte hovedbrugersider",
+ "action-move-categorypages": "flytte kategorisider",
"action-movefile": "flytte denne fil",
"action-upload": "lægge denne fil op",
"action-reupload": "overskrive den nuværende fil",
"duplicate-defaultsort": "Advarsel: Standardsorteringsnøglen \"$2\" tilsidesætter den tidligere sorteringsnøgle \"$1\".",
"version": "Information om MediaWiki",
"version-extensions": "Installerede udvidelser",
+ "version-skins": "Udseender",
"version-specialpages": "Specialsider",
"version-parserhooks": "Parserfunktioner",
"version-variables": "Variabler",
"version-antispam": "Spamforebyggelse",
- "version-skins": "Udseender",
"version-other": "Andet",
"version-mediahandlers": "Specialhåndtering af mediefiler",
"version-hooks": "Funktionstilføjelser",
"tog-prefershttps": "Utilizar una conexión segura siempre que haya iniciado una sesión",
"underline-always": "Siempre",
"underline-never": "Nunca",
- "underline-default": "Aspecto (skin) o valor predeterminado del navegador",
+ "underline-default": "Tema o valor predeterminado del navegador",
"editfont-style": "Estilo de tipografía del área de edición:",
"editfont-default": "Predeterminado del navegador",
"editfont-monospace": "Tipo de letra monoespaciado",
"nolicense": "Ninguna seleccionada",
"license-nopreview": "(Previsualización no disponible)",
"upload_source_url": " (una URL válida y accesible públicamente)",
- "upload_source_file": " (un archivo en tu disco)",
+ "upload_source_file": "(un archivo en tu computadora)",
"listfiles-summary": "Esta página especial muestra todos los archivos subidos.\nCuando el usuario la filtra, solo se muestran los archivos cargados por el usuario en su versión más reciente.",
"listfiles_search_for": "Buscar por nombre de imagen:",
"imgfile": "archivo",
"patrol-log-header": "Este es un registro de revisiones patrulladas.",
"log-show-hide-patrol": "$1 registro de patrullaje",
"deletedrevision": "Borrada revisión antigua $1",
- "filedeleteerror-short": "Se produjo un error al borrar el archivo: $1",
+ "filedeleteerror-short": "Error al borrar el archivo: $1",
"filedeleteerror-long": "Se han producido errores mientras se borraba el archivo:\n\n$1",
"filedelete-missing": "No se pudo borrar el archivo \"$1\" porque no existe.",
"filedelete-old-unregistered": "La revisión de archivo \"$1\" no está en la base de datos.",
"duplicate-defaultsort": "'''Atención:''' La clave de ordenamiento predeterminada «$2» anula la clave de ordenamiento anterior «$1».",
"version": "Versión",
"version-extensions": "Extensiones instaladas",
- "version-skins": "Apariencias",
+ "version-skins": "Temas instalados",
"version-specialpages": "Páginas especiales",
"version-parserhooks": "Extensiones del analizador sintáctico",
"version-variables": "Variables",
"version-license": "Licencia de MediaWiki",
"version-ext-license": "Licencia",
"version-ext-colheader-name": "Extensión",
+ "version-skin-colheader-name": "Tema",
"version-ext-colheader-version": "Versión",
"version-ext-colheader-license": "Licencia",
"version-ext-colheader-description": "Descripción",
"pagelang-use-default": "Utilizar el idioma predeterminado",
"pagelang-select-lang": "Seleccionar idioma",
"right-pagelang": "Cambiar el idioma de la página",
- "action-pagelang": "cambiar el idioma de la página"
+ "action-pagelang": "cambiar el idioma de la página",
+ "log-name-pagelang": "Registro de cambios en idiomas",
+ "log-description-pagelang": "Este es un registro de los cambios en los idiomas de las páginas.",
+ "logentry-pagelang-pagelang": "$1 {{GENDER:$2|cambió}} el idioma de la página «$3» del $4 al $5."
}
"Shirayuki",
"Yfdyh000",
"לערי ריינהארט",
- "아라"
+ "아라",
+ "Carlosedepaula"
]
},
"tog-underline": "Sublinear ligamines:",
"expand_templates_remove_nowiki": "Supprimer le etiquettas <nowiki> in le resultato",
"expand_templates_generate_xml": "Monstrar arbore syntactic XML",
"expand_templates_generate_rawhtml": "Monstrar HTML brute",
- "expand_templates_preview": "Previsualisation"
+ "expand_templates_preview": "Previsualisation",
+ "pagelang-name": "Pagina",
+ "pagelang-language": "Lingua",
+ "pagelang-use-default": "Usar lingua predefinite",
+ "pagelang-select-lang": "Selige lingua",
+ "right-pagelang": "Cambiar lingua del pagina",
+ "action-pagelang": "Cambiar lingua del pagina"
}
"rev-suppressed-unhide-diff": "Бір түзетуі (нұсқасы) <strong>жасырылған</strong>.\nЕгжей-тегжейін [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} жою журналынан] таба аласыз.\nЕгер жалғастырсаңыз [$1 бұл айырмашылықты] көре аласыз.",
"rev-deleted-diff-view": "Бұл нұсқалар айырмасының бір нұсқасы <strong>жойылған</strong>.\n[{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Жою журналынан] егжей-тегжейін таба аласыз.",
"rev-suppressed-diff-view": "Бұл нұсқалар айырмасының бір нұсқасы <strong>жасырылған</strong>.\n[{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Жасыру журналынан] егжей-тегжейін таба аласыз.",
- "rev-delundel": "көÑ\80Ñ\96нÑ\96Ñ\81Ñ\96н өзгеÑ\80Ñ\82Ñ\83",
+ "rev-delundel": "көÑ\80Ñ\81еÑ\82/жаÑ\81Ñ\8bÑ\80",
"rev-showdeleted": "көрсету",
"revisiondelete": "Нұсқаларды жою/жоюды болдырмау",
"revdelete-nooldid-title": "Нысана түзету жарамсыз",
"revdelete-success": "'''Түзету көрінісі сәтті жаңартылды.'''",
"revdelete-failure": "'''Түзету көрінісі жаңартылмады:'''\n$1",
"logdelete-success": "'''Журнал көрінісі сәтті қойылды.'''",
- "revdel-restore": "Ð\9aөрінісін өзгерту",
+ "revdel-restore": "көрінісін өзгерту",
"pagehist": "Бет тарихы",
"deletedhist": "Жойылған тарихы",
"revdelete-otherreason": "Басқа/қосымша себеп:",
"ipblocklist-empty": "Бұғаттау тізімі бос.",
"ipblocklist-no-results": "Сұратылған IP мекенжай немесе қатысушы аты бұғатталмаған.",
"blocklink": "бұғаттау",
- "unblocklink": "бұÒ\93аÑ\82Ñ\82амау",
+ "unblocklink": "бұÒ\93аÑ\82Ñ\8bнан Ñ\88Ñ\8bÒ\93аÑ\80у",
"change-blocklink": "бұғаттауын өзгерту",
"contribslink": "үлесі",
"emaillink": "хат жіберу",
"expand_templates_remove_nowiki": "Suprimir marcações <nowiki> no resultado",
"expand_templates_generate_xml": "Mostrar a árvore de análise sintáctica do XML",
"expand_templates_generate_rawhtml": "Mostrar o HTML puro",
- "expand_templates_preview": "Antevisão do resultado"
+ "expand_templates_preview": "Antevisão do resultado",
+ "pagelanguage": "Seletor de idioma da página",
+ "pagelang-name": "Página",
+ "pagelang-language": "Idioma",
+ "pagelang-use-default": "Usar idioma pré-definido",
+ "pagelang-select-lang": "Escolher o idioma",
+ "right-pagelang": "Alterar o idioma da página",
+ "action-pagelang": "alterar o idioma da página",
+ "log-name-pagelang": "Alterar registo de idioma",
+ "log-description-pagelang": "Este é um registo de alterações aos idiomas das páginas.",
+ "logentry-pagelang-pagelang": "$1 {{GENDER:$2|alterou}} o idioma da página $3 de $4 para $5."
}
"tog-hidepatrolled": "Ammuccia li mudìfichi fatti ntâ l'ùrtimi canciamenti",
"tog-newpageshidepatrolled": "Ammuccia li pàggini virificati di l'alencu dî pàgging cchiù novi",
"tog-extendwatchlist": "Attiva tutti li funzioni avanzati pi l'ossirvati spiciali, nun sulu l'ultima",
- "tog-usenewrc": "Utilizza Ùrtimi canciamenti avanzati (richiedi JavaScript)",
+ "tog-usenewrc": "Raggruppa li canci pi pàggina ntê canciamenti ricenti e ntâ lista dî taliati spiciali",
"tog-numberheadings": "Nummirazzioni automàtica dî tìtuli di paràgrafu",
"tog-showtoolbar": "Ammustra la barra dî strumenta pi lu canciamentu",
- "tog-editondblclick": "Duppiu click pi canciari l'artìculu (richiedi Javascript)",
- "tog-editsectiononrightclick": "Abbìlita lu canciamentu dî sezzioni tràmiti duppiu click supra lu tìtulu dâ sezzioni (richiedi Javascript)",
- "tog-watchcreations": "Agghiunci li pàggini criati a l'ossirvati spiciali",
+ "tog-editondblclick": "Duppiu click pi canciari l'artìculu",
+ "tog-editsectiononrightclick": "Abbìlita lu canciamentu dî sizzioni tràmiti duppiu click a manu dritta supra lu tìtulu dâ sezzioni",
+ "tog-watchcreations": "Agghiunci li pàggini criati e li files â lista dî taliati",
"tog-watchdefault": "Agghiunci li pàggini canciati a l'ossirvati spiciali",
"tog-watchmoves": "Agghiunci li pàggini spustati a l'ossirvati spiciali",
"tog-watchdeletion": "Agghiunci li pàggini di mìa cancillati a l'ossirvati spiciali",
"showhideselectedversions": "Прикажи/сакриј изабране измене",
"editundo": "поништи",
"diff-empty": "(Нема разлике)",
- "diff-multi-sameuser": "({{PLURAL:$1|Једна међуизмена истог корисника није приказана|$1 међуизмена истог корисника није приказано}})",
- "diff-multi-otherusers": "({{PLURAL:$1|Једна међуизмена|$1 међуизмена}} од стране {{PLURAL:$2|још једног корисника није приказана|$2 корисника није приказано}})",
+ "diff-multi-sameuser": "({{PLURAL:$1|Ð\88една меÑ\92Ñ\83измена иÑ\81Ñ\82ог коÑ\80иÑ\81ника ниÑ\98е пÑ\80иказана|$1 меÑ\92Ñ\83измене иÑ\81Ñ\82ог коÑ\80иÑ\81ника ниÑ\98е пÑ\80иказано|$1 меÑ\92Ñ\83измена иÑ\81Ñ\82ог коÑ\80иÑ\81ника ниÑ\98е пÑ\80иказано}})",
+ "diff-multi-otherusers": "({{PLURAL:$1|Ð\88една меÑ\92Ñ\83измена|$1 меÑ\92Ñ\83измене|$1 меÑ\92Ñ\83измена}} од Ñ\81Ñ\82Ñ\80ане {{PLURAL:$2|Ñ\98оÑ\88 Ñ\98едног коÑ\80иÑ\81ника ниÑ\98е пÑ\80иказана|$2 коÑ\80иÑ\81ника ниÑ\98е пÑ\80иказано}})",
"diff-multi-manyusers": "({{PLURAL:$1|Није приказана међуизмена|Нису приказане $1 међуизмене|Није приказано $1 међуизмена}} од више од $2 корисника)",
"difference-missing-revision": "Не могу да пронађем {{PLURAL:$2|једну измену|$2 измене|$2 измена}} од ове разлике ($1).\n\nОво се обично дешава када пратите застарелу везу до странице која је обрисана.\nВише информација можете пронаћи у [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневнику брисања].",
"searchresults": "Резултати претраге",
"showhideselectedversions": "Prikaži/sakrij izabrane izmene",
"editundo": "poništi",
"diff-empty": "(Nema razlike)",
- "diff-multi-sameuser": "({{PLURAL:$1|Jedna međuizmena istog korisnika nije prikazana|$1 međuizmena istog korisnika nije prikazano}})",
- "diff-multi-otherusers": "({{PLURAL:$1|Jedna međuizmena|$1 međuizmena}} od strane {{PLURAL:$2|još jednog korisnika nije prikazana|$2 korisnika nije prikazano}})",
+ "diff-multi-sameuser": "({{PLURAL:$1|Jedna međuizmena istog korisnika nije prikazana|$1 međuizmene istog korisnika nije prikazano|$1 međuizmena istog korisnika nije prikazano}})",
+ "diff-multi-otherusers": "({{PLURAL:$1|Jedna međuizmena|$1 međuizmene|$1 međuizmena}} od strane {{PLURAL:$2|još jednog korisnika nije prikazana|$2 korisnika nije prikazano}})",
"diff-multi-manyusers": "({{PLURAL:$1|Nije prikazana međuizmena|Nisu prikazane $1 međuizmene|Nije prikazano $1 međuizmena}} od više od $2 korisnika)",
"difference-missing-revision": "Ne mogu da pronađem {{PLURAL:$2|jednu izmenu|$2 izmene|$2 izmena}} od ove razlike ($1).\n\nOvo se obično dešava kada pratite zastarelu vezu do stranice koja je obrisana.\nViše informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} dnevniku brisanja].",
"searchresults": "Rezultati pretrage",
"subject": "Ämne/rubrik:",
"minoredit": "Mindre ändring (m)",
"watchthis": "Bevaka denna sida",
- "savearticle": "Spara sida",
+ "savearticle": "Spara sidan",
"preview": "Förhandsgranska",
"showpreview": "Visa förhandsgranskning",
"showdiff": "Visa ändringar",
"allinnamespace": "Alla sidor (i namnrymden $1)",
"allpagessubmit": "Visa",
"allpagesprefix": "Visa sidor med prefixet:",
- "allpagesbadtitle": "Den sökta sidtiteln var ogiltig eller så innehöll den ett prefix för annan språkversion eller interwiki-prefix. Titeln kan innehålla bokstäver som inte är tillåtna i sidtitlar.",
+ "allpagesbadtitle": "Den angivna sidtiteln var ogiltig eller innehöll ett prefix för annan språkversion eller ett interwiki-prefix.\nDen kan innehålla en eller fler tecken som inte är tillåtna i titlar.",
"allpages-bad-ns": "Namnrymden \"$1\" finns inte på {{SITENAME}}.",
"allpages-hide-redirects": "Göm omdirigeringar",
"cachedspecial-viewing-cached-ttl": "Du visar en cachad version av denna sida, som kan vara upp till $1 gammal.",
"expand_templates_generate_xml": "Visa parseträd som XML",
"expand_templates_generate_rawhtml": "Visa rå HTML",
"expand_templates_preview": "Förhandsvisning",
- "pagelanguage": "Språkväljare för sidor",
+ "pagelanguage": "Sidspråksväljare",
"pagelang-name": "Sida",
"pagelang-language": "Språk",
"pagelang-use-default": "Använd standardspråk",
"pagelang-select-lang": "Välj språk",
"right-pagelang": "Ändra sidans språk",
"action-pagelang": "ändra sidspråket",
- "log-name-pagelang": "Ändra språklogg",
+ "log-name-pagelang": "Språkändringslogg",
"log-description-pagelang": "Detta är en logg över ändringar i sidspråken.",
"logentry-pagelang-pagelang": "$1 {{GENDER:$2|ändrade}} sidspråket för $3 från $4 till $5."
}
"currentrev": "Поточна версія",
"currentrev-asof": "Поточна версія на $1",
"revisionasof": "Версія за $1",
- "revision-info": "Версія від $1; $2",
+ "revision-info": "Версія від $1, створена {{GENDER:$6|$2}}$7",
"previousrevision": "← Попередня версія",
"nextrevision": "Новіша версія →",
"currentrevisionlink": "Поточна версія",
"mergehistory-empty": "Не знайдені редагування для об'єднання.",
"mergehistory-success": "$3 {{PLURAL:$3|редагування|редагування|редагувань}} з [[:$1]] успішно перенесені до [[:$2]].",
"mergehistory-fail": "Не вдалося здійснити об'єднання історій сторінок, будь ласка, перевірте параметри сторінки й часу.",
+ "mergehistory-fail-toobig": "Не вдалося виконати злиття історії оскільки буде перейменовано більше, ніж ліміт у $1 {{PLURAL:$1|версію|версії|версій}}.",
"mergehistory-no-source": "Вихідна сторінка «$1» не існує.",
"mergehistory-no-destination": "Цільова сторінка «$1» не існує.",
"mergehistory-invalid-source": "Джерело повинне мати правильний заголовок.",
"largefileserver": "Розмір файлу більший за максимальнодозволений.",
"emptyfile": "Завантажений вами файл ймовірно порожній. Можливо, це сталося через помилку при введенні імені файлу. Будь-ласка, перевірте, чи справді ви бажаєте звантажити цей файл.",
"windows-nonascii-filename": "Ця вікі не підтримує імена файлів зі спеціальними символами.",
- "fileexists": "Файл з такою назвою вже існує.\nБудь ласка, перевірте <strong>[[:$1]]</strong>, якщо ви не впевнені, чи хочете замінити його.\n[[$1|thumb]]",
+ "fileexists": "Файл з такою назвою вже існує.\nБудь ласка, перевірте <strong>[[:$1]]</strong>, якщо {{GENDER:|ви}} не впевнені, чи хочете замінити його.\n[[$1|thumb]]",
"filepageexists": "Сторінка опису цього файлу вже створена як <strong>[[:$1]]</strong>, але файлу з такою назвою немає. Уведений опис не з'явиться на сторінці опису зображення. Щоб додати новий опис, вам доведеться змінити його вручну. [[$1|thumb]]",
- "fileexists-extension": "Ð\86Ñ\81нÑ\83Ñ\94 Ñ\84айл зÑ\96 Ñ\81Ñ\85ожоÑ\8e назвоÑ\8e: [[$2|thumb]]\n* Ð\9dазва заванÑ\82аженого Ñ\84айлÑ\83: <strong>[[:$1]]</strong>\n* Ð\9dазва Ñ\96Ñ\81нÑ\83Ñ\8eÑ\87ого Ñ\84айлÑ\83: <strong>[[:$2]]</strong>\nÐ\91Ñ\83дÑ\8cÑ\82е лаÑ\81кавÑ\96, вибеÑ\80Ñ\96Ñ\82Ñ\8c Ñ\96нÑ\88Ñ\83 назвÑ\83.",
+ "fileexists-extension": "Ð\86Ñ\81нÑ\83Ñ\94 Ñ\84айл зÑ\96 Ñ\81Ñ\85ожоÑ\8e назвоÑ\8e: [[$2|thumb]]\n* Ð\9dазва заванÑ\82аженого Ñ\84айлÑ\83: <strong>[[:$1]]</strong>\n* Ð\9dазва Ñ\96Ñ\81нÑ\83Ñ\8eÑ\87ого Ñ\84айлÑ\83: <strong>[[:$2]]</strong>\nÐ\9cожливо, ви Ñ\85оÑ\87еÑ\82е обÑ\80аÑ\82и назвÑ\83, Ñ\89о бÑ\83де бÑ\96лÑ\8cÑ\88е вÑ\96дÑ\80Ñ\96знÑ\8fÑ\82иÑ\81Ñ\8f?",
"fileexists-thumbnail-yes": "Можливо, файл є зменшеною копією (мініатюрою). [[$1|thumb]]\nБудь ласка, перевірте файл <strong>[[:$1]]</strong>.\nЯкщо вказаний файл є тим самим зображенням, не варто окремо завантажувати його зменшену копію.",
"file-thumbnail-no": "Назва файлу починається на <strong>$1</strong>.\nМожливо, це зменшена копія зображення ''(мініатюра)''.\nЯкщо у вас є це зображення в повному розмірі, завантажте його, інакше змініть назву файлу.",
"fileexists-forbidden": "Файл з такою назвою вже існує і не може бути перезаписаний.\nЯкщо ви все одно хочете завантажити цей файл, будь ласка, поверніться назад і оберіть іншу назву.\n[[File:$1|thumb|center|$1]]",
"filedelete-maintenance": "Вилучення та відновлення файлів відімкнене на час технічних робіт.",
"filedelete-maintenance-title": "Не вдається видалити файл",
"mimesearch": "Пошук по MIME",
- "mimesearch-summary": "Ця сторінка дозволяє вибирати файли за їх MIME-типом. Формат вводу: тип_вмісту/підтип, наприклад <code>image/jpeg</code>.",
+ "mimesearch-summary": "Ця сторінка дозволяє вибирати файли за їх MIME-типом. Формат вводу: тип_вмісту/підтип або тип_вмісту/* тощо, наприклад <code>image/jpeg</code>.",
"mimetype": "MIME-тип:",
"download": "завантажити",
"unwatchedpages": "Сторінки, за якими ніхто не спостерігає",
"wantedtemplates": "Необхідні шаблони",
"mostlinked": "Сторінки, на які найбільше посилань",
"mostlinkedcategories": "Найбільші категорії",
- "mostlinkedtemplates": "Ð\9dайÑ\83живанÑ\96Ñ\88Ñ\96 Ñ\88аблони",
+ "mostlinkedtemplates": "Ð\9dайÑ\87аÑ\81Ñ\82Ñ\96Ñ\88е вклÑ\8eÑ\87енÑ\96 Ñ\81Ñ\82оÑ\80Ñ\96нки",
"mostcategories": "Статті з найбільшою кількістю категорій",
"mostimages": "Найуживаніші зображення",
"mostinterwikis": "Сторінки з найбільшою кількістю інтервікі-посилань",
"watchlistedit-clear-titles": "Сторінки:",
"watchlistedit-clear-submit": "Очистити список спостереження (це безповоротньо!)",
"watchlistedit-clear-done": "Ваш список спостереження було очищено.",
+ "watchlistedit-clear-removed": "Було видалено {{PLURAL:$1|1 запис|$1 записів|$1 записи}}:",
"watchlistedit-too-many": "Забагато сторінок для відображення тут.",
"watchlisttools-clear": "Очистити список спостереження",
"watchlisttools-view": "Зміни на сторінках зі списку",
"duplicate-defaultsort": "Увага. Ключ сортування «$2» перекриває попередній ключ сортування «$1».",
"version": "Версія MediaWiki",
"version-extensions": "Установлені розширення",
- "version-skins": "Ð\9eформлення",
+ "version-skins": "Ð\92Ñ\81Ñ\82ановленÑ\96 Ñ\82еми оформлення",
"version-specialpages": "Спеціальні сторінки",
"version-parserhooks": "Перехоплювачі синтаксичного аналізатора",
"version-variables": "Змінні",
"version-hook-name": "Ім'я перехоплювача",
"version-hook-subscribedby": "Підписаний на",
"version-version": "($1)",
+ "version-no-ext-name": "[без назви]",
"version-svn-revision": "(r$2)",
"version-license": "Ліцензія MediaWik",
"version-ext-license": "Ліцензія",
"version-ext-colheader-name": "Розширення",
+ "version-skin-colheader-name": "Тема оформлення",
"version-ext-colheader-version": "Версія",
"version-ext-colheader-license": "Ліцензія",
"version-ext-colheader-description": "Опис",
"expand_templates_remove_nowiki": "Ігнорувати теги <nowiki> в результаті",
"expand_templates_generate_xml": "Показати дерево аналізу XML",
"expand_templates_generate_rawhtml": "Показати сирий HTML",
- "expand_templates_preview": "Попередній перегляд"
+ "expand_templates_preview": "Попередній перегляд",
+ "pagelanguage": "Вибір мови сторінки",
+ "pagelang-name": "Сторінка",
+ "pagelang-language": "Мова",
+ "pagelang-use-default": "Мова за замовчуванням",
+ "pagelang-select-lang": "Оберіть мову",
+ "right-pagelang": "Змінити мову сторінки",
+ "action-pagelang": "змінити мову сторінки",
+ "log-name-pagelang": "Журнал змін мови",
+ "log-description-pagelang": "Це журнал змін мови сторінок.",
+ "logentry-pagelang-pagelang": "$1 {{GENDER:$2|змінив|змінила}} мову сторінки для $3 з $4 на $5."
}
"searchrelated": "פארבינדן",
"searchall": "אלץ",
"showingresults": "ווייזן ביז {{PLURAL:$1|רעזולטאט '''איינס'''|'''$1''' רעזולטאטן}} אנגעפאנגן פון נומער #'''$2''':",
+ "showingresultsinrange": "ווײַזן אונטן ביז {{PLURAL:$1|<strong>1</strong> רעזולטאט|<strong>$1</strong> רעזולטאטן}} אין גרייך #<strong>$2</strong> ביז #<strong>$3</strong>.",
"showingresultsheader": "{{PLURAL:$5|רעזולטאַט '''$1''' פֿון '''$3'''| רעזולטאַטן '''$1 - $2''' פֿון '''$3'''}} פֿאַר '''$4'''",
"search-nonefound": "נישטא קיין רעזולטאטן פֿאַר דער שאלה.",
"powersearch-legend": "ווײַטהאלטן זוכן",
"prefs-tokenwatchlist": "טאקן",
"prefs-diffs": "צווישנשיידן",
"prefs-help-prefershttps": "דער פרעפערענץ וועט ארבעטן ביי אײַער נעקסטער ארײַנלאגירונג.",
+ "prefs-tabs-navigation-hint": "טיפ: איר קענט ניצן די רעכטס און לינקס פייל־קלאווישן צו נאוויגירן צווישן די צינגלעך אין דער צינגלעך־ליסטע.",
"email-address-validity-valid": "ע-פּאָסט אַדרעס זעט אויס גילטיק",
"email-address-validity-invalid": "לייגט אַרײַן א גילטיקן ע־פאסט אַדרעס",
"userrights": "באַניצער רעכטן פֿאַרוואַלטערשאפט",
"uploadstash-errclear": "אוועקנעמען די טעקעס דורכגעפאלן.",
"uploadstash-refresh": "דערפֿרישן די רשימה פון טעקעס",
"img-auth-accessdenied": "צוטריט אָפגעזאָגט",
+ "img-auth-notindir": "געשיכטעס שטעג איז נישט אין דער קאנפיגורטער ארויפלאד־דירעקטאריע.",
"img-auth-badtitle": "קען נישט שאפֿן א גילטיקן טיטל פֿון \"$1\"",
"img-auth-nologinnWL": "איר זענט נישט ארײַנלאגירט און \"$1\" איז נישט אין דער ווײַסער ליסטע.",
"img-auth-nofile": "טעקע \"$1\" עקזיסטירט נישט.",
"creditspage": "בלאט קרעדיטס",
"nocredits": "נישט פאראן קיין אינפארמאציע פאר דעם בלאט.",
"spamprotectiontitle": "ספעם באשיצונג פילטער",
+ "spamprotectionmatch": "די פאלגנדער טעקסט האט געלאזט אין גאנג אונזער ספאם־פילטער: $1",
"spambot_username": "מעדיעוויקי ספאם פוצן",
"spam_reverting": "צוריקגעשטעלט צו דער לעצטער ווערסיע אן לינקען צו $1",
"spam_blanking": "אלע רעוויזיעס האבן לינקען צו $1, אויסליידיקן",
"spam_deleting": "אלע רעוויזיעס האבן לינקען צו $1, אויסמעקן",
+ "simpleantispam-label": "אנטי־ספאם קאנטראלע.\n'''נישט''' אײַנגעבן קיין אײַנגאב דא!",
"pageinfo-title": "אינפֿאָרמאַציע פֿאַר \"$1\"",
"pageinfo-not-current": "קען ווייזן אינפארמאציע נאר פאר דער לויפיקער רעוויזיע.",
"pageinfo-header-basic": "גרונטלעכע אינפֿארמאַציע",
"exif-giffilecomment": "GIF טעקע הערה",
"exif-intellectualgenre": "ארט איינהייט",
"exif-subjectnewscode": "טעמע קאד",
+ "exif-scenecode": "IPTC סצענע־קאד",
+ "exif-event": "געוויזענער געשעעניש",
"exif-organisationinimage": "אויסגעשטעלטע ארגאניזאציע",
"exif-personinimage": "אויסגעשטעלטער מענטש",
+ "exif-originalimageheight": "בילד־הייך פארן צעשנײַדן",
+ "exif-originalimagewidth": "בילד־ברייט פארן צעשנײַדן",
"exif-compression-1": "אומ-צאמגעקוועטשט",
"exif-copyrighted-true": "געשיצט מיט קאפירעכט",
"exif-copyrighted-false": "קאפירעכט סטאטוס נישט געשטעלט",
"exif-lightsource-9": "פֿייַן וועטער",
"exif-lightsource-10": "פאַרוואָלקנטער וועטער",
"exif-lightsource-11": "שאָטן",
+ "exif-lightsource-255": "אנדער ליכטקוואל",
+ "exif-flash-fired-0": "קיין פלאש",
"exif-flash-mode-3": "אויטא מאדע",
"exif-flash-function-1": "קיין בליץ־פונקציע",
"exif-flash-redeye-1": "רויט־אויג רעדוקציע",
"watchlistedit-raw-done": "אייער אויפֿפאַסונג ליסטע איז געווארן דערהײַנטיקט",
"watchlistedit-raw-added": "{{PLURAL:$1|1 טיטל איז|$1 טיטלען זענען}} געווען צוגעלייגט:",
"watchlistedit-raw-removed": "{{PLURAL:$1|1 טיטל איז|$1 טיטלען זענען}} געווען אַראָפגענומען:",
+ "watchlistedit-clear-title": "אפגעראמט די אויפפאסן ליסטע",
"watchlistedit-clear-legend": "ליידיקן די אויפפאסן ליסטע",
+ "watchlistedit-clear-explain": "אלע בלעטער וועט מען אראפנעמען פון אײַער אויפפאסונג־ליסטע",
"watchlistedit-clear-titles": "טיטלען:",
"watchlisttools-clear": "ליידיקן די אויפפאסן ליסטע",
"watchlisttools-view": "ווייזן שייכדיגע ענדערונגען",
"version-parser-extensiontags": "פארזער פארברייטערן טאַגן",
"version-hook-name": "נאמען פון hook",
"version-version": "(ווערסיע $1)",
+ "version-no-ext-name": "[קיין נאמען]",
"version-license": "מעדיעוויקי ליצענץ",
"version-ext-license": "ליצענץ",
"version-ext-colheader-name": "פארברייטערונג",
+ "version-skin-colheader-name": "סקין",
"version-ext-colheader-version": "ווערסיע",
"version-ext-colheader-license": "ליצענץ",
"version-ext-colheader-description": "באַשרײַבונג",
"version-ext-colheader-credits": "שרייבער",
+ "version-license-title": "ליצענץ פאר $1",
"version-poweredby-others": "אַנדערע",
"version-poweredby-translators": "translatewiki.net איבערזעצער",
"version-credits-summary": "מיר ווילן אנערקענען די פֿאלגנדע מענטשן פֿאר זייער בײַשטײַערוג צו [[Special:Version|מעדיעוויקי]].",
"noemailcreate": "您需要提供一個有效的電子郵件位址。",
"passwordsent": "使用者 \"$1\" 的新密碼已寄至當出登記的電子郵件地址,\n請稍後收到信件後再登入。",
"blocked-mailpassword": "您的 IP 位址已被封鎖不允許編輯,密碼復原的功能也同樣被禁止使用以防止被濫用。",
- "eauthentsent": "以寄出一封確認信到您所設定的電子郵件位址。\n在未收到其它電子郵件前,您必須先依照信件中的指示,確認這個帳戶確實是您本人。",
+ "eauthentsent": "已寄出一封確認信到您所設定的電子郵件位址。\n在未收到其它電子郵件前,您必須先依照信件中的指示,確認這個帳戶確實是您本人。",
"throttled-mailpassword": "密碼重設的電子郵件已經在最近 $1 小時內寄出。\n為防止濫用,$1 小時內只能寄出一次密碼重設信件。",
"mailerror": "寄出電子郵件錯誤:$1",
"acct_creation_throttle_hit": "使用您目前的 IP 位址的訪客在最近一天建立了 {{PLURAL:$1|1 個帳戶|$1 個帳戶}},已超出系統允許的上限。\n因此,目前無法讓使用此 IP 位址的訪客建立帳戶。",
"ooui-dialog-action-close": "Aizvērt",
"ooui-outline-control-move-down": "Pārvietot vienumu uz leju",
"ooui-outline-control-move-up": "Pārvietot vienumu uz augšu",
- "ooui-toolbar-more": "Vairāk"
+ "ooui-toolbar-more": "Vairāk",
+ "ooui-dialog-confirm-title": "Apstiprināt",
+ "ooui-dialog-confirm-default-prompt": "Vai esat pārliecināts?",
+ "ooui-dialog-confirm-default-ok": "Labi",
+ "ooui-dialog-confirm-default-cancel": "Atcelt"
}
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="apply" style="opacity:0.75;">
- <polygon id="check" style="fill-rule:evenodd;clip-rule:evenodd;" points="19.062,5.139 17.418,4 8.867,16.357 5.413,12.903 4,14.316 9.021,19.338"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="apply" opacity=".75">
+ <path id="check" fill-rule="evenodd" clip-rule="evenodd" d="M19.062 5.139l-1.644-1.139-8.551 12.357-3.454-3.454-1.413 1.413 5.021 5.022z"/>
+ </g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="apply" style="opacity:0.75;">
- <path d="M13,8 L11,8 L11,11 L8,11 L8,13 L11,13 L11,16 L13,16 L13,13 L16,13 L16,11 L13,11 z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="apply" opacity=".75">
+ <path d="M13 8h-2v3h-3v2h3v3h2v-3h3v-2h-3z"/>
+ </g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="settings" style="opacity:0.75;">
- <path id="gear" style="fill-rule:evenodd;clip-rule:evenodd;" d="M20.869,13.476C20.948,12.994,21,12.504,21,12
- s-0.052-0.994-0.131-1.476l-2.463-0.259c-0.149-0.556-0.367-1.082-0.648-1.57l1.558-1.924c-0.576-0.806-1.281-1.511-2.087-2.087
- l-1.924,1.558c-0.488-0.281-1.015-0.499-1.57-0.648l-0.259-2.463C12.994,3.052,12.504,3,12,3s-0.994,0.052-1.476,0.131
- l-0.259,2.463C9.71,5.743,9.184,5.961,8.695,6.242L6.771,4.685C5.966,5.261,5.261,5.966,4.685,6.771l1.558,1.924
- c-0.281,0.488-0.499,1.015-0.648,1.57l-2.463,0.259C3.052,11.006,3,11.496,3,12s0.052,0.994,0.131,1.476l2.463,0.259
- c0.149,0.556,0.367,1.082,0.648,1.57l-1.558,1.924c0.576,0.806,1.281,1.511,2.087,2.087l1.924-1.558
- c0.488,0.281,1.015,0.499,1.57,0.648l0.259,2.463C11.006,20.948,11.496,21,12,21s0.994-0.052,1.476-0.131l0.259-2.463
- c0.556-0.149,1.082-0.367,1.57-0.648l1.924,1.558c0.806-0.576,1.511-1.281,2.087-2.087l-1.558-1.924
- c0.281-0.488,0.499-1.015,0.648-1.57L20.869,13.476z M12,15.998c-2.209,0-3.998-1.789-3.998-3.998S9.791,8.002,12,8.002
- S15.998,9.791,15.998,12S14.209,15.998,12,15.998z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="settings" opacity=".75">
+ <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" fill-rule="evenodd" clip-rule="evenodd"/>
+ </g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="alert" style="opacity:0.75;">
- <rect id="point" x="11" y="16" style="fill-rule:evenodd;clip-rule:evenodd;" width="2" height="2"/>
- <polygon id="stroke" style="fill-rule:evenodd;clip-rule:evenodd;" points="13.516,10 10.516,10 11,15 13,15"/>
- <path id="triangle" d="M12.017,5.974L19.536,19H4.496L12.017,5.974 M12.017,3.5c-0.544,0-1.088,0.357-1.5,1.071L2.532,18.402 C1.707,19.831,2.382,21,4.032,21H20c1.65,0,2.325-1.169,1.5-2.599L13.517,4.572C13.104,3.857,12.561,3.5,12.017,3.5L12.017,3.5z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="alert" opacity=".75">
+ <path id="point" fill-rule="evenodd" clip-rule="evenodd" d="M11 16h2v2h-2z"/>
+ <path id="stroke" fill-rule="evenodd" clip-rule="evenodd" 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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="arched-arrow-ltr" style="opacity:0.75;">
- <path id="arrow" style="fill-rule:evenodd;clip-rule:evenodd;" d="M19.925,14.937l-2.391-6.901l-1.48,2.329 c-0.964-0.845-2.699-1.85-5.513-1.823c-4.887,0.046-6.524,4.244-6.524,4.244s2.753-2.639,6.925-1.949 c1.729,0.286,3.007,1.206,3.675,1.791l-1.474,2.319L19.925,14.937z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="arched-arrow-ltr" opacity=".75">
+ <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" fill-rule="evenodd" clip-rule="evenodd"/>
+ </g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="arched-arrow-rtl" style="opacity:0.75;">
- <path id="arrow" style="fill-rule:evenodd;clip-rule:evenodd;" d="M13.401,8.542c-2.814-0.027-4.549,0.978-5.513,1.823 l-1.48-2.329l-2.391,6.901l6.782,0.009l-1.474-2.319c0.668-0.584,1.945-1.504,3.675-1.791c4.172-0.69,6.925,1.949,6.925,1.949 S18.288,8.588,13.401,8.542z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="arched-arrow-rtl" opacity=".75">
+ <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" fill-rule="evenodd" clip-rule="evenodd"/>
+ </g>
</svg>
<?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="0px" y="0px" width="24" height="24" viewBox="0, 0, 24, 24">
- <g id="check">
- <path d="M7.105,13.473 L8.527,12.05 L10.428,13.952 L15.238,7 L16.895,8.148 L10.635,17 z" fill="#000000"/>
- </g>
- <defs/>
+<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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="clear" style="opacity:0.75;">
- <path id="circle_with_strike" style="fill-rule:evenodd;clip-rule:evenodd;" d="M11.999,5.022c-3.853,0-6.977,3.124-6.977,6.978 c0,3.853,3.124,6.978,6.977,6.978c3.854,0,6.979-3.125,6.979-6.978C18.978,8.146,15.853,5.022,11.999,5.022z M6.886,12 c0-1.092,0.572-3.25,0.93-2.929l7.113,7.113c0.488,0.525-1.837,0.931-2.93,0.931C9.174,17.114,6.886,14.824,6.886,12z M16.184,14.929L9.07,7.816c-0.445-0.483,1.837-0.931,2.929-0.931c2.827,0,5.115,2.289,5.115,5.114 C17.114,13.092,16.75,15.542,16.184,14.929z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="clear" opacity=".75">
+ <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" fill-rule="evenodd" clip-rule="evenodd"/>
+ </g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="close" style="opacity:0.75;">
- <polygon id="x" style="fill-rule:evenodd;clip-rule:evenodd;" points="18.717,6.697 17.303,5.283 12,10.586 6.697,5.283 5.283,6.697 10.586,12 5.283,17.303 6.697,18.717 12,13.414 17.303,18.717 18.717,17.303 13.414,12 "/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="close" opacity=".75">
+ <path id="x" fill-rule="evenodd" clip-rule="evenodd" 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>
<?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" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
-<g id="code" opacity="0.75">
- <path id="left-bracket" d="M4,12v-1h1c1,0,1,0,1-1V7.614C6,7.1,6.024,6.718,6.073,6.472C6.127,6.22,6.212,6.009,6.33,5.839
- C6.534,5.56,6.803,5.364,7.138,5.255C7.473,5.14,8.01,5,8.973,5H10v1H9.248c-0.457,0-0.77,0.191-0.936,0.408
- C8.145,6.623,8,6.853,8,7.476v1.857c0,0.729-0.041,1.18-0.244,1.493c-0.2,0.307-0.562,0.529-1.09,0.667
- c0.535,0.155,0.9,0.385,1.096,0.688C7.961,12.484,8,12.938,8,13.665v1.862c0,0.619,0.145,0.848,0.312,1.062
- c0.166,0.22,0.479,0.407,0.936,0.407L10,17l0,0v1H8.973c-0.963,0-1.5-0.133-1.835-0.248c-0.335-0.109-0.604-0.307-0.808-0.591
- c-0.118-0.165-0.203-0.374-0.257-0.625C6.024,16.283,6,15.9,6,15.387V13c0-1,0-1-1-1H4z"/>
- <use transform="matrix(-1,0,0,1,24,0)" id="right-bracket" x="0" y="0" width="24" height="24" xlink:href="#left-bracket" />
-</g>
+<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" opacity=".75">
+ <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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="collapse" style="opacity:0.75;">
- <polygon id="arrow" style="fill-rule:evenodd;clip-rule:evenodd;" points="6.697,15.714 12,10.412 17.303,15.714 18.717,14.3 12,7.583 5.283,14.3"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="collapse" opacity=".75">
+ <path id="arrow" fill-rule="evenodd" clip-rule="evenodd" 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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="comment" style="opacity:0.75;">
- <path id="speech_bubble" style="fill-rule:evenodd;clip-rule:evenodd;" d="M15,6H9C7.343,6,6,7.344,6,9v4c0,1.656,1.343,3,3,3v3 l3-3h3c1.657,0,3-1.344,3-3V9C18,7.344,16.657,6,15,6z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="comment" opacity=".75">
+ <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" fill-rule="evenodd" clip-rule="evenodd"/>
+ </g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="expand" style="opacity:0.75;">
- <polygon id="arrow" style="fill-rule:evenodd;clip-rule:evenodd;" points="17.303,8.283 12,13.586 6.697,8.283 5.283,9.697 12,16.414 18.717,9.697"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="expand" opacity=".75">
+ <path id="arrow" fill-rule="evenodd" clip-rule="evenodd" 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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="help" style="opacity:0.75;">
- <path id="circle" style="fill-rule:evenodd;clip-rule:evenodd;" d="M12.001,2.085c-5.478,0-9.916,4.438-9.916,9.916 c0,5.476,4.438,9.914,9.916,9.914c5.476,0,9.914-4.438,9.914-9.914C21.915,6.523,17.477,2.085,12.001,2.085z M12.002,20.085 c-4.465,0-8.084-3.619-8.084-8.083c0-4.465,3.619-8.084,8.084-8.084c4.464,0,8.083,3.619,8.083,8.084 C20.085,16.466,16.466,20.085,12.002,20.085z"/>
- <g id="question_mark">
- <path id="top" style="fill-rule:evenodd;clip-rule:evenodd;" d="M11.766,6.688c-2.5,0-3.219,2.188-3.219,2.188l1.411,0.854 c0,0,0.298-0.791,0.901-1.229c0.516-0.375,1.625-0.625,2.219,0.125c0.701,0.885-0.17,1.587-1.078,2.719 C11.047,12.531,11,15,11,15h1.969c0,0,0.135-2.318,1.041-3.381c0.603-0.707,1.443-1.338,1.443-2.494S14.266,6.688,11.766,6.688z"/>
- <rect id="bottom" x="11" y="16" style="fill-rule:evenodd;clip-rule:evenodd;" width="2" height="2"/>
- </g>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="help" opacity=".75" fill-rule="evenodd" clip-rule="evenodd">
+ <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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="history" style="opacity:0.75;">
- <path id="clock_hands" style="fill-rule:evenodd;clip-rule:evenodd;" d="M17.26,15.076c0,0-2.385-1.935-4.005-3.062 c0.72-2.397,1.702-6.559,1.702-6.559s-4.35,5.363-4.877,6.699c-0.463,1.168,1.459,2.209,2.346,1.678 C14.326,14.383,17.26,15.076,17.26,15.076z"/>
- <path id="arrow" style="fill-rule:evenodd;clip-rule:evenodd;" d="M12.086,2.085c-5.478,0-9.916,4.438-9.916,9.916 c0,1.783,0.476,3.454,1.301,4.898l-2.223,2.04h5.688v-5.219l-2.066,1.896c-0.55-1.088-0.866-2.312-0.866-3.615 c0-4.465,3.619-8.084,8.084-8.084c4.464,0,8.083,3.619,8.083,8.084c0,4.464-3.619,8.083-8.083,8.083 c-1.145,0-2.228-0.247-3.213-0.678l-0.833,1.634c1.235,0.557,2.602,0.874,4.045,0.874c5.476,0,9.914-4.438,9.914-9.914 C22,6.523,17.562,2.085,12.086,2.085z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="history" opacity=".75" fill-rule="evenodd" clip-rule="evenodd">
+ <path id="clock_hands" d="M17.26 15.076s-2.385-1.935-4.005-3.062c.72-2.397 1.702-6.559 1.702-6.559s-4.35 5.363-4.877 6.699c-.463 1.168 1.459 2.209 2.346 1.678 1.9.551 4.834 1.244 4.834 1.244z"/>
+ <path id="arrow" d="M12.086 2.085c-5.478 0-9.916 4.438-9.916 9.916 0 1.783.476 3.454 1.301 4.898l-2.223 2.04h5.688v-5.219l-2.066 1.896c-.55-1.088-.866-2.312-.866-3.615 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.083-1.145 0-2.228-.247-3.213-.678l-.833 1.634c1.235.557 2.602.874 4.045.874 5.476 0 9.914-4.438 9.914-9.914-.001-5.477-4.439-9.915-9.915-9.915z"/>
+ </g>
</svg>
<?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="0px" y="0px" width="24" height="24" viewBox="0, 0, 24, 24">
- <g id="help" opacity="0.75">
- <path d="M11.499,17 C8.463,17 6,14.536 6,11.5 C6,8.463 8.462,6 11.499,6 C14.536,6 17,8.462 17,11.5 C17,14.536 14.536,17 11.499,17 z M11.501,5 C7.91,5 5,7.91 5,11.5 C5,15.09 7.91,18 11.501,18 C15.089,18 18,15.089 18,11.5 C18,7.911 15.089,5 11.501,5 z" fill="#000000"/>
- <path d="M12,10 L12,14 L13,14 L13,15 L10,15 L10,14 L11,14 L11,11 L10,11 L10,10 z" fill="#000000"/>
- <path d="M11,8 L12,8 L12,9 L11,9 z" fill="#000000"/>
- </g>
- <defs/>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0, 0, 24, 24">
+ <g id="help" opacity=".75">
+ <path 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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="link" style="opacity:0.75;">
- <path id="right" d="M19.188,12.001c0,1.1-0.891,2.015-1.988,2.015l-4.195-0.015C13.543,15.089,13.968,16,15.002,16h3
- C19.658,16,21,13.657,21,12s-1.342-4-2.998-4h-3c-1.034,0-1.459,0.911-1.998,1.999l4.195-0.015
- C18.297,9.984,19.188,10.901,19.188,12.001z"/>
- <path id="center" d="M8,12c0,0.535,0.42,1,0.938,1h6.109c0.518,0,0.938-0.465,0.938-1c0-0.534-0.42-1-0.938-1H8.938
- C8.42,11,8,11.466,8,12z"/>
- <path id="left" d="M4.816,11.999c0-1.1,0.891-2.015,1.988-2.015L11,9.999C10.461,8.911,10.036,8,9.002,8h-3
- c-1.656,0-2.998,2.343-2.998,4s1.342,4,2.998,4h3c1.034,0,1.459-0.911,1.998-1.999l-4.195,0.015
- C5.707,14.016,4.816,13.099,4.816,11.999z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="link" opacity=".75">
+ <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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="menu" style="opacity:0.75;">
- <path id="lines" d="M6,15h12c0.553,0,1,0.447,1,1v1c0,0.553-0.447,1-1,1H6c-0.553,0-1-0.447-1-1v-1C5,15.447,5.447,15,6,15z M5,11v1
- c0,0.553,0.447,1,1,1h12c0.553,0,1-0.447,1-1v-1c0-0.553-0.447-1-1-1H6C5.447,10,5,10.447,5,11z M5,6v1c0,0.553,0.447,1,1,1h12
- c0.553,0,1-0.447,1-1V6c0-0.553-0.447-1-1-1H6C5.447,5,5,5.447,5,6z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="menu" opacity=".75">
+ <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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="move-ltr" style="opacity:0.75;">
- <polygon id="arrow" style="fill-rule:evenodd;clip-rule:evenodd;" points="8.935,7.181 14.237,12.483 8.935,17.786
- 10.349,19.2 17.065,12.483 10.349,5.767"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="move-ltr" opacity=".75">
+ <path id="arrow" fill-rule="evenodd" clip-rule="evenodd" 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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="move-rtl" style="opacity:0.75;">
- <polygon id="arrow_9_" style="fill-rule:evenodd;clip-rule:evenodd;" points="15.065,17.786 9.763,12.483 15.065,7.181
- 13.651,5.767 6.935,12.483 13.651,19.2"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="move-rtl" opacity=".75">
+ <path id="arrow_9_" fill-rule="evenodd" clip-rule="evenodd" 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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="picture" style="opacity:0.75;">
- <path id="frame" style="fill-rule:evenodd;clip-rule:evenodd;" d="M18,4H6C4,3.993,3,4.993,3,6.993L3.014,16C3,18,4,18.988,6,19h12
- c2-0.012,2.994-1,3-3.006V6.993C20.994,4.993,20,3.993,18,4z M19,17H5V6h14V17z"/>
- <polygon id="mountains" style="fill-rule:evenodd;clip-rule:evenodd;" points="6,13.5 9.5,10 11.828,12.312 10.516,13.406
- 11.391,14.438 15.5,11 18,13 18,16 6,16"/>
- <polygon id="sky" style="fill-rule:evenodd;clip-rule:evenodd;" points="6,12 9.516,7.844 12.562,11.016 15.5,9 18,11 18,7 6,7"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="picture" opacity=".75" fill-rule="evenodd" clip-rule="evenodd">
+ <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>
<?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="0px" y="0px" width="24" height="24" viewBox="0, 0, 24, 24">
- <g id="remove-item">
- <path d="M8,11 L16,11 L16,13 L8,13 z" fill="#000000"/>
- </g>
- <defs/>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0, 0, 24, 24">
+ <g id="remove-item">
+ <path d="M8 11h8v2h-8z"/>
+ </g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="remove" style="opacity:0.75;">
- <path id="trash_can" style="fill-rule:evenodd;clip-rule:evenodd;" d="M12,10h-1v6h1V10z M10,10H9v6h1V10z M14,10h-1v6h1V10z
- M14,6V5H9v1H6v3h1v7.966l1,1.031v-0.074V18h6.984L15,17.982v0.015l1-1.031V9h1V6H14z M15,17H8V9h7V17z M16,8H7V7h9V8z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="remove" opacity=".75">
+ <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" fill-rule="evenodd" clip-rule="evenodd"/>
+ </g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="search" style="opacity:0.75;">
- <path id="magnifying_glass" d="M16.021,15.96l-2.374-2.375c-0.048-0.047-0.105-0.079-0.169-0.099c0.403-0.566,0.643-1.26,0.643-2.009
- C14.12,9.557,12.563,8,10.644,8c-1.921,0-3.478,1.557-3.478,3.478c0,1.92,1.557,3.477,3.478,3.477c0.749,0,1.442-0.239,2.01-0.643
- c0.019,0.063,0.051,0.121,0.098,0.169l2.375,2.374c0.19,0.189,0.543,0.143,0.79-0.104S16.21,16.15,16.021,15.96z M10.644,13.69
- c-1.221,0-2.213-0.991-2.213-2.213c0-1.221,0.992-2.213,2.213-2.213c1.222,0,2.213,0.992,2.213,2.213
- C12.856,12.699,11.865,13.69,10.644,13.69z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="search" opacity=".75">
+ <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>
<?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="0px" y="0px" width="24" height="24" viewBox="0, 0, 24, 24">
- <g id="settings" opacity="0.75">
- <path d="M3,4 L6,4 L6,6 L3,6 z" fill="#000000"/>
- <path d="M12,4 L21,4 L21,6 L12,6 z" fill="#000000"/>
- <path d="M8,3 L10,3 C10.552,3 11,3.448 11,4 L11,6 C11,6.552 10.552,7 10,7 L8,7 C7.448,7 7,6.552 7,6 L7,4 C7,3.448 7.448,3 8,3 z" fill="#000000"/>
- <path d="M3,11 L12,11 L12,13 L3,13 z" fill="#000000"/>
- <path d="M18,11 L21,11 L21,13 L18,13 z" fill="#000000"/>
- <path d="M14,10 L16,10 C16.552,10 17,10.448 17,11 L17,13 C17,13.552 16.552,14 16,14 L14,14 C13.448,14 13,13.552 13,13 L13,11 C13,10.448 13.448,10 14,10 z" fill="#000000"/>
- <path d="M3,18 L9,18 L9,20 L3,20 z" fill="#000000"/>
- <path d="M15,18 L21,18 L21,20 L15,20 z" fill="#000000"/>
- <path d="M11,17 L13,17 C13.552,17 14,17.448 14,18 L14,20 C14,20.552 13.552,21 13,21 L11,21 C10.448,21 10,20.552 10,20 L10,18 C10,17.448 10.448,17 11,17 z" fill="#000000"/>
- </g>
- <defs/>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0, 0, 24, 24">
+ <g id="settings" opacity=".75">
+ <path 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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="tag" style="opacity:0.75;">
- <path d="M18.748,11.717c0.389,0.389,0.389,1.025,0,1.414l-4.949,4.95c-0.389,0.389-1.025,0.389-1.414,0l-6.01-6.01
- c-0.389-0.389-0.707-1.157-0.707-1.707L5.667,6c0-0.55,0.45-1,1-1h4.364c0.55,0,1.318,0.318,1.707,0.707L18.748,11.717z
- M8.104,7.456C7.525,8.032,7.526,8.97,8.103,9.549c0.578,0.577,1.516,0.577,2.095,0.001c0.576-0.578,0.576-1.517,0-2.095
- C9.617,6.879,8.68,6.878,8.104,7.456z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="tag" opacity=".75">
+ <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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="24px"
- height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<g id="window" style="opacity:0.75;">
- <rect id="title" x="7" y="10" width="10" height="1"/>
- <path id="window" d="M16,19H8c-2.206,0-4-1.794-4-4V9c0-2.206,1.794-4,4-4h8c2.206,0,4,1.794,4,4v6C20,17.206,18.206,19,16,19z
- M8,7C6.897,7,6,7.897,6,9v6c0,1.103,0.897,2,2,2h8c1.103,0,2-0.897,2-2V9c0-1.103-0.897-2-2-2H8z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <g id="window" opacity=".75">
+ <path id="title" d="M7 10h10v1h-10z"/>
+ <path id="window" 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>
<?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="0px" y="0px" width="12px"
- height="12px" viewBox="0 0 12 12">
- <g id="deprecated" opacity="0.75">
- <path d="M6,12 C2.686,12 -0,9.314 -0,6 C-0,2.686 2.686,-0 6,-0 C9.314,-0 12,2.686 12,6 C12,9.314 9.314,12 6,12 z M5,7 L7,7 L7,2 L5,2 z M5,10 L7,10 L7,8 L5,8 z"/>
- </g>
- <defs/>
+<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
+ <g id="deprecated" opacity=".75">
+ <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>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="12px"
- height="12px" viewBox="0 0 12 12">
-<g id="down" style="opacity:0.75;">
- <polygon id="arrow" points="2,3 5.5,9 9,3"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
+ <g id="down" opacity=".75">
+ <path id="arrow" d="M2 3l3.5 6 3.5-6z"/>
+ </g>
</svg>
<?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="0px" y="0px" width="12px"
- height="12px" viewBox="0 0 12 12">
-<g id="ltr" opacity="0.75">
- <path id="arrow" d="M3,9 L3,2 L9,5.5 z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
+ <g id="ltr" opacity=".75">
+ <path id="arrow" d="M3 9v-7l6 3.5z"/>
+ </g>
</svg>
<?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="0px" y="0px" width="12px"
- height="12px" viewBox="0 0 12 12">
-<g id="rtl" opacity="0.75">
- <path id="arrow" d="M3,5.5 L9,9 L9,2 z"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
+ <g id="rtl" opacity=".75">
+ <path id="arrow" d="M3 5.5l6 3.5v-7z"/>
+ </g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
-<!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="0px" y="0px" width="12px"
- height="12px" viewBox="0 0 12 12">
-<g id="up" style="opacity:0.75;">
- <polygon id="arrow" points="5.5,2 2,8 9,8"/>
-</g>
+<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
+ <g id="up" opacity=".75">
+ <path id="arrow" d="M5.5 2l-3.5 6h7z"/>
+ </g>
</svg>
<?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="0px" y="0px" width="12px"
- height="12px" viewBox="0 0 12 12">
- <g id="required" opacity="0.75">
- <path d="M5,1 L7,1 L7,11 L5,11 z"/>
- <path d="M9.83,2.634 L10.83,4.366 L2.17,9.366 L1.17,7.634 z"/>
- <path d="M1.17,4.366 L2.17,2.634 L10.83,7.634 L9.83,9.366 z"/>
- </g>
- <defs/>
+<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
+ <g id="required" opacity=".75">
+ <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>
/*!
- * OOjs UI v0.1.0-pre (a63f03882e)
+ * OOjs UI v0.1.0-pre (85cfc2e735)
* 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-06-27T23:51:18Z
+ * Date: 2014-07-03T02:33:09Z
*/
.oo-ui-dialog-content .oo-ui-window-closeButton {
position: absolute;
/*!
- * OOjs UI v0.1.0-pre (a63f03882e)
+ * OOjs UI v0.1.0-pre (85cfc2e735)
* 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-06-27T23:51:18Z
+ * Date: 2014-07-03T02:33:09Z
*/
.oo-ui-dialog {
background-color: #fff;
/*!
- * OOjs UI v0.1.0-pre (a63f03882e)
+ * OOjs UI v0.1.0-pre (85cfc2e735)
* 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-06-27T23:51:18Z
+ * Date: 2014-07-03T02:33:09Z
*/
( function ( OO ) {
for ( i = 0, numSheets = parentDoc.styleSheets.length; i < numSheets; i++ ) {
styleNode = parentDoc.styleSheets[i].ownerNode;
+ if ( styleNode.disabled ) {
+ continue;
+ }
if ( styleNode.nodeName.toLowerCase() === 'link' ) {
// External stylesheet
// Create a node with a unique ID that we're going to monitor to see when the CSS
this.$button.on( 'mousedown', OO.ui.bind( this.onMouseDown, this ) );
// Initialization
- this.$element.addClass( 'oo-ui-buttonedElement' );
+ this.$element
+ .addClass( 'oo-ui-buttonedElement' )
+ .prop( 'tabIndex', config.tabIndex || 0 );
this.$button
.addClass( 'oo-ui-buttonedElement-button' )
- .attr( 'role', 'button' )
- .prop( 'tabIndex', config.tabIndex || 0 );
+ .attr( 'role', 'button' );
if ( config.frameless ) {
this.$element.addClass( 'oo-ui-buttonedElement-frameless' );
} else {
this.$title.addClass( 'oo-ui-tool-title' );
this.$link
.addClass( 'oo-ui-tool-link' )
- .append( this.$icon, this.$title );
+ .append( this.$icon, this.$title )
+ .prop( 'tabIndex', 0 )
+ .attr( 'role', 'button' );
this.$element
.data( 'oo-ui-tool', this )
.addClass(
/*!
- * OOjs UI v0.1.0-pre (a63f03882e)
+ * OOjs UI v0.1.0-pre (85cfc2e735)
* 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-06-27T23:51:18Z
+ * Date: 2014-07-03T02:33:09Z
*/
/* Textures */
display: table;
overflow: auto;
text-align: center;
- padding: 3px;
border: 1px solid #ccc;
border-bottom: 0; // No border to caption
border-collapse: collapse;
figure[typeof~='mw:Image/Frame'] > *:first-child > img,
.mw-image-border > *:first-child > img {
border: 1px solid #cccccc;
- margin: 4px;
+ margin: 3px;
}
/* Hide the caption for frameless and plain floated images */
label[for="mw-input-wpConfirm"] {
font-weight: bold;
}
+
+tr.mw-block-hideuser {
+ font-weight: bold;
+}
vertical-align: top;
}
-/* Special:Block */
-tr.mw-block-hideuser {
- font-weight: bold;
-}
-
/* Special:BlockList */
table.mw-blocklist span.mw-usertoollinks,
span.mw-blocklist-actions {
text-align: right;
}
-
-/* Special:Search */
-.searchresults {
-}
-
-.searchresults p {
- margin-left: 0.4em;
- margin-top: 1em;
- margin-bottom: 1.2em;
-}
-div.searchresult {
- font-size: 95%;
- width: 38em;
-}
-.mw-search-results {
- margin-left: 0.4em;
-}
-.mw-search-results li {
- padding-bottom: 1.2em;
- list-style: none;
- list-style-image: none;
-}
-.mw-search-results li a {
- font-size: 108%;
-}
-.mw-search-result-data {
- color: green;
- font-size: 97%;
-}
-.mw-search-formheader {
- background-color: #f3f3f3;
- margin-top: 1em;
- border: 1px solid silver;
-}
-.mw-search-formheader div.search-types {
- float: left;
- padding-left: 0.25em;
-}
-.mw-search-formheader div.search-types ul {
- margin: 0 !important;
- padding: 0 !important;
- list-style: none !important;
-}
-.mw-search-formheader div.search-types ul li {
- float: left;
- margin: 0;
- padding: 0;
-}
-.mw-search-formheader div.search-types ul li a {
- display: block;
- padding: 0.5em;
-}
-.mw-search-formheader div.search-types ul li.current a {
- color: #333333;
- cursor: default;
-}
-.mw-search-formheader div.search-types ul li.current a:hover {
- text-decoration: none;
-}
-#mw-search-top-table div.results-info {
- float: right;
- padding: 0.5em;
- padding-right: 0.75em;
- color: #666;
- font-size: 95%;
-}
-
-fieldset#mw-searchoptions {
- margin: 0;
- padding: 0.5em 0.75em 0.75em 0.75em !important;
- border: none;
- background-color: #f9f9f9;
- border: 1px solid silver !important;
- border-top-width: 0 !important;
-}
-fieldset#mw-searchoptions legend {
- display: none;
-}
-fieldset#mw-searchoptions h4 {
- padding: 0;
- margin: 0;
- float: left;
-}
-fieldset#mw-searchoptions div#mw-search-togglebox {
- float: right;
-}
-fieldset#mw-searchoptions div#mw-search-togglebox label {
- margin-right: 0.25em;
-}
-fieldset#mw-searchoptions div#mw-search-togglebox input {
- margin-left: 0.25em;
-}
-fieldset#mw-searchoptions table {
- float: left;
- margin-right: 3em;
-}
-fieldset#mw-searchoptions table td {
- padding-right: 1em;
-}
-fieldset#mw-searchoptions div.divider {
- clear: both;
- border-bottom: 1px solid #DDDDDD;
- padding-top: 0.5em;
- margin-bottom: 0.5em;
-}
-td#mw-search-menu {
- padding-left:6em;
- font-size:85%;
-}
-div#mw-search-interwiki {
- float: right;
- width: 18em;
- border: 1px solid #AAAAAA;
- margin-top: 2ex;
-}
-div#mw-search-interwiki li {
- font-size: 95%;
-}
-.mw-search-interwiki-more {
- float: right;
- font-size: 90%;
-}
-div#mw-search-interwiki-caption {
- text-align: center;
- font-weight: bold;
- font-size: 95%;
-}
-.mw-search-interwiki-project {
- font-size: 97%;
- text-align: left;
- padding: 0.15em 0.15em 0.2em 0.2em;
- background-color: #ececec;
- border-top: 1px solid #BBBBBB;
-}
-span.searchalttitle {
- font-size: 95%;
-}
-div.searchdidyoumean {
- font-size: 127%;
- margin-top: 0.8em;
- /* Note that this color won't affect the link, as desired. */
- color: #c00;
-}
-div.searchdidyoumean em {
- font-weight: bold;
-}
-.searchmatch {
- font-weight: bold;
-}
-/* Advanced PowerSearch box */
-td#mw-search-togglebox {
- text-align: right;
-}
-table#mw-search-powertable {
- width: 100%;
-}
-form#powersearch {
- clear: both;
-}
-
/* Special:Specialpages */
.mw-specialpagerestricted {
font-weight: bold;
+/* Special:Search */
+
/*
* Fixes sister projects box moving down the extract
* of the first result (bug #16886).
.searchresult {
display: inline !ie;
}
+.searchresults {
+}
+.searchresults p {
+ margin-left: 0.4em;
+ margin-top: 1em;
+ margin-bottom: 1.2em;
+}
+div.searchresult {
+ font-size: 95%;
+ width: 38em;
+}
+.mw-search-results {
+ margin-left: 0.4em;
+}
+.mw-search-results li {
+ padding-bottom: 1.2em;
+ list-style: none;
+ list-style-image: none;
+}
+.mw-search-results li a {
+ font-size: 108%;
+}
+.mw-search-result-data {
+ color: green;
+ font-size: 97%;
+}
+.mw-search-formheader {
+ background-color: #f3f3f3;
+ margin-top: 1em;
+ border: 1px solid silver;
+}
+.mw-search-formheader div.search-types {
+ float: left;
+ padding-left: 0.25em;
+}
+.mw-search-formheader div.search-types ul {
+ margin: 0 !important;
+ padding: 0 !important;
+ list-style: none !important;
+}
+.mw-search-formheader div.search-types ul li {
+ float: left;
+ margin: 0;
+ padding: 0;
+}
+.mw-search-formheader div.search-types ul li a {
+ display: block;
+ padding: 0.5em;
+}
+.mw-search-formheader div.search-types ul li.current a {
+ color: #333333;
+ cursor: default;
+}
+.mw-search-formheader div.search-types ul li.current a:hover {
+ text-decoration: none;
+}
+#mw-search-top-table div.results-info {
+ float: right;
+ padding: 0.5em;
+ padding-right: 0.75em;
+ color: #666;
+ font-size: 95%;
+}
+
+fieldset#mw-searchoptions {
+ margin: 0;
+ padding: 0.5em 0.75em 0.75em 0.75em !important;
+ border: none;
+ background-color: #f9f9f9;
+ border: 1px solid silver !important;
+ border-top-width: 0 !important;
+}
+fieldset#mw-searchoptions legend {
+ display: none;
+}
+fieldset#mw-searchoptions h4 {
+ padding: 0;
+ margin: 0;
+ float: left;
+}
+fieldset#mw-searchoptions div#mw-search-togglebox {
+ float: right;
+}
+fieldset#mw-searchoptions div#mw-search-togglebox label {
+ margin-right: 0.25em;
+}
+fieldset#mw-searchoptions div#mw-search-togglebox input {
+ margin-left: 0.25em;
+}
+fieldset#mw-searchoptions table {
+ float: left;
+ margin-right: 3em;
+}
+fieldset#mw-searchoptions table td {
+ padding-right: 1em;
+}
+fieldset#mw-searchoptions div.divider {
+ clear: both;
+ border-bottom: 1px solid #DDDDDD;
+ padding-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+td#mw-search-menu {
+ padding-left:6em;
+ font-size:85%;
+}
+div#mw-search-interwiki {
+ float: right;
+ width: 18em;
+ border: 1px solid #AAAAAA;
+ margin-top: 2ex;
+}
+div#mw-search-interwiki li {
+ font-size: 95%;
+}
+.mw-search-interwiki-more {
+ float: right;
+ font-size: 90%;
+}
+div#mw-search-interwiki-caption {
+ text-align: center;
+ font-weight: bold;
+ font-size: 95%;
+}
+.mw-search-interwiki-project {
+ font-size: 97%;
+ text-align: left;
+ padding: 0.15em 0.15em 0.2em 0.2em;
+ background-color: #ececec;
+ border-top: 1px solid #BBBBBB;
+}
+span.searchalttitle {
+ font-size: 95%;
+}
+div.searchdidyoumean {
+ font-size: 127%;
+ margin-top: 0.8em;
+ /* Note that this color won't affect the link, as desired. */
+ color: #c00;
+}
+div.searchdidyoumean em {
+ font-weight: bold;
+}
+.searchmatch {
+ font-weight: bold;
+}
+/* Advanced PowerSearch box */
+td#mw-search-togglebox {
+ text-align: right;
+}
+table#mw-search-powertable {
+ width: 100%;
+}
+form#powersearch {
+ clear: both;
+}
"@metadata": {
"authors": [
"Sanbec",
- "Vivaelcelta"
+ "Vivaelcelta",
+ "Fitoschido"
]
},
"skinname-monobook": "MonoBook",
+ "monobook-desc": "El tema clásico de MediaWiki desde 2004, cuyo nombre viene de la foto en blanco y negro de un libro en el fondo",
"monobook.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia \"MonoBook\" */",
"monobook.js": "/* El código JavaScript que se ponga aquí será cargado por los usuarios de la apariencia MonoBook */"
}
{
+ "@metadata": {
+ "authors": [
+ "Reza1615"
+ ]
+ },
"skinname-monobook": "مونوبوک",
+ "monobook-desc": "پوسته کلاسیک مدیاویکی از سال ۲۰۰۴ از عکس سیاه و سفید در زمینه صفحه کتاب نام گرفت",
"monobook.css": "/* دستورات این بخش کاربرانی را که از پوستهٔ مونوبوک استفاده کنند تحت تاثیر قرار میدهند. */"
}
"@metadata": {
"authors": [
"Dim Grits",
- "Matma Rex"
+ "Matma Rex",
+ "Ата"
]
},
"skinname-monobook": "Моно-книга",
+ "monobook-desc": "Класична тема оформлення MediaWiki з 2004 року, названа за чорно-білим фото книги на фоні сторінки",
"monobook.css": "/* Розміщений тут CSS буде застосовуватися до всіх тем оформлення Monobook */",
"monobook.js": "/* Розміщений тут код JavaScript буде завантажений для всіх користувачів, що використовують тему оформлення Моно-книга */"
}
]
},
"skinname-vector": "Vector",
+ "vector-skin-desc": "Versión moderna de MonoBook, con un aspecto actualizado y muchas mejoras de usabilidad",
"vector.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia \"Vector\" */",
"vector.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Vector */",
- "vector-action-addsection": "Nueva sección",
+ "vector-action-addsection": "Sección nueva",
"vector-action-delete": "Borrar",
"vector-action-move": "Trasladar",
"vector-action-protect": "Proteger",
"@metadata": {
"authors": [
"Unai Fdz. de Betoño",
- "Xabier Armendaritz"
+ "Xabier Armendaritz",
+ "Fitoschido"
]
},
"vector-action-addsection": "Gehitu atala",
"vector-view-edit": "Aldatu",
"vector-view-history": "Ikusi historia",
"vector-view-view": "Irakurri",
- "vector-view-viewsource": "Kodea ikusia"
+ "vector-view-viewsource": "Kodea ikusia",
+ "vector-more-actions": "Gehiago"
}
]
},
"skinname-vector": "برداری",
+ "vector-skin-desc": "نسخه مدرن منوبوک با نگاه تازه و بهبود قابلیت استفاده",
"vector-action-addsection": "افزودن بخش",
"vector-action-delete": "حذف",
"vector-action-move": "انتقال",
"Pyt"
]
},
+ "vector-skin-desc": "Modern werjuun faan Monobook mä frisk skak an föl muar mögelkhaiden",
"vector-action-addsection": "Nei kirew began",
"vector-action-delete": "Strik",
"vector-action-move": "Fersküüw",
"vector-view-edit": "Bewerke",
"vector-view-history": "Ferluup uunluke",
"vector-view-view": "Lees",
- "vector-view-viewsource": "Kweltekst uunluke"
+ "vector-view-viewsource": "Kweltekst uunluke",
+ "vector-more-actions": "Muar"
}
"Dim Grits",
"NickK",
"Prima klasy4na",
- "Тест"
+ "Тест",
+ "Ата"
]
},
"skinname-vector": "Векторне",
+ "vector-skin-desc": "Сучасна версія MonoBook зі свіжим виглядом і багатьма зручними покращеннями",
"vector.css": "/* Розміщений тут CSS-код буде використаний в темі оформлення Векторне */",
"vector.js": "/* Розміщений тут код JavaScript буде завантажений для всіх користувачів, що використовують векторну тему оформлення */",
"vector-action-addsection": "Додати тему",
source "https://rubygems.org"
-gem "chunky_png"
gem "mediawiki_api"
gem "mediawiki_selenium"
builder (3.2.2)
childprocess (0.5.3)
ffi (~> 1.0, >= 1.0.11)
- chunky_png (1.3.1)
cucumber (1.3.15)
builder (>= 2.1.2)
diff-lcs (>= 1.1.3)
domain_name (~> 0.5)
i18n (0.6.9)
json (1.8.1)
- mediawiki_api (0.1.2)
+ mediawiki_api (0.1.3)
faraday (~> 0.9, >= 0.9.0)
faraday-cookie_jar (~> 0.0, >= 0.0.6)
mediawiki_selenium (0.2.25)
mime-types (>= 1.16)
rspec-expectations (2.99.1)
diff-lcs (>= 1.1.3, < 2.0)
- rubyzip (1.1.4)
+ rubyzip (1.1.5)
selenium-webdriver (2.42.0)
childprocess (>= 0.5.0)
multi_json (~> 1.0)
ruby
DEPENDENCIES
- chunky_png
mediawiki_api
mediawiki_selenium
-@chrome @clean @en.wikipedia.beta.wmflabs.org @firefox @phantomjs @test2.wikipedia.org
+@chrome @clean @en.wikipedia.beta.wmflabs.org @firefox @login @phantomjs @test2.wikipedia.org
Feature: Create Page With Wiki Link
Scenario: Create Page With Wiki Link
And I go to the "Link Source Test Page" page with content "This is a [[Link Target Test Page|link to the test target page]] right here."
When I click the Link Target link
Then I should be on the Link Target Test Page
- And the page content should contain "Link Target Test Page"
\ No newline at end of file
+ And the page content should contain "Link Target Test Page"
-@chrome @clean @en.wikipedia.beta.wmflabs.org @firefox @phantomjs @test2.wikipedia.org
+@chrome @clean @en.wikipedia.beta.wmflabs.org @firefox @login @phantomjs @test2.wikipedia.org
Feature: Edit Page
Scenario: Create and edit page
Given I go to the "Editing Test Page" page with content "This is a page to test editing"
When I click Edit
And I edit the page with "Edited and a random string"
+ And I click Preview
+ And I click Show Changes
And I save the edit
Then the edited page content should contain "Edited and a random string"
--- /dev/null
+#
+# This file is subject to the license terms in the LICENSE file found in the
+# qa-browsertests top-level directory and at
+# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/LICENSE. No part of
+# qa-browsertests, including this file, may be copied, modified, propagated, or
+# distributed except according to the terms contained in the LICENSE file.
+#
+# Copyright 2012-2014 by the Mediawiki developers. See the CREDITS file in the
+# qa-browsertests top-level directory and at
+# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/CREDITS
+#
+@chrome @en.wikipedia.beta.wmflabs.org @firefox @internet_explorer_6 @internet_explorer_7 @internet_explorer_8 @internet_explorer_9 @internet_explorer_10 @phantomjs @test2.wikipedia.org
+Feature: File
+
+ Scenario: Anonymous goes to file that does not exist
+ Given I am at file that does not exist
+ Then page should show that no such file exists
+
+ @login
+ Scenario: Logged-in user goes to file that does not exist
+ Given I am logged in
+ And I am at file that does not exist
+ Then page should show that no such file exists
\ No newline at end of file
--- /dev/null
+#
+# This file is subject to the license terms in the LICENSE file found in the
+# qa-browsertests top-level directory and at
+# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/LICENSE. No part of
+# qa-browsertests, including this file, may be copied, modified, propagated, or
+# distributed except according to the terms contained in the LICENSE file.
+#
+# Copyright 2012-2014 by the Mediawiki developers. See the CREDITS file in the
+# qa-browsertests top-level directory and at
+# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/CREDITS
+#
+@chrome @en.wikipedia.beta.wmflabs.org @firefox @internet_explorer_6 @internet_explorer_7 @internet_explorer_8 @internet_explorer_9 @internet_explorer_10 @phantomjs @test2.wikipedia.org
+Feature: Log in
+
+ Background:
+ Given I am at Log in page
+
+ Scenario: Go to Log in page
+ Then Username element should be there
+ And Password element should be there
+ And Log in element should be there
+
+ Scenario: Log in without entering credentials
+ When I log in without entering credentials
+ Then error box should be visible
+
+ Scenario: Log in without entering password
+ When I log in without entering password
+ Then error box should be visible
+
+ Scenario: Log in with incorrect username
+ When I log in with incorrect username
+ Then error box should be visible
+
+ Scenario: Log in with incorrect password
+ When I log in with incorrect password
+ Then error box should be visible
+
+ @login
+ Scenario: Log in with valid credentials
+ When I am logged in
+ Then error box should not be visible
\ No newline at end of file
on(MainPage).edit_link
end
+When(/^I click Preview$/) do
+ on(EditPage).preview_button
+end
+
+When(/^I click Show Changes$/) do
+ on(EditPage).show_changes_button
+end
+
When(/^I edit the page with "(.*?)"$/) do |edit_content|
on(EditPage).edit_page_content_element.send_keys(edit_content + @random_string)
end
--- /dev/null
+#
+# This file is subject to the license terms in the LICENSE file found in the
+# qa-browsertests top-level directory and at
+# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/LICENSE. No part of
+# qa-browsertests, including this file, may be copied, modified, propagated, or
+# distributed except according to the terms contained in the LICENSE file.
+#
+# Copyright 2012-2014 by the Mediawiki developers. See the CREDITS file in the
+# qa-browsertests top-level directory and at
+# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/CREDITS
+#
+Given(/^I am at file that does not exist$/) do
+ visit(FileDoesNotExistPage, using_params: {page_name: @random_string})
+end
+
+Then(/^page should show that no such file exists$/) do
+ on(FileDoesNotExistPage).file_does_not_exist_message_element.should be_visible
+end
--- /dev/null
+#
+# This file is subject to the license terms in the LICENSE file found in the
+# qa-browsertests top-level directory and at
+# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/LICENSE. No part of
+# qa-browsertests, including this file, may be copied, modified, propagated, or
+# distributed except according to the terms contained in the LICENSE file.
+#
+# Copyright 2012-2014 by the Mediawiki developers. See the CREDITS file in the
+# qa-browsertests top-level directory and at
+# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/CREDITS
+#
+Given(/^I am at Log in page$/) do
+ visit LoginPage
+end
+
+When(/^I log in with incorrect password$/) do
+ on(LoginPage).login_with(ENV["MEDIAWIKI_USER"], "incorrect password", false)
+end
+
+When(/^I log in with incorrect username$/) do
+ on(LoginPage).login_with("incorrect username", ENV["MEDIAWIKI_PASSWORD"], false)
+end
+
+When(/^I log in without entering credentials$/) do
+ on(LoginPage).login_with("", "", false)
+end
+
+When(/^I log in without entering password$/) do
+ on(LoginPage).login_with(ENV["MEDIAWIKI_USER"], "", false)
+end
+
+Then(/^error box should be visible$/) do
+ on(LoginErrorPage).error_box_element.should be_visible
+end
+
+Then(/^error box should not be visible$/) do
+ on(LoginErrorPage).error_box_element.should_not be_visible
+end
+
+Then(/^feedback should be (.+)$/) do |feedback|
+ on(LoginPage) do |page|
+ page.feedback_element.when_present.click
+ page.feedback.should match Regexp.escape(feedback)
+ end
+end
+
+Then(/^Log in element should be there$/) do
+ on(LoginPage).login_element.should exist
+end
+
+Then(/^main page should open$/) do
+ @browser.url.should == on(MainPage).class.url
+end
+
+Then(/^Password element should be there$/) do
+ on(LoginPage).password_element.should exist
+end
+
+Then(/^there should be a link to (.+)$/) do |text|
+ on(LoginPage).username_displayed_element.when_present.text.should == text
+end
+
+Then(/^Username element should be there$/) do
+ on(LoginPage).username_element.should exist
+end
-require "mediawiki_selenium"
require "mediawiki_api"
+require "mediawiki_selenium"
include PageObject
text_area(:edit_page_content, id: "wpTextbox1")
+ button(:preview_button, id: "wpPreview")
+ button(:show_changes_button, id: "wpDiff")
button(:save_button, id: "wpSave")
-
end
\ No newline at end of file
--- /dev/null
+#
+# This file is subject to the license terms in the LICENSE file found in the
+# qa-browsertests top-level directory and at
+# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/LICENSE. No part of
+# qa-browsertests, including this file, may be copied, modified, propagated, or
+# distributed except according to the terms contained in the LICENSE file.
+#
+# Copyright 2012-2014 by the Mediawiki developers. See the CREDITS file in the
+# qa-browsertests top-level directory and at
+# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/CREDITS
+#
+class FileDoesNotExistPage
+ include PageObject
+
+ include URL
+ page_url URL.url("File:<%=params[:page_name]%>")
+
+ div(:file_does_not_exist_message, id: "mw-imagepage-nofile")
+end
--- /dev/null
+class LoginErrorPage
+ include PageObject
+
+ div(:error_box, class: "errorbox")
+end
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * For doing Image Page tests that rely on 404 thumb handling
+ */
+class ImagePage404Test extends MediaWikiMediaTestCase {
+
+ protected function getRepoOptions() {
+ return parent::getRepoOptions() + array( 'transformVia404' => true );
+ }
+
+ function setUp() {
+ $this->setMwGlobals( 'wgImageLimits', array(
+ array( 320, 240 ),
+ array( 640, 480 ),
+ array( 800, 600 ),
+ array( 1024, 768 ),
+ array( 1280, 1024 )
+ ) );
+ parent::setUp();
+ }
+
+ function getImagePage( $filename ) {
+ $title = Title::makeTitleSafe( NS_FILE, $filename );
+ $file = $this->dataFile( $filename );
+ $iPage = new ImagePage( $title );
+ $iPage->setFile( $file );
+ return $iPage;
+ }
+
+ /**
+ * @dataProvider providerGetThumbSizes
+ * @param $filename String
+ * @param $expectedNumberThumbs integer How many thumbnails to show
+ */
+ function testGetThumbSizes( $filename, $expectedNumberThumbs ) {
+ $iPage = $this->getImagePage( $filename );
+ $reflection = new ReflectionClass( $iPage );
+ $reflMethod = $reflection->getMethod( 'getThumbSizes' );
+ $reflMethod->setAccessible( true );
+
+ $actual = $reflMethod->invoke( $iPage, 545, 700 );
+ $this->assertEquals( count( $actual ), $expectedNumberThumbs );
+ }
+
+ function providerGetThumbSizes() {
+ return array(
+ array( 'animated.gif', 6 ),
+ array( 'Toll_Texas_1.svg', 6 ),
+ array( '80x60-Greyscale.xcf', 6 ),
+ array( 'jpeg-comment-binary.jpg', 6 ),
+ );
+ }
+}
--- /dev/null
+<?php
+class ImagePageTest extends MediaWikiMediaTestCase {
+
+ function setUp() {
+ $this->setMwGlobals( 'wgImageLimits', array(
+ array( 320, 240 ),
+ array( 640, 480 ),
+ array( 800, 600 ),
+ array( 1024, 768 ),
+ array( 1280, 1024 )
+ ) );
+ parent::setUp();
+ }
+
+ function getImagePage( $filename ) {
+ $title = Title::makeTitleSafe( NS_FILE, $filename );
+ $file = $this->dataFile( $filename );
+ $iPage = new ImagePage( $title );
+ $iPage->setFile( $file );
+ return $iPage;
+ }
+
+ /**
+ * @dataProvider providerGetDisplayWidthHeight
+ * @param $dimensions Array [maxWidth, maxHeight, width, height]
+ * @param $expected Array [width, height] The width and height we expect to display at
+ */
+ function testGetDisplayWidthHeight( $dim, $expected ) {
+ $iPage = $this->getImagePage( 'animated.gif' );
+ $reflection = new ReflectionClass( $iPage );
+ $reflMethod = $reflection->getMethod( 'getDisplayWidthHeight' );
+ $reflMethod->setAccessible( true );
+
+ $actual = $reflMethod->invoke( $iPage, $dim[0], $dim[1], $dim[2], $dim[3] );
+ $this->assertEquals( $actual, $expected );
+ }
+
+ function providerGetDisplayWidthHeight() {
+ return array(
+ array(
+ array( 1024.0, 768.0, 600.0, 600.0 ),
+ array( 600.0, 600.0 )
+ ),
+ array(
+ array( 1024.0, 768.0, 1600.0, 600.0 ),
+ array( 1024.0, 384.0 )
+ ),
+ array(
+ array( 1024.0, 768.0, 1024.0, 768.0 ),
+ array( 1024.0, 768.0 )
+ ),
+ array(
+ array( 1024.0, 768.0, 800.0, 1000.0 ),
+ array( 614.0, 768.0 )
+ ),
+ array(
+ array( 1024.0, 768.0, 0, 1000 ),
+ array( 0, 0 )
+ ),
+ array(
+ array( 1024.0, 768.0, 2000, 0 ),
+ array( 0, 0 )
+ ),
+ );
+ }
+
+ /**
+ * @dataProvider providerGetThumbSizes
+ * @param $filename String
+ * @param $expectedNumberThumbs integer How many thumbnails to show
+ */
+ function testGetThumbSizes( $filename, $expectedNumberThumbs ) {
+ $iPage = $this->getImagePage( $filename );
+ $reflection = new ReflectionClass( $iPage );
+ $reflMethod = $reflection->getMethod( 'getThumbSizes' );
+ $reflMethod->setAccessible( true );
+
+ $actual = $reflMethod->invoke( $iPage, 545, 700 );
+ $this->assertEquals( count( $actual ), $expectedNumberThumbs );
+ }
+
+ function providerGetThumbSizes() {
+ return array(
+ array( 'animated.gif', 2 ),
+ array( 'Toll_Texas_1.svg', 1 ),
+ array( '80x60-Greyscale.xcf', 1 ),
+ array( 'jpeg-comment-binary.jpg', 2 ),
+ );
+ }
+}
'wikiId' => wfWikiId(),
'containerPaths' => $containers
) );
- $this->repo = new FSRepo( array(
+ $this->repo = new FSRepo( $this->getRepoOptions() );
+ }
+
+ /**
+ * @return Array Argument for FSRepo constructor
+ */
+ protected function getRepoOptions() {
+ return array(
'name' => 'temp',
'url' => 'http://localhost/thumbtest',
'backend' => $this->backend
- ) );
+ );
}
/**
--- /dev/null
+<?php
+class XCFHandlerTest extends MediaWikiMediaTestCase {
+
+ /** @var XCFHandler */
+ protected $handler;
+
+ protected function setUp() {
+ parent::setUp();
+ $this->handler = new XCFHandler();
+ }
+
+
+ /**
+ * @param string $filename
+ * @param int $expectedWidth width
+ * @param int $expectedHeigh height
+ * @dataProvider provideGetImageSize
+ * @covers XCFHandler::getImageSize
+ */
+ public function testGetImageSize( $filename, $expectedWidth, $expectedHeight ) {
+ $file = $this->dataFile( $filename, 'image/x-xcf' );
+ $actual = $this->handler->getImageSize( $file, $file->getLocalRefPath() );
+ $this->assertEquals( $expectedWidth, $actual[0] );
+ $this->assertEquals( $expectedHeight, $actual[1] );
+ }
+
+ public static function provideGetImageSize() {
+ return array(
+ array( '80x60-2layers.xcf', 80, 60 ),
+ array( '80x60-RGB.xcf', 80, 60 ),
+ array( '80x60-Greyscale.xcf', 80, 60 ),
+ );
+ }
+
+ /**
+ * @param string $metadata Serialized metadata
+ * @param int $expected One of the class constants of XCFHandler
+ * @dataProvider provideIsMetadataValid
+ * @covers XCFHandler::isMetadataValid
+ */
+ public function testIsMetadataValid( $metadata, $expected ) {
+ $actual = $this->handler->isMetadataValid( null, $metadata );
+ $this->assertEquals( $expected, $actual );
+ }
+
+ public static function provideIsMetadataValid() {
+ return array(
+ array( '', XCFHandler::METADATA_BAD ),
+ array( serialize( array( 'error' => true ) ), XCFHandler::METADATA_GOOD ),
+ array( false, XCFHandler::METADATA_BAD ),
+ array( serialize( array( 'colorType' => 'greyscale-alpha' ) ), XCFHandler::METADATA_GOOD ),
+ );
+ }
+
+ /**
+ * @param string $filename
+ * @param string $expected Serialized array
+ * @dataProvider provideGetMetadata
+ * @covers XCFHandler::getMetadata
+ */
+ public function testGetMetadata( $filename, $expected ) {
+ $file = $this->dataFile( $filename, 'image/png' );
+ $actual = $this->handler->getMetadata( $file, "$this->filePath/$filename" );
+ $this->assertEquals( $expected, $actual );
+ }
+
+ public static function provideGetMetadata() {
+ return array(
+ array( '80x60-2layers.xcf', 'a:1:{s:9:"colorType";s:16:"truecolour-alpha";}' ),
+ array( '80x60-RGB.xcf', 'a:1:{s:9:"colorType";s:16:"truecolour-alpha";}' ),
+ array( '80x60-Greyscale.xcf', 'a:1:{s:9:"colorType";s:15:"greyscale-alpha";}' ),
+ );
+ }
+}
var uacount = 0,
// Object keyed by userAgent. Value is an array (human-readable name, client-profile object, navigator.platform value)
- // Info based on results from http://toolserver.org/~krinkle/testswarm/job/174/
uas = {
// Internet Explorer 6
// Internet Explorer 7