warmup: true
-runs: 5
+runs: 7
scenarios:
Read a page:
# The only page that exists by default is the main page.
$config,
LoggerFactory::getInstance( 'resourceloader' )
);
+
$rl->addSource( $config->get( 'ResourceLoaderSources' ) );
+
+ // Core modules, then extension/skin modules
$rl->register( include "$IP/resources/Resources.php" );
+ $rl->register( $config->get( 'ResourceModules' ) );
+ Hooks::run( 'ResourceLoaderRegisterModules', [ &$rl ] );
+
+ if ( $config->get( 'EnableJavaScriptTest' ) === true ) {
+ $rl->registerTestModules();
+ }
return $rl;
},
"config-support-info": "MediaWiki prend en charge ces systèmes de bases de données :\n\n$1\n\nSi vous ne voyez pas le système de base de données que vous essayez d’utiliser ci-dessous, alors suivez les instructions ci-dessus (voir liens) pour activer la prise en charge.",
"config-dbsupport-mysql": "* [{{int:version-db-mariadb-url}} MariaDB] est le premier choix pour MediaWiki et est le mieux pris en charge. MediaWiki fonctionne aussi avec [{{int:version-db-mysql-url}} MySQL] et [{{int:version-db-percona-url}} Percona Server], qui sont compatibles avec MariaDB. ([https://www.php.net/manual/en/mysqli.installation.php Comment compiler PHP avec la prise en charge de MySQL])",
"config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] est un système de base de données populaire en ''source ouverte'' qui peut être une alternative à MySQL ([https://www.php.net/manual/en/pgsql.installation.php Comment compiler PHP avec la prise en charge de PostgreSQL]).",
- "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] est un système de base de données léger bien pris en charge ([https://www.php.net/manual/en/pdo.installation.php Comment compiler PHP avec la prise en charge de SQLite], en utilisant PDO).",
+ "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] est un système de base de données léger bien pris en charge ([https://www.php.net/manual/en/pdo.installation.php Comment compiler PHP avec la prise en charge de SQLite], en utilisant PDO)",
"config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] est un système commercial de gestion de base de données d’entreprise. ([https://www.php.net/manual/en/oci8.installation.php Comment compiler PHP avec la prise en charge d’OCI8])",
"config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] est une base de données commerciale d’entreprise pour Windows. ([https://www.php.net/manual/en/sqlsrv.installation.php Comment compiler PHP avec la prise en charge de SQLSRV])",
"config-header-mysql": "Paramètres de MariaDB/MySQL",
"config-license-help": "Beaucoup de wikis publics mettent l’ensemble des contributions sous une [https://freedomdefined.org/Definition/Fr licence libre].\nCela contribue à créer un sentiment d’appartenance à une communauté et encourage les contributions sur le long terme.\nCe n’est généralement pas nécessaire pour un wiki privé ou d’entreprise.\n\nSi vous souhaitez utiliser des textes de Wikipédia, et souhaitez que Wikipédia puisse réutiliser des textes copiés depuis votre wiki, vous devriez choisir <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipédia utilisait auparavant la Licence de Documentation Libre GNU (GFDL).\nC’est une licence valide, mais difficile à comprendre. \nIl est aussi difficile de réutiliser du contenu sous la licence GFDL.",
"config-email-settings": "Paramètres de courriel",
"config-enable-email": "Activer les courriels sortants",
- "config-enable-email-help": "Si vous souhaitez utiliser le courriel, vous devez avoir les [https://www.php.net/manual/en/mail.configuration.php paramètres courriel de PHP] configurés correctement (texte en anglais).\nSi vous ne voulez pas du service de courriel, vous pouvez le désactiver ici.",
+ "config-enable-email-help": "Si vous souhaitez utiliser le courriel, vous devez avoir configuré correctement les [https://www.php.net/manual/en/mail.configuration.php paramètres courriel de PHP] (texte en anglais).\nSi vous ne voulez pas du service de courriel, vous pouvez le désactiver ici.",
"config-email-user": "Activer les courriers électroniques d'utilisateur à utilisateur",
"config-email-user-help": "Permet à tous les utilisateurs d'envoyer des courriels à d'autres utilisateurs si cela est activé dans leurs préférences.",
"config-email-usertalk": "Activer la notification des pages de discussion des utilisateurs",
// Special module that always exists
$this->register( 'startup', [ 'class' => ResourceLoaderStartUpModule::class ] );
- // Register extension modules
- $this->register( $config->get( 'ResourceModules' ) );
-
- // Avoid PHP 7.1 warning from passing $this by reference
- $rl = $this;
- Hooks::run( 'ResourceLoaderRegisterModules', [ &$rl ] );
-
- if ( $config->get( 'EnableJavaScriptTest' ) === true ) {
- $this->registerTestModules();
- }
-
$this->setMessageBlobStore( new MessageBlobStore( $this, $this->logger ) );
}
}
}
+ /**
+ * @internal For use by ServiceWiring only
+ */
public function registerTestModules() {
global $IP;
}
/**
- * Get the Database object used in getTitleInfo().
+ * Get the Database handle used for computing the module version.
*
- * Defaults to the local replica DB. Subclasses may want to override this to return a foreign
- * database object, or null if getTitleInfo() shouldn't access the database.
+ * Subclasses may override this to return a foreign database, which would
+ * allow them to register a module on wiki A that fetches wiki pages from
+ * wiki B.
*
- * NOTE: This ONLY works for getTitleInfo() and isKnownEmpty(), NOT FOR ANYTHING ELSE.
- * In particular, it doesn't work for getContent() or getScript() etc.
+ * The way this works is that the local module is a placeholder that can
+ * only computer a module version hash. The 'source' of the module must
+ * be set to the foreign wiki directly. Methods getScript() and getContent()
+ * will not use this handle and are not valid on the local wiki.
*
- * @return IDatabase|null
+ * @return IDatabase
*/
protected function getDB() {
return wfGetDB( DB_REPLICA );
*/
protected function getTitleInfo( ResourceLoaderContext $context ) {
$dbr = $this->getDB();
- if ( !$dbr ) {
- // We're dealing with a subclass that doesn't have a DB
- return [];
- }
$pageNames = array_keys( $this->getPages( $context ) );
sort( $pageNames );
$module = $rl->getModule( $name );
if ( $module instanceof self ) {
$mDB = $module->getDB();
- // Subclasses may disable getDB and implement getTitleInfo differently
- if ( $mDB && $mDB->getDomainID() === $db->getDomainID() ) {
+ // Subclasses may implement getDB differently
+ if ( $mDB->getDomainID() === $db->getDomainID() ) {
$wikiModules[] = $module;
$allPages += $module->getPages( $context );
}
"histfirst": "اول",
"histlast": "آخر",
"historysize": "({{PLURAL:$1|1 بايت|$1 بايت}})",
- "historyempty": "(فاضى)",
+ "historyempty": "فاضى",
"history-feed-title": "تاريخ المراجعة",
"history-feed-description": "تاريخ التعديل بتاع الصفحة دى على الويكي",
"history-feed-item-nocomment": "$1 فى $2",
"rcfilters-watchlist-markseen-button": "Marcar tolos cambios como vistos",
"rcfilters-watchlist-edit-watchlist-button": "Edita la to llista de páxines siguíes",
"rcfilters-watchlist-showupdated": "Los cambeos fechos en páxines que nun visitasti desque se ficieron apaecen en <strong>negrina</strong>, con marcadores sólidos.",
- "rcfilters-preference-label": "Tapecer la versión meyorada de Cambios recién",
+ "rcfilters-preference-label": "Usar la interfaz ensin JavaScript",
"rcfilters-preference-help": "Revierte'l rediseñu de la interfaz de 2017 y toles ferramientes añadíes d'entós aquí.",
"rcfilters-watchlist-preference-label": "Tapecer la versión ameyorada de la Llista de siguimientu",
"rcfilters-watchlist-preference-help": "Desfai el rediseñu de la interfaz de 2017 y toles ferramientes añadíes d'entós acá.",
"action-autoconfirmed": "адсутнасьць абмежаваньня хуткасьці паводле IP-адрасу",
"action-bigdelete": "выдаленьне старонак зь вялікай гісторыяй",
"action-blockemail": "блякаваньне ўдзельніку магчымасьці адпраўкі лістоў электроннай поштай",
+ "action-bot": "тое, каб лічыцца аўтаматычным працэсам",
"nchanges": "$1 {{PLURAL:$1|зьмена|зьмены|зьменаў}}",
"enhancedrc-since-last-visit": "$1 {{PLURAL:$1|з апошняга візыту}}",
"enhancedrc-history": "гісторыя",
"exif-compression-4": "CCITT Group 4, факс куодтааһына",
"exif-copyrighted-true": "Ааптар быраабынан араҥаччыланар",
"exif-copyrighted-false": "Бас билиитэ чопчуламматах",
+ "exif-photometricinterpretation-0": "Хара уонна маҥан (маҥан - 0).",
"exif-photometricinterpretation-1": "Хара уонна маҥан (хара - 0).",
+ "exif-photometricinterpretation-3": "Өҥ палитрата",
+ "exif-photometricinterpretation-4": "Дьэҥкир мааска",
+ "exif-photometricinterpretation-5": "Хайытыллыбыт (арааһа CMYK)",
+ "exif-photometricinterpretation-8": "CIE L*a*b*",
+ "exif-photometricinterpretation-9": "CIE L*a*b* (ICC-кодирование)",
+ "exif-photometricinterpretation-10": "CIE L*a*b* (ITU-кодирование)",
"exif-unknowndate": "Күнэ-ыйа биллибэт",
"exif-orientation-1": "Нуорма",
"exif-orientation-2": "Сытыары көстүбүт",
"page_first": "نخست",
"page_last": "واپسین",
"histlegend": "انتخاب تفاوت: دکمههای گرد کنار ویرایشهایی که میخواهید با هم مقایسه کنید را علامت بزنید و دکمهٔ Enter را بزنید یا دکمهٔ پایین را فشار دهید.<br />\nاختصارات: '''({{int:cur}})''' = تفاوت با نسخهٔ فعلی، '''({{int:last}})''' = تفاوت با نسخهٔ قبلی، '''({{int:minoreditletter}})''' = ویرایش جزئی.",
- "history-fieldset-title": "جستجو برای نسخهها",
+ "history-fieldset-title": "فیلتر کردن نسخهها",
"history-show-deleted": "فقط نسخههای حذف شده",
"histfirst": "قدیمیترین",
"histlast": "جدیدترین",
"action-changetags": "افزودن یا حذف برچسب قراردادی بر روی نسخه یا سیاهه ورودیها",
"action-deletechangetags": "حذف برچسبها از پایگاه داده",
"action-purge": "خالیکردن میانگیر این صفحه",
+ "action-apihighlimits": "افزایش محدودیتها برای پرسمانهای رابط برنامهنویسی",
+ "action-autoconfirmed": "از محدودیتهای سرعت آیپی-محور تاثیر نمیگیرد",
+ "action-bigdelete": "حذف صفحههای دارای تاریخچهٔ بزرگ",
+ "action-blockemail": "قطع دسترسی دیگر کاربران برای ارسال ایمیل",
+ "action-bot": "تلقیشده به عنوان یک فرآیند خودکار",
+ "action-editprotected": "ویرایش صفحههای محافظتشده به عنوان «{{int:protect-level-sysop}}»",
+ "action-editsemiprotected": "ویرایش صفحه محافظتشده به عنوان «{{int:protect-level-autoconfirmed}}»",
+ "action-editinterface": "ویرایش واسط کاربری",
+ "action-editusercss": "ویرایش صفحههای CSS دیگر کاربرها",
+ "action-edituserjson": "ویرایش پروندههای JSON دیگر کاربرها",
+ "action-edituserjs": "ویرایش صفحههای JS دیگر کاربرها",
+ "action-editsitecss": "ویرایش گسترده CSS وبگاه",
+ "action-editsitejson": "ویرایش گسترده JSON وبگاه",
+ "action-editsitejs": "ویرایش گسترده JavaScript وبگاه",
+ "action-editmyusercss": "پروندههای سیاساس کاربری خود را ویرایش کنید",
+ "action-editmyuserjson": "پروندههای JSON کاربری خود را ویرایش کنید",
+ "action-editmyuserjs": "پروندههای جاوااسکریپت کاربری خود را ویرایش کنید",
+ "action-viewsuppressed": "مشاهده نسخههایی که از کاربران مخفی شدهاند",
+ "action-hideuser": "قطع دسترسی کاربر و پنهان کردن آن از دید عموم",
+ "action-ipblock-exempt": "تأثیر نپذیرفتن از قطع دسترسیهای آیپی، خودکار یا فاصلهای",
+ "action-unblockself": "بازکردن دسترسی خود",
+ "action-noratelimit": "تاثیر نپذیرفتن از محدودیت سرعت",
+ "action-reupload-own": "بارگذاری دوبارهٔ پروندهای که پیش از این توسط همان کاربر بارگذاری شدهاست",
+ "action-nominornewtalk": "ویرایش جزئی صفحههای بحث به شکلی که باعث اعلان پیغام تازه نشود",
+ "action-markbotedits": "علامت زدن ویرایشهای واگردانیشده به عنوان ویرایش ربات",
+ "action-patrolmarks": "مشاهدهٔ برچسب گشت تغییرات اخیر",
+ "action-override-export-depth": "برونبری صفحهها شامل صفحههای پیوند شده تا عمق ۵",
+ "action-suppressredirect": "انتقال صفحه بدون ایجاد تغییرمسیر از نام قبلی",
"nchanges": "$1 تغییر",
"enhancedrc-since-last-visit": "$1 {{PLURAL:$1|از آخرین بازدید}}",
"enhancedrc-history": "تاریخچه",
"delete-confirm": "حذف «$1»",
"delete-legend": "حذف",
"historywarning": "<strong>هشدار:</strong> صفحهای که در حال پاک کردن آن هستید دارای یک تاریخچه همراه با $1 {{PLURAL:$1|بازبینی|بازبینی}} است:",
- "historyaction-submit": "نمایش",
+ "historyaction-submit": "نمایش نسخهها",
"confirmdeletetext": "شما در حال حذف کردن یک صفحه یا تصویر از پایگاههای داده همراه با تمام تاریخچهٔ آن هستید.\nلطفاً این عمل را تأیید کنید و اطمینان حاصل کنید که عواقب این کار را میدانید و این عمل را مطابق با [[{{MediaWiki:Policy-url}}|سیاستها]] انجام میدهید.",
"actioncomplete": "عمل انجام شد",
"actionfailed": "عمل ناموفق بود",
"action-apihighlimits": "käyttää korkeampia rajoja API-kyselyissä",
"action-bigdelete": "poistaa sivuja, joilla on pitkä historia",
"action-blockemail": "estää käyttäjää lähettämästä sähköpostia",
+ "action-editprotected": "muokata sivuja, jotka on suojattu tasolle ”{{int:protect-level-sysop}}”",
+ "action-editsemiprotected": "muokata sivuja, jotka on suojattu tasolle ”{{int:protect-level-autoconfirmed}}”",
"action-editusercss": "muokata toisten käyttäjien CSS-tiedostoja",
"action-edituserjson": "muokata toisten käyttäjien JSON-tiedostoja",
"action-edituserjs": "muokata toisten käyttäjien JavaScript-tiedostoja",
"action-changetags": "ajouter et supprimer de façon arbitraire des balises sur des révisions individuelles et des entrées de journal",
"action-deletechangetags": "supprimer des balises de la base de données",
"action-purge": "purger cette page",
- "action-apihighlimits": "utiliser de limites plus élevées dans les requêtes à l’API",
+ "action-apihighlimits": "utiliser des limites plus élevées dans les requêtes à l’API",
"action-autoconfirmed": "ne pas être impacté par les limites de taux basées sur l’IP",
"action-bigdelete": "supprimer des pages avec de grands historiques",
"action-blockemail": "empêcher un utilisateur d’envoyer des courriels",
"action-ipblock-exempt": "contourner les blocages d’IP, blocages automatiques et blocages de plages d’IP",
"action-unblockself": "vous débloquer vous-même",
"action-noratelimit": "ne pas être impacté par les limites de taux",
- "action-reupload-own": "écraser des fichiers que vous avez vous-même importés",
+ "action-reupload-own": "écraser les fichiers existants que vous avez vous-même téléversés",
"action-nominornewtalk": "ne pas déclencher la notification de nouveau message lors d’une modification mineure sur une pages de discussion",
"action-markbotedits": "marquer des modifications révoquées comme ayant été faites par un robot",
"action-patrolmarks": "voir les indications de relecture dans les modifications récentes",
"rcfilters-filter-editsbyself-label": "Wizigings fan jo",
"rcfilters-filter-editsbyself-description": "Jo eigen bydragen.",
"rcfilters-filter-editsbyother-label": "Wizigings fan oaren",
- "rcfilters-filter-editsbyother-description": "Alle wizigings útsein jo eigen.",
+ "rcfilters-filter-editsbyother-description": "Alle wizigings, útsein jo eigen.",
"rcfilters-filtergroup-userExpLevel": "Meidoggerynskriuwing en bedreaunens",
"rcfilters-filter-user-experience-level-registered-label": "Ynskreaun",
"rcfilters-filter-user-experience-level-registered-description": "Oanmelde bewurkers.",
"rcfilters-filter-user-experience-level-unregistered-label": "Net-ynskreaun",
"rcfilters-filter-user-experience-level-unregistered-description": "Bewurkers dy't net oanmeld binne.",
"rcfilters-filter-user-experience-level-newcomer-label": "Nijkommers",
+ "rcfilters-filter-user-experience-level-newcomer-description": "Ynskreaune bewurkers dy't minder hawwe as 10 bewurkings of 4 dagen dwaande.",
"rcfilters-filter-user-experience-level-learner-label": "Learders",
+ "rcfilters-filter-user-experience-level-learner-description": "Ynskreaune bewurkers waans ûnderfining falt tusken \"Nijkommers\" en \"Bedreaune meidoggers\".",
"rcfilters-filter-user-experience-level-experienced-label": "Bedreaune meidoggers",
+ "rcfilters-filter-user-experience-level-experienced-description": "Ynskreaune bewurkers mei mear as 500 bewurkings en 30 dagen dwaande.",
"rcfilters-filtergroup-automated": "Automatisearre bydragen",
"rcfilters-filter-bots-description": "Wizigings makke troch automatisearre helpmiddels.",
"rcfilters-filter-humans-label": "Minske (gjin bot)",
"rcfilters-filter-major-description": "Feroarings net lebele as fan lytse betsjutting.",
"rcfilters-filtergroup-watchlist": "Folchlistsiden",
"rcfilters-filter-watchlist-watched-label": "Op 'e folchlist",
+ "rcfilters-filter-watchlist-watched-description": "Wizigings oan siden op jo folchlist.",
"rcfilters-filter-watchlist-watchednew-label": "Nije folchlistwizigings",
+ "rcfilters-filter-watchlist-watchednew-description": "Wizigings oan folchlistsiden dy't jo dêrnei noch net besocht hawwe.",
"rcfilters-filter-watchlist-notwatched-label": "Net op 'e folchlist",
+ "rcfilters-filter-watchlist-notwatched-description": "Alles, útsein wizigings oan jo folchlistsiden.",
"rcfilters-filtergroup-changetype": "Wizigingssoarte",
"rcfilters-filter-pageedits-label": "Sidebewurkings",
+ "rcfilters-filter-pageedits-description": "Wizigings oan wikiynhâld, diskusjes, kategorybeskriuwings …",
"rcfilters-filter-newpages-label": "Nije siden",
+ "rcfilters-filter-newpages-description": "Wizigings wêrmei't nije siden oanmakke wurde.",
"rcfilters-filter-categorization-label": "Kategoryferoarings",
+ "rcfilters-filter-categorization-description": "Ynfo oer siden taheakke oan, as weihelle út kategoryen.",
"rcfilters-filter-logactions-label": "Lochaksjes",
+ "rcfilters-filter-logactions-description": "Administrative hannelings, akkounts oanmeitsjen, siden wiskjen, bestannen opladen …",
"rcfilters-filtergroup-lastRevision": "Lêste ferzjes",
"rcfilters-filter-lastrevision-label": "Lêste ferzje",
+ "rcfilters-filter-lastrevision-description": "Allinnich de resintste wiziging fan in side.",
"rcfilters-filter-previousrevision-label": "Net de lêste ferzje",
+ "rcfilters-filter-previousrevision-description": "Alle wizigings dy't net de \"lêste ferzje\" binne.",
"rcfilters-filter-excluded": "Utsein",
"rcfilters-exclude-button-off": "Seleksje omkeare",
"rcfilters-exclude-button-on": "Omkearde seleksje",
"recentchangeslinked-summary": "Dizze spesjale side lit de lêste bewurkings sjen op siden dy't keppele wurde fan in spesifisearre side ôf (of fan in spesifisearre Kategory ôf). Siden dy't op [[Special:Watchlist|jo folchlist]] steane, wurde '''tsjûk''' werjûn.",
"recentchangeslinked-page": "Sidenamme:",
"recentchangeslinked-to": "Feroarings oan siden mei ferwizings nei dizze side besjen",
+ "recentchanges-page-added-to-category": "[[:$1]] oan kategory taheakke",
+ "recentchanges-page-added-to-category-bundled": "[[:$1]] oan kategory taheakke; [[Special:WhatLinksHere/$1|dizze side is opnommen yn oare siden]]",
+ "recentchanges-page-removed-from-category": "[[:$1]] út kategory weihelle",
+ "recentchanges-page-removed-from-category-bundled": "[[:$1]] út kategory weihelle; [[Special:WhatLinksHere/$1|dizze side is opnommen yn oare siden]]",
"upload": "Bied bestân oan",
"uploadbtn": "Bied bestân oan",
"reuploaddesc": "Opladen annulearje en weromgean nei it oanbiedformulier",
"prefs-help-gender": "Postavljanje ove mogućnosti je opcionalno.\nProgramska oprema koristi danu vrijednost kako bi Vam se obratila i spomenula Vas drugima rabeći odgovarajući gramatički rod.\nOvaj podatak bit će javno dostupan.",
"email": "Adresa elektroničke pošte *",
"prefs-help-realname": "Pravo ime nije obvezno. Ako ga navedete, može biti rabljeno za pripisivanje Vaših doprinosa.",
- "prefs-help-email": "E-mail adresa nije obvezna, ali je potrebna za obnovu lozinke u slučaju da ju zaboravite.",
- "prefs-help-email-others": "Također možete odabrati da vas ostali kontaktiraju preko vaše suradničke ili stranice za razgovor bez javnog otkrivanja vašeg identiteta.",
+ "prefs-help-email": "Adresa e-pošte nije obvezna, ali je potrebna u slučaju ponovnih postavljanja zaporke, ako zaboravite Vašu zaporku.",
+ "prefs-help-email-others": "Također možete dopustiti drugima da Vas kontaktiraju preko poveznice na lijevoj strani Vaše stranice odnosno stranice za razgovor.\nVaša adresa e-pošte ne će biti prikazana drugim suradnicima koji Vas kontaktiraju.",
"prefs-help-email-required": "Potrebno je navesti adresu e-pošte (e-mail).",
"prefs-info": "Osnovni podatci",
"prefs-i18n": "Internacionalizacija",
"page_first": "éischt",
"page_last": "lescht",
"histlegend": "Fir d'Ännerungen unzeweisen: Klickt déi zwou Versiounen un, déi solle verglach ginn.<br />\n*(aktuell) = Ënnerscheed mat der aktueller Versioun,\n*(lescht) = Ënnerscheed mat der aler Versioun,\n*k = Kleng Ännerung.",
- "history-fieldset-title": "No Versioune sichen",
+ "history-fieldset-title": "Versioune filteren",
"history-show-deleted": "Nëmme geläscht Versiounen",
"histfirst": "eelst",
"histlast": "neist",
"suppress": "ระงับ",
"querypage-disabled": "หน้าพิเศษนี้ถูกปิดใช้งานด้วยเหตุผลด้านสมรรถภาพ",
"apihelp-no-such-module": "ไม่พบมอดูล \"$1\"",
+ "apisandbox": "ทดลองเขียนเอพีไอ",
"apisandbox-api-disabled": "ไซต์นี้ไม่เปิดใช้ API",
"apisandbox-submit": "ส่งคำขอ",
"apisandbox-reset": "ล้าง",
"logentry-contentmodel-change-revert": "ย้อน",
"protectlogpage": "ปูมการป้องกัน",
"protectlogtext": "ด้านล่างเป็นรายการการเปลี่ยนแปลงการล็อกหน้า\nดู[[Special:ProtectedPages|รายการหน้าที่ถูกล็อก]]สำหรับการล็อกหน้าที่มีผลอยู่ในปัจจุบัน",
- "protectedarticle": "à¹\84à¸\94à¹\89à¸\9bà¹\89à¸à¸\87à¸\81ัà¸\99 \"[[$1]]\"",
+ "protectedarticle": "ป้องกัน \"[[$1]]\"",
"modifiedarticleprotection": "เปลี่ยนระดับการล็อกของ \"[[$1]]\"",
"unprotectedarticle": "ยกเลิกการล็อกจาก \"[[$1]]\"",
- "movedarticleprotection": "ยà¹\89ายà¸\81ารà¸\95ัà¹\89à¸\87à¸\84à¹\88าà¸\81ารลà¹\87à¸à¸\81จาก \"[[$2]]\" ไป \"[[$1]]\"",
+ "movedarticleprotection": "ยà¹\89ายà¸\81ารà¸\95ัà¹\89à¸\87à¸\84à¹\88าà¸\81ารà¸\9bà¹\89à¸à¸\87à¸\81ัà¸\99จาก \"[[$2]]\" ไป \"[[$1]]\"",
"protectedarticle-comment": "ป้องกัน \"[[$1]]\"",
"modifiedarticleprotection-comment": "{{GENDER:$2|}}เปลี่ยนระดับการล็อกสำหรับ \"[[$1]]\"",
"unprotectedarticle-comment": "{{GENDER:$2|ยกเลิกการป้องกัน}}จาก \"[[$1]]\"",
"tag-list-wrapper": "[[Special:Tags|{{PLURAL:$1|Tag|ป้ายระบุ}}]]: $2",
"tag-mw-new-redirect": "เปลี่ยนทางใหม่",
"tag-mw-new-redirect-description": "การแก้ไขที่สร้างหน้าเปลี่ยนทางใหม่หรือเปลี่ยนแปลงหน้าเป็นหน้าเปลี่ยนทาง",
- "tag-mw-removed-redirect": "ลà¸\9aหà¸\99à¹\89าà¹\80à¸\9bลà¹\88ีà¹\88ยà¸\99à¸\97าà¸\87",
+ "tag-mw-removed-redirect": "ลบหน้าเปลี่ยนทาง",
"tag-mw-removed-redirect-description": "การแก้ไขี่เปลี่ยนหน้าเปลีี่ยนทางเดิมให้มิใช่หน้าเปลี่ยนทาง",
"tag-mw-changed-redirect-target": "เปลี่ยนเป้าหมายหน้าเปลี่ยนทาง",
"tag-mw-changed-redirect-target-description": "การแก้ไขที่เปลี่ยนเป้าหมายของหน้าเปลี่ยนทาง",
"logentry-newusers-autocreate": "บัญชีผู้ใช้ $1 ถูกสร้างขึ้นอัตโนมัติ",
"logentry-protect-move_prot": "$1 ย้ายการตั้งค่าการล็อกจาก $4 ไป $3",
"logentry-protect-unprotect": "$1 ลบการล็อกจาก $3",
- "logentry-protect-protect": "$1 {{GENDER:$2|à¹\84à¸\94à¹\89à¸\9bà¹\89à¸à¸\87à¸\81ัà¸\99}} $3 $4",
- "logentry-protect-protect-cascade": "$1 {{GENDER:$2|à¹\84à¸\94à¹\89à¸\9bà¹\89à¸à¸\87à¸\81ัà¸\99}} $3 $4 [à¸\95à¹\88à¸à¹\80รียà¸\87]",
+ "logentry-protect-protect": "$1 {{GENDER:$2|ป้องกัน}} $3 $4",
+ "logentry-protect-protect-cascade": "$1 {{GENDER:$2|ป้องกัน}} $3 $4 [ต่อเรียง]",
"logentry-protect-modify": "$1 เปลี่ยนระดับการตั้งค่าสำหรับ $3 $4",
"logentry-protect-modify-cascade": "$1 เปลี่ยนระดับการตั้งค่าสำหรับ $3 $4 [ต่อเรียง]",
"logentry-rights-rights": "$1 {{GENDER:$2|เปลี่ยน}}กลุ่มสมาชิกของ $3 จาก $4 เป็น $5",
"ipb-confirm": "确认封禁",
"ipb-sitewide": "全站范围",
"ipb-partial": "部分的",
- "ipb-sitewide-help": "在 wiki 上的各个页面以及其它贡献行为。",
+ "ipb-sitewide-help": "在维基上的所有页面以及其它贡献行为。",
"ipb-partial-help": "特殊页面或名字空间。",
"ipb-pages-label": "页面",
"ipb-namespaces-label": "名字空间",
"ipb-confirm": "確認封鎖",
"ipb-sitewide": "全站範圍",
"ipb-partial": "部分",
- "ipb-sitewide-help": "在 wiki 上的各個頁面以及其它貢獻行為。",
- "ipb-partial-help": "特殊頁面或命名空間。",
+ "ipb-sitewide-help": "在維基上的所有頁面以及其它貢獻行為。",
+ "ipb-partial-help": "指定頁面或命名空間。",
"ipb-pages-label": "頁面",
"ipb-namespaces-label": "命名空間",
"badipaddress": "無效的 IP 位址",
<?php
use Wikimedia\TestingAccessWrapper;
+use MediaWiki\MediaWikiServices;
class ResourceLoaderTest extends ResourceLoaderTestCase {
/**
* Ensure the ResourceLoaderRegisterModules hook is called.
- *
- * @covers ResourceLoader::__construct
+ * @coversNothing
*/
- public function testConstructRegistrationHook() {
- $resourceLoaderRegisterModulesHook = false;
+ public function testServiceWiring() {
+ $this->overrideMwServices();
+ $ranHook = 0;
$this->setMwGlobals( 'wgHooks', [
'ResourceLoaderRegisterModules' => [
- function ( &$resourceLoader ) use ( &$resourceLoaderRegisterModulesHook ) {
- $resourceLoaderRegisterModulesHook = true;
+ function ( &$resourceLoader ) use ( &$ranHook ) {
+ $ranHook++;
}
]
] );
- $unused = new ResourceLoader();
- $this->assertTrue(
- $resourceLoaderRegisterModulesHook,
- 'Hook ResourceLoaderRegisterModules called'
- );
+ MediaWikiServices::getInstance()->getResourceLoader();
+
+ $this->assertSame( 1, $ranHook, 'Hook was called' );
}
/**