summaryrefslogtreecommitdiff
path: root/extensions/ConfirmEdit
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2015-06-04 07:31:04 +0200
committerPierre Schmitz <pierre@archlinux.de>2015-06-04 07:58:39 +0200
commitf6d65e533c62f6deb21342d4901ece24497b433e (patch)
treef28adf0362d14bcd448f7b65a7aaf38650f923aa /extensions/ConfirmEdit
parentc27b2e832fe25651ef2410fae85b41072aae7519 (diff)
Update to MediaWiki 1.25.1
Diffstat (limited to 'extensions/ConfirmEdit')
-rw-r--r--extensions/ConfirmEdit/ApiFancyCaptchaReload.php20
-rw-r--r--extensions/ConfirmEdit/ConfirmEdit.alias.php16
-rw-r--r--extensions/ConfirmEdit/ConfirmEdit.i18n.php35
-rw-r--r--extensions/ConfirmEdit/ConfirmEdit.php52
-rw-r--r--extensions/ConfirmEdit/ConfirmEditHooks.php96
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha.i18n.php35
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha.php88
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/FancyCaptcha.class.php (renamed from extensions/ConfirmEdit/FancyCaptcha.class.php)49
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/FancyCaptcha.php13
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/extension.json52
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/aeb-latn.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/af.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/aln.json (renamed from extensions/ConfirmEdit/i18n/fancy/aln.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/am.json (renamed from extensions/ConfirmEdit/i18n/fancy/am.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/an.json (renamed from extensions/ConfirmEdit/i18n/fancy/an.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ang.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ar.json (renamed from extensions/ConfirmEdit/i18n/fancy/ar.json)7
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/arq.json9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/arz.json (renamed from extensions/ConfirmEdit/i18n/fancy/arz.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/as.json (renamed from extensions/ConfirmEdit/i18n/fancy/as.json)8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ast.json (renamed from extensions/ConfirmEdit/i18n/fancy/ast.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/awa.json9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/az.json9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/azb.json9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ba.json (renamed from extensions/ConfirmEdit/i18n/fancy/ba.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/bcc.json (renamed from extensions/ConfirmEdit/i18n/fancy/bcc.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/bcl.json (renamed from extensions/ConfirmEdit/i18n/fancy/bcl.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/be-tarask.json (renamed from extensions/ConfirmEdit/i18n/fancy/be-tarask.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/be.json9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/bg.json (renamed from extensions/ConfirmEdit/i18n/fancy/bg.json)3
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/bgn.json9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/bn.json (renamed from extensions/ConfirmEdit/i18n/fancy/bn.json)8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/br.json (renamed from extensions/ConfirmEdit/i18n/fancy/br.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/bs.json (renamed from extensions/ConfirmEdit/i18n/fancy/bs.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ca.json (renamed from extensions/ConfirmEdit/i18n/fancy/ca.json)8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/cdo.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ce.json (renamed from extensions/ConfirmEdit/i18n/fancy/ce.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ckb.json (renamed from extensions/ConfirmEdit/i18n/fancy/ckb.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/cs.json (renamed from extensions/ConfirmEdit/i18n/fancy/cs.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/cu.json (renamed from extensions/ConfirmEdit/i18n/fancy/cu.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/cv.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/cy.json (renamed from extensions/ConfirmEdit/i18n/fancy/cy.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/da.json (renamed from extensions/ConfirmEdit/i18n/fancy/da.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/de-formal.json (renamed from extensions/ConfirmEdit/i18n/fancy/de-formal.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/de.json (renamed from extensions/ConfirmEdit/i18n/fancy/de.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/diq.json (renamed from extensions/ConfirmEdit/i18n/fancy/diq.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/dsb.json (renamed from extensions/ConfirmEdit/i18n/fancy/dsb.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/el.json (renamed from extensions/ConfirmEdit/i18n/fancy/el.json)8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/en.json15
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/eo.json (renamed from extensions/ConfirmEdit/i18n/fancy/eo.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/es.json (renamed from extensions/ConfirmEdit/i18n/fancy/es.json)5
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/et.json (renamed from extensions/ConfirmEdit/i18n/fancy/et.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/eu.json (renamed from extensions/ConfirmEdit/i18n/fancy/eu.json)6
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/fa.json (renamed from extensions/ConfirmEdit/i18n/fancy/fa.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/fi.json (renamed from extensions/ConfirmEdit/i18n/fancy/fi.json)5
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/fo.json (renamed from extensions/ConfirmEdit/i18n/fancy/fo.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/fr.json (renamed from extensions/ConfirmEdit/i18n/fancy/fr.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/frp.json (renamed from extensions/ConfirmEdit/i18n/fancy/frp.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/frr.json9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/fy.json (renamed from extensions/ConfirmEdit/i18n/fancy/fy.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ga.json (renamed from extensions/ConfirmEdit/i18n/fancy/ga.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/gl.json (renamed from extensions/ConfirmEdit/i18n/fancy/gl.json)7
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/gom-deva.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/gsw.json (renamed from extensions/ConfirmEdit/i18n/fancy/gsw.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/gu.json (renamed from extensions/ConfirmEdit/i18n/fancy/gu.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/he.json17
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/hi.json (renamed from extensions/ConfirmEdit/i18n/fancy/hi.json)5
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/hr.json (renamed from extensions/ConfirmEdit/i18n/fancy/hr.json)5
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/hsb.json (renamed from extensions/ConfirmEdit/i18n/fancy/hsb.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ht.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/hu.json (renamed from extensions/ConfirmEdit/i18n/fancy/hu.json)6
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/hy.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ia.json (renamed from extensions/ConfirmEdit/i18n/fancy/ia.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/id.json (renamed from extensions/ConfirmEdit/i18n/fancy/id.json)5
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ilo.json (renamed from extensions/ConfirmEdit/i18n/fancy/ilo.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/is.json (renamed from extensions/ConfirmEdit/i18n/fancy/is.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/it.json (renamed from extensions/ConfirmEdit/i18n/fancy/it.json)7
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ja.json (renamed from extensions/ConfirmEdit/i18n/fancy/ja.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/jut.json (renamed from extensions/ConfirmEdit/i18n/fancy/jut.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/jv.json (renamed from extensions/ConfirmEdit/i18n/fancy/jv.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ka.json (renamed from extensions/ConfirmEdit/i18n/fancy/ka.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/kaa.json (renamed from extensions/ConfirmEdit/i18n/fancy/kaa.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/khw.json9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/kk-arab.json (renamed from extensions/ConfirmEdit/i18n/fancy/kk-arab.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/kk-cyrl.json (renamed from extensions/ConfirmEdit/i18n/fancy/kk-cyrl.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/kk-latn.json (renamed from extensions/ConfirmEdit/i18n/fancy/kk-latn.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/km.json (renamed from extensions/ConfirmEdit/i18n/fancy/km.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/kn.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ko.json (renamed from extensions/ConfirmEdit/i18n/fancy/ko.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/krc.json (renamed from extensions/ConfirmEdit/i18n/fancy/krc.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ksh.json (renamed from extensions/ConfirmEdit/i18n/fancy/ksh.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ku-latn.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/kw.json (renamed from extensions/ConfirmEdit/i18n/fancy/kw.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ky.json (renamed from extensions/ConfirmEdit/i18n/fancy/ky.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/la.json (renamed from extensions/ConfirmEdit/i18n/fancy/la.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/lb.json (renamed from extensions/ConfirmEdit/i18n/fancy/lb.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/li.json (renamed from extensions/ConfirmEdit/i18n/fancy/li.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/lo.json (renamed from extensions/ConfirmEdit/i18n/fancy/lo.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/lrc.json11
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/lt.json10
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/lv.json (renamed from extensions/ConfirmEdit/i18n/fancy/lv.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/mai.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/min.json (renamed from extensions/ConfirmEdit/i18n/fancy/min.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/mk.json (renamed from extensions/ConfirmEdit/i18n/fancy/mk.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ml.json (renamed from extensions/ConfirmEdit/i18n/fancy/ml.json)2
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/mr.json (renamed from extensions/ConfirmEdit/i18n/fancy/mr.json)7
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ms.json (renamed from extensions/ConfirmEdit/i18n/fancy/ms.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/mt.json (renamed from extensions/ConfirmEdit/i18n/fancy/mt.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/nap.json16
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/nb.json (renamed from extensions/ConfirmEdit/i18n/fancy/nb.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/nds-nl.json (renamed from extensions/ConfirmEdit/i18n/fancy/nds-nl.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/nds.json (renamed from extensions/ConfirmEdit/i18n/fancy/nds.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ne.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/nl-informal.json (renamed from extensions/ConfirmEdit/i18n/fancy/nl-informal.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/nl.json (renamed from extensions/ConfirmEdit/i18n/fancy/nl.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/nn.json (renamed from extensions/ConfirmEdit/i18n/fancy/nn.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/oc.json (renamed from extensions/ConfirmEdit/i18n/fancy/oc.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/or.json (renamed from extensions/ConfirmEdit/i18n/fancy/or.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/pa.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/pfl.json9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/pl.json (renamed from extensions/ConfirmEdit/i18n/fancy/pl.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/pms.json (renamed from extensions/ConfirmEdit/i18n/fancy/pms.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/pnb.json (renamed from extensions/ConfirmEdit/i18n/fancy/pnb.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ps.json (renamed from extensions/ConfirmEdit/i18n/fancy/ps.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/pt-br.json (renamed from extensions/ConfirmEdit/i18n/fancy/pt-br.json)5
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/pt.json (renamed from extensions/ConfirmEdit/i18n/fancy/pt.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/qqq.json (renamed from extensions/ConfirmEdit/i18n/fancy/qqq.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/qu.json (renamed from extensions/ConfirmEdit/i18n/fancy/qu.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/rm.json (renamed from extensions/ConfirmEdit/i18n/fancy/rm.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ro.json (renamed from extensions/ConfirmEdit/i18n/fancy/ro.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/roa-tara.json (renamed from extensions/ConfirmEdit/i18n/fancy/roa-tara.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ru.json (renamed from extensions/ConfirmEdit/i18n/fancy/ru.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/rue.json (renamed from extensions/ConfirmEdit/i18n/fancy/rue.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/sa.json (renamed from extensions/ConfirmEdit/i18n/fancy/sa.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/sah.json (renamed from extensions/ConfirmEdit/i18n/fancy/sah.json)5
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/scn.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/si.json (renamed from extensions/ConfirmEdit/i18n/fancy/si.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/sk.json (renamed from extensions/ConfirmEdit/i18n/fancy/sk.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/sl.json (renamed from extensions/ConfirmEdit/i18n/fancy/sl.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/so.json (renamed from extensions/ConfirmEdit/i18n/fancy/so.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/sq.json (renamed from extensions/ConfirmEdit/i18n/fancy/sq.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/sr-ec.json (renamed from extensions/ConfirmEdit/i18n/fancy/sr-ec.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/sr-el.json (renamed from extensions/ConfirmEdit/i18n/fancy/sr-el.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/stq.json (renamed from extensions/ConfirmEdit/i18n/fancy/stq.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/su.json (renamed from extensions/ConfirmEdit/i18n/fancy/su.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/sv.json (renamed from extensions/ConfirmEdit/i18n/fancy/sv.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/szl.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ta.json (renamed from extensions/ConfirmEdit/i18n/fancy/ta.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/tcy.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/te.json (renamed from extensions/ConfirmEdit/i18n/fancy/te.json)6
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/tg-cyrl.json (renamed from extensions/ConfirmEdit/i18n/fancy/tg-cyrl.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/tg-latn.json (renamed from extensions/ConfirmEdit/i18n/fancy/tg-latn.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/th.json (renamed from extensions/ConfirmEdit/i18n/fancy/th.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/tk.json (renamed from extensions/ConfirmEdit/i18n/fancy/tk.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/tl.json (renamed from extensions/ConfirmEdit/i18n/fancy/tl.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/tr.json (renamed from extensions/ConfirmEdit/i18n/fancy/tr.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/tt-cyrl.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/uk.json (renamed from extensions/ConfirmEdit/i18n/fancy/uk.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/ur.json8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/uz.json (renamed from extensions/ConfirmEdit/i18n/fancy/uz.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/vec.json (renamed from extensions/ConfirmEdit/i18n/fancy/vec.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/vi.json (renamed from extensions/ConfirmEdit/i18n/fancy/vi.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/vo.json (renamed from extensions/ConfirmEdit/i18n/fancy/vo.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/vro.json (renamed from extensions/ConfirmEdit/i18n/fancy/vro.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/wa.json (renamed from extensions/ConfirmEdit/i18n/fancy/wa.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/xmf.json9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/yi.json (renamed from extensions/ConfirmEdit/i18n/fancy/yi.json)4
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/yo.json (renamed from extensions/ConfirmEdit/i18n/fancy/yo.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/yue.json (renamed from extensions/ConfirmEdit/i18n/fancy/yue.json)9
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/zh-hans.json (renamed from extensions/ConfirmEdit/i18n/fancy/zh-hans.json)8
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/i18n/zh-hant.json (renamed from extensions/ConfirmEdit/i18n/fancy/zh-hant.json)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/resources/ext.confirmEdit.fancyCaptcha.css (renamed from extensions/ConfirmEdit/resources/ext.confirmEdit.fancyCaptcha.css)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/resources/ext.confirmEdit.fancyCaptcha.js (renamed from extensions/ConfirmEdit/resources/ext.confirmEdit.fancyCaptcha.js)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/resources/images/ajax-loader-10x10.gif (renamed from extensions/ConfirmEdit/resources/images/ajax-loader-10x10.gif)bin6147 -> 6147 bytes
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/resources/images/fancycaptcha-reload-icon.png (renamed from extensions/ConfirmEdit/resources/images/fancycaptcha-reload-icon.png)bin307 -> 307 bytes
-rw-r--r--extensions/ConfirmEdit/MathCaptcha.php22
-rw-r--r--extensions/ConfirmEdit/MathCaptcha/MathCaptcha.class.php (renamed from extensions/ConfirmEdit/MathCaptcha.class.php)2
-rw-r--r--extensions/ConfirmEdit/MathCaptcha/MathCaptcha.php13
-rw-r--r--extensions/ConfirmEdit/MathCaptcha/extension.json9
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha.i18n.php35
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha.php47
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/QuestyCaptcha.class.php (renamed from extensions/ConfirmEdit/QuestyCaptcha.class.php)10
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/QuestyCaptcha.php13
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/extension.json15
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/aln.json (renamed from extensions/ConfirmEdit/i18n/questy/aln.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ar.json (renamed from extensions/ConfirmEdit/i18n/questy/ar.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ast.json (renamed from extensions/ConfirmEdit/i18n/questy/ast.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ba.json (renamed from extensions/ConfirmEdit/i18n/questy/ba.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/be-tarask.json (renamed from extensions/ConfirmEdit/i18n/questy/be-tarask.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/br.json (renamed from extensions/ConfirmEdit/i18n/questy/br.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/bs.json (renamed from extensions/ConfirmEdit/i18n/questy/bs.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ca.json (renamed from extensions/ConfirmEdit/i18n/questy/ca.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/cs.json (renamed from extensions/ConfirmEdit/i18n/questy/cs.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/cy.json (renamed from extensions/ConfirmEdit/i18n/questy/cy.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/de-formal.json (renamed from extensions/ConfirmEdit/i18n/questy/de-formal.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/de.json (renamed from extensions/ConfirmEdit/i18n/questy/de.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/dsb.json (renamed from extensions/ConfirmEdit/i18n/questy/dsb.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/el.json (renamed from extensions/ConfirmEdit/i18n/questy/el.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/en.json (renamed from extensions/ConfirmEdit/i18n/questy/en.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/eo.json (renamed from extensions/ConfirmEdit/i18n/questy/eo.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/es.json (renamed from extensions/ConfirmEdit/i18n/questy/es.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/et.json (renamed from extensions/ConfirmEdit/i18n/questy/et.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/eu.json (renamed from extensions/ConfirmEdit/i18n/questy/eu.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/fa.json (renamed from extensions/ConfirmEdit/i18n/questy/fa.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/fi.json (renamed from extensions/ConfirmEdit/i18n/questy/fi.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/fr.json (renamed from extensions/ConfirmEdit/i18n/questy/fr.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/gl.json (renamed from extensions/ConfirmEdit/i18n/questy/gl.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/gsw.json (renamed from extensions/ConfirmEdit/i18n/questy/gsw.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/he.json (renamed from extensions/ConfirmEdit/i18n/questy/he.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/hsb.json (renamed from extensions/ConfirmEdit/i18n/questy/hsb.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/hu.json (renamed from extensions/ConfirmEdit/i18n/questy/hu.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ia.json (renamed from extensions/ConfirmEdit/i18n/questy/ia.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/id.json (renamed from extensions/ConfirmEdit/i18n/questy/id.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ilo.json (renamed from extensions/ConfirmEdit/i18n/questy/ilo.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/it.json (renamed from extensions/ConfirmEdit/i18n/questy/it.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ja.json (renamed from extensions/ConfirmEdit/i18n/questy/ja.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ko.json (renamed from extensions/ConfirmEdit/i18n/questy/ko.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ksh.json (renamed from extensions/ConfirmEdit/i18n/questy/ksh.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/lb.json (renamed from extensions/ConfirmEdit/i18n/questy/lb.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/min.json (renamed from extensions/ConfirmEdit/i18n/questy/min.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/mk.json (renamed from extensions/ConfirmEdit/i18n/questy/mk.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ml.json (renamed from extensions/ConfirmEdit/i18n/questy/ml.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ms.json (renamed from extensions/ConfirmEdit/i18n/questy/ms.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/mt.json (renamed from extensions/ConfirmEdit/i18n/questy/mt.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/nb.json (renamed from extensions/ConfirmEdit/i18n/questy/nb.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/nl-informal.json (renamed from extensions/ConfirmEdit/i18n/questy/nl-informal.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/nl.json (renamed from extensions/ConfirmEdit/i18n/questy/nl.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/nn.json (renamed from extensions/ConfirmEdit/i18n/questy/nn.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/oc.json (renamed from extensions/ConfirmEdit/i18n/questy/oc.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/pl.json (renamed from extensions/ConfirmEdit/i18n/questy/pl.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/pms.json (renamed from extensions/ConfirmEdit/i18n/questy/pms.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/pt-br.json (renamed from extensions/ConfirmEdit/i18n/questy/pt-br.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/pt.json (renamed from extensions/ConfirmEdit/i18n/questy/pt.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/qqq.json (renamed from extensions/ConfirmEdit/i18n/questy/qqq.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ro.json (renamed from extensions/ConfirmEdit/i18n/questy/ro.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/roa-tara.json (renamed from extensions/ConfirmEdit/i18n/questy/roa-tara.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/ru.json (renamed from extensions/ConfirmEdit/i18n/questy/ru.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/sk.json (renamed from extensions/ConfirmEdit/i18n/questy/sk.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/sl.json (renamed from extensions/ConfirmEdit/i18n/questy/sl.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/so.json (renamed from extensions/ConfirmEdit/i18n/questy/so.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/sr-ec.json (renamed from extensions/ConfirmEdit/i18n/questy/sr-ec.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/sr-el.json (renamed from extensions/ConfirmEdit/i18n/questy/sr-el.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/sv.json (renamed from extensions/ConfirmEdit/i18n/questy/sv.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/te.json (renamed from extensions/ConfirmEdit/i18n/questy/te.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/th.json (renamed from extensions/ConfirmEdit/i18n/questy/th.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/tl.json (renamed from extensions/ConfirmEdit/i18n/questy/tl.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/tr.json (renamed from extensions/ConfirmEdit/i18n/questy/tr.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/uk.json (renamed from extensions/ConfirmEdit/i18n/questy/uk.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/wa.json (renamed from extensions/ConfirmEdit/i18n/questy/wa.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/yi.json (renamed from extensions/ConfirmEdit/i18n/questy/yi.json)0
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/zh-hans.json (renamed from extensions/ConfirmEdit/i18n/questy/zh-hans.json)3
-rw-r--r--extensions/ConfirmEdit/QuestyCaptcha/i18n/zh-hant.json (renamed from extensions/ConfirmEdit/i18n/questy/zh-hant.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha.i18n.php35
-rw-r--r--extensions/ConfirmEdit/ReCaptcha.php65
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/ReCaptcha.class.php (renamed from extensions/ConfirmEdit/ReCaptcha.class.php)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/ReCaptcha.php13
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/extension.json21
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/ar.json (renamed from extensions/ConfirmEdit/i18n/re/ar.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/ast.json (renamed from extensions/ConfirmEdit/i18n/re/ast.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/be-tarask.json (renamed from extensions/ConfirmEdit/i18n/re/be-tarask.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/br.json (renamed from extensions/ConfirmEdit/i18n/re/br.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/bs.json (renamed from extensions/ConfirmEdit/i18n/re/bs.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/cs.json (renamed from extensions/ConfirmEdit/i18n/re/cs.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/cy.json (renamed from extensions/ConfirmEdit/i18n/re/cy.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/de-formal.json (renamed from extensions/ConfirmEdit/i18n/re/de-formal.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/de.json (renamed from extensions/ConfirmEdit/i18n/re/de.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/dsb.json (renamed from extensions/ConfirmEdit/i18n/re/dsb.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/en.json (renamed from extensions/ConfirmEdit/i18n/re/en.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/es.json (renamed from extensions/ConfirmEdit/i18n/re/es.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/fa.json (renamed from extensions/ConfirmEdit/i18n/re/fa.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/fi.json (renamed from extensions/ConfirmEdit/i18n/re/fi.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/fr.json (renamed from extensions/ConfirmEdit/i18n/re/fr.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/gl.json (renamed from extensions/ConfirmEdit/i18n/re/gl.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/gsw.json (renamed from extensions/ConfirmEdit/i18n/re/gsw.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/he.json (renamed from extensions/ConfirmEdit/i18n/re/he.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/hsb.json (renamed from extensions/ConfirmEdit/i18n/re/hsb.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/ia.json (renamed from extensions/ConfirmEdit/i18n/re/ia.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/id.json (renamed from extensions/ConfirmEdit/i18n/re/id.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/it.json (renamed from extensions/ConfirmEdit/i18n/re/it.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/ja.json (renamed from extensions/ConfirmEdit/i18n/re/ja.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/ko.json (renamed from extensions/ConfirmEdit/i18n/re/ko.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/ksh.json (renamed from extensions/ConfirmEdit/i18n/re/ksh.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/lb.json (renamed from extensions/ConfirmEdit/i18n/re/lb.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/mk.json (renamed from extensions/ConfirmEdit/i18n/re/mk.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/ms.json (renamed from extensions/ConfirmEdit/i18n/re/ms.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/mt.json (renamed from extensions/ConfirmEdit/i18n/re/mt.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/nb.json (renamed from extensions/ConfirmEdit/i18n/re/nb.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/nl-informal.json (renamed from extensions/ConfirmEdit/i18n/re/nl-informal.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/nl.json (renamed from extensions/ConfirmEdit/i18n/re/nl.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/oc.json (renamed from extensions/ConfirmEdit/i18n/re/oc.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/pl.json (renamed from extensions/ConfirmEdit/i18n/re/pl.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/pms.json (renamed from extensions/ConfirmEdit/i18n/re/pms.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/pt-br.json (renamed from extensions/ConfirmEdit/i18n/re/pt-br.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/pt.json (renamed from extensions/ConfirmEdit/i18n/re/pt.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/qqq.json (renamed from extensions/ConfirmEdit/i18n/re/qqq.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/roa-tara.json (renamed from extensions/ConfirmEdit/i18n/re/roa-tara.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/ru.json (renamed from extensions/ConfirmEdit/i18n/re/ru.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/si.json (renamed from extensions/ConfirmEdit/i18n/re/si.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/sr-ec.json (renamed from extensions/ConfirmEdit/i18n/re/sr-ec.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/sr-el.json (renamed from extensions/ConfirmEdit/i18n/re/sr-el.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/sv.json (renamed from extensions/ConfirmEdit/i18n/re/sv.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/sw.json (renamed from extensions/ConfirmEdit/i18n/re/sw.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/te.json (renamed from extensions/ConfirmEdit/i18n/re/te.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/tl.json (renamed from extensions/ConfirmEdit/i18n/re/tl.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/uk.json (renamed from extensions/ConfirmEdit/i18n/re/uk.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/vi.json (renamed from extensions/ConfirmEdit/i18n/re/vi.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/zh-hans.json (renamed from extensions/ConfirmEdit/i18n/re/zh-hans.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/i18n/zh-hant.json (renamed from extensions/ConfirmEdit/i18n/re/zh-hant.json)0
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/recaptchalib.php (renamed from extensions/ConfirmEdit/recaptchalib.php)0
-rw-r--r--extensions/ConfirmEdit/SimpleCaptcha/Captcha.php (renamed from extensions/ConfirmEdit/Captcha.php)271
-rw-r--r--extensions/ConfirmEdit/blacklist1
-rw-r--r--extensions/ConfirmEdit/captcha.py25
-rw-r--r--extensions/ConfirmEdit/i18n/ace.json8
-rw-r--r--extensions/ConfirmEdit/i18n/aeb-latn.json8
-rw-r--r--extensions/ConfirmEdit/i18n/af.json (renamed from extensions/ConfirmEdit/i18n/core/af.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/aln.json (renamed from extensions/ConfirmEdit/i18n/core/aln.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/am.json (renamed from extensions/ConfirmEdit/i18n/core/am.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/an.json (renamed from extensions/ConfirmEdit/i18n/core/an.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ang.json8
-rw-r--r--extensions/ConfirmEdit/i18n/ar.json (renamed from extensions/ConfirmEdit/i18n/core/ar.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/arq.json8
-rw-r--r--extensions/ConfirmEdit/i18n/arz.json (renamed from extensions/ConfirmEdit/i18n/core/arz.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/as.json (renamed from extensions/ConfirmEdit/i18n/core/as.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ast.json (renamed from extensions/ConfirmEdit/i18n/core/ast.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/awa.json8
-rw-r--r--extensions/ConfirmEdit/i18n/az.json (renamed from extensions/ConfirmEdit/i18n/core/az.json)4
-rw-r--r--extensions/ConfirmEdit/i18n/azb.json (renamed from extensions/ConfirmEdit/i18n/core/azb.json)1
-rw-r--r--extensions/ConfirmEdit/i18n/ba.json (renamed from extensions/ConfirmEdit/i18n/core/ba.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/bcc.json (renamed from extensions/ConfirmEdit/i18n/core/bcc.json)6
-rw-r--r--extensions/ConfirmEdit/i18n/bcl.json (renamed from extensions/ConfirmEdit/i18n/core/bcl.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/be-tarask.json (renamed from extensions/ConfirmEdit/i18n/core/be-tarask.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/be.json (renamed from extensions/ConfirmEdit/i18n/core/be.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/bg.json (renamed from extensions/ConfirmEdit/i18n/core/bg.json)4
-rw-r--r--extensions/ConfirmEdit/i18n/bgn.json8
-rw-r--r--extensions/ConfirmEdit/i18n/bho.json8
-rw-r--r--extensions/ConfirmEdit/i18n/bn.json (renamed from extensions/ConfirmEdit/i18n/core/bn.json)5
-rw-r--r--extensions/ConfirmEdit/i18n/br.json (renamed from extensions/ConfirmEdit/i18n/core/br.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/bs.json (renamed from extensions/ConfirmEdit/i18n/core/bs.json)5
-rw-r--r--extensions/ConfirmEdit/i18n/ca.json (renamed from extensions/ConfirmEdit/i18n/core/ca.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/cdo.json (renamed from extensions/ConfirmEdit/i18n/core/cdo.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ce.json (renamed from extensions/ConfirmEdit/i18n/core/ce.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ckb.json (renamed from extensions/ConfirmEdit/i18n/core/ckb.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/cs.json (renamed from extensions/ConfirmEdit/i18n/core/cs.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/cv.json8
-rw-r--r--extensions/ConfirmEdit/i18n/cy.json (renamed from extensions/ConfirmEdit/i18n/core/cy.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/da.json (renamed from extensions/ConfirmEdit/i18n/core/da.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/de-formal.json (renamed from extensions/ConfirmEdit/i18n/core/de-formal.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/de.json (renamed from extensions/ConfirmEdit/i18n/core/de.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/diq.json (renamed from extensions/ConfirmEdit/i18n/core/diq.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/dsb.json (renamed from extensions/ConfirmEdit/i18n/core/dsb.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ee.json (renamed from extensions/ConfirmEdit/i18n/core/ee.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/el.json (renamed from extensions/ConfirmEdit/i18n/core/el.json)2
-rw-r--r--extensions/ConfirmEdit/i18n/en-ca.json (renamed from extensions/ConfirmEdit/i18n/core/en-ca.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/en-gb.json (renamed from extensions/ConfirmEdit/i18n/core/en-gb.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/en.json (renamed from extensions/ConfirmEdit/i18n/core/en.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/eo.json (renamed from extensions/ConfirmEdit/i18n/core/eo.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/es.json (renamed from extensions/ConfirmEdit/i18n/core/es.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/et.json (renamed from extensions/ConfirmEdit/i18n/core/et.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/eu.json (renamed from extensions/ConfirmEdit/i18n/core/eu.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/fa.json (renamed from extensions/ConfirmEdit/i18n/core/fa.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/fancy/cdo.json4
-rw-r--r--extensions/ConfirmEdit/i18n/fancy/en.json13
-rw-r--r--extensions/ConfirmEdit/i18n/fancy/he.json16
-rw-r--r--extensions/ConfirmEdit/i18n/fancy/lrc.json8
-rw-r--r--extensions/ConfirmEdit/i18n/fancy/lt.json8
-rw-r--r--extensions/ConfirmEdit/i18n/fi.json (renamed from extensions/ConfirmEdit/i18n/core/fi.json)5
-rw-r--r--extensions/ConfirmEdit/i18n/fo.json (renamed from extensions/ConfirmEdit/i18n/core/fo.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/fr.json (renamed from extensions/ConfirmEdit/i18n/core/fr.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/frp.json (renamed from extensions/ConfirmEdit/i18n/core/frp.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/frr.json8
-rw-r--r--extensions/ConfirmEdit/i18n/fur.json (renamed from extensions/ConfirmEdit/i18n/core/fur.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/fy.json (renamed from extensions/ConfirmEdit/i18n/core/fy.json)6
-rw-r--r--extensions/ConfirmEdit/i18n/ga.json (renamed from extensions/ConfirmEdit/i18n/core/ga.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/gl.json (renamed from extensions/ConfirmEdit/i18n/core/gl.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/gom-deva.json8
-rw-r--r--extensions/ConfirmEdit/i18n/grc.json (renamed from extensions/ConfirmEdit/i18n/core/grc.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/gsw.json (renamed from extensions/ConfirmEdit/i18n/core/gsw.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/gu.json (renamed from extensions/ConfirmEdit/i18n/core/gu.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/he.json (renamed from extensions/ConfirmEdit/i18n/core/he.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/hi.json (renamed from extensions/ConfirmEdit/i18n/core/hi.json)1
-rw-r--r--extensions/ConfirmEdit/i18n/hr.json (renamed from extensions/ConfirmEdit/i18n/core/hr.json)1
-rw-r--r--extensions/ConfirmEdit/i18n/hsb.json (renamed from extensions/ConfirmEdit/i18n/core/hsb.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ht.json (renamed from extensions/ConfirmEdit/i18n/core/ht.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/hu.json (renamed from extensions/ConfirmEdit/i18n/core/hu.json)5
-rw-r--r--extensions/ConfirmEdit/i18n/hy.json (renamed from extensions/ConfirmEdit/i18n/core/hy.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ia.json (renamed from extensions/ConfirmEdit/i18n/core/ia.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/id.json (renamed from extensions/ConfirmEdit/i18n/core/id.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ilo.json (renamed from extensions/ConfirmEdit/i18n/core/ilo.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/is.json (renamed from extensions/ConfirmEdit/i18n/core/is.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/it.json (renamed from extensions/ConfirmEdit/i18n/core/it.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ja.json (renamed from extensions/ConfirmEdit/i18n/core/ja.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/jut.json (renamed from extensions/ConfirmEdit/i18n/core/jut.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/jv.json (renamed from extensions/ConfirmEdit/i18n/core/jv.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ka.json (renamed from extensions/ConfirmEdit/i18n/core/ka.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/kaa.json (renamed from extensions/ConfirmEdit/i18n/core/kaa.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/khw.json8
-rw-r--r--extensions/ConfirmEdit/i18n/kk-arab.json (renamed from extensions/ConfirmEdit/i18n/core/kk-arab.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/kk-cyrl.json (renamed from extensions/ConfirmEdit/i18n/core/kk-cyrl.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/kk-latn.json (renamed from extensions/ConfirmEdit/i18n/core/kk-latn.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/km.json (renamed from extensions/ConfirmEdit/i18n/core/km.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/kn.json8
-rw-r--r--extensions/ConfirmEdit/i18n/ko.json (renamed from extensions/ConfirmEdit/i18n/core/ko.json)4
-rw-r--r--extensions/ConfirmEdit/i18n/krc.json8
-rw-r--r--extensions/ConfirmEdit/i18n/ksh.json (renamed from extensions/ConfirmEdit/i18n/core/ksh.json)6
-rw-r--r--extensions/ConfirmEdit/i18n/ku-latn.json8
-rw-r--r--extensions/ConfirmEdit/i18n/kw.json (renamed from extensions/ConfirmEdit/i18n/core/kw.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ky.json (renamed from extensions/ConfirmEdit/i18n/core/ky.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/la.json (renamed from extensions/ConfirmEdit/i18n/core/la.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/lad.json (renamed from extensions/ConfirmEdit/i18n/core/lad.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/lb.json (renamed from extensions/ConfirmEdit/i18n/core/lb.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/li.json (renamed from extensions/ConfirmEdit/i18n/core/li.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/lo.json (renamed from extensions/ConfirmEdit/i18n/core/lo.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/lrc.json (renamed from extensions/ConfirmEdit/i18n/core/lrc.json)1
-rw-r--r--extensions/ConfirmEdit/i18n/lt.json (renamed from extensions/ConfirmEdit/i18n/core/lt.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/lv.json (renamed from extensions/ConfirmEdit/i18n/core/lv.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/mai.json14
-rw-r--r--extensions/ConfirmEdit/i18n/mg.json (renamed from extensions/ConfirmEdit/i18n/core/mg.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/min.json (renamed from extensions/ConfirmEdit/i18n/core/min.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/mk.json (renamed from extensions/ConfirmEdit/i18n/core/mk.json)2
-rw-r--r--extensions/ConfirmEdit/i18n/ml.json (renamed from extensions/ConfirmEdit/i18n/core/ml.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/mn.json (renamed from extensions/ConfirmEdit/i18n/core/mn.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/mr.json (renamed from extensions/ConfirmEdit/i18n/core/mr.json)3
-rw-r--r--extensions/ConfirmEdit/i18n/ms.json (renamed from extensions/ConfirmEdit/i18n/core/ms.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/mt.json (renamed from extensions/ConfirmEdit/i18n/core/mt.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/nah.json (renamed from extensions/ConfirmEdit/i18n/core/nah.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/nan.json (renamed from extensions/ConfirmEdit/i18n/core/nan.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/nap.json23
-rw-r--r--extensions/ConfirmEdit/i18n/nb.json (renamed from extensions/ConfirmEdit/i18n/core/nb.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/nds-nl.json (renamed from extensions/ConfirmEdit/i18n/core/nds-nl.json)2
-rw-r--r--extensions/ConfirmEdit/i18n/nds.json (renamed from extensions/ConfirmEdit/i18n/core/nds.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ne.json9
-rw-r--r--extensions/ConfirmEdit/i18n/nl-informal.json (renamed from extensions/ConfirmEdit/i18n/core/nl-informal.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/nl.json (renamed from extensions/ConfirmEdit/i18n/core/nl.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/nn.json (renamed from extensions/ConfirmEdit/i18n/core/nn.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/oc.json (renamed from extensions/ConfirmEdit/i18n/core/oc.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/or.json (renamed from extensions/ConfirmEdit/i18n/core/or.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/os.json8
-rw-r--r--extensions/ConfirmEdit/i18n/pa.json8
-rw-r--r--extensions/ConfirmEdit/i18n/pam.json (renamed from extensions/ConfirmEdit/i18n/core/pam.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/pdc.json (renamed from extensions/ConfirmEdit/i18n/core/pdc.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/pfl.json8
-rw-r--r--extensions/ConfirmEdit/i18n/pl.json (renamed from extensions/ConfirmEdit/i18n/core/pl.json)5
-rw-r--r--extensions/ConfirmEdit/i18n/pms.json (renamed from extensions/ConfirmEdit/i18n/core/pms.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/pnb.json (renamed from extensions/ConfirmEdit/i18n/core/pnb.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ps.json (renamed from extensions/ConfirmEdit/i18n/core/ps.json)1
-rw-r--r--extensions/ConfirmEdit/i18n/pt-br.json (renamed from extensions/ConfirmEdit/i18n/core/pt-br.json)3
-rw-r--r--extensions/ConfirmEdit/i18n/pt.json (renamed from extensions/ConfirmEdit/i18n/core/pt.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/qqq.json (renamed from extensions/ConfirmEdit/i18n/core/qqq.json)2
-rw-r--r--extensions/ConfirmEdit/i18n/qu.json (renamed from extensions/ConfirmEdit/i18n/core/qu.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/ro.json (renamed from extensions/ConfirmEdit/i18n/core/ro.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/roa-tara.json (renamed from extensions/ConfirmEdit/i18n/core/roa-tara.json)4
-rw-r--r--extensions/ConfirmEdit/i18n/ru.json (renamed from extensions/ConfirmEdit/i18n/core/ru.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/rue.json (renamed from extensions/ConfirmEdit/i18n/core/rue.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/sa.json (renamed from extensions/ConfirmEdit/i18n/core/sa.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/sah.json (renamed from extensions/ConfirmEdit/i18n/core/sah.json)1
-rw-r--r--extensions/ConfirmEdit/i18n/scn.json (renamed from extensions/ConfirmEdit/i18n/core/scn.json)4
-rw-r--r--extensions/ConfirmEdit/i18n/sco.json (renamed from extensions/ConfirmEdit/i18n/core/sco.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/sh.json (renamed from extensions/ConfirmEdit/i18n/core/sh.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/shn.json8
-rw-r--r--extensions/ConfirmEdit/i18n/si.json (renamed from extensions/ConfirmEdit/i18n/core/si.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/sk.json (renamed from extensions/ConfirmEdit/i18n/core/sk.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/sl.json (renamed from extensions/ConfirmEdit/i18n/core/sl.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/sq.json (renamed from extensions/ConfirmEdit/i18n/core/sq.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/sr-ec.json (renamed from extensions/ConfirmEdit/i18n/core/sr-ec.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/sr-el.json (renamed from extensions/ConfirmEdit/i18n/core/sr-el.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/stq.json (renamed from extensions/ConfirmEdit/i18n/core/stq.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/su.json (renamed from extensions/ConfirmEdit/i18n/core/su.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/sv.json (renamed from extensions/ConfirmEdit/i18n/core/sv.json)3
-rw-r--r--extensions/ConfirmEdit/i18n/sw.json (renamed from extensions/ConfirmEdit/i18n/core/sw.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/szl.json8
-rw-r--r--extensions/ConfirmEdit/i18n/ta.json (renamed from extensions/ConfirmEdit/i18n/core/ta.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/tcy.json8
-rw-r--r--extensions/ConfirmEdit/i18n/te.json (renamed from extensions/ConfirmEdit/i18n/core/te.json)4
-rw-r--r--extensions/ConfirmEdit/i18n/tg-cyrl.json (renamed from extensions/ConfirmEdit/i18n/core/tg-cyrl.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/tg-latn.json (renamed from extensions/ConfirmEdit/i18n/core/tg-latn.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/th.json (renamed from extensions/ConfirmEdit/i18n/core/th.json)4
-rw-r--r--extensions/ConfirmEdit/i18n/tk.json (renamed from extensions/ConfirmEdit/i18n/core/tk.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/tl.json (renamed from extensions/ConfirmEdit/i18n/core/tl.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/tr.json (renamed from extensions/ConfirmEdit/i18n/core/tr.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/tru.json (renamed from extensions/ConfirmEdit/i18n/core/tru.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/uk.json (renamed from extensions/ConfirmEdit/i18n/core/uk.json)5
-rw-r--r--extensions/ConfirmEdit/i18n/ur.json8
-rw-r--r--extensions/ConfirmEdit/i18n/vec.json (renamed from extensions/ConfirmEdit/i18n/core/vec.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/vi.json (renamed from extensions/ConfirmEdit/i18n/core/vi.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/vo.json (renamed from extensions/ConfirmEdit/i18n/core/vo.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/vro.json8
-rw-r--r--extensions/ConfirmEdit/i18n/wa.json (renamed from extensions/ConfirmEdit/i18n/core/wa.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/yi.json (renamed from extensions/ConfirmEdit/i18n/core/yi.json)1
-rw-r--r--extensions/ConfirmEdit/i18n/yo.json (renamed from extensions/ConfirmEdit/i18n/core/yo.json)0
-rw-r--r--extensions/ConfirmEdit/i18n/yue.json (renamed from extensions/ConfirmEdit/i18n/core/yue.json)7
-rw-r--r--extensions/ConfirmEdit/i18n/zh-hans.json (renamed from extensions/ConfirmEdit/i18n/core/zh-hans.json)3
-rw-r--r--extensions/ConfirmEdit/i18n/zh-hant.json (renamed from extensions/ConfirmEdit/i18n/core/zh-hant.json)8
-rw-r--r--extensions/ConfirmEdit/includes/CaptchaStore.php (renamed from extensions/ConfirmEdit/CaptchaStore.php)4
-rw-r--r--extensions/ConfirmEdit/includes/ConfirmEditHooks.php149
-rw-r--r--extensions/ConfirmEdit/includes/specials/SpecialCaptcha.php22
-rw-r--r--extensions/ConfirmEdit/tests/QuestyCaptchaTest.php49
496 files changed, 1420 insertions, 747 deletions
diff --git a/extensions/ConfirmEdit/ApiFancyCaptchaReload.php b/extensions/ConfirmEdit/ApiFancyCaptchaReload.php
index 9b918d85..8cd28631 100644
--- a/extensions/ConfirmEdit/ApiFancyCaptchaReload.php
+++ b/extensions/ConfirmEdit/ApiFancyCaptchaReload.php
@@ -16,6 +16,9 @@ class ApiFancyCaptchaReload extends ApiBase {
return true;
}
+ /**
+ * @deprecated since MediaWiki core 1.25
+ */
public function getDescription() {
return 'Get a new FancyCaptcha.';
}
@@ -24,11 +27,20 @@ class ApiFancyCaptchaReload extends ApiBase {
return array();
}
- public function getParamDescription() {
- return array();
- }
-
+ /**
+ * @deprecated since MediaWiki core 1.25
+ */
public function getExamples() {
return array( 'api.php?action=fancycaptchareload&format=xml' );
}
+
+ /**
+ * @see ApiBase::getExamplesMessages()
+ */
+ protected function getExamplesMessages() {
+ return array(
+ 'action=fancycaptchareload'
+ => 'apihelp-fancycaptchareload-example-1',
+ );
+ }
}
diff --git a/extensions/ConfirmEdit/ConfirmEdit.alias.php b/extensions/ConfirmEdit/ConfirmEdit.alias.php
index 7a85cd9c..e04d8cd8 100644
--- a/extensions/ConfirmEdit/ConfirmEdit.alias.php
+++ b/extensions/ConfirmEdit/ConfirmEdit.alias.php
@@ -24,6 +24,11 @@ $specialPageAliases['arz'] = array(
'Captcha' => array( 'كابتشا' ),
);
+/** Western Balochi (بلوچی رخشانی) */
+$specialPageAliases['bgn'] = array(
+ 'Captcha' => array( 'گپچا' ),
+);
+
/** Min Dong Chinese (Mìng-dĕ̤ng-ngṳ̄) */
$specialPageAliases['cdo'] = array(
'Captcha' => array( '驗證碼' ),
@@ -31,7 +36,7 @@ $specialPageAliases['cdo'] = array(
/** Zazaki (Zazaki) */
$specialPageAliases['diq'] = array(
- 'Captcha' => array( 'Kodaİtimadi' ),
+ 'Captcha' => array( 'Kodêİtımadi' ),
);
/** Esperanto (Esperanto) */
@@ -89,6 +94,11 @@ $specialPageAliases['kw'] = array(
'Captcha' => array( 'Captcha' ),
);
+/** لوری (لوری) */
+$specialPageAliases['lrc'] = array(
+ 'Captcha' => array( 'رازینه_کپچا' ),
+);
+
/** Macedonian (македонски) */
$specialPageAliases['mk'] = array(
'Captcha' => array( 'Captcha' ),
@@ -101,7 +111,7 @@ $specialPageAliases['ml'] = array(
/** Serbian (Cyrillic script) (српски (ћирилица)‎) */
$specialPageAliases['sr-ec'] = array(
- 'Captcha' => array( 'Потврдни_код' ),
+ 'Captcha' => array( 'ПотврдниКод', 'Потврдни_код' ),
);
/** Turkish (Türkçe) */
@@ -121,5 +131,5 @@ $specialPageAliases['zh-hans'] = array(
/** Traditional Chinese (中文(繁體)‎) */
$specialPageAliases['zh-hant'] = array(
- 'Captcha' => array( '驗證碼' ),
+ 'Captcha' => array( '驗證碼', '認證碼' ),
); \ No newline at end of file
diff --git a/extensions/ConfirmEdit/ConfirmEdit.i18n.php b/extensions/ConfirmEdit/ConfirmEdit.i18n.php
deleted file mode 100644
index 0d330978..00000000
--- a/extensions/ConfirmEdit/ConfirmEdit.i18n.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * This is a backwards-compatibility shim, generated by:
- * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
- *
- * Beginning with MediaWiki 1.23, translation strings are stored in json files,
- * and the EXTENSION.i18n.php file only exists to provide compatibility with
- * older releases of MediaWiki. For more information about this migration, see:
- * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
- *
- * This shim maintains compatibility back to MediaWiki 1.17.
- */
-$messages = array();
-if ( !function_exists( 'wfJsonI18nShimd09f930cbcb3c1f3' ) ) {
- function wfJsonI18nShimd09f930cbcb3c1f3( $cache, $code, &$cachedData ) {
- $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
- foreach ( $codeSequence as $csCode ) {
- $fileName = dirname( __FILE__ ) . "/i18n/core/$csCode.json";
- if ( is_readable( $fileName ) ) {
- $data = FormatJson::decode( file_get_contents( $fileName ), true );
- foreach ( array_keys( $data ) as $key ) {
- if ( $key === '' || $key[0] === '@' ) {
- unset( $data[$key] );
- }
- }
- $cachedData['messages'] = array_merge( $data, $cachedData['messages'] );
- }
-
- $cachedData['deps'][] = new FileDependency( $fileName );
- }
- return true;
- }
-
- $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 'wfJsonI18nShimd09f930cbcb3c1f3';
-}
diff --git a/extensions/ConfirmEdit/ConfirmEdit.php b/extensions/ConfirmEdit/ConfirmEdit.php
index c4b04821..479abb54 100644
--- a/extensions/ConfirmEdit/ConfirmEdit.php
+++ b/extensions/ConfirmEdit/ConfirmEdit.php
@@ -33,8 +33,10 @@
if ( !defined( 'MEDIAWIKI' ) ) {
exit;
}
+if ( !defined( 'MW_SUPPORTS_CONTENTHANDLER' ) ) {
+ throw Exception( 'This version of ConfirmEdit requires MediaWiki 1.21 or later' );
+}
-$wgExtensionFunctions[] = 'confirmEditSetup';
$wgExtensionCredits['antispam'][] = array(
'path' => __FILE__,
'name' => 'ConfirmEdit',
@@ -42,6 +44,7 @@ $wgExtensionCredits['antispam'][] = array(
'url' => 'https://www.mediawiki.org/wiki/Extension:ConfirmEdit',
'version' => '1.3',
'descriptionmsg' => 'captcha-desc',
+ 'license-name' => 'GPL-2.0+',
);
/**
@@ -173,12 +176,10 @@ $wgCaptchaRegexes = array();
/** Register special page */
$wgSpecialPages['Captcha'] = 'CaptchaSpecialPage';
-$wgConfirmEditIP = __DIR__;
-$wgMessagesDirs['ConfirmEdit'] = __DIR__ . '/i18n/core';
-$wgExtensionMessagesFiles['ConfirmEdit'] = "$wgConfirmEditIP/ConfirmEdit.i18n.php";
-$wgExtensionMessagesFiles['ConfirmEditAlias'] = "$wgConfirmEditIP/ConfirmEdit.alias.php";
+$wgMessagesDirs['ConfirmEdit'] = __DIR__ . '/i18n';
+$wgExtensionMessagesFiles['ConfirmEditAlias'] = __DIR__ . "/ConfirmEdit.alias.php";
-$wgHooks['EditFilterMerged'][] = 'ConfirmEditHooks::confirmEditMerged';
+$wgHooks['EditPageBeforeEditButtons'][] = 'ConfirmEditHooks::confirmEditPage';
$wgHooks['UserCreateForm'][] = 'ConfirmEditHooks::injectUserCreate';
$wgHooks['AbortNewAccount'][] = 'ConfirmEditHooks::confirmUserCreate';
$wgHooks['LoginAuthenticateAudit'][] = 'ConfirmEditHooks::triggerUserLogin';
@@ -186,33 +187,24 @@ $wgHooks['UserLoginForm'][] = 'ConfirmEditHooks::injectUserLogin';
$wgHooks['AbortLogin'][] = 'ConfirmEditHooks::confirmUserLogin';
$wgHooks['EmailUserForm'][] = 'ConfirmEditHooks::injectEmailUser';
$wgHooks['EmailUser'][] = 'ConfirmEditHooks::confirmEmailUser';
-# Register API hook
-$wgHooks['APIEditBeforeSave'][] = 'ConfirmEditHooks::confirmEditAPI';
+$wgHooks['EditPage::showEditForm:fields'][] = 'ConfirmEditHooks::showEditFormFields';
+$wgHooks['EditFilterMergedContent'][] = 'ConfirmEditHooks::confirmEditMerged';
+
+if ( !defined( 'MW_EDITFILTERMERGED_SUPPORTS_API' ) ) {
+ $wgHooks['APIEditBeforeSave'][] = 'ConfirmEditHooks::confirmEditAPI';
+}
+
$wgHooks['APIGetAllowedParams'][] = 'ConfirmEditHooks::APIGetAllowedParams';
$wgHooks['APIGetParamDescription'][] = 'ConfirmEditHooks::APIGetParamDescription';
$wgHooks['AddNewAccountApiForm'][] = 'ConfirmEditHooks::addNewAccountApiForm';
$wgHooks['AddNewAccountApiResult'][] = 'ConfirmEditHooks::addNewAccountApiResult';
+$wgHooks['UnitTestsList'][] = 'ConfirmEditHooks::onUnitTestsList';
-$wgAutoloadClasses['ConfirmEditHooks'] = "$wgConfirmEditIP/ConfirmEditHooks.php";
-$wgAutoloadClasses['SimpleCaptcha'] = "$wgConfirmEditIP/Captcha.php";
-$wgAutoloadClasses['CaptchaStore'] = "$wgConfirmEditIP/CaptchaStore.php";
-$wgAutoloadClasses['CaptchaSessionStore'] = "$wgConfirmEditIP/CaptchaStore.php";
-$wgAutoloadClasses['CaptchaCacheStore'] = "$wgConfirmEditIP/CaptchaStore.php";
-$wgAutoloadClasses['CaptchaSpecialPage'] = "$wgConfirmEditIP/ConfirmEditHooks.php";
+$wgExtensionFunctions[] = 'ConfirmEditHooks::confirmEditSetup';
-/**
- * Set up $wgWhitelistRead
- */
-function confirmEditSetup() {
- global $wgGroupPermissions, $wgCaptchaTriggers;
- if ( !$wgGroupPermissions['*']['read'] && $wgCaptchaTriggers['badlogin'] ) {
- // We need to ensure that the captcha interface is accessible
- // so that unauthenticated users can actually get in after a
- // mistaken password typing.
- global $wgWhitelistRead;
- $image = SpecialPage::getTitleFor( 'Captcha', 'image' );
- $help = SpecialPage::getTitleFor( 'Captcha', 'help' );
- $wgWhitelistRead[] = $image->getPrefixedText();
- $wgWhitelistRead[] = $help->getPrefixedText();
- }
-}
+$wgAutoloadClasses['ConfirmEditHooks'] = __DIR__ . '/includes/ConfirmEditHooks.php';
+$wgAutoloadClasses['SimpleCaptcha'] = __DIR__ . '/SimpleCaptcha/Captcha.php';
+$wgAutoloadClasses['CaptchaStore'] = __DIR__ . '/includes/CaptchaStore.php';
+$wgAutoloadClasses['CaptchaSessionStore'] = __DIR__ . '/includes/CaptchaStore.php';
+$wgAutoloadClasses['CaptchaCacheStore'] = __DIR__ . '/includes/CaptchaStore.php';
+$wgAutoloadClasses['CaptchaSpecialPage'] = __DIR__ . '/includes/specials/SpecialCaptcha.php';
diff --git a/extensions/ConfirmEdit/ConfirmEditHooks.php b/extensions/ConfirmEdit/ConfirmEditHooks.php
deleted file mode 100644
index af8b9c44..00000000
--- a/extensions/ConfirmEdit/ConfirmEditHooks.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-class ConfirmEditHooks {
- /**
- * Get the global Captcha instance
- *
- * @return SimpleCaptcha
- */
- static function getInstance() {
- global $wgCaptcha, $wgCaptchaClass;
-
- static $done = false;
-
- if ( !$done ) {
- $done = true;
- $wgCaptcha = new $wgCaptchaClass;
- }
-
- return $wgCaptcha;
- }
-
- static function confirmEditMerged( $editPage, $newtext ) {
- return self::getInstance()->confirmEditMerged( $editPage, $newtext );
- }
-
- static function confirmEditAPI( $editPage, $newtext, &$resultArr ) {
- return self::getInstance()->confirmEditAPI( $editPage, $newtext, $resultArr );
- }
-
- static function addNewAccountApiForm( $apiModule, $loginForm ) {
- return self::getInstance()->addNewAccountApiForm( $apiModule, $loginForm );
- }
-
- static function addNewAccountApiResult( $apiModule, $loginPage, &$result ) {
- return self::getInstance()->addNewAccountApiResult( $apiModule, $loginPage, $result );
- }
-
- static function injectUserCreate( &$template ) {
- return self::getInstance()->injectUserCreate( $template );
- }
-
- static function confirmUserCreate( $u, &$message, &$status = null ) {
- return self::getInstance()->confirmUserCreate( $u, $message, $status );
- }
-
- static function triggerUserLogin( $user, $password, $retval ) {
- return self::getInstance()->triggerUserLogin( $user, $password, $retval );
- }
-
- static function injectUserLogin( &$template ) {
- return self::getInstance()->injectUserLogin( $template );
- }
-
- static function confirmUserLogin( $u, $pass, &$retval ) {
- return self::getInstance()->confirmUserLogin( $u, $pass, $retval );
- }
-
- static function injectEmailUser( &$form ) {
- return self::getInstance()->injectEmailUser( $form );
- }
-
- static function confirmEmailUser( $from, $to, $subject, $text, &$error ) {
- return self::getInstance()->confirmEmailUser( $from, $to, $subject, $text, $error );
- }
-
- // Default $flags to 1 for backwards-compatible behavior
- public static function APIGetAllowedParams( &$module, &$params, $flags = 1 ) {
- return self::getInstance()->APIGetAllowedParams( $module, $params, $flags );
- }
-
- public static function APIGetParamDescription( &$module, &$desc ) {
- return self::getInstance()->APIGetParamDescription( $module, $desc );
- }
-}
-
-class CaptchaSpecialPage extends UnlistedSpecialPage {
- public function __construct() {
- parent::__construct( 'Captcha' );
- }
-
- function execute( $par ) {
- $this->setHeaders();
-
- $instance = ConfirmEditHooks::getInstance();
-
- switch( $par ) {
- case "image":
- if ( method_exists( $instance, 'showImage' ) ) {
- return $instance->showImage();
- }
- case "help":
- default:
- return $instance->showHelp();
- }
- }
-}
diff --git a/extensions/ConfirmEdit/FancyCaptcha.i18n.php b/extensions/ConfirmEdit/FancyCaptcha.i18n.php
deleted file mode 100644
index 57d54d64..00000000
--- a/extensions/ConfirmEdit/FancyCaptcha.i18n.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * This is a backwards-compatibility shim, generated by:
- * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
- *
- * Beginning with MediaWiki 1.23, translation strings are stored in json files,
- * and the EXTENSION.i18n.php file only exists to provide compatibility with
- * older releases of MediaWiki. For more information about this migration, see:
- * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
- *
- * This shim maintains compatibility back to MediaWiki 1.17.
- */
-$messages = array();
-if ( !function_exists( 'wfJsonI18nShimef89e87d420f1fe8' ) ) {
- function wfJsonI18nShimef89e87d420f1fe8( $cache, $code, &$cachedData ) {
- $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
- foreach ( $codeSequence as $csCode ) {
- $fileName = dirname( __FILE__ ) . "/i18n/fancy/$csCode.json";
- if ( is_readable( $fileName ) ) {
- $data = FormatJson::decode( file_get_contents( $fileName ), true );
- foreach ( array_keys( $data ) as $key ) {
- if ( $key === '' || $key[0] === '@' ) {
- unset( $data[$key] );
- }
- }
- $cachedData['messages'] = array_merge( $data, $cachedData['messages'] );
- }
-
- $cachedData['deps'][] = new FileDependency( $fileName );
- }
- return true;
- }
-
- $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 'wfJsonI18nShimef89e87d420f1fe8';
-}
diff --git a/extensions/ConfirmEdit/FancyCaptcha.php b/extensions/ConfirmEdit/FancyCaptcha.php
index 2082e604..5d5da32d 100644
--- a/extensions/ConfirmEdit/FancyCaptcha.php
+++ b/extensions/ConfirmEdit/FancyCaptcha.php
@@ -1,88 +1,2 @@
<?php
-/**
- * Experimental image-based captcha plugin, using images generated by an
- * external tool.
- *
- * Copyright (C) 2005, 2006 Brion Vibber <brion@pobox.com>
- * http://www.mediawiki.org/
- *
- * 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 Extensions
- */
-
-if ( !defined( 'MEDIAWIKI' ) ) {
- exit;
-}
-
-$dir = __DIR__;
-require_once $dir . '/ConfirmEdit.php';
-$wgCaptchaClass = 'FancyCaptcha';
-
-/**
- * The name of a file backend ($wgFileBackends) to be used for storing files.
- * Defaults to FSFileBackend using $wgCaptchaDirectory as a base path.
- */
-$wgCaptchaFileBackend = '';
-
-global $wgCaptchaDirectory;
-$wgCaptchaDirectory = "$wgUploadDirectory/captcha"; // bad default :D
-
-global $wgCaptchaDirectoryLevels;
-$wgCaptchaDirectoryLevels = 0; // To break into subdirectories
-
-global $wgCaptchaSecret;
-$wgCaptchaSecret = "CHANGE_THIS_SECRET!";
-
-/**
- * By default the FancyCaptcha rotates among all available captchas.
- * Setting $wgCaptchaDeleteOnSolve to true will delete the captcha
- * files when they are correctly solved. Thus the user will need
- * something like a cron creating new thumbnails to avoid drying up.
- */
-$wgCaptchaDeleteOnSolve = false;
-
-$wgMessagesDirs['FancyCaptcha'] = __DIR__ . '/i18n/fancy';
-$wgExtensionMessagesFiles['FancyCaptcha'] = $dir . '/FancyCaptcha.i18n.php';
-$wgAutoloadClasses['FancyCaptcha'] = $dir . '/FancyCaptcha.class.php';
-
-$wgResourceModules['ext.confirmEdit.fancyCaptcha.styles'] = array(
- 'localBasePath' => $dir . '/resources',
- 'remoteExtPath' => 'ConfirmEdit/resources',
- 'targets' => array( 'mobile', 'desktop' ),
- 'styles' => 'ext.confirmEdit.fancyCaptcha.css',
-);
-
-$wgResourceModules['ext.confirmEdit.fancyCaptcha'] = array(
- 'localBasePath' => $dir . '/resources',
- 'remoteExtPath' => 'ConfirmEdit/resources',
- 'scripts' => 'ext.confirmEdit.fancyCaptcha.js',
- 'dependencies' => 'mediawiki.api',
-);
-
-// FIXME: remove, add mobile target to ext.confirmEdit.fancyCaptcha and update
-// MobileFrontend accordingly when bug 57629 is resolved
-$wgResourceModules['ext.confirmEdit.fancyCaptchaMobile'] = array(
- 'localBasePath' => $dir . '/resources',
- 'remoteExtPath' => 'ConfirmEdit/resources',
- 'scripts' => 'ext.confirmEdit.fancyCaptcha.js',
- 'targets' => array( 'mobile', 'desktop' ),
- 'dependencies' => 'mobile.startup',
-);
-
-$wgAutoloadClasses['ApiFancyCaptchaReload'] = $dir . '/ApiFancyCaptchaReload.php';
-$wgAPIModules['fancycaptchareload'] = 'ApiFancyCaptchaReload';
+require_once __DIR__ . "/FancyCaptcha/FancyCaptcha.php";
diff --git a/extensions/ConfirmEdit/FancyCaptcha.class.php b/extensions/ConfirmEdit/FancyCaptcha/FancyCaptcha.class.php
index 46387c9e..0de148c2 100644
--- a/extensions/ConfirmEdit/FancyCaptcha.class.php
+++ b/extensions/ConfirmEdit/FancyCaptcha/FancyCaptcha.class.php
@@ -90,7 +90,7 @@ class FancyCaptcha extends SimpleCaptcha {
* Insert the captcha prompt into the edit form.
*/
function getForm() {
- global $wgOut, $wgExtensionAssetsPath, $wgEnableAPI;
+ global $wgOut, $wgEnableAPI;
// Uses addModuleStyles so it is loaded when JS is disabled.
$wgOut->addModuleStyles( 'ext.confirmEdit.fancyCaptcha.styles' );
@@ -113,21 +113,21 @@ class FancyCaptcha extends SimpleCaptcha {
$captchaReload = '';
}
- return "<div class='fancycaptcha-wrapper'><div class='fancycaptcha-image-container'>" .
+ $form = Html::openElement( 'div' ) .
+ Html::element( 'label', array(
+ 'for' => 'wpCaptchaWord',
+ ),
+ parent::getMessage( 'label' ) . ' ' . wfMessage( 'createacct-captcha' )->text()
+ ) .
+ Html::openElement( 'div', array( 'class' => 'mw-createacct-captcha-container' ) ) .
+ Html::openElement( 'div', array( 'class' => 'mw-createacct-captcha-and-reload' ) ) .
+ Html::openElement( 'div', array( 'class' => 'fancycaptcha-image-container' ) ) .
Html::element( 'img', array(
'class' => 'fancycaptcha-image',
'src' => $title->getLocalUrl( 'wpCaptchaId=' . urlencode( $index ) ),
'alt' => ''
)
- ) .
- $captchaReload .
- "</div>\n" .
- '<p>' .
- Html::element( 'label', array(
- 'for' => 'wpCaptchaWord',
- ),
- parent::getMessage( 'label' ) . wfMessage( 'colon-separator' )->text()
- ) .
+ ) . $captchaReload . Html::closeElement( 'div' ) . Html::closeElement( 'div' ) . "\n" .
Html::element( 'input', array(
'name' => 'wpCaptchaWord',
'class' => 'mw-ui-input',
@@ -138,18 +138,25 @@ class FancyCaptcha extends SimpleCaptcha {
'autocorrect' => 'off',
'autocapitalize' => 'off',
'required' => 'required',
- 'tabindex' => 1
+ 'tabindex' => 1,
+ 'placeholder' => wfMessage( 'createacct-imgcaptcha-ph' )
)
- ) . // tab in before the edit textarea
- Html::element( 'input', array(
+ ); // tab in before the edit textarea
+ if ( $this->action == 'usercreate' ) {
+ $form .= HTML::element( 'small',array(
+ 'class' => 'mw-createacct-captcha-assisted'
+ ), wfMessage( 'createacct-imgcaptcha-help' )
+ );
+ }
+ $form .= Html::element( 'input', array(
'type' => 'hidden',
'name' => 'wpCaptchaId',
'id' => 'wpCaptchaId',
'value' => $index
)
- ) .
- "</p>\n" .
- "</div>\n";;
+ ) . Html::closeElement( 'div' ) . Html::closeElement( 'div' ) . "\n";
+
+ return $form;
}
/**
@@ -159,7 +166,7 @@ class FancyCaptcha extends SimpleCaptcha {
function getCaptchaIndex() {
$info = $this->pickImage();
if ( !$info ) {
- throw new MWException( "Ran out of captcha images" );
+ throw new Exception( "Ran out of captcha images" );
}
// Generate a random key for use of this captcha image in this session.
@@ -339,7 +346,7 @@ class FancyCaptcha extends SimpleCaptcha {
) )->isOK();
}
- wfHttpError( 500, 'Internal Error', 'Requested bogus captcha image' );
+ wfHttpError( 400, 'Request Error', 'Requested bogus captcha image' );
return false;
}
@@ -363,13 +370,13 @@ class FancyCaptcha extends SimpleCaptcha {
/**
* @param $basename string
* @return Array (salt, hash)
- * @throws MWException
+ * @throws Exception
*/
public function hashFromImageName( $basename ) {
if ( preg_match( '/^image_([0-9a-f]+)_([0-9a-f]+)\\.png$/', $basename, $matches ) ) {
return array( $matches[1], $matches[2] );
} else {
- throw new MWException( "Invalid filename '$basename'.\n" );
+ throw new Exception( "Invalid filename '$basename'.\n" );
}
}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/FancyCaptcha.php b/extensions/ConfirmEdit/FancyCaptcha/FancyCaptcha.php
new file mode 100644
index 00000000..0ac490e0
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/FancyCaptcha.php
@@ -0,0 +1,13 @@
+<?php
+if ( function_exists( 'wfLoadExtension' ) ) {
+ wfLoadExtension( 'ConfirmEdit/FancyCaptcha' );
+ // Keep i18n globals so mergeMessageFileList.php doesn't break
+ $wgMessagesDirs['FancyCaptcha'] = __DIR__ . '/i18n';
+ /* wfWarn(
+ 'Deprecated PHP entry point used for FancyCaptcha extension. Please use wfLoadExtension instead, ' .
+ 'see https://www.mediawiki.org/wiki/Extension_registration for more details.'
+ ); */
+ return;
+} else {
+ die( 'This version of the FancyCaptcha extension requires MediaWiki 1.25+' );
+}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/extension.json b/extensions/ConfirmEdit/FancyCaptcha/extension.json
new file mode 100644
index 00000000..11b877be
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/extension.json
@@ -0,0 +1,52 @@
+{
+ "name": "FancyCaptcha",
+ "APIModules": {
+ "fancycaptchareload": "ApiFancyCaptchaReload"
+ },
+ "MessagesDirs": {
+ "FancyCaptcha": [
+ "i18n"
+ ]
+ },
+ "AutoloadClasses": {
+ "FancyCaptcha": "FancyCaptcha.class.php",
+ "ApiFancyCaptchaReload": "ApiFancyCaptchaReload.php"
+ },
+ "ResourceModules": {
+ "ext.confirmEdit.fancyCaptcha.styles": {
+ "position": "top",
+ "targets": [
+ "mobile",
+ "desktop"
+ ],
+ "styles": "ext.confirmEdit.fancyCaptcha.css"
+ },
+ "ext.confirmEdit.fancyCaptcha": {
+ "scripts": "ext.confirmEdit.fancyCaptcha.js",
+ "dependencies": "mediawiki.api"
+ },
+ "ext.confirmEdit.fancyCaptchaMobile": {
+ "scripts": "ext.confirmEdit.fancyCaptcha.js",
+ "targets": [
+ "mobile",
+ "desktop"
+ ],
+ "dependencies": "mobile.startup"
+ }
+ },
+ "ResourceFileModulePaths": {
+ "localBasePath": "resources",
+ "remoteExtPath": "ConfirmEdit/FancyCaptcha/resources"
+ },
+ "callback": [
+ "ConfirmEditHooks::onFancyCaptchaSetup"
+ ],
+ "config": {
+ "CaptchaClass": "FancyCaptcha",
+ "CaptchaFileBackend": "",
+ "CaptchaDirectory": false,
+ "CaptchaDirectoryLevels": 0,
+ "CaptchaSecret": "CHANGE_THIS_SECRET!",
+ "CaptchaDeleteOnSolve": false
+ }
+}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/aeb-latn.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/aeb-latn.json
new file mode 100644
index 00000000..c3f31a8e
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/aeb-latn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Csisc"
+ ]
+ },
+ "fancycaptcha-reload-text": "Aktüyalīzī"
+}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/af.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/af.json
new file mode 100644
index 00000000..88935feb
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/af.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Naudefj"
+ ]
+ },
+ "fancycaptcha-reload-text": "Verfris"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/aln.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/aln.json
index 2430336b..2430336b 100644
--- a/extensions/ConfirmEdit/i18n/fancy/aln.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/aln.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/am.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/am.json
index 973f976c..973f976c 100644
--- a/extensions/ConfirmEdit/i18n/fancy/am.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/am.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/an.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/an.json
index d8f46bba..d8f46bba 100644
--- a/extensions/ConfirmEdit/i18n/fancy/an.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/an.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/ang.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ang.json
new file mode 100644
index 00000000..4d85b59b
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ang.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gott wisst"
+ ]
+ },
+ "fancycaptcha-reload-text": "Ednīwian"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ar.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ar.json
index 4a2f375e..d2002fdb 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ar.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ar.json
@@ -3,7 +3,8 @@
"authors": [
"Aiman titi",
"Asaifm",
- "Meno25"
+ "Meno25",
+ "Abanima"
]
},
"fancycaptcha-desc": "مولد فانسي كابتشا لConfirm Edit",
@@ -13,5 +14,7 @@
"fancycaptcha-create": "لإنشاء الصفحة، من فضلك أدخل الكلمات التي تظهر بالأسفل في الصندوق\n([[Special:Captcha/help|مزيد من المعلومات]]):",
"fancycaptcha-edit": "لتعديل هذه الصفحة، من فضلك أدخل الكلمات التي تظهر بالأسفل في الصندوق\n([[Special:Captcha/help|مزيد من المعلومات]]):",
"fancycaptcha-sendemail": "للمساعدة في منع إنشاء حسابات بطريقة أوتوماتيكية، قم من فضلك بإدخال الكلمات التي تظهر أدناه في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):",
- "fancycaptcha-reload-text": "تحديث"
+ "fancycaptcha-reload-text": "تحديث",
+ "apihelp-fancycaptchareload-description": "احصل على FancyCaptcha جديدة.",
+ "apihelp-fancycaptchareload-example-1": "احصل على FancyCaptcha جديدة."
}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/arq.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/arq.json
new file mode 100644
index 00000000..8551a435
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/arq.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Oldstoneage"
+ ]
+ },
+ "fancycaptcha-createaccount": "باش نحافظو على الويكي من الحسابات الّي ينخلقو من عند نواضم داتيّة، نطلبو منّك باش تنقل فل قبيسة هنا، الكلمة المكتوبة لتحت. ([[Special:Captcha/help|زيد شوف شي معلومات]]):",
+ "fancycaptcha-reload-text": "عاود شارجي الصفحة"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/arz.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/arz.json
index 7cb6dd5d..7cb6dd5d 100644
--- a/extensions/ConfirmEdit/i18n/fancy/arz.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/arz.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/as.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/as.json
index fb2f2daa..ad83d857 100644
--- a/extensions/ConfirmEdit/i18n/fancy/as.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/as.json
@@ -3,13 +3,15 @@
"authors": [
"Chaipau",
"Gitartha.bordoloi",
- "Rajuonline"
+ "Rajuonline",
+ "IKHazarika"
]
},
"fancycaptcha-addurl": "আপোনাৰ সম্পাদনাত বাহ্যিক সংযোগ আছে।\nস্বয়ংক্ৰীয় সম্পাদনাৰ পৰা হাত সাৰিবলৈ, তলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখক। ([[Special:Captcha/help|অধিক তথ্য]]):",
"fancycaptcha-badlogin": "স্বয়ংক্ৰীয় গুপ্তশব্দ চুৰিৰ পৰা হাত সাৰিবলৈ,\nতলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখক। ([[Special:Captcha/help|অধিক তথ্য]]):",
- "fancycaptcha-createaccount": "স্বয়ংক্ৰীয় নতুন সদস্যভুক্তিৰ পৰা হাত সাৰিবলৈ, তলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখক। ([[Special:Captcha/help|অধিক তথ্য]]):",
+ "fancycaptcha-createaccount": "স্বয়ংক্ৰীয় নতুন সদস্যভুক্তিৰ পৰা হাত সাৰিবলৈ, আমি আপুনাক অনুগ্ৰহ কৰি তলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখিবলৈ অনুৰোধ কৰিছো। ([[Special:Captcha/help|অধিক তথ্য]]):",
"fancycaptcha-create": "পৃষ্ঠাটো বনাবলৈ, তলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখক। ([[Special:Captcha/help|অধিক তথ্য]]):",
"fancycaptcha-edit": "এই পৃষ্ঠাটো সম্পাদনা কৰিবলৈ, তলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখক। ([[Special:Captcha/help|অধিক তথ্য]]):",
- "fancycaptcha-sendemail": "স্বয়ংক্ৰিয় স্পেমিঙৰ পৰা বাচিবলৈ অনুগ্ৰহ কৰি তলৰ বাকছটোৰ তলত ওলোৱা আখৰকেইটা লিখক ([[Special:Captcha/help|অধিক তথ্য]]):"
+ "fancycaptcha-sendemail": "স্বয়ংক্ৰিয় স্পেমিঙৰ পৰা বাচিবলৈ অনুগ্ৰহ কৰি তলৰ বাকছটোৰ তলত ওলোৱা আখৰকেইটা লিখক ([[Special:Captcha/help|অধিক তথ্য]]):",
+ "fancycaptcha-reload-text": "ৰিফ্ৰেচ"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ast.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ast.json
index b3cd7520..b3cd7520 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ast.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ast.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/awa.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/awa.json
new file mode 100644
index 00000000..25e09d0d
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/awa.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "1AnuraagPandey"
+ ]
+ },
+ "fancycaptcha-createaccount": "स्वचालित सदस्य पंजीकरण से बचाव के लिये हम आपसे निवेदन करते हैं की नीचे दिये शब्द बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
+ "fancycaptcha-reload-text": "रिफ़्रेश"
+}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/az.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/az.json
new file mode 100644
index 00000000..d7405a71
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/az.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dağlı95"
+ ]
+ },
+ "fancycaptcha-createaccount": "Vikidə avtomatik hesab yaradılmasının qarşısını almaq üçün xahiş edirik tələb olunan sözləri daxil edin ([[Special:Captcha/help|ətraflı məlumat]]):",
+ "fancycaptcha-reload-text": "Yenilə"
+}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/azb.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/azb.json
new file mode 100644
index 00000000..3982b445
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/azb.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amir a57"
+ ]
+ },
+ "fancycaptcha-createaccount": "ایشلدن حسابین اوتمات صورتینده آچیلماماسی اوچون بیز سیزدن احتراملا ایستیریک شکیل ده گورونن سوزو آشاغی دا گورونن قوتودا آرتیراسیز([[Special:Captcha/help|آرتیق بیلگی]]):",
+ "fancycaptcha-reload-text": "یئنیله"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ba.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ba.json
index d02714fe..d02714fe 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ba.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ba.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/bcc.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/bcc.json
index 66a80cb8..66a80cb8 100644
--- a/extensions/ConfirmEdit/i18n/fancy/bcc.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/bcc.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/bcl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/bcl.json
index c0ffb9b0..c0ffb9b0 100644
--- a/extensions/ConfirmEdit/i18n/fancy/bcl.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/bcl.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/be-tarask.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/be-tarask.json
index 79cfc520..79cfc520 100644
--- a/extensions/ConfirmEdit/i18n/fancy/be-tarask.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/be-tarask.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/be.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/be.json
new file mode 100644
index 00000000..cc74bb3e
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/be.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Чаховіч Уладзіслаў"
+ ]
+ },
+ "fancycaptcha-createaccount": "Для прадухілення аўтаматычнай рэгістрацыі ўліковых запісаў просім вас увесці словы, паказаныя ў полі ніжэй ([[Special:Captcha/help|падрабязней…]]):",
+ "fancycaptcha-reload-text": "Абнавіць"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/bg.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/bg.json
index 152614b0..53e8d98c 100644
--- a/extensions/ConfirmEdit/i18n/fancy/bg.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/bg.json
@@ -10,5 +10,6 @@
"fancycaptcha-createaccount": "Системата за защита от автоматично създаване на потребителски сметки изисква да въведете това, което виждате в кутията по-долу ([[Special:Captcha/help|повече информация]]):",
"fancycaptcha-create": "За създаване на страницата е необходимо да се въведат думите от картинката в полето по-долу ([[Special:Captcha/help|повече информация]]):",
"fancycaptcha-edit": "За редактиране на страницата е необходимо да се въведат думите от картинката в полето по-долу ([[Special:Captcha/help|повече информация]]):",
- "fancycaptcha-sendemail": "Като защита срещу автоматизиран спам, въведете в кутията думите, които са показани по-долу ([[Special:Captcha/help|повече информация]]):"
+ "fancycaptcha-sendemail": "Като защита срещу автоматизиран спам, въведете в кутията думите, които са показани по-долу ([[Special:Captcha/help|повече информация]]):",
+ "fancycaptcha-reload-text": "Опресняване"
}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/bgn.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/bgn.json
new file mode 100644
index 00000000..afcfa92b
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/bgn.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Baloch Afghanistan"
+ ]
+ },
+ "fancycaptcha-createaccount": "په کومک شه اوتوماتیکین کار زوروکئ حساب ئی جۆڑ بوتینی خاتیرا، هما شه شما په باز احترام لوٹن که همی کلمه ئانه که اکس ئی تا گیندیت بئ جهلگین جئبه تا داخل بکنیت ([[Special:Captcha/help|گیشتیرین مئلومات]]):",
+ "fancycaptcha-reload-text": "نوک کورتین"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/bn.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/bn.json
index 7e8be2c2..ec2c240f 100644
--- a/extensions/ConfirmEdit/i18n/fancy/bn.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/bn.json
@@ -2,13 +2,15 @@
"@metadata": {
"authors": [
"Nasir8891",
- "Zaheen"
+ "Zaheen",
+ "Aftabuzzaman"
]
},
"fancycaptcha-addurl": "আপনার সম্পাদনাটিতে নতুন বহিঃসংযোগ আছে। স্বয়ংক্রিয় স্প্যামের বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
"fancycaptcha-badlogin": "স্বয়ংক্রিয় শব্দচাবি ক্র্যাকিং-এর বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
- "fancycaptcha-createaccount": "স্বয়ংক্রিয় অ্যাকাউন্ট সৃষ্টির বিরুদ্ধে সুরক্ষার জন্য অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
+ "fancycaptcha-createaccount": "স্বয়ংক্রিয় অ্যাকাউন্ট সৃষ্টির বিরুদ্ধে উইকি রক্ষা করার জন্য, আমরা আপনাকে নীচের বাক্সে প্রদর্শিত শব্দসমূহ লেখার জন্য অনুরোধ জানাচ্ছি ([[Special:Captcha/help|আরও তথ্য]]):",
"fancycaptcha-create": "পাতাটি সৃষ্টি করতে চাইলে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
"fancycaptcha-edit": "পাতাটি সম্পাদনা করতে চাইলে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান\n([[Special:Captcha/help|আরও তথ্য]]):",
- "fancycaptcha-sendemail": "স্বয়ংক্রিয় স্প্যামিং এর বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):"
+ "fancycaptcha-sendemail": "স্বয়ংক্রিয় স্প্যামিং এর বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
+ "fancycaptcha-reload-text": "পুনঃসতেজ"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/br.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/br.json
index 8f6c7c7c..8f6c7c7c 100644
--- a/extensions/ConfirmEdit/i18n/fancy/br.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/br.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/bs.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/bs.json
index 4c82c2c2..4c82c2c2 100644
--- a/extensions/ConfirmEdit/i18n/fancy/bs.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/bs.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/ca.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ca.json
index 5d39ebc7..b7dcd820 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ca.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ca.json
@@ -3,13 +3,15 @@
"authors": [
"Davidpar",
"SMP",
- "Ssola"
+ "Ssola",
+ "Joan manel"
]
},
"fancycaptcha-addurl": "La vostra modificació inclou nous enllaços externs. Com a protecció contra la propaganda automatitzada heu d'escriure en la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):",
"fancycaptcha-badlogin": "Com a protecció contra l'obtenció automatitzada de contrasenyes cal que escriviu en la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):",
- "fancycaptcha-createaccount": "Com a protecció contra la creació automatitzada de nous comptes cal que escriviu en la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):",
+ "fancycaptcha-createaccount": "Com a protecció contra la creació automàtica de nous comptes cal que escriviu a la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):",
"fancycaptcha-create": "Per a poder crear la pàgina heu d'escriure en la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):",
"fancycaptcha-edit": "Per a poder modificar la pàgina heu d'escriure en la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):",
- "fancycaptcha-sendemail": "Per ajudar a protegir contra el correu brossa automatitzat, si us plau, introduïu les paraules que apareixen a sota la caixa ([[Special:Captcha/help|més informació]]):"
+ "fancycaptcha-sendemail": "Per ajudar a protegir contra el correu brossa automatitzat, si us plau, introduïu les paraules que apareixen a sota la caixa ([[Special:Captcha/help|més informació]]):",
+ "fancycaptcha-reload-text": "Actualitzar"
}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/cdo.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/cdo.json
new file mode 100644
index 00000000..f8f8eb76
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/cdo.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Yejianfei"
+ ]
+ },
+ "fancycaptcha-badlogin": "為𡅏保護維基百科免受自動化其密碼破解,儂家誠摯其起動汝輸底下底方框底裡其驗證碼([[Special:Captcha/help|更価信息]]):"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ce.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ce.json
index 9579fc91..9579fc91 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ce.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ce.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/ckb.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ckb.json
index 6d529037..6d529037 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ckb.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ckb.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/cs.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/cs.json
index 3dcacac5..3df69d8c 100644
--- a/extensions/ConfirmEdit/i18n/fancy/cs.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/cs.json
@@ -12,5 +12,7 @@
"fancycaptcha-create": "Abyste mohli založit stránku, musíte opsat text z následujícího obrázku: ([[Special:Captcha/help|Co tohle znamená?]])",
"fancycaptcha-edit": "Abyste mohli editovat tuto stránku, musíte opsat text z následujícího obrázku: ([[Special:Captcha/help|Co tohle znamená?]])",
"fancycaptcha-sendemail": "Abychom wiki ochránili proti automatizovanému spamování, žádáme vás o opsání textu z následujícího obrázku ([[Special:Captcha/help|více informací]]):",
- "fancycaptcha-reload-text": "Vygenerovat nový kód"
+ "fancycaptcha-reload-text": "Vygenerovat nový kód",
+ "apihelp-fancycaptchareload-description": "Získat novou FancyCaptcha.",
+ "apihelp-fancycaptchareload-example-1": "Získat novou FancyCaptcha."
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/cu.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/cu.json
index 4bcd380c..4bcd380c 100644
--- a/extensions/ConfirmEdit/i18n/fancy/cu.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/cu.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/cv.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/cv.json
new file mode 100644
index 00000000..94e0bdac
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/cv.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chuvash2014"
+ ]
+ },
+ "fancycaptcha-reload-text": "Çĕнет"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/cy.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/cy.json
index 3f420aab..3f420aab 100644
--- a/extensions/ConfirmEdit/i18n/fancy/cy.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/cy.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/da.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/da.json
index 62ef9fe3..62ef9fe3 100644
--- a/extensions/ConfirmEdit/i18n/fancy/da.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/da.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/de-formal.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/de-formal.json
index e95ae6a9..e95ae6a9 100644
--- a/extensions/ConfirmEdit/i18n/fancy/de-formal.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/de-formal.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/de.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/de.json
index 00a08001..b5e154c6 100644
--- a/extensions/ConfirmEdit/i18n/fancy/de.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/de.json
@@ -13,5 +13,7 @@
"fancycaptcha-create": "Zur Erstellung der Seite gib das folgende Wort in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].",
"fancycaptcha-edit": "Zur Bearbeitung der Seite gib das folgende Wort in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].",
"fancycaptcha-sendemail": "Zum Schutz des Wikis vor automatischem Spamming bitten wir dich, die Wörter unten in das Feld einzugeben ([[Special:Captcha/help|mehr Informationen]]):",
- "fancycaptcha-reload-text": "Aktualisieren"
+ "fancycaptcha-reload-text": "Aktualisieren",
+ "apihelp-fancycaptchareload-description": "Ruft ein neues FancyCaptcha ab.",
+ "apihelp-fancycaptchareload-example-1": "Ruft ein neues FancyCaptcha ab."
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/diq.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/diq.json
index 18e9c46d..18e9c46d 100644
--- a/extensions/ConfirmEdit/i18n/fancy/diq.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/diq.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/dsb.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/dsb.json
index 80004969..80004969 100644
--- a/extensions/ConfirmEdit/i18n/fancy/dsb.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/dsb.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/el.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/el.json
index f7f5b9bc..4ad1ab9b 100644
--- a/extensions/ConfirmEdit/i18n/fancy/el.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/el.json
@@ -5,13 +5,15 @@
"Consta",
"Geraki",
"Glavkos",
- "ZaDiak"
+ "ZaDiak",
+ "Evropi"
]
},
"fancycaptcha-addurl": "Η επεξεργασία σας περιλαμβάνει νέους εξωτερικούς σύνδεσμους.\nΩς βοήθεια για την προστασία από αυτόματα spam, παρακαλούμε γράψτε τις λέξεις που εμφανίζονται παρακάτω στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
"fancycaptcha-badlogin": "Ως βοήθεια για την προστασία από αυτόματα προγράμματα σπασίματος κωδικών, παρακαλούμε γράψτε τις λέξεις που εμφανίζονται παρακάτω στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
- "fancycaptcha-createaccount": "Για να βοηθήσετε στην προστασία κατά των αυτόματα δημιουργούμενων λογαριασμών, παρακαλούμε πληκτρολογήστε στο πλαίσιο τις λέξεις που εμφανίζονται πιο κάτω ([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
+ "fancycaptcha-createaccount": "Για την προστασία του wiki ενάντια σε αυτοματοποιημένη δημιουργία λογαριασμών, σας παρακαλούμε ευγενικά να εισάγετε τις λέξεις που εμφανίζονται κάτω από το πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
"fancycaptcha-create": "Για να δημιουργήσετε αυτήν την σελίδα, παρακαλώ εισάγετε τις λέξεις που εμφανίζονται παρακάτω μέσα στο κουτί\n([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
"fancycaptcha-edit": "Για να επεξεργαστείτε αυτήν την σελίδα, παρακαλώ εισάγετε τις λέξεις που εμφανίζονται παρακάτω μέσα στο κουτί\n([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
- "fancycaptcha-sendemail": "Ως βοήθεια για την προστασία από αυτόματα προγράμματα σπασίματος κωδικών, παρακαλούμε γράψτε τις λέξεις που εμφανίζονται παρακάτω στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):"
+ "fancycaptcha-sendemail": "Ως βοήθεια για την προστασία από αυτόματα προγράμματα σπασίματος κωδικών, παρακαλούμε γράψτε τις λέξεις που εμφανίζονται παρακάτω στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
+ "fancycaptcha-reload-text": "Ανανέωση"
}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/en.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/en.json
new file mode 100644
index 00000000..4fd10cd6
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/en.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": []
+ },
+ "fancycaptcha-desc": "Fancy CAPTCHA generator for Confirm Edit",
+ "fancycaptcha-addurl": "Your edit includes new external links.\nTo protect the wiki against automated spam, we kindly ask you to enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
+ "fancycaptcha-badlogin": "To protect the wiki against automated password cracking, we kindly ask you to enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
+ "fancycaptcha-createaccount": "To protect the wiki against automated account creation, we kindly ask you to enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
+ "fancycaptcha-create": "To create the page, please enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
+ "fancycaptcha-edit": "To edit this page, please enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
+ "fancycaptcha-sendemail": "To protect the wiki against automated spamming, we kindly ask you to enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
+ "fancycaptcha-reload-text": "Refresh",
+ "apihelp-fancycaptchareload-description": "Get a new FancyCaptcha.",
+ "apihelp-fancycaptchareload-example-1": "Get a new FancyCaptcha"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/eo.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/eo.json
index f0c2f321..f0c2f321 100644
--- a/extensions/ConfirmEdit/i18n/fancy/eo.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/eo.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/es.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/es.json
index 10a982cf..035e9ca5 100644
--- a/extensions/ConfirmEdit/i18n/fancy/es.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/es.json
@@ -6,12 +6,13 @@
"Icvav",
"Pertile",
"Sanbec",
- "Sporeunai"
+ "Sporeunai",
+ "Macofe"
]
},
"fancycaptcha-addurl": "Tu edición incluye nuevos enlaces externos. \nPara protegernos contra el spam automatizado, por favor introduce en el recuadro las palabras que aparecen debajo ([[Special:Captcha/help|más información]]):",
"fancycaptcha-badlogin": "Para proteger el wiki del descifrado de contraseñas automatizado, por favor resuelve la simple suma de abajo e introduce la respuesta en la caja ([[Special:Captcha/help|más información]]):",
- "fancycaptcha-createaccount": "Para proteger el wiki de la creación automática de cuentas, resuelve por favor la simple suma de abajo e introduce la respuesta en la caja ([[Special:Captcha/help|más información]]):",
+ "fancycaptcha-createaccount": "Para proteger el wiki contra la creación automática de cuentas, te pedimos amablemente que escribas en la caja las palabras que se muestran debajo ([[Special:Captcha/help|más información]]):",
"fancycaptcha-create": "Para crear la página, por favor introduce en el recuadro las palabras que aparecen debajo ([[Special:Captcha/help|más información]]):",
"fancycaptcha-edit": "Para editar esta página, por favor introduce en el recuadro las palabras que aparecen debajo ([[Special:Captcha/help|más información]]):",
"fancycaptcha-sendemail": "Para proteger el wiki del descifrado de contraseñas automatizado, por favor resuelve la simple suma de abajo e introduce la respuesta en la caja ([[Special:Captcha/help|más información]]):",
diff --git a/extensions/ConfirmEdit/i18n/fancy/et.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/et.json
index 0b88b3b1..0b88b3b1 100644
--- a/extensions/ConfirmEdit/i18n/fancy/et.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/et.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/eu.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/eu.json
index 8a77bc01..ddac654b 100644
--- a/extensions/ConfirmEdit/i18n/fancy/eu.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/eu.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"An13sa",
- "Xabier Armendaritz"
+ "Xabier Armendaritz",
+ "Sator"
]
},
"fancycaptcha-addurl": "Zure aldaketak kanpo lotura berriak ditu. Spam automatikoa saihestu ahal izateko, beheko koadroan ageri diren hitzak idatzi ([[Special:Captcha/help|informazio gehigarria]]):",
@@ -10,5 +11,6 @@
"fancycaptcha-createaccount": "Erabiltzaile kontuak automatikoki sortzea saihestu asmoz, beheko koadroan ageri diren hitzak idazteko eskatzen dizugu ([[Special:Captcha/help|informazio gehigarria]]):",
"fancycaptcha-create": "Orri sortu ahal izateko, idatz itzazu beheko koadroan ageri diren hitzak ([[Special:Captcha/help|informazio gehigarria]]):",
"fancycaptcha-edit": "Orrialde hau aldatu ahal izateko, beheko koadroan ageri diren hitzak idatzi ([[Special:Captcha/help|informazio gehigarria]]):",
- "fancycaptcha-sendemail": "Zabor-posta automatizatuaz babesteko, idatzi azpiko kutxako hitzak ([[Special:Captcha/help|informazio gehiago]]):"
+ "fancycaptcha-sendemail": "Zabor-posta automatizatuaz babesteko, idatzi azpiko kutxako hitzak ([[Special:Captcha/help|informazio gehiago]]):",
+ "fancycaptcha-reload-text": "Eguneratu"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/fa.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/fa.json
index 52b23336..52b23336 100644
--- a/extensions/ConfirmEdit/i18n/fancy/fa.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/fa.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/fi.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/fi.json
index 59ed623e..596c30c0 100644
--- a/extensions/ConfirmEdit/i18n/fancy/fi.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/fi.json
@@ -4,12 +4,13 @@
"Crt",
"Nike",
"Nedergard",
- "Stryn"
+ "Stryn",
+ "McSalama"
]
},
"fancycaptcha-addurl": "Muokkauksesi sisältää uusia linkkejä muille sivuille. Kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):",
"fancycaptcha-badlogin": "Automatisoidun salasanan murtamisen estämiseksi kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):",
- "fancycaptcha-createaccount": "Kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):",
+ "fancycaptcha-createaccount": "Suojellaksemme wikiä automaattisilta rekisteröitymisiltä pyydämme sinua kirjoittamaan kuvassa näkyvät kirjaimet alla olevaan laatikkoon. ([[Special:Captcha/help|lisätietoja]]):",
"fancycaptcha-create": "Muokkauksesi sisältää uusia linkkejä muille sivuille. Kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):",
"fancycaptcha-edit": "Muokkauksesi sisältää uusia linkkejä muille sivuille. Kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):",
"fancycaptcha-sendemail": "Automatisoidun roskapostin lähettämisen vaikeuttamiseksi kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):",
diff --git a/extensions/ConfirmEdit/i18n/fancy/fo.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/fo.json
index d44078d6..d44078d6 100644
--- a/extensions/ConfirmEdit/i18n/fancy/fo.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/fo.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/fr.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/fr.json
index 4b2cae5d..e59fa924 100644
--- a/extensions/ConfirmEdit/i18n/fancy/fr.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/fr.json
@@ -17,5 +17,7 @@
"fancycaptcha-create": "Pour créer la page, veuillez entrer les mots qui apparaissent dans la boîte ci-dessous ([[Special:Captcha|plus d’informations]]) :",
"fancycaptcha-edit": "Pour modifier cette page, veuillez saisir les mots qui apparaissent dans la boîte ci-dessous ([[Special:Captcha/help|plus d’information]]) :",
"fancycaptcha-sendemail": "Pour protéger le wiki contre l’envoi automatisé de pourriels, nous vous demandons de bien vouloir entrer les mots qui apparaissent dans la boîte ci-dessous ([[Special:Captcha/help|plus d’informations]]) :",
- "fancycaptcha-reload-text": "Actualiser"
+ "fancycaptcha-reload-text": "Actualiser",
+ "apihelp-fancycaptchareload-description": "Obtenir un nouveau FancyCaptcha.",
+ "apihelp-fancycaptchareload-example-1": "Obtenir un nouveau FancyCaptcha"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/frp.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/frp.json
index 763f7f96..763f7f96 100644
--- a/extensions/ConfirmEdit/i18n/fancy/frp.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/frp.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/frr.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/frr.json
new file mode 100644
index 00000000..62f8e841
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/frr.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Murma174"
+ ]
+ },
+ "fancycaptcha-createaccount": "Amdat diar nian automaatisk konten iinracht wurd, wees so gud an skriiw jodiar wurden oner iin uun det kasche ([[Special:Captcha/help|Muar diartu]]):",
+ "fancycaptcha-reload-text": "Nei loose"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/fy.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/fy.json
index f2441b1b..f2441b1b 100644
--- a/extensions/ConfirmEdit/i18n/fancy/fy.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/fy.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/ga.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ga.json
index 6a89475e..6a89475e 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ga.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ga.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/gl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/gl.json
index 310b064a..ef8e0392 100644
--- a/extensions/ConfirmEdit/i18n/fancy/gl.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/gl.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Toliño",
- "Xosé"
+ "Xosé",
+ "Banjo"
]
},
"fancycaptcha-desc": "Xerador de imaxes CAPTCHA para Confirm Edit",
@@ -12,5 +13,7 @@
"fancycaptcha-create": "Para crear a páxina, introduza as palabras que aparecen na caixa ([[Special:Captcha/help|máis información]]):",
"fancycaptcha-edit": "Para editar esta páxina, introduza as palabras que aparecen na caixa ([[Special:Captcha/help|máis información]]):",
"fancycaptcha-sendemail": "Para protexer o wiki contra o spam automático, introduza as palabras que aparecen na caixa ([[Special:Captcha/help|máis información]]):",
- "fancycaptcha-reload-text": "Refrescar"
+ "fancycaptcha-reload-text": "Refrescar",
+ "apihelp-fancycaptchareload-description": "Novo FancyCaptcha.",
+ "apihelp-fancycaptchareload-example-1": "Novo FancyCaptcha"
}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/gom-deva.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/gom-deva.json
new file mode 100644
index 00000000..72b667b7
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/gom-deva.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Darshan kandolkar"
+ ]
+ },
+ "fancycaptcha-reload-text": "ताजें करात"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/gsw.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/gsw.json
index 2c27d4ae..2c27d4ae 100644
--- a/extensions/ConfirmEdit/i18n/fancy/gsw.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/gsw.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/gu.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/gu.json
index 03c46f94..03c46f94 100644
--- a/extensions/ConfirmEdit/i18n/fancy/gu.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/gu.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/he.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/he.json
new file mode 100644
index 00000000..22b66574
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/he.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "Rotem Liss",
+ "Guycn2"
+ ]
+ },
+ "fancycaptcha-desc": "מחולל תמונות CAPTCHA מגניבות בשביל ההרבחבה Confirm Edit",
+ "fancycaptcha-addurl": "עריכתך כוללת קישורים חיצוניים חדשים.\nכהגנה מפני ספאם אוטומטי, נא להקליד את המילים המופיעות בתיבה שלהלן ([[Special:Captcha/help|מידע נוסף]]):",
+ "fancycaptcha-badlogin": "כהגנה מפני פריצת סיסמאות אוטומטית, נא להקליד את המילים המופיעות בתיבה שלהלן ([[Special:Captcha/help|מידע נוסף]]):",
+ "fancycaptcha-createaccount": "כהגנה מפני יצירת חשבונות אוטומטית, נא להקליד את המילים המופיעות בתיבה שלהלן ([[Special:Captcha/help|מידע נוסף]]):",
+ "fancycaptcha-create": "כדי ליצור את הדף, נא להקליד את המילים המופיעות בתיבה שלהלן ([[Special:Captcha/help|מידע נוסף]]):",
+ "fancycaptcha-edit": "כדי לערוך את הדף, נא להקליד את המילים המופיעות בתיבה שלהלן ([[Special:Captcha/help|מידע נוסף]]):",
+ "fancycaptcha-sendemail": "כהגנה מפני ספאם אוטומטי, נא להקליד את המילים המופיעות בתיבה שלהלן ([[Special:Captcha/help|מידע נוסף]]):",
+ "fancycaptcha-reload-text": "רענון"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/hi.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/hi.json
index bc6c3883..3dc47f3b 100644
--- a/extensions/ConfirmEdit/i18n/fancy/hi.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/hi.json
@@ -7,7 +7,8 @@
},
"fancycaptcha-addurl": "आपके सम्पादन में नई बाहरी कड़ियाँ हैं।\nस्वचालित स्पॅम से बचाव में सहायता के लिये नीचे दिये हुए शब्द बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
"fancycaptcha-badlogin": "स्वचालित कूटशब्द चोरी से बचाव में सहायता के लिये नीचे दिये हुए शब्द बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
- "fancycaptcha-createaccount": "स्वचालित सदस्य पंजीकरण से बचाव में सहायता के लिये नीचे दिये शब्द बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
+ "fancycaptcha-createaccount": "स्वचालित सदस्य पंजीकरण से बचाव के लिये हम आपसे निवेदन करते हैं की नीचे दिये शब्द बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
"fancycaptcha-create": "यह पृष्ठ बनाने के लिये कृपया नीचे दिये शब्द बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
- "fancycaptcha-edit": "यह पृष्ठ बदलने के लिये, नीचे दिखने वाले अक्षर टेक्स्ट बक्सेमें लिखें ([[Special:Captcha/help|अधिक जानकारी]]):"
+ "fancycaptcha-edit": "यह पृष्ठ बदलने के लिये, नीचे दिखने वाले अक्षर टेक्स्ट बक्सेमें लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
+ "fancycaptcha-reload-text": "रिफ़्रेश"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/hr.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/hr.json
index 22b39dc1..dc73a791 100644
--- a/extensions/ConfirmEdit/i18n/fancy/hr.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/hr.json
@@ -2,12 +2,13 @@
"@metadata": {
"authors": [
"SpeedyGonsales",
- "MaGa"
+ "MaGa",
+ "Roberta F."
]
},
"fancycaptcha-addurl": "Vaše uređivanje sadrži nove vanjske poveznice. Kao zaštitu od automatskog spama,\nmolimo unesite slova koja vidite na slici dolje: ([[Special:Captcha/help|Pomoć]])",
"fancycaptcha-badlogin": "Da se spriječi automatiziranje pogađanja lozinki, molimo unesite\nslova koja vidite na slici dolje: <br />([[Special:Captcha/help|Pomoć]])",
- "fancycaptcha-createaccount": "Kao zaštitu od automatskog otvaranja računa, pri otvaranju računa trebate\nunijeti slova koja vidite na slici: <br />([[Special:Captcha/help|Pomoć]])",
+ "fancycaptcha-createaccount": "Kao zaštitu wiki od automatskog otvaranja računa, pri otvaranju računa ljubazno Vas molimo upišite slova koja vidite na slici: <br />([[Special:Captcha/help|Pomoć]])",
"fancycaptcha-create": "Da bi stvorili novu stranicu, molimo unesite\nslova koja vidite na slici dolje: <br />([[Special:Captcha/help|Pomoć]])",
"fancycaptcha-edit": "Da bi uređivali ovu stranicu, molimo unesite slova koja vidite na slici dolje: <br />([[Special:Captcha/help|Pomoć]])",
"fancycaptcha-sendemail": "Da bi ste nam pomogli protiv automatskog spama, molimo unesite riječi koje su prikazane ispod u okvir ([[Special:Captcha/help|više informacija]]):",
diff --git a/extensions/ConfirmEdit/i18n/fancy/hsb.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/hsb.json
index a45c3bb1..a45c3bb1 100644
--- a/extensions/ConfirmEdit/i18n/fancy/hsb.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/hsb.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/ht.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ht.json
new file mode 100644
index 00000000..f94e1e83
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ht.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tisave"
+ ]
+ },
+ "fancycaptcha-createaccount": "Pou anpeche ke kont kreye otomatikman wou wiki, n ap mande ou tanpri souple ekri mo yo ki parèt nan bwat la ([[Special:Captcha/help|more info]]):"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/hu.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/hu.json
index d51d912d..37823945 100644
--- a/extensions/ConfirmEdit/i18n/fancy/hu.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/hu.json
@@ -3,7 +3,8 @@
"authors": [
"Adam78",
"Dorgan",
- "Glanthor Reviol"
+ "Glanthor Reviol",
+ "Dj"
]
},
"fancycaptcha-addurl": "A szerkesztésed új külső hivatkozásokat tartalmaz. Az automatizált spamek megelőzése miatt kérjük, hogy add meg a lenti keretben olvasható szavakat ([[Special:Captcha/help|további segítség]]):",
@@ -11,5 +12,6 @@
"fancycaptcha-createaccount": "A felhasználói fiókok automatizált létrehozásának elkerülésére, kérlek, írd be az alább megjelenő szót a szövegdobozba ([[Special:Captcha/help|segítség]]):",
"fancycaptcha-create": "A lap létrehozásához kérjük, hogy add meg a lenti keretben olvasható szavakat ([[Special:Captcha/help|további segítség]]):",
"fancycaptcha-edit": "A szerkesztésed új külső linkeket tartalmaz. A spam-robotok elleni védekezés elősegítésére kérlek írd be az alább megjelenő szót a szövegdobozba ([[Special:Captcha/help|segítség]]):",
- "fancycaptcha-sendemail": "Hogy segíts az automatikus spammelés elleni védekezésben, kérünk írd be az alábbi szavakat a szövegdobozba ([[Special:Captcha/help|segítség]]):"
+ "fancycaptcha-sendemail": "Hogy segíts az automatikus spammelés elleni védekezésben, kérünk írd be az alábbi szavakat a szövegdobozba ([[Special:Captcha/help|segítség]]):",
+ "fancycaptcha-reload-text": "Frissítés"
}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/hy.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/hy.json
new file mode 100644
index 00000000..2df395fd
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/hy.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Xelgen"
+ ]
+ },
+ "fancycaptcha-reload-text": "Մեկ այլ"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ia.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ia.json
index 2b644971..2b644971 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ia.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ia.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/id.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/id.json
index 1ba694f1..99128aec 100644
--- a/extensions/ConfirmEdit/i18n/fancy/id.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/id.json
@@ -8,8 +8,9 @@
},
"fancycaptcha-addurl": "Suntingan Anda mencantumkan pranala luar baru. Untuk pelindungan terhadap spam otomatis, harap masukkan kata di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):",
"fancycaptcha-badlogin": "Sebagai pelindungan terhadap pemecah kata kunci otomatis, harap masukkan kata di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):",
- "fancycaptcha-createaccount": "Untuk pelindungan terhadap pembuatan akun otomatis, tolong masukkan kata di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):",
+ "fancycaptcha-createaccount": "Untuk melindungi wiki terhadap pembuatan akun otomatis, kami mohon Anda masukkan kata di bawah ini ke dalam kotak yang disediakan ([[Special:Captcha/help|info lengkap]]):",
"fancycaptcha-create": "Untuk membuat halaman, silahkan masukkan kata-kata yang muncul di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):",
"fancycaptcha-edit": "Untuk menyunting halaman ini, silahkan masukkan kata-kata yang muncul di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):",
- "fancycaptcha-sendemail": "Sebagai pelindungan terhadap spam otomatis, silahkan masukkan kata-kata yang muncul di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):"
+ "fancycaptcha-sendemail": "Sebagai pelindungan terhadap spam otomatis, silahkan masukkan kata-kata yang muncul di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):",
+ "fancycaptcha-reload-text": "Perbaharui"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ilo.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ilo.json
index 5c4e1ea6..5c4e1ea6 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ilo.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ilo.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/is.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/is.json
index 515eb00f..515eb00f 100644
--- a/extensions/ConfirmEdit/i18n/fancy/is.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/is.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/it.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/it.json
index 16248703..a6a1546a 100644
--- a/extensions/ConfirmEdit/i18n/fancy/it.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/it.json
@@ -5,7 +5,8 @@
"BrokenArrow",
"Darth Kule",
"Nemo bis",
- "Lucas2"
+ "Lucas2",
+ "Gianfranco"
]
},
"fancycaptcha-addurl": "La modifica richiesta aggiunge dei collegamenti esterni alla pagina; come misura precauzionale contro l'inserimento automatico di spam, ti chiediamo gentilmente di inserire nella casella sottostante le parole che compaiono di seguito ([[Special:Captcha/help|come funziona?]]):",
@@ -14,5 +15,7 @@
"fancycaptcha-create": "Per creare la pagina si prega di inserire nella casella sottostante le parole che compaiono nella casella di seguito ([[Special:Captcha/help|come funziona?]]):",
"fancycaptcha-edit": "Per modificare questa pagina si prega di inserire nella casella le parole che compaiono di seguito ([[Special:Captcha/help|informazioni]]):",
"fancycaptcha-sendemail": "Come misura precauzionale nei confronti dei messaggi di spam automatici, ti chiediamo gentilmente di inserire nella casella sottostante le parole che compaiono di seguito ([[Special:Captcha/help|come funziona?]]):",
- "fancycaptcha-reload-text": "Aggiorna"
+ "fancycaptcha-reload-text": "Aggiorna",
+ "apihelp-fancycaptchareload-description": "Ottieni un nuovo FancyCaptcha.",
+ "apihelp-fancycaptchareload-example-1": "Ottieni un nuovo FancyCaptcha"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ja.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ja.json
index 7ac5c734..7ac5c734 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ja.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ja.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/jut.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/jut.json
index 9b35bb77..9b35bb77 100644
--- a/extensions/ConfirmEdit/i18n/fancy/jut.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/jut.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/jv.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/jv.json
index 8454bd44..8454bd44 100644
--- a/extensions/ConfirmEdit/i18n/fancy/jv.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/jv.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/ka.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ka.json
index bceb84e6..bceb84e6 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ka.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ka.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/kaa.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/kaa.json
index c5b32320..c5b32320 100644
--- a/extensions/ConfirmEdit/i18n/fancy/kaa.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/kaa.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/khw.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/khw.json
new file mode 100644
index 00000000..9e980c7d
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/khw.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Rachitrali"
+ ]
+ },
+ "fancycaptcha-createaccount": "خودبخود غلط نوغ کھاتہ کھولاو کوریکو روک کوریکو بچے، مہربانی کوری ڈبا دیرو لوظان نیویشور ([[Special:Captcha/help|مزید معلومات]]):",
+ "fancycaptcha-reload-text": "تازہ کورے"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/kk-arab.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/kk-arab.json
index 7d10ff80..7d10ff80 100644
--- a/extensions/ConfirmEdit/i18n/fancy/kk-arab.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/kk-arab.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/kk-cyrl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/kk-cyrl.json
index 0eb4f32f..0eb4f32f 100644
--- a/extensions/ConfirmEdit/i18n/fancy/kk-cyrl.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/kk-cyrl.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/kk-latn.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/kk-latn.json
index 7e9819ef..7e9819ef 100644
--- a/extensions/ConfirmEdit/i18n/fancy/kk-latn.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/kk-latn.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/km.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/km.json
index a5035e0b..a5035e0b 100644
--- a/extensions/ConfirmEdit/i18n/fancy/km.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/km.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/kn.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/kn.json
new file mode 100644
index 00000000..26005305
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/kn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Omshivaprakash"
+ ]
+ },
+ "fancycaptcha-reload-text": "ಪುನಶ್ಚೇತನಗೊಳಿಸು"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ko.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ko.json
index bf3ee0de..bf3ee0de 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ko.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ko.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/krc.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/krc.json
index ec25fd20..ec25fd20 100644
--- a/extensions/ConfirmEdit/i18n/fancy/krc.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/krc.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/ksh.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ksh.json
index 6460893e..1e7e16b6 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ksh.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ksh.json
@@ -11,5 +11,7 @@
"fancycaptcha-create": "Öm di Sigg neu aanzelääje, don di Wööt onge en dat Käßje endraare. (Verklierung)",
"fancycaptcha-edit": "Öm de Sigg ze ändere, don di Wööt onge en dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])",
"fancycaptcha-sendemail": "Öm et Wiki jääje automattesch enjedraare <code lang=\"en\" xml:lang=\"en\">SPAM</code> ze schötze,\nbes esu joot, donn di Wööter enjävve, di en däm Käßje heh dronger shtonn.\n([[Special:Captcha/help|Mieh Enfommazjuhne]])",
- "fancycaptcha-reload-text": "Nöü Aanzeije!"
+ "fancycaptcha-reload-text": "Nöü Aanzeije!",
+ "apihelp-fancycaptchareload-description": "Maach en neu <i lang=\"en\" xml:lang=\"en\">FancyCaptcha</i>.",
+ "apihelp-fancycaptchareload-example-1": "Holl e neu <i lang=\"en\" xml:lang=\"en\">FancyCaptcha</i>"
}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/ku-latn.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ku-latn.json
new file mode 100644
index 00000000..e8493c95
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ku-latn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bikarhêner"
+ ]
+ },
+ "fancycaptcha-reload-text": "Nûkirin"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/kw.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/kw.json
index cdaad599..cdaad599 100644
--- a/extensions/ConfirmEdit/i18n/fancy/kw.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/kw.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/ky.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ky.json
index 949f4595..949f4595 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ky.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ky.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/la.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/la.json
index 1e3ee312..1e3ee312 100644
--- a/extensions/ConfirmEdit/i18n/fancy/la.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/la.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/lb.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/lb.json
index 1dc4b8b6..1dc4b8b6 100644
--- a/extensions/ConfirmEdit/i18n/fancy/lb.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/lb.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/li.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/li.json
index e50580d0..e50580d0 100644
--- a/extensions/ConfirmEdit/i18n/fancy/li.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/li.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/lo.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/lo.json
index d792ba33..d792ba33 100644
--- a/extensions/ConfirmEdit/i18n/fancy/lo.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/lo.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/lrc.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/lrc.json
new file mode 100644
index 00000000..a9f78445
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/lrc.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mogoeilor"
+ ]
+ },
+ "fancycaptcha-createaccount": "سی پر و پیم کاری ویکی د ری وه ری حساو راس کنی خود انجوم، ایما وا نازاری دتو میهایم که کلیمه یایی که هان د جعوه ([[Special:رازینه کپچا/هومیاری|دونسمنیا هنی]]):ایچه بنیسیت",
+ "fancycaptcha-reload-text": "د نؤ كردن",
+ "apihelp-fancycaptchareload-description": "یه گل FancyCaptcha نه بیئریت.",
+ "apihelp-fancycaptchareload-example-1": "یه گل رازینه کپچا نازار تازه بئیرت."
+}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/lt.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/lt.json
new file mode 100644
index 00000000..2bfc9e63
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/lt.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Eitvys200",
+ "Hugo.arg"
+ ]
+ },
+ "fancycaptcha-createaccount": "Siekiant apsaugoti wiki nuo automatinių paskyrų kūrimo, prašome jus įvesti žodžius, matomus rėmelyje apačioje ([[Special:Captcha/help|plačiau...]]):",
+ "fancycaptcha-reload-text": "Atnaujinti"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/lv.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/lv.json
index 81889765..81889765 100644
--- a/extensions/ConfirmEdit/i18n/fancy/lv.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/lv.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/mai.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/mai.json
new file mode 100644
index 00000000..875f1f72
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/mai.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tulsi Bhagat"
+ ]
+ },
+ "fancycaptcha-reload-text": "रिफ्रेश करू"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/min.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/min.json
index ebf13ffe..ebf13ffe 100644
--- a/extensions/ConfirmEdit/i18n/fancy/min.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/min.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/mk.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/mk.json
index 3b8fdf06..356bb113 100644
--- a/extensions/ConfirmEdit/i18n/fancy/mk.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/mk.json
@@ -11,5 +11,7 @@
"fancycaptcha-create": "За да создадете страница, внесете ги зборовите на сликичката подолу ([[Special:Captcha/help|повеќе информации]]):",
"fancycaptcha-edit": "За да ја уредите страницава, внесете ги зборовите на сликичката подолу ([[Special:Captcha/help|повеќе информации]]):",
"fancycaptcha-sendemail": "За да се заштитиме од автоматизирано спамирање, би ве замолиле да ги внесете зборовите од сликичката во полето подолу ([[Special:Captcha/help|повеќе информации]]):",
- "fancycaptcha-reload-text": "Превчитај"
+ "fancycaptcha-reload-text": "Превчитај",
+ "apihelp-fancycaptchareload-description": "Дај нова FancyCaptcha.",
+ "apihelp-fancycaptchareload-example-1": "Дај нова FancyCaptcha."
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ml.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ml.json
index b3ed6720..f51bad82 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ml.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ml.json
@@ -7,7 +7,7 @@
},
"fancycaptcha-addurl": "താങ്കളുടെ തിരുത്തലലിൽ പുറം കണ്ണികൾ ഉൾപ്പെട്ടിരിക്കുന്നു.\nയാന്ത്രിക സ്പാമിനെതിരെയുള്ള സം‌രക്ഷണത്തിന്റെ ഭാഗമായി, താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):",
"fancycaptcha-badlogin": "രഹസ്യവാക്ക് യാന്ത്രികമായി പൊളിക്കുന്നത് തടയുന്നതിന്റെ ഭാഗമായി, താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):",
- "fancycaptcha-createaccount": "അംഗത്വം യാന്ത്രികമായി സൃഷ്ടിക്കുന്നതു തടയുന്നതൊഴിവാക്കാനുള്ള സം‌രക്ഷണത്തിന്റെ ഭാഗമായി, താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):",
+ "fancycaptcha-createaccount": "യാന്ത്രികമായി അംഗത്വം സൃഷ്ടിക്കുന്നതിൽ നിന്നും വിക്കിയെ സം‌രക്ഷിക്കുന്നതിന്റെ ഭാഗമായി, ദയവായി താഴെ കൊടുത്തിരിക്കുന്ന വാക്കുകൾ പെട്ടിയിൽ നൽകുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):",
"fancycaptcha-create": "ഈ താൾ സൃഷ്ടിക്കുവാൻ താഴെയുള്ള പെട്ടിയിൽ കാണുന്ന വാക്കുകൾ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):",
"fancycaptcha-edit": "ഈ താൾ തിരുത്തുവാൻ ദയവായി താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):",
"fancycaptcha-sendemail": "യാന്ത്രികമായ പാഴെഴുത്ത് ഉൾപ്പെടുത്തലിനുള്ള പ്രതിരോധമെന്ന നിലയിൽ, താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പ് ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):",
diff --git a/extensions/ConfirmEdit/i18n/fancy/mr.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/mr.json
index 5a9eb268..16bfdd52 100644
--- a/extensions/ConfirmEdit/i18n/fancy/mr.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/mr.json
@@ -2,7 +2,9 @@
"@metadata": {
"authors": [
"Kaustubh",
- "Mahitgar"
+ "Mahitgar",
+ "संतोष दहिवळ",
+ "BPositive"
]
},
"fancycaptcha-addurl": "तुमच्या संपादनात नवीन बाह्य दुवे आहेत.\nआपोआप होणार्‍या संपादनांपासून बचावासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):",
@@ -10,5 +12,6 @@
"fancycaptcha-createaccount": "आपोआप होणार्‍या सदस्य नोंदणीपासून वाचण्यासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):",
"fancycaptcha-create": "हे पान तयार करण्यासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):",
"fancycaptcha-edit": "हे पान संपादित करण्यासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):",
- "fancycaptcha-sendemail": "आपोआप होणार्‍या उत्पातापासून वाचण्यासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):"
+ "fancycaptcha-sendemail": "आपोआप होणार्‍या उत्पातापासून वाचण्यासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):",
+ "fancycaptcha-reload-text": "ताजेतवाने करा"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ms.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ms.json
index 0d1aae63..0d1aae63 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ms.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ms.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/mt.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/mt.json
index 6488dc43..6488dc43 100644
--- a/extensions/ConfirmEdit/i18n/fancy/mt.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/mt.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/nap.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/nap.json
new file mode 100644
index 00000000..c060e567
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/nap.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "C.R."
+ ]
+ },
+ "fancycaptcha-addurl": "'O cagnamiento vuosto include 'e cullegamiente 'e fore.\nPe' putè pruteggere annanz'a 'o spamm automateco, pe' piacere mettete 'e parole ccà abbascio ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "fancycaptcha-badlogin": "Pe' ve putè pruteggere 'a wiki annanz'a coccheruno ca se futtesse 'a password cu nu computer, pe' piacere mettite ccà abbascio int' 'a casciulella 'e parole ccà ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "fancycaptcha-createaccount": "Pe' ve putè pruteggere 'a wiki annanz'a criazione 'utente, pe' piacere mettite ccà abbascio int' 'a casciulella 'e parole ccà ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "fancycaptcha-create": "Pe' crià sta paggena, pe' piacere mettite 'e parole ca cumpareno ccà abbascio int'a casciulella ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "fancycaptcha-edit": "Pe' putè cagnà sta paggena, pe' piacere mettete 'e parole ca se trovano ccà abbascio int'a casciulella ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "fancycaptcha-sendemail": "Pe' ve putè pruteggere 'a wiki annanz'a coccheruno ca facesse spam c' 'o computer, pe' piacere mettite ccà abbascio int' 'a casciulella 'e parole ccà ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "fancycaptcha-reload-text": "Agghiuorna",
+ "apihelp-fancycaptchareload-description": "Pigliateve nu FancyCaptcha nuovo.",
+ "apihelp-fancycaptchareload-example-1": "Pigliateve nu FancyCaptcha nuovo"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/nb.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/nb.json
index b8d3853b..b8d3853b 100644
--- a/extensions/ConfirmEdit/i18n/fancy/nb.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/nb.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/nds-nl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/nds-nl.json
index e184d3d8..e184d3d8 100644
--- a/extensions/ConfirmEdit/i18n/fancy/nds-nl.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/nds-nl.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/nds.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/nds.json
index f7379441..f7379441 100644
--- a/extensions/ConfirmEdit/i18n/fancy/nds.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/nds.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/ne.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ne.json
new file mode 100644
index 00000000..c9831353
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ne.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "बिप्लब आनन्द"
+ ]
+ },
+ "fancycaptcha-reload-text": "ताजागर्ने"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/nl-informal.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/nl-informal.json
index 3ba85480..3ba85480 100644
--- a/extensions/ConfirmEdit/i18n/fancy/nl-informal.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/nl-informal.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/nl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/nl.json
index e5b40b23..e5b40b23 100644
--- a/extensions/ConfirmEdit/i18n/fancy/nl.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/nl.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/nn.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/nn.json
index df234c8c..df234c8c 100644
--- a/extensions/ConfirmEdit/i18n/fancy/nn.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/nn.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/oc.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/oc.json
index f879270c..f879270c 100644
--- a/extensions/ConfirmEdit/i18n/fancy/oc.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/oc.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/or.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/or.json
index 26dd49cc..26dd49cc 100644
--- a/extensions/ConfirmEdit/i18n/fancy/or.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/or.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/pa.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/pa.json
new file mode 100644
index 00000000..f94c4815
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/pa.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Babanwalia"
+ ]
+ },
+ "fancycaptcha-reload-text": "ਮੁੜ ਤਾਜ਼ਾ ਕਰੋ"
+}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/pfl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/pfl.json
new file mode 100644
index 00000000..e7379c26
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/pfl.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Manuae"
+ ]
+ },
+ "fancycaptcha-createaccount": "Fadde Schudz vum Wiki voa audomadisch oag'leeschde B'nudzakonde, gebb bidde unna s'Woad oi ([[Special:Captcha/help|Fooche odda Broblem?]]):",
+ "fancycaptcha-reload-text": "Agdualisiere"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/pl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/pl.json
index 266d7e23..266d7e23 100644
--- a/extensions/ConfirmEdit/i18n/fancy/pl.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/pl.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/pms.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/pms.json
index 1dd14199..4e8fdd6d 100644
--- a/extensions/ConfirmEdit/i18n/fancy/pms.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/pms.json
@@ -11,5 +11,7 @@
"fancycaptcha-create": "Për creé sta pàgina-i d'amblé, për piasì, ch'a l'arbata le paròle ch'a s-ciàira ambelessì sota ([[Special:Captcha/help|për savejne dë pì]]):",
"fancycaptcha-edit": "Për fe-ie dle modìfiche ansima a sta pàgina-sì, për piasì, ch'a l'arbata le paròle ch'a s-ciàira ambelessì sota ([[Special:Captcha/help|për savejne dë pì]]):",
"fancycaptcha-sendemail": "Për protege la wiki contra la rumenta automàtica, për piasì ch'a anserissa le paròle che as vëddo ant la casela sì-sota ([[Special:Captcha/help|për savèjne ëd pi]]):",
- "fancycaptcha-reload-text": "Agiorné"
+ "fancycaptcha-reload-text": "Agiorné",
+ "apihelp-fancycaptchareload-description": "Oten-e un neuv FancyCaptcha.",
+ "apihelp-fancycaptchareload-example-1": "Oten-e un neuv FancyCaptcha"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/pnb.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/pnb.json
index 6cd11fc5..6cd11fc5 100644
--- a/extensions/ConfirmEdit/i18n/fancy/pnb.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/pnb.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/ps.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ps.json
index 8ec55a5c..aa4224c6 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ps.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ps.json
@@ -4,6 +4,8 @@
"Ahmed-Najib-Biabani-Ibrahimkhel"
]
},
+ "fancycaptcha-createaccount": "په ويکي کې د خپلسري گڼون جوړېدنې د مخنيوي په خاطر موږ له تاسې غوښتنه کوو چې لانديني توري هماغسې په ورکړل شوي بکس کې وټاپئ څنگه چې تاسې ته ښکارېږي ([[Special:Captcha/help|لا نور مالومات]]):",
"fancycaptcha-create": "ددې مخ د جوړلو لپاره، لطفاً ورکړل شوي توري چې څنگه تاسې ته ښکاري هماغسې کټ مټ په لانديني چوکاټ کې وليکی ([[Special:Captcha/help|نور مالومات]]):",
- "fancycaptcha-edit": "ددې مخ د سمولو لپاره، لطفاً ورکړل شوي توري چې څنگه تاسې ته ښکاري هماغسې کټ مټ په لانديني چوکاټ کې وليکی ([[Special:Captcha/help|نور مالومات]]):"
+ "fancycaptcha-edit": "ددې مخ د سمولو لپاره، لطفاً ورکړل شوي توري چې څنگه تاسې ته ښکاري هماغسې کټ مټ په لانديني چوکاټ کې وليکی ([[Special:Captcha/help|نور مالومات]]):",
+ "fancycaptcha-reload-text": "بياتازه کول"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/pt-br.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/pt-br.json
index d1766621..954856e0 100644
--- a/extensions/ConfirmEdit/i18n/fancy/pt-br.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/pt-br.json
@@ -3,10 +3,11 @@
"authors": [
"Cainamarques",
"Eduardo.mps",
- "Giro720"
+ "Giro720",
+ "Dianakc"
]
},
- "fancycaptcha-addurl": "A sua edição inclui novas ligações externas. Para proteger a wiki contra sistemas automatizados que inserem ''spam'', por favor, introduza as palavras exibidas na seguinte caixa ([[Special:Captcha/help|mais informações]]):",
+ "fancycaptcha-addurl": "A sua edição inclui novos links externos. Para proteger a wiki contra sistemas automatizados que inserem ''spam'', por favor, introduza as palavras mostradas na seguinte caixa ([[Special:Captcha/help|mais informações]]):",
"fancycaptcha-badlogin": "Para proteger a wiki contra programas automatizados de detecção de senhas, por favor, introduza as palavras exibidas na seguinte caixa ([[Special:Captcha/help|mais informações]]):",
"fancycaptcha-createaccount": "Para proteger a wiki contra sistemas automatizados de criação de contas, solicitamos que introduza as palavras exibidas na seguinte caixa ([[Special:Captcha/help|mais informações]]):",
"fancycaptcha-create": "Para criar a página, por favor, introduza as palavras exibidas na seguinte caixa ([[Special:Captcha/help|mais informações]]):",
diff --git a/extensions/ConfirmEdit/i18n/fancy/pt.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/pt.json
index fc5b67e3..fc5b67e3 100644
--- a/extensions/ConfirmEdit/i18n/fancy/pt.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/pt.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/qqq.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/qqq.json
index 4b6302f2..0d1651c3 100644
--- a/extensions/ConfirmEdit/i18n/fancy/qqq.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/qqq.json
@@ -14,5 +14,7 @@
"fancycaptcha-create": "{{Related|ConfirmEdit-create}}",
"fancycaptcha-edit": "{{Related|ConfirmEdit-edit}}",
"fancycaptcha-sendemail": "{{Related|ConfirmEdit-sendemail}}",
- "fancycaptcha-reload-text": "Prompts a click to get a new FancyCaptcha image.\n{{Identical|Refresh}}"
+ "fancycaptcha-reload-text": "Prompts a click to get a new FancyCaptcha image.\n{{Identical|Refresh}}",
+ "apihelp-fancycaptchareload-description": "{{doc-apihelp-description|fancycaptchareload}}",
+ "apihelp-fancycaptchareload-example-1": "{{doc-apihelp-example|fancycaptchareload}}"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/qu.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/qu.json
index 10b7911c..10b7911c 100644
--- a/extensions/ConfirmEdit/i18n/fancy/qu.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/qu.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/rm.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/rm.json
index b831f13b..b831f13b 100644
--- a/extensions/ConfirmEdit/i18n/fancy/rm.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/rm.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/ro.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ro.json
index 1044377d..1044377d 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ro.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ro.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/roa-tara.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/roa-tara.json
index 06c84395..2313192d 100644
--- a/extensions/ConfirmEdit/i18n/fancy/roa-tara.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/roa-tara.json
@@ -10,5 +10,7 @@
"fancycaptcha-create": "Pe ccrejà sta pàgene, pe piacere mitte le parole ca combare aqquà sotte ([[Special:Captcha/help|more info]]):",
"fancycaptcha-edit": "Pe cangià sta pàgene, pe piacere mitte le parole combare aqquà sotte ([[Special:Captcha/help|more info]]):",
"fancycaptcha-sendemail": "Pe proteggere condre a spam automatece, pe piacere mitte le parole ca iessene aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):",
- "fancycaptcha-reload-text": "Aggiorne"
+ "fancycaptcha-reload-text": "Aggiorne",
+ "apihelp-fancycaptchareload-description": "Pigghie 'nu FancyCaptcha nuève.",
+ "apihelp-fancycaptchareload-example-1": "Pigghie 'nu FancyCaptcha nuève"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ru.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ru.json
index 836beb53..836beb53 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ru.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ru.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/rue.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/rue.json
index 48011016..48011016 100644
--- a/extensions/ConfirmEdit/i18n/fancy/rue.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/rue.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/sa.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/sa.json
index 7c9563cf..7c9563cf 100644
--- a/extensions/ConfirmEdit/i18n/fancy/sa.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/sa.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/sah.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/sah.json
index 6ba938a6..5ba0991e 100644
--- a/extensions/ConfirmEdit/i18n/fancy/sah.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/sah.json
@@ -6,8 +6,9 @@
},
"fancycaptcha-addurl": "Эн көннөрүүҥ тас ыйынньыктаах эбит. Спаамтан көмүскэнэр соруктаах дьайыыны оҥор, манна баар тыллары хатылаа ([[Special:Captcha/help|сиһилии…]]):",
"fancycaptcha-badlogin": "Киирии тылы аптамаатынан алдьатыыттан көмүскэнэр дьайыыны оҥороргор көрдөһөбүт, манна ойууламмыт буукубалары хатылаа ([[Special:Captcha/help|сиһилии]]):",
- "fancycaptcha-createaccount": "Ааттары аптамаатынан бэлиэтиири суох оҥорор туһуттан бу дьайыыны оҥороргор көрдөһөбүт: ойууламмыт сурук бэлиэлэрин анал сиргэ киллэр ([[Special:Captcha/help|сиһилии]]):",
+ "fancycaptcha-createaccount": "Ааттары аптамаатынан бэлиэтиири суох оҥорор туһуттан, аллара көстөр тыллары хатылаа \n([[Special:Captcha/help|сиһилии]]):",
"fancycaptcha-create": "Эн көннөрүүҥ тас ыйынньыктардаах эбит. Спаамтан көмүскэнэр туһуттан манна баар тыллары хатылыыргар көрдөһөбүт ([[Special:Captcha/help|сиһилии…]]):",
"fancycaptcha-edit": "Эн көннөрүүҥ тас ыйынньыктардаах эбит. Спаамтан көмүскэнэр туһуттан манна баар тыллары хатылыыргар көрдөһөбүт ([[Special:Captcha/help|сиһилии…]]):",
- "fancycaptcha-sendemail": "Аптамаат спаамтан көмүскэнэр дьайыыны оҥороргор көрдөһөбүт, манна ойууламмыт тыллары хатылаа ([[Special:Captcha/help|сиһилии]]):"
+ "fancycaptcha-sendemail": "Аптамаат спаамтан көмүскэнэр дьайыыны оҥороргор көрдөһөбүт, манна ойууламмыт тыллары хатылаа ([[Special:Captcha/help|сиһилии]]):",
+ "fancycaptcha-reload-text": "Саҥарт"
}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/scn.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/scn.json
new file mode 100644
index 00000000..35e36ec7
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/scn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gmelfi"
+ ]
+ },
+ "fancycaptcha-createaccount": "Comu misura pricauzzionali contra li tintativa di riggistrazzioni automatica, t'addumannamu gintirmenti di nzirìri ntâ casedda cassutta li paroli ca cumpàrunu appressu ([[Special:Captcha/help|comu funziona?]]):"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/si.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/si.json
index b376277e..b376277e 100644
--- a/extensions/ConfirmEdit/i18n/fancy/si.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/si.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/sk.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/sk.json
index 110ee1d6..110ee1d6 100644
--- a/extensions/ConfirmEdit/i18n/fancy/sk.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/sk.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/sl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/sl.json
index a2a84e1d..e4c01bfb 100644
--- a/extensions/ConfirmEdit/i18n/fancy/sl.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/sl.json
@@ -10,5 +10,7 @@
"fancycaptcha-create": "Če želite ustvariti stran, prosimo vnesite spodnje besede v polje ([[Special:Captcha/help|več informacij]]):",
"fancycaptcha-edit": "Če želite urediti stran, prosimo vnesite spodnje besede v polje ([[Special:Captcha/help|več informacij]]):",
"fancycaptcha-sendemail": "Zaradi zaščite wikija pred samodejnim smetenjem vas prijazno naprošamo, da vnesete spodnje besede v polje ([[Special:Captcha/help|več informacij]]):",
- "fancycaptcha-reload-text": "Osveži"
+ "fancycaptcha-reload-text": "Osveži",
+ "apihelp-fancycaptchareload-description": "Pridobi novo FancyCaptcha.",
+ "apihelp-fancycaptchareload-example-1": "Pridobi novo FancyCaptcha"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/so.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/so.json
index fe33f806..fe33f806 100644
--- a/extensions/ConfirmEdit/i18n/fancy/so.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/so.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/sq.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/sq.json
index 50d8f799..50d8f799 100644
--- a/extensions/ConfirmEdit/i18n/fancy/sq.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/sq.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/sr-ec.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/sr-ec.json
index 22c8ecfa..9bb62175 100644
--- a/extensions/ConfirmEdit/i18n/fancy/sr-ec.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/sr-ec.json
@@ -11,9 +11,9 @@
"fancycaptcha-desc": "Обогаћен стварач сликовног кода за потврду уређивања",
"fancycaptcha-addurl": "Ваша измена садржи нове спољашње везе.\nУ циљу заштите од непожељних порука, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):",
"fancycaptcha-badlogin": "У циљу заштите од пробијања лозинки, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):",
- "fancycaptcha-createaccount": "У циљу заштите од самоотварања налога, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):",
+ "fancycaptcha-createaccount": "У циљу заштите од аутоматског отварања налога, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):",
"fancycaptcha-create": "Да бисте направили страницу, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):",
"fancycaptcha-edit": "Да бисте уредили ову страницу, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):",
"fancycaptcha-sendemail": "У циљу заштите од непожељних порука, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):",
- "fancycaptcha-reload-text": "Освежи"
+ "fancycaptcha-reload-text": "освежи"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/sr-el.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/sr-el.json
index 628aba94..9f743fb1 100644
--- a/extensions/ConfirmEdit/i18n/fancy/sr-el.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/sr-el.json
@@ -9,9 +9,9 @@
"fancycaptcha-desc": "Obogaćen stvarač slikovnog koda za potvrdu uređivanja",
"fancycaptcha-addurl": "Vaša izmena sadrži nove spoljašnje veze.\nU cilju zaštite od nepoželjnih poruka, unesite reči sa slike u polje ispod ([[Special:Captcha/help|više informacija]]):",
"fancycaptcha-badlogin": "U cilju zaštite od probijanja lozinki, unesite reči sa slike u polje ispod ([[Special:Captcha/help|više informacija]]):",
- "fancycaptcha-createaccount": "U cilju zaštite od samootvaranja naloga, unesite reči sa slike u polje ispod ([[Special:Captcha/help|više informacija]]):",
+ "fancycaptcha-createaccount": "U cilju zaštite od automatskog otvaranja naloga, unesite reči sa slike u polje ispod ([[Special:Captcha/help|više informacija]]):",
"fancycaptcha-create": "Da bi se napravila stranica, potrebno je uneti reči koje se nalaze ispod kutije ([[Special:Captcha/help|detaljnije]]):",
"fancycaptcha-edit": "Za izmenu ove strane unesi reči koje se nalaze ispod kutije ([[Special:Captcha/help|detaljnije]]):",
"fancycaptcha-sendemail": "U cilju zaštite od nepoželjnih poruka, unesite reči sa slike u polje ispod ([[Special:Captcha/help|više informacija]]):",
- "fancycaptcha-reload-text": "Osveži"
+ "fancycaptcha-reload-text": "osveži"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/stq.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/stq.json
index 3402326d..3402326d 100644
--- a/extensions/ConfirmEdit/i18n/fancy/stq.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/stq.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/su.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/su.json
index 94003d21..94003d21 100644
--- a/extensions/ConfirmEdit/i18n/fancy/su.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/su.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/sv.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/sv.json
index fb2d556d..0ddd363e 100644
--- a/extensions/ConfirmEdit/i18n/fancy/sv.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/sv.json
@@ -13,5 +13,7 @@
"fancycaptcha-create": "För att skapa den här sidan måste du först skriva orden som visas nedan i rutan\n([[Special:Captcha/help|mer information]]):",
"fancycaptcha-edit": "För att redigera den här sidan måste du först skriva orden som visas nedan i rutan\n([[Special:Captcha/help|mer information]]):",
"fancycaptcha-sendemail": "För att skydda wikin mot automatiserad spam ber vi dig att skriva orden som visas nedan i rutan ([[Special:Captcha/help|mer information]]):",
- "fancycaptcha-reload-text": "Uppdatera"
+ "fancycaptcha-reload-text": "Uppdatera",
+ "apihelp-fancycaptchareload-description": "Hämta en ny FancyCaptcha.",
+ "apihelp-fancycaptchareload-example-1": "Hämta en ny FancyCaptcha."
}
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/szl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/szl.json
new file mode 100644
index 00000000..f880ed4d
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/szl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Krol111"
+ ]
+ },
+ "fancycaptcha-reload-text": "Uodśwjyż"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/ta.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ta.json
index f8fb25f3..f8fb25f3 100644
--- a/extensions/ConfirmEdit/i18n/fancy/ta.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ta.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/tcy.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/tcy.json
new file mode 100644
index 00000000..896d827a
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/tcy.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "VASANTH S.N."
+ ]
+ },
+ "fancycaptcha-reload-text": "ಪುನಶ್ಚೇತನಗೊಳಿಸಾಲೆ"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/te.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/te.json
index 35728c73..b2d204bc 100644
--- a/extensions/ConfirmEdit/i18n/fancy/te.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/te.json
@@ -1,12 +1,14 @@
{
"@metadata": {
"authors": [
- "Mpradeep"
+ "Mpradeep",
+ "రహ్మానుద్దీన్"
]
},
"fancycaptcha-addurl": "మీ దిద్దుబాటులో కొత్త బయటి లింకులున్నాయి. బాట్లద్వారా చేసే స్పాము నుండి రక్షణను ఏర్పరచేందుకు గాను,\nకింద కనిపించే బొమ్మలోని అక్షరాలను పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సమాచారం]]):",
"fancycaptcha-badlogin": "సంకేత పదాలను దొంగిలించే ఆటోమాటిక్ ప్రోగ్రాముల నుండి రక్షించేందుకు గాను, కింద కనిపించే బొమ్మలోని అక్షరాలను పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సమాచారం]]):",
"fancycaptcha-createaccount": "ఆటోమాటిగ్గా ఖాతాలను సృష్టించడాన్ని నివారించేందుకు, కింద కనిపించే పదాలను\nఈ పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సహాయం]]):",
"fancycaptcha-create": "కొత్త పేజీ సృష్టించేందుకు గాను, కింద కనిపించే బొమ్మలోని అక్షరాలను పెట్టెలో రాయండి\n([[Special:Captcha/help|మరింత సమాచారం]]):",
- "fancycaptcha-edit": "ఈ పేజీలో దిద్దుబాటు చేసేందుకు, కింద కనిపించే బొమ్మలోని అక్షరాలను పెట్టెలో రాయండి\n([[Special:Captcha/help|మరింత సమాచారం]]):"
+ "fancycaptcha-edit": "ఈ పేజీలో దిద్దుబాటు చేసేందుకు, కింద కనిపించే బొమ్మలోని అక్షరాలను పెట్టెలో రాయండి\n([[Special:Captcha/help|మరింత సమాచారం]]):",
+ "fancycaptcha-reload-text": "తాజాపరుచు"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/tg-cyrl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/tg-cyrl.json
index a0edc4f9..a0edc4f9 100644
--- a/extensions/ConfirmEdit/i18n/fancy/tg-cyrl.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/tg-cyrl.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/tg-latn.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/tg-latn.json
index 38f5207a..38f5207a 100644
--- a/extensions/ConfirmEdit/i18n/fancy/tg-latn.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/tg-latn.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/th.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/th.json
index b832194f..b832194f 100644
--- a/extensions/ConfirmEdit/i18n/fancy/th.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/th.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/tk.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/tk.json
index e23f48b8..e23f48b8 100644
--- a/extensions/ConfirmEdit/i18n/fancy/tk.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/tk.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/tl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/tl.json
index 50731937..50731937 100644
--- a/extensions/ConfirmEdit/i18n/fancy/tl.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/tl.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/tr.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/tr.json
index 0a54f5e3..0a54f5e3 100644
--- a/extensions/ConfirmEdit/i18n/fancy/tr.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/tr.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/tt-cyrl.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/tt-cyrl.json
new file mode 100644
index 00000000..1878ee6c
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/tt-cyrl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Derslek"
+ ]
+ },
+ "fancycaptcha-reload-text": "Яңарту"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/uk.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/uk.json
index 3adba1e1..3adba1e1 100644
--- a/extensions/ConfirmEdit/i18n/fancy/uk.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/uk.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/ur.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/ur.json
new file mode 100644
index 00000000..d372d4f8
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/ur.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "عثمان خان شاہ"
+ ]
+ },
+ "fancycaptcha-reload-text": "تازہ کریں"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/uz.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/uz.json
index 4d7e1745..4d7e1745 100644
--- a/extensions/ConfirmEdit/i18n/fancy/uz.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/uz.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/vec.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/vec.json
index e9adcdd2..e9adcdd2 100644
--- a/extensions/ConfirmEdit/i18n/fancy/vec.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/vec.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/vi.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/vi.json
index 9f0ef22c..833bdaea 100644
--- a/extensions/ConfirmEdit/i18n/fancy/vi.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/vi.json
@@ -13,5 +13,7 @@
"fancycaptcha-create": "Để tạo trang, xin hãy nhập những chữ xuất hiện ở dưới vào ô ([[Special:Captcha/help|thông tin thêm]]):",
"fancycaptcha-edit": "Để sửa trang này, xin hãy nhập những từ xuất hiện ở dưới vào ô ([[Special:Captcha/help|thông tin thêm]]):",
"fancycaptcha-sendemail": "Để giúp chúng tôi chống lại spam tự động, xin vui lòng nhập những từ xuất hiện ở dưới vào ô ([[Special:Captcha/help|thông tin thêm]]):",
- "fancycaptcha-reload-text": "Làm tươi"
+ "fancycaptcha-reload-text": "Làm tươi",
+ "apihelp-fancycaptchareload-description": "Lấy FancyCaptcha mới.",
+ "apihelp-fancycaptchareload-example-1": "Lấy FancyCaptcha mới."
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/vo.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/vo.json
index fb8bfe9f..fb8bfe9f 100644
--- a/extensions/ConfirmEdit/i18n/fancy/vo.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/vo.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/vro.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/vro.json
index 198490e4..198490e4 100644
--- a/extensions/ConfirmEdit/i18n/fancy/vro.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/vro.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/wa.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/wa.json
index 180b5fdd..180b5fdd 100644
--- a/extensions/ConfirmEdit/i18n/fancy/wa.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/wa.json
diff --git a/extensions/ConfirmEdit/FancyCaptcha/i18n/xmf.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/xmf.json
new file mode 100644
index 00000000..e995e0b8
--- /dev/null
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/xmf.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Silovan"
+ ]
+ },
+ "fancycaptcha-createaccount": "ვიკიშ ანგარიშეფიშ ავტომატური რეგისტრაციაშე თხილუაშ ღანკით, ჩქი ალაიჩანთ, გენშიჸონათ მოჩამილი სიმბოლოეფი ტექსტურ ველს ([[Special:Captcha/help|დეტალურო]]):",
+ "fancycaptcha-reload-text": "გოახალაფა"
+}
diff --git a/extensions/ConfirmEdit/i18n/fancy/yi.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/yi.json
index 7f2d04b9..cc8076dc 100644
--- a/extensions/ConfirmEdit/i18n/fancy/yi.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/yi.json
@@ -4,6 +4,8 @@
"פוילישער"
]
},
+ "fancycaptcha-createaccount": "צו שיצן די וויקי קעגן שאַפֿן קאנטעס אויטאמאַטיש, בעטן מיר אײַך אריינקלאַפן די ווערטער אונטן אינעם קעסטל. ([[Special:Captcha/help|נאך אינפֿארמאַציע]]):",
"fancycaptcha-create": "צו שאַפֿן דעם בלאַט, זײַט אזוי גוט און קלאַפט אַרײַן די ווערטער וואָס זענען אינעם קעסטל אונטן ([[Special:Captcha/help|מער אינפֿארמאַציע]]):",
- "fancycaptcha-edit": "צו רעדאִקטירן דעם בלאַט, זײַט אזוי גוט און קלאַפט אַרײַן די ווערטער וואָס שטייען אינעם קעסטל אונטן ([[Special:Captcha/help|מער אינפֿארמאַציע]]):"
+ "fancycaptcha-edit": "צו רעדאִקטירן דעם בלאַט, זײַט אזוי גוט און קלאַפט אַרײַן די ווערטער וואָס שטייען אינעם קעסטל אונטן ([[Special:Captcha/help|מער אינפֿארמאַציע]]):",
+ "fancycaptcha-reload-text": "דערפֿרישן"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/yo.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/yo.json
index 09ab43a0..09ab43a0 100644
--- a/extensions/ConfirmEdit/i18n/fancy/yo.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/yo.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/yue.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/yue.json
index b86a81ce..455856b3 100644
--- a/extensions/ConfirmEdit/i18n/fancy/yue.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/yue.json
@@ -1,8 +1,13 @@
{
- "@metadata": [],
+ "@metadata": {
+ "authors": [
+ "Yueman"
+ ]
+ },
"fancycaptcha-addurl": "你嘅編輯包括咗新嘅外部連結。為咗防止自動化嘅濫貼,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):",
"fancycaptcha-badlogin": "為咗防止不當程式破解密碼,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):",
"fancycaptcha-createaccount": "為咗防止自動化開新戶口,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):",
"fancycaptcha-create": "要開一個新版,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):",
- "fancycaptcha-edit": "要編輯呢一版,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):"
+ "fancycaptcha-edit": "要編輯呢一版,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):",
+ "fancycaptcha-reload-text": "重新整理"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/zh-hans.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/zh-hans.json
index f540108c..abfd7c47 100644
--- a/extensions/ConfirmEdit/i18n/fancy/zh-hans.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/zh-hans.json
@@ -3,7 +3,9 @@
"authors": [
"Bencmq",
"Cwek",
- "Mywood"
+ "Mywood",
+ "Impersonator 1",
+ "Liuxinyu970226"
]
},
"fancycaptcha-desc": "用于确认编辑的扭曲验证码生成器",
@@ -13,5 +15,7 @@
"fancycaptcha-create": "要创建页面,请输入下面方框中显示的文字([[Special:Captcha/help|更多信息]]):",
"fancycaptcha-edit": "要编辑该页面,请输入下面方框中显示的文字([[Special:Captcha/help|更多信息]]):",
"fancycaptcha-sendemail": "为保护本wiki免受自动垃圾程序的破坏,我们恳请你输入下面方框中显示的文字([[Special:Captcha/help|更多信息]]):",
- "fancycaptcha-reload-text": "刷新"
+ "fancycaptcha-reload-text": "刷新",
+ "apihelp-fancycaptchareload-description": "获得一个新的FancyCaptcha。",
+ "apihelp-fancycaptchareload-example-1": "获得一个新的FancyCaptcha"
}
diff --git a/extensions/ConfirmEdit/i18n/fancy/zh-hant.json b/extensions/ConfirmEdit/FancyCaptcha/i18n/zh-hant.json
index 22bc1f0a..22bc1f0a 100644
--- a/extensions/ConfirmEdit/i18n/fancy/zh-hant.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/i18n/zh-hant.json
diff --git a/extensions/ConfirmEdit/resources/ext.confirmEdit.fancyCaptcha.css b/extensions/ConfirmEdit/FancyCaptcha/resources/ext.confirmEdit.fancyCaptcha.css
index 96e4dd6a..96e4dd6a 100644
--- a/extensions/ConfirmEdit/resources/ext.confirmEdit.fancyCaptcha.css
+++ b/extensions/ConfirmEdit/FancyCaptcha/resources/ext.confirmEdit.fancyCaptcha.css
diff --git a/extensions/ConfirmEdit/resources/ext.confirmEdit.fancyCaptcha.js b/extensions/ConfirmEdit/FancyCaptcha/resources/ext.confirmEdit.fancyCaptcha.js
index a8db7218..a8db7218 100644
--- a/extensions/ConfirmEdit/resources/ext.confirmEdit.fancyCaptcha.js
+++ b/extensions/ConfirmEdit/FancyCaptcha/resources/ext.confirmEdit.fancyCaptcha.js
diff --git a/extensions/ConfirmEdit/resources/images/ajax-loader-10x10.gif b/extensions/ConfirmEdit/FancyCaptcha/resources/images/ajax-loader-10x10.gif
index 772e9a55..772e9a55 100644
--- a/extensions/ConfirmEdit/resources/images/ajax-loader-10x10.gif
+++ b/extensions/ConfirmEdit/FancyCaptcha/resources/images/ajax-loader-10x10.gif
Binary files differ
diff --git a/extensions/ConfirmEdit/resources/images/fancycaptcha-reload-icon.png b/extensions/ConfirmEdit/FancyCaptcha/resources/images/fancycaptcha-reload-icon.png
index 6cbde303..6cbde303 100644
--- a/extensions/ConfirmEdit/resources/images/fancycaptcha-reload-icon.png
+++ b/extensions/ConfirmEdit/FancyCaptcha/resources/images/fancycaptcha-reload-icon.png
Binary files differ
diff --git a/extensions/ConfirmEdit/MathCaptcha.php b/extensions/ConfirmEdit/MathCaptcha.php
index d1eb44ef..dd34d53e 100644
--- a/extensions/ConfirmEdit/MathCaptcha.php
+++ b/extensions/ConfirmEdit/MathCaptcha.php
@@ -1,22 +1,2 @@
<?php
-
-/**
- * Captcha class using simple sums and the math renderer
- * Not brilliant, but enough to dissuade casual spam bots
- *
- * @file
- * @ingroup Extensions
- * @author Rob Church <robchur@gmail.com>
- * @copyright © 2006 Rob Church
- * @licence GNU General Public Licence 2.0
- */
-
-if ( !defined( 'MEDIAWIKI' ) ) {
- exit;
-}
-
-$dir = __DIR__;
-require_once $dir . '/ConfirmEdit.php';
-$wgCaptchaClass = 'MathCaptcha';
-
-$wgAutoloadClasses['MathCaptcha'] = $dir . '/MathCaptcha.class.php';
+require_once __DIR__ . "/MathCaptcha/MathCaptcha.php";
diff --git a/extensions/ConfirmEdit/MathCaptcha.class.php b/extensions/ConfirmEdit/MathCaptcha/MathCaptcha.class.php
index ac220baa..d3e4af69 100644
--- a/extensions/ConfirmEdit/MathCaptcha.class.php
+++ b/extensions/ConfirmEdit/MathCaptcha/MathCaptcha.class.php
@@ -42,7 +42,7 @@ class MathCaptcha extends SimpleCaptcha {
if ( class_exists( 'MathRenderer' ) ) {
$math = MathRenderer::getRenderer( $sum, array(), MW_MATH_PNG );
} else {
- throw new MWException( 'MathCaptcha requires the Math extension for MediaWiki versions 1.18 and above.' );
+ throw new Exception( 'MathCaptcha requires the Math extension for MediaWiki versions 1.18 and above.' );
}
$html = $math->render();
return preg_replace( '/alt=".*?"/', '', $html );
diff --git a/extensions/ConfirmEdit/MathCaptcha/MathCaptcha.php b/extensions/ConfirmEdit/MathCaptcha/MathCaptcha.php
new file mode 100644
index 00000000..192b49a9
--- /dev/null
+++ b/extensions/ConfirmEdit/MathCaptcha/MathCaptcha.php
@@ -0,0 +1,13 @@
+<?php
+if ( function_exists( 'wfLoadExtension' ) ) {
+ wfLoadExtension( 'ConfirmEdit/MathCaptcha' );
+ // Keep i18n globals so mergeMessageFileList.php doesn't break
+ $wgMessagesDirs['MathCaptcha'] = __DIR__ . '/i18n';
+ /* wfWarn(
+ 'Deprecated PHP entry point used for MathCaptcha extension. Please use wfLoadExtension instead, ' .
+ 'see https://www.mediawiki.org/wiki/Extension_registration for more details.'
+ ); */
+ return;
+} else {
+ die( 'This version of the MathCaptcha extension requires MediaWiki 1.25+' );
+}
diff --git a/extensions/ConfirmEdit/MathCaptcha/extension.json b/extensions/ConfirmEdit/MathCaptcha/extension.json
new file mode 100644
index 00000000..2e3cc4bf
--- /dev/null
+++ b/extensions/ConfirmEdit/MathCaptcha/extension.json
@@ -0,0 +1,9 @@
+{
+ "name": "MathCaptcha",
+ "AutoloadClasses": {
+ "MathCaptcha": "MathCaptcha.class.php"
+ },
+ "config": {
+ "CaptchaClass": "MathCaptcha"
+ }
+}
diff --git a/extensions/ConfirmEdit/QuestyCaptcha.i18n.php b/extensions/ConfirmEdit/QuestyCaptcha.i18n.php
deleted file mode 100644
index 4088d04c..00000000
--- a/extensions/ConfirmEdit/QuestyCaptcha.i18n.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * This is a backwards-compatibility shim, generated by:
- * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
- *
- * Beginning with MediaWiki 1.23, translation strings are stored in json files,
- * and the EXTENSION.i18n.php file only exists to provide compatibility with
- * older releases of MediaWiki. For more information about this migration, see:
- * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
- *
- * This shim maintains compatibility back to MediaWiki 1.17.
- */
-$messages = array();
-if ( !function_exists( 'wfJsonI18nShim0619ec35d45138ac' ) ) {
- function wfJsonI18nShim0619ec35d45138ac( $cache, $code, &$cachedData ) {
- $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
- foreach ( $codeSequence as $csCode ) {
- $fileName = dirname( __FILE__ ) . "/i18n/questy/$csCode.json";
- if ( is_readable( $fileName ) ) {
- $data = FormatJson::decode( file_get_contents( $fileName ), true );
- foreach ( array_keys( $data ) as $key ) {
- if ( $key === '' || $key[0] === '@' ) {
- unset( $data[$key] );
- }
- }
- $cachedData['messages'] = array_merge( $data, $cachedData['messages'] );
- }
-
- $cachedData['deps'][] = new FileDependency( $fileName );
- }
- return true;
- }
-
- $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 'wfJsonI18nShim0619ec35d45138ac';
-}
diff --git a/extensions/ConfirmEdit/QuestyCaptcha.php b/extensions/ConfirmEdit/QuestyCaptcha.php
index 11dfebb3..e51266be 100644
--- a/extensions/ConfirmEdit/QuestyCaptcha.php
+++ b/extensions/ConfirmEdit/QuestyCaptcha.php
@@ -1,47 +1,2 @@
<?php
-/**
- * A question-based captcha plugin.
- *
- * Copyright (C) 2009 Benjamin Lees <emufarmers@gmail.com>
- * http://www.mediawiki.org/
- *
- * 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 Extensions
- */
-
-if ( !defined( 'MEDIAWIKI' ) ) {
- exit;
-}
-
-$dir = __DIR__;
-require_once $dir . '/ConfirmEdit.php';
-$wgCaptchaClass = 'QuestyCaptcha';
-
-global $wgCaptchaQuestions;
-$wgCaptchaQuestions = array();
-
-// Add your questions in LocalSettings.php using this format
-// $wgCaptchaQuestions[] = array( 'question' => "A question?", 'answer' => "An answer!" );
-// $wgCaptchaQuestions[] = array( 'question' => 'How much wood would a woodchuck chuck if a woodchuck could chuck wood?', 'answer' => 'as much wood as...' );
-// $wgCaptchaQuestions[] = array( 'question' => "What is this wiki's name?", 'answer' => "$wgSitename" );
-// You can also provide several acceptable answers to a given question (the answers shall be in lowercase):
-// $wgCaptchaQuestions[] = array( 'question' => "2 + 2 ?", 'answer' => array( '4', 'four' ) );
-
-$wgMessagesDirs['QuestyCaptcha'] = __DIR__ . '/i18n/questy';
-$wgExtensionMessagesFiles['QuestyCaptcha'] = $dir . '/QuestyCaptcha.i18n.php';
-$wgAutoloadClasses['QuestyCaptcha'] = $dir . '/QuestyCaptcha.class.php';
+require_once __DIR__ . "/QuestyCaptcha/QuestyCaptcha.php";
diff --git a/extensions/ConfirmEdit/QuestyCaptcha.class.php b/extensions/ConfirmEdit/QuestyCaptcha/QuestyCaptcha.class.php
index a7ab37b8..2e5274a8 100644
--- a/extensions/ConfirmEdit/QuestyCaptcha.class.php
+++ b/extensions/ConfirmEdit/QuestyCaptcha/QuestyCaptcha.class.php
@@ -30,7 +30,15 @@ class QuestyCaptcha extends SimpleCaptcha {
function getCaptcha() {
global $wgCaptchaQuestions;
- return $wgCaptchaQuestions[mt_rand( 0, count( $wgCaptchaQuestions ) - 1 )]; // pick a question, any question
+
+ //Backwards compatibility
+ if ( $wgCaptchaQuestions === array_values( $wgCaptchaQuestions ) ) {
+ return $wgCaptchaQuestions[ mt_rand( 0, count( $wgCaptchaQuestions ) - 1 ) ];
+ }
+
+ $question = array_rand( $wgCaptchaQuestions, 1 );
+ $answer = $wgCaptchaQuestions[ $question ];
+ return array( 'question' => $question, 'answer' => $answer );
}
function getForm() {
diff --git a/extensions/ConfirmEdit/QuestyCaptcha/QuestyCaptcha.php b/extensions/ConfirmEdit/QuestyCaptcha/QuestyCaptcha.php
new file mode 100644
index 00000000..b83c4212
--- /dev/null
+++ b/extensions/ConfirmEdit/QuestyCaptcha/QuestyCaptcha.php
@@ -0,0 +1,13 @@
+<?php
+if ( function_exists( 'wfLoadExtension' ) ) {
+ wfLoadExtension( 'ConfirmEdit/QuestyCaptcha' );
+ // Keep i18n globals so mergeMessageFileList.php doesn't break
+ $wgMessagesDirs['QuestyCaptcha'] = __DIR__ . '/i18n';
+ /* wfWarn(
+ 'Deprecated PHP entry point used for QuestyCaptcha extension. Please use wfLoadExtension instead, ' .
+ 'see https://www.mediawiki.org/wiki/Extension_registration for more details.'
+ ); */
+ return;
+} else {
+ die( 'This version of the QuestyCaptcha extension requires MediaWiki 1.25+' );
+}
diff --git a/extensions/ConfirmEdit/QuestyCaptcha/extension.json b/extensions/ConfirmEdit/QuestyCaptcha/extension.json
new file mode 100644
index 00000000..257e561b
--- /dev/null
+++ b/extensions/ConfirmEdit/QuestyCaptcha/extension.json
@@ -0,0 +1,15 @@
+{
+ "name": "QuestyCaptcha",
+ "MessagesDirs": {
+ "QuestyCaptcha": [
+ "i18n"
+ ]
+ },
+ "AutoloadClasses": {
+ "QuestyCaptcha": "QuestyCaptcha.class.php"
+ },
+ "config": {
+ "CaptchaClass": "QuestyCaptcha",
+ "CaptchaQuestions": []
+ }
+}
diff --git a/extensions/ConfirmEdit/i18n/questy/aln.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/aln.json
index 515ef020..515ef020 100644
--- a/extensions/ConfirmEdit/i18n/questy/aln.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/aln.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ar.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ar.json
index 8e54bd3a..8e54bd3a 100644
--- a/extensions/ConfirmEdit/i18n/questy/ar.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ar.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ast.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ast.json
index 122b2d7a..122b2d7a 100644
--- a/extensions/ConfirmEdit/i18n/questy/ast.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ast.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ba.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ba.json
index c44baf3d..c44baf3d 100644
--- a/extensions/ConfirmEdit/i18n/questy/ba.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ba.json
diff --git a/extensions/ConfirmEdit/i18n/questy/be-tarask.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/be-tarask.json
index a312214a..a312214a 100644
--- a/extensions/ConfirmEdit/i18n/questy/be-tarask.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/be-tarask.json
diff --git a/extensions/ConfirmEdit/i18n/questy/br.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/br.json
index fa3b0571..fa3b0571 100644
--- a/extensions/ConfirmEdit/i18n/questy/br.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/br.json
diff --git a/extensions/ConfirmEdit/i18n/questy/bs.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/bs.json
index d075aea2..d075aea2 100644
--- a/extensions/ConfirmEdit/i18n/questy/bs.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/bs.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ca.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ca.json
index 75efba70..75efba70 100644
--- a/extensions/ConfirmEdit/i18n/questy/ca.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ca.json
diff --git a/extensions/ConfirmEdit/i18n/questy/cs.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/cs.json
index 889591b1..889591b1 100644
--- a/extensions/ConfirmEdit/i18n/questy/cs.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/cs.json
diff --git a/extensions/ConfirmEdit/i18n/questy/cy.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/cy.json
index 89ed9520..89ed9520 100644
--- a/extensions/ConfirmEdit/i18n/questy/cy.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/cy.json
diff --git a/extensions/ConfirmEdit/i18n/questy/de-formal.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/de-formal.json
index 4af39921..4af39921 100644
--- a/extensions/ConfirmEdit/i18n/questy/de-formal.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/de-formal.json
diff --git a/extensions/ConfirmEdit/i18n/questy/de.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/de.json
index 11046e86..11046e86 100644
--- a/extensions/ConfirmEdit/i18n/questy/de.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/de.json
diff --git a/extensions/ConfirmEdit/i18n/questy/dsb.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/dsb.json
index 795a1184..795a1184 100644
--- a/extensions/ConfirmEdit/i18n/questy/dsb.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/dsb.json
diff --git a/extensions/ConfirmEdit/i18n/questy/el.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/el.json
index eb6d6b90..eb6d6b90 100644
--- a/extensions/ConfirmEdit/i18n/questy/el.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/el.json
diff --git a/extensions/ConfirmEdit/i18n/questy/en.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/en.json
index 20996744..20996744 100644
--- a/extensions/ConfirmEdit/i18n/questy/en.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/en.json
diff --git a/extensions/ConfirmEdit/i18n/questy/eo.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/eo.json
index 53815a97..53815a97 100644
--- a/extensions/ConfirmEdit/i18n/questy/eo.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/eo.json
diff --git a/extensions/ConfirmEdit/i18n/questy/es.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/es.json
index 7dbf4d06..7dbf4d06 100644
--- a/extensions/ConfirmEdit/i18n/questy/es.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/es.json
diff --git a/extensions/ConfirmEdit/i18n/questy/et.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/et.json
index c6d159d8..c6d159d8 100644
--- a/extensions/ConfirmEdit/i18n/questy/et.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/et.json
diff --git a/extensions/ConfirmEdit/i18n/questy/eu.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/eu.json
index 5630e49c..5630e49c 100644
--- a/extensions/ConfirmEdit/i18n/questy/eu.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/eu.json
diff --git a/extensions/ConfirmEdit/i18n/questy/fa.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/fa.json
index e83a9a5c..e83a9a5c 100644
--- a/extensions/ConfirmEdit/i18n/questy/fa.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/fa.json
diff --git a/extensions/ConfirmEdit/i18n/questy/fi.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/fi.json
index 6307316d..6307316d 100644
--- a/extensions/ConfirmEdit/i18n/questy/fi.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/fi.json
diff --git a/extensions/ConfirmEdit/i18n/questy/fr.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/fr.json
index 0049c208..0049c208 100644
--- a/extensions/ConfirmEdit/i18n/questy/fr.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/fr.json
diff --git a/extensions/ConfirmEdit/i18n/questy/gl.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/gl.json
index b29505e4..b29505e4 100644
--- a/extensions/ConfirmEdit/i18n/questy/gl.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/gl.json
diff --git a/extensions/ConfirmEdit/i18n/questy/gsw.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/gsw.json
index d1bc823e..d1bc823e 100644
--- a/extensions/ConfirmEdit/i18n/questy/gsw.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/gsw.json
diff --git a/extensions/ConfirmEdit/i18n/questy/he.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/he.json
index c5588b17..c5588b17 100644
--- a/extensions/ConfirmEdit/i18n/questy/he.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/he.json
diff --git a/extensions/ConfirmEdit/i18n/questy/hsb.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/hsb.json
index 81aa74f5..81aa74f5 100644
--- a/extensions/ConfirmEdit/i18n/questy/hsb.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/hsb.json
diff --git a/extensions/ConfirmEdit/i18n/questy/hu.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/hu.json
index 438489f9..438489f9 100644
--- a/extensions/ConfirmEdit/i18n/questy/hu.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/hu.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ia.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ia.json
index b90c222e..b90c222e 100644
--- a/extensions/ConfirmEdit/i18n/questy/ia.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ia.json
diff --git a/extensions/ConfirmEdit/i18n/questy/id.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/id.json
index 9b815287..9b815287 100644
--- a/extensions/ConfirmEdit/i18n/questy/id.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/id.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ilo.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ilo.json
index ddf34740..ddf34740 100644
--- a/extensions/ConfirmEdit/i18n/questy/ilo.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ilo.json
diff --git a/extensions/ConfirmEdit/i18n/questy/it.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/it.json
index 274ae3fa..274ae3fa 100644
--- a/extensions/ConfirmEdit/i18n/questy/it.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/it.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ja.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ja.json
index 7c81976a..7c81976a 100644
--- a/extensions/ConfirmEdit/i18n/questy/ja.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ja.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ko.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ko.json
index a3ad7792..a3ad7792 100644
--- a/extensions/ConfirmEdit/i18n/questy/ko.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ko.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ksh.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ksh.json
index 7756e006..7756e006 100644
--- a/extensions/ConfirmEdit/i18n/questy/ksh.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ksh.json
diff --git a/extensions/ConfirmEdit/i18n/questy/lb.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/lb.json
index d14cdb40..d14cdb40 100644
--- a/extensions/ConfirmEdit/i18n/questy/lb.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/lb.json
diff --git a/extensions/ConfirmEdit/i18n/questy/min.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/min.json
index b0847c57..b0847c57 100644
--- a/extensions/ConfirmEdit/i18n/questy/min.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/min.json
diff --git a/extensions/ConfirmEdit/i18n/questy/mk.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/mk.json
index 1e9798b6..1e9798b6 100644
--- a/extensions/ConfirmEdit/i18n/questy/mk.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/mk.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ml.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ml.json
index 36dad278..36dad278 100644
--- a/extensions/ConfirmEdit/i18n/questy/ml.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ml.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ms.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ms.json
index f62403e1..f62403e1 100644
--- a/extensions/ConfirmEdit/i18n/questy/ms.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ms.json
diff --git a/extensions/ConfirmEdit/i18n/questy/mt.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/mt.json
index 797ce0e7..797ce0e7 100644
--- a/extensions/ConfirmEdit/i18n/questy/mt.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/mt.json
diff --git a/extensions/ConfirmEdit/i18n/questy/nb.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/nb.json
index db8db9dd..db8db9dd 100644
--- a/extensions/ConfirmEdit/i18n/questy/nb.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/nb.json
diff --git a/extensions/ConfirmEdit/i18n/questy/nl-informal.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/nl-informal.json
index 88cb921c..88cb921c 100644
--- a/extensions/ConfirmEdit/i18n/questy/nl-informal.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/nl-informal.json
diff --git a/extensions/ConfirmEdit/i18n/questy/nl.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/nl.json
index aacd31c7..aacd31c7 100644
--- a/extensions/ConfirmEdit/i18n/questy/nl.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/nl.json
diff --git a/extensions/ConfirmEdit/i18n/questy/nn.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/nn.json
index 97a52e38..97a52e38 100644
--- a/extensions/ConfirmEdit/i18n/questy/nn.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/nn.json
diff --git a/extensions/ConfirmEdit/i18n/questy/oc.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/oc.json
index 88b9661e..88b9661e 100644
--- a/extensions/ConfirmEdit/i18n/questy/oc.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/oc.json
diff --git a/extensions/ConfirmEdit/i18n/questy/pl.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/pl.json
index c4153c58..c4153c58 100644
--- a/extensions/ConfirmEdit/i18n/questy/pl.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/pl.json
diff --git a/extensions/ConfirmEdit/i18n/questy/pms.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/pms.json
index f493dc65..f493dc65 100644
--- a/extensions/ConfirmEdit/i18n/questy/pms.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/pms.json
diff --git a/extensions/ConfirmEdit/i18n/questy/pt-br.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/pt-br.json
index 76ffd543..76ffd543 100644
--- a/extensions/ConfirmEdit/i18n/questy/pt-br.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/pt-br.json
diff --git a/extensions/ConfirmEdit/i18n/questy/pt.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/pt.json
index a0a1c875..a0a1c875 100644
--- a/extensions/ConfirmEdit/i18n/questy/pt.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/pt.json
diff --git a/extensions/ConfirmEdit/i18n/questy/qqq.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/qqq.json
index 1050f275..1050f275 100644
--- a/extensions/ConfirmEdit/i18n/questy/qqq.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/qqq.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ro.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ro.json
index 3bf468a4..3bf468a4 100644
--- a/extensions/ConfirmEdit/i18n/questy/ro.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ro.json
diff --git a/extensions/ConfirmEdit/i18n/questy/roa-tara.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/roa-tara.json
index 18a8ebd9..18a8ebd9 100644
--- a/extensions/ConfirmEdit/i18n/questy/roa-tara.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/roa-tara.json
diff --git a/extensions/ConfirmEdit/i18n/questy/ru.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ru.json
index 3315d6b1..3315d6b1 100644
--- a/extensions/ConfirmEdit/i18n/questy/ru.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/ru.json
diff --git a/extensions/ConfirmEdit/i18n/questy/sk.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/sk.json
index 71540c3d..71540c3d 100644
--- a/extensions/ConfirmEdit/i18n/questy/sk.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/sk.json
diff --git a/extensions/ConfirmEdit/i18n/questy/sl.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/sl.json
index ef859b64..ef859b64 100644
--- a/extensions/ConfirmEdit/i18n/questy/sl.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/sl.json
diff --git a/extensions/ConfirmEdit/i18n/questy/so.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/so.json
index 18d7b902..18d7b902 100644
--- a/extensions/ConfirmEdit/i18n/questy/so.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/so.json
diff --git a/extensions/ConfirmEdit/i18n/questy/sr-ec.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/sr-ec.json
index 7b4d5022..7b4d5022 100644
--- a/extensions/ConfirmEdit/i18n/questy/sr-ec.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/sr-ec.json
diff --git a/extensions/ConfirmEdit/i18n/questy/sr-el.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/sr-el.json
index bbf632b7..bbf632b7 100644
--- a/extensions/ConfirmEdit/i18n/questy/sr-el.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/sr-el.json
diff --git a/extensions/ConfirmEdit/i18n/questy/sv.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/sv.json
index 57cfbdfe..57cfbdfe 100644
--- a/extensions/ConfirmEdit/i18n/questy/sv.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/sv.json
diff --git a/extensions/ConfirmEdit/i18n/questy/te.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/te.json
index ec35d437..ec35d437 100644
--- a/extensions/ConfirmEdit/i18n/questy/te.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/te.json
diff --git a/extensions/ConfirmEdit/i18n/questy/th.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/th.json
index 6484f1ac..6484f1ac 100644
--- a/extensions/ConfirmEdit/i18n/questy/th.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/th.json
diff --git a/extensions/ConfirmEdit/i18n/questy/tl.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/tl.json
index 2eba96a4..2eba96a4 100644
--- a/extensions/ConfirmEdit/i18n/questy/tl.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/tl.json
diff --git a/extensions/ConfirmEdit/i18n/questy/tr.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/tr.json
index 982e97c5..982e97c5 100644
--- a/extensions/ConfirmEdit/i18n/questy/tr.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/tr.json
diff --git a/extensions/ConfirmEdit/i18n/questy/uk.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/uk.json
index 80f71182..80f71182 100644
--- a/extensions/ConfirmEdit/i18n/questy/uk.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/uk.json
diff --git a/extensions/ConfirmEdit/i18n/questy/wa.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/wa.json
index 282793b2..282793b2 100644
--- a/extensions/ConfirmEdit/i18n/questy/wa.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/wa.json
diff --git a/extensions/ConfirmEdit/i18n/questy/yi.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/yi.json
index 4e6f4386..4e6f4386 100644
--- a/extensions/ConfirmEdit/i18n/questy/yi.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/yi.json
diff --git a/extensions/ConfirmEdit/i18n/questy/zh-hans.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/zh-hans.json
index 65fe6bc2..a8d73e53 100644
--- a/extensions/ConfirmEdit/i18n/questy/zh-hans.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/zh-hans.json
@@ -3,7 +3,8 @@
"authors": [
"Cwek",
"Fantasticfears",
- "Mywood"
+ "Mywood",
+ "Impersonator 1"
]
},
"questycaptcha-desc": "用于确认编辑的问题验证码生成器",
diff --git a/extensions/ConfirmEdit/i18n/questy/zh-hant.json b/extensions/ConfirmEdit/QuestyCaptcha/i18n/zh-hant.json
index e8453078..e8453078 100644
--- a/extensions/ConfirmEdit/i18n/questy/zh-hant.json
+++ b/extensions/ConfirmEdit/QuestyCaptcha/i18n/zh-hant.json
diff --git a/extensions/ConfirmEdit/ReCaptcha.i18n.php b/extensions/ConfirmEdit/ReCaptcha.i18n.php
deleted file mode 100644
index 82ad11d2..00000000
--- a/extensions/ConfirmEdit/ReCaptcha.i18n.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * This is a backwards-compatibility shim, generated by:
- * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
- *
- * Beginning with MediaWiki 1.23, translation strings are stored in json files,
- * and the EXTENSION.i18n.php file only exists to provide compatibility with
- * older releases of MediaWiki. For more information about this migration, see:
- * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
- *
- * This shim maintains compatibility back to MediaWiki 1.17.
- */
-$messages = array();
-if ( !function_exists( 'wfJsonI18nShim74b2af1eb76d9704' ) ) {
- function wfJsonI18nShim74b2af1eb76d9704( $cache, $code, &$cachedData ) {
- $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
- foreach ( $codeSequence as $csCode ) {
- $fileName = dirname( __FILE__ ) . "/i18n/re/$csCode.json";
- if ( is_readable( $fileName ) ) {
- $data = FormatJson::decode( file_get_contents( $fileName ), true );
- foreach ( array_keys( $data ) as $key ) {
- if ( $key === '' || $key[0] === '@' ) {
- unset( $data[$key] );
- }
- }
- $cachedData['messages'] = array_merge( $data, $cachedData['messages'] );
- }
-
- $cachedData['deps'][] = new FileDependency( $fileName );
- }
- return true;
- }
-
- $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 'wfJsonI18nShim74b2af1eb76d9704';
-}
diff --git a/extensions/ConfirmEdit/ReCaptcha.php b/extensions/ConfirmEdit/ReCaptcha.php
index b474f982..0ecabd25 100644
--- a/extensions/ConfirmEdit/ReCaptcha.php
+++ b/extensions/ConfirmEdit/ReCaptcha.php
@@ -1,65 +1,2 @@
<?php
-
-/**
- * Captcha class using the reCAPTCHA widget.
- * Stop Spam. Read Books.
- *
- * @addtogroup Extensions
- * @author Mike Crawford <mike.crawford@gmail.com>
- * @copyright Copyright (c) 2007 reCAPTCHA -- http://recaptcha.net
- * @licence MIT/X11
- */
-
-if ( !defined( 'MEDIAWIKI' ) ) {
- exit;
-}
-
-$dir = __DIR__;
-require_once $dir . '/ConfirmEdit.php';
-$wgCaptchaClass = 'ReCaptcha';
-
-$wgMessagesDirs['ReCaptcha'] = __DIR__ . '/i18n/re';
-$wgExtensionMessagesFiles['ReCaptcha'] = $dir . '/ReCaptcha.i18n.php';
-
-$wgAutoloadClasses['ReCaptcha'] = $dir . '/ReCaptcha.class.php';
-
-require_once( 'recaptchalib.php' );
-
-// Set these in LocalSettings.php
-$wgReCaptchaPublicKey = '';
-$wgReCaptchaPrivateKey = '';
-// For backwards compatibility
-$recaptcha_public_key = '';
-$recaptcha_private_key = '';
-
-/**
- * Sets the theme for ReCaptcha
- *
- * See http://code.google.com/apis/recaptcha/docs/customization.html
- */
-$wgReCaptchaTheme = 'red';
-
-$wgExtensionFunctions[] = 'efReCaptcha';
-
-/**
- * Make sure the keys are defined.
- */
-function efReCaptcha() {
- global $wgReCaptchaPublicKey, $wgReCaptchaPrivateKey;
- global $recaptcha_public_key, $recaptcha_private_key;
- global $wgServerName;
-
- // Backwards compatibility
- if ( $wgReCaptchaPublicKey == '' ) {
- $wgReCaptchaPublicKey = $recaptcha_public_key;
- }
- if ( $wgReCaptchaPrivateKey == '' ) {
- $wgReCaptchaPrivateKey = $recaptcha_private_key;
- }
-
- if ( $wgReCaptchaPublicKey == '' || $wgReCaptchaPrivateKey == '' ) {
- die ( 'You need to set $wgReCaptchaPrivateKey and $wgReCaptchaPublicKey in LocalSettings.php to ' .
- "use the reCAPTCHA plugin. You can sign up for a key <a href='" .
- htmlentities( recaptcha_get_signup_url ( $wgServerName, "mediawiki" ) ) . "'>here</a>." );
- }
-}
+require_once __DIR__ . "/ReCaptcha/ReCaptcha.php";
diff --git a/extensions/ConfirmEdit/ReCaptcha.class.php b/extensions/ConfirmEdit/ReCaptcha/ReCaptcha.class.php
index cd274a97..cd274a97 100644
--- a/extensions/ConfirmEdit/ReCaptcha.class.php
+++ b/extensions/ConfirmEdit/ReCaptcha/ReCaptcha.class.php
diff --git a/extensions/ConfirmEdit/ReCaptcha/ReCaptcha.php b/extensions/ConfirmEdit/ReCaptcha/ReCaptcha.php
new file mode 100644
index 00000000..8a649faf
--- /dev/null
+++ b/extensions/ConfirmEdit/ReCaptcha/ReCaptcha.php
@@ -0,0 +1,13 @@
+<?php
+if ( function_exists( 'wfLoadExtension' ) ) {
+ wfLoadExtension( 'ConfirmEdit/ReCaptcha' );
+ // Keep i18n globals so mergeMessageFileList.php doesn't break
+ $wgMessagesDirs['ReCaptcha'] = __DIR__ . '/i18n';
+ /* wfWarn(
+ 'Deprecated PHP entry point used for ReCaptcha extension. Please use wfLoadExtension instead, ' .
+ 'see https://www.mediawiki.org/wiki/Extension_registration for more details.'
+ ); */
+ return;
+} else {
+ die( 'This version of the Re^Captcha extension requires MediaWiki 1.25+' );
+}
diff --git a/extensions/ConfirmEdit/ReCaptcha/extension.json b/extensions/ConfirmEdit/ReCaptcha/extension.json
new file mode 100644
index 00000000..5f97810a
--- /dev/null
+++ b/extensions/ConfirmEdit/ReCaptcha/extension.json
@@ -0,0 +1,21 @@
+{
+ "name": "ReCaptcha",
+ "ExtensionFunctions": [
+ "efReCaptcha"
+ ],
+ "MessagesDirs": {
+ "ReCaptcha": [
+ "i18n"
+ ]
+ },
+ "AutoloadClasses": {
+ "ReCaptcha": "ReCaptcha.class.php"
+ },
+ "config": {
+ "CaptchaClass": "ReCaptcha",
+ "ReCaptchaPublicKey": "",
+ "ReCaptchaPrivateKey": "",
+ "ReCaptchaTheme": "red"
+ },
+ "callback": "ConfirmEditHooks::onReCaptchaSetup"
+}
diff --git a/extensions/ConfirmEdit/i18n/re/ar.json b/extensions/ConfirmEdit/ReCaptcha/i18n/ar.json
index f328e93b..f328e93b 100644
--- a/extensions/ConfirmEdit/i18n/re/ar.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/ar.json
diff --git a/extensions/ConfirmEdit/i18n/re/ast.json b/extensions/ConfirmEdit/ReCaptcha/i18n/ast.json
index 4f4763b4..4f4763b4 100644
--- a/extensions/ConfirmEdit/i18n/re/ast.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/ast.json
diff --git a/extensions/ConfirmEdit/i18n/re/be-tarask.json b/extensions/ConfirmEdit/ReCaptcha/i18n/be-tarask.json
index dc44d634..dc44d634 100644
--- a/extensions/ConfirmEdit/i18n/re/be-tarask.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/be-tarask.json
diff --git a/extensions/ConfirmEdit/i18n/re/br.json b/extensions/ConfirmEdit/ReCaptcha/i18n/br.json
index 9f2a54e9..9f2a54e9 100644
--- a/extensions/ConfirmEdit/i18n/re/br.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/br.json
diff --git a/extensions/ConfirmEdit/i18n/re/bs.json b/extensions/ConfirmEdit/ReCaptcha/i18n/bs.json
index 6290f98d..6290f98d 100644
--- a/extensions/ConfirmEdit/i18n/re/bs.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/bs.json
diff --git a/extensions/ConfirmEdit/i18n/re/cs.json b/extensions/ConfirmEdit/ReCaptcha/i18n/cs.json
index 4e78eb99..4e78eb99 100644
--- a/extensions/ConfirmEdit/i18n/re/cs.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/cs.json
diff --git a/extensions/ConfirmEdit/i18n/re/cy.json b/extensions/ConfirmEdit/ReCaptcha/i18n/cy.json
index 27cef7cc..27cef7cc 100644
--- a/extensions/ConfirmEdit/i18n/re/cy.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/cy.json
diff --git a/extensions/ConfirmEdit/i18n/re/de-formal.json b/extensions/ConfirmEdit/ReCaptcha/i18n/de-formal.json
index aacaf4f5..aacaf4f5 100644
--- a/extensions/ConfirmEdit/i18n/re/de-formal.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/de-formal.json
diff --git a/extensions/ConfirmEdit/i18n/re/de.json b/extensions/ConfirmEdit/ReCaptcha/i18n/de.json
index c0b98b5f..c0b98b5f 100644
--- a/extensions/ConfirmEdit/i18n/re/de.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/de.json
diff --git a/extensions/ConfirmEdit/i18n/re/dsb.json b/extensions/ConfirmEdit/ReCaptcha/i18n/dsb.json
index 546db343..546db343 100644
--- a/extensions/ConfirmEdit/i18n/re/dsb.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/dsb.json
diff --git a/extensions/ConfirmEdit/i18n/re/en.json b/extensions/ConfirmEdit/ReCaptcha/i18n/en.json
index 1f40166d..1f40166d 100644
--- a/extensions/ConfirmEdit/i18n/re/en.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/en.json
diff --git a/extensions/ConfirmEdit/i18n/re/es.json b/extensions/ConfirmEdit/ReCaptcha/i18n/es.json
index 9ccbef30..9ccbef30 100644
--- a/extensions/ConfirmEdit/i18n/re/es.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/es.json
diff --git a/extensions/ConfirmEdit/i18n/re/fa.json b/extensions/ConfirmEdit/ReCaptcha/i18n/fa.json
index 8e5e6ee1..8e5e6ee1 100644
--- a/extensions/ConfirmEdit/i18n/re/fa.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/fa.json
diff --git a/extensions/ConfirmEdit/i18n/re/fi.json b/extensions/ConfirmEdit/ReCaptcha/i18n/fi.json
index 59ef145a..59ef145a 100644
--- a/extensions/ConfirmEdit/i18n/re/fi.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/fi.json
diff --git a/extensions/ConfirmEdit/i18n/re/fr.json b/extensions/ConfirmEdit/ReCaptcha/i18n/fr.json
index ea3eb0a2..ea3eb0a2 100644
--- a/extensions/ConfirmEdit/i18n/re/fr.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/fr.json
diff --git a/extensions/ConfirmEdit/i18n/re/gl.json b/extensions/ConfirmEdit/ReCaptcha/i18n/gl.json
index f57ac76a..f57ac76a 100644
--- a/extensions/ConfirmEdit/i18n/re/gl.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/gl.json
diff --git a/extensions/ConfirmEdit/i18n/re/gsw.json b/extensions/ConfirmEdit/ReCaptcha/i18n/gsw.json
index 6407d0f7..6407d0f7 100644
--- a/extensions/ConfirmEdit/i18n/re/gsw.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/gsw.json
diff --git a/extensions/ConfirmEdit/i18n/re/he.json b/extensions/ConfirmEdit/ReCaptcha/i18n/he.json
index e9dcec87..e9dcec87 100644
--- a/extensions/ConfirmEdit/i18n/re/he.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/he.json
diff --git a/extensions/ConfirmEdit/i18n/re/hsb.json b/extensions/ConfirmEdit/ReCaptcha/i18n/hsb.json
index c37e61f2..c37e61f2 100644
--- a/extensions/ConfirmEdit/i18n/re/hsb.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/hsb.json
diff --git a/extensions/ConfirmEdit/i18n/re/ia.json b/extensions/ConfirmEdit/ReCaptcha/i18n/ia.json
index 9df3bc12..9df3bc12 100644
--- a/extensions/ConfirmEdit/i18n/re/ia.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/ia.json
diff --git a/extensions/ConfirmEdit/i18n/re/id.json b/extensions/ConfirmEdit/ReCaptcha/i18n/id.json
index 45b3df2d..45b3df2d 100644
--- a/extensions/ConfirmEdit/i18n/re/id.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/id.json
diff --git a/extensions/ConfirmEdit/i18n/re/it.json b/extensions/ConfirmEdit/ReCaptcha/i18n/it.json
index f4da7d4c..f4da7d4c 100644
--- a/extensions/ConfirmEdit/i18n/re/it.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/it.json
diff --git a/extensions/ConfirmEdit/i18n/re/ja.json b/extensions/ConfirmEdit/ReCaptcha/i18n/ja.json
index 9f07a7c4..9f07a7c4 100644
--- a/extensions/ConfirmEdit/i18n/re/ja.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/ja.json
diff --git a/extensions/ConfirmEdit/i18n/re/ko.json b/extensions/ConfirmEdit/ReCaptcha/i18n/ko.json
index 83522f6d..83522f6d 100644
--- a/extensions/ConfirmEdit/i18n/re/ko.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/ko.json
diff --git a/extensions/ConfirmEdit/i18n/re/ksh.json b/extensions/ConfirmEdit/ReCaptcha/i18n/ksh.json
index 8bb7cf94..8bb7cf94 100644
--- a/extensions/ConfirmEdit/i18n/re/ksh.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/ksh.json
diff --git a/extensions/ConfirmEdit/i18n/re/lb.json b/extensions/ConfirmEdit/ReCaptcha/i18n/lb.json
index d6060b47..d6060b47 100644
--- a/extensions/ConfirmEdit/i18n/re/lb.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/lb.json
diff --git a/extensions/ConfirmEdit/i18n/re/mk.json b/extensions/ConfirmEdit/ReCaptcha/i18n/mk.json
index 32274ddc..32274ddc 100644
--- a/extensions/ConfirmEdit/i18n/re/mk.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/mk.json
diff --git a/extensions/ConfirmEdit/i18n/re/ms.json b/extensions/ConfirmEdit/ReCaptcha/i18n/ms.json
index 5d43a353..5d43a353 100644
--- a/extensions/ConfirmEdit/i18n/re/ms.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/ms.json
diff --git a/extensions/ConfirmEdit/i18n/re/mt.json b/extensions/ConfirmEdit/ReCaptcha/i18n/mt.json
index fd799424..fd799424 100644
--- a/extensions/ConfirmEdit/i18n/re/mt.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/mt.json
diff --git a/extensions/ConfirmEdit/i18n/re/nb.json b/extensions/ConfirmEdit/ReCaptcha/i18n/nb.json
index 7cc7da16..7cc7da16 100644
--- a/extensions/ConfirmEdit/i18n/re/nb.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/nb.json
diff --git a/extensions/ConfirmEdit/i18n/re/nl-informal.json b/extensions/ConfirmEdit/ReCaptcha/i18n/nl-informal.json
index f321d6a0..f321d6a0 100644
--- a/extensions/ConfirmEdit/i18n/re/nl-informal.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/nl-informal.json
diff --git a/extensions/ConfirmEdit/i18n/re/nl.json b/extensions/ConfirmEdit/ReCaptcha/i18n/nl.json
index a108f255..a108f255 100644
--- a/extensions/ConfirmEdit/i18n/re/nl.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/nl.json
diff --git a/extensions/ConfirmEdit/i18n/re/oc.json b/extensions/ConfirmEdit/ReCaptcha/i18n/oc.json
index 657f9f90..657f9f90 100644
--- a/extensions/ConfirmEdit/i18n/re/oc.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/oc.json
diff --git a/extensions/ConfirmEdit/i18n/re/pl.json b/extensions/ConfirmEdit/ReCaptcha/i18n/pl.json
index 1a94b709..1a94b709 100644
--- a/extensions/ConfirmEdit/i18n/re/pl.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/pl.json
diff --git a/extensions/ConfirmEdit/i18n/re/pms.json b/extensions/ConfirmEdit/ReCaptcha/i18n/pms.json
index 7f25a5f3..7f25a5f3 100644
--- a/extensions/ConfirmEdit/i18n/re/pms.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/pms.json
diff --git a/extensions/ConfirmEdit/i18n/re/pt-br.json b/extensions/ConfirmEdit/ReCaptcha/i18n/pt-br.json
index c0a101ef..c0a101ef 100644
--- a/extensions/ConfirmEdit/i18n/re/pt-br.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/pt-br.json
diff --git a/extensions/ConfirmEdit/i18n/re/pt.json b/extensions/ConfirmEdit/ReCaptcha/i18n/pt.json
index ff48c572..ff48c572 100644
--- a/extensions/ConfirmEdit/i18n/re/pt.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/pt.json
diff --git a/extensions/ConfirmEdit/i18n/re/qqq.json b/extensions/ConfirmEdit/ReCaptcha/i18n/qqq.json
index 4a39d9c4..4a39d9c4 100644
--- a/extensions/ConfirmEdit/i18n/re/qqq.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/qqq.json
diff --git a/extensions/ConfirmEdit/i18n/re/roa-tara.json b/extensions/ConfirmEdit/ReCaptcha/i18n/roa-tara.json
index 8e743e05..8e743e05 100644
--- a/extensions/ConfirmEdit/i18n/re/roa-tara.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/roa-tara.json
diff --git a/extensions/ConfirmEdit/i18n/re/ru.json b/extensions/ConfirmEdit/ReCaptcha/i18n/ru.json
index 64d48523..64d48523 100644
--- a/extensions/ConfirmEdit/i18n/re/ru.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/ru.json
diff --git a/extensions/ConfirmEdit/i18n/re/si.json b/extensions/ConfirmEdit/ReCaptcha/i18n/si.json
index c6ab0ee2..c6ab0ee2 100644
--- a/extensions/ConfirmEdit/i18n/re/si.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/si.json
diff --git a/extensions/ConfirmEdit/i18n/re/sr-ec.json b/extensions/ConfirmEdit/ReCaptcha/i18n/sr-ec.json
index b1d49d49..b1d49d49 100644
--- a/extensions/ConfirmEdit/i18n/re/sr-ec.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/sr-ec.json
diff --git a/extensions/ConfirmEdit/i18n/re/sr-el.json b/extensions/ConfirmEdit/ReCaptcha/i18n/sr-el.json
index 1781239b..1781239b 100644
--- a/extensions/ConfirmEdit/i18n/re/sr-el.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/sr-el.json
diff --git a/extensions/ConfirmEdit/i18n/re/sv.json b/extensions/ConfirmEdit/ReCaptcha/i18n/sv.json
index a625398f..a625398f 100644
--- a/extensions/ConfirmEdit/i18n/re/sv.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/sv.json
diff --git a/extensions/ConfirmEdit/i18n/re/sw.json b/extensions/ConfirmEdit/ReCaptcha/i18n/sw.json
index 245de04c..245de04c 100644
--- a/extensions/ConfirmEdit/i18n/re/sw.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/sw.json
diff --git a/extensions/ConfirmEdit/i18n/re/te.json b/extensions/ConfirmEdit/ReCaptcha/i18n/te.json
index 9b994825..9b994825 100644
--- a/extensions/ConfirmEdit/i18n/re/te.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/te.json
diff --git a/extensions/ConfirmEdit/i18n/re/tl.json b/extensions/ConfirmEdit/ReCaptcha/i18n/tl.json
index 6b843b72..6b843b72 100644
--- a/extensions/ConfirmEdit/i18n/re/tl.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/tl.json
diff --git a/extensions/ConfirmEdit/i18n/re/uk.json b/extensions/ConfirmEdit/ReCaptcha/i18n/uk.json
index 172b2974..172b2974 100644
--- a/extensions/ConfirmEdit/i18n/re/uk.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/uk.json
diff --git a/extensions/ConfirmEdit/i18n/re/vi.json b/extensions/ConfirmEdit/ReCaptcha/i18n/vi.json
index a8888c40..a8888c40 100644
--- a/extensions/ConfirmEdit/i18n/re/vi.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/vi.json
diff --git a/extensions/ConfirmEdit/i18n/re/zh-hans.json b/extensions/ConfirmEdit/ReCaptcha/i18n/zh-hans.json
index df915f45..df915f45 100644
--- a/extensions/ConfirmEdit/i18n/re/zh-hans.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/zh-hans.json
diff --git a/extensions/ConfirmEdit/i18n/re/zh-hant.json b/extensions/ConfirmEdit/ReCaptcha/i18n/zh-hant.json
index c920d527..c920d527 100644
--- a/extensions/ConfirmEdit/i18n/re/zh-hant.json
+++ b/extensions/ConfirmEdit/ReCaptcha/i18n/zh-hant.json
diff --git a/extensions/ConfirmEdit/recaptchalib.php b/extensions/ConfirmEdit/ReCaptcha/recaptchalib.php
index a04f5673..a04f5673 100644
--- a/extensions/ConfirmEdit/recaptchalib.php
+++ b/extensions/ConfirmEdit/ReCaptcha/recaptchalib.php
diff --git a/extensions/ConfirmEdit/Captcha.php b/extensions/ConfirmEdit/SimpleCaptcha/Captcha.php
index 995feb47..21ba842c 100644
--- a/extensions/ConfirmEdit/Captcha.php
+++ b/extensions/ConfirmEdit/SimpleCaptcha/Captcha.php
@@ -1,6 +1,11 @@
<?php
class SimpleCaptcha {
+ private $showEditCaptcha = false;
+
+ /** @var boolean|null Was the CAPTCHA already passed and if yes, with which result? */
+ private $captchaSolved = null;
+
function getCaptcha() {
$a = mt_rand( 0, 100 );
$b = mt_rand( 0, 10 );
@@ -55,12 +60,55 @@ class SimpleCaptcha {
}
/**
- * Insert the captcha prompt into an edit form.
+ * Show error message for missing or incorrect captcha on EditPage.
+ * @param EditPage $editPage
* @param OutputPage $out
*/
- function editCallback( &$out ) {
- $out->addWikiText( $this->getMessage( $this->action ) );
- $out->addHTML( $this->getForm() );
+ function showEditFormFields( &$editPage, &$out ) {
+ $page = $editPage->getArticle()->getPage();
+ if ( !isset( $page->ConfirmEdit_ActivateCaptcha ) ) {
+ return;
+ }
+ unset( $page->ConfirmEdit_ActivateCaptcha );
+ $out->addHTML(
+ Html::openElement(
+ 'div',
+ array(
+ 'id' => 'mw-confirmedit-error-area',
+ 'class' => 'errorbox'
+ )
+ ) .
+ Html::element(
+ 'strong',
+ array(),
+ $out->msg( 'errorpagetitle' )->text()
+ ) .
+ Html::element(
+ 'div',
+ array( 'id' => 'errorbox-body' ),
+ $out->msg( 'captcha-sendemail-fail' )->text()
+ ) .
+ Html::closeElement( 'div' )
+ );
+ $this->showEditCaptcha = true;
+ }
+
+ /**
+ * Insert the captcha prompt into an edit form.
+ * @param EditPage $editPage
+ */
+ function editShowCaptcha( $editPage ) {
+ $context = $editPage->getArticle()->getContext();
+ $page = $editPage->getArticle()->getPage();
+ $out = $context->getOutput();
+ if ( isset( $page->ConfirmEdit_ActivateCaptcha ) ||
+ $this->showEditCaptcha ||
+ $this->shouldCheck( $page, '', '', false )
+ ) {
+ $out->addWikiText( $this->getMessage( $this->action ) );
+ $out->addHTML( $this->getForm() );
+ }
+ unset( $page->ConfirmEdit_ActivateCaptcha );
}
/**
@@ -87,6 +135,7 @@ class SimpleCaptcha {
function injectEmailUser( &$form ) {
global $wgCaptchaTriggers, $wgOut, $wgUser;
if ( $wgCaptchaTriggers['sendemail'] ) {
+ $this->action = 'sendemail';
if ( $wgUser->isAllowed( 'skipcaptcha' ) ) {
wfDebug( "ConfirmEdit: user group allows skipping captcha on email sending\n" );
return true;
@@ -109,15 +158,21 @@ class SimpleCaptcha {
function injectUserCreate( &$template ) {
global $wgCaptchaTriggers, $wgOut, $wgUser;
if ( $wgCaptchaTriggers['createaccount'] ) {
+ $this->action = 'usercreate';
if ( $wgUser->isAllowed( 'skipcaptcha' ) ) {
wfDebug( "ConfirmEdit: user group allows skipping captcha on account creation\n" );
return true;
}
- $template->set( 'header',
- "<div class='captcha'>" .
+ $captcha = "<div class='captcha'>" .
$wgOut->parse( $this->getMessage( 'createaccount' ) ) .
$this->getForm() .
- "</div>\n" );
+ "</div>\n";
+ // for older MediaWiki versions
+ if ( is_callable( array( $template, 'extend' ) ) ) {
+ $template->extend( 'extrafields', $captcha );
+ } else {
+ $template->set( 'header', $captcha );
+ }
}
return true;
}
@@ -132,11 +187,18 @@ class SimpleCaptcha {
function injectUserLogin( &$template ) {
if ( $this->isBadLoginTriggered() ) {
global $wgOut;
- $template->set( 'header',
- "<div class='captcha'>" .
+
+ $this->action = 'badlogin';
+ $captcha = "<div class='captcha'>" .
$wgOut->parse( $this->getMessage( 'badlogin' ) ) .
$this->getForm() .
- "</div>\n" );
+ "</div>\n";
+ // for older MediaWiki versions
+ if ( is_callable( array( $template, 'extend' ) ) ) {
+ $template->extend( 'extrafields', $captcha );
+ } else {
+ $template->set( 'header', $captcha );
+ }
}
return true;
}
@@ -223,29 +285,50 @@ class SimpleCaptcha {
// ----------------------------------
/**
- * @param EditPage $editPage
+ * @param Title $title
* @param string $action (edit/create/addurl...)
- * @return bool true if action triggers captcha on editPage's namespace
+ * @return bool true if action triggers captcha on $title's namespace
*/
- function captchaTriggers( &$editPage, $action ) {
+ function captchaTriggers( $title, $action ) {
global $wgCaptchaTriggers, $wgCaptchaTriggersOnNamespace;
// Special config for this NS?
- if ( isset( $wgCaptchaTriggersOnNamespace[$editPage->mTitle->getNamespace()][$action] ) )
- return $wgCaptchaTriggersOnNamespace[$editPage->mTitle->getNamespace()][$action];
+ if ( isset( $wgCaptchaTriggersOnNamespace[$title->getNamespace()][$action] ) )
+ return $wgCaptchaTriggersOnNamespace[$title->getNamespace()][$action];
return ( !empty( $wgCaptchaTriggers[$action] ) ); // Default
}
/**
- * @param $editPage EditPage
- * @param $newtext string
+ * @param WikiPage $page
+ * @param $content Content|string
* @param $section string
- * @param $merged bool
+ * @param $isContent bool If true, $content is a Content object
+ * @param $oldtext string The content of the revision prior to $content. When
+ * null this will be loaded from the database.
* @return bool true if the captcha should run
*/
- function shouldCheck( &$editPage, $newtext, $section, $merged = false ) {
+ function shouldCheck( WikiPage $page, $content, $section, $isContent = false, $oldtext = null ) {
+ $title = $page->getTitle();
$this->trigger = '';
- $title = $editPage->mArticle->getTitle();
+
+ if ( $oldtext === null ) {
+ global $wgRequest;
+ $loadOldtextFlags = $wgRequest->wasPosted()
+ ? Revision::READ_LATEST
+ : Revision::READ_NORMAL;
+ }
+
+ if ( $isContent ) {
+ if ( $content->getModel() == CONTENT_MODEL_WIKITEXT ) {
+ $newtext = $content->getNativeData();
+ } else {
+ $newtext = null;
+ }
+ $isEmpty = $content->isEmpty();
+ } else {
+ $newtext = $content;
+ $isEmpty = $content === '';
+ }
global $wgUser;
if ( $wgUser->isAllowed( 'skipcaptcha' ) ) {
@@ -263,7 +346,7 @@ class SimpleCaptcha {
return false;
}
- if ( $this->captchaTriggers( $editPage, 'edit' ) ) {
+ if ( $this->captchaTriggers( $title, 'edit' ) ) {
// Check on all edits
global $wgUser;
$this->trigger = sprintf( "edit trigger by '%s' at [[%s]]",
@@ -274,7 +357,7 @@ class SimpleCaptcha {
return true;
}
- if ( $this->captchaTriggers( $editPage, 'create' ) && !$editPage->mTitle->exists() ) {
+ if ( $this->captchaTriggers( $title, 'create' ) && !$title->exists() ) {
// Check if creating a page
global $wgUser;
$this->trigger = sprintf( "Create trigger by '%s' at [[%s]]",
@@ -285,19 +368,23 @@ class SimpleCaptcha {
return true;
}
- if ( $this->captchaTriggers( $editPage, 'addurl' ) ) {
+ if ( !$isEmpty && $this->captchaTriggers( $title, 'addurl' ) ) {
// Only check edits that add URLs
- if ( $merged ) {
+ if ( $isContent ) {
// Get links from the database
$oldLinks = $this->getLinksFromTracker( $title );
// Share a parse operation with Article::doEdit()
- $editInfo = $editPage->mArticle->prepareTextForEdit( $newtext );
- $newLinks = array_keys( $editInfo->output->getExternalLinks() );
+ $editInfo = $page->prepareContentForEdit( $content );
+ if ( $editInfo->output ) {
+ $newLinks = array_keys( $editInfo->output->getExternalLinks() );
+ } else {
+ $newLinks = array();
+ }
} else {
// Get link changes in the slowest way known to man
- $oldtext = $this->loadText( $editPage, $section );
- $oldLinks = $this->findLinks( $editPage, $oldtext );
- $newLinks = $this->findLinks( $editPage, $newtext );
+ $oldtext = isset( $oldtext ) ? $oldtext : $this->loadText( $title, $section, $loadOldtextFlags );
+ $oldLinks = $this->findLinks( $title, $oldtext );
+ $newLinks = $this->findLinks( $title, $newtext );
}
$unknownLinks = array_filter( $newLinks, array( &$this, 'filterLink' ) );
@@ -317,9 +404,9 @@ class SimpleCaptcha {
}
global $wgCaptchaRegexes;
- if ( $wgCaptchaRegexes ) {
+ if ( $newtext !== null && $wgCaptchaRegexes ) {
// Custom regex checks. Reuse $oldtext if set above.
- $oldtext = isset( $oldtext ) ? $oldtext : $this->loadText( $editPage, $section );
+ $oldtext = isset( $oldtext ) ? $oldtext : $this->loadText( $title, $section, $loadOldtextFlags );
foreach ( $wgCaptchaRegexes as $regex ) {
$newMatches = array();
@@ -403,7 +490,7 @@ class SimpleCaptcha {
// return '/' . str_replace( '/', '\/', preg_replace('|\\\*/|', '/', $regex) ) . '/Si';
$regexes = array();
$regexStart = array(
- 'normal' => '/^https?:\/\/+[a-z0-9_\-.]*(?:',
+ 'normal' => '/^(?:https?:)?\/\/+[a-z0-9_\-.]*(?:',
'noprotocol' => '/^(?:',
);
$regexEnd = array(
@@ -472,13 +559,13 @@ class SimpleCaptcha {
/**
* Backend function for confirmEdit() and confirmEditAPI()
- * @param $editPage EditPage
+ * @param WikiPage $page
* @param $newtext string
* @param $section
- * @param $merged bool
+ * @param $isContent bool
* @return bool false if the CAPTCHA is rejected, true otherwise
*/
- private function doConfirmEdit( $editPage, $newtext, $section, $merged = false ) {
+ private function doConfirmEdit( WikiPage $page, $newtext, $section, $isContent = false ) {
global $wgRequest;
if ( $wgRequest->getVal( 'captchaid' ) ) {
$wgRequest->setVal( 'wpCaptchaId', $wgRequest->getVal( 'captchaid' ) );
@@ -486,8 +573,8 @@ class SimpleCaptcha {
if ( $wgRequest->getVal( 'captchaword' ) ) {
$wgRequest->setVal( 'wpCaptchaWord', $wgRequest->getVal( 'captchaword' ) );
}
- if ( $this->shouldCheck( $editPage, $newtext, $section, $merged ) ) {
- return $this->passCaptcha();
+ if ( $this->shouldCheck( $page, $newtext, $section, $isContent ) ) {
+ return $this->passCaptchaLimited();
} else {
wfDebug( "ConfirmEdit: no need to show captcha.\n" );
return true;
@@ -495,38 +582,39 @@ class SimpleCaptcha {
}
/**
- * The main callback run on edit attempts.
- * @param EditPage $editPage
- * @param string $newtext
- * @param string $section
- * @param bool $merged
- * @return bool true to continue saving, false to abort and show a captcha form
+ * An efficient edit filter callback based on the text after section merging
+ * @param RequestContext $context
+ * @param Content $content
+ * @param Status $status
+ * @param $summary
+ * @param $user
+ * @param $minorEdit
+ * @return bool
*/
- function confirmEdit( $editPage, $newtext, $section, $merged = false ) {
- if ( defined( 'MW_API' ) ) {
+ function confirmEditMerged( $context, $content, $status, $summary, $user, $minorEdit ) {
+ $legacyMode = !defined( 'MW_EDITFILTERMERGED_SUPPORTS_API' );
+ if ( defined( 'MW_API' ) && $legacyMode ) {
# API mode
# The CAPTCHA was already checked and approved
return true;
}
- if ( !$this->doConfirmEdit( $editPage, $newtext, $section, $merged ) ) {
- $editPage->showEditForm( array( &$this, 'editCallback' ) );
- return false;
+ $page = $context->getWikiPage();
+ if ( !$this->doConfirmEdit( $page, $content, false, true ) ) {
+ if ( $legacyMode ) {
+ $status->fatal( 'hookaborted' );
+ }
+ $status->value = EditPage::AS_HOOK_ERROR_EXPECTED;
+ $status->apiHookResult = array();
+ $this->addCaptchaAPI( $status->apiHookResult );
+ $page->ConfirmEdit_ActivateCaptcha = true;
+ return $legacyMode;
}
return true;
}
- /**
- * A more efficient edit filter callback based on the text after section merging
- * @param EditPage $editPage
- * @param string $newtext
- * @return bool
- */
- function confirmEditMerged( $editPage, $newtext ) {
- return $this->confirmEdit( $editPage, $newtext, false, true );
- }
-
- function confirmEditAPI( $editPage, $newtext, &$resultArr ) {
- if ( !$this->doConfirmEdit( $editPage, $newtext, false, false ) ) {
+ function confirmEditAPI( $editPage, $newText, &$resultArr ) {
+ $page = $editPage->getArticle()->getPage();
+ if ( !$this->doConfirmEdit( $page, $newText, false, false ) ) {
$this->addCaptchaAPI( $resultArr );
return false;
}
@@ -544,12 +632,12 @@ class SimpleCaptcha {
function confirmUserCreate( $u, &$message, &$status = null ) {
if ( $this->needCreateAccountCaptcha() ) {
$this->trigger = "new account '" . $u->getName() . "'";
- if ( !$this->passCaptcha() ) {
+ if ( !$this->passCaptchaLimited() ) {
// For older MediaWiki
$message = wfMessage( 'captcha-createaccount-fail' )->text();
// For MediaWiki 1.23+
$status = Status::newGood();
-
+
// Apply a *non*-fatal warning. This will still abort the
// account creation but returns a "Warning" response to the
// API or UI.
@@ -559,7 +647,7 @@ class SimpleCaptcha {
}
return true;
}
-
+
/**
* Logic to check if we need to pass a captcha for the current user
* to create a new account, or not
@@ -594,7 +682,7 @@ class SimpleCaptcha {
return true;
$this->trigger = "post-badlogin login '" . $u->getName() . "'";
- if ( !$this->passCaptcha() ) {
+ if ( !$this->passCaptchaLimited() ) {
// Emulate a bad-password return to confuse the shit out of attackers
$retval = LoginForm::WRONG_PASS;
return false;
@@ -629,7 +717,7 @@ class SimpleCaptcha {
return false;
}
$this->trigger = "{$wgUser->getName()} sending email";
- if ( !$this->passCaptcha() ) {
+ if ( !$this->passCaptchaLimited() ) {
$error = wfMessage( 'captcha-sendemail-fail' )->text();
return false;
}
@@ -652,7 +740,7 @@ class SimpleCaptcha {
* @return bool
*/
public function APIGetAllowedParams( &$module, &$params, $flags ) {
- if ( $flags && $this->isAPICaptchaModule( $module ) ) {
+ if ( $this->isAPICaptchaModule( $module ) ) {
$params['captchaword'] = null;
$params['captchaid'] = null;
}
@@ -675,21 +763,55 @@ class SimpleCaptcha {
}
/**
+ * Checks, if the user reached the amount of false CAPTCHAs and give him some vacation
+ * or run self::passCaptcha() and clear counter if correct.
+ *
+ * @see self::passCaptcha()
+ */
+ private function passCaptchaLimited() {
+ global $wgUser;
+
+ // don't increase pingLimiter here, just check, if CAPTCHA limit exceeded
+ if ( $wgUser->pingLimiter( 'badcaptcha', 0 ) ) {
+ // for debugging add an proper error message, the user just see an false captcha error message
+ wfDebug( 'ConfirmEdit: User reached RateLimit, preventing action.' );
+ return false;
+ }
+
+ if ( $this->passCaptcha() ) {
+ return true;
+ }
+
+ // captcha was not solved: increase limit and return false
+ $wgUser->pingLimiter( 'badcaptcha' );
+ return false;
+ }
+
+ /**
* Given a required captcha run, test form input for correct
* input on the open session.
* @return bool if passed, false if failed or new session
*/
function passCaptcha() {
- $info = $this->retrieveCaptcha();
+ global $wgRequest;
+
+ // Don't check the same CAPTCHA twice in one session, if the CAPTCHA was already checked - Bug T94276
+ if ( isset( $this->captchaSolved ) ) {
+ return $this->captchaSolved;
+ }
+
+ $info = $this->retrieveCaptcha( $wgRequest );
if ( $info ) {
global $wgRequest;
if ( $this->keyMatch( $wgRequest->getVal( 'wpCaptchaWord' ), $info ) ) {
$this->log( "passed" );
$this->clearCaptcha( $info );
+ $this->captchaSolved = true;
return true;
} else {
$this->clearCaptcha( $info );
$this->log( "bad form input" );
+ $this->captchaSolved = false;
return false;
}
} else {
@@ -746,13 +868,14 @@ class SimpleCaptcha {
/**
* Retrieve the current version of the page or section being edited...
- * @param EditPage $editPage
+ * @param Title $title
* @param string $section
+ * @param integer $flags Flags for Revision loading methods
* @return string
* @access private
*/
- function loadText( $editPage, $section ) {
- $rev = Revision::newFromTitle( $editPage->mTitle, false, Revision::READ_LATEST );
+ function loadText( $title, $section, $flags = Revision::READ_LATEST ) {
+ $rev = Revision::newFromTitle( $title, false, $flags );
if ( is_null( $rev ) ) {
return "";
} else {
@@ -768,16 +891,16 @@ class SimpleCaptcha {
/**
* Extract a list of all recognized HTTP links in the text.
- * @param $editpage EditPage
+ * @param $title Title
* @param $text string
* @return array of strings
*/
- function findLinks( &$editpage, $text ) {
+ function findLinks( $title, $text ) {
global $wgParser, $wgUser;
$options = new ParserOptions();
- $text = $wgParser->preSaveTransform( $text, $editpage->mTitle, $wgUser, $options );
- $out = $wgParser->parse( $text, $editpage->mTitle, $options );
+ $text = $wgParser->preSaveTransform( $text, $title, $wgUser, $options );
+ $out = $wgParser->parse( $text, $title, $options );
return array_keys( $out->getExternalLinks() );
}
diff --git a/extensions/ConfirmEdit/blacklist b/extensions/ConfirmEdit/blacklist
index 881445f5..966b03ca 100644
--- a/extensions/ConfirmEdit/blacklist
+++ b/extensions/ConfirmEdit/blacklist
@@ -39,6 +39,7 @@ idiot
islam
jerk
jesus
+judea
kill
labia
lie
diff --git a/extensions/ConfirmEdit/captcha.py b/extensions/ConfirmEdit/captcha.py
index 558b9fab..222dfb9c 100644
--- a/extensions/ConfirmEdit/captcha.py
+++ b/extensions/ConfirmEdit/captcha.py
@@ -39,6 +39,7 @@ try:
import ImageDraw
import ImageEnhance
import ImageOps
+ import ImageMath
except:
sys.exit("This script requires the Python Imaging Library - http://www.pythonware.com/products/pil/")
@@ -49,7 +50,7 @@ def wobbly_copy(src, wob, col, scale, ang):
x, y = src.size
f = random.uniform(4*scale, 5*scale)
p = random.uniform(0, math.pi*2)
- rr = ang+random.uniform(-30, 30) # vary, but not too much
+ rr = ang+random.uniform(-10, 10) # vary, but not too much
int_d = Image.new('RGB', src.size, 0) # a black rectangle
rot = src.rotate(rr, Image.BILINEAR)
# Do a cheap bounding-box op here to try to limit work below
@@ -86,8 +87,8 @@ def gen_captcha(text, fontname, fontsize, file_name):
x, y = im.size
# add the text to the image
d.text((x/2-dim[0]/2, y/2-dim[1]/2), text, font=font, fill=fgcolor)
- k = 3
- wob = 0.20*dim[1]/k
+ k = 2
+ wob = 0.09*dim[1]
rot = 45
# Apply lots of small stirring operations, rather than a few large ones
# in order to get some uniformity of treatment, whilst
@@ -102,9 +103,25 @@ def gen_captcha(text, fontname, fontsize, file_name):
bbox = im.getbbox()
bord = min(dim[0], dim[1])/4 # a bit of a border
im = im.crop((bbox[0]-bord, bbox[1]-bord, bbox[2]+bord, bbox[3]+bord))
+
+ # Create noise
+ nblock = 4
+ nsize = (im.size[0] / nblock, im.size[1] / nblock)
+ noise = Image.new('L', nsize, bgcolor)
+ data = noise.load()
+ for x in range(nsize[0]):
+ for y in range(nsize[1]):
+ r = random.randint(0, 65)
+ gradient = 70 * x / nsize[0]
+ data[x, y] = r + gradient
+ # Turn speckles into blobs
+ noise = noise.resize(im.size, Image.BILINEAR)
+ # Add to the image
+ im = ImageMath.eval('convert(convert(a, "L") / 3 + b, "RGB")', a=im, b=noise)
+
# and turn into black on white
im = ImageOps.invert(im)
-
+
# save the image, in format determined from filename
im.save(file_name)
diff --git a/extensions/ConfirmEdit/i18n/ace.json b/extensions/ConfirmEdit/i18n/ace.json
new file mode 100644
index 00000000..07375451
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/ace.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Si Gam Acèh"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/aeb-latn.json b/extensions/ConfirmEdit/i18n/aeb-latn.json
new file mode 100644
index 00000000..b63587c6
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/aeb-latn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Csisc"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/af.json b/extensions/ConfirmEdit/i18n/af.json
index 3c2ad4cc..3c2ad4cc 100644
--- a/extensions/ConfirmEdit/i18n/core/af.json
+++ b/extensions/ConfirmEdit/i18n/af.json
diff --git a/extensions/ConfirmEdit/i18n/core/aln.json b/extensions/ConfirmEdit/i18n/aln.json
index fc8c4eac..fc8c4eac 100644
--- a/extensions/ConfirmEdit/i18n/core/aln.json
+++ b/extensions/ConfirmEdit/i18n/aln.json
diff --git a/extensions/ConfirmEdit/i18n/core/am.json b/extensions/ConfirmEdit/i18n/am.json
index 1d9086d3..1d9086d3 100644
--- a/extensions/ConfirmEdit/i18n/core/am.json
+++ b/extensions/ConfirmEdit/i18n/am.json
diff --git a/extensions/ConfirmEdit/i18n/core/an.json b/extensions/ConfirmEdit/i18n/an.json
index f8d7fd92..f8d7fd92 100644
--- a/extensions/ConfirmEdit/i18n/core/an.json
+++ b/extensions/ConfirmEdit/i18n/an.json
diff --git a/extensions/ConfirmEdit/i18n/ang.json b/extensions/ConfirmEdit/i18n/ang.json
new file mode 100644
index 00000000..92dc5946
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/ang.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gott wisst"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/ar.json b/extensions/ConfirmEdit/i18n/ar.json
index c192b6cc..c192b6cc 100644
--- a/extensions/ConfirmEdit/i18n/core/ar.json
+++ b/extensions/ConfirmEdit/i18n/ar.json
diff --git a/extensions/ConfirmEdit/i18n/arq.json b/extensions/ConfirmEdit/i18n/arq.json
new file mode 100644
index 00000000..a44fa5f9
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/arq.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Oldstoneage"
+ ]
+ },
+ "captcha-label": "كابتشا"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/arz.json b/extensions/ConfirmEdit/i18n/arz.json
index 90eacb67..90eacb67 100644
--- a/extensions/ConfirmEdit/i18n/core/arz.json
+++ b/extensions/ConfirmEdit/i18n/arz.json
diff --git a/extensions/ConfirmEdit/i18n/core/as.json b/extensions/ConfirmEdit/i18n/as.json
index 2861a75f..2861a75f 100644
--- a/extensions/ConfirmEdit/i18n/core/as.json
+++ b/extensions/ConfirmEdit/i18n/as.json
diff --git a/extensions/ConfirmEdit/i18n/core/ast.json b/extensions/ConfirmEdit/i18n/ast.json
index ea5c8ea4..ea5c8ea4 100644
--- a/extensions/ConfirmEdit/i18n/core/ast.json
+++ b/extensions/ConfirmEdit/i18n/ast.json
diff --git a/extensions/ConfirmEdit/i18n/awa.json b/extensions/ConfirmEdit/i18n/awa.json
new file mode 100644
index 00000000..18eeb7c3
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/awa.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "1AnuraagPandey"
+ ]
+ },
+ "captcha-label": "कैप्चा"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/az.json b/extensions/ConfirmEdit/i18n/az.json
index c21ef7bc..cc044de0 100644
--- a/extensions/ConfirmEdit/i18n/core/az.json
+++ b/extensions/ConfirmEdit/i18n/az.json
@@ -1,8 +1,10 @@
{
"@metadata": {
"authors": [
- "Vugar 1981"
+ "Vugar 1981",
+ "Dağlı95"
]
},
+ "captcha-label": "CAPTCHA",
"captchahelp-title": "CAPTCHA kömək"
}
diff --git a/extensions/ConfirmEdit/i18n/core/azb.json b/extensions/ConfirmEdit/i18n/azb.json
index e119239c..7c9fdb38 100644
--- a/extensions/ConfirmEdit/i18n/core/azb.json
+++ b/extensions/ConfirmEdit/i18n/azb.json
@@ -4,5 +4,6 @@
"Amir a57"
]
},
+ "captcha-label": "CAPTCHA",
"captchahelp-title": "Captcha کؤمک"
}
diff --git a/extensions/ConfirmEdit/i18n/core/ba.json b/extensions/ConfirmEdit/i18n/ba.json
index c37036ce..c37036ce 100644
--- a/extensions/ConfirmEdit/i18n/core/ba.json
+++ b/extensions/ConfirmEdit/i18n/ba.json
diff --git a/extensions/ConfirmEdit/i18n/core/bcc.json b/extensions/ConfirmEdit/i18n/bcc.json
index ecd00b8b..b4e2d492 100644
--- a/extensions/ConfirmEdit/i18n/core/bcc.json
+++ b/extensions/ConfirmEdit/i18n/bcc.json
@@ -1,14 +1,16 @@
{
"@metadata": {
"authors": [
- "Mostafadaneshvar"
+ "Mostafadaneshvar",
+ "Baloch Afghanistan"
]
},
"captcha-edit": "به اصلاح کتن ای صفحه،لطفا ای جمع ساده حل کنیت و جوابء جهلا وارد کنیت ([[Special:Captcha/help|گیشتر اطلاعات]]):",
"captcha-desc": " کاربرد ساده captcha",
+ "captcha-label": "کپچا",
"captcha-addurl": "شمی اصلاح شامل نوکین درای لینک انت.\nپه کمک په حمایت چه اتوماتیکی اسپم، لطفا جمع ساده حل کینت و جواب جهلء وارد کنیت ([[Special:Captcha/help|گیشتر اطلاعات]]):",
"captcha-badlogin": "په کمک په حمایت چه اتوماتیکی کلمه رمز پروشوک، لطفا ای جمع ساده حل کنیت. جوابء جهلء وارد کنید ([[Special:Captcha/help|گیشتر اطلاعات]]):",
- "captcha-createaccount": "په کمک په حمایت چه اتوماتیکی حساب شرکتن، لطفا ای جهلی ساده جمع حل کنیت و جواب بنویسیت ([[Special:Captcha/help|گیشتر اطلاعات]]):",
+ "captcha-createaccount": "په کمک په حمایت چه اتوماتیکی حساب شرکتن، لطفا ای جهلی ساده جمع حل کنیت و جواب بنویسیت ([[Special:Captcha/help|گیشترین مئلومات]]):",
"captcha-createaccount-fail": "اشتباه یا گارین کد تایید",
"captcha-create": "په شرکتن صفحه، لطفا ای جمع ساده حل کنیت و جواب ادان بنویسیت ([[Special:Captcha/help|گیشتر اطلاعات]]):",
"captchahelp-title": "کمک Captcha",
diff --git a/extensions/ConfirmEdit/i18n/core/bcl.json b/extensions/ConfirmEdit/i18n/bcl.json
index 52583dfc..52583dfc 100644
--- a/extensions/ConfirmEdit/i18n/core/bcl.json
+++ b/extensions/ConfirmEdit/i18n/bcl.json
diff --git a/extensions/ConfirmEdit/i18n/core/be-tarask.json b/extensions/ConfirmEdit/i18n/be-tarask.json
index 5411c076..5411c076 100644
--- a/extensions/ConfirmEdit/i18n/core/be-tarask.json
+++ b/extensions/ConfirmEdit/i18n/be-tarask.json
diff --git a/extensions/ConfirmEdit/i18n/core/be.json b/extensions/ConfirmEdit/i18n/be.json
index 4f39c191..4f39c191 100644
--- a/extensions/ConfirmEdit/i18n/core/be.json
+++ b/extensions/ConfirmEdit/i18n/be.json
diff --git a/extensions/ConfirmEdit/i18n/core/bg.json b/extensions/ConfirmEdit/i18n/bg.json
index 9edf28be..a6f4463b 100644
--- a/extensions/ConfirmEdit/i18n/core/bg.json
+++ b/extensions/ConfirmEdit/i18n/bg.json
@@ -2,11 +2,13 @@
"@metadata": {
"authors": [
"DCLXVI",
- "Spiritia"
+ "Spiritia",
+ "StanProg"
]
},
"captcha-edit": "Редактирането на тази статия изисква потребителите да въведат отговора на задачата по-долу в текстовата кутия ([[Special:Captcha/help|повече информация]]):",
"captcha-desc": "Предоставя опростена captcha технология като защита срещу спам и налучкване на пароли",
+ "captcha-label": "CAPTCHA",
"captcha-addurl": "Тази редакция съдържа нови външни препратки. Като защита срещу автоматизиран спам системата изисква потребителите да въведат отговора на задачата по-долу в текстовата кутия ([[Special:Captcha/help|повече информация]]):",
"captcha-badlogin": "Като защита срещу автоматизирано компрометиране на пароли, системата изисква потребителите да въведат отговора на задачата по-долу в текстовата кутия ([[Special:Captcha/help|повече информация]]):",
"captcha-createaccount": "Като защита от автоматизирани регистрации, системата изисква при регистриране на потребителска сметка потребителите да въведат отговора на задачата по-долу в текстовата кутия ([[Special:Captcha/help|повече информация]]):",
diff --git a/extensions/ConfirmEdit/i18n/bgn.json b/extensions/ConfirmEdit/i18n/bgn.json
new file mode 100644
index 00000000..e081ece5
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/bgn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Baloch Afghanistan"
+ ]
+ },
+ "captcha-label": "کپچا"
+}
diff --git a/extensions/ConfirmEdit/i18n/bho.json b/extensions/ConfirmEdit/i18n/bho.json
new file mode 100644
index 00000000..30660fab
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/bho.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Nepaboy"
+ ]
+ },
+ "captcha-label": "कैप्चा"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/bn.json b/extensions/ConfirmEdit/i18n/bn.json
index 898447ea..ea6a6fe0 100644
--- a/extensions/ConfirmEdit/i18n/core/bn.json
+++ b/extensions/ConfirmEdit/i18n/bn.json
@@ -7,14 +7,15 @@
"Prometheus.pyrphoros",
"Usarker",
"Zaheen",
- "Aftab1995"
+ "Aftab1995",
+ "Aftabuzzaman"
]
},
"captcha-edit": "এই নিবন্ধটি সম্পাদনা করতে দয়া করে নিচের সহজ যোগটি সমাধান করুন এবং ফলাফলটি বাক্সটিতে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
"captcha-desc": "স্প্যাম এবং পাসওয়ার্ড অনুমান প্রতিরোধে ক্যাপচা প্রযুক্তি ব্যবহার",
"captcha-label": "ক্যাপচা",
"captcha-addurl": "আপনার সম্পাদনায় নতুন বহিঃসংযোগ বিদ্যমান।\nস্বয়ংক্রিয় স্প্যামের বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ নিচের যোগটি সমাহদান করুন এবং উত্তরটি বাক্সে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
- "captcha-badlogin": "স্বয়ংক্রিয় শব্দচাবি ক্র‌্যাকিং-এর বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ করে নিচের যোগটি সমাধান করুন এবং উত্তরটি বাক্সে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
+ "captcha-badlogin": "স্বয়ংক্রিয় পাসওয়ার্ড ক্র‌্যাকিং-এর বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ করে নিচের যোগটি সমাধান করুন এবং উত্তরটি বাক্সে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
"captcha-createaccount": "স্বয়ংক্রিয় অ্যাকাউন্ট সৃষ্টি রোধ করার জন্য অনুগ্রহ করে নিচের যোগটি সমাধান করুন এবং উত্তরটি বাক্সে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
"captcha-createaccount-fail": "ক্যাপচা ভুল অথবা অনুপস্থিত",
"captcha-create": "পাতাটি সৃষ্টি করতে চাইলে অনুগ্রহ করে নিচের যোগটি সমাধান করুন এবং উত্তরটি বাক্সে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):",
diff --git a/extensions/ConfirmEdit/i18n/core/br.json b/extensions/ConfirmEdit/i18n/br.json
index 07208312..07208312 100644
--- a/extensions/ConfirmEdit/i18n/core/br.json
+++ b/extensions/ConfirmEdit/i18n/br.json
diff --git a/extensions/ConfirmEdit/i18n/core/bs.json b/extensions/ConfirmEdit/i18n/bs.json
index 09998c6e..3cff1ce8 100644
--- a/extensions/ConfirmEdit/i18n/core/bs.json
+++ b/extensions/ConfirmEdit/i18n/bs.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"BrokenArrow",
- "CERminator"
+ "CERminator",
+ "Palapa"
]
},
"captcha-edit": "Vaša izmjena uključuje nove URL linkove; kao zaštita od automatizovanog vandalizma, moraćete da izračunate zadatak ispod i upišete odgovor u prozor:\n([[Special:Captcha/help|Šta je ovo?]]):",
@@ -10,7 +11,7 @@
"captcha-addurl": "Vaša izmjena uključuje nove URL linkove; kao zaštita od automatizovanog vandalizma, moraćete da upišete rezultat prikazane sume u okvir ([[Special:Captcha/help|Šta je ovo?]]):",
"captcha-badlogin": "Da bi ste pomogli protiv automatskog probijanja šifre, molimo riješite jednostavan zadatak sabiranja ispod i unesite rezultat u kutiju ([[Special:Captcha/help|više informacija]]):",
"captcha-createaccount": "Kao zaštita od automatizovanog vandalizma, moraćete da ukucate rezultat sume u okvir ispod da biste registrovali nalog:\n<br />([[Special:Captcha/help|Šta je ovo?]])",
- "captcha-createaccount-fail": "Netačan unos ili nedostatak šifre za potvrđivanje.",
+ "captcha-createaccount-fail": "Netačan unos ili nedostajući CAPTCHA.",
"captcha-create": "Da bi ste napravili stranicu; kao zaštita od automatizovanog vandalizma, moraćete da ukucate rezultat prikazane sume u okvir ispod:\n([[Special:Captcha/help|Šta je ovo?]])",
"captcha-sendemail": "Da bi ste pomogli protiv automatskog stavljanja linkova, molimo riješite jednostavan zadatak sabiranja ispod i unesite rezultat u kutiju ([[Special:Captcha/help|više informacija]]):",
"captcha-sendemail-fail": "Netačan unos ili nedostatak šifre za potvrđivanje.",
diff --git a/extensions/ConfirmEdit/i18n/core/ca.json b/extensions/ConfirmEdit/i18n/ca.json
index 1968c38a..1968c38a 100644
--- a/extensions/ConfirmEdit/i18n/core/ca.json
+++ b/extensions/ConfirmEdit/i18n/ca.json
diff --git a/extensions/ConfirmEdit/i18n/core/cdo.json b/extensions/ConfirmEdit/i18n/cdo.json
index 78f7e572..78f7e572 100644
--- a/extensions/ConfirmEdit/i18n/core/cdo.json
+++ b/extensions/ConfirmEdit/i18n/cdo.json
diff --git a/extensions/ConfirmEdit/i18n/core/ce.json b/extensions/ConfirmEdit/i18n/ce.json
index c33406f4..c33406f4 100644
--- a/extensions/ConfirmEdit/i18n/core/ce.json
+++ b/extensions/ConfirmEdit/i18n/ce.json
diff --git a/extensions/ConfirmEdit/i18n/core/ckb.json b/extensions/ConfirmEdit/i18n/ckb.json
index f1383341..f1383341 100644
--- a/extensions/ConfirmEdit/i18n/core/ckb.json
+++ b/extensions/ConfirmEdit/i18n/ckb.json
diff --git a/extensions/ConfirmEdit/i18n/core/cs.json b/extensions/ConfirmEdit/i18n/cs.json
index 5ddb4bc0..5ddb4bc0 100644
--- a/extensions/ConfirmEdit/i18n/core/cs.json
+++ b/extensions/ConfirmEdit/i18n/cs.json
diff --git a/extensions/ConfirmEdit/i18n/cv.json b/extensions/ConfirmEdit/i18n/cv.json
new file mode 100644
index 00000000..4c2f2683
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/cv.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chuvash2014"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/cy.json b/extensions/ConfirmEdit/i18n/cy.json
index 6f506946..6f506946 100644
--- a/extensions/ConfirmEdit/i18n/core/cy.json
+++ b/extensions/ConfirmEdit/i18n/cy.json
diff --git a/extensions/ConfirmEdit/i18n/core/da.json b/extensions/ConfirmEdit/i18n/da.json
index b6cede5a..b6cede5a 100644
--- a/extensions/ConfirmEdit/i18n/core/da.json
+++ b/extensions/ConfirmEdit/i18n/da.json
diff --git a/extensions/ConfirmEdit/i18n/core/de-formal.json b/extensions/ConfirmEdit/i18n/de-formal.json
index 981338e0..981338e0 100644
--- a/extensions/ConfirmEdit/i18n/core/de-formal.json
+++ b/extensions/ConfirmEdit/i18n/de-formal.json
diff --git a/extensions/ConfirmEdit/i18n/core/de.json b/extensions/ConfirmEdit/i18n/de.json
index 424d9016..424d9016 100644
--- a/extensions/ConfirmEdit/i18n/core/de.json
+++ b/extensions/ConfirmEdit/i18n/de.json
diff --git a/extensions/ConfirmEdit/i18n/core/diq.json b/extensions/ConfirmEdit/i18n/diq.json
index 4d981490..4d981490 100644
--- a/extensions/ConfirmEdit/i18n/core/diq.json
+++ b/extensions/ConfirmEdit/i18n/diq.json
diff --git a/extensions/ConfirmEdit/i18n/core/dsb.json b/extensions/ConfirmEdit/i18n/dsb.json
index e44fc43f..e44fc43f 100644
--- a/extensions/ConfirmEdit/i18n/core/dsb.json
+++ b/extensions/ConfirmEdit/i18n/dsb.json
diff --git a/extensions/ConfirmEdit/i18n/core/ee.json b/extensions/ConfirmEdit/i18n/ee.json
index 71af2431..71af2431 100644
--- a/extensions/ConfirmEdit/i18n/core/ee.json
+++ b/extensions/ConfirmEdit/i18n/ee.json
diff --git a/extensions/ConfirmEdit/i18n/core/el.json b/extensions/ConfirmEdit/i18n/el.json
index 48f31623..9922c589 100644
--- a/extensions/ConfirmEdit/i18n/core/el.json
+++ b/extensions/ConfirmEdit/i18n/el.json
@@ -19,7 +19,7 @@
"captcha-addurl": "Η επεξεργασία σας περιλαμβάνει νέους εξωτερικούς συνδέσμους. Για λόγους προστασίας κατά αυτοματοποιημένων ανεπιθύμητων δημοσιεύσεων, παρακαλούμε υπολογίστε το παρακάτω άθροισμα και γράψτε την απάντηση στο κουτάκι ώστε να αποθηκευτεί η επεξεργασία σας ([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
"captcha-badlogin": "Για την προστασία του wiki απέναντι σε σπάσιμο κωδικών πρόσβασης, παρακαλούμε υπολογίστε το παρακάτω απλό άθροισμα και γράψτε την απάντηση στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
"captcha-createaccount": "Για την προστασία του wiki απέναντι σε αυτοματοποιημένη δημιουργία λογαριασμών, παρακαλούμε υπολογίστε το παρακάτω απλό άθροισμα και γράψτε την απάντηση στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
- "captcha-createaccount-fail": "Λανθασμένος ή μη πληκτρολογημένος κωδικός επιβεβαίωσης.",
+ "captcha-createaccount-fail": "Εσφαλμένος ή μη διαθέσιμο CAPTCHA.",
"captcha-create": "Για να δημιουργήσετε τη σελίδα, παρακαλούμε υπολογίστε το παρακάτω απλό άθροισμα και γράψτε την απάντηση στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
"captcha-sendemail": "Για την προστασία του βίκι απέναντι σε αυτοματοποιημένες ανεπιθύμητες δημοσιεύσεις, παρακαλούμε υπολογίστε το παρακάτω απλό άθροισμα και γράψτε την απάντηση στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):",
"captcha-sendemail-fail": "Λανθασμένος ή μη πληκτρολογημένος κωδικός επιβεβαίωσης.",
diff --git a/extensions/ConfirmEdit/i18n/core/en-ca.json b/extensions/ConfirmEdit/i18n/en-ca.json
index 73cc8bed..73cc8bed 100644
--- a/extensions/ConfirmEdit/i18n/core/en-ca.json
+++ b/extensions/ConfirmEdit/i18n/en-ca.json
diff --git a/extensions/ConfirmEdit/i18n/core/en-gb.json b/extensions/ConfirmEdit/i18n/en-gb.json
index 83c1f0eb..83c1f0eb 100644
--- a/extensions/ConfirmEdit/i18n/core/en-gb.json
+++ b/extensions/ConfirmEdit/i18n/en-gb.json
diff --git a/extensions/ConfirmEdit/i18n/core/en.json b/extensions/ConfirmEdit/i18n/en.json
index 56fb4abe..56fb4abe 100644
--- a/extensions/ConfirmEdit/i18n/core/en.json
+++ b/extensions/ConfirmEdit/i18n/en.json
diff --git a/extensions/ConfirmEdit/i18n/core/eo.json b/extensions/ConfirmEdit/i18n/eo.json
index e23f7855..e23f7855 100644
--- a/extensions/ConfirmEdit/i18n/core/eo.json
+++ b/extensions/ConfirmEdit/i18n/eo.json
diff --git a/extensions/ConfirmEdit/i18n/core/es.json b/extensions/ConfirmEdit/i18n/es.json
index 15192d6d..15192d6d 100644
--- a/extensions/ConfirmEdit/i18n/core/es.json
+++ b/extensions/ConfirmEdit/i18n/es.json
diff --git a/extensions/ConfirmEdit/i18n/core/et.json b/extensions/ConfirmEdit/i18n/et.json
index 8d688a6a..8d688a6a 100644
--- a/extensions/ConfirmEdit/i18n/core/et.json
+++ b/extensions/ConfirmEdit/i18n/et.json
diff --git a/extensions/ConfirmEdit/i18n/core/eu.json b/extensions/ConfirmEdit/i18n/eu.json
index 726d0e5f..726d0e5f 100644
--- a/extensions/ConfirmEdit/i18n/core/eu.json
+++ b/extensions/ConfirmEdit/i18n/eu.json
diff --git a/extensions/ConfirmEdit/i18n/core/fa.json b/extensions/ConfirmEdit/i18n/fa.json
index 6ee7e81d..6ee7e81d 100644
--- a/extensions/ConfirmEdit/i18n/core/fa.json
+++ b/extensions/ConfirmEdit/i18n/fa.json
diff --git a/extensions/ConfirmEdit/i18n/fancy/cdo.json b/extensions/ConfirmEdit/i18n/fancy/cdo.json
deleted file mode 100644
index 241bb057..00000000
--- a/extensions/ConfirmEdit/i18n/fancy/cdo.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "@metadata": [],
- "fancycaptcha-badlogin": "Ôi-lāu huòng-cī tiàng-sê̤ṳ cê̤ṳ-dông puái-gāi mĭk-mā, chiāng nṳ̄ sṳ̆-ĭk â-dā̤ bēng-bēng diē-lié gì sṳ̀ ([[Special:Captcha/help|gáing sâ̤ séng-sék]]):"
-}
diff --git a/extensions/ConfirmEdit/i18n/fancy/en.json b/extensions/ConfirmEdit/i18n/fancy/en.json
deleted file mode 100644
index 8b4c80a2..00000000
--- a/extensions/ConfirmEdit/i18n/fancy/en.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "@metadata": {
- "authors": []
- },
- "fancycaptcha-desc": "Fancy CAPTCHA generator for Confirm Edit",
- "fancycaptcha-addurl": "Your edit includes new external links.\nTo protect the wiki against automated spam, we kindly ask you to enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
- "fancycaptcha-badlogin": "To protect the wiki against automated password cracking, we kindly ask you to enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
- "fancycaptcha-createaccount": "To protect the wiki against automated account creation, we kindly ask you to enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
- "fancycaptcha-create": "To create the page, please enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
- "fancycaptcha-edit": "To edit this page, please enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
- "fancycaptcha-sendemail": "To protect the wiki against automated spamming, we kindly ask you to enter the words that appear below in the box ([[Special:Captcha/help|more info]]):",
- "fancycaptcha-reload-text": "Refresh"
-} \ No newline at end of file
diff --git a/extensions/ConfirmEdit/i18n/fancy/he.json b/extensions/ConfirmEdit/i18n/fancy/he.json
deleted file mode 100644
index 7a0aa1b3..00000000
--- a/extensions/ConfirmEdit/i18n/fancy/he.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "@metadata": {
- "authors": [
- "Amire80",
- "Rotem Liss"
- ]
- },
- "fancycaptcha-desc": "מחולל תמונות CAPTCHA מגניבות בשביל ההרבחבה Confirm Edit",
- "fancycaptcha-addurl": "עריכתכם כוללת קישורים חיצוניים חדשים.\nכהגנה מפני זיבול אוטומטי, אנא הקלידו את המילים המופיעות להלן בתיבה ([[Special:Captcha/help|מידע נוסף]]):",
- "fancycaptcha-badlogin": "כהגנה מפני פריצת סיסמאות אוטומטית, אנא הקלידו את המילים המופיעות להלן בתיבה ([[Special:Captcha/help|מידע נוסף]]):",
- "fancycaptcha-createaccount": "כהגנה מפני יצירת חשבונות אוטומטית, אנא הקלידו את המילים המופיעות להלן בתיבה ([[Special:Captcha/help|מידע נוסף]]):",
- "fancycaptcha-create": "כדי ליצור את הדף, אנא הקלידו את המילים המופיעות להלן בתיבה ([[Special:Captcha/help|מידע נוסף]]):",
- "fancycaptcha-edit": "כדי לערוך את הדף, אנא הקלידו את המילים המופיעות להלן בתיבה ([[Special:Captcha/help|מידע נוסף]]):",
- "fancycaptcha-sendemail": "כדי לעזור להתגונן מפני שליחת זבל אוטומטית, אנא הכניסו את המילים שמופיעות בתיבה למטה ([[Special:Captcha/help|מידע נוסף]]):",
- "fancycaptcha-reload-text": "רענון"
-}
diff --git a/extensions/ConfirmEdit/i18n/fancy/lrc.json b/extensions/ConfirmEdit/i18n/fancy/lrc.json
deleted file mode 100644
index e38d6635..00000000
--- a/extensions/ConfirmEdit/i18n/fancy/lrc.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "@metadata": {
- "authors": [
- "Mogoeilor"
- ]
- },
- "fancycaptcha-reload-text": "د نؤ كردن"
-}
diff --git a/extensions/ConfirmEdit/i18n/fancy/lt.json b/extensions/ConfirmEdit/i18n/fancy/lt.json
deleted file mode 100644
index c8c8950b..00000000
--- a/extensions/ConfirmEdit/i18n/fancy/lt.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "@metadata": {
- "authors": [
- "Eitvys200"
- ]
- },
- "fancycaptcha-reload-text": "Atnaujinti"
-}
diff --git a/extensions/ConfirmEdit/i18n/core/fi.json b/extensions/ConfirmEdit/i18n/fi.json
index feaa4f68..f26a68b2 100644
--- a/extensions/ConfirmEdit/i18n/core/fi.json
+++ b/extensions/ConfirmEdit/i18n/fi.json
@@ -9,7 +9,8 @@
"Nike",
"Stryn",
"Varusmies",
- "Syreeni"
+ "Syreeni",
+ "Pxos"
]
},
"captcha-edit": "Ratkaise alla oleva laskutoimitus jatkaaksesi ([[Special:Captcha/help|lisätietoja]]):",
@@ -27,5 +28,5 @@
"captchahelp-cookies-needed": "Tämä toiminto vaatii evästeiden hyväksymistä selaimessa.",
"captchahelp-text": "Verkkosivut, jotka sallivat ulkopuolisten lisätä sisältöä, joutuvat usein spam-hyökkäysten kohteeksi. Spam-hyökkäyksessä spammerit käyttävät työkaluja, jotka automaattisesti lisäävät linkkejä monille sivuille. Vaikka nämä linkit voidaan poistaa, aiheutuu niistä silti merkittävää haittaa.\n\nJoskus, erityisesti kun lisäät uusia linkkejä, saatat nähdä kuvan, jossa on värillistä ja vääristynyttä tekstiä, ja sinua pyydetään kirjoittamaan sen sisältämät sanat. Tätä tehtävää on vaikea automatisoida, joten se estää automaattiset lisäykset, mutta sallii ihmisten tehdä muutoksia sivustoon.\n\nValitettavasti tämä saattaa haitata käyttäjiä, joilla on rajoittunut näkökyky tai käyttäjiä, jotka käyttävät teksti- tai puhepohjaisia selaimia. \nTällä hetkellä ei ole käytettävissä puhepohjaista vaihtoehtoa. \nOta yhteyttä [[Special:ListAdmins|sivuston ylläpitäjiin]], jos et pysty tekemään asianmukaisia muutoksia.\n\nVarmistus ei toimi, jos evästeet eivät ole selaimessa käytössä.\n\nVoit palata muokkaustilaan selaimen paluutoiminnolla.",
"captcha-addurl-whitelist": " #<!-- jätä tämä rive juuri näin kuin se on --> <pre>\n# Syntaksi on seuraava:\n# * Kaikki #-merkistä eteenpäin on kommenttia\n# * Jokainen ei-tyhjä rivi on säännöllisen lausekkeen osa, joka suoritetaan vain linkeissä esiintyville verkkonimille.\n #</pre> <!-- jätä tämä rive juuri näin kuin se on -->",
- "right-skipcaptcha": "Suorittaa ilman CAPTCHA-tarkistusta toimintoja, jotka normaalisti vaatisivat tarkistuksen"
+ "right-skipcaptcha": "Suorittaa ilman CAPTCHA-kysymystä toimintoja, jotka normaalisti vaatisivat tarkastusta"
}
diff --git a/extensions/ConfirmEdit/i18n/core/fo.json b/extensions/ConfirmEdit/i18n/fo.json
index 1c4f8f16..1c4f8f16 100644
--- a/extensions/ConfirmEdit/i18n/core/fo.json
+++ b/extensions/ConfirmEdit/i18n/fo.json
diff --git a/extensions/ConfirmEdit/i18n/core/fr.json b/extensions/ConfirmEdit/i18n/fr.json
index d4b756e5..d4b756e5 100644
--- a/extensions/ConfirmEdit/i18n/core/fr.json
+++ b/extensions/ConfirmEdit/i18n/fr.json
diff --git a/extensions/ConfirmEdit/i18n/core/frp.json b/extensions/ConfirmEdit/i18n/frp.json
index 9256ef28..9256ef28 100644
--- a/extensions/ConfirmEdit/i18n/core/frp.json
+++ b/extensions/ConfirmEdit/i18n/frp.json
diff --git a/extensions/ConfirmEdit/i18n/frr.json b/extensions/ConfirmEdit/i18n/frr.json
new file mode 100644
index 00000000..81d2184a
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/frr.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Murma174"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/fur.json b/extensions/ConfirmEdit/i18n/fur.json
index c9b6f42e..c9b6f42e 100644
--- a/extensions/ConfirmEdit/i18n/core/fur.json
+++ b/extensions/ConfirmEdit/i18n/fur.json
diff --git a/extensions/ConfirmEdit/i18n/core/fy.json b/extensions/ConfirmEdit/i18n/fy.json
index 2432e294..4af7c7a8 100644
--- a/extensions/ConfirmEdit/i18n/core/fy.json
+++ b/extensions/ConfirmEdit/i18n/fy.json
@@ -1,12 +1,14 @@
{
"@metadata": {
"authors": [
- "Snakesteuben"
+ "Snakesteuben",
+ "Robin0van0der0vliet"
]
},
+ "captcha-label": "CAPTCHA",
"captcha-addurl": "Jo hawwe keppelings om utens oanpast/taheakke. As ekstra beskerming tsjin automatysk oanmakke reklame (SPAM) wurdt jo frege it antwurd op de ûndersteande som te jaan ([[Special:Captcha/help|meer ynformaasje]]):",
"captcha-createaccount": "As beskerming tsjin it automatysk oanmeitsjen fan meidochnammen wurdt jo frege it antwurd op de ûndersteande som te jaan ([[Special:Captcha/help|meer ynformaasje]]):",
- "captcha-createaccount-fail": "It antwurd op de som kloppet net.",
+ "captcha-createaccount-fail": "De CAPTCHA ûntbrekt of is ûnkrekt.",
"captcha-create": "Om de side oan te meitsjen wurdt jo frege it antwurd op de ûndersteande som te jaan ([[Special:Captcha/help|meer ynformaasje]]).",
"captchahelp-title": "Lettertoets-help",
"captchahelp-text": "Websteeën dêr't it publyk op skriuwe kin, lykas dizze {{SITENAME}}-wiki, kinne lêst hawwe fan lju dy't automatysk keppelings oan de websiden tafoegje. Op dizze wiki kinne sokke feroarings maklik weromset wurde, mar dat nimt al tiid dy't ek oars brûkt wurde kin.\n\nBy it oanmelden as meidogger, en fierders benammen at jo keppelings om utens oan in side tafoegje, kinne jo fan de wiki in lettertoets krije. De wiki lit dan kleurde of ferwrongen letters sjen, en jo wurdt frege dy oer te tikken. Om't dit net maklik automatisearre wurde kin, hâldt dit it automatysk tafoegjen tsjin. It spitegernôch ek in lytse lêst foar de meidoggers.\n\nIn probleem dêr't noch gjin oplossing foar is it dat it in tûkelteam is foar minsken dy't net goed sjen kinne of dy't in tekst-blêder of lûd-blêder brûke. Hjir soe in lûd-ferzje foar komme moatte, mar dy is der noch net. Oerlis mei in behearder at dit foar jo problemen jout.\n\nGean tebek mei de tebek-knop fan jo blêder."
diff --git a/extensions/ConfirmEdit/i18n/core/ga.json b/extensions/ConfirmEdit/i18n/ga.json
index 918f2fb7..918f2fb7 100644
--- a/extensions/ConfirmEdit/i18n/core/ga.json
+++ b/extensions/ConfirmEdit/i18n/ga.json
diff --git a/extensions/ConfirmEdit/i18n/core/gl.json b/extensions/ConfirmEdit/i18n/gl.json
index 531d9f24..531d9f24 100644
--- a/extensions/ConfirmEdit/i18n/core/gl.json
+++ b/extensions/ConfirmEdit/i18n/gl.json
diff --git a/extensions/ConfirmEdit/i18n/gom-deva.json b/extensions/ConfirmEdit/i18n/gom-deva.json
new file mode 100644
index 00000000..d85ae36a
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/gom-deva.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Santhosh.thottingal"
+ ]
+ },
+ "captcha-label": "कैप्चा"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/grc.json b/extensions/ConfirmEdit/i18n/grc.json
index 757dbf10..757dbf10 100644
--- a/extensions/ConfirmEdit/i18n/core/grc.json
+++ b/extensions/ConfirmEdit/i18n/grc.json
diff --git a/extensions/ConfirmEdit/i18n/core/gsw.json b/extensions/ConfirmEdit/i18n/gsw.json
index 8859ede7..8859ede7 100644
--- a/extensions/ConfirmEdit/i18n/core/gsw.json
+++ b/extensions/ConfirmEdit/i18n/gsw.json
diff --git a/extensions/ConfirmEdit/i18n/core/gu.json b/extensions/ConfirmEdit/i18n/gu.json
index 32a47276..32a47276 100644
--- a/extensions/ConfirmEdit/i18n/core/gu.json
+++ b/extensions/ConfirmEdit/i18n/gu.json
diff --git a/extensions/ConfirmEdit/i18n/core/he.json b/extensions/ConfirmEdit/i18n/he.json
index fcc123e8..fcc123e8 100644
--- a/extensions/ConfirmEdit/i18n/core/he.json
+++ b/extensions/ConfirmEdit/i18n/he.json
diff --git a/extensions/ConfirmEdit/i18n/core/hi.json b/extensions/ConfirmEdit/i18n/hi.json
index 9df64a49..39e0d3be 100644
--- a/extensions/ConfirmEdit/i18n/core/hi.json
+++ b/extensions/ConfirmEdit/i18n/hi.json
@@ -10,6 +10,7 @@
},
"captcha-edit": "यह पन्ना संपादित करने के लिये नीचे दिये हुए आसान गणित प्रश्न का उत्तर बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
"captcha-desc": "आसानसे कॅपचा (captcha) का इस्तेमाल",
+ "captcha-label": "कैप्चा",
"captcha-addurl": "आपके सम्पादन में नई बाहरी कड़ियाँ हैं।\nस्वचालित स्पॅम से बचाव में सहायता के लिये नीचे दिये हुए आसान गणित प्रश्न का उत्तर बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
"captcha-badlogin": "स्वचालित कूटशब्द भेद से बचाव में सहायता के लिये नीचे दिये हुए आसान गणित प्रश्न का उत्तर बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
"captcha-createaccount": "स्वचालित सदस्य पंजीकरण से बचाव में सहायता के लिये नीचे दिये हुए आसान गणित प्रश्न का उत्तर बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):",
diff --git a/extensions/ConfirmEdit/i18n/core/hr.json b/extensions/ConfirmEdit/i18n/hr.json
index a56d2018..d661c483 100644
--- a/extensions/ConfirmEdit/i18n/core/hr.json
+++ b/extensions/ConfirmEdit/i18n/hr.json
@@ -11,6 +11,7 @@
},
"captcha-edit": "Da uredite ovu stranicu, molimo riješite jednostavno zbrajanje ispod i unesite rezultat u rubriku ([[Special:Captcha/help|više informacija]]):",
"captcha-desc": "Pruža CAPTCHA tehnike za zaštitu od neželjene pošte (spam-a) i pogađanja zaporke",
+ "captcha-label": "CAPTCHA",
"captcha-addurl": "Vaše uređivanje sadrži nove vanjske poveznice. Kao zaštitu od automatskog spama, trebate unijeti slova koja vidite na slici: <br />([[Special:Captcha/help|Pomoć?]])",
"captcha-badlogin": "Da se spriječi automatizirano pogađanje lozinki,\nmolimo zbrojite donje brojeve i upišite rezultat ([[Special:Captcha/help|pomoć]]):",
"captcha-createaccount": "Kao zaštitu od automatskog spama, pri otvaranju računa trebate unijeti slova koja vidite na slici: <br />([[Special:Captcha/help|Pomoć]])",
diff --git a/extensions/ConfirmEdit/i18n/core/hsb.json b/extensions/ConfirmEdit/i18n/hsb.json
index 8861e46a..8861e46a 100644
--- a/extensions/ConfirmEdit/i18n/core/hsb.json
+++ b/extensions/ConfirmEdit/i18n/hsb.json
diff --git a/extensions/ConfirmEdit/i18n/core/ht.json b/extensions/ConfirmEdit/i18n/ht.json
index 97561273..97561273 100644
--- a/extensions/ConfirmEdit/i18n/core/ht.json
+++ b/extensions/ConfirmEdit/i18n/ht.json
diff --git a/extensions/ConfirmEdit/i18n/core/hu.json b/extensions/ConfirmEdit/i18n/hu.json
index 8fe0f2ce..03488371 100644
--- a/extensions/ConfirmEdit/i18n/core/hu.json
+++ b/extensions/ConfirmEdit/i18n/hu.json
@@ -3,7 +3,8 @@
"authors": [
"Dani",
"Dj",
- "Glanthor Reviol"
+ "Glanthor Reviol",
+ "Tacsipacsi"
]
},
"captcha-edit": "A lap szerkesztéséhez meg kell, hogy kérjünk, írd be a lenti dobozba az alábbi egyszerű összeadás eredményét ([[Special:Captcha/help|segítség]]):",
@@ -17,7 +18,7 @@
"captcha-sendemail": "Hogy védjük a wikit az automatizált spammelés ellen, kérünk oldd meg az alábbi egyszerű összeadást, és írd be az eredményt a szövegdobozba ([[Special:Captcha/help|segítség]]):",
"captcha-sendemail-fail": "Hibás vagy hiányzó ellenőrző kód.",
"captcha-disabledinapi": "Ez a művelet captcha megoldásához kötött, így nem lehet végrehajtani az API-n keresztül.",
- "captchahelp-title": "Captcha segítség",
+ "captchahelp-title": "Captcha-segítség",
"captchahelp-cookies-needed": "Engedélyezned kell a böngésződben a sütiket.",
"captchahelp-text": "Az olyan weboldalakat, amelyekre bárki írhat, gyakran támadják meg spammerek olyan eszközök felhasználásával, amelyek képesek automatikusan, emberi felügyelet nélkül elhelyezni egy linket sok különböző oldalon.\n\nAz ilyen linkek kézi eltávolítása rengeteg energiát emésztene fel, ezért néha, különösen ha egy külső linket teszel egy cikkbe, a wiki egy valamilyen módon eltorzított szöveget (captcha-t) jelenít meg, és arra kér, hogy gépeld be azt. Mivel ezt automatikusan nagyon nehéz megtenni, a valódi szerkesztők így könnyen megkülönböztethetőek a spammerek robotjaitól.\n\nSajnos ez komoly kényelmetlenséget jelenthet azoknak a felhasználóknak, akik gyengén látnak, vagy szöveges/hang-alapú böngészőt használnak. Jelenleg nem tudunk hang-alapú alternatívával szolgálni; ha a captcha megakadályoz abban, hogy szerkeszd a wikit, vedd fel a kapcsolatot az [[Special:ListAdmins|adminisztrátorokkal]].\n\nHa a captcha megoldása helyett inkább visszatérnél a szöveg szerkesztéséhez, használd a böngésződ „vissza” gombját.",
"captcha-addurl-whitelist": " #<!-- ezt a sort hagyd pontosan így --> <pre>\n# A szintaktika a következő:\n# * Minden „#” karakterrel kezdődő sor megjegyzés\n# * Minden nem üres sor egy reguláris kifejezés darabja, amely csak az URL-ekben található kiszolgálókra keres\n #</pre> <!-- ezt a sort hagyd pontosan így -->",
diff --git a/extensions/ConfirmEdit/i18n/core/hy.json b/extensions/ConfirmEdit/i18n/hy.json
index f1243cfd..f1243cfd 100644
--- a/extensions/ConfirmEdit/i18n/core/hy.json
+++ b/extensions/ConfirmEdit/i18n/hy.json
diff --git a/extensions/ConfirmEdit/i18n/core/ia.json b/extensions/ConfirmEdit/i18n/ia.json
index 7b6ba128..7b6ba128 100644
--- a/extensions/ConfirmEdit/i18n/core/ia.json
+++ b/extensions/ConfirmEdit/i18n/ia.json
diff --git a/extensions/ConfirmEdit/i18n/core/id.json b/extensions/ConfirmEdit/i18n/id.json
index df7e39a1..df7e39a1 100644
--- a/extensions/ConfirmEdit/i18n/core/id.json
+++ b/extensions/ConfirmEdit/i18n/id.json
diff --git a/extensions/ConfirmEdit/i18n/core/ilo.json b/extensions/ConfirmEdit/i18n/ilo.json
index 30ef903e..30ef903e 100644
--- a/extensions/ConfirmEdit/i18n/core/ilo.json
+++ b/extensions/ConfirmEdit/i18n/ilo.json
diff --git a/extensions/ConfirmEdit/i18n/core/is.json b/extensions/ConfirmEdit/i18n/is.json
index 839ac1ac..839ac1ac 100644
--- a/extensions/ConfirmEdit/i18n/core/is.json
+++ b/extensions/ConfirmEdit/i18n/is.json
diff --git a/extensions/ConfirmEdit/i18n/core/it.json b/extensions/ConfirmEdit/i18n/it.json
index 18fadab9..18fadab9 100644
--- a/extensions/ConfirmEdit/i18n/core/it.json
+++ b/extensions/ConfirmEdit/i18n/it.json
diff --git a/extensions/ConfirmEdit/i18n/core/ja.json b/extensions/ConfirmEdit/i18n/ja.json
index cc626ca0..cc626ca0 100644
--- a/extensions/ConfirmEdit/i18n/core/ja.json
+++ b/extensions/ConfirmEdit/i18n/ja.json
diff --git a/extensions/ConfirmEdit/i18n/core/jut.json b/extensions/ConfirmEdit/i18n/jut.json
index 2b989b47..2b989b47 100644
--- a/extensions/ConfirmEdit/i18n/core/jut.json
+++ b/extensions/ConfirmEdit/i18n/jut.json
diff --git a/extensions/ConfirmEdit/i18n/core/jv.json b/extensions/ConfirmEdit/i18n/jv.json
index 3444fe8e..3444fe8e 100644
--- a/extensions/ConfirmEdit/i18n/core/jv.json
+++ b/extensions/ConfirmEdit/i18n/jv.json
diff --git a/extensions/ConfirmEdit/i18n/core/ka.json b/extensions/ConfirmEdit/i18n/ka.json
index 8e132a57..8e132a57 100644
--- a/extensions/ConfirmEdit/i18n/core/ka.json
+++ b/extensions/ConfirmEdit/i18n/ka.json
diff --git a/extensions/ConfirmEdit/i18n/core/kaa.json b/extensions/ConfirmEdit/i18n/kaa.json
index e8342e39..e8342e39 100644
--- a/extensions/ConfirmEdit/i18n/core/kaa.json
+++ b/extensions/ConfirmEdit/i18n/kaa.json
diff --git a/extensions/ConfirmEdit/i18n/khw.json b/extensions/ConfirmEdit/i18n/khw.json
new file mode 100644
index 00000000..cffeff40
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/khw.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Rachitrali"
+ ]
+ },
+ "captcha-label": "کیپچا"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/kk-arab.json b/extensions/ConfirmEdit/i18n/kk-arab.json
index 51b7987a..51b7987a 100644
--- a/extensions/ConfirmEdit/i18n/core/kk-arab.json
+++ b/extensions/ConfirmEdit/i18n/kk-arab.json
diff --git a/extensions/ConfirmEdit/i18n/core/kk-cyrl.json b/extensions/ConfirmEdit/i18n/kk-cyrl.json
index 8795850d..8795850d 100644
--- a/extensions/ConfirmEdit/i18n/core/kk-cyrl.json
+++ b/extensions/ConfirmEdit/i18n/kk-cyrl.json
diff --git a/extensions/ConfirmEdit/i18n/core/kk-latn.json b/extensions/ConfirmEdit/i18n/kk-latn.json
index 5b5a9728..5b5a9728 100644
--- a/extensions/ConfirmEdit/i18n/core/kk-latn.json
+++ b/extensions/ConfirmEdit/i18n/kk-latn.json
diff --git a/extensions/ConfirmEdit/i18n/core/km.json b/extensions/ConfirmEdit/i18n/km.json
index 6ab7ea71..6ab7ea71 100644
--- a/extensions/ConfirmEdit/i18n/core/km.json
+++ b/extensions/ConfirmEdit/i18n/km.json
diff --git a/extensions/ConfirmEdit/i18n/kn.json b/extensions/ConfirmEdit/i18n/kn.json
new file mode 100644
index 00000000..b3c9fc22
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/kn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Omshivaprakash"
+ ]
+ },
+ "captcha-label": "ಕ್ಯಾಪ್ಚಾ"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/ko.json b/extensions/ConfirmEdit/i18n/ko.json
index 3b47fcd8..097cf4bf 100644
--- a/extensions/ConfirmEdit/i18n/core/ko.json
+++ b/extensions/ConfirmEdit/i18n/ko.json
@@ -15,10 +15,10 @@
"captcha-addurl": "편집에 새로운 바깥 링크가 포함되어 있습니다.\n자동화된 스팸으로부터 위키를 보호하기 위해, 편집을 저장하려면 아래의 간단한 계산 값을 입력 상자에 적어 주세요 ([[Special:Captcha/help|자세한 정보]]):",
"captcha-badlogin": "자동화된 비밀번호 깨기로부터 위키를 보호하기 위해, 아래의 간단한 계산 값을 입력 상자에 입력해주세요 ([[Special:Captcha/help|자세한 정보]]):",
"captcha-createaccount": "자동화된 계정 만들기로부터 위키를 보호하기 위해, 아래의 간단한 계산 값을 입력 상자에 적어 주세요 ([[Special:Captcha/help|자세한 정보]]):",
- "captcha-createaccount-fail": "캡챠가 올바르지 않거나 입력되지 않았습니다.",
+ "captcha-createaccount-fail": "CAPTCHA가 올바르지 않거나 입력되지 않았습니다.",
"captcha-create": "문서를 만드려면 아래의 간단한 계산 값을 입력 상자에 적어 주세요 ([[Special:Captcha/help|자세한 정보]]):",
"captcha-sendemail": "자동화된 스팸으로부터 위키를 보호하기 위해, 아래의 간단한 계산 값을 입력 상자에 적어 주세요 ([[Special:Captcha/help|자세한 정보]]):",
- "captcha-sendemail-fail": "캡챠가 올바르지 않거나 입력되지 않았습니다.",
+ "captcha-sendemail-fail": "CAPTCHA가 올바르지 않거나 입력되지 않았습니다.",
"captcha-disabledinapi": "이 동작은 캡차를 거쳐야 하기 때문에 API로 이 작업을 수행할 수 없습니다.",
"captchahelp-title": "CAPTCHA(캡차) 도움말",
"captchahelp-cookies-needed": "정상적으로 작동하려면 웹 브라우저의 쿠키 사용이 활성화되어 있어야 합니다.",
diff --git a/extensions/ConfirmEdit/i18n/krc.json b/extensions/ConfirmEdit/i18n/krc.json
new file mode 100644
index 00000000..aca64b6f
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/krc.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Iltever"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/ksh.json b/extensions/ConfirmEdit/i18n/ksh.json
index d0992ce1..7fa0e352 100644
--- a/extensions/ConfirmEdit/i18n/core/ksh.json
+++ b/extensions/ConfirmEdit/i18n/ksh.json
@@ -10,14 +10,14 @@
"captcha-addurl": "Do häß neu Lingks op frembde Websigge dobei jedonn.\nMer schöze uns Wiki jäje automatesche SPAM, dröm\ndon di Zahle onge zosamme träcke un don de Antwoot\nen dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])",
"captcha-badlogin": "Mer schöze Metmaacher en unsem Wiki jäje automatesche\nPaßwoot-Knackerei, dröm don di Zahle onge zosamme zälle,\nun de Antwoot en dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])",
"captcha-createaccount": "Mer schöze uns Wiki dojäje, dat mer en Masse automatesch\nMetmaacher aanmeldt. Dröm beß esu joot un\ndon di Zahle onge zosamme zälle un don de Antwoot\nen dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])",
- "captcha-createaccount-fail": "De Bestätijungszahl fählt udder es verkeeht.",
+ "captcha-createaccount-fail": "Di Bestähtejong (<i lang=\"en\" xml:lang=\"en\">CAPTCHA</i>) fähld udder es verkeht.",
"captcha-create": "Öm di Sigg neu aanzelääje, don di Zahle onge zosamme zälle,\nun don de Antwoot en dat Käßje endraare. (Verklierung)",
"captcha-sendemail": "För automettesche SPAM ze verhendere, donn di Zahle onge zosamme zälle,\nun don de Antwoot en dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])",
- "captcha-sendemail-fail": "De Bestätijungszahl fählt udder es verkeeht.",
+ "captcha-sendemail-fail": "Di Bestähtejong (<i lang=\"en\" xml:lang=\"en\">CAPTCHA</i>) fähld udder es verkeht.",
"captcha-disabledinapi": "För di Aufjab moß en extra Bestätejon enjejovve wääde, un dat künne mer nit övver de API.",
"captchahelp-title": "Äklierung zum Kaptscha SPAM-Schotz",
"captchahelp-cookies-needed": "Do moß <i lang=\"en\">Cookies</i> en Dingem Brauser enjeschalldt han, domet da hee fluppe kann.",
- "captchahelp-text": "Op Web Saits wi dat Wiki hee, wo jeder jät beidraare kann, do kumme se öff wi de Fleeje un don met Projramme un fun Hand bloß Reklame-Lingks op de eije Websigge affläje, oohne Sinn un Verstand. Esu en SPAM kam_mer widder fott maache, dat määt ävver Ärjer un Opwand.\n\nSu jät wulle_mer nit hann, un donn_et jlish widder fottschmiiße.\n\nDomet mer do_met nidd_esu fill Ärrbed hann,\nmaache_mer dänne Autmaate et Lääve schwer.\nWann uns Wikki merk, et künnd_esu jet em Bösh sinn, dann zeisch et e Belldshe med komije Texte dren, un fröhsch, dat mer se jenau esu ennjävve sullt,\nwi se do shtonn. För_enne Minsch eß dat eifach, ävver dat es fodammp schwierich ze projrammiere.\nDat es e beßßje läßtish för der Minsch, ävver de Robbotter hälld et unß bahl komplett fum Lief, un su jesinn, ess et netto enne Jewenn.\n\nWann De Dich ens fordeis, es och nit schlimm, De wees norr_enß jefrooch. Wat De jetipp häs, kütt nit fott.\n\nSchaad es, mer hann noch keine Wääsh, dat met Shprooch odder sönswi ze maache, su dat Lück met Shprooch_Ußßjaave, Braille, un met nur Tex em Brauser oohne Bellder, em Räähn shtonn künnte. Dooht Ühr Zeush eets enß oohne Lengk speischere, un saat dä [[Special:ListAdmins|Wikki_Köbesse]],\nwann Ühr Probbleme hatt. Do weed_Üch jehollfe weede.\n\nJetz kanns De met Dingem Brauser singem „Zeröck“-Knopp wigger maache, wo De fürher woohß.",
+ "captchahelp-text": "Op Web Saits wi dat Wiki hee, wo jeder jät beidraare kann, do kumme se öff wi de Fleeje un don met Projramme un fun Hand Lengks op de eije Websigge bloß fö Reklahme affläje, der ohne Senn un Verschtand. Esu ene <i lang=\"en\" xml:lang=\"en\" title=\"\">SPAM</i> kam_mer widder fott maache, dat määt ävver Ärjer un Opwand.\n\nSu jät wulle_mer nit hann, un donn_et jlish widder fottschmiiße.\n\nDomet mer do_met nidd_esu fill Ärrbed hann,\nmaache_mer dänne Autmaate et Lävve schwer.\nWann uns Wikki merk, et künnd_esu jet em Bösch sinn, dann zeisch et e Belldsche med jät dren, un fröhsch, dat mer dat jenau esu ennjävve sullt,\nwi et do schteiht. För_enne Minsch eß dat eifach, ävver dat es fodammp schwierich ze projrammehre.\nDat es e beßßje läßtish för der Minsch, ävver de Robbotter hälld et unß bahl kumplett fum Lief, un su jesinn, ess et netto enne Jewenn.\n\nWann De Dich ens fordeis, es och nit schlimm, De wees norr_enß jefrooch, un wat De jetipp häs, kütt nit fott.\n\nSchaad es, mer hann noch keine Wääsch, dat met Schprohch udder sönswi ze maache, su dat Lück met Schprohch_Ußßjaave, Braille, un met nur Tex em Brauser oohne Bellder, em Räähn schtonn künnte. Dooht Ühr Zeush eets enß oohne Lengk schpeischere, un saat dä [[Special:ListAdmins|Wikki_Köbesse]],\nwann Ühr Probbleme hatt. Do weed_Üch jehollfe weede.\n\nJetz kanns De met Dingem Brauser singem „Zeröck“-Knopp wigger maache, wo De fürher wohß.",
"captcha-addurl-whitelist": " #<!-- Lohß di Reih he jenou esu wi se es --> <pre>\n# Dä Opbou es:\n# * Alles fun enem #-Zeiche bes an et Engk fun ene Reih es ene Kommentaa för de Minsche\n# * Jede Reih met jet dren es en Stöck rejolähre Ußdrok, wat Domains en URL treffe kann\n #</pre> <!-- Lohß di Reih he jenou esu wi se es -->",
"right-skipcaptcha": "De Opforderung fum Kaptscha överjonn"
}
diff --git a/extensions/ConfirmEdit/i18n/ku-latn.json b/extensions/ConfirmEdit/i18n/ku-latn.json
new file mode 100644
index 00000000..4fff3b85
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/ku-latn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "George Animal"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/kw.json b/extensions/ConfirmEdit/i18n/kw.json
index 34d2400b..34d2400b 100644
--- a/extensions/ConfirmEdit/i18n/core/kw.json
+++ b/extensions/ConfirmEdit/i18n/kw.json
diff --git a/extensions/ConfirmEdit/i18n/core/ky.json b/extensions/ConfirmEdit/i18n/ky.json
index fdd6c275..fdd6c275 100644
--- a/extensions/ConfirmEdit/i18n/core/ky.json
+++ b/extensions/ConfirmEdit/i18n/ky.json
diff --git a/extensions/ConfirmEdit/i18n/core/la.json b/extensions/ConfirmEdit/i18n/la.json
index 562147c8..562147c8 100644
--- a/extensions/ConfirmEdit/i18n/core/la.json
+++ b/extensions/ConfirmEdit/i18n/la.json
diff --git a/extensions/ConfirmEdit/i18n/core/lad.json b/extensions/ConfirmEdit/i18n/lad.json
index 7e142979..7e142979 100644
--- a/extensions/ConfirmEdit/i18n/core/lad.json
+++ b/extensions/ConfirmEdit/i18n/lad.json
diff --git a/extensions/ConfirmEdit/i18n/core/lb.json b/extensions/ConfirmEdit/i18n/lb.json
index a92fc4f9..a92fc4f9 100644
--- a/extensions/ConfirmEdit/i18n/core/lb.json
+++ b/extensions/ConfirmEdit/i18n/lb.json
diff --git a/extensions/ConfirmEdit/i18n/core/li.json b/extensions/ConfirmEdit/i18n/li.json
index 062c3442..062c3442 100644
--- a/extensions/ConfirmEdit/i18n/core/li.json
+++ b/extensions/ConfirmEdit/i18n/li.json
diff --git a/extensions/ConfirmEdit/i18n/core/lo.json b/extensions/ConfirmEdit/i18n/lo.json
index d35d336a..d35d336a 100644
--- a/extensions/ConfirmEdit/i18n/core/lo.json
+++ b/extensions/ConfirmEdit/i18n/lo.json
diff --git a/extensions/ConfirmEdit/i18n/core/lrc.json b/extensions/ConfirmEdit/i18n/lrc.json
index 21e58fe1..b00dd1c6 100644
--- a/extensions/ConfirmEdit/i18n/core/lrc.json
+++ b/extensions/ConfirmEdit/i18n/lrc.json
@@ -4,6 +4,7 @@
"Mogoeilor"
]
},
+ "captcha-edit": "سی ویرایشت ای بلگه،لطف بکیت جم هاری نه انجوم بئیتو و جواو نه د جعوه وارد بکید:([[Special:Captcha/هومیاری|دونسمنیا هنی]])",
"captcha-label": "كپچا",
"captcha-createaccount-fail": "کد کپچا غلط یا گم بیه.",
"captcha-sendemail-fail": "کد کپچا غلط یا گم بیه.",
diff --git a/extensions/ConfirmEdit/i18n/core/lt.json b/extensions/ConfirmEdit/i18n/lt.json
index 7cbe2aad..7cbe2aad 100644
--- a/extensions/ConfirmEdit/i18n/core/lt.json
+++ b/extensions/ConfirmEdit/i18n/lt.json
diff --git a/extensions/ConfirmEdit/i18n/core/lv.json b/extensions/ConfirmEdit/i18n/lv.json
index c40f7f77..c40f7f77 100644
--- a/extensions/ConfirmEdit/i18n/core/lv.json
+++ b/extensions/ConfirmEdit/i18n/lv.json
diff --git a/extensions/ConfirmEdit/i18n/mai.json b/extensions/ConfirmEdit/i18n/mai.json
new file mode 100644
index 00000000..c56b822e
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/mai.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "बिप्लब आनन्द"
+ ]
+ },
+ "captcha-label": "सहमति कोड (क्याप्चा)",
+ "captcha-createaccount-fail": "गलत या खालि सहमति कोड।",
+ "captcha-create": "इ पृष्ठ बनाबए के लेल, निचा देल हल्लुक गणित प्रश्न के उत्तर बक्सा में लिखु ([[Special:Captcha/help|अधिक जानकारी]]):",
+ "captcha-sendemail-fail": "गलत या खालि सहमति कोड।",
+ "captchahelp-title": "सहमति कोड (क्याप्चा) सहायता",
+ "captchahelp-cookies-needed": "इ कार्य करए के लेल अहाँ के कूकीज (cookies) सक्षम केनाए आवश्यक अछि।",
+ "right-skipcaptcha": "सहमति कोड में नै जा सहमति कोड के प्रयोग करए के लेल आग्रह करू"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/mg.json b/extensions/ConfirmEdit/i18n/mg.json
index 8d084555..8d084555 100644
--- a/extensions/ConfirmEdit/i18n/core/mg.json
+++ b/extensions/ConfirmEdit/i18n/mg.json
diff --git a/extensions/ConfirmEdit/i18n/core/min.json b/extensions/ConfirmEdit/i18n/min.json
index a4c21746..a4c21746 100644
--- a/extensions/ConfirmEdit/i18n/core/min.json
+++ b/extensions/ConfirmEdit/i18n/min.json
diff --git a/extensions/ConfirmEdit/i18n/core/mk.json b/extensions/ConfirmEdit/i18n/mk.json
index fca0ba95..9ace5735 100644
--- a/extensions/ConfirmEdit/i18n/core/mk.json
+++ b/extensions/ConfirmEdit/i18n/mk.json
@@ -15,7 +15,7 @@
"captcha-create": "За да ја создадете страницата, прво решете ја простата задача подолу и впишете го решението во полето ([[Special:Captcha/help|повеќе инфо]]):",
"captcha-sendemail": "За да се заштитиме од автоматизирано спамирање, би сакале да ве замолиме да ја решите простата задача подолу и да го внесете резултатот во полето ([[Special:Captcha/help|повеќе информации]]):",
"captcha-sendemail-fail": "CAPTCHA е неточен или недостасува.",
- "captcha-disabledinapi": "Ова дејство бара captcha, така што не може да се изврши преку API.",
+ "captcha-disabledinapi": "Ова дејство бара CAPTCHA, така што не може да се изврши преку иавршник.",
"captchahelp-title": "Помош со Captcha",
"captchahelp-cookies-needed": "Треба да имате овозможено колачиња за да може ова да работи.",
"captchahelp-text": "Семрежните места кои прифаќаат учество на јавноста, како ова вики, честопати страдаат од спамери кои користат автоматизирани алатки за да ги додаваат нивните врски на голем број мережни страници. Иако врските на спамерот може да се отстранат, тие значително ја пореметуваат нашата работа.\n\nПонекогаш, особено кога додава нови врски на страница, викито може да ви прикаже обоен или извитоперен текст и да ви побара да ги впишете прикажаните зборови. \nБидејќи ова е задача која е тешко да се автоматизира, им овозможува вистинските корисници да придонесуваат, а им попречува на спамерите и другите роботски напаѓачи.\n\nЗа жал, ова може да е проблем за корисници со лош вид, или оние кои користат прелистувачи на основа на текст или гласовни наредби.\nВо моментов немаме аудио-алтернатива за ова.\nКонтактирајте ги [[Special:ListAdmins|администраторите на страната]] за помош доколку ова неочекувано ве спречува во правењето на искрени придонеси. \n\nСтиснете на копчето „назад“ во вашиот прелисувач за да се вратите на уредувањето на страницата.",
diff --git a/extensions/ConfirmEdit/i18n/core/ml.json b/extensions/ConfirmEdit/i18n/ml.json
index 7fc5686c..7fc5686c 100644
--- a/extensions/ConfirmEdit/i18n/core/ml.json
+++ b/extensions/ConfirmEdit/i18n/ml.json
diff --git a/extensions/ConfirmEdit/i18n/core/mn.json b/extensions/ConfirmEdit/i18n/mn.json
index 19ba3d12..19ba3d12 100644
--- a/extensions/ConfirmEdit/i18n/core/mn.json
+++ b/extensions/ConfirmEdit/i18n/mn.json
diff --git a/extensions/ConfirmEdit/i18n/core/mr.json b/extensions/ConfirmEdit/i18n/mr.json
index 6a5fedc4..9aacf299 100644
--- a/extensions/ConfirmEdit/i18n/core/mr.json
+++ b/extensions/ConfirmEdit/i18n/mr.json
@@ -3,7 +3,8 @@
"authors": [
"Kaustubh",
"Mahitgar",
- "V.narsikar"
+ "V.narsikar",
+ "संतोष दहिवळ"
]
},
"captcha-edit": "हे पान संपादित करण्यासाठी, खाली दिलेले सोपे गणित सोडवून त्याचे उत्तर दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):",
diff --git a/extensions/ConfirmEdit/i18n/core/ms.json b/extensions/ConfirmEdit/i18n/ms.json
index e34515c1..e34515c1 100644
--- a/extensions/ConfirmEdit/i18n/core/ms.json
+++ b/extensions/ConfirmEdit/i18n/ms.json
diff --git a/extensions/ConfirmEdit/i18n/core/mt.json b/extensions/ConfirmEdit/i18n/mt.json
index c18448e2..c18448e2 100644
--- a/extensions/ConfirmEdit/i18n/core/mt.json
+++ b/extensions/ConfirmEdit/i18n/mt.json
diff --git a/extensions/ConfirmEdit/i18n/core/nah.json b/extensions/ConfirmEdit/i18n/nah.json
index 6de8cda2..6de8cda2 100644
--- a/extensions/ConfirmEdit/i18n/core/nah.json
+++ b/extensions/ConfirmEdit/i18n/nah.json
diff --git a/extensions/ConfirmEdit/i18n/core/nan.json b/extensions/ConfirmEdit/i18n/nan.json
index c4b65cf1..c4b65cf1 100644
--- a/extensions/ConfirmEdit/i18n/core/nan.json
+++ b/extensions/ConfirmEdit/i18n/nan.json
diff --git a/extensions/ConfirmEdit/i18n/nap.json b/extensions/ConfirmEdit/i18n/nap.json
new file mode 100644
index 00000000..debcf6e9
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/nap.json
@@ -0,0 +1,23 @@
+{
+ "@metadata": {
+ "authors": [
+ "C.R."
+ ]
+ },
+ "captcha-edit": "Pe' putè cagnà sta paggena, pe' piacere facite sta somma semprice semprice ccà abbascio e mettite 'a risposta int' 'a casciulella 'e testo ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "captcha-desc": "Dàje 'e tecniche CAPTCHA pe' putè pruteggere annanz' 'o spam e 'o futtimento r' 'a password",
+ "captcha-label": "CAPTCHA",
+ "captcha-addurl": "'O cagnamiento tuojo azzecca cullegamiente 'e fore.\nPe' putè aiutà a pruteggere annanz' 'o spam automateco, pe' piacere rispunnette 'e dumanne ca cumpareno abbascio 'a casciulella ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "captcha-badlogin": "Pe' pruteggere sta wiki 'a coccheruno ca se futtesse 'e password automaticamente, ve cercammo gentilmente 'e ve ffà sta somma facile facile ccà abbascio e nce miettere 'a risposta int' 'a casciulella ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "captcha-createaccount": "Pe' pruteggere sta wiki 'a coccheruno ca se criase nu melione 'e cunte, ve cercammo gentilmente 'e ve ffà sta somma facile facile ccà abbascio e nce miettere 'a risposta int' 'a casciulella ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "captcha-createaccount-fail": "Codece 'e cunferma CAPTCHA errato o mancante.",
+ "captcha-create": "Pe' putè crià sta paggena, pe' piacere facite sta somma semprice semprice ccà abascio e mettite 'a risposta int' 'a casciulella 'e testo ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "captcha-sendemail": "Pe' pruteggere sta wiki 'a coccheruno ca mannasse spam automaticamente, ve cercammo gentilmente 'e ve ffà sta somma facile facile ccà abbascio e nce miettere 'a risposta int' 'a casciulella ([[Special:Captcha/help|cchiù nfurmaziune]]):",
+ "captcha-sendemail-fail": "CAPTCHA abbacante o sbagliato.",
+ "captcha-disabledinapi": "Pe' putè fà st'azione ce buò 'o CAPTCHA, sinò nun se può ffà pe' bbìa 'e ll'API.",
+ "captchahelp-title": "Ajuto p' 'o CAPTCHA",
+ "captchahelp-cookies-needed": "Pe' ffà chesto tenite bbesogno 'e v'appiccià 'e cookies dint' 'o navigatore.",
+ "captchahelp-text": "'E site web c'accettano mmasciata 'a 'o pubbleco, comm'a stu wiki, songo spisso abbusate 'a 'e spammer c'auseno strumiente automatece e computer pe' putè mannà 'e link lloro a nu cuofeno 'e site. Pe' tramente ca sti mmasciate se ponno levà, songo però nu scasso.\n\nCerti vote, spicialmente quanno s'azzeccano cullegamiente nuove ncopp'a na paggena, 'a wiki ve putesse fà vedé n'immaggene 'e testo culurato o sciummato ca te cercasse e te fà scrivere 'e parole ca verite. Pure si sta fatica è difficultosa pe' ne putè fà ll'automazione, permettesse ll'utente umane a ffà 'e fatiche suoje pe' tramente ca se fermassero tutt' 'e spammer e ati robbot.\n\n'A malasciorta stu fatto putesse dà n'inconveniente a ll'utente cu visione lemmetata o c'ausano 'o browser surtanto cu nu testo o parlanno. Int'a stu mumento nun ce tenimmo n'alternativa audio. Pe' piacere, cuntattate cu ll'[[Special:ListAdmins|amministrature d' o sito]] pe' ce putè aiutà 'e chiste annanz' 'e leggittime aziune voste.\n\nFacite click 'o buttòne \"arreto\" ncopp' 'o navigatore pe' ffà 'e turnà 'o cagnamiento d' 'a paggena.",
+ "captcha-addurl-whitelist": " #<!-- leave this line exactly as it is --> <pre>\n# 'A sintasse è comme segue:\n# * Ogneccosa 'a 'nu carattere \"#\" 'mponta a fine d' 'a linea è 'nu cummanno\n# * Ogne linea chiena è 'nu piezzo 'e regex 'o quale s'addà sulamente cunfruntà ch' 'e host int'a l'URL\n #</pre> <!-- leave this line exactly as it is -->",
+ "right-skipcaptcha": "Facite appiccià tutto comme fosse c'avite miso 'o CAPTCHA senza avé 'e ghì pe' bbìa d' 'o CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/nb.json b/extensions/ConfirmEdit/i18n/nb.json
index efd57c06..efd57c06 100644
--- a/extensions/ConfirmEdit/i18n/core/nb.json
+++ b/extensions/ConfirmEdit/i18n/nb.json
diff --git a/extensions/ConfirmEdit/i18n/core/nds-nl.json b/extensions/ConfirmEdit/i18n/nds-nl.json
index 2c4c4611..feebfd31 100644
--- a/extensions/ConfirmEdit/i18n/core/nds-nl.json
+++ b/extensions/ConfirmEdit/i18n/nds-nl.json
@@ -13,6 +13,6 @@
"captcha-create": "Je bin n nieje zied an t maken.\nVoer t antwoord van disse eenvoudige rekensomme in bie t invoervienster\n([[Special:Captcha/help|meer informasie]]).",
"captchahelp-title": "Lettertoetshulpe",
"captchahelp-cookies-needed": "Je mutten scheumbestaanden (cookies) an hebben staon um disse funksie te gebruken.",
- "captchahelp-text": "Websteeën waor iederene an kan biedragen, zo as disse {{SITENAME}}-wiki, wörden vake misbruukt deurdat der ongewunste verwiezingen op ezet wörden. Op disse wiki kunnen zokken bewarkingen makkelik weerummezet wörden, mer t nimp wel tied in beslag die aanders gebruukt kan wörden.\n\nSoms a'j nieje verwiezingen bie n zied derop zetten, wö'j evreugen um iets over te tikken of in te vullen. Dit zörgt derveur dat der gien ongewunste verwiezingen eplaotst wörden, umdat dit allinnig deur meensen edaon kan wörden en niet deur botgebrukers.\n\nSpietig genog levert disse bevestiging veur gebrukers mit n visuele beparking of n tekst- of spraakebaseerden webkieker problemen op.\nOp t moment is der gien alternatief mit geluud beschikbaor.\nVraag um hulpe van de [[Special:ListAdmins|websteebeheerders]] as dit proses joe in de weg steet n nuttige biedrage te leveren.\n\n(Klik op de knoppe 'terug' in joew webkieker, um weerumme te gaon naor t tekstbewarkingscharm.)",
+ "captchahelp-text": "Websteeën waor iederene an kan biedragen, zo as disse {{SITENAME}}-wiki, wörden vake misbruukt deurdat der ongewunste verwiezingen op ezet wörden. Op disse wiki kunnen zokken bewarkingen makkelik weerummezet wörden, mer t nimp wel tied in beslag die aanders gebruukt kan wörden.\n\nSoms, veural a'j nieje verwiezingen op n zied zetten, zie'j n aofbeelding mit ekleurden vervormde tekste en wördt joe evreugen um de tekste in te voeren. Umdat dit proses lastig te automatiseren is, kunnen haost allinnig meensen dit proses suksesvol uutvoeren, en wörden hiermee ongewunste wiezigingen en geautomatiseerden anvallen eweerd.\n\nSpietig genog levert disse bevestiging veur gebrukers mit n visuele beparking of n tekst- of spraakebaseerden webkieker problemen op.\nOp t moment is der gien alternatief mit geluud beschikbaor.\nVraag um hulpe van de [[Special:ListAdmins|websteebeheerders]] as dit proses joe in de weg steet n nuttige biedrage te leveren.\n\n(Klik op de 'weerumme'-knoppe in joew webkieker, um weer naor t tekstbewarkingscharm te gaon.)",
"captcha-addurl-whitelist": " #<!-- laot disse regel zo as t is --> <pre>\n# De syntaxis is as volgt:\n# * Alle tekste vanaof t karakter \"#\" tot t einde van de regels wörden ezien as opmarking\n# * Alle regels die niet leeg bin, wörden ezien as n reguliere uutdrokking die veur delen van de domein staon.\n #</pre> <!-- laot disse regel zo as t is -->"
}
diff --git a/extensions/ConfirmEdit/i18n/core/nds.json b/extensions/ConfirmEdit/i18n/nds.json
index 29ad8ca6..29ad8ca6 100644
--- a/extensions/ConfirmEdit/i18n/core/nds.json
+++ b/extensions/ConfirmEdit/i18n/nds.json
diff --git a/extensions/ConfirmEdit/i18n/ne.json b/extensions/ConfirmEdit/i18n/ne.json
new file mode 100644
index 00000000..dfd992da
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/ne.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "बिप्लब आनन्द"
+ ]
+ },
+ "captcha-label": "क्याप्चा",
+ "captchahelp-title": "क्याप्चा सहायता"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/nl-informal.json b/extensions/ConfirmEdit/i18n/nl-informal.json
index eecb444c..eecb444c 100644
--- a/extensions/ConfirmEdit/i18n/core/nl-informal.json
+++ b/extensions/ConfirmEdit/i18n/nl-informal.json
diff --git a/extensions/ConfirmEdit/i18n/core/nl.json b/extensions/ConfirmEdit/i18n/nl.json
index b38a13fe..b38a13fe 100644
--- a/extensions/ConfirmEdit/i18n/core/nl.json
+++ b/extensions/ConfirmEdit/i18n/nl.json
diff --git a/extensions/ConfirmEdit/i18n/core/nn.json b/extensions/ConfirmEdit/i18n/nn.json
index 162d671a..162d671a 100644
--- a/extensions/ConfirmEdit/i18n/core/nn.json
+++ b/extensions/ConfirmEdit/i18n/nn.json
diff --git a/extensions/ConfirmEdit/i18n/core/oc.json b/extensions/ConfirmEdit/i18n/oc.json
index fd362df0..fd362df0 100644
--- a/extensions/ConfirmEdit/i18n/core/oc.json
+++ b/extensions/ConfirmEdit/i18n/oc.json
diff --git a/extensions/ConfirmEdit/i18n/core/or.json b/extensions/ConfirmEdit/i18n/or.json
index 1b6c5f87..1b6c5f87 100644
--- a/extensions/ConfirmEdit/i18n/core/or.json
+++ b/extensions/ConfirmEdit/i18n/or.json
diff --git a/extensions/ConfirmEdit/i18n/os.json b/extensions/ConfirmEdit/i18n/os.json
new file mode 100644
index 00000000..b08a5ff8
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/os.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amikeco"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/pa.json b/extensions/ConfirmEdit/i18n/pa.json
new file mode 100644
index 00000000..15232763
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/pa.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Babanwalia"
+ ]
+ },
+ "captcha-label": "ਕੈਪਚਾ"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/pam.json b/extensions/ConfirmEdit/i18n/pam.json
index 43596200..43596200 100644
--- a/extensions/ConfirmEdit/i18n/core/pam.json
+++ b/extensions/ConfirmEdit/i18n/pam.json
diff --git a/extensions/ConfirmEdit/i18n/core/pdc.json b/extensions/ConfirmEdit/i18n/pdc.json
index e7c07379..e7c07379 100644
--- a/extensions/ConfirmEdit/i18n/core/pdc.json
+++ b/extensions/ConfirmEdit/i18n/pdc.json
diff --git a/extensions/ConfirmEdit/i18n/pfl.json b/extensions/ConfirmEdit/i18n/pfl.json
new file mode 100644
index 00000000..5aa51af7
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/pfl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Manuae"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/pl.json b/extensions/ConfirmEdit/i18n/pl.json
index d49d6154..0ada4f1f 100644
--- a/extensions/ConfirmEdit/i18n/core/pl.json
+++ b/extensions/ConfirmEdit/i18n/pl.json
@@ -6,7 +6,8 @@
"Leinad",
"Matma Rex",
"Sp5uhe",
- "WTM"
+ "WTM",
+ "Alan ffm"
]
},
"captcha-edit": "Możesz edytować tę stronę, jednak najpierw musisz rozwiązać poniższe proste działanie matematyczne i wpisać wynik do pola tekstowego ([[Special:Captcha/help|pomoc]]):",
@@ -21,7 +22,7 @@
"captcha-sendemail-fail": "Nieprawidłowy kod lub brak kodu potwierdzającego.",
"captcha-disabledinapi": "Ta czynność wymaga potwierdzenia capcha i z tego względu nie może być przeprowadzona z użyciem API.",
"captchahelp-title": "Pomoc dla ochrony antyspamowej",
- "captchahelp-cookies-needed": "Musisz mieć włączone w przeglądarce ciasteczka (cookies), aby ta opcja działała.",
+ "captchahelp-cookies-needed": "Musisz mieć włączone w przeglądarce cookies (ciasteczka), aby ta opcja działała.",
"captchahelp-text": "Strony internetowe akceptujące edycje dokonywane przez każdego, tak jak ta wiki, są często atakowane przez spamerów, którzy używają automatycznych narzędzi, aby dodawać linki prowadzące do ich stron.\nChociaż te linki mogą zostać usunięte, jest to uciążliwe.\n\nCzasami, zwłaszcza przy dodawaniu nowych linków do strony albo przy rejestracji, wiki może pokazać obrazek z kolorowym lub zniekształconym tekstem i poprosić Cię o przepisanie zamieszczonego na nim wyrazu.\nPonieważ są to zadania trudne do zautomatyzowania, takie zabezpieczenia umożliwia ludziom dokonywania edycji, jednocześnie skutecznie powstrzymując większość spamerów i inne automatyczne ataki.\n\nNiestety, może być to niewygodne dla użytkowników z wadą wzroku lub używających przeglądarek tekstowych lub głosowych.\nObecnie nie mamy alternatywnego rozwiązania audio.\nSkontaktuj się z [[Special:ListAdmins|administratorami strony]] by uzyskać pomoc, jeśli nie możesz z tego powodu dokonywać uprawnionych edycji.\n\nWciśnij przycisk „wstecz” w przeglądarce by powrócić do edycji strony.",
"captcha-addurl-whitelist": " #<!-- nie modyfikuj tej linii --> <pre>\n# Składnia jest następująca:\n# * Linie zaczynające się od znaku „#” są komentarzami\n# * Każda linia, która nie jest pusta, jest wyrażeniem regularnym, które ma pasować do adresu serwera (fragmentu URL)\n #</pre> <!-- nie modyfikuj tej linii -->",
"right-skipcaptcha": "Dostęp do czynności zabezpieczonych pytaniem o treść obrazka lub rozwiązanie zadania, z pominięciem zabezpieczenia"
diff --git a/extensions/ConfirmEdit/i18n/core/pms.json b/extensions/ConfirmEdit/i18n/pms.json
index 2098fa0b..2098fa0b 100644
--- a/extensions/ConfirmEdit/i18n/core/pms.json
+++ b/extensions/ConfirmEdit/i18n/pms.json
diff --git a/extensions/ConfirmEdit/i18n/core/pnb.json b/extensions/ConfirmEdit/i18n/pnb.json
index 498dfbcc..498dfbcc 100644
--- a/extensions/ConfirmEdit/i18n/core/pnb.json
+++ b/extensions/ConfirmEdit/i18n/pnb.json
diff --git a/extensions/ConfirmEdit/i18n/core/ps.json b/extensions/ConfirmEdit/i18n/ps.json
index db541825..6805572a 100644
--- a/extensions/ConfirmEdit/i18n/core/ps.json
+++ b/extensions/ConfirmEdit/i18n/ps.json
@@ -4,6 +4,7 @@
"Ahmed-Najib-Biabani-Ibrahimkhel"
]
},
+ "captcha-label": "کپچا",
"captcha-create": "ددې لپاره چې نوی ليکنه ترسره کړی، لطفاً د همدغه ساده شمېرو ځواب په ورکړ شوي چوکاټ کې وليکی ([[Special:Captcha/help|نور مالومات]]):",
"captchahelp-title": "CAPTCHA لارښود",
"captchahelp-cookies-needed": "ددې کړنې د ترسره کېدلو لپاره تاسو ته پکار ده چې د خپل کتنمل (browser) کوکيز (cookies) چارن کړی.",
diff --git a/extensions/ConfirmEdit/i18n/core/pt-br.json b/extensions/ConfirmEdit/i18n/pt-br.json
index 585f076d..cfd23076 100644
--- a/extensions/ConfirmEdit/i18n/core/pt-br.json
+++ b/extensions/ConfirmEdit/i18n/pt-br.json
@@ -6,7 +6,8 @@
"Helder.wiki",
"Jesielt",
"555",
- "Dianakc"
+ "Dianakc",
+ "He7d3r"
]
},
"captcha-edit": "Para editar esta página será necessário que você resolva a simples soma abaixo e entre com a resposta no respectivo campo ([[Special:Captcha/help|o que é isto?]])",
diff --git a/extensions/ConfirmEdit/i18n/core/pt.json b/extensions/ConfirmEdit/i18n/pt.json
index 4563f617..4563f617 100644
--- a/extensions/ConfirmEdit/i18n/core/pt.json
+++ b/extensions/ConfirmEdit/i18n/pt.json
diff --git a/extensions/ConfirmEdit/i18n/core/qqq.json b/extensions/ConfirmEdit/i18n/qqq.json
index e584be29..054b9b82 100644
--- a/extensions/ConfirmEdit/i18n/core/qqq.json
+++ b/extensions/ConfirmEdit/i18n/qqq.json
@@ -15,7 +15,7 @@
]
},
"captcha-edit": "This message will be shown when editing if the wiki requires solving a captcha for editing.\n{{Related|ConfirmEdit-edit}}",
- "captcha-desc": "{{desc|name=Confirm Edit|url=http://www.mediawiki.org/wiki/Extension:ConfirmEdit}}",
+ "captcha-desc": "{{desc|name=Confirm Edit|url=https://www.mediawiki.org/wiki/Extension:ConfirmEdit}}",
"captcha-label": "Label field for input field shown in forms",
"captcha-addurl": "The explanation of CAPTCHA shown to users trying to add new external links.\n{{Related|ConfirmEdit-addurl}}",
"captcha-badlogin": "The explanation of CAPTCHA shown to users failed three times to type in correct password.\n{{Related|ConfirmEdit-badlogin}}",
diff --git a/extensions/ConfirmEdit/i18n/core/qu.json b/extensions/ConfirmEdit/i18n/qu.json
index 6a82ba37..6a82ba37 100644
--- a/extensions/ConfirmEdit/i18n/core/qu.json
+++ b/extensions/ConfirmEdit/i18n/qu.json
diff --git a/extensions/ConfirmEdit/i18n/core/ro.json b/extensions/ConfirmEdit/i18n/ro.json
index ab415109..ab415109 100644
--- a/extensions/ConfirmEdit/i18n/core/ro.json
+++ b/extensions/ConfirmEdit/i18n/ro.json
diff --git a/extensions/ConfirmEdit/i18n/core/roa-tara.json b/extensions/ConfirmEdit/i18n/roa-tara.json
index 5d9eb076..751b6de8 100644
--- a/extensions/ConfirmEdit/i18n/core/roa-tara.json
+++ b/extensions/ConfirmEdit/i18n/roa-tara.json
@@ -11,10 +11,10 @@
"captcha-addurl": "'U cangiamende tune 'nglude de le collegaminde de fore.\nPe aiutà a proteggere condre a 'u spam automateche, pe piacere respunne a 'a domande ca combare sotte jndr'à sckatole ([[Special:Captcha/help|cchiù 'mbormaziune]]):",
"captcha-badlogin": "Pe proteggere sta uicchi da le futteminde de passuord automateche, nuje te cercame gendilmende de fa sta somma facile facile aqquà sotte e mitte 'a resposte jndr'à sckatele ([[Special:Captcha/help|maggiore 'mbormaziune]]):",
"captcha-createaccount": "Pe proteggere sta uicchi da 'a ccrejazione automateche de le cunde, nuje te cercame gendilmende de fa sta somma facile facile aqquà sotte e mitte 'a resposte jndr'à sckatele ([[Special:Captcha/help|maggiore 'mbormaziune]]):",
- "captcha-createaccount-fail": "Codece de conferme non corrette o mangande.",
+ "captcha-createaccount-fail": "Codece de conferme CAPTCHA non corrette o mangande.",
"captcha-create": "Pe ccrejà sta pàgene, pe piacere fa sta somma facile facile aqquà sotte e mitte 'a resposte jndr'à sckatele ([[Special:Captcha/help|maggiore 'mbormaziune]]):",
"captcha-sendemail": "Pe proteggere sta uicchi da 'a munnezze automateche, nuje te cercame gendilmende de fa sta somma facile facile aqquà sotte e mitte 'a resposte jndr'à sckatele ([[Special:Captcha/help|maggiore 'mbormaziune]]):",
- "captcha-sendemail-fail": "Codece de conferme non corrette o mangande.",
+ "captcha-sendemail-fail": "Codece de conferme CAPTCHA non corrette o mangande.",
"captcha-disabledinapi": "St'azione ave abbesogne de 'nu captcha, accussì non g'è possibbele eseguirle cu le API.",
"captchahelp-title": "Aijute pu captcha",
"captchahelp-cookies-needed": "Tu è abbesogne de avè le cookie abbilitate jndr'à 'u browser tune pe sta fatìe.",
diff --git a/extensions/ConfirmEdit/i18n/core/ru.json b/extensions/ConfirmEdit/i18n/ru.json
index a963ade5..a963ade5 100644
--- a/extensions/ConfirmEdit/i18n/core/ru.json
+++ b/extensions/ConfirmEdit/i18n/ru.json
diff --git a/extensions/ConfirmEdit/i18n/core/rue.json b/extensions/ConfirmEdit/i18n/rue.json
index 8aadc191..8aadc191 100644
--- a/extensions/ConfirmEdit/i18n/core/rue.json
+++ b/extensions/ConfirmEdit/i18n/rue.json
diff --git a/extensions/ConfirmEdit/i18n/core/sa.json b/extensions/ConfirmEdit/i18n/sa.json
index 765a380c..765a380c 100644
--- a/extensions/ConfirmEdit/i18n/core/sa.json
+++ b/extensions/ConfirmEdit/i18n/sa.json
diff --git a/extensions/ConfirmEdit/i18n/core/sah.json b/extensions/ConfirmEdit/i18n/sah.json
index 2e622f51..3d57cf46 100644
--- a/extensions/ConfirmEdit/i18n/core/sah.json
+++ b/extensions/ConfirmEdit/i18n/sah.json
@@ -6,6 +6,7 @@
},
"captcha-edit": "Сирэйи уларытыаххын баҕардаххына, манна баар примеры суоттаа уонна эппиэтин аналлаах сиргэ суруй ([[Special:Captcha/help|сиһилии]]):",
"captcha-desc": "CAPTCHA көмөтүнэн спаамтан уонна киирии тылы уорууттан көмүскэли хааччыйар",
+ "captcha-label": "CAPTCHA",
"captcha-addurl": "Тас саайка ыйынньык туруорбуккун; \nспаамтан көмүскэнэр соруктаах суолу толор - ойууга баар буукубалары хатылаа: <br />\n([[Special:Captcha/help|Сиһилии]])",
"captcha-badlogin": "Киирии тылы аптамаат алдьаппатын туһугар оҥоһуллубут харыстыыр дьайыыны толор, манна баар примеры суоттаа уонна эппиэтин анал сиргэ суруй ([[Special:Captcha/help|сиһилии]]):",
"captcha-createaccount": "Бэлиэтэнэргэр аптамаатынан алдьатыыттан (спаамтан) харыстыыр соруктаах дьайыыны оҥор, ойууга көстөр буукубалары анал сиргэ киллэр:<br />\n([[Special:Captcha/help|Сиһилии]])",
diff --git a/extensions/ConfirmEdit/i18n/core/scn.json b/extensions/ConfirmEdit/i18n/scn.json
index ac7377b9..a3e95a35 100644
--- a/extensions/ConfirmEdit/i18n/core/scn.json
+++ b/extensions/ConfirmEdit/i18n/scn.json
@@ -2,11 +2,13 @@
"@metadata": {
"authors": [
"Melos",
- "Santu"
+ "Santu",
+ "Gmelfi"
]
},
"captcha-edit": "Pi mudificaru la pàggina è nicissàriu arisòrviri lu sèmprici càlculu prisintati di sècutu e nziriri lu risurtatu nnâ casedda\n([[Special:Captcha/help|chiossai nfurmazzioni]]):",
"captcha-desc": "Sèmprici mplimintazzioni di na Captcha",
+ "captcha-label": "CAPTCHA",
"captcha-addurl": "La mudìfica addumannata junci novi lijami di fora a la pàggina; pi pricauzzioni contr'a lu nzirimentu autumàticu di spam, è nicissarii arisòrviri lu sèmprici càlculu prisintatu di sècutu e nziriri lu risurtatu nnâ casedda ([[Special:Captcha/help|chiossai nfurmazzioni]]):",
"captcha-badlogin": "Pi pricauzzioni contr'a li tintativi di furzatura autumàtica dâ password, è nicussàriu arisòrviri lu sèmprici càlculu prusuntatu di sècutu e nziriri lu risurtatu nnâ casedda ([[Special:Captcha/help|chiossai nfurmazzioni]]):",
"captcha-createaccount": "Pi pricauzzioni contr'a li tintativi di criazzioni autumàtica di l'account, pi riggistràrisi è nicissàriu arisòrviri lu sèmprici càlculu prisintatu di sècutu e nziriri lu risurtatu nnâ casedda ([[Special:Captcha/help|chiossai nfurmazzioni]]):",
diff --git a/extensions/ConfirmEdit/i18n/core/sco.json b/extensions/ConfirmEdit/i18n/sco.json
index 3bcacfd1..3bcacfd1 100644
--- a/extensions/ConfirmEdit/i18n/core/sco.json
+++ b/extensions/ConfirmEdit/i18n/sco.json
diff --git a/extensions/ConfirmEdit/i18n/core/sh.json b/extensions/ConfirmEdit/i18n/sh.json
index 5f7b75fa..5f7b75fa 100644
--- a/extensions/ConfirmEdit/i18n/core/sh.json
+++ b/extensions/ConfirmEdit/i18n/sh.json
diff --git a/extensions/ConfirmEdit/i18n/shn.json b/extensions/ConfirmEdit/i18n/shn.json
new file mode 100644
index 00000000..2f0ed01a
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/shn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Saimawnkham"
+ ]
+ },
+ "captcha-label": "လိၵ်ႈၼႄႉၼွၼ်း"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/si.json b/extensions/ConfirmEdit/i18n/si.json
index 0c1aa019..0c1aa019 100644
--- a/extensions/ConfirmEdit/i18n/core/si.json
+++ b/extensions/ConfirmEdit/i18n/si.json
diff --git a/extensions/ConfirmEdit/i18n/core/sk.json b/extensions/ConfirmEdit/i18n/sk.json
index 9fd10a19..9fd10a19 100644
--- a/extensions/ConfirmEdit/i18n/core/sk.json
+++ b/extensions/ConfirmEdit/i18n/sk.json
diff --git a/extensions/ConfirmEdit/i18n/core/sl.json b/extensions/ConfirmEdit/i18n/sl.json
index 0411a41d..0411a41d 100644
--- a/extensions/ConfirmEdit/i18n/core/sl.json
+++ b/extensions/ConfirmEdit/i18n/sl.json
diff --git a/extensions/ConfirmEdit/i18n/core/sq.json b/extensions/ConfirmEdit/i18n/sq.json
index 56dc6b37..56dc6b37 100644
--- a/extensions/ConfirmEdit/i18n/core/sq.json
+++ b/extensions/ConfirmEdit/i18n/sq.json
diff --git a/extensions/ConfirmEdit/i18n/core/sr-ec.json b/extensions/ConfirmEdit/i18n/sr-ec.json
index 4bfc5594..4bfc5594 100644
--- a/extensions/ConfirmEdit/i18n/core/sr-ec.json
+++ b/extensions/ConfirmEdit/i18n/sr-ec.json
diff --git a/extensions/ConfirmEdit/i18n/core/sr-el.json b/extensions/ConfirmEdit/i18n/sr-el.json
index 742516fa..742516fa 100644
--- a/extensions/ConfirmEdit/i18n/core/sr-el.json
+++ b/extensions/ConfirmEdit/i18n/sr-el.json
diff --git a/extensions/ConfirmEdit/i18n/core/stq.json b/extensions/ConfirmEdit/i18n/stq.json
index cd33f9e7..cd33f9e7 100644
--- a/extensions/ConfirmEdit/i18n/core/stq.json
+++ b/extensions/ConfirmEdit/i18n/stq.json
diff --git a/extensions/ConfirmEdit/i18n/core/su.json b/extensions/ConfirmEdit/i18n/su.json
index 08ebe767..08ebe767 100644
--- a/extensions/ConfirmEdit/i18n/core/su.json
+++ b/extensions/ConfirmEdit/i18n/su.json
diff --git a/extensions/ConfirmEdit/i18n/core/sv.json b/extensions/ConfirmEdit/i18n/sv.json
index 2b25f223..a7f78960 100644
--- a/extensions/ConfirmEdit/i18n/core/sv.json
+++ b/extensions/ConfirmEdit/i18n/sv.json
@@ -10,7 +10,8 @@
"Per",
"Rotsee",
"WikiPhoenix",
- "Lokal Profil"
+ "Lokal Profil",
+ "Jopparn"
]
},
"captcha-edit": "För att redigera den här sidan måste du först lösa följande enkla räkneuppgift och skriva svaret i rutan ([[Special:Captcha/help|mer information]]):",
diff --git a/extensions/ConfirmEdit/i18n/core/sw.json b/extensions/ConfirmEdit/i18n/sw.json
index 343c2d9e..343c2d9e 100644
--- a/extensions/ConfirmEdit/i18n/core/sw.json
+++ b/extensions/ConfirmEdit/i18n/sw.json
diff --git a/extensions/ConfirmEdit/i18n/szl.json b/extensions/ConfirmEdit/i18n/szl.json
new file mode 100644
index 00000000..6ec0983b
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/szl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Krol111"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/ta.json b/extensions/ConfirmEdit/i18n/ta.json
index 4b94578a..4b94578a 100644
--- a/extensions/ConfirmEdit/i18n/core/ta.json
+++ b/extensions/ConfirmEdit/i18n/ta.json
diff --git a/extensions/ConfirmEdit/i18n/tcy.json b/extensions/ConfirmEdit/i18n/tcy.json
new file mode 100644
index 00000000..da47c917
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/tcy.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "VASANTH S.N."
+ ]
+ },
+ "captcha-label": "ಕ್ಯಾಪ್ಚಾ"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/te.json b/extensions/ConfirmEdit/i18n/te.json
index 25f0599d..10990c36 100644
--- a/extensions/ConfirmEdit/i18n/core/te.json
+++ b/extensions/ConfirmEdit/i18n/te.json
@@ -4,11 +4,13 @@
"Chaduvari",
"Kiranmayee",
"Mpradeep",
- "Veeven"
+ "Veeven",
+ "రహ్మానుద్దీన్"
]
},
"captcha-edit": "ఈ పేజీని సరిదిద్దడానికి, కింది ఇచ్చిన చిన్న లెక్కని చేసి జవాబుని పక్కనున్న పెట్టెలో టైపు చెయ్యండి ([[ప్రత్యేక:Captcha/help|మరింత సమాచారం]]):",
"captcha-desc": "సరళమైన అమకవేప అమలు",
+ "captcha-label": "క్యాప్చా",
"captcha-addurl": "మీ దిద్దుబాటులో కొత్త బయటి లింకులు ఉన్నాయి. ఆటోమేటెడ్ స్పాము నుండి రక్షించేందుకు గాను, కింద ఇచ్చిన లెక్క యొక్క జవాబును ఇక్కడున్న పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సహాయం]]):",
"captcha-badlogin": "పాసువోర్డును బాట్ల ద్వారా తెలుసుకోకుండా ఉండేందుకు, కింద ఇచ్చిన లెక్క యొక్క జవాబును ఇక్కడున్న పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సహాయం]]):",
"captcha-createaccount": "బాట్ల ద్వారా ఖాతాలను సృష్టించకుండా నిరోధించటానికి, కింద ఇచ్చిన లెక్క యొక్క జవాబును ఇక్కడున్న పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సహాయం]]):",
diff --git a/extensions/ConfirmEdit/i18n/core/tg-cyrl.json b/extensions/ConfirmEdit/i18n/tg-cyrl.json
index 46ae26f0..46ae26f0 100644
--- a/extensions/ConfirmEdit/i18n/core/tg-cyrl.json
+++ b/extensions/ConfirmEdit/i18n/tg-cyrl.json
diff --git a/extensions/ConfirmEdit/i18n/core/tg-latn.json b/extensions/ConfirmEdit/i18n/tg-latn.json
index deb1ee0e..deb1ee0e 100644
--- a/extensions/ConfirmEdit/i18n/core/tg-latn.json
+++ b/extensions/ConfirmEdit/i18n/tg-latn.json
diff --git a/extensions/ConfirmEdit/i18n/core/th.json b/extensions/ConfirmEdit/i18n/th.json
index 405a326a..64f8dd6c 100644
--- a/extensions/ConfirmEdit/i18n/core/th.json
+++ b/extensions/ConfirmEdit/i18n/th.json
@@ -2,10 +2,12 @@
"@metadata": {
"authors": [
"Passawuth",
- "Horus"
+ "Horus",
+ "Octahedron80"
]
},
"captcha-edit": "เพื่อที่จะแก้ไขหน้านี้ กรุณาตอบโจทย์ปัญหาทางคณิตศาสตร์ข้างล่าง และใส่คำตอบลงในกล่อง ([[Special:Captcha/help|รายละเอียดเพิ่มเติม]]) :",
+ "captcha-label": "แคปต์ชา",
"captcha-addurl": "การแก้ไขของคุณมีลิงก์็ไปยังเว็บไซต์ภายนอกด้วย\nเพื่อที่จะป้องกันสแปม กรุณาแก้โจทย์ด้านล่าง และพิมพ์คำตอบลงในกล่อง ([[Special:Captcha/help|รายละเอียด]]):",
"captcha-badlogin": "กรุณาแก้โจทย์ด้านล่าง และพิมพ์คำตอบลงในกล่อง เพื่อที่จะป้องกันกา่รแอบแฮครหัสผ่านโดยผู้ไม่หวังดี ([[Special:Captcha/help|รายละเอียด]]):",
"captcha-createaccount": "กรุณาแก้โจทย์ด้านล่าง และพิมพ์คำตอบลงในกล่อง เพื่อที่จะป้องกันการสร้างบัญชีผู้ใช้โดยผู้ไม่หวังดี ([[Special:Captcha/help|รายละเอียด]]):",
diff --git a/extensions/ConfirmEdit/i18n/core/tk.json b/extensions/ConfirmEdit/i18n/tk.json
index f3da4859..f3da4859 100644
--- a/extensions/ConfirmEdit/i18n/core/tk.json
+++ b/extensions/ConfirmEdit/i18n/tk.json
diff --git a/extensions/ConfirmEdit/i18n/core/tl.json b/extensions/ConfirmEdit/i18n/tl.json
index eee795f2..eee795f2 100644
--- a/extensions/ConfirmEdit/i18n/core/tl.json
+++ b/extensions/ConfirmEdit/i18n/tl.json
diff --git a/extensions/ConfirmEdit/i18n/core/tr.json b/extensions/ConfirmEdit/i18n/tr.json
index 2b1c6f29..2b1c6f29 100644
--- a/extensions/ConfirmEdit/i18n/core/tr.json
+++ b/extensions/ConfirmEdit/i18n/tr.json
diff --git a/extensions/ConfirmEdit/i18n/core/tru.json b/extensions/ConfirmEdit/i18n/tru.json
index 4358718d..4358718d 100644
--- a/extensions/ConfirmEdit/i18n/core/tru.json
+++ b/extensions/ConfirmEdit/i18n/tru.json
diff --git a/extensions/ConfirmEdit/i18n/core/uk.json b/extensions/ConfirmEdit/i18n/uk.json
index 7198ae81..401a1e74 100644
--- a/extensions/ConfirmEdit/i18n/core/uk.json
+++ b/extensions/ConfirmEdit/i18n/uk.json
@@ -8,7 +8,8 @@
"Olvin",
"Riwnodennyk",
"Ата",
- "Тест"
+ "Тест",
+ "Piramidion"
]
},
"captcha-edit": "Щоб відредагувати цю сторінку, будь ласка, виконайте просту арифметичну дію і введіть відповідь у текстове поле ([[Special:Captcha/help|докладніше]]):",
@@ -26,5 +27,5 @@
"captchahelp-cookies-needed": "Вам потрібно ввімкнути куки у браузері, щоб ця функція запрацювала.",
"captchahelp-text": "Веб-сайти, що дозволяють додавати або змінювати свій вміст, у тому числі вікі, часто стають ціллю спамерів, які використовують програми для автоматичного додавання посилань.\nХоча такі посилання і можуть бути вилучені, вони є істотною вадою.\n\nІноді, наприклад при додаванні на сторінку нового веб-посилання, вікі може показати вам картинку з кольоровим або спотвореним текстом і запропонувати ввести текст, який ви бачите.\nОскільки подібну задачу важко автоматизувати, це дає можливість більшості людей робити свої зміни, в той час як більшість спамерських і вандальних програм не можуть цього зробити.\n\nНа жаль, подібний захист може спричинити незручності для людей із вадами зору. Зараз у нас нема звукової альтернативи для такої перевірки. Будь ласка, зверніться по допомогу до [[Special:ListAdmins|адміністраторів]], якщо подібна перевірка заважає вам добросовісно працювати з сайтом.\n\nНатисніть кнопку «Назад» у вашому браузері, щоб повернутися до редагування.",
"captcha-addurl-whitelist": "#<!-- leave this line exactly as it is --> <pre>\n# Опис синтаксису:\n# * Все, що починається з символу \"#\" до кінця рядка, вважається коментарем\n# * Кожний непорожній рядок вважається фрагментом регулярного виразу відповідної назви вузла в URL\n #</pre> <!-- leave this line exactly as it is -->",
- "right-skipcaptcha": "Виконання дій, що вимагають CAPTCHA-перевірки, без проходження CAPTCHA"
+ "right-skipcaptcha": "виконання дій, що вимагають CAPTCHA-перевірки, без проходження CAPTCHA"
}
diff --git a/extensions/ConfirmEdit/i18n/ur.json b/extensions/ConfirmEdit/i18n/ur.json
new file mode 100644
index 00000000..a4d60604
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/ur.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "عثمان خان شاہ"
+ ]
+ },
+ "captcha-label": "کیپچا"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/vec.json b/extensions/ConfirmEdit/i18n/vec.json
index 27dd98f5..27dd98f5 100644
--- a/extensions/ConfirmEdit/i18n/core/vec.json
+++ b/extensions/ConfirmEdit/i18n/vec.json
diff --git a/extensions/ConfirmEdit/i18n/core/vi.json b/extensions/ConfirmEdit/i18n/vi.json
index 61c2334e..61c2334e 100644
--- a/extensions/ConfirmEdit/i18n/core/vi.json
+++ b/extensions/ConfirmEdit/i18n/vi.json
diff --git a/extensions/ConfirmEdit/i18n/core/vo.json b/extensions/ConfirmEdit/i18n/vo.json
index b0b0c9c4..b0b0c9c4 100644
--- a/extensions/ConfirmEdit/i18n/core/vo.json
+++ b/extensions/ConfirmEdit/i18n/vo.json
diff --git a/extensions/ConfirmEdit/i18n/vro.json b/extensions/ConfirmEdit/i18n/vro.json
new file mode 100644
index 00000000..ee27780d
--- /dev/null
+++ b/extensions/ConfirmEdit/i18n/vro.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Võrok"
+ ]
+ },
+ "captcha-label": "CAPTCHA"
+}
diff --git a/extensions/ConfirmEdit/i18n/core/wa.json b/extensions/ConfirmEdit/i18n/wa.json
index 72032cb9..72032cb9 100644
--- a/extensions/ConfirmEdit/i18n/core/wa.json
+++ b/extensions/ConfirmEdit/i18n/wa.json
diff --git a/extensions/ConfirmEdit/i18n/core/yi.json b/extensions/ConfirmEdit/i18n/yi.json
index 00fde31c..78acf9ec 100644
--- a/extensions/ConfirmEdit/i18n/core/yi.json
+++ b/extensions/ConfirmEdit/i18n/yi.json
@@ -4,6 +4,7 @@
"פוילישער"
]
},
+ "captcha-label": "CAPTCHA",
"captcha-addurl": "אײַער רעדאַקטירונג אַנטהאַלט נײַע דרויסנדיקע לינקען. \nצו שיצן די וויקי קעגן אויטאמזירטן ספאַם, בעטן מיר אײַך צו לייזן די פשוטע סומע אונטן און קלאַפט אײַן דעם ענטפֿער אינעם קעסטל כדי אויפצוהיטן אײַער רעדאקטירונג. ([[Special:Captcha/help|נאך אינפֿארמאַציע]]):",
"captcha-badlogin": "צו שיצן די וויקי קעגן אויטאמאַטישן ברעכן פאַסווערטער, בעטן מיר אײַך צו לייזן די פשוטע סומע אונטן און קלאַפט אײַן דעם ענטפֿער אינעם קעסטל כדי אויפצוהיטן אײַער רעדאקטירונג. ([[Special:Captcha/help|נאך אינפֿארמאַציע]]):",
"captcha-createaccount": "צו שיצן די וויקי קעגן אויטאמאַטישע שאַפֿן קאנטעס, בעטן מיר אײַך צו לייזן די פשוטע סומע אונטן און אריינקלאַפן דעם ענטפֿער אינעם קעסטל כדי אויפצוהיטן אײַער רעדאקטירונג. ([[Special:Captcha/help|נאך אינפֿארמאַציע]]):",
diff --git a/extensions/ConfirmEdit/i18n/core/yo.json b/extensions/ConfirmEdit/i18n/yo.json
index f3220357..f3220357 100644
--- a/extensions/ConfirmEdit/i18n/core/yo.json
+++ b/extensions/ConfirmEdit/i18n/yo.json
diff --git a/extensions/ConfirmEdit/i18n/core/yue.json b/extensions/ConfirmEdit/i18n/yue.json
index a1c602c5..79c10820 100644
--- a/extensions/ConfirmEdit/i18n/core/yue.json
+++ b/extensions/ConfirmEdit/i18n/yue.json
@@ -1,7 +1,12 @@
{
- "@metadata": [],
+ "@metadata": {
+ "authors": [
+ "Yueman"
+ ]
+ },
"captcha-edit": "要編輯呢一篇文,請答出一個簡單嘅加數和,跟住響個盒度打入 ([[Special:Captcha/help|更多資料]]):",
"captcha-desc": "簡單嘅 captcha 實行",
+ "captcha-label": "CAPTCHA",
"captcha-addurl": "你編輯嘅內容裏面有新嘅URL連結;為咗避免受到自動垃圾程式的侵擾,請答出一個簡單嘅加數和,跟住響個盒度打入 ([[Special:Captcha/help|更多資料]]):",
"captcha-badlogin": "為咗防止程式自動破解密碼,請答出一個簡單嘅加數和,跟住響個盒度打入 ([[Special:Captcha/help|更多資料]]):",
"captcha-createaccount": "為咗防止程式自動註冊,請答出一個簡單嘅加數和,跟住響個盒度打入 ([[Special:Captcha/help|更多資料]]):",
diff --git a/extensions/ConfirmEdit/i18n/core/zh-hans.json b/extensions/ConfirmEdit/i18n/zh-hans.json
index d500075e..0ee20dd8 100644
--- a/extensions/ConfirmEdit/i18n/core/zh-hans.json
+++ b/extensions/ConfirmEdit/i18n/zh-hans.json
@@ -8,7 +8,8 @@
"Xiaomingyan",
"Yfdyh000",
"Liuxinyu970226",
- "Mywood"
+ "Mywood",
+ "Impersonator 1"
]
},
"captcha-edit": "要编辑该页面,请输入下面简单算式的答案([[Special:Captcha/help|更多信息]]):",
diff --git a/extensions/ConfirmEdit/i18n/core/zh-hant.json b/extensions/ConfirmEdit/i18n/zh-hant.json
index 01d6c6af..026c1b3e 100644
--- a/extensions/ConfirmEdit/i18n/core/zh-hant.json
+++ b/extensions/ConfirmEdit/i18n/zh-hant.json
@@ -7,7 +7,9 @@
"Mark85296341",
"Simon Shek",
"Waihorace",
- "Cwlin0416"
+ "Cwlin0416",
+ "LNDDYL",
+ "Liuxinyu970226"
]
},
"captcha-edit": "要編輯這篇文章,請答出一個簡單的加法,然後在框內輸入 ([[Special:Captcha/help|更多資料]]) :",
@@ -23,7 +25,7 @@
"captcha-disabledinapi": "此操作需要使用 CAPTCHA 驗証,因此無法透過 API 執行。",
"captchahelp-title": "Captcha 說明",
"captchahelp-cookies-needed": "您需要開啟瀏覽器上的 Cookies 方可使用此功能。",
- "captchahelp-text": "接受公開張貼訊息的網站,同本 Wiki,通常會被垃圾訊息散佈者使用自動化工具所濫用,在多個網站張貼垃圾連結。\n雖然可以移除這些垃圾連結,但這實著造成困擾。\n\n因此,部份時候,特別是在頁面新增網站連結時,Wiki 會顯示您有彩色或扭曲文字的圖片,要求您輸顯示的文字。\n由於這個動作難以自動化,它可在讓實際的使用者張貼訊息的同時避免多數垃圾訊息散佈者及自動化工具的攻擊。\n\n可惜的是,這仍可能對視力有障礙或者使用以文字基礎或語音基礎的瀏覽器造成不便。\n但目前我們還尚未提供語音的替代方案。\n若您的合法操作在預期之外受到限制,請連絡 [[Special:ListAdmins|網站管理員]] 尋求協助。\n\n請點選瀏覽器的 \"返回\" 按鈕以返回頁面編輯器。",
- "captcha-addurl-whitelist": " #<!-- leave this line exactly as it is --> <pre>\n# 語法格式如下:\n# * 任何以 \"#\" 字元開頭至結尾代表註解\n# * 任何非空白行代表部份正規表示法,會用來比對 URL 中的主機\n #</pre> <!-- leave this line exactly as it is -->",
+ "captchahelp-text": "接受公開張貼訊息的網站,同本 Wiki,通常會被垃圾訊息散佈者使用自動化工具所濫用,在多個網站張貼垃圾連結。\n雖然可以移除這些垃圾連結,但這實著造成困擾。\n\n因此,部份時候,特別是在頁面新增網站連結時,Wiki 會顯示您有彩色或扭曲文字的圖片,要求您輸顯示的文字。\n由於這個動作難以自動化,它可在讓實際的使用者張貼訊息的同時避免多數垃圾訊息散佈者及自動化工具的攻擊。\n\n可惜的是,這仍可能對視力有障礙或者使用以文字基礎或語音基礎的瀏覽器造成不便。\n但目前我們還尚未提供語音的替代方案。\n若您的合法操作在預期之外受到限制,請聯絡 [[Special:ListAdmins|網站管理員]] 尋求協助。\n\n請點選瀏覽器的「返回」按鈕以返回頁面編輯器。",
+ "captcha-addurl-whitelist": " #<!-- 請勿更動此行 --> <pre>\n# 語法格式如下:\n# * 任何以 \"#\" 字元開頭至結尾代表註解\n# * 任何非空白行代表部份正規表示法,會用來比對 URL 中的主機\n #</pre> <!-- 請勿更動此行 -->",
"right-skipcaptcha": "執行會觸發驗證碼的動作時無需經過驗證碼檢驗"
}
diff --git a/extensions/ConfirmEdit/CaptchaStore.php b/extensions/ConfirmEdit/includes/CaptchaStore.php
index a54db97f..b0854df1 100644
--- a/extensions/ConfirmEdit/CaptchaStore.php
+++ b/extensions/ConfirmEdit/includes/CaptchaStore.php
@@ -36,7 +36,7 @@ abstract class CaptchaStore {
/**
* Get somewhere to store captcha data that will persist between requests
*
- * @throws MWException
+ * @throws Exception
* @return CaptchaStore
*/
public final static function get() {
@@ -45,7 +45,7 @@ abstract class CaptchaStore {
if ( in_array( 'CaptchaStore', class_parents( $wgCaptchaStorageClass ) ) ) {
self::$instance = new $wgCaptchaStorageClass;
} else {
- throw new MWException( "Invalid CaptchaStore class $wgCaptchaStorageClass" );
+ throw new Exception( "Invalid CaptchaStore class $wgCaptchaStorageClass" );
}
}
return self::$instance;
diff --git a/extensions/ConfirmEdit/includes/ConfirmEditHooks.php b/extensions/ConfirmEdit/includes/ConfirmEditHooks.php
new file mode 100644
index 00000000..5f9c3384
--- /dev/null
+++ b/extensions/ConfirmEdit/includes/ConfirmEditHooks.php
@@ -0,0 +1,149 @@
+<?php
+
+class ConfirmEditHooks {
+ /**
+ * Get the global Captcha instance
+ *
+ * @return SimpleCaptcha
+ */
+ static function getInstance() {
+ global $wgCaptcha, $wgCaptchaClass;
+
+ static $done = false;
+
+ if ( !$done ) {
+ $done = true;
+ $wgCaptcha = new $wgCaptchaClass;
+ }
+
+ return $wgCaptcha;
+ }
+
+ static function confirmEditMerged( $context, $content, $status, $summary, $user, $minorEdit ) {
+ return self::getInstance()->confirmEditMerged( $context, $content, $status, $summary,
+ $user, $minorEdit );
+ }
+
+ static function confirmEditPage( $editpage, $buttons, $tabindex ) {
+ self::getInstance()->editShowCaptcha( $editpage );
+ }
+
+ static function confirmEditAPI( $editPage, $newtext, &$resultArr ) {
+ return self::getInstance()->confirmEditAPI( $editPage, $newtext, $resultArr );
+ }
+
+ static function showEditFormFields( &$editPage, &$out ) {
+ return self::getInstance()->showEditFormFields( $editPage, $out );
+ }
+
+ static function addNewAccountApiForm( $apiModule, $loginForm ) {
+ return self::getInstance()->addNewAccountApiForm( $apiModule, $loginForm );
+ }
+
+ static function addNewAccountApiResult( $apiModule, $loginPage, &$result ) {
+ return self::getInstance()->addNewAccountApiResult( $apiModule, $loginPage, $result );
+ }
+
+ static function injectUserCreate( &$template ) {
+ return self::getInstance()->injectUserCreate( $template );
+ }
+
+ static function confirmUserCreate( $u, &$message, &$status = null ) {
+ return self::getInstance()->confirmUserCreate( $u, $message, $status );
+ }
+
+ static function triggerUserLogin( $user, $password, $retval ) {
+ return self::getInstance()->triggerUserLogin( $user, $password, $retval );
+ }
+
+ static function injectUserLogin( &$template ) {
+ return self::getInstance()->injectUserLogin( $template );
+ }
+
+ static function confirmUserLogin( $u, $pass, &$retval ) {
+ return self::getInstance()->confirmUserLogin( $u, $pass, $retval );
+ }
+
+ static function injectEmailUser( &$form ) {
+ return self::getInstance()->injectEmailUser( $form );
+ }
+
+ static function confirmEmailUser( $from, $to, $subject, $text, &$error ) {
+ return self::getInstance()->confirmEmailUser( $from, $to, $subject, $text, $error );
+ }
+
+ // Default $flags to 1 for backwards-compatible behavior
+ public static function APIGetAllowedParams( &$module, &$params, $flags = 1 ) {
+ return self::getInstance()->APIGetAllowedParams( $module, $params, $flags );
+ }
+
+ public static function APIGetParamDescription( &$module, &$desc ) {
+ return self::getInstance()->APIGetParamDescription( $module, $desc );
+ }
+
+ /**
+ * Hook to add PHPUnit test cases.
+ * @see https://www.mediawiki.org/wiki/Manual:Hooks/UnitTestsList
+ *
+ * @param array &$files
+ * @return boolean
+ */
+ public static function onUnitTestsList( array &$files ) {
+ // @codeCoverageIgnoreStart
+ $directoryIterator = new RecursiveDirectoryIterator( dirname( __DIR__ ) . '/tests/' );
+
+ /**
+ * @var SplFileInfo $fileInfo
+ */
+ $ourFiles = array();
+ foreach ( new RecursiveIteratorIterator( $directoryIterator ) as $fileInfo ) {
+ if ( substr( $fileInfo->getFilename(), -8 ) === 'Test.php' ) {
+ $ourFiles[] = $fileInfo->getPathname();
+ }
+ }
+
+ $files = array_merge( $files, $ourFiles );
+ return true;
+ // @codeCoverageIgnoreEnd
+ }
+
+ /**
+ * Set up $wgWhitelistRead
+ */
+ public static function confirmEditSetup() {
+ global $wgGroupPermissions, $wgCaptchaTriggers, $wgWikimediaJenkinsCI;
+
+ // There is no need to run (core) tests with enabled ConfirmEdit - bug T44145
+ if ( isset( $wgWikimediaJenkinsCI ) && $wgWikimediaJenkinsCI === true ) {
+ $wgCaptchaTriggers = false;
+ }
+
+ if ( !$wgGroupPermissions['*']['read'] && $wgCaptchaTriggers['badlogin'] ) {
+ // We need to ensure that the captcha interface is accessible
+ // so that unauthenticated users can actually get in after a
+ // mistaken password typing.
+ global $wgWhitelistRead;
+ $image = SpecialPage::getTitleFor( 'Captcha', 'image' );
+ $help = SpecialPage::getTitleFor( 'Captcha', 'help' );
+ $wgWhitelistRead[] = $image->getPrefixedText();
+ $wgWhitelistRead[] = $help->getPrefixedText();
+ }
+ }
+ /**
+ * Callback for extension.json of FancyCaptcha to set a default captcha directory,
+ * which depends on wgUploadDirectory
+ */
+ public static function onFancyCaptchaSetup() {
+ global $wgCaptchaDirectory, $wgUploadDirectory;
+ if ( !$wgCaptchaDirectory ) {
+ $wgCaptchaDirectory = "$wgUploadDirectory/captcha";
+ }
+ }
+ /**
+ * Callback for extension.json of ReCaptcha to require the recaptcha library php file.
+ * FIXME: This should be done in a better way, e.g. only load the libraray, if really needed.
+ */
+ public static function onReCaptchaSetup() {
+ require_once( "ReCaptcha/recaptchalib.php" );
+ }
+}
diff --git a/extensions/ConfirmEdit/includes/specials/SpecialCaptcha.php b/extensions/ConfirmEdit/includes/specials/SpecialCaptcha.php
new file mode 100644
index 00000000..63305791
--- /dev/null
+++ b/extensions/ConfirmEdit/includes/specials/SpecialCaptcha.php
@@ -0,0 +1,22 @@
+<?php
+class CaptchaSpecialPage extends UnlistedSpecialPage {
+ public function __construct() {
+ parent::__construct( 'Captcha' );
+ }
+
+ function execute( $par ) {
+ $this->setHeaders();
+
+ $instance = ConfirmEditHooks::getInstance();
+
+ switch( $par ) {
+ case "image":
+ if ( method_exists( $instance, 'showImage' ) ) {
+ return $instance->showImage();
+ }
+ case "help":
+ default:
+ return $instance->showHelp();
+ }
+ }
+}
diff --git a/extensions/ConfirmEdit/tests/QuestyCaptchaTest.php b/extensions/ConfirmEdit/tests/QuestyCaptchaTest.php
new file mode 100644
index 00000000..44755415
--- /dev/null
+++ b/extensions/ConfirmEdit/tests/QuestyCaptchaTest.php
@@ -0,0 +1,49 @@
+<?php
+
+class QuestyCaptchaTest extends MediaWikiTestCase {
+ /**
+ * @covers QuestyCaptcha::getCaptcha
+ * @dataProvider provideGetCaptcha
+ */
+ public function testGetCaptcha( $config, $expected ) {
+
+ # setMwGlobals() requires $wgCaptchaQuestion to be set
+ if ( !isset( $GLOBALS['wgCaptchaQuestions'] ) ) {
+ $GLOBALS['wgCaptchaQuestions'] = array();
+ }
+ $this->setMwGlobals( 'wgCaptchaQuestions', $config );
+ $this->mergeMwGlobalArrayValue(
+ 'wgAutoloadClasses',
+ array( 'QuestyCaptcha' => __DIR__ . '/../QuestyCaptcha/QuestyCaptcha.class.php' )
+ );
+
+ $qc = new QuestyCaptcha();
+ $this->assertEquals( $expected, $qc->getCaptcha() );
+ }
+
+ public static function provideGetCaptcha() {
+ return array(
+ array(
+ array(
+ array(
+ 'question' => 'FooBar',
+ 'answer' => 'Answer!',
+ ),
+ ),
+ array(
+ 'question' => 'FooBar',
+ 'answer' => 'Answer!',
+ ),
+ ),
+ array(
+ array(
+ 'FooBar' => 'Answer!',
+ ),
+ array(
+ 'question' => 'FooBar',
+ 'answer' => 'Answer!',
+ ),
+ )
+ );
+ }
+}