Merge "includes/resourceloader/: Use Config instead of globals"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 8 Aug 2014 17:25:42 +0000 (17:25 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 8 Aug 2014 17:25:42 +0000 (17:25 +0000)
647 files changed:
RELEASE-NOTES-1.24
docs/hooks.txt
images/README
includes/AutoLoader.php
includes/DefaultSettings.php
includes/EditPage.php
includes/Html.php
includes/MediaWiki.php
includes/MimeMagic.php
includes/Setup.php
includes/SkinFallback.php
includes/SkinTemplate.php
includes/actions/ProtectAction.php
includes/actions/UnprotectAction.php [new file with mode: 0644]
includes/actions/UnwatchAction.php [new file with mode: 0644]
includes/actions/WatchAction.php
includes/api/ApiFormatBase.php
includes/api/ApiModuleManager.php
includes/api/ApiQuerySearch.php
includes/context/RequestContext.php
includes/exception/UserNotLoggedIn.php
includes/filebackend/FSFile.php
includes/filebackend/README
includes/filerepo/file/ArchivedFile.php
includes/filerepo/file/File.php
includes/filerepo/file/LocalFile.php
includes/libs/CSSMin.php
includes/libs/IEContentAnalyzer.php
includes/libs/lessc.inc.php
includes/media/MediaHandler.php
includes/media/XMPInfo.php
includes/mime.info
includes/page/Article.php
includes/resourceloader/ResourceLoaderFileModule.php
includes/revisiondelete/RevDelArchiveItem.php [new file with mode: 0644]
includes/revisiondelete/RevDelArchiveList.php [new file with mode: 0644]
includes/revisiondelete/RevDelArchivedFileItem.php [new file with mode: 0644]
includes/revisiondelete/RevDelArchivedFileList.php [new file with mode: 0644]
includes/revisiondelete/RevDelArchivedRevisionItem.php [new file with mode: 0644]
includes/revisiondelete/RevDelFileItem.php [new file with mode: 0644]
includes/revisiondelete/RevDelFileList.php [new file with mode: 0644]
includes/revisiondelete/RevDelLogItem.php [new file with mode: 0644]
includes/revisiondelete/RevDelLogList.php [new file with mode: 0644]
includes/revisiondelete/RevDelRevisionItem.php [new file with mode: 0644]
includes/revisiondelete/RevDelRevisionList.php [new file with mode: 0644]
includes/revisiondelete/RevisionDelete.php [deleted file]
includes/search/SearchPostgres.php
includes/search/SearchResult.php
includes/specialpage/ChangesListSpecialPage.php
includes/specialpage/QueryPage.php
includes/specialpage/SpecialPage.php
includes/specials/SpecialSearch.php
includes/specials/SpecialUploadStash.php
includes/specials/SpecialUserlogin.php
includes/specials/SpecialWantedpages.php
includes/specials/SpecialWhatlinkshere.php
includes/specials/SpecialWithoutinterwiki.php
includes/upload/UploadBase.php
includes/upload/UploadStash.php
languages/Names.php
languages/i18n/en.json
languages/i18n/qqq.json
languages/messages/MessagesArq.php
maintenance/archives/patch-mimesearch-indexes.sql
maintenance/dev/includes/router.php
maintenance/findMissingFiles.php [new file with mode: 0644]
maintenance/refreshImageMetadata.php
resources/src/jquery/jquery.tablesorter.js
resources/src/mediawiki.special/mediawiki.special.userlogin.login.css
resources/src/mediawiki.ui/components/inputs.less
resources/src/mediawiki/mediawiki.js
resources/src/mediawiki/mediawiki.notification.js
skins/.gitignore
skins/MonoBook/COPYING [deleted file]
skins/MonoBook/IE60Fixes.css [deleted file]
skins/MonoBook/IE70Fixes.css [deleted file]
skins/MonoBook/MonoBook.php [deleted file]
skins/MonoBook/MonoBookTemplate.php [deleted file]
skins/MonoBook/SkinMonoBook.php [deleted file]
skins/MonoBook/audio.png [deleted file]
skins/MonoBook/bullet.gif [deleted file]
skins/MonoBook/discussionitem_icon.gif [deleted file]
skins/MonoBook/document.png [deleted file]
skins/MonoBook/external-ltr.png [deleted file]
skins/MonoBook/external-rtl.png [deleted file]
skins/MonoBook/file_icon.gif [deleted file]
skins/MonoBook/headbg.jpg [deleted file]
skins/MonoBook/i18n/aln.json [deleted file]
skins/MonoBook/i18n/an.json [deleted file]
skins/MonoBook/i18n/ar.json [deleted file]
skins/MonoBook/i18n/arz.json [deleted file]
skins/MonoBook/i18n/ast.json [deleted file]
skins/MonoBook/i18n/az.json [deleted file]
skins/MonoBook/i18n/bcc.json [deleted file]
skins/MonoBook/i18n/bcl.json [deleted file]
skins/MonoBook/i18n/be-tarask.json [deleted file]
skins/MonoBook/i18n/be.json [deleted file]
skins/MonoBook/i18n/bg.json [deleted file]
skins/MonoBook/i18n/bn.json [deleted file]
skins/MonoBook/i18n/br.json [deleted file]
skins/MonoBook/i18n/bs.json [deleted file]
skins/MonoBook/i18n/ca.json [deleted file]
skins/MonoBook/i18n/ce.json [deleted file]
skins/MonoBook/i18n/ckb.json [deleted file]
skins/MonoBook/i18n/crh-cyrl.json [deleted file]
skins/MonoBook/i18n/crh-latn.json [deleted file]
skins/MonoBook/i18n/cs.json [deleted file]
skins/MonoBook/i18n/da.json [deleted file]
skins/MonoBook/i18n/de.json [deleted file]
skins/MonoBook/i18n/diq.json [deleted file]
skins/MonoBook/i18n/dsb.json [deleted file]
skins/MonoBook/i18n/el.json [deleted file]
skins/MonoBook/i18n/en.json [deleted file]
skins/MonoBook/i18n/eo.json [deleted file]
skins/MonoBook/i18n/es.json [deleted file]
skins/MonoBook/i18n/et.json [deleted file]
skins/MonoBook/i18n/eu.json [deleted file]
skins/MonoBook/i18n/ext.json [deleted file]
skins/MonoBook/i18n/fa.json [deleted file]
skins/MonoBook/i18n/fi.json [deleted file]
skins/MonoBook/i18n/fr.json [deleted file]
skins/MonoBook/i18n/frp.json [deleted file]
skins/MonoBook/i18n/fur.json [deleted file]
skins/MonoBook/i18n/ga.json [deleted file]
skins/MonoBook/i18n/gan-hans.json [deleted file]
skins/MonoBook/i18n/gan-hant.json [deleted file]
skins/MonoBook/i18n/gd.json [deleted file]
skins/MonoBook/i18n/gl.json [deleted file]
skins/MonoBook/i18n/hak.json [deleted file]
skins/MonoBook/i18n/he.json [deleted file]
skins/MonoBook/i18n/hi.json [deleted file]
skins/MonoBook/i18n/hr.json [deleted file]
skins/MonoBook/i18n/hsb.json [deleted file]
skins/MonoBook/i18n/hu.json [deleted file]
skins/MonoBook/i18n/hy.json [deleted file]
skins/MonoBook/i18n/ia.json [deleted file]
skins/MonoBook/i18n/id.json [deleted file]
skins/MonoBook/i18n/ilo.json [deleted file]
skins/MonoBook/i18n/is.json [deleted file]
skins/MonoBook/i18n/it.json [deleted file]
skins/MonoBook/i18n/ja.json [deleted file]
skins/MonoBook/i18n/ka.json [deleted file]
skins/MonoBook/i18n/kk-arab.json [deleted file]
skins/MonoBook/i18n/kk-cyrl.json [deleted file]
skins/MonoBook/i18n/kk-latn.json [deleted file]
skins/MonoBook/i18n/km.json [deleted file]
skins/MonoBook/i18n/ko.json [deleted file]
skins/MonoBook/i18n/krc.json [deleted file]
skins/MonoBook/i18n/ksh.json [deleted file]
skins/MonoBook/i18n/ku-latn.json [deleted file]
skins/MonoBook/i18n/lb.json [deleted file]
skins/MonoBook/i18n/lt.json [deleted file]
skins/MonoBook/i18n/lzh.json [deleted file]
skins/MonoBook/i18n/mg.json [deleted file]
skins/MonoBook/i18n/min.json [deleted file]
skins/MonoBook/i18n/mk.json [deleted file]
skins/MonoBook/i18n/ml.json [deleted file]
skins/MonoBook/i18n/mr.json [deleted file]
skins/MonoBook/i18n/ms.json [deleted file]
skins/MonoBook/i18n/mt.json [deleted file]
skins/MonoBook/i18n/mwl.json [deleted file]
skins/MonoBook/i18n/nb.json [deleted file]
skins/MonoBook/i18n/nds-nl.json [deleted file]
skins/MonoBook/i18n/nds.json [deleted file]
skins/MonoBook/i18n/ne.json [deleted file]
skins/MonoBook/i18n/new.json [deleted file]
skins/MonoBook/i18n/nl.json [deleted file]
skins/MonoBook/i18n/nn.json [deleted file]
skins/MonoBook/i18n/nv.json [deleted file]
skins/MonoBook/i18n/oc.json [deleted file]
skins/MonoBook/i18n/os.json [deleted file]
skins/MonoBook/i18n/pa.json [deleted file]
skins/MonoBook/i18n/pam.json [deleted file]
skins/MonoBook/i18n/pdt.json [deleted file]
skins/MonoBook/i18n/pl.json [deleted file]
skins/MonoBook/i18n/pms.json [deleted file]
skins/MonoBook/i18n/ps.json [deleted file]
skins/MonoBook/i18n/pt-br.json [deleted file]
skins/MonoBook/i18n/pt.json [deleted file]
skins/MonoBook/i18n/qqq.json [deleted file]
skins/MonoBook/i18n/qu.json [deleted file]
skins/MonoBook/i18n/rm.json [deleted file]
skins/MonoBook/i18n/ro.json [deleted file]
skins/MonoBook/i18n/roa-tara.json [deleted file]
skins/MonoBook/i18n/ru.json [deleted file]
skins/MonoBook/i18n/sa.json [deleted file]
skins/MonoBook/i18n/sah.json [deleted file]
skins/MonoBook/i18n/scn.json [deleted file]
skins/MonoBook/i18n/si.json [deleted file]
skins/MonoBook/i18n/sk.json [deleted file]
skins/MonoBook/i18n/sq.json [deleted file]
skins/MonoBook/i18n/sr-ec.json [deleted file]
skins/MonoBook/i18n/sr-el.json [deleted file]
skins/MonoBook/i18n/stq.json [deleted file]
skins/MonoBook/i18n/su.json [deleted file]
skins/MonoBook/i18n/sv.json [deleted file]
skins/MonoBook/i18n/te.json [deleted file]
skins/MonoBook/i18n/th.json [deleted file]
skins/MonoBook/i18n/tl.json [deleted file]
skins/MonoBook/i18n/tr.json [deleted file]
skins/MonoBook/i18n/tt-cyrl.json [deleted file]
skins/MonoBook/i18n/tt-latn.json [deleted file]
skins/MonoBook/i18n/tyv.json [deleted file]
skins/MonoBook/i18n/ug-arab.json [deleted file]
skins/MonoBook/i18n/uk.json [deleted file]
skins/MonoBook/i18n/vep.json [deleted file]
skins/MonoBook/i18n/vi.json [deleted file]
skins/MonoBook/i18n/vmf.json [deleted file]
skins/MonoBook/i18n/vo.json [deleted file]
skins/MonoBook/i18n/vro.json [deleted file]
skins/MonoBook/i18n/wa.json [deleted file]
skins/MonoBook/i18n/wo.json [deleted file]
skins/MonoBook/i18n/yi.json [deleted file]
skins/MonoBook/i18n/yue.json [deleted file]
skins/MonoBook/i18n/zh-hans.json [deleted file]
skins/MonoBook/i18n/zh-hant.json [deleted file]
skins/MonoBook/link_icon.gif [deleted file]
skins/MonoBook/lock_icon.gif [deleted file]
skins/MonoBook/magnify-clip.png [deleted file]
skins/MonoBook/mail_icon.gif [deleted file]
skins/MonoBook/main.css [deleted file]
skins/MonoBook/news_icon.png [deleted file]
skins/MonoBook/required.gif [deleted file]
skins/MonoBook/user.gif [deleted file]
skins/MonoBook/video.png [deleted file]
skins/MonoBook/wiki-indexed.png [deleted file]
skins/MonoBook/wiki.png [deleted file]
skins/Vector/COPYING [deleted file]
skins/Vector/SkinVector.php [deleted file]
skins/Vector/Vector.php [deleted file]
skins/Vector/VectorTemplate.php [deleted file]
skins/Vector/collapsibleTabs.js [deleted file]
skins/Vector/components/animations.less [deleted file]
skins/Vector/components/common.less [deleted file]
skins/Vector/components/externalLinks.less [deleted file]
skins/Vector/components/footer.less [deleted file]
skins/Vector/components/navigation.less [deleted file]
skins/Vector/components/personalMenu.less [deleted file]
skins/Vector/components/search.less [deleted file]
skins/Vector/components/tabs.less [deleted file]
skins/Vector/components/watchstar.less [deleted file]
skins/Vector/csshover.htc [deleted file]
skins/Vector/csshover.min.htc [deleted file]
skins/Vector/i18n/ab.json [deleted file]
skins/Vector/i18n/ace.json [deleted file]
skins/Vector/i18n/ady-cyrl.json [deleted file]
skins/Vector/i18n/aeb.json [deleted file]
skins/Vector/i18n/af.json [deleted file]
skins/Vector/i18n/aln.json [deleted file]
skins/Vector/i18n/am.json [deleted file]
skins/Vector/i18n/an.json [deleted file]
skins/Vector/i18n/ang.json [deleted file]
skins/Vector/i18n/ar.json [deleted file]
skins/Vector/i18n/arc.json [deleted file]
skins/Vector/i18n/arn.json [deleted file]
skins/Vector/i18n/aro.json [deleted file]
skins/Vector/i18n/arq.json [deleted file]
skins/Vector/i18n/ary.json [deleted file]
skins/Vector/i18n/arz.json [deleted file]
skins/Vector/i18n/as.json [deleted file]
skins/Vector/i18n/ase.json [deleted file]
skins/Vector/i18n/ast.json [deleted file]
skins/Vector/i18n/av.json [deleted file]
skins/Vector/i18n/avk.json [deleted file]
skins/Vector/i18n/az.json [deleted file]
skins/Vector/i18n/azb.json [deleted file]
skins/Vector/i18n/ba.json [deleted file]
skins/Vector/i18n/ban.json [deleted file]
skins/Vector/i18n/bar.json [deleted file]
skins/Vector/i18n/bbc-latn.json [deleted file]
skins/Vector/i18n/bcc.json [deleted file]
skins/Vector/i18n/bcl.json [deleted file]
skins/Vector/i18n/be-tarask.json [deleted file]
skins/Vector/i18n/be.json [deleted file]
skins/Vector/i18n/bew.json [deleted file]
skins/Vector/i18n/bg.json [deleted file]
skins/Vector/i18n/bho.json [deleted file]
skins/Vector/i18n/bi.json [deleted file]
skins/Vector/i18n/bjn.json [deleted file]
skins/Vector/i18n/bm.json [deleted file]
skins/Vector/i18n/bn.json [deleted file]
skins/Vector/i18n/bo.json [deleted file]
skins/Vector/i18n/bpy.json [deleted file]
skins/Vector/i18n/br.json [deleted file]
skins/Vector/i18n/brh.json [deleted file]
skins/Vector/i18n/bs.json [deleted file]
skins/Vector/i18n/bto.json [deleted file]
skins/Vector/i18n/bug.json [deleted file]
skins/Vector/i18n/bxr.json [deleted file]
skins/Vector/i18n/ca.json [deleted file]
skins/Vector/i18n/cdo.json [deleted file]
skins/Vector/i18n/ce.json [deleted file]
skins/Vector/i18n/ceb.json [deleted file]
skins/Vector/i18n/ckb.json [deleted file]
skins/Vector/i18n/co.json [deleted file]
skins/Vector/i18n/cps.json [deleted file]
skins/Vector/i18n/crh-cyrl.json [deleted file]
skins/Vector/i18n/crh-latn.json [deleted file]
skins/Vector/i18n/cs.json [deleted file]
skins/Vector/i18n/csb.json [deleted file]
skins/Vector/i18n/cu.json [deleted file]
skins/Vector/i18n/cv.json [deleted file]
skins/Vector/i18n/cy.json [deleted file]
skins/Vector/i18n/da.json [deleted file]
skins/Vector/i18n/de.json [deleted file]
skins/Vector/i18n/diq.json [deleted file]
skins/Vector/i18n/dsb.json [deleted file]
skins/Vector/i18n/dtp.json [deleted file]
skins/Vector/i18n/dv.json [deleted file]
skins/Vector/i18n/ee.json [deleted file]
skins/Vector/i18n/egl.json [deleted file]
skins/Vector/i18n/el.json [deleted file]
skins/Vector/i18n/en.json [deleted file]
skins/Vector/i18n/eo.json [deleted file]
skins/Vector/i18n/es-formal.json [deleted file]
skins/Vector/i18n/es.json [deleted file]
skins/Vector/i18n/esu.json [deleted file]
skins/Vector/i18n/et.json [deleted file]
skins/Vector/i18n/eu.json [deleted file]
skins/Vector/i18n/ext.json [deleted file]
skins/Vector/i18n/fa.json [deleted file]
skins/Vector/i18n/ff.json [deleted file]
skins/Vector/i18n/fi.json [deleted file]
skins/Vector/i18n/fit.json [deleted file]
skins/Vector/i18n/fo.json [deleted file]
skins/Vector/i18n/fr.json [deleted file]
skins/Vector/i18n/frc.json [deleted file]
skins/Vector/i18n/frp.json [deleted file]
skins/Vector/i18n/frr.json [deleted file]
skins/Vector/i18n/fur.json [deleted file]
skins/Vector/i18n/fy.json [deleted file]
skins/Vector/i18n/ga.json [deleted file]
skins/Vector/i18n/gag.json [deleted file]
skins/Vector/i18n/gan-hans.json [deleted file]
skins/Vector/i18n/gan-hant.json [deleted file]
skins/Vector/i18n/gd.json [deleted file]
skins/Vector/i18n/gl.json [deleted file]
skins/Vector/i18n/gom-deva.json [deleted file]
skins/Vector/i18n/gom-latn.json [deleted file]
skins/Vector/i18n/grc.json [deleted file]
skins/Vector/i18n/gsw.json [deleted file]
skins/Vector/i18n/gu.json [deleted file]
skins/Vector/i18n/guc.json [deleted file]
skins/Vector/i18n/gv.json [deleted file]
skins/Vector/i18n/ha.json [deleted file]
skins/Vector/i18n/hak.json [deleted file]
skins/Vector/i18n/haw.json [deleted file]
skins/Vector/i18n/he.json [deleted file]
skins/Vector/i18n/hi.json [deleted file]
skins/Vector/i18n/hif-latn.json [deleted file]
skins/Vector/i18n/hil.json [deleted file]
skins/Vector/i18n/hr.json [deleted file]
skins/Vector/i18n/hrx.json [deleted file]
skins/Vector/i18n/hsb.json [deleted file]
skins/Vector/i18n/hsn.json [deleted file]
skins/Vector/i18n/ht.json [deleted file]
skins/Vector/i18n/hu-formal.json [deleted file]
skins/Vector/i18n/hu.json [deleted file]
skins/Vector/i18n/hy.json [deleted file]
skins/Vector/i18n/ia.json [deleted file]
skins/Vector/i18n/id.json [deleted file]
skins/Vector/i18n/ie.json [deleted file]
skins/Vector/i18n/ig.json [deleted file]
skins/Vector/i18n/ike-latn.json [deleted file]
skins/Vector/i18n/ilo.json [deleted file]
skins/Vector/i18n/inh.json [deleted file]
skins/Vector/i18n/io.json [deleted file]
skins/Vector/i18n/is.json [deleted file]
skins/Vector/i18n/it.json [deleted file]
skins/Vector/i18n/izh.json [deleted file]
skins/Vector/i18n/ja.json [deleted file]
skins/Vector/i18n/jam.json [deleted file]
skins/Vector/i18n/jbo.json [deleted file]
skins/Vector/i18n/jv.json [deleted file]
skins/Vector/i18n/ka.json [deleted file]
skins/Vector/i18n/kaa.json [deleted file]
skins/Vector/i18n/kab.json [deleted file]
skins/Vector/i18n/kbd-cyrl.json [deleted file]
skins/Vector/i18n/kg.json [deleted file]
skins/Vector/i18n/khw.json [deleted file]
skins/Vector/i18n/ki.json [deleted file]
skins/Vector/i18n/kiu.json [deleted file]
skins/Vector/i18n/kk-cyrl.json [deleted file]
skins/Vector/i18n/kl.json [deleted file]
skins/Vector/i18n/km.json [deleted file]
skins/Vector/i18n/kn.json [deleted file]
skins/Vector/i18n/ko.json [deleted file]
skins/Vector/i18n/koi.json [deleted file]
skins/Vector/i18n/krc.json [deleted file]
skins/Vector/i18n/kri.json [deleted file]
skins/Vector/i18n/ks-arab.json [deleted file]
skins/Vector/i18n/ksh.json [deleted file]
skins/Vector/i18n/ku-latn.json [deleted file]
skins/Vector/i18n/kv.json [deleted file]
skins/Vector/i18n/kw.json [deleted file]
skins/Vector/i18n/ky.json [deleted file]
skins/Vector/i18n/la.json [deleted file]
skins/Vector/i18n/lad.json [deleted file]
skins/Vector/i18n/lb.json [deleted file]
skins/Vector/i18n/lez.json [deleted file]
skins/Vector/i18n/lg.json [deleted file]
skins/Vector/i18n/li.json [deleted file]
skins/Vector/i18n/lij.json [deleted file]
skins/Vector/i18n/liv.json [deleted file]
skins/Vector/i18n/lmo.json [deleted file]
skins/Vector/i18n/ln.json [deleted file]
skins/Vector/i18n/lrc.json [deleted file]
skins/Vector/i18n/lt.json [deleted file]
skins/Vector/i18n/ltg.json [deleted file]
skins/Vector/i18n/lus.json [deleted file]
skins/Vector/i18n/luz.json [deleted file]
skins/Vector/i18n/lv.json [deleted file]
skins/Vector/i18n/lzh.json [deleted file]
skins/Vector/i18n/lzz.json [deleted file]
skins/Vector/i18n/mai.json [deleted file]
skins/Vector/i18n/map-bms.json [deleted file]
skins/Vector/i18n/mdf.json [deleted file]
skins/Vector/i18n/mg.json [deleted file]
skins/Vector/i18n/mhr.json [deleted file]
skins/Vector/i18n/mi.json [deleted file]
skins/Vector/i18n/mic.json [deleted file]
skins/Vector/i18n/min.json [deleted file]
skins/Vector/i18n/mk.json [deleted file]
skins/Vector/i18n/ml.json [deleted file]
skins/Vector/i18n/mn.json [deleted file]
skins/Vector/i18n/mnc.json [deleted file]
skins/Vector/i18n/mr.json [deleted file]
skins/Vector/i18n/mrj.json [deleted file]
skins/Vector/i18n/ms.json [deleted file]
skins/Vector/i18n/mt.json [deleted file]
skins/Vector/i18n/mui.json [deleted file]
skins/Vector/i18n/my.json [deleted file]
skins/Vector/i18n/myv.json [deleted file]
skins/Vector/i18n/mzn.json [deleted file]
skins/Vector/i18n/nah.json [deleted file]
skins/Vector/i18n/nan.json [deleted file]
skins/Vector/i18n/nap.json [deleted file]
skins/Vector/i18n/nb.json [deleted file]
skins/Vector/i18n/nds-nl.json [deleted file]
skins/Vector/i18n/nds.json [deleted file]
skins/Vector/i18n/ne.json [deleted file]
skins/Vector/i18n/new.json [deleted file]
skins/Vector/i18n/nl.json [deleted file]
skins/Vector/i18n/nn.json [deleted file]
skins/Vector/i18n/nov.json [deleted file]
skins/Vector/i18n/nrm.json [deleted file]
skins/Vector/i18n/nso.json [deleted file]
skins/Vector/i18n/oc.json [deleted file]
skins/Vector/i18n/or.json [deleted file]
skins/Vector/i18n/os.json [deleted file]
skins/Vector/i18n/pa.json [deleted file]
skins/Vector/i18n/pam.json [deleted file]
skins/Vector/i18n/pbb.json [deleted file]
skins/Vector/i18n/pcd.json [deleted file]
skins/Vector/i18n/pdc.json [deleted file]
skins/Vector/i18n/pfl.json [deleted file]
skins/Vector/i18n/pi.json [deleted file]
skins/Vector/i18n/pih.json [deleted file]
skins/Vector/i18n/pl.json [deleted file]
skins/Vector/i18n/pms.json [deleted file]
skins/Vector/i18n/pnb.json [deleted file]
skins/Vector/i18n/pnt.json [deleted file]
skins/Vector/i18n/ppl.json [deleted file]
skins/Vector/i18n/prg.json [deleted file]
skins/Vector/i18n/ps.json [deleted file]
skins/Vector/i18n/pt-br.json [deleted file]
skins/Vector/i18n/pt.json [deleted file]
skins/Vector/i18n/qqq.json [deleted file]
skins/Vector/i18n/qu.json [deleted file]
skins/Vector/i18n/qug.json [deleted file]
skins/Vector/i18n/rap.json [deleted file]
skins/Vector/i18n/rgn.json [deleted file]
skins/Vector/i18n/rif.json [deleted file]
skins/Vector/i18n/rm.json [deleted file]
skins/Vector/i18n/rmf.json [deleted file]
skins/Vector/i18n/ro.json [deleted file]
skins/Vector/i18n/roa-tara.json [deleted file]
skins/Vector/i18n/ru.json [deleted file]
skins/Vector/i18n/rue.json [deleted file]
skins/Vector/i18n/rup.json [deleted file]
skins/Vector/i18n/rw.json [deleted file]
skins/Vector/i18n/ryu.json [deleted file]
skins/Vector/i18n/sa.json [deleted file]
skins/Vector/i18n/sah.json [deleted file]
skins/Vector/i18n/sat.json [deleted file]
skins/Vector/i18n/saz.json [deleted file]
skins/Vector/i18n/sc.json [deleted file]
skins/Vector/i18n/scn.json [deleted file]
skins/Vector/i18n/sco.json [deleted file]
skins/Vector/i18n/sd.json [deleted file]
skins/Vector/i18n/sdc.json [deleted file]
skins/Vector/i18n/sdh.json [deleted file]
skins/Vector/i18n/se.json [deleted file]
skins/Vector/i18n/sg.json [deleted file]
skins/Vector/i18n/sgs.json [deleted file]
skins/Vector/i18n/sh.json [deleted file]
skins/Vector/i18n/shi.json [deleted file]
skins/Vector/i18n/shn.json [deleted file]
skins/Vector/i18n/si.json [deleted file]
skins/Vector/i18n/sk.json [deleted file]
skins/Vector/i18n/sl.json [deleted file]
skins/Vector/i18n/sli.json [deleted file]
skins/Vector/i18n/sly.json [deleted file]
skins/Vector/i18n/so.json [deleted file]
skins/Vector/i18n/sq.json [deleted file]
skins/Vector/i18n/sr-ec.json [deleted file]
skins/Vector/i18n/sr-el.json [deleted file]
skins/Vector/i18n/ss.json [deleted file]
skins/Vector/i18n/stq.json [deleted file]
skins/Vector/i18n/su.json [deleted file]
skins/Vector/i18n/sv.json [deleted file]
skins/Vector/i18n/sw.json [deleted file]
skins/Vector/i18n/szl.json [deleted file]
skins/Vector/i18n/ta.json [deleted file]
skins/Vector/i18n/tcy.json [deleted file]
skins/Vector/i18n/te.json [deleted file]
skins/Vector/i18n/tet.json [deleted file]
skins/Vector/i18n/tg-cyrl.json [deleted file]
skins/Vector/i18n/tg-latn.json [deleted file]
skins/Vector/i18n/th.json [deleted file]
skins/Vector/i18n/tk.json [deleted file]
skins/Vector/i18n/tl.json [deleted file]
skins/Vector/i18n/tly.json [deleted file]
skins/Vector/i18n/tpi.json [deleted file]
skins/Vector/i18n/tr.json [deleted file]
skins/Vector/i18n/tru.json [deleted file]
skins/Vector/i18n/ts.json [deleted file]
skins/Vector/i18n/tt-cyrl.json [deleted file]
skins/Vector/i18n/tt-latn.json [deleted file]
skins/Vector/i18n/tyv.json [deleted file]
skins/Vector/i18n/tzm.json [deleted file]
skins/Vector/i18n/udm.json [deleted file]
skins/Vector/i18n/ug-arab.json [deleted file]
skins/Vector/i18n/uk.json [deleted file]
skins/Vector/i18n/ur.json [deleted file]
skins/Vector/i18n/uz.json [deleted file]
skins/Vector/i18n/vec.json [deleted file]
skins/Vector/i18n/vep.json [deleted file]
skins/Vector/i18n/vi.json [deleted file]
skins/Vector/i18n/vls.json [deleted file]
skins/Vector/i18n/vmf.json [deleted file]
skins/Vector/i18n/vo.json [deleted file]
skins/Vector/i18n/vot.json [deleted file]
skins/Vector/i18n/vro.json [deleted file]
skins/Vector/i18n/wa.json [deleted file]
skins/Vector/i18n/war.json [deleted file]
skins/Vector/i18n/wo.json [deleted file]
skins/Vector/i18n/wuu.json [deleted file]
skins/Vector/i18n/xal.json [deleted file]
skins/Vector/i18n/xh.json [deleted file]
skins/Vector/i18n/xmf.json [deleted file]
skins/Vector/i18n/yi.json [deleted file]
skins/Vector/i18n/yo.json [deleted file]
skins/Vector/i18n/yue.json [deleted file]
skins/Vector/i18n/za.json [deleted file]
skins/Vector/i18n/zea.json [deleted file]
skins/Vector/i18n/zh-hans.json [deleted file]
skins/Vector/i18n/zh-hant.json [deleted file]
skins/Vector/images/arrow-collapsed-ltr.png [deleted file]
skins/Vector/images/arrow-collapsed-ltr.svg [deleted file]
skins/Vector/images/arrow-collapsed-rtl.png [deleted file]
skins/Vector/images/arrow-collapsed-rtl.svg [deleted file]
skins/Vector/images/arrow-down-focus-icon.png [deleted file]
skins/Vector/images/arrow-down-focus-icon.svg [deleted file]
skins/Vector/images/arrow-down-icon.png [deleted file]
skins/Vector/images/arrow-down-icon.svg [deleted file]
skins/Vector/images/arrow-expanded.png [deleted file]
skins/Vector/images/arrow-expanded.svg [deleted file]
skins/Vector/images/bullet-icon.png [deleted file]
skins/Vector/images/external-link-ltr-icon.png [deleted file]
skins/Vector/images/external-link-ltr-icon.svg [deleted file]
skins/Vector/images/external-link-rtl-icon.png [deleted file]
skins/Vector/images/external-link-rtl-icon.svg [deleted file]
skins/Vector/images/link-icon.png [deleted file]
skins/Vector/images/magnify-clip.png [deleted file]
skins/Vector/images/page-fade.png [deleted file]
skins/Vector/images/portal-break-ltr.png [deleted file]
skins/Vector/images/portal-break-rtl.png [deleted file]
skins/Vector/images/portal-break.png [deleted file]
skins/Vector/images/preferences/break.png [deleted file]
skins/Vector/images/preferences/fade.png [deleted file]
skins/Vector/images/search-fade.png [deleted file]
skins/Vector/images/search-ltr.png [deleted file]
skins/Vector/images/search-ltr.svg [deleted file]
skins/Vector/images/search-rtl.png [deleted file]
skins/Vector/images/search-rtl.svg [deleted file]
skins/Vector/images/tab-break.png [deleted file]
skins/Vector/images/tab-current-fade.png [deleted file]
skins/Vector/images/tab-normal-fade.png [deleted file]
skins/Vector/images/unwatch-icon-hl.png [deleted file]
skins/Vector/images/unwatch-icon-hl.svg [deleted file]
skins/Vector/images/unwatch-icon.png [deleted file]
skins/Vector/images/unwatch-icon.svg [deleted file]
skins/Vector/images/user-icon.png [deleted file]
skins/Vector/images/user-icon.svg [deleted file]
skins/Vector/images/watch-icon-hl.png [deleted file]
skins/Vector/images/watch-icon-hl.svg [deleted file]
skins/Vector/images/watch-icon-loading.png [deleted file]
skins/Vector/images/watch-icon-loading.svg [deleted file]
skins/Vector/images/watch-icon.png [deleted file]
skins/Vector/images/watch-icon.svg [deleted file]
skins/Vector/screen-hd.less [deleted file]
skins/Vector/screen.less [deleted file]
skins/Vector/skinStyles/jquery.tipsy.less [deleted file]
skins/Vector/skinStyles/jquery.ui/images/close.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/titlebar-fade.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-anim_basic_16x16.gif [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-bg_flat_15_cd0a0a_40x100.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-bg_flat_70_000000_40x100.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-hard_80_d7ebf9_1x100.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_100_e4f1fb_1x100.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_100_ffffff_1x100.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_25_ffef8f_1x100.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-bg_inset-hard_100_f0f0f0_1x100.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-icons_2694e8_256x240.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-icons_2e83ff_256x240.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-icons_3d80b3_256x240.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-icons_666666_256x240.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-icons_72a7cf_256x240.png [deleted file]
skins/Vector/skinStyles/jquery.ui/images/ui-icons_ffffff_256x240.png [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.accordion.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.autocomplete.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.button.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.core.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.datepicker.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.dialog.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.progressbar.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.resizable.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.selectable.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.slider.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.tabs.css [deleted file]
skins/Vector/skinStyles/jquery.ui/jquery.ui.theme.css [deleted file]
skins/Vector/skinStyles/mediawiki.notification.less [deleted file]
skins/Vector/skinStyles/mediawiki.special.less [deleted file]
skins/Vector/skinStyles/mediawiki.special.preferences.less [deleted file]
skins/Vector/variables.less [deleted file]
skins/Vector/vector.js [deleted file]
tests/phpunit/includes/MimeMagicTest.php
tests/phpunit/includes/OutputPageTest.php
tests/phpunit/includes/SpecialPageTest.php
tests/phpunit/includes/api/ApiModuleManagerTest.php [new file with mode: 0644]
tests/phpunit/includes/api/ApiTestCaseUpload.php
tests/phpunit/includes/api/PrefixUniquenessTest.php
tests/phpunit/includes/specials/SpecialMIMESearchTest.php
tests/phpunit/languages/LanguageArqTest.php [new file with mode: 0644]
thumb.php

index 4238332..ae2ab4f 100644 (file)
@@ -143,6 +143,9 @@ production.
   the $wgResourceModuleSkinStyles global. See the Vector skin for examples.
 * (bug 4488) There is now a preference to watch pages where the user has
   rollbacked an edit by default.
+* (bug 15484) Users will now be redirected to the login page when they need to
+  log in, rather than being shown a page asking them to log in and having to click
+  another link to actually get to the login page.
 
 === Bug fixes in 1.24 ===
 * (bug 49116) Footer copyright notice is now always displayed in user language
@@ -198,6 +201,14 @@ production.
 * (bug 60734) Actions that use ApiPageSet (e.g. purge, watch,
   setnotificationtimestamp) will now include continuation information when
   using a generator.
+* $wgAPIModules (and the related $wgAPIFormatModules, $wgAPIMetaModules,
+  $wgAPIPropModules, and $wgAPIListModules settings) now allow API modules
+  to be specified using a "module spec" array instead of a plain class name.
+  A "module spec" is an associative array containing at least the 'class' key
+  for the module's class, and optionally a 'factory' key for the factory function
+  to use for the module. This is intended for extensions that want control over
+  the instantiation of their API modules, to allow for proper dependency
+  injection.
 
 === Languages updated in 1.24 ===
 
index 7510129..4a469b6 100644 (file)
@@ -2734,11 +2734,11 @@ string &$error: output: message key for message to show if upload canceled by
   returning false. May also be an array, where the first element is the message
   key and the remaining elements are used as parameters to the message.
 
-'UploadVerifyFile': extra file verification, based on mime type, etc. Preferred
+'UploadVerifyFile': extra file verification, based on MIME type, etc. Preferred
 in most cases over UploadVerification.
 object $upload: an instance of UploadBase, with all info about the upload
-string $mime: The uploaded file's mime type, as detected by MediaWiki. Handlers
-  will typically only apply for specific mime types.
+string $mime: The uploaded file's MIME type, as detected by MediaWiki. Handlers
+  will typically only apply for specific MIME types.
 object &$error: output: true if the file is valid. Otherwise, an indexed array
   representing the problem with the file, where the first element is the message
   key and the remaining elements are used as parameters to the message.
index ca30bbc..e6d6c11 100644 (file)
@@ -1,5 +1,2 @@
 If uploads are enabled in the wiki, files will be put in subdirectories
 under here.
-
-Note to upgraders: as of MediaWiki 1.5, the images used in the user
-interface have been moved to skins/common/images.
index 083a596..0cdb424 100644 (file)
@@ -216,8 +216,8 @@ $wgAutoloadLocalClasses = array(
        'RevisiondeleteAction' => 'includes/actions/RevisiondeleteAction.php',
        'RollbackAction' => 'includes/actions/RollbackAction.php',
        'SubmitAction' => 'includes/actions/EditAction.php',
-       'UnprotectAction' => 'includes/actions/ProtectAction.php',
-       'UnwatchAction' => 'includes/actions/WatchAction.php',
+       'UnprotectAction' => 'includes/actions/UnprotectAction.php',
+       'UnwatchAction' => 'includes/actions/UnwatchAction.php',
        'ViewAction' => 'includes/actions/ViewAction.php',
        'WatchAction' => 'includes/actions/WatchAction.php',
 
@@ -890,25 +890,23 @@ $wgAutoloadLocalClasses = array(
        'ResourceLoaderWikiModule' => 'includes/resourceloader/ResourceLoaderWikiModule.php',
 
        # includes/revisiondelete
-       'RevDelArchivedFileItem' => 'includes/revisiondelete/RevisionDelete.php',
-       'RevDelArchivedFileList' => 'includes/revisiondelete/RevisionDelete.php',
-       'RevDelArchivedRevisionItem' => 'includes/revisiondelete/RevisionDelete.php',
-       'RevDelArchiveItem' => 'includes/revisiondelete/RevisionDelete.php',
-       'RevDelArchiveList' => 'includes/revisiondelete/RevisionDelete.php',
-       'RevDelFileItem' => 'includes/revisiondelete/RevisionDelete.php',
-       'RevDelFileList' => 'includes/revisiondelete/RevisionDelete.php',
+       'RevDelArchivedFileItem' => 'includes/revisiondelete/RevDelArchivedFileItem.php',
+       'RevDelArchivedFileList' => 'includes/revisiondelete/RevDelArchivedFileList.php',
+       'RevDelArchivedRevisionItem' => 'includes/revisiondelete/RevDelArchivedRevisionItem.php',
+       'RevDelArchiveItem' => 'includes/revisiondelete/RevDelArchiveItem.php',
+       'RevDelArchiveList' => 'includes/revisiondelete/RevDelArchiveList.php',
+       'RevDelFileItem' => 'includes/revisiondelete/RevDelFileItem.php',
+       'RevDelFileList' => 'includes/revisiondelete/RevDelFileList.php',
        'RevDelItem' => 'includes/revisiondelete/RevisionDeleteAbstracts.php',
        'RevDelList' => 'includes/revisiondelete/RevisionDeleteAbstracts.php',
-       'RevDelLogItem' => 'includes/revisiondelete/RevisionDelete.php',
-       'RevDelLogList' => 'includes/revisiondelete/RevisionDelete.php',
-       'RevDelRevisionItem' => 'includes/revisiondelete/RevisionDelete.php',
-       'RevDelRevisionList' => 'includes/revisiondelete/RevisionDelete.php',
+       'RevDelLogItem' => 'includes/revisiondelete/RevDelLogItem.php',
+       'RevDelLogList' => 'includes/revisiondelete/RevDelLogList.php',
+       'RevDelRevisionItem' => 'includes/revisiondelete/RevDelRevisionItem.php',
+       'RevDelRevisionList' => 'includes/revisiondelete/RevDelRevisionList.php',
        'RevisionDeleter' => 'includes/revisiondelete/RevisionDeleter.php',
        'RevisionDeleteUser' => 'includes/revisiondelete/RevisionDeleteUser.php',
 
        # includes/search
-       'PostgresSearchResult' => 'includes/search/SearchPostgres.php',
-       'PostgresSearchResultSet' => 'includes/search/SearchPostgres.php',
        'SearchDatabase' => 'includes/search/SearchDatabase.php',
        'SearchEngine' => 'includes/search/SearchEngine.php',
        'SearchEngineDummy' => 'includes/search/SearchEngine.php',
index 030f5d2..94476c5 100644 (file)
@@ -758,7 +758,7 @@ $wgFileBlacklist = array(
        'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' );
 
 /**
- * Files with these mime types will never be allowed as uploads
+ * Files with these MIME types will never be allowed as uploads
  * if $wgVerifyMimeType is enabled.
  */
 $wgMimeTypeBlacklist = array(
@@ -810,7 +810,7 @@ $wgDisableUploadScriptChecks = false;
 $wgUploadSizeWarning = false;
 
 /**
- * list of trusted media-types and mime types.
+ * list of trusted media-types and MIME types.
  * Use the MEDIATYPE_xxx constants to represent media types.
  * This list is used by File::isSafeFile
  *
@@ -1133,45 +1133,45 @@ $wgAntivirusSetup = array(
 $wgAntivirusRequired = true;
 
 /**
- * Determines if the mime type of uploaded files should be checked
+ * Determines if the MIME type of uploaded files should be checked
  */
 $wgVerifyMimeType = true;
 
 /**
- * Sets the mime type definition file to use by MimeMagic.php.
+ * Sets the MIME type definition file to use by MimeMagic.php.
  * Set to null, to use built-in defaults only.
  * example: $wgMimeTypeFile = '/etc/mime.types';
  */
 $wgMimeTypeFile = 'includes/mime.types';
 
 /**
- * Sets the mime type info file to use by MimeMagic.php.
+ * Sets the MIME type info file to use by MimeMagic.php.
  * Set to null, to use built-in defaults only.
  */
 $wgMimeInfoFile = 'includes/mime.info';
 
 /**
- * Sets an external mime detector program. The command must print only
- * the mime type to standard output.
+ * Sets an external MIME detector program. The command must print only
+ * the MIME type to standard output.
  * The name of the file to process will be appended to the command given here.
  * If not set or NULL, mime_content_type will be used if available.
  *
  * @par Example:
  * @code
- * #$wgMimeDetectorCommand = "file -bi"; # use external mime detector (Linux)
+ * #$wgMimeDetectorCommand = "file -bi"; # use external MIME detector (Linux)
  * @endcode
  */
 $wgMimeDetectorCommand = null;
 
 /**
- * Switch for trivial mime detection. Used by thumb.php to disable all fancy
+ * Switch for trivial MIME detection. Used by thumb.php to disable all fancy
  * things, because only a few types of images are needed and file extensions
  * can be trusted.
  */
 $wgTrivialMimeDetection = false;
 
 /**
- * Additional XML types we can allow via mime-detection.
+ * Additional XML types we can allow via MIME-detection.
  * array = ( 'rootElement' => 'associatedMimeType' )
  */
 $wgXMLMimeTypes = array(
@@ -2926,7 +2926,7 @@ $wgWellFormedXml = true;
  * Normally we wouldn't have to define this in the root "<html>"
  * element, but IE needs it there in some circumstances.
  *
- * This is ignored if $wgMimeType is set to a non-XML mimetype.
+ * This is ignored if $wgMimeType is set to a non-XML MIME type.
  */
 $wgXhtmlNamespaces = array();
 
@@ -3117,20 +3117,6 @@ $wgFooterIcons = array(
  */
 $wgUseCombinedLoginLink = false;
 
-/**
- * Search form look for Vector skin only.
- *  - true = use an icon search button
- *  - false = use Go & Search buttons
- */
-$wgVectorUseSimpleSearch = true;
-
-/**
- * Watch and unwatch as an icon rather than a link for Vector skin only.
- *  - true = use an icon watch/unwatch button
- *  - false = use watch/unwatch text link
- */
-$wgVectorUseIconWatch = true;
-
 /**
  * Display user edit counts in various prominent places.
  */
@@ -6836,16 +6822,45 @@ $wgDebugAPI = false;
 
 /**
  * API module extensions.
- * Associative array mapping module name to class name.
- * Extension modules may override the core modules.
  *
+ * Associative array mapping module name to modules specs;
+ * Each module spec is an associative array containing at least
+ * the 'class' key for the module's class, and optionally a
+ * 'factory' key for the factory function to use for the module.
+ *
+ * That factory function will be called with two parameters,
+ * the parent module (an instance of ApiBase, usually ApiMain)
+ * and the name the module was registered under. The return
+ * value must be an instance of the class given in the 'class'
+ * field.
+ *
+ * For backward compatibility, the module spec may also be a
+ * simple string containing the module's class name. In that
+ * case, the class' constructor will be called with the parent
+ * module and module name as parameters, as described above.
+ *
+ * Examples for registering API modules:
+ *
+ * @code
+ *  $wgAPIModules['foo'] = 'ApiFoo';
+ *  $wgAPIModules['bar'] = array(
+ *    'class' => 'ApiBar',
+ *    'factory' => function( $main, $name ) { ... }
+ *  );
+ *  $wgAPIModules['xyzzy'] = array(
+ *    'class' => 'ApiXyzzy',
+ *    'factory' => array( 'XyzzyFactory', 'newApiModule' )
+ *  );
+ * @endcode
+ *
+ * Extension modules may override the core modules.
  * See ApiMain::$Modules for a list of the core modules.
  */
 $wgAPIModules = array();
 
 /**
  * API format module extensions.
- * Associative array mapping format module name to class name.
+ * Associative array mapping format module name to module specs (see $wgAPIModules).
  * Extension modules may override the core modules.
  *
  * See ApiMain::$Formats for a list of the core format modules.
@@ -6854,7 +6869,7 @@ $wgAPIFormatModules = array();
 
 /**
  * API Query meta module extensions.
- * Associative array mapping meta module name to class name.
+ * Associative array mapping meta module name to module specs (see $wgAPIModules).
  * Extension modules may override the core modules.
  *
  * See ApiQuery::$QueryMetaModules for a list of the core meta modules.
@@ -6863,7 +6878,7 @@ $wgAPIMetaModules = array();
 
 /**
  * API Query prop module extensions.
- * Associative array mapping properties module name to class name.
+ * Associative array mapping prop module name to module specs (see $wgAPIModules).
  * Extension modules may override the core modules.
  *
  * See ApiQuery::$QueryPropModules for a list of the core prop modules.
@@ -6872,7 +6887,7 @@ $wgAPIPropModules = array();
 
 /**
  * API Query list module extensions.
- * Associative array mapping list module name to class name.
+ * Associative array mapping list module name to module specs (see $wgAPIModules).
  * Extension modules may override the core modules.
  *
  * See ApiQuery::$QueryListModules for a list of the core list modules.
index 6454cfa..dafbbe3 100644 (file)
@@ -3527,7 +3527,6 @@ HTML
        /**
         * Shows a bulletin board style toolbar for common editing functions.
         * It can be disabled in the user preferences.
-        * The necessary JavaScript code can be found in skins/common/edit.js.
         *
         * @return string
         */
index ce439cb..cb98009 100644 (file)
@@ -36,7 +36,7 @@
  *
  * There are two important configuration options this class uses:
  *
- * $wgMimeType: If this is set to an xml mimetype then output should be
+ * $wgMimeType: If this is set to an xml MIME type then output should be
  *     valid XHTML5.
  * $wgWellFormedXml: If this is set to true, then all output should be
  *     well-formed XML (quotes on attributes, self-closing tags, etc.).
@@ -233,25 +233,8 @@ class Html {
         * @return string A closing tag, if required
         */
        public static function closeElement( $element ) {
-               global $wgWellFormedXml;
-
                $element = strtolower( $element );
 
-               // Reference:
-               // http://www.whatwg.org/html/syntax.html#optional-tags
-               if ( !$wgWellFormedXml && in_array( $element, array(
-                       'html',
-                       'head',
-                       'body',
-                       'li',
-                       'dt',
-                       'dd',
-                       'tr',
-                       'td',
-                       'th',
-               ) ) ) {
-                       return '';
-               }
                return "</$element>";
        }
 
@@ -872,7 +855,7 @@ class Html {
                $isXHTML = self::isXmlMimeType( $wgMimeType );
 
                if ( $isXHTML ) { // XHTML5
-                       // XML mimetyped markup should have an xml header.
+                       // XML MIME-typed markup should have an xml header.
                        // However a DOCTYPE is not needed.
                        $ret .= "<?xml version=\"1.0\" encoding=\"UTF-8\" ?" . ">\n";
 
@@ -904,16 +887,16 @@ class Html {
        }
 
        /**
-        * Determines if the given mime type is xml.
+        * Determines if the given MIME type is xml.
         *
-        * @param string $mimetype MimeType
+        * @param string $mimetype MIME type
         * @return bool
         */
        public static function isXmlMimeType( $mimetype ) {
                # http://www.whatwg.org/html/infrastructure.html#xml-mime-type
                # * text/xml
                # * application/xml
-               # * Any mimetype with a subtype ending in +xml (this implicitly includes application/xhtml+xml)
+               # * Any MIME type with a subtype ending in +xml (this implicitly includes application/xhtml+xml)
                return (bool)preg_match( '!^(text|application)/xml$|^.+/.+\+xml$!', $mimetype );
        }
 
index 1b014f6..281080c 100644 (file)
@@ -32,6 +32,11 @@ class MediaWiki {
         */
        private $context;
 
+       /**
+        * @var Config
+        */
+       private $config;
+
        /**
         * @param null|WebRequest $x
         * @return WebRequest
@@ -65,6 +70,7 @@ class MediaWiki {
                }
 
                $this->context = $context;
+               $this->config = $context->getConfig();
        }
 
        /**
@@ -174,7 +180,7 @@ class MediaWiki {
         * @return void
         */
        private function performRequest() {
-               global $wgServer, $wgUsePathInfo, $wgTitle;
+               global $wgTitle;
 
                wfProfileIn( __METHOD__ );
 
@@ -237,7 +243,7 @@ class MediaWiki {
                                $url = $title->getFullURL( $query );
                        }
                        // Check for a redirect loop
-                       if ( !preg_match( '/^' . preg_quote( $wgServer, '/' ) . '/', $url )
+                       if ( !preg_match( '/^' . preg_quote( $this->config->get( 'Server' ), '/' ) . '/', $url )
                                && $title->isLocal()
                        ) {
                                // 301 so google et al report the target as the actual url.
@@ -268,7 +274,7 @@ class MediaWiki {
                                        "requested; this sometimes happens when moving a wiki " .
                                        "to a new server or changing the server configuration.\n\n";
 
-                               if ( $wgUsePathInfo ) {
+                               if ( $this->config->get( 'UsePathInfo' ) ) {
                                        $message .= "The wiki is trying to interpret the page " .
                                                "title from the URL path portion (PATH_INFO), which " .
                                                "sometimes fails depending on the web server. Try " .
@@ -323,8 +329,6 @@ class MediaWiki {
         * @return mixed An Article, or a string to redirect to another URL
         */
        private function initializeArticle() {
-               global $wgDisableHardRedirects;
-
                wfProfileIn( __METHOD__ );
 
                $title = $this->context->getTitle();
@@ -372,7 +376,7 @@ class MediaWiki {
                                // Is the target already set by an extension?
                                $target = $target ? $target : $article->followRedirect();
                                if ( is_string( $target ) ) {
-                                       if ( !$wgDisableHardRedirects ) {
+                                       if ( !$this->config->get( 'DisableHardRedirects' ) ) {
                                                // we'll need to redirect
                                                wfProfileOut( __METHOD__ );
                                                return $target;
@@ -406,8 +410,6 @@ class MediaWiki {
         * @param Title $requestTitle The original title, before any redirects were applied
         */
        private function performAction( Page $page, Title $requestTitle ) {
-               global $wgUseSquid, $wgSquidMaxage;
-
                wfProfileIn( __METHOD__ );
 
                $request = $this->context->getRequest();
@@ -428,10 +430,10 @@ class MediaWiki {
 
                if ( $action instanceof Action ) {
                        # Let Squid cache things if we can purge them.
-                       if ( $wgUseSquid &&
+                       if ( $this->config->get( 'UseSquid' ) &&
                                in_array( $request->getFullRequestURL(), $requestTitle->getSquidURLs() )
                        ) {
-                               $output->setSquidMaxage( $wgSquidMaxage );
+                               $output->setSquidMaxage( $this->config->get( 'SquidMaxage' ) );
                        }
 
                        $action->show();
@@ -479,8 +481,6 @@ class MediaWiki {
         * @return bool
         */
        private function checkMaxLag() {
-               global $wgShowHostnames;
-
                wfProfileIn( __METHOD__ );
                $maxLag = $this->context->getRequest()->getVal( 'maxlag' );
                if ( !is_null( $maxLag ) ) {
@@ -491,7 +491,7 @@ class MediaWiki {
                                $resp->header( 'Retry-After: ' . max( intval( $maxLag ), 5 ) );
                                $resp->header( 'X-Database-Lag: ' . intval( $lag ) );
                                $resp->header( 'Content-Type: text/plain' );
-                               if ( $wgShowHostnames ) {
+                               if ( $this->config->get( 'ShowHostnames' ) ) {
                                        echo "Waiting for $host: $lag seconds lagged\n";
                                } else {
                                        echo "Waiting for a database server: $lag seconds lagged\n";
@@ -507,14 +507,14 @@ class MediaWiki {
        }
 
        private function main() {
-               global $wgUseFileCache, $wgTitle, $wgUseAjax;
+               global $wgTitle;
 
                wfProfileIn( __METHOD__ );
 
                $request = $this->context->getRequest();
 
                // Send Ajax requests to the Ajax dispatcher.
-               if ( $wgUseAjax && $request->getVal( 'action', 'view' ) == 'ajax' ) {
+               if ( $this->config->get( 'UseAjax' ) && $request->getVal( 'action', 'view' ) == 'ajax' ) {
 
                        // Set a dummy title, because $wgTitle == null might break things
                        $title = Title::makeTitle( NS_MAIN, 'AJAX' );
@@ -581,7 +581,7 @@ class MediaWiki {
                        }
                }
 
-               if ( $wgUseFileCache && $title->getNamespace() >= 0 ) {
+               if ( $this->config->get( 'UseFileCache' ) && $title->getNamespace() >= 0 ) {
                        wfProfileIn( 'main-try-filecache' );
                        if ( HTMLFileCache::useFileCache( $this->context ) ) {
                                // Try low-level file cache hit
@@ -645,9 +645,8 @@ class MediaWiki {
         * the socket once it's done.
         */
        protected function triggerJobs() {
-               global $wgJobRunRate, $wgServer, $wgRunJobsAsync;
-
-               if ( $wgJobRunRate <= 0 || wfReadOnly() ) {
+               $jobRunRate = $this->config->get( 'JobRunRate' );
+               if ( $jobRunRate <= 0 || wfReadOnly() ) {
                        return;
                } elseif ( $this->getTitle()->isSpecial( 'RunJobs' ) ) {
                        return; // recursion guard
@@ -655,17 +654,17 @@ class MediaWiki {
 
                $section = new ProfileSection( __METHOD__ );
 
-               if ( $wgJobRunRate < 1 ) {
+               if ( $jobRunRate < 1 ) {
                        $max = mt_getrandmax();
-                       if ( mt_rand( 0, $max ) > $max * $wgJobRunRate ) {
-                               return; // the higher $wgJobRunRate, the less likely we return here
+                       if ( mt_rand( 0, $max ) > $max * $jobRunRate ) {
+                               return; // the higher the job run rate, the less likely we return here
                        }
                        $n = 1;
                } else {
-                       $n = intval( $wgJobRunRate );
+                       $n = intval( $jobRunRate );
                }
 
-               if ( !$wgRunJobsAsync ) {
+               if ( !$this->config->get( 'RunJobsAsync' ) ) {
                        // Fall back to running the job here while the user waits
                        $runner = new JobRunner();
                        $runner->run( array( 'maxJobs'  => $n ) );
@@ -686,7 +685,7 @@ class MediaWiki {
                $query['signature'] = SpecialRunJobs::getQuerySignature( $query );
 
                $errno = $errstr = null;
-               $info = wfParseUrl( $wgServer );
+               $info = wfParseUrl( $this->config->get( 'Server' ) );
                wfSuppressWarnings();
                $sock = fsockopen(
                        $info['host'],
index b4d3ab1..8f0a2af 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Module defining helper functions for detecting and dealing with mime types.
+ * Module defining helper functions for detecting and dealing with MIME types.
  *
  * 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
  */
 
 /**
- * Defines a set of well known mime types
+ * Defines a set of well known MIME types
  * This is used as a fallback to mime.types files.
- * An extensive list of well known mime types is provided by
+ * An extensive list of well known MIME types is provided by
  * the file mime.types in the includes directory.
  *
- * This list concatenated with mime.types is used to create a mime <-> ext
- * map. Each line contains a mime type followed by a space separated list of
- * extensions. If multiple extensions for a single mime type exist or if
- * multiple mime types exist for a single extension then in most cases
- * MediaWiki assumes that the first extension following the mime type is the
- * canonical extension, and the first time a mime type appears for a certain
- * extension is considered the canonical mime type.
+ * This list concatenated with mime.types is used to create a MIME <-> ext
+ * map. Each line contains a MIME type followed by a space separated list of
+ * extensions. If multiple extensions for a single MIME type exist or if
+ * multiple MIME types exist for a single extension then in most cases
+ * MediaWiki assumes that the first extension following the MIME type is the
+ * canonical extension, and the first time a MIME type appears for a certain
+ * extension is considered the canonical MIME type.
  *
  * (Note that appending $wgMimeTypeFile to the end of MM_WELL_KNOWN_MIME_TYPES
  * sucks because you can't redefine canonical types. This could be fixed by
@@ -86,9 +86,9 @@ END_STRING
 );
 
 /**
- * Defines a set of well known mime info entries
+ * Defines a set of well known MIME info entries
  * This is used as a fallback to mime.info files.
- * An extensive list of well known mime types is provided by
+ * An extensive list of well known MIME types is provided by
  * the file mime.info in the includes directory.
  */
 define( 'MM_WELL_KNOWN_MIME_INFO', <<<END_STRING
@@ -135,7 +135,7 @@ END_STRING
 );
 
 /**
- * Implements functions related to mime types such as detection and mapping to
+ * Implements functions related to MIME types such as detection and mapping to
  * file extension.
  *
  * Instances of this class are stateless, there only needs to be one global instance
@@ -143,20 +143,20 @@ END_STRING
  */
 class MimeMagic {
        /**
-        * @var array Mapping of media types to arrays of mime types.
+        * @var array Mapping of media types to arrays of MIME types.
         * This is used by findMediaType and getMediaType, respectively
         */
        protected $mMediaTypes = null;
 
-       /** @var array Map of mime type aliases
+       /** @var array Map of MIME type aliases
         */
        protected $mMimeTypeAliases = null;
 
-       /** @var array Map of mime types to file extensions (as a space separated list)
+       /** @var array Map of MIME types to file extensions (as a space separated list)
         */
        protected $mMimeToExt = null;
 
-       /** @var array Map of file extensions types to mime types (as a space separated list)
+       /** @var array Map of file extensions types to MIME types (as a space separated list)
         */
        public $mExtToMime = null;
 
@@ -378,9 +378,9 @@ class MimeMagic {
        }
 
        /**
-        * Returns a list of file extensions for a given mime type as a space
-        * separated string or null if the mime type was unrecognized. Resolves
-        * mime type aliases.
+        * Returns a list of file extensions for a given MIME type as a space
+        * separated string or null if the MIME type was unrecognized. Resolves
+        * MIME type aliases.
         *
         * @param string $mime
         * @return string|null
@@ -393,7 +393,7 @@ class MimeMagic {
                        return $this->mMimeToExt[$mime];
                }
 
-               // Resolve the mime type to the canonical type
+               // Resolve the MIME type to the canonical type
                if ( isset( $this->mMimeTypeAliases[$mime] ) ) {
                        $mime = $this->mMimeTypeAliases[$mime];
                        if ( isset( $this->mMimeToExt[$mime] ) ) {
@@ -405,7 +405,7 @@ class MimeMagic {
        }
 
        /**
-        * Returns a list of mime types for a given file extension as a space
+        * Returns a list of MIME types for a given file extension as a space
         * separated string or null if the extension was unrecognized.
         *
         * @param string $ext
@@ -419,7 +419,7 @@ class MimeMagic {
        }
 
        /**
-        * Returns a single mime type for a given file extension or null if unknown.
+        * Returns a single MIME type for a given file extension or null if unknown.
         * This is always the first type from the list returned by getTypesForExtension($ext).
         *
         * @param string $ext
@@ -439,9 +439,9 @@ class MimeMagic {
        }
 
        /**
-        * Tests if the extension matches the given mime type. Returns true if a
-        * match was found, null if the mime type is unknown, and false if the
-        * mime type is known but no matches where found.
+        * Tests if the extension matches the given MIME type. Returns true if a
+        * match was found, null if the MIME type is unknown, and false if the
+        * MIME type is known but no matches where found.
         *
         * @param string $extension
         * @param string $mime
@@ -451,7 +451,7 @@ class MimeMagic {
                $ext = $this->getExtensionsForType( $mime );
 
                if ( !$ext ) {
-                       return null; // Unknown mime type
+                       return null; // Unknown MIME type
                }
 
                $ext = explode( ' ', $ext );
@@ -461,7 +461,7 @@ class MimeMagic {
        }
 
        /**
-        * Returns true if the mime type is known to represent an image format
+        * Returns true if the MIME type is known to represent an image format
         * supported by the PHP GD library.
         *
         * @param string $mime
@@ -490,7 +490,7 @@ class MimeMagic {
         * invalid uploads; if we can't identify the type we won't
         * be able to say if it's invalid.
         *
-        * @todo Be more accurate when using fancy mime detector plugins;
+        * @todo Be more accurate when using fancy MIME detector plugins;
         *       right now this is the bare minimum getimagesize() list.
         * @param string $extension
         * @return bool
@@ -515,15 +515,15 @@ class MimeMagic {
        }
 
        /**
-        * Improves a mime type using the file extension. Some file formats are very generic,
-        * so their mime type is not very meaningful. A more useful mime type can be derived
+        * Improves a MIME type using the file extension. Some file formats are very generic,
+        * so their MIME type is not very meaningful. A more useful MIME type can be derived
         * by looking at the file extension. Typically, this method would be called on the
         * result of guessMimeType().
         *
-        * @param string $mime The mime type, typically guessed from a file's content.
+        * @param string $mime The MIME type, typically guessed from a file's content.
         * @param string $ext The file extension, as taken from the file name
         *
-        * @return string The mime type
+        * @return string The MIME type
         */
        public function improveTypeFromExtension( $mime, $ext ) {
                if ( $mime === 'unknown/unknown' ) {
@@ -538,7 +538,7 @@ class MimeMagic {
                } elseif ( $mime === 'application/x-opc+zip' ) {
                        if ( $this->isMatchingExtension( $ext, $mime ) ) {
                                // A known file extension for an OPC file,
-                               // find the proper mime type for that file extension
+                               // find the proper MIME type for that file extension
                                $mime = $this->guessTypesForExtension( $ext );
                        } else {
                                wfDebug( __METHOD__ . ": refusing to guess better type for $mime file, " .
@@ -565,18 +565,18 @@ class MimeMagic {
        }
 
        /**
-        * Mime type detection. This uses detectMimeType to detect the mime type
+        * MIME type detection. This uses detectMimeType to detect the MIME type
         * of the file, but applies additional checks to determine some well known
-        * file formats that may be missed or misinterpreted by the default mime
+        * file formats that may be missed or misinterpreted by the default MIME
         * detection (namely XML based formats like XHTML or SVG, as well as ZIP
         * based formats like OPC/ODF files).
         *
         * @param string $file The file to check
         * @param string|bool $ext The file extension, or true (default) to extract it from the filename.
         *   Set it to false to ignore the extension. DEPRECATED! Set to false, use
-        *   improveTypeFromExtension($mime, $ext) later to improve mime type.
+        *   improveTypeFromExtension($mime, $ext) later to improve MIME type.
         *
-        * @return string The mime type of $file
+        * @return string The MIME type of $file
         */
        public function guessMimeType( $file, $ext = true ) {
                if ( $ext ) { // TODO: make $ext default to false. Or better, remove it.
@@ -600,7 +600,7 @@ class MimeMagic {
        }
 
        /**
-        * Guess the mime type from the file contents.
+        * Guess the MIME type from the file contents.
         *
         * @param string $file
         * @param mixed $ext
@@ -804,7 +804,7 @@ class MimeMagic {
         * @param string|null $tail The tail of the file
         * @param string|bool $ext The file extension, or true to extract it from the filename.
         *   Set it to false (default) to ignore the extension. DEPRECATED! Set to false,
-        *   use improveTypeFromExtension($mime, $ext) later to improve mime type.
+        *   use improveTypeFromExtension($mime, $ext) later to improve MIME type.
         *
         * @return string
         */
@@ -847,7 +847,7 @@ class MimeMagic {
                        # TODO: remove the block below, as soon as improveTypeFromExtension is used everywhere
                        if ( $ext !== true && $ext !== false ) {
                                /** This is the mode used by getPropsFromPath
-                                * These mime's are stored in the database, where we don't really want
+                                * These MIME's are stored in the database, where we don't really want
                                 * x-opc+zip, because we use it only for internal purposes
                                 */
                                if ( $this->isMatchingExtension( $ext, $mime ) ) {
@@ -896,22 +896,22 @@ class MimeMagic {
        }
 
        /**
-        * Internal mime type detection. Detection is done using an external
+        * Internal MIME type detection. Detection is done using an external
         * program, if $wgMimeDetectorCommand is set. Otherwise, the fileinfo
         * extension and mime_content_type are tried (in this order), if they
-        * are available. If the detections fails and $ext is not false, the mime
+        * are available. If the detections fails and $ext is not false, the MIME
         * type is guessed from the file extension, using guessTypesForExtension.
         *
-        * If the mime type is still unknown, getimagesize is used to detect the
-        * mime type if the file is an image. If no mime type can be determined,
+        * If the MIME type is still unknown, getimagesize is used to detect the
+        * MIME type if the file is an image. If no MIME type can be determined,
         * this function returns 'unknown/unknown'.
         *
         * @param string $file The file to check
         * @param string|bool $ext The file extension, or true (default) to extract it from the filename.
         *   Set it to false to ignore the extension. DEPRECATED! Set to false, use
-        *   improveTypeFromExtension($mime, $ext) later to improve mime type.
+        *   improveTypeFromExtension($mime, $ext) later to improve MIME type.
         *
-        * @return string The mime type of $file
+        * @return string The MIME type of $file
         */
        private function detectMimeType( $file, $ext = true ) {
                global $wgMimeDetectorCommand;
@@ -938,7 +938,7 @@ class MimeMagic {
                        # If you may need to load the fileinfo extension at runtime, set
                        # $wgLoadFileinfoExtension in LocalSettings.php
 
-                       $mime_magic_resource = finfo_open( FILEINFO_MIME ); /* return mime type ala mimetype extension */
+                       $mime_magic_resource = finfo_open( FILEINFO_MIME ); /* return MIME type ala mimetype extension */
 
                        if ( $mime_magic_resource ) {
                                $m = finfo_file( $mime_magic_resource, $file );
@@ -1003,18 +1003,18 @@ class MimeMagic {
        }
 
        /**
-        * Determine the media type code for a file, using its mime type, name and
+        * Determine the media type code for a file, using its MIME type, name and
         * possibly its contents.
         *
-        * This function relies on the findMediaType(), mapping extensions and mime
+        * This function relies on the findMediaType(), mapping extensions and MIME
         * types to media types.
         *
         * @todo analyse file if need be
         * @todo look at multiple extension, separately and together.
         *
         * @param string $path Full path to the image file, in case we have to look at the contents
-        *        (if null, only the mime type is used to determine the media type code).
-        * @param string $mime Mime type. If null it will be guessed using guessMimeType.
+        *        (if null, only the MIME type is used to determine the media type code).
+        * @param string $mime MIME type. If null it will be guessed using guessMimeType.
         *
         * @return string A value to be used with the MEDIATYPE_xxx constants.
         */
@@ -1023,7 +1023,7 @@ class MimeMagic {
                        return MEDIATYPE_UNKNOWN;
                }
 
-               // If mime type is unknown, guess it
+               // If MIME type is unknown, guess it
                if ( !$mime ) {
                        $mime = $this->guessMimeType( $path, false );
                }
@@ -1056,7 +1056,7 @@ class MimeMagic {
                        }
                }
 
-               // Check for entry for full mime type
+               // Check for entry for full MIME type
                if ( $mime ) {
                        $type = $this->findMediaType( $mime );
                        if ( $type !== MEDIATYPE_UNKNOWN ) {
@@ -1076,7 +1076,7 @@ class MimeMagic {
                        }
                }
 
-               // Check major mime type
+               // Check major MIME type
                if ( $mime ) {
                        $i = strpos( $mime, '/' );
                        if ( $i !== false ) {
@@ -1096,9 +1096,9 @@ class MimeMagic {
        }
 
        /**
-        * Returns a media code matching the given mime type or file extension.
+        * Returns a media code matching the given MIME type or file extension.
         * File extensions are represented by a string starting with a dot (.) to
-        * distinguish them from mime types.
+        * distinguish them from MIME types.
         *
         * This function relies on the mapping defined by $this->mMediaTypes
         * @access private
@@ -1107,7 +1107,7 @@ class MimeMagic {
         */
        function findMediaType( $extMime ) {
                if ( strpos( $extMime, '.' ) === 0 ) {
-                       // If it's an extension, look up the mime types
+                       // If it's an extension, look up the MIME types
                        $m = $this->getTypesForExtension( substr( $extMime, 1 ) );
                        if ( !$m ) {
                                return MEDIATYPE_UNKNOWN;
@@ -1115,7 +1115,7 @@ class MimeMagic {
 
                        $m = explode( ' ', $m );
                } else {
-                       // Normalize mime type
+                       // Normalize MIME type
                        if ( isset( $this->mMimeTypeAliases[$extMime] ) ) {
                                $extMime = $this->mMimeTypeAliases[$extMime];
                        }
index 1eb04c3..935fa15 100644 (file)
@@ -78,14 +78,6 @@ if ( $wgExtensionAssetsPath === false ) {
        $wgExtensionAssetsPath = "$wgScriptPath/extensions";
 }
 
-// Enable default skins. Temporary, to be removed before 1.24 release.
-// This is hacky and bad, the require_once calls should eventually be generated by the installer
-// and placed in LocalSettings.php.
-// While this is in Setup.php, it needs to be done as soon as possible, as some of the setup code
-// depends on all extensions and skins being already required (bug 67318).
-require_once "$wgStyleDirectory/MonoBook/MonoBook.php";
-require_once "$wgStyleDirectory/Vector/Vector.php";
-
 if ( $wgLogo === false ) {
        $wgLogo = "$wgStylePath/common/images/wiki.png";
 }
index ab72a38..f50eabc 100644 (file)
@@ -33,19 +33,16 @@ class SkinFallbackTemplate extends BaseTemplate {
         * @return array
         */
        private function findInstalledSkins() {
-               global $wgStyleDirectory;
-
+               $styleDirectory = $this->config->get( 'StyleDirectory' ); // @todo we should inject this directly?
                // Get all subdirectories which might contains skins
-               $possibleSkins = scandir( $wgStyleDirectory );
-               $possibleSkins = array_filter( $possibleSkins, function ( $maybeDir ) {
-                       global $wgStyleDirectory;
-                       return $maybeDir !== '.' && $maybeDir !== '..' && is_dir( "$wgStyleDirectory/$maybeDir" );
+               $possibleSkins = scandir( $styleDirectory );
+               $possibleSkins = array_filter( $possibleSkins, function ( $maybeDir ) use ( $styleDirectory ) {
+                       return $maybeDir !== '.' && $maybeDir !== '..' && is_dir( "$styleDirectory/$maybeDir" );
                } );
 
                // Only keep the ones that contain a .php file with the same name inside
-               $possibleSkins = array_filter( $possibleSkins, function ( $skinDir ) {
-                       global $wgStyleDirectory;
-                       return is_file( "$wgStyleDirectory/$skinDir/$skinDir.php" );
+               $possibleSkins = array_filter( $possibleSkins, function ( $skinDir ) use ( $styleDirectory ) {
+                       return is_file( "$styleDirectory/$skinDir/$skinDir.php" );
                } );
 
                return $possibleSkins;
@@ -57,10 +54,9 @@ class SkinFallbackTemplate extends BaseTemplate {
         * @return string
         */
        private function buildHelpfulInformationMessage() {
-               global $wgDefaultSkin, $wgValidSkinNames;
-
+               $defaultSkin = $this->config->get( 'DefaultSkin' );
                $installedSkins = $this->findInstalledSkins();
-               $enabledSkins = $wgValidSkinNames;
+               $enabledSkins = $this->config->get( 'ValidSkinNames' );
                $enabledSkins = array_change_key_case( $enabledSkins, CASE_LOWER );
 
                if ( $installedSkins ) {
@@ -81,13 +77,13 @@ class SkinFallbackTemplate extends BaseTemplate {
                        }
 
                        return $this->getMsg( 'default-skin-not-found' )->params(
-                               $wgDefaultSkin,
+                               $defaultSkin,
                                implode( "\n", $skinsInstalledText ),
                                implode( "\n", $skinsInstalledSnippet )
                        )->parseAsBlock();
                } else {
                        return $this->getMsg( 'default-skin-not-found-no-skins' )->params(
-                               $wgDefaultSkin
+                               $defaultSkin
                        )->parseAsBlock();
                }
        }
index 52e72e8..9ed7fed 100644 (file)
@@ -105,7 +105,7 @@ class SkinTemplate extends Skin {
         * @private
         */
        function setupTemplate( $classname, $repository = false, $cache_dir = false ) {
-               return new $classname();
+               return new $classname( $this->getConfig() );
        }
 
        /**
@@ -1371,12 +1371,20 @@ class SkinTemplate extends Skin {
  * @ingroup Skins
  */
 abstract class QuickTemplate {
+
+       /** @var Config $config */
+       protected $config;
        /**
-        * Constructor
+        * @var Config $config
         */
-       function __construct() {
+       function __construct( Config $config = null ) {
                $this->data = array();
                $this->translator = new MediaWikiI18N();
+               if ( $config === null ) {
+                       wfDebug( __METHOD__ . ' was called with no Config instance passed to it' );
+                       $config = ConfigFactory::getDefaultInstance()->makeConfig( 'main' );
+               }
+               $this->config = $config;
        }
 
        /**
index 8b2bfaa..2c2b470 100644 (file)
@@ -46,21 +46,3 @@ class ProtectAction extends FormlessAction {
        }
 }
 
-/**
- * Handle page unprotection
- *
- * This is a wrapper that will call Article::unprotect().
- *
- * @ingroup Actions
- */
-class UnprotectAction extends ProtectAction {
-
-       public function getName() {
-               return 'unprotect';
-       }
-
-       public function show() {
-
-               $this->page->unprotect();
-       }
-}
diff --git a/includes/actions/UnprotectAction.php b/includes/actions/UnprotectAction.php
new file mode 100644 (file)
index 0000000..6234aba
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+/**
+ * action=unprotect handler
+ *
+ * Copyright © 2012 Timo Tijhof
+ *
+ * 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
+ *
+ * @file
+ * @ingroup Actions
+ * @author Timo Tijhof
+ */
+
+/**
+ * Handle page unprotection
+ *
+ * This is a wrapper that will call Article::unprotect().
+ *
+ * @ingroup Actions
+ */
+class UnprotectAction extends ProtectAction {
+
+       public function getName() {
+               return 'unprotect';
+       }
+
+       public function show() {
+
+               $this->page->unprotect();
+       }
+}
\ No newline at end of file
diff --git a/includes/actions/UnwatchAction.php b/includes/actions/UnwatchAction.php
new file mode 100644 (file)
index 0000000..e2e5a1d
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Performs the unwatch actions on a page
+ *
+ * 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
+ *
+ * @file
+ * @ingroup Actions
+ */
+
+/**
+ * Page removal from a user's watchlist
+ *
+ * @ingroup Actions
+ */
+class UnwatchAction extends WatchAction {
+
+       public function getName() {
+               return 'unwatch';
+       }
+
+       protected function getDescription() {
+               return $this->msg( 'removewatch' )->escaped();
+       }
+
+       public function onSubmit( $data ) {
+               wfProfileIn( __METHOD__ );
+               self::doUnwatch( $this->getTitle(), $this->getUser() );
+               wfProfileOut( __METHOD__ );
+
+               return true;
+       }
+
+       protected function alterForm( HTMLForm $form ) {
+               $form->setSubmitTextMsg( 'confirm-unwatch-button' );
+       }
+
+       protected function preText() {
+               return $this->msg( 'confirm-unwatch-top' )->parse();
+       }
+
+       public function onSuccess() {
+               $this->getOutput()->addWikiMsg( 'removedwatchtext', $this->getTitle()->getPrefixedText() );
+       }
+}
index 2c7502e..cc18d3d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Performs the watch and unwatch actions on a page
+ * Performs the watch actions on a page
  *
  * 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
@@ -82,14 +82,7 @@ class WatchAction extends FormAction {
        protected function checkCanExecute( User $user ) {
                // Must be logged in
                if ( $user->isAnon() ) {
-                       $loginreqlink = Linker::linkKnown(
-                               SpecialPage::getTitleFor( 'Userlogin' ),
-                               $this->msg( 'loginreqlink' )->escaped(),
-                               array(),
-                               array( 'returnto' => $this->getPageTitle(), 'returntoquery' => 'action=' . $this->getName() )
-                       );
-                       $reasonMsg = $this->msg( 'watchlistanontext' )->rawParams( $loginreqlink );
-                       throw new UserNotLoggedIn( $reasonMsg, 'watchnologin' );
+                       throw new UserNotLoggedIn( 'watchlistanontext', 'watchnologin' );
                }
 
                return parent::checkCanExecute( $user );
@@ -217,39 +210,3 @@ class WatchAction extends FormAction {
                $this->getOutput()->addWikiMsg( 'addedwatchtext', $this->getTitle()->getPrefixedText() );
        }
 }
-
-/**
- * Page removal from a user's watchlist
- *
- * @ingroup Actions
- */
-class UnwatchAction extends WatchAction {
-
-       public function getName() {
-               return 'unwatch';
-       }
-
-       protected function getDescription() {
-               return $this->msg( 'removewatch' )->escaped();
-       }
-
-       public function onSubmit( $data ) {
-               wfProfileIn( __METHOD__ );
-               self::doUnwatch( $this->getTitle(), $this->getUser() );
-               wfProfileOut( __METHOD__ );
-
-               return true;
-       }
-
-       protected function alterForm( HTMLForm $form ) {
-               $form->setSubmitTextMsg( 'confirm-unwatch-button' );
-       }
-
-       protected function preText() {
-               return $this->msg( 'confirm-unwatch-top' )->parse();
-       }
-
-       public function onSuccess() {
-               $this->getOutput()->addWikiMsg( 'removedwatchtext', $this->getTitle()->getPrefixedText() );
-       }
-}
index 5d20005..3a0ed46 100644 (file)
@@ -52,7 +52,7 @@ abstract class ApiFormatBase extends ApiBase {
        }
 
        /**
-        * Overriding class returns the mime type that should be sent to the client.
+        * Overriding class returns the MIME type that should be sent to the client.
         * This method is not called if getIsHtml() returns true.
         * @return string
         */
index 8226529..fdf3f02 100644 (file)
@@ -59,13 +59,55 @@ class ApiModuleManager extends ContextSource {
        }
 
        /**
-        * Add a list of modules to the manager
-        * @param array $modules A map of ModuleName => ModuleClass
+        * Add a list of modules to the manager. Each module is described
+        * by a module spec.
+        *
+        * Each module spec is an associative array containing at least
+        * the 'class' key for the module's class, and optionally a
+        * 'factory' key for the factory function to use for the module.
+        *
+        * That factory function will be called with two parameters,
+        * the parent module (an instance of ApiBase, usually ApiMain)
+        * and the name the module was registered under. The return
+        * value must be an instance of the class given in the 'class'
+        * field.
+        *
+        * For backward compatibility, the module spec may also be a
+        * simple string containing the module's class name. In that
+        * case, the class' constructor will be called with the parent
+        * module and module name as parameters, as described above.
+        *
+        * Examples for defining module specs:
+        *
+        * @code
+        *  $modules['foo'] = 'ApiFoo';
+        *  $modules['bar'] = array(
+        *      'class' => 'ApiBar',
+        *      'factory' => function( $main, $name ) { ... }
+        *  );
+        *  $modules['xyzzy'] = array(
+        *      'class' => 'ApiXyzzy',
+        *      'factory' => array( 'XyzzyFactory', 'newApiModule' )
+        *  );
+        * @endcode
+        *
+        * @param array $modules A map of ModuleName => ModuleSpec; The ModuleSpec
+        *        is either a string containing the module's class name, or an associative
+        *        array (see above for details).
         * @param string $group Which group modules belong to (action,format,...)
         */
        public function addModules( array $modules, $group ) {
-               foreach ( $modules as $name => $class ) {
-                       $this->addModule( $name, $group, $class );
+
+               foreach ( $modules as $name => $moduleSpec ) {
+                       if ( is_array( $moduleSpec ) ) {
+                               $class = $moduleSpec['class'];
+                               $factory = ( isset( $moduleSpec['factory'] ) ? $moduleSpec['factory'] : null );
+                       } else {
+                               $class = $moduleSpec;
+                               $factory = null;
+                       }
+
+                       $this->addModule( $name, $group, $class, $factory );
                }
        }
 
@@ -74,37 +116,61 @@ class ApiModuleManager extends ContextSource {
         * classes who wish to add their own modules to their lexicon or override the
         * behavior of inherent ones.
         *
-        * @param string $group Name of the module group
         * @param string $name The identifier for this module.
+        * @param string $group Name of the module group
         * @param string $class The class where this module is implemented.
+        * @param callable|null $factory Callback for instantiating the module.
+        *
+        * @throws InvalidArgumentException
         */
-       public function addModule( $name, $group, $class ) {
+       public function addModule( $name, $group, $class, $factory = null ) {
+               if ( !is_string( $name ) ) {
+                       throw new InvalidArgumentException( '$name must be a string' );
+               }
+
+               if ( !is_string( $group ) ) {
+                       throw new InvalidArgumentException( '$group must be a string' );
+               }
+
+               if ( !is_string( $class ) ) {
+                       throw new InvalidArgumentException( '$class must be a string' );
+               }
+
+               if ( $factory !== null && !is_callable( $factory ) ) {
+                       throw new InvalidArgumentException( '$factory must be a callable (or null)' );
+               }
+
                $this->mGroups[$group] = null;
-               $this->mModules[$name] = array( $group, $class );
+               $this->mModules[$name] = array( $group, $class, $factory );
        }
 
        /**
         * Get module instance by name, or instantiate it if it does not exist
+        *
         * @param string $moduleName Module name
         * @param string $group Optionally validate that the module is in a specific group
         * @param bool $ignoreCache If true, force-creates a new instance and does not cache it
-        * @return mixed The new module instance, or null if failed
+        *
+        * @return ApiBase|null The new module instance, or null if failed
         */
        public function getModule( $moduleName, $group = null, $ignoreCache = false ) {
                if ( !isset( $this->mModules[$moduleName] ) ) {
                        return null;
                }
-               $grpCls = $this->mModules[$moduleName];
-               if ( $group !== null && $grpCls[0] !== $group ) {
+
+               list( $moduleGroup, $moduleClass, $moduleFactory ) = $this->mModules[$moduleName];
+
+               if ( $group !== null && $moduleGroup !== $group ) {
                        return null;
                }
+
                if ( !$ignoreCache && isset( $this->mInstances[$moduleName] ) ) {
                        // already exists
                        return $this->mInstances[$moduleName];
                } else {
                        // new instance
-                       $class = $grpCls[1];
-                       $instance = new $class ( $this->mParent, $moduleName );
+                       $instance = $this->instantiateModule( $moduleName, $moduleClass, $moduleFactory );
+
                        if ( !$ignoreCache ) {
                                // cache this instance in case it is needed later
                                $this->mInstances[$moduleName] = $instance;
@@ -114,6 +180,32 @@ class ApiModuleManager extends ContextSource {
                }
        }
 
+       /**
+        * Instantiate the module using the given class or factory function.
+        *
+        * @param string $name The identifier for this module.
+        * @param string $class The class where this module is implemented.
+        * @param callable|null $factory Callback for instantiating the module.
+        *
+        * @throws MWException
+        * @return ApiBase
+        */
+       private function instantiateModule( $name, $class, $factory = null ) {
+               if ( $factory !== null ) {
+                       // create instance from factory
+                       $instance = call_user_func( $factory, $this->mParent, $name );
+
+                       if ( ! $instance instanceof $class ) {
+                               throw new MWException( "The factory function for module $name did not return an instance of $class!" );
+                       }
+               } else {
+                       // create instance from class name
+                       $instance = new $class( $this->mParent, $name );
+               }
+
+               return $instance;
+       }
+
        /**
         * Get an array of modules in a specific group or all if no group is set.
         * @param string $group Optional group filter
index 1c41113..5ed5873 100644 (file)
@@ -157,9 +157,6 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                                if ( isset( $prop['timestamp'] ) ) {
                                        $vals['timestamp'] = wfTimestamp( TS_ISO_8601, $result->getTimestamp() );
                                }
-                               if ( !is_null( $result->getScore() ) && isset( $prop['score'] ) ) {
-                                       $vals['score'] = $result->getScore();
-                               }
                                if ( isset( $prop['titlesnippet'] ) ) {
                                        $vals['titlesnippet'] = $result->getTitleSnippet( $terms );
                                }
index 2c051ba..b847163 100644 (file)
@@ -297,13 +297,12 @@ class RequestContext implements IContextSource {
                        $e = new Exception;
                        wfDebugLog( 'recursion-guard', "Recursion detected:\n" . $e->getTraceAsString() );
 
-                       global $wgLanguageCode;
-                       $code = ( $wgLanguageCode ) ? $wgLanguageCode : 'en';
+                       $code = $this->getConfig()->get( 'LanguageCode' ) ? : 'en';
                        $this->lang = Language::factory( $code );
                } elseif ( $this->lang === null ) {
                        $this->recursion = true;
 
-                       global $wgLanguageCode, $wgContLang;
+                       global $wgContLang;
 
                        try {
                                $request = $this->getRequest();
@@ -314,7 +313,7 @@ class RequestContext implements IContextSource {
 
                                wfRunHooks( 'UserGetLanguageObject', array( $user, &$code, $this ) );
 
-                               if ( $code === $wgLanguageCode ) {
+                               if ( $code === $this->getConfig()->get( 'LanguageCode' ) ) {
                                        $this->lang = $wgContLang;
                                } else {
                                        $obj = Language::factory( $code );
@@ -364,15 +363,13 @@ class RequestContext implements IContextSource {
                        // If this is still null (the hook didn't run or didn't work)
                        // then go through the normal processing to load a skin
                        if ( $this->skin === null ) {
-                               global $wgHiddenPrefs;
-                               if ( !in_array( 'skin', $wgHiddenPrefs ) ) {
+                               if ( !in_array( 'skin', $this->getConfig()->get( 'HiddenPrefs' ) ) ) {
                                        # get the user skin
                                        $userSkin = $this->getUser()->getOption( 'skin' );
                                        $userSkin = $this->getRequest()->getVal( 'useskin', $userSkin );
                                } else {
                                        # if we're not allowing users to override, then use the default
-                                       global $wgDefaultSkin;
-                                       $userSkin = $wgDefaultSkin;
+                                       $userSkin = $this->getConfig()->get( 'DefaultSkin' );
                                }
 
                                $this->skin = Skin::newFromKey( $userSkin );
index 9d89009..03ba0b2 100644 (file)
  */
 
 /**
- * Shows a generic "user is not logged in" error page.
+ * Redirect a user to the login page
  *
  * This is essentially an ErrorPageError exception which by default uses the
  * 'exception-nologin' as a title and 'exception-nologin-text' for the message.
- * @see bug 37627
- * @since 1.20
+ *
+ * @note In order for this exception to redirect, the error message passed to the
+ * constructor has to be explicitly added to LoginForm::validErrorMessages. Otherwise,
+ * the user will just be shown the message rather than redirected.
  *
  * @par Example:
  * @code
  * }
  * @endcode
  *
+ * @see bug 37627
+ * @since 1.20
  * @ingroup Exception
  */
 class UserNotLoggedIn extends ErrorPageError {
 
        /**
+        * @note The value of the $reasonMsg parameter must be put into LoginForm::validErrorMessages
+        * if you want the user to be automatically redirected to the login form.
+        *
         * @param string $reasonMsg A message key containing the reason for the error.
         *        Optional, default: 'exception-nologin-text'
         * @param string $titleMsg A message key to set the page title.
@@ -62,4 +69,34 @@ class UserNotLoggedIn extends ErrorPageError {
        ) {
                parent::__construct( $titleMsg, $reasonMsg, $params );
        }
+
+       /**
+        * Redirect to Special:Userlogin if the specified message is compatible. Otherwise,
+        * show an error page as usual.
+        */
+       public function report() {
+               // If an unsupported message is used, don't try redirecting to Special:Userlogin,
+               // since the message may not be compatible.
+               if ( !in_array( $this->msg, LoginForm::$validErrorMessages ) ) {
+                       parent::report();
+               }
+
+               // Message is valid. Redirec to Special:Userlogin
+
+               $context = RequestContext::getMain();
+
+               $output = $context->getOutput();
+               $query = $context->getRequest()->getValues();
+               // Title will be overridden by returnto
+               unset( $query['title'] );
+               // Redirect to Special:Userlogin
+               $output->redirect( SpecialPage::getTitleFor( 'Userlogin' )->getFullURL( array(
+                       // Return to this page when the user logs in
+                       'returnto' => $context->getTitle()->getFullText(),
+                       'returntoquery' => wfArrayToCgi( $query ),
+                       'warning' => $this->msg,
+               ) ) );
+
+               $output->output();
+       }
 }
index 47bacb5..1659c62 100644 (file)
@@ -118,9 +118,9 @@ class FSFile {
                                $ext = self::extensionFromPath( $this->path );
                        }
 
-                       # mime type according to file contents
+                       # MIME type according to file contents
                        $info['file-mime'] = $this->getMimeType();
-                       # logical mime type
+                       # logical MIME type
                        $info['mime'] = $magic->improveTypeFromExtension( $info['file-mime'], $ext );
 
                        list( $info['major_mime'], $info['minor_mime'] ) = File::splitMime( $info['mime'] );
index 569f337..c06f6fc 100644 (file)
@@ -51,7 +51,7 @@ On files:
 * read a file into a string or  several files into a map of path names to strings
 * download a file or set of files to a temporary file (on a mounted file system)
 * get the SHA1 hash of a file
-* get various properties of a file (stat information, content time, mime information, ...)
+* get various properties of a file (stat information, content time, MIME information, ...)
 
 On directories:
 * get a list of files directly under a directory
index 735bf8a..a71acde 100644 (file)
@@ -383,7 +383,7 @@ class ArchivedFile {
        }
 
        /**
-        * Returns the mime type of the file.
+        * Returns the MIME type of the file.
         * @return string
         */
        public function getMimeType() {
index c6da1f1..a61002a 100644 (file)
@@ -679,7 +679,7 @@ abstract class File {
        }
 
        /**
-        * Returns the mime type of the file.
+        * Returns the MIME type of the file.
         * Overridden by LocalFile, UnregisteredLocalFile
         * STUB
         *
index 1eff1df..3ba47ff 100644 (file)
@@ -91,10 +91,10 @@ class LocalFile extends File {
        /** @var int Result of the query for the file's history (nextHistoryLine) */
        private $historyRes;
 
-       /** @var string Major mime type */
+       /** @var string Major MIME type */
        private $major_mime;
 
-       /** @var string Minor mime type */
+       /** @var string Minor MIME type */
        private $minor_mime;
 
        /** @var string Upload timestamp */
@@ -784,7 +784,7 @@ class LocalFile extends File {
        }
 
        /**
-        * Returns the mime type of the file.
+        * Returns the MIME type of the file.
         * @return string
         */
        function getMimeType() {
index 4885ae6..4e2ca83 100644 (file)
@@ -44,7 +44,7 @@ class CSSMin {
 
        /* Protected Static Members */
 
-       /** @var array List of common image files extensions and mime-types */
+       /** @var array List of common image files extensions and MIME-types */
        protected static $mimeTypes = array(
                'gif' => 'image/gif',
                'jpe' => 'image/jpeg',
@@ -135,7 +135,7 @@ class CSSMin {
         */
        public static function getMimeType( $file ) {
                $realpath = realpath( $file );
-               // Try a couple of different ways to get the mime-type of a file, in order of
+               // Try a couple of different ways to get the MIME-type of a file, in order of
                // preference
                if (
                        $realpath
@@ -143,14 +143,14 @@ class CSSMin {
                        && function_exists( 'finfo_open' )
                        && defined( 'FILEINFO_MIME_TYPE' )
                ) {
-                       // As of PHP 5.3, this is how you get the mime-type of a file; it uses the Fileinfo
+                       // As of PHP 5.3, this is how you get the MIME-type of a file; it uses the Fileinfo
                        // PECL extension
                        return finfo_file( finfo_open( FILEINFO_MIME_TYPE ), $realpath );
                } elseif ( function_exists( 'mime_content_type' ) ) {
-                       // Before this was deprecated in PHP 5.3, this was how you got the mime-type of a file
+                       // Before this was deprecated in PHP 5.3, this was how you got the MIME-type of a file
                        return mime_content_type( $file );
                } else {
-                       // Worst-case scenario has happened, use the file extension to infer the mime-type
+                       // Worst-case scenario has happened, use the file extension to infer the MIME-type
                        $ext = strtolower( pathinfo( $file, PATHINFO_EXTENSION ) );
                        if ( isset( self::$mimeTypes[$ext] ) ) {
                                return self::$mimeTypes[$ext];
index a80f6d9..c31a352 100644 (file)
@@ -333,7 +333,7 @@ class IEContentAnalyzer {
         * @param string $chunk the first 256 bytes of the file
         * @param string $proposed the MIME type proposed by the server
         *
-        * @return Array: map of IE version to detected mime type
+        * @return Array: map of IE version to detected MIME type
         */
        public function getRealMimesFromData( $fileName, $chunk, $proposed ) {
                $types = $this->getMimesFromData( $fileName, $chunk, $proposed );
@@ -371,7 +371,7 @@ class IEContentAnalyzer {
         * @param string $chunk the first 256 bytes of the file
         * @param string $proposed the MIME type proposed by the server
         *
-        * @return Array: map of IE version to detected mime type
+        * @return Array: map of IE version to detected MIME type
         */
        public function getMimesFromData( $fileName, $chunk, $proposed ) {
                $types = array();
index 37723d5..61ed771 100644 (file)
@@ -1036,7 +1036,7 @@ class lessc {
                                        }
                                }
 
-                               if(!is_null($mime)) // fallback if the mime type is still unknown
+                               if(!is_null($mime)) // fallback if the MIME type is still unknown
                                        $url = sprintf('data:%s;base64,%s', $mime, base64_encode(file_get_contents($fullpath)));
                        }
                }
index e8f8360..969bb72 100644 (file)
@@ -313,15 +313,15 @@ abstract class MediaHandler {
        function getThumbType( $ext, $mime, $params = null ) {
                $magic = MimeMagic::singleton();
                if ( !$ext || $magic->isMatchingExtension( $ext, $mime ) === false ) {
-                       // The extension is not valid for this mime type and we do
-                       // recognize the mime type
+                       // The extension is not valid for this MIME type and we do
+                       // recognize the MIME type
                        $extensions = $magic->getExtensionsForType( $mime );
                        if ( $extensions ) {
                                return array( strtok( $extensions, ' ' ), $mime );
                        }
                }
 
-               // The extension is correct (true) or the mime type is unknown to
+               // The extension is correct (true) or the MIME type is unknown to
                // MediaWiki (null)
                return array( $ext, $mime );
        }
index 3700556..7e47ec1 100644 (file)
@@ -726,7 +726,7 @@ class XMPInfo {
                                'mode' => XMPReader::MODE_SEQ,
                                'validate' => 'validateDate',
                        ),
-                       /* Do not extract dc:format, as we've got better ways to determine mimetype */
+                       /* Do not extract dc:format, as we've got better ways to determine MIME type */
                        'identifier' => array(
                                'map_group' => 'deprecated',
                                'map_name' => 'Identifier',
index 7a4de3b..b86d7d7 100644 (file)
@@ -1,5 +1,5 @@
-# Mime type info file.
-# the first mime type in each line is the "main" mime type,
+# MIME type info file.
+# the first MIME type in each line is the "main" MIME type,
 # the others are aliases for this type
 # the media type is given in upper case and square brackets,
 # like [BITMAP], and must indicate a media type as defined by
index 436f148..4a6e002 100644 (file)
@@ -1751,9 +1751,9 @@ class Article implements Page {
                        Xml::closeElement( 'form' );
 
                        if ( $user->isAllowed( 'editinterface' ) ) {
-                               $title = Title::makeTitle( NS_MEDIAWIKI, 'Deletereason-dropdown' );
+                               $dropdownTitle = Title::makeTitle( NS_MEDIAWIKI, 'Deletereason-dropdown' );
                                $link = Linker::link(
-                                       $title,
+                                       $dropdownTitle,
                                        wfMessage( 'delete-edit-reasonlist' )->escaped(),
                                        array(),
                                        array( 'action' => 'edit' )
index 4b2094f..f646ae9 100644 (file)
@@ -305,9 +305,7 @@ class ResourceLoaderFileModule extends ResourceLoaderModule {
                // but were preserved for backwards-compatibility just in case. Tread lightly.
 
                $localBasePath = $localBasePath === null ? $IP : $localBasePath;
-               if ( $remoteBasePath !== null ) {
-                       $remoteBasePath = $remoteBasePath;
-               } else {
+               if ( $remoteBasePath === null ) {
                        $remoteBasePath = $wgResourceBasePath === null ? $wgScriptPath : $wgResourceBasePath;
                }
 
diff --git a/includes/revisiondelete/RevDelArchiveItem.php b/includes/revisiondelete/RevDelArchiveItem.php
new file mode 100644 (file)
index 0000000..d9aca88
--- /dev/null
@@ -0,0 +1,77 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * Item class for a archive table row
+ */
+class RevDelArchiveItem extends RevDelRevisionItem {
+       public function __construct( $list, $row ) {
+               RevDelItem::__construct( $list, $row );
+               $this->revision = Revision::newFromArchiveRow( $row, array( 'page' => $this->list->title->getArticleID() ) );
+       }
+
+       public function getIdField() {
+               return 'ar_timestamp';
+       }
+
+       public function getTimestampField() {
+               return 'ar_timestamp';
+       }
+
+       public function getAuthorIdField() {
+               return 'ar_user';
+       }
+
+       public function getAuthorNameField() {
+               return 'ar_user_text';
+       }
+
+       public function getId() {
+               # Convert DB timestamp to MW timestamp
+               return $this->revision->getTimestamp();
+       }
+
+       public function setBits( $bits ) {
+               $dbw = wfGetDB( DB_MASTER );
+               $dbw->update( 'archive', array( 'ar_deleted' => $bits ), array( 'ar_namespace' => $this->list->title->getNamespace(), 'ar_title' => $this->list->title->getDBkey(), // use timestamp for index
+                               'ar_timestamp' => $this->row->ar_timestamp, 'ar_rev_id' => $this->row->ar_rev_id, 'ar_deleted' => $this->getBits() ), __METHOD__ );
+
+               return (bool) $dbw->affectedRows();
+       }
+
+       protected function getRevisionLink() {
+               $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate( $this->revision->getTimestamp(), $this->list->getUser() ) );
+
+               if ( $this->isDeleted() && !$this->canViewContent() ) {
+                       return $date;
+               }
+
+               return Linker::link( SpecialPage::getTitleFor( 'Undelete' ), $date, array(), array( 'target' => $this->list->title->getPrefixedText(), 'timestamp' => $this->revision->getTimestamp() ) );
+       }
+
+       protected function getDiffLink() {
+               if ( $this->isDeleted() && !$this->canViewContent() ) {
+                       return $this->list->msg( 'diff' )->escaped();
+               }
+
+               return Linker::link( SpecialPage::getTitleFor( 'Undelete' ), $this->list->msg( 'diff' )->escaped(), array(), array( 'target' => $this->list->title->getPrefixedText(), 'diff' => 'prev', 'timestamp' => $this->revision->getTimestamp() ) );
+       }
+}
\ No newline at end of file
diff --git a/includes/revisiondelete/RevDelArchiveList.php b/includes/revisiondelete/RevDelArchiveList.php
new file mode 100644 (file)
index 0000000..07348f5
--- /dev/null
@@ -0,0 +1,58 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * List for archive table items, i.e. revisions deleted via action=delete
+ */
+class RevDelArchiveList extends RevDelRevisionList {
+       public function getType() {
+               return 'archive';
+       }
+
+       public static function getRelationType() {
+               return 'ar_timestamp';
+       }
+
+       /**
+        * @param DatabaseBase $db
+        * @return mixed
+        */
+       public function doQuery( $db ) {
+               $timestamps = array();
+               foreach ( $this->ids as $id ) {
+                       $timestamps[] = $db->timestamp( $id );
+               }
+
+               return $db->select( 'archive', Revision::selectArchiveFields(), array( 'ar_namespace' => $this->title->getNamespace(), 'ar_title' => $this->title->getDBkey(), 'ar_timestamp' => $timestamps ), __METHOD__, array( 'ORDER BY' => 'ar_timestamp DESC' ) );
+       }
+
+       public function newItem( $row ) {
+               return new RevDelArchiveItem( $this, $row );
+       }
+
+       public function doPreCommitUpdates() {
+               return Status::newGood();
+       }
+
+       public function doPostCommitUpdates() {
+               return Status::newGood();
+       }
+}
\ No newline at end of file
diff --git a/includes/revisiondelete/RevDelArchivedFileItem.php b/includes/revisiondelete/RevDelArchivedFileItem.php
new file mode 100644 (file)
index 0000000..dfb55ba
--- /dev/null
@@ -0,0 +1,95 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * Item class for a filearchive table row
+ */
+class RevDelArchivedFileItem extends RevDelFileItem {
+       public function __construct( $list, $row ) {
+               RevDelItem::__construct( $list, $row );
+               $this->file = ArchivedFile::newFromRow( $row );
+       }
+
+       public function getIdField() {
+               return 'fa_id';
+       }
+
+       public function getTimestampField() {
+               return 'fa_timestamp';
+       }
+
+       public function getAuthorIdField() {
+               return 'fa_user';
+       }
+
+       public function getAuthorNameField() {
+               return 'fa_user_text';
+       }
+
+       public function getId() {
+               return $this->row->fa_id;
+       }
+
+       public function setBits( $bits ) {
+               $dbw = wfGetDB( DB_MASTER );
+               $dbw->update( 'filearchive', array( 'fa_deleted' => $bits ), array( 'fa_id' => $this->row->fa_id, 'fa_deleted' => $this->getBits(), ), __METHOD__ );
+
+               return (bool) $dbw->affectedRows();
+       }
+
+       protected function getLink() {
+               $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate( $this->file->getTimestamp(), $this->list->getUser() ) );
+
+               # Hidden files...
+               if ( !$this->canViewContent() ) {
+                       $link = $date;
+               } else {
+                       $undelete = SpecialPage::getTitleFor( 'Undelete' );
+                       $key = $this->file->getKey();
+                       $link = Linker::link( $undelete, $date, array(), array( 'target' => $this->list->title->getPrefixedText(), 'file' => $key, 'token' => $this->list->getUser()->getEditToken( $key ) ) );
+               }
+               if ( $this->isDeleted() ) {
+                       $link = '<span class="history-deleted">' . $link . '</span>';
+               }
+
+               return $link;
+       }
+
+       public function getApiData( ApiResult $result ) {
+               $file = $this->file;
+               $user = $this->list->getUser();
+               $ret = array( 'title' => $this->list->title->getPrefixedText(), 'timestamp' => wfTimestamp( TS_ISO_8601, $file->getTimestamp() ), 'width' => $file->getWidth(), 'height' => $file->getHeight(), 'size' => $file->getSize(), );
+               $ret += $file->isDeleted( Revision::DELETED_USER ) ? array( 'userhidden' => '' ) : array();
+               $ret += $file->isDeleted( Revision::DELETED_COMMENT ) ? array( 'commenthidden' => '' ) : array();
+               $ret += $this->isDeleted() ? array( 'contenthidden' => '' ) : array();
+               if ( $this->canViewContent() ) {
+                       $ret += array( 'url' => SpecialPage::getTitleFor( 'Revisiondelete' )->getLinkURL( array( 'target' => $this->list->title->getPrefixedText(), 'file' => $file->getKey(), 'token' => $user->getEditToken( $file->getKey() ) ), false, PROTO_RELATIVE ), );
+               }
+               if ( $file->userCan( Revision::DELETED_USER, $user ) ) {
+                       $ret += array( 'userid' => $file->getUser( 'id' ), 'user' => $file->getUser( 'text' ), );
+               }
+               if ( $file->userCan( Revision::DELETED_COMMENT, $user ) ) {
+                       $ret += array( 'comment' => $file->getRawDescription(), );
+               }
+
+               return $ret;
+       }
+}
\ No newline at end of file
diff --git a/includes/revisiondelete/RevDelArchivedFileList.php b/includes/revisiondelete/RevDelArchivedFileList.php
new file mode 100644 (file)
index 0000000..1538672
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * List for filearchive table items
+ */
+class RevDelArchivedFileList extends RevDelFileList {
+       public function getType() {
+               return 'filearchive';
+       }
+
+       public static function getRelationType() {
+               return 'fa_id';
+       }
+
+       /**
+        * @param DatabaseBase $db
+        * @return mixed
+        */
+       public function doQuery( $db ) {
+               $ids = array_map( 'intval', $this->ids );
+
+               return $db->select( 'filearchive', ArchivedFile::selectFields(), array( 'fa_name' => $this->title->getDBkey(), 'fa_id' => $ids ), __METHOD__, array( 'ORDER BY' => 'fa_id DESC' ) );
+       }
+
+       public function newItem( $row ) {
+               return new RevDelArchivedFileItem( $this, $row );
+       }
+}
\ No newline at end of file
diff --git a/includes/revisiondelete/RevDelArchivedRevisionItem.php b/includes/revisiondelete/RevDelArchivedRevisionItem.php
new file mode 100644 (file)
index 0000000..6a35b89
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * Item class for a archive table row by ar_rev_id -- actually
+ * used via RevDelRevisionList.
+ */
+class RevDelArchivedRevisionItem extends RevDelArchiveItem {
+       public function __construct( $list, $row ) {
+               RevDelItem::__construct( $list, $row );
+
+               $this->revision = Revision::newFromArchiveRow( $row, array( 'page' => $this->list->title->getArticleID() ) );
+       }
+
+       public function getIdField() {
+               return 'ar_rev_id';
+       }
+
+       public function getId() {
+               return $this->revision->getId();
+       }
+
+       public function setBits( $bits ) {
+               $dbw = wfGetDB( DB_MASTER );
+               $dbw->update( 'archive', array( 'ar_deleted' => $bits ), array( 'ar_rev_id' => $this->row->ar_rev_id, 'ar_deleted' => $this->getBits() ), __METHOD__ );
+
+               return (bool) $dbw->affectedRows();
+       }
+}
\ No newline at end of file
diff --git a/includes/revisiondelete/RevDelFileItem.php b/includes/revisiondelete/RevDelFileItem.php
new file mode 100644 (file)
index 0000000..0f1f2c4
--- /dev/null
@@ -0,0 +1,187 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * Item class for an oldimage table row
+ */
+class RevDelFileItem extends RevDelItem {
+       /** @var File */
+       var $file;
+
+       public function __construct( $list, $row ) {
+               parent::__construct( $list, $row );
+               $this->file = RepoGroup::singleton()->getLocalRepo()->newFileFromRow( $row );
+       }
+
+       public function getIdField() {
+               return 'oi_archive_name';
+       }
+
+       public function getTimestampField() {
+               return 'oi_timestamp';
+       }
+
+       public function getAuthorIdField() {
+               return 'oi_user';
+       }
+
+       public function getAuthorNameField() {
+               return 'oi_user_text';
+       }
+
+       public function getId() {
+               $parts = explode( '!', $this->row->oi_archive_name );
+
+               return $parts[0];
+       }
+
+       public function canView() {
+               return $this->file->userCan( File::DELETED_RESTRICTED, $this->list->getUser() );
+       }
+
+       public function canViewContent() {
+               return $this->file->userCan( File::DELETED_FILE, $this->list->getUser() );
+       }
+
+       public function getBits() {
+               return $this->file->getVisibility();
+       }
+
+       public function setBits( $bits ) {
+               # Queue the file op
+               # @todo FIXME: Move to LocalFile.php
+               if ( $this->isDeleted() ) {
+                       if ( $bits & File::DELETED_FILE ) {
+                               # Still deleted
+                       } else {
+                               # Newly undeleted
+                               $key = $this->file->getStorageKey();
+                               $srcRel = $this->file->repo->getDeletedHashPath( $key ) . $key;
+                               $this->list->storeBatch[] = array( $this->file->repo->getVirtualUrl( 'deleted' ) . '/' . $srcRel, 'public', $this->file->getRel() );
+                               $this->list->cleanupBatch[] = $key;
+                       }
+               } elseif ( $bits & File::DELETED_FILE ) {
+                       # Newly deleted
+                       $key = $this->file->getStorageKey();
+                       $dstRel = $this->file->repo->getDeletedHashPath( $key ) . $key;
+                       $this->list->deleteBatch[] = array( $this->file->getRel(), $dstRel );
+               }
+
+               # Do the database operations
+               $dbw = wfGetDB( DB_MASTER );
+               $dbw->update( 'oldimage', array( 'oi_deleted' => $bits ), array( 'oi_name' => $this->row->oi_name, 'oi_timestamp' => $this->row->oi_timestamp, 'oi_deleted' => $this->getBits() ), __METHOD__ );
+
+               return (bool) $dbw->affectedRows();
+       }
+
+       public function isDeleted() {
+               return $this->file->isDeleted( File::DELETED_FILE );
+       }
+
+       /**
+        * Get the link to the file.
+        * Overridden by RevDelArchivedFileItem.
+        * @return string
+        */
+       protected function getLink() {
+               $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate( $this->file->getTimestamp(), $this->list->getUser() ) );
+
+               if ( !$this->isDeleted() ) {
+                       # Regular files...
+                       return Html::rawElement( 'a', array( 'href' => $this->file->getUrl() ), $date );
+               }
+
+               # Hidden files...
+               if ( !$this->canViewContent() ) {
+                       $link = $date;
+               } else {
+                       $link = Linker::link( SpecialPage::getTitleFor( 'Revisiondelete' ), $date, array(), array( 'target' => $this->list->title->getPrefixedText(), 'file' => $this->file->getArchiveName(), 'token' => $this->list->getUser()->getEditToken( $this->file->getArchiveName() ) ) );
+               }
+
+               return '<span class="history-deleted">' . $link . '</span>';
+       }
+
+       /**
+        * Generate a user tool link cluster if the current user is allowed to view it
+        * @return string HTML
+        */
+       protected function getUserTools() {
+               if ( $this->file->userCan( Revision::DELETED_USER, $this->list->getUser() ) ) {
+                       $uid = $this->file->getUser( 'id' );
+                       $name = $this->file->getUser( 'text' );
+                       $link = Linker::userLink( $uid, $name ) . Linker::userToolLinks( $uid, $name );
+               } else {
+                       $link = $this->list->msg( 'rev-deleted-user' )->escaped();
+               }
+               if ( $this->file->isDeleted( Revision::DELETED_USER ) ) {
+                       return '<span class="history-deleted">' . $link . '</span>';
+               }
+
+               return $link;
+       }
+
+       /**
+        * Wrap and format the file's comment block, if the current
+        * user is allowed to view it.
+        *
+        * @return string HTML
+        */
+       protected function getComment() {
+               if ( $this->file->userCan( File::DELETED_COMMENT, $this->list->getUser() ) ) {
+                       $block = Linker::commentBlock( $this->file->getDescription() );
+               } else {
+                       $block = ' ' . $this->list->msg( 'rev-deleted-comment' )->escaped();
+               }
+               if ( $this->file->isDeleted( File::DELETED_COMMENT ) ) {
+                       return "<span class=\"history-deleted\">$block</span>";
+               }
+
+               return $block;
+       }
+
+       public function getHTML() {
+               $data = $this->list->msg( 'widthheight' )->numParams( $this->file->getWidth(), $this->file->getHeight() )->text() . ' (' . $this->list->msg( 'nbytes' )->numParams( $this->file->getSize() )->text() . ')';
+
+               return '<li>' . $this->getLink() . ' ' . $this->getUserTools() . ' ' . $data . ' ' . $this->getComment() . '</li>';
+       }
+
+       public function getApiData( ApiResult $result ) {
+               $file = $this->file;
+               $user = $this->list->getUser();
+               $ret = array( 'title' => $this->list->title->getPrefixedText(), 'archivename' => $file->getArchiveName(), 'timestamp' => wfTimestamp( TS_ISO_8601, $file->getTimestamp() ), 'width' => $file->getWidth(), 'height' => $file->getHeight(), 'size' => $file->getSize(), );
+               $ret += $file->isDeleted( Revision::DELETED_USER ) ? array( 'userhidden' => '' ) : array();
+               $ret += $file->isDeleted( Revision::DELETED_COMMENT ) ? array( 'commenthidden' => '' ) : array();
+               $ret += $this->isDeleted() ? array( 'contenthidden' => '' ) : array();
+               if ( !$this->isDeleted() ) {
+                       $ret += array( 'url' => $file->getUrl(), );
+               } elseif ( $this->canViewContent() ) {
+                       $ret += array( 'url' => SpecialPage::getTitleFor( 'Revisiondelete' )->getLinkURL( array( 'target' => $this->list->title->getPrefixedText(), 'file' => $file->getArchiveName(), 'token' => $user->getEditToken( $file->getArchiveName() ) ), false, PROTO_RELATIVE ), );
+               }
+               if ( $file->userCan( Revision::DELETED_USER, $user ) ) {
+                       $ret += array( 'userid' => $file->user, 'user' => $file->user_text, );
+               }
+               if ( $file->userCan( Revision::DELETED_COMMENT, $user ) ) {
+                       $ret += array( 'comment' => $file->description, );
+               }
+
+               return $ret;
+       }
+}
\ No newline at end of file
diff --git a/includes/revisiondelete/RevDelFileList.php b/includes/revisiondelete/RevDelFileList.php
new file mode 100644 (file)
index 0000000..f485d16
--- /dev/null
@@ -0,0 +1,119 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * List for oldimage table items
+ */
+class RevDelFileList extends RevDelList {
+       /** @var array */
+       var $storeBatch;
+
+       /** @var array */
+       var $deleteBatch;
+
+       /** @var array */
+       var $cleanupBatch;
+
+       public function getType() {
+               return 'oldimage';
+       }
+
+       public static function getRelationType() {
+               return 'oi_archive_name';
+       }
+
+       public static function getRestriction() {
+               return 'deleterevision';
+       }
+
+       public static function getRevdelConstant() {
+               return File::DELETED_FILE;
+       }
+
+       /**
+        * @param DatabaseBase $db
+        * @return mixed
+        */
+       public function doQuery( $db ) {
+               $archiveNames = array();
+               foreach ( $this->ids as $timestamp ) {
+                       $archiveNames[] = $timestamp . '!' . $this->title->getDBkey();
+               }
+
+               return $db->select( 'oldimage', OldLocalFile::selectFields(), array( 'oi_name' => $this->title->getDBkey(), 'oi_archive_name' => $archiveNames ), __METHOD__, array( 'ORDER BY' => 'oi_timestamp DESC' ) );
+       }
+
+       public function newItem( $row ) {
+               return new RevDelFileItem( $this, $row );
+       }
+
+       public function clearFileOps() {
+               $this->deleteBatch = array();
+               $this->storeBatch = array();
+               $this->cleanupBatch = array();
+       }
+
+       public function doPreCommitUpdates() {
+               $status = Status::newGood();
+               $repo = RepoGroup::singleton()->getLocalRepo();
+               if ( $this->storeBatch ) {
+                       $status->merge( $repo->storeBatch( $this->storeBatch, FileRepo::OVERWRITE_SAME ) );
+               }
+               if ( !$status->isOK() ) {
+                       return $status;
+               }
+               if ( $this->deleteBatch ) {
+                       $status->merge( $repo->deleteBatch( $this->deleteBatch ) );
+               }
+               if ( !$status->isOK() ) {
+                       // Running cleanupDeletedBatch() after a failed storeBatch() with the DB already
+                       // modified (but destined for rollback) causes data loss
+                       return $status;
+               }
+               if ( $this->cleanupBatch ) {
+                       $status->merge( $repo->cleanupDeletedBatch( $this->cleanupBatch ) );
+               }
+
+               return $status;
+       }
+
+       public function doPostCommitUpdates() {
+               $file = wfLocalFile( $this->title );
+               $file->purgeCache();
+               $file->purgeDescription();
+               $purgeUrls = array();
+               foreach ( $this->ids as $timestamp ) {
+                       $archiveName = $timestamp . '!' . $this->title->getDBkey();
+                       $file->purgeOldThumbnails( $archiveName );
+                       $purgeUrls[] = $file->getArchiveUrl( $archiveName );
+               }
+               if ( $this->getConfig()->get( 'UseSquid' ) ) {
+                       // purge full images from cache
+                       SquidUpdate::purge( $purgeUrls );
+               }
+
+               return Status::newGood();
+       }
+
+       public function getSuppressBit() {
+               return File::DELETED_RESTRICTED;
+       }
+}
\ No newline at end of file
diff --git a/includes/revisiondelete/RevDelLogItem.php b/includes/revisiondelete/RevDelLogItem.php
new file mode 100644 (file)
index 0000000..01fc784
--- /dev/null
@@ -0,0 +1,105 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * Item class for a logging table row
+ */
+class RevDelLogItem extends RevDelItem {
+       public function getIdField() {
+               return 'log_id';
+       }
+
+       public function getTimestampField() {
+               return 'log_timestamp';
+       }
+
+       public function getAuthorIdField() {
+               return 'log_user';
+       }
+
+       public function getAuthorNameField() {
+               return 'log_user_text';
+       }
+
+       public function canView() {
+               return LogEventsList::userCan( $this->row, Revision::DELETED_RESTRICTED, $this->list->getUser() );
+       }
+
+       public function canViewContent() {
+               return true; // none
+       }
+
+       public function getBits() {
+               return $this->row->log_deleted;
+       }
+
+       public function setBits( $bits ) {
+               $dbw = wfGetDB( DB_MASTER );
+               $dbw->update( 'recentchanges', array( 'rc_deleted' => $bits, 'rc_patrolled' => 1 ), array( 'rc_logid' => $this->row->log_id, 'rc_timestamp' => $this->row->log_timestamp // index
+                       ), __METHOD__ );
+               $dbw->update( 'logging', array( 'log_deleted' => $bits ), array( 'log_id' => $this->row->log_id, 'log_deleted' => $this->getBits() ), __METHOD__ );
+
+               return (bool) $dbw->affectedRows();
+       }
+
+       public function getHTML() {
+               $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate( $this->row->log_timestamp, $this->list->getUser() ) );
+               $title = Title::makeTitle( $this->row->log_namespace, $this->row->log_title );
+               $formatter = LogFormatter::newFromRow( $this->row );
+               $formatter->setContext( $this->list->getContext() );
+               $formatter->setAudience( LogFormatter::FOR_THIS_USER );
+
+               // Log link for this page
+               $loglink = Linker::link( SpecialPage::getTitleFor( 'Log' ), $this->list->msg( 'log' )->escaped(), array(), array( 'page' => $title->getPrefixedText() ) );
+               $loglink = $this->list->msg( 'parentheses' )->rawParams( $loglink )->escaped();
+               // User links and action text
+               $action = $formatter->getActionText();
+               // Comment
+               $comment = $this->list->getLanguage()->getDirMark() . Linker::commentBlock( $this->row->log_comment );
+
+               if ( LogEventsList::isDeleted( $this->row, LogPage::DELETED_COMMENT ) ) {
+                       $comment = '<span class="history-deleted">' . $comment . '</span>';
+               }
+
+               return "<li>$loglink $date $action $comment</li>";
+       }
+
+       public function getApiData( ApiResult $result ) {
+               $logEntry = DatabaseLogEntry::newFromRow( $this->row );
+               $user = $this->list->getUser();
+               $ret = array( 'id' => $logEntry->getId(), 'type' => $logEntry->getType(), 'action' => $logEntry->getSubtype(), );
+               $ret += $logEntry->isDeleted( LogPage::DELETED_USER ) ? array( 'userhidden' => '' ) : array();
+               $ret += $logEntry->isDeleted( LogPage::DELETED_COMMENT ) ? array( 'commenthidden' => '' ) : array();
+               $ret += $logEntry->isDeleted( LogPage::DELETED_ACTION ) ? array( 'actionhidden' => '' ) : array();
+
+               if ( LogEventsList::userCan( $this->row, LogPage::DELETED_ACTION, $user ) ) {
+                       ApiQueryLogEvents::addLogParams( $result, $ret, $logEntry->getParameters(), $logEntry->getType(), $logEntry->getSubtype(), $logEntry->getTimestamp(), $logEntry->isLegacy() );
+               }
+               if ( LogEventsList::userCan( $this->row, LogPage::DELETED_USER, $user ) ) {
+                       $ret += array( 'userid' => $this->row->log_user, 'user' => $this->row->log_user_text, );
+               }
+               if ( LogEventsList::userCan( $this->row, LogPage::DELETED_COMMENT, $user ) ) {
+                       $ret += array( 'comment' => $this->row->log_comment, );
+               }
+
+               return $ret;
+       }
+}
\ No newline at end of file
diff --git a/includes/revisiondelete/RevDelLogList.php b/includes/revisiondelete/RevDelLogList.php
new file mode 100644 (file)
index 0000000..933fb01
--- /dev/null
@@ -0,0 +1,77 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * List for logging table items
+ */
+class RevDelLogList extends RevDelList {
+       public function getType() {
+               return 'logging';
+       }
+
+       public static function getRelationType() {
+               return 'log_id';
+       }
+
+       public static function getRestriction() {
+               return 'deletelogentry';
+       }
+
+       public static function getRevdelConstant() {
+               return LogPage::DELETED_ACTION;
+       }
+
+       public static function suggestTarget( $target, array $ids ) {
+               $result = wfGetDB( DB_SLAVE )->select( 'logging', 'log_type', array( 'log_id' => $ids ), __METHOD__, array( 'DISTINCT' ) );
+               if ( $result->numRows() == 1 ) {
+                       // If there's only one type, the target can be set to include it.
+                       return SpecialPage::getTitleFor( 'Log', $result->current()->log_type );
+               }
+
+               return SpecialPage::getTitleFor( 'Log' );
+       }
+
+       /**
+        * @param DatabaseBase $db
+        * @return mixed
+        */
+       public function doQuery( $db ) {
+               $ids = array_map( 'intval', $this->ids );
+
+               return $db->select( 'logging', array( 'log_id', 'log_type', 'log_action', 'log_timestamp', 'log_user', 'log_user_text', 'log_namespace', 'log_title', 'log_page', 'log_comment', 'log_params', 'log_deleted' ), array( 'log_id' => $ids ), __METHOD__, array( 'ORDER BY' => 'log_id DESC' ) );
+       }
+
+       public function newItem( $row ) {
+               return new RevDelLogItem( $this, $row );
+       }
+
+       public function getSuppressBit() {
+               return Revision::DELETED_RESTRICTED;
+       }
+
+       public function getLogAction() {
+               return 'event';
+       }
+
+       public function getLogParams( $params ) {
+               return array( implode( ',', $params['ids'] ), "ofield={$params['oldBits']}", "nfield={$params['newBits']}" );
+       }
+}
\ No newline at end of file
diff --git a/includes/revisiondelete/RevDelRevisionItem.php b/includes/revisiondelete/RevDelRevisionItem.php
new file mode 100644 (file)
index 0000000..2e953f1
--- /dev/null
@@ -0,0 +1,143 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * Item class for a live revision table row
+ */
+class RevDelRevisionItem extends RevDelItem {
+       /** @var Revision */
+       var $revision;
+
+       public function __construct( $list, $row ) {
+               parent::__construct( $list, $row );
+               $this->revision = new Revision( $row );
+       }
+
+       public function getIdField() {
+               return 'rev_id';
+       }
+
+       public function getTimestampField() {
+               return 'rev_timestamp';
+       }
+
+       public function getAuthorIdField() {
+               return 'rev_user';
+       }
+
+       public function getAuthorNameField() {
+               return 'rev_user_text';
+       }
+
+       public function canView() {
+               return $this->revision->userCan( Revision::DELETED_RESTRICTED, $this->list->getUser() );
+       }
+
+       public function canViewContent() {
+               return $this->revision->userCan( Revision::DELETED_TEXT, $this->list->getUser() );
+       }
+
+       public function getBits() {
+               return $this->revision->getVisibility();
+       }
+
+       public function setBits( $bits ) {
+               $dbw = wfGetDB( DB_MASTER );
+               // Update revision table
+               $dbw->update( 'revision', array( 'rev_deleted' => $bits ), array( 'rev_id' => $this->revision->getId(), 'rev_page' => $this->revision->getPage(), 'rev_deleted' => $this->getBits() ), __METHOD__ );
+               if ( !$dbw->affectedRows() ) {
+                       // Concurrent fail!
+                       return false;
+               }
+               // Update recentchanges table
+               $dbw->update( 'recentchanges', array( 'rc_deleted' => $bits, 'rc_patrolled' => 1 ), array( 'rc_this_oldid' => $this->revision->getId(), // condition
+                               // non-unique timestamp index
+                               'rc_timestamp' => $dbw->timestamp( $this->revision->getTimestamp() ), ), __METHOD__ );
+
+               return true;
+       }
+
+       public function isDeleted() {
+               return $this->revision->isDeleted( Revision::DELETED_TEXT );
+       }
+
+       public function isHideCurrentOp( $newBits ) {
+               return ( $newBits & Revision::DELETED_TEXT ) && $this->list->getCurrent() == $this->getId();
+       }
+
+       /**
+        * Get the HTML link to the revision text.
+        * Overridden by RevDelArchiveItem.
+        * @return string
+        */
+       protected function getRevisionLink() {
+               $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate( $this->revision->getTimestamp(), $this->list->getUser() ) );
+
+               if ( $this->isDeleted() && !$this->canViewContent() ) {
+                       return $date;
+               }
+
+               return Linker::linkKnown( $this->list->title, $date, array(), array( 'oldid' => $this->revision->getId(), 'unhide' => 1 ) );
+       }
+
+       /**
+        * Get the HTML link to the diff.
+        * Overridden by RevDelArchiveItem
+        * @return string
+        */
+       protected function getDiffLink() {
+               if ( $this->isDeleted() && !$this->canViewContent() ) {
+                       return $this->list->msg( 'diff' )->escaped();
+               } else {
+                       return Linker::linkKnown( $this->list->title, $this->list->msg( 'diff' )->escaped(), array(), array( 'diff' => $this->revision->getId(), 'oldid' => 'prev', 'unhide' => 1 ) );
+               }
+       }
+
+       public function getHTML() {
+               $difflink = $this->list->msg( 'parentheses' )
+                       ->rawParams( $this->getDiffLink() )->escaped();
+               $revlink = $this->getRevisionLink();
+               $userlink = Linker::revUserLink( $this->revision );
+               $comment = Linker::revComment( $this->revision );
+               if ( $this->isDeleted() ) {
+                       $revlink = "<span class=\"history-deleted\">$revlink</span>";
+               }
+
+               return "<li>$difflink $revlink $userlink $comment</li>";
+       }
+
+       public function getApiData( ApiResult $result ) {
+               $rev = $this->revision;
+               $user = $this->list->getUser();
+               $ret = array( 'id' => $rev->getId(), 'timestamp' => wfTimestamp( TS_ISO_8601, $rev->getTimestamp() ), );
+               $ret += $rev->isDeleted( Revision::DELETED_USER ) ? array( 'userhidden' => '' ) : array();
+               $ret += $rev->isDeleted( Revision::DELETED_COMMENT ) ? array( 'commenthidden' => '' ) : array();
+               $ret += $rev->isDeleted( Revision::DELETED_TEXT ) ? array( 'texthidden' => '' ) : array();
+               if ( $rev->userCan( Revision::DELETED_USER, $user ) ) {
+                       $ret += array( 'userid' => $rev->getUser( Revision::FOR_THIS_USER ), 'user' => $rev->getUserText( Revision::FOR_THIS_USER ), );
+               }
+               if ( $rev->userCan( Revision::DELETED_COMMENT, $user ) ) {
+                       $ret += array( 'comment' => $rev->getComment( Revision::FOR_THIS_USER ), );
+               }
+
+               return $ret;
+       }
+}
\ No newline at end of file
diff --git a/includes/revisiondelete/RevDelRevisionList.php b/includes/revisiondelete/RevDelRevisionList.php
new file mode 100644 (file)
index 0000000..6c47d4a
--- /dev/null
@@ -0,0 +1,143 @@
+<?php
+/**
+ * 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 RevisionDelete
+ */
+
+/**
+ * List for revision table items
+ *
+ * This will check both the 'revision' table for live revisions and the
+ * 'archive' table for traditionally-deleted revisions that have an
+ * ar_rev_id saved.
+ *
+ * See RevDelRevisionItem and RevDelArchivedRevisionItem for items.
+ */
+class RevDelRevisionList extends RevDelList {
+       /** @var int */
+       var $currentRevId;
+
+       public function getType() {
+               return 'revision';
+       }
+
+       public static function getRelationType() {
+               return 'rev_id';
+       }
+
+       public static function getRestriction() {
+               return 'deleterevision';
+       }
+
+       public static function getRevdelConstant() {
+               return Revision::DELETED_TEXT;
+       }
+
+       public static function suggestTarget( $target, array $ids ) {
+               $rev = Revision::newFromId( $ids[0] );
+               return $rev ? $rev->getTitle() : $target;
+       }
+
+       /**
+        * @param DatabaseBase $db
+        * @return mixed
+        */
+       public function doQuery( $db ) {
+               $ids = array_map( 'intval', $this->ids );
+               $live = $db->select(
+                       array( 'revision', 'page', 'user' ),
+                       array_merge( Revision::selectFields(), Revision::selectUserFields() ),
+                       array(
+                               'rev_page' => $this->title->getArticleID(),
+                               'rev_id' => $ids,
+                       ),
+                       __METHOD__,
+                       array( 'ORDER BY' => 'rev_id DESC' ),
+                       array(
+                               'page' => Revision::pageJoinCond(),
+                               'user' => Revision::userJoinCond() )
+               );
+
+               if ( $live->numRows() >= count( $ids ) ) {
+                       // All requested revisions are live, keeps things simple!
+                       return $live;
+               }
+
+               // Check if any requested revisions are available fully deleted.
+               $archived = $db->select( array( 'archive' ), Revision::selectArchiveFields(),
+                       array(
+                               'ar_rev_id' => $ids
+                       ),
+                       __METHOD__,
+                       array( 'ORDER BY' => 'ar_rev_id DESC' )
+               );
+
+               if ( $archived->numRows() == 0 ) {
+                       return $live;
+               } elseif ( $live->numRows() == 0 ) {
+                       return $archived;
+               } else {
+                       // Combine the two! Whee
+                       $rows = array();
+                       foreach ( $live as $row ) {
+                               $rows[$row->rev_id] = $row;
+                       }
+                       foreach ( $archived as $row ) {
+                               $rows[$row->ar_rev_id] = $row;
+                       }
+                       krsort( $rows );
+                       return new FakeResultWrapper( array_values( $rows ) );
+               }
+       }
+
+       public function newItem( $row ) {
+               if ( isset( $row->rev_id ) ) {
+                       return new RevDelRevisionItem( $this, $row );
+               } elseif ( isset( $row->ar_rev_id ) ) {
+                       return new RevDelArchivedRevisionItem( $this, $row );
+               } else {
+                       // This shouldn't happen. :)
+                       throw new MWException( 'Invalid row type in RevDelRevisionList' );
+               }
+       }
+
+       public function getCurrent() {
+               if ( is_null( $this->currentRevId ) ) {
+                       $dbw = wfGetDB( DB_MASTER );
+                       $this->currentRevId = $dbw->selectField(
+                               'page', 'page_latest', $this->title->pageCond(), __METHOD__ );
+               }
+               return $this->currentRevId;
+       }
+
+       public function getSuppressBit() {
+               return Revision::DELETED_RESTRICTED;
+       }
+
+       public function doPreCommitUpdates() {
+               $this->title->invalidateCache();
+               return Status::newGood();
+       }
+
+       public function doPostCommitUpdates() {
+               $this->title->purgeSquid();
+               // Extensions that require referencing previous revisions may need this
+               wfRunHooks( 'ArticleRevisionVisibilitySet', array( &$this->title ) );
+               return Status::newGood();
+       }
+}
diff --git a/includes/revisiondelete/RevisionDelete.php b/includes/revisiondelete/RevisionDelete.php
deleted file mode 100644 (file)
index 8a08fd1..0000000
+++ /dev/null
@@ -1,1137 +0,0 @@
-<?php
-/**
- * Base implementations for deletable items.
- *
- * 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 RevisionDelete
- */
-
-/**
- * List for revision table items
- *
- * This will check both the 'revision' table for live revisions and the
- * 'archive' table for traditionally-deleted revisions that have an
- * ar_rev_id saved.
- *
- * See RevDelRevisionItem and RevDelArchivedRevisionItem for items.
- */
-class RevDelRevisionList extends RevDelList {
-       /** @var int */
-       var $currentRevId;
-
-       public function getType() {
-               return 'revision';
-       }
-
-       public static function getRelationType() {
-               return 'rev_id';
-       }
-
-       public static function getRestriction() {
-               return 'deleterevision';
-       }
-
-       public static function getRevdelConstant() {
-               return Revision::DELETED_TEXT;
-       }
-
-       public static function suggestTarget( $target, array $ids ) {
-               $rev = Revision::newFromId( $ids[0] );
-               return $rev ? $rev->getTitle() : $target;
-       }
-
-       /**
-        * @param DatabaseBase $db
-        * @return mixed
-        */
-       public function doQuery( $db ) {
-               $ids = array_map( 'intval', $this->ids );
-               $live = $db->select(
-                       array( 'revision', 'page', 'user' ),
-                       array_merge( Revision::selectFields(), Revision::selectUserFields() ),
-                       array(
-                               'rev_page' => $this->title->getArticleID(),
-                               'rev_id' => $ids,
-                       ),
-                       __METHOD__,
-                       array( 'ORDER BY' => 'rev_id DESC' ),
-                       array(
-                               'page' => Revision::pageJoinCond(),
-                               'user' => Revision::userJoinCond() )
-               );
-
-               if ( $live->numRows() >= count( $ids ) ) {
-                       // All requested revisions are live, keeps things simple!
-                       return $live;
-               }
-
-               // Check if any requested revisions are available fully deleted.
-               $archived = $db->select( array( 'archive' ), Revision::selectArchiveFields(),
-                       array(
-                               'ar_rev_id' => $ids
-                       ),
-                       __METHOD__,
-                       array( 'ORDER BY' => 'ar_rev_id DESC' )
-               );
-
-               if ( $archived->numRows() == 0 ) {
-                       return $live;
-               } elseif ( $live->numRows() == 0 ) {
-                       return $archived;
-               } else {
-                       // Combine the two! Whee
-                       $rows = array();
-                       foreach ( $live as $row ) {
-                               $rows[$row->rev_id] = $row;
-                       }
-                       foreach ( $archived as $row ) {
-                               $rows[$row->ar_rev_id] = $row;
-                       }
-                       krsort( $rows );
-                       return new FakeResultWrapper( array_values( $rows ) );
-               }
-       }
-
-       public function newItem( $row ) {
-               if ( isset( $row->rev_id ) ) {
-                       return new RevDelRevisionItem( $this, $row );
-               } elseif ( isset( $row->ar_rev_id ) ) {
-                       return new RevDelArchivedRevisionItem( $this, $row );
-               } else {
-                       // This shouldn't happen. :)
-                       throw new MWException( 'Invalid row type in RevDelRevisionList' );
-               }
-       }
-
-       public function getCurrent() {
-               if ( is_null( $this->currentRevId ) ) {
-                       $dbw = wfGetDB( DB_MASTER );
-                       $this->currentRevId = $dbw->selectField(
-                               'page', 'page_latest', $this->title->pageCond(), __METHOD__ );
-               }
-               return $this->currentRevId;
-       }
-
-       public function getSuppressBit() {
-               return Revision::DELETED_RESTRICTED;
-       }
-
-       public function doPreCommitUpdates() {
-               $this->title->invalidateCache();
-               return Status::newGood();
-       }
-
-       public function doPostCommitUpdates() {
-               $this->title->purgeSquid();
-               // Extensions that require referencing previous revisions may need this
-               wfRunHooks( 'ArticleRevisionVisibilitySet', array( &$this->title ) );
-               return Status::newGood();
-       }
-}
-
-/**
- * Item class for a live revision table row
- */
-class RevDelRevisionItem extends RevDelItem {
-       /** @var Revision */
-       var $revision;
-
-       public function __construct( $list, $row ) {
-               parent::__construct( $list, $row );
-               $this->revision = new Revision( $row );
-       }
-
-       public function getIdField() {
-               return 'rev_id';
-       }
-
-       public function getTimestampField() {
-               return 'rev_timestamp';
-       }
-
-       public function getAuthorIdField() {
-               return 'rev_user';
-       }
-
-       public function getAuthorNameField() {
-               return 'rev_user_text';
-       }
-
-       public function canView() {
-               return $this->revision->userCan( Revision::DELETED_RESTRICTED, $this->list->getUser() );
-       }
-
-       public function canViewContent() {
-               return $this->revision->userCan( Revision::DELETED_TEXT, $this->list->getUser() );
-       }
-
-       public function getBits() {
-               return $this->revision->getVisibility();
-       }
-
-       public function setBits( $bits ) {
-               $dbw = wfGetDB( DB_MASTER );
-               // Update revision table
-               $dbw->update( 'revision',
-                       array( 'rev_deleted' => $bits ),
-                       array(
-                               'rev_id' => $this->revision->getId(),
-                               'rev_page' => $this->revision->getPage(),
-                               'rev_deleted' => $this->getBits()
-                       ),
-                       __METHOD__
-               );
-               if ( !$dbw->affectedRows() ) {
-                       // Concurrent fail!
-                       return false;
-               }
-               // Update recentchanges table
-               $dbw->update( 'recentchanges',
-                       array(
-                               'rc_deleted' => $bits,
-                               'rc_patrolled' => 1
-                       ),
-                       array(
-                               'rc_this_oldid' => $this->revision->getId(), // condition
-                               // non-unique timestamp index
-                               'rc_timestamp' => $dbw->timestamp( $this->revision->getTimestamp() ),
-                       ),
-                       __METHOD__
-               );
-               return true;
-       }
-
-       public function isDeleted() {
-               return $this->revision->isDeleted( Revision::DELETED_TEXT );
-       }
-
-       public function isHideCurrentOp( $newBits ) {
-               return ( $newBits & Revision::DELETED_TEXT )
-                       && $this->list->getCurrent() == $this->getId();
-       }
-
-       /**
-        * Get the HTML link to the revision text.
-        * Overridden by RevDelArchiveItem.
-        * @return string
-        */
-       protected function getRevisionLink() {
-               $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
-                       $this->revision->getTimestamp(), $this->list->getUser() ) );
-
-               if ( $this->isDeleted() && !$this->canViewContent() ) {
-                       return $date;
-               }
-               return Linker::linkKnown(
-                       $this->list->title,
-                       $date,
-                       array(),
-                       array(
-                               'oldid' => $this->revision->getId(),
-                               'unhide' => 1
-                       )
-               );
-       }
-
-       /**
-        * Get the HTML link to the diff.
-        * Overridden by RevDelArchiveItem
-        * @return string
-        */
-       protected function getDiffLink() {
-               if ( $this->isDeleted() && !$this->canViewContent() ) {
-                       return $this->list->msg( 'diff' )->escaped();
-               } else {
-                       return Linker::linkKnown(
-                                       $this->list->title,
-                                       $this->list->msg( 'diff' )->escaped(),
-                                       array(),
-                                       array(
-                                               'diff' => $this->revision->getId(),
-                                               'oldid' => 'prev',
-                                               'unhide' => 1
-                                       )
-                               );
-               }
-       }
-
-       public function getHTML() {
-               $difflink = $this->list->msg( 'parentheses' )
-                       ->rawParams( $this->getDiffLink() )->escaped();
-               $revlink = $this->getRevisionLink();
-               $userlink = Linker::revUserLink( $this->revision );
-               $comment = Linker::revComment( $this->revision );
-               if ( $this->isDeleted() ) {
-                       $revlink = "<span class=\"history-deleted\">$revlink</span>";
-               }
-               return "<li>$difflink $revlink $userlink $comment</li>";
-       }
-
-       public function getApiData( ApiResult $result ) {
-               $rev = $this->revision;
-               $user = $this->list->getUser();
-               $ret = array(
-                       'id' => $rev->getId(),
-                       'timestamp' => wfTimestamp( TS_ISO_8601, $rev->getTimestamp() ),
-               );
-               $ret += $rev->isDeleted( Revision::DELETED_USER ) ? array( 'userhidden' => '' ) : array();
-               $ret += $rev->isDeleted( Revision::DELETED_COMMENT ) ? array( 'commenthidden' => '' ) : array();
-               $ret += $rev->isDeleted( Revision::DELETED_TEXT ) ? array( 'texthidden' => '' ) : array();
-               if ( $rev->userCan( Revision::DELETED_USER, $user ) ) {
-                       $ret += array(
-                               'userid' => $rev->getUser( Revision::FOR_THIS_USER ),
-                               'user' => $rev->getUserText( Revision::FOR_THIS_USER ),
-                       );
-               }
-               if ( $rev->userCan( Revision::DELETED_COMMENT, $user ) ) {
-                       $ret += array(
-                               'comment' => $rev->getComment( Revision::FOR_THIS_USER ),
-                       );
-               }
-               return $ret;
-       }
-}
-
-/**
- * List for archive table items, i.e. revisions deleted via action=delete
- */
-class RevDelArchiveList extends RevDelRevisionList {
-       public function getType() {
-               return 'archive';
-       }
-
-       public static function getRelationType() {
-               return 'ar_timestamp';
-       }
-
-       /**
-        * @param DatabaseBase $db
-        * @return mixed
-        */
-       public function doQuery( $db ) {
-               $timestamps = array();
-               foreach ( $this->ids as $id ) {
-                       $timestamps[] = $db->timestamp( $id );
-               }
-               return $db->select( 'archive', Revision::selectArchiveFields(),
-                               array(
-                                       'ar_namespace' => $this->title->getNamespace(),
-                                       'ar_title' => $this->title->getDBkey(),
-                                       'ar_timestamp' => $timestamps
-                               ),
-                               __METHOD__,
-                               array( 'ORDER BY' => 'ar_timestamp DESC' )
-                       );
-       }
-
-       public function newItem( $row ) {
-               return new RevDelArchiveItem( $this, $row );
-       }
-
-       public function doPreCommitUpdates() {
-               return Status::newGood();
-       }
-
-       public function doPostCommitUpdates() {
-               return Status::newGood();
-       }
-}
-
-/**
- * Item class for a archive table row
- */
-class RevDelArchiveItem extends RevDelRevisionItem {
-       public function __construct( $list, $row ) {
-               RevDelItem::__construct( $list, $row );
-               $this->revision = Revision::newFromArchiveRow( $row,
-                       array( 'page' => $this->list->title->getArticleID() ) );
-       }
-
-       public function getIdField() {
-               return 'ar_timestamp';
-       }
-
-       public function getTimestampField() {
-               return 'ar_timestamp';
-       }
-
-       public function getAuthorIdField() {
-               return 'ar_user';
-       }
-
-       public function getAuthorNameField() {
-               return 'ar_user_text';
-       }
-
-       public function getId() {
-               # Convert DB timestamp to MW timestamp
-               return $this->revision->getTimestamp();
-       }
-
-       public function setBits( $bits ) {
-               $dbw = wfGetDB( DB_MASTER );
-               $dbw->update( 'archive',
-                       array( 'ar_deleted' => $bits ),
-                       array(
-                               'ar_namespace' => $this->list->title->getNamespace(),
-                               'ar_title' => $this->list->title->getDBkey(),
-                               // use timestamp for index
-                               'ar_timestamp' => $this->row->ar_timestamp,
-                               'ar_rev_id' => $this->row->ar_rev_id,
-                               'ar_deleted' => $this->getBits()
-                       ),
-                       __METHOD__ );
-               return (bool)$dbw->affectedRows();
-       }
-
-       protected function getRevisionLink() {
-               $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
-                       $this->revision->getTimestamp(), $this->list->getUser() ) );
-
-               if ( $this->isDeleted() && !$this->canViewContent() ) {
-                       return $date;
-               }
-
-               return Linker::link(
-                       SpecialPage::getTitleFor( 'Undelete' ),
-                       $date,
-                       array(),
-                       array(
-                               'target' => $this->list->title->getPrefixedText(),
-                               'timestamp' => $this->revision->getTimestamp()
-                       )
-               );
-       }
-
-       protected function getDiffLink() {
-               if ( $this->isDeleted() && !$this->canViewContent() ) {
-                       return $this->list->msg( 'diff' )->escaped();
-               }
-
-               return Linker::link(
-                       SpecialPage::getTitleFor( 'Undelete' ),
-                       $this->list->msg( 'diff' )->escaped(),
-                       array(),
-                       array(
-                               'target' => $this->list->title->getPrefixedText(),
-                               'diff' => 'prev',
-                               'timestamp' => $this->revision->getTimestamp()
-                       )
-               );
-       }
-}
-
-/**
- * Item class for a archive table row by ar_rev_id -- actually
- * used via RevDelRevisionList.
- */
-class RevDelArchivedRevisionItem extends RevDelArchiveItem {
-       public function __construct( $list, $row ) {
-               RevDelItem::__construct( $list, $row );
-
-               $this->revision = Revision::newFromArchiveRow( $row,
-                       array( 'page' => $this->list->title->getArticleID() ) );
-       }
-
-       public function getIdField() {
-               return 'ar_rev_id';
-       }
-
-       public function getId() {
-               return $this->revision->getId();
-       }
-
-       public function setBits( $bits ) {
-               $dbw = wfGetDB( DB_MASTER );
-               $dbw->update( 'archive',
-                       array( 'ar_deleted' => $bits ),
-                       array( 'ar_rev_id' => $this->row->ar_rev_id,
-                               'ar_deleted' => $this->getBits()
-                       ),
-                       __METHOD__ );
-               return (bool)$dbw->affectedRows();
-       }
-}
-
-/**
- * List for oldimage table items
- */
-class RevDelFileList extends RevDelList {
-       /** @var array */
-       var $storeBatch;
-
-       /** @var array */
-       var $deleteBatch;
-
-       /** @var array */
-       var $cleanupBatch;
-
-       public function getType() {
-               return 'oldimage';
-       }
-
-       public static function getRelationType() {
-               return 'oi_archive_name';
-       }
-
-       public static function getRestriction() {
-               return 'deleterevision';
-       }
-
-       public static function getRevdelConstant() {
-               return File::DELETED_FILE;
-       }
-
-       /**
-        * @param DatabaseBase $db
-        * @return mixed
-        */
-       public function doQuery( $db ) {
-               $archiveNames = array();
-               foreach ( $this->ids as $timestamp ) {
-                       $archiveNames[] = $timestamp . '!' . $this->title->getDBkey();
-               }
-               return $db->select(
-                       'oldimage',
-                       OldLocalFile::selectFields(),
-                       array(
-                               'oi_name' => $this->title->getDBkey(),
-                               'oi_archive_name' => $archiveNames
-                       ),
-                       __METHOD__,
-                       array( 'ORDER BY' => 'oi_timestamp DESC' )
-               );
-       }
-
-       public function newItem( $row ) {
-               return new RevDelFileItem( $this, $row );
-       }
-
-       public function clearFileOps() {
-               $this->deleteBatch = array();
-               $this->storeBatch = array();
-               $this->cleanupBatch = array();
-       }
-
-       public function doPreCommitUpdates() {
-               $status = Status::newGood();
-               $repo = RepoGroup::singleton()->getLocalRepo();
-               if ( $this->storeBatch ) {
-                       $status->merge( $repo->storeBatch( $this->storeBatch, FileRepo::OVERWRITE_SAME ) );
-               }
-               if ( !$status->isOK() ) {
-                       return $status;
-               }
-               if ( $this->deleteBatch ) {
-                       $status->merge( $repo->deleteBatch( $this->deleteBatch ) );
-               }
-               if ( !$status->isOK() ) {
-                       // Running cleanupDeletedBatch() after a failed storeBatch() with the DB already
-                       // modified (but destined for rollback) causes data loss
-                       return $status;
-               }
-               if ( $this->cleanupBatch ) {
-                       $status->merge( $repo->cleanupDeletedBatch( $this->cleanupBatch ) );
-               }
-               return $status;
-       }
-
-       public function doPostCommitUpdates() {
-               global $wgUseSquid;
-               $file = wfLocalFile( $this->title );
-               $file->purgeCache();
-               $file->purgeDescription();
-               $purgeUrls = array();
-               foreach ( $this->ids as $timestamp ) {
-                       $archiveName = $timestamp . '!' . $this->title->getDBkey();
-                       $file->purgeOldThumbnails( $archiveName );
-                       $purgeUrls[] = $file->getArchiveUrl( $archiveName );
-               }
-               if ( $wgUseSquid ) {
-                       // purge full images from cache
-                       SquidUpdate::purge( $purgeUrls );
-               }
-               return Status::newGood();
-       }
-
-       public function getSuppressBit() {
-               return File::DELETED_RESTRICTED;
-       }
-}
-
-/**
- * Item class for an oldimage table row
- */
-class RevDelFileItem extends RevDelItem {
-       /** @var File */
-       var $file;
-
-       public function __construct( $list, $row ) {
-               parent::__construct( $list, $row );
-               $this->file = RepoGroup::singleton()->getLocalRepo()->newFileFromRow( $row );
-       }
-
-       public function getIdField() {
-               return 'oi_archive_name';
-       }
-
-       public function getTimestampField() {
-               return 'oi_timestamp';
-       }
-
-       public function getAuthorIdField() {
-               return 'oi_user';
-       }
-
-       public function getAuthorNameField() {
-               return 'oi_user_text';
-       }
-
-       public function getId() {
-               $parts = explode( '!', $this->row->oi_archive_name );
-               return $parts[0];
-       }
-
-       public function canView() {
-               return $this->file->userCan( File::DELETED_RESTRICTED, $this->list->getUser() );
-       }
-
-       public function canViewContent() {
-               return $this->file->userCan( File::DELETED_FILE, $this->list->getUser() );
-       }
-
-       public function getBits() {
-               return $this->file->getVisibility();
-       }
-
-       public function setBits( $bits ) {
-               # Queue the file op
-               # @todo FIXME: Move to LocalFile.php
-               if ( $this->isDeleted() ) {
-                       if ( $bits & File::DELETED_FILE ) {
-                               # Still deleted
-                       } else {
-                               # Newly undeleted
-                               $key = $this->file->getStorageKey();
-                               $srcRel = $this->file->repo->getDeletedHashPath( $key ) . $key;
-                               $this->list->storeBatch[] = array(
-                                       $this->file->repo->getVirtualUrl( 'deleted' ) . '/' . $srcRel,
-                                       'public',
-                                       $this->file->getRel()
-                               );
-                               $this->list->cleanupBatch[] = $key;
-                       }
-               } elseif ( $bits & File::DELETED_FILE ) {
-                       # Newly deleted
-                       $key = $this->file->getStorageKey();
-                       $dstRel = $this->file->repo->getDeletedHashPath( $key ) . $key;
-                       $this->list->deleteBatch[] = array( $this->file->getRel(), $dstRel );
-               }
-
-               # Do the database operations
-               $dbw = wfGetDB( DB_MASTER );
-               $dbw->update( 'oldimage',
-                       array( 'oi_deleted' => $bits ),
-                       array(
-                               'oi_name' => $this->row->oi_name,
-                               'oi_timestamp' => $this->row->oi_timestamp,
-                               'oi_deleted' => $this->getBits()
-                       ),
-                       __METHOD__
-               );
-               return (bool)$dbw->affectedRows();
-       }
-
-       public function isDeleted() {
-               return $this->file->isDeleted( File::DELETED_FILE );
-       }
-
-       /**
-        * Get the link to the file.
-        * Overridden by RevDelArchivedFileItem.
-        * @return string
-        */
-       protected function getLink() {
-               $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
-                       $this->file->getTimestamp(), $this->list->getUser() ) );
-
-               if ( !$this->isDeleted() ) {
-                       # Regular files...
-                       return Html::rawElement( 'a', array( 'href' => $this->file->getUrl() ), $date );
-               }
-
-               # Hidden files...
-               if ( !$this->canViewContent() ) {
-                       $link = $date;
-               } else {
-                       $link = Linker::link(
-                               SpecialPage::getTitleFor( 'Revisiondelete' ),
-                               $date,
-                               array(),
-                               array(
-                                       'target' => $this->list->title->getPrefixedText(),
-                                       'file' => $this->file->getArchiveName(),
-                                       'token' => $this->list->getUser()->getEditToken(
-                                               $this->file->getArchiveName() )
-                               )
-                       );
-               }
-               return '<span class="history-deleted">' . $link . '</span>';
-       }
-
-       /**
-        * Generate a user tool link cluster if the current user is allowed to view it
-        * @return string HTML
-        */
-       protected function getUserTools() {
-               if ( $this->file->userCan( Revision::DELETED_USER, $this->list->getUser() ) ) {
-                       $uid = $this->file->getUser( 'id' );
-                       $name = $this->file->getUser( 'text' );
-                       $link = Linker::userLink( $uid, $name ) . Linker::userToolLinks( $uid, $name );
-               } else {
-                       $link = $this->list->msg( 'rev-deleted-user' )->escaped();
-               }
-               if ( $this->file->isDeleted( Revision::DELETED_USER ) ) {
-                       return '<span class="history-deleted">' . $link . '</span>';
-               }
-               return $link;
-       }
-
-       /**
-        * Wrap and format the file's comment block, if the current
-        * user is allowed to view it.
-        *
-        * @return string HTML
-        */
-       protected function getComment() {
-               if ( $this->file->userCan( File::DELETED_COMMENT, $this->list->getUser() ) ) {
-                       $block = Linker::commentBlock( $this->file->getDescription() );
-               } else {
-                       $block = ' ' . $this->list->msg( 'rev-deleted-comment' )->escaped();
-               }
-               if ( $this->file->isDeleted( File::DELETED_COMMENT ) ) {
-                       return "<span class=\"history-deleted\">$block</span>";
-               }
-               return $block;
-       }
-
-       public function getHTML() {
-               $data =
-                       $this->list->msg( 'widthheight' )->numParams(
-                               $this->file->getWidth(), $this->file->getHeight() )->text() .
-                       ' (' . $this->list->msg( 'nbytes' )->numParams( $this->file->getSize() )->text() . ')';
-
-               return '<li>' . $this->getLink() . ' ' . $this->getUserTools() . ' ' .
-                       $data . ' ' . $this->getComment() . '</li>';
-       }
-
-       public function getApiData( ApiResult $result ) {
-               $file = $this->file;
-               $user = $this->list->getUser();
-               $ret = array(
-                       'title' => $this->list->title->getPrefixedText(),
-                       'archivename' => $file->getArchiveName(),
-                       'timestamp' => wfTimestamp( TS_ISO_8601, $file->getTimestamp() ),
-                       'width' => $file->getWidth(),
-                       'height' => $file->getHeight(),
-                       'size' => $file->getSize(),
-               );
-               $ret += $file->isDeleted( Revision::DELETED_USER ) ? array( 'userhidden' => '' ) : array();
-               $ret += $file->isDeleted( Revision::DELETED_COMMENT ) ? array( 'commenthidden' => '' ) : array();
-               $ret += $this->isDeleted() ? array( 'contenthidden' => '' ) : array();
-               if ( !$this->isDeleted() ) {
-                       $ret += array(
-                               'url' => $file->getUrl(),
-                       );
-               } elseif ( $this->canViewContent() ) {
-                       $ret += array(
-                               'url' => SpecialPage::getTitleFor( 'Revisiondelete' )->getLinkURL(
-                                       array(
-                                               'target' => $this->list->title->getPrefixedText(),
-                                               'file' => $file->getArchiveName(),
-                                               'token' => $user->getEditToken( $file->getArchiveName() )
-                                       ),
-                                       false, PROTO_RELATIVE
-                               ),
-                       );
-               }
-               if ( $file->userCan( Revision::DELETED_USER, $user ) ) {
-                       $ret += array(
-                               'userid' => $file->user,
-                               'user' => $file->user_text,
-                       );
-               }
-               if ( $file->userCan( Revision::DELETED_COMMENT, $user ) ) {
-                       $ret += array(
-                               'comment' => $file->description,
-                       );
-               }
-               return $ret;
-       }
-}
-
-/**
- * List for filearchive table items
- */
-class RevDelArchivedFileList extends RevDelFileList {
-       public function getType() {
-               return 'filearchive';
-       }
-
-       public static function getRelationType() {
-               return 'fa_id';
-       }
-
-       /**
-        * @param DatabaseBase $db
-        * @return mixed
-        */
-       public function doQuery( $db ) {
-               $ids = array_map( 'intval', $this->ids );
-               return $db->select(
-                       'filearchive',
-                       ArchivedFile::selectFields(),
-                       array(
-                               'fa_name' => $this->title->getDBkey(),
-                               'fa_id' => $ids
-                       ),
-                       __METHOD__,
-                       array( 'ORDER BY' => 'fa_id DESC' )
-               );
-       }
-
-       public function newItem( $row ) {
-               return new RevDelArchivedFileItem( $this, $row );
-       }
-}
-
-/**
- * Item class for a filearchive table row
- */
-class RevDelArchivedFileItem extends RevDelFileItem {
-       public function __construct( $list, $row ) {
-               RevDelItem::__construct( $list, $row );
-               $this->file = ArchivedFile::newFromRow( $row );
-       }
-
-       public function getIdField() {
-               return 'fa_id';
-       }
-
-       public function getTimestampField() {
-               return 'fa_timestamp';
-       }
-
-       public function getAuthorIdField() {
-               return 'fa_user';
-       }
-
-       public function getAuthorNameField() {
-               return 'fa_user_text';
-       }
-
-       public function getId() {
-               return $this->row->fa_id;
-       }
-
-       public function setBits( $bits ) {
-               $dbw = wfGetDB( DB_MASTER );
-               $dbw->update( 'filearchive',
-                       array( 'fa_deleted' => $bits ),
-                       array(
-                               'fa_id' => $this->row->fa_id,
-                               'fa_deleted' => $this->getBits(),
-                       ),
-                       __METHOD__
-               );
-               return (bool)$dbw->affectedRows();
-       }
-
-       protected function getLink() {
-               $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
-                       $this->file->getTimestamp(), $this->list->getUser() ) );
-
-               # Hidden files...
-               if ( !$this->canViewContent() ) {
-                       $link = $date;
-               } else {
-                       $undelete = SpecialPage::getTitleFor( 'Undelete' );
-                       $key = $this->file->getKey();
-                       $link = Linker::link( $undelete, $date, array(),
-                               array(
-                                       'target' => $this->list->title->getPrefixedText(),
-                                       'file' => $key,
-                                       'token' => $this->list->getUser()->getEditToken( $key )
-                               )
-                       );
-               }
-               if ( $this->isDeleted() ) {
-                       $link = '<span class="history-deleted">' . $link . '</span>';
-               }
-               return $link;
-       }
-
-       public function getApiData( ApiResult $result ) {
-               $file = $this->file;
-               $user = $this->list->getUser();
-               $ret = array(
-                       'title' => $this->list->title->getPrefixedText(),
-                       'timestamp' => wfTimestamp( TS_ISO_8601, $file->getTimestamp() ),
-                       'width' => $file->getWidth(),
-                       'height' => $file->getHeight(),
-                       'size' => $file->getSize(),
-               );
-               $ret += $file->isDeleted( Revision::DELETED_USER ) ? array( 'userhidden' => '' ) : array();
-               $ret += $file->isDeleted( Revision::DELETED_COMMENT ) ? array( 'commenthidden' => '' ) : array();
-               $ret += $this->isDeleted() ? array( 'contenthidden' => '' ) : array();
-               if ( $this->canViewContent() ) {
-                       $ret += array(
-                               'url' => SpecialPage::getTitleFor( 'Revisiondelete' )->getLinkURL(
-                                       array(
-                                               'target' => $this->list->title->getPrefixedText(),
-                                               'file' => $file->getKey(),
-                                               'token' => $user->getEditToken( $file->getKey() )
-                                       ),
-                                       false, PROTO_RELATIVE
-                               ),
-                       );
-               }
-               if ( $file->userCan( Revision::DELETED_USER, $user ) ) {
-                       $ret += array(
-                               'userid' => $file->getUser( 'id' ),
-                               'user' => $file->getUser( 'text' ),
-                       );
-               }
-               if ( $file->userCan( Revision::DELETED_COMMENT, $user ) ) {
-                       $ret += array(
-                               'comment' => $file->getRawDescription(),
-                       );
-               }
-               return $ret;
-       }
-}
-
-/**
- * List for logging table items
- */
-class RevDelLogList extends RevDelList {
-       public function getType() {
-               return 'logging';
-       }
-
-       public static function getRelationType() {
-               return 'log_id';
-       }
-
-       public static function getRestriction() {
-               return 'deletelogentry';
-       }
-
-       public static function getRevdelConstant() {
-               return LogPage::DELETED_ACTION;
-       }
-
-       public static function suggestTarget( $target, array $ids ) {
-               $result = wfGetDB( DB_SLAVE )->select( 'logging',
-                       'log_type',
-                       array( 'log_id' => $ids ),
-                       __METHOD__,
-                       array( 'DISTINCT' )
-               );
-               if ( $result->numRows() == 1 ) {
-                       // If there's only one type, the target can be set to include it.
-                       return SpecialPage::getTitleFor( 'Log', $result->current()->log_type );
-               }
-               return SpecialPage::getTitleFor( 'Log' );
-       }
-
-       /**
-        * @param DatabaseBase $db
-        * @return mixed
-        */
-       public function doQuery( $db ) {
-               $ids = array_map( 'intval', $this->ids );
-               return $db->select( 'logging', array(
-                               'log_id',
-                               'log_type',
-                               'log_action',
-                               'log_timestamp',
-                               'log_user',
-                               'log_user_text',
-                               'log_namespace',
-                               'log_title',
-                               'log_page',
-                               'log_comment',
-                               'log_params',
-                               'log_deleted'
-                       ),
-                       array( 'log_id' => $ids ),
-                       __METHOD__,
-                       array( 'ORDER BY' => 'log_id DESC' )
-               );
-       }
-
-       public function newItem( $row ) {
-               return new RevDelLogItem( $this, $row );
-       }
-
-       public function getSuppressBit() {
-               return Revision::DELETED_RESTRICTED;
-       }
-
-       public function getLogAction() {
-               return 'event';
-       }
-
-       public function getLogParams( $params ) {
-               return array(
-                       implode( ',', $params['ids'] ),
-                       "ofield={$params['oldBits']}",
-                       "nfield={$params['newBits']}"
-               );
-       }
-}
-
-/**
- * Item class for a logging table row
- */
-class RevDelLogItem extends RevDelItem {
-       public function getIdField() {
-               return 'log_id';
-       }
-
-       public function getTimestampField() {
-               return 'log_timestamp';
-       }
-
-       public function getAuthorIdField() {
-               return 'log_user';
-       }
-
-       public function getAuthorNameField() {
-               return 'log_user_text';
-       }
-
-       public function canView() {
-               return LogEventsList::userCan( $this->row, Revision::DELETED_RESTRICTED, $this->list->getUser() );
-       }
-
-       public function canViewContent() {
-               return true; // none
-       }
-
-       public function getBits() {
-               return $this->row->log_deleted;
-       }
-
-       public function setBits( $bits ) {
-               $dbw = wfGetDB( DB_MASTER );
-               $dbw->update( 'recentchanges',
-                       array(
-                               'rc_deleted' => $bits,
-                               'rc_patrolled' => 1
-                       ),
-                       array(
-                               'rc_logid' => $this->row->log_id,
-                               'rc_timestamp' => $this->row->log_timestamp // index
-                       ),
-                       __METHOD__
-               );
-               $dbw->update( 'logging',
-                       array( 'log_deleted' => $bits ),
-                       array(
-                               'log_id' => $this->row->log_id,
-                               'log_deleted' => $this->getBits()
-                       ),
-                       __METHOD__
-               );
-               return (bool)$dbw->affectedRows();
-       }
-
-       public function getHTML() {
-               $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
-                       $this->row->log_timestamp, $this->list->getUser() ) );
-               $title = Title::makeTitle( $this->row->log_namespace, $this->row->log_title );
-               $formatter = LogFormatter::newFromRow( $this->row );
-               $formatter->setContext( $this->list->getContext() );
-               $formatter->setAudience( LogFormatter::FOR_THIS_USER );
-
-               // Log link for this page
-               $loglink = Linker::link(
-                       SpecialPage::getTitleFor( 'Log' ),
-                       $this->list->msg( 'log' )->escaped(),
-                       array(),
-                       array( 'page' => $title->getPrefixedText() )
-               );
-               $loglink = $this->list->msg( 'parentheses' )->rawParams( $loglink )->escaped();
-               // User links and action text
-               $action = $formatter->getActionText();
-               // Comment
-               $comment = $this->list->getLanguage()->getDirMark()
-                       . Linker::commentBlock( $this->row->log_comment );
-
-               if ( LogEventsList::isDeleted( $this->row, LogPage::DELETED_COMMENT ) ) {
-                       $comment = '<span class="history-deleted">' . $comment . '</span>';
-               }
-
-               return "<li>$loglink $date $action $comment</li>";
-       }
-
-       public function getApiData( ApiResult $result ) {
-               $logEntry = DatabaseLogEntry::newFromRow( $this->row );
-               $user = $this->list->getUser();
-               $ret = array(
-                       'id' => $logEntry->getId(),
-                       'type' => $logEntry->getType(),
-                       'action' => $logEntry->getSubtype(),
-               );
-               $ret += $logEntry->isDeleted( LogPage::DELETED_USER )
-                       ? array( 'userhidden' => '' )
-                       : array();
-               $ret += $logEntry->isDeleted( LogPage::DELETED_COMMENT )
-                       ? array( 'commenthidden' => '' )
-                       : array();
-               $ret += $logEntry->isDeleted( LogPage::DELETED_ACTION )
-                       ? array( 'actionhidden' => '' )
-                       : array();
-
-               if ( LogEventsList::userCan( $this->row, LogPage::DELETED_ACTION, $user ) ) {
-                       ApiQueryLogEvents::addLogParams(
-                               $result,
-                               $ret,
-                               $logEntry->getParameters(),
-                               $logEntry->getType(),
-                               $logEntry->getSubtype(),
-                               $logEntry->getTimestamp(),
-                               $logEntry->isLegacy()
-                       );
-               }
-               if ( LogEventsList::userCan( $this->row, LogPage::DELETED_USER, $user ) ) {
-                       $ret += array(
-                               'userid' => $this->row->log_user,
-                               'user' => $this->row->log_user_text,
-                       );
-               }
-               if ( LogEventsList::userCan( $this->row, LogPage::DELETED_COMMENT, $user ) ) {
-                       $ret += array(
-                               'comment' => $this->row->log_comment,
-                       );
-               }
-               return $ret;
-       }
-}
index 43fb016..914bc1c 100644 (file)
@@ -35,14 +35,14 @@ class SearchPostgres extends SearchDatabase {
         * latest revision article text (pagecontent.old_text)
         *
         * @param string $term Raw search term
-        * @return PostgresSearchResultSet
+        * @return SqlSearchResultSet
         */
        function searchTitle( $term ) {
                $q = $this->searchQuery( $term, 'titlevector', 'page_title' );
                $olderror = error_reporting( E_ERROR );
                $resultSet = $this->db->resultObject( $this->db->query( $q, 'SearchPostgres', true ) );
                error_reporting( $olderror );
-               return new PostgresSearchResultSet( $resultSet, $this->searchTerms );
+               return new SqlSearchResultSet( $resultSet, $this->searchTerms );
        }
 
        function searchText( $term ) {
@@ -50,7 +50,7 @@ class SearchPostgres extends SearchDatabase {
                $olderror = error_reporting( E_ERROR );
                $resultSet = $this->db->resultObject( $this->db->query( $q, 'SearchPostgres', true ) );
                error_reporting( $olderror );
-               return new PostgresSearchResultSet( $resultSet, $this->searchTerms );
+               return new SqlSearchResultSet( $resultSet, $this->searchTerms );
        }
 
        /**
@@ -195,32 +195,4 @@ class SearchPostgres extends SearchDatabase {
                return true;
        }
 
-} ## end of the SearchPostgres class
-
-/**
- * @ingroup Search
- */
-class PostgresSearchResult extends SearchResult {
-       function __construct( $row ) {
-               parent::__construct( $row );
-               $this->score = $row->score;
-       }
-
-       function getScore() {
-               return $this->score;
-       }
-}
-
-/**
- * @ingroup Search
- */
-class PostgresSearchResultSet extends SqlSearchResultSet {
-       function next() {
-               $row = $this->resultSet->fetchObject();
-               if ( $row === false ) {
-                       return false;
-               } else {
-                       return new PostgresSearchResult( $row );
-               }
-       }
 }
index 453211b..d51bff7 100644 (file)
@@ -142,13 +142,6 @@ class SearchResult {
                return $this->mImage;
        }
 
-       /**
-        * @return float|null If not supported
-        */
-       function getScore() {
-               return null;
-       }
-
        /**
         * Lazy initialization of article text from DB
         */
index 806a48a..c28aa86 100644 (file)
@@ -410,12 +410,11 @@ abstract class ChangesListSpecialPage extends SpecialPage {
         * @return string
         */
        public static function makeLegend( IContextSource $context ) {
-               global $wgRecentChangesFlags;
                $user = $context->getUser();
                # The legend showing what the letters and stuff mean
                $legend = Html::openElement( 'dl' ) . "\n";
                # Iterates through them and gets the messages for both letter and tooltip
-               $legendItems = $wgRecentChangesFlags;
+               $legendItems = $context->getConfig()->get( 'RecentChangesFlags' );
                if ( !( $user->useRCPatrol() || $user->useNPPatrol() ) ) {
                        unset( $legendItems['unpatrolled'] );
                }
index b8fc05e..ae0003d 100644 (file)
@@ -203,8 +203,7 @@ abstract class QueryPage extends SpecialPage {
         * @return bool
         */
        function isExpensive() {
-               global $wgDisableQueryPages;
-               return $wgDisableQueryPages;
+               return $this->getConfig()->get( 'DisableQueryPages' );
        }
 
        /**
@@ -225,9 +224,7 @@ abstract class QueryPage extends SpecialPage {
         * @return bool
         */
        function isCached() {
-               global $wgMiserMode;
-
-               return $this->isExpensive() && $wgMiserMode;
+               return $this->isExpensive() && $this->getConfig()->get( 'MiserMode' );
        }
 
        /**
@@ -472,8 +469,6 @@ abstract class QueryPage extends SpecialPage {
         * @param string $par
         */
        function execute( $par ) {
-               global $wgQueryCacheLimit, $wgDisableQueryPageUpdate;
-
                $user = $this->getUser();
                if ( !$this->userCanExecute( $user ) ) {
                        $this->displayRestrictionError();
@@ -508,7 +503,7 @@ abstract class QueryPage extends SpecialPage {
                                # Fetch the timestamp of this update
                                $ts = $this->getCachedTimestamp();
                                $lang = $this->getLanguage();
-                               $maxResults = $lang->formatNum( $wgQueryCacheLimit );
+                               $maxResults = $lang->formatNum( $this->getConfig()->get( 'QueryCacheLimit' ) );
 
                                if ( $ts ) {
                                        $updated = $lang->userTimeAndDate( $ts, $user );
@@ -523,8 +518,8 @@ abstract class QueryPage extends SpecialPage {
 
                                # If updates on this page have been disabled, let the user know
                                # that the data set won't be refreshed for now
-                               if ( is_array( $wgDisableQueryPageUpdate )
-                                       && in_array( $this->getName(), $wgDisableQueryPageUpdate )
+                               if ( is_array( $this->getConfig()->get( 'DisableQueryPageUpdate' ) )
+                                       && in_array( $this->getName(), $this->getConfig()->get( 'DisableQueryPageUpdate' ) )
                                ) {
                                        $out->wrapWikiMsg(
                                                "<div class=\"mw-querypage-no-updates\">\n$1\n</div>",
@@ -671,18 +666,17 @@ abstract class QueryPage extends SpecialPage {
         * @return bool
         */
        function doFeed( $class = '', $limit = 50 ) {
-               global $wgFeed, $wgFeedClasses, $wgFeedLimit;
-
-               if ( !$wgFeed ) {
+               if ( !$this->getConfig()->get( 'Feed' ) ) {
                        $this->getOutput()->addWikiMsg( 'feed-unavailable' );
                        return false;
                }
 
-               $limit = min( $limit, $wgFeedLimit );
+               $limit = min( $limit, $this->getConfig()->get( 'FeedLimit' ) );
 
-               if ( isset( $wgFeedClasses[$class] ) ) {
+               $feedClasses = $this->getConfig()->get( 'FeedClasses' );
+               if ( isset( $feedClasses[$class] ) ) {
                        /** @var RSSFeed|AtomFeed $feed */
-                       $feed = new $wgFeedClasses[$class](
+                       $feed = new $feedClasses[$class](
                                $this->feedTitle(),
                                $this->feedDesc(),
                                $this->feedUrl() );
@@ -743,9 +737,10 @@ abstract class QueryPage extends SpecialPage {
        }
 
        function feedTitle() {
-               global $wgLanguageCode, $wgSitename;
                $desc = $this->getDescription();
-               return "$wgSitename - $desc [$wgLanguageCode]";
+               $code = $this->getConfig()->get( 'LanguageCode' );
+               $sitename = $this->getConfig()->get( 'Sitename' );
+               return "$sitename - $desc [$code]";
        }
 
        function feedDesc() {
index 0070c74..a72b297 100644 (file)
@@ -274,44 +274,20 @@ class SpecialPage {
        }
 
        /**
-        * If the user is not logged in, throws UserNotLoggedIn error.
+        * If the user is not logged in, throws UserNotLoggedIn error
         *
-        * Default error message includes a link to Special:Userlogin with properly set 'returnto' query
-        * parameter.
+        * The user will be redirected to Special:Userlogin with the given message as an error on
+        * the form.
         *
         * @since 1.23
-        * @param string|Message $reasonMsg [optional] Passed on to UserNotLoggedIn constructor. Strings
-        *     will be used as message keys. If a string is given, the message will also receive a
-        *     formatted login link (generated using the 'loginreqlink' message) as first parameter. If a
-        *     Message is given, it will be passed on verbatim.
-        * @param string|Message $titleMsg [optional] Passed on to UserNotLoggedIn constructor. Strings
-        *     will be used as message keys.
+        * @param string $reasonMsg [optional] Message key to be displayed on login page
+        * @param string $titleMsg [optional] Passed on to UserNotLoggedIn constructor
         * @throws UserNotLoggedIn
         */
-       public function requireLogin( $reasonMsg = null, $titleMsg = null ) {
+       public function requireLogin(
+               $reasonMsg = 'exception-nologin-text', $titleMsg = 'exception-nologin'
+       ) {
                if ( $this->getUser()->isAnon() ) {
-                       // Use default messages if not given or explicit null passed
-                       if ( !$reasonMsg ) {
-                               $reasonMsg = 'exception-nologin-text-manual';
-                       }
-                       if ( !$titleMsg ) {
-                               $titleMsg = 'exception-nologin';
-                       }
-
-                       // Convert to Messages with current context
-                       if ( is_string( $reasonMsg ) ) {
-                               $loginreqlink = Linker::linkKnown(
-                                       SpecialPage::getTitleFor( 'Userlogin' ),
-                                       $this->msg( 'loginreqlink' )->escaped(),
-                                       array(),
-                                       array( 'returnto' => $this->getPageTitle()->getPrefixedText() )
-                               );
-                               $reasonMsg = $this->msg( $reasonMsg )->rawParams( $loginreqlink );
-                       }
-                       if ( is_string( $titleMsg ) ) {
-                               $titleMsg = $this->msg( $titleMsg );
-                       }
-
                        throw new UserNotLoggedIn( $reasonMsg, $titleMsg );
                }
        }
@@ -621,11 +597,9 @@ class SpecialPage {
         * @param array $params
         */
        protected function addFeedLinks( $params ) {
-               global $wgFeedClasses;
-
                $feedTemplate = wfScript( 'api' );
 
-               foreach ( $wgFeedClasses as $format => $class ) {
+               foreach ( $this->getConfig()->get( 'FeedClasses' ) as $format => $class ) {
                        $theseParams = $params + array( 'feedformat' => $format );
                        $url = wfAppendQuery( $feedTemplate, $theseParams );
                        $this->getOutput()->addFeedLink( $format, $url );
@@ -641,8 +615,8 @@ class SpecialPage {
         * @since 1.21
         */
        public function getFinalGroupName() {
-               global $wgSpecialPageGroups;
                $name = $this->getName();
+               $specialPageGroups = $this->getConfig()->get( 'SpecialPageGroups' );
 
                // Allow overbidding the group from the wiki side
                $msg = $this->msg( 'specialpages-specialpagegroup-' . strtolower( $name ) )->inContentLanguage();
@@ -655,8 +629,8 @@ class SpecialPage {
                        // Group '-' is used as default to have the chance to determine,
                        // if the special pages overrides this method,
                        // if not overridden, $wgSpecialPageGroups is checked for b/c
-                       if ( $group === '-' && isset( $wgSpecialPageGroups[$name] ) ) {
-                               $group = $wgSpecialPageGroups[$name];
+                       if ( $group === '-' && isset( $specialPageGroups[$name] ) ) {
+                               $group = $specialPageGroups[$name];
                        }
                }
 
index 26f67b1..5f16239 100644 (file)
@@ -651,16 +651,6 @@ class SpecialSearch extends SpecialPage {
 
                $lang = $this->getLanguage();
 
-               // format score
-               if ( is_null( $result->getScore() ) ) {
-                       // Search engine doesn't report scoring info
-                       $score = '';
-               } else {
-                       $percent = sprintf( '%2.1f', $result->getScore() * 100 );
-                       $score = $this->msg( 'search-result-score' )->numParams( $percent )->text()
-                               . ' - ';
-               }
-
                // format description
                $byteSize = $result->getByteSize();
                $wordCount = $result->getWordCount();
@@ -722,7 +712,7 @@ class SpecialSearch extends SpecialPage {
                                                '<td style="vertical-align: top;">' .
                                                "{$link} {$redirect} {$section} {$fileMatch}" .
                                                $extract .
-                                               "<div class='mw-search-result-data'>{$score}{$desc} - {$date}{$related}</div>" .
+                                               "<div class='mw-search-result-data'>{$desc} - {$date}{$related}</div>" .
                                                '</td>' .
                                                '</tr>' .
                                                '</table>' .
@@ -733,6 +723,7 @@ class SpecialSearch extends SpecialPage {
 
                $html = null;
 
+               $score = '';
                if ( wfRunHooks( 'ShowSearchHit', array(
                        $this, $result, $terms,
                        &$link, &$redirect, &$section, &$extract,
@@ -741,7 +732,7 @@ class SpecialSearch extends SpecialPage {
                ) ) ) {
                        $html = "<li><div class='mw-search-result-heading'>" .
                                "{$link} {$redirect} {$section} {$fileMatch}</div> {$extract}\n" .
-                               "<div class='mw-search-result-data'>{$score}{$size} - {$date}{$related}</div>" .
+                               "<div class='mw-search-result-data'>{$size} - {$date}{$related}</div>" .
                                "</li>\n";
                }
 
index b5b4176..ddb435d 100644 (file)
@@ -197,8 +197,8 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                        throw new UploadStashFileNotFoundException( "no local path for scaled item" );
                }
 
-               // now we should construct a File, so we can get mime and other such info in a standard way
-               // n.b. mimetype may be different from original (ogx original -> jpeg thumb)
+               // now we should construct a File, so we can get MIME and other such info in a standard way
+               // n.b. MIME type may be different from original (ogx original -> jpeg thumb)
                $thumbFile = new UnregisteredLocalFile( false,
                        $this->stash->repo, $thumbnailImage->getStoragePath(), false );
                if ( !$thumbFile ) {
@@ -292,7 +292,7 @@ class SpecialUploadStash extends UnlistedSpecialPage {
         * Output HTTP response of raw content
         * Side effect: writes HTTP response to STDOUT.
         * @param string $content Content
-        * @param string $contentType Mime type
+        * @param string $contentType MIME type
         * @throws SpecialUploadStashTooLargeException
         * @return bool
         */
@@ -310,7 +310,7 @@ class SpecialUploadStash extends UnlistedSpecialPage {
        /**
         * Output headers for streaming
         * @todo Unsure about encoding as binary; if we received from HTTP perhaps
-        * we should use that encoding, concatted with semicolon to mimeType as it
+        * we should use that encoding, concatenated with semicolon to `$contentType` as it
         * usually is.
         * Side effect: preps PHP to write headers to STDOUT.
         * @param string $contentType String suitable for content-type header
index 46b4999..bd7457e 100644 (file)
@@ -42,6 +42,28 @@ class LoginForm extends SpecialPage {
        const NEED_TOKEN = 12;
        const WRONG_TOKEN = 13;
 
+       /**
+        * Valid error and warning messages
+        *
+        * Special:Userlogin can show an error or warning message on the form when
+        * coming from another page. This is done via the ?error= or ?warning= GET
+        * parameters.
+        *
+        * This array is the list of valid message keys. All other values will be
+        * ignored.
+        *
+        * @since 1.24
+        * @var string[]
+        */
+       public static $validErrorMessages = array(
+               'exception-nologin-text',
+               'watchlistanontext',
+               'changeemail-no-info',
+               'resetpass-no-info',
+               'confirmemail_needlogin',
+               'prefsnologintext2',
+       );
+
        public $mAbortLoginErrorMsg = null;
 
        protected $mUsername;
@@ -65,6 +87,8 @@ class LoginForm extends SpecialPage {
        protected $mType;
        protected $mReason;
        protected $mRealName;
+       protected $mEntryError = '';
+       protected $mEntryErrorType = 'error';
 
        private $mTempPasswordUsed;
        private $mLoaded = false;
@@ -128,6 +152,37 @@ class LoginForm extends SpecialPage {
                $this->mReturnTo = $request->getVal( 'returnto', '' );
                $this->mReturnToQuery = $request->getVal( 'returntoquery', '' );
 
+               // Show an error or warning passed on from a previous page
+               $entryError = $this->msg( $request->getVal( 'error', '' ) );
+               $entryWarning = $this->msg( $request->getVal( 'warning', '' ) );
+               // bc: provide login link as a parameter for messages where the translation
+               // was not updated
+               $loginreqlink = Linker::linkKnown(
+                       $this->getPageTitle(),
+                       $this->msg( 'loginreqlink' )->escaped(),
+                       array(),
+                       array(
+                               'returnto' => $this->mReturnTo,
+                               'returntoquery' => $this->mReturnToQuery,
+                               'uselang' => $this->mLanguage,
+                               'fromhttp' => $this->mFromHTTP ? '1' : '0',
+                       )
+               );
+
+               // Only show valid error or warning messages.
+               if ( $entryError->exists()
+                       && in_array( $entryError->getKey(), self::$validErrorMessages )
+               ) {
+                       $this->mEntryErrorType = 'error';
+                       $this->mEntryError = $entryError->rawParams( $loginreqlink )->escaped();
+
+               } elseif ( $entryWarning->exists()
+                       && in_array( $entryWarning->getKey(), self::$validErrorMessages )
+               ) {
+                       $this->mEntryErrorType = 'warning';
+                       $this->mEntryError = $entryWarning->rawParams( $loginreqlink )->escaped();
+               }
+
                if ( $wgEnableEmail ) {
                        $this->mEmail = $request->getText( 'wpEmail' );
                } else {
@@ -182,6 +237,14 @@ class LoginForm extends SpecialPage {
                }
                $this->setHeaders();
 
+               // In the case where the user is already logged in, do not show the login page.
+               // The use case scenario for this is when a user opens a large number of tabs, is
+               // redirected to the login page on all of them, and then logs in on one, expecting
+               // all the others to work properly.
+               if ( $this->mType !== 'signup' && !$this->mPosted && $this->getUser()->isLoggedIn() ) {
+                       $this->successfulLogin();
+               }
+
                // If logging in and not on HTTPS, either redirect to it or offer a link.
                global $wgSecureLogin;
                if ( $this->mRequest->getProtocol() !== 'https' ) {
@@ -191,6 +254,7 @@ class LoginForm extends SpecialPage {
                                'returntoquery' => $this->mReturnToQuery !== '' ?
                                        $this->mReturnToQuery : null,
                                'title' => null,
+                               ( $this->mEntryErrorType === 'error' ? 'error' : 'warning' ) => $this->mEntryError,
                        ) + $this->mRequest->getQueryValues();
                        $url = $title->getFullURL( $query, false, PROTO_HTTPS );
                        if ( $wgSecureLogin
@@ -232,7 +296,7 @@ class LoginForm extends SpecialPage {
                                return;
                        }
                }
-               $this->mainLoginForm( '' );
+               $this->mainLoginForm( $this->mEntryError, $this->mEntryErrorType );
        }
 
        /**
index c54d9f4..38f1808 100644 (file)
@@ -54,8 +54,7 @@ class WantedPagesPage extends WantedQueryPage {
        }
 
        function getQueryInfo() {
-               global $wgWantedPagesThreshold;
-               $count = $wgWantedPagesThreshold - 1;
+               $count = $this->getConfig()->get( 'WantedPagesThreshold' ) - 1;
                $query = array(
                        'tables' => array(
                                'pagelinks',
index 60ac02f..7dc6da1 100644 (file)
@@ -42,7 +42,6 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
        }
 
        function execute( $par ) {
-               global $wgQueryPageDefaultLimit;
                $out = $this->getOutput();
 
                $this->setHeaders();
@@ -52,7 +51,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
 
                $opts->add( 'target', '' );
                $opts->add( 'namespace', '', FormOptions::INTNULL );
-               $opts->add( 'limit', $wgQueryPageDefaultLimit );
+               $opts->add( 'limit', $this->getConfig()->get( 'QueryPageDefaultLimit' ) );
                $opts->add( 'from', 0 );
                $opts->add( 'back', 0 );
                $opts->add( 'hideredirs', false );
@@ -101,8 +100,6 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
         * @param int $back Display from this article ID at backwards scrolling (default: 0)
         */
        function showIndirectLinks( $level, $target, $limit, $from = 0, $back = 0 ) {
-               global $wgMaxRedirectLinksRetrieved, $wgUseLinkNamespaceDBFields;
-
                $out = $this->getOutput();
                $dbr = wfGetDB( DB_SLAVE );
 
@@ -126,9 +123,10 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                        'il_to' => $target->getDBkey(),
                );
 
+               $useLinkNamespaceDBFields = $this->getConfig()->get( 'UseLinkNamespaceDBFields' );
                $namespace = $this->opts->getValue( 'namespace' );
                if ( is_int( $namespace ) ) {
-                       if ( $wgUseLinkNamespaceDBFields ) {
+                       if ( $useLinkNamespaceDBFields ) {
                                $conds['pagelinks']['pl_from_namespace'] = $namespace;
                                $conds['templatelinks']['tl_from_namespace'] = $namespace;
                                $conds['imagelinks']['il_from_namespace'] = $namespace;
@@ -151,8 +149,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                        $conds['pagelinks'][] = 'rd_from is NOT NULL';
                }
 
-               $queryFunc = function ( $dbr, $table, $fromCol ) use ( $conds, $target, $limit ) {
-                       global $wgUseLinkNamespaceDBFields;
+               $queryFunc = function ( $dbr, $table, $fromCol ) use ( $conds, $target, $limit, $useLinkNamespaceDBFields ) {
                        // Read an extra row as an at-end check
                        $queryLimit = $limit + 1;
                        $on = array(
@@ -160,7 +157,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                                'rd_title' => $target->getDBkey(),
                                'rd_interwiki = ' . $dbr->addQuotes( '' ) . ' OR rd_interwiki IS NULL'
                        );
-                       if ( $wgUseLinkNamespaceDBFields ) { // migration check
+                       if ( $useLinkNamespaceDBFields ) { // migration check
                                $on['rd_namespace'] = $target->getNamespace();
                        }
                        // Inner LIMIT is 2X in case of stale backlinks with wrong namespaces
@@ -278,7 +275,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
 
                        if ( $row->rd_from && $level < 2 ) {
                                $out->addHTML( $this->listItem( $row, $nt, $target, true ) );
-                               $this->showIndirectLinks( $level + 1, $nt, $wgMaxRedirectLinksRetrieved );
+                               $this->showIndirectLinks( $level + 1, $nt, $this->getConfig()->get( 'MaxRedirectLinksRetrieved' ) );
                                $out->addHTML( Xml::closeElement( 'li' ) );
                        } else {
                                $out->addHTML( $this->listItem( $row, $nt, $target ) );
@@ -415,8 +412,6 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
        }
 
        function whatlinkshereForm() {
-               global $wgScript;
-
                // We get nicer value from the title object
                $this->opts->consumeValue( 'target' );
                // Reset these for new requests
@@ -426,7 +421,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                $namespace = $this->opts->consumeValue( 'namespace' );
 
                # Build up the form
-               $f = Xml::openElement( 'form', array( 'action' => $wgScript ) );
+               $f = Xml::openElement( 'form', array( 'action' => wfScript() ) );
 
                # Values that should not be forgotten
                $f .= Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() );
index e05faef..bd01461 100644 (file)
@@ -41,8 +41,6 @@ class WithoutInterwikiPage extends PageQueryPage {
        }
 
        function getPageHeader() {
-               global $wgScript;
-
                # Do not show useless input form if special page is cached
                if ( $this->isCached() ) {
                        return '';
@@ -51,7 +49,7 @@ class WithoutInterwikiPage extends PageQueryPage {
                $prefix = $this->prefix;
                $t = $this->getPageTitle();
 
-               return Html::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript ) ) . "\n" .
+               return Html::openElement( 'form', array( 'method' => 'get', 'action' => wfScript() ) ) . "\n" .
                        Html::openElement( 'fieldset' ) . "\n" .
                        Html::element( 'legend', null, $this->msg( 'withoutinterwiki-legend' )->text() ) . "\n" .
                        Html::hidden( 'title', $t->getPrefixedText() ) . "\n" .
index 6a6b358..4d74a2d 100644 (file)
@@ -377,11 +377,12 @@ abstract class UploadBase {
        }
 
        /**
-        * Verify the mime type.
+        * Verify the MIME type.
         *
-        * @note Only checks that it is not an evil mime. The "does it have
-        *  correct extension given its mime type?" check is in verifyFile.
-        * @param string $mime Representing the mime
+        * @note Only checks that it is not an evil MIME. The "does it have
+        *  correct extension given its MIME type?" check is in verifyFile.
+        *  in `verifyFile()` that MIME type and file extension correlate.
+        * @param string $mime Representing the MIME
         * @return mixed True if the file is verified, an array otherwise
         */
        protected function verifyMimeType( $mime ) {
@@ -396,7 +397,7 @@ abstract class UploadBase {
                                return array( 'filetype-badmime', $mime );
                        }
 
-                       # Check IE type
+                       # Check what Internet Explorer would detect
                        $fp = fopen( $this->mTempPath, 'rb' );
                        $chunk = fread( $fp, 256 );
                        fclose( $fp );
@@ -487,7 +488,7 @@ abstract class UploadBase {
 
                $this->mFileProps = FSFile::getPropsFromPath( $this->mTempPath, $this->mFinalExtension );
 
-               # check mime type, if desired
+               # check MIME type, if desired
                $mime = $this->mFileProps['file-mime'];
                $status = $this->verifyMimeType( $mime );
                if ( $status !== true ) {
@@ -995,9 +996,9 @@ abstract class UploadBase {
        }
 
        /**
-        * Checks if the mime type of the uploaded file matches the file extension.
+        * Checks if the MIME type of the uploaded file matches the file extension.
         *
-        * @param string $mime The mime type of the uploaded file
+        * @param string $mime The MIME type of the uploaded file
         * @param string $extension The filename extension that the file is to be served with
         * @return bool
         */
@@ -1050,7 +1051,7 @@ abstract class UploadBase {
         * positives in some situations.
         *
         * @param string $file Pathname to the temporary upload file
-        * @param string $mime The mime type of the file
+        * @param string $mime The MIME type of the file
         * @param string $extension The extension of the file
         * @return bool True if the file contains something looking like embedded scripts
         */
index 23a7a3a..7d80b44 100644 (file)
@@ -443,7 +443,7 @@ class UploadStash {
        }
 
        /**
-        * Find or guess extension -- ensuring that our extension matches our mime type.
+        * Find or guess extension -- ensuring that our extension matches our MIME type.
         * Since these files are constructed from php tempnames they may not start off
         * with an extension.
         * XXX this is somewhat redundant with the checks that ApiUpload.php does with incoming
@@ -460,7 +460,7 @@ class UploadStash {
                if ( $n !== false ) {
                        $extension = $n ? substr( $path, $n + 1 ) : '';
                } else {
-                       // If not, assume that it should be related to the mime type of the original file.
+                       // If not, assume that it should be related to the MIME type of the original file.
                        $magic = MimeMagic::singleton();
                        $mimeType = $magic->guessMimeType( $path );
                        $extensions = explode( ' ', MimeMagic::singleton()->getExtensionsForType( $mimeType ) );
index e1b03b5..2051a5b 100644 (file)
@@ -52,7 +52,7 @@
        'ar' => 'العربية',       # Arabic
        'arc' => 'ܐܪܡܝܐ',  # Aramaic
        'arn' => 'mapudungun',  # Mapuche, Mapudungu, Araucanian (Araucano)
-       'arq' => 'جزائرÙ\8a', # Algerian Spoken Arabic
+       'arq' => 'جازاÙ\8aرÙ\8aØ©', # Algerian Spoken Arabic
        'ary' => 'Maġribi',    # Moroccan Spoken Arabic
        'arz' => 'مصرى',    # Egyptian Spoken Arabic
        'as' => 'অসমীয়া',        # Assamese
index 00159a4..4352f36 100644 (file)
        "invalidtitle-knownnamespace": "Invalid title with namespace \"$2\" and text \"$3\"",
        "invalidtitle-unknownnamespace": "Invalid title with unknown namespace number $1 and text \"$2\"",
        "exception-nologin": "Not logged in",
-       "exception-nologin-text": "Please [[Special:Userlogin|log in]] to be able to access this page or action.",
+       "exception-nologin-text": "Please log in to be able to access this page or action.",
        "exception-nologin-text-manual": "Please $1 to be able to access this page or action.",
        "virus-badscanner": "Bad configuration: Unknown virus scanner: <em>$1</em>",
        "virus-scanfailed": "scan failed (code $1)",
        "parser-template-loop-warning": "Template loop detected: [[$1]]",
        "parser-template-recursion-depth-warning": "Template recursion depth limit exceeded ($1)",
        "language-converter-depth-warning": "Language converter depth limit exceeded ($1)",
-       "node-count-exceeded-category": "Pages where node-count is exceeded",
-       "node-count-exceeded-category-desc": "A category for pages where the node-count is exceeded.",
-       "node-count-exceeded-warning": "Page exceeded the node-count",
+       "node-count-exceeded-category": "Pages where node count is exceeded",
+       "node-count-exceeded-category-desc": "The page exceeds the maximum node count.",
+       "node-count-exceeded-warning": "Page exceeded the node count",
        "expansion-depth-exceeded-category": "Pages where expansion depth is exceeded",
-       "expansion-depth-exceeded-category-desc": "This is a category for pages where the expansion depth is exceeded.",
+       "expansion-depth-exceeded-category-desc": "The page exceeds the maximum expansion depth.",
        "expansion-depth-exceeded-warning": "Page exceeded the expansion depth",
        "parser-unstrip-loop-warning": "Unstrip loop detected",
        "parser-unstrip-recursion-limit": "Unstrip recursion limit exceeded ($1)",
        "searchprofile-advanced-tooltip": "Search in custom namespaces",
        "search-result-size": "$1 ({{PLURAL:$2|1 word|$2 words}})",
        "search-result-category-size": "{{PLURAL:$1|1 member|$1 members}} ({{PLURAL:$2|1 subcategory|$2 subcategories}}, {{PLURAL:$3|1 file|$3 files}})",
-       "search-result-score": "Relevance: $1%",
        "search-redirect": "(redirect $1)",
        "search-section": "(section $1)",
        "search-file-match": "(matches file content)",
        "preferences-summary": "",
        "mypreferences": "Preferences",
        "prefs-edits": "Number of edits:",
-       "prefsnologintext2": "Please $1 to change your preferences.",
+       "prefsnologintext2": "Please login to change your preferences.",
        "prefs-skin": "Skin",
        "skin-preview": "Preview",
        "datedefault": "No preference",
        "trackingcategories-desc": "Category inclusion criteria",
        "noindex-category-desc": "The page is not indexed by robots because it has the magic word <code><nowiki>__NOINDEX__</nowiki></code> on it and is in a namespace where that flag is allowed.",
        "index-category-desc": "The page has a <code><nowiki>__INDEX__</nowiki></code> on it (and is in a namespace where that flag is allowed), and hence is indexed by robots where it normally wouldn't be.",
-       "post-expand-template-inclusion-category-desc": "After expanding all the templates, the page size is bigger than <code>$wgMaxArticleSize</code>, so some templates weren't expanded.",
-       "post-expand-template-argument-category-desc": "After expanding a template argument (something in triple braces, like <code>{{{Foo}}}</code>), the page is bigger than <code>$wgMaxArticleSize</code>.",
-       "expensive-parserfunction-category-desc": "Too many expensive parser functions (like <code>#ifexist</code>) included on a page. See [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
-       "broken-file-category-desc": "Category added if the page contains a broken file link (a link to embed a file when the file does not exist).",
-       "hidden-category-category-desc": "This is a category with <code><nowiki>__HIDDENCAT__</nowiki></code> on it, which prevents it from showing up in the category links box on pages, by default.",
+       "post-expand-template-inclusion-category-desc": "The page size is bigger than <code>$wgMaxArticleSize</code> after expanding all the templates, so some templates were not expanded.",
+       "post-expand-template-argument-category-desc": "The page is bigger than <code>$wgMaxArticleSize</code> after expanding a template argument (something in triple braces, like <code>{{{Foo}}}</code>).",
+       "expensive-parserfunction-category-desc": "The page uses too many expensive parser functions (like <code>#ifexist</code>). See [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
+       "broken-file-category-desc": "The page contains a broken file link (a link to embed a file when the file does not exist).",
+       "hidden-category-category-desc": "The category contains <code><nowiki>__HIDDENCAT__</nowiki></code> in its page content, which prevents it from showing up in the category links box on pages by default.",
        "trackingcategories-nodesc": "No description available.",
        "trackingcategories-disabled": "Category is disabled",
        "mailnologin": "No send address",
        "mywatchlist": "Watchlist",
        "watchlistfor2": "For $1 $2",
        "nowatchlist": "You have no items on your watchlist.",
-       "watchlistanontext": "Please $1 to view or edit items on your watchlist.",
+       "watchlistanontext": "Please login to view or edit items on your watchlist.",
        "watchnologin": "Not logged in",
        "addwatch": "Add to watchlist",
        "addedwatchtext": "The page \"[[:$1]]\" has been added to your [[Special:Watchlist|watchlist]].\nFuture changes to this page and its associated talk page will be listed there.",
        "log-name-pagelang": "Change language log",
        "log-description-pagelang": "This is a log of changes in page languages.",
        "logentry-pagelang-pagelang": "$1 {{GENDER:$2|changed}} page language for $3 from $4 to $5.",
-       "default-skin-not-found": "Whoops! The default skin for your wiki (<code>$wgDefaultSkin</code>), <code>$1</code>, is not available.\n\nYour installation seems to include the following skins. See [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] for information how to enable them and choose the default.\n\n$2\n\n; If you have just installed MediaWiki:\n: You probably installed from git, or directly from the source code using some other method. This is expected.\n:* Try installing some skins from [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org's skin directory].\n:* Download the [https://www.mediawiki.org/wiki/Download tarball installer], which comes with several skins and extensions. You can copy and paste the <code>skins/</code> directory from it.\n: Doing this should not interfere with your git repository if you're a MediaWiki developer.\n\n; If you have just upgraded MediaWiki:\n: MediaWiki 1.24 and newer no longer automatically enables installed skins (see [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery]). You can paste the following lines into <code>LocalSettings.php</code> to enable all currently installed skins:\n\n<pre>$3</pre>\n\n; If you have just modified <code>LocalSettings.php</code>:\n: Double-check the skin names for typos.",
-       "default-skin-not-found-no-skins": "Whoops! The default skin for your wiki (<code>$wgDefaultSkin</code>), <code>$1</code>, is not available.\n\nYou have no installed skins.\n\n; If you have just installed MediaWiki:\n: You probably installed from git, or directly from the source code using some other method. This is expected.\n:* Try installing some skins from [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org's skin directory].\n:* Download the [https://www.mediawiki.org/wiki/Download tarball installer], which comes with several skins and extensions. You can copy and paste the <code>skins/</code> directory from it.\n: Doing this should not interfere with your git repository if you're a MediaWiki developer. See [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] for information how to enable skins and choose the default.\n",
+       "default-skin-not-found": "Whoops! The default skin for your wiki (<code>$wgDefaultSkin</code>), <code>$1</code>, is not available.\n\nYour installation seems to include the following skins. See [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] for information how to enable them and choose the default.\n\n$2\n\n; If you have just installed MediaWiki:\n: You probably installed from git, or directly from the source code using some other method. This is expected. Try installing some skins from [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org's skin directory], by:\n:* Downloading the [https://www.mediawiki.org/wiki/Download tarball installer], which comes with several skins and extensions. You can copy and paste the <code>skins/</code> directory from it.\n:* Cloning one of the <code>mediawiki/skins/*</code> repositories via git into the <code>skins/</code> directory of your MediaWiki installation.\n: Doing this should not interfere with your git repository if you're a MediaWiki developer.\n\n; If you have just upgraded MediaWiki:\n: MediaWiki 1.24 and newer no longer automatically enables installed skins (see [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery]). You can paste the following lines into <code>LocalSettings.php</code> to enable all currently installed skins:\n\n<pre>$3</pre>\n\n; If you have just modified <code>LocalSettings.php</code>:\n: Double-check the skin names for typos.",
+       "default-skin-not-found-no-skins": "Whoops! The default skin for your wiki (<code>$wgDefaultSkin</code>), <code>$1</code>, is not available.\n\nYou have no installed skins.\n\n; If you have just installed or upgraded MediaWiki:\n: You probably installed from git, or directly from the source code using some other method. This is expected. MediaWiki 1.24 and newer doesn't include any skins in the main repository. Try installing some skins from [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org's skin directory], by:\n:* Downloading the [https://www.mediawiki.org/wiki/Download tarball installer], which comes with several skins and extensions. You can copy and paste the <code>skins/</code> directory from it.\n:* Cloning one of the <code>mediawiki/skins/*</code> repositories via git into the <code>skins/</code> directory of your MediaWiki installation.\n: Doing this should not interfere with your git repository if you're a MediaWiki developer. See [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] for information how to enable skins and choose the default.\n",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (enabled)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 ('''disabled''')"
 }
index 0ec9349..785587d 100644 (file)
        "preferences-summary": "{{doc-specialpagesummary|preferences}}",
        "mypreferences": "Action link label that leads to [[Special:Preferences]]; appears in the top menu (e.g. \"Username Talk Preferences Watchlist Contributions Log out\").\n\nSee also:\n* {{msg-mw|Mypreferences}}\n* {{msg-mw|Accesskey-pt-preferences}}\n* {{msg-mw|Tooltip-pt-preferences}}\n{{Identical|Preferences}}",
        "prefs-edits": "In user preferences.",
-       "prefsnologintext2": "Parameters:\n* $1 - a link to [[Special:UserLogin]] with {{msg-mw|loginreqlink}} as link description",
+       "prefsnologintext2": "Showed on Special:Userlogin when user tries to access their preferences before logging in",
        "prefs-skin": "Used in user preferences.\n{{Identical|Skin}}",
        "skin-preview": "{{doc-actionlink}}\nThe link beside each skin name in [[Special:Preferences|your user preferences]], tab \"skin\".\n{{Identical|Preview}}",
        "datedefault": "Used as checkbox label in [[Special:Preferences#mw-prefsection-datetime|user preferences]], {{msg-mw|prefs-datetime}} tab.\n\nThis message indicates {{msg-mw|prefs-dateformat}} is default (= not specified).",
        "mywatchlist": "Link at the upper right corner of the screen.\n\nSee also:\n* {{msg-mw|Mywatchlist}}\n* {{msg-mw|Accesskey-pt-watchlist}}\n* {{msg-mw|Tooltip-pt-watchlist}}\n{{Identical|Watchlist}}",
        "watchlistfor2": "Subtitle on [[Special:Watchlist]].\nParameters:\n* $1 - Username of current user\n* $2 - Tool links (View relevant changes | View and edit watchlist | Edit raw watchlist)\n{{Identical|For $1}}",
        "nowatchlist": "Displayed when there is no pages in the watchlist.",
-       "watchlistanontext": "Parameters:\n* $1 - a link to [[Special:UserLogin]] with {{msg-mw|loginreqlink}} as link description",
+       "watchlistanontext": "Shown on Special:Userlogin when user tries to access their watchlist before logging in",
        "watchnologin": "Used as error page title.\n\nThe error message for this title is:\n* {{msg-mw|Watchnologintext}}\n{{Identical|Not logged in}}",
        "addwatch": "Link to a dialog box, displayed at the end of the list of categories at the foot of each page.\n\nSee also:\n* {{msg-mw|Removewatch}}",
        "addedwatchtext": "Explanation shown when clicking on the {{msg-mw|Watch}} tab. Parameters:\n* $1 - page title\nSee also:\n* {{msg-mw|Addedwatch}}",
index 0fcf660..15c8142 100644 (file)
@@ -8,5 +8,12 @@
  *
  */
 
+$digitTransformTable = array();
+
+$separatorTransformTable = array(
+       '.' => ',',
+       ',' => '.'
+);
+
 $fallback = 'ar';
 
index bd348c4..8d9426e 100644 (file)
@@ -1,4 +1,4 @@
--- Add indexes to the mime types in image for use on Special:MIMEsearch,
+-- Add indexes to the MIME types in image for use on Special:MIMEsearch,
 -- changes a query like
 --
 -- SELECT img_name FROM image WHERE img_major_mime = "image" AND img_minor_mime = "svg";
index 246d6fc..0a65e31 100644 (file)
@@ -80,7 +80,7 @@ if ( !$mime ) {
        }
 }
 if ( $mime ) {
-       # Use custom handling to serve files with a known mime type
+       # Use custom handling to serve files with a known MIME type
        # This way we can serve things like .svg files that the built-in
        # PHP webserver doesn't understand.
        # ;) Nicely enough we just happen to bundle a mime.types file
diff --git a/maintenance/findMissingFiles.php b/maintenance/findMissingFiles.php
new file mode 100644 (file)
index 0000000..8c71699
--- /dev/null
@@ -0,0 +1,85 @@
+<?php
+/**
+ * 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
+ * @author Aaron Schulz
+ */
+
+require_once __DIR__ . '/Maintenance.php';
+
+class FindMissingFiles extends Maintenance {
+       function __construct() {
+               parent::__construct();
+
+               $this->mDescription = 'Find registered files with no corresponding file.';
+               $this->addOption( 'start', 'Starting file name', false, true );
+               $this->setBatchSize( 200 );
+       }
+
+       function execute() {
+               $lastName = $this->getOption( 'start', '' );
+
+               $repo = RepoGroup::singleton()->getLocalRepo();
+               $dbr = $repo->getSlaveDB();
+               $be = $repo->getBackend();
+
+               do {
+                       $res = $dbr->select( 'image',
+                               'img_name',
+                               array( "img_name >= " . $dbr->addQuotes( $lastName ) ),
+                               __METHOD__,
+                               array( 'ORDER BY' => 'img_name', 'LIMIT' => $this->mBatchSize )
+                       );
+
+                       // Check if any of these files are missing...
+                       $pathsByName = array();
+                       foreach ( $res as $row ) {
+                               $file = $repo->newFile( $row->img_name );
+                               $pathsByName[$row->img_name] = $file->getPath();
+                               $lastName = $row->img_name;
+                       }
+                       $be->preloadFileStat( array( 'srcs' => $pathsByName ) );
+                       foreach ( $pathsByName as $path ) {
+                               if ( $be->fileExists( array( 'src' => $path ) ) === false ) {
+                                       $this->output( "$path\n" );
+                               }
+                       }
+
+                       // Find all missing old versions of any of the files in this batch...
+                       if ( count( $pathsByName ) ) {
+                               $ores = $dbr->select( 'oldimage',
+                                       array( 'oi_name', 'oi_archive_name' ),
+                                       array( 'oi_name' => array_keys( $pathsByName ) ),
+                                       __METHOD__
+                               );
+                               foreach ( $ores as $row ) {
+                                       if ( !strlen( $row->oi_archive_name ) ) {
+                                               continue; // broken row
+                                       }
+                                       $file = $repo->newFromArchiveName( $row->oi_name, $row->oi_archive_name );
+                                       $path = $file->getPath();
+                                       if ( $be->fileExists( array( 'src' => $path ) ) === false ) {
+                                               $this->output( "$path\n" );
+                                       }
+                               }
+                       }
+               } while ( $res->numRows() >= $this->mBatchSize );
+       }
+}
+
+$maintClass = 'FindMissingFiles';
+require_once RUN_MAINTENANCE_IF_MAIN;
index 8cb23fd..831118c 100644 (file)
@@ -70,7 +70,7 @@ class RefreshImageMetadata extends Maintenance {
 
                $this->addOption(
                        'mime',
-                       '(Inefficient!) Only refresh files with this mime type. Can accept wild-card image/*',
+                       '(Inefficient!) Only refresh files with this MIME type. Can accept wild-card image/*',
                        false,
                        true
                );
index 5b1e2a7..b46ab37 100644 (file)
                        colspan,
                        headerCount,
                        longestTR,
-                       matrixRowIndex,
-                       matrixColumnIndex,
                        exploded,
                        $tableHeaders = $( [] ),
                        $tableRows = $( 'thead:eq(0) > tr', table );
                        // Loop through all the dom cells of the thead
                        $tableRows.each( function ( rowIndex, row ) {
                                $.each( row.cells, function ( columnIndex, cell ) {
+                                       var matrixRowIndex,
+                                               matrixColumnIndex;
+
                                        rowspan = Number( cell.rowSpan );
                                        colspan = Number( cell.colSpan );
 
index dc44c84..64471b2 100644 (file)
@@ -17,8 +17,6 @@
 
 #mw-createaccount-join {
        margin-left: 0.75em;
-       /* Separate from background image */
-       box-shadow: 4px 4px 4px 4px rgba(255, 255, 255, 1);
        width: auto;
        display: inline-block;
 }
index 41707aa..6996ab8 100644 (file)
@@ -34,6 +34,7 @@
        width: 100%;
        padding: .3em .3em .3em .6em;
        display: block;
+       vertical-align: middle;
        // Override user agent stylesheet properties. Instead use parent element.
        color: inherit;
        font-family: inherit;
@@ -97,8 +98,14 @@ textarea.mw-ui-input {
 .mw-ui-input-large {
        margin-top: 0;
        margin-bottom: 0;
+
+       // When two large inputs are together, we make them flush by hiding one of the borders
        & + .mw-ui-input-large {
-               border-top-width: 0;
+               margin-top: -1px;
+       }
+       // When focusing, make the input relative to raise it above any attached inputs to unhide its borders
+       &:focus {
+               position: relative;
        }
 }
 
index 380e4e6..d50fe48 100644 (file)
                                 *
                                 * @param {string|Array} modules Either the name of a module, array of modules,
                                 *  or a URL of an external script or style
-                                * @param {string} [type='text/javascript'] mime-type to use if calling with a URL of an
+                                * @param {string} [type='text/javascript'] MIME type to use if calling with a URL of an
                                 *  external script or style; acceptable values are "text/css" and
                                 *  "text/javascript"; if no type is provided, text/javascript is assumed.
                                 * @param {boolean} [async] Whether to load modules asynchronously.
index b5fd69c..79ec310 100644 (file)
                /**
                 * Display a notification message to the user.
                 *
-                * @param {HTMLElement|jQuery|mw.Message|string} message
+                * @param {HTMLElement|HTMLElement[]|jQuery|mw.Message|string} message
                 * @param {Object} options The options to use for the notification.
                 *  See #defaults for details.
                 * @return {mw.Notification} Notification object
index 1a9569f..6719bdd 100644 (file)
@@ -1,5 +1,3 @@
 /*
 !/common/
-!/MonoBook/
-!/Vector/
 !/.gitignore
diff --git a/skins/MonoBook/COPYING b/skins/MonoBook/COPYING
deleted file mode 100644 (file)
index 019694a..0000000
+++ /dev/null
@@ -1,342 +0,0 @@
-== GNU GENERAL PUBLIC LICENSE ==
-
-Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-=== Preamble ===
-
-The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and
-modification follow.
-
-== TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ==
-
-'''0.''' This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-'''1.''' You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-'''2.''' You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-       '''a)''' You must cause the modified files to carry prominent notices
-       stating that you changed the files and the date of any change.
-
-       '''b)''' You must cause any work that you distribute or publish, that in
-       whole or in part contains or is derived from the Program or any
-       part thereof, to be licensed as a whole at no charge to all third
-       parties under the terms of this License.
-
-       '''c)''' If the modified program normally reads commands interactively
-       when run, you must cause it, when started running for such
-       interactive use in the most ordinary way, to print or display an
-       announcement including an appropriate copyright notice and a
-       notice that there is no warranty (or else, saying that you provide
-       a warranty) and that users may redistribute the program under
-       these conditions, and telling the user how to view a copy of this
-       License.  (Exception: if the Program itself is interactive but
-       does not normally print such an announcement, your work based on
-       the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-'''3.''' You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-       '''a)''' Accompany it with the complete corresponding machine-readable
-       source code, which must be distributed under the terms of Sections
-       1 and 2 above on a medium customarily used for software interchange; or,
-
-       '''b)''' Accompany it with a written offer, valid for at least three
-       years, to give any third party, for a charge no more than your
-       cost of physically performing source distribution, a complete
-       machine-readable copy of the corresponding source code, to be
-       distributed under the terms of Sections 1 and 2 above on a medium
-       customarily used for software interchange; or,
-
-       '''c)''' Accompany it with the information you received as to the offer
-       to distribute corresponding source code.  (This alternative is
-       allowed only for noncommercial distribution and only if you
-       received the program in object code or executable form with such
-       an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-'''4.''' You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-'''5.''' You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-'''6.''' Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-'''7.''' If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-'''8.''' If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-'''9.''' The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-'''10.''' If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-=== NO WARRANTY ===
-
-'''11.''' BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-'''12.''' IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-       '''END OF TERMS AND CONDITIONS'''
-
-== How to Apply These Terms to Your New Programs ==
-
-If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-       <one line to give the program's name and a brief idea of what it does.>
-
-       Copyright (C) <year>  <name of author>
-
-       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
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-       Gnomovision version 69, Copyright (C) year name of author
-       Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-       This is free software, and you are welcome to redistribute it
-       under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-       Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-       `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-       <signature of Ty Coon>, 1 April 1989
-
-       Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/skins/MonoBook/IE60Fixes.css b/skins/MonoBook/IE60Fixes.css
deleted file mode 100644 (file)
index cd9399f..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/* 6.0 - only fixes */
-/* content area */
-/* workaround for various ie float bugs */
-div#column-content {
-       float: none;
-       margin-left: 0;
-       height: 1%;
-}
-
-div#column-content div#content {
-       margin-left: 12.2em;
-       margin-top: 3em;
-       height: 1%;
-}
-
-.rtl div#column-content div#content {
-       margin-right: 12.2em;
-       margin-left: 0;
-}
-
-div#column-one {
-       position: absolute;
-       top: 0;
-       left: 0;
-       z-index: 4;
-}
-
-.rtl div#column-one {
-       left: auto;
-       right: 0;
-}
-
-div#footer {
-       margin-left: 13.6em;
-       border-left: 1px solid #fabd23;
-}
-
-.rtl div#footer {
-       margin-left: 0;
-       margin-right: 13.6em;
-       border-left: none;
-       border-right: 1px solid #fabd23;
-}
-
-/* float/negative margin brokenness */
-* html div#footer {
-       margin-top: 0;
-}
-
-* html div#column-content {
-       display: inline;
-       margin-bottom: 0;
-}
-
-/* the tabs */
-
-#p-cactions {
-       z-index: 3;
-}
-
-#p-cactions li {
-       padding-bottom: 0 !important;
-       border: none;
-       background-color: transparent;
-       cursor: default;
-       float: none !important;
-}
-
-#p-cactions li a {
-       display: inline-block !important;
-       vertical-align: top;
-       padding-bottom: 0;
-       border: solid #aaa;
-       border-width: 1px 1px 0;
-}
-
-#p-cactions li.selected a {
-       border-color: #fabd23;
-       padding-bottom: 0.17em;
-}
-
-#p-cactions li a:hover {
-       padding-bottom: 0.17em;
-}
-
-#p-navigation a {
-       display: inline-block;
-       width: 100%;
-}
-
-#portal-personaltools {
-       padding-bottom: 0.1em;
-}
-
-.rtl a.feedlink {
-       background-position: right;
-       padding-right: 0;
-       padding-left: 16px;
-}
-
-/* show the hand */
-#p-logo a,
-#p-logo a:hover {
-       cursor: pointer;
-}
-
-div.visualClear {
-       width: 100%;
-       line-height: 0;
-}
-
-textarea {
-       width: 96%;
-}
-
-#catlinks,
-div.tright,
-div.tleft {
-       position: relative;
-}
-
-/* bug 12846 */
-body.rtl #preftoc a, body.rtl #preftoc a:active {
-       float: left;
-}
diff --git a/skins/MonoBook/IE70Fixes.css b/skins/MonoBook/IE70Fixes.css
deleted file mode 100644 (file)
index 42f9ce6..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/* 7.0 - only fixes */
-/* content area */
-/* workaround for various ie float bugs */
-
-/* This bit is needed to make links clickable... WTF */
-div#column-content div#content {
-       margin-left: 12.2em;
-       margin-top: 3em;
-       height: 1%;
-}
-
-.rtl div#column-content div#content {
-       margin-right: 12.2em;
-       margin-left: 0;
-}
-
-.rtl div#column-one {
-       /* For some reason it tries to inherit the padding-top into every div,
-        * and I can't figure out how to get it back off.
-        * Margin works correctly for this use, though.
-        */
-       padding-top: 0;
-       margin-top: 160px;
-}
-
-/* These elements also have padding-left: 20px; in main.css, but in RTL mode this is flipped.
- * That's good in normal browsers, but in IE7 it needs to not be flipped for some daft reason.
- * Also clear the right margin (originally margin-left: 1em)
- */
-li#pt-userpage, li#pt-anonuserpage, li#pt-login {
-       padding-left: 20px;
-       margin-right: 0;
-}
-
-.rtl a.feedlink {
-       background-position: right;
-       padding-right: 0;
-       padding-left: 16px;
-}
-
-/* the tabs */
-
-#p-cactions {
-       z-index: 3;
-}
-
-#p-cactions li {
-       padding-bottom: 0 !important;
-       border: none;
-       background-color: transparent;
-       cursor: default;
-       float: none !important;
-}
-
-#p-cactions li a {
-       display: inline-block !important;
-       vertical-align: top;
-       padding-bottom: 0;
-       border: solid #aaa;
-       border-width: 1px 1px 0;
-}
-
-#p-cactions li.selected a {
-       border-color: #fabd23;
-       padding-bottom: 0.17em;
-}
-
-#p-cactions li a:hover {
-       padding-bottom: 0.17em;
-}
-
-#p-navigation a {
-       display: inline-block;
-       width: 100%;
-}
-
-#portal-personaltools {
-       padding-bottom: 0.1em;
-}
-
-textarea {
-       width: 96%;
-}
-
-/*
-#catlinks,
-div.tright,
-div.tleft {
-       position: relative;
-}
-*/
-
-div#footer li {
-       /* Work around bug with inline <li> tags with right margins and nowrap */
-       margin-right: 0;
-}
diff --git a/skins/MonoBook/MonoBook.php b/skins/MonoBook/MonoBook.php
deleted file mode 100644 (file)
index 97c0cd8..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-/**
- * MonoBook nouveau.
- *
- * Translated from gwicke's previous TAL template version to remove
- * dependency on PHPTAL.
- *
- * 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 Skins
- */
-
-$wgExtensionCredits['skin'][] = array(
-       'path' => __FILE__,
-       'name' => 'MonoBook',
-       'namemsg' => 'skinname-monobook',
-       'descriptionmsg' => 'monobook-desc',
-       'url' => 'https://www.mediawiki.org/wiki/Skin:MonoBook',
-       'author' => array( 'Gabriel Wicke', '...' ),
-       'license-name' => 'GPLv2+',
-);
-
-// Register files
-$wgAutoloadClasses['SkinMonoBook'] = __DIR__ . '/SkinMonoBook.php';
-$wgAutoloadClasses['MonoBookTemplate'] = __DIR__ . '/MonoBookTemplate.php';
-$wgMessagesDirs['MonoBook'] = __DIR__ . '/i18n';
-
-// Register skin
-$wgValidSkinNames['monobook'] = 'MonoBook';
-
-// Register modules
-$wgResourceModules['skins.monobook.styles'] = array(
-       'styles' => array(
-               'main.css' => array( 'media' => 'screen' ),
-       ),
-       'remoteSkinPath' => 'MonoBook',
-       'localBasePath' => __DIR__,
-);
diff --git a/skins/MonoBook/MonoBookTemplate.php b/skins/MonoBook/MonoBookTemplate.php
deleted file mode 100644 (file)
index 373c004..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-<?php
-/**
- * MonoBook nouveau.
- *
- * Translated from gwicke's previous TAL template version to remove
- * dependency on PHPTAL.
- *
- * 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 Skins
- */
-
-/**
- * @ingroup Skins
- */
-class MonoBookTemplate extends BaseTemplate {
-
-       /**
-        * Template filter callback for MonoBook skin.
-        * Takes an associative array of data set from a SkinTemplate-based
-        * class, and a wrapper for MediaWiki's localization database, and
-        * outputs a formatted page.
-        *
-        * @access private
-        */
-       function execute() {
-               // Suppress warnings to prevent notices about missing indexes in $this->data
-               wfSuppressWarnings();
-
-               $this->html( 'headelement' );
-               ?><div id="globalWrapper">
-               <div id="column-content">
-                       <div id="content" class="mw-body-primary" role="main">
-                               <a id="top"></a>
-                               <?php
-                               if ( $this->data['sitenotice'] ) {
-                                       ?>
-                                       <div id="siteNotice"><?php
-                                       $this->html( 'sitenotice' )
-                                       ?></div><?php
-                               }
-                               ?>
-
-                               <h1 id="firstHeading" class="firstHeading" lang="<?php
-                               $this->data['pageLanguage'] =
-                                       $this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode();
-                               $this->text( 'pageLanguage' );
-                               ?>"><span dir="auto"><?php $this->html( 'title' ) ?></span></h1>
-
-                               <div id="bodyContent" class="mw-body">
-                                       <div id="siteSub"><?php $this->msg( 'tagline' ) ?></div>
-                                       <div id="contentSub"<?php
-                                       $this->html( 'userlangattributes' ) ?>><?php $this->html( 'subtitle' )
-                                               ?></div>
-                                       <?php if ( $this->data['undelete'] ) { ?>
-                                               <div id="contentSub2"><?php $this->html( 'undelete' ) ?></div>
-                                       <?php
-}
-                                       ?><?php
-                                       if ( $this->data['newtalk'] ) {
-                                               ?>
-                                               <div class="usermessage"><?php $this->html( 'newtalk' ) ?></div>
-                                       <?php
-                                       }
-                                       ?>
-                                       <div id="jump-to-nav" class="mw-jump"><?php
-                                               $this->msg( 'jumpto' )
-                                               ?> <a href="#column-one"><?php
-                                                       $this->msg( 'jumptonavigation' )
-                                                       ?></a><?php
-                                               $this->msg( 'comma-separator' )
-                                               ?><a href="#searchInput"><?php
-                                                       $this->msg( 'jumptosearch' )
-                                                       ?></a></div>
-
-                                       <!-- start content -->
-                                       <?php $this->html( 'bodytext' ) ?>
-                                       <?php
-                                       if ( $this->data['catlinks'] ) {
-                                               $this->html( 'catlinks' );
-                                       }
-                                       ?>
-                                       <!-- end content -->
-                                       <?php
-                                       if ( $this->data['dataAfterContent'] ) {
-                                               $this->html( 'dataAfterContent'
-                                               );
-                                       }
-                                       ?>
-                                       <div class="visualClear"></div>
-                               </div>
-                       </div>
-               </div>
-               <div id="column-one"<?php $this->html( 'userlangattributes' ) ?>>
-                       <h2><?php $this->msg( 'navigation-heading' ) ?></h2>
-                       <?php $this->cactions(); ?>
-                       <div class="portlet" id="p-personal" role="navigation">
-                               <h3><?php $this->msg( 'personaltools' ) ?></h3>
-
-                               <div class="pBody">
-                                       <ul<?php $this->html( 'userlangattributes' ) ?>>
-                                               <?php foreach ( $this->getPersonalTools() as $key => $item ) { ?>
-                                                       <?php echo $this->makeListItem( $key, $item ); ?>
-
-                                               <?php
-}
-                                               ?>
-                                       </ul>
-                               </div>
-                       </div>
-                       <div class="portlet" id="p-logo" role="banner">
-                               <?php
-                               echo Html::element( 'a', array(
-                                               'href' => $this->data['nav_urls']['mainpage']['href'],
-                                               'style' => "background-image: url({$this->data['logopath']});" )
-                                       + Linker::tooltipAndAccesskeyAttribs( 'p-logo' ) ); ?>
-
-                       </div>
-                       <?php
-                       $this->renderPortals( $this->data['sidebar'] );
-                       ?>
-               </div><!-- end of the left (by default at least) column -->
-               <div class="visualClear"></div>
-               <?php
-               $validFooterIcons = $this->getFooterIcons( "icononly" );
-               $validFooterLinks = $this->getFooterLinks( "flat" ); // Additional footer links
-
-               if ( count( $validFooterIcons ) + count( $validFooterLinks ) > 0 ) {
-                       ?>
-                       <div id="footer" role="contentinfo"<?php $this->html( 'userlangattributes' ) ?>>
-                       <?php
-                       $footerEnd = '</div>';
-               } else {
-                       $footerEnd = '';
-               }
-
-               foreach ( $validFooterIcons as $blockName => $footerIcons ) {
-                       ?>
-                       <div id="f-<?php echo htmlspecialchars( $blockName ); ?>ico">
-                               <?php foreach ( $footerIcons as $icon ) { ?>
-                                       <?php echo $this->getSkin()->makeFooterIcon( $icon ); ?>
-
-                               <?php
-}
-                               ?>
-                       </div>
-               <?php
-               }
-
-               if ( count( $validFooterLinks ) > 0 ) {
-                       ?>
-                       <ul id="f-list">
-                               <?php
-                               foreach ( $validFooterLinks as $aLink ) {
-                                       ?>
-                                       <li id="<?php echo $aLink ?>"><?php $this->html( $aLink ) ?></li>
-                               <?php
-                               }
-                               ?>
-                       </ul>
-               <?php
-               }
-
-               echo $footerEnd;
-               ?>
-
-               </div>
-               <?php
-               $this->printTrail();
-               echo Html::closeElement( 'body' );
-               echo Html::closeElement( 'html' );
-               wfRestoreWarnings();
-       } // end of execute() method
-
-       /*************************************************************************************************/
-
-       /**
-        * @param array $sidebar
-        */
-       protected function renderPortals( $sidebar ) {
-               if ( !isset( $sidebar['SEARCH'] ) ) {
-                       $sidebar['SEARCH'] = true;
-               }
-               if ( !isset( $sidebar['TOOLBOX'] ) ) {
-                       $sidebar['TOOLBOX'] = true;
-               }
-               if ( !isset( $sidebar['LANGUAGES'] ) ) {
-                       $sidebar['LANGUAGES'] = true;
-               }
-
-               foreach ( $sidebar as $boxName => $content ) {
-                       if ( $content === false ) {
-                               continue;
-                       }
-
-                       if ( $boxName == 'SEARCH' ) {
-                               $this->searchBox();
-                       } elseif ( $boxName == 'TOOLBOX' ) {
-                               $this->toolbox();
-                       } elseif ( $boxName == 'LANGUAGES' ) {
-                               $this->languageBox();
-                       } else {
-                               $this->customBox( $boxName, $content );
-                       }
-               }
-       }
-
-       function searchBox() {
-               global $wgUseTwoButtonsSearchForm;
-               ?>
-               <div id="p-search" class="portlet" role="search">
-                       <h3><label for="searchInput"><?php $this->msg( 'search' ) ?></label></h3>
-
-                       <div id="searchBody" class="pBody">
-                               <form action="<?php $this->text( 'wgScript' ) ?>" id="searchform">
-                                       <input type='hidden' name="title" value="<?php $this->text( 'searchtitle' ) ?>"/>
-                                       <?php echo $this->makeSearchInput( array( "id" => "searchInput" ) ); ?>
-
-                                       <?php
-                                       echo $this->makeSearchButton(
-                                               "go",
-                                               array( "id" => "searchGoButton", "class" => "searchButton" )
-                                       );
-
-                                       if ( $wgUseTwoButtonsSearchForm ) {
-                                               ?>&#160;
-                                               <?php echo $this->makeSearchButton(
-                                                       "fulltext",
-                                                       array( "id" => "mw-searchButton", "class" => "searchButton" )
-                                               );
-                                       } else {
-                                               ?>
-
-                                               <div><a href="<?php
-                                               $this->text( 'searchaction' )
-                                               ?>" rel="search"><?php $this->msg( 'powersearch-legend' ) ?></a></div><?php
-                                       } ?>
-
-                               </form>
-
-                               <?php $this->renderAfterPortlet( 'search' ); ?>
-                       </div>
-               </div>
-       <?php
-       }
-
-       /**
-        * Prints the cactions bar.
-        * Shared between MonoBook and Modern
-        */
-       function cactions() {
-               ?>
-               <div id="p-cactions" class="portlet" role="navigation">
-                       <h3><?php $this->msg( 'views' ) ?></h3>
-
-                       <div class="pBody">
-                               <ul><?php
-                                       foreach ( $this->data['content_actions'] as $key => $tab ) {
-                                               echo '
-                               ' . $this->makeListItem( $key, $tab );
-                                       } ?>
-
-                               </ul>
-                               <?php $this->renderAfterPortlet( 'cactions' ); ?>
-                       </div>
-               </div>
-       <?php
-       }
-
-       /*************************************************************************************************/
-       function toolbox() {
-               ?>
-               <div class="portlet" id="p-tb" role="navigation">
-                       <h3><?php $this->msg( 'toolbox' ) ?></h3>
-
-                       <div class="pBody">
-                               <ul>
-                                       <?php
-                                       foreach ( $this->getToolbox() as $key => $tbitem ) {
-                                               ?>
-                                               <?php echo $this->makeListItem( $key, $tbitem ); ?>
-
-                                       <?php
-                                       }
-                                       wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) );
-                                       wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) );
-                                       ?>
-                               </ul>
-                               <?php $this->renderAfterPortlet( 'tb' ); ?>
-                       </div>
-               </div>
-       <?php
-       }
-
-       /*************************************************************************************************/
-       function languageBox() {
-               if ( $this->data['language_urls'] !== false ) {
-                       ?>
-                       <div id="p-lang" class="portlet" role="navigation">
-                               <h3<?php $this->html( 'userlangattributes' ) ?>><?php $this->msg( 'otherlanguages' ) ?></h3>
-
-                               <div class="pBody">
-                                       <ul>
-                                               <?php foreach ( $this->data['language_urls'] as $key => $langlink ) { ?>
-                                                       <?php echo $this->makeListItem( $key, $langlink ); ?>
-
-                                               <?php
-}
-                                               ?>
-                                       </ul>
-
-                                       <?php $this->renderAfterPortlet( 'lang' ); ?>
-                               </div>
-                       </div>
-               <?php
-               }
-       }
-
-       /*************************************************************************************************/
-       /**
-        * @param string $bar
-        * @param array|string $cont
-        */
-       function customBox( $bar, $cont ) {
-               $portletAttribs = array(
-                       'class' => 'generated-sidebar portlet',
-                       'id' => Sanitizer::escapeId( "p-$bar" ),
-                       'role' => 'navigation'
-               );
-
-               $tooltip = Linker::titleAttrib( "p-$bar" );
-               if ( $tooltip !== false ) {
-                       $portletAttribs['title'] = $tooltip;
-               }
-               echo '  ' . Html::openElement( 'div', $portletAttribs );
-               $msgObj = wfMessage( $bar );
-               ?>
-
-               <h3><?php echo htmlspecialchars( $msgObj->exists() ? $msgObj->text() : $bar ); ?></h3>
-               <div class='pBody'>
-                       <?php
-                       if ( is_array( $cont ) ) {
-                               ?>
-                               <ul>
-                                       <?php
-                                       foreach ( $cont as $key => $val ) {
-                                               ?>
-                                               <?php echo $this->makeListItem( $key, $val ); ?>
-
-                                       <?php
-                                       }
-                                       ?>
-                               </ul>
-                       <?php
-                       } else {
-                               # allow raw HTML block to be defined by extensions
-                               print $cont;
-                       }
-
-                       $this->renderAfterPortlet( $bar );
-                       ?>
-               </div>
-               </div>
-       <?php
-       }
-} // end of class
diff --git a/skins/MonoBook/SkinMonoBook.php b/skins/MonoBook/SkinMonoBook.php
deleted file mode 100644 (file)
index 16fbd00..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/**
- * MonoBook nouveau.
- *
- * Translated from gwicke's previous TAL template version to remove
- * dependency on PHPTAL.
- *
- * 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 Skins
- */
-
-/**
- * Inherit main code from SkinTemplate, set the CSS and template filter.
- * @ingroup Skins
- */
-class SkinMonoBook extends SkinTemplate {
-       /** Using MonoBook. */
-       public $skinname = 'monobook';
-       public $stylename = 'MonoBook';
-       public $template = 'MonoBookTemplate';
-
-       /**
-        * @param OutputPage $out
-        */
-       function setupSkinUserCss( OutputPage $out ) {
-               parent::setupSkinUserCss( $out );
-
-               $out->addModuleStyles( array( 'mediawiki.skinning.interface', 'skins.monobook.styles' ) );
-
-               // TODO: Migrate all of these
-               $out->addStyle( $this->stylename . '/IE60Fixes.css', 'screen', 'IE 6' );
-               $out->addStyle( $this->stylename . '/IE70Fixes.css', 'screen', 'IE 7' );
-       }
-}
diff --git a/skins/MonoBook/audio.png b/skins/MonoBook/audio.png
deleted file mode 100644 (file)
index 68c8768..0000000
Binary files a/skins/MonoBook/audio.png and /dev/null differ
diff --git a/skins/MonoBook/bullet.gif b/skins/MonoBook/bullet.gif
deleted file mode 100644 (file)
index b43de48..0000000
Binary files a/skins/MonoBook/bullet.gif and /dev/null differ
diff --git a/skins/MonoBook/discussionitem_icon.gif b/skins/MonoBook/discussionitem_icon.gif
deleted file mode 100644 (file)
index e3ca6d9..0000000
Binary files a/skins/MonoBook/discussionitem_icon.gif and /dev/null differ
diff --git a/skins/MonoBook/document.png b/skins/MonoBook/document.png
deleted file mode 100644 (file)
index ee46a50..0000000
Binary files a/skins/MonoBook/document.png and /dev/null differ
diff --git a/skins/MonoBook/external-ltr.png b/skins/MonoBook/external-ltr.png
deleted file mode 100644 (file)
index 6308383..0000000
Binary files a/skins/MonoBook/external-ltr.png and /dev/null differ
diff --git a/skins/MonoBook/external-rtl.png b/skins/MonoBook/external-rtl.png
deleted file mode 100644 (file)
index 5313234..0000000
Binary files a/skins/MonoBook/external-rtl.png and /dev/null differ
diff --git a/skins/MonoBook/file_icon.gif b/skins/MonoBook/file_icon.gif
deleted file mode 100644 (file)
index 69dbeaf..0000000
Binary files a/skins/MonoBook/file_icon.gif and /dev/null differ
diff --git a/skins/MonoBook/headbg.jpg b/skins/MonoBook/headbg.jpg
deleted file mode 100644 (file)
index 5491c6e..0000000
Binary files a/skins/MonoBook/headbg.jpg and /dev/null differ
diff --git a/skins/MonoBook/i18n/aln.json b/skins/MonoBook/i18n/aln.json
deleted file mode 100644 (file)
index b853dde..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bresta"
-               ]
-       },
-       "monobook.css": "/* CSS i vednosun këtu ka me i prekë shfrytëzuesit e dukjes Monobook */",
-       "monobook.js": "/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/an.json b/skins/MonoBook/i18n/an.json
deleted file mode 100644 (file)
index f635897..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Juanpabl"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* Os estilos CSS colocaus aquí s'aplicarán ta totz os usuarios que faigan servir l'apariencia Monobook */",
-       "monobook.js": "/* O codigo Javascript que se meta aquí será cargau por os usuarios faigan servir l'apariencia MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/ar.json b/skins/MonoBook/i18n/ar.json
deleted file mode 100644 (file)
index 05cad21..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Meno25"
-               ]
-       },
-       "skinname-monobook": "مونوبوك",
-       "monobook.css": "/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمي واجهة مونوبوك */",
-       "monobook.js": "/* أي جافاسكريبت هنا سيتم تحميلها للمستخدمين الذين يستعملون واجهة مونوبوك */"
-}
diff --git a/skins/MonoBook/i18n/arz.json b/skins/MonoBook/i18n/arz.json
deleted file mode 100644 (file)
index a49f003..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Meno25"
-               ]
-       },
-       "skinname-monobook": "مونوبوك",
-       "monobook.css": "/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمى واجهة مونوبوك */",
-       "monobook.js": "/* أى جافاسكريبت هنا ح تتحمل لليوزرز اللى بيستعملو واجهة مونوبوك */"
-}
diff --git a/skins/MonoBook/i18n/ast.json b/skins/MonoBook/i18n/ast.json
deleted file mode 100644 (file)
index 5fadace..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Xuacu"
-               ]
-       },
-       "monobook-desc": "El tema clásicu de MediaWiki dende 2004, llamáu asina pola foto en blanco y negro d'un llibru nel fondu de la páxina",
-       "monobook.css": "/* Los CSS allugaos equí afeutarán a los usuarios del aspeutu Monobook */",
-       "monobook.js": "/* Cualesquier JavaScript que tea equí se cargará pa los usuarios del aspeutu MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/az.json b/skins/MonoBook/i18n/az.json
deleted file mode 100644 (file)
index 55b33d8..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Vago",
-                       "Vugar 1981"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* Burada yerləşən CSS Monobook skin istifadəçilərinə tətbiq olunur */",
-       "monobook.js": "/* Burada MonoBook skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */"
-}
diff --git a/skins/MonoBook/i18n/bcc.json b/skins/MonoBook/i18n/bcc.json
deleted file mode 100644 (file)
index 9732382..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mostafadaneshvar"
-               ]
-       },
-       "skinname-monobook": "منوبوک",
-       "monobook.css": "/* CSS که اداننت کابران پوست مونوبوک تاثیر کننت */",
-       "monobook.js": "/* جاوا اسکریپت ادان فقط په کابرانی که چه پوست منوبوک استفاده کننت بار بیت. */"
-}
diff --git a/skins/MonoBook/i18n/bcl.json b/skins/MonoBook/i18n/bcl.json
deleted file mode 100644 (file)
index 1ef08f2..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Filipinayzd"
-               ]
-       },
-       "monobook.css": "/* an CSS na pigbugtak digdi makakaapektar sa mga parágamit kan Monobook skin */",
-       "monobook.js": "/* Deprecado; gamiton an [[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/be-tarask.json b/skins/MonoBook/i18n/be-tarask.json
deleted file mode 100644 (file)
index 7704a41..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "skinname-monobook": "Монакніга"
-}
diff --git a/skins/MonoBook/i18n/be.json b/skins/MonoBook/i18n/be.json
deleted file mode 100644 (file)
index 684d3d3..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Yury Tarasievich",
-                       "Mikalai Udodau"
-               ]
-       },
-       "skinname-monobook": "Манабук",
-       "monobook-desc": "Класічная вокладка MediaWiki з 2004 года, названая ў гонар чорна-белай фатаграфіі кнігі ў фоне старонкі",
-       "monobook.css": "/* CSS, упісаны сюды, будзе дзейнічаць на браўзер кожнага чытача з актыўнай світай Monobook */",
-       "monobook.js": "/* Any JavaScript here will be loaded for users using the MonoBook skin */"
-}
diff --git a/skins/MonoBook/i18n/bg.json b/skins/MonoBook/i18n/bg.json
deleted file mode 100644 (file)
index f3e91dd..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-       "skinname-monobook": "Монобук",
-       "monobook.css": "/* Чрез редактиране на този файл можете да промените облика Монобук */",
-       "monobook.js": "/* Остаряла страница; използвайте [[MediaWiki:Common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/bn.json b/skins/MonoBook/i18n/bn.json
deleted file mode 100644 (file)
index d6a4112..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Aftab1995"
-               ]
-       },
-       "skinname-monobook": "মনোবুক"
-}
diff --git a/skins/MonoBook/i18n/br.json b/skins/MonoBook/i18n/br.json
deleted file mode 100644 (file)
index 2ba630f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Fulup"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* Talvezout a raio ar CSS lakaet amañ evit implijerien ar gwiskadur Monobook */",
-       "monobook.js": "/* Kement JavaScript amañ a vo karget evit an implijerien a ra gant ar gwiskadur MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/bs.json b/skins/MonoBook/i18n/bs.json
deleted file mode 100644 (file)
index ddecc4c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "CERminator",
-                       "Kal-El"
-               ]
-       },
-       "skinname-monobook": "MonoKnjiga",
-       "monobook.css": "/* CSS umetnut ovdje uticat će na korisnike koji koriste Monobook skin */",
-       "monobook.js": "/* Bilo koja JavaScript će biti učitana za sve korisnike koji koriste MonoBook skin */"
-}
diff --git a/skins/MonoBook/i18n/ca.json b/skins/MonoBook/i18n/ca.json
deleted file mode 100644 (file)
index ba907dd..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Martorell",
-                       "Toniher"
-               ]
-       },
-       "monobook-desc": "El tema clàssic de MediaWiki des del 2004, que rep el nom d'una foto en blanc i negre d'un llibre en el fons de la pàgina.",
-       "monobook.css": "/* Editeu aquest fitxer per personalitzar l'aparença del monobook per a tot el lloc sencer */"
-}
diff --git a/skins/MonoBook/i18n/ce.json b/skins/MonoBook/i18n/ce.json
deleted file mode 100644 (file)
index 61515a8..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Умар"
-               ]
-       },
-       "monobook.css": "/* Чуйиллина йолу кхузе CSS хир ю лелош масхьа Monobook чохь */",
-       "monobook.js": "/* Кхузе чу язийна йолу JavaScript код, чу ера ю, массо MonoBook хатl лелош болу декъашхошна */"
-}
diff --git a/skins/MonoBook/i18n/ckb.json b/skins/MonoBook/i18n/ckb.json
deleted file mode 100644 (file)
index 2c42db2..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "skinname-monobook": "مۆنۆ"
-}
diff --git a/skins/MonoBook/i18n/crh-cyrl.json b/skins/MonoBook/i18n/crh-cyrl.json
deleted file mode 100644 (file)
index b11125e..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* monobook темасынынъ аярларыны (настройкаларыны) денъиштирмек ичюн бу ерини денъиштиринъиз. Бутюн сайтта тесирли олур. */"
-}
diff --git a/skins/MonoBook/i18n/crh-latn.json b/skins/MonoBook/i18n/crh-latn.json
deleted file mode 100644 (file)
index c8f2540..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* monobook temasınıñ ayarlarını (nastroykalarını) deñiştirmek içün bu yerini deñiştiriñiz. Bütün saytta tesirli olur. */"
-}
diff --git a/skins/MonoBook/i18n/cs.json b/skins/MonoBook/i18n/cs.json
deleted file mode 100644 (file)
index 62fcddd..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Danny B.",
-                       "Li-sung",
-                       "Mormegil"
-               ]
-       },
-       "monobook-desc": "Klasický vzhled MediaWiki od roku 2004, pojmenovaný po černobílé fotografii knihy v pozadí stránky",
-       "monobook.css": "/* Zde uvedené CSS bude ovlivňovat pouze styl „Monobook“ */",
-       "monobook.js": "/* JavaScript pro uživatele používající vzhled MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/da.json b/skins/MonoBook/i18n/da.json
deleted file mode 100644 (file)
index bb7745e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Peter Alberti",
-                       "Christian List"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "Den klassiske MediaWiki hud siden 2004, opkaldt efter det sort-hvide foto af en bog i baggrunden af siderne",
-       "monobook.css": "/** CSS inkluderet her vil være aktivt for brugere af Monobook-temaet . */",
-       "monobook.js": "/* JavaScript i denne fil vil indlæses for brugere af udseendet MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/de.json b/skins/MonoBook/i18n/de.json
deleted file mode 100644 (file)
index 047b91d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Geitost",
-                       "Metalhead64"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "Ergänzt die klassische MediaWiki-Benutzeroberfläche seit 2004, benannt nach dem Schwarzweißfoto eines Buches im Seitenhintergrund",
-       "monobook.css": "/* Das folgende CSS wird für Benutzer der MonoBook-Benutzeroberfläche geladen */",
-       "monobook.js": "/* Das folgende JavaScript wird für Benutzer der Monobook-Benutzeroberfläche geladen. */"
-}
diff --git a/skins/MonoBook/i18n/diq.json b/skins/MonoBook/i18n/diq.json
deleted file mode 100644 (file)
index ca9696d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Erdemaslancan"
-               ]
-       },
-       "skinname-monobook": "MonoBook"
-}
diff --git a/skins/MonoBook/i18n/dsb.json b/skins/MonoBook/i18n/dsb.json
deleted file mode 100644 (file)
index 6731b7b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Michawiki",
-                       "Nepl1"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* How zaměstnjony CSS wustatkujo se na wužywarje monobook-šata */",
-       "monobook.js": "/* Slědujucy JavaScript zacytajo se za wužywarjow, kótarež skin MonoBook wužywaju */"
-}
diff --git a/skins/MonoBook/i18n/el.json b/skins/MonoBook/i18n/el.json
deleted file mode 100644 (file)
index 1e7f7b8..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Dead3y3"
-               ]
-       },
-       "monobook.css": "/* Το τοποθετημένο εδώ CSS θα επηρεάσει χρήστες του Monobook skin */",
-       "monobook.js": "/* Οποιοσδήποτε κώδικας JavaScript εδώ θα φορτωθεί για χρήστες που χρησιμοποιούν το MonoBook skin */"
-}
diff --git a/skins/MonoBook/i18n/en.json b/skins/MonoBook/i18n/en.json
deleted file mode 100644 (file)
index 0b27e6b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": []
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "The classic MediaWiki skin since 2004, named after the black-and-white photo of a book in the page background",
-       "monobook.css": "/* CSS placed here will affect users of the MonoBook skin */",
-       "monobook.js": "/* Any JavaScript here will be loaded for users using the MonoBook skin */"
-}
diff --git a/skins/MonoBook/i18n/eo.json b/skins/MonoBook/i18n/eo.json
deleted file mode 100644 (file)
index 170286a..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Objectivesea"
-               ]
-       },
-       "skinname-monobook": "Librejo",
-       "monobook.css": "/* La jena CSS influos la paĝaspekton por uzantoj de la Libreja temo. */",
-       "monobook.js": "/* La jena Ĝavaskripto ŝargiĝos por uzantoj de la Libreja temo. */"
-}
diff --git a/skins/MonoBook/i18n/es.json b/skins/MonoBook/i18n/es.json
deleted file mode 100644 (file)
index 48d424c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Sanbec",
-                       "Vivaelcelta",
-                       "Fitoschido"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "El tema clásico de MediaWiki desde 2004, cuyo nombre viene de la foto en blanco y negro de un libro en el fondo",
-       "monobook.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia \"MonoBook\" */",
-       "monobook.js": "/* El código JavaScript que se ponga aquí será cargado por los usuarios de la apariencia MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/et.json b/skins/MonoBook/i18n/et.json
deleted file mode 100644 (file)
index dd823ee..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Pikne"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* Siin asuv kaskaadilaadistik puudutab kõiki MonoBooki-kujunduse kasutajaid. */",
-       "monobook.js": "/* Siin asuv JavaScript laaditakse MonoBooki-kujunduse kasutajate jaoks. */"
-}
diff --git a/skins/MonoBook/i18n/eu.json b/skins/MonoBook/i18n/eu.json
deleted file mode 100644 (file)
index a5f8c39..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "monobook.css": "/* Hemen idatzitako CSS kodeak Monobook itxuran bakarrik izango du eragina */"
-}
diff --git a/skins/MonoBook/i18n/ext.json b/skins/MonoBook/i18n/ext.json
deleted file mode 100644 (file)
index 70d9567..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "monobook.js": "/* Antigu; gasta [[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/fa.json b/skins/MonoBook/i18n/fa.json
deleted file mode 100644 (file)
index 02a0185..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Reza1615"
-               ]
-       },
-       "skinname-monobook": "مونوبوک",
-       "monobook-desc": "پوسته کلاسیک مدیاویکی از سال ۲۰۰۴ از عکس سیاه و سفید در زمینه صفحه  کتاب نام گرفت",
-       "monobook.css": "/* دستورات این بخش کاربرانی را که از پوستهٔ مونوبوک استفاده کنند تحت تاثیر قرار می‌دهند. */"
-}
diff --git a/skins/MonoBook/i18n/fi.json b/skins/MonoBook/i18n/fi.json
deleted file mode 100644 (file)
index f516bdd..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Crt"
-               ]
-       },
-       "skinname-monobook": "Monobook",
-       "monobook.css": "/* Tämä sivu sisältää Monobook-ulkoasua muuttavia tyylejä. */",
-       "monobook.js": "/* Tämän sivun JavaScript-koodi liitetään Monobook-tyyliin */"
-}
diff --git a/skins/MonoBook/i18n/fr.json b/skins/MonoBook/i18n/fr.json
deleted file mode 100644 (file)
index cedbebb..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gomoko",
-                       "Verdy p"
-               ]
-       },
-       "skinname-monobook": "Monobook",
-       "monobook-desc": "L’habillage classique de MédiaWiki depuis 2004, nommé d’après la photo en noir et blanc d’un livre dans l’arrière-plan de la page",
-       "monobook.css": "/* Le CSS placé ici affectera les utilisateurs de l’habillage Monobook. */",
-       "monobook.js": "/* Tout JavaScript ici sera chargé avec les pages accédées par les utilisateurs de l’habillage MonoBook uniquement. */"
-}
diff --git a/skins/MonoBook/i18n/frp.json b/skins/MonoBook/i18n/frp.json
deleted file mode 100644 (file)
index 06a705a..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "ChrisPtDe"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* Lo code CSS betâ ique afècterat los usanciérs de l’habelyâjo « MonoBook ». */",
-       "monobook.js": "/* Tot code JavaScript betâ ique serat chargiê per los usanciérs de l’habelyâjo « MonoBook ». */"
-}
diff --git a/skins/MonoBook/i18n/fur.json b/skins/MonoBook/i18n/fur.json
deleted file mode 100644 (file)
index 87c1f2c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "monobook.css": "/* modifiche chest file par personalizâ la skin monobook par dut il sît */"
-}
diff --git a/skins/MonoBook/i18n/ga.json b/skins/MonoBook/i18n/ga.json
deleted file mode 100644 (file)
index 695a952..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* athraigh an comhad seo chun an craiceann MonoBook a athrú don suíomh ar fad */"
-}
diff --git a/skins/MonoBook/i18n/gan-hans.json b/skins/MonoBook/i18n/gan-hans.json
deleted file mode 100644 (file)
index bed9f08..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-       "monobook.css": "/* 个首𠮶 CSS 会碍到正用Monobook皮肤𠮶用户 */",
-       "monobook.js": "/* 伓再使用;请用[[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/gan-hant.json b/skins/MonoBook/i18n/gan-hant.json
deleted file mode 100644 (file)
index 4c98663..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-       "monobook.css": "/* 箇首嗰 CSS 會礙到正用Monobook皮膚嗰用戶 */",
-       "monobook.js": "/* 伓再使用;請用[[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/gd.json b/skins/MonoBook/i18n/gd.json
deleted file mode 100644 (file)
index f5bd154..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "GunChleoc"
-               ]
-       },
-       "monobook-desc": "Craiceann MediaWiki clasaigeach o 2004 a chaidh ainmeachadh a-rèir dealbh de leabhar ann an dubh 's geal air cùlaibh nan duilleagan"
-}
diff --git a/skins/MonoBook/i18n/gl.json b/skins/MonoBook/i18n/gl.json
deleted file mode 100644 (file)
index 0e53e4a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Toliño",
-                       "Xosé"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "A aparencia clásica de MediaWiki desde 2004; recibe o seu nome pola foto en branco e negro dun libro que aparece no fondo das páxinas",
-       "monobook.css": "/* O CSS que se coloque aquí afectará a quen use a aparencia Monobook */",
-       "monobook.js": "/* Calquera JavaScript que haxa aquí será cargado para os usuarios que usen a aparencia MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/hak.json b/skins/MonoBook/i18n/hak.json
deleted file mode 100644 (file)
index 3253509..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Hakka"
-               ]
-       },
-       "monobook.css": "/* Chhṳ́-chhu ke CSS chiông-voi yáng-hióng sṳ́-yung Monobook mien-pán ke yung-fu */",
-       "monobook.js": "/* Yí-kîn put-chai sṳ́-yung; chhiáng-yung [[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/he.json b/skins/MonoBook/i18n/he.json
deleted file mode 100644 (file)
index 9e4f058..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Rotemliss",
-                       "Amire80"
-               ]
-       },
-       "skinname-monobook": "מונובוק",
-       "monobook-desc": "העיצוב הקלאסי של מדיה־ויקי מ־2004, שנקרא על שם הצילום השחור־לבן של ספר ברקע",
-       "monobook.css": "/* הסגנונות הנכתבים כאן ישפיעו על העיצוב MonoBook בלבד */",
-       "monobook.js": "/* כל סקריפט JavaScript שנכתב כאן ירוץ רק עבור המשתמשים בעיצוב Monobook */"
-}
diff --git a/skins/MonoBook/i18n/hi.json b/skins/MonoBook/i18n/hi.json
deleted file mode 100644 (file)
index e645482..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kaustubh",
-                       "Siddhartha Ghai"
-               ]
-       },
-       "monobook-desc": "2004 से मीडियाविकि की क्लासिक त्वचा, जिसका नाम पृष्ठभूमि में पुस्तक के इकरंगा चित्र से पड़ा।",
-       "monobook.css": "/* यहां रखी गई css मोनोबुक त्वचा का इस्तेमाल करने वाले सभी सदस्योंपर असर करेगी */",
-       "monobook.js": "/* यहाँ पर दी गई जावास्क्रिप्ट मोनोबुक त्वचा का प्रयोग कर रहे सदस्यों के लिए लोड होगी */"
-}
diff --git a/skins/MonoBook/i18n/hr.json b/skins/MonoBook/i18n/hr.json
deleted file mode 100644 (file)
index a56acbd..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/** Ovdje idu izmjene monobook stylesheeta */",
-       "monobook.js": "/* Ne rabi se više; molimo rabite [[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/hsb.json b/skins/MonoBook/i18n/hsb.json
deleted file mode 100644 (file)
index 2ac24c7..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Michawiki"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* CSS wobdźěłać, zo by so skin „monobook” za wšěčh wužiwarjow tutoho skina priměrił */",
-       "monobook.js": "/* Slědowacy JavaScript začita so za wužiwarjow, kotřiž šat MonoBook wužiwaja */"
-}
diff --git a/skins/MonoBook/i18n/hu.json b/skins/MonoBook/i18n/hu.json
deleted file mode 100644 (file)
index 07e3a10..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Dani"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* Az ide elhelyezett CSS hatással lesz a Monobook felület használóira */",
-       "monobook.js": "/* A Monobook felületet használó szerkesztők számára betöltendő JavaScriptek */"
-}
diff --git a/skins/MonoBook/i18n/hy.json b/skins/MonoBook/i18n/hy.json
deleted file mode 100644 (file)
index db1d72e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Teak"
-               ]
-       },
-       "skinname-monobook": "ՄիաԳիրք",
-       "monobook.css": "/* Այստեղ տեղադրված CSS կոդը կկիրառվի Monobook տեսքի վրա*/",
-       "monobook.js": "/* Հնացած է. օգտագործեք [[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/ia.json b/skins/MonoBook/i18n/ia.json
deleted file mode 100644 (file)
index 39a703c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "McDutchie"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "Le apparentia classic de MediaWiki depost 2004, nominate assi pro le imagine in nigro e blanco (\"mono\") de un libro (\"book\") in le fundo del pagina.",
-       "monobook.css": "/* Le CSS placiate hic afficera le usatores del apparentia MonoBook */",
-       "monobook.js": "/* Omne JavaScript hic se executara pro le usatores del apparentia MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/id.json b/skins/MonoBook/i18n/id.json
deleted file mode 100644 (file)
index d87d663..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Iwan Novirion",
-                       "Rex",
-                       "Arifin.wijaya"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "Kulit MediaWiki klasik sejak tahun 2004, dinamai foto hitam-putih dari buku di latar belakang halaman",
-       "monobook.css": "/* CSS yang ada di sini akan diterapkan pada kulit Monobook. */",
-       "monobook.js": "/* Semua JavaScript di sini akan dimuatkan untuk para pengguna yang menggunakan kulit MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/ilo.json b/skins/MonoBook/i18n/ilo.json
deleted file mode 100644 (file)
index c59ae5f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Lam-ang"
-               ]
-       },
-       "monobook-desc": "Ti klasiko a kudil ti MediaWiki manipud idi 2004, nanaganan manipud ti nangisit-ken-puraw a retrato ti libro iti likudan ti panid"
-}
diff --git a/skins/MonoBook/i18n/is.json b/skins/MonoBook/i18n/is.json
deleted file mode 100644 (file)
index 1539ae1..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "לערי ריינהארט"
-               ]
-       },
-       "skinname-monobook": "EinBók",
-       "monobook.css": "/* Það sem sett er hingað er bætt við Monobook stilsniðið fyrir allan vefinn */"
-}
diff --git a/skins/MonoBook/i18n/it.json b/skins/MonoBook/i18n/it.json
deleted file mode 100644 (file)
index ba87cd9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Beta16",
-                       "Darth Kule"
-               ]
-       },
-       "monobook-desc": "La skin classica di MediaWiki dal 2004, prende il nome dall'immagine in bianco e nero del libro usata come sfondo della pagina",
-       "monobook.css": "/* Gli stili CSS inseriti qui si applicano agli utenti che usano la skin Monobook */",
-       "monobook.js": "/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano la skin MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/ja.json b/skins/MonoBook/i18n/ja.json
deleted file mode 100644 (file)
index dddc9f8..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Fryed-peach",
-                       "青子守歌"
-               ]
-       },
-       "skinname-monobook": "モノブック",
-       "monobook.css": "/* ここに記述したCSSはモノブック外装の利用者に影響します */",
-       "monobook.js": "/* ここにあるすべてのJavaScriptは、モノブック外装を使用している利用者に対して読み込まれます */"
-}
diff --git a/skins/MonoBook/i18n/ka.json b/skins/MonoBook/i18n/ka.json
deleted file mode 100644 (file)
index 0b16b54..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Alsandro",
-                       "David1010"
-               ]
-       },
-       "skinname-monobook": "მონობუკი",
-       "monobook.css": "/* აქ ჩასმული CSS გავლენას იქონიებს Monobook ინტერფეისის მომხმარებლებზე */"
-}
diff --git a/skins/MonoBook/i18n/kk-arab.json b/skins/MonoBook/i18n/kk-arab.json
deleted file mode 100644 (file)
index d37e014..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-       "skinname-monobook": "دارا كىتاپ (monobook)",
-       "monobook.css": "/* مىندا ورنالاستىرىلعان CSS تەك «دارا كىتاپ» (monobook) مانەرىن پايدالانۋشىلارىنا ىقپال ەتەدى */",
-       "monobook.js": "/* مىنداعى JavaScript تەك «دارا كىتاپ» (monobook) مانەرىن پايدالانۋشىلار ٴۇشىن جەگىلەدى */"
-}
diff --git a/skins/MonoBook/i18n/kk-cyrl.json b/skins/MonoBook/i18n/kk-cyrl.json
deleted file mode 100644 (file)
index c964423..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Arystanbek"
-               ]
-       },
-       "skinname-monobook": "Жеке кітап (monobook)",
-       "monobook.css": "/* Мында орналастырылған CSS тек «Дара кітап» (monobook) мәнерін пайдаланушыларына ықпал етеді */",
-       "monobook.js": "/* Мындағы JavaScript тек «Дара кітап» (monobook) мәнерін пайдаланушылар үшін жегіледі */"
-}
diff --git a/skins/MonoBook/i18n/kk-latn.json b/skins/MonoBook/i18n/kk-latn.json
deleted file mode 100644 (file)
index 1bc6f64..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-       "skinname-monobook": "Dara kitap (monobook)",
-       "monobook.css": "/* Mında ornalastırılğan CSS tek «Dara kitap» (monobook) mänerin paýdalanwşılarına ıqpal etedi */",
-       "monobook.js": "/* Mındağı JavaScript tek «Dara kitap» (monobook) mänerin paýdalanwşılar üşin jegiledi */"
-}
diff --git a/skins/MonoBook/i18n/km.json b/skins/MonoBook/i18n/km.json
deleted file mode 100644 (file)
index 162e5a8..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "វ័ណថារិទ្ធ"
-               ]
-       },
-       "skinname-monobook": "សៀវភៅឯក",
-       "monobook.css": "/* CSS បានដាក់ទីនេះនឹងមានអនុភាពលើអ្នកប្រើប្រាស់នៃសំបក Monobook */"
-}
diff --git a/skins/MonoBook/i18n/ko.json b/skins/MonoBook/i18n/ko.json
deleted file mode 100644 (file)
index 08886f4..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "아라"
-               ]
-       },
-       "skinname-monobook": "모노북",
-       "monobook-desc": "문서 배경에서 책의 흑백 사진을 이른, 2004년 이후의 고전 미디어위키 스킨",
-       "monobook.css": "/* 이 CSS 설정은 모노북 스킨을 사용하는 사용자에게 적용됩니다 */",
-       "monobook.js": "/* 이 자바스크립트 설정은 모노북 스킨을 사용하는 사용자에게 적용됩니다 */"
-}
diff --git a/skins/MonoBook/i18n/krc.json b/skins/MonoBook/i18n/krc.json
deleted file mode 100644 (file)
index 2ec1410..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Къарачайлы"
-               ]
-       },
-       "skinname-monobook": "Моно-китаб"
-}
diff --git a/skins/MonoBook/i18n/ksh.json b/skins/MonoBook/i18n/ksh.json
deleted file mode 100644 (file)
index 6c8c810..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Purodha"
-               ]
-       },
-       "skinname-monobook": "MonoBoch",
-       "monobook.css": "/* CSS heh aan dä Stell wirrek nur op de Ovverflääsch „Monobooch“ */",
-       "monobook.js": "/* De JavaSkrippte fun hee krijje alle Sigge met de Ovverflääsch \"Monnobooch\" jescheck */"
-}
diff --git a/skins/MonoBook/i18n/ku-latn.json b/skins/MonoBook/i18n/ku-latn.json
deleted file mode 100644 (file)
index 7fb824a..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Krinkle"
-               ]
-       },
-       "monobook.css": "/* CSS placed here will affect users of the Monobook skin */"
-}
diff --git a/skins/MonoBook/i18n/lb.json b/skins/MonoBook/i18n/lb.json
deleted file mode 100644 (file)
index 95ba71a..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Robby"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "De klassesche Look vu MediaWiki zanter 2004, benannt no der Schwaarzwäissfoto vun engem Buch am Hannergrond vun der Säit",
-       "monobook.css": "/* Dës CSS huet nëmmen Afloss op de Skin ''Monobook''  */"
-}
diff --git a/skins/MonoBook/i18n/lt.json b/skins/MonoBook/i18n/lt.json
deleted file mode 100644 (file)
index 82ba416..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Garas"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* Čia įdėtas CSS bus rodomas Monobook išvaizdos naudotojams */",
-       "monobook.js": "/* Šis JavaScript bus įkeltas tik „MonoBook“ išvaizdos naudotojams. */"
-}
diff --git a/skins/MonoBook/i18n/lzh.json b/skins/MonoBook/i18n/lzh.json
deleted file mode 100644 (file)
index fd50ed7..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-       "skinname-monobook": "單書",
-       "monobook.css": "/* 此之 CSS 用於單書面之簿也 */",
-       "monobook.js": "/* 此之JavaScript將載於用單書面之簿 */"
-}
diff --git a/skins/MonoBook/i18n/mg.json b/skins/MonoBook/i18n/mg.json
deleted file mode 100644 (file)
index ed7db66..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "monobook.css": "/* Ovay ity rakitra ity raha hampiasa takilan'angaly (stylesheet) anao manokana amin'ny wiki iray manontolo */"
-}
diff --git a/skins/MonoBook/i18n/min.json b/skins/MonoBook/i18n/min.json
deleted file mode 100644 (file)
index 2eb9001..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Iwan Novirion"
-               ]
-       },
-       "skinname-monobook": "MonoBook"
-}
diff --git a/skins/MonoBook/i18n/mk.json b/skins/MonoBook/i18n/mk.json
deleted file mode 100644 (file)
index be8e280..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bjankuloski06"
-               ]
-       },
-       "skinname-monobook": "Монобук",
-       "monobook-desc": "Класичното руво на МедијаВики од 2004 г., наречена по црнобелата слика на книга во позадината",
-       "monobook.css": "/* Тука поставениот CSS ќе се применува врз корисниците на рувото „Монобук“ */",
-       "monobook.js": "/* Тука поставениот JavaScript  ќе им се вчитува на корисниците што го користат рувото „Монобук“ */"
-}
diff --git a/skins/MonoBook/i18n/ml.json b/skins/MonoBook/i18n/ml.json
deleted file mode 100644 (file)
index 606cf6c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Praveenp"
-               ]
-       },
-       "skinname-monobook": "മോണോബുക്ക്",
-       "monobook.css": "/* ഇവിടെ നൽകുന്ന സി.എസ്.എസ്. മോണോബുക്ക് ദൃശ്യരൂപം ഉപയോഗിക്കുന്നവർക്ക് ബാധകമായിരിക്കും */",
-       "monobook.js": "/* ഇവിടെ നൽകുന്ന ജാവാസ്ക്രിപ്റ്റ് മോണോബുക്ക് ദൃശ്യരൂപം ഉപയോഗിക്കുന്നവർക്ക് ബാധകമായിരിക്കും */"
-}
diff --git a/skins/MonoBook/i18n/mr.json b/skins/MonoBook/i18n/mr.json
deleted file mode 100644 (file)
index 0700112..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "skinname-monobook": "मोनोबुक"
-}
diff --git a/skins/MonoBook/i18n/ms.json b/skins/MonoBook/i18n/ms.json
deleted file mode 100644 (file)
index c01a8cc..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Anakmalaysia",
-                       "Pizza1016"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "Kulit MediaWiki yang klasik sejak tahun 2004, dinamakan selepas foto hitam-dan-putih sebuah buku dalam belakang laman.",
-       "monobook.css": "/* CSS yang terletak di sini akan mempengaruhi pengguna kulit Monobook */"
-}
diff --git a/skins/MonoBook/i18n/mt.json b/skins/MonoBook/i18n/mt.json
deleted file mode 100644 (file)
index 3d4a9b0..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Giangian15"
-               ]
-       },
-       "skinname-monobook": "Monobook",
-       "monobook.css": "/* CSS li tpoġġa hawnhekk se jaffetwa dawk l-utenti li jagħmlu użu mill-iskin ''Monobook'' */",
-       "monobook.js": "/* Kull ''JavaScript'' hawnhekk jiġi mniżżel għal dawk l-utenti li qegħdin jagħmlu użu mill-iskin ''Monobook'' */"
-}
diff --git a/skins/MonoBook/i18n/mwl.json b/skins/MonoBook/i18n/mwl.json
deleted file mode 100644 (file)
index 533e78a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "skinname-monobook": "Lhibro"
-}
diff --git a/skins/MonoBook/i18n/nb.json b/skins/MonoBook/i18n/nb.json
deleted file mode 100644 (file)
index 312f9c6..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-       "@metadata": [],
-       "skinname-monobook": "Monobook",
-       "monobook-desc": "Den klassiske MediaWiki-drakten fra 2004, oppkalt etter svarthvittbildet av en bok  som brukes som bakgrunnsbilde",
-       "monobook.css": "/* CSS i denne fila vil gjelde alle som bruker drakta Monobook */",
-       "monobook.js": "/* Javascript i denne fila vil gjelde for brukere av drakta Monobook */"
-}
diff --git a/skins/MonoBook/i18n/nds-nl.json b/skins/MonoBook/i18n/nds-nl.json
deleted file mode 100644 (file)
index 38e52ec..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Servien"
-               ]
-       },
-       "skinname-monobook": "Monobook"
-}
diff --git a/skins/MonoBook/i18n/nds.json b/skins/MonoBook/i18n/nds.json
deleted file mode 100644 (file)
index dddb393..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "monobook.css": "/* disse Datei ännern üm de Monobook-Stilvörlaag för de ganze Siet antopassen */"
-}
diff --git a/skins/MonoBook/i18n/ne.json b/skins/MonoBook/i18n/ne.json
deleted file mode 100644 (file)
index 04516dd..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "सरोज कुमार ढकाल"
-               ]
-       },
-       "skinname-monobook": "मोनोबुक",
-       "monobook.css": "/* यहाँ राखिएको CSS ले मोनोबुक स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ  */"
-}
diff --git a/skins/MonoBook/i18n/new.json b/skins/MonoBook/i18n/new.json
deleted file mode 100644 (file)
index a16deba..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Eukesh"
-               ]
-       },
-       "monobook.css": "/* थन तःगु CSS नं मोनोबुक स्किनया छ्य्‌लामितेत असर याइ */"
-}
diff --git a/skins/MonoBook/i18n/nl.json b/skins/MonoBook/i18n/nl.json
deleted file mode 100644 (file)
index b08e117..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Siebrand",
-                       "Sjoerddebruin"
-               ]
-       },
-       "skinname-monobook": "Monobook",
-       "monobook-desc": "De klassieke MediaWiki-vormgeving sinds 2004, genoemd naar de zwart-witfoto van een boek op de achtergrond van de pagina",
-       "monobook.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Monobook */",
-       "monobook.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die de skin Monobook gebruiken */"
-}
diff --git a/skins/MonoBook/i18n/nn.json b/skins/MonoBook/i18n/nn.json
deleted file mode 100644 (file)
index 2655c70..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Eirik",
-                       "Frokor",
-                       "Njardarlogar"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* CSS-tekst som vert plassert her, endrar utsjånaden til sidedrakta Monobook */",
-       "monobook.js": "/* Javascript i denne fila vil gjelde for brukarar av drakta Monobook */"
-}
diff --git a/skins/MonoBook/i18n/nv.json b/skins/MonoBook/i18n/nv.json
deleted file mode 100644 (file)
index ede8a6d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "skinname-monobook": "NaaltsoosŁáa'ígíí"
-}
diff --git a/skins/MonoBook/i18n/oc.json b/skins/MonoBook/i18n/oc.json
deleted file mode 100644 (file)
index 7c1e1f8..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Cedric31"
-               ]
-       },
-       "skinname-monobook": "Monobook",
-       "monobook.css": "/* Lo CSS plaçat aicí afectarà los utilizaires del skin Monobook */",
-       "monobook.js": "/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge MonoBook unicament. */"
-}
diff --git a/skins/MonoBook/i18n/os.json b/skins/MonoBook/i18n/os.json
deleted file mode 100644 (file)
index 86efc7f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "skinname-monobook": "Моно-чиныг"
-}
diff --git a/skins/MonoBook/i18n/pa.json b/skins/MonoBook/i18n/pa.json
deleted file mode 100644 (file)
index f9e0833..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "skinname-monobook": "ਮੋਨੋਬੁੱਕ"
-}
diff --git a/skins/MonoBook/i18n/pam.json b/skins/MonoBook/i18n/pam.json
deleted file mode 100644 (file)
index 8b31a7b..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "monobook.css": "/* CSS a mikabit keni miapectuan la reng gagamit king Monobook a pabalat */"
-}
diff --git a/skins/MonoBook/i18n/pdt.json b/skins/MonoBook/i18n/pdt.json
deleted file mode 100644 (file)
index 428d91c..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Wikipeeta"
-               ]
-       },
-       "monobook.css": "/* CSS opp dise Sted wirtjt opp daut Monobook-Skin */",
-       "monobook.js": "/* Daut neachste JavaScript woat fe Brucka mett Monobook-Skin jelode */"
-}
diff --git a/skins/MonoBook/i18n/pl.json b/skins/MonoBook/i18n/pl.json
deleted file mode 100644 (file)
index 4c7031a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Sp5uhe",
-                       "Matma Rex"
-               ]
-       },
-       "skinname-monobook": "Książka",
-       "monobook-desc": "Klasyczna skórka MediaWiki, stworzona w 2004 roku, nazwana od czarno-białego zdjęcia książki w tle strony",
-       "monobook.css": "/* Umieszczony tutaj kod CSS wpłynie na wygląd skórki Książka */",
-       "monobook.js": "/* Umieszczony tutaj kod JavaScript zostanie załadowany wyłącznie przez użytkowników korzystających ze skórki Książka */"
-}
diff --git a/skins/MonoBook/i18n/pms.json b/skins/MonoBook/i18n/pms.json
deleted file mode 100644 (file)
index 8910d4c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-       "monobook.css": "/* cangé st'archivi-sì për modifiché la formatassion dël sit antregh */",
-       "monobook.js": "/* Ës messagi-sì as dovrìa pa pì dovrelo; a sò pòst ch'a dòvra [[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/ps.json b/skins/MonoBook/i18n/ps.json
deleted file mode 100644 (file)
index d7ee132..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "skinname-monobook": "مونوبوک"
-}
diff --git a/skins/MonoBook/i18n/pt-br.json b/skins/MonoBook/i18n/pt-br.json
deleted file mode 100644 (file)
index afd441c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Fabsouza1"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "A skin clássica do MediaWiki desde 2004, assim chamada depois de uma foto preto-e-branco de um livro colocada plano de fundo da página",
-       "monobook.css": "/* o código CSS colocado aqui terá efeito nos usuários do tema Monobook */",
-       "monobook.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do skin MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/pt.json b/skins/MonoBook/i18n/pt.json
deleted file mode 100644 (file)
index df34886..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Hamilton Abreu",
-                       "Fúlvio",
-                       "Vitorvicentevalente"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook-desc": "O tema clássico do MediaWiki desde 2004, tendo este nome sido atribuído devido a uma imagem a preto-e-branco de um livro no plano de fundo da página",
-       "monobook.css": "/* Código CSS colocado aqui afectará os utilizadores do tema Monobook */",
-       "monobook.js": "/* Código Javascript colocado aqui será carregado para utilizadores do tema Monobook */"
-}
diff --git a/skins/MonoBook/i18n/qqq.json b/skins/MonoBook/i18n/qqq.json
deleted file mode 100644 (file)
index 5056ddb..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Meno25",
-                       "Umherirrender",
-                       "Matma Rex"
-               ]
-       },
-       "skinname-monobook": "{{optional}}",
-       "monobook-desc": "{{desc|what=skin|name=MonoBook|url=https://www.mediawiki.org/wiki/Skin:MonoBook}}",
-       "monobook.css": "{{optional}}\nCSS applied to users using MonoBook skin.",
-       "monobook.js": "{{optional}}\nJS for users using MonoBook skin."
-}
diff --git a/skins/MonoBook/i18n/qu.json b/skins/MonoBook/i18n/qu.json
deleted file mode 100644 (file)
index 2fdb43c..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "AlimanRuna"
-               ]
-       },
-       "monobook.css": "/* Kayman churasqa CSS nisqaqa Monobook qaratam hukchanqa tukuy internet tiyanapaq */",
-       "monobook.js": "/* Ima kaypi qillqamusqa JavaScript nisqa wakichi qillqapas MonoBook nisqata llamk'achiq ruraqkunapaq chaqnasqa kanqa */"
-}
diff --git a/skins/MonoBook/i18n/rm.json b/skins/MonoBook/i18n/rm.json
deleted file mode 100644 (file)
index 7eb17f7..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gion-andri"
-               ]
-       },
-       "monobook.css": "/* editescha quest file per adattar il skin momobook per l'entira pagina */",
-       "monobook.js": ""
-}
diff --git a/skins/MonoBook/i18n/ro.json b/skins/MonoBook/i18n/ro.json
deleted file mode 100644 (file)
index 2232372..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Firilacroco"
-               ]
-       },
-       "skinname-monobook": "Monobook",
-       "monobook.css": "/* modificați acest fișier pentru a adapta înfățișarea monobook-ului pentru tot situl*/"
-}
diff --git a/skins/MonoBook/i18n/roa-tara.json b/skins/MonoBook/i18n/roa-tara.json
deleted file mode 100644 (file)
index d7b52b0..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Joetaras"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* 'U CSS ca se iacchie aqquà 'u 'ndrucane le utinde d'a masckere Monobook */",
-       "monobook.js": "/* Ogne JavaScript aqquà avène carecate pe le utinde ca ausane 'a masckere MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/ru.json b/skins/MonoBook/i18n/ru.json
deleted file mode 100644 (file)
index c3b1d46..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "AlexSm",
-                       "Kaganer",
-                       "Okras"
-               ]
-       },
-       "monobook-desc": "Классическая тема оформления MediaWiki, созданная в 2004 году и названая в честь чёрно-белой фотографии книги с фонового изображения страницы",
-       "monobook.css": "/* Размещённый здесь CSS будет применяться к теме оформления Monobook */",
-       "monobook.js": "/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/sa.json b/skins/MonoBook/i18n/sa.json
deleted file mode 100644 (file)
index 5f3f966..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "skinname-monobook": "पुस्तक"
-}
diff --git a/skins/MonoBook/i18n/sah.json b/skins/MonoBook/i18n/sah.json
deleted file mode 100644 (file)
index 5f3cbfc..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "HalanTul"
-               ]
-       },
-       "monobook.css": "/* Манна оҥоһуллубут CSS Monobook диэн скиҥҥа туһаныллыа */",
-       "monobook.js": "/* Эргэрбит; маны туһан:[[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/scn.json b/skins/MonoBook/i18n/scn.json
deleted file mode 100644 (file)
index cba6acf..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Santu",
-                       "Sarvaturi",
-                       "Tonyfroio"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* Li stili CSS nziriti ccà s'àpplicanu a l'utenti chi usanu la skin Monobook */",
-       "monobook.js": "/* Lu còdici JavaScript nzirutu ccà veni carricatu di l'utenti c'ùsanu la skin MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/si.json b/skins/MonoBook/i18n/si.json
deleted file mode 100644 (file)
index 89a6028..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "නන්දිමිතුරු"
-               ]
-       },
-       "monobook.css": "/* මෙහි CSS  බහාලීම ඒකායන ඡවිය භාවිතා කරන පරිශීලකයන් හට බලපෑම් සිදු කල හැක */",
-       "monobook.js": "/* මෙහි ඕනෑම ජාවාස්ක්‍රිප්ට් එකක් ඒකායන ඡවිය භාවිතා කරන පරිශීලකයන්හට ප්‍රවේශනය කෙරේ */"
-}
diff --git a/skins/MonoBook/i18n/sk.json b/skins/MonoBook/i18n/sk.json
deleted file mode 100644 (file)
index 8865e10..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Helix84",
-                       "Rudko"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* Tu umiestnené CSS bude ovplyvňovať používateľov štýlu Monobook */",
-       "monobook.js": "/* Tu sa nachádzajúci JavaScript sa načíta používateľom vzhľadu Monobook */"
-}
diff --git a/skins/MonoBook/i18n/sq.json b/skins/MonoBook/i18n/sq.json
deleted file mode 100644 (file)
index 2a74455..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Dori"
-               ]
-       },
-       "monobook.css": "/* redaktoni këtë faqe për të përshtatur pamjen Monobook për tëra faqet tuaja */"
-}
diff --git a/skins/MonoBook/i18n/sr-ec.json b/skins/MonoBook/i18n/sr-ec.json
deleted file mode 100644 (file)
index 0304c03..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Rancher"
-               ]
-       },
-       "skinname-monobook": "Монобук",
-       "monobook.css": "/* CSS постављен овде ће утицати на све кориснике теме „Монобук“ */",
-       "monobook.js": "/* Јаваскрипт постављен овде ће се учитати за све оне који користе тему „Монобук“ */"
-}
diff --git a/skins/MonoBook/i18n/sr-el.json b/skins/MonoBook/i18n/sr-el.json
deleted file mode 100644 (file)
index 35398b5..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Rancher"
-               ]
-       },
-       "skinname-monobook": "Monobuk",
-       "monobook.css": "/* CSS postavljen ovde će uticati na sve korisnike teme „Monobuk“ */",
-       "monobook.js": "/* Javaskript postavljen ovde će se učitati za sve one koji koriste temu „Monobuk“ */"
-}
diff --git a/skins/MonoBook/i18n/stq.json b/skins/MonoBook/i18n/stq.json
deleted file mode 100644 (file)
index d21f86d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Maartenvdbent"
-               ]
-       },
-       "monobook.css": "/* Littikschrieuwen nit twinge */",
-       "monobook.js": "/* Ferallerd; benutsje insteede deerfon [[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/su.json b/skins/MonoBook/i18n/su.json
deleted file mode 100644 (file)
index 627a97b..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "monobook.css": "/* édit koropak ieu pikeun nyaluyukeun kulit ''monobook'' pikeun sakabéh situs */"
-}
diff --git a/skins/MonoBook/i18n/sv.json b/skins/MonoBook/i18n/sv.json
deleted file mode 100644 (file)
index 4c08fd8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Lejonel",
-                       "Lokal Profil",
-                       "Skalman"
-               ]
-       },
-       "skinname-monobook": "Monobook",
-       "monobook-desc": "Det klassiska MediaWiki-utseendet sedan 2004, uppkallad efter det svart-vita foto på en bok som syns i bakgrunden på sidan.",
-       "monobook.css": "/* CSS som skrivs här kommer att påverka alla användare av skalet Monobook */",
-       "monobook.js": "/* JavaScript här kommer att laddas för dem som använder skalet Monobook */"
-}
diff --git a/skins/MonoBook/i18n/te.json b/skins/MonoBook/i18n/te.json
deleted file mode 100644 (file)
index 71b3dbe..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Veeven"
-               ]
-       },
-       "skinname-monobook": "మోనోబుక్"
-}
diff --git a/skins/MonoBook/i18n/th.json b/skins/MonoBook/i18n/th.json
deleted file mode 100644 (file)
index 38be3f9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Manop",
-                       "Octahedron80"
-               ]
-       },
-       "skinname-monobook": "โมโนบุ๊ก",
-       "monobook.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินโมโนบุ๊ก */",
-       "monobook.js": "/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินโมโนบุ๊ก */"
-}
diff --git a/skins/MonoBook/i18n/tl.json b/skins/MonoBook/i18n/tl.json
deleted file mode 100644 (file)
index 5d10527..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "AnakngAraw",
-                       "Sky Harbor"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* Ang CSS na inilagay dito ay makakaapekto sa mga tagagamit ng pabalat na Monobook */",
-       "monobook.js": "/* Ang anumang JavaScript dito ay ikakarga para sa mga tagagamit na gumagamit ng pabalat na MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/tr.json b/skins/MonoBook/i18n/tr.json
deleted file mode 100644 (file)
index bdb96c8..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Dbl2010"
-               ]
-       },
-       "monobook.css": "/* Buraya konulacak CSS kodu tüm Monobook teması kullanan tüm kullanıcılarda etkin olur */"
-}
diff --git a/skins/MonoBook/i18n/tt-cyrl.json b/skins/MonoBook/i18n/tt-cyrl.json
deleted file mode 100644 (file)
index 8f84daf..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ильнар"
-               ]
-       },
-       "skinname-monobook": "Китап"
-}
diff --git a/skins/MonoBook/i18n/tt-latn.json b/skins/MonoBook/i18n/tt-latn.json
deleted file mode 100644 (file)
index 53dfaa0..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Don Alessandro"
-               ]
-       },
-       "skinname-monobook": "Kitap"
-}
diff --git a/skins/MonoBook/i18n/tyv.json b/skins/MonoBook/i18n/tyv.json
deleted file mode 100644 (file)
index 26936cf..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Sborsody"
-               ]
-       },
-       "skinname-monobook": "МоноБук"
-}
diff --git a/skins/MonoBook/i18n/ug-arab.json b/skins/MonoBook/i18n/ug-arab.json
deleted file mode 100644 (file)
index 73e0776..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Arlin"
-               ]
-       },
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* CSS placed here will affect users of the Monobook skin */",
-       "monobook.js": "/* Any JavaScript here will be loaded for users using the MonoBook skin */"
-}
diff --git a/skins/MonoBook/i18n/uk.json b/skins/MonoBook/i18n/uk.json
deleted file mode 100644 (file)
index 289f50e..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Dim Grits",
-                       "Matma Rex",
-                       "Ата"
-               ]
-       },
-       "skinname-monobook": "Моно-книга",
-       "monobook-desc": "Класична тема оформлення MediaWiki з 2004 року, названа за чорно-білим фото книги на фоні сторінки",
-       "monobook.css": "/* Розміщений тут CSS буде застосовуватися до всіх тем оформлення Monobook */",
-       "monobook.js": "/* Розміщений тут код JavaScript буде завантажений для всіх користувачів, що використовують тему оформлення Моно-книга */"
-}
diff --git a/skins/MonoBook/i18n/vep.json b/skins/MonoBook/i18n/vep.json
deleted file mode 100644 (file)
index 2213e16..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Игорь Бродский"
-               ]
-       },
-       "skinname-monobook": "MonoBook"
-}
diff --git a/skins/MonoBook/i18n/vi.json b/skins/MonoBook/i18n/vi.json
deleted file mode 100644 (file)
index 67566f6..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Minh Nguyen"
-               ]
-       },
-       "monobook-desc": "Giao diện MediaWiki cổ điển năm 2004, được đặt tên theo bức hình nền cuốn sách đen trắng",
-       "monobook.css": "/* Mã CSS đặt ở đây sẽ ảnh hưởng đến thành viên sử dụng giao diện MonoBook */",
-       "monobook.js": "/* Mã JavaScript tại đây sẽ được tải khi người dùng sử dụng giao diện MonoBook */"
-}
diff --git a/skins/MonoBook/i18n/vmf.json b/skins/MonoBook/i18n/vmf.json
deleted file mode 100644 (file)
index 9b3453b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Silvicola"
-               ]
-       },
-       "monobook.css": "/* CSS hiir beâjflusd nôr dii Monobook-schelfn. Wen'd ale uf ôômôôl beâjflusn wilsch, muâsch an MediaWiki:Common.css was ändârn. */"
-}
diff --git a/skins/MonoBook/i18n/vo.json b/skins/MonoBook/i18n/vo.json
deleted file mode 100644 (file)
index 9e4d0f4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "monobook.css": "/* El CSS isio pepladöl otefon gebanis padafomäta: Monobook */"
-}
diff --git a/skins/MonoBook/i18n/vro.json b/skins/MonoBook/i18n/vro.json
deleted file mode 100644 (file)
index 9bc1039..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Võrok"
-               ]
-       },
-       "monobook.css": "/* Taa lehe pääl om Monobook-vällänägemist muutvit kujonduisi. */",
-       "monobook.js": "/* Olõi soovitõt; pruugiq [[MediaWiki:common.js]] */"
-}
diff --git a/skins/MonoBook/i18n/wa.json b/skins/MonoBook/i18n/wa.json
deleted file mode 100644 (file)
index 8ffba09..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Srtxg"
-               ]
-       },
-       "monobook.css": "/* li côde CSS metou chal serè eployî pa tos les uzeus eployant l' pea «monobook» */"
-}
diff --git a/skins/MonoBook/i18n/wo.json b/skins/MonoBook/i18n/wo.json
deleted file mode 100644 (file)
index a01b87e..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ibou"
-               ]
-       },
-       "monobook.css": "/* CSS yiñ def fii dañuy am ay njeexit ci jëfandikukatu col gu Monobook. */",
-       "monobook.js": "/*Bépp JavaScript buñ fi duggal jëfandikukat yiy jëfandikoo col gu Monobook keppa koy yeb. */"
-}
diff --git a/skins/MonoBook/i18n/yi.json b/skins/MonoBook/i18n/yi.json
deleted file mode 100644 (file)
index 5a7d3e1..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "פוילישער"
-               ]
-       },
-       "skinname-monobook": "מאנאבוק",
-       "monobook.css": "/* סטייל דא געלייגט וועט באאיינפלוסן דעם Monobook סקין */"
-}
diff --git a/skins/MonoBook/i18n/yue.json b/skins/MonoBook/i18n/yue.json
deleted file mode 100644 (file)
index b450970..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-       "skinname-monobook": "MonoBook",
-       "monobook.css": "/* 響呢度放 CSS 碼去改用戶用嘅 Monobook 畫面 */",
-       "monobook.js": "/* 響每一次個頁面載入時,用 Monobook 畫面嘅用戶都會載入呢度任何嘅JavaScript */"
-}
diff --git a/skins/MonoBook/i18n/zh-hans.json b/skins/MonoBook/i18n/zh-hans.json
deleted file mode 100644 (file)
index fc3f368..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Xiaomingyan",
-                       "Cwek",
-                       "Liuxinyu970226"
-               ]
-       },
-       "monobook-desc": "自2004年就出现的经典MediaWiki皮肤,命名依据一本书中某页面的黑白照片背景",
-       "monobook.css": "/* 放置于这里的CSS将影响使用MonoBook皮肤的用户 */",
-       "monobook.js": "/* 这里的任何JavaScript将为使用MonoBook皮肤的用户加载 */"
-}
diff --git a/skins/MonoBook/i18n/zh-hant.json b/skins/MonoBook/i18n/zh-hant.json
deleted file mode 100644 (file)
index e6a6a78..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Cwlin0416"
-               ]
-       },
-       "monobook-desc": "MediaWiki 自 2004 年以來的經典外觀,根據頁面背景的書本黑白照命名",
-       "monobook.css": "/* 此 CSS 會影響使用 Monobook 介面外觀的使用者 */",
-       "monobook.js": "/* 此 JavaScript 會用於使用 Monobook 介面外觀使用者 */"
-}
diff --git a/skins/MonoBook/link_icon.gif b/skins/MonoBook/link_icon.gif
deleted file mode 100644 (file)
index 168c1a2..0000000
Binary files a/skins/MonoBook/link_icon.gif and /dev/null differ
diff --git a/skins/MonoBook/lock_icon.gif b/skins/MonoBook/lock_icon.gif
deleted file mode 100644 (file)
index f71cd9b..0000000
Binary files a/skins/MonoBook/lock_icon.gif and /dev/null differ
diff --git a/skins/MonoBook/magnify-clip.png b/skins/MonoBook/magnify-clip.png
deleted file mode 100644 (file)
index ffd7637..0000000
Binary files a/skins/MonoBook/magnify-clip.png and /dev/null differ
diff --git a/skins/MonoBook/mail_icon.gif b/skins/MonoBook/mail_icon.gif
deleted file mode 100644 (file)
index cf5680d..0000000
Binary files a/skins/MonoBook/mail_icon.gif and /dev/null differ
diff --git a/skins/MonoBook/main.css b/skins/MonoBook/main.css
deleted file mode 100644 (file)
index 1fb9ad4..0000000
+++ /dev/null
@@ -1,908 +0,0 @@
-/*
-** MediaWiki 'monobook' style sheet for CSS2-capable browsers.
-** Copyright Gabriel Wicke - http://wikidev.net/
-** License: GPL (http://www.gnu.org/copyleft/gpl.html)
-**
-** Loosely based on http://www.positioniseverything.net/ordered-floats.html by Big John
-** and the Plone 2.0 styles, see http://plone.org/ (Alexander Limi,Joe Geldart & Tom Croucher,
-** Michael Zeltner and Geir Bækholt)
-** All you guys rock :)
-*/
-
-div#column-content {
-       width: 100%;
-       float: right;
-       margin: 0 0 .6em -12.2em;
-       padding: 0;
-}
-
-div#content {
-       margin: 2.8em 0 0 12.2em;
-       padding: 1em;
-       position: relative;
-       z-index: 2;
-}
-
-div#column-one {
-       padding-top: 160px;
-}
-
-/* Hide, but keep accessible for screen-readers */
-#column-one h2 {
-       position: absolute;
-       top: -9999px;
-}
-
-div#content {
-       background: white;
-       color: black;
-       border: 1px solid #aaa;
-       border-right: none;
-       line-height: 1.5em;
-}
-
-/* the left column width is specified in class .portlet */
-
-/* Font size:
-** We take advantage of keyword scaling- browsers won't go below 9px
-** More at http://www.w3.org/2003/07/30-font-size
-** http://style.cleverchimp.com/font_size_intervals/altintervals.html
-*/
-
-body {
-       font: x-small sans-serif;
-       /* @embed */
-       background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat;
-       color: black;
-       margin: 0;
-       padding: 0;
-       direction: ltr; /* Needed for RTL flipping */
-       unicode-bidi: embed;
-}
-
-/* scale back up to a sane default */
-div#globalWrapper {
-       font-size: 127%;
-       width: 100%;
-       margin: 0;
-       padding: 0;
-}
-
-/* general styles */
-a {
-       color: #002bb8;
-}
-
-a:visited {
-       color: #5a3696;
-}
-
-a.new,
-#p-personal a.new {
-       color: #cc2200;
-}
-
-ul {
-       list-style-type: square;
-       /* @embed */
-       list-style-image: url(bullet.gif);
-}
-
-input.historysubmit {
-       padding: 0 .3em .3em .3em !important;
-       font-size: 94%;
-       cursor: pointer;
-       height: 1.7em !important;
-       margin-left: 1.6em;
-}
-
-pre, .mw-code {
-       line-height: 1.1em;
-}
-
-#firstHeading {
-       padding-top: 0;
-}
-
-/*
-** the main content area
-*/
-
-#siteNotice {
-       font-size: 95%;
-       padding: 0 0.9em;
-}
-
-#localNotice {
-       margin: 0;
-}
-
-#siteNotice p {
-       margin: 0;
-       padding: 0;
-}
-
-/*
-** classes for special content elements like town boxes
-** intended to be referenced directly from the wiki src
-*/
-
-/*
-** User styles
-*/
-/* table standards */
-table.rimage {
-       float: right;
-       position: relative;
-       margin-left: 1em;
-       margin-bottom: 1em;
-       text-align: center;
-}
-
-/*
-** edit views etc
-*/
-.special li {
-       line-height: 1.4em;
-       margin: 0;
-       padding: 0;
-}
-
-/*
-** keep the whitespace in front of the ^=, hides rule from konqueror
-** this is css3, the validator doesn't like it when validating as css2
-*/
-#bodyContent a.external {
-       /* @embed */
-       background: url(external-ltr.png) center right no-repeat;
-       padding-right: 13px;
-}
-
-#bodyContent a.external[href ^="https://"],
-.link-https {
-       /* @embed */
-       background: url(lock_icon.gif) center right no-repeat;
-       padding-right: 16px;
-}
-
-#bodyContent a.external[href ^="mailto:"],
-.link-mailto {
-       /* @embed */
-       background: url(mail_icon.gif) center right no-repeat;
-       padding-right: 18px;
-}
-
-#bodyContent a.external[href ^="news:"] {
-       /* @embed */
-       background: url(news_icon.png) center right no-repeat;
-       padding-right: 18px;
-}
-
-#bodyContent a.external[href ^="ftp://"],
-.link-ftp {
-       /* @embed */
-       background: url(file_icon.gif) center right no-repeat;
-       padding-right: 18px;
-}
-
-#bodyContent a.external[href ^="irc://"],
-#bodyContent a.external[href ^="ircs://"],
-.link-irc {
-       /* @embed */
-       background: url(discussionitem_icon.gif) center right no-repeat;
-       padding-right: 18px;
-}
-
-#bodyContent a.external[href $=".ogg"], #bodyContent a.external[href $=".OGG"],
-#bodyContent a.external[href $=".mid"], #bodyContent a.external[href $=".MID"],
-#bodyContent a.external[href $=".midi"], #bodyContent a.external[href $=".MIDI"],
-#bodyContent a.external[href $=".mp3"], #bodyContent a.external[href $=".MP3"],
-#bodyContent a.external[href $=".wav"], #bodyContent a.external[href $=".WAV"],
-#bodyContent a.external[href $=".wma"], #bodyContent a.external[href $=".WMA"],
-.link-audio {
-       /* @embed */
-       background: url(audio.png) center right no-repeat;
-       padding-right: 13px;
-}
-
-#bodyContent a.external[href $=".ogm"], #bodyContent a.external[href $=".OGM"],
-#bodyContent a.external[href $=".avi"], #bodyContent a.external[href $=".AVI"],
-#bodyContent a.external[href $=".mpeg"], #bodyContent a.external[href $=".MPEG"],
-#bodyContent a.external[href $=".mpg"], #bodyContent a.external[href $=".MPG"],
-.link-video {
-       /* @embed */
-       background: url(video.png) center right no-repeat;
-       padding-right: 13px;
-}
-
-#bodyContent a.external[href $=".pdf"], #bodyContent a.external[href $=".PDF"],
-#bodyContent a.external[href *=".pdf#"], #bodyContent a.external[href *=".PDF#"],
-#bodyContent a.external[href *=".pdf?"], #bodyContent a.external[href *=".PDF?"],
-.link-document {
-       /* @embed */
-       background: url(document.png) center right no-repeat;
-       padding-right: 12px;
-}
-
-/* Interwiki Styling */
-#bodyContent a.extiw,
-#bodyContent a.extiw:active {
-       color: #36b;
-}
-
-/* External links */
-#bodyContent a.external {
-       color: #36b;
-}
-
-/*
-** Structural Elements
-*/
-
-/*
-** general portlet styles (elements in the quickbar)
-*/
-.portlet {
-       border: none;
-       margin: 0 0 .5em;
-       padding: 0;
-       float: none;
-       width: 11.6em;
-       overflow: hidden;
-}
-
-.portlet h3 {
-       background: transparent;
-       padding: 0 1em 0 .5em;
-       display: inline;
-       height: 1em;
-       text-transform: lowercase;
-       font-size: 91%;
-       font-weight: normal;
-       white-space: nowrap;
-}
-
-.pBody {
-       font-size: 95%;
-       background-color: white;
-       color: black;
-       border-collapse: collapse;
-       border: 1px solid #aaa;
-       padding: 0 .8em .3em .5em;
-}
-
-/* allows .pBody styles to wrap around content added via BaseTemplateAfterPortlet hook */
-.pBody:after {
-       content: '';
-       clear: both;
-       display: block;
-}
-
-.portlet ul {
-       line-height: 1.5em;
-       font-size: 95%;
-}
-
-.portlet li {
-       padding: 0;
-       margin: 0;
-}
-
-/*
-** Logo properties
-*/
-
-#p-logo {
-       top: 0;
-       left: 0;
-       position: absolute; /*needed to use z-index */
-       z-index: 3;
-       height: 155px;
-       width: 12em;
-       overflow: visible;
-}
-
-#p-logo h3 {
-       display: none;
-}
-
-#p-logo a,
-#p-logo a:hover {
-       display: block;
-       height: 155px;
-       width: 12.2em;
-       background-repeat: no-repeat;
-       background-position: 35% 50% !important;
-       text-decoration: none;
-}
-
-/*
-** Search portlet
-*/
-#p-search {
-       position: relative;
-       z-index: 3;
-}
-
-input.searchButton {
-       margin-top: 1px;
-       font-size: 95%;
-}
-
-#searchGoButton {
-       padding-left: .5em;
-       padding-right: .5em;
-       font-weight: bold;
-}
-
-#searchInput {
-       width: 10.9em;
-       margin: 0;
-       font-size: 95%;
-}
-
-#p-search .pBody {
-       padding: .5em .4em .4em .4em;
-       text-align: center;
-}
-
-#p-search #searchform div div {
-       margin-top: .4em;
-       font-size: 95%;
-}
-
-/*
-** the personal toolbar
-*/
-#p-personal {
-       position: absolute;
-       left: 0;
-       top: 0;
-       z-index: 3;
-}
-
-#p-personal {
-       width: 100%;
-       white-space: nowrap;
-       padding: 0;
-       margin: 0;
-       border: none;
-       background: none;
-       overflow: visible;
-       line-height: 1.2em;
-}
-
-#p-personal h3 {
-       display: none;
-}
-
-#p-personal .portlet,
-#p-personal .pBody {
-       z-index: 0;
-       padding: 0;
-       margin: 0;
-       border: none;
-       overflow: visible;
-       background: none;
-}
-
-/* this is the ul contained in the portlet */
-#p-personal ul {
-       border: none;
-       line-height: 1.4em;
-       color: #2f6fab;
-       padding: 0 2em 0 3em;
-       margin: 0;
-       text-align: right;
-       list-style-type: none;
-       list-style-image: none;
-       z-index: 0;
-       background: none;
-       cursor: default;
-}
-
-#p-personal li {
-       z-index: 0;
-       border: none;
-       padding: 0;
-       display: inline;
-       color: #2f6fab;
-       margin-left: 1em;
-       line-height: 1.2em;
-       background: none;
-}
-
-#p-personal li a {
-       text-decoration: none;
-       color: #005896;
-       padding-bottom: .2em;
-       background: none;
-}
-
-#p-personal li a:hover {
-       background-color: white;
-       padding-bottom: .2em;
-       text-decoration: none;
-}
-
-#p-personal li.active a:hover {
-       background-color: transparent;
-}
-
-/* The icon in front of the username / login link */
-li#pt-userpage,
-li#pt-anonuserpage,
-li#pt-login {
-       /* @embed */
-       background: url(user.gif) top left no-repeat;
-       padding-left: 20px;
-}
-
-#p-personal ul {
-       text-transform: lowercase;
-}
-
-/* Don't lowercase username or IP addresses (IPv6) */
-li#pt-userpage,
-li#pt-anonuserpage {
-       text-transform: none;
-}
-
-#p-personal li.active {
-       font-weight: bold;
-}
-
-/*
-** the page-related actions- page/talk, edit etc
-*/
-#p-cactions {
-       position: absolute;
-       top: 1.3em;
-       left: 11.5em;
-       margin: 0;
-       white-space: nowrap;
-       width: 76%;
-       line-height: 1.1em;
-       overflow: visible;
-       background: none;
-       border-collapse: collapse;
-       padding-left: 1em;
-       font-size: 95%;
-}
-
-#p-cactions ul {
-       list-style-type: none;
-       list-style-image: none;
-}
-
-#p-cactions li {
-       display: inline;
-       border: 1px solid #aaa;
-       border-bottom: none;
-       padding: 0 0 1em 0;
-       margin: 0 .3em 0 0;
-       overflow: visible;
-       background: white;
-}
-
-#p-cactions li.selected {
-       border-color: #fabd23;
-       font-weight: bold;
-}
-
-#p-cactions li a {
-       background-color: #fbfbfb;
-       color: #002bb8;
-       border: none;
-       padding: 0 .8em .3em;
-       position: relative;
-       z-index: 0;
-       margin: 0;
-       text-decoration: none;
-}
-
-#p-cactions li.selected a {
-       z-index: 3;
-       background-color: white;
-}
-
-#p-cactions .new a {
-       color: #ba0000;
-}
-
-#p-cactions li a:hover {
-       z-index: 3;
-       text-decoration: none;
-       background-color: white;
-}
-
-#p-cactions h3 {
-       display: none;
-}
-
-#p-cactions li.istalk {
-       margin-right: 0;
-}
-
-#p-cactions li.istalk a {
-       padding-right: .5em;
-}
-
-#p-cactions #ca-addsection a {
-       padding-left: .4em;
-       padding-right: .4em;
-}
-
-/* offsets to distinguish the tab groups */
-li#ca-talk {
-       margin-right: 1.6em;
-}
-
-li#ca-watch,
-li#ca-unwatch,
-li#ca-varlang-0,
-li#ca-print {
-       margin-left: 1.6em;
-}
-
-#p-cactions .pBody {
-       font-size: 1em;
-       background-color: transparent;
-       color: inherit;
-       border-collapse: inherit;
-       border: 0;
-       padding: 0;
-}
-
-#p-cactions li a {
-       text-transform: lowercase;
-}
-
-#p-lang {
-       position: relative;
-       z-index: 3;
-}
-
-/* Override text-transform on languages where capitalization is significant */
-.capitalize-all-nouns .portlet h3,
-.capitalize-all-nouns #p-personal ul,
-.capitalize-all-nouns #p-cactions ul li a {
-       text-transform: none;
-}
-
-/* TODO: #t-iscite is only used by the Cite extension, come up with some
- * system which allows extensions to add to this file on the fly
- */
-#t-ispermalink, #t-iscite {
-       color: #999;
-}
-
-/*
-** footer
-*/
-div#footer {
-       background-color: white;
-       border-top: 1px solid #fabd23;
-       border-bottom: 1px solid #fabd23;
-       margin: .6em 0 1em 0;
-       overflow: hidden;
-       padding: .4em 0 .3em 0;
-       text-align: center;
-       font-size: 90%;
-}
-
-div#footer li {
-       display: inline;
-       margin: 0 1.3em;
-}
-
-#f-poweredbyico, #f-copyrightico {
-       margin: 0 8px;
-       position: relative;
-       top: -2px; /* Bump it up just a tad */
-}
-
-#f-poweredbyico {
-       float: right;
-       height: 1%;
-}
-
-#f-copyrightico {
-       float: left;
-       height: 1%;
-}
-
-.mw-htmlform-submit {
-       font-weight: bold;
-       padding-left: .3em;
-       padding-right: .3em;
-       margin-right: 2em;
-}
-
-/* js pref toc */
-#preftoc {
-       margin: 0;
-       padding: 0;
-       width: 100%;
-       clear: both;
-}
-
-#preftoc li {
-       background-color: #f0f0f0;
-       color: #000;
-}
-
-#preftoc li {
-       margin: 1px -2px 1px 2px;
-       float: left;
-       padding: 2px 0 3px 0;
-       border: 1px solid #fff;
-       border-right-color: #716f64;
-       border-bottom: 0;
-       position: relative;
-       white-space: nowrap;
-       list-style-type: none;
-       list-style-image: none;
-       z-index: 3;
-}
-
-#preftoc li.selected {
-       font-weight: bold;
-       background-color: #f9f9f9;
-       border: 1px solid #aaa;
-       border-bottom: none;
-       cursor: default;
-       top: 1px;
-       padding-top: 2px;
-       margin-right: -3px;
-}
-
-#preftoc > li.selected {
-       top: 2px;
-}
-
-#preftoc a,
-#preftoc a:active {
-       display: block;
-       color: #000;
-       padding: 0 .7em;
-       position: relative;
-       text-decoration: none;
-}
-
-#preftoc li.selected a {
-       cursor: default;
-       text-decoration: none;
-}
-
-#preferences {
-       margin: 0;
-       border: 1px solid #aaa;
-       clear: both;
-       padding: 1.5em;
-       background-color: #F9F9F9;
-}
-
-.prefsection {
-       border: none;
-       padding: 0;
-       margin: 0;
-}
-
-.prefsection legend {
-       font-weight: bold;
-}
-
-.prefsection table, .prefsection legend {
-       background-color: #F9F9F9;
-}
-
-.mainLegend {
-       display: none;
-}
-
-td.htmlform-tip {
-       font-size: x-small;
-       padding: .2em 2em;
-       color: #666;
-}
-
-.preferences-login {
-       clear: both;
-       margin-bottom: 1.5em;
-}
-
-.prefcache {
-       font-size: 90%;
-       margin-top: 2em;
-}
-
-#userloginprompt, #languagelinks {
-       font-size: 85%;
-}
-
-#login-sectiontip {
-       font-size: 85%;
-       line-height: 1.2;
-       padding-top: 2em;
-}
-
-#userloginlink a, #wpLoginattempt, #wpCreateaccount {
-       font-weight: bold;
-}
-
-/**
- * This was originally added by Gabriel Wicke in r3681 (committed on 25 May 2004)
- * with the commit message "tweaks to page history".
- * Unlike the other IE/Mac fixes that used to be present here, this seems to get
- * applied on more modern browsers, so let's keep it here until someone has the
- * time to properly test it out.
- */
-#pagehistory li.selected {
-       position: relative;
-}
-
-.redirectText {
-       font-size: 150%;
-       margin: 5px;
-}
-
-div.patrollink {
-       clear: both;
-}
-
-.sharedUploadNotice {
-       font-style: italic;
-}
-
-span.updatedmarker {
-       color: black;
-       background-color: #0f0;
-}
-
-.editExternally {
-       border: 1px solid gray;
-       background-color: #ffffff;
-       padding: 3px;
-       margin-top: 0.5em;
-       float: left;
-       font-size: small;
-       text-align: center;
-}
-
-.editExternallyHelp {
-       font-style: italic;
-       color: gray;
-}
-
-.toggle {
-       margin-left: 2em;
-       text-indent: -2em;
-}
-
-/* @bug 1714 */
-input#wpSave,
-input#wpDiff {
-       margin-right: 0.33em;
-}
-
-#wpSave {
-       font-weight: bold;
-}
-
-/* noarticletext */
-div.noarticletext {
-       border: 1px solid #ccc;
-       background: #fff;
-       padding: .2em 1em;
-       color: #000;
-}
-
-div#searchTargetContainer {
-       left: 10px;
-       top: 10px;
-       width: 90%;
-       background: white;
-}
-
-div#searchTarget {
-       padding: 3px;
-       margin: 5px;
-       background: #F0F0F0;
-       border: solid 1px blue;
-}
-
-div#searchTarget ul li {
-       list-style-type: none;
-       list-style-image: none;
-}
-
-div#searchTarget ul li:before {
-       color: orange;
-       content: "\00BB \0020";
-}
-
-div#searchTargetHide {
-       float: right;
-       border: solid 1px black;
-       background: #DCDCDC;
-       padding: 2px;
-}
-
-#powersearch p {
-       margin-top: 0;
-}
-
-div.multipageimagenavbox {
-       border: solid 1px silver;
-       padding: 4px;
-       margin: 1em;
-       background: #f0f0f0;
-}
-
-div.multipageimagenavbox div.thumb {
-       border: none;
-       margin-left: 2em;
-       margin-right: 2em;
-}
-
-div.multipageimagenavbox hr {
-       margin: 6px;
-}
-
-table.multipageimage td {
-       text-align: center;
-}
-
-.templatesUsed {
-       margin-top: 1.5em;
-}
-
-.mw-summary-preview {
-       margin: 0.1em 0;
-}
-
-/* Friendlier slave lag warnings */
-div.mw-lag-warn-normal,
-div.mw-lag-warn-high {
-       padding: 3px;
-       text-align: center;
-       margin: 3px auto;
-}
-
-div.mw-lag-warn-normal {
-       border: 1px solid #FFCC66;
-       background-color: #FFFFCC;
-}
-
-div.mw-lag-warn-high {
-       font-weight: bold;
-       border: 2px solid #FF0033;
-       background-color: #FFCCCC;
-}
-
-.MediaTransformError {
-       background-color: #ccc;
-       padding: 0.1em;
-}
-
-.MediaTransformError td {
-       text-align: center;
-       vertical-align: middle;
-       font-size: 90%;
-}
-
-/* Sometimes people don't want personal tools to be lowercase! */
-.no-text-transform {
-       text-transform: none;
-}
-
-/* Tooltips are outside of the normal body code, so this helps make the size of the text sensible */
-.tipsy {
-       font-size: 127%;
-}
-
-/* mediawiki.notification */
-.skin-monobook .mw-notification {
-       box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.125);
-}
diff --git a/skins/MonoBook/news_icon.png b/skins/MonoBook/news_icon.png
deleted file mode 100644 (file)
index 4d3cb47..0000000
Binary files a/skins/MonoBook/news_icon.png and /dev/null differ
diff --git a/skins/MonoBook/required.gif b/skins/MonoBook/required.gif
deleted file mode 100644 (file)
index bd71976..0000000
Binary files a/skins/MonoBook/required.gif and /dev/null differ
diff --git a/skins/MonoBook/user.gif b/skins/MonoBook/user.gif
deleted file mode 100644 (file)
index 34b4839..0000000
Binary files a/skins/MonoBook/user.gif and /dev/null differ
diff --git a/skins/MonoBook/video.png b/skins/MonoBook/video.png
deleted file mode 100644 (file)
index d86dbe0..0000000
Binary files a/skins/MonoBook/video.png and /dev/null differ
diff --git a/skins/MonoBook/wiki-indexed.png b/skins/MonoBook/wiki-indexed.png
deleted file mode 100644 (file)
index 799ebac..0000000
Binary files a/skins/MonoBook/wiki-indexed.png and /dev/null differ
diff --git a/skins/MonoBook/wiki.png b/skins/MonoBook/wiki.png
deleted file mode 100644 (file)
index 8c42118..0000000
Binary files a/skins/MonoBook/wiki.png and /dev/null differ
diff --git a/skins/Vector/COPYING b/skins/Vector/COPYING
deleted file mode 100644 (file)
index 019694a..0000000
+++ /dev/null
@@ -1,342 +0,0 @@
-== GNU GENERAL PUBLIC LICENSE ==
-
-Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-=== Preamble ===
-
-The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and
-modification follow.
-
-== TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ==
-
-'''0.''' This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-'''1.''' You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-'''2.''' You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-       '''a)''' You must cause the modified files to carry prominent notices
-       stating that you changed the files and the date of any change.
-
-       '''b)''' You must cause any work that you distribute or publish, that in
-       whole or in part contains or is derived from the Program or any
-       part thereof, to be licensed as a whole at no charge to all third
-       parties under the terms of this License.
-
-       '''c)''' If the modified program normally reads commands interactively
-       when run, you must cause it, when started running for such
-       interactive use in the most ordinary way, to print or display an
-       announcement including an appropriate copyright notice and a
-       notice that there is no warranty (or else, saying that you provide
-       a warranty) and that users may redistribute the program under
-       these conditions, and telling the user how to view a copy of this
-       License.  (Exception: if the Program itself is interactive but
-       does not normally print such an announcement, your work based on
-       the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-'''3.''' You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-       '''a)''' Accompany it with the complete corresponding machine-readable
-       source code, which must be distributed under the terms of Sections
-       1 and 2 above on a medium customarily used for software interchange; or,
-
-       '''b)''' Accompany it with a written offer, valid for at least three
-       years, to give any third party, for a charge no more than your
-       cost of physically performing source distribution, a complete
-       machine-readable copy of the corresponding source code, to be
-       distributed under the terms of Sections 1 and 2 above on a medium
-       customarily used for software interchange; or,
-
-       '''c)''' Accompany it with the information you received as to the offer
-       to distribute corresponding source code.  (This alternative is
-       allowed only for noncommercial distribution and only if you
-       received the program in object code or executable form with such
-       an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-'''4.''' You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-'''5.''' You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-'''6.''' Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-'''7.''' If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-'''8.''' If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-'''9.''' The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-'''10.''' If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-=== NO WARRANTY ===
-
-'''11.''' BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-'''12.''' IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-       '''END OF TERMS AND CONDITIONS'''
-
-== How to Apply These Terms to Your New Programs ==
-
-If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-       <one line to give the program's name and a brief idea of what it does.>
-
-       Copyright (C) <year>  <name of author>
-
-       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
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-       Gnomovision version 69, Copyright (C) year name of author
-       Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-       This is free software, and you are welcome to redistribute it
-       under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-       Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-       `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-       <signature of Ty Coon>, 1 April 1989
-
-       Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/skins/Vector/SkinVector.php b/skins/Vector/SkinVector.php
deleted file mode 100644 (file)
index 237a241..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-/**
- * Vector - Modern version of MonoBook with fresh look and many usability
- * improvements.
- *
- * 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 Skins
- */
-
-/**
- * SkinTemplate class for Vector skin
- * @ingroup Skins
- */
-class SkinVector extends SkinTemplate {
-       public $skinname = 'vector';
-       public $stylename = 'Vector';
-       public $template = 'VectorTemplate';
-
-       protected static $bodyClasses = array( 'vector-animateLayout' );
-
-       /**
-        * Initializes output page and sets up skin-specific parameters
-        * @param OutputPage $out Object to initialize
-        */
-       public function initPage( OutputPage $out ) {
-               global $wgLocalStylePath;
-
-               parent::initPage( $out );
-
-               // Append CSS which includes IE only behavior fixes for hover support -
-               // this is better than including this in a CSS file since it doesn't
-               // wait for the CSS file to load before fetching the HTC file.
-               $min = $this->getRequest()->getFuzzyBool( 'debug' ) ? '' : '.min';
-               $out->addHeadItem( 'csshover',
-                       '<!--[if lt IE 7]><style type="text/css">body{behavior:url("' .
-                               htmlspecialchars( $wgLocalStylePath ) .
-                               "/{$this->stylename}/csshover{$min}.htc\")}</style><![endif]-->"
-               );
-
-               $out->addModules( array( 'skins.vector.js' ) );
-       }
-
-       /**
-        * Loads skin and user CSS files.
-        * @param OutputPage $out
-        */
-       function setupSkinUserCss( OutputPage $out ) {
-               parent::setupSkinUserCss( $out );
-
-               $styles = array( 'mediawiki.skinning.interface', 'skins.vector.styles' );
-               wfRunHooks( 'SkinVectorStyleModules', array( $this, &$styles ) );
-               $out->addModuleStyles( $styles );
-       }
-
-       /**
-        * Adds classes to the body element.
-        *
-        * @param OutputPage $out
-        * @param array &$bodyAttrs Array of attributes that will be set on the body element
-        */
-       function addToBodyAttributes( $out, &$bodyAttrs ) {
-               if ( isset( $bodyAttrs['class'] ) && strlen( $bodyAttrs['class'] ) > 0 ) {
-                       $bodyAttrs['class'] .= ' ' . implode( ' ', static::$bodyClasses );
-               } else {
-                       $bodyAttrs['class'] = implode( ' ', static::$bodyClasses );
-               }
-       }
-}
diff --git a/skins/Vector/Vector.php b/skins/Vector/Vector.php
deleted file mode 100644 (file)
index a08d121..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/**
- * Vector - Modern version of MonoBook with fresh look and many usability
- * improvements.
- *
- * 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 Skins
- */
-
-$wgExtensionCredits['skin'][] = array(
-       'path' => __FILE__,
-       'name' => 'Vector',
-       'namemsg' => 'skinname-vector',
-       'descriptionmsg' => 'vector-skin-desc',
-       'url' => 'https://www.mediawiki.org/wiki/Skin:Vector',
-       'author' => array( 'Trevor Parscal', 'Roan Kattouw', '...' ),
-       'license-name' => 'GPLv2+',
-);
-
-// Register files
-$wgAutoloadClasses['SkinVector'] = __DIR__ . '/SkinVector.php';
-$wgAutoloadClasses['VectorTemplate'] = __DIR__ . '/VectorTemplate.php';
-$wgMessagesDirs['Vector'] = __DIR__ . '/i18n';
-
-// Register skin
-$wgValidSkinNames['vector'] = 'Vector';
-
-// Register modules
-$wgResourceModules['skins.vector.styles'] = array(
-       'styles' => array(
-               'screen.less' => array( 'media' => 'screen' ),
-               'screen-hd.less' => array( 'media' => 'screen and (min-width: 982px)' ),
-       ),
-       'remoteSkinPath' => 'Vector',
-       'localBasePath' => __DIR__,
-);
-$wgResourceModules['skins.vector.js'] = array(
-       'scripts' => array(
-               'collapsibleTabs.js',
-               'vector.js',
-       ),
-       'position' => 'top',
-       'dependencies' => array(
-               'jquery.throttle-debounce',
-               'jquery.tabIndex',
-       ),
-       'remoteSkinPath' => 'Vector',
-       'localBasePath' => __DIR__,
-);
-
-// Apply module customizations
-$wgResourceModuleSkinStyles['vector'] = array(
-       'jquery.tipsy' => 'skinStyles/jquery.tipsy.less',
-       'jquery.ui.core' => array(
-               'skinStyles/jquery.ui/jquery.ui.core.css',
-               'skinStyles/jquery.ui/jquery.ui.theme.css',
-       ),
-       'jquery.ui.accordion' => 'skinStyles/jquery.ui/jquery.ui.accordion.css',
-       'jquery.ui.autocomplete' => 'skinStyles/jquery.ui/jquery.ui.autocomplete.css',
-       'jquery.ui.button' => 'skinStyles/jquery.ui/jquery.ui.button.css',
-       'jquery.ui.datepicker' => 'skinStyles/jquery.ui/jquery.ui.datepicker.css',
-       'jquery.ui.dialog' => 'skinStyles/jquery.ui/jquery.ui.dialog.css',
-       'jquery.ui.progressbar' => 'skinStyles/jquery.ui/jquery.ui.progressbar.css',
-       'jquery.ui.resizable' => 'skinStyles/jquery.ui/jquery.ui.resizable.css',
-       'jquery.ui.selectable' => 'skinStyles/jquery.ui/jquery.ui.selectable.css',
-       'jquery.ui.slider' => 'skinStyles/jquery.ui/jquery.ui.slider.css',
-       'jquery.ui.tabs' => 'skinStyles/jquery.ui/jquery.ui.tabs.css',
-       'mediawiki.notification' => 'skinStyles/mediawiki.notification.less',
-       'mediawiki.special' => 'skinStyles/mediawiki.special.less',
-       'mediawiki.special.preferences' => 'skinStyles/mediawiki.special.preferences.less',
-       'remoteSkinPath' => 'Vector',
-       'localBasePath' => __DIR__,
-);
diff --git a/skins/Vector/VectorTemplate.php b/skins/Vector/VectorTemplate.php
deleted file mode 100644 (file)
index 291b761..0000000
+++ /dev/null
@@ -1,591 +0,0 @@
-<?php
-/**
- * Vector - Modern version of MonoBook with fresh look and many usability
- * improvements.
- *
- * 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 Skins
- */
-
-/**
- * QuickTemplate class for Vector skin
- * @ingroup Skins
- */
-class VectorTemplate extends BaseTemplate {
-       /* Functions */
-
-       /**
-        * Outputs the entire contents of the (X)HTML page
-        */
-       public function execute() {
-               global $wgVectorUseIconWatch;
-
-               // Build additional attributes for navigation urls
-               $nav = $this->data['content_navigation'];
-
-               if ( $wgVectorUseIconWatch ) {
-                       $mode = $this->getSkin()->getUser()->isWatched( $this->getSkin()->getRelevantTitle() )
-                               ? 'unwatch'
-                               : 'watch';
-
-                       if ( isset( $nav['actions'][$mode] ) ) {
-                               $nav['views'][$mode] = $nav['actions'][$mode];
-                               $nav['views'][$mode]['class'] = rtrim( 'icon ' . $nav['views'][$mode]['class'], ' ' );
-                               $nav['views'][$mode]['primary'] = true;
-                               unset( $nav['actions'][$mode] );
-                       }
-               }
-
-               $xmlID = '';
-               foreach ( $nav as $section => $links ) {
-                       foreach ( $links as $key => $link ) {
-                               if ( $section == 'views' && !( isset( $link['primary'] ) && $link['primary'] ) ) {
-                                       $link['class'] = rtrim( 'collapsible ' . $link['class'], ' ' );
-                               }
-
-                               $xmlID = isset( $link['id'] ) ? $link['id'] : 'ca-' . $xmlID;
-                               $nav[$section][$key]['attributes'] =
-                                       ' id="' . Sanitizer::escapeId( $xmlID ) . '"';
-                               if ( $link['class'] ) {
-                                       $nav[$section][$key]['attributes'] .=
-                                               ' class="' . htmlspecialchars( $link['class'] ) . '"';
-                                       unset( $nav[$section][$key]['class'] );
-                               }
-                               if ( isset( $link['tooltiponly'] ) && $link['tooltiponly'] ) {
-                                       $nav[$section][$key]['key'] =
-                                               Linker::tooltip( $xmlID );
-                               } else {
-                                       $nav[$section][$key]['key'] =
-                                               Xml::expandAttributes( Linker::tooltipAndAccesskeyAttribs( $xmlID ) );
-                               }
-                       }
-               }
-               $this->data['namespace_urls'] = $nav['namespaces'];
-               $this->data['view_urls'] = $nav['views'];
-               $this->data['action_urls'] = $nav['actions'];
-               $this->data['variant_urls'] = $nav['variants'];
-
-               // Reverse horizontally rendered navigation elements
-               if ( $this->data['rtl'] ) {
-                       $this->data['view_urls'] =
-                               array_reverse( $this->data['view_urls'] );
-                       $this->data['namespace_urls'] =
-                               array_reverse( $this->data['namespace_urls'] );
-                       $this->data['personal_urls'] =
-                               array_reverse( $this->data['personal_urls'] );
-               }
-               // Output HTML Page
-               $this->html( 'headelement' );
-               ?>
-               <div id="mw-page-base" class="noprint"></div>
-               <div id="mw-head-base" class="noprint"></div>
-               <div id="content" class="mw-body" role="main">
-                       <a id="top"></a>
-
-                       <?php
-                       if ( $this->data['sitenotice'] ) {
-                               ?>
-                               <div id="siteNotice"><?php $this->html( 'sitenotice' ) ?></div>
-                       <?php
-                       }
-                       ?>
-                       <h1 id="firstHeading" class="firstHeading" lang="<?php
-                       $this->data['pageLanguage'] =
-                               $this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode();
-                       $this->text( 'pageLanguage' );
-                       ?>"><span dir="auto"><?php $this->html( 'title' ) ?></span></h1>
-                       <?php $this->html( 'prebodyhtml' ) ?>
-                       <div id="bodyContent" class="mw-body-content">
-                               <?php
-                               if ( $this->data['isarticle'] ) {
-                                       ?>
-                                       <div id="siteSub"><?php $this->msg( 'tagline' ) ?></div>
-                               <?php
-                               }
-                               ?>
-                               <div id="contentSub"<?php
-                               $this->html( 'userlangattributes' )
-                               ?>><?php $this->html( 'subtitle' ) ?></div>
-                               <?php
-                               if ( $this->data['undelete'] ) {
-                                       ?>
-                                       <div id="contentSub2"><?php $this->html( 'undelete' ) ?></div>
-                               <?php
-                               }
-                               ?>
-                               <?php
-                               if ( $this->data['newtalk'] ) {
-                                       ?>
-                                       <div class="usermessage"><?php $this->html( 'newtalk' ) ?></div>
-                               <?php
-                               }
-                               ?>
-                               <div id="jump-to-nav" class="mw-jump">
-                                       <?php $this->msg( 'jumpto' ) ?>
-                                       <a href="#mw-navigation"><?php
-                                               $this->msg( 'jumptonavigation' )
-                                               ?></a><?php
-                                       $this->msg( 'comma-separator' )
-                                       ?>
-                                       <a href="#p-search"><?php $this->msg( 'jumptosearch' ) ?></a>
-                               </div>
-                               <?php $this->html( 'bodycontent' ) ?>
-                               <?php
-                               if ( $this->data['printfooter'] ) {
-                                       ?>
-                                       <div class="printfooter">
-                                               <?php $this->html( 'printfooter' ); ?>
-                                       </div>
-                               <?php
-                               }
-                               ?>
-                               <?php
-                               if ( $this->data['catlinks'] ) {
-                                       ?>
-                                       <?php
-                                       $this->html( 'catlinks' );
-                                       ?>
-                               <?php
-                               }
-                               ?>
-                               <?php
-                               if ( $this->data['dataAfterContent'] ) {
-                                       ?>
-                                       <?php
-                                       $this->html( 'dataAfterContent' );
-                                       ?>
-                               <?php
-                               }
-                               ?>
-                               <div class="visualClear"></div>
-                               <?php $this->html( 'debughtml' ); ?>
-                       </div>
-               </div>
-               <div id="mw-navigation">
-                       <h2><?php $this->msg( 'navigation-heading' ) ?></h2>
-
-                       <div id="mw-head">
-                               <?php $this->renderNavigation( 'PERSONAL' ); ?>
-                               <div id="left-navigation">
-                                       <?php $this->renderNavigation( array( 'NAMESPACES', 'VARIANTS' ) ); ?>
-                               </div>
-                               <div id="right-navigation">
-                                       <?php $this->renderNavigation( array( 'VIEWS', 'ACTIONS', 'SEARCH' ) ); ?>
-                               </div>
-                       </div>
-                       <div id="mw-panel">
-                               <div id="p-logo" role="banner"><a style="background-image: url(<?php
-                                       $this->text( 'logopath' )
-                                       ?>);" href="<?php
-                                       echo htmlspecialchars( $this->data['nav_urls']['mainpage']['href'] )
-                                       ?>" <?php
-                                       echo Xml::expandAttributes( Linker::tooltipAndAccesskeyAttribs( 'p-logo' ) )
-                                       ?>></a></div>
-                               <?php $this->renderPortals( $this->data['sidebar'] ); ?>
-                       </div>
-               </div>
-               <div id="footer" role="contentinfo"<?php $this->html( 'userlangattributes' ) ?>>
-                       <?php
-                       foreach ( $this->getFooterLinks() as $category => $links ) {
-                               ?>
-                               <ul id="footer-<?php
-                               echo $category
-                               ?>">
-                                       <?php
-                                       foreach ( $links as $link ) {
-                                               ?>
-                                               <li id="footer-<?php
-                                               echo $category
-                                               ?>-<?php
-                                               echo $link
-                                               ?>"><?php
-                                                       $this->html( $link )
-                                                       ?></li>
-                                       <?php
-                                       }
-                                       ?>
-                               </ul>
-                       <?php
-                       }
-                       ?>
-                       <?php $footericons = $this->getFooterIcons( "icononly" );
-                       if ( count( $footericons ) > 0 ) {
-                               ?>
-                               <ul id="footer-icons" class="noprint">
-                                       <?php
-                                       foreach ( $footericons as $blockName => $footerIcons ) {
-                                               ?>
-                                               <li id="footer-<?php
-                                               echo htmlspecialchars( $blockName ); ?>ico">
-                                                       <?php
-                                                       foreach ( $footerIcons as $icon ) {
-                                                               ?>
-                                                               <?php
-                                                               echo $this->getSkin()->makeFooterIcon( $icon );
-                                                               ?>
-
-                                                       <?php
-                                                       }
-                                                       ?>
-                                               </li>
-                                       <?php
-                                       }
-                                       ?>
-                               </ul>
-                       <?php
-                       }
-                       ?>
-                       <div style="clear:both"></div>
-               </div>
-               <?php $this->printTrail(); ?>
-
-       </body>
-</html>
-       <?php
-       }
-
-       /**
-        * Render a series of portals
-        *
-        * @param array $portals
-        */
-       protected function renderPortals( $portals ) {
-               // Force the rendering of the following portals
-               if ( !isset( $portals['SEARCH'] ) ) {
-                       $portals['SEARCH'] = true;
-               }
-               if ( !isset( $portals['TOOLBOX'] ) ) {
-                       $portals['TOOLBOX'] = true;
-               }
-               if ( !isset( $portals['LANGUAGES'] ) ) {
-                       $portals['LANGUAGES'] = true;
-               }
-               // Render portals
-               foreach ( $portals as $name => $content ) {
-                       if ( $content === false ) {
-                               continue;
-                       }
-
-                       switch ( $name ) {
-                               case 'SEARCH':
-                                       break;
-                               case 'TOOLBOX':
-                                       $this->renderPortal( 'tb', $this->getToolbox(), 'toolbox', 'SkinTemplateToolboxEnd' );
-                                       break;
-                               case 'LANGUAGES':
-                                       if ( $this->data['language_urls'] !== false ) {
-                                               $this->renderPortal( 'lang', $this->data['language_urls'], 'otherlanguages' );
-                                       }
-                                       break;
-                               default:
-                                       $this->renderPortal( $name, $content );
-                                       break;
-                       }
-               }
-       }
-
-       /**
-        * @param string $name
-        * @param array $content
-        * @param null|string $msg
-        * @param null|string|array $hook
-        */
-       protected function renderPortal( $name, $content, $msg = null, $hook = null ) {
-               if ( $msg === null ) {
-                       $msg = $name;
-               }
-               $msgObj = wfMessage( $msg );
-               ?>
-               <div class="portal" role="navigation" id='<?php
-               echo Sanitizer::escapeId( "p-$name" )
-               ?>'<?php
-               echo Linker::tooltip( 'p-' . $name )
-               ?> aria-labelledby='<?php echo Sanitizer::escapeId( "p-$name-label" ) ?>'>
-                       <h3<?php
-                       $this->html( 'userlangattributes' )
-                       ?> id='<?php
-                       echo Sanitizer::escapeId( "p-$name-label" )
-                       ?>'><?php
-                               echo htmlspecialchars( $msgObj->exists() ? $msgObj->text() : $msg );
-                               ?></h3>
-
-                       <div class="body">
-                               <?php
-                               if ( is_array( $content ) ) {
-                                       ?>
-                                       <ul>
-                                               <?php
-                                               foreach ( $content as $key => $val ) {
-                                                       ?>
-                                                       <?php echo $this->makeListItem( $key, $val ); ?>
-
-                                               <?php
-                                               }
-                                               if ( $hook !== null ) {
-                                                       wfRunHooks( $hook, array( &$this, true ) );
-                                               }
-                                               ?>
-                                       </ul>
-                               <?php
-                               } else {
-                                       ?>
-                                       <?php
-                                       echo $content; /* Allow raw HTML block to be defined by extensions */
-                               }
-
-                               $this->renderAfterPortlet( $name );
-                               ?>
-                       </div>
-               </div>
-       <?php
-       }
-
-       /**
-        * Render one or more navigations elements by name, automatically reveresed
-        * when UI is in RTL mode
-        *
-        * @param array $elements
-        */
-       protected function renderNavigation( $elements ) {
-               global $wgVectorUseSimpleSearch;
-
-               // If only one element was given, wrap it in an array, allowing more
-               // flexible arguments
-               if ( !is_array( $elements ) ) {
-                       $elements = array( $elements );
-                       // If there's a series of elements, reverse them when in RTL mode
-               } elseif ( $this->data['rtl'] ) {
-                       $elements = array_reverse( $elements );
-               }
-               // Render elements
-               foreach ( $elements as $name => $element ) {
-                       switch ( $element ) {
-                               case 'NAMESPACES':
-                                       ?>
-                                       <div id="p-namespaces" role="navigation" class="vectorTabs<?php
-                                       if ( count( $this->data['namespace_urls'] ) == 0 ) {
-                                               echo ' emptyPortlet';
-                                       }
-                                       ?>" aria-labelledby="p-namespaces-label">
-                                               <h3 id="p-namespaces-label"><?php $this->msg( 'namespaces' ) ?></h3>
-                                               <ul<?php $this->html( 'userlangattributes' ) ?>>
-                                                       <?php
-                                                       foreach ( $this->data['namespace_urls'] as $link ) {
-                                                               ?>
-                                                               <li <?php
-                                                               echo $link['attributes']
-                                                               ?>><span><a href="<?php
-                                                                               echo htmlspecialchars( $link['href'] )
-                                                                               ?>" <?php
-                                                                               echo $link['key']
-                                                                               ?>><?php
-                                                                                       echo htmlspecialchars( $link['text'] )
-                                                                                       ?></a></span></li>
-                                                       <?php
-                                                       }
-                                                       ?>
-                                               </ul>
-                                       </div>
-                                       <?php
-                                       break;
-                               case 'VARIANTS':
-                                       ?>
-                                       <div id="p-variants" role="navigation" class="vectorMenu<?php
-                                       if ( count( $this->data['variant_urls'] ) == 0 ) {
-                                               echo ' emptyPortlet';
-                                       }
-                                       ?>" aria-labelledby="p-variants-label">
-                                               <?php
-                                               // Replace the label with the name of currently chosen variant, if any
-                                               $variantLabel = $this->getMsg( 'variants' )->text();
-                                               foreach ( $this->data['variant_urls'] as $link ) {
-                                                       if ( stripos( $link['attributes'], 'selected' ) !== false ) {
-                                                               $variantLabel = $link['text'];
-                                                               break;
-                                                       }
-                                               }
-                                               ?>
-                                               <h3 id="p-variants-label"><span
-                                                       style="display: block;" <?php /* Temporary WMF deployment hack, to be removed before 1.24 release */ ?>
-                                                       ><?php echo htmlspecialchars( $variantLabel ) ?></span><a href="#"></a></h3>
-
-                                               <div class="menu">
-                                                       <ul>
-                                                               <?php
-                                                               foreach ( $this->data['variant_urls'] as $link ) {
-                                                                       ?>
-                                                                       <li<?php
-                                                                       echo $link['attributes']
-                                                                       ?>><a href="<?php
-                                                                               echo htmlspecialchars( $link['href'] )
-                                                                               ?>" lang="<?php
-                                                                               echo htmlspecialchars( $link['lang'] )
-                                                                               ?>" hreflang="<?php
-                                                                               echo htmlspecialchars( $link['hreflang'] )
-                                                                               ?>" <?php
-                                                                               echo $link['key']
-                                                                               ?>><?php
-                                                                                       echo htmlspecialchars( $link['text'] )
-                                                                                       ?></a></li>
-                                                               <?php
-                                                               }
-                                                               ?>
-                                                       </ul>
-                                               </div>
-                                       </div>
-                                       <?php
-                                       break;
-                               case 'VIEWS':
-                                       ?>
-                                       <div id="p-views" role="navigation" class="vectorTabs<?php
-                                       if ( count( $this->data['view_urls'] ) == 0 ) {
-                                               echo ' emptyPortlet';
-                                       }
-                                       ?>" aria-labelledby="p-views-label">
-                                               <h3 id="p-views-label"><?php $this->msg( 'views' ) ?></h3>
-                                               <ul<?php
-                                               $this->html( 'userlangattributes' )
-                                               ?>>
-                                                       <?php
-                                                       foreach ( $this->data['view_urls'] as $link ) {
-                                                               ?>
-                                                               <li<?php
-                                                               echo $link['attributes']
-                                                               ?>><span><a href="<?php
-                                                                               echo htmlspecialchars( $link['href'] )
-                                                                               ?>" <?php
-                                                                               echo $link['key']
-                                                                               ?>><?php
-                                                                                       // $link['text'] can be undefined - bug 27764
-                                                                                       if ( array_key_exists( 'text', $link ) ) {
-                                                                                               echo array_key_exists( 'img', $link )
-                                                                                                       ? '<img src="' . $link['img'] . '" alt="' . $link['text'] . '" />'
-                                                                                                       : htmlspecialchars( $link['text'] );
-                                                                                       }
-                                                                                       ?></a></span></li>
-                                                       <?php
-                                                       }
-                                                       ?>
-                                               </ul>
-                                       </div>
-                                       <?php
-                                       break;
-                               case 'ACTIONS':
-                                       ?>
-                                       <div id="p-cactions" role="navigation" class="vectorMenu<?php
-                                       if ( count( $this->data['action_urls'] ) == 0 ) {
-                                               echo ' emptyPortlet';
-                                       }
-                                       ?>" aria-labelledby="p-cactions-label">
-                                               <h3 id="p-cactions-label"><span><?php
-                                                       $this->msg( 'vector-more-actions' )
-                                               ?></span><a href="#"></a></h3>
-
-                                               <div class="menu">
-                                                       <ul<?php $this->html( 'userlangattributes' ) ?>>
-                                                               <?php
-                                                               foreach ( $this->data['action_urls'] as $link ) {
-                                                                       ?>
-                                                                       <li<?php
-                                                                       echo $link['attributes']
-                                                                       ?>>
-                                                                               <a href="<?php
-                                                                               echo htmlspecialchars( $link['href'] )
-                                                                               ?>" <?php
-                                                                               echo $link['key'] ?>><?php echo htmlspecialchars( $link['text'] )
-                                                                                       ?></a>
-                                                                       </li>
-                                                               <?php
-                                                               }
-                                                               ?>
-                                                       </ul>
-                                               </div>
-                                       </div>
-                                       <?php
-                                       break;
-                               case 'PERSONAL':
-                                       ?>
-                                       <div id="p-personal" role="navigation" class="<?php
-                                       if ( count( $this->data['personal_urls'] ) == 0 ) {
-                                               echo ' emptyPortlet';
-                                       }
-                                       ?>" aria-labelledby="p-personal-label">
-                                               <h3 id="p-personal-label"><?php $this->msg( 'personaltools' ) ?></h3>
-                                               <ul<?php $this->html( 'userlangattributes' ) ?>>
-                                                       <?php
-                                                       $personalTools = $this->getPersonalTools();
-                                                       foreach ( $personalTools as $key => $item ) {
-                                                               echo $this->makeListItem( $key, $item );
-                                                       }
-                                                       ?>
-                                               </ul>
-                                       </div>
-                                       <?php
-                                       break;
-                               case 'SEARCH':
-                                       ?>
-                                       <div id="p-search" role="search">
-                                               <h3<?php $this->html( 'userlangattributes' ) ?>>
-                                                       <label for="searchInput"><?php $this->msg( 'search' ) ?></label>
-                                               </h3>
-
-                                               <form action="<?php $this->text( 'wgScript' ) ?>" id="searchform">
-                                                       <?php
-                                                       if ( $wgVectorUseSimpleSearch ) {
-                                                       ?>
-                                                       <div id="simpleSearch">
-                                                               <?php
-                                                       } else {
-                                                       ?>
-                                                               <div>
-                                                                       <?php
-                                                       }
-                                                       ?>
-                                                       <?php
-                                                       echo $this->makeSearchInput( array( 'id' => 'searchInput' ) );
-                                                       echo Html::hidden( 'title', $this->get( 'searchtitle' ) );
-                                                       // We construct two buttons (for 'go' and 'fulltext' search modes),
-                                                       // but only one will be visible and actionable at a time (they are
-                                                       // overlaid on top of each other in CSS).
-                                                       // * Browsers will use the 'fulltext' one by default (as it's the
-                                                       //   first in tree-order), which is desirable when they are unable
-                                                       //   to show search suggestions (either due to being broken or
-                                                       //   having JavaScript turned off).
-                                                       // * The mediawiki.searchSuggest module, after doing tests for the
-                                                       //   broken browsers, removes the 'fulltext' button and handles
-                                                       //   'fulltext' search itself; this will reveal the 'go' button and
-                                                       //   cause it to be used.
-                                                       echo $this->makeSearchButton(
-                                                               'fulltext',
-                                                               array( 'id' => 'mw-searchButton', 'class' => 'searchButton mw-fallbackSearchButton' )
-                                                       );
-                                                       echo $this->makeSearchButton(
-                                                               'go',
-                                                               array( 'id' => 'searchButton', 'class' => 'searchButton' )
-                                                       );
-                                                       ?>
-                                                               </div>
-                                               </form>
-                                       </div>
-                                       <?php
-
-                                       break;
-                       }
-               }
-       }
-}
diff --git a/skins/Vector/collapsibleTabs.js b/skins/Vector/collapsibleTabs.js
deleted file mode 100644 (file)
index e24bea9..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-/**
- * Collapsible tabs jQuery Plugin
- */
-( function ( $ ) {
-       var rtl = $( 'html' ).attr( 'dir' ) === 'rtl';
-       $.fn.collapsibleTabs = function ( options ) {
-               // return if the function is called on an empty jquery object
-               if ( !this.length ) {
-                       return this;
-               }
-               // Merge options into the defaults
-               var settings = $.extend( {}, $.collapsibleTabs.defaults, options );
-
-               this.each( function () {
-                       var $el = $( this );
-                       // add the element to our array of collapsible managers
-                       $.collapsibleTabs.instances = ( $.collapsibleTabs.instances.length === 0 ?
-                               $el : $.collapsibleTabs.instances.add( $el ) );
-                       // attach the settings to the elements
-                       $el.data( 'collapsibleTabsSettings', settings );
-                       // attach data to our collapsible elements
-                       $el.children( settings.collapsible ).each( function () {
-                               $.collapsibleTabs.addData( $( this ) );
-                       } );
-               } );
-
-               // if we haven't already bound our resize handler, bind it now
-               if ( !$.collapsibleTabs.boundEvent ) {
-                       $( window ).on( 'resize', $.debounce( 500, function () {
-                               $.collapsibleTabs.handleResize();
-                       } ) );
-                       $.collapsibleTabs.boundEvent = true;
-               }
-
-               // call our resize handler to setup the page
-               $.collapsibleTabs.handleResize();
-               return this;
-       };
-       $.collapsibleTabs = {
-               instances: [],
-               boundEvent: null,
-               defaults: {
-                       expandedContainer: '#p-views ul',
-                       collapsedContainer: '#p-cactions ul',
-                       collapsible: 'li.collapsible',
-                       shifting: false,
-                       expandCondition: function ( eleWidth ) {
-                               // If there are at least eleWidth + 1 pixels of free space, expand.
-                               // We add 1 because .width() will truncate fractional values but .offset() will not.
-                               return $.collapsibleTabs.calculateTabDistance() >= eleWidth + 1;
-                       },
-                       collapseCondition: function () {
-                               // If there's an overlap, collapse.
-                               return $.collapsibleTabs.calculateTabDistance() < 0;
-                       }
-               },
-               addData: function ( $collapsible ) {
-                       var settings = $collapsible.parent().data( 'collapsibleTabsSettings' );
-                       if ( settings ) {
-                               $collapsible.data( 'collapsibleTabsSettings', {
-                                       expandedContainer: settings.expandedContainer,
-                                       collapsedContainer: settings.collapsedContainer,
-                                       expandedWidth: $collapsible.width(),
-                                       prevElement: $collapsible.prev()
-                               } );
-                       }
-               },
-               getSettings: function ( $collapsible ) {
-                       var settings = $collapsible.data( 'collapsibleTabsSettings' );
-                       if ( !settings ) {
-                               $.collapsibleTabs.addData( $collapsible );
-                               settings = $collapsible.data( 'collapsibleTabsSettings' );
-                       }
-                       return settings;
-               },
-               handleResize: function () {
-                       $.collapsibleTabs.instances.each( function () {
-                               var $el = $( this ),
-                                       data = $.collapsibleTabs.getSettings( $el );
-
-                               if ( data.shifting ) {
-                                       return;
-                               }
-
-                               // if the two navigations are colliding
-                               if ( $el.children( data.collapsible ).length > 0 && data.collapseCondition() ) {
-
-                                       $el.trigger( 'beforeTabCollapse' );
-                                       // move the element to the dropdown menu
-                                       $.collapsibleTabs.moveToCollapsed( $el.children( data.collapsible + ':last' ) );
-                               }
-
-                               // if there are still moveable items in the dropdown menu,
-                               // and there is sufficient space to place them in the tab container
-                               if ( $( data.collapsedContainer + ' ' + data.collapsible ).length > 0 &&
-                                               data.expandCondition( $.collapsibleTabs.getSettings( $( data.collapsedContainer ).children(
-                                                               data.collapsible + ':first' ) ).expandedWidth ) ) {
-                                       //move the element from the dropdown to the tab
-                                       $el.trigger( 'beforeTabExpand' );
-                                       $.collapsibleTabs
-                                               .moveToExpanded( data.collapsedContainer + ' ' + data.collapsible + ':first' );
-                               }
-                       } );
-               },
-               moveToCollapsed: function ( ele ) {
-                       var outerData, expContainerSettings, target,
-                               $moving = $( ele );
-
-                       outerData = $.collapsibleTabs.getSettings( $moving );
-                       if ( !outerData ) {
-                               return;
-                       }
-                       expContainerSettings = $.collapsibleTabs.getSettings( $( outerData.expandedContainer ) );
-                       if ( !expContainerSettings ) {
-                               return;
-                       }
-                       expContainerSettings.shifting = true;
-
-                       // Remove the element from where it's at and put it in the dropdown menu
-                       target = outerData.collapsedContainer;
-                       $moving.css( 'position', 'relative' )
-                               .css( ( rtl ? 'left' : 'right' ), 0 )
-                               .animate( { width: '1px' }, 'normal', function () {
-                                       var data, expContainerSettings;
-                                       $( this ).hide();
-                                       // add the placeholder
-                                       $( '<span class="placeholder" style="display: none;"></span>' ).insertAfter( this );
-                                       $( this ).detach().prependTo( target ).data( 'collapsibleTabsSettings', outerData );
-                                       $( this ).attr( 'style', 'display: list-item;' );
-                                       data = $.collapsibleTabs.getSettings( $( ele ) );
-                                       if ( data ) {
-                                               expContainerSettings = $.collapsibleTabs.getSettings( $( data.expandedContainer ) );
-                                               if ( expContainerSettings ) {
-                                                       expContainerSettings.shifting = false;
-                                                       $.collapsibleTabs.handleResize();
-                                               }
-                                       }
-                               } );
-               },
-               moveToExpanded: function ( ele ) {
-                       var data, expContainerSettings, $target, expandedWidth,
-                               $moving = $( ele );
-
-                       data = $.collapsibleTabs.getSettings( $moving );
-                       if ( !data ) {
-                               return;
-                       }
-                       expContainerSettings = $.collapsibleTabs.getSettings( $( data.expandedContainer ) );
-                       if ( !expContainerSettings ) {
-                               return;
-                       }
-                       expContainerSettings.shifting = true;
-
-                       // grab the next appearing placeholder so we can use it for replacing
-                       $target = $( data.expandedContainer ).find( 'span.placeholder:first' );
-                       expandedWidth = data.expandedWidth;
-                       $moving.css( 'position', 'relative' ).css( ( rtl ? 'right' : 'left' ), 0 ).css( 'width', '1px' );
-                       $target.replaceWith(
-                               $moving
-                               .detach()
-                               .css( 'width', '1px' )
-                               .data( 'collapsibleTabsSettings', data )
-                               .animate( { width: expandedWidth + 'px' }, 'normal', function () {
-                                       $( this ).attr( 'style', 'display: block;' );
-                                       var data, expContainerSettings;
-                                       data = $.collapsibleTabs.getSettings( $( this ) );
-                                       if ( data ) {
-                                               expContainerSettings = $.collapsibleTabs.getSettings( $( data.expandedContainer ) );
-                                               if ( expContainerSettings ) {
-                                                       expContainerSettings.shifting = false;
-                                                       $.collapsibleTabs.handleResize();
-                                               }
-                                       }
-                               } )
-                       );
-               },
-               /**
-                * Returns the amount of horizontal distance between the two tabs groups
-                * (#left-navigation and #right-navigation), in pixels. If negative, this
-                * means that the tabs overlap, and the value is the width of overlapping
-                * parts.
-                *
-                * Used in default expandCondition and collapseCondition.
-                *
-                * @return {Numeric} distance/overlap in pixels
-                */
-               calculateTabDistance: function () {
-                       var $leftTab, $rightTab, leftEnd, rightStart;
-
-                       // In RTL, #right-navigation is actually on the left and vice versa.
-                       // Hooray for descriptive naming.
-                       if ( !rtl ) {
-                               $leftTab = $( '#left-navigation' );
-                               $rightTab = $( '#right-navigation' );
-                       } else {
-                               $leftTab = $( '#right-navigation' );
-                               $rightTab = $( '#left-navigation' );
-                       }
-
-                       leftEnd = $leftTab.offset().left + $leftTab.width();
-                       rightStart = $rightTab.offset().left;
-
-                       return rightStart - leftEnd;
-               }
-       };
-
-}( jQuery ) );
diff --git a/skins/Vector/components/animations.less b/skins/Vector/components/animations.less
deleted file mode 100644 (file)
index 9163779..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Animate between standard and high definition layouts */
-body.vector-animateLayout {
-       div#content,
-       div#footer,
-       #left-navigation {
-               .transition(margin-left 250ms, padding 250ms;);
-       }
-
-       #p-logo {
-               .transition(left 250ms);
-       }
-
-       #mw-panel {
-               .transition(padding-right 250ms);
-       }
-
-       #p-search {
-               .transition(margin-right 250ms);
-       }
-
-       #p-personal {
-               .transition(right 250ms);
-       }
-
-       #mw-head-base {
-               .transition(margin-left 250ms);
-       }
-}
diff --git a/skins/Vector/components/common.less b/skins/Vector/components/common.less
deleted file mode 100644 (file)
index 1aee34d..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Any rules which should not be flipped automatically in right-to-left situations should be
- * prepended with @noflip in a comment block.
- *
- * This stylesheet employs a few CSS trick to accomplish compatibility with a wide range of web
- * browsers. The most common trick is to use some styles in IE6 only. This is accomplished by using
- * a rule that makes things work in IE6, and then following it with a rule that begins with
- * "html > body" or use a child selector ">", which is ignored by IE6 because it does not support
- * the child selector. You can spot this by looking for the "OVERRIDDEN BY COMPLIANT BROWSERS" and
- * "IGNORED BY IE6" comments.
- */
-@import "mediawiki.mixins";
-
-/* Framework */
-html {
-       font-size: @html-font-size;
-}
-html,
-body {
-       height: 100%;
-       margin: 0;
-       padding: 0;
-       font-family: @content-font-family;
-}
-body {
-       background-color: @menu-background-color;
-}
-
-/* Content */
-div#content {
-       margin-left: 10em;
-       padding: @content-padding;
-       /* Border on top, left, and bottom side */
-       border: 1px solid @content-border-color;
-       border-right-width: 0;
-       /* Merge the border with tabs' one (in their background image) */
-       margin-top: -1px;
-       background-color: @body-background-color;
-       color: @content-font-color;
-       direction: ltr;
-
-       .mw-editsection,
-       .mw-editsection-like {
-               font-family: @content-font-family;
-       }
-
-       p {
-               line-height: inherit;
-               margin: 0.5em 0;
-       }
-
-       h1,
-       h2,
-       #firstHeading {
-               font-family: @content-heading-font-family;
-               line-height: @heading-line-height;
-               margin-bottom: 0.25em;
-               padding: 0;
-       }
-
-       h1,
-       #firstHeading {
-               font-size: @content-heading-font-size;
-       }
-
-       h2 {
-               font-size: 1.5em;
-               margin-top: 1em;
-       }
-
-       h3,
-       h4,
-       h5,
-       h6 {
-               line-height: @content-line-height;
-               margin-top: 0.3em;
-               margin-bottom: 0;
-               padding-bottom: 0;
-       }
-
-       h3 {
-               font-size: 1.17em;
-       }
-
-       h3,
-       h4 {
-               font-weight: bold;
-       }
-
-       h4,
-       h5,
-       h6 {
-               font-size: 100%; /* (reset) */
-       }
-
-       #toc h2,
-       .toc h2 {
-               font-size: 100%; /* (reset) */
-               font-family: @content-font-family;
-       }
-}
-
-/* Hide empty portlets */
-div.emptyPortlet {
-               display: none;
-}
-
-ul {
-       list-style-type: disc;
-       .list-style-image('images/bullet-icon.png');
-}
-
-pre, .mw-code {
-       line-height: 1.3em;
-}
-
-/* Site Notice (includes notices from CentralNotice extension) */
-#siteNotice {
-       font-size: 0.8em;
-}
-
-.redirectText {
-       font-size: 140%;
-}
-
-.redirectMsg img {
-       vertical-align: text-bottom;
-}
-
-.mw-body-content {
-       position: relative;
-       line-height: @content-line-height;
-       font-size: @content-font-size;
-}
diff --git a/skins/Vector/components/externalLinks.less b/skins/Vector/components/externalLinks.less
deleted file mode 100644 (file)
index 91388c6..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-@import "mediawiki.mixins.less";
-// External links
-#content {
-       .external {
-               background-position: center right;
-               background-repeat: no-repeat;
-               .background-image-svg('images/external-link-ltr-icon.svg', 'images/external-link-ltr-icon.png');
-               padding-right: 13px;
-       }
-}
diff --git a/skins/Vector/components/footer.less b/skins/Vector/components/footer.less
deleted file mode 100644 (file)
index 3d61b66..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Footer */
-div#footer {
-       margin-left: 10em;
-       margin-top: 0;
-       padding: 0.75em;
-       direction: ltr;
-
-       ul {
-               list-style-type: none;
-               list-style-image: none;
-               margin: 0;
-               padding: 0;
-
-               li {
-                       margin: 0;
-                       padding: 0;
-                       padding-top: 0.5em;
-                       padding-bottom: 0.5em;
-                       color: #333;
-                       font-size: 0.7em;
-               }
-       }
-
-       #footer-icons {
-               float: right;
-
-               li {
-                       float: left;
-                       margin-left: 0.5em;
-                       line-height: 2em;
-                       text-align: right;
-               }
-       }
-
-       #footer-info {
-               li {
-                       line-height: 1.4em;
-               }
-       }
-
-       #footer-places {
-               li {
-                       float: left;
-                       margin-right: 1em;
-                       line-height: 2em;
-               }
-       }
-}
-
-body.ltr {
-       div#footer {
-               #footer-places {
-                       /* @noflip */
-                       float: left;
-               }
-       }
-}
diff --git a/skins/Vector/components/navigation.less b/skins/Vector/components/navigation.less
deleted file mode 100644 (file)
index 8b384ac..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-@import "mediawiki.mixins";
-@import "personalMenu";
-@import "search";
-@import "tabs";
-
-/* Hide, but keep accessible for screen-readers */
-#mw-navigation h2 {
-       position: absolute;
-       top: -9999px;
-}
-
-/* Head */
-#mw-page-base {
-       height: 5em;
-       background-position: bottom left;
-       background-repeat: repeat-x;
-       /* This image is only a fallback (for IE 6-9), so we do not @embed it. */
-       background-image: url('images/page-fade.png');
-       .vertical-gradient(@body-background-color, @menu-background-color, 50%, 100%);
-       background-color: @body-background-color;
-}
-
-#mw-head-base {
-       margin-top: -5em;
-       margin-left: 10em;
-       height: 5em;
-}
-
-div#mw-head {
-       position: absolute;
-       top: 0;
-       right: 0;
-       width: 100%;
-
-       h3 {
-               margin: 0;
-               padding: 0;
-       }
-}
-
-/* Navigation Containers */
-#left-navigation {
-       float: left;
-       margin-left: 10em;
-       margin-top: 2.5em;
-       /* When right nav would overlap left nav, it's placed below it
-          (normal CSS floats behavior). This rule ensures that no empty space
-          is shown between them due to right nav's margin-top. Page layout
-          is still broken, but at least the nav overlaps only the page title
-          instead of half the content. */
-       margin-bottom: -2.5em;
-       /* IE 6 double-margin bug fix */
-       display: inline;
-}
-
-#right-navigation {
-       float: right;
-       margin-top: 2.5em;
-}
-
-/* Logo */
-#p-logo {
-       position: absolute;
-       top: -160px;
-       left: 0;
-       width: 10em;
-       height: 160px;
-
-       a {
-               display: block;
-               width: 10em;
-               height: 160px;
-               background-repeat: no-repeat;
-               background-position: center center;
-               text-decoration: none;
-       }
-}
-
-/* Panel */
-div#mw-panel {
-       font-size: @menu-main-font-size;
-       position: absolute;
-       top: 160px;
-       padding-top: 1em;
-       width: 10em;
-       left: 0;
-
-       div.portal {
-               margin: 0 0.6em 0 0.7em;
-               padding: 0.25em 0;
-               direction: ltr;
-               background-position: top left;
-               background-repeat: no-repeat;
-               .background-image('images/portal-break.png');
-
-               h3 {
-                       font-size: @menu-main-heading-font-size;
-                       color: @menu-main-heading-color;
-                       font-weight: normal;
-                       margin: 0;
-                       padding: @menu-main-heading-padding;
-                       cursor: default;
-                       border: none;
-               }
-
-               div.body {
-                       margin: @menu-main-body-margin;
-                       padding-top: 0;
-
-                       ul {
-                               list-style-type: none;
-                               list-style-image: none;
-                               margin: 0;
-                               padding: @menu-main-body-padding;
-
-                               li {
-                                       line-height: 1.125em;
-                                       margin: 0;
-                                       padding: 0.25em 0;
-                                       font-size: @menu-main-body-font-size;
-                                       word-wrap: break-word;
-
-                                       a {
-                                               color: @menu-main-body-link-color;
-                                               &:visited {
-                                                       color: @menu-main-body-link-visited-color;
-                                               }
-                                       }
-                               }
-                       }
-               }
-
-               &.first {
-                       background-image: none;
-                       margin-top: 0;
-                       h3 {
-                               display: none;
-                       }
-                       div.body {
-                               margin-left: 0.5em;
-                       }
-               }
-       }
-}
diff --git a/skins/Vector/components/personalMenu.less b/skins/Vector/components/personalMenu.less
deleted file mode 100644 (file)
index 7256929..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Personal */
-#p-personal {
-       position: absolute;
-       top: 0.33em;
-       right: 0.75em;
-       /* Display on top of page tabs - bugs 37158, 48078 */
-       z-index: 100;
-
-       h3 {
-               display: none;
-       }
-
-       ul {
-               list-style-type: none;
-               list-style-image: none;
-               margin: 0;
-               padding-left: 10em; /* Keep from overlapping logo */
-       }
-
-       li {
-               line-height: 1.125em;
-               /* @noflip */
-               float: left;
-               margin-left: 0.75em;
-               margin-top: 0.5em;
-               font-size: @menu-personal-font-size;
-               white-space: nowrap;
-       }
-}
-
-/* Icon for Usernames */
-#pt-userpage,
-#pt-anonuserpage,
-#pt-login {
-       background-position: left top;
-       background-repeat: no-repeat;
-       /* SVG support using a transparent gradient to guarantee cross-browser
-        * compatibility (browsers able to understand gradient syntax support also SVG) */
-       .background-image-svg('images/user-icon.svg', 'images/user-icon.png');
-       padding-left: 15px !important;
-}
diff --git a/skins/Vector/components/search.less b/skins/Vector/components/search.less
deleted file mode 100644 (file)
index 46c3030..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Search */
-#p-search {
-       /* @noflip */
-       float: left;
-       margin-right: 0.5em;
-       margin-left: 0.5em;
-
-       h3 {
-               display: none;
-       }
-
-       form,
-       input {
-               margin: 0;
-               margin-top: 0.4em;
-       }
-}
-
-div#simpleSearch {
-       display: block;
-       width: 14em;
-       height: 1.4em;
-       margin-top: 0.65em;
-       position: relative;
-       min-height: 1px; /* Gotta trigger hasLayout for IE7 */
-       border: solid 1px #aaa;
-       color: black;
-       background-color: white;
-       .background-image('images/search-fade.png');
-       background-position: top left;
-       background-repeat: repeat-x;
-
-       // Styles for both the search input and the button
-       input {
-               position: absolute;
-               margin: 0;
-               padding: 0;
-               border: 0;
-               background-color: transparent;
-               color: black;
-       }
-
-       // The search input
-       #searchInput {
-               top: 0;
-               left: 0;
-               width: 90%;
-               padding: 0.2em 0 0.2em 0.2em;
-               font-size: 13px;
-               direction: ltr;
-
-               &:focus {
-                       outline: none;
-               }
-
-               // These rules MAY NOT be merged because of how CSS requires browsers
-               // to parse unrecognized selectors!
-               // Note these rules ensure that placeholder text can be distinguished from
-               // standard text. In browsers which make this distinction clear these rules
-               // are not necessary.
-               // For inputs that use jquery.placeholder.js e.g. IE9-
-               &.placeholder {
-                       color: #999;
-               }
-               // Distinguish placeholder text in IE10+
-               &:-ms-input-placeholder {
-                       color: #999;
-               }
-               // Distinguish placeholder text in Firefox 18-
-               &:-moz-placeholder {
-                       color: #999;
-               }
-
-               // Undo the styles Webkit browsers apply to type=search fields,
-               // we provide our own
-               -webkit-appearance: textfield;
-
-               &::-webkit-search-decoration,
-               &::-webkit-search-cancel-button,
-               &::-webkit-search-results-button,
-               &::-webkit-search-results-decoration {
-                       -webkit-appearance: textfield;
-               }
-       }
-
-       // The buttons. They are displayed in the same position, and if both are
-       // present the fulltext search one obscures the 'Go' one.
-       #searchButton,
-       #mw-searchButton {
-               top: 0;
-               right: 0;
-               width: 10%;
-               height: 100%;
-               cursor: pointer;
-               /* Hide button text and replace it with the image. */
-               /* This would be 100% if not for Firefox shenanigans (bug 60900). */
-               text-indent: 200%;
-               /* Needed to make IE6 respect the text-indent. */
-               line-height: 1;
-               /* Opera 12 on RTL flips the text in a funny way without this. */
-               /* @noflip */
-               direction: ltr;
-               white-space: nowrap;
-               overflow: hidden;
-               .background-image-svg('images/search-ltr.svg', 'images/search-ltr.png');
-               background-position: center center;
-               background-repeat: no-repeat;
-       }
-
-       #mw-searchButton {
-               z-index: 1;
-       }
-}
diff --git a/skins/Vector/components/tabs.less b/skins/Vector/components/tabs.less
deleted file mode 100644 (file)
index 57fe45f..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
-Styling for namespace tabs (page, discussion) and views (read, edit, view history, watch and other actions)
-*/
-
-/* Navigation Labels */
-div.vectorTabs h3 {
-       display: none;
-}
-
-/* Namespaces and Views */
-div.vectorTabs {
-       /* @noflip */
-       float: left;
-       height: 2.5em;
-       .background-image('images/tab-break.png');
-       background-position: bottom left;
-       background-repeat: no-repeat;
-       padding-left: 1px;
-
-       ul {
-               /* @noflip */
-               float: left;
-               height: 100%;
-               list-style-type: none;
-               list-style-image: none;
-               margin: 0;
-               padding: 0;
-               .background-image('images/tab-break.png');
-               background-position: right bottom;
-               background-repeat: no-repeat;
-
-               li {
-                       /* @noflip */
-                       float: left;
-                       line-height: 1.125em;
-                       /* For IE6, overridden later to display:block by modern browsers */
-                       display: inline-block;
-                       height: 100%;
-                       margin: 0;
-                       padding: 0;
-                       background-color: #f3f3f3;
-                       .background-image('images/tab-normal-fade.png');
-                       background-position: bottom left;
-                       background-repeat: repeat-x;
-                       white-space: nowrap;
-               }
-
-               /* IGNORED BY IE6 which doesn't support child selector */
-               > li {
-                       display: block;
-               }
-       }
-
-       li {
-               &.new {
-                       a,
-                       a:visited{
-                               color: #a55858;
-                       }
-               }
-
-               &.selected {
-                       .background-image('images/tab-current-fade.png');
-                       a,
-                       a:visited{
-                               color: #333;
-                               text-decoration: none;
-                       }
-               }
-
-               &.icon {
-                       a {
-                               background-position: bottom right;
-                               background-repeat: no-repeat;
-                       }
-               }
-
-               a {
-                       /* For IE6, overridden later to display:block by modern browsers */
-                       display: inline-block;
-                       height: 1.9em;
-                       padding-left: 0.5em;
-                       padding-right: 0.5em;
-                       color: @menu-link-color;
-                       cursor: pointer;
-                       font-size: 0.8em;
-               }
-
-               /* Ignored by IE6 which doesn't support child selector */
-               > a {
-                       display: block;
-               }
-       }
-
-       span {
-               display: inline-block;
-               .background-image('images/tab-break.png');
-               background-position: bottom right;
-               background-repeat: no-repeat;
-
-               a  {
-                       /* For IE6, overridden later to display:block by modern browsers */
-                       display: inline-block;
-                       padding-top: 1.25em;
-               }
-
-               /* Ignored by IE6 which doesn't support child selector */
-               > a {
-                       /* @noflip */
-                       float: left;
-                       display: block;
-               }
-       }
-}
-
-/* Variants and Actions */
-div.vectorMenu {
-       /* @noflip */
-       direction: ltr;
-       /* @noflip */
-       float: left;
-       cursor: pointer;
-       position: relative;
-}
-
-body.rtl div.vectorMenu {
-       /* @noflip */
-       direction: rtl;
-}
-
-div#mw-head div.vectorMenu h3 {
-       /* @noflip */
-       float: left;
-       .background-image('images/tab-break.png');
-       background-repeat: no-repeat;
-       background-position: bottom right;
-       margin-left: -1px;
-       font-size: 1em;
-       height: 2.5em;
-       // This effectively moves the "background border" outside of the element to act like a real
-       // border. It is necessary for the dropdown (div.vectorMenu div.menu) to align well.
-       padding-right: 1px;
-       margin-right: -1px;
-}
-
-// The "Variants" menu has a really funny structure
-// Temporary WMF deployment hack, to be removed before 1.24 release
-div#mw-head div.vectorMenu#p-variants {
-       #p-variants-label span {
-               display: none;
-       }
-
-       #mw-vector-current-variant {
-               display: inline-block;
-               float: left;
-               padding-right: 20px;
-               font-size: 0.8em;
-               padding-left: 0.5em;
-               padding-top: 1.375em;
-               font-weight: normal;
-               border: none;
-               background-image: none;
-       }
-}
-
-div.vectorMenu h3 span {
-       display: block;
-       font-size: 0.8em;
-       padding-left: 0.7em;
-       padding-top: 1.375em;
-       margin-right: 20px;
-       font-weight: normal;
-       color: @menu-main-heading-color;
-}
-
-div.vectorMenu h3 a {
-       position: absolute;
-       top: 0;
-       right: 0;
-       width: 20px;
-       height: 2.5em;
-       .background-image-svg('images/arrow-down-icon.svg', 'images/arrow-down-icon.png');
-       background-position: 100% 70%;
-       background-repeat: no-repeat;
-       .transition(background-position 250ms);
-}
-
-div.vectorMenu.menuForceShow h3 a {
-       background-position: 100% 100%;
-}
-
-div.vectorMenuFocus h3 a {
-       .background-image-svg('images/arrow-down-focus-icon.svg', 'images/arrow-down-focus-icon.png');
-}
-
-div.vectorMenu div.menu {
-       // Match the width of the dropdown "heading" (the tab)
-       min-width: 100%;
-       position: absolute;
-       top: 2.5em;
-       left: -1px;
-       background-color: white;
-       border: solid 1px silver;
-       border-top-width: 0;
-       clear: both;
-       text-align: left;
-       display: none;
-}
-
-/* Enable forcing showing of the menu for accessibility */
-div.vectorMenu:hover div.menu,
-div.vectorMenu.menuForceShow div.menu {
-       display: block;
-}
-
-div.vectorMenu ul {
-       list-style-type: none;
-       list-style-image: none;
-       padding: 0;
-       margin: 0;
-       text-align: left;
-}
-
-/* Fixes old versions of FireFox */
-div.vectorMenu ul,
-x:-moz-any-link {
-       min-width: 5em;
-}
-
-/* Returns things back to normal in modern versions of FireFox */
-div.vectorMenu ul,
-x:-moz-any-link,
-x:default {
-       min-width: 0;
-}
-
-div.vectorMenu li {
-       padding: 0;
-       margin: 0;
-       text-align: left;
-       line-height: 1em;
-}
-
-/* OVERRIDDEN BY COMPLIANT BROWSERS */
-div.vectorMenu li a {
-       display: inline-block;
-       padding: 0.5em;
-       white-space: nowrap;
-       color: @menu-link-color;
-       cursor: pointer;
-       font-size: 0.8em;
-}
-
-/* IGNORED BY IE6 */
-div.vectorMenu li > a {
-       display: block;
-}
-
-div.vectorMenu li.selected a,
-div.vectorMenu li.selected a:visited {
-       color: #333;
-       text-decoration: none;
-}
-
-@import 'watchstar.less';
diff --git a/skins/Vector/components/watchstar.less b/skins/Vector/components/watchstar.less
deleted file mode 100644 (file)
index a389ed6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-@import "mediawiki.mixins.rotation"
-
-/* Watch/Unwatch Icon Styling */
-#ca-unwatch.icon a,
-#ca-watch.icon a {
-       margin: 0;
-       padding: 0;
-       display: block;
-       width: 26px;
-       /* This hides the text but shows the background image */
-       padding-top: 3.1em;
-       margin-top: 0;
-       /* Only applied in IE6 */
-       margin-top: -0.8em !ie;
-       height: 0;
-       overflow: hidden;
-       background-position: 5px 60%;
-}
-#ca-unwatch.icon a {
-       .background-image-svg('images/unwatch-icon.svg', 'images/unwatch-icon.png');
-}
-#ca-watch.icon a {
-       .background-image-svg('images/watch-icon.svg', 'images/watch-icon.png');
-}
-#ca-unwatch.icon a:hover,
-#ca-unwatch.icon a:focus {
-       .background-image-svg('images/unwatch-icon-hl.svg', 'images/unwatch-icon-hl.png');
-}
-#ca-watch.icon a:hover,
-#ca-watch.icon a:focus {
-       .background-image-svg('images/watch-icon-hl.svg', 'images/watch-icon-hl.png');
-}
-#ca-unwatch.icon a.loading,
-#ca-watch.icon a.loading {
-       .background-image-svg('images/watch-icon-loading.svg', 'images/watch-icon-loading.png');
-       .rotation(700ms);
-       /* Suppress the hilarious rotating focus outline on Firefox */
-       outline: none;
-       cursor: default;
-       pointer-events: none;
-       background-position: 50% 60%;
-       -webkit-transform-origin: 50% 57%;
-       transform-origin: 50% 57%;
-}
-#ca-unwatch.icon a span,
-#ca-watch.icon a span {
-       display: none;
-}
diff --git a/skins/Vector/csshover.htc b/skins/Vector/csshover.htc
deleted file mode 100644 (file)
index a13ea68..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-<public:attach event="ondocumentready" onevent="CSSHover()" />
-<script>
-/**
- *     Whatever:hover - V3.11
- *     ------------------------------------------------------------
- *     Author  - Peter Nederlof, http://www.xs4all.nl/~peterned
- *     License - http://creativecommons.org/licenses/LGPL/2.1
- *
- *     Special thanks to Sergiu Dumitriu, http://purl.org/net/sergiu,
- *     for fixing the expression loop.
- *
- *     Whatever:hover is free software; you can redistribute it and/or
- *     modify it under the terms of the GNU Lesser General Public
- *     License as published by the Free Software Foundation; either
- *     version 2.1 of the License, or (at your option) any later version.
- *
- *     Whatever:hover 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
- *     Lesser General Public License for more details.
- *
- *     howto: body { behavior:url("csshover3.htc"); }
- *     ------------------------------------------------------------
- */
-
-window.CSSHover = (function(){
-
-       // regular expressions, used and explained later on.
-       var REG_INTERACTIVE = /(^|\s)((([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active|focus))/i;
-       var REG_AFFECTED = /(.*?)\:(hover|active|focus)/i;
-       var REG_PSEUDO = /[^:]+:([a-z\-]+).*/i;
-       var REG_SELECT = /(\.([a-z0-9_\-]+):[a-z]+)|(:[a-z]+)/gi;
-       var REG_CLASS = /\.([a-z0-9_\-]*on(hover|active|focus))/i;
-       var REG_MSIE = /msie (5|6|7)/i;
-       var REG_COMPAT = /backcompat/i;
-
-       // property mapping, real css properties must be used in order to clear expressions later on...
-       // Uses obscure css properties that no-one is likely to use. The properties are borrowed to
-       // set an expression, and are then restored to the most likely correct value.
-       var Properties = {
-               index: 0,
-               list: ['text-kashida', 'text-kashida-space', 'text-justify'],
-               get: function() {
-                       return this.list[(this.index++)%this.list.length];
-               }
-       };
-
-       // camelize is used to convert css properties from (eg) text-kashida to textKashida
-       var camelize = function(str) {
-               return str.replace(/-(.)/mg, function(result, match){
-                       return match.toUpperCase();
-               });
-       };
-       
-       /**
-        *      Local CSSHover object
-        *      --------------------------
-        */
-       
-       var CSSHover = {
-               
-               // array of CSSHoverElements, used to unload created events
-               elements: [], 
-               
-               // buffer used for checking on duplicate expressions
-               callbacks: {}, 
-               
-               // init, called once ondomcontentready via the exposed window.CSSHover function
-               init:function() {
-                       // don't run in IE8 standards; expressions don't work in standards mode anyway, 
-                       // and the stuff we're trying to fix should already work properly
-                       if(!REG_MSIE.test(navigator.userAgent) && !REG_COMPAT.test(window.document.compatMode)) {
-                               return;
-                       }
-
-                       // start parsing the existing stylesheets
-                       var sheets = window.document.styleSheets, l = sheets.length;
-                       for(var i=0; i<l; i++) {
-                               this.parseStylesheet(sheets[i]);
-                       }
-               },
-
-               // called from init, parses individual stylesheets
-               parseStylesheet:function(sheet) {
-                       // check sheet imports and parse those recursively
-                       if(sheet.imports) {
-                               try {
-                                       var imports = sheet.imports;
-                                       var l = imports.length;
-                                       for(var i=0; i<l; i++) {
-                                               this.parseStylesheet(sheet.imports[i]);
-                                       }
-                               } catch(securityException){
-                                       // trycatch for various possible errors
-                               }
-                       }
-                       
-                       // interate the sheet's rules and send them to the parser
-                       try {
-                               var rules = sheet.rules;
-                               var r = rules.length;
-                               for(var j=0; j<r; j++) {
-                                       this.parseCSSRule(rules[j], sheet);
-                               }
-                       } catch(someException){
-                               // trycatch for various errors, most likely accessing the sheet's rules.
-                       }
-               },
-
-               // magic starts here ...
-               parseCSSRule:function(rule, sheet) {
-                       
-                       // The sheet is used to insert new rules into, this must be the same sheet the rule 
-                       // came from, to ensure that relative paths keep pointing to the right location.
-
-                       // only parse a rule if it contains an interactive pseudo.
-                       var select = rule.selectorText;
-                       if(REG_INTERACTIVE.test(select)) {
-                               var style = rule.style.cssText;
-                                       
-                               // affected elements are found by truncating the selector after the interactive pseudo,
-                               // eg: "div li:hover" >>  "div li"
-                               var affected = REG_AFFECTED.exec(select)[1];
-                                       
-                               // that pseudo is needed for a classname, and defines the type of interaction (focus, hover, active)
-                               // eg: "li:hover" >> "onhover"
-                               var pseudo = select.replace(REG_PSEUDO, 'on$1');
-                                       
-                               // the new selector is going to use that classname in a new css rule,
-                               // since IE6 doesn't support multiple classnames, this is merged into one classname
-                               // eg: "li:hover" >> "li.onhover",  "li.folder:hover" >> "li.folderonhover"
-                               var newSelect = select.replace(REG_SELECT, '.$2' + pseudo);
-                                       
-                               // the classname is needed for the events that are going to be set on affected nodes
-                               // eg: "li.folder:hover" >> "folderonhover"
-                               var className = REG_CLASS.exec(newSelect)[1];
-
-                               // no need to set the same callback more than once when the same selector uses the same classname
-                               var hash = affected + className;
-                               if(!this.callbacks[hash]) {
-                                       
-                                       // affected elements are given an expression under a borrowed css property, because fake properties
-                                       // can't have their expressions cleared. Different properties are used per pseudo, to avoid
-                                       // expressions from overwriting eachother. The expression does a callback to CSSHover.patch, 
-                                       // rerouted via the exposed window.CSSHover function.
-                                       var property = Properties.get();
-                                       var atRuntime = camelize(property);
-
-                                       // because the expression is added to the stylesheet, and styles are always applied to html that is
-                                       // dynamically added to the dom, the expression will also trigger for those new elements (provided
-                                       // they are selected by the affected selector). 
-                                       sheet.addRule(affected, property + ':expression(CSSHover(this, "'+pseudo+'", "'+className+'", "'+atRuntime+'"))');
-                                       
-                                       // hash it, so an identical selector/class combo does not duplicate the expression
-                                       this.callbacks[hash] = true;
-                               }
-                               
-                               // duplicate expressions need not be set, but the style could differ
-                               sheet.addRule(newSelect, style);
-                       }
-               },
-
-               // called via the expression, patches individual nodes
-               patch:function(node, type, className, property) {
-
-                       // restores the borrowed css property to the value of its immediate parent, clearing
-                       // the expression so that it's not repeatedly called. 
-                       try {
-                               var value = node.parentNode.currentStyle[property];
-                               node.style[property] = value;   
-                       } catch(e) {
-                               // the above reset should never fail, but just in case, clear the runtimeStyle if it does.
-                               // this will also stop the expression.
-                               node.runtimeStyle[property] = '';
-                       }                       
-               
-                       // just to make sure, also keep track of patched classnames locally on the node
-                       if(!node.csshover) {
-                               node.csshover = [];
-                       }
-
-                       // and check for it to prevent duplicate events with the same classname from being set
-                       if(!node.csshover[className]) {
-                               node.csshover[className] = true;
-
-                               // create an instance for the given type and class
-                               var element = new CSSHoverElement(node, type, className);
-                               
-                               // and store that instance for unloading later on
-                               this.elements.push(element);
-                       }
-
-                       // returns a dummy value to the expression
-                       return type;
-               },
-
-               // unload stuff onbeforeunload
-               unload:function() {
-                       try {
-                               
-                               // remove events
-                               var l = this.elements.length;
-                               for(var i=0; i<l; i++) {
-                                       this.elements[i].unload();
-                               }
-
-                               // and set properties to null 
-                               this.elements = [];
-                               this.callbacks = {};
-
-                       } catch (e) {
-                       }
-               }
-       };
-
-       /**
-        *      CSSHoverElement
-        *      --------------------------
-        */
-
-       // the event types associated with the interactive pseudos
-       var CSSEvents = {
-               onhover:  { activator: 'onmouseenter', deactivator: 'onmouseleave' },
-               onactive: { activator: 'onmousedown',  deactivator: 'onmouseup' },
-               onfocus:  { activator: 'onfocus',      deactivator: 'onblur' }
-       };
-       
-       // CSSHoverElement constructor, called via CSSHover.patch
-       function CSSHoverElement(node, type, className) {
-
-               // the CSSHoverElement patches individual nodes by manually applying the events that should 
-               // have fired by the css pseudoclasses, eg mouseenter and mouseleave for :hover. 
-
-               this.node = node;
-               this.type = type;
-               var replacer = new RegExp('(^|\\s)'+className+'(\\s|$)', 'g');
-
-               // store event handlers for removal onunload
-               this.activator =   function(){ node.className += ' ' + className; };
-               this.deactivator = function(){ node.className = node.className.replace(replacer, ' '); };
-               
-               // add the events
-               node.attachEvent(CSSEvents[type].activator, this.activator);
-               node.attachEvent(CSSEvents[type].deactivator, this.deactivator);
-       }
-       
-       CSSHoverElement.prototype = {
-               // onbeforeunload, called via CSSHover.unload
-               unload:function() {
-
-                       // remove events 
-                       this.node.detachEvent(CSSEvents[this.type].activator, this.activator);
-                       this.node.detachEvent(CSSEvents[this.type].deactivator, this.deactivator);
-
-                       // and set properties to null 
-                       this.activator = null;
-                       this.deactivator = null;
-                       this.node = null;
-                       this.type = null;
-               }
-       };
-
-       // add the unload to the onbeforeunload event
-       window.attachEvent('onbeforeunload', function(){
-               CSSHover.unload();
-       });
-
-       /**
-        *      Public hook
-        *      --------------------------
-        */
-       
-       return function(node, type, className, property) {
-               if(node) {
-                       // called via the css expression; patches individual nodes
-                       return CSSHover.patch(node, type, className, property);
-               } else {
-                       // called ondomcontentready via the public:attach node
-                       CSSHover.init();
-               }
-       };
-
-})();
-</script>
\ No newline at end of file
diff --git a/skins/Vector/csshover.min.htc b/skins/Vector/csshover.min.htc
deleted file mode 100644 (file)
index 7e5c57b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<public:attach event="ondocumentready" onevent="CSSHover()" />
-<script>
-/**
- * Whatever:hover - V3.11
- * http://www.xs4all.nl/~peterned/
- *     
- * Copyright (c) 2009 Peter Nederlof
- * Licensed under the LGPL license
- * http://creativecommons.org/licenses/LGPL/2.1
- */
-window.CSSHover=(function(){var m=/(^|\s)((([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active|focus))/i;var n=/(.*?)\:(hover|active|focus)/i;var o=/[^:]+:([a-z\-]+).*/i;var p=/(\.([a-z0-9_\-]+):[a-z]+)|(:[a-z]+)/gi;var q=/\.([a-z0-9_\-]*on(hover|active|focus))/i;var s=/msie (5|6|7)/i;var t=/backcompat/i;var u={index:0,list:['text-kashida','text-kashida-space','text-justify'],get:function(){return this.list[(this.index++)%this.list.length]}};var v=function(c){return c.replace(/-(.)/mg,function(a,b){return b.toUpperCase()})};var w={elements:[],callbacks:{},init:function(){if(!s.test(navigator.userAgent)&&!t.test(window.document.compatMode)){return}var a=window.document.styleSheets,l=a.length;for(var i=0;i<l;i++){this.parseStylesheet(a[i])}},parseStylesheet:function(a){if(a.imports){try{var b=a.imports;var l=b.length;for(var i=0;i<l;i++){this.parseStylesheet(a.imports[i])}}catch(securityException){}}try{var c=a.rules;var r=c.length;for(var j=0;j<r;j++){this.parseCSSRule(c[j],a)}}catch(someException){}},parseCSSRule:function(a,b){var c=a.selectorText;if(m.test(c)){var d=a.style.cssText;var e=n.exec(c)[1];var f=c.replace(o,'on$1');var g=c.replace(p,'.$2'+f);var h=q.exec(g)[1];var i=e+h;if(!this.callbacks[i]){var j=u.get();var k=v(j);b.addRule(e,j+':expression(CSSHover(this, "'+f+'", "'+h+'", "'+k+'"))');this.callbacks[i]=true}b.addRule(g,d)}},patch:function(a,b,c,d){try{var f=a.parentNode.currentStyle[d];a.style[d]=f}catch(e){a.runtimeStyle[d]=''}if(!a.csshover){a.csshover=[]}if(!a.csshover[c]){a.csshover[c]=true;var g=new CSSHoverElement(a,b,c);this.elements.push(g)}return b},unload:function(){try{var l=this.elements.length;for(var i=0;i<l;i++){this.elements[i].unload()}this.elements=[];this.callbacks={}}catch(e){}}};var x={onhover:{activator:'onmouseenter',deactivator:'onmouseleave'},onactive:{activator:'onmousedown',deactivator:'onmouseup'},onfocus:{activator:'onfocus',deactivator:'onblur'}};function CSSHoverElement(a,b,c){this.node=a;this.type=b;var d=new RegExp('(^|\\s)'+c+'(\\s|$)','g');this.activator=function(){a.className+=' '+c};this.deactivator=function(){a.className=a.className.replace(d,' ')};a.attachEvent(x[b].activator,this.activator);a.attachEvent(x[b].deactivator,this.deactivator)}CSSHoverElement.prototype={unload:function(){this.node.detachEvent(x[this.type].activator,this.activator);this.node.detachEvent(x[this.type].deactivator,this.deactivator);this.activator=null;this.deactivator=null;this.node=null;this.type=null}};window.attachEvent('onbeforeunload',function(){w.unload()});return function(a,b,c,d){if(a){return w.patch(a,b,c,d)}else{w.init()}}})();
-</script>
diff --git a/skins/Vector/i18n/ab.json b/skins/Vector/i18n/ab.json
deleted file mode 100644 (file)
index d52ed10..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Temuri rajavi"
-               ]
-       },
-       "vector-action-move": "Ахьӡ аҧсахра",
-       "vector-view-create": "Арҿиара",
-       "vector-view-edit": "Ариашамҭа",
-       "vector-view-history": "Аҭоурых",
-       "vector-view-view": "Аҧхьара",
-       "vector-view-viewsource": "Ахәаҧшра"
-}
diff --git a/skins/Vector/i18n/ace.json b/skins/Vector/i18n/ace.json
deleted file mode 100644 (file)
index befc427..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Fadli Idris",
-                       "Si Gam Acèh"
-               ]
-       },
-       "vector-action-addsection": "Tamah bhaih",
-       "vector-action-delete": "Sampôh",
-       "vector-action-move": "Pupinah",
-       "vector-action-protect": "Peulindông",
-       "vector-action-undelete": "Bateuë sampôh",
-       "vector-action-unprotect": "Gantoe neulindông",
-       "vector-view-create": "Peugöt",
-       "vector-view-edit": "Andam",
-       "vector-view-history": "Eu riwayat",
-       "vector-view-view": "Beuët",
-       "vector-view-viewsource": "Eu nè"
-}
diff --git a/skins/Vector/i18n/ady-cyrl.json b/skins/Vector/i18n/ady-cyrl.json
deleted file mode 100644 (file)
index 77ea233..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Adamsa123",
-                       "Amire80",
-                       "Celekan",
-                       "Siklawy"
-               ]
-       },
-       "vector-action-addsection": "1офтхьабз",
-       "vector-action-delete": "ЛъэкӀ",
-       "vector-action-move": "Хьы",
-       "vector-action-protect": "Иухъумэ",
-       "vector-action-undelete": "Умылъэк1",
-       "vector-action-unprotect": "Умыухъумэ",
-       "vector-view-create": "Игъэхъу",
-       "vector-view-edit": "Гъэтэрэзыжь",
-       "vector-view-history": "Тарихъым eплъ",
-       "vector-view-view": "Едж",
-       "vector-view-viewsource": "Еплъ лъапсэм"
-}
diff --git a/skins/Vector/i18n/aeb.json b/skins/Vector/i18n/aeb.json
deleted file mode 100644 (file)
index b3c71f9..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Csisc",
-                       "Malekbr"
-               ]
-       },
-       "vector-action-addsection": "أضف موضوعا",
-       "vector-action-delete": "احذف",
-       "vector-action-move": "انقل",
-       "vector-action-protect": "احم",
-       "vector-action-undelete": "استرجع الحذف",
-       "vector-action-unprotect": "غير الحماية",
-       "vector-view-create": "أنشئ",
-       "vector-view-edit": "Baddel",
-       "vector-view-history": "Warri l'historique",
-       "vector-view-view": "Aqra",
-       "vector-view-viewsource": "اعرض المصدر"
-}
diff --git a/skins/Vector/i18n/af.json b/skins/Vector/i18n/af.json
deleted file mode 100644 (file)
index 8bd949e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Byeboer",
-                       "Naudefj"
-               ]
-       },
-       "vector-action-addsection": "Nuwe onderwerp",
-       "vector-action-delete": "Skrap",
-       "vector-action-move": "Skuif",
-       "vector-action-protect": "Beskerm",
-       "vector-action-undelete": "Ontskrap",
-       "vector-action-unprotect": "Wysig beskerming",
-       "vector-view-create": "Skep",
-       "vector-view-edit": "Wysig",
-       "vector-view-history": "Wys geskiedenis",
-       "vector-view-view": "Lees",
-       "vector-view-viewsource": "Wys bronteks",
-       "vector-more-actions": "Meer"
-}
diff --git a/skins/Vector/i18n/aln.json b/skins/Vector/i18n/aln.json
deleted file mode 100644 (file)
index a5cc022..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bresta"
-               ]
-       },
-       "vector.css": "/* CSSi i vednosun këtu ka me i prekë shfrytëzuesit e dukjes Vector */",
-       "vector.js": "/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen Vector */",
-       "vector-action-addsection": "Shto temë",
-       "vector-action-delete": "Fshij",
-       "vector-action-move": "Zhvendos",
-       "vector-action-protect": "Mbroj",
-       "vector-action-undelete": "Kthe fshimjen mbrapsht",
-       "vector-action-unprotect": "Hiq mbrojtjen",
-       "vector-view-create": "Krijo",
-       "vector-view-edit": "Redakto",
-       "vector-view-history": "Shih historinë",
-       "vector-view-view": "Lexo",
-       "vector-view-viewsource": "Shih kodin"
-}
diff --git a/skins/Vector/i18n/am.json b/skins/Vector/i18n/am.json
deleted file mode 100644 (file)
index 55655bb..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Codex Sinaiticus",
-                       "Elfalem",
-                       "Hinstein",
-                       "Teferra"
-               ]
-       },
-       "vector-action-addsection": "ርዕስ ጨምር",
-       "vector-action-delete": "አጥፋ",
-       "vector-action-move": "ለማዛወር",
-       "vector-action-protect": "ለመቆለፍ",
-       "vector-action-undelete": "አታጥፋ",
-       "vector-action-unprotect": "አለመቆለፍ",
-       "vector-view-create": "አዲስ ፍጠር",
-       "vector-view-edit": "አርም",
-       "vector-view-history": "ታሪኩን አሳይ",
-       "vector-view-view": "ለማንበብ",
-       "vector-view-viewsource": "ጥሬ ኮድ ለመመልከት",
-       "vector-more-actions": "ተጨማሪ"
-}
diff --git a/skins/Vector/i18n/an.json b/skins/Vector/i18n/an.json
deleted file mode 100644 (file)
index a4b5f0c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Juanpabl"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector.css": "/* Os estilos CSS colocaus aquí s'aplicarán ta totz os usuarios que faigan servir l'apariencia Vector */",
-       "vector.js": "/* Qualsiquier codigo Javascript escrito aquí se cargará ta totz os usuarios que usen a piel Vector */",
-       "vector-action-addsection": "Adhibir nueva sección",
-       "vector-action-delete": "Borrar",
-       "vector-action-move": "Tresladar",
-       "vector-action-protect": "Protecher",
-       "vector-action-undelete": "Restaurar",
-       "vector-action-unprotect": "Cambiar protección",
-       "vector-view-create": "Creyar",
-       "vector-view-edit": "Editar",
-       "vector-view-history": "Amostrar l'historial",
-       "vector-view-view": "Leyer",
-       "vector-view-viewsource": "Veyer o codigo fuent"
-}
diff --git a/skins/Vector/i18n/ang.json b/skins/Vector/i18n/ang.json
deleted file mode 100644 (file)
index 56321dc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gott wisst"
-               ]
-       },
-       "vector-action-addsection": "Besettan mearcunge",
-       "vector-action-delete": "Forlēosan",
-       "vector-action-move": "Wegan",
-       "vector-action-protect": "Beorgan",
-       "vector-action-undelete": "Scieppan tramet eft",
-       "vector-action-unprotect": "Andwendan beorgunge",
-       "vector-view-create": "Scieppan",
-       "vector-view-edit": "Adihtan",
-       "vector-view-history": "Stǣr",
-       "vector-view-view": "Rǣdan",
-       "vector-view-viewsource": "Sēon fruman"
-}
diff --git a/skins/Vector/i18n/ar.json b/skins/Vector/i18n/ar.json
deleted file mode 100644 (file)
index 9c07d9b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Abanima",
-                       "Calak",
-                       "Meno25",
-                       "Mido",
-                       "OsamaK",
-                       "أحمد",
-                       "زكريا"
-               ]
-       },
-       "skinname-vector": "فكتور",
-       "vector.css": "/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمي واجهة فكتور */",
-       "vector.js": "/* أي جافاسكريبت هنا سيتم تحميلها للمستخدمين الذين يستعملون واجهة فكتور */",
-       "vector-action-addsection": "أضف موضوعا",
-       "vector-action-delete": "احذف",
-       "vector-action-move": "انقل",
-       "vector-action-protect": "احم",
-       "vector-action-undelete": "ألغ الحذف",
-       "vector-action-unprotect": "غير الحماية",
-       "vector-view-create": "أنشئ",
-       "vector-view-edit": "عدل",
-       "vector-view-history": "اعرض التاريخ",
-       "vector-view-view": "اقرأ",
-       "vector-view-viewsource": "اعرض المصدر",
-       "vector-more-actions": "مزيد"
-}
diff --git a/skins/Vector/i18n/arc.json b/skins/Vector/i18n/arc.json
deleted file mode 100644 (file)
index 7bb2372..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "334a",
-                       "Basharh",
-                       "Michaelovic"
-               ]
-       },
-       "vector-action-addsection": "ܐܘܣܦ ܡܠܘܐܐ",
-       "vector-action-delete": "ܫܘܦ",
-       "vector-action-move": "ܫܢܝ",
-       "vector-action-protect": "ܛܪ",
-       "vector-action-undelete": "ܠܐ ܫܘܦ",
-       "vector-action-unprotect": "ܫܚܠܦ ܢܛܝܪܘܬܐ",
-       "vector-view-create": "ܒܪܝ",
-       "vector-view-edit": "ܫܚܠܦ",
-       "vector-view-history": "ܚܙܝ ܬܫܥܝܬܐ",
-       "vector-view-view": "ܩܪܝ",
-       "vector-view-viewsource": "ܚܙܝ ܡܒܘܥܐ"
-}
diff --git a/skins/Vector/i18n/arn.json b/skins/Vector/i18n/arn.json
deleted file mode 100644 (file)
index 9ff9636..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Clerc",
-                       "Fiestoforo"
-               ]
-       },
-       "vector-action-addsection": "Püñamtun dungu",
-       "vector-action-delete": "Liftun",
-       "vector-action-move": "Wiñamün",
-       "vector-action-protect": "Nürüfkünun",
-       "vector-action-undelete": "Wüñoñamümün",
-       "vector-action-unprotect": "Kalekünun Nürüfkünun",
-       "vector-view-create": "Dewman",
-       "vector-view-edit": "Kümeelün",
-       "vector-view-history": "Pengelün rupañmael",
-       "vector-view-view": "Chillkatun",
-       "vector-view-viewsource": "Kimam chew küpan chi wirin"
-}
diff --git a/skins/Vector/i18n/aro.json b/skins/Vector/i18n/aro.json
deleted file mode 100644 (file)
index 77dc6c4..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ooswesthoesbes"
-               ]
-       },
-       "vector-view-edit": "Imeakie"
-}
diff --git a/skins/Vector/i18n/arq.json b/skins/Vector/i18n/arq.json
deleted file mode 100644 (file)
index 740ab9b..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bachounda",
-                       "Oldstoneage"
-               ]
-       },
-       "vector-action-addsection": "زيد موضوع",
-       "vector-action-delete": "امحي",
-       "vector-action-move": "حول",
-       "vector-action-protect": "بروجي",
-       "vector-action-undelete": "ردّ كيما كان",
-       "vector-action-unprotect": "بدّل الـحماية",
-       "vector-view-create": "أصنع",
-       "vector-view-edit": "بدل",
-       "vector-view-history": "روح للتاريخي",
-       "vector-view-view": "أقرى",
-       "vector-view-viewsource": "شوف المصدر"
-}
diff --git a/skins/Vector/i18n/ary.json b/skins/Vector/i18n/ary.json
deleted file mode 100644 (file)
index db687ea..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Enzoreg",
-                       "Zanatos"
-               ]
-       },
-       "vector-action-addsection": "Zid topic",
-       "vector-action-delete": "Suprimi",
-       "vector-action-move": "Neqel",
-       "vector-action-protect": "Ḫami",
-       "vector-action-undelete": "rja lhadf",
-       "vector-action-unprotect": "Ḫiyed l-ḫimaya",
-       "vector-view-create": "Ĥṫareĝ",
-       "vector-view-edit": "Ĝedel",
-       "vector-view-history": "Ṫariĥ l-fiċyé",
-       "vector-view-view": "Qra",
-       "vector-view-viewsource": "Ċof l-masdar"
-}
diff --git a/skins/Vector/i18n/arz.json b/skins/Vector/i18n/arz.json
deleted file mode 100644 (file)
index 3541b15..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ghaly",
-                       "Meno25",
-                       "Ramsis II"
-               ]
-       },
-       "vector.css": "/* CSS اللى هنا حتأثر على اليوزرز اللى بيستخدموا واجهة فكتور */",
-       "vector.js": "/* اى جافاسكريبت هنا حتتحمل لكل يوزر بيستخدم واجهة فكتور */",
-       "vector-action-addsection": "ضيف موضوع",
-       "vector-action-delete": "مسح",
-       "vector-action-move": "نقل",
-       "vector-action-protect": "حمايه",
-       "vector-action-undelete": "الغى المسح",
-       "vector-action-unprotect": "غير الحمايه",
-       "vector-view-create": "اعمل",
-       "vector-view-edit": "تعديل",
-       "vector-view-history": "استعراض التاريخ",
-       "vector-view-view": "قرايه",
-       "vector-view-viewsource": "استعراض المصدر"
-}
diff --git a/skins/Vector/i18n/as.json b/skins/Vector/i18n/as.json
deleted file mode 100644 (file)
index 92efe9f..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bishnu Saikia",
-                       "Chaipau",
-                       "Gitartha.bordoloi"
-               ]
-       },
-       "vector-action-addsection": "বিষয় যোগ",
-       "vector-action-delete": "বিলোপ কৰক",
-       "vector-action-move": "স্থানান্তৰ কৰক",
-       "vector-action-protect": "সুৰক্ষিত কৰক",
-       "vector-action-undelete": "পুনৰুদ্ধাৰ কৰক",
-       "vector-action-unprotect": "সুৰক্ষা সলনি কৰক",
-       "vector-view-create": "সৃষ্টি কৰক",
-       "vector-view-edit": "সম্পাদনা",
-       "vector-view-history": "ইতিহাস চাওক",
-       "vector-view-view": "পঢ়ক",
-       "vector-view-viewsource": "উৎস চাওক",
-       "vector-more-actions": "অধিক"
-}
diff --git a/skins/Vector/i18n/ase.json b/skins/Vector/i18n/ase.json
deleted file mode 100644 (file)
index 97a3500..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Icemandeaf"
-               ]
-       },
-       "skinname-vector": "M509x575S10e20494x425S14a20493x459S16d20492x478S1fb20494x502S17620493x525S11a20493x545",
-       "vector-skin-desc": "M535x520S19a00507x481S19a08465x481S22f14465x506S22f04509x506 M515x598S18d20494x403S17620499x432S11920493x452S17620499x482S14720500x502S17620499x528S17620499x548S14020485x568 M521x508S1f748479x493S1f740501x493 M532x517S15a16505x505S2880f468x484S20e00491x495S1821d503x492 M534x547S2ff00482x483S10001513x517S2e305488x487 S38700463x496 M535x536S20300516x521S20308470x521S26500516x502S26510470x502S14c30511x465S14c38465x465 M526x522S15a56499x510S11520503x479S20e00489x496S26a02474x489 M520x540S37606481x460S15a40508x513S28801499x491S20500488x492",
-       "vector.css": "/* M509x529S16d20492x471S20320493x495S20320493x514 M535x523S14c50508x492S14c58469x492S22520503x477S22520465x477 M525x525S10004510x475S22a04511x510S1000c476x475S22a14477x510 M534x518S2ff00482x483S15a10522x486S2b700514x458 M521x532S10609498x496S10621487x512S21100500x483S2df20479x468 M526x522S15a56499x510S11520503x479S20e00489x496S26a02474x489 M521x508S1f748479x493S1f740501x493 M509x575S10e20494x425S14a20493x459S16d20492x478S1fb20494x502S17620493x525S11a20493x545 M517x524S15a02484x477S15a20489x484S21100504x492S22a04504x509 */",
-       "vector.js": "/* M520x523S1f540480x477S2a204497x495 M519x527S19220498x489S2a20c482x473S20320498x512 M525x525S10004510x475S22a04511x510S1000c476x475S22a14477x510 M534x518S2ff00482x483S15a10522x486S2b700514x458 M524x539S14402493x485S1440a486x461S22b00508x509S22b10476x483 M536x521S2ff00482x483S10011515x491S28108515x461 M526x522S15a56499x510S11520503x479S20e00489x496S26a02474x489 M509x575S10e20494x425S14a20493x459S16d20492x478S1fb20494x502S17620493x525S11a20493x545 M517x524S15a02484x477S15a20489x484S21100504x492S22a04504x509 */",
-       "vector-action-addsection": "M532x517S15a16505x505S2880f468x484S20e00491x495S1821d503x492 M522x522S15a37478x479S10041485x492S20600500x492",
-       "vector-action-delete": "M527x532S1ea40473x511S1f540512x478S22a07497x504S2f700512x468",
-       "vector-action-move": "M552x509S18520488x494S18528449x494S26626522x492",
-       "vector-action-protect": "M512x519S15a19488x482S15a11489x482S20600488x508",
-       "vector-action-undelete": "M515x538S15a0a486x463S10050500x467S2330b485x516S20e00491x501 M527x532S1ea40473x511S1f540512x478S22a07497x504S2f700512x468",
-       "vector-action-unprotect": "M521x532S10609498x496S10621487x512S21100500x483S2df20479x468 M512x519S15a19488x482S15a11489x482S20600488x508",
-       "vector-view-create": "M532x519S20302493x485S2030a489x502S21100509x504S26900516x482S26910468x501",
-       "vector-view-edit": "M521x532S10609498x496S10621487x512S21100500x483S2df20479x468",
-       "vector-view-history": "M525x524S2ff00482x483S10e00507x494S26500511x474 M514x523S11541487x478S22f04489x509",
-       "vector-view-view": "M513x540S15a06486x459S10e50494x474S22b04493x510",
-       "vector-view-viewsource": "M525x524S2ff00482x483S10e00507x494S26500511x474 M509x545S16d20492x456S17620493x480S10120493x497S14a20494x530",
-       "vector-more-actions": "M526x508S18510501x493S18518475x493"
-}
diff --git a/skins/Vector/i18n/ast.json b/skins/Vector/i18n/ast.json
deleted file mode 100644 (file)
index d150812..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Esbardu",
-                       "Xuacu"
-               ]
-       },
-       "vector-skin-desc": "Versión moderna de MonoBook, con un aspeutu frescu y munchos ameyoramientos d'usabilidá",
-       "vector.css": "/* Los CSS allugaos equí afeutarán a los usuarios del aspeutu Vector */",
-       "vector.js": "/* Cualesquier JavaScript que tea equí se cargará pa los usuarios del aspeutu Vector */",
-       "vector-action-addsection": "Amestar seición",
-       "vector-action-delete": "Desaniciar",
-       "vector-action-move": "Treslladar",
-       "vector-action-protect": "Protexer",
-       "vector-action-undelete": "Restaurar",
-       "vector-action-unprotect": "Camudar la proteición",
-       "vector-view-create": "Crear",
-       "vector-view-edit": "Editar",
-       "vector-view-history": "Ver historial",
-       "vector-view-view": "Lleer",
-       "vector-view-viewsource": "Ver fonte",
-       "vector-more-actions": "Más"
-}
diff --git a/skins/Vector/i18n/av.json b/skins/Vector/i18n/av.json
deleted file mode 100644 (file)
index e7a6452..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Умар"
-               ]
-       },
-       "vector-view-edit": "Хисизабизе"
-}
diff --git a/skins/Vector/i18n/avk.json b/skins/Vector/i18n/avk.json
deleted file mode 100644 (file)
index a0585bd..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Wikimistusik"
-               ]
-       },
-       "vector-action-addsection": "Loplekura va detce",
-       "vector-action-delete": "Sulara",
-       "vector-action-move": "Arrundara",
-       "vector-action-protect": "Nendara",
-       "vector-view-create": "Redura",
-       "vector-view-edit": "Betara",
-       "vector-view-history": "Wira va izvot",
-       "vector-view-view": "Belira",
-       "vector-view-viewsource": "klitawira"
-}
diff --git a/skins/Vector/i18n/az.json b/skins/Vector/i18n/az.json
deleted file mode 100644 (file)
index 48d42e5..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "AZISS",
-                       "Arystanbek",
-                       "Gulmammad",
-                       "Sortilegus",
-                       "Vago",
-                       "Vugar 1981",
-                       "Wertuose"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector.css": "/* Burada yerləşən CSS Vector istifadəçilərinə tətbiq olunur */",
-       "vector.js": "/* Burada Vector skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */",
-       "vector-action-addsection": "Mövzu əlavə et",
-       "vector-action-delete": "Sil",
-       "vector-action-move": "Adını dəyişdir",
-       "vector-action-protect": "Mühafizə et",
-       "vector-action-undelete": "Bərpa et",
-       "vector-action-unprotect": "Mühafizəni kənarlaşdır",
-       "vector-view-create": "Yarat",
-       "vector-view-edit": "Redaktə",
-       "vector-view-history": "Tarixçəyə bax",
-       "vector-view-view": "Oxu",
-       "vector-view-viewsource": "Mənbəyə bax",
-       "vector-more-actions": "Daha"
-}
diff --git a/skins/Vector/i18n/azb.json b/skins/Vector/i18n/azb.json
deleted file mode 100644 (file)
index ae46e1c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "E THP",
-                       "Ebrahimi-amir",
-                       "Mousa"
-               ]
-       },
-       "vector-action-addsection": "قوْنو آرتیر",
-       "vector-action-delete": "سیل",
-       "vector-action-move": "داشی",
-       "vector-action-protect": "قوْرو",
-       "vector-action-undelete": "سیلمگی قایتار",
-       "vector-action-unprotect": "قوْروماغی دَییشدیر",
-       "vector-view-create": "یارات",
-       "vector-view-edit": "دَییشدیر",
-       "vector-view-history": "گئچمیشه باخ",
-       "vector-view-view": "اوْخو",
-       "vector-view-viewsource": "قایناغا باخ"
-}
diff --git a/skins/Vector/i18n/ba.json b/skins/Vector/i18n/ba.json
deleted file mode 100644 (file)
index 30969f7..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Assele",
-                       "Haqmar"
-               ]
-       },
-       "skinname-vector": "Векторлы",
-       "vector-action-addsection": "Тема өҫтәргә",
-       "vector-action-delete": "Юйырға",
-       "vector-action-move": "Исемен үҙгәртергә",
-       "vector-action-protect": "Һаҡларға",
-       "vector-action-undelete": "Тергеҙергә",
-       "vector-action-unprotect": "Һаҡлауҙы үҙгәртергә",
-       "vector-view-create": "Яһау",
-       "vector-view-edit": "Үҙгәртергә",
-       "vector-view-history": "Тарихты ҡарау",
-       "vector-view-view": "Уҡыу",
-       "vector-view-viewsource": "Сығанаҡты ҡарарға"
-}
diff --git a/skins/Vector/i18n/ban.json b/skins/Vector/i18n/ban.json
deleted file mode 100644 (file)
index 4641011..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Adi Mayndra",
-                       "BASAbali"
-               ]
-       },
-       "vector-action-addsection": "imbuhin indik wacana",
-       "vector-action-delete": "ngapus",
-       "vector-action-move": "kisidang",
-       "vector-action-protect": "nyaga",
-       "vector-view-create": "ngawe",
-       "vector-view-edit": "mecikang",
-       "vector-view-history": "indik sane lintang",
-       "vector-view-view": "Waca",
-       "vector-view-viewsource": "cingak witnyane"
-}
diff --git a/skins/Vector/i18n/bar.json b/skins/Vector/i18n/bar.json
deleted file mode 100644 (file)
index 0c085b1..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bua333",
-                       "Mucalexx"
-               ]
-       },
-       "vector-action-addsection": "An Obschnitt dazua doa",
-       "vector-action-delete": "Leschn",
-       "vector-action-move": "Vaschiabm",
-       "vector-action-protect": "Schitzn",
-       "vector-action-undelete": "Wiederherstön",
-       "vector-action-unprotect": "freigeem",
-       "vector-view-create": "Aufbaun",
-       "vector-view-edit": "Werkln",
-       "vector-view-history": "Gschicht oschaugn",
-       "vector-view-view": "Lesn",
-       "vector-view-viewsource": "Quejtext ozoagn"
-}
diff --git a/skins/Vector/i18n/bbc-latn.json b/skins/Vector/i18n/bbc-latn.json
deleted file mode 100644 (file)
index fe9a284..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Daniel Harahap",
-                       "WBT003Bugari",
-                       "WBT006Hendra",
-                       "WBT009Anju"
-               ]
-       },
-       "vector-action-addsection": "Bagian na imbaru",
-       "vector-action-delete": "Sesa",
-       "vector-action-move": "Pahusor",
-       "vector-action-protect": "Ramoti",
-       "vector-action-undelete": "unang sesa",
-       "vector-action-unprotect": "Uba parlindungan",
-       "vector-view-create": "Tompa",
-       "vector-view-edit": "Paubah",
-       "vector-view-history": "Patudu andorang na",
-       "vector-view-view": "Jaha",
-       "vector-view-viewsource": "Ida haroanna"
-}
diff --git a/skins/Vector/i18n/bcc.json b/skins/Vector/i18n/bcc.json
deleted file mode 100644 (file)
index f6c3c4d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mostafadaneshvar",
-                       "RigiMahnoor"
-               ]
-       },
-       "vector-action-addsection": "هور کتن عنوان",
-       "vector-action-delete": "زورگ",
-       "vector-action-move": "جاه په جاه",
-       "vector-action-protect": "حفاظت",
-       "vector-action-undelete": "ترینگ",
-       "vector-action-unprotect": "پروتکشنء ٹگل بدئ",
-       "vector-view-create": "شرکتن",
-       "vector-view-edit": "اصلاح",
-       "vector-view-history": "چارتن تاریح",
-       "vector-view-view": "وانتن",
-       "vector-view-viewsource": "پیشدارگ بن جاه",
-       "vector-more-actions": "گیشتر"
-}
diff --git a/skins/Vector/i18n/bcl.json b/skins/Vector/i18n/bcl.json
deleted file mode 100644 (file)
index 7e2d73a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Filipinayzd",
-                       "Geopoet"
-               ]
-       },
-       "vector-action-addsection": "Idagdag an topic",
-       "vector-action-delete": "puráon",
-       "vector-action-move": "Ibalyó",
-       "vector-action-protect": "Protektaran",
-       "vector-action-undelete": "Bawion sa pagkapara",
-       "vector-action-unprotect": "Ribayan an proteksyon",
-       "vector-view-create": "Magmukna",
-       "vector-view-edit": "Liwatón",
-       "vector-view-history": "Tanawon sa historiya",
-       "vector-view-view": "Basáha",
-       "vector-view-viewsource": "Hilingón an ginikánan"
-}
diff --git a/skins/Vector/i18n/be-tarask.json b/skins/Vector/i18n/be-tarask.json
deleted file mode 100644 (file)
index 4bbef69..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "EugeneZelenko",
-                       "Red Winged Duck",
-                       "Wizardist"
-               ]
-       },
-       "skinname-vector": "Вэктар",
-       "vector-action-addsection": "Дадаць тэму",
-       "vector-action-delete": "Выдаліць",
-       "vector-action-move": "Перанесьці",
-       "vector-action-protect": "Абараніць",
-       "vector-action-undelete": "Аднавіць",
-       "vector-action-unprotect": "Зьмяніць абарону",
-       "vector-view-create": "Стварыць",
-       "vector-view-edit": "Рэдагаваць",
-       "vector-view-history": "Паказаць гісторыю",
-       "vector-view-view": "Чытаць",
-       "vector-view-viewsource": "Паказаць крыніцу",
-       "vector-more-actions": "Болей"
-}
diff --git a/skins/Vector/i18n/be.json b/skins/Vector/i18n/be.json
deleted file mode 100644 (file)
index 5dbc57c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mikalai Udodau",
-                       "Yury Tarasievich",
-                       "Дзяніс Тутэйшы",
-                       "Хомелка"
-               ]
-       },
-       "vector-skin-desc": "Сучасная версія вокладкі Манабук, з абноўленым відам і шматлікімі зручнымі паляпшэннямі",
-       "vector-action-addsection": "Дадаць тэму",
-       "vector-action-delete": "Сцерці",
-       "vector-action-move": "Перанесці",
-       "vector-action-protect": "Ахова",
-       "vector-action-undelete": "Аднавіць",
-       "vector-action-unprotect": "Змяніць ахову",
-       "vector-view-create": "Стварыць",
-       "vector-view-edit": "Правіць",
-       "vector-view-history": "Паказаць гісторыю",
-       "vector-view-view": "Чытаць",
-       "vector-view-viewsource": "Паказаць зыходны тэкст",
-       "vector-more-actions": "Яшчэ"
-}
diff --git a/skins/Vector/i18n/bew.json b/skins/Vector/i18n/bew.json
deleted file mode 100644 (file)
index ab009b4..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Naval Scene"
-               ]
-       },
-       "vector-action-delete": "Ngapus",
-       "vector-action-move": "Pindahin",
-       "vector-action-undelete": "Balikin nyang keapus",
-       "vector-view-create": "Bikin"
-}
diff --git a/skins/Vector/i18n/bg.json b/skins/Vector/i18n/bg.json
deleted file mode 100644 (file)
index 9a2858c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Borislav",
-                       "DCLXVI",
-                       "Spiritia"
-               ]
-       },
-       "vector-action-addsection": "Добавяне на тема",
-       "vector-action-delete": "Изтриване",
-       "vector-action-move": "Преместване",
-       "vector-action-protect": "Защита",
-       "vector-action-undelete": "Възстановяване",
-       "vector-action-unprotect": "Промяна на защитата",
-       "vector-view-create": "Създаване",
-       "vector-view-edit": "Редактиране",
-       "vector-view-history": "История",
-       "vector-view-view": "Преглед",
-       "vector-view-viewsource": "Преглед на кода"
-}
diff --git a/skins/Vector/i18n/bho.json b/skins/Vector/i18n/bho.json
deleted file mode 100644 (file)
index e41f332..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ganesh",
-                       "Nepaboy"
-               ]
-       },
-       "vector-action-addsection": "विषय जोड़ीं",
-       "vector-action-delete": "मिटाईं",
-       "vector-action-move": "स्थांतरण",
-       "vector-action-protect": "संरक्षित करीं",
-       "vector-action-undelete": "मत मिटाईं",
-       "vector-action-unprotect": "सुरक्षा बदलीं",
-       "vector-view-create": "बनाईं",
-       "vector-view-edit": "सम्पादन",
-       "vector-view-history": "इतिहास देखीं",
-       "vector-view-view": "पढ़ीं",
-       "vector-view-viewsource": "स्त्रोत देखीं"
-}
diff --git a/skins/Vector/i18n/bi.json b/skins/Vector/i18n/bi.json
deleted file mode 100644 (file)
index a30c41b..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Sotiale"
-               ]
-       },
-       "vector-action-move": "Muv",
-       "vector-view-history": "Lukluk histri",
-       "vector-view-view": "Rid"
-}
diff --git a/skins/Vector/i18n/bjn.json b/skins/Vector/i18n/bjn.json
deleted file mode 100644 (file)
index 61cb74e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ezagren",
-                       "J Subhi"
-               ]
-       },
-       "vector-action-addsection": "Tambahi tupik",
-       "vector-action-delete": "Hapus",
-       "vector-action-move": "Pindahakan",
-       "vector-action-protect": "Lindungi",
-       "vector-action-undelete": "Pawalangan pahapusan",
-       "vector-action-unprotect": "Palindungan",
-       "vector-view-create": "Ulah",
-       "vector-view-edit": "Babak",
-       "vector-view-history": "Tiringi halam",
-       "vector-view-view": "Baca",
-       "vector-view-viewsource": "Tiringi asal mula"
-}
diff --git a/skins/Vector/i18n/bm.json b/skins/Vector/i18n/bm.json
deleted file mode 100644 (file)
index 9164ec8..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Amadouyoro.thiam"
-               ]
-       },
-       "vector-view-view": "Kalan"
-}
diff --git a/skins/Vector/i18n/bn.json b/skins/Vector/i18n/bn.json
deleted file mode 100644 (file)
index a2c37b3..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Aftab1995",
-                       "Bellayet",
-                       "Leemon2010",
-                       "Nasir8891",
-                       "Tauhid16",
-                       "Wikitanvir"
-               ]
-       },
-       "skinname-vector": "ভেক্টর",
-       "vector-action-addsection": "বিষয় যোগ",
-       "vector-action-delete": "অপসারণ",
-       "vector-action-move": "স্থানান্তর",
-       "vector-action-protect": "সুরক্ষা",
-       "vector-action-undelete": "পুনরুদ্ধার",
-       "vector-action-unprotect": "সুরক্ষা পরিবর্তন",
-       "vector-view-create": "তৈরি",
-       "vector-view-edit": "সম্পাদনা",
-       "vector-view-history": "ইতিহাস",
-       "vector-view-view": "পড়ুন",
-       "vector-view-viewsource": "উৎস দেখুন",
-       "vector-more-actions": "আরও"
-}
diff --git a/skins/Vector/i18n/bo.json b/skins/Vector/i18n/bo.json
deleted file mode 100644 (file)
index defe396..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Freeyak",
-                       "Phurbutsering"
-               ]
-       },
-       "vector-action-addsection": "བརྗོད་གཞི་ཁ་སྣོན།",
-       "vector-action-delete": "སུབས།",
-       "vector-action-move": "སྤོར་བ།",
-       "vector-action-protect": "འགོག་སྲུང།",
-       "vector-action-undelete": "མི་བསུབས་",
-       "vector-action-unprotect": "སྲུང་སྐྱོབ་གློད་པ།",
-       "vector-view-create": "གསར་བཟོ།",
-       "vector-view-edit": "རྩོམ་སྒྲིག",
-       "vector-view-history": "ལོ་རྒྱུས་ལ་ལྟ་བ།",
-       "vector-view-view": "ཀློག་པ།",
-       "vector-view-viewsource": "ཁུངས་ལ་ལྟ་བ།"
-}
diff --git a/skins/Vector/i18n/bpy.json b/skins/Vector/i18n/bpy.json
deleted file mode 100644 (file)
index 3124363..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Usingha"
-               ]
-       },
-       "vector-action-addsection": "বিষয় তিলকর",
-       "vector-action-delete": "পুসে বেলা",
-       "vector-action-move": "থেইকর",
-       "vector-action-protect": "লুকর",
-       "vector-action-undelete": "নাপুসি",
-       "vector-action-unprotect": "লুকরানিহান সিলকর",
-       "vector-view-create": "হঙকরিক",
-       "vector-view-edit": "পতানি",
-       "vector-view-history": "ইতিহাস চেইক",
-       "vector-view-view": "পাকরিক",
-       "vector-view-viewsource": "সোর্স চেইক"
-}
diff --git a/skins/Vector/i18n/br.json b/skins/Vector/i18n/br.json
deleted file mode 100644 (file)
index 9cf579b..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Fulup",
-                       "Y-M D"
-               ]
-       },
-       "skinname-vector": "Vektor",
-       "vector.css": "/* Talvezout a raio ar CSS lakaet amañ evit implijerien ar gwiskadur Vektor */",
-       "vector.js": "/* Kement JavaScript amañ a vo karget evit an implijerien a ra gant ar gwiskadur Vektor */",
-       "vector-action-addsection": "Rannbennad nevez",
-       "vector-action-delete": "Diverkañ",
-       "vector-action-move": "Adenvel",
-       "vector-action-protect": "Gwareziñ",
-       "vector-action-undelete": "Diziverkañ",
-       "vector-action-unprotect": "Cheñch gwarez",
-       "vector-view-create": "Krouiñ",
-       "vector-view-edit": "Kemmañ",
-       "vector-view-history": "Gwelet an istor",
-       "vector-view-view": "Lenn",
-       "vector-view-viewsource": "Sellet ouzh tarzh an destenn",
-       "vector-more-actions": "Muioc'h"
-}
diff --git a/skins/Vector/i18n/brh.json b/skins/Vector/i18n/brh.json
deleted file mode 100644 (file)
index ee435e6..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Imdadb"
-               ]
-       },
-       "vector-action-addsection": "Púskun sarhál",
-       "vector-action-delete": "Mesa",
-       "vector-action-move": "Surif",
-       "vector-action-protect": "Rakk",
-       "vector-view-create": "Biná",
-       "vector-view-edit": "Radbadal",
-       "vector-view-history": "Lekav e ur",
-       "vector-view-view": "Xuán",
-       "vector-view-viewsource": "Bumpad e ur"
-}
diff --git a/skins/Vector/i18n/bs.json b/skins/Vector/i18n/bs.json
deleted file mode 100644 (file)
index f5e80ac..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "CERminator",
-                       "DzWiki",
-                       "KWiki",
-                       "Edinwiki"
-               ]
-       },
-       "vector-action-addsection": "Dodaj temu",
-       "vector-action-delete": "Izbriši",
-       "vector-action-move": "Preusmjeri",
-       "vector-action-protect": "Zaštiti",
-       "vector-action-undelete": "Vrati obrisano",
-       "vector-action-unprotect": "Promijeni zaštitu",
-       "vector-view-create": "Napravi",
-       "vector-view-edit": "Uredi",
-       "vector-view-history": "Pregled historije",
-       "vector-view-view": "Čitanje",
-       "vector-view-viewsource": "Pogledaj izvor",
-       "vector-more-actions": "Više"
-}
diff --git a/skins/Vector/i18n/bto.json b/skins/Vector/i18n/bto.json
deleted file mode 100644 (file)
index 4dd54b8..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Filipinayzd"
-               ]
-       },
-       "vector-action-delete": "Puraon",
-       "vector-action-move": "Ilipat",
-       "vector-action-protect": "Protektaran",
-       "vector-action-undelete": "Ibalik",
-       "vector-action-unprotect": "Ribayan a proteksyon",
-       "vector-view-create": "Gumibo",
-       "vector-view-edit": "Balyowan",
-       "vector-view-history": "Baydon a kasaysayan",
-       "vector-view-view": "Basahon",
-       "vector-view-viewsource": "Baydon a ginikanan",
-       "vector-more-actions": "Dakul pa"
-}
diff --git a/skins/Vector/i18n/bug.json b/skins/Vector/i18n/bug.json
deleted file mode 100644 (file)
index b1b0f9e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kurniasan"
-               ]
-       },
-       "vector-action-move": "Paléccé'",
-       "vector-view-create": "Ebbu",
-       "vector-view-edit": "Padéccéng",
-       "vector-view-view": "Baca",
-       "vector-view-viewsource": "Ita sumber"
-}
diff --git a/skins/Vector/i18n/bxr.json b/skins/Vector/i18n/bxr.json
deleted file mode 100644 (file)
index 64ff413..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bjargal",
-                       "Elvonudinium"
-               ]
-       },
-       "vector-action-addsection": "Һэдэб нэмэхэ",
-       "vector-action-delete": "Усадхаха",
-       "vector-action-move": "Зөөхэ",
-       "vector-view-create": "Үүдхэхэ",
-       "vector-view-edit": "Заһабарилха",
-       "vector-view-history": "Түүхые хараха",
-       "vector-view-view": "Уншаха",
-       "vector-view-viewsource": "эшэ үндэһэндэнь хандаха"
-}
diff --git a/skins/Vector/i18n/ca.json b/skins/Vector/i18n/ca.json
deleted file mode 100644 (file)
index 31d5173..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Aleator",
-                       "Anskar",
-                       "Calak",
-                       "Paucabot",
-                       "Ssola",
-                       "Vriullop",
-                       "Toniher"
-               ]
-       },
-       "vector-skin-desc": "Versió moderna del MonoBook amb un nou aspesctes i moltes millores en la usabilitat",
-       "vector-action-addsection": "Nova secció",
-       "vector-action-delete": "Esborra",
-       "vector-action-move": "Reanomena",
-       "vector-action-protect": "Protegeix",
-       "vector-action-undelete": "Restaura",
-       "vector-action-unprotect": "Desprotegeix",
-       "vector-view-create": "Crea",
-       "vector-view-edit": "Modifica",
-       "vector-view-history": "Mostra l'historial",
-       "vector-view-view": "Mostra",
-       "vector-view-viewsource": "Mostra el codi",
-       "vector-more-actions": "Més"
-}
diff --git a/skins/Vector/i18n/cdo.json b/skins/Vector/i18n/cdo.json
deleted file mode 100644 (file)
index 2bdcb9f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Yejianfei"
-               ]
-       },
-       "vector-action-addsection": "加話題",
-       "vector-action-delete": "刪掉咯",
-       "vector-action-move": "移動",
-       "vector-action-protect": "保護",
-       "vector-action-undelete": "取消刪除",
-       "vector-action-unprotect": "改變保護",
-       "vector-view-create": "創建",
-       "vector-view-edit": "修改",
-       "vector-view-history": "看歷史",
-       "vector-view-view": "讀",
-       "vector-view-viewsource": "看源代碼"
-}
diff --git a/skins/Vector/i18n/ce.json b/skins/Vector/i18n/ce.json
deleted file mode 100644 (file)
index 75053d7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Sasan700",
-                       "Умар"
-               ]
-       },
-       "skinname-vector": "Векторан",
-       "vector-action-addsection": "ТӀетоха хьедар",
-       "vector-action-delete": "ДӀаяккха",
-       "vector-action-move": "ЦӀе хийца",
-       "vector-action-protect": "Гlаролла дé",
-       "vector-action-undelete": "МеттахӀоттае",
-       "vector-action-unprotect": "ГӀароллех къаста",
-       "vector-view-create": "Кхоллар",
-       "vector-view-edit": "Нисъе",
-       "vector-view-history": "АгӀона хийцамаш",
-       "vector-view-view": "Éшар",
-       "vector-view-viewsource": "Билглонашка хьажа",
-       "vector-more-actions": "Кхин"
-}
diff --git a/skins/Vector/i18n/ceb.json b/skins/Vector/i18n/ceb.json
deleted file mode 100644 (file)
index e2c631f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Jordz"
-               ]
-       },
-       "vector-action-addsection": "Pagdugang og topiko",
-       "vector-action-delete": "Papasa",
-       "vector-action-move": "Ibalhin",
-       "vector-action-protect": "Protektahi",
-       "vector-action-undelete": "Ayaw papasa",
-       "vector-action-unprotect": "Ayaw protektahi",
-       "vector-view-create": "Himoa",
-       "vector-view-edit": "Usba",
-       "vector-view-history": "Tan-awa ang kaagi",
-       "vector-view-view": "Basaha",
-       "vector-view-viewsource": "Tan-awa ang ginikanan"
-}
diff --git a/skins/Vector/i18n/ckb.json b/skins/Vector/i18n/ckb.json
deleted file mode 100644 (file)
index 0db4670..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Asoxor",
-                       "Calak"
-               ]
-       },
-       "skinname-vector": "ڤێکتۆر",
-       "vector-action-addsection": "بابەت دابنێ",
-       "vector-action-delete": "بیسڕەوە",
-       "vector-action-move": "بیگوازەوە",
-       "vector-action-protect": "بیپارێزە",
-       "vector-action-undelete": "سڕینەوە بگەڕێنەوە",
-       "vector-action-unprotect": "پاراستن بگۆڕە",
-       "vector-view-create": "دروستکردن",
-       "vector-view-edit": "دەستکاریی بکە",
-       "vector-view-history": "مێژووەکەی ببینە",
-       "vector-view-view": "بیخوێنەوە",
-       "vector-view-viewsource": "سەرچاوەکەی ببینە",
-       "vector-more-actions": "زیاتر"
-}
diff --git a/skins/Vector/i18n/co.json b/skins/Vector/i18n/co.json
deleted file mode 100644 (file)
index ad84420..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Paulu"
-               ]
-       },
-       "vector-action-addsection": "Aghjunghje discussione",
-       "vector-action-delete": "Supprimà",
-       "vector-action-move": "Cullucà",
-       "vector-action-protect": "Pruteghje",
-       "vector-action-unprotect": "Cambià a prutezzione",
-       "vector-view-create": "Creà",
-       "vector-view-edit": "Mudificà",
-       "vector-view-history": "Vede a cronolugia",
-       "vector-view-view": "Leghje",
-       "vector-view-viewsource": "Vede a surghjente"
-}
diff --git a/skins/Vector/i18n/cps.json b/skins/Vector/i18n/cps.json
deleted file mode 100644 (file)
index 5c40641..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Capisano",
-                       "Oxyzen"
-               ]
-       },
-       "vector-action-addsection": "Magdugang sang topiko",
-       "vector-action-delete": "Panason",
-       "vector-action-move": "Isdogon",
-       "vector-action-protect": "Protektahan",
-       "vector-action-undelete": "Indi pag panason",
-       "vector-action-unprotect": "Islan ang proteksyon",
-       "vector-view-create": "Ubrahon",
-       "vector-view-edit": "Bag-uhon",
-       "vector-view-history": "Ipakita ang kasaysayan",
-       "vector-view-view": "Basahon",
-       "vector-view-viewsource": "Lantawon ang ginhalinan"
-}
diff --git a/skins/Vector/i18n/crh-cyrl.json b/skins/Vector/i18n/crh-cyrl.json
deleted file mode 100644 (file)
index b49a884..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Don Alessandro"
-               ]
-       },
-       "vector-action-addsection": "Мевзу къош",
-       "vector-action-delete": "Ёкъ эт",
-       "vector-action-move": "Адыны денъиштир",
-       "vector-action-protect": "Къорчала",
-       "vector-action-undelete": "Янъыдан ярат",
-       "vector-action-unprotect": "Къорчалавны денъиштир",
-       "vector-view-create": "Ярат",
-       "vector-view-edit": "Денъиштир",
-       "vector-view-history": "Кечмишини косьтер",
-       "vector-view-view": "Окъу",
-       "vector-view-viewsource": "Менба кодуны косьтер"
-}
diff --git a/skins/Vector/i18n/crh-latn.json b/skins/Vector/i18n/crh-latn.json
deleted file mode 100644 (file)
index ad8d58a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Don Alessandro"
-               ]
-       },
-       "vector-action-addsection": "Mevzu qoş",
-       "vector-action-delete": "Yoq et",
-       "vector-action-move": "Adını deñiştir",
-       "vector-action-protect": "Qorçala",
-       "vector-action-undelete": "Yañıdan yarat",
-       "vector-action-unprotect": "Qorçalavnı deñiştir",
-       "vector-view-create": "Yarat",
-       "vector-view-edit": "Deñiştir",
-       "vector-view-history": "Keçmişini köster",
-       "vector-view-view": "Oqu",
-       "vector-view-viewsource": "Menba kodunı köster"
-}
diff --git a/skins/Vector/i18n/cs.json b/skins/Vector/i18n/cs.json
deleted file mode 100644 (file)
index 081783b..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mormegil"
-               ]
-       },
-       "skinname-vector": "Vektor",
-       "vector-skin-desc": "Moderní verze MonoBooku s novějším vzhledem a vylepšenou použitelností",
-       "vector.css": "/* Zde uvedené CSS bude ovlivňovat pouze styl „Vektor“ */",
-       "vector.js": "/* JavaScript pro uživatele používající vzhled „Vektor“ */",
-       "vector-action-addsection": "Přidat téma",
-       "vector-action-delete": "Smazat",
-       "vector-action-move": "Přesunout",
-       "vector-action-protect": "Zamknout",
-       "vector-action-undelete": "Obnovit",
-       "vector-action-unprotect": "Změnit zámek",
-       "vector-view-create": "Založit",
-       "vector-view-edit": "Editovat",
-       "vector-view-history": "Zobrazit historii",
-       "vector-view-view": "Číst",
-       "vector-view-viewsource": "Zobrazit zdrojový kód",
-       "vector-more-actions": "Další"
-}
diff --git a/skins/Vector/i18n/csb.json b/skins/Vector/i18n/csb.json
deleted file mode 100644 (file)
index 56d0930..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kaszeba",
-                       "Kuvaly"
-               ]
-       },
-       "vector-action-addsection": "Dodôj témã",
-       "vector-action-delete": "Rëmôj",
-       "vector-action-move": "Przeniesë",
-       "vector-action-protect": "Zazychrëjë",
-       "vector-action-undelete": "Doprowôdzë nazôd",
-       "vector-action-unprotect": "Òdzychrëjë",
-       "vector-view-create": "Ùsôdzë",
-       "vector-view-edit": "Edicëjô",
-       "vector-view-history": "Historëjô lopka",
-       "vector-view-view": "Czëtôj",
-       "vector-view-viewsource": "Zdrojowi tekst"
-}
diff --git a/skins/Vector/i18n/cu.json b/skins/Vector/i18n/cu.json
deleted file mode 100644 (file)
index caad73c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "ОйЛ"
-               ]
-       },
-       "vector-action-addsection": "новꙑ бєсѣдꙑ чѧсти сътворѥниѥ",
-       "vector-action-delete": "поничьжєниѥ",
-       "vector-action-move": "прѣимєнованиѥ",
-       "vector-action-protect": "ꙁабранѥниѥ",
-       "vector-action-unprotect": "иꙁмѣни ꙁабранѥниꙗ обраꙁъ",
-       "vector-view-create": "сътворѥниѥ",
-       "vector-view-edit": "исправи",
-       "vector-view-history": "їсторїꙗ",
-       "vector-view-view": "чьтѥниѥ",
-       "vector-view-viewsource": "страницѧ источьнъ обраꙁъ",
-       "vector-more-actions": "вѧщє"
-}
diff --git a/skins/Vector/i18n/cv.json b/skins/Vector/i18n/cv.json
deleted file mode 100644 (file)
index 6206af8..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Chavash",
-                       "FLAGELLVM DEI"
-               ]
-       },
-       "vector-action-addsection": "Тема хуш",
-       "vector-action-delete": "Кăларса пăрах",
-       "vector-action-move": "Ятне улăштар",
-       "vector-action-protect": "Хӳтĕле",
-       "vector-view-create": "Çĕннине ту",
-       "vector-view-edit": "Тӳрлет",
-       "vector-view-history": "Кун-çул",
-       "vector-view-view": "Вула",
-       "vector-view-viewsource": "пуçламăш текста пăх"
-}
diff --git a/skins/Vector/i18n/cy.json b/skins/Vector/i18n/cy.json
deleted file mode 100644 (file)
index 99d4dc3..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Lloffiwr"
-               ]
-       },
-       "vector-action-addsection": "Ychwanegu adran",
-       "vector-action-delete": "Dileu",
-       "vector-action-move": "Symud",
-       "vector-action-protect": "Diogelu",
-       "vector-action-undelete": "Adfer",
-       "vector-action-unprotect": "Newid y diogelwch",
-       "vector-view-create": "Dechrau",
-       "vector-view-edit": "Golygu",
-       "vector-view-history": "Gweld yr hanes",
-       "vector-view-view": "Darllen",
-       "vector-view-viewsource": "Dangos côd y dudalen",
-       "vector-more-actions": "Rhagor"
-}
diff --git a/skins/Vector/i18n/da.json b/skins/Vector/i18n/da.json
deleted file mode 100644 (file)
index 1651d66..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Byrial",
-                       "Christian List",
-                       "Peter Alberti"
-               ]
-       },
-       "vector-skin-desc": "Moderne version af MonoBook med frisk udseende og mange forbedringer af brugervenligheden",
-       "vector-action-addsection": "Nyt emne",
-       "vector-action-delete": "Slet",
-       "vector-action-move": "Flyt",
-       "vector-action-protect": "Beskyt",
-       "vector-action-undelete": "Gendan",
-       "vector-action-unprotect": "Ændr beskyttelse",
-       "vector-view-create": "Opret",
-       "vector-view-edit": "Redigér",
-       "vector-view-history": "Se historik",
-       "vector-view-view": "Læs",
-       "vector-view-viewsource": "Se kilden",
-       "vector-more-actions": "Mere"
-}
diff --git a/skins/Vector/i18n/de.json b/skins/Vector/i18n/de.json
deleted file mode 100644 (file)
index eefc7ab..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kghbln",
-                       "Metalhead64",
-                       "The Evil IP address",
-                       "Umherirrender"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector-skin-desc": "Moderne Version von Monobook mit frischem Aussehen und vielen Verbesserungen an der Benutzerfreundlichkeit",
-       "vector.css": "/* Das folgende CSS wird für Benutzer der Vector-Benutzeroberfläche geladen. Für allgemeingültige Benutzeroberflächen-Anpassungen bitte [[MediaWiki:Common.css]] bearbeiten. */",
-       "vector.js": "/* Das folgende JavaScript wird für Benutzer der Vector-Benutzeroberfläche geladen. Allgemeingültiges JavaScript bitte in [[MediaWiki:Common.js]] eintragen. */",
-       "vector-action-addsection": "Abschnitt hinzufügen",
-       "vector-action-delete": "Löschen",
-       "vector-action-move": "Verschieben",
-       "vector-action-protect": "Schützen",
-       "vector-action-undelete": "Wiederherstellen",
-       "vector-action-unprotect": "Seitenschutz ändern",
-       "vector-view-create": "Erstellen",
-       "vector-view-edit": "Bearbeiten",
-       "vector-view-history": "Versionsgeschichte",
-       "vector-view-view": "Lesen",
-       "vector-view-viewsource": "Quelltext anzeigen",
-       "vector-more-actions": "Mehr"
-}
diff --git a/skins/Vector/i18n/diq.json b/skins/Vector/i18n/diq.json
deleted file mode 100644 (file)
index 5ba4455..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Asmen",
-                       "Calak",
-                       "Erdemaslancan",
-                       "Mirzali"
-               ]
-       },
-       "skinname-vector": "Vektor",
-       "vector-action-addsection": "Mewzu vıraze",
-       "vector-action-delete": "Bestere",
-       "vector-action-move": "Bere",
-       "vector-action-protect": "Bışevekne",
-       "vector-action-undelete": "Esterıtışi peyser bıgê",
-       "vector-action-unprotect": "Starkerdışi bıvurne",
-       "vector-view-create": "Vıraze",
-       "vector-view-edit": "Bıvurne",
-       "vector-view-history": "Tarixê pele bıvêne",
-       "vector-view-view": "Bıwane",
-       "vector-view-viewsource": "Çımey bıvêne",
-       "vector-more-actions": "Zêde"
-}
diff --git a/skins/Vector/i18n/dsb.json b/skins/Vector/i18n/dsb.json
deleted file mode 100644 (file)
index 7220f36..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Michawiki"
-               ]
-       },
-       "vector-action-addsection": "Temu pśidaś",
-       "vector-action-delete": "Wulašowaś",
-       "vector-action-move": "Pśesunuś",
-       "vector-action-protect": "Šćitaś",
-       "vector-action-undelete": "Wótnowiś",
-       "vector-action-unprotect": "Šćit změniś",
-       "vector-view-create": "Napóraś",
-       "vector-view-edit": "Wobźěłaś",
-       "vector-view-history": "Wersije a awtory",
-       "vector-view-view": "Cytaś",
-       "vector-view-viewsource": "Žrědło se woglědaś"
-}
diff --git a/skins/Vector/i18n/dtp.json b/skins/Vector/i18n/dtp.json
deleted file mode 100644 (file)
index a337040..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "FRANCIS5091",
-                       "FRANELYA"
-               ]
-       },
-       "vector-action-addsection": "Ruhangai piboboroson",
-       "vector-action-delete": "Pugaso",
-       "vector-action-move": "Poundoliho",
-       "vector-action-protect": "Tingoligai",
-       "vector-action-undelete": "Kada pugaso",
-       "vector-action-unprotect": "Alanai tingolig",
-       "vector-view-create": "Pomonsoi",
-       "vector-view-edit": "Idito",
-       "vector-view-history": "Intaai susuyan",
-       "vector-view-view": "Basao",
-       "vector-view-viewsource": "Intaai wowonod"
-}
diff --git a/skins/Vector/i18n/dv.json b/skins/Vector/i18n/dv.json
deleted file mode 100644 (file)
index 9e53056..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ushau97"
-               ]
-       },
-       "vector-action-addsection": "ޚިޔާލެއް އިތުރުކުރައްވާ",
-       "vector-action-delete": "ފޮހެލައްވާ",
-       "vector-action-move": "ތަން ބަދަލުކުރައްވާ",
-       "vector-action-protect": "ދިފާޢުކުރައްވާ",
-       "vector-action-unprotect": "ދިފާޢުކުރުން ބަދަލުކުރައްވާ",
-       "vector-view-create": "ފަށްޓަވާ",
-       "vector-view-edit": "އުނިއިތުރު ގެންނަވާ",
-       "vector-view-history": "ޞަފްޙާގެ ތާރީޚް",
-       "vector-view-view": "ކިޔުއްވާ",
-       "vector-view-viewsource": "މަސްދަރު ބައްލަވާ"
-}
diff --git a/skins/Vector/i18n/ee.json b/skins/Vector/i18n/ee.json
deleted file mode 100644 (file)
index 2214755..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Natsubee"
-               ]
-       },
-       "vector-action-delete": "Tutui",
-       "vector-action-move": "Ɖɔli eƒe nɔƒe",
-       "vector-view-create": "Dze egɔme",
-       "vector-view-edit": "Trɔ asi le eŋu",
-       "vector-view-history": "Kpɔ xoxoawo",
-       "vector-view-view": "Xlẽ",
-       "vector-view-viewsource": "Kpɔ alesi woŋlɔe"
-}
diff --git a/skins/Vector/i18n/egl.json b/skins/Vector/i18n/egl.json
deleted file mode 100644 (file)
index a819ab0..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Lévi"
-               ]
-       },
-       "vector-action-addsection": "Zûnta discusiòun",
-       "vector-action-delete": "Scanşèla",
-       "vector-action-move": "Spôsta",
-       "vector-action-protect": "Prutēz",
-       "vector-action-undelete": "Fà al recóper",
-       "vector-action-unprotect": "Câmbia la prutesiòun",
-       "vector-view-create": "Invèinta",
-       "vector-view-edit": "Mudéfica",
-       "vector-view-history": "Guêrda la stôria",
-       "vector-view-view": "Lēş",
-       "vector-view-viewsource": "Guêrda la surzéia",
-       "vector-more-actions": "Êter"
-}
diff --git a/skins/Vector/i18n/el.json b/skins/Vector/i18n/el.json
deleted file mode 100644 (file)
index 06fa36b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Calak",
-                       "Crazymadlover",
-                       "Evropi",
-                       "Omnipaedista",
-                       "Protnet",
-                       "ZaDiak"
-               ]
-       },
-       "vector.css": "/* Το τοποθετημένο εδώ CSS θα επηρεάσει χρήστες του Vector skin */",
-       "vector.js": "/* Οποιοσδήποτε κώδικας JavaScript εδώ θα φορτωθεί για χρήστες που χρησιμοποιούν το Vector skin */",
-       "vector-action-addsection": "Προσθήκη θέματος",
-       "vector-action-delete": "Διαγραφή",
-       "vector-action-move": "Μετακίνηση",
-       "vector-action-protect": "Προστασία",
-       "vector-action-undelete": "Επαναφορά",
-       "vector-action-unprotect": "Αλλαγή προστασίας",
-       "vector-view-create": "Δημιουργία",
-       "vector-view-edit": "Επεξεργασία",
-       "vector-view-history": "Προβολή ιστορικού",
-       "vector-view-view": "Ανάγνωση",
-       "vector-view-viewsource": "Προβολή κώδικα",
-       "vector-more-actions": "Περισσότερα"
-}
diff --git a/skins/Vector/i18n/en.json b/skins/Vector/i18n/en.json
deleted file mode 100644 (file)
index 949218e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": []
-       },
-       "skinname-vector": "Vector",
-       "vector-skin-desc": "Modern version of MonoBook with fresh look and many usability improvements",
-       "vector.css": "/* CSS placed here will affect users of the Vector skin */",
-       "vector.js": "/* Any JavaScript here will be loaded for users using the Vector skin */",
-       "vector-action-addsection": "Add topic",
-       "vector-action-delete": "Delete",
-       "vector-action-move": "Move",
-       "vector-action-protect": "Protect",
-       "vector-action-undelete": "Undelete",
-       "vector-action-unprotect": "Change protection",
-       "vector-view-create": "Create",
-       "vector-view-edit": "Edit",
-       "vector-view-history": "View history",
-       "vector-view-view": "Read",
-       "vector-view-viewsource": "View source",
-       "vector-more-actions": "More"
-}
diff --git a/skins/Vector/i18n/eo.json b/skins/Vector/i18n/eo.json
deleted file mode 100644 (file)
index 5f92fe8..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "KuboF",
-                       "Objectivesea",
-                       "Yekrats"
-               ]
-       },
-       "skinname-vector": "Vektoro",
-       "vector.css": "/* La jena CSS influos la paĝaspekton por uzantoj de la Vektora temo. */",
-       "vector.js": "/* La jena Ĝavaskripto ŝargiĝos por uzantoj de la Vektora temo. */",
-       "vector-action-addsection": "Aldoni temon",
-       "vector-action-delete": "Forigi",
-       "vector-action-move": "Alinomigi",
-       "vector-action-protect": "Protekti",
-       "vector-action-undelete": "Malforigi",
-       "vector-action-unprotect": "Ŝanĝi protektadon",
-       "vector-view-create": "Krei",
-       "vector-view-edit": "Redakti",
-       "vector-view-history": "Vidi historion",
-       "vector-view-view": "Legi",
-       "vector-view-viewsource": "Vidi fonton",
-       "vector-more-actions": "Pli"
-}
diff --git a/skins/Vector/i18n/es-formal.json b/skins/Vector/i18n/es-formal.json
deleted file mode 100644 (file)
index a666c05..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "XanaG"
-               ]
-       },
-       "vector-view-edit": "Editar",
-       "vector-view-history": "Ver historial",
-       "vector-view-view": "Leer"
-}
diff --git a/skins/Vector/i18n/es.json b/skins/Vector/i18n/es.json
deleted file mode 100644 (file)
index 75352a5..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Armando-Martin",
-                       "Crazymadlover",
-                       "Dalton2",
-                       "Fitoschido",
-                       "Locos epraix",
-                       "Manuelt15",
-                       "MarcoAurelio",
-                       "Miguel2706",
-                       "Platonides",
-                       "Vivaelcelta"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector-skin-desc": "Versión moderna de MonoBook, con un aspecto actualizado y muchas mejoras de usabilidad",
-       "vector.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia \"Vector\" */",
-       "vector.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Vector */",
-       "vector-action-addsection": "Sección nueva",
-       "vector-action-delete": "Borrar",
-       "vector-action-move": "Trasladar",
-       "vector-action-protect": "Proteger",
-       "vector-action-undelete": "Restaurar",
-       "vector-action-unprotect": "Cambiar protección",
-       "vector-view-create": "Crear",
-       "vector-view-edit": "Editar",
-       "vector-view-history": "Ver historial",
-       "vector-view-view": "Leer",
-       "vector-view-viewsource": "Ver código",
-       "vector-more-actions": "Más"
-}
diff --git a/skins/Vector/i18n/esu.json b/skins/Vector/i18n/esu.json
deleted file mode 100644 (file)
index b32ac1d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "82-145"
-               ]
-       },
-       "vector-action-move": "Atra cimirtuq",
-       "vector-view-view": "Naaqe"
-}
diff --git a/skins/Vector/i18n/et.json b/skins/Vector/i18n/et.json
deleted file mode 100644 (file)
index fc01b32..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ker",
-                       "Pikne",
-                       "WikedKentaur"
-               ]
-       },
-       "skinname-vector": "Vektor",
-       "vector-skin-desc": "MonoBooki uuem versioon värskema väljanägemise ja mitme kasutajasõbralikuma täiendusega",
-       "vector.css": "/* Siin asuv kaskaadilaadistik puudutab kõiki Vektori-kujunduse kasutajaid. */",
-       "vector.js": "/* Siin asuv JavaScript laaditakse kõigi Vektori-kujunduse kasutajate jaoks. */",
-       "vector-action-addsection": "Lisa teema",
-       "vector-action-delete": "Kustuta",
-       "vector-action-move": "Teisalda",
-       "vector-action-protect": "Kaitse",
-       "vector-action-undelete": "Taasta",
-       "vector-action-unprotect": "Muuda kaitset",
-       "vector-view-create": "Loo",
-       "vector-view-edit": "Muuda",
-       "vector-view-history": "Näita ajalugu",
-       "vector-view-view": "Vaata",
-       "vector-view-viewsource": "Vaata lähteteksti",
-       "vector-more-actions": "Veel"
-}
diff --git a/skins/Vector/i18n/eu.json b/skins/Vector/i18n/eu.json
deleted file mode 100644 (file)
index 856742c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Unai Fdz. de Betoño",
-                       "Xabier Armendaritz",
-                       "Fitoschido"
-               ]
-       },
-       "vector-action-addsection": "Gehitu atala",
-       "vector-action-delete": "Ezabatu",
-       "vector-action-move": "Mugitu",
-       "vector-action-protect": "Babestu",
-       "vector-action-undelete": "Berreskuratu",
-       "vector-action-unprotect": "Babesa aldatu",
-       "vector-view-create": "Sortu",
-       "vector-view-edit": "Aldatu",
-       "vector-view-history": "Ikusi historia",
-       "vector-view-view": "Irakurri",
-       "vector-view-viewsource": "Kodea ikusia",
-       "vector-more-actions": "Gehiago"
-}
diff --git a/skins/Vector/i18n/ext.json b/skins/Vector/i18n/ext.json
deleted file mode 100644 (file)
index 1cf9a4f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Better"
-               ]
-       },
-       "vector-action-addsection": "Añiil tema",
-       "vector-action-delete": "Esborral",
-       "vector-action-move": "Mual",
-       "vector-action-protect": "Protegel",
-       "vector-action-undelete": "Esborral",
-       "vector-action-unprotect": "Esprotegel",
-       "vector-view-create": "Crial",
-       "vector-view-edit": "Eital",
-       "vector-view-history": "Guipal estorial",
-       "vector-view-view": "Leyel",
-       "vector-view-viewsource": "Guipal cóigu"
-}
diff --git a/skins/Vector/i18n/fa.json b/skins/Vector/i18n/fa.json
deleted file mode 100644 (file)
index 1d329ff..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Calak",
-                       "Ebraminio",
-                       "Huji",
-                       "Reza1615",
-                       "Zack90"
-               ]
-       },
-       "skinname-vector": "برداری",
-       "vector-skin-desc": "نسخه مدرن منوبوک با نگاه تازه و بهبود قابلیت استفاده",
-       "vector-action-addsection": "افزودن بخش",
-       "vector-action-delete": "حذف",
-       "vector-action-move": "انتقال",
-       "vector-action-protect": "محافظت",
-       "vector-action-undelete": "احیا",
-       "vector-action-unprotect": "تغییر سطح حفاظت",
-       "vector-view-create": "ایجاد",
-       "vector-view-edit": "ویرایش",
-       "vector-view-history": "نمایش تاریخچه",
-       "vector-view-view": "خواندن",
-       "vector-view-viewsource": "نمایش مبدأ",
-       "vector-more-actions": "بیشتر"
-}
diff --git a/skins/Vector/i18n/ff.json b/skins/Vector/i18n/ff.json
deleted file mode 100644 (file)
index ac3ee5b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ibrahima"
-               ]
-       },
-       "vector-action-addsection": "Ɓeydi toɓɓere",
-       "vector-action-move": "Dirtin",
-       "vector-view-create": "Sos",
-       "vector-view-edit": "Taƴto",
-       "vector-view-history": "Yiyto aslol",
-       "vector-view-view": "Tar",
-       "vector-view-viewsource": "Yiyto ɗaɗol"
-}
diff --git a/skins/Vector/i18n/fi.json b/skins/Vector/i18n/fi.json
deleted file mode 100644 (file)
index 7533689..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Crt",
-                       "Nedergard",
-                       "Nike",
-                       "Pxos"
-               ]
-       },
-       "vector.css": "/* Tämä sivu sisältää Vector-ulkoasua muuttavia tyylejä. */",
-       "vector.js": "/* Tämän sivun JavaScript-koodi liitetään Vector-tyyliin */",
-       "vector-action-addsection": "Lisää aihe",
-       "vector-action-delete": "Poista",
-       "vector-action-move": "Siirrä",
-       "vector-action-protect": "Suojaa",
-       "vector-action-undelete": "Palauta",
-       "vector-action-unprotect": "Muuta suojausta",
-       "vector-view-create": "Luo",
-       "vector-view-edit": "Muokkaa",
-       "vector-view-history": "Näytä historia",
-       "vector-view-view": "Lue",
-       "vector-view-viewsource": "Näytä lähdekoodi",
-       "vector-more-actions": "Muut"
-}
diff --git a/skins/Vector/i18n/fit.json b/skins/Vector/i18n/fit.json
deleted file mode 100644 (file)
index 46089ae..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mestos"
-               ]
-       },
-       "vector-action-addsection": "Lissää aine",
-       "vector-action-delete": "Ota poies",
-       "vector-action-move": "Siirä",
-       "vector-action-protect": "Suojaa",
-       "vector-action-undelete": "Pane takashiin",
-       "vector-action-unprotect": "Muuta suojaa",
-       "vector-view-create": "Luo",
-       "vector-view-edit": "Mookkaa",
-       "vector-view-history": "Näytä histuuria",
-       "vector-view-view": "Lue",
-       "vector-view-viewsource": "Näytä lähekooti"
-}
diff --git a/skins/Vector/i18n/fo.json b/skins/Vector/i18n/fo.json
deleted file mode 100644 (file)
index 46f272c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Diupwijk",
-                       "EileenSanda"
-               ]
-       },
-       "vector-action-addsection": "Nýtt evni",
-       "vector-action-delete": "Strika",
-       "vector-action-move": "Flyt",
-       "vector-action-protect": "Friða",
-       "vector-action-undelete": "Endurstovna",
-       "vector-action-unprotect": "Broyt verju",
-       "vector-view-create": "Stovna",
-       "vector-view-edit": "Rætta",
-       "vector-view-history": "Vís søgu",
-       "vector-view-view": "Les",
-       "vector-view-viewsource": "Vís keldu",
-       "vector-more-actions": "Meira"
-}
diff --git a/skins/Vector/i18n/fr.json b/skins/Vector/i18n/fr.json
deleted file mode 100644 (file)
index 623fda8..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Akeron",
-                       "Crochet.david",
-                       "DavidL",
-                       "Gomoko",
-                       "Jean-Frédéric",
-                       "Od1n"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector-skin-desc": "Version moderne de MonoBook avec un aspect rajeuni et beaucoup d’améliorations ergonomiques",
-       "vector.css": "/* Le CSS placé ici affectera les utilisateurs de l’habillage Vector. */",
-       "vector.js": "/* Tout code JavaScript placé ici sera chargé pour les utilisateurs de l’habillage Vector */",
-       "vector-action-addsection": "Ajouter un sujet",
-       "vector-action-delete": "Supprimer",
-       "vector-action-move": "Renommer",
-       "vector-action-protect": "Protéger",
-       "vector-action-undelete": "Rétablir",
-       "vector-action-unprotect": "Changer la protection",
-       "vector-view-create": "Créer",
-       "vector-view-edit": "Modifier",
-       "vector-view-history": "Historique",
-       "vector-view-view": "Lire",
-       "vector-view-viewsource": "Voir la source",
-       "vector-more-actions": "Plus"
-}
diff --git a/skins/Vector/i18n/frc.json b/skins/Vector/i18n/frc.json
deleted file mode 100644 (file)
index f13d8ce..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ebe123"
-               ]
-       },
-       "vector-action-delete": "Supprimer",
-       "vector-action-protect": "Protéger"
-}
diff --git a/skins/Vector/i18n/frp.json b/skins/Vector/i18n/frp.json
deleted file mode 100644 (file)
index 4f0c3bc..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "ChrisPtDe"
-               ]
-       },
-       "skinname-vector": "Vèctor",
-       "vector.css": "/* Lo code CSS betâ ique afècterat los usanciérs de l’habelyâjo « Vèctor ». */",
-       "vector.js": "/* Tot code JavaScript betâ ique serat chargiê per los usanciérs de l’habelyâjo « Vèctor ». */",
-       "vector-action-addsection": "Apondre na chousa",
-       "vector-action-delete": "Suprimar",
-       "vector-action-move": "Dèplaciér",
-       "vector-action-protect": "Protègiér",
-       "vector-action-undelete": "Refâre",
-       "vector-action-unprotect": "Changiér la protèccion",
-       "vector-view-create": "Fâre",
-       "vector-view-edit": "Changiér",
-       "vector-view-history": "Vêre l’historico",
-       "vector-view-view": "Liére",
-       "vector-view-viewsource": "Vêre lo tèxto sôrsa"
-}
diff --git a/skins/Vector/i18n/frr.json b/skins/Vector/i18n/frr.json
deleted file mode 100644 (file)
index f9ff0a3..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Murma174",
-                       "Pyt"
-               ]
-       },
-       "vector-skin-desc": "Modern werjuun faan Monobook mä frisk skak an föl muar mögelkhaiden",
-       "vector-action-addsection": "Nei kirew began",
-       "vector-action-delete": "Strik",
-       "vector-action-move": "Fersküüw",
-       "vector-action-protect": "Seekre",
-       "vector-action-undelete": "Weder iinstel",
-       "vector-action-unprotect": "Sidjenseekerhaid",
-       "vector-view-create": "Maage",
-       "vector-view-edit": "Bewerke",
-       "vector-view-history": "Ferluup uunluke",
-       "vector-view-view": "Lees",
-       "vector-view-viewsource": "Kweltekst uunluke",
-       "vector-more-actions": "Muar"
-}
diff --git a/skins/Vector/i18n/fur.json b/skins/Vector/i18n/fur.json
deleted file mode 100644 (file)
index 9df1846..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Klenje",
-                       "Tocaibon"
-               ]
-       },
-       "vector-action-addsection": "Gnove sezion",
-       "vector-action-delete": "Elimine",
-       "vector-action-move": "Môf",
-       "vector-action-protect": "Protêç",
-       "vector-action-undelete": "Recupere",
-       "vector-action-unprotect": "Gambie la protezion",
-       "vector-view-create": "Cree",
-       "vector-view-edit": "Cambie",
-       "vector-view-history": "Cjale il storic",
-       "vector-view-view": "Lei",
-       "vector-view-viewsource": "Cjale risultive"
-}
diff --git a/skins/Vector/i18n/fy.json b/skins/Vector/i18n/fy.json
deleted file mode 100644 (file)
index 328193d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kening Aldgilles",
-                       "SK-luuut"
-               ]
-       },
-       "vector-action-delete": "Fuortsmite",
-       "vector-action-move": "Werneam",
-       "vector-action-protect": "Beskermje",
-       "vector-action-undelete": "Tebeksette",
-       "vector-action-unprotect": "Beskerming fuorthelje",
-       "vector-view-create": "Oanmeitsje",
-       "vector-view-edit": "Wizigje",
-       "vector-view-history": "Skiednis sjen litte",
-       "vector-view-view": "Lês",
-       "vector-view-viewsource": "Besjoch de boarne"
-}
diff --git a/skins/Vector/i18n/ga.json b/skins/Vector/i18n/ga.json
deleted file mode 100644 (file)
index 81f4caa..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kscanne",
-                       "Kwekubo",
-                       "Moydow"
-               ]
-       },
-       "skinname-vector": "Veicteoir",
-       "vector-action-addsection": "Cuir topaic leis",
-       "vector-action-delete": "Scrios",
-       "vector-action-move": "Athainmnigh",
-       "vector-action-protect": "Glasáil",
-       "vector-action-undelete": "Díscrios",
-       "vector-action-unprotect": "Díghlasáil",
-       "vector-view-create": "Cruthaigh",
-       "vector-view-edit": "Athraigh an lch seo",
-       "vector-view-history": "Féach ar stair",
-       "vector-view-view": "Léigh",
-       "vector-view-viewsource": "Féach ar fhoinse"
-}
diff --git a/skins/Vector/i18n/gag.json b/skins/Vector/i18n/gag.json
deleted file mode 100644 (file)
index 4f45473..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Cuman",
-                       "Emperyan"
-               ]
-       },
-       "vector-view-edit": "Diiştir",
-       "vector-view-view": "Oku"
-}
diff --git a/skins/Vector/i18n/gan-hans.json b/skins/Vector/i18n/gan-hans.json
deleted file mode 100644 (file)
index 5c0db67..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Liangent",
-                       "Xiaomingyan"
-               ]
-       },
-       "vector-action-addsection": "添主题",
-       "vector-action-delete": "删吥",
-       "vector-action-move": "移吥",
-       "vector-action-protect": "护到",
-       "vector-action-undelete": "望下删吥𠮶页面",
-       "vector-action-unprotect": "更改保护",
-       "vector-view-create": "创建",
-       "vector-view-edit": "编辑",
-       "vector-view-history": "望下历史",
-       "vector-view-view": "读",
-       "vector-view-viewsource": "望下原始码"
-}
diff --git a/skins/Vector/i18n/gan-hant.json b/skins/Vector/i18n/gan-hant.json
deleted file mode 100644 (file)
index ceb23b5..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Symane"
-               ]
-       },
-       "vector-action-addsection": "添主題",
-       "vector-action-delete": "刪吥",
-       "vector-action-move": "移吥",
-       "vector-action-protect": "護到",
-       "vector-action-undelete": "望下刪吥嗰頁面",
-       "vector-action-unprotect": "解除保護",
-       "vector-view-create": "創建",
-       "vector-view-edit": "編輯",
-       "vector-view-history": "望下歷史",
-       "vector-view-view": "讀",
-       "vector-view-viewsource": "望下原始碼"
-}
diff --git a/skins/Vector/i18n/gd.json b/skins/Vector/i18n/gd.json
deleted file mode 100644 (file)
index 04fa42b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Akerbeltz",
-                       "GunChleoc"
-               ]
-       },
-       "vector-skin-desc": "Tionndadh ùr-nodha de MonoBook le dreach ùr air 's iomadh leasachadh air a sho-chleachdachd",
-       "vector-action-addsection": "Cuir ris cuspair",
-       "vector-action-delete": "Sguab às",
-       "vector-action-move": "Gluais",
-       "vector-action-protect": "Dìon",
-       "vector-action-undelete": "Neo-dhèan an sguabadh às",
-       "vector-action-unprotect": "Atharraich an dìon",
-       "vector-view-create": "Cruthaich",
-       "vector-view-edit": "Deasaich",
-       "vector-view-history": "Seall an eachdraidh",
-       "vector-view-view": "Leugh",
-       "vector-view-viewsource": "Seall an tùs",
-       "vector-more-actions": "Barrachd"
-}
diff --git a/skins/Vector/i18n/gl.json b/skins/Vector/i18n/gl.json
deleted file mode 100644 (file)
index 455b9bd..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Elisardojm",
-                       "Toliño",
-                       "Vivaelcelta"
-               ]
-       },
-       "vector-skin-desc": "Versión moderna da aparencia MonoBook, cun aspecto fresco e moitas melloras na usabilidade",
-       "vector.css": "/* O CSS que se coloque aquí afectará a quen use a aparencia Vector */",
-       "vector.js": "/* Calquera JavaScript que haxa aquí será cargado para os usuarios que usen a aparencia Vector */",
-       "vector-action-addsection": "Nova sección",
-       "vector-action-delete": "Borrar",
-       "vector-action-move": "Mover",
-       "vector-action-protect": "Protexer",
-       "vector-action-undelete": "Restaurar",
-       "vector-action-unprotect": "Cambiar a protección",
-       "vector-view-create": "Crear",
-       "vector-view-edit": "Editar",
-       "vector-view-history": "Ver o historial",
-       "vector-view-view": "Ler",
-       "vector-view-viewsource": "Ver o código fonte",
-       "vector-more-actions": "Máis"
-}
diff --git a/skins/Vector/i18n/gom-deva.json b/skins/Vector/i18n/gom-deva.json
deleted file mode 100644 (file)
index 044d43c..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Darshan kandolkar",
-                       "Pooja tople",
-                       "Sanket.prabhu26",
-                       "Supriya kankumbikar"
-               ]
-       },
-       "vector-action-addsection": "माथाळो दियात",
-       "vector-action-delete": "काडून उडयात",
-       "vector-action-move": "दुसरेकडे व्हरात",
-       "vector-action-protect": "राख",
-       "vector-view-create": "निर्माण कर",
-       "vector-view-edit": "बदल",
-       "vector-view-history": "इतिहास पळेयात",
-       "vector-view-view": "वाचचें",
-       "vector-view-viewsource": "उगम पळेयात"
-}
diff --git a/skins/Vector/i18n/gom-latn.json b/skins/Vector/i18n/gom-latn.json
deleted file mode 100644 (file)
index 37a3117..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Isidore Dantas",
-                       "The Discoverer"
-               ]
-       },
-       "vector-action-addsection": "Vixoi zodd",
-       "vector-action-delete": "Kadd",
-       "vector-action-move": "Zago bodol",
-       "vector-action-protect": "Rakh",
-       "vector-view-create": "Roch",
-       "vector-view-edit": "Sudar",
-       "vector-view-history": "Itihas polloi",
-       "vector-view-view": "Vach",
-       "vector-view-viewsource": "Mull polloi",
-       "vector-more-actions": "Anik"
-}
diff --git a/skins/Vector/i18n/grc.json b/skins/Vector/i18n/grc.json
deleted file mode 100644 (file)
index c22ebf1..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Crazymadlover",
-                       "Omnipaedista"
-               ]
-       },
-       "vector-action-addsection": "Θέμα προστιθέναι",
-       "vector-action-delete": "Σβεννύναι",
-       "vector-action-move": "Κινεῖν",
-       "vector-action-protect": "Φυλάττειν",
-       "vector-action-undelete": "Ἀποκαθιστάναι",
-       "vector-action-unprotect": "Ἄλλαξον τὴν φύλαξιν",
-       "vector-view-create": "Ποιεῖν",
-       "vector-view-edit": "Μεταγράφειν",
-       "vector-view-history": "Ἱστορίαν ὁρᾶν",
-       "vector-view-view": "Ἀναγνῶναι",
-       "vector-view-viewsource": "Ὁρᾶν τὴν πηγήν"
-}
diff --git a/skins/Vector/i18n/gsw.json b/skins/Vector/i18n/gsw.json
deleted file mode 100644 (file)
index 90b3e73..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Als-Holder"
-               ]
-       },
-       "vector-action-addsection": "Abschnitt zuefiege",
-       "vector-action-delete": "Lesche",
-       "vector-action-move": "Verschiebe",
-       "vector-action-protect": "Schitze",
-       "vector-action-undelete": "Widerhärstelle",
-       "vector-action-unprotect": "Syteschutz ändere",
-       "vector-view-create": "Aalege",
-       "vector-view-edit": "Bearbeite",
-       "vector-view-history": "Versionsgschicht",
-       "vector-view-view": "Läse",
-       "vector-view-viewsource": "Quälltext aaluege"
-}
diff --git a/skins/Vector/i18n/gu.json b/skins/Vector/i18n/gu.json
deleted file mode 100644 (file)
index 6d7dc1d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Aritra",
-                       "Ashok modhvadia",
-                       "Dsvyas"
-               ]
-       },
-       "vector-action-addsection": "નવી ચર્ચા",
-       "vector-action-delete": "રદ કરો",
-       "vector-action-move": "ખસેડો",
-       "vector-action-protect": "સુરક્ષિત કરો",
-       "vector-action-undelete": "રદ કરેલું પાછું વાળો",
-       "vector-action-unprotect": "સુરક્ષા બદલો",
-       "vector-view-create": "બનાવો",
-       "vector-view-edit": "ફેરફાર કરો",
-       "vector-view-history": "ઇતિહાસ જુઓ",
-       "vector-view-view": "વાંચો",
-       "vector-view-viewsource": "સ્રોત જુઓ"
-}
diff --git a/skins/Vector/i18n/guc.json b/skins/Vector/i18n/guc.json
deleted file mode 100644 (file)
index e69fac5..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Maor X"
-               ]
-       },
-       "vector-action-delete": "Ojuichajaa",
-       "vector-action-move": "Ansülaa",
-       "vector-action-protect": "Eisalajaa",
-       "vector-view-create": "Akumajaa",
-       "vector-view-edit": "Anaataa",
-       "vector-view-history": "Achikii a'wanajaayamaajatü",
-       "vector-view-view": "Aashaje'eraa",
-       "vector-view-viewsource": "Anüliaa eejeetülee"
-}
diff --git a/skins/Vector/i18n/gv.json b/skins/Vector/i18n/gv.json
deleted file mode 100644 (file)
index 9be429f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "MacTire02",
-                       "Shimmin Beg"
-               ]
-       },
-       "vector-action-addsection": "Cur cooish noa rish",
-       "vector-action-delete": "Scryss",
-       "vector-action-move": "Scugh",
-       "vector-action-protect": "Coadee",
-       "vector-action-undelete": "Jee-scryss",
-       "vector-action-unprotect": "Caghlaa coadey",
-       "vector-view-create": "Croo",
-       "vector-view-edit": "Reagh",
-       "vector-view-history": "Jeeagh er shennaghys",
-       "vector-view-view": "Lhaih",
-       "vector-view-viewsource": "Jeeagh er bun"
-}
diff --git a/skins/Vector/i18n/ha.json b/skins/Vector/i18n/ha.json
deleted file mode 100644 (file)
index 77e4975..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-       "vector-action-delete": "Soke",
-       "vector-action-move": "Gusarwa",
-       "vector-action-protect": "A kare",
-       "vector-view-create": "Ƙirƙira"
-}
diff --git a/skins/Vector/i18n/hak.json b/skins/Vector/i18n/hak.json
deleted file mode 100644 (file)
index ed0c0cb..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Anson2812",
-                       "Jetlag"
-               ]
-       },
-       "vector-action-addsection": "加入話題",
-       "vector-action-delete": "刪除",
-       "vector-action-move": "移動",
-       "vector-action-protect": "保護",
-       "vector-action-undelete": "恢復",
-       "vector-action-unprotect": "更改保護",
-       "vector-view-create": "建立",
-       "vector-view-edit": "編寫",
-       "vector-view-history": "查看歷史",
-       "vector-view-view": "閱讀",
-       "vector-view-viewsource": "查看源碼"
-}
diff --git a/skins/Vector/i18n/haw.json b/skins/Vector/i18n/haw.json
deleted file mode 100644 (file)
index 98e2919..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kolonahe"
-               ]
-       },
-       "vector-action-addsection": "Hoʻohui kumuhana",
-       "vector-action-delete": "Holoi",
-       "vector-action-move": "E hoʻoneʻe",
-       "vector-action-protect": "E hoʻomalu",
-       "vector-action-undelete": "Holoiʻole",
-       "vector-action-unprotect": "E hoʻololi i ka hoʻomalu",
-       "vector-view-create": "Haku",
-       "vector-view-edit": "Hoʻololi",
-       "vector-view-history": "Nānā i ka mōʻaukala",
-       "vector-view-view": "Heluhelu",
-       "vector-view-viewsource": "Nānā i ke kumu"
-}
diff --git a/skins/Vector/i18n/he.json b/skins/Vector/i18n/he.json
deleted file mode 100644 (file)
index 887d86b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Amire80",
-                       "Rotemliss"
-               ]
-       },
-       "skinname-vector": "וקטור",
-       "vector-skin-desc": "גרסה מודרנית של מונובוק עם מראה רענן והרבה שיפורי שמישות",
-       "vector.css": "/* הסגנונות הנכתבים כאן ישפיעו על העיצוב Vector בלבד */",
-       "vector.js": "/* כל סקריפט JavaScript שנכתב כאן ירוץ רק עבור המשתמשים בעיצוב Vector */",
-       "vector-action-addsection": "הוספת נושא",
-       "vector-action-delete": "מחיקה",
-       "vector-action-move": "העברה",
-       "vector-action-protect": "הגנה",
-       "vector-action-undelete": "ביטול מחיקה",
-       "vector-action-unprotect": "שינוי הגנה",
-       "vector-view-create": "יצירה",
-       "vector-view-edit": "עריכה",
-       "vector-view-history": "הצגת היסטוריה",
-       "vector-view-view": "קריאה",
-       "vector-view-viewsource": "הצגת מקור",
-       "vector-more-actions": "עוד"
-}
diff --git a/skins/Vector/i18n/hi.json b/skins/Vector/i18n/hi.json
deleted file mode 100644 (file)
index 6b68d3e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Siddhartha Ghai",
-                       "आलोक",
-                       "रोहित रावत"
-               ]
-       },
-       "vector-action-addsection": "विषय जोड़ें",
-       "vector-action-delete": "हटाएँ",
-       "vector-action-move": "स्थानांतरण करें",
-       "vector-action-protect": "सुरक्षित करें",
-       "vector-action-undelete": "हटाना वापस लें",
-       "vector-action-unprotect": "सुरक्षा बदलें",
-       "vector-view-create": "बनाएँ",
-       "vector-view-edit": "सम्पादन",
-       "vector-view-history": "इतिहास देखें",
-       "vector-view-view": "पढ़ें",
-       "vector-view-viewsource": "स्रोत देखें",
-       "vector-more-actions": "अधिक"
-}
diff --git a/skins/Vector/i18n/hif-latn.json b/skins/Vector/i18n/hif-latn.json
deleted file mode 100644 (file)
index df37b3e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Girmitya",
-                       "Thakurji"
-               ]
-       },
-       "vector-action-addsection": "Topic jorro",
-       "vector-action-delete": "Mitao",
-       "vector-action-move": "Naam badlo",
-       "vector-action-protect": "Bachao",
-       "vector-action-undelete": "Pahile jaise karo",
-       "vector-action-unprotect": "Surakchha ke badlo",
-       "vector-view-create": "Banao",
-       "vector-view-edit": "Badlo",
-       "vector-view-history": "Itihaas dekho",
-       "vector-view-view": "Parrho",
-       "vector-view-viewsource": "Source dekho"
-}
diff --git a/skins/Vector/i18n/hil.json b/skins/Vector/i18n/hil.json
deleted file mode 100644 (file)
index 304f8ac..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Anjoeli9806"
-               ]
-       },
-       "vector-action-addsection": "Magdugang sang topiko",
-       "vector-action-delete": "Panason",
-       "vector-action-move": "Saylohon",
-       "vector-action-protect": "Pangapinan",
-       "vector-action-undelete": "Dulaon ang pagpanas",
-       "vector-action-unprotect": "Ilisan ang pagpangapin",
-       "vector-view-create": "Himuon",
-       "vector-view-edit": "Ilisan",
-       "vector-view-history": "Lantawon ang kasaysayan",
-       "vector-view-view": "Magbasa",
-       "vector-view-viewsource": "Lantawon ang ginhalinan"
-}
diff --git a/skins/Vector/i18n/hr.json b/skins/Vector/i18n/hr.json
deleted file mode 100644 (file)
index 1887ee5..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ex13",
-                       "Tivek"
-               ]
-       },
-       "vector-action-addsection": "Dodaj temu",
-       "vector-action-delete": "Izbriši",
-       "vector-action-move": "Premjesti",
-       "vector-action-protect": "Zaštiti",
-       "vector-action-undelete": "Vrati",
-       "vector-action-unprotect": "Promijeni zaštitu",
-       "vector-view-create": "Započni",
-       "vector-view-edit": "Uredi",
-       "vector-view-history": "Vidi stare izmjene",
-       "vector-view-view": "Čitaj",
-       "vector-view-viewsource": "Vidi izvor"
-}
diff --git a/skins/Vector/i18n/hrx.json b/skins/Vector/i18n/hrx.json
deleted file mode 100644 (file)
index 0a45056..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Paul Beppler"
-               ]
-       },
-       "vector-action-addsection": "Abschnitt hinzufüche",
-       "vector-action-delete": "Lösche",
-       "vector-action-move": "Verschiebe",
-       "vector-action-protect": "Schütz",
-       "vector-action-undelete": "Wiederherstelle",
-       "vector-action-unprotect": "Seiteschutz ännre",
-       "vector-view-create": "Erstell",
-       "vector-view-edit": "Beoorbeite",
-       "vector-view-history": "Versionsgeschicht",
-       "vector-view-view": "Lese",
-       "vector-view-viewsource": "Quelltext oonzeiche"
-}
diff --git a/skins/Vector/i18n/hsb.json b/skins/Vector/i18n/hsb.json
deleted file mode 100644 (file)
index a46105c..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Michawiki"
-               ]
-       },
-       "vector-action-addsection": "Temu přidać",
-       "vector-action-delete": "wušmórnyć",
-       "vector-action-move": "přesunyć",
-       "vector-action-protect": "škitać",
-       "vector-action-undelete": "Wobnowić",
-       "vector-action-unprotect": "Škit wotstronić",
-       "vector-view-create": "Wutworić",
-       "vector-view-edit": "Wobdźěłać",
-       "vector-view-history": "Stawizny",
-       "vector-view-view": "Čitać",
-       "vector-view-viewsource": "Žórło sej wobhladać",
-       "vector-more-actions": "Wjace"
-}
diff --git a/skins/Vector/i18n/hsn.json b/skins/Vector/i18n/hsn.json
deleted file mode 100644 (file)
index 99d8dec..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "YulouCN"
-               ]
-       },
-       "vector-view-edit": "增改",
-       "vector-view-history": "履歷",
-       "vector-view-view": "讀"
-}
diff --git a/skins/Vector/i18n/ht.json b/skins/Vector/i18n/ht.json
deleted file mode 100644 (file)
index f71167a..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Boukman",
-                       "Internoob",
-                       "Masterches"
-               ]
-       },
-       "vector-action-addsection": "Ajoute yon sijè",
-       "vector-action-delete": "Efase",
-       "vector-action-move": "Chanje non",
-       "vector-action-protect": "Pwoteje",
-       "vector-action-undelete": "Retabli",
-       "vector-action-unprotect": "Pa pwoteje",
-       "vector-view-create": "Kreye",
-       "vector-view-edit": "Modifye",
-       "vector-view-history": "Gade istorik",
-       "vector-view-view": "Li",
-       "vector-view-viewsource": "Wè kòd tèks sa a"
-}
diff --git a/skins/Vector/i18n/hu-formal.json b/skins/Vector/i18n/hu-formal.json
deleted file mode 100644 (file)
index 4c9fcad..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Tacsipacsi"
-               ]
-       },
-       "vector-action-addsection": "Új téma nyitása",
-       "vector-action-delete": "Törlés",
-       "vector-action-move": "Átnevezés",
-       "vector-action-protect": "Lapvédelem",
-       "vector-action-undelete": "Visszaállítás",
-       "vector-action-unprotect": "Védelem módosítása",
-       "vector-view-create": "Létrehozás",
-       "vector-view-edit": "Szerkesztés",
-       "vector-view-history": "Laptörténet",
-       "vector-view-view": "Olvasás",
-       "vector-view-viewsource": "A lap forrása"
-}
diff --git a/skins/Vector/i18n/hu.json b/skins/Vector/i18n/hu.json
deleted file mode 100644 (file)
index a144ece..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bdamokos",
-                       "Dani",
-                       "Dj",
-                       "Misibacsi",
-                       "Tacsipacsi",
-                       "Tgr"
-               ]
-       },
-       "vector.css": "/* Az ide elhelyezett CSS hatással lesz a Vector felület használóira */",
-       "vector.js": "/* A Vector felületet használó szerkesztők számára betöltendő JavaScriptek */",
-       "vector-action-addsection": "Új téma nyitása",
-       "vector-action-delete": "Törlés",
-       "vector-action-move": "Átnevezés",
-       "vector-action-protect": "Lapvédelem",
-       "vector-action-undelete": "Visszaállítás",
-       "vector-action-unprotect": "Védelem módosítása",
-       "vector-view-create": "Létrehozás",
-       "vector-view-edit": "Szerkesztés",
-       "vector-view-history": "Laptörténet",
-       "vector-view-view": "Olvasás",
-       "vector-view-viewsource": "A lap forrása",
-       "vector-more-actions": "Több"
-}
diff --git a/skins/Vector/i18n/hy.json b/skins/Vector/i18n/hy.json
deleted file mode 100644 (file)
index 79e4601..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Teak",
-                       "Vadgt",
-                       "Xelgen",
-                       "Arman musikyan"
-               ]
-       },
-       "skinname-vector": "Սովորական",
-       "vector-action-addsection": "Ավելացնել քննարկում",
-       "vector-action-delete": "Ջնջել",
-       "vector-action-move": "Տեղափոխել այս էջը",
-       "vector-action-protect": "Պաշտպանել",
-       "vector-action-undelete": "Վերականգնել",
-       "vector-action-unprotect": "Փոխել պաշտպանումը",
-       "vector-view-create": "Ստեղծել",
-       "vector-view-edit": "Խմբագրել",
-       "vector-view-history": "Դիտել պատմությունը",
-       "vector-view-view": "Կարդալ",
-       "vector-view-viewsource": "Դիտել ելատեքստը",
-       "vector-more-actions": "Ավելին"
-}
diff --git a/skins/Vector/i18n/ia.json b/skins/Vector/i18n/ia.json
deleted file mode 100644 (file)
index c1281fc..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "McDutchie"
-               ]
-       },
-       "vector-skin-desc": "Version moderne de MonoBook con aspecto rejuvenescite e multe meliorationes de usabilitate.",
-       "vector.css": "/* Le CSS placiate hic afficera le usatores del apparentia Vector */",
-       "vector.js": "/* Omne JavaScript hic se executara pro le usatores del apparentia Vector */",
-       "vector-action-addsection": "Adder topico",
-       "vector-action-delete": "Deler",
-       "vector-action-move": "Renominar",
-       "vector-action-protect": "Proteger",
-       "vector-action-undelete": "Restaurar",
-       "vector-action-unprotect": "Cambiar protection",
-       "vector-view-create": "Crear",
-       "vector-view-edit": "Modificar",
-       "vector-view-history": "Vider historia",
-       "vector-view-view": "Leger",
-       "vector-view-viewsource": "Vider texto fonte",
-       "vector-more-actions": "Plus"
-}
diff --git a/skins/Vector/i18n/id.json b/skins/Vector/i18n/id.json
deleted file mode 100644 (file)
index ef439a3..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Arifin.wijaya",
-                       "Bennylin",
-                       "Farras",
-                       "Iwan Novirion",
-                       "Rex"
-               ]
-       },
-       "skinname-vector": "Vektor",
-       "vector-skin-desc": "Versi modern dari MonoBook dengan tampilan segar dan banyak perbaikan kegunaan",
-       "vector.css": "/* CSS nan ado di siko diterapkan pado kulik Vektor. */",
-       "vector.js": "/* Semua JavaScript di sini akan dimuatkan untuk para pengguna yang menggunakan kulit Vector */",
-       "vector-action-addsection": "Bagian baru",
-       "vector-action-delete": "Hapus",
-       "vector-action-move": "Pindahkan",
-       "vector-action-protect": "Lindungi",
-       "vector-action-undelete": "Pembatalan penghapusan",
-       "vector-action-unprotect": "Ubah perlindungan",
-       "vector-view-create": "Buat",
-       "vector-view-edit": "Sunting",
-       "vector-view-history": "Versi terdahulu",
-       "vector-view-view": "Baca",
-       "vector-view-viewsource": "Lihat sumber",
-       "vector-more-actions": "Lainnya"
-}
diff --git a/skins/Vector/i18n/ie.json b/skins/Vector/i18n/ie.json
deleted file mode 100644 (file)
index 259b88b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Makuba",
-                       "Renan"
-               ]
-       },
-       "vector.css": "/* CSS colocat ci va afectar usatores de pelle Vector */",
-       "vector.js": "/* Alquel JavaScript ci va esser cargat por usatores que usa li pelle Vector */",
-       "vector-action-addsection": "Adjunter tema",
-       "vector-action-delete": "Deleter",
-       "vector-action-move": "Mover",
-       "vector-action-protect": "Gardar",
-       "vector-action-undelete": "Restituer",
-       "vector-action-unprotect": "Desgardar",
-       "vector-view-create": "Crear",
-       "vector-view-edit": "Redacter",
-       "vector-view-history": "Historie de versiones",
-       "vector-view-view": "Leer",
-       "vector-view-viewsource": "Vider fonte"
-}
diff --git a/skins/Vector/i18n/ig.json b/skins/Vector/i18n/ig.json
deleted file mode 100644 (file)
index 66e93cc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ukabia"
-               ]
-       },
-       "vector-action-addsection": "Tinyé Okwu",
-       "vector-action-delete": "Kàcha",
-       "vector-action-move": "Páfụ",
-       "vector-action-protect": "Cẹdolu",
-       "vector-action-undelete": "Á gbàkashikwà",
-       "vector-action-unprotect": "Nchẹdo mgbanwe",
-       "vector-view-create": "Ké",
-       "vector-view-edit": "Mèzi",
-       "vector-view-history": "Zí ịta",
-       "vector-view-view": "Gụ́",
-       "vector-view-viewsource": "Zi mkpurụ"
-}
diff --git a/skins/Vector/i18n/ike-latn.json b/skins/Vector/i18n/ike-latn.json
deleted file mode 100644 (file)
index ab22a4a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "vector-view-edit": "Suqusiqpaa"
-}
diff --git a/skins/Vector/i18n/ilo.json b/skins/Vector/i18n/ilo.json
deleted file mode 100644 (file)
index d83586d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Lam-ang",
-                       "Saluyot"
-               ]
-       },
-       "vector-skin-desc": "Modernno a bersion ti MonoBook nga addaan iti baro a langa ken adu kadagiti naserbi a panagpasayaat",
-       "vector-action-addsection": "Agnayon ti topiko",
-       "vector-action-delete": "Ikkaten",
-       "vector-action-move": "Iyalis",
-       "vector-action-protect": "Salakniban",
-       "vector-action-undelete": "Isubli ti inikkat",
-       "vector-action-unprotect": "Sukatan ti salaknib",
-       "vector-view-create": "Agaramid",
-       "vector-view-edit": "Urnosen",
-       "vector-view-history": "Kitaen ti pakasaritaan",
-       "vector-view-view": "Basaen",
-       "vector-view-viewsource": "Kitaen ti taudan",
-       "vector-more-actions": "Adu pay"
-}
diff --git a/skins/Vector/i18n/inh.json b/skins/Vector/i18n/inh.json
deleted file mode 100644 (file)
index e50a3ec..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Amire80",
-                       "Sapral Mikail"
-               ]
-       },
-       "vector-action-addsection": "БӀагал тӀатоха",
-       "vector-action-delete": "ДӀадаккха",
-       "vector-action-move": "ЦӀи хувца",
-       "vector-action-protect": "Лораде",
-       "vector-action-undelete": "Юхаоттаде",
-       "vector-action-unprotect": "Лорам хувца",
-       "vector-view-create": "Кхолларле",
-       "vector-view-edit": "Хувцам",
-       "vector-view-history": "Искар",
-       "vector-view-view": "Дешар",
-       "vector-view-viewsource": "Зембакхама бӀаргтассам"
-}
diff --git a/skins/Vector/i18n/io.json b/skins/Vector/i18n/io.json
deleted file mode 100644 (file)
index 3bfec4d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Malafaya"
-               ]
-       },
-       "vector-action-addsection": "Adjuntar topiko",
-       "vector-action-delete": "Efacar",
-       "vector-action-move": "Movar",
-       "vector-action-protect": "Protektar",
-       "vector-action-undelete": "Rekuperar",
-       "vector-action-unprotect": "Desprotektar",
-       "vector-view-create": "Krear",
-       "vector-view-edit": "Redaktar",
-       "vector-view-history": "Vidar versionaro",
-       "vector-view-view": "Lektar",
-       "vector-view-viewsource": "Vidar fonto"
-}
diff --git a/skins/Vector/i18n/is.json b/skins/Vector/i18n/is.json
deleted file mode 100644 (file)
index dc54f1b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Friðrik Bragi Dýrfjörð",
-                       "Maxí",
-                       "Snævar",
-                       "Ævar Arnfjörð Bjarmason"
-               ]
-       },
-       "vector-action-addsection": "Bæta við umræðu",
-       "vector-action-delete": "Eyða",
-       "vector-action-move": "Færa",
-       "vector-action-protect": "Vernda",
-       "vector-action-undelete": "Hætta við eyðingu",
-       "vector-action-unprotect": "Breyta verndunarstigi",
-       "vector-view-create": "Skapa",
-       "vector-view-edit": "Breyta",
-       "vector-view-history": "Breytingaskrá",
-       "vector-view-view": "Lesa",
-       "vector-view-viewsource": "Sýna frumkóða"
-}
diff --git a/skins/Vector/i18n/it.json b/skins/Vector/i18n/it.json
deleted file mode 100644 (file)
index 1598efe..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Beta16",
-                       "Darth Kule",
-                       "Gianfranco",
-                       "Melos",
-                       "Pietrodn"
-               ]
-       },
-       "vector-skin-desc": "Versione moderna del MonoBook con un'aspetto nuovo e molti miglioramenti dell'usabilità",
-       "vector.css": "/* Gli stili CSS inseriti qui si applicano agli utenti che usano la skin Vector */",
-       "vector.js": "/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano la skin Vector */",
-       "vector-action-addsection": "Aggiungi discussione",
-       "vector-action-delete": "Cancella",
-       "vector-action-move": "Sposta",
-       "vector-action-protect": "Proteggi",
-       "vector-action-undelete": "Ripristina",
-       "vector-action-unprotect": "Cambia la protezione",
-       "vector-view-create": "Crea",
-       "vector-view-edit": "Modifica",
-       "vector-view-history": "Cronologia",
-       "vector-view-view": "Leggi",
-       "vector-view-viewsource": "Visualizza sorgente",
-       "vector-more-actions": "Altro"
-}
diff --git a/skins/Vector/i18n/izh.json b/skins/Vector/i18n/izh.json
deleted file mode 100644 (file)
index ab41111..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Aig mest ei varasta"
-               ]
-       },
-       "vector-view-view": "Lukkiia"
-}
diff --git a/skins/Vector/i18n/ja.json b/skins/Vector/i18n/ja.json
deleted file mode 100644 (file)
index 7bfa57e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Fryed-peach",
-                       "Marine-Blue",
-                       "Penn Station",
-                       "Shirayuki",
-                       "Whym",
-                       "青子守歌"
-               ]
-       },
-       "skinname-vector": "ベクター",
-       "vector.css": "/* ここに記述したCSSはベクター外装の利用者に影響します */",
-       "vector.js": "/* ここにあるすべてのJavaScriptは、ベクター外装を使用している利用者に対して読み込まれます */",
-       "vector-action-addsection": "話題追加",
-       "vector-action-delete": "削除",
-       "vector-action-move": "移動",
-       "vector-action-protect": "保護",
-       "vector-action-undelete": "復元",
-       "vector-action-unprotect": "保護再設定",
-       "vector-view-create": "作成",
-       "vector-view-edit": "編集",
-       "vector-view-history": "履歴表示",
-       "vector-view-view": "閲覧",
-       "vector-view-viewsource": "ソースを閲覧",
-       "vector-more-actions": "その他"
-}
diff --git a/skins/Vector/i18n/jam.json b/skins/Vector/i18n/jam.json
deleted file mode 100644 (file)
index cf84305..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Hazard-SJ",
-                       "Yocahuna"
-               ]
-       },
-       "vector-action-addsection": "Ad tapik",
-       "vector-action-delete": "Diliit",
-       "vector-action-move": "Muuv",
-       "vector-action-protect": "Protek",
-       "vector-action-undelete": "Andiliit",
-       "vector-action-unprotect": "Neu protektian",
-       "vector-view-create": "Kriet",
-       "vector-view-edit": "Hedit",
-       "vector-view-history": "Vyuu ischri",
-       "vector-view-view": "Riid",
-       "vector-view-viewsource": "Vyuu Suos"
-}
diff --git a/skins/Vector/i18n/jbo.json b/skins/Vector/i18n/jbo.json
deleted file mode 100644 (file)
index bc1f172..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gleki"
-               ]
-       },
-       "vector-action-addsection": "jmina la'e se casnu",
-       "vector-action-delete": "vimcu",
-       "vector-action-move": "stika lo cmene",
-       "vector-action-protect": "bandu",
-       "vector-view-create": "zbasu",
-       "vector-view-edit": "stika",
-       "vector-view-history": "lo ckupau citri",
-       "vector-view-view": "tcidu",
-       "vector-view-viewsource": "cpacu lo krasi",
-       "vector-more-actions": "ji'a"
-}
diff --git a/skins/Vector/i18n/jv.json b/skins/Vector/i18n/jv.json
deleted file mode 100644 (file)
index 7af6b95..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Pras"
-               ]
-       },
-       "vector-action-addsection": "Tambah topik",
-       "vector-action-delete": "Busak",
-       "vector-action-move": "Pindhahna",
-       "vector-action-protect": "Reksa",
-       "vector-action-undelete": "Batalna pambusakan",
-       "vector-action-unprotect": "Owahi pangreksan",
-       "vector-view-create": "Gawé",
-       "vector-view-edit": "Sunting",
-       "vector-view-history": "Sajarah kaca",
-       "vector-view-view": "Waca",
-       "vector-view-viewsource": "Pirsani sumber"
-}
diff --git a/skins/Vector/i18n/ka.json b/skins/Vector/i18n/ka.json
deleted file mode 100644 (file)
index a08fe71..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Alsandro",
-                       "David1010",
-                       "გიორგიმელა"
-               ]
-       },
-       "skinname-vector": "ვექტორული",
-       "vector.css": "/* აქ ჩასმული CSS გამოყენებული იქნება ვექტორული გაფორმების თემაში */",
-       "vector-action-addsection": "თემის ჩამატება",
-       "vector-action-delete": "წაშლა",
-       "vector-action-move": "გადატანა",
-       "vector-action-protect": "დაცვა",
-       "vector-action-undelete": "აღდგენა",
-       "vector-action-unprotect": "დაცვის შეცვლა",
-       "vector-view-create": "შექმნა",
-       "vector-view-edit": "რედაქტირება",
-       "vector-view-history": "ისტორია",
-       "vector-view-view": "შემოწმებული სტატია",
-       "vector-view-viewsource": "წყაროს ხილვა",
-       "vector-more-actions": "მეტი"
-}
diff --git a/skins/Vector/i18n/kaa.json b/skins/Vector/i18n/kaa.json
deleted file mode 100644 (file)
index 1518526..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Atabek"
-               ]
-       },
-       "vector-action-addsection": "Tema qosıw",
-       "vector-action-delete": "O'shiriw",
-       "vector-action-move": "Ko'shiriw",
-       "vector-action-protect": "Qorg'aw",
-       "vector-action-undelete": "Qayta tiklew",
-       "vector-action-unprotect": "Qorg'awdı o'zgertiw",
-       "vector-view-create": "Jaratıw",
-       "vector-view-edit": "O'zgertiw",
-       "vector-view-history": "Tariyxın ko'riw",
-       "vector-view-view": "Oqıw",
-       "vector-view-viewsource": "Deregin ko'riw"
-}
diff --git a/skins/Vector/i18n/kab.json b/skins/Vector/i18n/kab.json
deleted file mode 100644 (file)
index f233083..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mmistmurt"
-               ]
-       },
-       "vector-action-addsection": "Rnud ameggay",
-       "vector-action-delete": "Mḥu",
-       "vector-action-move": "Smimeḍ",
-       "vector-action-protect": "Mmesten",
-       "vector-action-undelete": "Uɣaled",
-       "vector-action-unprotect": "Beddel amesten",
-       "vector-view-create": "Snulfu",
-       "vector-view-edit": "Ẓẓiẓreg",
-       "vector-view-history": "Ẓeṛ amazray",
-       "vector-view-view": "Ɣer",
-       "vector-view-viewsource": "Ẓer aɣbalu"
-}
diff --git a/skins/Vector/i18n/kbd-cyrl.json b/skins/Vector/i18n/kbd-cyrl.json
deleted file mode 100644 (file)
index efd893e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bogups",
-                       "Тамэ Балъкъэрхэ"
-               ]
-       },
-       "vector-action-addsection": "Теухугъуэ щӀэуэ щӀэдзэн",
-       "vector-action-delete": "Ихын",
-       "vector-action-move": "ЦӀэр хъуэжын",
-       "vector-action-protect": "Хъумэн",
-       "vector-action-undelete": "ЗыфӀэгъэувэжын",
-       "vector-action-unprotect": "Хъумэныр техыжын",
-       "vector-view-create": "ЩӀын",
-       "vector-view-edit": "Гъэтэрэзын",
-       "vector-view-history": "Тхыдэм еплъын",
-       "vector-view-view": "Еджэн",
-       "vector-view-viewsource": "КъызхэкӀам еплъын"
-}
diff --git a/skins/Vector/i18n/kg.json b/skins/Vector/i18n/kg.json
deleted file mode 100644 (file)
index f88430a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Rkupsala"
-               ]
-       },
-       "vector-action-delete": "Kufwa",
-       "vector-action-move": "Nata",
-       "vector-action-protect": "Keba",
-       "vector-view-create": "Tunga",
-       "vector-view-edit": "Soba",
-       "vector-view-history": "Tala bansoba",
-       "vector-view-view": "Tânga"
-}
diff --git a/skins/Vector/i18n/khw.json b/skins/Vector/i18n/khw.json
deleted file mode 100644 (file)
index a0ceaca..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Rachitrali"
-               ]
-       },
-       "vector-action-addsection": "نوغ موضوع",
-       "vector-action-delete": "بوغاوے",
-       "vector-action-move": "منتقل کورے",
-       "vector-action-protect": "محفوظ کورے",
-       "vector-action-undelete": "اچی انگیے",
-       "vector-action-unprotect": "غیر محفوظ",
-       "vector-view-create": "ساوزاوے",
-       "vector-view-edit": "ایڈٹ کورے",
-       "vector-view-history": "تاریخچہ",
-       "vector-view-view": "راوے",
-       "vector-view-viewsource": "مسودہ"
-}
diff --git a/skins/Vector/i18n/ki.json b/skins/Vector/i18n/ki.json
deleted file mode 100644 (file)
index 30f6a5f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Stephenwanjau"
-               ]
-       },
-       "vector-action-delete": "Futa"
-}
diff --git a/skins/Vector/i18n/kiu.json b/skins/Vector/i18n/kiu.json
deleted file mode 100644 (file)
index 3d2c3cc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mirzali"
-               ]
-       },
-       "vector-action-addsection": "Mewzu ilawe ke",
-       "vector-action-delete": "Bestere",
-       "vector-action-move": "Bere",
-       "vector-action-protect": "Bısevekne",
-       "vector-action-undelete": "Esterıtene peyser bıcê",
-       "vector-action-unprotect": "Rake",
-       "vector-view-create": "Vıraze",
-       "vector-view-edit": "Bıvurne",
-       "vector-view-history": "Tarixi basne",
-       "vector-view-view": "Bıwane",
-       "vector-view-viewsource": "Çımey bıvêne"
-}
diff --git a/skins/Vector/i18n/kk-cyrl.json b/skins/Vector/i18n/kk-cyrl.json
deleted file mode 100644 (file)
index 3593350..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Arystanbek",
-                       "Daniyar",
-                       "GaiJin",
-                       "Kaztrans"
-               ]
-       },
-       "vector-action-addsection": "Тақырып қосу",
-       "vector-action-delete": "Жою",
-       "vector-action-move": "Атауын өзгерту",
-       "vector-action-protect": "Қорғау",
-       "vector-action-undelete": "Жоймау",
-       "vector-action-unprotect": "Қорғанысын өзгерту",
-       "vector-view-create": "Бастау",
-       "vector-view-edit": "Өңдеу",
-       "vector-view-history": "Өңделу тарихы",
-       "vector-view-view": "Оқу",
-       "vector-view-viewsource": "Қайнарын қарау",
-       "vector-more-actions": "Тағы"
-}
diff --git a/skins/Vector/i18n/kl.json b/skins/Vector/i18n/kl.json
deleted file mode 100644 (file)
index 6a3d7b1..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Iketsi",
-                       "Qaqqalik"
-               ]
-       },
-       "vector-action-addsection": "Imm. nutaaq",
-       "vector-action-move": "Nuuguk",
-       "vector-view-create": "Pilersiguk",
-       "vector-view-edit": "Aaqqissoruk",
-       "vector-view-history": "Oqalutt.",
-       "vector-view-view": "Takuuk",
-       "vector-view-viewsource": "Toqqavia takuuk"
-}
diff --git a/skins/Vector/i18n/km.json b/skins/Vector/i18n/km.json
deleted file mode 100644 (file)
index 6827117..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "គីមស៊្រុន",
-                       "វ័ណថារិទ្ធ"
-               ]
-       },
-       "skinname-vector": "វ៉ិចទ័រ​​",
-       "vector.css": "/* CSS បានដាក់ទីនេះនឹងមានអនុភាពលើអ្នកប្រើប្រាស់នៃសំបក Vector */",
-       "vector-action-addsection": "បន្ថែម​ប្រធានបទ​",
-       "vector-action-delete": "លុបចោល",
-       "vector-action-move": "ប្តូរទីតាំង",
-       "vector-action-protect": "ការពារ",
-       "vector-action-undelete": "ឈប់លុបចោល",
-       "vector-action-unprotect": "ប្ដូរការការពារ",
-       "vector-view-create": "បង្កើត​",
-       "vector-view-edit": "កែប្រែ​",
-       "vector-view-history": "មើល​ប្រវត្តិ​",
-       "vector-view-view": "អាន",
-       "vector-view-viewsource": "មើល​កូដ"
-}
diff --git a/skins/Vector/i18n/kn.json b/skins/Vector/i18n/kn.json
deleted file mode 100644 (file)
index aae7272..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ktkaushik",
-                       "Nayvik",
-                       "VASANTH S.N."
-               ]
-       },
-       "vector-action-addsection": "ವಿಷಯ ಸೇರಿಸಿ",
-       "vector-action-delete": "ಅಳಿಸು",
-       "vector-action-move": "ಸ್ಥಳಾಂತರಿಸಿ",
-       "vector-action-protect": "ಸಂರಕ್ಷಿಸು",
-       "vector-action-undelete": "ಅಳಿಸಬೇಡ",
-       "vector-action-unprotect": "ರಕ್ಷಣೆಯನ್ನು ಬದಲಾವಣೆ",
-       "vector-view-create": "ಸೃಷ್ಟಿಸು",
-       "vector-view-edit": "ಸಂಪಾದಿಸಿ",
-       "vector-view-history": "ಇತಿಹಾಸವನ್ನು ನೋಡಿ",
-       "vector-view-view": "ಓದು",
-       "vector-view-viewsource": "ಆಕರ ವೀಕ್ಷಿಸು"
-}
diff --git a/skins/Vector/i18n/ko.json b/skins/Vector/i18n/ko.json
deleted file mode 100644 (file)
index 038f342..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "ITurtle",
-                       "Kwj2772",
-                       "아라"
-               ]
-       },
-       "skinname-vector": "벡터",
-       "vector-skin-desc": "모노북 스킨을 사용할 때 사용자 인터페이스를 향상합니다",
-       "vector.css": "/* 이 CSS 설정은 벡터 스킨을 사용하는 사용자에게 적용됩니다 */",
-       "vector.js": "/* 이 자바스크립트 설정은 벡터 스킨을 사용하는 사용자에게 적용됩니다 */",
-       "vector-action-addsection": "새 주제",
-       "vector-action-delete": "삭제",
-       "vector-action-move": "옮기기",
-       "vector-action-protect": "보호",
-       "vector-action-undelete": "삭제 취소",
-       "vector-action-unprotect": "보호 설정 바꾸기",
-       "vector-view-create": "만들기",
-       "vector-view-edit": "편집",
-       "vector-view-history": "역사 보기",
-       "vector-view-view": "읽기",
-       "vector-view-viewsource": "원본 보기",
-       "vector-more-actions": "더 보기"
-}
diff --git a/skins/Vector/i18n/koi.json b/skins/Vector/i18n/koi.json
deleted file mode 100644 (file)
index 1753f44..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Enye Lav"
-               ]
-       },
-       "vector-action-delete": "Чышкыны",
-       "vector-view-view": "Лыддьöтны"
-}
diff --git a/skins/Vector/i18n/krc.json b/skins/Vector/i18n/krc.json
deleted file mode 100644 (file)
index cdb2f55..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Iltever",
-                       "Къарачайлы"
-               ]
-       },
-       "skinname-vector": "Вектор",
-       "vector-action-addsection": "Джангы тема къош",
-       "vector-action-delete": "Кетер",
-       "vector-action-move": "Атын ауушдур",
-       "vector-action-protect": "Джакъла",
-       "vector-action-undelete": "Къайтар",
-       "vector-action-unprotect": "Джакълауну тюрлендир",
-       "vector-view-create": "Къура",
-       "vector-view-edit": "Тюрлендир",
-       "vector-view-history": "Тарихи",
-       "vector-view-view": "Окъу",
-       "vector-view-viewsource": "Кодха къара",
-       "vector-more-actions": "Энтда"
-}
diff --git a/skins/Vector/i18n/kri.json b/skins/Vector/i18n/kri.json
deleted file mode 100644 (file)
index 056a9e5..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Protostar"
-               ]
-       },
-       "vector-action-addsection": "Add tòpik",
-       "vector-action-delete": "Delet",
-       "vector-action-move": "Muf",
-       "vector-action-protect": "Protèkt",
-       "vector-view-create": "Kreat",
-       "vector-view-edit": "Chenj",
-       "vector-view-history": "Luk historia",
-       "vector-view-view": "Rid",
-       "vector-view-viewsource": "Luk dhi sòrs"
-}
diff --git a/skins/Vector/i18n/ks-arab.json b/skins/Vector/i18n/ks-arab.json
deleted file mode 100644 (file)
index 68c34ad..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-       "vector-view-edit": "تَرتیٖب دِیُن",
-       "vector-view-view": "پَرُن"
-}
diff --git a/skins/Vector/i18n/ksh.json b/skins/Vector/i18n/ksh.json
deleted file mode 100644 (file)
index 7d91fae..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Purodha"
-               ]
-       },
-       "skinname-vector": "Vektor",
-       "vector.css": "/* CSS heh aan dä Stell wirrek nur op de Ovverflääsch „Vector“ */",
-       "vector.js": "/* De JavaSkrippte fun hee krijje alle Sigge met de Ovverflääsch \"Vector\" jescheck */",
-       "vector-action-addsection": "Ne neue Afschnet onge draan!",
-       "vector-action-delete": "Fottschmiiße!",
-       "vector-action-move": "Ömnänne!",
-       "vector-action-protect": "Schöze!",
-       "vector-action-undelete": "Zerökholle!",
-       "vector-action-unprotect": "Schoz ändere!",
-       "vector-view-create": "Neu Schriive!",
-       "vector-view-edit": "Ändere!",
-       "vector-view-history": "Versione zeije!",
-       "vector-view-view": "Lesse!",
-       "vector-view-viewsource": "Wikitex aanlooere!"
-}
diff --git a/skins/Vector/i18n/ku-latn.json b/skins/Vector/i18n/ku-latn.json
deleted file mode 100644 (file)
index 90e0706..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ferhengvan",
-                       "Gomada"
-               ]
-       },
-       "vector-action-addsection": "Mijarekê lê zêde bike",
-       "vector-action-delete": "Jê bibe",
-       "vector-action-move": "Nav biguherîne",
-       "vector-action-protect": "Biparêze",
-       "vector-action-undelete": "Jê nebe",
-       "vector-action-unprotect": "Parastinê rake",
-       "vector-view-create": "Çêke",
-       "vector-view-edit": "Biguherîne",
-       "vector-view-history": "Dîrokê bibîne",
-       "vector-view-view": "Bixwîne",
-       "vector-view-viewsource": "Çavkaniyan bibîne"
-}
diff --git a/skins/Vector/i18n/kv.json b/skins/Vector/i18n/kv.json
deleted file mode 100644 (file)
index d3df069..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Comp1089"
-               ]
-       },
-       "vector-action-move": "Ним вежны",
-       "vector-view-edit": "Вежны",
-       "vector-view-view": "Лыддьыны"
-}
diff --git a/skins/Vector/i18n/kw.json b/skins/Vector/i18n/kw.json
deleted file mode 100644 (file)
index 4a2975c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kernoweger",
-                       "Kw-Moon",
-                       "Nrowe"
-               ]
-       },
-       "vector-action-addsection": "Keworra testen",
-       "vector-action-delete": "Dilea",
-       "vector-action-move": "Gwaya",
-       "vector-action-protect": "Difres",
-       "vector-action-undelete": "Disdhilea",
-       "vector-action-unprotect": "Chanjya difresans",
-       "vector-view-create": "Gwruthyl",
-       "vector-view-edit": "Chanjya",
-       "vector-view-history": "Gweles an istori",
-       "vector-view-view": "Redya",
-       "vector-view-viewsource": "Gweles an bennfenten"
-}
diff --git a/skins/Vector/i18n/ky.json b/skins/Vector/i18n/ky.json
deleted file mode 100644 (file)
index e536d9b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Chorobek",
-                       "Growingup",
-                       "Ztimur",
-                       "Викиней"
-               ]
-       },
-       "vector-action-addsection": "Тема кошуу",
-       "vector-action-delete": "Өчүрүү",
-       "vector-action-move": "Аталышын өзгөртүү",
-       "vector-action-protect": "Коргоо",
-       "vector-action-undelete": "Калыбына келтирүү",
-       "vector-action-unprotect": "Коргоону өзгөртүү",
-       "vector-view-create": "Түзүү",
-       "vector-view-edit": "Оңдоо",
-       "vector-view-history": "Тарыхын кароо",
-       "vector-view-view": "Окуу",
-       "vector-view-viewsource": "Кайнарын кароо"
-}
diff --git a/skins/Vector/i18n/la.json b/skins/Vector/i18n/la.json
deleted file mode 100644 (file)
index 2cc4ad2..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "UV"
-               ]
-       },
-       "vector-action-addsection": "Partem novam addere",
-       "vector-action-delete": "Delere",
-       "vector-action-move": "Movere",
-       "vector-action-protect": "Protegere",
-       "vector-action-undelete": "Restituere",
-       "vector-action-unprotect": "Protectionem mutare",
-       "vector-view-create": "Creare",
-       "vector-view-edit": "Recensere",
-       "vector-view-history": "Historiam inspicere",
-       "vector-view-view": "Legere",
-       "vector-view-viewsource": "Fontem inspicere",
-       "vector-more-actions": "Plus"
-}
diff --git a/skins/Vector/i18n/lad.json b/skins/Vector/i18n/lad.json
deleted file mode 100644 (file)
index 729ec48..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Universal Life"
-               ]
-       },
-       "vector-action-addsection": "Ajustar sujeto",
-       "vector-action-delete": "Efassar",
-       "vector-action-move": "Taşirear",
-       "vector-action-protect": "Guadrar",
-       "vector-action-undelete": "Traer atrás",
-       "vector-action-unprotect": "Trocar proteksyon",
-       "vector-view-create": "Criar",
-       "vector-view-edit": "Trocar",
-       "vector-view-history": "Ver la istoria",
-       "vector-view-view": "Meldar",
-       "vector-view-viewsource": "Ver su manadero"
-}
diff --git a/skins/Vector/i18n/lb.json b/skins/Vector/i18n/lb.json
deleted file mode 100644 (file)
index cb26439..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Robby"
-               ]
-       },
-       "vector-skin-desc": "Modern Versioun vu Monobook mat frëschem Look a ville Verbesserunge vun der Benotzerfrëndlechkeet",
-       "vector-action-addsection": "Sujet derbäisetzen",
-       "vector-action-delete": "Läschen",
-       "vector-action-move": "Réckelen",
-       "vector-action-protect": "Spären",
-       "vector-action-undelete": "Restauréieren",
-       "vector-action-unprotect": "Spär änneren",
-       "vector-view-create": "Uleeën",
-       "vector-view-edit": "Änneren",
-       "vector-view-history": "Versioune weisen",
-       "vector-view-view": "Liesen",
-       "vector-view-viewsource": "Quellcode weisen",
-       "vector-more-actions": "Méi"
-}
diff --git a/skins/Vector/i18n/lez.json b/skins/Vector/i18n/lez.json
deleted file mode 100644 (file)
index d132626..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Lezgia",
-                       "Migraghvi",
-                       "Namik",
-                       "Soul Train"
-               ]
-       },
-       "vector-action-addsection": "Тема алава авун",
-       "vector-action-delete": "Алудун",
-       "vector-action-move": "ТӀвар эхцигун",
-       "vector-action-protect": "Хуьн",
-       "vector-action-undelete": "ТуькӀуьр хъувун",
-       "vector-action-unprotect": "Хуьн дегишарун",
-       "vector-view-create": "ТуькӀуьрун",
-       "vector-view-edit": "Дуьзарин",
-       "vector-view-history": "Тарихдиз килигун",
-       "vector-view-view": "КӀелун",
-       "vector-view-viewsource": "Чешме къалурун"
-}
diff --git a/skins/Vector/i18n/lg.json b/skins/Vector/i18n/lg.json
deleted file mode 100644 (file)
index 4282900..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kizito"
-               ]
-       },
-       "vector-action-addsection": "Tandikawo emboozi endala",
-       "vector-action-delete": "Gyawo olupapula luno",
-       "vector-action-move": "Simbuliza",
-       "vector-action-protect": "Ssiba",
-       "vector-action-undelete": "Zawo",
-       "vector-action-unprotect": "Kyusa ebikugizo",
-       "vector-view-create": "Lukolewo",
-       "vector-view-edit": "Kyusa",
-       "vector-view-history": "Ennanda ya fayiro eno",
-       "vector-view-view": "Soma",
-       "vector-view-viewsource": "Kebera obulambike obw'ennono obw'olupapula luno"
-}
diff --git a/skins/Vector/i18n/li.json b/skins/Vector/i18n/li.json
deleted file mode 100644 (file)
index 8fe7e26..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ooswesthoesbes"
-               ]
-       },
-       "vector-action-addsection": "Voog köpke toe",
-       "vector-action-delete": "Ewegsjaffe",
-       "vector-action-move": "Verplaats",
-       "vector-action-protect": "Besjirm",
-       "vector-action-undelete": "Plaats trök",
-       "vector-action-unprotect": "Anger beveiliging",
-       "vector-view-create": "Maak aan",
-       "vector-view-edit": "Bewirk",
-       "vector-view-history": "Bekiek de gesjiedenis",
-       "vector-view-view": "Laes",
-       "vector-view-viewsource": "Bekiek bróntèks"
-}
diff --git a/skins/Vector/i18n/lij.json b/skins/Vector/i18n/lij.json
deleted file mode 100644 (file)
index e73547c..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gastaz",
-                       "Giromin Cangiaxo"
-               ]
-       },
-       "vector-action-addsection": "Azónzi discusción",
-       "vector-action-delete": "Scancella",
-       "vector-action-move": "Mescia",
-       "vector-action-protect": "Protezi",
-       "vector-action-undelete": "Recuppera",
-       "vector-action-unprotect": "Cangia a proteçion",
-       "vector-view-create": "Crea",
-       "vector-view-edit": "Càngia",
-       "vector-view-history": "Fanni védde a Stöia",
-       "vector-view-view": "Lêzi",
-       "vector-view-viewsource": "Veddi a sorgénte"
-}
diff --git a/skins/Vector/i18n/liv.json b/skins/Vector/i18n/liv.json
deleted file mode 100644 (file)
index 68518e5..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Warbola"
-               ]
-       },
-       "vector-action-addsection": "Pangid jūrõ tēma",
-       "vector-action-delete": "Kištāntõgid jarā",
-       "vector-action-move": "Vīž jarā",
-       "vector-action-protect": "Kaitsõmi",
-       "vector-view-create": "Lūo",
-       "vector-view-edit": "Redigīer",
-       "vector-view-history": "Nägţ istōrijõ",
-       "vector-view-view": "Vaņ",
-       "vector-view-viewsource": "Vaņ ovāt tekstõ"
-}
diff --git a/skins/Vector/i18n/lmo.json b/skins/Vector/i18n/lmo.json
deleted file mode 100644 (file)
index a5c8624..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Insübrich",
-                       "Ninonino"
-               ]
-       },
-       "vector-action-addsection": "Giunta argument",
-       "vector-action-delete": "Scancela",
-       "vector-action-move": "Sposta",
-       "vector-action-protect": "Prutegg",
-       "vector-action-undelete": "Recüpera",
-       "vector-action-unprotect": "Càmbia la protesiù",
-       "vector-view-create": "Crea",
-       "vector-view-edit": "Mudifega",
-       "vector-view-history": "Varda la storia",
-       "vector-view-view": "Legg",
-       "vector-view-viewsource": "Varda el codes",
-       "vector-more-actions": "Amò"
-}
diff --git a/skins/Vector/i18n/ln.json b/skins/Vector/i18n/ln.json
deleted file mode 100644 (file)
index 5fb4011..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Eruedin",
-                       "Moyogo"
-               ]
-       },
-       "vector-action-addsection": "Kobakisa mpɔ̂",
-       "vector-action-delete": "Kolímwisa",
-       "vector-action-move": "Kobóngola nkómbó",
-       "vector-action-protect": "Kobátela",
-       "vector-action-undelete": "Kolímwisa tɛ̂",
-       "vector-action-unprotect": " Kobátela tɛ̂",
-       "vector-view-create": "Kokela",
-       "vector-view-edit": "Kobɔngisa",
-       "vector-view-history": "Komɔ́nisa mokóló",
-       "vector-view-view": "Kotánga",
-       "vector-view-viewsource": "Komɔ́nisa mosólo"
-}
diff --git a/skins/Vector/i18n/lrc.json b/skins/Vector/i18n/lrc.json
deleted file mode 100644 (file)
index 2f756b5..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mogoeilor"
-               ]
-       },
-       "vector-action-addsection": "موضوع اضاف بكيد",
-       "vector-action-delete": "پاکسا کردن",
-       "vector-action-move": "جاوه جا بوئيت",
-       "vector-action-protect": "حمايت بكيد",
-       "vector-action-undelete": "حذف نبيئني",
-       "vector-action-unprotect": "حمايت آلشت بكيد",
-       "vector-view-create": "راس كردن",
-       "vector-view-edit": "ويرايشت",
-       "vector-view-history": "ديئن ويرگار",
-       "vector-view-view": "حنن",
-       "vector-view-viewsource": "سرچشمه نه بوينيت"
-}
diff --git a/skins/Vector/i18n/lt.json b/skins/Vector/i18n/lt.json
deleted file mode 100644 (file)
index 40886a8..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Garas",
-                       "Homo",
-                       "Matasg",
-                       "Perkunas"
-               ]
-       },
-       "skinname-vector": "Vektorinė",
-       "vector-action-addsection": "Pridėti temą",
-       "vector-action-delete": "Ištrinti",
-       "vector-action-move": "Pervardyti",
-       "vector-action-protect": "Užrakinti",
-       "vector-action-undelete": "Atkurti",
-       "vector-action-unprotect": "Keisti apsaugą",
-       "vector-view-create": "Kurti",
-       "vector-view-edit": "Redaguoti",
-       "vector-view-history": "Istorija",
-       "vector-view-view": "Skaityti",
-       "vector-view-viewsource": "Žiūrėti kodą"
-}
diff --git a/skins/Vector/i18n/ltg.json b/skins/Vector/i18n/ltg.json
deleted file mode 100644 (file)
index d89d6df..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Dark Eagle"
-               ]
-       },
-       "vector-action-addsection": "Dalikt padaļu",
-       "vector-action-delete": "Iztreit",
-       "vector-action-move": "Puorceļt",
-       "vector-action-protect": "Apsorguot",
-       "vector-action-unprotect": "Puormeit apsardzeibu",
-       "vector-view-edit": "Pataiseit",
-       "vector-view-history": "Viesture",
-       "vector-view-view": "Vērtīs"
-}
diff --git a/skins/Vector/i18n/lus.json b/skins/Vector/i18n/lus.json
deleted file mode 100644 (file)
index 4f270de..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "RMizo"
-               ]
-       },
-       "vector-action-addsection": "Thupui belhna",
-       "vector-action-delete": "Paihna",
-       "vector-action-move": "Sawnna",
-       "vector-action-protect": "Venhimna",
-       "vector-action-undelete": "Lak kir lehna",
-       "vector-action-unprotect": "Venhimna dinhmun tidanglam rawh",
-       "vector-view-create": "Siamna",
-       "vector-view-edit": "Siamţhatna",
-       "vector-view-history": "Hunhlui-chanchin",
-       "vector-view-view": "Chhiarna",
-       "vector-view-viewsource": "A hnar enna"
-}
diff --git a/skins/Vector/i18n/luz.json b/skins/Vector/i18n/luz.json
deleted file mode 100644 (file)
index 0670bfd..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "علی ساکی لرستانی"
-               ]
-       },
-       "vector-view-history": "دیئن تاریخچه",
-       "vector-view-view": "هوندن"
-}
diff --git a/skins/Vector/i18n/lv.json b/skins/Vector/i18n/lv.json
deleted file mode 100644 (file)
index ccd43c5..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Marozols",
-                       "Papuass"
-               ]
-       },
-       "vector-action-addsection": "Jauna sadaļa",
-       "vector-action-delete": "Dzēst",
-       "vector-action-move": "Pārvietot",
-       "vector-action-protect": "Aizsargāt",
-       "vector-action-undelete": "Atjaunot",
-       "vector-action-unprotect": "Mainīt aizsardzību",
-       "vector-view-create": "Izveidot",
-       "vector-view-edit": "Labot",
-       "vector-view-history": "Hronoloģija",
-       "vector-view-view": "Skatīt",
-       "vector-view-viewsource": "Aplūkot kodu",
-       "vector-more-actions": "Vairāk"
-}
diff --git a/skins/Vector/i18n/lzh.json b/skins/Vector/i18n/lzh.json
deleted file mode 100644 (file)
index 6b6ae38..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Justincheng12345"
-               ]
-       },
-       "skinname-vector": "動力",
-       "vector.css": "/* 此之 CSS 用於動力面之簿也 */",
-       "vector.js": "/* 此之JavaScript將載於用動力面之簿 */",
-       "vector-action-addsection": "入題",
-       "vector-action-delete": "刪",
-       "vector-action-move": "遷",
-       "vector-action-protect": "緘",
-       "vector-action-undelete": "覽刪",
-       "vector-action-unprotect": "啟",
-       "vector-view-create": "立",
-       "vector-view-edit": "纂",
-       "vector-view-history": "覽史",
-       "vector-view-view": "閱",
-       "vector-view-viewsource": "覽源"
-}
diff --git a/skins/Vector/i18n/lzz.json b/skins/Vector/i18n/lzz.json
deleted file mode 100644 (file)
index 3563816..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bombola",
-                       "Ceas08",
-                       "Erdemaslancan"
-               ]
-       },
-       "vector-action-delete": "Jili",
-       "vector-action-move": "Tori",
-       "vector-action-protect": "İçvi",
-       "vector-view-create": "dokʼidi",
-       "vector-view-edit": "Doktiri",
-       "vector-view-view": "İǩitxi"
-}
diff --git a/skins/Vector/i18n/mai.json b/skins/Vector/i18n/mai.json
deleted file mode 100644 (file)
index 068e67d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ggajendra",
-                       "Umeshberma"
-               ]
-       },
-       "skinname-vector": "सदिश",
-       "vector-action-addsection": "विचार-बिन्दु जोड़ू",
-       "vector-action-delete": "मेटाउ",
-       "vector-action-move": "घसकाउ",
-       "vector-action-protect": "रक्षण करू",
-       "vector-action-undelete": "आपस लाउ",
-       "vector-action-unprotect": "सुरक्षा बदलू",
-       "vector-view-create": "बनाउ",
-       "vector-view-edit": "सम्पादन करू",
-       "vector-view-history": "इतिहास देखू",
-       "vector-view-view": "पढ़ू",
-       "vector-view-viewsource": "जड़ि देखू"
-}
diff --git a/skins/Vector/i18n/map-bms.json b/skins/Vector/i18n/map-bms.json
deleted file mode 100644 (file)
index 1a08582..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "StefanusRA"
-               ]
-       },
-       "vector-action-addsection": "Nambah topik",
-       "vector-action-delete": "Busek",
-       "vector-action-move": "Pindah",
-       "vector-action-protect": "Reksa",
-       "vector-action-undelete": "Batalna pambusakan",
-       "vector-action-unprotect": "Owahi pangreksan",
-       "vector-view-create": "Gawe",
-       "vector-view-edit": "Sunting",
-       "vector-view-history": "Sajarah kaca",
-       "vector-view-view": "Waca",
-       "vector-view-viewsource": "Deleng sumbere"
-}
diff --git a/skins/Vector/i18n/mdf.json b/skins/Vector/i18n/mdf.json
deleted file mode 100644 (file)
index 91787fc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Numulunj pilgae"
-               ]
-       },
-       "vector-action-addsection": "Поладомс мезень колга корхтамс",
-       "vector-action-delete": "Нардамс",
-       "vector-action-move": "Шашфтомс",
-       "vector-action-protect": "Араламс",
-       "vector-action-undelete": "Мърдафтомс",
-       "vector-action-unprotect": "Араламать полафтомс",
-       "vector-view-create": "Тиемс",
-       "vector-view-edit": "Петнемс",
-       "vector-view-history": "История няфтемс",
-       "vector-view-view": "Морафтомс",
-       "vector-view-viewsource": "Лисьма няфтемс"
-}
diff --git a/skins/Vector/i18n/mg.json b/skins/Vector/i18n/mg.json
deleted file mode 100644 (file)
index 5c51602..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Jagwar"
-               ]
-       },
-       "vector-action-addsection": "Hanampy lohahevitra",
-       "vector-action-delete": "Fafana",
-       "vector-action-move": "Hanolo anarana",
-       "vector-action-protect": "Arovy",
-       "vector-action-undelete": "Avereno",
-       "vector-action-unprotect": "Hanala ny fiarovana",
-       "vector-view-create": "Foronona",
-       "vector-view-edit": "Hanova",
-       "vector-view-history": "Hijery ny tantara",
-       "vector-view-view": "Hamaky",
-       "vector-view-viewsource": "Hijery fango"
-}
diff --git a/skins/Vector/i18n/mhr.json b/skins/Vector/i18n/mhr.json
deleted file mode 100644 (file)
index efe9d4b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Azim",
-                       "Sergey Ivanov",
-                       "Сай",
-                       "Санюн Вадик"
-               ]
-       },
-       "vector-action-addsection": "У ӱжашым тӱҥалаш",
-       "vector-action-delete": "Шӧраш",
-       "vector-action-move": "Лӱмым вашталташ",
-       "vector-action-protect": "Тӧрлатымаш деч аралаш",
-       "vector-action-undelete": "Шӧрымым пӧртылаш",
-       "vector-action-unprotect": "Оролым вашталташ",
-       "vector-view-create": "Ышташ",
-       "vector-view-edit": "Тӧрлаташ",
-       "vector-view-history": "Эртымгорным ончалаш",
-       "vector-view-view": "Лудаш",
-       "vector-view-viewsource": "Тӱҥалтыш текстым ончалаш"
-}
diff --git a/skins/Vector/i18n/mi.json b/skins/Vector/i18n/mi.json
deleted file mode 100644 (file)
index 0a59489..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Piwaiwaka"
-               ]
-       },
-       "vector-view-view": "Tirohia"
-}
diff --git a/skins/Vector/i18n/mic.json b/skins/Vector/i18n/mic.json
deleted file mode 100644 (file)
index 3079089..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Amqui"
-               ]
-       },
-       "vector-action-move": "Ejigliwsit",
-       "vector-view-create": "Etlitoq",
-       "vector-view-view": "Egiljet"
-}
diff --git a/skins/Vector/i18n/min.json b/skins/Vector/i18n/min.json
deleted file mode 100644 (file)
index bf5a735..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Iwan Novirion",
-                       "Luthfi94",
-                       "VoteITP"
-               ]
-       },
-       "skinname-vector": "Vektor",
-       "vector-action-addsection": "Bagian baru",
-       "vector-action-delete": "Hapuih",
-       "vector-action-move": "Pindahkan",
-       "vector-action-protect": "Linduangkan",
-       "vector-action-undelete": "Pambatalan pangapuihan",
-       "vector-action-unprotect": "Tuka palinduangan",
-       "vector-view-create": "Buek",
-       "vector-view-edit": "Suntiang",
-       "vector-view-history": "Riwayaik",
-       "vector-view-view": "Baco",
-       "vector-view-viewsource": "Caliak sumber"
-}
diff --git a/skins/Vector/i18n/mk.json b/skins/Vector/i18n/mk.json
deleted file mode 100644 (file)
index 1f883ae..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bjankuloski06",
-                       "Brest"
-               ]
-       },
-       "skinname-vector": "Векторско",
-       "vector-skin-desc": "Современа верзија на рувото МоноБук со свеж изглед и многу подобрувања на употребливоста",
-       "vector.css": "/* Тука поставениот CSS се однесува на корисниците на рувото „Векторско“ */",
-       "vector.js": "/* Тука поставениот JavaScript  ќе им се вчитува на корисниците што го користат рувото „Векторско“ */",
-       "vector-action-addsection": "Додај тема",
-       "vector-action-delete": "Избриши",
-       "vector-action-move": "Премести",
-       "vector-action-protect": "Заштити",
-       "vector-action-undelete": "Врати",
-       "vector-action-unprotect": "Измени заштита",
-       "vector-view-create": "Создај",
-       "vector-view-edit": "Уреди",
-       "vector-view-history": "Историја",
-       "vector-view-view": "Читај",
-       "vector-view-viewsource": "Извор",
-       "vector-more-actions": "Повеќе"
-}
diff --git a/skins/Vector/i18n/ml.json b/skins/Vector/i18n/ml.json
deleted file mode 100644 (file)
index 6ca34a1..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Anoopan",
-                       "Praveenp"
-               ]
-       },
-       "skinname-vector": "വെക്റ്റർ",
-       "vector.css": "/* ഇവിടെ നൽകുന്ന സി.എസ്.എസ്. വെക്റ്റർ ദൃശ്യരൂപത്തിനു ബാധകമായിരിക്കും*/",
-       "vector.js": "/*ഇവിടെ നൽകുന്ന ജാവാസ്ക്രിപ്റ്റ് വെക്റ്റർ ദൃശ്യരൂപം ഉപയോഗിക്കുന്ന ഉപയോക്താക്കൾക്ക് ബാധകമായിരിക്കും*/",
-       "vector-action-addsection": "വിഷയം ചേർക്കുക",
-       "vector-action-delete": "മായ്ക്കുക",
-       "vector-action-move": "തലക്കെട്ട് മാറ്റുക",
-       "vector-action-protect": "സം‌രക്ഷിക്കുക",
-       "vector-action-undelete": "മായ്ക്കപ്പെട്ടത് പുനഃസ്ഥാപിക്കുക",
-       "vector-action-unprotect": "സംരക്ഷണത്തിൽ മാറ്റംവരുത്തുക",
-       "vector-view-create": "സൃഷ്ടിക്കുക",
-       "vector-view-edit": "തിരുത്തുക",
-       "vector-view-history": "നാൾവഴി കാണുക",
-       "vector-view-view": "വായിക്കുക",
-       "vector-view-viewsource": "മൂലരൂപം കാണുക",
-       "vector-more-actions": "കൂടുതൽ"
-}
diff --git a/skins/Vector/i18n/mn.json b/skins/Vector/i18n/mn.json
deleted file mode 100644 (file)
index ceeafaf..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Chinneeb",
-                       "MongolWiki",
-                       "Wisdom"
-               ]
-       },
-       "vector-action-addsection": "Сэдэв нэмэх",
-       "vector-action-delete": "Устгах",
-       "vector-action-move": "Зөөх",
-       "vector-action-protect": "Хамгаалах",
-       "vector-action-undelete": "Үл устгах",
-       "vector-action-unprotect": "Хамгаалалтаа солих",
-       "vector-view-create": "Үүсгэх",
-       "vector-view-edit": "Засварлах",
-       "vector-view-history": "Түүх",
-       "vector-view-view": "Унших",
-       "vector-view-viewsource": "Кодыг харах"
-}
diff --git a/skins/Vector/i18n/mnc.json b/skins/Vector/i18n/mnc.json
deleted file mode 100644 (file)
index 60434d5..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Minggantu"
-               ]
-       },
-       "vector-action-delete": "Dabgire",
-       "vector-action-move": "Guribure",
-       "vector-action-protect": "Karmara",
-       "vector-view-create": "Ilibure",
-       "vector-view-edit": "banjibume arara",
-       "vector-view-history": "ere šu wen i suduri be baicara",
-       "vector-view-view": "hūlara",
-       "vector-view-viewsource": "da šu wen be baicara"
-}
diff --git a/skins/Vector/i18n/mr.json b/skins/Vector/i18n/mr.json
deleted file mode 100644 (file)
index ab7e322..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kaajawa",
-                       "V.narsikar"
-               ]
-       },
-       "skinname-vector": "सदिश",
-       "vector-action-addsection": "विषय जोडा",
-       "vector-action-delete": "वगळा",
-       "vector-action-move": "स्थानांतरण",
-       "vector-action-protect": "सुरक्षित करा",
-       "vector-action-undelete": "वगळलेले पुनर्स्थापित करा",
-       "vector-action-unprotect": "सुरक्षितता बदला",
-       "vector-view-create": "तयार करा",
-       "vector-view-edit": "संपादन",
-       "vector-view-history": "इतिहास पहा",
-       "vector-view-view": "वाचा",
-       "vector-view-viewsource": "स्रोत पहा",
-       "vector-more-actions": "अधिक"
-}
diff --git a/skins/Vector/i18n/mrj.json b/skins/Vector/i18n/mrj.json
deleted file mode 100644 (file)
index 72b93b4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Amdf"
-               ]
-       },
-       "vector-action-delete": "Карангдаш",
-       "vector-action-move": "Лӹмӹм вашталташ",
-       "vector-action-protect": "Ӹшӹклӓш",
-       "vector-view-create": "Ӹштӓш",
-       "vector-view-edit": "Тӧрлӹмӓш",
-       "vector-view-history": "Историм анжымаш",
-       "vector-view-view": "Лыдмаш",
-       "vector-view-viewsource": "Сек пӹтӓриш кодым анжалаш"
-}
diff --git a/skins/Vector/i18n/ms.json b/skins/Vector/i18n/ms.json
deleted file mode 100644 (file)
index 73c8e05..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Anakmalaysia",
-                       "Aurora",
-                       "Pizza1016"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector-skin-desc": "Versi MonoBook yang moden dengan rupa yang segar dan banyak pembaikan kepada kegunaan.",
-       "vector.css": "/* CSS yang terletak di sini akan mempengaruhi pengguna kulit Vector */",
-       "vector.js": "/ * Sebarang JavaScript di sini akan dimuatkan untuk pengguna-pengguna yang menggunakan kulit Vector * /",
-       "vector-action-addsection": "Buka topik",
-       "vector-action-delete": "Hapus",
-       "vector-action-move": "Pindah",
-       "vector-action-protect": "Lindung",
-       "vector-action-undelete": "Nyahhapus",
-       "vector-action-unprotect": "Ubah perlindungan",
-       "vector-view-create": "Cipta",
-       "vector-view-edit": "Sunting",
-       "vector-view-history": "Lihat sejarah",
-       "vector-view-view": "Baca",
-       "vector-view-viewsource": "Lihat sumber",
-       "vector-more-actions": "Lain"
-}
diff --git a/skins/Vector/i18n/mt.json b/skins/Vector/i18n/mt.json
deleted file mode 100644 (file)
index 3fab17f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Chrisportelli",
-                       "Leli Forte"
-               ]
-       },
-       "vector-action-addsection": "Żid diskussjoni",
-       "vector-action-delete": "Ħassar",
-       "vector-action-move": "Mexxi",
-       "vector-action-protect": "Ipproteġi",
-       "vector-action-undelete": "Irkupra",
-       "vector-action-unprotect": "Biddel il-protezzjoni",
-       "vector-view-create": "Oħloq",
-       "vector-view-edit": "Editja",
-       "vector-view-history": "Ara l-kronoloġija",
-       "vector-view-view": "Aqra",
-       "vector-view-viewsource": "Ara s-sors",
-       "vector-more-actions": "Aktar"
-}
diff --git a/skins/Vector/i18n/mui.json b/skins/Vector/i18n/mui.json
deleted file mode 100644 (file)
index 173eda0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mahali syarifuddin"
-               ]
-       },
-       "vector-view-view": "Baco",
-       "vector-view-viewsource": "Jingok sumber"
-}
diff --git a/skins/Vector/i18n/my.json b/skins/Vector/i18n/my.json
deleted file mode 100644 (file)
index 5cc7802..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Lionslayer",
-                       "Myanmars"
-               ]
-       },
-       "vector-action-addsection": "အကြောင်းအရာအသစ် ထပ်ထည့်ရန်",
-       "vector-action-delete": "ဖျက်​ပါ​",
-       "vector-action-move": "ရွှေ့ပါ",
-       "vector-action-protect": "ထိမ်း​သိမ်း​ပါ​",
-       "vector-action-undelete": "မဖျက်တော့ရန်",
-       "vector-action-unprotect": "ကာကွယ်ခြင်းကို ပြောင်းလဲရန်",
-       "vector-view-create": "စတင်ရေးသားရန်",
-       "vector-view-edit": "ပြင်ရန်",
-       "vector-view-history": "ရာဇဝင်ကြည့်ရန်",
-       "vector-view-view": "ဖတ်ရန်",
-       "vector-view-viewsource": "ရင်းမြစ်ကို ကြည့်ရန်"
-}
diff --git a/skins/Vector/i18n/myv.json b/skins/Vector/i18n/myv.json
deleted file mode 100644 (file)
index 723d5dd..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Botuzhaleny-sodamo"
-               ]
-       },
-       "vector-action-addsection": "Поладомс мезде кортамс",
-       "vector-action-delete": "Нардамс",
-       "vector-action-move": "Печтевтемс",
-       "vector-action-protect": "Аравтомс ванстомас",
-       "vector-action-undelete": "Вельмевтемс нардазенть",
-       "vector-action-unprotect": "Полавтомс ванстоманзо",
-       "vector-view-create": "Теемс-Шкамс",
-       "vector-view-edit": "Витнемс-петнемс",
-       "vector-view-history": "Ваномс юронзо-путовксонзо",
-       "vector-view-view": "Ловномс",
-       "vector-view-viewsource": "Ваномс косто саезь"
-}
diff --git a/skins/Vector/i18n/mzn.json b/skins/Vector/i18n/mzn.json
deleted file mode 100644 (file)
index cf18634..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mjbmr",
-                       "محک"
-               ]
-       },
-       "vector-action-addsection": "ترنه گپ بزوئن",
-       "vector-action-delete": "پاک هاکردن",
-       "vector-action-move": "دکش هاکردن",
-       "vector-action-protect": "زلفن بزوئن",
-       "vector-action-undelete": "دباره بنویشته بیّن",
-       "vector-action-unprotect": "زلفن عوض هاکردن",
-       "vector-view-create": "بساتن",
-       "vector-view-edit": "دچی‌ین",
-       "vector-view-history": "تاریخچه ره بَدی‌ین",
-       "vector-view-view": "بخوندستن",
-       "vector-view-viewsource": "ونه منبع ره هارشائن"
-}
diff --git a/skins/Vector/i18n/nah.json b/skins/Vector/i18n/nah.json
deleted file mode 100644 (file)
index adf8c21..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ricardo gs"
-               ]
-       },
-       "vector-action-delete": "Ticpolōz",
-       "vector-action-move": "Ticzacāz",
-       "vector-action-protect": "Ticquīxtīz",
-       "vector-view-create": "Ticchīhuāz",
-       "vector-view-edit": "Ticpatlāz",
-       "vector-view-history": "Tlahcuilōlli tlahcuilōlloh",
-       "vector-view-view": "Tāmapōhuaz",
-       "vector-view-viewsource": "Tiquittāz in mēyalli"
-}
diff --git a/skins/Vector/i18n/nan.json b/skins/Vector/i18n/nan.json
deleted file mode 100644 (file)
index f1b9045..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ianbu"
-               ]
-       },
-       "vector-action-addsection": "Ke chi̍t-ê toān-lo̍h",
-       "vector-action-delete": "Thâi",
-       "vector-action-move": "Sóa khì",
-       "vector-action-protect": "Pó-hō·",
-       "vector-action-undelete": "chhú-siau thâi tiàu",
-       "vector-action-unprotect": "kái pó-hō·",
-       "vector-view-create": "Khai-sí siá",
-       "vector-view-edit": "Siu-kái",
-       "vector-view-history": "khoàⁿ le̍k-sú",
-       "vector-view-view": "Tha̍k",
-       "vector-view-viewsource": "Khoàⁿ goân-sú lōe-iông",
-       "vector-more-actions": "閣看"
-}
diff --git a/skins/Vector/i18n/nap.json b/skins/Vector/i18n/nap.json
deleted file mode 100644 (file)
index 862f197..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Chelin"
-               ]
-       },
-       "vector-action-addsection": "Aggiunge chiacchierata",
-       "vector-action-delete": "Scancèlla",
-       "vector-action-move": "Spusta",
-       "vector-action-protect": "Prutegge",
-       "vector-action-undelete": "Ripristina",
-       "vector-action-unprotect": "Càgna prutezzione",
-       "vector-view-create": "Cria",
-       "vector-view-edit": "Càgna",
-       "vector-view-history": "Vere cronologgia",
-       "vector-view-view": "Legge",
-       "vector-view-viewsource": "Vere sorgente"
-}
diff --git a/skins/Vector/i18n/nb.json b/skins/Vector/i18n/nb.json
deleted file mode 100644 (file)
index 0ef82e0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Danmichaelo",
-                       "Event",
-                       "Nghtwlkr"
-               ]
-       },
-       "vector-skin-desc": "Moderne versjon av MonoBook med et friskt utseende og mange bruksforbedringer",
-       "vector-action-addsection": "Nytt emne",
-       "vector-action-delete": "Slett",
-       "vector-action-move": "Flytt",
-       "vector-action-protect": "Beskytt",
-       "vector-action-undelete": "Gjenopprett",
-       "vector-action-unprotect": "Endre beskyttelse",
-       "vector-view-create": "Opprett",
-       "vector-view-edit": "Rediger",
-       "vector-view-history": "Vis historikk",
-       "vector-view-view": "Les",
-       "vector-view-viewsource": "Vis kilden",
-       "vector-more-actions": "Mer"
-}
diff --git a/skins/Vector/i18n/nds-nl.json b/skins/Vector/i18n/nds-nl.json
deleted file mode 100644 (file)
index be846db..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Servien"
-               ]
-       },
-       "vector-action-addsection": "Niej onderwarp",
-       "vector-action-delete": "Vortdoon",
-       "vector-action-move": "Herneumen",
-       "vector-action-protect": "Beveiligen",
-       "vector-action-undelete": "Weerummeplaotsen",
-       "vector-action-unprotect": "Beveiliging wiezigen",
-       "vector-view-create": "Anmaken",
-       "vector-view-edit": "Bewarken",
-       "vector-view-history": "Geschiedenisse bekieken",
-       "vector-view-view": "Lezen",
-       "vector-view-viewsource": "Brontekste bekieken",
-       "vector-more-actions": "Meer"
-}
diff --git a/skins/Vector/i18n/nds.json b/skins/Vector/i18n/nds.json
deleted file mode 100644 (file)
index 99145b0..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Slomox",
-                       "Zylbath"
-               ]
-       },
-       "vector-action-addsection": "Thema tofögen",
-       "vector-action-delete": "Wegdoon",
-       "vector-action-move": "Schuven",
-       "vector-action-protect": "Schulen",
-       "vector-action-undelete": "Wedderhalen",
-       "vector-action-unprotect": "Siedenschuul ännern",
-       "vector-view-create": "Opstellen",
-       "vector-view-edit": "Ännern",
-       "vector-view-history": "Historie bekieken",
-       "vector-view-view": "Lesen",
-       "vector-view-viewsource": "Borntext bekieken"
-}
diff --git a/skins/Vector/i18n/ne.json b/skins/Vector/i18n/ne.json
deleted file mode 100644 (file)
index 443becb..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bhawani Gautam",
-                       "RajeshPandey",
-                       "सरोज कुमार ढकाल"
-               ]
-       },
-       "skinname-vector": "भेक्टर",
-       "vector.css": "/* यहाँ राखिएको CSS ले भेक्टर स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ  */",
-       "vector-action-addsection": "विषय थप्नुहोस",
-       "vector-action-delete": "हटाउने",
-       "vector-action-move": "सार्ने",
-       "vector-action-protect": "सुरक्षित गर्ने",
-       "vector-action-undelete": "हटाएको रद्द गर्ने",
-       "vector-action-unprotect": "सुरक्षा परिवर्तन गर्ने",
-       "vector-view-create": "सृजना गर्ने",
-       "vector-view-edit": "सम्पादन",
-       "vector-view-history": "इतिहास हेर्ने",
-       "vector-view-view": "पढ्ने",
-       "vector-view-viewsource": "स्रोत हेर्ने"
-}
diff --git a/skins/Vector/i18n/new.json b/skins/Vector/i18n/new.json
deleted file mode 100644 (file)
index f972066..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Eukesh"
-               ]
-       },
-       "vector-action-move": "संकादिसँ",
-       "vector-view-create": "दयेकादिसँ",
-       "vector-view-edit": "सम्पादन",
-       "vector-view-history": "इतिहास स्वयादिसँ",
-       "vector-view-view": "ब्वनादिसँ"
-}
diff --git a/skins/Vector/i18n/nl.json b/skins/Vector/i18n/nl.json
deleted file mode 100644 (file)
index 07c18d9..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Calak",
-                       "Romaine",
-                       "SPQRobin",
-                       "Siebrand",
-                       "Troefkaart",
-                       "Sjoerddebruin"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector-skin-desc": "Moderne versie van MonoBook met een fris uiterlijk en verbeteringen op het gebied van gebruiksvriendelijkheid",
-       "vector.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Vector */",
-       "vector.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die de skin Vector gebruiken */",
-       "vector-action-addsection": "Kopje toevoegen",
-       "vector-action-delete": "Verwijderen",
-       "vector-action-move": "Hernoemen",
-       "vector-action-protect": "Beveiligen",
-       "vector-action-undelete": "Terugplaatsen",
-       "vector-action-unprotect": "Beveiliging wijzigen",
-       "vector-view-create": "Aanmaken",
-       "vector-view-edit": "Bewerken",
-       "vector-view-history": "Geschiedenis weergeven",
-       "vector-view-view": "Lezen",
-       "vector-view-viewsource": "Brontekst bekijken",
-       "vector-more-actions": "Meer"
-}
diff --git a/skins/Vector/i18n/nn.json b/skins/Vector/i18n/nn.json
deleted file mode 100644 (file)
index 6fd99f1..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gunnernett",
-                       "Njardarlogar"
-               ]
-       },
-       "vector-action-addsection": "Nytt emne",
-       "vector-action-delete": "Slett",
-       "vector-action-move": "Flytt",
-       "vector-action-protect": "Vern",
-       "vector-action-undelete": "Gjenopprett",
-       "vector-action-unprotect": "Endra vern",
-       "vector-view-create": "Opprett",
-       "vector-view-edit": "Endre",
-       "vector-view-history": "Sjå historikken",
-       "vector-view-view": "Les",
-       "vector-view-viewsource": "Sjå kjelda",
-       "vector-more-actions": "Meir"
-}
diff --git a/skins/Vector/i18n/nov.json b/skins/Vector/i18n/nov.json
deleted file mode 100644 (file)
index 66ad923..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Malafaya"
-               ]
-       },
-       "vector-action-delete": "Ekarta",
-       "vector-view-edit": "Modifika",
-       "vector-view-view": "Lekte"
-}
diff --git a/skins/Vector/i18n/nrm.json b/skins/Vector/i18n/nrm.json
deleted file mode 100644 (file)
index 4c332f2..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "WikiEoFrEn"
-               ]
-       },
-       "vector-view-create": "Criyaer",
-       "vector-view-edit": "Amendaer",
-       "vector-view-view": "Luure"
-}
diff --git a/skins/Vector/i18n/nso.json b/skins/Vector/i18n/nso.json
deleted file mode 100644 (file)
index ea729e7..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mohau"
-               ]
-       },
-       "vector-action-addsection": "Lokela sererwa",
-       "vector-action-delete": "Phumula",
-       "vector-action-move": "Huduša",
-       "vector-action-protect": "Lota",
-       "vector-view-create": "Hlola",
-       "vector-view-edit": "Fetola",
-       "vector-view-history": "Laetša histori",
-       "vector-view-view": "Bala",
-       "vector-view-viewsource": "Lebelela mothopo"
-}
diff --git a/skins/Vector/i18n/oc.json b/skins/Vector/i18n/oc.json
deleted file mode 100644 (file)
index 2aa517e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Boulaur",
-                       "Cedric31"
-               ]
-       },
-       "vector.css": "/* Lo CSS plaçat aicí afectarà los utilizaires de l’abilhatge Vector */",
-       "vector.js": "/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge Vector unicament. */",
-       "vector-action-addsection": "Apondre un subjècte",
-       "vector-action-delete": "Suprimir",
-       "vector-action-move": "Tornar nomenar",
-       "vector-action-protect": "Protegir",
-       "vector-action-undelete": "Restablir",
-       "vector-action-unprotect": "Suprimir la proteccion",
-       "vector-view-create": "Crear",
-       "vector-view-edit": "Modificar",
-       "vector-view-history": "Veire l'istoric",
-       "vector-view-view": "Legir",
-       "vector-view-viewsource": "Veire la font"
-}
diff --git a/skins/Vector/i18n/or.json b/skins/Vector/i18n/or.json
deleted file mode 100644 (file)
index 289cc3c..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Jnanaranjan Sahu",
-                       "Psubhashish"
-               ]
-       },
-       "vector-action-addsection": "ନୂଆ ଯୋଡ଼ନ୍ତୁ",
-       "vector-action-delete": "ଲିଭାଇବେ",
-       "vector-action-move": "ଘୁଞ୍ଚାଇବେ",
-       "vector-action-protect": "କିଳିବେ",
-       "vector-action-undelete": "ଲିଭାଇବେ ନାହିଁ",
-       "vector-action-unprotect": "କିଳିବେ ନାହିଁ",
-       "vector-view-create": "ତିଆରି କରନ୍ତୁ",
-       "vector-view-edit": "ସମ୍ପାଦନା (Edit)",
-       "vector-view-history": "ଇତିହାସ",
-       "vector-view-view": "ପଢ଼ନ୍ତୁ",
-       "vector-view-viewsource": "ସୋର୍ସ ଦେଖନ୍ତୁ"
-}
diff --git a/skins/Vector/i18n/os.json b/skins/Vector/i18n/os.json
deleted file mode 100644 (file)
index a178289..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Amikeco",
-                       "Bouron"
-               ]
-       },
-       "vector-action-addsection": "Нæуæг ныхас бакæнын",
-       "vector-action-delete": "Схафын",
-       "vector-action-move": "Ном ивын",
-       "vector-action-protect": "Сæхгæнын",
-       "vector-action-undelete": "Рацаразын",
-       "vector-action-unprotect": "Ивын хъахъхъæд",
-       "vector-view-create": "Скæнын",
-       "vector-view-edit": "Ивын",
-       "vector-view-history": "Истори",
-       "vector-view-view": "Кæсын",
-       "vector-view-viewsource": "Код кæсын"
-}
diff --git a/skins/Vector/i18n/pa.json b/skins/Vector/i18n/pa.json
deleted file mode 100644 (file)
index 5f15399..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Aalam",
-                       "Babanwalia",
-                       "Raj Singh",
-                       "TariButtar"
-               ]
-       },
-       "vector-action-addsection": "ਵਿਸ਼ਾ ਜੋੜੋ",
-       "vector-action-delete": "ਹਟਾਓ",
-       "vector-action-move": "ਭੇਜੋ",
-       "vector-action-protect": "ਸੁਰੱਖਿਆ",
-       "vector-action-undelete": "ਹਟਾਉਣਾ-ਵਾਪਸ",
-       "vector-action-unprotect": "ਸੁਰੱਖਿਆ ਬਦਲੋ",
-       "vector-view-create": "ਬਣਾਓ",
-       "vector-view-edit": "ਸੋਧੋ",
-       "vector-view-history": "ਅਤੀਤ ਵੇਖੋ",
-       "vector-view-view": "ਪੜ੍ਹੋ",
-       "vector-view-viewsource": "ਸਰੋਤ ਵੇਖੋ"
-}
diff --git a/skins/Vector/i18n/pam.json b/skins/Vector/i18n/pam.json
deleted file mode 100644 (file)
index 09afda5..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Katimawan2005",
-                       "Val2397"
-               ]
-       },
-       "vector-action-addsection": "Dagdagan ing pisasabian",
-       "vector-action-delete": "Buran",
-       "vector-action-move": "Iyalis",
-       "vector-action-protect": "Protectan/kambilan",
-       "vector-action-undelete": "Isubli/iurung ya pangabura",
-       "vector-action-unprotect": "Idayu ya panga-protecta",
-       "vector-view-create": "Maglalang",
-       "vector-view-edit": "Alilan",
-       "vector-view-history": "Lawen ya ing amlat",
-       "vector-view-view": "Basan",
-       "vector-view-viewsource": "Lawen ya ing pikuanan"
-}
diff --git a/skins/Vector/i18n/pbb.json b/skins/Vector/i18n/pbb.json
deleted file mode 100644 (file)
index 9ddeada..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Sahaquiel9102"
-               ]
-       },
-       "vector-action-delete": "Cjũcj",
-       "vector-action-move": "Quẽese'j",
-       "vector-action-protect": "Pjupj",
-       "vector-view-edit": "Yu'ptjej",
-       "vector-view-view": "Lẽeĩ"
-}
diff --git a/skins/Vector/i18n/pcd.json b/skins/Vector/i18n/pcd.json
deleted file mode 100644 (file)
index 57af67e..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Geoleplubo"
-               ]
-       },
-       "vector-action-addsection": "Rajouter un sujeut",
-       "vector-action-delete": "Défacer",
-       "vector-action-move": "Canger ch'nom",
-       "vector-action-protect": "Garantir",
-       "vector-action-undelete": "N'poin défacher",
-       "vector-action-unprotect": "Canger l'garantie",
-       "vector-view-create": "Créer",
-       "vector-view-edit": "Éditer",
-       "vector-view-history": "Vir l'histoère",
-       "vector-view-view": "Lire",
-       "vector-view-viewsource": "Vir l'source"
-}
diff --git a/skins/Vector/i18n/pdc.json b/skins/Vector/i18n/pdc.json
deleted file mode 100644 (file)
index a3903b2..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Xqt"
-               ]
-       },
-       "vector-action-delete": "Verwische",
-       "vector-action-move": "Ziehe",
-       "vector-action-protect": "Schitze",
-       "vector-view-create": "Schtaerte",
-       "vector-view-edit": "Ennere",
-       "vector-view-history": "Gschicht zeige",
-       "vector-view-view": "Lese"
-}
diff --git a/skins/Vector/i18n/pfl.json b/skins/Vector/i18n/pfl.json
deleted file mode 100644 (file)
index 419eb4e..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Manuae"
-               ]
-       },
-       "vector-action-addsection": "Abschnidd dzufiesche",
-       "vector-action-delete": "Lesche",
-       "vector-action-move": "Vaschiewe",
-       "vector-action-protect": "Schidze",
-       "vector-action-undelete": "Zriggbringe",
-       "vector-view-create": "Õleesche",
-       "vector-view-edit": "Drõ schaffe",
-       "vector-view-history": "Dadaigschischd",
-       "vector-view-view": "Lese",
-       "vector-view-viewsource": "Gwelltegschd zaische"
-}
diff --git a/skins/Vector/i18n/pi.json b/skins/Vector/i18n/pi.json
deleted file mode 100644 (file)
index cc57f67..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Hemant wikikosh1"
-               ]
-       },
-       "vector-view-create": "रचेतु"
-}
diff --git a/skins/Vector/i18n/pih.json b/skins/Vector/i18n/pih.json
deleted file mode 100644 (file)
index 81fb2fc..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "AmaryllisGardener"
-               ]
-       },
-       "vector-view-history": "View histrei"
-}
diff --git a/skins/Vector/i18n/pl.json b/skins/Vector/i18n/pl.json
deleted file mode 100644 (file)
index 5cf2082..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Matma Rex",
-                       "Sp5uhe"
-               ]
-       },
-       "skinname-vector": "Wektor",
-       "vector-skin-desc": "Odświeżona wersja skórki Książka, z nowym wyglądem i usprawnieniami",
-       "vector.css": "/* Umieszczony tutaj kod CSS wpłynie na wygląd skórki Wektor */",
-       "vector.js": "/* Umieszczony tutaj kod JavaScript zostanie załadowany wyłącznie przez użytkowników korzystających ze skórki Wektor */",
-       "vector-action-addsection": "Dodaj temat",
-       "vector-action-delete": "Usuń",
-       "vector-action-move": "Przenieś",
-       "vector-action-protect": "Zabezpiecz",
-       "vector-action-undelete": "Odtwórz",
-       "vector-action-unprotect": "Zmień zabezpieczenie",
-       "vector-view-create": "Utwórz",
-       "vector-view-edit": "Edytuj",
-       "vector-view-history": "Wyświetl historię",
-       "vector-view-view": "Czytaj",
-       "vector-view-viewsource": "Tekst źródłowy",
-       "vector-more-actions": "Więcej"
-}
diff --git a/skins/Vector/i18n/pms.json b/skins/Vector/i18n/pms.json
deleted file mode 100644 (file)
index 79627b0..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Borichèt"
-               ]
-       },
-       "vector-action-addsection": "Gionté n'argoment",
-       "vector-action-delete": "Scancelé",
-       "vector-action-move": "Tramudé",
-       "vector-action-protect": "Protege",
-       "vector-action-undelete": "Arcuperé",
-       "vector-action-unprotect": "Cangé la protession",
-       "vector-view-create": "Creé",
-       "vector-view-edit": "Modifiché",
-       "vector-view-history": "Smon-e la stòria",
-       "vector-view-view": "Lese",
-       "vector-view-viewsource": "Vëdde la sorgiss"
-}
diff --git a/skins/Vector/i18n/pnb.json b/skins/Vector/i18n/pnb.json
deleted file mode 100644 (file)
index 601f513..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Arslan",
-                       "Khalid Mahmood"
-               ]
-       },
-       "vector-action-addsection": "مضمون پاؤ",
-       "vector-action-delete": "مکاؤ",
-       "vector-action-move": "ٹرو",
-       "vector-action-protect": "بچاؤ",
-       "vector-action-undelete": "واپس لیاؤ",
-       "vector-action-unprotect": "تبدیلی بچاؤ",
-       "vector-view-create": "بناؤ",
-       "vector-view-edit": "لکھو",
-       "vector-view-history": "تریخ وکھاؤ",
-       "vector-view-view": "پڑھو",
-       "vector-view-viewsource": "ویکھو"
-}
diff --git a/skins/Vector/i18n/pnt.json b/skins/Vector/i18n/pnt.json
deleted file mode 100644 (file)
index 1e5ecad..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Omnipaedista",
-                       "Sinopeus",
-                       "ZaDiak"
-               ]
-       },
-       "vector-action-delete": "Σβήσον",
-       "vector-action-move": "Ετεροχλάεμαν",
-       "vector-action-protect": "Ασπάλιγμαν",
-       "vector-action-undelete": "Κλώσιμον",
-       "vector-action-unprotect": "Άνοιγμαν",
-       "vector-view-create": "Ποίσον",
-       "vector-view-edit": "Άλλαξον",
-       "vector-view-history": "Τερέστεν ιστορίαν",
-       "vector-view-view": "Δεάβασον",
-       "vector-view-viewsource": "Τερέστεν κωδικόν"
-}
diff --git a/skins/Vector/i18n/ppl.json b/skins/Vector/i18n/ppl.json
deleted file mode 100644 (file)
index 1c80fd8..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "A R King"
-               ]
-       },
-       "vector-action-addsection": "Yankwik temaj",
-       "vector-action-delete": "Shikishti",
-       "vector-action-move": "Shikijkwani",
-       "vector-action-undelete": "Shalkwepa",
-       "vector-view-create": "Shikchiwa",
-       "vector-view-edit": "Shikpata",
-       "vector-view-history": "Ken mupatak",
-       "vector-view-view": "Shiamatachia",
-       "vector-view-viewsource": "Shikita ne codigoj"
-}
diff --git a/skins/Vector/i18n/prg.json b/skins/Vector/i18n/prg.json
deleted file mode 100644 (file)
index dfd71db..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Nertiks",
-                       "Peteris"
-               ]
-       },
-       "vector-action-delete": "Āupausinais",
-       "vector-action-move": "Prapīdais",
-       "vector-action-protect": "Kūnsteis",
-       "vector-action-unprotect": "Etkūnteis",
-       "vector-view-create": "Teīkeis",
-       "vector-view-edit": "Redigīs",
-       "vector-view-history": "Enwaidinnais istōrijan",
-       "vector-view-view": "Skaitāis",
-       "vector-view-viewsource": "Enwaidinnais appun"
-}
diff --git a/skins/Vector/i18n/ps.json b/skins/Vector/i18n/ps.json
deleted file mode 100644 (file)
index 2ccb265..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ahmed-Najib-Biabani-Ibrahimkhel"
-               ]
-       },
-       "skinname-vector": "وېکټور",
-       "vector.css": "/* د CSS هره بڼه چې دلته ځای پر ځای کېږي هغه به د وېکټور د پوښ ټولو کارنانو لپاره کار کوي */",
-       "vector.js": "/* د جاوا هر يو سکرېپټ چې دلته ځای پر ځای کېږي هغه به د وېکټور د پوښ ټولو کارنانو لپاره کار کوي */",
-       "vector-action-addsection": "سرليکونه ورگډول",
-       "vector-action-delete": "ړنگول",
-       "vector-action-move": "لېږدول",
-       "vector-action-protect": "ژغورل",
-       "vector-action-undelete": "ناړنگول",
-       "vector-action-unprotect": "ژغورنه بدلول",
-       "vector-view-create": "جوړول",
-       "vector-view-edit": "سمول",
-       "vector-view-history": "پېښليک کتل",
-       "vector-view-view": "لوستل",
-       "vector-view-viewsource": "سرچينه کتل"
-}
diff --git a/skins/Vector/i18n/pt-br.json b/skins/Vector/i18n/pt-br.json
deleted file mode 100644 (file)
index db47675..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Cainamarques",
-                       "Diego Queiroz",
-                       "Giro720",
-                       "Helder.wiki",
-                       555
-               ]
-       },
-       "vector.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do skin Vector */",
-       "vector-action-addsection": "Adicionar tópico",
-       "vector-action-delete": "Eliminar",
-       "vector-action-move": "Mover",
-       "vector-action-protect": "Proteger",
-       "vector-action-undelete": "Restaurar",
-       "vector-action-unprotect": "Alterar a proteção",
-       "vector-view-create": "Criar",
-       "vector-view-edit": "Editar",
-       "vector-view-history": "Ver histórico",
-       "vector-view-view": "Ler",
-       "vector-view-viewsource": "Ver código-fonte",
-       "vector-more-actions": "Mais"
-}
diff --git a/skins/Vector/i18n/pt.json b/skins/Vector/i18n/pt.json
deleted file mode 100644 (file)
index 9882289..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Crazymadlover",
-                       "Giro720",
-                       "Hamilton Abreu",
-                       "Malafaya",
-                       "Vitorvicentevalente",
-                       "Waldir"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector-skin-desc": "Versão moderna do MonoBook com um visual fresco e várias melhorias de usabilidade",
-       "vector.css": "/* Código CSS colocado aqui afectará os utilizadores do tema Vector */",
-       "vector.js": "/* Código Javascript colocado aqui será carregado para utilizadores do tema Vector */",
-       "vector-action-addsection": "Adicionar&nbsp;tópico",
-       "vector-action-delete": "Eliminar",
-       "vector-action-move": "Mover",
-       "vector-action-protect": "Proteger",
-       "vector-action-undelete": "Restaurar",
-       "vector-action-unprotect": "Alterar protecção",
-       "vector-view-create": "Criar",
-       "vector-view-edit": "Editar",
-       "vector-view-history": "Ver histórico",
-       "vector-view-view": "Ler",
-       "vector-view-viewsource": "Ver fonte",
-       "vector-more-actions": "Mais"
-}
diff --git a/skins/Vector/i18n/qqq.json b/skins/Vector/i18n/qqq.json
deleted file mode 100644 (file)
index fea395b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Darth Kule",
-                       "EugeneZelenko",
-                       "Lloffiwr",
-                       "Shirayuki",
-                       "Umherirrender",
-                       "Matma Rex"
-               ]
-       },
-       "skinname-vector": "{{optional}}",
-       "vector-skin-desc": "{{desc|what=skin|name=Vector|url=https://www.mediawiki.org/wiki/Skin:Vector}}",
-       "vector.css": "{{optional}}",
-       "vector.js": "{{optional}}",
-       "vector-action-addsection": "Used in the Vector skin. See for example {{canonicalurl:Talk:Main_Page|useskin=vector}}",
-       "vector-action-delete": "Used in the Vector skin, as the name of a tab at the top of the page. See for example {{canonicalurl:Main_Page|useskin=vector}}\n\n{{Identical|Delete}}",
-       "vector-action-move": "Used in the Vector skin, on the tabs at the top of the page. See for example {{canonicalurl:Talk:Main_Page|useskin=vector}}\n\n{{Identical|Move}}",
-       "vector-action-protect": "Tab at top of page, in vector skin\n\n{{Identical|Protect}}",
-       "vector-action-undelete": "Tab at top of page, in vector skin.\n{{Identical|Undelete}}",
-       "vector-action-unprotect": "Tab at top of page, in vector skin.\n{{Identical|Change protection}}",
-       "vector-view-create": "Tab label in the Vector skin. See for example {{canonicalurl:Foo|useskin=vector}}\n{{Identical|Create}}",
-       "vector-view-edit": "Tab label in the Vector skin. See for example {{canonicalurl:Main_Page|useskin=vector}}\n{{Identical|Edit}}",
-       "vector-view-history": "Tab label in the Vector skin. See for example {{canonicalurl:Main_Page|useskin=vector}}\n{{Identical|View history}}",
-       "vector-view-view": "Tab label in the Vector skin (verb). See for example {{canonicalurl:Main_Page|useskin=vector}}.\n{{Identical|Read}}",
-       "vector-view-viewsource": "Tab label in the Vector skin.\n{{Identical|View source}}",
-       "vector-more-actions": "Label in the Vector skin's menu for the less-important or rarer actions which are not shown as tabs (like moving the page, or for sysops deleting or protecting the page), as well as (for users with a narrow viewing window in their browser) the less-important tab actions which the user's browser is unable to fit in. {{Identical|More}}"
-}
diff --git a/skins/Vector/i18n/qu.json b/skins/Vector/i18n/qu.json
deleted file mode 100644 (file)
index 789fd27..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "AlimanRuna"
-               ]
-       },
-       "vector-action-addsection": "Allwiyta yapay",
-       "vector-action-delete": "Qulluy",
-       "vector-action-move": "Astay",
-       "vector-action-protect": "Amachay",
-       "vector-action-undelete": "Qullusqata paqarichiy",
-       "vector-action-unprotect": "Amachayta wakinchay",
-       "vector-view-create": "Kamariy",
-       "vector-view-edit": "Llamk'apuy",
-       "vector-view-history": "Wiñay kawsayta qhaway",
-       "vector-view-view": "Ñawiriy",
-       "vector-view-viewsource": "Pukyu qillqata qhaway",
-       "vector-more-actions": "Aswan"
-}
diff --git a/skins/Vector/i18n/qug.json b/skins/Vector/i18n/qug.json
deleted file mode 100644 (file)
index 306f4ae..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Sylvain2803"
-               ]
-       },
-       "vector-action-addsection": "Shuk mushuk rimanakuyta kallarina",
-       "vector-action-delete": "Pichana",
-       "vector-action-move": "Apakuna",
-       "vector-action-protect": "Harkana",
-       "vector-action-undelete": "Kutin wacharichina",
-       "vector-action-unprotect": "Harkayta shukchina",
-       "vector-view-create": "Kamarina",
-       "vector-view-edit": "Killkana",
-       "vector-view-history": "Wiñay kawsayta rikuna",
-       "vector-view-view": "Killkakatina",
-       "vector-view-viewsource": "Pukyu killkata rikuna"
-}
diff --git a/skins/Vector/i18n/rap.json b/skins/Vector/i18n/rap.json
deleted file mode 100644 (file)
index b1f644c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Clerc",
-                       "MJohnsson"
-               ]
-       },
-       "vector-action-delete": "horo'i",
-       "vector-view-edit": "Haka titika"
-}
diff --git a/skins/Vector/i18n/rgn.json b/skins/Vector/i18n/rgn.json
deleted file mode 100644 (file)
index 784b8c5..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "vector-action-addsection": "Zonta una cjacarèda",
-       "vector-action-delete": "Scanzèla",
-       "vector-action-move": "Chèmbia nòm",
-       "vector-action-protect": "Metti-j una pruteziò",
-       "vector-action-undelete": "Armett a post",
-       "vector-action-unprotect": "Sbloca"
-}
diff --git a/skins/Vector/i18n/rif.json b/skins/Vector/i18n/rif.json
deleted file mode 100644 (file)
index 44de1de..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "MoubarikBelkasim"
-               ]
-       },
-       "vector-action-move": "Smuṭṭi",
-       "vector-view-create": "Seɣnu",
-       "vector-view-edit": "Ẓṛeg",
-       "vector-view-history": "Ẓeṛ amezruy",
-       "vector-view-view": "Ɣeṛ"
-}
diff --git a/skins/Vector/i18n/rm.json b/skins/Vector/i18n/rm.json
deleted file mode 100644 (file)
index 83ce427..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gion-andri"
-               ]
-       },
-       "vector-action-addsection": "Agiuntar chapitel",
-       "vector-action-delete": "Stizzar",
-       "vector-action-move": "Spustar",
-       "vector-action-protect": "Bloccar",
-       "vector-action-undelete": "Restituir",
-       "vector-action-unprotect": "Midar la protecziun",
-       "vector-view-create": "Crear",
-       "vector-view-edit": "Modifitgar",
-       "vector-view-history": "Cronologia",
-       "vector-view-view": "Leger",
-       "vector-view-viewsource": "Mussar il code"
-}
diff --git a/skins/Vector/i18n/rmf.json b/skins/Vector/i18n/rmf.json
deleted file mode 100644 (file)
index 9865a50..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Szonja"
-               ]
-       },
-       "vector-action-addsection": "Tilja topikos",
-       "vector-action-delete": "Tšuu nikki",
-       "vector-action-undelete": "Tšuu paale",
-       "vector-view-create": "Luona",
-       "vector-view-edit": "Muoka",
-       "vector-view-history": "Sik histores",
-       "vector-view-view": "Draba",
-       "vector-view-viewsource": "Sik navasiinako koodos"
-}
diff --git a/skins/Vector/i18n/ro.json b/skins/Vector/i18n/ro.json
deleted file mode 100644 (file)
index 96725c0..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "AdiJapan",
-                       "Danutz",
-                       "Firilacroco",
-                       "Minisarm",
-                       "Strainu"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector.css": "/* CSS plasate aici vor afecta utilizatorii stilului Vector */",
-       "vector-action-addsection": "Mesaj nou",
-       "vector-action-delete": "Ștergere",
-       "vector-action-move": "Redenumire",
-       "vector-action-protect": "Protejare",
-       "vector-action-undelete": "Recuperare",
-       "vector-action-unprotect": "Modificare protecție",
-       "vector-view-create": "Creare",
-       "vector-view-edit": "Modificare",
-       "vector-view-history": "Istoric",
-       "vector-view-view": "Lectură",
-       "vector-view-viewsource": "Sursă pagină",
-       "vector-more-actions": "Mai mult"
-}
diff --git a/skins/Vector/i18n/roa-tara.json b/skins/Vector/i18n/roa-tara.json
deleted file mode 100644 (file)
index c5721e7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Joetaras"
-               ]
-       },
-       "skinname-vector": "Vettore",
-       "vector.css": "/* 'U CSS ca se iacchie aqquà 'u 'ndrucane le utinde d'a masckere Vettore */",
-       "vector.js": "/* Ogne JavaScript aqquà avène carecate pe le utinde ca ausane 'a masckere Vettore */",
-       "vector-action-addsection": "Aggiunge 'na discussiona",
-       "vector-action-delete": "Scangille",
-       "vector-action-move": "Spuèste",
-       "vector-action-protect": "Protegge",
-       "vector-action-undelete": "Repristine",
-       "vector-action-unprotect": "Cange 'a protezione",
-       "vector-view-create": "Ccreje",
-       "vector-view-edit": "Cange",
-       "vector-view-history": "Vide 'u cunde",
-       "vector-view-view": "Ligge",
-       "vector-view-viewsource": "Vide 'u sorgende"
-}
diff --git a/skins/Vector/i18n/ru.json b/skins/Vector/i18n/ru.json
deleted file mode 100644 (file)
index cd344b9..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ignatus",
-                       "JenVan",
-                       "Kaganer",
-                       "Nemo bis",
-                       "Okras",
-                       "Александр Сигачёв"
-               ]
-       },
-       "skinname-vector": "Векторное",
-       "vector-skin-desc": "Современная версия MonoBook с обновлённым оформлением и многими улучшениями в юзабилити",
-       "vector.css": "/* Размещённый здесь CSS будет применяться к векторной теме оформления  */",
-       "vector.js": "/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Vector */",
-       "vector-action-addsection": "Добавить тему",
-       "vector-action-delete": "Удалить",
-       "vector-action-move": "Переименовать",
-       "vector-action-protect": "Защитить",
-       "vector-action-undelete": "Восстановить",
-       "vector-action-unprotect": "Изменить защиту",
-       "vector-view-create": "Создание",
-       "vector-view-edit": "Править",
-       "vector-view-history": "История",
-       "vector-view-view": "Читать",
-       "vector-view-viewsource": "Просмотр разметки",
-       "vector-more-actions": "Ещё"
-}
diff --git a/skins/Vector/i18n/rue.json b/skins/Vector/i18n/rue.json
deleted file mode 100644 (file)
index 2147f80..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gazeb"
-               ]
-       },
-       "vector-action-addsection": "Придати тему",
-       "vector-action-delete": "Вымазати",
-       "vector-action-move": "Переменовати",
-       "vector-action-protect": "Всокотити",
-       "vector-action-undelete": "Обновити",
-       "vector-action-unprotect": "Змінити замок",
-       "vector-view-create": "Створити",
-       "vector-view-edit": "Едітовати",
-       "vector-view-history": "Видїти історію",
-       "vector-view-view": "Чітати",
-       "vector-view-viewsource": "Видїти код"
-}
diff --git a/skins/Vector/i18n/rup.json b/skins/Vector/i18n/rup.json
deleted file mode 100644 (file)
index 3b0ba68..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "D'AroemenenZullenNiVergaan"
-               ]
-       },
-       "vector-action-addsection": "Dimândari nauâ",
-       "vector-view-history": "Veḑ istoricu"
-}
diff --git a/skins/Vector/i18n/rw.json b/skins/Vector/i18n/rw.json
deleted file mode 100644 (file)
index d151c2d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Vogone"
-               ]
-       },
-       "vector-action-move": "Imura",
-       "vector-view-edit": "Hindura",
-       "vector-view-history": "Reba amateka",
-       "vector-view-view": "Soma"
-}
diff --git a/skins/Vector/i18n/ryu.json b/skins/Vector/i18n/ryu.json
deleted file mode 100644 (file)
index ee1d2c1..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kyoww"
-               ]
-       },
-       "vector-view-edit": "直すん",
-       "vector-view-view": "読むん"
-}
diff --git a/skins/Vector/i18n/sa.json b/skins/Vector/i18n/sa.json
deleted file mode 100644 (file)
index 610ba3e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "NehalDaveND",
-                       "Shubha"
-               ]
-       },
-       "vector-action-addsection": "विषयः योज्यताम्",
-       "vector-action-delete": "अपाक्रियताम्",
-       "vector-action-move": "शीर्षकं परिवर्त्यताम्",
-       "vector-action-protect": "संरक्ष्यताम्",
-       "vector-action-undelete": "नापाकृतं",
-       "vector-action-unprotect": "संरक्षणं परिवर्तयतु",
-       "vector-view-create": "सृज्यताम्",
-       "vector-view-edit": "सम्पाद्यताम्",
-       "vector-view-history": "इतिहासः दृश्यताम्",
-       "vector-view-view": "पठ्यताम्",
-       "vector-view-viewsource": "स्रोतः दृश्यताम्"
-}
diff --git a/skins/Vector/i18n/sah.json b/skins/Vector/i18n/sah.json
deleted file mode 100644 (file)
index 9d44db5..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "HalanTul"
-               ]
-       },
-       "vector-action-addsection": "Тиэмэ эбии",
-       "vector-action-delete": "Сот",
-       "vector-action-move": "Аатын уларыт",
-       "vector-action-protect": "Уларыйбат гын",
-       "vector-action-undelete": "Төннөр",
-       "vector-action-unprotect": "Көмүскэлин уларыт",
-       "vector-view-create": "Ай",
-       "vector-view-edit": "Уларыт",
-       "vector-view-history": "Устуоруйатын көрүү",
-       "vector-view-view": "Ааҕыы",
-       "vector-view-viewsource": "Бэлиэлэрин көрүү"
-}
diff --git a/skins/Vector/i18n/sat.json b/skins/Vector/i18n/sat.json
deleted file mode 100644 (file)
index d079721..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Albinus",
-                       "Samar88",
-                       "Srabony90"
-               ]
-       },
-       "vector-action-addsection": "Asol katha joṛaome",
-       "vector-action-delete": "Giḍi",
-       "vector-action-move": "Ocoḱ́me",
-       "vector-action-protect": "Bańcao",
-       "vector-action-undelete": "Bań getgiḍi",
-       "vector-action-unprotect": "Bodol rukhiyạ",
-       "vector-view-create": "Tearme",
-       "vector-view-edit": "So̠mpado̠n",
-       "vector-view-history": "Jạṛ ńelme",
-       "vector-view-view": "Paṛhaḱme",
-       "vector-view-viewsource": "Ńamoḱaḱ ńelme"
-}
diff --git a/skins/Vector/i18n/saz.json b/skins/Vector/i18n/saz.json
deleted file mode 100644 (file)
index a3a6ded..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "MooRePrabu"
-               ]
-       },
-       "vector-view-view": "ꢗꢾꢮ꣄ꢣꢶ"
-}
diff --git a/skins/Vector/i18n/sc.json b/skins/Vector/i18n/sc.json
deleted file mode 100644 (file)
index 271f4c7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Andria",
-                       "Marzedu",
-                       "Via maxima",
-                       "Uharteko"
-               ]
-       },
-       "vector-action-addsection": "Giunghe cuntierra",
-       "vector-action-delete": "Cantzella",
-       "vector-action-move": "Move",
-       "vector-action-protect": "Ampara",
-       "vector-action-undelete": "Recùpera",
-       "vector-view-create": "Crea",
-       "vector-view-edit": "Càmbia",
-       "vector-view-history": "Càstia istòria",
-       "vector-view-view": "Leghe",
-       "vector-view-viewsource": "Càstia testu codificadu",
-       "vector-more-actions": "Prus"
-}
diff --git a/skins/Vector/i18n/scn.json b/skins/Vector/i18n/scn.json
deleted file mode 100644 (file)
index a9483c4..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gmelfi",
-                       "Melos"
-               ]
-       },
-       "vector-action-addsection": "Agghiunci argumentu",
-       "vector-action-delete": "Elìmina",
-       "vector-action-move": "Sposta",
-       "vector-action-protect": "Pruteggi",
-       "vector-action-undelete": "Riprìstina",
-       "vector-action-unprotect": "Cancia la prutizzioni",
-       "vector-view-create": "Crea",
-       "vector-view-edit": "Cancia",
-       "vector-view-history": "Talìa a storia",
-       "vector-view-view": "Leggi",
-       "vector-view-viewsource": "Talìa la fonti",
-       "vector-more-actions": "Àutri cosi"
-}
diff --git a/skins/Vector/i18n/sco.json b/skins/Vector/i18n/sco.json
deleted file mode 100644 (file)
index acf5387..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Avicennasis",
-                       "John Reid",
-                       "Omnipaedista"
-               ]
-       },
-       "vector-action-addsection": "Eik topic",
-       "vector-action-delete": "Delyte",
-       "vector-action-move": "Muiv",
-       "vector-action-protect": "Fend",
-       "vector-action-undelete": "Ondelyte",
-       "vector-action-unprotect": "Chynge protection",
-       "vector-view-create": "Ceaut",
-       "vector-view-edit": "Eedit",
-       "vector-view-history": "See histerie",
-       "vector-view-view": "Read",
-       "vector-view-viewsource": "See Soorce"
-}
diff --git a/skins/Vector/i18n/sd.json b/skins/Vector/i18n/sd.json
deleted file mode 100644 (file)
index 04a5370..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-       "vector-action-delete": "ڊاھيو",
-       "vector-action-move": "چوريو",
-       "vector-action-protect": "تحفظيو",
-       "vector-action-unprotect": "اڻتحفظيو",
-       "vector-view-create": "سرجيو",
-       "vector-view-edit": "سنواريو",
-       "vector-view-viewsource": "ڪوڊ ڏسو"
-}
diff --git a/skins/Vector/i18n/sdc.json b/skins/Vector/i18n/sdc.json
deleted file mode 100644 (file)
index c843931..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Felis",
-                       "Jun Misugi"
-               ]
-       },
-       "vector-action-addsection": "Aggiungì oggettu",
-       "vector-action-delete": "Canzella",
-       "vector-action-move": "Ippustha",
-       "vector-action-protect": "Pruteggì",
-       "vector-view-create": "Cria",
-       "vector-view-edit": "Mudifigga",
-       "vector-view-history": "Vèdi isthòria",
-       "vector-view-view": "Leggi",
-       "vector-view-viewsource": "Vèdi fonti"
-}
diff --git a/skins/Vector/i18n/sdh.json b/skins/Vector/i18n/sdh.json
deleted file mode 100644 (file)
index 2f4523f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Paraw2"
-               ]
-       },
-       "vector-action-addsection": "بابەت تازە بدە سەری",
-       "vector-action-delete": "بسڕەوە",
-       "vector-action-move": "جیوەجی بکە",
-       "vector-action-protect": "بپیەرێزەێ",
-       "vector-view-create": "درسکردن",
-       "vector-view-edit": "وێراشتەێ بکە",
-       "vector-view-history": "دیرۆکەگەی بۊن",
-       "vector-view-view": "بخوەنە",
-       "vector-view-viewsource": "سەرچاوەگەێ بۊن"
-}
diff --git a/skins/Vector/i18n/se.json b/skins/Vector/i18n/se.json
deleted file mode 100644 (file)
index bb0a900..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gálaniitoluodda",
-                       "Jeblad",
-                       "Trondtr"
-               ]
-       },
-       "vector-action-addsection": "Lasit fáttá",
-       "vector-action-delete": "Sihko",
-       "vector-action-move": "Sirdde",
-       "vector-action-protect": "Suodjal",
-       "vector-action-undelete": "Máhcat",
-       "vector-action-unprotect": "Rievdat suodjaleami",
-       "vector-view-create": "Álggat",
-       "vector-view-edit": "Rievdat",
-       "vector-view-history": "Geahča historjjá",
-       "vector-view-view": "Loga",
-       "vector-view-viewsource": "Geahča gáldokoda"
-}
diff --git a/skins/Vector/i18n/sg.json b/skins/Vector/i18n/sg.json
deleted file mode 100644 (file)
index 2f65834..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mdkidiri"
-               ]
-       },
-       "vector-action-addsection": "Zîa mbênî lilö daä",
-       "vector-action-delete": "Lungûla",
-       "vector-action-move": "Sanzêe ïrï",
-       "vector-action-protect": "Funga",
-       "vector-action-undelete": "Kîri na nî",
-       "vector-action-unprotect": "Sanzêe fungä",
-       "vector-view-create": "Seka",
-       "vector-view-edit": "Sepe",
-       "vector-view-history": "Tanda mbai nî",
-       "vector-view-view": "Dîko",
-       "vector-view-viewsource": "Fa ligbî nî"
-}
diff --git a/skins/Vector/i18n/sgs.json b/skins/Vector/i18n/sgs.json
deleted file mode 100644 (file)
index 7b2591c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Hugo.arg"
-               ]
-       },
-       "vector-action-addsection": "Pridietė tema",
-       "vector-action-delete": "Trintė",
-       "vector-action-move": "Parvadintė",
-       "vector-action-protect": "Ožrakintė",
-       "vector-action-undelete": "Atkortė",
-       "vector-action-unprotect": "Keistė apsauga",
-       "vector-view-create": "Sokortė",
-       "vector-view-edit": "Taisītė",
-       "vector-view-history": "Veizietė istuorėjė",
-       "vector-view-view": "Skaitītė",
-       "vector-view-viewsource": "Veizietė kuoda"
-}
diff --git a/skins/Vector/i18n/sh.json b/skins/Vector/i18n/sh.json
deleted file mode 100644 (file)
index 21e6153..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "OC Ripper"
-               ]
-       },
-       "vector-action-addsection": "Dodaj temu",
-       "vector-action-delete": "Brisanje",
-       "vector-action-move": "Preusmjeri",
-       "vector-action-protect": "Zaštiti",
-       "vector-action-undelete": "Vrati obrisano",
-       "vector-action-unprotect": "Promijeni zaštitu",
-       "vector-view-create": "Napravi",
-       "vector-view-edit": "Uredi",
-       "vector-view-history": "Pregled historije",
-       "vector-view-view": "Čitaj",
-       "vector-view-viewsource": "Vidi izvor (source)"
-}
diff --git a/skins/Vector/i18n/shi.json b/skins/Vector/i18n/shi.json
deleted file mode 100644 (file)
index 10f48d8..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Dalinanir"
-               ]
-       },
-       "vector-action-addsection": "Zayd amli",
-       "vector-action-delete": "Ḥiyd",
-       "vector-action-move": "Smmatti",
-       "vector-action-protect": "Ḥbu",
-       "vector-action-undelete": "Rard may mayḥiydn",
-       "vector-action-unprotect": "Ḥiyd aḥbu",
-       "vector-view-create": "Skert",
-       "vector-view-edit": "Ara",
-       "vector-view-history": "Mel amzruy",
-       "vector-view-view": "ɣr",
-       "vector-view-viewsource": "Ẓr asagm"
-}
diff --git a/skins/Vector/i18n/shn.json b/skins/Vector/i18n/shn.json
deleted file mode 100644 (file)
index c2cea6a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Saiddzone"
-               ]
-       },
-       "vector-action-protect": "ႁေႉၵင်ႈ",
-       "vector-view-create": "သၢင်ႈ",
-       "vector-view-edit": "မူၼ်ႉမႄး",
-       "vector-view-history": "တူၺ်းပိုၼ်း",
-       "vector-view-view": "လူတူၺ်း",
-       "vector-view-viewsource": "တူၺ်း ငဝ်ႈငႃႇ"
-}
diff --git a/skins/Vector/i18n/si.json b/skins/Vector/i18n/si.json
deleted file mode 100644 (file)
index 640874f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Thushara",
-                       "දසනැබළයෝ",
-                       "පසිඳු කාවින්ද",
-                       "සුරනිමල"
-               ]
-       },
-       "vector-action-addsection": "මාතෘකාව එක්කරන්න",
-       "vector-action-delete": "මකන්න",
-       "vector-action-move": "ගෙනයන්න",
-       "vector-action-protect": "ආරක්‍ෂණය",
-       "vector-action-undelete": "මකාදැමීම අවලංගු කරන්න",
-       "vector-action-unprotect": "ආරක්ෂණ තත්වය වෙනස් කරන්න",
-       "vector-view-create": "තනන්න",
-       "vector-view-edit": "සංස්කරණය",
-       "vector-view-history": "ඉතිහාසය නරඹන්න",
-       "vector-view-view": "කියවන්න",
-       "vector-view-viewsource": "මූලාශ්‍රය නරඹන්න",
-       "vector-more-actions": "තවත්"
-}
diff --git a/skins/Vector/i18n/sk.json b/skins/Vector/i18n/sk.json
deleted file mode 100644 (file)
index 06bf290..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Helix84",
-                       "Rudko",
-                       "Sudo77(new)"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector.css": "/* Tu umiestnené CSS bude ovplyvňovať používateľov štýlu Vector */",
-       "vector.js": "/* Tu sa nachádzajúci JavaScript sa načíta používateľom vzhľadu Vector */",
-       "vector-action-addsection": "Pridať tému",
-       "vector-action-delete": "Zmazať",
-       "vector-action-move": "Presunúť",
-       "vector-action-protect": "Zamknúť",
-       "vector-action-undelete": "Obnoviť",
-       "vector-action-unprotect": "Zmeniť stav ochrany",
-       "vector-view-create": "Vytvoriť",
-       "vector-view-edit": "Upraviť",
-       "vector-view-history": "Zobraziť históriu",
-       "vector-view-view": "Čítať",
-       "vector-view-viewsource": "Zobraziť zdroj",
-       "vector-more-actions": "Viac"
-}
diff --git a/skins/Vector/i18n/sl.json b/skins/Vector/i18n/sl.json
deleted file mode 100644 (file)
index cfacc3f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Dbc334",
-                       "Smihael",
-                       "Yerpo"
-               ]
-       },
-       "vector-skin-desc": "Sodobna različica MonoBook s svežim videzom in mnogimi izboljšavami uporabnosti",
-       "vector-action-addsection": "Dodaj temo",
-       "vector-action-delete": "Izbriši",
-       "vector-action-move": "Prestavi",
-       "vector-action-protect": "Zaščiti",
-       "vector-action-undelete": "Vrni",
-       "vector-action-unprotect": "Spremeni zaščito",
-       "vector-view-create": "Ustvari",
-       "vector-view-edit": "Uredi",
-       "vector-view-history": "Zgodovina",
-       "vector-view-view": "Preberi",
-       "vector-view-viewsource": "Izvorno besedilo",
-       "vector-more-actions": "Več"
-}
diff --git a/skins/Vector/i18n/sli.json b/skins/Vector/i18n/sli.json
deleted file mode 100644 (file)
index e394c5e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Przemub",
-                       "Schläsinger",
-                       "Timpul",
-                       "Äberlausitzer"
-               ]
-       },
-       "vector-action-addsection": "Obschnitt hinzufiega",
-       "vector-action-delete": "Läscha",
-       "vector-action-move": "Verschieba",
-       "vector-action-protect": "Schützen",
-       "vector-action-undelete": "Wiederherstella",
-       "vector-action-unprotect": "Freigahn",
-       "vector-view-create": "Erstella",
-       "vector-view-edit": "Bearbeita",
-       "vector-view-history": "Versionsgeschichte",
-       "vector-view-view": "Lessa",
-       "vector-view-viewsource": "Quelltext siehn"
-}
diff --git a/skins/Vector/i18n/sly.json b/skins/Vector/i18n/sly.json
deleted file mode 100644 (file)
index deb6741..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "ZQheert"
-               ]
-       },
-       "vector-action-delete": "Lelei",
-       "vector-action-move": "Palettei",
-       "vector-view-create": "Bua'",
-       "vector-view-edit": "edi'",
-       "vector-view-view": "Bacai",
-       "vector-view-viewsource": "Tilingi assala'na"
-}
diff --git a/skins/Vector/i18n/so.json b/skins/Vector/i18n/so.json
deleted file mode 100644 (file)
index 1362fd8..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Maax"
-               ]
-       },
-       "vector-action-addsection": "Hadal ku dar",
-       "vector-action-delete": "Tirtir",
-       "vector-action-move": "Wareeji",
-       "vector-action-protect": "Difaac",
-       "vector-action-undelete": "Ha tirtirin",
-       "vector-action-unprotect": "Bedel difaacida",
-       "vector-view-create": "Sameey",
-       "vector-view-edit": "Wax ka bedel",
-       "vector-view-history": "Itusi taariikhda",
-       "vector-view-view": "Akhri",
-       "vector-view-viewsource": "Itusi xogta"
-}
diff --git a/skins/Vector/i18n/sq.json b/skins/Vector/i18n/sq.json
deleted file mode 100644 (file)
index fcc3434..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Dasius",
-                       "GretaDoci",
-                       "MicroBoy",
-                       "Mikullovci11",
-                       "Olsi"
-               ]
-       },
-       "vector-action-addsection": "Shto një temë",
-       "vector-action-delete": "Grise",
-       "vector-action-move": "Zhvendose",
-       "vector-action-protect": "Mbroje",
-       "vector-action-undelete": "Anullo fshirjen",
-       "vector-action-unprotect": "Ndrysho mbrojtjen",
-       "vector-view-create": "Krijo",
-       "vector-view-edit": "Redakto",
-       "vector-view-history": "Shiko historikun",
-       "vector-view-view": "Lexo",
-       "vector-view-viewsource": "Shiko tekstin",
-       "vector-more-actions": "Më tepër..."
-}
diff --git a/skins/Vector/i18n/sr-ec.json b/skins/Vector/i18n/sr-ec.json
deleted file mode 100644 (file)
index e33b69c..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Milicevic01",
-                       "Rancher",
-                       "Жељко Тодоровић",
-                       "Михајло Анђелковић"
-               ]
-       },
-       "skinname-vector": "Векторско",
-       "vector.css": "/* CSS постављен овде ће утицати на све кориснике теме „Векторско“ */",
-       "vector.js": "/* Јаваскрипт постављен овде ће се учитати за све оне који користе тему „Векторско“ */",
-       "vector-action-addsection": "Додај тему",
-       "vector-action-delete": "Обриши",
-       "vector-action-move": "Премести",
-       "vector-action-protect": "Заштити",
-       "vector-action-undelete": "Врати",
-       "vector-action-unprotect": "Промени заштиту",
-       "vector-view-create": "Направи",
-       "vector-view-edit": "Уреди",
-       "vector-view-history": "Историја",
-       "vector-view-view": "Читај",
-       "vector-view-viewsource": "Изворни код",
-       "vector-more-actions": "Више"
-}
diff --git a/skins/Vector/i18n/sr-el.json b/skins/Vector/i18n/sr-el.json
deleted file mode 100644 (file)
index 38f17ad..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Michaello",
-                       "Milicevic01",
-                       "Rancher",
-                       "Жељко Тодоровић"
-               ]
-       },
-       "skinname-vector": "Vektorsko",
-       "vector.css": "/* CSS postavljen ovde će uticati na sve korisnike teme „Vektorsko“ */",
-       "vector.js": "/* Javaskript postavljen ovde će se učitati za sve one koji koriste temu „Vektorsko“ */",
-       "vector-action-addsection": "Dodaj temu",
-       "vector-action-delete": "Obriši",
-       "vector-action-move": "Premesti",
-       "vector-action-protect": "Zaštiti",
-       "vector-action-undelete": "Vrati",
-       "vector-action-unprotect": "Promeni zaštitu",
-       "vector-view-create": "Napravi",
-       "vector-view-edit": "Uredi",
-       "vector-view-history": "Istorija",
-       "vector-view-view": "Čitaj",
-       "vector-view-viewsource": "Izvorni kod",
-       "vector-more-actions": "Više"
-}
diff --git a/skins/Vector/i18n/ss.json b/skins/Vector/i18n/ss.json
deleted file mode 100644 (file)
index 44a5edf..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Sibande"
-               ]
-       },
-       "vector-action-addsection": "Ngeta sihloko",
-       "vector-action-move": "Khweshisa",
-       "vector-view-create": "Create",
-       "vector-view-edit": "Hlela",
-       "vector-view-history": "Bona umlandvo",
-       "vector-view-view": "Fundza"
-}
diff --git a/skins/Vector/i18n/stq.json b/skins/Vector/i18n/stq.json
deleted file mode 100644 (file)
index 1e2da5a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Pyt"
-               ]
-       },
-       "vector-action-addsection": "Ousnit bietouföigje",
-       "vector-action-delete": "Läskje",
-       "vector-action-move": "Ferskuuwe",
-       "vector-action-protect": "Skutsje",
-       "vector-action-undelete": "Wierhäärstaale",
-       "vector-action-unprotect": "Siedenskuts annerje",
-       "vector-view-create": "Moakje",
-       "vector-view-edit": "Beoarbaidje",
-       "vector-view-history": "Versionsgeskichte",
-       "vector-view-view": "Leese",
-       "vector-view-viewsource": "Wältext bekiekje"
-}
diff --git a/skins/Vector/i18n/su.json b/skins/Vector/i18n/su.json
deleted file mode 100644 (file)
index d8a780a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kandar"
-               ]
-       },
-       "vector-action-addsection": "Jieun jejer anyar",
-       "vector-action-delete": "Hapus",
-       "vector-action-move": "Pindahkeun",
-       "vector-action-protect": "Konci",
-       "vector-action-undelete": "Bolaykeun ngahapus",
-       "vector-action-unprotect": "Robah protéksi",
-       "vector-view-create": "Jieun",
-       "vector-view-edit": "Édit",
-       "vector-view-history": "Témbongkeun jujutan",
-       "vector-view-view": "Baca",
-       "vector-view-viewsource": "Témbongkeun sumber"
-}
diff --git a/skins/Vector/i18n/sv.json b/skins/Vector/i18n/sv.json
deleted file mode 100644 (file)
index 930bbce..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Martinwiss",
-                       "Najami",
-                       "Skalman",
-                       "WikiPhoenix",
-                       "Lokal Profil"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector-skin-desc": "Modern version av MonoBook med ett nytt utseende och flera användarvänlighetsförbättringar",
-       "vector.css": "/* CSS som skrivs här kommer att påverka alla användare av skalet Vector */",
-       "vector.js": "/* JavaScript här kommer att laddas för dem som använder skalet Vector */",
-       "vector-action-addsection": "Nytt ämne",
-       "vector-action-delete": "Radera",
-       "vector-action-move": "Flytta",
-       "vector-action-protect": "Skrivskydda",
-       "vector-action-undelete": "Återställ",
-       "vector-action-unprotect": "Ändra skydd",
-       "vector-view-create": "Skapa",
-       "vector-view-edit": "Redigera",
-       "vector-view-history": "Visa historik",
-       "vector-view-view": "Visa",
-       "vector-view-viewsource": "Visa källa",
-       "vector-more-actions": "Mer"
-}
diff --git a/skins/Vector/i18n/sw.json b/skins/Vector/i18n/sw.json
deleted file mode 100644 (file)
index cb511ba..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Lloffiwr",
-                       "Muddyb Blast Producer"
-               ]
-       },
-       "vector-action-addsection": "Weka mada",
-       "vector-action-delete": "Futa",
-       "vector-action-move": "Hamisha",
-       "vector-action-protect": "Linda",
-       "vector-action-undelete": "Rudisha",
-       "vector-action-unprotect": "Badilisha ulinzi",
-       "vector-view-create": "Anzisha",
-       "vector-view-edit": "Hariri",
-       "vector-view-history": "Fungua historia",
-       "vector-view-view": "Soma",
-       "vector-view-viewsource": "Tazama msimbo"
-}
diff --git a/skins/Vector/i18n/szl.json b/skins/Vector/i18n/szl.json
deleted file mode 100644 (file)
index 9e8c106..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Britscher",
-                       "Gaj777",
-                       "Przemub"
-               ]
-       },
-       "vector-action-addsection": "Nowo tajla",
-       "vector-action-delete": "Wyćepej",
-       "vector-action-move": "Przećep",
-       "vector-action-protect": "Zawrzij",
-       "vector-action-undelete": "Wćep",
-       "vector-action-unprotect": "Uodymkńij",
-       "vector-view-create": "Stwůrz",
-       "vector-view-edit": "Sprowjej",
-       "vector-view-history": "Uobocz gyszichta",
-       "vector-view-view": "Czytej",
-       "vector-view-viewsource": "Zdrzůdłowy tekst"
-}
diff --git a/skins/Vector/i18n/ta.json b/skins/Vector/i18n/ta.json
deleted file mode 100644 (file)
index 21f8501..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mayooranathan",
-                       "Shanmugamp7",
-                       "Surya Prakash.S.A.",
-                       "TRYPPN"
-               ]
-       },
-       "vector-action-addsection": "தலைப்பைச் சேர்",
-       "vector-action-delete": "நீக்குக",
-       "vector-action-move": "நகர்த்தவும்",
-       "vector-action-protect": "காக்கவும்",
-       "vector-action-undelete": "நீக்கத்தை நிறுத்து",
-       "vector-action-unprotect": "காப்பை மாற்று",
-       "vector-view-create": "உருவாக்கவும்",
-       "vector-view-edit": "தொகு",
-       "vector-view-history": "வரலாற்றைக் காட்டவும்",
-       "vector-view-view": "படிக்கவும்",
-       "vector-view-viewsource": "மூலத்தைக் காட்டவும்"
-}
diff --git a/skins/Vector/i18n/tcy.json b/skins/Vector/i18n/tcy.json
deleted file mode 100644 (file)
index 0001fe5..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "NamwikiTL",
-                       "VASANTH S.N."
-               ]
-       },
-       "vector-action-addsection": "ವಿಷಯ ಸೇರಾಲೆ",
-       "vector-action-delete": "ದೆತ್ತ್ ಪಾಡ್ಲೆ",
-       "vector-action-move": "ಸ್ಥಳಾಂತರ ಮಲ್ಪುಲೆ",
-       "vector-action-protect": "ಸ೦ರಕ್ಷಿಸಾಲೆ",
-       "vector-action-undelete": "ಮಾಜಾವಡೆ",
-       "vector-action-unprotect": "ಬದಲಾವಣೆನ್ ರಕ್ಷಿಸಾಲೆ",
-       "vector-view-create": " ಸುರು ಮಲ್ಪುಲೆ",
-       "vector-view-edit": "ಸಂಪಾದನೆ ಮಲ್ಪುಲೆ",
-       "vector-view-history": "ಇತಿಹಾಸೊನು ತೂಲೆ",
-       "vector-view-view": "ಓದ್ಲೇ",
-       "vector-view-viewsource": "ಮೂಲೊನು ತೂಲೆ"
-}
diff --git a/skins/Vector/i18n/te.json b/skins/Vector/i18n/te.json
deleted file mode 100644 (file)
index f32d90e..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Chaduvari",
-                       "Kiranmayee",
-                       "Praveen Illa",
-                       "Ravichandra",
-                       "Veeven"
-               ]
-       },
-       "skinname-vector": "వెక్టర్",
-       "vector-action-addsection": "విషయాన్ని చేర్చు",
-       "vector-action-delete": "తొలగించు",
-       "vector-action-move": "తరలించు",
-       "vector-action-protect": "సంరక్షించు",
-       "vector-action-undelete": "తొలగింపును రద్దుచెయ్యి",
-       "vector-action-unprotect": "సంరక్షణను మార్చు",
-       "vector-view-create": "సృష్టించు",
-       "vector-view-edit": "సవరించు",
-       "vector-view-history": "చరిత్రను చూడండి",
-       "vector-view-view": "చదువు",
-       "vector-view-viewsource": "మూలాన్ని చూపించు",
-       "vector-more-actions": "మరిన్ని"
-}
diff --git a/skins/Vector/i18n/tet.json b/skins/Vector/i18n/tet.json
deleted file mode 100644 (file)
index 0cc9b82..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "MF-Warburg"
-               ]
-       },
-       "vector-action-protect": "Proteje",
-       "vector-view-create": "Kria",
-       "vector-view-edit": "Edita",
-       "vector-view-history": "Haree istória",
-       "vector-view-view": "Lee"
-}
diff --git a/skins/Vector/i18n/tg-cyrl.json b/skins/Vector/i18n/tg-cyrl.json
deleted file mode 100644 (file)
index ede0347..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ibrahim"
-               ]
-       },
-       "vector-action-addsection": "Иловаи унвон",
-       "vector-action-delete": "Ҳазф",
-       "vector-action-move": "Кӯчонидан",
-       "vector-action-protect": "Муҳофизат",
-       "vector-action-undelete": "Эҳё",
-       "vector-action-unprotect": "Тағйири муҳофизат",
-       "vector-view-create": "Эҷод",
-       "vector-view-edit": "Вироиш",
-       "vector-view-history": "Намоиши таърих",
-       "vector-view-view": "Хондан",
-       "vector-view-viewsource": "Намоиши манбаъ"
-}
diff --git a/skins/Vector/i18n/tg-latn.json b/skins/Vector/i18n/tg-latn.json
deleted file mode 100644 (file)
index 1ecb038..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Liangent"
-               ]
-       },
-       "vector-action-addsection": "Ilovai unvon",
-       "vector-action-delete": "Hazf",
-       "vector-action-move": "Kūconidan",
-       "vector-action-protect": "Muhofizat",
-       "vector-action-undelete": "Ehjo",
-       "vector-action-unprotect": "Ba dar ovardan az muhofizat",
-       "vector-view-create": "Eçod",
-       "vector-view-edit": "Viroiş",
-       "vector-view-history": "Namoişi ta'rix",
-       "vector-view-view": "Xondan",
-       "vector-view-viewsource": "Namoişi manba'"
-}
diff --git a/skins/Vector/i18n/th.json b/skins/Vector/i18n/th.json
deleted file mode 100644 (file)
index ae4b838..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Horus",
-                       "Octahedron80",
-                       "Woraponboonkerd"
-               ]
-       },
-       "skinname-vector": "เวกเตอร์",
-       "vector.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินเวกเตอร์ */",
-       "vector.js": "/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินเวกเตอร์ */",
-       "vector-action-addsection": "เพิ่มหัวข้อ",
-       "vector-action-delete": "ลบ",
-       "vector-action-move": "เปลี่ยนชื่อ",
-       "vector-action-protect": "ล็อก",
-       "vector-action-undelete": "กู้คืน",
-       "vector-action-unprotect": "เปลี่ยนการล็อก",
-       "vector-view-create": "สร้าง",
-       "vector-view-edit": "แก้ไข",
-       "vector-view-history": "ดูประวัติ",
-       "vector-view-view": "อ่าน",
-       "vector-view-viewsource": "ดูโค้ด",
-       "vector-more-actions": "เพิ่มเติม"
-}
diff --git a/skins/Vector/i18n/tk.json b/skins/Vector/i18n/tk.json
deleted file mode 100644 (file)
index f11da23..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Hanberke"
-               ]
-       },
-       "vector-action-addsection": "Tema goş",
-       "vector-action-delete": "Öçür",
-       "vector-action-move": "Adyny üýtget",
-       "vector-action-protect": "Goraga al",
-       "vector-action-undelete": "Öçürmäni yzyna al",
-       "vector-action-unprotect": "Goragy üýtget",
-       "vector-view-create": "Döret",
-       "vector-view-edit": "Üýtget",
-       "vector-view-history": "Taryhy gör",
-       "vector-view-view": "Oka",
-       "vector-view-viewsource": "Çeşmäni gör"
-}
diff --git a/skins/Vector/i18n/tl.json b/skins/Vector/i18n/tl.json
deleted file mode 100644 (file)
index 2a0495d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "AnakngAraw",
-                       "Sky Harbor"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector.css": "/* Ang inilagay na CSS dito ay makakaapekto sa mga tagagamit ng pabalat na Vector */",
-       "vector.js": "/* Ang anumang JavaScript dito ay ikakarga para sa mga tagagamit na gumagamit ng pabalat na Vector */",
-       "vector-action-addsection": "Magdagdag ng paksa",
-       "vector-action-delete": "Burahin",
-       "vector-action-move": "Ilipat",
-       "vector-action-protect": "Ipagsanggalang",
-       "vector-action-undelete": "Alisin ang pagbubura",
-       "vector-action-unprotect": "Baguhin ang pagsasanggalang",
-       "vector-view-create": "Likhain",
-       "vector-view-edit": "Baguhin",
-       "vector-view-history": "Tingnan ang kasaysayan",
-       "vector-view-view": "Basahin",
-       "vector-view-viewsource": "Tingnan ang pinagmulan"
-}
diff --git a/skins/Vector/i18n/tly.json b/skins/Vector/i18n/tly.json
deleted file mode 100644 (file)
index a809d5e..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Гусейн"
-               ]
-       },
-       "vector-action-addsection": "Мывзу зијод кардеј",
-       "vector-action-delete": "Рәдд кардеј",
-       "vector-action-move": "Номи дәгиш кардеј",
-       "vector-action-protect": "Мыдофијә кардеј",
-       "vector-action-undelete": "Бәрпо кардеј",
-       "vector-action-unprotect": "Мыдофијә дәгиш кардеј",
-       "vector-view-create": "Офәјеј",
-       "vector-view-edit": "Сәрост кардеј",
-       "vector-view-history": "Тарых",
-       "vector-view-view": "Һандемон",
-       "vector-view-viewsource": "Дијә кардеј"
-}
diff --git a/skins/Vector/i18n/tpi.json b/skins/Vector/i18n/tpi.json
deleted file mode 100644 (file)
index 182aa9a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Iketsi",
-                       "Wantok"
-               ]
-       },
-       "vector-action-delete": "Rausim",
-       "vector-action-move": "Surikim",
-       "vector-action-protect": "Tambuim",
-       "vector-view-create": "Kirapim",
-       "vector-view-edit": "Senisim",
-       "vector-view-history": "Ol senis",
-       "vector-view-view": "Rit",
-       "vector-view-viewsource": "Lukim as tok"
-}
diff --git a/skins/Vector/i18n/tr.json b/skins/Vector/i18n/tr.json
deleted file mode 100644 (file)
index da041a9..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Arystanbek",
-                       "Emperyan",
-                       "Joseph",
-                       "Stultiwikia",
-                       "Vito Genovese"
-               ]
-       },
-       "vector-action-addsection": "Konu ekle",
-       "vector-action-delete": "Sil",
-       "vector-action-move": "Taşı",
-       "vector-action-protect": "Koru",
-       "vector-action-undelete": "Silinmeyi geri al",
-       "vector-action-unprotect": "Korumayı değiştir",
-       "vector-view-create": "Oluştur",
-       "vector-view-edit": "Düzenle",
-       "vector-view-history": "Geçmişi gör",
-       "vector-view-view": "Oku",
-       "vector-view-viewsource": "Kaynağı gör",
-       "vector-more-actions": "Diğer"
-}
diff --git a/skins/Vector/i18n/tru.json b/skins/Vector/i18n/tru.json
deleted file mode 100644 (file)
index 1949f25..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ariyo"
-               ]
-       },
-       "vector-action-addsection": "Maḥat Fusoqo ḥaṭo",
-       "vector-action-delete": "Slag",
-       "vector-action-move": "Mtaxar",
-       "vector-action-protect": "Mastar",
-       "vector-view-create": "Xlaq",
-       "vector-view-edit": "Mşaḥlaf",
-       "vector-view-history": "Maktabzabno",
-       "vector-view-view": "Qray",
-       "vector-view-viewsource": "Maḥway li aMabu³e."
-}
diff --git a/skins/Vector/i18n/ts.json b/skins/Vector/i18n/ts.json
deleted file mode 100644 (file)
index c00b029..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Thuvack"
-               ]
-       },
-       "vector-action-addsection": "Veka nholoko ya mhaka",
-       "vector-action-delete": "Sula",
-       "vector-action-move": "Yi sa kunwana",
-       "vector-action-protect": "Sirhelela",
-       "vector-action-undelete": "Cinca kusula",
-       "vector-action-unprotect": "Cinca kusirhelela",
-       "vector-view-create": "Tumbuluxa",
-       "vector-view-edit": "Lulamisa",
-       "vector-view-history": "Languta matimu",
-       "vector-view-view": "Hlaya",
-       "vector-view-viewsource": "Languta xihlovo"
-}
diff --git a/skins/Vector/i18n/tt-cyrl.json b/skins/Vector/i18n/tt-cyrl.json
deleted file mode 100644 (file)
index 606fbe3..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Don Alessandro",
-                       "Rinatus",
-                       "Ильнар",
-                       "Рашат Якупов"
-               ]
-       },
-       "skinname-vector": "Сызымлы",
-       "vector-action-addsection": "Яңа тема өстәү",
-       "vector-action-delete": "Бетерү",
-       "vector-action-move": "Күчерү",
-       "vector-action-protect": "Яклау",
-       "vector-action-undelete": "Кайтару",
-       "vector-action-unprotect": "Яклауны үзгәртү",
-       "vector-view-create": "Төзү",
-       "vector-view-edit": "Үзгәртү",
-       "vector-view-history": "Тарихын карау",
-       "vector-view-view": "Уку",
-       "vector-view-viewsource": "Чыганагын карау"
-}
diff --git a/skins/Vector/i18n/tt-latn.json b/skins/Vector/i18n/tt-latn.json
deleted file mode 100644 (file)
index 140768b..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Don Alessandro"
-               ]
-       },
-       "skinname-vector": "Sızımlı",
-       "vector-action-addsection": "Yaña tema östäw",
-       "vector-action-delete": "Beterü",
-       "vector-action-move": "Küçerü",
-       "vector-action-protect": "Yaqlaw",
-       "vector-action-undelete": "Qaytaru",
-       "vector-action-unprotect": "Yaqlawnı beterü",
-       "vector-view-create": "Tözü",
-       "vector-view-edit": "Üzgärtü",
-       "vector-view-history": "Tarixın qaraw",
-       "vector-view-view": "Uqu",
-       "vector-view-viewsource": "Çığanağın qaraw"
-}
diff --git a/skins/Vector/i18n/tyv.json b/skins/Vector/i18n/tyv.json
deleted file mode 100644 (file)
index fbfb8e9..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Agilight",
-                       "Sborsody"
-               ]
-       },
-       "skinname-vector": "Вектор",
-       "vector-action-addsection": "Кол сөстү немелээри",
-       "vector-action-delete": "Ырадыры",
-       "vector-action-move": "Шимчээри",
-       "vector-action-protect": "Камгалаары",
-       "vector-action-undelete": "Эгидер",
-       "vector-action-unprotect": "Камгалалды өскертири",
-       "vector-view-create": "Чаяары",
-       "vector-view-edit": "Эдер",
-       "vector-view-history": "Төөгүнү көөрү",
-       "vector-view-view": "Номчуур",
-       "vector-view-viewsource": "Дөзү бижиин көөрү"
-}
diff --git a/skins/Vector/i18n/tzm.json b/skins/Vector/i18n/tzm.json
deleted file mode 100644 (file)
index ed7ef13..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Moha",
-                       "Tifinaghes"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector-action-addsection": "ⵔⵏⵓ ⴰⵙⵏⵜⵍ",
-       "vector-action-delete": "ⵓⴽⵓⵙ",
-       "vector-action-move": "ⵙⵎⵓⵜⵜⵉ",
-       "vector-action-undelete": "ⵙⵙⵓⵖⴰⵍ ⵓⴽⵓⵙ",
-       "vector-action-unprotect": "ⴱⴷⴷⴻⵍ ⵜⴰⵙⵜⴰⵏⵜ",
-       "vector-view-create": "ⴰⵔⴰ",
-       "vector-view-edit": "ⴱⴷⴷⴻⵍ",
-       "vector-view-history": "ⵥⵕ ⴰⵎⵣⵔⵓⵢ",
-       "vector-view-view": "ⵖⵔ",
-       "vector-view-viewsource": "ⵥⵕ ⴰⵖⴱⴰⵍⵓ"
-}
diff --git a/skins/Vector/i18n/udm.json b/skins/Vector/i18n/udm.json
deleted file mode 100644 (file)
index a126329..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Andrewboltachev"
-               ]
-       },
-       "vector-action-addsection": "Выль темаез ватсано",
-       "vector-action-delete": "Быдтоно",
-       "vector-action-move": "Мукет интые выжтыны",
-       "vector-action-protect": "Утьыны",
-       "vector-view-create": "Кылдытоно",
-       "vector-view-edit": "Тупатоно",
-       "vector-view-history": "История",
-       "vector-view-view": "Лыдӟоно",
-       "vector-view-viewsource": "Кодзэ учкыны"
-}
diff --git a/skins/Vector/i18n/ug-arab.json b/skins/Vector/i18n/ug-arab.json
deleted file mode 100644 (file)
index 00bf7df..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Arlin",
-                       "Sahran",
-                       "Tel'et"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector.css": "/* CSS placed here will affect users of the Vector skin */",
-       "vector.js": "/* Any JavaScript here will be loaded for users using the Vector skin */",
-       "vector-action-addsection": "يېڭى تېما قوش",
-       "vector-action-delete": "ئۆچۈر",
-       "vector-action-move": "يۆتكە",
-       "vector-action-protect": "قوغدا",
-       "vector-action-undelete": "ئەسلىگە قايتۇر",
-       "vector-action-unprotect": "قوغداش ئۆزگەرت",
-       "vector-view-create": "قۇر",
-       "vector-view-edit": "تەھرىر",
-       "vector-view-history": "تارىخ كۆرسەت",
-       "vector-view-view": "ئوقۇ",
-       "vector-view-viewsource": "مەنبەنى كۆرسەت"
-}
diff --git a/skins/Vector/i18n/uk.json b/skins/Vector/i18n/uk.json
deleted file mode 100644 (file)
index 7bd2fd1..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "AS",
-                       "Ahonc",
-                       "Base",
-                       "Calak",
-                       "Dim Grits",
-                       "NickK",
-                       "Prima klasy4na",
-                       "Тест",
-                       "Ата"
-               ]
-       },
-       "skinname-vector": "Векторне",
-       "vector-skin-desc": "Сучасна версія MonoBook зі свіжим виглядом і багатьма зручними покращеннями",
-       "vector.css": "/* Розміщений тут CSS-код буде використаний в темі оформлення Векторне */",
-       "vector.js": "/* Розміщений тут код JavaScript буде завантажений для всіх користувачів, що використовують векторну тему оформлення */",
-       "vector-action-addsection": "Додати тему",
-       "vector-action-delete": "Вилучити",
-       "vector-action-move": "Перейменувати",
-       "vector-action-protect": "Захистити",
-       "vector-action-undelete": "Відновити",
-       "vector-action-unprotect": "Зміна захисту",
-       "vector-view-create": "Створити",
-       "vector-view-edit": "Редагувати",
-       "vector-view-history": "Переглянути історію",
-       "vector-view-view": "Читати",
-       "vector-view-viewsource": "Переглянути код",
-       "vector-more-actions": "Ще"
-}
diff --git a/skins/Vector/i18n/ur.json b/skins/Vector/i18n/ur.json
deleted file mode 100644 (file)
index 595477e..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Calak",
-                       "Istabani",
-                       "Noor2020",
-                       "Tahir mq",
-                       "محبوب عالم"
-               ]
-       },
-       "vector-action-addsection": "نیا موضوع",
-       "vector-action-delete": "حذف کرو",
-       "vector-action-move": "منتقل کرو",
-       "vector-action-protect": "محفوظ کرو",
-       "vector-action-undelete": "بحال",
-       "vector-action-unprotect": "تحفظ میں تبدیلی",
-       "vector-view-create": "تخلیق",
-       "vector-view-edit": "ترمیم",
-       "vector-view-history": "تاریخ",
-       "vector-view-view": "مطالعہ",
-       "vector-view-viewsource": "مسودہ",
-       "vector-more-actions": "زیادہ"
-}
diff --git a/skins/Vector/i18n/uz.json b/skins/Vector/i18n/uz.json
deleted file mode 100644 (file)
index ee75d39..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Abdulla",
-                       "Arystanbek",
-                       "Casual",
-                       "CoderSI",
-                       "Sociologist"
-               ]
-       },
-       "skinname-vector": "Vektor",
-       "vector-action-addsection": "Mavzu qoʻshish",
-       "vector-action-delete": "O‘chirish",
-       "vector-action-move": "Ko‘chirish",
-       "vector-action-protect": "Himoyalash",
-       "vector-action-undelete": "Tiklash",
-       "vector-action-unprotect": "Himoyalashni oʻzgartirish",
-       "vector-view-create": "Yaratish",
-       "vector-view-edit": "Tahrirlash",
-       "vector-view-history": "Tarix",
-       "vector-view-view": "Mutolaa",
-       "vector-view-viewsource": "Manbasini koʻrish",
-       "vector-more-actions": "Yana"
-}
diff --git a/skins/Vector/i18n/vec.json b/skins/Vector/i18n/vec.json
deleted file mode 100644 (file)
index 9622828..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Alunardon90",
-                       "Candalua",
-                       "Frigotoni",
-                       "GatoSelvadego",
-                       "Vajotwo"
-               ]
-       },
-       "vector-action-addsection": "Zonta discusion",
-       "vector-action-delete": "Scanseła",
-       "vector-action-move": "Sposta",
-       "vector-action-protect": "Protezi",
-       "vector-action-undelete": "Recupera",
-       "vector-action-unprotect": "Canbia ła protesion",
-       "vector-view-create": "Crea",
-       "vector-view-edit": "Canbia",
-       "vector-view-history": "Varda ła storia",
-       "vector-view-view": "Lezi",
-       "vector-view-viewsource": "Varda el testo"
-}
diff --git a/skins/Vector/i18n/vep.json b/skins/Vector/i18n/vep.json
deleted file mode 100644 (file)
index 00f876c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Игорь Бродский"
-               ]
-       },
-       "vector-action-addsection": "Ližada tem",
-       "vector-action-delete": "Čuta poiš",
-       "vector-action-move": "Udesnimitada",
-       "vector-action-protect": "Kaita",
-       "vector-action-undelete": "Pördutada",
-       "vector-action-unprotect": "Toižetada kaičend",
-       "vector-view-create": "Säta",
-       "vector-view-edit": "Redaktiruida",
-       "vector-view-history": "Kacta istorii",
-       "vector-view-view": "Lugeda",
-       "vector-view-viewsource": "Kacta purtkehe"
-}
diff --git a/skins/Vector/i18n/vi.json b/skins/Vector/i18n/vi.json
deleted file mode 100644 (file)
index a59d9b4..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Minh Nguyen",
-                       "Vinhtantran",
-                       "Withoutaname"
-               ]
-       },
-       "skinname-vector": "Vectơ",
-       "vector-skin-desc": "Giao diện làm lại từ MonoBook có màu tươi và khả dụng hơn",
-       "vector.css": "/* Mã CSS đặt ở đây sẽ ảnh hưởng đến thành viên sử dụng giao diện Vectơ */",
-       "vector.js": "/* Mã JavaScript tại đây sẽ được tải khi người dùng sử dụng giao diện Vectơ */",
-       "vector-action-addsection": "Thêm chủ đề",
-       "vector-action-delete": "Xóa",
-       "vector-action-move": "Di chuyển",
-       "vector-action-protect": "Khóa",
-       "vector-action-undelete": "Phục hồi",
-       "vector-action-unprotect": "Đổi mức khóa",
-       "vector-view-create": "Tạo",
-       "vector-view-edit": "Sửa đổi",
-       "vector-view-history": "Xem lịch sử",
-       "vector-view-view": "Đọc",
-       "vector-view-viewsource": "Xem mã nguồn",
-       "vector-more-actions": "Khác"
-}
diff --git a/skins/Vector/i18n/vls.json b/skins/Vector/i18n/vls.json
deleted file mode 100644 (file)
index c2b841c..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "DasRakel"
-               ]
-       },
-       "vector-action-delete": "Wegdoen",
-       "vector-action-move": "Ernoemn",
-       "vector-view-create": "Anmoakn",
-       "vector-view-edit": "Bewerkn",
-       "vector-view-history": "Geschiedenisse bekykn",
-       "vector-view-view": "Leezn",
-       "vector-view-viewsource": "Brontekst bekykn"
-}
diff --git a/skins/Vector/i18n/vmf.json b/skins/Vector/i18n/vmf.json
deleted file mode 100644 (file)
index 439e93a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Silvicola"
-               ]
-       },
-       "vector.css": "/* CSS hiir beâjflusd nôr dii Vector-schelfn. Wen'd ale uf ôômôôl beâjflusn wilsch, muâsch an MediaWiki:Common.css was ändârn. */",
-       "vector-action-addsection": "Ân najn abschnid ôôfangn",
-       "vector-action-delete": "Leschn",
-       "vector-action-move": "Umdaafn",
-       "vector-action-protect": "Schidsn",
-       "vector-action-undelete": "Leschn riggängich machn",
-       "vector-action-unprotect": "Schuds ufgeebn",
-       "vector-view-create": "Ôôleechn",
-       "vector-view-edit": "Bearbajdn",
-       "vector-view-history": "Wärsjoonsfolche",
-       "vector-view-view": "Leesn",
-       "vector-view-viewsource": "Gwäl-dhägsd ôôgugn"
-}
diff --git a/skins/Vector/i18n/vo.json b/skins/Vector/i18n/vo.json
deleted file mode 100644 (file)
index 1bd3042..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Malafaya"
-               ]
-       },
-       "vector-action-addsection": "Lüükön yegädi",
-       "vector-action-delete": "Moükön",
-       "vector-action-move": "Topätükön",
-       "vector-action-protect": "Jelön",
-       "vector-action-undelete": "Sämoükön",
-       "vector-action-unprotect": "Votükön jeli",
-       "vector-view-create": "Jafön",
-       "vector-view-edit": "Redakön",
-       "vector-view-history": "Logön jenotemi",
-       "vector-view-view": "Reidön",
-       "vector-view-viewsource": "Logön fonäti"
-}
diff --git a/skins/Vector/i18n/vot.json b/skins/Vector/i18n/vot.json
deleted file mode 100644 (file)
index 7bdc92d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Paivud"
-               ]
-       },
-       "vector-action-addsection": "Vassõn teema",
-       "vector-action-delete": "Pühi",
-       "vector-action-move": "Liikut",
-       "vector-action-protect": "Varjaa",
-       "vector-view-create": "Loo cülci",
-       "vector-view-edit": "Muuttaa",
-       "vector-view-history": "Istori",
-       "vector-view-view": "Lukõa",
-       "vector-view-viewsource": "Lähtekoodi"
-}
diff --git a/skins/Vector/i18n/vro.json b/skins/Vector/i18n/vro.json
deleted file mode 100644 (file)
index a6c3c06..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Võrok"
-               ]
-       },
-       "vector-action-addsection": "Vahtsõ teema ülespandminõ",
-       "vector-action-delete": "Kistudaq ärq",
-       "vector-action-move": "Nõstaq ümbre",
-       "vector-action-protect": "Kaidsaq",
-       "vector-action-undelete": "Tiiq tagasi",
-       "vector-action-unprotect": "Muudaq kaidsõt",
-       "vector-view-create": "Luuq",
-       "vector-view-edit": "Toimõndaq",
-       "vector-view-history": "Näütäq aoluku",
-       "vector-view-view": "Loeq",
-       "vector-view-viewsource": "Kaeq lätteteksti"
-}
diff --git a/skins/Vector/i18n/wa.json b/skins/Vector/i18n/wa.json
deleted file mode 100644 (file)
index 0401884..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Srtxg"
-               ]
-       },
-       "vector-action-addsection": "Radjouter on sudjet",
-       "vector-action-delete": "Disfacer",
-       "vector-action-move": "Displaecî",
-       "vector-action-protect": "Protedjî",
-       "vector-action-undelete": "Rapexhî",
-       "vector-action-unprotect": "Candjî l' protedjaedje",
-       "vector-view-create": "Ahiver",
-       "vector-view-edit": "Candjî",
-       "vector-view-history": "Vey l' istwere",
-       "vector-view-view": "Lére",
-       "vector-view-viewsource": "Vey côde sourdant"
-}
diff --git a/skins/Vector/i18n/war.json b/skins/Vector/i18n/war.json
deleted file mode 100644 (file)
index 8b2f958..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Harvzsf",
-                       "JinJian"
-               ]
-       },
-       "vector-action-addsection": "Igdugang hin himangrawon",
-       "vector-action-delete": "Para-a",
-       "vector-action-move": "Balhina",
-       "vector-action-protect": "Panalipda",
-       "vector-action-undelete": "Igbalik an ginpara",
-       "vector-action-unprotect": "Liwani an panalipod",
-       "vector-view-create": "Himo-a",
-       "vector-view-edit": "Igliwat",
-       "vector-view-history": "Kitaa an kaagi",
-       "vector-view-view": "Basaha",
-       "vector-view-viewsource": "Kitaa an ginkuhaan",
-       "vector-more-actions": "Damo pa"
-}
diff --git a/skins/Vector/i18n/wo.json b/skins/Vector/i18n/wo.json
deleted file mode 100644 (file)
index 5d248d1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ibou"
-               ]
-       },
-       "vector-action-addsection": "Yokkuw tëriit",
-       "vector-action-delete": "Far",
-       "vector-action-move": "Tuddewaat",
-       "vector-action-protect": "Aar",
-       "vector-action-undelete": "Delloowaat",
-       "vector-action-unprotect": "Aaradi",
-       "vector-view-create": "Sos",
-       "vector-view-edit": "Soppi",
-       "vector-view-history": "Wone jaar-jaaram",
-       "vector-view-view": "Jàng",
-       "vector-view-viewsource": "Wone gongikuwaayam"
-}
diff --git a/skins/Vector/i18n/wuu.json b/skins/Vector/i18n/wuu.json
deleted file mode 100644 (file)
index dade0ff..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Benojan"
-               ]
-       },
-       "vector-action-addsection": "加話題",
-       "vector-action-delete": "刪",
-       "vector-action-move": "移",
-       "vector-action-protect": "保",
-       "vector-action-undelete": "弗刪",
-       "vector-action-unprotect": "换保护状态",
-       "vector-view-create": "建",
-       "vector-view-edit": "编",
-       "vector-view-history": "望页史",
-       "vector-view-view": "读",
-       "vector-view-viewsource": "望源码"
-}
diff --git a/skins/Vector/i18n/xal.json b/skins/Vector/i18n/xal.json
deleted file mode 100644 (file)
index b57aad7..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Huuchin"
-               ]
-       },
-       "vector-action-addsection": "Төриг немх",
-       "vector-action-delete": "Һарһх",
-       "vector-action-move": "Көндәх",
-       "vector-action-protect": "Харсх",
-       "vector-action-undelete": "Һарһх биш",
-       "vector-action-unprotect": "Харсх биш",
-       "vector-view-create": "Бүтәх",
-       "vector-view-edit": "Чиклх",
-       "vector-view-history": "Тууҗин хәләвр",
-       "vector-view-view": "Умшлһн",
-       "vector-view-viewsource": "Темдгллһнә хәләвр"
-}
diff --git a/skins/Vector/i18n/xh.json b/skins/Vector/i18n/xh.json
deleted file mode 100644 (file)
index 8cea054..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "vector-view-edit": "Tshintsha"
-}
diff --git a/skins/Vector/i18n/xmf.json b/skins/Vector/i18n/xmf.json
deleted file mode 100644 (file)
index 47cee05..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Kilavagora",
-                       "Lika2672",
-                       "Machirkholi"
-               ]
-       },
-       "vector-action-addsection": "თემაშ მიშაძინა",
-       "vector-action-delete": "ლასუა",
-       "vector-action-move": "გინოღალა",
-       "vector-action-protect": "თხილუა",
-       "vector-view-create": "დორსხუაფა",
-       "vector-view-edit": "რედაქტირაფა",
-       "vector-view-history": "ისტორიაშ ძირაფა",
-       "vector-view-view": "კითხირი",
-       "vector-view-viewsource": "ქიძირე წყუ"
-}
diff --git a/skins/Vector/i18n/yi.json b/skins/Vector/i18n/yi.json
deleted file mode 100644 (file)
index 16907ad..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Joystick",
-                       "פוילישער"
-               ]
-       },
-       "skinname-vector": "וועקטאר",
-       "vector-skin-desc": "מאדערנע ווערסיע פון מאנאבוק מיט פרישן אויסזען און א סך באניצער־פריינדלעכקייט פארבעסערונגען",
-       "vector.css": "/* CSS געשטעלט דא ווירקט נאר אויפן וועקטאר סקין */",
-       "vector-action-addsection": "צושטעלן טעמע",
-       "vector-action-delete": "אויסמעקן",
-       "vector-action-move": "באַוועגן",
-       "vector-action-protect": "שיצן",
-       "vector-action-undelete": "מבטל זיין אויסמעקן",
-       "vector-action-unprotect": "ענדערונג באַשיצונג",
-       "vector-view-create": "שאַפֿן",
-       "vector-view-edit": "רעדאַקטירן",
-       "vector-view-history": "ווײַזן היסטאָריע",
-       "vector-view-view": "לייענען",
-       "vector-view-viewsource": "ווײַזן מקור",
-       "vector-more-actions": "נאך"
-}
diff --git a/skins/Vector/i18n/yo.json b/skins/Vector/i18n/yo.json
deleted file mode 100644 (file)
index e26e68b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Demmy"
-               ]
-       },
-       "vector-action-addsection": "Àfikún orí-ọ̀rọ̀",
-       "vector-action-delete": "Ìparẹ́",
-       "vector-action-move": "Ìyípòdà",
-       "vector-action-protect": "Àbò",
-       "vector-action-undelete": "Ìmúkúrò ìparẹ́",
-       "vector-action-unprotect": "Ìyípadà àbò",
-       "vector-view-create": "Ṣ'èdá",
-       "vector-view-edit": "Àtúnṣe",
-       "vector-view-history": "Wo ìtàn",
-       "vector-view-view": "Àwòkà",
-       "vector-view-viewsource": "Wo àmìọ̀rọ̀"
-}
diff --git a/skins/Vector/i18n/yue.json b/skins/Vector/i18n/yue.json
deleted file mode 100644 (file)
index 3aa2309..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ktchankt",
-                       "Waihorace"
-               ]
-       },
-       "skinname-vector": "Vector",
-       "vector.css": "/* 響呢度放 CSS 碼去改用戶用嘅域達畫面 */",
-       "vector.js": "/* 響每一次個頁面載入時,用域達畫面嘅用戶都會載入呢度任何嘅JavaScript */",
-       "vector-action-addsection": "加主題",
-       "vector-action-delete": "剷走",
-       "vector-action-move": "搬",
-       "vector-action-protect": "保護",
-       "vector-action-undelete": "取消剷走",
-       "vector-action-unprotect": "改保護",
-       "vector-view-create": "開",
-       "vector-view-edit": "改",
-       "vector-view-history": "睇吓歷史",
-       "vector-view-view": "閱",
-       "vector-view-viewsource": "睇吓原始碼",
-       "vector-more-actions": "更多"
-}
diff --git a/skins/Vector/i18n/za.json b/skins/Vector/i18n/za.json
deleted file mode 100644 (file)
index 72bd20d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Biŋhai"
-               ]
-       },
-       "vector-action-delete": "Ca",
-       "vector-action-move": "Daen",
-       "vector-action-protect": "Bauj",
-       "vector-view-create": "Laeb",
-       "vector-view-edit": "gaij",
-       "vector-view-history": "Cazyawj lizsij"
-}
diff --git a/skins/Vector/i18n/zea.json b/skins/Vector/i18n/zea.json
deleted file mode 100644 (file)
index d0f9aab..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ooswesthoesbes"
-               ]
-       },
-       "vector-action-addsection": "Voeg kopje toe",
-       "vector-action-delete": "Wissen",
-       "vector-action-move": "Verschuuf",
-       "vector-action-protect": "Bescherm",
-       "vector-action-undelete": "Plaets truhhe",
-       "vector-action-unprotect": "Beveiligienge anpass'n",
-       "vector-view-create": "Anmaeken",
-       "vector-view-edit": "Bewerk",
-       "vector-view-history": "Geschiedenisse bekiek'n",
-       "vector-view-view": "Lezen",
-       "vector-view-viewsource": "Brontekst bekieken"
-}
diff --git a/skins/Vector/i18n/zh-hans.json b/skins/Vector/i18n/zh-hans.json
deleted file mode 100644 (file)
index 8e3536f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Hydra",
-                       "Liangent",
-                       "Liuxinyu970226",
-                       "Xiaomingyan",
-                       "Cwek"
-               ]
-       },
-       "vector-skin-desc": "提供清新的外观和许多可用性改进的现代版MonoBook",
-       "vector.css": "/* 放置于这里的CSS将影响使用Vector皮肤的用户 */",
-       "vector.js": "/* 这里的任何JavaScript将为使用Vector皮肤的用户加载 */",
-       "vector-action-addsection": "添加话题",
-       "vector-action-delete": "删除",
-       "vector-action-move": "移动",
-       "vector-action-protect": "保护",
-       "vector-action-undelete": "还原",
-       "vector-action-unprotect": "更改保护",
-       "vector-view-create": "创建",
-       "vector-view-edit": "编辑",
-       "vector-view-history": "查看历史",
-       "vector-view-view": "阅读",
-       "vector-view-viewsource": "查看源代码",
-       "vector-more-actions": "更多"
-}
diff --git a/skins/Vector/i18n/zh-hant.json b/skins/Vector/i18n/zh-hant.json
deleted file mode 100644 (file)
index 0036c34..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Cwlin0416",
-                       "Justincheng12345",
-                       "Liuxinyu970226",
-                       "Mark85296341"
-               ]
-       },
-       "vector-skin-desc": "現代版的 MonoBook,有著較新穎的外觀與許多使用性的改進",
-       "vector.css": "/* 此 CSS 會影響使用 Vector 介面外觀的使用者 */",
-       "vector.js": "/* 此 JavaScript 會用於使用 Vector 介面外觀使用者 */",
-       "vector-action-addsection": "加入主題",
-       "vector-action-delete": "刪除",
-       "vector-action-move": "移動",
-       "vector-action-protect": "保護",
-       "vector-action-undelete": "取消刪除",
-       "vector-action-unprotect": "變更保護",
-       "vector-view-create": "建立",
-       "vector-view-edit": "編輯",
-       "vector-view-history": "檢視歷史",
-       "vector-view-view": "閱讀",
-       "vector-view-viewsource": "檢視原始碼",
-       "vector-more-actions": "更多"
-}
diff --git a/skins/Vector/images/arrow-collapsed-ltr.png b/skins/Vector/images/arrow-collapsed-ltr.png
deleted file mode 100644 (file)
index 063ac6f..0000000
Binary files a/skins/Vector/images/arrow-collapsed-ltr.png and /dev/null differ
diff --git a/skins/Vector/images/arrow-collapsed-ltr.svg b/skins/Vector/images/arrow-collapsed-ltr.svg
deleted file mode 100644 (file)
index b943caa..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M6.001 2.998l5.001 5-5.001 5z" fill="#797979"/></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/arrow-collapsed-rtl.png b/skins/Vector/images/arrow-collapsed-rtl.png
deleted file mode 100644 (file)
index c346218..0000000
Binary files a/skins/Vector/images/arrow-collapsed-rtl.png and /dev/null differ
diff --git a/skins/Vector/images/arrow-collapsed-rtl.svg b/skins/Vector/images/arrow-collapsed-rtl.svg
deleted file mode 100644 (file)
index 5faf356..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M9.999 13.002l-5.001-5 5.001-5z" fill="#797979"/></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/arrow-down-focus-icon.png b/skins/Vector/images/arrow-down-focus-icon.png
deleted file mode 100644 (file)
index 7640bd1..0000000
Binary files a/skins/Vector/images/arrow-down-focus-icon.png and /dev/null differ
diff --git a/skins/Vector/images/arrow-down-focus-icon.svg b/skins/Vector/images/arrow-down-focus-icon.svg
deleted file mode 100644 (file)
index 826c280..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="22" height="16"><path d="M15.502 6.001l-5 5.001-5-5.001z" fill="#929292"/></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/arrow-down-icon.png b/skins/Vector/images/arrow-down-icon.png
deleted file mode 100644 (file)
index 12e3b93..0000000
Binary files a/skins/Vector/images/arrow-down-icon.png and /dev/null differ
diff --git a/skins/Vector/images/arrow-down-icon.svg b/skins/Vector/images/arrow-down-icon.svg
deleted file mode 100644 (file)
index 8e31b2f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="22" height="16"><path d="M15.502 6.001l-5 5.001-5-5.001z" fill="#797979"/></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/arrow-expanded.png b/skins/Vector/images/arrow-expanded.png
deleted file mode 100644 (file)
index 0221028..0000000
Binary files a/skins/Vector/images/arrow-expanded.png and /dev/null differ
diff --git a/skins/Vector/images/arrow-expanded.svg b/skins/Vector/images/arrow-expanded.svg
deleted file mode 100644 (file)
index e744ec3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M13.002 6.001l-5 5.001-5-5.001z" fill="#797979"/></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/bullet-icon.png b/skins/Vector/images/bullet-icon.png
deleted file mode 100644 (file)
index 7bae98f..0000000
Binary files a/skins/Vector/images/bullet-icon.png and /dev/null differ
diff --git a/skins/Vector/images/external-link-ltr-icon.png b/skins/Vector/images/external-link-ltr-icon.png
deleted file mode 100644 (file)
index 6308383..0000000
Binary files a/skins/Vector/images/external-link-ltr-icon.png and /dev/null differ
diff --git a/skins/Vector/images/external-link-ltr-icon.svg b/skins/Vector/images/external-link-ltr-icon.svg
deleted file mode 100644 (file)
index 5969d03..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><g transform="translate(-826.429 -698.791)"><rect width="5.982" height="5.982" x="826.929" y="702.309" fill="#fff" stroke="#06c"/><g><path d="M831.194 698.791h5.234v5.391l-1.571 1.545-1.31-1.31-2.725 2.725-2.689-2.689 2.808-2.808-1.311-1.311z" fill="#06f"/><path d="M835.424 699.795l.022 4.885-1.817-1.817-2.881 2.881-1.228-1.228 2.881-2.881-1.851-1.851z" fill="#fff"/></g></g></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/external-link-rtl-icon.png b/skins/Vector/images/external-link-rtl-icon.png
deleted file mode 100644 (file)
index 5313234..0000000
Binary files a/skins/Vector/images/external-link-rtl-icon.png and /dev/null differ
diff --git a/skins/Vector/images/external-link-rtl-icon.svg b/skins/Vector/images/external-link-rtl-icon.svg
deleted file mode 100644 (file)
index 75a7025..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><g transform="translate(-826.429 -698.791)"><rect width="5.982" height="5.982" x="-835.929" y="702.309" transform="scale(-1 1)" fill="#fff" stroke="#06c"/><g><path d="M831.663 698.791h-5.234v5.391l1.571 1.545 1.31-1.31 2.725 2.725 2.689-2.689-2.808-2.808 1.311-1.311z" fill="#06f"/><path d="M827.433 699.795l-.022 4.885 1.817-1.817 2.881 2.881 1.228-1.228-2.881-2.881 1.851-1.851z" fill="#fff"/></g></g></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/link-icon.png b/skins/Vector/images/link-icon.png
deleted file mode 100644 (file)
index b70efaa..0000000
Binary files a/skins/Vector/images/link-icon.png and /dev/null differ
diff --git a/skins/Vector/images/magnify-clip.png b/skins/Vector/images/magnify-clip.png
deleted file mode 100644 (file)
index 00a9cee..0000000
Binary files a/skins/Vector/images/magnify-clip.png and /dev/null differ
diff --git a/skins/Vector/images/page-fade.png b/skins/Vector/images/page-fade.png
deleted file mode 100644 (file)
index b4a6034..0000000
Binary files a/skins/Vector/images/page-fade.png and /dev/null differ
diff --git a/skins/Vector/images/portal-break-ltr.png b/skins/Vector/images/portal-break-ltr.png
deleted file mode 100644 (file)
index 20bf366..0000000
Binary files a/skins/Vector/images/portal-break-ltr.png and /dev/null differ
diff --git a/skins/Vector/images/portal-break-rtl.png b/skins/Vector/images/portal-break-rtl.png
deleted file mode 100644 (file)
index e5f6223..0000000
Binary files a/skins/Vector/images/portal-break-rtl.png and /dev/null differ
diff --git a/skins/Vector/images/portal-break.png b/skins/Vector/images/portal-break.png
deleted file mode 100644 (file)
index 90c3918..0000000
Binary files a/skins/Vector/images/portal-break.png and /dev/null differ
diff --git a/skins/Vector/images/preferences/break.png b/skins/Vector/images/preferences/break.png
deleted file mode 100644 (file)
index b529308..0000000
Binary files a/skins/Vector/images/preferences/break.png and /dev/null differ
diff --git a/skins/Vector/images/preferences/fade.png b/skins/Vector/images/preferences/fade.png
deleted file mode 100644 (file)
index 638084d..0000000
Binary files a/skins/Vector/images/preferences/fade.png and /dev/null differ
diff --git a/skins/Vector/images/search-fade.png b/skins/Vector/images/search-fade.png
deleted file mode 100644 (file)
index 6cb7d28..0000000
Binary files a/skins/Vector/images/search-fade.png and /dev/null differ
diff --git a/skins/Vector/images/search-ltr.png b/skins/Vector/images/search-ltr.png
deleted file mode 100644 (file)
index 1db2eb2..0000000
Binary files a/skins/Vector/images/search-ltr.png and /dev/null differ
diff --git a/skins/Vector/images/search-ltr.svg b/skins/Vector/images/search-ltr.svg
deleted file mode 100644 (file)
index 0720f20..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"><g stroke-width="2" stroke="#6c6c6c" fill="none"><path d="M11.29 11.71l-4-4"/><circle cx="5" cy="5" r="4"/></g></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/search-rtl.png b/skins/Vector/images/search-rtl.png
deleted file mode 100644 (file)
index c26c8d0..0000000
Binary files a/skins/Vector/images/search-rtl.png and /dev/null differ
diff --git a/skins/Vector/images/search-rtl.svg b/skins/Vector/images/search-rtl.svg
deleted file mode 100644 (file)
index 622d5f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"><g stroke-width="2" stroke="#6c6c6c" fill="none"><path d="M.71 11.71l4-4"/><circle cx="7" cy="5" r="4"/></g></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/tab-break.png b/skins/Vector/images/tab-break.png
deleted file mode 100644 (file)
index 6d37af5..0000000
Binary files a/skins/Vector/images/tab-break.png and /dev/null differ
diff --git a/skins/Vector/images/tab-current-fade.png b/skins/Vector/images/tab-current-fade.png
deleted file mode 100644 (file)
index b8f772f..0000000
Binary files a/skins/Vector/images/tab-current-fade.png and /dev/null differ
diff --git a/skins/Vector/images/tab-normal-fade.png b/skins/Vector/images/tab-normal-fade.png
deleted file mode 100644 (file)
index f719a88..0000000
Binary files a/skins/Vector/images/tab-normal-fade.png and /dev/null differ
diff --git a/skins/Vector/images/unwatch-icon-hl.png b/skins/Vector/images/unwatch-icon-hl.png
deleted file mode 100644 (file)
index 6b2b502..0000000
Binary files a/skins/Vector/images/unwatch-icon-hl.png and /dev/null differ
diff --git a/skins/Vector/images/unwatch-icon-hl.svg b/skins/Vector/images/unwatch-icon-hl.svg
deleted file mode 100644 (file)
index d52d547..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><linearGradient id="a"><stop offset="0" stop-color="#c2edff"/><stop offset=".5" stop-color="#68bdff"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient x1="13.47" y1="14.363" x2="4.596" y2="3.397" id="b" xlink:href="#a" gradientUnits="userSpaceOnUse"/></defs><path d="M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z" fill="url(#b)" stroke="#c8b250" stroke-width="0.9999199999999999"/></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/unwatch-icon.png b/skins/Vector/images/unwatch-icon.png
deleted file mode 100644 (file)
index 9fd9436..0000000
Binary files a/skins/Vector/images/unwatch-icon.png and /dev/null differ
diff --git a/skins/Vector/images/unwatch-icon.svg b/skins/Vector/images/unwatch-icon.svg
deleted file mode 100644 (file)
index cde7bc5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><linearGradient id="a"><stop offset="0" stop-color="#c2edff"/><stop offset=".5" stop-color="#68bdff"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient x1="13.47" y1="14.363" x2="4.596" y2="3.397" id="b" xlink:href="#a" gradientUnits="userSpaceOnUse"/></defs><path d="M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z" fill="url(#b)" stroke="#7cb5d1" stroke-width="0.9999199999999999"/></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/user-icon.png b/skins/Vector/images/user-icon.png
deleted file mode 100644 (file)
index 57f9f8d..0000000
Binary files a/skins/Vector/images/user-icon.png and /dev/null differ
diff --git a/skins/Vector/images/user-icon.svg b/skins/Vector/images/user-icon.svg
deleted file mode 100644 (file)
index 4335bcf..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="13.837"><defs><linearGradient id="e"><stop offset="0"/><stop offset="1" stop-opacity="0"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#3b74bc"/><stop offset="1" stop-color="#2d5990"/></linearGradient><linearGradient id="c"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#c9c9c9"/></linearGradient><linearGradient id="a"><stop offset="0"/><stop offset="1" stop-opacity="0"/></linearGradient><linearGradient id="d"><stop offset="0" stop-color="#f4d9b1"/><stop offset="1" stop-color="#df9725"/></linearGradient><radialGradient cx="31.113" cy="19.009" r="8.662" fx="31.113" fy="19.009" id="f" xlink:href="#a" gradientUnits="userSpaceOnUse"/><radialGradient cx="28.09" cy="27.203" r="13.565" fx="28.09" fy="27.203" id="g" xlink:href="#b" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.298 0 0 .885 -8.359 4.94)"/><linearGradient x1="30.936" y1="29.553" x2="30.936" y2="35.803" id="h" xlink:href="#c" gradientUnits="userSpaceOnUse"/><radialGradient cx="31.113" cy="19.009" r="8.662" fx="31.113" fy="19.009" id="i" xlink:href="#a" gradientUnits="userSpaceOnUse"/><radialGradient cx="29.345" cy="17.064" r="9.162" fx="29.345" fy="17.064" id="j" xlink:href="#d" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.788 0 0 .788 6.221 3.618)"/><linearGradient x1="20.662" y1="35.818" x2="22.627" y2="36.218" id="k" xlink:href="#e" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.983 .182 -.182 .983 6.232 -2.651)"/><linearGradient x1="22.687" y1="36.39" x2="21.408" y2="35.74" id="l" xlink:href="#e" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-.978 .21 .21 .978 55.11 -3.945)"/></defs><g color="#000"><path d="M39.775 19.009a8.662 8.662 0 1 1-17.324 0 8.662 8.662 0 1 1 17.324 0z" transform="matrix(.693 0 0 .374 -15.548 3.481)" fill="url(#f)" fill-rule="evenodd" overflow="visible"/><path d="M4.046 12.398h4.137c1.172 0 2.332-.43 2.758-1.655.404-1.163.069-3.378-2.551-5.171h-4.895c-2.62 1.655-2.947 3.917-2.344 5.24.614 1.347 1.655 1.586 2.896 1.586z" fill="url(#g)" fill-rule="evenodd" stroke="#204a87" stroke-linecap="round" stroke-linejoin="round" overflow="visible" stroke-width="0.39"/><path d="M4.321 6.193c1.241 1.103 1.793 5.102 1.793 5.102s.552-3.999 1.517-5.171l-3.309.069z" fill="url(#h)" fill-rule="evenodd" overflow="visible"/><path d="M5.21 6.607s-.839.648-.767 1.428c-.796-.702-.819-2.048-.819-2.048l1.586.62z" fill="#729fcf" fill-rule="evenodd" overflow="visible"/><path d="M4.018 11.992l4.092-.009c1.029 0 2.049-.377 2.422-1.453.355-1.022-.037-2.967-2.338-4.542l-4.495-.095c-2.301 1.453-2.747 3.441-2.208 4.697.538 1.256 1.324 1.393 2.526 1.401z" opacity=".215" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" overflow="visible" fill="none" stroke-width="0.39"/><path d="M6.941 6.607s.839.648.767 1.428c.796-.702.819-2.048.819-2.048l-1.586.62z" fill="#729fcf" fill-rule="evenodd" overflow="visible"/><path d="M39.775 19.009a8.662 8.662 0 1 1-17.324 0 8.662 8.662 0 1 1 17.324 0z" transform="matrix(.39 0 0 .39 -6.138 -2.475)" fill="url(#i)" fill-rule="evenodd" overflow="visible"/><path d="M39.775 19.009a8.662 8.662 0 1 1-17.324 0 8.662 8.662 0 1 1 17.324 0z" fill="url(#j)" fill-rule="evenodd" stroke="#c17d11" stroke-linecap="round" stroke-linejoin="round" overflow="visible" transform="matrix(.39 0 0 .39 -6.089 -3.84)"/><path d="M39.775 19.009a8.662 8.662 0 1 1-17.324 0 8.662 8.662 0 1 1 17.324 0z" transform="matrix(.342 0 0 .342 -4.598 -2.929)" opacity=".196" stroke="#fff" stroke-width="1.14" stroke-linecap="round" stroke-linejoin="round" overflow="visible" fill="none"/><path d="M2.433 12.062c-.487-.213-.704-.725-.704-.725.328-1.587 1.451-2.748 1.451-2.748s-.889 2.5-.746 3.473z" opacity=".228" fill="url(#k)" fill-rule="evenodd" overflow="visible"/><path d="M9.806 11.728c.48-.227.704-.781.704-.781-.374-1.577-1.551-2.669-1.551-2.669s.961 2.474.847 3.45z" opacity=".228" fill="url(#l)" fill-rule="evenodd" overflow="visible"/></g></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/watch-icon-hl.png b/skins/Vector/images/watch-icon-hl.png
deleted file mode 100644 (file)
index 4cb87cd..0000000
Binary files a/skins/Vector/images/watch-icon-hl.png and /dev/null differ
diff --git a/skins/Vector/images/watch-icon-hl.svg b/skins/Vector/images/watch-icon-hl.svg
deleted file mode 100644 (file)
index 664c671..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z" fill="#fff" stroke="#c8b250" stroke-width="0.9999199999999999"/></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/watch-icon-loading.png b/skins/Vector/images/watch-icon-loading.png
deleted file mode 100644 (file)
index 5f0c490..0000000
Binary files a/skins/Vector/images/watch-icon-loading.png and /dev/null differ
diff --git a/skins/Vector/images/watch-icon-loading.svg b/skins/Vector/images/watch-icon-loading.svg
deleted file mode 100644 (file)
index 751eb14..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z" fill="#fff" stroke="#d1d1d1" stroke-width="0.9999199999999999"/></svg>
\ No newline at end of file
diff --git a/skins/Vector/images/watch-icon.png b/skins/Vector/images/watch-icon.png
deleted file mode 100644 (file)
index 39daff2..0000000
Binary files a/skins/Vector/images/watch-icon.png and /dev/null differ
diff --git a/skins/Vector/images/watch-icon.svg b/skins/Vector/images/watch-icon.svg
deleted file mode 100644 (file)
index 907b05b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z" fill="#fff" stroke="#7cb5d1" stroke-width="0.9999199999999999"/></svg>
\ No newline at end of file
diff --git a/skins/Vector/screen-hd.less b/skins/Vector/screen-hd.less
deleted file mode 100644 (file)
index 8b286f4..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Vector screen styles for high definition displays */
-
-@import "variables.less";
-
-div#content {
-       margin-left: 11em;
-       padding: 1.25em 1.5em 1.5em 1.5em;
-}
-#p-logo {
-       left: @menu-main-logo-left;
-}
-div#footer {
-       margin-left: 11em;
-       padding: 1.25em;
-}
-#mw-panel {
-       padding-left: 0.5em;
-}
-#p-search {
-       margin-right: 1em;
-}
-#left-navigation {
-       margin-left: 11em;
-}
-#p-personal {
-       right: 1em;
-}
-#mw-head-base {
-       margin-left: 11em;
-}
diff --git a/skins/Vector/screen.less b/skins/Vector/screen.less
deleted file mode 100644 (file)
index da0dec5..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Vector screen styles */
-
-@import "variables.less";
-
-@import "components/common.less";
-@import "components/animations.less";
-@import "components/navigation.less";
-@import "components/footer.less";
-@import "components/externalLinks.less";
diff --git a/skins/Vector/skinStyles/jquery.tipsy.less b/skins/Vector/skinStyles/jquery.tipsy.less
deleted file mode 100644 (file)
index 0e0c8ec..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Tooltips are outside of the normal body code, so this helps make the size of the text sensible */
-.tipsy {
-       font-size: 0.8em;
-}
diff --git a/skins/Vector/skinStyles/jquery.ui/images/close.png b/skins/Vector/skinStyles/jquery.ui/images/close.png
deleted file mode 100644 (file)
index ef0dd9e..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/close.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/titlebar-fade.png b/skins/Vector/skinStyles/jquery.ui/images/titlebar-fade.png
deleted file mode 100644 (file)
index 12a80c8..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/titlebar-fade.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-anim_basic_16x16.gif b/skins/Vector/skinStyles/jquery.ui/images/ui-anim_basic_16x16.gif
deleted file mode 100644 (file)
index 085ccae..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-anim_basic_16x16.gif and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_flat_15_cd0a0a_40x100.png b/skins/Vector/skinStyles/jquery.ui/images/ui-bg_flat_15_cd0a0a_40x100.png
deleted file mode 100644 (file)
index 09de537..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_flat_15_cd0a0a_40x100.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_flat_70_000000_40x100.png b/skins/Vector/skinStyles/jquery.ui/images/ui-bg_flat_70_000000_40x100.png
deleted file mode 100644 (file)
index c06dd56..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_flat_70_000000_40x100.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png b/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png
deleted file mode 100644 (file)
index 5308b46..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-hard_80_d7ebf9_1x100.png b/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-hard_80_d7ebf9_1x100.png
deleted file mode 100644 (file)
index 0c8997f..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-hard_80_d7ebf9_1x100.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_100_e4f1fb_1x100.png b/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_100_e4f1fb_1x100.png
deleted file mode 100644 (file)
index 3149255..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_100_e4f1fb_1x100.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_100_ffffff_1x100.png b/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_100_ffffff_1x100.png
deleted file mode 100644 (file)
index 09b2376..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_100_ffffff_1x100.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_25_ffef8f_1x100.png b/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_25_ffef8f_1x100.png
deleted file mode 100644 (file)
index 66627c1..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_highlight-soft_25_ffef8f_1x100.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_inset-hard_100_f0f0f0_1x100.png b/skins/Vector/skinStyles/jquery.ui/images/ui-bg_inset-hard_100_f0f0f0_1x100.png
deleted file mode 100644 (file)
index ccb6dc0..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-bg_inset-hard_100_f0f0f0_1x100.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_2694e8_256x240.png b/skins/Vector/skinStyles/jquery.ui/images/ui-icons_2694e8_256x240.png
deleted file mode 100644 (file)
index 998ac3b..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_2694e8_256x240.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_2e83ff_256x240.png b/skins/Vector/skinStyles/jquery.ui/images/ui-icons_2e83ff_256x240.png
deleted file mode 100644 (file)
index 84b601b..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_2e83ff_256x240.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_3d80b3_256x240.png b/skins/Vector/skinStyles/jquery.ui/images/ui-icons_3d80b3_256x240.png
deleted file mode 100644 (file)
index ec129a8..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_3d80b3_256x240.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_666666_256x240.png b/skins/Vector/skinStyles/jquery.ui/images/ui-icons_666666_256x240.png
deleted file mode 100644 (file)
index a32c57d..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_666666_256x240.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_72a7cf_256x240.png b/skins/Vector/skinStyles/jquery.ui/images/ui-icons_72a7cf_256x240.png
deleted file mode 100644 (file)
index 88fad1a..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_72a7cf_256x240.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_ffffff_256x240.png b/skins/Vector/skinStyles/jquery.ui/images/ui-icons_ffffff_256x240.png
deleted file mode 100644 (file)
index 29ba7d2..0000000
Binary files a/skins/Vector/skinStyles/jquery.ui/images/ui-icons_ffffff_256x240.png and /dev/null differ
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.accordion.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.accordion.css
deleted file mode 100644 (file)
index d429fd2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-/*!
- * jQuery UI Accordion 1.9.2
- * http://jqueryui.com
- *
- * Copyright 2012 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Accordion#theming
- */
-.ui-accordion .ui-accordion-header { display: block; cursor: pointer; position: relative; margin-top: 2px; padding: .5em .5em .5em .7em; zoom: 1; }
-.ui-accordion .ui-accordion-icons { padding-left: 2.2em; }
-.ui-accordion .ui-accordion-noicons { padding-left: .7em; }
-.ui-accordion .ui-accordion-icons .ui-accordion-icons { padding-left: 2.2em; }
-.ui-accordion .ui-accordion-header .ui-accordion-header-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
-.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; overflow: auto; zoom: 1; }
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.autocomplete.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.autocomplete.css
deleted file mode 100644 (file)
index da6de45..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Autocomplete
-----------------------------------*/
-.ui-autocomplete { position: absolute; cursor: default; }
-.ui-autocomplete-loading { /* @embed */ background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; }
-
-/* workarounds */
-* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
-
-/* Menu
-----------------------------------*/
-.ui-menu {
-       list-style:none;
-       padding: 2px;
-       margin: 0;
-       display:block;
-       float: left;
-}
-.ui-menu .ui-menu {
-       margin-top: -3px;
-}
-.ui-menu .ui-menu-item {
-       margin:0;
-       padding: 0;
-       zoom: 1;
-       float: left;
-       clear: left;
-       width: 100%;
-}
-.ui-menu .ui-menu-item a {
-       text-decoration:none;
-       display:block;
-       padding:.2em .4em;
-       line-height:1.5;
-       zoom:1;
-}
-.ui-menu .ui-menu-item a.ui-state-hover,
-.ui-menu .ui-menu-item a.ui-state-active {
-       font-weight: normal;
-       margin: -1px;
-}
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.button.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.button.css
deleted file mode 100644 (file)
index 8c2286d..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-/* Button
-----------------------------------*/
-
-.ui-button {
-       display: inline-block;
-       position: relative;
-       padding: 0;
-       margin-right: .1em;
-       text-decoration: none !important;
-       cursor: pointer;
-       text-align: center;
-       zoom: 1;
-       overflow: visible; /* the overflow property removes extra width in IE */
-}
-
-/*button text element */
-.ui-button .ui-button-text {
-       display: block;
-       line-height: 1.4;
-       text-shadow: 0 1px 1px #fff;
-}
-.ui-button-text-only .ui-button-text {
-       padding: 0.3em 1em 0.25em 1em;
-}
-.ui-button-icon-only .ui-button-text,
-.ui-button-icons-only .ui-button-text {
-       padding: 0.3em;
-       text-indent: -9999999px;
-}
-.ui-button-text-icon-primary .ui-button-text,
-.ui-button-text-icons .ui-button-text {
-       padding: 0.3em 1em 0.25em 2.1em;
-}
-.ui-button-text-icon-secondary .ui-button-text,
-.ui-button-text-icons .ui-button-text {
-       padding: 0.3em 2.1em 0.25em 1em;
-}
-.ui-button-text-icons .ui-button-text {
-       padding-left: 2.1em;
-       padding-right: 2.1em;
-}
-
-/* no icon support for input elements, provide padding by default */
-input.ui-button {
-       padding: 0.3em 1em;
-}
-
-/*button icon element(s) */
-.ui-button-icon-only .ui-icon,
-.ui-button-text-icon-primary .ui-icon,
-.ui-button-text-icon-secondary .ui-icon,
-.ui-button-text-icons .ui-icon,
-.ui-button-text-icon .ui-icon,
-.ui-button-icons-only .ui-icon {
-       position: absolute;
-       top: 50%;
-       margin-top: -9px;
-}
-.ui-button-icon-only .ui-icon {
-       left: 50%;
-       margin-left: -8px;
-}
-.ui-button-text-icon-primary .ui-button-icon-primary,
-.ui-button-text-icon .ui-button-icon-primary,
-.ui-button-text-icons .ui-button-icon-primary,
-.ui-button-icons-only .ui-button-icon-primary {
-       left: 0.5em;
-}
-.ui-button-text-icon-secondary .ui-button-icon-secondary,
-.ui-button-text-icon .ui-button-icon-secondary,
-.ui-button-text-icons .ui-button-icon-secondary,
-.ui-button-icons-only .ui-button-icon-secondary {
-       right: 0.5em;
-}
-
-/*button sets*/
-.ui-buttonset {
-       margin-right: 7px;
-}
-.ui-buttonset .ui-button {
-       margin-left: 0;
-       margin-right: -.4em;
-}
-
-/* workarounds */
-button.ui-button::-moz-focus-inner {
-       border: 0;
-       padding: 0; /* reset extra padding in Firefox */
-}
-/* Disables the annoying dashed border Firefox puts on active buttons */
-body button.ui-button::-moz-focus-inner {
-       border: 0;
-}
-/* Give large buttons some extra padding */
-body .ui-button-large {
-       padding: 5px;
-}
-/* Use white icons for colored buttons */
-.ui-button-green .ui-icon,
-.ui-button-blue .ui-icon,
-.ui-button-red .ui-icon,
-.ui-button-orange .ui-icon {
-       /* @embed */
-       background-image: url(images/ui-icons_ffffff_256x240.png) !important;
-}
-
-/* Corner radius */
-/* This is normally handled in jquery.ui.theme.css, but in our case, the corner
-   styling of our buttons doesn't match our default widget corner styling */
-.ui-button.ui-corner-all,
-.ui-button.ui-corner-top,
-.ui-button.ui-corner-left,
-.ui-button.ui-corner-tl {
-       border-top-left-radius: 4px;
-}
-.ui-button.ui-corner-all,
-.ui-button.ui-corner-top,
-
-.ui-button.ui-corner-right,
-.ui-button.ui-corner-tr {
-       border-top-right-radius: 4px;
-}
-.ui-button.ui-corner-all,
-.ui-button.ui-corner-bottom,
-.ui-button.ui-corner-left,
-.ui-button.ui-corner-bl {
-       border-bottom-left-radius: 4px;
-}
-.ui-button.ui-corner-all,
-.ui-button.ui-corner-bottom,
-.ui-button.ui-corner-right,
-.ui-button.ui-corner-br {
-       border-bottom-right-radius: 4px;
-}
-
-body .ui-button {
-       color: #2779aa;
-       margin: 0.5em 0 0.5em 0.4em;
-       border: 1px solid #aaa !important;
-       background: #f0f0f0 !important;
-       background: -moz-linear-gradient(top, #fff 0%, #ddd 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #fff 0%, #ddd 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #fff 0%, #ddd 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #fff 0%, #ddd 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #fff 0%, #ddd 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dddddd', GradientType=0); /* IE6-8 */
-       cursor: pointer;
-       font-size: 1em;
-       line-height: 1.4em;
-       width: auto;
-       overflow: visible;
-       box-shadow: 0 1px 3px rgba(0,0,0,.2);
-}
-
-body .ui-button-icon-only {
-       width: 2.2em;
-}
-
-body .ui-button-icons-only {
-       width: 3.4em;
-}
-
-body .ui-button:hover {
-       color: #2779aa;
-       border-color: #bbb !important;
-       background: #fff !important;
-       background: -moz-linear-gradient(top, #fff 0%, #eee 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #fff 0%, #eee 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #fff 0%, #eee 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #fff 0%, #eee 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #fff 0%, #eee 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0); /* IE6-8 */
-       box-shadow: 0 1px 3px rgba(0,0,0,.1);
-}
-body .ui-button:active,
-body .ui-button:focus {
-       border-color: #8ad !important;
-       box-shadow: 0 0 1px 1px rgba(167,215,249,.5);
-}
-body .ui-button:active {
-       background: #e0e0e0 !important;
-       background: -moz-linear-gradient(top, #f0f0f0 0%, #d0d0d0 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #f0f0f0 0%, #d0d0d0 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #f0f0f0 0%, #d0d0d0 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #f0f0f0 0%, #d0d0d0 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #f0f0f0 0%, #d0d0d0 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f0f0f0', endColorstr='#d0d0d0', GradientType=0); /* IE6-8 */
-}
-
-/* Green buttons */
-body .ui-button-green,
-body .ui-button-green .ui-button-text {
-       color: white;
-       text-shadow: 0 -1px 1px #072;
-}
-body .ui-button.ui-button-green {
-       border-color: #294 !important;
-       background: #295 !important;
-       background: -moz-linear-gradient(top, #3c8 0%, #295 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #3c8 0%, #295 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #3c8 0%, #295 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #3c8 0%, #295 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #3c8 0%, #295 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33cc88', endColorstr='#229955', GradientType=0); /* IE6-8 */
-       box-shadow: 0 1px 3px rgba(0,0,0,.3);
-}
-body .ui-button.ui-button-green:hover {
-       background: #33a055 !important;
-       background: -moz-linear-gradient(top, #44d388 0%, #33a055 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #44d388 0%, #33a055 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #44d388 0%, #33a055 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #44d388 0%, #33a055 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #44d388 0%, #33a055 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#44d388', endColorstr='#33a055', GradientType=0); /* IE6-8 */
-       box-shadow: 0 1px 3px rgba(0,0,0,.25);
-}
-body .ui-button.ui-button-green:active,
-body .ui-button.ui-button-green:focus {
-       border-color: #172 !important;
-       box-shadow: 0 0 2px 2px rgba(167,215,249,.75);
-}
-body .ui-button.ui-button-green:active {
-       background: #338855 !important;
-       background: -moz-linear-gradient(top, #30c080 0%, #338855 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #30c080 0%, #338855 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #30c080 0%, #338855 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #30c080 0%, #338855 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #30c080 0%, #338855 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#30c080', endColorstr='#338855', GradientType=0); /* IE6-8 */
-}
-
-/* Blue buttons */
-body .ui-button-blue,
-body .ui-button-blue .ui-button-text {
-       color: white;
-       text-shadow: 0 -1px 1px #037;
-}
-body .ui-button.ui-button-blue {
-       border-color: #468 !important;
-       background: #36b !important;
-       background: -moz-linear-gradient(top, #48e 0%, #36b 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #48e 0%, #36b 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #48e 0%, #36b 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #48e 0%, #36b 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #48e 0%, #36b 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4488ee', endColorstr='#3366bb', GradientType=0); /* IE6-8 */
-       box-shadow: 0 1px 3px rgba(0,0,0,.35);
-}
-body .ui-button.ui-button-blue:hover {
-       background: #36c !important;
-       background: -moz-linear-gradient(top, #59e 0%, #36c 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #59e 0%, #36c 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #59e 0%, #36c 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #59e 0%, #36c 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #59e 0%, #36c 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5599ee', endColorstr='#3366cc', GradientType=0); /* IE6-8 */
-}
-body .ui-button.ui-button-blue:active,
-body .ui-button.ui-button-blue:focus {
-       border-color: #357 !important;
-       box-shadow: 0 0 2px 2px rgba(167,215,249,.75);
-}
-body .ui-button.ui-button-blue:active {
-       background: #3060a0 !important;
-       background: -moz-linear-gradient(top, #4080e0 0%, #3060a0 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #4080e0 0%, #3060a0 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #4080e0 0%, #3060a0 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #4080e0 0%, #3060a0 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #4080e0 0%, #3060a0 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4080e0', endColorstr='#3060a0', GradientType=0); /* IE6-8 */
-}
-
-/* Red buttons */
-body .ui-button-red,
-body .ui-button-red .ui-button-text {
-       color: white;
-       text-shadow: 0 -1px 1px #700;
-}
-body .ui-button.ui-button-red {
-       border-color: #944 !important;
-       background: #a22 !important;
-       background: -moz-linear-gradient(top, #d44 0%, #a22 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #d44 0%, #a22 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #d44 0%, #a22 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #d44 0%, #a22 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #d44 0%, #a22 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dd4444', endColorstr='#aa2222', GradientType=0); /* IE6-8 */
-       box-shadow: 0 1px 3px rgba(0,0,0,.35);
-}
-body .ui-button.ui-button-red:hover {
-       border-color: #a44 !important;
-       background: #b03333 !important;
-       background: -moz-linear-gradient(top, #ee4646 0%, #b03333 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #ee4646 0%, #b03333 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #ee4646 0%, #b03333 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #ee4646 0%, #b03333 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #ee4646 0%, #b03333 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee4646', endColorstr='#b03333', GradientType=0); /* IE6-8 */
-       box-shadow: 0 1px 3px rgba(0,0,0,.3);
-}
-body .ui-button.ui-button-red:active,
-body .ui-button.ui-button-red:focus {
-       border-color: #747 !important;
-       box-shadow: 0 0 2px 2px rgba(167,215,249,.7);
-}
-body .ui-button.ui-button-red:active {
-       background: #952020 !important;
-       background: -moz-linear-gradient(top, #d04545 0%, #952020 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #d04545 0%, #952020 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #d04545 0%, #952020 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #d04545 0%, #952020 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #d04545 0%, #952020 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d04545', endColorstr='#952020', GradientType=0); /* IE6-8 */
-}
-
-/* Disabled buttons */
-body .ui-button-green.disabled,
-body .ui-button-green.disabled:hover,
-body .ui-button-green.disabled:active,
-body .ui-button-green.disabled:focus,
-body .ui-button-blue.disabled,
-body .ui-button-blue.disabled:hover,
-body .ui-button-blue.disabled:active,
-body .ui-button-blue.disabled:focus,
-body .ui-button-red.disabled,
-body .ui-button-red.disabled:hover,
-body .ui-button-red.disabled:active,
-body .ui-button-red.disabled:focus,
-body .ui-button.disabled,
-body .ui-button.disabled:hover {
-       color: #aaa;
-       border-color: #ccc !important;
-       background: #eee !important;
-       background: -moz-linear-gradient(top, #f6f6f6 0%, #eee 90%) !important; /* FF3.6+ */
-       background: -webkit-linear-gradient(top, #f6f6f6 0%, #eee 90%) !important; /* Chrome10+, Safari5.1+ */
-       background: -o-linear-gradient(top, #f6f6f6 0%, #eee 90%) !important; /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #f6f6f6 0%, #eee 90%) !important; /* IE10+ */
-       background: linear-gradient(to bottom, #f6f6f6 0%, #eee 90%) !important;
-       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f6f6', endColorstr='#eeeeee', GradientType=0); /* IE6-8 */
-       box-shadow: 0 1px 3px rgba(0,0,0,0);
-}
-body .ui-button-green.disabled .ui-button-text,
-body .ui-button-blue.disabled .ui-button-text,
-body .ui-button-red.disabled .ui-button-text {
-       color: #aaa;
-       text-shadow: 0 1px 1px #fff;
-}
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.core.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.core.css
deleted file mode 100644 (file)
index 2e088ca..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*!
- * jQuery UI CSS Framework 1.9.2
- * http://jqueryui.com
- *
- * Copyright 2012 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- */
-
-/* Layout helpers
-----------------------------------*/
-.ui-helper-hidden { display: none; }
-.ui-helper-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
-.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
-.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
-.ui-helper-clearfix:after { clear: both; }
-.ui-helper-clearfix { zoom: 1; }
-.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled { cursor: default !important; }
-
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.datepicker.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.datepicker.css
deleted file mode 100644 (file)
index 871bf69..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Datepicker
-----------------------------------*/
-.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
-.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
-.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
-.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
-.ui-datepicker .ui-datepicker-prev { left:2px; }
-.ui-datepicker .ui-datepicker-next { right:2px; }
-.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
-.ui-datepicker .ui-datepicker-next-hover { right:1px; }
-.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
-.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
-.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; padding:1px 0; }
-.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
-.ui-datepicker select.ui-datepicker-month, 
-.ui-datepicker select.ui-datepicker-year { width: 49%;}
-.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
-.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
-.ui-datepicker td { border: 0; padding: 1px; }
-.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
-.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .2em 0 0 0; padding: 0 .2em; border-top: 1px solid #DDDDDD; border-left: 0; border-right: 0; border-bottom: 0; }
-.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
-.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
-
-/* with multiple calendars */
-.ui-datepicker.ui-datepicker-multi { width:auto; }
-.ui-datepicker-multi .ui-datepicker-group { float:left; }
-.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
-.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
-.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
-.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
-.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
-.ui-datepicker-row-break { clear:both; width:100%; }
-
-/* RTL support */
-/* @noflip */ .ui-datepicker-rtl { direction: rtl; }
-/* @noflip */ .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
-/* @noflip */ .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
-/* @noflip */ .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
-/* @noflip */ .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
-/* @noflip */ .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
-/* @noflip */ .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
-/* @noflip */ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
-/* @noflip */ .ui-datepicker-rtl .ui-datepicker-group { float:right; }
-/* @noflip */ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-/* @noflip */ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-
-/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
-.ui-datepicker-cover {
-    display: none; /*sorry for IE5*/
-    display/**/: block; /*sorry for IE5*/
-    position: absolute; /*must have*/
-    z-index: -1; /*must have*/
-    filter: mask(); /*must have*/
-    top: -4px; /*must have*/
-    left: -4px; /*must have*/
-    width: 200px; /*must have*/
-    height: 200px; /*must have*/
-}
\ No newline at end of file
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.dialog.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.dialog.css
deleted file mode 100644 (file)
index cd85f14..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Dialog
-----------------------------------*/
-.ui-dialog { position: absolute; padding: 0; width: 300px; }
-.ui-dialog .ui-dialog-titlebar { padding: .75em; position: relative;  }
-.ui-dialog .ui-dialog-title { float: left; margin: 0; } 
-.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .75em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
-.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
-.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
-.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
-.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
-.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
-.ui-draggable .ui-dialog-titlebar { cursor: move; }
-/* Customizations */
-body .ui-dialog .ui-dialog-titlebar-close:hover {
-       text-decoration: none;
-}
-body .ui-dialog .ui-dialog-content .status-invalid input {
-       border: 2px solid red;
-       padding: 2px 1px;
-}
-body .ui-dialog .ui-dialog-titlebar {
-       padding: 0.9em 1.4em 0.6em !important;
-}
-body .ui-dialog .ui-widget-header {
-       /* @embed */
-       background: #f0f0f0 url(images/titlebar-fade.png) repeat-x scroll 50% 100% !important;
-}
-/* FIXME: Should just update the icon sprite if we're keeping this X */
-body .ui-dialog .ui-icon-closethick {
-       /* @embed */
-       background: url(images/close.png) no-repeat 50% 50% !important;
-}
-body .ui-dialog .ui-dialog-buttonpane {
-       margin-top: 0 !important;
-       padding:0.3em 1.4em 0.5em 1.4em !important;
-}
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.progressbar.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.progressbar.css
deleted file mode 100644 (file)
index bd7e403..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/*!
- * jQuery UI Progressbar 1.9.2
- * http://jqueryui.com
- *
- * Copyright 2012 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Progressbar#theming
- */
-.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
-.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
\ No newline at end of file
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.resizable.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.resizable.css
deleted file mode 100644 (file)
index f1bd7c5..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Resizable
-----------------------------------*/
-.ui-resizable { position: relative;}
-.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
-.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
-.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
-.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
-/* @noflip */
-.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
-/* @noflip */
-.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
-/* @noflip */
-.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
-/* @noflip */
-.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
-/* @noflip */
-.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
-/* @noflip */
-.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
\ No newline at end of file
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.selectable.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.selectable.css
deleted file mode 100644 (file)
index 5854c41..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-/*!
- * jQuery UI Selectable 1.9.2
- * http://jqueryui.com
- *
- * Copyright 2012 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Selectable#theming
- */
-.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.slider.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.slider.css
deleted file mode 100644 (file)
index e579478..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*!
- * jQuery UI Slider 1.9.2
- * http://jqueryui.com
- *
- * Copyright 2012 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Slider#theming
- */
-.ui-slider { position: relative; text-align: left; }
-.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
-.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
-
-.ui-slider-horizontal { height: .8em; }
-.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
-.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
-.ui-slider-horizontal .ui-slider-range-min { left: 0; }
-.ui-slider-horizontal .ui-slider-range-max { right: 0; }
-
-.ui-slider-vertical { width: .8em; height: 100px; }
-.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
-.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
-.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
-.ui-slider-vertical .ui-slider-range-max { top: 0; }
\ No newline at end of file
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.tabs.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.tabs.css
deleted file mode 100644 (file)
index 11a000f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*!
- * jQuery UI Tabs 1.9.2
- * http://jqueryui.com
- *
- * Copyright 2012 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Tabs#theming
- */
-.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
-.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
-.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px .2em 0 0; border-bottom: 0; padding: 0; white-space: nowrap; }
-.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
-.ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; padding-bottom: 1px; }
-.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { cursor: text; }
-.ui-tabs .ui-tabs-nav li a, .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
-.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
diff --git a/skins/Vector/skinStyles/jquery.ui/jquery.ui.theme.css b/skins/Vector/skinStyles/jquery.ui/jquery.ui.theme.css
deleted file mode 100644 (file)
index 6bde5d3..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-
-
-/*
-* jQuery UI CSS Framework
-* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
-* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
-* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=sans-serif&fwDefault=normal&fsDefault=1.0em&cornerRadius=3px&bgColorHeader=ffffff&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=100&borderColorHeader=aed0ea&fcHeader=222222&iconColorHeader=72a7cf&bgColorContent=f2f5f7&bgTextureContent=04_highlight_hard.png&bgImgOpacityContent=100&borderColorContent=cccccc&fcContent=362b36&iconColorContent=72a7cf&bgColorDefault=d7ebf9&bgTextureDefault=04_highlight_hard.png&bgImgOpacityDefault=80&borderColorDefault=aed0ea&fcDefault=2779aa&iconColorDefault=3d80b3&bgColorHover=e4f1fb&bgTextureHover=03_highlight_soft.png&bgImgOpacityHover=100&borderColorHover=74b2e2&fcHover=0070a3&iconColorHover=2694e8&bgColorActive=f0f0f0&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=cccccc&fcActive=000000&iconColorActive=666666&bgColorHighlight=ffef8f&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=25&borderColorHighlight=f9dd34&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=cd0a0a&bgTextureError=01_flat.png&bgImgOpacityError=15&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffffff&bgColorOverlay=000000&bgTextureOverlay=21_glow_ball.png&bgImgOpacityOverlay=100&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=70&opacityShadow=20&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px
-*/
-
-
-/* Component containers
-----------------------------------*/
-.ui-widget { font-family: sans-serif; font-size: 0.8em; }
-.ui-widget .ui-widget { font-size: 1em; }
-.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: sans-serif; font-size: 1em; }
-.ui-widget-content { border: 1px solid #cccccc; /* @embed */ background: #f2f5f7 url(images/ui-bg_highlight-hard_100_f2f5f7_1x100.png) 50% top repeat-x; color: #362b36; }
-.ui-widget-header { border-bottom: 1px solid #bbbbbb; line-height: 1em; /* @embed */ background: #ffffff url(images/ui-bg_highlight-soft_100_ffffff_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #aed0ea; /* @embed */ background: #d7ebf9 url(images/ui-bg_highlight-hard_80_d7ebf9_1x100.png) 50% 50% repeat-x; font-weight: normal; color: #2779aa; }
-.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2779aa; text-decoration: none; }
-.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #74b2e2; /* @embed */ background: #e4f1fb url(images/ui-bg_highlight-soft_100_e4f1fb_1x100.png) 50% 50% repeat-x; font-weight: normal; color: #0070a3; }
-.ui-state-hover a, .ui-state-hover a:hover { color: #0070a3; text-decoration: none; }
-.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #cccccc; background: #f0f0f0 /* @embed */ url(images/ui-bg_inset-hard_100_f0f0f0_1x100.png) 50% 50% repeat-x; font-weight: normal; color: #000000; }
-.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #000000; text-decoration: none; }
-.ui-widget :active { outline: none; }
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #f9dd34; background: #ffef8f /* @embed */ url(images/ui-bg_highlight-soft_25_ffef8f_1x100.png) 50% top repeat-x; color: #363636; }
-.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
-.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #cd0a0a /* @embed */ url(images/ui-bg_flat_15_cd0a0a_40x100.png) 50% 50% repeat-x; color: #ffffff; }
-.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
-.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
-.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
-.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
-.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { width: 16px; height: 16px; }
-.ui-icon, .ui-widget-content .ui-icon, .ui-widget-header .ui-icon { /* @embed */ background-image: url(images/ui-icons_72a7cf_256x240.png); }
-.ui-state-default .ui-icon { /* @embed */ background-image: url(images/ui-icons_3d80b3_256x240.png); }
-.ui-state-hover .ui-icon, .ui-state-focus .ui-icon { /* @embed */ background-image: url(images/ui-icons_2694e8_256x240.png); }
-.ui-state-active .ui-icon { /* @embed */ background-image: url(images/ui-icons_666666_256x240.png); }
-.ui-state-highlight .ui-icon { /* @embed */ background-image: url(images/ui-icons_2e83ff_256x240.png); }
-.ui-state-error .ui-icon, .ui-state-error-text .ui-icon { /* @embed */ background-image: url(images/ui-icons_ffffff_256x240.png); }
-
-/* positioning */
-.ui-icon-carat-1-n { background-position: 0 0; }
-.ui-icon-carat-1-ne { background-position: -16px 0; }
-.ui-icon-carat-1-e { background-position: -32px 0; }
-.ui-icon-carat-1-se { background-position: -48px 0; }
-.ui-icon-carat-1-s { background-position: -64px 0; }
-.ui-icon-carat-1-sw { background-position: -80px 0; }
-.ui-icon-carat-1-w { background-position: -96px 0; }
-.ui-icon-carat-1-nw { background-position: -112px 0; }
-.ui-icon-carat-2-n-s { background-position: -128px 0; }
-.ui-icon-carat-2-e-w { background-position: -144px 0; }
-.ui-icon-triangle-1-n { background-position: 0 -16px; }
-.ui-icon-triangle-1-ne { background-position: -16px -16px; }
-.ui-icon-triangle-1-e { background-position: -32px -16px; }
-.ui-icon-triangle-1-se { background-position: -48px -16px; }
-.ui-icon-triangle-1-s { background-position: -64px -16px; }
-.ui-icon-triangle-1-sw { background-position: -80px -16px; }
-.ui-icon-triangle-1-w { background-position: -96px -16px; }
-.ui-icon-triangle-1-nw { background-position: -112px -16px; }
-.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
-.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
-.ui-icon-arrow-1-n { background-position: 0 -32px; }
-.ui-icon-arrow-1-ne { background-position: -16px -32px; }
-.ui-icon-arrow-1-e { background-position: -32px -32px; }
-.ui-icon-arrow-1-se { background-position: -48px -32px; }
-.ui-icon-arrow-1-s { background-position: -64px -32px; }
-.ui-icon-arrow-1-sw { background-position: -80px -32px; }
-.ui-icon-arrow-1-w { background-position: -96px -32px; }
-.ui-icon-arrow-1-nw { background-position: -112px -32px; }
-.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
-.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
-.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
-.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
-.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
-.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
-.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
-.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
-.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
-.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
-.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
-.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
-.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
-.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
-.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
-.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
-.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
-.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
-.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
-.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
-.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
-.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
-.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
-.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
-.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
-.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
-.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
-.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
-.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
-.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
-.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
-.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
-.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
-.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
-.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
-.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
-.ui-icon-arrow-4 { background-position: 0 -80px; }
-.ui-icon-arrow-4-diag { background-position: -16px -80px; }
-.ui-icon-extlink { background-position: -32px -80px; }
-.ui-icon-newwin { background-position: -48px -80px; }
-.ui-icon-refresh { background-position: -64px -80px; }
-.ui-icon-shuffle { background-position: -80px -80px; }
-.ui-icon-transfer-e-w { background-position: -96px -80px; }
-.ui-icon-transferthick-e-w { background-position: -112px -80px; }
-.ui-icon-folder-collapsed { background-position: 0 -96px; }
-.ui-icon-folder-open { background-position: -16px -96px; }
-.ui-icon-document { background-position: -32px -96px; }
-.ui-icon-document-b { background-position: -48px -96px; }
-.ui-icon-note { background-position: -64px -96px; }
-.ui-icon-mail-closed { background-position: -80px -96px; }
-.ui-icon-mail-open { background-position: -96px -96px; }
-.ui-icon-suitcase { background-position: -112px -96px; }
-.ui-icon-comment { background-position: -128px -96px; }
-.ui-icon-person { background-position: -144px -96px; }
-.ui-icon-print { background-position: -160px -96px; }
-.ui-icon-trash { background-position: -176px -96px; }
-.ui-icon-locked { background-position: -192px -96px; }
-.ui-icon-unlocked { background-position: -208px -96px; }
-.ui-icon-bookmark { background-position: -224px -96px; }
-.ui-icon-tag { background-position: -240px -96px; }
-.ui-icon-home { background-position: 0 -112px; }
-.ui-icon-flag { background-position: -16px -112px; }
-.ui-icon-calendar { background-position: -32px -112px; }
-.ui-icon-cart { background-position: -48px -112px; }
-.ui-icon-pencil { background-position: -64px -112px; }
-.ui-icon-clock { background-position: -80px -112px; }
-.ui-icon-disk { background-position: -96px -112px; }
-.ui-icon-calculator { background-position: -112px -112px; }
-.ui-icon-zoomin { background-position: -128px -112px; }
-.ui-icon-zoomout { background-position: -144px -112px; }
-.ui-icon-search { background-position: -160px -112px; }
-.ui-icon-wrench { background-position: -176px -112px; }
-.ui-icon-gear { background-position: -192px -112px; }
-.ui-icon-heart { background-position: -208px -112px; }
-.ui-icon-star { background-position: -224px -112px; }
-.ui-icon-link { background-position: -240px -112px; }
-.ui-icon-cancel { background-position: 0 -128px; }
-.ui-icon-plus { background-position: -16px -128px; }
-.ui-icon-plusthick { background-position: -32px -128px; }
-.ui-icon-minus { background-position: -48px -128px; }
-.ui-icon-minusthick { background-position: -64px -128px; }
-.ui-icon-close { background-position: -80px -128px; }
-.ui-icon-closethick { background-position: -96px -128px; }
-.ui-icon-key { background-position: -112px -128px; }
-.ui-icon-lightbulb { background-position: -128px -128px; }
-.ui-icon-scissors { background-position: -144px -128px; }
-.ui-icon-clipboard { background-position: -160px -128px; }
-.ui-icon-copy { background-position: -176px -128px; }
-.ui-icon-contact { background-position: -192px -128px; }
-.ui-icon-image { background-position: -208px -128px; }
-.ui-icon-video { background-position: -224px -128px; }
-.ui-icon-script { background-position: -240px -128px; }
-.ui-icon-alert { background-position: 0 -144px; }
-.ui-icon-info { background-position: -16px -144px; }
-.ui-icon-notice { background-position: -32px -144px; }
-.ui-icon-help { background-position: -48px -144px; }
-.ui-icon-check { background-position: -64px -144px; }
-.ui-icon-bullet { background-position: -80px -144px; }
-.ui-icon-radio-off { background-position: -96px -144px; }
-.ui-icon-radio-on { background-position: -112px -144px; }
-.ui-icon-pin-w { background-position: -128px -144px; }
-.ui-icon-pin-s { background-position: -144px -144px; }
-.ui-icon-play { background-position: 0 -160px; }
-.ui-icon-pause { background-position: -16px -160px; }
-.ui-icon-seek-next { background-position: -32px -160px; }
-.ui-icon-seek-prev { background-position: -48px -160px; }
-.ui-icon-seek-end { background-position: -64px -160px; }
-.ui-icon-seek-start { background-position: -80px -160px; }
-/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
-.ui-icon-seek-first { background-position: -80px -160px; }
-.ui-icon-stop { background-position: -96px -160px; }
-.ui-icon-eject { background-position: -112px -160px; }
-.ui-icon-volume-off { background-position: -128px -160px; }
-.ui-icon-volume-on { background-position: -144px -160px; }
-.ui-icon-power { background-position: 0 -176px; }
-.ui-icon-signal-diag { background-position: -16px -176px; }
-.ui-icon-signal { background-position: -32px -176px; }
-.ui-icon-battery-0 { background-position: -48px -176px; }
-.ui-icon-battery-1 { background-position: -64px -176px; }
-.ui-icon-battery-2 { background-position: -80px -176px; }
-.ui-icon-battery-3 { background-position: -96px -176px; }
-.ui-icon-circle-plus { background-position: 0 -192px; }
-.ui-icon-circle-minus { background-position: -16px -192px; }
-.ui-icon-circle-close { background-position: -32px -192px; }
-.ui-icon-circle-triangle-e { background-position: -48px -192px; }
-.ui-icon-circle-triangle-s { background-position: -64px -192px; }
-.ui-icon-circle-triangle-w { background-position: -80px -192px; }
-.ui-icon-circle-triangle-n { background-position: -96px -192px; }
-.ui-icon-circle-arrow-e { background-position: -112px -192px; }
-.ui-icon-circle-arrow-s { background-position: -128px -192px; }
-.ui-icon-circle-arrow-w { background-position: -144px -192px; }
-.ui-icon-circle-arrow-n { background-position: -160px -192px; }
-.ui-icon-circle-zoomin { background-position: -176px -192px; }
-.ui-icon-circle-zoomout { background-position: -192px -192px; }
-.ui-icon-circle-check { background-position: -208px -192px; }
-.ui-icon-circlesmall-plus { background-position: 0 -208px; }
-.ui-icon-circlesmall-minus { background-position: -16px -208px; }
-.ui-icon-circlesmall-close { background-position: -32px -208px; }
-.ui-icon-squaresmall-plus { background-position: -48px -208px; }
-.ui-icon-squaresmall-minus { background-position: -64px -208px; }
-.ui-icon-squaresmall-close { background-position: -80px -208px; }
-.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
-.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
-.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
-.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
-.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
-.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Corner radius */
-.ui-corner-tl { border-top-left-radius: 0; }
-.ui-corner-tr { border-top-right-radius: 0; }
-.ui-corner-bl { border-bottom-left-radius: 0; }
-.ui-corner-br { border-bottom-right-radius: 0; }
-.ui-corner-top { border-top-left-radius: 0; border-top-right-radius: 0; }
-.ui-corner-bottom { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
-.ui-corner-right {  border-top-right-radius: 0; border-bottom-right-radius: 0; }
-.ui-corner-left { border-top-left-radius: 0; border-bottom-left-radius: 0; }
-.ui-corner-all { border-radius: 0; }
-
-/* Overlays */
-.ui-widget-overlay { background: #000000; opacity: .75;filter:Alpha(Opacity=75); }
-.ui-widget-shadow { margin: -7px 0 0 -7px; padding: 7px; /* @embed */ background: #000000 url(images/ui-bg_flat_70_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); border-radius: 8px; }
diff --git a/skins/Vector/skinStyles/mediawiki.notification.less b/skins/Vector/skinStyles/mediawiki.notification.less
deleted file mode 100644 (file)
index 55cfe76..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-@import "../variables";
-
-/* mediawiki.notification */
-
-// This wrapper class is needed to ensure these rules have larger CSS
-// selector specificity than default styles
-.mediawiki {
-       .mw-notification-area {
-               font-size: 0.8em;
-       }
-
-       .mw-notification-area-layout {
-               top: 7em;
-       }
-
-       .mw-notification {
-               background-color: #fff;
-               background-color: rgba(255, 255, 255, 0.93);
-               padding: 0.75em 1.5em;
-               border: solid 1px @content-border-color;
-               border-radius: 0.75em;
-               box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.125);
-       }
-}
diff --git a/skins/Vector/skinStyles/mediawiki.special.less b/skins/Vector/skinStyles/mediawiki.special.less
deleted file mode 100644 (file)
index 6af4b1e..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Adjusts for decreased margin-bottom for h2 elements inside #content div
- * introduced in March / April 2014 typography update.
- */
-table.mw-specialpages-table {
-       margin-top: 0;
-}
diff --git a/skins/Vector/skinStyles/mediawiki.special.preferences.less b/skins/Vector/skinStyles/mediawiki.special.preferences.less
deleted file mode 100644 (file)
index c463718..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-@import "mediawiki.mixins";
-@import "../variables";
-
-/**
- * The following code is highly modified from monobook. It would be nice if the
- * preftoc id was more human readable like preferences-toc for instance,
- * howerver this would require backporting the other skins.
- */
-
-#preftoc {
-       /* Tabs */
-       width: 100%;
-       float: left;
-       clear: both;
-       margin: 0 !important;
-       padding: 0 !important;
-       .background-image('../images/preferences/break.png');
-       background-position: bottom left;
-       background-repeat: no-repeat;
-
-       li {
-               /* Tab */
-               float: left;
-               margin: 0;
-               padding: 0;
-               padding-right: 1px;
-               height: 2.25em;
-               white-space: nowrap;
-               list-style-type: none;
-               list-style-image: none;
-               .background-image('../images/preferences/break.png');
-               background-position: bottom right;
-               background-repeat: no-repeat;
-
-               /* Sadly, IE6 won't understand this */
-               &:first-child {
-                       margin-left: 1px;
-               }
-
-               &.selected {
-                       a {
-                               .background-image('../images/preferences/fade.png');
-                               background-position: bottom;
-                               background-repeat: repeat-x;
-                               color: #333;
-                               text-decoration: none;
-                       }
-               }
-       }
-
-       a,
-       a:active {
-               display: inline-block;
-               position: relative;
-               color: @menu-link-color;
-               padding: 0.5em;
-               text-decoration: none;
-               background-image: none;
-               font-size: 0.9em;
-       }
-
-       a:hover,
-       a:focus {
-               text-decoration: underline;
-       }
-}
-
-#preferences {
-       float: left;
-       width: 100%;
-       margin: 0;
-       margin-top: -2px;
-       clear: both;
-       border: solid 1px #ccc;
-       background-color: #fafafa;
-
-       fieldset {
-               border: none;
-               border-top: solid 1px #ccc;
-
-               &.prefsection {
-                       border: none;
-                       padding: 0;
-                       margin: 1em;
-
-                       legend.mainLegend {
-                               display: none;
-                       }
-               }
-       }
-
-       legend {
-               color: #666;
-       }
-
-       td {
-               padding-left: 0.5em;
-               padding-right: 0.5em;
-       }
-
-       div.mw-prefs-buttons {
-               padding: 1em;
-
-               input {
-                       margin-right: 0.25em;
-               }
-       }
-}
-
-.htmlform-tip {
-       font-size: x-small;
-       padding: .2em 2em;
-       color: #666;
-}
diff --git a/skins/Vector/variables.less b/skins/Vector/variables.less
deleted file mode 100644 (file)
index b17d15c..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-@html-font-size: 100%;
-
-// Page content
-// FIXME: Use global variable since Echo and CentralNotice use this variable
-@content-border-color: #a7d7f9;
-// FIXME: Find an open font that works with this stack and is readable by Windows users
-@content-font-family: sans-serif;
-@content-font-color: #252525;
-@content-font-size: 0.875em;
-@content-line-height: 1.6;
-@content-padding: 1em;
-@content-heading-font-size: 1.8em;
-@content-heading-font-family: "Linux Libertine", Georgia, Times, serif;
-@body-background-color: #fff;
-@heading-line-height: 1.3;
-
-// Navigation
-@menu-background-color: #f6f6f6;
-
-// Common menu
-@menu-link-color: #0645ad;
-
-// Main menu
-@menu-main-font-size: inherit;
-
-@menu-main-heading-font-size: 0.75em;
-@menu-main-heading-padding: 0.25em 0 0.25em 0.25em;
-@menu-main-heading-color: #4d4d4d;
-
-@menu-main-body-font-size: 0.75em;
-@menu-main-body-link-color: #0645ad;
-@menu-main-body-link-visited-color: #0b0080;
-@menu-main-body-margin: 0 0 0 1.25em;
-@menu-main-body-padding: 0;
-
-@menu-main-logo-left: 0.5em;
-
-// Personal menu
-@menu-personal-font-size: 0.75em;
diff --git a/skins/Vector/vector.js b/skins/Vector/vector.js
deleted file mode 100644 (file)
index 7be3535..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * Vector-specific scripts
- */
-jQuery( function ( $ ) {
-       /**
-        * Focus search input at the very end
-        */
-       $( '#searchInput' ).attr( 'tabindex', $( document ).lastTabIndex() + 1 );
-
-       /**
-        * Dropdown menu accessibility
-        */
-       $( 'div.vectorMenu' ).each( function () {
-               var $el = $( this );
-               $el.find( '> h3 > a' ).parent()
-                       .attr( 'tabindex', '0' )
-                       // For accessibility, show the menu when the h3 is clicked (bug 24298/46486)
-                       .on( 'click keypress', function ( e ) {
-                               if ( e.type === 'click' || e.which === 13 ) {
-                                       $el.toggleClass( 'menuForceShow' );
-                                       e.preventDefault();
-                               }
-                       } )
-                       // When the heading has focus, also set a class that will change the arrow icon
-                       .focus( function () {
-                               $el.find( '> a' ).addClass( 'vectorMenuFocus' );
-                       } )
-                       .blur( function () {
-                               $el.find( '> a' ).removeClass( 'vectorMenuFocus' );
-                       } )
-                       .find( '> a:first' )
-                       // As the h3 can already be focused there's no need for the link to be focusable
-                       .attr( 'tabindex', '-1' );
-       } );
-
-       /**
-        * Sidebar
-        */
-       $( '#mw-panel > .portal:first' ).addClass( 'first' );
-
-       /**
-        * Collapsible tabs
-        */
-       var $cactions = $( '#p-cactions' ),
-               $tabContainer = $( '#p-views ul' ),
-               originalDropdownWidth = $cactions.width();
-
-       // Bind callback functions to animate our drop down menu in and out
-       // and then call the collapsibleTabs function on the menu
-       $tabContainer
-               .bind( 'beforeTabCollapse', function () {
-                       // If the dropdown was hidden, show it
-                       if ( $cactions.hasClass( 'emptyPortlet' ) ) {
-                               $cactions
-                                       .removeClass( 'emptyPortlet' )
-                                       .find( 'h3' )
-                                               .css( 'width', '1px' ).animate( { 'width': originalDropdownWidth }, 'normal' );
-                       }
-               } )
-               .bind( 'beforeTabExpand', function () {
-                       // If we're removing the last child node right now, hide the dropdown
-                       if ( $cactions.find( 'li' ).length === 1 ) {
-                               $cactions.find( 'h3' ).animate( { 'width': '1px' }, 'normal', function () {
-                                       $( this ).attr( 'style', '' )
-                                               .parent().addClass( 'emptyPortlet' );
-                               });
-                       }
-               } )
-               .collapsibleTabs( {
-                       expandCondition: function ( eleWidth ) {
-                               // (This looks a bit awkward because we're doing expensive queries as late as possible.)
-
-                               var distance = $.collapsibleTabs.calculateTabDistance();
-                               // If there are at least eleWidth + 1 pixels of free space, expand.
-                               // We add 1 because .width() will truncate fractional values but .offset() will not.
-                               if ( distance >= eleWidth + 1 ) {
-                                       return true;
-                               } else {
-                                       // Maybe we can still expand? Account for the width of the "Actions" dropdown if the
-                                       // expansion would hide it.
-                                       if ( $cactions.find( 'li' ).length === 1 ) {
-                                               return distance >= eleWidth + 1 - originalDropdownWidth;
-                                       } else {
-                                               return false;
-                                       }
-                               }
-                       },
-                       collapseCondition: function () {
-                               // (This looks a bit awkward because we're doing expensive queries as late as possible.)
-                               // TODO The dropdown itself should probably "fold" to just the down-arrow (hiding the text)
-                               // if it can't fit on the line?
-
-                               // If there's an overlap, collapse.
-                               if ( $.collapsibleTabs.calculateTabDistance() < 0 ) {
-                                       // But only if the width of the tab to collapse is smaller than the width of the dropdown
-                                       // we would have to insert. An example language where this happens is Lithuanian (lt).
-                                       if ( $cactions.hasClass( 'emptyPortlet' ) ) {
-                                               return $tabContainer.children( 'li.collapsible:last' ).width() > originalDropdownWidth;
-                                       } else {
-                                               return true;
-                                       }
-                               } else {
-                                       return false;
-                               }
-                       }
-               } );
-} );
index 2937790..19746a9 100644 (file)
@@ -12,8 +12,8 @@ class MimeMagicTest extends MediaWikiTestCase {
        /**
         * @dataProvider providerImproveTypeFromExtension
         * @param $ext String File extension (no leading dot)
-        * @param $oldMime String Initially detected mime
-        * @param $expectedMime String Mime type after taking extension into account
+        * @param $oldMime String Initially detected MIME
+        * @param $expectedMime String MIME type after taking extension into account
         */
        function testImproveTypeFromExtension( $ext, $oldMime, $expectedMime ) {
                $actualMime = $this->mimeMagic->improveTypeFromExtension( $oldMime, $ext );
index 2cfdfcd..e866386 100644 (file)
@@ -141,14 +141,14 @@ class OutputPageTest extends MediaWikiTestCase {
                        // Load module script only
                        array(
                                array( 'test.foo', ResourceLoaderModule::TYPE_SCRIPTS ),
-                               '<script src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.foo&amp;only=scripts&amp;skin=vector&amp;*"></script>
+                               '<script src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.foo&amp;only=scripts&amp;skin=fallback&amp;*"></script>
 '
                        ),
                        // Load module styles only
                        // This also tests the order the modules are put into the url
                        array(
                                array( array( 'test.baz', 'test.foo', 'test.bar' ), ResourceLoaderModule::TYPE_STYLES ),
-                               '<link rel=stylesheet href="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.bar%2Cbaz%2Cfoo&amp;only=styles&amp;skin=vector&amp;*">
+                               '<link rel=stylesheet href="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.bar%2Cbaz%2Cfoo&amp;only=styles&amp;skin=fallback&amp;*">
 '
                        ),
                        // Load private module (combined)
@@ -163,13 +163,13 @@ mw.loader.implement("test.quux",function($,jQuery){mw.test.baz({token:123});},{"
                        // Load module script with with ESI
                        array(
                                array( 'test.foo', ResourceLoaderModule::TYPE_SCRIPTS, true ),
-                               '<script><esi:include src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.foo&amp;only=scripts&amp;skin=vector&amp;*" /></script>
+                               '<script><esi:include src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.foo&amp;only=scripts&amp;skin=fallback&amp;*" /></script>
 '
                        ),
                        // Load module styles with with ESI
                        array(
                                array( 'test.foo', ResourceLoaderModule::TYPE_STYLES, true ),
-                               '<style><esi:include src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.foo&amp;only=styles&amp;skin=vector&amp;*" /></style>
+                               '<style><esi:include src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.foo&amp;only=styles&amp;skin=fallback&amp;*" /></style>
 ',
                        ),
                );
index 0ee335a..245cdff 100644 (file)
@@ -70,32 +70,23 @@ class SpecialPageTest extends MediaWikiTestCase {
 
                $this->setExpectedException( 'UserNotLoggedIn', $expected );
 
-               if ( $reason === 'blank' && $title === 'blank' ) {
-                       $specialPage->requireLogin();
-               } else {
-                       $specialPage->requireLogin( $reason, $title );
-               }
+               // $specialPage->requireLogin( [ $reason [, $title ] ] )
+               call_user_func_array(
+                       array( $specialPage, 'requireLogin' ),
+                       array_filter( array( $reason, $title ) )
+               );
        }
 
        public function requireLoginAnonProvider() {
                $lang = 'en';
 
-               $msg = wfMessage( 'loginreqlink' )->inLanguage( $lang )->escaped();
-               $loginLink = '<a href="/index.php?title=Special:UserLogin&amp;returnto=Special%3AWatchlist"'
-                       . ' title="Special:UserLogin">' . $msg . '</a>';
-
-               $expected1 = wfMessage( 'exception-nologin-text-manual' )
-                       ->params( $loginLink )->inLanguage( $lang )->text();
-
+               $expected1 = wfMessage( 'exception-nologin-text' )->inLanguage( $lang )->text();
                $expected2 = wfMessage( 'about' )->inLanguage( $lang )->text();
 
                return array(
                        array( $expected1, null, null ),
                        array( $expected2, 'about', null ),
-                       array( $expected2, wfMessage( 'about' ), null ),
                        array( $expected2, 'about', 'about' ),
-                       array( $expected2, 'about', wfMessage( 'about' ) ),
-                       array( $expected1, 'blank', 'blank' )
                );
        }
 
diff --git a/tests/phpunit/includes/api/ApiModuleManagerTest.php b/tests/phpunit/includes/api/ApiModuleManagerTest.php
new file mode 100644 (file)
index 0000000..1ac9b9d
--- /dev/null
@@ -0,0 +1,274 @@
+<?php
+
+/**
+ * @covers ApiModuleManager
+ *
+ * @group API
+ * @group Database
+ * @group medium
+ */
+class ApiModuleManagerTest extends MediaWikiTestCase {
+
+       private function getModuleManager() {
+               $request = new FauxRequest();
+               $main = new ApiMain( $request );
+               return new ApiModuleManager( $main );
+       }
+
+       public function newApiLogin( $main, $action ) {
+               return new ApiLogin( $main, $action );
+       }
+
+       public function addModuleProvider() {
+               return array(
+                       'plain class' => array(
+                               'login',
+                               'action',
+                               'ApiLogin',
+                               null,
+                       ),
+
+                       'with factory' => array(
+                               'login',
+                               'action',
+                               'ApiLogin',
+                               array( $this, 'newApiLogin' ),
+                       ),
+
+                       'with closure' => array(
+                               'logout',
+                               'action',
+                               'ApiLogout',
+                               function( ApiMain $main, $action ) {
+                                               return new ApiLogout( $main, $action );
+                               },
+                       ),
+               );
+       }
+
+       /**
+        * @dataProvider addModuleProvider
+        */
+       public function testAddModule( $name, $group, $class, $factory = null ) {
+               $moduleManager = $this->getModuleManager();
+               $moduleManager->addModule( $name, $group, $class, $factory );
+
+               $this->assertTrue( $moduleManager->isDefined( $name, $group ), 'isDefined' );
+               $this->assertNotNull( $moduleManager->getModule( $name, $group, true ), 'getModule' );
+       }
+
+       public function addModulesProvider() {
+               return array(
+                       'empty' => array(
+                               array(),
+                               'action',
+                       ),
+
+                       'simple' => array(
+                               array(
+                                       'login' => 'ApiLogin',
+                                       'logout' => 'ApiLogout',
+                               ),
+                               'action',
+                       ),
+
+                       'with factories' => array(
+                               array(
+                                       'login' => array(
+                                               'class' => 'ApiLogin',
+                                               'factory' => array( $this, 'newApiLogin' ),
+                                       ),
+                                       'logout' => array(
+                                               'class' => 'ApiLogout',
+                                               'factory' => function( ApiMain $main, $action ) {
+                                                       return new ApiLogout( $main, $action );
+                                               },
+                                       ),
+                               ),
+                               'action',
+                       ),
+               );
+       }
+
+       /**
+        * @dataProvider addModulesProvider
+        */
+       public function testAddModules( array $modules, $group ) {
+               $moduleManager = $this->getModuleManager();
+               $moduleManager->addModules( $modules, $group );
+
+               foreach ( array_keys( $modules ) as $name ) {
+                       $this->assertTrue( $moduleManager->isDefined( $name, $group ), 'isDefined' );
+                       $this->assertNotNull( $moduleManager->getModule( $name, $group, true ), 'getModule' );
+               }
+       }
+
+       public function getModuleProvider() {
+               $modules = array(
+                       'feedrecentchanges' => 'ApiFeedRecentChanges',
+                       'feedcontributions' => array( 'class' => 'ApiFeedContributions' ),
+                       'login' => array(
+                               'class' => 'ApiLogin',
+                               'factory' => array( $this, 'newApiLogin' ),
+                       ),
+                       'logout' => array(
+                               'class' => 'ApiLogout',
+                               'factory' => function( ApiMain $main, $action ) {
+                                               return new ApiLogout( $main, $action );
+                                       },
+                       ),
+               );
+
+               return array(
+                       'legacy entry' => array(
+                               $modules,
+                               'feedrecentchanges',
+                               'ApiFeedRecentChanges',
+                       ),
+
+                       'just a class' => array(
+                               $modules,
+                               'feedcontributions',
+                               'ApiFeedContributions',
+                       ),
+
+                       'with factory' => array(
+                               $modules,
+                               'login',
+                               'ApiLogin',
+                       ),
+
+                       'with closure' => array(
+                               $modules,
+                               'logout',
+                               'ApiLogout',
+                       ),
+               );
+       }
+
+       /**
+        * @dataProvider getModuleProvider
+        */
+       public function testGetModule( $modules, $name, $expectedClass ) {
+               $moduleManager = $this->getModuleManager();
+               $moduleManager->addModules( $modules, 'test' );
+
+               // should return the right module
+               $module1 = $moduleManager->getModule( $name, null, false );
+               $this->assertInstanceOf( $expectedClass, $module1 );
+
+               // should pass group check (with caching disabled)
+               $module2 = $moduleManager->getModule( $name, 'test', true );
+               $this->assertNotNull( $module2 );
+
+               // should use cached instance
+               $module3 = $moduleManager->getModule( $name, null, false );
+               $this->assertSame( $module1, $module3 );
+
+               // should not use cached instance if caching is disabled
+               $module4 = $moduleManager->getModule( $name, null, true );
+               $this->assertNotSame( $module1, $module4 );
+       }
+
+       public function testGetModule_null() {
+               $modules = array(
+                       'login' => 'ApiLogin',
+                       'logout' => 'ApiLogout',
+               );
+
+               $moduleManager = $this->getModuleManager();
+               $moduleManager->addModules( $modules, 'test' );
+
+               $this->assertNull( $moduleManager->getModule( 'quux' ), 'unknown name' );
+               $this->assertNull( $moduleManager->getModule( 'login', 'bla' ), 'wrong group' );
+       }
+
+       public function testGetNames() {
+               $fooModules = array(
+                       'login' => 'ApiLogin',
+                       'logout' => 'ApiLogout',
+               );
+
+               $barModules = array(
+                       'feedcontributions' => array( 'class' => 'ApiFeedContributions' ),
+                       'feedrecentchanges' => array( 'class' => 'ApiFeedRecentChanges' ),
+               );
+
+               $moduleManager = $this->getModuleManager();
+               $moduleManager->addModules( $fooModules, 'foo' );
+               $moduleManager->addModules( $barModules, 'bar' );
+
+               $fooNames = $moduleManager->getNames( 'foo' );
+               $this->assertArrayEquals( array_keys( $fooModules ), $fooNames );
+
+               $allNames = $moduleManager->getNames();
+               $allModules = array_merge( $fooModules, $barModules );
+               $this->assertArrayEquals( array_keys( $allModules ), $allNames );
+       }
+
+       public function testGetNamesWithClasses() {
+               $fooModules = array(
+                       'login' => 'ApiLogin',
+                       'logout' => 'ApiLogout',
+               );
+
+               $barModules = array(
+                       'feedcontributions' => array( 'class' => 'ApiFeedContributions' ),
+                       'feedrecentchanges' => array( 'class' => 'ApiFeedRecentChanges' ),
+               );
+
+               $moduleManager = $this->getModuleManager();
+               $moduleManager->addModules( $fooModules, 'foo' );
+               $moduleManager->addModules( $barModules, 'bar' );
+
+               $fooNamesWithClasses = $moduleManager->getNamesWithClasses( 'foo' );
+               $this->assertArrayEquals( $fooModules, $fooNamesWithClasses );
+
+               $allNamesWithClasses = $moduleManager->getNamesWithClasses();
+               $allModules = array_merge( $fooModules, array(
+                       'feedcontributions' => 'ApiFeedContributions',
+                       'feedrecentchanges' => 'ApiFeedRecentChanges',
+               ) );
+               $this->assertArrayEquals( $allModules, $allNamesWithClasses );
+       }
+
+       public function testGetModuleGroup() {
+               $fooModules = array(
+                       'login' => 'ApiLogin',
+                       'logout' => 'ApiLogout',
+               );
+
+               $barModules = array(
+                       'feedcontributions' => array( 'class' => 'ApiFeedContributions' ),
+                       'feedrecentchanges' => array( 'class' => 'ApiFeedRecentChanges' ),
+               );
+
+               $moduleManager = $this->getModuleManager();
+               $moduleManager->addModules( $fooModules, 'foo' );
+               $moduleManager->addModules( $barModules, 'bar' );
+
+               $this->assertEquals( 'foo', $moduleManager->getModuleGroup( 'login' ) );
+               $this->assertEquals( 'bar', $moduleManager->getModuleGroup( 'feedrecentchanges' ) );
+               $this->assertNull( $moduleManager->getModuleGroup( 'quux' ) );
+       }
+
+       public function testGetGroups() {
+               $fooModules = array(
+                       'login' => 'ApiLogin',
+                       'logout' => 'ApiLogout',
+               );
+
+               $barModules = array(
+                       'feedcontributions' => array( 'class' => 'ApiFeedContributions' ),
+                       'feedrecentchanges' => array( 'class' => 'ApiFeedRecentChanges' ),
+               );
+
+               $moduleManager = $this->getModuleManager();
+               $moduleManager->addModules( $fooModules, 'foo' );
+               $moduleManager->addModules( $barModules, 'bar' );
+
+               $groups = $moduleManager->getGroups();
+               $this->assertArrayEquals( array( 'foo', 'bar' ), $groups );
+       }
+
+}
index 40407dc..837becc 100644 (file)
@@ -98,7 +98,7 @@ abstract class ApiTestCaseUpload extends ApiTestCase {
         *
         * @param string $fieldName name this would have in the upload form
         * @param string $fileName name to title this
-        * @param string $type mime type
+        * @param string $type MIME type
         * @param string $filePath path where to find file contents
         *
         * @throws Exception
index 38beb87..13da33c 100644 (file)
@@ -10,12 +10,15 @@ class PrefixUniquenessTest extends MediaWikiTestCase {
        public function testPrefixes() {
                $main = new ApiMain( new FauxRequest() );
                $query = new ApiQuery( $main, 'foo', 'bar' );
-               $modules = $query->getModuleManager()->getNamesWithClasses();
+               $moduleManager = $query->getModuleManager();
+
+               $modules = $moduleManager->getNames();
                $prefixes = array();
 
-               foreach ( $modules as $name => $class ) {
-                       /** @var ApiQueryBase $module */
-                       $module = new $class( $query, $name );
+               foreach ( $modules as $name ) {
+                       $module = $moduleManager->getModule( $name );
+                       $class = get_class( $module );
+
                        $prefix = $module->getModulePrefix();
                        if ( isset( $prefixes[$prefix] ) ) {
                                $this->fail( "Module prefix '{$prefix}' is shared between {$class} and {$prefixes[$prefix]}" );
index e7bb35c..aca77be 100644 (file)
@@ -17,8 +17,8 @@ class SpecialMIMESearchTest extends MediaWikiTestCase {
        /**
         * @dataProvider providerMimeFiltering
         * @param $par String subpage for special page
-        * @param $major String Major mime type we expect to look for
-        * @param $minor String Minor mime type we expect to look for
+        * @param $major String Major MIME type we expect to look for
+        * @param $minor String Minor MIME type we expect to look for
         */
        function testMimeFiltering( $par, $major, $minor ) {
                $this->page->run( $par );
diff --git a/tests/phpunit/languages/LanguageArqTest.php b/tests/phpunit/languages/LanguageArqTest.php
new file mode 100644 (file)
index 0000000..3fa56d7
--- /dev/null
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Based on LanguageMlTest
+ * @author Joel Sahleen
+ * @copyright Copyright © 2014, Joel Sahleen
+ * @file
+ */
+
+/** Tests for MediaWiki languages/LanguageArq.php */
+class LanguageArqTest extends LanguageClassesTestCase {
+       /**
+        * @dataProvider provideNumber
+        * @covers Language::formatNum
+        */
+       public function testFormatNum( $result, $value ) {
+               $this->assertEquals( $result, $this->getLang()->formatNum( $value ) );
+       }
+
+       public static function provideNumber() {
+               return array(
+                       array( '1.234.567', '1234567'),
+                       array( '-12,89', -12.89 ),
+                       );
+       }
+
+}
index d53c10c..efaa65b 100644 (file)
--- a/thumb.php
+++ b/thumb.php
@@ -24,7 +24,7 @@
 define( 'MW_NO_OUTPUT_COMPRESSION', 1 );
 require __DIR__ . '/includes/WebStart.php';
 
-// Don't use fancy mime detection, just check the file extension for jpg/gif/png
+// Don't use fancy MIME detection, just check the file extension for jpg/gif/png
 $wgTrivialMimeDetection = true;
 
 if ( defined( 'THUMB_HANDLER' ) ) {
@@ -573,7 +573,7 @@ function wfExtractThumbParams( $file, $params ) {
                return $params; // valid thumbnail URL (via extension or config)
        }
 
-       // FIXME: Files in the temp zone don't set a mime type, which means
+       // FIXME: Files in the temp zone don't set a MIME type, which means
        // they don't have a handler. Which means we can't parse the param
        // string. However, not a big issue as what good is a param string
        // if you have no handler to make use of the param string and