Florianschmidtwelzow has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/212560

Change subject: Move i18n to Captcha modules own directory
......................................................................

Move i18n to Captcha modules own directory

1. change in preparation for ExtensionRegistration.

Bug: T88047
Change-Id: Ia3b84d3cb71832749ae73774dadb292dc4b9157b
---
D ConfirmEdit.i18n.php
M ConfirmEdit.php
M FancyCaptcha.php
R FancyCaptcha/i18n/aeb-latn.json
R FancyCaptcha/i18n/af.json
R FancyCaptcha/i18n/aln.json
R FancyCaptcha/i18n/am.json
R FancyCaptcha/i18n/an.json
R FancyCaptcha/i18n/ang.json
R FancyCaptcha/i18n/ar.json
R FancyCaptcha/i18n/arq.json
R FancyCaptcha/i18n/arz.json
R FancyCaptcha/i18n/as.json
R FancyCaptcha/i18n/ast.json
R FancyCaptcha/i18n/awa.json
R FancyCaptcha/i18n/az.json
R FancyCaptcha/i18n/azb.json
R FancyCaptcha/i18n/ba.json
R FancyCaptcha/i18n/bcc.json
R FancyCaptcha/i18n/bcl.json
R FancyCaptcha/i18n/be-tarask.json
R FancyCaptcha/i18n/be.json
R FancyCaptcha/i18n/bg.json
R FancyCaptcha/i18n/bgn.json
R FancyCaptcha/i18n/bn.json
R FancyCaptcha/i18n/br.json
R FancyCaptcha/i18n/bs.json
R FancyCaptcha/i18n/ca.json
R FancyCaptcha/i18n/cdo.json
R FancyCaptcha/i18n/ce.json
R FancyCaptcha/i18n/ckb.json
R FancyCaptcha/i18n/cs.json
R FancyCaptcha/i18n/cu.json
R FancyCaptcha/i18n/cv.json
R FancyCaptcha/i18n/cy.json
R FancyCaptcha/i18n/da.json
R FancyCaptcha/i18n/de-formal.json
R FancyCaptcha/i18n/de.json
R FancyCaptcha/i18n/diq.json
R FancyCaptcha/i18n/dsb.json
R FancyCaptcha/i18n/el.json
R FancyCaptcha/i18n/en.json
R FancyCaptcha/i18n/eo.json
R FancyCaptcha/i18n/es.json
R FancyCaptcha/i18n/et.json
R FancyCaptcha/i18n/eu.json
R FancyCaptcha/i18n/fa.json
R FancyCaptcha/i18n/fi.json
R FancyCaptcha/i18n/fo.json
R FancyCaptcha/i18n/fr.json
R FancyCaptcha/i18n/frp.json
R FancyCaptcha/i18n/frr.json
R FancyCaptcha/i18n/fy.json
R FancyCaptcha/i18n/ga.json
R FancyCaptcha/i18n/gl.json
R FancyCaptcha/i18n/gom-deva.json
R FancyCaptcha/i18n/gsw.json
R FancyCaptcha/i18n/gu.json
R FancyCaptcha/i18n/he.json
R FancyCaptcha/i18n/hi.json
R FancyCaptcha/i18n/hr.json
R FancyCaptcha/i18n/hsb.json
R FancyCaptcha/i18n/ht.json
R FancyCaptcha/i18n/hu.json
R FancyCaptcha/i18n/hy.json
R FancyCaptcha/i18n/ia.json
R FancyCaptcha/i18n/id.json
R FancyCaptcha/i18n/ilo.json
R FancyCaptcha/i18n/is.json
R FancyCaptcha/i18n/it.json
R FancyCaptcha/i18n/ja.json
R FancyCaptcha/i18n/jut.json
R FancyCaptcha/i18n/jv.json
R FancyCaptcha/i18n/ka.json
R FancyCaptcha/i18n/kaa.json
R FancyCaptcha/i18n/khw.json
R FancyCaptcha/i18n/kk-arab.json
R FancyCaptcha/i18n/kk-cyrl.json
R FancyCaptcha/i18n/kk-latn.json
R FancyCaptcha/i18n/km.json
R FancyCaptcha/i18n/kn.json
R FancyCaptcha/i18n/ko.json
R FancyCaptcha/i18n/krc.json
R FancyCaptcha/i18n/ksh.json
R FancyCaptcha/i18n/ku-latn.json
R FancyCaptcha/i18n/kw.json
R FancyCaptcha/i18n/ky.json
R FancyCaptcha/i18n/la.json
R FancyCaptcha/i18n/lb.json
R FancyCaptcha/i18n/li.json
R FancyCaptcha/i18n/lo.json
R FancyCaptcha/i18n/lrc.json
R FancyCaptcha/i18n/lt.json
R FancyCaptcha/i18n/lv.json
R FancyCaptcha/i18n/mai.json
R FancyCaptcha/i18n/min.json
R FancyCaptcha/i18n/mk.json
R FancyCaptcha/i18n/ml.json
R FancyCaptcha/i18n/mr.json
R FancyCaptcha/i18n/ms.json
R FancyCaptcha/i18n/mt.json
R FancyCaptcha/i18n/nap.json
R FancyCaptcha/i18n/nb.json
R FancyCaptcha/i18n/nds-nl.json
R FancyCaptcha/i18n/nds.json
R FancyCaptcha/i18n/ne.json
R FancyCaptcha/i18n/nl-informal.json
R FancyCaptcha/i18n/nl.json
R FancyCaptcha/i18n/nn.json
R FancyCaptcha/i18n/oc.json
R FancyCaptcha/i18n/or.json
R FancyCaptcha/i18n/pa.json
R FancyCaptcha/i18n/pfl.json
R FancyCaptcha/i18n/pl.json
R FancyCaptcha/i18n/pms.json
R FancyCaptcha/i18n/pnb.json
R FancyCaptcha/i18n/ps.json
R FancyCaptcha/i18n/pt-br.json
R FancyCaptcha/i18n/pt.json
R FancyCaptcha/i18n/qqq.json
R FancyCaptcha/i18n/qu.json
R FancyCaptcha/i18n/rm.json
R FancyCaptcha/i18n/ro.json
R FancyCaptcha/i18n/roa-tara.json
R FancyCaptcha/i18n/ru.json
R FancyCaptcha/i18n/rue.json
R FancyCaptcha/i18n/sa.json
R FancyCaptcha/i18n/sah.json
R FancyCaptcha/i18n/scn.json
R FancyCaptcha/i18n/si.json
R FancyCaptcha/i18n/sk.json
R FancyCaptcha/i18n/sl.json
R FancyCaptcha/i18n/so.json
R FancyCaptcha/i18n/sq.json
R FancyCaptcha/i18n/sr-ec.json
R FancyCaptcha/i18n/sr-el.json
R FancyCaptcha/i18n/stq.json
R FancyCaptcha/i18n/su.json
R FancyCaptcha/i18n/sv.json
R FancyCaptcha/i18n/szl.json
R FancyCaptcha/i18n/ta.json
R FancyCaptcha/i18n/tcy.json
R FancyCaptcha/i18n/te.json
R FancyCaptcha/i18n/tg-cyrl.json
R FancyCaptcha/i18n/tg-latn.json
R FancyCaptcha/i18n/th.json
R FancyCaptcha/i18n/tk.json
R FancyCaptcha/i18n/tl.json
R FancyCaptcha/i18n/tr.json
R FancyCaptcha/i18n/tt-cyrl.json
R FancyCaptcha/i18n/uk.json
R FancyCaptcha/i18n/ur.json
R FancyCaptcha/i18n/uz.json
R FancyCaptcha/i18n/vec.json
R FancyCaptcha/i18n/vi.json
R FancyCaptcha/i18n/vo.json
R FancyCaptcha/i18n/vro.json
R FancyCaptcha/i18n/wa.json
R FancyCaptcha/i18n/xmf.json
R FancyCaptcha/i18n/yi.json
R FancyCaptcha/i18n/yo.json
R FancyCaptcha/i18n/yue.json
R FancyCaptcha/i18n/zh-hans.json
R FancyCaptcha/i18n/zh-hant.json
M MathCaptcha.php
M QuestyCaptcha.php
R QuestyCaptcha/i18n/aln.json
R QuestyCaptcha/i18n/ar.json
R QuestyCaptcha/i18n/ast.json
R QuestyCaptcha/i18n/ba.json
R QuestyCaptcha/i18n/be-tarask.json
R QuestyCaptcha/i18n/br.json
R QuestyCaptcha/i18n/bs.json
R QuestyCaptcha/i18n/ca.json
R QuestyCaptcha/i18n/cs.json
R QuestyCaptcha/i18n/cy.json
R QuestyCaptcha/i18n/de-formal.json
R QuestyCaptcha/i18n/de.json
R QuestyCaptcha/i18n/dsb.json
R QuestyCaptcha/i18n/el.json
R QuestyCaptcha/i18n/en.json
R QuestyCaptcha/i18n/eo.json
R QuestyCaptcha/i18n/es.json
R QuestyCaptcha/i18n/et.json
R QuestyCaptcha/i18n/eu.json
R QuestyCaptcha/i18n/fa.json
R QuestyCaptcha/i18n/fi.json
R QuestyCaptcha/i18n/fr.json
R QuestyCaptcha/i18n/gl.json
R QuestyCaptcha/i18n/gsw.json
R QuestyCaptcha/i18n/he.json
R QuestyCaptcha/i18n/hsb.json
R QuestyCaptcha/i18n/hu.json
R QuestyCaptcha/i18n/ia.json
R QuestyCaptcha/i18n/id.json
R QuestyCaptcha/i18n/ilo.json
R QuestyCaptcha/i18n/it.json
R QuestyCaptcha/i18n/ja.json
R QuestyCaptcha/i18n/ko.json
R QuestyCaptcha/i18n/ksh.json
R QuestyCaptcha/i18n/lb.json
R QuestyCaptcha/i18n/min.json
R QuestyCaptcha/i18n/mk.json
R QuestyCaptcha/i18n/ml.json
R QuestyCaptcha/i18n/ms.json
R QuestyCaptcha/i18n/mt.json
R QuestyCaptcha/i18n/nb.json
R QuestyCaptcha/i18n/nl-informal.json
R QuestyCaptcha/i18n/nl.json
R QuestyCaptcha/i18n/nn.json
R QuestyCaptcha/i18n/oc.json
R QuestyCaptcha/i18n/pl.json
R QuestyCaptcha/i18n/pms.json
R QuestyCaptcha/i18n/pt-br.json
R QuestyCaptcha/i18n/pt.json
R QuestyCaptcha/i18n/qqq.json
R QuestyCaptcha/i18n/ro.json
R QuestyCaptcha/i18n/roa-tara.json
R QuestyCaptcha/i18n/ru.json
R QuestyCaptcha/i18n/sk.json
R QuestyCaptcha/i18n/sl.json
R QuestyCaptcha/i18n/so.json
R QuestyCaptcha/i18n/sr-ec.json
R QuestyCaptcha/i18n/sr-el.json
R QuestyCaptcha/i18n/sv.json
R QuestyCaptcha/i18n/te.json
R QuestyCaptcha/i18n/th.json
R QuestyCaptcha/i18n/tl.json
R QuestyCaptcha/i18n/tr.json
R QuestyCaptcha/i18n/uk.json
R QuestyCaptcha/i18n/wa.json
R QuestyCaptcha/i18n/yi.json
R QuestyCaptcha/i18n/zh-hans.json
R QuestyCaptcha/i18n/zh-hant.json
M ReCaptcha.php
R ReCaptcha/i18n/ar.json
R ReCaptcha/i18n/ast.json
R ReCaptcha/i18n/be-tarask.json
R ReCaptcha/i18n/br.json
R ReCaptcha/i18n/bs.json
R ReCaptcha/i18n/cs.json
R ReCaptcha/i18n/cy.json
R ReCaptcha/i18n/de-formal.json
R ReCaptcha/i18n/de.json
R ReCaptcha/i18n/dsb.json
R ReCaptcha/i18n/en.json
R ReCaptcha/i18n/es.json
R ReCaptcha/i18n/fa.json
R ReCaptcha/i18n/fi.json
R ReCaptcha/i18n/fr.json
R ReCaptcha/i18n/gl.json
R ReCaptcha/i18n/gsw.json
R ReCaptcha/i18n/he.json
R ReCaptcha/i18n/hsb.json
R ReCaptcha/i18n/ia.json
R ReCaptcha/i18n/id.json
R ReCaptcha/i18n/it.json
R ReCaptcha/i18n/ja.json
R ReCaptcha/i18n/ko.json
R ReCaptcha/i18n/ksh.json
R ReCaptcha/i18n/lb.json
R ReCaptcha/i18n/mk.json
R ReCaptcha/i18n/ms.json
R ReCaptcha/i18n/mt.json
R ReCaptcha/i18n/nb.json
R ReCaptcha/i18n/nl-informal.json
R ReCaptcha/i18n/nl.json
R ReCaptcha/i18n/oc.json
R ReCaptcha/i18n/pl.json
R ReCaptcha/i18n/pms.json
R ReCaptcha/i18n/pt-br.json
R ReCaptcha/i18n/pt.json
R ReCaptcha/i18n/qqq.json
R ReCaptcha/i18n/roa-tara.json
R ReCaptcha/i18n/ru.json
R ReCaptcha/i18n/si.json
R ReCaptcha/i18n/sr-ec.json
R ReCaptcha/i18n/sr-el.json
R ReCaptcha/i18n/sv.json
R ReCaptcha/i18n/sw.json
R ReCaptcha/i18n/te.json
R ReCaptcha/i18n/tl.json
R ReCaptcha/i18n/uk.json
R ReCaptcha/i18n/vi.json
R ReCaptcha/i18n/zh-hans.json
R ReCaptcha/i18n/zh-hant.json
R i18n/ace.json
R i18n/aeb-latn.json
R i18n/af.json
R i18n/aln.json
R i18n/am.json
R i18n/an.json
R i18n/ang.json
R i18n/ar.json
R i18n/arq.json
R i18n/arz.json
R i18n/as.json
R i18n/ast.json
R i18n/awa.json
R i18n/az.json
R i18n/azb.json
R i18n/ba.json
R i18n/bcc.json
R i18n/bcl.json
R i18n/be-tarask.json
R i18n/be.json
R i18n/bg.json
R i18n/bgn.json
R i18n/bho.json
R i18n/bn.json
R i18n/br.json
R i18n/bs.json
R i18n/ca.json
R i18n/cdo.json
R i18n/ce.json
R i18n/ckb.json
R i18n/cs.json
R i18n/cv.json
R i18n/cy.json
R i18n/da.json
R i18n/de-formal.json
R i18n/de.json
R i18n/diq.json
R i18n/dsb.json
R i18n/ee.json
R i18n/el.json
R i18n/en-ca.json
R i18n/en-gb.json
R i18n/en.json
R i18n/eo.json
R i18n/es.json
R i18n/et.json
R i18n/eu.json
R i18n/fa.json
R i18n/fi.json
R i18n/fo.json
R i18n/fr.json
R i18n/frp.json
R i18n/frr.json
R i18n/fur.json
R i18n/fy.json
R i18n/ga.json
R i18n/gl.json
R i18n/gom-deva.json
R i18n/grc.json
R i18n/gsw.json
R i18n/gu.json
R i18n/he.json
R i18n/hi.json
R i18n/hr.json
R i18n/hsb.json
R i18n/ht.json
R i18n/hu.json
R i18n/hy.json
R i18n/ia.json
R i18n/id.json
R i18n/ilo.json
R i18n/is.json
R i18n/it.json
R i18n/ja.json
R i18n/jut.json
R i18n/jv.json
R i18n/ka.json
R i18n/kaa.json
R i18n/khw.json
R i18n/kk-arab.json
R i18n/kk-cyrl.json
R i18n/kk-latn.json
R i18n/km.json
R i18n/kn.json
R i18n/ko.json
R i18n/krc.json
R i18n/ksh.json
R i18n/ku-latn.json
R i18n/kw.json
R i18n/ky.json
R i18n/la.json
R i18n/lad.json
R i18n/lb.json
R i18n/li.json
R i18n/lo.json
R i18n/lrc.json
R i18n/lt.json
R i18n/lv.json
R i18n/mai.json
R i18n/mg.json
R i18n/min.json
R i18n/mk.json
R i18n/ml.json
R i18n/mn.json
R i18n/mr.json
R i18n/ms.json
R i18n/mt.json
R i18n/nah.json
R i18n/nan.json
R i18n/nap.json
R i18n/nb.json
R i18n/nds-nl.json
R i18n/nds.json
R i18n/ne.json
R i18n/nl-informal.json
R i18n/nl.json
R i18n/nn.json
R i18n/oc.json
R i18n/or.json
R i18n/os.json
R i18n/pa.json
R i18n/pam.json
R i18n/pdc.json
R i18n/pfl.json
R i18n/pl.json
R i18n/pms.json
R i18n/pnb.json
R i18n/ps.json
R i18n/pt-br.json
R i18n/pt.json
R i18n/qqq.json
R i18n/qu.json
R i18n/ro.json
R i18n/roa-tara.json
R i18n/ru.json
R i18n/rue.json
R i18n/sa.json
R i18n/sah.json
R i18n/scn.json
R i18n/sco.json
R i18n/sh.json
R i18n/shn.json
R i18n/si.json
R i18n/sk.json
R i18n/sl.json
R i18n/sq.json
R i18n/sr-ec.json
R i18n/sr-el.json
R i18n/stq.json
R i18n/su.json
R i18n/sv.json
R i18n/sw.json
R i18n/szl.json
R i18n/ta.json
R i18n/tcy.json
R i18n/te.json
R i18n/tg-cyrl.json
R i18n/tg-latn.json
R i18n/th.json
R i18n/tk.json
R i18n/tl.json
R i18n/tr.json
R i18n/tru.json
R i18n/uk.json
R i18n/ur.json
R i18n/vec.json
R i18n/vi.json
R i18n/vo.json
R i18n/vro.json
R i18n/wa.json
R i18n/yi.json
R i18n/yo.json
R i18n/yue.json
R i18n/zh-hans.json
R i18n/zh-hant.json
461 files changed, 23 insertions(+), 63 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ConfirmEdit 
refs/changes/60/212560/1

