From: jenkins-bot Date: Wed, 17 Jan 2018 10:14:40 +0000 (+0000) Subject: Merge "New namespace MediaWiki\Tests\Maintenance" X-Git-Tag: 1.31.0-rc.0~892 X-Git-Url: http://git.cyclocoop.org/%28?a=commitdiff_plain;h=561b16bc08218184ca29e5ff8b00df8826a1ef6a;hp=c7e8c25e8fd7ec3fa188961fca7361452d9adbb3;p=lhc%2Fweb%2Fwiklou.git Merge "New namespace MediaWiki\Tests\Maintenance" --- diff --git a/includes/CategoriesRdf.php b/includes/CategoriesRdf.php index e19dc2aadb..463f6e846b 100644 --- a/includes/CategoriesRdf.php +++ b/includes/CategoriesRdf.php @@ -37,7 +37,13 @@ class CategoriesRdf { /** * Current version of the dump format. */ - const FORMAT_VERSION = "1.0"; + const FORMAT_VERSION = "1.1"; + /** + * Special page for Dump identification. + * Used as head URI for each wiki's category dump, e.g.: + * https://en.wikipedia.org/wiki/Special:CategoryDump + */ + const SPECIAL_DUMP = 'Special:CategoryDump'; /** * @var RdfWriter */ @@ -84,12 +90,30 @@ class CategoriesRdf { $this->rdfWriter->say( 'rdfs', 'label' )->value( $titletext ); } + /** + * Make URL from title label + * @param string $titleLabel Short label (without namespace) of the category + * @return string URL for the category + */ + public function labelToUrl( $titleLabel ) { + return $this->titleToUrl( Title::makeTitle( NS_CATEGORY, $titleLabel ) ); + } + /** * Convert Title to link to target page. * @param Title $title - * @return string + * @return string URL for the category */ private function titleToUrl( Title $title ) { return $title->getFullURL( '', false, PROTO_CANONICAL ); } + + /** + * Get URI of the dump for this particular wiki. + * @return false|string + */ + public function getDumpURI() { + return $this->titleToUrl( Title::makeTitle( NS_MAIN, self::SPECIAL_DUMP ) ); + } + } diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index ee10a6d340..ab01c5f4d0 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -5158,7 +5158,6 @@ $wgGroupPermissions['user']['sendemail'] = true; $wgGroupPermissions['user']['applychangetags'] = true; $wgGroupPermissions['user']['changetags'] = true; $wgGroupPermissions['user']['editcontentmodel'] = true; -$wgGroupPermissions['user']['sendemail-new-users'] = true; // Implicit group for accounts that pass $wgAutoConfirmAge $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true; diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancer.php b/includes/libs/rdbms/loadbalancer/LoadBalancer.php index e80b9520e5..b01b23f4dd 100644 --- a/includes/libs/rdbms/loadbalancer/LoadBalancer.php +++ b/includes/libs/rdbms/loadbalancer/LoadBalancer.php @@ -146,17 +146,10 @@ class LoadBalancer implements ILoadBalancer { } } - $this->localDomain = isset( $params['localDomain'] ) + $localDomain = isset( $params['localDomain'] ) ? DatabaseDomain::newFromId( $params['localDomain'] ) : DatabaseDomain::newUnspecified(); - // In case a caller assumes that the domain ID is simply -, which is almost - // always true, gracefully handle the case when they fail to account for escaping. - if ( $this->localDomain->getTablePrefix() != '' ) { - $this->localDomainIdAlias = - $this->localDomain->getDatabase() . '-' . $this->localDomain->getTablePrefix(); - } else { - $this->localDomainIdAlias = $this->localDomain->getDatabase(); - } + $this->setLocalDomain( $localDomain ); $this->mWaitTimeout = isset( $params['waitTimeout'] ) ? $params['waitTimeout'] : 10; @@ -821,7 +814,11 @@ class LoadBalancer implements ILoadBalancer { $server = $this->mServers[$i]; $server['serverIndex'] = $i; $server['autoCommitOnly'] = $autoCommit; - $conn = $this->reallyOpenConnection( $server, false ); + if ( $this->localDomain->getDatabase() !== null ) { + // Use the local domain table prefix if the local domain is specified + $server['tablePrefix'] = $this->localDomain->getTablePrefix(); + } + $conn = $this->reallyOpenConnection( $server, $this->localDomain->getDatabase() ); $host = $this->getServerName( $i ); if ( $conn->isOpen() ) { $this->connLogger->debug( "Connected to database $i at '$host'." ); @@ -899,8 +896,6 @@ class LoadBalancer implements ILoadBalancer { // Reuse a free connection from another domain $conn = reset( $this->mConns[$connFreeKey][$i] ); $oldDomain = key( $this->mConns[$connFreeKey][$i] ); - // The empty string as a DB name means "don't care". - // DatabaseMysqlBase::open() already handle this on connection. if ( strlen( $dbName ) && !$conn->selectDB( $dbName ) ) { $this->mLastError = "Error selecting database '$dbName' on server " . $conn->getServer() . " from client host {$this->host}"; @@ -909,7 +904,8 @@ class LoadBalancer implements ILoadBalancer { } else { $conn->tablePrefix( $prefix ); unset( $this->mConns[$connFreeKey][$i][$oldDomain] ); - $this->mConns[$connInUseKey][$i][$domain] = $conn; + // Note that if $domain is an empty string, getDomainID() might not match it + $this->mConns[$connInUseKey][$i][$conn->getDomainId()] = $conn; $this->connLogger->debug( __METHOD__ . ": reusing free connection from $oldDomain for $domain" ); } @@ -929,8 +925,9 @@ class LoadBalancer implements ILoadBalancer { $this->errorConnection = $conn; $conn = false; } else { - $conn->tablePrefix( $prefix ); - $this->mConns[$connInUseKey][$i][$domain] = $conn; + $conn->tablePrefix( $prefix ); // as specified + // Note that if $domain is an empty string, getDomainID() might not match it + $this->mConns[$connInUseKey][$i][$conn->getDomainID()] = $conn; $this->connLogger->debug( __METHOD__ . ": opened new connection for $i/$domain" ); } } @@ -960,22 +957,22 @@ class LoadBalancer implements ILoadBalancer { } /** - * Really opens a connection. Uncached. + * Open a new network connection to a server (uncached) + * * Returns a Database object whether or not the connection was successful. - * @access private * * @param array $server - * @param string|bool $dbNameOverride Use "" to not select any database + * @param string|null $dbNameOverride Use "" to not select any database * @return Database * @throws DBAccessError * @throws InvalidArgumentException */ - protected function reallyOpenConnection( array $server, $dbNameOverride = false ) { + protected function reallyOpenConnection( array $server, $dbNameOverride ) { if ( $this->disabled ) { throw new DBAccessError(); } - if ( $dbNameOverride !== false ) { + if ( $dbNameOverride !== null ) { $server['dbname'] = $dbNameOverride; } @@ -1691,17 +1688,35 @@ class LoadBalancer implements ILoadBalancer { "Foreign domain connections are still in use ($domains)." ); } - $this->localDomain = new DatabaseDomain( + $oldDomain = $this->localDomain->getId(); + $this->setLocalDomain( new DatabaseDomain( $this->localDomain->getDatabase(), null, $prefix - ); + ) ); - $this->forEachOpenConnection( function ( IDatabase $db ) use ( $prefix ) { - $db->tablePrefix( $prefix ); + $this->forEachOpenConnection( function ( IDatabase $db ) use ( $prefix, $oldDomain ) { + if ( !$db->getLBInfo( 'foreign' ) ) { + $db->tablePrefix( $prefix ); + } } ); } + /** + * @param DatabaseDomain $domain + */ + private function setLocalDomain( DatabaseDomain $domain ) { + $this->localDomain = $domain; + // In case a caller assumes that the domain ID is simply -, which is almost + // always true, gracefully handle the case when they fail to account for escaping. + if ( $this->localDomain->getTablePrefix() != '' ) { + $this->localDomainIdAlias = + $this->localDomain->getDatabase() . '-' . $this->localDomain->getTablePrefix(); + } else { + $this->localDomainIdAlias = $this->localDomain->getDatabase(); + } + } + /** * Make PHP ignore user aborts/disconnects until the returned * value leaves scope. This returns null and does nothing in CLI mode. diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php b/includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php index 79d250f6a0..c73756330a 100644 --- a/includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php +++ b/includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php @@ -72,7 +72,7 @@ class LoadBalancerSingle extends LoadBalancer { return new static( [ 'connection' => $db ] + $params ); } - protected function reallyOpenConnection( array $server, $dbNameOverride = false ) { + protected function reallyOpenConnection( array $server, $dbNameOverride ) { return $this->db; } } diff --git a/includes/specials/SpecialEmailuser.php b/includes/specials/SpecialEmailuser.php index 06ca04f5cd..f322ac40ef 100644 --- a/includes/specials/SpecialEmailuser.php +++ b/includes/specials/SpecialEmailuser.php @@ -238,35 +238,12 @@ class SpecialEmailUser extends UnlistedSpecialPage { return 'nowikiemail'; } - if ( $target->getEditCount() === 0 && - ( $sender === null || !$sender->isAllowed( 'sendemail-new-users' ) ) - ) { - // Determine if target has any other logged actions. - $dbr = wfGetDB( DB_REPLICA ); - $log_id = $dbr->selectField( - 'logging', - 'log_id', - [ - 'log_user' => $target->getId(), - "NOT (log_type = 'newusers' AND log_action = 'autocreate')", - ], - __METHOD__, - [ 'LIMIT' => 1 ] - ); - - if ( !$log_id ) { - wfDebug( "User has no logged actions on this wiki.\n" ); - - return 'nowikiemail'; - } - } - if ( $sender !== null && !$target->getOption( 'email-allow-new-users' ) && $sender->isNewbie() ) { - wfDebug( "User does not allow user emails from new users.\n" ); + wfDebug( "User does not allow user emails from new users.\n" ); - return 'nowikiemail'; + return 'nowikiemail'; } if ( $sender !== null ) { diff --git a/includes/user/User.php b/includes/user/User.php index a9fe5f8b8c..7684d2e51a 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -179,7 +179,6 @@ class User implements IDBAccessObject, UserIdentity { 'reupload-shared', 'rollback', 'sendemail', - 'sendemail-new-users', 'siteadmin', 'suppressionlog', 'suppressredirect', diff --git a/languages/i18n/ar.json b/languages/i18n/ar.json index af6126b001..8f537c2aa9 100644 --- a/languages/i18n/ar.json +++ b/languages/i18n/ar.json @@ -201,7 +201,7 @@ "category-subcat-count-limited": "هذا التصنيف يحوي {{PLURAL:$1||التصنيف الفرعي التالي|التصنيفين الفرعيين التاليين|التصنيفات الفرعية $1 التالية}}.", "category-article-count": "{{PLURAL:$2|لا صفحات بهذا التصنيف سوى التالية.|{{PLURAL:$1||الصفحة التالية مصنّفة|الصفحتان التاليتان مصنّفتان|الصفحات $1 التالية مصنّفة}} بهذا التصنيف، من إجمالي $2.}}", "category-article-count-limited": "{{PLURAL:$1||الصفحة التالية|الصفحتان التاليتان|الصفحات $1 التالية}} مصنّفة بهذا التصنيف.", - "category-file-count": "هذا التصنيف مصنّف عليه الملف{{PLURAL:$2| التالي.|{{PLURAL:$1|| التالي|ان التاليان|ات $1 التالية}}، من إجمالي $2.}}", + "category-file-count": "{{PLURAL:$2||هذا التصنيف يحتوي الملف التالي فقط.|{{PLURAL:$1||الملف التالي|الملفان التاليان|الملفات ال$1 التالية}} في هذا التصنيف من إجمالي $2.}}", "category-file-count-limited": "{{PLURAL:$1|الملف التالي مصنّف|الملفان التاليان مصنّفان|الملفات $1 التالية مصنّفة}} بهذا التصنيف.", "listingcontinuesabbrev": "(تابع)", "index-category": "صفحات مفهرسة", @@ -240,7 +240,7 @@ "permalink": "رابط دائم", "print": "اطبع", "view": "مطالعة", - "view-foreign": "استعرضه في $1", + "view-foreign": "اعرض في $1", "edit": "عدل", "edit-local": "تعديل الوصف المحلي", "create": "أنشئ", @@ -287,7 +287,7 @@ "aboutsite": "عن {{SITENAME}}", "aboutpage": "Project:عن", "copyright": "المحتوى منشور وفق $1 إن لم يرد خلاف ذلك.", - "copyrightpage": "{{ns:project}}:حقوق التأليف و Ø§Ù„طبع", + "copyrightpage": "{{ns:project}}:حقوق التأليف والنشر", "currentevents": "الأحداث الجارية", "currentevents-url": "Project:الأحداث الجارية", "disclaimers": "إخلاء مسؤولية", @@ -660,7 +660,7 @@ "image_tip": "ملف مدرج", "media_tip": "وصلة ملف", "sig_tip": "توقيعك مع الساعة والتاريخ", - "hr_tip": "خط أفقي (تجنب الإفراط)", + "hr_tip": "خط أفقي (تجنب الاستخدام بكثرة)", "summary": "ملخص:", "subject": "موضوع/عنوان:", "minoredit": "هذا تعديل طفيف", @@ -671,7 +671,7 @@ "publishchanges": "نشر التغييرات", "preview": "عرض مسبق", "showpreview": "أظهر معاينة", - "showdiff": "استعرض التغييرات", + "showdiff": "عرض التغييرات", "blankarticle": "تنبيه: الصفحة التي تريد إنشاءها فارغة. إذا نقرت \"$1\" ثانية فستنشأ الصفحة بدون محتوى.", "anoneditwarning": "تحذير: أنت غير مسجل الدخول. عنوان الأيبي الخاص بك سيكون معروضا بشكل علني لو قمت بأي تعديلات. لو أنك [$1 سجلت الدخول] أو [$2 أنشأت حسابا]، فتعديلاتك ستنسب لاسم المستخدم الخاص بك، بالإضافة إلى فوائد أخرى.", "anonpreviewwarning": "''أنت غير مسجل الدخول. الحفظ سيسجل عنوان الأيبي الخاص بك في تاريخ هذه الصفحة.''", @@ -700,7 +700,7 @@ "newarticletext": "لقد تبعت وصلة لصفحة لم يتم إنشائها بعد.\nلإنشاء هذه الصفحة ابدأ الكتابة في الصندوق بالأسفل (انظر في [$1 صفحة المساعدة] للمزيد من المعلومات).\nإذا كانت زيارتك لهذه الصفحة بالخطأ، اضغط على زر ''رجوع'' في متصفح الإنترنت لديك.", "anontalkpagetext": "----\nهذه صفحة نقاش لمستخدم مجهول لم يقم بإنشاء حساب بعد أو لا يستعمل ذلك الحساب.\nلذا فيجب علينا استعمال رقم الأيبي للتعرف عليه/عليها.\nمثل هذا العنوان يمكن أن يشترك فيه عدة مستخدمين.\nلو كنت مستخدما مجهولا وتشعر بأن تعليقات لا تخصك تم توجيهها إليك، من فضلك [[Special:CreateAccount|أنشئ حسابا]] أو [[Special:UserLogin|سجل الدخول]] لتجنب الارتباك المستقبلي مع مستخدمين مجهولين آخرين.", "noarticletext": "هذه الصفحة خالية حاليا. يمكنك [[Special:Search/{{PAGENAME}}|البحث عن عنوانها]] في الصفحات الأخرى أو\n[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} البحث في السجلات] (لتعرف إن كانت قد حُذِفَت)،\nأو '''[{{fullurl:{{FULLPAGENAME}}|action=edit}} إنشاؤها]'''.", - "noarticletext-nopermission": "لا يوجد حاليا أي نص في هذه الصفحة.\nيمكنك [[Special:Search/{{PAGENAME}}|البحث عن عنوان هذه الصفحة]] في الصفحات الأخرى، أو [{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} البحث في السجلات]، لكن ليست لك صلاحية إنشاء هذه الصفحة.", + "noarticletext-nopermission": "لا يوجد حاليا أي نص في هذه الصفحة.\nيمكنك [[Special:Search/{{PAGENAME}}|البحث عن عنوان هذه الصفحة]] في الصفحات الأخرى، أو [{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} البحث في السجلات المتعلقة بها]، لكن ليست لك صلاحية إنشاء هذه الصفحة.", "missing-revision": "المراجعة #$1 من الصفحة المسماة \"{{FULLPAGENAME}}\" غير موجودة.\n\nهذا يحدث عادة عن طريق اتباع وصلة تاريخ قديمة لصفحة تم حذفها.\nالتفاصيل يمكن إيجادها في [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} سجل الحذف].", "userpage-userdoesnotexist": "حساب المستخدم \"$1\" غير مسجل.\nمن فضلك تأكد أنك تريد إنشاء/تعديل هذه الصفحة.", "userpage-userdoesnotexist-view": "حساب المستخدم \"$1\" غير مسجل.", @@ -748,7 +748,7 @@ "template-protected": "(محميّة)", "template-semiprotected": "(محمية جزئيا)", "hiddencategories": "{{PLURAL:$1|هذه الصفحة غير موجودة في أي تصنايف مخفية|هذه الصفحة موجودة في تصنيف مخفي واحد|هذه الصفحة موجودة في تصنيفين مخفيين|هذه الصفحة موجودة في $1 تصانيف مخفية|هذه الصفحة موجودة في $1 تصنيفا مخفيا|هذه الصفحة موجودة في $1 تصنيف مخفي}}:", - "edittools": "", + "edittools": "", "nocreatetext": "قام {{SITENAME}} بتحديد القدرة على إنشاء صفحات جديدة.\nيمكنك العودة وتحرير صفحة موجودة بالفعل، أو [[Special:UserLogin|الدخول أو تسجيل حساب]].", "nocreate-loggedin": "أنت لا تمتلك الصلاحية لإنشاء صفحات جديدة.", "sectioneditnotsupported-title": "تعديل الأقسام غير مدعوم", @@ -1240,7 +1240,6 @@ "right-siteadmin": "غلق ورفع غلق قاعدة البيانات", "right-override-export-depth": "تصدير الصفحات متضمنة الصفحات الموصولة حتى عمق 5", "right-sendemail": "إرسال رسائل بريد إلكتروني إلى مستخدمين آخرين", - "right-sendemail-new-users": "إرسال رسالة بريد إلكتروني للمستخدمين الذين ليس لديهم أفعال في السجلات", "right-managechangetags": "إنشاء وتعطيل [[Special:Tags|الوسوم]]", "right-applychangetags": "تطبيق [[Special:Tags|الوسوم]] مع التغييرات التي أجريتها.", "right-changetags": "إضافة وإزالة [[Special:Tags|وسوم]] في مراجعات ومدخلات سجل فردية", @@ -1523,7 +1522,7 @@ "recentchangeslinked-feed": "تغييرات ذات علاقة", "recentchangeslinked-toolbox": "تغييرات ذات علاقة", "recentchangeslinked-title": "التغييرات المرتبطة بصفحة «$1»", - "recentchangeslinked-summary": "أدخل اسم صفحة لمطالعة التغييرات في الصفحات التي تربط إلى أو من هذه الصفحة. (لمطالعة أعضاء تصنيف، أدخل تصنيف:اسم التصنيف). التغييرات في الصفحات ضمن [[Special:Watchlist|قائمة مراقبتك]] بخط داكن.", + "recentchangeslinked-summary": "أدخل اسم صفحة لرؤية التغييرات في الصفحات الموصولة من أو إلى تلك الصفحة. (لرؤية أعضاء تصنيف، أدخل تصنيف:الاسم الخاص بالتصنيف). التغييرات في الصفحات في [[Special:Watchlist|قائمة مراقبتك]] عريضة.", "recentchangeslinked-page": "اسم الصفحة:", "recentchangeslinked-to": "أظهر التغييرات للصفحات الموصولة للصفحة المعطاة عوضاً عن ذلك", "recentchanges-page-added-to-category": "[[:$1]] أضيفت إلى التصنيف", @@ -1805,7 +1804,7 @@ "duplicatesoffile": "{{PLURAL:$1|الملف التالي مكرر|ال$1 ملف التالي مكررات}} لهذا الملف\n([[Special:FileDuplicateSearch/$2|المزيد من التفاصيل]]):", "sharedupload": "هذا الملف من $1 ويمكن استخدامه بواسطة المشاريع الأخرى.", "sharedupload-desc-there": "هذا الملف من $1 ويمكن استخدامه بواسطة المشاريع الأخرى.\nمن فضلك انظر [$2 صفحة وصف الملف] لمزيد من المعلومات.", - "sharedupload-desc-here": "هذا الملف من $1 ويمكن للمشروعات الأخرى استعماله.\nالوصف من [$2 صفحة وصف الملف] هناك معروض فيما يلي.", + "sharedupload-desc-here": "هذا الملف من $1 ويمكن استخدامه بواسطة المشاريع الأخرى.\nالوصف على [$2 صفحة وصف الملف] هناك معروض بالأسفل.", "sharedupload-desc-edit": "هذا ملف من $1 وقد يكون مستخدما في مشاريع أخرى.\nيمكن لك أن تعدل وصف الملف في [$2 صفحته] هناك.", "sharedupload-desc-create": "هذا ملف من $1 وقد يكون مستخدما في مشاريع أخرى.\nيمكن لك أن تعدل وصف الملف في [$2 صفحته] هناك.", "filepage-nofile": "لا ملف موجود بهذا الاسم.", @@ -1982,7 +1981,7 @@ "nopagetitle": "لا توجد صفحة هدف كهذه", "nopagetext": "صفحة الهدف التي حددتها غير موجودة.", "pager-newer-n": "{{PLURAL:$1|أجدد 1|أجدد $1}}", - "pager-older-n": "{{PLURAL:$1|$1 أقدم}}", + "pager-older-n": "{{PLURAL:$1|أقدم 1|أقدم $1}}", "suppress": "أوفرسايت", "querypage-disabled": "تم تعطيل هذه الصفحة الخاصة لأسباب تتعلق بالأداء.", "apihelp": "مساعدة API", @@ -2758,7 +2757,7 @@ "tooltip-p-logo": "زُر الصفحة الرئيسية", "tooltip-n-mainpage": "زر الصفحة الرئيسية", "tooltip-n-mainpage-description": "زر الصفحة الرئيسية", - "tooltip-n-portal": "حول المشروع، و Ù…ا يمكن فعله، و Ø£ÙŠÙ† تجد ما تحتاجه", + "tooltip-n-portal": "حول المشروع، ماذا يمكن أن تفعل، أين يمكن أن تجد ما تحتاجه", "tooltip-n-currentevents": "مطالعة سريعة لأهم الأحداث الجارية", "tooltip-n-recentchanges": "قائمة أحدث التغييرات في الويكي.", "tooltip-n-randompage": "حمل صفحة عشوائية", @@ -2788,7 +2787,7 @@ "tooltip-save": "احفظ تغييراتك", "tooltip-publish": "انشر تغييراتك", "tooltip-preview": "اعرض تغييراتك، من فضلك استخدم هذا قبل الحفظ!", - "tooltip-diff": "استعرض التغييرات التي أجريتها على النص.", + "tooltip-diff": "اعرض التغييرات التي أجريتها على النص.", "tooltip-compareselectedversions": "شاهد الفروق بين النسختين المختارتين من هذه الصفحة.", "tooltip-watch": "أضف هذه الصفحة إلى قائمة مراقبتك", "tooltip-watchlistedit-normal-submit": "أزل العناوين", @@ -3016,7 +3015,7 @@ "exif-usercomment": "تعليقات المستخدم", "exif-relatedsoundfile": "ملف صوتي مرتبط", "exif-datetimeoriginal": "تاريخ ووقت توليد البيانات", - "exif-datetimedigitized": "تاريخ و ÙˆÙ‚ت الرَّقمنة", + "exif-datetimedigitized": "تاريخ ووقت التحويل الرقمي", "exif-subsectime": "وقت تاريخ ثواني فرعية", "exif-subsectimeoriginal": "وقت تاريخ أصلي ثواني فرعية", "exif-subsectimedigitized": "وقت تاريخ رقمي ثواني فرعية", diff --git a/languages/i18n/ast.json b/languages/i18n/ast.json index a3bea6534e..75fa204da0 100644 --- a/languages/i18n/ast.json +++ b/languages/i18n/ast.json @@ -1183,7 +1183,6 @@ "right-siteadmin": "Candar y descandar la base de datos", "right-override-export-depth": "Esportar páxines, incluyendo páxines enllazaes fasta una fondura de 5", "right-sendemail": "Unviar corréu a otros usuarios", - "right-sendemail-new-users": "Unviar corréu electrónicu a usuarios ensin aiciones rexistraes", "right-managechangetags": "Crear y (des)activar [[Special:Tags|etiquetes]]", "right-applychangetags": "Aplicar [[Special:Tags|etiquetes]] xunto colos cambios propios", "right-changetags": "Amestar y desaniciar [[Special:Tags|etiquetes]] arbitraries en revisiones individuales y entraes del rexistru", diff --git a/languages/i18n/be-tarask.json b/languages/i18n/be-tarask.json index bce3a7ab4e..f649d99047 100644 --- a/languages/i18n/be-tarask.json +++ b/languages/i18n/be-tarask.json @@ -1183,7 +1183,6 @@ "right-siteadmin": "блякаваньне і разблякаваньне базы зьвестак", "right-override-export-depth": "экспартаваньне старонак, уключаючы зьвязаныя старонкі з глыбінёй да 5", "right-sendemail": "адпраўка электронных лістоў іншым удзельнікам", - "right-sendemail-new-users": "Дасылаць лісты электроннай пошты ўдзельнікам без зафіксаваных дзеяньняў", "right-managechangetags": "стварэньне і (дэ)актывацыя [[Special:Tags|метак]]", "right-applychangetags": "дадаваць [[Special:Tags|меткі]] пры рэдагаваньні", "right-changetags": "дадаваць і выдаляць адвольныя [[Special:Tags|меткі]] да асобных вэрсіяў і запісаў у журнале падзеяў", diff --git a/languages/i18n/ca.json b/languages/i18n/ca.json index 023e5f2e38..c1bcb29453 100644 --- a/languages/i18n/ca.json +++ b/languages/i18n/ca.json @@ -1235,7 +1235,6 @@ "right-siteadmin": "Blocar i desblocar la base de dades", "right-override-export-depth": "Exportar pàgines incloent aquelles enllaçades fins a una fondària de 5", "right-sendemail": "Enviar missatges de correu electrònic a altres usuaris", - "right-sendemail-new-users": "Envia un correu electrònic als usuaris amb cap acció registrada", "right-managechangetags": "Crear, activar i desactivar [[Special:Tags|etiquetes]]", "right-applychangetags": "Aplica les [[Special:Tags|etiquetes]] juntament amb els canvis propis", "right-changetags": "Afegeix i suprimeix [[Special:Tags|etiquetes]] en revisions individuals i entrades de registre", diff --git a/languages/i18n/cs.json b/languages/i18n/cs.json index 08e9d1ed0a..74fccaaba2 100644 --- a/languages/i18n/cs.json +++ b/languages/i18n/cs.json @@ -1205,7 +1205,6 @@ "right-siteadmin": "Zamykání a odemykání databáze", "right-override-export-depth": "Exportovat stránky včetně odkazovaných stránek až do hloubky 5", "right-sendemail": "Odesílání e-mailů ostatním uživatelům", - "right-sendemail-new-users": "Posílání e-mailů uživatelům bez zaznamenaných činností", "right-managechangetags": "Vytváření a (de)aktivace [[Special:Tags|značek]]", "right-applychangetags": "Přidávání [[Special:Tags|značek]] k vlastním změnám", "right-changetags": "Přidávání libovolných [[Special:Tags|značek]] na jednotlivé revize a protokolovací záznamy a jejich odebírání", diff --git a/languages/i18n/de.json b/languages/i18n/de.json index 4ddffc6389..29fe73c29d 100644 --- a/languages/i18n/de.json +++ b/languages/i18n/de.json @@ -1263,7 +1263,6 @@ "right-siteadmin": "Datenbank sperren und entsperren", "right-override-export-depth": "Exportiere Seiten einschließlich verlinkter Seiten bis zu einer Tiefe von 5", "right-sendemail": "E-Mails an andere Benutzer senden", - "right-sendemail-new-users": "E-Mails an Benutzer ohne Eintrag im Logbuch senden", "right-managechangetags": "[[Special:Tags|Markierungen]] erstellen und (de)aktivieren", "right-applychangetags": "[[Special:Tags|Markierungen]] zusammen mit den Änderungen anwenden", "right-changetags": "Beliebige [[Special:Tags|Markierungen]] zu einzelnen Versionen und Logbucheinträgen hinzufügen und entfernen", diff --git a/languages/i18n/en.json b/languages/i18n/en.json index 2b48338e8c..42ea35cd35 100644 --- a/languages/i18n/en.json +++ b/languages/i18n/en.json @@ -1240,7 +1240,6 @@ "right-siteadmin": "Lock and unlock the database", "right-override-export-depth": "Export pages including linked pages up to a depth of 5", "right-sendemail": "Send email to other users", - "right-sendemail-new-users": "Send email to users with no logged actions", "right-managechangetags": "Create and (de)activate [[Special:Tags|tags]]", "right-applychangetags": "Apply [[Special:Tags|tags]] along with one's changes", "right-changetags": "Add and remove arbitrary [[Special:Tags|tags]] on individual revisions and log entries", diff --git a/languages/i18n/es.json b/languages/i18n/es.json index 7047aebbcf..dee0b9a041 100644 --- a/languages/i18n/es.json +++ b/languages/i18n/es.json @@ -1337,7 +1337,6 @@ "right-siteadmin": "Bloquear y desbloquear la base de datos", "right-override-export-depth": "Exportar páginas, incluidas aquellas enlazadas hasta una profundidad de 5", "right-sendemail": "Enviar mensajes de correo a otros usuarios", - "right-sendemail-new-users": "Enviar correo electrónico a usuarios sin acciones en el registro", "right-managechangetags": "Crear y (des)activar [[Special:Tags|etiquetas]]", "right-applychangetags": "Aplicar [[Special:Tags|etiquetas]] junto con los cambios propios", "right-changetags": "Agregar y quitar [[Special:Tags|etiquetas]] arbitrarias a revisiones individuales y entradas del registro", diff --git a/languages/i18n/et.json b/languages/i18n/et.json index 383848a216..3210396197 100644 --- a/languages/i18n/et.json +++ b/languages/i18n/et.json @@ -1198,7 +1198,6 @@ "right-siteadmin": "Panna lukku ja lukust lahti teha andmebaasi", "right-override-export-depth": "Eksportida lehekülgi, kaasates viidatud leheküljed kuni viienda tasemeni", "right-sendemail": "Saata teistele kasutajatele e-kirju", - "right-sendemail-new-users": "Saata e-kirju logitud toiminguteta kasutajatele", "right-managechangetags": "Koostada ja (in)aktiveerida [[Special:Tags|märgiseid]]", "right-applychangetags": "Rakendada [[Special:Tags|märgiseid]] enda muudatuste suhtes", "right-changetags": "Lisada ja eemaldada käsitsi rakendatavaid [[Special:Tags|märgiseid]] üksikute redaktsioonide ja logisissekannete juures", diff --git a/languages/i18n/eu.json b/languages/i18n/eu.json index 7b57dba93b..2e407ae3d9 100644 --- a/languages/i18n/eu.json +++ b/languages/i18n/eu.json @@ -1198,7 +1198,6 @@ "right-siteadmin": "Blokeatu eta desblokeatu datu basea blokeatu", "right-override-export-depth": "5eko sakonerararteko loturiko orrialdeak barne esportatu", "right-sendemail": "Beste erabiltzaileei e-posta bidali", - "right-sendemail-new-users": "Bidali mezu elektronikoa ekintzarik gabe dauden erabiltzaileei", "right-managechangetags": "Sortu eta (des)aktibatzeko [[Special:Tags|tags]]", "right-applychangetags": "Aplikatu [[Special:Tags|tags]] bakoitzaren aldaketekin batera", "right-changetags": "[[Special:Tags|tags]] arbitrarioak gehitu edo kendu berrikusketa eta sarrera indibidualetan", diff --git a/languages/i18n/fr.json b/languages/i18n/fr.json index 68eafd75a4..152b609af2 100644 --- a/languages/i18n/fr.json +++ b/languages/i18n/fr.json @@ -1345,7 +1345,6 @@ "right-siteadmin": "Verrouiller ou déverrouiller la base de données", "right-override-export-depth": "Exporter les pages en incluant les pages liées jusqu'à une profondeur de 5 niveaux", "right-sendemail": "Envoyer un courriel aux autres utilisateurs", - "right-sendemail-new-users": "Envoyer un courriel aux utilisateurs dont le journal ne comporte pas d'enregistrement de connexion", "right-managechangetags": "Créer et (dés)activer des [[Special:Tags|balises]]", "right-applychangetags": "Appliquer [[Special:Tags|les balises]] avec ses propres modifications", "right-changetags": "Ajouter et supprimer de façon arbitraire [[Special:Tags|des balises]] sur des révisions individuelles et des entrées de journal", diff --git a/languages/i18n/frp.json b/languages/i18n/frp.json index e3d0baec1e..048526e90a 100644 --- a/languages/i18n/frp.json +++ b/languages/i18n/frp.json @@ -741,7 +741,7 @@ "historysize": "($1 octèt{{PLURAL:$1||s}})", "historyempty": "(voueda)", "history-feed-title": "Historico de les vèrsions", - "history-feed-description": "Historico de les vèrsions por cela pâge sur lo vouiqui", + "history-feed-description": "Historico de les vèrsions por cela pâge dessus lo vouiqui", "history-feed-item-nocomment": "$1 lo $2", "history-feed-empty": "La pâge demandâye ègziste pas.\nPôt-étre el est étâye suprimâye du vouiqui ou ben renomâye.\nÈprovâd de [[Special:Search|rechèrchiér sur lo vouiqui]] por trovar de pâges novèles que vant avouéc.", "history-edit-tags": "Changiér les balises de les vèrsions chouèsies", @@ -2438,7 +2438,7 @@ "tooltip-ca-nstab-template": "Vêre lo modèlo", "tooltip-ca-nstab-help": "Vêre la pâge d’éde", "tooltip-ca-nstab-category": "Vêre la pâge de la catègoria", - "tooltip-minoredit": "Marcar mos changements coment petiôts", + "tooltip-minoredit": "Marcar cen coment un petiôt changement", "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.", @@ -2492,7 +2492,7 @@ "pageinfo-display-title": "Titro montrâ", "pageinfo-default-sort": "Cllâf de chouèx per dèfôt", "pageinfo-length": "Talye de la pâge (en octèts)", - "pageinfo-article-id": "Identifient de la pâge", + "pageinfo-article-id": "ID de la pâge", "pageinfo-language": "Lengoua du contegnu de la pâge", "pageinfo-content-model": "Modèlo de contegnu de la pâge", "pageinfo-robot-policy": "Endèxacion per robots", diff --git a/languages/i18n/gl.json b/languages/i18n/gl.json index c7b5f33ee3..4d190c3313 100644 --- a/languages/i18n/gl.json +++ b/languages/i18n/gl.json @@ -1209,7 +1209,6 @@ "right-siteadmin": "Pechar e abrir a base de datos", "right-override-export-depth": "Exportar páxinas incluíndo as páxinas ligadas ata unha profundidade de 5", "right-sendemail": "Enviar correos electrónicos a outros usuarios", - "right-sendemail-new-users": "Enviar correo electrónico a usuarios sen accións rexistradas", "right-managechangetags": "Crear e (des)activar [[Special:Tags|etiquetas]]", "right-applychangetags": "Aplicar [[Special:Tags|etiquetas]] xunto coas modificacións propias", "right-changetags": "Engadir e quitar [[Special:Tags|etiquetas]] arbitrarias a revisións individuais e entradas do rexistro", diff --git a/languages/i18n/he.json b/languages/i18n/he.json index d23a0d7a10..6f345bfbfa 100644 --- a/languages/i18n/he.json +++ b/languages/i18n/he.json @@ -1206,7 +1206,6 @@ "right-siteadmin": "נעילה וביטול נעילה של בסיס הנתונים", "right-override-export-depth": "ייצוא דפים כולל הדפים המקושרים (עד עומק של 5 דפים)", "right-sendemail": "שליחת דואר אלקטרוני למשתמשים אחרים", - "right-sendemail-new-users": "שליחת דואר אלקטרוני למשתמשים שלא ביצעו פעולות מתועדות", "right-managechangetags": "יצירה, הפעלה וביטול של [[Special:Tags|תגיות]]", "right-applychangetags": "החלת [[Special:Tags|תגיות]] יחד עם שינויים", "right-changetags": "הוספה והסרה של [[Special:Tags|תגיות]] לגרסאות ולרשומות יומן", diff --git a/languages/i18n/hi.json b/languages/i18n/hi.json index 74acf202ca..4463c050e4 100644 --- a/languages/i18n/hi.json +++ b/languages/i18n/hi.json @@ -1263,7 +1263,6 @@ "right-siteadmin": "डाटाबेस को ताला लगायें या खोलें", "right-override-export-depth": "पृष्ठ निर्यात करें, पाँच स्तर की गहराई तक जुड़े हुए पृष्ठों समेत", "right-sendemail": "अन्य सदस्यों को ई-मेल भेजें", - "right-sendemail-new-users": "एक भी लॉग इन क्रिया नहीं करने वाले उपयोगकर्ताओं को ईमेल भेजें", "right-managechangetags": "डेटाबेस से [[Special:Tags|चिप्पियाँ]] बनायें और हटायें", "right-applychangetags": "प्रयोग में लाइये [[Special:Tags|tags]] किसी के बदलाव के साथ।", "right-changetags": "जमा करो और हटाओ स्वतंत्र [[Special:Tags|टैग]] व्यक्तिगत अवतरणों और लॉग प्रविक्तियों पर", diff --git a/languages/i18n/hr.json b/languages/i18n/hr.json index 8c1fb807a2..601bd4d51d 100644 --- a/languages/i18n/hr.json +++ b/languages/i18n/hr.json @@ -1174,7 +1174,6 @@ "right-siteadmin": "Zaključavanje i otključavanje baze podataka", "right-override-export-depth": "Izvezi stranice uključujući i povezane stranice do dubine od 5", "right-sendemail": "Slanje e-poÅ¡te drugim suradnicima", - "right-sendemail-new-users": "PoÅ¡alji e-poruku suradnicima bez radnji zabilježenih u evidencijama", "right-managechangetags": "Stvaranje i (de)aktiviranje [[Special:Tags|oznaka]]", "grant-generic": "Snop prava »$1«", "grant-group-email": "PoÅ¡alji e-mail", diff --git a/languages/i18n/hu.json b/languages/i18n/hu.json index 50bf660e16..5dd1e4e645 100644 --- a/languages/i18n/hu.json +++ b/languages/i18n/hu.json @@ -1219,7 +1219,6 @@ "right-siteadmin": "adatbázis lezárása, felnyitása", "right-override-export-depth": "Lapok exportálása a hivatkozott lapokkal együtt, legfeljebb 5-ös mélységig", "right-sendemail": "e-mail küldése más felhasználóknak", - "right-sendemail-new-users": "e-mail küldése olyan felhasználóknak, akiknek nincs naplózott művelete", "right-managechangetags": "[[Special:Tags|címkék]] létrehozása és (de)aktiválása", "right-applychangetags": "[[Special:Tags|címkék]] alkalmazása saját változatokra", "right-changetags": "egyedi lapváltozatokon és naplóbejegyzéseken tetszőleges [[Special:Tags|címkék]] hozzáadása és törlése", diff --git a/languages/i18n/ia.json b/languages/i18n/ia.json index f71620b098..e9f23a4edb 100644 --- a/languages/i18n/ia.json +++ b/languages/i18n/ia.json @@ -1184,7 +1184,6 @@ "right-siteadmin": "Blocar e disblocar le base de datos", "right-override-export-depth": "Exportar paginas includente paginas ligate usque a un profunditate de 5", "right-sendemail": "Inviar e-mail a altere usatores", - "right-sendemail-new-users": "Inviar e-mail a usatores sin actiones in registro", "right-managechangetags": "Crear e (de)activar [[Special:Tags|etiquettas]]", "right-applychangetags": "Applicar [[Special:Tags|etiquettas]] al proprie modificationes", "right-changetags": "Adder e remover qualcunque [[Special:Tags|etiquettas]] sur individual versiones e entratas de registro", @@ -1304,7 +1303,7 @@ "rcfilters-activefilters": "Filtros active", "rcfilters-advancedfilters": "Filtros avantiate", "rcfilters-limit-title": "Resultatos a monstrar", - "rcfilters-limit-and-date-label": "{{PLURAL:$1|cambiamento|$1 cambiamentos}}, $2", + "rcfilters-limit-and-date-label": "$1 modification{{PLURAL:$1||es}}, $2", "rcfilters-date-popup-title": "Periodo de tempore in le qual cercar", "rcfilters-days-title": "Dies recente", "rcfilters-hours-title": "Horas recente", @@ -1423,7 +1422,7 @@ "rcfilters-filter-showlinkedfrom-option-label": "Paginas ligate ab le pagina seligite", "rcfilters-filter-showlinkedto-label": "Monstrar modificationes sur paginas que liga a", "rcfilters-filter-showlinkedto-option-label": "Paginas que liga verso le pagina seligite", - "rcfilters-target-page-placeholder": "Entra un nomine de pagina", + "rcfilters-target-page-placeholder": "Entra le nomine de un pagina (o categoria)", "rcnotefrom": "Ecce le {{PLURAL:$5|modification|modificationes}} a partir del $3 a $4 (usque a $1 entratas monstrate).", "rclistfromreset": "Reinitialisar selection de data", "rclistfrom": "Monstrar nove modificationes a partir del $3 a $2", diff --git a/languages/i18n/id.json b/languages/i18n/id.json index 8c2f4aaee5..1d3b47ced1 100644 --- a/languages/i18n/id.json +++ b/languages/i18n/id.json @@ -1239,7 +1239,6 @@ "right-siteadmin": "Mengunci dan membuka kunci basis data", "right-override-export-depth": "Ekspor halaman termasuk halaman-halaman terkait hingga kedalaman 5", "right-sendemail": "Mengirim surel ke pengguna lain", - "right-sendemail-new-users": "Kirim email ke pengguna yang tidak melakukan login", "right-managechangetags": "Buat dan matikan [[Special:Tags|tag]]", "right-applychangetags": "Terapkan [[Special:Tags|tags]] bersamaan dengan perubahan pengguna", "right-changetags": "Tambah dan hapus [[Special:Tags|tag]] arbitrari pada revisi masing-masing dan entri log", diff --git a/languages/i18n/ja.json b/languages/i18n/ja.json index 9fb8ee7fe6..39dc919c99 100644 --- a/languages/i18n/ja.json +++ b/languages/i18n/ja.json @@ -1273,7 +1273,6 @@ "right-siteadmin": "データベースをロックおよびロック解除", "right-override-export-depth": "リンク先ページを5階層まで含めて書き出す", "right-sendemail": "他の利用者にメールを送信", - "right-sendemail-new-users": "ログに記録されていないユーザーにメールを送信する", "right-managechangetags": "[[Special:Tags|タグ]]の作成、有効化および無効化", "right-applychangetags": "自分の編集に[[Special:Tags|タグ]]を適用する", "right-changetags": "個々の版と記録項目の任意の[[Special:Tags|タグ]]の追加と削除", @@ -3625,7 +3624,7 @@ "version-poweredby-others": "その他", "version-poweredby-translators": "translatewiki.net の翻訳者たち", "version-credits-summary": "[[Special:Version|MediaWiki]] に貢献した以下の人たちに感謝します。", - "version-license-info": "MediaWikiはフリーソフトウェアです。あなたは、フリーソフトウェア財団の発行するGNU一般公衆利用許諾書 (GNU General Public License) (バージョン2、またはそれ以降のライセンス) の規約に基づき、このライブラリを再配布および改変できます。\n\nMediaWikiは、有用であることを期待して配布されていますが、商用あるいは特定の目的に適するかどうかも含めて、暗黙的にも、一切保証されません。詳しくは、GNU一般公衆利用許諾書をご覧ください。\n\nあなたはこのプログラムと共に、[{{SERVER}}{{SCRIPTPATH}}/COPYING GNU一般公衆利用許諾契約書の複製]を受け取ったはずです。受け取っていない場合は、フリーソフトウェア財団 (the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA) まで請求するか、[//www.gnu.org/licenses/old-licenses/gpl-2.0.html オンラインで閲覧]してください。", + "version-license-info": "MediaWikiはフリーソフトウェアです。あなたは、フリーソフトウェア財団の発行するGNU一般公衆利用許諾書 (GNU General Public License) (バージョン2、またはそれ以降のライセンス) の規約に基づき、このライブラリを再配布および改変できます。\n\nMediaWikiは、有用であることを期待して配布されていますが、商用あるいは特定の目的に適するかどうかも含めて、暗黙的にも、一切保証されません。詳しくは、GNU一般公衆利用許諾書をご覧ください。\n\nあなたはこのプログラムと共に、[{{SERVER}}{{SCRIPTPATH}}/COPYING GNU一般公衆利用許諾契約書の複製]を受け取ったはずです。受け取っていない場合は、フリーソフトウェア財団 (the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA) まで請求するか、[//www.gnu.org/licenses/old-licenses/gpl-2.0.html オンラインで閲覧]してください。", "version-software": "インストール済みソフトウェア", "version-software-product": "製品", "version-software-version": "バージョン", diff --git a/languages/i18n/ko.json b/languages/i18n/ko.json index 606c4755b2..84055dc5b0 100644 --- a/languages/i18n/ko.json +++ b/languages/i18n/ko.json @@ -1234,7 +1234,6 @@ "right-siteadmin": "데이터베이스를 잠그거나 잠금 해제", "right-override-export-depth": "5단계로 링크된 문서를 포함하여 문서를 내보내기", "right-sendemail": "다른 사용자에게 이메일 보내기", - "right-sendemail-new-users": "기록된 동작이 없는 사용자에게 이메일 보내기", "right-managechangetags": "데이터베이스에서 [[Special:Tags|태그]]를 만들거나 지우기", "right-applychangetags": "자신이 편집할 때 [[Special:Tags|태그]]를 적용하기", "right-changetags": "문서의 특정 판과 특정 기록 항목에 임의의 [[Special:Tags|태그]]를 추가하거나 제거하기", diff --git a/languages/i18n/lb.json b/languages/i18n/lb.json index ce195f26f7..340eb1b411 100644 --- a/languages/i18n/lb.json +++ b/languages/i18n/lb.json @@ -1158,7 +1158,6 @@ "right-siteadmin": "Datebank spären an d'Spär ophiewen", "right-override-export-depth": "Säiten exportéieren inklusiv de verlinkte Säite bis zu enger Déift vu 5", "right-sendemail": "Anere Benotzer E-Maile schécken", - "right-sendemail-new-users": "E-Mailen u Benotzer ouni geloggt Aktioune schécken", "grant-group-page-interaction": "Mat Säiten interagéieren", "grant-group-watchlist-interaction": "Mat Ärer Iwwerwaachungslëscht interagéieren", "grant-group-email": "E-Mail schécken", diff --git a/languages/i18n/mk.json b/languages/i18n/mk.json index 72043090f3..96ce45e9cd 100644 --- a/languages/i18n/mk.json +++ b/languages/i18n/mk.json @@ -1196,7 +1196,6 @@ "right-siteadmin": "Заклучување и отклучување на базата на податоци", "right-override-export-depth": "Извезување на страници вклучувајќи поврзани страници со продорност до 5", "right-sendemail": "Испраќање на е-пошта до други корисници", - "right-sendemail-new-users": "Испраќање е-пошта на корисници без заведени дејства", "right-managechangetags": "Создавање и (де)активирање на [[Special:Tags|ознаки]]", "right-applychangetags": "Задавање на [[Special:Tags|ознаки]] заедно со направените измени", "right-changetags": "Додавате и отстранување на произволни [[Special:Tags|ознаки]] во поединечни преработки и дневнички записи", diff --git a/languages/i18n/nb.json b/languages/i18n/nb.json index a1e7e8f1fa..67108a7ae8 100644 --- a/languages/i18n/nb.json +++ b/languages/i18n/nb.json @@ -1220,7 +1220,6 @@ "right-siteadmin": "LÃ¥se og lÃ¥se opp databasen", "right-override-export-depth": "Eksporter sider inkludert lenkede sider til en dypde pÃ¥ 5", "right-sendemail": "Sende e-post til andre brukere", - "right-sendemail-new-users": "Sende epost til brukere som ikke har loggførte handlinger", "right-managechangetags": "Opprette og (de)aktivere [[Special:Tags|tagger]]", "right-applychangetags": "Legge til [[Special:Tags|tagger]] sammen med ens endringer", "right-changetags": "Legge til og fjerne vilkÃ¥rlige [[Special:Tags|tagger]] pÃ¥ individuelle revisjoner og loggoppføringer", diff --git a/languages/i18n/nl.json b/languages/i18n/nl.json index 4fc3f59aea..7b82d4788a 100644 --- a/languages/i18n/nl.json +++ b/languages/i18n/nl.json @@ -1257,7 +1257,6 @@ "right-siteadmin": "De database blokkeren en weer vrijgeven", "right-override-export-depth": "Pagina's exporteren inclusief pagina's waarnaar verwezen wordt tot een diepte van vijf", "right-sendemail": "E-mail versturen aan andere gebruikers", - "right-sendemail-new-users": "Emails versturen naar gebruikers zonder geregistreerde handelingen", "right-managechangetags": "[[Special:Tags|Labels]] aanmaken en (de)activeren", "right-applychangetags": "[[Special:Tags|Labels]] aan bewerkingen toewijzen", "right-changetags": "Willekeurige [[Special:Tags|labels]] toevoegen aan en verwijderen van versies en logboekregels", diff --git a/languages/i18n/pl.json b/languages/i18n/pl.json index bdfe6c657c..82524e3906 100644 --- a/languages/i18n/pl.json +++ b/languages/i18n/pl.json @@ -1380,7 +1380,7 @@ "rcfilters-activefilters": "Aktywne filtry", "rcfilters-advancedfilters": "Zaawansowane filtry", "rcfilters-limit-title": "Wyników do pokazania", - "rcfilters-limit-and-date-label": "{{PLURAL:$1|zmiana|$1 zmiany|$1 zmian}}, $2", + "rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|zmiana|zmiany|zmian}}, $2", "rcfilters-date-popup-title": "Przeszukiwany okres", "rcfilters-days-title": "Ostatnich dni", "rcfilters-hours-title": "Ostatnich godzin", @@ -3561,7 +3561,7 @@ "tag-mw-replace-description": "Edycja, która usuwa ponad 90% zawartości strony", "tag-mw-rollback": "Wycofanie zmian", "tag-mw-rollback-description": "Edycja, która przywraca poprzednią wersję przy użyciu funkcji cofania zmian (rollback)", - "tag-mw-undo": "Cofnij", + "tag-mw-undo": "Anulowanie edycji", "tag-mw-undo-description": "Edycje, które są wycofaniem poprzednich edycji przy użyciu linku \"anuluj edycję\"", "tags-title": "Znaczniki", "tags-intro": "Na tej stronie znajduje się lista znaczników, którymi oprogramowanie może oznaczyć edycje, oraz ich opisy.", diff --git a/languages/i18n/pt-br.json b/languages/i18n/pt-br.json index bb950d7a98..2620fd0de9 100644 --- a/languages/i18n/pt-br.json +++ b/languages/i18n/pt-br.json @@ -1285,7 +1285,6 @@ "right-siteadmin": "Bloquear e desbloquear o banco de dados", "right-override-export-depth": "Exportar páginas incluindo páginas ligadas até uma profundidade de 5", "right-sendemail": "Enviar email a outros usuários", - "right-sendemail-new-users": "Enviar e-mail para usuários sem ações registradas", "right-managechangetags": "Criar e (des)ativar [[Special:Tags|tags]]", "right-applychangetags": "Aplicar [[Special:Tags|etiquetas]] juntamente com as alterações de alguém", "right-changetags": "Adicionar e remover [[Special:Tags|etiquetas]] arbitrárias em revisões e ''logs'' individuais", diff --git a/languages/i18n/pt.json b/languages/i18n/pt.json index b7f719ae1f..1e4fd617f6 100644 --- a/languages/i18n/pt.json +++ b/languages/i18n/pt.json @@ -1259,7 +1259,6 @@ "right-siteadmin": "Bloquear e desbloquear a base de dados", "right-override-export-depth": "Exportar páginas incluindo páginas hiperligadas até uma profundidade de 5", "right-sendemail": "Enviar correio eletrónico a outros utilizadores", - "right-sendemail-new-users": "Enviar correio eletrónico a utilizadores sem ações registadas", "right-managechangetags": "Criar e (des)ativar [[Special:Tags|etiquetas]]", "right-applychangetags": "Aplicar [[Special:Tags|etiquetas]] juntamente com as alterações", "right-changetags": "Adicionar ou remover [[Special:Tags|etiquetas]] arbitrárias em revisões e entradas de registo individuais", diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json index 8f8d87192c..6621e72a4f 100644 --- a/languages/i18n/qqq.json +++ b/languages/i18n/qqq.json @@ -1435,7 +1435,6 @@ "right-siteadmin": "{{doc-right|siteadmin}}", "right-override-export-depth": "{{doc-right|override-export-depth}}", "right-sendemail": "{{doc-right|sendemail}}", - "right-sendemail-new-users": "{{doc-right|sendemail-new-users}}", "right-managechangetags": "{{doc-right|managechangetags}}", "right-applychangetags": "{{doc-right|applychangetags}}", "right-changetags": "{{doc-right|changetags}}", diff --git a/languages/i18n/ru.json b/languages/i18n/ru.json index 45c205a5ab..22fe6863f5 100644 --- a/languages/i18n/ru.json +++ b/languages/i18n/ru.json @@ -1293,7 +1293,6 @@ "right-siteadmin": "блокировка и разблокировка базы данных", "right-override-export-depth": "экспортирование страниц, включая связанные страницы с глубиной до 5", "right-sendemail": "отправка электронной почты другим участникам", - "right-sendemail-new-users": "отправка электронной почты участникам без записей журналов", "right-managechangetags": "создание и (де)активация [[Special:Tags|меток]]", "right-applychangetags": "применение [[Special:Tags|меток]] вместе со своими правками", "right-changetags": "добавление и удаление произвольных [[Special:Tags|меток]] на отдельных правках и записях в журнале", diff --git a/languages/i18n/sl.json b/languages/i18n/sl.json index c8bd6fd771..db5e3d77e8 100644 --- a/languages/i18n/sl.json +++ b/languages/i18n/sl.json @@ -1185,7 +1185,6 @@ "right-siteadmin": "Zaklepanje in odklepanje baze podatkov", "right-override-export-depth": "Izvoz strani, vključno s povezaimi straneh do globine 5", "right-sendemail": "PoÅ¡iljanje e-poÅ¡te drugim uporabnikom", - "right-sendemail-new-users": "PoÅ¡lji e-poÅ¡to uporabnikom brez zabeleženih dejanj", "right-managechangetags": "Ustvarjanje in (dez)aktivacijo [[Special:Tags|oznak]]", "right-applychangetags": "Uveljavitev [[Special:Tags|oznak]] skupaj s spremembami", "right-changetags": "Dodajanje in odstranjevanje poljubnih [[Special:Tags|oznak]] na posameznih redakcijah in dnevniÅ¡kih vnosih", diff --git a/languages/i18n/sv.json b/languages/i18n/sv.json index 6a46a1b853..14007bfb4e 100644 --- a/languages/i18n/sv.json +++ b/languages/i18n/sv.json @@ -1247,7 +1247,6 @@ "right-siteadmin": "LÃ¥s och öppna databasen", "right-override-export-depth": "Exportera sidor inklusive länkade sidor till ett djup pÃ¥ 5", "right-sendemail": "Skicka e-post till andra användare", - "right-sendemail-new-users": "Skicka e-post till användare utan loggade handlingar", "right-managechangetags": "Skapa och (in)aktivera [[Special:Tags|märken]]", "right-applychangetags": "Tillämpa [[Special:Tags|märken]] tillsammans med ens ändringar", "right-changetags": "Lägg till och ta bort godtyckliga [[Special:Tags|märken]] pÃ¥ individuella sidversioner och loggposter.", diff --git a/languages/i18n/uk.json b/languages/i18n/uk.json index eea15023a9..19e6ab2b09 100644 --- a/languages/i18n/uk.json +++ b/languages/i18n/uk.json @@ -1251,7 +1251,6 @@ "right-siteadmin": "Блокування і розблокування бази даних", "right-override-export-depth": "експорт сторінок, включаючи пов'язані сторінки з глибиною до 5", "right-sendemail": "надсилання електронної пошти іншим користувачам", - "right-sendemail-new-users": "надсилати електронні листи до користувачів без логованих дій", "right-managechangetags": "створення та (де)активування [[Special:Tags|міток]]", "right-applychangetags": "додавання [[Special:Tags|міток]] разом зі змінами", "right-changetags": "додавання або вилучення будь-яких [[Special:Tags|міток]] для певних версій сторінок або записів журналів", diff --git a/languages/i18n/ur.json b/languages/i18n/ur.json index 9f3b3dd6c2..c5d050ce56 100644 --- a/languages/i18n/ur.json +++ b/languages/i18n/ur.json @@ -1201,7 +1201,6 @@ "right-siteadmin": "ڈیٹابیس کو مقفل یا غیر مقفل کرنا", "right-override-export-depth": "پانچویں سطح کی گہرائی تک مربوط صفحات پر مشتمل صفحات کی برآمد", "right-sendemail": "دیگر صارفین کو برقی ڈاک بھیجیں", - "right-sendemail-new-users": "لاگ ان ہوئے بغیر صارفین کو ای میل بھیجیں", "right-managechangetags": "[[Special:Tags|ٹیگوں]] کی تخلیق اور (غیر)فعالی", "right-applychangetags": "کسی کی تبدیلیوں کے ساتھ [[Special:Tags|ٹیگوں]] کا اطلاق", "right-changetags": "انفرادی نسخوں اور نوشتہ کے اندراج پر [[Special:Tags|ٹیگوں]] کا حذف و اضافہ", diff --git a/languages/i18n/zh-hans.json b/languages/i18n/zh-hans.json index 10f875e72a..b45b3bb89d 100644 --- a/languages/i18n/zh-hans.json +++ b/languages/i18n/zh-hans.json @@ -1268,7 +1268,6 @@ "right-siteadmin": "锁定和解锁数据库", "right-override-export-depth": "导出页面,包括最多5层链接", "right-sendemail": "发送电子邮件给其他用户", - "right-sendemail-new-users": "发送电子邮件至没有日志记载操作的用户", "right-managechangetags": "创建和(取消)激活[[Special:Tags|标签]]", "right-applychangetags": "连同某人的更改一起应用[[Special:Tags|标签]]", "right-changetags": "在个别修订和日志记录中添加和移除任意[[Special:Tags|标签]]", diff --git a/maintenance/dumpCategoriesAsRdf.php b/maintenance/dumpCategoriesAsRdf.php index 282a04b0c3..c1835d05d1 100644 --- a/maintenance/dumpCategoriesAsRdf.php +++ b/maintenance/dumpCategoriesAsRdf.php @@ -96,7 +96,7 @@ class DumpCategoriesAsRdf extends Maintenance { if ( substr( $licenseUrl, 0, 2 ) == '//' ) { $licenseUrl = 'https:' . $licenseUrl; } - $this->rdfWriter->about( wfExpandUrl( '/categoriesDump', PROTO_CANONICAL ) ) + $this->rdfWriter->about( $this->categoriesRdf->getDumpURI() ) ->a( 'schema', 'Dataset' ) ->a( 'owl', 'Ontology' ) ->say( 'cc', 'license' )->is( $licenseUrl ) diff --git a/tests/phpunit/data/categoriesrdf/categoriesRdf-out.nt b/tests/phpunit/data/categoriesrdf/categoriesRdf-out.nt index d2d7ea81f1..b8bd8e02e2 100644 --- a/tests/phpunit/data/categoriesrdf/categoriesRdf-out.nt +++ b/tests/phpunit/data/categoriesrdf/categoriesRdf-out.nt @@ -1,10 +1,10 @@ - . - . - . - "1.0" . - "{DATE}"^^ . - . - . + . + . + . + "1.1" . + "{DATE}"^^ . + . + . . "Category One" . . diff --git a/tests/phpunit/includes/Storage/RevisionStoreDbTest.php b/tests/phpunit/includes/Storage/RevisionStoreDbTest.php index e33de20b2e..8185670206 100644 --- a/tests/phpunit/includes/Storage/RevisionStoreDbTest.php +++ b/tests/phpunit/includes/Storage/RevisionStoreDbTest.php @@ -44,7 +44,7 @@ class RevisionStoreDbTest extends MediaWikiTestCase { ->getMock(); $lb->method( 'reallyOpenConnection' )->willReturnCallback( - function ( array $server, $dbNameOverride = false ) { + function ( array $server, $dbNameOverride ) { return $this->getDatabaseMock( $server ); } ); diff --git a/tests/phpunit/includes/db/LBFactoryTest.php b/tests/phpunit/includes/db/LBFactoryTest.php index e46a0ddbf9..e52dac6908 100644 --- a/tests/phpunit/includes/db/LBFactoryTest.php +++ b/tests/phpunit/includes/db/LBFactoryTest.php @@ -27,6 +27,7 @@ use Wikimedia\Rdbms\LBFactorySimple; use Wikimedia\Rdbms\LBFactoryMulti; use Wikimedia\Rdbms\ChronologyProtector; use Wikimedia\Rdbms\MySQLMasterPos; +use Wikimedia\Rdbms\DatabaseDomain; /** * @group Database @@ -314,7 +315,8 @@ class LBFactoryTest extends MediaWikiTestCase { } private function newLBFactoryMulti( array $baseOverride = [], array $serverOverride = [] ) { - global $wgDBserver, $wgDBuser, $wgDBpassword, $wgDBname, $wgDBtype, $wgSQLiteDataDir; + global $wgDBserver, $wgDBuser, $wgDBpassword, $wgDBname, $wgDBprefix, $wgDBtype; + global $wgSQLiteDataDir; return new LBFactoryMulti( $baseOverride + [ 'sectionsByDB' => [], @@ -325,6 +327,7 @@ class LBFactoryTest extends MediaWikiTestCase { ], 'serverTemplate' => $serverOverride + [ 'dbname' => $wgDBname, + 'tablePrefix' => $wgDBprefix, 'user' => $wgDBuser, 'password' => $wgDBpassword, 'type' => $wgDBtype, @@ -335,7 +338,7 @@ class LBFactoryTest extends MediaWikiTestCase { 'test-db1' => $wgDBserver, ], 'loadMonitorClass' => 'LoadMonitorNull', - 'localDomain' => wfWikiID() + 'localDomain' => new DatabaseDomain( $wgDBname, null, $wgDBprefix ) ] ); } @@ -361,7 +364,7 @@ class LBFactoryTest extends MediaWikiTestCase { if ( $wgDBtype !== 'sqlite' ) { $db = $lb->getConnectionRef( DB_MASTER ); $this->assertEquals( - $wgDBname, + wfWikiID(), $db->getDomainID() ); unset( $db ); @@ -369,34 +372,45 @@ class LBFactoryTest extends MediaWikiTestCase { /** @var Database $db */ $db = $lb->getConnection( DB_MASTER, [], '' ); - $lb->reuseConnection( $db ); // don't care + $this->assertEquals( + $wgDBname, + $db->getDomainId(), + 'Main domain ID handle used; same DB name' + ); + $this->assertEquals( + $wgDBname, + $db->getDBname(), + 'Main domain ID handle used; same DB name' + ); $this->assertEquals( '', - $db->getDomainID() + $db->tablePrefix(), + 'Main domain ID handle used; prefix is empty though' ); - $this->assertEquals( $this->quoteTable( $db, 'page' ), $db->tableName( 'page' ), "Correct full table name" ); - $this->assertEquals( $this->quoteTable( $db, $wgDBname ) . '.' . $this->quoteTable( $db, 'page' ), $db->tableName( "$wgDBname.page" ), "Correct full table name" ); - $this->assertEquals( $this->quoteTable( $db, 'nice_db' ) . '.' . $this->quoteTable( $db, 'page' ), $db->tableName( 'nice_db.page' ), "Correct full table name" ); + $lb->reuseConnection( $db ); // don't care + + $db = $lb->getConnection( DB_MASTER ); // local domain connection $factory->setDomainPrefix( 'my_' ); + $this->assertEquals( - '', + "$wgDBname-my_", $db->getDomainID() ); $this->assertEquals( @@ -415,7 +429,7 @@ class LBFactoryTest extends MediaWikiTestCase { } public function testTrickyDomain() { - global $wgDBtype; + global $wgDBtype, $wgDBname; if ( $wgDBtype === 'sqlite' ) { $tmpDir = $this->getNewTempDirectory(); @@ -427,18 +441,17 @@ class LBFactoryTest extends MediaWikiTestCase { $dbPath = null; } - $dbname = 'unittest-domain'; + $dbname = 'unittest-domain'; // explodes if DB is selected $factory = $this->newLBFactoryMulti( - [ 'localDomain' => $dbname ], - [ 'dbname' => $dbname, 'dbFilePath' => $dbPath ] + [ 'localDomain' => ( new DatabaseDomain( $dbname, null, '' ) )->getId() ], + [ 'dbFilePath' => $dbPath ] ); $lb = $factory->getMainLB(); /** @var Database $db */ $db = $lb->getConnection( DB_MASTER, [], '' ); - $lb->reuseConnection( $db ); // don't care $this->assertEquals( - '', + $wgDBname, $db->getDomainID() ); @@ -460,7 +473,10 @@ class LBFactoryTest extends MediaWikiTestCase { "Correct full table name" ); + $lb->reuseConnection( $db ); // don't care + $factory->setDomainPrefix( 'my_' ); + $db = $lb->getConnection( DB_MASTER, [], "$wgDBname-my_" ); $this->assertEquals( $this->quoteTable( $db, 'my_page' ), @@ -472,7 +488,6 @@ class LBFactoryTest extends MediaWikiTestCase { $db->tableName( 'other_nice_db.page' ), "Correct full table name" ); - $this->assertEquals( $this->quoteTable( $db, 'garbage-db' ) . '.' . $this->quoteTable( $db, 'page' ), $db->tableName( 'garbage-db.page' ), @@ -494,6 +509,8 @@ class LBFactoryTest extends MediaWikiTestCase { \MediaWiki\restoreWarnings(); } + $lb->reuseConnection( $db ); // don't care + $factory->closeAll(); $factory->destroy(); } diff --git a/tests/phpunit/includes/jobqueue/JobQueueTest.php b/tests/phpunit/includes/jobqueue/JobQueueTest.php index 7b34b59b15..bd21dc8a3e 100644 --- a/tests/phpunit/includes/jobqueue/JobQueueTest.php +++ b/tests/phpunit/includes/jobqueue/JobQueueTest.php @@ -1,5 +1,7 @@ 'JobQueueDB' ]; + $baseConfig = [ 'class' => 'JobQueueDBSingle' ]; } $baseConfig['type'] = 'null'; $baseConfig['wiki'] = wfWikiID(); @@ -381,3 +383,11 @@ class JobQueueTest extends MediaWikiTestCase { [ 'lives' => 0, 'usleep' => 0, 'removeDuplicates' => 1, 'i' => $i ] + $rootJob ); } } + +class JobQueueDBSingle extends JobQueueDB { + protected function getDB( $index ) { + $lb = MediaWikiServices::getInstance()->getDBLoadBalancer(); + // Override to not use CONN_TRX_AUTO so that we see the same temporary `job` table + return $lb->getConnection( $index, [], $this->wiki ); + } +} diff --git a/tests/phpunit/maintenance/categoriesRdfTest.php b/tests/phpunit/maintenance/categoriesRdfTest.php index f03a201fed..48935c3984 100644 --- a/tests/phpunit/maintenance/categoriesRdfTest.php +++ b/tests/phpunit/maintenance/categoriesRdfTest.php @@ -69,8 +69,8 @@ class CategoriesRdfTest extends MediaWikiLangTestCase { $dumpScript->execute(); $actualOut = file_get_contents( $outFileName ); $actualOut = preg_replace( - '| "[^"]+?"|', - ' "{DATE}"', + '| "[^"]+?"|', + ' "{DATE}"', $actualOut );