Merge "Revert Count API module instantiations and Hook runs"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 15 Jul 2015 20:35:28 +0000 (20:35 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 15 Jul 2015 20:35:28 +0000 (20:35 +0000)
536 files changed:
.rubocop.yml
Gemfile.lock
Gruntfile.js
autoload.php
composer.json
docs/hooks.txt
includes/DefaultSettings.php
includes/Export.php
includes/GlobalFunctions.php
includes/Html.php
includes/Linker.php
includes/Sanitizer.php
includes/TemplateParser.php
includes/Title.php
includes/User.php
includes/api/ApiFeedWatchlist.php
includes/api/ApiQueryAllUsers.php
includes/api/ApiQueryImageInfo.php
includes/api/ApiStashEdit.php
includes/api/ApiUpload.php
includes/api/i18n/bs.json
includes/api/i18n/ca.json
includes/api/i18n/en.json
includes/api/i18n/es.json
includes/api/i18n/fr.json
includes/api/i18n/gl.json
includes/api/i18n/ht.json [new file with mode: 0644]
includes/api/i18n/ja.json
includes/api/i18n/ko.json
includes/api/i18n/ksh.json
includes/api/i18n/ky.json [new file with mode: 0644]
includes/api/i18n/pl.json
includes/api/i18n/qqq.json
includes/api/i18n/ru.json
includes/api/i18n/wuu.json [new file with mode: 0644]
includes/api/i18n/zh-hans.json
includes/cache/LCStoreStaticArray.php
includes/cache/LinkBatch.php
includes/cache/UserCache.php
includes/changes/EnhancedChangesList.php
includes/changetags/ChangeTagsRevisionList.php
includes/context/RequestContext.php
includes/db/DBConnRef.php
includes/db/Database.php
includes/db/DatabaseMysqlBase.php
includes/db/DatabasePostgres.php
includes/db/IDatabase.php [new file with mode: 0644]
includes/db/LoadMonitor.php
includes/filebackend/FileBackendStore.php
includes/filerepo/FileRepo.php
includes/filerepo/LocalRepo.php
includes/gallery/PackedImageGallery.php
includes/htmlform/HTMLButtonField.php
includes/htmlform/HTMLForm.php
includes/htmlform/HTMLSelectNamespace.php
includes/htmlform/OOUIHTMLForm.php
includes/htmlform/VFormHTMLForm.php
includes/installer/WebInstallerPage.php
includes/installer/i18n/ar.json
includes/installer/i18n/bs.json
includes/installer/i18n/cu.json
includes/installer/i18n/es.json
includes/installer/i18n/gl.json
includes/installer/i18n/it.json
includes/installer/i18n/ksh.json
includes/installer/i18n/ps.json
includes/jobqueue/JobQueue.php
includes/jobqueue/jobs/RecentChangesUpdateJob.php
includes/libs/BufferingStatsdDataFactory.php
includes/libs/MultiHttpClient.php
includes/libs/objectcache/WANObjectCache.php
includes/mail/EmailNotification.php
includes/objectcache/MemcachedClient.php
includes/parser/CoreParserFunctions.php
includes/parser/Parser.php
includes/password/UserPasswordPolicy.php
includes/profiler/output/ProfilerOutputStats.php
includes/resourceloader/ResourceLoader.php
includes/resourceloader/ResourceLoaderJqueryMsgModule.php
includes/resourceloader/ResourceLoaderModule.php
includes/search/SearchMySQL.php
includes/specialpage/FormSpecialPage.php
includes/specials/SpecialLinkSearch.php
includes/specials/SpecialMovepage.php
includes/specials/SpecialSearch.php
includes/specials/SpecialUndelete.php
includes/specials/SpecialUserlogin.php
includes/widget/TitleInputWidget.php
jsduck.json
languages/Language.php
languages/i18n/af.json
languages/i18n/an.json
languages/i18n/ar.json
languages/i18n/arz.json
languages/i18n/as.json
languages/i18n/ast.json
languages/i18n/awa.json
languages/i18n/azb.json
languages/i18n/ba.json
languages/i18n/bar.json
languages/i18n/bcc.json
languages/i18n/bcl.json
languages/i18n/be-tarask.json
languages/i18n/be.json
languages/i18n/bg.json
languages/i18n/bjn.json
languages/i18n/bn.json
languages/i18n/br.json
languages/i18n/bs.json
languages/i18n/ca.json
languages/i18n/ce.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/cv.json
languages/i18n/cy.json
languages/i18n/da.json
languages/i18n/de.json
languages/i18n/diq.json
languages/i18n/dsb.json
languages/i18n/el.json
languages/i18n/en.json
languages/i18n/eo.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/frp.json
languages/i18n/frr.json
languages/i18n/fy.json
languages/i18n/gd.json
languages/i18n/gl.json
languages/i18n/gom-latn.json
languages/i18n/grc.json
languages/i18n/gsw.json
languages/i18n/gu.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/hif-latn.json
languages/i18n/hr.json
languages/i18n/hrx.json
languages/i18n/hsb.json
languages/i18n/ht.json
languages/i18n/hu.json
languages/i18n/ia.json
languages/i18n/id.json
languages/i18n/ilo.json
languages/i18n/is.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/jv.json
languages/i18n/ka.json
languages/i18n/kab.json
languages/i18n/kk-cyrl.json
languages/i18n/km.json
languages/i18n/kn.json
languages/i18n/ko.json
languages/i18n/krc.json
languages/i18n/ksh.json
languages/i18n/ku-latn.json
languages/i18n/ky.json
languages/i18n/lb.json
languages/i18n/li.json
languages/i18n/lrc.json
languages/i18n/lt.json
languages/i18n/luz.json
languages/i18n/lv.json
languages/i18n/lzh.json
languages/i18n/mai.json
languages/i18n/mdf.json
languages/i18n/mg.json
languages/i18n/mk.json
languages/i18n/ml.json
languages/i18n/mn.json
languages/i18n/mr.json
languages/i18n/ms.json
languages/i18n/mt.json
languages/i18n/mzn.json
languages/i18n/nap.json
languages/i18n/nb.json
languages/i18n/nds-nl.json
languages/i18n/nds.json
languages/i18n/ne.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/oc.json
languages/i18n/or.json
languages/i18n/pam.json
languages/i18n/pl.json
languages/i18n/pms.json
languages/i18n/pnb.json
languages/i18n/prg.json
languages/i18n/ps.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/qu.json
languages/i18n/rm.json
languages/i18n/ro.json
languages/i18n/roa-tara.json
languages/i18n/ru.json
languages/i18n/rue.json
languages/i18n/sa.json
languages/i18n/sah.json
languages/i18n/scn.json
languages/i18n/sco.json
languages/i18n/ses.json
languages/i18n/sh.json
languages/i18n/si.json
languages/i18n/sk.json
languages/i18n/sl.json
languages/i18n/sli.json
languages/i18n/sq.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/stq.json
languages/i18n/su.json
languages/i18n/sv.json
languages/i18n/sw.json
languages/i18n/szl.json
languages/i18n/te.json
languages/i18n/tg-cyrl.json
languages/i18n/tg-latn.json
languages/i18n/th.json
languages/i18n/tk.json
languages/i18n/tl.json
languages/i18n/tr.json
languages/i18n/tt-cyrl.json
languages/i18n/ug-arab.json
languages/i18n/uk.json
languages/i18n/vec.json
languages/i18n/vi.json
languages/i18n/vo.json
languages/i18n/wa.json
languages/i18n/wuu.json
languages/i18n/xmf.json
languages/i18n/yo.json
languages/i18n/yue.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
maintenance/jsduck/categories.json
maintenance/jsduck/custom_tags.rb
maintenance/rebuildLocalisationCache.php
maintenance/sql.php
phpcs.xml [new file with mode: 0644]
resources/Resources.php
resources/lib/oojs-ui/i18n/be.json
resources/lib/oojs-ui/i18n/bg.json
resources/lib/oojs-ui/i18n/bs.json
resources/lib/oojs-ui/i18n/ca.json
resources/lib/oojs-ui/i18n/cu.json
resources/lib/oojs-ui/i18n/el.json
resources/lib/oojs-ui/i18n/et.json
resources/lib/oojs-ui/i18n/fi.json
resources/lib/oojs-ui/i18n/hi.json
resources/lib/oojs-ui/i18n/hu-formal.json [new file with mode: 0644]
resources/lib/oojs-ui/i18n/hu.json
resources/lib/oojs-ui/i18n/la.json [new file with mode: 0644]
resources/lib/oojs-ui/i18n/mr.json
resources/lib/oojs-ui/i18n/ms.json
resources/lib/oojs-ui/i18n/nb.json
resources/lib/oojs-ui/i18n/om.json
resources/lib/oojs-ui/i18n/sco.json
resources/lib/oojs-ui/i18n/sh.json
resources/lib/oojs-ui/i18n/sq.json
resources/lib/oojs-ui/i18n/tl.json
resources/lib/oojs-ui/i18n/uk.json
resources/lib/oojs-ui/i18n/zh-hant.json
resources/lib/oojs-ui/oojs-ui-apex-noimages.css
resources/lib/oojs-ui/oojs-ui-apex.js
resources/lib/oojs-ui/oojs-ui-mediawiki-noimages.css
resources/lib/oojs-ui/oojs-ui-mediawiki.js
resources/lib/oojs-ui/oojs-ui.js
resources/lib/oojs-ui/themes/apex/icons-editing-styling.json
resources/lib/oojs-ui/themes/apex/icons.json
resources/lib/oojs-ui/themes/apex/images/icons/advanced.png
resources/lib/oojs-ui/themes/apex/images/icons/advanced.svg
resources/lib/oojs-ui/themes/apex/images/icons/alert.png
resources/lib/oojs-ui/themes/apex/images/icons/alert.svg
resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.svg
resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-ain.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-ain.svg
resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-dad.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-dad.svg
resources/lib/oojs-ui/themes/apex/images/icons/bold-armn-to.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-armn-to.svg
resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-be.svg
resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-zhe.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-zhe.svg
resources/lib/oojs-ui/themes/apex/images/icons/bold-g.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-g.svg
resources/lib/oojs-ui/themes/apex/images/icons/cancel.svg
resources/lib/oojs-ui/themes/apex/images/icons/case-sensitive.png
resources/lib/oojs-ui/themes/apex/images/icons/case-sensitive.svg
resources/lib/oojs-ui/themes/apex/images/icons/check.svg
resources/lib/oojs-ui/themes/apex/images/icons/code.svg
resources/lib/oojs-ui/themes/apex/images/icons/editLock-ltr.svg
resources/lib/oojs-ui/themes/apex/images/icons/editLock-rtl.svg
resources/lib/oojs-ui/themes/apex/images/icons/external-link-rtl.svg
resources/lib/oojs-ui/themes/apex/images/icons/find-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/find-ltr.svg
resources/lib/oojs-ui/themes/apex/images/icons/find-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/find-rtl.svg
resources/lib/oojs-ui/themes/apex/images/icons/help-ltr.svg
resources/lib/oojs-ui/themes/apex/images/icons/help-rtl.svg
resources/lib/oojs-ui/themes/apex/images/icons/history.png
resources/lib/oojs-ui/themes/apex/images/icons/history.svg
resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-keheh-jeem.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-keheh-jeem.svg
resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-meem.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-meem.svg
resources/lib/oojs-ui/themes/apex/images/icons/italic-armn-sha.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-armn-sha.svg
resources/lib/oojs-ui/themes/apex/images/icons/italic-c.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-c.svg
resources/lib/oojs-ui/themes/apex/images/icons/italic-d.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-d.svg
resources/lib/oojs-ui/themes/apex/images/icons/italic-e.svg
resources/lib/oojs-ui/themes/apex/images/icons/italic-geor-kan.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-geor-kan.svg
resources/lib/oojs-ui/themes/apex/images/icons/italic-s.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-s.svg
resources/lib/oojs-ui/themes/apex/images/icons/language.png
resources/lib/oojs-ui/themes/apex/images/icons/language.svg
resources/lib/oojs-ui/themes/apex/images/icons/link.svg
resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.svg
resources/lib/oojs-ui/themes/apex/images/icons/notice.png [new file with mode: 0644]
resources/lib/oojs-ui/themes/apex/images/icons/notice.svg [new file with mode: 0644]
resources/lib/oojs-ui/themes/apex/images/icons/regular-expression.png
resources/lib/oojs-ui/themes/apex/images/icons/regular-expression.svg
resources/lib/oojs-ui/themes/apex/images/icons/search.png
resources/lib/oojs-ui/themes/apex/images/icons/search.svg
resources/lib/oojs-ui/themes/apex/images/icons/secure-link.svg
resources/lib/oojs-ui/themes/apex/images/icons/specialCharacter.png
resources/lib/oojs-ui/themes/apex/images/icons/specialCharacter.svg
resources/lib/oojs-ui/themes/apex/images/icons/strikethrough-s.svg
resources/lib/oojs-ui/themes/apex/images/icons/tag.png
resources/lib/oojs-ui/themes/apex/images/icons/tag.svg
resources/lib/oojs-ui/themes/apex/images/icons/text-style.svg
resources/lib/oojs-ui/themes/apex/images/icons/underline-a.png
resources/lib/oojs-ui/themes/apex/images/icons/underline-a.svg
resources/lib/oojs-ui/themes/apex/images/icons/underline-u.svg
resources/lib/oojs-ui/themes/apex/images/indicators/search-ltr.png
resources/lib/oojs-ui/themes/apex/images/indicators/search-ltr.svg
resources/lib/oojs-ui/themes/apex/images/indicators/search-rtl.png
resources/lib/oojs-ui/themes/apex/images/indicators/search-rtl.svg
resources/lib/oojs-ui/themes/mediawiki/icons-editing-styling.json
resources/lib/oojs-ui/themes/mediawiki/icons.json
resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-warning.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-warning.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/alert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/alert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-be-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-be.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/code-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/code.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-ltr-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-ltr.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-rtl-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-rtl.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-rtl-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-rtl.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/help-ltr-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/help-ltr.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/help-rtl-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/help-rtl.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/history-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/history-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/history.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/history.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-ltr-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-ltr.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-rtl-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-rtl.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-e-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-e.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/language-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/language-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/language.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/language.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr-destructive.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl-destructive.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/notice-invert.png [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/notice-invert.svg [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/notice.png [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/notice.svg [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/secure-link-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/secure-link.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-s-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-s.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-constructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-constructive.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-destructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-destructive.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-progressive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-progressive.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-warning.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-warning.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/text-style-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/text-style.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr-destructive.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl-destructive.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-u-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-u.svg
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr.svg
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl.svg
resources/src/mediawiki.api/mediawiki.api.upload.js [new file with mode: 0644]
resources/src/mediawiki.messagePoster/mediawiki.messagePoster.factory.js
resources/src/mediawiki.skinning/elements.css
resources/src/mediawiki.special/mediawiki.special.search.css
resources/src/mediawiki.special/mediawiki.special.search.js
resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js
resources/src/mediawiki.widgets/mw.widgets.infuse.js [deleted file]
resources/src/mediawiki/mediawiki.Upload.js [new file with mode: 0644]
resources/src/mediawiki/mediawiki.htmlform.ooui.css
resources/src/mediawiki/mediawiki.jqueryMsg.js
resources/src/mediawiki/mediawiki.searchSuggest.js
resources/src/mediawiki/mediawiki.util.js
tests/browser/features/step_definitions/create_account_steps.rb
tests/parser/parserTests.txt
tests/phpunit/data/templates/bad_partial.mustache [new file with mode: 0644]
tests/phpunit/data/templates/has_partial.mustache [new file with mode: 0644]
tests/phpunit/includes/GlobalFunctions/wfUrlencodeTest.php
tests/phpunit/includes/TemplateParserTest.php
tests/phpunit/includes/objectcache/WANObjectCacheTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php
tests/phpunit/phpunit.php
tests/qunit/QUnitTestResources.php
tests/qunit/suites/resources/mediawiki.api/mediawiki.api.upload.test.js [new file with mode: 0644]
tests/qunit/suites/resources/mediawiki/mediawiki.util.test.js
thumb.php

index 61ffc1a..5b6c3f2 100644 (file)
@@ -1,6 +1,7 @@
 AllCops:
   Exclude:
     - 'extensions/**/*'
+    - 'node_modules/**/*'
     - 'skins/**/*'
     - 'tests/frontend/node_modules/**/*'
     - 'vendor/**/*'
index 7aa9dae..3a695ef 100644 (file)
@@ -7,7 +7,7 @@ GEM
     builder (3.2.2)
     childprocess (0.5.6)
       ffi (~> 1.0, >= 1.0.11)
-    cucumber (1.3.19)
+    cucumber (1.3.20)
       builder (>= 2.1.2)
       diff-lcs (>= 1.1.3)
       gherkin (~> 2.12)
@@ -26,7 +26,7 @@ GEM
     faraday-cookie_jar (0.0.6)
       faraday (>= 0.7.4)
       http-cookie (~> 1.0.0)
-    ffi (1.9.8)
+    ffi (1.9.10)
     gherkin (2.12.2)
       multi_json (~> 1.3)
     headless (1.0.2)
@@ -34,7 +34,7 @@ GEM
       domain_name (~> 0.5)
     i18n (0.7.0)
     json (1.8.3)
-    mediawiki_api (0.3.1)
+    mediawiki_api (0.4.1)
       faraday (~> 0.9, >= 0.9.0)
       faraday-cookie_jar (~> 0.0, >= 0.0.6)
     mediawiki_selenium (1.2.1)
@@ -48,7 +48,7 @@ GEM
       syntax (~> 1.2, >= 1.2.0)
       thor (~> 0.19, >= 0.19.1)
     mime-types (2.6.1)
-    multi_json (1.11.0)
+    multi_json (1.11.2)
     multi_test (0.1.2)
     multipart-post (2.0.0)
     netrc (0.10.3)
@@ -58,7 +58,7 @@ GEM
       watir-webdriver (>= 0.6.11)
     page_navigation (0.9)
       data_magic (>= 0.14)
-    parser (2.2.2.5)
+    parser (2.2.2.6)
       ast (>= 1.1, < 3.0)
     powerpack (0.1.1)
     rainbow (2.0.0)
@@ -68,15 +68,15 @@ GEM
       netrc (~> 0.7)
     rspec-expectations (2.99.2)
       diff-lcs (>= 1.1.3, < 2.0)
-    rubocop (0.31.0)
+    rubocop (0.32.1)
       astrolabe (~> 1.3)
-      parser (>= 2.2.2.1, < 3.0)
+      parser (>= 2.2.2.5, < 3.0)
       powerpack (~> 0.1)
       rainbow (>= 1.99.1, < 3.0)
       ruby-progressbar (~> 1.4)
     ruby-progressbar (1.7.5)
     rubyzip (1.1.7)
-    selenium-webdriver (2.45.0)
+    selenium-webdriver (2.46.2)
       childprocess (~> 0.5)
       multi_json (~> 1.0)
       rubyzip (~> 1.0)
@@ -86,8 +86,8 @@ GEM
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.7.1)
-    watir-webdriver (0.7.0)
-      selenium-webdriver (>= 2.45)
+    watir-webdriver (0.8.0)
+      selenium-webdriver (>= 2.46.2)
     websocket (1.2.2)
     yml_reader (0.5)
 
@@ -97,3 +97,6 @@ PLATFORMS
 DEPENDENCIES
   mediawiki_selenium (~> 1.2.1)
   rubocop
+
+BUNDLED WITH
+   1.10.5
index 573db69..868fa4a 100644 (file)
@@ -15,7 +15,6 @@ module.exports = function ( grunt ) {
        karmaProxy[wgScriptPath] = wgServer + wgScriptPath;
 
        grunt.initConfig( {
-               pkg: grunt.file.readJSON( 'package.json' ),
                jshint: {
                        options: {
                                jshintrc: true
index 8e4da1e..6444e3e 100644 (file)
@@ -488,10 +488,10 @@ $wgAutoloadLocalClasses = array(
        'HTMLFileCache' => __DIR__ . '/includes/cache/HTMLFileCache.php',
        'HTMLFloatField' => __DIR__ . '/includes/htmlform/HTMLFloatField.php',
        'HTMLForm' => __DIR__ . '/includes/htmlform/HTMLForm.php',
-       'HTMLFormFieldWithButton' => __DIR__ . '/includes/htmlform/HTMLFormFieldWithButton.php',
        'HTMLFormField' => __DIR__ . '/includes/htmlform/HTMLFormField.php',
        'HTMLFormFieldCloner' => __DIR__ . '/includes/htmlform/HTMLFormFieldCloner.php',
        'HTMLFormFieldRequiredOptionsException' => __DIR__ . '/includes/htmlform/HTMLFormFieldRequiredOptionsException.php',
+       'HTMLFormFieldWithButton' => __DIR__ . '/includes/htmlform/HTMLFormFieldWithButton.php',
        'HTMLHiddenField' => __DIR__ . '/includes/htmlform/HTMLHiddenField.php',
        'HTMLInfoField' => __DIR__ . '/includes/htmlform/HTMLInfoField.php',
        'HTMLIntField' => __DIR__ . '/includes/htmlform/HTMLIntField.php',
@@ -530,7 +530,7 @@ $wgAutoloadLocalClasses = array(
        'ICacheHelper' => __DIR__ . '/includes/cache/CacheHelper.php',
        'IContextSource' => __DIR__ . '/includes/context/IContextSource.php',
        'IDBAccessObject' => __DIR__ . '/includes/dao/IDBAccessObject.php',
-       'IDatabase' => __DIR__ . '/includes/db/Database.php',
+       'IDatabase' => __DIR__ . '/includes/db/IDatabase.php',
        'IEContentAnalyzer' => __DIR__ . '/includes/libs/IEContentAnalyzer.php',
        'IEUrlExtension' => __DIR__ . '/includes/libs/IEUrlExtension.php',
        'IJobSpecification' => __DIR__ . '/includes/jobqueue/JobSpecification.php',
@@ -896,6 +896,7 @@ $wgAutoloadLocalClasses = array(
        'PoolWorkArticleView' => __DIR__ . '/includes/poolcounter/PoolWorkArticleView.php',
        'PopulateBacklinkNamespace' => __DIR__ . '/maintenance/populateBacklinkNamespace.php',
        'PopulateCategory' => __DIR__ . '/maintenance/populateCategory.php',
+       'PopulateContentModel' => __DIR__ . '/maintenance/populateContentModel.php',
        'PopulateFilearchiveSha1' => __DIR__ . '/maintenance/populateFilearchiveSha1.php',
        'PopulateImageSha1' => __DIR__ . '/maintenance/populateImageSha1.php',
        'PopulateLogSearch' => __DIR__ . '/maintenance/populateLogSearch.php',
index 2570a40..c40b802 100644 (file)
@@ -21,7 +21,7 @@
                "leafo/lessphp": "0.5.0",
                "liuggio/statsd-php-client": "1.0.12",
                "mediawiki/at-ease": "1.0.0",
-               "oojs/oojs-ui": "0.11.8",
+               "oojs/oojs-ui": "0.12.0",
                "php": ">=5.3.3",
                "psr/log": "1.0.0",
                "wikimedia/cdb": "1.0.1",
@@ -51,7 +51,7 @@
        },
        "scripts": {
                "lint": "parallel-lint --exclude vendor",
-               "phpcs": "phpcs $PHPCS_ARGS -s --standard=vendor/mediawiki/mediawiki-codesniffer/MediaWiki --ignore=vendor,node_modules --encoding=utf-8 --extensions=php,php5,inc,sample",
+               "phpcs": "phpcs -p $PHPCS_ARGS",
                "test": [
                        "composer lint",
                        "composer phpcs"
index 23df983..2fd815e 100644 (file)
@@ -2313,6 +2313,8 @@ that tests continue to run properly.
 'PasswordPoliciesForUser': Alter the effective password policy for a user.
 $user: User object whose policy you are modifying
 &$effectivePolicy: Array of policy statements that apply to this user
+$purpose: string indicating purpose of the check, one of 'login', 'create',
+  or 'reset'
 
 'PerformRetroactiveAutoblock': Called before a retroactive autoblock is applied
 to a user.
index f233ad7..6050ba7 100644 (file)
@@ -1597,7 +1597,8 @@ $wgEnotifRevealEditorAddress = false;
 
 /**
  * Send notification mails on minor edits to watchlist pages. This is enabled
- * by default. Does not affect user talk notifications.
+ * by default. User talk notifications are affected by this, $wgEnotifUserTalk, and
+ * the nominornewtalk user right.
  */
 $wgEnotifMinorEdits = true;
 
@@ -6735,7 +6736,7 @@ $wgJobSerialCommitThreshold = false;
  * These settings should be global to all wikis.
  */
 $wgJobTypeConf = array(
-       'default' => array( 'class' => 'JobQueueDB', 'order' => 'random' ),
+       'default' => array( 'class' => 'JobQueueDB', 'order' => 'random', 'claimTTL' => 3600 ),
 );
 
 /**
@@ -6927,15 +6928,15 @@ $wgLogNames = array(
 $wgLogHeaders = array(
        '' => 'alllogstext',
        'block' => 'blocklogtext',
-       'protect' => 'protectlogtext',
-       'rights' => 'rightslogtext',
        'delete' => 'dellogpagetext',
-       'upload' => 'uploadlogpagetext',
-       'move' => 'movelogpagetext',
        'import' => 'importlogpagetext',
-       'patrol' => 'patrol-log-header',
        'merge' => 'mergelogpagetext',
+       'move' => 'movelogpagetext',
+       'patrol' => 'patrol-log-header',
+       'protect' => 'protectlogtext',
+       'rights' => 'rightslogtext',
        'suppress' => 'suppressionlogtext',
+       'upload' => 'uploadlogpagetext',
 );
 
 /**
@@ -6945,10 +6946,10 @@ $wgLogHeaders = array(
  * Extensions with custom log types may add to this array.
  */
 $wgLogActions = array(
-       'protect/protect' => 'protectedarticle',
        'protect/modify' => 'modifiedarticleprotection',
-       'protect/unprotect' => 'unprotectedarticle',
        'protect/move_prot' => 'movedarticleprotection',
+       'protect/protect' => 'protectedarticle',
+       'protect/unprotect' => 'unprotectedarticle',
 );
 
 /**
@@ -6958,35 +6959,35 @@ $wgLogActions = array(
  * @see LogFormatter
  */
 $wgLogActionsHandlers = array(
-       'move/move' => 'MoveLogFormatter',
-       'move/move_redir' => 'MoveLogFormatter',
+       'block/block' => 'BlockLogFormatter',
+       'block/reblock' => 'BlockLogFormatter',
+       'block/unblock' => 'BlockLogFormatter',
+       'contentmodel/change' => 'ContentModelLogFormatter',
        'delete/delete' => 'DeleteLogFormatter',
+       'delete/event' => 'DeleteLogFormatter',
        'delete/restore' => 'DeleteLogFormatter',
        'delete/revision' => 'DeleteLogFormatter',
-       'delete/event' => 'DeleteLogFormatter',
-       'suppress/revision' => 'DeleteLogFormatter',
-       'suppress/event' => 'DeleteLogFormatter',
-       'suppress/delete' => 'DeleteLogFormatter',
-       'patrol/patrol' => 'PatrolLogFormatter',
-       'rights/rights' => 'RightsLogFormatter',
-       'rights/autopromote' => 'RightsLogFormatter',
-       'upload/upload' => 'UploadLogFormatter',
-       'upload/overwrite' => 'UploadLogFormatter',
-       'upload/revert' => 'UploadLogFormatter',
-       'merge/merge' => 'MergeLogFormatter',
-       'tag/update' => 'TagLogFormatter',
-       'managetags/create' => 'LogFormatter',
-       'managetags/delete' => 'LogFormatter',
+       'import/interwiki' => 'LogFormatter',
+       'import/upload' => 'LogFormatter',
        'managetags/activate' => 'LogFormatter',
+       'managetags/create' => 'LogFormatter',
        'managetags/deactivate' => 'LogFormatter',
-       'block/block' => 'BlockLogFormatter',
-       'block/unblock' => 'BlockLogFormatter',
-       'block/reblock' => 'BlockLogFormatter',
+       'managetags/delete' => 'LogFormatter',
+       'merge/merge' => 'MergeLogFormatter',
+       'move/move' => 'MoveLogFormatter',
+       'move/move_redir' => 'MoveLogFormatter',
+       'patrol/patrol' => 'PatrolLogFormatter',
+       'rights/autopromote' => 'RightsLogFormatter',
+       'rights/rights' => 'RightsLogFormatter',
        'suppress/block' => 'BlockLogFormatter',
+       'suppress/delete' => 'DeleteLogFormatter',
+       'suppress/event' => 'DeleteLogFormatter',
        'suppress/reblock' => 'BlockLogFormatter',
-       'import/upload' => 'LogFormatter',
-       'import/interwiki' => 'LogFormatter',
-       'contentmodel/change' => 'ContentModelLogFormatter',
+       'suppress/revision' => 'DeleteLogFormatter',
+       'tag/update' => 'TagLogFormatter',
+       'upload/overwrite' => 'UploadLogFormatter',
+       'upload/revert' => 'UploadLogFormatter',
+       'upload/upload' => 'UploadLogFormatter',
 );
 
 /**
index 0d55d7d..adab21c 100644 (file)
@@ -874,7 +874,7 @@ class XmlDumpWriter {
                }
 
                global $wgContLang;
-               $prefix = str_replace( '_', ' ', $wgContLang->getNsText( $title->getNamespace() ) );
+               $prefix = $wgContLang->getFormattedNsText( $title->getNamespace() );
 
                if ( $prefix !== '' ) {
                        $prefix .= ':';
index 97042fd..21b584b 100644 (file)
@@ -402,12 +402,17 @@ function wfRandomString( $length = 32 ) {
  *
  * ;:@&=$-_.+!*'(),
  *
+ * RFC 1738 says ~ is unsafe, however RFC 3986 considers it an unreserved
+ * character which should not be encoded. More importantly, google chrome
+ * always converts %7E back to ~, and converting it in this function can
+ * cause a redirect loop (T105265).
+ *
  * But + is not safe because it's used to indicate a space; &= are only safe in
  * paths and not in queries (and we don't distinguish here); ' seems kind of
  * scary; and urlencode() doesn't touch -_. to begin with.  Plus, although /
  * is reserved, we don't care.  So the list we unescape is:
  *
- * ;:@$!*(),/
+ * ;:@$!*(),/~
  *
  * However, IIS7 redirects fail when the url contains a colon (Bug 22709),
  * so no fancy : for IIS7.
@@ -426,7 +431,7 @@ function wfUrlencode( $s ) {
        }
 
        if ( is_null( $needle ) ) {
-               $needle = array( '%3B', '%40', '%24', '%21', '%2A', '%28', '%29', '%2C', '%2F' );
+               $needle = array( '%3B', '%40', '%24', '%21', '%2A', '%28', '%29', '%2C', '%2F', '%7E' );
                if ( !isset( $_SERVER['SERVER_SOFTWARE'] ) ||
                        ( strpos( $_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7' ) === false )
                ) {
@@ -437,7 +442,7 @@ function wfUrlencode( $s ) {
        $s = urlencode( $s );
        $s = str_ireplace(
                $needle,
-               array( ';', '@', '$', '!', '*', '(', ')', ',', '/', ':' ),
+               array( ';', '@', '$', '!', '*', '(', ')', ',', '/', '~', ':' ),
                $s
        );
 
@@ -3505,8 +3510,7 @@ function wfMemcKey( /*...*/ ) {
        $prefix = $wgCachePrefix === false ? wfWikiID() : $wgCachePrefix;
        $args = func_get_args();
        $key = $prefix . ':' . implode( ':', $args );
-       $key = str_replace( ' ', '_', $key );
-       return $key;
+       return strtr( $key, ' ', '_' );
 }
 
 /**
@@ -3527,7 +3531,7 @@ function wfForeignMemcKey( $db, $prefix /*...*/ ) {
        } else {
                $key = $db . ':' . implode( ':', $args );
        }
-       return str_replace( ' ', '_', $key );
+       return strtr( $key, ' ', '_' );
 }
 
 /**
@@ -3544,8 +3548,7 @@ function wfForeignMemcKey( $db, $prefix /*...*/ ) {
 function wfGlobalCacheKey( /*...*/ ) {
        $args = func_get_args();
        $key = 'global:' . implode( ':', $args );
-       $key = str_replace( ' ', '_', $key );
-       return $key;
+       return strtr( $key, ' ', '_' );
 }
 
 /**
index 235096d..62ae0b8 100644 (file)
@@ -822,6 +822,47 @@ class Html {
                return self::element( 'textarea', self::getTextInputAttributes( $attribs ), $spacedValue );
        }
 
+       /**
+        * Helper for Html::namespaceSelector().
+        * @param array $params See Html::namespaceSelector()
+        * @return array
+        */
+       public static function namespaceSelectorOptions( array $params = array() ) {
+               global $wgContLang;
+
+               $options = array();
+
+               if ( !isset( $params['exclude'] ) || !is_array( $params['exclude'] ) ) {
+                       $params['exclude'] = array();
+               }
+
+               if ( isset( $params['all'] ) ) {
+                       // add an option that would let the user select all namespaces.
+                       // Value is provided by user, the name shown is localized for the user.
+                       $options[$params['all']] = wfMessage( 'namespacesall' )->text();
+               }
+               // Add all namespaces as options (in the content language)
+               $options += $wgContLang->getFormattedNamespaces();
+
+               $optionsOut = array();
+               // Filter out namespaces below 0 and massage labels
+               foreach ( $options as $nsId => $nsName ) {
+                       if ( $nsId < NS_MAIN || in_array( $nsId, $params['exclude'] ) ) {
+                               continue;
+                       }
+                       if ( $nsId === NS_MAIN ) {
+                               // For other namespaces use the namespace prefix as label, but for
+                               // main we don't use "" but the user message describing it (e.g. "(Main)" or "(Article)")
+                               $nsName = wfMessage( 'blanknamespace' )->text();
+                       } elseif ( is_int( $nsId ) ) {
+                               $nsName = $wgContLang->convertNamespace( $nsId );
+                       }
+                       $optionsOut[ $nsId ] = $nsName;
+               }
+
+               return $optionsOut;
+       }
+
        /**
         * Build a drop-down box for selecting a namespace
         *
@@ -841,8 +882,6 @@ class Html {
        public static function namespaceSelector( array $params = array(),
                array $selectAttribs = array()
        ) {
-               global $wgContLang;
-
                ksort( $selectAttribs );
 
                // Is a namespace selected?
@@ -859,37 +898,16 @@ class Html {
                        $params['selected'] = '';
                }
 
-               if ( !isset( $params['exclude'] ) || !is_array( $params['exclude'] ) ) {
-                       $params['exclude'] = array();
-               }
                if ( !isset( $params['disable'] ) || !is_array( $params['disable'] ) ) {
                        $params['disable'] = array();
                }
 
                // Associative array between option-values and option-labels
-               $options = array();
-
-               if ( isset( $params['all'] ) ) {
-                       // add an option that would let the user select all namespaces.
-                       // Value is provided by user, the name shown is localized for the user.
-                       $options[$params['all']] = wfMessage( 'namespacesall' )->text();
-               }
-               // Add all namespaces as options (in the content language)
-               $options += $wgContLang->getFormattedNamespaces();
+               $options = self::namespaceSelectorOptions( $params );
 
-               // Convert $options to HTML and filter out namespaces below 0
+               // Convert $options to HTML
                $optionsHtml = array();
                foreach ( $options as $nsId => $nsName ) {
-                       if ( $nsId < NS_MAIN || in_array( $nsId, $params['exclude'] ) ) {
-                               continue;
-                       }
-                       if ( $nsId === NS_MAIN ) {
-                               // For other namespaces use the namespace prefix as label, but for
-                               // main we don't use "" but the user message describing it (e.g. "(Main)" or "(Article)")
-                               $nsName = wfMessage( 'blanknamespace' )->text();
-                       } elseif ( is_int( $nsId ) ) {
-                               $nsName = $wgContLang->convertNamespace( $nsId );
-                       }
                        $optionsHtml[] = self::element(
                                'option', array(
                                        'disabled' => in_array( $nsId, $params['disable'] ),
index 4a1aa87..bb65cdf 100644 (file)
@@ -77,7 +77,7 @@ class Linker {
                wfDeprecated( __METHOD__, '1.25' );
 
                $title = urldecode( $title );
-               $title = str_replace( '_', ' ', $title );
+               $title = strtr( $title, '_', ' ' );
                return self::getLinkAttributesInternal( $title, $class );
        }
 
@@ -1414,10 +1414,9 @@ class Linker {
 
                                # fix up urlencoded title texts (copied from Parser::replaceInternalLinks)
                                if ( strpos( $match[1], '%' ) !== false ) {
-                                       $match[1] = str_replace(
-                                               array( '<', '>' ),
-                                               array( '&lt;', '&gt;' ),
-                                               rawurldecode( $match[1] )
+                                       $match[1] = strtr(
+                                               rawurldecode( $match[1] ),
+                                               array( '<' => '&lt;', '>' => '&gt;' )
                                        );
                                }
 
index 2340cd9..ddaf1b2 100644 (file)
@@ -753,7 +753,7 @@ class Sanitizer {
                        }
 
                        # Allow any attribute beginning with "data-"
-                       if ( !preg_match( '/^data-/i', $attribute ) && !isset( $whitelist[$attribute] ) ) {
+                       if ( !preg_match( '/^data-(?!ooui)/i', $attribute ) && !isset( $whitelist[$attribute] ) ) {
                                continue;
                        }
 
index d53d593..f0a1ebb 100644 (file)
@@ -173,7 +173,9 @@ class TemplateParser {
                        array(
                                // Do not add more flags here without discussion.
                                // If you do add more flags, be sure to update unit tests as well.
-                               'flags' => LightnCandy::FLAG_ERROR_EXCEPTION
+                               'flags' => LightnCandy::FLAG_ERROR_EXCEPTION,
+                               'basedir' => $this->templateDir,
+                               'fileext' => '.mustache',
                        )
                );
        }
index 9c8ed47..1ab88a6 100644 (file)
@@ -313,7 +313,7 @@ class Title {
                $filteredText = Sanitizer::decodeCharReferencesAndNormalize( $text );
 
                $t = new Title();
-               $t->mDbkeyform = str_replace( ' ', '_', $filteredText );
+               $t->mDbkeyform = strtr( $filteredText, ' ', '_' );
                $t->mDefaultNamespace = intval( $defaultNamespace );
 
                $t->secureAndSplit();
@@ -345,10 +345,10 @@ class Title {
                # but some URLs used it as a space replacement and they still come
                # from some external search tools.
                if ( strpos( self::legalChars(), '+' ) === false ) {
-                       $url = str_replace( '+', ' ', $url );
+                       $url = strtr( $url, '+', ' ' );
                }
 
-               $t->mDbkeyform = str_replace( ' ', '_', $url );
+               $t->mDbkeyform = strtr( $url, ' ', '_' );
 
                try {
                        $t->secureAndSplit();
@@ -509,10 +509,10 @@ class Title {
                $t->mInterwiki = $interwiki;
                $t->mFragment = $fragment;
                $t->mNamespace = $ns = intval( $ns );
-               $t->mDbkeyform = str_replace( ' ', '_', $title );
+               $t->mDbkeyform = strtr( $title, ' ', '_' );
                $t->mArticleID = ( $ns >= 0 ) ? -1 : 0;
                $t->mUrlform = wfUrlencode( $t->mDbkeyform );
-               $t->mTextform = str_replace( '_', ' ', $title );
+               $t->mTextform = strtr( $title, '_', ' ' );
                $t->mContentModel = false; # initialized lazily in getContentModel()
                return $t;
        }
@@ -1419,7 +1419,7 @@ class Title {
         * @param string $fragment Text
         */
        public function setFragment( $fragment ) {
-               $this->mFragment = str_replace( '_', ' ', substr( $fragment, 1 ) );
+               $this->mFragment = strtr( substr( $fragment, 1 ), '_', ' ' );
        }
 
        /**
@@ -1449,7 +1449,7 @@ class Title {
         */
        public function getPrefixedDBkey() {
                $s = $this->prefix( $this->mDbkeyform );
-               $s = str_replace( ' ', '_', $s );
+               $s = strtr( $s, ' ', '_' );
                return $s;
        }
 
@@ -1462,7 +1462,7 @@ class Title {
        public function getPrefixedText() {
                if ( $this->mPrefixedText === null ) {
                        $s = $this->prefix( $this->mTextform );
-                       $s = str_replace( '_', ' ', $s );
+                       $s = strtr( $s, '_', ' ' );
                        $this->mPrefixedText = $s;
                }
                return $this->mPrefixedText;
@@ -1610,7 +1610,7 @@ class Title {
         */
        public function getSubpageUrlForm() {
                $text = $this->getSubpageText();
-               $text = wfUrlencode( str_replace( ' ', '_', $text ) );
+               $text = wfUrlencode( strtr( $text, ' ', '_' ) );
                return $text;
        }
 
@@ -1621,7 +1621,7 @@ class Title {
         */
        public function getPrefixedURL() {
                $s = $this->prefix( $this->mDbkeyform );
-               $s = wfUrlencode( str_replace( ' ', '_', $s ) );
+               $s = wfUrlencode( strtr( $s, ' ', '_' ) );
                return $s;
        }
 
@@ -3370,7 +3370,7 @@ class Title {
 
                $this->mDbkeyform = $parts['dbkey'];
                $this->mUrlform = wfUrlencode( $this->mDbkeyform );
-               $this->mTextform = str_replace( '_', ' ', $this->mDbkeyform );
+               $this->mTextform = strtr( $this->mDbkeyform, '_', ' ' );
 
                # We already know that some pages won't be in the database!
                if ( $this->isExternal() || $this->mNamespace == NS_SPECIAL ) {
@@ -4738,7 +4738,7 @@ class Title {
                        }
                } else {
                        // Even if there are no subpages in namespace, we still don't want "/" in MediaWiki message keys
-                       $editnoticeText = $editnotice_ns . '-' . str_replace( '/', '-', $this->getDBkey() );
+                       $editnoticeText = $editnotice_ns . '-' . strtr( $this->getDBkey(), '/', '-' );
                        $msg = wfMessage( $editnoticeText );
                        if ( $msg->exists() ) {
                                $html = $msg->parseAsBlock();
index 63c0d37..06ae856 100644 (file)
@@ -183,50 +183,50 @@ class User implements IDBAccessObject {
         */
        protected static $mAllRights = false;
 
-       /** @name Cache variables */
+       /** Cache variables */
        //@{
        public $mId;
-
+       /** @var string */
        public $mName;
-
+       /** @var string */
        public $mRealName;
-
        /**
         * @todo Make this actually private
         * @private
+        * @var Password
         */
        public $mPassword;
-
        /**
         * @todo Make this actually private
         * @private
+        * @var Password
         */
        public $mNewpassword;
-
+       /** @var string */
        public $mNewpassTime;
-
+       /** @var string */
        public $mEmail;
        /** @var string TS_MW timestamp from the DB */
        public $mTouched;
        /** @var string TS_MW timestamp from cache */
        protected $mQuickTouched;
-
+       /** @var string */
        protected $mToken;
-
+       /** @var string */
        public $mEmailAuthenticated;
-
+       /** @var string */
        protected $mEmailToken;
-
+       /** @var string */
        protected $mEmailTokenExpires;
-
+       /** @var string */
        protected $mRegistration;
-
+       /** @var int */
        protected $mEditCount;
-
+       /** @var array */
        public $mGroups;
-
+       /** @var array */
        protected $mOptionOverrides;
-
+       /** @var string */
        protected $mPasswordExpires;
        //@}
 
@@ -257,29 +257,29 @@ class User implements IDBAccessObject {
         * Lazy-initialized variables, invalidated with clearInstanceCache
         */
        protected $mNewtalk;
-
+       /** @var string */
        protected $mDatePreference;
-
+       /** @var string */
        public $mBlockedby;
-
+       /** @var string */
        protected $mHash;
-
+       /** @var array */
        public $mRights;
-
+       /** @var string */
        protected $mBlockreason;
-
+       /** @var array */
        protected $mEffectiveGroups;
-
+       /** @var array */
        protected $mImplicitGroups;
-
+       /** @var array */
        protected $mFormerGroups;
-
+       /** @var bool */
        protected $mBlockedGlobally;
-
+       /** @var bool */
        protected $mLocked;
-
+       /** @var bool */
        public $mHideName;
-
+       /** @var array */
        public $mOptions;
 
        /**
@@ -387,7 +387,8 @@ class User implements IDBAccessObject {
 
                // Try cache (unless this needs to lock the DB).
                // NOTE: if this thread called saveSettings(), the cache was cleared.
-               if ( ( $flags & self::READ_LOCKING ) || !$this->loadFromCache() ) {
+               $locking = ( ( $flags & self::READ_LOCKING ) == self::READ_LOCKING );
+               if ( $locking || !$this->loadFromCache() ) {
                        wfDebug( "User: cache miss for user {$this->mId}\n" );
                        // Load from DB (make sure this thread sees its own changes)
                        if ( wfGetLB()->hasOrMadeRecentMasterChanges() ) {
@@ -837,10 +838,11 @@ class User implements IDBAccessObject {
         * able to set their password to this.
         *
         * @param string $password Desired password
+        * @param string $purpose one of 'login', 'create', 'reset'
         * @return Status
         * @since 1.23
         */
-       public function checkPasswordValidity( $password ) {
+       public function checkPasswordValidity( $password, $purpose = 'login' ) {
                global $wgPasswordPolicy;
 
                $upp = new UserPasswordPolicy(
@@ -857,7 +859,7 @@ class User implements IDBAccessObject {
                }
 
                if ( $result === false ) {
-                       $status->merge( $upp->checkUserPassword( $this, $password ) );
+                       $status->merge( $upp->checkUserPassword( $this, $password, $purpose ) );
                        return $status;
                } elseif ( $result === true ) {
                        return $status;
@@ -2151,6 +2153,7 @@ class User implements IDBAccessObject {
                                && $newMessageLinks[0]['wiki'] === wfWikiID()
                                && $newMessageLinks[0]['rev']
                        ) {
+                               /** @var Revision $newMessageRevision */
                                $newMessageRevision = $newMessageLinks[0]['rev'];
                                $newMessageRevisionId = $newMessageRevision->getId();
                        }
@@ -3679,12 +3682,10 @@ class User implements IDBAccessObject {
                        $this->clearSharedCache();
                        // User was changed in the meantime or loaded with stale data
                        $from = ( $this->queryFlagsUsed & self::READ_LATEST ) ? 'master' : 'slave';
-                       MWExceptionHandler::logException( new MWException(
+                       throw new MWException(
                                "CAS update failed on user_touched for user ID '{$this->mId}' (read from $from);" .
                                "the version of the user to be saved is older than the current version."
-                       ) );
-
-                       return;
+                       );
                }
 
                $this->mTouched = $newTouched;
@@ -3705,19 +3706,29 @@ class User implements IDBAccessObject {
 
        /**
         * If only this user's username is known, and it exists, return the user ID.
+        *
+        * @param int $flags Bitfield of User:READ_* constants; useful for existence checks
         * @return int
         */
-       public function idForName() {
+       public function idForName( $flags = 0 ) {
                $s = trim( $this->getName() );
                if ( $s === '' ) {
                        return 0;
                }
 
-               $dbr = wfGetDB( DB_SLAVE );
-               $id = $dbr->selectField( 'user', 'user_id', array( 'user_name' => $s ), __METHOD__ );
+               $db = ( ( $flags & self::READ_LATEST ) == self::READ_LATEST )
+                       ? wfGetDB( DB_MASTER )
+                       : wfGetDB( DB_SLAVE );
+
+               $options = ( ( $flags & self::READ_LOCKING ) == self::READ_LOCKING )
+                       ? array( 'FOR UPDATE' )
+                       : array();
+
+               $id = $db->selectField( 'user', 'user_id', array( 'user_name' => $s ), __METHOD__, $options );
                if ( $id === false ) {
                        $id = 0;
                }
+
                return $id;
        }
 
@@ -4222,21 +4233,22 @@ class User implements IDBAccessObject {
         *
         * @param string $subject Message subject
         * @param string $body Message body
-        * @param string $from Optional From address; if unspecified, default
+        * @param User|null $from Optional sending user; if unspecified, default
         *   $wgPasswordSender will be used.
         * @param string $replyto Reply-To address
         * @return Status
         */
        public function sendMail( $subject, $body, $from = null, $replyto = null ) {
-               if ( is_null( $from ) ) {
-                       global $wgPasswordSender;
+               global $wgPasswordSender;
+
+               if ( $from instanceof User ) {
+                       $sender = MailAddress::newFromUser( $from );
+               } else {
                        $sender = new MailAddress( $wgPasswordSender,
                                wfMessage( 'emailsender' )->inContentLanguage()->text() );
-               } else {
-                       $sender = MailAddress::newFromUser( $from );
                }
-
                $to = MailAddress::newFromUser( $this );
+
                return UserMailer::send( $to, $sender, $subject, $body, $replyto );
        }
 
index 853b138..0ddb3c3 100644 (file)
@@ -169,6 +169,11 @@ class ApiFeedWatchlist extends ApiBase {
         * @return FeedItem
         */
        private function createFeedItem( $info ) {
+               if ( !isset( $info['title'] ) ) {
+                       // Probably a revdeled log entry, skip it.
+                       return null;
+               }
+
                $titleStr = $info['title'];
                $title = Title::newFromText( $titleStr );
                $curidParam = array();
@@ -205,9 +210,14 @@ class ApiFeedWatchlist extends ApiBase {
                }
 
                $timestamp = $info['timestamp'];
-               $user = $info['user'];
 
-               $completeText = "$comment ($user)";
+               if ( isset( $info['user'] ) ) {
+                       $user = $info['user'];
+                       $completeText = "$comment ($user)";
+               } else {
+                       $user = '';
+                       $completeText = (string)$comment;
+               }
 
                return new FeedItem( $titleStr, $completeText, $titleUrl, $timestamp, $user );
        }
index 05daa7a..b52b1c6 100644 (file)
@@ -41,7 +41,7 @@ class ApiQueryAllUsers extends ApiQueryBase {
         * @return string
         */
        private function getCanonicalUserName( $name ) {
-               return str_replace( '_', ' ', $name );
+               return strtr( $name, '_', ' ' );
        }
 
        public function execute() {
index bcd3c32..ba36c67 100644 (file)
@@ -592,7 +592,10 @@ class ApiQueryImageInfo extends ApiQueryBase {
                $retval = array();
                if ( is_array( $metadata ) ) {
                        foreach ( $metadata as $key => $value ) {
-                               $r = array( 'name' => $key );
+                               $r = array(
+                                       'name' => $key,
+                                       ApiResult::META_BC_BOOLS => array( 'value' ),
+                               );
                                if ( is_array( $value ) ) {
                                        $r['value'] = self::processMetaData( $value, $result );
                                } else {
index 1f469b8..177b546 100644 (file)
@@ -276,36 +276,55 @@ class ApiStashEdit extends ApiBase {
                }
 
                $dbr = wfGetDB( DB_SLAVE );
-               // Check that no templates used in the output changed...
-               $cWhr = array(); // conditions to find changes/creations
-               $dWhr = array(); // conditions to find deletions
+
+               $templates = array(); // conditions to find changes/creations
+               $templateUses = 0; // expected existing templates
                foreach ( $editInfo->output->getTemplateIds() as $ns => $stuff ) {
                        foreach ( $stuff as $dbkey => $revId ) {
-                               $cWhr[] = array( 'page_namespace' => $ns, 'page_title' => $dbkey,
-                                       'page_latest != ' . intval( $revId ) );
-                               $dWhr[] = array( 'page_namespace' => $ns, 'page_title' => $dbkey );
+                               $templates[(string)$ns][$dbkey] = (int)$revId;
+                               ++$templateUses;
                        }
                }
-               $change = $dbr->selectField( 'page', '1', $dbr->makeList( $cWhr, LIST_OR ), __METHOD__ );
-               $n = $dbr->selectField( 'page', 'COUNT(*)', $dbr->makeList( $dWhr, LIST_OR ), __METHOD__ );
-               if ( $change || $n != count( $dWhr ) ) {
-                       wfDebugLog( 'StashEdit', "Stale cache for key '$key'; template changed." );
-                       return false;
+               // Check that no templates used in the output changed...
+               if ( count( $templates ) ) {
+                       $res = $dbr->select(
+                               'page',
+                               array( 'ns' => 'page_namespace', 'dbk' => 'page_title', 'page_latest' ),
+                               $dbr->makeWhereFrom2d( $templates, 'page_namespace', 'page_title' ),
+                               __METHOD__
+                       );
+                       $changed = false;
+                       foreach ( $res as $row ) {
+                               $changed = $changed || ( $row->page_latest != $templates[$row->ns][$row->dbk] );
+                       }
+
+                       if ( $changed || $res->numRows() != $templateUses ) {
+                               wfDebugLog( 'StashEdit', "Stale cache for key '$key'; template changed." );
+                               return false;
+                       }
                }
 
-               // Check that no files used in the output changed...
-               $cWhr = array(); // conditions to find changes/creations
-               $dWhr = array(); // conditions to find deletions
+               $files = array(); // conditions to find changes/creations
                foreach ( $editInfo->output->getFileSearchOptions() as $name => $options ) {
-                       $cWhr[] = array( 'img_name' => $dbkey,
-                               'img_sha1 != ' . $dbr->addQuotes( strval( $options['sha1'] ) ) );
-                       $dWhr[] = array( 'img_name' => $dbkey );
+                       $files[$name] = (string)$options['sha1'];
                }
-               $change = $dbr->selectField( 'image', '1', $dbr->makeList( $cWhr, LIST_OR ), __METHOD__ );
-               $n = $dbr->selectField( 'image', 'COUNT(*)', $dbr->makeList( $dWhr, LIST_OR ), __METHOD__ );
-               if ( $change || $n != count( $dWhr ) ) {
-                       wfDebugLog( 'StashEdit', "Stale cache for key '$key'; file changed." );
-                       return false;
+               // Check that no files used in the output changed...
+               if ( count( $files ) ) {
+                       $res = $dbr->select(
+                               'image',
+                               array( 'name' => 'img_name', 'img_sha1' ),
+                               array( 'img_name' => array_keys( $files ) ),
+                               __METHOD__
+                       );
+                       $changed = false;
+                       foreach ( $res as $row ) {
+                               $changed = $changed || ( $row->img_sha1 != $files[$row->name] );
+                       }
+
+                       if ( $changed || $res->numRows() != count( $files ) ) {
+                               wfDebugLog( 'StashEdit', "Stale cache for key '$key'; file changed." );
+                               return false;
+                       }
                }
 
                wfDebugLog( 'StashEdit', "Cache hit for key '$key'." );
index 54294c9..398337b 100644 (file)
@@ -527,17 +527,28 @@ class ApiUpload extends ApiBase {
                                $this->dieUsage( $msg, 'filetype-banned', 0, $extradata );
                                break;
                        case UploadBase::VERIFICATION_ERROR:
+                               $params = $verification['details'];
+                               $key = array_shift( $params );
+                               $msg = $this->msg( $key, $params )->inLanguage( 'en' )->useDatabase( false )->text();
                                ApiResult::setIndexedTagName( $verification['details'], 'detail' );
-                               $this->dieUsage( 'This file did not pass file verification', 'verification-error',
+                               $this->dieUsage( "This file did not pass file verification: $msg", 'verification-error',
                                        0, array( 'details' => $verification['details'] ) );
                                break;
                        case UploadBase::HOOK_ABORTED:
-                               $this->dieUsage( "The modification you tried to make was aborted by an extension hook",
-                                       'hookaborted', 0, array( 'error' => $verification['error'] ) );
+                               if ( is_array( $verification['error'] ) ) {
+                                       $params = $verification['error'];
+                               } elseif ( $verification['error'] !== '' ) {
+                                       $params = array( $verification['error'] );
+                               } else {
+                                       $params = array( 'hookaborted' );
+                               }
+                               $key = array_shift( $params );
+                               $msg = $this->msg( $key, $params )->inLanguage( 'en' )->useDatabase( false )->text();
+                               $this->dieUsage( $msg, 'hookaborted', 0, array( 'details' => $verification['error'] ) );
                                break;
                        default:
                                $this->dieUsage( 'An unknown error occurred', 'unknown-error',
-                                       0, array( 'code' => $verification['status'] ) );
+                                       0, array( 'details' => array( 'code' => $verification['status'] ) ) );
                                break;
                }
        }
index 420e6ac..841bb2a 100644 (file)
@@ -1,14 +1,15 @@
 {
        "@metadata": {
                "authors": [
-                       "Palapa"
+                       "Palapa",
+                       "Semso98"
                ]
        },
        "apihelp-main-param-action": "Koju akciju izvesti.",
        "apihelp-main-param-format": "Format izlaza.",
        "apihelp-block-description": "Blokiraj korisnika",
        "apihelp-block-param-reason": "Razlog za blokadu",
-       "apihelp-block-example-ip-simple": "Blokiraj IP 192.0.2.5 na tri dana sa razlogom \"Prvi napad\"",
+       "apihelp-block-example-ip-simple": "Blokiraj IP adresu <kbd>192.0.2.5</kbd> na tri dana sa razlogom <kbd>Prvi napad</kbd>.",
        "apihelp-compare-param-fromtitle": "Prvi naslov za poređenje.",
        "apihelp-delete-description": "Obriši stranicu.",
        "apihelp-edit-param-text": "Sadržaj stranice.",
index 7aa1730..48ddf2b 100644 (file)
@@ -39,5 +39,7 @@
        "apihelp-feedrecentchanges-example-simple": "Mostra els canvis recents.",
        "apihelp-help-example-recursive": "Tota l'ajuda en una sola pàgina.",
        "apihelp-import-param-rootpage": "Importa com a subpàgina d'aquesta pàgina.",
+       "apihelp-login-param-name": "Nom d'usuari.",
+       "apihelp-login-param-password": "Contrasenya.",
        "apihelp-login-example-login": "Inicia sessió."
 }
index f972a42..5a574d9 100644 (file)
        "apihelp-query+pageswithprop-param-limit": "The maximum number of pages to return.",
        "apihelp-query+pageswithprop-param-dir": "In which direction to sort.",
        "apihelp-query+pageswithprop-example-simple": "List the first 10 pages using <code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>.",
-       "apihelp-query+pageswithprop-example-generator": "Get page info about first 10 pages using <code>_&#95;NOTOC_&#95;</code>.",
+       "apihelp-query+pageswithprop-example-generator": "Get additional information about the first 10 pages using <code>_&#95;NOTOC_&#95;</code>.",
 
        "apihelp-query+prefixsearch-description": "Perform a prefix search for page titles.",
        "apihelp-query+prefixsearch-param-search": "Search string.",
index ab99948..6213371 100644 (file)
        "apihelp-parse-param-effectivelanglinks": "Incluye enlaces de idiomas proporcionados por las extensiones (para utilizar con <kbd>$1prop=langlinks</kbd>).",
        "apihelp-parse-param-preview": "Analizar en modo de vista previa.",
        "apihelp-parse-param-sectionpreview": "Analizar sección en modo de vista previa (activa el modo de vista previa).",
-       "apihelp-parse-param-disabletoc": "Desactivar la tabla de contenidos en la salida.",
+       "apihelp-parse-param-disabletoc": "Omitir la tabla de contenidos en la salida.",
        "apihelp-parse-example-page": "Analizar una página.",
        "apihelp-parse-example-text": "Analizar wikitexto.",
        "apihelp-parse-example-texttitle": "Analizar wikitexto, especificando el título de la página.",
        "apihelp-query+linkshere-example-generator": "Obtener información acerca de las páginas enlazadas a la [[Main Page|Portada]].",
        "apihelp-query+pageswithprop-param-limit": "El máximo número de páginas que se devolverán.",
        "apihelp-query+pageswithprop-example-simple": "Listar las 10 primeras páginas que utilicen <code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>.",
-       "apihelp-query+pageswithprop-example-generator": "Obtener información acerca de las 10 primeras páginas que utilicen <code>_&#95;NOTOC_&#95;</code>.",
+       "apihelp-query+pageswithprop-example-generator": "Obtener información adicional acerca de las 10 primeras páginas que utilicen <code>_&#95;NOTOC_&#95;</code>.",
        "apihelp-query+prefixsearch-param-search": "Buscar cadena.",
        "apihelp-query+prefixsearch-param-namespace": "Espacio de nombres que buscar.",
        "apihelp-query+prefixsearch-param-limit": "Número máximo de resultados que devolver.",
index 3a201a5..147e400 100644 (file)
@@ -15,7 +15,8 @@
                        "Crochet.david",
                        "0x010C",
                        "Lucky",
-                       "Freak2fast4u"
+                       "Freak2fast4u",
+                       "Urhixidur"
                ]
        },
        "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Documentation]]\n* [[mw:API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Liste de diffusion]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Annonces de l’API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bogues et demandes]\n</div>\n<strong>État :</strong> Toutes les fonctionnalités affichées sur cette page devraient fonctionner, mais l’API est encore en cours de développement et peut changer à tout moment. Inscrivez-vous à [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ la liste de diffusion mediawiki-api-announce] pour être informé des mises à jour.\n\n<strong>Requêtes erronées :</strong> Si des requêtes erronées sont envoyées à l’API, un en-tête HTTP sera renvoyé avec la clé « MediaWiki-API-Error ». La valeur de cet en-tête et le code d’erreur renvoyé prendront la même valeur. Pour plus d’information, voyez [[mw:API:Errors_and_warnings|API: Errors and warnings]].",
        "apihelp-parse-param-effectivelanglinks": "Inclut les liens de langue fournis par les extensions (à utiliser avec <kbd>$1prop=langlinks</kbd>).",
        "apihelp-parse-param-section": "Récupérer uniquement le contenu de ce numéro de section ou quand <kbd>nouveau</kbd> génère une nouvelle section.\n\nLa <kbd>nouvelle</kbd> section est mise à l’honneur uniquement quand <var>text</var> est spécifié.",
        "apihelp-parse-param-sectiontitle": "Nouveau titre de section quand <var>section</var> vaut <kbd>nouveau</kbd>.\n\nÀ la différence de la modification de page, cela ne revient pas à <var>summary</var> quand il est omis ou vide.",
-       "apihelp-parse-param-disablepp": "Désactiver le rapport PP de la sortie de l’analyseur.",
-       "apihelp-parse-param-disableeditsection": "Désactiver les liens de modification de section de la sortie de l’analyseur.",
+       "apihelp-parse-param-disablepp": "Omettre le rapport du préprocesseur (« rapport de limite du nouveau PP ») de la sortie de l’analyseur.",
+       "apihelp-parse-param-disableeditsection": "Omettre les liens de modification de section de la sortie de l’analyseur.",
        "apihelp-parse-param-generatexml": "Générer un arbre d’analyse XML (nécessite le modèle de contenu <code>$1</code> ; remplacé par <kbd>$2prop=parsetree</kbd>).",
        "apihelp-parse-param-preview": "Analyser en mode aperçu.",
        "apihelp-parse-param-sectionpreview": "Analyser en mode aperçu de section (active aussi le mode aperçu).",
-       "apihelp-parse-param-disabletoc": "Désactiver la table des matières dans la sortie.",
+       "apihelp-parse-param-disabletoc": "Omettre la table des matières dans la sortie.",
        "apihelp-parse-param-contentformat": "Format de sérialisation du contenu utilisé pour le texte d’entrée. Valide uniquement si utilisé avec $1text.",
        "apihelp-parse-param-contentmodel": "Modèle de contenu du texte d’entrée. Si omis, $1title doit être spécifié, et la valeur par défaut sera le modèle du titre spécifié. Valide uniquement quand utilisé avec $1text.",
        "apihelp-parse-example-page": "Analyser une page.",
        "apihelp-query+pageswithprop-param-limit": "Le nombre maximal de pages à renvoyer.",
        "apihelp-query+pageswithprop-param-dir": "Dans quelle direction trier.",
        "apihelp-query+pageswithprop-example-simple": "Lister les 10 premières pages en utilisant <code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>.",
-       "apihelp-query+pageswithprop-example-generator": "Obtenir des informations sur les 10 premières pages utilisant <code>_&#95;NOTOC_&#95;</code>.",
+       "apihelp-query+pageswithprop-example-generator": "Obtenir des informations supplémentaires sur les 10 premières pages utilisant <code>_&#95;NOTOC_&#95;</code>.",
        "apihelp-query+prefixsearch-description": "Effectuer une recherche de préfixe sur les titres de page.",
        "apihelp-query+prefixsearch-param-search": "Chaîne de recherche.",
        "apihelp-query+prefixsearch-param-namespace": "Espaces de nom à rechercher.",
        "apihelp-query+revisions-example-first5-after": "Obtenir les 5 premières révisions de la <kbd>Page principale</kbd> faites après le 01/05/2006.",
        "apihelp-query+revisions-example-first5-not-localhost": "Obtenir les 5 premières révisions de la <kbd>Page principale</kbd> qui n’ont pas été faites par l’utilisateur anonyme <kbd>127.0.0.1</kbd>.",
        "apihelp-query+revisions-example-first5-user": "Obtenir les 5 premières révisions de la <kbd>Page principale</kbd> qui ont été faites par l’utilisateur <kbd>MédiaWiki par défaut</kbd>.",
-       "apihelp-query+revisions+base-param-prop": "Quelles propriétés obtenir pour chaque révision :\n;ids:L’ID de la révision.\n;flags:Marques de la révision (mineure).\n;timestamp:L’horodatage de la révision.\n;user:Utilisateur ayant fait la révision.\n;userid:ID de l’utilisateur ayant créé la révision.\n;size:Taille (en octets) de la révision.\n;sha1:SHA-1 (base 16) de la révision.\n;contentmodel:ID du modèle de contenu de la révision.\n;comment:Commentaire par l’utilisateur de la révision.\n;parsedcomment:Commentaire analysé par l’utilisateur de la révision.\n;content:Texte de la révision.\n;tags:Balises de la révision.\n;parsetree:L’arbre d’analyse XML du contenu de la révision.",
+       "apihelp-query+revisions+base-param-prop": "Quelles propriétés obtenir pour chaque révision :",
+       "apihelp-query+revisions+base-paramvalue-prop-ids": "L’ID de la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-flags": "Marques de la révision (mineure).",
+       "apihelp-query+revisions+base-paramvalue-prop-timestamp": "L’horodatage de la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-user": "L’utilisateur qui a fait la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-userid": "L’ID de l’utilisateur créateur de la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-size": "Longueur (en octets) de la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-sha1": "Hachage SHA-1 (base 16) de la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-contentmodel": "ID du modèle de contenu de la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-comment": "Commentaire de l’utilisateur sur la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-parsedcomment": "Commentaire analysé de l’utilisateur sur la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-content": "Texte de la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-tags": "Balises de la révision.",
+       "apihelp-query+revisions+base-paramvalue-prop-parsetree": "L’arbre d’analyse XML du contenu de la révision (nécessite le modèle de contenu <code>$1</code>).",
        "apihelp-query+revisions+base-param-limit": "Limiter le nombre de révisions retournées.",
        "apihelp-query+revisions+base-param-expandtemplates": "Développer les modèles dans le contenu de la révision (nécessite $1prop=content).",
        "apihelp-query+revisions+base-param-generatexml": "Générer l’arbre d’analyse XML pour le contenu de la révision (nécessite $1prop=content ; remplacé par <kbd>$1prop=parsetree</kbd>).",
        "apihelp-query+watchlist-param-user": "Lister uniquement les modifications par cet utilisateur.",
        "apihelp-query+watchlist-param-excludeuser": "Ne pas lister les modifications faites par cet utilisateur.",
        "apihelp-query+watchlist-param-limit": "Combien de résultats au total renvoyer par demande.",
-       "apihelp-query+watchlist-param-prop": "Quels éléments supplémentaires obtenir :\n;ids:Ajoute les IDs de révision et de page.\n;title:Ajoute le titre de la page.\n;flags:Ajoute les marques de la modification.\n;user:Ajoute l’utilisateur ayant fait la modification.\n;userid:Ajoute l’ID de l’utilisateur ayant fait la modification.\n;comment:Ajoute le commentaire de la modification.\n;parsedcomment:Ajoute le commentaire analysé de la modification.\n;timestamp:Ajoute l’horodatage de la modification.\n;patrol:Marque les modifications patrouillées.\n;sizes:Ajoute les ancienne et nouvelle tailles de la page.\n;notificationtimestamp:Ajoute l’horodatage de quand l’utilisateur a été notifié de la modification la dernière fois.\n;loginfo:Ajoute l’information du journal quand c’est approprié.",
+       "apihelp-query+watchlist-param-prop": "Quelles propriétés supplémentaires obtenir :",
+       "apihelp-query+watchlist-paramvalue-prop-ids": "Ajoute les IDs de révision et de page",
+       "apihelp-query+watchlist-paramvalue-prop-title": "Ajoute le titre de la page.",
+       "apihelp-query+watchlist-paramvalue-prop-flags": "Ajoute les marqueurs de la modification.",
+       "apihelp-query+watchlist-paramvalue-prop-user": "Ajoute l’utilisateur ayant fait la modification.",
+       "apihelp-query+watchlist-paramvalue-prop-userid": "Ajoute l’ID de l’utilisateur ayant fait la modification.",
+       "apihelp-query+watchlist-paramvalue-prop-comment": "Ajoute le commentaire de la modification.",
+       "apihelp-query+watchlist-paramvalue-prop-parsedcomment": "Ajoute le commentaire analysé de la modification.",
+       "apihelp-query+watchlist-paramvalue-prop-timestamp": "Ajoute l’horodatage de la modification.",
+       "apihelp-query+watchlist-paramvalue-prop-patrol": "Marque les modifications patrouillées.",
+       "apihelp-query+watchlist-paramvalue-prop-sizes": "Ajoute les tailles ancienne et nouvelle de la page.",
+       "apihelp-query+watchlist-paramvalue-prop-notificationtimestamp": "Ajoute l’horodatage de la dernière notification de la modification à l’utilisateur.",
+       "apihelp-query+watchlist-paramvalue-prop-loginfo": "Ajoute l’information de trace le cas échéant.",
        "apihelp-query+watchlist-param-show": "Afficher uniquement les éléments qui correspondent à ces critères. Par exemple, pour voir uniquement les modifications mineures faites par des utilisateurs connectés, mettre $1show=minor|!anon.",
        "apihelp-query+watchlist-param-type": "Quels types de modification afficher :\n;edit:Modifications de page normale.\n;external:Modifications externes.\n;new:Créations de page.\n;log:Entrées du journal.",
        "apihelp-query+watchlist-param-owner": "Utilisé avec $1token pour accéder à la liste de suivi d’un autre utilisateur.",
        "apihelp-undelete-param-watchlist": "Ajouter ou supprimer la page de la liste de suivi de l’utilisateur actuel sans condition, utiliser les préférences ou ne pas modifier le suivi.",
        "apihelp-undelete-example-page": "Annuler la suppression de la page <kbd>Main Page</kbd>.",
        "apihelp-undelete-example-revisions": "Annuler la suppression de deux révisions de la page <kbd>Main Page</kbd>.",
-       "apihelp-upload-description": "Télécharger un fichier, ou obtenir l’état des téléchargements en cours.\n\nPlusieurs méthodes sont disponibles :\n* Télécharger directement le contenu du fichier, en utilisant le paramètre <var>$1file</var>.\n* Télécharger le fichier par morceaux, en utilsiant les paramètres <var>$1filesize</var>, <var>$1chunk</var>, and <var>$1offset</var>.\n* Pour que le serveur MédiaWiki cherche un fichier depuis une URL, utiliser le paramètre <var>$1url</var>.\n* Terminer un téléchargement précédent qui a échoué à cause d’avertissements, en utilisant le paramètre <var>$1filekey</var>.\nNoter que le POST HTTP doit être fait comme un téléchargement de fichier (par ex. en utilisant <code>multipart/form-data</code>) en envoyant le <code>multipart/form-data</code>.",
+       "apihelp-upload-description": "Téléverser un fichier, ou obtenir l’état des téléversements en cours.\n\nPlusieurs méthodes sont disponibles :\n* Téléverser directement le contenu du fichier, en utilisant le paramètre <var>$1file</var>.\n* Téléverser le fichier par morceaux, en utilisant les paramètres <var>$1filesize</var>, <var>$1chunk</var>, and <var>$1offset</var>.\n* Pour que le serveur MédiaWiki cherche un fichier depuis une URL, utilisez le paramètre <var>$1url</var>.\n* Terminer un téléversement précédent qui a échoué à cause d’avertissements, en utilisant le paramètre <var>$1filekey</var>.\nNoter que le POST HTTP doit être fait comme un téléversement de fichier (par ex. en utilisant <code>multipart/form-data</code>) en envoyant le <code>multipart/form-data</code>.",
        "apihelp-upload-param-filename": "Nom de fichier cible.",
        "apihelp-upload-param-comment": "Télécharger le commentaire. Utilisé aussi comme texte de la page initiale pour les nouveaux fichiers si <var>$1text</var> n’est pas spécifié.",
        "apihelp-upload-param-text": "Texte de page initiale pour les nouveaux fichiers.",
index 6698a19..c2db491 100644 (file)
        "apihelp-query+pageswithprop-param-limit": "Máximo número de páxinas a retornar.",
        "apihelp-query+pageswithprop-param-dir": "En que dirección ordenar.",
        "apihelp-query+pageswithprop-example-simple": "Lista as dez primeiras páxinas que usan  <code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>.",
-       "apihelp-query+pageswithprop-example-generator": "Obter a infomación de páxina das dez primeiras páxinas que usan <code>_&#95;NOTOC_&#95;</code>.",
+       "apihelp-query+pageswithprop-example-generator": "Obter información adicional das dez primeiras páxinas que usan <code>_&#95;NOTOC_&#95;</code>.",
        "apihelp-query+prefixsearch-description": "Facer unha busca de prefixo nos títulos das páxinas.",
        "apihelp-query+prefixsearch-param-search": "Buscar texto.",
        "apihelp-query+prefixsearch-param-namespace": "Espazo de nomes no que buscar.",
diff --git a/includes/api/i18n/ht.json b/includes/api/i18n/ht.json
new file mode 100644 (file)
index 0000000..dee39e1
--- /dev/null
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Bfpage"
+               ]
+       },
+       "apihelp-query-param-rawcontinue": "Bay tounen done anvan tout koreksyon <samp>query-continue</samp> pou kontinyasyon"
+}
index a286056..267f1d6 100644 (file)
        "apihelp-query+pageswithprop-description": "与えられたページプロパティが使用されているすべてのページを一覧表示します。",
        "apihelp-query+pageswithprop-param-limit": "返すページの最大数。",
        "apihelp-query+pageswithprop-example-simple": "<code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code> を使用している最初の10ページを一覧表示する。",
-       "apihelp-query+pageswithprop-example-generator": "Get page info about first 10 pages using <code>_&#95;NOTOC_&#95;</code> を使用している最初の10ページのページ情報を取得する。",
+       "apihelp-query+pageswithprop-example-generator": "<code>_&#95;NOTOC_&#95;</code> を使用している最初の10ページについての追加情報を取得する。",
        "apihelp-query+prefixsearch-description": "ページ名の先頭一致検索を行います。",
        "apihelp-query+prefixsearch-param-search": "検索文字列。",
        "apihelp-query+prefixsearch-param-namespace": "検索する名前空間。",
index 3f841ac..0d4877f 100644 (file)
@@ -26,6 +26,7 @@
        "apihelp-block-param-watchuser": "해당 사용자 또는 IP 주소의 사용자 문서 및 토론 문서를 주시합니다.",
        "apihelp-block-example-ip-simple": "IP <kbd>192.0.2.5</kbd>에 대해 <kbd>First strike</kbd>라는 이유로 3일간 차단하기",
        "apihelp-block-example-user-complex": "사용자 <kbd>Vandal</kbd>을 <kbd>Vandalism</kbd>이라는 이유로 무기한 차단하며 계정 생성 및 이메일 발송을 막기",
+       "apihelp-createaccount-description": "새 사용자 계정을 만듭니다.",
        "apihelp-createaccount-param-name": "사용자 이름",
        "apihelp-delete-description": "문서 삭제",
        "apihelp-delete-example-simple": "<kbd>Main Page</kbd>를 삭제합니다.",
index e4b16b0..92e7881 100644 (file)
        "apihelp-parse-param-section": "Holl blohß dann der Ennhalld vun däm Affschnett met dä Nommer, udder wann „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">new</kbd>“ enjejovve es, maach ene neu Affschnett derbei.",
        "apihelp-parse-param-sectiontitle": "De Övverschreff för dä neuje Afschnet, wann <var lang=\"en\" xml:lang=\"en\" dir=\"ltr\">section</var> = <kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">new</kbd> es.\n\nAnders wi beim Beärbeide vun dä Sigg weed dä Parramehter nit dorsch de <var lang=\"en\" xml:lang=\"en\" dir=\"ltr\">summary</var> ußjetuusch, wann hä fottjelohße udder läddesch es.",
        "apihelp-parse-param-disableeditsection": "Donn e lenks för Affschnedde ze änndere en de Ußjahbe vum Paaser affschallde.",
-       "apihelp-parse-param-disabletoc": "Donn et Ennhaldsverzeijscheneß en de Ußjahbe vottlohze.",
+       "apihelp-parse-param-disabletoc": "Donn et Ennhaldsverzeijscheneß en de Ußjahbe vottlohße.",
        "apihelp-parse-example-page": "Donn en Sigg pahse.",
        "apihelp-parse-example-text": "Donn Wikkitäx pahse.",
        "apihelp-parse-example-texttitle": "Donn Wikkitäx pahse, un jiff derför en Övverschreff för en Sigg aan.",
        "apihelp-query+pageswithprop-description": "Donn alle Sigge met bechtemmpte Sigge_Eijeschaff opleßte.",
        "apihelp-query+pageswithprop-param-limit": "De jrüüßte Zahl Sigge för ußzejävve.",
        "apihelp-query+pageswithprop-param-dir": "En wälsche Reihjefollsch opleßte.",
+       "apihelp-query+pageswithprop-example-generator": "Holl zohsäzlejje Aanjahbe övver de eezde zehn Sigge, woh <code>_&#95;NOTOC_&#95;</code> dren vörkütt.",
        "apihelp-query+prefixsearch-description": "Söhk nohm Aanfang vun dä Övverschreffte vun de Sigge.",
        "apihelp-query+prefixsearch-param-search": "Noh wat söhke?",
        "apihelp-query+prefixsearch-param-namespace": "En wällschem Appachtemang söhke.",
        "apihelp-query+watchlist-param-end": "Et Dattum un Uhrzigg, bes wann opzälle.",
        "apihelp-query+watchlist-param-user": "Donn blohß Änderonge vun heh däm Metmaacher opleßte.",
        "apihelp-query+watchlist-param-excludeuser": "Donn kein Änderonge vun heh däm Metmaacher opleßte.",
+       "apihelp-query+watchlist-paramvalue-prop-title": "Mähd en Övverschhreff övver di Sigg.",
        "apihelp-query+watchlistraw-description": "Donn alle Sigge uß dem aktälle Metmaacher sing Oppaßleß holle.",
        "apihelp-query+watchlistraw-param-namespace": "Donn blohß Sigge en heh däm Appachtemang opleßte.",
        "apihelp-query+watchlistraw-example-simple": "Donn alle Sigge uß dem aktälle Metmaacher sing Oppaßleß opleßte.",
diff --git a/includes/api/i18n/ky.json b/includes/api/i18n/ky.json
new file mode 100644 (file)
index 0000000..3761975
--- /dev/null
@@ -0,0 +1,19 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Janatkg"
+               ]
+       },
+       "apihelp-block-description": "Колдонуучуну бөгөттөө",
+       "apihelp-block-param-reason": "Бөгөттөө себеби.",
+       "apihelp-block-example-ip-simple": " <kbd>192.0.2.5</kbd> IP дарегин үч күнгө <kbd>First strike</kbd> себеби менен бөгөттөө.",
+       "apihelp-checktoken-param-token": "Текшерүү белгиси.",
+       "apihelp-createaccount-param-name": "Колдонуучунун аты:",
+       "apihelp-createaccount-param-email": "Колдонуучунун email дареги (милдеттүү эмес)",
+       "apihelp-createaccount-param-realname": "Колдонуучунун чыныгы аты (милдеттүү эмес)",
+       "apihelp-delete-description": "Баракты өчүрүү",
+       "apihelp-delete-example-simple": "<kbd>Башбарагын</kbd> өчүрүү.",
+       "apihelp-edit-description": "Барактарды түзүү жана оңдоо.",
+       "apihelp-edit-param-text": "Барактын мазмуну.",
+       "apihelp-edit-param-minor": "Майда оңдоо."
+}
index bf04b57..2b506d9 100644 (file)
        "apihelp-parse-param-summary": "Powód do analizy.",
        "apihelp-parse-paramvalue-prop-wikitext": "Zwróć oryginalny wikitext, który został przeanalizowany.",
        "apihelp-parse-param-preview": "Analizuj w trybie podglądu.",
-       "apihelp-parse-param-disabletoc": "Wyłącz spis treści na wyjściu.",
+       "apihelp-parse-param-disabletoc": "Pomiń spis treści na wyjściu.",
        "apihelp-parse-example-page": "Przeanalizuj stronę.",
        "apihelp-parse-example-text": "Analizuj wikitext.",
        "apihelp-parse-example-summary": "Analizuj powód.",
        "apihelp-query+linkshere-param-limit": "Ilość do zwrócenia.",
        "apihelp-query+logevents-description": "Pobierz eventy z logu.",
        "apihelp-query+logevents-example-simple": "Lista ostatnich zarejestrowanych zdarzeń.",
+       "apihelp-query+pageswithprop-example-generator": "Pobierz dodatkowe informacje o pierwszych 10 stronach wykorzystując <code>_&#95;NOTOC_&#95;</code>.",
        "apihelp-query+prefixsearch-param-search": "Wyszukaj tekst.",
        "apihelp-query+prefixsearch-param-namespace": "Przestrzenie nazw do przeszukania.",
        "apihelp-query+prefixsearch-param-limit": "Maksymalna liczba zwracanych wyników.",
        "apihelp-query+revisions+base-paramvalue-prop-ids": "Identyfikator wersji.",
        "apihelp-query+revisions+base-paramvalue-prop-flags": "Znaczniki wersji (drobne).",
        "apihelp-query+revisions+base-paramvalue-prop-timestamp": "Znacznik czasu wersji.",
+       "apihelp-query+revisions+base-paramvalue-prop-sha1": "SHA-1 (base 16) wersji.",
        "apihelp-query+revisions+base-paramvalue-prop-content": "Tekst wersji.",
        "apihelp-query+revisions+base-paramvalue-prop-tags": "Znaczniki wersji.",
        "apihelp-query+revisions+base-param-limit": "Ograniczenie na liczbę wersji, które będą zwrócone.",
        "apihelp-query+templates-param-limit": "Ile szablonów zwrócić?",
        "apihelp-query+transcludedin-param-limit": "Ile zwrócić.",
        "apihelp-query+watchlist-param-excludeuser": "Nie wyświetlaj zmian wykonanych przez tego użytkownika.",
+       "apihelp-query+watchlist-paramvalue-prop-title": "Dodaje tytuł strony.",
+       "apihelp-query+watchlist-paramvalue-prop-user": "Dodaje użytkownika, który wykonał edycję.",
+       "apihelp-query+watchlist-paramvalue-prop-comment": "Dodaje komentarz do edycji.",
+       "apihelp-query+watchlist-paramvalue-prop-timestamp": "Dodaje znacznik czasu edycji.",
+       "apihelp-query+watchlist-paramvalue-prop-sizes": "Dodaje starą i nową długość strony.",
        "apihelp-tag-param-reason": "Powód zmiany.",
        "apihelp-unblock-param-reason": "Powód odblokowania.",
        "apihelp-undelete-param-reason": "Powód przywracania.",
index 70d54a6..95562d8 100644 (file)
@@ -55,7 +55,7 @@
        "apihelp-compare-param-torev": "{{doc-apihelp-param|compare|torev}}",
        "apihelp-compare-example-1": "{{doc-apihelp-example|compare}}",
        "apihelp-createaccount-description": "{{doc-apihelp-description|createaccount}}",
-       "apihelp-createaccount-param-name": "{{doc-apihelp-param|createaccount|name}}",
+       "apihelp-createaccount-param-name": "{{doc-apihelp-param|createaccount|name}}\n{{Identical|Username}}",
        "apihelp-createaccount-param-password": "{{doc-apihelp-param|createaccount|password}}",
        "apihelp-createaccount-param-domain": "{{doc-apihelp-param|createaccount|domain}}",
        "apihelp-createaccount-param-token": "{{doc-apihelp-param|createaccount|token}}",
        "apihelp-login-param-domain": "{{doc-apihelp-param|login|domain}}",
        "apihelp-login-param-token": "{{doc-apihelp-param|login|token}}",
        "apihelp-login-example-gettoken": "{{doc-apihelp-example|login}}",
-       "apihelp-login-example-login": "{{doc-apihelp-example|login}}",
+       "apihelp-login-example-login": "{{doc-apihelp-example|login}}\n{{Identical|Log in}}",
        "apihelp-logout-description": "{{doc-apihelp-description|logout}}",
        "apihelp-logout-example-logout": "{{doc-apihelp-example|logout}}",
        "apihelp-managetags-description": "{{doc-apihelp-description|managetags}}",
index c4c7045..db66d38 100644 (file)
        "apihelp-edit-param-notminor": "Значительное изменение (обычная, не «малая», правка).",
        "apihelp-edit-param-bot": "Пометить правку как сделанную ботом.",
        "apihelp-edit-param-createonly": "Не редактировать страницу, если она уже существует.",
+       "apihelp-edit-param-nocreate": "Выбрасывать ошибку, если страницы не существует.",
        "apihelp-edit-param-watch": "Добавить страницу к текущему списку наблюдения пользователя.",
        "apihelp-edit-param-unwatch": "Удалить страницу из списка наблюдения текущего пользователя.",
+       "apihelp-edit-param-redirect": "Автоматически разрешать редиректы.",
+       "apihelp-edit-param-contentformat": "Формат сериализации содержимого, используемый для ввода текста.",
        "apihelp-edit-example-edit": "Редактировать страницу",
        "apihelp-emailuser-description": "Письмо участнику",
        "apihelp-emailuser-param-target": "Адресат электронного письма",
        "apihelp-none-description": "Нечего выводить",
        "apihelp-php-description": "Выходные данные в сериализованном формате PHP.",
        "apihelp-phpfm-description": "Выходные данные в сериализованном формате PHP (pretty-print in HTML).",
-       "apihelp-wddx-description": "Выходные данные в формате WDDX.",
        "apihelp-xml-description": "Выходные данные в формате XML.",
        "apihelp-yaml-description": "Выходные данные в формате yaml.",
        "api-format-title": "Результат MediaWiki API",
diff --git a/includes/api/i18n/wuu.json b/includes/api/i18n/wuu.json
new file mode 100644 (file)
index 0000000..7df8a48
--- /dev/null
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "反共复国"
+               ]
+       },
+       "apihelp-main-param-action": "要执行个操作。"
+}
index 551a3e1..35b0d40 100644 (file)
@@ -31,7 +31,7 @@
        "apihelp-block-description": "封禁一位用户。",
        "apihelp-block-param-user": "您要封禁的用户、IP地址或IP地址段。",
        "apihelp-block-param-expiry": "到期时间。可以是相对时间(例如<kbd>5 months</kbd>或<kbd>2 weeks</kbd>)或绝对时间(例如<kbd>2014-09-18T12:34:56Z</kbd>)。如果设置为<kbd>infinite</kbd>、<kbd>indefinite</kbd>或<kbd>never</kbd>,封禁将无限期。",
-       "apihelp-block-param-reason": "封禁的原因",
+       "apihelp-block-param-reason": "封禁的原因",
        "apihelp-block-param-anononly": "只封禁匿名用户(也就是说禁止此 IP 地址的匿名编辑)。",
        "apihelp-block-param-nocreate": "防止创建帐户。",
        "apihelp-block-param-autoblock": "自动封禁最近使用的IP地址,以及以后他们尝试登陆使用的IP地址。",
@@ -56,9 +56,9 @@
        "apihelp-compare-param-totitle": "要比较的第二个标题。",
        "apihelp-compare-param-toid": "要比较的第二个页面 ID。",
        "apihelp-compare-param-torev": "要比较的第二个修订版本。",
-       "apihelp-compare-example-1": "在版本1和2中创建差异",
+       "apihelp-compare-example-1": "在版本1和2中创建差异",
        "apihelp-createaccount-description": "创建一个新用户账户。",
-       "apihelp-createaccount-param-name": "用户名",
+       "apihelp-createaccount-param-name": "用户名",
        "apihelp-createaccount-param-password": "密码(如果设置<var>$1mailpassword</var>则忽略)。",
        "apihelp-createaccount-param-domain": "外部身份验证域 (可选)。",
        "apihelp-createaccount-param-token": "在第一个请求中获得的帐户创建标记。",
        "apihelp-feedrecentchanges-param-tagfilter": "按标签过滤。",
        "apihelp-feedrecentchanges-param-target": "仅仅显示从该页面链出的那些页面的变更。",
        "apihelp-feedrecentchanges-param-showlinkedto": "仅仅显示链入到该页面的那些页面的变更。",
-       "apihelp-feedrecentchanges-example-simple": "显示最近更改",
-       "apihelp-feedrecentchanges-example-30days": "显示最近30天的更改",
+       "apihelp-feedrecentchanges-example-simple": "显示最近更改",
+       "apihelp-feedrecentchanges-example-30days": "显示最近30天的更改",
        "apihelp-feedwatchlist-description": "返回监视列表纲要。",
        "apihelp-feedwatchlist-param-feedformat": "纲要的格式。",
        "apihelp-feedwatchlist-param-hours": "列出从现在起数小时内修改的页面。",
        "apihelp-feedwatchlist-param-linktosections": "如果可能的话,直接链接到已变更的小节。",
-       "apihelp-feedwatchlist-example-default": "显示监视列表订阅",
+       "apihelp-feedwatchlist-example-default": "显示监视列表订阅",
        "apihelp-feedwatchlist-example-all6hrs": "显示过去6小时内受监视页面的所有更改。",
        "apihelp-filerevert-description": "回退一个文件至某一旧版本。",
        "apihelp-filerevert-param-filename": "目标文件名,不包含前缀“File:”。",
        "apihelp-help-param-helpformat": "帮助的输出格式。",
        "apihelp-help-param-wrap": "在一个标准API响应结构中包裹输出。",
        "apihelp-help-param-toc": "在HTML输出中包括目录。",
-       "apihelp-help-example-main": "主模块帮助",
-       "apihelp-help-example-recursive": "一个页面中的所有帮助",
-       "apihelp-help-example-help": "帮助模块本身的帮助",
-       "apihelp-help-example-query": "两个查询子模块的帮助",
+       "apihelp-help-example-main": "主模块帮助",
+       "apihelp-help-example-recursive": "一个页面中的所有帮助",
+       "apihelp-help-example-help": "帮助模块本身的帮助",
+       "apihelp-help-example-query": "两个查询子模块的帮助",
        "apihelp-imagerotate-description": "旋转一幅或多幅图像。",
        "apihelp-imagerotate-param-rotation": "顺时针旋转图像的度数。",
        "apihelp-imagerotate-example-simple": "<kbd>90</kbd>度旋转<kbd>File:Example.png</kbd>。",
        "apihelp-login-param-password": "密码。",
        "apihelp-login-param-domain": "域名(可选)。",
        "apihelp-login-param-token": "在首个请求中获得的登录令牌。",
-       "apihelp-login-example-gettoken": "检索登录令牌",
-       "apihelp-login-example-login": "登录",
+       "apihelp-login-example-gettoken": "检索登录令牌",
+       "apihelp-login-example-login": "登录",
        "apihelp-logout-description": "退出并清除会话数据。",
-       "apihelp-logout-example-logout": "退出当前用户",
+       "apihelp-logout-example-logout": "退出当前用户",
        "apihelp-managetags-description": "执行有关更改标签的管理任务。",
        "apihelp-managetags-param-operation": "要执行哪个操作:\n;create:创建一个新的更改标签供手动使用。\n;delete:从数据库中移除一个更改标签,包括移除已使用在所有修订版本、最近更改记录和日志记录上的该标签。\n;activate:激活一个更改标签,允许用户手动应用它。\n;deactivate:停用一个更改标签,阻止用户手动应用它。",
        "apihelp-managetags-param-tag": "要创建、删除、激活或取消激活的标签。要创建标签,标签必须不存在。要删除标签,标签必须存在。要激活标签,标签必须存在,且不被任何扩展使用。要取消激活标签,标签必须当前处于激活状态,且被手动定义。",
        "apihelp-options-param-resetkinds": "当<var>$1reset</var>选项被设置时,要重置的选项类型列表。",
        "apihelp-options-param-change": "更改列表,以name=value格式化(例如skin=vector)。值不能包含管道字符。如果没提供值(甚至没有等号),例如optionname|otheroption|...,选项将重置为默认值。",
        "apihelp-options-param-optionname": "应设置为由<var>$1optionvalue</var>提供值的选项名称。",
-       "apihelp-options-param-optionvalue": "使用<var>$1选项名</var>指定的选项值中,可以包含管道字符",
-       "apihelp-options-example-reset": "重置所有用户设置",
+       "apihelp-options-param-optionvalue": "使用<var>$1选项名</var>指定的选项值中,可以包含管道字符",
+       "apihelp-options-example-reset": "重置所有用户设置",
        "apihelp-options-example-change": "更改<kbd>skin</kbd>和<kbd>hideminor</kbd>设置。",
-       "apihelp-options-example-complex": "重置所有设置,然后设置<kbd>皮肤</kbd>和<kbd>昵称</kbd>。",
+       "apihelp-options-example-complex": "重置所有设置,然后设置<kbd>skin</kbd>和<kbd>nickname</kbd>。",
        "apihelp-paraminfo-description": "获取关于 API 模块的信息。",
        "apihelp-paraminfo-param-modules": "模块名称(<var>action</var>和<var>format</var>参数值,或<kbd>main</kbd>)的列表。可通过<kbd>+</kbd>指定子模块。",
        "apihelp-paraminfo-param-helpformat": "帮助字符串的格式。",
        "apihelp-paraminfo-param-querymodules": "查询模块名称(<var>prop</var>、<var>meta</var>或<var>list</var>参数值)的列表。使用<kbd>$1modules=query+foo</kbd>而不是<kbd>$1querymodules=foo</kbd>。",
-       "apihelp-paraminfo-param-mainmodule": "è\8e·å¾\97有关主要(最高级)模块的信息。也可使用<kbd>$1modules=main</kbd>。",
-       "apihelp-paraminfo-param-pagesetmodule": "è\8e·å¾\97有关页面设置模块(提供titles=和朋友)的信息。",
+       "apihelp-paraminfo-param-mainmodule": "è\8e·å\8f\96有关主要(最高级)模块的信息。也可使用<kbd>$1modules=main</kbd>。",
+       "apihelp-paraminfo-param-pagesetmodule": "è\8e·å\8f\96有关页面设置模块(提供titles=和朋友)的信息。",
        "apihelp-paraminfo-param-formatmodules": "格式模块名称(<var>format</var>参数的值)的列表。也可使用<var>$1modules</var>。",
        "apihelp-paraminfo-example-1": "显示<kbd>[[Special:ApiHelp/parse|action=parse]]</kbd>、<kbd>[[Special:ApiHelp/jsonfm|format=jsonfm]]</kbd>、<kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd>和<kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd>的信息。",
        "apihelp-parse-description": "解析内容并返回解析器输出。\n\n参见<kbd>[[Special:ApiHelp/query|action=query]]</kbd>的各种prop-module以从页面的当前版本获得信息。\n\n这里有几种方法可以指定解析的文本:\n# 指定一个页面或修订,使用<var>$1page</var>、<var>$1pageid</var>或<var>$1oldid</var>。\n# 明确指定内容,使用<var>$1text</var>、<var>$1title</var>和<var>$1contentmodel</var>。\n# 只指定一段摘要解析。<var>$1prop</var>应提供一个空值。",
        "apihelp-parse-paramvalue-prop-headitems": "提供项目以插入至页面的<code>&lt;head&gt;</code>。",
        "apihelp-parse-paramvalue-prop-headhtml": "提供页面的被解析<code>&lt;head&gt;</code>。",
        "apihelp-parse-paramvalue-prop-modules": "提供在页面中使用的ResourceLoader模块。无论<kbd>jsconfigvars</kbd>还是<kbd>encodedjsconfigvars</kbd>都必须与<kbd>modules</kbd>共同被请求。",
+       "apihelp-parse-paramvalue-prop-jsconfigvars": "针对页面提供JavaScript配置变量。",
+       "apihelp-parse-paramvalue-prop-encodedjsconfigvars": "针对页面提供JavaScript配置变量为一个JSON字符串。",
        "apihelp-parse-paramvalue-prop-iwlinks": "在被解析的wiki文本中提供跨wiki链接。",
        "apihelp-parse-paramvalue-prop-wikitext": "提供被解析的原始wiki文本。",
        "apihelp-parse-paramvalue-prop-limitreportdata": "以结构化的方式提供限制报告。如果<var>$1disablepp</var>被设定则不提供数据。",
+       "apihelp-parse-paramvalue-prop-limitreporthtml": "提供限制报告的HTML版本。当<var>$1disablepp</var>被设置时不会提供数据。",
        "apihelp-parse-paramvalue-prop-parsetree": "修订内容的XML解析树(需要内容模型<code>$1</code>)",
        "apihelp-parse-param-pst": "在解析输入前,对输入做一次保存前变换处理。仅当使用文本时有效。",
        "apihelp-parse-param-effectivelanglinks": "包含由扩展提供的语言链接(用于与<kbd>$1prop=langlinks</kbd>一起使用)。",
        "apihelp-parse-param-section": "只检索此段数的内容,或只当<kbd>new</kbd>生成新的段落时检索。\n\n<kbd>new</kbd>段落只当指定<var>text</var>时受尊重。",
        "apihelp-parse-param-sectiontitle": "当<var>section</var>为<kbd>new</kbd>时新段落标题。\n\n不像页面编辑,当省略或为空时将不会备选为<var>summary</var>。",
-       "apihelp-parse-param-disablepp": "ä»\8e解æ\9e\90å\99¨è¾\93å\87ºä¸­ç¦\81ç\94¨PPæ\8a¥å\91\8a。",
-       "apihelp-parse-param-disableeditsection": "ä»\8e解æ\9e\90å\99¨è¾\93å\87ºä¸­ç¦\81ç\94¨编辑段落链接。",
+       "apihelp-parse-param-disablepp": "ä»\8e解æ\9e\90å\99¨è¾\93å\87ºä¸­ç\9c\81ç\95¥é¢\84å¤\84ç\90\86å\99¨æ\8a¥å\91\8aï¼\88â\80\9cNewPP limit reportâ\80\9dï¼\89。",
+       "apihelp-parse-param-disableeditsection": "ä»\8e解æ\9e\90å\99¨è¾\93å\87ºä¸­ç\9c\81ç\95¥编辑段落链接。",
        "apihelp-parse-param-generatexml": "生成XML解析树(需要内容模型<code>$1</code>;被<kbd>$2prop=parsetree</kbd>所取代)。",
        "apihelp-parse-param-preview": "在预览模式下解析。",
        "apihelp-parse-param-sectionpreview": "在小节预览模式下解析 (同时要启用预览模式)。",
-       "apihelp-parse-param-disabletoc": "å\9c¨è¾\93å\87ºä¸­ç¦\81ç\94¨目录。",
+       "apihelp-parse-param-disabletoc": "å\9c¨è¾\93å\87ºä¸­ç\9c\81ç\95¥目录。",
        "apihelp-parse-param-contentformat": "用于输入文本的内容序列化格式。只当与$1text一起使用时有效。",
        "apihelp-parse-example-page": "解析一个页面。",
        "apihelp-parse-example-text": "解析wiki文本。",
        "apihelp-query-param-exportnowrap": "返回导出XML,不需要将其包裹在一个XML结果中(与[[Special:Export]]格式相同)。只能与$1export一起使用。",
        "apihelp-query-param-rawcontinue": "为继续返回原始<samp>query-continue</samp>数据。",
        "apihelp-query-example-revisions": "获取<kbd>Main Page</kbd>的[[Special:ApiHelp/query+siteinfo|网站信息]]和[[Special:ApiHelp/query+revisions|修订版本]]。",
-       "apihelp-query-example-allpages": "获取以<kbd>API/</kbd>开头的页面的修订版本",
+       "apihelp-query-example-allpages": "获取以<kbd>API/</kbd>开头的页面的修订版本",
        "apihelp-query+allcategories-description": "枚举所有类别。",
        "apihelp-query+allcategories-param-from": "要作为枚举起始点的类别。",
        "apihelp-query+allcategories-param-to": "要作为枚举终止点的类别。",
        "apihelp-query+allcategories-param-limit": "要返回多少个类别。",
        "apihelp-query+allcategories-param-prop": "要获取的属性:\n;size:在分类中添加页面数。\n;hidden:标记由_&#95;HIDDENCAT_&#95;隐藏的分类。",
        "apihelp-query+allcategories-example-size": "列出分类及其含有多少页面的信息。",
+       "apihelp-query+allcategories-example-generator": "为以<kbd>List</kbd>的分类检索有关分类页面本身的信息。",
        "apihelp-query+alldeletedrevisions-description": "列举由一位用户或在一个名字空间中所有已删除的修订。",
        "apihelp-query+alldeletedrevisions-paraminfo-useronly": "只可以与<var>$3user</var>一起使用。",
        "apihelp-query+alldeletedrevisions-paraminfo-nonuseronly": "不能与<var>$3user</var>一起使用。",
        "apihelp-query+alldeletedrevisions-example-user": "列出由<kbd>Example<kbd>作出的最近50次已删除贡献。",
        "apihelp-query+alldeletedrevisions-example-ns-main": "列出前50次已删除的主名字空间修订。",
        "apihelp-query+allfileusages-description": "列出所有文件用途,包括不存在的。",
-       "apihelp-query+allfileusages-param-from": "文件的标题开始枚举于.",
+       "apihelp-query+allfileusages-param-from": "要列举的起始文件标题。",
        "apihelp-query+allfileusages-param-to": "要列举的最终文件标题。",
        "apihelp-query+allfileusages-param-prefix": "搜索此值开头的所有文件标题。",
        "apihelp-query+allfileusages-param-unique": "只显示明显的文件标题。不能与$1prop=ids一起使用。\n当作为生成器使用时,产生目标页面而不是来源页面。",
        "apihelp-query+allimages-param-maxsize": "限于顶多这么多字节的图像。",
        "apihelp-query+allimages-param-sha1": "图像的 SHA1 哈希。覆盖$1sha1base36。",
        "apihelp-query+allimages-param-sha1base36": "基于base 36的图片的SHA1哈希值(用于MediaWiki)。",
+       "apihelp-query+allimages-param-user": "只返回此用户上传的文件。只能与$1sort=timestamp一起使用。不能与$1filterbots一起使用。",
+       "apihelp-query+allimages-param-filterbots": "如何过滤由机器人上传的文件。只能与$1sort=timestamp一起使用。不能与$1user一起使用。",
        "apihelp-query+allimages-param-mime": "要搜索的MIME类型,例如<kbd>image/jpeg</kbd>。",
        "apihelp-query+allimages-param-limit": "共计要返回多少图像。",
        "apihelp-query+allimages-example-B": "显示以字母<kbd>B</kbd>开始的文件列表。",
        "apihelp-query+allimages-example-recent": "显示一个最近上传文件的列表,类似[[Special:NewFiles]]。",
        "apihelp-query+allimages-example-mimetypes": "显示带MIME类型<kbd>image/png</kbd>或<kbd>image/gif</kbd>的文件列表",
        "apihelp-query+allimages-example-generator": "显示有关4个以<kbd>T</kbd>开头的文件的信息。",
+       "apihelp-query+alllinks-description": "列举所有指向至指定名字空间的链接。",
        "apihelp-query+alllinks-param-from": "要列举的起始标题链接。",
        "apihelp-query+alllinks-param-to": "要列举的最终标题链接。",
+       "apihelp-query+alllinks-param-prefix": "搜索此值开头的所有已链接标题。",
        "apihelp-query+alllinks-param-namespace": "要列举的名字空间。",
        "apihelp-query+alllinks-param-limit": "总共要返回多少个项目。",
        "apihelp-query+alllinks-param-dir": "列出方向。",
-       "apihelp-query+alllinks-example-unique": "列出唯一的链接标题",
-       "apihelp-query+alllinks-example-unique-generator": "è\8e·å¾\97所有已链接的标题,标记缺少的。",
-       "apihelp-query+alllinks-example-generator": "获取包含这些链接的页面",
+       "apihelp-query+alllinks-example-unique": "列出唯一的链接标题",
+       "apihelp-query+alllinks-example-unique-generator": "è\8e·å\8f\96所有已链接的标题,标记缺少的。",
+       "apihelp-query+alllinks-example-generator": "获取包含这些链接的页面",
        "apihelp-query+allmessages-description": "返回来自该网站的消息。",
        "apihelp-query+allmessages-param-messages": "要输出的消息。<kbd>*</kbd>(默认)表示所有消息。",
        "apihelp-query+allmessages-param-prop": "要获取的属性。",
        "apihelp-query+allredirects-param-namespace": "要列举的名字空间。",
        "apihelp-query+allredirects-param-limit": "返回的总计项目数。",
        "apihelp-query+allredirects-param-dir": "罗列所采用的方向。",
-       "apihelp-query+allredirects-example-unique": "列出孤立目标页面",
-       "apihelp-query+allredirects-example-unique-generator": "è\8e·å¾\97æ\89\80æ\9c\89ç\9b®æ \87页é\9d¢ï¼\8cæ \87记丢失ç\9a\84",
-       "apihelp-query+allredirects-example-generator": "è\8e·å¾\97å\8c\85å\90«é\87\8då®\9aå\90\91ç\9a\84页é\9d¢",
+       "apihelp-query+allredirects-example-unique": "列出孤立目标页面",
+       "apihelp-query+allredirects-example-unique-generator": "è\8e·å\8f\96æ\89\80æ\9c\89ç\9b®æ \87页é\9d¢ï¼\8cæ \87记丢失ç\9a\84ã\80\82",
+       "apihelp-query+allredirects-example-generator": "è\8e·å\8f\96å\8c\85å\90«é\87\8då®\9aå\90\91ç\9a\84页é\9d¢ã\80\82",
        "apihelp-query+alltransclusions-description": "列出所有嵌入页面(使用&#123;&#123;x&#125;&#125;嵌入的页面),包括不存在的。",
+       "apihelp-query+alltransclusions-param-from": "要列举的起始嵌入标题。",
+       "apihelp-query+alltransclusions-param-to": "要列举的最终嵌入标题。",
        "apihelp-query+alltransclusions-param-namespace": "要列举的名字空间。",
        "apihelp-query+alltransclusions-param-limit": "要返回的总计项目。",
        "apihelp-query+alltransclusions-param-dir": "罗列所采用的方向。",
        "apihelp-query+allusers-param-rights": "仅列出有所选权限的用户。不包括隐性的或自动加入的用户组别(如*、用户或自动确认用户)所授予的权限。",
        "apihelp-query+allusers-param-limit": "返回的总计用户数。",
        "apihelp-query+allusers-param-witheditsonly": "只列出有编辑的用户。",
-       "apihelp-query+allusers-param-activeusers": "只列出最近$1内活跃的用户。",
+       "apihelp-query+allusers-param-activeusers": "只列出最近$1{{PLURAL:$1|天}}内活跃的用户。",
        "apihelp-query+allusers-example-Y": "列出以<kbd>Y</kbd>开头的用户。",
        "apihelp-query+backlinks-description": "查找所有链接至指定页面的页面。",
        "apihelp-query+backlinks-param-title": "要搜索的标题。不能与<var>$1pageid</var>一起使用。",
        "apihelp-query+backlinks-param-pageid": "要搜索的页面ID。不能与<var>$1title</var>一起使用。",
        "apihelp-query+backlinks-param-namespace": "要列举的名字空间。",
        "apihelp-query+backlinks-param-dir": "罗列所采用的方向。",
+       "apihelp-query+backlinks-param-filterredir": "如何过滤重定向。当<var>$1redirect</var>被启用时如果设置为<kbd>nonredirects</kbd>,这只会应用到第二级。",
        "apihelp-query+backlinks-param-limit": "返回总计页面数。如果<var>$1redirect</var>被启用,则限定分别适用于每一等级(这意味着将返回多达2 * <var>$1limit</var>个结果)。",
        "apihelp-query+backlinks-example-simple": "显示至<kbd>Main page<kbd>的链接。",
        "apihelp-query+backlinks-example-generator": "获取关于链接至<kbd>Main page<kbd>的页面的信息。",
        "apihelp-query+blocks-param-end": "枚举的结束时间戳。",
        "apihelp-query+blocks-param-ids": "要列出的封禁ID列表(可选)。",
        "apihelp-query+blocks-param-users": "要搜索的用户列表(可选)。",
+       "apihelp-query+blocks-param-limit": "封禁列表的最大数量。",
        "apihelp-query+blocks-param-prop": "要获取的属性:\n;id:添加封禁ID。\n;user:添加被封禁用户的用户名。\n;userid:添加被封禁用户的用户ID。\n;by:添加执行封禁的用户的用户名。\n;byid:添加执行封禁的用户的用户ID。\n;timestamp:添加封禁生效时的时间戳。\n;expiry:添加封禁截止时的时间戳。\n;reason:添加封禁原因。\n;range:添加受封禁影响的IP地址段。\n;flags:标记编辑禁止(自动封禁、仅限匿名用户等)。",
-       "apihelp-query+blocks-example-simple": "封禁列表",
+       "apihelp-query+blocks-example-simple": "封禁列表",
        "apihelp-query+blocks-example-users": "列出用户<kbd>Alice</kbd>和<kbd>Bob</kbd>的封禁。",
        "apihelp-query+categories-description": "页面属于的所有分类列表。",
        "apihelp-query+categories-param-prop": "要为每个分类获取的额外属性:\n;sortkey:为每个分类添加关键词(十六进制字符串)和关键词前缀(人类可读部分)。\n;timestamp:添加分类添加时的时间戳。\n;hidden:标记由_&#95;HIDDENCAT_&#95;隐藏的分类。",
        "apihelp-query+categorymembers-param-endhexsortkey": "结束列举的关键词,由<kbd>$1prop=sortkey</kbd>返回。不能与<kbd>$1sort=sortkey</kbd>一起使用。",
        "apihelp-query+categorymembers-param-startsortkey": "请改用$1starthexsortkey。",
        "apihelp-query+categorymembers-param-endsortkey": "请改用$1endhexsortkey。",
-       "apihelp-query+categorymembers-example-simple": "è\8e·å¾\97<kbd>Category:Physics</kbd>中的前10个页面。",
-       "apihelp-query+categorymembers-example-generator": "è\8e·å¾\97有关<kbd>Category:Physics</kbd>中的前10个页面的页面信息。",
+       "apihelp-query+categorymembers-example-simple": "è\8e·å\8f\96<kbd>Category:Physics</kbd>中的前10个页面。",
+       "apihelp-query+categorymembers-example-generator": "è\8e·å\8f\96有关<kbd>Category:Physics</kbd>中的前10个页面的页面信息。",
        "apihelp-query+contributors-description": "获取对一个页面的登录贡献者列表和匿名贡献数。",
        "apihelp-query+contributors-param-limit": "返回的贡献数。",
        "apihelp-query+contributors-example-simple": "显示<kbd>Main Page</kbd>的贡献。",
        "apihelp-query+deletedrevisions-example-revids": "列出已删除修订<kbd>123456</kbd>的信息。",
        "apihelp-query+deletedrevs-description": "列出被删除修订。\n\n操作于三种模式中:\n# List deleted revisions for the given titles, sorted by timestamp.\n# List deleted contributions for the given user, sorted by timestamp (no titles specified).\n# List all deleted revisions in the given namespace, sorted by title and timestamp (no titles specified, $1user not set).\n\nCertain parameters only apply to some modes and are ignored in others.",
        "apihelp-query+deletedrevs-paraminfo-modes": "{{PLURAL:$1|模式}}:$2",
+       "apihelp-query+deletedrevs-param-start": "枚举的起始时间戳。",
+       "apihelp-query+deletedrevs-param-end": "枚举的结束时间戳。",
        "apihelp-query+deletedrevs-param-from": "从此标题开始列出。",
        "apihelp-query+deletedrevs-param-to": "列出至此标题为止。",
+       "apihelp-query+deletedrevs-param-prefix": "搜索标题以此值开头的所有页面。",
        "apihelp-query+deletedrevs-param-unique": "每个页面只列出一个修订。",
        "apihelp-query+deletedrevs-param-tag": "只列出被此标签标记的修订。",
        "apihelp-query+deletedrevs-param-user": "只列出此用户做出的修订。",
        "apihelp-query+deletedrevs-param-prop": "要获取的属性:\n;revid:添加被删除修订的修订ID。\n;parentid:添加上一修订的修订ID至页面。\n;user:添加做出修订的用户。\n;userid:添加做出修订的用户ID。\n;comment:添加修订摘要。\n;parsedcomment:添加解析过的修订摘要。\n;minor:如果修订是小编辑则加标签。\n;len:添加修订长度(字节)。\n;sha1:添加修订的SHA-1(base 16)。\n;content:添加修订内容。\n;token:<span class=\"apihelp-deprecated\">已弃用。</span>提供编辑令牌。\n;tags:修订标签。",
        "apihelp-query+deletedrevs-example-mode1": "列出最近已删除的对页面<kbd>Main Page</kbd>和<kbd>Talk:Main Page</kbd>的贡献,带内容(模式1)。",
        "apihelp-query+deletedrevs-example-mode2": "列出由<kbd>Bob</kbd>作出的最近50次已删除贡献(模式2)。",
-       "apihelp-query+deletedrevs-example-mode3-main": "列出前50次主名字空间已删除贡献(模式3)",
-       "apihelp-query+deletedrevs-example-mode3-talk": "列出前50次{{ns:talk}}名字空间已删除页面(模式3)",
+       "apihelp-query+deletedrevs-example-mode3-main": "列出前50次主名字空间已删除贡献(模式3)",
+       "apihelp-query+deletedrevs-example-mode3-talk": "列出前50次{{ns:talk}}名字空间已删除页面(模式3)",
        "apihelp-query+disabled-description": "此查询模块已被禁用。",
        "apihelp-query+duplicatefiles-param-limit": "返回多少重复文件。",
        "apihelp-query+duplicatefiles-param-dir": "罗列所采用的方向。",
        "apihelp-query+duplicatefiles-param-localonly": "只看本地存储库的文件。",
-       "apihelp-query+duplicatefiles-example-simple": "查找与[[:File:Albert Einstein Head.jpg]]重复的文件",
-       "apihelp-query+duplicatefiles-example-generated": "查找所有文件的重复文件",
+       "apihelp-query+duplicatefiles-example-simple": "查找与[[:File:Albert Einstein Head.jpg]]重复的文件",
+       "apihelp-query+duplicatefiles-example-generated": "查找所有文件的重复文件",
        "apihelp-query+embeddedin-param-title": "要搜索的标题。不能与$1pageid一起使用。",
        "apihelp-query+embeddedin-param-pageid": "要搜索的页面ID。不能与$1title一起使用。",
        "apihelp-query+embeddedin-param-namespace": "列举的名字空间。",
        "apihelp-query+extlinks-param-query": "不使用协议搜索字符串。对于检查某一页面是否包含某一外部URL很有用。",
        "apihelp-query+extlinks-param-expandurl": "扩展协议相对URL与规范协议。",
        "apihelp-query+extlinks-example-simple": "获取<kbd>Main Page<kbd>的外部链接列表。",
+       "apihelp-query+exturlusage-description": "列举包含一个指定URL的页面。",
        "apihelp-query+exturlusage-param-protocol": "URL协议。如果为空并且<var>$1query</var>被设置,协议为<kbd>http</kbd>。将此和<var>$1query</var>都留空以列举所有外部链接。",
        "apihelp-query+exturlusage-param-query": "不包括协议的搜索字符串。参见[[Special:LinkSearch]]。留空以列出所有外部链接。",
        "apihelp-query+exturlusage-param-namespace": "要列举的页面名字空间。",
        "apihelp-query+filearchive-param-dir": "罗列所采用的方向。",
        "apihelp-query+filearchive-param-sha1": "图片的SHA1哈希值。覆盖$1sha1base36。",
        "apihelp-query+filearchive-param-sha1base36": "基于base 36的图片的SHA1哈希值(用于MediaWiki)。",
-       "apihelp-query+filearchive-example-simple": "显示已删除文件列表",
+       "apihelp-query+filearchive-example-simple": "显示已删除文件列表",
        "apihelp-query+filerepoinfo-description": "返回有关wiki配置的图片存储库的元信息。",
        "apihelp-query+filerepoinfo-example-simple": "获得有关文件存储库的信息。",
        "apihelp-query+fileusage-description": "查找所有使用指定文件的页面。",
        "apihelp-query+fileusage-param-prop": "要获取的属性:\n;pageid:每个页面的页面ID。\n;title:每个页面的标题。\n;redirect:标记作为重定向的页面。",
        "apihelp-query+fileusage-param-namespace": "只包括这些名字空间的页面。",
        "apihelp-query+fileusage-param-limit": "返回多少。",
-       "apihelp-query+fileusage-example-simple": "获取使用[[:File:Example.jpg]]的页面列表",
-       "apihelp-query+fileusage-example-generator": "获取有关使用[[:File:Example.jpg]]的页面的信息",
+       "apihelp-query+fileusage-example-simple": "获取使用[[:File:Example.jpg]]的页面列表",
+       "apihelp-query+fileusage-example-generator": "获取有关使用[[:File:Example.jpg]]的页面的信息",
        "apihelp-query+imageinfo-description": "返回文件信息和上传历史。",
        "apihelp-query+imageinfo-param-prop": "要获取的文件信息:",
        "apihelp-query+imageinfo-paramvalue-prop-timestamp": "添加时间戳至上传的版本。",
        "apihelp-query+imageusage-param-pageid": "要搜索的页面ID。不能与$1title一起使用。",
        "apihelp-query+imageusage-param-namespace": "要列举的名字空间。",
        "apihelp-query+imageusage-param-dir": "罗列所采用的方向。",
-       "apihelp-query+imageusage-example-simple": "显示使用[[:File:Albert Einstein Head.jpg]]的页面",
-       "apihelp-query+imageusage-example-generator": "获取有关使用[[:File:Albert Einstein Head.jpg]]的页面的信息",
+       "apihelp-query+imageusage-example-simple": "显示使用[[:File:Albert Einstein Head.jpg]]的页面",
+       "apihelp-query+imageusage-example-generator": "获取有关使用[[:File:Albert Einstein Head.jpg]]的页面的信息",
        "apihelp-query+info-description": "获取基本页面信息。",
        "apihelp-query+info-param-prop": "要获取的额外属性:",
        "apihelp-query+info-paramvalue-prop-protection": "列出每个页面的保护等级。",
        "apihelp-query+iwbacklinks-param-limit": "返回的总计页面数。",
        "apihelp-query+iwbacklinks-param-prop": "要获取的属性:\n;iwprefix:加入跨wiki前缀。\n;iwtitle:加入跨wiki标题。",
        "apihelp-query+iwbacklinks-param-dir": "罗列所采用的方向。",
-       "apihelp-query+iwbacklinks-example-simple": "è\8e·å¾\97链接至[[wikibooks:Test]]的页面。",
-       "apihelp-query+iwbacklinks-example-generator": "è\8e·å¾\97有关链接至[[wikibooks:Test]]的页面的信息。",
+       "apihelp-query+iwbacklinks-example-simple": "è\8e·å\8f\96链接至[[wikibooks:Test]]的页面。",
+       "apihelp-query+iwbacklinks-example-generator": "è\8e·å\8f\96有关链接至[[wikibooks:Test]]的页面的信息。",
        "apihelp-query+iwlinks-description": "从指定页面返回所有跨wiki链接。",
        "apihelp-query+iwlinks-param-url": "是否获取完整URL(不能与$1prop一起使用)。",
        "apihelp-query+iwlinks-param-limit": "返回多少跨wiki链接。",
        "apihelp-query+langbacklinks-param-limit": "返回的总计页面数。",
        "apihelp-query+langbacklinks-param-prop": "要获得的属性:\n;lllang:添加语言链接的语言代码。\n;lltitle:添加语言链接的标题。",
        "apihelp-query+langbacklinks-param-dir": "罗列所采用的方向。",
-       "apihelp-query+langbacklinks-example-simple": "获取链接至[[:fr:Test]]的页面",
-       "apihelp-query+langbacklinks-example-generator": "获取链接至[[:fr:Test]]的页面的信息",
+       "apihelp-query+langbacklinks-example-simple": "获取链接至[[:fr:Test]]的页面",
+       "apihelp-query+langbacklinks-example-generator": "获取链接至[[:fr:Test]]的页面的信息",
        "apihelp-query+langlinks-description": "从指定页面返回所有跨语言链接。",
        "apihelp-query+langlinks-param-limit": "返回多少语言链接。",
        "apihelp-query+langlinks-param-url": "是否获取完整URL(不能与<var>$1prop</var>一起使用)。",
        "apihelp-query+links-param-namespace": "只显示这些名字空间的链接。",
        "apihelp-query+links-param-limit": "返回多少链接。",
        "apihelp-query+links-param-dir": "罗列所采用的方向。",
-       "apihelp-query+links-example-simple": "从页面<kbd>Main Page</kbd>获取链接",
+       "apihelp-query+links-example-simple": "从页面<kbd>Main Page</kbd>获取链接",
        "apihelp-query+links-example-generator": "获取有关在页面<kbd>Main Page</kbd>中连接的页面的信息。",
        "apihelp-query+links-example-namespaces": "获取在{{ns:user}}和{{ns:template}}名字空间中来自页面<kbd>Main Page</kbd>的链接。",
        "apihelp-query+linkshere-description": "查找所有链接至指定页面的页面。",
-       "apihelp-query+linkshere-param-prop": "è¦\81è\8e·å¾\97的属性:\n;pageid:每个页面的页面ID。\n;title:每个页面的标题。\n;redirect:如果页面是一个重定向就标记。",
+       "apihelp-query+linkshere-param-prop": "è¦\81è\8e·å\8f\96的属性:\n;pageid:每个页面的页面ID。\n;title:每个页面的标题。\n;redirect:如果页面是一个重定向就标记。",
        "apihelp-query+linkshere-param-namespace": "只包括这些名字空间的页面。",
        "apihelp-query+linkshere-param-limit": "返回多少。",
        "apihelp-query+linkshere-param-show": "只显示符合以下标准的项:\n;redirect:只显示重定向。\n;!redirect:只显示非重定向。",
        "apihelp-query+logevents-param-start": "枚举的起始时间戳。",
        "apihelp-query+logevents-param-end": "枚举的结束时间戳。",
        "apihelp-query+logevents-param-prefix": "过滤以此前缀开头的记录。",
-       "apihelp-query+logevents-example-simple": "列出最近日志活动",
+       "apihelp-query+logevents-example-simple": "列出最近日志活动",
        "apihelp-query+pagepropnames-description": "列出wiki中所有使用中的页面属性名称。",
        "apihelp-query+pagepropnames-param-limit": "返回名称的最大数量。",
        "apihelp-query+pagepropnames-example-simple": "获取前10个属性名称。",
        "apihelp-query+pageswithprop-param-limit": "返回页面的最大数量。",
        "apihelp-query+pageswithprop-param-dir": "排序的方向。",
        "apihelp-query+pageswithprop-example-simple": "列出前10个使用<code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>的页面。",
-       "apihelp-query+pageswithprop-example-generator": "获取有关前10个使用<code>_&#95;NOTOC_&#95;</code>的页面的信息。",
+       "apihelp-query+pageswithprop-example-generator": "获取有关前10个使用<code>_&#95;NOTOC_&#95;</code>的页面的额外信息。",
        "apihelp-query+prefixsearch-param-search": "搜索字符串。",
        "apihelp-query+prefixsearch-param-namespace": "搜索的名字空间。",
        "apihelp-query+prefixsearch-param-limit": "要返回的结果最大数。",
        "apihelp-query+prefixsearch-example-simple": "搜索以<kbd>meaning</kbd>开头的页面标题。",
        "apihelp-query+protectedtitles-param-namespace": "只列出这些名字空间的标题。",
        "apihelp-query+protectedtitles-param-limit": "返回的总计页面数。",
-       "apihelp-query+protectedtitles-example-simple": "受保护标题列表",
+       "apihelp-query+protectedtitles-example-simple": "受保护标题列表",
        "apihelp-query+protectedtitles-example-generator": "找到主命名空间中已保护的标题的链接。",
        "apihelp-query+querypage-param-limit": "返回的结果数。",
        "apihelp-query+querypage-example-ancientpages": "返回[[Special:Ancientpages]]的结果。",
        "apihelp-query+random-param-limit": "限制返回多少随机页面。",
        "apihelp-query+random-param-redirect": "加载一个随机重定向而不是一个随机页面。",
        "apihelp-query+random-example-simple": "从主名字空间返回两个随机页面。",
-       "apihelp-query+random-example-generator": "返回有关来自主名字空间的两个随机页面的页面信息",
+       "apihelp-query+random-example-generator": "返回有关来自主名字空间的两个随机页面的页面信息",
        "apihelp-query+recentchanges-description": "枚举最近更改。",
        "apihelp-query+recentchanges-param-start": "枚举的起始时间戳。",
        "apihelp-query+recentchanges-param-end": "枚举的结束时间戳。",
        "apihelp-query+recentchanges-param-token": "请改用<kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>。",
        "apihelp-query+recentchanges-param-limit": "返回总计更新数。",
        "apihelp-query+recentchanges-param-type": "显示的更改类型。",
-       "apihelp-query+recentchanges-example-simple": "最近更改列表",
+       "apihelp-query+recentchanges-example-simple": "最近更改列表",
        "apihelp-query+redirects-description": "返回至指定页面的所有重定向。",
        "apihelp-query+redirects-param-namespace": "只包含这些名字空间的页面。",
        "apihelp-query+redirects-param-limit": "返回多少重定向。",
        "apihelp-query+redirects-example-simple": "获取至[[Main Page]]的重定向列表。",
        "apihelp-query+redirects-example-generator": "获取所有重定向至[[Main Page]]的信息。",
        "apihelp-query+revisions-paraminfo-singlepageonly": "可能只能与单一页面使用(模式#2)。",
+       "apihelp-query+revisions-param-end": "列举直至此时间戳。",
        "apihelp-query+revisions-example-content": "获取带内容的数据,用于标题<kbd>API</kbd>和<kbd>Main Page</kbd>的最近修订。",
        "apihelp-query+revisions-example-last5": "获取<kbd>Main Page</kbd>的最近5次修订。",
        "apihelp-query+revisions-example-first5": "获取<kbd>Main Page</kbd>的前5次修订。",
        "apihelp-query+revisions+base-paramvalue-prop-timestamp": "修订的时间戳。",
        "apihelp-query+revisions+base-paramvalue-prop-user": "做出修订的用户。",
        "apihelp-query+revisions+base-paramvalue-prop-userid": "修订创建者的用户ID。",
+       "apihelp-query+revisions+base-paramvalue-prop-size": "修订的长度(字节)。",
        "apihelp-query+revisions+base-paramvalue-prop-sha1": "修订的SHA-1(base 16)。",
        "apihelp-query+revisions+base-paramvalue-prop-contentmodel": "修订的内容模型ID。",
+       "apihelp-query+revisions+base-paramvalue-prop-comment": "由用户对修订做出的摘要。",
+       "apihelp-query+revisions+base-paramvalue-prop-parsedcomment": "由用户对修订做出的被解析的摘要。",
        "apihelp-query+revisions+base-paramvalue-prop-content": "修订文本。",
        "apihelp-query+revisions+base-paramvalue-prop-tags": "修订标签。",
        "apihelp-query+revisions+base-paramvalue-prop-parsetree": "修订内容的XML解析树(需要内容模型<code>$1</code>)。",
        "apihelp-query+search-example-generator": "获得有关搜索<kbd>meaning</kbd>返回页面的页面信息。",
        "apihelp-query+siteinfo-description": "返回有关网站的一般信息。",
        "apihelp-query+siteinfo-param-prop": "要获取的信息:\n;general:全部系统信息。\n;namespaces:注册的名字空间及其规范名称列表。\n;namespacealiases:注册的名字空间别名列表。\n;specialpagealiases:特殊页面别名列表。\n;magicwords:魔术字及其别名列表。\n;statistics:返回网站统计。\n;interwikimap:返回跨wiki映射(可选过滤,可选择使用<var>$1inlanguagecode</var>本地化)。\n;dbrepllag:返回数据库服务器与最高反应延迟。\n;usergroups:返回用户组及其相关权限。\n;libraries:返回wiki上安装的库。\n;extensions:返回wiki上安装的扩展。\n;fileextensions:返回允许上传的文件扩展名列表。\n;rightsinfo:如果可用,返回wiki的版权信息。\n;restrictions:返回可用的编辑限制(保护)类型信息。\n;languages:返回MediaWiki支持的语言列表(可选择使用<var>$1inlanguagecode</var>本地化)。\n;skins:返回所有启用的皮肤列表(可选择使用<var>$1inlanguagecode</var>本地化,否则是内容语言)。\n;extensiontags:返回解析器扩展标签列表。\n;functionhooks:返回解析器函数钩列表。\n;showhooks:返回所有订阅的钩列表(<var>[[mw:Manual:$wgHooks|$wgHooks]]</var>的内容)。\n;variables:返回变量ID列表。\n;protocols:返回外部链接中允许的协议列表。\n;defaultoptions:返回用户设置的默认值。",
+       "apihelp-query+siteinfo-param-filteriw": "只返回跨wiki地图中的本地或非本地记录。",
        "apihelp-query+siteinfo-param-showalldb": "列出所有数据库服务器,不只是最落后的那个。",
        "apihelp-query+siteinfo-param-numberingroup": "列出用户组中的用户数。",
        "apihelp-query+siteinfo-param-inlanguagecode": "用于本地化语言名称(尽可能)和皮肤名称的语言代码。",
-       "apihelp-query+siteinfo-example-simple": "获取网站信息",
-       "apihelp-query+siteinfo-example-interwiki": "获取本地跨wiki前缀列表",
+       "apihelp-query+siteinfo-example-simple": "取得网站信息。",
+       "apihelp-query+siteinfo-example-interwiki": "取得本地跨wiki前缀列表。",
        "apihelp-query+siteinfo-example-replag": "检查当前的响应延迟。",
        "apihelp-query+stashimageinfo-description": "返回用于藏匿文件的文件信息。",
+       "apihelp-query+stashimageinfo-param-sessionkey": "$1filekey的别名,用于向后兼容。",
        "apihelp-query+stashimageinfo-example-simple": "返回藏匿文件的信息。",
        "apihelp-query+tags-description": "列出更改标签。",
        "apihelp-query+tags-param-limit": "列出标签的最大数量。",
        "apihelp-query+tags-param-prop": "要获取哪个属性:\n;name:添加标签名称。\n;displayname:为标签添加系统消息。\n;description:为标签添加描述。\n;hitcount:已添加此标签的修订版本与日志数量。\n;defined:标识标签是否已定义。\n;source:获得标签来源,它可能包括用于扩展定义的标签的<samp>extension</samp>,以及用于可被用户手动应用的标签的<samp>manual</samp>。\n;active:标签是否仍可被应用。",
-       "apihelp-query+tags-example-simple": "可用标签列表",
+       "apihelp-query+tags-example-simple": "可用标签列表",
        "apihelp-query+templates-description": "返回指定页面上所有被嵌入的页面。",
        "apihelp-query+templates-param-namespace": "只显示此名字空间的模板。",
        "apihelp-query+templates-param-limit": "返回的模板数量。",
        "apihelp-query+usercontribs-param-end": "返回的最终时间戳。",
        "apihelp-query+usercontribs-param-user": "要检索贡献的用户。",
        "apihelp-query+usercontribs-param-namespace": "只列出这些名字空间的贡献。",
+       "apihelp-query+usercontribs-param-prop": "包含额外的信息束:\n;ids:添加页面ID和修订ID。\n;title:添加页面标题及其名字空间ID。\n;timestamp:添加编辑的时间戳。\n;comment:添加编辑摘要。\n;parsedcomment:添加被解析的编辑摘要。\n;size:添加编辑的新大小。\n;sizediff:添加与父编辑相比该编辑的大小变化。\n;flags:添加编辑标记。\n;patrolled:标记已巡查编辑。\n;tags:列举用于编辑的标签。",
+       "apihelp-query+usercontribs-param-show": "只显示符合这些标准的项目,例如只显示不是小编辑的编辑:<kbd>$2show=!minor</kbd>。\n\n如果<kbd>$2show=patrolled</kbd>或<kbd>$2show=!patrolled</kbd>被设定,早于<var>[[mw:Manual:$wgRCMaxAge|$wgRCMaxAge]]</var>($1秒)的修订不会被显示。",
        "apihelp-query+usercontribs-example-user": "显示用户<kbd>Example</kbd>的贡献。",
        "apihelp-query+usercontribs-example-ipprefix": "显示来自<kbd>192.0.2.</kbd>前缀所有 IP 地址的贡献。",
        "apihelp-query+userinfo-description": "获取有关当前用户的信息。",
-       "apihelp-query+userinfo-example-simple": "获取有关当前用户的信息",
-       "apihelp-query+userinfo-example-data": "获取有关当前用户的额外信息",
+       "apihelp-query+userinfo-example-simple": "获取有关当前用户的信息",
+       "apihelp-query+userinfo-example-data": "获取有关当前用户的额外信息",
        "apihelp-query+users-description": "获取有关列出用户的信息。",
        "apihelp-query+users-param-token": "请改用<kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>。",
        "apihelp-query+users-example-simple": "返回用户<kbd>Example</kbd>的信息。",
        "apihelp-query+watchlist-param-user": "只列出此用户的更改。",
        "apihelp-query+watchlist-param-excludeuser": "不要列出此用户的更改。",
        "apihelp-query+watchlist-param-limit": "根据结果返回的结果总数。",
+       "apihelp-query+watchlist-param-prop": "要获取的额外属性:",
+       "apihelp-query+watchlist-paramvalue-prop-ids": "添加修订ID和页面ID。",
        "apihelp-query+watchlist-paramvalue-prop-title": "添加页面标题。",
+       "apihelp-query+watchlist-paramvalue-prop-flags": "为编辑添加标记。",
+       "apihelp-query+watchlist-paramvalue-prop-user": "添加做出编辑的用户。",
+       "apihelp-query+watchlist-paramvalue-prop-userid": "添加做出编辑的用户的ID。",
        "apihelp-query+watchlist-paramvalue-prop-comment": "添加编辑摘要。",
        "apihelp-query+watchlist-paramvalue-prop-parsedcomment": "添加解析过的编辑摘要。",
        "apihelp-query+watchlist-paramvalue-prop-timestamp": "添加编辑时间戳。",
+       "apihelp-query+watchlist-paramvalue-prop-patrol": "将编辑标记为已巡查。",
+       "apihelp-query+watchlist-paramvalue-prop-sizes": "添加页面的旧有长度和新长度。",
+       "apihelp-query+watchlist-paramvalue-prop-notificationtimestamp": "添加最近被通知有关编辑的用户的时间戳。",
+       "apihelp-query+watchlist-paramvalue-prop-loginfo": "在适当位置添加日志信息。",
        "apihelp-query+watchlist-param-token": "允许访问其他用户监视列表的安全密钥(可通过用户的[[Special:Preferences#mw-prefsection-watchlist|参数设置]]找到)。",
        "apihelp-query+watchlist-example-generator": "在当前用户的监视列表中检索用于最近更改页面的页面信息。",
        "apihelp-query+watchlistraw-description": "获得当前用户的监视列表上的所有页面。",
        "apihelp-rollback-param-watchlist": "无条件地将页面加入至当前用户的监视列表或将其移除,使用设置或不更改监视。",
        "apihelp-rollback-example-simple": "回退由用户<kbd>Example</kbd>对<kbd>Main Page</kbd>做出的最近编辑。",
        "apihelp-rollback-example-summary": "回退由IP用户<kbd>192.0.2.5</kbd>对页面<kbd>Main Page</kbd>做出的最近编辑,带编辑摘要<kbd>Reverting vandalism</kbd>,并将这些编辑和回退标记为机器人编辑。",
-       "apihelp-rsd-description": "导出一个RSD(Really Simple Discovery)架构",
-       "apihelp-rsd-example-simple": "导出RSD架构",
+       "apihelp-rsd-description": "导出一个RSD(Really Simple Discovery)架构",
+       "apihelp-rsd-example-simple": "导出RSD架构",
        "apihelp-setnotificationtimestamp-description": "更新用于监视页面的通知时间戳。\n\n这会影响监视列表和历史中已更改页面的高亮度,并且如果“当我的监视列表中的页面被更改时发送电子邮件通知我”的设置被启用的话,也会影响电子邮件的发送。",
        "apihelp-setnotificationtimestamp-param-entirewatchlist": "工作于所有已监视页面。",
        "apihelp-setnotificationtimestamp-param-timestamp": "要设置通知时间戳的时间戳。",
        "apihelp-unblock-param-reason": "解封的原因。",
        "apihelp-unblock-example-id": "解封封禁ID #<kbd>105</kbd>。",
        "apihelp-unblock-example-user": "解封用户<kbd>Bob</kbd>,原因<kbd>Sorry Bob</kbd>。",
+       "apihelp-undelete-description": "恢复一个被删除页面的修订。\n\n被删除修订的列表(包括时间戳)可通过[[Special:ApiHelp/query+deletedrevs|list=deletedrevs]]检索到,并且被删除的文件ID列表可通过[[Special:ApiHelp/query+filearchive|list=filearchive]]检索到。",
        "apihelp-undelete-param-title": "要恢复的页面标题。",
        "apihelp-undelete-param-reason": "恢复的原因。",
        "apihelp-undelete-param-fileids": "要恢复的文件修订ID。如果<var>$1timestamps</var>和<var>$1fileids</var>都为空,所有将被恢复。",
        "apihelp-upload-param-filesize": "全部上传的文件大小。",
        "apihelp-upload-param-offset": "块的偏移量(字节)。",
        "apihelp-upload-param-chunk": "大块内容。",
-       "apihelp-upload-example-url": "从URL上传",
+       "apihelp-upload-example-url": "从URL上传",
        "apihelp-upload-example-filekey": "完成一次由于警告而失败的上传。",
        "apihelp-userrights-description": "更改一位用户的组成员。",
        "apihelp-userrights-param-user": "用户名。",
        "apihelp-userrights-param-reason": "更改原因。",
        "apihelp-userrights-example-user": "将用户<kbd>FooBot</kbd>添加至<kbd>bot</kbd>用户组,并从<kbd>sysop</kbd>和<kbd>bureaucrat</kbd>组移除。",
        "apihelp-userrights-example-userid": "将ID为<kbd>123</kbd>的用户加入至<kbd>机器人</kbd>组,并将其从<kbd>管理员</kbd>和<kbd>行政员</kbd>组移除。",
+       "apihelp-watch-description": "从当前用户的监视列表中添加或移除页面。",
        "apihelp-watch-param-title": "要(取消)监视的页面。也可使用<var>$1titles</var>。",
        "apihelp-watch-example-watch": "监视页面<kbd>Main Page</kbd>。",
        "apihelp-watch-example-unwatch": "取消监视页面<kbd>Main Page</kbd>。",
        "apihelp-txtfm-description": "输出数据为PHP的<code>print_r()</code>格式(HTML优质打印效果)。",
        "apihelp-xml-description": "输出数据为XML格式。",
        "apihelp-xml-param-xslt": "如果指定,加入已命名的页面作为一个XSL样式表。值必须是在{{ns:mediawiki}}名字空间以<code>.xsl</code>为结尾的标题。",
+       "apihelp-xml-param-includexmlnamespace": "如果指定,添加一个XML名字空间。",
        "apihelp-xmlfm-description": "输出数据为XML格式(HTML优质打印效果)。",
        "apihelp-yaml-description": "输出数据为YAML格式。",
        "apihelp-yamlfm-description": "输出数据为YAML格式(HTML优质打印效果)。",
        "api-help-param-integer-min": "{{PLURAL:$1|值}}必须不少于$2。",
        "api-help-param-integer-max": "{{PLURAL:$1|值}}必须不大于$3。",
        "api-help-param-integer-minmax": "{{PLURAL:$1|值}}必须介于$2和$3之间。",
+       "api-help-param-upload": "必须被公布为使用multipart/form-data的一次文件上传。",
        "api-help-param-multi-separate": "通过“<kbd>|</kbd>”隔开各值。",
        "api-help-param-multi-max": "值的最高数字是{{PLURAL:$1|$1}}(对于机器人则是{{PLURAL:$2|$2}})。",
        "api-help-param-default": "默认:$1",
index 6a597ca..fff9bab 100644 (file)
@@ -79,7 +79,7 @@ class LCStoreStaticArray implements LCStore {
                        // [A]rray
                        return array( 'a', array_map( function ( $v ) {
                                return LCStoreStaticArray::encode( $v );
-                       }, $data ) );
+                       }, $value ) );
                }
 
                throw new RuntimeException( 'Cannot encode ' . var_export( $value, true ) );
index 77e4d49..698b304 100644 (file)
@@ -78,7 +78,7 @@ class LinkBatch {
                        $this->data[$ns] = array();
                }
 
-               $this->data[$ns][str_replace( ' ', '_', $dbkey )] = 1;
+               $this->data[$ns][strtr( $dbkey, ' ', '_' )] = 1;
        }
 
        /**
index 2a3aac2..51bf385 100644 (file)
@@ -123,11 +123,11 @@ class UserCache {
                $lb = new LinkBatch();
                foreach ( $usersToCheck as $userId => $name ) {
                        if ( $this->queryNeeded( $userId, 'userpage', $options ) ) {
-                               $lb->add( NS_USER, $row->user_name );
+                               $lb->add( NS_USER, $name );
                                $this->typesCached[$userId]['userpage'] = 1;
                        }
                        if ( $this->queryNeeded( $userId, 'usertalk', $options ) ) {
-                               $lb->add( NS_USER_TALK, $row->user_name );
+                               $lb->add( NS_USER_TALK, $name );
                                $this->typesCached[$userId]['usertalk'] = 1;
                        }
                }
index 9635c17..e5916bd 100644 (file)
@@ -544,12 +544,12 @@ class EnhancedChangesList extends ChangesList {
                        ? 'mw-changeslist-line-watched' : 'mw-changeslist-line-not-watched';
 
                # Flag and Timestamp
-               $data['recentChangesFlags'] = $this->recentChangesFlags( array(
+               $data['recentChangesFlags'] = array(
                        'newpage' => $type == RC_NEW,
                        'minor' => $rcObj->mAttribs['rc_minor'],
                        'unpatrolled' => $rcObj->unpatrolled,
                        'bot' => $rcObj->mAttribs['rc_bot'],
-               ) );
+               );
                // timestamp is not really a link here, but is called timestampLink
                // for consistency with EnhancedChangesListModifyLineData
                $data['timestampLink'] = $rcObj->timestamp;
index 842d327..ec401bc 100644 (file)
@@ -52,7 +52,8 @@ class ChangeTagsRevisionList extends ChangeTagsList {
                        $queryInfo['fields'],
                        $queryInfo['conds'],
                        $queryInfo['join_conds'],
-                       $queryInfo['options']
+                       $queryInfo['options'],
+                       ''
                );
                return $db->select(
                        $queryInfo['tables'],
index e676ec9..99c1a06 100644 (file)
@@ -494,15 +494,17 @@ class RequestContext implements IContextSource {
        /**
         * Import an client IP address, HTTP headers, user ID, and session ID
         *
-        * This sets the current session and sets $wgUser and $wgRequest.
+        * This sets the current session, $wgUser, and $wgRequest from $params.
         * Once the return value falls out of scope, the old context is restored.
-        * This method should only be called in contexts (CLI or HTTP job runners)
-        * where there is no session ID or end user receiving the response. This
+        * This method should only be called in contexts where there is no session
+        * ID or end user receiving the response (CLI or HTTP job runners). This
         * is partly enforced, and is done so to avoid leaking cookies if certain
         * error conditions arise.
         *
-        * This will setup the session from the given ID. This is useful when
-        * background scripts inherit context when acting on behalf of a user.
+        * This is useful when background scripts inherit context when acting on
+        * behalf of a user. In general the 'sessionId' parameter should be set
+        * to an empty string unless session importing is *truly* needed. This
+        * feature is somewhat deprecated.
         *
         * @note suhosin.session.encrypt may interfere with this method.
         *
index 7045494..b4f3f79 100644 (file)
@@ -3,6 +3,7 @@
  * Helper class to handle automatically marking connections as reusable (via RAII pattern)
  * as well handling deferring the actual network connection until the handle is used
  *
+ * @note: proxy methods are defined explicity to avoid interface errors
  * @ingroup Database
  * @since 1.22
  */
@@ -29,7 +30,7 @@ class DBConnRef implements IDatabase {
                }
        }
 
-       public function __call( $name, $arguments ) {
+       function __call( $name, array $arguments ) {
                if ( $this->conn === null ) {
                        list( $db, $groups, $wiki ) = $this->params;
                        $this->conn = $this->lb->getConnection( $db, $groups, $wiki );
@@ -38,7 +39,484 @@ class DBConnRef implements IDatabase {
                return call_user_func_array( array( $this->conn, $name ), $arguments );
        }
 
-       public function __destruct() {
+       public function getServerInfo() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function bufferResults( $buffer = null ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function trxLevel() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function trxTimestamp() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function tablePrefix( $prefix = null ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function dbSchema( $schema = null ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getLBInfo( $name = null ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function setLBInfo( $name, $value = null ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function implicitGroupby() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function implicitOrderby() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function lastQuery() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function doneWrites() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function lastDoneWrites() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function writesOrCallbacksPending() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function pendingWriteQueryDuration() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function isOpen() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function setFlag( $flag ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function clearFlag( $flag ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getFlag( $flag ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getProperty( $name ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getWikiID() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getType() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function open( $server, $user, $password, $dbName ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function fetchObject( $res ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function fetchRow( $res ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function numRows( $res ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function numFields( $res ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function fieldName( $res, $n ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function insertId() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function dataSeek( $res, $row ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function lastErrno() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function lastError() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function fieldInfo( $table, $field ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function affectedRows() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getSoftwareLink() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getServerVersion() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function close() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function reportConnectionError( $error = 'Unknown error' ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function query( $sql, $fname = __METHOD__, $tempIgnore = false ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function reportQueryError( $error, $errno, $sql, $fname, $tempIgnore = false ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function freeResult( $res ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function selectField(
+               $table, $var, $cond = '', $fname = __METHOD__, $options = array()
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function selectFieldValues(
+               $table, $var, $cond = '', $fname = __METHOD__, $options = array()
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function select(
+               $table, $vars, $conds = '', $fname = __METHOD__,
+               $options = array(), $join_conds = array()
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function selectSQLText(
+               $table, $vars, $conds = '', $fname = __METHOD__,
+               $options = array(), $join_conds = array()
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function selectRow(
+               $table, $vars, $conds, $fname = __METHOD__,
+               $options = array(), $join_conds = array()
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function estimateRowCount(
+               $table, $vars = '*', $conds = '', $fname = __METHOD__, $options = array()
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function selectRowCount(
+               $table, $vars = '*', $conds = '', $fname = __METHOD__, $options = array()
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function fieldExists( $table, $field, $fname = __METHOD__ ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function indexExists( $table, $index, $fname = __METHOD__ ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function tableExists( $table, $fname = __METHOD__ ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function indexUnique( $table, $index ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function insert( $table, $a, $fname = __METHOD__, $options = array() ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function update( $table, $values, $conds, $fname = __METHOD__, $options = array() ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function makeList( $a, $mode = LIST_COMMA ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function makeWhereFrom2d( $data, $baseKey, $subKey ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function bitNot( $field ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function bitAnd( $fieldLeft, $fieldRight ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function bitOr( $fieldLeft, $fieldRight ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function buildConcat( $stringList ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function buildGroupConcatField(
+               $delim, $table, $field, $conds = '', $join_conds = array()
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function selectDB( $db ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getDBname() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getServer() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function addQuotes( $s ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function buildLike() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function anyChar() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function anyString() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function nextSequenceValue( $seqName ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function replace( $table, $uniqueIndexes, $rows, $fname = __METHOD__ ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function upsert(
+               $table, array $rows, array $uniqueIndexes, array $set, $fname = __METHOD__
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function deleteJoin(
+               $delTable, $joinTable, $delVar, $joinVar, $conds, $fname = __METHOD__
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function delete( $table, $conds, $fname = __METHOD__ ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function insertSelect(
+               $destTable, $srcTable, $varMap, $conds,
+               $fname = __METHOD__, $insertOptions = array(), $selectOptions = array()
+       ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function unionSupportsOrderAndLimit() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function unionQueries( $sqls, $all ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function conditional( $cond, $trueVal, $falseVal ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function strreplace( $orig, $old, $new ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getServerUptime() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function wasDeadlock() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function wasLockTimeout() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function wasErrorReissuable() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function wasReadOnlyError() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function masterPosWait( DBMasterPos $pos, $timeout ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getSlavePos() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getMasterPos() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function onTransactionIdle( $callback ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function onTransactionPreCommitOrIdle( $callback ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function startAtomic( $fname = __METHOD__ ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function endAtomic( $fname = __METHOD__ ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function begin( $fname = __METHOD__ ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function commit( $fname = __METHOD__, $flush = '' ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function rollback( $fname = __METHOD__, $flush = '' ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function listTables( $prefix = null, $fname = __METHOD__ ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function timestamp( $ts = 0 ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function timestampOrNull( $ts = null ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function resultObject( $result ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function ping() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getLag() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function maxListLen() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function encodeBlob( $b ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function decodeBlob( $b ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function setSessionOptions( array $options ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function setSchemaVars( $vars ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function lockIsFree( $lockName, $method ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function lock( $lockName, $method, $timeout = 5 ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function unlock( $lockName, $method ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function namedLocksEnqueue() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function getInfinity() {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function encodeExpiry( $expiry ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function decodeExpiry( $expiry, $format = TS_MW ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       public function setBigSelects( $value = true ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
+       /**
+        * Clean up the connection when out of scope
+        */
+       function __destruct() {
                if ( $this->conn !== null ) {
                        $this->lb->reuseConnection( $this->conn );
                }
index e74fe80..2f1155d 100644 (file)
  * @ingroup Database
  */
 
-/**
- * Interface for classes that implement or wrap DatabaseBase
- * @ingroup Database
- */
-interface IDatabase {
-}
-
 /**
  * Database abstraction object
  * @ingroup Database
@@ -1067,7 +1060,7 @@ abstract class DatabaseBase implements IDatabase {
         * @param string $sql
         * @return bool
         */
-       public function isWriteQuery( $sql ) {
+       protected function isWriteQuery( $sql ) {
                return !preg_match( '/^(?:SELECT|BEGIN|ROLLBACK|COMMIT|SET|SHOW|EXPLAIN|\(SELECT)\b/i', $sql );
        }
 
@@ -1080,7 +1073,7 @@ abstract class DatabaseBase implements IDatabase {
         * @param string $sql
         * @return bool
         */
-       public function isTransactableQuery( $sql ) {
+       protected function isTransactableQuery( $sql ) {
                $verb = substr( $sql, 0, strcspn( $sql, " \t\r\n" ) );
                return !in_array( $verb, array( 'BEGIN', 'COMMIT', 'ROLLBACK', 'SHOW', 'SET' ) );
        }
@@ -1458,6 +1451,7 @@ abstract class DatabaseBase implements IDatabase {
         * @param string|array $options The query options. See DatabaseBase::select() for details.
         *
         * @return bool|array The values from the field, or false on failure
+        * @throws DBUnexpectedError
         * @since 1.25
         */
        public function selectFieldValues(
@@ -1918,7 +1912,7 @@ abstract class DatabaseBase implements IDatabase {
        ) {
                $rows = 0;
                $sql = $this->selectSQLText( $table, '1', $conds, $fname, $options );
-               $res = $this->query( "SELECT COUNT(*) AS rowcount FROM ($sql) tmp_count" );
+               $res = $this->query( "SELECT COUNT(*) AS rowcount FROM ($sql) tmp_count", $fname );
 
                if ( $res ) {
                        $row = $this->fetchRow( $res );
index e326909..846da1c 100644 (file)
@@ -940,7 +940,7 @@ abstract class DatabaseMysqlBase extends DatabaseBase {
                                $value = $this->mDefaultBigSelects;
                        }
                } elseif ( $this->mDefaultBigSelects === null ) {
-                       $this->mDefaultBigSelects = (bool)$this->selectField( false, '@@sql_big_selects' );
+                       $this->mDefaultBigSelects = (bool)$this->selectField( false, '@@sql_big_selects', '', __METHOD__ );
                }
                $encValue = $value ? '1' : '0';
                $this->query( "SET sql_big_selects=$encValue", __METHOD__ );
index 9ad76ab..56a5b2c 100644 (file)
@@ -217,7 +217,7 @@ class PostgresTransactionState {
  * @since 1.19
  */
 class SavepointPostgres {
-       /** @var DatabaseBase Establish a savepoint within a transaction */
+       /** @var DatabasePostgres Establish a savepoint within a transaction */
        protected $dbw;
        protected $id;
        protected $didbegin;
diff --git a/includes/db/IDatabase.php b/includes/db/IDatabase.php
new file mode 100644 (file)
index 0000000..49d0514
--- /dev/null
@@ -0,0 +1,1513 @@
+<?php
+
+/**
+ * @defgroup Database Database
+ *
+ * This file deals with database interface functions
+ * and query specifics/optimisations.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Database
+ */
+
+/**
+ * Basic database interface for live and lazy-loaded DB handles
+ *
+ * @todo: loosen up DB classes from MWException
+ * @note: DatabaseBase and DBConnRef should be updated to reflect any changes
+ * @ingroup Database
+ */
+interface IDatabase {
+       /**
+        * A string describing the current software version, and possibly
+        * other details in a user-friendly way. Will be listed on Special:Version, etc.
+        * Use getServerVersion() to get machine-friendly information.
+        *
+        * @return string Version information from the database server
+        */
+       public function getServerInfo();
+
+       /**
+        * Turns buffering of SQL result sets on (true) or off (false). Default is
+        * "on".
+        *
+        * Unbuffered queries are very troublesome in MySQL:
+        *
+        *   - If another query is executed while the first query is being read
+        *     out, the first query is killed. This means you can't call normal
+        *     MediaWiki functions while you are reading an unbuffered query result
+        *     from a normal wfGetDB() connection.
+        *
+        *   - Unbuffered queries cause the MySQL server to use large amounts of
+        *     memory and to hold broad locks which block other queries.
+        *
+        * If you want to limit client-side memory, it's almost always better to
+        * split up queries into batches using a LIMIT clause than to switch off
+        * buffering.
+        *
+        * @param null|bool $buffer
+        * @return null|bool The previous value of the flag
+        */
+       public function bufferResults( $buffer = null );
+
+       /**
+        * Gets the current transaction level.
+        *
+        * Historically, transactions were allowed to be "nested". This is no
+        * longer supported, so this function really only returns a boolean.
+        *
+        * @return int The previous value
+        */
+       public function trxLevel();
+
+       /**
+        * Get the UNIX timestamp of the time that the transaction was established
+        *
+        * This can be used to reason about the staleness of SELECT data
+        * in REPEATABLE-READ transaction isolation level.
+        *
+        * @return float|null Returns null if there is not active transaction
+        * @since 1.25
+        */
+       public function trxTimestamp();
+
+       /**
+        * Get/set the table prefix.
+        * @param string $prefix The table prefix to set, or omitted to leave it unchanged.
+        * @return string The previous table prefix.
+        */
+       public function tablePrefix( $prefix = null );
+
+       /**
+        * Get/set the db schema.
+        * @param string $schema The database schema to set, or omitted to leave it unchanged.
+        * @return string The previous db schema.
+        */
+       public function dbSchema( $schema = null );
+
+       /**
+        * Get properties passed down from the server info array of the load
+        * balancer.
+        *
+        * @param string $name The entry of the info array to get, or null to get the
+        *   whole array
+        *
+        * @return array|mixed|null
+        */
+       public function getLBInfo( $name = null );
+
+       /**
+        * Set the LB info array, or a member of it. If called with one parameter,
+        * the LB info array is set to that parameter. If it is called with two
+        * parameters, the member with the given name is set to the given value.
+        *
+        * @param string $name
+        * @param array $value
+        */
+       public function setLBInfo( $name, $value = null );
+
+       /**
+        * Returns true if this database does an implicit sort when doing GROUP BY
+        *
+        * @return bool
+        */
+       public function implicitGroupby();
+
+       /**
+        * Returns true if this database does an implicit order by when the column has an index
+        * For example: SELECT page_title FROM page LIMIT 1
+        *
+        * @return bool
+        */
+       public function implicitOrderby();
+
+       /**
+        * Return the last query that went through DatabaseBase::query()
+        * @return string
+        */
+       public function lastQuery();
+
+       /**
+        * Returns true if the connection may have been used for write queries.
+        * Should return true if unsure.
+        *
+        * @return bool
+        */
+       public function doneWrites();
+
+       /**
+        * Returns the last time the connection may have been used for write queries.
+        * Should return a timestamp if unsure.
+        *
+        * @return int|float UNIX timestamp or false
+        * @since 1.24
+        */
+       public function lastDoneWrites();
+
+       /**
+        * Returns true if there is a transaction open with possible write
+        * queries or transaction pre-commit/idle callbacks waiting on it to finish.
+        *
+        * @return bool
+        */
+       public function writesOrCallbacksPending();
+
+       /**
+        * Get the time spend running write queries for this
+        *
+        * High times could be due to scanning, updates, locking, and such
+        *
+        * @return float|bool Returns false if not transaction is active
+        * @since 1.26
+        */
+       public function pendingWriteQueryDuration();
+
+       /**
+        * Is a connection to the database open?
+        * @return bool
+        */
+       public function isOpen();
+
+       /**
+        * Set a flag for this connection
+        *
+        * @param int $flag DBO_* constants from Defines.php:
+        *   - DBO_DEBUG: output some debug info (same as debug())
+        *   - DBO_NOBUFFER: don't buffer results (inverse of bufferResults())
+        *   - DBO_TRX: automatically start transactions
+        *   - DBO_DEFAULT: automatically sets DBO_TRX if not in command line mode
+        *       and removes it in command line mode
+        *   - DBO_PERSISTENT: use persistant database connection
+        */
+       public function setFlag( $flag );
+
+       /**
+        * Clear a flag for this connection
+        *
+        * @param int $flag DBO_* constants from Defines.php:
+        *   - DBO_DEBUG: output some debug info (same as debug())
+        *   - DBO_NOBUFFER: don't buffer results (inverse of bufferResults())
+        *   - DBO_TRX: automatically start transactions
+        *   - DBO_DEFAULT: automatically sets DBO_TRX if not in command line mode
+        *       and removes it in command line mode
+        *   - DBO_PERSISTENT: use persistant database connection
+        */
+       public function clearFlag( $flag );
+
+       /**
+        * Returns a boolean whether the flag $flag is set for this connection
+        *
+        * @param int $flag DBO_* constants from Defines.php:
+        *   - DBO_DEBUG: output some debug info (same as debug())
+        *   - DBO_NOBUFFER: don't buffer results (inverse of bufferResults())
+        *   - DBO_TRX: automatically start transactions
+        *   - DBO_PERSISTENT: use persistant database connection
+        * @return bool
+        */
+       public function getFlag( $flag );
+
+       /**
+        * General read-only accessor
+        *
+        * @param string $name
+        * @return string
+        */
+       public function getProperty( $name );
+
+       /**
+        * @return string
+        */
+       public function getWikiID();
+
+       /**
+        * Get the type of the DBMS, as it appears in $wgDBtype.
+        *
+        * @return string
+        */
+       public function getType();
+
+       /**
+        * Open a connection to the database. Usually aborts on failure
+        *
+        * @param string $server Database server host
+        * @param string $user Database user name
+        * @param string $password Database user password
+        * @param string $dbName Database name
+        * @return bool
+        * @throws DBConnectionError
+        */
+       public function open( $server, $user, $password, $dbName );
+
+       /**
+        * Fetch the next row from the given result object, in object form.
+        * Fields can be retrieved with $row->fieldname, with fields acting like
+        * member variables.
+        * If no more rows are available, false is returned.
+        *
+        * @param ResultWrapper|stdClass $res Object as returned from DatabaseBase::query(), etc.
+        * @return stdClass|bool
+        * @throws DBUnexpectedError Thrown if the database returns an error
+        */
+       public function fetchObject( $res );
+
+       /**
+        * Fetch the next row from the given result object, in associative array
+        * form. Fields are retrieved with $row['fieldname'].
+        * If no more rows are available, false is returned.
+        *
+        * @param ResultWrapper $res Result object as returned from DatabaseBase::query(), etc.
+        * @return array|bool
+        * @throws DBUnexpectedError Thrown if the database returns an error
+        */
+       public function fetchRow( $res );
+
+       /**
+        * Get the number of rows in a result object
+        *
+        * @param mixed $res A SQL result
+        * @return int
+        */
+       public function numRows( $res );
+
+       /**
+        * Get the number of fields in a result object
+        * @see http://www.php.net/mysql_num_fields
+        *
+        * @param mixed $res A SQL result
+        * @return int
+        */
+       public function numFields( $res );
+
+       /**
+        * Get a field name in a result object
+        * @see http://www.php.net/mysql_field_name
+        *
+        * @param mixed $res A SQL result
+        * @param int $n
+        * @return string
+        */
+       public function fieldName( $res, $n );
+
+       /**
+        * Get the inserted value of an auto-increment row
+        *
+        * The value inserted should be fetched from nextSequenceValue()
+        *
+        * Example:
+        * $id = $dbw->nextSequenceValue( 'page_page_id_seq' );
+        * $dbw->insert( 'page', array( 'page_id' => $id ) );
+        * $id = $dbw->insertId();
+        *
+        * @return int
+        */
+       public function insertId();
+
+       /**
+        * Change the position of the cursor in a result object
+        * @see http://www.php.net/mysql_data_seek
+        *
+        * @param mixed $res A SQL result
+        * @param int $row
+        */
+       public function dataSeek( $res, $row );
+
+       /**
+        * Get the last error number
+        * @see http://www.php.net/mysql_errno
+        *
+        * @return int
+        */
+       public function lastErrno();
+
+       /**
+        * Get a description of the last error
+        * @see http://www.php.net/mysql_error
+        *
+        * @return string
+        */
+       public function lastError();
+
+       /**
+        * mysql_fetch_field() wrapper
+        * Returns false if the field doesn't exist
+        *
+        * @param string $table Table name
+        * @param string $field Field name
+        *
+        * @return Field
+        */
+       public function fieldInfo( $table, $field );
+
+       /**
+        * Get the number of rows affected by the last write query
+        * @see http://www.php.net/mysql_affected_rows
+        *
+        * @return int
+        */
+       public function affectedRows();
+
+       /**
+        * Returns a wikitext link to the DB's website, e.g.,
+        *   return "[http://www.mysql.com/ MySQL]";
+        * Should at least contain plain text, if for some reason
+        * your database has no website.
+        *
+        * @return string Wikitext of a link to the server software's web site
+        */
+       public function getSoftwareLink();
+
+       /**
+        * A string describing the current software version, like from
+        * mysql_get_server_info().
+        *
+        * @return string Version information from the database server.
+        */
+       public function getServerVersion();
+
+       /**
+        * Closes a database connection.
+        * if it is open : commits any open transactions
+        *
+        * @throws MWException
+        * @return bool Operation success. true if already closed.
+        */
+       public function close();
+
+       /**
+        * @param string $error Fallback error message, used if none is given by DB
+        * @throws DBConnectionError
+        */
+       public function reportConnectionError( $error = 'Unknown error' );
+
+       /**
+        * Run an SQL query and return the result. Normally throws a DBQueryError
+        * on failure. If errors are ignored, returns false instead.
+        *
+        * In new code, the query wrappers select(), insert(), update(), delete(),
+        * etc. should be used where possible, since they give much better DBMS
+        * independence and automatically quote or validate user input in a variety
+        * of contexts. This function is generally only useful for queries which are
+        * explicitly DBMS-dependent and are unsupported by the query wrappers, such
+        * as CREATE TABLE.
+        *
+        * However, the query wrappers themselves should call this function.
+        *
+        * @param string $sql SQL query
+        * @param string $fname Name of the calling function, for profiling/SHOW PROCESSLIST
+        *     comment (you can use __METHOD__ or add some extra info)
+        * @param bool $tempIgnore Whether to avoid throwing an exception on errors...
+        *     maybe best to catch the exception instead?
+        * @throws MWException
+        * @return bool|ResultWrapper True for a successful write query, ResultWrapper object
+        *     for a successful read query, or false on failure if $tempIgnore set
+        */
+       public function query( $sql, $fname = __METHOD__, $tempIgnore = false );
+
+       /**
+        * Report a query error. Log the error, and if neither the object ignore
+        * flag nor the $tempIgnore flag is set, throw a DBQueryError.
+        *
+        * @param string $error
+        * @param int $errno
+        * @param string $sql
+        * @param string $fname
+        * @param bool $tempIgnore
+        * @throws DBQueryError
+        */
+       public function reportQueryError( $error, $errno, $sql, $fname, $tempIgnore = false );
+
+       /**
+        * Free a result object returned by query() or select(). It's usually not
+        * necessary to call this, just use unset() or let the variable holding
+        * the result object go out of scope.
+        *
+        * @param mixed $res A SQL result
+        */
+       public function freeResult( $res );
+
+       /**
+        * A SELECT wrapper which returns a single field from a single result row.
+        *
+        * Usually throws a DBQueryError on failure. If errors are explicitly
+        * ignored, returns false on failure.
+        *
+        * If no result rows are returned from the query, false is returned.
+        *
+        * @param string|array $table Table name. See DatabaseBase::select() for details.
+        * @param string $var The field name to select. This must be a valid SQL
+        *   fragment: do not use unvalidated user input.
+        * @param string|array $cond The condition array. See DatabaseBase::select() for details.
+        * @param string $fname The function name of the caller.
+        * @param string|array $options The query options. See DatabaseBase::select() for details.
+        *
+        * @return bool|mixed The value from the field, or false on failure.
+        */
+       public function selectField(
+               $table, $var, $cond = '', $fname = __METHOD__, $options = array()
+       );
+
+       /**
+        * A SELECT wrapper which returns a list of single field values from result rows.
+        *
+        * Usually throws a DBQueryError on failure. If errors are explicitly
+        * ignored, returns false on failure.
+        *
+        * If no result rows are returned from the query, false is returned.
+        *
+        * @param string|array $table Table name. See DatabaseBase::select() for details.
+        * @param string $var The field name to select. This must be a valid SQL
+        *   fragment: do not use unvalidated user input.
+        * @param string|array $cond The condition array. See DatabaseBase::select() for details.
+        * @param string $fname The function name of the caller.
+        * @param string|array $options The query options. See DatabaseBase::select() for details.
+        *
+        * @return bool|array The values from the field, or false on failure
+        * @since 1.25
+        */
+       public function selectFieldValues(
+               $table, $var, $cond = '', $fname = __METHOD__, $options = array()
+       );
+
+       /**
+        * Execute a SELECT query constructed using the various parameters provided.
+        * See below for full details of the parameters.
+        *
+        * @param string|array $table Table name
+        * @param string|array $vars Field names
+        * @param string|array $conds Conditions
+        * @param string $fname Caller function name
+        * @param array $options Query options
+        * @param array $join_conds Join conditions
+        *
+        *
+        * @param string|array $table
+        *
+        * May be either an array of table names, or a single string holding a table
+        * name. If an array is given, table aliases can be specified, for example:
+        *
+        *    array( 'a' => 'user' )
+        *
+        * This includes the user table in the query, with the alias "a" available
+        * for use in field names (e.g. a.user_name).
+        *
+        * All of the table names given here are automatically run through
+        * DatabaseBase::tableName(), which causes the table prefix (if any) to be
+        * added, and various other table name mappings to be performed.
+        *
+        *
+        * @param string|array $vars
+        *
+        * May be either a field name or an array of field names. The field names
+        * can be complete fragments of SQL, for direct inclusion into the SELECT
+        * query. If an array is given, field aliases can be specified, for example:
+        *
+        *   array( 'maxrev' => 'MAX(rev_id)' )
+        *
+        * This includes an expression with the alias "maxrev" in the query.
+        *
+        * If an expression is given, care must be taken to ensure that it is
+        * DBMS-independent.
+        *
+        *
+        * @param string|array $conds
+        *
+        * May be either a string containing a single condition, or an array of
+        * conditions. If an array is given, the conditions constructed from each
+        * element are combined with AND.
+        *
+        * Array elements may take one of two forms:
+        *
+        *   - Elements with a numeric key are interpreted as raw SQL fragments.
+        *   - Elements with a string key are interpreted as equality conditions,
+        *     where the key is the field name.
+        *     - If the value of such an array element is a scalar (such as a
+        *       string), it will be treated as data and thus quoted appropriately.
+        *       If it is null, an IS NULL clause will be added.
+        *     - If the value is an array, an IN (...) clause will be constructed
+        *       from its non-null elements, and an IS NULL clause will be added
+        *       if null is present, such that the field may match any of the
+        *       elements in the array. The non-null elements will be quoted.
+        *
+        * Note that expressions are often DBMS-dependent in their syntax.
+        * DBMS-independent wrappers are provided for constructing several types of
+        * expression commonly used in condition queries. See:
+        *    - DatabaseBase::buildLike()
+        *    - DatabaseBase::conditional()
+        *
+        *
+        * @param string|array $options
+        *
+        * Optional: Array of query options. Boolean options are specified by
+        * including them in the array as a string value with a numeric key, for
+        * example:
+        *
+        *    array( 'FOR UPDATE' )
+        *
+        * The supported options are:
+        *
+        *   - OFFSET: Skip this many rows at the start of the result set. OFFSET
+        *     with LIMIT can theoretically be used for paging through a result set,
+        *     but this is discouraged in MediaWiki for performance reasons.
+        *
+        *   - LIMIT: Integer: return at most this many rows. The rows are sorted
+        *     and then the first rows are taken until the limit is reached. LIMIT
+        *     is applied to a result set after OFFSET.
+        *
+        *   - FOR UPDATE: Boolean: lock the returned rows so that they can't be
+        *     changed until the next COMMIT.
+        *
+        *   - DISTINCT: Boolean: return only unique result rows.
+        *
+        *   - GROUP BY: May be either an SQL fragment string naming a field or
+        *     expression to group by, or an array of such SQL fragments.
+        *
+        *   - HAVING: May be either an string containing a HAVING clause or an array of
+        *     conditions building the HAVING clause. If an array is given, the conditions
+        *     constructed from each element are combined with AND.
+        *
+        *   - ORDER BY: May be either an SQL fragment giving a field name or
+        *     expression to order by, or an array of such SQL fragments.
+        *
+        *   - USE INDEX: This may be either a string giving the index name to use
+        *     for the query, or an array. If it is an associative array, each key
+        *     gives the table name (or alias), each value gives the index name to
+        *     use for that table. All strings are SQL fragments and so should be
+        *     validated by the caller.
+        *
+        *   - EXPLAIN: In MySQL, this causes an EXPLAIN SELECT query to be run,
+        *     instead of SELECT.
+        *
+        * And also the following boolean MySQL extensions, see the MySQL manual
+        * for documentation:
+        *
+        *    - LOCK IN SHARE MODE
+        *    - STRAIGHT_JOIN
+        *    - HIGH_PRIORITY
+        *    - SQL_BIG_RESULT
+        *    - SQL_BUFFER_RESULT
+        *    - SQL_SMALL_RESULT
+        *    - SQL_CALC_FOUND_ROWS
+        *    - SQL_CACHE
+        *    - SQL_NO_CACHE
+        *
+        *
+        * @param string|array $join_conds
+        *
+        * Optional associative array of table-specific join conditions. In the
+        * most common case, this is unnecessary, since the join condition can be
+        * in $conds. However, it is useful for doing a LEFT JOIN.
+        *
+        * The key of the array contains the table name or alias. The value is an
+        * array with two elements, numbered 0 and 1. The first gives the type of
+        * join, the second is an SQL fragment giving the join condition for that
+        * table. For example:
+        *
+        *    array( 'page' => array( 'LEFT JOIN', 'page_latest=rev_id' ) )
+        *
+        * @return ResultWrapper|bool If the query returned no rows, a ResultWrapper
+        *   with no rows in it will be returned. If there was a query error, a
+        *   DBQueryError exception will be thrown, except if the "ignore errors"
+        *   option was set, in which case false will be returned.
+        */
+       public function select(
+               $table, $vars, $conds = '', $fname = __METHOD__,
+               $options = array(), $join_conds = array()
+       );
+
+       /**
+        * The equivalent of DatabaseBase::select() except that the constructed SQL
+        * is returned, instead of being immediately executed. This can be useful for
+        * doing UNION queries, where the SQL text of each query is needed. In general,
+        * however, callers outside of Database classes should just use select().
+        *
+        * @param string|array $table Table name
+        * @param string|array $vars Field names
+        * @param string|array $conds Conditions
+        * @param string $fname Caller function name
+        * @param string|array $options Query options
+        * @param string|array $join_conds Join conditions
+        *
+        * @return string SQL query string.
+        * @see DatabaseBase::select()
+        */
+       public function selectSQLText(
+               $table, $vars, $conds = '', $fname = __METHOD__,
+               $options = array(), $join_conds = array()
+       );
+
+       /**
+        * Single row SELECT wrapper. Equivalent to DatabaseBase::select(), except
+        * that a single row object is returned. If the query returns no rows,
+        * false is returned.
+        *
+        * @param string|array $table Table name
+        * @param string|array $vars Field names
+        * @param array $conds Conditions
+        * @param string $fname Caller function name
+        * @param string|array $options Query options
+        * @param array|string $join_conds Join conditions
+        *
+        * @return stdClass|bool
+        */
+       public function selectRow( $table, $vars, $conds, $fname = __METHOD__,
+               $options = array(), $join_conds = array()
+       );
+
+       /**
+        * Estimate the number of rows in dataset
+        *
+        * MySQL allows you to estimate the number of rows that would be returned
+        * by a SELECT query, using EXPLAIN SELECT. The estimate is provided using
+        * index cardinality statistics, and is notoriously inaccurate, especially
+        * when large numbers of rows have recently been added or deleted.
+        *
+        * For DBMSs that don't support fast result size estimation, this function
+        * will actually perform the SELECT COUNT(*).
+        *
+        * Takes the same arguments as DatabaseBase::select().
+        *
+        * @param string $table Table name
+        * @param string $vars Unused
+        * @param array|string $conds Filters on the table
+        * @param string $fname Function name for profiling
+        * @param array $options Options for select
+        * @return int Row count
+        */
+       public function estimateRowCount(
+               $table, $vars = '*', $conds = '', $fname = __METHOD__, $options = array()
+       );
+
+       /**
+        * Get the number of rows in dataset
+        *
+        * This is useful when trying to do COUNT(*) but with a LIMIT for performance.
+        *
+        * Takes the same arguments as DatabaseBase::select().
+        *
+        * @param string $table Table name
+        * @param string $vars Unused
+        * @param array|string $conds Filters on the table
+        * @param string $fname Function name for profiling
+        * @param array $options Options for select
+        * @return int Row count
+        * @since 1.24
+        */
+       public function selectRowCount(
+               $table, $vars = '*', $conds = '', $fname = __METHOD__, $options = array()
+       );
+
+       /**
+        * Determines whether a field exists in a table
+        *
+        * @param string $table Table name
+        * @param string $field Filed to check on that table
+        * @param string $fname Calling function name (optional)
+        * @return bool Whether $table has filed $field
+        */
+       public function fieldExists( $table, $field, $fname = __METHOD__ );
+
+       /**
+        * Determines whether an index exists
+        * Usually throws a DBQueryError on failure
+        * If errors are explicitly ignored, returns NULL on failure
+        *
+        * @param string $table
+        * @param string $index
+        * @param string $fname
+        * @return bool|null
+        */
+       public function indexExists( $table, $index, $fname = __METHOD__ );
+
+       /**
+        * Query whether a given table exists
+        *
+        * @param string $table
+        * @param string $fname
+        * @return bool
+        */
+       public function tableExists( $table, $fname = __METHOD__ );
+
+       /**
+        * Determines if a given index is unique
+        *
+        * @param string $table
+        * @param string $index
+        *
+        * @return bool
+        */
+       public function indexUnique( $table, $index );
+
+       /**
+        * INSERT wrapper, inserts an array into a table.
+        *
+        * $a may be either:
+        *
+        *   - A single associative array. The array keys are the field names, and
+        *     the values are the values to insert. The values are treated as data
+        *     and will be quoted appropriately. If NULL is inserted, this will be
+        *     converted to a database NULL.
+        *   - An array with numeric keys, holding a list of associative arrays.
+        *     This causes a multi-row INSERT on DBMSs that support it. The keys in
+        *     each subarray must be identical to each other, and in the same order.
+        *
+        * Usually throws a DBQueryError on failure. If errors are explicitly ignored,
+        * returns success.
+        *
+        * $options is an array of options, with boolean options encoded as values
+        * with numeric keys, in the same style as $options in
+        * DatabaseBase::select(). Supported options are:
+        *
+        *   - IGNORE: Boolean: if present, duplicate key errors are ignored, and
+        *     any rows which cause duplicate key errors are not inserted. It's
+        *     possible to determine how many rows were successfully inserted using
+        *     DatabaseBase::affectedRows().
+        *
+        * @param string $table Table name. This will be passed through
+        *   DatabaseBase::tableName().
+        * @param array $a Array of rows to insert
+        * @param string $fname Calling function name (use __METHOD__) for logs/profiling
+        * @param array $options Array of options
+        *
+        * @return bool
+        */
+       public function insert( $table, $a, $fname = __METHOD__, $options = array() );
+
+       /**
+        * UPDATE wrapper. Takes a condition array and a SET array.
+        *
+        * @param string $table Name of the table to UPDATE. This will be passed through
+        *   DatabaseBase::tableName().
+        * @param array $values An array of values to SET. For each array element,
+        *   the key gives the field name, and the value gives the data to set
+        *   that field to. The data will be quoted by DatabaseBase::addQuotes().
+        * @param array $conds An array of conditions (WHERE). See
+        *   DatabaseBase::select() for the details of the format of condition
+        *   arrays. Use '*' to update all rows.
+        * @param string $fname The function name of the caller (from __METHOD__),
+        *   for logging and profiling.
+        * @param array $options An array of UPDATE options, can be:
+        *   - IGNORE: Ignore unique key conflicts
+        *   - LOW_PRIORITY: MySQL-specific, see MySQL manual.
+        * @return bool
+        */
+       public function update( $table, $values, $conds, $fname = __METHOD__, $options = array() );
+
+       /**
+        * Makes an encoded list of strings from an array
+        *
+        * @param array $a Containing the data
+        * @param int $mode Constant
+        *    - LIST_COMMA: Comma separated, no field names
+        *    - LIST_AND:   ANDed WHERE clause (without the WHERE). See the
+        *      documentation for $conds in DatabaseBase::select().
+        *    - LIST_OR:    ORed WHERE clause (without the WHERE)
+        *    - LIST_SET:   Comma separated with field names, like a SET clause
+        *    - LIST_NAMES: Comma separated field names
+        * @throws MWException|DBUnexpectedError
+        * @return string
+        */
+       public function makeList( $a, $mode = LIST_COMMA );
+
+       /**
+        * Build a partial where clause from a 2-d array such as used for LinkBatch.
+        * The keys on each level may be either integers or strings.
+        *
+        * @param array $data Organized as 2-d
+        *    array(baseKeyVal => array(subKeyVal => [ignored], ...), ...)
+        * @param string $baseKey Field name to match the base-level keys to (eg 'pl_namespace')
+        * @param string $subKey Field name to match the sub-level keys to (eg 'pl_title')
+        * @return string|bool SQL fragment, or false if no items in array
+        */
+       public function makeWhereFrom2d( $data, $baseKey, $subKey );
+
+       /**
+        * @param string $field
+        * @return string
+        */
+       public function bitNot( $field );
+
+       /**
+        * @param string $fieldLeft
+        * @param string $fieldRight
+        * @return string
+        */
+       public function bitAnd( $fieldLeft, $fieldRight );
+
+       /**
+        * @param string $fieldLeft
+        * @param string $fieldRight
+        * @return string
+        */
+       public function bitOr( $fieldLeft, $fieldRight );
+
+       /**
+        * Build a concatenation list to feed into a SQL query
+        * @param array $stringList List of raw SQL expressions; caller is
+        *   responsible for any quoting
+        * @return string
+        */
+       public function buildConcat( $stringList );
+
+       /**
+        * Build a GROUP_CONCAT or equivalent statement for a query.
+        *
+        * This is useful for combining a field for several rows into a single string.
+        * NULL values will not appear in the output, duplicated values will appear,
+        * and the resulting delimiter-separated values have no defined sort order.
+        * Code using the results may need to use the PHP unique() or sort() methods.
+        *
+        * @param string $delim Glue to bind the results together
+        * @param string|array $table Table name
+        * @param string $field Field name
+        * @param string|array $conds Conditions
+        * @param string|array $join_conds Join conditions
+        * @return string SQL text
+        * @since 1.23
+        */
+       public function buildGroupConcatField(
+               $delim, $table, $field, $conds = '', $join_conds = array()
+       );
+
+       /**
+        * Change the current database
+        *
+        * @param string $db
+        * @return bool Success or failure
+        */
+       public function selectDB( $db );
+
+       /**
+        * Get the current DB name
+        * @return string
+        */
+       public function getDBname();
+
+       /**
+        * Get the server hostname or IP address
+        * @return string
+        */
+       public function getServer();
+
+       /**
+        * Adds quotes and backslashes.
+        *
+        * @param string|Blob $s
+        * @return string
+        */
+       public function addQuotes( $s );
+
+       /**
+        * LIKE statement wrapper, receives a variable-length argument list with
+        * parts of pattern to match containing either string literals that will be
+        * escaped or tokens returned by anyChar() or anyString(). Alternatively,
+        * the function could be provided with an array of aforementioned
+        * parameters.
+        *
+        * Example: $dbr->buildLike( 'My_page_title/', $dbr->anyString() ) returns
+        * a LIKE clause that searches for subpages of 'My page title'.
+        * Alternatively:
+        *   $pattern = array( 'My_page_title/', $dbr->anyString() );
+        *   $query .= $dbr->buildLike( $pattern );
+        *
+        * @since 1.16
+        * @return string Fully built LIKE statement
+        */
+       public function buildLike();
+
+       /**
+        * Returns a token for buildLike() that denotes a '_' to be used in a LIKE query
+        *
+        * @return LikeMatch
+        */
+       public function anyChar();
+
+       /**
+        * Returns a token for buildLike() that denotes a '%' to be used in a LIKE query
+        *
+        * @return LikeMatch
+        */
+       public function anyString();
+
+       /**
+        * Returns an appropriately quoted sequence value for inserting a new row.
+        * MySQL has autoincrement fields, so this is just NULL. But the PostgreSQL
+        * subclass will return an integer, and save the value for insertId()
+        *
+        * Any implementation of this function should *not* involve reusing
+        * sequence numbers created for rolled-back transactions.
+        * See http://bugs.mysql.com/bug.php?id=30767 for details.
+        * @param string $seqName
+        * @return null|int
+        */
+       public function nextSequenceValue( $seqName );
+
+       /**
+        * REPLACE query wrapper.
+        *
+        * REPLACE is a very handy MySQL extension, which functions like an INSERT
+        * except that when there is a duplicate key error, the old row is deleted
+        * and the new row is inserted in its place.
+        *
+        * We simulate this with standard SQL with a DELETE followed by INSERT. To
+        * perform the delete, we need to know what the unique indexes are so that
+        * we know how to find the conflicting rows.
+        *
+        * It may be more efficient to leave off unique indexes which are unlikely
+        * to collide. However if you do this, you run the risk of encountering
+        * errors which wouldn't have occurred in MySQL.
+        *
+        * @param string $table The table to replace the row(s) in.
+        * @param array $uniqueIndexes Is an array of indexes. Each element may be either
+        *    a field name or an array of field names
+        * @param array $rows Can be either a single row to insert, or multiple rows,
+        *    in the same format as for DatabaseBase::insert()
+        * @param string $fname Calling function name (use __METHOD__) for logs/profiling
+        */
+       public function replace( $table, $uniqueIndexes, $rows, $fname = __METHOD__ );
+
+       /**
+        * INSERT ON DUPLICATE KEY UPDATE wrapper, upserts an array into a table.
+        *
+        * This updates any conflicting rows (according to the unique indexes) using
+        * the provided SET clause and inserts any remaining (non-conflicted) rows.
+        *
+        * $rows may be either:
+        *   - A single associative array. The array keys are the field names, and
+        *     the values are the values to insert. The values are treated as data
+        *     and will be quoted appropriately. If NULL is inserted, this will be
+        *     converted to a database NULL.
+        *   - An array with numeric keys, holding a list of associative arrays.
+        *     This causes a multi-row INSERT on DBMSs that support it. The keys in
+        *     each subarray must be identical to each other, and in the same order.
+        *
+        * It may be more efficient to leave off unique indexes which are unlikely
+        * to collide. However if you do this, you run the risk of encountering
+        * errors which wouldn't have occurred in MySQL.
+        *
+        * Usually throws a DBQueryError on failure. If errors are explicitly ignored,
+        * returns success.
+        *
+        * @since 1.22
+        *
+        * @param string $table Table name. This will be passed through DatabaseBase::tableName().
+        * @param array $rows A single row or list of rows to insert
+        * @param array $uniqueIndexes List of single field names or field name tuples
+        * @param array $set An array of values to SET. For each array element, the
+        *   key gives the field name, and the value gives the data to set that
+        *   field to. The data will be quoted by DatabaseBase::addQuotes().
+        * @param string $fname Calling function name (use __METHOD__) for logs/profiling
+        * @throws Exception
+        * @return bool
+        */
+       public function upsert(
+               $table, array $rows, array $uniqueIndexes, array $set, $fname = __METHOD__
+       );
+
+       /**
+        * DELETE where the condition is a join.
+        *
+        * MySQL overrides this to use a multi-table DELETE syntax, in other databases
+        * we use sub-selects
+        *
+        * For safety, an empty $conds will not delete everything. If you want to
+        * delete all rows where the join condition matches, set $conds='*'.
+        *
+        * DO NOT put the join condition in $conds.
+        *
+        * @param string $delTable The table to delete from.
+        * @param string $joinTable The other table.
+        * @param string $delVar The variable to join on, in the first table.
+        * @param string $joinVar The variable to join on, in the second table.
+        * @param array $conds Condition array of field names mapped to variables,
+        *   ANDed together in the WHERE clause
+        * @param string $fname Calling function name (use __METHOD__) for logs/profiling
+        * @throws DBUnexpectedError
+        */
+       public function deleteJoin( $delTable, $joinTable, $delVar, $joinVar, $conds,
+               $fname = __METHOD__
+       );
+
+       /**
+        * DELETE query wrapper.
+        *
+        * @param array $table Table name
+        * @param string|array $conds Array of conditions. See $conds in DatabaseBase::select()
+        *   for the format. Use $conds == "*" to delete all rows
+        * @param string $fname Name of the calling function
+        * @throws DBUnexpectedError
+        * @return bool|ResultWrapper
+        */
+       public function delete( $table, $conds, $fname = __METHOD__ );
+
+       /**
+        * INSERT SELECT wrapper. Takes data from a SELECT query and inserts it
+        * into another table.
+        *
+        * @param string $destTable The table name to insert into
+        * @param string|array $srcTable May be either a table name, or an array of table names
+        *    to include in a join.
+        *
+        * @param array $varMap Must be an associative array of the form
+        *    array( 'dest1' => 'source1', ...). Source items may be literals
+        *    rather than field names, but strings should be quoted with
+        *    DatabaseBase::addQuotes()
+        *
+        * @param array $conds Condition array. See $conds in DatabaseBase::select() for
+        *    the details of the format of condition arrays. May be "*" to copy the
+        *    whole table.
+        *
+        * @param string $fname The function name of the caller, from __METHOD__
+        *
+        * @param array $insertOptions Options for the INSERT part of the query, see
+        *    DatabaseBase::insert() for details.
+        * @param array $selectOptions Options for the SELECT part of the query, see
+        *    DatabaseBase::select() for details.
+        *
+        * @return ResultWrapper
+        */
+       public function insertSelect( $destTable, $srcTable, $varMap, $conds,
+               $fname = __METHOD__,
+               $insertOptions = array(), $selectOptions = array()
+       );
+
+       /**
+        * Returns true if current database backend supports ORDER BY or LIMIT for separate subqueries
+        * within the UNION construct.
+        * @return bool
+        */
+       public function unionSupportsOrderAndLimit();
+
+       /**
+        * Construct a UNION query
+        * This is used for providing overload point for other DB abstractions
+        * not compatible with the MySQL syntax.
+        * @param array $sqls SQL statements to combine
+        * @param bool $all Use UNION ALL
+        * @return string SQL fragment
+        */
+       public function unionQueries( $sqls, $all );
+
+       /**
+        * Returns an SQL expression for a simple conditional. This doesn't need
+        * to be overridden unless CASE isn't supported in your DBMS.
+        *
+        * @param string|array $cond SQL expression which will result in a boolean value
+        * @param string $trueVal SQL expression to return if true
+        * @param string $falseVal SQL expression to return if false
+        * @return string SQL fragment
+        */
+       public function conditional( $cond, $trueVal, $falseVal );
+
+       /**
+        * Returns a comand for str_replace function in SQL query.
+        * Uses REPLACE() in MySQL
+        *
+        * @param string $orig Column to modify
+        * @param string $old Column to seek
+        * @param string $new Column to replace with
+        *
+        * @return string
+        */
+       public function strreplace( $orig, $old, $new );
+
+       /**
+        * Determines how long the server has been up
+        * STUB
+        *
+        * @return int
+        */
+       public function getServerUptime();
+
+       /**
+        * Determines if the last failure was due to a deadlock
+        * STUB
+        *
+        * @return bool
+        */
+       public function wasDeadlock();
+
+       /**
+        * Determines if the last failure was due to a lock timeout
+        * STUB
+        *
+        * @return bool
+        */
+       public function wasLockTimeout();
+
+       /**
+        * Determines if the last query error was something that should be dealt
+        * with by pinging the connection and reissuing the query.
+        * STUB
+        *
+        * @return bool
+        */
+       public function wasErrorReissuable();
+
+       /**
+        * Determines if the last failure was due to the database being read-only.
+        * STUB
+        *
+        * @return bool
+        */
+       public function wasReadOnlyError();
+
+       /**
+        * Wait for the slave to catch up to a given master position.
+        *
+        * @param DBMasterPos $pos
+        * @param int $timeout The maximum number of seconds to wait for
+        *   synchronisation
+        * @return int Zero if the slave was past that position already,
+        *   greater than zero if we waited for some period of time, less than
+        *   zero if we timed out.
+        */
+       public function masterPosWait( DBMasterPos $pos, $timeout );
+
+       /**
+        * Get the replication position of this slave
+        *
+        * @return DBMasterPos|bool False if this is not a slave.
+        */
+       public function getSlavePos();
+
+       /**
+        * Get the position of this master
+        *
+        * @return DBMasterPos|bool False if this is not a master
+        */
+       public function getMasterPos();
+
+       /**
+        * Run an anonymous function as soon as there is no transaction pending.
+        * If there is a transaction and it is rolled back, then the callback is cancelled.
+        * Queries in the function will run in AUTO-COMMIT mode unless there are begin() calls.
+        * Callbacks must commit any transactions that they begin.
+        *
+        * This is useful for updates to different systems or when separate transactions are needed.
+        * For example, one might want to enqueue jobs into a system outside the database, but only
+        * after the database is updated so that the jobs will see the data when they actually run.
+        * It can also be used for updates that easily cause deadlocks if locks are held too long.
+        *
+        * @param callable $callback
+        * @since 1.20
+        */
+       public function onTransactionIdle( $callback );
+
+       /**
+        * Run an anonymous function before the current transaction commits or now if there is none.
+        * If there is a transaction and it is rolled back, then the callback is cancelled.
+        * Callbacks must not start nor commit any transactions.
+        *
+        * This is useful for updates that easily cause deadlocks if locks are held too long
+        * but where atomicity is strongly desired for these updates and some related updates.
+        *
+        * @param callable $callback
+        * @since 1.22
+        */
+       public function onTransactionPreCommitOrIdle( $callback );
+
+       /**
+        * Begin an atomic section of statements
+        *
+        * If a transaction has been started already, just keep track of the given
+        * section name to make sure the transaction is not committed pre-maturely.
+        * This function can be used in layers (with sub-sections), so use a stack
+        * to keep track of the different atomic sections. If there is no transaction,
+        * start one implicitly.
+        *
+        * The goal of this function is to create an atomic section of SQL queries
+        * without having to start a new transaction if it already exists.
+        *
+        * Atomic sections are more strict than transactions. With transactions,
+        * attempting to begin a new transaction when one is already running results
+        * in MediaWiki issuing a brief warning and doing an implicit commit. All
+        * atomic levels *must* be explicitly closed using DatabaseBase::endAtomic(),
+        * and any database transactions cannot be began or committed until all atomic
+        * levels are closed. There is no such thing as implicitly opening or closing
+        * an atomic section.
+        *
+        * @since 1.23
+        * @param string $fname
+        * @throws DBError
+        */
+       public function startAtomic( $fname = __METHOD__ );
+
+       /**
+        * Ends an atomic section of SQL statements
+        *
+        * Ends the next section of atomic SQL statements and commits the transaction
+        * if necessary.
+        *
+        * @since 1.23
+        * @see DatabaseBase::startAtomic
+        * @param string $fname
+        * @throws DBError
+        */
+       public function endAtomic( $fname = __METHOD__ );
+
+       /**
+        * Begin a transaction. If a transaction is already in progress,
+        * that transaction will be committed before the new transaction is started.
+        *
+        * Note that when the DBO_TRX flag is set (which is usually the case for web
+        * requests, but not for maintenance scripts), any previous database query
+        * will have started a transaction automatically.
+        *
+        * Nesting of transactions is not supported. Attempts to nest transactions
+        * will cause a warning, unless the current transaction was started
+        * automatically because of the DBO_TRX flag.
+        *
+        * @param string $fname
+        * @throws DBError
+        */
+       public function begin( $fname = __METHOD__ );
+
+       /**
+        * Commits a transaction previously started using begin().
+        * If no transaction is in progress, a warning is issued.
+        *
+        * Nesting of transactions is not supported.
+        *
+        * @param string $fname
+        * @param string $flush Flush flag, set to 'flush' to disable warnings about
+        *   explicitly committing implicit transactions, or calling commit when no
+        *   transaction is in progress. This will silently break any ongoing
+        *   explicit transaction. Only set the flush flag if you are sure that it
+        *   is safe to ignore these warnings in your context.
+        * @throws DBUnexpectedError
+        */
+       public function commit( $fname = __METHOD__, $flush = '' );
+
+       /**
+        * Rollback a transaction previously started using begin().
+        * If no transaction is in progress, a warning is issued.
+        *
+        * No-op on non-transactional databases.
+        *
+        * @param string $fname
+        * @param string $flush Flush flag, set to 'flush' to disable warnings about
+        *   calling rollback when no transaction is in progress. This will silently
+        *   break any ongoing explicit transaction. Only set the flush flag if you
+        *   are sure that it is safe to ignore these warnings in your context.
+        * @throws DBUnexpectedError
+        * @since 1.23 Added $flush parameter
+        */
+       public function rollback( $fname = __METHOD__, $flush = '' );
+
+       /**
+        * List all tables on the database
+        *
+        * @param string $prefix Only show tables with this prefix, e.g. mw_
+        * @param string $fname Calling function name
+        * @throws MWException
+        * @return array
+        */
+       public function listTables( $prefix = null, $fname = __METHOD__ );
+
+       /**
+        * Convert a timestamp in one of the formats accepted by wfTimestamp()
+        * to the format used for inserting into timestamp fields in this DBMS.
+        *
+        * The result is unquoted, and needs to be passed through addQuotes()
+        * before it can be included in raw SQL.
+        *
+        * @param string|int $ts
+        *
+        * @return string
+        */
+       public function timestamp( $ts = 0 );
+
+       /**
+        * Convert a timestamp in one of the formats accepted by wfTimestamp()
+        * to the format used for inserting into timestamp fields in this DBMS. If
+        * NULL is input, it is passed through, allowing NULL values to be inserted
+        * into timestamp fields.
+        *
+        * The result is unquoted, and needs to be passed through addQuotes()
+        * before it can be included in raw SQL.
+        *
+        * @param string|int $ts
+        *
+        * @return string
+        */
+       public function timestampOrNull( $ts = null );
+
+       /**
+        * Take the result from a query, and wrap it in a ResultWrapper if
+        * necessary. Boolean values are passed through as is, to indicate success
+        * of write queries or failure.
+        *
+        * Once upon a time, DatabaseBase::query() returned a bare MySQL result
+        * resource, and it was necessary to call this function to convert it to
+        * a wrapper. Nowadays, raw database objects are never exposed to external
+        * callers, so this is unnecessary in external code. For compatibility with
+        * old code, ResultWrapper objects are passed through unaltered.
+        *
+        * @param bool|ResultWrapper|resource $result
+        * @return bool|ResultWrapper
+        */
+       public function resultObject( $result );
+
+       /**
+        * Ping the server and try to reconnect if it there is no connection
+        *
+        * @return bool Success or failure
+        */
+       public function ping();
+
+       /**
+        * Get slave lag. Currently supported only by MySQL.
+        *
+        * Note that this function will generate a fatal error on many
+        * installations. Most callers should use LoadBalancer::safeGetLag()
+        * instead.
+        *
+        * @return int Database replication lag in seconds
+        */
+       public function getLag();
+
+       /**
+        * Return the maximum number of items allowed in a list, or 0 for unlimited.
+        *
+        * @return int
+        */
+       public function maxListLen();
+
+       /**
+        * Some DBMSs have a special format for inserting into blob fields, they
+        * don't allow simple quoted strings to be inserted. To insert into such
+        * a field, pass the data through this function before passing it to
+        * DatabaseBase::insert().
+        *
+        * @param string $b
+        * @return string
+        */
+       public function encodeBlob( $b );
+
+       /**
+        * Some DBMSs return a special placeholder object representing blob fields
+        * in result objects. Pass the object through this function to return the
+        * original string.
+        *
+        * @param string|Blob $b
+        * @return string
+        */
+       public function decodeBlob( $b );
+
+       /**
+        * Override database's default behavior. $options include:
+        *     'connTimeout' : Set the connection timeout value in seconds.
+        *                     May be useful for very long batch queries such as
+        *                     full-wiki dumps, where a single query reads out over
+        *                     hours or days.
+        *
+        * @param array $options
+        * @return void
+        */
+       public function setSessionOptions( array $options );
+
+       /**
+        * Set variables to be used in sourceFile/sourceStream, in preference to the
+        * ones in $GLOBALS. If an array is set here, $GLOBALS will not be used at
+        * all. If it's set to false, $GLOBALS will be used.
+        *
+        * @param bool|array $vars Mapping variable name to value.
+        */
+       public function setSchemaVars( $vars );
+
+       /**
+        * Check to see if a named lock is available (non-blocking)
+        *
+        * @param string $lockName Name of lock to poll
+        * @param string $method Name of method calling us
+        * @return bool
+        * @since 1.20
+        */
+       public function lockIsFree( $lockName, $method );
+
+       /**
+        * Acquire a named lock
+        *
+        * Named locks are not related to transactions
+        *
+        * @param string $lockName Name of lock to aquire
+        * @param string $method Name of method calling us
+        * @param int $timeout
+        * @return bool
+        */
+       public function lock( $lockName, $method, $timeout = 5 );
+
+       /**
+        * Release a lock
+        *
+        * Named locks are not related to transactions
+        *
+        * @param string $lockName Name of lock to release
+        * @param string $method Name of method calling us
+        *
+        * @return int Returns 1 if the lock was released, 0 if the lock was not established
+        * by this thread (in which case the lock is not released), and NULL if the named
+        * lock did not exist
+        */
+       public function unlock( $lockName, $method );
+
+       /**
+        * Check to see if a named lock used by lock() use blocking queues
+        *
+        * @return bool
+        * @since 1.26
+        */
+       public function namedLocksEnqueue();
+
+       /**
+        * Find out when 'infinity' is. Most DBMSes support this. This is a special
+        * keyword for timestamps in PostgreSQL, and works with CHAR(14) as well
+        * because "i" sorts after all numbers.
+        *
+        * @return string
+        */
+       public function getInfinity();
+
+       /**
+        * Encode an expiry time into the DBMS dependent format
+        *
+        * @param string $expiry Timestamp for expiry, or the 'infinity' string
+        * @return string
+        */
+       public function encodeExpiry( $expiry );
+
+       /**
+        * Decode an expiry time into a DBMS independent format
+        *
+        * @param string $expiry DB timestamp field value for expiry
+        * @param int $format TS_* constant, defaults to TS_MW
+        * @return string
+        */
+       public function decodeExpiry( $expiry, $format = TS_MW );
+
+       /**
+        * Allow or deny "big selects" for this session only. This is done by setting
+        * the sql_big_selects session variable.
+        *
+        * This is a MySQL-specific feature.
+        *
+        * @param bool|string $value True for allow, false for deny, or "default" to
+        *   restore the initial value
+        */
+       public function setBigSelects( $value = true );
+}
index 7dc2da0..01d2f95 100644 (file)
@@ -166,6 +166,6 @@ class LoadMonitorMySQL implements LoadMonitor {
 
        private function getLagTimeCacheKey() {
                # Lag is per-server, not per-DB, so key on the master DB name
-               return wfForeignMemcKey( $this->parent->getServerName( 0 ), '', 'lag_times' );
+               return wfGlobalCacheKey( 'lag-times', $this->parent->getServerName( 0 ) );
        }
 }
index 7d2d831..e4b07b8 100644 (file)
@@ -1364,19 +1364,38 @@ abstract class FileBackendStore extends FileBackend {
        abstract protected function directoriesAreVirtual();
 
        /**
-        * Check if a container name is valid.
+        * Check if a short container name is valid
+        *
+        * This checks for length and illegal characters.
+        * This may disallow certain characters that can appear
+        * in the prefix used to make the full container name.
+        *
+        * @param string $container
+        * @return bool
+        */
+       final protected static function isValidShortContainerName( $container ) {
+               // Suffixes like '.xxx' (hex shard chars) or '.seg' (file segments)
+               // might be used by subclasses. Reserve the dot character for sanity.
+               // The only way dots end up in containers (e.g. resolveStoragePath)
+               // is due to the wikiId container prefix or the above suffixes.
+               return self::isValidContainerName( $container ) && !preg_match( '/[.]/', $container );
+       }
+
+       /**
+        * Check if a full container name is valid
+        *
         * This checks for length and illegal characters.
+        * Limiting the characters makes migrations to other stores easier.
         *
         * @param string $container
         * @return bool
         */
        final protected static function isValidContainerName( $container ) {
-               // This accounts for Swift and S3 restrictions while leaving room
-               // for things like '.xxx' (hex shard chars) or '.seg' (segments).
-               // This disallows directory separators or traversal characters.
+               // This accounts for NTFS, Swift, and Ceph restrictions
+               // and disallows directory separators or traversal characters.
                // Note that matching strings URL encode to the same string;
-               // in Swift, the length restriction is *after* URL encoding.
-               return preg_match( '/^[a-z0-9][a-z0-9-_]{0,199}$/i', $container );
+               // in Swift/Ceph, the length restriction is *after* URL encoding.
+               return (bool)preg_match( '/^[a-z0-9][a-z0-9-_.]{0,199}$/i', $container );
        }
 
        /**
@@ -1393,17 +1412,17 @@ abstract class FileBackendStore extends FileBackend {
         * @return array (container, path, container suffix) or (null, null, null) if invalid
         */
        final protected function resolveStoragePath( $storagePath ) {
-               list( $backend, $container, $relPath ) = self::splitStoragePath( $storagePath );
+               list( $backend, $shortCont, $relPath ) = self::splitStoragePath( $storagePath );
                if ( $backend === $this->name ) { // must be for this backend
                        $relPath = self::normalizeContainerPath( $relPath );
-                       if ( $relPath !== null ) {
+                       if ( $relPath !== null && self::isValidShortContainerName( $shortCont ) ) {
                                // Get shard for the normalized path if this container is sharded
-                               $cShard = $this->getContainerShard( $container, $relPath );
+                               $cShard = $this->getContainerShard( $shortCont, $relPath );
                                // Validate and sanitize the relative path (backend-specific)
-                               $relPath = $this->resolveContainerPath( $container, $relPath );
+                               $relPath = $this->resolveContainerPath( $shortCont, $relPath );
                                if ( $relPath !== null ) {
                                        // Prepend any wiki ID prefix to the container name
-                                       $container = $this->fullContainerName( $container );
+                                       $container = $this->fullContainerName( $shortCont );
                                        if ( self::isValidContainerName( $container ) ) {
                                                // Validate and sanitize the container name (backend-specific)
                                                $container = $this->resolveContainerName( "{$container}{$cShard}" );
index e66fdaf..82bbd76 100644 (file)
@@ -431,16 +431,18 @@ class FileRepo {
                # Now try an old version of the file
                if ( $time !== false ) {
                        $img = $this->newFile( $title, $time );
-                       $img->load( $flags );
-                       if ( $img && $img->exists() ) {
-                               if ( !$img->isDeleted( File::DELETED_FILE ) ) {
-                                       return $img; // always OK
-                               } elseif ( !empty( $options['private'] ) &&
-                                       $img->userCan( File::DELETED_FILE,
-                                               $options['private'] instanceof User ? $options['private'] : null
-                                       )
-                               ) {
-                                       return $img;
+                       if ( $img ) {
+                               $img->load( $flags );
+                               if ( $img->exists() ) {
+                                       if ( !$img->isDeleted( File::DELETED_FILE ) ) {
+                                               return $img; // always OK
+                                       } elseif ( !empty( $options['private'] ) &&
+                                               $img->userCan( File::DELETED_FILE,
+                                                       $options['private'] instanceof User ? $options['private'] : null
+                                               )
+                                       ) {
+                                               return $img;
+                                       }
                                }
                        }
                }
@@ -452,10 +454,10 @@ class FileRepo {
                $redir = $this->checkRedirect( $title );
                if ( $redir && $title->getNamespace() == NS_FILE ) {
                        $img = $this->newFile( $redir );
-                       $img->load( $flags );
                        if ( !$img ) {
                                return false;
                        }
+                       $img->load( $flags );
                        if ( $img->exists() ) {
                                $img->redirectedFrom( $title->getDBkey() );
 
index ef402ea..800a230 100644 (file)
@@ -285,7 +285,7 @@ class LocalRepo extends FileRepo {
                                $file = $that->newFileFromRow( $row );
                                // There must have been a search for this DB key, but this has to handle the
                                // cases were title capitalization is different on the client and repo wikis.
-                               $dbKeysLook = array( str_replace( ' ', '_', $file->getName() ) );
+                               $dbKeysLook = array( strtr( $file->getName(), ' ', '_' ) );
                                if ( !empty( $info['initialCapital'] ) ) {
                                        // Search keys for "hi.png" and "Hi.png" should use the "Hi.png file"
                                        $dbKeysLook[] = $wgContLang->lcfirst( $file->getName() );
index 52a49dd..821c85f 100644 (file)
@@ -21,8 +21,8 @@
  */
 
 class PackedImageGallery extends TraditionalImageGallery {
-       function __construct( $mode = 'traditional' ) {
-               parent::__construct( $mode );
+       function __construct( $mode = 'traditional', IContextSource $context = null ) {
+               parent::__construct( $mode, $context );
                // Does not support per row option.
                $this->mPerRow = 0;
        }
index afd7cf6..8d7aec3 100644 (file)
@@ -21,8 +21,20 @@ class HTMLButtonField extends HTMLFormField {
        }
 
        public function getInputHTML( $value ) {
+               $flags = '';
+               $prefix = 'mw-htmlform-';
+               if ( $this->mParent instanceof VFormHTMLForm ||
+                       $this->mParent->getConfig()->get( 'UseMediaWikiUIEverywhere' )
+               ) {
+                       $prefix = 'mw-ui-';
+                       // add mw-ui-button separately, so the descriptor doesn't need to set it
+                       $flags .= $prefix.'button';
+               }
+               foreach ( $this->mFlags as $flag ) {
+                       $flags .= ' ' . $prefix . $flag;
+               }
                $attr = array(
-                       'class' => 'mw-htmlform-submit ' . $this->mClass,
+                       'class' => 'mw-htmlform-submit ' . $this->mClass . $flags,
                        'id' => $this->mID,
                ) + $this->getAttributes( array( 'disabled', 'tabindex' ) );
 
index 702651e..43cac88 100644 (file)
@@ -869,7 +869,8 @@ class HTMLForm extends ContextSource {
 
                $html = ''
                        . $this->getErrors( $submitResult )
-                       . $this->mHeader
+                       // In OOUI forms, we handle mHeader elsewhere. FIXME This is horrible.
+                       . ( $this->getDisplayFormat() === 'ooui' ? '' : $this->mHeader )
                        . $this->getBody()
                        . $this->getHiddenFields()
                        . $this->getButtons()
@@ -893,7 +894,6 @@ class HTMLForm extends ContextSource {
                $attribs = array(
                        'action' => $this->getAction(),
                        'method' => $this->getMethod(),
-                       'class' => array( 'visualClear' ),
                        'enctype' => $encType,
                );
                if ( !empty( $this->mId ) ) {
@@ -912,10 +912,11 @@ class HTMLForm extends ContextSource {
        function wrapForm( $html ) {
                # Include a <fieldset> wrapper for style, if requested.
                if ( $this->mWrapperLegend !== false ) {
-                       $html = Xml::fieldset( $this->mWrapperLegend, $html );
+                       $legend = is_string( $this->mWrapperLegend ) ? $this->mWrapperLegend : false;
+                       $html = Xml::fieldset( $legend, $html );
                }
 
-               return Html::rawElement( 'form', $this->getFormAttributes(), $html );
+               return Html::rawElement( 'form', $this->getFormAttributes() + array( 'class' => 'visualClear' ), $html );
        }
 
        /**
@@ -1219,9 +1220,10 @@ class HTMLForm extends ContextSource {
         * Prompt the whole form to be wrapped in a "<fieldset>", with
         * this text as its "<legend>" element.
         *
-        * @param string|bool $legend HTML to go inside the "<legend>" element, or
-        * false for no <legend>
-        *     Will be escaped
+        * @param string|bool $legend If false, no wrapper or legend will be displayed.
+        *     If true, a wrapper will be displayed, but no legend.
+        *     If a string, a wrapper will be displayed with that string as a legend.
+        *     The string will be escaped before being output (this doesn't support HTML).
         *
         * @return HTMLForm $this for chaining calls (since 1.20)
         */
@@ -1409,19 +1411,26 @@ class HTMLForm extends ContextSource {
                                if ( $sectionName ) {
                                        $config['id'] = Sanitizer::escapeId( $sectionName );
                                }
+                               if ( is_string( $this->mWrapperLegend ) ) {
+                                       $config['label'] = $this->mWrapperLegend;
+                               }
                                $fieldset = new OOUI\FieldsetLayout( $config );
                                // Ewww. We should pass this as $config['items'], but there might be string snippets.
                                $fieldset->group->appendContent( new OOUI\HtmlSnippet( $html ) );
-                               $html = $fieldset->toString();
+                               $html = $fieldset;
                        } else {
                                $html = Html::rawElement( 'div', $attribs, "\n$html\n" );
                        }
                }
 
-               if ( $this->mSubSectionBeforeFields ) {
-                       return $subsectionHtml . "\n" . $html;
+               if ( $subsectionHtml ) {
+                       if ( $this->mSubSectionBeforeFields ) {
+                               return $subsectionHtml . "\n" . $html;
+                       } else {
+                               return $html . "\n" . $subsectionHtml;
+                       }
                } else {
-                       return $html . "\n" . $subsectionHtml;
+                       return $html;
                }
        }
 
index b2ec9ca..dfab6cf 100644 (file)
@@ -3,13 +3,16 @@
  * Wrapper for Html::namespaceSelector to use in HTMLForm
  */
 class HTMLSelectNamespace extends HTMLFormField {
-       function getInputHTML( $value ) {
-               $allValue = ( isset( $this->mParams['all'] ) ? $this->mParams['all'] : 'all' );
+       public function __construct( $params ) {
+               parent::__construct( $params );
+               $this->mAllValue = isset( $this->mParams['all'] ) ? $this->mParams['all'] : 'all';
+       }
 
+       function getInputHTML( $value ) {
                return Html::namespaceSelector(
                        array(
                                'selected' => $value,
-                               'all' => $allValue
+                               'all' => $this->mAllValue
                        ), array(
                                'name' => $this->mName,
                                'id' => $this->mID,
@@ -17,4 +20,23 @@ class HTMLSelectNamespace extends HTMLFormField {
                        )
                );
        }
+
+       public function getInputOOUI( $value ) {
+               $namespaceOptions = Html::namespaceSelectorOptions( array( 'all' => $this->mAllValue ) );
+
+               $options = array();
+               foreach( $namespaceOptions as $id => $name ) {
+                       $options[] = array(
+                               'data' => (string)$id,
+                               'label' => $name,
+                       );
+               };
+
+               return new OOUI\DropdownInputWidget( array(
+                       'options' => $options,
+                       'value' => $value,
+                       'name' => $this->mName,
+                       'id' => $this->mID,
+               ) );
+       }
 }
index 80e91f7..fe2f26e 100644 (file)
  * Compact stacked vertical format for forms, implemented using OOUI widgets.
  */
 class OOUIHTMLForm extends HTMLForm {
-       /**
-        * Wrapper and its legend are never generated in OOUI mode.
-        * @var boolean
-        */
-       protected $mWrapperLegend = false;
-
        public function __construct( $descriptor, $context = null, $messagePrefix = '' ) {
                parent::__construct( $descriptor, $context, $messagePrefix );
                $this->getOutput()->enableOOUI();
@@ -110,23 +104,30 @@ class OOUIHTMLForm extends HTMLForm {
                return $html;
        }
 
-       function getFormAttributes() {
-               $attribs = parent::getFormAttributes();
-               if ( !isset( $attribs['class'] ) ) {
-                       $attribs['class'] = '';
+       function getBody() {
+               $fieldset = parent::getBody();
+               // FIXME This only works for forms with no subsections
+               if ( $fieldset instanceof OOUI\FieldsetLayout ) {
+                       $fieldset->group->prependContent( new OOUI\HtmlSnippet( $this->mHeader ) );
                }
-
-               if ( is_string( $attribs['class'] ) ) {
-                       $attribs['class'] = trim( $attribs['class'] . ' mw-htmlform-ooui' );
-               } else {
-                       $attribs['class'][] = 'mw-htmlform-ooui';
-               }
-
-               return $attribs;
+               return $fieldset;
        }
 
        function wrapForm( $html ) {
-               // Always discard $this->mWrapperLegend
-               return Html::rawElement( 'form', $this->getFormAttributes(), $html );
+               $form = new OOUI\FormLayout( $this->getFormAttributes() + array(
+                       'classes' => array( 'mw-htmlform-ooui' ),
+                       'content' => new OOUI\HtmlSnippet( $html ),
+               ) );
+
+               // Include a wrapper for style, if requested.
+               $form = new OOUI\PanelLayout( array(
+                       'classes' => array( 'mw-htmlform-ooui-wrapper' ),
+                       'expanded' => false,
+                       'padded' => $this->mWrapperLegend !== false,
+                       'framed' => $this->mWrapperLegend !== false,
+                       'content' => $form,
+               ) );
+
+               return $form;
        }
 }
index f1fd05d..c544f16 100644 (file)
@@ -65,7 +65,7 @@ class VFormHTMLForm extends HTMLForm {
 
        protected function getFormAttributes() {
                $attribs = parent::getFormAttributes();
-               array_push( $attribs['class'], 'mw-ui-vform', 'mw-ui-container' );
+               $attribs['class'] = array( 'mw-ui-vform', 'mw-ui-container', 'visualClear' );
                return $attribs;
        }
 
index f40de71..f7910ba 100644 (file)
@@ -833,6 +833,8 @@ class WebInstallerName extends WebInstallerPage {
         * @return bool
         */
        public function submit() {
+               global $wgPasswordPolicy;
+
                $retVal = true;
                $this->parent->setVarsFromRequest( array( 'wgSitename', '_NamespaceType',
                        '_AdminName', '_AdminPassword', '_AdminPasswordConfirm', '_AdminEmail',
@@ -909,7 +911,8 @@ class WebInstallerName extends WebInstallerPage {
                $pwd = $this->getVar( '_AdminPassword' );
                $user = User::newFromName( $cname );
                if ( $user ) {
-                       $valid = $user->getPasswordValidity( $pwd );
+                       $status = $user->checkPasswordValidity( $pwd, 'create' );
+                       $valid = $status->isGood() ? true : $status->getMessage()->escaped();
                } else {
                        $valid = 'config-admin-name-invalid';
                }
index c43f356..201ef71 100644 (file)
@@ -55,6 +55,7 @@
        "config-db-wiki-settings": "حدِّد هذا الويكي",
        "config-db-name": "اسم قاعدة البيانات",
        "config-db-name-oracle": "سكيما قاعدة البيانات:",
+       "config-db-install-account": "حساب المستخدم للتنصيب",
        "config-db-username": "اسم مستخدم قاعدة البيانات:",
        "config-db-password": "كلمة سر قاعدة البيانات:",
        "config-db-prefix": "بادئة جدول قاعدة البيانات:",
index 4d4522c..92a1440 100644 (file)
@@ -3,15 +3,19 @@
                "authors": [
                        "CERminator",
                        "Palapa",
-                       "Emir Mujadzic"
+                       "Emir Mujadzic",
+                       "Semso98"
                ]
        },
        "config-desc": "Instalacija za MediaWiki",
        "config-title": "MediaWiki $1 instalacija",
        "config-information": "Informacija",
        "config-localsettings-upgrade": "Otkrivena je datoteka <code>LocalSettings.php</code>.\nDa biste unaprijedili vaš softver, molimo vas upišite vrijednost od <code>$wgUpgradeKey</code> u okvir ispod.\nNaći ćete ga u <code>LocalSettings.php</code>.",
+       "config-localsettings-cli-upgrade": "Datoteka <code>LocalSettings.php</code> file je otkrivena.\nZa nadogradnju ove instalacije, molimo da pokrenete <code>update.php</code> umjesto toga",
        "config-localsettings-key": "Ključ za nadgradnju:",
        "config-localsettings-badkey": "Ključ koji ste dali je pogrešan.",
+       "config-upgrade-key-missing": "Postojeća instalacije MediaWiki je pronađena.\nZa nadogradnju ove instalacije, molimo da stavite sljedeće liniju na dno vašeg <code>LocalSettings.php</code>:\n\n$1",
+       "config-localsettings-incomplete": "Postojeći <code>LocalSettings.php</code> se čini da je nepotpun.\nVarijabla $1 nije podešena.\nMolimo da zamjenite <code>LocalSettings.php</code> tako da je varijabla podešena, i kliknite \"{{int:Config-continue}}\".",
        "config-session-error": "Greška pri pokretanju sesije: $1",
        "config-no-session": "Vaši podaci sesije su izgubljeni!\nProvjerite vaš php.ini i provjerite da li je <code>session.save_path</code> postavljen na pravilni direktorijum.",
        "config-your-language": "Vaš jezik:",
index 1bd12bb..0c69d27 100644 (file)
@@ -4,7 +4,11 @@
                        "ОйЛ"
                ]
        },
+       "config-information": "плирофорїꙗ",
+       "config-your-language": "твои ѩꙁꙑкъ :",
        "config-page-language": "ѩꙁꙑкъ",
        "config-page-name": "имѧ",
+       "config-page-options": "строи",
+       "config-page-complete": "ꙁаврьшєно ѥстъ",
        "config-help": "помощь"
 }
index da5d93f..97daf08 100644 (file)
        "config-dbsupport-postgres": "[{{int:version-db-postgres-url}} PostgreSQL] es un sistema de base de datos popular de código abierto, alternativa a MySQL. Pueden haber algunos fallos menores destacables, y no es recomendable para su uso en un entorno de producción. ([http://www.php.net/manual/es/pgsql.installation.php Cómo compilar PHP con compatibilidad PostgreSQL]).",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] es un sistema de base de datos ligero con gran compatibilidad con MediaWiki. ([http://www.php.net/manual/es/pdo.installation.php Cómo compilar PHP con compatibilidad SQLite], usando PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] es una base de datos comercial a nivel empresarial. ([http://www.php.net/manual/es/oci8.installation.php Cómo compilar PHP con compatibilidad con OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-oracle-url}} Oracle] es una base de datos comercial a nivel empresarial. ([http://www.php.net/manual/es/oci8.installation.php Cómo compilar PHP con compatibilidad con OCI8])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] es una base de datos comercial a nivel empresarial para Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Cómo compilar PHP con soporte para SQLSRV])",
        "config-header-mysql": "Configuración de MySQL",
        "config-header-postgres": "Configuración de PostgreSQL",
        "config-header-sqlite": "Configuración de SQLite",
        "config-mysql-charset-help": "En '''modo binario''', MediaWiki almacena texto UTF-8 para la base de datos en campos binarios.\nEsto es más eficiente que el modo UTF-8 de MySQL y le permite utilizar la gama completa de caracteres Unicode.\n\nEn '''modo UTF-8''', MySQL sabrá qué conjunto de caracteres emplean sus datos y puede presentarlos y convertirlos adecuadamente, pero no le permitirá almacenar caracteres por encima del [//en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes plano multilingüe básico].",
        "config-mssql-auth": "Tipo de autenticación:",
        "config-mssql-install-auth": "Seleccione el tipo de autenticación que se utilizará para conectarse a la base de datos durante el proceso de instalación.\nSi selecciona \"{{int:config-mssql-windowsauth}}\", las credenciales de cualquier usuario de el servidor web que se está ejecutando van a ser utilizadas.",
-       "config-mssql-web-auth": "Seleccione el tipo de autenticación que utilizará el servidor web para conectarse al servidor de base de datos, durante el funcionamiento normal de la wiki.\nSi selecciona \"{{int:config-mssql-windowsauth}}\", las credenciales del usuario que sea cual sea el servidor Web se ejecuta como será utilizado.",
+       "config-mssql-web-auth": "Selecciona el tipo de autenticación que utilizará el servidor web para conectarse al servidor de base de datos, durante el funcionamiento normal de la wiki.\nSi seleccionas \"{{int:config-mssql-windowsauth}}\", se usarán las credenciales del usuario con el cual se ejecuta el servidor web.",
        "config-mssql-sqlauth": "Autenticación de SQL Server",
        "config-mssql-windowsauth": "Autentificación de Windows",
        "config-site-name": "Nombre del wiki:",
index 849a517..3b4c49b 100644 (file)
@@ -13,7 +13,7 @@
        "config-localsettings-upgrade": "Detectouse un ficheiro <code>LocalSettings.php</code>.\nPara actualizar esta instalación, introduza o valor de <code>$wgUpgradeKey</code> na caixa.\nPode atopalo en <code>LocalSettings.php</code>.",
        "config-localsettings-cli-upgrade": "Detectouse un ficheiro <code>LocalSettings.php</code>.\nPara actualizar esta instalación, execute <code>update.php</code>",
        "config-localsettings-key": "Clave de actualización:",
-       "config-localsettings-badkey": "A clave dada é incorrecta",
+       "config-localsettings-badkey": "A clave dada é incorrecta.",
        "config-upgrade-key-missing": "Detectouse unha instalación existente de MediaWiki.\nPara actualizar esta instalación, inclúa esta liña ao final do ficheiro <code>LocalSettings.php</code>:\n\n$1",
        "config-localsettings-incomplete": "Semella que o ficheiro <code>LocalSettings.php</code> existente está incompleto.\nA variable $1 non está establecida.\nModifique o ficheiro <code>LocalSettings.php</code> de xeito que a variable quede establecida e prema en \"{{int:Config-continue}}\".",
        "config-localsettings-connection-error": "Atopouse un erro ao conectar coa base de datos empregando a configuración especificada no ficheiro <code>LocalSettings.php</code>. Corrixa esta configuración e inténteo de novo.\n\n$1",
index b9aab3a..da632ac 100644 (file)
@@ -11,7 +11,8 @@
                        "Ontsed",
                        "Seb35",
                        "Nemo bis",
-                       "Ricordisamoa"
+                       "Ricordisamoa",
+                       "Fpugliajno"
                ]
        },
        "config-desc": "Il programma di installazione per MediaWiki",
@@ -57,7 +58,6 @@
        "config-env-bad": "L'ambiente è stato controllato.\nNon è possibile installare MediaWiki.",
        "config-env-php": "PHP $1 è installato.",
        "config-env-hhvm": "HHVM $1 è installato.",
-       "config-unicode-using-utf8": "Usa Brion Vibber's utf8_normalize.so per la normalizzazione Unicode.",
        "config-unicode-using-intl": "Usa [http://pecl.php.net/intl l'estensione PECL intl] per la normalizzazione Unicode.",
        "config-unicode-pure-php-warning": "'''Attenzione:''' [http://pecl.php.net/intl l'estensione PECL intl] non è disponibile per gestire la normalizzazione Unicode, così si usa la lenta implementazione in puro PHP.\nSe esegui un sito ad alto traffico, dovresti leggere alcune considerazioni sulla [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations normalizzazione Unicode].",
        "config-unicode-update-warning": "'''Attenzione:''' La versione installata del gestore per la normalizzazione Unicode usa una vecchia versione della libreria [http://site.icu-project.org/ del progetto ICU].\nDovresti [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations aggiornare] se ti interessa usare l'Unicode.",
@@ -70,7 +70,7 @@
        "config-magic-quotes-sybase": "'''Errore: [http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-sybase magic_quotes_sybase] è attivato!''' Questa opzione interferisce in modo imprevedibile con l'inserimento dei dati. Non è possibile installare o utilizzare MediaWiki a meno che questa opzione non sia disabilitata.",
        "config-mbstring": "'''Errore: [http://www.php.net/manual/en/ref.mbstring.php#mbstring.overload mbstring.func_overload] è attivato!''' Questa opzione causa errori e può interferire in modo imprevedibile coi dati. Non è possibile installare o utilizzare MediaWiki a meno che questa opzione non sia disabilitata.",
        "config-safe-mode": "'''Attenzione:''' [http://www.php.net/features.safe-mode safe mode] è attivato!\nQuesta opzione potrebbe causare problemi, in particolare nel caricamento di documenti e nel supporto delle funzioni <code>math</code>.",
-       "config-xml-bad": "Il modulo XML di PHP è mancante.\nMediaWIki necessita di funzioni presenti in questo modulo e non funzionerà con la configurazione corrente.\nSe si sta eseguendo Mandrake, installare il paccketto php-xml.",
+       "config-xml-bad": "Manca il modulo XML di PHP.\nMediaWIki ha bisogno di funzionalità presenti in questo modulo e non funzionerà con la configurazione corrente.\nSe stai eseguendo Mandrake, installa il paccketto php-xml.",
        "config-pcre-old": "<strong>Errore fatale:</strong> si richiede PCRE  $1 o successivo.\nIl tuo file binario PHP è collegato con PCRE $2.\n[https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms/Maggiori informazioni su PCRE].",
        "config-pcre-no-utf8": "'''Errore''': Il modulo PCRE di PHP sembra essere stato compilato senza il supporto PCRE_UTF8, ma MediaWiki lo richiede per funzionare correttamente.",
        "config-memory-raised": "Il valore <code>memory_limit</code> di PHP è $1, aumentato a $2.",
index 8990b8a..75246dc 100644 (file)
        "config-db-password": "Et Paßwoot vun däm Aanwender för dä Zohjref op de Daatebangk:",
        "config-db-password-empty": "Jiv e Paßwoot aan, för dä neue Aanwender för dä Zohjref op de Daatebangk, $1.\nEd es zwa müjjelesch, Aanwender för dä Zohjref op de Daatebangk der ohne e Paßwoot aanzelääje,\nävver dat wöhr en schwere Jevah för de Sescherheit vum Wiki.",
        "config-db-username-empty": "Do moß jäd aanjävve för \"{{int:config-db-username}}\".",
-       "config-db-install-username": "Jiv ene Name aan för dä Aanwender för dä Zohjref op de Daatebangk beim Enshtalleere.\nDat es keine Metmaacher_Name em Wiki — heh dä Name es alleins en der Daatebangk bikannt.",
+       "config-db-install-username": "Jiv ene Nahme aan för dä Aanwender för dä Zohjref op de Datebangk beim Enshtallehre.\nDat es keine Metmaacher_Nahme em Wikki — heh dä Nahme es alleins en der Dahtebangk bikannt.",
        "config-db-install-password": "Jiv e Paßwoot aan för dä Aanwender för dä Zohjref op de Daatebangk beim Enshtalleere.\nDat es kei Paßwoot för ene Metmaacher em Wiki — et es alleins en der Daatebangk bikannt.",
        "config-db-install-help": "Donn dä Name un et Paßwoot vun däm Aanwänder för der Zohjreff op de Daatebangk jäz för et Enreeshte aanjävve.",
        "config-db-account-lock": "Donn dersälve Name un et sälve Paßwoot för der nomaale Bedrief vum Wiki bruche",
        "config-ns-invalid": "Dat aanjejovve Appachtemang „<nowiki>$1</nowiki>“ es nit jöltesch.\nNemm ene andere Name för däm Wiki sing eije Appachtemang.",
        "config-ns-conflict": "Dat aanjejovve Appachtemang „<nowiki>$1</nowiki>“ kütt ald als Standatt-Appachtemang em MediaWiki vör.\nNemm ene andere Name för däm Wiki sing eije Appachtemang.",
        "config-admin-box": "Der Zohjang för der eezte Wiki_Köbes",
-       "config-admin-name": "Dinge Metmaacher_Name:",
+       "config-admin-name": "Dinge Metmaacher_Nahme:",
        "config-admin-password": "Et Paßwoot:",
        "config-admin-password-confirm": "Norrens dat Paßwoot:",
        "config-admin-help": "Jif Dinge leevste Name als Metmaacher för Desch aan, för e Beishpell „Schmitzens Pitter“\n— Dat weed dä Name wääde, met dämm De Desch enlogge deihs.",
-       "config-admin-name-blank": "Jiv ene Metmaacher_Name en för dä Wiki-Köbes.",
-       "config-admin-name-invalid": "„<nowiki>$1</nowiki>“ es keine jöltijje Metmaacher_Name.\nJiv ene joode Name en!",
+       "config-admin-name-blank": "Jiv ene Metmaacher_Nahme en för dä Wikki-Köhbes.",
+       "config-admin-name-invalid": "„<nowiki>$1</nowiki>“ es keine jöltijje Metmaacher_Nahme.\nJiv ene johde Nahme en!",
        "config-admin-password-blank": "Do mos_e Paßwoot för dä Wiki_Köbes aanjävve!",
        "config-admin-password-mismatch": "Di Paßwööter sin ongerscheidlesh!",
        "config-admin-email": "Addräß för de <i lang=\"en\">e-mail</i>:",
index 795bacd..8f2a0fd 100644 (file)
        "config-db-name": "د توکبنسټ نوم:",
        "config-db-username": "د توکبنسټ کارن-نوم:",
        "config-db-password": "د توکبنسټ پټنوم:",
+       "config-charset-mysql5-binary": "مای اس کيو ال 4.1/5.0 دوييز",
+       "config-charset-mysql5": "مای اس کيو ال 4.1/5.0 يو ټي اف-8",
+       "config-db-port": "د توکبنسټ ور:",
+       "config-db-schema": "د مېډياويکي طرحه:",
        "config-type-mssql": "مايکروسافټ SQL پالنگر",
        "config-header-mysql": "د MySQL امستنې",
        "config-header-postgres": "د PostgreSQL امستنې",
        "config-header-mssql": "د مايکروسافټ SQL پالنگر امستنې",
        "config-sqlite-readonly": "د <code>$1</code> دوتنه د ليکلو وړ نه ده.",
        "config-sqlite-cant-create-db": "د توکبنسټ دوتنه <code>$1</code> جوړه نه شوه.",
+       "config-mysql-binary": "دوه ايز",
        "config-mysql-utf8": "UTF-8",
        "config-site-name": "د ويکي نوم:",
        "config-site-name-blank": "د وېبځي نوم وليکۍ.",
        "config-project-namespace": "د پروژې نوم-تشيال:",
        "config-ns-generic": "پروژه",
+       "config-ns-site-name": "ويکي نوم ته ورته: $1",
        "config-ns-other": "بل (ځانگړی کړئ)",
        "config-ns-other-default": "زما ويکي",
        "config-admin-box": "د پازوال گڼون",
index 913aea0..69a3def 100644 (file)
@@ -94,7 +94,7 @@ abstract class JobQueue {
         *                  This might be useful for improving concurrency for job acquisition.
         *   - claimTTL   : If supported, the queue will recycle jobs that have been popped
         *                  but not acknowledged as completed after this many seconds. Recycling
-        *                  of jobs simple means re-inserting them into the queue. Jobs can be
+        *                  of jobs simply means re-inserting them into the queue. Jobs can be
         *                  attempted up to three times before being discarded.
         *
         * Queue classes should throw an exception if they do not support the options given.
index e86d914..d6fa26b 100644 (file)
@@ -75,11 +75,13 @@ class RecentChangesUpdateJob extends Job {
                $lockKey = wfWikiID() . ':recentchanges-prune';
 
                $dbw = wfGetDB( DB_MASTER );
-               if ( !$dbw->lock( $lockKey, __METHOD__, 1 ) ) {
+               if ( !$dbw->lockIsFree( $lockKey, __METHOD__ )
+                       || !$dbw->lock( $lockKey, __METHOD__, 1 )
+               ) {
                        return; // already in progress
                }
-               $batchSize = 100; // Avoid slave lag
 
+               $batchSize = 100; // avoid slave lag
                $cutoff = $dbw->timestamp( time() - $wgRCMaxAge );
                do {
                        $rcIds = $dbw->selectFieldValues( 'recentchanges',
index 0caf90b..192b119 100644 (file)
@@ -39,11 +39,28 @@ class BufferingStatsdDataFactory extends StatsdDataFactory {
                $this->prefix = $prefix;
        }
 
+       /**
+        * Normalize a metric key for StatsD
+        *
+        * Replace occurences of '::' with dots and any other non-alphabetic
+        * characters with underscores. Combine runs of dots or underscores.
+        * Then trim leading or trailing dots or underscores.
+        *
+        * @param string $key
+        * @since 1.26
+        */
+       private static function normalizeMetricKey( $key ) {
+               $key = preg_replace( '/[:.]+/', '.', $key );
+               $key = preg_replace( '/[^a-z.]+/i', '_', $key );
+               $key = trim( $key, '_.' );
+               return str_replace( array( '._', '_.' ), '.', $key );
+       }
+
        public function produceStatsdData( $key, $value = 1, $metric = StatsdDataInterface::STATSD_METRIC_COUNT ) {
                $entity = $this->produceStatsdDataEntity();
                if ( $key !== null ) {
-                       $prefixedKey = ltrim( $this->prefix . '.' . $key, '.' );
-                       $entity->setKey( $prefixedKey );
+                       $key = self::normalizeMetricKey( "{$this->prefix}.{$key}" );
+                       $entity->setKey( $key );
                }
                if ( $value !== null ) {
                        $entity->setValue( $value );
index f5d5229..aa0cc46 100644 (file)
@@ -189,6 +189,7 @@ class MultiHttpClient {
 
                // @TODO: use a per-host rolling handle window (e.g. CURLMOPT_MAX_HOST_CONNECTIONS)
                $batches = array_chunk( $indexes, $this->maxConnsPerHost );
+               $infos = array();
 
                foreach ( $batches as $batch ) {
                        // Attach all cURL handles for this batch
@@ -201,6 +202,10 @@ class MultiHttpClient {
                                // Do any available work...
                                do {
                                        $mrc = curl_multi_exec( $chm, $active );
+                                       $info = curl_multi_info_read( $chm );
+                                       if ( $info !== false ) {
+                                               $infos[(int)$info['handle']] = $info;
+                                       }
                                } while ( $mrc == CURLM_CALL_MULTI_PERFORM );
                                // Wait (if possible) for available work...
                                if ( $active > 0 && $mrc == CURLM_OK ) {
@@ -216,10 +221,18 @@ class MultiHttpClient {
                foreach ( $reqs as $index => &$req ) {
                        $ch = $handles[$index];
                        curl_multi_remove_handle( $chm, $ch );
-                       if ( curl_errno( $ch ) !== 0 ) {
-                               $req['response']['error'] = "(curl error: " .
-                                       curl_errno( $ch ) . ") " . curl_error( $ch );
+
+                       $info = $infos[(int)$ch];
+
+                       $errno = $info['result'];
+                       if ( $errno !== 0 ) {
+                               $req['response']['error'] = "(curl error: $errno)";
+
+                               if ( version_compare( PHP_VERSION, '5.5.0' ) >= 0 ) {
+                                       $req['response']['error'] .= " " . curl_strerror( $errno );
+                               }
                        }
+
                        // For convenience with the list() operator
                        $req['response'][0] = $req['response']['code'];
                        $req['response'][1] = $req['response']['reason'];
index c32efb9..e8837b3 100644 (file)
@@ -300,8 +300,10 @@ class WANObjectCache {
 
                $time = self::parsePurgeValue( $this->cache->get( $key ) );
                if ( $time === false ) {
-                       $time = microtime( true );
+                       // Casting assures identical floats for the next getCheckKeyTime() calls
+                       $time = (string)microtime( true );
                        $this->cache->add( $key, self::PURGE_VAL_PREFIX . $time, self::CHECK_KEY_TTL );
+                       $time = (float)$time;
                }
 
                return $time;
@@ -320,6 +322,13 @@ class WANObjectCache {
         * avoid race conditions where dependent keys get updated with a
         * stale value (e.g. from a DB slave).
         *
+        * This is typically useful for keys with static names or some cases
+        * dynamically generated names where a low number of combinations exist.
+        * When a few important keys get a large number of hits, a high cache
+        * time is usually desired as well as lockTSE logic. The resetCheckKey()
+        * method is less appropriate in such cases since the "time since expiry"
+        * cannot be inferred.
+        *
         * Note that "check" keys won't collide with other regular keys
         *
         * @see WANObjectCache::get()
@@ -336,6 +345,39 @@ class WANObjectCache {
                return $this->relayPurge( $key, self::CHECK_KEY_TTL ) && $ok;
        }
 
+       /**
+        * Delete a "check" key from all clusters, invalidating keys that use it
+        *
+        * This is similar to touchCheckKey() in that keys using it via
+        * getWithSetCallback() will be invalidated. The differences are:
+        *   a) The timestamp will be deleted from all caches and lazily
+        *      re-initialized when accessed (rather than set everywhere)
+        *   b) Thus, dependent keys will be known to be invalid, but not
+        *      for how long (they are treated as "just" purged), which
+        *      effects any lockTSE logic in getWithSetCallback()
+        * The advantage is that this does not place high TTL keys on every cache
+        * server, making it better for code that will cache many different keys
+        * and either does not use lockTSE or uses a low enough TTL anyway.
+        *
+        * This is typically useful for keys with dynamically generated names
+        * where a high number of combinations exist.
+        *
+        * Note that "check" keys won't collide with other regular keys
+        *
+        * @see WANObjectCache::touchCheckKey()
+        * @see WANObjectCache::get()
+        *
+        * @param string $key Cache key
+        * @return bool True if the item was purged or not found, false on failure
+        */
+       final public function resetCheckKey( $key ) {
+               $key = self::TIME_KEY_PREFIX . $key;
+               // Update the local cluster immediately
+               $ok = $this->cache->delete( $key );
+               // Publish the purge to all clusters
+               return $this->relayDelete( $key ) && $ok;
+       }
+
        /**
         * Method to fetch/regenerate cache keys
         *
@@ -545,6 +587,26 @@ class WANObjectCache {
                return $ok;
        }
 
+       /**
+        * Do the actual async bus delete of a key
+        *
+        * @param string $key Cache key
+        * @return bool Success
+        */
+       protected function relayDelete( $key ) {
+               $event = $this->cache->modifySimpleRelayEvent( array(
+                       'cmd' => 'delete',
+                       'key' => $key,
+               ) );
+
+               $ok = $this->relayer->notify( "{$this->pool}:purge", $event );
+               if ( !$ok ) {
+                       $this->lastRelayError = self::ERR_RELAY;
+               }
+
+               return $ok;
+       }
+
        /**
         * Check if a key should be regenerated (using random probability)
         *
index c359659..1027732 100644 (file)
@@ -135,7 +135,9 @@ class EmailNotification {
 
                $sendEmail = true;
                // If nobody is watching the page, and there are no users notified on all changes
-               // don't bother creating a job/trying to send emails
+               // don't bother creating a job/trying to send emails, unless it's a
+               // talk page with an applicable notification.
+               //
                // $watchers deals with $wgEnotifWatchlist
                if ( !count( $watchers ) && !count( $wgUsersNotifiedOnAllChanges ) ) {
                        $sendEmail = false;
index 6912864..5010b89 100644 (file)
@@ -94,6 +94,11 @@ class MWMemcached {
         */
        const COMPRESSED = 2;
 
+       /**
+        * Flag: indicates data is an integer
+        */
+       const INTVAL = 4;
+
        // }}}
 
        /**
@@ -979,6 +984,8 @@ class MWMemcached {
                                         */
                                        if ( $flags & self::SERIALIZED ) {
                                                $ret[$rkey] = unserialize( $ret[$rkey] );
+                                       } elseif ( $flags & self::INTVAL ) {
+                                               $ret[$rkey] = intval( $ret[$rkey] );
                                        }
                                }
 
@@ -1027,7 +1034,9 @@ class MWMemcached {
 
                $flags = 0;
 
-               if ( !is_scalar( $val ) ) {
+               if ( is_int( $val ) ) {
+                       $flags |= self::INTVAL;
+               } elseif ( !is_scalar( $val ) ) {
                        $val = serialize( $val );
                        $flags |= self::SERIALIZED;
                        if ( $this->_debug ) {
index cf8cd41..8a30ad1 100644 (file)
@@ -178,7 +178,9 @@ class CoreParserFunctions {
                        default:
                                $func = 'urlencode';
                }
-               return $parser->markerSkipCallback( $s, $func );
+               // See T105242, where the choice to kill markers and various
+               // other options were discussed.
+               return $func( $parser->killMarkers( $s ) );
        }
 
        public static function lcfirst( $parser, $s = '' ) {
index 5506684..83c2b0c 100644 (file)
@@ -1023,6 +1023,7 @@ class Parser {
                        }
 
                        $first_character = $line[0];
+                       $first_two = substr( $line, 0, 2 );
                        $matches = array();
 
                        if ( preg_match( '/^(:*)\{\|(.*)$/', $line, $matches ) ) {
@@ -1042,7 +1043,7 @@ class Parser {
                                # Don't do any of the following
                                $out .= $outLine . "\n";
                                continue;
-                       } elseif ( substr( $line, 0, 2 ) === '|}' ) {
+                       } elseif ( $first_two === '|}' ) {
                                # We are ending a table
                                $line = '</table>' . substr( $line, 2 );
                                $last_tag = array_pop( $last_tag_history );
@@ -1060,7 +1061,7 @@ class Parser {
                                }
                                array_pop( $tr_attributes );
                                $outLine = $line . str_repeat( '</dd></dl>', $indent_level );
-                       } elseif ( substr( $line, 0, 2 ) === '|-' ) {
+                       } elseif ( $first_two === '|-' ) {
                                # Now we have a table row
                                $line = preg_replace( '#^\|-+#', '', $line );
 
@@ -1089,16 +1090,16 @@ class Parser {
                                array_push( $last_tag_history, '' );
                        } elseif ( $first_character === '|'
                                || $first_character === '!'
-                               || substr( $line, 0, 2 ) === '|+'
+                               || $first_two === '|+'
                        ) {
                                # This might be cell elements, td, th or captions
-                               if ( substr( $line, 0, 2 ) === '|+' ) {
+                               if ( $first_two === '|+' ) {
                                        $first_character = '+';
+                                       $line = substr( $line, 2 );
+                               } else {
                                        $line = substr( $line, 1 );
                                }
 
-                               $line = substr( $line, 1 );
-
                                if ( $first_character === '!' ) {
                                        $line = str_replace( '!!', '||', $line );
                                }
@@ -2146,7 +2147,8 @@ class Parser {
                                $link = substr( $link, 1 );
                        }
 
-                       $nt = Title::newFromText( $this->mStripState->unstripNoWiki( $link ) );
+                       $unstrip = $this->mStripState->unstripNoWiki( $link );
+                       $nt = is_string( $unstrip ) ? Title::newFromText( $unstrip ) : null;
                        if ( $nt === null ) {
                                $s .= $prefix . '[[' . $line;
                                continue;
index cdad9ba..80dc669 100644 (file)
@@ -67,27 +67,59 @@ class UserPasswordPolicy {
         * Check if a passwords meets the effective password policy for a User.
         * @param User $user who's policy we are checking
         * @param string $password the password to check
+        * @param string $purpose one of 'login', 'create', 'reset'
         * @return Status error to indicate the password didn't meet the policy, or fatal to
         *      indicate the user shouldn't be allowed to login.
         */
-       public function checkUserPassword( User $user, $password ) {
-               $effectivePolicy = $this->getPoliciesForUser( $user );
-               $status = Status::newGood();
+       public function checkUserPassword( User $user, $password, $purpose = 'login' ) {
+               $effectivePolicy = $this->getPoliciesForUser( $user, $purpose );
+               return $this->checkPolicies(
+                       $user,
+                       $password,
+                       $effectivePolicy,
+                       $this->policyCheckFunctions
+               );
+       }
+
+       /**
+        * Check if a passwords meets the effective password policy for a User, using a set
+        * of groups they may or may not belong to. This function does not use the DB, so can
+        * be used in the installer.
+        * @param User $user who's policy we are checking
+        * @param string $password the password to check
+        * @param array $groups list of groups to which we assume the user belongs
+        * @return Status error to indicate the password didn't meet the policy, or fatal to
+        *      indicate the user shouldn't be allowed to login.
+        */
+       public function checkUserPasswordForGroups( User $user, $password, array $groups ) {
+               $effectivePolicy = self::getPoliciesForGroups(
+                       $this->policies,
+                       $groups,
+                       $this->policies['default']
+               );
+               return $this->checkPolicies(
+                       $user,
+                       $password,
+                       $effectivePolicy,
+                       $this->policyCheckFunctions
+               );
+       }
 
-               foreach ( $effectivePolicy as $policy => $value ) {
-                       if ( !isset( $this->policyCheckFunctions[$policy] ) ) {
+       private function checkPolicies( User $user, $password, $policies, $policyCheckFunctions ) {
+               $status = Status::newGood();
+               foreach ( $policies as $policy => $value ) {
+                       if ( !isset( $policyCheckFunctions[$policy] ) ) {
                                throw new DomainException( 'Invalid password policy config' );
                        }
                        $status->merge(
                                call_user_func(
-                                       $this->policyCheckFunctions[$policy],
+                                       $policyCheckFunctions[$policy],
                                        $value,
                                        $user,
                                        $password
                                )
                        );
                }
-
                return $status;
        }
 
@@ -95,16 +127,20 @@ class UserPasswordPolicy {
         * Get the policy for a user, based on their group membership. Public so
         * UI elements can access and inform the user.
         * @param User $user
+        * @param string $purpose one of 'login', 'create', 'reset'
         * @return array the effective policy for $user
         */
-       public function getPoliciesForUser( User $user ) {
-               $effectivePolicy = self::getPoliciesForGroups(
-                       $this->policies,
-                       $user->getEffectiveGroups(),
-                       $this->policies['default']
-               );
+       public function getPoliciesForUser( User $user, $purpose = 'login' ) {
+               $effectivePolicy = $this->policies['default'];
+               if ( $purpose !== 'create' ) {
+                       $effectivePolicy = self::getPoliciesForGroups(
+                               $this->policies,
+                               $user->getEffectiveGroups(),
+                               $this->policies['default']
+                       );
+               }
 
-               Hooks::run( 'PasswordPoliciesForUser', array( $user, &$effectivePolicy ) );
+               Hooks::run( 'PasswordPoliciesForUser', array( $user, &$effectivePolicy, $purpose ) );
 
                return $effectivePolicy;
        }
index d816a01..52aa54a 100644 (file)
  */
 class ProfilerOutputStats extends ProfilerOutput {
 
-       /**
-        * Normalize a metric key for StatsD
-        *
-        * Replace occurences of '::' with dots and any other non-alphabetic
-        * characters with underscores. Combine runs of dots or underscores.
-        * Then trim leading or trailing dots or underscores.
-        *
-        * @param string $key
-        * @since 1.26
-        */
-       private static function normalizeMetricKey( $key ) {
-               $key = preg_replace( '/[:.]+/', '.', $key );
-               $key = preg_replace( '/[^a-z.]+/i', '_', $key );
-               $key = trim( $key, '_.' );
-               return str_replace( array( '._', '_.' ), '.', $key );
-       }
-
        /**
         * Flush profiling data to the current profiling context's stats buffer.
         *
         * @param array $stats
         */
        public function log( array $stats ) {
-               if ( isset( $this->params['prefix'] ) ) {
-                       $prefix = self::normalizeMetricKey( $this->params['prefix'] );
-               } else {
-                       $prefix = '';
-               }
-
+               $prefix = isset( $this->params['prefix'] ) ? $this->params['prefix'] : '';
                $contextStats = $this->collector->getContext()->getStats();
 
                foreach ( $stats as $stat ) {
-                       $key = self::normalizeMetricKey( "{$prefix}.{$stat['name']}" );
+                       $key = "{$prefix}.{$stat['name']}";
 
                        // Convert fractional seconds to whole milliseconds
                        $cpu = round( $stat['cpu'] * 1000 );
index e6cb5eb..508be2f 100644 (file)
@@ -814,6 +814,11 @@ class ResourceLoader implements LoggerAwareInterface {
                        $exp = min( $maxage, $smaxage );
                        header( 'Expires: ' . wfTimestamp( TS_RFC2822, $exp + time() ) );
                }
+
+               // Send the current time expressed as fractional seconds since epoch,
+               // with microsecond precision. This helps distinguish hits from misses
+               // in edge caches.
+               header( 'MediaWiki-Timestamp: ' . microtime( true ) );
        }
 
        /**
index d159284..f9dfbdc 100644 (file)
@@ -48,6 +48,15 @@ class ResourceLoaderJqueryMsgModule extends ResourceLoaderFileModule {
                return $fileScript . $dataScript;
        }
 
+       /**
+       * @param ResourceLoaderContext $context
+       * @return array
+       */
+       public function getScriptURLsForDebug( ResourceLoaderContext $context ) {
+               // Bypass file module urls
+               return ResourceLoaderModule::getScriptURLsForDebug( $context );
+       }
+
        /**
         * @return bool
         */
index 94edb36..46b786d 100644 (file)
@@ -571,7 +571,7 @@ abstract class ResourceLoaderModule {
                }
 
                $statTiming = microtime( true ) - $statStart;
-               $statName = str_replace( '.', '_', $this->getName() );
+               $statName = strtr( $this->getName(), '.', '_' );
                $stats->timing( "resourceloader_build.all", $statTiming );
                $stats->timing( "resourceloader_build.$statName", $statTiming );
 
index fa2423b..246f115 100644 (file)
@@ -439,7 +439,7 @@ class SearchMySQL extends SearchDatabase {
                        $sql = "SHOW GLOBAL VARIABLES LIKE 'ft\\_min\\_word\\_len'";
 
                        $dbr = wfGetDB( DB_SLAVE );
-                       $result = $dbr->query( $sql );
+                       $result = $dbr->query( $sql, __METHOD__ );
                        $row = $result->fetchObject();
                        $result->free();
 
index 9056761..42c5980 100644 (file)
@@ -96,7 +96,11 @@ abstract class FormSpecialPage extends SpecialPage {
                        $this->getMessagePrefix()
                );
                $form->setSubmitCallback( array( $this, 'onSubmit' ) );
-               $form->setWrapperLegendMsg( $this->getMessagePrefix() . '-legend' );
+               if ( $this->getDisplayFormat() !== 'ooui' ) {
+                       // No legend and wrapper by default in OOUI forms, but can be set manually
+                       // from alterForm()
+                       $form->setWrapperLegendMsg( $this->getMessagePrefix() . '-legend' );
+               }
 
                $headerMsg = $this->msg( $this->getMessagePrefix() . '-text' );
                if ( !$headerMsg->isDisabled() ) {
index 7ffaf48..67683f2 100644 (file)
@@ -135,7 +135,7 @@ class LinkSearchPage extends QueryPage {
                if ( !$this->getConfig()->get( 'MiserMode' ) ) {
                        $fields += array(
                                'namespace' => array(
-                                       'class' => 'HTMLSelectNamespace',
+                                       'type' => 'namespaceselect',
                                        'name' => 'namespace',
                                        'label-message' => 'linksearch-ns',
                                        'default' => $namespace,
@@ -148,7 +148,7 @@ class LinkSearchPage extends QueryPage {
                $hiddenFields = array(
                        'title' => $this->getPageTitle()->getPrefixedDBkey(),
                );
-               $htmlForm = HTMLForm::factory( 'inline', $fields, $this->getContext() );
+               $htmlForm = HTMLForm::factory( 'ooui', $fields, $this->getContext() );
                $htmlForm->addHiddenFields( $hiddenFields );
                $htmlForm->setSubmitTextMsg( 'linksearch-ok' );
                $htmlForm->setWrapperLegendMsg( 'linksearch' );
index ae1fefe..5682657 100644 (file)
@@ -28,7 +28,7 @@
  */
 class MovePageForm extends UnlistedSpecialPage {
        /** @var Title */
-       protected $oldTitle;
+       protected $oldTitle = null;
 
        /** @var Title */
        protected $newTitle;
@@ -75,9 +75,12 @@ class MovePageForm extends UnlistedSpecialPage {
                // Yes, the use of getVal() and getText() is wanted, see bug 20365
 
                $oldTitleText = $request->getVal( 'wpOldTitle', $target );
-               $this->oldTitle = Title::newFromText( $oldTitleText );
+               if ( is_string( $oldTitleText ) ) {
+                       $this->oldTitle = Title::newFromText( $oldTitleText );
+               }
 
-               if ( is_null( $this->oldTitle ) ) {
+               if ( $this->oldTitle === null ) {
+                       // Either oldTitle wasn't passed, or newFromText returned null
                        throw new ErrorPageError( 'notargettitle', 'notargettext' );
                }
                if ( !$this->oldTitle->exists() ) {
index bc1bb3d..a8fab92 100644 (file)
@@ -328,6 +328,7 @@ class SpecialSearch extends SpecialPage {
                $num = $titleMatchesNum + $textMatchesNum;
                $totalRes = $numTitleMatches + $numTextMatches;
 
+               $out->enableOOUI();
                $out->addHtml(
                        # This is an awful awful ID name. It's not a table, but we
                        # named it poorly from when this was a table so now we're
@@ -1078,21 +1079,23 @@ class SpecialSearch extends SpecialPage {
         * @return string
         */
        protected function shortDialog( $term, $resultsShown, $totalNum ) {
-               $out = Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() );
-               $out .= Html::hidden( 'profile', $this->profile ) . "\n";
-               // Term box
-               $out .= Html::input( 'search', $term, 'search', array(
-                       'id' => $this->isPowerSearch() ? 'powerSearchText' : 'searchText',
-                       'size' => '50',
-                       'autofocus' => trim( $term ) === '',
-                       'class' => 'mw-ui-input mw-ui-input-inline',
-               ) ) . "\n";
-               $out .= Html::hidden( 'fulltext', 'Search' ) . "\n";
-               $out .= Html::submitButton(
-                       $this->msg( 'searchbutton' )->text(),
-                       array( 'class' => 'mw-ui-button mw-ui-progressive' ),
-                       array( 'mw-ui-progressive' )
-               ) . "\n";
+               $out =
+                       Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() ) .
+                       Html::hidden( 'profile', $this->profile ) .
+                       Html::hidden( 'fulltext', 'Search' ) .
+                       new MediaWiki\Widget\TitleInputWidget( array(
+                               'type' => 'search',
+                               'icon' => 'search',
+                               'id' => 'searchText',
+                               'name' => 'search',
+                               'autofocus' => trim( $term ) === '',
+                               'value' => $term,
+                       ) ) .
+                       new OOUI\ButtonInputWidget( array(
+                               'type' => 'submit',
+                               'label' => $this->msg( 'searchbutton' )->text(),
+                               'flags' => array( 'progressive', 'primary' ),
+                       ) );
 
                // Results-info
                if ( $totalNum > 0 && $this->offset < $totalNum ) {
index 5732ef9..d7e75bc 100644 (file)
@@ -149,7 +149,8 @@ class PageArchive {
                        $fields,
                        $conds,
                        $join_conds,
-                       $options
+                       $options,
+                       ''
                );
 
                return $dbr->select( $tables,
index 472fdb7..4ca07fe 100644 (file)
@@ -529,9 +529,9 @@ class LoginForm extends SpecialPage {
 
                # Now create a dummy user ($u) and check if it is valid
                $u = User::newFromName( $this->mUsername, 'creatable' );
-               if ( !is_object( $u ) ) {
+               if ( !$u ) {
                        return Status::newFatal( 'noname' );
-               } elseif ( 0 != $u->idForName() ) {
+               } elseif ( 0 != $u->idForName( User::READ_LOCKING ) ) {
                        return Status::newFatal( 'userexists' );
                }
 
@@ -545,7 +545,7 @@ class LoginForm extends SpecialPage {
                        }
 
                        # check for password validity, return a fatal Status if invalid
-                       $validity = $u->checkPasswordValidity( $this->mPassword );
+                       $validity = $u->checkPasswordValidity( $this->mPassword, 'create' );
                        if ( !$validity->isGood() ) {
                                $validity->ok = false; // make sure this Status is fatal
                                return $validity;
@@ -948,7 +948,10 @@ class LoginForm extends SpecialPage {
                                        } elseif ( $wgInvalidPasswordReset
                                                && !$user->isValidPassword( $this->mPassword )
                                        ) {
-                                               $status = $user->checkPasswordValidity( $this->mPassword );
+                                               $status = $user->checkPasswordValidity(
+                                                       $this->mPassword,
+                                                       'login'
+                                               );
                                                $this->resetLoginForm(
                                                        $status->getMessage( 'resetpass-validity-soft' )
                                                );
index 7ddc67a..e160a23 100644 (file)
@@ -36,7 +36,11 @@ class TitleInputWidget extends TextInputWidget {
                }
 
                // Initialization
-               $this->addClasses( array( 'mw-widget-TitleInputWidget' ) );
+               $this->addClasses( array( 'mw-widget-titleInputWidget' ) );
+       }
+
+       protected function getJavaScriptClassName() {
+               return 'mw.widgets.TitleInputWidget';
        }
 
        public function getConfig( &$config ) {
index 58d1ee6..5dd4977 100644 (file)
@@ -7,7 +7,7 @@
        "--builtin-classes": true,
        "--processes": "0",
        "--warnings-exit-nonzero": true,
-       "--external": "HTMLElement,HTMLDocument,Window,File,MouseEvent,KeyboardEvent",
+       "--external": "HTMLElement,HTMLDocument,Window,File,MouseEvent,KeyboardEvent,HTMLIframeElement,HTMLInputElement,XMLDocument",
        "--output": "docs/js",
        "--": [
                "maintenance/jsduck/external.js",
index fe0bd7e..93dd239 100644 (file)
@@ -547,10 +547,8 @@ class Language {
        }
 
        /**
-        * A convenience function that returns the same thing as
-        * getNamespaces() except with the array values changed to ' '
-        * where it found '_', useful for producing output to be displayed
-        * e.g. in <select> forms.
+        * A convenience function that returns getNamespaces() with spaces instead of underscores
+        * in values. Useful for producing output to be displayed e.g. in `<select>` forms.
         *
         * @return array
         */
@@ -564,6 +562,7 @@ class Language {
 
        /**
         * Get a namespace value by key
+        *
         * <code>
         * $mw_ns = $wgContLang->getNsText( NS_MEDIAWIKI );
         * echo $mw_ns; // prints 'MediaWiki'
@@ -574,7 +573,6 @@ class Language {
         */
        function getNsText( $index ) {
                $ns = $this->getNamespaces();
-
                return isset( $ns[$index] ) ? $ns[$index] : false;
        }
 
@@ -593,7 +591,6 @@ class Language {
         */
        function getFormattedNsText( $index ) {
                $ns = $this->getNsText( $index );
-
                return strtr( $ns, '_', ' ' );
        }
 
index f11d703..c95dce2 100644 (file)
        "passwordreset": "Herstel wagwoord",
        "passwordreset-text-one": "Voltooi hierdie vorm om u wagwoord te herstel.",
        "passwordreset-text-many": "{{PLURAL:$1|Vul een van die velde in om 'n tydelike wagwoord per e-pos te ontvang.}}",
-       "passwordreset-legend": "Kry nuwe wagwoord",
        "passwordreset-disabled": "Die herskik van U wagwoord is gedeaktiveer op hierdie wiki.",
        "passwordreset-emaildisabled": "E-posfunksies is afgeskakel op hierdie wiki.",
        "passwordreset-username": "Gebruiker:",
        "randomincategory-invalidcategory": "\"$1\" is nie 'n geldige kategorienaam nie.",
        "randomincategory-nopages": "Daar is geen bladsye in kategorie [[:Category:$1|$1]].",
        "randomincategory-category": "Kategorie:",
+       "randomincategory-submit": "Laat waai",
        "randomredirect": "Lukrake aanstuur",
        "randomredirect-nopages": "Daar is geen aansture in naamruimte \"$1\" nie.",
        "statistics": "Statistieke",
        "nmembers": "$1 {{PLURAL:$1|lid|lede}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|lid|lede}}",
        "nrevisions": "$1 {{PLURAL:$1|weergawe|weergawes}}",
-       "nviews": "$1 {{PLURAL:$1|keer|kere}} aangevra",
        "nimagelinks": "Gebruik op {{PLURAL:$1|een bladsy|$1 bladsye}}",
        "ntransclusions": "gebruik op {{PLURAL:$1|een bladsy|$1 bladsye}}",
        "specialpage-empty": "Die verslag lewer geen resultate nie.",
        "linksearch-pat": "Soekpatroon:",
        "linksearch-ns": "Naamruimte:",
        "linksearch-ok": "Soek",
-       "linksearch-text": "Patrone soos \"*.wikipedia.org\" kan gebruik word.<br />\nBenodig ten minste een topvlakdomein, soos byvoorbeeld \"*.org\".<br />\n{{PLURAL:$2|Ondersteunde protokol|Ondersteunde protokolle}}: <code>$1</code> (http:// word gebruik as niks gespesifiseer is nie)",
+       "linksearch-text": "Patrone soos \"*.wikipedia.org\" kan gebruik word.<br />\nBenodig ten minste een topvlakdomein, soos byvoorbeeld \"*.org\".<br />\n{{PLURAL:$2|Ondersteunde protokol|Ondersteunde protokolle}}: $1 (http:// word gebruik as niks gespesifiseer is nie)",
        "linksearch-line": "$1 geskakel vanaf $2",
        "linksearch-error": "Patrone kan slegs aan die begin van die rekenaarnaam geplaas word.",
        "listusersfrom": "Wys gebruikers, beginnende by:",
index e88507f..79d4200 100644 (file)
        "resetpass-wrong-oldpass": "A clau actual u temporal no ye conforme.\nTalment ya ha cambiato a suya clau u ha demandato una nueva clau temporal.",
        "resetpass-temp-password": "Clau temporal:",
        "passwordreset": "Restablir a clau d'acceso",
-       "passwordreset-legend": "Restablir a clau d'acceso",
        "passwordreset-disabled": "S'ha desactivau o restablimiento de claus en ista wiki.",
        "passwordreset-username": "Nombre d'usuario:",
        "passwordreset-domain": "Dominio:",
        "nlinks": "$1 {{PLURAL:$1|vinclo|vinclos}}",
        "nmembers": "$1 {{PLURAL:$1|miembro|miembros}}",
        "nrevisions": "$1 {{PLURAL:$1|versión|versions}}",
-       "nviews": "$1 {{PLURAL:$1|vesita|vesitas}}",
        "nimagelinks": "S'emplega en $1 {{PLURAL:$1|pachina|pachinas}}",
        "ntransclusions": "s'emplega en $1 {{PLURAL:$1|pachina|pachinas}}",
        "specialpage-empty": "Ista pachina ye bueda.",
        "linksearch-pat": "Mirar patrón:",
        "linksearch-ns": "Espacio de nombres:",
        "linksearch-ok": "Mirar",
-       "linksearch-text": "Pueden usar-se carácters comodín como \"*.wikipedia.org\".\nA lo menos aprecisa un dominio de maximo libel, como \"*.org\".<br />\nProtocolos suportados: <code>$1</code> (no los adhiba en a suya busca).",
+       "linksearch-text": "Pueden usar-se carácters comodín como \"*.wikipedia.org\".\nA lo menos aprecisa un dominio de maximo libel, como \"*.org\".<br />\nProtocolos suportados: $1 (no los adhiba en a suya busca).",
        "linksearch-line": "$1 tiene un vinclo dende $2",
        "linksearch-error": "Os carácters comodín nomás pueden apareixer en o prencipio d'o nombre d'o sitio.",
        "listusersfrom": "Amostrar usuarios que o nombre suyo prencipie por:",
index c8667e9..ad2ae19 100644 (file)
        "badtitle": "عنوان سيء",
        "badtitletext": "عنوان الصفحة المطلوب إما غير صحيح أو فارغ، وربما الرابط بين اللغات أو بين المشاريع خاطئ.\nربما يحوي محارف لا تصلح للاستخدام في العناوين.",
        "title-invalid-empty": "عنوان الصفحة المطلوبة فارغ أو يحتوي اسم النطاق فقط.",
+       "title-invalid-utf8": "عنوان الصفحة المطلوب يحتوي سلسلة محارف UTF-8 غير صالحة.",
        "title-invalid-interwiki": "عنوان الصفحة المطلوب يتضمن وصلة لحلقة لغة وهو ما لا يمكن استخدامه في العناوين.",
        "title-invalid-talk-namespace": "عنوان الصفحة المطلوبة يشير إلى صفحة نقاش غير موجودة.",
        "title-invalid-characters": "عنوان الصفحة المطلوب يتضمن محارف غير صالحة: \"$1\"",
        "linksearch-pat": "نمط البحث:",
        "linksearch-ns": "النطاق:",
        "linksearch-ok": "بحث",
-       "linksearch-text": "Wildcards مثل \"*.wikipedia.org\" يمكن استخدامها.\nتحتاج على الأقل إلى نطاق ذو مستوى أعلى، كمثال \"*.org\".<br />\n{{PLURAL:$2|البروتوكول المدعوم|البروتوكولان المدعومان|البروتوكولات المدعومة}}: <code>$1</code> (تتم إضافة http:// تلقائيا عند عدم تحديد أي بروتوكول).",
+       "linksearch-text": "Wildcards مثل \"*.wikipedia.org\" يمكن استخدامها.\nتحتاج على الأقل إلى نطاق ذو مستوى أعلى، كمثال \"*.org\".<br />\n{{PLURAL:$2|البروتوكول المدعوم|البروتوكولان المدعومان|البروتوكولات المدعومة}}: $1 (تتم إضافة http:// تلقائيا عند عدم تحديد أي بروتوكول).",
        "linksearch-line": "$1 موصولة من $2",
        "linksearch-error": "الكروت الخاصة يمكن أن تظهر فقط في بداية اسم المضيف.",
        "listusersfrom": "اعرض المستخدمين ابتداء من:",
        "tags-activate-not-found": "الوسم \"$1\" غير موجود.",
        "tags-activate-submit": "تفعيل",
        "tags-deactivate-title": "عطل الوسم",
+       "tags-deactivate-question": "أنت على وشك تعطيل الوسم \"$1\".",
        "tags-deactivate-reason": "سبب",
        "tags-deactivate-not-allowed": "من غير الممكن تعطيل الوسم \"$1\".",
        "tags-deactivate-submit": "عطل",
index 709e4c6..1c23594 100644 (file)
        "unusedtemplateswlh": "وصلات  تانيه",
        "randompage": "صفحة عشوائيه",
        "randompage-nopages": "مافيش صفحات فى النطاق {{PLURAL:$2|namespace|namespaces}}: $1.",
+       "randomincategory-submit": "اذهب",
        "randomredirect": "تحويله عشوائيه",
        "randomredirect-nopages": "مافيش تحويلات فى النطاق\"$1\".",
        "statistics": "احصائيات",
        "nlinks": "{{PLURAL:$1|وصله واحده|وصلتين|$1 وصلات|$1 وصله}}",
        "nmembers": "$1 {{PLURAL:$1|عضو|اعضاء}}",
        "nrevisions": "{{PLURAL:$1|تعديل وحيد|تعديلين|$1 تعديلات|$1 تعديل|$1}}",
-       "nviews": "{{PLURAL:$1|مشاهدة واحدة|مشاهدتين|$1 مشاهدات|$1 مشاهدة}}",
        "specialpage-empty": "مافيش نتايج للتقرير دا.",
        "lonelypages": "صفحات يتيمه",
        "lonelypagestext": "الصفحات دى ماعندهاش لينكات أو تضمينات من الصفحات التانية فى {{SITENAME}}.",
        "linksearch-pat": "نظام التدوير:",
        "linksearch-ns": "النطاق:",
        "linksearch-ok": "تدوير",
-       "linksearch-text": "الكروت الخاصه زى \"*.wikipedia.org\" ممكن تستخدم.\nمحتاجه على الاقل لدومين مستوى أعلى، زى \"*.org\".<br />\n{{PLURAL:$2|البروتوكول المدعوم|البروتوكولات المدعومه}}: <code>$1</code> (الافتراضى http:// لو ما اتحددش بروتوكول).",
+       "linksearch-text": "الكروت الخاصه زى \"*.wikipedia.org\" ممكن تستخدم.\nمحتاجه على الاقل لدومين مستوى أعلى، زى \"*.org\".<br />\n{{PLURAL:$2|البروتوكول المدعوم|البروتوكولات المدعومه}}: $1 (الافتراضى http:// لو ما اتحددش بروتوكول).",
        "linksearch-line": "$1 موصوله من $2",
        "linksearch-error": "الكروت الخاصة ممكن تبان بس  فى بداية اسم المضيف",
        "listusersfrom": "عرض اليوزرز من أول:",
index 4563057..bf23b71 100644 (file)
@@ -87,8 +87,8 @@
        "march": "মাৰ্চ",
        "april": "এপ্ৰিল",
        "may_long": "মে'",
-       "june": "জুন",
-       "july": "জুলাই",
+       "june": "june",
+       "july": "july",
        "august": "আগষ্ট",
        "september": "ছেপ্টেম্বৰ",
        "october": "অক্টোবৰ",
        "april-gen": "এপ্ৰিল",
        "may-gen": "মে’",
        "june-gen": "জুন",
-       "july-gen": "জুলাই",
+       "july-gen": "july",
        "august-gen": "আগষ্ট",
        "september-gen": "ছেপ্টেম্বৰ",
        "october-gen": "অক্টোবৰ",
        "linksearch-pat": "সন্ধান আৰ্হি:",
        "linksearch-ns": "নামস্থান:",
        "linksearch-ok": "সন্ধান কৰক",
-       "linksearch-text": "ৱাইল্ডকাৰ্ডসমূহ যেনে \"*.wikipedia.org\" ব্যৱহাৰ কৰিব পাৰি।\nঅন্তত এটা উচ্চ-স্তৰৰ ডমেইনৰ প্ৰয়োজন, উদাহৰণস্বৰূপ \"*.org\"। <br />\nসমৰ্থিত {{PLURAL:$2|প্ৰ'ট'ক'ল|প্ৰ'ট'ক'লসমূহ}} : <code>$1</code> (কোনো প্ৰ'ট'ক'ল নিৰ্দিষ্ট নকৰিলে http:// সূচাব)।",
+       "linksearch-text": "ৱাইল্ডকাৰ্ডসমূহ যেনে \"*.wikipedia.org\" ব্যৱহাৰ কৰিব পাৰি।\nঅন্তত এটা উচ্চ-স্তৰৰ ডমেইনৰ প্ৰয়োজন, উদাহৰণস্বৰূপ \"*.org\"। <br />\nসমৰ্থিত {{PLURAL:$2|প্ৰ'ট'ক'ল|প্ৰ'ট'ক'লসমূহ}} : $1 (কোনো প্ৰ'ট'ক'ল নিৰ্দিষ্ট নকৰিলে http:// সূচাব)।",
        "linksearch-line": "$2 পৰা $1 সংযোগ কৰা হৈছে",
        "linksearch-error": "ৱাইল্ডকাৰ্ড কেৱল হ'ষ্টনামৰ আৰম্ভণিতহে দেখা যাব ।",
        "listusersfrom": "ইয়াৰে আৰম্ভ হোৱা ব্যৱহাৰকাৰী সকল দেখুৱাওক:",
index 79b1fca..2252d94 100644 (file)
        "linksearch-pat": "Patrón de busca:",
        "linksearch-ns": "Espaciu de nomes:",
        "linksearch-ok": "Buscar",
-       "linksearch-text": "Se puen usar comodinos como \"*.wikipedia.org\".\nNecesita polo menos un dominiu de primer nivel, como \"*.org\".<br />\n{{PLURAL:$2|Protocolu almitíu|Protocolos almitíos}}: <code>$1</code> (el predetermináu ye http:// si nun se conseña dengún protocolu).",
+       "linksearch-text": "Se puen usar comodinos como \"*.wikipedia.org\".\nNecesita polo menos un dominiu de primer nivel, como \"*.org\".<br />\n{{PLURAL:$2|Protocolu almitíu|Protocolos almitíos}}: $1 (el predetermináu ye http:// si nun se conseña dengún protocolu).",
        "linksearch-line": "$1 enllaciáu dende $2",
        "linksearch-error": "Los comodinos namái puen apaecer al entamu del nome del güéspede.",
        "listusersfrom": "Amosar usuarios emprimando dende:",
index d5fe7a2..e00af38 100644 (file)
        "linksearch-pat": "खोजय खर्तीन पाठ:",
        "linksearch-ns": "नामस्थान:",
        "linksearch-ok": "खोजा जाय",
-       "linksearch-text": "\"*.wikipedia.org\" जैसन वाईल्ड-कार्ड्स प्रयोग कै सका जात है।\nकम-से-कम \".org\" जैसन कवनो top-level डोमेन कय आवश्यकता है।<br />\nस्वीकार्य {{PLURAL:$2|प्रोटोकॉल}}: <code>$1</code> (यदि कवनो प्रोटोकॉल ना दै जाए तव http:// कय प्रयोग कै सका जात है)",
+       "linksearch-text": "\"*.wikipedia.org\" जैसन वाईल्ड-कार्ड्स प्रयोग कै सका जात है।\nकम-से-कम \".org\" जैसन कवनो top-level डोमेन कय आवश्यकता है।<br />\nस्वीकार्य {{PLURAL:$2|प्रोटोकॉल}}: $1 (यदि कवनो प्रोटोकॉल ना दै जाए तव http:// कय प्रयोग कै सका जात है)",
        "linksearch-line": "$2 में से $1 जोडान है",
        "linksearch-error": "वाईल्डकार्ड्स होस्टनाम कय खालि शुरू में आइ सकत है।",
        "listusersfrom": "इ अक्षर से शुरु होय वाले सदस्य देखावा जाय:",
index 6fcdcba..69dd574 100644 (file)
        "passwordreset": "رمزی یئنی‌له",
        "passwordreset-text-one": "رمزینیزی صیفیرلاماق اوچون بو فورمو باشا چاتدیرین.",
        "passwordreset-text-many": "{{PLURAL:$1|رمزینیزی صیفیرلاماق اوچون، بیرینی دولدورون.}}",
-       "passwordreset-legend": "رمزی یئنی‌له",
        "passwordreset-disabled": "بو ویکی‌ده رمزی یئنی‌له‌مک باغلانیب‌دیر.",
        "passwordreset-emaildisabled": "ایمیل اؤزل‌لیکلری بو ویکی‌ده باغلانیب‌دیر.",
        "passwordreset-username": "ایستیفاده‌چی آدی:",
        "changeemail-throttled": "سیز دفعه لرجه گیریش اوچون چالیشیب سیز.\nلوطفا یئنی دن چالیشمامیشدان اونجه $1 دوزوم ائدین.",
        "resettokens": "نیشانلی لاری یئنیلمه",
        "resettokens-no-tokens": "هئچ بیر نیشانلی یئنیلنمک اوچون یوخدور.",
-       "resettokens-legend": "نیشانلی لاری یئنیلمه",
        "resettokens-tokens": "نیشانلی:",
        "resettokens-token-label": "$1 (ایندیکی میقداری: $2)",
        "resettokens-watchlist-token": "نیشانلامیش یئمک وپی [[Special:Watchlist|ایزلنمیش سون دییشیک اولان صفحه لر]](اتم/آراس‌اس)",
        "nmembers": "{{PLURAL:$1|بیر|$1}} عوضو",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|عۆضو}}",
        "nrevisions": "{{PLURAL:$1|بیر|$1}} نوسخه",
-       "nviews": "{{PLURAL:$1|بیر|$1}} گؤرونوش",
        "nimagelinks": "$1 ده{{PLURAL:$1|صحیفه‌ده}}ایستیفاده اولونمور",
        "ntransclusions": "$1 ده{{PLURAL:$1|صحیفه‌ده}}ایستیفاده اولونور",
        "specialpage-empty": "بو صحیفه بوشدور",
        "linksearch-pat": "آختاریش اولگوسو:",
        "linksearch-ns": "آد فضاسی:",
        "linksearch-ok": "آختار",
-       "linksearch-text": "«*.wikipedia.org» کیمی نیشانلاری ایشلده بیلرسینیز.\nآزی بیر دنه «*.org» کیمی یوخاری دامنه لازیم‌دیر.<br />\nدستلکلنمیش {{PLURAL:$2|پروتوکول|پروتوکول‌لار}}: <code>$1</code> (بوش بیراخیلسا، http:// نظرده آلیناجاقدیر).",
+       "linksearch-text": "«*.wikipedia.org» کیمی نیشانلاری ایشلده بیلرسینیز.\nآزی بیر دنه «*.org» کیمی یوخاری دامنه لازیم‌دیر.<br />\nدستلکلنمیش {{PLURAL:$2|پروتوکول|پروتوکول‌لار}}: $1 (بوش بیراخیلسا، http:// نظرده آلیناجاقدیر).",
        "linksearch-line": "$1، $2-دن باغلانیب‌دیر",
        "linksearch-error": "نیشانلار یالنیز آدی اولینده گله بیلرلر.",
        "listusersfrom": "بوندان باشلایاراق ایستیفاده‌چیلری گؤستر:",
index 1a73a3b..d2f7c5b 100644 (file)
        "passwordreset": "Серһүҙҙе ташлатыу",
        "passwordreset-text-one": "Серһүҙегеҙҙе ташлар өсөн ош ҡалыпты тултырығыҙ.",
        "passwordreset-text-many": "{{PLURAL:$1|Серһүҙҙе ташлар өсөн яландарҙың береһен тултырығыҙ.}}",
-       "passwordreset-legend": "Серһүҙҙе ташлатыу",
        "passwordreset-disabled": "Был викила серһүҙҙе ташлатыу ғәмәлдә түгел",
        "passwordreset-emaildisabled": "Был викиҙа электрон почта функцияһы һүндерелгән.",
        "passwordreset-username": "Ҡулланыусы исеме:",
        "resettokens": "Токендарҙы ташларға",
        "resettokens-text": "Иҫәп яҙмағыҙ менән бәйләнгән ҡайһы бер шәхси мәғлүмәттәрегеҙгә инеүгә юл асыусы токендарҙы ташлай алаһығыҙ.\n\nЯңылыштан уларҙы берәйһе менән уртаҡлашҡан  йәки аккаунтығыҙ ваттырылған осраҡта быны эшләү мотлаҡ.",
        "resettokens-no-tokens": "Ташлар өсөн токендар юҡ.",
-       "resettokens-legend": "Токендарҙы ташларға",
        "resettokens-tokens": "Токендар:",
        "resettokens-token-label": "$1 (ағымдағы мәғәнә: $2)",
        "resettokens-watchlist-token": " [[Special:Watchlist|күҙәтеүҙәрегеҙ исемлегендә биттәрҙең үҙгәрештәре]] веб-каналы өсөн токен(Atom/RSS)",
        "nmembers": "$1 {{PLURAL:$1|объект}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|объект}}",
        "nrevisions": "$1 {{PLURAL:$1|1=өлгө|өлгө}}",
-       "nviews": "$1 {{PLURAL:$1|ҡарап сығыу}}",
        "nimagelinks": "$1 {{PLURAL:$1|биттә}} ҡулланыла",
        "ntransclusions": "$1 {{PLURAL:$1|биттә}} ҡулланыла",
        "specialpage-empty": "Был һорау өсөн һөҙөмтәләр юҡ.",
        "linksearch-pat": "Эҙләү өсөн ҡалып",
        "linksearch-ns": "Исемдәр арауығы:",
        "linksearch-ok": "Эҙләү",
-       "linksearch-text": "<code>*.wikipedia.org</code> һымаҡ төркөм билдәләрен ҡулланырға була.\nКәмендә өҫкө кимәл домен кәрәк, мәҫәлән, <code>*.org</code><br />\nМөмкин булған{{PLURAL:$2|1=протокол|протоколдар}}: <code>$1</code> (башҡа протокол өҫтәлмәһә, алдан бирелгәне индерелә http://).",
+       "linksearch-text": "<code>*.wikipedia.org</code> һымаҡ төркөм билдәләрен ҡулланырға була.\nКәмендә өҫкө кимәл домен кәрәк, мәҫәлән, <code>*.org</code><br />\nМөмкин булған{{PLURAL:$2|1=протокол|протоколдар}}: $1 (башҡа протокол өҫтәлмәһә, алдан бирелгәне индерелә http://).",
        "linksearch-line": "$1 адресына $2 битенән һылтанма яһалған",
        "linksearch-error": "Төркөм билдәләре URL адрестың башында ғына ҡулланыла ала.",
        "listusersfrom": "Ошондай хәрефтәрҙән башланған ҡатнашыусыларҙы күрһәтергә:",
index 8bfc90e..e86ae79 100644 (file)
        "nlinks": "{{PLURAL:$1|a Link|$1 Links}}",
        "nmembers": "{{PLURAL:$1|1 Eindrog|$1 Eindreg}}",
        "nrevisions": "{{PLURAL:$1|oah Beorwatung|$1 Beorwatungen}}",
-       "nviews": "{{PLURAL:$1|1 Åbfråg|$1 Åbfrång}}",
        "uncategorizedpages": "Néd kategorisirde Seiten",
        "uncategorizedcategories": "Néd kategorisirde Kategorien",
        "uncategorizedimages": "Néd kategorisirde Daatein",
        "linksearch-pat": "Suachmuster:",
        "linksearch-ns": "Nåmensraum:",
        "linksearch-ok": "Suacher",
-       "linksearch-text": "Dé Speziaalseiten do daméglicht d' Suach noch Seiten, in dénen bstimmte Weblinks enthoiden san. Dodabei kennern Blootzhoiter wia beispüsweis  <code>*.beispü.at</code> hergnummer wern. Es muass mindastens a Top-Level-Domain, z. Bsp. „*.org“. auhgeem wern. <br />Unterstytzde Protokói: <code>$1</code> (Dé bittscheh bei da Suachauhgob auhgeem.)",
+       "linksearch-text": "Dé Speziaalseiten do daméglicht d' Suach noch Seiten, in dénen bstimmte Weblinks enthoiden san. Dodabei kennern Blootzhoiter wia beispüsweis  <code>*.beispü.at</code> hergnummer wern. Es muass mindastens a Top-Level-Domain, z. Bsp. „*.org“. auhgeem wern. <br />Unterstytzde Protokói: $1 (Dé bittscheh bei da Suachauhgob auhgeem.)",
        "linksearch-line": "$1 is valinkt vo $2",
        "listusers-submit": "Zoag",
        "listusers-noresult": "Koane Benutzer gfunden.",
index 82a3c73..b280c97 100644 (file)
        "passwordreset": "نوکین پسوردء بلوٹ",
        "passwordreset-text-one": "پر وتی پسوردء واترء ائ فرمء پکا کن ات.",
        "passwordreset-text-many": "{{PLURAL:$1|اگان لوٹت ایمیلء گون موکتین پسوردء پر شما راهیگ ببیت، یکئ چه ائ جاگاهانء پر بکن ات.}}",
-       "passwordreset-legend": "نوکین پسوردء بلوٹ",
        "passwordreset-disabled": "پسوردء واتر کتن مان ائ ویکیء نافعال بیتگ انت.",
        "passwordreset-emaildisabled": "ایمیلء حالتان مان ائ ویکیء نافعال بیتگ انت.",
        "passwordreset-username": "کار زوروکی نام:",
        "resettokens": "پجاروکان(tokens)ی واتر",
        "resettokens-text": "شما توان ات پجاروکان(tokens) که دزرسیء اجازت پر شمئی وتیگین دیتا همگرنچ گون شمئی اکانتء دینت، واتر بکن ات.\nهما درگتء ائ کار بیت کنت که نامالومین شهسء شمئی اکانتء لاگین کتگ انت.",
        "resettokens-no-tokens": "هچ پجاروکء پر واترء ودی نبوت.",
-       "resettokens-legend": "پجاروکان(tokens)ی واتر",
        "resettokens-tokens": "پجاروکان(tokens):",
        "resettokens-token-label": "$1 (انیگین اندازگ: $2)",
        "resettokens-watchlist-token": "ویب فیدء پجاروک [[Special:Watchlist|پیجانی تغییرات که آهانء رهگر کن ات]] (اتم/آراس‌اس)",
        "linksearch-pat": "گردگ الگو:",
        "linksearch-ns": "نام فضا:",
        "linksearch-ok": "گردگ",
-       "linksearch-text": "تقریبانی په داب \"*.wikipedia.org\" شاید استفاده بیت.<br />\nداشتگین پروتوکل: <code>$1</code>",
+       "linksearch-text": "تقریبانی په داب \"*.wikipedia.org\" شاید استفاده بیت.<br />\nداشتگین پروتوکل: $1",
        "linksearch-line": "$1 لینک بوتت چه $2",
        "linksearch-error": "تقریبیان شاید فقط ته اول نام هاست جاه کاینت.",
        "listusersfrom": "پیشدار کابرانی که شروع بنت گون:",
index 4864fe5..545a882 100644 (file)
        "passwordreset": "Pakibago kan sekretong panlaog",
        "passwordreset-text-one": "Kumpletuhon ining porma sa pagliwat otro kan saimong pasa-taramon.",
        "passwordreset-text-many": "{{PLURAL:$1|Kaagi an saro sa mga kaaganan tanganing makaresibe nin sarong temporaryong pasa-taramon sa paagi kan e-surat.}}",
-       "passwordreset-legend": "Pakibago kan sekretong panlaog",
        "passwordreset-disabled": "An pagbago kan sekretong panlaog pinagpundo sa wiking ini.",
        "passwordreset-emaildisabled": "E-surat na mga estima pinag-uruntok sa wiking ini.",
        "passwordreset-username": "Paragamit-ngaran:",
        "resettokens": "Pakibaguha an mga paduos",
        "resettokens-text": "Ika makakapagbago kan ma paduos na magtutugot nin kalangkayan pasiring sa siyertong datos na pribado na asosyado sa saimong panindog digde.\n\nGibohon mo ini kun aksidente mong naipagheras sinda sa kiisay man o kun an saimong panindog kompromitido na.",
        "resettokens-no-tokens": "Mayo nin mga paduos na babaguhon.",
-       "resettokens-legend": "Pakibaguha an mga paduos",
        "resettokens-tokens": "Mga Paduos:",
        "resettokens-token-label": "$1 (na ngunyan na halaga: $2)",
        "resettokens-watchlist-token": "Paduos para sa hungitan nin web (Atom/RSS) kan [[Special:Watchlist|mga kaliwatan sa mga pahina nin saimong bantay-listahan]]",
        "nmembers": "$1 {{PLURAL:$1|miyembro|mga miyembro}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|miyembro|mga miyembro}}",
        "nrevisions": "$1 {{PLURAL:$1|pagpakarhay|mga pagpakarhay}}",
-       "nviews": "$1 {{PLURAL:$1|hiling|mga hiling}}",
        "nimagelinks": "Ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}",
        "ntransclusions": "ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}",
        "specialpage-empty": "Mayong mga resulta para sa report na ini.",
        "linksearch-pat": "Pangarugan sa paghahanap:",
        "linksearch-ns": "Espasyong-ngaran:",
        "linksearch-ok": "Hanápon",
-       "linksearch-text": "Mga tsambang baraha arog baka kan \"*.wikipedia.org\" na puwedeng paggamiton.\nMinakaipo kisera halangkaw na kamugtakan nin kinasakupan, halimbawa \"*.org\".<br />\nSuportadong {{PLURAL:$2|protokol|mga protokol}}: <code>$1</code> (defaults to http:// kun mayong protokol na pinagkaag).",
+       "linksearch-text": "Mga tsambang baraha arog baka kan \"*.wikipedia.org\" na puwedeng paggamiton.\nMinakaipo kisera halangkaw na kamugtakan nin kinasakupan, halimbawa \"*.org\".<br />\nSuportadong {{PLURAL:$2|protokol|mga protokol}}: $1 (defaults to http:// kun mayong protokol na pinagkaag).",
        "linksearch-line": "$1 isinugpon gikan sa $2",
        "linksearch-error": "Mga pantsambang baraha mapuwedeng magluwas sana sa poon kan hostname.",
        "listusersfrom": "Ipahiling an mga paragamit poon sa:",
index 8b36734..f4f0827 100644 (file)
        "linksearch-pat": "Узор для пошуку:",
        "linksearch-ns": "Прастора назваў:",
        "linksearch-ok": "Шукаць",
-       "linksearch-text": "Можна ўжываць сымбалі падстаноўкі, напрыклад, «*.wikipedia.org».\nНеабходны дамэн першага ўзроўню, напрыклад, «*.org».<br />\n{{PLURAL:$2|1=Пратакол, які падтрымліваецца|Пратаколы, якія падтрымліваюцца}}: <code>$1</code> (дапомна http://, калі пратакол не пазначаны).",
+       "linksearch-text": "Можна ўжываць сымбалі падстаноўкі, напрыклад, «*.wikipedia.org».\nНеабходны дамэн першага ўзроўню, напрыклад, «*.org».<br />\n{{PLURAL:$2|1=Пратакол, які падтрымліваецца|Пратаколы, якія падтрымліваюцца}}: $1 (дапомна http://, калі пратакол не пазначаны).",
        "linksearch-line": "Спасылка на $1 з $2",
        "linksearch-error": "Сымбалі падстаноўкі могуць ужывацца толькі ў пачатку адрасоў.",
        "listusersfrom": "Паказаць удзельнікаў, пачынаючы з:",
        "changecontentmodel-legend": "Зьмена мадэлі зьместу",
        "changecontentmodel-title-label": "Назва старонкі",
        "changecontentmodel-model-label": "Новая мадэль зьместу",
+       "changecontentmodel-reason-label": "Прычына:",
+       "changecontentmodel-success-title": "Мадэль зьместу была зьмененая",
+       "changecontentmodel-success-text": "Тып зьместу [[:$1]] быў зьменены.",
+       "changecontentmodel-cannot-convert": "Зьмест [[:$1]] ня можа быць ператвораны ў тып $2.",
+       "changecontentmodel-title-cantexist": "Немагчыма мець старонку ў $1.",
+       "changecontentmodel-nodirectediting": "Мадэль зьместу $1 не падтрымлівае наўпроставае рэдагаваньне",
+       "log-name-contentmodel": "Журнал зьменаў мадэляў зьместу",
        "protectlogpage": "Журнал абаронаў",
        "protectlogtext": "Ніжэй пададзены сьпіс зьменаў абароны старонкі.\nГлядзіце [[Special:ProtectedPages|сьпіс абароненых старонак на цяперашні момант]].",
        "protectedarticle": "абароненая «[[$1]]»",
        "metadata-help": "Гэты файл утрымлівае дадатковую інфармацыю, хутчэй за ўсё дададзеную зь лічбавай фотакамэры ці сканэра.\nКалі файл рэдагаваўся пасьля стварэньня, то частка зьвестак можа не адпавядаць зьмененаму файлу.",
        "metadata-expand": "Паказаць падрабязнасьці",
        "metadata-collapse": "Схаваць падрабязнасьці",
-       "metadata-fields": "Палі мэта-зьвестак выявы з гэтага сьпісу будуць паказаныя на старонцы выявы, калі табліца мэта-зьвестак будзе згорнутая.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+       "metadata-fields": "Палі мэта-зьвестак выявы з гэтага сьпісу будуць паказаныя на старонцы выявы, калі табліца мэта-зьвестак будзе згорнутая. Іншыя будуць схаваныя па змоўчаньні.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "exif-imagewidth": "Шырыня",
        "exif-imagelength": "Вышыня",
        "exif-bitspersample": "Глыбіня колеру",
index 59edae7..f1c9dc3 100644 (file)
        "passwordreset": "Выслаць мне новы пароль",
        "passwordreset-text-one": "Запоўніце гэту форму, каб атрымаць часовы пароль па эл.пошце.",
        "passwordreset-text-many": "{{PLURAL:$1|Запоўніце адно з палёў, каб атрымаць тымчасовы пароль па электроннай пошце.}}",
-       "passwordreset-legend": "Пераўстанавіць пароль",
        "passwordreset-disabled": "Функцыя пераўсталёўкі пароля адключаная на гэтай вікі.",
        "passwordreset-emaildisabled": "Функцыі эл.пошты адключаны на гэтай Вікі.",
        "passwordreset-username": "Імя ўдзельніка:",
        "resettokens": "Скінуць токены",
        "resettokens-text": "Вы можаце пераўстанавіць токены, якія дазваляюць атрымліваць доступ да пэўных прыватных звестак, звязаных з вашым уліковым запісам.\n\nВы мусіце скінуць токены, калі выпадкова падзяліліся імі з кім-небудзь, ці ваш уліковы запіс быў скампраметаваны.",
        "resettokens-no-tokens": "Няма чаго скідваць.",
-       "resettokens-legend": "Скідванне токенаў",
        "resettokens-tokens": "Токены:",
        "resettokens-token-label": "$1 (актуальнае значэнне: $2)",
        "resettokens-watchlist-token": "Токен струменя (Atom/RSS) [[Special:Watchlist|зменаў старонак у вашым спісе назірання]]",
        "nmembers": "$1 {{PLURAL:$1|складнік|складнікі|складнікаў}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|складнік|складнікі|складнік}}",
        "nrevisions": "$1 {{PLURAL:$1|версія|версіі|версій}}",
-       "nviews": "$1 {{PLURAL:$1|паказ|паказаў}}",
        "nimagelinks": "Выкарыстоўваецца на $1 {{PLURAL:$1|старонцы|старонках|старонках}}",
        "ntransclusions": "выкарыстоўваецца на $1 {{PLURAL:$1|старонцы|старонках|старонках}}",
        "specialpage-empty": "Няма вынікаў для гэтай справаздачы.",
        "linksearch-pat": "Што шукаецца:",
        "linksearch-ns": "Прастора назваў:",
        "linksearch-ok": "Знайсці",
-       "linksearch-text": "Можна выкарыстоўваць падстаноўныя сімвалы, напрыклад, <code>*.wikipedia.org</code>.\nНеабходзен прынамсі дамен верхняга ўзроўню, напрыклад <code>*.org</code><br />\n{{PLURAL:$2|Пратакол|Пратаколы}}, якія падтрымліваюцца: <code>$1</code> (прадвызначаны http:// калі пратакол не ўказаны)",
+       "linksearch-text": "Можна выкарыстоўваць падстаноўныя сімвалы, напрыклад, <code>*.wikipedia.org</code>.\nНеабходзен прынамсі дамен верхняга ўзроўню, напрыклад <code>*.org</code><br />\n{{PLURAL:$2|Пратакол|Пратаколы}}, якія падтрымліваюцца: $1 (прадвызначаны http:// калі пратакол не ўказаны)",
        "linksearch-line": "$1, на які спасылаецца $2",
        "linksearch-error": "Узоры можна ставіць толькі ў пачатак адрасу.",
        "listusersfrom": "Паказаць удзельнікаў, пачаўшы з:",
index a3d77f7..e931c0d 100644 (file)
        "passwordreset": "Възстановяване на парола",
        "passwordreset-text-one": "Попълването на формуляра ще доведе до възстановяване на паролата.",
        "passwordreset-text-many": "{{PLURAL:$1|За получаване на временна парола по електронна поща е необходимо да попълните едно от полетата.}}",
-       "passwordreset-legend": "Възстановяване на парола",
        "passwordreset-disabled": "Възстановяването на паролата е изключено в това уики.",
        "passwordreset-emaildisabled": "Функцията за електронна поща е изключена в това уики.",
        "passwordreset-username": "Потребителско име:",
        "changeemail-throttled": "Направили сте твърде много опити за влизане в системата. \nМоля, изчакайте $1 преди следващия опит.",
        "resettokens": "Изчистване на маркерите",
        "resettokens-no-tokens": "Няма маркери за изчистване.",
-       "resettokens-legend": "Изчистване на маркерите",
        "resettokens-tokens": "Маркери:",
        "resettokens-token-label": "$1 (текуща стойност: $2)",
        "resettokens-watchlist-token": "Маркер за уеб хранилка (Atom/RSS) на [[Special:Watchlist|промени на страници от списъка Ви за наблюдение]]",
        "randomincategory-nopages": "В категория [[:Category:$1|$1]] няма страници.",
        "randomincategory-category": "Категория:",
        "randomincategory-legend": "Случайна страница от категорията",
+       "randomincategory-submit": "Отваряне",
        "randomredirect": "Случайно пренасочване",
        "randomredirect-nopages": "В именно пространство „$1“ няма пренасочвания.",
        "statistics": "Статистика",
        "nmembers": "$1 {{PLURAL:$1|член|члена}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|член|члена}}",
        "nrevisions": "$1 {{PLURAL:$1|версия|версии}}",
-       "nviews": "$1 {{PLURAL:$1|преглед|прегледа}}",
        "nimagelinks": "Използва се в $1 {{PLURAL:$1|страница|страници}}",
        "ntransclusions": "използва се в $1 {{PLURAL:$1|страница|страници}}",
        "specialpage-empty": "Страницата е празна.",
        "linksearch-pat": "Търсене по:",
        "linksearch-ns": "Именно пространство:",
        "linksearch-ok": "Търсене",
-       "linksearch-text": "Възможна е употребата на заместващи знаци като: „*.wikipedia.org“.\nНеобходим е поне домейн от най-високо ниво, например „*.org“.<br />\n{{PLURAL:$2|Поддържан протокол|Поддържани протоколи}}: <code>$1</code> (ако не е посочено, по подразбиране се използва http:// ).",
+       "linksearch-text": "Възможна е употребата на заместващи знаци като: „*.wikipedia.org“.\nНеобходим е поне домейн от най-високо ниво, например „*.org“.<br />\n{{PLURAL:$2|Поддържан протокол|Поддържани протоколи}}: $1 (ако не е посочено, по подразбиране се използва http:// ).",
        "linksearch-line": "$1 с препратка от $2",
        "linksearch-error": "Заместващите знаци могат да стоят само в началото на името на хоста.",
        "listusersfrom": "Показване на потребителите, започвайки от:",
index fd06461..863182a 100644 (file)
        "resetpass-wrong-oldpass": "Katasunduk samantara atawa wayah ni kada sah.\nPian pinanya sudah barhasil maubah katasunduk Pian atawa maminta sabuting katasunduk samantara hanyar.",
        "resetpass-temp-password": "Katasunduk samantara:",
        "passwordreset": "Bulikakan setelan katasunduk",
-       "passwordreset-legend": "Bulikakan setelan katasunduk",
        "passwordreset-disabled": "Mambulikakan setelan katasunduk dipajahakan hagan wiki ngini.",
        "passwordreset-username": "Ngaran pamakai:",
        "passwordreset-domain": "Dumain:",
        "nlinks": "$1 {{PLURAL:$1|tautan|tautan}}",
        "nmembers": "$1 {{PLURAL:$1|angguta|angguta}}",
        "nrevisions": "$1 {{PLURAL:$1|ralatan|raralatan}}",
-       "nviews": "dilihat $1 {{PLURAL:$1|kali|kali}}",
        "nimagelinks": "Diguna'akan pada $1 {{PLURAL:$1|tungkaran|tutungkaran}}",
        "ntransclusions": "dipuruk pada $1 {{PLURAL:$1|tungkaran|tutungkaran}}",
        "specialpage-empty": "Kadada kulihan gasan lapuran ngini.",
        "linksearch-pat": "Gagai bapola:",
        "linksearch-ns": "Ruang-ngaran:",
        "linksearch-ok": "Gagai",
-       "linksearch-text": "Kartu liar nangkaya \"*.wikipedia.org\" hingkat diguna'akan.\nMamarlukan sadikitnya asa ranah tingkat atas, misalnya \"*.org\".<br />\nProtokol nang didukung: <code>$1</code> (jangan tambahakan dalam panggagaian Pian)",
+       "linksearch-text": "Kartu liar nangkaya \"*.wikipedia.org\" hingkat diguna'akan.\nMamarlukan sadikitnya asa ranah tingkat atas, misalnya \"*.org\".<br />\nProtokol nang didukung: $1 (jangan tambahakan dalam panggagaian Pian)",
        "linksearch-line": "$1 ditautakan matan $2",
        "linksearch-error": "Kartu-liar mancungul pintang awalan matan ngaranhost.",
        "listusersfrom": "Manampaiakan papamuruk mulai matan:",
index 242bfa7..4f56209 100644 (file)
        "linksearch-pat": "অনুসন্ধান প্যাটার্ন:",
        "linksearch-ns": "নামস্থান:",
        "linksearch-ok": "অনুসন্ধান",
-       "linksearch-text": "\"*.wikipedia.org\" এর মত ওয়াইল্ড কার্ড ব্যবহার করা যেতে পারে।\nনূন্যতম একটি টপ লেভেল ডোমেইন প্রয়োজন, যেমন \"*.org\".<br />\nযে সকল {{PLURAL:$2|প্রোটোকল|প্রোটোকলসমূহ}} সমর্থন করে: <code>$1</code> (প্রোটকল উল্লেখ করা না হলে http:// ডিফল্ট হিসাবে ব্যবহৃত হবে)।",
+       "linksearch-text": "\"*.wikipedia.org\" এর মত ওয়াইল্ড কার্ড ব্যবহার করা যেতে পারে।\nনূন্যতম একটি টপ লেভেল ডোমেইন প্রয়োজন, যেমন \"*.org\"।<br />\nযে সকল {{PLURAL:$2|প্রোটোকল|প্রোটোকলসমূহ}} সমর্থন করে: $1 (প্রোটোকল উল্লেখ করা না হলে http:// ডিফল্ট হিসাবে ব্যবহৃত হবে)।",
        "linksearch-line": "$2 থেকে $1 এ লিংক করা হয়েছে",
        "linksearch-error": "হোস্ট নামের শুরুতে কেবলমাত্র ওয়াইল্ডকার্ড ব্যবহার করা যায়।",
        "listusersfrom": "সেই সব ব্যবহারকারী দেখাও যাদের নাম এই অক্ষর দিয়ে শুরু:",
        "rollback-success": "$1-এর সম্পাদনাগুলি পূর্বাবস্থায় ফিরিয়ে নেওয়া হয়েছে; $2-এর করা শেষ সংস্করণে পাতাটি ফেরত নেওয়া হয়েছে।",
        "sessionfailure-title": "সেশন পরিত্যক্ত",
        "sessionfailure": "আপনার লগ ইন সেশনে একটি সমস্যা হয়েছে বলে মনে হচ্ছে;\nসেশন হাইজ্যাক প্রতিরোধের উপায় হিসেবে এই কাজটি বাতিল করা হয়েছে।\nঅনুগ্রহ ব্রাউজারের \"back\" বোতাম চাপুন এবং যে পাতা থেকে এসেছিলেন, তা রিলোড করুন এবং আবার চেষ্টা করুন।",
+       "changecontentmodel-title-label": "পাতার শিরোনাম",
+       "changecontentmodel-model-label": "পাতার বিষয়বস্তুর প্রতিরূপ",
+       "changecontentmodel-reason-label": "কারণ:",
+       "changecontentmodel-success-title": "বিষয়বস্তুর প্রতিরূপ পরিবর্তিত হয়েছিলো",
+       "changecontentmodel-success-text": "[[:$1]]-এর বিষয়বস্তুর ধরণ পরিবর্তন হয়েছে।",
        "logentry-contentmodel-change": "$1 $3 পাতার বিষয়বস্তুর মডেল \"$4\" থেকে \"$5\"-এ {{GENDER:$2|পরিবর্তন করেছেন}}",
        "protectlogpage": "সুরক্ষা লগ",
        "protectlogtext": "নিচে সুরক্ষিত পাতার  একটি তালিকা দেয়া হল। \nবর্তমানে সক্রিয় পাতার সুরক্ষাগুলির তালিকা দেখতে [[Special:ProtectedPages|সুরক্ষিত পাতার তালিকা]] দেখুন।",
index c9da4e7..50a8f7f 100644 (file)
        "unprotectthispage": "Cheñch live gwareziñ ar bajenn-mañ",
        "newpage": "Pajenn nevez",
        "talkpage": "Pajenn gaozeal",
-       "talkpagelinktext": "Kaozeal",
+       "talkpagelinktext": "kaozeal",
        "specialpage": "Pajenn dibar",
        "personaltools": "Ostilhoù personel",
        "articlepage": "Sellet ouzh ar pennad",
        "rcshowhideminor": "$1 ar c'hemmoù dister",
        "rcshowhideminor-show": "Diskouez",
        "rcshowhideminor-hide": "Kuzhat",
-       "rcshowhidebots": "$1 ar robotoù",
+       "rcshowhidebots": "$1 ar botoù",
        "rcshowhidebots-show": "Diskouez",
        "rcshowhidebots-hide": "Kuzhat",
        "rcshowhideliu": "$1 an implijerien enrollet",
        "linksearch-pat": "Klask an droienn :",
        "linksearch-ns": "Esaouenn anv :",
        "linksearch-ok": "Klask",
-       "linksearch-text": "Gallout a reer implijout arouezennoù \"joker\" evel, da skouer, \"*.wikipedia.org\".\nRekis eo dezho un domani a-us da nebeutañ evel, da skouer, \"*.org\".<br />\n{{PLURAL:$2|Protokol|Protokoloù}} skoret : <code>$1</code> (defaults to http:// na lakait hini ebet eus ar re-se en ho klask).",
+       "linksearch-text": "Gallout a reer implijout arouezennoù \"joker\" evel, da skouer, \"*.wikipedia.org\".\nRekis eo dezho un domani a-us da nebeutañ evel, da skouer, \"*.org\".<br />\n{{PLURAL:$2|Protokol|Protokoloù}} skoret : $1 (defaults to http:// na lakait hini ebet eus ar re-se en ho klask).",
        "linksearch-line": "$1 gant ul liamm adal $2",
        "linksearch-error": "N'hall an arouezennoù joker bezañ implijet nemet e deroù anv domani an ostiz.",
        "listusersfrom": "Diskouez anv an implijerien adal :",
        "activeusers-intro": "Setu aze ur roll eus an implijerien zo bet oberiant mui pe vui e-pad an $1 {{PLURAL:$1|deiz|deiz}} diwezhañ.",
        "activeusers-count": "$1 {{PLURAL:$1|oberiadenn}} abaoe an {{PLURAL:$3|deiz|$3 deiz}} diwezhañ",
        "activeusers-from": "Diskouez an implijerien adal :",
-       "activeusers-hidebots": "Kuzhat ar robotoù",
+       "activeusers-hidebots": "Kuzhat ar botoù",
        "activeusers-hidesysops": "Kuzhat ar verourien",
        "activeusers-noresult": "N'eus bet kavet implijer ebet.",
        "listgrouprights": "Gwirioù ar strolladoù implijer",
        "namespace": "Esaouenn anv :",
        "invert": "Eilpennañ an dibab",
        "tooltip-invert": "Askañ ar voest-mañ da guzhat ar c'hemmoù er pajennoù stag ouzh an esaouenn anv diuzet (hag an esaouenn anv stag, m'emañ asket)",
-       "namespace_association": "Esaouennoù anv all da ouzhpennañ",
+       "namespace_association": "Esaouennoù anv liammet",
        "tooltip-namespace_association": "Askañ ar voest-mañ da lakaat ivez e-barzh ar gaozeadenn pe danvez an esaouenn anv liammet ouzh an esaouenn anv diuzet",
        "blanknamespace": "(Pennañ)",
        "contributions": "Degasadennoù an {{GENDER:$1|implijer|implijerez}}",
index de5f247..435a15f 100644 (file)
@@ -21,7 +21,8 @@
                        "Milicevic01",
                        "Macofe",
                        "Emir Mujadzic",
-                       "Srdjan m"
+                       "Srdjan m",
+                       "Semso98"
                ]
        },
        "tog-underline": "Podvuci veze:",
        "creating": "Pravljenje stranice $1",
        "editingsection": "Uređujete $1 (dio)",
        "editingcomment": "Uređujete $1 (nova sekcija)",
-       "editconflict": "Vaše izmjene se nisu mogle sačuvati zbog sukoba uređivanja. Da li bi ste sukob {{GENDER:|mogli}} razriješiti ručno?",
+       "editconflict": "Sukob izmjena: $1",
        "explainconflict": "Neko drugi je promijenio ovu stranicu otkad ste je Vi počeli mijenjati.\nGornje tekstualno polje sadrži tekst stranice koji trenutno postoji.\nVaše izmjene prikazane su u donjem tekstu.\nMorat ćete unijeti svoje promjene u postojeći tekst.\n'''Samo''' tekst u gornjem tekstualnom polju bit će sačuvan kad\nkliknete \"{{int:savearticle}}\".",
        "yourtext": "Vaš tekst",
        "storedversion": "Uskladištena verzija",
        "powersearch-togglelabel": "Označi:",
        "powersearch-toggleall": "Sve",
        "powersearch-togglenone": "Ništa",
+       "powersearch-remember": "Zapamti izbor za buduće pretrage",
        "search-external": "Vanjska pretraga",
        "searchdisabled": "<p>Izvinjavamo se!  Puno pretraga teksta je privremeno onemogućena.  U međuvremenu, možete koristiti Google za pretragu.  Indeks može biti stariji.",
        "search-error": "Desila se greška prilikom pretraživanja: $1",
        "prefs-help-email-others": "Također možete da odaberete da vas drugi kontaktiraju putem vaše korisničke stranice ili stranice za razgovor bez otkrivanja vašeg identiteta.",
        "prefs-help-email-required": "Neophodno je navesti e-mail adresu.",
        "prefs-info": "Osnovne informacije",
-       "prefs-i18n": "Internacionalizacije",
+       "prefs-i18n": "Internacionalizacija",
        "prefs-signature": "Potpis",
        "prefs-dateformat": "Format datuma",
        "prefs-timeoffset": "Vremenska razlika",
        "recentchanges-summary": "Na ovoj stranici možete pratiti nedavne izmjene.",
        "recentchanges-noresult": "U zadanom vremenu nema promjena za zadane kriterije.",
        "recentchanges-feed-description": "Na ovoj stranici možete pratiti nedavne izmjene.",
-       "recentchanges-label-newpage": "Ovom izmjenom pravi se nova stranica",
-       "recentchanges-label-minor": "Ovo je mala izmjena",
-       "recentchanges-label-bot": "Ovu izmjenu napravio je bot",
+       "recentchanges-label-newpage": "Nova stranica",
+       "recentchanges-label-minor": "Manja izmjena",
+       "recentchanges-label-bot": "Izmjenu napravio bot",
        "recentchanges-label-unpatrolled": "Ova izmjena još nije patrolirana",
-       "recentchanges-label-plusminus": "Veličina stranice promijenila se za ovoliko bajtova",
+       "recentchanges-label-plusminus": "Promjena veličine stranice u bajtovima",
        "recentchanges-legend-heading": "'''Legenda:'''",
-       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (također pogledajte [[Special:NewPages|spisak novih stranica]])",
+       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|spisak novih stranica]])",
        "rcnotefrom": "Ispod {{PLURAL:$5|je izmjena|su izmjene}} od <strong>$3, $4</strong> (do <strong>$1</strong> prikazano).",
        "rclistfrom": "Prikaži nove izmjene počev od $3 $2",
        "rcshowhideminor": "$1 male izmjene",
        "rcshowhidebots": "$1 botove",
        "rcshowhidebots-show": "Pokaži",
        "rcshowhidebots-hide": "Sakrij",
-       "rcshowhideliu": "$1 registrovanih korisnika",
+       "rcshowhideliu": "$1 registrovane korisnike",
        "rcshowhideliu-show": "Pokaži",
        "rcshowhideliu-hide": "Sakrij",
        "rcshowhideanons": "$1 anonimne korisnike",
        "uploaderror": "Greška pri slanju",
        "upload-recreate-warning": "<strong>Upozorenje: Datoteka s tim imenom je obrisana ili premještena.</strong>\nZapisnik brisanja i premještanja za ovu stranicu dostupan je ovdje:",
        "uploadtext": "Koristite formu ispod za postavljanje datoteka.\nDa bi ste vidjeli ili pretražili ranije postavljene datoteke, pogledajte [[Special:FileList|spisak postavljenih datoteka]], ponovna postavljanja su također zapisana u [[Special:Log/upload|zapisnik postavljanja]], a brisanja u [[Special:Log/delete|zapisnik brisanja]].\n\nDa bi ste prikazali datoteku na stranici, koristite link na jedan od slijedećih načina:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datoteka.jpg]]</nowiki></code>''' da upotrijebite potpunu veziju datoteke\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datoteka.png|200px|thumb|lijevo|opis slike]]</nowiki></code>''' da upotrijebite smanjeni prikaz širine 200 piksela unutar okvira, s lijevim poravnanjem i ''opisom slike''.\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Datoteka.ogg]]</nowiki></code>''' za direkno povezivanje datoteke bez njenog prikazivanja",
-       "upload-permitted": "Podržane vrste datoteka: $1.",
-       "upload-preferred": "Preferirane vrste datoteka: $1.",
-       "upload-prohibited": "Zabranjene vrste datoteka: $1.",
+       "upload-permitted": "{{PLURAL:$2|Podržana vrsta|Podržane vrste}} datoteka: $1.",
+       "upload-preferred": "{{PLURAL:$2|Preferirana vrsta|Preferirane vrste}} datoteka: $1.",
+       "upload-prohibited": "{{PLURAL:$2|Zabranjena vrsta|Zabranjene vrste}} datoteka: $1.",
        "uploadlogpage": "Zapisnik postavljanja",
        "uploadlogpagetext": "Ispod je spisak nedavno postavljenih datoteka.\nZa vizualni pregled datoteka, [[Special:NewFiles|pogledajte galeriju novih slika]].",
        "filename": "Ime datoteke",
        "unusedimages": "Neupotrebljene slike",
        "wantedcategories": "Tražene kategorije",
        "wantedpages": "Tražene stranice",
+       "wantedpages-summary": "Spisak nepostojećih stranica sa najviše veza ka njima. Na spisku se ne nalaze stranice do kojih vode preusmjerenja. Za spisak nepostojećih stranica na koje su povezana preumsjerenja, pogledajte [[{{#special:BrokenRedirects}}|spisak pokvarenih preusmerenja]].",
        "wantedpages-badtitle": "Nevaljan naslov u setu rezultata: $1",
        "wantedfiles": "Tražene datoteke",
        "wantedfiletext-cat": "Sljedeće datoteke se koriste, ali ne postoje. Datoteke iz drugih baza mogu biti navedene iako ne postoje. Takve datoteke će biti <del>izbrisane</del> sa spiska. Pored toga, stranice koje sadrže nepostojeće datoteke se nalaze u [[:$1]].",
        "linksearch-pat": "Šema traženja:",
        "linksearch-ns": "Imenski prostor:",
        "linksearch-ok": "Traži",
-       "linksearch-text": "Mogu se koristiti općeniti izrazi poput \"*.wikipedia.org\".\nPotrebna je najmanje osnovna domena, naprimjer \"*.org.\"<br />\nPodržani {{PLURAL:$2|protokol|protokoli}}: <code>$1</code> (default je http:// ako nijedan protokol nije naveden).",
+       "linksearch-text": "Mogu se koristiti općeniti izrazi poput \"*.wikipedia.org\".\nPotrebna je najmanje osnovna domena, naprimjer \"*.org.\"<br />\nPodržani {{PLURAL:$2|protokol|protokoli}}: $1 (default je http:// ako nijedan protokol nije naveden).",
        "linksearch-line": "$1 je povezan od $2",
        "linksearch-error": "Džokeri se mogu pojavljivati samo na početku naziva servera.",
        "listusersfrom": "Prikaži korisnike koji počinju sa:",
        "emailccsubject": "Kopiraj Vašu poruku za $1: $2",
        "emailsent": "Poruka poslata",
        "emailsenttext": "Vaša poruka je poslata e-poštom.",
-       "emailuserfooter": "Ovaj e-mail je poslao $1 korisniku $2 putem funkcije \"Pošalji e-mail korisniku\" sa {{SITENAME}}.",
+       "emailuserfooter": "Ovaj e-mail je poslao $1 korisniku $2 putem funkcije \"{{int:emailpage}}\" sa {{SITENAME}}.",
        "usermessage-summary": "Ostavljanje sistemske poruke.",
        "usermessage-editor": "Sistem za poruke",
        "watchlist": "Praćeni članci",
        "rollback-success": "Poništene izmjene korisnika $1;\nvraćeno na posljednju verziju koju je sačuvao $2.",
        "sessionfailure-title": "Greška u sesiji",
        "sessionfailure": "Izgleda da postoji problem sa vašom sesijom; ova akcija je otkazana kao prevencija protiv napadanja sesija. Kliknite \"back\" (''nazad'') i osvježite stranicu sa koje ste došli, i opet pokušajte.",
+       "changecontentmodel-legend": "Promijeni model sadržaja",
+       "log-name-contentmodel": "Zapisnik promjene modela sadržaja",
+       "log-description-contentmodel": "Događaji koji su povezani s modelom sadržaja stranice",
        "protectlogpage": "Zapisnik zaključavanja",
        "protectlogtext": "Ispod je spisak promjena zaštićenja stranice.\nPogledajte [[Special:ProtectedPages|spisak zaštićenih stranica]] za pregled trenutno operativnih zaštita stranica.",
        "protectedarticle": "stranica \"[[$1]]\" je zaštićena",
        "sp-contributions-newbies": "Prikaži samo doprinose novih korisnika",
        "sp-contributions-newbies-sub": "Za nove korisnike",
        "sp-contributions-newbies-title": "Doprinosi novih korisnika",
-       "sp-contributions-blocklog": "Evidencija blokiranja",
+       "sp-contributions-blocklog": "zapisnik blokiranja",
        "sp-contributions-deleted": "obrisani doprinosi korisnika",
        "sp-contributions-uploads": "postavljanja",
        "sp-contributions-logs": "zapisnici",
        "compare-revision-not-exists": "Izmjena koji ste naveli ne postoji.",
        "dberr-problems": "Žao nam je! Ova stranica ima određene tehničke poteškoće.",
        "dberr-again": "Pokušajte pričekati par minuta i zatim osvježiti.",
-       "dberr-info": "(ne može se spojiti server baze podataka: $1)",
+       "dberr-info": "(ne može se pristupiti bazi podataka: $1)",
        "dberr-usegoogle": "U međuvremenu, možete pokušati pretraživanje putem Google.",
        "dberr-outofdate": "Zapamtite da njihovi indeksi našeg sadržaja ne moraju uvijek biti ažurni.",
        "dberr-cachederror": "Sljedeći tekst je keširana kopija zahtijevane stranice, koja možda nije potpuno ažurirana.",
        "revdelete-restricted": "primijenjena ograničenja za administratore",
        "revdelete-unrestricted": "uklonjena ograničenja za administratore",
        "logentry-block-block": "$1 {{GENDER:$2|blokirao|blokirala}} je {{GENDER:$4|$3}} sa vremenom isticanja blokade od $5 $6",
+       "logentry-block-unblock": "$1 {{GENDER:$2|deblokirao|deblokirala}} je {{GENDER:$4|$3}}",
        "logentry-suppress-block": "$1 {{GENDER:$2|blokirao|blokirala}} je {{GENDER:$4|$3}} sa vremenom isticanja blokade od $5 $6",
        "logentry-move-move": "$1 {{GENDER:$2|premjestio|premjestila}} je stranicu $3 na $4",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|premjestio|premjestila}} je stranicu $3 na $4 bez ostavljanja preusmjerenja",
index bb14cfc..81da434 100644 (file)
        "content-model-css": "CSS",
        "content-json-empty-object": "Objecte buit",
        "content-json-empty-array": "Matriu buida",
+       "duplicate-args-warning": "<strong>Avís:</strong> [[:$1]] crida [[:$2]] amb més d'un valor pel paràmetre «$3». Només s'utilitzarà el darrer valor proporcionat.",
        "duplicate-args-category": "Pàgines amb arguments duplicats en utilització de plantilles",
        "duplicate-args-category-desc": "La pàgina conté crides a plantilles que fan servir duplicats d'arguments, com ara <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> o <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
        "expensive-parserfunction-warning": "Atenció: Aquesta pàgina conté massa crides a funcions parserfunction complexes.\n\nActualment n'hi ha {{PLURAL:$1|$1|$1}} i, com a molt, {{PLURAL:$2|hauria|haurien}} de ser $2.",
        "linksearch-pat": "Patró de cerca:",
        "linksearch-ns": "Espai de noms:",
        "linksearch-ok": "Cerca",
-       "linksearch-text": "Es poden utilitzar caràcters comodí com \"*.wikipedia.org\".\nEs necessita com a mínim un domini de primer nivell, per exemple \"*.org\".<br />\n{{PLURAL:$2|Protocol admès|Protocols admesos}}: <code>$1</code> (http:// per defecte si no se n'especifica cap).",
+       "linksearch-text": "Es poden utilitzar caràcters comodí com \"*.wikipedia.org\".\nEs necessita com a mínim un domini de primer nivell, per exemple \"*.org\".<br />\n{{PLURAL:$2|Protocol admès|Protocols admesos}}: $1 (http:// per defecte si no se n'especifica cap).",
        "linksearch-line": "$1 enllaçat a $2",
        "linksearch-error": "Els caràcters comodí només poden aparèixer a l'inici de l'url.",
        "listusersfrom": "Mostra usuaris començant per:",
        "rollback-success": "Edicions revertides de $1; s'ha canviat a la darrera versió de $2.",
        "sessionfailure-title": "Error de sessió",
        "sessionfailure": "S'ha produït un error amb la vostra sessió. S'ha anul·lat aquesta acció en prevenció de pirateig de sessió. Premeu «Torna», recarregueu la pàgina des d'on veniu i torneu-ho a intentar.",
+       "changecontentmodel-title-label": "Títol de la pàgina",
+       "changecontentmodel-reason-label": "Motiu:",
+       "logentry-contentmodel-change-revertlink": "reverteix",
+       "logentry-contentmodel-change-revert": "reverteix",
        "protectlogpage": "Registre de protecció",
        "protectlogtext": "A continuació es mostra un registre amb els canvis de protecció de pàgines.\nVegeu la [[Special:ProtectedPages|llista de pàgines protegides]] per a la llista de les pàgines que actualment tenen alguna protecció.",
        "protectedarticle": "ha protegit «[[$1]]»",
        "tooltip-pt-logout": "Finalitza la sessió d'usuari",
        "tooltip-pt-createaccount": "Us animem a què creeu un compte i inicieu sessió, encara que no és obligatori",
        "tooltip-ca-talk": "Discussió sobre el contingut d'aquesta pàgina",
-       "tooltip-ca-edit": "Podeu modificar aquesta pàgina. Si us plau, previsualitzeu-la abans de desar-la",
+       "tooltip-ca-edit": "Modifica aquesta pàgina",
        "tooltip-ca-addsection": "Comença una nova secció",
        "tooltip-ca-viewsource": "Aquesta pàgina està protegida.\nPodeu veure'n el codi font.",
        "tooltip-ca-history": "Versions antigues d'aquesta pàgina",
index 37bf386..65bd132 100644 (file)
        "undeletethispage": "ХӀара агӀо меттахӀоттор",
        "undelete_short": "МеттахӀоттайé $1 {{PLURAL:$1|нисйинарг|нисйинарш}}",
        "viewdeleted_short": "{{PLURAL:$1|$1 ДӀадаьккхина нийсдаре|$1 ДӀадаьхна нийсдарше}} хьажар",
-       "protect": "Ð\93lаÑ\80олла Ð´Ã©",
+       "protect": "Ð\9bаÑ\80Ñ\8aÑ\8fÑ\80",
        "protect_change": "хийца",
-       "protectthispage": "Ð\93lаÑ\80олла Ð´Ã© Ñ\85lокÑ\85Ñ\83 Ð°Ð³lон",
+       "protectthispage": "Ð\9bаÑ\80Ñ\8aе Ñ\85Ó\80аÑ\80а Ð°Ð³Ó\80о",
        "unprotect": "ГӀароллех къаста",
        "unprotectthispage": "ГӀароллех къаста",
        "newpage": "Керла агӀо",
        "protectedinterface": "ХӀокху агӀона чохь интерфейсан программа латторан хаам бу. Зулам ца дайта цуна хийцам бан куьйгалхошна бен цало.\nХӀокху хааман гоч тӀетоха я хийца лелае локализацин сайт MediaWiki [//translatewiki.net/ translatewiki.net]",
        "editinginterface": "<strong>Тергам бе:</strong> Ахьа таеш ю интерфейсан йоза долу агӀо программин латторан.\nЦуна бина хийцам хьокху Википедин кхечу декъашхошна гур бу.",
        "translateinterface": "ХӀокху хааман гоч тӀетоха я хийца дехар до лелае локализацин сайт MediaWiki [//translatewiki.net/ translatewiki.net].",
-       "cascadeprotected": "Ð\90гÓ\80о Ñ\85ийÑ\86ам Ñ\86а Ð±Ð°Ð¹Ñ\82а Ð³Ó\80оÑ\80алла Ð´ина ю {{PLURAL:$1|хӀокху агӀона|хӀокху агӀонийн}} юкъа йогӀуш хилар бахьнехь:\n$2",
+       "cascadeprotected": "Ð\90гÓ\80о Ñ\85ийÑ\86ам Ñ\86а Ð±Ð°Ð¹Ñ\82а Ð»Ð°Ñ\80йина ю {{PLURAL:$1|хӀокху агӀона|хӀокху агӀонийн}} юкъа йогӀуш хилар бахьнехь:\n$2",
        "namespaceprotected": "ХӀан бакъо яц анна цӀерш чохь тадарш да «$1».",
        "customcssprotected": "Хьан бакъо яц хӀара CSS-агӀо тая, иза кхечу декъашхочун гӀерс болу дера.",
        "customjsprotected": "Хьан бакъо яц хӀара JavaScript-агӀо тая, иза кхечу декъашхочун гӀерс болу дера.",
        "yourdiff": "Башхаллаш",
        "copyrightwarning": "Тергаме хьажа, массо яззаман чутухуш долу йозан хийцам хьажарехь бу, арахоьцушсанна оцу лицензи хьоляхь $2 (хьаж. $1).\nНагахь хьо лууш вацахь хьай йозанаш маьрша даржа а кхечаьрга хийцам байта, мадаха уьш кху чу.<br />\nИшта чӀагӀо йой ахьа, айхьа далош долучуьн хьо куьг да ву аьлла, я хьаэцна цхьан\nхьостера, хийцам ба а дӀаса даржада а чулацам болуш.<br />\n'''МАТОХИЙШ БАКЪО ЙОЦУ ГӀИРСАШ КХУ ЧУ, КУЬГ ДЕ БАКЪО ЛАР ЙЕШ ЙОЛУ!'''",
        "readonlywarning": "'''ДӀАХЬЕДО. ГӀирса бух блоктоьхна оьшуш долучу хьаштан, цундера хӀинц хьоьга дӀа ца йазло хийцам.\nХила мега, ахьа Ӏалаш дан дезаш хьайн йоза, юха тӀаьхьо леладан иза йоза.'''\n\nКуьйгалхочо блоктоьхна гӀирса бух, цо битина кхетош хӀара хаам: $1",
-       "protectedpagewarning": "'''Ð\94Ó\80аÑ\85Ñ\8cедаÑ\80. Ð¥Ó\80аÑ\80а Ð°Ð³Ó\80о Ð³Ó\80аÑ\80олла Ð´ина ю хийцам цабайта, иза хийца я нисъян а бакъо йолуш куьйгалла лелош болу декъашхой бе бац.'''\nЛахахьа гойту хаамаш тӀаьххьара бина болу хийцамна тептар чура:",
-       "semiprotectedpagewarning": "'''Ð\94Ó\80аÑ\85Ñ\8cедо.''' Ð¥Ó\80аÑ\80а Ð°Ð³Ó\80о Ð³Ó\80аÑ\80олла Ð¹Ð¸Ð½Ð° Ñ\8e; Ð´Ó\80абазбинаÑ\87Ñ\83 Ð´ÐµÐºÑ\8aаÑ\88Ñ\85оÑ\88ка Ð±Ðµ Ñ\86Ó\80е Ñ\85ийÑ\86алÑ\83Ñ\88 Ñ\8fÑ\86.\nÐ\9bаÑ\85аÑ\85Ñ\8cа Ñ\82епÑ\82аÑ\80о Ð±Ð°Ð»Ð¸Ð¹Ð½Ð° Ñ\82Ó\80аÑ\8cхьаралера дӀаязбина хаам:",
+       "protectedpagewarning": "'''Ð\94Ó\80аÑ\85Ñ\8cедаÑ\80. Ð¥Ó\80аÑ\80а Ð°Ð³Ó\80о Ð»Ð°Ñ\80йина ю хийцам цабайта, иза хийца я нисъян а бакъо йолуш куьйгалла лелош болу декъашхой бе бац.'''\nЛахахьа гойту хаамаш тӀаьххьара бина болу хийцамна тептар чура:",
+       "semiprotectedpagewarning": "'''Ð\94Ó\80аÑ\85Ñ\8cедо.''' Ð¥Ó\80аÑ\80а Ð°Ð³Ó\80о Ð»Ð°Ñ\80йина Ñ\8e; Ð´Ó\80абазбинаÑ\87Ñ\83 Ð´ÐµÐºÑ\8aаÑ\88Ñ\85оÑ\88ка Ð±Ðµ Ñ\86Ó\80е Ñ\85ийÑ\86алÑ\83Ñ\88 Ñ\8fÑ\86.\nÐ\9bаÑ\85аÑ\85Ñ\8cа Ñ\82епÑ\82аÑ\80о Ð±Ð°Ð»Ð¸Ð¹Ð½Ð° Ñ\82Ó\80аÑ\8cÑ\85хьаралера дӀаязбина хаам:",
        "cascadeprotectedwarning": "<div id=\"cascadeprotectedwarning\" style=\"border:1px solid #ee0; padding:10px; background:#ffa; margin-bottom:1em\">[[file:Padlock.svg|left|25px|ДовгӀа|link=]]\nХӀара агӀо тада бакъо йолуш [[Project:Куьйгалхой|куьйгалхой]] бу, хӀунда аьлча и агӀо латийна кхечу агӀонашца хӀоттделлачу гӀаролле:</div>",
        "templatesused": "{{PLURAL:$1|1=Кеп, лелош ю|Кепаш, лелош ю}} хӀокху агӀон башхонца:",
        "templatesusedpreview": "{{PLURAL:$1|1=Кеп, лелошдолу|Кепаш, лелойлу}} оцу хьалх хьожучу агӀонца:",
        "templatesusedsection": "ХӀокху декъан чохь {{PLURAL:$1|1=лелош йолу кеп|лелош йолу кепаш}}:",
        "template-protected": "(гlароллийца)",
-       "template-semiprotected": "(дÑ\83Ñ\8cззина Ð´Ð¾Ñ\86Ñ\83Ñ\88 Ð³lаÑ\80олла)",
+       "template-semiprotected": "(дÑ\83Ñ\8cззина Ð´Ð¾Ñ\86Ñ\83Ñ\88 Ð»Ð°Ñ\80Ñ\8aÑ\8fÑ\80)",
        "hiddencategories": "ХӀара агӀо чуйогӀуш ю оцу $1 {{PLURAL:$1|1=къайлаха категори чу|къайлаха категореш чу}}:",
        "edittools": "<!-- Кхузе буха диллина йоза гуш хир ду редоккхуче бухахь а хlума чуйоккхуче бухахь. -->",
        "nocreate-loggedin": "Хьан бакъо яц керла агӀонаш кхолла.",
        "right-ipblock-exempt": "IP блоктохаршна чекхбовлар, диапазонийн шаблоктохаршна а блоктохаршна а",
        "right-proxyunbannable": "проксен автоматически блоктохаран чекхбовлар",
        "right-unblockself": "ша шин блокдӀаяккхар",
-       "right-protect": "АгӀона гӀоралла хийцар а гӀоралла дина агӀо нисяр а",
-       "right-editprotected": "«{{int:protect-level-sysop}}» Ð±Ð°Ñ\85Ñ\8cанÑ\86а Ð³Ó\80оÑ\80алла Ð´Ð¸Ð½Ð° Ð°Ð³Ó\80онаÑ\88 Ð½Ð¸Ñ\81яр",
-       "right-editsemiprotected": "«{{int:protect-level-autoconfirmed}}» Ð±Ð°Ñ\85Ñ\8cанÑ\86а Ð³Ó\80оÑ\80алла Ð´Ð¸Ð½Ð° Ð°Ð³Ó\80онаÑ\88 Ð½Ð¸Ñ\81яр",
+       "right-protect": "АгӀо ларъяран хийцар а, ларйина агӀо нисяр а",
+       "right-editprotected": "«{{int:protect-level-sysop}}» Ð±Ð°Ñ\85Ñ\8cанÑ\86а Ð»Ð°Ñ\80йина Ð°Ð³Ó\80онаÑ\88 Ð½Ð¸Ñ\81Ñ\8aяр",
+       "right-editsemiprotected": "«{{int:protect-level-autoconfirmed}}» Ð±Ð°Ñ\85Ñ\8cанÑ\86а Ð»Ð°Ñ\80йина Ð°Ð³Ó\80онаÑ\88 Ð½Ð¸Ñ\81Ñ\8aяр",
        "right-editinterface": "лелош йолу интерфейсан хийцам бар",
        "right-editusercssjs": "кхечу декъашхойн CSS- а JS- а файлаш нисяр",
        "right-editusercss": "кхечу декъашхойн CSS-файлаш нсяр",
        "shortpages": "Боца яззамаш",
        "longpages": "Беха яззамаш",
        "deadendpages": "Дика йоцу агӀонаш",
-       "protectedpages": "Ð\93IаÑ\80олла Ð´ина агӀонаш",
-       "protectedpages-indef": "Хан Ð¹Ð¾Ñ\86Ñ\83Ñ\88 Ð³Ó\80оÑ\80алла Ð´инарш бен",
-       "protectedpages-cascade": "ЧаÑ\85Ñ\87аÑ\80ин Ð³Ó\80оÑ\80алла бен",
+       "protectedpages": "Ð\9bаÑ\80йина агӀонаш",
+       "protectedpages-indef": "Хан Ð¹Ð¾Ñ\86Ñ\83Ñ\88 Ð»Ð°Ñ\80йинарш бен",
+       "protectedpages-cascade": "ЧаÑ\85Ñ\87аÑ\80ин Ð»Ð°Ñ\80Ñ\8aÑ\8fÑ\80 бен",
        "protectedpages-noredirect": "Къайлаяха дӀасахьажийнарш",
        "protectedpages-timestamp": "Терахь/хан",
        "protectedpages-page": "АгӀо",
        "protectedpages-reason": "Бахьана",
        "protectedpages-unknown-timestamp": "Хууш дац",
        "protectedpages-unknown-performer": "Хууш доцу декъашхо",
-       "protectedtitles": "Ð\93Ó\80аÑ\80олла Ð´ина цӀерш",
+       "protectedtitles": "Ð\9bаÑ\80йина цӀерш",
        "listusers": "Декъашхойн могӀам",
        "listusers-editsonly": "Цхаъ мукъане а хийцам бина декъашхой гайта",
        "listusers-creationsort": "Кхоьллина хене хьаьжжина нисъяр",
        "linksearch-pat": "Лехарна кеп:",
        "linksearch-ns": "ЦӀерийн ана:",
        "linksearch-ok": "Лахар",
-       "linksearch-text": "Лело мега хӀоттош йолу символаш, масала, <code>*.wikipedia.org</code>.\nЛакхара даржан домен мукъа хила еза , масала<code>*.org</code><br />\nЛовш йолу {{PLURAL:$2|1=протокол|протоколаш}}: <code>$1</code> (Iад йитарца http://, протокол бакъалла язъен яцахь).",
+       "linksearch-text": "Лело мега хӀоттош йолу символаш, масала, <code>*.wikipedia.org</code>.\nЛакхара даржан домен мукъа хила еза , масала<code>*.org</code><br />\nЛовш йолу {{PLURAL:$2|1=протокол|протоколаш}}: $1 (Iад йитарца http://, протокол бакъалла язъен яцахь).",
        "linksearch-line": "$2 — хьажорг кху $1",
        "listusersfrom": "Гучé баха декъашхой, болалуш болу тӀера:",
        "listusers-submit": "Гайта",
        "changecontentmodel-reason-label": "Бахьана:",
        "logentry-contentmodel-change-revertlink": "юхаяккха",
        "logentry-contentmodel-change-revert": "Юхаяккха",
-       "protectlogpage": "Ð\93lаÑ\80олли тептар",
-       "protectlogtext": "Лахахь гойту агӀона гӀоралла дарна бина хийцамаш чохь болу тептар.\nХьа кхин йиш ю [[Special:ProtectedPages|хӀинца гӀоралла дина йолу агӀонийн могӀаме хьажа]].",
-       "protectedarticle": "гlаÑ\80олла Ð´Ð¸Ð½Ð° Ð°Ð³lо «[[$1]]»",
-       "modifiedarticleprotection": "агlонан гlаролли локхалла хийцина «[[$1]]»",
+       "protectlogpage": "Ð\9bаÑ\80Ñ\8fÑ\80ан тептар",
+       "protectlogtext": "Лахахь гойту агӀо лаъръяран хийцамаш чохь болу тептар.\nХьа кхин йиш ю [[Special:ProtectedPages|хӀинца ларйина йолу агӀонийн могӀаме хьажа]].",
+       "protectedarticle": "Ð\9bаÑ\80йина Ð°Ð³Ó\80о «[[$1]]»",
+       "modifiedarticleprotection": "агӀонан ларяран локхалла хийцина «[[$1]]»",
        "unprotectedarticle": "ГӀоролла дӀадаьстина «[[$1]]»",
-       "movedarticleprotection": "«[[$2]]» Ð°Ð³Ó\80она Ñ\82Ó\80еÑ\80а Ð³Ó\80аÑ\80олла «[[$1]]» агӀона тӀе даьккхина",
-       "protect-title": "Ð\93Ó\80оÑ\80алла Ñ\85Ó\80оÑ\82Ñ\82ор: «$1»",
+       "movedarticleprotection": "«[[$2]]» Ð°Ð³Ó\80она Ñ\82Ó\80еÑ\80а Ð»Ð°Ñ\80Ñ\8aÑ\8fÑ\80 «[[$1]]» агӀона тӀе даьккхина",
+       "protect-title": "Ð\9bаÑ\80Ñ\8aÑ\8fр: «$1»",
        "protect-title-notallowed": "ГӀораллин бараме хьажар «$1»",
        "prot_1movedto2": "«[[$1]]» цӀе хийцина → «[[$2]]»",
        "protect-badnamespace-title": "ГӀораладан цалуш йолу цӀерийн ана",
        "protect-badnamespace-text": "ХӀокху цӀерийн меттигехь йолу агӀонашна гӀараладан цало.",
        "protect-norestrictiontypes-title": "ГӀараладан цалуш йолу агӀо",
-       "protect-legend": "Ð\91акÑ\8aде Ð³Ó\80оÑ\80алла Ð´Ð°р",
+       "protect-legend": "Ð\91акÑ\8aде Ð°Ð³Ó\80о Ð»Ð°Ñ\80Ñ\8aÑ\8fр",
        "protectcomment": "Бахьана:",
        "protectexpiry": "Чекхйолу:",
-       "protect_expiry_invalid": "Ð\9dийÑ\81а Ð¹Ð¾Ñ\86Ñ\83 Ñ\85ан Ð³lаÑ\80олла Ð´lайаларехь.",
+       "protect_expiry_invalid": "Ð\9dийÑ\81а Ð¹Ð¾Ñ\86Ñ\83 Ñ\85ан Ð»Ð°Ñ\80Ñ\8aÑ\8fÑ\80 Ð´Ó\80айаларехь.",
        "protect_expiry_old": "Хан чаккхе — хьалхалера.",
-       "protect-unchain-permissions": "СÑ\85Ñ\8cабелла ÐºÑ\85ин Ð³Ó\80оÑ\80Ñ\80алин гӀирс",
+       "protect-unchain-permissions": "СÑ\85Ñ\8cабелла ÐºÑ\85ин Ð»Ð°Ñ\8aÑ\80Ñ\8aÑ\8fÑ\80ан гӀирс",
        "protect-text": "Кхузéхь хьо хьажало хийцалуш гӀароллин локхалла оцу агӀонашна '''$1'''.",
        "protect-locked-access": "Хьан дӀаяздаран тоъал бакъо яц гӀароллийн локхаллéхь агӀон хийцам бá. ДӀадоьлху хӀоттийнарш агӀонна '''$1''':",
-       "protect-cascadeon": "Хlара агlо гlароллийца ю, хlунд аьлча иза латийна {{PLURAL:$1|1=лахахьа гойтучу агlонца, цуьнца хlоттийна|лахахьа гойтучу агlоншца, цаьрца хlоттийна}} чахчарийца гlаролла. Хьога хийцалур ю гlаролли локхалла хlокху агlон, амма оцо хийцам бийра бац чахчарехь йолучу гlароллийна.",
-       "protect-default": "Ð\93lаÑ\80олла Ð¹оцуш",
+       "protect-cascadeon": "ХӀара агӀо хӀинца ларйина ю, хӀунда аьлча иза латийна {{PLURAL:$1|1=лахахьа гойтучу агӀонца, цуьнца хӀоттийна|лахахьа гойтучу агӀоншца, цаьрца хӀоттийна}} чахчарийца ларяър. Хьога хийцалур ду ларяран локхалла хӀокху агӀон, амма оцо хийцам бийра бац чахчарехь йолучу ларярна.",
+       "protect-default": "Ð\9bаÑ\80Ñ\8aÑ\8fÑ\80 Ð´оцуш",
        "protect-fallback": "Бакъо оьшу «$1»",
-       "protect-level-autoconfirmed": "Ð\93lаÑ\80олла Ð´Ã© Ð¾Ñ\86Ñ\83 ÐºÐµÑ\80ла Ð° Ð´lабазбина Ð±Ð¾Ñ\86Ñ\83Ñ\87Ñ\83 Ð´ÐµÐºÑ\8aаÑ\88Ñ\85ойÑ\85",
-       "protect-level-sysop": "Ð\9aÑ\83Ñ\8cйгалÑ\85оÑ\88на Ð±Ã© Ñ\86амагдо",
+       "protect-level-autoconfirmed": "Ð\9cагийна Ð°Ð²Ñ\82о-Ñ\82Ó\80елаÑ\8cÑ\86на Ð±Ð¾Ð»Ñ\83 Ð´ÐµÐºÑ\8aаÑ\88Ñ\85оÑ\88на",
+       "protect-level-sysop": "Ð\9cагийна ÐºÑ\83Ñ\8cйгалÑ\85оÑ\88на",
        "protect-summary-cascade": "чахчареца",
        "protect-expiring": "чакхйолу $1 (UTC)",
        "protect-expiring-local": "чекхйолу $1",
        "protect-expiry-indefinite": "хан чаккхе йоцуш",
-       "protect-cascade": "Ð\93Ó\80аÑ\80олла Ð¹Ã© Ð°Ð³Ó\80онаÑ\88, Ñ\85Ó\80окÑ\85Ñ\83 Ð°Ð³Ó\80онÑ\86а Ñ\85Ó\80оÑ\82Ñ\82айеллаÑ\80Ñ\88 (Ñ\87аÑ\85Ñ\87аÑ\80é Ð³Ó\80аÑ\80олла)",
+       "protect-cascade": "Ð\9bаÑ\80Ñ\8aе Ð°Ð³Ó\80онаÑ\88, Ñ\85Ó\80окÑ\85Ñ\83 Ð°Ð³Ó\80онÑ\86а Ñ\85Ó\80оÑ\82Ñ\82айеллаÑ\80Ñ\88 (Ñ\87аÑ\85Ñ\87аÑ\80é Ð»Ð°Ñ\80Ñ\8fÑ\8aÑ\80)",
        "protect-cantedit": "Хьéга хийцам цабало хӀокху агӀон гlаролли локхалан, хӀуд аьлча хьан бакъо яц оцунна тадар дан.",
        "protect-othertime": "Кхин хан:",
        "protect-othertime-op": "кхин хан",
        "protect-existing-expiry-infinity": "Карара чекхйолу хан: чаккхе йоцу",
        "protect-otherreason": "Кхин бахьана/тӀетохар:",
        "protect-otherreason-op": "Кхин бахьана",
-       "protect-dropdown": "* Ð\93Ó\80оÑ\80алла Ð´Ð°Ñ\80на баьхьаш \n** сих-сиха зулам дар \n** дуккха спам хилар\n** нисдарийн тӀом \n** гӀараялл агӀо",
+       "protect-dropdown": "* Ð\9bаÑ\8aÑ\80Ñ\8aÑ\8fÑ\80ан баьхьаш \n** сих-сиха зулам дар \n** дуккха спам хилар\n** нисдарийн тӀом \n** гӀараялл агӀо",
        "protect-edit-reasonlist": "Бахьанин могӀам нисбар",
        "protect-expiry-options": "1 сахьт:1 hour,1 де:1 day,1 кӀиран:1 week,2 кӀиран:2 weeks,1 бутт:1 month,3 бутт:3 months,6 бутт:6 months,1 шо:1 year,цlкъа:infinite",
        "restriction-type": "Бакъонаш:",
        "restriction-move": "ЦӀе хийцар",
        "restriction-create": "Кхоллар",
        "restriction-upload": "Чуйолуш",
-       "restriction-level-sysop": "дуьззина гӀоралла",
-       "restriction-level-autoconfirmed": "дÑ\83Ñ\8cззина Ð´Ð¾Ñ\86Ñ\83Ñ\88 Ð³Ó\80аÑ\80олла",
+       "restriction-level-sysop": "юьззина ларъяр",
+       "restriction-level-autoconfirmed": "дÑ\83Ñ\8cззина Ð´Ð¾Ñ\86Ñ\83Ñ\88 Ð»Ð°Ñ\80даÑ\80",
        "restriction-level-all": "массо барам",
        "undelete": "ДӀаяьхна агӀонашка хьажар",
        "undeletepage": "ДӀаяьхна агӀонашка хьажар а меттахӀоттор а",
        "imageinvalidfilename": "Файлан цӀе гӀалате ю",
        "fix-double-redirects": "Хьалхара цӀе йолу дӀасахьажорг нисъян",
        "move-leave-redirect": "Ӏадйита дӀасахьажораг",
-       "protectedpagemovewarning": "'''Ð\94Ó\80аÑ\85Ñ\8cедаÑ\80.''' Ð¥Ó\80аÑ\80а Ð°Ð³Ó\80о Ð³Ó\80аÑ\80олла Ð¹Ð¸Ð½Ð° Ñ\8e; Ñ\86Ó\80е Ñ\85ийÑ\86а Ñ\8f Ð½Ð¸Ñ\81йа а бакъо йолуш куьйгалхой бе бац.\nЛахахьа тептаро балийна тӀаьхьаралера дӀаязбина хаам:",
-       "semiprotectedpagemovewarning": "'''Ð\94Ó\80аÑ\85Ñ\8cедо.''' Ð¥Ó\80аÑ\80а Ð°Ð³Ó\80о Ð³Ó\80аÑ\80олла Ð¹Ð¸Ð½Ð° Ñ\8e; Ð´Ó\80абазбинаÑ\87Ñ\83 Ð´ÐµÐºÑ\8aаÑ\88Ñ\85оÑ\88ка Ð±Ðµ Ñ\86Ó\80е Ñ\85ийÑ\86алÑ\83Ñ\88 Ñ\8fÑ\86.\nÐ\9bаÑ\85аÑ\85Ñ\8cа Ñ\82епÑ\82аÑ\80о Ð±Ð°Ð»Ð¸Ð¹Ð½Ð° Ñ\82Ó\80аÑ\8cхьаралера дӀаязбина хаам:",
+       "protectedpagemovewarning": "'''Ð\94Ó\80аÑ\85Ñ\8cедаÑ\80.''' Ð¥Ó\80аÑ\80а Ð°Ð³Ó\80о Ð»Ð°Ñ\80йина Ñ\8e; Ñ\86Ó\80е Ñ\85ийÑ\86а Ñ\8f Ð½Ð¸Ñ\81Ñ\8aÑ\8fн а бакъо йолуш куьйгалхой бе бац.\nЛахахьа тептаро балийна тӀаьхьаралера дӀаязбина хаам:",
+       "semiprotectedpagemovewarning": "'''Ð\94Ó\80аÑ\85Ñ\8cедо.''' Ð¥Ó\80аÑ\80а Ð°Ð³Ó\80о Ð»Ð°Ñ\80йина Ñ\8e; Ð´Ó\80абазбинаÑ\87Ñ\83 Ð´ÐµÐºÑ\8aаÑ\88Ñ\85оÑ\88ка Ð±Ðµ Ñ\86Ó\80е Ñ\85ийÑ\86алÑ\83Ñ\88 Ñ\8fÑ\86.\nÐ\9bаÑ\85аÑ\85Ñ\8cа Ñ\82епÑ\82аÑ\80о Ð±Ð°Ð»Ð¸Ð¹Ð½Ð° Ñ\82Ó\80аÑ\8cÑ\85хьаралера дӀаязбина хаам:",
        "move-over-sharedrepo": "== Файл йолуш ю ==\nВикигулам чохь йолуш ю [[:$1]]. ХӀокху файлан цӀе хийцича Викигулам чуьраниг дӀакъовлу.",
        "export": "АгӀонаш араяхар",
        "exporttext": "Шуьга далур ду кхечу меттера чудахарш, йоза а хийцаме тептарш билгалла йолу агӀонаш я гулдина йолу агӀонаш хӀокху XML барамца, юха тӀаьхьа чура [[Special:Import|хьаэцалурдолш]] кхечу вики-хьалхен, болх беш йолу хӀокху MediaWiki гӀирсаца.\n\nКхечу меттера яззамаш чуяха, чу язъе цӀе тадечу метте, цхьа могӀан цӀе могӀаршкахь, юха харжа лаьий шуна кхечу меттигера чуяха массо яззамашна истори хийцамбарш я тӀаьххьарлера яззаман верси.\n\nШуьга кхи далундерг, лелаеш йолу адресан хьажорг кхечу меттера чудаха тӀаьххьарлерачу версин яззамаш. Масала оцу яззаман [[{{MediaWiki:Mainpage}}]] хӀара хира ю хьажорг [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]].",
        "tooltip-ca-addsection": "Кхолла керла дакъа",
        "tooltip-ca-viewsource": "Хlара агlо хийцам цабайта гароллехь ю, хьоьга далундерг хьажар а дезахь чура йоза хьаэцар",
        "tooltip-ca-history": "Хlокху агlон хийцамаш болу тептар",
-       "tooltip-ca-protect": "Ð\93lаÑ\80олла Ð´Ã© Ñ\85lокÑ\85Ñ\83 Ð°Ð³lон Ñ\85ийÑ\86ам цабайта",
+       "tooltip-ca-protect": "Ð\9bаÑ\80Ñ\8aе Ð°Ð³Ó\80о Ñ\85ийÑ\86амаÑ\88 цабайта",
        "tooltip-ca-unprotect": "Дlадаккха хlокху агlонна долу гаролла",
        "tooltip-ca-delete": "ДӀаяккха хӀара агӀо",
        "tooltip-ca-move": "АгӀон цӀе хийца",
        "pageinfo-not-current": "Шира версийн оьцу хааме хьажа таро яц.",
        "pageinfo-header-basic": "Коьрта хаам",
        "pageinfo-header-edits": "Хийцаман истори",
-       "pageinfo-header-restrictions": "Ð\90гÓ\80она Ð³Ó\80оÑ\80алла Ð´Ð°р",
+       "pageinfo-header-restrictions": "Ð\90гÓ\80она Ð»Ð°Ñ\80Ñ\8aÑ\8fр",
        "pageinfo-header-properties": "АгӀона билгало",
        "pageinfo-display-title": "Гушболу корта",
        "pageinfo-default-sort": "Къасторан догӀа Ӏад йитарца",
        "pageinfo-redirectsto-info": "Хаам",
        "pageinfo-contentpage": "Лорурго чулацаме гойту агӀо",
        "pageinfo-contentpage-yes": "ХӀаъ",
-       "pageinfo-protect-cascading": "ЧаÑ\85Ñ\87аÑ\80ин Ð³Ó\80оÑ\80алла кхузара",
+       "pageinfo-protect-cascading": "ЧаÑ\85Ñ\87аÑ\80ин Ð»Ð°Ñ\80Ñ\8aÑ\8fÑ\80 кхузара",
        "pageinfo-protect-cascading-yes": "ХӀаъ",
-       "pageinfo-protect-cascading-from": "ЧаÑ\85Ñ\87аÑ\80ин Ð³Ó\80оÑ\80алла тӀера",
+       "pageinfo-protect-cascading-from": "ЧаÑ\85Ñ\87аÑ\80ин Ð»Ð°Ñ\80Ñ\8aÑ\8fÑ\80 тӀера",
        "pageinfo-category-info": "Категорех лаьцна хаам",
        "pageinfo-category-pages": "АгӀонийн дукхалла",
        "pageinfo-category-subcats": "Бухара категорийн дукхалла",
index d7b6e7a..db7000c 100644 (file)
        "view-pool-error": "ببورە، لەم کاتەدا ڕاژەکارەکان زیادەباریان لە سەرە.\nژمارەیەکی زۆر لە بەکارھێنەران ھاوکات ھەوڵی دیتنی ئەم پەڕەیان داوە.\nتکایە پێش ھەوڵی دووبارە بۆ دیتنی ئەم پەڕە، نەختێک بوەستە.\n\n$1",
        "pool-timeout": "لەکات دەرچوون ڕوویدا لەکاتی چاوەڕوانکردنی داخستندا",
        "pool-errorunknown": "هەڵەی نەزانراو",
-       "aboutsite": "سÛ\95بارÛ\95ت Ø¨Û\95 {{SITENAME}}",
+       "aboutsite": "دÛ\95ربارÛ\95Û\8c {{SITENAME}}",
        "aboutpage": "Project:سەبارەت",
        "copyright": "ناوەرۆک لە ژێر $1 لەبەردەستدایە، مەگەر بێجگە لەمە وترابێ.",
        "copyrightpage": "{{ns:project}}:مافەکانی لەبەرگرتنەوە",
        "resetpass-wrong-oldpass": "تێپەڕوشەی ھەنووکەیی یان تێپەڕوشەی کاتی ھەڵەیە.\nوا دیارە تێپەڕوشەکەت بە سەرکەوتوویی گۆڕدراوە یان داوای تێپەڕوشەیەکی نوێت کردووە.",
        "resetpass-temp-password": "تێپەڕوشەی کاتی:",
        "passwordreset": "ڕێکخستنەوەی تێپەڕوشە",
-       "passwordreset-legend": "دووبارە ڕێکخستنەوەی تێپەڕوشە",
        "passwordreset-username": "ناوی بەکارھێنەری:",
        "passwordreset-domain": "پاوان:",
        "passwordreset-capture": "بینینی ئیمەیڵی ئەنجام؟",
        "notextmatches": "لە دەقی نووسراوەکان دا نەبینرا",
        "prevn": "{{PLURAL:$1|$1}}ی پێشوو",
        "nextn": "{{PLURAL:$1|$1}}ی دواتر",
+       "prev-page": "پەڕەی پێشوو",
+       "next-page": "پەڕەی دواتر",
        "prevn-title": "$1 {{PLURAL:$1|ئەنجامی|ئەنجامی}} پێشو",
        "nextn-title": "$1 {{PLURAL:$1|ئەنجامی|ئەنجامی}} دواتر",
        "shown-title": "لە هەر پەڕەیەک $1 {{PLURAL:$1|ئەنجام|ئەنجام}} نیشان‌ بدە",
        "prefs-personal": "پرۆفایلی بەکارھێنەر",
        "prefs-rc": "دوایین گۆڕانکارییەکان",
        "prefs-watchlist": "پێرستی چاودێری",
+       "prefs-editwatchlist": "دە‌ستکاری لیستی چاودێری",
+       "prefs-editwatchlist-label": "دەستکاری لیستی چاودێرییەکەت بکە",
+       "prefs-editwatchlist-edit": "ناونیشانەکانی نێو لیستی چاودێرییەکەت ببینە و بسڕەوە",
+       "prefs-editwatchlist-clear": "لیستی چاودێرییەکەت پاک بکەرەوە",
        "prefs-watchlist-days": "ژمارەی ڕۆژەکان بۆ نیشاندان لە لیستی چاودێری:",
        "prefs-watchlist-days-max": "ئەوپەڕی $1 {{PLURAL:$1|ڕۆژە|ڕۆژە}}",
        "prefs-watchlist-edits": "ئەوپەڕی ژمارەی گۆڕانکارییەکان بۆ نیشاندان لە لیستی چاودێریی پەرەپێدراو:",
        "prefs-displaywatchlist": "ھەڵبژاردەکانی نیشاندان",
        "prefs-tokenwatchlist": "نیشانە",
        "prefs-diffs": "جیاوازییەکان",
+       "prefs-help-prefershttps": "بەکارخستنی ئەم تایبەتمەندییە کاریگەری لەسەر چوونەژوورەوەی داھاتووت دروست دەکات",
        "email-address-validity-valid": "ناونیشانی ئیمەیل دروست وە بەر چاو دێت",
        "email-address-validity-invalid": "ناونیشانێکی دروستی ئیمەیل بنووسە",
        "userrights": "بەڕێوەبردنی مافەکانی بەکارھێنەر",
        "userrights-lookup-user": "بەڕێوەبردنی گرووپەکانی بەکارھێنەر",
        "userrights-user-editname": "ناوی بەکارهێنەرێک بنووسە:",
        "editusergroup": "گرووپەکانی بەکارھێنەر دەستکاری بکە",
-       "editinguser": "گۆڕینی مافەکانی بەکارهێنەر '''[[User:$1|$1]]''' $2",
+       "editinguser": "گۆڕینی مافەکانی بەکارهێنەر {{GENDER:$1|بەکارھێنەر}} <strong>[[User:$1|$1]]</strong> $2",
        "userrights-editusergroup": "دەستکاریی گرووپەکانی بەکارهێنەر",
        "saveusergroups": "گرووپەکانی بەکارھێنەر پاشەکەوت بکە",
        "userrights-groupsmember": "ئەندامە لە:",
        "right-browsearchive": "گەڕانی پەڕە سڕاوەکان",
        "right-undelete": "ھێنانەوەی پەڕەیەک",
        "right-suppressrevision": "بینین، شاردنەوە و ھێنانەوەی پێداچوونەوە تایبەتەکانی پەڕەکان لە لایەن ھەر بەکارھێنەرێکەوە",
+       "right-viewsuppressed": "پێداچوونەوە شاراوەکانی ھەر بەکارھێنەرێک پیشانبدە",
        "right-suppressionlog": "دیتنی لۆگە نھێنییەکان",
        "right-block": "بەربەستنی بەکارھێنەرانی تر لە دەستکاریکردن",
        "right-blockemail": "بەربەستنی بەکارھێنەرێک لە ناردنی ئیمەیل",
        "action-createpage": "دروستکردنی پەڕەکان",
        "action-createtalk": "دروستکردنی پەڕەکانی وتووێژ",
        "action-createaccount": "درووست‌کردنی هەژمارەی ئەم بەکارهێنەرە",
+       "action-history": "مێژووی ئەم پەڕەیە ببینە",
        "action-minoredit": "نیشان‌کردنی ئەم دەستکاریە وەک بچووک",
        "action-move": "گواستنەوەی ئەم پەڕەیە",
        "action-move-subpages": "گواستنەوەی ئەم پەڕەیە و ژێرپەڕەکانی",
        "action-move-rootuserpages": "گواستنەوەی بنەرەتی پەڕەکانی بەکارھێنەر",
+       "action-move-categorypages": "پەڕەکانی پۆل بگوازەرەوە",
        "action-movefile": "ئەم پەڕگەیە بگوازەوە",
        "action-upload": "ئەم پەڕەیە بار بکە",
        "action-reupload": "سەرنووسینی ئەم پەڕگە وا هەیە",
        "action-sendemail": "ناردنی ئیمەیلەکان",
        "action-editmywatchlist": "دیتنی پێرستی چاودێریت",
        "action-viewmywatchlist": "دیتنی پێرستی چاودێریت",
+       "action-viewmyprivateinfo": "زانیارییە تایبەتییەکانت ببینە",
+       "action-editmyprivateinfo": "دەستکاری زانیارییە تایبەتییەکانت بکە",
        "nchanges": "$1 {{PLURAL:$1|گۆڕانکاری}}",
        "enhancedrc-history": "مێژوو",
        "recentchanges": "دوایین گۆڕانکارییەکان",
        "uploaderror": "ھەڵە لە بارکردن دا",
        "upload-recreate-warning": "'''ھۆشیار بە: پەرگەیەک بەو ناوەوە سڕاوەتەوە یان گوێزاوەتەوە.'''\n\nلۆگی سڕینەوە یان گواستنەوەی ئەم پەڕە لێرە لەبەردەستدایە:",
        "uploadtext": "فۆرمی خوارەوە بەکاربێنە بۆ بارکردنی پەڕگەکان.\nبۆ بینینی و گەڕان لەو پەڕگانەی پێشتر بار کراون، بڕۆ بۆ [[Special:FileList|لیستی پەڕگە بارکراوەکان]]، ھەروەھا [[Special:Log/upload|ڕەشنووسی بارکردنەکان]] و [[Special:Log/delete|ڕەشنووسی سڕینەوەکان]].\n\nبۆ بەکارھێنانی پەڕگەیەک لە پەڕەیەکدا، بەستەرێک بە یەکێک لەم شێوازانەی خوارەوە بە کار بێنە:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' بۆ بەکارهێنانی وەشانی تەواوی پەڕگە\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|دەقی جێگر]]</nowiki></code>''' بۆ بەکارهێنانی نمایشێکی بە پانتایی ٢٠٠ پیکسەڵ لە چوارچێوەیەک لە لای چەپەوە بە «دەقی جێگر» وەک شرۆڤە\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' بۆ بەستەرپێدان بە پەڕگەکە بێ نیشاندانی خودی پەڕگەکە",
-       "upload-permitted": "جۆرە پەڕگە ڕێگەپێدراوەکان: $1.",
+       "upload-permitted": "جۆرە پەڕگە ڕێگەپێدراوەکان {{PLURAL:$2|type|types}}: $1.",
        "upload-preferred": "جۆرە پەڕگانەی بە باشتر دەزانرێن: $1.",
        "upload-prohibited": "جۆرە پەڕگانەی قەدەغە کراون: $1.",
        "uploadlogpage": "لۆگی بارکردن",
        "listfiles_size": "قەبارە",
        "listfiles_description": "وەسف",
        "listfiles_count": "وەشانەکان",
+       "listfiles-latestversion": "وەشانی ئێستا",
+       "listfiles-latestversion-yes": "بەڵێ",
+       "listfiles-latestversion-no": "نەخێر",
        "file-anchor-link": "پەڕگە",
        "filehist": "مێژووی پەڕگە",
        "filehist-help": "کرتە بکە لەسەر یەکێک لە ڕێکەوت/کاتەکان بۆ بینینی پەڕگەکە بەو شێوەی لەو کاتەدا بووە.",
        "randompage": "پەڕەی ھەڕەمەکی",
        "randompage-nopages": "هیچ لاپەڕەیەک لەم {{PLURAL:$2|ناوبۆشاییەدا|ناوبۆشاییانەدا}} نیە: $1.",
        "randomincategory": "پەڕەیەک بە ھەڵکەوت لە پۆلدا",
+       "randomincategory-submit": "بڕۆ",
        "randomredirect": "ڕەوانەکەری ھەڕەمەکی",
        "randomredirect-nopages": "لە ناوبۆشایی \"$1\" هیچ ڕەوانکەرێک نییە.",
        "statistics": "ئامارەکان",
        "nlinks": "$1 {{PLURAL:$1|بەستەر|بەستەر}}",
        "nmembers": "$1 {{PLURAL:$1|ئەندام|ئەندام}}",
        "nrevisions": "$1 {{PLURAL:$1|پیاچوونەوە|پیاچوونەوە}}",
-       "nviews": "$1 جار {{PLURAL:$1|بینراو|بینراو}}",
        "specialpage-empty": "ئەنجامێک بۆ ئەم ڕاپۆرتە نییە.",
        "lonelypages": "پەڕە ھەتیوەکان",
        "lonelypagestext": "پەڕەکانی خوارەوە لە پەڕەکانی تری {{SITENAME}}ەوە لینکیان بۆ نەدراوە و نەھێنراونەتە نێو ھیچ پەڕەیەکی تر.",
        "linksearch-pat": "گەڕان بۆ نواندن:",
        "linksearch-ns": "بۆشاییی ناو:",
        "linksearch-ok": "گەڕان",
-       "linksearch-text": "Wildcardی وەک \"*.wikipedia.org\" بەکاردێت.\nلانی کەم پێویستی بە پاوانێکی ئاست-بان ھەیە، بۆ نموونە «*.org» .<br />\nپرۆتۆکۆلە پشتیوانی لێکراوەکان: <code>$1</code> (ھیچ کام لەمانە بە گەڕانەکەت زێدە مەکە).",
+       "linksearch-text": "Wildcardی وەک \"*.wikipedia.org\" بەکاردێت.\nلانی کەم پێویستی بە پاوانێکی ئاست-بان ھەیە، بۆ نموونە «*.org» .<br />\nپرۆتۆکۆلە پشتیوانی لێکراوەکان: $1 (ھیچ کام لەمانە بە گەڕانەکەت زێدە مەکە).",
        "linksearch-line": "$1 بەستەرپێ‌دراو لە $2",
        "listusersfrom": "نیشاندانی بەکارھێنەران بە دەستپێکردن لە:",
        "listusers-submit": "نیشانیبدە",
        "revertpage-nouser": "دەستکارییەکانی بەکارھێنەرێکی شاڕدراوە بۆ دوایین پێداچوونەوەی {{GENDER:$1|[[User:$1|$1]]}} گەڕێنرایەوە.",
        "rollback-success": "دەستکارییەکانی $1 وەرگێرایەوە؛<br />\nگۆڕدرا بۆ دوایین پێداچوونەوەی $2.",
        "sessionfailure": "لەوەدەچی کێشەیەک لە دانیشتنی چوونەژوورەوەت (login session)دا ببێت.\nئەم کردەوە هەڵوەشێندرایەوە بۆ بەرگری لە دزینی دراوەکانی دانیشتن.\nتکایە بگەڕێوە بۆ پەڕەی پێشوو و نوێی بکەوە، ئینجا دیسان تاقیی بکەوە.",
+       "changecontentmodel-title-label": "سەردێڕی پەڕە",
+       "changecontentmodel-reason-label": "هۆکار:",
        "protectlogpage": "لۆگی پاراستن",
        "protectlogtext": "لە ژێرەوە پێرستێک لە گۆڕانکارییەکانی پەڕە پارێزراوەکان دەبینی.\nبۆ پێرستی ئەو پەڕانەی ئێستا پاراستنیان لە ئارادایە بڕوانە [[Special:ProtectedPages|پێرستی پەڕە پارێزراوەکان]].",
        "protectedarticle": "«[[$1]]»ی پاراست",
        "tooltip-pt-login": "پێشنیارت پێدەکرێ بچیتە ژوورەوە؛ ھەرچەندە زۆرت لێناکرێ",
        "tooltip-pt-logout": "دەرچوون",
        "tooltip-ca-talk": "لێدوان دەربارەی ناوەڕۆکی پەرە",
-       "tooltip-ca-edit": "دÛ\95تÙ\88اÙ\86Û\8c Ø¯Û\95ستکارÛ\8cÛ\8c Ø¦Û\95Ù\85 Ù¾Û\95Ú\95Û\95Û\8cÛ\95 Ø¨Ú©Û\95Û\8cت. ØªÚ©Ø§Û\8cÛ\95 Ù¾Û\8eØ´ Ù¾Ø§Ø´Û\95Ú©Û\95Ù\88تکردÙ\86 Ø¯Ù\88Ú¯Ù\85Û\95Û\8c Ù¾Û\8eشبÛ\8cÙ\86Û\8cÙ\86 Ø¨Û\95کاربÛ\8eÙ\86Û\95.",
+       "tooltip-ca-edit": "دÛ\95ستکارÛ\8c Ø¦Û\95Ù\85 Ù¾Û\95Ú\95Û\95Û\8cÛ\95 Ø¨Ú©Û\95â\80\8c",
        "tooltip-ca-addsection": "بەشێکی نوێ دەست پێ بکە",
        "tooltip-ca-viewsource": "ئەم پەڕەیە پارێزراوە.\nئەتوانی سەرچاوەکەی ببینیت",
        "tooltip-ca-history": "وەشانەکانی پێشووی ئەم پەڕەیە",
index 2c88d50..fb1ce13 100644 (file)
        "linksearch-pat": "Vyhledávací vzor:",
        "linksearch-ns": "Jmenný prostor:",
        "linksearch-ok": "Hledat",
-       "linksearch-text": "Lze používat zástupné znaky, např. „*.wikipedia.org“.\nPovinná je přinejmenším doména nejvyššího řádu, např. „*.org“.<br />\n{{PLURAL:$2|Podporovaný protokol|Podporované protokoly}}: <code>$1</code> (pokud není protokol uveden, použije se http://).",
+       "linksearch-text": "Lze používat zástupné znaky, např. „*.wikipedia.org“.\nPovinná je přinejmenším doména nejvyššího řádu, např. „*.org“.<br />\n{{PLURAL:$2|Podporovaný protokol|Podporované protokoly}}: $1 (pokud není protokol uveden, použije se http://).",
        "linksearch-line": "$2 odkazuje na $1",
        "linksearch-error": "Zástupné znaky lze použít jen na začátku doménového jména.",
        "listusersfrom": "Zobrazit uživatele počínaje od:",
index 8f3d87b..5de7f78 100644 (file)
        "blanknamespace": "(Тĕп)",
        "contributions": "{{GENDER:$1|Усă куракан}} ӳсĕмĕсем",
        "contributions-title": "Усă куракан $1 хушни",
-       "mycontris": "Ӳсĕм",
+       "mycontris": "Хушни",
        "contribsub2": "{{GENDER:$3|$1}} валли ($2)",
        "uctop": "(хальхи)",
        "month": "Уйăхран (тата маларах):",
        "specialpages-group-media": "Медиа-материалсемпе тултарăшсем",
        "specialpages-group-users": "Хутшăнакансем тата правасем",
        "specialpages-group-highuse": "Нумай усă куракан страницăсем",
+       "compare-submit": "Танлаштар",
        "htmlform-selectorother-other": "Урăххи",
        "htmlform-no": "Çук",
        "logentry-move-move": "$1 страницă {{GENDER:$2|ятне улăштарчĕ}} $3 - $4",
index 0ee2be7..b67d4a6 100644 (file)
        "linksearch-pat": "Patrwm chwilio:",
        "linksearch-ns": "Parth:",
        "linksearch-ok": "Chwilio",
-       "linksearch-text": "Gellir defnyddio cardiau gwyllt megis \"*.wikipedia.org\".\nMae angen parth lefel-uchaf o leiaf, er enghraifft \"*.org\".<br />\n{{PLURAL:$2|Protocol|Protocol|Protocoliau}} sy'n cael eu cynnal: <code>$1</code> (yn neidio i http:// os na roddir protocol o gwbl).",
+       "linksearch-text": "Gellir defnyddio cardiau gwyllt megis \"*.wikipedia.org\".\nMae angen parth lefel-uchaf o leiaf, er enghraifft \"*.org\".<br />\n{{PLURAL:$2|Protocol|Protocol|Protocoliau}} sy'n cael eu cynnal: $1 (yn neidio i http:// os na roddir protocol o gwbl).",
        "linksearch-line": "Mae cysylltiad i gael i $1 oddi wrth $2",
        "linksearch-error": "Dim ond ar ddechrau enw'r gwesteiwr y gallwch osod cardiau gwyllt.",
        "listusersfrom": "Dangos y defnyddwyr gan ddechrau â:",
index cc2c9a5..0f8b6ce 100644 (file)
        "passwordreset": "Nulstil adgangskode",
        "passwordreset-text-one": "Udfyld denne formular for at nulstille din adgangskode.",
        "passwordreset-text-many": "{{PLURAL:$1|Udfyld et af felterne for at modtage en midlertidig adgangskode via e-mail.}}",
-       "passwordreset-legend": "Nulstil adgangskode",
        "passwordreset-disabled": "Nulstilling af adgangskode er slået fra på denne wiki.",
        "passwordreset-emaildisabled": "E-mailfunktioner er slået fra på denne wiki.",
        "passwordreset-username": "Brugernavn:",
        "resettokens": "Nulstil nøgler",
        "resettokens-text": "Du kan nulstille nøgler, som giver adgang til visse private data i forbindelse med din konto her.\n\nDu bør gøre det, hvis du ved et uheld deler dem med nogen, eller hvis din konto er blevet kompromitteret.",
        "resettokens-no-tokens": "Der er ingen nøgler at nulstille.",
-       "resettokens-legend": "Nulstil nøgler",
        "resettokens-tokens": "Nøgler:",
        "resettokens-token-label": "$1 (aktuel værdi: $2)",
        "resettokens-watchlist-token": "Nøgle for web-feed (Atom/RSS) af [[Special:Watchlist|ændringer af sider på din overvågningsliste]]",
        "randomincategory-nopages": "Der er ingen sider i [[:Category:$1]].",
        "randomincategory-category": "Kategori:",
        "randomincategory-legend": "Tilfældig side i en given kategori",
+       "randomincategory-submit": "Udfør",
        "randomredirect": "Tilfældige henvisninger",
        "randomredirect-nopages": "Der er ingen omdirigeringer i navnerummet $1.",
        "statistics": "Statistik",
        "nmembers": "$1 {{PLURAL:$1|medlem|medlemmer}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|medlem|medlemmer}}",
        "nrevisions": "{{PLURAL:$1|1 ændring|$1 ændringer}}",
-       "nviews": "{{PLURAL:$1|1 visning|$1 visninger}}",
        "nimagelinks": "Brugt på $1 {{PLURAL:$1|side|sider}}",
        "ntransclusions": "brugt på $1 {{PLURAL:$1|side|sider}}",
        "specialpage-empty": "Der er ingen resultater at vise.",
        "linksearch-pat": "Søg efter links til:",
        "linksearch-ns": "Navnerum:",
        "linksearch-ok": "Søg",
-       "linksearch-text": "Wildcards som \"*.wikipedia.org\" kan benyttes.\nDer skal som minimum angives et topniveau-domæne som f. eks. \"*.org\".<br />\n{{PLURAL:$2|Understøttet protokol|Understøttede protokoller}}: <code>$1</code> (bruger automatisk http:// hvis der ikke er angivet nogen protokol).",
+       "linksearch-text": "Wildcards som \"*.wikipedia.org\" kan benyttes.\nDer skal som minimum angives et topniveau-domæne som f. eks. \"*.org\".<br />\n{{PLURAL:$2|Understøttet protokol|Understøttede protokoller}}: $1 (bruger automatisk http:// hvis der ikke er angivet nogen protokol).",
        "linksearch-line": "$2 linker til $1",
        "linksearch-error": "Wildcards må kun benyttes i starten af hostnavnet.",
        "listusersfrom": "Vis brugere fra:",
index eb9d933..cf3c514 100644 (file)
@@ -85,7 +85,7 @@
        "tog-hideminor": "Kleine Änderungen in den „Letzten Änderungen“ ausblenden",
        "tog-hidepatrolled": "Kontrollierte Änderungen in den „Letzten Änderungen“ ausblenden",
        "tog-newpageshidepatrolled": "Kontrollierte Seiten bei den „Neuen Seiten“ ausblenden",
-       "tog-extendwatchlist": "In der Beobachtungsliste alle Änderungen anzeigen, nicht nur die aktuellsten",
+       "tog-extendwatchlist": "In der Beobachtungsliste alle und nicht nur die aktuellsten Änderungen anzeigen",
        "tog-usenewrc": "Änderungen auf „Letzte Änderungen“ und der Beobachtungsliste nach Seite gruppieren",
        "tog-numberheadings": "Überschriften automatisch nummerieren",
        "tog-showtoolbar": "Bearbeiten-Werkzeugleiste anzeigen",
        "badsig": "Die Syntax der Signatur ist ungültig; bitte HTML überprüfen.",
        "badsiglength": "Die Signatur darf maximal $1 {{PLURAL:$1|Zeichen}} lang sein.",
        "yourgender": "Welches Geschlecht hast du?",
-       "gender-unknown": "Beim Erwähnen deiner Person verwendet die Software geschlechtsneutrale Wörter, sofern möglich",
+       "gender-unknown": "Ich möchte hierzu keine Angabe machen – geschlechtsneutrale Anrede.",
        "gender-male": "Ich bin männlich",
        "gender-female": "Ich bin weiblich",
-       "prefs-help-gender": "Dies ist eine freiwillige Angabe.\nDie Software nutzt sie, um dich anzureden sowie als Hinweis für andere durch Verwendung des zutreffenden grammatikalischen Geschlechts.\nDiese Information ist öffentlich.",
+       "prefs-help-gender": "Dies ist eine freiwillige Angabe.\nDie Software nutzt sie, um dich anzureden sowie als Hinweis für andere durch Verwendung des zutreffenden grammatikalischen Geschlechts.\nDiese Information ist öffentlich zugänglich.",
        "email": "E-Mail",
        "prefs-help-realname": "Der bürgerliche Name ist optional.\nFalls angegeben, kann er verwendet werden, um dir eine Zuordnung für deine Beiträge zu geben.",
        "prefs-help-email": "Die Angabe einer E-Mail-Adresse ist optional, ermöglicht aber die Zusendung eines Ersatzpasswortes, sofern du dein Passwort vergessen hast.",
        "linksearch-pat": "Suchmuster:",
        "linksearch-ns": "Namensraum:",
        "linksearch-ok": "Suchen",
-       "linksearch-text": "Diese Spezialseite ermöglicht die Suche nach Seiten, in denen bestimmte Weblinks enthalten sind. Dabei können Platzhalter wie beispielsweise <code>*.beispiel.de</code> benutzt werden. Es muss mindestens eine Top-Level-Domain, z. B. „*.org“. angegeben werden. <br />{{PLURAL:$2|Unterstütztes Protokoll|Unterstützte Protokolle}}: <code>$1</code> (Standard ist http, falls kein Protokoll angegeben ist.)",
+       "linksearch-text": "Diese Spezialseite ermöglicht die Suche nach Seiten, in denen bestimmte Weblinks enthalten sind. Dabei können Platzhalter wie beispielsweise <code>*.beispiel.de</code> benutzt werden. Es muss mindestens eine Top-Level-Domain, z. B. „*.org“. angegeben werden. <br />{{PLURAL:$2|Unterstütztes Protokoll|Unterstützte Protokolle}}: $1 (Standard ist http, falls kein Protokoll angegeben ist.)",
        "linksearch-line": "$1 ist verlinkt von $2",
        "linksearch-error": "Wildcards können nur am Anfang der URL verwendet werden.",
        "listusersfrom": "Zeige Benutzer ab:",
        "tooltip-pt-anonuserpage": "Benutzerseite der IP-Adresse von der aus du Änderungen durchführst",
        "tooltip-pt-mytalk": "Deine Diskussionsseite",
        "tooltip-pt-anontalk": "Diskussion über Änderungen von dieser IP-Adresse",
-       "tooltip-pt-preferences": "Eigene Einstellungen",
-       "tooltip-pt-watchlist": "Liste der beobachteten Seiten",
+       "tooltip-pt-preferences": "Deine Einstellungen",
+       "tooltip-pt-watchlist": "Liste der von dir beobachteten Seiten",
        "tooltip-pt-mycontris": "Liste eigener Beiträge",
        "tooltip-pt-login": "Sich anzumelden wird gerne gesehen, ist jedoch nicht zwingend erforderlich.",
        "tooltip-pt-logout": "Abmelden",
index fc0c9ec..5db0c35 100644 (file)
        "passwordreset": "Parola reset ke",
        "passwordreset-text-one": "Na form de parola reset kerdış temamiye",
        "passwordreset-text-many": "{{PLURAL:$1|Qande parola yana e-posta reset kerdışi cayanra taynın pırkeri.}}",
-       "passwordreset-legend": "Parola reset ke",
        "passwordreset-disabled": "Parola reset kerdış ena viki sera qefılneyayo.",
        "passwordreset-emaildisabled": "Na wikid hısusiyeté e-posta dewera vıcyayé",
        "passwordreset-username": "Nameyê karberi:",
        "resettokens": "Nışanan reset ke",
        "resettokens-text": "Şıma tiya de hesabê şıma ra elaqedar tayê kılitê icazetê cıresayışê melumati şenê sıfır kerê.\n\nŞıma be ğeletiye ra ke nê kerdê vıla ya zi hesabê şıma de xırabiye ke esta, naye bıkerê.",
        "resettokens-no-tokens": "Nışanê reseti çıniyê",
-       "resettokens-legend": "Nışanan reset ke",
        "resettokens-tokens": "Nışani:",
        "resettokens-token-label": "$1 (weziyeto nıkaên: $2)",
        "resettokens-watchlist-token": "Web Feed rê nışan (Atom/RSS)ê [[Special:Watchlist|vêreno perranê lista şımawa seyrkerdışi]]",
        "randomincategory": "Ğoseri pera kategoriya",
        "randomincategory-invalidcategory": "\"$1\" yew nameyê kategoriya vêrdiye niyo.",
        "randomincategory-nopages": "Kategori da [[:Category:$1|$1]] de qet  per çıniya.",
+       "randomincategory-submit": "Şo",
        "randomredirect": "Serçarnayışo rastameye",
        "randomredirect-nopages": "Cayê nameyê \"$1\" de serşıkıtışi çıniyê.",
        "statistics": "İstatistiki",
        "nmembers": "$1 {{PLURAL:$1|eza|ezayan}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$1|eza|ezayan}}",
        "nrevisions": "$1 {{PLURAL:$1|vurnayış|vurnayışi}}",
-       "nviews": "$1 {{PLURAL:$1|vênayış|vênayışi}}",
        "nimagelinks": "$1 {{PLURAL:$1|pele de|pelan de}} gureyeno",
        "ntransclusions": "$1 {{PLURAL:$1|pele de|pelan de}} gureyeno",
        "specialpage-empty": "Seba na rapore netice çıniyo.",
        "linksearch-pat": "bıgêr motif:",
        "linksearch-ns": "Heruna namey:",
        "linksearch-ok": "Cı geyre",
-       "linksearch-text": "Jokeri ê zey \"*.wikipedia.org\"i benê ke bıgureniyê.\nTewr senık yew sewiya serêna cayê tesiri lazıma, mesela \"*.org\".<br />\nQeydeyê {{PLURAL:$2|protoqol|protoqoli}}:destegbiyayey: <code>$1</code> (qet yew qeydeyo hesabiyaye http:// ke name nêbiyo).",
+       "linksearch-text": "Jokeri ê zey \"*.wikipedia.org\"i benê ke bıgureniyê.\nTewr senık yew sewiya serêna cayê tesiri lazıma, mesela \"*.org\".<br />\nQeydeyê {{PLURAL:$2|protoqol|protoqoli}}:destegbiyayey: $1 (qet yew qeydeyo hesabiyaye http:// ke name nêbiyo).",
        "linksearch-line": "$1, $2 ra link biya",
        "linksearch-error": "jokeri têna nameyê makina ya serekini de aseni/eseni.",
        "listusersfrom": "karber ê ke pey ıney detpêkeni ramocın:",
index feab412..b7b1cb8 100644 (file)
        "passwordreset": "Gronidło slědk stajiś",
        "passwordreset-text-one": "Wupołni toś ten formular, aby swójo gronidło anulěrował.",
        "passwordreset-text-many": "{{PLURAL:$1|Wupołni jadne z pólow, aby nachylne gronidło pśez e-mail dostał.}}",
-       "passwordreset-legend": "Gronidło slědk stajiś",
        "passwordreset-disabled": "Slědkstajenja gronidłow su se znjemóžnili na toś tom wikiju.",
        "passwordreset-emaildisabled": "E-mailowe funkcije su se na toś tom wikiju znjemóžnili.",
        "passwordreset-username": "Wužywarske mě:",
        "resettokens": "Tokeny slědk stajiś",
        "resettokens-text": "Móžoš tokeny slědk stajiś, kótarež dowóluju pśistup na wěste priwatne daty, kótarež su z twójim kontom zwězane.\n\nTy by dejał to cyniś, jolic sy je zmylnje z někim źělił abo jolic twóje konto jo se nadpadało.",
        "resettokens-no-tokens": "Tokeny za slědkstajenje njejsu.",
-       "resettokens-legend": "Tokeny slědk stajiś",
        "resettokens-tokens": "Tokeny:",
        "resettokens-token-label": "$1 (aktualna gódnota: $2)",
        "resettokens-watchlist-token": "Token za webkanal (Atom/RSS) [[Special:Watchlist|změnow na bokach w twójich woglědowankach]]",
        "randomincategory": "Pśipadny bok w kategoriji",
        "randomincategory-invalidcategory": "\"$1\" njejo płaśiwe kategorijowe mě.",
        "randomincategory-nopages": "W kategoriji [[:Category:$1|$1]] žedne boki njejsu.",
+       "randomincategory-submit": "W pórěźe",
        "randomredirect": "Pśipadne dalejpósrědnjenje",
        "randomredirect-nopages": "W mjenjowem rumje \"$1\" njejsu dalejpósrědnjenja.",
        "statistics": "Statistika",
        "nmembers": "$1 {{PLURAL:$1|zapis|zapisa|zapise}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|cłon|cłonka|cłonki|cłonkow}}",
        "nrevisions": "$1 {{PLURAL:$1|wobźěłanje|wobźěłani|wobźěłanja}}",
-       "nviews": "$1 {{PLURAL:$1|wótpšašanje|wótpšašani|wótpšašanja}}",
        "nimagelinks": "Wužywa se na $1 {{PLURAL:$1|boku|bokoma|bokach|bokach}}",
        "ntransclusions": "wužywa se na $1 {{PLURAL:$1|boku|bokoma|bokach|bokach}}",
        "specialpage-empty": "Toś ten bok njewopśimjejo tuchylu žedne zapise.",
        "linksearch-pat": "Pytański muster:",
        "linksearch-ns": "Mjenjowy rum:",
        "linksearch-ok": "Pytaś",
-       "linksearch-text": "Jo móžno zastupne znamuška kaž \"*.wikipedia.org\" wužywaś. \nJo nanejmjenjej głowna domena trěbna, na pśikład \"*.org\"<br />\n{{PLURAL:$2|Pódpěrany protokol|Pódpěranej protokola|Pódpěrane protokole}}: <code>$1</code> (standard jo http://, jolic žeden protokol njejo pódany).",
+       "linksearch-text": "Jo móžno zastupne znamuška kaž \"*.wikipedia.org\" wužywaś. \nJo nanejmjenjej głowna domena trěbna, na pśikład \"*.org\"<br />\n{{PLURAL:$2|Pódpěrany protokol|Pódpěranej protokola|Pódpěrane protokole}}: $1 (standard jo http://, jolic žeden protokol njejo pódany).",
        "linksearch-line": "$1 wótkazany z $2",
        "linksearch-error": "Zasupne znamješko daju se jano na zachopjeńku URL wužywaś.",
        "listusersfrom": "Pokaž wužywarjow wót:",
index b7fb79a..54dfdae 100644 (file)
        "linksearch-pat": "Μοτίβο αναζήτησης:",
        "linksearch-ns": "Περιοχή:",
        "linksearch-ok": "Αναζήτηση",
-       "linksearch-text": "Μπορούν να χρησιμοποιηθούν χαρακτήρες μπαλαντέρ όπως \"*.wikipedia.org\". \nΧρειάζεται τουλάχιστον μια κατάληξη ανωτάτου επιπέδου, για παράδειγμα \"*.org\".<br />\n{{PLURAL:$2|Υποστηριζόμενο πρωτόκολλο|Υποστηριζόμενα πρωτόκολλα}}: <code>$1</code> (αν δεν οριστεί πρωτόκολλο η προεπιλογή είναι http://).",
+       "linksearch-text": "Μπορούν να χρησιμοποιηθούν χαρακτήρες μπαλαντέρ όπως \"*.wikipedia.org\". \nΧρειάζεται τουλάχιστον μια κατάληξη ανωτάτου επιπέδου, για παράδειγμα \"*.org\".<br />\n{{PLURAL:$2|Υποστηριζόμενο πρωτόκολλο|Υποστηριζόμενα πρωτόκολλα}}: $1 (αν δεν οριστεί πρωτόκολλο η προεπιλογή είναι http://).",
        "linksearch-line": "Η σελίδα $1 συνδέεται από την $2",
        "linksearch-error": "Λέξεις-μπαλαντέρ μπορεί να εμφανιστούν μόνο στην αρχή τού ονόματος ιστοτόπου (hostname).",
        "listusersfrom": "Προβολή χρηστών ξεκινώντας από:",
index 3a47bce..613885f 100644 (file)
        "linksearch-pat": "Search pattern:",
        "linksearch-ns": "Namespace:",
        "linksearch-ok": "Search",
-       "linksearch-text": "Wildcards such as \"*.wikipedia.org\" may be used.\nNeeds at least a top-level domain, for example \"*.org\".<br />\nSupported {{PLURAL:$2|protocol|protocols}}: <code>$1</code> (defaults to http:// if no protocol is specified).",
+       "linksearch-text": "Wildcards such as \"*.wikipedia.org\" may be used.\nNeeds at least a top-level domain, for example \"*.org\".<br />\nSupported {{PLURAL:$2|protocol|protocols}}: $1 (defaults to http:// if no protocol is specified).",
        "linksearch-line": "$1 is linked from $2",
        "linksearch-error": "Wildcards may appear only at the start of the hostname.",
        "listusersfrom": "Display users starting at:",
        "pageinfo-robot-index": "Allowed",
        "pageinfo-robot-noindex": "Disallowed",
        "pageinfo-watchers": "Number of page watchers",
-       "pageinfo-visiting-watchers": "Number of page watchers visiting recent edits",
+       "pageinfo-visiting-watchers": "Number of page watchers who visited recent edits",
        "pageinfo-few-watchers": "Fewer than $1 {{PLURAL:$1|watcher|watchers}}",
        "pageinfo-few-visiting-watchers": "There may or may not be a watching user visiting recent edits",
        "pageinfo-redirects-name": "Number of redirects to this page",
index 3e900cc..ccc1532 100644 (file)
        "passwordreset": "Restarigo de pasvorto",
        "passwordreset-text-one": "Plenigu ĉi tiun formularon por renovigi vian pasvorton.",
        "passwordreset-text-many": "{{PLURAL:$1|Plenumu unu el la kampoj por restarigi vian pasvorton.}}",
-       "passwordreset-legend": "Refari pasvorton",
        "passwordreset-disabled": "Pasvortaj restarigoj estis malŝaltitaj en ĉi tiu vikio.",
        "passwordreset-emaildisabled": "Retpoŝtaj funkcioj estas malfunkciigitaj en tiu ĉi vikio.",
        "passwordreset-username": "Salutnomo:",
        "resettokens": "Renovigi ŝlosilojn",
        "resettokens-text": "Vi povas rekomencigi ĵetonojn, kiuj ebligas aliron al certaj privataj datumoj, kiuj estas ligataj kun via konto de uzanto ĉi tie.\n\nVi faru tion, se vi akcidente kunhavigis ilin kun iu aŭ se via konto estis malkonfidencigita.",
        "resettokens-no-tokens": "Ne estas ŝlosiloj renovigeblaj.",
-       "resettokens-legend": "Renovigi ŝlosilojn",
        "resettokens-tokens": "Ŝlosiloj:",
        "resettokens-token-label": "$1 (nuna valoro: $2)",
        "resettokens-watchlist-token": "Ĵetono por la retfluo (Atom/RSS) de [[Special:Watchlist|ŝanĝoj je paĝoj sur via atentaro]]",
        "randomincategory-nopages": "Ne estas paĝoj en la kategorio [[:Category:$1|$1]].",
        "randomincategory-category": "Kategorio:",
        "randomincategory-legend": "Hazarda paĝo en kategorio",
+       "randomincategory-submit": "Ek!",
        "randomredirect": "Hazarda alidirekto",
        "randomredirect-nopages": "Estas neniuj alidirektiloj en la nomspaco \"$1\".",
        "statistics": "Statistiko",
        "nmembers": "{{PLURAL:$1|unu membro|$1 membroj}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|membro|membroj}}",
        "nrevisions": "$1 {{PLURAL:$1|versio|versioj}}",
-       "nviews": "{{PLURAL:$1|unufoje|$1 fojojn}}",
        "nimagelinks": "Uzita en $1 {{PLURAL:$1|paĝo|paĝoj}}",
        "ntransclusions": "uzita en $1 {{PLURAL:$1|paĝo|paĝoj}}",
        "specialpage-empty": "Ne estas rezultoj por ĉi tiu raporto.",
        "linksearch-pat": "Serĉesprimo:",
        "linksearch-ns": "Nomspaco:",
        "linksearch-ok": "Serĉi",
-       "linksearch-text": "Regulesprimoj kiel \"*.wikipedia.org\" povas esti uzataj. Nepre havi almenaŭ plej altan domajnon, ekz-e \"*.org\".<br />\nSubtenataj {{PLURAL:$2|protokolo|protokoloj}}:: <code>$1</code> (ne aldonu ĉi tiujn ajn en via serĉo-mendo).",
+       "linksearch-text": "Regulesprimoj kiel \"*.wikipedia.org\" povas esti uzataj. Nepre havi almenaŭ plej altan domajnon, ekz-e \"*.org\".<br />\nSubtenataj {{PLURAL:$2|protokolo|protokoloj}}:: $1 (ne aldonu ĉi tiujn ajn en via serĉo-mendo).",
        "linksearch-line": "$1 ligita de $2",
        "linksearch-error": "Regulesprimoj povas aperi nur ĉe la komenco de la retnoda nomo.",
        "listusersfrom": "Montri uzantojn ekde:",
index 5f5be28..fee888d 100644 (file)
        "blockedtext": "<strong>Tu nombre de usuario o dirección IP ha sido bloqueada.</strong>\n\nEl bloqueo fue hecho por $1.\nLa razón dada es <em>$2</em>.\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar a $1 o con otro de los [[{{MediaWiki:Grouppage-sysop}}|administradores]] para discutir el bloqueo.\nNo puedes utilizar la función «enviar correo electrónico a este usuario»  a menos que tengas una dirección de correo electrónico válida registrada en tus [[Special:Preferences|preferencias de usuario]] y que el bloqueo no haya inhabilitado esta función.\n\nTu dirección IP actual es $3, y el identificador del bloqueo es #$5.\nPor favor incluye todos los datos aquí mostrados en cualquier consulta que hagas.",
        "autoblockedtext": "Tu dirección IP ha sido bloqueada automáticamente porque fue utilizada por otro usuario, que resultó bloqueado por $1.\n\nEl motivo dado es el siguiente:\n\n:<em>$2</em>\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar con $1 o con otro de los [[{{MediaWiki:Grouppage-sysop}}|administradores]] para discutir el bloqueo.\n\nTen en cuenta que no podrás utilizar la herramienta de «enviar correo electrónico a este usuario» a menos que tengas una dirección de correo electrónico válida registrada en tus [[Special:Preferences|preferencias de usuario]] y la función no haya sido también bloqueada.\n\nTu dirección IP actual es $3, y el identificador del bloqueo es #$5.\nPor favor, incluye todos los datos aquí mostrados en cualquier consulta que hagas al respecto.",
        "blockednoreason": "no se ha especificado el motivo",
-       "whitelistedittext": "Tienes que $1 para editar artículos.",
+       "whitelistedittext": "Tienes que $1 para editar páginas.",
        "confirmedittext": "Debes confirmar tu dirección de correo electrónico antes de poder editar páginas. Por favor, configura y confirma tu dirección de correo a través de tus [[Special:Preferences|preferencias de usuario]].",
        "nosuchsectiontitle": "Sección no encontrada",
        "nosuchsectiontext": "Has intentado editar una sección que no existe.\nQuizá ha sido movida o borrada mientras visitabas la página.",
        "creating": "Creación de «$1»",
        "editingsection": "Edición de «$1» (sección)",
        "editingcomment": "Edición de «$1» (sección nueva)",
-       "editconflict": "No se pudieron guardar tus cambios debido a un conflicto de edición. {{GENDER:|¿Deseas}} resolver el conflicto manualmente?",
+       "editconflict": "Conflicto de edición: $1",
        "explainconflict": "Alguien ha realizado cambios en esta página desde que empezaste a editarla.\nEl cuadro de texto superior contiene el texto de la página tal como está guardado en este momento.\nTus cambios sobre la versión que editaste se muestran en el cuadro de texto inferior.\nSi quieres guardar tus cambios, has de trasladarlos al cuadro superior.\nAl pulsar «{{int:savearticle}}», se guardará <strong>solo</strong> el texto del cuadro superior.",
        "yourtext": "Tu texto",
        "storedversion": "Versión guardada",
        "linksearch-pat": "Patrón de búsqueda:",
        "linksearch-ns": "Espacio de nombre:",
        "linksearch-ok": "Buscar",
-       "linksearch-text": "Se pueden usar caracteres comodín como \"*.wikipedia.org\".\nEs necesario, por lo menos, un dominio de alto nivel, por ejemplo \"*.org\".<br />\n{{PLURAL:$2|Protocolo soportado|Protocolos soportados}}: <code>$1</code> (si no se especifica ninguno, el predeterminado es http://).",
+       "linksearch-text": "Se pueden usar caracteres comodín como \"*.wikipedia.org\".\nEs necesario, por lo menos, un dominio de alto nivel, por ejemplo \"*.org\".<br />\n{{PLURAL:$2|Protocolo soportado|Protocolos soportados}}: $1 (si no se especifica ninguno, el predeterminado es http://).",
        "linksearch-line": "$1 enlazado desde $2",
        "linksearch-error": "Los comodines sólo pueden aparecer al principio del nombre de sitio.",
        "listusersfrom": "Mostrar usuarios que empiecen por:",
        "ipb-hardblock": "Impedir que los usuarios identificados editen desde esta dirección IP",
        "ipbcreateaccount": "Prevenir la creación de cuentas de usuario",
        "ipbemailban": "Prevenir que el usuario envíe correo electrónico",
-       "ipbenableautoblock": "Bloquear automáticamente la dirección IP usada por este usuario y cualquier IP posterior desde la cual intente editar",
+       "ipbenableautoblock": "Bloquear automáticamente la última dirección IP usada por este usuario y cualquier IP posterior desde la cual intente editar",
        "ipbsubmit": "Bloquear a este usuario",
        "ipbother": "Especificar caducidad",
        "ipboptions": "2 horas:2 hours,1 día:1 day,3 días:3 days,1 semana:1 week,2 semanas:2 weeks,1 mes:1 month,3 meses:3 months,6 meses:6 months,1 año:1 year,para siempre:infinite",
        "pageinfo-robot-index": "Permitido",
        "pageinfo-robot-noindex": "No permitido",
        "pageinfo-watchers": "Número de usuarios que vigilan la página",
-       "pageinfo-visiting-watchers": "Número de vigiladores de la página visitando las ediciones recientes",
+       "pageinfo-visiting-watchers": "Número de seguidores de la página que visitaron las ediciones recientes",
        "pageinfo-few-watchers": "Menos de $1 {{PLURAL:$1|vigilante|vigilantes}}",
        "pageinfo-few-visiting-watchers": "Puede o no haber seguidores visitando las ediciones recientes",
        "pageinfo-redirects-name": "Número de redirecciones a esta página",
        "deletedwhileediting": "<strong>Aviso</strong>: se borró esta página después de que empezaras a editarla.",
        "confirmrecreate": "El usuario [[User:$1|$1]] ([[User talk:$1|disc.]]) borró esta página después de que comenzaras a editarla, por este motivo:\n: ''$2''\nConfirma que realmente quieres volver a crear esta página.",
        "confirmrecreate-noreason": "El usuario [[User:$1|$1]] ([[User talk:$1|discusión]]) borró esta página después de que comenzaras a editarla. Por favor confirma que realmente quieres recrear esta página.",
-       "recreate": "La página fue borrada después de que comenzaste a editarla. Pulsa en «$1» para crearla de nuevo.",
+       "recreate": "Recrear",
        "confirm_purge_button": "Aceptar",
        "confirm-purge-top": "¿Limpiar la caché de esta página?",
        "confirm-purge-bottom": "Purgar una página limpia la caché y fuerza a que aparezca la versión más actual.",
index c0f3da4..6aabe74 100644 (file)
        "linksearch-pat": "Otsimisvorm:",
        "linksearch-ns": "Nimeruum:",
        "linksearch-ok": "Otsi",
-       "linksearch-text": "Metamärgina võib kasutada tärni, näiteks \"*.wikipedia.org\".\nOtsingus peab olema vähemalt tipptaseme domeen, näiteks \"*.org\".<br />\nToetatud {{PLURAL:$2|protokoll|protokollid}}: <code>$1</code> (määramata protokolli korral vaikimisi http://).",
+       "linksearch-text": "Metamärgina võib kasutada tärni, näiteks \"*.wikipedia.org\".\nOtsingus peab olema vähemalt tipptaseme domeen, näiteks \"*.org\".<br />\nToetatud {{PLURAL:$2|protokoll|protokollid}}: $1 (määramata protokolli korral vaikimisi http://).",
        "linksearch-line": "$1 on lingitud leheküljelt $2",
        "linksearch-error": "Metamärk võib olla ainult internetiaadressi alguses.",
        "listusersfrom": "Näita kasutajaid alates:",
index 0a74c8f..aafc46d 100644 (file)
        "linksearch-pat": "Bilaketa katea:",
        "linksearch-ns": "Izen-tartea:",
        "linksearch-ok": "Bilatu",
-       "linksearch-text": "\"*.wikipedia.org\" bezalako izartxoak erabil daitezke.\nGutxienez goi mailako domeinua behar du, adibidez \"*.org\".<br />\nBaimendutako {{PLURAL:$2|protokoloa|protokoloak}}: <code>$1</code> (protokoloa zehazten ez bada http:// hartzen da lehenetsitzat).",
+       "linksearch-text": "\"*.wikipedia.org\" bezalako izartxoak erabil daitezke.\nGutxienez goi mailako domeinua behar du, adibidez \"*.org\".<br />\nBaimendutako {{PLURAL:$2|protokoloa|protokoloak}}: $1 (protokoloa zehazten ez bada http:// hartzen da lehenetsitzat).",
        "linksearch-line": "$1, $2(e)tik lotuta",
        "linksearch-error": "Komodinak izenaren hasieran bakarrik agertu beharko lirateke.",
        "listusersfrom": "Honela hasten diren erabiltzaileak bistaratu:",
index 288e4b8..ddabb05 100644 (file)
@@ -46,7 +46,8 @@
                        "Arash.pt",
                        "Signal89",
                        "Macofe",
-                       "Danialbehzadi"
+                       "Danialbehzadi",
+                       "MRG90"
                ]
        },
        "tog-underline": "خط کشیدن زیر پیوندها:",
        "rclistfrom": "نمایش تغییرات تازه با شروع از $3 $2",
        "rcshowhideminor": "$1 ویرایش‌های جزئی",
        "rcshowhideminor-show": "نمایش",
-       "rcshowhideminor-hide": "Ù¾Ù\86Ù\87اÙ\86 Ú©Ø±Ø¯ن",
+       "rcshowhideminor-hide": "Ù\86Ù\87Ù\81تن",
        "rcshowhidebots": "$1 ربات‌ها",
        "rcshowhidebots-show": "نمایش",
-       "rcshowhidebots-hide": "Ù¾Ù\86Ù\87اÙ\86 Ú©Ø±Ø¯ن",
+       "rcshowhidebots-hide": "Ù\86Ù\87Ù\81تن",
        "rcshowhideliu": "$1 کاربران ثبت‌نام‌کردە",
        "rcshowhideliu-show": "نمایش",
        "rcshowhideliu-hide": "نهفتن",
        "rcshowhideanons": "$1 کاربران ناشناس",
        "rcshowhideanons-show": "نمایش",
-       "rcshowhideanons-hide": "Ù¾Ù\86Ù\87اÙ\86 Ú©Ø±Ø¯ن",
+       "rcshowhideanons-hide": "Ù\86Ù\87Ù\81تن",
        "rcshowhidepatr": "$1 ویرایش‌های گشت‌خورده",
        "rcshowhidepatr-show": "نمایش",
-       "rcshowhidepatr-hide": "Ù¾Ù\86Ù\87اÙ\86 Ú©Ø±Ø¯ن",
+       "rcshowhidepatr-hide": "Ù\86Ù\87Ù\81تن",
        "rcshowhidemine": "$1 ویرایش‌های من",
        "rcshowhidemine-show": "نمایش",
-       "rcshowhidemine-hide": "Ù¾Ù\86Ù\87اÙ\86 Ú©Ø±Ø¯ن",
+       "rcshowhidemine-hide": "Ù\86Ù\87Ù\81تن",
        "rclinks": "نمایش آخرین $1 تغییر در $2 روز اخیر<br />$3",
        "diff": "تفاوت",
        "hist": "تاریخچه",
        "linksearch-pat": "الگوی جستجو:",
        "linksearch-ns": "فضای نام:",
        "linksearch-ok": "جستجو",
-       "linksearch-text": "نشانه‌هایی مانند «‎*.wikipedia.org» را می‌توان استفاده کرد.\nحداقل یک دامنه سطح بالا ، به عنوان مثال \"*.org\" نیاز دارد.<br />\n{{PLURAL:$2|پروتکل|پروتکل‌های}} پشتیبانی‌شده: <code>$1</code> (پیش‌فرض برای http:// در صورت مشخص نشدن پروتکل تنظیم شده‌است).",
+       "linksearch-text": "نشانه‌هایی مانند «‎*.wikipedia.org» را می‌توان استفاده کرد.\nحداقل یک دامنه سطح بالا ، به عنوان مثال \"*.org\" نیاز دارد.<br />\n{{PLURAL:$2|پروتکل|پروتکل‌های}} پشتیبانی‌شده: $1 (پیش‌فرض برای http:// در صورت مشخص نشدن پروتکل تنظیم شده‌است).",
        "linksearch-line": "$1 از $2 پیوند دارد",
        "linksearch-error": "نشانه‌ها فقط در ابتدای نام میزبان اینترنتی می‌توانند استفاده شوند.",
        "listusersfrom": "نمایش کاربران با شروع از:",
        "rollback-success": "ویرایش‌های $1 واگردانی شد؛\nصفحه به آخرین ویرایش $2 برگردانده شد.",
        "sessionfailure-title": "خطای نشست کاربری",
        "sessionfailure": "به نظر می‌رسد مشکلی در مورد نشست کاربری شما وجود دارد؛\nعمل درخواست شده در اقدامی پیشگیرانه در برابر ربوده‌شدن اطلاعات نشست کاربری، لغو شد.\nلطفاً دکمهٔ «بازگشت» را در مرورگر خود بفشارید و صفحه‌ای که از آن به اینجا رسیده‌اید را دوباره فراخوانی کنید، سپس مجدداً سعی کنید.",
+       "changecontentmodel-reason-label": "دلیل:",
+       "logentry-contentmodel-change-revertlink": "واگردانی",
        "protectlogpage": "سیاههٔ محافظت",
        "protectlogtext": "در زیر فهرستی از تغییرات سطح محافظت صفحه‌ها آمده‌است.\n[[Special:ProtectedPages|فهرست صفحه‌های محافظت‌شده]] را برای دیدن فهرست محافظت‌های مؤثر صفحه‌ها ببینید.",
        "protectedarticle": "«[[$1]]» را محافظت کرد",
index a76cdcd..15adc12 100644 (file)
@@ -44,7 +44,8 @@
                        "SMAUG",
                        "SuperPete",
                        "McSalama",
-                       "Macofe"
+                       "Macofe",
+                       "Beluga"
                ]
        },
        "tog-underline": "Linkkien alleviivaus:",
        "linksearch-pat": "Hakuehto:",
        "linksearch-ns": "Nimiavaruus:",
        "linksearch-ok": "Etsi",
-       "linksearch-text": "Jokerimerkkejä, kuten \"*.wikipedia.org\", voidaan käyttää.\nVaaditaan vähintään ylätason verkkotunnus, esimerkiksi \"*.org\".<br />\n{{PLURAL:$2|Tuettu protokolla|Tuetut protokollat}}: <code>$1</code> (oletuksena on <code>http://</code>, jos protokollaa ei määritetä).",
+       "linksearch-text": "Jokerimerkkejä, kuten \"*.wikipedia.org\", voidaan käyttää.\nVaaditaan vähintään ylätason verkkotunnus, esimerkiksi \"*.org\".<br />\n{{PLURAL:$2|Tuettu protokolla|Tuetut protokollat}}: $1 (oletuksena on <code>http://</code>, jos protokollaa ei määritetä).",
        "linksearch-line": "$1 on linkitetty sivulta $2",
        "linksearch-error": "Jokerimerkkiä voi käyttää ainoastaan osoitteen alussa.",
        "listusersfrom": "Käyttäjien tunnukset alkavat kirjaimilla:",
        "changecontentmodel-reason-label": "Syy:",
        "changecontentmodel-success-title": "Sisältömallia on muutettu",
        "changecontentmodel-success-text": "Sisältötyyppiä kohteessa [[:$1]] on muutettu.",
+       "changecontentmodel-cannot-convert": "Sisältöä sivulla [[:$1]] ei voida muuntaa tyypiksi $2.",
        "changecontentmodel-title-cantexist": "Ei ole mahdollista, että kohteessa $1 on sivua.",
        "changecontentmodel-nodirectediting": "Sisältömalli $1 ei tue suoraa muokkaamista",
        "log-name-contentmodel": "Sisältömallin muutosloki",
        "pageinfo-length": "Sivun pituus (tavuina)",
        "pageinfo-article-id": "Sivun tunnistenumero",
        "pageinfo-language": "Sivun sisällön kieli",
-       "pageinfo-content-model": "Sivun sisällön muoto",
+       "pageinfo-content-model": "Sivun sisältömalli",
        "pageinfo-robot-policy": "Hakukonemerkinnät",
        "pageinfo-robot-index": "Indeksoitava",
        "pageinfo-robot-noindex": "Ei indeksoitava",
index 696ed8e..a92e4f9 100644 (file)
                        "Chlomoh",
                        "Wladek92",
                        "Framafan",
-                       "Lucky"
+                       "Lucky",
+                       "TomT0m"
                ]
        },
        "tog-underline": "Souligner les liens :",
        "linksearch-pat": "Expression recherchée :",
        "linksearch-ns": "Espace de noms :",
        "linksearch-ok": "Rechercher",
-       "linksearch-text": "Des caractères jokers comme « *.wikipedia.org » peuvent être utilisés.\nIls nécessitent au moins un domaine de niveau supérieur, par exemple « *.org ».<br />\n{{PLURAL:$2|Protocole reconnu|Protocoles reconnus}}: <code>$1</code> (http:// par défaut si aucun protocole n'est indiqué).",
+       "linksearch-text": "Des caractères jokers comme « *.wikipedia.org » peuvent être utilisés.\nIls nécessitent au moins un domaine de niveau supérieur, par exemple « *.org ».<br />\n{{PLURAL:$2|Protocole reconnu|Protocoles reconnus}}: $1 (http:// par défaut si aucun protocole n'est indiqué).",
        "linksearch-line": "$1 est lié depuis $2",
        "linksearch-error": "Les caractères jokers ne peuvent être utilisés qu'au début du nom de domaine de l'hôte.",
        "listusersfrom": "Afficher les utilisateurs à partir de :",
        "watcherrortext": "Une erreur s'est produite lors de la modification des paramètres de votre liste de suivi pour « $1 ».",
        "enotif_reset": "Marquer toutes les pages comme visitées",
        "enotif_impersonal_salutation": "Utilisateur de {{SITENAME}}",
-       "enotif_subject_deleted": "La page $1 sur {{SITENAME}} a été supprimée par {{GENDER:$2|$2}}",
-       "enotif_subject_created": "La page $1 sur {{SITENAME}} a été créée par {{GENDER:$2|$2}}",
-       "enotif_subject_moved": "La page $1 sur {{SITENAME}} a été renommée par {{GENDER:$2|$2}}",
-       "enotif_subject_restored": "La page $1 sur {{SITENAME}} a été restaurée par {{GENDER:$2|$2}}",
-       "enotif_subject_changed": "La page $1 sur {{SITENAME}} a été modifiée par {{GENDER:$2|$2}}",
+       "enotif_subject_deleted": "La page $1 sur {{SITENAME}} a été {{GENDER:$2|supprimée}} par $2",
+       "enotif_subject_created": "La page $1 sur {{SITENAME}} a été {{GENDER:$2|crée}} par $2",
+       "enotif_subject_moved": "La page $1 sur {{SITENAME}} a été {{GENDER:$2|renommée}} par $2",
+       "enotif_subject_restored": "La page $1 sur {{SITENAME}} a été {{GENDER:$2|restaurée}} par $2",
+       "enotif_subject_changed": "La page $1 sur {{SITENAME}} a été {{GENDER:$2|modifiée}} par $2",
        "enotif_body_intro_deleted": "La page $1 sur {{SITENAME}} a été effacée le $PAGEEDITDATE par {{gender:$2|$2}}, voir $3 pour la révision actuelle.",
        "enotif_body_intro_created": "La page $1 sur {{SITENAME}} a été créée le $PAGEEDITDATE par {{GENDER:$2|$2}}, voir $3 pour la révision actuelle.",
-       "enotif_body_intro_moved": "La page $1 sur {{SITENAME}} a été renommée le $PAGEEDITDATE par {{GENDER:$2|$2}}, voir $3 pour la révision actuelle.",
+       "enotif_body_intro_moved": "La page $1 sur {{SITENAME}} a été {{GENDER:$2|renommée}} le $PAGEEDITDATE par $2, voir $3 pour la révision actuelle.",
        "enotif_body_intro_restored": "La page $1 sur {{SITENAME}} a été restaurée le $PAGEEDITDATE par {{GENDER:$2|$2}}, voir $3 pour la révision actuelle.",
-       "enotif_body_intro_changed": "La page $1 sur {{SITENAME}} a été modifiée le $PAGEEDITDATE par {{GENDER:$2|$2}}, voir $3 pour la révision actuelle.",
+       "enotif_body_intro_changed": "La page $1 sur {{SITENAME}} a été {{GENDER:$2|modifiée}} le $PAGEEDITDATE par $2, voir $3 pour la révision actuelle.",
        "enotif_lastvisited": "Voyez $1 pour tous les changements depuis votre dernière visite.",
        "enotif_lastdiff": "Voyez $1 pour visualiser ces changements.",
        "enotif_anon_editor": "utilisateur non-enregistré $1",
        "pageinfo-robot-index": "Autorisée",
        "pageinfo-robot-noindex": "Interdite",
        "pageinfo-watchers": "Nombre de contributeurs ayant la page dans leur liste de suivi",
-       "pageinfo-visiting-watchers": "Nombre d’observateurs de page ayant visité les modifications récentes",
+       "pageinfo-visiting-watchers": "Nombre d’observateurs de la page ayant consulté récemment les modifications récentes de la page",
        "pageinfo-few-watchers": "Moins de $1 {{PLURAL:$1|observateur|observateurs}}",
        "pageinfo-few-visiting-watchers": "Il peut ou non y avoir un observateur regardant les modifications récentes",
        "pageinfo-redirects-name": "Nombre de redirections vers cette page",
index b33ee71..2c94b47 100644 (file)
        "passwordreset": "Remês’a zérô du contresegno",
        "passwordreset-text-one": "Rempléd ceti formulèro por rebetar a zérô voutron contresegno.",
        "passwordreset-text-many": "{{PLURAL:$1|Rempléd yon des champs por rebetar a zérô voutron contresegno.}}",
-       "passwordreset-legend": "Rebetar a zérô lo contresegno",
        "passwordreset-disabled": "La remês’a zérô des contresegnos est étâye dèsactivâye sur ceti vouiqui.",
        "passwordreset-emaildisabled": "Les fonccionalitâts de mèssageria èlèctronica sont étâyes dèsactivâyes sur ceti vouiqui.",
        "passwordreset-username": "Nom d’utilisator :",
        "unusedtemplateswlh": "ôtros lims",
        "randompage": "Pâge per hasârd",
        "randompage-nopages": "Y at gins de pâge dedens {{PLURAL:$2|cet’èspâço|cetos èspâços}} de noms : $1.",
+       "randomincategory-submit": "Emmodar",
        "randomredirect": "Redirèccion per hasârd",
        "randomredirect-nopages": "Y at gins de pâge de redirèccion dedens l’èspâço de noms « $1 ».",
        "statistics": "Statistiques",
        "nlinks": "$1 lim{{PLURAL:$1||s}}",
        "nmembers": "$1 membro{{PLURAL:$1||s}}",
        "nrevisions": "$1 vèrsion{{PLURAL:$1||s}}",
-       "nviews": "$1 vu{{PLURAL:$1|a|es}}",
        "nimagelinks": "Empleyê dessus $1 pâge{{PLURAL:$1||s}}",
        "ntransclusions": "empleyê dessus $1 pâge{{PLURAL:$1||s}}",
        "specialpage-empty": "Y at gins de rèsultat a fâre vêre.",
        "linksearch-pat": "Modèlo de rechèrche :",
        "linksearch-ns": "Èspâço de noms :",
        "linksearch-ok": "Rechèrchiér",
-       "linksearch-text": "Des caractèros j·oquères coment « *.wikipedia.org » pôvont étre empleyês.\nIls ant fôta de por lo muens un domêno de nivél de dessus, per ègzemplo « *.org ».<br />\n{{PLURAL:$2|Protocolo recognu|Protocolos recognus}} : <code>$1</code> (http:// per dèfôt se nion protocolo est spècifiâ).",
+       "linksearch-text": "Des caractèros j·oquères coment « *.wikipedia.org » pôvont étre empleyês.\nIls ant fôta de por lo muens un domêno de nivél de dessus, per ègzemplo « *.org ».<br />\n{{PLURAL:$2|Protocolo recognu|Protocolos recognus}} : $1 (http:// per dèfôt se nion protocolo est spècifiâ).",
        "linksearch-line": "$1 est liyê dês $2",
        "linksearch-error": "Los caractèros j·oquères pôvont étre empleyês ren qu’u comencement du nom de domêno de l’hôto.",
        "listusersfrom": "Fâre vêre los utilisators dês :",
index 7eb4d8e..8b75289 100644 (file)
        "linksearch-pat": "Schükmünster:",
        "linksearch-ns": "Nöömrüm:",
        "linksearch-ok": "Schük",
-       "linksearch-text": "Diar kön wariaabeln üs t.b. \"*.bispal.de\" brükt wurd. Tumanst ian TLD üs t.b. \"*.org\" skal uunden wurd.<br />{{PLURAL:$2|Protokol|Protokolen}}: <code>$1</code> (Diar woort http nimen, wan niks ööders uunden as.)",
+       "linksearch-text": "Diar kön wariaabeln üs t.b. \"*.bispal.de\" brükt wurd. Tumanst ian TLD üs t.b. \"*.org\" skal uunden wurd.<br />{{PLURAL:$2|Protokol|Protokolen}}: $1 (Diar woort http nimen, wan niks ööders uunden as.)",
        "linksearch-line": "$2 ferwiset üüb $1",
        "linksearch-error": "Wariaabeln (\"*\") mut bluas bi a began faan en URL uunden wurd.",
        "listusersfrom": "Wise brükern mä began üüb:",
index 3a5af21..adaefd8 100644 (file)
        "resetpass-wrong-oldpass": "It momintele of tydlike wachtwurd is ûnjildich.\nMûglik hawwe Jo Jo wachtwurd al feroare of in nij tydlik wachtwurd oanfrege.",
        "resetpass-temp-password": "Tydlik wachtwurd:",
        "passwordreset": "Wachtwurd ferfarskje",
-       "passwordreset-legend": "Wachtwurd weromsette",
        "passwordreset-username": "Brûkersnamme:",
        "passwordreset-domain": "Domein:",
        "passwordreset-email": "E-mailadres:",
        "changeemail-password": "Jo wachtwurd foar {{SITENAME}}:",
        "changeemail-submit": "E-mailadres wizigje",
        "resettokens": "Kaaien ferfarskje",
-       "resettokens-legend": "Kaaien ferfarskje",
        "resettokens-tokens": "Kaaien:",
        "resettokens-token-label": "$1 (hjoeddeistige wearde: $2)",
        "resettokens-resetbutton": "Selektearre kaaien ferfarskje",
        "nlinks": "$1 {{PLURAL:$1|keppeling|keppelings}}",
        "nmembers": "$1 {{PLURAL:$1|lid|lea}}",
        "nrevisions": "$1 {{PLURAL:$1|ferzje|ferzjes}}",
-       "nviews": "{{PLURAL:$1|1 kear|$1 kear}} sjoen",
        "specialpage-empty": "Gjin resultaten foar dit rapport.",
        "lonelypages": "Lossteande siden",
        "lonelypagestext": "Nei de ûndersteande siden wurdt út {{SITENAME}} wei net ferwiisd.\nDe siden binne ek net as sjabloan opnommen.",
        "linksearch-pat": "Sykpatroan:",
        "linksearch-ns": "Nammeromte:",
        "linksearch-ok": "Sykje",
-       "linksearch-text": "Wildcards lykas \"*.wikipedia.org\" of \"*.org\" binne tastien.<br />\nStipe protokollen: <code>$1</code>",
+       "linksearch-text": "Wildcards lykas \"*.wikipedia.org\" of \"*.org\" binne tastien.<br />\nStipe protokollen: $1",
        "linksearch-line": "$1 hat in ferwizing yn $2",
        "linksearch-error": "Wildcards binne allinne tastien oan it begjin fan in hostnamme.",
        "listusersfrom": "Lit meidoggers sjen fanôf:",
index e82593c..72c82c2 100644 (file)
        "passwordreset": "Ath-shuidhich am facal-faire",
        "passwordreset-text-one": "Lìon am foirm seo gus am facal-faire agad ath-shuidheachadh.",
        "passwordreset-text-many": "Lìon {{PLURAL:$1|an raon|aon dhe na raointean}} gus facal-faire sealach fhaighinn air a' phost-d.",
-       "passwordreset-legend": "Ath-shuidhich am facal-faire",
        "passwordreset-disabled": "Chaidh ath-shuidheachadh nam faclan-faire a chur à comas air an uicidh seo.",
        "passwordreset-emaildisabled": "Chaidh feartan a' phuist-d a chur à comas san uicidh seo.",
        "passwordreset-username": "Ainm-cleachdaiche:",
        "resettokens": "Ath-shuidhich na tòcanan",
        "resettokens-text": "'S urrainn dhut tòcanan ath-shuidheachadh a bheir cothrom dhut air cuid a dhàta prìobhaideach a tha co-cheangailte ris a' chunntas agad.\n\nBu chòir dhut seo a dhèanamh ma thug thu do chuideigin e air mhearachd no ma bhris cuideigin a-steach air a' chunntas agad.",
        "resettokens-no-tokens": "Chan eil tòcan ann a ghabhas ath-shuidheachadh.",
-       "resettokens-legend": "Ath-shuidhich na tòcanan",
        "resettokens-tokens": "Tòcanan:",
        "resettokens-token-label": "$1 ('s e $2 an luach làithreach)",
        "resettokens-watchlist-token": "Tòcan airson an inbhir-lìn (Atom/RSS) a sheallas dhut [[Special:Watchlist|atharraichean air duilleagan a tha air a' chlàr-fhaire agad]]",
        "nmembers": "$1 {{PLURAL:$1|bhall|bhall|buill|ball}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|bhall|bhall|buill|ball}}",
        "nrevisions": "$1 {{PLURAL:$1|mhùthadh|mhùthadh|mùthaidhean|mùthadh}}",
-       "nviews": "$1 {{PLURAL:$1|sealladh|shealladh|seallaidhean|sealladh}}",
        "nimagelinks": "'Ga chleachdadh air $1 {{PLURAL:$1|duilleag|dhuilleag|duilleagan|duilleag}}",
        "ntransclusions": "'ga chleachdadh air $1 {{PLURAL:$1|duilleag|dhuilleag|duilleagan|duilleag}}",
        "specialpage-empty": "Chan eil toradh ann airson na h-aithris seo.",
        "linksearch-pat": "Pàtran an luirg:",
        "linksearch-ns": "Ainm-spàs:",
        "linksearch-ok": "Lorg",
-       "linksearch-text": "'S urrainn dhut saoragan mar \"*.wikipedia.org\" a chleachdadh.\nBidh feum air air co-dhiù aon àrainn aig ìre as àirde, can \"*.org\".<br />\n{{PLURAL:$2|pròtacal|pròtacalan}} ris an cuirear taic: <code>$1</code> (http:// a ghnáth mur dèid pròtacal a shònrachadh).",
+       "linksearch-text": "'S urrainn dhut saoragan mar \"*.wikipedia.org\" a chleachdadh.\nBidh feum air air co-dhiù aon àrainn aig ìre as àirde, can \"*.org\".<br />\n{{PLURAL:$2|pròtacal|pròtacalan}} ris an cuirear taic: $1 (http:// a ghnáth mur dèid pròtacal a shònrachadh).",
        "linksearch-line": "Tha $1 a' ceangal an-seo o $2",
        "linksearch-error": "Chan fhaod saorag nochdadh ach aig toiseach ainm an òstair.",
        "listusersfrom": "Seall cleachdaichean o seo a-mach:",
index 7e1e4d4..36d677f 100644 (file)
        "linksearch-pat": "Patrón de procura:",
        "linksearch-ns": "Espazo de nomes:",
        "linksearch-ok": "Procurar",
-       "linksearch-text": "Pódense usar caracteres comodín como \"*.wikipedia.org\".\nCómpre, polo menos, un dominio de nivel superior; por exemplo, \"*.org\".<br />\n{{PLURAL:$2|Protocolo soportado|Protocolos soportados}}: <code>$1</code> (úsase http:// como predeterminado se non se especifica ningún protocolo).",
+       "linksearch-text": "Pódense usar caracteres comodín como \"*.wikipedia.org\".\nCómpre, polo menos, un dominio de nivel superior; por exemplo, \"*.org\".<br />\n{{PLURAL:$2|Protocolo soportado|Protocolos soportados}}: $1 (úsase http:// como predeterminado se non se especifica ningún protocolo).",
        "linksearch-line": "$1 está ligado desde a páxina \"$2\"",
        "linksearch-error": "Os caracteres comodín só poden aparecer ao principio do nome do servidor.",
        "listusersfrom": "Mostrar os usuarios que comecen por:",
        "pageinfo-robot-index": "Permitida",
        "pageinfo-robot-noindex": "Non permitida",
        "pageinfo-watchers": "Número de vixiantes da páxina",
-       "pageinfo-visiting-watchers": "Número de usuarios vixiando a páxina visitando as edicións recentes",
+       "pageinfo-visiting-watchers": "Número de usuarios vixiando a páxina que visitaron as edicións recentes",
        "pageinfo-few-watchers": "Menos de $1 {{PLURAL:$1|vixiante|vixiantes}}",
        "pageinfo-few-visiting-watchers": "Pode haber, ou non, un usuario que vixía páxinas visitando as edicións recentes",
        "pageinfo-redirects-name": "Número de redireccións cara a esta páxina",
index ec62ada..aafe64c 100644 (file)
@@ -8,6 +8,7 @@
                ]
        },
        "tog-underline": "Zoddnienche adhorekhan",
+       "tog-hideminor": "Halinch bodol kel'leantle dhakte bodol lipoi",
        "tog-numberheadings": "Mathalle sway kromankit kor",
        "tog-showtoolbar": "Bodolache hathiar-potti dakhoi",
        "tog-editondblclick": "Dotti klickacher pananche sonskoron kor",
index 431432b..a8aa335 100644 (file)
        "unusedtemplateswlh": "οἱ σύνδεσμοι οἱ ἄλλοι",
        "randompage": "Δέλτος τυχοῦσα",
        "randompage-nopages": "Οὐδεμία δέλτος ἐν {{PLURAL:$2|τῷ ὀνοματείῳ|τοῖς ὀνοματείοις}} \"$1\".",
+       "randomincategory-submit": "Ἱέναι",
        "randomredirect": "Τυχαία ἀναδιεύθυνσις",
        "randomredirect-nopages": "Οὐδεμία ἀναδιεύθυνσις ἐν τῷ ὀνοματείῳ \"$1\".",
        "statistics": "Τὰ περὶ τῶν δεδομένων",
        "nlinks": "$1 {{PLURAL:$1|σύνδεσμος|σύνδεσμοι}}",
        "nmembers": "$1 {{PLURAL:$1|μέλος|μέλη}}",
        "nrevisions": "$1 {{PLURAL:$1|ἀναθεώρησις|ἀναθεωρήσεις}}",
-       "nviews": "$1 {{PLURAL:$1|βλέψις|βλέψεις}}",
        "specialpage-empty": "Οὐδὲν ἀποτέλεσμα ἐν τῇδε τῇ ἀναφορᾷ.",
        "lonelypages": "Δέλτοι ὀρφαναί",
        "lonelypagestext": "Aἱ ἀκόλουθοι δέλτοι μὴ συνδεδεμέναι μετὰ δέλτων τινῶν ἢ μὴ ὑπερκλῃσμέναι εἰς ἑτέρας δέλτους τινὰς ἐν τῷ {{SITENAME}} εἰσίν.",
        "linksearch-pat": "Θέμα ζητήσεως:",
        "linksearch-ns": "Ὀνοματεῖον:",
        "linksearch-ok": "Ζητεῖν",
-       "linksearch-text": "Ἔξεστί σοι χρῆσθαι ὑποκαταστασίμοις φράσεσιν ὅπως \"*.wikipedia.org\".<br />\nὙποστηριζόμενα πρωτόκολλα: <code>$1</code>",
+       "linksearch-text": "Ἔξεστί σοι χρῆσθαι ὑποκαταστασίμοις φράσεσιν ὅπως \"*.wikipedia.org\".<br />\nὙποστηριζόμενα πρωτόκολλα: $1",
        "linksearch-line": "$1 συνδεόμενον τῷ $2",
        "listusersfrom": "Δεικνύναι χρωμένους (γραμμαὶ ἐκκινουμέναι ἐκ/ἐξ):",
        "listusers-submit": "Ἐμφανίζειν",
index d5f0037..f87ed52 100644 (file)
        "passwordreset": "Passwort zruggsetze",
        "passwordreset-text-one": "Fill des Formular uus go Dy Passwort zrucksetze.",
        "passwordreset-text-many": "{{PLURAL:$1|Fill eis vu dr Fälder uus go Dy Passwort zrucksetze.}}",
-       "passwordreset-legend": "Passwort zrucksetze",
        "passwordreset-disabled": "S Zrucksetze vu Passwerter isch in däm Wiki deaktiviert wore.",
        "passwordreset-emaildisabled": "D E-Mail-Funktione sin uf däm Wiki deaktiviert wore.",
        "passwordreset-username": "Benutzername:",
        "resettokens": "Token zrucksetze",
        "resettokens-text": "Du chasch Token zrucksetze, wu Dir dr Zuegriff uf bstimmti privati Date megli mache, wu mit Dym Benutzerkonto do verchnipft sin.\n\nDes sottsch nume mache, wänn Du d Token us Versää mit eberem teilt hesch oder Dy Konto gfehrdet isch.",
        "resettokens-no-tokens": "S git kei Token zum Zrucksetze.",
-       "resettokens-legend": "Token zrucksetze",
        "resettokens-tokens": "Token:",
        "resettokens-token-label": "$1 (aktuälle Wärt: $2)",
        "resettokens-watchlist-token": "Token fir dr Webfeed (Atom/RSS) vu dr [[Special:Watchlist|Änderigen an Syten uf Dyre Beobachtuislischt]]",
        "unusedtemplateswlh": "Anderi Link",
        "randompage": "Zuefalls-Artikel",
        "randompage-nopages": "S het kei Syte in {{PLURAL:$2|däm Namensruum|däne Namensryym}}:  $1.",
+       "randomincategory-submit": "Gang",
        "randomredirect": "Zuefälligi Wyterleitig",
        "randomredirect-nopages": "Im Namensruum „$1“ sin kei Wyterleitige vorhande.",
        "statistics": "Statistik",
        "nlinks": "$1 {{PLURAL:$1|Link|Links}}",
        "nmembers": "$1 {{PLURAL:$1|Syte|Sytene}}",
        "nrevisions": "$1 {{PLURAL:$1|Revision|Revisione}}",
-       "nviews": "$1 {{PLURAL:$1|Betrachtig|Betrachtige}}",
        "nimagelinks": "Brucht uf $1 {{PLURAL:$1|Syte|Syte}}",
        "ntransclusions": "brucht uf $1 {{PLURAL:$1|Syte|Syte}}",
        "specialpage-empty": "In dr Syte het s no kei aktuälli Yytreg.",
        "linksearch-pat": "Suechmuschter:",
        "linksearch-ns": "Namensruum:",
        "linksearch-ok": "Sueche",
-       "linksearch-text": "Die Spezialsyte macht d Suechi no Syte megli, wu s bstimmti Weblink din het. Doderby chenne Platzhalter wie zem Byschpel <code>*.byschpel.de</code> brucht wäre. S mueß zmindecht ei Top-Level-Domain, z. B. „*.org“. aagee wäre. <br />{{PLURAL:$2|Unterstitzt Protokoll|Unterstitzti Protokoll}}: <code>$1</code> (Standard isch http, wänn kei Protokoll aagee isch.)",
+       "linksearch-text": "Die Spezialsyte macht d Suechi no Syte megli, wu s bstimmti Weblink din het. Doderby chenne Platzhalter wie zem Byschpel <code>*.byschpel.de</code> brucht wäre. S mueß zmindecht ei Top-Level-Domain, z. B. „*.org“. aagee wäre. <br />{{PLURAL:$2|Unterstitzt Protokoll|Unterstitzti Protokoll}}: $1 (Standard isch http, wänn kei Protokoll aagee isch.)",
        "linksearch-line": "$1 isch vo $2 verknüpft",
        "linksearch-error": "Platzhalter chönne numme am Aafang verwändet werre.",
        "listusersfrom": "Zeig Benutzer ab:",
index 55a6083..6aea943 100644 (file)
        "linksearch-pat": "શોધ આલેખ",
        "linksearch-ns": "નામાવકાશ:",
        "linksearch-ok": "શોધ",
-       "linksearch-text": "વાઇલ્ડ કાર્ડ જેવા કે \"*.wikipedia.org\" અહીં વપરાયા હોઈ શકે છે.\nઓછામાં ઓછું ઉચ્ચસ્તરનું ડોમેઇન જરૂરી છે, દા.ત. ''*.org\".<br />\nમાન્ય {{PLURAL:$2|પ્રોટોકોલ|પ્રોટોકોલ્સ}}: <code>$1</code> (જો કોઇ પ્રોટોકોલ આપેલ નહી હોય તો http:// એ મૂળભૂત ગણાશે).",
+       "linksearch-text": "વાઇલ્ડ કાર્ડ જેવા કે \"*.wikipedia.org\" અહીં વપરાયા હોઈ શકે છે.\nઓછામાં ઓછું ઉચ્ચસ્તરનું ડોમેઇન જરૂરી છે, દા.ત. ''*.org\".<br />\nમાન્ય {{PLURAL:$2|પ્રોટોકોલ|પ્રોટોકોલ્સ}}: $1 (જો કોઇ પ્રોટોકોલ આપેલ નહી હોય તો http:// એ મૂળભૂત ગણાશે).",
        "linksearch-line": "$1 એ $2થી જોડાયેલ છે",
        "linksearch-error": "યજમાન નામની શરૂઆતમાં જ વાઈલ્ડકાર્ડ પ્રકટ થશે",
        "listusersfrom": "આનાથી શરૂ થતા સભ્યો દર્શાવો:",
index 8bc83be..b83e1d8 100644 (file)
        "pageinfo-robot-index": "מותר",
        "pageinfo-robot-noindex": "אסור",
        "pageinfo-watchers": "מספר העוקבים אחר הדף",
-       "pageinfo-visiting-watchers": "×\9eספר ×\94×¢×\95ק×\91×\99×\9d ×\90×\97ר ×\94×\93×£ ×©×\9e×\91קר×\99×\9d בעריכות האחרונות",
+       "pageinfo-visiting-watchers": "×\9eספר ×\94×¢×\95ק×\91×\99×\9d ×\90×\97ר ×\94×\93×£ ×©×\91×\99קר×\95 בעריכות האחרונות",
        "pageinfo-few-watchers": "פחות מ{{PLURAL:$1|עוקב אחד|־$1 עוקבים}}",
        "pageinfo-few-visiting-watchers": "ייתכן שיש וייתכן שאין משתמש שעוקב אחר הדף ומבקר בעריכות האחרונות",
        "pageinfo-redirects-name": "מספר ההפניות לדף זה",
index 69c694f..404823a 100644 (file)
@@ -63,7 +63,8 @@
                        "Ankita-ks",
                        "Sahilrathod",
                        "Hindustanilanguage",
-                       "राम प्रसाद जोशी"
+                       "राम प्रसाद जोशी",
+                       "ShrUtiable"
                ]
        },
        "tog-underline": "कड़ियाँ अधोरेखन:",
        "linksearch-pat": "खोजने के लिये पाठ:",
        "linksearch-ns": "नामस्थान:",
        "linksearch-ok": "खोजें",
-       "linksearch-text": "\"*.wikipedia.org\" जैसे वाईल्ड-कार्ड्स प्रयोग किये जा सकते हैं।\nकम-से-कम \".org\" जैसे किसी top-level डोमेन की आवश्यकता है।<br />\nस्वीकार्य {{PLURAL:$2|प्रोटोकॉल}}: <code>$1</code> (यदि कोई प्रोटोकॉल ना दिया जाए तो http:// का प्रयोग किया जाता है)",
+       "linksearch-text": "\"*.wikipedia.org\" जैसे वाईल्ड-कार्ड्स प्रयोग किये जा सकते हैं।\nकम-से-कम \".org\" जैसे किसी top-level डोमेन की आवश्यकता है।<br />\nस्वीकार्य {{PLURAL:$2|प्रोटोकॉल}}: $1 (यदि कोई प्रोटोकॉल ना दिया जाए तो http:// का प्रयोग किया जाता है)",
        "linksearch-line": "$2 में से $1 जुडा हुआ हैं",
        "linksearch-error": "वाईल्डकार्ड्स होस्टनाम के सिर्फ शुरू में आ सकते हैं।",
        "listusersfrom": "इस अक्षर से शुरू होने वाले सदस्य दर्शाएँ:",
        "rollback-success": "$1 के संपादन हटाए;\n$2 द्वारा संपादित अन्तिम अवतरण को पुनर्स्थापित किया।",
        "sessionfailure-title": "सत्र विफलता",
        "sessionfailure": "ऐसा प्रतीत होता है कि आपके लॉगिन सत्र के साथ कोई समस्या है।\nसत्र अपहरण से बचाने के लिए सावधानी के तौर पर आपका यह क्रियाकलाप रद्द कर दिया गया है।\nकृपया पीछे जाएँ और पृष्ठ को पुनः लोड करें, तब दुबारा कोशिश करें।",
+       "changecontentmodel": "पेज कि सामगरिि मोदल को बदलिये",
+       "changecontentmodel-legend": "पृष्ठ सामग्री का नमूना",
+       "changecontentmodel-title-label": "पृष्ठ शीर्षक",
+       "changecontentmodel-model-label": "नयि सामग्री का नमूना",
+       "changecontentmodel-reason-label": "कारण:",
+       "changecontentmodel-success-title": "सामगरि का नामुने मे बदलाव हुुुाा हेेे",
        "protectlogpage": "सुरक्षा लॉग",
        "protectlogtext": "नीचे पृष्ठ सुरक्षा में हुए बदलावों की सूची है।\nवर्तमान सुरक्षित पृष्ठों की सूची के लिए [[Special:ProtectedPages|सुरक्षित पृष्ठों की सूची]] देखें।",
        "protectedarticle": "\"[[$1]]\" सुरक्षित कर दिया",
index 098f974..6291572 100644 (file)
        "passwordreset": "Password ke badlo",
        "passwordreset-text-one": "Aapan password ke reset kare ke khatir ii form ke bharo.",
        "passwordreset-text-many": "{{PLURAL:$1|Temporary password ke email se le ke khatir ek field me likho}}",
-       "passwordreset-legend": "Password ke badlo",
        "passwordreset-disabled": "II wiki me password ke badle ke ijaajat nai hae.",
        "passwordreset-emaildisabled": "Ii wiki me email ke band kar dewa gais hae.",
        "passwordreset-username": "Sadasya ke naam:",
        "resettokens": "Token ke reset karo",
        "resettokens-text": "Aap aapan private data pe access roke ke khatir token ke reset kare saktaa hae.\n\nAap ke ii kare ke chaahi agar aap galti se ii jaankari ke aur koi ke de diya hae nai to aap ke account ke bare me aur koi ke pataa hae.",
        "resettokens-no-tokens": "Reset kare ke jhatir koi token nai hae.",
-       "resettokens-legend": "Token ke reset karo",
        "resettokens-tokens": "Chinh (token)",
        "resettokens-token-label": "$1 (abhi ke value: $2)",
        "resettokens-watchlist-token": "Dhyan suchi ke web feed token (Atom/RSS) of [[Special:Watchlist|changes to pages on your watchlist]]",
        "nmembers": "$1 {{PLURAL:$1|sadasya|sadasya}}",
        "nmemberschanged": "$1 → $2{{PLURAL:$2|sadasya|sadasya}}",
        "nrevisions": "$1 {{PLURAL:$1|badlao|badlao}}",
-       "nviews": "$1 {{PLURAL:$1|dafe dekha gais hai|dafe dekha gais hai}}",
        "nimagelinks": "$1 {{PLURAL:$1|panna|panna}} me kaam me lawa gais hae",
        "ntransclusions": "$1 {{PLURAL:$1|panna|panna}} me kaam me lawa gais hae",
        "specialpage-empty": "Ii report khatir koi results nai hai.",
        "linksearch-pat": "Khoje ke pattern:",
        "linksearch-ns": "Namespace:",
        "linksearch-ok": "Khojo",
-       "linksearch-text": "Wildcard jaise ki \"*.wikipedia.org\" ke kaam me lawa jaae sake hae.\nIske khatir ek top-level domain, jaise ki \"*.org\" ke jaruri hae.<br /> \nSupport karaa gais {{PLURAL:$2|protocol|protocols}}: <code>$1</code> (defaults to http:// if no protocol is specified).",
+       "linksearch-text": "Wildcard jaise ki \"*.wikipedia.org\" ke kaam me lawa jaae sake hae.\nIske khatir ek top-level domain, jaise ki \"*.org\" ke jaruri hae.<br /> \nSupport karaa gais {{PLURAL:$2|protocol|protocols}}: $1 (defaults to http:// if no protocol is specified).",
        "linksearch-line": "$1, $2 se jurraa hai",
        "linksearch-error": "Wildcards khaali hostname ke suruu me hoe ke chaahi.",
        "listusersfrom": "Sadasya jon ki hian se suruu hoe hai ke dekhao:",
index dfafa77..8a0887e 100644 (file)
        "linksearch-pat": "Uzorak traženja:",
        "linksearch-ns": "Imenski prostor:",
        "linksearch-ok": "Traži",
-       "linksearch-text": "Možete koristiti džoker znakove poput \"*.wikipedia.org\".\nPotrebno je navesti osnovnu domenu (TLD), npr. \"*.org\".<br />\nPodržani {{PLURAL:$2|protokol|protokoli}}: <code>$1</code> (default je http:// ako nijedan protokol nije naveden).",
+       "linksearch-text": "Možete koristiti džoker znakove poput \"*.wikipedia.org\".\nPotrebno je navesti osnovnu domenu (TLD), npr. \"*.org\".<br />\nPodržani {{PLURAL:$2|protokol|protokoli}}: $1 (default je http:// ako nijedan protokol nije naveden).",
        "linksearch-line": "$1 poveznica s članka $2",
        "linksearch-error": "Džoker znakovi se mogu rabiti samo na početku imena poslužitelja.",
        "listusersfrom": "Prikaži suradnike počevši od:",
index 64acf51..5a2d9f3 100644 (file)
        "linksearch-pat": "Suchmuster:",
        "linksearch-ns": "Noomeraum:",
        "linksearch-ok": "Suche",
-       "linksearch-text": "Die Spezialseit ermöchlicht die Such noh Seite, in dene bestimmte Weblinks enthalt sind. Dabei könne Platzhalter wie beispielsweis <code>*.beispiel.de</code> benutzt sin. Es muss minnschtens en Top-Level-Domain, z. B. \"*.org\". ppngeb sin. <br />{{PLURAL:$2|Unnergeschtütztes Protokoll|Unnergestützte Protokolle}}: <code>$1</code> (Standard ist http, falls ken Protokoll angeb ist.)",
+       "linksearch-text": "Die Spezialseit ermöchlicht die Such noh Seite, in dene bestimmte Weblinks enthalt sind. Dabei könne Platzhalter wie beispielsweis <code>*.beispiel.de</code> benutzt sin. Es muss minnschtens en Top-Level-Domain, z. B. \"*.org\". ppngeb sin. <br />{{PLURAL:$2|Unnergeschtütztes Protokoll|Unnergestützte Protokolle}}: $1 (Standard ist http, falls ken Protokoll angeb ist.)",
        "linksearch-line": "$1 ist verlinkt von $2",
        "linksearch-error": "Wildcards könne nuar am Oonfang von der URL verwendt sin.",
        "listusersfrom": "Zeich Benutzer ab:",
index 012a86f..38b4f8d 100644 (file)
        "passwordreset": "Hesło wróćo stajić",
        "passwordreset-text-one": "Wupjelń tutón formular, zo by swoje hesło anulował.",
        "passwordreset-text-many": "{{PLURAL:$1|Wupjelń jedne z polow, zo by nachwilne hesło přez e-mejl dóstał.}}",
-       "passwordreset-legend": "Hesło wróćo stajić",
        "passwordreset-disabled": "Wróćostajenje hesłow je so na  tutym wikiju znjemóžniło.",
        "passwordreset-emaildisabled": "E-mejlowe funkcije su so na tutym wikiju znjemóžnili.",
        "passwordreset-username": "Wužiwarske mjeno:",
        "resettokens": "Tokeny wróćo stajić",
        "resettokens-text": "Móžeš tokeny wróćo stajić, kotrež přistup na wěste priwatne daty dowoleja, kotrež su z twojim kontom zwjazane.\n\nTy dyrbjał zo činić, jeli sy je zmylnje z někim dźělił abo jelic twoje konto je so napadało.",
        "resettokens-no-tokens": "Tokeny za wróćostajenje njejsu.",
-       "resettokens-legend": "Tokeny wróćo stajić",
        "resettokens-tokens": "Tokeny:",
        "resettokens-token-label": "$1 (aktualna hódnota: $2)",
        "resettokens-watchlist-token": "Token za webkanal (Atom/RSS) [[Special:Watchlist|změnow na stronach w twojich wobkedźbowankach]]",
        "randomincategory-nopages": "W kategoriji [[:Category:$1|$1]] žane strony njejsu.",
        "randomincategory-category": "Kategorija:",
        "randomincategory-legend": "Připadna strona w kategoriji",
+       "randomincategory-submit": "W porjadku",
        "randomredirect": "Připadne daleposrědkowanje",
        "randomredirect-nopages": "Žane daleposrědkowanja w mjenowym rumje \"$1\".",
        "statistics": "Statistika",
        "nmembers": "{{PLURAL:$1|$1 čłon|$1 čłonaj|$1 čłony|$1 čłonow}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|čłon|čłonaj|čłonojo|čłonow}}",
        "nrevisions": "$1 {{PLURAL:$1|wobdźěłanje|wobdźěłani|wobdźěłanja|wobdźěłanjow}}",
-       "nviews": "$1 {{PLURAL:$1|jedyn wopyt|wopytaj|wopyty|wopytow}}",
        "nimagelinks": "Wužiwa so na $1 {{PLURAL:$1|stronje|stronomaj|stronach|stronach}}",
        "ntransclusions": "wužiwa so na $1 {{PLURAL:$1|stronje|stronomaj|stronach|stronach}}",
        "specialpage-empty": "Tuchwilu žane zapiski.",
        "linksearch-pat": "Pytanski muster:",
        "linksearch-ns": "Mjenowy rum:",
        "linksearch-ok": "Pytać",
-       "linksearch-text": "Zastupniske znamješka kaž \"*.wikipedia.org\" móža so wužiwać.\nZnajmjeńša hłowna domena je trěbna, na přikład \"*.org\".<br />\n{{PLURAL:$2|Podpěrowany protokol|Podpěrowanej protokolej|Podpěrowane protokole}}: <code>$1</code> (standard je http://, jeli žadyn protokol njeje podaty).",
+       "linksearch-text": "Zastupniske znamješka kaž \"*.wikipedia.org\" móža so wužiwać.\nZnajmjeńša hłowna domena je trěbna, na přikład \"*.org\".<br />\n{{PLURAL:$2|Podpěrowany protokol|Podpěrowanej protokolej|Podpěrowane protokole}}: $1 (standard je http://, jeli žadyn protokol njeje podaty).",
        "linksearch-line": "$1 je z $2 wotkazany.",
        "linksearch-error": "Zastupniske znamjenja dadźa so jenož na spočatku URL wužiwać.",
        "listusersfrom": "Započinajo z:",
index 17ba6f4..2bd0d3f 100644 (file)
@@ -7,7 +7,8 @@
                        "Masterches",
                        "Urhixidur",
                        "아라",
-                       "Tisave"
+                       "Tisave",
+                       "Bfpage"
                ]
        },
        "tog-underline": "Souliyen lyen yo :",
        "yourdiff": "Diferans",
        "copyrightwarning": "Tanpri sonje tout piblikasyon ki fèt nan {{SITENAME}} piblye anba kontra $2 an (wè $1 pou konnen plis). Si ou pa vle sa ou ekri pataje oubyen modifye, ou pa dwe soumèt yo isit.<br />\nW ap pwomèt tou ke sa w ap ekri a se ou menm menm ki ekri li oubyen ke ou kopye li de yon sous ki nan domèn piblik, ou byen you sous ki lib. '''PA ITILIZE TRAVAY KI ANBA DWA DOTÈ SI OTÈ PA T BAY OTORIZASYON LI TOUTBON !'''",
        "copyrightwarning2": "Tanpri, konnen ke tout kontribisyon yo nan {{SITENAME}} kapab modifye, change oubyen retire pa lòt itilizatè yo.\nSi ou pa vle pou sa ou ekri pataje oubyen modifye, ou pa dwe soumèt li isit.<br />\nW ap pwomèt tou ke sa w ap ekri a se ou menm menm ki ekri li oubyen ke ou kopye li de yon sous ki nan domèn piblik, ou byen you sous ki lib (gade $1 pou konnen pi plis).\n'''PA ITILIZE TRAVAY KI ANBA DWA DOTÈ SI OTÈ PA T BAY OTORIZASYON LI TOUTBON !'''",
+       "editpage-cannot-use-custom-model": "Modèl la kontni nan paj sa a pa ka chanje.",
        "longpageerror": "'''ERÈ : Tèks ou anrejistre a ap fè $1 Ko, tay sa a depase kapasite limit nou kapab aksepte kounye a: $2 Ko. Nou pa kapab anrejistre tèks sa. Eseye ritounen nan paj ou te ye anvan pou kopye modifikasyon ou yo.'''",
        "readonlywarning": "'''Atansyon: Bazdone a bare pou fè travay sou li, kidonk ou pap kapab anrejistre modifikasyon ou yo kounye a.'''\nPetèt ou ta renmen kopye-kole teks sa a nan yon fichye teks epi anrejistre l pou pita.\n\nAdministratè ki te bare bazdone a te bay rezon sa a: $1",
        "protectedpagewarning": "'''Pote atansyon : paj sa a pwoteje. Se sèl itilizatè yo ki genyen estati administratè ki kapab modifye l.'''\nDènye jounal la parèt anba kòm referans.",
        "deleteotherreason": "Rezon an plis :",
        "deletereasonotherlist": "Lòt rezon",
        "rollbacklink": "revoke",
+       "changecontentmodel-title-label": "Paj Tit",
        "protectlogpage": "Jounal pwoteksyon yo",
        "protectedarticle": "pwoteje « [[$1]] »",
        "modifiedarticleprotection": "te modifye nivo pwoteksyon pou « [[$1]] »",
index b67c507..449f8a5 100644 (file)
        "headline_sample": "Alfejezet címe",
        "headline_tip": "Alfejezetcím",
        "nowiki_sample": "Ide írd a formázatlan szöveget",
-       "nowiki_tip": "Wiki formázás kikapcsolása",
+       "nowiki_tip": "Wikiformázás kikapcsolása",
        "image_sample": "Pelda.jpg",
        "image_tip": "Fájl (pl. kép) beszúrása",
        "media_sample": "Peldaegyketto.ogg",
        "linksearch-pat": "Keresett minta:",
        "linksearch-ns": "Névtér:",
        "linksearch-ok": "keresés",
-       "linksearch-text": "Helyettesítő karaktereket is lehet használni, például \"*.wikipedia.org\".\nLegalább egy felső szintű tartománynak lennie kell, például \"*.org\"<br />\nTámogatott {{PLURAL:$2|protokoll|protokollok}}: <code>$1</code> (http:// az alapértelmezett, ha nincs protokoll megadva).",
+       "linksearch-text": "Helyettesítő karaktereket is lehet használni, például \"*.wikipedia.org\".\nLegalább egy felső szintű tartománynak lennie kell, például \"*.org\"<br />\nTámogatott {{PLURAL:$2|protokoll|protokollok}}: $1 (http:// az alapértelmezett, ha nincs protokoll megadva).",
        "linksearch-line": "$1 hivatkozva innen: $2",
        "linksearch-error": "Helyettesítő karakterek csak a cím elején szerepelhetnek.",
        "listusersfrom": "Szerkesztők listázása a következő névtől kezdve:",
index 8a542a4..0312415 100644 (file)
        "title-invalid-utf8": "Le titulo de pagina requestate contine un sequentia UTF-8 invalide.",
        "title-invalid-interwiki": "Le titulo de pagina requestate contine un ligamine interwiki que non pote esser usate in titulos.",
        "title-invalid-talk-namespace": "Le titulo de pagina requestate refere a un pagina de discussion que non pote exister.",
+       "title-invalid-characters": "Le titulo de pagina requestate contine characteres invalide: \"$1\".",
+       "title-invalid-relative": "Le titulo ha un cammino relative. Titulos de pagina relative (./, ../) non es valide, perque illos es sovente inattingibile a partir del navigator de un usator.",
+       "title-invalid-magic-tilde": "Le titulo de pagina requestate contine un sequentia de tildes non valide (<nowiki>~~~</nowiki>).",
+       "title-invalid-too-long": "Le titulo de pagina requestate es troppo longe. Illo non debe haber plus de $1 {{PLURAL:$1|byte|bytes}} in codification UTF-8.",
+       "title-invalid-leading-colon": "Le titulo de pagina requestate contine un signo de duo punctos (:) al initio, lo que non es permittite.",
        "perfcached": "Le sequente datos esseva recuperate del cache e possibilemente non es actual. Un maximo de {{PLURAL:$1|un resultato|$1 resultatos}} es disponibile in le cache.",
        "perfcachedts": "Le sequente datos esseva recuperate del cache e ha essite actualisate le $3 a $4. Un maximo de {{PLURAL:$4|un resultato|$4 resultatos}} es disponibile in le cache.",
        "querypage-no-updates": "Le actualisationes pro iste pagina es disactivate. Pro le momento, le datos hic non se cambiara.",
        "yourdiff": "Differentias",
        "copyrightwarning": "Nota ben que tote le contributiones a {{SITENAME}} se considera publicate sub le $2 (vide plus detalios in $1).\nSi tu non vole que tu scripto sia modificate impietosemente e redistribuite a voluntate, alora non lo submitte hic.<br />\nIn addition, tu nos garanti que tu es le autor de isto, o que tu lo ha copiate de un ressource a dominio public o alteremente libere de derectos.\n'''Non submitte material subjecte a copyright sin autorisation expresse!'''",
        "copyrightwarning2": "Nota ben que tote le contributiones a {{SITENAME}} pote esser redigite, alterate, o eliminate per altere contributores.\nSi tu non vole que tu scripto sia modificate impietosemente, alora non lo submitte hic.<br />\nIn addition, tu nos garanti que tu es le autor de isto, o que tu lo ha copiate de un ressource a dominio public o alteremente libere de derectos (vide $1 pro detalios).\n'''Non submitte material subjecte a copyright sin autorisation expresse!'''",
+       "editpage-cannot-use-custom-model": "Le modello de contento de iste pagina non pote esser cambiate.",
        "longpageerror": "'''Error: Le texto que tu submitteva occupa {{PLURAL:$1|un kilobyte|$1 kilobytes}}, excedente le maximo de {{PLURAL:$2|un kilobyte|$2 kilobytes}}.'''\nIllo non pote esser salveguardate.",
        "readonlywarning": "'''Attention: Le base de datos ha essite blocate pro mantenentia. Tu non pote salveguardar tu modificationes in iste momento.'''\nNos recommenda copiar-e-collar le texto in un file e salveguardar lo pro plus tarde.\n\nLe administrator qui ha blocate le base de datos ha fornite iste explication: $1",
        "protectedpagewarning": "'''Attention:  Iste pagina ha essite protegite de sorta que solmente usatores con privilegios de administrator pote modificar lo.''' Le ultime entrata del registro es fornite hic infra pro referentia:",
        "history-feed-description": "Historia del versiones de iste pagina in le wiki",
        "history-feed-item-nocomment": "$1 a $2",
        "history-feed-empty": "Le pagina que tu requestava non existe.\nEs possibile que illo esseva delite del wiki, o renominate.\nProva [[Special:Search|cercar nove paginas relevante]] in le wiki.",
+       "history-edit-tags": "Modificar etiquettas del versiones seligite",
        "rev-deleted-comment": "(summario del modification removite)",
        "rev-deleted-user": "(nomine de usator eliminate)",
        "rev-deleted-event": "(detalios de registro removite)",
        "rev-showdeleted": "monstrar",
        "revisiondelete": "Deler/restaurar versiones",
        "revdelete-nooldid-title": "Le version de destination es invalide",
-       "revdelete-nooldid-text": "O tu non ha specificate alcun version(es) de destination pro executar iste\nfunction, o le version specificate non existe, o tu essaya celar le version actual.",
+       "revdelete-nooldid-text": "Tu non ha specificate un version de destination pro executar iste function, o le version specificate non existe, o tu essaya celar le version actual.",
        "revdelete-no-file": "Le file specificate non existe.",
        "revdelete-show-file-confirm": "Es tu secur de voler vider un version delite del file  \"<nowiki>$1</nowiki>\" del $2 a $3?",
        "revdelete-show-file-submit": "Si",
        "badsig": "Signatura crude invalide; verificar le etiquettas HTML.",
        "badsiglength": "Tu signatura es troppo longe.\nIllo debe haber minus de $1 {{PLURAL:$1|character|characteres}}.",
        "yourgender": "Como prefere tu esser describite?",
-       "gender-unknown": "Io prefere non specificar",
+       "gender-unknown": "In mentionar te, le programma usara pronomines de genere neutre quando possibile",
        "gender-male": "Ille modifica paginas wiki",
        "gender-female": "Illa modifica paginas wiki",
        "prefs-help-gender": "Definir iste preferentia es optional.\nLe software lo usa pro adressar e mentionar te correctemente con le genere appropriate.\nIste information es public.",
        "userrights-lookup-user": "Gerer gruppos de usatores",
        "userrights-user-editname": "Entra un nomine de usator:",
        "editusergroup": "Modificar gruppos de usatores",
-       "editinguser": "Cambia le derectos del usator '''[[User:$1|$1]]''' $2",
+       "editinguser": "Cambia le derectos del {{GENDER:$1|usator}} <strong>[[User:$1|$1]]</strong> $2",
        "userrights-editusergroup": "Modificar gruppos de usatores",
        "saveusergroups": "Salveguardar gruppos de usatores",
        "userrights-groupsmember": "Membro de:",
        "randomincategory-nopages": "Il non ha paginas in [[:Category:$1]].",
        "randomincategory-category": "Categoria:",
        "randomincategory-legend": "Pagina aleatori in categoria",
+       "randomincategory-submit": "Va",
        "randomredirect": "Redirection aleatori",
        "randomredirect-nopages": "Il non ha redirectiones in le spatio de nomines \"$1\".",
        "statistics": "Statisticas",
        "linksearch-pat": "Patrono a cercar:",
        "linksearch-ns": "Spatio de nomines:",
        "linksearch-ok": "Cercar",
-       "linksearch-text": "Es possibile usar metacharacteres como in \"*.wikipedia.org\".\nIsto necessita specificar al minus le dominio de nivello superior, per exemplo \"*.org\".<br />\n{{PLURAL:$2|Le protocollo|Protocollos}} supportate: <code>$1</code> (http:// es assumite si nulle protocollo es specificate).",
+       "linksearch-text": "Es possibile usar metacharacteres como in \"*.wikipedia.org\".\nIsto necessita specificar al minus le dominio de nivello superior, per exemplo \"*.org\".<br />\n{{PLURAL:$2|Le protocollo|Protocollos}} supportate: $1 (http:// es assumite si nulle protocollo es specificate).",
        "linksearch-line": "$1 ligate ab $2",
        "linksearch-error": "Le metacharacteres pote apparer solmente al initio del nomine de host.",
        "listusersfrom": "Monstrar usatores a partir de:",
        "tooltip-pt-logout": "Clauder session",
        "tooltip-pt-createaccount": "Tu es incoragiate a crear un conto e aperir session; totevia, non es obligatori",
        "tooltip-ca-talk": "Discussiones a proposito del pagina de contento",
-       "tooltip-ca-edit": "Tu pote modificar iste pagina.\nPer favor usa le previsualisation ante de publicar.",
+       "tooltip-ca-edit": "Modificar iste pagina",
        "tooltip-ca-addsection": "Initiar un nove section",
        "tooltip-ca-viewsource": "Iste pagina es protegite. Tu pote vider su codice fonte.",
        "tooltip-ca-history": "Versiones anterior de iste pagina",
index 77914a0..84e543b 100644 (file)
        "linksearch-pat": "Pola pencarian:",
        "linksearch-ns": "Ruang nama:",
        "linksearch-ok": "Cari",
-       "linksearch-text": "Tanda bintang seperti \"*.wikipedia.org\" dapat digunakan.\nPerlu sedikitnya satu domain tingkat atas, misalnya \"*.org\".<br />\n{{PLURAL:$2|Protokol|Protokol}} yang didukung: <code>$1</code> (menggunakan http:// bila protokol tidak ditentukan)",
+       "linksearch-text": "Tanda bintang seperti \"*.wikipedia.org\" dapat digunakan.\nPerlu sedikitnya satu domain tingkat atas, misalnya \"*.org\".<br />\n{{PLURAL:$2|Protokol|Protokol}} yang didukung: $1 (menggunakan http:// bila protokol tidak ditentukan)",
        "linksearch-line": "$1 memiliki pranala dari $2",
        "linksearch-error": "''Wildcards'' hanya dapat digunakan di bagian awal dari nama host.",
        "listusersfrom": "Tampilkan pengguna mulai dari:",
index a31224a..998070d 100644 (file)
        "linksearch-pat": "Tabas ti panagbiruk:",
        "linksearch-ns": "Nagan ti espasio:",
        "linksearch-ok": "Biruken",
-       "linksearch-text": "Dagiti naatap a tarheta a kas ti \"*.wikipedia.org\" ket mabalin nga usaren.\nMasapul ti saan a basbassit ngem kangatuan a dominio, kas pagarigan \"*.org\".<br />\n{{PLURAL:$2|Ti protokol|Dagiti protokol}} a nasuportaran: <code>$1</code> (kasisigud iti http:// no awan ti nainaganan a protokol).",
+       "linksearch-text": "Dagiti naatap a tarheta a kas ti \"*.wikipedia.org\" ket mabalin nga usaren.\nMasapul ti saan a basbassit ngem kangatuan a dominio, kas pagarigan \"*.org\".<br />\n{{PLURAL:$2|Ti protokol|Dagiti protokol}} a nasuportaran: $1 (kasisigud iti http:// no awan ti nainaganan a protokol).",
        "linksearch-line": "Ti $1 ket naisilpo manipud ti $2",
        "linksearch-error": "Ti naatap a tarheta ket mabalin nga agparang laeng iti rugi ti nagan ti agsangaili.",
        "listusersfrom": "Iparang dagiti agar-aramat a mangrugi iti:",
        "rollback-success": "Naibabawi dagiti panagurnos babaen ni $1;\nnaisubli manen ti naudi a rebision babaen ni $2.",
        "sessionfailure-title": "Napaay ti sesion",
        "sessionfailure": "Adda parikut ti sesion ti panagserrekmo;\ndaytoy nga aramid ket naibabawi a kas pagpawilan ti panaghijack ti sesion.\nAgsublika iti naggapuam a panid, ikargam manen ti panid ken padasen manen.",
+       "changecontentmodel-title-label": "Titulo ti panid",
+       "changecontentmodel-model-label": "Baro a modelo ti linaon",
+       "changecontentmodel-reason-label": "Rason:",
+       "changecontentmodel-success-title": "Nabaliwan ti modelo ti linaon",
+       "changecontentmodel-success-text": "Nabaliwanen ti kita ti linaon ti [[:$1]].",
+       "changecontentmodel-cannot-convert": "Ti linaon iti [[:$1]] ket saan a mabaliwan iti kita ti $2.",
+       "changecontentmodel-title-cantexist": "Saan a mabalin nga addaan iti panid iti $1.",
+       "changecontentmodel-nodirectediting": "Ti modelo ti linaon ti $1 ket saan a mangsuporta ti dagus a panagurnos",
+       "log-name-contentmodel": "Listaan ti panagbaliw ti modelo ti linaon",
+       "log-description-contentmodel": "Dagiti pasamak a mainaig kadagiti modelo ti linaon ti panid",
+       "logentry-contentmodel-change": "{{GENDER:$2|Binaliwan}} ni $1 ti modelo ti panid ti $3 manipud ti \"$4\" iti \"$5\"",
+       "logentry-contentmodel-change-revertlink": "isubli",
+       "logentry-contentmodel-change-revert": "isubli",
        "protectlogpage": "Listaan ti panagsalaknib",
        "protectlogtext": "Dita baba ket adda listaan dagiti sinukatan a salaknib ti panid.\nKitaen ti [[Special:ProtectedPages|listaan kadagiti nasalakniban a panid]] ti listaan kadagiti agdama a panagpataray a panagsalaknib ti panid.",
        "protectedarticle": "nasalakniban ti \"[[$1]]\"",
        "tooltip-pt-logout": "Rummuar",
        "tooltip-pt-createaccount": "Maaw-awis nga agpartuatka iti pakabilangan ken sumrek; nupay kasta, daytoy ket saan a nasken",
        "tooltip-ca-talk": "Pagtungtungan a maipapan ti linaon ti panid",
-       "tooltip-ca-edit": "Mabalinmo nga urnosen daytoy a panid. Pangngaasi nga aramatem ti buton ti panagipadas sakbay nga agidulin",
+       "tooltip-ca-edit": "Urnosen daytoy a panid",
        "tooltip-ca-addsection": "Mangirugi ti baro a paset",
        "tooltip-ca-viewsource": "Nasalakniban daytoy a panid.\nMabalinmo a kitaen ti taudanna.",
        "tooltip-ca-history": "Dagiti napalabas a rebision iti daytoy a panid.",
        "pageinfo-robot-index": "Maipalubos",
        "pageinfo-robot-noindex": "Saan a maipalubos",
        "pageinfo-watchers": "Bilang dagiti agbuybuya ti panid",
+       "pageinfo-visiting-watchers": "Bilang dagiti agbuybuya ti panid a nangsarungkar kadagiti kaudian a balbaliw",
        "pageinfo-few-watchers": "Basbassit ngem $1 {{PLURAL:$1|ti agbuybuya|dagiti agbuybuya}}",
+       "pageinfo-few-visiting-watchers": "Mabalin nga adda wenno awan ti agbuybuya nga agar-aramat a nangsarungkar kadagiti kaudian a balbaliw",
        "pageinfo-redirects-name": "Bilang dagiti baw-ing iti daytoy a panid",
        "pageinfo-subpages-name": "Bilang dagiti subpanid iti daytoy a panid",
        "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|baw-ing|bawbaw-ing}}; $3 {{PLURAL:$3|saan a baw-ing|saan a bawbaw-ing}})",
        "tag-filter-submit": "Sagat",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Etiketa|Et-etiketa}}]]: $2)",
        "tags-title": "Dagiti etiketa",
-       "tags-intro": "Daytoy a panid ket ilistana dagiti etiketa a mablin nga usaren ti sopwer a mangmarka iti urnos, ken dagiti kaibuksilanda.",
+       "tags-intro": "Daytoy a panid ket ilistana dagiti etiketa a mablin nga usaren ti sopwer a mangmarka iti inurnos, ken dagiti kaibuksilanda.",
        "tags-tag": "Nagan ti etiketa",
        "tags-display-header": "Tabas dagiti listaan ti panagsukat",
        "tags-description-header": "Napno a deskripsion ti kaibuksilan.",
index b9dbc03..f7facdf 100644 (file)
        "linksearch-pat": "Leitarmynstur:",
        "linksearch-ns": "Nafnrými:",
        "linksearch-ok": "Leita",
-       "linksearch-text": "Algildisleit eins og \"*.wikipedia.org\" er leyfð.<br />\nLeitin þarf að minnsta kosti að innihalda rótarlén, eins og \"*.org\"\n{{PLURAL:$2|Studd samskiptaregla|Studdar samskiptareglur}}: <code>$1</code> (http:// sjálfgefið ef engin regla er valin).",
+       "linksearch-text": "Algildisleit eins og \"*.wikipedia.org\" er leyfð.<br />\nLeitin þarf að minnsta kosti að innihalda rótarlén, eins og \"*.org\"\n{{PLURAL:$2|Studd samskiptaregla|Studdar samskiptareglur}}: $1 (http:// sjálfgefið ef engin regla er valin).",
        "linksearch-line": "Tengt er í $1 á síðunni $2",
        "linksearch-error": "Algildistafir mega engöngu birtast í upphafi vefslóðarinnar.",
        "listusersfrom": "Sýna notendur sem byrja á:",
index 3870cd1..e67d664 100644 (file)
@@ -84,7 +84,8 @@
                        "Purodha",
                        "TecnoMaster",
                        "Alexmar983",
-                       "Federico Mugnaini"
+                       "Federico Mugnaini",
+                       "Fpugliajno"
                ]
        },
        "tog-underline": "Sottolinea i collegamenti:",
        "uploaddisabledtext": "Il caricamento dei file non è attivo.",
        "php-uploaddisabledtext": "Il caricamento di file tramite PHP è disabilitato. Controlla la configurazione di file_uploads.",
        "uploadscripted": "Questo file contiene codice HTML o di script, che potrebbe essere interpretato erroneamente da un browser web.",
+       "upload-scripted-pi-callback": "Impossibile caricare un file che contiene istruzione di elaborazione in XML-stylesheet.",
        "uploaded-script-svg": "Trovato elemento di script \"$1\" nel file caricato in formato SVG.",
        "uploaded-hostile-svg": "Trovato CSS non sicuro nell'elemento di stile del file in formato SVG caricato.",
        "uploaded-event-handler-on-svg": "Impostazione gestione eventi ed attributi <code>$1=\"$2\"</code> non è consentito in file SGV",
        "uploaded-href-attribute-svg": "Attributi href <code>&lt;$1 $2=\"$3\"&gt;</code> com un bersaglio non locale (e.g. http://, javascript:, etc) non sono permessi file SGV",
        "uploaded-href-unsafe-target-svg": "Trovati href ad un bersaglio non sicuro <code>&lt;$1 $2=\"$3\"&gt;</code> caricato nel file SVG",
+       "uploaded-animate-svg": "Trovato il tag \"animate\" che potrebbe cambiare href, usando l'attributo \"from\" <code>&lt;$1 $2=\"$3\"&gt;</code> nel file SVG caricato.",
        "uploaded-image-filter-svg": "Trovato filtro immagine con URL: <code>&lt;$1 $2=\"$3\"&gt;</code> nel file in formato SVG caricato.",
        "uploadscriptednamespace": "Questo file SVG contiene un namespace '$1' non consentito",
        "uploadinvalidxml": "Il codice XML nel file caricato non può essere elaborato.",
        "linksearch-pat": "Pattern di ricerca:",
        "linksearch-ns": "Namespace:",
        "linksearch-ok": "Cerca",
-       "linksearch-text": "È possibile fare uso di metacaratteri, ad esempio \"*.wikipedia.org\".\nÈ necessario almeno un dominio di primo livello, ad esempio \"*.org\".<br />\n{{PLURAL:$2|Protocollo supportato|Protocolli supportati}}: <code>$1</code> (predefinito http:// se nessun protocollo è specificato).",
+       "linksearch-text": "È possibile fare uso di metacaratteri, ad esempio \"*.wikipedia.org\".\nÈ necessario almeno un dominio di primo livello, ad esempio \"*.org\".<br />\n{{PLURAL:$2|Protocollo supportato|Protocolli supportati}}: $1 (predefinito http:// se nessun protocollo è specificato).",
        "linksearch-line": "$1 presente nella pagina $2",
        "linksearch-error": "I metacaratteri possono essere usati solo all'inizio dell'indirizzo.",
        "listusersfrom": "Mostra gli utenti a partire da:",
index b77811c..7384f9e 100644 (file)
        "uploaddisabledtext": "ファイルのアップロードは、無効になっています。",
        "php-uploaddisabledtext": "ファイルのアップロードがPHPで無効化されています。\nfile_uploadsの設定を確認してください。",
        "uploadscripted": "このファイルは、ウェブブラウザーが誤って解釈してしまうおそれがあるHTMLまたはスクリプトコードを含んでいます。",
+       "upload-scripted-pi-callback": "XMLスタイルシート処理命令を含むファイルをアップロードできません。",
        "uploaded-script-svg": "アップロードされたSVGファイルにスクリプト可能な要素「$1」が見つかりました。",
        "uploaded-hostile-svg": "アップロードされたSVGファイルのスタイル要素に安全ではないCSSが見つかりました。",
+       "uploaded-event-handler-on-svg": "イベントハンドラをセットする属性 <code>$1=\"$2\"</code> は、SVGファイルを許可されていません。",
        "uploadscriptednamespace": "この SVG ファイルは無効な名前空間「$1」を含んでいます。",
        "uploadinvalidxml": "アップロードされたファイルに含まれる XML が構文解析できませんでした。",
        "uploadvirus": "このファイルはウイルスを含んでいます!\n詳細: $1",
        "linksearch-pat": "検索パターン:",
        "linksearch-ns": "名前空間:",
        "linksearch-ok": "検索",
-       "linksearch-text": "「*.wikipedia.org」のようにワイルドカードを使用できます。\n少なくとも「*.org」のようなトップレベルドメインが必要です。<br />\n対応{{PLURAL:$2|プロトコル}}: <code>$1</code> (プロトコルを省略した場合の既定値は http:// )。",
+       "linksearch-text": "「*.wikipedia.org」のようにワイルドカードを使用できます。\n少なくとも「*.org」のようなトップレベルドメインが必要です。<br />\n対応{{PLURAL:$2|プロトコル}}: $1 (プロトコルを省略した場合の既定値は http:// )。",
        "linksearch-line": "$1 が $2 からリンクされています",
        "linksearch-error": "ワイルドカードはホスト名の先頭でのみ使用できます。",
        "listusersfrom": "最初に表示する利用者:",
        "tags-edit-manage-link": "タグを管理",
        "tags-edit-revision-selected": "[[:$2]] の{{PLURAL:$1|選択された版}}:",
        "tags-edit-logentry-selected": "{{PLURAL:$1|選択された記録項目}}:",
+       "tags-edit-revision-legend": "{{PLURAL:$1|この版|すべての $1 版}}から、タグを追加または除去",
+       "tags-edit-logentry-legend": "{{PLURAL:$1|この記録項目|すべての $1 記録項目}}から、タグを追加または除去",
        "tags-edit-existing-tags": "既存のタグ:",
        "tags-edit-existing-tags-none": "(なし)",
        "tags-edit-new-tags": "新しいタグ:",
        "log-name-managetags": "タグ管理記録",
        "log-description-managetags": "このページは[[Special:Tags|タグ]]に関係する管理タスクをリストアップしています。ログには管理者によって手動で実行された操作の記録しか記載されていません。ウィキ・ソフトウェアによって、ログを残さずにタグが作成・削除されている場合があります。",
        "logentry-managetags-create": "$1 がタグ「$4」を{{GENDER:$2|作成しました}}",
+       "logentry-managetags-delete": "$1 がタグ \"$4\" を{{GENDER:$2|削除しました}}  ( $5 {{PLURAL:$5|版 または 記録項目|版 および/または 記録項目}} からの除去)",
        "log-name-tag": "タグ記録",
        "logentry-tag-update-add-revision": "$1 がページ $3 の版 $4 に{{PLURAL:$7|タグ}} $6 を{{GENDER:$2|追加しました}}",
        "logentry-tag-update-add-logentry": "$1 がページ $3 の記録項目 $5 に{{PLURAL:$7|タグ}} $6 を{{GENDER:$2|追加しました}}",
index 082db55..bc12e9a 100644 (file)
        "passwordreset": "Balèni setèl tembung sandhi",
        "passwordreset-text-one": "Lengkapana formulir iki kanggo nampa tembung sandhi sementara lewat layang elektronik.",
        "passwordreset-text-many": "{{PLURAL:$1|Isinen salah sijine kotak ing ngisor iki kanggo nampa tembung sandhi sementara lewat layang elektronik.}}",
-       "passwordreset-legend": "Balèni setèl tembung sandhi",
        "passwordreset-disabled": "Piranti kanggo mbalèni nyetèl tembung sandhi dipatèni nèng wiki iki.",
        "passwordreset-emaildisabled": "Fitur layang elektronik wis dipateni ing wiki iki.",
        "passwordreset-username": "Jeneng panganggo:",
        "resettokens": "Reset token",
        "resettokens-text": "Anda dapat me-reset Token yang memungkinkan akses ke data pribadi tertentu yang terkait dengan akun Anda di sini.\n\nAnda harus melakukannya jika Anda secara tidak sengaja berbagi dengan seseorang atau jika akun Anda telah disusupi.",
        "resettokens-no-tokens": "Ora ana token sing bisa direset.",
-       "resettokens-legend": "Reset token",
        "resettokens-tokens": "Token:",
        "resettokens-token-label": "$1 (nilai saiki: $2)",
        "resettokens-watchlist-token": "Token kangge sindikasi web (Atom/RSS) saking [[Special:Watchlist|pangowahan ing daptar pangawasan sampeyan]]",
        "randomincategory": "Sembarang kaca ing kategori",
        "randomincategory-invalidcategory": "\"$1\" dudu jeneng kategori sing apik.",
        "randomincategory-nopages": "Ora ana kaca ing kategori [[:Category:$1|$1]].",
+       "randomincategory-submit": "Tumuju",
        "randomredirect": "Pangalihan sembarang",
        "randomredirect-nopages": "Ora ana pangalihan ing bilik jeneng \"$1\".",
        "statistics": "Statistik",
        "nmembers": "$1 {{PLURAL:$1|anggota|anggota}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|anggota|anggota}}",
        "nrevisions": "$1 {{PLURAL:$1|revisi|revisi}}",
-       "nviews": "Wis kaping $1 {{PLURAL:$1|dituduhaké|dituduhaké}}",
        "nimagelinks": "Kanggo nèng {{PLURAL:$1|kaca|kaca}}",
        "ntransclusions": "kanggo nèng $1 {{PLURAL:$1|kaca|kaca}}",
        "specialpage-empty": "Ora ana sing perlu dilaporaké.",
        "linksearch-pat": "Pola panggolèkan:",
        "linksearch-ns": "Bilik nama:",
        "linksearch-ok": "Golèk",
-       "linksearch-text": "Tanda bintang seperti \"*.wikipedia.org\" dapat digunakan.\nPerlu sedikitnya satu domain tingkat atas, misalnya \"*.org\".<br />\n{{PLURAL:$2|Protokol|Protokol}} yang didukung: <code>$1</code> (menggunakan http:// bila protokol tidak ditentukan)",
+       "linksearch-text": "Tanda bintang seperti \"*.wikipedia.org\" dapat digunakan.\nPerlu sedikitnya satu domain tingkat atas, misalnya \"*.org\".<br />\n{{PLURAL:$2|Protokol|Protokol}} yang didukung: $1 (menggunakan http:// bila protokol tidak ditentukan)",
        "linksearch-line": "$1 disambung saka $2",
        "linksearch-error": "''Wildcards'' namung bisa dienggo ing bagéyan awal saka jeneng host.",
        "listusersfrom": "Tuduhna panganggo sing diawali karo:",
index b376f83..a8c052b 100644 (file)
        "passwordreset": "პაროლის აღდგენა",
        "passwordreset-text-one": "შეავსეთ ეს ფორმა, რათა კვლავ დააყენოთ თქვენი პაროლი.",
        "passwordreset-text-many": "{{PLURAL:$1|ელ.ფოსტაზე დროებითი პაროლის მისაღებად შეავსეთ ერთ-ერთი ველი.}}",
-       "passwordreset-legend": "პაროლის აღდგენა",
        "passwordreset-disabled": "ამ ვიკიში პაროლის კვლავ დაყენების ფუნქცია გამორთულია.",
        "passwordreset-emaildisabled": "ამ ვიკიში ელ.ფოსტის ფუნქციები გამორთულია.",
        "passwordreset-username": "მომხმარებლის სახელი:",
        "resettokens": "ტოკენების ჩამოყრა",
        "resettokens-text": "თქვენ შეგიძლიათ ჩამოყაროთ ტოკენები, რომლებიც შესაძლებლობას იძლევიან შესვლას განსაზღვრულ პირად მონაცემებში, დაკავშირებულს თქვენ ანგარიშთან აქ. \n\nთქვენ ეს აუცილებლად უნდა გააკეთოთ, თუ თქვენ ის შემთხვევით გააცანით სხვას ან თუკი თქვენი ანგარიში იქნა გატეხილი.",
        "resettokens-no-tokens": "არ არის ტოკენები ჩამოსაყრელად",
-       "resettokens-legend": "ტოკენების ჩამოყრა",
        "resettokens-tokens": "ჟეტონები:",
        "resettokens-token-label": "$1 (მიმდინარე მნიშვნელობა: $2)",
        "resettokens-watchlist-token": "ტოკენი ვებ-არხისთვის (Atom/RSS) [[Special:Watchlist|გვერდების ცვლილებები თქვენი კონტროლის სიაში]]",
        "randomincategory-nopages": "კატეგორიაში [[:კატეგორია:$1|$1]] გვერდები არაა.",
        "randomincategory-category": "კატეგორია:",
        "randomincategory-legend": "შემთხვევითი გვერდი კატეგორიაში",
+       "randomincategory-submit": "მიდი",
        "randomredirect": "ნებისმიერი გადამისამართება",
        "randomredirect-nopages": "სახელთა სივრცეში „$1“ არ არის გადამისამართებები.",
        "statistics": "სტატისტიკა",
        "linksearch-pat": "ძიების თარგი:",
        "linksearch-ns": "სახელთა სივრცე:",
        "linksearch-ok": "ძიება",
-       "linksearch-text": "შესაძლებელია გამოიყენოთ ქვეხაზოვანი სიმბოლოები, მაგალითად, \"*.wikipedia.org\".\nუკიდურეს შემთხვევაში საჭიროა ზედა დონის დომენი, მაგალითად \"*.org\"<br />\nმხარდამჭერი {{PLURAL:$2|პროტოკოლი|პროტოკოლები}}: <code>$1</code> (სტანდარტულად http:// თუკი პროტოკოლი არ არის მითითებული)",
+       "linksearch-text": "შესაძლებელია გამოიყენოთ ქვეხაზოვანი სიმბოლოები, მაგალითად, \"*.wikipedia.org\".\nუკიდურეს შემთხვევაში საჭიროა ზედა დონის დომენი, მაგალითად \"*.org\"<br />\nმხარდამჭერი {{PLURAL:$2|პროტოკოლი|პროტოკოლები}}: $1 (სტანდარტულად http:// თუკი პროტოკოლი არ არის მითითებული)",
        "linksearch-line": "ბმულები $1-ზე  $2-დან",
        "linksearch-error": "წარმოდგენილი სიმბოლოების გამოყენება შესაძლებელია მხოლოდ მისამართის დასაწყისში.",
        "listusersfrom": "აჩვენეთ მომხმარებლები, რომლებიც იწყებიან:",
index bc86057..011a9fb 100644 (file)
        "passwordreset": "Awennez tikkelt nniḍen n awal uɛaddi",
        "passwordreset-text-one": "Ččur tiferkit agi iwakken ad wennezeḍ awal-ik/im n uɛaddi.",
        "passwordreset-text-many": "{{PLURAL:$1|Čcur yiwet n tiɣwezza iwakken ad rmeseḍ awal n uɛaddi uɛḍil deg tirawt.}}",
-       "passwordreset-legend": "Awennez tikkelt nniḍen n awal uɛaddi",
        "passwordreset-disabled": "Awennez n awal uɛaddi yensa deg uwiki agi.",
        "passwordreset-emaildisabled": "Tiseɣnin email nsant ɣef wiki agi.",
        "passwordreset-username": "Isem n useqdac",
        "resettokens": "Wennez tiddas",
        "resettokens-text": "D-agi tzemreḍ ad twennezeḍ tiddas i ɛemmeden ad kecmeḍ ar isefka usligen i qqenen ar amiḍan inek/inem.\n\nIlaq ad twennezeḍ tiddas ma tferqeḍ-ten s tuccḍa s umseqdac nniḍen neɣ ma amiḍan inek/inem yexṣer.",
        "resettokens-no-tokens": "Ulac tiddas an wennez.",
-       "resettokens-legend": "Wennez tiddas",
        "resettokens-tokens": "Tiddas :",
        "resettokens-token-label": "$1 (azal amiran : $2)",
        "resettokens-watchlist-token": "Tiddest i usuddem (Atom/RSS) web n [[Special:Watchlist|ibeddilen n isebtar n umuɣ inek/inem n uḍfar]]",
        "nmembers": "$1 {{PLURAL:$1|amaslad|imasladen}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|amaslad|imasladen}}",
        "nrevisions": "$1 {{PLURAL:$1|tasiwelt|tisiwal}}",
-       "nviews": "$1 {{PLURAL:$1|timeẓriwt|tuẓrin}}",
        "nimagelinks": "Yetseqdec ɣef $1 {{PLURAL:$1|asebter|isebtar}}",
        "ntransclusions": "yetseqdec ɣef $1 {{PLURAL:$1|asebter|isebtar}}",
        "specialpage-empty": "Asebter-agi d ilem.",
        "linksearch-pat": "Anadi n tanfalit :",
        "linksearch-ns": "Talluntin n isemawen :",
        "linksearch-ok": "Nadi",
-       "linksearch-text": "Isekkilen imeẓliyen am « *.wikipedia.org » zemren ad wetseqdecen.\nIlaq-asen deg udday taɣult n uswir imineg, am amedya « *.org ».<br />\n{{PLURAL:$2|Aneggaf yettwaɛqelen|Ineggafen yettwaɛqelen}}: <code>$1</code> (http:// s lexṣas ma ulac aneggaf).",
+       "linksearch-text": "Isekkilen imeẓliyen am « *.wikipedia.org » zemren ad wetseqdecen.\nIlaq-asen deg udday taɣult n uswir imineg, am amedya « *.org ».<br />\n{{PLURAL:$2|Aneggaf yettwaɛqelen|Ineggafen yettwaɛqelen}}: $1 (http:// s lexṣas ma ulac aneggaf).",
        "linksearch-line": "$1 yeqqen seg $2",
        "linksearch-error": "Tzemreḍ ad seqdeceḍ isekkilen usligen ala deg tazzwara n taɣult uselkim.",
        "listusersfrom": "Ssken imseqdacen seg:",
index 5e56faf..4935fdf 100644 (file)
        "passwordreset": "Құпия сөзді қайтару",
        "passwordreset-text-one": "Уақытша құпия сөзіңізді электрон пошта арқылы қабылдау үшін бұл пішінді толтырыңыз.",
        "passwordreset-text-many": "{{PLURAL:$1|Е-пошта арқылы уақытша құпия сөзді қабылдау үшін жолақтардың бірін толтырыңыз.}}",
-       "passwordreset-legend": "Құпия сөзді қайтару",
        "passwordreset-disabled": "Бұл уикиде құпия сөзді қайтару ажыратылған.",
        "passwordreset-emaildisabled": "E-mail мүмкіндігі бұл уикиде өшірілген.",
        "passwordreset-username": "Қатысушы аты:",
        "resettokens": "Байрақшаны ысыру",
        "resettokens-text": "Мұнда сіз құпия дерекке қатысты тіркелгіңізге қатынауға рұқсат ететін байрақшаны ысыра аласыз.\n\nЕгер сіздің тіркелгіңіз бұзылған болса, егер сіз абайсызда қандай да біреумен бөліссеңіз, сіз мұны істеуіңіз керек.",
        "resettokens-no-tokens": "Мұнда ысыруға байрақша жоқ.",
-       "resettokens-legend": "Байрақшаны ысыру",
        "resettokens-tokens": "Байрақша",
        "resettokens-token-label": "$1 (қазіргі мәні : $2)",
        "resettokens-watchlist-token": "(Atom/RSS) [[Special:Watchlist|сіздің бақылау тізіміңіздегі беттердегі өзгерістер]]дегі уеб тізбегі (Atom/RSS) үшін токен",
        "randomincategory-nopages": "Бұлар [[:Category:$1]] беттері мес.",
        "randomincategory-category": "Санат:",
        "randomincategory-legend": "Санаттағы кездейсоқ бет",
+       "randomincategory-submit": "Өту",
        "randomredirect": "Кездейсоқ айдағыш",
        "randomredirect-nopages": "Бұл есім аясында еш айдағыш жоқ \"$1\".",
        "statistics": "Санақ",
        "nmembers": "$1 {{PLURAL:$1|мүше|мүше}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|мүше|мүше}}",
        "nrevisions": "$1 {{PLURAL:$1|түзету|түзету}}",
-       "nviews": "$1 {{PLURAL:$1|қаралу|қаралу}}",
        "nimagelinks": "$1 {{PLURAL:$1|бетте|бетте}} қолданылады",
        "ntransclusions": "$1 {{PLURAL:$1|бетте|бетте}} қолданылады",
        "specialpage-empty": "Бұл сұраныс бойынша нәтиже жоқ.",
        "rollback-success": "$1 өңдемелерінен қайтарды;\n$2 соңғы нұсқасына қайта өзгертті.",
        "sessionfailure-title": "Сеанс сәтсіз болды",
        "sessionfailure": "Кіру сессиясында шатақ болған сияқты;\nсессияға шабуылдаудардан қорғану үшін, осы әрекет тоқтатылды.\n«Артқа» дегенді басыңыз, және бетті қайта жүктеңіз де, қайта байқап көріңіз.",
+       "changecontentmodel-title-label": "Бет атауы",
+       "changecontentmodel-model-label": "Жаңа мағлұмат қалпы",
+       "changecontentmodel-reason-label": "Себебі:",
+       "logentry-contentmodel-change-revertlink": "қайтару",
+       "logentry-contentmodel-change-revert": "қайтару",
        "protectlogpage": "Қорғау журналы",
        "protectlogtext": "Төменде беттердің қорғау/қорғамау тізімі берілген.\nАғымдағы қорғау әректтер бар беттер үшін [[Special:ProtectedPages|қорғалған беттер тізімін]] қараңыз.",
        "protectedarticle": "«[[$1]]» бетін қорғады",
        "tooltip-pt-logout": "Шығу",
        "tooltip-pt-createaccount": "Біз сізге есептік жазба бастауды және кіруді ұсынамыз,ол міндетті емес.",
        "tooltip-ca-talk": "Мағлұмат бетті талқылау",
-       "tooltip-ca-edit": "Бұл бетті өңдей аласыз. Сақтаудың алдында «Қарап шығу» батырмасын нұқыңыз.",
+       "tooltip-ca-edit": "Бұл бетті өңдеу",
        "tooltip-ca-addsection": "Жаңа бөлім бастау",
        "tooltip-ca-viewsource": "Бұл бет қорғалған. Қайнарын қарай аласыз.",
        "tooltip-ca-history": "Бұл беттін соңғы нұсқалары.",
        "pageinfo-robot-index": "рұқсат берілген",
        "pageinfo-robot-noindex": "рұқсат етілмеген",
        "pageinfo-watchers": "Бетті қараушылар саны",
+       "pageinfo-visiting-watchers": "Соңғы өңдемеден кейінгі бетті қараушылар саны",
        "pageinfo-few-watchers": "$1 азырақ {{PLURAL:$1|қараушы|қараушы}}",
        "pageinfo-redirects-name": "Бұл бетке бағытталғандар саны",
        "pageinfo-subpages-name": "Бұл беттің төменгі беттер саны",
        "version-libraries": "Орнатылған кітапхана",
        "version-libraries-library": "Кітапхана",
        "version-libraries-version": "Нұсқасы",
+       "version-libraries-license": "Лицензиясы",
+       "version-libraries-description": "Сипаттамасы",
+       "version-libraries-authors": "Автор(лары)",
        "redirect": "Файл, қатысушы, бет немесе нұсқа ID-і бойынша бағыттаулар",
        "redirect-legend": "Файл немесе бетке айдатулар",
        "redirect-summary": "Бұл арнайы бет файлға (файл атауы берілген), бетке (нұсқа ID-і немесе бет ID-і берілген), не қатысушы бетіне бағыттайды (қатысушы сандық ID-і берілген). Қолданылуы: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], немесе [[{{#Special:Redirect}}/user/101]].",
        "logentry-suppress-event-legacy": "$1 $3 бетіндегі журнал оқиғаларының көрінулігін құпия түрде {{GENDER:$2|өзгертті}}",
        "logentry-suppress-revision-legacy": "$1 $3 бетіндегі нұсқалардың көрінулігін құпия түрде {{GENDER:$2|өзгертті}}",
        "revdelete-content-hid": "мағлұматын жасырыды",
-       "revdelete-summary-hid": "өңдеу түйіндемесі жасырылған",
-       "revdelete-uname-hid": "қатысушы есімі жасырылған",
+       "revdelete-summary-hid": "өңдеу түйіндемесін жасырды",
+       "revdelete-uname-hid": "қатысушы есіміy жасырды",
        "revdelete-content-unhid": "мағлұматы жасырылмаған",
        "revdelete-summary-unhid": "өңдеу түйіндемесі жасырылмаған",
        "revdelete-uname-unhid": "қатысушы есімі жасырылмаған",
        "special-characters-group-khmer": "Кхмер",
        "special-characters-title-endash": "дефис",
        "special-characters-title-emdash": "сызықша",
-       "special-characters-title-minus": "минус белгісі"
+       "special-characters-title-minus": "минус белгісі",
+       "mw-widgets-titleinput-description-new-page": "бет жоқ екен",
+       "mw-widgets-titleinput-description-redirect": "$1 дегенге бағыттату"
 }
index 5b18c9b..d8eda8d 100644 (file)
        "randomincategory-nopages": "គ្មានទំព័រណាមួយក្នុងចំណាត់ថ្នាក់ក្រុម [[:Category:$1|$1]] ទេ។",
        "randomincategory-category": "ចំណាត់ថ្នាក់ក្រុម៖",
        "randomincategory-legend": "ទំព័រចៃដន្យក្នុងចំណាត់ថ្នាក់ក្រុម",
+       "randomincategory-submit": "ទៅ",
        "randomredirect": "ទំព័របញ្ជូនបន្តចៃដន្យ",
        "randomredirect-nopages": "គ្មានទំព័របញ្ជូនបន្តណាមួយនៅក្នុងប្រភេទ \"$1\" ទេ។",
        "statistics": "ស្ថិតិ",
        "linksearch-pat": "ស្វែងរកគំរូ៖",
        "linksearch-ns": "លំហឈ្មោះ៖",
        "linksearch-ok": "ស្វែងរក",
-       "linksearch-text": "Wildcards ដូចជា \"*.wikipedia.org\" អាចប្រើបាន។\nតំរូវអោយមានយ៉ាងហោចណាស់អោយមានដូម៉ែនកំរិតលើគេ ឧទាហរណ៍ \"*.org\"។<br />\n{{PLURAL:$2ប្រូតូខូល|ប្រូតូខូល}}ប្រើបាន៖ <code>$1</code>  (តាមលំនាំដើមជា http:// ប្រសិនបើគ្មានបញ្ជាក់ប្រូតូខូល)។",
+       "linksearch-text": "Wildcards ដូចជា \"*.wikipedia.org\" អាចប្រើបាន។\nតំរូវអោយមានយ៉ាងហោចណាស់អោយមានដូម៉ែនកំរិតលើគេ ឧទាហរណ៍ \"*.org\"។<br />\n{{PLURAL:$2ប្រូតូខូល|ប្រូតូខូល}}ប្រើបាន៖ $1  (តាមលំនាំដើមជា http:// ប្រសិនបើគ្មានបញ្ជាក់ប្រូតូខូល)។",
        "linksearch-line": "$1បានតភ្ជាប់ពី$2",
        "listusersfrom": "បង្ហាញអ្នកប្រើប្រាស់ចាប់ផ្តើមពី៖",
        "listusers-submit": "បង្ហាញ",
index a50a321..8947bc3 100644 (file)
        "permissionserrorstext-withaction": "$2 ನಿಮಗೆ ಅನುಮತಿ ಇಲ್ಲ, ಅದಕ್ಕೆ {{PLURAL:$1|ಕಾರಣ|ಕಾರಣಗಳು}}:",
        "recreate-moveddeleted-warn": "'''ಎಚ್ಚರಿಕೆ: ಹಿಂದೆ ಅಳಿಸಲಾದ ಪುಟವನ್ನು ನೀವು ಮತ್ತೆ ಸೃಷ್ಟಿಸುತ್ತಿರುವಿರಿ.'''\n\nಈ ಪುಟವನ್ನು ಸಂಪಾದಿಸಲು ಸಮರ್ಪಕ ಕಾರಣವಿದೆಯೆ ಎಂದು ದಯವಿಟ್ಟು ಆಲೋಚಿಸಿ.\nಪುಟದ ಅಳಿಸುವಿಕೆ ದಿನಚರಿಯನ್ನು ಈ ಕೆಳಗೆ ನೀಡಲಾಗಿದೆ:",
        "moveddeleted-notice": "ಈ ಪುಟವು ಅಳಿಸಲ್ಪಟ್ಟಿದೆ.\nಈ ಪುಟದ ಅಳಿಸುವಿಕೆಯ ದಾಖಲೆಯನ್ನು ಕೆಳಗೆ ತೋರಿಸಲಾಗಿದೆ.",
+       "log-fulllog": "ಪೂರ್ಣ ದಾಖಲೆ ವೀಕ್ಷಿಸಿ",
+       "edit-hook-aborted": "ಕೊಕ್ಕೆ ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ ಸಂಪಾದಿಸಿ .\nಇದು ಯಾವುದೇ ವಿವರಣೆ ನೀಡಿದರು .",
        "edit-gone-missing": "ಪುಟವನ್ನು ಪ್ರಸ್ತುತಗೊಳಿಸಲು ಸಾದ್ಯವಿಲ್ಲ, ಪುಟವು ಬಹುಶ: ಅಳಿಸಲ್ಪಟ್ಟಿರಬಹುದು",
        "edit-conflict": "ಸಂಪಾದನಾ ಘರ್ಷಣೆ.",
        "edit-no-change": "ನಿಮ್ಮ ಸಂಪಾದನೆಯನ್ನು ಕಡೆಗಣಿಸಲಾಗಿದೆ ಏಕೆಂದರೆ ಪಠ್ಯದಲ್ಲಿ ಯಾವುದೇ ಬದಲಾವಣೆ ಮಾಡಲಾಗಿಲ್ಲ್ಲ",
+       "postedit-confirmation-created": "ಈ ಪುಟ ಸೃಷ್ಟಿಸಲಾಗಿದೆ.",
+       "postedit-confirmation-restored": "ಪುಟವನ್ನು ಪುನಃಸ್ಥಾಪಿಸಲಾಗಿದೆ.",
        "postedit-confirmation-saved": "ನಿಮ್ಮ ಸಂಪಾದನೆಯನ್ನು ಉಳಿಸಲಾಗಿದೆ.",
        "edit-already-exists": "ಹೊಸ ಪುಟವನ್ನು ಸೃಷ್ಟಿಸಲಾಗಲಿಲ್ಲ.\nಅದು ಆಗಲೆ ಅಸ್ಥಿತ್ವದಲ್ಲಿದೆ.",
        "content-model-wikitext": "ವಿಕಿ ಪಠ್ಯ",
        "history-feed-description": "ವಿಕಿಯ ಈ ಪುಟದ ಬದಲಾವಣೆಗಳ ಇತಿಹಾಸ",
        "history-feed-item-nocomment": "$1 $2 ಅಲ್ಲಿ",
        "history-feed-empty": "ನೀವು ಕೋರಿರುವ ಪುಟ ಅಸ್ಥಿತ್ವದಲ್ಲಿ ಇಲ್ಲ.\nಅದು ವಿಕಿಯಿಂದ ಅಳಿಸಲ್ಪಟ್ಟಿರಬಹುದು ಅಥವ ಪುನರ್ನಾಮಕಾರಣಗೊಂಡಿರಬಹುದು.\nಸಂಬಂಧಿತ ಹೊಸ ಪುಟಗಳನ್ನು [[Special:Search|ಹುಡುಕಲು ಪ್ರಯತ್ನಿಸಿ]].",
-       "rev-deleted-comment": "(ಕಮೆ೦ಟ್ ತೆಗೆದು ಹಾಕಲಾಗಿದೆ)",
+       "rev-deleted-comment": "ಬದಲಾಯಿಸಿದ ಸಾರಾಂಶ ತೆಗೆದುಹಾಕಲಾಗಿದೆ",
        "rev-deleted-user": "(ಬಳಕೆದಾರ ಹೆಸರು ತಗೆಯಲ್ಪಟ್ಟಿದೆ)",
        "rev-deleted-event": "(ದಾಖಲೆ ಕ್ರಿಯೆ ತೆಗೆಯಲಾಯಿತು)",
        "rev-delundel": "ತೋರಿಸು/ಅಡಗಿಸು",
        "rev-showdeleted": "ತೋರಿಸು",
        "revdelete-show-file-submit": "ಹೌದು",
        "revdelete-legend": "ಕಾಣಿಸುವಿಕೆಯ ನಿಬಂಧನೆಗಳನ್ನು ನಿಶ್ಚಯಿಸು",
-       "revdelete-hide-text": "ಬದಲಾವಣà³\86ಯ à²ªà² à³\8dಯವನà³\8dನà³\81 à²\85ಡà²\97ಿಸà³\81",
+       "revdelete-hide-text": "ಪರಿಷà³\8dà²\95ರಣà³\86 à²ªà² à³\8dಯ",
        "revdelete-hide-image": "ಫೈಲಿನಲ್ಲಿರುವ ಮಾಹಿತಿಯನ್ನು ಅಡಗಿಸು",
        "revdelete-hide-name": "ಕಾರ್ಯ ಮತ್ತು ಗುರಿಗಳನ್ನು ಅಡಗಿಸು",
        "revdelete-hide-comment": "ಸಾರಾಂಶವನು ಬದಲಾಯಿಸಿ",
-       "revdelete-hide-user": "ಸà²\82ಪಾದà²\95ರ à²¬à²³à²\95à³\86ಯ à²¹à³\86ಸರà³\81/IP à²\85ಡà²\97ಿಸà³\81",
-       "revdelete-hide-restricted": "à²\88 à²¨à²¿à²¬à²\82ಧನà³\86à²\97ಳನà³\8dನà³\81 à²¨à²¿à²°à³\8dವಾಹà²\95ರಿà²\97à³\82 à²\85ನà³\8dವಯಿಸà³\81 à²®à²¤à³\8dತà³\81 à²\88 interface à²\97à³\86 à²¬à³\80à²\97 à²¹à²¾à²\95ು",
+       "revdelete-hide-user": "ಸà²\82ಪಾದà²\95ರ à²¬à²³à²\95à³\86ಯ à²¹à³\86ಸರà³\81/IP à²µà²¿à²³à²¾à²¸",
+       "revdelete-hide-restricted": "ನಿರà³\8dವಾಹà²\95ರಿà²\82ದ à²®à²¤à³\8dತಿತರರಿà²\82ದ à²¬à²\82ದ à²®à²¾à²¹à²¿à²¤à²¿à²¯à²¨à³\8dನà³\81 à²\85ಡà²\97ಿಸು",
        "revdelete-radio-same": "(ಬದಲಾಯಿಸಬೇಡಿ)",
        "revdelete-radio-set": "ಅಡಗಿದ",
-       "revdelete-radio-unset": "à²\87ಲà³\8dಲ",
+       "revdelete-radio-unset": "à²\97à³\8bà²\9aರ",
        "revdelete-suppress": "ನಿರ್ವಾಹಕರಿಂದ ಮತ್ತಿತರರಿಂದ ಬಂದ ಮಾಹಿತಿಯನ್ನು ಅಡಗಿಸು",
        "revdelete-unsuppress": "ಪುನಃ ಸ್ಥಾಪಿಸಿದ ಬದಲಾವಣೆಗಳ ಮೇಲಿನ ನಿಬಂಧನೆಗಳನ್ನು ತೆಗೆ",
        "revdelete-log": "ಕಾರಣ:",
-       "revdelete-submit": "ಆಯ್ಕೆ ಮಾಡಿದ ಬದಲಾವಣೆಗೆ ಅನ್ವಯಿಸು",
+       "revdelete-submit": "ಆಯ್ಕೆ ಮಾಡಿದ ಬದಲಾವಣೆಗೆ ಅನ್ವಯಿಸು{{PLURAL:$1|revision|revisions}}",
        "revdel-restore": "ಕಾಣಿಸುವಿಕೆಯನ್ನು ಬದಲಾಯಿಸು",
        "pagehist": "ಪುಟದ ಇತಿಹಾಸ",
        "deletedhist": "ಅಳಿಸಲ್ಪಟ್ಟ ಇತಿಹಾಸ",
        "compareselectedversions": "ಆಯ್ಕೆ ಮಾಡಿದ ಆವೃತ್ತಿಗಳನ್ನು ಹೊಂದಾಣಿಕೆ ಮಾಡಿ ನೋಡಿ",
        "showhideselectedversions": "ಆಯ್ದ ಆವೃತ್ತಿಗಳನ್ನು ತೋರಿಸು/ಅಡಗಿಸು",
        "editundo": "ಹಿಂದಿನಂತೆ",
+       "diff-empty": "( ಯಾವುದೇ ವ್ಯತ್ಯಾಸವಿಲ್ಲ )",
        "searchresults": "ಶೋಧನೆಯ ಫಲಿತಾಂಶಗಳು",
        "searchresults-title": "\"$1\" ಅನ್ನು ಹುಡುಕಿದ ಫಲಿತಾಂಶಗಳು",
        "titlematches": "ಹೊಂದಿಕೆಯಿರುವ ಪುಟ ಶೀರ್ಷಿಕೆಗಳು",
        "notextmatches": "ಯಾವ ಪುಟದ ಪಠ್ಯದಲ್ಲೂ ಹೋಲಿಕೆಗಳಿಲ್ಲ",
        "prevn": "ಹಿಂದಿನ {{PLURAL:$1|$1}}",
        "nextn": "ಮುಂದಿನ {{PLURAL:$1|$1}}",
+       "prev-page": "ಹಿಂದಿನ ಪುಟ",
+       "next-page": "ಮುಂದಿನ ಪುಟ",
        "prevn-title": "ಹಿಂದಿನ $1 {{PLURAL:$1|ಫಲಿತಾಂಶ|ಫಲಿತಾಂಶಗಳು}}",
        "nextn-title": "ಮುಂದಿನ $1 {{PLURAL:$1|ಫಲಿತಾಂಶ|ಫಲಿತಾಂಶಗಳು}}",
        "shown-title": "ಪ್ರತಿ ಪುಟದಲ್ಲಿಯೂ $1 {{PLURAL:$1|result|results}} ತೋರಿಸು",
        "search-section": "(ವಿಭಾಗ $1)",
        "search-suggest": "ನೀವು ಇದನ್ನು ಹುಡುಕುತ್ತಿರುವಿರೆ: $1",
        "search-interwiki-caption": "ಬಳಗದ ಇತರ ಯೋಜನೆಗಳು",
-       "search-interwiki-default": "$1 ಫಲಿತಾಂಶಗಳು:",
+       "search-interwiki-default": "ಫಲಿತಾಂಶಗಳು $1:",
        "search-interwiki-more": "(ಹೆಚ್ಚು)",
        "search-relatedarticle": "ಸಂಬಂಧಿತ",
        "searchrelated": "ಸಂಬಂಧಿತ",
        "prefs-skin": "ಚರ್ಮ",
        "skin-preview": "ಮುನ್ನೋಟ",
        "datedefault": "ಯಾವುದೇ ಪ್ರಾಶಸ್ತ್ಯ ಇಲ್ಲ",
+       "prefs-labs": "ಲ್ಯಾಬ್ಸ್ ವೈಶಿಷ್ಟ್ಯಗಳು",
        "prefs-user-pages": "ಸದಸ್ಯರ ಪುಟಗಳು",
        "prefs-personal": "ಬಳಕೆದಾರರ ಬಗ್ಗೆ",
        "prefs-rc": "ಇತ್ತೀಚಿನ ಬದಲಾವಣೆಗಳು",
        "prefs-watchlist": "ವೀಕ್ಷಣಾಪಟ್ಟಿ",
+       "prefs-editwatchlist": "ವೀಕ್ಷಣಾಪಟ್ಟಿಯನ್ನು ಸಂಪಾದಿಸು",
        "prefs-watchlist-days": "ವೀಕ್ಷಣಾಪಟ್ಟಿಯಲ್ಲಿ ತೋರಿಸಲಾಗುವ ದಿನಗಳು:",
        "prefs-watchlist-days-max": "Maximum $1 {{PLURAL:$1|day|days}}",
        "prefs-watchlist-edits": "ವಿಸ್ತೃತ ವೀಕ್ಷಣಾಪಟ್ಟಿಯಲ್ಲಿ ತೋರಿಸಬೇಕಾದ ಗರಿಷ್ಠ ಬದಲಾವಣೆಗಳು:",
        "prefs-changeemail": "ಮಿಂಚಂಚೆ ವಿಳಾಸವನ್ನು ಬದಲಾಯಿಸಿ",
        "prefs-setemail": "ಇ-ಅಂಚೆ ವಿಳಾಸವನ್ನು ಸ್ಥಾಪಿಸಿ",
        "prefs-email": "ಇ-ಅಂಚೆ ಇಚ್ಛೆಗಳು",
+       "prefs-rendering": "ಗೋಚರ",
        "saveprefs": "ಉಳಿಸಿ",
        "prefs-editing": "ಸಂಪಾದನೆ",
        "rows": "ಸಾಲುಗಳು:",
        "savedprefs": "ನಿಮ್ಮ ಇಚ್ಛೆಗಳನ್ನು ಉಳಿಸಲಾಯಿತು.",
        "timezonelegend": "ಸಮಯ ವಲಯ:",
        "localtime": "ಸ್ಥಳೀಯ ಸಮಯ:",
-       "servertime": "ಸರ್ವರ್ ಕಾಲ",
+       "servertime": "ಸರ್ವರ್ ಕಾಲ:",
        "guesstimezone": "ಬ್ರೌಸರ್ ಇಂದ ತುಂಬು",
        "timezoneregion-africa": "ಆಫ್ರಿಕ",
        "timezoneregion-america": "ಅಮೇರಿಕ",
        "prefs-namespaces": "ನಾಮವರ್ಗಗಳು",
        "default": "ಮೂಲಸ್ಥಿತಿ",
        "prefs-files": "ಫೈಲುಗಳು",
+       "prefs-custom-css": "ಕಸ್ಟಮ್ ಸಿಎಸ್ಎಸ್",
+       "prefs-custom-js": "ಕಸ್ಟಮ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್",
+       "prefs-emailconfirm-label": "ಮಿಂಚಂಚೆ ದೃಢೀಕರಣ",
        "youremail": "ಇ-ಅಂಚೆ:",
-       "username": "ಸದಸ್ಯತ್ವದ ಹೆಸರು:",
+       "username": "{{ಲಿಂಗ:$1|ಸದಸ್ಯತ್ವದ ಹೆಸರು}}:",
        "prefs-memberingroups": "ಈ {{PLURAL:$1|ಗುಂಪಿನ|ಗುಂಪುಗಳ}} ಸದಸ್ಯ:",
+       "prefs-registration": "ನೋಂದಣಿ ಸಮಯ:",
        "yourrealname": "ನಿಜ ಹೆಸರು:",
        "yourlanguage": "ಭಾಷೆ:",
        "yournick": "ಸಹಿ:",
        "prefs-i18n": "ಅಂತರರಾಷ್ಟ್ರೀಕರಣ",
        "prefs-signature": "ಸಹಿ",
        "prefs-dateformat": "ದಿನಾಂಕ ಶೈಲಿ",
-       "prefs-advancedediting": "ಪರಿಣತ à²\87à²\9aà³\8dà²\9bೆಗಳು",
+       "prefs-advancedediting": "ಸಾಮಾನà³\8dಯ à²\86ಯà³\8dà²\95ೆಗಳು",
        "prefs-editor": "ಸಂಪಾದಕ",
        "prefs-preview": "ಮುನ್ನೋಟ",
        "prefs-advancedrc": "ಪರಿಣತ ಇಚ್ಛೆಗಳು",
        "group-all": "(ಎಲ್ಲವೂ)",
        "group-user-member": "ಬಳಕೆದಾರ",
        "group-autoconfirmed-member": "ಸ್ವಧೃಡೀಕೃತ ಬಳಕೆದಾರ",
-       "group-bot-member": "ಬಾಟ್",
-       "group-sysop-member": "ನಿರ್ವಾಹಕ",
+       "group-bot-member": "{{ಲಿಂಗ:$1|ಬೋಟ್}}",
+       "group-sysop-member": "{{ಲಿಂಗ:$1|ಮಾಜಿ ಆಡಳಿತಗಾರ}}",
        "group-bureaucrat-member": "ಮೇಲ್ವಿಚಾರಕ",
        "group-suppress-member": "ನಿಗ ಇಡುವವ",
        "grouppage-user": "{{ns:project}}:ಬಳಕೆದಾರರು",
        "right-deletedtext": "ಆಳಿಸಿದ ಪಠ್ಯ ಮತ್ತು ಅಳಿಸಿದ ಆವೃತ್ತಿಗಳ ನಡುವಿನ ಬದಲಾವಣೆಗಳನ್ನು ನೋಡಿ",
        "right-browsearchive": "ಅಳಿಸಲಾಗಿರುವ ಪುಟಗಳನ್ನು ಹುಡುಕಿ",
        "right-undelete": "ಆಳಿಸಿದ ಪುಟವನ್ನು ಉಳಿಸಿ",
+       "right-suppressionlog": "ಖಾಸಗಿ ದಾಖಲೆಗಳು ವೀಕ್ಷಿಸಿ",
        "right-block": "ಬೇರೆ ಬಳಕೆದಾರರು ಸಂಪಾದಿಸದಂತೆ ನಿರ್ಬಂಧಿಸು",
        "right-blockemail": "ಬಳಕೆದಾರನು ಇ-ಅಂಚೆ ಕಳುಹಿಸುವುದನ್ನು ತಡೆಗಟ್ಟು",
        "right-import": "ಬೇರೆ ವಿಕಿಗಳಿಂದ ಪುಟಗಳನ್ನು ಆಮದು ಮಾಡು",
        "action-deleterevision": "ಈ ಆವೃತ್ತಿಯನ್ನು ಅಳಿಸು",
        "action-browsearchive": "ಅಳಿಸಲಾಗಿರುವ ಪುಟಗಳನ್ನು ಹುಡುಕು",
        "action-undelete": "ಈ ಪುಟವನ್ನು ಅಳಿಸಬೇಡ",
+       "action-suppressionlog": "ಖಾಸಗಿ ದಾಖಲೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ",
        "action-block": "ಈ ಸದಸ್ಯರನ್ನು ಸಂಪಾದಿಸಲು ಆಗದಂತೆ ನಿರ್ಭಂಧಿಸಿ",
        "action-protect": "ಈ ಪುಟದ ಸಂರಕ್ಷಣೆ ಮಟ್ಟಗಳನ್ನು ಬದಲಾಯಿಸಲು",
        "action-import": "ಇನ್ನೊಂದು ವಿಕಿಯಿಂದ ಪುಟಗಳನ್ನು ಆಮದು ಮಾಡು",
        "rc_categories_any": "ಯಾವುದೇ",
        "rc-change-size-new": "$1 {{PLURAL:$1|byte|bytes}} ಬದಲಾವಣೆಯ ನಂತರ",
        "newsectionsummary": "/* $1 */ ಹೊಸ ವಿಭಾಗ",
-       "rc-enhanced-expand": "ವಿವರಗಳನ್ನು ತೋರಿಸು (JavaScript ಬೇಕಾಗುತ್ತದೆ)",
+       "rc-enhanced-expand": "ವಿವರಗಳನ್ನು ತೋರಿಸು",
        "rc-enhanced-hide": "ವಿವರಗಳನ್ನು ಅಡಗಿಸು",
        "recentchangeslinked": "ಸಂಬಂಧಪಟ್ಟ ಬದಲಾವಣೆಗಳು",
        "recentchangeslinked-feed": "ಸಂಬಂಧಪಟ್ಟ ಬದಲಾವಣೆಗಳು",
        "sourcefilename": "ಮೂಲ ಫೈಲಿನ ಹೆಸರು:",
        "upload-maxfilesize": "ಗರಿಷ್ಠ ಫೈಲು ಗಾತ್ರ: $1",
        "upload-description": "ಕಡತ ವಿವರಣೆ",
+       "upload-options": "ಅಪ್ಲೋಡ್ ಆಯ್ಕೆಗಳು",
        "watchthisupload": "ಈ ಪುಟವನ್ನು ವೀಕ್ಷಿಸಿ",
        "filewasdeleted": "ಈ ಹೆಸರಿನ ಫೈಲು ಮುಂಚೆ ಅಪ್ಲೋಡ್ ಮಾಡಲಾಗಿ ಅದನ್ನು ಆನಂತರ ಅಳಿಸಲಾಗಿತ್ತು.\nಇದನ್ನು ಮತ್ತೊಮ್ಮೆ ಅಪ್ಲೋಡ್ ಮಾಡುವ ಮುನ್ನ ನೀವು $1 ಅನ್ನು ಪರೀಕ್ಷಿಸಬೇಕು.",
        "upload-success-subj": "ಯಶಸ್ವಿ ಅಪ್ಲೋಡ್",
+       "upload-failure-subj": "ಅಪ್ಲೋಡ್ ಸಮಸ್ಯೆ",
        "upload-warning-subj": "ಅಪ್ಲೋಡ್ ಎಚ್ಚರಿಕೆ",
        "upload-file-error": "ಆಂತರಿಕ ದೋಷ",
        "upload-file-error-text": "ಸರ್ವರ್‍ನಲ್ಲಿ ತಾತ್ಕಾಲಿಕ ಫೈಲನ್ನು ಸೃಷ್ಟಿಸುವಲ್ಲಿ ಒಂದು ಆಂತರಿಕ ದೋಷವಾಯಿತು.\nದಯವಿಟ್ಟು ವ್ಯವಸ್ಥಾಪಕರೊಬ್ಬರನ್ನು ಸಂಪರ್ಕಿಸಿ.",
        "uploadstash-refresh": "ಕಡತಗಳ ಪಟ್ಟಿಯನ್ನು ಪುನಃ ಭಾರಹೇರಿಸಿ",
        "img-auth-accessdenied": "ಅನುಮತಿ ನಿರಾಕರಿಸಲಾಗಿದೆ",
        "img-auth-nofile": "ಕಡತ \"$1\" ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ.",
+       "img-auth-streaming": "ಸ್ಟ್ರೀಮಿಂಗ್ \"$1\".",
        "upload-curl-error6": "URL ಅನ್ನು ತಲುಪಲು ಆಗಲಿಲ್ಲ",
        "upload-curl-error6-text": "ನೀಡಲ್ಪಟ್ಟ URL ಅನ್ನು ತಲುಪಲು ಆಗಲಿಲ್ಲ.\nಈ URL ಸರಿಯಿದೆ ಮತ್ತು ಆ ತಾಣ ಕಾರ್ಯ ಮಾಡುತ್ತಿದೆ ಎಂದು ಮತ್ತೊಮ್ಮೆ ಪರೀಕ್ಷಿಸಿ.",
        "upload-curl-error28": "ಅಪ್ಲೋಡ್ ಕಾಲಾವಧಿ ಮೀರಿದೆ",
        "license-nopreview": "(ಪೂರ್ವವೀಕ್ಷಣೆ ಲಭ್ಯವಿಲ್ಲ)",
        "upload_source_url": " (ಒಂದು ಮನ್ನಿತ, ಸಾರ್ವಜನಿಕವಾಗಿ ಎಟಕುವ URL)",
        "upload_source_file": " (ನಿಮ್ಮ ಗಣಕಯಂತ್ರದಲ್ಲಿರುವ ಒಂದು ಫೈಲು)",
-       "listfiles-summary": "ಈ ವಿಶೇಷ ಪುಟವು ಎಲ್ಲಾ ಅಪ್ಲೋಡ್ ಆಗಿರುವ ಫೈಲುಗಳನ್ನು ತೋರುತ್ತದೆ.\nವಸ್ತುಸ್ಥಿತಿಯಲ್ಲಿ, ಕೊನೆಯದಾಗಿ ಅಪ್ಲೋಡ್ ಆಗಿರುವ ಫೈಲುಗಳು ಪಟ್ಟಿಯ ಪ್ರಾರಂಭದಲ್ಲಿ ಕಾಣುತ್ತವೆ.\nಪಟ್ಟಿಯ ವಿಭಾಗದ ತಲೆಬರಹವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿದರೆ ಪಟ್ಟಿಯ ರಚನೆ ಬದಲಾಗುತ್ತದೆ.",
+       "listfiles-delete": "ಅಳಿಸು",
+       "listfiles-summary": "ಈ ವಿಶೇಷ ಪುಟದಲ್ಲಿ ಎಲ್ಲಾ ಅಪ್ಲೋಡ್ ಆಗಿರುವ ಫೈಲುಗಳನ್ನು ತೋರುತ್ತದೆ .",
+       "listfiles_search_for": "ಮಾಧ್ಯಮ ಹೆಸರು ಹುಡುಕಿ",
        "imgfile": "ಫೈಲು",
        "listfiles": "ಚಿತ್ರಗಳ ಪಟ್ಟಿ",
        "listfiles_thumb": "ಕಿರುನೋಟ",
        "filepage-nofile": "ಈ ಹೆಸರಿನ ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ",
        "filepage-nofile-link": "ಈ ಹೆಸರಿನ ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ ಆದರೆ ನೀವು ಇದನ್ನು [$1 ನಕಲೆರಿಸಬಹುದು ]",
        "uploadnewversion-linktext": "ಈ ಫೈಲಿನ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ",
+       "shared-repo-from": "ರಿಂದ $1",
        "upload-disallowed-here": "ನೀವು ಈ ಕಡತವನ್ನು ಪುನರ್ಲೇಖಿಸಲು ಸಾದ್ಯವಿಲ್ಲ.",
        "filerevert": "$1 ಹಿಂದಿನಂತಾಗಿಸು",
        "filerevert-comment": "ಕಾರಣ:",
        "unusedtemplateswlh": "ಇತರ ಕೊಂಡಿಗಳು",
        "randompage": "ಯಾದೃಚ್ಛಿಕ ಪುಟ",
        "randompage-nopages": "ಈ ಪುಟಪ್ರಬೇಧದಲ್ಲಿ ಯಾವ ಪುಟವೂ ಇಲ್ಲ.",
+       "randomincategory-category": "ವರ್ಗ:",
        "randomincategory-submit": "ಹೋಗು",
        "randomredirect": "ಯದೃಚ್ಛಿಕ ಪುನರ್ನಿರ್ದೇಶಿತ ಪುಟ",
        "randomredirect-nopages": "ಈ ಪುಟಪ್ರಬೇಧದಲ್ಲಿ ಯಾವ ಪುನರ್ನಿರ್ದೇಶನಗಳೂ ಇಲ್ಲ.",
        "statistics-files": "ಅಪ್ಲೋಡ್ ಆಗಿರುವ ಫೈಲುಗಳು",
        "statistics-edits-average": "ಪುಟದ ಸರಾಸರಿ ಮಾರ್ಪಡಿಕೆಗಳು",
        "statistics-users-active": "ಸಕ್ರಿಯ ಬಳಕೆದಾರರು",
+       "pageswithprop-prop": "ಆಸ್ತಿಯ ಹೆಸರು:",
        "pageswithprop-submit": "ಹೋಗು",
        "doubleredirects": "ಮರುಕಳಿಸಿದ ಪುನರ್ನಿರ್ದೇಶನಗಳು",
        "brokenredirects": "ಮುರಿದ ರಿಡೈರೆಕ್ಟ್‌ಗಳು",
        "brokenredirects-delete": "ಅಳಿಸಿ",
        "withoutinterwiki": "ಬೇರೆ ಭಾಷೆಗಳಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಿರದ ಪುಟಗಳು",
        "withoutinterwiki-summary": "ಈ ಕೆಳಗಿನ ಪುಟಗಳು ಅವುಗಳ ಇತರ ಭಾಷೆಯಲ್ಲಿರುವ ಪುಟಗಳಿಗೆ ಕೊಂಡಿಯನ್ನು ಹೊಂದಿಲ್ಲ:",
+       "withoutinterwiki-legend": "ಪೂರ್ವಪ್ರತ್ಯಯಗಳು",
        "withoutinterwiki-submit": "ತೋರಿಸು",
        "fewestrevisions": "ಅತ್ಯಂತ ಕಡಿಮೆ ಬದಲಾವಣೆಗಳನ್ನು ಹೊಂದಿರುವ ಪುಟಗಳು",
        "nbytes": "$1 {{PLURAL:$1|ಬೈಟ್|ಬೈಟ್‍ಗಳು}}",
        "protectedpages-noredirect": "ಪುನರ್ನಿದೇಶನಗಳನ್ನು ಅಡಗಿಸಿ",
        "protectedpagesempty": "ಈ ನಿಯಮಾವಳಿಗಳಲ್ಲಿ ಯಾವ ಪುಟವೂ ಸಂರಕ್ಷಿತವಾಗಿಲ್ಲ.",
        "protectedpages-page": "ಪುಟ",
+       "protectedpages-expiry": "ಮುಕ್ತಾಯ",
+       "protectedpages-performer": "ರಕ್ಷಿಸುವ ಬಳಕೆದಾರ",
+       "protectedpages-params": "ರಕ್ಷಣೆ ನಿಯತಾಂಕಗಳು",
        "protectedpages-reason": "ಕಾರಣ",
        "protectedpages-unknown-timestamp": "ಅಜ್ಞಾತ",
        "protectedpages-unknown-performer": "ಅಜ್ಞಾತ ಬಳಕೆದಾರ",
        "move": "ಸ್ಥಳಾಂತರಿಸಿ",
        "movethispage": "ಈ ಪುಟವನ್ನು ಸ್ಥಳಾಂತರಿಸಿ",
        "unusedcategoriestext": "ಈ ಕೆಳಗಿನ ವರ್ಗ ಪುಟಗಳು ಅಸ್ಥಿತ್ವದಲ್ಲಿ ಇದ್ದರೂ ಬೇರೆ ಯಾವ ಪುಟವಾಗಲಿ ಅಥವ ವರ್ಗವಾಗಲಿ ಅವನ್ನು ಉಪಯೋಗಿಸುತ್ತಿಲ್ಲ.",
+       "notargettitle": "ಯಾವುದೇ ಗುರಿಯಿಲ್ಲ",
        "pager-newer-n": "{{PLURAL:$1|ಹೊಸ ೧|ಹೊಸ $1}}",
        "pager-older-n": "{{PLURAL:$1|ಹಳೆ ೧|ಹಳೆ $1}}",
        "suppress": "ನಿಗಾ ಇಡುವವ",
        "booksources": "ಪುಸ್ತಕದ ಮೂಲಗಳು",
        "booksources-search-legend": "ಪುಸ್ತಕ ಮೂಲಗಳಿಗೆ ಹುಡುಕು",
        "booksources-search": "ಹುಡುಕು",
-       "specialloguserlabel": "ಸದಸà³\8dಯ:",
-       "speciallogtitlelabel": "ಶೀರ್ಷಿಕೆ:",
+       "specialloguserlabel": "ಸಾಧà²\95 :",
+       "speciallogtitlelabel": "ಶೀರ್ಷಿಕೆ (ಶೀರ್ಷಿಕೆ ಅಥವಾ ಬಳಕೆದಾರ ):",
        "log": "ದಾಖಲೆಗಳು",
-       "all-logs-page": "à²\8eಲà³\8dಲಾ à²¦à²¾à²\96ಲà³\86à²\97ಳà³\81",
+       "all-logs-page": "à²\8eಲà³\8dಲಾ à²¸à²¾à²°à³\8dವà²\9cನಿà²\95 à²¦à²¾à²\96ಲà³\86",
        "logempty": "ದಾಖಲೆಗಳಲ್ಲಿ ಇದಕ್ಕೆ ಹೋಲುವ ಯಾವ ವಸ್ತುವೂ ಇಲ್ಲ.",
        "log-title-wildcard": "ಈ ಪದಗಳಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಶೀರ್ಷಿಕೆಗಳನ್ನು ಹುಡುಕು",
        "allpages": "ಎಲ್ಲ ಪುಟಗಳು",
        "allpagesbadtitle": "ನೀವು ಕೋರಿದ ಪುಟದ ಶೀರ್ಷಿಕೆ ಸಿಂಧುವಲ್ಲದ್ದು ಅಥವ ಖಾಲಿ ಅಥವ ಸರಿಯಾದ ಕೊಂಡಿಯಲ್ಲದ ಅಂತರ-ಭಾಷೆ/ಅಂತರ-ವಿಕಿ ಸಂಪರ್ಕವಾಗಿದೆ.\nಅದರಲ್ಲಿ ಒಂದು ಅಥವ ಹೆಚ್ಚು ಶೀರ್ಷಿಕೆಯಲ್ಲಿ ಬಳಸಲು ನಿಷಿದ್ಧವಾಗಿರುವ ಅಕ್ಷರಗಳು ಇರಬಹುದು.",
        "allpages-bad-ns": "{{SITENAME}} ಅಲ್ಲಿ \"$1\" ಪುಟಪ್ರಬೇಧ ಇಲ್ಲ.",
        "allpages-hide-redirects": "ಪುನರ್ನಿದೇಶನಗಳನ್ನು ಅಡಗಿಸಿ",
+       "cachedspecial-refresh-now": "ಇತ್ತೀಚಿನ ವೀಕ್ಷಿಸಿ",
        "categories": "ವರ್ಗಗಳು",
        "categoriespagetext": "ಈ ಕೆಳಗಿನ ವರ್ಗಗಳು ಪುಟಗಳನ್ನು ಅಥವ ಮೀಡಿಯಗಳನ್ನು ಹೊಂದಿವೆ.\n[[Special:UnusedCategories|ಅನುಪಯೋಗಿತ ವರ್ಗಗಳು]] ಇಲ್ಲಿ ತೋರಲಾಗಿಲ್ಲ.\nಇದನ್ನೂ ನೋಡಿ: [[Special:WantedCategories|ಬೇಕಾಗಿರುವ ವರ್ಗಗಳು]].",
        "categoriesfrom": "ಇದರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ವರ್ಗಗಳನ್ನು ತೋರಿಸು:",
        "special-categories-sort-count": "ಎಣಿಕೆಯ ಪ್ರಕಾರ ಜೋಡಿಸು",
        "special-categories-sort-abc": "ಅಕ್ಷರಮಾಲೆಯ ಪ್ರಕಾರ ಜೋಡಿಸು",
+       "deletedcontributions": "ಅಳಿಸಲಾಗಿದೆ ಕಾಣಿಕೆಗಳನ್ನು",
        "sp-deletedcontributions-contribs": "ಕಾಣಿಕೆಗಳು",
        "linksearch": "ಹೊರಗಿನ ಸಂಪರ್ಕಗಳು",
        "linksearch-ns": "ನಾಮವರ್ಗ:",
        "listusersfrom": "ಇದರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಬಳಕೆದಾರರನ್ನು ತೋರಿಸು:",
        "listusers-submit": "ತೋರು",
        "listusers-noresult": "ಯಾವ ಬಳಕೆದಾರರೂ ಸಿಗಲಿಲ್ಲ.",
+       "listusers-blocked": "(ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ)",
        "activeusers": "ಸಕ್ರಿಯ ಸದಸ್ಯರ ಪಟ್ಟಿ",
        "activeusers-noresult": "ಯಾವ ಬಳಕೆದಾರರೂ ಸಿಗಲಿಲ್ಲ.",
        "listgrouprights": "ಬಳಕೆದಾರ ಗುಂಪು ಹಕ್ಕುಗಳು",
        "deletereason-dropdown": "*ಸಾಮಾನ್ಯ ಅಳಿಸುವಿಕೆಯ ಕಾರಣಗಳು\n** ಸಂಪಾದಕರ ಕೋರಿಕೆ\n** ಕೃತಿಸ್ವಾಮ್ಯತೆಯ ಉಲ್ಲಂಘನೆ\n** Vandalism",
        "delete-edit-reasonlist": "ಅಳಿಸುವಿಕೆ ಕಾರಣಗಳನ್ನು ಸಂಪಾದಿಸು",
        "rollbacklink": "ತೊಡೆದುಹಾಕು",
+       "changecontentmodel-title-label": "ಪುಟ ಶೀರ್ಷಿಕೆ",
+       "changecontentmodel-reason-label": "ಕಾರಣ:",
+       "logentry-contentmodel-change-revertlink": "ಹಿಂದಿನಂತಾಗಿಸು",
+       "logentry-contentmodel-change-revert": "ಹಿಂದಿನಂತಾಗಿಸು",
        "protectlogpage": "ಸಂರಕ್ಷಣೆ ದಿನಚರಿ",
        "protectedarticle": "\"[[$1]]\" ಸಂರಕ್ಷಿಸಲಾಗಿದೆ.",
        "modifiedarticleprotection": "\"[[$1]]\" ಪುಟದ ಸಂರಕ್ಷಣೆ ಮಟ್ಟವನ್ನು ಬದಲಾಯಿಸಲಾಯಿತು",
        "undelete-search-prefix": "ಇದರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಪುಟಗಳನ್ನು ತೋರು:",
        "undelete-search-submit": "ಹುಡುಕು",
        "undelete-no-results": "ಅಳಿಸುವಿಕೆ ದಾಖಲೆಯಲ್ಲಿ ಹೋಲುವ ಯಾವ ಪುಟಗಳೂ ದೊರಕಲಿಲ್ಲ.",
+       "undelete-show-file-submit": "ಹೌದು",
        "namespace": "ಹೆಸರಿನ ಬಗೆ:",
        "invert": "ಆಯ್ಕೆಯನ್ನು ತಿರುಗಿಸು",
        "blanknamespace": "(ಮುಖ್ಯ)",
        "contributions-title": "$1 ಸದಸ್ಯರ ಕಾಣಿಕೆಗಳು",
        "mycontris": "ಕಾಣಿಕೆಗಳು",
        "contribsub2": "$1 ($2) ಗೆ",
-       "uctop": " (ಮೇಲಕ್ಕೆ)",
+       "uctop": "(ಪ್ರಸಕ್ತ)",
        "month": "ಈ ತಿಂಗಳಿಂದ (ಮತ್ತು ಮುಂಚಿನ):",
        "year": "ಈ ವರ್ಷದಿಂದ (ಮತ್ತು ಮುಂಚಿನ):",
        "sp-contributions-newbies": "ಹೊಸ ಖಾತೆಗಳ ಕಾಣಿಕೆಗಳನ್ನು ಮಾತ್ರ ತೋರಿಸು",
        "blocklist": "ನಿರ್ಬಂಧಿಸಲಾಗಿರುವ ಸದಸ್ಯರು",
        "ipblocklist": "ನಿರ್ಬಂಧಿಸಲಾಗಿರುವ ಸದಸ್ಯರು",
        "ipblocklist-legend": "ತಡೆಹಿಡಿಯಲಾದ ಬಳಕೆದಾರನನ್ನು ಹುಡುಕು",
+       "blocklist-target": "ಗುರಿ",
+       "blocklist-expiry": "ಮುಕ್ತಾಯ",
        "blocklist-reason": "ಕಾರಣ",
        "ipblocklist-submit": "ಹುಡುಕು",
        "infiniteblock": "ಅನಂತ",
        "block-log-flags-nocreate": "ಖಾತೆ ಸೃಷ್ಟಿ ತಡೆಹಿಡಿಯಲಾಗಿದೆ",
        "block-log-flags-noemail": "ಇ-ಅಂಚೆ ತಡೆಹಿಡಿಯಲಾಗಿದೆ",
        "ipb_already_blocked": "\"$1\" ಆಗಲೆ ತಡೆ ಹಿಡಿಯಲಾಗಿದೆ",
+       "proxyblocker": "ಪ್ರಾಕ್ಸಿ ಬ್ಲಾಕರ್",
        "lockdb": "ಡೇಟಾಬೇಸ್ ಅನ್ನು ಮುಚ್ಚು",
        "unlockdb": "ಡೇಟಾಬೇಸ್ ಅನ್ನು ತೆಗೆ",
        "lockdbtext": "ಡೇಟಾಬೇಸ್ ಅನ್ನು ಮುಚ್ಚುವುದರಿಂದ ಎಲ್ಲಾ ಬಳಕೆದಾರರೂ ಪುಟಗಳ ಸಂಪಾದನೆ, ತಮ್ಮ ಪ್ರಾಶಸ್ತ್ಯಗಳ ಬದಲಾವಣೆ, ವೀಕ್ಷಣಾ ಪಟ್ಟಿಗಳ ಸಂಪಾದನೆ, ಮತ್ತು ಇತರ ಡೇಟಾಬೇಸ್‍ನಲ್ಲಿ ಬದಲಾವಣೆಗಳು ಬೇಕಾಗುವ ಕಾರ್ಯಗಳನ್ನು ಮಾಡಲು ಆಗದಂತಾಗುತ್ತದೆ.\nದಯವಿಟ್ಟು ಇದನ್ನು ನೀವು ಮಾಡಬಯಸುವಿರಿ, ಮತ್ತು ಡೇಟಾಬೇಸ್ ಮೇಲಿನ ನಿಮ್ಮ ಕಾರ್ಯಗಳು ಮುಗಿದ ಮೇಲೆ ಅದನ್ನು ಮತ್ತೆ ತೆಗೆಯುವಿರಿ ಎಂದು ಖಾತ್ರಿ ಮಾಡಿ.",
        "thumbnail_error": "ಮುನ್ನೋಟ ಚಿತ್ರವನ್ನು ಸೃಷ್ಟಿಸುವಲ್ಲಿ ದೋಷ: $1",
        "import": "ಪುಟಗಳನ್ನು ಅಮದು ಮಾಡಿ",
        "import-interwiki-submit": "ಆಮದು",
+       "import-upload-filename": "ಕಡತದ ಹೆಸರು",
        "import-comment": "ಟಿಪ್ಪಣಿ :",
        "importstart": "ಪುಟಗಳು ಆಮದಾಗುತ್ತಿದೆ...",
        "import-revision-count": "$1 {{PLURAL:$1|ಬದಲಾವಣೆ|ಬದಲಾವಣೆಗಳು}}",
        "import-nonewrevisions": "ಎಲ್ಲಾ ಬದಲಾವಣೆಗಳನ್ನೂ ಮುಂಚೆಯೆ ಆಮದು ಮಾಡಲಾಗಿದೆ.",
        "importlogpage": "ಆಮದುಗಳ ದಾಖಲೆ",
        "import-logentry-upload-detail": "$1 {{PLURAL:$1|ಬದಲಾವಣೆ|ಬದಲಾವಣೆಗಳು}}",
+       "javascripttest-pagetext-unknownaction": "ಅಪರಿಚಿತ ಕ್ರಮ \"$1\"",
        "tooltip-pt-userpage": "ನಿಮ್ಮ ಸದಸ್ಯ ಪುಟ",
        "tooltip-pt-anonuserpage": "ನೀವು ಸಂಪಾದನೆ ಮಾಡುತ್ತಿರುವ ipಯ ಬಳಕೆದಾರ ಪುಟ",
        "tooltip-pt-mytalk": "ನಿಮ್ಮ ಚರ್ಚೆ ಪುಟ",
        "tooltip-pt-logout": "ಲಾಗ್ ಔಟ್",
        "tooltip-pt-createaccount": "ನೀವು ಹೊಸ ಖಾತೆಯನ್ನು ತೆರೆದು ಲಾಗಿನ್ ಆಗುವುದನ್ನು ಹುರಿದುಂಬಿಸುತ್ತೇವೆ; ಆದಾಗ್ಯೂ, ಇದು ಅವಶ್ಯವೇನಲ್ಲ",
        "tooltip-ca-talk": "ಮಾಹಿತಿ ಪುಟದ ಬಗ್ಗೆ ಚರ್ಚೆ",
-       "tooltip-ca-edit": "à²\88 à²ªà³\81à²\9fವನà³\8dನà³\81 à²¨à³\80ವà³\81 à²¸à²\82ಪಾದಿಸಬಹà³\81ದà³\81. à²\89ಳಿಸà³\81ವ à²®à³\81ನà³\8dನ à²®à³\81ನà³\8dನà³\8bà²\9fವನà³\8dನà³\81 à²\89ಪಯà³\8bà²\97ಿಸಿ.",
+       "tooltip-ca-edit": "à²\88 à²ªà³\81à²\9fವನà³\8dನà³\81 à²¬à²¦à²²à²¾à²¯à²¿à²¸à²¿",
        "tooltip-ca-addsection": "ಹೊಸ ವಿಭಾಗವನ್ನು ಪ್ರಾರಂಭಿಸಿ",
        "tooltip-ca-viewsource": "ಈ ಪುಟ ಸಂರಕ್ಷಿತವಾಗಿದೆ. ಅದರ ಮೂಲವನ್ನು ನೀವು ವೀಕ್ಷಿಸಬಹುದು.",
        "tooltip-ca-history": "ಈ ಪುಟದ ಹಳೆಯ ಆವೃತ್ತಿಗಳು.",
        "tooltip-ca-protect": "ಈ ಪುಟವನ್ನು ಸಂರಕ್ಷಿಸು",
+       "tooltip-ca-unprotect": "ಈ ಪುಟದ ರಕ್ಷಣೆಯನ್ನು ಬದಲಾಯಿಸಲು",
        "tooltip-ca-delete": "ಈ ಪುಟವನ್ನು ಅಳಿಸು",
        "tooltip-ca-move": "ಈ ಪುಟವನ್ನು ಸ್ಥಳಾಂತರಿಸು",
        "tooltip-ca-watch": "ಈ ಪುಟವನ್ನು ನಿಮ್ಮ ವೀಕ್ಷಣಾಪಟ್ಟಿಗೆ ಸೇರಿಸಿ",
        "tooltip-t-permalink": "ಪುಟದ ಈ ಆವೃತ್ತಿಗೆ ಶಾಶ್ವತ ಕೊಂಡಿ",
        "tooltip-ca-nstab-main": "ಮಾಹಿತಿ ಪುಟವನ್ನು ನೋಡಿ",
        "tooltip-ca-nstab-user": "ಸದಸ್ಯರ ಪುಟವನ್ನು ವೀಕ್ಷಿಸು",
+       "tooltip-ca-nstab-media": "ಮಾಧ್ಯಮ ಪುಟವನ್ನು ವೀಕ್ಷಿಸು",
        "tooltip-ca-nstab-special": "ಇದೊಂದು ವಿಶೇಷ ಪುಟ, ಇದನ್ನು ಯಾರೂ ಸಂಪಾದಿಸಲು ಬರುವುದಿಲ್ಲ",
        "tooltip-ca-nstab-project": "ಯೋಜನೆಯ ಪುಟವನ್ನು ನೋಡಿ",
        "tooltip-ca-nstab-image": "ಕಡತದ ಪುಟ ವೀಕ್ಷಿಸಿ",
        "tooltip-diff": "ನೀವು ಮಾಡಿದ ಬದಲಾವಣೆಗಳನ್ನು ತೋರುತ್ತದೆ.",
        "tooltip-compareselectedversions": "ಆರಿಸಿದ ಎರಡು ಆವೃತ್ತಿಗಳ ಮಧ್ಯದ ವ್ಯತ್ಯಾಸಗಳನ್ನು ನೋಡು.",
        "tooltip-watch": "ಈ ಪುಟವನ್ನು ನಿಮ್ಮ ವೀಕ್ಷಣಾ ಪಟ್ಟಿಗೆ ಸೇರಿಸು",
+       "tooltip-watchlistedit-normal-submit": "ಶೀರ್ಷಿಕೆಗಳನ್ನು ತೆಗೆ",
+       "tooltip-watchlistedit-raw-submit": "ವೀಕ್ಷಣಾಪಟ್ಟಿಗೆ ಸೇರಿಸಿ",
        "tooltip-upload": "ಅಪ್ಲೋಡ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸು",
        "tooltip-rollback": "ಕೊನೆ ಸಂಪಾದಕರ ಎಲ್ಲಾ ಸಂಪಾದನೆಗಳನ್ನು ಅಳಿಸುಹಾಕುತ್ತದೆ",
        "tooltip-undo": "\"ವಜಾ ಮಾಡಿ\" ಈ ಸಂಪಾದನೆಯನ್ನು ನಿಷ್ಕ್ರಿಯ ಗೊಳಿಸಿ ಸಂಪಾದನಾ ಪುಟವನ್ನು ಮುನ್ನೋಟದೊಂದಿಗೆ ತೆರೆಯುತ್ತದೆ.\nಇಲ್ಲಿ ಸಾರಾಂಶದಲ್ಲಿ ಕಾರಣವನ್ನು ಸೇರಿಸುವ ಅನುಮತಿ ಇದೆ.",
+       "tooltip-preferences-save": "ಆಯ್ಕೆಗಳು ಉಳಿಸಿ",
        "tooltip-summary": "ಚಿಕ್ಕ ಸಾರಾಂಶ ಒಂದನ್ನು ಸೇರಿಸಿ",
        "anonymous": "{{SITENAME}} ತಾಣದ ಅನಾಮಧೇಯ {{PLURAL:$1|ಬಳಕೆದಾರ|ಬಳಕೆದಾರರು}}",
        "siteuser": "{{SITENAME}} ಬಳಕೆದಾರ $1",
        "siteusers": "{{SITENAME}} {{PLURAL:$2|ಸದಸ್ಯ|ಸದಸ್ಯರು}} $1",
        "creditspage": "ಪುಟದ ಗೌರವಗಳು",
        "simpleantispam-label": "ಆಂಟಿ-ಸ್ಪ್ಯಾಮ್ ಪರೀಕ್ಷೆ.\nಇದನ್ನು ತುಂಬ <strong>ಬೇಡಿ</strong>!",
+       "pageinfo-title": "ಮಹಿತಿ \"$1\"",
+       "pageinfo-header-basic": "ಮೂಲಭೂತ ಮಾಹಿತಿ",
+       "pageinfo-header-edits": "ಇತಿಹಾಸ ಸಂಪಾದಿಸಿ",
+       "pageinfo-header-restrictions": "ಪುಟ ರಕ್ಷಣೆ",
+       "pageinfo-display-title": "ತಲೆಬರಹ ಪ್ರದರ್ಶಿಸು",
+       "pageinfo-article-id": "ಪುಟದ ID",
+       "pageinfo-robot-index": "ಅನುಮತಿಸು",
+       "pageinfo-robot-noindex": "ಅನುಮತಿಸಲಾಗಿಲ್ಲ",
+       "pageinfo-firstuser": "ಪುಟ ಸೃಷ್ಟಿಕರ್ತ",
+       "pageinfo-firsttime": "ಪುಟ ಸೃಷ್ಟಿಯ ದಿನಾಂಕ",
+       "pageinfo-lastuser": "ಇತ್ತೀಚಿನ ಸಂಪಾದಕ",
+       "pageinfo-lasttime": "ಇತ್ತೀಚಿಗೆ ಬದಲಾಯಿಸಿ ದಿನಾಂಕ",
+       "pageinfo-edits": "ಒಟ್ಟು ಸಂಪಾದನೆಗಳ ಸಂಖ್ಯೆ",
        "pageinfo-toolboxlink": "ಪುಟದ ಮಾಹಿತಿ",
        "pageinfo-redirectsto": "ಪುನರ್ನಿರ್ದೇಶನ:",
+       "pageinfo-redirectsto-info": "ಮಾಹಿತಿಯನ್ನು",
+       "pageinfo-contentpage-yes": "ಹೌದು",
+       "pageinfo-protect-cascading-yes": "ಹೌದು",
+       "pageinfo-category-pages": "ಪುಟಗಳ ಸಂಖ್ಯೆ",
+       "pageinfo-category-subcats": "ಉಪವರ್ಗಗಳು ಸಂಖ್ಯೆ",
+       "pageinfo-category-files": "ಕಡತಗಳ ಸಂಖ್ಯೆ",
        "deletedrevision": "ಹಳೆ ಆವೃತ್ತಿ $1 ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ",
        "filedeleteerror-short": "ಈ ಫೈಲನ್ನು ಅಳಿಸುವುದರಲ್ಲಿ ದೋಷ: $1",
        "filedeleteerror-long": "ಫೈಲನ್ನು ಅಳಿಸುವಾಗ ಉಂಟಾದ ದೋಷಗಳು:\n\n$1",
        "svg-long-desc": "SVG ಫೈಲು, ಸುಮಾರಾಗಿ $1 × $2 ಚಿತ್ರಬಿಂದುಗಳು, ಫೈಲಿನ ಗಾತ್ರ: $3",
        "show-big-image": "ಮೂಲ ಕಡತ",
        "show-big-image-size": "$1 × $2 ಪಿಕ್ಸೆಲ್‌ಗಳು",
+       "file-info-gif-looped": "ಲೂಪ್",
+       "file-info-png-looped": "ಲೂಪ್",
        "newimages": "ಹೊಸ ಫೈಲುಗಳ ಪ್ರದರ್ಶನ",
        "imagelisttext": "ಕೆಳಗೆ ಇರುವುದು '''$1''' {{PLURAL:$1|ಫೈಲಿನ|ಫೈಲುಗಳ}} ಪಟ್ಟಿ, $2 ಏರ್ಪಾಟಾಗಿದೆ.",
        "newimages-summary": "ಈ ವಿಶೇಷ ಪುಟವು ಕೊನೆಯದಾಗಿ ಅಪ್ಲೋಡ್ ಆಗಿರುವ ಫೈಲುಗಳನ್ನು ತೋರುತ್ತದೆ",
        "ilsubmit": "ಹುಡುಕು",
        "bydate": "ದಿನಾಂಕಕ್ಕನುಗುಣವಾಗಿ",
        "sp-newimages-showfrom": "$2, $1 ಇಂದ ಪ್ರಾರಂಭಿಸಿ ಹೊಸ ಫೈಲುಗಳನ್ನು ತೋರು",
+       "just-now": "ಇದೀಗ",
+       "monday-at": "ಸೋಮವಾರ $1",
+       "tuesday-at": "ಮಂಗಳವಾರ $1",
+       "wednesday-at": "ಬುಧವಾರ $1",
+       "thursday-at": "ಗುರುವಾರ $1",
+       "friday-at": "ಶುಕ್ರವಾರ $1",
+       "saturday-at": "ಶನಿವಾರ $1",
+       "sunday-at": "ರವಿವಾರ $1",
+       "yesterday-at": "ನಿನ್ನೆ $1",
        "bad_image_list": "ವ್ಯವಸ್ಥೆಯ ಆಕಾರ ಈ ರೀತಿ:\n\nಪಟ್ಟಿಯಲ್ಲಿರುವ ದಾಖಲೆಗಳನ್ನು (* ಇಂದ ಪ್ರಾರಂಭವಾಗುವ ಸಾಲುಗಳು) ಮಾತ್ರ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.\nಪ್ರತಿ ಸಾಲಿನ ಮೊದಲ ಕೊಂಡಿಯು ಒಂದು ದೋಷಯುಕ್ತ ಫೈಲಿಗೆ ಕೊಂಡಿಯಾಗಿರಬೇಕು.\nಅದೇ ಸಾಲಿನ ಮುಂದಿನ ಎಲ್ಲಾ ಕೊಂಡಿಗಳನ್ನು ಪರಿಗಣನೆಯಿಂದ ವಿನಾಯತಿ ಮಾಡಲಾಗುತ್ತದೆ, ಅಂದರೆ ಎಲ್ಲಿ ಪುಟಗಳ ಒಳಗೆ ಫೈಲು ಇರುತ್ತದೆಯೊ ಅಲ್ಲಿ.",
        "metadata": "ಮೇಲ್ದರ್ಜೆ ಮಾಹಿತಿ",
        "metadata-help": "ಈ ಫೈಲಿನಲ್ಲಿ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ ಇದೆ. ಪ್ರಾಯಶಃ ಫೈಲನ್ನು ಸೃಷ್ಟಿಸಲು ಉಪಯೋಗಿಸಲಾದ ಡಿಜಿಟಲ್ ಕ್ಯಾಮೆರದಿಂದ ಅಥವ ಸ್ಕ್ಯಾನರ್ ಇಂದ ಈ ಮಾಹಿತಿ ಸೇರಿಸಲ್ಪಟ್ಟಿದೆ.\nಮೂಲಪ್ರತಿಯಿಂದ ಈ ಫೈಲು ಮಾರ್ಪಾಟಾಗಿದ್ದಲ್ಲಿ, ಈ ಮಾಹಿತಿ ಮಾರ್ಪಟ್ಟ ಫೈಲಿನ ವಿವರಗಳಿಗೆ ಸರಿಯಾಗಿ ಹೊಂದದೆ ಇರಬಹುದು.",
        "exif-artist": "ಕರ್ತೃ",
        "exif-copyright": "ಕೃತಿಸ್ವಾಮ್ಯತೆಯನ್ನು ಹೊಂದಿರುವವರು",
        "exif-exifversion": "Exif ಆವೃತ್ತಿ",
-       "exif-pixelydimension": "ಸಿà²\82ಧà³\81ವಾದ ಚಿತ್ರದ ಅಗಲ",
-       "exif-pixelxdimension": "ಸಿà²\82ಧà³\81ವಾದ ಚಿತ್ರದ ಎತ್ತರ",
+       "exif-pixelydimension": "ಭಾವಚಿತ್ರದ ಅಗಲ",
+       "exif-pixelxdimension": "ಭಾವಚಿತ್ರದ ಎತ್ತರ",
        "exif-usercomment": "ಬಳಕೆದಾರನ ಟಿಪ್ಪಣಿ",
        "exif-relatedsoundfile": "ಸಂಬಂಧಿತ ಧ್ವನಿ ಫೈಲು",
        "exif-datetimeoriginal": "ಮಾಹಿತಿ ಸೃಷ್ಟಿಯಾದ ದಿನಾಂಕ ಮತ್ತು ಕಾಲ",
        "exif-gpsspeedref": "ವೇಗದ ಘಟಕ",
        "exif-gpsareainformation": "GPS ಪ್ರದೇಶದ ಹೆಸರು",
        "exif-gpsdatestamp": "GPS ದಿನಾಂಕ",
+       "exif-keywords": "ಪ್ರಮುಖ ಪದಗಳು",
+       "exif-source": "ಆಕರ",
+       "exif-languagecode": "ಭಾಷೆ",
        "exif-iimcategory": "ವರ್ಗ",
        "exif-label": "ಗುರುತು ಪಟ್ಟಿ",
        "exif-copyrighted": "ಕೃತಿಸ್ವಾಮ್ಯತೆಯ ಸ್ಥಿತಿ",
        "exif-componentsconfiguration-0": "ಅಸ್ಥಿತ್ವದಲ್ಲಿ ಇಲ್ಲ",
        "exif-meteringmode-0": "ತಿಳಿದಿಲ್ಲ",
        "exif-meteringmode-1": "ಸರಾಸರಿ",
+       "exif-meteringmode-5": "ವಿನ್ಯಾಸ",
        "exif-meteringmode-255": "ಇತರ",
        "exif-lightsource-0": "ತಿಳಿದಿಲ್ಲ",
        "exif-lightsource-1": "ದಿನದ ಬೆಳಕು",
index 8d8ac37..f270a62 100644 (file)
        "right-edit": "문서 편집",
        "right-createpage": "문서 만들기 (토론 문서 제외)",
        "right-createtalk": "토론 문서 만들기",
-       "right-createaccount": "새 계정 만들기",
+       "right-createaccount": "새 사용자 계정 만들기",
        "right-minoredit": "사소한 편집으로 표시",
        "right-move": "문서 옮기기",
        "right-move-subpages": "문서와 하위 문서 옮기기",
        "linksearch-pat": "검색 패턴:",
        "linksearch-ns": "이름공간:",
        "linksearch-ok": "검색",
-       "linksearch-text": "\"*.wikipedia.org\"와 같이 와일드 카드를 사용할 수 있습니다.\n적어도 \"*.org\"와 같이 최상위 도메인을 입력해야 합니다.<br />\n지원하는 {{PLURAL:$2|프로토콜}}: <code>$1</code> (프로토콜을 지정하지 않을 때 기본값은 http://)",
+       "linksearch-text": "\"*.wikipedia.org\"와 같이 와일드 카드를 사용할 수 있습니다.\n적어도 \"*.org\"와 같이 최상위 도메인을 입력해야 합니다.<br />\n지원하는 {{PLURAL:$2|프로토콜}}: $1 (프로토콜을 지정하지 않을 때 기본값은 http://)",
        "linksearch-line": "$2에서 $1 을 링크하고 있습니다.",
        "linksearch-error": "와일드카드는 주소의 처음 부분에만 사용될 수 있습니다.",
        "listusersfrom": "다음으로 시작하는 사용자 보기:",
        "tags-delete-not-found": "\"$1\" 태그가 존재하지 않습니다.",
        "tags-activate-reason": "이유:",
        "tags-activate-not-found": "\"$1\" 태그가 존재하지 않습니다.",
+       "tags-activate-submit": "활성화",
        "tags-deactivate-reason": "이유:",
        "tags-deactivate-submit": "비활성화",
        "tags-update-remove-not-allowed-one": "\"$1\" 태그를 제거하는 것은 허용되지 않습니다.",
index 453d189..955b4bc 100644 (file)
        "linksearch-pat": "Излеуге шаблон:",
        "linksearch-ns": "Ат алам:",
        "linksearch-ok": "Таб",
-       "linksearch-text": "\"*.wikipedia.org\" кибик символлла хайырландырыргъа боллукъдула.\nЭм азы бла огъары дараджаны домени керекди, юлгюге: \"*.org\".<br />\nДагъан болгъан протоколла: <code>$1</code> (протокол белгиленмеген эсе, тынгылау бла http:// боллукъду)",
+       "linksearch-text": "\"*.wikipedia.org\" кибик символлла хайырландырыргъа боллукъдула.\nЭм азы бла огъары дараджаны домени керекди, юлгюге: \"*.org\".<br />\nДагъан болгъан протоколла: $1 (протокол белгиленмеген эсе, тынгылау бла http:// боллукъду)",
        "linksearch-line": "$1-ге  $2-ден джибериу берилгенди",
        "linksearch-error": "Джокерле къуру адреслени аллында хайырланыргъа боллукъдула.",
        "listusersfrom": "Бу бла башланнган къошулуучуланы кёргюз:",
index 3c65082..a755512 100644 (file)
        "welcomeuser": "Wellkumme $1!",
        "welcomecreation-msg": "Dinge Zohjang es enjerescht.\nWann De wells, künnts De Ding [[Special:Preferences|Enschtällonge aanpaße]].",
        "yourname": "Metmaacher_Naame:",
-       "userlogin-yourname": "Der Metmaacher_Name",
+       "userlogin-yourname": "Der Metmaacher_Nahme",
        "userlogin-yourname-ph": "Donn Dinge Metmaachername aanjevve",
        "createacct-another-username-ph": "Jivv ene Metmaacher_Nahme aan",
        "yourpassword": "Paßwoot:",
        "linksearch-pat": "Sök noh:",
        "linksearch-ns": "Appachtemang:",
        "linksearch-ok": "Söhke",
-       "linksearch-text": "Beim Söke künnd_Er Schtäänsche aanjevve för e Schtöcksche fun ennem Nahme, wo mer nit jenou weiß, wi et heiß udder wat me nit kenne deit, zem Beischpöll esu: <code>http://*.example.com</code> un ene bövverschte Name för en Domain moß aanjejovve sin, zem Beishpöll esu: <code>http://*.org</code> \n\n{{PLURAL:$2|Dat Brauserprotokoll, wat|De Brauserprotokolle, di|Kein Brauserprotokolle, di}} mer beim Söhke aanjävve kann, sin: <code>$1</code>, un der Schtandatt es <code>http://</code> wann nix aanjejovve es.",
+       "linksearch-text": "Beim Söke künnd_Er Schtäänsche aanjevve för e Schtöcksche fun ennem Nahme, wo mer nit jenou weiß, wi et heiß udder wat me nit kenne deit, zem Beischpöll esu: <code>http://*.example.com</code> un ene bövverschte Name för en Domain moß aanjejovve sin, zem Beishpöll esu: <code>http://*.org</code> \n\n{{PLURAL:$2|Dat Brauserprotokoll, wat|De Brauserprotokolle, di|Kein Brauserprotokolle, di}} mer beim Söhke aanjävve kann, sin: $1, un der Schtandatt es <code>http://</code> wann nix aanjejovve es.",
        "linksearch-line": "„$2“ hät ene Link op $1",
        "linksearch-error": "Shternshe kam_mer nor aam Aanfang fum Domain-Name bruche.",
        "listusersfrom": "Zeich de Metmaacher vun:",
        "pageinfo-robot-index": "zohjelohße",
        "pageinfo-robot-noindex": "verbodde",
        "pageinfo-watchers": "De Aanzahl Oppaßßer för di Sigg",
-       "pageinfo-visiting-watchers": "De Aanzahl Metmaacher, di op heh di Sigg oppaße un och de {{lcfirst:{{int:recentchanges}}}} belohre",
+       "pageinfo-visiting-watchers": "De Aanzahl Metmaacher, di op heh di Sigg oppaße un och de {{lcfirst:{{int:recentchanges}}}} belohrt han",
        "pageinfo-few-watchers": "Et jidd_er winnijer wi {{PLURAL:$1|eine|$1|keine}} Oppaßer.",
        "pageinfo-few-visiting-watchers": "Et künnd ene Metmaacher javve, dä op heh di Sigg oppaß un och de {{lcfirst:{{int:recentchanges}}}} belohrt — udder och nit.",
        "pageinfo-redirects-name": "Ömleidonge op heh di Sigg",
index 3683d61..d63b44b 100644 (file)
        "note": "<strong>Nîşe:</strong>",
        "previewnote": "'''Ji bîr neke ku ev tenê pêşdîtinek e.'''\nGuhertinên te hê nehatine tomarkirin!",
        "continue-editing": "Here qada sazandinê",
-       "editing": "$1 te guherandin",
+       "editing": "$1 tê guherandin",
        "creating": "$1 tê çêkirin",
        "editingsection": "Tê guherandin: $1 (beş)",
        "editingcomment": "$1 (beşek nû) tê guherandin.",
index 0a78ffd..0ef2404 100644 (file)
@@ -14,7 +14,8 @@
                        "Викиней",
                        "아라",
                        "Askar Nazyrov",
-                       "Macofe"
+                       "Macofe",
+                       "Janatkg"
                ]
        },
        "tog-underline": "Шилтемелердин алдын сызуу:",
@@ -71,8 +72,8 @@
        "saturday": "Ишемби",
        "sun": "Жк",
        "mon": "Дш",
-       "tue": "Ше",
-       "wed": "Ша",
+       "tue": "Шей",
+       "wed": "Шар",
        "thu": "Бш",
        "fri": "Жм",
        "sat": "Иш",
        "category-subcat-count-limited": "Бул категорияда {{PLURAL:$1|$1|$1|$1}} ички категория бар.",
        "category-article-count": "{{PLURAL:$2|Бул категория төмөнкү баракты камтыйт.|Бул категорияда жалпы $2, төмөнкү {{PLURAL:$1|барак|$1 барак}} бар.}}",
        "category-article-count-limited": "Бул категорияда {{PLURAL:$1|$1 барак}} бар.",
-       "category-file-count": "{{PLURAL:$2|Бул категория төмөнкү файлды камтыйт.|Бул категорияда жалпы $2, төмөнкү {{PLURAL:$1|файл|$1 файл}} бар.}}",
+       "category-file-count": "{{PLURAL:$2|Ð\91Ñ\83л ÐºÐ°Ñ\82егоÑ\80иÑ\8f Ñ\82өмөнкү Ñ\84айлдÑ\8b Ð³Ð°Ð½Ð° ÐºÐ°Ð¼Ñ\82Ñ\8bйÑ\82.|Ð\91Ñ\83л ÐºÐ°Ñ\82егоÑ\80иÑ\8fда Ð¶Ð°Ð»Ð¿Ñ\8b $2, Ñ\82өмөнкү {{PLURAL:$1|Ñ\84айл|$1 Ñ\84айл}} Ð±Ð°Ñ\80.}}",
        "category-file-count-limited": "Бул категорияда {{PLURAL:$1|$1|$1|$1}} файл бар.",
        "listingcontinuesabbrev": "уланд.",
        "index-category": "Индекстелген барактар",
        "search": "Издөө",
        "searchbutton": "Издөө",
        "go": "Өтүү",
-       "searcharticle": "Ð\90лга",
+       "searcharticle": "Ð\91аÑ\88Ñ\82а",
        "history": "Барактын тарыхы",
        "history_short": "Тарыхы",
        "updatedmarker": "менин акыркы жолу кирүүмдөн кийин жаңыртылган",
        "personaltools": "Жеке аспаптар",
        "articlepage": "Макаланы кароо",
        "talk": "Талкуу",
-       "views": "Көрсөтүүлөр",
+       "views": "Кароолор",
        "toolbox": "Аспаптар",
        "userpage": "Катышуучунун барагын кароо",
        "projectpage": "Долбоор барагын кароо",
        "viewhelppage": "Жардам алуу",
        "categorypage": "Категория барагын кароо",
        "viewtalkpage": "Талкууну кароо",
-       "otherlanguages": "Ð\91ашка тилдерде",
+       "otherlanguages": "башка тилдерде",
        "redirectedfrom": "($1 барагынан багытталды)",
        "redirectpagesub": "Багыттама барак",
        "lastmodifiedat": "Бул барак соңку жолу $1, $2 өзгөртүлгөн.",
        "disclaimers": "Жоопкерчиликтен баш тартуу",
        "disclaimerpage": "Project:Жоопкерчиликтен баш тартуу",
        "edithelp": "Оңдоп-түзөөгө жардам",
-       "mainpage": "Баш барак",
-       "mainpage-description": "Баш барак",
+       "mainpage": "Башбарак",
+       "mainpage-description": "Башбарак",
        "policy-url": "Project:Эрежелер",
        "portal": "Жамаат порталы",
        "portal-url": "Project:Жамаат порталы",
        "site-rss-feed": "$1 RSS тилкеси",
        "site-atom-feed": "$1 Atom агымы",
        "page-rss-feed": "«$1» — RSS-лента",
-       "page-atom-feed": "«$1» — Atom-лента",
+       "page-atom-feed": "«$1» — Atom-тасмасы",
        "red-link-title": "$1 (мындай барак жок)",
        "sort-descending": "Кемүү боюнча иргөө",
        "sort-ascending": "Өсүү боюнча иргөө",
        "createacct-yourpassword-ph": "Сырсөздү териңиз",
        "yourpasswordagain": "Сырсөздү кайра терүү:",
        "createacct-yourpasswordagain": "Сырсөздү тастыктаңыз",
-       "createacct-yourpasswordagain-ph": "Сырсөздү кайра киргизиңиз",
+       "createacct-yourpasswordagain-ph": "Сырсөздү кайрадан териңиз",
        "remembermypassword": "Бул браузерде колдонуучу атымды ($1 {{PLURAL:$1|күнгө}} чейин сактоо)",
        "userlogin-remembermypassword": "Мени системге кирген боюнча калтыр",
        "userlogin-signwithsecure": "Коопсуз байланышты колдонуу",
        "userlogin-resetpassword-link": "Сырсөздү алмаштыруу",
        "userlogin-loggedin": "Сиз эчак эле {{GENDER:$1|$1}} деп киргенсиз.\nБашка колдонуучунун атынан кириш үчүн асытдагы форманы колдонуңуз.",
        "createacct-emailrequired": "Эмейл дарек",
-       "createacct-emailoptional": "Эмейл дарек (милдеттүү эмес)",
-       "createacct-email-ph": "Эмейл дарегиңизди киргизиңиз",
+       "createacct-emailoptional": "Email дарек (милдеттүү эмес)",
+       "createacct-email-ph": "Email дарегиңизди жазыңыз",
        "createaccountmail": "Убактылуу түзүлгөн сырсөздү колдон жана аны көрсөтүлгөн эмейл дарекке жөнөт",
        "createacct-realname": "Чыныгы ысымы (милдеттүү эмес)",
        "createaccountreason": "Себеби:",
        "createacct-captcha": "Коопсуздук текшерүүсү",
        "createacct-imgcaptcha-ph": "Жогорудагы текстти териңиз",
        "createacct-submit": "Катталыңыз",
-       "createacct-benefit-heading": "{{SITENAME}} Ñ\81из Ñ\81Ñ\8bÑ\8fкÑ\82Ñ\83Ñ\83 ÐºÐ¸Ñ\88илер тарабынан түзүлгөн.",
+       "createacct-benefit-heading": "{{SITENAME}} Ñ\81из Ñ\81Ñ\8bÑ\8fкÑ\82Ñ\83Ñ\83 Ð°Ð´Ð°Ð¼Ð´Ð°р тарабынан түзүлгөн.",
        "createacct-benefit-body1": "{{PLURAL:$1|оңдоо|оңдоолор}}",
        "createacct-benefit-body2": "{{PLURAL:$1|барак|барактар}}",
-       "createacct-benefit-body3": "акыркы {{PLURAL:$1|салым|салымдар}}",
+       "createacct-benefit-body3": "соңку {{PLURAL:$1|салым|салымдар}}",
        "badretype": "Сиз терген сырсөздөр дал келишпейт",
        "userexists": "Сиз тандаган колдонуучу ат бош эмес.\nСураныч, башка атты тандаңыз.",
        "loginerror": "Кирүү катасы",
        "loginlanguagelabel": "Тили: $1",
        "suspicious-userlogout": "Сиздин чыгуу талабыңыз сиздин браузериңиздин туура эмес аткарылышынан же прокси кеширлөөсүнөн улам аткарылган жок.",
        "pt-login": "Кирүү",
+       "pt-createaccount": "Катталуу",
        "pt-userlogout": "Чыгуу",
        "php-mail-error-unknown": "PHP'нин mail() функциясындагы белгисиз ката.",
        "changepassword": "Сырсөздү өзгөртүү",
        "resetpass-submit-cancel": "Жокко чыгаруу",
        "resetpass-temp-password": "Убактылуу сырсөз:",
        "resetpass-expired": "Сиздин сырсөзүңүз эскирген. Сураныч жаңы сырсөзүңүз менен кириңиз.",
-       "passwordreset": "Сырсөздү түшүрүү",
+       "passwordreset": "Сырсөздү жоюу",
        "passwordreset-text-one": "Сырсөздү алмаштыруу үчүн бул үлгүнү толтуруңуз.",
-       "passwordreset-legend": "Сырсөздү түшүрүү",
        "passwordreset-disabled": "Бул уикиде сырсөздү түшүрүү мүмкүнчүлүгү өчүрүлгөн.",
        "passwordreset-username": "Колдонуучу аты:",
        "passwordreset-domain": "Домен:",
        "nowiki_sample": "Форматталбаган текстти бул жерге киргизиңиз",
        "nowiki_tip": "Уики-форматтоого көңүл бурбоо",
        "image_tip": "Кыстарылган файл",
-       "media_tip": "Файлга шилтеме",
+       "media_tip": "Файл шилтемеси",
        "sig_tip": "Кол тамгаңыз жана убакыт мөөрү",
        "hr_tip": "Туура сызык (жыш колдонбоңуз)",
        "summary": "Жыйынтыгы:",
        "accmailtitle": "Сырсөз жөнөтүлдү.",
        "accmailtext": " [[User talk:$1|$1]] үчүн сырсөз $2 ге жөнөтүлдү.",
        "newarticle": "(Жаңы)",
-       "newarticletext": "Сиз ачыла элек баракка шилтемени бастыңыз.\nБул баракты түзүү үчүн, ылдый жактагы терезеге жаза баштаңыз (кошумча маалымат алуу үчүн [$1 жардам барагын] караңыз).\nЭгерде Сиз бул жерге жаңылыштык менен кирип калган болсоңуз, анда браузериңиздеги '''артка''' баскычын басыңыз.",
+       "newarticletext": "Сиз али түзүлө элек баракка шилтемени бастыңыз.\nБул баракты түзүү үчүн, ылдый жактагы терезеге жаза баштаңыз (кошумча маалымат алуу үчүн [$1 жардам барагын] караңыз).\nЭгерде Сиз бул жерге жаңылыштык менен кирип калган болсоңуз, анда браузериңиздеги '''артка''' баскычын басыңыз.",
        "noarticletext": "Азыр бул баракта текст жок.\nСиз [[Special:Search/{{PAGENAME}}|ушул аталыш менен баракты изде]] башка барактарда \n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} тийиштүү жазууларды таба аласыз],\nже '''[{{fullurl:{{FULLPAGENAME}}|action=edit}} ошондой аталыш менен барак ача аласыз]'''</span>.",
-       "noarticletext-nopermission": "Ð\90зÑ\8bÑ\80 Ð±Ñ\83л Ð±Ð°Ñ\80акÑ\82а Ñ\82екÑ\81Ñ\82 Ð¶Ð¾Ðº.\nСиз [[Special:Search/{{PAGENAME}}|бÑ\83л Ð°Ñ\82 Ð¶Ó©Ð½Ò¯Ð½Ð´Ó© Ñ\8dÑ\81кеÑ\80Ñ\82үүлөÑ\80дү]] Ð±Ð°Ñ\88ка Ð±Ð°Ñ\80акÑ\82аÑ\80дан Ñ\82аба Ð°Ð»Ð°Ñ\81Ñ\8bз, Ð¶Ðµ <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} Ñ\82ийиÑ\88Ñ\82Ò¯Ò¯ Ð¶Ñ\83Ñ\80налдаÑ\80дÑ\8bн Ð¶Ð°Ð·Ñ\83Ñ\83лаÑ\80Ñ\8bн Ñ\82аба Ð°Ð»Ð°Ñ\81Ñ\8bз]</span>. Ð\91Ñ\83л Ð±Ð°Ñ\80акÑ\82Ñ\8b Ð¶Ð°Ñ\80аÑ\82Ñ\83Ñ\83га Ñ\83кÑ\83кÑ\82аÑ\80Ñ\8bÒ£Ñ\8bз жок.",
+       "noarticletext-nopermission": "Ð\90зÑ\8bÑ\80 Ð±Ñ\83л Ð±Ð°Ñ\80акÑ\82а Ñ\82екÑ\81Ñ\82 Ð¶Ð¾Ðº.\nСиз [[Special:Search/{{PAGENAME}}|бÑ\83л Ð°Ñ\82 Ð¶Ó©Ð½Ò¯Ð½Ð´Ó© Ñ\8dÑ\81кеÑ\80Ñ\82үүлөÑ\80дү]] Ð±Ð°Ñ\88ка Ð±Ð°Ñ\80акÑ\82аÑ\80дан Ñ\82аба Ð°Ð»Ð°Ñ\81Ñ\8bз, Ð¶Ðµ <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} Ñ\82ийиÑ\88Ñ\82Ò¯Ò¯ Ð¶Ñ\83Ñ\80налдаÑ\80дÑ\8bн Ð¶Ð°Ð·Ñ\83Ñ\83лаÑ\80Ñ\8bн Ñ\82аба Ð°Ð»Ð°Ñ\81Ñ\8bз]</span>. Ð\91Ñ\83л Ð±Ð°Ñ\80акÑ\82Ñ\8b Ð¶Ð°Ñ\80аÑ\82Ñ\83Ñ\83га Ñ\83кÑ\83гÑ\83Ò£Ñ\83з жок.",
        "userpage-userdoesnotexist": "\"$1\" Мындай колдонуучу катталган эмес. Сураныч, ушул баракты түзүүнү же оңдогонду каалганыңыз анык болсун",
        "updated": "(Жаңыртылды)",
        "note": "'''Эскертме:'''",
        "post-expand-template-argument-category": "Калыптардын аттатылган жүйөлөрүн камтыган барактар",
        "parser-template-loop-warning": "Калыптарда илмек бар:[[$1]]",
        "cantcreateaccounttitle": "Эсеп жазуусун түзүү мүмкүн эмес",
-       "viewpagelogs": "Бул барактын журналдарын көрсөтүү",
+       "viewpagelogs": "Бул барактын журналдарын көрүү",
        "nohistory": "Бул барактын өзгөртүүлөр тарыхы жок",
        "currentrev": "Соңку версиясы",
        "currentrev-asof": "$1 -га соңку версиясы",
        "revisionasof": "$1 -деги абалы",
-       "revision-info": "$1 карата $2 тарабынан жасалган версия",
+       "revision-info": "$1 карата  {{GENDER:$6|$2}}$7 тарабынан жасалган версия",
        "previousrevision": "← Мурунку версиясы",
        "nextrevision": "Жаңыраак версиясы →",
        "currentrevisionlink": "Соңку версиясы",
        "compareselectedversions": "Тандалган версияларды салыштыруу",
        "showhideselectedversions": "Тандалган версияларды көрсөтүү/жашыруу",
        "editundo": "жокко чыгаруу",
-       "searchresults": "Ð\98здөө Ð¶Ñ\8bйÑ\8bнÑ\82Ñ\8bкÑ\82аÑ\80ы",
-       "searchresults-title": "\"$1\" Ò¯Ñ\87үн Ð¸Ð·Ð´Ó©Ó© Ð¶Ñ\8bйÑ\8bнÑ\82Ñ\8bкÑ\82аÑ\80ы",
+       "searchresults": "Ð\98здөө Ð¶Ñ\8bйÑ\8bнÑ\82Ñ\8bгы",
+       "searchresults-title": "\"$1\" Ò¯Ñ\87үн Ð¸Ð·Ð´Ó©Ó© Ð¶Ñ\8bйÑ\8bнÑ\82Ñ\8bгы",
        "prevn": "абалкы {{PLURAL:$1|$1}}",
        "nextn": "соңку {{PLURAL:$1|$1}}",
        "prevn-title": "Абалкы $1 {{PLURAL:$1|жыйынтык}}",
        "searchmenu-exists": "'''Бул Уикиде \"[[:$1]]\" деп аталган барак бар.'''",
        "searchmenu-new": "'''Бул Уикиде \"[[:$1]]\" барагын түз!'''",
        "searchprofile-articles": "Негизги барактар",
-       "searchprofile-images": "Мултимедиа",
-       "searchprofile-everything": "Баары",
+       "searchprofile-images": "Ð\9cÑ\83лÑ\8cÑ\82имедиа",
+       "searchprofile-everything": "Баардыгы",
        "searchprofile-advanced": "Кеңейтилген",
-       "searchprofile-articles-tooltip": "$1 -де издөө",
+       "searchprofile-articles-tooltip": "$1 -ден издөө",
        "searchprofile-images-tooltip": "Файлдарды издөө",
        "searchprofile-everything-tooltip": "Баардык барактардан (талкуу барактарды кошо) издөө",
-       "searchprofile-advanced-tooltip": "Ð\91елгиленген Ð°Ñ\82алÑ\8bÑ\88 Ð¼ÐµÐ¹ÐºÐ¸Ð½Ð´Ð¸ÐºÑ\82еÑ\80инде издөө",
+       "searchprofile-advanced-tooltip": "Ð\91елгиленген Ð°Ñ\82алÑ\8bÑ\88 Ð¼ÐµÐ¹ÐºÐ¸Ð½Ð´Ð¸ÐºÑ\82еÑ\80инен издөө",
        "search-result-size": "$1 ({{PLURAL:$2|1 сөз|$2 сөздөр}})",
        "search-result-category-size": "{{PLURAL:$1|1 мүчө|$1 мүчөлөр}} ({{PLURAL:$2|1 ички категория|$2 ички категориялар}}, {{PLURAL:$3|1 файл|$3 файлдар}})",
        "search-redirect": "($1 багыттама)",
        "search-interwiki-more": "(көбүрөөк)",
        "search-relatedarticle": "Байланыштуу",
        "searchrelated": "байланыштуу",
-       "searchall": "бааÑ\80ы",
+       "searchall": "жалпÑ\8bÑ\81ы",
        "search-nonefound": "Талапка төп маалымат табылган жок.",
        "powersearch-legend": "Кеңейтилген издөө",
        "powersearch-ns": "Аталыш мейкиндиктеринен издөө:",
        "action-userrights": "бүткүл колдонуучулардын укуктарын оңдоо",
        "action-sendemail": "электрондук каттарды жөнөтүү",
        "nchanges": "$1 {{PLURAL:$1|өзгөрүү|өзгөрүүлөр}}",
+       "enhancedrc-history": "тарыхы",
        "recentchanges": "Соңку өзгөрүүлөр",
        "recentchanges-legend": "Соңку өзгөртүүлөрдүн ырастоолору",
        "recentchanges-summary": "Уикидеги соңку өзгөрүүлөрдү ушул барактан көзөмөлдө.",
        "rcnotefrom": "'''$2''' -тан өзгөрүүлөр ылдый жакта ('''$1''' чейин көрсөтүлдү).",
        "rclistfrom": "$3 $2 күнүнөн баштап жаңы өзгөртүүлөрдү көрсөтүү",
        "rcshowhideminor": "Майда оңдоолорду $1",
+       "rcshowhideminor-show": "Көрсөтүү",
+       "rcshowhideminor-hide": "Жашыруу",
        "rcshowhidebots": "ботторду $1",
+       "rcshowhidebots-show": "Көрсөтүү",
+       "rcshowhidebots-hide": "Жашыруу",
        "rcshowhideliu": "$1 катталган колдонуучу",
+       "rcshowhideliu-hide": "Жашыруу",
        "rcshowhideanons": "$1 жашыруун колдонуучу",
+       "rcshowhideanons-show": "Көрсөтүү",
+       "rcshowhideanons-hide": "Жашыруу",
        "rcshowhidepatr": "Күзөттөө алдындагы оңдоолорду $1",
        "rcshowhidemine": "Оңдоолорумду $1",
+       "rcshowhidemine-show": "Көрсөтүү",
+       "rcshowhidemine-hide": "Жашыруу",
        "rclinks": "Соңку $2 күндө жасалган акыркы $1 өзгөртүүлөрдү көрсөтүү<br />$3",
        "diff": "айырма",
        "hist": "тарыхы",
        "filehist-user": "Колдонуучу",
        "filehist-dimensions": "Өлчөмдөр",
        "filehist-filesize": "Файл өлчөмү",
-       "filehist-comment": "Ð\9aомменÑ\82аÑ\80ий",
+       "filehist-comment": "Ð\96оÑ\80Ñ\83м",
        "imagelinks": "Файлды колдонуу",
        "linkstoimage": "Бул файлга болгон {{PLURAL:$1|шилтеме|$1 шилтемелер}} :",
        "nolinkstoimage": "Бул файлга шилтеме берген барак жок.",
        "movethispage": "Бул барактын атын өзгөртүү",
        "pager-newer-n": "{{PLURAL:$1|жаңыраак 1|жаңыраак $1}}",
        "pager-older-n": "{{PLURAL:$1|эскирээк 1|эскирээк $1}}",
-       "booksources": "Китеп тууралуу маалыматтар",
+       "booksources": "Китеп булактары",
        "booksources-search-legend": "Китеп тууралуу маалыматтарды издөө",
+       "booksources-search": "Издөө",
        "specialloguserlabel": "Аткаруучу:",
        "speciallogtitlelabel": "Максаты (аталышы же колдонуучу):",
        "log": "Журналдар",
        "whatlinkshere-page": "Барак:",
        "linkshere": "'''[[:$1]]''' барагына шилтеме берген барактар:",
        "nolinkshere": "'''[[:$1]]''' барагына шилтеме берген барак жок.",
-       "isredirect": "Ð\91агыттама барак",
+       "isredirect": "багыттама барак",
        "istemplate": "бириктирүү",
        "isimage": "файл шилтемеси",
        "whatlinkshere-prev": "{{PLURAL:$1|мурунку}}",
        "whatlinkshere-hidetrans": "$1 бириктирүүлөр",
        "whatlinkshere-hidelinks": "Шилтемелерди $1",
        "whatlinkshere-hideimages": "$1 файл шилтемелери",
-       "whatlinkshere-filters": "ЧÑ\8bпкалар",
+       "whatlinkshere-filters": "ЭлекÑ\82ер",
        "block": "Колдонуучуну бөгөттөө",
        "blockip": "Колдонуучуну бөгөттөө",
        "blockip-legend": "Колдонуучуну бөгөттөө",
        "movepagebtn": "Барактын атын өзгөртүү",
        "pagemovedsub": "Барактын аты өзгөртүлдү",
        "movepage-moved-redirect": "Багыттама түзүлдү.",
-       "movelogpage": "Аталыштарды өзгөртүү тарыхы",
+       "movelogpage": "Аталыштарды өзгөртүү журналы",
        "movereason": "Себеп:",
        "revertmove": "кайтаруу",
        "delete_and_move": "Өчүрүү же атын өзгөртүү",
        "tooltip-ca-watch": "Бул баракты көзөмөл тизмеңизге кошуңуз",
        "tooltip-ca-unwatch": "Бул баракты көзөмөл тизмеңизден алып салыңыз",
        "tooltip-search": "{{SITENAME}} издөө",
-       "tooltip-search-go": "Так Ñ\83Ñ\88Ñ\83ндай Ð°Ñ\82алÑ\8bÑ\88Ñ\82агÑ\8b Ð±Ð°Ñ\80акÑ\82Ñ\8b ÐºÓ©Ñ\80Ñ\81өтүү",
-       "tooltip-search-fulltext": "УÑ\88Ñ\83л Ñ\82екÑ\81Ñ\82 Ð±Ð°Ñ\80 барактарды издөө",
+       "tooltip-search-go": "ЭгеÑ\80де Ð±Ð°Ñ\80 Ð±Ð¾Ð»Ñ\81о, Ñ\82ак Ñ\83Ñ\88Ñ\83ндай Ð°Ñ\82алÑ\8bÑ\88Ñ\82агÑ\8b Ð±Ð°Ñ\80акка өтүү",
+       "tooltip-search-fulltext": "УÑ\88Ñ\83л Ñ\82екÑ\81Ñ\82 ÐºÐ°Ñ\82Ñ\8bÑ\88кан барактарды издөө",
        "tooltip-p-logo": "Башбаракка өтүү",
        "tooltip-n-mainpage": "Башбаракка өтүү",
        "tooltip-n-mainpage-description": "Башбаракка өтүү",
        "tooltip-n-portal": "Долбоор тууралуу, эмне жасай аласыз, кайдан тапса болот",
        "tooltip-n-currentevents": "Учурдагы окуялар тууралуу кошумча маалымат табуу",
-       "tooltip-n-recentchanges": "уикидеги соңку өзгөртүүлөрдүн тизмеси",
+       "tooltip-n-recentchanges": "Уикидеги соңку өзгөртүүлөрдүн тизмеси",
        "tooltip-n-randompage": "Тушкелди баракты ачып кара",
        "tooltip-n-help": "Маалымат алуу үчүн",
-       "tooltip-t-whatlinkshere": "Ушул жерге шилтемеси бар бардык уики барактардын тизмеси",
+       "tooltip-t-whatlinkshere": "Ушул жерге шилтемеленген бардык уики барактардын тизмеси",
        "tooltip-t-recentchangeslinked": "Бул барактан шилтеме берилген барактардагы соңку өзгөрүүлөр",
-       "tooltip-feed-atom": "Бул барак үчүн Atom агымы",
+       "tooltip-feed-atom": "Бул барак үчүн Atom тасмасы",
        "tooltip-t-contributions": "Бул колдонуучунун салымдарынын тизмеси",
        "tooltip-t-emailuser": "Бул колдонуучуга кат жиберүү",
        "tooltip-t-upload": "Файлдарды жүктөө",
-       "tooltip-t-specialpages": "Ð\91аÑ\80дÑ\8bк ÐºÑ\8bзмаÑ\82Ñ\82Ñ\8bк Ð±Ð°Ñ\80акÑ\82аÑ\80дÑ\8bн тизмеги",
-       "tooltip-t-print": "Бул барактын басып чыгарууга ылайыктуу түрү",
+       "tooltip-t-specialpages": "Ð\9aÑ\8bзмаÑ\82Ñ\82Ñ\8bк Ð±Ð°Ñ\80акÑ\82аÑ\80дÑ\8bн Ð¶Ð°Ð»Ð¿Ñ\8b тизмеги",
+       "tooltip-t-print": "Бул барактын басма түрү",
        "tooltip-t-permalink": "Барактын бул версиясына туруктуу шилтеме",
        "tooltip-ca-nstab-main": "Барактын мазмунун кароо",
        "tooltip-ca-nstab-user": "Колдонуучунун барагын көрсөтүү",
        "tooltip-ca-nstab-media": "Медиа барагын көрүү",
        "tooltip-ca-nstab-special": "Бул кызматтык барак, сиз аны оңдой албайсыз",
-       "tooltip-ca-nstab-project": "Долбоор барагы",
+       "tooltip-ca-nstab-project": "Долбоор барагын көрүү",
        "tooltip-ca-nstab-image": "Файл барагын кароо",
        "tooltip-ca-nstab-mediawiki": "Системалык билдирүүсүн кароо",
-       "tooltip-ca-nstab-template": "Ð\9aалÑ\8bпÑ\82Ñ\8b ÐºÐ°Ñ\80оо",
+       "tooltip-ca-nstab-template": "Ð\9aалÑ\8bбÑ\8bн ÐºÓ©Ñ\80Ò¯Ò¯",
        "tooltip-ca-nstab-help": "Жардам барагын кароо",
        "tooltip-ca-nstab-category": "Категория барагын кароо",
        "tooltip-minoredit": "Муну майда оңдоо деп белгилөө",
        "pageinfo-protect-cascading-yes": "Ооба",
        "patrol-log-page": "Күзөттөө журналы",
        "previousdiff": "← Эскирээк оңдоо",
-       "nextdiff": "Жаңыраак оңдоо →",
+       "nextdiff": "Жаңы оңдоо →",
        "file-info-size": "$1 × $2 пиксель, файлдын көлөмү: $3, MIME түрү: $4",
        "file-nohires": "Мындан чоңураак чечим жок.",
        "svg-long-desc": "SVG файл, шарттуу түрдө $1 × $2 пиксел, файлдын көлөмү: $3",
        "svg-long-error": "туура эмес SVG-файл: $1",
        "show-big-image": "Толук чечими",
+       "show-big-image-size": "$1 × $2 пиксел",
        "newimages": "Жаңы файлдардын галереясы",
        "newimages-legend": "Чыпка",
        "newimages-label": "Файл аты (же анын жартысы):",
        "exif-iimcategory-soi": "Социалдык маселелер",
        "exif-iimcategory-spo": "Спорт",
        "exif-iimcategory-wea": "Аба-ырайы",
-       "namespacesall": "бааÑ\80ы",
-       "monthsall": "бааÑ\80ы",
+       "namespacesall": "жалпÑ\8bÑ\81ы",
+       "monthsall": "жалпÑ\8bÑ\81ы",
        "confirmemail": "Электрондук даректи аныктоо",
        "confirmemail_loggedin": "Электрондук дарегиңиз аныкталды.",
        "recreate": "Кайрадан түзүү",
        "watchlisttools-view": "Тийиштүү өзгөрүүлөрдү кароо",
        "watchlisttools-edit": "Көзөмөл тизмесин кароо жана оңдоо",
        "watchlisttools-raw": "Жетиле элек көзөмөл тизмени оңдоо",
+       "signature": "[[{{ns:колдонуучу}}:$1|$2]] ([[{{ns:колдонуучу_баарлашуу}}:$1|баарлашуу]])",
        "duplicate-defaultsort": "'''Эскертүү:''' \"$2\" белгиленген ылгоочу ачкыч \"$1\" мурунку белгиленген ылгоочу ачкычты жокко чыгарат.",
        "version": "Версия",
        "version-extensions": "Орнотулган кеңейтүүлөр",
        "htmlform-submit": "Жөнөтүү",
        "htmlform-reset": "Өзгөртүүлөрдү жокко чыгаруу",
        "htmlform-selectorother-other": "Башка",
-       "logentry-delete-delete": "$1 колдонуучу $3 барагын өчүрдү",
+       "logentry-delete-delete": "$1 $3 барагын {{GENDER:$2|өчүрдү}}",
        "revdelete-content-hid": "мазмун жашырылган",
        "revdelete-summary-hid": "оңдоонун баяндамасы жашырылган",
        "revdelete-uname-hid": "катышуучу аты жашырылган",
        "logentry-newusers-create": "$1 эсеп жазуусу түзүлдү",
        "logentry-newusers-create2": "$1 эсеп жазуусун түздү",
        "logentry-newusers-autocreate": "Автоматтуу түрдө $1 эсеп жазуусу түзүлдү",
+       "logentry-upload-upload": "$1 $3 жактан {{GENDER:$2|жүктөлдү}}",
        "rightsnone": "(жок)",
        "feedback-adding": "Баракка пикирди кошуу…",
        "feedback-bugnew": "Мен текшердим. Жаңы ката жөнүндө маалымдоо",
index dd301a3..7284ea8 100644 (file)
        "linksearch-pat": "Sich-Critère:",
        "linksearch-ns": "Nummraum:",
        "linksearch-ok": "Sichen",
-       "linksearch-text": "\"Wildcards\" wéi zum Beispill \"*.example.com\" kënne benotzt ginn.\nEt muss mindestens en Top-Level-Domaine ugi ginn, wéi z. Bsp. \".org\".<br />\nËnnerstëtzte {{PLURAL:$2|Protokoll|Protekoller}}: <code>$1</code> (http:// gëtt benotzt wann näischt spezifizéiert gëtt).",
+       "linksearch-text": "\"Wildcards\" wéi zum Beispill \"*.example.com\" kënne benotzt ginn.\nEt muss mindestens en Top-Level-Domaine ugi ginn, wéi z. Bsp. \".org\".<br />\nËnnerstëtzte {{PLURAL:$2|Protokoll|Protekoller}}: $1 (http:// gëtt benotzt wann näischt spezifizéiert gëtt).",
        "linksearch-line": "$1 verlinkt vun $2",
        "linksearch-error": "Wildcards (*,?) kënnen nëmmen am Ufank vum Host-Numm benotzt ginn.",
        "listusersfrom": "D'Benotzer weisen, ugefaange bei:",
        "ip_range_invalid": "Ongëltegen IP Block.",
        "ip_range_toolarge": "Späre vu Beräicher déi méi grouss wéi /$1 si sinn net erlaabt.",
        "proxyblocker": "Proxy blocker",
-       "proxyblockreason": "Ã\84r IP-Adress gouf gespaart, well si een oppene Proxy ass. Kontaktéiert w.e.g. Ã¤ren Internet-Provider oder Ã¤rs Systemadministrateuren und informéiert si iiwwer dëses méigleche Sécherheetsprobleem.",
+       "proxyblockreason": "Ã\84r IP-Adress gouf gespaart, well si een oppene Proxy ass. Kontaktéiert w.e.g. Ã¤ren Internet-Provider oder Ã\84r Systemadministrateuren an informéiert si iwwer dëse méigleche Sécherheetsproblem.",
        "sorbsreason": "Är IP Adress steet als oppene Proxy an der schwaarzer Lëscht (DNSBL) déi vu {{SITENAME}} benotzt gëtt.",
        "sorbs_create_account_reason": "Är IP-Adress steet als oppene Proxy an der schwaarzer Lëscht déi op {{SITENAME}} benotzt gëtt. DIr kënnt keen neie Benotzerkont opmaachen.",
        "xffblockreason": "Eng IP-Adress am X-Forwarded-For-Header gouf gespaart, entweder Är oder déi vum Proxyserver deen Dir benotzt. De Grond vun der Spär war: $1",
index 8372a30..6fd2b5e 100644 (file)
        "resetpass-wrong-oldpass": "'t Hujig of tiedelik wachwaord is ongeljig.\nMeugelik höbs doe dien wachwaord al gewiezig of 'n nuuj tiedelik wachwaord aangevraog.",
        "resetpass-temp-password": "Tiedelik wachwaord:",
        "passwordreset": "Wachwaord obbenuuts insjtèlle",
-       "passwordreset-legend": "Wachwaord obbenuuts insjtèlle",
        "passwordreset-disabled": "'t Is hie neet meugelik óm die wachwaord óbbenuits in te sjtelle.",
        "passwordreset-username": "Gebroekersnaam:",
        "passwordreset-domain": "Domein:",
        "nlinks": "$1 {{PLURAL:$1|verwiezing|verwiezinge}}",
        "nmembers": "$1 {{PLURAL:$1|lid|lede}}",
        "nrevisions": "$1 {{PLURAL:$1|herzening|herzeninge}}",
-       "nviews": "{{PLURAL:$1|eine kieër|$1 kieër}} bekeke",
        "nimagelinks": "Gebroek op $1 {{PLURAL:$1|pagina|pagina's}}",
        "ntransclusions": "Gebroek op $1 {{PLURAL:$1|pagina|pagina's}}",
        "specialpage-empty": "Deze pagina is laeg.",
        "linksearch-pat": "Zeukpatroon:",
        "linksearch-ns": "Naamruumde:",
        "linksearch-ok": "Zeuk",
-       "linksearch-text": "Wildcards wie \"*.wikipedia.org\" of \"*.org\" zeen toegestaon.\nHaet mèndestes e toepleveldomein, wie beveurbeildj \"*.org\".<br />\nÓngerstäönendje protocolle: <code>$1</code> (veug dees neet tou in dien zeukópdrach).",
+       "linksearch-text": "Wildcards wie \"*.wikipedia.org\" of \"*.org\" zeen toegestaon.\nHaet mèndestes e toepleveldomein, wie beveurbeildj \"*.org\".<br />\nÓngerstäönendje protocolle: $1 (veug dees neet tou in dien zeukópdrach).",
        "linksearch-line": "$1 gelink vanaaf $2",
        "linksearch-error": "Wildcards zijn alleen toegestaan aan het begin van een hostnaam.",
        "listusersfrom": "Tuin gebroekers vanaaf:",
index 339c21d..81736bf 100644 (file)
        "userexists": "نوم کاریاری دە بییە ئیسئنی ڤئ کار گئرئتە بییە.\nلوطف بأکیت یئ گئل نوم هأنی نە ڤئرداریت.",
        "loginerror": "خأطا ڤامین ئوٙمائن",
        "createacct-error": "خأطا راس کئردئن حئساڤ",
-       "createaccounterror": "Ù\86بÙ\88ئÙ\87 Ø­Ø³Ø§Ù\88 Ø±Ø§Ø³ Ø¨Ù\83Ù\8aد:$1",
-       "nocookiesnew": "حساÙ\88 Ú©Ø§Ø±Û\8cارÛ\8c Ø±Ø§Ø³ Ø¨Û\8cØ\8cاÙ\85ا Ø´Ù\85ا Ù\88اÙ\85ئÙ\86 Ù\86Û\8cاÙ\85اÛ\8cئتÙ\87.{{Ù\86Ù\88Ù\85 Ù\85اÙ\84Ú¯Ù\87}} Ø¯ Ú©Ù\88Ú©Û\8cا Ø³Û\8c Ø§Ù\88Ù\85ائÙ\86 Ø¯ Ø³Û\8cستÙ\85 Ú©Ø§Ø±Û\8cارÛ\8cا Ù\88Ù\87 Ú©Ø§Ø± Ù\85Û\8cئرÙ\87 .Ú©Ù\88Ú©Û\8cا Ø´Ù\85ا Ø¯ Ú©Ø§Ø± Ø§Ù\81تائÙ\87\84Ø·Ù\81Ù\86 Ù\88ا Ú©Ø§Ø±Ø´Ù\88 Ø¨Ù\88Ù\86Û\8cتØ\8c Ø§Ù\88سÙ\87 Ù\88ا Ù\86Ù\88Ù\85 Ú©Ø§Ø±Û\8cارÛ\8c ØªØ§Ø²Ù\87 Ù\88 Ø±Ø§Ø²Û\8cÙ\86Ù\87 Ú¯Ù\88اردÙ\86 Ù\87Ù\86Û\8c Ø¨Û\8cاÛ\8cت Ù\88ا Ù\85ئن.",
-       "nocookieslogin": "{{نوم مالگه}} د کوکیا سی وامئن اومائن کاریاریا وه کار میئره. کوکیا شما د کار افتائه.\nلطف بکید د کارشو بونیت و دوواره تلاش بکید.",
-       "nocookiesfornew": "حساÙ\88 Ú©Ø§Ø±Û\8cارÛ\8c Ø±Ø§Ø³ Ù\86بÛ\8cÙ\87Ø\8c Ø³Û\8c Û\8cÙ\87 Ø§Û\8cÙ\85ا Ù\86تÙ\88Ù\86Û\8cÙ\85 Ø³Ø±Ú\86Ø´Ù\85Ù\87 Ù\88Ù\86Ù\87 Ù\85ئکÙ\85 Ø¨Ú©Û\8cÙ\85.\nÙ\85Ø·Ù\85ئÙ\86 Ø¨Ù\88ئÛ\8cت Ú©Ù\87 Ú©Ù\88Ú©Û\8cا Ú©Ù\86شتگر Ø¨Û\8cÙ\86Ù\87Ø\8c Ø§Û\8c Ø¨Ù\84Ú¯Ù\87 Ù\86Ù\87 Ø¯ Ù\86Ù\88 Ø³Ù\88ار Ø¨Ú©Û\8cد Ù\88 Ø¯ Ù\86Ù\88 ØªÙ\84اش Ø¨Ú©Û\8cد.",
+       "createaccounterror": "Ù\86أبÙ\88Ù\99Û\95 Ø­Ø¦Ø³Ø§Ú¤ Ú©Ø§Ø±Û\8cارÛ\8c Ø±Ø§Ø³ Ø¨Ø£Ú©Û\8cت:$1",
+       "nocookiesnew": "حئساڤ Ú©Ø§Ø±Û\8cارÛ\8c Ø±Ø§Ø³Øª Ø¨Û\8cØ\8c Ú¤Ø£Ù\84Û\8c Ø´Ù\88Ù\85ا Ù\86Û\8cÙ\88Ù\99Ù\85اÛ\8cتÛ\95 Ú¤Ø§Ù\85Û\8cÙ\86.کارÛ\8cارÛ\8c Ø±Ø§Ø³ Ø¨Û\8cØ\8cاÙ\85ا Ø´Ù\85ا Ù\88اÙ\85ئÙ\86 Ù\86Û\8cاÙ\85اÛ\8cئتÙ\87.{{SITENAME}} Ú©Ù\88Ù\99Ú©Û\8cا Ù\86Û\95 Ø³Û\8c Ø¦Ù\88Ù\99Ù\85ائÙ\86 Ø¯ Ø³Ø§Ù\85Ù\88Ù\99Ù\86Û\95 Ú©Ø§Ø±Û\8cارÛ\8cاڤئ Ú©Ø§Ø± Ù\85ئÛ\8cرÛ\95.\nÚ©Ù\88Ù\99Ú©Û\8cا Ø´Ù\88Ù\85ا Ù\86اکÙ\88Ù\99Ù\86ئشتگأر Ø¨Û\8cÙ\86Û\95.\nÙ\84Ù\88Ø·Ù\81 Ø¨Ø£Ú©Û\8cت Ú¤Ø¦Ù\86Ù\88Ù\99Ù\86Û\95 Ú©Ù\88Ù\86ئشتگأر Ø¨Ø£Ú©Û\8cتØ\8c Ø¦Ù\88Ù\99سئ Ú¤Ø§ Û\8cئ Ú¯Ø¦Ù\84 Ù\86Ù\88Ù\85 Ú©Ø§Ø±Û\8cارÛ\8c Ù\88 Ø±Ø§Ø²Û\8cÙ\86Û\95 Ú¯Ù\88ڤاردئÙ\86 Ù\87Ø£Ù\86Û\8c Ø¨Û\8cاÛ\8cÛ\8cت Ú¤Ø§Ù\85Û\8cن.",
+       "nocookieslogin": "{{SITENAME}} کوٙکیا نە سی ئوٙمائن د ساموٙنە کاریاریاڤئ کار مئیرە.\nکوٙکیا شوما ناکوٙنئشتگأر بینە.\nلوطف بأکیت ڤئنوٙنە کونئشتگأر بأکیت و د نۊ تئلاش بأکیت.",
+       "nocookiesfornew": "حئساڤ Ú©Ø§Ø±Û\8cارÛ\8c Ø±Ø§Ø³ Ù\86أبÛ\8cÛ\95Ø\8c Ø³Û\8c Û\8cÛ\95 Ù\86Û\95 Ú©Ø¦ Ø¦Û\8cÙ\85ا Ù\86ئÙ\85Û\8c ØªÙ\88Ù\99Ù\86Û\8cÙ\85 Ø³Ø£Ø±Ú\86ئشÙ\85Û\95 Ú¤Ø¦Ù\86Û\95 Ù¾Ù\88شت Ø±Ø§Ø³ Ú©Ø§Ø±Û\8c Ø¨Ø£Ú©Û\8cÙ\85.\nÙ\85Ù\88Ø·Ù\85أئÙ\86 Ø¨Ù\88Ù\99Û\8cÛ\8cت Ú©Ø¦ Ú©Ù\88Ù\99Ú©Û\8cا Ú©Ù\88Ù\86ئشتگأر Ø¨Û\8cÙ\86Û\95Ø\8c Ø¦Û\8c Ø¨Ø£Ù\84Ú¯Û\95 Ù\86Û\95 Ø¯ Ù\86Ù\88Ù\99 Ø³Ù\88Ù\99ڤار Ø¨Ø£Ú©Û\8cت Ù\88 Ù\87Ø£Ù\86Û\8c ØªØ¦Ù\84اش Ø¨Ø£Ú©Û\8cت.",
        "nocookiesforlogin": "{{int:nocookieslogin}}",
-       "noname": "Ø´Ù\85ا Û\8cÙ\87 Ú¯Ù\84 Ù\86Ù\88Ù\85 Ú©Ø§Ø±Û\8cارÛ\8c Ø®Ù\88 Ù\86ارÛ\8cت",
-       "loginsuccesstitle": "اÙ\88Ù\85ائÙ\86 Ø¯ Ø³Ø§Ù\85Ù\88Ù\86Ù\87 Ù\85Ù\88Ù\81Ù\82 بی",
-       "loginsuccess": "Ø´Ù\85ا Ø§Û\8cسÙ\87 Ù\88ارد Ø¨Û\8cتÙ\87 {{SITENAME}} د چی\"$1\".'",
-       "nosuchuser": "چنی کاریاری و نوم  \"$1\" نئیش.\nنوم کاریاری وه حرفیا حساس هئ.\nروشت نیسنن تونه وارسی بکید،یا [[ویجه:وامین اومائن کاریار/ثوت نام کردن|یه گل حساو تازه راس بکید]].",
-       "nosuchusershort": "چنو کاریاری وا ای نوم $1 نی ئیش.\nنیسنن تونه دوواره نئری بکیتو",
-       "nouserspecified": "Ø´Ù\85ا Ø¨Ø§Û\8cد Û\8cÙ\87 Ù\86Ù\88Ù\85 Ú©Ø§Ø±Û\8cارÛ\8c ØªÛ\8cارÛ\8c Ø¨Ú©Û\8cت",
-       "login-userblocked": "کاریار قلف بیه.وامین اومائن اجازه نی ئن",
-       "wrongpassword": "رازینه گواردن غلط وارد بیه.\nهنی تلاش بکید",
-       "wrongpasswordempty": "رازینه گواردنی که دئیت حالیه.د نؤ تلاش بکیت",
-       "passwordtooshort": "رازینه گواردن با حداقل  {{PLURAL:$1|1 character|$1 characters}}          با",
-       "passwordtoolong": "رازینه گواردن نواس بیشتر د {{PLURAL:$1|1 character|$1 characters}} با.",
-       "password-name-match": "رازینه گواردنتو با د نوم کاریاری فرخ داشتوه",
-       "password-login-forbidden": "وه کار گرتن ای پاسوردو نوم کاریاری قدقن بیه.",
-       "mailmypassword": "د Ù\86Û\88 Ù\88ارد Ù\83ردÙ\86 Ø±Ø§Ø²Û\8cÙ\86Ù\87 Ú¯Ù\88اردن",
-       "passwordremindertitle": "رازینه گواردن موقت تازه سی {{SITENAME}}",
-       "passwordremindertext": "یه نفر(شات خوتو،د تیرنشون آی پی $1) یه گل رازینه گواردن هنی سی {{نوم دیارگه}}($4) حاسته.یه گل رازینه گواردن موقتی سی کاریاری\"$2\" دروس بیه و د \"$3\" جاگر بیه. ار قصدتو یه بیه،شما واس ایسه روئیت وامین و یه گل رازینه گواردن هنی انتخاو بکید.\nرازینه گورادن موقتی د  {{PLURAL:$5|یه رو|$5 رو}}  تموم بوئه.\n\nار یه نفر هنی یه حاست داشتوئه،یا ار رازینه گورادن تونه د ویرتو اوما، و ار نحاستیت ونه آلشت بکیت، شما شایت د ای پیغوم تیه پوش بکیت و بحایت د وه کار بسن رازینه گواردن دماترتو دماداری بکیت.",
-       "noemail": "Ù\87Û\8cÚ\86 ØªÛ\8cرÙ\86Ø´Ù\88Ù\86 Ø§Ù\86جÙ\88Ù\85اÙ\86اÙ\85Ù\87 Ø§Û\8c Ø³Û\8c Ú©Ø§Ø±Û\8cار $1 Ø¶Ù\81Ø· Ù\86بÛ\8cÙ\87.",
-       "noemailcreate": "Ø´Ù\85ا Ø¨Ø§Û\8cد Û\8cÙ\87 ØªÛ\8cرÙ\86Ø´Ù\88Ù\86 Ø§Ù\86جÙ\88Ù\85اÙ\86اÙ\85Ù\87 Ø®Ù\88 Ù\81راÙ\87Ù\85 Ø¨Ú©Û\8cد",
-       "passwordsent": "یه گل رازینه گواردن هنی سی تیرنشون انجومانامه ای که \"$1\" واش ثوت نام کرده بی کل بیه.\nخواهش میکیم هنی رویئت وامین و اوسه بئریتش.",
-       "blocked-mailpassword": "نها آی پی شما سی ویرایشت گرته بیه، و",
+       "noname": "Ø´Ù\88Ù\99Ù\85ا Û\8cئ Ú¯Ø¦Ù\84 Ù\86Ù\88Ù\85 Ú©Ø§Ø±Û\8cارÛ\8c Ø®Ù\88Ù\99 ØªÛ\8cار Ù\86أکئردÛ\8cتÛ\95.",
+       "loginsuccesstitle": "ئÙ\88Ù\99Ù\85ائÙ\86 Ú¤Ø§Ù\85Û\8cÙ\86 Ø®Ù\88Ù\99 بی",
+       "loginsuccess": "Ø´Ù\88Ù\99Ù\85ا Ø¦Û\8cسئ Ø¦Ù\88Ù\99Ù\85اÛ\8cتÛ\95 Ú¤Ø§Ù\85Û\8cÙ\86 {{SITENAME}} د چی\"$1\".'",
+       "nosuchuser": "چئنی کاریاری ڤا نوم\"$1\" نیئش.\nنوم کاریاری ڤئ حأرفیا حأساسە.\nرأڤئشت نیسأنئن توٙنە ڤارئسی بأکست،یا [[Special:ڤامین ئوٙمائن کاریار/ثأڤت نام کئردئن|یئ گئل حئساڤ تازه راس بأکیت]].",
+       "nosuchusershort": "چئنی کاریاری ڤا نوم $1 نی.\nنیسأنئن خوتوٙنە ڤارئسی بأکیت.",
+       "nouserspecified": "Ø´Ù\88Ù\85ا Ú¤Ø§Ø³ Û\8cئ Ú¯Ø¦Ù\84 Ù\86Ù\88Ù\85 Ú©Ø§Ø±Û\8cارÛ\8c ØªÛ\8cار Ø¨Ø£Ú©Û\8cت.",
+       "login-userblocked": "کاریا قولف بییە . شوما صئلا ڤامین ئوٙمائن ناریت.",
+       "wrongpassword": "رازینە گوڤاردئنئتوٙ نە ئشتئڤا دأییتە.\nد نۊ تئلاش بأکیت.",
+       "wrongpasswordempty": "رازینە گوڤاردئنئتوٙ نە حالی دأییتە.\nد نۊ تئلاش بأکیت.",
+       "passwordtooshort": "رازینە گوڤاردئنئتوٙ با کأمتروٙنە {{PLURAL:$1|1 کاراکتئر|$1 کاراکتئریا}} با",
+       "passwordtoolong": "رازینە گوڤاردئنئتوٙ نە ڤاس بیشتئر د {{PLURAL:$1|1 کاراکتئر|$1 کاراکتئریا}} با",
+       "password-name-match": "رازینە گوڤاردئنئتوٙ بایأد ڤا نوم کاریاریتوٙ فأرخ داشتوٙە.",
+       "password-login-forbidden": "ڤئ کارگئرئتئن ئی نوم کاریاری و رازینە گوڤاردئن قأدئقأن بییە.",
+       "mailmypassword": "د Ù\86Û\8a Ø¯Ø£Ø¦Ù\86 Ø±Ø§Ø²Û\8cÙ\86Û\95 Ú¯Ù\88ڤاردئن",
+       "passwordremindertitle": "رازینە گوڤاردئن موڤأتی تازه سی {{SITENAME}}",
+       "passwordremindertext": "یئ نأفأر (گاسی خوتوٙ،د تیرنئشوٙن آی پی $1) یئ گئل رازینە گوڤاردئن هأنی سی {{SITENAME}}($4) حاستە.یئ گئل رازینە گوڤاردئن موڤأقأتی سی کاریاری\"$2\" رأڤأندیاری بیە و د \"$3\" جاگئر بییە. أر یە نە حاستیتە،شما بایأد ئیسئ روٙییت ڤامین و یئ گئل رازینە گوڤاردئن هأنی نە ئنتئخاڤ بأکیت.\nرازینە گوڤاردئن موڤأقأتی د {{PLURAL:$5|یئ روٙ|$5 روٙزیا}}  تأموٙم بوٙە.\n\nأر یئ نأفأر هأنی ئی حاست نە داشتوٙە، یا أر رازینە گوڤاردئن توٙنە د ڤیرتوٙ ئوٙما، و أر حاستیت ڤئنە آلئشت کاری بأکیت، گاسی شوما د ئی پئیغوم تیە پوٙشی بأکیت و بئحایت ڤئ کار گئرئتئن رازینە گوڤاردئن دئماتریتوٙ نە دئماداری بأکیت.",
+       "noemail": "Ù\87Û\8cÚ\86 ØªÛ\8cرÙ\86ئشÙ\88Ù\99Ù\86 Ø£Ù\86جÙ\88Ù\85اÙ\86اÙ\85Û\95 Û\8cÛ\8c Ø³Û\8c Ú©Ø§Ø±Û\8cار $1 Ø¶Ø£Ù\81Ø· Ù\86أبÛ\8cÛ\95.",
+       "noemailcreate": "Ø´Ù\88Ù\85ا Ø¨Ø§Û\8cأد Û\8cئ Ú¯Ø¦Ù\84 ØªÛ\8cرÙ\86ئشÙ\88Ù\99Ù\86 Ø£Ù\86جÙ\88Ù\85اÙ\86Û\95 Ø¬Ø§Ø¯Û\8cار Ø³Û\8c Ø®Ù\88تÙ\88Ù\99 Ø¯Ø§Ø´ØªÙ\88Ù\99Û\8cÛ\8cت.",
+       "passwordsent": "یئ گئل رازینە گوڤاردئن هأنی کئل بییە سی تیرنئشوٙن أنجومانامە یی کئ \"$1\" ڤاش ثأڤت نام کئردە.\nخاهئشت می کیم هأنی روٙییت ڤامین و ئوٙسئ بئریتئش.",
+       "blocked-mailpassword": "نئها آی پی شوما سی ڤیرایئشت کاری گئرئتە بییە، هأنی صئلا یە نە نارە کئ د رازینە گوڤاردئن د نۊ کئل بییە سی نئهاگئری د گأن کاری نارە.",
        "eauthentsent": "یه گل انجومانامه پشت راس کردنی د یه گل تیرنشون ویجه کل بیه.\nدما یه که یه گل انجومانامه هنی د حساو کل بوئه، شما واس دما رئنمونی نه د انجومانامه بئریت، سی یه که حساو شما راستکی پشت راست بوئه.",
        "throttled-mailpassword": "یه گل رازینه گواردن دواره زنه بیه ایسه کل بیه، د آخری {{PLURAL:$1|ساعت|$1 ساعتیا}}.\nسی نهاگری د اذیت دئن،فقط یه گل رازینه گواردن د انجومانامه دواره زنه بیه د هر {{PLURAL:$1|ساعت|$1 ساعتیا}} کل بیه.",
        "mailerror": "خطا داره کل موئه:$1",
        "invalidemailaddress": "تیرنشون انجومانامه حاستنی نئ شکل وه چوئه خوئی ناره.\nلطفن یه گل تیرنشون چوئه دار وارد بکیت یا ای رشنه گه نه حالی بنیت.",
        "cannotchangeemail": "تیرنشون انجومانامه حساو نتونه د ای ویکی آلشت بوئه.",
        "emaildisabled": "ای مالگه نتونه انجومانامه کل نمی که",
-       "accountcreated": "حساÙ\88 راس بی",
-       "accountcreatedtext": "حساÙ\88 Ú©Ø§Ø±Û\8cارÛ\8c Ø³Û\8c [[{{ns:کارÛ\8cار}}:$1|$1]] ([[{{ns:کارÛ\8cار Ú\86Ú© Ú\86Ù\86Ù\87}}:$1|Ú\86Ú© Ú\86Ù\86Ù\87]]) Ø¯Ø±Ù\88س Ø¨Û\8cÙ\87.",
-       "createaccount-title": "حساÙ\88 Ø±Ø§Ø³ Ú©Ø±Ø¯Ù\87 Ø³Û\8c  {{SITENAME}}",
+       "accountcreated": "حئساڤ راس بی",
+       "accountcreatedtext": "حئساڤ Ú©Ø§Ø±Û\8cارÛ\8c Ø³Û\8c [[{{ns:کارÛ\8cار}}:$1|$1]] ([[{{ns:کارÛ\8cار Ú\86Ø£Ú© Ú\86ئÙ\86Û\95}}:$1|Ú\86Ø£Ú© Ú\86ئÙ\86Û\95]]) Ø¯Ù\88رÙ\88س Ø¨Û\8cÛ\8cÛ\95.",
+       "createaccount-title": "حئساڤ Ø³Û\8c {{SITENAME}} Ø±Ø§Ø³ Ø¨Û\8c",
        "createaccount-text": "یه نفر وا تیرنشون انجونامه تو یه گل حساو راس کرده{{نوم دیارگه}} ($4) نومشه نیائه\"$2\", با پاسورد \"$3\".\nشما همی ایسه باید روئیت وامین و رازینه گواردتونه آلشت بکیت.\n\nار شما ای پیغوم نه وش التفات نکیت، د راس بیین ای حساو خطا دروس موئه.",
        "login-throttled": "شما ایسنی فره سی وامین اومائن تلاش کردیته.\n$1 لطفن سی تلاش هنی صبر بکید",
        "login-abort-generic": "اومائن وامین تو شکست حرد-شکست حرده",
        "pt-login": "ڤامین ئوٙمائن",
        "pt-login-button": "ڤامین ئوٙمائن",
        "pt-createaccount": "يه گل حساو راس بكيد",
-       "pt-userlogout": "د Ø³Ø§Ù\85Ù\88Ù\86Ù\87 Ø¯Ø±Ø§Ù\88مائن",
+       "pt-userlogout": "د Ø³Ø§Ù\85Ù\88Ù\99Ù\86Û\95 Ø¯Ø¦Ø±Ø¦Ù\88Ù\99مائن",
        "php-mail-error-unknown": "خطا نادیار مین آلشت ون PHP's mail()",
        "user-mail-no-addy": "سی کل کردن انجومانامه د یه گل انجومانامه بی تیرنشون کنشتگری بیه",
        "user-mail-no-body": "سی کل کردن انجومانامه وا مینونه حالی یا کؤچک بیئن سی دلیل غیر علقمنی تلاش بکید.",
-       "changepassword": "رازÛ\8cÙ\86Ù\87 Ú¯Ù\88اردÙ\86 Ù\86Ù\87 Ø¢Ù\84شت Ø¨Ù\83Ù\8aت",
+       "changepassword": "رارÛ\8cÙ\86Û\95 Ú¯Ù\88ڤاردئÙ\86 Ù\86Û\95 Ø¢Ù\84ئشت Ø¨Ø£Ú©Û\8cت",
        "resetpass_announce": "سی تموم کردن وا مین اومائن، شما باید یه گل رازینه گواردن هنی وارد بکیتو.",
        "resetpass_text": "<!-- یه گل نیسسه ایچه اضاف بکیت -->",
        "resetpass_header": "رازینه گواردن حساوتونه آلشت بکید",
        "passwordreset-domain": "پوشگئر",
        "passwordreset-capture": "انجومانامه نتیجه نه بوینیتو؟",
        "passwordreset-capture-help": "ار شما ای جعوه نه وارسی بکید. انجومانامه و خوئی اوسه که سی کاریار کل بیه بوئه بوینیتش.",
-       "passwordreset-email": "تÛ\8cرÙ\86Ø´Ù\88Ù\86 Ø§Ù\86جÙ\88Ù\85اÙ\86اÙ\85Ù\87",
+       "passwordreset-email": "تÛ\8cرÙ\86ئشÙ\88Ù\99Ù\86 Ø£Ù\86جÙ\88Ù\85اÙ\86اÙ\85Û\95",
        "passwordreset-emailtitle": "جزئیات حساو ها د {{نوم مالگه}}",
        "passwordreset-emailtext-ip": "یه کسی(شات خوتو، وا تیرنشون آی پی $1) سی د نو زنه کردن رازینه گواردن تو د {{SITENAME}}  درحاست کرده($4).\nسی کاریار «$2» یه گل رازینه گواردن موقتی دروس بیه و و هؤمبراور «$3» ئه.\nار تمارزو تو یه بیه ایسه باید بیایت وامین سامونه و یه گل رازینه گواردن هنی بهاییت\nرازینه گواردن شما د طیل {{PLURAL:$5|یه رو|$5 رو}} باطل بوئه.\n\nار کس هنی چنی درحاستی کرده یا یه که شما رازینه گواردن دمایی خوتونه د ویر اوردیت و تر نمیهایت ونه آلشت بیئت، می تونیت د ای پیغوم تیه پوشی بکیت و همو رازینه گواردن دمایی نه وه کار به ونیت.",
        "passwordreset-emailtext-user": "کاریار $1 د {{SITENAME}} د نو زنه کردن رازینه گواردن شمانه د{{SITENAME}} ($4) کرده. {{PLURAL:$3|حساو|حساویا}} کاریاری که هان د هار د وا ای تیرنشون انجومانامه ها د ارتواط:\n\n$2\n\n{{PLURAL:$3|ای رازینه گواردن موقت|ای رازینه گواردنیا موقت}} تا {{PLURAL:$5|یه رو|$5 رو}} باطل بوئه.\nار کس هنی چنی درحاستی کرده یا یه که شما رازینه گواردن دمایی خوتونه د ویر اوردیت و تر نمیهایت ونه آلشت بیئت، می تونیت د ای پیغوم تیه پوشی بکیت و همو رازینه گواردن دمایی نه وه کار به ونیت.",
        "minoredit": "يه ويرايشت كؤچكيه",
        "watchthis": "ديئن ای بلگه",
        "savearticle": "اماییه کردن بلگه",
-       "preview": "پيش سيل",
+       "preview": "پيش سئيل",
        "showpreview": "پيش سیل نشون بيئه",
        "showdiff": "آلشتيانه نشون بيئه",
        "blankarticle": "<strong>زنئار:</strong> بلگه ای که شما دروس کردیته حالیه.\nار شما د نو ری \"{{int:savearticle}}\" بپورنیت, بلگه وه شکل که هیچ مینونه ای دش نبا دروس بوئه.",
        "linksearch-pat": "سازه یار پی جوری:",
        "linksearch-ns": "نوم جا:",
        "linksearch-ok": "پی جوری",
-       "linksearch-text": "نشونه یا چی «‎*.wikipedia.org» نم بوئه وه کار گرت.\nد کمترونه یه گل پوشگر ریتراز وارو، .\"*.org\" میها.<br />\n{{PLURAL:$2|پروتکل|پروتکل یا}} بی حامین: <code>$1</code> (پیش حاست سی http:// د حال وباری که پروتکل میزوکاری نبیه با).",
+       "linksearch-text": "نشونه یا چی «‎*.wikipedia.org» نم بوئه وه کار گرت.\nد کمترونه یه گل پوشگر ریتراز وارو، .\"*.org\" میها.<br />\n{{PLURAL:$2|پروتکل|پروتکل یا}} بی حامین: $1 (پیش حاست سی http:// د حال وباری که پروتکل میزوکاری نبیه با).",
        "linksearch-line": "$1 داره د $2 هوم پیوند بوئه",
        "linksearch-error": "نشونه یا فقط د اول نوم مئموندار اینترنتی می تونن وه کار گرته بان.",
        "listusersfrom": "کاریاریایی که د شرو بینه نشو بیه:",
index 9c6bc6f..906c600 100644 (file)
        "linksearch-pat": "Ieškoti modulio:",
        "linksearch-ns": "Vardų sritis:",
        "linksearch-ok": "Ieškoti",
-       "linksearch-text": "Galima naudoti žvaigždutes, pvz., „*.wikipedia.org“.<br />\nYra būtinas bent jau aukščiausio lygio domenas, pvz., „*.org“.<br />\n{{PLURAL:$2|Palaikomas protokolas|Palaikomi protokolai|Palaikomų protokolų}}: <code>$1</code> (numato į http://, jei nenurodytas joks protokolas).",
+       "linksearch-text": "Galima naudoti žvaigždutes, pvz., „*.wikipedia.org“.<br />\nYra būtinas bent jau aukščiausio lygio domenas, pvz., „*.org“.<br />\n{{PLURAL:$2|Palaikomas protokolas|Palaikomi protokolai|Palaikomų protokolų}}: $1 (numato į http://, jei nenurodytas joks protokolas).",
        "linksearch-line": "$1 yra susietas iš $2",
        "linksearch-error": "Žvaigždutės gali būti tik adreso pradžioje.",
        "listusersfrom": "Rodyti naudotojus pradedant nuo:",
index bd21c65..546bd0e 100644 (file)
@@ -60,7 +60,7 @@
        "friday": "جوٙمَ",
        "saturday": "شأمە",
        "sun": "یه شمه",
-       "mon": "دوشمه",
+       "mon": "دوٙشأمأھ",
        "tue": "سەشأمە",
        "wed": "چارشمه",
        "thu": "پشمه",
        "category-empty": "ای دسه الآن هیچ بلگه یا مدیا ناره",
        "hidden-categories": "{{PLURAL:$1|دسە قائم|دسە یل قائم}}",
        "hidden-category-category": "دسه بنی یل قائم",
-       "category-subcat-count": "{{PLURAL:$2|ای دسه فقط دسه یل فرعی دۉمنه دارھ.|ای دسه چیه یل دۉمنه دارھ {{PLURAL:$1|دسه فرعی|$1 دسه یل فرعی}}, بیشتر زھ $2 کل.}}",
+       "category-subcat-count": "{{PLURAL:$2|ائی دسە فأقأط دسە یل فأرعی دوٙمنە دارھ.|ئی دسە چیأئل دوٙمنە دارھ {{PLURAL:$1|دسە فأرعی|$1 دسە یل فأرعی}}, بیشتأر زھ $2 کل.}}",
        "category-subcat-count-limited": "ای دسه چیه یل دومنه داره {{PLURAL:$1|دسه فرعی|$1 دسه یل فرعی}}.",
-       "category-article-count": "{{PLURAL:$2|اÛ\8c Ø¯Ø³Ù\87 Ù\81Ù\82Ø·  Ø¨Ù\84Ú¯Ù\87 Û\8cÙ\84 Ø¯Û\89Ù\85Ù\86Ù\87 Ø¯Ø§Ø±Ù\87 .|دÛ\89Ù\85Ù\86 Ø§Ù\84ذکر{{PLURAL:$1|بÙ\84Ú¯Ù\87 Ù\87س|$1 Ø¨Ù\84Ú¯Ù\87 Ù\87سÙ\86}} Ù\85ئÙ\86 Ø§Û\8c Ø¯Ø³Ù\87, Ø¨Û\8cشتر زھ$2 کل.}}",
+       "category-article-count": "{{PLURAL:$2|ئÛ\8c Ø¯Ø³Û\95 Ù\81Ø£Ù\82أط  Ø¨Ø£Ù\84Ú¯Û\95Ù\84 Ø¯Ù\88Ù\99Ù\85Ù\86Û\95 Ø¯Ø§Ø±Ú¾ .|دÙ\88Ù\99Ù\85Ù\86 Ø§Ù\84ذکر{{PLURAL:$1|بأÙ\84Ú¯Û\95 Ù\87أس|$1 Ø¨Ø£Ù\84Ú¯Û\95 Ù\87أسÛ\8cÙ\86}} Ù\85ئÙ\86 Ø¦Û\8c Ø¯Ø³Û\95, Ø¨Û\8cشتأر زھ$2 کل.}}",
        "category-article-count-limited": "دومن الذکر {{PLURAL:$1|بلگه هس|$1 بلگه هسن}} د او دسه جریانی.",
        "category-file-count": "{{PLURAL:$2|ای دسه فقط فایلل دۉمنه دارھ.|دۉمن الذکر{{PLURAL:$1|فایل هس|$1 فایلل هسن}} د ای دسه, بیشتر زھ$2 کل.}}",
        "category-file-count-limited": "دومن الذکر {{PLURAL:$1|فایل هس|$1 فایلل هسن}} د او دسه جریانی.",
        "searchbutton": "جۉستأن",
        "go": "رو",
        "searcharticle": "رۉ",
-       "history": "تاریخچھ بلگه",
+       "history": "ڤیرگار ھ بألگە",
        "history_short": "ڤیرگار",
        "updatedmarker": "بروز وابی تا موقع آخرین سیل کردن مو",
        "printableversion": "ڤیرژین سی چاپ",
        "site-rss-feed": "خبرخو RSS سی $1",
        "site-atom-feed": "خأھ ڤأر خۉ Atom سی $1",
        "page-rss-feed": "خبرخو RSS سی «$1»",
-       "page-atom-feed": "خبرخۉ Atom سی «$1»",
+       "page-atom-feed": "خیڤأر Atom سی «$1»",
        "red-link-title": "(بألگە ۉجوٙد نارھ) $1",
        "sort-descending": "مرتب سازی وا صعودی",
        "sort-ascending": "مرتب سازی وا صعودی",
        "anoneditwarning": "<strong>هشدار:</strong> ایشا نۉایته مئنه سیستم. آی پی ایشا سی عۉمۉم قابل رۉیت هی ار اصلاحی بکنیت. ار ایشا <strong>[$1 ورود]</strong> یا <strong>[$2 راس کردن یه حسآۉ]</strong>, اصلاحل ایشا به حسآۉ کارۉری ایشا ھشتھ ایۉان ۉا منفعل حسآۉل دیه..",
        "loginreqlink": "ئۉیدن ۉھ سیستم",
        "newarticletext": "ایشا یه لینک ۉھ یه بلگنه که هنی ۉجود نارنه دنبال کردیته.\nسی راس کردن ای بلگه،نوشتنه مئنه جعبه زیر شرۉع کنیت(بینیتۉ [$1 help page] سی اصلاعات اضافی).\nار ایشا ۉا خطا ایچه هیسیت، ری <strong>back</strong> button مرۉرگر ایشا کلیژ کیت.",
-       "noarticletext": "د Ø­Ø§Ù\84 Ø¬Ø§Ø±Û\8c Ù\85تÙ\86Û\8c Ù\85ئÙ\86Ù\87 Ø§Û\8c Ø¨Ù\84Ú¯Ù\87 Ù\86Û\8cسس.\nاÛ\8cشا Ø§Û\8cترÛ\8cد [[Special:Search/{{PAGENAME}}|جستÙ\86 Ø³Û\8c Ø¹Ù\86Ù\88اÙ\86 Ø§Û\8c Ø¨Ù\84Ú¯Ù\87]] Ù\85ئÙ\86Ù\87 Ø¨Ù\84Ú¯Ù\87 Û\8cÙ\84 Ø¯Û\8cÙ\87.\n<span class=\"plainlinks\">[{{fullurl:{{#Ù\85خصÛ\89ص:Ù\86Ù\85اÛ\8cÙ\87 Û\8cÙ\84}}|بÙ\84Ú¯Ù\87={{FULLPAGENAMEE}}}} Ø¬Ø³ØªÙ\86 Ø³Û\8c Ù\86Ù\85اÛ\8cÙ\84 Ù\85ربÙ\88Ø·], Û\8cا [{{fullurl:{{FULLPAGENAME}}|اÙ\82داÙ\85=اصÙ\84اح}} Ø§ØµÙ\84اح Ú©Û\89 Ø§Û\8c Ø¨Ù\84Ú¯Ù\86Ù\87]</span>.",
+       "noarticletext": "Ø£Ù\84اÙ\86 Ù\85أتÙ\86Û\8c Ù\85ئÙ\86Û\95 Ø¦Û\8c Ø¨Ø£Ù\84Ú¯Û\95 Ù\86Û\8c.\nئÛ\8cشا Ø¦Û\8cتأرÛ\8cد [[Special:Search/{{PAGENAME}}|جÛ\89ستأÙ\86 Ø³Û\8c Ø¹Û\89Ù\86ڤاÙ\86 Ø¦Û\8c Ø¨Ø£Ù\84Ú¯Û\95]] Ù\85ئÙ\86Û\95 Ø¨Ø£Ù\84Ú¯Û\95 Û\8cÙ\84Û\95 Ø¯Û\8cÛ\95.\n<span class=\"plainlinks\">[{{fullurl:{{#Ù\85أخصÙ\88Ù\99ص:Ù\86Û\8cÙ\85اÛ\8cÙ\84}}|بأÙ\84Ú¯Û\95={{FULLPAGENAMEE}}}} Ø¬Û\89ستأÙ\86 Ø³Û\8c Ù\86Û\8cÙ\85اÛ\8cÙ\84 Ù\85أربÙ\88Ù\99Ø·], Û\8cا [{{fullurl:{{FULLPAGENAME}}|ئÛ\8cÙ\82داÙ\85=ئÛ\8cصÙ\84اح}} Ø¦Û\8cصÙ\84اح Ú©Û\89 Ø¦Û\8c Ø¨Ø£Ù\84Ú¯Ù\86Û\95]</span>.",
        "noarticletext-nopermission": "د حال جاری متنی مئنه ای بلگه نیسس.\nایشا ایترید [[Special:Search/{{PAGENAME}}|search for this page title]] مئنه بلگل دیه، یا <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>، ۉلی ایشا نیترید ای بلگنه راس بکنیت.",
        "editing": "درحال اصلاح $1",
        "creating": "راس کردن $1",
        "protectlogpage": "نمایه حفاظت ۉحمایت",
        "namespace": "هۉمدیرأنگل:",
        "invert": "ئینتخاب بأرعأکس بوھ",
-       "tooltip-invert": "اÙ\86تخاب Ú©Û\89 Ø§Û\8c Ø¬Ø¹Ø¨Ù\86Ù\87 Ø³Û\8c Ù\82ائÙ\85 Ú©Ø±Ø¯Ù\86 ØªØºÛ\8cÛ\8cرÙ\84 Ø¨Ù\84Ú¯Ù\84Û\8c Ú©Ù\87 Ù\87Ù\85درÙ\86Ú¯Ù\84Ø´Û\89 Ø§Ù\86تخاب Û\89ابÛ\8cÙ\86\89 Ù\87Ù\85درÙ\86Ú¯Ù\84 Ù\85رتبط Ø§Ø± Ø§Ù\86تخاب Û\89ابین)",
-       "namespace_association": "همدرنگل مرتبط",
-       "tooltip-namespace_association": "اÙ\86تخاب Ú©Ù\88 Ø§Û\8c Ø¬Ø¹Ø¨Ù\86Ù\87 Ø³Û\8cÚ©Ù\87 Ú¯Ù¾ Û\8cا Ù\85Û\89ضÛ\89ع Ù\87Ù\85درÙ\86Ú¯ Ù\85رتبط Û\89ا Ù\87Ù\85درÙ\86Ú¯Ù\84 Ø§Ù\86تخاب Û\89ابÛ\8cÙ\86Ù\87 Ù\82رار Ø¨نی.",
+       "tooltip-invert": "ئÛ\8cÙ\86تخاب Ú©Û\89 Ø¦Û\8c Ø¬Ø£Ú¤Ø£Ù\86Û\95 Ø³Û\8c Ù\82ائÙ\85 Ú©Ø±Ø¯Ù\86 ØªØ£ØºÛ\8cÛ\8cرÙ\84 Ø¨Ù\84Ú¯Ù\84Û\8c Ú©Û\95 Ù\87Ù\85درأÙ\86Ú¯Ù\84Ø´Û\89 Ø¦Û\8cÙ\86تخاب Ú¤Ø§Ø¨Û\8cÙ\86(Ú¤ Ù\87Ù\85دأرÙ\86Ú¯Ù\84 Ù\85Û\89رتأبط Ø§Ø± Ø¦Û\8cÙ\86تخاب Ú¤ابین)",
+       "namespace_association": "هۉمدرأنگل مۉرتأبط",
+       "tooltip-namespace_association": "ئÛ\8cÙ\86تخاب Ú©Û\89 Ø¦Û\8c Ø¬Ø£Ú¤Ø£Ù\86Û\95 Ø³Û\8cÚ©Û\95 Ú¯Ø£Ù¾ Û\8cا Ù\85Û\89ضÙ\88Ù\99ع Ù\87Û\89Ù\85درأÙ\86Ú¯ Ù\85Û\89رتأبط Ú¤Ø§ Ù\87Û\89Ù\85درأÙ\86Ú¯Ù\84 Ø¦Û\8cÙ\86تخاب Ú¤Ø§Ø¨Û\8cÙ\86Û\95 Ù\82رار Ø¨Ø¦نی.",
        "blanknamespace": "(أصلی)",
        "contributions": "{{GENDER:$1|سھمل}} کارۉر",
        "mycontris": "سھمل",
index 09d4ecd..72af342 100644 (file)
        "linksearch-pat": "Meklēt:",
        "linksearch-ns": "Vārdtelpas:",
        "linksearch-ok": "Meklēt",
-       "linksearch-text": "Atbalstītie protokoli: <code>$1</code>",
+       "linksearch-text": "Atbalstītie protokoli: $1",
        "linksearch-line": "$1 ir izveidota saite no $2",
        "listusersfrom": "Parādīt lietotājus sākot ar:",
        "listusers-submit": "Parādīt",
index 46c4e7f..6d892f1 100644 (file)
        "resetpass-abort-generic": "符節不可更",
        "passwordreset": "重設符節",
        "passwordreset-text-one": "慾更符節,填此佇列",
-       "passwordreset-legend": "重設符節",
        "passwordreset-username": "簿名:",
        "passwordreset-domain": "域:",
        "passwordreset-email": "電郵址",
        "nlinks": "$1鏈",
        "nmembers": "$1戶",
        "nrevisions": "$1審",
-       "nviews": "$1閱",
        "nimagelinks": "用以頁有$1",
        "ntransclusions": "用以頁有$1",
        "lonelypages": "孤寡",
        "linksearch-pat": "尋址:",
        "linksearch-ns": "名集:",
        "linksearch-ok": "尋",
-       "linksearch-text": "用似\"*.wikipedia.org\"之萬字。<br />\n援之議:<code>$1</code>",
+       "linksearch-text": "用似\"*.wikipedia.org\"之萬字。<br />\n援之議:$1",
        "linksearch-line": "$1連$2",
        "linksearch-error": "萬字僅用於機之始也。",
        "listusersfrom": "始簿:",
index 7ea0395..6802243 100644 (file)
        "passwordreset": "कूटशब्द फेरसँ बनाउ",
        "passwordreset-text-one": "अपन कूटशब्द रीसेट करवाक लेल इ फारम भरु ।",
        "passwordreset-text-many": "{{PLURAL:$1|ई-पत्रके माध्यमसऽ एकटा अस्थायी कूटशब्द पावैलेल कोनो एकटा डिब्बा भरु ।}}",
-       "passwordreset-legend": "कूटशब्द फेरसँ बनाउ",
        "passwordreset-disabled": "कूटशब्द फेरसँ बनाएब ऐ विकीपर अक्षम कएल अछि।",
        "passwordreset-emaildisabled": "कूटशब्द फेरसँ बनाएब ऐ विकीपर अक्षम कएल अछि।",
        "passwordreset-username": "प्रयोक्तानाम",
        "resettokens": "टोकन रीसेट करी",
        "resettokens-text": "जे स्तोक अहाँके खाता सँ सम्बद्ध किछु विशिष्ट व्यक्तिगत जानकारी प्रदान करएत अछि, अहाँ वोकरा एतए सँ रिसेट कऽ सकएत छी।\n\nयदि अहाँ एकरा गलती सँ केकरो देखा देनए छी वा अहाँ के खाता ह्याक भ गेल अछि तहन अहाँके एकरा रिसेट कऽ देना चाही।",
        "resettokens-no-tokens": "रीसेट करवाक लेल कोनो टोकन नै अछि।",
-       "resettokens-legend": "टोकन रीसेट करी",
        "resettokens-tokens": "टोकन:",
        "resettokens-token-label": "$1 (वर्तमान मूल्य: $2)",
        "resettokens-watchlist-token": "[[Special:Watchlist|अहाँके साकांक्षसूची के पृष्ठसभ में परिवर्तन सभ]] के वेब फिट (Atom/RSS) लेल स्तोक",
        "nmembers": "$1 {{PLURAL:$1|सदस्य|सदस्य सभ}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|प्रयोक्ता|प्रयोक्ता सभ}}",
        "nrevisions": "$1{{PLURAL:$1|संशोधन|संशोधन सभ}}",
-       "nviews": "$1 {{PLURAL:$1|दृश्य|दृश्य सभ}}",
        "nimagelinks": "$1पर प्रयुक्त {{PLURAL:$1|पन्ना|पन्ना सभ}}",
        "ntransclusions": "$1पर प्रयुक्त {{PLURAL:$1|पन्ना|पन्ना सभ}}",
        "specialpage-empty": "ऐ पन्ना लेल कोनो परिणाम नै अछि।",
        "linksearch-pat": "खोज तरीका:",
        "linksearch-ns": "नामस्थान :",
        "linksearch-ok": "ताकू",
-       "linksearch-text": "ब्रह्मास्त्र जेना \"*.wikipedia.org\" प्रयोग कएल जा सकैए।\nसहायक संविद:<code>$1</code> (खोजमे ऐमेसँ कोनो नै जोड़ू)।",
+       "linksearch-text": "ब्रह्मास्त्र जेना \"*.wikipedia.org\" प्रयोग कएल जा सकैए।\nसहायक संविद:$1 (खोजमे ऐमेसँ कोनो नै जोड़ू)।",
        "linksearch-line": "$2 सँ $1 क लागि अछि।",
        "linksearch-error": "निमंत्रकनामक प्रारम्भमे ब्रह्मास्त्र आबि सकैए।",
        "listusersfrom": "प्रयोक्ता प्रदर्शन प्रारम्भ भेल:",
index 2e0ae65..c7740ce 100644 (file)
        "resetpass-wrong-oldpass": "Аф виде ёткопингонь эли тяниень сувама валсь.\nУлема тон полафтыть сувама валце ни эли кучеть вешфкс од ёткопингонь сувама вал кундаманкса.",
        "resetpass-temp-password": "Пингонь сувама валсь:",
        "passwordreset": "Полафтомс сувама валцень",
-       "passwordreset-legend": "Полафтомс сувама валцень",
        "passwordreset-disabled": "Сувама валсь аф полафтови тя викить эса.",
        "passwordreset-username": "Тиить лемоц",
        "passwordreset-domain": "Домен:",
        "nlinks": "$1 {{PLURAL:$1|сюлмафкс|сюлмафкст}}",
        "nmembers": "$1 {{PLURAL:$1|сувси|сувсихть}}",
        "nrevisions": "$1 {{PLURAL:$1|верзие|верзиет}}",
-       "nviews": "$1 {{PLURAL:$1|няфтема|няфтемат}}",
        "specialpage-empty": "Тя информациень коряс мезеге изь мув.",
        "lonelypages": "Уроз лопат",
        "lonelypagestext": "Ся лопатне афи сюлмафт афи сотфт иля лопатнень мархта {{SITENAME}}са.",
        "linksearch-pat": "Вешендема кепотькс:",
        "linksearch-ns": "Лемботмоц:",
        "linksearch-ok": "Вешендемс",
-       "linksearch-text": "Сембекондясти лепне \"*.wikipedia.org\" кондяма ули кода нолдамс тевс.<br />\nКирдеви протоколхне: <code>$1</code>",
+       "linksearch-text": "Сембекондясти лепне \"*.wikipedia.org\" кондяма ули кода нолдамс тевс.<br />\nКирдеви протоколхне: $1",
        "linksearch-line": "$1 сюлмаф $2ста",
        "linksearch-error": "Сембекондясти лепненди ули кода тихтедемс аньцек интернет сюлма лемть ушетксонза.",
        "listusersfrom": "Няфтемс тиихть ушедомс:",
index 1d8ee1f..5da3700 100644 (file)
        "passwordreset": "Famafana ary famerenana ny tenimiafina",
        "passwordreset-text-one": "Fenoy ity fôrmiolera ity mba hamerenana ny tenimiafinao",
        "passwordreset-text-many": "{{PLURAL:$1|Fenoy ny saha mba hahazoanao tenimiafina vonjimaika.}}",
-       "passwordreset-legend": "Famafana ary famerenana ny tenimiafina",
        "passwordreset-disabled": "Tsy nalefa ny fanovana tenimiafina adino eto amin'ity wiki ity.",
        "passwordreset-emaildisabled": "Tsy avela ny fampiasana mailaka eto amin'ity wiki ity.",
        "passwordreset-username": "Anaram-pikambana :",
        "resettokens": "Hamerina ny token",
        "resettokens-text": "Azonao averina eto ny token izay hahafahana mitsidika ny fampahalalana tsy sarababem-bahoaka ao amin'ny kaontinao. Tokony ataonao izany raha voazara tsy fanahy iniana na raha nisy nangalatra ny kaontinao.",
        "resettokens-no-tokens": "Tsy misy token ho averina",
-       "resettokens-legend": "Famerenana ny token",
        "resettokens-tokens": "Token:",
        "resettokens-token-label": "$1 (sanda ankehitriny: $2)",
        "resettokens-watchlist-token": "Token ho an'ny fahna web (Atom/RSS) ho an'ny  [[Special:Watchlist|fanovana ny pejy ao amin'ny lisitry ny pejy arahanao]]",
        "nlinks": "{{PLURAL:$1|rohy|rohy}} $1",
        "nmembers": "{{PLURAL:$1|mpikambana|mpikambana}} $1",
        "nrevisions": "{{PLURAL:$1|fanovana|fanovana}} $1",
-       "nviews": "{{PLURAL:}}Tsidika $1",
        "nimagelinks": "Ampiasain'ny pejy miisa{{PLURAL:}} $1",
        "ntransclusions": "Ampiasaina eo amin'ny pejy miisa $1 {{PLURAL:}}",
        "specialpage-empty": "Tsy misy valiny ho aseho.",
        "linksearch-pat": "Volana tadiavina :",
        "linksearch-ns": "Anaran-tsehatra :",
        "linksearch-ok": "Fikarohana",
-       "linksearch-text": "Azo ampiasaina ny soratra joker toa i « *.wikipedia.org ».\nMila top-level domain ambonimbony kokoa izy ireo, sahala « *.org » <br />\nProtokoly zaka <code>$1</code> aza ampiana ao amin'ny karokao izy ireo.",
+       "linksearch-text": "Azo ampiasaina ny soratra joker toa i « *.wikipedia.org ».\nMila top-level domain ambonimbony kokoa izy ireo, sahala « *.org » <br />\nProtokoly zaka $1 aza ampiana ao amin'ny karokao izy ireo.",
        "linksearch-line": "$1 dia voarohy amin'ny $2",
        "linksearch-error": "Ny soratra joker dia ampiasaina anatin'ny fanombohan'ny anaran-tsehatry ny milina hôte ihany.",
        "listusersfrom": "Haneho ny mpikambana manomboka amin'ny :",
index 5629515..d067374 100644 (file)
        "linksearch-pat": "Услов за пребарување:",
        "linksearch-ns": "Именски простор:",
        "linksearch-ok": "Барај",
-       "linksearch-text": "Може да се користат џокери, како на „*.wikipedia.org“.\nБара барем највисок домен, како на пр. „*.org“.<br />\n{{PLURAL:$2|Поддржан протокол|Поддржани протоколи}}: <code>$1</code> (задава http:// ако не укажете протокол).",
+       "linksearch-text": "Може да се користат џокери, како на „*.wikipedia.org“.\nБара барем највисок домен, како на пр. „*.org“.<br />\n{{PLURAL:$2|Поддржан протокол|Поддржани протоколи}}: $1 (задава http:// ако не укажете протокол).",
        "linksearch-line": "$1 врска во $2",
        "linksearch-error": "Џокер-знаците може да се користат само на почетокот во името на домаќинот.",
        "listusersfrom": "Прикажи корисници почнувајќи од:",
        "pageinfo-robot-index": "Дозволено",
        "pageinfo-robot-noindex": "Недозволено",
        "pageinfo-watchers": "Број на набљудувачи",
-       "pageinfo-visiting-watchers": "Број на набљудувачи на страницата што ги посетуваат скорешните уредувања",
+       "pageinfo-visiting-watchers": "Број на набљудувачи на страницата што ги посетиле скорешните уредувања",
        "pageinfo-few-watchers": "Помалку од $1 {{PLURAL:$1|набљудувач|набљудувачи}}",
        "pageinfo-few-visiting-watchers": "Не се знае дали има набљудувач што ги посетува скорешните уредувања",
        "pageinfo-redirects-name": "Пренасочувања кон страницата",
index 610119b..8aa3bd1 100644 (file)
        "linksearch-pat": "തിരച്ചിലിന്റെ മാതൃക:",
        "linksearch-ns": "നാമമേഖല:",
        "linksearch-ok": "തിരയൂ",
-       "linksearch-text": "\"*.wikipedia.org\" പോലുള്ള വൈൽഡ് കാർഡുകൾ ഉപയോഗിക്കാവുന്നതാണ്‌.\nകുറഞ്ഞത് \"*.org\" പോലുള്ള ഒരു ടോപ്-ലെവൽ ഡൊമൈൻ എങ്കിലും ഉണ്ടായിരിക്കണം.<br />\nപിന്തുണയുള്ള {{PLURAL:$2|പ്രോട്ടോക്കോൾ|പ്രോട്ടോക്കോളുകൾ}}: <code>$1</code> (ഒന്നും നൽകിയില്ലെങ്കിൽ സ്വതേയുള്ള http:// ഉപയോഗിക്കുന്നതാണ്).",
+       "linksearch-text": "\"*.wikipedia.org\" പോലുള്ള വൈൽഡ് കാർഡുകൾ ഉപയോഗിക്കാവുന്നതാണ്‌.\nകുറഞ്ഞത് \"*.org\" പോലുള്ള ഒരു ടോപ്-ലെവൽ ഡൊമൈൻ എങ്കിലും ഉണ്ടായിരിക്കണം.<br />\nപിന്തുണയുള്ള {{PLURAL:$2|പ്രോട്ടോക്കോൾ|പ്രോട്ടോക്കോളുകൾ}}: $1 (ഒന്നും നൽകിയില്ലെങ്കിൽ സ്വതേയുള്ള http:// ഉപയോഗിക്കുന്നതാണ്).",
        "linksearch-line": "$1,  $2ൽ നിന്നു കണ്ണി ചേർക്കപ്പെട്ടിരിക്കുന്നു.",
        "linksearch-error": "ഹോസ്റ്റ്നെയിമിന്റെ തുടക്കത്തിൽ മാത്രമേ വൈൽഡ് കാർഡുകൾ വരാവൂ.",
        "listusersfrom": "ഇങ്ങനെ തുടങ്ങുന്ന ഉപയോക്താക്കളെ പ്രദർശിപ്പിക്കുക:",
index 82d1415..60f05c0 100644 (file)
        "passwordreset": "Нууц үгийг сэргээх",
        "passwordreset-text-one": "Энэ формыг бөглөснөөр түр ашиглах нууц үгийг емайлруу илгээнэ.",
        "passwordreset-text-many": "{{PLURAL:$1|Энэ талбарыг бөглөж түр ашиглах нууц үгээ емайлээр авна.}}",
-       "passwordreset-legend": "Нууц үгээ сэргээх",
        "passwordreset-disabled": "Энэ вики-д нууц үгийг сэргээх боломжгүй байна.",
        "passwordreset-emaildisabled": "Энэ викид емайл ашиглах боломжгүй.",
        "passwordreset-username": "Хэрэглэгчийн нэр:",
        "changeemail-throttled": "Дэндүү олон амжилтгүй нэвтрэх оролдлого хийсэн байна.\n$1 хүлээгээ ахин үзнэ үү.",
        "resettokens": "Токен ресет хийх",
        "resettokens-no-tokens": "Ресет хийх токен ална.",
-       "resettokens-legend": "Токен ресет хийх",
        "resettokens-tokens": "Токен:",
        "resettokens-token-label": "$1 (одоогийн утга: $2)",
        "resettokens-done": "Токен ресет хийлээ.",
        "randompage-nopages": "Дараах {{PLURAL:$2|нэрний зайнд|нэрний зайнд}} хуудас байхгүй байна : $1. \\",
        "randomincategory-category": "Ангилал:",
        "randomincategory-legend": "Ангилалд багтсан дурын хуудас",
+       "randomincategory-submit": "Явах",
        "randomredirect": "Санамсаргүй чиглүүлэгч",
        "randomredirect-nopages": "\"$1\" нэрний зайд чиглүүлэгч байхгүй байна.",
        "statistics": "Статистик мэдээлэл",
        "linksearch-pat": "Хэв маягийг хайх:",
        "linksearch-ns": "Хуудсын төрөл:",
        "linksearch-ok": "Хайх",
-       "linksearch-text": "\"*.wikipedia.org\" зэрэг орлуулагч тэмдэгт хэрэглэх боломжтой.<br />\nДор хаяж дээд түвшиний домайн хэрэгтэй байна, жишээ нь \"*.org\".<br />\nДэмжигдэх протоколууд : <code>$1</code> (эдгээрээс алийг нь ч хайлтад бүү оруул).",
+       "linksearch-text": "\"*.wikipedia.org\" зэрэг орлуулагч тэмдэгт хэрэглэх боломжтой.<br />\nДор хаяж дээд түвшиний домайн хэрэгтэй байна, жишээ нь \"*.org\".<br />\nДэмжигдэх протоколууд : $1 (эдгээрээс алийг нь ч хайлтад бүү оруул).",
        "linksearch-line": "$1 нь $2-с холбогдсон",
        "linksearch-error": "Орлуулагч тэмдэгт хост нэрийн эхлэлд л гарах боломжтой.",
        "listusersfrom": "Хамгийн эхэлж харуулах хэрэглэгч:",
index 0572e0d..18a805d 100644 (file)
        "linksearch-pat": "शोधण्याचा मजकूर:",
        "linksearch-ns": "नामविश्व:",
        "linksearch-ok": "शोध",
-       "linksearch-text": "\"*.wikipedia.org\" सारखी वाईल्डकार्ड्स वापरायला परवानगी आहे.\nकिमान एक उच्च-स्तरिय डोमेन,उदा.- \"*.org\".<br />गरजेचे आहे.\nसहाय्याचे प्रोटोकॉल्स {{PLURAL:$2|protocol|protocols}}:  \n <code>$1</code>(जर कोणतेही प्रोटोकॉल्स नमूद केल्या गेले नसतील तर http://)हा डिफॉल्ट आहे.",
+       "linksearch-text": "\"*.wikipedia.org\" सारखी वाईल्डकार्ड्स वापरायला परवानगी आहे.\nकिमान एक उच्च-स्तरिय डोमेन,उदा.- \"*.org\".<br />गरजेचे आहे.\nसहाय्याचे प्रोटोकॉल्स {{PLURAL:$2|protocol|protocols}}:  \n $1(जर कोणतेही प्रोटोकॉल्स नमूद केल्या गेले नसतील तर http://)हा डिफॉल्ट आहे.",
        "linksearch-line": "$2 मधून $1 जोडलेले आहे",
        "linksearch-error": "वाईल्डकार्ड्स होस्ट नावाच्या फक्त सुरवातीलाच येऊ शकतात.",
        "listusersfrom": "पुढील शब्दापासून सुरू होणारे सदस्य दाखवा:",
index d208e07..19d1089 100644 (file)
        "passwordreset": "Set semula kata laluan",
        "passwordreset-text-one": "Lengkapkan borang ini untuk mengeset semula kata laluan anda.",
        "passwordreset-text-many": "{{PLURAL:$1|Isi salah satu ruangan berikut untuk menerima kata laluan sementara melalui e-mel.}}",
-       "passwordreset-legend": "Set semula kata laluan",
        "passwordreset-disabled": "Ciri set semula kata laluan telah dimatikan di wiki ini.",
        "passwordreset-emaildisabled": "Ciri-ciri e-mel telah dipadamkan di wiki ini.",
        "passwordreset-username": "Nama pengguna:",
        "resettokens": "Set semula token",
        "resettokens-text": "Anda boleh mengeset semula token yang membolehkan akses kepada data peribadi tertentu yang berkaitan dengan akaun anda di sini.\n\nAnda harus melakukannya jika anda tanpa sengaja mengongsinya dengan sesiapa ataupun akaun anda telah dikompromi.",
        "resettokens-no-tokens": "Tiada token untuk diset semula.",
-       "resettokens-legend": "Set semula token",
        "resettokens-tokens": "Token:",
        "resettokens-token-label": "$1 (nilai semasa: $2)",
        "resettokens-watchlist-token": "Token untuk suapan sesawang (Atom/RSS) bagi [[Special:Watchlist|perubahan pada halaman dalam senarai pantau anda]]",
        "randomincategory-nopages": "Tiada halaman di [[:Category:$1]].",
        "randomincategory-category": "Kategori:",
        "randomincategory-legend": "Laman rawak dalam kategori",
+       "randomincategory-submit": "Pergi",
        "randomredirect": "Lencongan rawak",
        "randomredirect-nopages": "Tiada lencongan dalam ruang nama \"$1\".",
        "statistics": "Statistik",
        "nmembers": "$1 ahli",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|ahli}}",
        "nrevisions": "$1 semakan",
-       "nviews": "Dilihat $1 kali",
        "nimagelinks": "Digunakan pada {{PLURAL:$1|sebuah|$1 buah}} laman",
        "ntransclusions": "digunakan pada {{PLURAL:$1|sebuah|$1 buah}} laman",
        "specialpage-empty": "Tiada keputusan bagi laporan ini.",
        "linksearch-pat": "Corak carian:",
        "linksearch-ns": "Ruang nama:",
        "linksearch-ok": "Cari",
-       "linksearch-text": "Kad bebas seperti \"*.wikipedia.org\" dibenarkan.<br />\nMemerlukan sekurang-kurangnya satu domain peringkat tinggi, cth. \"*.org\".<br />\n{{PLURAL:$2|Protokol|Protokol-protokol}} yang disokong: <code>$1</code> (menjadi http:// jika tiada protokol dinyatakan).",
+       "linksearch-text": "Kad bebas seperti \"*.wikipedia.org\" dibenarkan.<br />\nMemerlukan sekurang-kurangnya satu domain peringkat tinggi, cth. \"*.org\".<br />\n{{PLURAL:$2|Protokol|Protokol-protokol}} yang disokong: $1 (menjadi http:// jika tiada protokol dinyatakan).",
        "linksearch-line": "$1 dipaut dari $2",
        "linksearch-error": "Kad bebas hanya boleh digunakan pada permulaan nama hos.",
        "listusersfrom": "Tunjukkan pengguna bermula pada:",
        "tooltip-pt-logout": "Log keluar",
        "tooltip-pt-createaccount": "Anda digalakkan untuk membuka akaun dan log masuk; namun begitu ianya tidak diwajibkan",
        "tooltip-ca-talk": "Perbincangan mengenai laman kandungan",
-       "tooltip-ca-edit": "Anda boleh menyunting laman ini. Sila tekan butang 'pralihat' terlebih dahulu sebelum menyimpan.",
+       "tooltip-ca-edit": "Sunting laman ini",
        "tooltip-ca-addsection": "Buka bahagian baru",
        "tooltip-ca-viewsource": "Laman ini dilindungi. Anda boleh melihat sumbernya.",
        "tooltip-ca-history": "Versi-versi terdahulu bagi laman ini.",
index 28c3fe8..3264963 100644 (file)
        "passwordreset": "Irrisettja l-password",
        "passwordreset-text-one": "Imla din il-formola sabiex tirrisettja l-password.",
        "passwordreset-text-many": "{{PLURAL:$1|Imla wieħed mill-oqsma biex tirċievi password temporanja permezz ta' ittra elettronika.}}",
-       "passwordreset-legend": "Irrisettja l-password",
        "passwordreset-disabled": "L-irrisettjar tal-password fuq din il-wiki ġie diżattivat.",
        "passwordreset-emaildisabled": "Karatteristiċi tal-posta elettronika ġew diżattivati fuq din il-wiki.",
        "passwordreset-username": "Isem l-utent:",
        "changeemail-throttled": "Ippruvajt tidħol wisq drabi.\nJekk jogħġbok stenna $1 qabel ma terġa' tipprova.",
        "resettokens": "Irrisettja t-tokens",
        "resettokens-no-tokens": "M'hemm l-ebda ''token'' biex jerġa' jiġi ssettjat.",
-       "resettokens-legend": "Irrisettja t-''tokens''",
        "resettokens-tokens": "''Tokens'':",
        "resettokens-token-label": "$1 (valur attwali: $2)",
        "bold_sample": "Tipa ħoxna",
        "randomincategory-nopages": "M'hemm l-ebda paġna fil-kategorija [[:Category:$1|$1]].",
        "randomincategory-category": "Kategorija:",
        "randomincategory-legend": "Paġna kwalunkwe fil-kategorija",
+       "randomincategory-submit": "Mur",
        "randomredirect": "Rindirizz kwalunkwe",
        "randomredirect-nopages": "M'hawnx riindirizzi fl-ispazju tal-isem \"$1\".",
        "statistics": "Statistika",
        "nlinks": "{{PLURAL:$1|link|$1 links}}",
        "nmembers": "$1 {{PLURAL:$1|membru|membri}}",
        "nrevisions": "{{PLURAL:$1|reviżjoni|$1 reviżjonijiet}}",
-       "nviews": "{{PLURAL:$1|visita|$1 visiti}}",
        "nimagelinks": "Użat fuq $1 {{PLURAL:$1|paġna|paġni}}",
        "ntransclusions": "użat fuq $1 {{PLURAL:$1|paġna|paġni}}",
        "specialpage-empty": "Dan ir-rapport ma fih l-ebda riżultat.",
        "linksearch-pat": "Mudell ta' tfittxija:",
        "linksearch-ns": "Spazju tal-ismijiet:",
        "linksearch-ok": "Fittex",
-       "linksearch-text": "Tista' tagħmel użu minn metakarattri, per eżempju \"*.wikipedia.org\".<br />\nHuwa neċessarju minn tal-inqas dominju tal-ewwel livell, per eżempju \"*.org\".<br />\nProtokolli aċċettati: <code>$1</code> (jekk ma jiġi speċifikat l-ebda protokol, dan jiġi awtomatikament definit bħala http://).",
+       "linksearch-text": "Tista' tagħmel użu minn metakarattri, per eżempju \"*.wikipedia.org\".<br />\nHuwa neċessarju minn tal-inqas dominju tal-ewwel livell, per eżempju \"*.org\".<br />\nProtokolli aċċettati: $1 (jekk ma jiġi speċifikat l-ebda protokol, dan jiġi awtomatikament definit bħala http://).",
        "linksearch-line": "$1 hija marbuta mill-paġna $2",
        "linksearch-error": "Il-metakarattri jistgħu jintużaw biss fil-bidu tal-indirizz.",
        "listusersfrom": "Uri utenti li jibdew minn:",
index 5708727..e625bfc 100644 (file)
        "otherlanguages": "بقیه زوون‌ئون",
        "redirectedfrom": "($1 جه بموئه)",
        "redirectpagesub": "گجگی‌بَیتـِن",
+       "redirectto": "دکشی‌بیّه به:",
        "lastmodifiedat": "این صفحه ره آخرین بار این گادر دچینه:\n$2، $1",
        "viewcount": "این صفحه {{PLURAL:$1|ات|$1}} بار بدی‌یه بیّه",
        "protectedpage": "صفحه محافظت‌بَیی",
        "userlogin-yourname-ph": "شه کاروری نوم ره بنویسین",
        "yourpassword": "شمه پسورد",
        "userlogin-yourpassword": "رمز",
+       "userlogin-yourpassword-ph": "اتا پسورد باوّین",
+       "createacct-yourpassword-ph": "اتا پسورد باوّین",
        "yourpasswordagain": "پسورد ره دِباره بنویس",
+       "createacct-yourpasswordagain": "پسورد ره دِباره باوّین",
+       "createacct-yourpasswordagain-ph": "پسورد ره دِباره باوّین",
        "remembermypassword": "مه رمز ره (تا حداکثر $1 {{PLURAL:$1|روز|روز}}) این مرورگر سر یاد نکان",
+       "userlogin-remembermypassword": "مه ره سایت دله دار",
        "yourdomainname": "شمه کاروری نوم",
        "login": "دله بوردن",
        "nav-login-createaccount": "دله بوردن / عضو بیّن",
        "logout": "دربوردن",
        "userlogout": "دربوردن",
        "notloggedin": "سیستم ره دله نیه مونی",
+       "userlogin-noaccount": "عضو نی؟",
+       "userlogin-joinproject": "{{SITENAME}} دله ثبت‌نوم هاکنین!",
        "nologin": "عضو نی؟ $1.",
        "nologinlink": "عضو بواشین",
        "createaccount": "ترنه حساب وا هکاردن",
        "gotaccount": "عضو هسنی؟ $1.",
        "gotaccountlink": "بورین دله",
        "userlogin-resetlink": "دله بموئن ِجزئیات ره یاد هاکردی؟",
+       "userlogin-resetpassword-link": "شه پسوُرد ره یاد بکاردنی؟",
+       "userlogin-helplink2": "لاگین وسّه کومِک بَییتن",
+       "createacct-emailoptional": "ایمیل (اختیاری)",
+       "createacct-email-ph": "شه ایمیل ره باوّین",
        "createaccountmail": "ایمیل جه",
        "createaccountreason": "دلیل:",
+       "createacct-captcha": "امنیتی چک",
+       "createacct-imgcaptcha-ph": "این بنویشته‌یی که بالا وینّی ره بنویسین",
+       "createacct-submit": "شه اکانت ره بسازین",
+       "createacct-benefit-heading": "{{SITENAME}} ره شِمه واری آدِمون بِساتنه",
+       "createacct-benefit-body1": "{{PLURAL:$1|دچی‌ین}}",
+       "createacct-benefit-body2": "{{PLURAL:$1|صفحه}}",
+       "createacct-benefit-body3": "{{PLURAL:$1|کارور}} اخیر",
        "badretype": "دِتا پسوردی که بنویشتی اتجور نینه",
        "userexists": "کاروری نومی که بخاستنی وجود داشته.\nخواهشأ ات نوم دیگه انتخاب هاکنین.",
        "loginerror": "دله نشی‌یه",
        "accountcreatedtext": "کاروری نوم، $1 بساته بیّه.",
        "loginlanguagelabel": "زوون: $1",
        "pt-login": "دله بموئن",
+       "pt-login-button": "دله بموئن",
        "pt-createaccount": "عضو بواشین",
        "pt-userlogout": "دربوردن",
        "newpassword": "نو پسورد:",
+       "passwordreset": "پسورد ِتغییر",
        "passwordreset-username": "کاروری نوم:",
        "passwordreset-domain": "دامنه:",
        "passwordreset-capture": "گت ایمیل سِراق هدائه بَواشه؟",
        "accmailtitle": "پسورد ره برسِنیمی.",
        "accmailtext": "اتا تصادفی پسور بساته بیّه [[User talk:$1|$1]] وسّه $2 سَر برسِنی‌یه بیّه.\n\nاین ترنه کاروری حساب ِپسور، سامانه دله بموئن په، ''[[Special:ChangePassword|ات‌تی]]'' بتونده عوض بوو.",
        "newarticle": "(ترنه)",
+       "newarticletext": "شما اتا لینک ره دمبال هاکردنی و اتا صفحه جه برسینی که هنتا وجود ندانه.\nصفحه ره بساتن وسّه، این کادر دله بنویسین. (ویشته دونستن وسه [$1 راهنما صفحه] ره هارشین)\nاگه اشتباهی این صفحه جه سَر دَربیاردنی، «back» دُکمه ره جِِق هادین.",
        "noarticletext": "این صفحه اسا هیچ بنویشته‌یی ندانّه.\nشما بتونّی دیگه صفحه‌ئون دله [[Special:Search/{{PAGENAME}}|این صفحه ره چرخه‌تو هاکنین]]،\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} سیاهه‌ئون ره چرخه‌تو هاکردن]،\nیا [{{fullurl:{{FULLPAGENAME}}|action=edit}} این صفحه ره دَچینین]</span>.",
        "noarticletext-nopermission": "این صفحه اسا هیچ بنویشته‌یی ندانّه.\nشما بتونّی دیگه صفحه‌ئون دله [[Special:Search/{{PAGENAME}}|این صفحه ره چرخه‌تو هاکنی]]،\nیا <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} سیاهه‌ئون ره چرخه‌تو هاکنی]</span> ولی اجازه ندانّی صفحه ره بسازی.",
        "blocked-notice-logextract": "دسترسی اینتا کارور الآن دوستوئه.\nآخرین مورد سیاهه قطع دسترسی زیر بموئه:",
        "previewnote": "شِمه یاد بوئه که اینتا اتا پیش‌نمایِش هسه. \n شِمه دگاردسته‌ئون جانـَکِته که و‌نه، ونه اِسا ذخیره‌بیّـِن دوکمه ره بَزنین!",
        "editing": "درحال  $1 ره دچی‌ین",
+       "creating": "$1 ِبساتن",
        "editingsection": "دچی‌ین $1 (تیکه)",
        "editingcomment": "$1 دچی‌ین(نو تیکه)",
        "yourtext": "شمه بنویشته",
        "templatesusedpreview": "{{PLURAL:$1|شابلون|شابلونای}} استفاده بَیی این پیش‌نمایش دله:",
        "template-protected": "(زلفِن بزوئه)",
        "template-semiprotected": "(پچوک زلفن بزه)",
+       "hiddencategories": "این صفحه {{PLURAL:$1|اتا مخفی رج|$1تا مخفی رج}} دله دره:",
        "permissionserrorstext-withaction": "ته اجازهٔ $2 ره به {{PLURAL:$1|دلیل|دلایل}} رو به رو ندانی:",
        "recreate-moveddeleted-warn": "'''هشدار: ته دری اتا صفحه ره نویسنی که قبلا پاک بیّه.'''\n\nشه فکر هاکن که اینتا کار که دری کانده درسته یا نا؟\nاینجه توندی پاک بیی صفحه ره هارشی:",
        "moveddeleted-notice": "اینتا صفحه پاک بی بی‌یه\nاینجه بتوندی قبلی صفحه که پاک بیّه ره هارشی",
        "log-fulllog": "بدی‌ین سیاهه کامل",
        "edit-gone-missing": ".شما نتوندی صفحه ره دباره هارشی\nاحتمالا صفحه پاک بیه.",
        "edit-conflict": "دِ نفر با هم درنه نویسنه.\nاتا ته هستی.",
+       "currentrev-asof": "اِسایی نسخه تا $1",
        "revisionasof": "دچی‌یه‌ئونی که $1 جا دکتنه",
        "previousrevision": "→ پیشی دگاردسته‌ئون",
+       "nextrevision": "جدیدته نسخه ←",
+       "currentrevisionlink": "اِسایی نسخه ره هارشی‌ین",
        "cur": "إسا",
        "last": "تاریخچه",
        "histfirst": "کـوهـنـه تـریـن",
        "revdel-restore": "دیاری تغییر هدائن",
        "mergehistory": "صفحه‌ئون تاریخچه ره اتا هاکردن",
        "revertmerge": "سِوا هاکردن",
+       "difference-title": "$1: نسخه‌ئون ِفرق",
        "lineno": "بند  $1:",
        "editundo": "واچی‌ین",
+       "diff-multi-sameuser": "({{PLURAL:$1|اتا میونی نسخه|$1تا میونی نسخه}}ِ همین کارور جه سِراق هِدا نیّه.)",
        "searchresults": "بچرخستن ِجوابون",
        "searchresults-title": "چرخه‌ئوی نتیجه «$1» وسّه",
        "prevn": "پـیـشـیـن {{PLURAL:$1|$1}}",
        "minoreditletter": "جز",
        "newpageletter": "نو",
        "boteditletter": "ربات",
+       "rc-change-size-new": "$1 {{PLURAL:$1|بایت}} پس از تغییر",
        "newsectionsummary": "/* $1 */ نو تیکه",
        "recentchangeslinked": "واری دأچیـه‌ن‌ئون",
        "recentchangeslinked-feed": "واری دچی‌یه‌ئون",
        "move": "دکش هاکردن",
        "pager-newer-n": "{{PLURAL:$1|أتـا نـه‌ته‌ر|$1 تـا نـه‌ته‌ر}}",
        "pager-older-n": "{{PLURAL:$1|أتـا کـوهـنـه‌ته‌ر|$1 تـا کوهـنـه‌ته‌ر}}",
+       "booksources": "کتابی منابع",
        "booksources-search-legend": "بگردستن منابع کتاب",
+       "booksources-search": "چرخه‌تو",
        "booksources-text": "زیر فهرستی از لینکا به وبگاه‌ئون دیگه دره که کتاب‌ئون نو و دست دوم روشنّه و ممکنه اطلاعات ویشتری راجع به کتاب مورد نظر دارِن:",
        "specialloguserlabel": "کارور:",
        "log": "سیاهه‌ها",
        "mycontris": "مه کایری‌ئون",
        "contribsub2": "$1 ($2) وه‌سه",
        "uctop": "(سر)",
+       "month": "این ماه (و پیش از اون) دله:",
+       "year": "این سال (و پیش از اون) دله:",
        "sp-contributions-newbies": "نـه وا بـأیـه ئـه‌کـانـت‌ئون دأچـیـه‌ن‌ئون ره نـه‌شـون هـاده",
        "sp-contributions-talk": "گپ",
        "sp-contributions-username": "IP نـه‌شـونـی یا کـاروری‌نوم",
        "whatlinkshere-title": "وألـگ‌ئونی که \"$1\" ره لـیـنک هه‌دانه",
        "whatlinkshere-page": "صفحه:",
        "linkshere": "اینان صفحه‌ئون به '''[[:$1]]''' لینک هدانه:",
+       "isredirect": "دکشی‌ین صفحه",
+       "istemplate": "$1 تراگنجانشون",
+       "isimage": "فایل ِلینک",
        "whatlinkshere-prev": "{{PLURAL:$1|پـیـشـیـن|$1 تـای پـیـشـیـن}}",
        "whatlinkshere-next": "{{PLURAL:$1|پَس|$1 تا پَس‌تر}}",
        "whatlinkshere-links": "← لـیـنـک‌ئون",
        "newtitle": "ترنه نوم:",
        "movepage-moved": "'''ای «$1» ولـگ،  بورده «$2» ره.'''",
        "movetalk": "«گپ» صفحه هم، اگه وانه، بوره.",
+       "movelogpage": "دکشی‌ین ِسیاهه",
        "revertmove": "واچـیـه‌ن",
        "delete_and_move_confirm": "أره، پاک هاکه‌ن وه ره",
        "export": "دأیابأبه‌رده‌ن ولـگ‌ئون",
        "tooltip-ca-viewsource": "این صفحه ره نتوندی دَچینی.\nشِما بِتوندی ونه منبع ره هارشی.",
        "tooltip-ca-history": "کهنه دگاردسته‌ئونی که این صفحه دله دکته",
        "tooltip-ca-delete": "این صفحه ره پاک هاکردن",
+       "tooltip-ca-move": "دکشی‌ین اینتا صفحه",
        "tooltip-ca-watch": "این صفحه ره شه دمبال‌هاکردن لیست دله بی‌یشتن",
        "tooltip-search": "{{SITENAME}} ره چرخه‌تو",
        "tooltip-search-go": "بـور اتـا ولـگـی کـه وه‌نـه نـوم هـأمـیـنـتـا بـوئـه",
        "tooltip-ca-nstab-user": "کاروری صفحه ره بَدی‌ین",
        "tooltip-ca-nstab-media": "مدیا صفحه هارشی‌ین",
        "tooltip-ca-nstab-special": "اینتا اتا شا صفحه هسته که شِما نتوندی وه ره دچینی",
+       "tooltip-ca-nstab-project": "پروژه‌ی ِصفحه ره بدی‌ین",
        "tooltip-ca-nstab-image": "عکس ِصفحه ره بدی‌ین",
        "tooltip-ca-nstab-template": "شـابـلـون بـأویـنـه‌ن",
        "tooltip-ca-nstab-category": "رج ره بدی‌ین",
        "nextdiff": "ته‌رنه دأچیه‌ن ←",
        "thumbsize": "أنـگـوسـی گأتی:",
        "file-info-size": "$1 × $2 پـیـکـسه‌ل, فـایـل گـأتـی: $3, MIME مـونـد: $4",
+       "file-nohires": "ویشته رزولیشن ندانه.",
+       "svg-long-desc": "اس‌وی‌جی ِپرونده، ابعاد <span dir=\"ltr\">$1 × $2</span> پیکسل جه، پرونده قایده: $3",
        "show-big-image": "اصلی پرونده",
        "show-big-image-preview": "این پیش‌-پیش سِراق هدائن ِقایده: $1.",
        "show-big-image-other": "دیگه {{PLURAL:$2|کیفیت|کیفیتون}}: $1.",
        "video-dims": "$1, $2×$3",
        "metadata": "متادیتا",
        "metadata-help": "این پرونده اتسری اضافه اطلاعات دانه که احتمالاً دیجیتال دوربین یا دیگه تغییرکَرون اضافه هاکردنه. اگه پرونده اولیه حالت جه تغییر هاکرد بائه، ممکن هسته که توضیحات تکمیل نَی‌بائِن.",
+       "metadata-fields": "متادیتا همیشه سِراق هِدا وانه ولی دیگه اطلاعات وقتی جدول وا بائه، سِراق هِدا وانّه.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "exif-orientation": "جهت",
        "exif-xresolution": "افقی رزولویشن",
        "exif-yresolution": "عمودی رزولویشن",
        "tag-filter": "[[Special:Tags|برچسبون]] ِفیلتر:",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|برچسب|برچسبون}}]]: $2)",
        "logentry-delete-delete": "$1 صفحهٔ $3 ره {{GENDER:$2|حذف هاکرده}}",
+       "logentry-move-move": "کارور $1، $3 ِصفحه ره {{GENDER:$2|دَکشی‌یه}} $4 دله",
        "logentry-move-move_redir-noredirect": "$1 ، $3 ره بدون اینکه مسیر تغییری درس بوه به $4 که مسیر تغییر بیه منتقل هاکرده",
        "logentry-newusers-newusers": "$1  بساتن اتا حساب کاروری",
        "logentry-newusers-create": "$1 کاروری حساب {{GENDER:$2|بساته بیّه}}",
index 295f11f..9adb0e1 100644 (file)
        "linksearch-pat": "Ascìa pe' mudello 'e ricerca:",
        "linksearch-ns": "Namespace:",
        "linksearch-ok": "Truova",
-       "linksearch-text": "'E wildcard cumm'a \"*.wikipedia.org\" ponno essere ausate.<br />\nCe vulesse minimo nu dominio d'auto livello, p'esempio \"*.org\". <br />\n{{PLURAL:$2|Prutucolle}} suppurtate: <code>$1</code> ('o valore 'e bbase è http:// si 'o protocollo nun è stato specificato).",
+       "linksearch-text": "'E wildcard cumm'a \"*.wikipedia.org\" ponno essere ausate.<br />\nCe vulesse minimo nu dominio d'auto livello, p'esempio \"*.org\". <br />\n{{PLURAL:$2|Prutucolle}} suppurtate: $1 ('o valore 'e bbase è http:// si 'o protocollo nun è stato specificato).",
        "linksearch-line": "$1 presente dint'â paggena $2",
        "linksearch-error": "'E wildcard ponno essere ausate sulamente a l'inizio d' 'o hostname.",
        "listusersfrom": "Fà vedè l'utente partenno 'a:",
index 9543827..0c512d6 100644 (file)
        "badtitletext": "Den ønskede tittelen var ugyldig, tom eller feilaktig lenket fra en annen wiki.\nDen inneholder kanskje ett eller flere tegn som ikke kan brukes i titler.",
        "title-invalid-empty": "Den forespurte sidetittelen er tom eller inneholder bare navnet til et navnerom.",
        "title-invalid-utf8": "Den forespurte sidetittelen inneholder en ugyldig UTF-8-sekvens.",
-       "title-invalid-interwiki": "Tittel inneholder en interwiki-lenke",
+       "title-invalid-interwiki": "Den ønskede sidetittel inneholder en interwiki-link som ikke kan brukes i titler.",
        "title-invalid-talk-namespace": "Den forespurte sidetittelen refererer til en diskusjonsside som ikke kan eksistere.",
        "title-invalid-characters": "Den forespurte sidetittelen inneholder ugyldige tegn: «$1».",
        "title-invalid-relative": "Tittel har relativ sti. Relative sidetitler (./, ../) er ugyldige fordi de ofte vil være unåelige når de blir håndtert av brukerens nettleser.",
        "title-invalid-magic-tilde": "Den ønskede sidetittelen inneholder en ugyldig magisk tildesekvens (<nowiki>~~~</nowiki>).",
-       "title-invalid-too-long": "Den ønskede sidetittelen er for lang. Den kan ikke være lengre enn $1 bytes i UTF-8-koding.",
+       "title-invalid-too-long": "Den ønskede sidetittelen er for lang. Den kan ikke være lengre enn $1 {{PLURAL:$1|byte|bytes}} med UTF-8-koding.",
        "title-invalid-leading-colon": "Den ønskede sidetittelen inneholder et ugyldig kolon i starten.",
        "perfcached": "Følgende data er en tidligere kopi og ikke nødvendigvis den siste versjonen i databasen. Maksimalt {{PLURAL:$1|ett resultat|$1 resultater}} er {{PLURAL:$1|tilgjengelig|tilgjengelige}} som tidligere kopier.",
        "perfcachedts": "Listen ble sist oppdatert $1. Maksimalt {{PLURAL:$4|ett resultat|$4 resultater}} vises.",
        "creating": "Oppretter $1",
        "editingsection": "Redigerer $1 (avsnitt)",
        "editingcomment": "Redigerer $1 (ny seksjon)",
-       "editconflict": "Endringene dine kunne ikke lagres på grunn av en redigeringskonflikt. Vil {{GENDER:|du}} løse konflikten manuelt?",
+       "editconflict": "Redigeringkonflikt: $1",
        "explainconflict": "Noen andre har endret teksten siden du begynte å redigere.\nDen øverste boksen inneholder den nåværende teksten.\nDine endringer vises i den nederste boksen.\nDu er nødt til å flette dine endringer sammen med den nåværende teksten.\n'''Kun''' teksten i den øverste tekstboksen blir lagret når du trykker «{{int:savearticle}}».",
        "yourtext": "Din tekst",
        "storedversion": "Den lagrede versjonen",
        "yourdiff": "Forskjeller",
        "copyrightwarning": "Merk at alle bidrag til {{SITENAME}} anses som frigitt under $2 (se $1 for detaljer).\nOm du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.<br />\nDu lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.\n'''Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!'''",
        "copyrightwarning2": "Vennligst merk at alle bidrag til {{SITENAME}} kan bli redigert, endret eller fjernet av andre bidragsytere.\nOm du ikke vil at dine bidrag skal kunne redigeres fritt, ikke legg det til her.<br />\nDu lover også at du har skrevet dette selv, eller kopiert det fra en ressurs som er i offentlig eie eller en lignende fri ressurs (se $1 for detaljer).\n'''Ikke legg til opphavsrettsbeskyttet materiale uten tillatelse!'''",
+       "editpage-cannot-use-custom-model": "Innholdsmodellen for denne siden kan ikke endres.",
        "longpageerror": "'''Feil: Teksten du ønsker å lagre er {{PLURAL:$1|én kilobyte|$1 kilobyte}} stor. Dette er større enn det tillatte maksimum på {{PLURAL:$2|én kilobyte|$2 kilobyte}}.'''\nDen kan ikke lagres.",
        "readonlywarning": "'''ADVARSEL: Databasen er låst på grunn av vedlikehold,\nså du kan ikke lagre dine endringer akkurat nå. Det kan være en god idé å\nkopiere teksten din til en tekstfil, så du kan lagre den til senere.'''\n\nSystemadministratoren som låste databasen oppga følgende årsak: $1",
        "protectedpagewarning": "'''Advarsel: Denne siden har blitt låst slik at kun brukere med administratorrettigheter kan redigere den.'''\nDet siste loggelementet er oppgitt under som referanse:",
        "content-model-css": "CSS",
        "content-json-empty-object": "Tomt objekt",
        "content-json-empty-array": "Tom matrise",
+       "duplicate-args-warning": "<strong>Advarsel:</strong> [[:$1]] kaller [[:$2]] med flere enn en verdi for \"$3\"-parameteren. Bare den sist angitte verdien vil brukes.",
        "duplicate-args-category": "Sider med like argumenter i malkall",
        "duplicate-args-category-desc": "Denne siden inneholder malkall med duplikate parametre, slik som <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> eller <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
        "expensive-parserfunction-warning": "Advarsel: Denne siden inneholder for mange prosesskrevende parserfunksjoner.\n\nDet burde være mindre enn {{PLURAL:$2|$2|$2}}, men er nå {{PLURAL:$1|$1|$1}}..",
        "badsig": "Ugyldig råsignatur; sjekk HTML-elementer.",
        "badsiglength": "Signaturen er for lang.\nDen kan maks inneholde $1 {{PLURAL:$1|tegn|tegn}}.",
        "yourgender": "Hvordan ønsker du å bli omtalt?",
-       "gender-unknown": "Jeg ønsker ikke å spesifisere",
+       "gender-unknown": "Når du omtales, vil programvaren bruke kjønnsnøytrale ord så ofte som mulig.",
        "gender-male": "Han redigerer wikisider",
        "gender-female": "Hun redigerer wikisider",
        "prefs-help-gender": "Det er valgfritt å angi dette.\nProgramvaren bruker verdien for å anvende riktig grammatikalsk kjønn ved henvendelser til deg og i omtale av deg for andre brukere.\nInformasjonen vil være offentlig.",
        "userrights-lookup-user": "Ordne brukergrupper",
        "userrights-user-editname": "Skriv inn et brukernavn:",
        "editusergroup": "Endre brukergrupper",
-       "editinguser": "Endrer brukerrettighetene til '''[[User:$1|$1]]''' $2",
+       "editinguser": "Endrer brukerrettighetene for {{GENDER:$1|bruker}} <strong>[[Bruker:$1|$1]]</strong> $2",
        "userrights-editusergroup": "Rediger brukergrupper",
        "saveusergroups": "Lagre brukergrupper",
        "userrights-groupsmember": "Medlem av:",
        "uploaddisabledtext": "Opplasting er slått av.",
        "php-uploaddisabledtext": "PHP-filopplasting er deaktivert. Sjekk innstillingen for file_uploads.",
        "uploadscripted": "Denne filen inneholder HTML eller skripting som kan feiltolkes av en nettleser.",
+       "upload-scripted-pi-callback": "Det er ikke tillatt å laste opp en fil som inneholder et kjørbart XML-stilark.",
+       "uploaded-script-svg": "Fant et skriptelement \"$1\" i den opplastede SVG-koden.",
        "uploadscriptednamespace": "Denne SVG-filen inneholder et ulovlig navnerom \"$1\"",
        "uploadinvalidxml": "XML-en i den opplastede filen kunne ikke tolkes.",
        "uploadvirus": "Denne filen inneholder virus! Detaljer: $1",
        "linksearch-pat": "Søkemønster:",
        "linksearch-ns": "Navnerom:",
        "linksearch-ok": "Søk",
-       "linksearch-text": "Jokertegn slik som i «*.wikipedia.org» kan brukes.\nDet kreves at det oppgis minst et toppnivådomene, for eksempel «*.org».<br />\n{{PLURAL:$2|Støttede protokoller}}: <code>$1</code> (ikke legg til noen av disse i søket ditt).",
+       "linksearch-text": "Jokertegn slik som i «*.wikipedia.org» kan brukes.\nDet kreves at det oppgis minst et toppnivådomene, for eksempel «*.org».<br />\n{{PLURAL:$2|Støttede protokoller}}: $1 (ikke legg til noen av disse i søket ditt).",
        "linksearch-line": "$1 lenkes fra $2",
        "linksearch-error": "Jokertegn kan kun brukes foran tjenernavnet.",
        "listusersfrom": "Vis brukere fra og med:",
index c36843a..e5cdad2 100644 (file)
        "passwordreset": "Wachtwoord opniej instellen",
        "passwordreset-text-one": "Vul dit formulier in um joew wachtwoord opniej in te stellen.",
        "passwordreset-text-many": "{{PLURAL:$1|Vul een van de gegevensvelden in um per netpost n tiejelik wachtwoord te ontvangen.}}",
-       "passwordreset-legend": "Wachtwoord opniej instellen",
        "passwordreset-disabled": "Je kunnen op disse wiki joew wachtwoord niet opniej instellen.",
        "passwordreset-emaildisabled": "Netpostmeugelikhejen bin uutezet op disse wiki.",
        "passwordreset-username": "Gebruker:",
        "resettokens": "Tokens ongedaonmaken",
        "resettokens-text": "Je kunnen hier tokens opniej instellen die toegang geven tot bepaolde persoonlike gegevens die ekoppeld bin an joew gebruker.\n\nDo dit a'j ze per ongelok mit ene edeeld hebben of as onbevoegden toegang ekregen hebben tot joew gebruker.",
        "resettokens-no-tokens": "Der bin gien tokens um ongedaon te maken.",
-       "resettokens-legend": "Tokens ongedaonmaken",
        "resettokens-tokens": "Tokens:",
        "resettokens-token-label": "$1 (aktuele weerde: $2)",
        "resettokens-watchlist-token": "Token veur webvoer (Atom/RSS) van [[Special:Watchlist|wiezigingen van ziejen die joew volglieste staon]]",
        "nlinks": "$1 {{PLURAL:$1|verwiezing|verwiezingen}}",
        "nmembers": "$1 {{PLURAL:$1|onderwarp|onderwarpen}}",
        "nrevisions": "$1 {{PLURAL:$1|versie|versies}}",
-       "nviews": "{{PLURAL:$1|1 keer|$1 keer}} bekeken",
        "nimagelinks": "Wörden op {{PLURAL:$1|één zied|$1 ziejen}} gebruukt",
        "ntransclusions": "wörden op {{PLURAL:$1|één zied|$1 ziejen}} gebruukt",
        "specialpage-empty": "Disse zied is leeg.",
        "linksearch-pat": "Zeukpetroon:",
        "linksearch-ns": "Naamruumte:",
        "linksearch-ok": "Zeuken",
-       "linksearch-text": "Jokers zo as \"*.wikipedia.org\" of \"*.org\" bin toe-estaon.\nHef tenminsten n topdomein, zo as \"*.org\".<br />\n{{PLURAL:$2|Ondersteund protokol|Ondersteunde protokollen}}: <code>$1</code> (wörden \"http://\" as der gien protokol op-egeven wörden).",
+       "linksearch-text": "Jokers zo as \"*.wikipedia.org\" of \"*.org\" bin toe-estaon.\nHef tenminsten n topdomein, zo as \"*.org\".<br />\n{{PLURAL:$2|Ondersteund protokol|Ondersteunde protokollen}}: $1 (wörden \"http://\" as der gien protokol op-egeven wörden).",
        "linksearch-line": "$1 hef n verwiezing in $2",
        "linksearch-error": "Jokers bin allinnig toe-estaon an t begin van n webadres.",
        "listusersfrom": "Laot gebrukers zien vanaof:",
index 675cbaa..3f685db 100644 (file)
        "resetpass-wrong-oldpass": "Dat Passwoord (temporär oder aktuell) gellt nich.\nVillicht hest du dien Passwoord al ännert oder noch wedder en nee temporär Passwoord anfeddert.",
        "resetpass-temp-password": "Temporär Passwoord:",
        "passwordreset": "Passwoord torüchsetten",
-       "passwordreset-legend": "Passwoord torüchsetten",
        "passwordreset-username": "Brukernaam:",
        "passwordreset-domain": "Domään",
        "passwordreset-email": "E-Mail-Adress:",
        "nlinks": "$1 {{PLURAL:$1|Verwies|Verwiesen}}",
        "nmembers": "$1 {{PLURAL:$1|Maat|Maten}}",
        "nrevisions": "{{PLURAL:$1|1 Version|$1 Versionen}}",
-       "nviews": "$1 {{PLURAL:$1|Affraag|Affragen}}",
        "specialpage-empty": "Disse Siet is leddig.",
        "lonelypages": "Weetsieden",
        "lonelypagestext": "Op disse Sieden wiest kene annern Sieden vun {{SITENAME}} un se sünd ok narms inbunnen.",
        "linksearch-pat": "Söökmunster:",
        "linksearch-ns": "Naamruum:",
        "linksearch-ok": "Söken",
-       "linksearch-text": "Wildcards as to’n Bispeel <code>*.wikipedia.org</code> köönt bruukt warrn.<br />\nÜnnerstütt Protokollen: <code>$1</code>",
+       "linksearch-text": "Wildcards as to’n Bispeel <code>*.wikipedia.org</code> köönt bruukt warrn.<br />\nÜnnerstütt Protokollen: $1",
        "linksearch-line": "$1 hett en Lenk vun $2",
        "linksearch-error": "Wildcards dröfft blot an’n Anfang vun de URL stahn.",
        "listusersfrom": "Wies de Brukers, de anfangt mit:",
index 8d2ef07..c4278b4 100644 (file)
        "linksearch-pat": "खोज्ने नमूना:",
        "linksearch-ns": "नेमस्पेस:",
        "linksearch-ok": "खोज्नुहोस्",
-       "linksearch-text": "\"*.wikipedia.org\" वाइल्डकार्डको रुपमा प्रयोग गर्न सकिने।\nकम्तिमा \".org\" जस्तो कुनै उच्च-स्तरीय डोमेनको आवश्यकता छ।<br />\nसमर्थित प्रोटोकल:<code>$1</code> (यदि कुनै {{PLURAL:$2|प्रोटोकल|प्रोटोकलहरू}} दिइएको छैन भने http:// को प्रयोग गर्न सकिन्छ)",
+       "linksearch-text": "\"*.wikipedia.org\" वाइल्डकार्डको रुपमा प्रयोग गर्न सकिने।\nकम्तिमा \".org\" जस्तो कुनै उच्च-स्तरीय डोमेनको आवश्यकता छ।<br />\nसमर्थित प्रोटोकल:$1 (यदि कुनै {{PLURAL:$2|प्रोटोकल|प्रोटोकलहरू}} दिइएको छैन भने http:// को प्रयोग गर्न सकिन्छ)",
        "linksearch-line": "$1 $2सित जोड़िएको छ।",
        "linksearch-error": "मूलनामको सुरुमा मात्र वाइल्डकार्ड देखापर्न सक्छ।",
        "listusersfrom": "प्रयोगहरु देखाउन शुरु हुने यहाँ:",
index 2ed06aa..1fdbd17 100644 (file)
@@ -68,7 +68,8 @@
                        "Robin0van0der0vliet",
                        "Kthoelen",
                        "Mbch331",
-                       "Esketti"
+                       "Esketti",
+                       "M!dgard"
                ]
        },
        "tog-underline": "Koppelingen onderstrepen:",
        "creating": "Bezig met het aanmaken van $1",
        "editingsection": "Bezig met bewerken van $1 (deelpagina)",
        "editingcomment": "Bezig met bewerken van $1 (nieuw kopje)",
-       "editconflict": "Uw wijzigingen konden niet opgeslagen worden vanwege een bewerkingsconflict. Wilt {{GENDER:|u}} het conflict handmatig oplossen?",
+       "editconflict": "Bewerkingsconflict: $1",
        "explainconflict": "Een andere gebruiker heeft deze pagina bewerkt sinds u met uw bewerking bent begonnen.\nIn het bovenste deel van het venster staat de tekst van de huidige pagina.\nUw bewerking staat in het onderste gedeelte.\nU dient uw bewerkingen in te voegen in de bestaande tekst.\n'''Alleen''' de tekst in het bovenste gedeelte wordt opgeslagen als u op \"{{int:savearticle}}\" klikt.",
        "yourtext": "Uw tekst",
        "storedversion": "Opgeslagen versie",
        "yourdiff": "Wijzigingen",
        "copyrightwarning": "Let op: alle bijdragen aan {{SITENAME}} worden geacht te zijn vrijgegeven onder de $2 (zie $1 voor details).\nAls u niet wilt dat uw tekst door anderen naar believen bewerkt en verspreid kan worden, kies dan niet voor \"Pagina opslaan\".<br />\nHierbij belooft u ons tevens dat u deze tekst zelf hebt geschreven of overgenomen uit een vrije, openbare bron.<br />\n'''Gebruik geen materiaal dat beschermd wordt door auteursrecht, tenzij u daarvoor toestemming hebt!'''",
        "copyrightwarning2": "Al uw bijdragen aan {{SITENAME}} kunnen bewerkt, gewijzigd of verwijderd worden door andere gebruikers.\nAls u niet wilt dat uw teksten rigoureus aangepast worden door anderen, plaats ze hier dan niet.<br />\nU belooft ook dat u de oorspronkelijke auteur bent van dit materiaal of dat u het hebt gekopieerd uit een bron in het publieke domein of een soortgelijke vrije bron (zie $1 voor details).\n'''Gebruik geen materiaal dat beschermd wordt door auteursrecht, tenzij u daarvoor toestemming hebt!'''",
+       "editpage-cannot-use-custom-model": "Het inhoudsmodel van deze pagina kan niet worden veranderd.",
        "longpageerror": "'''Fout: de tekst die u hebt toegevoegd is {{PLURAL:$1|één kilobyte|$1 kilobyte}} groot, wat groter is dan het maximum van {{PLURAL:$2|één kilobyte|$2 kilobyte}}.'''\nOpslaan is niet mogelijk.",
        "readonlywarning": "'''Waarschuwing: u kunt deze bewerking nu niet opslaan omdat de database is geblokkeerd voor bewerkingen wegens onderhoudswerkzaamheden.'''\nHet is misschien verstandig om uw tekst tijdelijk in een tekstbestand op te slaan om dit te bewaren voor wanneer de blokkering van de database opgeheven is.\n\nEen beheerder heeft de database geblokkeerd om de volgende reden: $1",
        "protectedpagewarning": "'''Waarschuwing: deze beveiligde pagina kan alleen door gebruikers met beheerdersrechten bewerkt worden.'''\nDe laatste logboekregel staat hieronder:",
        "badsig": "Ongeldige ondertekening; controleer de HTML-tags.",
        "badsiglength": "Uw ondertekening is te lang.\nDeze moet minder dan $1 {{PLURAL:$1|teken|tekens}} bevatten.",
        "yourgender": "Hoe wilt u beschreven worden?",
-       "gender-unknown": "Ik wil dit niet opgeven",
+       "gender-unknown": "De software zal waar mogelijk geslachtsneutrale woorden gebruiken als het over jou gaat",
        "gender-male": "Hij bewerkt pagina's",
        "gender-female": "Zij bewerkt pagina's",
        "prefs-help-gender": "Deze voorkeur instellen is optioneel.\n\nDe software gebruikt deze waarde om u aan te spreken en u te vermelden aan andere gebruikers door middel van het juiste grammaticale geslacht.\n\nDeze informatie is openbaar en zichtbaar voor andere gebruikers.",
        "uploaddisabledtext": "Het uploaden van bestanden is uitgeschakeld.",
        "php-uploaddisabledtext": "Het uploaden van bestanden is uitgeschakeld in PHP.\nControleer de instelling \"file_uploads\".",
        "uploadscripted": "Dit bestand bevat HTML- of scriptcode die foutief door uw browser kan worden weergegeven.",
-       "upload-scripted-pi-callback": "Kan niet een bestand met de xml-stylesheet uploaden.",
+       "upload-scripted-pi-callback": "Kan geen bestand met XML-stylesheet-processing-instructies uploaden.",
        "uploaded-script-svg": "Gevonden scriptable element \"$1\" in het geüploade SVG-bestand.",
        "uploaded-hostile-svg": "Gevonden onveilige CSS in de stijl element van het geüploade SVG-bestand .",
        "uploaded-event-handler-on-svg": "Het instellen van de event-handler attributen <code>$1=\"$2\"</code> is niet toegestaan in SVG-bestanden.",
-       "uploaded-href-attribute-svg": "Href kenmerken <code><$1 $2=\"$3\"></code> met niet-lokale doel (bijv. http:// javascript:, enz.) zijn niet toegestaan in SVG-bestanden.",
+       "uploaded-href-attribute-svg": "href-attributen <code>&lt;$1 $2=\"$3\"&gt;</code> met niet-lokaal doel (bv. http://, javascript:, enz.) zijn niet toegestaan in SVG-bestanden.",
        "uploaded-href-unsafe-target-svg": "Gevonden href tot onveilige doel <code><$1 $2=\"$3\"></code> in het geüploade SVG-bestand .",
        "uploaded-animate-svg": "Gevonden \"animeren\" tag die kan veranderen href behulp van de \"uit\" - attribuut <code><$1 $2=\"$3\"></code> in het geüploade svg-bestand.",
        "uploaded-setting-event-handler-svg": "Het instellen van de event-handler attributen is geblokkeerd, gevonden <code><$1 $2=\"$3\"></code> in het geüploade SVG-bestand.",
        "linksearch-pat": "Zoekpatroon:",
        "linksearch-ns": "Naamruimte:",
        "linksearch-ok": "Zoeken",
-       "linksearch-text": "Het jokerteken gebruiken, zoals \"*.wikipedia.org\" of \"*.org\" is toegestaan.\nHeeft tenminste een topleveldomein nodig, zoals bijvoorbeeld \"*.org\".<br />\n{{PLURAL:$2|Ondersteund protocol|Ondersteunde protocollen}}: <code>$1</code> (wordt \"http://\" als er geen protocol wordt opgegeven).",
+       "linksearch-text": "Het jokerteken gebruiken, zoals \"*.wikipedia.org\" of \"*.org\" is toegestaan.\nHeeft tenminste een topleveldomein nodig, zoals bijvoorbeeld \"*.org\".<br />\n{{PLURAL:$2|Ondersteund protocol|Ondersteunde protocollen}}: $1 (wordt \"http://\" als er geen protocol wordt opgegeven).",
        "linksearch-line": "$1 heeft een koppeling in $2",
        "linksearch-error": "Wildcards zijn alleen toegestaan aan het begin van een hostnaam.",
        "listusersfrom": "Gebruikers bekijken vanaf:",
        "rollback-success": "De wijzigingen door $1 zijn teruggedraaid.\nDe laatste versie van $2 is hersteld.",
        "sessionfailure-title": "Sessiefout",
        "sessionfailure": "Er lijkt een probleem te zijn met uw aanmeldsessie.\nUw handeling is gestopt uit voorzorg tegen een beveiligingsrisico (dat bestaat uit mogelijke \"hijacking\" van deze sessie).\nGa een pagina terug, laad die pagina opnieuw en probeer het nog eens.",
+       "changecontentmodel": "Inhoudsmodel van pagina bewerken",
+       "changecontentmodel-legend": "Inhoudsmodel veranderen",
+       "changecontentmodel-title-label": "Paginatitel",
+       "changecontentmodel-model-label": "Nieuw inhoudsmodel",
+       "changecontentmodel-reason-label": "Reden:",
+       "changecontentmodel-success-title": "Het inhoudsmodel is veranderd",
+       "changecontentmodel-success-text": "Het inhoudstype van [[:$1]] is veranderd.",
+       "changecontentmodel-cannot-convert": "De inhoud van [[:$1]] kan niet worden omgezet in een type $2.",
+       "changecontentmodel-title-cantexist": "Geen pagina mogelijk op $1.",
+       "changecontentmodel-nodirectediting": "Het inhoudsmodel $1 ondersteunt direct bewerken niet",
+       "log-name-contentmodel": "Veranderingenlogboek van inhoudsmodel",
+       "log-description-contentmodel": "Gebeurtenissen rond het inhoudsmodel van een pagina",
+       "logentry-contentmodel-change": "$1 {{GENDER:$2|veranderde}} het inhoudsmodel van pagina $3 van \"$4\" in \"$5\"",
+       "logentry-contentmodel-change-revertlink": "terugdraaien",
+       "logentry-contentmodel-change-revert": "terugdraaien",
        "protectlogpage": "Beveiligingslogboek",
        "protectlogtext": "Hieronder staan pagina's waarvan de beveiliging recentelijk gewijzigd is.\nZie de [[Special:ProtectedPages|lijst met beveiligde pagina's]] voor alle beveiligde pagina's.",
        "protectedarticle": "heeft \"[[$1]]\" beveiligd",
        "pageinfo-robot-index": "Toegestaan",
        "pageinfo-robot-noindex": "Niet toegestaan",
        "pageinfo-watchers": "Aantal paginavolgers",
+       "pageinfo-visiting-watchers": "Aantal volgers die recente bewerkingen hebben bekeken",
        "pageinfo-few-watchers": "Minder dan  {{PLURAL:$1|één volger|$1 volgers}}",
+       "pageinfo-few-visiting-watchers": "Er kan wel of niet een volger zijn die de laatste bewerkingen hier bezoekt",
        "pageinfo-redirects-name": "Aantal doorverwijzingen naar deze pagina",
        "pageinfo-subpages-name": "Subpagina's van deze pagina",
        "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|doorverwijzing|doorverwijzingen}}; $3 {{PLURAL:$3|niet-doorverwijzing|niet-doorverwijzingen}})",
        "deletedwhileediting": "'''Let op''': deze pagina is verwijderd terwijl u bezig was met uw bewerking!",
        "confirmrecreate": "Nadat u begonnen bent met uw wijziging heeft [[User:$1|$1]] ([[User talk:$1|overleg]]) deze pagina verwijderd met opgave van de volgende reden:\n: ''$2''\nBevestig dat u de pagina opnieuw wilt aanmaken.",
        "confirmrecreate-noreason": "Nadat u begonnen bent met uw wijziging heeft [[User:$1|$1]] ([[User talk:$1|overleg]]) deze pagina verwijderd.\nBevestig dat u de pagina opnieuw wilt aanmaken.",
-       "recreate": "De pagina is verwijderd sinds je begon te bewerken. Klik op \"$1\" om de pagina opnieuw aan te maken.",
+       "recreate": "Opnieuw aanmaken",
        "confirm_purge_button": "OK",
        "confirm-purge-top": "De cache van deze pagina legen?",
        "confirm-purge-bottom": "Het opschonen van de cache zorgt ervoor dat de meest recente versie van een pagina wordt weergegeven.",
        "version-libraries": "Geïnstalleerde bibliotheken",
        "version-libraries-library": "Bibliotheek",
        "version-libraries-version": "Versie",
+       "version-libraries-license": "Licentie",
+       "version-libraries-description": "Beschrijving",
+       "version-libraries-authors": "Auteurs",
        "redirect": "Doorverwijzen op bestandsnaam, gebruikersnummer, paginanummer, of versienummer",
        "redirect-legend": "Doorverwijzen naar een bestand of pagina",
        "redirect-summary": "Deze speciale pagina verwijst door naar een bestand (als een bestandsnaam wordt opgegeven), een pagina (als een paginanummer of versienummer wordt opgegeven) of een gebruikerspagina (als een gebruikersnummer wordt opgegeven). Gebruik: [[{{#Special:Redirect}}/file/Voorbeeld.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] of [[{{#Special:Redirect}}/user/101]].",
index bcb4256..6c2b5d6 100644 (file)
        "linksearch-pat": "Søkjemønster:",
        "linksearch-ns": "Namnerom:",
        "linksearch-ok": "Søk",
-       "linksearch-text": "Jokerteikn som «*.wikipedia.org» kan nyttast.\nDet er påkravt med eit toppnivådomene, til dømes «*.org».<br />\n{{PLURAL:$2|Stødd protokoll|Stødde protokollar}}: <code>$1</code> (nyttar http:// som standard om ingen protokoll er oppgjeven)",
+       "linksearch-text": "Jokerteikn som «*.wikipedia.org» kan nyttast.\nDet er påkravt med eit toppnivådomene, til dømes «*.org».<br />\n{{PLURAL:$2|Stødd protokoll|Stødde protokollar}}: $1 (nyttar http:// som standard om ingen protokoll er oppgjeven)",
        "linksearch-line": "$2 lenkjer til $1",
        "linksearch-error": "Jokerteikn kan berre nyttast føre tenarnamnet.",
        "listusersfrom": "Vis brukarnamna frå og med:",
index cad960e..727931b 100644 (file)
        "passwordreset": "Remesa a zèro del senhal",
        "passwordreset-text-one": "Emplenatz aqueste formulari per reïnicializar vòstre senhal.",
        "passwordreset-text-many": "{{PLURAL:$1|Completatz un d'aqueles camps per recebre un senhal temporari per corrièr electronic.}}",
-       "passwordreset-legend": "Reïnicializar lo senhal",
        "passwordreset-disabled": "La reïnicializacion dels senhals es estada desactivada sus aqueste wiki.",
        "passwordreset-emaildisabled": "Las foncionalitats e-mail son estadas desactivadas sus aqueste wiki.",
        "passwordreset-username": "Nom d'utilizaire :",
        "resettokens": "Reïnicializar los getons",
        "resettokens-text": "Aici, podètz reïnicializar los getons que permeton d’accedir a d'unas donadas privadas associadas a vòstre compte.\n\nLo vos caldriá far se las avètz partejats accidentalament amb qualqu'un o se vòstre compte es estat compromés.",
        "resettokens-no-tokens": "I a pas cap de geton de reïnicializar.",
-       "resettokens-legend": "Reïnicializar los getons",
        "resettokens-tokens": "Getons :",
        "resettokens-token-label": "$1 (valor actuala : $2)",
        "resettokens-watchlist-token": "Geton pel flux (Atom/RSS) web de [[Special:Watchlist|modificacions de paginas de vòstra lista de seguiment]]",
        "randomincategory-nopages": "I a pas cap de pagina dins [[:Category:$1]].",
        "randomincategory-category": "Categoria :",
        "randomincategory-legend": "Pagina a l'azard dins la categoria",
+       "randomincategory-submit": "Amodar",
        "randomredirect": "Una pagina de redireccion a l'azard",
        "randomredirect-nopages": "I a pas cap de redireccion dins l'espaci de nom « $1 ».",
        "statistics": "Estatisticas",
        "nmembers": "$1 {{PLURAL:$1|membre|membres}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|membre|membres}}",
        "nrevisions": "$1 {{PLURAL:$1|revision|revisions}}",
-       "nviews": "$1 {{PLURAL:$1|consultacion|consultacions}}",
        "nimagelinks": "Utilizat sus $1 {{PLURAL:$1|pagina|paginas}}",
        "ntransclusions": "Utilizat sus $1 {{PLURAL:$1|pagina|paginas}}",
        "specialpage-empty": "Aquesta pagina es voida.",
        "linksearch-pat": "Recercar l’expression :",
        "linksearch-ns": "Espacis de noms :",
        "linksearch-ok": "Recercar",
-       "linksearch-text": "De caractèrs jokers coma « *.wikipedia.org » pòdon èsser utilizats.\nNecessitan al mens un domeni de nivèl superior, per exemple « *.org ».<br />\n{{PLURAL:$2|Protocòl reconegut|Protocòls reconeguts}}: <code>$1</code> (http:// per defaut se cap de protocòl es pas indicat).",
+       "linksearch-text": "De caractèrs jokers coma « *.wikipedia.org » pòdon èsser utilizats.\nNecessitan al mens un domeni de nivèl superior, per exemple « *.org ».<br />\n{{PLURAL:$2|Protocòl reconegut|Protocòls reconeguts}}: $1 (http:// per defaut se cap de protocòl es pas indicat).",
        "linksearch-line": "$1 amb un ligam a partir de $2",
        "linksearch-error": "Los caractèrs « joker » pòdon pas èsser utilizats qu’al començament del nom de domeni.",
        "listusersfrom": "Afichar los utilizaires a partir de :",
index 758f34b..cc106dc 100644 (file)
        "linksearch-pat": "ଖୋଜା ପ୍ରଣାଳୀ:",
        "linksearch-ns": "ନେମସ୍ପେସ:",
        "linksearch-ok": "ଖୋଜନ୍ତୁ",
-       "linksearch-text": "\"*.wikipedia.org\" ପରି ୱାଇଲ୍ଡକାର୍ଡ଼ର ବ୍ୟବହାର କରାଯାଇଥାଇ ପାରେ ।\nଏକ ଉଚ୍ଚକୋଟୀର ଡୋମେନ ଲୋଡ଼ା, ଯଥା \"*.org\".<br />\nଅନୁମୋଦିତ {{PLURAL:$2|protocol|protocols}}: <code>$1</code> (ଯଦି କୌଣସି ପ୍ରୋଟୋକଲ ଦିଆଯାଇନଥାଏ ତେବେ ଆପେ ଆପେ http:// ହୋଇଯାଇଥାଏ) ।",
+       "linksearch-text": "\"*.wikipedia.org\" ପରି ୱାଇଲ୍ଡକାର୍ଡ଼ର ବ୍ୟବହାର କରାଯାଇଥାଇ ପାରେ ।\nଏକ ଉଚ୍ଚକୋଟୀର ଡୋମେନ ଲୋଡ଼ା, ଯଥା \"*.org\".<br />\nଅନୁମୋଦିତ {{PLURAL:$2|protocol|protocols}}: $1 (ଯଦି କୌଣସି ପ୍ରୋଟୋକଲ ଦିଆଯାଇନଥାଏ ତେବେ ଆପେ ଆପେ http:// ହୋଇଯାଇଥାଏ) ।",
        "linksearch-line": "$1 ଟି $2ରୁ ଯୋଡ଼ାଯାଇଅଛି ।",
        "linksearch-error": "କେବଳ ହୋଷ୍ଟ ନାମର ଆରମ୍ଭରେ ୱାଇଲ୍ଡକାର୍ଡ଼ ଦେଖାଯିବ ।",
        "listusersfrom": "ଏହି ନାମରେ ସଭ୍ୟ ଜଙ୍କ ନାମ ଦେଖାଇବେ:",
index 6c3561d..ea09944 100644 (file)
        "otherlanguages": "Kareng aliwang amanu",
        "redirectedfrom": "(Miyalis direksiun manibat king $1)",
        "redirectpagesub": "Bulung ning pamanaliling direksiun (redirect)",
+       "redirectto": "I-redirekta king:",
        "lastmodifiedat": "Tauli yang miyalilan ining bulung anyang $2, $1.",
        "viewcount": "Ining bulung linawe da neng {{PLURAL:$1|misan|$1 besis/ukdu}}.",
        "protectedpage": "Bulung a protektadu/makakambil",
        "toc": "Kalamnan",
        "showtoc": "pakit",
        "hidetoc": "isalikut",
+       "confirmable-yes": "Wa",
+       "confirmable-no": "Ali",
        "thisisdeleted": "Lawen o ibalik $1?",
        "viewdeleted": "Lon ya ing $1?",
        "restorelink": "{{PLURAL:$1|metung a edit a mebura|$1 edit a mebura}}",
        "tooltip-pt-login": "Agkat da kang mag login, oneng e sapilitan iti.",
        "tooltip-pt-logout": "Mag log out",
        "tooltip-ca-talk": "Pamisabi-sabi tungkul king bulung kalamnan (content page)",
-       "tooltip-ca-edit": "Malyari meng samasan ing bulung a ini. Pakigamit me pamu ing \"pasinag a pipindutan\" bayu me isikap.",
+       "tooltip-ca-edit": "I-edit/alilan ya ing bulung a ini",
        "tooltip-ca-addsection": "Mangibili kang bayung dake o \"section\".",
        "tooltip-ca-viewsource": "Protektadu/makakambil ya ing bulung a ini. Malyari meng lon ing kayang pikuanan (source).",
        "tooltip-ca-history": "Deng milabas a bersion ning bulung a ini.",
        "version-license": "Lisensia",
        "version-software-product": "Produktu",
        "version-software-version": "Bersion",
+       "version-libraries-license": "Lisensya",
        "fileduplicatesearch": "Maintun simpan (file) a kapareu",
        "fileduplicatesearch-legend": "Maintun kapareu",
        "fileduplicatesearch-filename": "Lagyungsimpan (filename):",
index fea3d1c..f21b3f8 100644 (file)
        "linksearch-pat": "Wzorzec wyszukiwania",
        "linksearch-ns": "Przestrzeń nazw:",
        "linksearch-ok": "Szukaj",
-       "linksearch-text": "Można użyć symboli wieloznacznych jak „*.wikipedia.org”.\nWymaga podania co najmniej domeny najwyższego poziomu np. „*.org”.<br />\n{{PLURAL:$2|Obsługiwany protokół|Obsługiwane protokoły}}: <code>$1</code> (jeśli nie podano, domyślny to http://).",
+       "linksearch-text": "Można użyć symboli wieloznacznych jak „*.wikipedia.org”.\nWymaga podania co najmniej domeny najwyższego poziomu np. „*.org”.<br />\n{{PLURAL:$2|Obsługiwany protokół|Obsługiwane protokoły}}: $1 (jeśli nie podano, domyślny to http://).",
        "linksearch-line": "$1 link na stronie $2",
        "linksearch-error": "Symbolu wieloznacznego można użyć wyłącznie na początku nazwy hosta.",
        "listusersfrom": "Pokaż użytkowników zaczynając od",
index 046dc83..e6952c3 100644 (file)
        "passwordreset": "Ri-inissialisassion ëd la ciav",
        "passwordreset-text-one": "Ch'a completa 's formolari për reimposté soa ciav.",
        "passwordreset-text-many": "{{PLURAL:$1|Ch'a compila un dij camp për arsèive na ciav provisòria për pòsta eletrònica.}}",
-       "passwordreset-legend": "Riampostassion ëd la ciav",
        "passwordreset-disabled": "La reinissialisassion ëd le ciav a l'é stàita disabilità su sta wiki.",
        "passwordreset-emaildisabled": "Le fonsionalità ëd pòsta eletrònica a son ëstàite disativà su sta wiki.",
        "passwordreset-username": "Stranòm:",
        "resettokens": "Riamposté ij geton",
        "resettokens-text": "Ambelessì a peul riamposté ij geton ch'a permëtto d'acede a chèich dàit privà associà a sò cont.\n\nA dovrìa felo si për asar chiel a l'ha partagiaje con cheidun o si sò cont a l'é stàit compromëttù.",
        "resettokens-no-tokens": "A-i é gnun geton da riamposté.",
-       "resettokens-legend": "Riamposté ij geton.",
        "resettokens-tokens": "Geton:",
        "resettokens-token-label": "$1 (valor atual: $2)",
        "resettokens-watchlist-token": "Geton për ël fluss an sl'aragnà (Atom/RSS) ëd [[Special:Watchlist|modìfiche a le pàgine che as ten sot-euj]]",
        "randomincategory-nopages": "A-i é gnun-e pàgine ant la categorìa [[:Category:$1|$1]].",
        "randomincategory-category": "Categorìa:",
        "randomincategory-legend": "Pàgina a l'ancàpit ant la categorìa",
+       "randomincategory-submit": "Va",
        "randomredirect": "Na ridiression qualsëssìa",
        "randomredirect-nopages": "A-i é pa gnun-a ridiression ant lë spassi nominal \"$1\".",
        "statistics": "Statìstiche",
        "nmembers": "$1 {{PLURAL:$1|element|element}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|mèmber}}",
        "nrevisions": "{{PLURAL:$1|na revision|$1 revision}}",
-       "nviews": "{{PLURAL:$1|na consultassion|$1 consultassion}}",
        "nimagelinks": "Dovrà dzora a $1 {{PLURAL:$1|pàgina|pàgine}}",
        "ntransclusions": "dovrà dzora a $1 {{PLURAL:$1|pàgina|pàgine}}",
        "specialpage-empty": "Pàgina veujda.",
        "linksearch-pat": "Schema d'arsërca:",
        "linksearch-ns": "Spassi nominal:",
        "linksearch-ok": "Sërché",
-       "linksearch-text": "As peulo dovresse dij ciapatut com \"*.wikipedia.org\".\nA-i é dabzògn almanch d'un domini a livel pi àut, për esempi \"*.org\".<br />\n{{PLURAL:$2|Protocòl|Protocòj}} ch'as peulo dovresse: <code>$1</code> (predefinì http:// se gnun protocòl a l'é specificà).",
+       "linksearch-text": "As peulo dovresse dij ciapatut com \"*.wikipedia.org\".\nA-i é dabzògn almanch d'un domini a livel pi àut, për esempi \"*.org\".<br />\n{{PLURAL:$2|Protocòl|Protocòj}} ch'as peulo dovresse: $1 (predefinì http:// se gnun protocòl a l'é specificà).",
        "linksearch-line": "$1 a l'ha n'anliura ch'a-j riva dzora da $2",
        "linksearch-error": "Ij ciapatut as peulo butesse mach an prinsipi dël nòm dël sërvent.",
        "listusersfrom": "Smon-me j'utent a parte da:",
index 472daa4..9e17e84 100644 (file)
        "resetpass-wrong-oldpass": "غلط عارضی یا ہلے دی کنجی۔\nتساں نے شاید اپنی کنجی بدل لئی ہوۓ یا عارضی کنجی دی درخواست کیتی ہوۓ۔",
        "resetpass-temp-password": "عارضی کنجی:",
        "passwordreset": "کنجی واپس لیاؤ",
-       "passwordreset-legend": "کنجی واپس لیاؤ",
        "passwordreset-disabled": "اس وکی تے کنجی واپس نئیں لیائی جاسکدی۔",
        "passwordreset-username": "ورتن ناں:",
        "passwordreset-domain": "ڈومین",
        "nlinks": "$1 {{PLURAL:$1|link|جوڑ}}",
        "nmembers": "$1 {{PLURAL:$1|member|ممبران}}",
        "nrevisions": "$1 {{PLURAL:$1|ریوین|ریویناں}}",
-       "nviews": "$1 {{PLURAL:$1|وکھالہ|وکھالے}}",
        "nimagelinks": "تے ورتیا $1 {{PLURAL:$1|صفہ|صفے}}",
        "ntransclusions": "$1 تے ورتے  {{PLURAL:$1|صفہ|صفے}}",
        "specialpage-empty": "ایس رپورٹ دے کوئی نتیجے نئیں۔",
        "linksearch-pat": "کھوج راہ:",
        "linksearch-ns": "ناں دی جگہ:",
        "linksearch-ok": "کھوج",
-       "linksearch-text": "وائلڈکارڈز جیویں کہ \"*.wikipedia.org\" ورتے جاسکدے نیں۔\n\"*.org\".<br /> دی لوڑ\nمنے گۓ پروٹوکول: <code>$1</code>",
+       "linksearch-text": "وائلڈکارڈز جیویں کہ \"*.wikipedia.org\" ورتے جاسکدے نیں۔\n\"*.org\".<br /> دی لوڑ\nمنے گۓ پروٹوکول: $1",
        "linksearch-line": "$1 نوں $2 نال جوڑیا",
        "linksearch-error": "وکیکارڈو میزبان دے ناں دے شروع چ دس سکدے نیں۔",
        "listusersfrom": "ورتن والے ایس توں شروع ہون والے دسو:",
index 56e3151..e67d487 100644 (file)
        "nlinks": "$1 {{PLURAL:$1|autengīnsenis|autengīnsenei}}",
        "nmembers": "$1 {{PLURAL:$1|streīpstus|streīpstai}}",
        "nrevisions": "$1 {{PLURAL:$1|wersiōni|wersiōnis}}",
-       "nviews": "$1 {{PLURAL:$1|kāimalukisenis|kāimalukisenei}}",
        "specialpage-empty": "Ni ast rezultātai per šin repōrtan.",
        "lonelypages": "Ainaseīlingis pāusai",
        "lonelypagestext": "Prēi zemmaisins pāusans ni autenginna niaīnan kittan pāusan anga tenēi ni autenginna prei niaīnan kittan pāusan en {{SITENAME}}.",
        "linksearch-pat": "Laukīsnas šablōni:",
        "linksearch-ns": "Emninplattibi:",
        "linksearch-ok": "Laukīs",
-       "linksearch-text": "Mazīngi tērpautun tulapresliskan simbōlin \"*\"  - perwaidīnsnai „*.wikipedia.org”<br />\nEbšlūzitai prōtokulai: <code>$1</code>",
+       "linksearch-text": "Mazīngi tērpautun tulapresliskan simbōlin \"*\"  - perwaidīnsnai „*.wikipedia.org”<br />\nEbšlūzitai prōtokulai: $1",
        "linksearch-line": "Prei $1 autenginna $2",
        "linksearch-error": "Mazīngi tērpautun tulapresliskan simbōlin \"*\" tēr en hostas pabilīsnas pagaūseņu.",
        "listusersfrom": "Waidinnais tērpautajans pagaūnintei ezze:",
index f813167..30be292 100644 (file)
        "right-importupload": "د يوې پورته شوې دوتنې څخه مخونه راغوښتل",
        "right-patrol": "د نورو سمونونه څارل شوي په نښه کول",
        "right-unwatchedpages": "د ناکتلو مخونو يو لړليک کتل",
+       "right-mergehistory": "د مخونو پېښليک سره اخږل",
        "right-userrights": "د کارن ټولې رښتې سمول",
        "right-userrights-interwiki": "په نورو ويکي گانو د نورو کارنانو  کارن-رښتې سمول",
+       "right-siteadmin": "توکبنسټ کولپول او پرانيستل",
        "right-sendemail": "نورو کارنانو ته برېښليک لېږل",
        "newuserlogpage": "د کارن-نوم د جوړېدو يادښت",
        "newuserlogpagetext": "دا د کارن-نوم د جوړېدو يادښت دی",
        "enhancedrc-history": "پېښليک",
        "recentchanges": "وروستي بدلونونه",
        "recentchanges-legend": "د ورستي بدلونو خوښنې",
-       "recentchanges-summary": "په دې مخ د ويکي ترټولو تازه وروستي بدلونونه وڅارۍ.",
+       "recentchanges-summary": "په دې مخ د ويکي تر ټولو تازه بدلونونه څارلی شی.",
        "recentchanges-noresult": "د ټاکلې مودې بدلونونه کې يو يې هم د دغو معيارونو سره همغاړي نه دي.",
        "recentchanges-feed-description": "همدلته د ويکي ترټولو تازه وروستي بدلونونه وڅارۍ او وگورۍ چې څه پېښ شوي.",
        "recentchanges-label-newpage": "دغه سمون يو نوی مخ جوړ کړی",
        "filetype-banned": "په دې ډول دوتنې بنديز دی.",
        "verification-error": "دا دوتنه د دوتنې تاييدېدنې څخه بريالۍ و نه وتله.",
        "illegal-filename": "د دوتنې نوم نه دی پرېښل شوی.",
-       "unknown-error": "Ù\8aÙ\88Ù\87 Ù\86اÚ\85رګنده تېروتنه رامېنځته شوه.",
+       "unknown-error": "Ù\8aÙ\88Ù\87 Ù\86اÚ\85رگنده تېروتنه رامېنځته شوه.",
        "tmp-create-error": "لنډمهاله دوتنه جوړېدای نه شي",
        "fileexists": "د پخوا څخه پدې نوم يوه دوتنه شته، که {{GENDER:|تاسې}} پرې ډاډمن نه ياست چې بدلون پکې راولۍ، نو لطفاً <strong>[[:$1]]</strong> وگورئ.\n[[$1|بټنوک]]",
        "fileexists-extension": "په دې نوم يوه بله دوتنه د پخوا څخه شته: [[$2|بټنوک]]\n* د پورته کېدونکې دوتنې نوم: <strong>[[:$1]]</strong>\n* د پخوانۍ موجودې دوتنې نوم: <strong>[[:$2]]</strong>\nآيا تاسې غواړۍ چې يو داسې بېل نوم ټاکۍ چې د پخوانۍ دوتنې سره توپير ولري؟",
        "delete-edit-reasonlist": "د ړنگولو سببونه سمول",
        "rollbacklink": "په شابېول",
        "rollbacklinkcount": "$1 {{PLURAL:$1|سمون|سمونونه}} پرشابېول",
+       "editcomment": "د سمون لنډيز دا و: \"''$1''\".",
        "changecontentmodel-title-label": "مخ سرليک",
        "changecontentmodel-reason-label": "سبب:",
        "protectlogpage": "د ژغورنې يادښت",
        "ipusubmit": "دا بنديز ليرې کول",
        "unblocked": "له [[User:$1|$1]] بنديز ليري شو",
        "unblocked-range": "له $1 بنديز ليرې شو",
+       "unblocked-ip": "له [[Special:Contributions/$1|$1]] څخه بنديز ليرې شو.",
        "blocklist": "بنديز لگېدلي کارنان",
        "ipblocklist": "بنديز لگېدلي کارنان",
        "ipblocklist-legend": "يو بنديز شوی کارن موندل",
        "exif-lightsource-255": "د رڼا بله سرچينه",
        "exif-flash-fired-0": "فلش و نه ځلېده",
        "exif-focalplaneresolutionunit-2": "انچه",
-       "exif-sensingmethod-1": "Ù\86اÚ\85رګنده",
+       "exif-sensingmethod-1": "Ù\86اÚ\85رگنده",
        "exif-filesource-3": "گڼياليزه ولاړه کامره",
        "exif-customrendered-0": "نورماله بهير",
        "exif-scenecapturetype-0": "معيار",
        "api-error-filetype-missing": "دوتنې نوم يو شاتاړی نه لري.",
        "api-error-illegal-filename": "د دوتنې نوم نه دی پرېښل شوی.",
        "api-error-mustbeloggedin": "د دوتنو د پورته کولو لپاره بايد تاسې غونډال کې ننوتلی اوسۍ.",
-       "api-error-unclassified": "Ù\8aÙ\88Ù\87 Ù\86اÚ\85رګنده تېروتنه رامېنځته شوه.",
-       "api-error-unknown-code": "Ù\86اÚ\85رګنده تېروتنه: \"$1\"",
+       "api-error-unclassified": "Ù\8aÙ\88Ù\87 Ù\86اÚ\85رگنده تېروتنه رامېنځته شوه.",
+       "api-error-unknown-code": "Ù\86اÚ\85رگنده تېروتنه: \"$1\"",
        "api-error-unknown-warning": "ناڅرگنده گواښنه: \"$1\".",
-       "api-error-unknownerror": "Ù\86اÚ\85رګنده تېروتنه: \"$1\".",
+       "api-error-unknownerror": "Ù\86اÚ\85رگنده تېروتنه: \"$1\".",
        "api-error-uploaddisabled": "په دې ويکي باندې پورته کېدنې ناچارنې شوي.",
        "api-error-verification-error": "کېدای شي دا دوتنه خرابه وي او يا هم ناسم شاتاړی ولري.",
        "duration-seconds": "$1 {{PLURAL:$1|ثانيه|ثانيې}}",
        "special-characters-group-arabicextended": "غځېدلې عربي",
        "special-characters-group-persian": "پارسي",
        "special-characters-group-hebrew": "عبراني",
-       "special-characters-group-bangla": "بÙ\86Ú«الي",
+       "special-characters-group-bangla": "بÙ\86Ú¯الي",
        "special-characters-group-tamil": "تاميلي",
        "special-characters-group-telugu": "تېلوګو",
        "special-characters-group-sinhala": "سېنهالي",
-       "special-characters-group-gujarati": "Ú«جراتي",
-       "special-characters-group-devanagari": "دېوانګري",
+       "special-characters-group-gujarati": "Ú¯Ù\88جراتي",
+       "special-characters-group-devanagari": "دېواناگري",
        "special-characters-group-thai": "تايلنډي",
        "special-characters-group-lao": "لاوي",
        "special-characters-group-khmer": "خمري",
index 053ee0d..ec3c55a 100644 (file)
        "badtitletext": "O título de página solicitado era inválido, vazio, ou um link interlínguas ou interwikis incorreto.\nTalvez contenha um ou mais caracteres que não podem ser usados em títulos.",
        "title-invalid-empty": "O título da página solicitada está vazio ou contém somente o nome do espaço de nomes.",
        "title-invalid-utf8": "O título da página solicitada contém uma sequência UTF-8 inválida.",
-       "title-invalid-interwiki": "O título contém um link interwiki",
+       "title-invalid-interwiki": "O título da página solicitado contém um link interwiki que não pode ser usado em títulos.",
        "title-invalid-talk-namespace": "O título da página solicitada refere-se a uma página de discussão que pode não existir.",
        "title-invalid-characters": "O título da página solicitada contém caracteres inválidos: \"$1\".",
        "title-invalid-relative": "O título tem um caminho relativo.Títulos de página relativos (./, ../) são inválidos, porque muitas vezes estarão inacessíveis quando consultados pelo navegador do usuário.",
        "badsig": "Assinatura inválida; verifique o código HTML utilizado.",
        "badsiglength": "A sua assinatura é muito longa.\nEla deve ter menos de $1 {{PLURAL:$1|caractere|caracteres}}.",
        "yourgender": "Como você prefere ser descrito(a)?",
-       "gender-unknown": "Prefiro não dizer",
+       "gender-unknown": "Ao mencionar você, o software usará palavras do gênero neutro sempre que possível",
        "gender-male": "Ele edita páginas wiki",
        "gender-female": "Ela edita páginas wiki",
        "prefs-help-gender": "A configuração desta preferência é opcional.\nO software utiliza seu valor para tratá-lo(a) e mencioná-lo(a) a outros usando o gênero gramatical adequado.\nEsta informação será pública.",
        "userrights-lookup-user": "Administrar grupos de usuários",
        "userrights-user-editname": "Forneça um nome de usuário:",
        "editusergroup": "Editar grupos de usuários",
-       "editinguser": "Modificando privilégios d{{GENDER:$1|o usuário|a usuária|o(a) usuário(a)}} '''[[User:$1|$1]]''' $2",
+       "editinguser": "Modificando privilégios d{{GENDER:$1|o usuário|a usuária|o(a) usuário(a)}} <strong>[[User:$1|$1]]</Strong> $2",
        "userrights-editusergroup": "Editar grupos do usuário",
        "saveusergroups": "Salvar grupos do usuário",
        "userrights-groupsmember": "Membro de:",
        "linksearch-pat": "Procurar padrão:",
        "linksearch-ns": "Espaço nominal:",
        "linksearch-ok": "Pesquisar",
-       "linksearch-text": "É possível usar caracteres coringa, como \"*.wikipedia.org\".\nNecessário no mínimo um domínio de nível superior, por exemplo \"*.org\".<br />\n{{PLURAL:$2|Protocolo suportado|Protocolos suportados}}: <code>$1</code> (caso nenhum seja especificado, o protocolo http:// será selecionado automaticamente).",
+       "linksearch-text": "É possível usar caracteres coringa, como \"*.wikipedia.org\".\nNecessário no mínimo um domínio de nível superior, por exemplo \"*.org\".<br />\n{{PLURAL:$2|Protocolo suportado|Protocolos suportados}}: $1 (caso nenhum seja especificado, o protocolo http:// será selecionado automaticamente).",
        "linksearch-line": "$2 possui links para $1",
        "linksearch-error": "\"Caracteres mágicos\" (''wildcards'') só podem ser usados no início do endereço.",
        "listusersfrom": "Mostrar usuários começando em:",
        "rollback-success": "Foram revertidas as edições de $1, com o conteúdo passando a estar como na última edição de $2.",
        "sessionfailure-title": "Erro de sessão",
        "sessionfailure": "Foram detetados problemas com a sua sessão;\nEsta ação foi cancelada como medida de proteção contra a intercepção de sessões.\nExperimente usar o botão \"Voltar\" e atualizar a página de onde veio e tente novamente.",
+       "changecontentmodel-title-label": "Título da página",
+       "changecontentmodel-reason-label": "Motivo:",
+       "logentry-contentmodel-change-revertlink": "reverter",
        "protectlogpage": "Registro de proteção",
        "protectlogtext": "Encontra-se abaixo o registro de proteção e desproteção de páginas.\nConsulte a [[Special:ProtectedPages|lista de páginas protegidas]] para ver as páginas que se encontram protegidas neste momento.",
        "protectedarticle": "protegeu \"[[$1]]\"",
        "tooltip-pt-logout": "Sair",
        "tooltip-pt-createaccount": "É recomendado que você crie uma conta e inicie uma seção; todavia, isto não é obrigatório",
        "tooltip-ca-talk": "Discussão sobre o conteúdo da página",
-       "tooltip-ca-edit": "Você pode editar esta página. Use o botão \"Mostrar previsão\" antes de salvar.",
+       "tooltip-ca-edit": "Editar esta página",
        "tooltip-ca-addsection": "Iniciar uma nova seção",
        "tooltip-ca-viewsource": "Esta página está protegida.\nVocê pode, no entanto, visualiar seu código-fonte.",
        "tooltip-ca-history": "Edições anteriores desta página.",
        "version-libraries": "Bibliotecas instaladas",
        "version-libraries-library": "Biblioteca",
        "version-libraries-version": "Versão",
+       "version-libraries-license": "Licença",
+       "version-libraries-description": "Descrição",
+       "version-libraries-authors": "Autores",
        "redirect": "Redirecionar por arquivo, usuário ou ID de revisão",
        "redirect-legend": "Redirecionar para um arquivo ou página",
        "redirect-summary": "Esta página especial redireciona a um arquivo (dado o nome do arquivo), a uma página (dado um ID de revisão ou ID da página) ou a uma página de usuário (dado o ID do usuário). Uso: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].",
        "log-name-pagelang": "Mudar idioma do log",
        "log-description-pagelang": "Este é um registro de alterações aos idiomas das páginas.",
        "logentry-pagelang-pagelang": "$1 {{GENDER:$2|alterou}} o idioma da página $3 de $4 para $5.",
-       "default-skin-not-found": "Ops! A aparência padrão para sua wiki, definida em <code dir=\"ltr\">$wgDefaultSkin</code> como <code>$1</code>, não está disponível.\n\nSua instalação parece incluir a(s) seguinte(s) {{PLURAL:$4|aparência|aparências}}. Veja [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Configuração de aparência] para informações sobre como  {{PLURAL:$4|habilitá-la|habilitá-las e escolha a padrão}}.\n\n$2\n\n; Se você já instalou o MediaWiki:\n: Você provavelmente instalou do git, ou diretamente do código fonte usando usando algum outro método. Isto é esperado. Tente instalar algumas aparências do [https://www.mediawiki.org/wiki/Category:All_skins diretório de aparências do mediawiki.org]:\n:* Baixando o [https://www.mediawiki.org/wiki/Download instalador tarball], que vem com várias aparências e extensões. Você pode copiar e colar o diretório <code>skins/</code> dele.\n:* Baixando tarballs individuais de aparência de [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* Clonando um dos repositórios <code>mediawiki/skins/*</code> via git no diretório <code dir=\"ltr\">skins/</code> de sua instalação MediaWiki.\n: Fazer isso não deve interferir no seu repositório git se você é um desenvolvedor MediaWiki.\n\n; Se você já atualizou o MediaWiki:\n: O MediaWiki 1.24 e os mais recentes não permitem mais aparências instaladas automaticamente (veja [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery]). Você pode colar {{PLURAL:$5|a seguinte linha|as seguintes linhas}} em <code>LocalSettings.php</code> para habilitar {{PLURAL:$5|a|todas as}} {{PLURAL:$5|aparência instalada atualmente|aparências instaladas atualmente}} :\n\n<pre dir=\"ltr\">$3</pre>\n\n; Se você já modificou <code>LocalSettings.php</code>:\n: Verifique cuidadosamente se não há erros de digitação nos nomes das aparências.",
+       "default-skin-not-found": "Ops! A aparência padrão para sua wiki, definida em <code dir=\"ltr\">$wgDefaultSkin</code> como <code>$1</code>, não está disponível.\n\nSua instalação parece incluir a(s) seguinte(s) {{PLURAL:$4|aparência|aparências}}. Veja [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Configuração de aparência] para informações sobre como  {{PLURAL:$4|habilitá-la|habilitá-las e escolha a padrão}}.\n\n$2\n\n; Se você já instalou o MediaWiki:\n: Você provavelmente instalou do git, ou diretamente do código fonte usando usando algum outro método. Isto é esperado. Tente instalar algumas aparências do [https://www.mediawiki.org/wiki/Category:All_skins diretório de aparências do mediawiki.org]:\n:* Baixando o [https://www.mediawiki.org/wiki/Download instalador tarball], que vem com várias aparências e extensões. Você pode copiar e colar o diretório <code>skins/</code> dele.\n:* Baixando tarballs individuais de aparência de [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* [https://www.mediawiki.org/wiki/Download_from_Git/pt-br#Usando_o_Git_para_baixar_extensões_do_MediaWiki Usando o Git para baixar aparências].\n: Fazer isso não deve interferir no seu repositório git se você é um desenvolvedor MediaWiki.\n\n; Se você já atualizou o MediaWiki:\n: O MediaWiki 1.24 e os mais recentes não permitem mais aparências instaladas automaticamente (veja [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery]). Você pode colar {{PLURAL:$5|a seguinte linha|as seguintes linhas}} em <code>LocalSettings.php</code> para habilitar {{PLURAL:$5|a|todas as}} {{PLURAL:$5|aparência instalada|aparências instaladas}}:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Se você já modificou <code>LocalSettings.php</code>:\n: Verifique cuidadosamente se não há erros de digitação nos nomes das aparências.",
        "default-skin-not-found-no-skins": "Ops! A aparência padrão para sua wiki, definida em <code>$wgDefaultSkin</code> como <code>$1</code>, não está disponível.\n\nVocê não tem aparências instaladas.\n\n; Se você já instalou ou atualizou o MediaWiki:\n: Você provavelmente instalou do git, ou diretamente do código fonte usando usando algum outro método. Isto é esperado. O MediaWiki 1.24 e mais recentes não incluem todas as aparências no repositório principal.Tente instalar algumas aparências do [https://www.mediawiki.org/wiki/Category:All_skins diretório de aparências do mediawiki.org]:\n:* Baixando o [https://www.mediawiki.org/wiki/Download instalador tarball], que vem com várias aparências e extensões. Você pode copiar e colar o diretório <code>skins/</code> dele.\n:* Baixando tarballs individuais de aparência de [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* Clonando um dos repositórios <code>mediawiki/skins/*</code> via git no diretório <code dir=\"ltr\">skins/</code> de sua instalação MediaWiki.\n: Fazer isso não deve interferir no seu repositório git se você é um desenvolvedor MediaWiki.Veja [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] para informações sobre como habilitar aparências e escolhar a padrão.",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (habilitado)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 ('''desabilitado''')",
index e1c80b8..75ad0cb 100644 (file)
        "linksearch-pat": "Padrão de pesquisa:",
        "linksearch-ns": "Domínio:",
        "linksearch-ok": "Pesquisar",
-       "linksearch-text": "É possível usar caracteres de substituição ''(wildcards)'', tais como \"*.wikipedia.org\".\nÉ necessário, pelo menos, um domínio de topo, por exemplo \"*.org\".<br />\n{{PLURAL:$2|Protocolo suportado|Protocolos suportados}}: <code>$1</code> (será utilizado http:// se não for especificado um protocolo).",
+       "linksearch-text": "É possível usar caracteres de substituição ''(wildcards)'', tais como \"*.wikipedia.org\".\nÉ necessário, pelo menos, um domínio de topo, por exemplo \"*.org\".<br />\n{{PLURAL:$2|Protocolo suportado|Protocolos suportados}}: $1 (será utilizado http:// se não for especificado um protocolo).",
        "linksearch-line": "Ligação para $1 na página $2",
        "linksearch-error": "Caracteres de substituição ''(wildcards)'' só podem ser usados no início do endereço.",
        "listusersfrom": "Mostrar utilizadores começados por:",
index ca6d375..0867cf7 100644 (file)
        "mergehistory-reason": "{{Identical|Reason}}",
        "mergehistory-revisionrow": "{{Optional}}\nA revision row in the merge history page. Parameters:\n* $1 - a radio button to indicate a merge point\n* $2 - a link to the last revision of a page ({{msg-mw|Last}})\n* $3 - a page link\n* $4 - a user link\n* $5 - a revision size\n* $6 - a revision comment",
        "mergelog": "{{doc-logpage}}\n\nThis is the name of a log of merge actions done on [[Special:MergeHistory]]. This special page and this log is not enabled by default.",
-       "pagemerge-logentry": "{{ignored}}This is ''logentry'' message only used on IRC.\n\nParameters:\n* $1 - the page name of the source of the content to be merged\n* $2 - the page into which the content is merged\n* $3 - a timestamp of limit\n\nThe log and its associated special page 'MergeHistory' is not enabled by default.\n\nPlease note that the parameters in a log entry will appear in the log only in the default language of the wiki. View [[Special:Log]] for examples on translatewiki.net with English default language.",
+       "pagemerge-logentry": "{{ignored}}This is ''logentry'' message only used on IRC.\n\nParameters:\n* $1 - the page name of the source of the content to be merged\n* $2 - the page into which the content is merged\n* $3 - a timestamp of limit\n\nThe log and its associated special page 'MergeHistory' is not enabled by default.\n\nPlease note that the parameters in a log entry will appear in the log only in the default language of the wiki. View [[Special:Log]] for examples on translatewiki.net with English default language.",
        "revertmerge": "Used as link text",
        "mergelogpagetext": "Description of the [{{canonicalurl:Special:Log|type=merge&user=&page=&year=&month=-1}} merge log], on the log. The associated [[Special:MergeHistory|Merge]] special page is not enabled by default.",
        "history-title": "Displayed as page title when you click on the \"history\" tab. Parameters:\n* $1 - the normal page title",
        "uploadwarning": "Used as section header in [[Special:Upload]].",
        "uploadwarning-text": "Used in [[Special:Upload]].",
        "savefile": "When uploading a file",
-       "uploadedimage": "{{ignored}}This is ''logentry'' message only used on IRC. $1 is the name of the file uploaded.",
-       "overwroteimage": "{{ignored}}This is ''logentry'' message only used on IRC. $1 is the name of the file uploaded.",
+       "uploadedimage": "{{ignored}}This is ''logentry'' message only used on IRC. $1 is the name of the file uploaded.",
+       "overwroteimage": "{{ignored}}This is ''logentry'' message only used on IRC. $1 is the name of the file uploaded.",
        "uploaddisabled": "Title of the [[Special:Upload]] page when upload is disabled.\n\nSee also:\n* {{msg-mw|Copyuploaddisabled}}",
        "copyuploaddisabled": "See also:\n* {{msg-mw|Uploaddisabled}}",
        "uploaddisabledtext": "Parameters:\n* $1 - (Optional) the name of the target file. See r22243 and [[bugzilla:8818|bug 8818]].",
        "blocklogpage": "{{doc-logpage}}\n\nThe page name of [[Special:Log/block]]. Also appears in the drop down menu of [[Special:Log]] pages and in the action links of Special:Contributions/''Username'' pages (e.g. \"For Somebody (talk | block log | logs)\").\n\n{{Identical|Block log}}",
        "blocklog-showlog": "Parameters:\n* $1 - (Optional) the blocked user. Can be used for GENDER\nSee also:\n* {{msg-mw|Blocklog-showsuppresslog}}\n* {{msg-mw|Globalblocking-showlog}}",
        "blocklog-showsuppresslog": "Parameters:\n* $1 - (Optional) the blocked user. Can be used for GENDER",
-       "blocklogentry": "This is ''logentry'' message only used on IRC.\n* $1 - the blocked user or IP (with link to contributions and talk)\n* $2 - the duration of the block (hours, days etc.) or the specified expiry date\n* $3 - contains \"(details) (''reason'')\", or empty string\nSee also:\n* {{msg-mw|Unblocklogentry}}\n* {{msg-mw|Reblock-logentry}}",
-       "reblock-logentry": "This is ''logentry'' message only used on IRC.\n\nParameters:\n* $1 - the user being reblocked\n* $2 - the expiry time of the block\n* $3 - extra parameters like \"account creation blocked\" (they are automatically between brackets)",
+       "blocklogentry": "This is ''logentry'' message only used on IRC.\n* $1 - the blocked user or IP (with link to contributions and talk)\n* $2 - the duration of the block (hours, days etc.) or the specified expiry date\n* $3 - contains \"(details) (''reason'')\", or empty string\nSee also:\n* {{msg-mw|Unblocklogentry}}\n* {{msg-mw|Reblock-logentry}}",
+       "reblock-logentry": "This is ''logentry'' message only used on IRC.\n\nParameters:\n* $1 - the user being reblocked\n* $2 - the expiry time of the block\n* $3 - extra parameters like \"account creation blocked\" (they are automatically between brackets)",
        "blocklogtext": "Appears on top of [[Special:Log/block]].",
-       "unblocklogentry": "This is ''logentry'' message only used on IRC.\n* $1 is the user being unblocked",
+       "unblocklogentry": "This is ''logentry'' message only used on IRC.\n* $1 is the user being unblocked",
        "block-log-flags-anononly": "Used as a block log flag in [[Special:Log/block]] and in [[Special:Block]].\n\nSee also:\n* {{msg-mw|Anononlyblock}}\n{{Related|Block-log-flags}}",
        "block-log-flags-nocreate": "Used as a block log flag in [[Special:Log/block]] and in [[Special:Block]].\n\nSee also:\n* {{msg-mw|Createaccountblock}}\n{{Related|Block-log-flags}}",
        "block-log-flags-noautoblock": "Used as a block log flag in [[Special:Log/block]] and in [[Special:Block]].\n{{Related|Block-log-flags}}\n{{Identical|Autoblock disabled}}",
        "import-rootpage-nosubpage": "Used on [[Special:Import]], when the import namespace does not support subpages. Parameters:\n* $1 is a namespace name.",
        "importlogpage": "{{doc-logpage}}",
        "importlogpagetext": "This text appears at the top of the [{{canonicalurl:Special:Log|type=import}} import log] special page.",
-       "import-logentry-upload": "{{ignored}}This is ''logentry'' message only used on IRC.\n* $1 is the name of the imported file",
+       "import-logentry-upload": "{{ignored}}This is ''logentry'' message only used on IRC.\n* $1 is the name of the imported file",
        "import-logentry-upload-detail": "Used as success message and log entry. Parameters:\n* $1 - number of succeeded revisions\nSee also:\n* {{msg-mw|Import-logentry-interwiki-detail}}",
-       "import-logentry-interwiki": "{{ignored}}This is ''logentry'' message only used on IRC. Parameters:\n* $1 - page title",
+       "import-logentry-interwiki": "{{ignored}}This is ''logentry'' message only used on IRC. Parameters:\n* $1 - page title",
        "import-logentry-interwiki-detail": "Used as success message and log entry. Parameters:\n* $1 - number of succeeded revisions\n* $2 - interwiki name\nSee also:\n* {{msg-mw|Import-logentry-upload-detail}}",
        "javascripttest": "Title of the special page [[Special:JavaScriptTest]].\n\nSee also:\n* {{msg-mw|Javascripttest|title}}\n* {{msg-mw|Javascripttest-pagetext-noframework|summary}}\n* {{msg-mw|Javascripttest-pagetext-unknownframework|error message}}",
        "javascripttest-backlink": "{{optional}}\nUsed as subtitle in [[Special:JavaScriptTest]]. Parameters:\n* $1 - page title",
        "patrol-log-line": "Text of notes on entries in the [{{FULLURL:Special:Log|type=patrol}} patrol log].\nParameters:\n* $1 - the link whose text is {{msg-mw|patrol-log-diff}}\n* $2 - the name of the page\n* $3 - appears to be {{msg-mw|Patrol-log-auto}} (at least sometimes)\n\nThe message appears after the name of the patroller.",
        "patrol-log-auto": "Automated edit summary when patrolling.\n\n{{Identical|Automatic}}",
        "patrol-log-diff": "The text of the diff link in {{msg-mw|Patrol-log-line}} (inside <code>$1</code> there).\n\nParameters:\n* $1 - revision ID\n{{Identical|Revision}}",
-       "1movedto2": "{{ignored}}This is ''logentry'' message only used on IRC. Parameters:\n* $1 - the original page name\n* $2 - the destination page name\nSee also:\n* {{msg-mw|1movedto2 redir}}",
-       "1movedto2_redir": "{{ignored}}This is ''logentry'' message only used on IRC. Parameters:\n* $1 - the original page name\n* $2 - the destination page name\nSee also:\n* {{msg-mw|1movedto2}}",
+       "1movedto2": "{{ignored}}This is ''logentry'' message only used on IRC. Parameters:\n* $1 - the original page name\n* $2 - the destination page name\nSee also:\n* {{msg-mw|1movedto2 redir}}",
+       "1movedto2_redir": "{{ignored}}This is ''logentry'' message only used on IRC. Parameters:\n* $1 - the original page name\n* $2 - the destination page name\nSee also:\n* {{msg-mw|1movedto2}}",
        "move-redirect-suppressed": "{{ignored}}Message unused?",
        "newuserlog-create-entry": "Part of the \"Newuserlog\" extension. It is the summary in the [[Special:RecentChanges|recent changes]] and on [[Special:Log/newusers]].",
        "newuserlog-create2-entry": "Part of the \"Newuserlog\" extension.\n\nIt is the summary in the [[Special:RecentChanges|recent changes]] and on [[Special:Log/newusers]] when creating an account for someone else (\"$1\").\n\nPreceded by the name of the user doing this task.\n\nParameters:\n* $1 - username",
index fdb1d76..73379c0 100644 (file)
        "passwordreset": "Yaykuna rimata kutichiy",
        "passwordreset-text-one": "Kay hunt'ana p'anqata hunt'ay, yaykuna rimaykita kutichinaykipaq.",
        "passwordreset-text-many": "{{PLURAL:$1|Kay k'itichakunamanta hukta hunt'achiy, yaykuna rimaykita kutichinaykipaq.}}",
-       "passwordreset-legend": "Yaykuna rimata kutichiy",
        "passwordreset-disabled": "Kay wikipiqa yaykuna rimata manam kutichiyta atinkichu.",
        "passwordreset-emaildisabled": "Kay wikipiqa e-chaski llamk'anakunaman ama nisqam.",
        "passwordreset-username": "Ruraqpa sutin:",
        "changeemail-throttled": "Nisyu kutiñam yaykuykacharqunki.\nAma hina kaspa, $1 suyay manaraq musuqmanta yaykuykachaspayki.",
        "resettokens": "Llawikunata kutichiy",
        "resettokens-no-tokens": "Manam kanchu kutichina llawikuna.",
-       "resettokens-legend": "Llawikunata kutichiy",
        "resettokens-tokens": "Llawikuna:",
        "resettokens-token-label": "$1 (kunan chani: $2)",
        "resettokens-done": "Llawikunaqa kutichimusqañam.",
        "nmembers": "$1 {{PLURAL:$1|qillqa|qillqakuna}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|wankurisqa|wankurisqakuna}}",
        "nrevisions": "$1 {{PLURAL:$1|llamk'apusqa|llamk'apusqakuna}}",
-       "nviews": "$1 {{PLURAL:$1|rikuy|rikuykuna}}",
        "nimagelinks": "$1 {{PLURAL:$1|p'anqapi|p'anqakunapi}} llamk'achisqa",
        "ntransclusions": "$1 {{PLURAL:$1|p'anqapi|p'anqakunapi}} llamk'achisqa",
        "specialpage-empty": "Kay p'anqaqa ch'usaqmi.",
        "linksearch-pat": "Kay qatinallakama maskay:",
        "linksearch-ns": "Suti k'iti:",
        "linksearch-ok": "Maskay",
-       "linksearch-text": "Ima rantipas sananchawanpas maskayta saqillasunkim, ahinataq \"*.wikipedia.org\".\nHawa kaq duminyullapas kanam, ahinataq \"*.org\".<br />\nQ'imichisqa tantari {{PLURAL:$2|qillqa|qillqakuna}}: <code>$1</code> (mana mayqintapas akllaptiykiqa, http:// nisqam kanqa).",
+       "linksearch-text": "Ima rantipas sananchawanpas maskayta saqillasunkim, ahinataq \"*.wikipedia.org\".\nHawa kaq duminyullapas kanam, ahinataq \"*.org\".<br />\nQ'imichisqa tantari {{PLURAL:$2|qillqa|qillqakuna}}: $1 (mana mayqintapas akllaptiykiqa, http:// nisqam kanqa).",
        "linksearch-line": "$1-man $2-manta t'inkimusqa",
        "linksearch-error": "Ima rantipas sananchaqa (* ?) tiyaypa qallariyninpim kanman chaylla.",
        "listusersfrom": "Kaywan qallariq ruraqkunata rikuchiy:",
index 2034bab..3ae9792 100644 (file)
        "resetpass-wrong-oldpass": "Fauss pled-clav temporar u actual.\nEventualmain has ti gia midà cun success tes pled-clav u dumandà per in nov pled-clav temporar.",
        "resetpass-temp-password": "Pled-clav temporar:",
        "passwordreset": "Redefinir il pled-clav",
-       "passwordreset-legend": "Redefinir il pled-clav",
        "passwordreset-disabled": "La pussaivladad da redefinir il pled-clav è vegnida deactivada sin questa wiki.",
        "passwordreset-username": "Num d'utilisader:",
        "passwordreset-domain": "Domain:",
        "nlinks": "$1 {{PLURAL:$1|colliaziun|colliaziuns}}",
        "nmembers": "$1 {{PLURAL:$1|commember|commembers}}",
        "nrevisions": "{{PLURAL:$1|Ina versiun|$1 versiuns}}",
-       "nviews": "Contemplà $1 {{PLURAL:$1|giada|giadas}}",
        "nimagelinks": "Utilisà sin $1 {{PLURAL:$1|pagina|paginas}}",
        "ntransclusions": "utilisà sin $1 {{PLURAL:$1|pagina|paginas}}",
        "specialpage-empty": "Questa pagina cuntegna actualmain naginas endataziuns.",
        "linksearch-pat": "Muster da tschertgar:",
        "linksearch-ns": "Tip da pagina:",
        "linksearch-ok": "Tschertgar",
-       "linksearch-text": "Tegnaplazzas sco \"*.wikipedia.org\" pon vegnir utilisads.\nDovra almain ina top-level domain, per exempel \"*.org\".<br />\n{{PLURAL:$2|Protocol sustegnì|Protocols sustegnids}}: <code>$1</code> (standard è http:// sche nagin protocol è specifitgà).",
+       "linksearch-text": "Tegnaplazzas sco \"*.wikipedia.org\" pon vegnir utilisads.\nDovra almain ina top-level domain, per exempel \"*.org\".<br />\n{{PLURAL:$2|Protocol sustegnì|Protocols sustegnids}}: $1 (standard è http:// sche nagin protocol è specifitgà).",
        "linksearch-line": "$1 è collià davent da la pagina $2",
        "linksearch-error": "Wildcards pon esser be a l'entschatta dal num da host.",
        "listusersfrom": "Mussar utilisaders davent da:",
index 555e802..c5e723b 100644 (file)
        "linksearch-pat": "De căutat:",
        "linksearch-ns": "Spațiu de nume:",
        "linksearch-ok": "Caută",
-       "linksearch-text": "Pot fi folosite metacaractere precum „*.wikipedia.org”.\nNecesită cel puțin un domeniu de nivel superior, cum ar fi „*.org”.<br />\n{{PLURAL:$2|Protocol suportat|Protocoale suportate}}: <code>$1</code> (se trece implicit la http:// dacă nu este specificat niciun protocol).",
+       "linksearch-text": "Pot fi folosite metacaractere precum „*.wikipedia.org”.\nNecesită cel puțin un domeniu de nivel superior, cum ar fi „*.org”.<br />\n{{PLURAL:$2|Protocol suportat|Protocoale suportate}}: $1 (se trece implicit la http:// dacă nu este specificat niciun protocol).",
        "linksearch-line": "$1 este legat de $2",
        "linksearch-error": "Metacaracterele pot să apară doar la începutul hostname-ului.",
        "listusersfrom": "Afișează utilizatori începând cu:",
index 54c4084..df1ee67 100644 (file)
        "linksearch-pat": "Cirche le cambiune:",
        "linksearch-ns": "Neimspeise:",
        "linksearch-ok": "Cirche",
-       "linksearch-text": "Le wildcard cumme a \"*.wikipedia.org\" ponne essere ausate.<br />\nOnne abbesogne almene de 'nu dominie de levèlle ierte, pe esembie \"*.org\". <br />\n{{PLURAL:$2|Protocolle}} supportate: <code>$1</code> ('u valore de base jè http:// ce 'u protocolle non g'è specificate).",
+       "linksearch-text": "Le wildcard cumme a \"*.wikipedia.org\" ponne essere ausate.<br />\nOnne abbesogne almene de 'nu dominie de levèlle ierte, pe esembie \"*.org\". <br />\n{{PLURAL:$2|Protocolle}} supportate: $1 ('u valore de base jè http:// ce 'u protocolle non g'è specificate).",
        "linksearch-line": "$1 jè pundete da $2",
        "linksearch-error": "Le wildcard ponne essere ausate sulamende a l'inzie de l'hostname.",
        "listusersfrom": "Fà vedè l'utinde partenne da:",
index 5183fdc..296b621 100644 (file)
        "linksearch-pat": "Шаблон для поиска:",
        "linksearch-ns": "Пространство имён:",
        "linksearch-ok": "Найти",
-       "linksearch-text": "Можно использовать подстановочные символы, например, <code>*.wikipedia.org</code>.\nНеобходимо указать по крайней мере домен верхнего уровня, например <code>*.org</code><br />\n{{PLURAL:$2|1=Поддерживаемый протокол|Поддерживаемые протоколы}}: <code>$1</code> (если протокол явно не задан, по умолчанию подставляется http://).",
+       "linksearch-text": "Можно использовать подстановочные символы, например, <code>*.wikipedia.org</code>.\nНеобходимо указать по крайней мере домен верхнего уровня, например <code>*.org</code><br />\n{{PLURAL:$2|1=Поддерживаемый протокол|Поддерживаемые протоколы}}: $1 (если протокол явно не задан, по умолчанию подставляется http://).",
        "linksearch-line": "Ссылка на $1 из $2",
        "linksearch-error": "Подстановочные символы могут использоваться только в начале адресов.",
        "listusersfrom": "Показать участников, начиная с:",
index 984516f..98ffb27 100644 (file)
        "passwordreset": "Ресет гесла",
        "passwordreset-text-one": "Выпиште тот формуларь, жебы сьте могли здобыти нове гесло",
        "passwordreset-text-many": "{{PLURAL:$1|На здобытя нового гесла доповньте єдно з даных.}}",
-       "passwordreset-legend": "Знову наставити гесло",
        "passwordreset-disabled": "Зновунаставлїня гесла є на тій вікі заказане",
        "passwordreset-emaildisabled": "Функції електронічной пошты были выпнуы на тій вікі.",
        "passwordreset-username": "Мено хоснователя:",
        "resettokens": "Реініціалізація клічів",
        "resettokens-text": "На тій сторінцї можете реініціалізовати клічі, якы уможнюють приступ к даякым пріватным даным звязаным з вашым контом.\n\n{{GENDER:|Мав|Мала|Мали}} бы сьте то учінити тогды, колы сьте помылково дакому {{GENDER:|прозрадив|прозрадила|прозрадили}}, або ваше конто было зрушене.",
        "resettokens-no-tokens": "Не є ниякых клічів на реініціалізацію.",
-       "resettokens-legend": "Реініціалізація клічів",
        "resettokens-tokens": "Клічі:",
        "resettokens-token-label": "$1 (актуалне значіня: $2)",
        "resettokens-watchlist-token": "Кліч до вебового канала (Atom/RSS) [[Special:Watchlist|змін слїдованых сторінок]]",
        "nlinks": "$1 {{PLURAL:$1|одказ|одказы|одказів}}",
        "nmembers": "$1 {{PLURAL:$1|обєкт|обєкты|обєктів}}",
        "nrevisions": "$1 {{PLURAL:$1|ревізія|ревізії|ревізій}}",
-       "nviews": "$1 {{PLURAL:$1|навщіва|навщівы|навщів}}",
        "nimagelinks": "Хоснованый ня $1 {{PLURAL:$1|сторінка|сторінкы|сторінках}}",
        "ntransclusions": "хоснованый ня $1 {{PLURAL:$1|сторінка|сторінкы|сторінках}}",
        "specialpage-empty": "Той пожадавцї не одповідають жадны записы.",
        "linksearch-pat": "Шаблона про ґлядяня:",
        "linksearch-ns": "Простор назв:",
        "linksearch-ok": "Глядати",
-       "linksearch-text": "Може хосновати заступны сімболы, наприклад „*.wikipedia.org“.<br />\nПовиннов є передовшыткым домена найвысшой уровни, напр. „*.org“.<br />\n{{PLURAL:$2|Підпорованый протокол|Підпорованы протоколы}}: <code>$1</code> (кідь не є шпеціфікованый та http://).",
+       "linksearch-text": "Може хосновати заступны сімболы, наприклад „*.wikipedia.org“.<br />\nПовиннов є передовшыткым домена найвысшой уровни, напр. „*.org“.<br />\n{{PLURAL:$2|Підпорованый протокол|Підпорованы протоколы}}: $1 (кідь не є шпеціфікованый та http://).",
        "linksearch-line": "$2 одказує на $1",
        "linksearch-error": "Заступны сімболы може хосновати лем на початку доменового мена.",
        "listusersfrom": "Вказати хоснователїв, што ся зачінають на:",
index fa51788..113e060 100644 (file)
        "passwordreset": "कूटशब्दः परिवर्त्यताम्",
        "passwordreset-text-one": "वि-पत्रमाध्यमेन अल्पकालीनकूटशब्दं प्राप्तुम् अधस्तनं प्रपत्रं पूरयतु ।",
        "passwordreset-text-many": "{{PLURAL:$1|वि-पत्रमाध्यमेन अल्पकालीनकूटशब्दं प्राप्तुम् अधस्तनां कामपि एकां पेटिकां पूरयतु ।}}",
-       "passwordreset-legend": "कूटशब्दः परिवर्त्यताम्",
        "passwordreset-disabled": "अस्मिन् विकि-जालस्थाने कूटशब्दं परिर्तितुं निषेधः अस्ति ।",
        "passwordreset-emaildisabled": "अस्मिन् विकि-जालस्थाने वि-पत्रसम्बद्धाः सेवाः असमर्थिताः सन्ति ।",
        "passwordreset-username": "योजकनाम:",
        "resettokens": "चिह्नानि (tokens) परिवर्त्यताम्",
        "resettokens-text": "भवतः/भवत्याः सदस्यतया सह सल्लग्नानि चिह्नानि () उपयोक्तुं शक्यन्ते । येन अनया सदस्यतया सह सल्लग्नाः काश्चन गुप्तसूचनाः ज्ञातुं शक्यन्ते ।",
        "resettokens-no-tokens": "परिवर्तनार्थं न किमपि चिह्नं तत्र विद्यते ।",
-       "resettokens-legend": "चिह्नानि (tokens) परिवर्त्यताम्",
        "resettokens-tokens": "चिह्नानि :",
        "resettokens-token-label": "$1 (वर्तमानमूल्यम् : $2)",
        "resettokens-watchlist-token": "[[Special:Watchlist|भवतः/भवत्याः ध्यानसूच्याः परिवर्तनस्य]] जालपूर्तेः (Atom/RSS) चिह्नं",
        "linksearch-pat": "अन्वेषणस्य क्रमः ।",
        "linksearch-ns": "नामस्थानम् :",
        "linksearch-ok": "अन्वेषणम्",
-       "linksearch-text": "\"*.wikipedia.org\" सदृशानि वन्यपत्राणि योजयितुं शक्यते । \nन्यूनातिन्यूनं \".org\" सदृशः अत्युन्नतस्तरस्य डोमेन आवश्यकम् अस्ति <br />\nअनुमोदितक्रमागतिः {{PLURAL:$2|protocol|protocols}}: <code>$1</code> (http:// एतेषु कतममपि अन्वेषणे न योजयतु )",
+       "linksearch-text": "\"*.wikipedia.org\" सदृशानि वन्यपत्राणि योजयितुं शक्यते । \nन्यूनातिन्यूनं \".org\" सदृशः अत्युन्नतस्तरस्य डोमेन आवश्यकम् अस्ति <br />\nअनुमोदितक्रमागतिः {{PLURAL:$2|protocol|protocols}}: $1 (http:// एतेषु कतममपि अन्वेषणे न योजयतु )",
        "linksearch-line": " $1 इति $2 इत्यस्मात् परिसन्धितमस्ति",
        "linksearch-error": "वन्यपत्राणि आतिथेयस्य नाम्ना समं केवलं प्रभान्ति ।",
        "listusersfrom": "एतस्मात् आरभमाणान् योजकान् दर्शयतु ।",
        "special-characters-group-khmer": "खमेर",
        "special-characters-title-endash": "en dash",
        "special-characters-title-emdash": "em dash",
-       "special-characters-title-minus": "minus sign"
+       "special-characters-title-minus": "minus sign",
+       "mw-widgets-titleinput-description-new-page": "पृष्ठं न विद्यते"
 }
index 1148f68..5bb3512 100644 (file)
        "passwordreset": "Киирии тылы саҥаттан",
        "passwordreset-text-one": "Урукку киирии тылы уларытарга бу форманы толор.",
        "passwordreset-text-many": "{{PLURAL:$1|Быстах киирии тылы электрон почтаҕар ыыттарарга түннүктэртэн биирдэстэрин толор.}}",
-       "passwordreset-legend": "Киирии тылы саҥаттан",
        "passwordreset-disabled": "Бу биикигэ киирии тылы саҥардыы бобуллубут.",
        "passwordreset-emaildisabled": "Бу биикигэ эл. почтаны туттуу араарыллыбыт",
        "passwordreset-username": "Кыттааччы:",
        "resettokens": "Токеннары бырах",
        "resettokens-text": "Бу ситим-сиргэ бэлиэтэммит ааккын кытта ситимнээх токеннары сотуоххун сөп.\n\nАлҕас кимиэхэ эрэ биэрэн кэбиспит буоллаххына эбэтэр ким эрэ эн ааккынан алдьатан киирбит буоллаҕына маны туһаныахха сөп.",
        "resettokens-no-tokens": "Сотуллар токен суох эбит.",
-       "resettokens-legend": "Токеннары бырах",
        "resettokens-tokens": "Токеннар:",
        "resettokens-token-label": "$1 (билиҥҥитэ: $2)",
        "resettokens-watchlist-token": "[[Special:Watchlist|Кэтиир сирэйдэриҥ уларыйыыларын]] ситим-ханаалын (Atom/RSS) токена",
        "yourdiff": "Уратылар",
        "copyrightwarning": "Болҕой, манна оҥоһуллубут эбиилэр уонна уларытыылар $2 лицензиялаахтар (сиһ. маны көр $1). Өскө эн ыстатыйаларыҥ көҥүл тарҕаналларын уонна туһаныллалларын баҕарбат буоллаххына манна суруйума.<br />\nЭбиитин манна суруйар матырыйаалгын эбэтэр бэйэҥ суруйуохтааххын, эбэтэр көҥүл туһаныллары уонна көҥүл уларытары көҥүллүүр сиртэн ылбыт буолуохтааххын.\n'''КИМ ЭРЭ БАС БИЛЭР МАТЫРЫЙААЛЫН КИНИТТЭН КӨҤҮЛЭ СУОХ МАННА УГУМА!'''",
        "copyrightwarning2": "Болҕой, эн суруйбут матырыйаалгын ким баҕарар уларытар уонна суох гынар бырааптаах. Суруйбуккун уларыталларын сөбүлээбэт буоллаххына манна суруйума.<br />\nЭбиитин манна суруйдаххына, уларытыы ааптара мин буолабын, эбэтэр көҥүл туһанары уонна уларытары көҥүллүүр сиртэн ыллым диэн бигэргэтэҕин (маны көр $1).<br /> '''КИМ ЭРЭ БАС БИЛИИТИН МАННА КИНИТТЭН КӨҤҮЛЭ СУОХ УГУМА!'''",
+       "editpage-cannot-use-custom-model": "Бу сирэй иһинээҕитин тутула уларыйар кыаҕа суох.",
        "longpageerror": "'''Алҕас: Суруйар кэрчиккит {{PLURAL:$1|биир килобаайт|$1 килобаайт}} ыйааһыннаах, онтуккут көҥүллэммит {{PLURAL:$2|биир килобаайты|$2 килобайты}} килобаайты куоһарар. Онон сирэй бигэргэтиллэр кыаҕа суох.'''",
        "readonlywarning": "'''Сэрэтии: Сиэрбэргэ техническай үлэ бара турар, онон киллэрбит уларытыыларыҥ тута бигэргэнэр кыахтара суох.'''\nОнон уларытыыгын тиэкистээх билэҕэ уган баран, кэлин манна киллэриэххин сөп.\n\nХааччаҕы туруорбут дьаһабыл маннык быһаарыыны хаалларбыт: $1",
        "protectedpagewarning": "'''Сэрэтии:  Бу сирэй хатанан турар, администратор бырааптаах эрэ кыттааччылар уларытар кыахтаахтар.'''\nАллара сурунаал бүтэһик суруга көрдөрүлүннэ:",
        "badsig": "Сыыһа илии баттааһын; HTML тиэгтэрин көр.",
        "badsiglength": "Наһаа уһун илии баттааһын.\n$1 {{PLURAL:$1|бэлиэттэн|бэлиэттэн (буукубаттан)}} ордук буолуо суохтаах.",
        "yourgender": "Хайата Эйиэхэ сөп түбэһэрий?",
-       "gender-unknown": "ЫйбаÑ\82 Ð¸Ð½Ð¸Ð±Ð¸Ð½",
+       "gender-unknown": "Эн Ñ\82Ñ\83Ñ\81кÑ\83нан Ñ\81Ñ\83Ñ\80Ñ\83йаÑ\80Ñ\8bгаÑ\80, Ð±Ð°Ð°Ð¹Ñ\8bм Ñ\8dÑ\80гин Ð±Ð¸Ð¸Ñ\82Ñ\8dÑ\80 Ð´Ñ\8cаÑ\85Ñ\82аÑ\80гÑ\8bн Ð°Ñ\80ааÑ\80Ñ\8bа Ñ\81Ñ\83оÒ\95а",
        "gender-male": "Кини биики сирэйдэри уларытар",
        "gender-female": "Кини биики сирэйдэри уларытар",
        "prefs-help-gender": "Маны туруорар булгуччута суох. \nБырагыраамма сорох дьоҥҥо туһаайыллыбыт биллэриилэригэр эбэтэр кинилэргэ сыһыаннаах этиилэригэр кытааччы дьахтарыттан эбэтэр эр киһититтэн көрөн этии тутулун уларытан биэриэн сөп. \nТуора дьоҥҥо көстөр бэлиэтээһин.",
        "right-passwordreset": "Киирии тылы почта нөҥүө уларытыыны көрүү",
        "right-managechangetags": "[[Special:Tags|Бэлиэлэри]] билии олоҕуттан ылыы уонна сотуу",
        "right-applychangetags": "Улартыыларгын кытта [[Special:Tags|тиэктэри]] тутун",
+       "right-changetags": "Ханнык баҕарар [[Special:Tags|тиэктэри]] биирдиилээн уларытыыларга уонна сурунаал суруйууларыгар эбэри уонна сотору көҥүллээ",
        "newuserlogpage": "Кыттааччылары бэлиэтиир сурунаал",
        "newuserlogpagetext": "Соторутааҕыта бэлиэтэммит кыттааччылар.",
        "rightslog": "Кыттаачы бырааптарын сурунаала",
        "action-editmyprivateinfo": "бэйэҥ тускунан суруллубуту уларыт",
        "action-editcontentmodel": "сирэй ис тутулун уларытыы",
        "action-managechangetags": "билии олоҕор бэлиэлэри оҥоруу уонна сотуу",
+       "action-applychangetags": "тиэктэри Эн уларытыыларгын кытта туһанары көҥүллээ",
+       "action-changetags": "ханнык баҕарар тиэктэри сурунаал биирдиилээн уларытыыларыгар уонна суруктарыгар эбэри уонна сотору көҥүллээ",
        "nchanges": "$1 {{PLURAL:$1|уларытыы|уларытыылар}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|тиһэх сылдьыыгыттан}}",
        "enhancedrc-history": "устуоруйата",
        "uploadscripted": "Бу билэ HTML эбэтэр скрипт куодтаах эбит. Интэриниэт көрдөрөр бырагыраамма ону сыыһа ааҕыан сөп.",
        "upload-scripted-pi-callback": "XML истиилин табылыыссатын таҥастыыр туһунан ыйыылаах-кэрдиилээх билэни хачайдыыр табыллыбата.",
        "uploaded-script-svg": "Хачайдаммыт SVG-билэҕэ сценарийы өйүүр куттааллаах «$1» элэмиэн көһүннэ.",
+       "uploaded-hostile-svg": "Хачайдаммыт SVG-билэ истиилин элэмиэнигэр кутталлаах CSS-куод көһүннэ.",
+       "uploaded-event-handler-on-svg": "SVG-билэлэргэ <code>$1=\"$2\"</code> сабыытыйаны таҥастааччы атрибууттарын туруоруу көҥүллэммэт.",
+       "uploaded-href-attribute-svg": "SVG-билэлэргэ олохтоох соруга суох href-атрибууттар <code>&lt;$1 $2=\"$3\"&gt;</code> бобуллаллар (а.э. http://, javascript:, уо.д.а.).",
+       "uploaded-href-unsafe-target-svg": "Хачайдаммыт SVG-билэҕэ кутталлаах сигэ көһүннэ <code>&lt;$1 $2=\"$3\"&gt;</code>.",
+       "uploaded-animate-svg": "«Animate» тиэк көһүннэ, кини «from»-атрибут көмөтүнэн  <code>&lt;$1 $2=\"$3\"&gt;</code> хачайдаммыт SVG-билэҕэ сигэни уларытыан сөп.",
        "uploaded-image-filter-svg": "Хачайдаммыт SVG-билэҕэ маннык URL-аадырыстаах ойуу сиидэтэ көстүбүт <code>&lt;$1 $2=\"$3\"&gt;</code>.",
        "uploadscriptednamespace": "Бу SVG-билэ алҕастаах аат даллаах эбит: '$1'",
        "uploadinvalidxml": "Хачайдаммит билэҕэ XML анаалыстанар кыаҕа суох.",
        "linksearch-pat": "Көрдөөһүн халыыба:",
        "linksearch-ns": "Аат хочото (namespace):",
        "linksearch-ok": "Бул",
-       "linksearch-text": "Туруоран биэрэр бэлиэлэри туһаныахха сөп, холобур,  <code>*.wikipedia.org</code>.\nҮрдүкү таһымнаах домен буолуохтаах, холобур <code>*.org</code>.<br />\nӨйөнөр {{PLURAL:$2|боротокуол|боротокуоллар}}: <code>$1</code> (көрдүүргэр ханнык да боротокуолу талбатаххына http:// туруоруллуо)",
+       "linksearch-text": "Туруоран биэрэр бэлиэлэри туһаныахха сөп, холобур,  <code>*.wikipedia.org</code>.\nҮрдүкү таһымнаах домен буолуохтаах, холобур <code>*.org</code>.<br />\nӨйөнөр {{PLURAL:$2|боротокуол|боротокуоллар}}: $1 (көрдүүргэр ханнык да боротокуолу талбатаххына http:// туруоруллуо)",
        "linksearch-line": "Мантан $2 манна $1 ыйынньык",
        "linksearch-error": "Туруоран биэрэр бэлиэлэри аадырыс/hostname саҕаланыытыгар эрэ туттуохха сөп.",
        "listusersfrom": "Мантан саҕалаан кыттааччылары көрдөр:",
        "tooltip-pt-logout": "Тахсыы",
        "tooltip-pt-createaccount": "Манна киирэргэ бэлиэтэнэр уонна куруук ол аатынан киирэр ордук; ол булгуччута суох",
        "tooltip-ca-talk": "Ыстатыйаны ырытыы",
-       "tooltip-ca-edit": "Бу сирэйи уларытыахха сөп. Бука диэн бастаан хайдах буоларын көрөн баран уларыт.",
+       "tooltip-ca-edit": "Бу сирэйи уларыт",
        "tooltip-ca-addsection": "Саҥа салааны саҕалааһын",
        "tooltip-ca-viewsource": "Бу сирэй улартыллыбат. Ол гынан баран тутулун көрүөххүн уонна устан ылыаххын сөп.",
        "tooltip-ca-history": "Бу сирэй урукку торумнара.",
index cb9d930..db80f6f 100644 (file)
        "linksearch-pat": "Esprissioni di risciduta:",
        "linksearch-ns": "Namespace:",
        "linksearch-ok": "Arriscedi",
-       "linksearch-text": "Si ponnu adupirari li caràttiri matta, ad esempiu \"*.wikipedia.org\".\nCci voli almenu nu duminiu di primu liveddu, ad esempiu \"*.org\".<br />\n{{PLURAL:$2|Protucollu suppurtatu|Protucolli suppurtati}}: <code>$1</code> (è pridifinutu http:// si' nun si nni spicìfica)",
+       "linksearch-text": "Si ponnu adupirari li caràttiri matta, ad esempiu \"*.wikipedia.org\".\nCci voli almenu nu duminiu di primu liveddu, ad esempiu \"*.org\".<br />\n{{PLURAL:$2|Protucollu suppurtatu|Protucolli suppurtati}}: $1 (è pridifinutu http:// si' nun si nni spicìfica)",
        "linksearch-line": "$1 è culligatu dâ pàggina $2",
        "linksearch-error": "Li caràttiri matta ponnu appariri sulu ô principiu dû nomu host.",
        "listusersfrom": "Ammustra l'utenti a' pàrtiri di:",
index 6735a93..37e3344 100644 (file)
        "passwordreset": "Reset passwaird",
        "passwordreset-text-one": "Compleate this form tae receive ae temperie passwaird via wab-mail.",
        "passwordreset-text-many": "{{PLURAL:$1|Fill in yin o the fields tae receive ae temperie passwaird via wab-mail.}}",
-       "passwordreset-legend": "Reset passwaird",
        "passwordreset-disabled": "Passwaird resets hae been disabled oan this wiki.",
        "passwordreset-emaildisabled": "Wab-mail features hae been disabled oan this wiki.",
        "passwordreset-username": "Uisername:",
        "resettokens": "Reset tokens.",
        "resettokens-text": "Ye can reset tokens that permit ye access til certain private data associated wi yer accoont here.\n\nYe shid dae it gif ye accidentally shaired theim wi somebodie or gif yer accoont haes been compromised.",
        "resettokens-no-tokens": "Thaur ar nae tokens tae reset.",
-       "resettokens-legend": "Reset tokens.",
        "resettokens-tokens": "Tokens':",
        "resettokens-token-label": "$1 (value the nou: $2)",
        "resettokens-watchlist-token": "Token fer the wab feed (Atom/RSS) o [[Special:Watchlist|chynges til pages oan yer watchleet]]",
        "nmembers": "$1 {{PLURAL:$1|memmer|memmers}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|memmer|memmers}}",
        "nrevisions": "$1 {{PLURAL:$1|reveesion|reveesions}}",
-       "nviews": "$1 {{PLURAL:$1|luik|luiks}}",
        "nimagelinks": "Uised oan $1 {{PLURAL:$1|page|pages}}",
        "ntransclusions": "uised oan $1 {{PLURAL:$1|page|pages}}",
        "specialpage-empty": "Thaur's naw ootcomes fer this report.",
        "linksearch-pat": "Rake pattern:",
        "linksearch-ns": "Namespace:",
        "linksearch-ok": "Rake",
-       "linksearch-text": "Wildcairds like \"*.wikipedia.org\" can be uised.\nNeeds at least ae top-level domain, fer example \"*.org\".<br />\nSupported {{PLURAL:$2|protocol|protocols}}: <code>$1</code> (defaults to http:// gif naw protocol is speceefied).",
+       "linksearch-text": "Wildcairds like \"*.wikipedia.org\" can be uised.\nNeeds at least ae top-level domain, fer example \"*.org\".<br />\nSupported {{PLURAL:$2|protocol|protocols}}: $1 (defaults to http:// gif naw protocol is speceefied).",
        "linksearch-line": "$1 is airtit fae $2",
        "linksearch-error": "Wildcards micht appear yinlie at the stairt o the hoastname.",
        "listusersfrom": "Displey uisers stairtin at:",
index abe5406..e4a0b4e 100644 (file)
        "passwordreset": "Šennikufal yeeti",
        "passwordreset-text-one": "Takaddaa woo timmandi ka duu šiiyan šennikufal bataga ra.",
        "passwordreset-text-many": "{{PLURAL:$1|Faari foo toonandi ka duu šiiyan šennikufal foo bataga ra.}}",
-       "passwordreset-legend": "Šennikufal yeeti",
        "passwordreset-disabled": "Šennikufal yeetiyan n' ka kaŋ wikiyoo woo se.",
        "passwordreset-emaildisabled": "Bataga alhaaley n' ka kaŋ wikiyoo ga.",
        "passwordreset-username": "Goykaw maa:",
        "resettokens": "Tammaasawey yeeti",
        "resettokens-text": "War ga hin ka tammaasawey yeeti kaŋ ga too war ma hin ka dii sutura bayhaya tanayaŋ nda war kontoo ne.\n|nWar ga hima k'a tte nda war dere k'i noo boro waani se wala nda war ga šikka kaŋ boro waani n' ka huru kontoo ra.",
        "resettokens-no-tokens": "Tammaasa kul šii yeetiyan se.",
-       "resettokens-legend": "Tammaasawey yeeti",
        "resettokens-tokens": "Tammaasawey:",
        "resettokens-token-label": "$1 (sohõda hinna: $2)",
        "resettokens-watchlist-token": "Tammaasa interneti toonandiyanoo se (Atom/RSS) [[Special:Hawgayhayey|barmawey war hawgayhayey maašeedaa ga]]",
        "nmembers": "{{PLURAL:$1|kondayze}} $1",
        "nmemberschanged": "{{PLURAL:$2|kondayze}} $1 → $2 \\",
        "nrevisions": "{{PLURAL:$1|filla}} $1",
-       "nviews": "{{PLURAL:$1|gunari}} $1 \\",
        "nimagelinks": "Goyandi {{PLURAL:$1|moo}} ga",
        "ntransclusions": "goyandi {{PLURAL:$1|moo}} 1",
        "specialpage-empty": "Hunyan kulyaŋ ši bayrandiroo woo se.",
        "linksearch-pat": "Noone ceeci:",
        "linksearch-ns": "Maafarru:",
        "linksearch-ok": "Ceeci",
-       "linksearch-text": "Baytal tammaasawey sanda \"*.wikipedia.org\" ga hin ka goyandi.\nMa bara nda, nd'a jaase, beene-alkadar nungu, sanda \"*.org\".<br />\n{{PLURAL:$2|fondo|fondawey}}: <code>$1</code> (tilasu ra bere http:// ga nda fondo kul mana tabatandi).",
+       "linksearch-text": "Baytal tammaasawey sanda \"*.wikipedia.org\" ga hin ka goyandi.\nMa bara nda, nd'a jaase, beene-alkadar nungu, sanda \"*.org\".<br />\n{{PLURAL:$2|fondo|fondawey}}: $1 (tilasu ra bere http:// ga nda fondo kul mana tabatandi).",
        "linksearch-line": "$1 ga dobu $2 ga",
        "linksearch-error": "Baytal tammaasawey ga bangay zunbudoo maa šintinoo hinne ga.",
        "listusersfrom": "Goykey cebe kaŋ ga šintin ne:",
index 728e19b..3ee09eb 100644 (file)
        "linksearch-pat": "Šema pretrage:",
        "linksearch-ns": "Imenski prostor:",
        "linksearch-ok": "Traži",
-       "linksearch-text": "Možete koristiti džoker znakove poput \"*.wikipedia.org\".\nPotrebno je navesti osnovnu domenu (TLD), npr. \"*.org\".<br />\nPodržani {{PLURAL:$2|protokol|protokoli}}: <code>$1</code> (default je http:// ako nijedan protokol nije naveden).",
+       "linksearch-text": "Možete koristiti džoker znakove poput \"*.wikipedia.org\".\nPotrebno je navesti osnovnu domenu (TLD), npr. \"*.org\".<br />\nPodržani {{PLURAL:$2|protokol|protokoli}}: $1 (default je http:// ako nijedan protokol nije naveden).",
        "linksearch-line": "$1 je povezan od $2",
        "linksearch-error": "Džokeri se mogu pojavljivati samo na početku naziva servera.",
        "listusersfrom": "Prikaži korisnike počev od:",
index 327f92e..db71ab1 100644 (file)
        "passwordreset": "මුරපදය වෙනස් කරන්න",
        "passwordreset-text-one": "තාවකාලික මුර-පදයක් විද්‍යුත් තැපෑළ මගින් ලබා ගැනීම සඳහා මෙම පෝරමය සම්පූර්ණ කරන්න.",
        "passwordreset-text-many": "{{PLURAL:$1|තාවකාලික මුරපදයක් ඊ-තැපෑල හරහා ගෙන්වා ගැනීමට එක් ක්ෂේත්‍රයක් පුරවන්න}}",
-       "passwordreset-legend": "මුරපදය යළි පිහිටුවන්න",
        "passwordreset-disabled": "මෙම විකියෙහි මුර පද ප්‍රත්‍යාරම්භ කිරීම් අක්‍රීය කොට ඇත.",
        "passwordreset-emaildisabled": "විද්‍යුත්  තැපැල් පහසුකම මෙම විකි ය සඳහා අවලංගු කොට ඇත.",
        "passwordreset-username": "පරිශීලක නාමය:",
        "resettokens": "සංකේත නැවත සකසන්න",
        "resettokens-text": "ඔබ මෙතනයි ඔබගේ ගිණුම හා සම්බන්ධ ඇතැම් පෞද්ගලික දත්ත වෙත ප්රවේශ ඉඩ දෙන ටෝකන් පත් සැකසිය හැක. \n\nඔබ වැරදී කෙනෙකු සමග හෝ ඔබගේ ගිණුම වෙනස් කර තිබේ නම්, ඔවුන් හවුල් නම් ඔබ එය කළ යුත්තේ.",
        "resettokens-no-tokens": "නැවත සකස් කිරීමට කිසිදු ටෝකන් පත් වේ.",
-       "resettokens-legend": "සංකේත නැවත සකසන්න",
        "resettokens-tokens": "සංකේත:",
        "resettokens-token-label": "$1 (පවතින අගය: $2)",
        "resettokens-watchlist-token": "වෙබ් සංග්රහය (Atom/RSS) සඳහා සංකේත [[Special:Watchlist|ඔබගේ මුර-ලැයිස්තුවෙහි පිටු වෙනස්කම්]]",
        "randomincategory-nopages": "[[:Category:$1|$1]] ප්‍රවර්ගයේ පිටු නොමැත.",
        "randomincategory-category": "ප්‍රවර්ගය:",
        "randomincategory-legend": "ප්‍රවර්ගයේ අහඹු පිටු",
+       "randomincategory-submit": "යන්න",
        "randomredirect": "අහුඹු යළි-යොමුකිරීම",
        "randomredirect-nopages": "\"$1\" නාම-අවකාශයෙහි යළි-යොමුවීම් නොමැත.",
        "statistics": "සංඛ්‍යාන දත්ත",
        "nmembers": "{{PLURAL:$1|එක් සාමාජිකයෙකි|සාමාජිකයෝ $1 කි}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|සාමාජිකයන්|සාමාජික}}",
        "nrevisions": "{{PLURAL:$1|එක් සංශෝධනයකි|සංශෝධන $1 කි }}",
-       "nviews": " {{PLURAL:$1|නැරඹුම් එකකි|නැරඹුම් $1 කි}}",
        "nimagelinks": "{{PLURAL:$1|පිටු|පිටු}} $1 ක භාවිතාකර ඇත",
        "ntransclusions": "{{PLURAL:$1|පිටු|පිටු}} $1 ක භාවිතාකර ඇත",
        "specialpage-empty": "මෙම වාර්තාවට ප්‍රතිඵල කිසිවක් නොමැත.",
        "linksearch-pat": "ගවේෂණ රටාව:",
        "linksearch-ns": "නාම-අවකාශය:",
        "linksearch-ok": "ගවේෂණය",
-       "linksearch-text": "\"*.wikipedia.org\" වැනි ආදේශක භාවිතා කල හැක.\nඅඩුම තරමින් උසස්-මට්ටමේ වසමක් අවශ්‍යයි, නිදසුනක් ලෙස \"*.org\".<br />\nසහය දක්වන : <code>$1</code> (ඔබේ සෙවුමෙහි මේවා කිසිවක් නොයොදන්න). {{PLURAL:$2|ප්‍රෝටෝකොලය|ප්‍රෝටෝකොලයන්}}:",
+       "linksearch-text": "\"*.wikipedia.org\" වැනි ආදේශක භාවිතා කල හැක.\nඅඩුම තරමින් උසස්-මට්ටමේ වසමක් අවශ්‍යයි, නිදසුනක් ලෙස \"*.org\".<br />\nසහය දක්වන : $1 (ඔබේ සෙවුමෙහි මේවා කිසිවක් නොයොදන්න). {{PLURAL:$2|ප්‍රෝටෝකොලය|ප්‍රෝටෝකොලයන්}}:",
        "linksearch-line": "$2 වෙතින් $1 සබැඳිණි",
        "linksearch-error": "ආදේශක  පෙනීසිටිය හැක්කේ සත්කාරකනාමය ආරම්භයෙහි පමණයි.",
        "listusersfrom": "‍මෙම අකුරෙන් පටන්ගෙන පරිශීලකයන් ප්‍රදර්ශනය කරන්න:",
index 4002e8b..e6b5f97 100644 (file)
        "linksearch-pat": "Vyhľadávací vzor:",
        "linksearch-ns": "Menný priestor:",
        "linksearch-ok": "Hľadať",
-       "linksearch-text": "Je možné používať zástupné znaky, napr. „*.wikipedia.org“.\nPovinná je minimálne doména najvyššej úrovne, napr. „*.org“.<br />\n{{PLURAL:$2|Podporovaný protokol|Podporované protokoly}}: <code>$1</code> (ak protokol nie je uvedený, použije sa http://).",
+       "linksearch-text": "Je možné používať zástupné znaky, napr. „*.wikipedia.org“.\nPovinná je minimálne doména najvyššej úrovne, napr. „*.org“.<br />\n{{PLURAL:$2|Podporovaný protokol|Podporované protokoly}}: $1 (ak protokol nie je uvedený, použije sa http://).",
        "linksearch-line": "Na $1 odkazuje $2",
        "linksearch-error": "Zástupné znaky je možné použiť iba na začiatku názvu domény.",
        "listusersfrom": "Zobraziť používateľov počnúc:",
index ce555e4..f7c4c17 100644 (file)
        "randomincategory-nopages": "V kategoriji [[:Category:$1]] ni nobene strani.",
        "randomincategory-category": "Kategorija:",
        "randomincategory-legend": "Naključna stran v kategoriji",
+       "randomincategory-submit": "Pojdi",
        "randomredirect": "Naključna preusmeritev",
        "randomredirect-nopages": "V imenskem prostoru »$1« ni preusmeritev.",
        "statistics": "Statistika",
        "linksearch-pat": "Iskalni vzorec:",
        "linksearch-ns": "Imenski prostor:",
        "linksearch-ok": "Išči",
-       "linksearch-text": "Uporabljate lahko nadomestne znake, kot je »*.wikipedia.org«.\nZahtevana je vsaj najvišja domena, na primer »*.org«.<br />\n{{PLURAL:$2|Podprt protokol|Podprta protokola|Podprti protokoli}}: <code>$1</code> (če protokol ni določen, se privzame http://).",
+       "linksearch-text": "Uporabljate lahko nadomestne znake, kot je »*.wikipedia.org«.\nZahtevana je vsaj najvišja domena, na primer »*.org«.<br />\n{{PLURAL:$2|Podprt protokol|Podprta protokola|Podprti protokoli}}: $1 (če protokol ni določen, se privzame http://).",
        "linksearch-line": "$1 povezano iz $2",
        "linksearch-error": "Jokerji se lahko pojavijo le na začetku gostiteljskega imena.",
        "listusersfrom": "Prikaži uporabnike začenši z:",
        "rollback-success": "Razveljavljene spremembe uporabnika $1;\nvrnjeno na urejanje uporabnika $2.",
        "sessionfailure-title": "Neuspeh seje",
        "sessionfailure": "Vaša prijava ni uspela; da bi preprečili ugrabitev seje, je bilo dejanje preklicano. Prosimo, izberite »Nazaj« in ponovno naložite stran, s katere prihajate, nato poskusite znova.",
+       "changecontentmodel": "Spremeni model vsebine strani",
+       "changecontentmodel-legend": "Spremeni model vsebine",
+       "changecontentmodel-title-label": "Naslov strani",
+       "changecontentmodel-model-label": "Novi model vsebine",
+       "changecontentmodel-reason-label": "Razlog:",
+       "changecontentmodel-success-title": "Spremenili smo model vsebine",
+       "changecontentmodel-success-text": "Spremenili smo vrsto vsebine [[:$1]].",
+       "changecontentmodel-cannot-convert": "Vsebine na [[:$1]] ni mogoče pretvoriti v vrsto $2.",
+       "changecontentmodel-title-cantexist": "Na $1 ni mogoče imeti strani.",
+       "changecontentmodel-nodirectediting": "Model vsebine $1 ne podpira neposrednega urejanja",
+       "log-name-contentmodel": "Dnevnik sprememb modela vsebine",
+       "log-description-contentmodel": "Dogodki, povezani z modeli vsebin strani",
+       "logentry-contentmodel-change": "$1 je {{GENDER:$2|spremenil|spremenila|spremenil(-a)}} model vsebine strani $3 z »$4« na »$5«",
+       "logentry-contentmodel-change-revertlink": "vrni",
+       "logentry-contentmodel-change-revert": "vrni",
        "protectlogpage": "Dnevnik zaščit strani",
        "protectlogtext": "Prikazan je seznam sprememb zaščit strani.\nOglejte si [[Special:ProtectedPages|seznam zaščitenih strani]] za seznam trenutno zaščitenih strani.",
        "protectedarticle": "je zaščitil(-a) stran »[[$1]]«",
        "tooltip-pt-logout": "Odjavite se",
        "tooltip-pt-createaccount": "Predlagamo vam, da ustvarite račun in se prijavite, vendar pa to ni obvezno.",
        "tooltip-ca-talk": "Pogovor o strani",
-       "tooltip-ca-edit": "Stran lahko uredite. Preden jo shranite, uporabite gumb za predogled.",
+       "tooltip-ca-edit": "Uredi stran",
        "tooltip-ca-addsection": "Začnite novo razpravo",
        "tooltip-ca-viewsource": "Stran je zaščitena, ogledate si lahko njeno izvorno kodo",
        "tooltip-ca-history": "Prejšnje redakcije strani",
        "pageinfo-robot-index": "Dovoljeno",
        "pageinfo-robot-noindex": "Nedovoljeno",
        "pageinfo-watchers": "Število spremljevalcev strani",
+       "pageinfo-visiting-watchers": "Število sledilcev strani, ki so si ogledali zadnja urejanja",
        "pageinfo-few-watchers": "Manj kot $1 {{PLURAL:$1|spremljevalec|spremljevalca|spremljevalci|spremljevalcev}}",
+       "pageinfo-few-visiting-watchers": "Lahko obstaja uporabnik, ki si ogleduje zadnja urejanja",
        "pageinfo-redirects-name": "Število preusmeritev na stran",
        "pageinfo-subpages-name": "Podstrani strani",
        "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|preusmeritev|preusmeritvi|preusmeritve|preusmeritev}}; $3 {{PLURAL:$3|nepreusmeritev|nepreusmeritvi|nepreusmeritve|nepreusmeritev}})",
index da013e8..45f8809 100644 (file)
        "ncategories": "$1 {{PLURAL:$1|Kategorie|Kategoria}}",
        "nmembers": "{{PLURAL:$1|1 Eentrag|$1 Eenträge}}",
        "nrevisions": "{{PLURAL:$1|1 Beoarbeetung|$1 Beoarbeetunga}}",
-       "nviews": "{{PLURAL:$1|1 Obfroage|$1 Obfroaga}}",
        "specialpage-empty": "De Seite enthält aktuell kenne Einträge.",
        "lonelypages": "Verwaiste Seyta",
        "lonelypagestext": "De folgenden Seyta waan ne eingebunden oder is werd ne uff se ei {{SITENAME}} verwiesa.",
        "deletedcontributions-title": "Geläschte Beiträge",
        "linksearch-ns": "Noamensraum:",
        "linksearch-ok": "Sucha",
-       "linksearch-text": "Diese Spezialseite ermeegliecht de Suche noach Seita, ei denen bestimmte Weblinks enthaala sein. Dabei kinna Wildcards wie beispielsweise <code>*.example.com</code> benutzt waan.<br />Understitzte Protokolle: <code>$1</code>",
+       "linksearch-text": "Diese Spezialseite ermeegliecht de Suche noach Seita, ei denen bestimmte Weblinks enthaala sein. Dabei kinna Wildcards wie beispielsweise <code>*.example.com</code> benutzt waan.<br />Understitzte Protokolle: $1",
        "linksearch-line": "$1 ies verlinkt vun $2",
        "linksearch-error": "Wildcards kinna ock oam Oanfang dar URL verwendet waan.",
        "listusersfrom": "Zeige Benutzer ob:",
        "delete-toobig": "Diese Seite hoot miet meh ols $1 {{PLURAL:$1|Version|Versionen}} anne siehr lange Versionsgeschichte. Doas Läscha sulcher Seita wurde eingeschränkt, im anne versehentliche Ieberlastung der Server zu verhindern.",
        "delete-warning-toobig": "Diese Seite hoot miet meh ols $1 {{PLURAL:$1|Version|Versionen}} anne sehr lange Versionsgeschichte. Doas Läscha koan zu Sterunga eim Datenbankbetrieb fiehrn.",
        "rollback": "Zerrickesetza dar Änderunga",
-       "rollback_short": "Zerrickesetza",
        "rollbacklink": "Zerrickesetza",
        "rollbackfailed": "Zerrickesetza gescheitert",
        "cantrollback": "De Änderung koan ne zerrickegesetzt waan, do is kenne friehera Autoren gibt.",
        "import-interwiki-text": "Wähle a Wiki und anne Seite zum Importieren aus.\nDe Versionsdaten und Nutzernoama bleiba dabei erhaala.\nOlle Transwiki-Import-Aksjonna waan eim [[Special:Log/import|Import-Logbuch]] protokolliert.",
        "import-interwiki-history": "Olle Versionen dieser Seite importieren",
        "import-interwiki-templates": "Olle Vurloaga einschließen",
-       "import-interwiki-namespace": "Zielnoamasraum:",
        "import-upload-filename": "Dateinoame:",
        "importtext": "Uff dieser Spezialseyte kinna ieber de [[Special:Export|Exportfunktion]] eim Quellwiki exportierte Seyta ei dieses Wiki importiert waan.",
        "importstart": "Importiere Seite …",
        "import-token-mismatch": "Verlust dar Sessiondaten. Bitte versuche is erneut.",
        "import-invalid-interwiki": "Aus damm oagegahn'n Wiki ies kee Import meeglich.",
        "importlogpagetext": "Administrativer Import vu Seyta miet Versionsgeschichte vu andern Wikis.",
-       "import-logentry-upload": "hoot „[[$1]]“ vu a'r Datei importiert",
-       "import-logentry-interwiki": "hoot „$1“ importiert (Transwiki)",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|Version|Versiona}} vun $2",
        "tooltip-pt-userpage": "Denne Nutzerseyte",
        "tooltip-pt-anonuserpage": "Nutzerseite dar IP-Atresse vu dar aus du Änderunga durchfiehrst",
        "watchlisttools-view": "Beobachtungsliste: Änneronga",
        "watchlisttools-edit": "normal bearbta",
        "watchlisttools-raw": "eim Listenfurmat bearbta (Import/Export)",
-       "unknown_extension_tag": "Unbekennter Extension-Tag „$1“",
        "duplicate-defaultsort": "Ochtiche: Dar Sortierungsschlissel „$2“ ieberschreibt dann vorher verwendeta Schlissel „$1“.",
        "version-specialpages": "Spezialseyta",
        "version-other": "Oanderes",
index 137331a..25606f5 100644 (file)
        "passwordreset": "Ndrysho fjalkalimin",
        "passwordreset-text-one": "Plotësoni këtë formular për të marrë një fjalëkalim të përkohshëm nëpërmjet postës elektronike.",
        "passwordreset-text-many": "<span class=\"notranslate\" translate=\"asnjë\">{{PLURAL:$1|</span>Mbush një nga fushat për të marrë një fjalëkalim të përkohshëm nëpërmjet postës elektronike.}}",
-       "passwordreset-legend": "Ndrysho fjalkalimin",
        "passwordreset-disabled": "Rivendosja e fjalëkalimit është deaktivizuar në këtë wiki.",
        "passwordreset-emaildisabled": "Karakteristikat e  Email janë të paaftë në këtë wiki.",
        "passwordreset-username": "Nofka:",
        "action-siteadmin": "mbyll ose hap bazën e të dhënave",
        "action-sendemail": "dërgo e-maile",
        "nchanges": "$1 {{PLURAL:$1|ndryshim|ndryshime}}",
-       "recentchanges": "Ndryshime së fundmi",
+       "recentchanges": "Ndryshimet e fundit",
        "recentchanges-legend": "Zgjedhjet e ndryshimeve momentale",
        "recentchanges-summary": "Ndiqni ndryshime së fundmi tek kjo faqe.",
        "recentchanges-feed-description": "Ndjek ndryshimet më të fundit në wiki tek kjo fushë.",
        "nlinks": "$1 {{PLURAL:$1|lidhje|lidhje}}",
        "nmembers": "$1 {{PLURAL:$1|antar|antarë}}",
        "nrevisions": "$1 {{PLURAL:$1|version|versione}}",
-       "nviews": "$1 {{PLURAL:$1|shikim|shikime}}",
        "nimagelinks": "Përdorur në $1 {{PLURAL:$1|faqe|faqe}}",
        "ntransclusions": "përdorur në $1 {{PLURAL:$1|faqe|faqe}}",
        "specialpage-empty": "Kjo faqe është boshe.",
        "tooltip-pt-mycontris": "Lista e kontributeve tuaja",
        "tooltip-pt-login": "Identifikimi nuk është i detyrueshëm, megjithatë ne jua rekomandojmë.",
        "tooltip-pt-logout": "Dalje",
-       "tooltip-ca-talk": "Diskutim për faqen përmbajtje",
-       "tooltip-ca-edit": "Ju mund ta redaktoni këtë faqe. Përdorni butonin Trego parapamjen para se të ruani ndryshimet.",
+       "tooltip-ca-talk": "Diskutim për përmbajtjen e faqes",
+       "tooltip-ca-edit": "Redakto këtë faqe",
        "tooltip-ca-addsection": "Fillo një temë të re diskutimi.",
        "tooltip-ca-viewsource": "Kjo faqe është e mbrojtur. Ju mundeni vetëm ta shikoni burimin e tekstit.",
        "tooltip-ca-history": "Versione të mëparshme të artikullit.",
index d828ff5..27704dc 100644 (file)
        "linksearch-pat": "Образац претраге:",
        "linksearch-ns": "Именски простор:",
        "linksearch-ok": "Претражи",
-       "linksearch-text": "Могу се користити џокери попут „*.wikipedia.org“.\nПотребан је највиши домен, као „*.org“.<br />\n{{PLURAL:$2|Подржан протокол|Подржани протоколи}}: <code>$1</code> (задаје http:// ако не наведете протокол).",
+       "linksearch-text": "Могу се користити џокери попут „*.wikipedia.org“.\nПотребан је највиши домен, као „*.org“.<br />\n{{PLURAL:$2|Подржан протокол|Подржани протоколи}}: $1 (задаје http:// ако не наведете протокол).",
        "linksearch-line": "$1 веза у $2",
        "linksearch-error": "Џокери се могу појавити само на почетку адресе.",
        "listusersfrom": "Прикажи кориснике почев од:",
        "tooltip-pt-logout": "Одјавите се",
        "tooltip-pt-createaccount": "Охрабрујемо вас да отворите налог и пријавите се али то није обавезно",
        "tooltip-ca-talk": "Разговор о страници са садржајем",
-       "tooltip-ca-edit": "Ð\9cожеÑ\82е Ð´Ð° Ñ\83Ñ\80еÑ\92Ñ\83Ñ\98еÑ\82е Ð¾Ð²Ñ\83 Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83. Ð\9aоÑ\80иÑ\81Ñ\82иÑ\82е Ð¿Ñ\80еÑ\82пÑ\80еглед Ð¿Ñ\80е Ñ\81нимаÑ\9aа",
+       "tooltip-ca-edit": "УÑ\80еди Ð¾Ð²Ñ\83 Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83",
        "tooltip-ca-addsection": "Започните нови одељак",
        "tooltip-ca-viewsource": "Ова страница је закључана. Можете да видите изворни код.",
        "tooltip-ca-history": "Претходне верзије ове странице",
index a20d502..3e86908 100644 (file)
        "randomincategory-nopages": "Nema stranica u kategoriji [[:Category:$1|$1]].",
        "randomincategory-category": "Kategorija:",
        "randomincategory-legend": "Slučajna stranica u kategoriji",
+       "randomincategory-submit": "Idi",
        "randomredirect": "Slučajno preusmerenje",
        "randomredirect-nopages": "Nema preusmerenja u imenskom prostoru „$1“.",
        "statistics": "Statistike",
        "linksearch-pat": "Obrazac pretrage:",
        "linksearch-ns": "Imenski prostor:",
        "linksearch-ok": "Pretraži",
-       "linksearch-text": "Mogu se koristiti džokeri poput „*.wikipedia.org“.\nPotreban je najviši domen, kao „*.org“.<br />\n{{PLURAL:$2|Podržan protokol|Podržani protokoli}}: <code>$1</code> (zadaje http:// ako ne navedete protokol).",
+       "linksearch-text": "Mogu se koristiti džokeri poput „*.wikipedia.org“.\nPotreban je najviši domen, kao „*.org“.<br />\n{{PLURAL:$2|Podržan protokol|Podržani protokoli}}: $1 (zadaje http:// ako ne navedete protokol).",
        "linksearch-line": "$1 veza u $2",
        "linksearch-error": "Džokeri se mogu pojaviti samo na početku adrese.",
        "listusersfrom": "Prikaži korisnike počev od:",
index 10024ac..7935127 100644 (file)
        "resetpass-wrong-oldpass": "Uungultich tiedelk of aktuell Paaswoud.\nMuugelkerwiese hääst du dien Paaswoud al mäd Ärfoulch annerd of n näi tiedelk Paaswoud fräiged.",
        "resetpass-temp-password": "Tiedelk Paaswoud:",
        "passwordreset": "Paaswoud touräächsätte",
-       "passwordreset-legend": "Paaswoud touräächsätte",
        "passwordreset-disabled": "Dät Touräächsätten fon Paaswoude wuud in dissen Wiki deaktivierd.",
        "passwordreset-username": "Benutsernoome:",
        "passwordreset-domain": "Domain:",
        "unusedtemplateswlh": "Uur Ferbiendengen",
        "randompage": "Toufällige Siede",
        "randompage-nopages": "Der sunt neen Sieden in {{PLURAL:$2|dän foulgjende Noomensruum|do foulgjende Noomensruume}} äntheelden: „$1“",
+       "randomincategory-submit": "OK",
        "randomredirect": "Toufällige Fäärelaitenge",
        "randomredirect-nopages": "In dän Noomensruum \"$1\" sunt neen Fääreleedengen deer.",
        "statistics": "Statistik",
        "nlinks": "{{PLURAL:$1|1 Ferbiendenge|$1 Ferbiendengen}}",
        "nmembers": "{{PLURAL:$1|1 Iendraach|$1 Iendraage}}",
        "nrevisions": "{{PLURAL:$1|1 Beoarbaideng|$1 Beoarbaidengen}}",
-       "nviews": "{{PLURAL:$1|1 Oufroage|$1 Oufroagen}}",
        "nimagelinks": "Ferwoand ap $1 {{PLURAL:$1|Siede|Sieden}}",
        "ntransclusions": "ferwoand ap $1 {{PLURAL:$1|Siede|Sieden}}",
        "specialpage-empty": "Ju Siede änthaalt aktuell neen Iendraage.",
        "linksearch-pat": "Säikmuster:",
        "linksearch-ns": "Noomensruum:",
        "linksearch-ok": "Säike (012)",
-       "linksearch-text": "Disse Spezioalsiede moaket ju Säike muugelke ätter Sieden, in do bestimde Webferbiendengen äntheelden sunt. Deerbie konnen Ploatshooldere as biespilswiese <code>*.biespiell.de</code> benutsed wäide. Der mout ap minste een Top-Level-Domai, t.B. „*.org“. anroat wäide. <br />Unnerstutsede Protokolle: <code>$1</code> (Disse jädden nit bie ju Säikanfroage anreeke.)",
+       "linksearch-text": "Disse Spezioalsiede moaket ju Säike muugelke ätter Sieden, in do bestimde Webferbiendengen äntheelden sunt. Deerbie konnen Ploatshooldere as biespilswiese <code>*.biespiell.de</code> benutsed wäide. Der mout ap minste een Top-Level-Domai, t.B. „*.org“. anroat wäide. <br />Unnerstutsede Protokolle: $1 (Disse jädden nit bie ju Säikanfroage anreeke.)",
        "linksearch-line": "$1 is ferlinked fon $2",
        "linksearch-error": "Wildcards konnen bloot an dän Ounfang fon ju URL ferwoand wäide.",
        "listusersfrom": "Wies Benutsere fon:",
index 94ca2f1..94d56da 100644 (file)
        "passwordreset": "Setél ulang sandi",
        "passwordreset-text-one": "Eusian formulir ieu pikeun ngirimkeun kecap sandi saheulaanan kana surélék.",
        "passwordreset-text-many": "{{PLURAL:$1|Eusian salassahiji lapang pikeun nampa kecap sandi saheulaanan ngaliwatan ratron.}}",
-       "passwordreset-legend": "Setél ulang sandi",
        "passwordreset-disabled": "Dina ieu wiki, sandi teu bisa disetél ulang.",
        "passwordreset-emaildisabled": "Fitur surélék ditumpurkeun di ieu wiki.",
        "passwordreset-username": "Sandiasma:",
        "resettokens": "Rését token",
        "resettokens-text": "Anjeun bisa ngarését token sangkan bisa muka sababaraha data-data pribadi anu tumali jeung akun anjeun di dieu.\n\nAnjeun kudu ngarését lamun kungsi teu kahaja ngabéjaan anu séjén atawa lamun aya anu nyusup kana akun anjeun.",
        "resettokens-no-tokens": "Taya token pikeun dirését.",
-       "resettokens-legend": "Rését token",
        "resettokens-tokens": "Token:",
        "resettokens-token-label": "$1 (ajén ayeuna: $2)",
        "resettokens-watchlist-token": "Token pikeun asupan raramat (Atom/RSS) [[Special:Watchlist|parobahan kana kaca-kaca anu diponcorong]]",
        "nmembers": "$1 {{PLURAL:$1|kontributor|kontributor}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|anggota|anggota}}",
        "nrevisions": "$1 {{PLURAL:$1|révisi|révisi}}",
-       "nviews": "$1 {{PLURAL:$1|témbongan|témbongan}}",
        "nimagelinks": "Dipaké di $1 {{PLURAL:$1|kaca|kaca}}",
        "ntransclusions": "dipaké di $1 {{PLURAL:$1|kaca|kaca}}",
        "specialpage-empty": "Kaca ieu kosong.",
        "linksearch-pat": "Pola sungsi:",
        "linksearch-ns": "Spasi ngaran:",
        "linksearch-ok": "Sungsi",
-       "linksearch-text": "''Wildcard'' sarupaning \"*.wikipedia.org\" bisa dipaké.<br />Protokol nu dirojong: <code>$1</code>",
+       "linksearch-text": "''Wildcard'' sarupaning \"*.wikipedia.org\" bisa dipaké.<br />Protokol nu dirojong: $1",
        "linksearch-line": "$1 ditumbu ti $2",
        "linksearch-error": "''Wildcard'' ngan bisa némbongan dina awal ngaran indung (''host'').",
        "listusersfrom": "Témbongkeun kontributor dimimitian ku:",
index bf11951..2f17572 100644 (file)
        "linksearch-pat": "Sökmönster:",
        "linksearch-ns": "Namnrymd:",
        "linksearch-ok": "Sök",
-       "linksearch-text": "Jokertecken (wildcards) som t.ex. \"*.wikipedia.org\" kan användas.\nDet krävs åtminstone en toppdomän, t.ex. \"*.org\".<br />\n{{PLURAL:$2|Protokollet|Protokollen}} som stöds: <code>$1</code> (sätts till http:// om inget protokoll anges).",
+       "linksearch-text": "Jokertecken (wildcards) som t.ex. \"*.wikipedia.org\" kan användas.\nDet krävs åtminstone en toppdomän, t.ex. \"*.org\".<br />\n{{PLURAL:$2|Protokollet|Protokollen}} som stöds: $1 (sätts till http:// om inget protokoll anges).",
        "linksearch-line": "$1 länkas från $2",
        "linksearch-error": "Jokertecken kan bara användas i början av domännamnet.",
        "listusersfrom": "Visa användare från och med:",
        "pageinfo-robot-index": "Tillåten",
        "pageinfo-robot-noindex": "Inte tillåten",
        "pageinfo-watchers": "Antal användare som bevakar sidan",
+       "pageinfo-visiting-watchers": "Antalet sidbevakare som har besökt senaste ändringar",
        "pageinfo-few-watchers": "Färre än $1 {{PLURAL:$1|bevakare}}",
        "pageinfo-redirects-name": "Antal omdirigeringar till denna sida",
        "pageinfo-subpages-name": "Undersidor till denna sida",
index fb258dc..b565ada 100644 (file)
        "passwordreset": "Seti upya neno la siri",
        "passwordreset-text-one": "Jaza fomu hii kupokea neno la siri la muda kupitia barua pepe.",
        "passwordreset-text-many": "{{PLURAL:$1|Jaza katika moja ya mashamba kupokea neno la siri la muda kupitia barua pepe.}}",
-       "passwordreset-legend": "Seti upya neno la siri",
        "passwordreset-disabled": "Kuweka neno la siri jipya kumeshitishwa katika wiki hii.",
        "passwordreset-emaildisabled": "Vipengee vya barua pepe vimelemazwa katika wiki hii.",
        "passwordreset-username": "Jina la mtumiaji:",
        "changeemail-throttled": "Umejaribu mara nyingi sana kuingia.\nTafadhali subiri $1 kabla ya kujaribu tena.",
        "resettokens": "Weka vibazi upya",
        "resettokens-no-tokens": "Hakuna vibazi vya kuseti upya.",
-       "resettokens-legend": "Weka vibazi upya",
        "resettokens-tokens": "Vibazi:",
        "resettokens-token-label": "$1 (current value: $2)",
        "resettokens-done": "Seti vibazi upya.",
        "randomincategory-nopages": "Hakuna kurasa katika [[:Category:$1|$1]] jamii.",
        "randomincategory-category": "Kundi:",
        "randomincategory-legend": "Ukurasa wa bahati katika jamii",
+       "randomincategory-submit": "Enda",
        "randomredirect": "Elekezo la bahati",
        "randomredirect-nopages": "Hakuna maelekezo katika eneo la wiki la \"$1\".",
        "statistics": "Takwimu",
        "nmembers": "{{PLURAL:$1|kitu|vitu}} $1",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|member|wanachama}}",
        "nrevisions": "{{PLURAL:$1|pitio|mapitio}} $1",
-       "nviews": "{{PLURAL:$1|mtazamaji|mitazamaji}} $1",
        "nimagelinks": "Inatumika katika {{PLURAL:$1|ukurasa moja tu|kurasa $1}}",
        "ntransclusions": "inatumika katika {{PLURAL:$1|ukurasa moja tu|kurasa $1}}",
        "specialpage-empty": "Hakuna matokeo katika taarifa hii.",
        "linksearch-pat": "Herufi zitakazotafutwa:",
        "linksearch-ns": "Eneo la wiki:",
        "linksearch-ok": "Tafuta",
-       "linksearch-text": "Alama maalumu za kutafuta kama vile \"*.wikipedia.org\" zinaweza kutumika.<br />\nInahitajika angalau kikoa cha kiwango cha juu, kwa mfano \"*.org\".<br />\nItifaki zinazoungwa mkono: <code>$1</code> (usiongeza hizi unapotafuta).",
+       "linksearch-text": "Alama maalumu za kutafuta kama vile \"*.wikipedia.org\" zinaweza kutumika.<br />\nInahitajika angalau kikoa cha kiwango cha juu, kwa mfano \"*.org\".<br />\nItifaki zinazoungwa mkono: $1 (usiongeza hizi unapotafuta).",
        "linksearch-line": "$2 umeungwa kutoka $1",
        "linksearch-error": "Alama maalumu zinaweza kuonekana mwanzoni mwa URL tu.",
        "listusersfrom": "Onyesha watumiaji kuanzia:",
index 881e620..0cffa90 100644 (file)
        "resetpass-temp-password": "Tymczasowe hasło:",
        "resetpass-abort-generic": "Půmjyńańe hasła uostoła zatrzimane bez rozszyrzyńe.",
        "passwordreset": "Wyczyść hasło",
-       "passwordreset-legend": "Wyczyść hasło",
        "passwordreset-disabled": "No tyj wiki zamkńynto resytowańy hasył.",
        "passwordreset-username": "Mjano używacza:",
        "passwordreset-domain": "Domyna:",
        "nlinks": "$1 {{PLURAL:$1|link|linki|linkůw}}",
        "nmembers": "$1 {{PLURAL:$1|elyment|elymenty|elymentůw}}",
        "nrevisions": "$1 {{PLURAL:$1|wersja|wersje|wersjůw}}",
-       "nviews": "filowano $1 {{PLURAL:$1|roz|rozůw}}",
        "specialpage-empty": "Ta zajta je pusto.",
        "lonelypages": "Poćepńynte zajty",
        "lonelypagestext": "Do zajtůw půńiżyj ńy adresuje żodno inkszo zajta we {{SITENAME}}.",
        "linksearch-pat": "Wzorzec sznupańo",
        "linksearch-ns": "Przestrzyń mjan",
        "linksearch-ok": "Šnupej",
-       "linksearch-text": "Idźe użyć symbola wjeloznacznygo „*”. Lů bajszpila „*.wikipedia.org” spowoduje sznupańy za wszyjstkimi linkůma kere prowadzům ku důmyńy „wikipedia.org” a jeij poddůmyn.<br />\nUobsůgiwane protokoły: <code>$1</code>",
+       "linksearch-text": "Idźe użyć symbola wjeloznacznygo „*”. Lů bajszpila „*.wikipedia.org” spowoduje sznupańy za wszyjstkimi linkůma kere prowadzům ku důmyńy „wikipedia.org” a jeij poddůmyn.<br />\nUobsůgiwane protokoły: $1",
        "linksearch-line": "$1 link na zajće $2",
        "linksearch-error": "Symbola wjeloznacznygo idźe użyć yno na anfangu mjana hosta.",
        "listusersfrom": "Pokaž užytkowńikůw začynojůnc uod:",
index 397188b..eedd87b 100644 (file)
        "linksearch-pat": "వెతకాల్సిన నమూనా:",
        "linksearch-ns": "పేరుబరి:",
        "linksearch-ok": "వెతుకు",
-       "linksearch-text": "\"*.wikipedia.org\" వంటి వైల్డ్ కార్డులు వాడవచ్చు. కనీసం ఒక్కటైనా టాప్ లెవెల్ డొమెయిన్ ఉండాలి. ఉదా: \"*.org\".<br />ఉపయోగించుకోగల {{PLURAL:$2|ప్రోటోకోల్|ప్రోటోకోళ్లు}}: <code>$1</code> (ఏ ప్రోటోకోలునూ ఇవ్వకపోతే, http:// ను వాడబడుతుంది)",
+       "linksearch-text": "\"*.wikipedia.org\" వంటి వైల్డ్ కార్డులు వాడవచ్చు. కనీసం ఒక్కటైనా టాప్ లెవెల్ డొమెయిన్ ఉండాలి. ఉదా: \"*.org\".<br />ఉపయోగించుకోగల {{PLURAL:$2|ప్రోటోకోల్|ప్రోటోకోళ్లు}}: $1 (ఏ ప్రోటోకోలునూ ఇవ్వకపోతే, http:// ను వాడబడుతుంది)",
        "linksearch-line": "$2 నుండి $1కి లింకు ఉంది",
        "linksearch-error": "హోస్ట్‌నేముకు ముందు మాత్రమే వైల్డ్ కార్డులు వాడవచ్చు.",
        "listusersfrom": "వాడుకరులను ఇక్కడ నుండి చూపించు:",
index e346734..fc2bdc3 100644 (file)
        "resetpass-wrong-oldpass": "Гузарвожаи мувақат ё охир номӯътабар.\nМумкин аст, ки шумо аллакай гузарвожаатонро бо муваффақият тағйир дода бошед ё дархости як гузарвожаи мувақатӣ карда бошед.",
        "resetpass-temp-password": "Гузарвожаи муваққатӣ:",
        "passwordreset": "Тағйири гузарвожа",
-       "passwordreset-legend": "Тағйири гузарвожа",
        "passwordreset-username": "Номи корбарӣ:",
        "passwordreset-domain": "Домана:",
        "passwordreset-email": "Нишонаи почтаи электронӣ:",
        "changeemail-password": "Гузарвожаи Шумо дар {{SITENAME}}:",
        "changeemail-submit": "Ивази email",
        "resettokens-no-tokens": "Ягон нишона барои танзими муҷадад вуҷуд надорад.",
-       "resettokens-legend": "Танзими муҷадади нишона",
        "resettokens-tokens": "Нишонаҳо:",
        "resettokens-done": "Нишонаҳо тазим шуданд.",
        "resettokens-resetbutton": "Нишонаҳои интихобшуда танзим шаванд",
        "randompage": "Саҳифаи тасодуфӣ",
        "randompage-nopages": "Ҳеҷ саҳифае дар ин фазои ном мавҷуд нест.",
        "randomincategory": "Саҳифаи тасодуфӣ дар гурӯҳ",
+       "randomincategory-submit": "Бирав",
        "randomredirect": "Масири тасодуфӣ",
        "randomredirect-nopages": "Ҳеҷ саҳифаи тағйири масире дар ин фазои ном мавҷуд нест.",
        "statistics": "Омор\\Статистика",
        "nlinks": "$1 {{PLURAL:$1|пайванд|пайвандҳо}}",
        "nmembers": "$1 {{PLURAL:$1|узв}}",
        "nrevisions": "$1 {{PLURAL:$1|вироиш|вироиш}}",
-       "nviews": "$1 {{PLURAL:$1|намоиш|намоишҳо}}",
        "specialpage-empty": "Барои ин ҳисобот натиҷае вуҷуд надорад.",
        "lonelypages": "Саҳифаҳои ятим",
        "lonelypagestext": "Ба саҳифаҳои зерин дар дигар саҳифаи {{SITENAME}} пайванд дода нашудааст.",
        "linksearch-pat": "Ҷустуҷӯи нақш:",
        "linksearch-ns": "Фазоином:",
        "linksearch-ok": "Ҷустуҷӯ",
-       "linksearch-text": "Нишонаҳои монанди \"*.wikipedia.org\"-ро метавон истифода кард.<br />Протоколҳои пуштибонишуда: <code>$1</code>",
+       "linksearch-text": "Нишонаҳои монанди \"*.wikipedia.org\"-ро метавон истифода кард.<br />Протоколҳои пуштибонишуда: $1",
        "linksearch-line": "$1 дорои пайванд аз $2 аст",
        "linksearch-error": "Нишонаҳо фақат дар ибтидои номи мизбони интернетӣ метавонанд истифода шаванд.",
        "listusersfrom": "Намоиши корбарон бо шурӯъ аз:",
index 760949e..3ee9ca5 100644 (file)
        "unusedtemplates": "Şablonhoi istifodanaşuda",
        "unusedtemplateswlh": "digar pajvandho",
        "randompage": "Sahifai tasodufī",
+       "randomincategory-submit": "Birav",
        "randomredirect": "Masiri tasodufī",
        "statistics": "Omor\\Statistika",
        "statistics-header-pages": "Sahifai omor",
        "nlinks": "$1 {{PLURAL:$1|pajvand|pajvandho}}",
        "nmembers": "$1 {{PLURAL:$1|uzv}}",
        "nrevisions": "$1 {{PLURAL:$1|viroiş|viroiş}}",
-       "nviews": "$1 {{PLURAL:$1|namoiş|namoişho}}",
        "specialpage-empty": "Baroi in hisobot natiçae vuçud nadorad.",
        "lonelypages": "Sahifahoi jatim",
        "uncategorizedpages": "Sahifahoe, ki ba jagon gurūh doxil nestand",
        "linksearch-pat": "Çustuçūi naqş:",
        "linksearch-ns": "Fazoinom:",
        "linksearch-ok": "Çustuçū",
-       "linksearch-text": "Nişonahoi monandi \"*.wikipedia.org\"-ro metavon istifoda kard.<br />Protokolhoi puştibonişuda: <code>$1</code>",
+       "linksearch-text": "Nişonahoi monandi \"*.wikipedia.org\"-ro metavon istifoda kard.<br />Protokolhoi puştibonişuda: $1",
        "linksearch-line": "$1 doroi pajvand az $2 ast",
        "linksearch-error": "Nişonaho faqat dar ibtidoi nomi mizboni internetī metavonand istifoda şavand.",
        "listusersfrom": "Namoişi korbaron bo şurū' az:",
index d7b5dd4..4ad8793 100644 (file)
        "linksearch-pat": "รูปแบบการค้นหา:",
        "linksearch-ns": "เนมสเปซ:",
        "linksearch-ok": "ค้นหา",
-       "linksearch-text": "สามารถใช้ตัวแทนเช่น \"*.wikipedia.org\" ได้\nต้องการโดเมนระดับบนสุดเป็นอย่างน้อย เช่น \"*.org\"<br />\n{{PLURAL:$2|โพรโทคอล}}ที่รองรับ: <code>$1</code> (ค่าโดยปริยายเป็น http:// หากไม่ระบุโพรโทคอล)",
+       "linksearch-text": "สามารถใช้ตัวแทนเช่น \"*.wikipedia.org\" ได้\nต้องการโดเมนระดับบนสุดเป็นอย่างน้อย เช่น \"*.org\"<br />\n{{PLURAL:$2|โพรโทคอล}}ที่รองรับ: $1 (ค่าโดยปริยายเป็น http:// หากไม่ระบุโพรโทคอล)",
        "linksearch-line": "$1 ถูกลิงก์จาก $2",
        "linksearch-error": "อักขระตัวแทนอยู่ได้เฉพาะหน้าชื่อโฮสต์เท่านั้น",
        "listusersfrom": "แสดงผู้ใช้เริ่มจาก:",
index 9d7ebe9..9e88060 100644 (file)
        "resetpass-wrong-oldpass": "Nädogry wagtlaýyn ýa-da häzirki parol.\nParolyňyzy eýýäm şowlulyk bilen üýtgeden ýa-da täze wagtlaýyn parol talap eden bolmagyňyz ahmal.",
        "resetpass-temp-password": "Wagtlaýyn parol:",
        "passwordreset": "Paroly nol et",
-       "passwordreset-legend": "Paroly nol et",
        "passwordreset-username": "Ulanyjy ady:",
        "passwordreset-domain": "Domen:",
        "passwordreset-emailelement": "Ulanyjy ady: $1\nWagtlaýyn parol: $2",
        "unusedtemplateswlh": "başga çykgytlar",
        "randompage": "Çemgeldik sahypa",
        "randompage-nopages": "Aşakdaky {{PLURAL:$2|at giňişliginde|at giňişliklerinde}} hiç hili sahypa ýok: $1.",
+       "randomincategory-submit": "Git",
        "randomredirect": "Mesaýy gönükdirme",
        "randomredirect-nopages": "\"$1\" at giňişliginde hiç hili gönükdirme ýok.",
        "statistics": "Statistika",
        "nlinks": "$1 {{PLURAL:$1|çykgyt|çykgyt}}",
        "nmembers": "{{PLURAL:$1|agza|agzalar}}",
        "nrevisions": "{{PLURAL:$1|wersiýa|wersiýalar}}",
-       "nviews": "$1 {{PLURAL:$1|synlama|synlama}}",
        "specialpage-empty": "Bu habarnama üçin hiç hili netije ýok.",
        "lonelypages": "Hossarsyz sahypalar",
        "lonelypagestext": "Aşakdaky sahypalara {{SITENAME}} saýtyndaky başga sahypalardan çykgyt berilmändir ýa-da olara atanaklaýyn girizilmändirler.",
        "linksearch-pat": "Gözleg şablony:",
        "linksearch-ns": "At giňişligi:",
        "linksearch-ok": "Gözle",
-       "linksearch-text": "\"*.wikipedia.org\" ýaly çalşyrma simwollar ulanylyp bilner.<br />\nGoldanylýan protokollar: <code>$1</code>",
+       "linksearch-text": "\"*.wikipedia.org\" ýaly çalşyrma simwollar ulanylyp bilner.<br />\nGoldanylýan protokollar: $1",
        "linksearch-line": "$1 sahypasyna $2 sahypasyndan çykgyt berilýär",
        "linksearch-error": "Çalşyrma simwollar diňe hostuň adynyň başlangyjynda peýda bolup bilýär.",
        "listusersfrom": "Şunuň bilen başlaýan ulanyjylary görkez:",
index 5a26f69..0e277a8 100644 (file)
        "passwordreset": "Muling pagtatakda ng password",
        "passwordreset-text-one": "Ikumpleto ang form na ito upang makatanggap ng pansamantalang password sa pamamagitan ng email.",
        "passwordreset-text-many": "{{PLURAL:$1|Ipasok sa isa sa mga field upang makatanggap ng isang pansamantalang password sa pamamagitan ng email.}}",
-       "passwordreset-legend": "Itakdang muli ang password",
        "passwordreset-disabled": "Hindi pinagagana sa wiking ito ang muling mga pagtatakda ng password.",
        "passwordreset-emaildisabled": "Hindi pinagana ang email features sa wiking ito.",
        "passwordreset-username": "Pangalan ng tagagamit:",
        "unusedtemplateswlh": "ibang mga ugnay",
        "randompage": "Pahinang walang-pili",
        "randompage-nopages": "Walang mga pahina sa sumusunod na {{PLURAL:$2|ngalan-espasyo|mga ngalan-espasyo}}: $1.",
+       "randomincategory-submit": "Gawin na",
        "randomredirect": "Pagkargang walang-pili",
        "randomredirect-nopages": "Walang mga pagkarga sa ngalan-espasyong \"$1\".",
        "statistics": "Mga estadistika",
        "nlinks": "$1 {{PLURAL:$1|ugnay|mga ugnay}}",
        "nmembers": "$1 {{PLURAL:$1|kasapi|mga kasapi}}",
        "nrevisions": "$1 {{PLURAL:$1|pagbabago|mga pagbabago}}",
-       "nviews": "$1 {{PLURAL:$1|pagtingin|mga pagtingin}}",
        "nimagelinks": "Ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}",
        "ntransclusions": "ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}",
        "specialpage-empty": "Walang resulta para sa ulat na ito.",
        "linksearch-pat": "Huwaran ng hanap",
        "linksearch-ns": "Pangalang espasyo",
        "linksearch-ok": "Hanapin",
-       "linksearch-text": "Maaaring gamitin ang mga \"barahang pamalit\" na katulad ng \"*.wikipedia.org\".\nKailangan ng kahit na isang nasasakupang mataas ang kaantasan, halimbawa na ang \"*.org\".<br />\nSinusuportahang mga protokolo: <code>$1</code> (huwag idagdag ang anuman sa mga ito sa paghahanap mo).",
+       "linksearch-text": "Maaaring gamitin ang mga \"barahang pamalit\" na katulad ng \"*.wikipedia.org\".\nKailangan ng kahit na isang nasasakupang mataas ang kaantasan, halimbawa na ang \"*.org\".<br />\nSinusuportahang mga protokolo: $1 (huwag idagdag ang anuman sa mga ito sa paghahanap mo).",
        "linksearch-line": "$1 nakakawing/nakaugnay mula sa $2",
        "linksearch-error": "Lilitaw lamang ang mga \"barahang-pamalit\" (''wildcard'') sa simula ng pangunahin/punong-abalang pangalan.",
        "listusersfrom": "Ipakita ang mga tagagamit na nagsisimula sa:",
        "logentry-patrol-patrol": "Minarkahan ni $1 ang rebisyong $4 ng pahinang $3 bilang napatrolya na",
        "logentry-patrol-patrol-auto": "Kusang minarkahan ni $1 ang rebisyong $4 ng pahinang $3 bilang napatrolya na",
        "logentry-newusers-newusers": "Nilikha ang kuwenta ng tagagamit na $1",
-       "logentry-newusers-create": "{{GENDER:$2|Inilikha}} ang kuwentang $1 ng tagagamit",
+       "logentry-newusers-create": "{{GENDER:$2|Inilikha}} ang account na $1 ng tagagamit",
        "logentry-newusers-create2": "Lumikha si $1 ng isang kuwenta ng tagagamit na $3",
        "logentry-newusers-autocreate": "Automatikong {{GENDER:$2|inilikha}} ang account ng tagagamit na $1",
        "rightsnone": "(wala)",
index 8797346..c56fea3 100644 (file)
        "passwordreset": "Parola sıfırlama",
        "passwordreset-text-one": "Parolanızı sıfırlamak için bu formu doldurun.",
        "passwordreset-text-many": "{{PLURAL:$1|E-posta ile geçici bir parola almak için alanlardan birini doldurun.}}",
-       "passwordreset-legend": "Şifreyi sıfırla",
        "passwordreset-disabled": "Parola sıfırlamaları bu wiki üzerinde devre dışı bırakıldı.",
        "passwordreset-emaildisabled": "Bu wiki'deki e-posta özellikleri devre dışı bırakıldı.",
        "passwordreset-username": "Kullanıcı adı:",
        "resettokens": "Anahtarları sıfırla",
        "resettokens-text": "Burada hesabınızla ilişkili bazı özel verilere erişim izin anahtarları sıfırlayabilirsiniz.\n\n\nSiz yanlışlıkla bunları paylaştıysanız veya hesabınızda bir bozulma varsa bunu yapmalısınız.",
        "resettokens-no-tokens": "Sıfırlamak için hiç bir belirteç bulunmuyor.",
-       "resettokens-legend": "Anahtarları sıfırla",
        "resettokens-tokens": "Belirteçler:",
        "resettokens-token-label": "$1 (geçerli değer: $2)",
        "resettokens-watchlist-token": "[[Special:Watchlist|İzleme listenizdeki sayfa değişiklikleri]] için web beslemeleri (Atom/RSS) anahtarı",
        "randomincategory-nopages": "[[:Category:$1|$1]] kategorisinde hiç sayfa yok.",
        "randomincategory-category": "Kategori:",
        "randomincategory-legend": "Kategoriden rastgele sayfa",
+       "randomincategory-submit": "Git",
        "randomredirect": "Rastgele yönlendirme",
        "randomredirect-nopages": "\"$1\" ad alanında hiç bir yönlendirme yok.",
        "statistics": "İstatistikler",
        "linksearch-pat": "Motif ara:",
        "linksearch-ns": "Ad alanı:",
        "linksearch-ok": "Ara",
-       "linksearch-text": "\"*.wikipedia.org\" gibi jokerler kullanılabilir.\nEn az bir üst-seviye alan gerekir, örneğin \"*.org\".<br />\nDesteklenen {{PLURAL:$2|iletişim kuralı|iletişim kuralları}}: <code>$1</code> (herhangi bir iletişim kuralı belirtmezseniz http:// otomatik olarak eklenir).",
+       "linksearch-text": "\"*.wikipedia.org\" gibi jokerler kullanılabilir.\nEn az bir üst-seviye alan gerekir, örneğin \"*.org\".<br />\nDesteklenen {{PLURAL:$2|iletişim kuralı|iletişim kuralları}}: $1 (herhangi bir iletişim kuralı belirtmezseniz http:// otomatik olarak eklenir).",
        "linksearch-line": "$1'e $2'den bağlantı verilmiş",
        "linksearch-error": "Jokerler sadece ana makine adının başında görünebilir.",
        "listusersfrom": "Şununla başlayan kullanıcıları görüntüle:",
        "special-characters-group-khmer": "Kmer",
        "special-characters-title-endash": "tire",
        "special-characters-title-emdash": "uzun çizgi",
-       "special-characters-title-minus": "Eksi işareti"
+       "special-characters-title-minus": "Eksi işareti",
+       "mw-widgets-titleinput-description-new-page": "sayfa henüz mevcut değil"
 }
index c9b0a5a..24e81c6 100644 (file)
@@ -22,7 +22,8 @@
                        "Умар",
                        "아라",
                        "Derslek",
-                       "Macofe"
+                       "Macofe",
+                       "Selimcan"
                ]
        },
        "tog-underline": "Сылтамаларның астына сызу:",
        "resetpass-wrong-oldpass": "Ялгыш серсүз.\nСез серсүзегезне үзгәрткән яисә яңа вакытлы серсүз сораткан булырга мөмкинсез.",
        "resetpass-temp-password": "Вакытлы серсүз:",
        "passwordreset": "Серсүзне бетерү",
-       "passwordreset-legend": "Серсүзне яңадан кую",
        "passwordreset-disabled": "Бу викида серсүз бетереп булмый",
        "passwordreset-username": "Кулланучы исеме:",
        "passwordreset-domain": "Домен:",
        "number_of_watching_users_pageview": "[$1 {{PLURAL:$1|күзәтеп тора кулланучы}}]",
        "rc_categories": "Төркемнәрдә генә тора («|» бүлүче)",
        "rc_categories_any": "Һәрбер",
-       "rc-change-size-new": "Төзәтмәдән соң күләме: $1 {{PLURAL:$1|байт|байт|байт}}",
+       "rc-change-size-new": "Төзәтмәдән соң күләме: $1 {{PLURAL:$1|байт|байт}}",
        "newsectionsummary": "/* $1 */ яңа бүлек",
        "rc-enhanced-expand": "Ваклыкларны күрсәтү",
        "rc-enhanced-hide": "Ваклыкларны яшерү",
        "tooltip-pt-logout": "Чыгу",
        "tooltip-pt-createaccount": "Сезгә аккаунт ясарга һәм системага керергә киңәш итәбез, әмма бу мәҗбүри түгел.",
        "tooltip-ca-talk": "Битнең эчтәлеге турында бәхәс",
-       "tooltip-ca-edit": "Сез Ð±Ñ\83 Ð±Ð¸Ñ\82 Ò¯Ð·Ð³Ó\99Ñ\80Ñ\82Ó\99 Ð°Ð»Ð°Ñ\81Ñ\8bз. Ð\97инһаÑ\80, Ñ\81аклаганÑ\87Ñ\8b ÐºÐ°Ñ\80ап Ð°Ð»Ñ\83нÑ\8b ÐºÑ\83лланÑ\8bгÑ\8bз.",
+       "tooltip-ca-edit": "Ð\91Ñ\83 Ð±Ð¸Ñ\82не Ò¯Ð·Ð³Ó\99Ñ\80Ñ\82Ò¯",
        "tooltip-ca-addsection": "Яңа бүлек башлау",
        "tooltip-ca-viewsource": "Бу бит үзгәртүдән якланган. Сез аның чыганак текстын гына карый аласыз.",
        "tooltip-ca-history": "Битнең төзәтмәләр исемлеге",
        "file-info-size": "$1 × $2 нокта, файлның зурлыгы: $3, MIME тибы: $4",
        "file-nohires": "Югары ачыклык белән юрама юк.",
        "svg-long-desc": "SVG файлы, шартлы $1 × $2 нокта, файлның зурлыгы: $3",
-       "show-big-image": "ТÑ\83лÑ\8b Ð°Ñ\87Ñ\8bклÑ\8bк",
+       "show-big-image": "Ð\9eÑ\80игинал Ñ\84айл",
        "show-big-image-size": "$1 × $2 пиксель",
        "newimages": "Яңа сүрәтләр җыелмасы",
        "newimages-legend": "Фильтр",
index 34bf7c4..a24fa92 100644 (file)
        "passwordreset": "پارولنى ئەسلىگە قايتۇرماق",
        "passwordreset-text-one": "ۋاقىتلىق پارولنى ئېلخەت ئارقىلىق قوبۇل قىلىش ئۈچۈن بۇ رامكىنى تولدۇرۇڭ.",
        "passwordreset-text-many": "{{PLURAL:$1|ئېلخەت ئارقىلىق ۋاقىتلىق پارول قوبۇل قىلىش ئۈچۈن بۆلەكتىن بىرنى تولدۇرۇڭ.}}",
-       "passwordreset-legend": "پارولنى ئەسلىگە قايتۇر",
        "passwordreset-disabled": "بۇ ۋىكىدا پارولنى ئەسلىگە قايتۇرۇش چەكلەنگەن.",
        "passwordreset-emaildisabled": "بۇ ۋىكىدا ئېلخەت ئىقتىدار چەكلەنگەن.",
        "passwordreset-username": "ئىشلەتكۈچى نامى:",
        "resettokens": "ئاچقۇچلۇق بەلگىلەرنى قايتا بېكىتمەك",
        "resettokens-text": "سىز بۇ يەردە سىزنىڭ ھىساۋاتىڭىزگە مۇناسۋەتلىك شەخسى ئۇچۇر مەخپىيەتلىكىنى قايتا كۆرەلەيسىز.\n\nئۇ ئۇچۇرلار ھەمبەھرلىنىپ كەتسە ياكى باشقىلار ئىشلىتۋالغان بولسا، ئۇ ئۇچۇرلارنى ئەسلىگە قايتۇرۇڭ.",
        "resettokens-no-tokens": "قايتا بېكىتىدىغان ھېچقانداق ئاچقۇچلۇق بەلگە يوق.",
-       "resettokens-legend": "ئاچقۇچلۇق بەلگىلەرنى قايتا بېكىتمەك",
        "resettokens-tokens": "ئاچقۇچلۇق بەلگىلەر:",
        "resettokens-token-label": "$1 (نۆۋەتتىكى قىممىتى: $2)",
        "resettokens-watchlist-token": "[[Special:Watchlist|كۆزىتىش تىزىملىكىڭىزدىكى بەتلەر ئۆزگىرىشى]] (Atom/RSS) تور مەنبەسىنىڭ ئاچقۇچلۇق بەلگىسى",
        "randomincategory": "تۈردىكى ئىختىيارى بەت",
        "randomincategory-invalidcategory": "«$1» ئىناۋەتلىك تۈر نامى ئەمەس",
        "randomincategory-nopages": "[[:Category:$1|$1]] تۈرىدە ھىچقانداق بەت يوق.",
+       "randomincategory-submit": "كۆچۈش",
        "randomredirect": "ئىختىيارىي قايتا نىشانلانغان بەت",
        "randomredirect-nopages": "\"$1\" ئات بوشلۇقىدا قايتا نىشانلانغان بەت يوق.",
        "statistics": "ستاتىستىكا",
        "nlinks": "$1 {{PLURAL:$1|ئۇلانما|ئۇلانما}}",
        "nmembers": "$1 {{PLURAL:$1|ئەزا|ئەزا}}",
        "nrevisions": "$1 {{PLURAL:$1|تۈزىتىش|تۈزىتىش}}",
-       "nviews": "$1 {{PLURAL:$1|زىيارەت|زىيارەت}}",
        "nimagelinks": "$1 {{PLURAL:$1|بەت|بەت}} تە ئىشلىتىلىدۇ",
        "ntransclusions": "$1 {{PLURAL:$1|بەت|بەت}} تە ئىشلىتىلدى",
        "specialpage-empty": "بۇ دوكلاتنىڭ نەتىجىسى يوق.",
        "linksearch-pat": "ئىزدەش شەكلى:",
        "linksearch-ns": "ئات بوشلۇقى:",
        "linksearch-ok": "ئىزدەش",
-       "linksearch-text": "\"wikipedia.org.*\" غا ئوخشاش ئورتاق بەلگە ئىشلىتىشكە بولىدۇ.\n </br>ئالىي دەرىجىلىك دائىرە بۇلىشى كېرەك، مەسىلەن:\"org.*\".\nقوللايدىغان{{PLURAL:$2| كېلىشىم}}: <code>$1</code>.",
+       "linksearch-text": "\"wikipedia.org.*\" غا ئوخشاش ئورتاق بەلگە ئىشلىتىشكە بولىدۇ.\n </br>ئالىي دەرىجىلىك دائىرە بۇلىشى كېرەك، مەسىلەن:\"org.*\".\nقوللايدىغان{{PLURAL:$2| كېلىشىم}}: $1.",
        "linksearch-line": "$1 بولسا $2 دىن ئۇلانغان",
        "linksearch-error": "ئورتاق بەلگەنى پەقەت ئاساسىي ئاپپارات ئاتىنىڭ باشىدىلا ئىشلەتكىلى بولىدۇ.",
        "listusersfrom": "بېرىلگەن ئىشلەتكۈچى كۆرسىتىش شەرتى:",
index b43794e..f3824e5 100644 (file)
        "randomincategory-nopages": "У [[:Category:$1]] немає сторінок.",
        "randomincategory-category": "Категорія:",
        "randomincategory-legend": "Випадкова сторінка у категорії",
+       "randomincategory-submit": "Перейти",
        "randomredirect": "Випадкове перенаправлення",
        "randomredirect-nopages": "Простір назв «$1» не містить перенаправлень.",
        "statistics": "Статистика",
        "linksearch-pat": "Шаблон для пошуку:",
        "linksearch-ns": "Простір назв:",
        "linksearch-ok": "Знайти",
-       "linksearch-text": "Можна вживати підстановочні символи, наприклад, «*.wikipedia.org».\nНеобхідно зазначити домен, принаймні верхнього рівня, наприклад «*.org».<br />\n{{PLURAL:$2|1=Підтримується протокол|Підтримуються протоколи}}: <code>$1</code> (за замовчуванням http:// , якщо жоден протокол не зазначено).",
+       "linksearch-text": "Можна вживати підстановочні символи, наприклад, «*.wikipedia.org».\nНеобхідно зазначити домен, принаймні верхнього рівня, наприклад «*.org».<br />\n{{PLURAL:$2|1=Підтримується протокол|Підтримуються протоколи}}: $1 (за замовчуванням http:// , якщо жоден протокол не зазначено).",
        "linksearch-line": "Посилання на $1 із $2",
        "linksearch-error": "Підстановочні знаки можуть використовуватися лише на початку адрес.",
        "listusersfrom": "Показати користувачів, починаючи з:",
index 0d4696b..df2b2ba 100644 (file)
        "resetpass-temp-password": "Password tenporanea:",
        "resetpass-abort-generic": "La modifica de la password la xe sta anulà da un'estension.",
        "passwordreset": "Rinposta ła password",
-       "passwordreset-legend": "Rinposta ła password",
        "passwordreset-disabled": "Ła rinpostasion deła password xe stà dixabiłità so sto projeto wiki.",
        "passwordreset-emaildisabled": "Le funsionalità de posta eletrònega le xe stà disabilità su sta wiki.",
        "passwordreset-username": "Nome utente:",
        "nlinks": "$1 {{PLURAL:$1|colegamento|colegamenti}}",
        "nmembers": "$1 {{PLURAL:$1|elemento|elementi}}",
        "nrevisions": "$1 {{PLURAL:$1|revision}}",
-       "nviews": "$1 {{PLURAL:$1|visita|visite}}",
        "nimagelinks": "Doparà su $1 {{PLURAL:$1|pagina|pagine}}",
        "ntransclusions": "doparà su $1 {{PLURAL:$1|pagina|pagine}}",
        "specialpage-empty": "Sto raporto no'l contien nissun risultato.",
        "linksearch-pat": "Espression de riserca:",
        "linksearch-ns": "Namespace:",
        "linksearch-ok": "Serca",
-       "linksearch-text": "Xe posibiłe doparare metacarateri, come \"*.wikipedia.org\".\nXe nesesario almanco un dominio de primo liveło, tipo \"*.org\".<br />\n{{PLURAL:$2|Protocoło suportà|Protocołi suportai}}: <code>$1</code> (predefinio http:// se nisun protocoło el xe spesifegà).",
+       "linksearch-text": "Xe posibiłe doparare metacarateri, come \"*.wikipedia.org\".\nXe nesesario almanco un dominio de primo liveło, tipo \"*.org\".<br />\n{{PLURAL:$2|Protocoło suportà|Protocołi suportai}}: $1 (predefinio http:// se nisun protocoło el xe spesifegà).",
        "linksearch-line": "$1 presente ne la pagina $2",
        "linksearch-error": "I metacaràteri i pode vegner doparài solo a l'inizio del nome de l'host.",
        "listusersfrom": "Mostra i utenti tacando da:",
index 0cfe6c8..061ac9b 100644 (file)
        "linksearch-pat": "Mẫu liên kết:",
        "linksearch-ns": "Không gian tên:",
        "linksearch-ok": "Tìm kiếm",
-       "linksearch-text": "Bạn có thể sử dụng ký tự đại diện (''wildcard''), ví dụ “*.wikipedia.org”; ít nhất phải có tên miền cấp cao nhất, thí dụ “*.org”.<br />{{PLURAL:$2|Giao thức|Các giao thức}} này được hỗ trợ: <code>$1</code>; mặc định là <code>http://</code> nếu không định rõ giao thức trong truy vấn.",
+       "linksearch-text": "Bạn có thể sử dụng ký tự đại diện (''wildcard''), ví dụ “*.wikipedia.org”; ít nhất phải có tên miền cấp cao nhất, thí dụ “*.org”.<br />{{PLURAL:$2|Giao thức|Các giao thức}} này được hỗ trợ: $1; mặc định là <code>http://</code> nếu không định rõ giao thức trong truy vấn.",
        "linksearch-line": "$1 được liên kết từ $2",
        "linksearch-error": "Chỉ được sử dụng ký tự đại diện (''wildcard'') vào đầu tên miền (''hostname'').",
        "listusersfrom": "Hiển thị thành viên bắt đầu từ:",
index 68ddb77..949bef4 100644 (file)
        "resetpass-wrong-oldpass": "Letavöd (laidüpik u nelaidüpik) no lonöföl.\nBa ya evotükol benosekiko letavödi olik, u ya ebegol benosekiko letavödi nelaidüpik nulik.",
        "resetpass-temp-password": "Letavöd nelaidüpik:",
        "passwordreset": "Dönuvälön letavödi",
-       "passwordreset-legend": "Dönuvälön letavödi",
        "passwordreset-username": "Gebananem:",
        "passwordreset-domain": "Domen:",
        "passwordreset-email": "Ladet leäktronik:",
        "nlinks": "{{PLURAL:$1|yüm|yüms}} $1",
        "nmembers": "{{PLURAL:$1|liman|limans}} $1",
        "nrevisions": "{{PLURAL:$1|fomam|fomams}} $1",
-       "nviews": "{{PLURAL:$1|logam|logams}} $1",
        "nimagelinks": "Pageböl in {{PLURAL:$1|pad|pads}} $1",
        "ntransclusions": "pageböl in {{PLURAL:$1|pad|pads}} $1",
        "specialpage-empty": "Pad at vagon.",
        "linksearch-pat": "Sukapated:",
        "linksearch-ns": "Nemaspad:",
        "linksearch-ok": "Suk",
-       "linksearch-text": "WilStelüls kanons pagebön, a.s. „*.wikipedia.org“.<br />\nProtoks pestütöl: <code>$1</code>",
+       "linksearch-text": "WilStelüls kanons pagebön, a.s. „*.wikipedia.org“.<br />\nProtoks pestütöl: $1",
        "linksearch-line": "$1 labon yümi se $2",
        "linksearch-error": "Stelüls kanons pubön te lä prim lotidiananema.",
        "listusersfrom": "Jonolöd gebanis primölo me:",
index 939fbe3..5acfa3e 100644 (file)
        "resetpass-wrong-oldpass": "Li scret timporaire ou do moumint n' est nén valide.\nMotoit ki vos l' avoz ddja candjî ou ridmandé on novea scret timporaire.",
        "resetpass-temp-password": "Sicret timporaire:",
        "passwordreset": "Rifé l' sicret",
-       "passwordreset-legend": "Rifé l' sicret",
        "passwordreset-disabled": "Li rfijhaedje di screts a stî dismetou so ç' wiki ci.",
        "passwordreset-username": "No d' elodjaedje:",
        "passwordreset-domain": "Dominne:",
        "nlinks": "$1 {{PLURAL:$1|loyén|loyéns}}",
        "nmembers": "$1 {{PLURAL:$1|mimbe|mimbes}}",
        "nrevisions": "$1 {{PLURAL:$1|modêye|modêyes}}",
-       "nviews": "léjhowe $1 {{PLURAL:$1|côp|côps}}",
        "nimagelinks": "Eployî so $1 pådje{{PLURAL:$1||s}}",
        "ntransclusions": "eployî so $1 pådje{{PLURAL:$1||s}}",
        "specialpage-empty": "Cisse pådje cial est vude.",
        "linksearch-pat": "Patron pol cweraedje:",
        "linksearch-ns": "Espåce di lomaedje:",
        "linksearch-ok": "Cweri",
-       "linksearch-text": "Des caracteres «djokers» polèt esse eployîs, metans «*.wikipedia.org».\nMins i fåt pol moens on dominne di prumî livea, metans «*.org»<br />\nProtocoles ricnoxhous: <code>$1</code> (nelzès metoz nén dins vosse tchinne di cweraedje).",
+       "linksearch-text": "Des caracteres «djokers» polèt esse eployîs, metans «*.wikipedia.org».\nMins i fåt pol moens on dominne di prumî livea, metans «*.org»<br />\nProtocoles ricnoxhous: $1 (nelzès metoz nén dins vosse tchinne di cweraedje).",
        "linksearch-line": "$1 est loyî a pårti d' $2",
        "linksearch-error": "Les caracteres djokers èn polèt esse eployîs k' a l' atake d' on no d' dominne ou d' lodjoe.",
        "listusersfrom": "Håyner les uzeus a pårti di:",
index 04e30ad..5f06880 100644 (file)
@@ -18,7 +18,8 @@
                        "LNDDYL",
                        "TheChampionMan1234",
                        "Fitoschido",
-                       "Poiuyt"
+                       "Poiuyt",
+                       "反共复国"
                ]
        },
        "tog-underline": "鏈接下橫線:",
        "tog-showtoolbar": "顯示編傢伙欄",
        "tog-editondblclick": "捺兩記編頁",
        "tog-editsectiononrightclick": "用右捺標題編段",
-       "tog-watchcreations": "畀我建个页搭我传个文件加进我个关注表里去",
-       "tog-watchdefault": "畀我编个页搭文件加进我个关注表里去",
+       "tog-watchcreations": "拿我建个页面搭我传个文件加到我个关注表里去",
+       "tog-watchdefault": "拿我编个页面搭文件加到我个关注表里去",
        "tog-watchmoves": "畀我移个页搭文件加进我个监控列表里去",
        "tog-watchdeletion": "畀我刪脫個頁搭文件加進我個關注表裏",
+       "tog-watchrollback": "拿我执行过回退个页面加到我个关注表里去",
        "tog-minordefault": "默認記全部編都是細個",
        "tog-previewontop": "編寫框頭前顯示先望",
        "tog-previewonfirst": "頭垡編寫顯示先望",
        "view": "望",
        "view-foreign": "登$1上看",
        "edit": "编",
+       "edit-local": "编辑本地说明",
        "create": "建",
        "create-local": "添加本地说明",
        "editthispage": "編箇頁",
        "pool-timeout": "等锁过时",
        "pool-queuefull": "池队列满哉",
        "pool-errorunknown": "弗识个错误",
+       "poolcounter-usage-error": "用法出错:$1",
        "aboutsite": "有关{{SITENAME}}",
        "aboutpage": "Project:关于",
        "copyright": "除非另外声明,内容侪拉$1下底发布。",
        "disclaimers": "免责声明",
        "disclaimerpage": "Project:免责声明",
        "edithelp": "編寫幫助",
+       "helppage-top-gethelp": "帮忙",
        "mainpage": "封面",
        "mainpage-description": "封面",
        "policy-url": "Project:策略",
        "retrievedfrom": "取自“$1”",
        "youhavenewmessages": "你侬有$1($2)。",
        "newmessageslinkplural": "{{PLURAL:$1|新消息|999=新消息}}",
-       "newmessagesdifflinkplural": "此垡̺{{PLURAL:$1|变化}}",
+       "newmessagesdifflinkplural": "此垡̺{{PLURAL:$1|变化|999=变化}}",
        "youhavenewmessagesmulti": "爾徠$1裏有新信息",
        "editsection": "编辑",
        "editold": "编",
        "toc": "目录",
        "showtoc": "顯示",
        "hidetoc": "囥脫",
+       "collapsible-collapse": "折叠",
+       "collapsible-expand": "展开",
+       "confirmable-confirm": "{{GENDER:$1|侬}}啊确定?",
+       "confirmable-yes": "是",
+       "confirmable-no": "弗是",
        "thisisdeleted": "望要弗復原$1?",
        "viewdeleted": "$1望望相?",
        "restorelink": "$1個刪脫個版本",
        "site-atom-feed": "$1个Atom订阅",
        "page-rss-feed": "“$1”個RSS訂閱",
        "page-atom-feed": "\"$1\" 个Atom订阅",
-       "red-link-title": "$1 (呒有箇页)",
+       "red-link-title": "$1(页面弗存在)",
        "sort-descending": "倒排",
        "sort-ascending": "顺排",
        "nstab-main": "页",
        "readonly_lag": "从数据库服务器垃拉从主服务器上更新,数据库已经拨自动锁定",
        "internalerror": "内部错误",
        "internalerror_info": "内部错误:$1",
+       "internalerror-fatal-exception": "类型“$1”个致命错误",
        "filecopyerror": "弗好拿文件“$1”复制到“$2”。",
        "filerenameerror": "拿文件“$1”重命名为“$2”失败。",
        "filedeleteerror": "弗好删除文件“$1”。",
        "directorycreateerror": "创建目录“$1”失败。",
+       "directoryreadonlyerror": "目录“$1”是只读个。",
+       "directorynotreadableerror": "目录“$1”读弗出来。",
        "filenotfound": "寻弗着文件 \"$1\"。",
        "unexpected": "非正常值:“$1”=“$2”。",
        "formerror": "错误:提交表单失败",
        "badarticleerror": "呒处垃拉箇只页面进行箇只操作。",
        "cannotdelete": "无处删除页面或图像 \"$1\"。\n渠作兴已经拨别人家删除脱哉。",
        "cannotdelete-title": "\"$1\"箇页删弗爻",
+       "delete-hook-aborted": "删除畀钩子取消。\n渠弗曾畀出解释。",
        "no-null-revision": "\"$1\"页呒处建新个修改",
        "badtitle": "坏标题",
        "badtitletext": "所请求页面个标题是无效个、弗存在,跨语言或跨wiki链接个标题错误。渠作兴包含一只或多只弗好用拉标题里向字符。",
+       "title-invalid-characters": "请求个页面标题包括无效字符:“$1”。",
+       "title-invalid-too-long": "请求个页面标题忒长。作为UTF-8编码,它弗好超过$1个{{PLURAL:$1|字节}}。",
        "perfcached": "下向是缓存数据,呒数弗是最新个。 A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.",
        "perfcachedts": "下头是缓存数据,阿末一趟更新辰光是$1。缓存里最多有{{PLURAL:$4|$4条结果}}。",
        "querypage-no-updates": "当前禁止对此页面进行更新。箇搭个数据弗好立即刷新。",
        "viewsource": "望源码",
+       "viewsource-title": "望“$1”个源代码",
        "actionthrottled": "动作已压制",
        "actionthrottledtext": "基于反垃圾链接个考量,限制垃拉短时间内多趟重复箇只操作。请过脱几分钟再试试看。",
        "protectedpagetext": "箇页锁牢定,防编搭各许操作。",
        "invalidtitle-unknownnamespace": "非法个题目头,有弗识个数字$1搭文字$2",
        "exception-nologin": "朆登录",
        "exception-nologin-text": "请登录来访问箇页面或操作。",
+       "exception-nologin-text-manual": "望箇页面或者操作需要侬$1。",
        "virus-badscanner": "设置问题:未知个反病毒扫描器:''$1''",
        "virus-scanfailed": "扫描失败(代码 $1)",
        "virus-unknownscanner": "未知个反病毒扫描器:",
        "wrongpassword": "密码弗对。请侬再试试看。",
        "wrongpasswordempty": "密码为空,请重试。",
        "passwordtooshort": "密码起码要$1个字符。",
+       "passwordtoolong": "密码弗能超过{{PLURAL:$1|$1个字符}}。",
        "password-name-match": "密码弗好搭户名一样。",
        "password-login-forbidden": "用箇名字搭密码是弗准个。",
        "mailmypassword": "重置密码",
        "createaccount-text": "有人垃拉{{SITENAME}}里向利用侬个邮箱创建仔一只叫 \"$2\" 个新帐户($4),密码是 \"$3\" 。侬应该立即登录并更改密码。\n\n如果箇个账户创建错误个说话,侬可以忽略此信息。",
        "login-throttled": "你侬试登忒多次哉。\n等 $1 再试试凑相。",
        "login-abort-generic": "登录弗成功 - 已终止",
+       "login-migrated-generic": "侬个账号已经畀移脱哉,并且侬个用户名来箇wiki弗再存在。",
        "loginlanguagelabel": "语言:$1",
        "suspicious-userlogout": "侬登出个要求已经拨回头脱,因为渠可能是由已损坏个浏览器或者缓存代理传送个。",
        "pt-login": "登录",
        "loginreqlink": "登录",
        "loginreqpagetext": "侬必须$1再好查看其它页面。",
        "accmailtitle": "密码已发送哉。",
-       "accmailtext": "已经为[[User talk:$1|$1]] 产生只随机密码,并且已经发送到$2。\n\n登录之后,侬可以垃拉 ''[[Special:ChangePassword|箇只页面]]''更改密码。",
+       "accmailtext": "已经为[[User talk:$1|$1]]产生只随机密码,并且已经发送到$2。登录之后,侬可以垃拉<em>[[Special:ChangePassword|箇只页面]]</em>更改密码。",
        "newarticle": "(新)",
        "newarticletext": "倷跟仔链接来着一个还弗勒里个页面。\n要创建该页面呢,就勒下底个框框里向开始写([$1 帮助页面]浪有更加多个信息)。\n要是倷是弗用心到该搭个说话,只要点击倷浏览器个'''返回'''揿钮。",
        "anontalkpagetext": "---- ''箇是一个还弗曾建立账户个匿名用户个讨论页, 箇咾我伲只好用IP地址来搭渠联络。该IP地址可能由几名用户共享。如果侬是一名匿名用户并认为箇只页面高头个评语搭侬弗搭界,请 [[Special:UserLogin/signup|创建新账户]]或[[Special:UserLogin|登录]]来避免垃拉将来搭其他匿名用户混淆。''",
        "revdelete-confirm": "假使侬想箇能介做个闲话,请确认侬已经清爽箇能介做个后果,外加箇个程序符合[[{{MediaWiki:Policy-url}}|政策]]。",
        "revdelete-suppress-text": "'''只有'''出现下头眼情况再应阻止访问:\n* 弗适合个个人信息\n*: ''家庭地址、电话号码、身份证号码等。''",
        "revdelete-legend": "设置可见性之限制",
-       "revdelete-hide-text": "隐藏修订文本",
+       "revdelete-hide-text": "修订文本",
        "revdelete-hide-image": "隐藏文件内容",
-       "revdelete-hide-name": "隐藏动作搭仔目标",
-       "revdelete-hide-comment": "隐藏编辑备注",
-       "revdelete-hide-user": "隐藏编辑者个用户名/IP地址",
+       "revdelete-hide-name": "隐藏目标搭仔参数",
+       "revdelete-hide-comment": "编辑摘要",
+       "revdelete-hide-user": "者个用户名/IP地址",
        "revdelete-hide-restricted": "同时阻止管理员与其他用户查看数据",
        "revdelete-radio-same": "(弗要更改)",
-       "revdelete-radio-set": "",
-       "revdelete-radio-unset": "å\90¦",
+       "revdelete-radio-set": "囥脱",
+       "revdelete-radio-unset": "å\8f¯è§\81",
        "revdelete-suppress": "同时阻止管理员与其他用户查看数据",
        "revdelete-unsuppress": "垃拉已恢复个修订里向移除限制",
        "revdelete-log": "理由:",
        "revdelete-no-change": "警告:于$1 $2之项目已经请求仔可见性设置。",
        "revdelete-concurrent-change": "更改于$1 $2之项目错误:我伲尝试更改渠个设置个辰光,已经拨别人家更改过。请检查纪录。",
        "revdelete-only-restricted": "隐藏$1 $2个项目个辰光发生错误:侬弗好垃拉选择仔另一可见性选项后废止管理员查看该项目。",
-       "revdelete-reason-dropdown": "*常用删除理由\n** 侵犯版权\n** 弗适合个个人资料",
+       "revdelete-reason-dropdown": "*常用删除理由\n** 侵犯版权\n** 弗合适个评论或个人资料\n** 弗合适个用户名\n** 诽谤",
        "revdelete-otherreason": "别个/附加理由:",
        "revdelete-reasonotherlist": "别个理由",
        "revdelete-edit-reasonlist": "编辑删除理由",
        "revdelete-offender": "版本作者:",
        "suppressionlog": "阻止日志",
-       "suppressionlogtext": "下头是只删除搭仔封锁列表,包括对管理员隐藏个内容。\n参看[[Special:IPBlockList|IP封锁名单]]来了解目前有效个禁止搭仔封锁之名单。",
+       "suppressionlogtext": "下头是只删除搭仔封锁列表,包括对管理员囥脱个内容。\n参看[[Special:BlockList|封锁名单]]来了解目前有效个禁止搭仔封锁之名单。",
        "mergehistory": "合并页面历史",
        "mergehistory-header": "箇只页面可以让侬拿来源页面个修订历史合并到新页面里向。\n请确保此次更改能继续保持历史页面个连续性。",
        "mergehistory-box": "合并两只页面个修订历史:",
        "search-section": "(段落 $1)",
        "search-suggest": "你侬是寻:$1",
        "search-interwiki-caption": "姊妹项目",
-       "search-interwiki-default": "$1项结果:",
+       "search-interwiki-default": "来自$1个结果:",
        "search-interwiki-more": "(更多)",
        "search-relatedarticle": "相关",
        "searchrelated": "相关",
        "prefs-rc": "近段辰光个改动",
        "prefs-watchlist": "监控列表",
        "prefs-watchlist-days": "勒拉监控列表里向显示个日数:",
-       "prefs-watchlist-days-max": "Maximum $1 {{PLURAL:$1|day|days}}",
+       "prefs-watchlist-days-max": "最长$1日天",
        "prefs-watchlist-edits": "勒拉扩展个监控列表里向显示个编辑趟数:",
        "prefs-watchlist-edits-max": "顶多:1000",
        "prefs-watchlist-token": "监控列表记认:",
        "prefs-misc": "杂项",
        "prefs-resetpass": "更改密码",
+       "prefs-changeemail": "更改电子邮箱地址",
        "prefs-email": "邮箱选项",
        "prefs-rendering": "外观",
        "saveprefs": "保存",
        "savedprefs": "倷个偏好已经保存哉。",
        "timezonelegend": "时区:",
        "localtime": "当地辰光:",
-       "timezoneuseserverdefault": "使用服务器默认值",
+       "timezoneuseserverdefault": "使用wiki默认值($1)",
        "timezoneuseoffset": "其它(指定时差)",
        "servertime": "服务器辰光:",
        "guesstimezone": "从浏览器填写",
        "timezoneregion-asia": "亚洲",
        "timezoneregion-atlantic": "大西洋",
        "timezoneregion-australia": "澳洲",
+       "timezoneregion-europe": "欧洲",
+       "timezoneregion-indian": "印度洋",
+       "timezoneregion-pacific": "太平洋",
        "allowemail": "接受别个用户个电子邮件",
        "prefs-searchoptions": "搜寻",
        "prefs-namespaces": "名字空间",
        "default": "默认",
        "prefs-files": "文件",
        "youremail": "电子信箱:",
-       "username": "用户名:",
+       "username": "{{GENDER:$1|用户名}}:",
        "yourrealname": "真名字:",
        "yourlanguage": "语言:",
        "yournick": "绰号:",
        "badsig": "无效原始签名;检查 HTML 标签。",
-       "gender-unknown": "æ\88\91å¼\97æ\83³è¬\9b",
+       "gender-unknown": "æ\8f\90å\88°ä¾¬ä¸ªè¾°å\85\89ï¼\8c软件ä¼\9aå°½é\87\8fç\94¨æ\80§å\88«ä¸­ç«\8b个è¯\8dæ±\87",
        "gender-male": "佢写Wiki",
        "gender-female": "\"姖\"写Wiki",
        "email": "电子邮件",
        "prefs-help-email": "电子信由你侬填弗填,转设密码用得着。",
        "prefs-help-email-others": "你侬也好来你侬个用户|讨论页里添加自己个电子信连接畀别人联系你用。\n别人联系你是弗晓得你侬个电子信地址个。",
        "prefs-help-email-required": "需要电子邮件地址。",
+       "prefs-dateformat": "日脚格式",
        "userrights-user-editname": "输入用户名:",
        "group-bot": "机器人",
        "group-sysop": "管理员",
        "group-bureaucrat": "行政员",
        "group-all": "(全)",
-       "group-bot-member": "机器人",
-       "group-sysop-member": "管理员",
-       "group-bureaucrat-member": "行政员",
+       "group-bot-member": "{{GENDER:$1|机器人}}",
+       "group-sysop-member": "{{GENDER:$1|管理员}}",
+       "group-bureaucrat-member": "{{GENDER:$1|行政员}}",
        "grouppage-bot": "{{ns:project}}:机器人",
        "grouppage-sysop": "{{ns:project}}:管理员",
        "grouppage-bureaucrat": "{{ns:project}}:行政员",
        "unwatchthispage": "停止监控",
        "notanarticle": "弗是內容頁",
        "watchlist-details": "弗包括讨论页,有 $1 页徕你侬关注表里向。",
+       "wlnote": "下底是{{PLURAL:$2|过去<strong>$2</strong>个钟头}}个{{PLURAL:$1|最后<strong>$1</strong>届更改}},截至$3 $4。",
        "wlshowlast": "显示上 $1 个钟头 $2 日",
        "watchlist-options": "监控列表选项",
        "watching": "监控……",
        "protect-othertime": "各許時間:",
        "protect-othertime-op": "各許時間",
        "protect-otherreason-op": "各許原因",
+       "protect-expiry-options": "1个钟头:1 hour,1天:1 day,1个礼拜:1 week,2个礼拜:2 weeks,1个号头:1 month,3个号头:3 months,6个号头:6 months,1年:1 year,老世:infinite",
        "restriction-type": "权限:",
        "restriction-level": "限制级别:",
        "minimum-size": "最小大細",
        "ipbreason": "理由:",
        "ipbsubmit": "封杀该个用户",
        "ipbother": "其它时间:",
-       "ipboptions": "2个钟头:2 hours,1日:1 day,3日:3 days,1个礼拜:1 week,2个礼拜:2 weeks,1个月日:1 month,3个月日:3 months,6个月日:6 months,1年:1 year,老世:infinite",
+       "ipboptions": "2个钟头:2 hours,1天:1 day,3天:3 days,1个礼拜:1 week,2个礼拜:2 weeks,1个号头:1 month,3个号头:3 months,6个号头:6 months,1年:1 year,老世:infinite",
        "badipaddress": "无效 IP 地址",
        "ipblocklist": "封脱个用户",
        "infiniteblock": "永远",
        "tooltip-pt-logout": "登出",
        "tooltip-pt-createaccount": "建议你建立一个账号并登录,但必过箇弗是板要个",
        "tooltip-ca-talk": "讨论内容页",
-       "tooltip-ca-edit": "ç®\87页你侬好ç¼\96ã\80\82ä¿\9då­\98ä¹\8bå\89\8dæ\9c\9bæ\9c\9bç\9b¸èµ·ã\80\82",
+       "tooltip-ca-edit": "ç¼\96è¾\91ç®\87页",
        "tooltip-ca-addsection": "开始新段",
        "tooltip-ca-viewsource": "箇页受保护,你好望源代码",
        "tooltip-ca-history": "箇页以早个版本",
        "show-big-image-size": "$1×$2像素",
        "newimages": "新文件陈列室",
        "ilsubmit": "搜寻",
+       "hours": "$1个钟头",
+       "hours-ago": "$1个钟头前",
        "bad_image_list": "格式如下:\n\n只列出项目(线开始* )的审议。\n第一个环节上线必须是一个链接到一个坏文件。\n其后的任何链接在同一行被认为是例外情况,即网页的文件,则可能会发生内部。",
        "variantname-zh-tw": "台湾",
        "metadata": "元数据",
index f341b8c..4b20e8b 100644 (file)
        "linksearch-pat": "ძიების თარგი:",
        "linksearch-ns": "ჯოხოეფიშ ოფირჩა:",
        "linksearch-ok": "გორუა",
-       "linksearch-text": "შესაძლებელია გამოიყენოთ ქვეხაზოვანი სიმბოლოები, მაგალითად, \"*.wikipedia.org\".\nუკიდურეს შემთხვევაში საჭიროა ზედა დონის დომენი, მაგალითად \"*.org\"<br />\nმხარდამჭერი {{PLURAL:$2|პროტოკოლი|პროტოკოლები}}: <code>$1</code> (სტანდარტულად http:// თუკი პროტოკოლი არ არის მითითებული)",
+       "linksearch-text": "შესაძლებელია გამოიყენოთ ქვეხაზოვანი სიმბოლოები, მაგალითად, \"*.wikipedia.org\".\nუკიდურეს შემთხვევაში საჭიროა ზედა დონის დომენი, მაგალითად \"*.org\"<br />\nმხარდამჭერი {{PLURAL:$2|პროტოკოლი|პროტოკოლები}}: $1 (სტანდარტულად http:// თუკი პროტოკოლი არ არის მითითებული)",
        "linksearch-line": "$1 მერცხიილი რე $2-შე",
        "linksearch-error": "წარმოდგენილი სიმბოლოების გამოყენება შესაძლებელია მხოლოდ მისამართის დასაწყისში.",
        "listusersfrom": "გეგმარჩქინ ხასილეფ დოჭყაფილ:",
index b849ca4..4f05a3c 100644 (file)
        "resetpass-temp-password": "Ọ̀rọ̀ìpamọ́ fún ìgbà díẹ̀",
        "resetpass-abort-generic": "Ìyípadà ọ̀rọ̀ìpamọ́ ti jẹ́ jíjáwọ́ látọwọ́ àsomọ́ kan.",
        "passwordreset": "Ìtúntò ọ̀rọ̀ìpamọ́",
-       "passwordreset-legend": "Ìtúntò ọ̀rọ̀ìpamọ́",
        "passwordreset-disabled": "Ìdálẹ́kun ìtúntò ọ̀rọ̀ìpamọ́ lórí wiki yìí.",
        "passwordreset-emaildisabled": "Ìdálẹ́kun lílo email lórí wiki yìí.",
        "passwordreset-username": "Orúkọ oníṣe:",
        "nlinks": "{{PLURAL:$1|ìjápọ̀|àwọn ìjápọ̀}} $1",
        "nmembers": "{{PLURAL:$1|ará|àwọn ará}} $1",
        "nrevisions": "{{PLURAL:$1|àtúnyẹ̀wò|àwọn àtúnyẹ̀wò}} $1",
-       "nviews": "{{PLURAL:$1|Ìwò|Àwọn ìwò}} $1",
        "nimagelinks": "Lílò lórí {{PLURAL:$1|ojúewé|àwọn ojúewé}} $1",
        "ntransclusions": "lílò lórí {{PLURAL:$1|ojúewé|àwọn ojúewé}} $1",
        "specialpage-empty": "Kò sí àwọn èsì kankan fún ìjábọ̀ yìí.",
        "linksearch-pat": "Ọ̀nà àwáàrí:",
        "linksearch-ns": "Orúkọàyè:",
        "linksearch-ok": "Ṣàwárí",
-       "linksearch-text": "Àwọn ọ̀rọ̀ àfiwá bíi \"*.wikipedia.org\" le ṣe é lò.\nOrúkọ ibiàyè pọndandan, fún àpẹrẹ \"*.org\".<br />\n{{PLURAL:$2|Prótókólù|Àwọn prótókólù}} tí a ṣàtìlẹ́yìn fún: <code>$1</code> (yíó bẹ̀rẹ̀ pẹ̀lú http:// tí prótókólù kankan kò bá jẹ́ títọ́kasí).",
+       "linksearch-text": "Àwọn ọ̀rọ̀ àfiwá bíi \"*.wikipedia.org\" le ṣe é lò.\nOrúkọ ibiàyè pọndandan, fún àpẹrẹ \"*.org\".<br />\n{{PLURAL:$2|Prótókólù|Àwọn prótókólù}} tí a ṣàtìlẹ́yìn fún: $1 (yíó bẹ̀rẹ̀ pẹ̀lú http:// tí prótókólù kankan kò bá jẹ́ títọ́kasí).",
        "linksearch-line": "$1 jẹ́ jíjápọ̀ láti $2",
        "linksearch-error": "Àwọn ọ̀rọ̀ àfiwá le hàn ní ìbẹ̀rẹ̀ orúkọ ibiìtakùn (hostname) nìkan.",
        "listusersfrom": "Ìfihàn àwọn oníṣe nípa bíbẹ̀rẹ̀ láti:",
index 5d21409..00b4612 100644 (file)
        "linksearch-pat": "搵嘅形態:",
        "linksearch-ns": "空間名",
        "linksearch-ok": "搵",
-       "linksearch-text": "可以用類似「*.wikipedia.org」嘅萬用字元。\n需要至少一個頂級域名,好似「*.org」。<br />\n支援嘅{{PLURAL:$2|協議}}:<code>$1</code> (預設用 http:// 如果唔指定協議)",
+       "linksearch-text": "可以用類似「*.wikipedia.org」嘅萬用字元。\n需要至少一個頂級域名,好似「*.org」。<br />\n支援嘅{{PLURAL:$2|協議}}:$1 (預設用 http:// 如果唔指定協議)",
        "linksearch-line": "$1 連自 $2",
        "linksearch-error": "萬用字元只可以響主機名嘅開頭度用。",
        "listusersfrom": "顯示由呢個字開始嘅用戶:",
index 474a009..b51e29c 100644 (file)
        "loginreqlink": "登录",
        "loginreqpagetext": "您必须$1才能查看其它页面。",
        "accmailtitle": "密码已寄出",
-       "accmailtext": "为[[User talk:$1|$1]]随机生成的密码已送至$2。登录后可以在''[[Special:ChangePassword|更改密码]]''页面中修改。",
+       "accmailtext": "为[[User talk:$1|$1]]随机生成的密码已送至$2。登录后可以在<em>[[Special:ChangePassword|更改密码]]</em>页面中修改。",
        "newarticle": "(新页面)",
        "newarticletext": "你点击了一个尚不存在的页面的链接。要创建该页面,请在下面的编辑框中输入内容(更多信息请见[$1 帮助页面])。如果你是错误地到达这里,请点击您的浏览器的<strong>返回</strong>按钮。",
        "anontalkpagetext": "---- ''这是一个还未建立账户的匿名用户的讨论页, 因此我们只能用IP地址来与他或她联络。该IP地址可能由几名用户共享。如果您是一名匿名用户并认为此页上的评语与您无关,请[[Special:UserLogin/signup|创建新账户]]或[[Special:UserLogin|登录]]以避免在未来与其他匿名用户混淆。''",
        "linksearch-pat": "搜索网址:",
        "linksearch-ns": "名字空间:",
        "linksearch-ok": "搜索",
-       "linksearch-text": "可以使用类似“*.wikipedia.org”的通配符。必须至少是顶级域名,例如“*.org”。<br />\n支持的{{PLURAL:$2|协议}}:<code>$1</code>(如果没有设置协议则默认为<nowiki>http://</nowiki>)。",
+       "linksearch-text": "可以使用类似“*.wikipedia.org”的通配符。必须至少是顶级域名,例如“*.org”。<br />\n支持的{{PLURAL:$2|协议}}:$1(如果没有设置协议则默认为http://)。",
        "linksearch-line": "$1 链自 $2",
        "linksearch-error": "通配符仅可在主机名称的开头使用。",
        "listusersfrom": "显示用户开始于:",
        "pageinfo-robot-index": "允许",
        "pageinfo-robot-noindex": "不允许",
        "pageinfo-watchers": "页面监视者数",
-       "pageinfo-visiting-watchers": "正在访问最近编辑的页面浏览者数量",
+       "pageinfo-visiting-watchers": "访问最近编辑的页面浏览者数量",
        "pageinfo-few-watchers": "少于$1个监视者",
        "pageinfo-few-visiting-watchers": "这里可能有或可能没有观察用户正在访问最近编辑",
        "pageinfo-redirects-name": "至该页面的重定向数",
index 6e435e3..760595d 100644 (file)
        "creating": "正在建立 $1",
        "editingsection": "正在編輯 $1 (章節)",
        "editingcomment": "正在編輯 $1 (新章節)",
-       "editconflict": "ç\94±æ\96¼ç·¨è¼¯è¡\9dçª\81ï¼\8cç\84¡æ³\95å\84²å­\98ç\9b®å\89\8dç\9a\84è®\8aæ\9b´ã\80\82{{GENDER:|æ\82¨}}æ\98¯å\90¦è¦\81æ\89\8bå\8b\95æ\8e\92é\99¤è¡\9dçª\81ï¼\9f",
+       "editconflict": "編輯è¡\9dçª\81ï¼\9a$1",
        "explainconflict": "在您開始編輯之後已有其他人儲存了此頁面。\n上方的文字框內顯示了目前頁面中的文字內容,\n您所變更的文字內容顯示在下方文字框中。\n您須要將您所變更的文字內容合併到已儲存的文字內容當中。\n若您直接點選 \"{{int:savearticle}}\" <strong>只有</strong> 上方文字框中的內容會被儲存。",
        "yourtext": "您的文字",
        "storedversion": "已儲存修訂",
        "randomincategory-nopages": "[[:Category:$1]] 中沒有任何頁面。",
        "randomincategory-category": "分類:",
        "randomincategory-legend": "隨機分類頁面",
-       "randomincategory-submit": "進入",
+       "randomincategory-submit": "前往",
        "randomredirect": "隨機重新導向",
        "randomredirect-nopages": "在命名空間 \"$1\" 中沒有任何重新導向頁面。",
        "statistics": "統計",
        "linksearch-pat": "搜尋關鍵字:",
        "linksearch-ns": "命名空間:",
        "linksearch-ok": "搜尋",
-       "linksearch-text": "可使用萬用字元如 *.wikipedia.org。\n萬用字元必須使用在最上層網域,例如 *.org 。<br />\n支援的{{PLURAL:$2|通訊協定}}有:<code>$1</code>  (若未指定則預設使用 http:// 通訊協定) 。",
+       "linksearch-text": "可使用萬用字元如 *.wikipedia.org。\n萬用字元必須使用在最上層網域,例如 *.org 。<br />\n支援的{{PLURAL:$2|通訊協定}}有:$1  (若未指定則預設使用 http:// 通訊協定) 。",
        "linksearch-line": "$1 由 $2 所連結",
        "linksearch-error": "萬用字元僅可在主機名稱的開頭使用。",
        "listusersfrom": "顯示使用者開始自:",
        "changecontentmodel-nodirectediting": "$1 的內容模型不支援直接編輯",
        "log-name-contentmodel": "內容模型變更日誌",
        "log-description-contentmodel": "與頁面內容模型相關的事件",
-       "logentry-contentmodel-change": "$1 已變頁面 $3 的內容模型自 \"$4\" 至 \"$5\"",
+       "logentry-contentmodel-change": "$1 {{GENDER:$2|已變更}}頁面 $3 的內容模型自 \"$4\" 至 \"$5\"",
        "logentry-contentmodel-change-revertlink": "還原",
        "logentry-contentmodel-change-revert": "還原",
        "protectlogpage": "保護日誌",
        "pageinfo-robot-index": "允許",
        "pageinfo-robot-noindex": "不允許",
        "pageinfo-watchers": "頁面監視者數",
-       "pageinfo-visiting-watchers": "頁面監視者參觀最近編輯數",
+       "pageinfo-visiting-watchers": "最後一次編輯後參觀人數",
        "pageinfo-few-watchers": "少於 $1 名監視者",
        "pageinfo-few-visiting-watchers": "參觀近期編輯的使用者可能為監視使用者",
        "pageinfo-redirects-name": "指向此頁面的重新導向頁面數量",
        "deletedwhileediting": "<strong>警告:</strong>此頁在您開始編輯之後已經被刪除﹗",
        "confirmrecreate": "在您編輯的同時,使用者 [[User:$1|$1]] ([[User talk:$1|對話]]) 刪除了此頁面,原因為:\n: <em>$2</em>\n請確認您是否真的要重新建立此頁面。",
        "confirmrecreate-noreason": "在您編輯的同時,使用者 [[User:$1|$1]] ([[User talk:$1|對話]]) 刪除了此頁面,請確認您是否真的要重新建立此頁面。",
-       "recreate": "此頁面在您編輯的這段期間已被刪除,請點選 \"$1\" 重新建立頁面。",
+       "recreate": "重新建立",
        "confirm_purge_button": "確定",
        "confirm-purge-top": "要清除此頁面的快取嗎?",
        "confirm-purge-bottom": "清除頁面會清空頁面的快取記錄並強制顯示最近的頁面修訂。",
index 96c05a1..1d7a1ce 100644 (file)
@@ -22,6 +22,7 @@
                                "name": "General",
                                "classes": [
                                        "mw.Title",
+                                       "mw.Upload*",
                                        "mw.Uri",
                                        "mw.RegExp",
                                        "mw.messagePoster.*",
index 39589a0..cc8069d 100644 (file)
@@ -66,7 +66,7 @@ class SeeTag < CommonTag
     <<-EOHTML
       <h3 class="pa">Related</h3>
       <ul>
-      #{ context[@tagname].map { |tag| tag[:doc] }.join("\n") }
+      #{context[@tagname].map { |tag| tag[:doc] }.join("\n")}
       </ul>
     EOHTML
   end
@@ -102,7 +102,7 @@ class ContextTag < CommonTag
   def to_html(context)
     <<-EOHTML
       <h3 class="pa">Context</h3>
-      #{ context[@tagname].last[:doc] }
+      #{context[@tagname].last[:doc]}
     EOHTML
   end
 
index 47866dc..f89877e 100644 (file)
@@ -48,14 +48,6 @@ class RebuildLocalisationCache extends Maintenance {
                        false, true );
        }
 
-       public function memoryLimit() {
-               if ( $this->hasOption( 'memory-limit' ) ) {
-                       return parent::memoryLimit();
-               }
-
-               return '1000M';
-       }
-
        public function finalSetup() {
                # This script needs to be run to build the inital l10n cache. But if
                # $wgLanguageCode is not 'en', it won't be able to run because there is
index 82eae21..a7fd827 100644 (file)
@@ -125,12 +125,12 @@ class MwSql extends Maintenance {
                        try {
                                $res = $db->query( $wholeLine );
                                $this->sqlPrintResult( $res, $db );
-                               $prompt = $newPrompt;
-                               $wholeLine = '';
                        } catch ( DBQueryError $e ) {
                                $doDie = !Maintenance::posix_isatty( 0 );
                                $this->error( $e, $doDie );
                        }
+                       $prompt = $newPrompt;
+                       $wholeLine = '';
                }
                wfWaitForSlaves();
        }
diff --git a/phpcs.xml b/phpcs.xml
new file mode 100644 (file)
index 0000000..7f1bced
--- /dev/null
+++ b/phpcs.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<ruleset name="MediaWiki">
+       <rule ref="vendor/mediawiki/mediawiki-codesniffer/MediaWiki"/>
+       <file>.</file>
+       <arg name="encoding" value="utf8"/>
+       <arg name="extensions" value="php,php5,inc,sample"/>
+       <exclude-pattern>node_modules</exclude-pattern>
+       <exclude-pattern>vendor</exclude-pattern>
+       <exclude-pattern>extensions</exclude-pattern>
+       <exclude-pattern>skins</exclude-pattern>
+</ruleset>
index 1ec4c1e..3217503 100644 (file)
@@ -855,6 +855,10 @@ return array(
                'dependencies' => 'mediawiki.api',
                'targets' => array( 'desktop', 'mobile' ),
        ),
+       'mediawiki.api.upload' => array(
+               'scripts' => 'resources/src/mediawiki.api/mediawiki.api.upload.js',
+               'dependencies' => array( 'mediawiki.api', 'mediawiki.api.edit', 'json' ),
+       ),
        'mediawiki.api.watch' => array(
                'scripts' => 'resources/src/mediawiki.api/mediawiki.api.watch.js',
                'dependencies' => array(
@@ -1055,6 +1059,13 @@ return array(
                ),
                'targets' => array( 'desktop', 'mobile' ),
        ),
+       'mediawiki.Upload' => array(
+               'scripts' => 'resources/src/mediawiki/mediawiki.Upload.js',
+               'dependencies' => array(
+                       'dom-level2-shim',
+                       'mediawiki.api.upload',
+               ),
+       ),
        'mediawiki.toc' => array(
                'scripts' => 'resources/src/mediawiki/mediawiki.toc.js',
                'dependencies' => 'mediawiki.cookie',
@@ -1493,6 +1504,7 @@ return array(
                'position' => 'top',
                'scripts' => 'resources/src/mediawiki.special/mediawiki.special.search.js',
                'styles' => 'resources/src/mediawiki.special/mediawiki.special.search.css',
+               'dependencies' => 'mediawiki.widgets',
                'messages' => array(
                        'powersearch-togglelabel',
                        'powersearch-toggleall',
@@ -1736,7 +1748,6 @@ return array(
                        'resources/src/mediawiki.widgets/mw.widgets.js',
                        'resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js',
                        'resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js',
-                       'resources/src/mediawiki.widgets/mw.widgets.infuse.js',
                ),
                'skinStyles' => array(
                        'default' => 'resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.css',
index fb0f688..7db7547 100644 (file)
@@ -2,9 +2,22 @@
        "@metadata": {
                "authors": [
                        "Чаховіч Уладзіслаў",
-                       "Artificial123"
+                       "Artificial123",
+                       "Goshaproject"
                ]
        },
+       "ooui-outline-control-move-down": "Перамясціць элемент ўніз",
+       "ooui-outline-control-move-up": "Перамясціць элемент уверх",
+       "ooui-outline-control-remove": "Выдаліць элемент",
+       "ooui-toolbar-more": "Яшчэ",
+       "ooui-toolgroup-expand": "Яшчэ",
+       "ooui-toolgroup-collapse": "Менш",
        "ooui-dialog-message-accept": "ОК",
-       "ooui-dialog-message-reject": "Адмяніць"
+       "ooui-dialog-message-reject": "Адмяніць",
+       "ooui-dialog-process-error": "Штось пайшло не так…",
+       "ooui-dialog-process-dismiss": "Прапусціць",
+       "ooui-dialog-process-retry": "Паспрабаваць яшчэ раз",
+       "ooui-dialog-process-continue": "Працягнуць",
+       "ooui-selectfile-not-supported": "Выбраны файл не падтрымліваецца",
+       "ooui-selectfile-placeholder": "Файл не выбраны"
 }
index 02d95b5..dce3593 100644 (file)
@@ -4,9 +4,18 @@
                        "DCLXVI",
                        "Hristofor.mirchev",
                        "පසිඳු කාවින්ද",
-                       "Mitzev"
+                       "Mitzev",
+                       "Aquilax"
                ]
        },
        "ooui-outline-control-remove": "Премахване на обекта",
-       "ooui-toolbar-more": "Още"
+       "ooui-toolbar-more": "Още",
+       "ooui-toolgroup-expand": "Още",
+       "ooui-toolgroup-collapse": "По-малко",
+       "ooui-dialog-message-accept": "OK",
+       "ooui-dialog-message-reject": "Отказ",
+       "ooui-dialog-process-error": "Нещо се обърка",
+       "ooui-dialog-process-dismiss": "Затвори",
+       "ooui-dialog-process-retry": "Опитайте отново",
+       "ooui-dialog-process-continue": "Продължаване"
 }
index 130bd8e..d6f61ae 100644 (file)
@@ -1,10 +1,11 @@
 {
        "@metadata": {
                "authors": [
-                       "DzWiki"
+                       "DzWiki",
+                       "Semso98"
                ]
        },
-       "ooui-outline-control-move-down": "Premjesti stavku dole",
+       "ooui-outline-control-move-down": "Premjesti stavku dolje",
        "ooui-outline-control-move-up": "Premjesti stavku gore",
        "ooui-outline-control-remove": "Ukloni stavku",
        "ooui-toolbar-more": "Više",
index ce3afa4..35a550b 100644 (file)
@@ -10,7 +10,9 @@
                        "Vriullop",
                        "Toniher",
                        "Edustus",
-                       "Davidpar"
+                       "Davidpar",
+                       "Maceleiro",
+                       "Kippelboy"
                ]
        },
        "ooui-outline-control-move-down": "Baixa l'element",
@@ -24,5 +26,7 @@
        "ooui-dialog-process-error": "Alguna cosa no ha funcionat",
        "ooui-dialog-process-dismiss": "Descarta",
        "ooui-dialog-process-retry": "Torneu-ho a provar",
-       "ooui-dialog-process-continue": "Continua"
+       "ooui-dialog-process-continue": "Continua",
+       "ooui-selectfile-not-supported": "El tipus de fitxer no és compatible",
+       "ooui-selectfile-placeholder": "No s'ha seleccionat cap fitxer"
 }
index aa916af..d627de0 100644 (file)
@@ -5,5 +5,6 @@
                ]
        },
        "ooui-toolbar-more": "вѧщє",
-       "ooui-toolgroup-expand": "вѧщє"
+       "ooui-toolgroup-expand": "вѧщє",
+       "ooui-dialog-process-error": "нѣчьто ꙁълѣ сѧ авило"
 }
index 6fb7dba..27f1996 100644 (file)
@@ -22,5 +22,7 @@
        "ooui-dialog-process-error": "Κάτι πήγε στραβά",
        "ooui-dialog-process-dismiss": "Απόρριψη",
        "ooui-dialog-process-retry": "Δοκιμάστε ξανά",
-       "ooui-dialog-process-continue": "Συνέχεια"
+       "ooui-dialog-process-continue": "Συνέχεια",
+       "ooui-selectfile-not-supported": "Επιλογή αρχείου δεν υποστηρίζεται",
+       "ooui-selectfile-placeholder": "Κανένα αρχείο δεν είναι επιλεγμένο"
 }
index 6a212b6..415ff60 100644 (file)
@@ -2,7 +2,8 @@
        "@metadata": {
                "authors": [
                        "Avjoska",
-                       "Pikne"
+                       "Pikne",
+                       "Suwa"
                ]
        },
        "ooui-outline-control-move-down": "Liiguta üksust allapoole",
@@ -16,5 +17,7 @@
        "ooui-dialog-process-error": "Midagi läks valesti",
        "ooui-dialog-process-dismiss": "Hülga",
        "ooui-dialog-process-retry": "Proovi uuesti",
-       "ooui-dialog-process-continue": "Jätka"
+       "ooui-dialog-process-continue": "Jätka",
+       "ooui-selectfile-not-supported": "Faili valik ei ole toetatud",
+       "ooui-selectfile-placeholder": "Faili ei ole valitud"
 }
index d00254c..8c76e07 100644 (file)
                        "Silvonen",
                        "Skalman",
                        "Stryn",
-                       "VezonThunder"
+                       "VezonThunder",
+                       "Alluk."
                ]
        },
        "ooui-outline-control-move-down": "Siirrä kohdetta alaspäin",
        "ooui-outline-control-move-up": "Siirrä kohdetta ylöspäin",
        "ooui-outline-control-remove": "Poista kohde",
        "ooui-toolbar-more": "Lisää",
-       "ooui-toolgroup-expand": "Enemmän",
-       "ooui-toolgroup-collapse": "Vähemmän",
+       "ooui-toolgroup-expand": "Näytä lisää",
+       "ooui-toolgroup-collapse": "Näytä vähemmän",
        "ooui-dialog-message-accept": "OK",
        "ooui-dialog-message-reject": "Peruuta",
        "ooui-dialog-process-error": "Jokin meni pieleen",
index ce86aaa..573096f 100644 (file)
@@ -6,7 +6,8 @@
                        "Rajesh",
                        "Siddhartha Ghai",
                        "Goelujjwal",
-                       "Ankita-ks"
+                       "Ankita-ks",
+                       "Param Mudgal"
                ]
        },
        "ooui-outline-control-move-down": "प्रविष्टि नीचे ले जाएँ",
@@ -20,5 +21,7 @@
        "ooui-dialog-process-error": "कुछ गलत हुअा है",
        "ooui-dialog-process-dismiss": "ख़ारिज करें",
        "ooui-dialog-process-retry": "पुनः प्रयास करें",
-       "ooui-dialog-process-continue": "जारी रखें"
+       "ooui-dialog-process-continue": "जारी रखें",
+       "ooui-selectfile-not-supported": "फ़ाइल का चयन समर्थित नहीं है",
+       "ooui-selectfile-placeholder": "कोई फाइल चुनी नही गई हेै"
 }
diff --git a/resources/lib/oojs-ui/i18n/hu-formal.json b/resources/lib/oojs-ui/i18n/hu-formal.json
new file mode 100644 (file)
index 0000000..34aa0ae
--- /dev/null
@@ -0,0 +1,21 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Misibacsi"
+               ]
+       },
+       "ooui-outline-control-move-down": "Elem mozgatása lefelé",
+       "ooui-outline-control-move-up": "Elem mozgatása felfelé",
+       "ooui-outline-control-remove": "Elem eltávolítása",
+       "ooui-toolbar-more": "Tovább...",
+       "ooui-toolgroup-expand": "Tovább",
+       "ooui-toolgroup-collapse": "Kevesebb",
+       "ooui-dialog-message-accept": "Rendben",
+       "ooui-dialog-message-reject": "Mégse",
+       "ooui-dialog-process-error": "Valami elromlott.",
+       "ooui-dialog-process-dismiss": "Mégse",
+       "ooui-dialog-process-retry": "Próbálja újra",
+       "ooui-dialog-process-continue": "Folytatás",
+       "ooui-selectfile-not-supported": "A fájl kiválasztása nincs támogatva",
+       "ooui-selectfile-placeholder": "Nincs fájl kiválasztva"
+}
index f0fae3c..d45b057 100644 (file)
        "ooui-toolgroup-collapse": "Kevesebb",
        "ooui-dialog-message-accept": "OK",
        "ooui-dialog-message-reject": "Mégse",
+       "ooui-dialog-process-error": "Valami elromlott.",
        "ooui-dialog-process-dismiss": "Elrejt",
        "ooui-dialog-process-retry": "Próbáld újra",
        "ooui-dialog-process-continue": "Folytatás",
+       "ooui-selectfile-not-supported": "A fájl kiválasztása nincs támogatva",
        "ooui-selectfile-placeholder": "Nincs fájl kiválasztva"
 }
diff --git a/resources/lib/oojs-ui/i18n/la.json b/resources/lib/oojs-ui/i18n/la.json
new file mode 100644 (file)
index 0000000..7a9b2d2
--- /dev/null
@@ -0,0 +1,15 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Jdforrester"
+               ]
+       },
+       "ooui-toolbar-more": "Plus",
+       "ooui-toolgroup-expand": "Plus",
+       "ooui-toolgroup-collapse": "Paucior",
+       "ooui-dialog-message-accept": "Assentior",
+       "ooui-dialog-message-reject": "Dimittere",
+       "ooui-dialog-process-dismiss": "Dimittere",
+       "ooui-dialog-process-retry": "Retemptare",
+       "ooui-dialog-process-continue": "Pergere"
+}
index 6bc94f1..15a5de3 100644 (file)
@@ -7,7 +7,8 @@
                        "V.narsikar",
                        "Ydyashad",
                        "संतोष दहिवळ",
-                       "NehalDaveND"
+                       "NehalDaveND",
+                       "Sau6402"
                ]
        },
        "ooui-outline-control-move-down": "घटक (आयटम) खाली सरकवा",
index 2be1122..136ada3 100644 (file)
@@ -17,5 +17,6 @@
        "ooui-dialog-process-error": "Ada masalah",
        "ooui-dialog-process-dismiss": "Singkir",
        "ooui-dialog-process-retry": "Cuba lagi",
-       "ooui-dialog-process-continue": "Teruskan"
+       "ooui-dialog-process-continue": "Teruskan",
+       "ooui-selectfile-placeholder": "Tiada fail yang dipilih"
 }
index 9e2d8f2..4efb02a 100644 (file)
@@ -22,5 +22,6 @@
        "ooui-dialog-process-dismiss": "Lukk",
        "ooui-dialog-process-retry": "Prøv igjen",
        "ooui-dialog-process-continue": "Fortsett",
+       "ooui-selectfile-not-supported": "Filvalg er ikke støttet",
        "ooui-selectfile-placeholder": "Ingen fil er valgt"
 }
index ecf9597..a61083b 100644 (file)
@@ -16,5 +16,7 @@
        "ooui-dialog-process-error": "Dogoggorri wayii ummameera",
        "ooui-dialog-process-dismiss": "Didi",
        "ooui-dialog-process-retry": "Itti deebi'ii yaali",
-       "ooui-dialog-process-continue": "Itti fufi"
+       "ooui-dialog-process-continue": "Itti fufi",
+       "ooui-selectfile-not-supported": "Faayilii filachuun hin danda'amu.",
+       "ooui-selectfile-placeholder": "Faayiliin wayiiyyuu hin filatamne"
 }
index 0a26a5c..794d71f 100644 (file)
@@ -1,11 +1,22 @@
 {
        "@metadata": {
                "authors": [
-                       "John Reid"
+                       "John Reid",
+                       "Foxj"
                ]
        },
        "ooui-outline-control-move-down": "Muiv eetem doon",
        "ooui-outline-control-move-up": "Muiv eetem up",
        "ooui-outline-control-remove": "Remuiv eetem",
-       "ooui-toolbar-more": "Mair"
+       "ooui-toolbar-more": "Mair",
+       "ooui-toolgroup-expand": "Mair",
+       "ooui-toolgroup-collapse": "Less",
+       "ooui-dialog-message-accept": "OK",
+       "ooui-dialog-message-reject": "Cancel",
+       "ooui-dialog-process-error": "Sommit went wrang",
+       "ooui-dialog-process-dismiss": "Close",
+       "ooui-dialog-process-retry": "Hae aniter gae",
+       "ooui-dialog-process-continue": "Conteena",
+       "ooui-selectfile-not-supported": "Cannae pick ony files",
+       "ooui-selectfile-placeholder": "Nae file selectit"
 }
index b40fa04..db6fa3c 100644 (file)
@@ -5,5 +5,17 @@
                ]
        },
        "ooui-outline-control-move-down": "Pomakni stavku dolje",
-       "ooui-outline-control-move-up": "Pomakni stavku gore"
+       "ooui-outline-control-move-up": "Premjesti stavku gore",
+       "ooui-outline-control-remove": "Ukloni stavku",
+       "ooui-toolbar-more": "Više",
+       "ooui-toolgroup-expand": "Više",
+       "ooui-toolgroup-collapse": "Manje",
+       "ooui-dialog-message-accept": "U redu",
+       "ooui-dialog-message-reject": "Otkaži",
+       "ooui-dialog-process-error": "Nešto je pošlo naopako",
+       "ooui-dialog-process-dismiss": "Odbaci",
+       "ooui-dialog-process-retry": "Pokušajte ponovo",
+       "ooui-dialog-process-continue": "Nastavi",
+       "ooui-selectfile-not-supported": "Izbor datoteke nije podržan",
+       "ooui-selectfile-placeholder": "Nijedna datoteka nije odabrana"
 }
index ec18019..4bf5dac 100644 (file)
@@ -5,15 +5,22 @@
                        "Kushtrim",
                        "Elioqoshi",
                        "GretaDoci",
-                       "Gertakapllani"
+                       "Gertakapllani",
+                       "Techlik"
                ]
        },
        "ooui-outline-control-move-down": "Zhvendose artikullin më poshtë",
        "ooui-outline-control-move-up": "Zhvendose artikullin më lart",
        "ooui-outline-control-remove": "Hiq artikullin",
        "ooui-toolbar-more": "Më tepër...",
+       "ooui-toolgroup-expand": "Më tepër...",
+       "ooui-toolgroup-collapse": "Më pak",
        "ooui-dialog-message-accept": "Në rregull",
        "ooui-dialog-message-reject": "Anullo",
        "ooui-dialog-process-error": "Diçka shkoi keq",
-       "ooui-dialog-process-retry": "Provo përsëri"
+       "ooui-dialog-process-dismiss": "Largoje",
+       "ooui-dialog-process-retry": "Provo përsëri",
+       "ooui-dialog-process-continue": "Vazhdo",
+       "ooui-selectfile-not-supported": "Skedari i përzgjedhur nuk përkrahet",
+       "ooui-selectfile-placeholder": "Nuk është zgjedhur asnjë skedar"
 }
index b3a9f24..c0dbd5f 100644 (file)
@@ -2,13 +2,22 @@
        "@metadata": {
                "authors": [
                        "AnakngAraw",
-                       "Sky Harbor"
+                       "Sky Harbor",
+                       "Jewel457"
                ]
        },
        "ooui-outline-control-move-down": "Ilipat ang aytem pababa",
        "ooui-outline-control-move-up": "Ilipat ang aytem pataas",
        "ooui-outline-control-remove": "Tanggalin ang aytem",
        "ooui-toolbar-more": "Marami pa",
+       "ooui-toolgroup-expand": "Maraming iba pa",
+       "ooui-toolgroup-collapse": "Kakaunti",
        "ooui-dialog-message-accept": "Sige",
-       "ooui-dialog-message-reject": "Huwag ituloy"
+       "ooui-dialog-message-reject": "Huwag ituloy",
+       "ooui-dialog-process-error": "May pagkakamali",
+       "ooui-dialog-process-dismiss": "Isa-isantabi",
+       "ooui-dialog-process-retry": "Subuking muli",
+       "ooui-dialog-process-continue": "Magpatuloy",
+       "ooui-selectfile-not-supported": "Ang pagpili ng file ay hindi kinakatigan",
+       "ooui-selectfile-placeholder": "Walang piniling file"
 }
index 0197a4c..a35d4eb 100644 (file)
@@ -15,7 +15,8 @@
                        "Tel'et",
                        "Tifinaghes",
                        "Ата",
-                       "Piramidion"
+                       "Piramidion",
+                       "A1"
                ]
        },
        "ooui-outline-control-move-down": "Перемістити елемент униз",
@@ -29,5 +30,6 @@
        "ooui-dialog-process-error": "Щось пішло не так",
        "ooui-dialog-process-dismiss": "Приховати",
        "ooui-dialog-process-retry": "Спробуйте ще раз",
-       "ooui-dialog-process-continue": "Продовжити"
+       "ooui-dialog-process-continue": "Продовжити",
+       "ooui-selectfile-placeholder": "Жодного файлу не вибрано"
 }
index 3f59200..195bb3a 100644 (file)
@@ -31,5 +31,5 @@
        "ooui-dialog-process-retry": "再試一次",
        "ooui-dialog-process-continue": "繼續",
        "ooui-selectfile-not-supported": "無法支援所選擇的檔案",
-       "ooui-selectfile-placeholder": "æ²\92æ\9c\89選擇檔案"
+       "ooui-selectfile-placeholder": "æ\9cª選擇檔案"
 }
index 0c670e1..6c7ae5c 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.11.8
+ * OOjs UI v0.12.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2015 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2015-07-08T01:31:46Z
+ * Date: 2015-07-13T23:47:11Z
  */
 @-webkit-keyframes oo-ui-progressBarWidget-slide {
        from {
            -ms-user-select: none;
                user-select: none;
 }
-.oo-ui-popupWidget-head .oo-ui-buttonWidget {
+.oo-ui-popupWidget-head .oo-ui-buttonWidget {
        float: right;
 }
-.oo-ui-popupWidget-head .oo-ui-labelElement-label {
+.oo-ui-popupWidget-head .oo-ui-labelElement-label {
        float: left;
        cursor: default;
 }
 .oo-ui-popupWidget-head {
        height: 2.5em;
 }
-.oo-ui-popupWidget-head .oo-ui-buttonWidget {
+.oo-ui-popupWidget-head .oo-ui-buttonWidget {
        margin: 0.25em;
 }
-.oo-ui-popupWidget-head .oo-ui-labelElement-label {
+.oo-ui-popupWidget-head .oo-ui-labelElement-label {
        margin: 0.75em 1em;
 }
 .oo-ui-popupWidget-body-padded {
 }
 .oo-ui-textInputWidget.oo-ui-widget-enabled > .oo-ui-iconElement-icon,
 .oo-ui-textInputWidget.oo-ui-widget-enabled > .oo-ui-indicatorElement-indicator {
-       cursor: pointer;
+       cursor: text;
 }
 .oo-ui-textInputWidget.oo-ui-labelElement > .oo-ui-labelElement-label {
        display: block;
        z-index: 1;
        width: 100%;
 }
+.oo-ui-comboBoxWidget > .oo-ui-textInputWidget.oo-ui-widget-enabled > .oo-ui-indicatorElement-indicator {
+       cursor: pointer;
+}
 .oo-ui-comboBoxWidget:last-child {
        margin-right: 0;
 }
index 6a12aa1..91c43a6 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.11.8
+ * OOjs UI v0.12.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2015 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2015-07-08T01:31:38Z
+ * Date: 2015-07-13T23:47:04Z
  */
 /**
  * @class
index 3153746..08f7f68 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.11.8
+ * OOjs UI v0.12.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2015 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2015-07-08T01:31:46Z
+ * Date: 2015-07-13T23:47:11Z
  */
 @-webkit-keyframes oo-ui-progressBarWidget-slide {
        from {
            -ms-user-select: none;
                user-select: none;
 }
-.oo-ui-popupWidget-head .oo-ui-buttonWidget {
+.oo-ui-popupWidget-head .oo-ui-buttonWidget {
        float: right;
 }
-.oo-ui-popupWidget-head .oo-ui-labelElement-label {
+.oo-ui-popupWidget-head .oo-ui-labelElement-label {
        float: left;
        cursor: default;
 }
 .oo-ui-popupWidget-head {
        height: 2.5em;
 }
-.oo-ui-popupWidget-head .oo-ui-buttonWidget {
+.oo-ui-popupWidget-head .oo-ui-buttonWidget {
        margin: 0.25em;
 }
-.oo-ui-popupWidget-head .oo-ui-labelElement-label {
+.oo-ui-popupWidget-head .oo-ui-labelElement-label {
        margin: 0.75em 1em;
 }
 .oo-ui-popupWidget-body-padded {
 }
 .oo-ui-textInputWidget.oo-ui-widget-enabled > .oo-ui-iconElement-icon,
 .oo-ui-textInputWidget.oo-ui-widget-enabled > .oo-ui-indicatorElement-indicator {
-       cursor: pointer;
+       cursor: text;
 }
 .oo-ui-textInputWidget.oo-ui-labelElement > .oo-ui-labelElement-label {
        display: block;
        z-index: 1;
        width: 100%;
 }
+.oo-ui-comboBoxWidget > .oo-ui-textInputWidget.oo-ui-widget-enabled > .oo-ui-indicatorElement-indicator {
+       cursor: pointer;
+}
 .oo-ui-comboBoxWidget:last-child {
        margin-right: 0;
 }
index 48de83f..a09b898 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.11.8
+ * OOjs UI v0.12.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2015 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2015-07-08T01:31:38Z
+ * Date: 2015-07-13T23:47:04Z
  */
 /**
  * @class
index b67289b..98ec673 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.11.8
+ * OOjs UI v0.12.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2015 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2015-07-08T01:31:38Z
+ * Date: 2015-07-13T23:47:04Z
  */
 ( function ( OO ) {
 
@@ -1097,7 +1097,7 @@ OO.ui.Element.static.infuse = function ( idOrNode ) {
  */
 OO.ui.Element.static.unsafeInfuse = function ( idOrNode, top ) {
        // look for a cached result of a previous infusion.
-       var id, $elem, data, cls, obj;
+       var id, $elem, data, cls, parts, parent, obj;
        if ( typeof idOrNode === 'string' ) {
                id = idOrNode;
                $elem = $( document.getElementById( id ) );
@@ -1132,10 +1132,33 @@ OO.ui.Element.static.unsafeInfuse = function ( idOrNode, top ) {
                // Special case: this is a raw Tag; wrap existing node, don't rebuild.
                return new OO.ui.Element( { $element: $elem } );
        }
-       cls = OO.ui[data._];
-       if ( !cls ) {
-               throw new Error( 'Unknown widget type: ' + id );
+       parts = data._.split( '.' );
+       cls = OO.getProp.apply( OO, [ window ].concat( parts ) );
+       if ( cls === undefined ) {
+               // The PHP output might be old and not including the "OO.ui" prefix
+               // TODO: Remove this back-compat after next major release
+               cls = OO.getProp.apply( OO, [ OO.ui ].concat( parts ) );
+               if ( cls === undefined ) {
+                       throw new Error( 'Unknown widget type: id: ' + id + ', class: ' + data._ );
+               }
+       }
+
+       // Verify that we're creating an OO.ui.Element instance
+       parent = cls.parent;
+
+       while ( parent !== undefined ) {
+               if ( parent === OO.ui.Element ) {
+                       // Safe
+                       break;
+               }
+
+               parent = parent.parent;
+       }
+
+       if ( parent !== OO.ui.Element ) {
+               throw new Error( 'Unknown widget type: id: ' + id + ', class: ' + data._ );
        }
+
        $elem.data( 'ooui-infused', true ); // prevent loops
        data.id = id; // implicit
        data = OO.copy( data, null, function deserialize( value ) {
@@ -5991,6 +6014,28 @@ OO.ui.mixin.LookupElement.prototype.getLookupMenuOptionsFromData = function () {
        return [];
 };
 
+/**
+ * Set the read-only state of the widget.
+ *
+ * This will also disable/enable the lookups functionality.
+ *
+ * @param {boolean} readOnly Make input read-only
+ * @chainable
+ */
+OO.ui.mixin.LookupElement.prototype.setReadOnly = function ( readOnly ) {
+       // Parent method
+       // Note: Calling #setReadOnly this way assumes this is mixed into an OO.ui.TextInputWidget
+       OO.ui.TextInputWidget.prototype.setReadOnly.call( this, readOnly );
+
+       this.setLookupsDisabled( readOnly );
+       // During construction, #setReadOnly is called before the OO.ui.mixin.LookupElement constructor
+       if ( readOnly && this.lookupMenu ) {
+               this.closeLookupMenu();
+       }
+
+       return this;
+};
+
 /**
  * PopupElement is mixed into other classes to generate a {@link OO.ui.PopupWidget popup widget}.
  * A popup is a container for content. It is overlaid and positioned absolutely. By default, each
@@ -6516,8 +6561,9 @@ OO.ui.mixin.ClippableElement.prototype.clip = function () {
                ccHeight = $container.innerHeight() - buffer,
                ccWidth = $container.innerWidth() - buffer,
                cWidth = this.$clippable.outerWidth() + buffer,
-               scrollTop = this.$clippableScroller[0] === this.$clippableWindow[0] ? this.$clippableScroller.scrollTop() : 0,
-               scrollLeft = this.$clippableScroller.scrollLeft(),
+               scrollerIsWindow = this.$clippableScroller[0] === this.$clippableWindow[0],
+               scrollTop = scrollerIsWindow ? this.$clippableScroller.scrollTop() : 0,
+               scrollLeft = scrollerIsWindow ? this.$clippableScroller.scrollLeft() : 0,
                desiredWidth = cOffset.left < 0 ?
                        cWidth + cOffset.left :
                        ( ccOffset.left + scrollLeft + ccWidth ) - cOffset.left,
@@ -6539,7 +6585,7 @@ OO.ui.mixin.ClippableElement.prototype.clip = function () {
        }
 
        // If we stopped clipping in at least one of the dimensions
-       if ( !clipWidth || !clipHeight ) {
+       if ( ( this.clippedHorizontally && !clipWidth ) || ( this.clippedVertically && !clipHeight ) ) {
                OO.ui.Element.static.reconsiderScrollbars( this.$clippable[ 0 ] );
        }
 
@@ -8405,7 +8451,7 @@ OO.ui.ProcessDialog.prototype.getTeardownProcess = function ( data ) {
  * @param {OO.ui.Widget} fieldWidget Field widget
  * @param {Object} [config] Configuration options
  * @cfg {string} [align='left'] Alignment of the label: 'left', 'right', 'top' or 'inline'
- * @cfg {string} [help] Help text. When help text is specified, a help icon will appear
+ * @cfg {string|OO.ui.HtmlSnippet} [help] Help text. When help text is specified, a help icon will appear
  *  in the upper-right corner of the rendered field.
  */
 OO.ui.FieldLayout = function OoUiFieldLayout( fieldWidget, config ) {
@@ -8415,7 +8461,8 @@ OO.ui.FieldLayout = function OoUiFieldLayout( fieldWidget, config ) {
                fieldWidget = config.fieldWidget;
        }
 
-       var hasInputWidget = fieldWidget.constructor.static.supportsSimpleLabel;
+       var hasInputWidget = fieldWidget.constructor.static.supportsSimpleLabel,
+               div;
 
        // Configuration initialization
        config = $.extend( { align: 'left' }, config );
@@ -8438,10 +8485,14 @@ OO.ui.FieldLayout = function OoUiFieldLayout( fieldWidget, config ) {
                        icon: 'info'
                } );
 
+               div = $( '<div>' );
+               if ( config.help instanceof OO.ui.HtmlSnippet ) {
+                       div.html( config.help.toString() );
+               } else {
+                       div.text( config.help );
+               }
                this.popupButtonWidget.getPopup().$body.append(
-                       $( '<div>' )
-                               .text( config.help )
-                               .addClass( 'oo-ui-fieldLayout-help-content' )
+                       div.addClass( 'oo-ui-fieldLayout-help-content' )
                );
                this.$help = this.popupButtonWidget.$element;
        } else {
@@ -13040,7 +13091,9 @@ OO.ui.InputWidget = function OoUiInputWidget( config ) {
        this.$input
                .attr( 'name', config.name )
                .prop( 'disabled', this.isDisabled() );
-       this.$element.addClass( 'oo-ui-inputWidget' ).append( this.$input, $( '<span>' ) );
+       this.$element
+               .addClass( 'oo-ui-inputWidget' )
+               .append( this.$input );
        this.setValue( config.value );
 };
 
@@ -13275,6 +13328,14 @@ OO.mixinClass( OO.ui.ButtonInputWidget, OO.ui.mixin.IndicatorElement );
 OO.mixinClass( OO.ui.ButtonInputWidget, OO.ui.mixin.LabelElement );
 OO.mixinClass( OO.ui.ButtonInputWidget, OO.ui.mixin.TitledElement );
 
+/* Static Properties */
+
+/**
+ * Disable generating `<label>` elements for buttons. One would very rarely need additional label
+ * for a button, and it's already a big clickable target, and it causes unexpected rendering.
+ */
+OO.ui.ButtonInputWidget.static.supportsSimpleLabel = false;
+
 /* Methods */
 
 /**
@@ -13381,7 +13442,10 @@ OO.ui.CheckboxInputWidget = function OoUiCheckboxInputWidget( config ) {
        OO.ui.CheckboxInputWidget.parent.call( this, config );
 
        // Initialization
-       this.$element.addClass( 'oo-ui-checkboxInputWidget' );
+       this.$element
+               .addClass( 'oo-ui-checkboxInputWidget' )
+               // Required for pretty styling in MediaWiki theme
+               .append( $( '<span>' ) );
        this.setSelected( config.selected !== undefined ? config.selected : false );
 };
 
@@ -13639,7 +13703,10 @@ OO.ui.RadioInputWidget = function OoUiRadioInputWidget( config ) {
        OO.ui.RadioInputWidget.parent.call( this, config );
 
        // Initialization
-       this.$element.addClass( 'oo-ui-radioInputWidget' );
+       this.$element
+               .addClass( 'oo-ui-radioInputWidget' )
+               // Required for pretty styling in MediaWiki theme
+               .append( $( '<span>' ) );
        this.setSelected( config.selected !== undefined ? config.selected : false );
 };
 
@@ -14129,7 +14196,7 @@ OO.ui.TextInputWidget.prototype.installParentChangeDetector = function () {
                };
 
                // Create a fake parent and observe it
-               fakeParentNode = $( '<div>' ).append( this.$element )[0];
+               fakeParentNode = $( '<div>' ).append( topmostNode )[0];
                mutationObserver.observe( fakeParentNode, { childList: true } );
        } else {
                // Using the DOMNodeInsertedIntoDocument event is much nicer and less magical, and works for
@@ -15013,8 +15080,13 @@ OO.ui.RadioOptionWidget = function OoUiRadioOptionWidget( config ) {
        this.radio.$input.on( 'focus', this.onInputFocus.bind( this ) );
 
        // Initialization
+       // Remove implicit role, we're handling it ourselves
+       this.radio.$input.attr( 'role', 'presentation' );
        this.$element
                .addClass( 'oo-ui-radioOptionWidget' )
+               .attr( 'role', 'radio' )
+               .attr( 'aria-checked', 'false' )
+               .removeAttr( 'aria-selected' )
                .prepend( this.radio.$element );
 };
 
@@ -15050,6 +15122,9 @@ OO.ui.RadioOptionWidget.prototype.setSelected = function ( state ) {
        OO.ui.RadioOptionWidget.parent.prototype.setSelected.call( this, state );
 
        this.radio.setSelected( state );
+       this.$element
+               .attr( 'aria-checked', state.toString() )
+               .removeAttr( 'aria-selected' );
 
        return this;
 };
@@ -15853,10 +15928,6 @@ OO.ui.SearchWidget = function OoUiSearchWidget( config ) {
                change: 'onQueryChange',
                enter: 'onQueryEnter'
        } );
-       this.results.connect( this, {
-               highlight: 'onResultsHighlight',
-               select: 'onResultsSelect'
-       } );
        this.query.$input.on( 'keydown', this.onQueryKeydown.bind( this ) );
 
        // Initialization
@@ -15875,28 +15946,6 @@ OO.ui.SearchWidget = function OoUiSearchWidget( config ) {
 
 OO.inheritClass( OO.ui.SearchWidget, OO.ui.Widget );
 
-/* Events */
-
-/**
- * A 'highlight' event is emitted when an item is highlighted. The highlight indicates which
- * item will be selected. When a user mouses over a menu item, it is highlighted. If a search
- * string is typed into the query field instead, the first menu item that matches the query
- * will be highlighted.
-
- * @event highlight
- * @deprecated Connect straight to getResults() events instead
- * @param {Object|null} item Item data or null if no item is highlighted
- */
-
-/**
- * A 'select' event is emitted when an item is selected. A menu item is selected when it is clicked,
- * or when a user types a search query, a menu result is highlighted, and the user presses enter.
- *
- * @event select
- * @deprecated Connect straight to getResults() events instead
- * @param {Object|null} item Item data or null if no item is selected
- */
-
 /* Methods */
 
 /**
@@ -15936,38 +15985,14 @@ OO.ui.SearchWidget.prototype.onQueryChange = function () {
 /**
  * Handle select widget enter key events.
  *
- * Selects highlighted item.
+ * Chooses highlighted item.
  *
  * @private
  * @param {string} value New value
  */
 OO.ui.SearchWidget.prototype.onQueryEnter = function () {
        // Reset
-       this.results.selectItem( this.results.getHighlightedItem() );
-};
-
-/**
- * Handle select widget highlight events.
- *
- * @private
- * @deprecated Connect straight to getResults() events instead
- * @param {OO.ui.OptionWidget} item Highlighted item
- * @fires highlight
- */
-OO.ui.SearchWidget.prototype.onResultsHighlight = function ( item ) {
-       this.emit( 'highlight', item ? item.getData() : null );
-};
-
-/**
- * Handle select widget select events.
- *
- * @private
- * @deprecated Connect straight to getResults() events instead
- * @param {OO.ui.OptionWidget} item Selected item
- * @fires select
- */
-OO.ui.SearchWidget.prototype.onResultsSelect = function ( item ) {
-       this.emit( 'select', item ? item.getData() : null );
+       this.results.chooseItem( this.results.getHighlightedItem() );
 };
 
 /**
@@ -16884,7 +16909,9 @@ OO.ui.RadioSelectWidget = function OoUiRadioSelectWidget( config ) {
        } );
 
        // Initialization
-       this.$element.addClass( 'oo-ui-radioSelectWidget' );
+       this.$element
+               .addClass( 'oo-ui-radioSelectWidget' )
+               .attr( 'role', 'radiogroup' );
 };
 
 /* Setup */
index 65fbc21..4fb736c 100644 (file)
@@ -23,7 +23,7 @@
                        "lang": {
                                "ar": "images/icons/bold-arab-ain.svg",
                                "be": "images/icons/bold-cyrl-te.svg",
-                               "cs,en,he,ml,pl": "images/icons/bold-b.svg",
+                               "cs,en,he,ml,pl,sco": "images/icons/bold-b.svg",
                                "da,de,hu,ksh,nn,no,sv": "images/icons/bold-f.svg",
                                "es,gl,pt": "images/icons/bold-n.svg",
                                "eu,fi": "images/icons/bold-l.svg",
@@ -40,7 +40,7 @@
                        "default": "images/icons/italic-a.svg",
                        "lang": {
                                        "ar": "images/icons/italic-arab-meem.svg",
-                                       "cs,en,fr,he,ml,pl,pt": "images/icons/italic-i.svg",
+                                       "cs,en,fr,he,ml,pl,pt,sco": "images/icons/italic-i.svg",
                                        "be,da,de,fi,ky,nn,no,os,sv,ru": "images/icons/italic-k.svg",
                                        "es,gl,it,nl": "images/icons/italic-c.svg",
                                        "eu": "images/icons/italic-e.svg",
index 9372363..2c5f858 100644 (file)
@@ -28,6 +28,7 @@
                        "ltr": "images/icons/move-ltr.svg",
                        "rtl": "images/icons/move-rtl.svg"
                } },
+               "notice": { "file": "images/icons/notice.svg" },
                "picture": { "file": "images/icons/picture.svg" },
                "previous": { "file": {
                        "ltr": "images/icons/move-rtl.svg",
index 9732802..9769e03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/advanced.png and b/resources/lib/oojs-ui/themes/apex/images/icons/advanced.png differ
index 5b72d10..4922543 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="settings">
-        <path id="gear" d="M20.87 13.476c.078-.482.13-.972.13-1.476s-.052-.994-.13-1.476l-2.464-.26c-.15-.555-.367-1.08-.648-1.57l1.558-1.923c-.576-.805-1.28-1.51-2.087-2.086l-1.925 1.558c-.488-.28-1.015-.5-1.57-.648l-.26-2.463C12.996 3.053 12.506 3 12 3s-.994.052-1.476.13l-.26 2.464c-.554.15-1.08.367-1.57.648L6.772 4.685c-.804.576-1.51 1.28-2.085 2.086l1.558 1.925c-.28.488-.5 1.015-.648 1.57l-2.463.26c-.08.48-.132.97-.132 1.475s.052.994.13 1.476l2.464.26c.15.555.367 1.08.648 1.57l-1.558 1.923c.576.805 1.28 1.51 2.087 2.086l1.925-1.558c.488.28 1.015.5 1.57.648l.26 2.463c.48.078.97.13 1.475.13s.994-.052 1.476-.13l.26-2.464c.555-.15 1.08-.367 1.57-.648l1.923 1.558c.805-.576 1.51-1.28 2.086-2.087l-1.558-1.925c.28-.488.5-1.015.648-1.57l2.463-.26zM12 15.998c-2.21 0-3.998-1.79-3.998-3.998S9.792 8.002 12 8.002s3.998 1.79 3.998 3.998-1.79 3.998-3.998 3.998z"/>
+        <path id="gear" d="M20.87 13.476c.078-.482.13-.972.13-1.476s-.052-.994-.13-1.476l-2.464-.26c-.15-.555-.367-1.08-.648-1.57l1.558-1.923c-.576-.803-1.28-1.51-2.087-2.084l-1.927 1.558c-.488-.28-1.015-.5-1.57-.648l-.26-2.463C12.996 3.053 12.506 3 12 3s-.994.052-1.476.13l-.26 2.464c-.554.15-1.08.367-1.57.648L6.772 4.685c-.804.576-1.51 1.28-2.085 2.086l1.558 1.927c-.28.488-.5 1.015-.648 1.57l-2.463.26c-.08.48-.132.97-.132 1.475s.052.995.13 1.477l2.464.26c.15.554.367 1.08.648 1.57l-1.558 1.92c.576.805 1.28 1.51 2.087 2.086l1.925-1.558c.488.28 1.015.5 1.57.648l.26 2.463c.48.076.97.13 1.475.13s.994-.054 1.476-.13l.26-2.466c.553-.15 1.08-.367 1.57-.648l1.92 1.558c.806-.576 1.51-1.28 2.087-2.087l-1.558-1.925c.28-.488.5-1.015.647-1.57l2.463-.26zM12 15.998c-2.21 0-3.998-1.79-3.998-3.998S9.792 8.002 12 8.002s3.998 1.79 3.998 3.998-1.79 3.998-3.998 3.998z"/>
     </g>
 </svg>
index e98a14a..98e94fb 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/alert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/alert.png differ
index 42a4bf6..8b601d5 100644 (file)
@@ -3,6 +3,6 @@
     <g id="alert">
         <path id="point" d="M11 16h2v2h-2z"/>
         <path id="stroke" d="M13.516 10h-3L11 15h2z"/>
-        <path id="triangle" d="M12.017 5.974L19.537 19H4.496l7.52-13.026m0-2.474c-.544 0-1.088.357-1.5 1.07L2.532 18.403c-.825 1.43-.15 2.598 1.5 2.598H20c1.65 0 2.325-1.17 1.5-2.6L13.517 4.573c-.413-.715-.956-1.072-1.5-1.072z"/>
+        <path id="triangle" d="M12.017 5.974L19.537 19H4.497l7.52-13.026m0-2.474c-.545 0-1.09.357-1.5 1.07L2.53 18.403C1.705 19.833 2.38 21 4.03 21H20c1.65 0 2.325-1.17 1.5-2.6L13.517 4.575c-.413-.715-.956-1.072-1.5-1.072z"/>
     </g>
 </svg>
index 3737ef8..114ce31 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.png differ
index ba80ed0..918c5b6 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="arched-arrow-ltr">
-        <path id="arrow" d="M19.925 14.937l-2.39-6.9-1.48 2.328c-.965-.845-2.7-1.85-5.514-1.823-4.886.046-6.523 4.244-6.523 4.244s2.753-2.64 6.925-1.95c1.73.287 3.007 1.207 3.675 1.792l-1.474 2.32 6.782-.01z"/>
+        <path id="arrow" d="M19.925 14.937l-2.39-6.9-1.48 2.328c-.965-.845-2.7-1.85-5.514-1.823-4.884.046-6.52 4.244-6.52 4.244s2.752-2.64 6.924-1.95c1.73.287 3.007 1.207 3.675 1.792l-1.475 2.32 6.782-.01z"/>
     </g>
 </svg>
index c2addd8..ad07634 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-ain.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-ain.png differ
index ad6b3e4..2f0edb7 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-arab-ain">
-        <path id="arab-ain" d="M9.337 13.616c0 1.35 1.386 2.1 4.16 2.258l2.186-.03.318.045c-.03.126-.25.344-.664.65l-.09.067c-1.235.93-2.422 1.393-3.56 1.393-1.142 0-2.045-.33-2.71-.99-.65-.66-.975-1.56-.975-2.698.006-1.354.567-2.573 1.685-3.658v-.044l-.606-.55c-.15-.18-.223-.39-.223-.63 0-.49.24-1.11.717-1.862.65-1.046 1.303-1.566 1.958-1.56.886.004 1.618.42 2.194 1.245.325.48-.03.552-1.064.22-.842-.327-1.527-.05-2.054.828l.015.074 1.123.865.052.006c1.404-.498 2.418-.74 3.043-.726-.058.117-.14.362-.243.733-.103.357-.204.684-.303.982l-.126.374-.384.05c-1.743.24-2.992.716-3.745 1.43-.464.463-.698.972-.703 1.524"/>
+        <path id="arab-ain" d="M9.337 13.616c0 1.35 1.386 2.1 4.16 2.258l2.186-.03.318.045c-.03.124-.25.342-.662.65l-.09.065c-1.235.93-2.422 1.393-3.56 1.393-1.142 0-2.045-.33-2.71-.99-.65-.66-.975-1.56-.975-2.7.006-1.353.567-2.572 1.685-3.657v-.043l-.606-.55c-.15-.18-.222-.39-.222-.63 0-.49.24-1.11.717-1.863.65-1.046 1.303-1.566 1.958-1.56.886.004 1.618.42 2.194 1.245.324.48-.03.55-1.065.22-.842-.328-1.527-.05-2.054.827l.015.074 1.123.866.052.005c1.403-.497 2.417-.74 3.042-.725-.058.116-.14.36-.243.732-.105.357-.206.684-.305.982l-.126.373-.385.05c-1.743.24-2.992.716-3.745 1.43-.463.463-.697.972-.702 1.524"/>
     </g>
 </svg>
index ed491f3..0ade40c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-dad.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-dad.png differ
index 27108e2..ba7ffe1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-arab-dad">
-        <path id="arab-dad" d="M16.41 8.232l-1.675-.665L15.43 6l1.687.64-.707 1.592m.775 3.078c-.51-.286-1-.427-1.476-.423-.472 0-.983.205-1.533.616l-.506.38.007.024c1.084.066 1.934.1 2.55.1h.314c.568-.022.993-.065 1.277-.132-.067-.17-.275-.36-.625-.566h-.006m-6.803 3.295c-.017-.904-.33-1.87-.938-2.898l1.294-1.73.118.15c.267.336.504.924.713 1.766l.064.05c.496-.008.942-.17 1.338-.485v-.006l1.732-1.53c.68-.6 1.282-.902 1.807-.902.384.004.85.195 1.395.572.55.377.884.696 1 .958.063.15.094.386.094.71 0 .695-.11 1.228-.332 1.597-.192.31-.473.555-.844.734-.438.208-1.55.312-3.333.312-.8 0-1.794-.02-2.982-.062l-.144.43c-.254.67-.463 1.112-.625 1.323-.726.937-1.787 1.405-3.184 1.405C5.85 16.99 5 16.076 5 14.256c.003-.94.278-1.814.824-2.618.15-.216.298-.367.444-.454.225-.133.288-.09.188.124-.396.862-.596 1.548-.6 2.058.008 1.177.752 1.768 2.232 1.772 1.038-.004 1.803-.182 2.295-.535"/>
+        <path id="arab-dad" d="M16.41 8.232l-1.675-.665L15.43 6l1.687.64-.707 1.592m.775 3.078c-.51-.286-1-.427-1.476-.423-.474 0-.985.205-1.535.616l-.506.38.006.024c1.084.066 1.934.1 2.55.1h.314c.57-.022.994-.065 1.278-.132-.067-.17-.275-.36-.625-.566h-.006m-6.803 3.293c-.017-.904-.33-1.87-.938-2.898l1.294-1.73.118.15c.267.336.504.924.713 1.766l.066.05c.496-.007.942-.17 1.338-.484v-.006l1.732-1.53c.68-.6 1.282-.9 1.807-.9.384.003.85.194 1.395.57.55.378.884.697 1 .96.063.15.094.385.094.71 0 .694-.11 1.227-.33 1.596-.193.31-.474.555-.845.734-.438.208-1.55.312-3.333.312-.8 0-1.794-.02-2.982-.062l-.144.43c-.254.67-.463 1.112-.625 1.323-.725.937-1.786 1.405-3.183 1.405C5.85 16.99 5 16.076 5 14.256c.003-.94.278-1.814.824-2.618.15-.216.298-.367.444-.454.225-.133.288-.09.188.124-.396.862-.596 1.548-.6 2.058.008 1.177.752 1.768 2.232 1.772 1.038-.004 1.803-.182 2.295-.535"/>
     </g>
 </svg>
index 718accb..0a16f8c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-armn-to.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-armn-to.png differ
index b55042a..0dc8b52 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-armn-to">
-        <path id="armn-to" d="M13.86 16.257c.124 0 .254-.026.39-.078.135-.06.257-.15.367-.275.114-.13.205-.302.273-.516.073-.214.11-.48.11-.798V13h-1.14c-.14 0-.284.026-.43.078-.14.047-.27.133-.383.258-.11.125-.2.294-.274.508-.067.213-.1.487-.1.82 0 .34.035.47.108.695.08.217.176.394.29.53.12.135.248.23.384.29.14.05.276.076.406.076m-2.97-7.84c-.37.082-.695.247-.976.45-.28.198-.505.47-.672.813-.16.342-.242.78-.242 1.31V18H6v-7.188c0-.776.15-1.455.453-2.04.302-.587.714-1.077 1.234-1.467.52-.39 1.13-.685 1.83-.883.697-.198 1.44-.297 2.225-.297.526 0 1.04.044 1.54.133.504.088.98.22 1.43.398.447.172.858.388 1.233.65.375.26.698.564.97.913.275.347.49.737.64 1.17.15.432.226 1.093.226 1.61h1.354v2.04H17.78v1.6c0 .58-.103 1.09-.31 1.54-.21.44-.49.814-.845 1.116-.35.302-.834.53-1.297.687-.464.15-.953.226-1.47.226-.51 0-.996-.08-1.46-.235-.464-.156-.87-.39-1.22-.703-.348-.313-.626-.703-.835-1.172-.203-.473-.304-1.028-.304-1.663s.104-1.182.32-1.64c.212-.46.496-.685.85-.977.354-.297.76-.513 1.22-.648.457-.14.934-.21 1.43-.21h1.13c-.01-.49-.04-1.043-.24-1.36-.2-.323-.454-.58-.767-.766-.312-.193-.598-.332-.984-.426-.375-.09-.578-.094-1.1-.094-.52 0-.64.02-1.01.102z"/>
+        <path id="armn-to" d="M13.86 16.257c.124 0 .254-.026.39-.078.135-.06.257-.15.367-.277.114-.13.205-.302.273-.516.073-.214.11-.48.11-.798V13h-1.14c-.14 0-.284.026-.43.078-.14.047-.27.133-.383.258-.11.125-.2.294-.274.508-.067.213-.1.487-.1.82 0 .34.035.47.108.695.08.215.178.392.29.53.12.133.25.23.386.29.14.05.276.074.406.074m-2.97-7.84c-.37.082-.694.247-.975.45-.28.198-.505.47-.672.813-.16.342-.242.78-.242 1.31V18H6v-7.188c0-.776.15-1.455.453-2.04.302-.587.714-1.077 1.234-1.467.52-.39 1.13-.685 1.83-.883.697-.198 1.44-.297 2.225-.297.526 0 1.04.044 1.54.133.504.088.98.22 1.43.398.447.172.858.388 1.233.65.375.26.698.564.97.913.275.345.49.735.64 1.17.15.43.226 1.09.226 1.61h1.356v2.04H17.78v1.6c0 .58-.103 1.09-.31 1.54-.21.44-.49.812-.845 1.114-.35.302-.834.53-1.297.687-.464.15-.953.227-1.47.227-.51 0-.996-.08-1.46-.235-.464-.156-.87-.39-1.22-.703-.348-.314-.626-.704-.835-1.173-.203-.473-.304-1.028-.304-1.663s.102-1.182.32-1.64c.21-.46.494-.685.85-.977.352-.297.76-.513 1.22-.648.455-.14.932-.21 1.43-.21h1.13c-.01-.49-.04-1.044-.24-1.36-.2-.324-.456-.58-.77-.767-.31-.193-.597-.332-.983-.426-.375-.09-.578-.094-1.1-.094-.52 0-.64.02-1.01.102z"/>
     </g>
 </svg>
index 5c6f8c0..d87d0fc 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-cyrl-be">
-        <path id="cyrl-be" d="M7 6h9v2h-6v3h2.65c.892 0 1.632.11 2.22.327.587.218 1.087.622 1.5 1.21.42.59.63 1.188.63 1.98 0 .812-.21 1.397-.63 1.976-.418.578-.897.974-1.436 1.187-.533.213-1.295.32-2.286.32h-5.65m4.768-2c.75 0 1.28-.05 1.584-.12.305-.077.57-.247.792-.51.23-.26.343-.472.343-.854 0-.557-.2-.868-.596-1.12-.393-.255-1.065-.397-2.017-.397H10v3"/>
+        <path id="cyrl-be" d="M7 6h9v2h-6v3h2.65c.892 0 1.632.11 2.22.327.587.218 1.087.622 1.5 1.21.42.59.63 1.188.63 1.98 0 .812-.21 1.397-.63 1.976-.418.578-.897.974-1.436 1.187-.533.213-1.295.32-2.286.32h-5.65m4.768-2c.75 0 1.28-.05 1.584-.12.305-.077.57-.247.792-.51.23-.26.343-.472.343-.854 0-.557-.2-.868-.596-1.12-.395-.255-1.067-.397-2.02-.397H10v3"/>
     </g>
 </svg>
index cfe0009..41e562b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-zhe.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-zhe.png differ
index d26bdf6..3c0a879 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-cyrl-zhe">
-        <path id="cyrl-zhe" d="M13 6v5.154c.328-.033.537-.18.705-.447.168-.266.4-.873.698-1.82.39-1.242.79-2.034 1.197-2.375.403-.336 1.075-.504 2.014-.504L18 6v1.78l-.386-.008c-.4 0-.69.062-.878.187-.186.118-.337.303-.452.552-.115.25-.286.762-.512 1.537-.12.41-.25.755-.392 1.032-.137.276-.383.537-.738.78.44.157.8.466 1.084.927.288.454.603 1.102.944 1.942L18 18h-2.314l-1.17-3.08-.113-.253-.24-.56c-.247-.57-.45-.933-.61-1.09-.16-.157-.318-.236-.553-.236V18h-2v-5.22c-.226 0-.382.077-.546.23-.164.15-.368.517-.612 1.097l-.246.56-.113.253L8.313 18H6l1.33-3.267c.327-.808.635-1.447.923-1.92.293-.476.663-.793 1.11-.95-.355-.244-.603-.5-.745-.772-.137-.275-.268-.622-.392-1.04-.222-.76-.39-1.266-.505-1.52-.11-.255-.26-.444-.45-.57-.187-.124-.493-.186-.918-.186L6 7.782v-1.78l.386.008c.953 0 1.63.17 2.034.512.4.347.79 1.136 1.177 2.366.3.954.534 1.564.698 1.83.168.26.377.405.705.438V6.002"/>
+        <path id="cyrl-zhe" d="M13 6v5.154c.328-.033.537-.18.705-.447.168-.266.4-.873.698-1.82.39-1.242.79-2.034 1.197-2.375.403-.336 1.075-.504 2.014-.504L18 6v1.78l-.386-.008c-.4 0-.69.062-.878.187-.186.116-.337.3-.452.55-.115.25-.286.762-.512 1.537-.12.41-.25.755-.392 1.032-.137.275-.383.536-.738.78.44.156.8.465 1.084.926.288.454.603 1.102.944 1.942L18 18h-2.314l-1.17-3.08-.113-.253-.24-.56c-.247-.57-.45-.933-.61-1.09-.16-.157-.318-.236-.553-.236V18h-2v-5.22c-.226 0-.382.077-.546.23-.164.15-.368.517-.612 1.097l-.246.56-.113.253L8.313 18H6l1.33-3.267c.327-.808.635-1.447.923-1.92.293-.476.663-.793 1.11-.95-.355-.244-.603-.5-.745-.772-.137-.273-.268-.62-.392-1.04-.222-.76-.39-1.264-.505-1.52-.11-.253-.26-.442-.45-.57-.185-.122-.49-.184-.916-.184L6 7.782v-1.78l.386.008c.953 0 1.63.17 2.034.512.4.347.79 1.136 1.177 2.366.3.954.534 1.564.698 1.83.168.26.377.405.705.438V6.002"/>
     </g>
 </svg>
index ceb792b..e809453 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-g.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-g.png differ
index dd6e27a..277f17e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-g">
-        <path id="g" d="M12 14v-2h5v4.203c-.497.475-1.22.894-2.166 1.26-.94.358-1.896.537-2.864.537-1.23 0-2.303-.253-3.217-.76-.915-.512-1.602-1.24-2.062-2.185-.46-.95-.69-1.982-.69-3.095 0-1.208.258-2.282.77-3.222.514-.94 1.266-1.66 2.256-2.16.754-.386 1.693-.58 2.816-.58 1.46 0 2.6.304 3.418.91.824.603 1.353 1.436 1.59 2.502l-2.36.435c-.166-.57-.48-1.018-.94-1.346-.454-.333-1.023-.5-1.708-.5-1.038 0-1.864.325-2.48.974-.61.65-.914 1.612-.914 2.89 0 1.376.31 2.41.93 3.102.62.686 1.434 1.03 2.44 1.03.497 0 .995-.096 1.492-.286.503-.195 1.332-.57 1.69-.845v-.867"/>
+        <path id="g" d="M12 14v-2h5v4.203c-.497.475-1.22.894-2.166 1.26-.94.358-1.896.537-2.864.537-1.23 0-2.303-.253-3.217-.76-.915-.512-1.602-1.24-2.062-2.185-.46-.95-.69-1.982-.69-3.095 0-1.208.26-2.282.77-3.222.516-.94 1.268-1.66 2.258-2.16.754-.386 1.693-.58 2.816-.58 1.46 0 2.6.304 3.418.91.825.603 1.354 1.436 1.59 2.502l-2.36.435c-.165-.57-.48-1.018-.94-1.346-.453-.335-1.022-.5-1.707-.5-1.038 0-1.864.323-2.48.972-.61.65-.914 1.612-.914 2.89 0 1.376.31 2.41.93 3.102.62.686 1.434 1.03 2.44 1.03.497 0 .995-.096 1.49-.286.505-.196 1.334-.57 1.69-.846v-.867"/>
     </g>
 </svg>
index 00c8051..5d0bbd9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="cancel">
-        <path id="circle-with-strike" d="M12 5.022C8.145 5.022 5.02 8.146 5.02 12c0 3.853 3.124 6.978 6.977 6.978s6.978-3.125 6.978-6.978c0-3.854-3.125-6.978-6.98-6.978zM6.885 12c0-1.092.572-3.25.93-2.93l7.113 7.114c.487.525-1.838.93-2.93.93-2.826 0-5.114-2.29-5.114-5.114zm9.298 2.93L9.07 7.815c-.445-.483 1.837-.93 2.93-.93 2.826 0 5.114 2.288 5.114 5.113 0 1.092-.364 3.542-.93 2.93z"/>
+        <path id="circle-with-strike" d="M12 5.022c-3.855 0-6.98 3.124-6.98 6.978 0 3.853 3.124 6.978 6.977 6.978s6.978-3.125 6.978-6.978c0-3.854-3.125-6.978-6.98-6.978zM6.885 12c0-1.092.572-3.25.93-2.93l7.113 7.114c.487.525-1.838.93-2.93.93-2.826 0-5.114-2.29-5.114-5.114zm9.298 2.93L9.07 7.815c-.445-.483 1.837-.93 2.93-.93 2.826 0 5.114 2.288 5.114 5.113 0 1.092-.364 3.542-.93 2.93z"/>
     </g>
 </svg>
index e924c44..1b0a659 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/case-sensitive.png and b/resources/lib/oojs-ui/themes/apex/images/icons/case-sensitive.png differ
index 3f0a3a5..8de2583 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="regular-expression">
-        <path id="upper-case" d="M7.53 7L4 17h2.063l.72-2.406h3.624l.72 2.406h2.062L9.657 7H7.533zm1.064 1.53L9.938 13H7.25l1.344-4.47z"/>
-        <path id="lower-case" d="M18.55 17l-.184-1.035h-.055c-.35.44-.71.747-1.082.92-.368.167-.85.25-1.444.25-.564 0-.955-.208-1.377-.625-.418-.418-.627-1.012-.627-1.784 0-.808.282-1.403.845-1.784.568-.386 1.193-.607 2.208-.64l1.322-.04v-.335c0-.772-.395-1.158-1.186-1.158-.61 0-1.325.183-2.147.55l-.688-1.4c.877-.46 1.85-.69 2.916-.69 1.023 0 1.588.223 2.133.668.545.445.818 1.12.818 2.03V17h-1.45m-.394-3.527l-.804.027c-.604.018-1.054.127-1.35.327-.294.2-.442.504-.442.912 0 .585.336.877 1.008.877.48 0 .865-.138 1.152-.415.29-.277.436-.645.436-1.103v-.627"/>
+        <path id="upper-case" d="M7.53 7L4 17h2.063l.72-2.406h3.624l.72 2.406h2.062L9.655 7H7.533zm1.064 1.53L9.938 13H7.25l1.344-4.47z"/>
+        <path id="lower-case" d="M18.55 17l-.184-1.035h-.055c-.35.44-.71.747-1.08.92-.37.167-.85.25-1.444.25-.564 0-.955-.208-1.377-.625-.42-.418-.628-1.012-.628-1.784 0-.808.283-1.403.846-1.784.568-.386 1.193-.607 2.208-.64l1.322-.04v-.335c0-.772-.395-1.158-1.186-1.158-.61 0-1.325.18-2.147.55l-.688-1.4c.877-.46 1.85-.69 2.916-.69 1.024 0 1.59.22 2.134.666.545.445.818 1.12.818 2.03V17h-1.45m-.394-3.527l-.803.027c-.604.018-1.054.127-1.35.327-.294.2-.442.504-.442.912 0 .583.336.875 1.008.875.48 0 .865-.138 1.152-.415.29-.276.436-.644.436-1.102v-.627"/>
     </g>
 </svg>
index 02c9bd8..d455904 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="check">
-        <path d="M7.105 13.473l1.422-1.423 1.9 1.902L15.238 7l1.658 1.148L10.635 17z"/>
+        <path d="M7.105 13.473l1.422-1.423 1.9 1.902L15.237 7l1.66 1.148L10.634 17z"/>
     </g>
 </svg>
index 6e32d78..fe5309d 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
     <g id="code">
-        <path id="left-bracket" d="M4 12v-1h1c1 0 1 0 1-1V7.614c0-.514.024-.896.073-1.142.054-.252.14-.463.257-.633.204-.28.473-.476.808-.585C7.473 5.14 8.01 5 8.973 5H10v1h-.752c-.457 0-.77.19-.936.408C8.145 6.623 8 6.853 8 7.476v1.857c0 .73-.04 1.18-.244 1.493-.2.307-.562.53-1.09.667.535.155.9.385 1.096.688.2.304.238.758.238 1.485v1.862c0 .62.145.848.312 1.062.166.22.48.406.936.406L10 17v1H8.973c-.963 0-1.5-.133-1.835-.248-.335-.11-.604-.307-.808-.59-.118-.166-.203-.375-.257-.626-.05-.253-.073-.636-.073-1.15V13c0-1 0-1-1-1H4z"/>
+        <path id="left-bracket" d="M4 12v-1h1c1 0 1 0 1-1V7.614c0-.514.024-.896.073-1.142.054-.252.14-.463.257-.633.204-.28.473-.478.808-.587C7.473 5.14 8.01 5 8.973 5H10v1h-.752c-.457 0-.77.19-.936.408C8.145 6.623 8 6.853 8 7.476v1.857c0 .73-.04 1.18-.244 1.493-.2.307-.562.53-1.09.667.535.155.9.385 1.096.688.2.306.238.76.238 1.487v1.862c0 .62.145.847.312 1.06.166.22.48.407.936.407L10 17v1H8.973c-.963 0-1.5-.133-1.835-.248-.335-.11-.604-.307-.808-.59-.118-.166-.203-.375-.257-.626-.05-.253-.073-.636-.073-1.15V13c0-1 0-1-1-1H4z"/>
         <use transform="matrix(-1 0 0 1 24 0)" id="right-bracket" width="24" height="24" xlink:href="#left-bracket"/>
     </g>
 </svg>
index 7e37682..1b1cb76 100644 (file)
@@ -2,7 +2,7 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="Layer_2">
         <g id="g184">
-            <path d="M21 4v-1s0-3-3-3-3 3-3 3v1h-1v6h8v-6zm-1.5 0h-3v-1s0-1.5 1.5-1.5c1.48.06 1.5 1.5 1.5 1.5zm-6.5 5.6l-6.8 6.9c-.3-.3-.7-.6-1-.8 1.4-1.4 5-5 7.8-7.9v-1.8l-9 9-1 5 5-1 8-8h-3z" id="path186"/>
+            <path d="M21 4V3s0-3-3-3-3 3-3 3v1h-1v6h8V4zm-1.5 0h-3V3s0-1.5 1.5-1.5c1.48.06 1.5 1.5 1.5 1.5zM13 9.6l-6.8 6.9c-.3-.3-.7-.6-1-.8 1.4-1.4 5-5 7.8-7.9V6l-9 9-1 5 5-1 8-8h-3z" id="path186"/>
         </g>
     </g>
 </svg>
index 0b4751d..84a6816 100644 (file)
@@ -2,7 +2,7 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="Layer_2">
         <g id="g184">
-            <path d="M4 4v-1s0-3 3-3 3 3 3 3v1h1v6h-8v-6zm1.5 0h3v-1s0-1.5-1.5-1.5c-1.48.06-1.5 1.5-1.5 1.5zm6.5 5.6l6.8 6.9c.3-.3.7-.6 1-.8-1.4-1.4-5-5-7.8-7.9v-1.8l9 9 1 5-5-1-8-8h3z" id="path186"/>
+            <path d="M4 4V3s0-3 3-3 3 3 3 3v1h1v6H3V4zm1.5 0h3V3s0-1.5-1.5-1.5C5.52 1.56 5.5 3 5.5 3zM12 9.6l6.8 6.9c.3-.3.7-.6 1-.8-1.4-1.4-5-5-7.8-7.9V6l9 9 1 5-5-1-8-8h3z" id="path186"/>
         </g>
     </g>
 </svg>
index 60e6a0c..9fdc8ca 100644 (file)
@@ -2,6 +2,6 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
     <g id="external">
         <path id="box" d="M7 3h2v6H3V7H2v3h8V2H7z"/>
-        <path id="arrow" d="M2 5.79l1.42-1.422L5.554 6.5l.947-.947L4.368 3.42 5.788 2H2z"/>
+        <path id="arrow" d="M2 5.79l1.42-1.422L5.554 6.5l.947-.947L4.37 3.42 5.788 2H2z"/>
     </g>
 </svg>
index 4625881..5c66688 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/find-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/find-ltr.png differ
index e97230c..bbfdaa0 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="find">
-        <path id="magnifying-glass" d="M13.656 11c-1.92 0-3.5 1.548-3.5 3.47 0 1.92 1.58 3.5 3.5 3.5.75 0 1.432-.253 2-.657l.094.156 2.375 2.374c.19.19.534.153.78-.094s.315-.59.126-.78l-2.374-2.376-.188-.094c.403-.566.656-1.282.656-2.03 0-1.92-1.55-3.47-3.47-3.47zm0 1.656c1.01 0 1.813.8 1.813 1.813 0 1.01-.802 1.843-1.814 1.843-1.01 0-1.844-.832-1.844-1.844s.832-1.814 1.844-1.814z"/>
+        <path id="magnifying-glass" d="M13.656 11c-1.92 0-3.5 1.548-3.5 3.47 0 1.92 1.58 3.5 3.5 3.5.75 0 1.432-.253 2-.657l.094.156 2.375 2.372c.19.19.534.153.78-.094s.315-.59.126-.78L16.66 16.59l-.188-.093c.402-.567.655-1.283.655-2.03 0-1.92-1.55-3.47-3.47-3.47zm0 1.656c1.01 0 1.813.8 1.813 1.813 0 1.01-.804 1.84-1.816 1.84-1.01 0-1.844-.83-1.844-1.843s.833-1.814 1.845-1.814z"/>
         <path id="text" d="M6 5v2h10V5H6zm0 3v2h11V8H6zm0 3v2h3.53c.284-.797.787-1.486 1.44-2H6zm0 3v2h3.53c-.177-.48-.28-.99-.28-1.53 0-.16.046-.315.063-.47H6z"/>
     </g>
 </svg>
index ed8eea0..28aab68 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/find-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/find-rtl.png differ
index ca03754..e70ae48 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="find">
-        <path id="magnifying-glass" d="M11.344 11c1.92 0 3.5 1.548 3.5 3.47 0 1.92-1.58 3.5-3.5 3.5-.75 0-1.432-.253-2-.657l-.094.156-2.375 2.374c-.19.19-.534.153-.78-.094s-.315-.59-.126-.78l2.374-2.376.188-.094c-.403-.566-.656-1.282-.656-2.03 0-1.92 1.55-3.47 3.47-3.47zm0 1.656c-1.01 0-1.813.8-1.813 1.813 0 1.01.802 1.843 1.814 1.843 1.01 0 1.844-.832 1.844-1.844s-.832-1.814-1.844-1.814z"/>
+        <path id="magnifying-glass" d="M11.344 11c1.92 0 3.5 1.548 3.5 3.47 0 1.92-1.58 3.5-3.5 3.5-.75 0-1.432-.253-2-.657l-.094.156-2.375 2.372c-.19.19-.534.153-.78-.094s-.315-.59-.126-.78L8.34 16.59l.188-.093c-.402-.567-.655-1.283-.655-2.03 0-1.92 1.55-3.47 3.47-3.47zm0 1.656c-1.01 0-1.813.8-1.813 1.813 0 1.01.804 1.84 1.816 1.84 1.01 0 1.844-.83 1.844-1.843s-.833-1.814-1.845-1.814z"/>
         <path id="text" d="M19 5v2H9V5zm0 3v2H8V8zm0 3v2h-3.53c-.284-.797-.787-1.486-1.44-2zm0 3v2h-3.53c.177-.48.28-.99.28-1.53 0-.16-.046-.315-.063-.47z"/>
     </g>
 </svg>
index e5eb877..a9a0ebb 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="help">
-        <path id="circle" d="M12 2.085c-5.477 0-9.915 4.438-9.915 9.916 0 5.477 4.438 9.915 9.916 9.915 5.477 0 9.915-4.438 9.915-9.914 0-5.477-4.438-9.915-9.914-9.915zm.002 18c-4.465 0-8.084-3.62-8.084-8.083 0-4.465 3.62-8.084 8.084-8.084 4.464 0 8.083 3.62 8.083 8.084 0 4.464-3.62 8.083-8.083 8.083z"/>
+        <path id="circle" d="M12 2.085c-5.477 0-9.915 4.438-9.915 9.916 0 5.48 4.438 9.917 9.916 9.917 5.48 0 9.917-4.438 9.917-9.914 0-5.477-4.438-9.915-9.914-9.915zm.002 18c-4.465 0-8.084-3.62-8.084-8.083 0-4.465 3.62-8.084 8.084-8.084 4.464 0 8.083 3.62 8.083 8.084 0 4.464-3.62 8.083-8.083 8.083z"/>
         <g id="question-mark">
             <path id="top" d="M11.766 6.688c-2.5 0-3.22 2.188-3.22 2.188l1.412.854s.298-.79.9-1.23c.517-.374 1.626-.624 2.22.126.7.885-.17 1.587-1.078 2.72C11.047 12.53 11 15 11 15h1.97s.134-2.318 1.04-3.38c.603-.708 1.443-1.34 1.443-2.495s-1.187-2.437-3.687-2.437z"/>
             <path id="bottom" d="M11 16h2v2h-2z"/>
index bf4f537..1b513d0 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="help">
-        <path id="circle" d="M12 2.085c5.477 0 9.915 4.438 9.915 9.916 0 5.477-4.438 9.915-9.916 9.915-5.477 0-9.915-4.438-9.915-9.914 0-5.477 4.438-9.915 9.914-9.915zm-.002 18c4.465 0 8.084-3.62 8.084-8.083 0-4.465-3.62-8.084-8.084-8.084-4.464 0-8.083 3.62-8.083 8.084 0 4.464 3.62 8.083 8.083 8.083z"/>
+        <path id="circle" d="M12 2.085c5.477 0 9.915 4.438 9.915 9.916 0 5.48-4.438 9.917-9.916 9.917-5.48 0-9.917-4.438-9.917-9.914 0-5.477 4.438-9.915 9.914-9.915zm-.002 18c4.465 0 8.084-3.62 8.084-8.083 0-4.465-3.62-8.084-8.084-8.084-4.464 0-8.083 3.62-8.083 8.084 0 4.464 3.62 8.083 8.083 8.083z"/>
         <g id="question-mark">
             <path id="top" d="M12.234 6.688c2.5 0 3.22 2.188 3.22 2.188l-1.412.854s-.298-.79-.9-1.23c-.517-.374-1.626-.624-2.22.126-.7.885.17 1.587 1.078 2.72C12.953 12.53 13 15 13 15h-1.97s-.134-2.318-1.04-3.38c-.603-.708-1.443-1.34-1.443-2.495 0-1.156 1.187-2.437 3.687-2.437z"/>
             <path id="bottom" d="M13 16h-2v2h2z"/>
index e9bbf95..0e177ab 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/history.png and b/resources/lib/oojs-ui/themes/apex/images/icons/history.png differ
index 019e558..9375751 100644 (file)
@@ -2,6 +2,6 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="history">
         <path id="clock-hands" d="M17.26 15.076s-2.385-1.935-4.005-3.062c.72-2.397 1.702-6.56 1.702-6.56s-4.35 5.364-4.877 6.7c-.463 1.168 1.46 2.21 2.346 1.678 1.9.55 4.834 1.244 4.834 1.244z"/>
-        <path id="arrow" d="M12.086 2.085C6.608 2.085 2.17 6.523 2.17 12c0 1.784.476 3.455 1.3 4.9L1.25 18.94h5.688v-5.22L4.87 15.616c-.55-1.088-.866-2.312-.866-3.615 0-4.464 3.62-8.083 8.084-8.083 4.464 0 8.083 3.62 8.083 8.084 0 4.465-3.618 8.084-8.082 8.084-1.145 0-2.228-.247-3.213-.678l-.833 1.634c1.235.557 2.602.874 4.045.874C17.563 21.914 22 17.476 22 12c0-5.477-4.438-9.915-9.914-9.915z"/>
+        <path id="arrow" d="M12.086 2.085C6.608 2.085 2.17 6.523 2.17 12c0 1.784.476 3.455 1.3 4.9l-2.22 2.04h5.688v-5.22L4.87 15.616c-.55-1.088-.866-2.312-.866-3.615 0-4.462 3.62-8.08 8.084-8.08 4.464 0 8.083 3.62 8.083 8.083 0 4.465-3.616 8.084-8.08 8.084-1.145 0-2.23-.247-3.213-.678l-.833 1.633c1.235.557 2.602.874 4.045.874C17.562 21.914 22 17.477 22 12c0-5.477-4.438-9.915-9.914-9.915z"/>
     </g>
 </svg>
index f94928b..3285ad9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-keheh-jeem.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-keheh-jeem.png differ
index 1c4aeb7..04cdebb 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-arab-keheh-jeem">
-        <path id="arab-keheh-jeem" d="M18.125 5.844c-1.695.555-3.297 1.162-4.594 1.938-.49.3-.773.712-.874 1.125-.064.263-.035.572.063.78.188.406.538.575.843.814l.094-.124.53.625c.14.165.344.514.47.94.137.462.08.724 0 1.124H11.22c-.34 0-.593.007-.767-.02-.34-.053-.256-.208-.234-.34.33-.127.563-.173.937-.14.29-.495.593-.886.906-1.314-.98.037-1.878.015-2.688-.094-.346-.047-.698-.186-1.094-.156-.356.026-.767.24-1.03.72-.246.447-.434.838-.656 1.28l.75-.47c.23-.14.484-.226.72-.218.156.005.274.054.405.094-.232.205-.51.402-.72.563-.3.26-.702.687-.906 1-.403.614-.694 1.083-.875 1.78-.18.69.003 1.34.468 1.75.426.376.846.52 1.28.563.65.065 1.206.093 2-.188.658-.23 1.022-.553 1.5-.97-.882.11-1.816.09-2.53.032-.87-.07-1.268-.384-1.47-.594-.27-.283-.306-.64-.155-1.22.036-.14.097-.322.25-.53.168-.228.364-.435.594-.656.45-.436 1.01-.737 1.46-.938-.044.205-.106.442-.054.687.05.23.248.38.438.47.26.12.507.154.69.155 1.42.01 2.86 0 4.28 0 .247 0 .452-.163.594-.375.14-.208.25-.48.344-.844.13-.5.094-1.062-.094-1.625-.182-.543-.418-1.01-.72-1.406-.334-.443-.673-.83-1-1.22 1.258-.814 2.717-1.238 3.97-1.687.12-.452.224-.926.313-1.313zm-9.47 8.438c-.26.394-.583.69-.874 1 .376.286.75.556 1.095.813.335-.303.626-.674.875-.97-.39-.267-.77-.587-1.094-.843z"/>
+        <path id="arab-keheh-jeem" d="M18.125 5.844c-1.695.555-3.297 1.162-4.594 1.938-.49.3-.77.712-.872 1.125-.064.263-.035.572.063.78.19.406.54.575.844.814l.094-.122.53.625c.14.165.344.514.47.94.137.462.08.724 0 1.124H11.22c-.34 0-.593.007-.767-.02-.34-.053-.256-.208-.234-.34.33-.127.56-.173.935-.14.29-.495.593-.886.906-1.314-.98.037-1.877.015-2.687-.094-.346-.048-.698-.187-1.094-.157-.357.026-.768.24-1.03.72-.247.447-.435.838-.657 1.28l.75-.47c.23-.14.484-.226.72-.218.156.005.274.054.405.094-.233.204-.51.4-.72.562-.3.26-.703.688-.907 1-.402.615-.693 1.084-.874 1.78-.18.69.003 1.34.468 1.75.426.377.846.52 1.28.564.65.065 1.206.093 2-.188.658-.23 1.022-.553 1.5-.97-.882.11-1.816.09-2.53.032-.87-.07-1.268-.384-1.47-.594-.27-.283-.306-.64-.155-1.22.036-.14.097-.322.25-.53.17-.228.364-.435.594-.656.45-.436 1.01-.737 1.46-.938-.044.205-.106.442-.054.687.05.23.25.38.44.47.26.12.506.153.69.154 1.42.01 2.86 0 4.28 0 .246 0 .45-.163.593-.375.14-.21.25-.48.344-.845.13-.5.094-1.062-.094-1.625-.182-.543-.418-1.01-.72-1.406-.334-.443-.673-.83-1-1.22 1.258-.814 2.717-1.238 3.97-1.687.12-.452.224-.926.313-1.313zm-9.47 8.438c-.26.394-.583.69-.874 1 .378.286.75.556 1.097.813.335-.303.626-.674.875-.97-.39-.267-.77-.587-1.093-.843z"/>
     </g>
 </svg>
index a963197..3c5adc3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-meem.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-meem.png differ
index 7b2670f..f315377 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-arab-meem">
-        <path id="arab-meem" d="M16 9.73l-.93 2.19h-4.663c-.48 0-.857.12-1.135.366l-.06.11c-.185 2.016-.503 3.558-.956 4.627-.272.64-.633 1.252-1.082 1.833-.177.226-.22.186-.126-.12l.142-.503.17-.67.234-.87.002-.008.202-1.045.258-1.41.353-1.907c.19-.312.423-.638.698-.98.276-.342.59-.706.94-1.09.13-.092.697-.18 1.705-.266 1.05-.086 1.638-.183 1.765-.293l.065-.128c.007-.11-.01-.24-.054-.394-.044-.153-.12-.327-.232-.522-.22-.428-.438-.64-.654-.64-.294 0-.915.268-1.864.805-.36.208-.376.125-.05-.247 1.557-1.71 2.707-2.566 3.45-2.566.382 0 .67.13.862.394.135.195.25.6.344 1.21l.203 1.2c.105.586.24.895.408.925"/>
+        <path id="arab-meem" d="M16 9.73l-.93 2.19h-4.663c-.48 0-.857.12-1.135.366l-.06.11c-.185 2.016-.503 3.558-.956 4.627-.272.64-.633 1.252-1.082 1.833-.177.226-.22.186-.126-.12l.142-.503.17-.67.234-.87.002-.008.202-1.045.258-1.41.353-1.907c.19-.312.42-.638.696-.98.276-.342.59-.706.94-1.09.13-.092.697-.18 1.705-.266 1.05-.086 1.64-.183 1.766-.293l.065-.128c.008-.11-.01-.24-.053-.394-.044-.153-.12-.327-.232-.522-.22-.428-.438-.64-.654-.64-.293 0-.914.268-1.863.805-.36.208-.376.125-.05-.247 1.557-1.71 2.707-2.566 3.45-2.566.382 0 .67.13.862.394.134.195.25.6.343 1.21l.203 1.2c.105.586.24.895.408.925"/>
     </g>
 </svg>
index e4f1bda..15795c5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-armn-sha.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-armn-sha.png differ
index 67283c8..f0d10d9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-armn-sha">
-        <path id="armn-sha" d="M11.564 7.678c-.268-.13-.578-.22-.93-.268-.35-.047-.75-.07-1.197-.07h-1.11L8.587 6h1.723c.558 0 1.042.032 1.45.095.416.063.794.173 1.136.33l4.483 2.033-.325 1.67-2.624-1.165c-.125-.058-.27-.103-.432-.134-.164-.04-.356-.058-.576-.058-.583 0-1.137.095-1.663.284-.525.19-1 .46-1.426.812-.42.35-.777.78-1.072 1.283-.294.505-.504 1.075-.63 1.71-.242 1.256-.152 2.21.268 2.87.426.65 1.19.977 2.294.977.55 0 1.045-.08 1.48-.237.437-.156.815-.377 1.136-.66.326-.29.59-.633.796-1.033.21-.4.362-.84.457-1.323l.11-.56h1.6l-.12.59c-.13.674-.356 1.288-.676 1.845-.32.55-.725 1.025-1.214 1.424-.488.394-1.053.7-1.694.922-.643.215-1.344.323-2.106.323-.767 0-1.434-.114-2-.34-.568-.226-1.025-.554-1.372-.985-.347-.436-.573-.97-.678-1.607-.105-.637-.078-1.364.08-2.184.125-.66.346-1.273.66-1.835.316-.568.697-1.067 1.144-1.497.445-.436.944-.794 1.496-1.072.55-.283 1.13-.474 1.733-.574l-.466-.23"/>
+        <path id="armn-sha" d="M11.564 7.678c-.268-.13-.578-.22-.93-.268-.35-.047-.75-.07-1.197-.07h-1.11L8.587 6h1.723c.558 0 1.042.032 1.45.095.416.063.794.173 1.136.33l4.483 2.033-.327 1.67-2.624-1.165c-.126-.058-.27-.103-.433-.134-.164-.04-.356-.06-.576-.06-.582 0-1.136.095-1.662.284-.526.19-1 .46-1.427.812-.42.35-.776.78-1.07 1.283-.294.504-.504 1.074-.63 1.71-.24 1.255-.15 2.21.27 2.87.424.65 1.19.976 2.292.976.55 0 1.045-.08 1.48-.237.437-.157.815-.378 1.136-.66.325-.29.59-.634.795-1.034.21-.4.362-.84.457-1.323l.11-.56h1.6l-.12.59c-.13.674-.356 1.288-.676 1.845-.32.55-.725 1.024-1.214 1.423-.488.395-1.053.7-1.694.923-.643.215-1.344.323-2.106.323-.767 0-1.434-.114-2-.34-.568-.226-1.025-.554-1.372-.985-.347-.435-.573-.97-.678-1.606-.105-.637-.078-1.364.08-2.184.125-.66.346-1.273.66-1.835.316-.568.697-1.067 1.144-1.497.445-.436.944-.794 1.496-1.072.55-.283 1.13-.474 1.733-.574l-.466-.23"/>
     </g>
 </svg>
index 1ba8613..2b8b6e4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-c.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-c.png differ
index 0ef7345..2018e60 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-c">
-        <path id="c" d="M15.008 13.718l1.48.214c-.467 1.34-1.15 2.354-2.045 3.04-.896.686-1.9 1.03-3.015 1.03-1.36 0-2.438-.43-3.237-1.29C7.398 15.85 7 14.618 7 13.013c0-2.09.606-3.818 1.817-5.185C9.897 6.61 11.237 6 12.84 6c1.186 0 2.145.33 2.878.99.738.66 1.165 1.546 1.282 2.66l-1.397.135c-.148-.84-.453-1.464-.916-1.876-.458-.418-1.05-.626-1.78-.626-1.368 0-2.475.63-3.32 1.892-.733 1.087-1.1 2.377-1.1 3.87 0 1.194.283 2.104.848 2.732.565.628 1.3.942 2.206.942.775 0 1.474-.26 2.1-.784.626-.522 1.08-1.26 1.366-2.216"/>
+        <path id="c" d="M15.008 13.718l1.48.214c-.467 1.34-1.15 2.354-2.045 3.04-.896.686-1.9 1.03-3.015 1.03-1.36 0-2.438-.43-3.237-1.29C7.4 15.85 7 14.618 7 13.012c0-2.09.606-3.817 1.817-5.184C9.897 6.61 11.237 6 12.84 6c1.186 0 2.145.33 2.878.99.738.66 1.165 1.546 1.282 2.66l-1.397.135c-.148-.84-.453-1.464-.916-1.876-.458-.42-1.05-.628-1.78-.628-1.368 0-2.475.63-3.32 1.892-.733 1.087-1.1 2.377-1.1 3.87 0 1.194.283 2.104.848 2.732.565.628 1.3.942 2.206.942.777 0 1.476-.26 2.1-.785.628-.522 1.08-1.26 1.368-2.216"/>
     </g>
 </svg>
index 39b09a2..4ace3f3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-d.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-d.png differ
index 6ac99ab..c044c86 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-d">
-        <path id="d" d="M7 18L9.462 6h3.557c.852 0 1.504.063 1.954.188.644.17 1.194.472 1.65.91.456.43.8.97 1.03 1.62.23.65.346 1.378.346 2.186 0 .966-.145 1.847-.435 2.644-.284.79-.66 1.49-1.127 2.095-.46.6-.947 1.072-1.456 1.416-.504.337-1.102.588-1.794.752-.526.126-1.172.188-1.94.188H7m1.86-1.36h1.866c.842 0 1.59-.078 2.245-.236.41-.098.757-.243 1.047-.434.38-.246.727-.57 1.038-.974.408-.535.732-1.143.974-1.825.246-.687.37-1.467.37-2.34 0-.97-.167-1.716-.5-2.235-.333-.524-.756-.87-1.27-1.04-.382-.126-.975-.188-1.78-.188H11L9.095 16.64"/>
+        <path id="d" d="M7 18L9.462 6h3.557c.85 0 1.502.063 1.952.188.644.17 1.194.472 1.65.91.456.43.8.97 1.03 1.62.23.65.346 1.378.346 2.186 0 .966-.146 1.847-.436 2.644-.284.79-.66 1.49-1.127 2.095-.46.6-.947 1.072-1.456 1.416-.504.335-1.1.586-1.794.75-.526.126-1.172.19-1.94.19H7m1.86-1.36h1.866c.842 0 1.59-.08 2.245-.238.41-.098.76-.243 1.05-.434.38-.247.726-.57 1.037-.975.408-.535.732-1.143.974-1.825.247-.687.37-1.467.37-2.34 0-.97-.166-1.716-.5-2.235-.332-.524-.755-.87-1.27-1.04-.38-.126-.974-.188-1.78-.188H11L9.095 16.64"/>
     </g>
 </svg>
index 72df8bb..f385149 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-e">
-        <path id="e" d="M7 18L9.474 6H18l-.282 1.367H10.77L10.02 11h6.09l-.28 1.367H9.74L8.86 16.64H16.3L16.018 18H7"/>
+        <path id="e" d="M7 18L9.474 6H18l-.282 1.367H10.77L10.02 11h6.09l-.28 1.367H9.74l-.88 4.273h7.44L16.018 18H7"/>
     </g>
 </svg>
index 3ab33f2..7f2512e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-geor-kan.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-geor-kan.png differ
index a1a93dc..867f458 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-geor-kan">
-        <path id="geor-kan" d="M15.057 14.663C14.617 16.888 13.223 18 10.88 18 8.96 18 8 17.213 8 15.64c0-.298.036-.624.108-.977.083-.43.245-.836.488-1.217l1.24.605-.206.614c-.055.26-.083.497-.083.712 0 .972.52 1.458 1.564 1.458 1.308 0 2.102-.723 2.384-2.17l.058-.33c.044-.222.066-.426.066-.614 0-.928-.546-1.39-1.638-1.39h-1.117l.248-1.26h1.118c1.202-.005 1.908-.552 2.118-1.64.04-.182.058-.356.058-.522 0-1.143-.9-1.714-2.697-1.714L11.94 6C14.646 6 16 6.877 16 8.627c0 .248-.027.516-.082.803-.204 1.092-1.05 1.824-2.54 2.194l-.033.166c1.23.2 1.845.823 1.845 1.872 0 .21-.025.433-.074.67l-.058.332"/>
+        <path id="geor-kan" d="M15.057 14.663C14.617 16.888 13.223 18 10.88 18 8.96 18 8 17.213 8 15.64c0-.298.036-.624.108-.977.083-.43.245-.836.488-1.217l1.24.605-.206.616c-.055.26-.083.497-.083.712 0 .972.52 1.458 1.564 1.458 1.31 0 2.104-.723 2.386-2.17l.058-.33c.044-.222.066-.426.066-.614 0-.927-.547-1.39-1.64-1.39h-1.116l.248-1.26h1.118c1.202-.004 1.908-.55 2.118-1.64.04-.18.058-.355.058-.52 0-1.144-.9-1.715-2.697-1.715L11.94 6C14.646 6 16 6.877 16 8.627c0 .248-.027.516-.082.803-.204 1.092-1.05 1.824-2.54 2.194l-.033.166c1.23.2 1.845.823 1.845 1.872 0 .21-.025.433-.074.67l-.058.332"/>
     </g>
 </svg>
index aafa618..c3b1e6e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-s.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-s.png differ
index 56e457b..1c5a4ca 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-s">
-        <path id="s" d="M16.474 6.59l-.302 1.525c-.522-.28-1.04-.488-1.557-.628-.51-.145-1.007-.217-1.487-.217-.935 0-1.68.204-2.23.612-.554.408-.83.95-.83 1.627 0 .37.1.657.302.86.207.195.733.407 1.58.634l.937.232c1.06.274 1.795.622 2.208 1.046.413.418.62 1.007.62 1.766 0 1.167-.46 2.117-1.38 2.85-.913.734-2.12 1.1-3.617 1.1-.615 0-1.232-.06-1.852-.185-.62-.12-1.242-.302-1.867-.55l.317-1.61c.573.355 1.147.624 1.72.805.578.18 1.154.27 1.728.27.976 0 1.76-.216 2.347-.65.59-.434.883-1 .883-1.697 0-.464-.12-.815-.356-1.053-.233-.243-.737-.462-1.512-.658l-.937-.24c-1.068-.28-1.8-.6-2.19-.962-.388-.367-.582-.878-.582-1.534 0-1.152.442-2.094 1.325-2.828.888-.74 2.043-1.108 3.463-1.108.553 0 1.1.05 1.642.147.542.098 1.085.245 1.627.442"/>
+        <path id="s" d="M16.474 6.59l-.302 1.525c-.522-.28-1.04-.488-1.557-.628-.51-.145-1.007-.217-1.487-.217-.935 0-1.68.204-2.23.612-.554.408-.83.95-.83 1.627 0 .37.1.655.302.86.207.193.733.405 1.58.632l.937.232c1.06.274 1.795.622 2.208 1.046.413.42.62 1.008.62 1.767 0 1.167-.46 2.117-1.38 2.85-.913.734-2.12 1.1-3.617 1.1-.615 0-1.232-.06-1.852-.185-.62-.12-1.242-.302-1.867-.55l.315-1.61c.573.355 1.147.624 1.72.805.578.18 1.154.27 1.728.27.976 0 1.76-.216 2.347-.65.59-.434.884-1 .884-1.697 0-.464-.12-.815-.356-1.053-.233-.243-.737-.462-1.512-.658l-.937-.24c-1.07-.28-1.8-.6-2.19-.964-.39-.367-.584-.878-.584-1.534 0-1.152.442-2.094 1.325-2.828.89-.74 2.044-1.108 3.464-1.108.553 0 1.1.05 1.642.147.542.098 1.085.245 1.627.442"/>
     </g>
 </svg>
index ebd11a2..cae0e77 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/language.png and b/resources/lib/oojs-ui/themes/apex/images/icons/language.png differ
index 549c303..694d225 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="language">
-        <path id="japanese" d="M17.533 9.81l.27-.59 1.042.407-.18.363c.66.27 1.1.468 1.312.59.33.21.618.513.86.904.21.393.316.846.316 1.358 0 .786-.302 1.48-.905 2.083-.604.634-1.66 1.057-3.17 1.268-.12-.36-.257-.68-.407-.95.966-.15 1.646-.333 2.038-.545.454-.21.785-.48.998-.813.21-.303.314-.663.314-1.087 0-.482-.136-.905-.407-1.27-.33-.33-.8-.588-1.402-.77-.332.635-.648 1.118-.95 1.45-.242.332-.694.906-1.358 1.72.09.394.18.71.272.952l-1.042.362-.09-.498c-.424.36-.802.617-1.134.77-.36.15-.664.226-.905.226-.303 0-.574-.136-.814-.407-.244-.3-.363-.68-.363-1.132 0-.603.136-1.146.407-1.63.24-.452.603-.89 1.086-1.312.272-.24.725-.528 1.36-.86 0-.27.03-.8.09-1.585-.515.03-.922.045-1.223.045-.393 0-.71-.015-.95-.045l-.047-1.04c.725.09 1.494.134 2.31.134 0-.15.075-.738.227-1.766l1.177.184c-.15.542-.256 1.04-.316 1.493.242-.03.543-.075.906-.136.362-.06.573-.09.634-.09s.648-.15 1.766-.453l.046 1.04c-.967.244-2.145.44-3.532.592-.062.662-.092 1.085-.092 1.265.663-.15 1.284-.225 1.857-.225zm-2.672 3.893c-.06-.48-.135-1.252-.226-2.31-.573.424-1.04.86-1.403 1.313-.302.423-.45.875-.45 1.358 0 .24.043.438.135.588.09.092.195.137.316.137.364 0 .908-.362 1.63-1.087zm.772-2.763c0 .483.03 1.088.09 1.81.604-.904 1.057-1.598 1.36-2.08-.575.06-1.06.15-1.45.27z"/>
+        <path id="japanese" d="M17.533 9.81l.27-.59 1.042.407-.18.363c.66.27 1.1.468 1.312.59.33.21.618.513.86.904.21.393.316.846.316 1.358 0 .786-.302 1.48-.905 2.083-.604.634-1.66 1.057-3.17 1.268-.12-.36-.257-.68-.407-.95.968-.15 1.648-.333 2.04-.545.454-.21.785-.48.998-.813.21-.303.314-.663.314-1.087 0-.482-.135-.905-.406-1.27-.33-.33-.8-.588-1.402-.77-.332.635-.648 1.118-.95 1.45-.242.332-.694.906-1.358 1.72.09.394.18.71.272.952l-1.042.362-.09-.498c-.424.36-.802.617-1.134.77-.36.15-.664.226-.905.226-.303 0-.574-.136-.814-.407-.243-.3-.362-.68-.362-1.132 0-.6.137-1.144.408-1.63.24-.45.603-.89 1.086-1.31.273-.24.726-.53 1.36-.86 0-.27.03-.8.09-1.585-.514.03-.92.045-1.222.045-.393 0-.71-.016-.95-.046l-.047-1.04c.726.09 1.495.134 2.31.134 0-.15.076-.738.228-1.766l1.177.184c-.15.542-.256 1.04-.316 1.493.24-.03.542-.077.905-.138.36-.06.572-.09.633-.09s.647-.15 1.765-.453l.046 1.04c-.966.243-2.144.44-3.53.59-.063.663-.093 1.086-.093 1.266.664-.15 1.285-.225 1.858-.225zm-2.672 3.893c-.06-.48-.133-1.252-.224-2.31-.573.424-1.04.86-1.403 1.313-.302.423-.45.875-.45 1.358 0 .24.043.438.135.588.09.092.195.137.316.137.364 0 .908-.364 1.63-1.09zm.774-2.763c0 .483.03 1.088.09 1.81.604-.904 1.057-1.598 1.36-2.08-.575.06-1.06.15-1.45.27z"/>
         <path id="english" d="M9.497 15.98h1.85L8.265 7.033h-1.85l-3.08 8.95h1.85L5.74 14h3.21l.547 1.98zm-3.49-3.376L7.34 8.822l1.343 3.782H6.008z"/>
     </g>
 </svg>
index f1ac1e3..710872b 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="link">
-        <path id="right" d="M19.188 12c0 1.1-.89 2.016-1.988 2.016L13.005 14c.538 1.09.963 2 1.997 2h3C19.658 16 21 13.657 21 12s-1.342-4-2.998-4h-3c-1.034 0-1.46.91-1.998 2l4.195-.016c1.097 0 1.988.917 1.988 2.017z"/>
+        <path id="right" d="M19.188 12c0 1.1-.89 2.016-1.988 2.016L13.005 14c.538 1.09.963 2 1.997 2h3C19.658 16 21 13.657 21 12s-1.342-4-2.998-4h-3c-1.034 0-1.46.91-1.998 2l4.195-.016c1.095 0 1.986.917 1.986 2.017z"/>
         <path id="center" d="M8 12c0 .535.42 1 .938 1h6.11c.517 0 .937-.465.937-1 0-.534-.42-1-.938-1h-6.11C8.42 11 8 11.466 8 12z"/>
         <path id="left" d="M4.816 12c0-1.1.89-2.016 1.988-2.016L11 10c-.54-1.09-.964-2-1.998-2h-3c-1.656 0-2.998 2.343-2.998 4s1.342 4 2.998 4h3c1.034 0 1.46-.91 1.998-2l-4.195.016c-1.098 0-1.99-.917-1.99-2.017z"/>
     </g>
index dbce05e..7aab217 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.png differ
index 00583b4..48d2c7e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="move-rtl">
-        <path id="arrow" d="M15.065 17.786l-5.302-5.303 5.302-5.302-1.414-1.413-6.715 6.716L13.65 19.2z"/>
+        <path id="arrow" d="M15.065 17.786l-5.302-5.303 5.302-5.302-1.415-1.41-6.714 6.716L13.65 19.2z"/>
     </g>
 </svg>
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/notice.png b/resources/lib/oojs-ui/themes/apex/images/icons/notice.png
new file mode 100644 (file)
index 0000000..7d27f8e
Binary files /dev/null and b/resources/lib/oojs-ui/themes/apex/images/icons/notice.png differ
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/notice.svg b/resources/lib/oojs-ui/themes/apex/images/icons/notice.svg
new file mode 100644 (file)
index 0000000..b7fb2e7
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" id="svg3116">
+    <g id="alert">
+        <path d="M12 18c-3.314 0-6-2.686-6-6s2.686-6 6-6 6 2.686 6 6-2.686 6-6 6zm-1-5h2V8h-2zm0 3h2v-2h-2z" id="path3119"/>
+    </g>
+</svg>
index 68bb9d7..b8736a0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/regular-expression.png and b/resources/lib/oojs-ui/themes/apex/images/icons/regular-expression.png differ
index e9594a1..5f10d4d 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="regular-expression">
-        <path id="left-bracket" d="M3 12.045c0-.99.15-1.915.45-2.777.306-.862.743-1.618 1.314-2.268H6.23c-.552.72-.968 1.512-1.25 2.374-.28.862-.42 1.75-.42 2.66 0 .915.142 1.8.427 2.654.29.85.7 1.622 1.23 2.312H4.766c-.574-.635-1.012-1.376-1.313-2.223-.3-.847-.45-1.758-.45-2.732"/>
+        <path id="left-bracket" d="M3 12.045c0-.99.15-1.915.45-2.777.306-.862.743-1.618 1.314-2.268H6.23c-.552.72-.968 1.512-1.25 2.374-.28.862-.42 1.75-.42 2.66 0 .915.142 1.8.427 2.654.29.85.7 1.622 1.23 2.312h-1.45c-.575-.635-1.013-1.376-1.314-2.223-.3-.847-.45-1.758-.45-2.732"/>
         <path id="dot" d="M10 16c0 .552-.448 1-1 1s-1-.448-1-1 .448-1 1-1 1 .448 1 1z"/>
-        <path id="star" d="M14.25 7.013l-.24 2.156 2.187-.61.193 1.477-1.992.14 1.307 1.74-1.33.71-.914-1.834-.802 1.822-1.383-.697 1.295-1.74-1.98-.152.23-1.465 2.138.61-.24-2.156h1.535"/>
-        <path id="right-bracket" d="M21 12.045c0 .982-.152 1.896-.457 2.744-.3.846-.737 1.584-1.307 2.21h-1.453c.527-.686.936-1.455 1.225-2.306.29-.855.434-1.74.434-2.66 0-.91-.14-1.797-.422-2.66-.28-.862-.697-1.654-1.248-2.374h1.465c.574.653 1.012 1.413 1.313 2.28.3.86.45 1.783.45 2.765"/>
+        <path id="star" d="M14.25 7.013l-.24 2.156 2.187-.61.193 1.475-1.992.14 1.307 1.74-1.33.71-.914-1.834-.8 1.823-1.383-.697 1.295-1.74-1.98-.152.23-1.465 2.14.61-.24-2.157h1.534"/>
+        <path id="right-bracket" d="M21 12.045c0 .982-.152 1.896-.457 2.744-.3.844-.737 1.582-1.307 2.21h-1.453c.527-.688.936-1.457 1.225-2.308.29-.855.434-1.74.434-2.66 0-.91-.14-1.797-.422-2.66-.28-.862-.697-1.654-1.248-2.374h1.465c.574.652 1.012 1.412 1.313 2.28.3.86.45 1.782.45 2.764"/>
     </g>
 </svg>
index 39d3ab8..d6e3e8e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/search.png and b/resources/lib/oojs-ui/themes/apex/images/icons/search.png differ
index e683c01..070e4bf 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="search">
-        <path id="search" d="M16.02 15.96l-2.373-2.375-.17-.1c.404-.565.644-1.26.644-2.008C14.12 9.557 12.564 8 10.645 8c-1.92 0-3.478 1.557-3.478 3.478 0 1.92 1.557 3.477 3.478 3.477.75 0 1.442-.24 2.01-.643l.098.17 2.375 2.373c.19.19.543.143.79-.104s.293-.6.104-.79zm-5.376-2.27c-1.22 0-2.213-.99-2.213-2.213 0-1.22.993-2.213 2.214-2.213 1.222 0 2.213.992 2.213 2.213 0 1.222-.992 2.213-2.213 2.213z"/>
+        <path id="search" d="M16.02 15.96l-2.373-2.375-.17-.1c.404-.565.644-1.26.644-2.008C14.12 9.557 12.566 8 10.647 8c-1.92 0-3.478 1.557-3.478 3.478 0 1.92 1.557 3.477 3.478 3.477.75 0 1.442-.24 2.01-.643l.098.17 2.375 2.373c.19.19.542.143.79-.104s.292-.6.103-.79zm-5.376-2.27c-1.22 0-2.213-.99-2.213-2.213 0-1.22.995-2.213 2.216-2.213 1.222 0 2.213.992 2.213 2.213 0 1.222-.993 2.213-2.214 2.213z"/>
     </g>
 </svg>
index 9a75454..6eefe90 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
     <g id="secure">
-        <path id="lock" d="M8 5h.02v-.997c0-.057.003-1.41-.833-2.255-.434-.438-.998-.66-1.68-.66s-1.244.222-1.677.66c-.837.846-.833 2.198-.832 2.25V5H3c-.553 0-1 .447-1 1v3c0 .553.447 1 1 1h5c.553 0 1-.447 1-1V6c0-.553-.447-1-1-1zM3.998 5V3.993c0-.01.005-1 .543-1.543.483-.485 1.45-.487 1.933-.002.544.546.546 1.536.546 1.55V5H3.997z"/>
+        <path id="lock" d="M8 5h.02v-.997c0-.057.003-1.41-.833-2.255-.434-.438-.998-.66-1.68-.66s-1.244.222-1.677.66c-.837.846-.833 2.198-.832 2.25V5H3c-.553 0-1 .447-1 1v3c0 .553.447 1 1 1h5c.553 0 1-.447 1-1V6c0-.553-.447-1-1-1zM3.998 5V3.993c0-.01.005-1 .543-1.543.485-.485 1.45-.487 1.935-.002.544.546.546 1.536.546 1.55V5H3.998z"/>
     </g>
 </svg>
index 2f38ecc..e632f8a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/specialCharacter.png and b/resources/lib/oojs-ui/themes/apex/images/icons/specialCharacter.png differ
index c2ffd48..bb81880 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="special-character">
-        <path id="omega" d="M12 6.708c-.794 0-1.368.103-1.894.31-.525.207-.944.496-1.255.867-.31.366-.53.808-.66 1.327-.127.513-.19 1.08-.19 1.7 0 .512.057 1 .173 1.46.122.46.31.87.568 1.23.63.862 1.156 1.138 2.012 1.362L11 18H6v-3h.604l.53 1.353.395.053.604.044.75.035.457.01H10l-.09-.895c-.63-.094-.812-.268-1.337-.522-.525-.26-.98-.59-1.365-.99-.38-.402-.675-.868-.89-1.4-.213-.536-.32-1.13-.32-1.778 0-.82.13-1.537.394-2.15.27-.62.656-1.133 1.163-1.54.507-.407 1.133-.71 1.878-.912.745-.206 1.6-.31 2.565-.31.96 0 1.81.103 2.556.31.75.2 1.38.504 1.887.912.508.407.893.92 1.155 1.54.27.614.403 1.33.403 2.15 0 .65-.107 1.242-.32 1.78-.215.53-.514.996-.9 1.397-.378.4-.83.732-1.355.99-.525.255-.707.43-1.336.523l-.092.894h.66l.447-.01.75-.034.606-.044.403-.053.532-1.354h.605v3h-5l.247-3.036c1.066-.11 1.337-.696 2.002-1.363.263-.36.452-.77.568-1.23.122-.46.183-.946.183-1.46 0-.618-.064-1.185-.192-1.698-.128-.52-.348-.962-.66-1.327-.31-.372-.73-.66-1.255-.867-.525-.206-1.1-.31-1.894-.31"/>
+        <path id="omega" d="M12 6.708c-.794 0-1.368.103-1.894.31-.525.207-.944.496-1.255.867-.31.366-.53.808-.66 1.327-.125.513-.19 1.08-.19 1.7 0 .512.06 1 .175 1.46.122.46.31.87.568 1.23.63.862 1.156 1.138 2.012 1.362L11 18H6v-3h.604l.53 1.353.395.053.602.044.75.035.457.01H10l-.09-.895c-.63-.094-.812-.268-1.337-.522-.525-.26-.98-.59-1.365-.99-.38-.402-.675-.868-.89-1.4-.213-.536-.32-1.13-.32-1.778 0-.82.13-1.537.394-2.15.27-.62.656-1.133 1.163-1.54.507-.407 1.133-.71 1.878-.912.745-.206 1.6-.31 2.565-.31.96 0 1.81.103 2.556.31.75.2 1.38.504 1.887.912.51.407.895.92 1.157 1.54.27.614.403 1.33.403 2.15 0 .65-.108 1.242-.32 1.78-.216.53-.515.996-.9 1.397-.38.4-.83.732-1.356.99-.525.255-.707.43-1.336.523l-.092.894h.66l.447-.01.75-.034.606-.044.4-.053.533-1.354H18v3h-5l.246-3.038c1.066-.11 1.337-.696 2.002-1.363.263-.36.452-.77.568-1.23.122-.46.183-.947.183-1.46 0-.62-.066-1.186-.194-1.7-.128-.52-.348-.96-.66-1.326-.31-.372-.73-.66-1.255-.867-.524-.206-1.1-.31-1.893-.31"/>
     </g>
 </svg>
index 6408d01..71fa960 100644 (file)
@@ -2,6 +2,6 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="strikethrough-s">
         <path id="strikethrough" d="M6 12h12v1H6v-1z"/>
-        <path id="s" d="M12.094 6c-1.133 0-2.076.287-2.75.9-.67.613-1 1.49-1 2.52 0 .89.22 1.602.72 2.13.497.528 1.278.91 2.31 1.14l.813.182v-.03c.656.147 1.128.375 1.375.63.252.256.375.607.375 1.11 0 .573-.172.97-.53 1.26-.36.29-.895.45-1.626.45-.476 0-.968-.074-1.468-.24-.502-.166-1.03-.417-1.562-.75l-.375-.238v2.158l.156.062c.58.237 1.144.417 1.69.54.548.12 1.07.18 1.56.18 1.287 0 2.298-.293 3-.9.71-.605 1.063-1.486 1.063-2.608 0-.943-.256-1.726-.78-2.312-.522-.592-1.306-1-2.345-1.23l-.812-.18c-.716-.148-1.204-.352-1.406-.54-.205-.202-.312-.484-.312-.934 0-.533.162-.9.5-1.17.342-.27.836-.42 1.53-.42.396 0 .82.052 1.25.18.434.128.91.334 1.407.6l.375.18V6.63s-1.188-.383-1.688-.48c-.5-.097-.984-.15-1.468-.15z"/>
+        <path id="s" d="M12.094 6c-1.133 0-2.076.287-2.75.9-.67.613-1 1.49-1 2.52 0 .89.22 1.602.72 2.13.497.528 1.278.91 2.31 1.14l.813.182v-.03c.656.147 1.128.375 1.375.63.252.256.375.607.375 1.11 0 .573-.172.97-.53 1.26-.36.29-.895.45-1.626.45-.474 0-.966-.074-1.466-.24-.502-.166-1.03-.417-1.562-.75l-.374-.238v2.158l.156.062c.58.237 1.144.417 1.69.54.548.12 1.07.18 1.56.18 1.287 0 2.298-.293 3-.9.71-.605 1.063-1.486 1.063-2.608 0-.943-.256-1.726-.78-2.312-.522-.592-1.306-1-2.345-1.23l-.812-.18c-.716-.148-1.204-.352-1.406-.54-.205-.202-.312-.484-.312-.934 0-.533.162-.9.5-1.17.342-.27.836-.42 1.53-.42.396 0 .82.052 1.25.18.434.128.91.334 1.407.6l.374.18V6.63s-1.188-.383-1.688-.48c-.5-.097-.984-.15-1.468-.15z"/>
     </g>
 </svg>
index 15de70b..3bfbd0b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/tag.png and b/resources/lib/oojs-ui/themes/apex/images/icons/tag.png differ
index 8e517bf..71671c0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="tag">
-        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.388-.707-1.156-.707-1.706V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.708.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.576 1.515.576 2.094 0 .576-.578.576-1.517 0-2.095-.58-.576-1.518-.577-2.094 0z"/>
+        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.386-.707-1.154-.707-1.704V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.71.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.574 1.515.574 2.094 0 .576-.58.576-1.52 0-2.097-.58-.576-1.518-.577-2.094 0z"/>
     </g>
 </svg>
index d9ff340..77c66a0 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="text-style">
-        <path id="a" d="M15.296 18h2.79l-1.14-12h-2.79L6 18h2.79l2.038-3h4.183l.286 3zm-3.11-5L14.5 9.6l.323 3.4h-2.633z"/>
+        <path id="a" d="M15.296 18h2.79l-1.14-12h-2.79L6 18h2.79l2.038-3h4.183l.288 3zm-3.11-5L14.5 9.6l.323 3.4H12.19z"/>
         <path id="underline" d="M6 19h12v1H6v-1z"/>
     </g>
 </svg>
index 81713bd..f4add0a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/underline-a.png and b/resources/lib/oojs-ui/themes/apex/images/icons/underline-a.png differ
index ea7350b..1ddae10 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="underline-a">
-        <path id="a" d="M14.424 16H16.5L13.037 6H10.96L7.5 16h2.077l.627-2h3.604l.616 2zm-3.92-3.623l1.495-4.38 1.51 4.38h-3z"/>
+        <path id="a" d="M14.424 16H16.5L13.037 6H10.96L7.5 16h2.077l.627-2h3.604l.616 2zm-3.92-3.623L12 7.997l1.51 4.38h-3z"/>
         <path id="underline" d="M7 17h10v1H7v-1z"/>
     </g>
 </svg>
index d07129f..7378298 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="underline-u">
-        <path id="u" d="M8 6h2v5.96c-.104 1.706.695 2 2 2.04 1.777.062 2.002-.88 2-2.04V6h2v6.123c0 1.28-.338 2.245-1.016 2.898-.672.652-1.666.98-2.98.98-1.32 0-2.32-.326-2.996-.98C8.336 14.37 8 13.403 8 12.124V6"/>
+        <path id="u" d="M8 6h2v5.96c-.104 1.706.695 2 2 2.04 1.777.062 2.002-.88 2-2.04V6h2v6.123c0 1.28-.338 2.245-1.016 2.898-.672.654-1.666.98-2.98.98-1.32 0-2.32-.324-2.996-.98C8.336 14.37 8 13.405 8 12.126V6"/>
         <path id="underline" d="M7 17h10v1H7v-1z"/>
     </g>
 </svg>
index cc1f377..985e602 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/search-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/search-ltr.png differ
index 9b49c4b..e5c4010 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
     <g id="search">
-        <path id="path3051" d="M10.37 9.474L7.994 7.1l-.17-.1c.404-.566.644-1.26.644-2.01-.002-1.92-1.56-3.476-3.478-3.476-1.92 0-3.478 1.557-3.478 3.478 0 1.92 1.557 3.477 3.478 3.477.75 0 1.442-.24 2.01-.644l.098.17 2.375 2.373c.19.188.543.142.79-.105s.293-.6.104-.79zM4.99 7.204c-1.22 0-2.213-.99-2.213-2.213 0-1.22.99-2.212 2.212-2.212 1.222 0 2.213.992 2.213 2.213 0 1.223-.992 2.214-2.213 2.214z"/>
+        <path id="path3051" d="M10.37 9.474L7.994 7.1l-.17-.1c.404-.566.644-1.26.644-2.01-.002-1.92-1.56-3.476-3.478-3.476-1.92 0-3.478 1.557-3.478 3.478 0 1.92 1.557 3.477 3.478 3.477.75 0 1.442-.24 2.01-.646l.098.17 2.375 2.373c.19.188.543.142.79-.105s.293-.6.104-.79zm-5.38-2.27c-1.22 0-2.213-.99-2.213-2.213 0-1.22.99-2.21 2.212-2.21 1.22 0 2.21.99 2.21 2.213S6.21 7.207 4.99 7.207z"/>
     </g>
 </svg>
index 5564b42..4213d67 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/search-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/search-rtl.png differ
index 3847af2..759f57e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
     <g id="search">
-        <path id="path3051" d="M1.63 9.474L4.006 7.1l.17-.1c-.404-.566-.644-1.26-.644-2.01.002-1.92 1.56-3.476 3.478-3.476 1.92 0 3.478 1.557 3.478 3.478 0 1.92-1.557 3.477-3.478 3.477-.75 0-1.442-.24-2.01-.644l-.098.17-2.375 2.373c-.19.188-.543.142-.79-.105s-.293-.6-.104-.79zm5.378-2.27c1.22 0 2.213-.99 2.213-2.213 0-1.22-.99-2.212-2.212-2.212-1.222 0-2.213.992-2.213 2.213 0 1.223.992 2.214 2.213 2.214z"/>
+        <path id="path3051" d="M1.63 9.474L4.006 7.1l.17-.1c-.404-.566-.644-1.26-.644-2.01.002-1.92 1.56-3.476 3.478-3.476 1.92 0 3.478 1.557 3.478 3.478 0 1.92-1.557 3.477-3.478 3.477-.75 0-1.442-.24-2.01-.646l-.098.17-2.375 2.373c-.19.188-.543.142-.79-.105s-.293-.6-.104-.79zm5.378-2.27c1.22 0 2.213-.99 2.213-2.213 0-1.22-.99-2.21-2.21-2.21-1.222 0-2.213.99-2.213 2.213S5.79 7.207 7.01 7.207z"/>
     </g>
 </svg>
index 03aeb51..48af33a 100644 (file)
@@ -29,7 +29,7 @@
                        "lang": {
                                "ar": "images/icons/bold-arab-ain.svg",
                                "be": "images/icons/bold-cyrl-te.svg",
-                               "cs,en,he,ml,pl": "images/icons/bold-b.svg",
+                               "cs,en,he,ml,pl,sco": "images/icons/bold-b.svg",
                                "da,de,hu,ksh,nn,no,sv": "images/icons/bold-f.svg",
                                "es,gl,pt": "images/icons/bold-n.svg",
                                "eu,fi": "images/icons/bold-l.svg",
@@ -46,7 +46,7 @@
                        "default": "images/icons/italic-a.svg",
                        "lang": {
                                        "ar": "images/icons/italic-arab-meem.svg",
-                                       "cs,en,fr,he,ml,pl,pt": "images/icons/italic-i.svg",
+                                       "cs,en,fr,he,ml,pl,pt,sco": "images/icons/italic-i.svg",
                                        "be,da,de,fi,ky,nn,no,os,sv,ru": "images/icons/italic-k.svg",
                                        "es,gl,it,nl": "images/icons/italic-c.svg",
                                        "eu": "images/icons/italic-e.svg",
index a311de0..f351b5b 100644 (file)
@@ -50,6 +50,7 @@
                        "ltr": "images/icons/move-ltr.svg",
                        "rtl": "images/icons/move-rtl.svg"
                } },
+               "notice": { "file": "images/icons/notice.svg" },
                "picture": { "file": "images/icons/picture.svg" },
                "previous": { "file": {
                        "ltr": "images/icons/move-rtl.svg",
index 74cf62b..4f786c5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced-invert.png differ
index 855b7b8..a0f0670 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
-    <path d="M20 13.44v-2.88l-1.8-.3c-.1-.397-.3-.794-.6-1.39l1.1-1.49-2.1-2.088-1.5 1.093c-.5-.298-1-.497-1.4-.596L13.5 4h-2.9l-.3 1.79c-.5.098-.9.297-1.4.595L7.4 5.292 5.3 7.38l1 1.49c-.3.496-.4.894-.6 1.39l-1.7.2v2.882l1.8.298c.1.497.3.894.6 1.39l-1 1.492 2.1 2.087 1.5-.995c.4.2.9.397 1.4.596l.3 1.79h3l.3-1.79c.5-.098.9-.297 1.4-.595l1.5 1.093L19 16.62l-1.1-1.49c.3-.496.5-.993.6-1.39l1.5-.3zm-8 1.492c-1.7 0-3-1.292-3-2.982 0-1.69 1.3-2.98 3-2.98s3 1.29 3 2.98-1.3 2.982-3 2.982z"/>
+    <path d="M20 13.44v-2.88l-1.8-.3c-.1-.397-.3-.794-.6-1.39l1.1-1.49-2.1-2.088-1.5 1.093c-.5-.298-1-.497-1.4-.596L13.5 4h-2.9l-.3 1.79c-.5.098-.9.297-1.4.595L7.4 5.292 5.3 7.38l1 1.49c-.3.496-.4.894-.6 1.39l-1.7.2v2.882l1.8.298c.1.497.3.894.6 1.39l-1 1.492 2.1 2.087 1.5-.997c.4.2.9.397 1.4.596l.3 1.79h3l.3-1.79c.5-.1.9-.298 1.4-.596l1.5 1.093L19 16.62l-1.1-1.49c.3-.496.5-.993.6-1.39l1.5-.3zm-8 1.492c-1.7 0-3-1.292-3-2.982 0-1.69 1.3-2.98 3-2.98s3 1.29 3 2.98-1.3 2.982-3 2.982z"/>
 </svg>
index c486b98..1358969 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced.png differ
index cdf07b2..d0bd78b 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <path d="M20 13.44v-2.88l-1.8-.3c-.1-.397-.3-.794-.6-1.39l1.1-1.49-2.1-2.088-1.5 1.093c-.5-.298-1-.497-1.4-.596L13.5 4h-2.9l-.3 1.79c-.5.098-.9.297-1.4.595L7.4 5.292 5.3 7.38l1 1.49c-.3.496-.4.894-.6 1.39l-1.7.2v2.882l1.8.298c.1.497.3.894.6 1.39l-1 1.492 2.1 2.087 1.5-.995c.4.2.9.397 1.4.596l.3 1.79h3l.3-1.79c.5-.098.9-.297 1.4-.595l1.5 1.093L19 16.62l-1.1-1.49c.3-.496.5-.993.6-1.39l1.5-.3zm-8 1.492c-1.7 0-3-1.292-3-2.982 0-1.69 1.3-2.98 3-2.98s3 1.29 3 2.98-1.3 2.982-3 2.982z"/>
+    <path d="M20 13.44v-2.88l-1.8-.3c-.1-.397-.3-.794-.6-1.39l1.1-1.49-2.1-2.088-1.5 1.093c-.5-.298-1-.497-1.4-.596L13.5 4h-2.9l-.3 1.79c-.5.098-.9.297-1.4.595L7.4 5.292 5.3 7.38l1 1.49c-.3.496-.4.894-.6 1.39l-1.7.2v2.882l1.8.298c.1.497.3.894.6 1.39l-1 1.492 2.1 2.087 1.5-.997c.4.2.9.397 1.4.596l.3 1.79h3l.3-1.79c.5-.1.9-.298 1.4-.596l1.5 1.093L19 16.62l-1.1-1.49c.3-.496.5-.993.6-1.39l1.5-.3zm-8 1.492c-1.7 0-3-1.292-3-2.982 0-1.69 1.3-2.98 3-2.98s3 1.29 3 2.98-1.3 2.982-3 2.982z"/>
 </svg>
index 5440113..6071d88 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-invert.png differ
index d743519..55621b9 100644 (file)
@@ -3,6 +3,6 @@
     <g id="alert">
         <path id="point" d="M11 16h2v2h-2z"/>
         <path id="stroke" d="M13.516 10h-3L11 15h2z"/>
-        <path id="triangle" d="M12.017 5.974L19.537 19H4.496l7.52-13.026m0-2.474c-.544 0-1.088.357-1.5 1.07L2.532 18.403c-.825 1.43-.15 2.598 1.5 2.598H20c1.65 0 2.325-1.17 1.5-2.6L13.517 4.573c-.413-.715-.956-1.072-1.5-1.072z"/>
+        <path id="triangle" d="M12.017 5.974L19.537 19H4.497l7.52-13.026m0-2.474c-.545 0-1.09.357-1.5 1.07L2.53 18.403C1.705 19.833 2.38 21 4.03 21H20c1.65 0 2.325-1.17 1.5-2.6L13.517 4.575c-.413-.715-.956-1.072-1.5-1.072z"/>
     </g>
 </svg>
index fcf98c5..82bcd06 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-warning.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-warning.png differ
index 1daa91f..bdf0ac2 100644 (file)
@@ -3,6 +3,6 @@
     <g id="alert">
         <path id="point" d="M11 16h2v2h-2z"/>
         <path id="stroke" d="M13.516 10h-3L11 15h2z"/>
-        <path id="triangle" d="M12.017 5.974L19.537 19H4.496l7.52-13.026m0-2.474c-.544 0-1.088.357-1.5 1.07L2.532 18.403c-.825 1.43-.15 2.598 1.5 2.598H20c1.65 0 2.325-1.17 1.5-2.6L13.517 4.573c-.413-.715-.956-1.072-1.5-1.072z"/>
+        <path id="triangle" d="M12.017 5.974L19.537 19H4.497l7.52-13.026m0-2.474c-.545 0-1.09.357-1.5 1.07L2.53 18.403C1.705 19.833 2.38 21 4.03 21H20c1.65 0 2.325-1.17 1.5-2.6L13.517 4.575c-.413-.715-.956-1.072-1.5-1.072z"/>
     </g>
 </svg>
index e98a14a..98e94fb 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert.png differ
index 42a4bf6..8b601d5 100644 (file)
@@ -3,6 +3,6 @@
     <g id="alert">
         <path id="point" d="M11 16h2v2h-2z"/>
         <path id="stroke" d="M13.516 10h-3L11 15h2z"/>
-        <path id="triangle" d="M12.017 5.974L19.537 19H4.496l7.52-13.026m0-2.474c-.544 0-1.088.357-1.5 1.07L2.532 18.403c-.825 1.43-.15 2.598 1.5 2.598H20c1.65 0 2.325-1.17 1.5-2.6L13.517 4.573c-.413-.715-.956-1.072-1.5-1.072z"/>
+        <path id="triangle" d="M12.017 5.974L19.537 19H4.497l7.52-13.026m0-2.474c-.545 0-1.09.357-1.5 1.07L2.53 18.403C1.705 19.833 2.38 21 4.03 21H20c1.65 0 2.325-1.17 1.5-2.6L13.517 4.575c-.413-.715-.956-1.072-1.5-1.072z"/>
     </g>
 </svg>
index d46c11a..b498481 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain-invert.png differ
index da076ed..4363d3e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="bold-arab-ain">
-        <path id="arab-ain" d="M9.337 13.616c0 1.35 1.386 2.1 4.16 2.258l2.186-.03.318.045c-.03.126-.25.344-.664.65l-.09.067c-1.235.93-2.422 1.393-3.56 1.393-1.142 0-2.045-.33-2.71-.99-.65-.66-.975-1.56-.975-2.698.006-1.354.567-2.573 1.685-3.658v-.044l-.606-.55c-.15-.18-.223-.39-.223-.63 0-.49.24-1.11.717-1.862.65-1.046 1.303-1.566 1.958-1.56.886.004 1.618.42 2.194 1.245.325.48-.03.552-1.064.22-.842-.327-1.527-.05-2.054.828l.015.074 1.123.865.052.006c1.404-.498 2.418-.74 3.043-.726-.058.117-.14.362-.243.733-.103.357-.204.684-.303.982l-.126.374-.384.05c-1.743.24-2.992.716-3.745 1.43-.464.463-.698.972-.703 1.524"/>
+        <path id="arab-ain" d="M9.337 13.616c0 1.35 1.386 2.1 4.16 2.258l2.186-.03.318.045c-.03.124-.25.342-.662.65l-.09.065c-1.235.93-2.422 1.393-3.56 1.393-1.142 0-2.045-.33-2.71-.99-.65-.66-.975-1.56-.975-2.7.006-1.353.567-2.572 1.685-3.657v-.043l-.606-.55c-.15-.18-.222-.39-.222-.63 0-.49.24-1.11.717-1.863.65-1.046 1.303-1.566 1.958-1.56.886.004 1.618.42 2.194 1.245.324.48-.03.55-1.065.22-.842-.328-1.527-.05-2.054.827l.015.074 1.123.866.052.005c1.403-.497 2.417-.74 3.042-.725-.058.116-.14.36-.243.732-.105.357-.206.684-.305.982l-.126.373-.385.05c-1.743.24-2.992.716-3.745 1.43-.463.463-.697.972-.702 1.524"/>
     </g>
 </svg>
index c2addd8..ad07634 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain.png differ
index ad6b3e4..2f0edb7 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-arab-ain">
-        <path id="arab-ain" d="M9.337 13.616c0 1.35 1.386 2.1 4.16 2.258l2.186-.03.318.045c-.03.126-.25.344-.664.65l-.09.067c-1.235.93-2.422 1.393-3.56 1.393-1.142 0-2.045-.33-2.71-.99-.65-.66-.975-1.56-.975-2.698.006-1.354.567-2.573 1.685-3.658v-.044l-.606-.55c-.15-.18-.223-.39-.223-.63 0-.49.24-1.11.717-1.862.65-1.046 1.303-1.566 1.958-1.56.886.004 1.618.42 2.194 1.245.325.48-.03.552-1.064.22-.842-.327-1.527-.05-2.054.828l.015.074 1.123.865.052.006c1.404-.498 2.418-.74 3.043-.726-.058.117-.14.362-.243.733-.103.357-.204.684-.303.982l-.126.374-.384.05c-1.743.24-2.992.716-3.745 1.43-.464.463-.698.972-.703 1.524"/>
+        <path id="arab-ain" d="M9.337 13.616c0 1.35 1.386 2.1 4.16 2.258l2.186-.03.318.045c-.03.124-.25.342-.662.65l-.09.065c-1.235.93-2.422 1.393-3.56 1.393-1.142 0-2.045-.33-2.71-.99-.65-.66-.975-1.56-.975-2.7.006-1.353.567-2.572 1.685-3.657v-.043l-.606-.55c-.15-.18-.222-.39-.222-.63 0-.49.24-1.11.717-1.863.65-1.046 1.303-1.566 1.958-1.56.886.004 1.618.42 2.194 1.245.324.48-.03.55-1.065.22-.842-.328-1.527-.05-2.054.827l.015.074 1.123.866.052.005c1.403-.497 2.417-.74 3.042-.725-.058.116-.14.36-.243.732-.105.357-.206.684-.305.982l-.126.373-.385.05c-1.743.24-2.992.716-3.745 1.43-.463.463-.697.972-.702 1.524"/>
     </g>
 </svg>
index eb0121d..42518e7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad-invert.png differ
index 6493657..6a2a9e3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="bold-arab-dad">
-        <path id="arab-dad" d="M16.41 8.232l-1.675-.665L15.43 6l1.687.64-.707 1.592m.775 3.078c-.51-.286-1-.427-1.476-.423-.472 0-.983.205-1.533.616l-.506.38.007.024c1.084.066 1.934.1 2.55.1h.314c.568-.022.993-.065 1.277-.132-.067-.17-.275-.36-.625-.566h-.006m-6.803 3.295c-.017-.904-.33-1.87-.938-2.898l1.294-1.73.118.15c.267.336.504.924.713 1.766l.064.05c.496-.008.942-.17 1.338-.485v-.006l1.732-1.53c.68-.6 1.282-.902 1.807-.902.384.004.85.195 1.395.572.55.377.884.696 1 .958.063.15.094.386.094.71 0 .695-.11 1.228-.332 1.597-.192.31-.473.555-.844.734-.438.208-1.55.312-3.333.312-.8 0-1.794-.02-2.982-.062l-.144.43c-.254.67-.463 1.112-.625 1.323-.726.937-1.787 1.405-3.184 1.405C5.85 16.99 5 16.076 5 14.256c.003-.94.278-1.814.824-2.618.15-.216.298-.367.444-.454.225-.133.288-.09.188.124-.396.862-.596 1.548-.6 2.058.008 1.177.752 1.768 2.232 1.772 1.038-.004 1.803-.182 2.295-.535"/>
+        <path id="arab-dad" d="M16.41 8.232l-1.675-.665L15.43 6l1.687.64-.707 1.592m.775 3.078c-.51-.286-1-.427-1.476-.423-.474 0-.985.205-1.535.616l-.506.38.006.024c1.084.066 1.934.1 2.55.1h.314c.57-.022.994-.065 1.278-.132-.067-.17-.275-.36-.625-.566h-.006m-6.803 3.293c-.017-.904-.33-1.87-.938-2.898l1.294-1.73.118.15c.267.336.504.924.713 1.766l.066.05c.496-.007.942-.17 1.338-.484v-.006l1.732-1.53c.68-.6 1.282-.9 1.807-.9.384.003.85.194 1.395.57.55.378.884.697 1 .96.063.15.094.385.094.71 0 .694-.11 1.227-.33 1.596-.193.31-.474.555-.845.734-.438.208-1.55.312-3.333.312-.8 0-1.794-.02-2.982-.062l-.144.43c-.254.67-.463 1.112-.625 1.323-.725.937-1.786 1.405-3.183 1.405C5.85 16.99 5 16.076 5 14.256c.003-.94.278-1.814.824-2.618.15-.216.298-.367.444-.454.225-.133.288-.09.188.124-.396.862-.596 1.548-.6 2.058.008 1.177.752 1.768 2.232 1.772 1.038-.004 1.803-.182 2.295-.535"/>
     </g>
 </svg>
index ed491f3..0ade40c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad.png differ
index 27108e2..ba7ffe1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-arab-dad">
-        <path id="arab-dad" d="M16.41 8.232l-1.675-.665L15.43 6l1.687.64-.707 1.592m.775 3.078c-.51-.286-1-.427-1.476-.423-.472 0-.983.205-1.533.616l-.506.38.007.024c1.084.066 1.934.1 2.55.1h.314c.568-.022.993-.065 1.277-.132-.067-.17-.275-.36-.625-.566h-.006m-6.803 3.295c-.017-.904-.33-1.87-.938-2.898l1.294-1.73.118.15c.267.336.504.924.713 1.766l.064.05c.496-.008.942-.17 1.338-.485v-.006l1.732-1.53c.68-.6 1.282-.902 1.807-.902.384.004.85.195 1.395.572.55.377.884.696 1 .958.063.15.094.386.094.71 0 .695-.11 1.228-.332 1.597-.192.31-.473.555-.844.734-.438.208-1.55.312-3.333.312-.8 0-1.794-.02-2.982-.062l-.144.43c-.254.67-.463 1.112-.625 1.323-.726.937-1.787 1.405-3.184 1.405C5.85 16.99 5 16.076 5 14.256c.003-.94.278-1.814.824-2.618.15-.216.298-.367.444-.454.225-.133.288-.09.188.124-.396.862-.596 1.548-.6 2.058.008 1.177.752 1.768 2.232 1.772 1.038-.004 1.803-.182 2.295-.535"/>
+        <path id="arab-dad" d="M16.41 8.232l-1.675-.665L15.43 6l1.687.64-.707 1.592m.775 3.078c-.51-.286-1-.427-1.476-.423-.474 0-.985.205-1.535.616l-.506.38.006.024c1.084.066 1.934.1 2.55.1h.314c.57-.022.994-.065 1.278-.132-.067-.17-.275-.36-.625-.566h-.006m-6.803 3.293c-.017-.904-.33-1.87-.938-2.898l1.294-1.73.118.15c.267.336.504.924.713 1.766l.066.05c.496-.007.942-.17 1.338-.484v-.006l1.732-1.53c.68-.6 1.282-.9 1.807-.9.384.003.85.194 1.395.57.55.378.884.697 1 .96.063.15.094.385.094.71 0 .694-.11 1.227-.33 1.596-.193.31-.474.555-.845.734-.438.208-1.55.312-3.333.312-.8 0-1.794-.02-2.982-.062l-.144.43c-.254.67-.463 1.112-.625 1.323-.725.937-1.786 1.405-3.183 1.405C5.85 16.99 5 16.076 5 14.256c.003-.94.278-1.814.824-2.618.15-.216.298-.367.444-.454.225-.133.288-.09.188.124-.396.862-.596 1.548-.6 2.058.008 1.177.752 1.768 2.232 1.772 1.038-.004 1.803-.182 2.295-.535"/>
     </g>
 </svg>
index 4dcdaa2..c11de3e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to-invert.png differ
index 6396571..e3a0813 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="bold-armn-to">
-        <path id="armn-to" d="M13.86 16.257c.124 0 .254-.026.39-.078.135-.06.257-.15.367-.275.114-.13.205-.302.273-.516.073-.214.11-.48.11-.798V13h-1.14c-.14 0-.284.026-.43.078-.14.047-.27.133-.383.258-.11.125-.2.294-.274.508-.067.213-.1.487-.1.82 0 .34.035.47.108.695.08.217.176.394.29.53.12.135.248.23.384.29.14.05.276.076.406.076m-2.97-7.84c-.37.082-.695.247-.976.45-.28.198-.505.47-.672.813-.16.342-.242.78-.242 1.31V18H6v-7.188c0-.776.15-1.455.453-2.04.302-.587.714-1.077 1.234-1.467.52-.39 1.13-.685 1.83-.883.697-.198 1.44-.297 2.225-.297.526 0 1.04.044 1.54.133.504.088.98.22 1.43.398.447.172.858.388 1.233.65.375.26.698.564.97.913.275.347.49.737.64 1.17.15.432.226 1.093.226 1.61h1.354v2.04H17.78v1.6c0 .58-.103 1.09-.31 1.54-.21.44-.49.814-.845 1.116-.35.302-.834.53-1.297.687-.464.15-.953.226-1.47.226-.51 0-.996-.08-1.46-.235-.464-.156-.87-.39-1.22-.703-.348-.313-.626-.703-.835-1.172-.203-.473-.304-1.028-.304-1.663s.104-1.182.32-1.64c.212-.46.496-.685.85-.977.354-.297.76-.513 1.22-.648.457-.14.934-.21 1.43-.21h1.13c-.01-.49-.04-1.043-.24-1.36-.2-.323-.454-.58-.767-.766-.312-.193-.598-.332-.984-.426-.375-.09-.578-.094-1.1-.094-.52 0-.64.02-1.01.102z"/>
+        <path id="armn-to" d="M13.86 16.257c.124 0 .254-.026.39-.078.135-.06.257-.15.367-.277.114-.13.205-.302.273-.516.073-.214.11-.48.11-.798V13h-1.14c-.14 0-.284.026-.43.078-.14.047-.27.133-.383.258-.11.125-.2.294-.274.508-.067.213-.1.487-.1.82 0 .34.035.47.108.695.08.215.178.392.29.53.12.133.25.23.386.29.14.05.276.074.406.074m-2.97-7.84c-.37.082-.694.247-.975.45-.28.198-.505.47-.672.813-.16.342-.242.78-.242 1.31V18H6v-7.188c0-.776.15-1.455.453-2.04.302-.587.714-1.077 1.234-1.467.52-.39 1.13-.685 1.83-.883.697-.198 1.44-.297 2.225-.297.526 0 1.04.044 1.54.133.504.088.98.22 1.43.398.447.172.858.388 1.233.65.375.26.698.564.97.913.275.345.49.735.64 1.17.15.43.226 1.09.226 1.61h1.356v2.04H17.78v1.6c0 .58-.103 1.09-.31 1.54-.21.44-.49.812-.845 1.114-.35.302-.834.53-1.297.687-.464.15-.953.227-1.47.227-.51 0-.996-.08-1.46-.235-.464-.156-.87-.39-1.22-.703-.348-.314-.626-.704-.835-1.173-.203-.473-.304-1.028-.304-1.663s.102-1.182.32-1.64c.21-.46.494-.685.85-.977.352-.297.76-.513 1.22-.648.455-.14.932-.21 1.43-.21h1.13c-.01-.49-.04-1.044-.24-1.36-.2-.324-.456-.58-.77-.767-.31-.193-.597-.332-.983-.426-.375-.09-.578-.094-1.1-.094-.52 0-.64.02-1.01.102z"/>
     </g>
 </svg>
index 718accb..0a16f8c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to.png differ
index b55042a..0dc8b52 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-armn-to">
-        <path id="armn-to" d="M13.86 16.257c.124 0 .254-.026.39-.078.135-.06.257-.15.367-.275.114-.13.205-.302.273-.516.073-.214.11-.48.11-.798V13h-1.14c-.14 0-.284.026-.43.078-.14.047-.27.133-.383.258-.11.125-.2.294-.274.508-.067.213-.1.487-.1.82 0 .34.035.47.108.695.08.217.176.394.29.53.12.135.248.23.384.29.14.05.276.076.406.076m-2.97-7.84c-.37.082-.695.247-.976.45-.28.198-.505.47-.672.813-.16.342-.242.78-.242 1.31V18H6v-7.188c0-.776.15-1.455.453-2.04.302-.587.714-1.077 1.234-1.467.52-.39 1.13-.685 1.83-.883.697-.198 1.44-.297 2.225-.297.526 0 1.04.044 1.54.133.504.088.98.22 1.43.398.447.172.858.388 1.233.65.375.26.698.564.97.913.275.347.49.737.64 1.17.15.432.226 1.093.226 1.61h1.354v2.04H17.78v1.6c0 .58-.103 1.09-.31 1.54-.21.44-.49.814-.845 1.116-.35.302-.834.53-1.297.687-.464.15-.953.226-1.47.226-.51 0-.996-.08-1.46-.235-.464-.156-.87-.39-1.22-.703-.348-.313-.626-.703-.835-1.172-.203-.473-.304-1.028-.304-1.663s.104-1.182.32-1.64c.212-.46.496-.685.85-.977.354-.297.76-.513 1.22-.648.457-.14.934-.21 1.43-.21h1.13c-.01-.49-.04-1.043-.24-1.36-.2-.323-.454-.58-.767-.766-.312-.193-.598-.332-.984-.426-.375-.09-.578-.094-1.1-.094-.52 0-.64.02-1.01.102z"/>
+        <path id="armn-to" d="M13.86 16.257c.124 0 .254-.026.39-.078.135-.06.257-.15.367-.277.114-.13.205-.302.273-.516.073-.214.11-.48.11-.798V13h-1.14c-.14 0-.284.026-.43.078-.14.047-.27.133-.383.258-.11.125-.2.294-.274.508-.067.213-.1.487-.1.82 0 .34.035.47.108.695.08.215.178.392.29.53.12.133.25.23.386.29.14.05.276.074.406.074m-2.97-7.84c-.37.082-.694.247-.975.45-.28.198-.505.47-.672.813-.16.342-.242.78-.242 1.31V18H6v-7.188c0-.776.15-1.455.453-2.04.302-.587.714-1.077 1.234-1.467.52-.39 1.13-.685 1.83-.883.697-.198 1.44-.297 2.225-.297.526 0 1.04.044 1.54.133.504.088.98.22 1.43.398.447.172.858.388 1.233.65.375.26.698.564.97.913.275.345.49.735.64 1.17.15.43.226 1.09.226 1.61h1.356v2.04H17.78v1.6c0 .58-.103 1.09-.31 1.54-.21.44-.49.812-.845 1.114-.35.302-.834.53-1.297.687-.464.15-.953.227-1.47.227-.51 0-.996-.08-1.46-.235-.464-.156-.87-.39-1.22-.703-.348-.314-.626-.704-.835-1.173-.203-.473-.304-1.028-.304-1.663s.102-1.182.32-1.64c.21-.46.494-.685.85-.977.352-.297.76-.513 1.22-.648.455-.14.932-.21 1.43-.21h1.13c-.01-.49-.04-1.044-.24-1.36-.2-.324-.456-.58-.77-.767-.31-.193-.597-.332-.983-.426-.375-.09-.578-.094-1.1-.094-.52 0-.64.02-1.01.102z"/>
     </g>
 </svg>
index 92aff6d..5716249 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="bold-cyrl-be">
-        <path id="cyrl-be" d="M7 6h9v2h-6v3h2.65c.892 0 1.632.11 2.22.327.587.218 1.087.622 1.5 1.21.42.59.63 1.188.63 1.98 0 .812-.21 1.397-.63 1.976-.418.578-.897.974-1.436 1.187-.533.213-1.295.32-2.286.32h-5.65m4.768-2c.75 0 1.28-.05 1.584-.12.305-.077.57-.247.792-.51.23-.26.343-.472.343-.854 0-.557-.2-.868-.596-1.12-.393-.255-1.065-.397-2.017-.397H10v3"/>
+        <path id="cyrl-be" d="M7 6h9v2h-6v3h2.65c.892 0 1.632.11 2.22.327.587.218 1.087.622 1.5 1.21.42.59.63 1.188.63 1.98 0 .812-.21 1.397-.63 1.976-.418.578-.897.974-1.436 1.187-.533.213-1.295.32-2.286.32h-5.65m4.768-2c.75 0 1.28-.05 1.584-.12.305-.077.57-.247.792-.51.23-.26.343-.472.343-.854 0-.557-.2-.868-.596-1.12-.395-.255-1.067-.397-2.02-.397H10v3"/>
     </g>
 </svg>
index 5c6f8c0..d87d0fc 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-cyrl-be">
-        <path id="cyrl-be" d="M7 6h9v2h-6v3h2.65c.892 0 1.632.11 2.22.327.587.218 1.087.622 1.5 1.21.42.59.63 1.188.63 1.98 0 .812-.21 1.397-.63 1.976-.418.578-.897.974-1.436 1.187-.533.213-1.295.32-2.286.32h-5.65m4.768-2c.75 0 1.28-.05 1.584-.12.305-.077.57-.247.792-.51.23-.26.343-.472.343-.854 0-.557-.2-.868-.596-1.12-.393-.255-1.065-.397-2.017-.397H10v3"/>
+        <path id="cyrl-be" d="M7 6h9v2h-6v3h2.65c.892 0 1.632.11 2.22.327.587.218 1.087.622 1.5 1.21.42.59.63 1.188.63 1.98 0 .812-.21 1.397-.63 1.976-.418.578-.897.974-1.436 1.187-.533.213-1.295.32-2.286.32h-5.65m4.768-2c.75 0 1.28-.05 1.584-.12.305-.077.57-.247.792-.51.23-.26.343-.472.343-.854 0-.557-.2-.868-.596-1.12-.395-.255-1.067-.397-2.02-.397H10v3"/>
     </g>
 </svg>
index b9154e5..e9cc60f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe-invert.png differ
index 98f4b55..6085d9c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="bold-cyrl-zhe">
-        <path id="cyrl-zhe" d="M13 6v5.154c.328-.033.537-.18.705-.447.168-.266.4-.873.698-1.82.39-1.242.79-2.034 1.197-2.375.403-.336 1.075-.504 2.014-.504L18 6v1.78l-.386-.008c-.4 0-.69.062-.878.187-.186.118-.337.303-.452.552-.115.25-.286.762-.512 1.537-.12.41-.25.755-.392 1.032-.137.276-.383.537-.738.78.44.157.8.466 1.084.927.288.454.603 1.102.944 1.942L18 18h-2.314l-1.17-3.08-.113-.253-.24-.56c-.247-.57-.45-.933-.61-1.09-.16-.157-.318-.236-.553-.236V18h-2v-5.22c-.226 0-.382.077-.546.23-.164.15-.368.517-.612 1.097l-.246.56-.113.253L8.313 18H6l1.33-3.267c.327-.808.635-1.447.923-1.92.293-.476.663-.793 1.11-.95-.355-.244-.603-.5-.745-.772-.137-.275-.268-.622-.392-1.04-.222-.76-.39-1.266-.505-1.52-.11-.255-.26-.444-.45-.57-.187-.124-.493-.186-.918-.186L6 7.782v-1.78l.386.008c.953 0 1.63.17 2.034.512.4.347.79 1.136 1.177 2.366.3.954.534 1.564.698 1.83.168.26.377.405.705.438V6.002"/>
+        <path id="cyrl-zhe" d="M13 6v5.154c.328-.033.537-.18.705-.447.168-.266.4-.873.698-1.82.39-1.242.79-2.034 1.197-2.375.403-.336 1.075-.504 2.014-.504L18 6v1.78l-.386-.008c-.4 0-.69.062-.878.187-.186.116-.337.3-.452.55-.115.25-.286.762-.512 1.537-.12.41-.25.755-.392 1.032-.137.275-.383.536-.738.78.44.156.8.465 1.084.926.288.454.603 1.102.944 1.942L18 18h-2.314l-1.17-3.08-.113-.253-.24-.56c-.247-.57-.45-.933-.61-1.09-.16-.157-.318-.236-.553-.236V18h-2v-5.22c-.226 0-.382.077-.546.23-.164.15-.368.517-.612 1.097l-.246.56-.113.253L8.313 18H6l1.33-3.267c.327-.808.635-1.447.923-1.92.293-.476.663-.793 1.11-.95-.355-.244-.603-.5-.745-.772-.137-.273-.268-.62-.392-1.04-.222-.76-.39-1.264-.505-1.52-.11-.253-.26-.442-.45-.57-.185-.122-.49-.184-.916-.184L6 7.782v-1.78l.386.008c.953 0 1.63.17 2.034.512.4.347.79 1.136 1.177 2.366.3.954.534 1.564.698 1.83.168.26.377.405.705.438V6.002"/>
     </g>
 </svg>
index cfe0009..41e562b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe.png differ
index d26bdf6..3c0a879 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-cyrl-zhe">
-        <path id="cyrl-zhe" d="M13 6v5.154c.328-.033.537-.18.705-.447.168-.266.4-.873.698-1.82.39-1.242.79-2.034 1.197-2.375.403-.336 1.075-.504 2.014-.504L18 6v1.78l-.386-.008c-.4 0-.69.062-.878.187-.186.118-.337.303-.452.552-.115.25-.286.762-.512 1.537-.12.41-.25.755-.392 1.032-.137.276-.383.537-.738.78.44.157.8.466 1.084.927.288.454.603 1.102.944 1.942L18 18h-2.314l-1.17-3.08-.113-.253-.24-.56c-.247-.57-.45-.933-.61-1.09-.16-.157-.318-.236-.553-.236V18h-2v-5.22c-.226 0-.382.077-.546.23-.164.15-.368.517-.612 1.097l-.246.56-.113.253L8.313 18H6l1.33-3.267c.327-.808.635-1.447.923-1.92.293-.476.663-.793 1.11-.95-.355-.244-.603-.5-.745-.772-.137-.275-.268-.622-.392-1.04-.222-.76-.39-1.266-.505-1.52-.11-.255-.26-.444-.45-.57-.187-.124-.493-.186-.918-.186L6 7.782v-1.78l.386.008c.953 0 1.63.17 2.034.512.4.347.79 1.136 1.177 2.366.3.954.534 1.564.698 1.83.168.26.377.405.705.438V6.002"/>
+        <path id="cyrl-zhe" d="M13 6v5.154c.328-.033.537-.18.705-.447.168-.266.4-.873.698-1.82.39-1.242.79-2.034 1.197-2.375.403-.336 1.075-.504 2.014-.504L18 6v1.78l-.386-.008c-.4 0-.69.062-.878.187-.186.116-.337.3-.452.55-.115.25-.286.762-.512 1.537-.12.41-.25.755-.392 1.032-.137.275-.383.536-.738.78.44.156.8.465 1.084.926.288.454.603 1.102.944 1.942L18 18h-2.314l-1.17-3.08-.113-.253-.24-.56c-.247-.57-.45-.933-.61-1.09-.16-.157-.318-.236-.553-.236V18h-2v-5.22c-.226 0-.382.077-.546.23-.164.15-.368.517-.612 1.097l-.246.56-.113.253L8.313 18H6l1.33-3.267c.327-.808.635-1.447.923-1.92.293-.476.663-.793 1.11-.95-.355-.244-.603-.5-.745-.772-.137-.273-.268-.62-.392-1.04-.222-.76-.39-1.264-.505-1.52-.11-.253-.26-.442-.45-.57-.185-.122-.49-.184-.916-.184L6 7.782v-1.78l.386.008c.953 0 1.63.17 2.034.512.4.347.79 1.136 1.177 2.366.3.954.534 1.564.698 1.83.168.26.377.405.705.438V6.002"/>
     </g>
 </svg>
index 37fd2b3..18de673 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g-invert.png differ
index 0efd55a..c840c51 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="bold-g">
-        <path id="g" d="M12 14v-2h5v4.203c-.497.475-1.22.894-2.166 1.26-.94.358-1.896.537-2.864.537-1.23 0-2.303-.253-3.217-.76-.915-.512-1.602-1.24-2.062-2.185-.46-.95-.69-1.982-.69-3.095 0-1.208.258-2.282.77-3.222.514-.94 1.266-1.66 2.256-2.16.754-.386 1.693-.58 2.816-.58 1.46 0 2.6.304 3.418.91.824.603 1.353 1.436 1.59 2.502l-2.36.435c-.166-.57-.48-1.018-.94-1.346-.454-.333-1.023-.5-1.708-.5-1.038 0-1.864.325-2.48.974-.61.65-.914 1.612-.914 2.89 0 1.376.31 2.41.93 3.102.62.686 1.434 1.03 2.44 1.03.497 0 .995-.096 1.492-.286.503-.195 1.332-.57 1.69-.845v-.867"/>
+        <path id="g" d="M12 14v-2h5v4.203c-.497.475-1.22.894-2.166 1.26-.94.358-1.896.537-2.864.537-1.23 0-2.303-.253-3.217-.76-.915-.512-1.602-1.24-2.062-2.185-.46-.95-.69-1.982-.69-3.095 0-1.208.26-2.282.77-3.222.516-.94 1.268-1.66 2.258-2.16.754-.386 1.693-.58 2.816-.58 1.46 0 2.6.304 3.418.91.825.603 1.354 1.436 1.59 2.502l-2.36.435c-.165-.57-.48-1.018-.94-1.346-.453-.335-1.022-.5-1.707-.5-1.038 0-1.864.323-2.48.972-.61.65-.914 1.612-.914 2.89 0 1.376.31 2.41.93 3.102.62.686 1.434 1.03 2.44 1.03.497 0 .995-.096 1.49-.286.505-.196 1.334-.57 1.69-.846v-.867"/>
     </g>
 </svg>
index ceb792b..e809453 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g.png differ
index dd6e27a..277f17e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="bold-g">
-        <path id="g" d="M12 14v-2h5v4.203c-.497.475-1.22.894-2.166 1.26-.94.358-1.896.537-2.864.537-1.23 0-2.303-.253-3.217-.76-.915-.512-1.602-1.24-2.062-2.185-.46-.95-.69-1.982-.69-3.095 0-1.208.258-2.282.77-3.222.514-.94 1.266-1.66 2.256-2.16.754-.386 1.693-.58 2.816-.58 1.46 0 2.6.304 3.418.91.824.603 1.353 1.436 1.59 2.502l-2.36.435c-.166-.57-.48-1.018-.94-1.346-.454-.333-1.023-.5-1.708-.5-1.038 0-1.864.325-2.48.974-.61.65-.914 1.612-.914 2.89 0 1.376.31 2.41.93 3.102.62.686 1.434 1.03 2.44 1.03.497 0 .995-.096 1.492-.286.503-.195 1.332-.57 1.69-.845v-.867"/>
+        <path id="g" d="M12 14v-2h5v4.203c-.497.475-1.22.894-2.166 1.26-.94.358-1.896.537-2.864.537-1.23 0-2.303-.253-3.217-.76-.915-.512-1.602-1.24-2.062-2.185-.46-.95-.69-1.982-.69-3.095 0-1.208.26-2.282.77-3.222.516-.94 1.268-1.66 2.258-2.16.754-.386 1.693-.58 2.816-.58 1.46 0 2.6.304 3.418.91.825.603 1.354 1.436 1.59 2.502l-2.36.435c-.165-.57-.48-1.018-.94-1.346-.453-.335-1.022-.5-1.707-.5-1.038 0-1.864.323-2.48.972-.61.65-.914 1.612-.914 2.89 0 1.376.31 2.41.93 3.102.62.686 1.434 1.03 2.44 1.03.497 0 .995-.096 1.49-.286.505-.196 1.334-.57 1.69-.846v-.867"/>
     </g>
 </svg>
index 0858177..44cb3ff 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="cancel">
-        <path id="circle-with-strike" d="M12 5.022C8.145 5.022 5.02 8.146 5.02 12c0 3.853 3.124 6.978 6.977 6.978s6.978-3.125 6.978-6.978c0-3.854-3.125-6.978-6.98-6.978zM6.885 12c0-1.092.572-3.25.93-2.93l7.113 7.114c.487.525-1.838.93-2.93.93-2.826 0-5.114-2.29-5.114-5.114zm9.298 2.93L9.07 7.815c-.445-.483 1.837-.93 2.93-.93 2.826 0 5.114 2.288 5.114 5.113 0 1.092-.364 3.542-.93 2.93z"/>
+        <path id="circle-with-strike" d="M12 5.022c-3.855 0-6.98 3.124-6.98 6.978 0 3.853 3.124 6.978 6.977 6.978s6.978-3.125 6.978-6.978c0-3.854-3.125-6.978-6.98-6.978zM6.885 12c0-1.092.572-3.25.93-2.93l7.113 7.114c.487.525-1.838.93-2.93.93-2.826 0-5.114-2.29-5.114-5.114zm9.298 2.93L9.07 7.815c-.445-.483 1.837-.93 2.93-.93 2.826 0 5.114 2.288 5.114 5.113 0 1.092-.364 3.542-.93 2.93z"/>
     </g>
 </svg>
index 00c8051..5d0bbd9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="cancel">
-        <path id="circle-with-strike" d="M12 5.022C8.145 5.022 5.02 8.146 5.02 12c0 3.853 3.124 6.978 6.977 6.978s6.978-3.125 6.978-6.978c0-3.854-3.125-6.978-6.98-6.978zM6.885 12c0-1.092.572-3.25.93-2.93l7.113 7.114c.487.525-1.838.93-2.93.93-2.826 0-5.114-2.29-5.114-5.114zm9.298 2.93L9.07 7.815c-.445-.483 1.837-.93 2.93-.93 2.826 0 5.114 2.288 5.114 5.113 0 1.092-.364 3.542-.93 2.93z"/>
+        <path id="circle-with-strike" d="M12 5.022c-3.855 0-6.98 3.124-6.98 6.978 0 3.853 3.124 6.978 6.977 6.978s6.978-3.125 6.978-6.978c0-3.854-3.125-6.978-6.98-6.978zM6.885 12c0-1.092.572-3.25.93-2.93l7.113 7.114c.487.525-1.838.93-2.93.93-2.826 0-5.114-2.29-5.114-5.114zm9.298 2.93L9.07 7.815c-.445-.483 1.837-.93 2.93-.93 2.826 0 5.114 2.288 5.114 5.113 0 1.092-.364 3.542-.93 2.93z"/>
     </g>
 </svg>
index b6dd780..1a1ce2e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive-invert.png differ
index d100b44..1708674 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="regular-expression">
-        <path id="upper-case" d="M7.53 7L4 17h2.063l.72-2.406h3.624l.72 2.406h2.062L9.657 7H7.533zm1.064 1.53L9.938 13H7.25l1.344-4.47z"/>
-        <path id="lower-case" d="M18.55 17l-.184-1.035h-.055c-.35.44-.71.747-1.082.92-.368.167-.85.25-1.444.25-.564 0-.955-.208-1.377-.625-.418-.418-.627-1.012-.627-1.784 0-.808.282-1.403.845-1.784.568-.386 1.193-.607 2.208-.64l1.322-.04v-.335c0-.772-.395-1.158-1.186-1.158-.61 0-1.325.183-2.147.55l-.688-1.4c.877-.46 1.85-.69 2.916-.69 1.023 0 1.588.223 2.133.668.545.445.818 1.12.818 2.03V17h-1.45m-.394-3.527l-.804.027c-.604.018-1.054.127-1.35.327-.294.2-.442.504-.442.912 0 .585.336.877 1.008.877.48 0 .865-.138 1.152-.415.29-.277.436-.645.436-1.103v-.627"/>
+        <path id="upper-case" d="M7.53 7L4 17h2.063l.72-2.406h3.624l.72 2.406h2.062L9.655 7H7.533zm1.064 1.53L9.938 13H7.25l1.344-4.47z"/>
+        <path id="lower-case" d="M18.55 17l-.184-1.035h-.055c-.35.44-.71.747-1.08.92-.37.167-.85.25-1.444.25-.564 0-.955-.208-1.377-.625-.42-.418-.628-1.012-.628-1.784 0-.808.283-1.403.846-1.784.568-.386 1.193-.607 2.208-.64l1.322-.04v-.335c0-.772-.395-1.158-1.186-1.158-.61 0-1.325.18-2.147.55l-.688-1.4c.877-.46 1.85-.69 2.916-.69 1.024 0 1.59.22 2.134.666.545.445.818 1.12.818 2.03V17h-1.45m-.394-3.527l-.803.027c-.604.018-1.054.127-1.35.327-.294.2-.442.504-.442.912 0 .583.336.875 1.008.875.48 0 .865-.138 1.152-.415.29-.276.436-.644.436-1.102v-.627"/>
     </g>
 </svg>
index e924c44..1b0a659 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive.png differ
index 3f0a3a5..8de2583 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="regular-expression">
-        <path id="upper-case" d="M7.53 7L4 17h2.063l.72-2.406h3.624l.72 2.406h2.062L9.657 7H7.533zm1.064 1.53L9.938 13H7.25l1.344-4.47z"/>
-        <path id="lower-case" d="M18.55 17l-.184-1.035h-.055c-.35.44-.71.747-1.082.92-.368.167-.85.25-1.444.25-.564 0-.955-.208-1.377-.625-.418-.418-.627-1.012-.627-1.784 0-.808.282-1.403.845-1.784.568-.386 1.193-.607 2.208-.64l1.322-.04v-.335c0-.772-.395-1.158-1.186-1.158-.61 0-1.325.183-2.147.55l-.688-1.4c.877-.46 1.85-.69 2.916-.69 1.023 0 1.588.223 2.133.668.545.445.818 1.12.818 2.03V17h-1.45m-.394-3.527l-.804.027c-.604.018-1.054.127-1.35.327-.294.2-.442.504-.442.912 0 .585.336.877 1.008.877.48 0 .865-.138 1.152-.415.29-.277.436-.645.436-1.103v-.627"/>
+        <path id="upper-case" d="M7.53 7L4 17h2.063l.72-2.406h3.624l.72 2.406h2.062L9.655 7H7.533zm1.064 1.53L9.938 13H7.25l1.344-4.47z"/>
+        <path id="lower-case" d="M18.55 17l-.184-1.035h-.055c-.35.44-.71.747-1.08.92-.37.167-.85.25-1.444.25-.564 0-.955-.208-1.377-.625-.42-.418-.628-1.012-.628-1.784 0-.808.283-1.403.846-1.784.568-.386 1.193-.607 2.208-.64l1.322-.04v-.335c0-.772-.395-1.158-1.186-1.158-.61 0-1.325.18-2.147.55l-.688-1.4c.877-.46 1.85-.69 2.916-.69 1.024 0 1.59.22 2.134.666.545.445.818 1.12.818 2.03V17h-1.45m-.394-3.527l-.803.027c-.604.018-1.054.127-1.35.327-.294.2-.442.504-.442.912 0 .583.336.875 1.008.875.48 0 .865-.138 1.152-.415.29-.276.436-.644.436-1.102v-.627"/>
     </g>
 </svg>
index a816be8..fab61c1 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="code">
-        <path id="left-bracket" d="M4 12v-1h1c1 0 1 0 1-1V7.614c0-.514.024-.896.073-1.142.054-.252.14-.463.257-.633.204-.28.473-.476.808-.585C7.473 5.14 8.01 5 8.973 5H10v1h-.752c-.457 0-.77.19-.936.408C8.145 6.623 8 6.853 8 7.476v1.857c0 .73-.04 1.18-.244 1.493-.2.307-.562.53-1.09.667.535.155.9.385 1.096.688.2.304.238.758.238 1.485v1.862c0 .62.145.848.312 1.062.166.22.48.406.936.406L10 17v1H8.973c-.963 0-1.5-.133-1.835-.248-.335-.11-.604-.307-.808-.59-.118-.166-.203-.375-.257-.626-.05-.253-.073-.636-.073-1.15V13c0-1 0-1-1-1H4z"/>
+        <path id="left-bracket" d="M4 12v-1h1c1 0 1 0 1-1V7.614c0-.514.024-.896.073-1.142.054-.252.14-.463.257-.633.204-.28.473-.478.808-.587C7.473 5.14 8.01 5 8.973 5H10v1h-.752c-.457 0-.77.19-.936.408C8.145 6.623 8 6.853 8 7.476v1.857c0 .73-.04 1.18-.244 1.493-.2.307-.562.53-1.09.667.535.155.9.385 1.096.688.2.306.238.76.238 1.487v1.862c0 .62.145.847.312 1.06.166.22.48.407.936.407L10 17v1H8.973c-.963 0-1.5-.133-1.835-.248-.335-.11-.604-.307-.808-.59-.118-.166-.203-.375-.257-.626-.05-.253-.073-.636-.073-1.15V13c0-1 0-1-1-1H4z"/>
         <use transform="matrix(-1 0 0 1 24 0)" id="right-bracket" width="24" height="24" xlink:href="#left-bracket"/>
     </g>
 </svg>
index 6e32d78..fe5309d 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
     <g id="code">
-        <path id="left-bracket" d="M4 12v-1h1c1 0 1 0 1-1V7.614c0-.514.024-.896.073-1.142.054-.252.14-.463.257-.633.204-.28.473-.476.808-.585C7.473 5.14 8.01 5 8.973 5H10v1h-.752c-.457 0-.77.19-.936.408C8.145 6.623 8 6.853 8 7.476v1.857c0 .73-.04 1.18-.244 1.493-.2.307-.562.53-1.09.667.535.155.9.385 1.096.688.2.304.238.758.238 1.485v1.862c0 .62.145.848.312 1.062.166.22.48.406.936.406L10 17v1H8.973c-.963 0-1.5-.133-1.835-.248-.335-.11-.604-.307-.808-.59-.118-.166-.203-.375-.257-.626-.05-.253-.073-.636-.073-1.15V13c0-1 0-1-1-1H4z"/>
+        <path id="left-bracket" d="M4 12v-1h1c1 0 1 0 1-1V7.614c0-.514.024-.896.073-1.142.054-.252.14-.463.257-.633.204-.28.473-.478.808-.587C7.473 5.14 8.01 5 8.973 5H10v1h-.752c-.457 0-.77.19-.936.408C8.145 6.623 8 6.853 8 7.476v1.857c0 .73-.04 1.18-.244 1.493-.2.307-.562.53-1.09.667.535.155.9.385 1.096.688.2.306.238.76.238 1.487v1.862c0 .62.145.847.312 1.06.166.22.48.407.936.407L10 17v1H8.973c-.963 0-1.5-.133-1.835-.248-.335-.11-.604-.307-.808-.59-.118-.166-.203-.375-.257-.626-.05-.253-.073-.636-.073-1.15V13c0-1 0-1-1-1H4z"/>
         <use transform="matrix(-1 0 0 1 24 0)" id="right-bracket" width="24" height="24" xlink:href="#left-bracket"/>
     </g>
 </svg>
index 30d1021..774d15a 100644 (file)
@@ -2,7 +2,7 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="Layer_2">
         <g id="g184">
-            <path d="M21 4v-1s0-3-3-3-3 3-3 3v1h-1v6h8v-6zm-1.5 0h-3v-1s0-1.5 1.5-1.5c1.48.06 1.5 1.5 1.5 1.5zm-6.5 5.6l-6.8 6.9c-.3-.3-.7-.6-1-.8 1.4-1.4 5-5 7.8-7.9v-1.8l-9 9-1 5 5-1 8-8h-3z" id="path186"/>
+            <path d="M21 4V3s0-3-3-3-3 3-3 3v1h-1v6h8V4zm-1.5 0h-3V3s0-1.5 1.5-1.5c1.48.06 1.5 1.5 1.5 1.5zM13 9.6l-6.8 6.9c-.3-.3-.7-.6-1-.8 1.4-1.4 5-5 7.8-7.9V6l-9 9-1 5 5-1 8-8h-3z" id="path186"/>
         </g>
     </g>
 </svg>
index 7e37682..1b1cb76 100644 (file)
@@ -2,7 +2,7 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="Layer_2">
         <g id="g184">
-            <path d="M21 4v-1s0-3-3-3-3 3-3 3v1h-1v6h8v-6zm-1.5 0h-3v-1s0-1.5 1.5-1.5c1.48.06 1.5 1.5 1.5 1.5zm-6.5 5.6l-6.8 6.9c-.3-.3-.7-.6-1-.8 1.4-1.4 5-5 7.8-7.9v-1.8l-9 9-1 5 5-1 8-8h-3z" id="path186"/>
+            <path d="M21 4V3s0-3-3-3-3 3-3 3v1h-1v6h8V4zm-1.5 0h-3V3s0-1.5 1.5-1.5c1.48.06 1.5 1.5 1.5 1.5zM13 9.6l-6.8 6.9c-.3-.3-.7-.6-1-.8 1.4-1.4 5-5 7.8-7.9V6l-9 9-1 5 5-1 8-8h-3z" id="path186"/>
         </g>
     </g>
 </svg>
index 0e975b5..2908444 100644 (file)
@@ -2,7 +2,7 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="Layer_2">
         <g id="g184">
-            <path d="M4 4v-1s0-3 3-3 3 3 3 3v1h1v6h-8v-6zm1.5 0h3v-1s0-1.5-1.5-1.5c-1.48.06-1.5 1.5-1.5 1.5zm6.5 5.6l6.8 6.9c.3-.3.7-.6 1-.8-1.4-1.4-5-5-7.8-7.9v-1.8l9 9 1 5-5-1-8-8h3z" id="path186"/>
+            <path d="M4 4V3s0-3 3-3 3 3 3 3v1h1v6H3V4zm1.5 0h3V3s0-1.5-1.5-1.5C5.52 1.56 5.5 3 5.5 3zM12 9.6l6.8 6.9c.3-.3.7-.6 1-.8-1.4-1.4-5-5-7.8-7.9V6l9 9 1 5-5-1-8-8h3z" id="path186"/>
         </g>
     </g>
 </svg>
index 0b4751d..84a6816 100644 (file)
@@ -2,7 +2,7 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="Layer_2">
         <g id="g184">
-            <path d="M4 4v-1s0-3 3-3 3 3 3 3v1h1v6h-8v-6zm1.5 0h3v-1s0-1.5-1.5-1.5c-1.48.06-1.5 1.5-1.5 1.5zm6.5 5.6l6.8 6.9c.3-.3.7-.6 1-.8-1.4-1.4-5-5-7.8-7.9v-1.8l9 9 1 5-5-1-8-8h3z" id="path186"/>
+            <path d="M4 4V3s0-3 3-3 3 3 3 3v1h1v6H3V4zm1.5 0h3V3s0-1.5-1.5-1.5C5.52 1.56 5.5 3 5.5 3zM12 9.6l6.8 6.9c.3-.3.7-.6 1-.8-1.4-1.4-5-5-7.8-7.9V6l9 9 1 5-5-1-8-8h3z" id="path186"/>
         </g>
     </g>
 </svg>
index fa3ffe0..d1d7093 100644 (file)
@@ -2,6 +2,6 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><style>* { fill: #FFFFFF }</style>
     <g id="external">
         <path id="box" d="M7 3h2v6H3V7H2v3h8V2H7z"/>
-        <path id="arrow" d="M2 5.79l1.42-1.422L5.554 6.5l.947-.947L4.368 3.42 5.788 2H2z"/>
+        <path id="arrow" d="M2 5.79l1.42-1.422L5.554 6.5l.947-.947L4.37 3.42 5.788 2H2z"/>
     </g>
 </svg>
index 60e6a0c..9fdc8ca 100644 (file)
@@ -2,6 +2,6 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
     <g id="external">
         <path id="box" d="M7 3h2v6H3V7H2v3h8V2H7z"/>
-        <path id="arrow" d="M2 5.79l1.42-1.422L5.554 6.5l.947-.947L4.368 3.42 5.788 2H2z"/>
+        <path id="arrow" d="M2 5.79l1.42-1.422L5.554 6.5l.947-.947L4.37 3.42 5.788 2H2z"/>
     </g>
 </svg>
index 77778d8..dd95034 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr-invert.png differ
index 4951ac6..dc37aa1 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="find">
-        <path id="magnifying-glass" d="M13.656 11c-1.92 0-3.5 1.548-3.5 3.47 0 1.92 1.58 3.5 3.5 3.5.75 0 1.432-.253 2-.657l.094.156 2.375 2.374c.19.19.534.153.78-.094s.315-.59.126-.78l-2.374-2.376-.188-.094c.403-.566.656-1.282.656-2.03 0-1.92-1.55-3.47-3.47-3.47zm0 1.656c1.01 0 1.813.8 1.813 1.813 0 1.01-.802 1.843-1.814 1.843-1.01 0-1.844-.832-1.844-1.844s.832-1.814 1.844-1.814z"/>
+        <path id="magnifying-glass" d="M13.656 11c-1.92 0-3.5 1.548-3.5 3.47 0 1.92 1.58 3.5 3.5 3.5.75 0 1.432-.253 2-.657l.094.156 2.375 2.372c.19.19.534.153.78-.094s.315-.59.126-.78L16.66 16.59l-.188-.093c.402-.567.655-1.283.655-2.03 0-1.92-1.55-3.47-3.47-3.47zm0 1.656c1.01 0 1.813.8 1.813 1.813 0 1.01-.804 1.84-1.816 1.84-1.01 0-1.844-.83-1.844-1.843s.833-1.814 1.845-1.814z"/>
         <path id="text" d="M6 5v2h10V5H6zm0 3v2h11V8H6zm0 3v2h3.53c.284-.797.787-1.486 1.44-2H6zm0 3v2h3.53c-.177-.48-.28-.99-.28-1.53 0-.16.046-.315.063-.47H6z"/>
     </g>
 </svg>
index 4625881..5c66688 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr.png differ
index e97230c..bbfdaa0 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="find">
-        <path id="magnifying-glass" d="M13.656 11c-1.92 0-3.5 1.548-3.5 3.47 0 1.92 1.58 3.5 3.5 3.5.75 0 1.432-.253 2-.657l.094.156 2.375 2.374c.19.19.534.153.78-.094s.315-.59.126-.78l-2.374-2.376-.188-.094c.403-.566.656-1.282.656-2.03 0-1.92-1.55-3.47-3.47-3.47zm0 1.656c1.01 0 1.813.8 1.813 1.813 0 1.01-.802 1.843-1.814 1.843-1.01 0-1.844-.832-1.844-1.844s.832-1.814 1.844-1.814z"/>
+        <path id="magnifying-glass" d="M13.656 11c-1.92 0-3.5 1.548-3.5 3.47 0 1.92 1.58 3.5 3.5 3.5.75 0 1.432-.253 2-.657l.094.156 2.375 2.372c.19.19.534.153.78-.094s.315-.59.126-.78L16.66 16.59l-.188-.093c.402-.567.655-1.283.655-2.03 0-1.92-1.55-3.47-3.47-3.47zm0 1.656c1.01 0 1.813.8 1.813 1.813 0 1.01-.804 1.84-1.816 1.84-1.01 0-1.844-.83-1.844-1.843s.833-1.814 1.845-1.814z"/>
         <path id="text" d="M6 5v2h10V5H6zm0 3v2h11V8H6zm0 3v2h3.53c.284-.797.787-1.486 1.44-2H6zm0 3v2h3.53c-.177-.48-.28-.99-.28-1.53 0-.16.046-.315.063-.47H6z"/>
     </g>
 </svg>
index d67357b..9f23f4a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl-invert.png differ
index 51b3d40..083c2d3 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="find">
-        <path id="magnifying-glass" d="M11.344 11c1.92 0 3.5 1.548 3.5 3.47 0 1.92-1.58 3.5-3.5 3.5-.75 0-1.432-.253-2-.657l-.094.156-2.375 2.374c-.19.19-.534.153-.78-.094s-.315-.59-.126-.78l2.374-2.376.188-.094c-.403-.566-.656-1.282-.656-2.03 0-1.92 1.55-3.47 3.47-3.47zm0 1.656c-1.01 0-1.813.8-1.813 1.813 0 1.01.802 1.843 1.814 1.843 1.01 0 1.844-.832 1.844-1.844s-.832-1.814-1.844-1.814z"/>
+        <path id="magnifying-glass" d="M11.344 11c1.92 0 3.5 1.548 3.5 3.47 0 1.92-1.58 3.5-3.5 3.5-.75 0-1.432-.253-2-.657l-.094.156-2.375 2.372c-.19.19-.534.153-.78-.094s-.315-.59-.126-.78L8.34 16.59l.188-.093c-.402-.567-.655-1.283-.655-2.03 0-1.92 1.55-3.47 3.47-3.47zm0 1.656c-1.01 0-1.813.8-1.813 1.813 0 1.01.804 1.84 1.816 1.84 1.01 0 1.844-.83 1.844-1.843s-.833-1.814-1.845-1.814z"/>
         <path id="text" d="M19 5v2H9V5zm0 3v2H8V8zm0 3v2h-3.53c-.284-.797-.787-1.486-1.44-2zm0 3v2h-3.53c.177-.48.28-.99.28-1.53 0-.16-.046-.315-.063-.47z"/>
     </g>
 </svg>
index ed8eea0..28aab68 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl.png differ
index ca03754..e70ae48 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="find">
-        <path id="magnifying-glass" d="M11.344 11c1.92 0 3.5 1.548 3.5 3.47 0 1.92-1.58 3.5-3.5 3.5-.75 0-1.432-.253-2-.657l-.094.156-2.375 2.374c-.19.19-.534.153-.78-.094s-.315-.59-.126-.78l2.374-2.376.188-.094c-.403-.566-.656-1.282-.656-2.03 0-1.92 1.55-3.47 3.47-3.47zm0 1.656c-1.01 0-1.813.8-1.813 1.813 0 1.01.802 1.843 1.814 1.843 1.01 0 1.844-.832 1.844-1.844s-.832-1.814-1.844-1.814z"/>
+        <path id="magnifying-glass" d="M11.344 11c1.92 0 3.5 1.548 3.5 3.47 0 1.92-1.58 3.5-3.5 3.5-.75 0-1.432-.253-2-.657l-.094.156-2.375 2.372c-.19.19-.534.153-.78-.094s-.315-.59-.126-.78L8.34 16.59l.188-.093c-.402-.567-.655-1.283-.655-2.03 0-1.92 1.55-3.47 3.47-3.47zm0 1.656c-1.01 0-1.813.8-1.813 1.813 0 1.01.804 1.84 1.816 1.84 1.01 0 1.844-.83 1.844-1.843s-.833-1.814-1.845-1.814z"/>
         <path id="text" d="M19 5v2H9V5zm0 3v2H8V8zm0 3v2h-3.53c-.284-.797-.787-1.486-1.44-2zm0 3v2h-3.53c.177-.48.28-.99.28-1.53 0-.16-.046-.315-.063-.47z"/>
     </g>
 </svg>
index ccd9e96..3f56009 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="help">
-        <path id="circle" d="M12 2.085c-5.477 0-9.915 4.438-9.915 9.916 0 5.477 4.438 9.915 9.916 9.915 5.477 0 9.915-4.438 9.915-9.914 0-5.477-4.438-9.915-9.914-9.915zm.002 18c-4.465 0-8.084-3.62-8.084-8.083 0-4.465 3.62-8.084 8.084-8.084 4.464 0 8.083 3.62 8.083 8.084 0 4.464-3.62 8.083-8.083 8.083z"/>
+        <path id="circle" d="M12 2.085c-5.477 0-9.915 4.438-9.915 9.916 0 5.48 4.438 9.917 9.916 9.917 5.48 0 9.917-4.438 9.917-9.914 0-5.477-4.438-9.915-9.914-9.915zm.002 18c-4.465 0-8.084-3.62-8.084-8.083 0-4.465 3.62-8.084 8.084-8.084 4.464 0 8.083 3.62 8.083 8.084 0 4.464-3.62 8.083-8.083 8.083z"/>
         <g id="question-mark">
             <path id="top" d="M11.766 6.688c-2.5 0-3.22 2.188-3.22 2.188l1.412.854s.298-.79.9-1.23c.517-.374 1.626-.624 2.22.126.7.885-.17 1.587-1.078 2.72C11.047 12.53 11 15 11 15h1.97s.134-2.318 1.04-3.38c.603-.708 1.443-1.34 1.443-2.495s-1.187-2.437-3.687-2.437z"/>
             <path id="bottom" d="M11 16h2v2h-2z"/>
index e5eb877..a9a0ebb 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="help">
-        <path id="circle" d="M12 2.085c-5.477 0-9.915 4.438-9.915 9.916 0 5.477 4.438 9.915 9.916 9.915 5.477 0 9.915-4.438 9.915-9.914 0-5.477-4.438-9.915-9.914-9.915zm.002 18c-4.465 0-8.084-3.62-8.084-8.083 0-4.465 3.62-8.084 8.084-8.084 4.464 0 8.083 3.62 8.083 8.084 0 4.464-3.62 8.083-8.083 8.083z"/>
+        <path id="circle" d="M12 2.085c-5.477 0-9.915 4.438-9.915 9.916 0 5.48 4.438 9.917 9.916 9.917 5.48 0 9.917-4.438 9.917-9.914 0-5.477-4.438-9.915-9.914-9.915zm.002 18c-4.465 0-8.084-3.62-8.084-8.083 0-4.465 3.62-8.084 8.084-8.084 4.464 0 8.083 3.62 8.083 8.084 0 4.464-3.62 8.083-8.083 8.083z"/>
         <g id="question-mark">
             <path id="top" d="M11.766 6.688c-2.5 0-3.22 2.188-3.22 2.188l1.412.854s.298-.79.9-1.23c.517-.374 1.626-.624 2.22.126.7.885-.17 1.587-1.078 2.72C11.047 12.53 11 15 11 15h1.97s.134-2.318 1.04-3.38c.603-.708 1.443-1.34 1.443-2.495s-1.187-2.437-3.687-2.437z"/>
             <path id="bottom" d="M11 16h2v2h-2z"/>
index 0b02d6b..6866809 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="help">
-        <path id="circle" d="M12 2.085c5.477 0 9.915 4.438 9.915 9.916 0 5.477-4.438 9.915-9.916 9.915-5.477 0-9.915-4.438-9.915-9.914 0-5.477 4.438-9.915 9.914-9.915zm-.002 18c4.465 0 8.084-3.62 8.084-8.083 0-4.465-3.62-8.084-8.084-8.084-4.464 0-8.083 3.62-8.083 8.084 0 4.464 3.62 8.083 8.083 8.083z"/>
+        <path id="circle" d="M12 2.085c5.477 0 9.915 4.438 9.915 9.916 0 5.48-4.438 9.917-9.916 9.917-5.48 0-9.917-4.438-9.917-9.914 0-5.477 4.438-9.915 9.914-9.915zm-.002 18c4.465 0 8.084-3.62 8.084-8.083 0-4.465-3.62-8.084-8.084-8.084-4.464 0-8.083 3.62-8.083 8.084 0 4.464 3.62 8.083 8.083 8.083z"/>
         <g id="question-mark">
             <path id="top" d="M12.234 6.688c2.5 0 3.22 2.188 3.22 2.188l-1.412.854s-.298-.79-.9-1.23c-.517-.374-1.626-.624-2.22.126-.7.885.17 1.587 1.078 2.72C12.953 12.53 13 15 13 15h-1.97s-.134-2.318-1.04-3.38c-.603-.708-1.443-1.34-1.443-2.495 0-1.156 1.187-2.437 3.687-2.437z"/>
             <path id="bottom" d="M13 16h-2v2h2z"/>
index bf4f537..1b513d0 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="help">
-        <path id="circle" d="M12 2.085c5.477 0 9.915 4.438 9.915 9.916 0 5.477-4.438 9.915-9.916 9.915-5.477 0-9.915-4.438-9.915-9.914 0-5.477 4.438-9.915 9.914-9.915zm-.002 18c4.465 0 8.084-3.62 8.084-8.083 0-4.465-3.62-8.084-8.084-8.084-4.464 0-8.083 3.62-8.083 8.084 0 4.464 3.62 8.083 8.083 8.083z"/>
+        <path id="circle" d="M12 2.085c5.477 0 9.915 4.438 9.915 9.916 0 5.48-4.438 9.917-9.916 9.917-5.48 0-9.917-4.438-9.917-9.914 0-5.477 4.438-9.915 9.914-9.915zm-.002 18c4.465 0 8.084-3.62 8.084-8.083 0-4.465-3.62-8.084-8.084-8.084-4.464 0-8.083 3.62-8.083 8.084 0 4.464 3.62 8.083 8.083 8.083z"/>
         <g id="question-mark">
             <path id="top" d="M12.234 6.688c2.5 0 3.22 2.188 3.22 2.188l-1.412.854s-.298-.79-.9-1.23c-.517-.374-1.626-.624-2.22.126-.7.885.17 1.587 1.078 2.72C12.953 12.53 13 15 13 15h-1.97s-.134-2.318-1.04-3.38c-.603-.708-1.443-1.34-1.443-2.495 0-1.156 1.187-2.437 3.687-2.437z"/>
             <path id="bottom" d="M13 16h-2v2h2z"/>
index a38092d..ea5a18e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/history-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/history-invert.png differ
index 2a1db00..6fcd856 100644 (file)
@@ -2,6 +2,6 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="history">
         <path id="clock-hands" d="M17.26 15.076s-2.385-1.935-4.005-3.062c.72-2.397 1.702-6.56 1.702-6.56s-4.35 5.364-4.877 6.7c-.463 1.168 1.46 2.21 2.346 1.678 1.9.55 4.834 1.244 4.834 1.244z"/>
-        <path id="arrow" d="M12.086 2.085C6.608 2.085 2.17 6.523 2.17 12c0 1.784.476 3.455 1.3 4.9L1.25 18.94h5.688v-5.22L4.87 15.616c-.55-1.088-.866-2.312-.866-3.615 0-4.464 3.62-8.083 8.084-8.083 4.464 0 8.083 3.62 8.083 8.084 0 4.465-3.618 8.084-8.082 8.084-1.145 0-2.228-.247-3.213-.678l-.833 1.634c1.235.557 2.602.874 4.045.874C17.563 21.914 22 17.476 22 12c0-5.477-4.438-9.915-9.914-9.915z"/>
+        <path id="arrow" d="M12.086 2.085C6.608 2.085 2.17 6.523 2.17 12c0 1.784.476 3.455 1.3 4.9l-2.22 2.04h5.688v-5.22L4.87 15.616c-.55-1.088-.866-2.312-.866-3.615 0-4.462 3.62-8.08 8.084-8.08 4.464 0 8.083 3.62 8.083 8.083 0 4.465-3.616 8.084-8.08 8.084-1.145 0-2.23-.247-3.213-.678l-.833 1.633c1.235.557 2.602.874 4.045.874C17.562 21.914 22 17.477 22 12c0-5.477-4.438-9.915-9.914-9.915z"/>
     </g>
 </svg>
index e9bbf95..0e177ab 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/history.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/history.png differ
index 019e558..9375751 100644 (file)
@@ -2,6 +2,6 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="history">
         <path id="clock-hands" d="M17.26 15.076s-2.385-1.935-4.005-3.062c.72-2.397 1.702-6.56 1.702-6.56s-4.35 5.364-4.877 6.7c-.463 1.168 1.46 2.21 2.346 1.678 1.9.55 4.834 1.244 4.834 1.244z"/>
-        <path id="arrow" d="M12.086 2.085C6.608 2.085 2.17 6.523 2.17 12c0 1.784.476 3.455 1.3 4.9L1.25 18.94h5.688v-5.22L4.87 15.616c-.55-1.088-.866-2.312-.866-3.615 0-4.464 3.62-8.083 8.084-8.083 4.464 0 8.083 3.62 8.083 8.084 0 4.465-3.618 8.084-8.082 8.084-1.145 0-2.228-.247-3.213-.678l-.833 1.634c1.235.557 2.602.874 4.045.874C17.563 21.914 22 17.476 22 12c0-5.477-4.438-9.915-9.914-9.915z"/>
+        <path id="arrow" d="M12.086 2.085C6.608 2.085 2.17 6.523 2.17 12c0 1.784.476 3.455 1.3 4.9l-2.22 2.04h5.688v-5.22L4.87 15.616c-.55-1.088-.866-2.312-.866-3.615 0-4.462 3.62-8.08 8.084-8.08 4.464 0 8.083 3.62 8.083 8.083 0 4.465-3.616 8.084-8.08 8.084-1.145 0-2.23-.247-3.213-.678l-.833 1.633c1.235.557 2.602.874 4.045.874C17.562 21.914 22 17.477 22 12c0-5.477-4.438-9.915-9.914-9.915z"/>
     </g>
 </svg>
index bfdcb1c..10d770a 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
-    <path d="M19.5 4h-3v-1s0-1.5 1.5-1.5c1.5.06 1.5 1.5 1.5 1.5zm1.5 0v-1s0-3-3-3-3 3-3 3v1h-1v6h8v-6zm-8 7v-6h-11v15h20v-9zm-9 7l4-5 2-1 4 4 2-2 4 4z" id="path304"/>
+    <path d="M19.5 4h-3V3s0-1.5 1.5-1.5c1.5.06 1.5 1.5 1.5 1.5zM21 4V3s0-3-3-3-3 3-3 3v1h-1v6h8V4zm-8 7V5H2v15h20v-9zm-9 7l4-5 2-1 4 4 2-2 4 4z" id="path304"/>
 </svg>
index 8cec9f5..b41ff43 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <path d="M19.5 4h-3v-1s0-1.5 1.5-1.5c1.5.06 1.5 1.5 1.5 1.5zm1.5 0v-1s0-3-3-3-3 3-3 3v1h-1v6h8v-6zm-8 7v-6h-11v15h20v-9zm-9 7l4-5 2-1 4 4 2-2 4 4z" id="path304"/>
+    <path d="M19.5 4h-3V3s0-1.5 1.5-1.5c1.5.06 1.5 1.5 1.5 1.5zM21 4V3s0-3-3-3-3 3-3 3v1h-1v6h8V4zm-8 7V5H2v15h20v-9zm-9 7l4-5 2-1 4 4 2-2 4 4z" id="path304"/>
 </svg>
index 5136ef5..c821cd1 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
-    <path d="M4.5 4h3v-1s0-1.5-1.5-1.5c-1.5.06-1.5 1.5-1.5 1.5zm-1.5 0v-1s0-3 3-3 3 3 3 3v1h1v6h-8v-6zm8 7v-6h11v15h-20v-9zm9 7l-4-5-2-1-4 4-2-2-4 4z" id="path304"/>
+    <path d="M4.5 4h3V3s0-1.5-1.5-1.5C4.5 1.56 4.5 3 4.5 3zM3 4V3s0-3 3-3 3 3 3 3v1h1v6H2V4zm8 7V5h11v15H2v-9zm9 7l-4-5-2-1-4 4-2-2-4 4z" id="path304"/>
 </svg>
index 6bb78f7..29004d4 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <path d="M4.5 4h3v-1s0-1.5-1.5-1.5c-1.5.06-1.5 1.5-1.5 1.5zm-1.5 0v-1s0-3 3-3 3 3 3 3v1h1v6h-8v-6zm8 7v-6h11v15h-20v-9zm9 7l-4-5-2-1-4 4-2-2-4 4z" id="path304"/>
+    <path d="M4.5 4h3V3s0-1.5-1.5-1.5C4.5 1.56 4.5 3 4.5 3zM3 4V3s0-3 3-3 3 3 3 3v1h1v6H2V4zm8 7V5h11v15H2v-9zm9 7l-4-5-2-1-4 4-2-2-4 4z" id="path304"/>
 </svg>
index 28f2b17..cf194aa 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem-invert.png differ
index 6e9a2ec..938c32e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="italic-arab-keheh-jeem">
-        <path id="arab-keheh-jeem" d="M18.125 5.844c-1.695.555-3.297 1.162-4.594 1.938-.49.3-.773.712-.874 1.125-.064.263-.035.572.063.78.188.406.538.575.843.814l.094-.124.53.625c.14.165.344.514.47.94.137.462.08.724 0 1.124H11.22c-.34 0-.593.007-.767-.02-.34-.053-.256-.208-.234-.34.33-.127.563-.173.937-.14.29-.495.593-.886.906-1.314-.98.037-1.878.015-2.688-.094-.346-.047-.698-.186-1.094-.156-.356.026-.767.24-1.03.72-.246.447-.434.838-.656 1.28l.75-.47c.23-.14.484-.226.72-.218.156.005.274.054.405.094-.232.205-.51.402-.72.563-.3.26-.702.687-.906 1-.403.614-.694 1.083-.875 1.78-.18.69.003 1.34.468 1.75.426.376.846.52 1.28.563.65.065 1.206.093 2-.188.658-.23 1.022-.553 1.5-.97-.882.11-1.816.09-2.53.032-.87-.07-1.268-.384-1.47-.594-.27-.283-.306-.64-.155-1.22.036-.14.097-.322.25-.53.168-.228.364-.435.594-.656.45-.436 1.01-.737 1.46-.938-.044.205-.106.442-.054.687.05.23.248.38.438.47.26.12.507.154.69.155 1.42.01 2.86 0 4.28 0 .247 0 .452-.163.594-.375.14-.208.25-.48.344-.844.13-.5.094-1.062-.094-1.625-.182-.543-.418-1.01-.72-1.406-.334-.443-.673-.83-1-1.22 1.258-.814 2.717-1.238 3.97-1.687.12-.452.224-.926.313-1.313zm-9.47 8.438c-.26.394-.583.69-.874 1 .376.286.75.556 1.095.813.335-.303.626-.674.875-.97-.39-.267-.77-.587-1.094-.843z"/>
+        <path id="arab-keheh-jeem" d="M18.125 5.844c-1.695.555-3.297 1.162-4.594 1.938-.49.3-.77.712-.872 1.125-.064.263-.035.572.063.78.19.406.54.575.844.814l.094-.122.53.625c.14.165.344.514.47.94.137.462.08.724 0 1.124H11.22c-.34 0-.593.007-.767-.02-.34-.053-.256-.208-.234-.34.33-.127.56-.173.935-.14.29-.495.593-.886.906-1.314-.98.037-1.877.015-2.687-.094-.346-.048-.698-.187-1.094-.157-.357.026-.768.24-1.03.72-.247.447-.435.838-.657 1.28l.75-.47c.23-.14.484-.226.72-.218.156.005.274.054.405.094-.233.204-.51.4-.72.562-.3.26-.703.688-.907 1-.402.615-.693 1.084-.874 1.78-.18.69.003 1.34.468 1.75.426.377.846.52 1.28.564.65.065 1.206.093 2-.188.658-.23 1.022-.553 1.5-.97-.882.11-1.816.09-2.53.032-.87-.07-1.268-.384-1.47-.594-.27-.283-.306-.64-.155-1.22.036-.14.097-.322.25-.53.17-.228.364-.435.594-.656.45-.436 1.01-.737 1.46-.938-.044.205-.106.442-.054.687.05.23.25.38.44.47.26.12.506.153.69.154 1.42.01 2.86 0 4.28 0 .246 0 .45-.163.593-.375.14-.21.25-.48.344-.845.13-.5.094-1.062-.094-1.625-.182-.543-.418-1.01-.72-1.406-.334-.443-.673-.83-1-1.22 1.258-.814 2.717-1.238 3.97-1.687.12-.452.224-.926.313-1.313zm-9.47 8.438c-.26.394-.583.69-.874 1 .378.286.75.556 1.097.813.335-.303.626-.674.875-.97-.39-.267-.77-.587-1.093-.843z"/>
     </g>
 </svg>
index f94928b..3285ad9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem.png differ
index 1c4aeb7..04cdebb 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-arab-keheh-jeem">
-        <path id="arab-keheh-jeem" d="M18.125 5.844c-1.695.555-3.297 1.162-4.594 1.938-.49.3-.773.712-.874 1.125-.064.263-.035.572.063.78.188.406.538.575.843.814l.094-.124.53.625c.14.165.344.514.47.94.137.462.08.724 0 1.124H11.22c-.34 0-.593.007-.767-.02-.34-.053-.256-.208-.234-.34.33-.127.563-.173.937-.14.29-.495.593-.886.906-1.314-.98.037-1.878.015-2.688-.094-.346-.047-.698-.186-1.094-.156-.356.026-.767.24-1.03.72-.246.447-.434.838-.656 1.28l.75-.47c.23-.14.484-.226.72-.218.156.005.274.054.405.094-.232.205-.51.402-.72.563-.3.26-.702.687-.906 1-.403.614-.694 1.083-.875 1.78-.18.69.003 1.34.468 1.75.426.376.846.52 1.28.563.65.065 1.206.093 2-.188.658-.23 1.022-.553 1.5-.97-.882.11-1.816.09-2.53.032-.87-.07-1.268-.384-1.47-.594-.27-.283-.306-.64-.155-1.22.036-.14.097-.322.25-.53.168-.228.364-.435.594-.656.45-.436 1.01-.737 1.46-.938-.044.205-.106.442-.054.687.05.23.248.38.438.47.26.12.507.154.69.155 1.42.01 2.86 0 4.28 0 .247 0 .452-.163.594-.375.14-.208.25-.48.344-.844.13-.5.094-1.062-.094-1.625-.182-.543-.418-1.01-.72-1.406-.334-.443-.673-.83-1-1.22 1.258-.814 2.717-1.238 3.97-1.687.12-.452.224-.926.313-1.313zm-9.47 8.438c-.26.394-.583.69-.874 1 .376.286.75.556 1.095.813.335-.303.626-.674.875-.97-.39-.267-.77-.587-1.094-.843z"/>
+        <path id="arab-keheh-jeem" d="M18.125 5.844c-1.695.555-3.297 1.162-4.594 1.938-.49.3-.77.712-.872 1.125-.064.263-.035.572.063.78.19.406.54.575.844.814l.094-.122.53.625c.14.165.344.514.47.94.137.462.08.724 0 1.124H11.22c-.34 0-.593.007-.767-.02-.34-.053-.256-.208-.234-.34.33-.127.56-.173.935-.14.29-.495.593-.886.906-1.314-.98.037-1.877.015-2.687-.094-.346-.048-.698-.187-1.094-.157-.357.026-.768.24-1.03.72-.247.447-.435.838-.657 1.28l.75-.47c.23-.14.484-.226.72-.218.156.005.274.054.405.094-.233.204-.51.4-.72.562-.3.26-.703.688-.907 1-.402.615-.693 1.084-.874 1.78-.18.69.003 1.34.468 1.75.426.377.846.52 1.28.564.65.065 1.206.093 2-.188.658-.23 1.022-.553 1.5-.97-.882.11-1.816.09-2.53.032-.87-.07-1.268-.384-1.47-.594-.27-.283-.306-.64-.155-1.22.036-.14.097-.322.25-.53.17-.228.364-.435.594-.656.45-.436 1.01-.737 1.46-.938-.044.205-.106.442-.054.687.05.23.25.38.44.47.26.12.506.153.69.154 1.42.01 2.86 0 4.28 0 .246 0 .45-.163.593-.375.14-.21.25-.48.344-.845.13-.5.094-1.062-.094-1.625-.182-.543-.418-1.01-.72-1.406-.334-.443-.673-.83-1-1.22 1.258-.814 2.717-1.238 3.97-1.687.12-.452.224-.926.313-1.313zm-9.47 8.438c-.26.394-.583.69-.874 1 .378.286.75.556 1.097.813.335-.303.626-.674.875-.97-.39-.267-.77-.587-1.093-.843z"/>
     </g>
 </svg>
index 864e6e2..37282ef 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem-invert.png differ
index 31b9be1..4b9da20 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="italic-arab-meem">
-        <path id="arab-meem" d="M16 9.73l-.93 2.19h-4.663c-.48 0-.857.12-1.135.366l-.06.11c-.185 2.016-.503 3.558-.956 4.627-.272.64-.633 1.252-1.082 1.833-.177.226-.22.186-.126-.12l.142-.503.17-.67.234-.87.002-.008.202-1.045.258-1.41.353-1.907c.19-.312.423-.638.698-.98.276-.342.59-.706.94-1.09.13-.092.697-.18 1.705-.266 1.05-.086 1.638-.183 1.765-.293l.065-.128c.007-.11-.01-.24-.054-.394-.044-.153-.12-.327-.232-.522-.22-.428-.438-.64-.654-.64-.294 0-.915.268-1.864.805-.36.208-.376.125-.05-.247 1.557-1.71 2.707-2.566 3.45-2.566.382 0 .67.13.862.394.135.195.25.6.344 1.21l.203 1.2c.105.586.24.895.408.925"/>
+        <path id="arab-meem" d="M16 9.73l-.93 2.19h-4.663c-.48 0-.857.12-1.135.366l-.06.11c-.185 2.016-.503 3.558-.956 4.627-.272.64-.633 1.252-1.082 1.833-.177.226-.22.186-.126-.12l.142-.503.17-.67.234-.87.002-.008.202-1.045.258-1.41.353-1.907c.19-.312.42-.638.696-.98.276-.342.59-.706.94-1.09.13-.092.697-.18 1.705-.266 1.05-.086 1.64-.183 1.766-.293l.065-.128c.008-.11-.01-.24-.053-.394-.044-.153-.12-.327-.232-.522-.22-.428-.438-.64-.654-.64-.293 0-.914.268-1.863.805-.36.208-.376.125-.05-.247 1.557-1.71 2.707-2.566 3.45-2.566.382 0 .67.13.862.394.134.195.25.6.343 1.21l.203 1.2c.105.586.24.895.408.925"/>
     </g>
 </svg>
index a963197..3c5adc3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem.png differ
index 7b2670f..f315377 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-arab-meem">
-        <path id="arab-meem" d="M16 9.73l-.93 2.19h-4.663c-.48 0-.857.12-1.135.366l-.06.11c-.185 2.016-.503 3.558-.956 4.627-.272.64-.633 1.252-1.082 1.833-.177.226-.22.186-.126-.12l.142-.503.17-.67.234-.87.002-.008.202-1.045.258-1.41.353-1.907c.19-.312.423-.638.698-.98.276-.342.59-.706.94-1.09.13-.092.697-.18 1.705-.266 1.05-.086 1.638-.183 1.765-.293l.065-.128c.007-.11-.01-.24-.054-.394-.044-.153-.12-.327-.232-.522-.22-.428-.438-.64-.654-.64-.294 0-.915.268-1.864.805-.36.208-.376.125-.05-.247 1.557-1.71 2.707-2.566 3.45-2.566.382 0 .67.13.862.394.135.195.25.6.344 1.21l.203 1.2c.105.586.24.895.408.925"/>
+        <path id="arab-meem" d="M16 9.73l-.93 2.19h-4.663c-.48 0-.857.12-1.135.366l-.06.11c-.185 2.016-.503 3.558-.956 4.627-.272.64-.633 1.252-1.082 1.833-.177.226-.22.186-.126-.12l.142-.503.17-.67.234-.87.002-.008.202-1.045.258-1.41.353-1.907c.19-.312.42-.638.696-.98.276-.342.59-.706.94-1.09.13-.092.697-.18 1.705-.266 1.05-.086 1.64-.183 1.766-.293l.065-.128c.008-.11-.01-.24-.053-.394-.044-.153-.12-.327-.232-.522-.22-.428-.438-.64-.654-.64-.293 0-.914.268-1.863.805-.36.208-.376.125-.05-.247 1.557-1.71 2.707-2.566 3.45-2.566.382 0 .67.13.862.394.134.195.25.6.343 1.21l.203 1.2c.105.586.24.895.408.925"/>
     </g>
 </svg>
index ce7b445..91497a7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha-invert.png differ
index 4f3621e..c75dda0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="italic-armn-sha">
-        <path id="armn-sha" d="M11.564 7.678c-.268-.13-.578-.22-.93-.268-.35-.047-.75-.07-1.197-.07h-1.11L8.587 6h1.723c.558 0 1.042.032 1.45.095.416.063.794.173 1.136.33l4.483 2.033-.325 1.67-2.624-1.165c-.125-.058-.27-.103-.432-.134-.164-.04-.356-.058-.576-.058-.583 0-1.137.095-1.663.284-.525.19-1 .46-1.426.812-.42.35-.777.78-1.072 1.283-.294.505-.504 1.075-.63 1.71-.242 1.256-.152 2.21.268 2.87.426.65 1.19.977 2.294.977.55 0 1.045-.08 1.48-.237.437-.156.815-.377 1.136-.66.326-.29.59-.633.796-1.033.21-.4.362-.84.457-1.323l.11-.56h1.6l-.12.59c-.13.674-.356 1.288-.676 1.845-.32.55-.725 1.025-1.214 1.424-.488.394-1.053.7-1.694.922-.643.215-1.344.323-2.106.323-.767 0-1.434-.114-2-.34-.568-.226-1.025-.554-1.372-.985-.347-.436-.573-.97-.678-1.607-.105-.637-.078-1.364.08-2.184.125-.66.346-1.273.66-1.835.316-.568.697-1.067 1.144-1.497.445-.436.944-.794 1.496-1.072.55-.283 1.13-.474 1.733-.574l-.466-.23"/>
+        <path id="armn-sha" d="M11.564 7.678c-.268-.13-.578-.22-.93-.268-.35-.047-.75-.07-1.197-.07h-1.11L8.587 6h1.723c.558 0 1.042.032 1.45.095.416.063.794.173 1.136.33l4.483 2.033-.327 1.67-2.624-1.165c-.126-.058-.27-.103-.433-.134-.164-.04-.356-.06-.576-.06-.582 0-1.136.095-1.662.284-.526.19-1 .46-1.427.812-.42.35-.776.78-1.07 1.283-.294.504-.504 1.074-.63 1.71-.24 1.255-.15 2.21.27 2.87.424.65 1.19.976 2.292.976.55 0 1.045-.08 1.48-.237.437-.157.815-.378 1.136-.66.325-.29.59-.634.795-1.034.21-.4.362-.84.457-1.323l.11-.56h1.6l-.12.59c-.13.674-.356 1.288-.676 1.845-.32.55-.725 1.024-1.214 1.423-.488.395-1.053.7-1.694.923-.643.215-1.344.323-2.106.323-.767 0-1.434-.114-2-.34-.568-.226-1.025-.554-1.372-.985-.347-.435-.573-.97-.678-1.606-.105-.637-.078-1.364.08-2.184.125-.66.346-1.273.66-1.835.316-.568.697-1.067 1.144-1.497.445-.436.944-.794 1.496-1.072.55-.283 1.13-.474 1.733-.574l-.466-.23"/>
     </g>
 </svg>
index e4f1bda..15795c5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha.png differ
index 67283c8..f0d10d9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-armn-sha">
-        <path id="armn-sha" d="M11.564 7.678c-.268-.13-.578-.22-.93-.268-.35-.047-.75-.07-1.197-.07h-1.11L8.587 6h1.723c.558 0 1.042.032 1.45.095.416.063.794.173 1.136.33l4.483 2.033-.325 1.67-2.624-1.165c-.125-.058-.27-.103-.432-.134-.164-.04-.356-.058-.576-.058-.583 0-1.137.095-1.663.284-.525.19-1 .46-1.426.812-.42.35-.777.78-1.072 1.283-.294.505-.504 1.075-.63 1.71-.242 1.256-.152 2.21.268 2.87.426.65 1.19.977 2.294.977.55 0 1.045-.08 1.48-.237.437-.156.815-.377 1.136-.66.326-.29.59-.633.796-1.033.21-.4.362-.84.457-1.323l.11-.56h1.6l-.12.59c-.13.674-.356 1.288-.676 1.845-.32.55-.725 1.025-1.214 1.424-.488.394-1.053.7-1.694.922-.643.215-1.344.323-2.106.323-.767 0-1.434-.114-2-.34-.568-.226-1.025-.554-1.372-.985-.347-.436-.573-.97-.678-1.607-.105-.637-.078-1.364.08-2.184.125-.66.346-1.273.66-1.835.316-.568.697-1.067 1.144-1.497.445-.436.944-.794 1.496-1.072.55-.283 1.13-.474 1.733-.574l-.466-.23"/>
+        <path id="armn-sha" d="M11.564 7.678c-.268-.13-.578-.22-.93-.268-.35-.047-.75-.07-1.197-.07h-1.11L8.587 6h1.723c.558 0 1.042.032 1.45.095.416.063.794.173 1.136.33l4.483 2.033-.327 1.67-2.624-1.165c-.126-.058-.27-.103-.433-.134-.164-.04-.356-.06-.576-.06-.582 0-1.136.095-1.662.284-.526.19-1 .46-1.427.812-.42.35-.776.78-1.07 1.283-.294.504-.504 1.074-.63 1.71-.24 1.255-.15 2.21.27 2.87.424.65 1.19.976 2.292.976.55 0 1.045-.08 1.48-.237.437-.157.815-.378 1.136-.66.325-.29.59-.634.795-1.034.21-.4.362-.84.457-1.323l.11-.56h1.6l-.12.59c-.13.674-.356 1.288-.676 1.845-.32.55-.725 1.024-1.214 1.423-.488.395-1.053.7-1.694.923-.643.215-1.344.323-2.106.323-.767 0-1.434-.114-2-.34-.568-.226-1.025-.554-1.372-.985-.347-.435-.573-.97-.678-1.606-.105-.637-.078-1.364.08-2.184.125-.66.346-1.273.66-1.835.316-.568.697-1.067 1.144-1.497.445-.436.944-.794 1.496-1.072.55-.283 1.13-.474 1.733-.574l-.466-.23"/>
     </g>
 </svg>
index a458be9..f7851fa 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c-invert.png differ
index 8c51971..761aea3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="italic-c">
-        <path id="c" d="M15.008 13.718l1.48.214c-.467 1.34-1.15 2.354-2.045 3.04-.896.686-1.9 1.03-3.015 1.03-1.36 0-2.438-.43-3.237-1.29C7.398 15.85 7 14.618 7 13.013c0-2.09.606-3.818 1.817-5.185C9.897 6.61 11.237 6 12.84 6c1.186 0 2.145.33 2.878.99.738.66 1.165 1.546 1.282 2.66l-1.397.135c-.148-.84-.453-1.464-.916-1.876-.458-.418-1.05-.626-1.78-.626-1.368 0-2.475.63-3.32 1.892-.733 1.087-1.1 2.377-1.1 3.87 0 1.194.283 2.104.848 2.732.565.628 1.3.942 2.206.942.775 0 1.474-.26 2.1-.784.626-.522 1.08-1.26 1.366-2.216"/>
+        <path id="c" d="M15.008 13.718l1.48.214c-.467 1.34-1.15 2.354-2.045 3.04-.896.686-1.9 1.03-3.015 1.03-1.36 0-2.438-.43-3.237-1.29C7.4 15.85 7 14.618 7 13.012c0-2.09.606-3.817 1.817-5.184C9.897 6.61 11.237 6 12.84 6c1.186 0 2.145.33 2.878.99.738.66 1.165 1.546 1.282 2.66l-1.397.135c-.148-.84-.453-1.464-.916-1.876-.458-.42-1.05-.628-1.78-.628-1.368 0-2.475.63-3.32 1.892-.733 1.087-1.1 2.377-1.1 3.87 0 1.194.283 2.104.848 2.732.565.628 1.3.942 2.206.942.777 0 1.476-.26 2.1-.785.628-.522 1.08-1.26 1.368-2.216"/>
     </g>
 </svg>
index 1ba8613..2b8b6e4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c.png differ
index 0ef7345..2018e60 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-c">
-        <path id="c" d="M15.008 13.718l1.48.214c-.467 1.34-1.15 2.354-2.045 3.04-.896.686-1.9 1.03-3.015 1.03-1.36 0-2.438-.43-3.237-1.29C7.398 15.85 7 14.618 7 13.013c0-2.09.606-3.818 1.817-5.185C9.897 6.61 11.237 6 12.84 6c1.186 0 2.145.33 2.878.99.738.66 1.165 1.546 1.282 2.66l-1.397.135c-.148-.84-.453-1.464-.916-1.876-.458-.418-1.05-.626-1.78-.626-1.368 0-2.475.63-3.32 1.892-.733 1.087-1.1 2.377-1.1 3.87 0 1.194.283 2.104.848 2.732.565.628 1.3.942 2.206.942.775 0 1.474-.26 2.1-.784.626-.522 1.08-1.26 1.366-2.216"/>
+        <path id="c" d="M15.008 13.718l1.48.214c-.467 1.34-1.15 2.354-2.045 3.04-.896.686-1.9 1.03-3.015 1.03-1.36 0-2.438-.43-3.237-1.29C7.4 15.85 7 14.618 7 13.012c0-2.09.606-3.817 1.817-5.184C9.897 6.61 11.237 6 12.84 6c1.186 0 2.145.33 2.878.99.738.66 1.165 1.546 1.282 2.66l-1.397.135c-.148-.84-.453-1.464-.916-1.876-.458-.42-1.05-.628-1.78-.628-1.368 0-2.475.63-3.32 1.892-.733 1.087-1.1 2.377-1.1 3.87 0 1.194.283 2.104.848 2.732.565.628 1.3.942 2.206.942.777 0 1.476-.26 2.1-.785.628-.522 1.08-1.26 1.368-2.216"/>
     </g>
 </svg>
index 093545c..33a41cb 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d-invert.png differ
index 63c2c9d..e9ce6db 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="italic-d">
-        <path id="d" d="M7 18L9.462 6h3.557c.852 0 1.504.063 1.954.188.644.17 1.194.472 1.65.91.456.43.8.97 1.03 1.62.23.65.346 1.378.346 2.186 0 .966-.145 1.847-.435 2.644-.284.79-.66 1.49-1.127 2.095-.46.6-.947 1.072-1.456 1.416-.504.337-1.102.588-1.794.752-.526.126-1.172.188-1.94.188H7m1.86-1.36h1.866c.842 0 1.59-.078 2.245-.236.41-.098.757-.243 1.047-.434.38-.246.727-.57 1.038-.974.408-.535.732-1.143.974-1.825.246-.687.37-1.467.37-2.34 0-.97-.167-1.716-.5-2.235-.333-.524-.756-.87-1.27-1.04-.382-.126-.975-.188-1.78-.188H11L9.095 16.64"/>
+        <path id="d" d="M7 18L9.462 6h3.557c.85 0 1.502.063 1.952.188.644.17 1.194.472 1.65.91.456.43.8.97 1.03 1.62.23.65.346 1.378.346 2.186 0 .966-.146 1.847-.436 2.644-.284.79-.66 1.49-1.127 2.095-.46.6-.947 1.072-1.456 1.416-.504.335-1.1.586-1.794.75-.526.126-1.172.19-1.94.19H7m1.86-1.36h1.866c.842 0 1.59-.08 2.245-.238.41-.098.76-.243 1.05-.434.38-.247.726-.57 1.037-.975.408-.535.732-1.143.974-1.825.247-.687.37-1.467.37-2.34 0-.97-.166-1.716-.5-2.235-.332-.524-.755-.87-1.27-1.04-.38-.126-.974-.188-1.78-.188H11L9.095 16.64"/>
     </g>
 </svg>
index 39b09a2..4ace3f3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d.png differ
index 6ac99ab..c044c86 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-d">
-        <path id="d" d="M7 18L9.462 6h3.557c.852 0 1.504.063 1.954.188.644.17 1.194.472 1.65.91.456.43.8.97 1.03 1.62.23.65.346 1.378.346 2.186 0 .966-.145 1.847-.435 2.644-.284.79-.66 1.49-1.127 2.095-.46.6-.947 1.072-1.456 1.416-.504.337-1.102.588-1.794.752-.526.126-1.172.188-1.94.188H7m1.86-1.36h1.866c.842 0 1.59-.078 2.245-.236.41-.098.757-.243 1.047-.434.38-.246.727-.57 1.038-.974.408-.535.732-1.143.974-1.825.246-.687.37-1.467.37-2.34 0-.97-.167-1.716-.5-2.235-.333-.524-.756-.87-1.27-1.04-.382-.126-.975-.188-1.78-.188H11L9.095 16.64"/>
+        <path id="d" d="M7 18L9.462 6h3.557c.85 0 1.502.063 1.952.188.644.17 1.194.472 1.65.91.456.43.8.97 1.03 1.62.23.65.346 1.378.346 2.186 0 .966-.146 1.847-.436 2.644-.284.79-.66 1.49-1.127 2.095-.46.6-.947 1.072-1.456 1.416-.504.335-1.1.586-1.794.75-.526.126-1.172.19-1.94.19H7m1.86-1.36h1.866c.842 0 1.59-.08 2.245-.238.41-.098.76-.243 1.05-.434.38-.247.726-.57 1.037-.975.408-.535.732-1.143.974-1.825.247-.687.37-1.467.37-2.34 0-.97-.166-1.716-.5-2.235-.332-.524-.755-.87-1.27-1.04-.38-.126-.974-.188-1.78-.188H11L9.095 16.64"/>
     </g>
 </svg>
index 9d11112..f6c18e5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="italic-e">
-        <path id="e" d="M7 18L9.474 6H18l-.282 1.367H10.77L10.02 11h6.09l-.28 1.367H9.74L8.86 16.64H16.3L16.018 18H7"/>
+        <path id="e" d="M7 18L9.474 6H18l-.282 1.367H10.77L10.02 11h6.09l-.28 1.367H9.74l-.88 4.273h7.44L16.018 18H7"/>
     </g>
 </svg>
index 72df8bb..f385149 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-e">
-        <path id="e" d="M7 18L9.474 6H18l-.282 1.367H10.77L10.02 11h6.09l-.28 1.367H9.74L8.86 16.64H16.3L16.018 18H7"/>
+        <path id="e" d="M7 18L9.474 6H18l-.282 1.367H10.77L10.02 11h6.09l-.28 1.367H9.74l-.88 4.273h7.44L16.018 18H7"/>
     </g>
 </svg>
index 61ae2cc..c3feced 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan-invert.png differ
index 256a8eb..d77fe40 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="italic-geor-kan">
-        <path id="geor-kan" d="M15.057 14.663C14.617 16.888 13.223 18 10.88 18 8.96 18 8 17.213 8 15.64c0-.298.036-.624.108-.977.083-.43.245-.836.488-1.217l1.24.605-.206.614c-.055.26-.083.497-.083.712 0 .972.52 1.458 1.564 1.458 1.308 0 2.102-.723 2.384-2.17l.058-.33c.044-.222.066-.426.066-.614 0-.928-.546-1.39-1.638-1.39h-1.117l.248-1.26h1.118c1.202-.005 1.908-.552 2.118-1.64.04-.182.058-.356.058-.522 0-1.143-.9-1.714-2.697-1.714L11.94 6C14.646 6 16 6.877 16 8.627c0 .248-.027.516-.082.803-.204 1.092-1.05 1.824-2.54 2.194l-.033.166c1.23.2 1.845.823 1.845 1.872 0 .21-.025.433-.074.67l-.058.332"/>
+        <path id="geor-kan" d="M15.057 14.663C14.617 16.888 13.223 18 10.88 18 8.96 18 8 17.213 8 15.64c0-.298.036-.624.108-.977.083-.43.245-.836.488-1.217l1.24.605-.206.616c-.055.26-.083.497-.083.712 0 .972.52 1.458 1.564 1.458 1.31 0 2.104-.723 2.386-2.17l.058-.33c.044-.222.066-.426.066-.614 0-.927-.547-1.39-1.64-1.39h-1.116l.248-1.26h1.118c1.202-.004 1.908-.55 2.118-1.64.04-.18.058-.355.058-.52 0-1.144-.9-1.715-2.697-1.715L11.94 6C14.646 6 16 6.877 16 8.627c0 .248-.027.516-.082.803-.204 1.092-1.05 1.824-2.54 2.194l-.033.166c1.23.2 1.845.823 1.845 1.872 0 .21-.025.433-.074.67l-.058.332"/>
     </g>
 </svg>
index 3ab33f2..7f2512e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan.png differ
index a1a93dc..867f458 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-geor-kan">
-        <path id="geor-kan" d="M15.057 14.663C14.617 16.888 13.223 18 10.88 18 8.96 18 8 17.213 8 15.64c0-.298.036-.624.108-.977.083-.43.245-.836.488-1.217l1.24.605-.206.614c-.055.26-.083.497-.083.712 0 .972.52 1.458 1.564 1.458 1.308 0 2.102-.723 2.384-2.17l.058-.33c.044-.222.066-.426.066-.614 0-.928-.546-1.39-1.638-1.39h-1.117l.248-1.26h1.118c1.202-.005 1.908-.552 2.118-1.64.04-.182.058-.356.058-.522 0-1.143-.9-1.714-2.697-1.714L11.94 6C14.646 6 16 6.877 16 8.627c0 .248-.027.516-.082.803-.204 1.092-1.05 1.824-2.54 2.194l-.033.166c1.23.2 1.845.823 1.845 1.872 0 .21-.025.433-.074.67l-.058.332"/>
+        <path id="geor-kan" d="M15.057 14.663C14.617 16.888 13.223 18 10.88 18 8.96 18 8 17.213 8 15.64c0-.298.036-.624.108-.977.083-.43.245-.836.488-1.217l1.24.605-.206.616c-.055.26-.083.497-.083.712 0 .972.52 1.458 1.564 1.458 1.31 0 2.104-.723 2.386-2.17l.058-.33c.044-.222.066-.426.066-.614 0-.927-.547-1.39-1.64-1.39h-1.116l.248-1.26h1.118c1.202-.004 1.908-.55 2.118-1.64.04-.18.058-.355.058-.52 0-1.144-.9-1.715-2.697-1.715L11.94 6C14.646 6 16 6.877 16 8.627c0 .248-.027.516-.082.803-.204 1.092-1.05 1.824-2.54 2.194l-.033.166c1.23.2 1.845.823 1.845 1.872 0 .21-.025.433-.074.67l-.058.332"/>
     </g>
 </svg>
index a9a5e49..eb3dc91 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s-invert.png differ
index d5557d1..ef5a411 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="italic-s">
-        <path id="s" d="M16.474 6.59l-.302 1.525c-.522-.28-1.04-.488-1.557-.628-.51-.145-1.007-.217-1.487-.217-.935 0-1.68.204-2.23.612-.554.408-.83.95-.83 1.627 0 .37.1.657.302.86.207.195.733.407 1.58.634l.937.232c1.06.274 1.795.622 2.208 1.046.413.418.62 1.007.62 1.766 0 1.167-.46 2.117-1.38 2.85-.913.734-2.12 1.1-3.617 1.1-.615 0-1.232-.06-1.852-.185-.62-.12-1.242-.302-1.867-.55l.317-1.61c.573.355 1.147.624 1.72.805.578.18 1.154.27 1.728.27.976 0 1.76-.216 2.347-.65.59-.434.883-1 .883-1.697 0-.464-.12-.815-.356-1.053-.233-.243-.737-.462-1.512-.658l-.937-.24c-1.068-.28-1.8-.6-2.19-.962-.388-.367-.582-.878-.582-1.534 0-1.152.442-2.094 1.325-2.828.888-.74 2.043-1.108 3.463-1.108.553 0 1.1.05 1.642.147.542.098 1.085.245 1.627.442"/>
+        <path id="s" d="M16.474 6.59l-.302 1.525c-.522-.28-1.04-.488-1.557-.628-.51-.145-1.007-.217-1.487-.217-.935 0-1.68.204-2.23.612-.554.408-.83.95-.83 1.627 0 .37.1.655.302.86.207.193.733.405 1.58.632l.937.232c1.06.274 1.795.622 2.208 1.046.413.42.62 1.008.62 1.767 0 1.167-.46 2.117-1.38 2.85-.913.734-2.12 1.1-3.617 1.1-.615 0-1.232-.06-1.852-.185-.62-.12-1.242-.302-1.867-.55l.315-1.61c.573.355 1.147.624 1.72.805.578.18 1.154.27 1.728.27.976 0 1.76-.216 2.347-.65.59-.434.884-1 .884-1.697 0-.464-.12-.815-.356-1.053-.233-.243-.737-.462-1.512-.658l-.937-.24c-1.07-.28-1.8-.6-2.19-.964-.39-.367-.584-.878-.584-1.534 0-1.152.442-2.094 1.325-2.828.89-.74 2.044-1.108 3.464-1.108.553 0 1.1.05 1.642.147.542.098 1.085.245 1.627.442"/>
     </g>
 </svg>
index aafa618..c3b1e6e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s.png differ
index 56e457b..1c5a4ca 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="italic-s">
-        <path id="s" d="M16.474 6.59l-.302 1.525c-.522-.28-1.04-.488-1.557-.628-.51-.145-1.007-.217-1.487-.217-.935 0-1.68.204-2.23.612-.554.408-.83.95-.83 1.627 0 .37.1.657.302.86.207.195.733.407 1.58.634l.937.232c1.06.274 1.795.622 2.208 1.046.413.418.62 1.007.62 1.766 0 1.167-.46 2.117-1.38 2.85-.913.734-2.12 1.1-3.617 1.1-.615 0-1.232-.06-1.852-.185-.62-.12-1.242-.302-1.867-.55l.317-1.61c.573.355 1.147.624 1.72.805.578.18 1.154.27 1.728.27.976 0 1.76-.216 2.347-.65.59-.434.883-1 .883-1.697 0-.464-.12-.815-.356-1.053-.233-.243-.737-.462-1.512-.658l-.937-.24c-1.068-.28-1.8-.6-2.19-.962-.388-.367-.582-.878-.582-1.534 0-1.152.442-2.094 1.325-2.828.888-.74 2.043-1.108 3.463-1.108.553 0 1.1.05 1.642.147.542.098 1.085.245 1.627.442"/>
+        <path id="s" d="M16.474 6.59l-.302 1.525c-.522-.28-1.04-.488-1.557-.628-.51-.145-1.007-.217-1.487-.217-.935 0-1.68.204-2.23.612-.554.408-.83.95-.83 1.627 0 .37.1.655.302.86.207.193.733.405 1.58.632l.937.232c1.06.274 1.795.622 2.208 1.046.413.42.62 1.008.62 1.767 0 1.167-.46 2.117-1.38 2.85-.913.734-2.12 1.1-3.617 1.1-.615 0-1.232-.06-1.852-.185-.62-.12-1.242-.302-1.867-.55l.315-1.61c.573.355 1.147.624 1.72.805.578.18 1.154.27 1.728.27.976 0 1.76-.216 2.347-.65.59-.434.884-1 .884-1.697 0-.464-.12-.815-.356-1.053-.233-.243-.737-.462-1.512-.658l-.937-.24c-1.07-.28-1.8-.6-2.19-.964-.39-.367-.584-.878-.584-1.534 0-1.152.442-2.094 1.325-2.828.89-.74 2.044-1.108 3.464-1.108.553 0 1.1.05 1.642.147.542.098 1.085.245 1.627.442"/>
     </g>
 </svg>
index fc0917e..81930e3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/language-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/language-invert.png differ
index 96a39e2..d857a04 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="language">
-        <path id="japanese" d="M17.533 9.81l.27-.59 1.042.407-.18.363c.66.27 1.1.468 1.312.59.33.21.618.513.86.904.21.393.316.846.316 1.358 0 .786-.302 1.48-.905 2.083-.604.634-1.66 1.057-3.17 1.268-.12-.36-.257-.68-.407-.95.966-.15 1.646-.333 2.038-.545.454-.21.785-.48.998-.813.21-.303.314-.663.314-1.087 0-.482-.136-.905-.407-1.27-.33-.33-.8-.588-1.402-.77-.332.635-.648 1.118-.95 1.45-.242.332-.694.906-1.358 1.72.09.394.18.71.272.952l-1.042.362-.09-.498c-.424.36-.802.617-1.134.77-.36.15-.664.226-.905.226-.303 0-.574-.136-.814-.407-.244-.3-.363-.68-.363-1.132 0-.603.136-1.146.407-1.63.24-.452.603-.89 1.086-1.312.272-.24.725-.528 1.36-.86 0-.27.03-.8.09-1.585-.515.03-.922.045-1.223.045-.393 0-.71-.015-.95-.045l-.047-1.04c.725.09 1.494.134 2.31.134 0-.15.075-.738.227-1.766l1.177.184c-.15.542-.256 1.04-.316 1.493.242-.03.543-.075.906-.136.362-.06.573-.09.634-.09s.648-.15 1.766-.453l.046 1.04c-.967.244-2.145.44-3.532.592-.062.662-.092 1.085-.092 1.265.663-.15 1.284-.225 1.857-.225zm-2.672 3.893c-.06-.48-.135-1.252-.226-2.31-.573.424-1.04.86-1.403 1.313-.302.423-.45.875-.45 1.358 0 .24.043.438.135.588.09.092.195.137.316.137.364 0 .908-.362 1.63-1.087zm.772-2.763c0 .483.03 1.088.09 1.81.604-.904 1.057-1.598 1.36-2.08-.575.06-1.06.15-1.45.27z"/>
+        <path id="japanese" d="M17.533 9.81l.27-.59 1.042.407-.18.363c.66.27 1.1.468 1.312.59.33.21.618.513.86.904.21.393.316.846.316 1.358 0 .786-.302 1.48-.905 2.083-.604.634-1.66 1.057-3.17 1.268-.12-.36-.257-.68-.407-.95.968-.15 1.648-.333 2.04-.545.454-.21.785-.48.998-.813.21-.303.314-.663.314-1.087 0-.482-.135-.905-.406-1.27-.33-.33-.8-.588-1.402-.77-.332.635-.648 1.118-.95 1.45-.242.332-.694.906-1.358 1.72.09.394.18.71.272.952l-1.042.362-.09-.498c-.424.36-.802.617-1.134.77-.36.15-.664.226-.905.226-.303 0-.574-.136-.814-.407-.243-.3-.362-.68-.362-1.132 0-.6.137-1.144.408-1.63.24-.45.603-.89 1.086-1.31.273-.24.726-.53 1.36-.86 0-.27.03-.8.09-1.585-.514.03-.92.045-1.222.045-.393 0-.71-.016-.95-.046l-.047-1.04c.726.09 1.495.134 2.31.134 0-.15.076-.738.228-1.766l1.177.184c-.15.542-.256 1.04-.316 1.493.24-.03.542-.077.905-.138.36-.06.572-.09.633-.09s.647-.15 1.765-.453l.046 1.04c-.966.243-2.144.44-3.53.59-.063.663-.093 1.086-.093 1.266.664-.15 1.285-.225 1.858-.225zm-2.672 3.893c-.06-.48-.133-1.252-.224-2.31-.573.424-1.04.86-1.403 1.313-.302.423-.45.875-.45 1.358 0 .24.043.438.135.588.09.092.195.137.316.137.364 0 .908-.364 1.63-1.09zm.774-2.763c0 .483.03 1.088.09 1.81.604-.904 1.057-1.598 1.36-2.08-.575.06-1.06.15-1.45.27z"/>
         <path id="english" d="M9.497 15.98h1.85L8.265 7.033h-1.85l-3.08 8.95h1.85L5.74 14h3.21l.547 1.98zm-3.49-3.376L7.34 8.822l1.343 3.782H6.008z"/>
     </g>
 </svg>
index ebd11a2..cae0e77 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/language.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/language.png differ
index 549c303..694d225 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="language">
-        <path id="japanese" d="M17.533 9.81l.27-.59 1.042.407-.18.363c.66.27 1.1.468 1.312.59.33.21.618.513.86.904.21.393.316.846.316 1.358 0 .786-.302 1.48-.905 2.083-.604.634-1.66 1.057-3.17 1.268-.12-.36-.257-.68-.407-.95.966-.15 1.646-.333 2.038-.545.454-.21.785-.48.998-.813.21-.303.314-.663.314-1.087 0-.482-.136-.905-.407-1.27-.33-.33-.8-.588-1.402-.77-.332.635-.648 1.118-.95 1.45-.242.332-.694.906-1.358 1.72.09.394.18.71.272.952l-1.042.362-.09-.498c-.424.36-.802.617-1.134.77-.36.15-.664.226-.905.226-.303 0-.574-.136-.814-.407-.244-.3-.363-.68-.363-1.132 0-.603.136-1.146.407-1.63.24-.452.603-.89 1.086-1.312.272-.24.725-.528 1.36-.86 0-.27.03-.8.09-1.585-.515.03-.922.045-1.223.045-.393 0-.71-.015-.95-.045l-.047-1.04c.725.09 1.494.134 2.31.134 0-.15.075-.738.227-1.766l1.177.184c-.15.542-.256 1.04-.316 1.493.242-.03.543-.075.906-.136.362-.06.573-.09.634-.09s.648-.15 1.766-.453l.046 1.04c-.967.244-2.145.44-3.532.592-.062.662-.092 1.085-.092 1.265.663-.15 1.284-.225 1.857-.225zm-2.672 3.893c-.06-.48-.135-1.252-.226-2.31-.573.424-1.04.86-1.403 1.313-.302.423-.45.875-.45 1.358 0 .24.043.438.135.588.09.092.195.137.316.137.364 0 .908-.362 1.63-1.087zm.772-2.763c0 .483.03 1.088.09 1.81.604-.904 1.057-1.598 1.36-2.08-.575.06-1.06.15-1.45.27z"/>
+        <path id="japanese" d="M17.533 9.81l.27-.59 1.042.407-.18.363c.66.27 1.1.468 1.312.59.33.21.618.513.86.904.21.393.316.846.316 1.358 0 .786-.302 1.48-.905 2.083-.604.634-1.66 1.057-3.17 1.268-.12-.36-.257-.68-.407-.95.968-.15 1.648-.333 2.04-.545.454-.21.785-.48.998-.813.21-.303.314-.663.314-1.087 0-.482-.135-.905-.406-1.27-.33-.33-.8-.588-1.402-.77-.332.635-.648 1.118-.95 1.45-.242.332-.694.906-1.358 1.72.09.394.18.71.272.952l-1.042.362-.09-.498c-.424.36-.802.617-1.134.77-.36.15-.664.226-.905.226-.303 0-.574-.136-.814-.407-.243-.3-.362-.68-.362-1.132 0-.6.137-1.144.408-1.63.24-.45.603-.89 1.086-1.31.273-.24.726-.53 1.36-.86 0-.27.03-.8.09-1.585-.514.03-.92.045-1.222.045-.393 0-.71-.016-.95-.046l-.047-1.04c.726.09 1.495.134 2.31.134 0-.15.076-.738.228-1.766l1.177.184c-.15.542-.256 1.04-.316 1.493.24-.03.542-.077.905-.138.36-.06.572-.09.633-.09s.647-.15 1.765-.453l.046 1.04c-.966.243-2.144.44-3.53.59-.063.663-.093 1.086-.093 1.266.664-.15 1.285-.225 1.858-.225zm-2.672 3.893c-.06-.48-.133-1.252-.224-2.31-.573.424-1.04.86-1.403 1.313-.302.423-.45.875-.45 1.358 0 .24.043.438.135.588.09.092.195.137.316.137.364 0 .908-.364 1.63-1.09zm.774-2.763c0 .483.03 1.088.09 1.81.604-.904 1.057-1.598 1.36-2.08-.575.06-1.06.15-1.45.27z"/>
         <path id="english" d="M9.497 15.98h1.85L8.265 7.033h-1.85l-3.08 8.95h1.85L5.74 14h3.21l.547 1.98zm-3.49-3.376L7.34 8.822l1.343 3.782H6.008z"/>
     </g>
 </svg>
index 934cb4e..6e17f59 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #D11D13 }</style>
     <g id="g390">
-        <path d="M15 8s0-3-2.5-3-2.5 3-2.5 3v1h5zm2 0v1h2v10h-10c-1.7 0-3-1.3-3-3v-7h2v-1s0-5 4.5-5 4.5 5 4.5 5z" id="path392"/>
+        <path d="M15 8s0-3-2.5-3S10 8 10 8v1h5zm2 0v1h2v10H9c-1.7 0-3-1.3-3-3V9h2V8s0-5 4.5-5S17 8 17 8z" id="path392"/>
     </g>
 </svg>
index 7aed0f6..fd9359a 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="g390">
-        <path d="M15 8s0-3-2.5-3-2.5 3-2.5 3v1h5zm2 0v1h2v10h-10c-1.7 0-3-1.3-3-3v-7h2v-1s0-5 4.5-5 4.5 5 4.5 5z" id="path392"/>
+        <path d="M15 8s0-3-2.5-3S10 8 10 8v1h5zm2 0v1h2v10H9c-1.7 0-3-1.3-3-3V9h2V8s0-5 4.5-5S17 8 17 8z" id="path392"/>
     </g>
 </svg>
index 5945492..80d3ace 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="g390">
-        <path d="M15 8s0-3-2.5-3-2.5 3-2.5 3v1h5zm2 0v1h2v10h-10c-1.7 0-3-1.3-3-3v-7h2v-1s0-5 4.5-5 4.5 5 4.5 5z" id="path392"/>
+        <path d="M15 8s0-3-2.5-3S10 8 10 8v1h5zm2 0v1h2v10H9c-1.7 0-3-1.3-3-3V9h2V8s0-5 4.5-5S17 8 17 8z" id="path392"/>
     </g>
 </svg>
index 64c2324..9e88270 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #D11D13 }</style>
     <g id="g390">
-        <path d="M10 8s0-3 2.5-3 2.5 3 2.5 3v1h-5zm-2 0v1h-2v10h10c1.7 0 3-1.3 3-3v-7h-2v-1s0-5-4.5-5-4.5 5-4.5 5z" id="path392"/>
+        <path d="M10 8s0-3 2.5-3S15 8 15 8v1h-5zM8 8v1H6v10h10c1.7 0 3-1.3 3-3V9h-2V8s0-5-4.5-5S8 8 8 8z" id="path392"/>
     </g>
 </svg>
index 63cb2eb..bcb3f4f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="g390">
-        <path d="M10 8s0-3 2.5-3 2.5 3 2.5 3v1h-5zm-2 0v1h-2v10h10c1.7 0 3-1.3 3-3v-7h-2v-1s0-5-4.5-5-4.5 5-4.5 5z" id="path392"/>
+        <path d="M10 8s0-3 2.5-3S15 8 15 8v1h-5zM8 8v1H6v10h10c1.7 0 3-1.3 3-3V9h-2V8s0-5-4.5-5S8 8 8 8z" id="path392"/>
     </g>
 </svg>
index 0591f66..21881e9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="g390">
-        <path d="M10 8s0-3 2.5-3 2.5 3 2.5 3v1h-5zm-2 0v1h-2v10h10c1.7 0 3-1.3 3-3v-7h-2v-1s0-5-4.5-5-4.5 5-4.5 5z" id="path392"/>
+        <path d="M10 8s0-3 2.5-3S15 8 15 8v1h-5zM8 8v1H6v10h10c1.7 0 3-1.3 3-3V9h-2V8s0-5-4.5-5S8 8 8 8z" id="path392"/>
     </g>
 </svg>
index e97d37b..db69b5a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl-invert.png differ
index f8eadf9..8ca43a3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="move-rtl">
-        <path id="arrow" d="M15.065 17.786l-5.302-5.303 5.302-5.302-1.414-1.413-6.715 6.716L13.65 19.2z"/>
+        <path id="arrow" d="M15.065 17.786l-5.302-5.303 5.302-5.302-1.415-1.41-6.714 6.716L13.65 19.2z"/>
     </g>
 </svg>
index dbce05e..7aab217 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl.png differ
index 00583b4..48d2c7e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="move-rtl">
-        <path id="arrow" d="M15.065 17.786l-5.302-5.303 5.302-5.302-1.414-1.413-6.715 6.716L13.65 19.2z"/>
+        <path id="arrow" d="M15.065 17.786l-5.302-5.303 5.302-5.302-1.415-1.41-6.714 6.716L13.65 19.2z"/>
     </g>
 </svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice-invert.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice-invert.png
new file mode 100644 (file)
index 0000000..ce1a278
Binary files /dev/null and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice-invert.png differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice-invert.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice-invert.svg
new file mode 100644 (file)
index 0000000..48273f4
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" id="svg3116"><style>* { fill: #FFFFFF }</style>
+    <g id="alert">
+        <path d="M12 18c-3.314 0-6-2.686-6-6s2.686-6 6-6 6 2.686 6 6-2.686 6-6 6zm-1-5h2V8h-2zm0 3h2v-2h-2z" id="path3119"/>
+    </g>
+</svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice.png
new file mode 100644 (file)
index 0000000..7d27f8e
Binary files /dev/null and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice.png differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice.svg
new file mode 100644 (file)
index 0000000..b7fb2e7
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" id="svg3116">
+    <g id="alert">
+        <path d="M12 18c-3.314 0-6-2.686-6-6s2.686-6 6-6 6 2.686 6 6-2.686 6-6 6zm-1-5h2V8h-2zm0 3h2v-2h-2z" id="path3119"/>
+    </g>
+</svg>
index 215cea5..0d34e60 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression-invert.png differ
index 59e863b..e7889c3 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="regular-expression">
-        <path id="left-bracket" d="M3 12.045c0-.99.15-1.915.45-2.777.306-.862.743-1.618 1.314-2.268H6.23c-.552.72-.968 1.512-1.25 2.374-.28.862-.42 1.75-.42 2.66 0 .915.142 1.8.427 2.654.29.85.7 1.622 1.23 2.312H4.766c-.574-.635-1.012-1.376-1.313-2.223-.3-.847-.45-1.758-.45-2.732"/>
+        <path id="left-bracket" d="M3 12.045c0-.99.15-1.915.45-2.777.306-.862.743-1.618 1.314-2.268H6.23c-.552.72-.968 1.512-1.25 2.374-.28.862-.42 1.75-.42 2.66 0 .915.142 1.8.427 2.654.29.85.7 1.622 1.23 2.312h-1.45c-.575-.635-1.013-1.376-1.314-2.223-.3-.847-.45-1.758-.45-2.732"/>
         <path id="dot" d="M10 16c0 .552-.448 1-1 1s-1-.448-1-1 .448-1 1-1 1 .448 1 1z"/>
-        <path id="star" d="M14.25 7.013l-.24 2.156 2.187-.61.193 1.477-1.992.14 1.307 1.74-1.33.71-.914-1.834-.802 1.822-1.383-.697 1.295-1.74-1.98-.152.23-1.465 2.138.61-.24-2.156h1.535"/>
-        <path id="right-bracket" d="M21 12.045c0 .982-.152 1.896-.457 2.744-.3.846-.737 1.584-1.307 2.21h-1.453c.527-.686.936-1.455 1.225-2.306.29-.855.434-1.74.434-2.66 0-.91-.14-1.797-.422-2.66-.28-.862-.697-1.654-1.248-2.374h1.465c.574.653 1.012 1.413 1.313 2.28.3.86.45 1.783.45 2.765"/>
+        <path id="star" d="M14.25 7.013l-.24 2.156 2.187-.61.193 1.475-1.992.14 1.307 1.74-1.33.71-.914-1.834-.8 1.823-1.383-.697 1.295-1.74-1.98-.152.23-1.465 2.14.61-.24-2.157h1.534"/>
+        <path id="right-bracket" d="M21 12.045c0 .982-.152 1.896-.457 2.744-.3.844-.737 1.582-1.307 2.21h-1.453c.527-.688.936-1.457 1.225-2.308.29-.855.434-1.74.434-2.66 0-.91-.14-1.797-.422-2.66-.28-.862-.697-1.654-1.248-2.374h1.465c.574.652 1.012 1.412 1.313 2.28.3.86.45 1.782.45 2.764"/>
     </g>
 </svg>
index 68bb9d7..b8736a0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression.png differ
index e9594a1..5f10d4d 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="regular-expression">
-        <path id="left-bracket" d="M3 12.045c0-.99.15-1.915.45-2.777.306-.862.743-1.618 1.314-2.268H6.23c-.552.72-.968 1.512-1.25 2.374-.28.862-.42 1.75-.42 2.66 0 .915.142 1.8.427 2.654.29.85.7 1.622 1.23 2.312H4.766c-.574-.635-1.012-1.376-1.313-2.223-.3-.847-.45-1.758-.45-2.732"/>
+        <path id="left-bracket" d="M3 12.045c0-.99.15-1.915.45-2.777.306-.862.743-1.618 1.314-2.268H6.23c-.552.72-.968 1.512-1.25 2.374-.28.862-.42 1.75-.42 2.66 0 .915.142 1.8.427 2.654.29.85.7 1.622 1.23 2.312h-1.45c-.575-.635-1.013-1.376-1.314-2.223-.3-.847-.45-1.758-.45-2.732"/>
         <path id="dot" d="M10 16c0 .552-.448 1-1 1s-1-.448-1-1 .448-1 1-1 1 .448 1 1z"/>
-        <path id="star" d="M14.25 7.013l-.24 2.156 2.187-.61.193 1.477-1.992.14 1.307 1.74-1.33.71-.914-1.834-.802 1.822-1.383-.697 1.295-1.74-1.98-.152.23-1.465 2.138.61-.24-2.156h1.535"/>
-        <path id="right-bracket" d="M21 12.045c0 .982-.152 1.896-.457 2.744-.3.846-.737 1.584-1.307 2.21h-1.453c.527-.686.936-1.455 1.225-2.306.29-.855.434-1.74.434-2.66 0-.91-.14-1.797-.422-2.66-.28-.862-.697-1.654-1.248-2.374h1.465c.574.653 1.012 1.413 1.313 2.28.3.86.45 1.783.45 2.765"/>
+        <path id="star" d="M14.25 7.013l-.24 2.156 2.187-.61.193 1.475-1.992.14 1.307 1.74-1.33.71-.914-1.834-.8 1.823-1.383-.697 1.295-1.74-1.98-.152.23-1.465 2.14.61-.24-2.157h1.534"/>
+        <path id="right-bracket" d="M21 12.045c0 .982-.152 1.896-.457 2.744-.3.844-.737 1.582-1.307 2.21h-1.453c.527-.688.936-1.457 1.225-2.308.29-.855.434-1.74.434-2.66 0-.91-.14-1.797-.422-2.66-.28-.862-.697-1.654-1.248-2.374h1.465c.574.652 1.012 1.412 1.313 2.28.3.86.45 1.782.45 2.764"/>
     </g>
 </svg>
index 092200a..ce6f7b2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><style>* { fill: #FFFFFF }</style>
     <g id="secure">
-        <path id="lock" d="M8 5h.02v-.997c0-.057.003-1.41-.833-2.255-.434-.438-.998-.66-1.68-.66s-1.244.222-1.677.66c-.837.846-.833 2.198-.832 2.25V5H3c-.553 0-1 .447-1 1v3c0 .553.447 1 1 1h5c.553 0 1-.447 1-1V6c0-.553-.447-1-1-1zM3.998 5V3.993c0-.01.005-1 .543-1.543.483-.485 1.45-.487 1.933-.002.544.546.546 1.536.546 1.55V5H3.997z"/>
+        <path id="lock" d="M8 5h.02v-.997c0-.057.003-1.41-.833-2.255-.434-.438-.998-.66-1.68-.66s-1.244.222-1.677.66c-.837.846-.833 2.198-.832 2.25V5H3c-.553 0-1 .447-1 1v3c0 .553.447 1 1 1h5c.553 0 1-.447 1-1V6c0-.553-.447-1-1-1zM3.998 5V3.993c0-.01.005-1 .543-1.543.485-.485 1.45-.487 1.935-.002.544.546.546 1.536.546 1.55V5H3.998z"/>
     </g>
 </svg>
index 9a75454..6eefe90 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
     <g id="secure">
-        <path id="lock" d="M8 5h.02v-.997c0-.057.003-1.41-.833-2.255-.434-.438-.998-.66-1.68-.66s-1.244.222-1.677.66c-.837.846-.833 2.198-.832 2.25V5H3c-.553 0-1 .447-1 1v3c0 .553.447 1 1 1h5c.553 0 1-.447 1-1V6c0-.553-.447-1-1-1zM3.998 5V3.993c0-.01.005-1 .543-1.543.483-.485 1.45-.487 1.933-.002.544.546.546 1.536.546 1.55V5H3.997z"/>
+        <path id="lock" d="M8 5h.02v-.997c0-.057.003-1.41-.833-2.255-.434-.438-.998-.66-1.68-.66s-1.244.222-1.677.66c-.837.846-.833 2.198-.832 2.25V5H3c-.553 0-1 .447-1 1v3c0 .553.447 1 1 1h5c.553 0 1-.447 1-1V6c0-.553-.447-1-1-1zM3.998 5V3.993c0-.01.005-1 .543-1.543.485-.485 1.45-.487 1.935-.002.544.546.546 1.536.546 1.55V5H3.998z"/>
     </g>
 </svg>
index 17df47a..10e7967 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter-invert.png differ
index e88f51b..fbba082 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="special-character">
-        <path id="omega" d="M12 6.708c-.794 0-1.368.103-1.894.31-.525.207-.944.496-1.255.867-.31.366-.53.808-.66 1.327-.127.513-.19 1.08-.19 1.7 0 .512.057 1 .173 1.46.122.46.31.87.568 1.23.63.862 1.156 1.138 2.012 1.362L11 18H6v-3h.604l.53 1.353.395.053.604.044.75.035.457.01H10l-.09-.895c-.63-.094-.812-.268-1.337-.522-.525-.26-.98-.59-1.365-.99-.38-.402-.675-.868-.89-1.4-.213-.536-.32-1.13-.32-1.778 0-.82.13-1.537.394-2.15.27-.62.656-1.133 1.163-1.54.507-.407 1.133-.71 1.878-.912.745-.206 1.6-.31 2.565-.31.96 0 1.81.103 2.556.31.75.2 1.38.504 1.887.912.508.407.893.92 1.155 1.54.27.614.403 1.33.403 2.15 0 .65-.107 1.242-.32 1.78-.215.53-.514.996-.9 1.397-.378.4-.83.732-1.355.99-.525.255-.707.43-1.336.523l-.092.894h.66l.447-.01.75-.034.606-.044.403-.053.532-1.354h.605v3h-5l.247-3.036c1.066-.11 1.337-.696 2.002-1.363.263-.36.452-.77.568-1.23.122-.46.183-.946.183-1.46 0-.618-.064-1.185-.192-1.698-.128-.52-.348-.962-.66-1.327-.31-.372-.73-.66-1.255-.867-.525-.206-1.1-.31-1.894-.31"/>
+        <path id="omega" d="M12 6.708c-.794 0-1.368.103-1.894.31-.525.207-.944.496-1.255.867-.31.366-.53.808-.66 1.327-.125.513-.19 1.08-.19 1.7 0 .512.06 1 .175 1.46.122.46.31.87.568 1.23.63.862 1.156 1.138 2.012 1.362L11 18H6v-3h.604l.53 1.353.395.053.602.044.75.035.457.01H10l-.09-.895c-.63-.094-.812-.268-1.337-.522-.525-.26-.98-.59-1.365-.99-.38-.402-.675-.868-.89-1.4-.213-.536-.32-1.13-.32-1.778 0-.82.13-1.537.394-2.15.27-.62.656-1.133 1.163-1.54.507-.407 1.133-.71 1.878-.912.745-.206 1.6-.31 2.565-.31.96 0 1.81.103 2.556.31.75.2 1.38.504 1.887.912.51.407.895.92 1.157 1.54.27.614.403 1.33.403 2.15 0 .65-.108 1.242-.32 1.78-.216.53-.515.996-.9 1.397-.38.4-.83.732-1.356.99-.525.255-.707.43-1.336.523l-.092.894h.66l.447-.01.75-.034.606-.044.4-.053.533-1.354H18v3h-5l.246-3.038c1.066-.11 1.337-.696 2.002-1.363.263-.36.452-.77.568-1.23.122-.46.183-.947.183-1.46 0-.62-.066-1.186-.194-1.7-.128-.52-.348-.96-.66-1.326-.31-.372-.73-.66-1.255-.867-.524-.206-1.1-.31-1.893-.31"/>
     </g>
 </svg>
index 2f38ecc..e632f8a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter.png differ
index c2ffd48..bb81880 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="special-character">
-        <path id="omega" d="M12 6.708c-.794 0-1.368.103-1.894.31-.525.207-.944.496-1.255.867-.31.366-.53.808-.66 1.327-.127.513-.19 1.08-.19 1.7 0 .512.057 1 .173 1.46.122.46.31.87.568 1.23.63.862 1.156 1.138 2.012 1.362L11 18H6v-3h.604l.53 1.353.395.053.604.044.75.035.457.01H10l-.09-.895c-.63-.094-.812-.268-1.337-.522-.525-.26-.98-.59-1.365-.99-.38-.402-.675-.868-.89-1.4-.213-.536-.32-1.13-.32-1.778 0-.82.13-1.537.394-2.15.27-.62.656-1.133 1.163-1.54.507-.407 1.133-.71 1.878-.912.745-.206 1.6-.31 2.565-.31.96 0 1.81.103 2.556.31.75.2 1.38.504 1.887.912.508.407.893.92 1.155 1.54.27.614.403 1.33.403 2.15 0 .65-.107 1.242-.32 1.78-.215.53-.514.996-.9 1.397-.378.4-.83.732-1.355.99-.525.255-.707.43-1.336.523l-.092.894h.66l.447-.01.75-.034.606-.044.403-.053.532-1.354h.605v3h-5l.247-3.036c1.066-.11 1.337-.696 2.002-1.363.263-.36.452-.77.568-1.23.122-.46.183-.946.183-1.46 0-.618-.064-1.185-.192-1.698-.128-.52-.348-.962-.66-1.327-.31-.372-.73-.66-1.255-.867-.525-.206-1.1-.31-1.894-.31"/>
+        <path id="omega" d="M12 6.708c-.794 0-1.368.103-1.894.31-.525.207-.944.496-1.255.867-.31.366-.53.808-.66 1.327-.125.513-.19 1.08-.19 1.7 0 .512.06 1 .175 1.46.122.46.31.87.568 1.23.63.862 1.156 1.138 2.012 1.362L11 18H6v-3h.604l.53 1.353.395.053.602.044.75.035.457.01H10l-.09-.895c-.63-.094-.812-.268-1.337-.522-.525-.26-.98-.59-1.365-.99-.38-.402-.675-.868-.89-1.4-.213-.536-.32-1.13-.32-1.778 0-.82.13-1.537.394-2.15.27-.62.656-1.133 1.163-1.54.507-.407 1.133-.71 1.878-.912.745-.206 1.6-.31 2.565-.31.96 0 1.81.103 2.556.31.75.2 1.38.504 1.887.912.51.407.895.92 1.157 1.54.27.614.403 1.33.403 2.15 0 .65-.108 1.242-.32 1.78-.216.53-.515.996-.9 1.397-.38.4-.83.732-1.356.99-.525.255-.707.43-1.336.523l-.092.894h.66l.447-.01.75-.034.606-.044.4-.053.533-1.354H18v3h-5l.246-3.038c1.066-.11 1.337-.696 2.002-1.363.263-.36.452-.77.568-1.23.122-.46.183-.947.183-1.46 0-.62-.066-1.186-.194-1.7-.128-.52-.348-.96-.66-1.326-.31-.372-.73-.66-1.255-.867-.524-.206-1.1-.31-1.893-.31"/>
     </g>
 </svg>
index d4cea6e..b707280 100644 (file)
@@ -2,6 +2,6 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="strikethrough-s">
         <path id="strikethrough" d="M6 12h12v1H6v-1z"/>
-        <path id="s" d="M12.094 6c-1.133 0-2.076.287-2.75.9-.67.613-1 1.49-1 2.52 0 .89.22 1.602.72 2.13.497.528 1.278.91 2.31 1.14l.813.182v-.03c.656.147 1.128.375 1.375.63.252.256.375.607.375 1.11 0 .573-.172.97-.53 1.26-.36.29-.895.45-1.626.45-.476 0-.968-.074-1.468-.24-.502-.166-1.03-.417-1.562-.75l-.375-.238v2.158l.156.062c.58.237 1.144.417 1.69.54.548.12 1.07.18 1.56.18 1.287 0 2.298-.293 3-.9.71-.605 1.063-1.486 1.063-2.608 0-.943-.256-1.726-.78-2.312-.522-.592-1.306-1-2.345-1.23l-.812-.18c-.716-.148-1.204-.352-1.406-.54-.205-.202-.312-.484-.312-.934 0-.533.162-.9.5-1.17.342-.27.836-.42 1.53-.42.396 0 .82.052 1.25.18.434.128.91.334 1.407.6l.375.18V6.63s-1.188-.383-1.688-.48c-.5-.097-.984-.15-1.468-.15z"/>
+        <path id="s" d="M12.094 6c-1.133 0-2.076.287-2.75.9-.67.613-1 1.49-1 2.52 0 .89.22 1.602.72 2.13.497.528 1.278.91 2.31 1.14l.813.182v-.03c.656.147 1.128.375 1.375.63.252.256.375.607.375 1.11 0 .573-.172.97-.53 1.26-.36.29-.895.45-1.626.45-.474 0-.966-.074-1.466-.24-.502-.166-1.03-.417-1.562-.75l-.374-.238v2.158l.156.062c.58.237 1.144.417 1.69.54.548.12 1.07.18 1.56.18 1.287 0 2.298-.293 3-.9.71-.605 1.063-1.486 1.063-2.608 0-.943-.256-1.726-.78-2.312-.522-.592-1.306-1-2.345-1.23l-.812-.18c-.716-.148-1.204-.352-1.406-.54-.205-.202-.312-.484-.312-.934 0-.533.162-.9.5-1.17.342-.27.836-.42 1.53-.42.396 0 .82.052 1.25.18.434.128.91.334 1.407.6l.374.18V6.63s-1.188-.383-1.688-.48c-.5-.097-.984-.15-1.468-.15z"/>
     </g>
 </svg>
index 6408d01..71fa960 100644 (file)
@@ -2,6 +2,6 @@
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="strikethrough-s">
         <path id="strikethrough" d="M6 12h12v1H6v-1z"/>
-        <path id="s" d="M12.094 6c-1.133 0-2.076.287-2.75.9-.67.613-1 1.49-1 2.52 0 .89.22 1.602.72 2.13.497.528 1.278.91 2.31 1.14l.813.182v-.03c.656.147 1.128.375 1.375.63.252.256.375.607.375 1.11 0 .573-.172.97-.53 1.26-.36.29-.895.45-1.626.45-.476 0-.968-.074-1.468-.24-.502-.166-1.03-.417-1.562-.75l-.375-.238v2.158l.156.062c.58.237 1.144.417 1.69.54.548.12 1.07.18 1.56.18 1.287 0 2.298-.293 3-.9.71-.605 1.063-1.486 1.063-2.608 0-.943-.256-1.726-.78-2.312-.522-.592-1.306-1-2.345-1.23l-.812-.18c-.716-.148-1.204-.352-1.406-.54-.205-.202-.312-.484-.312-.934 0-.533.162-.9.5-1.17.342-.27.836-.42 1.53-.42.396 0 .82.052 1.25.18.434.128.91.334 1.407.6l.375.18V6.63s-1.188-.383-1.688-.48c-.5-.097-.984-.15-1.468-.15z"/>
+        <path id="s" d="M12.094 6c-1.133 0-2.076.287-2.75.9-.67.613-1 1.49-1 2.52 0 .89.22 1.602.72 2.13.497.528 1.278.91 2.31 1.14l.813.182v-.03c.656.147 1.128.375 1.375.63.252.256.375.607.375 1.11 0 .573-.172.97-.53 1.26-.36.29-.895.45-1.626.45-.474 0-.966-.074-1.466-.24-.502-.166-1.03-.417-1.562-.75l-.374-.238v2.158l.156.062c.58.237 1.144.417 1.69.54.548.12 1.07.18 1.56.18 1.287 0 2.298-.293 3-.9.71-.605 1.063-1.486 1.063-2.608 0-.943-.256-1.726-.78-2.312-.522-.592-1.306-1-2.345-1.23l-.812-.18c-.716-.148-1.204-.352-1.406-.54-.205-.202-.312-.484-.312-.934 0-.533.162-.9.5-1.17.342-.27.836-.42 1.53-.42.396 0 .82.052 1.25.18.434.128.91.334 1.407.6l.374.18V6.63s-1.188-.383-1.688-.48c-.5-.097-.984-.15-1.468-.15z"/>
     </g>
 </svg>
index 6067a84..24e7133 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-constructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-constructive.png differ
index d53e332..b79e14c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #00AF89 }</style>
     <g id="tag">
-        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.388-.707-1.156-.707-1.706V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.708.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.576 1.515.576 2.094 0 .576-.578.576-1.517 0-2.095-.58-.576-1.518-.577-2.094 0z"/>
+        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.386-.707-1.154-.707-1.704V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.71.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.574 1.515.574 2.094 0 .576-.58.576-1.52 0-2.097-.58-.576-1.518-.577-2.094 0z"/>
     </g>
 </svg>
index 6c6099e..d8571fe 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-destructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-destructive.png differ
index 710a19a..61848c7 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #D11D13 }</style>
     <g id="tag">
-        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.388-.707-1.156-.707-1.706V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.708.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.576 1.515.576 2.094 0 .576-.578.576-1.517 0-2.095-.58-.576-1.518-.577-2.094 0z"/>
+        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.386-.707-1.154-.707-1.704V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.71.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.574 1.515.574 2.094 0 .576-.58.576-1.52 0-2.097-.58-.576-1.518-.577-2.094 0z"/>
     </g>
 </svg>
index 80c5e8c..1d59c50 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-invert.png differ
index d42ac07..71e05f1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="tag">
-        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.388-.707-1.156-.707-1.706V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.708.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.576 1.515.576 2.094 0 .576-.578.576-1.517 0-2.095-.58-.576-1.518-.577-2.094 0z"/>
+        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.386-.707-1.154-.707-1.704V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.71.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.574 1.515.574 2.094 0 .576-.58.576-1.52 0-2.097-.58-.576-1.518-.577-2.094 0z"/>
     </g>
 </svg>
index 7b4e2f9..b2c39f7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-progressive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-progressive.png differ
index 49dde93..d4b7032 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #347BFF }</style>
     <g id="tag">
-        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.388-.707-1.156-.707-1.706V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.708.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.576 1.515.576 2.094 0 .576-.578.576-1.517 0-2.095-.58-.576-1.518-.577-2.094 0z"/>
+        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.386-.707-1.154-.707-1.704V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.71.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.574 1.515.574 2.094 0 .576-.58.576-1.52 0-2.097-.58-.576-1.518-.577-2.094 0z"/>
     </g>
 </svg>
index 844cc18..1049e15 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-warning.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-warning.png differ
index 3fe96f5..36e56b2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FF5D00 }</style>
     <g id="tag">
-        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.388-.707-1.156-.707-1.706V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.708.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.576 1.515.576 2.094 0 .576-.578.576-1.517 0-2.095-.58-.576-1.518-.577-2.094 0z"/>
+        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.386-.707-1.154-.707-1.704V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.71.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.574 1.515.574 2.094 0 .576-.58.576-1.52 0-2.097-.58-.576-1.518-.577-2.094 0z"/>
     </g>
 </svg>
index 15de70b..3bfbd0b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag.png differ
index 8e517bf..71671c0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="tag">
-        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.388-.707-1.156-.707-1.706V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.708.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.576 1.515.576 2.094 0 .576-.578.576-1.517 0-2.095-.58-.576-1.518-.577-2.094 0z"/>
+        <path d="M18.748 11.717c.39.39.39 1.025 0 1.414l-4.95 4.95c-.388.39-1.024.39-1.413 0l-6.01-6.01c-.39-.386-.707-1.154-.707-1.704V6c0-.55.45-1 1-1h4.363c.55 0 1.32.318 1.71.707l6.01 6.01zM8.104 7.457c-.58.575-.578 1.513 0 2.092.577.574 1.515.574 2.094 0 .576-.58.576-1.52 0-2.097-.58-.576-1.518-.577-2.094 0z"/>
     </g>
 </svg>
index baf5c14..33089a0 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="text-style">
-        <path id="a" d="M15.296 18h2.79l-1.14-12h-2.79L6 18h2.79l2.038-3h4.183l.286 3zm-3.11-5L14.5 9.6l.323 3.4h-2.633z"/>
+        <path id="a" d="M15.296 18h2.79l-1.14-12h-2.79L6 18h2.79l2.038-3h4.183l.288 3zm-3.11-5L14.5 9.6l.323 3.4H12.19z"/>
         <path id="underline" d="M6 19h12v1H6v-1z"/>
     </g>
 </svg>
index d9ff340..77c66a0 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="text-style">
-        <path id="a" d="M15.296 18h2.79l-1.14-12h-2.79L6 18h2.79l2.038-3h4.183l.286 3zm-3.11-5L14.5 9.6l.323 3.4h-2.633z"/>
+        <path id="a" d="M15.296 18h2.79l-1.14-12h-2.79L6 18h2.79l2.038-3h4.183l.288 3zm-3.11-5L14.5 9.6l.323 3.4H12.19z"/>
         <path id="underline" d="M6 19h12v1H6v-1z"/>
     </g>
 </svg>
index 97fcdc4..9629e8f 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #D11D13 }</style>
-    <path d="M12 9v-2s0-5-4.5-5-4.5 5-4.5 5h2s0-3 2.5-3 2.5 3 2.5 3v2h-3v7c0 1.7 1.3 3 3 3h10v-10z" id="path726"/>
+    <path d="M12 9V7s0-5-4.5-5S3 7 3 7h2s0-3 2.5-3S10 7 10 7v2H7v7c0 1.7 1.3 3 3 3h10V9z" id="path726"/>
 </svg>
index b496a06..ef4247a 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
-    <path d="M12 9v-2s0-5-4.5-5-4.5 5-4.5 5h2s0-3 2.5-3 2.5 3 2.5 3v2h-3v7c0 1.7 1.3 3 3 3h10v-10z" id="path726"/>
+    <path d="M12 9V7s0-5-4.5-5S3 7 3 7h2s0-3 2.5-3S10 7 10 7v2H7v7c0 1.7 1.3 3 3 3h10V9z" id="path726"/>
 </svg>
index 66c024a..cf12ece 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <path d="M12 9v-2s0-5-4.5-5-4.5 5-4.5 5h2s0-3 2.5-3 2.5 3 2.5 3v2h-3v7c0 1.7 1.3 3 3 3h10v-10z" id="path726"/>
+    <path d="M12 9V7s0-5-4.5-5S3 7 3 7h2s0-3 2.5-3S10 7 10 7v2H7v7c0 1.7 1.3 3 3 3h10V9z" id="path726"/>
 </svg>
index a52f0fe..73e0db1 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #D11D13 }</style>
-    <path d="M11 9v-2s0-5 4.5-5 4.5 5 4.5 5h-2s0-3-2.5-3-2.5 3-2.5 3v2h3v7c0 1.7-1.3 3-3 3h-10v-10z" id="path726"/>
+    <path d="M11 9V7s0-5 4.5-5S20 7 20 7h-2s0-3-2.5-3S13 7 13 7v2h3v7c0 1.7-1.3 3-3 3H3V9z" id="path726"/>
 </svg>
index 814af1d..ce5f164 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
-    <path d="M11 9v-2s0-5 4.5-5 4.5 5 4.5 5h-2s0-3-2.5-3-2.5 3-2.5 3v2h3v7c0 1.7-1.3 3-3 3h-10v-10z" id="path726"/>
+    <path d="M11 9V7s0-5 4.5-5S20 7 20 7h-2s0-3-2.5-3S13 7 13 7v2h3v7c0 1.7-1.3 3-3 3H3V9z" id="path726"/>
 </svg>
index 07cecbf..0004535 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <path d="M11 9v-2s0-5 4.5-5 4.5 5 4.5 5h-2s0-3-2.5-3-2.5 3-2.5 3v2h3v7c0 1.7-1.3 3-3 3h-10v-10z" id="path726"/>
+    <path d="M11 9V7s0-5 4.5-5S20 7 20 7h-2s0-3-2.5-3S13 7 13 7v2h3v7c0 1.7-1.3 3-3 3H3V9z" id="path726"/>
 </svg>
index 00913f7..b12856d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a-invert.png differ
index 4ee0553..3581c57 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="underline-a">
-        <path id="a" d="M14.424 16H16.5L13.037 6H10.96L7.5 16h2.077l.627-2h3.604l.616 2zm-3.92-3.623l1.495-4.38 1.51 4.38h-3z"/>
+        <path id="a" d="M14.424 16H16.5L13.037 6H10.96L7.5 16h2.077l.627-2h3.604l.616 2zm-3.92-3.623L12 7.997l1.51 4.38h-3z"/>
         <path id="underline" d="M7 17h10v1H7v-1z"/>
     </g>
 </svg>
index 81713bd..f4add0a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a.png differ
index ea7350b..1ddae10 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="underline-a">
-        <path id="a" d="M14.424 16H16.5L13.037 6H10.96L7.5 16h2.077l.627-2h3.604l.616 2zm-3.92-3.623l1.495-4.38 1.51 4.38h-3z"/>
+        <path id="a" d="M14.424 16H16.5L13.037 6H10.96L7.5 16h2.077l.627-2h3.604l.616 2zm-3.92-3.623L12 7.997l1.51 4.38h-3z"/>
         <path id="underline" d="M7 17h10v1H7v-1z"/>
     </g>
 </svg>
index 5f841f9..342493b 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
     <g id="underline-u">
-        <path id="u" d="M8 6h2v5.96c-.104 1.706.695 2 2 2.04 1.777.062 2.002-.88 2-2.04V6h2v6.123c0 1.28-.338 2.245-1.016 2.898-.672.652-1.666.98-2.98.98-1.32 0-2.32-.326-2.996-.98C8.336 14.37 8 13.403 8 12.124V6"/>
+        <path id="u" d="M8 6h2v5.96c-.104 1.706.695 2 2 2.04 1.777.062 2.002-.88 2-2.04V6h2v6.123c0 1.28-.338 2.245-1.016 2.898-.672.654-1.666.98-2.98.98-1.32 0-2.32-.324-2.996-.98C8.336 14.37 8 13.405 8 12.126V6"/>
         <path id="underline" d="M7 17h10v1H7v-1z"/>
     </g>
 </svg>
index d07129f..7378298 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
     <g id="underline-u">
-        <path id="u" d="M8 6h2v5.96c-.104 1.706.695 2 2 2.04 1.777.062 2.002-.88 2-2.04V6h2v6.123c0 1.28-.338 2.245-1.016 2.898-.672.652-1.666.98-2.98.98-1.32 0-2.32-.326-2.996-.98C8.336 14.37 8 13.403 8 12.124V6"/>
+        <path id="u" d="M8 6h2v5.96c-.104 1.706.695 2 2 2.04 1.777.062 2.002-.88 2-2.04V6h2v6.123c0 1.28-.338 2.245-1.016 2.898-.672.654-1.666.98-2.98.98-1.32 0-2.32-.324-2.996-.98C8.336 14.37 8 13.405 8 12.126V6"/>
         <path id="underline" d="M7 17h10v1H7v-1z"/>
     </g>
 </svg>
index b04b92a..fbd6af1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-invert.png differ
index 2348e8e..322b5b1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><style>* { fill: #FFFFFF }</style>
     <g id="search">
-        <path id="path3051" d="M10.37 9.474L7.994 7.1l-.17-.1c.404-.566.644-1.26.644-2.01-.002-1.92-1.56-3.476-3.478-3.476-1.92 0-3.478 1.557-3.478 3.478 0 1.92 1.557 3.477 3.478 3.477.75 0 1.442-.24 2.01-.644l.098.17 2.375 2.373c.19.188.543.142.79-.105s.293-.6.104-.79zM4.99 7.204c-1.22 0-2.213-.99-2.213-2.213 0-1.22.99-2.212 2.212-2.212 1.222 0 2.213.992 2.213 2.213 0 1.223-.992 2.214-2.213 2.214z"/>
+        <path id="path3051" d="M10.37 9.474L7.994 7.1l-.17-.1c.404-.566.644-1.26.644-2.01-.002-1.92-1.56-3.476-3.478-3.476-1.92 0-3.478 1.557-3.478 3.478 0 1.92 1.557 3.477 3.478 3.477.75 0 1.442-.24 2.01-.646l.098.17 2.375 2.373c.19.188.543.142.79-.105s.293-.6.104-.79zm-5.38-2.27c-1.22 0-2.213-.99-2.213-2.213 0-1.22.99-2.21 2.212-2.21 1.22 0 2.21.99 2.21 2.213S6.21 7.207 4.99 7.207z"/>
     </g>
 </svg>
index cc1f377..985e602 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr.png differ
index 9b49c4b..e5c4010 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
     <g id="search">
-        <path id="path3051" d="M10.37 9.474L7.994 7.1l-.17-.1c.404-.566.644-1.26.644-2.01-.002-1.92-1.56-3.476-3.478-3.476-1.92 0-3.478 1.557-3.478 3.478 0 1.92 1.557 3.477 3.478 3.477.75 0 1.442-.24 2.01-.644l.098.17 2.375 2.373c.19.188.543.142.79-.105s.293-.6.104-.79zM4.99 7.204c-1.22 0-2.213-.99-2.213-2.213 0-1.22.99-2.212 2.212-2.212 1.222 0 2.213.992 2.213 2.213 0 1.223-.992 2.214-2.213 2.214z"/>
+        <path id="path3051" d="M10.37 9.474L7.994 7.1l-.17-.1c.404-.566.644-1.26.644-2.01-.002-1.92-1.56-3.476-3.478-3.476-1.92 0-3.478 1.557-3.478 3.478 0 1.92 1.557 3.477 3.478 3.477.75 0 1.442-.24 2.01-.646l.098.17 2.375 2.373c.19.188.543.142.79-.105s.293-.6.104-.79zm-5.38-2.27c-1.22 0-2.213-.99-2.213-2.213 0-1.22.99-2.21 2.212-2.21 1.22 0 2.21.99 2.21 2.213S6.21 7.207 4.99 7.207z"/>
     </g>
 </svg>
index acabbbd..bcafcd6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-invert.png differ
index d57b976..a90817d 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><style>* { fill: #FFFFFF }</style>
     <g id="search">
-        <path id="path3051" d="M1.63 9.474L4.006 7.1l.17-.1c-.404-.566-.644-1.26-.644-2.01.002-1.92 1.56-3.476 3.478-3.476 1.92 0 3.478 1.557 3.478 3.478 0 1.92-1.557 3.477-3.478 3.477-.75 0-1.442-.24-2.01-.644l-.098.17-2.375 2.373c-.19.188-.543.142-.79-.105s-.293-.6-.104-.79zm5.378-2.27c1.22 0 2.213-.99 2.213-2.213 0-1.22-.99-2.212-2.212-2.212-1.222 0-2.213.992-2.213 2.213 0 1.223.992 2.214 2.213 2.214z"/>
+        <path id="path3051" d="M1.63 9.474L4.006 7.1l.17-.1c-.404-.566-.644-1.26-.644-2.01.002-1.92 1.56-3.476 3.478-3.476 1.92 0 3.478 1.557 3.478 3.478 0 1.92-1.557 3.477-3.478 3.477-.75 0-1.442-.24-2.01-.646l-.098.17-2.375 2.373c-.19.188-.543.142-.79-.105s-.293-.6-.104-.79zm5.378-2.27c1.22 0 2.213-.99 2.213-2.213 0-1.22-.99-2.21-2.21-2.21-1.222 0-2.213.99-2.213 2.213S5.79 7.207 7.01 7.207z"/>
     </g>
 </svg>
index 5564b42..4213d67 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl.png differ
index 3847af2..759f57e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
     <g id="search">
-        <path id="path3051" d="M1.63 9.474L4.006 7.1l.17-.1c-.404-.566-.644-1.26-.644-2.01.002-1.92 1.56-3.476 3.478-3.476 1.92 0 3.478 1.557 3.478 3.478 0 1.92-1.557 3.477-3.478 3.477-.75 0-1.442-.24-2.01-.644l-.098.17-2.375 2.373c-.19.188-.543.142-.79-.105s-.293-.6-.104-.79zm5.378-2.27c1.22 0 2.213-.99 2.213-2.213 0-1.22-.99-2.212-2.212-2.212-1.222 0-2.213.992-2.213 2.213 0 1.223.992 2.214 2.213 2.214z"/>
+        <path id="path3051" d="M1.63 9.474L4.006 7.1l.17-.1c-.404-.566-.644-1.26-.644-2.01.002-1.92 1.56-3.476 3.478-3.476 1.92 0 3.478 1.557 3.478 3.478 0 1.92-1.557 3.477-3.478 3.477-.75 0-1.442-.24-2.01-.646l-.098.17-2.375 2.373c-.19.188-.543.142-.79-.105s-.293-.6-.104-.79zm5.378-2.27c1.22 0 2.213-.99 2.213-2.213 0-1.22-.99-2.21-2.21-2.21-1.222 0-2.213.99-2.213 2.213S5.79 7.207 7.01 7.207z"/>
     </g>
 </svg>
diff --git a/resources/src/mediawiki.api/mediawiki.api.upload.js b/resources/src/mediawiki.api/mediawiki.api.upload.js
new file mode 100644 (file)
index 0000000..f147ac8
--- /dev/null
@@ -0,0 +1,359 @@
+/**
+ * Provides an interface for uploading files to MediaWiki.
+ * @class mw.Api.plugin.upload
+ * @singleton
+ */
+( function ( mw, $ ) {
+       var nonce = 0,
+               fieldsAllowed = {
+                       stash: true,
+                       filekey: true,
+                       filename: true,
+                       comment: true,
+                       text: true,
+                       watchlist: true,
+                       ignorewarnings: true
+               };
+
+       /**
+        * @private
+        * Get nonce for iframe IDs on the page.
+        * @return {number}
+        */
+       function getNonce() {
+               return nonce++;
+       }
+
+       /**
+        * @private
+        * Get new iframe object for an upload.
+        * @return {HTMLIframeElement}
+        */
+       function getNewIframe( id ) {
+               var frame = document.createElement( 'iframe' );
+               frame.id = id;
+               frame.name = id;
+               return frame;
+       }
+
+       /**
+        * @private
+        * Shortcut for getting hidden inputs
+        * @return {jQuery}
+        */
+       function getHiddenInput( name, val ) {
+               return $( '<input type="hidden" />')
+                       .attr( 'name', name )
+                       .val( val );
+       }
+
+       /**
+        * Parse response from an XHR to the server.
+        * @private
+        * @param {Event} e
+        * @return {Object}
+        */
+       function parseXHRResponse( e ) {
+               var response;
+
+               try {
+                       response = $.parseJSON( e.target.responseText );
+               } catch ( error ) {
+                       response = {
+                               error: {
+                                       code: e.target.code,
+                                       info: e.target.responseText
+                               }
+                       };
+               }
+
+               return response;
+       }
+
+       /**
+        * Process the result of the form submission, returned to an iframe.
+        * This is the iframe's onload event.
+        *
+        * @param {HTMLIframeElement} iframe Iframe to extract result from
+        * @return {Object} Response from the server. The return value may or may
+        *   not be an XMLDocument, this code was copied from elsewhere, so if you
+        *   see an unexpected return type, please file a bug.
+        */
+       function processIframeResult( iframe ) {
+               var json,
+                       doc = iframe.contentDocument || frames[iframe.id].document;
+
+               if ( doc.XMLDocument ) {
+                       // The response is a document property in IE
+                       return doc.XMLDocument;
+               }
+
+               if ( doc.body ) {
+                       // Get the json string
+                       // We're actually searching through an HTML doc here --
+                       // according to mdale we need to do this
+                       // because IE does not load JSON properly in an iframe
+                       json = $( doc.body ).find( 'pre' ).text();
+
+                       return JSON.parse( json );
+               }
+
+               // Response is a xml document
+               return doc;
+       }
+
+       function formDataAvailable() {
+               return window.FormData !== undefined &&
+                       window.File !== undefined &&
+                       window.File.prototype.slice !== undefined;
+       }
+
+       $.extend( mw.Api.prototype, {
+               /**
+                * Upload a file to MediaWiki.
+                * @param {HTMLInputElement|File} file HTML input type=file element with a file already inside of it, or a File object.
+                * @param {Object} data Other upload options, see action=upload API docs for more
+                * @return {jQuery.Promise}
+                */
+               upload: function ( file, data ) {
+                       var iframe, formData;
+
+                       if ( !file ) {
+                               return $.Deferred().reject( 'No file' );
+                       }
+
+                       iframe = file.nodeType && file.nodeType === file.ELEMENT_NODE;
+                       formData = formDataAvailable() && file instanceof window.File;
+
+                       if ( !iframe && !formData ) {
+                               return $.Deferred().reject( 'Unsupported argument type passed to mw.Api.upload' );
+                       }
+
+                       if ( formData ) {
+                               return this.uploadWithFormData( file, data );
+                       }
+
+                       return this.uploadWithIframe( file, data );
+               },
+
+               /**
+                * Upload a file to MediaWiki with an iframe and a form.
+                *
+                * This method is necessary for browsers without the File/FormData
+                * APIs, and continues to work in browsers with those APIs.
+                *
+                * The rough sketch of how this method works is as follows:
+                * * An iframe is loaded with no content.
+                * * A form is submitted with the passed-in file input and some extras.
+                * * The MediaWiki API receives that form data, and sends back a response.
+                * * The response is sent to the iframe, because we set target=(iframe id)
+                * * The response is parsed out of the iframe's document, and passed back
+                *   through the promise.
+                * @param {HTMLInputElement} file The file input with a file in it.
+                * @param {Object} data Other upload options, see action=upload API docs for more
+                * @return {jQuery.Promise}
+                */
+               uploadWithIframe: function ( file, data ) {
+                       var tokenPromise,
+                               api = this,
+                               filenameFound = false,
+                               deferred = $.Deferred(),
+                               nonce = getNonce(),
+                               id = 'uploadframe-' + nonce,
+                               $form = $( '<form>' ),
+                               iframe = getNewIframe( id ),
+                               $iframe = $( iframe );
+
+                       $form.addClass( 'mw-api-upload-form' );
+
+                       $form.append(
+                               getHiddenInput( 'action', 'upload' ),
+                               getHiddenInput( 'format', 'json' ),
+                               file
+                       );
+
+                       $form.css( 'display', 'none' )
+                               .attr( {
+                                       action: this.defaults.ajax.url,
+                                       method: 'POST',
+                                       target: id,
+                                       enctype: 'multipart/form-data'
+                               } );
+
+                       $iframe.one( 'load', function () {
+                               $iframe.one( 'load', function () {
+                                       var result = processIframeResult( iframe );
+
+                                       if ( !result ) {
+                                               deferred.reject( 'No response from API on upload attempt.' );
+                                       } else if ( result.error || result.warnings ) {
+                                               if ( result.error && result.error.code === 'badtoken' ) {
+                                                       api.badToken( 'edit' );
+                                               }
+
+                                               deferred.reject( result.error || result.warnings );
+                                       } else {
+                                               deferred.notify( 1 );
+                                               deferred.resolve( result );
+                                       }
+                               } );
+                               tokenPromise.done( function () {
+                                       $form.submit();
+                               } );
+                       } );
+
+                       $iframe.error( function ( error ) {
+                               deferred.reject( 'iframe failed to load: ' + error );
+                       } );
+
+                       $iframe.prop( 'src', 'about:blank' ).hide();
+
+                       file.name = 'file';
+
+                       $.each( data, function ( key, val ) {
+                               if ( key === 'filename' ) {
+                                       filenameFound = true;
+                               }
+
+                               if ( fieldsAllowed[key] === true ) {
+                                       $form.append( getHiddenInput( key, val ) );
+                               }
+                       } );
+
+                       if ( !filenameFound && !data.stash ) {
+                               return $.Deferred().reject( 'Filename not included in file data.' );
+                       }
+
+                       tokenPromise = this.getEditToken().then( function ( token ) {
+                               $form.append( getHiddenInput( 'token', token ) );
+                       } );
+
+                       $( 'body' ).append( $form, $iframe );
+
+                       return deferred.promise();
+               },
+
+               /**
+                * Uploads a file using the FormData API.
+                * @param {File} file
+                * @param {Object} data
+                */
+               uploadWithFormData: function ( file, data ) {
+                       var xhr, tokenPromise,
+                               api = this,
+                               formData = new FormData(),
+                               deferred = $.Deferred(),
+                               filenameFound = false;
+
+                       formData.append( 'action', 'upload' );
+                       formData.append( 'format', 'json' );
+
+                       $.each( data, function ( key, val ) {
+                               if ( key === 'filename' ) {
+                                       filenameFound = true;
+                               }
+
+                               if ( fieldsAllowed[key] === true ) {
+                                       formData.append( key, val );
+                               }
+                       } );
+
+                       if ( !filenameFound && !data.stash ) {
+                               return $.Deferred().reject( 'Filename not included in file data.' );
+                       }
+
+                       formData.append( 'file', file );
+
+                       xhr = new XMLHttpRequest();
+
+                       xhr.upload.addEventListener( 'progress', function ( e ) {
+                               if ( e.lengthComputable ) {
+                                       deferred.notify( e.loaded / e.total );
+                               }
+                       }, false );
+
+                       xhr.addEventListener( 'abort', function ( e ) {
+                               deferred.reject( parseXHRResponse( e ) );
+                       }, false );
+
+                       xhr.addEventListener( 'load', function ( e ) {
+                               deferred.resolve( parseXHRResponse( e ) );
+                       }, false );
+
+                       xhr.addEventListener( 'error', function ( e ) {
+                               deferred.reject( parseXHRResponse( e ) );
+                       }, false );
+
+                       xhr.open( 'POST', this.defaults.ajax.url, true );
+
+                       tokenPromise = this.getEditToken().then( function ( token ) {
+                               formData.append( 'token', token );
+                               xhr.send( formData );
+                       }, function () {
+                               // Mark the edit token as bad, it's been used.
+                               api.badToken( 'edit' );
+                       } );
+
+                       return deferred.promise();
+               },
+
+               /**
+                * Upload a file to the stash.
+                *
+                * This function will return a promise, which when resolved, will pass back a function
+                * to finish the stash upload. You can call that function with an argument containing
+                * more, or conflicting, data to pass to the server. For example:
+                *     // upload a file to the stash with a placeholder filename
+                *     api.uploadToStash( file, { filename: 'testing.png' } ).done( function ( finish ) {
+                *         // finish is now the function we can use to finalize the upload
+                *         // pass it a new filename from user input to override the initial value
+                *         finish( { filename: getFilenameFromUser() } ).done( function ( data ) {
+                *             // the upload is complete, data holds the API response
+                *         } );
+                *     } );
+                * @param {File|HTMLInputElement} file
+                * @param {Object} [data]
+                * @return {jQuery.Promise}
+                * @return {Function} return.finishStashUpload Call this function to finish the upload.
+                * @return {Object} return.finishStashUpload.data Additional data for the upload.
+                * @return {jQuery.Promise} return.finishStashUpload.return API promise for the final upload
+                * @return {Object} return.finishStashUpload.return.data API return value for the final upload
+                */
+               uploadToStash: function ( file, data ) {
+                       var filekey,
+                               api = this;
+
+                       if ( !data.filename ) {
+                               return $.Deferred().reject( 'Filename not included in file data.' );
+                       }
+
+                       function finishUpload( moreData ) {
+                               data = $.extend( data, moreData );
+                               data.filekey = filekey;
+                               data.action = 'upload';
+                               data.format = 'json';
+
+                               if ( !data.filename ) {
+                                       return $.Deferred().reject( 'Filename not included in file data.' );
+                               }
+
+                               return api.postWithEditToken( data );
+                       }
+
+                       return this.upload( file, { stash: true, filename: data.filename } ).then( function ( result ) {
+                               if ( result && result.upload && result.upload.filekey ) {
+                                       filekey = result.upload.filekey;
+                               } else if ( result && ( result.error || result.warning ) ) {
+                                       return $.Deferred().reject( result );
+                               }
+
+                               return finishUpload;
+                       } );
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.upload
+        */
+}( mediaWiki, jQuery ) );
index 9d28080..ec14f8b 100644 (file)
@@ -67,7 +67,7 @@
                        indexpageids: 1,
                        titles: title.getPrefixedDb()
                } ).then( function ( result ) {
-                       if ( result.query.pageids.length > 0 ) {
+                       if ( result.query.pageids && result.query.pageids.length > 0 ) {
                                pageId = result.query.pageids[0];
                                page = result.query.pages[pageId];
 
index cbc97ab..d706d26 100644 (file)
@@ -64,6 +64,10 @@ a.new:visited, #p-personal a.new:visited {
        color: #b63;
 }
 
+.mw-body a.external.free {
+       word-wrap: break-word;
+}
+
 /* Inline Elements */
 img {
        border: none;
index 8f845df..8d648a6 100644 (file)
@@ -172,3 +172,7 @@ table#mw-search-powertable {
 form#powersearch {
        clear: both;
 }
+
+#searchText {
+       display: inline-block;
+}
index b27fe34..23602b3 100644 (file)
@@ -33,8 +33,7 @@
 
                // Change the header search links to what user entered
                $headerLinks = $( '.search-types a' );
-               $( '#searchText, #powerSearchText' ).change( function () {
-                       var searchterm = $( this ).val();
+               OO.ui.infuse( 'searchText' ).on( 'change', function ( searchterm ) {
                        $headerLinks.each( function () {
                                var parts = $( this ).attr( 'href' ).split( 'search=' ),
                                        lastpart = '',
@@ -46,7 +45,7 @@
                                }
                                this.href = parts[0] + prefix + encodeURIComponent( searchterm ) + lastpart;
                        } );
-               } ).trigger( 'change' );
+               } );
 
                // When saving settings, use the proper request method (POST instead of GET).
                $( '#mw-search-powersearch-remember' ).change( function () {
index df2f1a7..ca8c400 100644 (file)
@@ -30,7 +30,7 @@
                config = config || {};
 
                // Parent constructor
-               OO.ui.TextInputWidget.call( this, config );
+               OO.ui.TextInputWidget.call( this, $.extend( {}, config, { autocomplete: false } ) );
 
                // Mixin constructors
                OO.ui.mixin.LookupElement.call( this, config );
diff --git a/resources/src/mediawiki.widgets/mw.widgets.infuse.js b/resources/src/mediawiki.widgets/mw.widgets.infuse.js
deleted file mode 100644 (file)
index 98480bb..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-// HACK: OO.ui.infuse assumes all widgets are in the OO.ui. namespace.
-// Make it so until this is fixed. (T104989)
-jQuery.extend( OO.ui, mediaWiki.widgets );
diff --git a/resources/src/mediawiki/mediawiki.Upload.js b/resources/src/mediawiki/mediawiki.Upload.js
new file mode 100644 (file)
index 0000000..197ea6f
--- /dev/null
@@ -0,0 +1,260 @@
+( function ( mw, $ ) {
+       var UP;
+
+       /**
+        * @class mw.Upload
+        *
+        * Used to represent an upload in progress on the frontend.
+        * Most of the functionality is implemented in mw.Api.plugin.upload,
+        * but this model class will tie it together as well as let you perform
+        * actions in a logical way.
+        *
+        * @constructor
+        * @param {Object} apiconfig Passed to the constructor of mw.Api.
+        */
+       function Upload( apiconfig ) {
+               this.api = new mw.Api( apiconfig );
+
+               this.watchlist = false;
+               this.text = '';
+               this.comment = '';
+               this.filename = null;
+               this.file = null;
+               this.state = Upload.State.NEW;
+       }
+
+       UP = Upload.prototype;
+
+       /**
+        * Set the text of the file page, to be created on file upload.
+        * @param {string} text
+        */
+       UP.setText = function ( text ) {
+               this.text = text;
+       };
+
+       /**
+        * Set the filename, to be finalized on upload.
+        * @param {string} filename
+        */
+       UP.setFilename = function ( filename ) {
+               this.filename = filename;
+       };
+
+       /**
+        * Sets the filename based on the filename as it was on the upload.
+        */
+       UP.setFilenameFromFile = function () {
+               if ( this.file.nodeType && this.file.nodeType === Node.ELEMENT_NODE ) {
+                       // File input element, use getBasename to cut out the path
+                       this.setFilename( this.getBasename( this.file.value ) );
+               } else if ( this.file.name && this.file.lastModified ) {
+                       // HTML5 FileAPI File object, but use getBasename to be safe
+                       this.setFilename( this.getBasename( this.file.name ) );
+               }
+       };
+
+       /**
+        * Set the file to be uploaded.
+        * @param {HTMLInputElement|File} file
+        */
+       UP.setFile = function ( file ) {
+               this.file = file;
+       };
+
+       /**
+        * Set whether the file should be watchlisted after upload.
+        * @param {boolean} watchlist
+        */
+       UP.setWatchlist = function ( watchlist ) {
+               this.watchlist = watchlist;
+       };
+
+       /**
+        * Set the edit comment for the upload.
+        * @param {string} comment
+        */
+       UP.setComment = function ( comment ) {
+               this.comment = comment;
+       };
+
+       /**
+        * Get the text of the file page, to be created on file upload.
+        * @return {string}
+        */
+       UP.getText = function () {
+               return this.text;
+       };
+
+       /**
+        * Get the filename, to be finalized on upload.
+        * @return {string}
+        */
+       UP.getFilename = function () {
+               return this.filename;
+       };
+
+       /**
+        * Get the file being uploaded.
+        * @return {HTMLInputElement|File}
+        */
+       UP.getFile = function () {
+               return this.file;
+       };
+
+       /**
+        * Get the boolean for whether the file will be watchlisted after upload.
+        * @return {boolean}
+        */
+       UP.getWatchlist = function () {
+               return this.watchlist;
+       };
+
+       /**
+        * Get the current value of the edit comment for the upload.
+        * @return {string}
+        */
+       UP.getComment = function () {
+               return this.comment;
+       };
+
+       /**
+        * Gets the base filename from a path name.
+        * @param {string} path
+        * @return {string}
+        */
+       UP.getBasename = function ( path ) {
+               if ( path === undefined || path === null ) {
+                       return '';
+               }
+
+               // Find the index of the last path separator in the
+               // path, and add 1. Then, take the entire string after that.
+               return path.slice(
+                       Math.max(
+                               path.lastIndexOf( '/' ),
+                               path.lastIndexOf( '\\' )
+                       ) + 1
+               );
+       };
+
+       /**
+        * Gets the state of the upload.
+        * @return {mw.Upload.State}
+        */
+       UP.getState = function () {
+               return this.state;
+       };
+
+       /**
+        * Upload the file directly.
+        * @return {jQuery.Promise}
+        */
+       UP.upload = function () {
+               var upload = this;
+
+               if ( !this.file ) {
+                       return $.Deferred().reject( 'No file to upload. Call setFile to add one.' );
+               }
+
+               if ( !this.filename ) {
+                       return $.Deferred().reject( 'No filename set. Call setFilename to add one.' );
+               }
+
+               this.state = Upload.State.UPLOADING;
+
+               return this.api.upload( this.file, {
+                       watchlist: ( this.watchlist === true ) ? 1 : undefined,
+                       comment: this.comment,
+                       filename: this.filename,
+                       text: this.text
+               } ).then( function ( result ) {
+                       upload.state = Upload.State.UPLOADED;
+                       return result;
+               }, function () {
+                       upload.state = Upload.State.ERROR;
+               } );
+       };
+
+       /**
+        * Upload the file to the stash to be completed later.
+        * @return {jQuery.Promise}
+        */
+       UP.uploadToStash = function () {
+               var upload = this;
+
+               if ( !this.file ) {
+                       return $.Deferred().reject( 'No file to upload. Call setFile to add one.' );
+               }
+
+               if ( !this.filename ) {
+                       this.setFilenameFromFile();
+               }
+
+               this.state = Upload.State.UPLOADING;
+
+               this.stashPromise = this.api.uploadToStash( this.file, {
+                       filename: this.filename
+               } ).then( function ( finishStash ) {
+                       upload.state = Upload.State.STASHED;
+                       return finishStash;
+               }, function () {
+                       upload.state = Upload.State.ERROR;
+               } );
+
+               return this.stashPromise;
+       };
+
+       /**
+        * Finish a stash upload.
+        * @return {jQuery.Promise}
+        */
+       UP.finishStashUpload = function () {
+               var upload = this;
+
+               if ( !this.stashPromise ) {
+                       return $.Deferred().reject( 'This upload has not been stashed, please upload it to the stash first.' );
+               }
+
+               return this.stashPromise.then( function ( finishStash ) {
+                       upload.state = Upload.State.UPLOADING;
+
+                       return finishStash( {
+                               watchlist: ( upload.watchlist === true ) ? 1 : undefined,
+                               comment: upload.getComment(),
+                               filename: upload.getFilename(),
+                               text: upload.getText()
+                       } ).then( function () {
+                               upload.state = Upload.State.UPLOADED;
+                       }, function () {
+                               upload.state = Upload.State.ERROR;
+                       } );
+               } );
+       };
+
+       /**
+        * @enum mw.Upload.State
+        * State of uploads represented in simple terms.
+        */
+       Upload.State = {
+               /** Upload not yet started */
+               NEW: 0,
+
+               /** Upload finished, but there was a warning */
+               WARNING: 1,
+
+               /** Upload finished, but there was an error */
+               ERROR: 2,
+
+               /** Upload in progress */
+               UPLOADING: 3,
+
+               /** Upload finished, but not published, call #finishStashUpload */
+               STASHED: 4,
+
+               /** Upload finished and published */
+               UPLOADED: 5
+       };
+
+       mw.Upload = Upload;
+}( mediaWiki, jQuery ) );
index 92294c9..31d9854 100644 (file)
@@ -1,7 +1,8 @@
 /* OOUIHTMLForm styles */
 
-.mw-htmlform-ooui {
+.mw-htmlform-ooui-wrapper {
        width: 50em;
+       margin: 1em 0;
 }
 
 .mw-htmlform-ooui .mw-htmlform-submit-buttons {
index 66d560e..343d516 100644 (file)
                 * @return {string} Other message
                 */
                'int': function ( nodes ) {
-                       return mw.jqueryMsg.getMessageFunction()( nodes[0].toLowerCase() );
+                       var msg = nodes[0];
+                       return mw.jqueryMsg.getMessageFunction()( msg.charAt( 0 ).toLowerCase() + msg.slice( 1 ) );
                },
 
                /**
index 5292e80..b620e05 100644 (file)
                searchboxesSelectors = [
                        // Primary searchbox on every page in standard skins
                        '#searchInput',
-                       // Special:Search
-                       '#powerSearchText',
-                       '#searchText',
                        // Generic selector for skins with multiple searchboxes (used by CologneBlue)
                        // and for MediaWiki itself (special pages with page title inputs)
                        '.mw-searchInput'
index 13bf455..93a1b3b 100644 (file)
@@ -82,6 +82,7 @@
                                .replace( /%29/g, ')' )
                                .replace( /%2C/g, ',' )
                                .replace( /%2F/g, '/' )
+                               .replace( /%7E/g, '~' )
                                .replace( /%3A/g, ':' );
                },
 
index 3d312f7..98e0f2c 100644 (file)
@@ -22,5 +22,5 @@ When(/^I submit the form$/) do
 end
 
 Then(/^an error message is displayed$/) do
-  expect(on(CreateAccountPage).error_message_element.class_name).to eq "errorbox"
+  expect(on(CreateAccountPage).error_message_element.class_name).to eq 'errorbox'
 end
index 1670fe4..766db1e 100644 (file)
@@ -118,6 +118,13 @@ Template:echo_with_div
 <div>{{{1}}}</div>
 !! endarticle
 
+!! article
+Template:blank_param
+!! text
+{{{1}}}
+{{{}}}
+!! endarticle
+
 !! article
 Template:table_attribs
 !! text
@@ -165,6 +172,13 @@ Template:table_cells
 {{table_attribs}}||style='color:red;'|''Bar''||style='color:brown;'|''Foo'' and Baz
 !! endarticle
 
+!! article
+Template:PartialTable
+!! text
+{|
+|-
+!! endarticle
+
 !! article
 Template:image_attribs
 !! text
@@ -1425,6 +1439,16 @@ parsoid=html2wt
 <nowiki>* &lt;/nowiki&gt;</nowiki> tag
 !! end
 
+!! test
+T93824: Put escaped HTML tags inside nowiki
+!! options
+parsoid=html2wt
+!! html
+<p>&lt;h2&gt;foo&lt;/h2&gt;</p>
+!! wikitext
+<nowiki><h2>foo</h2></nowiki>
+!! end
+
 !! test
 T71950: 1. Put nowiki as close to cause as possible, even with non-quote escapable chars
 !! options
@@ -1483,6 +1507,30 @@ parsoid=html2wt
 {{echo|a <nowiki>}</nowiki>}}
 !! end
 
+!! test
+Cases where "!!" needs nowiki protection
+!! options
+parsoid=html2wt
+!! html
+<table>
+<tr><th>this needs protection !! here</th></tr>
+</table>
+
+<table>
+<tr><th>this does not need
+protection !! here</th></tr>
+</table>
+!! wikitext
+{|
+!<nowiki>this needs protection !! here</nowiki>
+|}
+
+{|
+!this does not need
+protection !! here
+|}
+!! end
+
 ###
 ### Comments
 ###
@@ -1587,8 +1635,10 @@ Comment whitespace
 Comment semantics and delimiters
 !! wikitext
 <!-- --><!----><!-----><!------>
-!! html
+!! html/php
 
+!! html/parsoid
+<!-- --><!----><!--&#x2D;--><!--&#x2D;&#x2D;-->
 !! end
 
 !! test
@@ -1596,8 +1646,11 @@ Comment semantics and delimiters, redux
 !! wikitext
 <!-- In SGML every "foo" here would actually show up in the text -- foo -- bar
 -- foo -- funky huh? ... -->
-!! html
+!! html/php
 
+!! html/parsoid
+<!-- In SGML every "foo" here would actually show up in the text &#x2D;&#x2D; foo &#x2D;&#x2D; bar
+&#x2D;&#x2D; foo &#x2D;&#x2D; funky huh? ... -->
 !! end
 
 !! test
@@ -1607,39 +1660,68 @@ Comment semantics and delimiters: directors cut
 everything starting with < followed by !-- until the first -- and > we see,
 that wouldn't be valid XML however, since in XML -- has to terminate a comment
 -->-->
-!! html
+!! html/php
 <p>--&gt;
 </p>
+!! html/parsoid
+<!-- ... However we like to keep things simple and somewhat XML&#x2D;ish so we eat
+everything starting with < followed by !&#x2D;&#x2D; until the first &#x2D;&#x2D; and &#x3E; we see,
+that wouldn't be valid XML however, since in XML &#x2D;&#x2D; has to terminate a comment
+--><p>--></p>
 !! end
 
 !! test
 Comment semantics: nesting
 !! wikitext
 <!--<!-- no, we're not going to do anything fancy here -->-->
-!! html
+!! html/php
 <p>--&gt;
 </p>
+!! html/parsoid
+<!--<!&#x2D;&#x2D; no, we're not going to do anything fancy here --><p>--></p>
 !! end
 
+# Parsoid closes the unclosed comment, even if it means a slight
+# round-trip diff.
 !! test
 Comment semantics: unclosed comment at end
+!! options
+parsoid=wt2html,html2html
 !! wikitext
 <!--This comment will run out to the end of the document
-!! html
+!! html/php
 
+!! html/parsoid
+<!--This comment will run out to the end of the document-->
 !! end
 
-# Bug 58184: document parsoid's behaviour
 !! test
-Suppress comment closing tag in lenient browsers
-!! options
-parsoid=wt2html,html2html
+Comment semantics: normalize comments to play nice with XML and browsers
 !! wikitext
-<!-- Browsers--!> think this is closed -->
+<!-- Browsers --!> think this is closed -->
+<!--> This would normally be text -->
+<!---> As would this -->
+<!-- XML doesn't like trailing dashes -------->
+<!-- Nor doubled hyphens -- anywhere in the data -->
+But this is not a comment.
 !! html/php
+<p>But this is not a comment.
+</p>
+!! html/parsoid
+<!-- Browsers &#x2D;&#x2D;!&#x3E; think this is closed -->
+<!--&#x3E; This would normally be text -->
+<!--&#x2D;&#x3E; As would this -->
+<!-- XML doesn't like trailing dashes &#x2D;&#x2D;&#x2D;&#x2D;&#x2D;&#x2D;-->
+<!-- Nor doubled hyphens &#x2D;&#x2D; anywhere in the data -->
+<p>But this is not a comment.</p>
+!! end
 
+!! test
+Comment semantics: round-trip even text which contains encoded -->
+!! wikitext
+<!-- hello & goodbye - > --&gt; --&amp;gt; --&xx -->
 !! html/parsoid
-<!-- Browsers--¡> think this is closed -->
+<!-- hello &#x26; goodbye &#x2D; &#x3E; &#x2D;&#x2D;&#x3E; &#x2D;&#x2D;&#x26;gt; &#x2D;&#x2D;&#x26;xx -->
 !! end
 
 !! test
@@ -1683,9 +1765,10 @@ parsoid=wt2html,wt2wt
 <!--c1-->*a
 <!--c2--><!--c3--><!--c4-->*b
 !! html
-<ul>
+<!--c1--><ul>
 <li>a
 </li>
+<!--c2--><!--c3--><!--c4-->
 <li>b
 </li>
 </ul>
@@ -1894,7 +1977,7 @@ a [[Category:A1]] [[Category:A2]]
 [[Category:A4]]
 !! html/parsoid
 <p>a</p>
-<link href="Category:A1"/> <link href="Category:A2"/> <link href="Category:A3"/> <link href="Category:A4"/>
+<link rel="mw:PageProp/Category" href="Category:A1"/> <link rel="mw:PageProp/Category" href="Category:A2"/> <link rel="mw:PageProp/Category" href="Category:A3"/> <link rel="mw:PageProp/Category" href="Category:A4"/>
 !! end
 
 !! test
@@ -1904,7 +1987,7 @@ parsoid=wt2html
 !! wikitext
 [[Category:A1]]a
 !! html/parsoid
-<link href="Category:A1"/><p>a</p>
+<link rel="mw:PageProp/Category" href="Category:A1"/><p>a</p>
 !! end
 
 ###
@@ -2671,7 +2754,7 @@ parsoid
 !! wikitext
 {{echo|a : b}}
 !! html
-<p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a : b"}},"i":0}}]}'>a<span typeof="mw:Placeholder" data-parsoid='{"isDisplayHack":true}'> </span>: b</p>
+<p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a : b"}},"i":0}}]}'>a<span typeof="mw:DisplaySpace mw:Placeholder" data-parsoid='{"isDisplayHack":true}'> </span>: b</p>
 !! end
 
 ## Bug T73412
@@ -2686,6 +2769,19 @@ Templates: Preserve blank parameter names
 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"":{"wt":"foo"}},"i":0}}]}'>{{{1}}}</p>
 !! end
 
+!! test
+Templates: Preserve blank parameter names in other positions
+!! wikitext
+{{blank_param|bar|=foo}}
+!! html/php
+<p>bar
+foo
+</p>
+!! html/parsoid
+<p about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]},{"k":"","named":true,"spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"blank_param","href":"./Template:Blank_param"},"params":{"1":{"wt":"bar"},"":{"wt":"foo"}},"i":0}}]}'>bar
+foo</p>
+!! end
+
 ###
 ### Parsoid-centric tests for testing RT edge cases for pre
 ###
@@ -3136,9 +3232,9 @@ parsoid=wt2html,wt2wt
 !! wikitext
  [[Category:foo]] <!-- No pre-wrapping -->
 {{echo| [[Category:foo]]}} <!-- No pre-wrapping -->
-!! html
- <link rel="mw:PageProp/Category" href="./Category:Foo"> <!-- No pre-wrapping -->
-<span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":" [[Category:foo]]"}},"i":0}}]}'> </span><link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1"> <!-- No pre-wrapping -->
+!! html/parsoid
+ <link rel="mw:PageProp/Category" href="./Category:Foo"> <!-- No pre&#x2D;wrapping -->
+<span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":" [[Category:foo]]"}},"i":0}}]}'> </span><link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1"> <!-- No pre&#x2D;wrapping -->
 !! end
 
 !! test
@@ -3149,9 +3245,20 @@ parsoid=wt2html,wt2wt
  [[Category:foo]] a
  [[Category:foo]] {{echo|b}}
 !! html
-<pre>
-<link rel="mw:PageProp/Category" href="./Category:Foo"> a
-<link rel="mw:PageProp/Category" href="./Category:Foo"> <span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b"}},"i":0}}]}'>b</span></pre>
+<pre><link rel="mw:PageProp/Category" href="./Category:Foo"> a
+ <link rel="mw:PageProp/Category" href="./Category:Foo"> <span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b"}},"i":0}}]}'>b</span></pre>
+!! end
+
+!! test
+Indent-Pre: Newlines in comments shouldn't affect sol state
+!! wikitext
+a <!--
+foo
+--> b
+!! html/parsoid
+<p>a <!--
+foo
+--> b</p>
 !! end
 
 ###
@@ -4006,6 +4113,9 @@ Definition Lists: Mixed Lists: Test 11
 
 
 # Another case where tidy converts a <dt> to a <dd> (but Parsoid doesn't).
+# From whitelist:
+# * The test is wrong, there are two colons where there should be :;
+# * The PHP parser is wrong to close the <dl> after the <dt> containing the <ul>.
 !! test
 Definition Lists: Weird Ones: Test 1
 !! wikitext
@@ -4063,7 +4173,7 @@ Definition Lists: Weird Ones: Test 1
 <dl>
 <dt>
 <dl>
-<dt> foo<span typeof="mw:Placeholder">&nbsp;</span></dt>
+<dt> foo<span typeof="mw:DisplaySpace mw:Placeholder" data-parsoid='{"src":" ","isDisplayHack":true}'> </span></dt>
 <dd data-parsoid='{"stx":"row"}'> bar (who uses this?)</dd>
 </dl></dt>
 </dl></dd>
@@ -5208,15 +5318,55 @@ Parenthesis in external links, w/ transclusion or comment
 !! end
 
 !! test
-Replace invalid link targets when serializing
+Serialize <a> tags with invalid link targets as plain text
 !! options
 parsoid=html2wt
 !! html
-<a rel="mw:WikiLink" href="./]] foo [[bar">Manual</a>
+<a rel="mw:WikiLink" href="[[foo]]">text</a>
+<a rel="mw:WikiLink" href="[[foo]]">*text</a>
+<a rel="mw:WikiLink" href="[[foo]]">[[foo]]</a>
+<a rel="mw:WikiLink" href="[[foo]]">*a [[foo]]</a>
+!! wikitext
+text
+<nowiki>*</nowiki>text
+<nowiki>[[foo]]</nowiki>
+<nowiki>*a [[foo]]</nowiki>
+!! end
+
+!! test
+mw:ExtLink -vs- mw:WikiLink (T94723)
+!! options
+parsoid=html2wt
+!! html/parsoid
+<a rel="mw:WikiLink" href="./Foo" title="Foo" data-parsoid='{"stx":"piped","a":{"href":"./Foo"},"sa":{"href":"Foo"},"dsr":[0,11,6,2]}'>Bar</a>
+<a rel="mw:WikiLink" href="./Foo" title="Foo">Bar</a>
+<a rel="mw:WikiLink" href="http://en.wikipedia.org/wiki/Foo" title="Foo">Bar</a>
+<a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo" title="Foo">Bar</a>
+<p>
+<a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/European_Robin">European Robin</a>
+<a rel="mw:WikiLink" href="http://en.wikipedia.org/wiki/European_Robin">European Robin</a>
+</p>
+!! wikitext
+[[Foo|Bar]]
+[[Foo|Bar]]
+[[wikipedia:Foo|Bar]]
+[[wikipedia:Foo|Bar]]
+
+[[wikipedia:European_Robin|European Robin]]
+[[wikipedia:European_Robin|European Robin]]
+!! end
+
+!! test
+mw:ExtLink linking to a interwiki URL can be round-tripped losslessly (T94723)
+!! options
+parsoid=wt2wt
 !! wikitext
-[[MediaWiki:Badtitletext|Manual]]
+[http://en.wikipedia.org/wiki/European_Robin European Robin]
+!! html/parsoid
+THIS SECTION IS NOT USED (but Parsoid won't run the test without it)
 !! end
 
+
 ###
 ### Quotes
 ###
@@ -5280,7 +5430,9 @@ Plain ''italic'''s plain
 </p><p><b>Bold tag left open</b>
 </p><p><i>Italic tag left open</i>
 </p><p>Normal text.
-</p><p><b>This year'</b>s election <i>should</i> beat <b>last year'</b>s.
+</p>
+<!-- Unmatching number of opening, closing tags: -->
+<p><b>This year'</b>s election <i>should</i> beat <b>last year'</b>s.
 </p><p><i>Tom<b>s car is bigger than </b></i><b>Susan</b>s.
 </p><p>Plain <i>italic'</i>s plain
 </p>
@@ -5480,6 +5632,7 @@ Simple table but with multiple dashes for row wikitext
 </td></tr></table>
 
 !! end
+
 !! test
 Multiplication table
 !! wikitext
@@ -5600,6 +5753,69 @@ Accept "||" in indented table headings
 
 !! end
 
+!! test
+Accept "!!" in templates
+!! wikitext
+{|
+!a {{echo|b!!c}}
+|}
+!! html/php
+<table>
+<tr>
+<th>a b</th>
+<th>c
+</th></tr></table>
+
+!! html/parsoid
+<table>
+<tbody><tr><th typeof="mw:Transclusion" about="#mwt1" data-parsoid='{"autoInsertedEnd":true,"pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":["!a ",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b!!c"}},"i":0}}]}'>a b</th><th about="#mwt1">c</th></tr>
+!! end
+
+!! test
+Accept "!!" in table headings after newline
+!! wikitext
+{|
+!a
+b!!c
+|}
+!! html/php
+<table>
+<tr>
+<th>a
+<p>b!!c
+</p>
+</th></tr></table>
+
+!! html/parsoid
+<table>
+<tbody><tr><th>a
+<p>b!!c</p></th></tr>
+</tbody></table>
+!! end
+
+!! test
+Accept "!!" in table data of mixed wikitext / html syntax
+!! wikitext
+{|
+!a
+<tr><td>b!!c</td></tr>
+|}
+!! html+tidy
+<table>
+<tr>
+<th>a</th>
+</tr>
+<tr>
+<td>b!!c</td>
+</tr>
+</table>
+!! html/parsoid
+<table>
+<tbody><tr><th>a</th></tr>
+<tr data-parsoid='{"stx":"html"}'><td data-parsoid='{"stx":"html"}'>b!!c</td></tr>
+</tbody></table>
+!! end
+
 !! test
 Accept empty attributes in td/th cells (td/th cells starting with leading ||)
 !! wikitext
@@ -5746,6 +5962,26 @@ Invalid attributes in table cell (bug 1830)
 
 !! end
 
+!! test
+Table cell attributes: Pipes protected by nowikis should be treated as a plain character
+!! wikitext
+{|
+| title="foo" |bar
+| title="foo<nowiki>|</nowiki>" |bar
+| title="foo<nowiki>|</nowiki>" bar
+|}
+!! html
+<table>
+<tr>
+<td title="foo">bar
+</td>
+<td title="foo&#124;">bar
+</td>
+<td> title="foo|" bar
+</td></tr></table>
+
+!! end
+
 # The "|}" to close the table is missing from the input, so parsoid's
 # *2wt modes will fail.
 !! test
@@ -5892,6 +6128,35 @@ Indented table markup mixed with indented pre content (proposed in bug 6200)
 </tbody></table>
 !! end
 
+!! test
+4. Template-generated table cell attributes and cell content inside a templated table
+!! wikitext
+{{tbl-start}}
+!align=center {{table_header_cells}}
+|-
+|align=center {{table_cells}}
+{{tbl-end}}
+!! html/php
+<table>
+<tr>
+<th align="center" style="color:red;">Foo</th>
+<th style="color:red;"><i>Bar</i></th>
+<th style="color:brown;"><i>Foo</i> and Baz
+</th></tr>
+<tr>
+<td align="center" style="color:red;">Foo</td>
+<td style="color:red;"><i>Bar</i></td>
+<td style="color:brown;"><i>Foo</i> and Baz
+</td></tr></table>
+
+!! html/parsoid
+<table about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[],[],[],[]]}' data-mw='{"parts":[{"template":{"target":{"wt":"tbl-start","href":"./Template:Tbl-start"},"params":{},"i":0}},"\n!align=center ",{"template":{"target":{"wt":"table_header_cells","href":"./Template:Table_header_cells"},"params":{},"i":1}},"\n|-\n|align=center ",{"template":{"target":{"wt":"table_cells","href":"./Template:Table_cells"},"params":{},"i":2}},"\n",{"template":{"target":{"wt":"tbl-end","href":"./Template:Tbl-end"},"params":{},"i":3}}]}'>
+<tbody><tr><th align="center" style="color:red;">Foo</th><th style="color:red;"><i>Bar</i></th><th style="color:brown;"><i>Foo</i> and Baz</th></tr>
+<tr>
+<td align="center" style="color:red;">Foo</td><td style="color:red;"><i>Bar</i></td><td style="color:brown;"><i>Foo</i> and Baz</td></tr>
+</tbody></table>
+!! end
+
 !! test
 Table with row followed by newlines and table heading
 !! wikitext
@@ -6810,7 +7075,7 @@ Link containing a tilde
 !! wikitext
 [[Foo~bar]]
 !! html/php
-<p><a href="/wiki/Foo%7Ebar" title="Foo~bar">Foo~bar</a>
+<p><a href="/wiki/Foo~bar" title="Foo~bar">Foo~bar</a>
 </p>
 !! html/parsoid
 <p><a rel="mw:WikiLink" href="./Foo~bar" title="Foo~bar">Foo~bar</a></p>
@@ -7125,7 +7390,7 @@ title=[[User:test/123]]
 <p><a href="#a">b</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:WikiLink" href="../User:Test/123#a" data-parsoid='{"stx":"piped","a":{"href":"../User:Test/123#a"},"sa":{"href":"#a"}}'>b</a></p>
+<p><a rel="mw:WikiLink" href="./User:Test/123#a" data-parsoid='{"stx":"piped","a":{"href":"./User:Test/123#a"},"sa":{"href":"#a"}}'>b</a></p>
 !! end
 
 !! test
@@ -7515,7 +7780,6 @@ Blah blah blah
 [[   es :Spanish]]
 [[ ZH :Chinese]]
 [[es:Foo_bar]]
-[[es:Foo bar]]
 !! html/php
 <p>Blah blah blah
 </p>
@@ -7524,7 +7788,21 @@ Blah blah blah
 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Spanish" />
 <link rel="mw:PageProp/Language" href="http://zh.wikipedia.org/wiki/Chinese" />
 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Foo_bar" />
-<link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Foo_bar" />
+!! end
+
+!! test
+Space and question mark encoding in interlanguage links (T95473)
+!! options
+parsoid=wt2html,wt2wt,html2html
+!! wikitext
+Blah blah blah
+[[es:Foo bar?]]
+!! html/php
+<p>Blah blah blah
+</p>
+!! html/parsoid
+<p>Blah blah blah</p>
+<link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Foo_bar%3F" />
 !! end
 
 !! test
@@ -7702,12 +7980,10 @@ Blah blah blah
 
 !! test
 1. Simple redirect to page
-!! options
-parsoid
 !! wikitext
 #REDIRECT [[Main Page]]
-!! html
-<link rel="mw:PageProp/redirect" href="./Main_Page">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./Main_Page"/>
 !! end
 
 !! test
@@ -7718,12 +7994,22 @@ parsoid
 <link rel="mw:PageProp/redirect" href="./Main_Page" data-parsoid='{"src":"#REDIRECT ","a":{"href":"./Main_Page"},"sa":{"href":"Main_Page"}}'/>
 !! end
 
+# Not a valid redirect in PHP (although perhaps it was, once upon a time)
+# This tests the Parsoid bail-out code.
 !! test
 3. Other redirect variants
 !! wikitext
 #REDIRECT [[<nowiki>[[Bar]]</nowiki>]]
 !! html/parsoid
-<link rel="mw:PageProp/redirect" href="./%5B%5BBar%5D%5D" data-parsoid='{"src":"#REDIRECT ","a":{"href":"./%5B%5BBar%5D%5D"},"sa":{"href":"&lt;nowiki>[[Bar]]&lt;/nowiki>"}}'/>
+<ol><li data-parsoid>REDIRECT [[[[Bar]]]]</li></ol>
+!! end
+
+!! test
+4. Redirect to a templated destination
+!! wikitext
+#REDIRECT [[{{echo|Foo}}bar]]
+!! html/parsoid
+<link typeof="mw:ExpandedAttrs" rel="mw:PageProp/redirect" href="./Foobar" data-mw='{"attribs":[[{"txt":"href"},{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[12,24,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;Foo&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">Foo&lt;/span>bar"}]]}'/>
 !! end
 
 !! test
@@ -7732,7 +8018,7 @@ Empty redirect
 parsoid=wt2html,wt2wt
 !! wikitext
 #REDIRECT [[]]
-!! html
+!! html/parsoid
 <ol>
 <li>REDIRECT [[]]</li></ol>
 !! end
@@ -7745,8 +8031,8 @@ Optional colon in #REDIRECT
 parsoid=wt2html,html2html
 !! wikitext
 #REDIRECT:[[Main Page]]
-!! html
-<link rel="mw:PageProp/redirect" href="./Main_Page">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./Main_Page"/>
 !! end
 
 !! test
@@ -7761,8 +8047,8 @@ parsoid=wt2html,html2html
  #REDIRECT 
 : 
 [[Main Page]]
-!! html
-<link rel="mw:PageProp/redirect" href="./Main_Page">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./Main_Page"/>
 !! end
 
 !! test
@@ -7773,89 +8059,90 @@ Piped link in #REDIRECT
 parsoid=wt2html
 !! wikitext
 #REDIRECT [[Main Page|bar]]
-!! html
-<link rel="mw:PageProp/redirect" href="./Main_Page">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./Main_Page"/>
 !! end
 
 !! test
-Redirect to category
+Redirect to category (T104502)
 !! options
-parsoid=wt2wt,wt2html
+parsoid=wt2html,wt2wt
 !! wikitext
 #REDIRECT [[Category:Foo]]
-!! html
-<link rel="mw:PageProp/redirect" href="./Category:Foo"><link rel="mw:PageProp/Category" href="./Category:Foo">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./Category:Foo"/>
 !! end
 
 !! test
-Redirect to category with URL encoding
+Redirect to category with URL encoding (T104502)
 !! options
 parsoid=wt2html
 !! wikitext
 #REDIRECT [[Category%3AFoo]]
-!! html
-<link rel="mw:PageProp/redirect" href="./Category:Foo"><link rel="mw:PageProp/Category" href="./Category:Foo">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./Category:Foo"/>
 !! end
 
 !! test
 Redirect to category page
-!! options
-parsoid
 !! wikitext
 #REDIRECT [[:Category:Foo]]
-!! html
-<link rel="mw:PageProp/redirect" href="Category:Foo" title="Category:Foo"/>
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./Category:Foo"/>
 !! end
 
 !! test
 Redirect to image page (1)
-!! options
-parsoid
 !! wikitext
 #REDIRECT [[File:Wiki.png]]
-!! html
-<link rel="mw:PageProp/redirect" href="./File:Wiki.png">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./File:Wiki.png"/>
 !! end
 
 !! test
 Redirect to image page (2)
-!! options
-parsoid
 !! wikitext
 #REDIRECT [[Image:Wiki.png]]
-!! html
-<link rel="mw:PageProp/redirect" href="./File:Wiki.png">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./File:Wiki.png"  data-parsoid='{"src":"#REDIRECT ","a":{"href":"./File:Wiki.png"},"sa":{"href":"Image:Wiki.png"}}'/>
 !! end
 
+# html2wt disabled because wts serializes as "#REDIRECT [[:en:File:Wiki.png]]"
+# Next test confirms this.
 !! test
-Redirect to language
+Redirect to language (1) (T104918)
 !! options
-parsoid
+parsoid=wt2html,wt2wt,html2html
 !! wikitext
 #REDIRECT [[en:File:Wiki.png]]
-!! html
-<link rel="mw:PageProp/redirect" href="./File:Wiki.png">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="//en.wikipedia.org/wiki/File:Wiki.png"/>
 !! end
 
 !! test
-Redirect to interwiki
-!! options
-parsoid
+Redirect to language (2) (T104918)
+!! wikitext
+#REDIRECT [[:en:File:Wiki.png]]
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="//en.wikipedia.org/wiki/File:Wiki.png"/>
+!! end
+
+!! test
+Redirect to interwiki (T104918)
 !! wikitext
 #REDIRECT [[meatball:File:Wiki.png]]
-!! html
-<link rel="mw:PageProp/redirect" href="./File:Wiki.png">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="http://www.usemod.com/cgi-bin/mb.pl?File:Wiki.png"/>
 !! end
 
 !! test
 Non-English #REDIRECT
 !! options
-parsoid
 language=is
 !! wikitext
 #TILVÍSUN [[Main Page]]
-!! html
-<link rel="mw:PageProp/redirect" href="./Main_Page">
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./Main_Page" data-parsoid='{"src":"#TILVÍSUN ","a":{"href":"./Main_Page"},"sa":{"href":"Main Page"}}'/>
 !! end
 
 !! test
@@ -7874,8 +8161,8 @@ some text
 New redirect
 !! options
 parsoid=html2wt
-!! html
-<p>Foo<link rel="mw:PageProp/redirect" href="./Foo"></p>
+!! html/parsoid
+<p>Foo<link rel="mw:PageProp/redirect" href="./Foo"/></p>
 !! wikitext
 Foo
 #REDIRECT [[Foo]]
@@ -8225,7 +8512,7 @@ parsoid
 !! wikitext
 *<references />
 !! html/parsoid
-<ul><li data-parsoid='{}'><ol class="references" typeof="mw:Extension/references" about="#mwt2" data-parsoid='{}' data-mw='{"name":"references","attrs":{}}'></ol></li></ul>
+<ul><li data-parsoid='{}'><ol class="mw-references" typeof="mw:Extension/references" about="#mwt2" data-parsoid='{}' data-mw='{"name":"references","attrs":{}}'></ol></li></ul>
 !! end
 
 !! test
@@ -8258,11 +8545,15 @@ List items are not parsed correctly following a <pre> block (bug 785)
 * <pre>foo</pre>
 * <pre>bar</pre>
 * zar
-!! html
+!! html/php
 <ul><li> <pre>foo</pre></li>
 <li> <pre>bar</pre></li>
 <li> zar</li></ul>
 
+!! html/parsoid
+<ul><li> <pre data-parsoid='{"stx":"html"}'>foo</pre></li>
+<li> <pre data-parsoid='{"stx":"html"}'>bar</pre></li>
+<li> zar</li></ul>
 !! end
 
 !! test
@@ -9306,7 +9597,7 @@ hi+world%3F%21
 Magic Word: prioritize type info over data-parsoid
 !! options
 parsoid=html2wt
-!! html
+!! html/parsoid
 <meta property="mw:PageProp/forcetoc" data-parsoid='{"magicSrc":"__NOTOC__"}'/>
 !! wikitext
 __FORCETOC__
@@ -9642,9 +9933,11 @@ Template with default value (value set)
 Template redirect
 !! wikitext
 {{templateredirect}}
-!! html
+!! html/php
 <p>(test)
 </p>
+!! html/parsoid
+<link rel="mw:PageProp/redirect" href="./Template:Templatesimple" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"templateredirect","href":"./Template:Templateredirect"},"params":{},"i":0}}]}'/>
 !! end
 
 !! test
@@ -9882,6 +10175,24 @@ Template with targets containing wikilinks
 </p>
 !! end
 
+!! article
+Template:''
+!! text
+bar
+!! endarticle
+
+!! test
+Templates: Double quotes as template target
+!! wikitext
+foo {{''}} baz
+!! html/php
+<p>foo bar baz
+</p>
+!! html/parsoid
+<p>foo <span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"&#39;&#39;"},"params":{},"i":0}}]}'>bar</span> baz
+</p>
+!! end
+
 !! article
 Template:MSGNW test
 !! text
@@ -10669,6 +10980,24 @@ Templates: Support for templates generating attributes and content
 </tbody></table>
 !! end
 
+!! test
+3. Entities and nowikis inside templated attributes should be handled correctly inside templated tables
+!! wikitext
+{{tbl-start}}
+|{{table_attribs_3}}
+{{tbl-end}}
+!! html/php
+<table>
+<tr>
+<td style="background:#f9f9f9;">Foo
+</td></tr></table>
+
+!! html/parsoid
+<table about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[],[],[]]}' data-mw='{"parts":[{"template":{"target":{"wt":"tbl-start","href":"./Template:Tbl-start"},"params":{},"i":0}},"\n|",{"template":{"target":{"wt":"table_attribs_3","href":"./Template:Table_attribs_3"},"params":{},"i":1}},"\n",{"template":{"target":{"wt":"tbl-end","href":"./Template:Tbl-end"},"params":{},"i":2}}]}'>
+<tbody><tr><td style="background:#f9f9f9;">Foo</td></tr>
+</tbody></table>
+!! end
+
 !!test
 Templates: HTML Tables: 1. Generating start of a HTML table
 !! wikitext
@@ -10896,6 +11225,46 @@ Templates: Wiki Tables: 6. Templated tags, templated td-tags
 
 !!end
 
+## This test case is very specific to Parsoid's internals
+## and is hence only tested for Parsoid's code. Parsoid uses
+## a <meta> marker tag for <ref> tags and they are expanded
+## much later. We are verifying that this <meta> tag usage
+## doesn't prevent foster parenting.
+!!test
+Templates: Wiki Tables: 7. Fosterable <ref>s should get fostered
+!!wikitext
+{{PartialTable}}<ref>foo</ref>
+|}
+
+<references />
+!!html/parsoid
+<span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"PartialTable","href":"./Template:PartialTable"},"params":{},"i":0}},"&lt;ref>foo&lt;/ref>\n|}"]}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span><table about="#mwt2">
+<tbody>
+</tbody></table>
+
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
+!!end
+
+!! test
+Templates: Wiki Tables: 8. Fosterable meta-tags should get fostered
+!! wikitext
+{{echo|
+{{{!}}
+{{!}}-}}
+<onlyinclude>
+|foo
+</onlyinclude>
+{{!}}}
+!! html/parsoid
+<span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"\n{{{!}}\n{{!}}-"}},"i":0}},"\n&lt;onlyinclude>\n|foo\n&lt;/onlyinclude>\n{{!}}}"]}'>
+</span><meta typeof="mw:Includes/OnlyInclude" about="#mwt1"/><table about="#mwt1">
+<tbody><tr>
+
+<td>foo
+<meta typeof="mw:Includes/OnlyInclude/End"/></td></tr>
+</tbody></table>
+!! end
+
 !!test
 Templates: Lists: Multi-line list-items via templates
 !! wikitext
@@ -11921,7 +12290,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:139px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" width="137" height="16" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/206px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/274px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is a caption</div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt2" data-mw='{"attribs":[["thumbnail",{"html":"thumb"}],["width",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[24,38,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">137px&lt;/span>"}]]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
+<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt2" data-mw='{"attribs":[["thumbnail",{"html":"thumb"}],["width",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[24,38,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">137px&lt;/span>"}]]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
 !! end
 
 !! test
@@ -11932,7 +12301,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:139px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" width="137" height="16" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/206px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/274px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is a caption</div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt3" data-mw='{"attribs":[["thumbnail",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[18,32,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;thumb&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">thumb&lt;/span>"}],["width",{"html":"&lt;span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[33,47,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">137px&lt;/span>"}]]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
+<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt3" data-mw='{"attribs":[["thumbnail",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[18,32,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;thumb&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">thumb&lt;/span>"}],["width",{"html":"&lt;span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[33,47,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">137px&lt;/span>"}]]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
 !! end
 
 !! test
@@ -11989,7 +12358,7 @@ thumbsize=220
 !! html/parsoid
 <p>123<span class="mw-default-size" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></span>456</p>
 <p>123</p><figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></figure><p>456</p>
-<p>123</p><figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a></figure><p>456</p>
+<p>123</p><figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a></figure><p>456</p>
 !! end
 
 !! test
@@ -12011,7 +12380,7 @@ Image with multiple widths -- use last
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg" width="300" height="34" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/450px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/600px-Foobar.jpg 2x" /></a>
 </p>
 !! html/parsoid
-<p><span typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="34" width="300"/></a></span></p>
+<p><span typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="34" width="300"/></a></span></p>
 !! end
 
 !! test
@@ -12027,7 +12396,7 @@ thumbsize=220
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" style="vertical-align: middle" /></a>
 </p>
 !! html/parsoid
-<figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
 <p><span class="mw-default-size mw-valign-middle" typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></span></p>
 !! end
 
@@ -12043,9 +12412,9 @@ Image with width attribute at different positions
 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption"><img alt="Caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a></div>
 
 !! html/parsoid
-<figure class="mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>Caption</figcaption></figure>
-<figure class="mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>Caption</figcaption></figure>
-<figure class="mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>Caption</figcaption></figure>
+<figure class="mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>Caption</figcaption></figure>
+<figure class="mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>Caption</figcaption></figure>
+<figure class="mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>Caption</figcaption></figure>
 !! end
 
 # a sad bit of backward-compatibility
@@ -12061,7 +12430,7 @@ parsoid=wt2html,wt2wt,html2html
 <a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/177px-Foobar.jpg" width="177" height="20" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/265px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/353px-Foobar.jpg 2x" /></a>
 </p>
 !! html/parsoid
-<p><span typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="2" width="20"/></a></span> <span typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="20" width="177"/></a></span></p>
+<p><span typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/20px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="2" width="20"/></a></span> <span typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/177px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="20" width="177"/></a></span></p>
 !! end
 
 !! test
@@ -12187,7 +12556,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="http://example.com/"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Title</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="http://example.com/"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>Title</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="http://example.com/"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>Title</figcaption></figure>
 !! end
 
 !! test
@@ -12334,9 +12703,9 @@ parsoid=wt2html,wt2wt,html2html
 </p><p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>
 </p>
 !! html/parsoid
-<p><span class="mw-default-size" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a></span></p>
-<p><span class="mw-default-size" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a></span></p>
-<p><span class="mw-default-size" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a></span></p>
+<p><span class="mw-default-size" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a></span></p>
+<p><span class="mw-default-size" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a></span></p>
+<p><span class="mw-default-size" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a></span></p>
 !! end
 
 !! test
@@ -12372,9 +12741,9 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
 !! end
 
 ###################
@@ -12401,8 +12770,8 @@ parsoid=wt2html,wt2wt,html2html
 </p><p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="2000" height="227" class="thumbborder" /></a>
 </p>
 !! html/parsoid
-<p><span typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="227" width="2000"/></a></span></p>
-<p><span class="mw-image-border" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="227" width="2000"/></a></span></p>
+<p><span typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/1941px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="227" width="2000"/></a></span></p>
+<p><span class="mw-image-border" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/1941px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="227" width="2000"/></a></span></p>
 !! end
 
 !! test
@@ -12418,8 +12787,8 @@ parsoid=wt2html,wt2wt,html2html
 </p><p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/1000px-Foobar.jpg" width="1000" height="113" class="thumbborder" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/1500px-Foobar.jpg 1.5x, http://example.com/images/3/3a/Foobar.jpg 2x" /></a>
 </p>
 !! html/parsoid
-<p><span typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="113" width="1000"/></a></span></p>
-<p><span class="mw-image-border" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="113" width="1000"/></a></span></p>
+<p><span typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/1000px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="113" width="1000"/></a></span></p>
+<p><span class="mw-image-border" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/1000px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="113" width="1000"/></a></span></p>
 !! end
 
 !! test
@@ -12432,7 +12801,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:52px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" width="50" height="6" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/75px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/100px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div></div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></figure>
+<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></figure>
 !! end
 
 !! test
@@ -12448,8 +12817,8 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:2002px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="Foobar.svg" src="http://example.com/images/thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png" width="2000" height="1500" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"></a></div></div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></figure>
-<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" data-file-width="240" data-file-height="180" data-file-type="drawing" height="1500" width="2000"/></a></figure>
+<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/1941px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></figure>
+<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/thumb/f/ff/Foobar.svg/240px-Foobar.svg" data-file-width="240" data-file-height="180" data-file-type="drawing" height="1500" width="2000"/></a></figure>
 !! end
 
 !! test
@@ -12462,7 +12831,7 @@ parsoid=wt2html,wt2wt,html2html
 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" width="50" height="6" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/75px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/100px-Foobar.jpg 2x" /></a>
 </p>
 !! html/parsoid
-<p><span typeof="mw:Image/Frameless"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></span></p>
+<p><span typeof="mw:Image/Frameless"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></span></p>
 !! end
 
 !! test
@@ -12478,8 +12847,8 @@ parsoid=wt2html,wt2wt,html2html
 </p><p><a href="/wiki/File:Foobar.svg" class="image"><img alt="Foobar.svg" src="http://example.com/images/thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png" width="2000" height="1500" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png 2x" /></a>
 </p>
 !! html/parsoid
-<p><span typeof="mw:Image/Frameless"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></span></p>
-<p><span typeof="mw:Image/Frameless"><a href="./File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" data-file-width="240" data-file-height="180" data-file-type="drawing" height="1500" width="2000"/></a></span></p>
+<p><span typeof="mw:Image/Frameless"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/1941px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></span></p>
+<p><span typeof="mw:Image/Frameless"><a href="./File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/thumb/f/ff/Foobar.svg/240px-Foobar.svg" data-file-width="240" data-file-height="180" data-file-type="drawing" height="1500" width="2000"/></a></span></p>
 !! end
 
 !! test
@@ -12550,7 +12919,7 @@ thumbsize=220
 <div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></figcaption></figure>
 !! end
 
 !! test
@@ -12564,7 +12933,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Alteration" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img alt="Alteration" resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img alt="Alteration" resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></figcaption></figure>
 !! end
 
 !! test
@@ -12576,7 +12945,7 @@ SVG thumbnails with no language set
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" data-file-width="240" data-file-height="180" data-file-type="drawing" height="165" width="220"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/thumb/f/ff/Foobar.svg/220px-Foobar.svg" data-file-width="240" data-file-height="180" data-file-type="drawing" height="165" width="220"/></a><figcaption>caption</figcaption></figure>
 !! end
 
 !! test
@@ -12589,7 +12958,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=File:Foobar.svg&amp;lang=de" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" lang="de" data-file-width="240" data-file-height="180" data-file-type="drawing" height="165" width="220"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/thumb/f/ff/Foobar.svg/220px-Foobar.svg" lang="de" data-file-width="240" data-file-height="180" data-file-type="drawing" height="165" width="220"/></a><figcaption>caption</figcaption></figure>
 !! end
 
 !! test
@@ -12613,7 +12982,7 @@ BUG 1887: A ISBN with a thumbnail
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a href="/wiki/Special:BookSources/1235467890" class="internal mw-magiclink-isbn">ISBN 1235467890</a></div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a href="Special:BookSources/1235467890" rel="mw:ExtLink">ISBN 1235467890</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a href="Special:BookSources/1235467890" rel="mw:ExtLink">ISBN 1235467890</a></figcaption></figure>
 !! end
 
 !! test
@@ -12624,7 +12993,7 @@ BUG 1887: A RFC with a thumbnail
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is <a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc12354">RFC 12354</a></div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>This is <a href="//tools.ietf.org/html/rfc12354" rel="mw:ExtLink">RFC 12354</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>This is <a href="//tools.ietf.org/html/rfc12354" rel="mw:ExtLink">RFC 12354</a></figcaption></figure>
 !! end
 
 !! test
@@ -12635,7 +13004,7 @@ BUG 1887: A mailto link with a thumbnail
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Please <a rel="nofollow" class="external free" href="mailto:nobody@example.com">mailto:nobody@example.com</a></div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>Please <a rel="mw:ExtLink" href="mailto:nobody@example.com">mailto:nobody@example.com</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>Please <a rel="mw:ExtLink" href="mailto:nobody@example.com">mailto:nobody@example.com</a></figcaption></figure>
 !! end
 
 # Pending resolution to bug 368
@@ -12726,7 +13095,7 @@ Image caption containing another image
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is a caption with another <a href="/wiki/File:Thumb.png" class="image" title="image"><img alt="image" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" /></a> inside it!</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>This is a caption with another <span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"image"}'><a href="./File:Thumb.png"><img resource="./File:Thumb.png" src="//example.com/images/e/ea/Thumb.png" data-file-width="135" data-file-height="135" data-file-type="bitmap" height="135" width="135"/></a></span> inside it!</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>This is a caption with another <span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"image"}'><a href="./File:Thumb.png"><img resource="./File:Thumb.png" src="//example.com/images/e/ea/Thumb.png" data-file-width="135" data-file-height="135" data-file-type="bitmap" height="135" width="135"/></a></span> inside it!</figcaption></figure>
 !! end
 
 !! test
@@ -12750,7 +13119,7 @@ Image: caption containing leading space
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>bar</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption> bar</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption> bar</figcaption></figure>
 !!end
 
 !! test
@@ -12769,7 +13138,7 @@ and some more text.]]
 <div class="thumb tright"><div class="thumbinner" style="width:202px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is an example image thumbnail caption with a table <table> <tr> <th> Foo </th> <th> Bar </th></tr> <tr> <td> Foo1 </td> <td> Bar1 </td></tr></table> and some more text.</div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>This is an example image thumbnail caption with a table
+<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>This is an example image thumbnail caption with a table
 <table>
 <tbody>
 <tr><th>Foo </th><th>Bar</th></tr>
@@ -12786,7 +13155,7 @@ Bug 3090: External links other than http: in image captions
 <div class="thumb tright"><div class="thumbinner" style="width:202px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This caption has <a rel="nofollow" class="external text" href="irc://example.net">irc</a> and <a rel="nofollow" class="external text" href="https://example.com">Secure</a> ext links in it.</div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>This caption has <a rel="mw:ExtLink" href="irc://example.net">irc</a> and <a rel="mw:ExtLink" href="https://example.com">Secure</a> ext links in it.</figcaption></figure>
+<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>This caption has <a rel="mw:ExtLink" href="irc://example.net">irc</a> and <a rel="mw:ExtLink" href="https://example.com">Secure</a> ext links in it.</figcaption></figure>
 !! end
 
 !! test
@@ -12828,7 +13197,7 @@ language=es
 <div class="thumb tleft"><div class="thumbinner" style="width:222px;"><a href="/wiki/Foo" title="Foo"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/Archivo:Foobar.jpg" class="internal" title="Aumentar"></a></div>caption</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="./Foo"><img resource="./Archivo:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="Foo"><img resource="./Archivo:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
 !! end
 
 !! test
@@ -12842,7 +13211,7 @@ parsoid=wt2html,wt2wt,html2html
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="extra thumbborder" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>
 </p>
 !! html/parsoid
-<p><span class="mw-default-size mw-image-border extra" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a></span></p>
+<p><span class="mw-default-size mw-image-border extra" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a></span></p>
 !! end
 
 # Note that 'right' is the default alignment, despite the misspelled 'righ' below
@@ -12863,9 +13232,9 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tleft"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
-<figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
 !! end
 
 !! article
@@ -12910,7 +13279,7 @@ Parsoid-specific image handling - simple image with size and middle alignment
 !! wikitext
 [[File:Foobar.jpg|middle|50px]]
 !! html/parsoid
-<p><span class="mw-valign-middle" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></span></p>
+<p><span class="mw-valign-middle" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></span></p>
 !! end
 
 !! test
@@ -12921,7 +13290,7 @@ parsoid=wt2wt,wt2html,html2html
 !! wikitext
 [[Image:Foobar.jpg|middle|50px]]
 !! html/parsoid
-<p><span class="mw-valign-middle" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></span></p>
+<p><span class="mw-valign-middle" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></span></p>
 !! end
 
 !! test
@@ -12930,7 +13299,7 @@ Parsoid-specific image handling - simple image with size and middle alignment
 !! wikitext
 [[File:Foobar.jpg|50px|middle]]
 !! html/parsoid
-<p><span class="mw-valign-middle" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"50px"},{"ck":"middle","ak":"middle"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"6","width":"50"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
+<p><span class="mw-valign-middle" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"50px"},{"ck":"middle","ak":"middle"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"6","width":"50"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
 !! end
 
 !! test
@@ -12941,7 +13310,7 @@ parsoid=wt2html,wt2wt,html2html
 !! wikitext
 [[Image:Foobar.jpg|50px|middle]]
 !! html/parsoid
-<p><span class="mw-valign-middle" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></span></p>
+<p><span class="mw-valign-middle" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></span></p>
 !! end
 
 !! test
@@ -12965,7 +13334,7 @@ Parsoid-specific image handling - thumbnail with halign, valign, and caption
 !! wikitext
 [[File:Foobar.jpg|left|baseline|thumb|caption content]]
 !! html/parsoid
-<figure class="mw-default-size mw-halign-left mw-valign-baseline" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption content</figcaption></figure>
+<figure class="mw-default-size mw-halign-left mw-valign-baseline" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption content</figcaption></figure>
 !! end
 
 !! test
@@ -12974,7 +13343,7 @@ Parsoid-specific image handling - thumbnail with halign, valign, and caption
 !! wikitext
 [[File:Foobar.jpg|thumb|left|baseline|caption content]]
 !! html/parsoid
-<figure class="mw-default-size mw-halign-left mw-valign-baseline" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"left","ak":"left"},{"ck":"baseline","ak":"baseline"},{"ck":"caption","ak":"caption content"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"25","width":"220"},"sa":{"resource":"File:Foobar.jpg"}}'/></a><figcaption>caption content</figcaption></figure>
+<figure class="mw-default-size mw-halign-left mw-valign-baseline" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"left","ak":"left"},{"ck":"baseline","ak":"baseline"},{"ck":"caption","ak":"caption content"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"25","width":"220"},"sa":{"resource":"File:Foobar.jpg"}}'/></a><figcaption>caption content</figcaption></figure>
 !! end
 
 !! test
@@ -12982,7 +13351,7 @@ Parsoid-specific image handling - thumbnail with specific size, halign, valign,
 !! wikitext
 [[Image:Foobar.jpg|right|middle|thumb|50x50px|caption]]
 !! html/parsoid
-<figure class="mw-halign-right mw-valign-middle" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-halign-right mw-valign-middle" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a><figcaption>caption</figcaption></figure>
 !! end
 
 !! test
@@ -13050,7 +13419,7 @@ foo
 bar
 !! html/parsoid
 <p>foo</p>
-<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>This caption has a <center>unbalanced tag in it.</center></figcaption></figure>
+<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>This caption has a <center>unbalanced tag in it.</center></figcaption></figure>
 <p>bar</p>
 !! end
 
@@ -13061,7 +13430,7 @@ parsoid=wt2html,wt2wt
 !! wikitext
 [[File:Foobar.jpg|thumb|]]
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption></figcaption></figure>
 !! end
 
 # empty captions don't get serialized unless we're in the "round trip" case
@@ -13088,7 +13457,7 @@ Parsoid-specific image handling - whitespace caption
 !! wikitext
 [[File:Foobar.jpg|thumb| ]]
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption> </figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption> </figcaption></figure>
 !! end
 
 !! test
@@ -13435,6 +13804,152 @@ Bar
 </p>
 !! end
 
+## The whitespace on the empty line is part of the test. Please do not delete
+!! test
+1. Categories and newlines: All preceding newlines should be suppressed (courtesy bug 87)
+!! options
+parsoid=wt2html,wt2wt
+!! wikitext
+This
+   
+[[Category:Foo]] and this should be part of same paragraph (not an indent-pre)
+   
+{{echo|[[Category:Foo]] and so should this!}}
+!! html
+<p>This and this should be part of same paragraph (not an indent-pre) and so should this!
+</p>
+!! html/parsoid
+<p>This
+   
+<link rel="mw:PageProp/Category" href="./Category:Foo"/> and this should be part of same paragraph (not an indent-pre)
+   
+<link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Category:Foo]] and so should this!"}},"i":0}}]}'/><span about="#mwt1"> and so should this!</span></p>
+!! end
+
+## Parsoid will not try to wt2wt this while preserving newlines because
+## it suppresses excess newlines within list items -- and we don't want to
+## introduce a special case just for categories, which is, in reality somewhat
+## odd behavior -- categories are unlikely to be used in list items like this
+## in top-level pages and are only likely to show up in template-generated
+## list items where this RT-ing is a non-issue.
+##
+## The whitespace on the empty line is part of the test. Please do not delete
+!! test
+2. Categories and newlines: All preceding newlines should be suppressed (courtesy bug 87)
+!! options
+parsoid=wt2html
+!! wikitext
+* This
+   
+[[Category:Foo]] and this should be part of the same list item
+* So should this
+
+{{echo|[[Category:Foo]] and this should be part of the same list item}}
+!! html
+<ul><li>This and this should be part of the same list item</li>
+<li>So should this and this should be part of the same list item</li></ul>
+!! html/parsoid
+<ul>
+<li>This <link rel="mw:PageProp/Category" href="./Category:Foo"/> and this should be part of the same list item</li>
+<li>So should this <link rel="mw:PageProp/Category" href="Category:Foo" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Category:Foo]] and this should be part of the same list item"}},"i":0}}]}'/><span> and this should be part of the same list item</span></li>
+</ul>
+!! end
+
+## Newlines and categories that follow the last item of a list
+## are treated differently because this (list followed by categories)
+## is an extremely common pattern on wikis.
+!! test
+3. Categories and newlines: newline suppression for last list item should RT properly
+!! wikitext
+* a
+* b 
+   
+[[Category:Foo]]
+   
+[[Category:Bar]]
+[[Category:Baz]]
+!! html/parsoid
+<ul><li> a</li>
+<li> b</li></ul> 
+   
+<link rel="mw:PageProp/Category" href="./Category:Foo" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"}}'/>
+   
+<link rel="mw:PageProp/Category" href="./Category:Bar" data-parsoid='{"stx":"simple","a":{"href":"./Category:Bar"},"sa":{"href":"Category:Bar"}}'/>
+<link rel="mw:PageProp/Category" href="./Category:Baz" data-parsoid='{"stx":"simple","a":{"href":"./Category:Baz"},"sa":{"href":"Category:Baz"}}'/>
+!! end
+
+!! test
+4. Categories and newlines: newline suppression for last list item should RT properly
+!! wikitext
+* a
+**** b
+
+[[Category:Foo]]
+!! html/parsoid
+<ul><li> a
+<ul><li><ul><li><ul><li> b</li></ul></li></ul></li></ul></li></ul>
+
+<link rel="mw:PageProp/Category" href="./Category:Foo" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"}}'/>
+!! end
+
+## only wt2html for this to make sure the algo only applies to the rightmost path
+!! test
+5. Categories and newlines: migrateTrailingCategories dom pass should only run on the rightmost path of nested lists
+!! options
+parsoid=wt2html
+!! wikitext
+* a
+** b
+[[Category:Foo]]
+* c
+** d
+[[Category:Foo]]
+!! html/parsoid
+<ul><li> a
+<ul><li> b
+<link rel="mw:PageProp/Category" href="./Category:Foo" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"}}'/></li></ul></li>
+<li> c
+<ul><li> d</li></ul></li></ul>
+<link rel="mw:PageProp/Category" href="./Category:Foo" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"}}'/>
+!! end
+
+!! test
+6. Categories and newlines: migrateTrailingCategories dom pass should not migrate categories not preceded by newlines
+!! wikitext
+* a [[Category:Foo]]
+!! html/parsoid
+<ul><li>a <link rel="mw:PageProp/Category" href="./Category:Foo" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"}}'/></li></ul>
+!! end
+
+# This test also demonstrates because of newline+category tunneling
+# through the list hander, template wrapping doesn't expand to the
+# containing list when the list item swallows the category.
+!! test
+7. Categories and newlines: migrateTrailingCategories dom pass should leave template content alone
+!! wikitext
+* {{echo|a
+[[Category:Foo]]}}
+!! html/parsoid
+<ul><li> <span about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\n[[Category:Foo]]"}},"i":0}}]}'>a</span><span about="#mwt1">
+</span><link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"}}'/></li></ul>
+!! end
+
+!! test
+8. Categories and newlines: migrateTrailingCategories dom pass should not get tripped by intervening templates
+!! wikitext
+* a
+
+{{echo|[[Category:Foo]]
+[[Category:Bar]]}}
+[[Category:Baz]]
+!! html/parsoid
+<ul><li> a</li></ul>
+
+<link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"},"pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Category:Foo]]\n[[Category:Bar]]"}},"i":0}}]}'/><span about="#mwt1">
+</span><link rel="mw:PageProp/Category" href="./Category:Bar" about="#mwt1" data-parsoid='{"stx":"simple","a":{"href":"./Category:Bar"},"sa":{"href":"Category:Bar"}}'/>
+<link rel="mw:PageProp/Category" href="./Category:Baz" data-parsoid='{"stx":"simple","a":{"href":"./Category:Baz"},"sa":{"href":"Category:Baz"}}'/>
+!! end
+
 !! test
 Parsoid: Serialize link to category page with colon escape
 !! options
@@ -13450,15 +13965,21 @@ parsoid
 </p>
 !! end
 
+# html2wt localizes the "Category" namespace.
+# XXX the <link> element needs an empty data-parsoid attribute, or
+# else the html2html test fails because spaces are inserted.
 !! test
-Parsoid: Link prefix/suffixes aren't applied to category links
+Link prefix/suffixes aren't applied to category links
 !! options
 parsoid=wt2html,wt2wt,html2html
 language=is
 !! wikitext
 x[[Category:Foo]]y
-!! html
-<p>x<link rel="mw:PageProp/Category" href="Category:Foo">y</p>
+!! html/php
+<p>xy
+</p>
+!! html/parsoid
+<p>x<link rel="mw:PageProp/Category" href="./Flokkur:Foo" data-parsoid=""/>y</p>
 !! end
 
 !! test
@@ -13630,7 +14151,7 @@ __FORCETOC__
 == Headline ==
 == Headline 2 ==
 == Headline ==
-!! html
+!! html/php
 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
 <ul>
 <li class="toclevel-1 tocsection-1"><a href="#Headline_2"><span class="tocnumber">1</span> <span class="toctext">Headline 2</span></a></li>
@@ -13749,7 +14270,7 @@ TOC for heading containing <span id="..."></span> (T96153)
 !! wikitext
 __FORCETOC__
 ==<span id="old-anchor"></span>New title==
-!! html
+!! html/php
 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
 <ul>
 <li class="toclevel-1 tocsection-1"><a href="#New_title"><span class="tocnumber">1</span> <span class="toctext">New title</span></a></li>
@@ -17359,7 +17880,7 @@ __FORCETOC__ override
 !! wikitext
 __NEWSECTIONLINK__
 __FORCETOC__
-!! html
+!! html/php
 <p><br />
 </p>
 !! end
@@ -17564,7 +18085,7 @@ Images with the "|" character in the comment
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>An <a rel="nofollow" class="external text" href="http://test/?param1=%7Cleft%7C&amp;param2=%7Cx">external</a> URL</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>An <a rel="mw:ExtLink" href="http://test/?param1=|left|&amp;param2=|x">external</a> URL</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>An <a rel="mw:ExtLink" href="http://test/?param1=|left|&amp;param2=|x">external</a> URL</figcaption></figure>
 !! end
 
 !! test
@@ -19109,7 +19630,7 @@ percent-encoding and + signs in comments (Bug 26410)
 comment
 !! wikitext
 [[ABC%33D% ++]] [[ABC%33D% ++|+%20]]
-!! html
+!! html/php
 <a href="/index.php?title=ABC3D%25_%2B%2B&amp;action=edit&amp;redlink=1" class="new" title="ABC3D% ++ (page does not exist)">ABC3D% ++</a> <a href="/index.php?title=ABC3D%25_%2B%2B&amp;action=edit&amp;redlink=1" class="new" title="ABC3D% ++ (page does not exist)">+%20</a>
 !! end
 
@@ -19439,7 +19960,10 @@ percent-encoding and + signs in internal links (Bug 26410)
 <a href="/index.php?title=3E&amp;action=edit&amp;redlink=1" class="new" title="3E (page does not exist)">3E</a> <a href="/index.php?title=3E%2B&amp;action=edit&amp;redlink=1" class="new" title="3E+ (page does not exist)">3E+</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:WikiLink" href="User:+%" title="User:+%">User:+%</a> <a rel="mw:WikiLink" href="Page+title%" title="Page+title%">Page+title%</a> <a rel="mw:WikiLink" href="%+" title="%+">%+</a> <a rel="mw:WikiLink" href="%+" title="%+">%20</a> <a rel="mw:WikiLink" href="%+" title="%+">%+ </a> <a rel="mw:WikiLink" href="%+r" title="%+r">%+r</a> <a rel="mw:WikiLink" href="%" title="%">%</a> <a rel="mw:WikiLink" href="+" title="+">+</a> <span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}],"caption":"[[bar]]"}'><a href="./File:%+abc9"><img resource="./File:%25+abc9" src="./Special:FilePath/%+abc9" height="220" width="220"/></a></span> <a rel="mw:WikiLink" href="3E" title="3E">3E</a> <a rel="mw:WikiLink" href="3E+" title="3E+">3E+</a></p>
+<p><a rel="mw:WikiLink" href="./User:+%25" title="User:+%">User:+%</a> <a rel="mw:WikiLink" href="Page+title%25" title="Page+title%">Page+title%</a>
+<a rel="mw:WikiLink" href="%25+" title="%+">%+</a> <a rel="mw:WikiLink" href="%25+" title="%+">%20</a> <a rel="mw:WikiLink" href="%25+" title="%+">%+ </a> <a rel="mw:WikiLink" href="%25+r" title="%+r">%+r</a>
+<a rel="mw:WikiLink" href="%25" title="%">%</a> <a rel="mw:WikiLink" href="+" title="+">+</a> <span class="mw-default-size" typeof="mw:Error mw:Image" data-parsoid='{"optList":[{"ck":"bogus","ak":"foo"},{"ck":"caption","ak":"[[bar]]"}]}' data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}],"caption":"[[bar]]"}'><a href="./File:%25+abc9" data-parsoid='{"a":{"href":"./File:%25+abc9"},"sa":{}}'><img resource="./File:%25+abc9" src="./Special:FilePath/%25+abc9" height="220" width="220" data-parsoid='{"a":{"resource":"./File:%25+abc9","height":"220","width":"220"},"sa":{"resource":"File:%+abc%39"}}'/></a></span>
+<a rel="mw:WikiLink" href="./3E" title="3E" data-parsoid='{"stx":"simple","a":{"href":"./3E"},"sa":{"href":"%33%45"}}'>3E</a> <a rel="mw:WikiLink" href="./3E+" title="3E+" data-parsoid='{"stx":"simple","a":{"href":"./3E+"},"sa":{"href":"%33%45+"}}'>3E+</a></p>
 !! end
 
 !! test
@@ -19846,10 +20370,12 @@ Strip marker in urlencode
 {{urlencode:x<nowiki/>y}}
 {{urlencode:x<nowiki/>y|wiki}}
 {{urlencode:x<nowiki/>y|path}}
+{{urlencode:x<pre id="one">two</pre>y}}
 !! html
 <p>xy
 xy
 xy
+xy
 </p>
 !! end
 
@@ -20208,10 +20734,11 @@ parsoid=wt2html,wt2wt
 
 <small>[[Image:Foobar.jpg|right|300px]]</small>
 !! html/parsoid
+
 <p><b>foo</b></p>
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><b>caption</b></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><b>caption</b></figcaption></figure>
 <p><b>bar</b></p>
-<small><figure class="mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="34" width="300"/></a></figure></small>
+<small><figure class="mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="34" width="300"/></a></figure></small>
 !! end
 
 #### ----------------------------------------------------------------
@@ -20230,13 +20757,13 @@ B <ref name="x">foo</ref>
 C <ref name="y" />
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-x_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-2"},"attrs":{"name":"x"}}'><a href="#cite_note-x-2">[2]</a></span>
-C <span about="#mwt6" class="reference" id="cite_ref-y_3-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"y"}}'><a href="#cite_note-y-3">[3]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
-<li about="#cite_note-x-2" id="cite_note-x-2"><span rel="mw:referencedBy"><a href="#cite_ref-x_2-0">↑</a></span> <span id="mw-reference-text-cite_note-x-2" class="mw-reference-text">foo</span></li>
-<li about="#cite_note-y-3" id="cite_note-y-3"><span rel="mw:referencedBy"><a href="#cite_ref-y_3-0">↑</a></span> <span id="mw-reference-text-cite_note-y-3" class="mw-reference-text"></span></li>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span>
+B <span about="#mwt4" class="mw-ref" id="cite_ref-x_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-2"},"attrs":{"name":"x"}}'><a href="#cite_note-x-2"><span class="mw-reflink-text">[2]</span></a></span>
+C <span about="#mwt6" class="mw-ref" id="cite_ref-y_3-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"y"}}'><a href="#cite_note-y-3"><span class="mw-reflink-text">[3]</span></a></span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
+<li about="#cite_note-x-2" id="cite_note-x-2"><a href="#cite_ref-x_2-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-x-2" class="mw-reference-text">foo</span></li>
+<li about="#cite_note-y-3" id="cite_note-y-3"><a href="#cite_ref-y_3-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-y-3" class="mw-reference-text"></span></li>
 </ol>
 !!end
 
@@ -20249,10 +20776,10 @@ A <ref name="x">foo</ref>
 B <ref name="x" />
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-1"},"attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-x_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-x-1" id="cite_note-x-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-x_1-0">1.0</a> <a href="#cite_ref-x_1-1">1.1</a></span> <span id="mw-reference-text-cite_note-x-1" class="mw-reference-text">foo</span></li>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-1"},"attrs":{"name":"x"}}'><a href="#cite_note-x-1"><span class="mw-reflink-text">[1]</span></a></span>
+B <span about="#mwt4" class="mw-ref" id="cite_ref-x_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1"><span class="mw-reflink-text">[1]</span></a></span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-x-1" id="cite_note-x-1"><span rel="mw:referencedBy"><a href="#cite_ref-x_1-0"><span class="mw-linkback-text">1 </span></a><a href="#cite_ref-x_1-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-x-1" class="mw-reference-text">foo</span></li>
 </ol>
 !!end
 
@@ -20266,11 +20793,11 @@ B <ref name=" x " />
 C <ref name= x  />
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-1"},"attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-x_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
-C <span about="#mwt6" class="reference" id="cite_ref-x_1-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-x-1" id="cite_note-x-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-x_1-0">1.0</a> <a href="#cite_ref-x_1-1">1.1</a> <a href="#cite_ref-x_1-2">1.2</a></span> <span id="mw-reference-text-cite_note-x-1" class="mw-reference-text">foo</span></li>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-1"},"attrs":{"name":"x"}}'><a href="#cite_note-x-1"><span class="mw-reflink-text">[1]</span></a></span>
+B <span about="#mwt4" class="mw-ref" id="cite_ref-x_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1"><span class="mw-reflink-text">[1]</span></a></span>
+C <span about="#mwt6" class="mw-ref" id="cite_ref-x_1-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1"><span class="mw-reflink-text">[1]</span></a></span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-x-1" id="cite_note-x-1"><span rel="mw:referencedBy"><a href="#cite_ref-x_1-0"><span class="mw-linkback-text">1 </span></a><a href="#cite_ref-x_1-1"><span class="mw-linkback-text">2 </span></a><a href="#cite_ref-x_1-2"><span class="mw-linkback-text">3 </span></a></span> <span id="mw-reference-text-cite_note-x-1" class="mw-reference-text">foo</span></li>
 </ol>
 !!end
 
@@ -20283,9 +20810,9 @@ parsoid
 A <ref name="constructor">foo</ref>
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-constructor_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-constructor-1"},"attrs":{"name":"constructor"}}'><a href="#cite_note-constructor-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-constructor-1" id="cite_note-constructor-1"><span rel="mw:referencedBy"><a href="#cite_ref-constructor_1-0">↑</a></span> <span id="mw-reference-text-cite_note-constructor-1" class="mw-reference-text">foo</span></li>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-constructor_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-constructor-1"},"attrs":{"name":"constructor"}}'><a href="#cite_note-constructor-1"><span class="mw-reflink-text">[1]</span></a></span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-constructor-1" id="cite_note-constructor-1"><a href="#cite_ref-constructor_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-constructor-1" class="mw-reference-text">foo</span></li>
 </ol>
 !!end
 
@@ -20300,10 +20827,10 @@ A <ref>
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">This is a <b><a rel="mw:WikiLink" href="Bolded_link" title="Bolded link">bolded link</a></b> and this is a <span about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"transclusion"}},"i":0}}]}'>transclusion</span>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">This is a <b><a rel="mw:WikiLink" href="Bolded_link" title="Bolded link">bolded link</a></b> and this is a <span about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"transclusion"}},"i":0}}]}'>transclusion</span>
 </span></li>
 </ol>
 !!end
@@ -20321,10 +20848,10 @@ A <ref>
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo
  bar
  baz
 </span></li>
@@ -20351,10 +20878,10 @@ booz
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo
 
 bar
 
@@ -20377,9 +20904,9 @@ A <ref> foo {{echo|</ref> B C}}
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C<span typeof="mw:Nowiki">}}</span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <span typeof="mw:Nowiki" data-parsoid='{"src":"{{","dsr":[12,14,0,0]}'>{{</span>echo|</span></li>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span> B C<span typeof="mw:Nowiki">}}</span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <span typeof="mw:Nowiki" data-parsoid='{"src":"{{","dsr":[12,14,0,0]}'>{{</span>echo|</span></li>
 </ol>
 !!end
 
@@ -20391,9 +20918,9 @@ parsoid
 A <ref> foo <!--</ref> B C
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C</p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <!----></span></li>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span> B C</p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <!----></span></li>
 </ol>
 !!end
 
@@ -20406,11 +20933,11 @@ A <ref> <b> foo </ref> B C
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C</p>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span> B C</p>
 
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"><b data-parsoid='{"stx":"html","autoInsertedEnd":true}'> foo </b></span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"><b data-parsoid='{"stx":"html","autoInsertedEnd":true}'> foo </b></span></li>
 </ol>
 !!end
 
@@ -20423,37 +20950,35 @@ A <ref>foo</ref> B
 C <ref>bar</ref> D
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B
-C <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[2]</a></span> D</p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
-<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span> B
+C <span about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2"><span class="mw-reflink-text">[2]</span></a></span> D</p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
+<li about="#cite_note-2" id="cite_note-2"><a href="#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
 </ol>
 !!end
 
 !!test
 Ref: 12. ref-tags act as trailing newline migration barrier
-!!options
-parsoid
 !! wikitext
-<!--the newline at the end of this line moves out of the p-tag-->a
+<!--the newline at the end of this line moves out of the p tag-->a
 
-b<!--the newline at the end of this line stays inside the p-tag--> <ref />
+b<!--the newline at the end of this line stays inside the p tag--> <ref />
 <ref />
 
 c
 <references />
-!! html
-<p><!--the newline at the end of this line moves out of the p-tag-->a</p>
+!! html/parsoid
+<!--the newline at the end of this line moves out of the p tag--><p>a</p>
 
 
-<p>b<!--the newline at the end of this line stays inside the p-tag--> <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{}}'><a href="#cite_note-1">[1]</a></span>
-<span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{}}'><a href="#cite_note-2">[2]</a></span></p>
+<p>b<!--the newline at the end of this line stays inside the p tag--> <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span>
+<span about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{}}'><a href="#cite_note-2"><span class="mw-reflink-text">[2]</span></a></span></p>
 
 <p>c</p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"></span></li>
-<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text"></span></li></ol>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"></span></li>
+<li about="#cite_note-2" id="cite_note-2"><a href="#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text"></span></li></ol>
 !!end
 
 !!test
@@ -20466,11 +20991,11 @@ parsoid
 </ref> B
 <references />
 !! html
-<p><span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> A
-<span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[2]</a></span> B</p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
-<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar
+<p><span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span> A
+<span about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2"><span class="mw-reflink-text">[2]</span></a></span> B</p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
+<li about="#cite_note-2" id="cite_note-2"><a href="#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar
 </span></li>
 </ol>
 !!end
@@ -20484,10 +21009,10 @@ parsoid
 
 <references />
 !! html
-<p><span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
+<p><span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span>
 </p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo &lt;ref>bar&lt;/ref> baz</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo &lt;ref>bar&lt;/ref> baz</span></li>
 </ol>
 !!end
 
@@ -20501,10 +21026,10 @@ B1 <ref name="b" /> B2 <ref name="b">bar</ref>
 
 <references />
 !! html
-<p>A1 <span about="#mwt3" class="reference" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a-1"},"attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span> A2 <span about="#mwt4" class="reference" id="cite_ref-a_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span>
-B1 <span about="#mwt7" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span> B2 <span about="#mwt8" class="reference" id="cite_ref-b_2-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-b-2"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span></p>
+<p>A1 <span about="#mwt3" class="mw-ref" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a-1"},"attrs":{"name":"a"}}'><a href="#cite_note-a-1"><span class="mw-reflink-text">[1]</span></a></span> A2 <span about="#mwt4" class="mw-ref" id="cite_ref-a_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="#cite_note-a-1"><span class="mw-reflink-text">[1]</span></a></span>
+B1 <span about="#mwt7" class="mw-ref" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"b"}}'><a href="#cite_note-b-2"><span class="mw-reflink-text">[2]</span></a></span> B2 <span about="#mwt8" class="mw-ref" id="cite_ref-b_2-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-b-2"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2"><span class="mw-reflink-text">[2]</span></a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-a_1-0">1.0</a> <a href="#cite_ref-a_1-1">1.1</a></span> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy">↑ <a href="#cite_ref-b_2-0">2.0</a> <a href="#cite_ref-b_2-1">2.1</a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy"><a href="#cite_ref-a_1-0"><span class="mw-linkback-text">1 </span></a><a href="#cite_ref-a_1-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="#cite_ref-b_2-0"><span class="mw-linkback-text">1 </span></a><a href="#cite_ref-b_2-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
 </ol>
 !!end
 
@@ -20518,9 +21043,9 @@ A <ref >foo</ref >
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
 !!end
 
 !!test
@@ -20532,11 +21057,11 @@ parsoid
 
 <references />
 !!html
-<p><span class="reference" id="cite_ref-a_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a_b-1"},"attrs":{"name":"a b"}}'><a href="#cite_note-a_b-1">[1]</a></span>
+<p><span class="mw-ref" id="cite_ref-a_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a_b-1"},"attrs":{"name":"a b"}}'><a href="#cite_note-a_b-1"><span class="mw-reflink-text">[1]</span></a></span>
 </p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-a_b-1" id="cite_note-a_b-1"><span rel="mw:referencedBy"><a href="#cite_ref-a_b_1-0">↑</a></span> <span id="mw-reference-text-cite_note-a_b-1" class="mw-reference-text">foo</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-a_b-1" id="cite_note-a_b-1"><a href="#cite_ref-a_b_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-a_b-1" class="mw-reference-text">foo</span></li>
 </ol>
 !!end
 
@@ -20549,11 +21074,11 @@ parsoid
 
 <references />
 !!html
-<p><span class="reference" id="cite_ref-.7B.7Becho.7Ca.7D.7D_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-.7B.7Becho.7Ca.7D.7D-1"},"attrs":{"name":"{{echo|a}}"}}'><a href="#cite_note-.7B.7Becho.7Ca.7D.7D-1">[1]</a></span>
+<p><span class="mw-ref" id="cite_ref-.7B.7Becho.7Ca.7D.7D_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-.7B.7Becho.7Ca.7D.7D-1"},"attrs":{"name":"{{echo|a}}"}}'><a href="#cite_note-.7B.7Becho.7Ca.7D.7D-1"><span class="mw-reflink-text">[1]</span></a></span>
 </p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-.7B.7Becho.7Ca.7D.7D-1" id="cite_note-.7B.7Becho.7Ca.7D.7D-1"><span rel="mw:referencedBy"><a href="#cite_ref-.7B.7Becho.7Ca.7D.7D_1-0">↑</a></span> <span id="mw-reference-text-cite_note-.7B.7Becho.7Ca.7D.7D-1" class="mw-reference-text">foo</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-.7B.7Becho.7Ca.7D.7D-1" id="cite_note-.7B.7Becho.7Ca.7D.7D-1"><a href="#cite_ref-.7B.7Becho.7Ca.7D.7D_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-.7B.7Becho.7Ca.7D.7D-1" class="mw-reference-text">foo</span></li>
 </ol>
 !!end
 
@@ -20566,10 +21091,10 @@ parsoid
 
 <references />
 !! html
-<p>1 <span about="#mwt3" class="reference" id="cite_ref-a_.26_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a_.26_b-1"},"attrs":{"name":"a &amp; b"}}'><a href="#cite_note-a_.26_b-1">[1]</a></span> 2 <span about="#mwt4" class="reference" id="cite_ref-a_.26_b_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a &amp;amp; b"}}'><a href="#cite_note-a_.26_b-1">[1]</a></span>
+<p>1 <span about="#mwt3" class="mw-ref" id="cite_ref-a_.26_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a_.26_b-1"},"attrs":{"name":"a &amp; b"}}'><a href="#cite_note-a_.26_b-1"><span class="mw-reflink-text">[1]</span></a></span> 2 <span about="#mwt4" class="mw-ref" id="cite_ref-a_.26_b_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a &amp;amp; b"}}'><a href="#cite_note-a_.26_b-1"><span class="mw-reflink-text">[1]</span></a></span>
 </p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-a_.26_b-1" id="cite_note-a_.26_b-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-a_.26_b_1-0">1.0</a> <a href="#cite_ref-a_.26_b_1-1">1.1</a></span> <span id="mw-reference-text-cite_note-a_.26_b-1" class="mw-reference-text">foo</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-a_.26_b-1" id="cite_note-a_.26_b-1"><span rel="mw:referencedBy"><a href="#cite_ref-a_.26_b_1-0"><span class="mw-linkback-text">1 </span></a><a href="#cite_ref-a_.26_b_1-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-a_.26_b-1" class="mw-reference-text">foo</span></li>
 </ol>
 !!end
 
@@ -20584,28 +21109,24 @@ C <ref name="foo" />
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-foo_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-foo-1"},"attrs":{"name":"foo"}}'><a href="#cite_note-foo-1">[1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-foo_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"Foo two"},"attrs":{"name":"foo"}}'><a href="#cite_note-foo-1">[1]</a></span>
-C <span about="#mwt6" class="reference" id="cite_ref-foo_1-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"foo"}}'><a href="#cite_note-foo-1">[1]</a></span></p>
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-foo_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-foo-1"},"attrs":{"name":"foo"}}'><a href="#cite_note-foo-1"><span class="mw-reflink-text">[1]</span></a></span>
+B <span about="#mwt4" class="mw-ref" id="cite_ref-foo_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"Foo two"},"attrs":{"name":"foo"}}'><a href="#cite_note-foo-1"><span class="mw-reflink-text">[1]</span></a></span>
+C <span about="#mwt6" class="mw-ref" id="cite_ref-foo_1-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"foo"}}'><a href="#cite_note-foo-1"><span class="mw-reflink-text">[1]</span></a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-foo-1" id="cite_note-foo-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-foo_1-0">1.0</a> <a href="#cite_ref-foo_1-1">1.1</a> <a href="#cite_ref-foo_1-2">1.2</a></span> <span id="mw-reference-text-cite_note-foo-1" class="mw-reference-text">Foo one</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-foo-1" id="cite_note-foo-1"><span rel="mw:referencedBy"><a href="#cite_ref-foo_1-0"><span class="mw-linkback-text">1 </span></a><a href="#cite_ref-foo_1-1"><span class="mw-linkback-text">2 </span></a><a href="#cite_ref-foo_1-2"><span class="mw-linkback-text">3 </span></a></span> <span id="mw-reference-text-cite_note-foo-1" class="mw-reference-text">Foo one</span></li>
 </ol>
 !!end
 
 !!test
 References: 1. references tag without any refs should be handled properly
-!!options
-parsoid
 !! wikitext
 <references />
-!! html
-<ol class="references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{}}'></ol>
+!! html/parsoid
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{}}'></ol>
 !!end
 
 !!test
 References: 2. references tag with group only outputs references from that group
-!!options
-parsoid
 !! wikitext
 A <ref group="a">foo</ref>
 B <ref group="b">bar</ref>
@@ -20614,26 +21135,24 @@ C <ref>baz</ref>
 <references group="a" />
 <references />
 <references group="b" />
-!! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{"group":"a"}}'><a href="#cite_note-1">[a 1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{"group":"b"}}'><a href="#cite_note-2">[b 1]</a></span>
-C <span class="reference" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-3"},"attrs":{}}'><a href="#cite_note-3">[1]</a></span></p>
+!! html/parsoid
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{"group":"a"}}'><a href="#cite_note-1" data-mw-group="a"><span class="mw-reflink-text">[a 1]</span></a></span>
+B <span about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{"group":"b"}}'><a href="#cite_note-2" data-mw-group="b"><span class="mw-reflink-text">[b 1]</span></a></span>
+C <span class="mw-ref" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-3"},"attrs":{}}'><a href="#cite_note-3"><span class="mw-reflink-text">[1]</span></a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{"group":"a"}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt8" data-mw-group="a" data-mw='{"name":"references","attrs":{"group":"a"}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" data-mw-group="a" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
 </ol>
-<ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-3" id="cite_note-3"><span rel="mw:referencedBy"><a href="#cite_ref-3">↑</a></span> <span id="mw-reference-text-cite_note-3" class="mw-reference-text">baz</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-3" id="cite_note-3"><a href="#cite_ref-3" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-3" class="mw-reference-text">baz</span></li>
 </ol>
-<ol class="references" typeof="mw:Extension/references" about="#mwt12" data-mw='{"name":"references","attrs":{"group":"b"}}'>
-<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt12" data-mw-group="b" data-mw='{"name":"references","attrs":{"group":"b"}}'>
+<li about="#cite_note-2" id="cite_note-2"><a href="#cite_ref-2" data-mw-group="b" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
 </ol>
 !!end
 
 !!test
 References: 3. ref list should be cleared after processing references
-!!options
-parsoid
 !! wikitext
 A <ref>foo</ref>
 
@@ -20642,23 +21161,21 @@ A <ref>foo</ref>
 B <ref>bar</ref>
 
 <references />
-!! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
+!! html/parsoid
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
 </ol>
 
-<p>B <span about="#mwt6" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[1]</a></span></p>
+<p>B <span about="#mwt6" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2"><span class="mw-reflink-text">[1]</span></a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-2" id="cite_note-2"><a href="#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
 </ol>
 !!end
 
 !!test
 References: 4. only referenced group should be cleared after processing references
-!!options
-parsoid
 !! wikitext
 A <ref group="a">afoo</ref>
 B <ref>bfoo</ref>
@@ -20668,23 +21185,21 @@ B <ref>bfoo</ref>
 C <ref>cfoo</ref>
 
 <references />
-!! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{"group":"a"}}'><a href="#cite_note-1">[a 1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[1]</a></span></p>
+!! html/parsoid
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{"group":"a"}}'><a href="#cite_note-1" data-mw-group="a"><span class="mw-reflink-text">[a 1]</span></a></span>
+B <span about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2"><span class="mw-reflink-text">[1]</span></a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"group":"a"}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">afoo</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw-group="a" data-mw='{"name":"references","attrs":{"group":"a"}}'><li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" data-mw-group="a" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">afoo</span></li>
 </ol>
 
-<p>C <span about="#mwt8" class="reference" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-3"},"attrs":{}}'><a href="#cite_note-3">[2]</a></span></p>
+<p>C <span about="#mwt8" class="mw-ref" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-3"},"attrs":{}}'><a href="#cite_note-3"><span class="mw-reflink-text">[2]</span></a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bfoo</span></li><li about="#cite_note-3" id="cite_note-3"><span rel="mw:referencedBy"><a href="#cite_ref-3">↑</a></span> <span id="mw-reference-text-cite_note-3" class="mw-reference-text">cfoo</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-2" id="cite_note-2"><a href="#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bfoo</span></li><li about="#cite_note-3" id="cite_note-3"><a href="#cite_ref-3" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-3" class="mw-reference-text">cfoo</span></li>
 </ol>
 !!end
 
 !!test
 References: 5. ref tags in references should be processed while ignoring all other content
-!!options
-parsoid
 !! wikitext
 A <ref name="a" />
 B <ref name="b">bar</ref>
@@ -20693,30 +21208,26 @@ B <ref name="b">bar</ref>
 <ref name="a">foo</ref>
 This should just get lost.
 </references>
-!! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-b-2"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span></p>
+!! html/parsoid
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="#cite_note-a-1"><span class="mw-reflink-text">[1]</span></a></span>
+B <span about="#mwt4" class="mw-ref" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-b-2"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2"><span class="mw-reflink-text">[2]</span></a></span></p>
 
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","body":{"extsrc":"&lt;ref name=\"a\">foo&lt;/ref>\nThis should just get lost.","html":"\n&lt;span about=\"#mwt8\" class=\"reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[59,82,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-a-1\"},\"attrs\":{\"name\":\"a\"}}&#39;>&lt;a href=\"#cite_note-a-1\">[1]&lt;/a>&lt;/span>\n"},"attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy"><a href="#cite_ref-a_1-0">↑</a></span> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="#cite_ref-b_2-0">↑</a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","body":{"extsrc":"&lt;ref name=\"a\">foo&lt;/ref>\nThis should just get lost.","html":"\n&lt;span about=\"#mwt8\" class=\"mw-ref\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[59,82,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-a-1\"},\"attrs\":{\"name\":\"a\"}}&#39;>&lt;a href=\"#cite_note-a-1\" style=\"counter-reset: mw-Ref 1;\">&lt;span class=\"mw-reflink-text\">[1]&lt;/span>&lt;/a>&lt;/span>\n"},"attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><a href="#cite_ref-a_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><a href="#cite_ref-b_2-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
 </ol>
 !!end
 
 !!test
 References: 6. <references /> from a transclusion
-!!options
-parsoid
 !! wikitext
 <ref>Foo</ref> {{echo|<references />}}
-!! html
-<p><span about="#mwt3" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p> <ol class="references" typeof="mw:Extension/references mw:Transclusion" about="#mwt4" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;references />"}},"i":0}}]}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Foo</span></li>
+!! html/parsoid
+<p><span about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p> <ol class="mw-references" typeof="mw:Extension/references mw:Transclusion" about="#mwt4" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;references />"}},"i":0}}]}'><li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Foo</span></li>
 </ol>
 !!end
 
 !! test
 References: 7. Multiple references tags (one without and one with nested refs) should be correctly handled
-!! options
-parsoid
 !! wikitext
 A <ref>foo bar for a</ref>
 B <ref group="X" name="b" />
@@ -20726,30 +21237,28 @@ B <ref group="X" name="b" />
 <references group="X">
 <ref name="b">foo</ref>
 </references>
-!! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"group":"X","name":"b"}}'><a href="#cite_note-b-2">[X 1]</a></span>
+!! html/parsoid
+<p>A <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span>
+B <span about="#mwt4" class="mw-ref" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"group":"X","name":"b"}}'><a href="#cite_note-b-2" data-mw-group="X"><span class="mw-reflink-text">[X 1]</span></a></span>
 </p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo bar for a</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo bar for a</span></li>
 </ol>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","body":{"extsrc":"&lt;ref name=\"b\">foo&lt;/ref>","html":"\n&lt;span about=\"#mwt10\" class=\"reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[96,119,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-b-2\"},\"attrs\":{\"name\":\"b\"}}&#39;>&lt;a href=\"#cite_note-b-2\">[X 1]&lt;/a>&lt;/span>\n"},"attrs":{"group":"X"}}'>
-<li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="#cite_ref-b_2-0">↑</a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">foo</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt8" data-mw-group="X" data-mw='{"name":"references","body":{"extsrc":"&lt;ref name=\"b\">foo&lt;/ref>","html":"\n&lt;span about=\"#mwt10\" class=\"mw-ref\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[96,119,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-b-2\"},\"attrs\":{\"name\":\"b\"}}&#39;>&lt;a href=\"#cite_note-b-2\" style=\"counter-reset: mw-Ref 1;\" data-mw-group=\"X\">&lt;span class=\"mw-reflink-text\">[X 1]&lt;/span>&lt;/a>&lt;/span>\n"},"attrs":{"group":"X"}}'>
+<li about="#cite_note-b-2" id="cite_note-b-2"><a href="#cite_ref-b_2-0" data-mw-group="X" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">foo</span></li>
 </ol>
 !! end
 
 !! test
 References: 8. T88019: Remove <meta>s from templates inside <ref> that's itself inside a template
-!! options
-parsoid
 !! wikitext
 X{{echo|<ref>foo {{echo|<b>bar</b>}} and {{echo|baz}} boo</ref>}}
 <references />
-!! html
-<p>X<span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;ref>foo {{echo|&lt;b>bar&lt;/b>}} and {{echo|baz}} boo&lt;/ref>"}},"i":0}}]}'><a href="#cite_note-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt7" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <b data-parsoid='{"stx":"html"}'>bar</b> and baz boo</span></li>
+!! html/parsoid
+<p>X<span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;ref>foo {{echo|&lt;b>bar&lt;/b>}} and {{echo|baz}} boo&lt;/ref>"}},"i":0}}]}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt7" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <b data-parsoid='{"stx":"html"}'>bar</b> and baz boo</span></li>
 </ol>
 !!end
 
@@ -20759,18 +21268,16 @@ X{{echo|<ref>foo {{echo|<b>bar</b>}} and {{echo|baz}} boo</ref>}}
 # wt2wt.
 !! test
 References: 9. Generate missing references list at the end
-!! options
-parsoid
 !! wikitext
 A <ref>foo</ref>
 B <ref group="inexistent">bar</ref>
-!! html
-<p>A <span class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B <span class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{"group":"inexistent"}}'><a href="#cite_note-2">[inexistent 1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
+!! html/parsoid
+<p>A <span class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span> B <span class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{"group":"inexistent"}}'><a href="#cite_note-2" data-mw-group="inexistent"><span class="mw-reflink-text">[inexistent 1]</span></a></span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
 </ol>
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"group":"inexistent"}}'>
-<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw-group="inexistent" data-mw='{"name":"references","attrs":{"group":"inexistent"}}'>
+<li about="#cite_note-2" id="cite_note-2"><a href="#cite_ref-2" data-mw-group="inexistent" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
 </ol>
 !! end
 
@@ -20792,15 +21299,13 @@ A <ref>foo</ref>
 
 !! test
 Entities in ref name
-!! options
-parsoid
 !! wikitext
 <ref name="test &amp; me">hi</ref>
 <references />
-!! html
-<p><span about="#mwt2" class="reference" id="cite_ref-test_.26_me_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-test_.26_me-1"},"attrs":{"name":"test &amp;amp; me"}}'><a href="#cite_note-test_.26_me-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-test_.26_me-1" id="cite_note-test_.26_me-1"><span rel="mw:referencedBy"><a href="#cite_ref-test_.26_me_1-0">↑</a></span> <span id="mw-reference-text-cite_note-test_.26_me-1" class="mw-reference-text">hi</span></li>
+!! html/parsoid
+<p><span about="#mwt2" class="mw-ref" id="cite_ref-test_.26_me_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-test_.26_me-1"},"attrs":{"name":"test &amp;amp; me"}}'><a href="#cite_note-test_.26_me-1"><span class="mw-reflink-text">[1]</span></a></span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-test_.26_me-1" id="cite_note-test_.26_me-1"><a href="#cite_ref-test_.26_me_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-test_.26_me-1" class="mw-reference-text">hi</span></li>
 </ol>
 !! end
 
@@ -20814,10 +21319,10 @@ parsoid=wt2html
 a<ref>foo</ref>
 
 <references>
-!! html
-<p>a<span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
+!! html/parsoid
+<p>a<span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
 !! end
 
 !! test
@@ -20827,8 +21332,8 @@ parsoid=wt2wt,html2wt
 !! wikitext
 foo
 <references />
-!! html
-foo<ol class="references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{}}'></ol>
+!! html/parsoid
+foo<ol class="mw-references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{}}'></ol>
 !! end
 
 #### ----------------------------------------------------------------
@@ -21061,8 +21566,6 @@ parsoid=html2wt
 
 !! test
 Headings: 5. Empty headings
-!! options
-parsoid
 !! wikitext
 =<nowiki/>=
 
@@ -21075,13 +21578,18 @@ parsoid
 =====<nowiki/>=====
 
 ======<nowiki/>======
-!! html
-<h1></h1>
-<h2></h2>
-<h3></h3>
-<h4></h4>
-<h5></h5>
-<h6></h6>
+!! html/parsoid
+<h1 data-parsoid='{}'><meta typeof="mw:Placeholder" data-parsoid='{"src":"&lt;nowiki/>"}'/></h1>
+
+<h2 data-parsoid='{}'><meta typeof="mw:Placeholder" data-parsoid='{"src":"&lt;nowiki/>"}'/></h2>
+
+<h3 data-parsoid='{}'><meta typeof="mw:Placeholder" data-parsoid='{"src":"&lt;nowiki/>"}'/></h3>
+
+<h4 data-parsoid='{}'><meta typeof="mw:Placeholder" data-parsoid='{"src":"&lt;nowiki/>"}'/></h4>
+
+<h5 data-parsoid='{}'><meta typeof="mw:Placeholder" data-parsoid='{"src":"&lt;nowiki/>"}'/></h5>
+
+<h6 data-parsoid='{}'><meta typeof="mw:Placeholder" data-parsoid='{"src":"&lt;nowiki/>"}'/></h6>
 !!end
 
 !! test
@@ -21727,6 +22235,40 @@ parsoid=wt2html
 </tbody></table>
 !! end
 
+!! test
+T97430: Don't emit empty nowiki pairs around marker meta tags
+!! options
+parsoid=html2wt
+!! html
+<p>*This is a long sentence here that will make the nowiki algo split up the nowikis into multiple pairs
+|** Make this another long long long sentence forcing the nowiki algo to split up the nowikis.</p>
+!! wikitext
+<nowiki>*</nowiki>This is a long sentence here that will make the nowiki algo split up the nowikis into multiple pairs
+<nowiki>|</nowiki>** Make this another long long long sentence forcing the nowiki algo to split up the nowikis.
+!! end
+
+!! test
+Unclosed xmlish element in table line shouldn't eat end delimiters
+!! wikitext
+{|
+| <foo
+| bar>
+|}
+!! html/php
+<table>
+<tr>
+<td> &lt;foo
+</td>
+<td> bar&gt;
+</td></tr></table>
+
+!! html/parsoid
+<table>
+<tbody><tr><td> &lt;foo</td>
+<td> bar></td></tr>
+</tbody></table>
+!! end
+
 #### --------------- Links ----------------
 #### 1. Quote marks in link text
 #### 2. Wikilinks: Escapes needed
@@ -22102,10 +22644,10 @@ parsoid=html2wt,wt2wt
 <i>a'</i> foo <i><a rel="mw:WikiLink" href="Bar" title="Bar">bar</a></i>
 <i>a'</i> foo <b><a rel="mw:WikiLink" href="Bar" title="Bar" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[bar]]"}},"i":0}}]}'>bar</a></b>
 <a rel="mw:WikiLink" href="Foo" title="Foo">foo</a> x'<i><a href="Bar" rel="mw:WikiLink" title="Bar">bar</a></i>
-'<i>foo</i> <span class="reference" id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
+'<i>foo</i> <span class="mw-ref" id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span>
 '<i>foo</i> <div title="name">test</div>
 '<i>foo</i> and <br data-parsoid='{"stx":"html","noClose":true}'/> bar
-<ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text" data-parsoid="{}">test</span></li>
 </ol>
 !! end
@@ -22223,9 +22765,9 @@ foo <ref>''a''
  b</ref>
 <references />
 !! html
-<p>foo <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"><i data-parsoid='{"dsr":[9,14,2,2]}'>a</i>
+<p>foo <span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"><i data-parsoid='{"dsr":[9,14,2,2]}'>a</i>
  b</span></li>
 </ol>
 !! end
@@ -22256,7 +22798,7 @@ parsoid
 !! wikitext
  [[File:Foobar.jpg|thumb|caption]]
 !! html/parsoid
- <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
+ <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
 !! end
 
 !! test
@@ -22269,7 +22811,22 @@ parsoid=html2wt
  ==foo==
 !! end
 
+!!test
+T95794: nowiki escaping should account for leading space at start-of-line in an indent-pre block
+!! options
+parsoid
+!! wikitext
+ * foo
+ * bar
+!! html
+<pre>
+* foo
+* bar
+</pre>
+!! end
+
 #### --------------- Behavior Switches --------------------
+
 !! test
 1. Valid behavior switches should be escaped
 !! options
@@ -22294,6 +22851,29 @@ __TOO__
 __|__
 !! end
 
+# We use indent-pre as an indirect way to test for sol-transparent behavior.
+!! test
+Behavior switches should be SOL-transparent
+!! wikitext
+ __TOC__
+
+ <!-- this one's bogus -->
+ __TOO__
+
+ __TOC__ foo
+
+__TOC__ bar
+!! html/parsoid
+ <meta property="mw:PageProp/toc" />
+
+ <!-- this one's bogus -->
+<pre>__TOO__</pre>
+
+<pre data-parsoid='{}'><meta property="mw:PageProp/toc" data-parsoid='{"src":"__TOC__","magicSrc":"__TOC__"}'/> foo</pre>
+
+<meta property="mw:PageProp/toc" data-parsoid='{"src":"__TOC__","magicSrc":"__TOC__"}'/><pre data-parsoid='{}'>bar</pre>
+!! end
+
 #### --------------- HTML tags ---------------
 #### 1. a tags
 #### 2. other tags
@@ -22615,6 +23195,8 @@ bar
 </tbody></table>
 !!end
 
+# Note that the "style" attribute is really a template parameter here.
+# The = would have to be {{=}} if you wanted the literal.
 !!test
 Empty TD followed by TD with tpl-generated attribute
 !! wikitext
@@ -22775,7 +23357,7 @@ Multi-line image caption generated by templates with/without trailing newlines
 New element inserted (without intervening newlines) after an old sol-transparent node should serialize correctly
 !! options
 parsoid=html2wt
-!! html
+!! html/parsoid
 <meta typeof="mw:Includes/IncludeOnly" data-parsoid='{"src":"&lt;includeonly>foo&lt;/includeonly>"}'/><meta typeof="mw:Includes/IncludeOnly/End" data-parsoid='{"src":""}'/><p>new para</p>
 
 <link rel="mw:PageProp/Category" href="./Category:Foo" data-parsoid='{}'/><h1>new heading</h1>
@@ -22792,12 +23374,10 @@ new para
 ## a Parsoid serializer test, marking this Parsoid only
 !!test
 Improperly nested inline or quotes tags with whitespace in between
-!!options
-parsoid
 !! wikitext
 <span> <s>x</span> </s>
 ''' ''x''' ''
-!! html
+!! html/parsoid
 <p><span> <s>x</s></span><s> </s>
 <b> <i>x</i></b><i> </i>
 </p>
@@ -22805,11 +23385,9 @@ parsoid
 
 !!test
 Encapsulate protected attributes from wt
-!!options
-parsoid
 !! wikitext
 <div typeof="mw:placeholder stuff" data-parsoid="weird" data-parsoid-other="no" about="time" rel="mw:true">foo</div>
-!! html
+!! html/parsoid
 <body><div data-x-typeof="mw:placeholder stuff" data-x-data-parsoid="weird" data-x-data-parsoid-other="no" data-x-about="time" data-x-rel="mw:true">foo</div>
 </body>
 !!end
@@ -22823,7 +23401,7 @@ Ensure ParagraphWrapper can deal with stray closing pre tags
 parsoid=wt2html
 !! wikitext
 plain text</pre>
-!! html
+!! html/parsoid
 plain text
 !!end
 
@@ -22833,7 +23411,7 @@ plain text
 parsoid=wt2html
 !! wikitext
 <table>hi</table><table>ho</table>
-!! html
+!! html/parsoid
 <p>hi</p>
 <table></table>
 <p>ho</p>
@@ -22849,7 +23427,7 @@ parsoid=wt2html,wt2wt
 <tr> || ||
 <td> a
 </table>
-!! html
+!! html/parsoid
 <p> || ||
 </p><table>
 <tbody><tr><td> a</td></tr>
@@ -22862,7 +23440,7 @@ Encapsulation properly handles null DSR information from foster box
 parsoid=wt2html,wt2wt
 !! wikitext
 {{echo|<table>foo<tr><td>bar</td></tr></table>}}
-!! html
+!! html/parsoid
 <span typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;<table>foo<tr><td>bar</td></tr></table>&quot;}},&quot;i&quot;:0}}]}">foo</span><table><tbody><tr><td>bar</td></tr></tbody></table>
 !!end
 
@@ -22872,7 +23450,7 @@ parsoid=wt2html,wt2wt
 parsoid=wt2wt,wt2html
 !! wikitext
 <table>{{echo|foo<tr><td>bar</td></tr>}}</table>
-!! html
+!! html/parsoid
 <p typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[&quot;<table>&quot;,{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;foo<tr><td>bar</td></tr>&quot;}},&quot;i&quot;:0}},&quot;</table>&quot;]}">foo</p><table>
 <tbody>
 <tr>
@@ -22888,7 +23466,7 @@ parsoid=wt2wt,wt2html
 parsoid=wt2wt,wt2html
 !! wikitext
 <table><div>{{echo|foo}}</div><tr><td>bar</td></tr></table>
-!! html
+!! html/parsoid
 <div typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[&quot;<table><div>&quot;,{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;foo&quot;}},&quot;i&quot;:0}},&quot;</div><tr><td>bar</td></tr></table>&quot;]}">foo</div>
 <table>
 <tbody>
@@ -22905,7 +23483,7 @@ parsoid=wt2wt,wt2html
 parsoid=wt2wt,wt2html
 !! wikitext
 <table><div><p>{{echo|foo</p></div><tr><td>}}bar</td></tr></table>
-!! html
+!! html/parsoid
 <div typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[&quot;<table><div><p>&quot;,{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;foo</p></div><tr><td>&quot;}},&quot;i&quot;:0}},&quot;bar</td></tr></table>&quot;]}">
 <p>foo</p>
 </div>
@@ -22924,7 +23502,7 @@ parsoid=wt2wt,wt2html
 parsoid=wt2wt,wt2html
 !! wikitext
 <table><div><p>{{echo|foo</p></div><tr><td>}}bar</td></tr></table>
-!! html
+!! html/parsoid
 <div typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[&quot;<table><div><p>&quot;,{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;foo</p></div><tr><td>&quot;}},&quot;i&quot;:0}},&quot;bar</td></tr></table>&quot;]}">
 <p>foo</p>
 </div>
@@ -22943,7 +23521,7 @@ parsoid=wt2wt,wt2html
 parsoid=wt2wt,wt2html
 !! wikitext
 <table><tr><td><div><p>{{echo|foo</p></div></td>foo}}</tr></table>
-!! html
+!! html/parsoid
 <p typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[&quot;<table><tr><td><div><p>&quot;,{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;foo</p></div></td>foo&quot;}},&quot;i&quot;:0}},&quot;</tr></table>&quot;]}">foo</p>
 <table>
 <tbody>
@@ -22964,7 +23542,7 @@ parsoid=wt2wt,wt2html
 parsoid=wt2wt,wt2html
 !! wikitext
 <table><tr><td><div><p>{{echo|foo</p></div></td>foo</tr></table>}}<p>ok</p>
-!! html
+!! html/parsoid
 <p typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[&quot;<table><tr><td><div><p>&quot;,{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;foo</p></div></td>foo</tr></table>&quot;}},&quot;i&quot;:0}}]}">foo</p>
 <table>
 <tbody>
@@ -22986,7 +23564,7 @@ parsoid=wt2wt,wt2html
 parsoid=wt2wt,wt2html
 !! wikitext
 <table>{{echo|<p>foo</p>}}<td>bar</td></table>
-!! html
+!! html/parsoid
 <p typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[&quot;<table>&quot;,{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;<p>foo</p>&quot;}},&quot;i&quot;:0}},&quot;<td>bar</td></table>&quot;]}">foo</p>
 <table>
 <tbody>
@@ -22997,6 +23575,8 @@ parsoid=wt2wt,wt2html
 </table>
 !!end
 
+# Note that the wt is broken on purpose: the = should be {{=}} if you
+# don't want it to be a template parameter key.
 !!test
 8. Encapsulate foster-parented transclusion content
 !!options
@@ -23007,8 +23587,11 @@ parsoid=wt2wt,wt2html
 |-
 |b
 |}
-!! html
-<p typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;a\n&quot;}},&quot;i&quot;:0}}]}">a</p><p typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[&quot;{|&quot;,{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;style&quot;:{&quot;wt&quot;:&quot;'color:red'&quot;}},&quot;i&quot;:0}},&quot;\n|-\n|b\n|}&quot;]}">{{{1}}}</p><table>
+!! html/parsoid
+<p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\n"}},"i":0}}]}'>a</p>
+<span> </span>
+<p typeof="mw:Transclusion" data-mw='{"parts":["{|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"style":{"wt":"&#39;color:red&#39;"}},"i":0}},"\n|-\n|b\n|}"]}'>{{{1}}}</p>
+<table>
 <tbody>
 <tr>
 <td>b</td>
@@ -23023,7 +23606,7 @@ parsoid=wt2wt,wt2html
 parsoid=wt2wt,wt2html
 !! wikitext
 <table>{{echo|hi</table>hello}}
-!! html
+!! html/parsoid
 <p about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":["&lt;table>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"hi&lt;/table>hello"}},"i":0}}]}' data-parsoid='{"fostered":true,"autoInsertedEnd":true,"autoInsertedStart":true,"pi":[[{"k":"1","spc":["","","",""]}]]}'>hi</p><table about="#mwt2" data-parsoid='{"stx":"html"}'></table><p about="#mwt2">hello</p>
 !!end
 
@@ -23038,7 +23621,7 @@ parsoid=wt2html,wt2wt
 |}
 </div>
 |}
-!! html
+!! html/parsoid
 <div about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"OpenTable","href":"./Template:OpenTable"},"params":{},"i":0}},"\n&lt;div>"]}' data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[]]}'></div><span about="#mwt1">
 </span>
 <table about="#mwt1" data-parsoid='{"autoInsertedEnd":true}'></table>
@@ -23066,7 +23649,7 @@ Properly encapsulate empty-content transclusions in fosterable positions
 Support <object> element with .data attribute
 !!options
 parsoid=html2wt
-!! html
+!! html/parsoid
 <object data="test.swf"></object>
 !! wikitext
 <object data="test.swf"></object>
@@ -23343,7 +23926,7 @@ Image: Block level image should have \n before and after
 456
 !! html/parsoid
 <p>123</p>
-<figure class="mw-halign-right" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="17" width="150"/></a></figure>
+<figure class="mw-halign-right" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/150px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="17" width="150"/></a></figure>
 <p>456</p>
 !!end
 
@@ -23361,26 +23944,22 @@ Image: New block level image should have \n before and after (existing content)
 
 !! test
 Image: upright option (parsoid)
-!! options
-parsoid
 !! wikitext
 [[File:Foobar.jpg|thumb|upright|caption]]
 [[File:Foobar.jpg|thumb|upright=0.5|caption]]
 [[File:Foobar.jpg|thumb|500x500px|upright=0.5|caption]]
-!! html
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="19" width="170"/></a><figcaption>caption</figcaption></figure>
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="12" width="110"/></a><figcaption>caption</figcaption></figure>
-<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="57" width="500"/></a><figcaption>caption</figcaption></figure>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/170px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="19" width="170"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/110px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="12" width="110"/></a><figcaption>caption</figcaption></figure>
+<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/500px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="57" width="500"/></a><figcaption>caption</figcaption></figure>
 !!end
 
 !! test
 Image: upright option is ignored on inline and frame images (parsoid)
-!! options
-parsoid
 !! wikitext
 [[File:Foobar.jpg|500x500px|upright=0.5|caption]]
-!! html
-<p><span typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="57" width="500"/></a></span></p>
+!! html/parsoid
+<p><span typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/500px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="57" width="500"/></a></span></p>
 !!end
 
 !! test
@@ -23512,22 +24091,6 @@ foo
 </div>
 !! end
 
-!! test
-Lists: Add space after bullets
-!! options
-parsoid=html2wt
-!! html
-<ul>
-<li>foo</li>
-<li> bar</li>
-<li><span> baz</span></li>
-</ul>
-!! wikitext
-* foo
-* bar
-* <span> baz</span>
-!! end
-
 !! test
 Lists: Dont insert newlines in a serialized list item.
 !! options
@@ -23540,42 +24103,63 @@ parsoid=html2wt
 !! end
 
 !! test
-Headings: Add space before/after == (Bug 51744)
+Headings: Force sol-transparent links and behavior switches to serialize before/after
 !! options
 parsoid=html2wt
 !! html
-<h2>foo</h2>
-<h2> bar</h2>
-<h2>baz </h2>
-<h2><span> baz</span></h2>
+<h2>hello there<link href="Category:A1" rel="mw:PageProp/Category" /></h2>
+<h2><link href="Category:A2" rel="mw:PageProp/Category" />hi pal</h2>
+
+<h2><!--foo-->  <link href="Category:A3" rel="mw:PageProp/Category" />   how goes it</h2>
+<h2>it goes well   <link href="Category:A4" rel="mw:PageProp/Category" />  <!--bar--></h2>
+
+<h2 data-parsoid='{}'>howdy<link href="Category:A5" rel="mw:PageProp/Category" /></h2>
+
+<h2><meta property="mw:PageProp/toc" /> ok</h2>
 !! wikitext
-== foo ==
+== hello there ==
+[[Category:A1]]
+[[Category:A2]]
 
-== bar ==
+== hi pal ==
 
-== baz ==
+<!--foo-->  [[Category:A3]]
 
-== <span> baz</span> ==
+== how goes it ==
+
+== it goes well ==
+[[Category:A4]]  <!--bar-->
+
+==howdy [[Category:A5]] ==
+
+__TOC__
+
+== ok ==
 !! end
 
 !! test
-Headings: Force metas to serialize before/after
+Headings: Don't hoist metas that come from templates
 !! options
 parsoid=html2wt
 !! html
-<h2>hello there<link href="Category:A1" rel="mw:PageProp/Category" /></h2>
-<h2><link href="Category:A2" rel="mw:PageProp/Category" />hi pal</h2>
-
-<h2><!--foo-->  <link href="Category:A3" rel="mw:PageProp/Category" />   how goes it</h2>
+<h2><span about="#mwt1" typeof="mw:Transclusion" data-parsoid="{}" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo [[Category:Foo]]"}},"i":0}}]}'>foo </span><link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1" data-parsoid="{}" /></h2>
 !! wikitext
-== hello there ==
-[[Category:A1]]
+== {{echo|foo [[Category:Foo]]}} ==
+!! end
 
-[[Category:A2]]
-== hi pal ==
+!! test
+Headings: Category in ref isn't hoisted
+!! options
+parsoid=html2wt
+!! html
+<h2> foo <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> </h2>
 
-<!--foo-->  [[Category:A3]]
-== how goes it ==
+<ol class="references" typeof="mw:Extension/references" about="#mwt3" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">bar <link rel="mw:PageProp/Category" href="./Category:Baz" /> </span></li></ol>
+!! wikitext
+== foo <ref>bar 
+[[Category:Baz]] </ref> ==
+
+<references />
 !! end
 
 !! test
@@ -23655,17 +24239,61 @@ parsoid=html2wt
 <h2>testing
 123</h2>
 
+<h2> hi <span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"bogus","href":"./Template:Bogus"},"params":{"1":{"wt":"there\nyou"}},"i":0}}]}'>there</span><span about="#mwt1">
+</span><span about="#mwt1">you</span> </h2>
+
+<h2> foo <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> </h2>
+
+<ol class="references" typeof="mw:Extension/references" about="#mwt3" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text" data-parsoid="{}">hello
+there</span></li></ol>
+
 <ul><li>asd
 sdf</li></ul>
+
+<ul><li>foo
+bar
+baz</li>
+<li>foo <b>bar</b>
+baz</li></ul>
 !! wikitext
 == testing 123 ==
 
+== hi {{bogus|there
+you}} ==
+
+== foo <ref>hello
+there</ref> ==
+
+<references />
+
 * asd sdf
+
+* foo bar baz
+* foo '''bar''' baz
+!! end
+
+!! test
+Serialize new placeholder space without spans
+!! options
+parsoid=html2wt
+!! html
+<p>foo<span typeof="mw:Placeholder"> </span>: bar</p>
+
+<p>foo<span typeof="mw:DisplaySpace mw:Placeholder" data-parsoid='{"src":" ","isDisplayHack":true}'> </span>: bar</p>
+
+<span typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;foo<span typeof=\&quot;mw:Placeholder\&quot;>&amp;nbsp;</span>: bar&quot;}}"><sup>[1]</sup></span>ok</p>
+!! wikitext
+foo : bar
+
+foo : bar
+
+<ref>foo : bar</ref>ok
 !! end
 
-#-----------------------------
-# I/B quote minimization tests
-#-----------------------------
+
+#-----------------------
+# Tag minimization tests
+#-----------------------
 
 !! test
 1. I/B quote minimization: wikitext-only tags should be combined
@@ -23770,9 +24398,52 @@ parsoid={
 ''ac''
 !! end
 
-#------------------------------------
-# End of I/B quote minimization tests
-#------------------------------------
+!! test
+1. Merge adjacent link nodes as long as at least one element is new
+!! options
+parsoid={
+  "modes": ["html2wt"],
+  "scrubWikitext": true
+}
+!! html
+<a rel="mw:WikiLink" href="./Football">Foot</a><a rel="mw:WikiLink" href="./Football">ball</a>
+<a data-parsoid="{}" rel="mw:WikiLink" href="./Football">Foot</a><a rel="mw:WikiLink" href="./Football">ball</a>
+<a data-parsoid="{}" rel="mw:WikiLink" href="./Football">Foot</a><a data-parsoid="{}" rel="mw:WikiLink" href="./Football">ball</a>
+!! wikitext
+[[Football]]
+[[Football]]
+[[Football|Foot]][[Football|ball]]
+!! end
+
+!! test
+2. Merge adjacent link nodes and enable additional normalizations
+!! options
+parsoid={
+  "modes": ["html2wt"],
+  "scrubWikitext": true
+}
+!! html
+<a rel="mw:WikiLink" href="./Football"><i>Foot</i></a><a rel="mw:WikiLink" href="./Football"><i>ball</i></a>
+!! wikitext
+[[Football|''Football'']]
+!! end
+
+!! test
+3. Don't merge adjacent link nodes if scrubWikitext is false
+!! options
+parsoid={
+  "modes": ["html2wt"],
+  "scrubWikitext": false
+}
+!! html
+<a rel="mw:WikiLink" href="./Football">Foot</a><a rel="mw:WikiLink" href="./Football">ball</a>
+!! wikitext
+[[Football|Foot]][[Football|ball]]
+!! end
+
+#------------------------------
+# End of tag minimization tests
+#------------------------------
 
 !!test
 Bug 54262: New entities
@@ -23791,7 +24462,7 @@ parsoid=html2wt
 Magic words
 !! options
 parsoid=html2wt
-!! html
+!! html/parsoid
 <meta property='mw:PageProp/toc' />
 <meta property='mw:PageProp/notoc' />
 <meta property='mw:PageProp/forcetoc' />
@@ -24049,6 +24720,151 @@ parsoid=html2wt
 [[Foo]]
 !! end
 
+## SSS FIXME: This is broken output nevertheless.
+## What might be a reasonable non-broken output for this?
+## This is an edge case unlikely to be seen in production
+## that I am not wasting more time on this right now.
+!! test
+Never serialize a-tag as html, no matter what attributes it has
+!! options
+parsoid=html2wt
+!! html
+<a bad='true' href='http://boo.org'><img src='http://boohoo.org' /></a>
+!! wikitext
+[http://boo.org http://boohoo.org]
+!! end
+
+# --------------------------------------------
+# Tests spec'ing wikitext serialization norms |
+# --------------------------------------------
+
+!! test
+Lists: Add space after bullets
+!! options
+parsoid=html2wt
+!! html
+<ul>
+<li>foo</li>
+<li> bar</li>
+<li><span> baz</span></li>
+</ul>
+!! wikitext
+* foo
+* bar
+* <span> baz</span>
+!! end
+
+!! test
+Headings: Add space before/after == (T53744)
+!! options
+parsoid=html2wt
+!! html
+<h2>foo</h2>
+<h2> bar</h2>
+<h2>baz </h2>
+<h2><span> baz</span></h2>
+
+<!-- Even after hoisted content -->
+<h2> <link href="Category:A2" rel="mw:PageProp/Category" />ok</h2>
+!! wikitext
+== foo ==
+
+== bar ==
+
+== baz ==
+
+== <span> baz</span> ==
+
+<!-- Even after hoisted content -->
+ [[Category:A2]]
+
+== ok ==
+!! end
+
+!! test
+1. Headings: suppress newly created empty headings
+!! options
+parsoid={
+  "modes": ["html2wt"],
+  "scrubWikitext": true
+}
+!! html
+<h2></h2>
+!! wikitext
+!! end
+
+!! test
+2. Headings: don't suppress empty headings if scrubWikitext is false
+!! options
+parsoid=html2wt
+!! html
+<h2></h2>
+!! wikitext
+==<nowiki/>==
+!! end
+
+!! test
+3. Headings: don't suppress empty headings for existing headings even if scrubWikitext is true
+!! options
+parsoid={
+  "modes": ["html2wt"],
+  "scrubWikitext": true
+}
+!! html
+<h2 data-parsoid='{}'></h2>
+!! wikitext
+==<nowiki/>==
+!! end
+
+!! test
+1. WT Quote Tags: suppress newly created empty style tags
+!! options
+parsoid={
+  "modes": ["html2wt"],
+  "scrubWikitext": true
+}
+!! html
+<i></i><b></b>
+!! wikitext
+!! end
+
+!! test
+2. WT Quote Tags: don't suppress empty style tags if scrubWikitext is false
+!! options
+parsoid=html2wt
+!! html
+<i></i><b></b>
+!! wikitext
+''<nowiki/>'''''<nowiki/>'''
+!! end
+
+!! test
+1. Indent Pre Nowiki: suppress whitespace at the start of new paragraph
+!! options
+parsoid={
+  "modes": ["html2wt"],
+  "scrubWikitext": true
+}
+!! html
+<p> hi</p>
+!! wikitext
+hi
+!! end
+
+!! test
+2. Indent Pre Nowiki: don't suppress whitespace at the start of new paragraph if scrubWikitext is false
+!! options
+parsoid=html2wt
+!! html
+<p> hi</p>
+!! wikitext
+<nowiki> </nowiki>hi
+!! end
+
+# ---------------------------------------------------
+# End of tests spec'ing wikitext serialization norms |
+# ---------------------------------------------------
+
 # -----------------------------------------------------------------
 # End of section for Parsoid-only html2wt tests for serialization
 # of new content
@@ -24064,7 +24880,7 @@ parsoid=html2wt
 
 ## T90517
 !! test
-1. Selser: New comments should not be lost
+Selser: New comments should not be lost
 !! options
 parsoid={
   "modes": ["selser"],
@@ -24085,7 +24901,7 @@ parsoid={
 
 ## T89383
 !! test
-2. Selser: Check for validity of DSR before using it
+Selser: Check for validity of DSR before using it
 !! options
 parsoid={
   "modes": ["selser"],
@@ -24100,10 +24916,55 @@ parsoid={
 <span id="a">a</span>
 !! end
 
+!! test
+1. DOMDiff: Changes to <ref> content should be looked up using id
+!! options
+parsoid={
+  "modes": ["selser"],
+  "changes": [
+    ["#X", "after", "bar"],
+    ["#Y", "after", "baz"]
+  ]
+}
+!! wikitext
+X <ref><span id="X">foo</span></ref>
+Y <ref name="a" />
+<references>
+<ref name="a"><span id="Y">foo</span></ref>
+</references>
+!! wikitext/edited
+X <ref><span id="X">foo</span>bar</ref>
+Y <ref name="a" />
+<references>
+<ref name="a"><span id="Y">foo</span>baz</ref>
+</references>
+!! end
 
-TODO:
-more images
-more tables
-character entities
-and much more
-Try for 100% code coverage
+!! test
+2. DOMDiff: Changes to <ref> content should be looked up using id
+!! options
+parsoid={
+  "modes": ["selser"],
+  "changes": [
+    ["#Z", "after", "bar"]
+  ]
+}
+!! wikitext
+A <ref>foo bar for a</ref>
+B <ref group="X" name="b" />
+
+<references />
+
+<references group="X">
+<ref name="b"><span id="Z">foo</span></ref>
+</references>
+!! wikitext/edited
+A <ref>foo bar for a</ref>
+B <ref group="X" name="b" />
+
+<references />
+
+<references group="X">
+<ref name="b"><span id="Z">foo</span>bar</ref>
+</references>
+!! end
diff --git a/tests/phpunit/data/templates/bad_partial.mustache b/tests/phpunit/data/templates/bad_partial.mustache
new file mode 100644 (file)
index 0000000..d2767f0
--- /dev/null
@@ -0,0 +1 @@
+Partial {{>nonexistenttemplate}} in here
diff --git a/tests/phpunit/data/templates/has_partial.mustache b/tests/phpunit/data/templates/has_partial.mustache
new file mode 100644 (file)
index 0000000..504387a
--- /dev/null
@@ -0,0 +1 @@
+Partial {{>foobar_args}} in here
index d11668b..d4df7b0 100644 (file)
@@ -112,6 +112,8 @@ class WfUrlencodeTest extends MediaWikiTestCase {
                        ### Other tests
                        // slash remain unchanged. %2F seems to break things
                        array( '/', '/' ),
+                       // T105265
+                       array( '~', '~' ),
 
                        // Other 'funnies' chars
                        array( '[]', '%5B%5D' ),
index 81854ff..3b37f4a 100644 (file)
@@ -57,7 +57,20 @@ class TemplateParserTest extends MediaWikiTestCase {
                                array(),
                                false,
                                'RuntimeException',
-                       )
+                       ),
+                       array(
+                               'has_partial',
+                               array(
+                                       'planet' => 'world',
+                               ),
+                               "Partial hello world!\n in here\n",
+                       ),
+                       array(
+                               'bad_partial',
+                               array(),
+                               false,
+                               'Exception',
+                       ),
                );
        }
 }
index 10f64be..9b4eca7 100644 (file)
@@ -224,6 +224,7 @@ class WANObjectCacheTest extends MediaWikiTestCase {
 
        /**
         * @covers WANObjectCache::touchCheckKey()
+        * @covers WANObjectCache::resetCheckKey()
         * @covers WANObjectCache::getCheckKeyTime()
         */
        public function testTouchKeys() {
@@ -250,5 +251,13 @@ class WANObjectCacheTest extends MediaWikiTestCase {
 
                $t4 = $this->cache->getCheckKeyTime( $key );
                $this->assertEquals( $t3, $t4, 'Check key time did not change' );
+
+               usleep( 1 );
+               $this->cache->resetCheckKey( $key );
+               $t5 = $this->cache->getCheckKeyTime( $key );
+               $this->assertGreaterThan( $t4, $t5, 'Check key time increased' );
+
+               $t6 = $this->cache->getCheckKeyTime( $key );
+               $this->assertEquals( $t5, $t6, 'Check key time did not change' );
        }
 }
index 136ca6e..41653fb 100644 (file)
@@ -3,10 +3,9 @@
 class ResourceLoaderModuleTest extends ResourceLoaderTestCase {
 
        /**
-        * @covers ResourceLoaderModule::getDefinitionSummary
-        * @covers ResourceLoaderFileModule::getDefinitionSummary
+        * @covers ResourceLoaderModule::getVersionHash
         */
-       public function testDefinitionSummary() {
+       public function testGetVersionHash() {
                $context = $this->getResourceLoaderContext();
 
                $baseParams = array(
@@ -16,15 +15,13 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase {
                );
 
                $module = new ResourceLoaderFileModule( $baseParams );
-
-               $jsonSummary = json_encode( $module->getDefinitionSummary( $context ) );
+               $version = json_encode( $module->getVersionHash( $context ) );
 
                // Exactly the same
                $module = new ResourceLoaderFileModule( $baseParams );
-
                $this->assertEquals(
-                       $jsonSummary,
-                       json_encode( $module->getDefinitionSummary( $context ) ),
+                       $version,
+                       json_encode( $module->getVersionHash( $context ) ),
                        'Instance is insignificant'
                );
 
@@ -32,10 +29,9 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase {
                $module = new ResourceLoaderFileModule( array(
                        'dependencies' => array( 'mediawiki', 'jquery' ),
                ) + $baseParams );
-
                $this->assertEquals(
-                       $jsonSummary,
-                       json_encode( $module->getDefinitionSummary( $context ) ),
+                       $version,
+                       json_encode( $module->getVersionHash( $context ) ),
                        'Order of dependencies is insignificant'
                );
 
@@ -43,10 +39,9 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase {
                $module = new ResourceLoaderFileModule( array(
                        'messages' => array( 'world', 'hello' ),
                ) + $baseParams );
-
                $this->assertEquals(
-                       $jsonSummary,
-                       json_encode( $module->getDefinitionSummary( $context ) ),
+                       $version,
+                       json_encode( $module->getVersionHash( $context ) ),
                        'Order of messages is insignificant'
                );
 
@@ -54,19 +49,17 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase {
                $module = new ResourceLoaderFileModule( array(
                        'scripts' => array( 'bar.js', 'foo.js' ),
                ) + $baseParams );
-
                $this->assertNotEquals(
-                       $jsonSummary,
-                       json_encode( $module->getDefinitionSummary( $context ) ),
+                       $version,
+                       json_encode( $module->getVersionHash( $context ) ),
                        'Order of scripts is significant'
                );
 
                // Subclass
                $module = new ResourceLoaderFileModuleTestModule( $baseParams );
-
                $this->assertNotEquals(
-                       $jsonSummary,
-                       json_encode( $module->getDefinitionSummary( $context ) ),
+                       $version,
+                       json_encode( $module->getVersionHash( $context ) ),
                        'Class is significant'
                );
        }
index efde4c0..587d6d0 100755 (executable)
@@ -55,7 +55,7 @@ class PHPUnitMaintClass extends Maintenance {
        public function finalSetup() {
                parent::finalSetup();
 
-               global $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType;
+               global $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType, $wgMainWANCache;
                global $wgLanguageConverterCacheType, $wgUseDatabaseMessages;
                global $wgLocaltimezone, $wgLocalisationCacheConf;
                global $wgDevelopmentWarnings;
@@ -67,6 +67,7 @@ class PHPUnitMaintClass extends Maintenance {
                $wgDevelopmentWarnings = true;
 
                $wgMainCacheType = CACHE_NONE;
+               $wgMainWANCache = CACHE_NONE;
                $wgMessageCacheType = CACHE_NONE;
                $wgParserCacheType = CACHE_NONE;
                $wgLanguageConverterCacheType = CACHE_NONE;
index 97eddee..345b7ef 100644 (file)
@@ -79,6 +79,7 @@ return array(
                        'tests/qunit/suites/resources/mediawiki.api/mediawiki.api.category.test.js',
                        'tests/qunit/suites/resources/mediawiki.api/mediawiki.api.options.test.js',
                        'tests/qunit/suites/resources/mediawiki.api/mediawiki.api.parse.test.js',
+                       'tests/qunit/suites/resources/mediawiki.api/mediawiki.api.upload.test.js',
                        'tests/qunit/suites/resources/mediawiki.api/mediawiki.api.watch.test.js',
                        'tests/qunit/suites/resources/mediawiki.special/mediawiki.special.recentchanges.test.js',
                        'tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js',
@@ -106,6 +107,7 @@ return array(
                        'mediawiki.api.category',
                        'mediawiki.api.options',
                        'mediawiki.api.parse',
+                       'mediawiki.api.upload',
                        'mediawiki.api.watch',
                        'mediawiki.jqueryMsg',
                        'mediawiki.messagePoster',
diff --git a/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.upload.test.js b/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.upload.test.js
new file mode 100644 (file)
index 0000000..1afbd35
--- /dev/null
@@ -0,0 +1,34 @@
+( function ( mw, $ ) {
+       QUnit.module( 'mediawiki.api.upload', QUnit.newMwEnvironment( {} ) );
+
+       QUnit.test( 'Basic functionality', function ( assert ) {
+               QUnit.expect( 2 );
+               var api = new mw.Api();
+               assert.ok( api.upload );
+               // The below will return a rejected deferred, but that's OK.
+               assert.ok( api.upload() );
+       } );
+
+       QUnit.test( 'Set up iframe upload', function ( assert ) {
+               QUnit.expect( 5 );
+               var $iframe, $form, $input,
+                       api = new mw.Api();
+
+               this.sandbox.stub( api, 'getEditToken', function () {
+                       return $.Deferred().promise();
+               } );
+
+               api.uploadWithIframe( $( '<input>' )[0], { filename: 'Testing API upload.jpg' } );
+
+               $iframe = $( 'iframe' );
+               $form = $( 'form.mw-api-upload-form' );
+               $input = $form.find( 'input[name=filename]' );
+
+               assert.ok( $form.length > 0 );
+               assert.ok( $input.length > 0 );
+               assert.ok( $iframe.length > 0 );
+               assert.strictEqual( $form.prop( 'target' ), $iframe.prop( 'id' ) );
+               assert.strictEqual( $input.val(), 'Testing API upload.jpg' );
+       } );
+
+}( mediaWiki, jQuery ) );
index 8a3e100..b73d2e3 100644 (file)
@@ -92,7 +92,7 @@
                assert.equal( mw.util.rawurlencode( 'Test:A & B/Here' ), 'Test%3AA%20%26%20B%2FHere' );
        } );
 
-       QUnit.test( 'wikiUrlencode', 10, function ( assert ) {
+       QUnit.test( 'wikiUrlencode', 11, function ( assert ) {
                assert.equal( mw.util.wikiUrlencode( 'Test:A & B/Here' ), 'Test:A_%26_B/Here' );
                // See also wfUrlencodeTest.php#provideURLS
                $.each( {
                        ':': ':',
                        ';@$-_.!*': ';@$-_.!*',
                        '/': '/',
+                       '~': '~',
                        '[]': '%5B%5D',
                        '<>': '%3C%3E',
                        '\'': '%27'
index b530bb5..0d0a15e 100644 (file)
--- a/thumb.php
+++ b/thumb.php
@@ -298,12 +298,19 @@ function wfStreamThumb( array $params ) {
                $headers[] = 'Vary: ' . implode( ', ', $varyHeader );
        }
 
+       $stats = RequestContext::getMain()->getStats();
+
        // Stream the file if it exists already...
        $thumbPath = $img->getThumbPath( $thumbName );
        if ( $img->getRepo()->fileExists( $thumbPath ) ) {
+               $starttime = microtime( true );
                $success = $img->getRepo()->streamFile( $thumbPath, $headers );
+               $streamtime = microtime( true ) - $starttime;
+
                if ( !$success ) {
                        wfThumbError( 500, 'Could not stream the file' );
+               } else {
+                       $stats->timing( 'media.thumbnail.stream', $streamtime );
                }
                return;
        }
@@ -318,7 +325,9 @@ function wfStreamThumb( array $params ) {
        }
 
        // Actually generate a new thumbnail
+       $starttime = microtime( true );
        list( $thumb, $errorMsg ) = wfGenerateThumbnail( $img, $params, $thumbName, $thumbPath );
+       $generatetime = microtime( true ) - $starttime;
        /** @var MediaTransformOutput|bool $thumb */
 
        // Check for thumbnail generation errors...
@@ -339,6 +348,8 @@ function wfStreamThumb( array $params ) {
        if ( $errorMsg !== false ) {
                wfThumbError( $errorCode, $errorMsg );
        } else {
+               $stats->timing( 'media.thumbnail.generate', $generatetime );
+
                // Stream the file if there were no errors
                $success = $thumb->streamFile( $headers );
                if ( !$success ) {