diff --git a/ConfirmEdit.i18n.php b/ConfirmEdit.i18n.php
deleted file mode 100644
index 0d33097..0000000
--- a/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/ConfirmEdit.php b/ConfirmEdit.php
index 1bd4faa..6788ca7 100644
--- a/ConfirmEdit.php
+++ b/ConfirmEdit.php
@@ -177,10 +177,8 @@
 /** 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['EditPageBeforeEditButtons'][] = 'ConfirmEditHooks::confirmEditPage';
 $wgHooks['UserCreateForm'][] = 'ConfirmEditHooks::injectUserCreate';
@@ -203,12 +201,12 @@
 $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";
+$wgAutoloadClasses['ConfirmEditHooks'] = __DIR__ . '/ConfirmEditHooks.php';
+$wgAutoloadClasses['SimpleCaptcha'] = __DIR__ . '/Captcha.php';
+$wgAutoloadClasses['CaptchaStore'] = __DIR__ . '/CaptchaStore.php';
+$wgAutoloadClasses['CaptchaSessionStore'] = __DIR__ . '/CaptchaStore.php';
+$wgAutoloadClasses['CaptchaCacheStore'] = __DIR__ . '/CaptchaStore.php';
+$wgAutoloadClasses['CaptchaSpecialPage'] = __DIR__ . '/ConfirmEditHooks.php';
 
 /**
  * Set up $wgWhitelistRead
diff --git a/FancyCaptcha.php b/FancyCaptcha.php
index ada19dd..dd81858 100644
--- a/FancyCaptcha.php
+++ b/FancyCaptcha.php
@@ -29,8 +29,7 @@
        exit;
 }
 
-$dir = __DIR__;
-require_once $dir . '/ConfirmEdit.php';
+require_once __DIR__ . '/ConfirmEdit.php';
 $wgCaptchaClass = 'FancyCaptcha';
 
 /**
@@ -56,20 +55,20 @@
  */
 $wgCaptchaDeleteOnSolve = false;
 
-$wgMessagesDirs['FancyCaptcha'] = __DIR__ . '/i18n/fancy';
-$wgExtensionMessagesFiles['FancyCaptcha'] = $dir . '/FancyCaptcha.i18n.php';
-$wgAutoloadClasses['FancyCaptcha'] = $dir . '/FancyCaptcha.class.php';
+$wgMessagesDirs['FancyCaptcha'] = __DIR__ . '/FancyCaptcha/i18n';
+$wgExtensionMessagesFiles['FancyCaptcha'] = __DIR__ . '/FancyCaptcha.i18n.php';
+$wgAutoloadClasses['FancyCaptcha'] = __DIR__ . '/FancyCaptcha.class.php';
 
 $wgResourceModules['ext.confirmEdit.fancyCaptcha.styles'] = array(
        'position' => 'top',
-       'localBasePath' => $dir . '/resources',
+       'localBasePath' => __DIR__ . '/resources',
        'remoteExtPath' => 'ConfirmEdit/resources',
        'targets' => array( 'mobile', 'desktop' ),
        'styles' => 'ext.confirmEdit.fancyCaptcha.css',
 );
 
 $wgResourceModules['ext.confirmEdit.fancyCaptcha'] = array(
-       'localBasePath' => $dir . '/resources',
+       'localBasePath' => __DIR__ . '/resources',
        'remoteExtPath' => 'ConfirmEdit/resources',
        'scripts' => 'ext.confirmEdit.fancyCaptcha.js',
        'dependencies' => 'mediawiki.api',
@@ -78,12 +77,12 @@
 // 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',
+       'localBasePath' => __DIR__ . '/resources',
        'remoteExtPath' => 'ConfirmEdit/resources',
        'scripts' => 'ext.confirmEdit.fancyCaptcha.js',
        'targets' => array( 'mobile', 'desktop' ),
        'dependencies' => 'mobile.startup',
 );
 
-$wgAutoloadClasses['ApiFancyCaptchaReload'] = $dir . 
'/ApiFancyCaptchaReload.php';
+$wgAutoloadClasses['ApiFancyCaptchaReload'] = __DIR__ . 
'/ApiFancyCaptchaReload.php';
 $wgAPIModules['fancycaptchareload'] = 'ApiFancyCaptchaReload';
