is deprecated.
* (T33313) Add a preference for watching uploads by default, also applies
to API-based upload tools.
+* $wgJpegPixelFormat was added to override chroma subsampling for JPEG image
+ thumbnails created via ImageMagick. Defaults to 'yuv420', providing bandwidth
+ savings versus the previous behavior on many files.
=== External library changes in 1.27 ===
'LoadMonitorNull' => __DIR__ . '/includes/db/loadbalancer/LoadMonitor.php',
'LocalFile' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
'LocalFileDeleteBatch' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
+ 'LocalFileLockError' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
'LocalFileMoveBatch' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
'LocalFileRestoreBatch' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
'LocalIdLookup' => __DIR__ . '/includes/user/LocalIdLookup.php',
}
$lang = $this->getLanguage();
- $langAttribs = [ 'lang' => $lang->getHtmlCode(), 'dir' => $lang->getDir() ];
+ $attribs = [
+ 'class' => 'mw-category-generated',
+ 'lang' => $lang->getHtmlCode(),
+ 'dir' => $lang->getDir()
+ ];
# put a div around the headings which are in the user language
- $r = Html::openElement( 'div', $langAttribs ) . $r . '</div>';
+ $r = Html::openElement( 'div', $attribs ) . $r . '</div>';
return $r;
}
*/
$wgJpegTran = '/usr/bin/jpegtran';
+/**
+ * At default setting of 'yuv420', JPEG thumbnails will use 4:2:0 chroma
+ * subsampling to reduce file size, at the cost of possible color fringing
+ * at sharp edges.
+ *
+ * See https://en.wikipedia.org/wiki/Chroma_subsampling
+ *
+ * Supported values:
+ * false - use scaling system's default (same as pre-1.27 behavior)
+ * 'yuv444' - luma and chroma at same resolution
+ * 'yuv422' - chroma at 1/2 resolution horizontally, full vertically
+ * 'yuv420' - chroma at 1/2 resolution in both dimensions
+ *
+ * This setting is currently supported only for the ImageMagick backend;
+ * others may default to 4:2:0 or 4:4:4 or maintaining the source file's
+ * sampling in the thumbnail.
+ *
+ * @since 1.27
+ */
+$wgJpegPixelFormat = 'yuv420';
+
/**
* Some tests and extensions use exiv2 to manipulate the Exif metadata in some
* image formats.
* Shows a bulletin board style toolbar for common editing functions.
* It can be disabled in the user preferences.
*
- * @param $title Title object for the page being edited (optional)
+ * @param Title $title Title object for the page being edited (optional)
* @return string
*/
static function getEditToolbar( $title = null ) {
use GlobalVarConfig;
use Config;
use Hooks;
-use LBFactory;
use Liuggio\StatsdClient\Factory\StatsdDataFactory;
-use LoadBalancer;
use MediaWiki\Services\ServiceContainer;
use SearchEngine;
use SearchEngineConfig;
},
'SearchEngineFactory' => function( MediaWikiServices $services ) {
- // Create search engine
- return new SearchEngineFactory( $services->getService( 'SearchEngineConfig' ) );
+ return new SearchEngineFactory( $services->getSearchEngineConfig() );
},
'SearchEngineConfig' => function( MediaWikiServices $services ) {
- // Create a search engine config from main config.
- $config = $services->getService( 'MainConfig' );
- return new SearchEngineConfig( $config );
+ global $wgContLang;
+ return new SearchEngineConfig( $services->getMainConfig(), $wgContLang );
},
'SkinFactory' => function( MediaWikiServices $services ) {
return self::makeTitle(
$linkTarget->getNamespace(),
$linkTarget->getText(),
- $linkTarget->getFragment() );
+ $linkTarget->getFragment(),
+ $linkTarget->getInterwiki()
+ );
}
/**
$this->mTitleValue = new TitleValue(
$this->getNamespace(),
$this->getDBkey(),
- $this->getFragment() );
+ $this->getFragment(),
+ $this->getInterwiki()
+ );
} catch ( InvalidArgumentException $ex ) {
wfDebug( __METHOD__ . ': Can\'t create a TitleValue for [[' .
$this->getPrefixedText() . ']]: ' . $ex->getMessage() . "\n" );
* allows us to catch certain error conditions early (such as missing
* required parameter).
*
- * @param $image File
- * @param $finalParams array List of parameters to transform image with
+ * @param File $image
+ * @param array $finalParams List of parameters to transform image with
*/
protected function checkParameterNormalise( $image, $finalParams ) {
$h = $image->getHandler();
const ERROR_CACHE = 'error_cache';
const ERROR_UNCACHEABLE = 'uncacheable';
+ const PRESUME_FRESH_TTL_SEC = 5;
+
public function execute() {
$user = $this->getUser();
$params = $this->extractRequestParams();
return false;
}
- $time = wfTimestamp( TS_UNIX, $editInfo->output->getTimestamp() );
- if ( ( time() - $time ) <= 3 ) {
+ $age = time() - wfTimestamp( TS_UNIX, $editInfo->output->getCacheTime() );
+ if ( $age <= self::PRESUME_FRESH_TTL_SEC ) {
$stats->increment( 'editstash.cache_hits.presumed_fresh' );
- $logger->debug( "Timestamp-based cache hit for key '$key'." );
+ $logger->debug( "Timestamp-based cache hit for key '$key' (age: $age sec)." );
return $editInfo; // assume nothing changed
}
if ( $changed || $res->numRows() != $templateUses ) {
$stats->increment( 'editstash.cache_misses.proven_stale' );
- $logger->info( "Stale cache for key '$key'; template changed." );
+ $logger->info( "Stale cache for key '$key'; template changed. (age: $age sec)" );
return false;
}
}
if ( $changed || $res->numRows() != count( $files ) ) {
$stats->increment( 'editstash.cache_misses.proven_stale' );
- $logger->info( "Stale cache for key '$key'; file changed." );
+ $logger->info( "Stale cache for key '$key'; file changed. (age: $age sec)" );
return false;
}
}
$stats->increment( 'editstash.cache_hits.proven_fresh' );
- $logger->debug( "Cache hit for key '$key'." );
+ $logger->debug( "Verified cache hit for key '$key' (age: $age sec)." );
return $editInfo;
}
"apihelp-revisiondelete-param-hide": "Cosa nascondere per ogni versione.",
"apihelp-revisiondelete-param-show": "Cosa mostrare per ogni versione.",
"apihelp-revisiondelete-param-reason": "Motivo per l'eliminazione o il ripristino.",
- "apihelp-stashedit-param-title": "Titolo della pagina revisionata.",
+ "apihelp-stashedit-param-title": "Titolo della pagina che si sta modificando.",
"apihelp-stashedit-param-sectiontitle": "Il titolo per una nuova sezione.",
"apihelp-stashedit-param-text": "Contenuto della pagina.",
"apihelp-stashedit-param-contentmodel": "Modello di contenuto dei nuovi contenuti.",
"apihelp-parse-example-text": "Расчлени викитекст.",
"apihelp-parse-example-texttitle": "Расчлени страница, укажувајќи го насловот на страницата.",
"apihelp-parse-example-summary": "Расчлени опис.",
- "apihelp-patrol-description": "Испатролирај страница или ревизија.",
+ "apihelp-patrol-description": "Испатролирај страница или преработка.",
"apihelp-patrol-param-rcid": "Назнака на спорешните промени за патролирање.",
"apihelp-patrol-param-revid": "Назнака на преработката за патролирање.",
"apihelp-patrol-example-rcid": "Испатролирај скорешна промена",
"apihelp-upload-param-offset": "Зафатнина на делот во бајти.",
"apihelp-upload-param-chunk": "Содржина на делот.",
"apihelp-upload-param-async": "Направи ги работите со потенцијално големи податотеки неусогласени, кога е можно.",
- "apihelp-upload-param-asyncdownload": "Направи го добивањето на URL-адреса неусогласено.",
- "apihelp-upload-param-leavemessage": "Ако се користи неусогласено преземање, остави порака на страницата за разговор на корисникот ако е готово.",
- "apihelp-upload-param-statuskey": "Дај ја состојбата на подигнатост за овој податотечен клуч (подигање по URL).",
"apihelp-upload-param-checkstatus": "Дај ја состојбата на подигнатост само за дадениот податотечен клуч.",
"apihelp-upload-example-url": "Подигни од URL",
"apihelp-userrights-param-user": "Корисничко име.",
"apihelp-watch-example-unwatch": "Отстрани ја страницата <kbd>Главна страница</kbd> од набљудуваните.",
"apihelp-watch-example-generator": "Набљудувај ги првите неколку страници во главниот именски простор",
"apihelp-format-example-generic": "Дај го исходот од барањето во $1-формат.",
- "apihelp-dbg-description": "Давај го изводот во PHP-форматот <code>var_export()</code> .",
- "apihelp-dbgfm-description": "Давај го изводот во PHP-форматот <code>var_export()</code> (подобрен испис во HTML).",
"apihelp-json-description": "Давај го изводот во JSON-формат.",
"apihelp-json-param-callback": "Ако е укажано, го обвива изводот во даден повик на функција. За безбедност, ќе се ограничат сите податоци што се однесуваат на корисниците.",
"apihelp-json-param-utf8": "Ако е укажано, ги шифрира највеќето (но не сите) не-ASCII знаци како UTF-8 наместо да ги заменува со хексадецимални изводни низи. Ова е стандардно кога <var>formatversion</var> не е <kbd>1</kbd>.",
"apihelp-php-param-formatversion": "Форматирање на изводот:\n;1:Назадно-складен формат (булови во XML-стил, клучеви <samp>*</samp> за содржински јазли и тн.).\n;2:Пробен современ формат. Поединостите може да се изменат!\n;најнов:Користење на најновиот формат (тековно <kbd>2</kbd>), може да се смени без предупредување.",
"apihelp-phpfm-description": "Давај го изводот во серијализиран PHP-формат (подобрен испис во HTML).",
"apihelp-rawfm-description": "Давај го изводот со елементи за отстранување грешки во JSON-формат (подобрен испис во HTML).",
- "apihelp-txt-description": "Давај го изводот во PHP-форматот <code>print_r()</code>.",
- "apihelp-txtfm-description": "Давај го изводот во PHP-форматот <code>print_r()</code> (подобрен испис во HTML).",
"apihelp-xml-description": "Давај го изводот во XML-формат.",
"apihelp-xml-param-xslt": "Ако е укажано, ја додава именуваната страница како XSL-стилска страница. Вредноста мора да биде наслов во именскиот простор „{{ns:mediawiki}}“ што ќе завршува со <code>.xsl</code>.",
"apihelp-xml-param-includexmlnamespace": "Ако е укажано, додава именски простор XML.",
"apihelp-xmlfm-description": "Давај го изводот во XML-формат (подобрен испис во HTML).",
- "apihelp-yaml-description": "Давај го изводот во YAML-формат.",
- "apihelp-yamlfm-description": "Давај го изводот во YAML-формат (подобрен испис во HTML).",
"api-format-title": "Резултат од Извршникот на МедијаВики",
"api-format-prettyprint-header": "Ова е HTML-претстава на форматот $1. HTML е добар за отстранување на грешки, но не е погоден за употреба во извршник.\n\nУкажете го параметарот <var>format</var> за да го смените изводниот формат. За да ги видите претставите на форматот $1 вон HTML, задајте <kbd>format=$2</kbd>.\n\nПовеќе информации ќе најдете на [[mw:API|целосната документација]], или пак [[Special:ApiHelp/main|помош со извршникот]].",
- "api-orm-param-props": "Полиња за пребарување.",
- "api-orm-param-limit": "Макс. број на редови во изводот.",
"api-pageset-param-titles": "Список на наслови на кои ќе се работи",
"api-pageset-param-pageids": "Список на назнаки за страници на кои ќе се работи",
"api-pageset-param-revids": "Список на назнаки на преработки на кои ќе се работи",
"apihelp-main-param-curtimestamp": "Dołącz obecny znacznik czasu do wyniku.",
"apihelp-block-description": "Zablokuj użytkownika.",
"apihelp-block-param-user": "Nazwa użytkownika, adres IP lub zakres adresów IP, które chcesz zablokować.",
+ "apihelp-block-param-expiry": "Czas trwania. Może być względny (np. <kbd>5 months</kbd> or <kbd>2 weeks</kbd>) lub konkretny (np. <kbd>2014-09-18T12:34:56Z</kbd>). Jeśli jest ustawiony na <kbd>infinite</kbd>, <kbd>indefinite</kbd>, lub <kbd>never</kbd>, blokada nigdy nie wygaśnie.",
"apihelp-block-param-reason": "Powód blokady.",
"apihelp-block-param-anononly": "Blokuj tylko anonimowych użytkowników (blokuje anonimowe edycje z tego adresu IP).",
"apihelp-block-param-nocreate": "Zapobiegnij utworzeniu konta.",
"apihelp-block-param-autoblock": "Zablokuj ostatni adres IP tego użytkownika i automatycznie wszystkie kolejne, z których będzie się logował.",
+ "apihelp-block-param-noemail": "Uniemożliwia użytkownikowi wysyłanie wiadomości e-mail za pośrednictwem interfejsu wiki. (Wymagane uprawnienia <code>blockemail</code>).",
"apihelp-block-param-hidename": "Ukryj nazwę użytkownika z rejestru blokad. (Wymagane uprawnienia <code>hideuser</code>)",
+ "apihelp-block-param-allowusertalk": "Pozwala użytkownikowi edytować własną stronę dyskusji (zależy od <var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
"apihelp-block-param-reblock": "Jeżeli ten użytkownik jest już zablokowany, nadpisz blokadę.",
"apihelp-block-param-watchuser": "Obserwuj stronę użytkownika i jego IP oraz ich strony dyskusji.",
"apihelp-block-example-ip-simple": "Zablokuj IP <kbd>192.0.2.5</kbd> na 3 dni za <kbd>Pierwszy atak</kbd>.",
"api-help-param-multi-max": "Maksymalna liczba wartości to {{PLURAL:$1|$1}} ({{PLURAL:$2|$2}} dla botów).",
"api-help-param-default": "Domyślnie: $1",
"api-help-param-default-empty": "Domyślnie: <span class=\"apihelp-empty\">(puste)</span>",
+ "api-help-param-token": "Token \"$1\" zdobyty z [[Special:ApiHelp/query+tokens|action=query&meta=tokens]]",
"api-help-param-no-description": "<span class=\"apihelp-empty\">(bez opisu)</span>",
"api-help-examples": "{{PLURAL:$1|Przykład|Przykłady}}:",
"api-help-permissions": "{{PLURAL:$2|Uprawnienie|Uprawnienia}}:",
*
* @return LinkCache
*/
- public static function &singleton() {
+ public static function singleton() {
if ( !self::$instance ) {
self::$instance = new LinkCache;
}
}
/**
- * @param string $title
+ * @param string $title Prefixed DB key
* @return int Page ID or zero
*/
public function getGoodLinkID( $title ) {
* @param string $field ('length','redirect','revision','model')
* @return string|int|null
*/
- public function getGoodLinkFieldObj( $title, $field ) {
+ public function getGoodLinkFieldObj( Title $title, $field ) {
$dbkey = $title->getPrefixedDBkey();
$info = $this->mGoodLinks->get( $dbkey );
if ( !$info ) {
}
/**
- * @param string $title
+ * @param string $title Prefixed DB key
* @return bool
*/
public function isBadLink( $title ) {
}
/**
- * @param string $title prefixed dbkey
+ * @param string $title Prefixed DB key
*/
public function clearBadLink( $title ) {
$this->mBadLinks->delete( $title );
/**
* @param Title $title
*/
- public function clearLink( $title ) {
+ public function clearLink( Title $title ) {
$dbkey = $title->getPrefixedDBkey();
$this->mBadLinks->delete( $dbkey );
$this->mGoodLinks->delete( $dbkey );
/**
* Add a title to the link cache, return the page_id or zero if non-existent
*
- * @param string $title Title to add
+ * @param string $title Prefixed DB key
* @return int Page ID or zero
*/
public function addLink( $title ) {
/**
* Return UTF-8 sequence for a given Unicode code point.
*
- * @param $codepoint Integer:
- * @return String
+ * @param int $codepoint
+ * @return string
* @throws InvalidArgumentException if fed out of range data.
* @public
* @deprecated since 1.25, use UtfNormal\Utils directly
* Unicode code points and return a UTF-8 string composed of those
* characters. Used by UTF-8 data generation and testing routines.
*
- * @param $sequence String
- * @return String
+ * @param string $sequence
+ * @return string
* @throws InvalidArgumentException if fed out of range data.
* @private
* @deprecated since 1.25, use UtfNormal\Utils directly
* Determine the Unicode codepoint of a single-character UTF-8 sequence.
* Does not check for invalid input data.
*
- * @param $char String
- * @return Integer
+ * @param string $char
+ * @return int
* @public
* @deprecated since 1.25, use UtfNormal\Utils directly
*/
* have it / want it.
*/
public function getAutoDeleteReason( Title $title, &$hasHistory ) {
- $dbw = wfGetDB( DB_MASTER );
+ $dbr = wfGetDB( DB_SLAVE );
// Get the last revision
$rev = Revision::newFromTitle( $title );
// Find out if there was only one contributor
// Only scan the last 20 revisions
- $res = $dbw->select( 'revision', 'rev_user_text',
+ $res = $dbr->select( 'revision', 'rev_user_text',
[
'rev_page' => $title->getArticleID(),
- $dbw->bitAnd( 'rev_deleted', Revision::DELETED_USER ) . ' = 0'
+ $dbr->bitAnd( 'rev_deleted', Revision::DELETED_USER ) . ' = 0'
],
__METHOD__,
[ 'LIMIT' => 20 ]
}
$hasHistory = ( $res->numRows() > 1 );
- $row = $dbw->fetchObject( $res );
+ $row = $dbr->fetchObject( $res );
if ( $row ) { // $row is false if the only contributor is hidden
$onlyAuthor = $row->rev_user_text;
return;
}
+ $upgrade = false;
if ( is_null( $this->media_type ) ||
$this->mime == 'image/svg'
) {
- $this->upgradeRow();
- $this->upgraded = true;
+ $upgrade = true;
} else {
$handler = $this->getHandler();
if ( $handler ) {
if ( $validity === MediaHandler::METADATA_BAD
|| ( $validity === MediaHandler::METADATA_COMPATIBLE && $wgUpdateCompatibleMetadata )
) {
- $this->upgradeRow();
- $this->upgraded = true;
+ $upgrade = true;
}
}
}
+
+ if ( $upgrade ) {
+ try {
+ $this->upgradeRow();
+ } catch ( LocalFileLockError $e ) {
+ // let the other process handle it (or do it next time)
+ }
+ $this->upgraded = true; // avoid rework/retries
+ }
}
function getUpgraded() {
* Fix assorted version-related problems with the image row by reloading it from the file
*/
function upgradeRow() {
-
$this->lock(); // begin
$this->loadFromFile();
/**
* Start a transaction and lock the image for update
* Increments a reference counter if the lock is already held
- * @throws MWException Throws an error if the lock was not acquired
+ * @throws LocalFileLockError Throws an error if the lock was not acquired
* @return bool Whether the file lock owns/spawned the DB transaction
*/
function lock() {
- $dbw = $this->repo->getMasterDB();
-
if ( !$this->locked ) {
+ $dbw = $this->repo->getMasterDB();
if ( !$dbw->trxLevel() ) {
$dbw->begin( __METHOD__ );
$this->lockedOwnTrx = true;
}
- $this->locked++;
// Bug 54736: use simple lock to handle when the file does not exist.
// SELECT FOR UPDATE prevents changes, not other SELECTs with FOR UPDATE.
// Also, that would cause contention on INSERT of similarly named rows.
$lockPaths = [ $this->getPath() ]; // represents all versions of the file
$status = $backend->lockFiles( $lockPaths, LockManager::LOCK_EX, 5 );
if ( !$status->isGood() ) {
- throw new MWException( "Could not acquire lock for '{$this->getName()}.'" );
+ if ( $this->lockedOwnTrx ) {
+ $dbw->rollback( __METHOD__ );
+ }
+ throw new LocalFileLockError( "Could not acquire lock for '{$this->getName()}.'" );
}
+ // Release the lock *after* commit to avoid row-level contention
+ $this->locked++;
$dbw->onTransactionIdle( function () use ( $backend, $lockPaths ) {
- $backend->unlockFiles( $lockPaths, LockManager::LOCK_EX ); // release on commit
+ $backend->unlockFiles( $lockPaths, LockManager::LOCK_EX );
} );
}
$this->file->repo->cleanupBatch( $files );
}
}
+
+class LocalFileLockError extends Exception {
+
+}
* @param string $fieldsetIDPrefix ID prefix for the "<fieldset>" tag of
* each subsection, ignored if empty.
* @param bool &$hasUserVisibleFields Whether the section had user-visible fields.
+ * @throws LogicException When called on uninitialized field data, e.g. When
+ * HTMLForm::displayForm was called without calling HTMLForm::prepareForm
+ * first.
*
* @return string
*/
public function displaySection( $fields,
$sectionName = '',
$fieldsetIDPrefix = '',
- &$hasUserVisibleFields = false ) {
+ &$hasUserVisibleFields = false
+ ) {
+ if ( $this->mFieldData === null ) {
+ throw new LogicException( 'HTMLForm::displaySection() called on uninitialized field data. '
+ . 'You probably called displayForm() without calling prepareForm() first.' );
+ }
+
$displayFormat = $this->getDisplayFormat();
$html = [];
"Servien"
]
},
+ "config-help": "hulpe",
"mainpagetext": "'''’t Installeren van de MediaWiki programmatuur is succesvol.'''",
"mainpagedocfooter": "Bekiek de [//meta.wikimedia.org/wiki/Help:Contents haandleiding] veur informasie over t gebruuk van de wikiprogrammatuur.\n\n== Meer hulpe ==\n* [//www.mediawiki.org/wiki/Help:Configuration_settings Lieste mit instellingen]\n* [//www.mediawiki.org/wiki/Help:FAQ MediaWiki-vragen die vake esteld wörden]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-postlieste veur nieje versies]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Maak MediaWiki beschikbaor in joew taal]"
}
"config-email-watchlist": "启用监视列表通知",
"config-email-watchlist-help": "允许用户收到与其监视列表有关的通知,假若他们启用了该功能。",
"config-email-auth": "启用电子邮件身份验证",
- "config-email-auth-help": "如果启用此选项,在用户设置或修改电子邮件地址时,就会收到一封邮件,内含确认电子地址的链接。只有经过身份验证的电子邮件地址,才能收到来自其他用户的电子邮件,或任何修改通知的邮件。'''建议'''公开wiki启用本选项,以防对电子邮件功能的滥用。",
+ "config-email-auth-help": "如果启用此选项,在用户设置或修改电子邮件地址时,就会收到一封邮件,内含确认电子地址的链接。只有经过身份验证的电子邮件地址,才能收到来自其他用户的电子邮件,或任何修改通知的邮件。<strong>建议</strong>公开wiki启用本选项,以防对电子邮件功能的滥用。",
"config-email-sender": "回复电子邮件地址:",
"config-email-sender-help": "输入要用来发送出站电子邮件的地址,该地址将会收到被拒收的邮件。许多邮件服务器要求域名部分必须有效。",
"config-upload-settings": "图像和文件上传",
"config-upload-deleted": "已删除文件的目录:",
"config-upload-deleted-help": "指定用于存放被删除文件的目录。理想情况下,该目录不应能通过web访问。",
"config-logo": "标志URL:",
- "config-logo-help": "在MediaWiki的默认外观中,左侧栏菜单之上有一块135x160像素的标志区。请上传一幅相应大小的图像,并在此输入URL。\n\n你可以用<code>$wgStylePath</code>或<code>$wgScriptPath</code>来表示相对于这些位置的路径。\n\n如果您不希望使用标志,请将本处留空。",
+ "config-logo-help": "在MediaWiki的默认外观中,左侧栏菜单之上有一块135x160像素的标志区。请上传一幅相应大小的图像,并在此输入URL。\n\n您可以用<code>$wgStylePath</code>或<code>$wgScriptPath</code>来表示相对于这些位置的路径。\n\n如果您不希望使用标志,请将本处留空。",
"config-instantcommons": "启用即时共享资源",
"config-instantcommons-help": "[//www.mediawiki.org/wiki/InstantCommons 即时共享资源]可以让wiki使用来自[//commons.wikimedia.org/ 维基共享资源]网站的图像、音频和其他媒体文件。要启用该功能,MediaWiki必须能够访问互联网。\n\n有关此功能的详细信息,包括如何将其他wiki网站设为具有类似共享功能的方法,请参考[//www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos 手册]。",
"config-cc-error": "知识共享许可证挑选器无法找到结果,请手动输入许可证的名称。",
"config-cc-again": "重新挑选……",
- "config-cc-not-chosen": "选择你想要的知识共享许可协议并单击“proceed”。",
+ "config-cc-not-chosen": "选择您想要的知识共享许可协议并单击“proceed”。",
"config-advanced-settings": "高级设置",
"config-cache-options": "对象缓存设置:",
"config-cache-help": "对象缓存可通过缓存频繁使用的数据来提高MediaWiki的速度。高度推荐中到大型的网站启用该功能,小型网站亦能从其中受益。",
"config-skins-missing": "没有找到皮肤;MediaWiki将使用备选皮肤直到您自行安装一个后。",
"config-skins-must-enable-some": "您必须选择至少一个皮肤以起用。",
"config-skins-must-enable-default": "默认选择的皮肤必须启用。",
- "config-install-alreadydone": "'''警告:'''您似乎已经安装了MediaWiki,并试图重新安装它。请前往下一个页面。",
+ "config-install-alreadydone": "<strong>警告:</strong>您似乎已经安装了MediaWiki,并试图重新安装它。请前往下一个页面。",
"config-install-begin": "点击“{{int:config-continue}}”后,您将开始安装MediaWiki。如果您还想对配置作一些修改,请点击“{{int:config-back}}”。",
"config-install-step-done": "完成",
"config-install-step-failed": "失败",
"config-install-user-missing": "指定的用户“$1”不存在。",
"config-install-user-missing-create": "指定的用户“$1”不存在。如果您想要创建一名,请点选“创建帐户”下面的复选框。",
"config-install-tables": "正在创建数据表",
- "config-install-tables-exist": "'''警告''':MediaWiki的数据表似乎已经存在,跳过创建。",
- "config-install-tables-failed": "'''错误''':创建数据表出错,下为错误信息:$1",
+ "config-install-tables-exist": "<strong>警告:</strong>MediaWiki的数据表似乎已经存在,跳过创建。",
+ "config-install-tables-failed": "<strong>错误:</strong>创建数据表出错,下为错误信息:$1",
"config-install-interwiki": "正在填充默认的跨wiki数据表",
- "config-install-interwiki-list": "æ\89¾ä¸\8då\88°文件<code>interwiki.list</code>。",
- "config-install-interwiki-exists": "'''警告''':跨wiki数据表似乎已有内容,跳过默认列表。",
+ "config-install-interwiki-list": "æ\97 æ³\95读å\8f\96文件<code>interwiki.list</code>。",
+ "config-install-interwiki-exists": "<strong>警告:</strong>跨wiki数据表似乎已有内容,跳过默认列表。",
"config-install-stats": "初始化统计",
"config-install-keys": "生成密钥中",
- "config-insecure-keys": "'''警告''':在安装过程中生成的{{PLURAL:$2|安全密钥|安全密钥}}($1){{PLURAL:$2|并|并}}不一定安全。请考虑手动更改{{PLURAL:$2|它|它们}}。",
+ "config-insecure-keys": "<strong>警告:</strong>在安装过程中生成的{{PLURAL:$2|安全密钥}}($1){{PLURAL:$2|并}}不一定安全。请考虑手动更改{{PLURAL:$2|它|它们}}。",
"config-install-updates": "防止运行不需要的更新",
"config-install-updates-failed": "<strong>错误:</strong>表格中插入更新关键字失败并出现如下错误:$1",
"config-install-sysop": "正在创建管理员用户帐号",
"config-help": "帮助",
"config-help-tooltip": "单击展开",
"config-nofile": "找不到文件“$1”。它是否已被删除?",
- "config-extension-link": "æ\82¨æ\98¯å\90¦ç\9f¥é\81\93æ\82¨ç\9a\84wikiæ\94¯æ\8c\81[//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions æ\8b\93å±\95]ï¼\9f\næ\82¨å\8f¯æµ\8fè§\88[//www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category æ\8b\93å±\95å\88\86ç±»]。",
+ "config-extension-link": "æ\82¨æ\98¯å\90¦ç\9f¥é\81\93æ\82¨ç\9a\84wikiæ\94¯æ\8c\81[//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions æ\89©å±\95]ï¼\9f\n\næ\82¨å\8f¯ä»¥æµ\8fè§\88[//www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category æ\89©å±\95å\88\86ç±»]æ\88\96[//www.mediawiki.org/wiki/Extension_Matrix æ\89©å±\95ç\9f©é\98µ]以æ\9f¥ç\9c\8bå®\8cæ\95´ç\9a\84æ\89©å±\95å\88\97表。",
"mainpagetext": "<strong>已安装MediaWiki。</strong>",
"mainpagedocfooter": "请查阅[//meta.wikimedia.org/wiki/Help:Contents 用户指南]以获取使用本wiki软件的信息!\n\n== 入门 ==\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings MediaWiki配置设置列表]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/zh-hans MediaWiki常见问题]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki发布邮件列表]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources 本地化MediaWiki到您的语言]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam 了解如何在您的wiki上打击破坏]"
}
}
/**
- * @param $file string
+ * @param string $file
* @return bool|string
*/
public static function getMimeType( $file ) {
return true;
}
+ /**
+ * Get ImageMagick subsampling factors for the target JPEG pixel format.
+ *
+ * @param string $pixelFormat one of 'yuv444', 'yuv422', 'yuv420'
+ * @return array of string keys
+ */
+ protected function imageMagickSubsampling( $pixelFormat ) {
+ switch ( $pixelFormat ) {
+ case 'yuv444':
+ return [ '1x1', '1x1', '1x1' ];
+ case 'yuv422':
+ return [ '2x1', '1x1', '1x1' ];
+ case 'yuv420':
+ return [ '2x2', '1x1', '1x1' ];
+ default:
+ throw new MWException( 'Invalid pixel format for JPEG output' );
+ }
+ }
+
/**
* Transform an image using ImageMagick
*
protected function transformImageMagick( $image, $params ) {
# use ImageMagick
global $wgSharpenReductionThreshold, $wgSharpenParameter, $wgMaxAnimatedGifArea,
- $wgImageMagickTempDir, $wgImageMagickConvertCommand;
+ $wgImageMagickTempDir, $wgImageMagickConvertCommand, $wgJpegPixelFormat;
$quality = [];
$sharpen = [];
$animation_pre = [];
$animation_post = [];
$decoderHint = [];
+ $subsampling = [];
if ( $params['mimeType'] == 'image/jpeg' ) {
$qualityVal = isset( $params['quality'] ) ? (string)$params['quality'] : null;
// JPEG decoder hint to reduce memory, available since IM 6.5.6-2
$decoderHint = [ '-define', "jpeg:size={$params['physicalDimensions']}" ];
}
+ if ( $wgJpegPixelFormat ) {
+ $factors = $this->imageMagickSubsampling( $wgJpegPixelFormat );
+ $subsampling = [ '-sampling-factor', implode( ',', $factors ) ];
+ }
} elseif ( $params['mimeType'] == 'image/png' ) {
$quality = [ '-quality', '95' ]; // zlib 9, adaptive filtering
if ( $params['interlace'] ) {
[ '-depth', 8 ],
$sharpen,
[ '-rotate', "-$rotation" ],
+ $subsampling,
$animation_post,
[ $this->escapeMagickOutput( $params['dstPath'] ) ] ) );
*/
protected function transformImageMagickExt( $image, $params ) {
global $wgSharpenReductionThreshold, $wgSharpenParameter, $wgMaxAnimatedGifArea,
- $wgMaxInterlacingAreas;
+ $wgMaxInterlacingAreas, $wgJpegPixelFormat;
try {
$im = new Imagick();
if ( $params['interlace'] ) {
$im->setInterlaceScheme( Imagick::INTERLACE_JPEG );
}
+ if ( $wgJpegPixelFormat ) {
+ $factors = $this->imageMagickSubsampling( $wgJpegPixelFormat );
+ $im->setSamplingFactors( $factors );
+ }
} elseif ( $params['mimeType'] == 'image/png' ) {
$im->setCompressionQuality( 95 );
if ( $params['interlace'] ) {
*
* Shown in the &query=imageinfo&iiprop=size api query.
*
- * @param $file File
+ * @param File $file
* @return float The duration of the file.
*/
public function getLength( $file ) {
*
* Shown in the &query=imageinfo&iiprop=size api query.
*
- * @param $file File
+ * @param File $file
* @return float The duration of the file.
*/
public function getLength( $file ) {
/**
* Get the source file for the transform
*
- * @param $file File
- * @param $params Array
- * @return Array Array with keys width, height and path.
+ * @param File $file
+ * @param array $params
+ * @return array Array with keys width, height and path.
*/
protected function getThumbnailSource( $file, $params ) {
return $file->getThumbnailSource( $params );
: '';
$edit->pst = $edit->pstContent ? $edit->pstContent->serialize( $serialFormat ) : '';
+ if ( $edit->output ) {
+ $edit->output->setCacheTime( wfTimestampNow() );
+ }
+
+ // Process cache the result
$this->mPreparedEdit = $edit;
+
return $edit;
}
}
$casToken = null;
+ /** @var ParserOutput $value */
$value = $this->mMemc->get( $parserOutputKey, $casToken, BagOStuff::READ_VERIFIED );
if ( !$value ) {
wfDebug( "ParserOutput cache miss.\n" );
return $this->mTOCHTML;
}
+ /**
+ * @return string|null TS_MW timestamp of the revision content
+ */
public function getTimestamp() {
return $this->mTimestamp;
}
/**
* Ensure that password isn't in top X most popular passwords
*
- * @param $policyVal int Cut off to use. Will automatically shrink to the max
+ * @param int $policyVal Cut off to use. Will automatically shrink to the max
* supported for error messages if set to more than max number of passwords on file,
* so you can use the PHP_INT_MAX constant here safely.
- * @param $user User
- * @param $password String
+ * @param User $user
+ * @param string $password
* @since 1.27
* @return Status
*/
/* Methods */
/**
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return array
*/
public function getStyles( ResourceLoaderContext $context ) {
}
/**
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return bool
*/
public function isKnownEmpty( ResourceLoaderContext $context ) {
}
/**
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return string: Hash
*/
public function getModifiedHash( ResourceLoaderContext $context ) {
* @return SearchNearMatcher
*/
public function getNearMatcher( Config $config ) {
- return new SearchNearMatcher( $config );
+ global $wgContLang;
+ return new SearchNearMatcher( $config, $wgContLang );
}
/**
* Makes search simple string if it was namespaced.
* Sets namespaces of the search to namespaces extracted from string.
* @param string $search
- * @return $string Simplified search string
+ * @return string Simplified search string
*/
protected function normalizeNamespaces( $search ) {
// Find a Title which is not an interwiki and is in NS_MAIN
*/
private $config;
- public function __construct( Config $config ) {
+ /**
+ * Current language
+ * @var Language
+ */
+ private $language;
+
+ public function __construct( Config $config, Language $lang ) {
$this->config = $config;
+ $this->language = $lang;
}
/**
*/
public function searchableNamespaces() {
$arr = [];
- foreach ( $this->config->get( 'ContLang' )->getNamespaces() as $ns => $name ) {
+ foreach ( $this->language->getNamespaces() as $ns => $name ) {
if ( $ns >= NS_MAIN ) {
$arr[$ns] = $name;
}
* @return string[] List of names
*/
public function namespacesAsText( $namespaces ) {
- $formatted = array_map( [ $this->config->get( 'ContLang' ), 'getFormattedNsText' ], $namespaces );
+ $formatted = array_map( [ $this->language, 'getFormattedNsText' ], $namespaces );
foreach ( $formatted as $key => $ns ) {
if ( empty( $ns ) ) {
$formatted[$key] = wfMessage( 'blanknamespace' )->text();
*/
protected $config;
- public function __construct( Config $config ) {
+ /**
+ * Current language
+ * @var Language
+ */
+ private $language;
+ public function __construct( Config $config, Language $lang ) {
$this->config = $config;
+ $this->language = $lang;
}
/**
* @return null|Title
*/
protected function getNearMatchInternal( $searchterm ) {
- $lang = $this->config->get( 'ContLang' );
+ $lang = $this->language;
$allSearchTerms = [ $searchterm ];
* What is limit to fetch from DB
*
* Used to make it appear the DB stores less results then it actually does
- * @param $uiLimit int Limit from UI
- * @param $uiOffset int Offset from UI
+ * @param int $uiLimit Limit from UI
+ * @param int $uiOffset Offset from UI
* @return int Limit to use for DB (not including extra row to see if at end)
*/
protected function getDBLimit( $uiLimit, $uiOffset ) {
/**
* Output the results of the query.
*
- * @param $out OutputPage
- * @param $skin Skin (deprecated presumably)
- * @param $dbr IDatabase
- * @param $res ResultWrapper Results from query
- * @param $num integer Number of results
- * @param $offset integer Paging offset (Should always be 0 in our case)
+ * @param OutputPage $out
+ * @param Skin $skin (deprecated presumably)
+ * @param IDatabase $dbr
+ * @param ResultWrapper $res Results from query
+ * @param int $num Number of results
+ * @param int $offset Paging offset (Should always be 0 in our case)
*/
protected function outputResults( $out, $skin, $dbr, $res, $num, $offset ) {
$prevMediaType = null;
/**
* Output a row of the stats table
*
- * @param $mime String mime type (e.g. image/jpeg)
- * @param $count integer Number of images of this type
- * @param $totalBytes integer Total space for images of this type
+ * @param string $mime mime type (e.g. image/jpeg)
+ * @param int $count Number of images of this type
+ * @param int $totalBytes Total space for images of this type
*/
protected function outputTableRow( $mime, $count, $bytes ) {
$mimeSearch = SpecialPage::getTitleFor( 'MIMEsearch', $mime );
/**
* Given a mime type, return a comma separated list of allowed extensions.
*
- * @param $mime String mime type
- * @return String Comma separated list of allowed extensions (e.g. ".ogg, .oga")
+ * @param string $mime mime type
+ * @return string Comma separated list of allowed extensions (e.g. ".ogg, .oga")
*/
private function getExtensionList( $mime ) {
$exts = MimeMagic::singleton()->getExtensionsForType( $mime );
/**
* Output a header for a new media type section
*
- * @param $mediaType string A media type (e.g. from the MEDIATYPE_xxx constants)
+ * @param string $mediaType A media type (e.g. from the MEDIATYPE_xxx constants)
*/
protected function outputMediaType( $mediaType ) {
$this->getOutput()->addHTML(
/**
* parse the fake title format that this special page abuses querycache with.
*
- * @param $fakeTitle String A string formatted as <media type>;<mime type>;<count>;<bytes>
- * @return Array The constituant parts of $fakeTitle
+ * @param string $fakeTitle A string formatted as <media type>;<mime type>;<count>;<bytes>
+ * @return array The constituant parts of $fakeTitle
*/
private function splitFakeTitle( $fakeTitle ) {
return explode( ';', $fakeTitle, 4 );
* This method isn't used, since we override outputResults, but
* we need to implement since abstract in parent class.
*
- * @param $skin Skin
- * @param $result stdObject Result row
+ * @param Skin $skin
+ * @param stdObject $result Result row
* @return bool|string|void
* @throws MWException
*/
/**
* Initialize total values so we can figure out percentages later.
*
- * @param $dbr IDatabase
- * @param $res ResultWrapper
+ * @param IDatabase $dbr
+ * @param ResultWrapper $res
*/
public function preprocessResults( $dbr, $res ) {
$this->totalCount = $this->totalBytes = 0;
$user->setOption( 'searchNs' . $n, true );
}
- $user->saveSettings();
+ DeferredUpdates::addCallableUpdate( function () use ( $user ) {
+ $user->saveSettings();
+ } );
+
return true;
}
"BAB ZAA",
"ASammour",
"Maroen1990",
- "Sonic N800"
+ "Sonic N800",
+ "Jdforrester"
]
},
"tog-underline": "سطر تحت الوصلات:",
"minoredit": "هذا تعديل طفيف",
"watchthis": "راقب هذه الصفحة",
"savearticle": "احفظ الصفحة",
+ "publishpage": "نشر الصفحة",
"preview": "عرض مسبق",
"showpreview": "أظهر معاينة",
"showdiff": "عرض التغييرات",
"minoredit": "Гэта дробная праўка",
"watchthis": "Назіраць за гэтай старонкай",
"savearticle": "Захаваць старонку",
+ "publishpage": "Апублікаваць старонку",
"preview": "Папярэдні прагляд",
"showpreview": "Праглядзець",
"showdiff": "Паказаць зьмены",
"apisandbox-results-error": "Адбылася памылка пры загрузцы адказу на API-запыт: $1.",
"apisandbox-request-url-label": "URL-адрас запыту:",
"apisandbox-request-time": "Час запыту: {{PLURAL:$1|$1 мс}}",
+ "apisandbox-alert-page": "Палі на гэтай старонцы няслушныя.",
+ "apisandbox-alert-field": "Значэньне гэтага поля зьяўляецца няслушным.",
"booksources": "Крыніцы кніг",
"booksources-search-legend": "Пошук кніг",
"booksources-isbn": "ISBN:",
"minoredit": "Tato změna je malá editace.",
"watchthis": "Sledovat tuto stránku",
"savearticle": "Uložit změny",
+ "publishpage": "Zveřejnit stránku",
"preview": "Náhled",
"showpreview": "Ukázat náhled",
"showdiff": "Ukázat změny",
"tooltip-ca-nstab-category": "Zobrazit kategorii",
"tooltip-minoredit": "Označit změnu jako malou editaci",
"tooltip-save": "Uložit vaše změny",
+ "tooltip-publish": "Zveřejnit vaše změny",
"tooltip-preview": "Zobrazit náhled vašich změn; prosíme, zobrazte si ho před uložením!",
"tooltip-diff": "Zobrazit, jaké změny jste v textu provedli",
"tooltip-compareselectedversions": "Podívat se na rozdíly mezi dvěma vybranými verzemi této stránky.",
"minoredit": "Nur Kleinigkeiten wurden verändert",
"watchthis": "Diese Seite beobachten",
"savearticle": "Seite speichern",
+ "publishpage": "Seite veröffentlichen",
"preview": "Vorschau",
"showpreview": "Vorschau zeigen",
"showdiff": "Änderungen zeigen",
"tooltip-ca-nstab-category": "Kategorieseite anzeigen",
"tooltip-minoredit": "Diese Änderung als klein markieren.",
"tooltip-save": "Änderungen speichern",
+ "tooltip-publish": "Deine Änderungen veröffentlichen",
"tooltip-preview": "Vorschau der Änderungen an dieser Seite. Bitte vor dem Speichern benutzen!",
"tooltip-diff": "Änderungen am Text zeigen",
"tooltip-compareselectedversions": "Unterschied zwischen zwei ausgewählten Versionen dieser Seite anzeigen",
"hidden-category-category": "Kategoriyê nımıtey",
"category-subcat-count": "{{PLURAL:$2|Na kategoriya de $1 bınkategoriyay estê.|$2 kategoriyan ra $1 bınkategoriyay asenê.}}",
"category-subcat-count-limited": "Na kategoriye de {{PLURAL:$1|ena kategoriya bınêne esta|enê $1 kategoriyê bınêni estê}}.",
- "category-article-count": "{{PLURAL:$2|Na kategoriye de teyna ena pele esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ena pele esta|enê $1 peli estê.}}, be $2 ra pêro pia}}",
+ "category-article-count": "{{PLURAL:$2|Na kategoriye de teyna ena pele esta.|Na kategoriye de $2 tenan ra, {{PLURAL:$1|ena pele esta|$1 peli}}, ena kategoriye miyan derê}}",
"category-article-count-limited": "{{PLURAL:$1|Pela cêrêne|$1 Pelê cêrêni}} na kategoriye derê.",
"category-file-count": "<noinclude>{{PLURAL:$2|Na kategoriye tenya dosyayanê cêrênan muhtewa kena.}}</noinclude>\n*Na kategoriye de $2 dosyayan ra {{PLURAL:$1|yew dosya tenêka esta| $1 dosyey asenê}}.",
"category-file-count-limited": "{{PLURAL:$1|Dosya cêrêne|$1 Dosyê cêrêni}} na kategoriye derê.",
"resetpass_submit": "Parola eyar kere u newe ra dekewe",
"changepassword-success": "Parola şıma be serkewtış vuriye!",
"changepassword-throttled": "Şıma zaf ronıştış akerdış ke.Kerem ke verdi dekewten $1 bıpawe.",
+ "botpasswords-label-appid": "Bot name:",
+ "botpasswords-label-create": "Vıraze",
+ "botpasswords-label-update": "Rocane ke",
"botpasswords-label-cancel": "Bıtexelne",
"botpasswords-label-delete": "Bestere",
+ "botpasswords-label-resetpassword": "Parola reset ke",
+ "botpasswords-label-grants-column": "Dayen",
"resetpass_forbidden": "parolayi nêvuryayi",
"resetpass-no-info": "şıma gani hesab akere u hona bıeşke bırese cı",
"resetpass-submit-loggedin": "Parola bıvurne",
"userinvalidcssjstitle": "'''Teme:''' Mewzuyê \"$1\" çıniyo.\nDosyanê be namey .css u .js'i de herfa werdiye bıgurêne, mesela herında {{ns:user}}:Foo/Vector.css'i de {{ns:user}}:Foo/vector.css bınuse.",
"updated": "(Rozeneya)",
"note": "'''Not:'''",
- "previewnote": "'''Xo vira mekerê ke ena yew verqayta.'''\nVurnayışê şıma hona qeyd nêbiyo!",
+ "previewnote": "'''Şıma bızanê ke ena yew verqayta.'''\nVurnayışê şıma hona qeyd nêbiyo!",
"continue-editing": "Şo herunda vurnayışi",
"previewconflict": "No seyrkerdışê verqaydi serê qutiyê nuşte tezim kerdış de yo, eke şıma qayile vurnayişê maddeyi seyino bıvini, no mocneno şıma.",
"session_fail_preview": "Ma ef kere. Vindibiyayişê tayê datay ra a kerdışê hesabê şıma de ma vurnayişê şıma qayd nêkerd. Newe ra tesel (cereb) bıkere. Eke no qayde zi nêbo, [[Special:UserLogout|hesabê xo bıqefelne]] u newera a kere.",
"last": "peyên",
"page_first": "verên",
"page_last": "peyên",
- "histlegend": "Ferqê weçinıtışi: Qutiya versiyonan seba têversanayış işaret ke û dest be ''enter''i ya zi gocega cêrêne ro ne.<br />\nCedwel: <strong>({{int:ferq}})</strong> = ferqê verziyonê peyêni, <strong>({{int:peyên}})</strong> = ferqê versiyonê verêni, <strong>{{int:q}}</strong> = vurnayışo werdi.",
+ "histlegend": "Ferqê weçinıtışi: Qutiya versiyonan seba pêver sanayış işaret ke û dest be ''enter''i ya zi gocega cêrêne ro ne.<br />\nCetwel: <strong>({{int:ferq}})</strong> = ferqê verziyonê peyêni, <strong>({{int:peyên}})</strong> = ferqê versiyonê verêni, <strong>{{int:q}}</strong> = vurnayışo werdi.",
"history-fieldset-title": "Tarixi bıvêne",
"history-show-deleted": "Tenya esterıtey",
"histfirst": "Verênêr",
"prefs-help-signature": "Peran de vatenana de vatışi\"<nowiki>~~~~</nowiki>\" ya do imza bé, no bahdo beno çerğé imza u wahdey zemani",
"badsig": "Îmzayê tu raşt niyo.\nEtiketê HTMLî kontrol bike.",
"badsiglength": "İmzaya şıma zaf derga.\nA gani be $1 {{PLURAL:$1|karakter|karakteran}} ra zêde mebo.",
- "yourgender": "Çıçiy cı esto?",
+ "yourgender": "Cınsiyeta şıma?",
"gender-unknown": "Ez detay nivana",
"gender-male": "Perané wiki camérd deyne ezo vırnena",
"gender-female": "Perané wiki cıni deyne eza vırnena",
"group-sysop": "İdarekari",
"group-bureaucrat": "Burokrati",
"group-suppress": "Çımpawıteni",
- "group-all": "(pêro)",
+ "group-all": "(pêron)",
"group-user-member": "{{GENDER:$1|karber}}",
"group-autoconfirmed-member": "{{GENDER:$1|Karberê ke otomatikmen biyê araşt}}",
"group-bot-member": "{{GENDER:$1|bot}}",
"enhancedrc-history": "tarix",
"recentchanges": "Vurnayışê peyêni",
"recentchanges-legend": "Tercihê vurnayışanê peyênan",
- "recentchanges-summary": "Ena pele de wiki sero vurnayışanê peyênan teqib ke.",
+ "recentchanges-summary": "Wiki sero vurnayışanê peyênan ena pele de teqib kerê.",
"recentchanges-noresult": "Goreyê kriteranê kıfşkerdeyan ra qet yew vurnayış nêvêniya.",
"recentchanges-feed-description": "Ena feed dı vurnayişanê tewr peniyan teqip bık.",
"recentchanges-label-newpage": "Enê vurnayışi ra yew pela newiye vıraziye",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|Lista pelanê neweyan]] zi bıvêne)",
"recentchanges-legend-plusminus": "''(±123)''",
"rcnotefrom": "Cêr de <strong>$2</strong> ra nata vurnayışiyê asenê (tewr vêşi <strong>$1</strong> asenê).",
- "rclistfrom": "$3 $2 ra tepiya vurnayışanê neweyan bımocne",
- "rcshowhideminor": "Vurnayışanê werdiyan $1",
+ "rclistfrom": "$3 u seate $2 ra tepiya vurnayışanê neweyan bımocne",
+ "rcshowhideminor": "vurnayışanê werdiyan $1",
"rcshowhideminor-show": "Bımocne",
"rcshowhideminor-hide": "Bınımne",
- "rcshowhidebots": "Botan $1",
+ "rcshowhidebots": "Vurnayışanê botan $1",
"rcshowhidebots-show": "Bımocne",
"rcshowhidebots-hide": "Bınımne",
- "rcshowhideliu": "Karberanê qeydınan $1",
+ "rcshowhideliu": "Qeydbıyayê karberan $1",
"rcshowhideliu-show": "Bımocne",
"rcshowhideliu-hide": "Bınımne",
- "rcshowhideanons": "Karberanê bênameyan $1",
+ "rcshowhideanons": "Bêname karberan $1",
"rcshowhideanons-show": "Bımocne",
"rcshowhideanons-hide": "Bınımne",
"rcshowhidepatr": "$1 vurnayışê ke dewriya geyrayê",
"rcshowhidepatr-show": "Bımocne",
"rcshowhidepatr-hide": "Bınımne",
- "rcshowhidemine": "Vurnayışanê mı $1",
+ "rcshowhidemine": "Vurnayışanê êdê mı $1",
"rcshowhidemine-show": "Bımocne",
"rcshowhidemine-hide": "Bınımne",
"rcshowhidecategorization": "kategorizasyona perer $1",
"rcshowhidecategorization-show": "Bımocne",
"rcshowhidecategorization-hide": "Bınımne",
- "rclinks": "Peyniya $2 rocan de $1 vurnayışan bımocne <br />$3",
+ "rclinks": "Peyên $2 rocan de $1 vurnayışan bımocne <br />$3",
"diff": "ferq",
"hist": "verên",
"hide": "Bınımne",
"uploadbtn": "Dosya bar ke",
"reuploaddesc": "Barkerdışi iptal ke u peyser şo formê barkerdışi",
"upload-tryagain": "Deskripyonê dosyayî ke vurîya ey qeyd bike",
- "uploadnologin": "Şıma cıkewtış nêvıraşto",
+ "uploadnologin": "Şıma cıkewtış nêvıraşt o",
"uploadnologintext": "Ti şeni $1 dosya bar bikere.",
"upload_directory_missing": "Direktorê dosyayê ($1)î biyo vînî u webserver de nieşkeno viraziye.",
"upload_directory_read_only": "Direktorê dosyayê ($1)î webserver de nieşkeno binuse.",
"randomredirect-nopages": "Cayê nameyê \"$1\" de serşıkıtışi çıniyê.",
"statistics": "İstatistiki",
"statistics-header-pages": "İstatistikê pele",
- "statistics-header-edits": "Îstatistikê vurnayîşî",
+ "statistics-header-edits": "İstatistikê vurnayışan",
"statistics-header-users": "İstatistikê karberi",
- "statistics-header-hooks": "Îstatistiksê binî",
+ "statistics-header-hooks": "Yewbina istatistiki",
"statistics-articles": "Pelê zerreki",
"statistics-pages": "Peli",
"statistics-pages-desc": "Pelanê hemî ke wîkî de estê, pelanê mineqeşeyî, redireksiyon ucb... dehil o.",
"statistics-files": "Dosyayê bar biye",
"statistics-edits": "{{SITENAME}} saz kerdış ra hetana newke amora vırnayışan",
"statistics-edits-average": "Her pele sero nısbi vurnayış",
- "statistics-users": "Qeyd biye [[Special:ListUsers|karberî]]",
+ "statistics-users": "[[Special:ListUsers|Karber]]ê qeydıni",
"statistics-users-active": "Karberê aktifi",
"statistics-users-active-desc": "{{PLURAL:$1|roco peyin de|$1 roco peyin de}} karber ê ke kar kerdê.",
"pageswithprop": "Peli be yew xısusiyetê pele",
"listgrouprights-group": "Grube",
"listgrouprights-rights": "Heqqî",
"listgrouprights-helppage": "Help:Heqqanê gruban",
- "listgrouprights-members": "(listey ezayan)",
+ "listgrouprights-members": "[listeya ezayan]",
"listgrouprights-right-display": "<span class=\"listgrouprights-granted\">$1 <code>($2)</code></span>",
"listgrouprights-right-revoked": "<span class=\"listgrouprights-revoked\">$1 <code>($2)</code></span>",
"listgrouprights-addgroup": "{{PLURAL:$2|Grube|Gruban}} cı kerê: $1",
"watchlist-details": "{{PLURAL:$1|$1 pele|$1 peleyan}} listeyê seyr-kerdışi şıma dı, peleyanê vurnayışi dahil niyo.",
"wlheader-enotif": "E-mail xeber dayiş abiyo.",
"wlheader-showupdated": "ziyaretê şıma ye peyini de vuryayişê peli pê '''nuşteyo qalıni''' mocyayo.",
- "wlnote": "$3 seate u bahde $4 deqa dıma {{PLURAL:$2|ju seate dı|'''$2''' ju seate dı}} {{PLURAL:$1|vurnayışe peyeni|vurnayışe '''$1''' peyeni}} cêrdeyê",
+ "wlnote": "$3 seate u $4 deqa dıma {{PLURAL:$2|ju seate dı|'''$2''' ju seate dı}} {{PLURAL:$1|vurnayışe peyeni|vurnayışe '''$1''' peyeni}} cêrdeyê",
"wlshowlast": "Peyni de vurnayışan ra $1 seata u $2 roca bımocnê",
"watchlist-hide": "Bınımne",
"wlshowtime": "Peyênan bımocne:",
- "wlshowhideminor": "vurnayışê werdiyi",
+ "wlshowhideminor": "vurnayışanê werdiyan",
"wlshowhidebots": "boti",
"wlshowhideliu": "karberê qeydıni",
"wlshowhideanons": "karberê anonimi",
"actioncomplete": "Kar bi temam",
"actionfailed": "kar nêbı",
"deletedtext": "\"$1\" biya wedariya.\nQe qeydê wedarnayışi, $2 bevinin.",
- "dellogpage": "Qeydê esterıtışi",
+ "dellogpage": "Qeydê esternayışi",
"dellogpagetext": "listeya cêrıni heme qaydê hewn a kerdeyan o.",
- "deletionlog": "qeydê esterıtışi",
+ "deletionlog": "Qeydê esternayışi",
"reverted": "revizyono verin tepiya anciyayo",
"deletecomment": "Sebeb:",
"deleteotherreason": "Sebebo bin:",
"sp-contributions-newbies": "Tenya iştıraqanê karberanê neweyan bımocne",
"sp-contributions-newbies-sub": "Qe hesebê newe",
"sp-contributions-newbies-title": "Îştîrakê karberî ser hesabê neweyî",
- "sp-contributions-blocklog": "Qeydê blokey",
+ "sp-contributions-blocklog": "Qeydê meni",
"sp-contributions-deleted": "iştırakê karberi esterdi",
"sp-contributions-uploads": "barkerdey",
"sp-contributions-logs": "qeydi",
"contribslink": "iştıraqi",
"emaillink": "e-poste bırışe",
"autoblocker": "Şıma otomatikmen kılit biy, çıke adresa şımaya ''IP''y terefê \"[[User:$1|$1]]\" gureniyena.\nSebebê kılitbiyayışê $1'i \"$2\"o",
- "blocklogpage": "Qeydê bloqi",
+ "blocklogpage": "Qeydê meni",
"blocklog-showlog": "verniyê no/na karberi cıwa ver geriyayo/ya.",
"blocklog-showsuppresslog": "verniyê no/na karberi cıwa ver geriyayo/ya.",
"blocklogentry": "[[$1]] biyo bloqe, sebeb: $3, hetana $2 do bıramo.",
"exif-urgency-low": "($1) Kemiyo",
"exif-urgency-high": "( $1 ) Vêşiyo",
"exif-urgency-other": "Sıftê şınasiya karberi ($1)",
- "namespacesall": "pêro",
+ "namespacesall": "pêron",
"monthsall": "pêro",
"confirmemail": "Adresê e-posta tesdiq ker",
"confirmemail_noemail": "Yew emaîlê tu raştîyê çin o ke [[Special:Preferences|tercihê karberî]] ayar bike.",
"htmlform-cloner-delete": "Wedare",
"sqlite-has-fts": "$1 tam-metn destegê cı geyrayışiya piya",
"sqlite-no-fts": "$1 tam-metn bê destegê cı geyrayışi",
- "logentry-delete-delete": "$1 pela $3 {{GENDER:$2|esterıte}}",
+ "logentry-delete-delete": "Karber $1 pela $3 {{GENDER:$2|besternê}}",
"logentry-delete-restore": "$1 pela $3 {{GENDER:$2|peyser arde}}",
"logentry-delete-event": "$1 $3: $4 de asayışê {{PLURAL:$5|cıkerdışi|cıkerdışan}} {{GENDER:$2|vurna}}",
"logentry-delete-revision": "$1 pela $3: $4 de asayışê {{PLURAL:$5|yew revizyoni|$5 revizyonan}} {{GENDER:$2|vurna}}",
"api-error-nomodule": "Internal error: No upload module set.",
"api-error-ok-but-empty": "Internal error: No response from server.",
"api-error-overwrite": "Overwriting an existing file is not allowed.",
+ "api-error-ratelimited": "You're trying to upload more files in a short space of time than this wiki allows.\nPlease try again in a few minutes.",
"api-error-stashfailed": "Internal error: Server failed to store temporary file.",
"api-error-publishfailed": "Internal error: Server failed to publish temporary file.",
"api-error-stasherror": "There was an error while uploading the file to stash.",
"Mgpena",
"Transonlohk",
"Eloy",
- "Lemondoge"
+ "Lemondoge",
+ "Jdforrester"
]
},
"tog-underline": "Subrayar los enlaces:",
"minoredit": "Esta es una edición menor",
"watchthis": "Vigilar esta página",
"savearticle": "Guardar la página",
+ "publishpage": "Publicar la página",
"preview": "Previsualizar",
"showpreview": "Mostrar previsualización",
"showdiff": "Mostrar los cambios",
"userpage-userdoesnotexist": "El usuario «$1» no está registrado. Asegúrate de que realmente quieres crear o editar esta página.",
"userpage-userdoesnotexist-view": "El usuario «$1» no está registrado.",
"blocked-notice-logextract": "Este usuario se encuentra actualmente bloqueado.\nA continuación se muestra la última entrada del registro de bloqueos para más información:",
- "clearyourcache": "<strong>Nota:</strong> tras guardar, quizás necesites actualizar la caché de tu navegador para ver los cambios.\n* <strong>Firefox/Safari:</strong> Mantén presionada la tecla <em>Mayús</em> mientras pulsas el botón <em>Actualizar</em>, o presiona <em>Ctrl+F5</em> o <em>Ctrl+R</em> (<em>⌘+R</em> en Mac)\n* <strong>Google Chrome:</strong> presiona <em>Ctrl+Shift+R</em> (<em>⌘+Mayús+R</em> en Mac)\n* <strong>Internet Explorer:</strong> mantén presionada <em>Ctrl</em> mientras pulsas <em>Actualizar</em>, o presiona <em>Ctrl+F5</em>\n* <strong>Opera:</strong> vacía la caché en <em>Herramientas → Preferencias</em>",
+ "clearyourcache": "<strong>Nota:</strong> tras guardar, quizás necesites actualizar la caché de tu navegador para ver los cambios.\n* <strong>Firefox/Safari:</strong> Mantén presionada la tecla <em>Mayús</em> mientras pulsas el botón <em>Actualizar</em>, o presiona <em>Ctrl+F5</em> o <em>Ctrl+R</em> (<em>⌘+R</em> en Mac)\n* <strong>Google Chrome:</strong> presiona <em>Ctrl+Shift+R</em> (<em>⌘+Mayús+R</em> en Mac)\n* <strong>Internet Explorer:</strong> mantén presionada <em>Ctrl</em> mientras pulsas <em>Actualizar</em>, o presiona <em>Ctrl+F5</em>\n* <strong>Opera:</strong> dirígete a <em>Menú → Configuración</em> (<em>Opera → Preferencias</em> en Mac) y luego a <em>Privacidad y seguridad → Borrar datos de navegación → Imágenes y archivos en caché</em>.",
"usercssyoucanpreview": "<strong>Consejo:</strong> usa el botón «{{int:showpreview}}» para probar el nuevo CSS antes de guardarlo.",
"userjsyoucanpreview": "<strong>Consejo:</strong> usa el botón «{{int:showpreview}}» para probar el nuevo código JavaScript antes de guardarlo.",
"usercsspreview": "<strong>Recuerda que solo estás previsualizando tu CSS de usuario.\n¡Aún no se ha guardado!</strong>",
"tooltip-ca-nstab-category": "Ver la página de categoría",
"tooltip-minoredit": "Marcar este cambio como menor",
"tooltip-save": "Guardar los cambios",
+ "tooltip-publish": "Publicar tus cambios",
"tooltip-preview": "Previsualiza tus cambios. ¡Hazlo antes de grabar!",
"tooltip-diff": "Mostrar los cambios que has hecho en el texto.",
"tooltip-compareselectedversions": "Ver las diferencias entre las dos versiones seleccionadas de esta página.",
"tooltip-ca-nstab-category": "Kategoria orrialdea ikusi",
"tooltip-minoredit": "Markatu aldaketa hau txikitzat",
"tooltip-save": "Zure aldaketak gorde",
+ "tooltip-publish": "Argitaratu zure aldaketak",
"tooltip-preview": "Zure aldaketak aurreikusi, mesedez gorde aurretik erabili!",
"tooltip-diff": "Testuari egindako aldaketak erakutsi.",
"tooltip-compareselectedversions": "Ikusi orri honen bi bertsio hautatuen arteko aldeak.",
"C13m3n7",
"Gnangbade",
"Frigory",
- "Lemondoge"
+ "Lemondoge",
+ "Jdforrester"
]
},
"tog-underline": "Soulignement des liens :",
"minoredit": "Modification mineure",
"watchthis": "Suivre cette page",
"savearticle": "Enregistrer",
+ "publishpage": "Publier la page",
"preview": "Prévisualisation",
"showpreview": "Prévisualiser",
"showdiff": "Voir les modifications",
"tooltip-ca-nstab-category": "Voir la page de la catégorie",
"tooltip-minoredit": "Marquer mes modifications comme mineures",
"tooltip-save": "Enregistrer vos modifications",
+ "tooltip-publish": "Publier vos modifications",
"tooltip-preview": "Merci de prévisualiser vos modifications avant de les publier",
"tooltip-diff": "Affiche les modifications que vous avez apportées au texte",
"tooltip-compareselectedversions": "Afficher les différences entre deux versions de cette page",
"minoredit": "O est un petiôt changement",
"watchthis": "Siuvre cela pâge",
"savearticle": "Encartar la pâge",
+ "publishpage": "Publeyér la pâge",
"preview": "Apèrçu",
"showpreview": "Montrar un apèrçu",
"showdiff": "Montrar los changements",
"userpage-userdoesnotexist": "Lo comptio utilisator « $1 » est pas encartâ.\nSe vos plét, controlâd se vos voléd fâre changiér cela pâge.",
"userpage-userdoesnotexist-view": "Lo comptio utilisator « $1 » est pas encartâ.",
"blocked-notice-logextract": "Ora {{GENDER:$1|cél utilisator|cel’utilisatrice}} est blocâ{{GENDER:$1||ye}}.\nLa dèrriére entrâ du jornâl des blocâjos est balyêe ce-desot coment rèference :",
- "clearyourcache": "<strong>Nota :</strong> aprés avêr encartâ, sè pôt que vos deveyéd forciér lo rechargement complèt du cacho de voutron navegator por vêre los changements.\n* <strong>Firefox / Safari :</strong> mantegnéd la toche <em>Granta Lètra</em> (<em>Shift</em>) en clliquent dessus <em>Rechargiér</em> (<em>Reload</em>) ou ben apoyéd dessus <em>Ctrl-F5</em> <em>Ctrl-R</em> (<em>⌘-R</em> sur un Mac)\n* <strong>Google Chrome :</strong> apoyéd dessus <em>Ctrl-Shift-R</em> (''⌘-Shift-R</em> sur un Mac)\n* <strong>Internet Explorer :</strong> mantegnéd la toche <em>Ctrl</em> en clliquent dessus <em>Rafrèchir</em> (<em>Refresh</em>) ou ben apoyéd dessus <em>Ctrl-F5</em>\n* <strong>Opera :</strong> vouedâd lo cacho dedens <em>Outils → Prèferences</em>",
+ "clearyourcache": "<strong>Nota :</strong> aprés avêr encartâ, sè pôt que vos deveyéd forciér lo rechargement complèt du cacho de voutron navegator por vêre los changements.\n* <strong>Firefox / Safari :</strong> mantegnéd la toche <em>Granta Lètra</em> (<em>Shift</em>) en clliquent dessus <em>Rechargiér</em> (<em>Reload</em>) ou ben apoyéd dessus <em>Ctrl-F5</em> <em>Ctrl-R</em> (<em>⌘-R</em> sur un Mac)\n* <strong>Google Chrome :</strong> apoyéd dessus <em>Ctrl-Shift-R</em> (''⌘-Shift-R</em> sur un Mac)\n* <strong>Internet Explorer :</strong> mantegnéd la toche <em>Ctrl</em> en clliquent dessus <em>Rafrèchir</em> (<em>Refresh</em>) ou ben apoyéd dessus <em>Ctrl-F5</em>\n* <strong>Opera :<strong> alâd dedens <em>Menu → Settings</em> (<em>Opera → Prèferences</em> sur un Mac) et pués a <em>Confidencialitât & sècuritât → Vouedar les balyês d’èxploracion → Émâges et fichiérs en cacho</em>.",
"usercssyoucanpreview": "<strong>Combina :</strong> empleyéd lo boton « {{int:showpreview}} » por èprovar voutra fôlye CSS novèla devant que l’encartar.",
"userjsyoucanpreview": "<strong>Combina :</strong> empleyéd lo boton « {{int:showpreview}} » por èprovar voutra fôlye JavaScript novèla devant que l’encartar.",
"usercsspreview": "<strong>Rapelâd-vos que vos éte ren qu’aprés prèvêre voutra fôlye CSS.\nEl est p’oncor étâye encartâye !</strong>",
"tooltip-ca-nstab-category": "Vêre la pâge de la catègoria",
"tooltip-minoredit": "Marcar mos changements coment petiôts",
"tooltip-save": "Encartar voutros changements",
+ "tooltip-publish": "Publeyér voutros changements",
"tooltip-preview": "Prèvêde voutros changements. Se vos plét, empleyéd-lo devant qu’encartar.",
"tooltip-diff": "Montrar los changements que vos éd aportâs u tèxto",
"tooltip-compareselectedversions": "Fâre ressortir les difèrences entre les doves vèrsions chouèsies de cela pâge",
"exif-meteringmode-0": "Encognua",
"exif-meteringmode-1": "Moyena",
"exif-meteringmode-2": "Moyena d’aplomb u centro",
- "exif-meteringmode-3": "Pouent",
- "exif-meteringmode-4": "MultiPouent",
+ "exif-meteringmode-3": "Spote",
+ "exif-meteringmode-4": "Multi-spote",
"exif-meteringmode-5": "Modèlo",
- "exif-meteringmode-6": "Encomplèta",
+ "exif-meteringmode-6": "Parciâla",
"exif-meteringmode-255": "Ôtra",
"exif-lightsource-0": "Encognua",
"exif-lightsource-1": "Lumiére du jorn",
"exif-lightsource-2": "Fluorèscenta",
- "exif-lightsource-3": "Tungstène (lumiére chôdâ a blanc)",
+ "exif-lightsource-3": "Tungstène (lumiére enfarâye)",
"exif-lightsource-4": "Èludo",
"exif-lightsource-9": "Temps cllâr",
"exif-lightsource-10": "Temps enneblo",
"exif-lightsource-11": "Ombra",
- "exif-lightsource-12": "Lumiére fluorèscenta « lumiére du jorn » (D 5700 – 7100 K)",
- "exif-lightsource-13": "Lumiére fluorèscenta blanche « jorn » (N 4600 – 5400 K)",
- "exif-lightsource-14": "Lumiére fluorèscenta blanche « frêd » (W 3900 – 4500 K)",
- "exif-lightsource-15": "Lumiére fluorèscenta blanche (WW 3200 – 3700 K)",
+ "exif-lightsource-12": "Ècllèrâjo fluorèscent « lumiére du jorn » (D 5700 – 7100 K)",
+ "exif-lightsource-13": "Ècllèrâjo fluorèscent blanc « jorn » (N 4600 – 5400 K)",
+ "exif-lightsource-14": "Ècllèrâjo fluorèscent blanc « frêd » (W 3900 – 4500 K)",
+ "exif-lightsource-15": "Ècllèrâjo fluorèscent blanc (WW 3200 – 3700 K)",
"exif-lightsource-17": "Lumiére estandârd A",
"exif-lightsource-18": "Lumiére estandârd B",
"exif-lightsource-19": "Lumiére estandârd C",
"minoredit": "Esta é unha edición pequena",
"watchthis": "Vixiar esta páxina",
"savearticle": "Gardar a páxina",
+ "publishpage": "Publicar páxina",
"preview": "Vista previa",
"showpreview": "Mostrar a vista previa",
"showdiff": "Mostrar os cambios",
"tooltip-ca-nstab-category": "Ver a páxina da categoría",
"tooltip-minoredit": "Marcar isto coma unha edición pequena",
"tooltip-save": "Gravar os seus cambios",
+ "tooltip-publish": "Publicar os seus cambios",
"tooltip-preview": "Vista previa dos seus cambios; por favor, úsea antes de gravalos!",
"tooltip-diff": "Mostrar os cambios que fixo no texto",
"tooltip-compareselectedversions": "Ver as diferenzas entre dúas versións seleccionadas desta páxina",
"redirectedfrom": "(הופנה מהדף $1)",
"redirectpagesub": "דף הפניה",
"redirectto": "הפניה ל:",
- "lastmodifiedat": "ש×\95× ×\94 ×\9c×\90×\97ר×\95× ×\94 ×\91Ö¾$2, $1.",
+ "lastmodifiedat": "ש×\81×\95Ö¼× ×\94 ×\9c×\90×\97ר×\95× ×\94 ×\91Ö¾$1, ×\91שע×\94 $2.",
"viewcount": "דף זה נצפה {{PLURAL:$1|פעם אחת|פעמיים|$1 פעמים}}.",
"protectedpage": "דף מוגן",
"jumpto": "קפיצה אל:",
"minoredit": "זוהי עריכה משנית",
"watchthis": "מעקב אחרי דף זה",
"savearticle": "שמירה",
+ "publishpage": "פרסום הדף",
"preview": "תצוגה מקדימה",
"showpreview": "תצוגה מקדימה",
"showdiff": "הצגת שינויים",
"userpage-userdoesnotexist": "חשבון המשתמש \"$1\" אינו רשום.\nאנא בִּדקו אם ברצונכם ליצור/לערוך את הדף הזה.",
"userpage-userdoesnotexist-view": "חשבון המשתמש \"$1\" אינו רשום.",
"blocked-notice-logextract": "{{GENDER:$1|המשתמש הזה חסום|המשתמשת הזו חסומה}} כרגע.\nהפעולה האחרונה ביומן החסימות מוצגת להלן:",
- "clearyourcache": "<strong>×\94ער×\94:</strong> ×\9c×\90×\97ר ×\94ש×\9e×\99ר×\94, ×\99×\99ת×\9b×\9f שתצ×\98ר×\9b×\95 ×\9c× ×§×\95ת ×\90ת ×\96×\99×\9bר×\95×\9f ×\94×\9e×\98×\9e×\95×\9f (cache) ש×\9c ×\94×\93פ×\93פ×\9f ×\9b×\93×\99 ×\9c×\94×\91×\97×\99×\9f ×\91ש×\99× ×\95×\99×\99×\9d.\n* <strong>פ×\99×\99רפ×\95קס / ספ×\90ר×\99:</strong> ×\9c×\97צ×\95 ×\95×\94×\97×\96×\99ק×\95 ×\90ת ×\94×\9eקש <em>Shift</em> ×\91עת ×\9c×\97×\99צת×\9b×\9d ×¢×\9c <strong>×\98×¢×\99× ×\94 ×\9e×\97×\93ש</strong> (Reload), ×\90×\95 ×\9c×\97צ×\95 ×¢×\9c צ×\99ר×\95×£ ×\94×\9eקש×\99×\9d <em>Ctrl-F5</em> ×\90×\95 <em>Ctrl-R</em>‏ (<em><span dir=\"ltr\">â\8c\98-R</span></em> ×\91×\9e×\97ש×\91 ×\9eק)\n* <strong>×\92×\95×\92×\9c ×\9bר×\95×\9d:</strong> ×\9c×\97צ×\95 ×¢×\9c צ×\99ר×\95×£ ×\94×\9eקש×\99×\9d <em>Ctrl-Shift-R</em>‏ (<em><span dir=\"ltr\">â\8c\98-Shift-R</span></em> ×\91×\9e×\97ש×\91 ×\9eק)\n* <strong>×\90×\99× ×\98×¨× ×\98 ×\90קספ×\9c×\95רר:</strong> ×\9c×\97צ×\95 ×\95×\94×\97×\96×\99ק×\95 ×\90ת ×\94×\9eקש <em>Ctrl</em> ×\91עת ×\9c×\97×\99צת×\9b×\9d ×¢×\9c <strong>×¨×¢× ×\9f</strong> (Refresh), ×\90×\95 ×\9c×\97צ×\95 ×¢×\9c צ×\99ר×\95×£ ×\94×\9eקש×\99×\9d <em>Ctrl-F5</em>\n* <strong>×\90×\95פר×\94:</strong> × ×§×\95 ×\90ת ×\94×\9e×\98×\9e×\95×\9f ×\91Ö¾<em>Toolsâ\80\8f â\86\90 Preferences</em>",
+ "clearyourcache": "<strong>×\94ער×\94:</strong> ×\9c×\90×\97ר ×\94ש×\9e×\99ר×\94, ×\99×\99ת×\9b×\9f ש×\99×\94×\99×\94 צ×\95ר×\9a ×\9c× ×§×\95ת ×\90ת ×\96×\99×\9bר×\95×\9f ×\94×\9e×\98×\9e×\95×\9f (cache) ש×\9c ×\94×\93פ×\93פ×\9f ×\9b×\93×\99 ×\9c×\94×\91×\97×\99×\9f ×\91ש×\99× ×\95×\99×\99×\9d.\n* <strong>פ×\99×\99רפ×\95קס / ספ×\90ר×\99:</strong> ×\9c×\94×\97×\96×\99ק ×\90ת ×\94×\9eקש <em>Shift</em> ×\91עת ×\9c×\97×\99צ×\94 ×¢×\9c <strong>×\98×¢×\99× ×\94 ×\9e×\97×\93ש</strong> (Reload), ×\90×\95 ×\9c×\9c×\97×\95×¥ ×¢×\9c צ×\99ר×\95×£ ×\94×\9eקש×\99×\9d <em>Ctrl-F5</em> ×\90×\95 <em>Ctrl-R</em> (×\91×\9e×\97ש×\91 ×\9eק: <em dir=\"ltr\">â\8c\98-R</em>)\n* <strong>×\92×\95×\92×\9c ×\9bר×\95×\9d:</strong> ×\9c×\9c×\97×\95×¥ ×¢×\9c צ×\99ר×\95×£ ×\94×\9eקש×\99×\9d <em>Ctrl-Shift-R</em> (×\91×\9e×\97ש×\91 ×\9eק: <em dir=\"ltr\">â\8c\98-Shift-R</em>)\n* <strong>×\90×\99× ×\98×¨× ×\98 ×\90קספ×\9c×\95רר:</strong> ×\9c×\9c×\97×\95×¥ ×\95×\9c×\94×\97×\96×\99ק ×\90ת ×\94×\9eקש <em>Ctrl</em> ×\91עת ×\9c×\97×\99צ×\94 ×¢×\9c <strong>×¨×¢× ×\9f</strong> (Refresh), ×\90×\95 ×\9c×\9c×\97×\95×¥ ×¢×\9c צ×\99ר×\95×£ ×\94×\9eקש×\99×\9d <em>Ctrl-F5</em>\n* <strong>×\90×\95פר×\94:</strong> ×\9cפת×\95×\97 <em>תפר×\99×\98 â\86\90 ×\94×\92×\93ר×\95ת</em> (×\91×\9e×\97ש×\91 ×\9eק <em>Opera â\86\90 ×\94×¢×\93פ×\95ת</em>) ×\95×\90×\96 ×\9c×\9c×\97×\95×¥ ×¢×\9c <em>פר×\98×\99×\95ת ×\95×\90×\91×\98×\97×\94 â\86\90 ×\9e×\97ק ×\94×\99ס×\98×\95ר×\99×\99ת ×\92×\9c×\99ש×\94 â\86\90 Cached images and files</em>.",
"usercssyoucanpreview": "<strong>עצה:</strong> השתמשו בכפתור \"{{int:showpreview}}\" כדי לבחון את גיליון ה־CSS החדש שלכם לפני השמירה.",
"userjsyoucanpreview": "<strong>עצה:</strong> השתמשו בכפתור \"{{int:showpreview}}\" כדי לבחון את סקריפט ה־JavaScript החדש שלכם לפני השמירה.",
"usercsspreview": "<strong>זִכרו שזו רק תצוגה מקדימה של גיליון ה־CSS שלכם.\nהוא עדיין לא נשמר!</strong>",
"mergehistory-fail-permission": "הרשאות לא מספיקות למיזוג היסטוריה.",
"mergehistory-fail-self-merge": "דף המקור זהה לדף היעד.",
"mergehistory-fail-timestamps-overlap": "גרסאות המקור חופפות או מגיעות אחרי גרסאות היעד.",
- "mergehistory-fail-toobig": "לא ניתן לבצע את מיזוג הגרסאות כיוון שצריך להעביר יותר גרסאות מהמגבלה, שהיא {{PLURAL:$1|גרסה אחת|֫$1 גרסאות}}.",
+ "mergehistory-fail-toobig": "לא ניתן לבצע את מיזוג הגרסאות כיוון שצריך להעביר יותר גרסאות מהמגבלה, שהיא {{PLURAL:$1|גרסה אחת|$1 גרסאות}}.",
"mergehistory-no-source": "דף המקור $1 אינו קיים.",
"mergehistory-no-destination": "דף היעד $1 אינו קיים.",
"mergehistory-invalid-source": "דף המקור חייב להיות בעל כותרת תקינה.",
"searchrelated": "קשור",
"searchall": "הכול",
"showingresults": "{{PLURAL:$1|מוצגת תוצאה <strong>אחת</strong>|מוצגות עד <strong>$1</strong> תוצאות}} החל ממספר <strong>$2</strong>:",
- "showingresultsinrange": "{{PLURAL:$1|מוצגת תוצאה <strong>אחת</strong>|מוצגות עד <strong>$1</strong> תוצאות}} בין המספרים <strong>$2</strong> ו־<strong>$3</strong>:",
+ "showingresultsinrange": "{{PLURAL:$1|מוצגת תוצאה <strong>אחת</strong>|מוצגות עד <strong>$1</strong> תוצאות}} בין המספרים <strong>$2</strong> ו־<strong>$3</strong>:",
"search-showingresults": "{{PLURAL:$4|תוצאה <strong>$1</strong> מתוך <strong>$3</strong>|תוצאות <strong>$1 - $2</strong> מתוך <strong>$3</strong>}}",
"search-nonefound": "לא נמצאו תוצאות המתאימות לחיפוש.",
"search-nonefound-thiswiki": "לא נמצאו תוצאות המתאימות לחיפוש באתר זה.",
"prefs-help-gender": "אין חובה למלא העדפה זו.\nהמערכת משתמשת במידע זה כדי לפנות אליך/אלייך ולציין את שם המשתמש שלך במין הדקדוקי הנכון.\nהמידע יהיה ציבורי.",
"email": "דוא\"ל",
"prefs-help-realname": "אין חובה למלא את השם האמיתי.\nהשם האמיתי עשוי לשמש כדי לייחס לך את עבודתך.",
- "prefs-help-email": "כתובת דואר אלקטרוני היא אופציונלית, אבל היא חיונית לאיפוס הסיסמה במקרה שתשכחו אותה.",
+ "prefs-help-email": "כתובת דואר אלקטרוני היא אופציונלית, אבל היא חיונית לאיפוס הסיסמה במקרה ש{{GENDER:|תשכח|תשכחי}} אותה.",
"prefs-help-email-others": "באפשרותך גם לבחור לאפשר לאחרים ליצור איתך קשר באמצעות דוא\"ל דרך קישור בדף המשתמש או בדף השיחה שלך.\nכתובת הדוא\"ל שלך לא תיחשף כשמשתמשים אחרים ייצרו איתך קשר.",
"prefs-help-email-required": "כתובת דואר אלקטרוני נדרשת לכתיבה באתר.",
"prefs-info": "מידע בסיסי",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ראו גם [[Special:NewPages|רשימת דפים חדשים]])",
"recentchanges-legend-plusminus": "(''±123'')",
"recentchanges-submit": "הצגה",
- "rcnotefrom": "×\9c×\94×\9c×\9f {{PLURAL:$5|×\94ש×\99× ×\95×\99 ש×\91×\95צע|×\94ש×\99× ×\95×\99×\99×\9d ש×\91×\95צע×\95}} ×\94×\97×\9c ×\9eâ\80\8fâ\80\8fÖ«Ö¾<b>$2</b> (×¢×\93 <b>$1</b> ×\9e×\95צ×\92×\99×\9d).",
+ "rcnotefrom": "×\9c×\94×\9c×\9f {{PLURAL:$5|×\94ש×\99× ×\95×\99 ש×\91×\95צע|×\94ש×\99× ×\95×\99×\99×\9d ש×\91×\95צע×\95}} ×\9e×\90×\96 <strong>$3, $4</strong> (×\9e×\95צ×\92×\99×\9d ×¢×\93 <strong>$1</strong>).",
"rclistfrom": "הצגת שינויים חדשים החל מ־$2, $3",
"rcshowhideminor": "$1 עריכות משניות",
"rcshowhideminor-show": "הצגת",
"cant-move-category-page": "אין לך הרשאה להעביר דפי קטגוריה.",
"cant-move-to-category-page": "אין לך הרשאה להעביר דף לדף קטגוריה.",
"newtitle": "השם החדש:",
- "move-watch": "מעקב אחר דף המקור ואחר דף היעד",
+ "move-watch": "מעקב אחרי דף המקור ואחרי דף היעד",
"movepagebtn": "העברה",
"pagemovedsub": "ההעברה הושלמה בהצלחה",
"movepage-moved": "הדף \"$1\" הועבר לשם \"$2\".",
"articleexists": "קיים כבר דף באותו שם, או שהשם שבחרת אינו תקין.\nנא לבחור שם אחר.",
"cantmove-titleprotected": "אין לך הרשאה להעביר את הדף לכאן, כי השם החדש מוגן מפני יצירה.",
"movetalk": "העברה גם של דף השיחה",
- "move-subpages": "×\94×¢×\91רת ×\9b×\9c ×\93פ×\99 ×\94×\9e×©× ×\94 (×¢×\93 $1)",
- "move-talk-subpages": "×\94×¢×\91רת ×\9b×\9c ×\93פ×\99 ×\94×\9e×©× ×\94 ש×\9c ×\93×£ ×\94ש×\99×\97×\94 (×¢×\93 $1)",
+ "move-subpages": "העברת דפי המשנה (עד $1)",
+ "move-talk-subpages": "העברת דפי המשנה של דף השיחה (עד $1)",
"movepage-page-exists": "הדף $1 קיים כבר ולא ניתן לדרוס אותו אוטומטית.",
"movepage-page-moved": "הדף $1 הועבר לשם $2.",
"movepage-page-unmoved": "לא ניתן להעביר את הדף $1 לשם $2.",
"import-comment": "הערה:",
"importtext": "נא לייצא את הקובץ מאתר המקור באמצעות ב[[Special:Export|כלי הייצוא]].\nשמרו אותו למחשב שלכם והעלו אותו לכאן.",
"importstart": "ייבוא דפים...",
- "import-revision-count": "{{PLURAL:$1|גרסה אחת|$1 גרסאות}}",
+ "import-revision-count": "‏{{PLURAL:$1|גרסה אחת|$1 גרסאות}}",
"importnopages": "אין דפים לייבוא.",
"imported-log-entries": "{{PLURAL:$1|יובאה פעולת יומן אחת|יובאו $1 פעולות יומן}}.",
"importfailed": "הייבוא נכשל: <nowiki>$1</nowiki>",
"tooltip-ca-nstab-category": "צפייה בדף הקטגוריה",
"tooltip-minoredit": "סימון עריכה זו כמשנית",
"tooltip-save": "שמירת השינויים שלך",
+ "tooltip-publish": "פרסום השינויים שלך",
"tooltip-preview": "תצוגה מקדימה של השינויים שלך. נא להשתמש באפשרות זו לפני השמירה.",
"tooltip-diff": "צפייה בשינויים שערכתם בטקסט",
"tooltip-compareselectedversions": "צפייה בהשוואת שתי גרסאות של דף זה",
"logentry-import-upload": "$1 {{GENDER:$2|ייבא|ייבאה}} את $3 באמצעות העלאת קובץ",
"logentry-import-upload-details": "$1 {{GENDER:$2|ייבא|ייבאה}} את $3 באמצעות העלאת קובץ ({{PLURAL:$4|גרסה אחת|$4 גרסאות}})",
"logentry-import-interwiki": "$1 {{GENDER:$2|ייבא|ייבאה}} את $3 מאתר ויקי אחר",
- "logentry-import-interwiki-details": "$1 {{GENDER:$2|ייבא|ייבאה}} את $3 מ־$5‏ ({{PLURAL:$4|גרסה אחת|$4 גרסאות}})‏",
+ "logentry-import-interwiki-details": "$1 {{GENDER:$2|ייבא|ייבאה}} את $3 מ־$5‏ ({{PLURAL:$4|גרסה אחת|$4 גרסאות}})",
"logentry-merge-merge": "$1 {{GENDER:$2|מיזג|מיזגה}} את $3 לתוך $4 (גרסאות עד $5)",
"logentry-move-move": "$1 {{GENDER:$2|העביר|העבירה}} את הדף $3 לשם $4",
"logentry-move-move-noredirect": "$1 {{GENDER:$2|העביר|העבירה}} את הדף $3 לשם $4 בלי להשאיר הפניה",
"logentry-protect-modify": "$1 {{GENDER:$2|שינה|שינתה}} את רמת ההגנה של הדף $3 $4",
"logentry-protect-modify-cascade": "$1 {{GENDER:$2|שינה|שינתה}} את רמת ההגנה של הדף $3 $4 [מדורג]",
"logentry-rights-rights": "$1 {{GENDER:$2|שינה|שינתה}} את ההרשאות של {{GENDER:$6|$3}} מ{{GRAMMAR:תחילית|$4}} ל{{GRAMMAR:תחילית|$5}}",
- "logentry-rights-rights-legacy": "$1 {{GENDER:$2|שינה|שינתה}} את ההרשאות של $3‏",
+ "logentry-rights-rights-legacy": "$1 {{GENDER:$2|שינה|שינתה}} את ההרשאות של $3",
"logentry-rights-autopromote": "$1 קודם אוטומטית מ{{GRAMMAR:תחילית|$4}} ל{{GRAMMAR:תחילית|$5}}",
"logentry-upload-upload": "$1 {{GENDER:$2|העלה|העלתה}} את $3",
"logentry-upload-overwrite": "$1 {{GENDER:$2|העלה|העלתה}} גרסה חדשה של $3",
"tog-watchdefault": "Az általam szerkesztett lapok és fájlok felvétele a figyelőlistámra",
"tog-watchmoves": "Az általam átnevezett lapok és fájlok felvétele a figyelőlistámra",
"tog-watchdeletion": "Az általam törölt lapok és fájlok felvétele a figyelőlistámra",
+ "tog-watchuploads": "Általam feltöltött új fájlok hozzáadása a figyelőlistámhoz",
"tog-watchrollback": "Az általam visszaállított lapok felvétele a figyelőlistámra",
"tog-minordefault": "Alapértelmezetten minden szerkesztésemet jelölje aprónak",
"tog-previewontop": "Előnézet megjelenítése a szerkesztőablak előtt",
"tags-edit-revision-legend": "Címkék hozzáadás vagy eltávolítása {{PLURAL:$1|ehhez a változathoz|mind a(z) $1 változathoz}}",
"tags-edit-logentry-legend": "Címkék hozzáadás vagy eltávolítása {{PLURAL:$1|ehhez a napló bejegyzéshez|mind a(z) $1 napló bejegyzéshez}}",
"tags-edit-existing-tags": "Létező címkék:",
- "tags-edit-existing-tags-none": "„Nincs”",
+ "tags-edit-existing-tags-none": "<em>Nincs</em>",
"tags-edit-new-tags": "Új címkék:",
"tags-edit-add": "Alábbi címkék hozzáadása:",
"tags-edit-remove": "Alábbi címkék eltávolítása:",
"tags-edit-reason": "Ok:",
"tags-edit-revision-submit": "Változások alkalmazás {{PLURAL:$1|ehhez a|$1}} változathoz",
"tags-edit-logentry-submit": "Változások alkalmazás {{PLURAL:$1|ehhez a|$1}} napló bejegyzéshez",
- "tags-edit-success": "A változások sikeresen alkalmazva.",
+ "tags-edit-success": "A változások alkalmazva.",
"tags-edit-failure": "A változásokat nem sikerült alkalmazni:\n$1",
"tags-edit-nooldid-title": "Érvénytelen változat",
"tags-edit-nooldid-text": "Nem adtál meg a változatot, vagy a megadott változat nem létezik.",
"tog-watchdefault": "Ավելացնել իմ խմբագրած էջերը և նիշքերը իմ հսկացանկում",
"tog-watchmoves": "Ավելացնել իմ վերնավանած էջերը և նիշքերը իմ հսկացանկում",
"tog-watchdeletion": "Ավելացնել իմ ջնջած էջերը և նիշքերը իմ հսկացանկում",
+ "tog-watchuploads": "Իմ բեռնած նիշքերը ավելացնել իմ հսկացանկում",
"tog-watchrollback": "Իմ հետ շրջած էջերն ավելացնել իմ հսկացանկում",
"tog-minordefault": "Բոլոր խմբագրումները լռելյայն կերպով նշել որպես չնչին",
"tog-previewontop": "Ցույց տալ նախադիտումը խմբագրման դաշտից առաջ",
"october-date": "Հոկտեմբերի $1",
"november-date": "Նոյեմբերի $1",
"december-date": "Դեկտեմբերի $1",
+ "period-am": "AM",
+ "period-pm": "PM",
"pagecategories": "{{PLURAL:$1|Կատեգորիա|Կատեգորիաներ}}",
"category_header": "«$1» կատեգորիայի հոդվածները",
"subcategories": "Ենթակատեգորիաներ",
"view-pool-error": "Ներեցեք, սերվերները գերբեռնված են այս պահին։\nՇատ օգտվողներ փորձում են դիտել այս էջը։\nԽնդրում ենք սպասել որոշ ժամանակ էջը կրկին դիտելու համար։\n\n$1",
"generic-pool-error": "Ներեցեք, սերվերները գերբեռնված են այս պահին։\nՇատ օգտվողներ փորձում են դիտել այս էջը։\nԽնդրում ենք սպասել որոշ ժամանակ էջը կրկին դիտելու համար։",
"pool-errorunknown": "Անհայտ սխալ",
+ "poolcounter-usage-error": "Օգտագործման սխալ՝ $1",
"aboutsite": "{{grammar:genitive|{{SITENAME}}}} մասին",
"aboutpage": "Project:Էությունը",
"copyright": "Կայքի բովանդակությունը թողարկված է $1 թույլատրագրով, եթե այլ բան նշված չէ։",
"pagetitle": "$1 — {{SITENAME}}",
"retrievedfrom": "Ստացված է «$1» էջից",
"youhavenewmessages": "Դուք ունեք $1 ($2)։",
+ "youhavenewmessagesfromusers": "{{PLURAL:$4|Դուք ունեք}} $1 {{PLURAL:$3|այլ մասնակից|$3 մասնակցից}} ($2):",
"youhavenewmessagesmanyusers": "Դուք ունեք $1 մի քանի օգտագործողից ($2)։",
"newmessageslinkplural": "{{PLURAL:$1|նոր հաղորդագրություն|999=նոր հաղորդագրություններ}}",
"newmessagesdifflinkplural": "վերջին {{PLURAL:$1|փոփոխում|999=փոփոխումներ}}",
"filerenameerror": "Չհաջողվեց «$1» նիշքը վերանվանել «$2»։",
"filedeleteerror": "Չհաջողվեց ջնջել «$1» ֆայլը։",
"directorycreateerror": "Չհաջողվեց ստեղծել «$1» պանակը։",
+ "directoryreadonlyerror": "$1 թղթապանակը միայն ընթերցելու համար է:",
"filenotfound": "Չհաջողվեց գտնել «$1» ֆայլը։",
"unexpected": "Անսպասելի արժեք. «$1»=«$2»։",
"formerror": "Սխալ. չհաջողվեց փոխանցել տվյալները",
"customjsprotected": "Դուք չեք կարող խմբագրել այս ՋավաՍկրիպտ էջը, քանի որ այն պարունակում է այլ մասնակցի անձնական նախընտրանքներ։",
"mycustomcssprotected": "Դուք բավարար իրավունքներ չունեք այս CSS էջը խմբագրելու համար։",
"mycustomjsprotected": "Դուք բավարար իրավունքներ չունեք այս JavaScript էջը խմբագրելու համար։",
+ "myprivateinfoprotected": "Դուք իրավասու չեք խմբագրել Ձեր անձնական տեղեկությունը:",
"mypreferencesprotected": "Դուք բավարար իրավունքներ չունեք Ձեր նախընտրությունները խմբագրելու համար։",
"ns-specialprotected": "«{{ns:special}}» անվանատարածքի էջերը չեն կարող խմբագրվել։",
"titleprotected": "Այս անվանմամբ էջի ստեղծումը արգելվել է [[User:$1|$1]] մասնակցի կողմից։\nՏրված պատճառն է՝ <em>$2</em>։",
"virus-scanfailed": "զննման սխալ (կոդ $1)",
"virus-unknownscanner": "անծանոթ հակավիրուս՝",
"logouttext": "<strong>Դուք դուրս եկաք համակարգից։</strong>\n\nԻ նկատի ունեցեք, որ որոշ էջեր կարող են ցուցադրվել այնպես՝ ինչպես եթե դեռ համակարգում լինեիք մինչև որ չջնջեք ձեր զննարկիչի հիշապահեստը։",
+ "cannotlogoutnow-title": "Այժմ դուրս գալ անհնար է",
+ "cannotlogoutnow-text": "$1 օգտագործելիս դուրս գալն անհնար է:",
"welcomeuser": "Բարի գալո՜ւստ, $1",
"welcomecreation-msg": "Ձեր հաշիվն ստեղծված է։\nՉմոռանաք փոփոխել ձեր [[Special:Preferences|նախընտրությունները]]։",
"yourname": "Մասնակցի անուն՝",
"remembermypassword": "Հիշել իմ մուտքը այս դիտարկչում ($1 {{PLURAL:$1|օրից}} ոչ ավել ժամկետով)",
"userlogin-remembermypassword": "Մուտք գործած մնալ",
"userlogin-signwithsecure": "Օգտագործել անվտանգ միացում",
+ "cannotloginnow-title": "Այժմ դուրս գալ անհնար է",
+ "cannotloginnow-text": "$1 օգտագործելիս դուրս գալն անհնար է:",
"yourdomainname": "Ձեր դոմենը՝",
"password-change-forbidden": "Այս վիքիում չեք կարող փոխել գաղտնաբառ։",
"externaldberror": "Տեղի է ունեցել վավերացման արտաքին տվյալների բազայի սխալ, կամ դուք չունեք բավարար իրավունքներ ձեր արտաքին հաշվի փոփոխման համար։",
"wrongpassword": "Մուտքագրված գաղտնաբառը սխալ էր։ Խնդրում ենք կրկին փորձել։",
"wrongpasswordempty": "Մուտքագրված գաղտնաբառը դատարկ էր։ Խնդրում ենք կրկին փորձել։",
"passwordtooshort": "Գաղտնաբառը պետք է պարունակի առնվազն {{PLURAL:$1|1 սիմվոլ|$1 սիմվոլ}}։",
+ "passwordtoolong": "Ծածկագիրը չի կարող գերազանցել {{PLURAL:$1|1 նիշը|$1 նիշը}}:",
"password-name-match": "Գաղտնաբառը պետք է տարբեր լինել ձեր մասնակցի անունից։",
"password-login-forbidden": "Այս ծածկանվան և գաղտնաբառի օգտագործումն արգելված է",
"mailmypassword": "Փոխել գաղտնաբառը",
"noemailprefs": "Այս հնարավորության գործածման համար անհրաժեշտ է նշել էլ-փոստի հասցե։",
"emailconfirmlink": "Վավերացնել ձեր էլ-փոստի հասցեն",
"invalidemailaddress": "Նշված էլ-փոստի հասցեն անընդունելի է, քանի որ այն ունի անթույլատրելի ֆորմատ։ Խնդրում ենք նշել ճշմարիտ հասցե կամ այս դաշտը թողնել դատարկ։",
+ "cannotchangeemail": "Այս վիքիում մասնակցային հաշվի էլ.փոստի փոփոխությունն անհնար է:",
"emaildisabled": "Այս կայքը չի կարող ուղարկել էլ․ նամակներ։",
"accountcreated": "Հաշիվը ստեղծված է",
"accountcreatedtext": "[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|քննարկում]]) մասնակցի հաշիվը ստեղծված է։",
"createaccount-title": "{{SITENAME}}. մասնակցային հաշվի ստեղծում",
"createaccount-text": "Ինչ-որ մեկը ստեղծել է «$2» անվանմամբ մասնակցային հաշիվ «$3» գաղտնաբառով {{SITENAME}} ($4) նախագծում՝ նշելով ձեր էլ-հասցեն։ Ձեզ անհրաժեշտ է մտնել համակարգ և փոխել գաղտնաբառը։\n\nԿարող եք անտեսել այս հաղորդագրությունը, եթե հաշիվը ստեղծվել է սխալմամբ։",
"login-throttled": "Դուք կատարել եք չափից շատ մուտքի փորձ։\nԽնդրում ենք սպասել $1 կրկին փորձելուց առաջ։",
+ "login-abort-generic": "Մուտք գործելը ձախողվեց: Մերժված է:",
+ "login-migrated-generic": "Ձեր մասնակցային հաշիվը տեղափոխվել է, և Ձեր մասնակցային անունն այլևս գոյություն չունի այս վիքիում:",
"loginlanguagelabel": "Լեզու՝ $1",
"pt-login": "Մուտք գործել",
"pt-login-button": "Մտնել",
"newpassword": "Նոր գաղտնաբառը.",
"retypenew": "Հաստատեք նոր գաղտնաբառը.",
"resetpass_submit": "Հաստատել գաղտնաբառը և մտնել համակարգ",
- "changepassword-success": "Ձեր գաղտնաբառը հաջողությամբ փոխված է։",
+ "changepassword-success": "Ձեր գաղտնաբառը փոփոխվեց։",
+ "botpasswords": "Բոտերի ծածկագրեր",
+ "botpasswords-disabled": "Բոտերի ծածկագրերն անջատված են:",
+ "botpasswords-existing": "Գոյություն ունեցող բոտային ծածկագրերը",
+ "botpasswords-createnew": "Ստեղծել նոր բոտային ծածկագիր",
+ "botpasswords-editexisting": "Խմբագրել առկա բոտային ծածկագիրը",
+ "botpasswords-label-appid": "Բոտի անուն՝",
+ "botpasswords-label-create": "Ստեղծել",
+ "botpasswords-label-update": "Թարմացնել",
+ "botpasswords-label-cancel": "Չեղարկել",
+ "botpasswords-label-delete": "Ջնջել",
+ "botpasswords-label-resetpassword": "Վերականգնել ծածկագիրը",
+ "botpasswords-label-restrictions": "Օգտագործման սահմանափակումներ:",
+ "botpasswords-label-grants-column": "Թույլատրված է",
+ "botpasswords-bad-appid": "\"$1\" բոտի անունն անթույլատրելի է:",
+ "botpasswords-created-title": "Բոտի ծածկագիրը ստեղծվել է",
+ "botpasswords-created-body": "$2 մասնակցի $1 բոտի համար բոտի ծածկագիրը ստեղծվել է:",
+ "botpasswords-updated-title": "Բոտի ծածկագիրը թարմացվել է",
+ "botpasswords-updated-body": "$2 մասնակցի $1 բոտի համար բոտի ծածկագիրը ստեղծվել է:",
+ "botpasswords-deleted-title": "Բոտի ծածկագիրը ջնջված է",
+ "botpasswords-deleted-body": "$2 մասնակցի $1 բոտի համար բոտի ծածկագիրը ջնջվել է:",
"resetpass_forbidden": "Գաղտնաբառը չի կարող փոխվել",
"resetpass-no-info": "Այս էջին ուղիղ դիմելու համար անհրաժեշտ է մտնել համակարգ։",
"resetpass-submit-loggedin": "Փոխել գաղտնաբառը",
"thursday": "ера",
"friday": "пӀаьраска",
"saturday": "шоатта",
- "sun": "К|и",
+ "sun": "КIиранди",
"mon": "Ор",
"tue": "Шин",
"wed": "Кха",
"october": "Ардарий\\АьрхIий бутт",
"november": "Лай чилла бутт",
"december": "Чан-тар бутт",
- "january-gen": "Ð\9dажгамÑ\81Ñ\85ой бетт",
+ "january-gen": "Ð\90гIой бетт",
"february-gen": "Саь-кур бетт",
"march-gen": "Муттхьол бетт",
"april-gen": "Тушоли бетт",
"oct": "Ардарий\\АьрхIий",
"nov": "Лай чилла",
"dec": "Чан-тар",
- "january-date": "Ð\9dажгамÑ\81Ñ\85ой $1",
+ "january-date": "Ð\90гIой бÑ\83Ñ\82Ñ\82 $1",
"february-date": "Саь-кур бутт $1",
"march-date": "Муттхьол $1",
"april-date": "Тушоли $1",
"period-am": "ДЦ",
"period-pm": "ДТ",
"pagecategories": "{{PLURAL:$1|1=Категори|Категореш}}",
- "category_header": "\"$1\" Катага чура оаг|онаш",
+ "category_header": "«$1» категори чура оагIонаш",
"subcategories": "Чуракатагаш",
"category-media-header": "\"$1\" Категори чура файлаш",
"category-empty": "''Укх катага чу цхьаккха оаг|онаш е паьлаш яц.''",
"category-article-count-limited": "Укх катага чу {{PLURAL:$1|1=$1 оаг|ув|$1 оаг|oнаш}}.",
"category-file-count": "{{PLURAL:$2|Укх катагори чу цаI мара файл яц.|{{PLURAL:$1|1=$1 файл хьахьокхаш я|$1 файл хьахьокхаш я}} укх категори $2 долачарeх.}}",
"category-file-count-limited": "Укх катага чу {{PLURAL:$1|1=$1 лурдар|$1 лурдараш}}.",
- "listingcontinuesabbrev": "д|ахо",
+ "listingcontinuesabbrev": "(дIахо)",
"index-category": "Д|ахьожама оаг|онаш",
"noindex-category": "Д|ахьожаманза оаг|онаш",
"broken-file-category": "Паьла хьожадергашца болхбеш йоаца оаг|онаш",
"permalink": "Даиман латташ йола хьожаярг",
"print": "Кепатохар",
"view": "Хьажар",
- "view-foreign": "Ð\9cазаоаг|он Ñ\87Ñ\83 $1 хьажа",
+ "view-foreign": "УкÑ\85 $1 Ñ\8fÑ\85 Ñ\81айÑ\82а Ñ\87Ñ\83 хьажа",
"edit": "Нийсде",
"edit-local": "Хувца локальни йоазонца сурт оттадар",
"create": "Хьаде",
"aboutsite": "{{grammar:genitive|{{SITENAME}}}} лаьца",
"aboutpage": "Project:Лоацам",
"copyright": "$1 чулоацамаца тIакхоачаш да.",
- "copyrightpage": "{{ns:project}}:ЯздаÑ\8cÑ\87Ñ\83нна бокÑ\8aо",
+ "copyrightpage": "{{ns:project}}:Ð\90вÑ\82оÑ\80а бокÑ\8aонаÑ\88",
"currentevents": "ХӀанзара хинна хIамаш",
"currentevents-url": "Project:ХӀанзара хинна хIамаш",
"disclaimers": "Бехктокхам хьацаэцар",
"disclaimerpage": "Project:Бехктокхам хьацаэцар",
- "edithelp": "Хувцама гӀо",
+ "edithelp": "Хувцам бара новкъостал",
"helppage-top-gethelp": "ГӀо",
"mainpage": "Кертера оагӀув",
"mainpage-description": "Кертера оагӀув",
"cannotdelete-title": "ОагIув дIаяккха йиш яц \"$1\"",
"badtitle": "Мегаш йоаца цӀи",
"badtitletext": "Езаш йола оагӀува цӀи нийса яц, яьсса я, е харцахь я меттаюкъара цIи е интервики цӀи. Иштта, цӀера юкъе оттаде мегаш доаца хьаракъаш нийсаденна хила тарлуш да.",
- "viewsource": "Ð\91IаÑ\80гÑ\82аÑ\81Ñ\81ам",
+ "viewsource": "Ð¥Ñ\8cажаÑ\80",
"actionthrottled": "Сихален овзамал",
"protectedpagetext": "Ер оаг|ув къайла я хувцамаш дергдоацаш е кхы дола х|амдараш.",
"virus-unknownscanner": "довзашдоаца мазаундохьалург:",
"userlogin-yourname-ph": "Чуйоалае доакъашхочун цӀи",
"createacct-another-username-ph": "Чуйоалае доакъашхочун цӀи",
"yourpassword": "КъайладIоагӀа:",
+ "userlogin-yourpassword": "Пароль",
"yourpasswordagain": "КъайладIоагӀа юха Ӏоязаде:",
"remembermypassword": "(укх $1 {{PLURAL:$1|1=ден|деношкахь}}) мара са чувалара/чуялара дагалоаца дезаш дац",
"yourdomainname": "Шун цӀеноагӀув:",
"summary": "Хувцамий белгалдер",
"subject": "БӀагал/кортале:",
"minoredit": "ЗӀамига хувцам",
- "watchthis": "УкÑ\85 оагÓ\80Ñ\83ва Ñ\82еÑ\80кам бе",
- "savearticle": "ОагӀув хьаязъе",
+ "watchthis": "Ð\97ем бе Ñ\83кÑ\85 оагÓ\80он",
+ "savearticle": "ОагӀув дIаязъе",
"preview": "Хьалхе бӀаргтассар",
- "showpreview": "Хьалхе бӀаргтaссам",
+ "showpreview": "Хьалххе хьажар",
"showdiff": "Даь хувцамаш",
"anoneditwarning": "Зем хила! Шо кхы чудаьннадац. Шун IP-моттиг укх хийца оагӀув искаречу дӀаяздаь хургья.",
"summary-preview": "Лоацам ба:",
"templatesused": "Укх бӀаргоагӀувни оагӀув тӀа лелаяь {{PLURAL:$1|1=Куцкеп|Куцкепаш}}:",
"templatesusedpreview": "Хьалхе бӀаргтассама оагӀув тӀа леладеш дола {{PLURAL:$1|1=Куцкеп|Куцкепаш}}:",
"template-protected": "(лорадаь да)",
- "template-semiprotected": "(дакъа-лорам)",
+ "template-semiprotected": "(цхьа долча даькъе гIо оттадаь да)",
"hiddencategories": "Ер оагӀув укх {{PLURAL:$1|1=къайла цатегаца|къайла цатегашца}} дакъа лоаца:",
"permissionserrorstext-withaction": "$2 де бокъо яц {{PLURAL:$1|1=из бахьан долаш|из бахьанаш долаш}}:",
"recreate-moveddeleted-warn": "'''Зем бе! Шо хьалххе дIайоаккхаш хинна оагӀув хьае гӀерта.'''\n\nХьажа, бокъонцахь езаш йолга.\nКӀалхагIа укх оагӀуви дӀадаккхами цӀи хувцами тептараш хьекха да.",
"previousrevision": "← Xьалхарча",
"nextrevision": "ТIехьайоагIараш →",
"currentrevisionlink": "ХIанзара верси",
- "cur": "хӀанз.",
+ "cur": "хӀанза.",
"next": "тӀехь.",
- "last": "хьалх.",
+ "last": "хьалха.",
"page_first": "хьалхара",
"page_last": "тӀехьара",
"histlegend": "Кхетам: (хӀанз.) = хӀанза йолачунна бӀаргоагӀувни хьакъоастам ба; (хьалх.) = хьалха хинначунна бӀаргоагӀувни хьакъоастам ба; '''зӀ''' = зӀамига хьахувцам ба.",
"searchresults": "Лахар чакхдоалаш корадаьр",
"searchresults-title": "«$1» лахар",
"notextmatches": "ОагIувнаша яздамий вIашагIакхетараш дац",
- "prevn": "{{PLURAL:$1|хьалхйоагlар $1|хьалхйоагlараш $1|хьалхйоагlараш $1}}",
+ "prevn": "{{PLURAL:$1|1=хьалхайогIар|хьалхайогIараш}} $1",
"nextn": "{{PLURAL:$1|1=тIехьайоагIар|тIехьайоагIараш}} $1",
"prevn-title": "{{PLURAL:$1|1=$1 хьалхара йоазув|$1 хьалхара йоазувнаш}}",
- "nextn-title": "{{PLURAL:$1|1=$1 тIехьара йоазув|$1 тIехьара йоазувнаш}}",
+ "nextn-title": "{{PLURAL:$1|ТIадоагIа $1 яздар|ТIадоагIа $1 яздараш}}",
"shown-title": "Хьóкха $1 {{PLURAL:$1|даь йоазо|даь йоазонаш}} укх оáгIувна тIа",
- "viewprevnext": "($1 {{int:pipe-separator}} $2) ($3) хьажа",
+ "viewprevnext": "ДIахьажа ($1 {{int:pipe-separator}} $2) ($3)",
"searchmenu-exists": "'''Укх масса-хьахьоадайтамач ер оаг|ув \"[[:$1]]\" я'''",
"searchmenu-new": "<strong>Кхолла оагIув «[[:$1]]» укх вики-проекте!</strong>\n{{PLURAL:$2|0=|Иштта хьажа хьай лийха оагIувнага.|Иштта хьажа хьай лахара хьахиннарашка.}}",
"searchprofile-articles": "Кертера оагIонаш",
"searchprofile-advanced-tooltip": "Iочуязаяь цIераренашках лаха",
"search-result-size": "$1 ({{PLURAL:$2|$2 дош|$2 дешаш}})",
"search-result-category-size": "{{PLURAL:$1|1=$1 дакъа|$1 дакъаш}} ({{PLURAL:$2|1=$2 кIалцатег|$2 кIалцатегаш}}, {{PLURAL:$3|1=$3 паьла|$3 паьлий}})",
- "search-redirect": "($1 дехьачуяьккхар)",
+ "search-redirect": "(дIа-сахьожадар $1 тIара)",
"search-section": " (дакъа $1)",
"search-suggest": "Хьона эшар ер хила мега: $1",
"search-interwiki-caption": "Гаргалон хьахьоадайтамаш",
"search-relatedarticle": "шоайл дола",
"searchrelated": "гаргара",
"searchall": "деррига",
- "search-nonefound": "Ð\94IаÑ\85аÑ\82Ñ\82ама нийÑ\81амаÑ\88 корадаьдац.",
+ "search-nonefound": "Ð¥Ñ\8cа деÑ\85аÑ\80 даÑ\80а вIаÑ\88и нийÑ\81а доагIаÑ\88 Ñ\85илаÑ\80 корадаьдац.",
"powersearch-legend": " Доккха тахкар",
"powersearch-ns": " ЦIерий аренашкахь лахар",
"powersearch-toggleall": "Деррига",
"nchanges": "$1 {{PLURAL:$1|1=хувцам|хувцамаш}}",
"enhancedrc-history": "истори",
"recentchanges": "Керда хувцамаш",
- "recentchanges-legend": "Ð\9aеÑ\80да Ñ\85Ñ\83вÑ\86амий оттамаш",
+ "recentchanges-legend": "Ð\9aеÑ\80да Ñ\85Ñ\83вÑ\86амай оттамаш",
"recentchanges-summary": "КIалхагIа лоарамий доаламе тIехьара оагIувний хувцамаш дIаязадаь да {{grammar:genitive|{{SITENAME}}}}.",
"recentchanges-feed-description": "Укх ларамца тIехьара массахувцамашт теркам бе.",
"recentchanges-label-newpage": "Укх хувцамаца керда оагIув кхелла хиннай",
"recentchanges-label-minor": "Ер зIамига хувцам ба",
"recentchanges-label-bot": "Ер хувцам ботаца баь ба",
- "recentchanges-label-unpatrolled": "Ð\95Ñ\80 Ñ\85Ñ\83вÑ\86ам Ñ\88ий моÑ\82Ñ\82иге кÑ\85Ñ\8b дIадеÑ\85Ñ\8cаÑ\8fÑ\8cккÑ\85аÑ\8fц.",
+ "recentchanges-label-unpatrolled": "УкÑ\85 Ñ\85Ñ\83вÑ\86ама Ñ\85Iанза Ñ\86Ñ\85Ñ\8cанно Ñ\85а (паÑ\82Ñ\80Ñ\83лиÑ\80оваÑ\82Ñ\8c) даÑ\8c дац.",
"recentchanges-label-plusminus": "байташкахь боарам хувцар",
"recentchanges-legend-heading": "<strong>Легенда: </strong>",
- "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (хьажа иштта [[Special:NewPages|керда оагIувнашка]])",
+ "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (хьажа иштта [[Special:NewPages|керда оагIонашка]])",
"rcnotefrom": "КIалхагIа хувцамаш хьахьекха я <strong>$2</strong> денза (<strong>$1</strong> кхачалца).",
- "rclistfrom": "$3 $2 тIара хувцамаш хьахьокха",
- "rcshowhideminor": "$1 зIамига хувцамаш",
+ "rclistfrom": "$3 $2 денза даь хувцамаш хьахьокха",
+ "rcshowhideminor": "$1 зIамига нийсдараш",
"rcshowhideminor-hide": "Къайлдаккха",
"rcshowhidebots": "$1 боташ",
"rcshowhidebots-show": "Хьахьокха",
"rcshowhideliu": "$1 бовзийтарчара доакъашхой",
- "rcshowhideliu-hide": "Ð\9aÑ\8aайлдаккха",
- "rcshowhideanons": "$1 цIияьккханза дакъалаьцархой",
+ "rcshowhideliu-hide": "Ð\9aÑ\8aайлабаха",
+ "rcshowhideanons": "$1 цIияккханза доакъашхой",
"rcshowhideanons-show": "Хьахьокха",
- "rcshowhideanons-hide": "Ð\9aÑ\8aайлдаккха",
+ "rcshowhideanons-hide": "Ð\9aÑ\8aайлабаха",
"rcshowhidepatr": "$1 теркам даь хувцамаш",
- "rcshowhidemine": "$1 Ñ\81ай Ñ\85Ñ\83вÑ\86амаш",
+ "rcshowhidemine": "$1 Ñ\85Ñ\8cа нийÑ\81даÑ\80аш",
"rcshowhidemine-hide": "Къайлдаккха",
- "rclinks": "$2 динах<br />$3 $1 хинна тIехьара хувцамаш хьахьокха",
+ "rclinks": "Хьахьокха $2 дийнахь даь хинна тIеххьара $1 хувцамаш\n<br />$3",
"diff": "башхало",
"hist": "истори",
"hide": "Къайлдаккха",
"recentchangeslinked": "Гаргалон хувцамаш",
"recentchangeslinked-feed": "Гаргалон хувцамаш",
"recentchangeslinked-toolbox": "Укханца вIашагIдувзаденна хувцамаш",
- "recentchangeslinked-title": "$1ца хьалаьца хувцамаш",
+ "recentchangeslinked-title": "$1ца вIашидувзаденна хувцамаш",
"recentchangeslinked-summary": "Ер, Iинк яь йола оагIув (е укх цатегачу чуйоагIараш), дукха ха йоацаш хьийца оагIувнашкий дагарле я.\n[[Special:Watchlist|Шун теркама дагарленашках]] чуйоагIа оагIувнаш '''белгалаяь я'''.",
"recentchangeslinked-page": "ОагIува цIи",
"recentchangeslinked-to": "ОагIувнаш тIа хувцамаш хьахьокха, хьахьекха йола оагIув тIа Iинкаш еш йола.",
"invert": "Харжар юхадаккха",
"namespace_association": "Ювзаенна мотт",
"blanknamespace": "(Кертера)",
- "contributions": "{{GENDER:$1|Доакъашхочунна}} къахьегам",
+ "contributions": "{{GENDER:$1|Доакъашхочун}} къахьегам",
"contributions-title": "$1 дакъалаьцархочунна къахьегам",
"mycontris": "Са къахьегам",
+ "anoncontribs": "Къахьегам",
"contribsub2": "{{GENDER:$3|$1}} ($2) баь болх",
"uctop": "(xIанзара)",
"month": "Укх бетт (кхы хьалхагIа)",
"thumbnail-more": "Доккха де",
"thumbnail_error": "ЗIамигасуртанчий кхеллама гIалат: $1",
"import-upload-filename": "ПаьлацIи:",
- "tooltip-pt-userpage": "Дакъалаьцархочунна оагIув",
+ "tooltip-pt-userpage": "{{GENDER:|Хьа}} доакъашхочунна оагIув",
"tooltip-pt-mytalk": "Шун дувцамий оагIув",
- "tooltip-pt-preferences": "Шун оттамаш",
+ "tooltip-pt-preferences": "{{GENDER:|Хьа оттамаш}}",
"tooltip-pt-watchlist": "ОоагIувна дагарле, шо бIаргалокхаш йола",
"tooltip-pt-mycontris": "Шун хувцамаш",
"tooltip-pt-login": "Укхаза хьай цIи аьле чувала/яла йиша я, амма из параз дац",
"tooltip-ca-talk": "ОагIон чулоацам дувца оттадар",
"tooltip-ca-edit": "Нийсъе ер оагIув",
"tooltip-ca-addsection": "Керда дакъа хьаде",
- "tooltip-ca-viewsource": "Ð\95Ñ\80 оагIÑ\83в Ñ\85Ñ\83вÑ\86амаÑ\85 лоÑ\80аÑ\8fÑ\8c Ñ\8f, амма Ñ\88Ñ\83н Ñ\86Ñ\83нна гIÑ\83вамага Ñ\85Ñ\8cажа бокъо я.",
+ "tooltip-ca-viewsource": "Ð\95Ñ\80 оагIÑ\83в Ñ\85Ñ\83вÑ\86амбаÑ\80аÑ\85 гIо Ñ\82еÑ\85а (лоÑ\80аÑ\8f) Ñ\8f, амма Ñ\86Ñ\83нна дIадолалÑ\83 Ñ\82екÑ\81Ñ\82ага Ñ\85Ñ\8cажа а, из Ñ\82IеÑ\80Ñ\85Ñ\8cаÑ\8fзÑ\8aе а бокъо я.",
"tooltip-ca-history": "Укх оагIон даь хувцамаш тIа дола тептар",
"tooltip-ca-protect": "Eр оагIув лорае",
"tooltip-ca-delete": "Ер оагIув дIаяькха",
"tooltip-ca-nstab-help": "ГӀон оагIув",
"tooltip-ca-nstab-category": "Категорий оагӀув",
"tooltip-minoredit": "Ер хувцар башха доаца санна белгалде",
- "tooltip-save": "Ð¥Ñ\83вÑ\86амаÑ\88 кÑ\85оде",
- "tooltip-preview": "Ð\9eагIÑ\83в Ñ\82Iа Ñ\85Ñ\8cалÑ\85е бIаÑ\80гÑ\82аÑ\81Ñ\81аÑ\80, деÑ\85аÑ\80 да, оагIÑ\83в дIаÑ\8fзÑ\8aелаÑ\8cÑ\85, Ñ\86Ñ\83н Ñ\82еÑ\80кам бе.",
- "tooltip-diff": "Яздам Ñ\82Iа Ñ\8fÑ\8c йола хувцамаш хьахьокха",
+ "tooltip-save": "Ð¥Ñ\8cай Ñ\85Ñ\83вÑ\86амаÑ\88 лоÑ\80адеÑ\88 дIаÑ\8fзаде",
+ "tooltip-preview": "Ð\94еÑ\85аÑ\80 да, оагÓ\80Ñ\83в лоÑ\80аеÑ\88Ñ\8c дIаÑ\8fзаелеÑ\85Ñ\8c из миÑ\88Ñ\82а Ñ\8f Ñ\82аÑ\85ка Ñ\85Ñ\8cалÑ\85Ñ\85е Ñ\85Ñ\8cажаÑ\80аÑ\85 пайда Ñ\8dÑ\86аÑ\88!",
+ "tooltip-diff": "Ð\94IадолалÑ\83 Ñ\82екÑ\81Ñ\82аÑ\86а даÑ\8c хувцамаш хьахьокха",
"tooltip-compareselectedversions": "Укх оагIувни шин доржамаш тIа юкъера хувцамаш зе.",
"tooltip-watch": "Ер оагIув теркам беча каьхата тIа яькха",
"tooltip-rollback": "Цкъа пIелг тоIабе дIадаккха тIехьара редакторас даь хувцамаш",
"tooltip-undo": "Даь хувцар дIадаьккха, хьалххе хьажар хьахьокха, дIадаккхара бахьан Iочуязаде аьттув болаш.",
- "tooltip-summary": "Лоаца чулоацам Iочуязаде",
+ "tooltip-summary": "Лоаца йоазонца сурт оттадар Iочуязаде",
"pageinfo-toolboxlink": "ОагIонах бола хоам",
"previousdiff": "← Хьалхара нийсдар",
"nextdiff": "ТIайоагIа нийсъар",
"ilsubmit": "Хьалáха",
"bad_image_list": "Бустам цу тайпара хила беза:\n\nДагарлен хьаракъаш мара лоарх|аш хургьяц (укх тамагIалгацa * дувлашду мугIараш).\nМугIарен хьалхара Iинк, сурт Iоттае пурам доаца Iинка, хила еза. \nЦу мугIара тIехьайоагIа Iинкаш, арадаккхар мо лоарх|аш хургья, вешта аьлча, йоазувашка чуIоттаде мегаш дола сурт санна ларх|а мега.",
"metadata": "Метахоамаш",
- "metadata-help": "Ð\9fаÑ\8cлаÑ\81 Ñ\87Ñ\83лоаÑ\86а, кÑ\85Ñ\8bдола Ñ\85IамаÑ\88, Ñ\82аÑ\8cÑ\80аÑ\85Ñ\8cа Ñ\81Ñ\83Ñ\80Ñ\82доакÑ\85аÑ\80гÑ\86а е Ñ\82IагIолладоакÑ\85аÑ\80гÑ\86а Ñ\87Ñ\83дакÑ\85аÑ\88 дола. Ð¥Ñ\8cаÑ\8fÑ\8c паÑ\8cл, гIалаÑ\82аÑ\85Ñ\8c мÑ\83кÑ\8aадаÑ\8cкÑ\85а Ñ\85инна дале, Ñ\85Ñ\8cаÑ\85Ñ\8cокÑ\85аÑ\88 дола Ñ\81Ñ\83Ñ\80Ñ\82, деÑ\80Ñ\80ига Ñ\85IамаÑ\88 Ñ\87Ñ\83лоаÑ\86аÑ\80гдаÑ\86.",
+ "metadata-help": "ФайлаÑ\81 кÑ\85Ñ\8bдола Ñ\85оамаÑ\88 Ñ\87Ñ\83лоаÑ\86а, Ñ\86иÑ\84Ñ\80овой Ñ\81Ñ\83Ñ\80Ñ\82доакÑ\85аÑ\80го е Ñ\81канеÑ\80о Ñ\82IаÑ\82оÑ\85аÑ\88 дола. Ð\9dагаÑ\85Ñ\8cа Ñ\84айл Ñ\87Ñ\83Ñ\8fкÑ\85аÑ\87Ñ\83л Ñ\82IеÑ\85Ñ\8cа Ñ\85ийÑ\86а Ñ\85инна дале, Ñ\86Ñ\85Ñ\8cаÑ\86Ñ\86айола паÑ\80амеÑ\82Ñ\80аÑ\88 Ñ\85IанзаÑ\80а Ñ\81Ñ\83Ñ\80Ñ\82а Ñ\82аÑ\80а йоаÑ\86аÑ\88 Ñ\85ила мегаÑ\88 Ñ\8f.",
"metadata-expand": "Кхыдола хIамаш хьахьокха",
"metadata-collapse": "Кхыдола хIамаш къайладаккха",
"metadata-fields": "Укх списке дагaрадаь суртай метахоамай йистош, хьахьекха хургда суртан оагIон тIа, метахоамай таблица хьоарчая йолаш. Юхедиса йистош къайла хургда.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
"exif-artist": "Яздархо",
"exif-exifversion": "Верси Exif",
"exif-colorspace": "Басара аре",
- "exif-pixelxdimension": "СÑ\83Ñ\80Ñ\82а Ñ\88ерал",
+ "exif-pixelxdimension": "СÑ\83Ñ\80Ñ\82а Ñ\88орал",
"exif-pixelydimension": "Сурта лакхал",
"exif-datetimedigitized": "Оцифровк яь таьрахь а, ха а",
"exif-writer": "Яздама да",
"watchlisttools-view": "Дагарчера оагIувнаш тIа хувцамаш",
"watchlisttools-edit": "Дагарче хьажа/хувца",
"watchlisttools-raw": "Яздам мо хувца",
+ "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|дувца оттадар]])",
"duplicate-defaultsort": "Зем бе. Сатийна дIа-хьа хьоржама доагI \"$2\" хьалхара сатийна дIа-хьа хьоржама доагI \"$1\" хьахьоржа.",
"version": "Доржам",
"version-specialpages": "ГIулакхий оагIувнаш",
"minoredit": "Questa è una modifica minore",
"watchthis": "Aggiungi agli osservati speciali",
"savearticle": "Salva la pagina",
+ "publishpage": "Pubblica pagina",
"preview": "Anteprima",
"showpreview": "Visualizza anteprima",
"showdiff": "Mostra modifiche",
"tooltip-ca-nstab-category": "Vedi la pagina della categoria",
"tooltip-minoredit": "Contrassegna questa modifica come minore",
"tooltip-save": "Salva le modifiche",
+ "tooltip-publish": "Pubblica le tue modifiche",
"tooltip-preview": "Anteprima delle modifiche (consigliata prima di salvare)",
"tooltip-diff": "Guarda le modifiche apportate al testo",
"tooltip-compareselectedversions": "Guarda le differenze tra le due versioni selezionate di questa pagina.",
"recentchangeslinked-page": "ページ名:",
"recentchangeslinked-to": "このページへのリンク元での変更の表示に切り替え",
"recentchanges-page-added-to-category": "[[:$1]]をカテゴリに追加",
- "recentchanges-page-added-to-category-bundled": "[[:$1]]ã\81¨ä»\96[[Special:WhatLinksHere/$1|{{PLURAL:$2|1ã\83\9aã\83¼ã\82¸|$2ã\83\9aã\83¼ã\82¸}}]]ã\82\92ã\82«ã\83\86ã\82´ã\83ªã\81«è¿½å\8a ",
+ "recentchanges-page-added-to-category-bundled": "[[:$1]]ã\82\92ã\82«ã\83\86ã\82´ã\83ªã\81«è¿½å\8a ã\80\82[[Special:WhatLinksHere/$1|ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81¯ä»\96ã\81®ã\83\9aã\83¼ã\82¸ã\81«å\90«ã\81¾ã\82\8cã\81¦ã\81\84ã\81¾ã\81\99ã\80\82]]",
"recentchanges-page-removed-from-category": "[[:$1]]をカテゴリから除外",
"recentchanges-page-removed-from-category-bundled": "[[:$1]]と他 [[Special:WhatLinksHere/$1|{{PLURAL:$2|1ページ|$2ページ}}]]をカテゴリから除外",
"autochange-username": "メディアウィキ自動変更",
"tog-editondblclick": "Besut kaca sarana ngeklik pindho",
"tog-editsectiononrightclick": "Fungsèkna panyuntingan sub-bagian mawa klik-tengen ing judul bagian (mbutuhaké JavaScript)",
"tog-watchcreations": "Tambahaké kaca sing tak gawé lan berkas sing tak unggah nèng daptar pangawasan",
- "tog-watchdefault": "Tambahaké kaca lan berkas sing tak sunting nèng daptar pangawasan",
+ "tog-watchdefault": "Tambahaké kaca lan barkas sing tak sunting nyang pawawanganku",
"tog-watchmoves": "Tambahaké kaca lan berkas sing tak pindhahaké nèng daptar pangawasan",
"tog-watchdeletion": "Tambahaké kaca lan berkas sing tak busak nèng daptar pangawasan",
"tog-watchuploads": "Tambahaké barkas anyar sing tak unggah nyang pawawanganku",
"tog-watchrollback": "Tambahaké kaca sing tak wurungaké nyang pawawanganku",
"tog-minordefault": "Tandhanana kabèh suntingan dadi suntingan cilik secara baku",
- "tog-previewontop": "Tuduhna pratayang sadurungé kothak sunting lan ora sawisé",
+ "tog-previewontop": "Deleng prawuryan sadurungé besut kothak",
"tog-previewonfirst": "Tuduhna pratayang ing suntingan kapisan",
"tog-enotifwatchlistpages": "Kirimi kula layang èlèktronik yèn ana kaca utawa berkas nèng daptar pangawasanku sing diowah",
"tog-enotifusertalkpages": "Kirimana aku layang e-mail yèn kaca dhiskusiku owah",
"talkpage": "Rembug kaca iki",
"talkpagelinktext": "gunem",
"specialpage": "Kaca mirunggan",
- "personaltools": "Piranti pribadhi",
+ "personaltools": "Piranti pribadi",
"articlepage": "Deleng kaca isi",
"talk": "Rembug",
"views": "Praèn",
"permissionserrorstext": "Panjengan ora kagungan idin kanggo nglakoni sing panjenengan gayuh amerga {{PLURAL:$1|alesan|alesan-alesan}} iki:",
"permissionserrorstext-withaction": "Panjenengan ora duwé hak aksès kanggo $2, amarga {{PLURAL:$1|alasan|alasan}} ing ngisor iki:",
"recreate-moveddeleted-warn": "'''Pènget: Panjenengan gawé manèh sawijining kaca sing wis tau dibusak.'''\n\nMangga digagas manèh apa pantes nerusaké nyunting kaca iki.\nIng ngisor iki kapacak log pambusakan lan pamindhahan saka kaca iki:",
- "moveddeleted-notice": "Kaca iki wis dibusak.\nCathetan busakan lan lihlihan kaca ana ing ngisor minangka rujukan.",
+ "moveddeleted-notice": "Kaca iki wis dibusak.\nCathetan busakan lan lih-lihan kaca ana ing ngisor minangka rujukan.",
"log-fulllog": "Deleng cathetan wutuh",
"edit-hook-aborted": "Suntingan dibatalaké déning kait parser\nTanpa ana katrangan.",
"edit-gone-missing": "Ora bisa nganyari kaca.\nKatoné kaca iki wis dibusak.",
"revdelete-reason-dropdown": "*Alasan penghapusan yang umum\n** Pelanggaran hak cipta\n** Komentar atau informasi pribadi yang tidak pantas\n** Nama pengguna yang tidak pantas\n** Berpotensi mencemarkan nama baik",
"revdelete-otherreason": "Alesan liya/tambahan:",
"revdelete-reasonotherlist": "Alesan liya",
- "revdelete-edit-reasonlist": "Sunting alesan pambusakan",
+ "revdelete-edit-reasonlist": "Besut jalaraning pambusak",
"revdelete-offender": "Juru pangriptaning owahan:",
"suppressionlog": "Log barang-barang sing didelikaké (''oversight'')",
"suppressionlogtext": "Ngisor iki daptar apa-apa waé sing wis dibusak lan diblokir kalebu kontèn sing didhelikaké saka para pangurus.\nDelok [[Special:BlockList|daptar blokiran]] sing isiné daptar apa-apa waé sing lagi dilarang lan diblokir.",
"userrights": "Manajemen hak panganggo",
"userrights-lookup-user": "Ngatur kelompok panganggo",
"userrights-user-editname": "Lebokna jeneng panganggo:",
- "editusergroup": "Sunting kelompok panganggo",
+ "editusergroup": "Besut golongan {{GENDER:$1|panganggo}}",
"editinguser": "Ngganti hak panganggo '''[[User:$1|$1]]''' $2",
- "userrights-editusergroup": "Sunting kelompok panganggo",
+ "userrights-editusergroup": "Besut golongan panganggo",
"saveusergroups": "Simpen kelompok panganggo",
"userrights-groupsmember": "Anggota saka:",
"userrights-groupsmember-auto": "Anggota implisit saka:",
"right-protect": "Ganti undhaking pangreksan lan owah kaca-kaca sing direksa",
"right-editprotected": "Owah kaca-kaca sing direksa (tanpa pangreksan runtun)",
"right-editsemiprotected": "Owah kaca-kaca sing direksa dadi \"{{int:protect-level-autoconfirmed}}\"",
- "right-editinterface": "Sunting interface (antarmuka) panganggo",
- "right-editusercssjs": "Sunting berkas-berkas CSS lan JS panganggo liya",
- "right-editusercss": "Sunting berkas-berkas CSS panganggo liya",
- "right-edituserjs": "Sunting berkas-berkas JS panganggo liya",
+ "right-editinterface": "Besut antarmuka panganggo",
+ "right-editusercssjs": "Besut barkas-barkas CSS lan JavaScript panganggo liya",
+ "right-editusercss": "Besut barkas-barkas CSS panganggo liya",
+ "right-edituserjs": "Besut barkas-barkas JavaScript panganggo liya",
"right-editmyusercss": "Owahi berkas CSS panganggo sampeyan",
"right-editmyuserjs": "Owahi berkas JavaScript panganggo sampeyan",
"right-viewmywatchlist": "Dheleng daftar pangawasan sampeyan",
"right-unwatchedpages": "Tuduhna daftar kaca-kaca sing ora diawasi",
"right-mergehistory": "Gabungna sajarah kaca-kaca",
"right-userrights": "Besut kabèh hak panganggo",
- "right-userrights-interwiki": "Sunting hak-hak para panganggo ing situs-situs wiki liya",
+ "right-userrights-interwiki": "Besut hak-haking panganggo asal wiki jaba",
"right-siteadmin": "Kunci lan buka kunci basis data",
"right-override-export-depth": "Èkspor kaca klebu kaca kagandhèng nganti tataran/''depth'' 5",
"right-sendemail": "Ngirim layang listrik (e-mail) menyang panganggo liya",
"filedelete-otherreason": "Alesan tambahan/liya:",
"filedelete-reason-otherlist": "Alesan liya",
"filedelete-reason-dropdown": "*Alesan pambusakan\n** Nglanggar hak cipta\n** Berkas duplikat",
- "filedelete-edit-reasonlist": "Sunting alesan pambusakan",
+ "filedelete-edit-reasonlist": "Busak jalaraning pambusak",
"filedelete-maintenance": "Pambusakan lan pambalikan berkas kanggo sawetara dipatèni salawas ana pangruwatan.",
"filedelete-maintenance-title": "Ora bisa mbusak berkas",
"mimesearch": "Panggolèkan MIME",
"deleteotherreason": "Alesan liya utawa tambahan:",
"deletereasonotherlist": "Alesan liya",
"deletereason-dropdown": "*Alesan pambusakan\n** Spam\n** Vandalisme\n** Nglanggar hak cipta\n** Disuwun sing nulis\n** Pangalihan rusak",
- "delete-edit-reasonlist": "Sunting alesan pambusakan",
+ "delete-edit-reasonlist": "Besut jalaraning pambusak",
"delete-toobig": "Kaca iki ndarbèni sajarah panyuntingan sing dawa, yaiku ngluwihi $1 {{PLURAL:$1|revision|révisi}}.\nPambusakan kaca sing kaya mangkono mau wis ora diparengaké kanggo menggak anané karusakan ing {{SITENAME}}.",
"delete-warning-toobig": "Kaca iki duwé sajarah panyuntingan sing dawa, luwih saka $1 {{PLURAL:$1|révisi|révisi}}.\nMbusak kaca iki bisa ngrusak operasi basis data ing {{SITENAME}};\nkudu ngati-ati.",
"deleting-backlinks-warning": "'''Awas:''' Kaca liyane mungkin ana sing nautake ing kaca sing arep sampeyan busak.",
"protect-otherreason": "Alesan liya/tambahan:",
"protect-otherreason-op": "Alesan liya",
"protect-dropdown": "*Alesan umum pangreksan\n** Vandalisme makaping-kaping\n** Spam makaping-kaping\n** Perang suntingan\n** Kaca kerep disunting",
- "protect-edit-reasonlist": "Nyunting alesan reksan",
+ "protect-edit-reasonlist": "Mbesut jalaraning pangreksa",
"protect-expiry-options": "1 jam:1 hour,1 dina:1 day,1 minggu:1 week,2 minggu:2 weeks,1 sasi:1 month,3 sasi:3 months,6 sasi:6 months,1 taun:1 year,tanpa wates:infinite",
"restriction-type": "Pangreksan:",
"restriction-level": "Tingkatan pambatesan:",
"linkshere": "Kaca-kaca iki nduwé pranala menyang '''[[:$1]]''':",
"nolinkshere": "Ora ana kaca sing nduwé pranala menyang '''[[:$1]]'''.",
"nolinkshere-ns": " Ora ana kaca sing nduwé pranala menyang '''[[:$1]]''' ing bilik jeneng sing kapilih.",
- "isredirect": "kaca lihlihan",
+ "isredirect": "kaca lih-lihan",
"istemplate": "karo cithakan",
"isimage": "pranala berkas",
"whatlinkshere-prev": "{{PLURAL:$1|sadurungé|$1 sadurungé}}",
"blockipsuccesstext": "[[Special:Contributions/$1|$1]] wis diblokir.<br />\nDelok [[Special:BlockList|daptar blokir]] kanggo ninjo blokiran.",
"ipb-blockingself": "Sampéyan arep mblokir Sampéyan dhéwé! Sampéyan yakin arep nglakoni kuwi?",
"ipb-confirmhideuser": "Sampéyan arep mblokir panganggo mawa piranti \"dhelikaké panganggo\" isih murub. Iki bakal nyegah jeneng panganggo ana ing kabèh daptar lan èntri log. Sampéyan yakin arep nglakoni kuwi?",
- "ipb-edit-dropdown": "Sunting alesan pamblokiran",
+ "ipb-edit-dropdown": "Besut jalaraning pamalang",
"ipb-unblock-addr": "Ilangna blokir $1",
"ipb-unblock": "Ilangna blokir sawijining panganggo utawa alamat IP",
"ipb-blocklist": "Ndeleng blokir sing lagi ditrapaké",
"movepage-page-moved": "Kaca $1 wis dipindhah menyang $2.",
"movepage-page-unmoved": "Kaca $1 ora bisa dialihaké menyang $2.",
"movepage-max-pages": "Paling akèh $1 {{PLURAL:$1|kaca|kaca}} wis dialihaké lan ora ana manèh sing bakal dialihaké sacara otomatis.",
- "movelogpage": "Cathetan lihlihan",
+ "movelogpage": "Cathetan lih-lihan",
"movelogpagetext": "Ing ngisor iki kapacak log pangalihan kaca.",
"movesubpage": "{{PLURAL:$1|Anak-kaca|Anak-kaca}}",
"movesubpagetext": "Kaca iki nduwèni $1 {{PLURAL:$1|anak-kaca|anak-kaca}} kaya kapacak ing ngisor.",
"autosumm-new": "Gawé kaca sing isi '$1'",
"lag-warn-normal": "Owah-owahan pungkasan sing luwih anyar tinimbang $1 {{PLURAL:$1|detik|detik}} mbokmanawa ora metu ing pratélan iki.",
"lag-warn-high": "Amarga gedhéné ''lag'' basis data server, owah-owahan pungkasan sing luwih anyar saka $1 {{PLURAL:$1|detik|detik}} mbokmanawa ora metu ing daftar iki.",
- "watchlistedit-normal-title": "Sunting daftar pangawasan",
+ "watchlistedit-normal-title": "Besut pawawangan",
"watchlistedit-normal-legend": "Busak irah-irahan saka daftar pangawasan",
"watchlistedit-normal-explain": "Irah-irahan utawa judhul ing daftar pangawasan panjenengan kapacak ing ngisor iki.\nKanggo mbusak sawijining irah-irahan, kliken kothak ing pinggiré, lan banjur kliken \"Busak judhul\".\nPanjenengan uga bisa [[Special:EditWatchlist/raw|nyunting daftar mentah]].",
"watchlistedit-normal-submit": "Busak irah-irahan",
"watchlistedit-normal-done": "Irah-irahan {{PLURAL:$1|siji|$1}} wis dibusak saka daftar pangawasan panjenengan:",
- "watchlistedit-raw-title": "Sunting daftar mentah",
- "watchlistedit-raw-legend": "Sunting daftar mentah",
+ "watchlistedit-raw-title": "Besut pawawangan wantahan",
+ "watchlistedit-raw-legend": "Besut pawawangan wantahan",
"watchlistedit-raw-explain": "Irah-irahan ing daftar pangawasan panjenengan kapacak ing ngisor iki, lan bisa diowahi mawa nambahaké utawa mbusak daftar; sairah-irahan saban barisé.\nYèn wis rampung, anyarana kaca daftar pangawasan iki.\nPanjenengan uga bisa [[Special:EditWatchlist|nganggo éditor standar panjenengan]].",
"watchlistedit-raw-titles": "Irah-irahan:",
"watchlistedit-raw-submit": "Anyarana daftar pangawasan",
"watchlistedit-raw-added": "{{PLURAL:$1|1 irah-irahan wis|$1 irah-irahan wis}} ditambahaké:",
"watchlistedit-raw-removed": "{{PLURAL:$1|1 irah-irahan wis|$1 irah-irahan wis}} diwetokaké:",
"watchlisttools-view": "Tuduhna owah-owahan sing ana gandhèngané",
- "watchlisttools-edit": "Tuduhna lan sunting daftar pangawasan",
- "watchlisttools-raw": "Sunting daftar pangawasan mentah",
+ "watchlisttools-edit": "Deleng lan besut pawawangan",
+ "watchlisttools-raw": "Besut pawawangan wantahan",
"signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|wicara]])",
"duplicate-defaultsort": "Pènget: Kunci pilih asal (''Default sort key'') \"$2\" nggantèkaké kunci pilih asal sadurungé \"$1\".",
"version": "Versi",
"feedback-cancel": "Batal",
"feedback-close": "Rampung",
"feedback-error1": "Kasalahan: Asil ora dikenal saka API",
- "feedback-error2": "Kasalahan: Gagal nyunting",
+ "feedback-error2": "Cacad: Gagal mbesut",
"feedback-error3": "Kasalahan: Ora ana tanggepan saka API",
"feedback-message": "Layang:",
"feedback-subject": "Jejer:",
"minoredit": "Dat es en klein Änderong (mini)",
"watchthis": "Op di Sigg heh oppaßße",
"savearticle": "De Sigg Avspeichere",
+ "publishpage": "Veröffentlesche",
"preview": "Vör-Ansich",
- "showpreview": "Vör-Aansich zeije",
- "showdiff": "De Ungerscheide zeije",
+ "showpreview": "Vöraff belohre",
+ "showdiff": "Veränderonge zeije",
"blankarticle": "<strong>Opjepaß:</strong> Di Sigg, di De jrahd aanlähje wells, es läddesch. Wann De jäz norr_ens op „{{int:savearticle}}“ jehß, weed di Sigg och ohne jät dren aanjelaat.",
"anoneditwarning": "'''Opjepaß:''' Weil De nit enjelogg bes, weed Ding <i lang=\"en\" xml:lang=\"en\">IP</i>-Adräß en heh dä Sigg ier Leß met de Väsiohne faßjehallde wääde.\nWann De [$1 enlogge deihs] udder [$2 desch aanmällds], dann wääde Ding Änderonge met dingem Nahme als Metmaacher opjevöhrt.",
"anonpreviewwarning": "''Weil De nit enjlogg bes, weed Ding <code lang=\"en\">IP</code>-Addräß zoamme met dä neue Version faßjehallde, wann de heh di Sigg avspeichere deihß.''",
"userpage-userdoesnotexist": "Enne Metmaacher „<nowiki>$1</nowiki>“ ham_mer nit, beß De sescher, dat De di Metmaachersigg verhaftesch änndere udder aanlähje wellß?.",
"userpage-userdoesnotexist-view": "Ene Metmaacher mem Nahme „$1“ hät sesch noch nih aanjemeldt",
"blocked-notice-logextract": "Dä Metmaacher es jraad jesperrt.\nHeh kütt der neuste Enndraach drövver uss_em Logbooch övver et Metmaacher_Sperre:",
- "clearyourcache": "'''Opjepass:'''\nNoh em Speichere künnd et sin, datt De Dingem Brauser singe Cache Speicher\növverlisste muss, ih datt De de Änderunge och ze sinn kreß.\n* Beim '''<i lang=\"en\">Mozilla</i>''' un '''<i lang=\"en\">Firefox</i>''' un '''<i lang=\"en\">Safari</i>''', dröck dä Jrußschreffknopp eronger un kleck dann op <i lang=\"en\">Reload</i> / <i lang=\"de\">Aktualisieren</i>, udder dröck <i lang=\"de\">Ctrl+F5</i> / <i lang=\"de\">Strg+F5</i>, udder dröck <i lang=\"en\">Ctrl+R</i> / <i lang=\"de\">Strg+R</i>, obb enem <i lang=\"en\">Macintosh</i> dröck <i lang=\"de\">⌘+R</i>.\n* Beim '''<i lang=\"en\">Google Chrome</i>''', dröck <i lang=\"en\">Ctrl+Jrußschreffknopp+R</i> / <i lang=\"de\">Strg+Jrußschreffknopp+R</i>, obb enem <i lang=\"en\">Macintosh</i> dröck <i lang=\"de\">⌘+Jrußschreffknopp+R</i>.\n* Beim '''<i lang=\"en\">Internet Explorer</i>''', dröck dä Jrußschreffknopp eronger un kleck dann op <i lang=\"en\">Refresh</i> / <i lang=\"de\">Aktualisieren</i>, udder dröck <i lang=\"de\">Ctrl+F5</i> / <i lang=\"de\">Strg+F5</i>,\n* Beim '''<i lang=\"en\">Konqueror</i>''' kleck op <i lang=\"en\">Reload</i> / <i lang=\"de\">Aktualisieren</i>, udder dröck op <i>F5</i>.\n* Beim '''<i lang=\"en\">Opera</i>''' kanns De övver et Menue jonn un däm janze Zwescheschpeischer singe Enhald övver <i lang=\"en\">Tools → Preferences</i> / <i lang=\"de\">Werkzeug → Einstellungen</i> fottschmieße, neuerdings jeiht et och met <i>Alt+F5</i>.",
+ "clearyourcache": "<strong>Opjepass:</strong>\nNoh em Speichere künnd et sin, datt De Dingem Brauser singe Cache Speicher\növverlisste muss, ih datt De de Änderunge och ze sinn kreß.\n* Beim <strong><i lang=\"en\">Mozilla</i></strong> un <strong><i lang=\"en\">Firefox</i></strong> un <strong><i lang=\"en\">Safari</i></strong>, dröck dä Jrußschreffknopp eronger un kleck dann op <i lang=\"en\">Reload</i> / <i lang=\"de\">Aktualisieren</i>, udder dröck <i lang=\"de\">Ctrl+F5</i> / <i lang=\"de\">Strg+F5</i>, udder dröck <i lang=\"en\">Ctrl+R</i> / <i lang=\"de\">Strg+R</i>, obb enem <i lang=\"en\">Macintosh</i> dröck <i lang=\"de\">⌘+R</i>.\n* Beim <strong><i lang=\"en\">Google Chrome</i></strong>, dröck <i lang=\"en\">Ctrl+Jrußschreffknopp+R</i> / <i lang=\"de\">Strg+Jrußschreffknopp+R</i>, obb enem <i lang=\"en\">Macintosh</i> dröck <i lang=\"de\">⌘+Jrußschreffknopp+R</i>.\n* Beim <strong><i lang=\"en\">Internet Explorer</i></strong>, dröck dä Jrußschreffknopp eronger un kleck dann op <i lang=\"en\">Refresh</i> / <i lang=\"de\">Aktualisieren</i>, udder dröck <i lang=\"de\">Ctrl+F5</i> / <i lang=\"de\">Strg+F5</i>,\n* Beim <strong><i lang=\"en\">Konqueror</i></strong> klegg op <i lang=\"en\">Reload</i> / <i lang=\"de\">Aktualisieren</i>, udder dröck op <i>F5</i>.\n* Beim <strong><i lang=\"en\">Opera</i></strong> kanns De övver et Menue jonn un däm janze Zwescheschpeischer singe Enhald övver <i lang=\"en\">Tools → Preferences</i> / <i lang=\"de\">Werkzeug → Einstellungen</i> fottschmieße, neuerdings jeiht et och met <i>Alt+F5</i>.",
"usercssyoucanpreview": "<b>Tipp:</b> Dun met däm <b style=\"padding:2px; background-color:#ddd;\ncolor:black\">Vör-Aansich Zeije</b>-Knopp usprobeere, wat Ding neu\nMetmaacher_CSS/Java_Skripp mäht, ih dat et avspeichere deis!",
"userjsyoucanpreview": "<b>Tipp:</b> Dun met däm <b style=\"padding:2px; background-color:#ddd;\ncolor:black\">Vör-Aansich Zeije</b>-Knopp usprobeere, wat Ding neu\nMetmaacher_Java_Skripp mäht, ih dat et avspeichere deis!",
"usercsspreview": "<b>Opjepass: Do bes heh nor am Usprobeere, wat Ding\nMetmaacher_CSS mäht, et es noch nit jesechert!</b>",
"tooltip-ca-nstab-category": "Dun de Saachjropp aanzeije",
"tooltip-minoredit": "Deit Ding Änderonge als klein Mini-Änderonge markkehre.",
"tooltip-save": "Deit Ding Änderonge avspeichere.",
+ "tooltip-publish": "Donn Ding Änderonge öffentlesch maache",
"tooltip-preview": "Liss de Vör-Aanseesch vun dä Sigg un vun Dinge Änderonge, ih datte se avspeijschere deihs!",
"tooltip-diff": "Zeijsch Ding Änderonge aam Täx aan.",
"tooltip-compareselectedversions": "Dun de Ungerscheid zwesche dä beids usjewählde Versione zeije.",
"logentry-protect-protect-cascade": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät di Sigg „$3“ jeschöz: $4 met wiggerjävve",
"logentry-protect-modify": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät dä Schoz vun dä Sigg „$3“ verändert: $4",
"logentry-protect-modify-cascade": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät dä Schoz vun dä Sigg „$3“ verändert: $4 met wiggerjävve",
- "logentry-rights-rights": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} „$1“ hät däm Metmaacher „$3“ sing Jroppe-Räächde vun „$4“ op „$5“ ömjestallt.",
+ "logentry-rights-rights": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} „$1“ hät {{GENDER:$2|däm|däm|däm Metmaacher|dä|däm}} „$3“ {{GENDER:$2|sing|sing|sing|ier|sing}} Jroppe-Räächde vun „$4“ op „$5“ ömjestallt.",
"logentry-rights-rights-legacy": "{{GENDER:$1|Dä|Et|Dä Metmaacher|De|Dat}} $1 hät däm Metmaacher $3 sing Räääschte-Jroppe verändert.",
"logentry-rights-autopromote": "{{GENDER:$1|Dä|Et|Dä Metmaacher|De|Dat}} $1 wood automattesch vum $4 zom $5 jemaat.",
"logentry-upload-upload": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät di Dattei „$3“ huhjelahe.",
"minoredit": "Dëst ass eng kleng Ännerung",
"watchthis": "Dës Säit iwwerwaachen",
"savearticle": "Säit späicheren",
+ "publishpage": "Säit publizéieren",
"preview": "Kucken ouni ofzespäicheren",
"showpreview": "Kucken ouni ofzespäicheren",
"showdiff": "Ännerunge weisen",
"tooltip-ca-nstab-category": "Kategoriesäit weisen",
"tooltip-minoredit": "Dës Ännerung als kleng markéieren.",
"tooltip-save": "Ännerunge späicheren",
+ "tooltip-publish": "Är Ännerunge publizéieren",
"tooltip-preview": "Kuckt är Ännerungen ouni ofzespäicheren, Benotzt dëst w.e.g. virum späicheren!",
"tooltip-diff": "Weist wéi eng Ännerungen Dir beim Text gemaach hutt.",
"tooltip-compareselectedversions": "D'Ënnerscheeder op dëser Säit tëscht den zwou gewielte Versioune weisen.",
"minoredit": "Chisto è nu cagnamiénto piccerillo",
"watchthis": "Tiene d'uocchio sta paggena",
"savearticle": "Sarva 'a paggena",
+ "publishpage": "Pubbreca paggena",
"preview": "Anteprimma",
"showpreview": "Vire anteprimma",
"showdiff": "Fa veré 'e cagnamiente",
"userpage-userdoesnotexist": "'O cunto utente \"<nowiki>$1</nowiki>\" nun è riggistrato. Cuntrolla ca si buò overo crià o cagnà sta paggena.",
"userpage-userdoesnotexist-view": "'O cunto utente \"$1\" nun è riggistrato.",
"blocked-notice-logextract": "St'utente è bloccato mò.\nL'urdemo elemento d' 'o riggistro 'e blocche è ripurtato ccà abbascio p'avé nu riferimento:",
- "clearyourcache": "'''Nota:''' aroppo sarvate putisse necessità 'e pulezzà 'a caché d' 'o navigatóre pe' vedé 'e cagnamiente. \n*'''Firefox / Safari''': sprémme 'o buttóne maiuscole e ffà clic ncopp'a ''Recarreca'', o pure spremme ''Ctrl-F5'' o ''Ctrl-R'' (''⌘-R'' ncopp'a Mac)\n*'''Google Chrome''': spremme ''Ctrl-Shift-R'' (''⌘-Shift-R'' ncopp'a nu Mac)\n*'''Internet Explorer''': spremme 'o buttóne ''Ctrl'' pe' tramente ca faie click ncopp'a ''Refresh'', o pure spremmere ''Ctrl-F5''\n*'''Opera''': sbacanta tutt' 'a cache addò menu ''Strumiente → Preferenze''",
+ "clearyourcache": "<strong>Nota:</strong> aroppo sarvate putisse necessità 'e pulezzà 'a caché d' 'o navigatóre pe' vedé 'e cagnamiente. \n*<strong>Firefox / Safari</strong>: sprémme 'o buttóne maiuscole e ffà clic ncopp'a ''Recarreca'', o pure spremme ''Ctrl-F5'' o ''Ctrl-R'' (''⌘-R'' ncopp'a Mac)\n*<strong>Google Chrome''': spremme ''Ctrl-Shift-R'' (''⌘-Shift-R'' ncopp'a nu Mac)\n*<strong>Internet Explorer</strong>: spremme 'o buttóne ''Ctrl'' pe' tramente ca faie click ncopp'a ''Refresh'', o pure spremmere ''Ctrl-F5''\n* <strong>Opera:</strong> Vaje addò 'o <em>Menu → Mpustaziune</em> (<em>Opera → Mpustaziune</em> ncopp' 'o Mac) e po' ncopp'a <em>Privacy & sicurezza → Pulezza date d' 'o browser → Immaggene e file d' 'a cache</em>.",
"usercssyoucanpreview": "'''Cunziglio:''' spremme 'o buttone 'Vide anteprimma' pe' pruvà 'o CSS nuovo apprimma d' 'o sarvà.",
"userjsyoucanpreview": "'''Cunziglio:''' spremme 'o buttone 'Vide anteprimma' pe' pruvà 'o JavaScript nuovo apprimma d' 'o sarvà.",
"usercsspreview": "'''Arricuordate ca chest'è sulamente n'anteprimma p' 'o CSS perzunale. 'E cagnamiente nun so' state ancora sarvate!'''",
"tooltip-ca-nstab-category": "Vere a paggena d\"a categurìa",
"tooltip-minoredit": "Rénne chìsto cagnamiénto cchiù ppiccirìllo.",
"tooltip-save": "Sàrva 'e cagnamiénte.",
+ "tooltip-publish": "Pubbreca 'e cagnamiente vuoste",
"tooltip-preview": "Primma 'e sarvà, vìre primma chille ca hê cagnàte!",
"tooltip-diff": "Fà vedé 'e cagnamiente c'avite fatto ô testo",
"tooltip-compareselectedversions": "Fà vedé 'e differenze nfra tutt' 'e dduje verziune scigliute 'e sta paggena",
"morenotlisted": "Disse lieste is niet kompleet...",
"mypage": "Gebrukerszied",
"mytalk": "Mien overleg",
- "anontalk": "Overlegzied veur dit IP-adres",
+ "anontalk": "Overleg",
"navigation": "Navigasie",
"and": " en",
"qbfind": "Zeuken",
"viewsource": "Brontekste bekieken",
"viewsource-title": "Bron bekieken van $1",
"actionthrottled": "Haandeling tegenehöllen",
- "actionthrottledtext": "As maotregel tegen t plaotsen van ongewunste verwiezingen, is t antal keren da'j disse haandeling in n korte tied uutvoeren kunnen beteund. Je hebben de limiet overschrejen. Probeer t over n antal minuten weer.",
+ "actionthrottledtext": "As maotregel tegen t plaotsen van alderhaande moek, is t antal keren da'j disse haandeling in n korte tied uutvoeren kunnen beteund. Je hebben de limiet overschrejen. Probeer t over n antal minuten weer.",
"protectedpagetext": "Disse zied is beveiligd. Bewarken of aandere haandelingen bin niet meugelik.",
- "viewsourcetext": "Je kunnen de brontekste van disse zied bewarken en bekieken:",
- "viewyourtext": "Je kunnen '''joew bewarkingen''' an de brontekste van disse zied bekieken en kopiëren:",
+ "viewsourcetext": "Je kunnen de brontekste van disse zied bewarken en bekieken.",
+ "viewyourtext": "Je kunnen <strong>joew bewarkingen</strong> an de brontekste van disse zied bekieken en kopiëren.",
"protectedinterface": "Op disse zied steet tekste die gebruukt wördt veur systeemteksten van disse wiki. Allinnig beheerders kunnen disse zied bewarken.\nUm vertalingen veur alle wiki's derbie te zetten of te wiezigen, gebruuk [//translatewiki.net/ translatewiki.net], t vertaalprojekt veur MediaWiki.",
"editinginterface": "<strong>Waorschuwing:</strong> je bewarken n zied die gebruukt wörden deur de programmatuur. Wa'j hier wiezigen, is van invleud op de hele wiki. Um vertalingen derbie te zetten of te wiezigen veur alle wiki's, gebruuk [//translatewiki.net/wiki/Main_Page?setlang=nds-nl translatewiki.net], t vertalingsprojekt veur MediaWiki.",
"cascadeprotected": "Disse zied is beveiligd umdat t veurkömp in de volgende {{PLURAL:$1|zied|ziejen}}, die beveiligd {{PLURAL:$1|is|bin}} mit de \"kaskade\"-opsie:\n$2",
"mypreferencesprotected": "Je hebben gien rechten um joew veurkeuren an te passen.",
"ns-specialprotected": "Spesiale ziejen kunnen niet bewarkt wörden.",
"titleprotected": "t Anmaken van disse zied is beveiligd deur [[User:$1|$1]].\nDe op-egeven reden is <em>$2</em>.",
- "filereadonlyerror": "Kon t bestaand \"$1\" niet anpassen umdat de bestaandsmap \"$2\" op dit moment op allinnig-lezen steet.\n\nDe beheerder gaf hierveur de volgende reden: \"$3\".",
+ "filereadonlyerror": "Kon t bestaand \"$1\" niet anpassen umdat de bestaandsmap \"$2\" op dit moment op allinnig-lezen steet.\n\nDe op-egeven reden is: \"$3\".",
"invalidtitle-knownnamespace": "Ongeldige titel mit naamruumte \"$2\" en tekste \"$3\"",
"invalidtitle-unknownnamespace": "Ongeldige titel mit onbekend naamruumtenummer $1 en tekste \"$2\"",
"exception-nologin": "Niet an-emeld",
"createacct-reason": "Reden",
"createacct-reason-ph": "Waorumme je n aandere gebrukerskonto anmaken",
"createacct-submit": "Gebrukerskonto anmaken",
- "createacct-another-submit": "n Aandere gebrukerskonto anmaken",
+ "createacct-another-submit": "Gebrukerskonto anmaken",
"createacct-benefit-heading": "{{SITENAME}} wörden emaakt deur meensen zo as jie.",
"createacct-benefit-body1": "bewarking{{PLURAL:$1||en}}",
"createacct-benefit-body2": "{{PLURAL:$1|zied|ziejen}}",
"nocookieslogin": "t Anmelden is mislokt umdat de webkieker gien scheumbestaanden (cookies) an hef staon. Probeer t aksepteren van scheumbestaanden an te zetten en daornao opniej an te melden.",
"nocookiesfornew": "De gebruker is niet an-emaakt, umdat de bron niet bevestigd kon wörden.\nZörg derveur da'j scheumbestaanden (cookies) an hebben staon, herlaoi disse zied en probeer t opniej.",
"noname": "Je mutten n gebrukersnaam opgeven.",
- "loginsuccesstitle": "Suksesvol an-emeld",
+ "loginsuccesstitle": "An-emeld",
"loginsuccess": "Je bin noen an-emeld bie {{SITENAME}} as \"$1\".",
"nosuchuser": "Der is gien gebruker mit de naam \"$1\".\nGebrukersnamen bin heufdlettergeveulig.\nKiek de schriefwieze effen nao of [[Special:UserLogin/signup|maak n nieje gebruker an]].",
"nosuchusershort": "Der is gien gebruker mit de naam \"$1\". Kiek de spelling nao.",
"createaccount-title": "Gebrukers anmaken veur {{SITENAME}}",
"createaccount-text": "Der hef der ene n gebruker an-emaakt op {{SITENAME}} ($4), mit de naam $2 en t wachtwoord \"$3\". \nMeld je eigen noen an en wiezig t wachtwoord.\n\nNegeer dit bericht as disse gebruker zonder joew toestemming an-emaakt is.",
"login-throttled": "Je hebben lestens te vake eprobeerd um an te melden mit n verkeerd wachtwoord.\nJe mutten effen $1 wachten veurda'j t opniej proberen.",
- "login-abort-generic": "Je bin niet an-emeld. De procedure is aofebreuken.",
+ "login-abort-generic": "Je bin niet an-emeld - Aofebreuken",
"loginlanguagelabel": "Taal: $1",
"suspicious-userlogout": "Joew verzeuk um of te melden is aofewezen umdat t dernaor uutziet dat t verstuurd is deur n kepotte webkieker of tussenopslagbuffer",
"createacct-another-realname-tip": "Joew echte naam opgeven is niet verplicht.\nA'j t invullen, dan zu'w t gebruken um erkenning te geven veur joew warkzaamhejen.",
"passwordreset-emailtext-ip": "Der hef der ene, waorschienlik jie zelf vanaof t IP-adres $1, n anvraag edaon um joew wachtwoord veur {{SITENAME}} ($4) opniej in te stellen.\nDe volgende {{PLURAL:$3|gebruker is|gebrukers bin}} ekoppeld an dit netpostadres:\n\n$2\n\n{{PLURAL:$3|Dit tiejelike wachtwoord vervölt|Disse tiejelike wachtwoorden vervallen}} over {{PLURAL:$5|één dag|$5 dagen}}.\nMeld je eigen noen an en wiezig t wachtwoord. A'j dit verzeuk niet zelf edaon hebben, of a'j t oorspronkelike wachtwoord nog kennen en t niet wiezigen willen, negeer dit bericht dan en blief joew ouwe wachtwoord gebruken.",
"passwordreset-emailtext-user": "De gebruker $1 van {{SITENAME}} hef n anvraag edaon um joew wachtwoord veur {{SITENAME}} ($4) opniej in te stellen. \nDe volgende {{PLURAL:$3|gebruker is|gebrukers bin}} ekoppeld an dit netpostadres:\n\n$2\n\n{{PLURAL:$3|Dit tiejelike wachtwoord vervölt|Disse tiejelike wachtwoorden vervallen}} over {{PLURAL:$5|één dag|$5 dagen}}.\nMeld je eigen noen an en wiezig t wachtwoord. A'j dit verzeuk niet zelf edaon hebben, of a'j t oorspronkelike wachtwoord nog kennen en t niet wiezigen willen, negeer dit bericht dan en blief joew ouwe wachtwoord gebruken.",
"passwordreset-emailelement": "Gebrukersnaam: \n$1\n\nTiedelik wachtwoord: \n$2",
- "passwordreset-emailsentemail": "Der is n bericht verstuurd um t wachtwoord opniej in te stellen.",
+ "passwordreset-emailsentemail": "As dit netpostadres an joew gebrukerskonto ekoppeld is, dan wördt der n netbericht estuurd um joew wachtwoord opniej in te stellen.",
"passwordreset-emailsent-capture": "Der is n bericht verstuurd um joew wachtwoord opniej in te stellen. Dit ku'j hieronder lezen.",
"passwordreset-emailerror-capture": "Der is n bericht veur t opniej opstellen van joew wachwoord an-emaakt, dit ku'j hieronder lezen. t Versturen naor de {{GENDER:$2|gebruker}} is mislokt um de volgende reden: $1",
- "changeemail": "Wiezig netpostadres",
- "changeemail-header": "Netpostadres wiezigen",
+ "changeemail": "Netpostadres wiezigen of vorthaolen",
+ "changeemail-header": "Vul dit formulier in um joew netpostadres te wiezigen. A'j t netpostadres van disse gebrukerskonto ontkoppelen willen, laot t netpostadres dan leeg a'j t formulier opslaon.",
"changeemail-no-info": "Je mutten an-emeld ween um drekt toegang te hebben tot disse zied.",
"changeemail-oldemail": "t Ouwe netpostadres:",
"changeemail-newemail": "t Nieje netpostadres:",
"anonpreviewwarning": "''Je bin niet an-emeld.''\n''Deur de bewarking op te slaon wörden joew IP-adres op-esleugen in de ziedgeschiedenisse.''",
"missingsummary": "'''Herinnering:''' je hebben gien samenvatting op-egeven veur de bewarking. A'j noen weer op ''Opslaon'' klikken wörden de bewarking zonder samenvatting op-esleugen.",
"missingcommenttext": "Plaots joew opmarking hieronder.",
- "missingcommentheader": "'''Waorschuwing:''' je hebben der gien onderwarptitel bie ezet. A'j noen weer op \"{{int:savearticle}}\" klikken, dan wörden de bewarking op-esleugen zonder onderwarptitel.",
+ "missingcommentheader": "<strong>Waorschuwing:</strong> je hebben der gien onderwarptitel bie ezet. A'j noen weer op \"{{int:savearticle}}\" klikken, dan wörden de bewarking op-esleugen zonder onderwarptitel.",
"summary-preview": "Samenvatting naokieken:",
- "subject-preview": "Onderwarp/kop naokieken:",
+ "subject-preview": "Onderwarp naokieken:",
"blockedtitle": "Gebruker is eblokkeerd",
"blockedtext": "'''Joew gebrukersnaam of IP-adres is eblokkeerd.'''\n\nJe bin eblokkeerd deur: $1.\nDe op-egeven reden is: ''$2''.\n\n* Eblokkeerd vanaof: $8\n* Eblokkeerd tot: $6\n* Bedoeld um te blokkeren: $7\n\nJe kunnen kontakt opnemen mit $1 of n aandere [[{{MediaWiki:Grouppage-sysop}}|beheerder]] um de blokkering te bepraoten.\nJe kunnen gien gebruukmaken van de funksie 'een bericht sturen', behalven a'j n geldig netpostadres op-egeven hebben in joew [[Special:Preferences|veurkeuren]] en t gebruuk van disse funksie niet eblokkeerd is.\nt IP-adres da'j noen gebruken is $3 en t blokkeringsnummer is #$5.\nVermeld t allebeie a'j argens op disse blokkering reageren.",
"autoblockedtext": "Joew IP-adres is automaties eblokkeerd umdat t gebruukt wördt deur n aandere gebruker, die eblokkeerd wördt deur $1.\nDe reden hierveur was:\n\n:''$2''\n\n* Begint: $8\n* Löp of nao: $6\n* Wee eblokkeerd wördt: $7\n\nJe kunnen kontakt opnemen mit $1 of n van de aandere\n[[{{MediaWiki:Grouppage-sysop}}|beheerders]] um de blokkering te bepraoten.\n\nNB: je kunnen de opsie \"n bericht sturen\" niet gebruken, behalven a'j n geldig netpostadres op-egeven hebben in de [[Special:Preferences|gebrukersveurkeuren]] en je niet eblokkeerd bin.\n\nJoew IP-adres is $3 en joew blokkeernummer is $5.\nGeef disse nummers deur a'j kontakt mit ene opnemen over de blokkering.",
"prefs-watchlist-token": "Volgliestesleutel",
"prefs-misc": "Overig",
"prefs-resetpass": "Wachtwoord wiezigen",
- "prefs-changeemail": "Netpostadres wiezigen",
+ "prefs-changeemail": "Netpostadres wiezigen of vorthaolen",
"prefs-setemail": "Stel n netpostadres in",
"prefs-email": "Instellingen veur netpost",
"prefs-rendering": "Ziedweergave",
"rows": "Regels",
"columns": "Kolommen",
"searchresultshead": "Zeukresultaoten",
- "stub-threshold": "Verwiezingsformattering van <a href=\"#\" class=\"stub\">beginnetjes</a>:",
+ "stub-threshold": "Verwiezingsformattering van beginnetjes ($1):",
+ "stub-threshold-sample-link": "veurbeeld",
"stub-threshold-disabled": "uutezet",
"recentchangesdays": "Antal dagen die \"Leste wiezigingen\" löt zien:",
"recentchangesdays-max": "(hooguut $1 {{PLURAL:$1|dag|dagen}})",
"grouppage-bot": "{{ns:project}}:Bots",
"grouppage-sysop": "{{ns:project}}:Beheerder",
"grouppage-bureaucrat": "{{ns:project}}:Beheerder",
- "grouppage-suppress": "{{ns:project}}:Toezichte",
+ "grouppage-suppress": "{{ns:project}}:Toezicht",
"right-read": "Ziejen bekieken",
"right-edit": "Ziejen bewarken",
"right-createpage": "Ziejen anmaken",
"right-move": "Ziejen herneumen",
"right-move-subpages": "Ziejen samen mit de ziejen die deronder hangen verplaotsen",
"right-move-rootuserpages": "Gebrukersziejen van t hoogste nivo herneumen",
+ "right-move-categorypages": "Kategorieziejen herneumen",
"right-movefile": "Bestaanden herneumen",
"right-suppressredirect": "Gien deurverwiezing anmaken op de ouwe naam as n zied herneumd wörden",
"right-upload": "Bestaanden opsturen",
"right-deletedtext": "Bekiek vortedaone tekste en wiezigingen tussen vortedaone versies",
"right-browsearchive": "Vortedaone ziejen bekieken",
"right-undelete": "Vortedaone ziejen weerummeplaotsen",
- "right-suppressrevision": "Verbörgen versies bekieken en weerummeplaotsen",
+ "right-suppressrevision": "Bepaolde versies bekieken, verbargen en weer zichtbaor maken op ziejen van elke gebruker",
"right-suppressionlog": "Niet-publieke logboeken bekieken",
"right-block": "Aandere gebrukers de meugelikheid ontnemen um te bewarken",
"right-blockemail": "n Gebruker t recht ontnemen um berichjes te versturen",
"recentchanges-label-plusminus": "Disse ziedgrootte is mit dit antal bytes ewiezigd",
"recentchanges-legend-heading": "<strong>Legenda:</strong>",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (zie oek de [[Special:NewPages|lieste mit nieje ziejen]])",
+ "recentchanges-submit": "Bekiek",
"rcnotefrom": "Dit bin de wiezigingen sinds <strong>$2</strong> (maximum van <strong>$1</strong> wiezigingen).",
"rclistfrom": "Bekiek wiezigingen vanaof $3 $2",
"rcshowhideminor": "$1 kleine wiezigingen",
"recentchangeslinked-summary": "Op disse spesiale zied steet n lieste mit de leste wieziginen op ziejen waornaor verwezen wördt. Ziejen op [[Special:Watchlist|joew volglieste]] staon '''vet'''.",
"recentchangeslinked-page": "Ziednaam:",
"recentchangeslinked-to": "Bekiek wiezigingen op ziejen mit verwiezingen naor disse zied",
+ "recentchanges-page-added-to-category": "[[:$1]] bie kategorie ezet",
+ "recentchanges-page-added-to-category-bundled": "[[:$1]] bie kategorie ezet, [[Special:WhatLinksHere/$1|disse zied zit in aandere ziejen in-esleuten]]",
+ "recentchanges-page-removed-from-category": "[[:$1]] is vortedaon uut kategorie",
+ "recentchanges-page-removed-from-category-bundled": "[[:$1]] vortedaon uut kategorie, [[Special:WhatLinksHere/$1|disse zied zit in aandere ziejen in-esleuten]]",
+ "autochange-username": "Automatiese wieziging van MediaWiki",
"upload": "Bestaand opsturen",
"uploadbtn": "Bestaand opsturen",
"reuploaddesc": "Weerumme naor de opstuurzied",
"Edoderoo",
"Nemo bis",
"Lemondoge",
- "Dinosaur918"
+ "Dinosaur918",
+ "Jdforrester"
]
},
"tog-underline": "Koppelingen onderstrepen:",
"minoredit": "Dit is een kleine bewerking",
"watchthis": "Deze pagina volgen",
"savearticle": "Pagina opslaan",
+ "publishpage": "Pagina publiceren",
"preview": "Voorvertoning",
"showpreview": "Bewerking ter controle bekijken",
"showdiff": "Wijzigingen bekijken",
"wantedfiles": "Niet-bestaande bestanden met koppelingen",
"wantedfiletext-cat": "De volgende bestanden worden gebruikt maar bestaan niet. Bestanden van externe repositories kunnen zijn opgenomen in de lijst, ondanks dat ze bestaan. Dergelijke vals positieven worden <del>doorgehaald weergegeven</del>. Pagina's die niet-bestaande bestanden insluiten staan op de pagina [[:$1]].",
"wantedfiletext-cat-noforeign": "De volgende bestanden zijn in gebruik maar bestaan niet. Daarnaast staan pagina's met niet-bestaande bestanden op [[:$1]].",
- "wantedfiletext-nocat": "De volgende bestanden worden gebruikt maar bestaan niet. Bestanden van externe repositories kunnen zijn opgenomen in de lijst, ondanks dat ze bestaan. Dergelijke vals positieven worden <del>doorgehaald weergegeven</del>.",
+ "wantedfiletext-nocat": "De volgende bestanden worden gebruikt maar bestaan niet. Bestanden van externe repositories kunnen zijn opgenomen in de lijst, ondanks dat ze bestaan. Dergelijke valse positieven worden <del>doorgehaald weergegeven</del>.",
"wantedfiletext-nocat-noforeign": "De volgende bestanden zijn in gebruik maar bestaan niet.",
"wantedtemplates": "Niet-bestaande sjablonen met koppelingen",
"mostlinked": "Pagina's waar het meest naar verwezen wordt",
"randomrootpage": "Losowa strona (bez podstron)",
"log-action-filter-block": "Rodzaj blokady:",
"log-action-filter-delete": "Rodzaj usunięcia:",
+ "log-action-filter-patrol": "Rodzaj patrolu:",
"log-action-filter-protect": "Rodzaj zabezpieczenia:",
+ "log-action-filter-rights": "Typ zmiany uprawień",
"log-action-filter-upload": "Rodzaj przesłanych:",
"log-action-filter-all": "Wszystkie",
"log-action-filter-block-block": "Zablokowanie",
"log-action-filter-managetags-delete": "Usunięcie znacznika",
"log-action-filter-managetags-activate": "Aktywacja znacznika",
"log-action-filter-managetags-deactivate": "Deaktywacja znacznika",
+ "log-action-filter-patrol-patrol": "Ręczny",
+ "log-action-filter-patrol-autopatrol": "Automatyczny",
"log-action-filter-protect-protect": "Zabezpieczenie",
"log-action-filter-protect-modify": "Zmiana zabezpieczenia",
"log-action-filter-protect-unprotect": "Odbezpieczenie",
+ "log-action-filter-rights-rights": "Ręczna zmiana",
+ "log-action-filter-rights-autopromote": "Automatyczna zmiana",
"log-action-filter-upload-upload": "Nowe przesłane",
"log-action-filter-upload-overwrite": "Przesłane ponownie"
}
"Diniscoelho",
"Josep Maria Roca Peña",
"Luan",
- "Gato Preto"
+ "Gato Preto",
+ "Jdforrester"
]
},
"tog-underline": "Sublinhar ligações:",
"minoredit": "Marcar como edição menor",
"watchthis": "Vigiar esta página",
"savearticle": "Gravar página",
+ "publishpage": "Publicar página",
"preview": "Antevisão",
"showpreview": "Antever resultado",
"showdiff": "Mostrar alterações",
"api-error-nomodule": "API error message that can be used for client side localisation of API errors.",
"api-error-ok-but-empty": "API error message that can be used for client side localisation of API errors.",
"api-error-overwrite": "API error message that can be used for client side localisation of API errors.",
+ "api-error-ratelimited": "API error message that can be used for client side localisation of API errors.",
"api-error-stashfailed": "API error message that can be used for client side localisation of API errors.",
"api-error-publishfailed": "API error message that can be used for client side localisation of API errors.",
"api-error-stasherror": "API error message that can be used for client side localisation of API errors.",
"userrights-changeable-col": "Grupuri pe care le puteți schimba",
"userrights-unchangeable-col": "Grupuri pe care nu le puteți schimba",
"userrights-conflict": "Conflict al schimbării drepturilor de utilizator! Reverificați și confirmați-vă modificările.",
- "userrights-removed-self": "V-ați eliminat cu succes propriile drepturi. Ca urmare, nu mai puteți accesa această pagină.",
+ "userrights-removed-self": "V-ați eliminat propriile drepturi. Ca urmare, nu mai puteți accesa această pagină.",
"group": "Grup:",
"group-user": "Utilizatori",
"group-autoconfirmed": "Utilizatori autoconfirmați",
"special-characters-group-ipa": "AFI",
"special-characters-group-symbols": "Simboluri",
"special-characters-group-greek": "Greacă",
+ "special-characters-group-greekextended": "Greacă extinsă",
"special-characters-group-cyrillic": "Chirilică",
"special-characters-group-arabic": "Arabă",
"special-characters-group-arabicextended": "Arabă extinsă",
"Ядерный Трамвай",
"Исмаил Садуев",
"Lemondoge",
- "SamGold"
+ "SamGold",
+ "Jdforrester"
]
},
"tog-underline": "Подчёркивание ссылок:",
"minoredit": "Малое изменение",
"watchthis": "Включить эту страницу в список наблюдения",
"savearticle": "Записать страницу",
+ "publishpage": "издавать страницу",
"preview": "Предпросмотр",
"showpreview": "Предварительный просмотр",
"showdiff": "Внесённые изменения",
"minoredit": "manjše urejanje",
"watchthis": "Opazuj članek",
"savearticle": "Shrani stran",
+ "publishpage": "Objavi stran",
"preview": "Predogled",
"showpreview": "Prikaži predogled",
"showdiff": "Prikaži spremembe",
"tooltip-ca-nstab-category": "Prikaže stran kategorije",
"tooltip-minoredit": "Označite kot manjše urejanje",
"tooltip-save": "Shranite vnesene spremembe (ste si jih predogledali?)",
+ "tooltip-publish": "Objavite svoje spremembe",
"tooltip-preview": "Pred shranjevanjem si, prosimo, predoglejte stran!",
"tooltip-diff": "Preglejte spremembe, ki ste jih vnesli.",
"tooltip-compareselectedversions": "Preglejte razlike med izbranima redakcijama.",
"minoredit": "Mindre ändring (m)",
"watchthis": "Bevaka denna sida",
"savearticle": "Spara sidan",
+ "publishpage": "Publicera sida",
"preview": "Förhandsgranska",
"showpreview": "Visa förhandsgranskning",
"showdiff": "Visa ändringar",
"userpage-userdoesnotexist": "\"<nowiki>$1</nowiki>\" är inte ett registrerat användarkonto. Tänk efter om du vill skapa/redigera den här sidan.",
"userpage-userdoesnotexist-view": "Kontot \"$1\" är inte registrerat.",
"blocked-notice-logextract": "Användaren är blockerad.\nOrsaken till senaste blockeringen kan ses nedan:",
- "clearyourcache": "'''OBS:''' Efter du sparat sidan kan du behöva tömma din webbläsares cache för att se ändringarna.\n*'''Firefox / Safari:''' Håll ned ''Skift'' och klicka på ''Uppdatera sidan'' eller tryck antingen ''Ctrl-F5'' eller ''Ctrl-R'' (''⌘-R'' på Mac)\n*'''Google Chrome:''' Tryck ''Ctrl-Skift-R'' (''⌘-Shift-R'' på Mac)\n*'''Internet Explorer:''' Håll ned ''Ctrl'' och klicka på ''Uppdatera'' eller tryck ''Ctrl-F5''\n*'''Opera:''' Rensa cachen i ''Verktyg → Inställningar''",
+ "clearyourcache": "<strong>OBS:</strong> Efter du sparat sidan kan du behöva tömma din webbläsares cache för att se ändringarna.\n*<strong>Firefox / Safari:</strong> Håll ned <em>Skift</em> och klicka på <em>Uppdatera sidan</em> eller tryck antingen <em>Ctrl-F5</em> eller <em>Ctrl-R</em> (<em>⌘-R</em> på Mac)\n*<strong>Google Chrome:</strong> Tryck <em>Ctrl-Skift-R</em> (<em>⌘-Shift-R</em> på Mac)\n*<strong>Internet Explorer:</strong> Håll ned <em>Ctrl</em> och klicka på <em>Uppdatera</em> eller tryck <em>Ctrl-F5</em>\n*<strong>Opera:</strong> Gå till <em>Meny → Inställningar</em> (<em>Opera → Inställningar</em> på en Mac) och sedan på <em>Sekretess & säkerhet → Rensa webbläsardata → Hämtade bilder och filer</em>.",
"usercssyoucanpreview": "'''Tips:''' Använd knappen \"{{int:showpreview}}\" för att testa din nya CSS innan du sparar.",
"userjsyoucanpreview": "'''Tips:''' Använd knappen \"{{int:showpreview}}\" för att testa ditt nya JavaScript innan du sparar.",
"usercsspreview": "'''Kom ihåg att du bara förhandsgranskar din användar-CSS.'''\n'''Den har inte sparats än!'''",
"tooltip-ca-nstab-category": "Visa kategorisidan",
"tooltip-minoredit": "Markera som mindre ändring",
"tooltip-save": "Spara dina ändringar",
+ "tooltip-publish": "Publicera dina ändringar",
"tooltip-preview": "Förhandsgranska dina ändringar, vänligen använd detta innan du sparar!",
"tooltip-diff": "Visa vilka ändringar du har gjort i texten.",
"tooltip-compareselectedversions": "Visa skillnaden mellan de två markerade versionerna av den här sidan.",
"minoredit": "标记为小编辑",
"watchthis": "监视本页",
"savearticle": "保存页面",
+ "publishpage": "发布页面",
"preview": "预览",
"showpreview": "显示预览",
"showdiff": "显示更改",
"userpage-userdoesnotexist": "用户账户“$1”没有注册。请在创建/编辑本页前检查。",
"userpage-userdoesnotexist-view": "用户账户“$1”没有被注册。",
"blocked-notice-logextract": "这位用户目前已被封禁。以下提供最近的封禁日志以供参考:",
- "clearyourcache": "<strong>注意:</strong>在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。\n* <strong>Firefox或Safari:</strong>按住“Shift”的同时单击“刷新”,或按“Ctrl-F5”或“Ctrl-R”(Mac为“⌘-R”)\n* <strong>Google Chrome:</strong>按“Ctrl-Shift-R”(Mac为“⌘-Shift-R”)\n* <strong>Internet Explorer:</strong>按住“Ctrl”的同时单击“刷新”,或按“Ctrl-F5”\n* <strong>Opera:</strong>在“工具→首选项”中清除缓存",
+ "clearyourcache": "<strong>注意:</strong>在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。\n* <strong>Firefox或Safari:</strong>按住<em>Shift</em>的同时单击<em>刷新</em>,或按<em>Ctrl-F5</em>或<em>Ctrl-R</em>(Mac为<em>⌘-R</em>)\n* <strong>Google Chrome:</strong>按<em>Ctrl-Shift-R</em>(Mac为<em>⌘-Shift-R</em>)\n* <strong>Internet Explorer:</strong>按住<em>Ctrl</em>的同时单击<em>刷新</em>,或按<em>Ctrl-F5</em>\n* <strong>Opera:</strong>前往<em>菜单 → 设置</em>(Mac为<em>Opera → Preferences</em>),然后em>隐私和安全 → 清除浏览数据 → 缓存的图片和文件</em>。",
"usercssyoucanpreview": "<strong>提示:</strong>在保存前请用“{{int:showpreview}}”按钮来测试您新的 CSS 。",
"userjsyoucanpreview": "<strong>提示:</strong>在保存前请用“{{int:showpreview}}”按钮来测试您新的 JavaScript 。",
"usercsspreview": "<strong>请记住您现在只是在预览你的用户CSS。它尚未保存!</strong>",
"tooltip-ca-nstab-category": "查看分类页面",
"tooltip-minoredit": "标记本编辑为小编辑",
"tooltip-save": "保存你的更改",
+ "tooltip-publish": "发布您的更改",
"tooltip-preview": "预览您的更改。请在保存前使用此功能。",
"tooltip-diff": "显示您对该文字所做的更改",
"tooltip-compareselectedversions": "查看该页面两个选定的版本之间的差异。",
Update OOjs UI to v$OOJSUI_VERSION
Release notes:
- https://git.wikimedia.org/blob/oojs%2Fui.git/v$OOJSUI_VERSION/History.md
+ https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v$OOJS_VERSION
END
)
Update OOjs to v$OOJS_VERSION
Release notes:
- https://git.wikimedia.org/blob/oojs%2Fcore.git/v$OOJS_VERSION/History.md
+ https://phabricator.wikimedia.org/diffusion/GOJS/browse/master/History.md;v$OOJS_VERSION
END
)
-#
-# 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 go to Create account page at (.+)$/) do |path|
visit(CreateAccountPage, using_params: { page_title: path })
end
-#
-# 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
-#
-# 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
-#
-# 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
-#
When(/^I click Appearance$/) do
visit(PreferencesPage).appearance_link_element.when_present.click
end
-#
-# 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
-#
When(/^I click Editing$/) do
visit(PreferencesPage).editing_link_element.when_present.click
end
-#
-# 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
-#
When(/^I click User profile$/) do
visit(PreferencesPage).user_profile_link_element.when_present.click
end
-#
-# 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 CreateAccountPage
include PageObject
-#
-# 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
-#
-# 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 PreferencesAppearancePage
include PageObject
-#
-# 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 PreferencesEditingPage
include PageObject
-#
-# 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 PreferencesPage
include PageObject
-#
-# 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 PreferencesUserProfilePage
include PageObject
/**
* @dataProvider provideIsValidMerge
* @covers MergeHistory::isValidMerge
- * @param $source string Source page
- * @param $dest string Destination page
- * @param $timestamp string|bool Timestamp up to which revisions are merged (or false for all)
- * @param $error string|bool Expected error for test (or true for no error)
+ * @param string $source Source page
+ * @param string $dest Destination page
+ * @param string|bool $timestamp Timestamp up to which revisions are merged (or false for all)
+ * @param string|bool $error Expected error for test (or true for no error)
*/
public function testIsValidMerge( $source, $dest, $timestamp, $error ) {
$this->setMwGlobals( 'wgContentHandlerUseDB', false );
* @group Database
*/
class PrefixSearchTest extends MediaWikiLangTestCase {
+ private $originalHandlers;
public function addDBDataOnce() {
if ( !$this->isWikitextNS( NS_MAIN ) ) {
}
// Avoid special pages from extensions interferring with the tests
- $this->setMwGlobals( 'wgSpecialPages', [] );
+ $this->setMwGlobals( [
+ 'wgSpecialPages' => [],
+ 'wgHooks' => [],
+ ] );
+
+ $this->originalHandlers = TestingAccessWrapper::newFromClass( 'Hooks' )->handlers;
+ TestingAccessWrapper::newFromClass( 'Hooks' )->handlers = [];
+
+ SpecialPageFactory::resetList();
+ }
+
+ public function tearDown() {
+ parent::tearDown();
+
+ TestingAccessWrapper::newFromClass( 'Hooks' )->handlers = $this->originalHandlers;
+
+ SpecialPageFactory::resetList();
}
protected function searchProvision( array $results = null ) {
return $title;
}
+ private function verifyCallbackJob(
+ $callback,
+ LinkTarget $expectedTitle,
+ $expectedUserId,
+ callable $notificationTimestampCondition
+ ) {
+ $this->assertInternalType( 'callable', $callback );
+
+ $callbackReflector = new ReflectionFunction( $callback );
+ $vars = $callbackReflector->getStaticVariables();
+ $this->assertArrayHasKey( 'job', $vars );
+ $this->assertInstanceOf( ActivityUpdateJob::class, $vars['job'] );
+
+ /** @var ActivityUpdateJob $job */
+ $job = $vars['job'];
+ $this->assertEquals( $expectedTitle->getDBkey(), $job->getTitle()->getDBkey() );
+ $this->assertEquals( $expectedTitle->getNamespace(), $job->getTitle()->getNamespace() );
+
+ $jobParams = $job->getParams();
+ $this->assertArrayHasKey( 'type', $jobParams );
+ $this->assertEquals( 'updateWatchlistNotification', $jobParams['type'] );
+ $this->assertArrayHasKey( 'userid', $jobParams );
+ $this->assertEquals( $expectedUserId, $jobParams['userid'] );
+ $this->assertArrayHasKey( 'notifTime', $jobParams );
+ $this->assertTrue( $notificationTimestampCondition( $jobParams['notifTime'] ) );
+ }
+
public function testResetNotificationTimestamp_oldidSpecifiedLatestRevisionForced() {
$user = $this->getMockNonAnonUserWithId( 1 );
$oldid = 22;
$mockCache
);
- // Note: This does not actually assert the job is correct
$callableCallCounter = 0;
$scopedOverride = $store->overrideDeferredUpdatesAddCallableUpdateCallback(
- function( $callable ) use ( &$callableCallCounter ) {
+ function( $callable ) use ( &$callableCallCounter, $title, $user ) {
$callableCallCounter++;
- $this->assertInternalType( 'callable', $callable );
+ $this->verifyCallbackJob(
+ $callable,
+ $title,
+ $user->getId(),
+ function( $time ) {
+ return $time === null;
+ }
+ );
}
);
$mockCache
);
- // Note: This does not actually assert the job is correct
$addUpdateCallCounter = 0;
$scopedOverrideDeferred = $store->overrideDeferredUpdatesAddCallableUpdateCallback(
- function( $callable ) use ( &$addUpdateCallCounter ) {
+ function( $callable ) use ( &$addUpdateCallCounter, $title, $user ) {
$addUpdateCallCounter++;
- $this->assertInternalType( 'callable', $callable );
+ $this->verifyCallbackJob(
+ $callable,
+ $title,
+ $user->getId(),
+ function( $time ) {
+ return $time !== null && $time > '20151212010101';
+ }
+ );
}
);
ScopedCallback::consume( $scopedOverrideRevision );
}
+ public function testResetNotificationTimestamp_notWatchedPageForced() {
+ $user = $this->getMockNonAnonUserWithId( 1 );
+ $oldid = 22;
+ $title = $this->getMockTitle( 'SomeDbKey' );
+ $title->expects( $this->once() )
+ ->method( 'getNextRevisionID' )
+ ->with( $oldid )
+ ->will( $this->returnValue( 33 ) );
+
+ $mockDb = $this->getMockDb();
+ $mockDb->expects( $this->once() )
+ ->method( 'selectRow' )
+ ->with(
+ 'watchlist',
+ 'wl_notificationtimestamp',
+ [
+ 'wl_user' => 1,
+ 'wl_namespace' => 0,
+ 'wl_title' => 'SomeDbKey',
+ ]
+ )
+ ->will( $this->returnValue( false ) );
+
+ $mockCache = $this->getMockCache();
+ $mockDb->expects( $this->never() )
+ ->method( 'get' );
+ $mockDb->expects( $this->never() )
+ ->method( 'set' );
+ $mockDb->expects( $this->never() )
+ ->method( 'delete' );
+
+ $store = $this->newWatchedItemStore(
+ $this->getMockLoadBalancer( $mockDb ),
+ $mockCache
+ );
+
+ $callableCallCounter = 0;
+ $scopedOverride = $store->overrideDeferredUpdatesAddCallableUpdateCallback(
+ function( $callable ) use ( &$callableCallCounter, $title, $user ) {
+ $callableCallCounter++;
+ $this->verifyCallbackJob(
+ $callable,
+ $title,
+ $user->getId(),
+ function( $time ) {
+ return $time === null;
+ }
+ );
+ }
+ );
+
+ $this->assertTrue(
+ $store->resetNotificationTimestamp(
+ $user,
+ $title,
+ 'force',
+ $oldid
+ )
+ );
+ $this->assertEquals( 1, $callableCallCounter );
+
+ ScopedCallback::consume( $scopedOverride );
+ }
+
+ public function testResetNotificationTimestamp_futureNotificationTimestampForced() {
+ $user = $this->getMockNonAnonUserWithId( 1 );
+ $oldid = 22;
+ $title = $this->getMockTitle( 'SomeDbKey' );
+ $title->expects( $this->once() )
+ ->method( 'getNextRevisionID' )
+ ->with( $oldid )
+ ->will( $this->returnValue( 33 ) );
+
+ $mockDb = $this->getMockDb();
+ $mockDb->expects( $this->once() )
+ ->method( 'selectRow' )
+ ->with(
+ 'watchlist',
+ 'wl_notificationtimestamp',
+ [
+ 'wl_user' => 1,
+ 'wl_namespace' => 0,
+ 'wl_title' => 'SomeDbKey',
+ ]
+ )
+ ->will( $this->returnValue(
+ $this->getFakeRow( [ 'wl_notificationtimestamp' => '30151212010101' ] )
+ ) );
+
+ $mockCache = $this->getMockCache();
+ $mockDb->expects( $this->never() )
+ ->method( 'get' );
+ $mockDb->expects( $this->never() )
+ ->method( 'set' );
+ $mockDb->expects( $this->never() )
+ ->method( 'delete' );
+
+ $store = $this->newWatchedItemStore(
+ $this->getMockLoadBalancer( $mockDb ),
+ $mockCache
+ );
+
+ $addUpdateCallCounter = 0;
+ $scopedOverrideDeferred = $store->overrideDeferredUpdatesAddCallableUpdateCallback(
+ function( $callable ) use ( &$addUpdateCallCounter, $title, $user ) {
+ $addUpdateCallCounter++;
+ $this->verifyCallbackJob(
+ $callable,
+ $title,
+ $user->getId(),
+ function( $time ) {
+ return $time === '30151212010101';
+ }
+ );
+ }
+ );
+
+ $getTimestampCallCounter = 0;
+ $scopedOverrideRevision = $store->overrideRevisionGetTimestampFromIdCallback(
+ function( $titleParam, $oldidParam ) use ( &$getTimestampCallCounter, $title, $oldid ) {
+ $getTimestampCallCounter++;
+ $this->assertEquals( $title, $titleParam );
+ $this->assertEquals( $oldid, $oldidParam );
+ }
+ );
+
+ $this->assertTrue(
+ $store->resetNotificationTimestamp(
+ $user,
+ $title,
+ 'force',
+ $oldid
+ )
+ );
+ $this->assertEquals( 1, $addUpdateCallCounter );
+ $this->assertEquals( 1, $getTimestampCallCounter );
+
+ ScopedCallback::consume( $scopedOverrideDeferred );
+ ScopedCallback::consume( $scopedOverrideRevision );
+ }
+
+ public function testResetNotificationTimestamp_futureNotificationTimestampNotForced() {
+ $user = $this->getMockNonAnonUserWithId( 1 );
+ $oldid = 22;
+ $title = $this->getMockTitle( 'SomeDbKey' );
+ $title->expects( $this->once() )
+ ->method( 'getNextRevisionID' )
+ ->with( $oldid )
+ ->will( $this->returnValue( 33 ) );
+
+ $mockDb = $this->getMockDb();
+ $mockDb->expects( $this->once() )
+ ->method( 'selectRow' )
+ ->with(
+ 'watchlist',
+ 'wl_notificationtimestamp',
+ [
+ 'wl_user' => 1,
+ 'wl_namespace' => 0,
+ 'wl_title' => 'SomeDbKey',
+ ]
+ )
+ ->will( $this->returnValue(
+ $this->getFakeRow( [ 'wl_notificationtimestamp' => '30151212010101' ] )
+ ) );
+
+ $mockCache = $this->getMockCache();
+ $mockDb->expects( $this->never() )
+ ->method( 'get' );
+ $mockDb->expects( $this->never() )
+ ->method( 'set' );
+ $mockDb->expects( $this->never() )
+ ->method( 'delete' );
+
+ $store = $this->newWatchedItemStore(
+ $this->getMockLoadBalancer( $mockDb ),
+ $mockCache
+ );
+
+ $addUpdateCallCounter = 0;
+ $scopedOverrideDeferred = $store->overrideDeferredUpdatesAddCallableUpdateCallback(
+ function( $callable ) use ( &$addUpdateCallCounter, $title, $user ) {
+ $addUpdateCallCounter++;
+ $this->verifyCallbackJob(
+ $callable,
+ $title,
+ $user->getId(),
+ function( $time ) {
+ return $time === false;
+ }
+ );
+ }
+ );
+
+ $getTimestampCallCounter = 0;
+ $scopedOverrideRevision = $store->overrideRevisionGetTimestampFromIdCallback(
+ function( $titleParam, $oldidParam ) use ( &$getTimestampCallCounter, $title, $oldid ) {
+ $getTimestampCallCounter++;
+ $this->assertEquals( $title, $titleParam );
+ $this->assertEquals( $oldid, $oldidParam );
+ }
+ );
+
+ $this->assertTrue(
+ $store->resetNotificationTimestamp(
+ $user,
+ $title,
+ '',
+ $oldid
+ )
+ );
+ $this->assertEquals( 1, $addUpdateCallCounter );
+ $this->assertEquals( 1, $getTimestampCallCounter );
+
+ ScopedCallback::consume( $scopedOverrideDeferred );
+ ScopedCallback::consume( $scopedOverrideRevision );
+ }
+
public function testUpdateNotificationTimestamp_watchersExist() {
$mockDb = $this->getMockDb();
$mockDb->expects( $this->once() )
--- /dev/null
+<?php
+
+
+class HTMLFormTest extends MediaWikiTestCase {
+ public function testGetHTML_empty() {
+ $form = new HTMLForm( [] );
+ $form->setTitle( Title::newFromText( 'Foo' ) );
+ $form->prepareForm();
+ $html = $form->getHTML( false );
+ $this->assertRegExp( '/<form\b/', $html );
+ }
+
+ /**
+ * @expectedException LogicException
+ */
+ public function testGetHTML_noPrepare() {
+ $form = new HTMLForm( [] );
+ $form->setTitle( Title::newFromText( 'Foo' ) );
+ $form->getHTML( false );
+ }
+}
}
/**
- * @param $filename string
- * @param $expectedLength float
+ * @param string $filename
+ * @param float $expectedLength
* @dataProvider provideGetLength
*/
public function testGetLength( $filename, $expectedLength ) {
--- /dev/null
+<?php
+/**
+ * Tests related to JPEG chroma subsampling via $wgJpegPixelFormat setting.
+ *
+ * @group Media
+ * @group medium
+ *
+ * @todo covers tags
+ */
+class JpegPixelFormatTest extends MediaWikiMediaTestCase {
+
+ protected function setUp() {
+ parent::setUp();
+ }
+
+ /**
+ * Mark this test as creating thumbnail files.
+ */
+ protected function createsThumbnails() {
+ return true;
+ }
+
+ /**
+ *
+ * @dataProvider providePixelFormats
+ */
+ public function testPixelFormatRendering( $sourceFile, $pixelFormat, $samplingFactor ) {
+ global $wgUseImageMagick, $wgUseImageResize;
+ if ( !$wgUseImageMagick ) {
+ $this->markTestSkipped( "This test is only applicable when using ImageMagick thumbnailing" );
+ }
+ if ( !$wgUseImageResize ) {
+ $this->markTestSkipped( "This test is only applicable when using thumbnailing" );
+ }
+
+ $fmtStr = var_export( $pixelFormat, true );
+ $this->setMwGlobals( 'wgJpegPixelFormat', $pixelFormat );
+
+ $file = $this->dataFile( $sourceFile, 'image/jpeg' );
+
+ $params = [
+ 'width' => 320,
+ ];
+ $thumb = $file->transform( $params, File::RENDER_NOW | File::RENDER_FORCE );
+ $this->assertTrue( !$thumb->isError(), "created JPEG thumbnail for pixel format $fmtStr" );
+
+ $path = $thumb->getLocalCopyPath();
+ $this->assertTrue( is_string( $path ), "path returned for JPEG thumbnail for $fmtStr" );
+
+ $cmd = [
+ 'identify',
+ '-format',
+ '%[jpeg:sampling-factor]',
+ $path
+ ];
+ $retval = null;
+ $output = wfShellExec( $cmd, $retval );
+ $this->assertTrue( $retval === 0, "ImageMagick's identify command should return success" );
+
+ $expected = $samplingFactor;
+ $actual = trim( $output );
+ $this->assertEquals(
+ $expected,
+ trim( $output ),
+ "IM identify expects JPEG chroma subsampling \"$expected\" for $fmtStr"
+ );
+ }
+
+ public static function providePixelFormats() {
+ return [
+ // From 4:4:4 source file
+ [
+ 'yuv444.jpg',
+ false,
+ '1x1,1x1,1x1'
+ ],
+ [
+ 'yuv444.jpg',
+ 'yuv444',
+ '1x1,1x1,1x1'
+ ],
+ [
+ 'yuv444.jpg',
+ 'yuv422',
+ '2x1,1x1,1x1'
+ ],
+ [
+ 'yuv444.jpg',
+ 'yuv420',
+ '2x2,1x1,1x1'
+ ],
+ // From 4:2:0 source file
+ [
+ 'yuv420.jpg',
+ false,
+ '2x2,1x1,1x1'
+ ],
+ [
+ 'yuv420.jpg',
+ 'yuv444',
+ '1x1,1x1,1x1'
+ ],
+ [
+ 'yuv420.jpg',
+ 'yuv422',
+ '2x1,1x1,1x1'
+ ],
+ [
+ 'yuv420.jpg',
+ 'yuv420',
+ '2x2,1x1,1x1'
+ ]
+ ];
+ }
+}
* out of parameters:
* $width, $height, { $max => $expected, $max2 => $expected2, ... }
*
- * @param $width int
- * @param $height int
- * @param $tests array associative array of $max => $expected values
+ * @param int $width
+ * @param int $height
+ * @param array $tests associative array of $max => $expected values
* @return array
*/
private static function generateTestFitBoxWidthData( $width, $height, $tests ) {
}
/**
- * @param $filename string
- * @param $expectedLength float
+ * @param string $filename
+ * @param float $expectedLength
* @dataProvider provideGetLength
*/
public function testGetLength( $filename, $expectedLength ) {
* @group Database
*/
class SearchEnginePrefixTest extends MediaWikiLangTestCase {
+ private $originalHandlers;
/**
* @var SearchEngine
}
// Avoid special pages from extensions interferring with the tests
- $this->setMwGlobals( 'wgSpecialPages', [] );
+ $this->setMwGlobals( [
+ 'wgSpecialPages' => [],
+ 'wgHooks' => [],
+ ] );
+
$this->search = MediaWikiServices::getInstance()->newSearchEngine();
$this->search->setNamespaces( [] );
+
+ $this->originalHandlers = TestingAccessWrapper::newFromClass( 'Hooks' )->handlers;
+ TestingAccessWrapper::newFromClass( 'Hooks' )->handlers = [];
+
+ SpecialPageFactory::resetList();
+ }
+
+ public function tearDown() {
+ parent::tearDown();
+
+ TestingAccessWrapper::newFromClass( 'Hooks' )->handlers = $this->originalHandlers;
+
+ SpecialPageFactory::resetList();
}
protected function searchProvision( array $results = null ) {