"require-dev": {
"jakub-onderka/php-parallel-lint": "0.9.2",
"justinrainbow/json-schema": "~1.3",
- "mediawiki/mediawiki-codesniffer": "0.7.1",
+ "mediawiki/mediawiki-codesniffer": "0.7.2",
"monolog/monolog": "~1.18.2",
"nikic/php-parser": "1.4.1",
"nmred/kafka-php": "0.1.5",
}
}
- return true;
+ return;
}
# NOTE: Permission errors already handled by Action::checkExecute.
);
$de->showDiff( '', '' );
}
- return true;
+ return;
}
protected function getDescription() {
"@metadata": {
"authors": [
"Gorizon",
- "Mirzali"
+ "Mirzali",
+ "Kumkumuk"
]
},
+ "apihelp-block-description": "Enê karberi bloqe ke",
"apihelp-createaccount-param-name": "Nameyê karberi.",
"apihelp-delete-description": "Pele bestere.",
"apihelp-disabled-description": "Eno modul aktiv niyo.",
"apihelp-feedrecentchanges-param-hidebots": "Vurnayışanê botan bınımne.",
"apihelp-feedrecentchanges-param-hideanons": "Vurnayışanê karberanê anoniman bınımne.",
"apihelp-feedrecentchanges-param-hideliu": "Vurnayışanê karberanê qeydınan bınımne.",
+ "apihelp-feedrecentchanges-param-tagfilter": "Filtrey etiketi",
+ "apihelp-feedrecentchanges-example-simple": "Vurnayışê peyênan bıvin",
+ "apihelp-feedrecentchanges-example-30days": "Peyni vurnayışanê 30 raco bımosne",
"apihelp-login-param-name": "Nameyê karberi.",
"apihelp-login-param-password": "Parola.",
"apihelp-login-param-domain": "Domain (optional).",
* - id: (string, optional) DOM id for the button.
* - attribs: (array, optional) Additional HTML attributes.
* - flags: (string|string[], optional) OOUI flags.
+ * - framed: (boolean=true, optional) OOUI framed attribute.
* @return HTMLForm $this for chaining calls (since 1.20)
*/
public function addButton( $data ) {
'id' => null,
'attribs' => null,
'flags' => null,
+ 'framed' => true,
];
return $this;
'value' => $button['value'],
'label' => $label,
'flags' => $button['flags'],
+ 'framed' => $button['framed'],
'useInputTag' => $isBadIE,
] + $attrs );
}
protected $mEntryErrorType = 'error';
protected $mLoaded = false;
+ protected $mLoadedRequest = false;
protected $mSecureLoginUrl;
/** @var string */
$wgUseMediaWikiUIEverywhere = true;
}
+ protected function setRequest( array $data, $wasPosted = null ) {
+ parent::setRequest( $data, $wasPosted );
+ $this->mLoadedRequest = false;
+ }
+
/**
- * Load data from request.
- * @private
- * @param string $subPage Subpage of Special:Userlogin
+ * Load basic request parameters for this Special page.
+ * @param $subPage
*/
- protected function load( $subPage ) {
- global $wgSecureLogin;
-
- if ( $this->mLoaded ) {
+ private function loadRequestParameters( $subPage ) {
+ if ( $this->mLoadedRequest ) {
return;
}
- $this->mLoaded = true;
-
+ $this->mLoadedRequest = true;
$request = $this->getRequest();
$this->mPosted = $request->wasPosted();
$this->mLanguage = $request->getText( 'uselang' );
$this->mReturnTo = $request->getVal( 'returnto', '' );
$this->mReturnToQuery = $request->getVal( 'returntoquery', '' );
+ }
+
+ /**
+ * Load data from request.
+ * @private
+ * @param string $subPage Subpage of Special:Userlogin
+ */
+ protected function load( $subPage ) {
+ global $wgSecureLogin;
+
+ $this->loadRequestParameters( $subPage );
+ if ( $this->mLoaded ) {
+ return;
+ }
+ $this->mLoaded = true;
+ $request = $this->getRequest();
$securityLevel = $this->getRequest()->getText( 'force' );
if (
return $params;
}
+ protected function beforeExecute( $subPage ) {
+ // finish initializing the class before processing the request - T135924
+ $this->loadRequestParameters( $subPage );
+ return parent::beforeExecute( $subPage );
+ }
+
/**
* @param string|null $subPage
*/
$out = $this->getOutput();
$out->allowClickjacking();
$out->addModuleStyles( [
- 'mediawiki.special', 'mediawiki.special.search', 'mediawiki.ui', 'mediawiki.ui.button',
+ 'mediawiki.special', 'mediawiki.special.search.styles', 'mediawiki.ui', 'mediawiki.ui.button',
'mediawiki.ui.input', 'mediawiki.widgets.SearchInputWidget.styles',
] );
$this->addHelpLink( 'Help:Searching' );
'dataLocation' => 'content',
] );
+ $layout = new OOUI\ActionFieldLayout( $searchWidget, new OOUI\ButtonInputWidget( [
+ 'type' => 'submit',
+ 'label' => $this->msg( 'searchbutton' )->text(),
+ 'flags' => [ 'progressive', 'primary' ],
+ ] ), [
+ 'align' => 'top',
+ ] );
+
$out =
Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() ) .
Html::hidden( 'profile', $this->profile ) .
Html::hidden( 'fulltext', 'Search' ) .
- $searchWidget .
- new OOUI\ButtonInputWidget( [
- 'type' => 'submit',
- 'label' => $this->msg( 'searchbutton' )->text(),
- 'flags' => [ 'progressive', 'primary' ],
- ] );
+ $layout;
// Results-info
if ( $totalNum > 0 && $this->offset < $totalNum ) {
"confirm-unwatch-button": "Тамам",
"confirm-unwatch-top": "Был битте күҙәтеү исемлегенән сығарырғамы?",
"confirm-rollback-button": "Яҡшы",
+ "confirm-rollback-top": "Был биттәге үҙгәртеүҙе кире алырғамы?",
"quotation-marks": "\"$1\"",
"imgmultipageprev": "← алдағы бит",
"imgmultipagenext": "киләһе бит →",
"mimesearch-summary": "এই পাতা তাদের MIME-এর ধরণের জন্য ফাইল ফিল্টার করা সক্ষম করে। ইনপুট: contenttype/subtype বা contenttype/*, উদা: <code>image/jpeg</code>।",
"mimetype": "MIME ধরন:",
"download": "ডাউনলোড",
- "unwatchedpages": "নà¦\9cরà§\87 না রাà¦\96া পাতাà¦\97à§\81লি",
+ "unwatchedpages": "নà¦\9cরà§\87 না রাà¦\96া পাতাসমà§\82হ",
"listredirects": "তালিকা পুনর্নির্দেশগুলি",
"listduplicatedfiles": "সদৃশ ফাইলের তালিকা",
"listduplicatedfiles-summary": "এটি ফাইলসমূহের একটি তালিকা যেখানে একটি ফাইলের সাম্প্রতিকতম সংস্করণ অন্য আরেকটি ফাইলের সাম্প্রতিকতম সংস্করণের প্রতিলিপি। শুধু স্থানীয় ফাইল বিবেচনা করা হয়েছে।",
"rollback-success-notify": "$1-এর সম্পাদনাগুলি বাতিল করা হয়েছে; \n$2-এর করা শেষ সংস্করণে ফেরত নেওয়া হয়েছে। [$3 পরিবর্তন দেখুন]",
"sessionfailure-title": "সেশন পরিত্যক্ত",
"sessionfailure": "আপনার প্রবেশ সেশনে একটি সমস্যা হয়েছে বলে মনে হচ্ছে;\nসেশন হাইজ্যাক প্রতিরোধের উপায় হিসেবে এই কাজটি বাতিল করা হয়েছে।\nঅনুগ্রহ ব্রাউজারের \"পিছনে\" বোতাম চাপুন এবং যে পাতা থেকে এসেছিলেন, তা পুনঃলোড করুন এবং আবার চেষ্টা করুন।",
+ "changecontentmodel": "একটি পাতার বিষয়বস্তুর মডেল পরিবর্তন",
"changecontentmodel-legend": "বিষয়বস্তুর মডেল পরিবর্তন করুন",
"changecontentmodel-title-label": "পাতার শিরোনাম",
"changecontentmodel-model-label": "পাতার বিষয়বস্তুর প্রতিরূপ",
"blankpage": "খালি পাতা",
"intentionallyblankpage": "এই পাতাটি ইচ্ছা করে খালি রাখা হয়েছে",
"external_image_whitelist": " #এই লাইন ঠিক যেমন আছে<প্রাক> তেমন রাখুন<pre>\n #রেগুলার এক্সপ্রেশনের টুকরা নীচে (শুধুমাত্র অংশ / / মধ্যে যে যায়) বসান\n#এইগুলি এক্সটার্নাল (hotlinked) ইমেজের URL-এর সাথে মেলানো হবে\n#যেগুলি মিলবে, সেগুলি চিত্র হিসাবে প্রদর্শিত হবে, অন্যথায় শুধুমাত্র ইমেজ লিঙ্ক প্রদর্শিত হবে\n#যে লাইনের প্রারম্ভে # আছে সেই লাইনগুলি মন্তব্যসমূহ হিসাবে ব্যবহার করা হয়\n#এটি কেস-অসংবেদী\n\n#এই রেখার উপরের regex টুকরা বসান. এই লাইন ঠিক যেমন আছে তেমন রাখুন</pre>",
- "tags": "সঠিà¦\95 à¦\9aà§\87à¦\9eà§\8dà¦\9c ট্যাগ",
+ "tags": "বà§\88ধ পরিবরà§\8dতন ট্যাগ",
"tag-filter": "[[Special:Tags|ট্যাগ]] ছাকনী:",
"tag-filter-submit": "ছাকনী",
"tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|ট্যাগ}}]]: $2)",
"authprovider-resetpass-skip-label": "Omitir",
"authform-nosession-login": "La autenticación fue exitosa, pero tu navegador no puede \"recordar\" haber iniciado sesión.\n\n$1",
"authform-nosession-signup": "La cuenta ha sido creada, pero tu navegador no \"recuerda\" haber iniciado sesión.\n\n$1",
+ "specialpage-securitylevel-not-allowed-title": "No está permitido",
"specialpage-securitylevel-not-allowed": "Lo siento, no tienes permitido usar esta página, porque tu identidad no pudo verificarse.",
"authpage-cannot-login-continue": "No se puede continuar con el inicio de sesión. Lo más probable es que tu sesión haya expirado.",
"authpage-cannot-create": "No se puede iniciar la creación de la cuenta.",
"exif-orientation-1": "सामान्य",
"namespacesall": "सगळें",
"monthsall": "सगळे",
+ "confirm-rollback-button": "बरें",
+ "confirm-rollback-top": "ह्या पाना वयलें संपादन आशिल्ले तशें करात?",
"watchlisttools-view": "प्रस्तूत बदल पळयात.",
"watchlisttools-edit": "सादुरवळेरी पळय आनी संपादीत करात",
"signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|उलयात]])",
"WongKentir",
"Rachmat.Wahidi",
"Arief",
- "Nemo bis"
+ "Nemo bis",
+ "Mbrt"
]
},
"tog-underline": "Garis bawahi pranala:",
"revertpage": "←Suntingan [[Special:Contributions/$2|$2]] ([[User talk:$2|bicara]]) dibatalkan ke versi terakhir oleh [[User:$1|$1]]",
"revertpage-nouser": "Mengembalikan suntingan oleh (nama pengguna dihapus) ke suntingan terakhir oleh [[User:$1|$1]]",
"rollback-success": "Pembatalan suntingan oleh $1; dibatalkan ke versi terakhir oleh $2.",
+ "rollback-success-notify": "Mengembalikan suntingan oleh $1; rubah kembali untuk revisi terakhir oleh $2. [$3 Lihat perubahan]",
"sessionfailure-title": "Kegagalan sesi",
"sessionfailure": "Sepertinya ada masalah dengan sesi log Anda; log Anda telah dibatalkan untuk mencegah pembajakan. Silakan tekan tombol \"kembali\" dan muat kembali halaman sebelum Anda masuk, lalu coba lagi.",
"changecontentmodel": "Ubah model isi sebuah halaman",
"filedesc": "Лоаца йоазонца сурт оттадар",
"fileuploadsummary": "Лоаца лоацам:",
"license": "ЦIийяздар",
- "license-header": "Лицензирование",
+ "license-header": "Лицензировани",
"imgfile": "файл",
"listfiles": "Паьлий дагарче",
"listfiles_date": "Денха",
"authmanager-username-help": "Nome utente per l'autenticazione.",
"authmanager-password-help": "Password per l'autenticazione.",
"authmanager-retype-help": "Conferma nuovamente la password.",
+ "authmanager-email-label": "Email",
"authmanager-email-help": "Indirizzo email",
"authmanager-realname-label": "Nome reale",
"authmanager-realname-help": "Nome reale dell'utente",
"removecredentials-submit-cancel": "Annulla",
"removecredentials-invalidsubpage": "$1 non è una tipologia di credenziale valida.",
"removecredentials-success": "Le tue credenziali sono state eliminate.",
+ "credentialsform-account": "Nome utenza:",
"cannotlink-no-provider-title": "Non ci sono utenze collegabili",
"cannotlink-no-provider": "Non ci sono utenze collegabili.",
"linkaccounts": "Collega utenze",
"passwordreset-emailsent-capture": "비밀번호 재설정 이메일이 발송되었으며, 아래에 나타나 있습니다.",
"passwordreset-emailerror-capture": "비밀번호 재설정 이메일이 생성되어 아래에 나타나 있지만, {{GENDER:$2|사용자}}에게 발송하는 데에는 실패했습니다: $1",
"passwordreset-emailsent-capture2": "비밀번호 재설정 이메일을 보냈습니다. {{PLURAL:$1|사용자 이름과 비밀번호는|사용자 이름과 비밀번호의 목록은}} 아래에 나타납니다.",
- "passwordreset-emailerror-capture2": "사용자 이메일 보내기 실패: $1 {{PLURAL:$3|사용자 이름과 비밀번호가|사용자 이름과 비밀번호의 목록이}} 아래에 나타납니다.",
+ "passwordreset-emailerror-capture2": "{{GENDER:$2|사용자}} 이메일 보내기 실패: $1 {{PLURAL:$3|사용자 이름과 비밀번호가|사용자 이름과 비밀번호의 목록이}} 아래에 나타납니다.",
"passwordreset-nocaller": "호출자를 지정해야 합니다",
"passwordreset-nosuchcaller": "호출자가 존재하지 않습니다: $1",
"passwordreset-ignored": "비밀번호 재설정을 처리하지 못했습니다. 제공자가 구성되지 않았기 때문일 수 있습니다.",
"trackingcategories-msg": "추적용 분류",
"trackingcategories-name": "메시지 이름",
"trackingcategories-desc": "분류 포함 기준",
+ "restricted-displaytitle-ignored": "제목 표시가 무시된 문서",
"noindex-category-desc": "문서는 그것과 그 플래그가 허용된 곳에 있는 이름공간에서 <code><nowiki>__NOINDEX__</nowiki></code> 특수 명령이 있기 때문에 로봇이 색인하지 않습니다.",
"index-category-desc": "문서는 그것(과 플래그가 허용된 곳에 있는 이름공간에 있는 것)에 <code><nowiki>__INDEX__</nowiki></code>가 있어서, 정상적이지 않을 곳에 로봇에 의해 색인됩니다.",
"post-expand-template-inclusion-category-desc": "모든 틀을 전개하였을 때, 문서 크기가 <code>$wgMaxArticleSize</code>보다 커지므로, 어떤 틀은 전개하지 않았습니다.",
"authprovider-resetpass-skip-help": "비밀번호 재설정을 건너뜁니다.",
"authform-nosession-login": "인증은 성공했으나 사용자의 브라우저가 로그인 상태를 저장하지 못했습니다.\n\n$1",
"authform-nosession-signup": "계정은 생성되었으나 사용자의 브라우저가 로그인 상태를 저장하지 못했습니다.\n\n$1",
+ "authform-newtoken": "토큰이 없습니다. $1",
+ "authform-notoken": "토큰이 없습니다",
"authform-wrongtoken": "잘못된 토큰",
"specialpage-securitylevel-not-allowed-title": "허용하지 않음",
"authpage-cannot-login": "로그인을 시작할 수 없습니다.",
"לערי ריינהארט",
"Bennylin",
"아라",
- "Macofe"
+ "Macofe",
+ "Mbrt"
]
},
"tog-underline": "Garisen ngisoré pranala:",
"tog-hideminor": "Umpetna suntingan cilik nang owahan anyar",
"tog-hidepatrolled": "Umpetna suntingan sing wis dipatroli nang owahan anyar",
"tog-newpageshidepatrolled": "Umpetna kaca sing wis dipatroli sekang daftar kaca anyar",
+ "tog-hidecategorization": "Umpetna kategori nang kaca",
"tog-extendwatchlist": "Kembangna daftar pengawasan kanggo nidokna kabeh pangowahan, ora mung sing paling anyar thok",
"tog-usenewrc": "Klompok owahan miturut kaca nang owahan anyar lan daptar pangawasan (mbutuhna JavaScript)",
"tog-numberheadings": "Aweh nomer judul secara otomatis",
"tog-watchdefault": "Tambahna kaca lan berkas sing tek-sunting maring daptar pangawasanne inyong",
"tog-watchmoves": "Tambahna kaca lan berkas sing tek-pindah maring daptar pangawasanne inyong",
"tog-watchdeletion": "Tambahna kaca lan berkas sing tek-busek maring daptar pangawasanne inyong",
+ "tog-watchuploads": "Sogna file anyar sing nyong unggah nang daptar sawangane nyong",
"tog-watchrollback": "Tambahna kaca sing wis tek rollback maring daftar pangawasane inyong",
"tog-minordefault": "Otomatis nandani kabeh suntingan dadi suntingan cilik",
"tog-previewontop": "Tidokna pratayang sedurunge kotak sunting",
"tog-watchlisthidebots": "Umpetna suntingane bot sekang daftar pangawasan",
"tog-watchlisthideminor": "Umpetna suntingan cilik sekang daftar pangawasan",
"tog-watchlisthideliu": "Umpetna suntingane pangganggo sing mlebu log sekang daftar pangawasan",
+ "tog-watchlistreloadautomatically": "Muat balik daptar sawangane otomatis yen saringan kebesut (Perintaeh JavaScript)",
"tog-watchlisthideanons": "Umpetna suntingane panganggo anonim sekang daftar pangawasan",
"tog-watchlisthidepatrolled": "Umpetna suntingan sing wis dipatroli sekang daftar pangawasan",
+ "tog-watchlisthidecategorization": "Umpetna kategori nang kaca",
"tog-ccmeonemails": "Kirimi inyong salinan imel sing tak-kirimna maring panganggo sejen",
"tog-diffonly": "Aja tidokna isi kaca nang ngisor bedane suntingan",
"tog-showhiddencats": "Tidokna kategori sing diumpetna",
- "tog-norollbackdiff": "Lirwakna perbedaan seuwise nglakokna pambalikan",
+ "tog-norollbackdiff": "Aja ndeleng perbedaane seuwise nglakokna pambalikan",
"tog-useeditwarning": "Elingna inyong angger ninggalna kaca panyuntingan sing durung disimpen owahane",
"tog-prefershttps": "Gunakna koneksi aman terus angger mlebu log",
"underline-always": "Saben",
"nospecialpagetext": "<strong>Rika njaluk kaca astamiwa sing ora sah.</strong>\n\nDaftar kaca astamiwa sing sah teyeng dideleng nang [[Special:SpecialPages|{{int:specialpages}}]].",
"error": "Kasalahan",
"databaseerror": "Kasalahan basis data",
+ "databaseerror-error": "Eror:$1",
"laggedslavemode": "'''Pènget:''' Kaca kiye mbokmenawa isiné dudu pangowahan pungkasan.",
"readonly": "Basis data dikunci",
"enterlockreason": "Lebokna alesan panguncèn, kalebu uga prakiran kapan kunci bakal dibuka",
"filerenameerror": "Ora teyeng ngowahi jeneng berkas sekang \"$1\" dadi \"$2\".",
"filedeleteerror": "Ora teyeng mbusak berkas \"$1\".",
"directorycreateerror": "Ora teyeng nggawé dirèktori \"$1\".",
+ "directoryreadonlyerror": "Direktori \"$1\" mung diwaca thok.",
+ "directorynotreadableerror": "Direktori \"$1\" ora teyeng diwaca.",
"filenotfound": "Ora teyeng nemokna berkas \"$1\".",
"unexpected": "Nilai-ne nang jaba jangkauan: \"$1\"=\"$2\".",
"formerror": "Kasalahan: Ora teyeng ngirimna formulir.",
"actionthrottledtext": "Kanggo ngukur anti-spam, Rika diwatesi gole nglakoni tikdakan kiye keseringen nang wektu sing cendhak, lan Rika uwis nglewati watese kuwe.\nMonggo dijajal maning nang sawetara menit.",
"protectedpagetext": "Kaca kiye uwis dikunci ben ora teyeng disunting utawa aksi liyane (pokoke ora teyeng diapa-apakna maning).",
"viewsourcetext": "Rika teyeng ndeleng lan nyalin sumbere kaca kiye:",
- "viewyourtext": "Rika teyeng ndeleng lan nyalin sumbere '''suntingane Rika''' nang kaca kiye:",
+ "viewyourtext": "Rika teyeng ndeleng lan nyalin sumbere <strong>suntingane Rika</strong> meng kaca kiye:",
"protectedinterface": "Kaca kiye isine teks antarmuka ding dienggo piranti alus nang wiki kiye, lan uwis dikunci nggo menghindari kasalahan.\nKanggo nambaih utawa ngowaih terjemahan nang kabeh wiki, monggo gunakna [//translatewiki.net/ translatewiki.net], proyek lokalisasi MediaWiki.",
- "editinginterface": "'''Pènget:''' Rika nyunting kaca sing dienggo nyedyakna tèks antarmuka kanggo piranti alus.\nPangowahan kaca kiye bakal awèh pangaruh maring tampilan antarmuka panganggo duweke panganggo sejen nang wiki kiye.\nAngger arep nambaih utawa ngowaih terjemahan, monggo gunakna [//translatewiki.net/translatewiki.net], proyèk lokalisasi MediaWiki.",
+ "editinginterface": "'''Penget:''' Rika nyunting kaca sing dienggo nyedyakna teks antarmuka kanggo piranti alus.\nPangowahan kaca kiye engko aweh pangaruh maring tampilan antarmuka panganggo duweke panganggo liyane nang wiki kiye.",
"cascadeprotected": "Kaca kiye wis direksa sekang penyuntingan jalaran melu mlebu nang {{PLURAL:$1|kaca|kaca-kaca}} nang ngisor kiye sing wis direksa nganggo opsi \"runtun\":\n$2",
"namespaceprotected": "Rika ora duwe hak akses kanggo nyunting kaca nang bilik jeneng '''$1'''.",
"customcssprotected": "Rika ora duwe izin nggo nyunting kaca CSS kiye, jalaran isine pengaturan pribadine panganggo sejen.",
"filereadonlyerror": "Ora teyeng ngowaih berkas \"$1\" jalaran panyimpenan berkas \"$2\" ana nang mode-mung-teyeng-diwaca.\n\nAdministrator sing ngunci aweh keterangan: \"$3\".",
"invalidtitle-knownnamespace": "Irah-irahan ora sah nang bilikjeneng \"$2\" lan teks \"$3\"",
"invalidtitle-unknownnamespace": "Judhul ora sah nang bilik jeneng sing ora dingerteni nomer $1 lan teks \"$2\"",
- "exception-nologin-text": "Kaca utawa kelakon kiye mbutuhna mlebu log nèng wiki kiye dhisit.",
+ "exception-nologin": "Urung mlebu",
+ "exception-nologin-text": "Tulung mlebu disit ben Rika duwe akses maring kaca kiye.",
+ "exception-nologin-text-manual": "Tulung $1 ben tenyeng duwe akses maring kaca kiye.",
"virus-badscanner": "Kasalahan konfigurasi: pamindai virus ora dikenal: ''$1''",
"virus-scanfailed": "Pemindaian gagal (kode $1)",
"virus-unknownscanner": "Antivirus ora ditepungi:",
"logouttext": "'''Rika uwis metu log sekang sistem.'''\n\nDigatekna ya, cokan ana kaca sing esih terus nidokna nek rika esih mlebu log nganti Rika mbusak singgahan nang panjelajah web-e Rika.",
+ "cannotlogoutnow-title": "Ora teyeng metu siki",
+ "cannotlogoutnow-text": "Metu ora dadi angger nganggo:$1",
+ "welcomeuser": "Sugeng teka,$1",
"welcomecreation-msg": "Akune Rika uwis digawe. \nAja kelalen ngowaih [[Special:Preferences|preferensi {{SITENAME}}]] Rika.",
"yourname": "Jeneng panganggo:",
"userlogin-yourname": "Jenengpanganggo",
"remembermypassword": "Emutna data login-ne inyong nang peramban kiye (kanggo paling suwe $1 {{PLURAL:$1|dina|dina}})",
"userlogin-remembermypassword": "Jorna ben Inyong tetep mlebu log",
"userlogin-signwithsecure": "Gunakna koneksi aman",
+ "cannotloginnow-title": "Ora teyeng mlebu siki",
"yourdomainname": "Domain Rika:",
"password-change-forbidden": "Rika ora teyeng ngowaih tembung sandhi nang wiki kiye.",
"externaldberror": "Ana kesalahan otentikasi basis data utawa Rika ora olih nglakokna pemutakhiran maring akun eksternale Rika.",
"noname": "Jeneng panganggo sing Rika lebokna ora sah.",
"loginsuccesstitle": "Sukses mlebu log",
"loginsuccess": "'''Rika sekiye mlebu log nang {{SITENAME}} nganggo jeneng \"$1\".'''",
- "nosuchuser": "Ora ana panganggo sing jenenge \"$1\".\nJeneng panganggo kuwe mbedakna kapitalisasi.\nPriksa maning ejaane Rika, utawa [[Special:CreateAccount|gawe akun anyar]]",
+ "nosuchuser": "Ora ana panganggo sing jenenge \"$1\".\nJeneng panganggo kuwe dibedakna nang kapitalisasi.\nPriksa maning ejaane Rika, utawa [[Special:CreateAccount|gawe akun anyar]]",
"nosuchusershort": "Ora ana panganggo sing jenenge \"$1\".\nJajal dipriksa maning ejaane Rika.",
"nouserspecified": "Rika kudu nglebokna jeneng panganggo.",
"login-userblocked": "Panganggo kiye diblok. Ora olih mlebu log.",
"revertpage": "Suntingane [[Special:Contributions/$2|$2]] ([[User talk:$2|dhiskusi]]) dibalekna maring vèrsi pungkasan sekang [[User:$1|$1]]",
"revertpage-nouser": "Mbalekna suntingan sekang (jeneng panganggo dibusek) ming revisi pungkasan sekang [[User:$1|$1]]",
"rollback-success": "Mbalekna suntingane $1;\ndibalekna ming revisi pungkasan sekang $2.",
+ "rollback-success-notify": "Mbalekna besutan sekang $1; owah mbalik nggo revisi mburi sekang $2. [$3 Deleng owahane]",
"sessionfailure-title": "Sèsi gagal",
"sessionfailure": "Ketone lagi ana masalah karo sesi log-e Rika;\nloge Rika wis dibatalna nggo nyegah pambajakan.\nMonggo mbalik ming kaca sedurunge, dibaleni gole muatna kaca (reload) lan jajal diunggahna maning.",
"protectlogpage": "Log pangreksan",
"tooltip-ca-nstab-category": "Tooltip shown when hovering over the {{msg-mw|Nstab-category}} tab.\n\nSee also:\n* {{msg-mw|Nstab-category}}\n* {{msg-mw|Accesskey-ca-nstab-category}}\n* {{msg-mw|Tooltip-ca-nstab-category}}",
"tooltip-minoredit": "Tooltip shown when hovering over the \"{{msg-mw|Minoredit}}\" link below the edit form.\n\nSee also:\n* {{msg-mw|Minoredit}}\n* {{msg-mw|Accesskey-minoredit}}\n* {{msg-mw|Tooltip-minoredit}}",
"tooltip-save": "This is the text that appears when you hover the mouse over {{msg-mw|Savearticle}} button on the edit page.\n\nSee also:\n* {{msg-mw|Savearticle}}\n* {{msg-mw|Accesskey-save}}\n* {{msg-mw|Tooltip-save}}",
- "tooltip-publish": "This is the text that appears when you hover the mouse over {{msg-mw|publishpage}} button on the edit page.\n\nNote: This i18n is being introduced in advance of usage to provide extra time for translators.\n\nSee also:\n* {{msg-mw|publishpage}}\n* {{msg-mw|Accesskey-publish}}\n{{Identical|Publish page}}",
+ "tooltip-publish": "This is the text that appears when you hover the mouse over {{msg-mw|publishpage}} button on the edit page.\n\nNote: This i18n is being introduced in advance of usage to provide extra time for translators.\n\nSee also:\n* {{msg-mw|publishpage}}\n* {{msg-mw|Accesskey-publish}}",
"tooltip-preview": "Tooltip shown when hovering over {{msg-mw|Showpreview}} button.\n\nIf the length of the translated message is over 60 characters (including spaces) then the end of the message will be cut off when using Firefox 2.0.0.7 browser, Linux operating system and the Monobook skin.\n\nSee also:\n* {{msg-mw|Showpreview}}\n* {{msg-mw|Accesskey-preview}}\n* {{msg-mw|Tooltip-preview}}",
"tooltip-diff": "This is the text (tooltip) that appears when you hover the mouse over {{msg-mw|Showdiff}} button on the edit page.\n\nSee also:\n* {{msg-mw|Showdiff}}\n* {{msg-mw|Accesskey-diff}}\n* {{msg-mw|Tooltip-diff}}",
"tooltip-compareselectedversions": "Tooltip of {{msg-mw|Compareselectedversions}} (which is used as button in history pages).\n\nSee also:\n* {{msg-mw|Compareselectedversions}}\n* {{msg-mw|Accesskey-compareselectedversions}}\n* {{msg-mw|Tooltip-compareselectedversions}}",
"lockdbsuccesstext": "Baza de date a fost blocată.<br />\nNu uitați să o [[Special:UnlockDB|deblocați]] la terminarea operațiilor administrative.",
"unlockdbsuccesstext": "Baza de date a fost deblocată.",
"lockfilenotwritable": "Fișierul bazei de date închise nu poate fi scris.\nPentru a închide sau deschide baza de date, acesta trebuie să poată fi scris de serverul web.",
+ "databaselocked": "Baza de date este deja blocată.",
"databasenotlocked": "Baza de date nu este blocată.",
"lockedbyandtime": "(de $1, pe $2, la $3 )",
"move-page": "Redenumire $1",
"tog-ccmeonemails": "Пошаљи ми копије имејлова које пошаљем другим корисницима",
"tog-diffonly": "Не приказуј садржај странице испод разлика",
"tog-showhiddencats": "Прикажи скривене категорије",
- "tog-norollbackdiff": "Ð\98зоÑ\81Ñ\82ави разлику након извршеног враћања",
+ "tog-norollbackdiff": "Ð\9dе пÑ\80иказÑ\83Ñ\98 разлику након извршеног враћања",
"tog-useeditwarning": "Упозори ме када напуштам страницу са несачуваним променама",
"tog-prefershttps": "Увек користи сигурну конекцију када сам пријављен.",
"underline-always": "увек подвлачи",
"category_header": "Странице у категорији „$1“",
"subcategories": "Поткатегорије",
"category-media-header": "Датотеке у категорији „$1“",
- "category-empty": "<div style=\"margin:2em 1em 0 1em; padding:0.5em; border:1px solid #AAA; text-align:center;\">''Ова категорија тренутно не садржи странице или датотеке.''</div>",
+ "category-empty": "<em>Ова категорија тренутно не садржи странице или датотеке.</em>",
"hidden-categories": "{{PLURAL:$1|Сакривена категорија|Сакривене категорије}}",
"hidden-category-category": "Скривене категорије",
"category-subcat-count": "{{PLURAL:$2|1=Ова категорија садржи само следећу поткатегорију.|Ова категорија има {{PLURAL:$1|1=следећу поткатегорију|следеће $1 поткатегорије|следећих $1 поткатегорија}}, од укупно $2.}}",
"newwindow": "(отвара се у новом прозору)",
"cancel": "Откажи",
"moredotdotdot": "Више…",
- "morenotlisted": "Ова листа није комплетна.",
+ "morenotlisted": "Овај списак није комплетан.",
"mypage": "Страница",
"mytalk": "Разговор",
"anontalk": "Разговор",
"right-override-export-depth": "извоз страница укључујући и повазене странице до дубине од пет веза",
"right-sendemail": "слање имејла другим корисницима",
"right-passwordreset": "прегледање порука за обнављање лозинке",
- "right-managechangetags": "Ð\9fрављење и (де)активирање [[Special:Tags|ознака]]",
+ "right-managechangetags": "прављење и (де)активирање [[Special:Tags|ознака]]",
"right-applychangetags": "примењивање [[Special:Tags|ознака]] на нечије измене",
"right-changetags": "додавање и уклањање разних [[Special:Tags|ознака]] на појединачним изменама и уносима у дневницима",
"grant-group-page-interaction": "Уређивање страница",
"right-override-export-depth": "izvoz stranica uključujući i povazene stranice do dubine od pet veza",
"right-sendemail": "slanje e-poruka drugim korisnicima",
"right-passwordreset": "pregledanje poruka za obnavljanje lozinke",
- "right-managechangetags": "pravljenje i/ili brisanje [[Special:Tags|oznaka]] iz baze podataka",
+ "right-managechangetags": "pravljenje i (de)aktiviranje [[Special:Tags|oznaka]]",
"grant-group-page-interaction": "Uređivanje stranica",
"grant-group-file-interaction": "Uređivanje datoteka",
"grant-group-watchlist-interaction": "Uređivanje vašeg spiska nadgledanja",
"passwordreset-emailerror-capture": "En lösenordsåterställning via e-post har skapats, som visas nedan, men det gick inte att skicka den till {{GENDER:$2|användaren}}: $1",
"passwordreset-emailsent-capture2": "{{PLURAL:$1|E-postmeddelande|E-postmeddelanden}} för återställning av lösenord har skickats. {{PLURAL:$1|Användarnamnet och lösenordet|Listan över användarnamn och lösenord}} visas nedan.",
"passwordreset-emailerror-capture2": "Kunde inte skicka e-post till {{GENDER:$2|användaren}}: $1 {{PLURAL:$3|Användarnamnet och lösenordet|Listan över användarnamn och lösenord}} listas nedan.",
+ "passwordreset-nocaller": "En användare måste anges",
+ "passwordreset-nosuchcaller": "Användare finns inte: $1",
"passwordreset-ignored": "Lösenordsåterställningen hanterades inte. Kanske ingen leverantör har konfigurerats?",
"passwordreset-invalideamil": "Ogiltig e-postadress",
"passwordreset-nodata": "Varken ett användarnamn eller en e-postadress angavs",
"cannotauth-not-allowed-title": "Tillgång nekad",
"cannotauth-not-allowed": "Du har inte behörighet att använda denna sida",
"changecredentials": "Ändra inloggningsuppgifter",
- "changecredentials-submit": "Ändra",
+ "changecredentials-submit": "Ändra inloggningsuppgifter",
"changecredentials-submit-cancel": "Avbryt",
"changecredentials-invalidsubpage": "$1 är inte en giltig typ av inloggningsuppgift.",
"changecredentials-success": "Dina inloggningsuppgifter har ändrats.",
"removecredentials": "Ta bort inloggningsuppgifter",
- "removecredentials-submit": "Ta bort",
+ "removecredentials-submit": "Ta bort inloggningsuppgifter",
"removecredentials-submit-cancel": "Avbryt",
"removecredentials-invalidsubpage": "$1 är inte en giltig typ av inloggningsuppgift.",
"removecredentials-success": "Dina inloggningsuppgifter har tagits bort.",
"tog-ccmeonemails": "Gửi bản sao cho tôi khi gửi thư điện tử cho người khác",
"tog-diffonly": "Không hiển thị nội dung trang dưới phần so sánh phiên bản",
"tog-showhiddencats": "Hiển thị thể loại ẩn",
- "tog-norollbackdiff": "Không so sánh sau khi lùi sửa",
+ "tog-norollbackdiff": "Bỏ qua bản so sánh sau khi lùi sửa",
"tog-useeditwarning": "Cảnh báo khi tôi thoát trang sửa đổi mà chưa lưu trang",
"tog-prefershttps": "Luôn kết nối an toàn khi đăng nhập",
"underline-always": "Luôn luôn",
"password-change-forbidden": "Bạn không thể đổi mật khẩu trên wiki này.",
"externaldberror": "Có lỗi khi xác nhận cơ sở dữ liệu bên ngoài hoặc bạn không được phép cập nhật tài khoản bên ngoài.",
"login": "Đăng nhập",
+ "login-security": "Xác minh danh tính của bạn",
"nav-login-createaccount": "Đăng nhập / Mở tài khoản",
"userlogin": "Đăng nhập / Mở tài khoản",
"userloginnocreate": "Đăng nhập",
"userlogin-resetpassword-link": "Quên mật khẩu?",
"userlogin-helplink2": "Trợ giúp đăng nhập",
"userlogin-loggedin": "Bạn đã đăng nhập với tên {{GENDER:$1}}$1.\nHãy sử dụng biểu mẫu ở dưới để đăng nhập với tài khoản người dùng khác.",
+ "userlogin-reauth": "Bạn phải đăng nhập lại để xác minh rằng bạn là $1.",
"userlogin-createanother": "Mở thêm tài khoản",
"createacct-emailrequired": "Địa chỉ thư điện tử",
"createacct-emailoptional": "Địa chỉ thư điện tử (tùy chọn)",
"createacct-email-ph": "Nhập địa chỉ thư điện tử của bạn",
"createacct-another-email-ph": "Nhập địa chỉ thư điện tử",
"createaccountmail": "Sử dụng mật khẩu ngẫu nhiên tạm và gửi nó cho địa chỉ thư điện tử được chỉ định",
+ "createaccountmail-help": "Có thể sử dụng để tạo tài khoản cho người khác mà không được biết mật khẩu.",
"createacct-realname": "Tên thật (tùy chọn)",
"createaccountreason": "Lý do:",
"createacct-reason": "Lý do",
"createacct-reason-ph": "Nhập lý do tạo một tài khoản khác",
+ "createacct-reason-help": "Thông điệp xuất hiện trong nhật trình tạo tài khoản",
"createacct-submit": "Tạo tài khoản",
"createacct-another-submit": "Mở tài khoản",
+ "createacct-continue-submit": "Tiếp tục tạo tài khoản",
+ "createacct-another-continue-submit": "Tiếp tục tạo tài khoản",
"createacct-benefit-heading": "{{SITENAME}} được xây dựng bởi những người như bạn.",
"createacct-benefit-body1": "{{PLURAL:$1}}lần sửa đổi",
"createacct-benefit-body2": "{{PLURAL:$1}}trang nội dung",
"createacct-another-realname-tip": "Tên thật là không bắt buộc. \n\nNếu bạn đồng ý cung cấp, nó sẽ dùng để ghi nhận công lao của bạn.",
"pt-login": "Đăng nhập",
"pt-login-button": "Đăng nhập",
+ "pt-login-continue-button": "Tiếp tục đăng nhập",
"pt-createaccount": "Mở tài khoản",
"pt-userlogout": "Đăng xuất",
"php-mail-error-unknown": "Lỗi không rõ trong hàm PHP mail()",
"botpasswords-invalid-name": "Tên người dùng đã chỉ định không chứa dấu tách mật khẩu bot (\"$1\").",
"botpasswords-not-exist": "Người dùng \"$1\" không có mật khẩu bot có tên \"$2\".",
"resetpass_forbidden": "Không được đổi mật khẩu",
+ "resetpass_forbidden-reason": "Không thể đổi mật khẩu: $1",
"resetpass-no-info": "Bạn phải đăng nhập mới có thể truy cập trực tiếp trang này.",
"resetpass-submit-loggedin": "Thay đổi mật khẩu",
"resetpass-submit-cancel": "Hủy bỏ",
"passwordreset-emailsentusername": "Nếu một địa chỉ thư điện tử đã gắn với tên người dùng này thì một thư điện tử để đặt lại mật khẩu sẽ được gửi đến.",
"passwordreset-emailsent-capture": "Thư điện tử để tái tạo mật khẩu đã được gửi, nội dung như sau.",
"passwordreset-emailerror-capture": "Chúng tôi đã tạo thư tái tạo mật khẩu dưới đây, nhưng không thể gửi đến {{GENDER:$2}}người dùng: $1",
+ "passwordreset-invalideamil": "Địa chỉ thư điện tử không hợp lệ",
"changeemail": "Đổi hoặc gỡ địa chỉ thư điện tử",
"changeemail-header": "Điền biểu mẫu này để đổi địa chỉ thư điện tử của bạn. Nếu bạn muốn gỡ địa chỉ thư điện tử nào khỏi tài khoản của bạn, để trống hộp địa chỉ thư điện tử mới và lưu biểu mẫu.",
"changeemail-passwordrequired": "Bạn sẽ cần phải nhập mật khẩu của bạn để xác nhận thay đổi này.",
"accmailtext": "Một mật khẩu được tạo ngẫu nhiên cho [[User talk:$1|$1]] đã được gửi đến $2. Có thể đổi mật khẩu tại trang ''[[Special:ChangePassword|đổi mật khẩu]]'' sau khi đã đăng nhập.",
"newarticle": "(Mới)",
"newarticletext": "Bạn đi đến đây từ một liên kết đến một trang chưa tồn tại. Để tạo trang, hãy bắt đầu gõ vào ô bên dưới (xem [$1 trang trợ giúp] để có thêm thông tin). Nếu bạn đến đây do nhầm lẫn, chỉ cần nhấn vào nút '''Lùi''' (hoặc Trở lại, Quay lại, Back) trong trình duyệt của bạn.",
- "anontalkpagetext": "----''Đây là trang thảo luận của một người dùng vô danh chưa tạo tài khoản hoặc có tài khoản nhưng không đăng nhập.\nDo đó chúng ta phải dùng một dãy số gọi là địa chỉ IP để xác định anh/chị ta.\nMột địa chỉ IP như vậy có thể có nhiều người cùng dùng chung.\nNếu bạn là một thành viên vô danh và cảm thấy rằng có những lời bàn luận không thích hợp đang nhắm vào bạn, xin hãy [[Special:CreateAccount|tạo tài khoản]] hoặc [[Special:UserLogin|đăng nhập]] để tránh sự nhầm lẫn về sau với những thành viên vô danh khác.''",
+ "anontalkpagetext": "----\n<em>Đây là trang thảo luận của một người dùng vô danh chưa tạo tài khoản hoặc có tài khoản nhưng không đăng nhập.</em>\nDo đó chúng ta phải dùng một dãy số gọi là địa chỉ IP để xác định anh/chị ta.\nMột địa chỉ IP như vậy có thể có nhiều người cùng dùng chung.\nNếu bạn là một thành viên vô danh và cảm thấy rằng có những lời bàn luận không thích hợp đang nhắm vào bạn, xin hãy [[Special:CreateAccount|tạo tài khoản]] hoặc [[Special:UserLogin|đăng nhập]] để tránh sự nhầm lẫn về sau với những thành viên vô danh khác.",
"noarticletext": "Trang này hiện chưa có nội dung.\nBạn có thể [[Special:Search/{{PAGENAME}}|tìm kiếm tựa trang này]] trong các trang khác, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tìm trong các nhật trình liên quan],\nhoặc [{{fullurl:{{FULLPAGENAME}}|action=edit}} tạo mới trang này]</span>.",
"noarticletext-nopermission": "Trang này hiện đang trống.\nBạn có thể [[Special:Search/{{PAGENAME}}|tìm kiếm tựa trang này]] tại các trang khác, hoặc <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tìm kiếm các nhật trình liên quan]</span>, nhưng bạn không được phép tạo trang này.",
"missing-revision": "Phiên bản #$1 của trang có tên “{{FULLPAGENAME}}” không tồn tại.\n\nLỗi này thường xuất hiện đối khi theo dõi liên kết lỗi thời đến phiên bản cũ của một trang đã bị xóa.\nXem chi tiết trong [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} nhật trình xóa].",
"right-override-export-depth": "Xuất trang kèm theo các trang được liên kết đến với độ sâu tối đa là 5",
"right-sendemail": "Gửi thư điện tử cho thành viên khác",
"right-passwordreset": "Xem các thư điện tử đặt lại mật khẩu",
- "right-managechangetags": "Tạo và xóa [[Special:Tags|thẻ]] từ cơ sở dữ liệu",
+ "right-managechangetags": "Tạo và bật/tắt [[Special:Tags|thẻ]]",
"right-applychangetags": "Áp dụng [[Special:Tags|thẻ]], cùng với những thay đổi của một người",
"right-changetags": "Thêm và loại bỏ tùy ý các [[Special:Tags|thẻ]] vào các phiên bản riêng và các mục nhật trình",
+ "right-deletechangetags": "Xóa [[Special:Tags|thẻ]] khỏi cơ sở dữ liệu",
"grant-generic": "Gói quyền “$1”",
"grant-group-page-interaction": "Tương tác với trang",
"grant-group-file-interaction": "Tương tác với tập tin",
"action-viewmyprivateinfo": "xem thông tin cá nhân của bạn",
"action-editmyprivateinfo": "sửa đổi thông tin cá nhân của bạn",
"action-editcontentmodel": "sửa kiểu nội dung của trang",
- "action-managechangetags": "tạo và xóa các thẻ từ cơ sở dữ liệu",
+ "action-managechangetags": "tạo và bật/tắt thẻ",
"action-applychangetags": "áp dụng các thẻ cùng với những thay đổi của bạn",
"action-changetags": "thêm và loại bỏ các thẻ tùy ý trên các phiên bản riêng và các mục nhật trình",
+ "action-deletechangetags": "xóa thẻ khỏi cơ sở dữ liệu",
"nchanges": "$1 thay đổi",
"enhancedrc-since-last-visit": "$1 {{PLURAL:$1|sau lần truy cập vừa rồi}}",
"enhancedrc-history": "lịch sử",
"trackingcategories-msg": "Thể loại phần mềm",
"trackingcategories-name": "Tên thông điệp",
"trackingcategories-desc": "Tiêu chuẩn xếp thể loại",
+ "restricted-displaytitle-ignored": "Trang có tên hiển thị được bỏ qua",
+ "restricted-displaytitle-ignored-desc": "Trang có <code><nowiki>{{TÊN_HIỂN_THỊ}}</nowiki></code>, <code><nowiki>{{TÊNHIỂNTHỊ}}</nowiki></code>, hoặc <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> được bỏ qua vì nó không tương đương với tên thật của trang.",
"noindex-category-desc": "Trang này không được các robot đánh chỉ mục vì trang có từ thần chú <code><nowiki>__NOINDEX__</nowiki></code> và nằm trong không gian tên cho phép từ thần chú này.",
"index-category-desc": "Trang này có từ thần chú <code><nowiki>__INDEX__</nowiki></code> và nằm trong một không gian tên cho phép từ thần chú này, nên được các robot đánh chỉ mục, trong khi bình thường nó không được đánh chỉ mục.",
"post-expand-template-inclusion-category-desc": "Kích thước trang sẽ vượt quá <code>$wgMaxArticleSize</code> nếu bung hết toàn bộ bản mẫu, nên một số bản mẫu không được bung.",
"changecontentmodel-success-text": "Kiểu nội dung của [[:$1]] đã được thay đổi.",
"changecontentmodel-cannot-convert": "Không thể chuyển đổi nội dung [[:$1]] thành nội dung dưới dạng $2.",
"changecontentmodel-nodirectediting": "Kiểu nội dung $1 không hỗ trợ sửa đổi trực tiếp",
+ "changecontentmodel-emptymodels-title": "Không có sẵn kiểu nội dung nào",
"log-name-contentmodel": "Nhật trình thay đổi kiểu nội dung",
"log-description-contentmodel": "Sự kiện có liên quan đến kiểu nội dung của trang.",
"logentry-contentmodel-new": "$1 {{GENDER:$2}}đã tạo trang $3 với kiểu nội dung không mặc định “$5”",
"lockdbsuccesstext": "Cơ sở dữ liệu đã bị khóa.\n<br />Nhớ [[Special:UnlockDB|mở khóa]] sau khi bảo trì xong.",
"unlockdbsuccesstext": "Cơ sở dữ liệu đã được mở khóa.",
"lockfilenotwritable": "Tập tin khóa của cơ sở dữ liệu không cho phép ghi. Để khóa hay mở khóa cơ sở dữ liệu, máy chủ web phải có khả năng ghi tập tin.",
+ "databaselocked": "Cơ sở dữ liệu đã được khóa rồi.",
"databasenotlocked": "Cơ sở dữ liệu không bị khóa.",
"lockedbyandtime": "($1 khóa vào $2 lúc $3)",
"move-page": "Di chuyển $1",
"confirm-watch-top": "Bạn có muốn thêm trang này vào danh sách theo dõi của bạn?",
"confirm-unwatch-button": "Ngừng theo dõi",
"confirm-unwatch-top": "Bạn có muốn gỡ trang này khỏi danh sách theo dõi của bạn?",
+ "confirm-rollback-button": "OK",
"ellipsis": "…",
"quotation-marks": "“$1”",
"imgmultipageprev": "← trang trước",
"log-action-filter-suppress-block": "Ẩn giấu người dùng bằng cách cấm",
"log-action-filter-suppress-reblock": "Ẩn giấu người dùng bằng cách cấm lại",
"log-action-filter-upload-upload": "Tải lên mới",
- "log-action-filter-upload-overwrite": "Tải lên lại"
+ "log-action-filter-upload-overwrite": "Tải lên lại",
+ "authmanager-authplugin-setpass-failed-title": "Thay đổi mật khẩu bị thất bại",
+ "authmanager-authplugin-setpass-bad-domain": "Tên miền không hợp lệ.",
+ "authmanager-email-label": "Thư điện tử",
+ "authmanager-email-help": "Địa chỉ thư điện tử",
+ "authmanager-realname-label": "Tên thật",
+ "authmanager-realname-help": "Tên thật của người dùng",
+ "authmanager-provider-password": "Xác thực qua mật khẩu",
+ "authmanager-provider-password-domain": "Xác thực qua mật khẩu và tên miền",
+ "authprovider-resetpass-skip-label": "Bỏ qua",
+ "changecredentials-submit-cancel": "Hủy bỏ",
+ "removecredentials-submit-cancel": "Hủy bỏ",
+ "credentialsform-account": "Tên tài khoản:"
}
'powersearch-togglenone',
],
],
+ 'mediawiki.special.search.styles' => [
+ 'styles' => 'resources/src/mediawiki.special/mediawiki.special.search.styles.css',
+ 'targets' => [ 'desktop', 'mobile' ],
+ ],
'mediawiki.special.undelete' => [
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.undelete.js',
],
visibility: hidden;
}
-span.updatedmarker {
- color: #000;
- background-color: #0f0;
+.updatedmarker {
+ background-color: #b7f430;
}
color: #f00;
}
-.updatedmarker {
- background-color: #b7f430;
-}
-
div.gallerybox {
width: 150px;
}
-/* Special:Search */
-
-/*
- * Fixes sister projects box moving down the extract
- * of the first result (bug #16886).
- * It only happens when the window is small and
- * This changes slightly the layout for big screens
- * where there was space for the extracts and the
- * sister projects and thus it showed like in any
- * other browser.
- *
- * This will only affect IE 7 and lower
- */
-.searchresult {
- display: inline !ie;
-}
-.searchresults {
- margin: 1em 0 1em .4em;
-}
-/* needs extra specificity to override `.mw-body p` selector */
-.mw-body p.mw-search-nonefound {
- margin: 0;
-}
-.mw-search-interwiki-header {
- font-weight: bold;
-}
-.mw-search-nonefound + .mw-search-interwiki-header {
- margin-top: 0;
-}
-div.searchresult {
- font-size: 95%;
- width: 38em;
-}
-.mw-search-results {
- margin-left: 0;
- float: left;
-}
-.mw-search-results li {
- padding-bottom: 1.2em;
- list-style: none;
- list-style-image: none;
-}
-.mw-search-results li a {
- font-size: 108%;
-}
-.mw-search-result-data {
- color: #008000;
- font-size: 97%;
-}
-.mw-search-profile-tabs {
- background-color: #f3f3f3;
- margin-top: 1em;
- border: 1px solid #c0c0c0;
-}
-.mw-search-profile-tabs div.search-types {
- float: left;
- padding-left: 0.25em;
-}
-.mw-search-profile-tabs div.search-types ul {
- margin: 0;
- padding: 0;
- list-style: none;
-}
-.mw-search-profile-tabs div.search-types ul li {
- float: left;
- margin: 0;
- padding: 0;
-}
-.mw-search-profile-tabs div.search-types ul li a {
- display: block;
- padding: 0.5em;
-}
-.mw-search-profile-tabs div.search-types ul li.current a {
- color: #333;
- cursor: default;
-}
-.mw-search-profile-tabs div.search-types ul li.current a:hover {
- text-decoration: none;
-}
-#mw-search-top-table div.results-info {
- float: right;
- padding: 0.5em;
- padding-right: 0.75em;
- color: #666;
- font-size: 95%;
-}
-
-fieldset#mw-searchoptions {
- margin: 0;
- padding: 0.5em 0.75em 0.75em 0.75em;
- border: none;
- background-color: #f9f9f9;
- border: 1px solid #c0c0c0;
- border-top-width: 0;
-}
-fieldset#mw-searchoptions legend {
- display: none;
-}
-fieldset#mw-searchoptions h4 {
- padding: 0;
- margin: 0;
- float: left;
-}
-fieldset#mw-searchoptions div#mw-search-togglebox {
+#mw-search-togglebox {
float: right;
}
-fieldset#mw-searchoptions div#mw-search-togglebox label {
+#mw-search-togglebox label {
margin-right: 0.25em;
}
-fieldset#mw-searchoptions div#mw-search-togglebox input {
+#mw-search-togglebox input {
margin-left: 0.25em;
}
-fieldset#mw-searchoptions table {
- float: left;
- margin-right: 3em;
- border-collapse: collapse;
-}
-fieldset#mw-searchoptions table td {
- padding: 0 1em 0 0;
- white-space: nowrap;
-}
-fieldset#mw-searchoptions div.divider {
- clear: both;
- border-bottom: 1px solid #ddd;
- padding-top: 0.5em;
- margin-bottom: 0.5em;
-}
-td#mw-search-menu {
- padding-left: 6em;
- font-size: 85%;
-}
-div#mw-search-interwiki {
- float: right;
- width: 18em;
- border: 1px solid #aaa;
- margin-top: 2ex;
-}
-div#mw-search-interwiki li {
- font-size: 95%;
-}
-.mw-search-interwiki-more {
- float: right;
- font-size: 90%;
-}
-div#mw-search-interwiki-caption {
- text-align: center;
- font-weight: bold;
- font-size: 95%;
-}
-.mw-search-interwiki-project {
- font-size: 97%;
- text-align: left;
- padding: 0.15em 0.15em 0.2em 0.2em;
- background-color: #ececec;
- border-top: 1px solid #bbb;
-}
-span.searchalttitle {
- font-size: 95%;
-}
-div.searchdidyoumean {
- font-size: 127%;
- margin-top: 0.8em;
- /* Note that this color won't affect the link, as desired. */
- color: #c00;
-}
-div.searchdidyoumean em {
- font-weight: bold;
-}
-.searchmatch {
- font-weight: bold;
-}
-/* Advanced PowerSearch box */
-td#mw-search-togglebox {
- text-align: right;
-}
-table#mw-search-powertable {
- width: 100%;
-}
-form#powersearch {
- clear: both;
-}
--- /dev/null
+/* Special:Search */
+
+/*
+ * Fixes sister projects box moving down the extract
+ * of the first result (bug #16886).
+ * It only happens when the window is small and
+ * This changes slightly the layout for big screens
+ * where there was space for the extracts and the
+ * sister projects and thus it showed like in any
+ * other browser.
+ *
+ * This will only affect IE 7 and lower
+ */
+.searchresult {
+ display: inline !ie;
+}
+.searchresults {
+ margin: 1em 0 1em .4em;
+}
+/* needs extra specificity to override `.mw-body p` selector */
+.mw-body p.mw-search-nonefound {
+ margin: 0;
+}
+.mw-search-interwiki-header {
+ font-weight: bold;
+}
+.mw-search-nonefound + .mw-search-interwiki-header {
+ margin-top: 0;
+}
+div.searchresult {
+ font-size: 95%;
+ width: 38em;
+}
+.mw-search-results {
+ margin-left: 0;
+ float: left;
+}
+.mw-search-results li {
+ padding-bottom: 1.2em;
+ list-style: none;
+ list-style-image: none;
+}
+.mw-search-results li a {
+ font-size: 108%;
+}
+.mw-search-result-data {
+ color: #008000;
+ font-size: 97%;
+}
+.mw-search-profile-tabs {
+ background-color: #f3f3f3;
+ margin-top: 1em;
+ border: 1px solid #c0c0c0;
+}
+.mw-search-profile-tabs div.search-types {
+ float: left;
+ padding-left: 0.25em;
+}
+.mw-search-profile-tabs div.search-types ul {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+.mw-search-profile-tabs div.search-types ul li {
+ float: left;
+ margin: 0;
+ padding: 0;
+}
+.mw-search-profile-tabs div.search-types ul li a {
+ display: block;
+ padding: 0.5em;
+}
+.mw-search-profile-tabs div.search-types ul li.current a {
+ color: #333;
+ cursor: default;
+}
+.mw-search-profile-tabs div.search-types ul li.current a:hover {
+ text-decoration: none;
+}
+#mw-search-top-table div.results-info {
+ float: right;
+ padding: 0.5em;
+ padding-right: 0.75em;
+ color: #666;
+ font-size: 95%;
+}
+fieldset#mw-searchoptions {
+ margin: 0;
+ padding: 0.5em 0.75em 0.75em 0.75em;
+ border: none;
+ background-color: #f9f9f9;
+ border: 1px solid #c0c0c0;
+ border-top-width: 0;
+}
+fieldset#mw-searchoptions legend {
+ display: none;
+}
+fieldset#mw-searchoptions h4 {
+ padding: 0;
+ margin: 0;
+ float: left;
+}
+fieldset#mw-searchoptions table {
+ float: left;
+ margin-right: 3em;
+ border-collapse: collapse;
+}
+fieldset#mw-searchoptions table td {
+ padding: 0 1em 0 0;
+ white-space: nowrap;
+}
+fieldset#mw-searchoptions div.divider {
+ clear: both;
+ border-bottom: 1px solid #ddd;
+ padding-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+td#mw-search-menu {
+ padding-left: 6em;
+ font-size: 85%;
+}
+div#mw-search-interwiki {
+ float: right;
+ width: 18em;
+ border: 1px solid #aaa;
+ margin-top: 2ex;
+}
+div#mw-search-interwiki li {
+ font-size: 95%;
+}
+.mw-search-interwiki-more {
+ float: right;
+ font-size: 90%;
+}
+div#mw-search-interwiki-caption {
+ text-align: center;
+ font-weight: bold;
+ font-size: 95%;
+}
+.mw-search-interwiki-project {
+ font-size: 97%;
+ text-align: left;
+ padding: 0.15em 0.15em 0.2em 0.2em;
+ background-color: #ececec;
+ border-top: 1px solid #bbb;
+}
+span.searchalttitle {
+ font-size: 95%;
+}
+div.searchdidyoumean {
+ font-size: 127%;
+ margin-top: 0.8em;
+ /* Note that this color won't affect the link, as desired. */
+ color: #c00;
+}
+div.searchdidyoumean em {
+ font-weight: bold;
+}
+.searchmatch {
+ font-weight: bold;
+}
// Update license messages
return msgPromise.then( function () {
- booklet.$ownWorkMessage
- .msg( 'upload-form-label-own-work-message-' + msgs )
- .find( 'a' ).attr( 'target', '_blank' );
- booklet.$notOwnWorkMessage
- .msg( 'upload-form-label-not-own-work-message-' + msgs )
- .find( 'a' ).attr( 'target', '_blank' );
- booklet.$notOwnWorkLocal
- .msg( 'upload-form-label-not-own-work-local-' + msgs )
- .find( 'a' ).attr( 'target', '_blank' );
+ var $labels;
+ booklet.$ownWorkMessage.msg( 'upload-form-label-own-work-message-' + msgs );
+ booklet.$notOwnWorkMessage.msg( 'upload-form-label-not-own-work-message-' + msgs );
+ booklet.$notOwnWorkLocal.msg( 'upload-form-label-not-own-work-local-' + msgs );
+
+ $labels = $( [
+ booklet.$ownWorkMessage[ 0 ],
+ booklet.$notOwnWorkMessage[ 0 ],
+ booklet.$notOwnWorkLocal[ 0 ]
+ ] );
+
+ // Improve the behavior of links inside these labels, which may point to important
+ // things like licensing requirements or terms of use
+ $labels.find( 'a' )
+ .attr( 'target', '_blank' )
+ .on( 'click', function ( e ) {
+ // OO.ui.FieldLayout#onLabelClick is trying to prevent default on all clicks,
+ // which causes the links to not be openable. Don't let it do that.
+ e.stopPropagation();
+ } );
} );
} )
);
}
/**
+ * @covers MediaWiki\Linker\LinkRenderer::runLegacyBeginHook
* @dataProvider provideLinkBeginHook
*/
public function testLinkBeginHook( $callback, $expected ) {
}
/**
+ * @covers MediaWiki\Linker\LinkRenderer::buildAElement
* @dataProvider provideLinkEndHook
*/
public function testLinkEndHook( $callback, $expected ) {