diff --git a/i18n/fancy/aeb-latn.json b/FancyCaptcha/i18n/aeb-latn.json
similarity index 100%
rename from i18n/fancy/aeb-latn.json
rename to FancyCaptcha/i18n/aeb-latn.json
diff --git a/i18n/fancy/af.json b/FancyCaptcha/i18n/af.json
similarity index 100%
rename from i18n/fancy/af.json
rename to FancyCaptcha/i18n/af.json
diff --git a/i18n/fancy/aln.json b/FancyCaptcha/i18n/aln.json
similarity index 100%
rename from i18n/fancy/aln.json
rename to FancyCaptcha/i18n/aln.json
diff --git a/i18n/fancy/am.json b/FancyCaptcha/i18n/am.json
similarity index 100%
rename from i18n/fancy/am.json
rename to FancyCaptcha/i18n/am.json
diff --git a/i18n/fancy/an.json b/FancyCaptcha/i18n/an.json
similarity index 100%
rename from i18n/fancy/an.json
rename to FancyCaptcha/i18n/an.json
diff --git a/i18n/fancy/ang.json b/FancyCaptcha/i18n/ang.json
similarity index 100%
rename from i18n/fancy/ang.json
rename to FancyCaptcha/i18n/ang.json
diff --git a/i18n/fancy/ar.json b/FancyCaptcha/i18n/ar.json
similarity index 100%
rename from i18n/fancy/ar.json
rename to FancyCaptcha/i18n/ar.json
diff --git a/i18n/fancy/arq.json b/FancyCaptcha/i18n/arq.json
similarity index 100%
rename from i18n/fancy/arq.json
rename to FancyCaptcha/i18n/arq.json
diff --git a/i18n/fancy/arz.json b/FancyCaptcha/i18n/arz.json
similarity index 100%
rename from i18n/fancy/arz.json
rename to FancyCaptcha/i18n/arz.json
diff --git a/i18n/fancy/as.json b/FancyCaptcha/i18n/as.json
similarity index 100%
rename from i18n/fancy/as.json
rename to FancyCaptcha/i18n/as.json
diff --git a/i18n/fancy/ast.json b/FancyCaptcha/i18n/ast.json
similarity index 100%
rename from i18n/fancy/ast.json
rename to FancyCaptcha/i18n/ast.json
diff --git a/i18n/fancy/awa.json b/FancyCaptcha/i18n/awa.json
similarity index 100%
rename from i18n/fancy/awa.json
rename to FancyCaptcha/i18n/awa.json
diff --git a/i18n/fancy/az.json b/FancyCaptcha/i18n/az.json
similarity index 100%
rename from i18n/fancy/az.json
rename to FancyCaptcha/i18n/az.json
diff --git a/i18n/fancy/azb.json b/FancyCaptcha/i18n/azb.json
similarity index 100%
rename from i18n/fancy/azb.json
rename to FancyCaptcha/i18n/azb.json
diff --git a/i18n/fancy/ba.json b/FancyCaptcha/i18n/ba.json
similarity index 100%
rename from i18n/fancy/ba.json
rename to FancyCaptcha/i18n/ba.json
diff --git a/i18n/fancy/bcc.json b/FancyCaptcha/i18n/bcc.json
similarity index 100%
rename from i18n/fancy/bcc.json
rename to FancyCaptcha/i18n/bcc.json
diff --git a/i18n/fancy/bcl.json b/FancyCaptcha/i18n/bcl.json
similarity index 100%
rename from i18n/fancy/bcl.json
rename to FancyCaptcha/i18n/bcl.json
diff --git a/i18n/fancy/be-tarask.json b/FancyCaptcha/i18n/be-tarask.json
similarity index 100%
rename from i18n/fancy/be-tarask.json
rename to FancyCaptcha/i18n/be-tarask.json
diff --git a/i18n/fancy/be.json b/FancyCaptcha/i18n/be.json
similarity index 100%
rename from i18n/fancy/be.json
rename to FancyCaptcha/i18n/be.json
diff --git a/i18n/fancy/bg.json b/FancyCaptcha/i18n/bg.json
similarity index 100%
rename from i18n/fancy/bg.json
rename to FancyCaptcha/i18n/bg.json
diff --git a/i18n/fancy/bgn.json b/FancyCaptcha/i18n/bgn.json
similarity index 100%
rename from i18n/fancy/bgn.json
rename to FancyCaptcha/i18n/bgn.json
diff --git a/i18n/fancy/bn.json b/FancyCaptcha/i18n/bn.json
similarity index 100%
rename from i18n/fancy/bn.json
rename to FancyCaptcha/i18n/bn.json
diff --git a/i18n/fancy/br.json b/FancyCaptcha/i18n/br.json
similarity index 100%
rename from i18n/fancy/br.json
rename to FancyCaptcha/i18n/br.json
diff --git a/i18n/fancy/bs.json b/FancyCaptcha/i18n/bs.json
similarity index 100%
rename from i18n/fancy/bs.json
rename to FancyCaptcha/i18n/bs.json
diff --git a/i18n/fancy/ca.json b/FancyCaptcha/i18n/ca.json
similarity index 100%
rename from i18n/fancy/ca.json
rename to FancyCaptcha/i18n/ca.json
diff --git a/i18n/fancy/cdo.json b/FancyCaptcha/i18n/cdo.json
similarity index 100%
rename from i18n/fancy/cdo.json
rename to FancyCaptcha/i18n/cdo.json
diff --git a/i18n/fancy/ce.json b/FancyCaptcha/i18n/ce.json
similarity index 100%
rename from i18n/fancy/ce.json
rename to FancyCaptcha/i18n/ce.json
diff --git a/i18n/fancy/ckb.json b/FancyCaptcha/i18n/ckb.json
similarity index 100%
rename from i18n/fancy/ckb.json
rename to FancyCaptcha/i18n/ckb.json
diff --git a/i18n/fancy/cs.json b/FancyCaptcha/i18n/cs.json
similarity index 100%
rename from i18n/fancy/cs.json
rename to FancyCaptcha/i18n/cs.json
diff --git a/i18n/fancy/cu.json b/FancyCaptcha/i18n/cu.json
similarity index 100%
rename from i18n/fancy/cu.json
rename to FancyCaptcha/i18n/cu.json
diff --git a/i18n/fancy/cv.json b/FancyCaptcha/i18n/cv.json
similarity index 100%
rename from i18n/fancy/cv.json
rename to FancyCaptcha/i18n/cv.json
diff --git a/i18n/fancy/cy.json b/FancyCaptcha/i18n/cy.json
similarity index 100%
rename from i18n/fancy/cy.json
rename to FancyCaptcha/i18n/cy.json
diff --git a/i18n/fancy/da.json b/FancyCaptcha/i18n/da.json
similarity index 100%
rename from i18n/fancy/da.json
rename to FancyCaptcha/i18n/da.json
diff --git a/i18n/fancy/de-formal.json b/FancyCaptcha/i18n/de-formal.json
similarity index 100%
rename from i18n/fancy/de-formal.json
rename to FancyCaptcha/i18n/de-formal.json
diff --git a/i18n/fancy/de.json b/FancyCaptcha/i18n/de.json
similarity index 100%
rename from i18n/fancy/de.json
rename to FancyCaptcha/i18n/de.json
diff --git a/i18n/fancy/diq.json b/FancyCaptcha/i18n/diq.json
similarity index 100%
rename from i18n/fancy/diq.json
rename to FancyCaptcha/i18n/diq.json
diff --git a/i18n/fancy/dsb.json b/FancyCaptcha/i18n/dsb.json
similarity index 100%
rename from i18n/fancy/dsb.json
rename to FancyCaptcha/i18n/dsb.json
diff --git a/i18n/fancy/el.json b/FancyCaptcha/i18n/el.json
similarity index 100%
rename from i18n/fancy/el.json
rename to FancyCaptcha/i18n/el.json
diff --git a/i18n/fancy/en.json b/FancyCaptcha/i18n/en.json
similarity index 100%
rename from i18n/fancy/en.json
rename to FancyCaptcha/i18n/en.json
diff --git a/i18n/fancy/eo.json b/FancyCaptcha/i18n/eo.json
similarity index 100%
rename from i18n/fancy/eo.json
rename to FancyCaptcha/i18n/eo.json
diff --git a/i18n/fancy/es.json b/FancyCaptcha/i18n/es.json
similarity index 100%
rename from i18n/fancy/es.json
rename to FancyCaptcha/i18n/es.json
diff --git a/i18n/fancy/et.json b/FancyCaptcha/i18n/et.json
similarity index 100%
rename from i18n/fancy/et.json
rename to FancyCaptcha/i18n/et.json
diff --git a/i18n/fancy/eu.json b/FancyCaptcha/i18n/eu.json
similarity index 100%
rename from i18n/fancy/eu.json
rename to FancyCaptcha/i18n/eu.json
diff --git a/i18n/fancy/fa.json b/FancyCaptcha/i18n/fa.json
similarity index 100%
rename from i18n/fancy/fa.json
rename to FancyCaptcha/i18n/fa.json
diff --git a/i18n/fancy/fi.json b/FancyCaptcha/i18n/fi.json
similarity index 100%
rename from i18n/fancy/fi.json
rename to FancyCaptcha/i18n/fi.json
diff --git a/i18n/fancy/fo.json b/FancyCaptcha/i18n/fo.json
similarity index 100%
rename from i18n/fancy/fo.json
rename to FancyCaptcha/i18n/fo.json
diff --git a/i18n/fancy/fr.json b/FancyCaptcha/i18n/fr.json
similarity index 100%
rename from i18n/fancy/fr.json
rename to FancyCaptcha/i18n/fr.json
diff --git a/i18n/fancy/frp.json b/FancyCaptcha/i18n/frp.json
similarity index 100%
rename from i18n/fancy/frp.json
rename to FancyCaptcha/i18n/frp.json
diff --git a/i18n/fancy/frr.json b/FancyCaptcha/i18n/frr.json
similarity index 100%
rename from i18n/fancy/frr.json
rename to FancyCaptcha/i18n/frr.json
diff --git a/i18n/fancy/fy.json b/FancyCaptcha/i18n/fy.json
similarity index 100%
rename from i18n/fancy/fy.json
rename to FancyCaptcha/i18n/fy.json
diff --git a/i18n/fancy/ga.json b/FancyCaptcha/i18n/ga.json
similarity index 100%
rename from i18n/fancy/ga.json
rename to FancyCaptcha/i18n/ga.json
diff --git a/i18n/fancy/gl.json b/FancyCaptcha/i18n/gl.json
similarity index 100%
rename from i18n/fancy/gl.json
rename to FancyCaptcha/i18n/gl.json
diff --git a/i18n/fancy/gom-deva.json b/FancyCaptcha/i18n/gom-deva.json
similarity index 100%
rename from i18n/fancy/gom-deva.json
rename to FancyCaptcha/i18n/gom-deva.json
diff --git a/i18n/fancy/gsw.json b/FancyCaptcha/i18n/gsw.json
similarity index 100%
rename from i18n/fancy/gsw.json
rename to FancyCaptcha/i18n/gsw.json
diff --git a/i18n/fancy/gu.json b/FancyCaptcha/i18n/gu.json
similarity index 100%
rename from i18n/fancy/gu.json
rename to FancyCaptcha/i18n/gu.json
diff --git a/i18n/fancy/he.json b/FancyCaptcha/i18n/he.json
similarity index 100%
rename from i18n/fancy/he.json
rename to FancyCaptcha/i18n/he.json
diff --git a/i18n/fancy/hi.json b/FancyCaptcha/i18n/hi.json
similarity index 100%
rename from i18n/fancy/hi.json
rename to FancyCaptcha/i18n/hi.json
diff --git a/i18n/fancy/hr.json b/FancyCaptcha/i18n/hr.json
similarity index 100%
rename from i18n/fancy/hr.json
rename to FancyCaptcha/i18n/hr.json
diff --git a/i18n/fancy/hsb.json b/FancyCaptcha/i18n/hsb.json
similarity index 100%
rename from i18n/fancy/hsb.json
rename to FancyCaptcha/i18n/hsb.json
diff --git a/i18n/fancy/ht.json b/FancyCaptcha/i18n/ht.json
similarity index 100%
rename from i18n/fancy/ht.json
rename to FancyCaptcha/i18n/ht.json
diff --git a/i18n/fancy/hu.json b/FancyCaptcha/i18n/hu.json
similarity index 100%
rename from i18n/fancy/hu.json
rename to FancyCaptcha/i18n/hu.json
diff --git a/i18n/fancy/hy.json b/FancyCaptcha/i18n/hy.json
similarity index 100%
rename from i18n/fancy/hy.json
rename to FancyCaptcha/i18n/hy.json
diff --git a/i18n/fancy/ia.json b/FancyCaptcha/i18n/ia.json
similarity index 100%
rename from i18n/fancy/ia.json
rename to FancyCaptcha/i18n/ia.json
diff --git a/i18n/fancy/id.json b/FancyCaptcha/i18n/id.json
similarity index 100%
rename from i18n/fancy/id.json
rename to FancyCaptcha/i18n/id.json
diff --git a/i18n/fancy/ilo.json b/FancyCaptcha/i18n/ilo.json
similarity index 100%
rename from i18n/fancy/ilo.json
rename to FancyCaptcha/i18n/ilo.json
diff --git a/i18n/fancy/is.json b/FancyCaptcha/i18n/is.json
similarity index 100%
rename from i18n/fancy/is.json
rename to FancyCaptcha/i18n/is.json
diff --git a/i18n/fancy/it.json b/FancyCaptcha/i18n/it.json
similarity index 100%
rename from i18n/fancy/it.json
rename to FancyCaptcha/i18n/it.json
diff --git a/i18n/fancy/ja.json b/FancyCaptcha/i18n/ja.json
similarity index 100%
rename from i18n/fancy/ja.json
rename to FancyCaptcha/i18n/ja.json
diff --git a/i18n/fancy/jut.json b/FancyCaptcha/i18n/jut.json
similarity index 100%
rename from i18n/fancy/jut.json
rename to FancyCaptcha/i18n/jut.json
diff --git a/i18n/fancy/jv.json b/FancyCaptcha/i18n/jv.json
similarity index 100%
rename from i18n/fancy/jv.json
rename to FancyCaptcha/i18n/jv.json
diff --git a/i18n/fancy/ka.json b/FancyCaptcha/i18n/ka.json
similarity index 100%
rename from i18n/fancy/ka.json
rename to FancyCaptcha/i18n/ka.json
diff --git a/i18n/fancy/kaa.json b/FancyCaptcha/i18n/kaa.json
similarity index 100%
rename from i18n/fancy/kaa.json
rename to FancyCaptcha/i18n/kaa.json
diff --git a/i18n/fancy/khw.json b/FancyCaptcha/i18n/khw.json
similarity index 100%
rename from i18n/fancy/khw.json
rename to FancyCaptcha/i18n/khw.json
diff --git a/i18n/fancy/kk-arab.json b/FancyCaptcha/i18n/kk-arab.json
similarity index 100%
rename from i18n/fancy/kk-arab.json
rename to FancyCaptcha/i18n/kk-arab.json
diff --git a/i18n/fancy/kk-cyrl.json b/FancyCaptcha/i18n/kk-cyrl.json
similarity index 100%
rename from i18n/fancy/kk-cyrl.json
rename to FancyCaptcha/i18n/kk-cyrl.json
diff --git a/i18n/fancy/kk-latn.json b/FancyCaptcha/i18n/kk-latn.json
similarity index 100%
rename from i18n/fancy/kk-latn.json
rename to FancyCaptcha/i18n/kk-latn.json
diff --git a/i18n/fancy/km.json b/FancyCaptcha/i18n/km.json
similarity index 100%
rename from i18n/fancy/km.json
rename to FancyCaptcha/i18n/km.json
diff --git a/i18n/fancy/kn.json b/FancyCaptcha/i18n/kn.json
similarity index 100%
rename from i18n/fancy/kn.json
rename to FancyCaptcha/i18n/kn.json
diff --git a/i18n/fancy/ko.json b/FancyCaptcha/i18n/ko.json
similarity index 100%
rename from i18n/fancy/ko.json
rename to FancyCaptcha/i18n/ko.json
diff --git a/i18n/fancy/krc.json b/FancyCaptcha/i18n/krc.json
similarity index 100%
rename from i18n/fancy/krc.json
rename to FancyCaptcha/i18n/krc.json
diff --git a/i18n/fancy/ksh.json b/FancyCaptcha/i18n/ksh.json
similarity index 100%
rename from i18n/fancy/ksh.json
rename to FancyCaptcha/i18n/ksh.json
diff --git a/i18n/fancy/ku-latn.json b/FancyCaptcha/i18n/ku-latn.json
similarity index 100%
rename from i18n/fancy/ku-latn.json
rename to FancyCaptcha/i18n/ku-latn.json
diff --git a/i18n/fancy/kw.json b/FancyCaptcha/i18n/kw.json
similarity index 100%
rename from i18n/fancy/kw.json
rename to FancyCaptcha/i18n/kw.json
diff --git a/i18n/fancy/ky.json b/FancyCaptcha/i18n/ky.json
similarity index 100%
rename from i18n/fancy/ky.json
rename to FancyCaptcha/i18n/ky.json
diff --git a/i18n/fancy/la.json b/FancyCaptcha/i18n/la.json
similarity index 100%
rename from i18n/fancy/la.json
rename to FancyCaptcha/i18n/la.json
diff --git a/i18n/fancy/lb.json b/FancyCaptcha/i18n/lb.json
similarity index 100%
rename from i18n/fancy/lb.json
rename to FancyCaptcha/i18n/lb.json
diff --git a/i18n/fancy/li.json b/FancyCaptcha/i18n/li.json
similarity index 100%
rename from i18n/fancy/li.json
rename to FancyCaptcha/i18n/li.json
diff --git a/i18n/fancy/lo.json b/FancyCaptcha/i18n/lo.json
similarity index 100%
rename from i18n/fancy/lo.json
rename to FancyCaptcha/i18n/lo.json
diff --git a/i18n/fancy/lrc.json b/FancyCaptcha/i18n/lrc.json
similarity index 100%
rename from i18n/fancy/lrc.json
rename to FancyCaptcha/i18n/lrc.json
diff --git a/i18n/fancy/lt.json b/FancyCaptcha/i18n/lt.json
similarity index 100%
rename from i18n/fancy/lt.json
rename to FancyCaptcha/i18n/lt.json
diff --git a/i18n/fancy/lv.json b/FancyCaptcha/i18n/lv.json
similarity index 100%
rename from i18n/fancy/lv.json
rename to FancyCaptcha/i18n/lv.json
diff --git a/i18n/fancy/mai.json b/FancyCaptcha/i18n/mai.json
similarity index 100%
rename from i18n/fancy/mai.json
rename to FancyCaptcha/i18n/mai.json
diff --git a/i18n/fancy/min.json b/FancyCaptcha/i18n/min.json
similarity index 100%
rename from i18n/fancy/min.json
rename to FancyCaptcha/i18n/min.json
diff --git a/i18n/fancy/mk.json b/FancyCaptcha/i18n/mk.json
similarity index 100%
rename from i18n/fancy/mk.json
rename to FancyCaptcha/i18n/mk.json
diff --git a/i18n/fancy/ml.json b/FancyCaptcha/i18n/ml.json
similarity index 100%
rename from i18n/fancy/ml.json
rename to FancyCaptcha/i18n/ml.json
diff --git a/i18n/fancy/mr.json b/FancyCaptcha/i18n/mr.json
similarity index 100%
rename from i18n/fancy/mr.json
rename to FancyCaptcha/i18n/mr.json
diff --git a/i18n/fancy/ms.json b/FancyCaptcha/i18n/ms.json
similarity index 100%
rename from i18n/fancy/ms.json
rename to FancyCaptcha/i18n/ms.json
diff --git a/i18n/fancy/mt.json b/FancyCaptcha/i18n/mt.json
similarity index 100%
rename from i18n/fancy/mt.json
rename to FancyCaptcha/i18n/mt.json
diff --git a/i18n/fancy/nap.json b/FancyCaptcha/i18n/nap.json
similarity index 100%
rename from i18n/fancy/nap.json
rename to FancyCaptcha/i18n/nap.json
diff --git a/i18n/fancy/nb.json b/FancyCaptcha/i18n/nb.json
similarity index 100%
rename from i18n/fancy/nb.json
rename to FancyCaptcha/i18n/nb.json
diff --git a/i18n/fancy/nds-nl.json b/FancyCaptcha/i18n/nds-nl.json
similarity index 100%
rename from i18n/fancy/nds-nl.json
rename to FancyCaptcha/i18n/nds-nl.json
diff --git a/i18n/fancy/nds.json b/FancyCaptcha/i18n/nds.json
similarity index 100%
rename from i18n/fancy/nds.json
rename to FancyCaptcha/i18n/nds.json
diff --git a/i18n/fancy/ne.json b/FancyCaptcha/i18n/ne.json
similarity index 100%
rename from i18n/fancy/ne.json
rename to FancyCaptcha/i18n/ne.json
diff --git a/i18n/fancy/nl-informal.json b/FancyCaptcha/i18n/nl-informal.json
similarity index 100%
rename from i18n/fancy/nl-informal.json
rename to FancyCaptcha/i18n/nl-informal.json
diff --git a/i18n/fancy/nl.json b/FancyCaptcha/i18n/nl.json
similarity index 100%
rename from i18n/fancy/nl.json
rename to FancyCaptcha/i18n/nl.json
diff --git a/i18n/fancy/nn.json b/FancyCaptcha/i18n/nn.json
similarity index 100%
rename from i18n/fancy/nn.json
rename to FancyCaptcha/i18n/nn.json
diff --git a/i18n/fancy/oc.json b/FancyCaptcha/i18n/oc.json
similarity index 100%
rename from i18n/fancy/oc.json
rename to FancyCaptcha/i18n/oc.json
diff --git a/i18n/fancy/or.json b/FancyCaptcha/i18n/or.json
similarity index 100%
rename from i18n/fancy/or.json
rename to FancyCaptcha/i18n/or.json
diff --git a/i18n/fancy/pa.json b/FancyCaptcha/i18n/pa.json
similarity index 100%
rename from i18n/fancy/pa.json
rename to FancyCaptcha/i18n/pa.json
diff --git a/i18n/fancy/pfl.json b/FancyCaptcha/i18n/pfl.json
similarity index 100%
rename from i18n/fancy/pfl.json
rename to FancyCaptcha/i18n/pfl.json
diff --git a/i18n/fancy/pl.json b/FancyCaptcha/i18n/pl.json
similarity index 100%
rename from i18n/fancy/pl.json
rename to FancyCaptcha/i18n/pl.json
diff --git a/i18n/fancy/pms.json b/FancyCaptcha/i18n/pms.json
similarity index 100%
rename from i18n/fancy/pms.json
rename to FancyCaptcha/i18n/pms.json
diff --git a/i18n/fancy/pnb.json b/FancyCaptcha/i18n/pnb.json
similarity index 100%
rename from i18n/fancy/pnb.json
rename to FancyCaptcha/i18n/pnb.json
diff --git a/i18n/fancy/ps.json b/FancyCaptcha/i18n/ps.json
similarity index 100%
rename from i18n/fancy/ps.json
rename to FancyCaptcha/i18n/ps.json
diff --git a/i18n/fancy/pt-br.json b/FancyCaptcha/i18n/pt-br.json
similarity index 100%
rename from i18n/fancy/pt-br.json
rename to FancyCaptcha/i18n/pt-br.json
diff --git a/i18n/fancy/pt.json b/FancyCaptcha/i18n/pt.json
similarity index 100%
rename from i18n/fancy/pt.json
rename to FancyCaptcha/i18n/pt.json
diff --git a/i18n/fancy/qqq.json b/FancyCaptcha/i18n/qqq.json
similarity index 100%
rename from i18n/fancy/qqq.json
rename to FancyCaptcha/i18n/qqq.json
diff --git a/i18n/fancy/qu.json b/FancyCaptcha/i18n/qu.json
similarity index 100%
rename from i18n/fancy/qu.json
rename to FancyCaptcha/i18n/qu.json
diff --git a/i18n/fancy/rm.json b/FancyCaptcha/i18n/rm.json
similarity index 100%
rename from i18n/fancy/rm.json
rename to FancyCaptcha/i18n/rm.json
diff --git a/i18n/fancy/ro.json b/FancyCaptcha/i18n/ro.json
similarity index 100%
rename from i18n/fancy/ro.json
rename to FancyCaptcha/i18n/ro.json
diff --git a/i18n/fancy/roa-tara.json b/FancyCaptcha/i18n/roa-tara.json
similarity index 100%
rename from i18n/fancy/roa-tara.json
rename to FancyCaptcha/i18n/roa-tara.json
diff --git a/i18n/fancy/ru.json b/FancyCaptcha/i18n/ru.json
similarity index 100%
rename from i18n/fancy/ru.json
rename to FancyCaptcha/i18n/ru.json
diff --git a/i18n/fancy/rue.json b/FancyCaptcha/i18n/rue.json
similarity index 100%
rename from i18n/fancy/rue.json
rename to FancyCaptcha/i18n/rue.json
diff --git a/i18n/fancy/sa.json b/FancyCaptcha/i18n/sa.json
similarity index 100%
rename from i18n/fancy/sa.json
rename to FancyCaptcha/i18n/sa.json
diff --git a/i18n/fancy/sah.json b/FancyCaptcha/i18n/sah.json
similarity index 100%
rename from i18n/fancy/sah.json
rename to FancyCaptcha/i18n/sah.json
diff --git a/i18n/fancy/scn.json b/FancyCaptcha/i18n/scn.json
similarity index 100%
rename from i18n/fancy/scn.json
rename to FancyCaptcha/i18n/scn.json
diff --git a/i18n/fancy/si.json b/FancyCaptcha/i18n/si.json
similarity index 100%
rename from i18n/fancy/si.json
rename to FancyCaptcha/i18n/si.json
diff --git a/i18n/fancy/sk.json b/FancyCaptcha/i18n/sk.json
similarity index 100%
rename from i18n/fancy/sk.json
rename to FancyCaptcha/i18n/sk.json
diff --git a/i18n/fancy/sl.json b/FancyCaptcha/i18n/sl.json
similarity index 100%
rename from i18n/fancy/sl.json
rename to FancyCaptcha/i18n/sl.json
diff --git a/i18n/fancy/so.json b/FancyCaptcha/i18n/so.json
similarity index 100%
rename from i18n/fancy/so.json
rename to FancyCaptcha/i18n/so.json
diff --git a/i18n/fancy/sq.json b/FancyCaptcha/i18n/sq.json
similarity index 100%
rename from i18n/fancy/sq.json
rename to FancyCaptcha/i18n/sq.json
diff --git a/i18n/fancy/sr-ec.json b/FancyCaptcha/i18n/sr-ec.json
similarity index 100%
rename from i18n/fancy/sr-ec.json
rename to FancyCaptcha/i18n/sr-ec.json
diff --git a/i18n/fancy/sr-el.json b/FancyCaptcha/i18n/sr-el.json
similarity index 100%
rename from i18n/fancy/sr-el.json
rename to FancyCaptcha/i18n/sr-el.json
diff --git a/i18n/fancy/stq.json b/FancyCaptcha/i18n/stq.json
similarity index 100%
rename from i18n/fancy/stq.json
rename to FancyCaptcha/i18n/stq.json
diff --git a/i18n/fancy/su.json b/FancyCaptcha/i18n/su.json
similarity index 100%
rename from i18n/fancy/su.json
rename to FancyCaptcha/i18n/su.json
diff --git a/i18n/fancy/sv.json b/FancyCaptcha/i18n/sv.json
similarity index 100%
rename from i18n/fancy/sv.json
rename to FancyCaptcha/i18n/sv.json
diff --git a/i18n/fancy/szl.json b/FancyCaptcha/i18n/szl.json
similarity index 100%
rename from i18n/fancy/szl.json
rename to FancyCaptcha/i18n/szl.json
diff --git a/i18n/fancy/ta.json b/FancyCaptcha/i18n/ta.json
similarity index 100%
rename from i18n/fancy/ta.json
rename to FancyCaptcha/i18n/ta.json
diff --git a/i18n/fancy/tcy.json b/FancyCaptcha/i18n/tcy.json
similarity index 100%
rename from i18n/fancy/tcy.json
rename to FancyCaptcha/i18n/tcy.json
diff --git a/i18n/fancy/te.json b/FancyCaptcha/i18n/te.json
similarity index 100%
rename from i18n/fancy/te.json
rename to FancyCaptcha/i18n/te.json
diff --git a/i18n/fancy/tg-cyrl.json b/FancyCaptcha/i18n/tg-cyrl.json
similarity index 100%
rename from i18n/fancy/tg-cyrl.json
rename to FancyCaptcha/i18n/tg-cyrl.json
diff --git a/i18n/fancy/tg-latn.json b/FancyCaptcha/i18n/tg-latn.json
similarity index 100%
rename from i18n/fancy/tg-latn.json
rename to FancyCaptcha/i18n/tg-latn.json
diff --git a/i18n/fancy/th.json b/FancyCaptcha/i18n/th.json
similarity index 100%
rename from i18n/fancy/th.json
rename to FancyCaptcha/i18n/th.json
diff --git a/i18n/fancy/tk.json b/FancyCaptcha/i18n/tk.json
similarity index 100%
rename from i18n/fancy/tk.json
rename to FancyCaptcha/i18n/tk.json
diff --git a/i18n/fancy/tl.json b/FancyCaptcha/i18n/tl.json
similarity index 100%
rename from i18n/fancy/tl.json
rename to FancyCaptcha/i18n/tl.json
diff --git a/i18n/fancy/tr.json b/FancyCaptcha/i18n/tr.json
similarity index 100%
rename from i18n/fancy/tr.json
rename to FancyCaptcha/i18n/tr.json
diff --git a/i18n/fancy/tt-cyrl.json b/FancyCaptcha/i18n/tt-cyrl.json
similarity index 100%
rename from i18n/fancy/tt-cyrl.json
rename to FancyCaptcha/i18n/tt-cyrl.json
diff --git a/i18n/fancy/uk.json b/FancyCaptcha/i18n/uk.json
similarity index 100%
rename from i18n/fancy/uk.json
rename to FancyCaptcha/i18n/uk.json
diff --git a/i18n/fancy/ur.json b/FancyCaptcha/i18n/ur.json
similarity index 100%
rename from i18n/fancy/ur.json
rename to FancyCaptcha/i18n/ur.json
diff --git a/i18n/fancy/uz.json b/FancyCaptcha/i18n/uz.json
similarity index 100%
rename from i18n/fancy/uz.json
rename to FancyCaptcha/i18n/uz.json
diff --git a/i18n/fancy/vec.json b/FancyCaptcha/i18n/vec.json
similarity index 100%
rename from i18n/fancy/vec.json
rename to FancyCaptcha/i18n/vec.json
diff --git a/i18n/fancy/vi.json b/FancyCaptcha/i18n/vi.json
similarity index 100%
rename from i18n/fancy/vi.json
rename to FancyCaptcha/i18n/vi.json
diff --git a/i18n/fancy/vo.json b/FancyCaptcha/i18n/vo.json
similarity index 100%
rename from i18n/fancy/vo.json
rename to FancyCaptcha/i18n/vo.json
diff --git a/i18n/fancy/vro.json b/FancyCaptcha/i18n/vro.json
similarity index 100%
rename from i18n/fancy/vro.json
rename to FancyCaptcha/i18n/vro.json
diff --git a/i18n/fancy/wa.json b/FancyCaptcha/i18n/wa.json
similarity index 100%
rename from i18n/fancy/wa.json
rename to FancyCaptcha/i18n/wa.json
diff --git a/i18n/fancy/xmf.json b/FancyCaptcha/i18n/xmf.json
similarity index 100%
rename from i18n/fancy/xmf.json
rename to FancyCaptcha/i18n/xmf.json
diff --git a/i18n/fancy/yi.json b/FancyCaptcha/i18n/yi.json
similarity index 100%
rename from i18n/fancy/yi.json
rename to FancyCaptcha/i18n/yi.json
diff --git a/i18n/fancy/yo.json b/FancyCaptcha/i18n/yo.json
similarity index 100%
rename from i18n/fancy/yo.json
rename to FancyCaptcha/i18n/yo.json
diff --git a/i18n/fancy/yue.json b/FancyCaptcha/i18n/yue.json
similarity index 100%
rename from i18n/fancy/yue.json
rename to FancyCaptcha/i18n/yue.json
diff --git a/i18n/fancy/zh-hans.json b/FancyCaptcha/i18n/zh-hans.json
similarity index 100%
rename from i18n/fancy/zh-hans.json
rename to FancyCaptcha/i18n/zh-hans.json
diff --git a/i18n/fancy/zh-hant.json b/FancyCaptcha/i18n/zh-hant.json
similarity index 100%
rename from i18n/fancy/zh-hant.json
rename to FancyCaptcha/i18n/zh-hant.json
diff --git a/MathCaptcha.php b/MathCaptcha.php
index d1eb44e..7bfb493 100644
--- a/MathCaptcha.php
+++ b/MathCaptcha.php
@@ -15,8 +15,7 @@
        exit;
 }
 
