"wikimedia/html-formatter": "1.0.2",
"wikimedia/ip-set": "1.2.0",
"wikimedia/object-factory": "1.0.0",
- "wikimedia/password-blacklist": "0.1.2",
+ "wikimedia/password-blacklist": "0.1.3",
"wikimedia/php-session-serializer": "1.0.6",
"wikimedia/purtle": "1.0.7",
"wikimedia/relpath": "2.1.1",
return $this->options;
}
+ /**
+ * Sets a ParserOutput to be returned by getRevisionParserOutput().
+ *
+ * @note For internal use by RevisionRenderer only! This method may be modified
+ * or removed without notice per the deprecation policy.
+ *
+ * @internal
+ *
+ * @param ParserOutput $output
+ */
+ public function setRevisionParserOutput( ParserOutput $output ) {
+ $this->revisionOutput = $output;
+
+ // If there is only one slot, we assume that the combined output is identical
+ // with the main slot's output. This is intended to prevent a redundant re-parse of
+ // the content in case getSlotParserOutput( SlotRecord::MAIN ) is called, for instance
+ // from ContentHandler::getSecondaryDataUpdates.
+ if ( $this->revision->getSlotRoles() === [ SlotRecord::MAIN ] ) {
+ $this->slotsOutput[ SlotRecord::MAIN ] = $output;
+ }
+ }
+
/**
* @param array $hints Hints given as an associative array. Known keys:
* - 'generate-html' => bool: Whether the caller is interested in output HTML (as opposed
* - 'audience' the audience to use for content access. Default is
* RevisionRecord::FOR_PUBLIC if $forUser is not set, RevisionRecord::FOR_THIS_USER
* if $forUser is set. Can be set to RevisionRecord::RAW to disable audience checks.
+ * - 'known-revision-output' a combined ParserOutput for the revision, perhaps from
+ * some cache. the caller is responsible for ensuring that the ParserOutput indeed
+ * matched the $rev and $options. This mechanism is intended as a temporary stop-gap,
+ * for the time until caches have been changed to store RenderedRevision states instead
+ * of ParserOutput objects.
*
* @return RenderedRevision|null The rendered revision, or null if the audience checks fails.
*/
$renderedRevision->setSaveParseLogger( $this->saveParseLogger );
+ if ( isset( $hints['known-revision-output'] ) ) {
+ $renderedRevision->setRevisionParserOutput( $hints['known-revision-output'] );
+ }
+
return $renderedRevision;
}
$stashedEdit = ApiStashEdit::checkCache( $title, $mainContent, $legacyUser );
}
- if ( $stashedEdit ) {
- /** @var ParserOutput $output */
- $output = $stashedEdit->output;
-
- // TODO: this should happen when stashing the ParserOutput, not now!
- $output->setCacheTime( $stashedEdit->timestamp );
-
- // TODO: MCR: allow output for all slots to be stashed.
- $this->canonicalParserOutput = $output;
- }
-
$userPopts = ParserOptions::newFromUserAndLang( $user, $this->contLang );
Hooks::run( 'ArticlePrepareTextForEdit', [ $wikiPage, $userPopts ] );
} else {
$this->parentRevision = $parentRevision;
}
+
+ $renderHints = [ 'use-master' => $this->useMaster(), 'audience' => RevisionRecord::RAW ];
+
+ if ( $stashedEdit ) {
+ /** @var ParserOutput $output */
+ $output = $stashedEdit->output;
+
+ // TODO: this should happen when stashing the ParserOutput, not now!
+ $output->setCacheTime( $stashedEdit->timestamp );
+
+ $renderHints['known-revision-output'] = $output;
+ }
+
+ // NOTE: we want a canonical rendering, so don't pass $this->user or ParserOptions
+ // NOTE: the revision is either new or current, so we can bypass audience checks.
+ $this->renderedRevision = $this->revisionRenderer->getRenderedRevision(
+ $this->revision,
+ null,
+ null,
+ $renderHints
+ );
}
/**
* @return RenderedRevision
*/
public function getRenderedRevision() {
- if ( !$this->renderedRevision ) {
- $this->assertPrepared( __METHOD__ );
-
- // NOTE: we want a canonical rendering, so don't pass $this->user or ParserOptions
- // NOTE: the revision is either new or current, so we can bypass audience checks.
- $this->renderedRevision = $this->revisionRenderer->getRenderedRevision(
- $this->revision,
- null,
- null,
- [ 'use-master' => $this->useMaster(), 'audience' => RevisionRecord::RAW ]
- );
- }
+ $this->assertPrepared( __METHOD__ );
return $this->renderedRevision;
}
// Prune any output that depends on the revision ID.
if ( $this->renderedRevision ) {
$this->renderedRevision->updateRevision( $revision );
+ } else {
+
+ // NOTE: we want a canonical rendering, so don't pass $this->user or ParserOptions
+ // NOTE: the revision is either new or current, so we can bypass audience checks.
+ $this->renderedRevision = $this->revisionRenderer->getRenderedRevision(
+ $this->revision,
+ null,
+ null,
+ [ 'use-master' => $this->useMaster(), 'audience' => RevisionRecord::RAW ]
+ );
+
+ // XXX: Since we presumably are dealing with the current revision,
+ // we could try to get the ParserOutput from the parser cache.
}
// TODO: optionally get ParserOutput from the ParserCache here.
}
if ( $this->fld_tags ) {
- $this->addTables( 'tag_summary' );
- $this->addJoinConds( [ 'tag_summary' => [ 'LEFT JOIN', 'log_id=ts_log_id' ] ] );
- $this->addFields( 'ts_tags' );
+ $this->addFields( [ 'ts_tags' => ChangeTags::makeTagSummarySubquery( 'logging' ) ] );
}
if ( !is_null( $params['tag'] ) ) {
public static function modifyDisplayQuery( &$tables, &$fields, &$conds,
&$join_conds, &$options, $filter_tag = ''
) {
- global $wgUseTagFilter, $wgChangeTagsSchemaMigrationStage;
+ global $wgChangeTagsSchemaMigrationStage, $wgUseTagFilter;
// Normalize to arrays
$tables = (array)$tables;
$conds = (array)$conds;
$options = (array)$options;
+ $fields['ts_tags'] = self::makeTagSummarySubquery( $tables );
+
// Figure out which ID field to use
if ( in_array( 'recentchanges', $tables ) ) {
$join_cond = 'ct_rc_id=rc_id';
throw new MWException( 'Unable to determine appropriate JOIN condition for tagging.' );
}
- $tagTables[] = 'change_tag';
- if ( $wgChangeTagsSchemaMigrationStage > MIGRATION_WRITE_BOTH ) {
- $tagTables[] = 'change_tag_def';
- $join_cond_ts_tags = [ 'change_tag_def' => [ 'INNER JOIN', 'ct_tag_id=ctd_id' ] ];
- $field = 'ctd_name';
- } else {
- $field = 'ct_tag';
- $join_cond_ts_tags = [];
- }
-
- $fields['ts_tags'] = wfGetDB( DB_REPLICA )->buildGroupConcatField(
- ',', $tagTables, $field, $join_cond, $join_cond_ts_tags
- );
-
if ( $wgUseTagFilter && $filter_tag ) {
// Somebody wants to filter on a tag.
// Add an INNER JOIN on change_tag
}
}
+ /**
+ * Make the tag summary subquery based on the given tables and return it.
+ *
+ * @param string|array $tables Table names, see Database::select
+ *
+ * @return string tag summary subqeury
+ * @throws MWException When unable to determine appropriate JOIN condition for tagging
+ */
+ public static function makeTagSummarySubquery( $tables ) {
+ global $wgChangeTagsSchemaMigrationStage;
+
+ // Normalize to arrays
+ $tables = (array)$tables;
+
+ // Figure out which ID field to use
+ if ( in_array( 'recentchanges', $tables ) ) {
+ $join_cond = 'ct_rc_id=rc_id';
+ } elseif ( in_array( 'logging', $tables ) ) {
+ $join_cond = 'ct_log_id=log_id';
+ } elseif ( in_array( 'revision', $tables ) ) {
+ $join_cond = 'ct_rev_id=rev_id';
+ } elseif ( in_array( 'archive', $tables ) ) {
+ $join_cond = 'ct_rev_id=ar_rev_id';
+ } else {
+ throw new MWException( 'Unable to determine appropriate JOIN condition for tagging.' );
+ }
+
+ $tagTables[] = 'change_tag';
+ if ( $wgChangeTagsSchemaMigrationStage > MIGRATION_WRITE_BOTH ) {
+ $tagTables[] = 'change_tag_def';
+ $join_cond_ts_tags = [ 'change_tag_def' => [ 'INNER JOIN', 'ct_tag_id=ctd_id' ] ];
+ $field = 'ctd_name';
+ } else {
+ $field = 'ct_tag';
+ $join_cond_ts_tags = [];
+ }
+
+ return wfGetDB( DB_REPLICA )->buildGroupConcatField(
+ ',', $tagTables, $field, $join_cond, $join_cond_ts_tags
+ );
+ }
+
/**
* Build a text box to select a change tag
*
* @author Daniel Kinzler
*/
+use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
/**
*/
private $hadSignature = false;
+ /**
+ * @var array|null Stack trace of the previous parse
+ */
+ private $previousParseStackTrace = null;
+
public function __construct( $text ) {
parent::__construct( $text, CONTENT_MODEL_WIKITEXT );
}
) {
global $wgParser;
+ $stackTrace = ( new RuntimeException() )->getTraceAsString();
+ if ( $this->previousParseStackTrace ) {
+ // NOTE: there may be legitimate changes to re-parse the same WikiText content,
+ // e.g. if predicted revision ID for the REVISIONID magic word mismatched.
+ // But that should be rare.
+ $logger = LoggerFactory::getInstance( 'DuplicateParse' );
+ $logger->debug(
+ __METHOD__ . ': Possibly redundant parse!',
+ [
+ 'title' => $title->getPrefixedDBkey(),
+ 'rev' => $revId,
+ 'options-hash' => $options->optionsHash(
+ ParserOptions::allCacheVaryingOptions(),
+ $title
+ ),
+ 'trace' => $stackTrace,
+ 'previous-trace' => $this->previousParseStackTrace,
+ ]
+ );
+ }
+ $this->previousParseStackTrace = $stackTrace;
+
list( $redir, $text ) = $this->getRedirectTargetAndText();
$output = $wgParser->parse( $text, $title, $options, true, true, $revId );
global $wgDBprefix;
$lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
- $lbFactory->setDomainPrefix( $prefix );
+ $lbFactory->setLocalDomainPrefix( $prefix );
$wgDBprefix = $prefix;
}
}
"config-sqlite-cant-create-db": "Kunde inte skapa databasfilen <code>$1</code>.",
"config-sqlite-fts3-downgrade": "PHP saknar stöd för FTS3, nedgraderar tabeller",
"config-can-upgrade": "Det finns MediaWiki-tabeller i den här databasen.\nFör att uppgradera dem till MediaWiki $1, klicka på '''Fortsätt'''.",
+ "config-upgrade-error": "Ett fel uppstod när MediaWiki-tabellerna i din databas uppdaterades.\n\nFör mer information, se loggen ovan. Klicka på <strong>Fortsätt</strong> för att försöka igen.",
"config-upgrade-done": "Uppgraderingen slutfördes.\n\nDu kan nu [$1 börja använda din wiki].\n\nOm du vill förnya din <code>LocalSettings.php</code>-fil, klicka på knappen nedan.\nDetta '''rekommenderas inte''' om du har problem med din wiki.",
"config-upgrade-done-no-regenerate": "Uppgraderingen slutfördes.\n\nDu kan nu [$1 börja använda din wiki].",
"config-regenerate": "Återskapa LocalSettings.php →",
* Set a new table prefix for the existing local domain ID for testing
*
* @param string $prefix
+ * @since 1.33
*/
- public function setDomainPrefix( $prefix );
+ public function setLocalDomainPrefix( $prefix );
/**
* Close all open database connections on all open load balancers.
$this->indexAliases = $aliases;
}
+ /**
+ * @param string $prefix
+ * @deprecated Since 1.33
+ */
public function setDomainPrefix( $prefix ) {
+ $this->setLocalDomainPrefix( $prefix );
+ }
+
+ public function setLocalDomainPrefix( $prefix ) {
$this->localDomain = new DatabaseDomain(
$this->localDomain->getDatabase(),
null,
);
$this->forEachLB( function ( ILoadBalancer $lb ) use ( $prefix ) {
- $lb->setDomainPrefix( $prefix );
+ $lb->setLocalDomainPrefix( $prefix );
} );
}
* Set a new table prefix for the existing local domain ID for testing
*
* @param string $prefix
+ * @since 1.33
*/
- public function setDomainPrefix( $prefix );
+ public function setLocalDomainPrefix( $prefix );
/**
* Make certain table names use their own database, schema, and table prefix
$this->indexAliases = $aliases;
}
+ /**
+ * @param string $prefix
+ * @deprecated Since 1.33
+ */
public function setDomainPrefix( $prefix ) {
+ $this->setLocalDomainPrefix( $prefix );
+ }
+
+ public function setLocalDomainPrefix( $prefix ) {
// Find connections to explicit foreign domains still marked as in-use...
$domainsInUse = [];
$this->forEachOpenConnection( function ( IDatabase $conn ) use ( &$domainsInUse ) {
* @return string
*/
function getLegend( $key ) {
- $aliasKey = ( $key === 'optoutwatchlist' || $key === 'optoutrc' ) ? 'opt-out' : $key;
- $legend = parent::getLegend( $aliasKey );
+ $legend = parent::getLegend( $key );
Hooks::run( 'PreferencesGetLegend', [ $this, $key, &$legend ] );
return $legend;
}
"ns-specialprotected": "Laman kusuih h'an jeuet geupeusaneut",
"titleprotected": "Nan nyoe ka geupeulindông nibak neuandam lé [[User:$1|$1]].\nDalèhjih nakeuh <em>$2</em>.",
"invalidtitle-knownnamespace": "Nan nyang hana sah ngön ruweueng nan \"$2\" ngön \"$3\"",
- "exception-nologin": "Goh lom tamong log",
+ "exception-nologin": "Goh lom neutamöng",
"exception-nologin-text": "Droëneuh suwah [[Special:Userlogin|neutamöng]] mangat jeuët neupeuhah laman nyoë",
"virus-unknownscanner": "Antivirus hana geuturi:",
- "logouttext": "'''Droeneuh ka neutubiet log.'''\n\nBeuneuteupue meunyoe na padum-padum laman nyang deuh lagèe na neutamöng log, sampoe ka lheuh neupeugléh ''cache''.",
+ "logouttext": "<strong>Droeneuh ka neuteubiet.</strong>\n\nBeu neutupeue meunyo na padum-padum laman nyang leumah lagèe na neutamöng, sampoe ka neupeugléh cache browser.",
"cannotlogoutnow-title": "H'an jeuet teubiet jinoe",
"welcomeuser": "Seulamat trôk teuka, $1 !",
"welcomecreation-msg": "Akun-neuh ka geupeugöt. \nDroeneuh jeuet neugantoe {{SITENAME}} [[Special:Preferences|peuatô]] meunyö neumeuh'eut.",
"userlogin-joinproject": "Neugabông ngön {{SITENAME}}",
"createaccount": "Peudapeuta nan barô",
"userlogin-resetpassword-link": "Tuwö lageuem tamöng?",
- "userlogin-helplink2": "Beunantu tamöng log",
+ "userlogin-helplink2": "Beunantu tamöng",
"userlogin-loggedin": "Droëneuh ka neutamöng seubagoë $1. Neungui blangko di yup keu neutamöng seubagoë ureuëng ngui la’én",
"userlogin-createanother": "Peugöt akun laén",
"createacct-emailrequired": "Alamat surat-e",
"createaccounterror": "H'an jeuet peugöt akun: $1",
"nocookiesnew": "Akun ureueng ngui nyoe ka geupeugöt, tapi droeneuh goh lom neutamöng.\n{{SITENAME}} jingui kuki keu jipeutamöng ureueng ngui.\nKuki droeneuh hana geupeuudép.\nNeupeuudép kuki dilèe, lheueh nyan neutamöng ngön nan ureueng ngui ngön lageuem tamöng barô droeneuh.",
"noname": "Nan ureuëng ngui nyang Droënueh peutamöng hana sah.",
- "loginsuccesstitle": "Meuhasé tamöng log",
+ "loginsuccesstitle": "Meuhasé neutamöng",
"loginsuccess": "'''Droëneuh jinoë ka neutamöng di {{SITENAME}} sibagoë \"$1\".'''",
"nosuchuser": "Hana ureuëng ngui ngön nan \"$1\".\nHaraih rayek ngön haraih ubeut na peungarôh.\nNeuparéksa ijaan-neuh, atawa [[Special:CreateAccount|neupeugöt akun]].",
"nosuchusershort": "Hana ureuëng ngui ngön nan \"$1\".\nPréksa keulayi neu’ija Droëneuh.",
"revdelete-hide-comment": "Mohtasa neuandam",
"revdelete-radio-same": "(bèk neugantoe)",
"revdelete-radio-set": "Teusom",
- "revdelete-radio-unset": "Deuih",
+ "revdelete-radio-unset": "Leumah",
"revdelete-log": "Alasan:",
"revdel-restore": "Gantoë neuleumah",
"pagehist": "Riwayat laman",
"passwordtooshort": "يجب أن تتكون كلمة السر على الأقل من {{PLURAL:$1|حرف واحد|حرفين|$1 حروف|$1 حرفا|$1 حرف}}.",
"passwordtoolong": "كلمات السر لا يجب أن تكون أطول من {{PLURAL:$1|1 حرف|$1 حروف}}.",
"passwordtoopopular": "لا يمكن استخدام كلمات المرور المختارة بشكل عام; يُرجَى اختيار كلمة مرور يصعب تخمينها.",
+ "passwordinlargeblacklist": "كلمة المرور التي تم إدخالها موجودة في قائمة كلمات المرور شائعة الاستخدام; الرجاء اختيار كلمة مرور فريدة.",
"password-name-match": "يجب أن تكون كلمة المرور مختلفة عن اسم المستخدم.",
"password-login-forbidden": "تم منع استخدام اسم المستخدم هذا وكلمة السر.",
"mailmypassword": "أعد تعيين كلمة السر",
"botpasswords-label-needsreset": "(تحتاج كلمة المرور إلى إعادة الضبط)",
"botpasswords-label-appid": "اسم البوت:",
"botpasswords-label-create": "أنشأ",
- "botpasswords-label-update": "Øدث",
+ "botpasswords-label-update": "تØدÙ\8aث",
"botpasswords-label-cancel": "ألغ",
"botpasswords-label-delete": "احذف",
"botpasswords-label-resetpassword": "أعد ضبط كلمة السر",
"passwordpolicies-policy-passwordcannotmatchblacklist": "لا يمكن أن تتطابق كلمة المرور مع كلمات المرور المدرجة على القائمة السوداء تحديدا",
"passwordpolicies-policy-maximalpasswordlength": "يجب أن يكون طول كلمة المرور أقل من $1 {{PLURAL:$1|حرف|أحرف}}",
"passwordpolicies-policy-passwordcannotbepopular": "لا يمكن أن تكون كلمة المرور {{PLURAL:$1|كلمة المرور الشائعة|في قائمة كلمات المرور الشائعة الـ$1}}",
+ "passwordpolicies-policy-passwordnotinlargeblacklist": "لا يمكن أن تكون كلمة المرور في قائمة كلمات المرور الـ100.000 الأكثر استخداما.",
"easydeflate-invaliddeflate": "المحتوى المقدم لا يتم تفريغه بشكل صحيح",
"unprotected-js": "لأسباب تتعلق بالأمان; لا يمكن تحميل جافا سكريبت من الصفحات غير المحمية; الرجاء إنشاء جافا سكريبت فقط في نطاق ميدياويكي: أو كصفحة فرعية للمستخدم"
}
"resetpass_submit": "اظبط الباسورد و ادخل",
"changepassword-success": "الباسورد بتاعتك اتغيرت بنجاح!",
"changepassword-throttled": "انت عملت محاولات لوجين كتيره ع الحساب ده.\nمن فضلك استنى $1 قبل المحاولة مرة تانيه.",
+ "botpasswords-label-update": "تحديث",
"resetpass_forbidden": "مش ممكن تغيير الباسورد",
"resetpass-no-info": "لازم تسجل دخولك علشان تقدر توصل للصفحة دى على طول.",
"resetpass-submit-loggedin": "غير الباسورد",
"parser-unstrip-loop-warning": "تکرارلاما دونمه سی قبول ائدیلدی",
"unstrip-depth-warning": "حداکثر ارجاع دستور دا unstrip تجاوز گئچیب دیر ($1)",
"converter-manual-rule-error": "خطا ال مبدیلی قانون لاریندا",
- "undo-success": "بو دَییشیکلیک گئری آلینا بیلر. لطفاً آشاغیداکی موقاییسه ائتمیی نظارت ائدین، حقیقتن بو دییشیکلیگی ائتمک ایستدیگینیزدن امین اولون و صحیفنی یازاراق بیر اوولکی دییشیکلیگی گئرییه آلین.",
+ "undo-success": "بو دَییشیکلیک قایتاریلا بیلر. لوطفاً آشاغیداکی موقایسهنی یوْخلاییب، دوغرودان بو دییشیکلیگی ائتمک ایستدیگینیزدن آرخایین اولون و صفحهنی ذخیره ائتمکله قاباقکی دییشیکلیگی قایتارین.",
"undo-failure": "دییشیکلیکلرین توققوشماسی نتیجهسینده گئرییه قایتارما ایشی اوغورسوز اولدو.",
"undo-norev": "دوزلیشلر گئری قایتاریلا بیلینمیر، چونکی اونلار یا مؤوجود دئییل، یا دا سیلینیب.",
"undo-nochange": "نظره گلیر دَییشدیرمه قاباغجادان قایتاریلیب.",
"rcfilters-other-review-tools": "داها یوخلاما آلتلری",
"rcfilters-group-results-by-page": "دییشیکلیکلری صفحهلرینه گؤره سیرالا",
"rcfilters-activefilters": "چالیشقان فیلترلر",
+ "rcfilters-activefilters-hide": "گیزلت",
"rcfilters-limit-title": "دَییشدیرمه ساییسی",
"rcfilters-date-popup-title": "آختاریش چاغی",
"rcfilters-days-title": "سوْن گۆنلر",
"rcfilters-quickfilters": "ذخیره اولونموش فیلترلر",
"rcfilters-quickfilters-placeholder-title": "هلهلیک هئچ بیر فیلتر ذخیره اوْلونماییبدیر",
"rcfilters-savedqueries-defaultlabel": "ذخیره اوْلونموش فیلترلر",
+ "rcfilters-savedqueries-setdefault": "دفالت حالتده تنظیمله",
+ "rcfilters-savedqueries-new-name-placeholder": "فیلتر هدفینی آچیقلا",
+ "rcfilters-savedqueries-apply-label": "فیلتر یارات",
"rcfilters-clear-all-filters": "بۆتون فیلترلری سیل",
"rcfilters-show-new-changes": "اَن سون دَییشیکلیکلره باخ",
"rcfilters-search-placeholder": "سوْن دییشیکلیکلری فیلترله (منودان سئچین یوْخسا فیلتر آدینی آختارین)",
"sharedupload-desc-edit": "Гэты файл паходзіць з $1 і можа выкарыстоўвацца іншымі праектамі.\nКалі спатрэбіцца, вы можаце зьмяніць апісаньне файлу на [$2 адпаведнай старонцы].",
"sharedupload-desc-create": "Гэты файл паходзіць з $1 і можа выкарыстоўвацца іншымі праектамі.\nКалі спатрэбіцца, вы можаце зьмяніць апісаньне на [$2 адпаведнай старонцы].",
"filepage-nofile": "Файл з гэтай назвай не існуе.",
- "filepage-nofile-link": "Файл з гэтай назвай не існуе, але Вы можаце [$1 загрузіць яго].",
+ "filepage-nofile-link": "Файл з такой назвай не існуе, але вы можаце [$1 загрузіць яго].",
"uploadnewversion-linktext": "Загрузіць новую вэрсію гэтага файла",
"shared-repo-from": "$1",
"shared-repo": "агульнага сховішча",
"passwordpolicies-policy-passwordcannotmatchblacklist": "Пароль ня можа супадаць з паролямі з чорнага сьпісу",
"passwordpolicies-policy-maximalpasswordlength": "Пароль мусіць быць даўжынёй менш за $1 {{PLURAL:$1|сымбаль|сымбалі|сымбаляў}}",
"passwordpolicies-policy-passwordcannotbepopular": "Пароль ня можа {{PLURAL:$1|супадаць з самым папулярным паролем|быць зь сьпісу $1 папулярных пароляў}}",
+ "passwordpolicies-policy-passwordnotinlargeblacklist": "Пароль ня можа быць зь сьпісу 100 000 найчасьцей ужываных пароляў.",
"easydeflate-invaliddeflate": "Пададзены зьмест ня сьціснуты адпаведным чынам",
"unprotected-js": "З прычынаў бясьпекі JavaScript ня можа быць загружаны зь неабароненых сайтаў. Калі ласка, стварайце javascript выключна ў прасторы назваў MediaWiki: ці як падстаронку ўдзельніка"
}
"prefs-editor": "Editor",
"prefs-preview": "Preview",
"prefs-advancedrc": "Advanced options",
- "prefs-opt-out": "Opt out of improvements",
"prefs-advancedrendering": "Advanced options",
"prefs-advancedsearchoptions": "Advanced options",
"prefs-advancedwatchlist": "Advanced options",
"Rafaneta",
"NMaia",
"Joao Xavier",
- "Surfo"
+ "Surfo",
+ "YvesNevelsteen"
]
},
"tog-underline": "Substrekado de ligiloj:",
"passwordtooshort": "Pasvortoj devas esti longaj almenaŭ $1 {{PLURAL:$1|1 signon|$1 signojn}}.",
"passwordtoolong": "Pasvorto ne povas esti pli longa ol {{PLURAL:$1|1 signo|$1 signoj}}.",
"passwordtoopopular": "Ne eblas uzi kutimajn pasvortojn. Bonvolu uzi pasvorton, kiu estas malpli facile divenebla.",
+ "passwordinlargeblacklist": "La enigita pasvorto estas en listo de tre ofte uzita pasvortojn. Bonvolu elekti pli unikan pasvorton.",
"password-name-match": "Via pasvorto devas nepre malsami vian salutnomon.",
"password-login-forbidden": "Estas malpermesite uzi tiun ĉi salutnomon kaj pasvorton.",
"mailmypassword": "Refari pasvorton",
"blocked-notice-logextract": "Ĉi tiu uzanto estas ĉi-momente forbarita.\nLa lasta protokolero estas jene montrata por via referenco:",
"clearyourcache": "<strong>Notu:</strong>Post konservado, vi forviŝu la kaŝmemoron de via foliumilo por vidi la ŝanĝojn. \n* <strong>Firefox / Safari:</strong> Premu majuskligan klavon klakante <em>Reŝarĝi</em>, aŭ premu aŭ <em>Stir-F5</em> aŭ <em>Stir-R</em> (<em>⌘-R</em> kun Makintoŝo)\n* <strong>Google Chrome:</strong> Premu <em>Stir-majuskligklavon-R</em> (<em>⌘-Majuskligklavo-R</em> kun Makintoŝo)\n* <strong>Interreta Esplorilo</strong>: Premu <em>Stir</em> klakante <em>Refreŝu</em>, aŭ premu <em>Stir-F5</em> \n* <strong>Opera:</strong> Iru al <em>menuo → parametroj</em> (<em>Opera → Agordoj</em> per Makintoŝa) kaj tiam al <em>privateco kaj sekureco → Nuligi retuman datenon → kaŝmemorataj bildoj kaj dosieroj</em>.",
"usercssyoucanpreview": "'''Konsileto:''' Uzu la butonon \"Antaŭrigardi\" por provi vian novan CSS-kodon antaŭ konservado.",
+ "userjsonyoucanpreview": "<strong>Konsileto:</strong> Uzu la butonon \"{{int:showpreview}}\" por provi vian novan JSON antaŭ konservado.",
"userjsyoucanpreview": "'''Konsileto:''' Uzu la butonon \"{{int:showpreview}}\" por provi vian novan Ĝavaskriptan kodon antaŭ konservado.",
"usercsspreview": "'''Notu ke vi nur antaŭvidas vian uzanto-CSS.\nĜi ne jam estis konservita!'''",
+ "userjsonpreview": "<strong>Memoru ke vi nun nur provas kaj antaŭrigardas vian JSON. Ĝi ne estas jam konservita!</strong>",
"userjspreview": "'''Memoru ke vi nun nur provas kaj antaŭrigardas vian uzantan Ĝavaskripton, ĝi ne estas jam konservita'''",
"sitecsspreview": "'''Konsciu ke vi nur antaŭrigardas tiun ĉi CSS.'''\n'''Ĝi ne jam estis savita!''",
+ "sitejsonpreview": "<strong>Memoru ke vi nun nur provas kaj antaŭrigardas vian JSON-agordojn. Ĝi ne estas jam konservita!</strong>",
"sitejspreview": "'''Konsciu ke vi nur antaŭrigardas tiun ĉi Ĝavaskripta kodon''. ''Ĝi ne jam estis konservita''.",
"userinvalidconfigtitle": "<strong>Averto:</strong> Ne ekzistas etoso \"$1\".\nRememoru ke individuaj .css-aj, .json-aj kaj .js-aj paĝoj uzas minusklan titolon, ekz. {{ns:user}}:Foo/vector.css kontraŭe al {{ns:user}}:Foo/Vector.css.",
"updated": "(Ĝisdatigita)",
"prefs-dateformat": "Data formato",
"prefs-timeoffset": "Tempa deŝovo",
"prefs-advancedediting": "Ĝeneralaj opcioj",
+ "prefs-developertools": "Iloj por programistoj",
"prefs-editor": "Redaktilo",
"prefs-preview": "Antaŭrigardo",
"prefs-advancedrc": "Progresaj opcioj",
"prefs-advancedwatchlist": "Progresaj opcioj",
"prefs-displayrc": "Montraj opcioj",
"prefs-displaywatchlist": "Montraj opcioj",
+ "prefs-changesrc": "Ŝanĝoj montritaj",
+ "prefs-changeswatchlist": "Ŝanĝoj montritaj",
+ "prefs-pageswatchlist": "Atentataj paĝoj",
"prefs-tokenwatchlist": "Ĵetono",
"prefs-diffs": "Diferencoj",
"prefs-help-prefershttps": "Ĉi tiu agordo ekefikos je via sekva ensaluto.",
"editinguser": "Ŝanĝado de uzantorajtoj de la {{GENDER:$1|uzanto}} <strong>[[User:$1|$1]]</strong> $2",
"viewinguserrights": "Vidi uzantorajtojn de {{GENDER:$1|uzanto}} <strong>[[User:$1|$1]]</strong> $2",
"userrights-editusergroup": "Redakti grupojn de uzantoj",
- "userrights-viewusergroup": "Vidi grupojn de uzantoj",
+ "userrights-viewusergroup": "Vidi {{GENDER:$1|user}}-grupojn",
"saveusergroups": "Konservi grupojn de {{GENDER:$1|uzantoj}}",
"userrights-groupsmember": "Membro de:",
"userrights-groupsmember-auto": "Implica membro de:",
"rcfilters-filter-minor-description": "Redaktoj kiujn la aŭtoro markis kiel \"redakteto\".",
"rcfilters-filter-major-label": "Redaktoj kiujn la aŭtoro ne markis kiel \"redakteto\".",
"rcfilters-filter-major-description": "Redaktoj kiujn la aŭtoro ne markis kiel \"redakteto\".",
+ "rcfilters-filter-watchlist-watched-label": "Sur atentaro",
+ "rcfilters-filter-watchlist-watched-description": "Ŝanĝoj al paĝoj sur via atentaro.",
+ "rcfilters-filter-watchlist-watchednew-label": "Nova ŝanĝoj en la atentaro",
+ "rcfilters-filter-watchlist-watchednew-description": "Ŝanĝoj al priatentataj paĝoj kiujn vi ne vizitis ekde kiam la ŝanĝoj okazis.",
+ "rcfilters-filter-watchlist-notwatched-label": "Ne sur la atentaro",
+ "rcfilters-filter-watchlist-notwatched-description": "Ĉio krom ŝanĝoj al viaj priatentataj paĝoj.",
+ "rcfilters-filtergroup-watchlistactivity": "Agado en la atentaro",
+ "rcfilters-filter-watchlistactivity-unseen-label": "Nevidataj ŝanĝoj",
+ "rcfilters-filter-watchlistactivity-unseen-description": "Ŝanĝoj al paĝoj kiujn vi ne vizitis ekde kiam la ŝanĝoj okazis.",
+ "rcfilters-filter-watchlistactivity-seen-label": "Viditaj ŝanĝoj",
+ "rcfilters-filter-watchlistactivity-seen-description": "Ŝanĝoj al paĝoj kiujn vi vizitis ekde kiam la ŝanĝoj okazis.",
"rcfilters-filtergroup-changetype": "Tipo de ŝanĝo",
"rcfilters-filter-pageedits-label": "Redaktoj de paĝoj",
"rcfilters-filter-pageedits-description": "Redaktoj al vikia enhavo, diskutoj, kategoriaj priskriboj…",
"rcfilters-filter-categorization-description": "Registroj de paĝoj aldonitaj aŭ forigitaj de kategorioj",
"rcfilters-filter-logactions-label": "Registritaj agoj",
"rcfilters-filter-logactions-description": "Administraciaj agoj, kontaj kreoj, paĝaj forigoj, alŝutoj…",
+ "rcfilters-filtergroup-lastRevision": "Lastaj revizioj",
+ "rcfilters-filter-lastrevision-label": "Lasta revizio",
+ "rcfilters-filter-lastrevision-description": "Nur la plej lasta ŝanĝo al paĝo.",
+ "rcfilters-filter-previousrevision-label": "Ne la lasta revizio",
+ "rcfilters-filter-previousrevision-description": "Ĉiuj ŝanĝoj kiu ne estas la \"lasta revizio\".",
+ "rcfilters-filter-excluded": "Ekskludita",
+ "rcfilters-liveupdates-button": "Aŭtomata ĝisdatigo",
+ "rcfilters-liveupdates-button-title-on": "Malŝalti aŭtomatajn ĝisdatigojn",
+ "rcfilters-liveupdates-button-title-off": "Montri novajn ŝanĝojn dum ili okazas",
"rcfilters-watchlist-markseen-button": "Marku ĉiujn ŝanĝojn viditaj",
+ "rcfilters-watchlist-edit-watchlist-button": "Redakti vian atentaron",
"rcnotefrom": "Malsupre estas la {{PLURAL:$5|ŝanĝo|ŝanĝoj}} ekde <strong>$3, $4</strong> (montrante ĝis <strong>$1</strong>).",
"rclistfrom": "Montri novajn ŝanĝojn ekde \"$3 $2\"",
"rcshowhideminor": "$1 etajn redaktojn",
"prefs-signature": "Ստորագրություն",
"prefs-dateformat": "Ամսաթվի ձևաչափ",
"prefs-timeoffset": "Ժամային տարբերություն",
- "prefs-advancedediting": "Ընդլայնված ընրանքներ",
+ "prefs-advancedediting": "Ընդլայնված ընտրանքներ",
"prefs-editor": "Խմբագիր",
"prefs-preview": "Նախադիտել",
- "prefs-advancedrc": "Ընդլայնված ընրանքներ",
- "prefs-advancedrendering": "Ընդլայնված ընրանքներ",
- "prefs-advancedsearchoptions": "Ընդլայնված ընրանքներ",
- "prefs-advancedwatchlist": "Ընդլայնված ընրանքներ",
+ "prefs-advancedrc": "Ընդլայնված ընտրանքներ",
+ "prefs-advancedrendering": "Ընդլայնված ընտրանքներ",
+ "prefs-advancedsearchoptions": "Ընդլայնված ընտրանքներ",
+ "prefs-advancedwatchlist": "Ընդլայնված ընտրանքներ",
"prefs-displayrc": "Ցուցադրման ընտրանքներ",
"prefs-displaywatchlist": "Ցուցադրման ընտրանքներ",
"prefs-diffs": "Տարբերություններ",
"passwordtooshort": "Le password devono contenere almeno {{PLURAL:$1|1 carattere|$1 caratteri}}.",
"passwordtoolong": "La password non può contenere più di {{PLURAL:$1|1 carattere|$1 caratteri}}.",
"passwordtoopopular": "Password comuni non possono essere usate. Scegli una password più difficile da indovinare.",
+ "passwordinlargeblacklist": "La password inserita è nell'elenco delle password utilizzate più comunemente. Si prega di scegliere una password più unica.",
"password-name-match": "La password deve essere diversa dal nome utente.",
"password-login-forbidden": "L'uso di questo nome utente e password è stato proibito.",
"mailmypassword": "Reimposta password",
"passwordpolicies-policy-passwordcannotmatchblacklist": "La password non può corrispondere a password specificate nell'elenco delle password proibite",
"passwordpolicies-policy-maximalpasswordlength": "La password deve essere lunga meno di $1 {{PLURAL:$1|carattere|caratteri}}",
"passwordpolicies-policy-passwordcannotbepopular": "La password non può essere {{PLURAL:$1|la password più popolare|nell'elenco delle $1 password più popolari}}",
+ "passwordpolicies-policy-passwordnotinlargeblacklist": "La password non può essere nell'elenco delle 100 000 password utilizzate più comunemente.",
"unprotected-js": "Per motivi di sicurezza, non è possibile caricare JavaScript da pagine non protette. Crea javascript solo nel namespace MediaWiki o come sottopagina Utente"
}
"deletereason-dropdown": "*Causae deletionum communes\n** Spam\n** Vandalismus\n** Violatio verborum privatorum\n** Desiderium auctoris\n** Redirectio fracta",
"delete-edit-reasonlist": "Causas deletionum recensere",
"rollback": "Reverti mutationes",
- "rollbacklink": "reverti",
+ "rollbacklink": "Plura statim revertere",
"rollbacklinkcount": "reverti {{PLURAL:$1|unam recensionem|$1 recensiones}}",
"rollbacklinkcount-morethan": "reverti plus quam {{PLURAL:$1|unam recensionem|$1 recensiones}}",
"rollbackfailed": "Reversum defecit",
"Tulsi Bhagat",
"Macofe",
"राम प्रसाद जोशी",
- "Fitoschido"
+ "Fitoschido",
+ "Haribanshi"
]
},
"tog-underline": "लिङ्कके रेखाङ्कित करी:",
"savechanges": "रक्षण करी",
"publishpage": "पृष्ठ प्रकाशित करी",
"publishchanges": "परिवर्तन प्रकाशित करी",
+ "savearticle-start": "पन्नाक रक्षण करू",
"preview": "पूर्वावलोकन",
"showpreview": "पूर्वप्रदर्शन",
"showdiff": "परिवर्तन देखाबी",
"revdelete-unsuppress": "पुनर्स्थापित संशोधन लेल प्रतिबन्ध हटाबी",
"revdelete-log": "कारण:",
"revdelete-submit": "चयनित {{PLURAL:$1|संसोधन|संसोधनसभ}} पर लागू करी",
- "revdelete-success": "'''संशोधन दृश्यता सफलतापूर्वक अद्यतन कएल गेल।'''",
+ "revdelete-success": "संशोधन दृश्यता सफलतापूर्वक अद्यतन कएल गेल।",
"revdelete-failure": "संशोधन दृश्यता अद्यतन नै कएल जा सकल: $1",
- "logdelete-success": "'''वृत्तलेख दृश्यता सफलतासँ निर्धारित भेल।'''",
+ "logdelete-success": "वृत्तलेख दृश्यता सफलतासँ निर्धारित भेल।",
"logdelete-failure": "'''वृत्तलेख दृश्यता निर्धारित नै भऽ सकल।'''$1",
"revdel-restore": "दृष्टिकुशलता बदली",
"pagehist": "पन्नाक इतिहास",
"username": "{{GENDER:$1|प्रयोगकर्तानाम}}:",
"prefs-memberingroups": "निम्नलिखित {{PLURAL:$1|समूह|समूहसभ}}क {{GENDER:$2|सदस्य}}:",
"prefs-memberingroups-type": "$1",
+ "group-membership-link-with-expiry": "$1 ($2 तक)",
"prefs-registration": "पञ्जीकरणक समए:",
"prefs-registration-date-time": "$1",
"yourrealname": "असली नाम:",
"prefs-dateformat": "तिथि प्रारूप",
"prefs-timeoffset": "समए संशोधक",
"prefs-advancedediting": "विशिष्ट विकल्प सभ",
+ "prefs-developertools": "डेवलपर उपकरण",
"prefs-editor": "सम्पादक",
"prefs-preview": "पूर्वावलोकन",
"prefs-advancedrc": "विशिष्ट विकल्पसभ",
"prefs-advancedwatchlist": "विशिष्ट विकल्पसभ",
"prefs-displayrc": "दृश्य विकल्पसभ",
"prefs-displaywatchlist": "दृश्य विकल्पसभ",
+ "prefs-changesrc": "बदलेलहा देखाल",
"prefs-tokenwatchlist": "टोकन",
"prefs-diffs": "अन्तर",
"prefs-help-prefershttps": "इ प्राथमिकता अहाँके फेर स सम्प्रवेश करलाक बाद प्रभाव पडत।",
"userrights": "प्रयोक्ता अधिकारक प्रबन्धन",
"userrights-lookup-user": "प्रयोक्ता समूहसभक प्रबन्ध करी",
"userrights-user-editname": "एकटा प्रयोक्तानाम लिखी:",
- "editusergroup": "{{GENDER:$1|सदस्य}} समूहसभक सम्पादन करी",
+ "editusergroup": "प्रयोगकर्ता समूह देखालजाय",
"editinguser": "सदस्य '''[[User:$1|$1]]''' $2 क अधिकार बदलि\n{{GENDER:$1|सदस्य}}क सदस्य अधिकार बदलल जा रहल अछि <strong>[[User:$1|$1]]</strong> $2",
"userrights-editusergroup": "प्रयोगकर्ता समूह सम्पादित करी",
"saveusergroups": "{{GENDER:$1|सदस्य}} समूह सङ्ग्रह करी",
"group-autoconfirmed": "स्वतःअनुमोदित प्रयोक्ता",
"group-bot": "स्वचालक",
"group-sysop": "प्रबन्धक",
+ "group-interface-admin": "इंटरफ़ेस प्रशासक",
"group-bureaucrat": "अधिकारी",
"group-suppress": "नुकाबए वाला",
"group-all": "(सभ)",
"group-autoconfirmed-member": "{{GENDER:$1|स्वतः स्थापित प्रयोगकर्ता}}",
"group-bot-member": "{{GENDER:$1|बोट}}",
"group-sysop-member": "{{GENDER:$1|प्रबन्धक}}",
+ "group-interface-admin-member": "{{GENDER:$1|इंटरफ़ेस प्रशासक}}",
"group-bureaucrat-member": "{{GENDER:$1|प्रशासक}}",
"group-suppress-member": "{{GENDER:$1|नुकाए वाला}}",
"grouppage-user": "{{ns:project}}:प्रयोगकर्तासभ",
"grouppage-autoconfirmed": "{{ns:project}}:स्वतःअनुमोदित प्रयोक्ता",
"grouppage-bot": "{{ns:project}}:स्वचालक",
"grouppage-sysop": "{{ns:project}}:प्रबन्धक",
+ "grouppage-interface-admin": "{{ns:project}}:इंटरफ़ेस प्रशासक",
"grouppage-bureaucrat": "{{ns:project}}:अधिकारी",
"grouppage-suppress": "{{ns:project}}:नुकाबी",
"right-read": "पन्ना सभ पढ़ू",
"grant-createaccount": "खाता खोलल जाए",
"grant-createeditmovepage": "निर्माण, सम्पादन, आ स्थानान्तरण करनाए",
"grant-delete": "लेख, अवतरण आ लग हटेनाए",
- "grant-editinterface": "मिडियाविकि नामस्थान आ सदस्य सिएसएस/जेएस सम्पादित करनाए",
+ "grant-editinterface": "मिडियाविकि नामस्थान आ सदस्य सिएसएस/जेएस सम्पादित",
"grant-editmycssjs": "अपन सदस्य सिएसएस/जेएस सम्पादित करी",
"grant-editmyoptions": "अपन सदस्य पसन्द सम्पादित करी",
"grant-editmywatchlist": "अपन साकांक्षसूची सम्पादित करी",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|नव पन्नसभक सूची]] सेहो देखी)",
"recentchanges-submit": "देखाबी",
"rcfilters-legend-heading": "<strong>सङ्केतक सूची:</strong>",
+ "rcfilters-activefilters-hide": "नुकाबी",
+ "rcfilters-activefilters-show": "देखाबी",
+ "rcfilters-limit-title": "परिणाम देखाबी",
+ "rcfilters-savedqueries-rename": "नाम बदलु",
+ "rcfilters-savedqueries-setdefault": "मूल के रूप मे राखु",
+ "rcfilters-savedqueries-remove": "मेटाबी",
+ "rcfilters-savedqueries-new-name-label": "नाम",
+ "rcfilters-savedqueries-new-name-placeholder": "फ़िल्टर के उद्देश्य बताबु",
+ "rcfilters-savedqueries-apply-label": "फ़िल्टर बनाबु",
+ "rcfilters-savedqueries-cancel-label": "रद्द करु",
+ "rcfilters-clear-all-filters": "फ़िल्टरसभ मिटाबु",
+ "rcfilters-filterlist-title": "चलनीसभ",
+ "rcfilters-highlightmenu-title": "रंग चुनु",
+ "rcfilters-filter-editsbyself-label": "अहाक बदलावसभ",
+ "rcfilters-filter-editsbyself-description": "अहाक अपन योगदान।",
+ "rcfilters-filter-user-experience-level-registered-label": "पंजीकृत:",
+ "rcfilters-filter-user-experience-level-registered-description": "लॉग-इन संपादकसभ।",
+ "rcfilters-filter-user-experience-level-unregistered-label": "अपंजीकृत",
+ "rcfilters-filter-user-experience-level-newcomer-label": "अपरिचित",
+ "rcfilters-filter-user-experience-level-learner-label": "शिक्षार्थिसभ",
+ "rcfilters-filter-user-experience-level-experienced-label": "अनुभवी सदस्यसभ",
+ "rcfilters-filter-bots-label": "स्वचालक",
+ "rcfilters-filter-bots-description": "स्वचालित औजार से करलहा सम्पादनसभ।",
+ "rcfilters-filtergroup-reviewstatus": "पुनरीक्षण स्थिति",
+ "rcfilters-filter-reviewstatus-unpatrolled-label": "अपरीक्षित",
+ "rcfilters-filter-reviewstatus-auto-label": "सवापरिक्षित",
+ "rcfilters-filter-minor-label": "छोट सम्पादन",
+ "rcfilters-filter-watchlist-watched-label": "साकांक्षसूची",
+ "rcfilters-filter-watchlistactivity-seen-label": "परिवर्तन सभ चुनु",
+ "rcfilters-filtergroup-changetype": "बदल क प्रकार:",
+ "rcfilters-filter-pageedits-label": "पन्नाक संपादनसभ",
"rcnotefrom": "नीचाँमे '''$2''' सँ भेल परिवर्तन अछि ('''$1''' धरि देखाएल)।",
"rclistfrom": "$3 $2 सँ शुरू भेल नव परिवर्तन देखी",
"rcshowhideminor": "$1 अल्प सम्पादन",
"watchlistedit-normal-done": "Í-keng uì lí ê kám-sī-toaⁿ soá {{PLURAL:$1|ia̍h}} cháu:",
"watchlisttools-edit": "Khoàⁿ koh kái kàm-sī-toaⁿ",
"watchlisttools-raw": "Kái chhiⁿ ê kàm-sī-toaⁿ",
+ "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|thó-lūn]])",
"duplicate-defaultsort": "'''Thê-chhíⁿ lí:'''Siat-piān ê pâi-lia̍t hong-sek \"$2\" thè-oāⁿ chìn-chêng ê siat-piān ê pâi-lia̍t hong-sek \"$1\".",
"version": "Pán-pún",
"specialpages": "Te̍k-sû-ia̍h",
"rcfilters-filter-watchlist-notwatched-label": "Nun sta ncopp'ê ppaggene cuntrullate",
"rcfilters-filtergroup-lastRevision": "Ùrdeme verziune",
"rcfilters-filter-lastrevision-label": "Verzione 'e mmo",
+ "rcfilters-watchlist-markseen-button": "Segna tutt'ê cagni comme visti",
"rcfilters-watchlist-edit-watchlist-button": "Càgna 'e lista tuia d'ê paggene cuntrullate",
+ "rcfilters-watchlist-showupdated": "'E càgne 'e ppaggene ca nun hê visto songo signati 'n <strong>niro</strong> e c'ê ppalluccelle chiene.",
+ "rcfilters-target-page-placeholder": "Scrivi 'o nomme 'e na paggene (o na categuria)",
"rcnotefrom": "Ccà abbascio {{PLURAL:$5|è alencato 'o cagnamiento appurtato|song' alincate 'e cagnamiente appurtate}} 'a <strong>$3, $4</strong> (mmustate nfin'a <strong>$1</strong>).",
"rclistfrom": "Faje vedé 'e cagnamiénte fatte a partì 'a $3 $2",
"rcshowhideminor": "$1 'e cagnamiénte piccerille",
"uploadstash-refresh": "Agghiuorna l'elenco d' 'e file",
"uploadstash-thumbnail": "vide miniatura",
"uploadstash-exception": "Nun s'è pututo sarvà 'a càrreca dint' 'a stash ($1): \"$2\".",
+ "uploadstash-bad-path-unknown-type": "Tipo \"$1\" scanosciuto",
+ "uploadstash-bad-path-bad-format": "'A chiave \"$1\" nun sta scritta bona.",
+ "uploadstash-file-not-found": "N'aggio truvato 'a chiave \"$1\".",
+ "uploadstash-file-not-found-no-thumb": "Nun pozzo fà 'a fiùrella.",
+ "uploadstash-file-not-found-no-remote-thumb": "N'aggio truvato 'a figurella: $1 URL = $2",
"invalid-chunk-offset": "Distanza d' 'a parte nun valida",
"img-auth-accessdenied": "Acciesso negato",
"img-auth-nopathinfo": "PATH_INFO mancante.\n'O server nun è mpustato pe' passà sta nfurmazione.\nPuò darse ca, essenno basato ncopp'a CGI, nun putesse suppurtà img_auth.\nVide https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization",
"http-timed-out": "Richieste HTTP fore tiempo.",
"http-curl-error": "Errore analizzanno l'URL: $1",
"http-bad-status": "C'è stato nu probblema pe' tramente ca se faceva 'a richiesta HTTP: $1, $2",
+ "http-internal-error": "Errore interno HTTP.",
"upload-curl-error6": "Nun se riesce 'arrevà a l'URL",
"upload-curl-error6-text": "A l'URL c'avete scritto nun se può arrevà.\nPe' piacere, cuntrullate ca l'URL è curretta e ca 'o sito è appicciato.",
"upload-curl-error28": "Fore tiempo p' 'a carreca",
"listfiles_size": "Dimenzione",
"listfiles_description": "Descrizzione",
"listfiles_count": "Verziune",
- "listfiles-show-all": "Nclude 'e verziune viecchie 'e ll'immaggene",
+ "listfiles-show-all": "Nclude 'e verziune viecchie 'e ffiùre",
"listfiles-latestversion": "Verzione 'e mo",
"listfiles-latestversion-yes": "Sì",
"listfiles-latestversion-no": "No",
"apisandbox-dynamic-error-exists": "Nu parametro denommenato \"$1\" esiste già.",
"apisandbox-deprecated-parameters": "Parametri obsoleti",
"apisandbox-fetch-token": "Auto-ghienche 'o token",
+ "apisandbox-add-multi": "Azzecca",
"apisandbox-submit-invalid-fields-title": "Cocche campo nun è buono",
"apisandbox-submit-invalid-fields-message": "Pe' piacere curriggite 'e campe nzegnàte e tentate n'ata vota.",
"apisandbox-results": "Rezurtate",
"apisandbox-loading-results": "Ricezione d' 'e risultate 'e ll'API 'ncurzo...",
"apisandbox-results-error": "N'errore cumparette pe' tramente ca se steva carrecanno na risposta 'e query API: $1.",
"apisandbox-request-url-label": "URL addimannata:",
+ "apisandbox-request-json-label": "Spiata JSON:",
"apisandbox-request-time": "Tiempo addimannato: {{PLURAL:$1|$1 ms}}",
"apisandbox-results-fixtoken": "Curregge 'e token e manna n'ata vota",
"apisandbox-results-fixtoken-fail": "Scassaje a se piglià 'o token \"$1\".",
"apisandbox-alert-field": "'O valore int'a stu campo nun è valido.",
"apisandbox-continue": "Annanze",
"apisandbox-continue-clear": "Pulezza",
+ "apisandbox-continue-help": "{{int:apisandbox-continue}} [https://www.mediawiki.org/wiki/API:Query#Continuing_queries continuarrà] l'urtima spiata; {{int:apisandbox-continue-clear}} pulezzarrà 'e parametri pe 'i annanzi.",
+ "apisandbox-param-limit": "Scrivi <kbd>max</kbd> p'ausà 'o limmete massimo.",
"apisandbox-multivalue-all-namespaces": "$1 (Tutt'ê namespace)",
"apisandbox-multivalue-all-values": "$1 (Tutt'ê valuri)",
"booksources": "Funte libbrarie",
"booksources-search": "Ascìa",
"booksources-text": "Ccà abbascio ce sta na lista 'e cullegamiente a l'ati site ca venneno libbre nuove e viecchie, ca putessero pure avé cchiù nfurmaziune ncopp' 'e libbre ca jate ascianno:",
"booksources-invalid-isbn": "L'ISBN c'avete miso nun pare bbuono; cuntrolla si ce sta cocch'errore quanno stavate cupianno stu nummero d' 'a fonte origginale.",
+ "magiclink-tracking-rfc": "Paggene c'ausano jonte RFC affattorate",
+ "magiclink-tracking-rfc-desc": "Sta paggena ausa jonte RFC affattorate. Vire [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] p' 'a migrazione.",
+ "magiclink-tracking-pmid": "Paggene c'ausano jonte RMID affattorate",
+ "magiclink-tracking-pmid-desc": "Sta paggena ausa jonte PMID affattorate. Vire [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] p' 'a migrazione.",
+ "magiclink-tracking-isbn": "Paggene c'ausano jonte ISBN affattorate",
+ "magiclink-tracking-isbn-desc": "Sta paggena ausa jonte ISBN affattorate. Vire [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] p' 'a migrazione.",
"specialloguserlabel": "Mplementatore:",
"speciallogtitlelabel": "Destinazione (titolo o {{ns:user}}:cunto utente pe' ll'utente):",
"log": "Logs",
"cachedspecial-refresh-now": "Vide l'urdeme.",
"categories": "Categurìe",
"categories-submit": "Faje vedé",
- "categoriespagetext": "{{PLURAL:$1|'A categurìa 'nnecata 'e seguito cuntiene|'E categurìe 'nnecate 'e seguito cuntengono}} paggene o file multimediale.\n'E [[Special:UnusedCategories|categurìe vuote]] nun song mostrate ccà.\nVere anche 'e [[Special:WantedCategories|categurìe richieste]].",
+ "categoriespagetext": "{{PLURAL:$1|'A categurìa 'nnecata 'e seguito esiste|'E categurìe 'nnecate 'e seguito esistono}} ncopp'a sta wiki, ca s'ausano o no.\nVire purzì 'e [[Special:WantedCategories|categurìe richieste]].",
"categoriesfrom": "Fà vedè 'e categurìe partenno 'a:",
"deletedcontributions": "Contribbute utente scancellate",
"deletedcontributions-title": "Contribbute utente scancellate",
"activeusers-intro": "Chest'è n'elenco d'utente c'hanno fatto cierti tipe d'attività nfin'a $1 {{PLURAL:$1|juorno|ghiuorne}} fa.",
"activeusers-count": "$1 {{PLURAL:$1|cagnamiento|cagnamiente}} int'a l'urdeme {{PLURAL:$3|ghiuorne}}",
"activeusers-from": "Fà vedè l'utente partenno 'a:",
+ "activeusers-groups": "Fa verè l'utenti ca stanno int'ê gruppi:",
+ "activeusers-excludegroups": "Nun fa verè ll'utenti che stanno int'ê gruppi:",
"activeusers-noresult": "Nisciun'utente truvato.",
"activeusers-submit": "Mmusta cunte attive",
"listgrouprights": "Deritte d' 'e gruppe utente",
"emailccsubject": "Copia d' 'a mmasciata tua 'a $1: $2",
"emailsent": "Mmasciata e-mail mannata",
"emailsenttext": "'A mmasciata d' 'a toja s'è mannata.",
- "emailuserfooter": "Chista mmasciata e-mail è stata {{GENDER:$1|mannata}} 'a $1 a {{GENDER:$2|$2}} p' 'a funziona \"{{int:emailuser}}\" 'e {{SITENAME}}.",
+ "emailuserfooter": "Chista mmasciata e-mail venette {{GENDER:$1|mannata}} 'a $1 a {{GENDER:$2|$2}} p' 'a funziona \"{{int:emailuser}}\" 'e {{SITENAME}}. Si {{GENDER:$2|ttu}} risponni a st'e-mail, l'e-mail {{GENDER:$2|toia}} sarrà mannata a {{GENDER:$1|chi t'ha scritto}}, mustranno 'o 'ndirizzo 'e posta {{GENDER:$2|tuoio}} a {{GENDER:$1|}}.",
"usermessage-summary": "Lassanno na mmasciata 'e sistema.",
"usermessage-editor": "Mmasciatore d' 'o sistema",
"watchlist": "Paggene cuntrullate",
"enotif_body_intro_moved": "'A paggena $1 'e {{SITENAME}} è stata cagnata 'e posto ncopp'a $PAGEEDITDATE 'a {{gender:$2|$2}}, vedite $3 p' 'a verzione 'e mo.",
"enotif_body_intro_restored": "'A paggena $1 'e {{SITENAME}} è stata arripigliata ncopp'a $PAGEEDITDATE 'a {{gender:$2|$2}}, vedite $3 p' 'a verzione 'e mo.",
"enotif_body_intro_changed": "'A paggena $1 'e {{SITENAME}} è stata cagnata ncopp'a $PAGEEDITDATE 'a {{gender:$2|$2}}, vedite $3 p' 'a verzione 'e mo.",
- "enotif_lastvisited": "Vedite $1 pe' tutt' 'e cagnamiente 'a ll'urdema visita vuosta.",
- "enotif_lastdiff": "Vedite $1 pe' vedè stu cagnamiento.",
+ "enotif_lastvisited": "Vedite $1 pe' tutt' 'e cagnamiente 'a ll'urdema visita vuosta",
+ "enotif_lastdiff": "Pe vedè stu cagnamiento, vire $1.",
"enotif_anon_editor": "Utente anonimo $1",
"enotif_body": "Caro $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nRiepilego 'e cagnamiente: $PAGESUMMARY $PAGEMINOREDIT\n\nCuntattate l'autore:\ne-mail: $PAGEEDITOR_EMAIL\nncopp' 'o sito: $PAGEEDITOR_WIKI\n\nNun se mannarranno ati notifiche si facite cocch'at'attività senza venì a sta paggena.\nPutite pure cagnà 'e mpustaziune 'e notifeca pe' tutt' 'e paggene cuntrullate dint' 'a l'elenco.\n\nStatteve Bbuon, 'o sistema 'e notifiche ncopp' 'a {{SITENAME}} vuosto\n\n--\nPe' cagnà 'e mpustaziune d' 'e notifiche 'e mmasciate elettroniche, jate ccà: {{canonicalurl:{{#special:Preferences}}}}\n\nPe' cagnà 'e mpustaziune 'e l'elenco 'e paggene cuntrullate vuoste jate ccà: {{canonicalurl:{{#special:EditWatchlist}}}}\n\nPe' scancellà l'elenco 'e paggene cuntrullate vedite $UNWATCHURL\n\nSegnalaziune e at'assistenze:\n$HELPPAGE",
"enotif_minoredit": "Chisto è nu cagnamiénto piccerillo",
"modifiedarticleprotection": "'o livello 'e prutezione è stato cagnato pe' \"[[$1]]\"",
"unprotectedarticle": "sprutetto 'a \"[[$1]]\"",
"movedarticleprotection": "'mpustaziune 'e protezzione spustate 'a \"[[$2]]\" a \"[[$1]]\"",
+ "protectedarticle-comment": "{{GENDER:$2|Pruteggette}} \"[[$1]]\"",
+ "modifiedarticleprotection-comment": "{{GENDER:$2|Cagnaje 'a prutezione}} pe \"[[$1]]\"",
+ "unprotectedarticle-comment": "{{GENDER:$2|Levaie 'a protezione}} 'a \"[[$1]]\"",
"protect-title": "Cagna 'o livello 'e prutezione pe' \"[[$1]]\"",
"protect-title-notallowed": "Fà vedé 'o livello 'e prutezione pe' \"$1\"",
"prot_1movedto2": "ha spustato [[$1]] a [[$2]]",
"uctop": "attuale",
"month": "D' 'o mese (e pure cchiù primma):",
"year": "'E ll'anno (e primma):",
+ "date": "'A data (e tanno)",
"sp-contributions-newbies": "Mosta solo 'e contribbute dde nove utente",
"sp-contributions-newbies-sub": "Pe' l'utente nuove",
"sp-contributions-newbies-title": "Contribbute 'a l'utente nuove",
"sp-contributions-blocklog": "blocche",
"sp-contributions-suppresslog": "contribbute utente scancellate",
- "sp-contributions-deleted": "contribbute d'utente scancellate",
+ "sp-contributions-deleted": "contribbute 'e l'{{GENDER:$1|utente}} scancellate",
"sp-contributions-uploads": "carreche",
"sp-contributions-logs": "riggistre",
"sp-contributions-talk": "Chiàcchiera",
"passwordtooshort": "Passord må ha minst {{PLURAL:$1|ett tegn|$1 tegn}}.",
"passwordtoolong": "Passord kan ikke overskride {{PLURAL:$1|1 character|$1 characters}}.",
"passwordtoopopular": "Hyppig brukte passord kan ikke brukes. Vennligst bruk et mer unikt passord.",
+ "passwordinlargeblacklist": "Passordet du skrev inn er på en liste over veldig vanlige passord. Velg et mer unikt passord.",
"password-name-match": "Passord og brukernavn kan ikke være det samme.",
"password-login-forbidden": "Bruken av dette brukernavnet og passordet er forbudt.",
"mailmypassword": "Tilbakestill passord",
"rcfilters-watchlist-markseen-button": "Merk alle endringer som sett.",
"rcfilters-watchlist-edit-watchlist-button": "Rediger listen over sider du overvåker",
"rcfilters-watchlist-showupdated": "Endringer til sider du ikke har besøkt siden endringene ble gjort vises med <strong>fet</strong> skrift.",
- "rcfilters-preference-label": "Skjul den forbedrede versjonen av siste endringer",
- "rcfilters-preference-help": "Fjerner grensesnittendringen fra 2017 og alle verktøyene som ble lagt fra og med da.",
- "rcfilters-watchlist-preference-label": "Skjul den forbedrede versjonen av overvåkningslisten",
- "rcfilters-watchlist-preference-help": "Ruller tilbake det omarbeidede grensesnittet fra 2017 og alle verktøy som ble lagt til da og etterpå.",
+ "rcfilters-preference-label": "Bruk grensesnitt uten JavaScript",
+ "rcfilters-preference-help": "Laster siste endringer uten filtre eller markeringsfunksjonalitet.",
+ "rcfilters-watchlist-preference-label": "Bruk grensesnitt uten JavaScript",
+ "rcfilters-watchlist-preference-help": "Laster overvåkningslisten uten filtre eller markeringsfunksjonalitet.",
"rcfilters-filter-showlinkedfrom-label": "Vis endringer på sider som lenkes fra",
"rcfilters-filter-showlinkedfrom-option-label": "<strong>Sider som lenkes fra</strong> den valgte siden",
"rcfilters-filter-showlinkedto-label": "Vis endringer på sider som lenker til",
"logentry-block-reblock": "$1 {{GENDER:$2|endret}} blokkeringsinnstillingen av {{GENDER:$4|$3}} med en utløpstid på $5 $6",
"logentry-partialblock-block": "$1 {{GENDER:$2|blokkerte}} {{GENDER:$4|$3}} fra å redigere {{PLURAL:$8|siden|sidene}} $7 med en utløpstid på $5 $6",
"logentry-partialblock-reblock": "$1 {{GENDER:$2|endret}} blokkeringsinnstillingene for {{GENDER:$4|$3}} og forhindret redigeringen av {{PLURAL:$8|siden|sidene}} $7 med en utløpstid på $5 $6",
- "logentry-non-editing-block-block": "$1 {{GENDER:$2|blokkerte}} {{GENDER:$4|$3}} fra handlinger som ikke er redigering med en utløpstid på $5 $6",
- "logentry-non-editing-block-reblock": "$1 {{GENDER:$2|endret}} blokkeringsinnstillingene for {{GENDER:$4|$3}} for handlinger som ikke er redigering med en utløpstid på $5 $6",
+ "logentry-non-editing-block-block": "$1 {{GENDER:$2|blokkerte}} {{GENDER:$4|$3}} fra visse handlinger som ikke er redigering med en utløpstid på $5 $6",
+ "logentry-non-editing-block-reblock": "$1 {{GENDER:$2|endret}} blokkeringsinnstillingene for {{GENDER:$4|$3}} for visse handlinger som ikke er redigering med en utløpstid på $5 $6",
"logentry-suppress-block": "$1 {{GENDER:$2|blokkerte}} {{GENDER:$4|$3}} med en utløpstid på $5 $6",
"logentry-suppress-reblock": "$1 {{GENDER:$2|endret}} blokkeringsinnstillingen for {{GENDER:$4|$3}} med en utløpstid på $5 $6",
"logentry-import-upload": "$1 {{GENDER:$2|importert}} $3 gjennom filopplastning",
"passwordpolicies-policy-passwordcannotmatchblacklist": "Passordet kan ikke matche spesifikt svartelistede passord",
"passwordpolicies-policy-maximalpasswordlength": "Passordet kan maksimalt være på $1 {{PLURAL:$1|tegn}}",
"passwordpolicies-policy-passwordcannotbepopular": "Passordet kan ikke være {{PLURAL:$1|det populære passordet|i lista over $1 populære passord}}",
+ "passwordpolicies-policy-passwordnotinlargeblacklist": "Passord kan ikke være i listen over de vanligste 100 000 passordene.",
"easydeflate-invaliddeflate": "Det gitte innholdet er ikke riktig komprimert",
"unprotected-js": "Av sikkerhetsårsaker kan ikke JavaScript lastes fra ubeskyttede sider. Bare skap JavaScript i MediaWiki-navnerommet eller som en brukerunderside"
}
"prefs-editor": "Used in [[Special:Preferences]], tab \"Editing\" ({{int:prefs-editing}}).\n\n{{Identical|Editor}}",
"prefs-preview": "Used in [[Special:Preferences]], tab \"Editing\".\n{{Identical|Preview}}",
"prefs-advancedrc": "Used in [[Special:Preferences]], tab \"Recent changes\".\n{{Identical|Advanced options}}",
- "prefs-opt-out": "Used in [[Special:Preferences]], tabs \"Recent changes\" and \"Watchlist\".",
"prefs-advancedrendering": "Used in [[Special:Preferences]], tab \"Appearence\".\n{{Identical|Advanced options}}",
"prefs-advancedsearchoptions": "Used in [[Special:Preferences]], tab \"Search options\".\n{{Identical|Advanced options}}",
"prefs-advancedwatchlist": "Used in [[Special:Preferences]], tab \"Watchlist\".\n{{Identical|Advanced options}}",
"tooltip-whatlinkshere-invert": "Установите этот флажок, чтобы Скрыть ссылки от страниц в выбранном пространстве имен.",
"namespace_association": "Связанное пространство",
"tooltip-namespace_association": "Установите эту отметку, чтобы также включить пространство имён обсуждения (или предметное), связанное с выбранным пространством имён",
- "blanknamespace": "(основное)",
+ "blanknamespace": "(Ð\9eсновное)",
"contributions": "Вклад {{GENDER:$1|участника|участницы}}",
"contributions-title": "Вклад {{GENDER:$1|участника|участницы}} $1",
"mycontris": "Вклад",
"passwordpolicies-policy-passwordcannotmatchblacklist": "Пароль не может совпадать ни с одним паролем, внесённым в чёрный список",
"passwordpolicies-policy-maximalpasswordlength": "Пароль должен быть короче $1 {{PLURAL:$1|символа|символов}}",
"passwordpolicies-policy-passwordcannotbepopular": "Пароль не может соответствовать {{PLURAL:$1|самому часто используемому паролю|какому-либо из $1 самых часто используемых паролей}}",
+ "passwordpolicies-policy-passwordnotinlargeblacklist": "Пароль не может соответствовать какому-либо из 100 000 самых часто используемых паролей.",
"easydeflate-invaliddeflate": "Предоставленное содержимое не спущено надлежащим образом",
"unprotected-js": "По соображениям безопасности JavaScript нельзя загружать с незащищенных страниц. Пожалуйста, создавайте скрипты только в пространстве имён MediaWiki: или как подстраницы участника."
}
"passwordtooshort": "Лозинка мора имати најмање {{PLURAL:$1|један знак|$1 знака|$1 знакова}}.",
"passwordtoolong": "Лозинке не могу бити дуже од {{PLURAL:$1|$1 знака|$1 знакова}}.",
"passwordtoopopular": "Није могуће користити често одабране лозинке. Одаберите лозинку коју је теже погодити.",
+ "passwordinlargeblacklist": "Унесена лозинка је на листи веома често коришћених лозинки. Одаберите јединственију лозинку.",
"password-name-match": "Лозинка се мора разликовати од корисничког имена.",
"password-login-forbidden": "Коришћење овог корисничког имена и лозинке је забрањено.",
"mailmypassword": "Ресетуј лозинку",
"passwordpolicies-policy-passwordcannotmatchblacklist": "Лозинка се не може подударати са лозинкама на црном списку",
"passwordpolicies-policy-maximalpasswordlength": "Лозинка мора да буде краћа од $1 {{PLURAL:$1|знака|знакова}}",
"passwordpolicies-policy-passwordcannotbepopular": "Лозинка не може да буде {{PLURAL:$1|популарна лозинка|на списку $1 популарних лозинки}}",
+ "passwordpolicies-policy-passwordnotinlargeblacklist": "Лозинка не може да буде на листи 100.000 најчешће коришћених лозинки.",
"unprotected-js": "Из безбедносних разлога, JavaScript не може да се учита са незаштићене странице. Само направите JavaScript у именском простору „Медијавики:” или као корисничку подстраницу"
}
"passwordtooshort": "Lösenord måste innehålla minst {{PLURAL:$1|$1 tecken}}.",
"passwordtoolong": "Lösenord kan inte vara längre än {{PLURAL:$1|1 tecken|$1 tecken}}.",
"passwordtoopopular": "Vanliga lösenord kan inte användas. Välj ett lösenord som är svårare att gissa.",
+ "passwordinlargeblacklist": "Det angivna lösenordet är med i en lista över mycket vanliga lösenord. Välj ett unikare lösenord.",
"password-name-match": "Ditt lösenord måste vara olikt ditt användarnamn.",
"password-login-forbidden": "Användningen av dessa användarnamn och lösenord har förbjudits.",
"mailmypassword": "Återställ lösenord",
"rcfilters-watchlist-markseen-button": "Markera alla ändringar som sedda",
"rcfilters-watchlist-edit-watchlist-button": "Redigera din lista över bevakade sidor",
"rcfilters-watchlist-showupdated": "Sidor som har ändrats sedan ditt senaste besök visas i <strong>fetstil</strong> med färgmarkering.",
- "rcfilters-preference-label": "Dölj den förbättrade versionen av Senaste ändringar",
- "rcfilters-preference-help": "Stänger det nydesignade gränssnittet från 2017 och alla verktyg som lades till från och med då.",
- "rcfilters-watchlist-preference-label": "Dölj det förbättrade versionen av bevakningslistan",
- "rcfilters-watchlist-preference-help": "Rullar tillbaka det omdesignade gränssnittet från 2017 och alla verktyg som lades till då och efteråt.",
+ "rcfilters-preference-label": "Använd gränssnitt som inte använder JavaScript",
+ "rcfilters-preference-help": "Läser in senaste ändringarna utan filter eller markeringsfunktionalitet.",
+ "rcfilters-watchlist-preference-label": "Använd gränssnitt som inte använder JavaScript",
+ "rcfilters-watchlist-preference-help": "Läser in bevakningslistan utan filter eller markeringsfunktionalitet.",
"rcfilters-filter-showlinkedfrom-label": "Visa ändringar på sidor som länkas från",
"rcfilters-filter-showlinkedfrom-option-label": "<strong>Sidor som länkas från</strong> den valda sidan",
"rcfilters-filter-showlinkedto-label": "Visa ändringar på sidor som länkar till",
"logentry-block-reblock": "$1 {{GENDER:$2|ändrade}} blockeringsinställningar för {{GENDER:$4|$3}} med en varaktighet på $5 $6",
"logentry-partialblock-block": "$1 {{GENDER:$2|blockerade}} {{GENDER:$4|$3}} från att redigera {{PLURAL:$8||sidorna}} $7 med en varaktighet på $5 $6",
"logentry-partialblock-reblock": "$1 {{GENDER:$2|ändrade}} blockeringsinställningarna för {{GENDER:$4|$3}} som förhindrar redigeringar på {{PLURAL:$8||sidorna}} $7 med en varaktighet på $5 $6",
- "logentry-non-editing-block-block": "$1 {{GENDER:$2|blockerade}} {{GENDER:$4|$3}} från icke-redigerande handlingar med en varaktighet på $5 $6",
- "logentry-non-editing-block-reblock": "$1 {{GENDER:$2|ändrade}} blockeringsinställningarna för {{GENDER:$4|$3}} för icke-redigerande handlingar med en varaktighet på $5 $6",
+ "logentry-non-editing-block-block": "$1 {{GENDER:$2|blockerade}} {{GENDER:$4|$3}} från specificerade icke-redigerande handlingar med en varaktighet på $5 $6",
+ "logentry-non-editing-block-reblock": "$1 {{GENDER:$2|ändrade}} blockeringsinställningarna för {{GENDER:$4|$3}} för specificerade icke-redigerande handlingar med en varaktighet på $5 $6",
"logentry-suppress-block": "$1 {{GENDER:$2|blockerade}} {{GENDER:$4|$3}} med en varaktighet på $5 $6",
"logentry-suppress-reblock": "$1 {{GENDER:$2|ändrade}} blockeringsinställningar för {{GENDER:$4|$3}} med en varaktighet på $5 $6",
"logentry-import-upload": "$1 {{GENDER:$2|importerade}} $3 genom filuppladdning",
"passwordpolicies-policy-passwordcannotmatchblacklist": "Lösenordet kan inte matcha specifikt svartlistade lösenord",
"passwordpolicies-policy-maximalpasswordlength": "Lösenordet måste vara högst $1 {{PLURAL:$1|tecken}} långt",
"passwordpolicies-policy-passwordcannotbepopular": "Lösenordet kan inte vara {{PLURAL:$1|det populäraste lösenordet|i listan över de $1 populäraste lösenorden}}",
+ "passwordpolicies-policy-passwordnotinlargeblacklist": "Lösenordet kan inte vara med i listan över de 100 000 vanligaste lösenorden.",
"easydeflate-invaliddeflate": "Innehåll som tillhandahålls är inte helt komprimerat",
"unprotected-js": "Av säkerhetsskäl kan inte JavaScript läsas in från oskyddade sidor. Skapa endast JavaScript i namnrymden MediaWiki: eller som en användarundersida."
}
"wrongpasswordempty": "ಖಾಲಿ ಪ್ರವೇಶ ಪದ ಕೊರ್ತರ್. ನನ ಒರ ಪ್ರಯತ್ನ ಮಲ್ಪುಲೆ.",
"passwordtooshort": "ಪ್ರವೇಶ ಪದಟ್ ಕನಿಷ್ಟ {{PLURAL:$1|೧ ಅಕ್ಷರ|$1 ಅಕ್ಷರರೊಳೆನ್}} ಉಪ್ಪೊಡ್",
"passwordtoolong": "ಪ್ರವೇಸೊ ಪದೊಟು ಕನಿಸ್ಟೊ {{PLURAL:$1|೧ ಅಕ್ಷರ|$1 ಅಕ್ಷರರೊಲು}} ಉಪ್ಪೊಡ್",
+ "passwordinlargeblacklist": "ಸೇರಾಯಿನ ಪ್ರವೇಶಪದ ಅತಿ ಸಾಮಾನ್ಯವಾದ್ ಬಳಕೆ ಮಲ್ಪುನ ಪ್ರವೇಶಪದೊಕುಲೆನ ಒಂಜಿ ಪಟ್ಟಿಡ್ ಉಂಡು.ದಯಮಲ್ತ್ ಬೇತೆ ಅನನ್ಯ ಪ್ರವೇಶಪದೊನು ಆಯ್ಕೆ ಮಲ್ಪುಲೆ.",
"password-name-match": "ಇರೆನ್ ಪ್ರವೇಶಪದ ಬಳಕೆದಾರೆನ ಪುದರ್‘ಡ್‘ದ್ ಬೇತೆ ಉಪ್ಪೊಡು",
"password-login-forbidden": "ಈ ಪ್ರವೇಶಪದ ಬೊಕ್ಕ ಬಳಕೆದಾರೆರೆನ ಪುದರ್‘ನ್ ನಿಷಿದ್ಧ ಮಲ್ತ್‘ದ್ಂಡ್",
"mailmypassword": "ಪ್ರವೇಸೊ ಪದೊನ್ ಪಿರ ಸ್ತಾಪನೆ ಮಲ್ಪುಲೆ",
"mw-widgets-usersmultiselect-placeholder": "ನನಾತ್ ಸೇರಲೇ...",
"date-range-from": "ತಾರಿಕ್ಡ್ದ್:",
"date-range-to": "ತಾರಿಕ್ ಮುಟ:",
- "randomrootpage": "ಒವ್ವಾಂಡಲ ಮೂಲಪುಟೊ"
+ "randomrootpage": "ಒವ್ವಾಂಡಲ ಮೂಲಪುಟೊ",
+ "passwordpolicies-policy-passwordnotinlargeblacklist": "ಪ್ರವೇಶಪದ ಅತಿ ಸಾಮಾನ್ಯವಾದ್ ಬಳಕೆ ಮಲ್ಪುನ ೧೦೦,೦೦೦ ಪದೊಕುಲೆನ ಪಟ್ಟಿಡ್ ಉಪ್ಪರೆ ಬಲ್ಲಿ."
}
"cantcreateaccount-text": "[[User:$3|$3]] نے اس آئی پی پتہ (<strong>$1</strong>) کی کھاتہ سازی پر پابندی لگا رکھی ہے۔\n\n$3 نے «<em>$2</em>» وجہ بیان کی ہے",
"cantcreateaccount-range-text": "[[User:$3|$3]] نے <strong>$1</strong> رینج کے آئی پی پتوں پر جس میں آپ کا آئی پی پتہ (<strong>$4</strong>) بھی موجود ہے پر پابندی لگا دی ہے۔\n\n$3 نے «<em>$2</em>» وجہ بیان کی ہے",
"viewpagelogs": "اس صفحہ کے نوشتے دیکھیں",
- "nohistory": "اِس صفحہ کیلئے کوئی تدوینی تاریخچہ موجود نہیں ہے.",
+ "nohistory": "اس صفحہ کا ترمیمی تاریخچہ موجود نہیں ہے۔",
"currentrev": "تازہ ترین نسخہ",
"currentrev-asof": "حالیہ نسخہ بمطابق $1",
"revisionasof": "نسخہ بمطابق $1",
"history-feed-title": "تاریخچہ ترمیم",
"history-feed-description": "ویکی پر اِس صفحہ کا تاریخچۂ نظرثانی",
"history-feed-item-nocomment": "بہ $2 $1",
- "history-feed-empty": "درخواست شدہ صفحہ موجود نہیں.\nیا تو یہ ویکی سے حذف کیا گیا ہے اور یا اِس کا نام تبدیل کردیا گیا ہے.\nآپ متعلقہ نئے صفحات کیلئے [[Special:Search|ویکی پر تلاش]] کرسکتے ہیں.",
+ "history-feed-empty": "درخواست کردہ صفحہ موجود نہیں۔\nممکن ہے کہ اسے ویکی سے حذف کر دیا گیا ہو یا اِس کا نام تبدیل کردیا گیا ہو۔\nآپ متعلقہ نئے صفحات کو [[Special:Search|ویکی پر تلاش]] کرسکتے ہیں۔",
"history-edit-tags": "منتخب نظرثانیوں کے ٹیگوں میں ترمیم کریں",
"rev-deleted-comment": "(تبصرہ حذف کی گيا ہے)",
"rev-deleted-user": "(صارف نام حذف کیا گيا ہے)",
}
&:active,
- &.is-on,
- &.mw-ui-checked {
+ &.is-on {
background-color: @activeColor;
border-color: @activeColor;
box-shadow: none;
// Make sure disabled buttons don't have hover and active states
&:hover,
- &:active,
- &.mw-ui-checked {
+ &:active {
background-color: @colorGray12;
color: #fff;
border-color: @colorGray12;
}
&:active,
- &.is-on,
- &.mw-ui-checked {
+ &.is-on {
background-color: @colorGray12;
color: @colorGray1;
border-color: @colorGray7;
box-shadow: none;
}
- &:active,
- &.mw-ui-checked {
+ &:active {
background-color: transparent;
color: @colorButtonTextActive;
border-color: transparent;
color: @colorProgressiveHighlight;
}
- &:active,
- &.mw-ui-checked {
+ &:active {
color: @colorProgressiveActive;
}
color: @colorDestructiveHighlight;
}
- &:active,
- &.mw-ui-checked {
+ &:active {
color: @colorDestructiveActive;
}
$this->assertContains( 'time:20180101000003!', $html );
}
+ public function testSetRevisionParserOutput() {
+ $title = $this->getMockTitle( 3, 21 );
+ $rev = $this->getMockRevision( RevisionStoreRecord::class, $title );
+
+ $options = ParserOptions::newCanonical( 'canonical' );
+ $rr = new RenderedRevision( $title, $rev, $options, $this->combinerCallback );
+
+ $output = new ParserOutput( 'Kittens' );
+ $rr->setRevisionParserOutput( $output );
+
+ $this->assertSame( $output, $rr->getRevisionParserOutput() );
+ $this->assertSame( 'Kittens', $rr->getRevisionParserOutput()->getText() );
+
+ $this->assertSame( $output, $rr->getSlotParserOutput( SlotRecord::MAIN ) );
+ $this->assertSame( 'Kittens', $rr->getSlotParserOutput( SlotRecord::MAIN )->getText() );
+ }
+
public function testNoHtml() {
/** @var MockObject|Content $mockContent */
$mockContent = $this->getMockBuilder( WikitextContent::class )
$this->assertSame( $html, $rr->getSlotParserOutput( SlotRecord::MAIN )->getText() );
}
+ public function testGetRenderedRevision_known() {
+ $renderer = $this->newRevisionRenderer( 100, true ); // use master
+ $title = $this->getMockTitle( 7, 21 );
+
+ $rev = new MutableRevisionRecord( $title );
+ $rev->setId( 21 ); // current!
+ $rev->setUser( new UserIdentityValue( 9, 'Frank', 0 ) );
+ $rev->setTimestamp( '20180101000003' );
+ $rev->setComment( CommentStoreComment::newUnsavedComment( '' ) );
+
+ $text = "uncached text";
+ $rev->setContent( SlotRecord::MAIN, new WikitextContent( $text ) );
+
+ $output = new ParserOutput( 'cached text' );
+
+ $options = ParserOptions::newCanonical( 'canonical' );
+ $rr = $renderer->getRenderedRevision(
+ $rev,
+ $options,
+ null,
+ [ 'known-revision-output' => $output ]
+ );
+
+ $this->assertSame( $output, $rr->getRevisionParserOutput() );
+ $this->assertSame( 'cached text', $rr->getRevisionParserOutput()->getText() );
+ $this->assertSame( 'cached text', $rr->getSlotParserOutput( SlotRecord::MAIN )->getText() );
+ }
+
public function testGetRenderedRevision_old() {
$renderer = $this->newRevisionRenderer( 100 );
$title = $this->getMockTitle( 7, 21 );
$lb->reuseConnection( $db ); // don't care
$db = $lb->getConnection( DB_MASTER ); // local domain connection
- $factory->setDomainPrefix( 'my_' );
+ $factory->setLocalDomainPrefix( 'my_' );
$this->assertEquals( $wgDBname, $db->getDBname() );
$this->assertEquals(
$lb->reuseConnection( $db ); // don't care
- $factory->setDomainPrefix( 'my_' );
+ $factory->setLocalDomainPrefix( 'my_' );
$db = $lb->getConnection( DB_MASTER, [], "$wgDBname-my_" );
$this->assertEquals(