-$dir = __DIR__;
-require_once $dir . '/ConfirmEdit.php';
+require_once __DIR__ . '/ConfirmEdit.php';
 $wgCaptchaClass = 'MathCaptcha';
 
-$wgAutoloadClasses['MathCaptcha'] = $dir . '/MathCaptcha.class.php';
+$wgAutoloadClasses['MathCaptcha'] = __DIR__ . '/MathCaptcha.class.php';
diff --git a/QuestyCaptcha.php b/QuestyCaptcha.php
index 19b1baa..1951ac6 100644
--- a/QuestyCaptcha.php
+++ b/QuestyCaptcha.php
@@ -43,6 +43,6 @@
 );
 */
 
-$wgMessagesDirs['QuestyCaptcha'] = __DIR__ . '/i18n/questy';
+$wgMessagesDirs['QuestyCaptcha'] = __DIR__ . '/QuestyCaptcha/i18n';
 $wgExtensionMessagesFiles['QuestyCaptcha'] = __DIR__ . 
'/QuestyCaptcha.i18n.php';
 $wgAutoloadClasses['QuestyCaptcha'] = __DIR__ . '/QuestyCaptcha.class.php';
diff --git a/i18n/questy/aln.json b/QuestyCaptcha/i18n/aln.json
similarity index 100%
rename from i18n/questy/aln.json
rename to QuestyCaptcha/i18n/aln.json
diff --git a/i18n/questy/ar.json b/QuestyCaptcha/i18n/ar.json
similarity index 100%
rename from i18n/questy/ar.json
rename to QuestyCaptcha/i18n/ar.json
diff --git a/i18n/questy/ast.json b/QuestyCaptcha/i18n/ast.json
similarity index 100%
rename from i18n/questy/ast.json
rename to QuestyCaptcha/i18n/ast.json
diff --git a/i18n/questy/ba.json b/QuestyCaptcha/i18n/ba.json
similarity index 100%
rename from i18n/questy/ba.json
rename to QuestyCaptcha/i18n/ba.json
diff --git a/i18n/questy/be-tarask.json b/QuestyCaptcha/i18n/be-tarask.json
similarity index 100%
rename from i18n/questy/be-tarask.json
rename to QuestyCaptcha/i18n/be-tarask.json
diff --git a/i18n/questy/br.json b/QuestyCaptcha/i18n/br.json
similarity index 100%
rename from i18n/questy/br.json
rename to QuestyCaptcha/i18n/br.json
diff --git a/i18n/questy/bs.json b/QuestyCaptcha/i18n/bs.json
similarity index 100%
rename from i18n/questy/bs.json
rename to QuestyCaptcha/i18n/bs.json
diff --git a/i18n/questy/ca.json b/QuestyCaptcha/i18n/ca.json
similarity index 100%
rename from i18n/questy/ca.json
rename to QuestyCaptcha/i18n/ca.json
diff --git a/i18n/questy/cs.json b/QuestyCaptcha/i18n/cs.json
similarity index 100%
rename from i18n/questy/cs.json
rename to QuestyCaptcha/i18n/cs.json
diff --git a/i18n/questy/cy.json b/QuestyCaptcha/i18n/cy.json
similarity index 100%
rename from i18n/questy/cy.json
rename to QuestyCaptcha/i18n/cy.json
diff --git a/i18n/questy/de-formal.json b/QuestyCaptcha/i18n/de-formal.json
similarity index 100%
rename from i18n/questy/de-formal.json
rename to QuestyCaptcha/i18n/de-formal.json
diff --git a/i18n/questy/de.json b/QuestyCaptcha/i18n/de.json
similarity index 100%
rename from i18n/questy/de.json
rename to QuestyCaptcha/i18n/de.json
diff --git a/i18n/questy/dsb.json b/QuestyCaptcha/i18n/dsb.json
similarity index 100%
rename from i18n/questy/dsb.json
rename to QuestyCaptcha/i18n/dsb.json
diff --git a/i18n/questy/el.json b/QuestyCaptcha/i18n/el.json
similarity index 100%
rename from i18n/questy/el.json
rename to QuestyCaptcha/i18n/el.json
diff --git a/i18n/questy/en.json b/QuestyCaptcha/i18n/en.json
similarity index 100%
rename from i18n/questy/en.json
rename to QuestyCaptcha/i18n/en.json
diff --git a/i18n/questy/eo.json b/QuestyCaptcha/i18n/eo.json
similarity index 100%
rename from i18n/questy/eo.json
rename to QuestyCaptcha/i18n/eo.json
diff --git a/i18n/questy/es.json b/QuestyCaptcha/i18n/es.json
similarity index 100%
rename from i18n/questy/es.json
rename to QuestyCaptcha/i18n/es.json
diff --git a/i18n/questy/et.json b/QuestyCaptcha/i18n/et.json
similarity index 100%
rename from i18n/questy/et.json
rename to QuestyCaptcha/i18n/et.json
diff --git a/i18n/questy/eu.json b/QuestyCaptcha/i18n/eu.json
similarity index 100%
rename from i18n/questy/eu.json
rename to QuestyCaptcha/i18n/eu.json
diff --git a/i18n/questy/fa.json b/QuestyCaptcha/i18n/fa.json
similarity index 100%
rename from i18n/questy/fa.json
rename to QuestyCaptcha/i18n/fa.json
diff --git a/i18n/questy/fi.json b/QuestyCaptcha/i18n/fi.json
similarity index 100%
rename from i18n/questy/fi.json
rename to QuestyCaptcha/i18n/fi.json
diff --git a/i18n/questy/fr.json b/QuestyCaptcha/i18n/fr.json
similarity index 100%
rename from i18n/questy/fr.json
rename to QuestyCaptcha/i18n/fr.json
diff --git a/i18n/questy/gl.json b/QuestyCaptcha/i18n/gl.json
similarity index 100%
rename from i18n/questy/gl.json
rename to QuestyCaptcha/i18n/gl.json
diff --git a/i18n/questy/gsw.json b/QuestyCaptcha/i18n/gsw.json
similarity index 100%
rename from i18n/questy/gsw.json
rename to QuestyCaptcha/i18n/gsw.json
diff --git a/i18n/questy/he.json b/QuestyCaptcha/i18n/he.json
similarity index 100%
rename from i18n/questy/he.json
rename to QuestyCaptcha/i18n/he.json
diff --git a/i18n/questy/hsb.json b/QuestyCaptcha/i18n/hsb.json
similarity index 100%
rename from i18n/questy/hsb.json
rename to QuestyCaptcha/i18n/hsb.json
diff --git a/i18n/questy/hu.json b/QuestyCaptcha/i18n/hu.json
similarity index 100%
rename from i18n/questy/hu.json
rename to QuestyCaptcha/i18n/hu.json
diff --git a/i18n/questy/ia.json b/QuestyCaptcha/i18n/ia.json
similarity index 100%
rename from i18n/questy/ia.json
rename to QuestyCaptcha/i18n/ia.json
diff --git a/i18n/questy/id.json b/QuestyCaptcha/i18n/id.json
similarity index 100%
rename from i18n/questy/id.json
rename to QuestyCaptcha/i18n/id.json
diff --git a/i18n/questy/ilo.json b/QuestyCaptcha/i18n/ilo.json
similarity index 100%
rename from i18n/questy/ilo.json
rename to QuestyCaptcha/i18n/ilo.json
diff --git a/i18n/questy/it.json b/QuestyCaptcha/i18n/it.json
similarity index 100%
rename from i18n/questy/it.json
rename to QuestyCaptcha/i18n/it.json
diff --git a/i18n/questy/ja.json b/QuestyCaptcha/i18n/ja.json
similarity index 100%
rename from i18n/questy/ja.json
rename to QuestyCaptcha/i18n/ja.json
diff --git a/i18n/questy/ko.json b/QuestyCaptcha/i18n/ko.json
similarity index 100%
rename from i18n/questy/ko.json
rename to QuestyCaptcha/i18n/ko.json
diff --git a/i18n/questy/ksh.json b/QuestyCaptcha/i18n/ksh.json
similarity index 100%
rename from i18n/questy/ksh.json
rename to QuestyCaptcha/i18n/ksh.json
diff --git a/i18n/questy/lb.json b/QuestyCaptcha/i18n/lb.json
similarity index 100%
rename from i18n/questy/lb.json
rename to QuestyCaptcha/i18n/lb.json
diff --git a/i18n/questy/min.json b/QuestyCaptcha/i18n/min.json
similarity index 100%
rename from i18n/questy/min.json
rename to QuestyCaptcha/i18n/min.json
diff --git a/i18n/questy/mk.json b/QuestyCaptcha/i18n/mk.json
similarity index 100%
rename from i18n/questy/mk.json
rename to QuestyCaptcha/i18n/mk.json
diff --git a/i18n/questy/ml.json b/QuestyCaptcha/i18n/ml.json
similarity index 100%
rename from i18n/questy/ml.json
rename to QuestyCaptcha/i18n/ml.json
diff --git a/i18n/questy/ms.json b/QuestyCaptcha/i18n/ms.json
similarity index 100%
rename from i18n/questy/ms.json
rename to QuestyCaptcha/i18n/ms.json
diff --git a/i18n/questy/mt.json b/QuestyCaptcha/i18n/mt.json
similarity index 100%
rename from i18n/questy/mt.json
rename to QuestyCaptcha/i18n/mt.json
diff --git a/i18n/questy/nb.json b/QuestyCaptcha/i18n/nb.json
similarity index 100%
rename from i18n/questy/nb.json
rename to QuestyCaptcha/i18n/nb.json
diff --git a/i18n/questy/nl-informal.json b/QuestyCaptcha/i18n/nl-informal.json
similarity index 100%
rename from i18n/questy/nl-informal.json
rename to QuestyCaptcha/i18n/nl-informal.json
diff --git a/i18n/questy/nl.json b/QuestyCaptcha/i18n/nl.json
similarity index 100%
rename from i18n/questy/nl.json
rename to QuestyCaptcha/i18n/nl.json
diff --git a/i18n/questy/nn.json b/QuestyCaptcha/i18n/nn.json
similarity index 100%
rename from i18n/questy/nn.json
rename to QuestyCaptcha/i18n/nn.json
diff --git a/i18n/questy/oc.json b/QuestyCaptcha/i18n/oc.json
similarity index 100%
rename from i18n/questy/oc.json
rename to QuestyCaptcha/i18n/oc.json
diff --git a/i18n/questy/pl.json b/QuestyCaptcha/i18n/pl.json
similarity index 100%
rename from i18n/questy/pl.json
rename to QuestyCaptcha/i18n/pl.json
diff --git a/i18n/questy/pms.json b/QuestyCaptcha/i18n/pms.json
similarity index 100%
rename from i18n/questy/pms.json
rename to QuestyCaptcha/i18n/pms.json
diff --git a/i18n/questy/pt-br.json b/QuestyCaptcha/i18n/pt-br.json
similarity index 100%
rename from i18n/questy/pt-br.json
rename to QuestyCaptcha/i18n/pt-br.json
diff --git a/i18n/questy/pt.json b/QuestyCaptcha/i18n/pt.json
similarity index 100%
rename from i18n/questy/pt.json
rename to QuestyCaptcha/i18n/pt.json
diff --git a/i18n/questy/qqq.json b/QuestyCaptcha/i18n/qqq.json
similarity index 100%
rename from i18n/questy/qqq.json
rename to QuestyCaptcha/i18n/qqq.json
diff --git a/i18n/questy/ro.json b/QuestyCaptcha/i18n/ro.json
similarity index 100%
rename from i18n/questy/ro.json
rename to QuestyCaptcha/i18n/ro.json
diff --git a/i18n/questy/roa-tara.json b/QuestyCaptcha/i18n/roa-tara.json
similarity index 100%
rename from i18n/questy/roa-tara.json
rename to QuestyCaptcha/i18n/roa-tara.json
diff --git a/i18n/questy/ru.json b/QuestyCaptcha/i18n/ru.json
similarity index 100%
rename from i18n/questy/ru.json
rename to QuestyCaptcha/i18n/ru.json
diff --git a/i18n/questy/sk.json b/QuestyCaptcha/i18n/sk.json
similarity index 100%
rename from i18n/questy/sk.json
rename to QuestyCaptcha/i18n/sk.json
diff --git a/i18n/questy/sl.json b/QuestyCaptcha/i18n/sl.json
similarity index 100%
rename from i18n/questy/sl.json
rename to QuestyCaptcha/i18n/sl.json
diff --git a/i18n/questy/so.json b/QuestyCaptcha/i18n/so.json
similarity index 100%
rename from i18n/questy/so.json
rename to QuestyCaptcha/i18n/so.json
diff --git a/i18n/questy/sr-ec.json b/QuestyCaptcha/i18n/sr-ec.json
similarity index 100%
rename from i18n/questy/sr-ec.json
rename to QuestyCaptcha/i18n/sr-ec.json
diff --git a/i18n/questy/sr-el.json b/QuestyCaptcha/i18n/sr-el.json
similarity index 100%
rename from i18n/questy/sr-el.json
rename to QuestyCaptcha/i18n/sr-el.json
diff --git a/i18n/questy/sv.json b/QuestyCaptcha/i18n/sv.json
similarity index 100%
rename from i18n/questy/sv.json
rename to QuestyCaptcha/i18n/sv.json
diff --git a/i18n/questy/te.json b/QuestyCaptcha/i18n/te.json
similarity index 100%
rename from i18n/questy/te.json
rename to QuestyCaptcha/i18n/te.json
diff --git a/i18n/questy/th.json b/QuestyCaptcha/i18n/th.json
similarity index 100%
rename from i18n/questy/th.json
rename to QuestyCaptcha/i18n/th.json
diff --git a/i18n/questy/tl.json b/QuestyCaptcha/i18n/tl.json
similarity index 100%
rename from i18n/questy/tl.json
rename to QuestyCaptcha/i18n/tl.json
diff --git a/i18n/questy/tr.json b/QuestyCaptcha/i18n/tr.json
similarity index 100%
rename from i18n/questy/tr.json
rename to QuestyCaptcha/i18n/tr.json
diff --git a/i18n/questy/uk.json b/QuestyCaptcha/i18n/uk.json
similarity index 100%
rename from i18n/questy/uk.json
rename to QuestyCaptcha/i18n/uk.json
diff --git a/i18n/questy/wa.json b/QuestyCaptcha/i18n/wa.json
similarity index 100%
rename from i18n/questy/wa.json
rename to QuestyCaptcha/i18n/wa.json
diff --git a/i18n/questy/yi.json b/QuestyCaptcha/i18n/yi.json
similarity index 100%
rename from i18n/questy/yi.json
rename to QuestyCaptcha/i18n/yi.json
diff --git a/i18n/questy/zh-hans.json b/QuestyCaptcha/i18n/zh-hans.json
similarity index 100%
rename from i18n/questy/zh-hans.json
rename to QuestyCaptcha/i18n/zh-hans.json
diff --git a/i18n/questy/zh-hant.json b/QuestyCaptcha/i18n/zh-hant.json
similarity index 100%
rename from i18n/questy/zh-hant.json
rename to QuestyCaptcha/i18n/zh-hant.json
diff --git a/ReCaptcha.php b/ReCaptcha.php
index b474f98..533704e 100644
--- a/ReCaptcha.php
+++ b/ReCaptcha.php
@@ -14,14 +14,13 @@
        exit;
 }
 
-$dir = __DIR__;
-require_once $dir . '/ConfirmEdit.php';
+require_once __DIR__ . '/ConfirmEdit.php';
 $wgCaptchaClass = 'ReCaptcha';
 
-$wgMessagesDirs['ReCaptcha'] = __DIR__ . '/i18n/re';
-$wgExtensionMessagesFiles['ReCaptcha'] = $dir . '/ReCaptcha.i18n.php';
+$wgMessagesDirs['ReCaptcha'] = __DIR__ . '/ReCaptcha/i18n';
+$wgExtensionMessagesFiles['ReCaptcha'] = __DIR__ . '/ReCaptcha.i18n.php';
 
-$wgAutoloadClasses['ReCaptcha'] = $dir . '/ReCaptcha.class.php';
+$wgAutoloadClasses['ReCaptcha'] = __DIR__ . '/ReCaptcha.class.php';
 
 require_once( 'recaptchalib.php' );
 
diff --git a/i18n/re/ar.json b/ReCaptcha/i18n/ar.json
similarity index 100%
rename from i18n/re/ar.json
rename to ReCaptcha/i18n/ar.json
diff --git a/i18n/re/ast.json b/ReCaptcha/i18n/ast.json
similarity index 100%
rename from i18n/re/ast.json
rename to ReCaptcha/i18n/ast.json
diff --git a/i18n/re/be-tarask.json b/ReCaptcha/i18n/be-tarask.json
similarity index 100%
rename from i18n/re/be-tarask.json
rename to ReCaptcha/i18n/be-tarask.json
diff --git a/i18n/re/br.json b/ReCaptcha/i18n/br.json
similarity index 100%
rename from i18n/re/br.json
rename to ReCaptcha/i18n/br.json
diff --git a/i18n/re/bs.json b/ReCaptcha/i18n/bs.json
similarity index 100%
rename from i18n/re/bs.json
rename to ReCaptcha/i18n/bs.json
diff --git a/i18n/re/cs.json b/ReCaptcha/i18n/cs.json
similarity index 100%
rename from i18n/re/cs.json
rename to ReCaptcha/i18n/cs.json
diff --git a/i18n/re/cy.json b/ReCaptcha/i18n/cy.json
similarity index 100%
rename from i18n/re/cy.json
rename to ReCaptcha/i18n/cy.json
diff --git a/i18n/re/de-formal.json b/ReCaptcha/i18n/de-formal.json
similarity index 100%
rename from i18n/re/de-formal.json
rename to ReCaptcha/i18n/de-formal.json
diff --git a/i18n/re/de.json b/ReCaptcha/i18n/de.json
similarity index 100%
rename from i18n/re/de.json
rename to ReCaptcha/i18n/de.json
diff --git a/i18n/re/dsb.json b/ReCaptcha/i18n/dsb.json
similarity index 100%
rename from i18n/re/dsb.json
rename to ReCaptcha/i18n/dsb.json
diff --git a/i18n/re/en.json b/ReCaptcha/i18n/en.json
similarity index 100%
rename from i18n/re/en.json
rename to ReCaptcha/i18n/en.json
diff --git a/i18n/re/es.json b/ReCaptcha/i18n/es.json
similarity index 100%
rename from i18n/re/es.json
rename to ReCaptcha/i18n/es.json
diff --git a/i18n/re/fa.json b/ReCaptcha/i18n/fa.json
similarity index 100%
rename from i18n/re/fa.json
rename to ReCaptcha/i18n/fa.json
diff --git a/i18n/re/fi.json b/ReCaptcha/i18n/fi.json
similarity index 100%
rename from i18n/re/fi.json
rename to ReCaptcha/i18n/fi.json
diff --git a/i18n/re/fr.json b/ReCaptcha/i18n/fr.json
similarity index 100%
rename from i18n/re/fr.json
rename to ReCaptcha/i18n/fr.json
diff --git a/i18n/re/gl.json b/ReCaptcha/i18n/gl.json
similarity index 100%
rename from i18n/re/gl.json
rename to ReCaptcha/i18n/gl.json
diff --git a/i18n/re/gsw.json b/ReCaptcha/i18n/gsw.json
similarity index 100%
rename from i18n/re/gsw.json
rename to ReCaptcha/i18n/gsw.json
diff --git a/i18n/re/he.json b/ReCaptcha/i18n/he.json
similarity index 100%
rename from i18n/re/he.json
rename to ReCaptcha/i18n/he.json
diff --git a/i18n/re/hsb.json b/ReCaptcha/i18n/hsb.json
similarity index 100%
rename from i18n/re/hsb.json
rename to ReCaptcha/i18n/hsb.json
diff --git a/i18n/re/ia.json b/ReCaptcha/i18n/ia.json
similarity index 100%
rename from i18n/re/ia.json
rename to ReCaptcha/i18n/ia.json
diff --git a/i18n/re/id.json b/ReCaptcha/i18n/id.json
similarity index 100%
rename from i18n/re/id.json
rename to ReCaptcha/i18n/id.json
diff --git a/i18n/re/it.json b/ReCaptcha/i18n/it.json
similarity index 100%
rename from i18n/re/it.json
rename to ReCaptcha/i18n/it.json
diff --git a/i18n/re/ja.json b/ReCaptcha/i18n/ja.json
similarity index 100%
rename from i18n/re/ja.json
rename to ReCaptcha/i18n/ja.json
diff --git a/i18n/re/ko.json b/ReCaptcha/i18n/ko.json
similarity index 100%
rename from i18n/re/ko.json
rename to ReCaptcha/i18n/ko.json
diff --git a/i18n/re/ksh.json b/ReCaptcha/i18n/ksh.json
similarity index 100%
rename from i18n/re/ksh.json
rename to ReCaptcha/i18n/ksh.json
diff --git a/i18n/re/lb.json b/ReCaptcha/i18n/lb.json
similarity index 100%
rename from i18n/re/lb.json
rename to ReCaptcha/i18n/lb.json
diff --git a/i18n/re/mk.json b/ReCaptcha/i18n/mk.json
similarity index 100%
rename from i18n/re/mk.json
rename to ReCaptcha/i18n/mk.json
diff --git a/i18n/re/ms.json b/ReCaptcha/i18n/ms.json
similarity index 100%
rename from i18n/re/ms.json
rename to ReCaptcha/i18n/ms.json
diff --git a/i18n/re/mt.json b/ReCaptcha/i18n/mt.json
similarity index 100%
rename from i18n/re/mt.json
rename to ReCaptcha/i18n/mt.json
diff --git a/i18n/re/nb.json b/ReCaptcha/i18n/nb.json
similarity index 100%
rename from i18n/re/nb.json
rename to ReCaptcha/i18n/nb.json
diff --git a/i18n/re/nl-informal.json b/ReCaptcha/i18n/nl-informal.json
similarity index 100%
rename from i18n/re/nl-informal.json
rename to ReCaptcha/i18n/nl-informal.json
diff --git a/i18n/re/nl.json b/ReCaptcha/i18n/nl.json
similarity index 100%
rename from i18n/re/nl.json
rename to ReCaptcha/i18n/nl.json
diff --git a/i18n/re/oc.json b/ReCaptcha/i18n/oc.json
similarity index 100%
rename from i18n/re/oc.json
rename to ReCaptcha/i18n/oc.json
diff --git a/i18n/re/pl.json b/ReCaptcha/i18n/pl.json
similarity index 100%
rename from i18n/re/pl.json
rename to ReCaptcha/i18n/pl.json
diff --git a/i18n/re/pms.json b/ReCaptcha/i18n/pms.json
similarity index 100%
rename from i18n/re/pms.json
rename to ReCaptcha/i18n/pms.json
diff --git a/i18n/re/pt-br.json b/ReCaptcha/i18n/pt-br.json
similarity index 100%
rename from i18n/re/pt-br.json
rename to ReCaptcha/i18n/pt-br.json
diff --git a/i18n/re/pt.json b/ReCaptcha/i18n/pt.json
similarity index 100%
rename from i18n/re/pt.json
rename to ReCaptcha/i18n/pt.json
diff --git a/i18n/re/qqq.json b/ReCaptcha/i18n/qqq.json
similarity index 100%
rename from i18n/re/qqq.json
rename to ReCaptcha/i18n/qqq.json
diff --git a/i18n/re/roa-tara.json b/ReCaptcha/i18n/roa-tara.json
similarity index 100%
rename from i18n/re/roa-tara.json
rename to ReCaptcha/i18n/roa-tara.json
diff --git a/i18n/re/ru.json b/ReCaptcha/i18n/ru.json
similarity index 100%
rename from i18n/re/ru.json
rename to ReCaptcha/i18n/ru.json
diff --git a/i18n/re/si.json b/ReCaptcha/i18n/si.json
similarity index 100%
rename from i18n/re/si.json
rename to ReCaptcha/i18n/si.json
diff --git a/i18n/re/sr-ec.json b/ReCaptcha/i18n/sr-ec.json
similarity index 100%
rename from i18n/re/sr-ec.json
rename to ReCaptcha/i18n/sr-ec.json
diff --git a/i18n/re/sr-el.json b/ReCaptcha/i18n/sr-el.json
similarity index 100%
rename from i18n/re/sr-el.json
rename to ReCaptcha/i18n/sr-el.json
diff --git a/i18n/re/sv.json b/ReCaptcha/i18n/sv.json
similarity index 100%
rename from i18n/re/sv.json
rename to ReCaptcha/i18n/sv.json
diff --git a/i18n/re/sw.json b/ReCaptcha/i18n/sw.json
similarity index 100%
rename from i18n/re/sw.json
rename to ReCaptcha/i18n/sw.json
diff --git a/i18n/re/te.json b/ReCaptcha/i18n/te.json
similarity index 100%
rename from i18n/re/te.json
rename to ReCaptcha/i18n/te.json
diff --git a/i18n/re/tl.json b/ReCaptcha/i18n/tl.json
similarity index 100%
rename from i18n/re/tl.json
rename to ReCaptcha/i18n/tl.json
diff --git a/i18n/re/uk.json b/ReCaptcha/i18n/uk.json
similarity index 100%
rename from i18n/re/uk.json
rename to ReCaptcha/i18n/uk.json
diff --git a/i18n/re/vi.json b/ReCaptcha/i18n/vi.json
similarity index 100%
rename from i18n/re/vi.json
rename to ReCaptcha/i18n/vi.json
diff --git a/i18n/re/zh-hans.json b/ReCaptcha/i18n/zh-hans.json
similarity index 100%
rename from i18n/re/zh-hans.json
rename to ReCaptcha/i18n/zh-hans.json
diff --git a/i18n/re/zh-hant.json b/ReCaptcha/i18n/zh-hant.json
similarity index 100%
rename from i18n/re/zh-hant.json
rename to ReCaptcha/i18n/zh-hant.json
diff --git a/i18n/core/ace.json b/i18n/ace.json
similarity index 100%
rename from i18n/core/ace.json
rename to i18n/ace.json
diff --git a/i18n/core/aeb-latn.json b/i18n/aeb-latn.json
similarity index 100%
rename from i18n/core/aeb-latn.json
rename to i18n/aeb-latn.json
diff --git a/i18n/core/af.json b/i18n/af.json
similarity index 100%
rename from i18n/core/af.json
rename to i18n/af.json
diff --git a/i18n/core/aln.json b/i18n/aln.json
similarity index 100%
rename from i18n/core/aln.json
rename to i18n/aln.json
diff --git a/i18n/core/am.json b/i18n/am.json
similarity index 100%
rename from i18n/core/am.json
rename to i18n/am.json
diff --git a/i18n/core/an.json b/i18n/an.json
similarity index 100%
rename from i18n/core/an.json
rename to i18n/an.json
diff --git a/i18n/core/ang.json b/i18n/ang.json
similarity index 100%
rename from i18n/core/ang.json
rename to i18n/ang.json
diff --git a/i18n/core/ar.json b/i18n/ar.json
similarity index 100%
rename from i18n/core/ar.json
rename to i18n/ar.json
diff --git a/i18n/core/arq.json b/i18n/arq.json
similarity index 100%
rename from i18n/core/arq.json
rename to i18n/arq.json
diff --git a/i18n/core/arz.json b/i18n/arz.json
similarity index 100%
rename from i18n/core/arz.json
rename to i18n/arz.json
diff --git a/i18n/core/as.json b/i18n/as.json
similarity index 100%
rename from i18n/core/as.json
rename to i18n/as.json
diff --git a/i18n/core/ast.json b/i18n/ast.json
similarity index 100%
rename from i18n/core/ast.json
rename to i18n/ast.json
diff --git a/i18n/core/awa.json b/i18n/awa.json
similarity index 100%
rename from i18n/core/awa.json
rename to i18n/awa.json
diff --git a/i18n/core/az.json b/i18n/az.json
similarity index 100%
rename from i18n/core/az.json
rename to i18n/az.json
diff --git a/i18n/core/azb.json b/i18n/azb.json
similarity index 100%
rename from i18n/core/azb.json
rename to i18n/azb.json
diff --git a/i18n/core/ba.json b/i18n/ba.json
similarity index 100%
rename from i18n/core/ba.json
rename to i18n/ba.json
diff --git a/i18n/core/bcc.json b/i18n/bcc.json
similarity index 100%
rename from i18n/core/bcc.json
rename to i18n/bcc.json
diff --git a/i18n/core/bcl.json b/i18n/bcl.json
similarity index 100%
rename from i18n/core/bcl.json
rename to i18n/bcl.json
diff --git a/i18n/core/be-tarask.json b/i18n/be-tarask.json
similarity index 100%
rename from i18n/core/be-tarask.json
rename to i18n/be-tarask.json
diff --git a/i18n/core/be.json b/i18n/be.json
similarity index 100%
rename from i18n/core/be.json
rename to i18n/be.json
diff --git a/i18n/core/bg.json b/i18n/bg.json
similarity index 100%
rename from i18n/core/bg.json
rename to i18n/bg.json
diff --git a/i18n/core/bgn.json b/i18n/bgn.json
similarity index 100%
rename from i18n/core/bgn.json
rename to i18n/bgn.json
diff --git a/i18n/core/bho.json b/i18n/bho.json
similarity index 100%
rename from i18n/core/bho.json
rename to i18n/bho.json
diff --git a/i18n/core/bn.json b/i18n/bn.json
similarity index 100%
rename from i18n/core/bn.json
rename to i18n/bn.json
diff --git a/i18n/core/br.json b/i18n/br.json
similarity index 100%
rename from i18n/core/br.json
rename to i18n/br.json
diff --git a/i18n/core/bs.json b/i18n/bs.json
similarity index 100%
rename from i18n/core/bs.json
rename to i18n/bs.json
diff --git a/i18n/core/ca.json b/i18n/ca.json
similarity index 100%
rename from i18n/core/ca.json
rename to i18n/ca.json
diff --git a/i18n/core/cdo.json b/i18n/cdo.json
similarity index 100%
rename from i18n/core/cdo.json
rename to i18n/cdo.json
diff --git a/i18n/core/ce.json b/i18n/ce.json
similarity index 100%
rename from i18n/core/ce.json
rename to i18n/ce.json
diff --git a/i18n/core/ckb.json b/i18n/ckb.json
similarity index 100%
rename from i18n/core/ckb.json
rename to i18n/ckb.json
diff --git a/i18n/core/cs.json b/i18n/cs.json
similarity index 100%
rename from i18n/core/cs.json
rename to i18n/cs.json
diff --git a/i18n/core/cv.json b/i18n/cv.json
similarity index 100%
rename from i18n/core/cv.json
rename to i18n/cv.json
diff --git a/i18n/core/cy.json b/i18n/cy.json
similarity index 100%
rename from i18n/core/cy.json
rename to i18n/cy.json
diff --git a/i18n/core/da.json b/i18n/da.json
similarity index 100%
rename from i18n/core/da.json
rename to i18n/da.json
diff --git a/i18n/core/de-formal.json b/i18n/de-formal.json
similarity index 100%
rename from i18n/core/de-formal.json
rename to i18n/de-formal.json
diff --git a/i18n/core/de.json b/i18n/de.json
similarity index 100%
rename from i18n/core/de.json
rename to i18n/de.json
diff --git a/i18n/core/diq.json b/i18n/diq.json
similarity index 100%
rename from i18n/core/diq.json
rename to i18n/diq.json
diff --git a/i18n/core/dsb.json b/i18n/dsb.json
similarity index 100%
rename from i18n/core/dsb.json
rename to i18n/dsb.json
diff --git a/i18n/core/ee.json b/i18n/ee.json
similarity index 100%
rename from i18n/core/ee.json
rename to i18n/ee.json
diff --git a/i18n/core/el.json b/i18n/el.json
similarity index 100%
rename from i18n/core/el.json
rename to i18n/el.json
diff --git a/i18n/core/en-ca.json b/i18n/en-ca.json
similarity index 100%
rename from i18n/core/en-ca.json
rename to i18n/en-ca.json
diff --git a/i18n/core/en-gb.json b/i18n/en-gb.json
similarity index 100%
rename from i18n/core/en-gb.json
rename to i18n/en-gb.json
diff --git a/i18n/core/en.json b/i18n/en.json
similarity index 100%
rename from i18n/core/en.json
rename to i18n/en.json
diff --git a/i18n/core/eo.json b/i18n/eo.json
similarity index 100%
rename from i18n/core/eo.json
rename to i18n/eo.json
diff --git a/i18n/core/es.json b/i18n/es.json
similarity index 100%
rename from i18n/core/es.json
rename to i18n/es.json
diff --git a/i18n/core/et.json b/i18n/et.json
similarity index 100%
rename from i18n/core/et.json
rename to i18n/et.json
diff --git a/i18n/core/eu.json b/i18n/eu.json
similarity index 100%
rename from i18n/core/eu.json
rename to i18n/eu.json
diff --git a/i18n/core/fa.json b/i18n/fa.json
similarity index 100%
rename from i18n/core/fa.json
rename to i18n/fa.json
diff --git a/i18n/core/fi.json b/i18n/fi.json
similarity index 100%
rename from i18n/core/fi.json
rename to i18n/fi.json
diff --git a/i18n/core/fo.json b/i18n/fo.json
similarity index 100%
rename from i18n/core/fo.json
rename to i18n/fo.json
diff --git a/i18n/core/fr.json b/i18n/fr.json
similarity index 100%
rename from i18n/core/fr.json
rename to i18n/fr.json
diff --git a/i18n/core/frp.json b/i18n/frp.json
similarity index 100%
rename from i18n/core/frp.json
rename to i18n/frp.json
diff --git a/i18n/core/frr.json b/i18n/frr.json
similarity index 100%
rename from i18n/core/frr.json
rename to i18n/frr.json
diff --git a/i18n/core/fur.json b/i18n/fur.json
similarity index 100%
rename from i18n/core/fur.json
rename to i18n/fur.json
diff --git a/i18n/core/fy.json b/i18n/fy.json
similarity index 100%
rename from i18n/core/fy.json
rename to i18n/fy.json
diff --git a/i18n/core/ga.json b/i18n/ga.json
similarity index 100%
rename from i18n/core/ga.json
rename to i18n/ga.json
diff --git a/i18n/core/gl.json b/i18n/gl.json
similarity index 100%
rename from i18n/core/gl.json
rename to i18n/gl.json
diff --git a/i18n/core/gom-deva.json b/i18n/gom-deva.json
similarity index 100%
rename from i18n/core/gom-deva.json
rename to i18n/gom-deva.json
diff --git a/i18n/core/grc.json b/i18n/grc.json
similarity index 100%
rename from i18n/core/grc.json
rename to i18n/grc.json
diff --git a/i18n/core/gsw.json b/i18n/gsw.json
similarity index 100%
rename from i18n/core/gsw.json
rename to i18n/gsw.json
diff --git a/i18n/core/gu.json b/i18n/gu.json
similarity index 100%
rename from i18n/core/gu.json
rename to i18n/gu.json
diff --git a/i18n/core/he.json b/i18n/he.json
similarity index 100%
rename from i18n/core/he.json
rename to i18n/he.json
diff --git a/i18n/core/hi.json b/i18n/hi.json
similarity index 100%
rename from i18n/core/hi.json
rename to i18n/hi.json
diff --git a/i18n/core/hr.json b/i18n/hr.json
similarity index 100%
rename from i18n/core/hr.json
rename to i18n/hr.json
diff --git a/i18n/core/hsb.json b/i18n/hsb.json
similarity index 100%
rename from i18n/core/hsb.json
rename to i18n/hsb.json
diff --git a/i18n/core/ht.json b/i18n/ht.json
similarity index 100%
rename from i18n/core/ht.json
rename to i18n/ht.json
diff --git a/i18n/core/hu.json b/i18n/hu.json
similarity index 100%
rename from i18n/core/hu.json
rename to i18n/hu.json
diff --git a/i18n/core/hy.json b/i18n/hy.json
similarity index 100%
rename from i18n/core/hy.json
rename to i18n/hy.json
diff --git a/i18n/core/ia.json b/i18n/ia.json
similarity index 100%
rename from i18n/core/ia.json
rename to i18n/ia.json
diff --git a/i18n/core/id.json b/i18n/id.json
similarity index 100%
rename from i18n/core/id.json
rename to i18n/id.json
diff --git a/i18n/core/ilo.json b/i18n/ilo.json
similarity index 100%
rename from i18n/core/ilo.json
rename to i18n/ilo.json
diff --git a/i18n/core/is.json b/i18n/is.json
similarity index 100%
rename from i18n/core/is.json
rename to i18n/is.json
diff --git a/i18n/core/it.json b/i18n/it.json
similarity index 100%
rename from i18n/core/it.json
rename to i18n/it.json
diff --git a/i18n/core/ja.json b/i18n/ja.json
similarity index 100%
rename from i18n/core/ja.json
rename to i18n/ja.json
diff --git a/i18n/core/jut.json b/i18n/jut.json
similarity index 100%
rename from i18n/core/jut.json
rename to i18n/jut.json
diff --git a/i18n/core/jv.json b/i18n/jv.json
similarity index 100%
rename from i18n/core/jv.json
rename to i18n/jv.json
diff --git a/i18n/core/ka.json b/i18n/ka.json
similarity index 100%
rename from i18n/core/ka.json
rename to i18n/ka.json
diff --git a/i18n/core/kaa.json b/i18n/kaa.json
similarity index 100%
rename from i18n/core/kaa.json
rename to i18n/kaa.json
diff --git a/i18n/core/khw.json b/i18n/khw.json
similarity index 100%
rename from i18n/core/khw.json
rename to i18n/khw.json
diff --git a/i18n/core/kk-arab.json b/i18n/kk-arab.json
similarity index 100%
rename from i18n/core/kk-arab.json
rename to i18n/kk-arab.json
diff --git a/i18n/core/kk-cyrl.json b/i18n/kk-cyrl.json
similarity index 100%
rename from i18n/core/kk-cyrl.json
rename to i18n/kk-cyrl.json
diff --git a/i18n/core/kk-latn.json b/i18n/kk-latn.json
similarity index 100%
rename from i18n/core/kk-latn.json
rename to i18n/kk-latn.json
diff --git a/i18n/core/km.json b/i18n/km.json
similarity index 100%
rename from i18n/core/km.json
rename to i18n/km.json
diff --git a/i18n/core/kn.json b/i18n/kn.json
similarity index 100%
rename from i18n/core/kn.json
rename to i18n/kn.json
diff --git a/i18n/core/ko.json b/i18n/ko.json
similarity index 100%
rename from i18n/core/ko.json
rename to i18n/ko.json
diff --git a/i18n/core/krc.json b/i18n/krc.json
similarity index 100%
rename from i18n/core/krc.json
rename to i18n/krc.json
diff --git a/i18n/core/ksh.json b/i18n/ksh.json
similarity index 100%
rename from i18n/core/ksh.json
rename to i18n/ksh.json
diff --git a/i18n/core/ku-latn.json b/i18n/ku-latn.json
similarity index 100%
rename from i18n/core/ku-latn.json
rename to i18n/ku-latn.json
diff --git a/i18n/core/kw.json b/i18n/kw.json
similarity index 100%
rename from i18n/core/kw.json
rename to i18n/kw.json
diff --git a/i18n/core/ky.json b/i18n/ky.json
similarity index 100%
rename from i18n/core/ky.json
rename to i18n/ky.json
diff --git a/i18n/core/la.json b/i18n/la.json
similarity index 100%
rename from i18n/core/la.json
rename to i18n/la.json
diff --git a/i18n/core/lad.json b/i18n/lad.json
similarity index 100%
rename from i18n/core/lad.json
rename to i18n/lad.json
diff --git a/i18n/core/lb.json b/i18n/lb.json
similarity index 100%
rename from i18n/core/lb.json
rename to i18n/lb.json
diff --git a/i18n/core/li.json b/i18n/li.json
similarity index 100%
rename from i18n/core/li.json
rename to i18n/li.json
diff --git a/i18n/core/lo.json b/i18n/lo.json
similarity index 100%
rename from i18n/core/lo.json
rename to i18n/lo.json
diff --git a/i18n/core/lrc.json b/i18n/lrc.json
similarity index 100%
rename from i18n/core/lrc.json
rename to i18n/lrc.json
diff --git a/i18n/core/lt.json b/i18n/lt.json
similarity index 100%
rename from i18n/core/lt.json
rename to i18n/lt.json
diff --git a/i18n/core/lv.json b/i18n/lv.json
similarity index 100%
rename from i18n/core/lv.json
rename to i18n/lv.json
diff --git a/i18n/core/mai.json b/i18n/mai.json
similarity index 100%
rename from i18n/core/mai.json
rename to i18n/mai.json
diff --git a/i18n/core/mg.json b/i18n/mg.json
similarity index 100%
rename from i18n/core/mg.json
rename to i18n/mg.json
diff --git a/i18n/core/min.json b/i18n/min.json
similarity index 100%
rename from i18n/core/min.json
rename to i18n/min.json
diff --git a/i18n/core/mk.json b/i18n/mk.json
similarity index 100%
rename from i18n/core/mk.json
rename to i18n/mk.json
diff --git a/i18n/core/ml.json b/i18n/ml.json
similarity index 100%
rename from i18n/core/ml.json
rename to i18n/ml.json
diff --git a/i18n/core/mn.json b/i18n/mn.json
similarity index 100%
rename from i18n/core/mn.json
rename to i18n/mn.json
diff --git a/i18n/core/mr.json b/i18n/mr.json
similarity index 100%
rename from i18n/core/mr.json
rename to i18n/mr.json
diff --git a/i18n/core/ms.json b/i18n/ms.json
similarity index 100%
rename from i18n/core/ms.json
rename to i18n/ms.json
diff --git a/i18n/core/mt.json b/i18n/mt.json
similarity index 100%
rename from i18n/core/mt.json
rename to i18n/mt.json
diff --git a/i18n/core/nah.json b/i18n/nah.json
similarity index 100%
rename from i18n/core/nah.json
rename to i18n/nah.json
diff --git a/i18n/core/nan.json b/i18n/nan.json
similarity index 100%
rename from i18n/core/nan.json
rename to i18n/nan.json
diff --git a/i18n/core/nap.json b/i18n/nap.json
similarity index 100%
rename from i18n/core/nap.json
rename to i18n/nap.json
diff --git a/i18n/core/nb.json b/i18n/nb.json
similarity index 100%
rename from i18n/core/nb.json
rename to i18n/nb.json
diff --git a/i18n/core/nds-nl.json b/i18n/nds-nl.json
similarity index 100%
rename from i18n/core/nds-nl.json
rename to i18n/nds-nl.json
diff --git a/i18n/core/nds.json b/i18n/nds.json
similarity index 100%
rename from i18n/core/nds.json
rename to i18n/nds.json
diff --git a/i18n/core/ne.json b/i18n/ne.json
similarity index 100%
rename from i18n/core/ne.json
rename to i18n/ne.json
diff --git a/i18n/core/nl-informal.json b/i18n/nl-informal.json
similarity index 100%
rename from i18n/core/nl-informal.json
rename to i18n/nl-informal.json
diff --git a/i18n/core/nl.json b/i18n/nl.json
similarity index 100%
rename from i18n/core/nl.json
rename to i18n/nl.json
diff --git a/i18n/core/nn.json b/i18n/nn.json
similarity index 100%
rename from i18n/core/nn.json
rename to i18n/nn.json
diff --git a/i18n/core/oc.json b/i18n/oc.json
similarity index 100%
rename from i18n/core/oc.json
rename to i18n/oc.json
diff --git a/i18n/core/or.json b/i18n/or.json
similarity index 100%
rename from i18n/core/or.json
rename to i18n/or.json
diff --git a/i18n/core/os.json b/i18n/os.json
similarity index 100%
rename from i18n/core/os.json
rename to i18n/os.json
diff --git a/i18n/core/pa.json b/i18n/pa.json
similarity index 100%
rename from i18n/core/pa.json
rename to i18n/pa.json
diff --git a/i18n/core/pam.json b/i18n/pam.json
similarity index 100%
rename from i18n/core/pam.json
rename to i18n/pam.json
diff --git a/i18n/core/pdc.json b/i18n/pdc.json
similarity index 100%
rename from i18n/core/pdc.json
rename to i18n/pdc.json
diff --git a/i18n/core/pfl.json b/i18n/pfl.json
similarity index 100%
rename from i18n/core/pfl.json
rename to i18n/pfl.json
diff --git a/i18n/core/pl.json b/i18n/pl.json
similarity index 100%
rename from i18n/core/pl.json
rename to i18n/pl.json
diff --git a/i18n/core/pms.json b/i18n/pms.json
similarity index 100%
rename from i18n/core/pms.json
rename to i18n/pms.json
diff --git a/i18n/core/pnb.json b/i18n/pnb.json
similarity index 100%
rename from i18n/core/pnb.json
rename to i18n/pnb.json
diff --git a/i18n/core/ps.json b/i18n/ps.json
similarity index 100%
rename from i18n/core/ps.json
rename to i18n/ps.json
diff --git a/i18n/core/pt-br.json b/i18n/pt-br.json
similarity index 100%
rename from i18n/core/pt-br.json
rename to i18n/pt-br.json
diff --git a/i18n/core/pt.json b/i18n/pt.json
similarity index 100%
rename from i18n/core/pt.json
rename to i18n/pt.json
diff --git a/i18n/core/qqq.json b/i18n/qqq.json
similarity index 100%
rename from i18n/core/qqq.json
rename to i18n/qqq.json
diff --git a/i18n/core/qu.json b/i18n/qu.json
similarity index 100%
rename from i18n/core/qu.json
rename to i18n/qu.json
diff --git a/i18n/core/ro.json b/i18n/ro.json
similarity index 100%
rename from i18n/core/ro.json
rename to i18n/ro.json
diff --git a/i18n/core/roa-tara.json b/i18n/roa-tara.json
similarity index 100%
rename from i18n/core/roa-tara.json
rename to i18n/roa-tara.json
diff --git a/i18n/core/ru.json b/i18n/ru.json
similarity index 100%
rename from i18n/core/ru.json
rename to i18n/ru.json
diff --git a/i18n/core/rue.json b/i18n/rue.json
similarity index 100%
rename from i18n/core/rue.json
rename to i18n/rue.json
diff --git a/i18n/core/sa.json b/i18n/sa.json
similarity index 100%
rename from i18n/core/sa.json
rename to i18n/sa.json
diff --git a/i18n/core/sah.json b/i18n/sah.json
similarity index 100%
rename from i18n/core/sah.json
rename to i18n/sah.json
diff --git a/i18n/core/scn.json b/i18n/scn.json
similarity index 100%
rename from i18n/core/scn.json
rename to i18n/scn.json
diff --git a/i18n/core/sco.json b/i18n/sco.json
similarity index 100%
rename from i18n/core/sco.json
rename to i18n/sco.json
diff --git a/i18n/core/sh.json b/i18n/sh.json
similarity index 100%
rename from i18n/core/sh.json
rename to i18n/sh.json
diff --git a/i18n/core/shn.json b/i18n/shn.json
similarity index 100%
rename from i18n/core/shn.json
rename to i18n/shn.json
diff --git a/i18n/core/si.json b/i18n/si.json
similarity index 100%
rename from i18n/core/si.json
rename to i18n/si.json
diff --git a/i18n/core/sk.json b/i18n/sk.json
similarity index 100%
rename from i18n/core/sk.json
rename to i18n/sk.json
diff --git a/i18n/core/sl.json b/i18n/sl.json
similarity index 100%
rename from i18n/core/sl.json
rename to i18n/sl.json
diff --git a/i18n/core/sq.json b/i18n/sq.json
similarity index 100%
rename from i18n/core/sq.json
rename to i18n/sq.json
diff --git a/i18n/core/sr-ec.json b/i18n/sr-ec.json
similarity index 100%
rename from i18n/core/sr-ec.json
rename to i18n/sr-ec.json
diff --git a/i18n/core/sr-el.json b/i18n/sr-el.json
similarity index 100%
rename from i18n/core/sr-el.json
rename to i18n/sr-el.json
diff --git a/i18n/core/stq.json b/i18n/stq.json
similarity index 100%
rename from i18n/core/stq.json
rename to i18n/stq.json
diff --git a/i18n/core/su.json b/i18n/su.json
similarity index 100%
rename from i18n/core/su.json
rename to i18n/su.json
diff --git a/i18n/core/sv.json b/i18n/sv.json
similarity index 100%
rename from i18n/core/sv.json
rename to i18n/sv.json
diff --git a/i18n/core/sw.json b/i18n/sw.json
similarity index 100%
rename from i18n/core/sw.json
rename to i18n/sw.json
diff --git a/i18n/core/szl.json b/i18n/szl.json
similarity index 100%
rename from i18n/core/szl.json
rename to i18n/szl.json
diff --git a/i18n/core/ta.json b/i18n/ta.json
similarity index 100%
rename from i18n/core/ta.json
rename to i18n/ta.json
diff --git a/i18n/core/tcy.json b/i18n/tcy.json
similarity index 100%
rename from i18n/core/tcy.json
rename to i18n/tcy.json
diff --git a/i18n/core/te.json b/i18n/te.json
similarity index 100%
rename from i18n/core/te.json
rename to i18n/te.json
diff --git a/i18n/core/tg-cyrl.json b/i18n/tg-cyrl.json
similarity index 100%
rename from i18n/core/tg-cyrl.json
rename to i18n/tg-cyrl.json
diff --git a/i18n/core/tg-latn.json b/i18n/tg-latn.json
similarity index 100%
rename from i18n/core/tg-latn.json
rename to i18n/tg-latn.json
diff --git a/i18n/core/th.json b/i18n/th.json
similarity index 100%
rename from i18n/core/th.json
rename to i18n/th.json
diff --git a/i18n/core/tk.json b/i18n/tk.json
similarity index 100%
rename from i18n/core/tk.json
rename to i18n/tk.json
diff --git a/i18n/core/tl.json b/i18n/tl.json
similarity index 100%
rename from i18n/core/tl.json
rename to i18n/tl.json
diff --git a/i18n/core/tr.json b/i18n/tr.json
similarity index 100%
rename from i18n/core/tr.json
rename to i18n/tr.json
diff --git a/i18n/core/tru.json b/i18n/tru.json
similarity index 100%
rename from i18n/core/tru.json
rename to i18n/tru.json
diff --git a/i18n/core/uk.json b/i18n/uk.json
similarity index 100%
rename from i18n/core/uk.json
rename to i18n/uk.json
diff --git a/i18n/core/ur.json b/i18n/ur.json
similarity index 100%
rename from i18n/core/ur.json
rename to i18n/ur.json
diff --git a/i18n/core/vec.json b/i18n/vec.json
similarity index 100%
rename from i18n/core/vec.json
rename to i18n/vec.json
diff --git a/i18n/core/vi.json b/i18n/vi.json
similarity index 100%
rename from i18n/core/vi.json
rename to i18n/vi.json
diff --git a/i18n/core/vo.json b/i18n/vo.json
similarity index 100%
rename from i18n/core/vo.json
rename to i18n/vo.json
diff --git a/i18n/core/vro.json b/i18n/vro.json
similarity index 100%
rename from i18n/core/vro.json
rename to i18n/vro.json
diff --git a/i18n/core/wa.json b/i18n/wa.json
similarity index 100%
rename from i18n/core/wa.json
rename to i18n/wa.json
diff --git a/i18n/core/yi.json b/i18n/yi.json
similarity index 100%
rename from i18n/core/yi.json
rename to i18n/yi.json
diff --git a/i18n/core/yo.json b/i18n/yo.json
similarity index 100%
rename from i18n/core/yo.json
rename to i18n/yo.json
diff --git a/i18n/core/yue.json b/i18n/yue.json
similarity index 100%
rename from i18n/core/yue.json
rename to i18n/yue.json
diff --git a/i18n/core/zh-hans.json b/i18n/zh-hans.json
similarity index 100%
rename from i18n/core/zh-hans.json
rename to i18n/zh-hans.json
diff --git a/i18n/core/zh-hant.json b/i18n/zh-hant.json
similarity index 100%
rename from i18n/core/zh-hant.json
rename to i18n/zh-hant.json

-- 
To view, visit https://gerrit.wikimedia.org/r/212560
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia3b84d3cb71832749ae73774dadb292dc4b9157b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ConfirmEdit
Gerrit-Branch: master
Gerrit-Owner: Florianschmidtwelzow <florian.schmidt.wel...@t-online.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to