summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/InputBox
diff options
context:
space:
mode:
authorYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
committerYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
commitfc7369835258467bf97eb64f184b93691f9a9fd5 (patch)
treedaabd60089d2dd76d9f5fb416b005fbe159c799d /www/wiki/extensions/InputBox
first commit
Diffstat (limited to 'www/wiki/extensions/InputBox')
-rw-r--r--www/wiki/extensions/InputBox/CODE_OF_CONDUCT.md1
-rw-r--r--www/wiki/extensions/InputBox/COPYING21
-rw-r--r--www/wiki/extensions/InputBox/Gruntfile.js41
-rw-r--r--www/wiki/extensions/InputBox/InputBox.classes.php719
-rw-r--r--www/wiki/extensions/InputBox/InputBox.hooks.php90
-rw-r--r--www/wiki/extensions/InputBox/InputBox.php13
-rw-r--r--www/wiki/extensions/InputBox/composer.json23
-rw-r--r--www/wiki/extensions/InputBox/extension.json62
-rw-r--r--www/wiki/extensions/InputBox/i18n/ady-cyrl.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/af.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/ais.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/am.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/an.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/ang.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/anp.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/ar.json20
-rw-r--r--www/wiki/extensions/InputBox/i18n/arc.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/arq.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/arz.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/as.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/ast.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/atj.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/awa.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/az.json13
-rw-r--r--www/wiki/extensions/InputBox/i18n/azb.json12
-rw-r--r--www/wiki/extensions/InputBox/i18n/ba.json20
-rw-r--r--www/wiki/extensions/InputBox/i18n/bcc.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/bcl.json16
-rw-r--r--www/wiki/extensions/InputBox/i18n/be-tarask.json20
-rw-r--r--www/wiki/extensions/InputBox/i18n/be.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/bg.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/bgn.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/bho.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/bi.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/bn.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/bqi.json13
-rw-r--r--www/wiki/extensions/InputBox/i18n/br.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/bs.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/ca.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/cdo.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/ce.json16
-rw-r--r--www/wiki/extensions/InputBox/i18n/ckb.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/co.json5
-rw-r--r--www/wiki/extensions/InputBox/i18n/crh-cyrl.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/crh-latn.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/cs.json20
-rw-r--r--www/wiki/extensions/InputBox/i18n/csb.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/cu.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/cv.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/cy.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/da.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/de.json21
-rw-r--r--www/wiki/extensions/InputBox/i18n/din.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/diq.json21
-rw-r--r--www/wiki/extensions/InputBox/i18n/dsb.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/dty.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/dv.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/ee.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/el.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/en-gb.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/en.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/eo.json16
-rw-r--r--www/wiki/extensions/InputBox/i18n/es.json23
-rw-r--r--www/wiki/extensions/InputBox/i18n/et.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/eu.json16
-rw-r--r--www/wiki/extensions/InputBox/i18n/ext.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/fa.json21
-rw-r--r--www/wiki/extensions/InputBox/i18n/fi.json21
-rw-r--r--www/wiki/extensions/InputBox/i18n/fo.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/fr.json23
-rw-r--r--www/wiki/extensions/InputBox/i18n/frp.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/frr.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/fur.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/fy.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/ga.json13
-rw-r--r--www/wiki/extensions/InputBox/i18n/gcr.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/gd.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/gl.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/gom-deva.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/gom-latn.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/gor.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/grc.json13
-rw-r--r--www/wiki/extensions/InputBox/i18n/gsw.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/gu.json20
-rw-r--r--www/wiki/extensions/InputBox/i18n/gv.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/hak.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/he.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/hi.json20
-rw-r--r--www/wiki/extensions/InputBox/i18n/hif-latn.json13
-rw-r--r--www/wiki/extensions/InputBox/i18n/hil.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/hr.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/hsb.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/ht.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/hu.json22
-rw-r--r--www/wiki/extensions/InputBox/i18n/hy.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/ia.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/id.json21
-rw-r--r--www/wiki/extensions/InputBox/i18n/ig.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/ilo.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/inh.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/io.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/is.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/it.json20
-rw-r--r--www/wiki/extensions/InputBox/i18n/ja.json21
-rw-r--r--www/wiki/extensions/InputBox/i18n/jam.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/jut.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/jv.json16
-rw-r--r--www/wiki/extensions/InputBox/i18n/ka.json20
-rw-r--r--www/wiki/extensions/InputBox/i18n/kaa.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/kab.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/kbp.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/khw.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/kk-arab.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/kk-cyrl.json16
-rw-r--r--www/wiki/extensions/InputBox/i18n/kk-latn.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/km.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/kn.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/ko.json23
-rw-r--r--www/wiki/extensions/InputBox/i18n/koi.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/krc.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/krl.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/ksh.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/ku-latn.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/kum.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/la.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/lad.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/lb.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/lez.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/lfn.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/lg.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/li.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/lij.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/lki.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/ln.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/lo.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/lrc.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/lt.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/ltg.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/lus.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/luz.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/lv.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/lzh.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/mai.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/mg.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/min.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/mk.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/ml.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/mn.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/mr.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/ms.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/mt.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/mwl.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/my.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/myv.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/mzn.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/nah.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/nan.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/nap.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/nb.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/nds-nl.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/nds.json13
-rw-r--r--www/wiki/extensions/InputBox/i18n/ne.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/niu.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/nl-informal.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/nl.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/nn.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/nov.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/nso.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/nys.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/oc.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/olo.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/or.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/pa.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/pag.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/pam.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/pdc.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/pfl.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/pl.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/pms.json16
-rw-r--r--www/wiki/extensions/InputBox/i18n/pnb.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/pnt.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/ps.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/pt-br.json22
-rw-r--r--www/wiki/extensions/InputBox/i18n/pt.json21
-rw-r--r--www/wiki/extensions/InputBox/i18n/qqq.json25
-rw-r--r--www/wiki/extensions/InputBox/i18n/qu.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/ro.json21
-rw-r--r--www/wiki/extensions/InputBox/i18n/roa-tara.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/ru.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/rue.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/rup.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/sa.json20
-rw-r--r--www/wiki/extensions/InputBox/i18n/sah.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/sat.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/sc.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/scn.json16
-rw-r--r--www/wiki/extensions/InputBox/i18n/sco.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/sd.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/sg.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/sgs.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/sh.json12
-rw-r--r--www/wiki/extensions/InputBox/i18n/shn.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/si.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/sk.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/skr-arab.json13
-rw-r--r--www/wiki/extensions/InputBox/i18n/sl.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/sq.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/sr-ec.json19
-rw-r--r--www/wiki/extensions/InputBox/i18n/sr-el.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/ss.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/stq.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/sty.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/su.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/sv.json20
-rw-r--r--www/wiki/extensions/InputBox/i18n/sw.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/szl.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/ta.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/tay.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/tcy.json9
-rw-r--r--www/wiki/extensions/InputBox/i18n/te.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/tg-cyrl.json13
-rw-r--r--www/wiki/extensions/InputBox/i18n/tg-latn.json12
-rw-r--r--www/wiki/extensions/InputBox/i18n/th.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/tk.json13
-rw-r--r--www/wiki/extensions/InputBox/i18n/tl.json14
-rw-r--r--www/wiki/extensions/InputBox/i18n/tn.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/to.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/tr.json21
-rw-r--r--www/wiki/extensions/InputBox/i18n/ts.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/tt-cyrl.json18
-rw-r--r--www/wiki/extensions/InputBox/i18n/tyv.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/tzm.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/udm.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/ug-arab.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/uk.json21
-rw-r--r--www/wiki/extensions/InputBox/i18n/ur.json16
-rw-r--r--www/wiki/extensions/InputBox/i18n/uz.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/vec.json15
-rw-r--r--www/wiki/extensions/InputBox/i18n/vep.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/vi.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/vo.json11
-rw-r--r--www/wiki/extensions/InputBox/i18n/vro.json13
-rw-r--r--www/wiki/extensions/InputBox/i18n/wa.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/war.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/wo.json12
-rw-r--r--www/wiki/extensions/InputBox/i18n/wuu.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/xal.json12
-rw-r--r--www/wiki/extensions/InputBox/i18n/xh.json4
-rw-r--r--www/wiki/extensions/InputBox/i18n/xmf.json8
-rw-r--r--www/wiki/extensions/InputBox/i18n/yi.json12
-rw-r--r--www/wiki/extensions/InputBox/i18n/yo.json10
-rw-r--r--www/wiki/extensions/InputBox/i18n/yue.json17
-rw-r--r--www/wiki/extensions/InputBox/i18n/zh-hans.json22
-rw-r--r--www/wiki/extensions/InputBox/i18n/zh-hant.json22
-rw-r--r--www/wiki/extensions/InputBox/i18n/zu.json4
-rw-r--r--www/wiki/extensions/InputBox/includes/InputBox.php729
-rw-r--r--www/wiki/extensions/InputBox/includes/InputBoxHooks.php108
-rw-r--r--www/wiki/extensions/InputBox/phpcs.xml17
-rw-r--r--www/wiki/extensions/InputBox/resources/ext.inputBox.js29
-rw-r--r--www/wiki/extensions/InputBox/resources/ext.inputBox.styles.css19
-rw-r--r--www/wiki/extensions/InputBox/tests/inputBoxParserTests.txt350
-rw-r--r--www/wiki/extensions/InputBox/tests/parser/inputBoxParserTests.txt240
-rw-r--r--www/wiki/extensions/InputBox/tests/phan/config.php3
263 files changed, 5622 insertions, 0 deletions
diff --git a/www/wiki/extensions/InputBox/CODE_OF_CONDUCT.md b/www/wiki/extensions/InputBox/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..d8e5d087
--- /dev/null
+++ b/www/wiki/extensions/InputBox/CODE_OF_CONDUCT.md
@@ -0,0 +1 @@
+The development of this software is covered by a [Code of Conduct](https://www.mediawiki.org/wiki/Code_of_Conduct).
diff --git a/www/wiki/extensions/InputBox/COPYING b/www/wiki/extensions/InputBox/COPYING
new file mode 100644
index 00000000..8cb8e7ec
--- /dev/null
+++ b/www/wiki/extensions/InputBox/COPYING
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2005 Erik Möller
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/www/wiki/extensions/InputBox/Gruntfile.js b/www/wiki/extensions/InputBox/Gruntfile.js
new file mode 100644
index 00000000..71742f04
--- /dev/null
+++ b/www/wiki/extensions/InputBox/Gruntfile.js
@@ -0,0 +1,41 @@
+/*jshint node:true */
+module.exports = function ( grunt ) {
+ grunt.loadNpmTasks( 'grunt-contrib-jshint' );
+ grunt.loadNpmTasks( 'grunt-jsonlint' );
+ grunt.loadNpmTasks( 'grunt-banana-checker' );
+ grunt.loadNpmTasks( 'grunt-stylelint' );
+
+ grunt.initConfig( {
+ jshint: {
+ options: {
+ jshintrc: true
+ },
+ all: [
+ '**/*.js',
+ '!node_modules/**',
+ '!lib/**',
+ '!vendor/**'
+ ]
+ },
+ banana: {
+ all: 'i18n/'
+ },
+ jsonlint: {
+ all: [
+ '**/*.json',
+ '!node_modules/**',
+ '!vendor/**'
+ ]
+ },
+ stylelint: {
+ all: [
+ '**/*.css',
+ '!node_modules/**',
+ '!vendor/**'
+ ]
+ }
+ } );
+
+ grunt.registerTask( 'test', [ 'jshint', 'jsonlint', 'banana', 'stylelint' ] );
+ grunt.registerTask( 'default', 'test' );
+};
diff --git a/www/wiki/extensions/InputBox/InputBox.classes.php b/www/wiki/extensions/InputBox/InputBox.classes.php
new file mode 100644
index 00000000..c2c0d40d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/InputBox.classes.php
@@ -0,0 +1,719 @@
+<?php
+/**
+ * Classes for InputBox extension
+ *
+ * @file
+ * @ingroup Extensions
+ */
+
+// InputBox class
+class InputBox {
+
+ /* Fields */
+
+ private $mParser;
+ private $mType = '';
+ private $mWidth = 50;
+ private $mPreload = null;
+ private $mPreloadparams = null;
+ private $mEditIntro = null;
+ private $mUseVE = null;
+ private $mSummary = null;
+ private $mNosummary = null;
+ private $mMinor = null;
+ private $mPage = '';
+ private $mBR = 'yes';
+ private $mDefaultText = '';
+ private $mPlaceholderText = '';
+ private $mBGColor = 'transparent';
+ private $mButtonLabel = '';
+ private $mSearchButtonLabel = '';
+ private $mFullTextButton = '';
+ private $mLabelText = '';
+ private $mHidden = '';
+ private $mNamespaces = '';
+ private $mID = '';
+ private $mInline = false;
+ private $mPrefix = '';
+ private $mDir = '';
+ private $mSearchFilter = '';
+ private $mTour = '';
+
+ /* Functions */
+
+ public function __construct( $parser ) {
+ $this->mParser = $parser;
+ // Default value for dir taken from the page language (bug 37018)
+ $this->mDir = $this->mParser->getTargetLanguage()->getDir();
+ // Split caches by language, to make sure visitors do not see a cached
+ // version in a random language (since labels are in the user language)
+ $this->mParser->getOptions()->getUserLangObj();
+ $this->mParser->getOutput()->addModuleStyles( [
+ 'ext.inputBox.styles',
+ 'mediawiki.ui.input',
+ 'mediawiki.ui.checkbox',
+ ] );
+ }
+
+ public function render() {
+ // Handle various types
+ switch ( $this->mType ) {
+ case 'create':
+ case 'comment':
+ $this->mParser->getOutput()->addModules( 'ext.inputBox' );
+ return $this->getCreateForm();
+ case 'move':
+ return $this->getMoveForm();
+ case 'commenttitle':
+ return $this->getCommentForm();
+ case 'search':
+ return $this->getSearchForm( 'search' );
+ case 'fulltext':
+ return $this->getSearchForm( 'fulltext' );
+ case 'search2':
+ return $this->getSearchForm2();
+ default:
+ return Xml::tags( 'div', null,
+ Xml::element( 'strong',
+ [ 'class' => 'error' ],
+ strlen( $this->mType ) > 0
+ ? wfMessage( 'inputbox-error-bad-type', $this->mType )->text()
+ : wfMessage( 'inputbox-error-no-type' )->text()
+ )
+ );
+ }
+ }
+
+ /*
+ * Returns the action name and value to use in inputboxes which redirects to edit pages.
+ * Decides, if the link should redirect to VE edit page (veaction=edit) or to wikitext editor
+ * (action=edit).
+ *
+ * @return Array Array with name and value data
+ */
+ private function getEditActionArgs() {
+ // default is wikitext editor
+ $args = [
+ 'name' => 'action',
+ 'value' => 'edit',
+ ];
+ // check, if VE is installed and VE editor is requested
+ if ( $this->shouldUseVE() ) {
+ $args = [
+ 'name' => 'veaction',
+ 'value' => 'edit',
+ ];
+ }
+ return $args;
+ }
+
+ /**
+ * Get common classes, that could be added and depend on, if
+ * a line break between a button and an input field is added or not.
+ *
+ * @return String
+ */
+ private function getLinebreakClasses() {
+ return strtolower( $this->mBR ) === '<br />' ? 'mw-inputbox-input ' : '';
+ }
+
+ /**
+ * Generate search form
+ * @param $type
+ * @return string HTML
+ */
+ public function getSearchForm( $type ) {
+ global $wgContLang, $wgNamespaceAliases;
+
+ // Use button label fallbacks
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-tryexact' )->text();
+ }
+ if ( !$this->mSearchButtonLabel ) {
+ $this->mSearchButtonLabel = wfMessage( 'inputbox-searchfulltext' )->text();
+ }
+ if ( $this->mID !== '' ) {
+ $idArray = [ 'id' => Sanitizer::escapeId( $this->mID ) ];
+ } else {
+ $idArray = [];
+ }
+ // We need a unqiue id to link <label> to checkboxes, but also
+ // want multiple <inputbox>'s to not be invalid html
+ $idRandStr = Sanitizer::escapeId( '-' . $this->mID . wfRandom(), 'noninitial' );
+
+ // Build HTML
+ $htmlOut = Xml::openElement( 'div',
+ [
+ 'class' => 'mw-inputbox-centered',
+ 'style' => $this->bgColorStyle(),
+ ]
+ );
+ $htmlOut .= Xml::openElement( 'form',
+ [
+ 'name' => 'searchbox',
+ 'class' => 'searchbox',
+ 'action' => SpecialPage::getTitleFor( 'Search' )->getLocalUrl(),
+ ] + $idArray
+ );
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'class' => $this->getLinebreakClasses() . 'searchboxInput mw-ui-input mw-ui-input-inline',
+ 'name' => 'search',
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth,
+ 'dir' => $this->mDir,
+ ]
+ );
+
+ if ( $this->mPrefix != '' ) {
+ $htmlOut .= Html::hidden( 'prefix', $this->mPrefix );
+ }
+
+ if ( $this->mSearchFilter != '' ) {
+ $htmlOut .= Html::hidden( 'searchfilter', $this->mSearchFilter );
+ }
+
+ if ( $this->mTour != '' ) {
+ $htmlOut .= Html::hidden( 'tour', $this->mTour );
+ }
+
+ $htmlOut .= $this->mBR;
+
+ // Determine namespace checkboxes
+ $namespacesArray = explode( ',', $this->mNamespaces );
+ if ( $this->mNamespaces ) {
+ $namespaces = $wgContLang->getNamespaces();
+ $nsAliases = array_merge( $wgContLang->getNamespaceAliases(), $wgNamespaceAliases );
+ $showNamespaces = [];
+ $checkedNS = [];
+ // Check for valid namespaces
+ foreach ( $namespacesArray as $userNS ) {
+ $userNS = trim( $userNS ); // no whitespace
+
+ // Namespace needs to be checked if flagged with "**"
+ if ( strpos( $userNS, '**' ) ) {
+ $userNS = str_replace( '**', '', $userNS );
+ $checkedNS[$userNS] = true;
+ }
+
+ $mainMsg = wfMessage( 'inputbox-ns-main' )->inContentLanguage()->text();
+ if ( $userNS == 'Main' || $userNS == $mainMsg ) {
+ $i = 0;
+ } elseif ( array_search( $userNS, $namespaces ) ) {
+ $i = array_search( $userNS, $namespaces );
+ } elseif ( isset( $nsAliases[$userNS] ) ) {
+ $i = $nsAliases[$userNS];
+ } else {
+ continue; // Namespace not recognized, skip
+ }
+ $showNamespaces[$i] = $userNS;
+ if ( isset( $checkedNS[$userNS] ) && $checkedNS[$userNS] ) {
+ $checkedNS[$i] = true;
+ }
+ }
+
+ // Show valid namespaces
+ foreach ( $showNamespaces as $i => $name ) {
+ $checked = [];
+ // Namespace flagged with "**" or if it's the only one
+ if ( ( isset( $checkedNS[$i] ) && $checkedNS[$i] ) || count( $showNamespaces ) == 1 ) {
+ $checked = [ 'checked' => 'checked' ];
+ }
+
+ if ( count( $showNamespaces ) == 1 ) {
+ // Checkbox
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => 'hidden',
+ 'name' => 'ns' . $i,
+ 'value' => 1,
+ 'id' => 'mw-inputbox-ns' . $i . $idRandStr
+ ] + $checked
+ );
+ } else {
+ // Checkbox
+ $htmlOut .= ' <div class="mw-inputbox-element mw-ui-checkbox">';
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => 'checkbox',
+ 'name' => 'ns' . $i,
+ 'value' => 1,
+ 'id' => 'mw-inputbox-ns' . $i . $idRandStr
+ ] + $checked
+ );
+ // Label
+ $htmlOut .= Xml::label( $name, 'mw-inputbox-ns' . $i . $idRandStr );
+ $htmlOut .= '</div> ';
+ }
+ }
+
+ // Line break
+ $htmlOut .= $this->mBR;
+ } elseif ( $type == 'search' ) {
+ // Go button
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'go',
+ 'class' => 'mw-ui-button',
+ 'value' => $this->mButtonLabel
+ ]
+ );
+ $htmlOut .= '&#160;';
+ }
+
+ // Search button
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'fulltext',
+ 'class' => 'mw-ui-button',
+ 'value' => $this->mSearchButtonLabel
+ ]
+ );
+
+ // Hidden fulltext param for IE (bug 17161)
+ if ( $type == 'fulltext' ) {
+ $htmlOut .= Html::hidden( 'fulltext', 'Search' );
+ }
+
+ $htmlOut .= Xml::closeElement( 'form' );
+ $htmlOut .= Xml::closeElement( 'div' );
+
+ // Return HTML
+ return $htmlOut;
+ }
+
+ /**
+ * Generate search form version 2
+ */
+ public function getSearchForm2() {
+ // Use button label fallbacks
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-tryexact' )->text();
+ }
+
+ if ( $this->mID !== '' ) {
+ $unescapedID = $this->mID;
+ } else {
+ // The label element needs a unique id, use
+ // random number to avoid multiple input boxes
+ // having conflicts.
+ $unescapedID = wfRandom();
+ }
+ $id = Sanitizer::escapeId( $unescapedID, 'noninitial' );
+ $htmlLabel = '';
+ if ( isset( $this->mLabelText ) && strlen( trim( $this->mLabelText ) ) ) {
+ $this->mLabelText = $this->mParser->recursiveTagParse( $this->mLabelText );
+ $htmlLabel = Xml::openElement( 'label', [ 'for' => 'bodySearchInput' . $id ] );
+ $htmlLabel .= $this->mLabelText;
+ $htmlLabel .= Xml::closeElement( 'label' );
+ }
+ $htmlOut = Xml::openElement( 'form',
+ [
+ 'name' => 'bodySearch' . $id,
+ 'id' => 'bodySearch' . $id,
+ 'class' => 'bodySearch' . ( $this->mInline ? ' mw-inputbox-inline' : '' ),
+ 'action' => SpecialPage::getTitleFor( 'Search' )->getLocalUrl(),
+ ]
+ );
+ $htmlOut .= Xml::openElement( 'div',
+ [
+ 'class' => 'bodySearchWrap' . ( $this->mInline ? ' mw-inputbox-inline' : '' ),
+ 'style' => $this->bgColorStyle(),
+ ]
+ );
+ $htmlOut .= $htmlLabel;
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'name' => 'search',
+ 'class' => 'mw-ui-input mw-ui-input-inline',
+ 'size' => $this->mWidth,
+ 'id' => 'bodySearchInput' . $id,
+ 'dir' => $this->mDir,
+ ]
+ );
+ $htmlOut .= '&#160;' . Xml::element( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'go',
+ 'value' => $this->mButtonLabel,
+ 'class' => 'mw-ui-button',
+ ]
+ );
+
+ // Better testing needed here!
+ if ( !empty( $this->mFullTextButton ) ) {
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'fulltext',
+ 'class' => 'mw-ui-button',
+ 'value' => $this->mSearchButtonLabel
+ ]
+ );
+ }
+
+ $htmlOut .= Xml::closeElement( 'div' );
+ $htmlOut .= Xml::closeElement( 'form' );
+
+ // Return HTML
+ return $htmlOut;
+ }
+
+ /**
+ * Generate create page form
+ */
+ public function getCreateForm() {
+ global $wgScript;
+
+ if ( $this->mType == "comment" ) {
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-postcomment' )->text();
+ }
+ } else {
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-createarticle' )->text();
+ }
+ }
+
+ $htmlOut = Xml::openElement( 'div',
+ [
+ 'class' => 'mw-inputbox-centered',
+ 'style' => $this->bgColorStyle(),
+ ]
+ );
+ $createBoxParams = [
+ 'name' => 'createbox',
+ 'class' => 'createbox',
+ 'action' => $wgScript,
+ 'method' => 'get'
+ ];
+ if ( $this->mID !== '' ) {
+ $createBoxParams['id'] = Sanitizer::escapeId( $this->mID );
+ }
+ $htmlOut .= Xml::openElement( 'form', $createBoxParams );
+ $editArgs = $this->getEditActionArgs();
+ $htmlOut .= Html::hidden( $editArgs['name'], $editArgs['value'] );
+ if ( $this->mPreload !== null ) {
+ $htmlOut .= Html::hidden( 'preload', $this->mPreload );
+ }
+ if ( is_array( $this->mPreloadparams ) ) {
+ foreach ( $this->mPreloadparams as $preloadparams ) {
+ $htmlOut .= Html::hidden( 'preloadparams[]', $preloadparams );
+ }
+ }
+ if ( $this->mEditIntro !== null ) {
+ $htmlOut .= Html::hidden( 'editintro', $this->mEditIntro );
+ }
+ if ( $this->mSummary !== null ) {
+ $htmlOut .= Html::hidden( 'summary', $this->mSummary );
+ }
+ if ( $this->mNosummary !== null ) {
+ $htmlOut .= Html::hidden( 'nosummary', $this->mNosummary );
+ }
+ if ( $this->mPrefix !== '' ) {
+ $htmlOut .= Html::hidden( 'prefix', $this->mPrefix );
+ }
+ if ( $this->mMinor !== null ) {
+ $htmlOut .= Html::hidden( 'minor', $this->mMinor );
+ }
+ if ( $this->mType == 'comment' ) {
+ $htmlOut .= Html::hidden( 'section', 'new' );
+ }
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'name' => 'title',
+ 'class' => $this->getLinebreakClasses() .
+ 'mw-ui-input mw-ui-input-inline createboxInput',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth,
+ 'dir' => $this->mDir,
+ ]
+ );
+ $htmlOut .= $this->mBR;
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'create',
+ 'class' => 'mw-ui-button mw-ui-progressive createboxButton',
+ 'value' => $this->mButtonLabel
+ ]
+ );
+ $htmlOut .= Xml::closeElement( 'form' );
+ $htmlOut .= Xml::closeElement( 'div' );
+
+ // Return HTML
+ return $htmlOut;
+ }
+
+ /**
+ * Generate move page form
+ */
+ public function getMoveForm() {
+ global $wgScript;
+
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-movearticle' )->text();
+ }
+
+ $htmlOut = Xml::openElement( 'div',
+ [
+ 'class' => 'mw-inputbox-centered',
+ 'style' => $this->bgColorStyle(),
+ ]
+ );
+ $moveBoxParams = [
+ 'name' => 'movebox',
+ 'class' => 'mw-movebox',
+ 'action' => $wgScript,
+ 'method' => 'get'
+ ];
+ if ( $this->mID !== '' ) {
+ $moveBoxParams['id'] = Sanitizer::escapeId( $this->mID );
+ }
+ $htmlOut .= Xml::openElement( 'form', $moveBoxParams );
+ $htmlOut .= Html::hidden( 'title',
+ SpecialPage::getTitleFor( 'Movepage', $this->mPage )->getPrefixedText() );
+ $htmlOut .= Html::hidden( 'wpReason', $this->mSummary );
+ $htmlOut .= Html::hidden( 'prefix', $this->mPrefix );
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'name' => 'wpNewTitle',
+ 'class' => $this->getLinebreakClasses() . 'mw-moveboxInput mw-ui-input mw-ui-input-inline',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth,
+ 'dir' => $this->mDir,
+ ]
+ );
+ $htmlOut .= $this->mBR;
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => 'submit',
+ 'class' => 'mw-ui-button mw-ui-progressive',
+ 'value' => $this->mButtonLabel
+ ]
+ );
+ $htmlOut .= Xml::closeElement( 'form' );
+ $htmlOut .= Xml::closeElement( 'div' );
+
+ // Return HTML
+ return $htmlOut;
+ }
+
+ /**
+ * Generate new section form
+ */
+ public function getCommentForm() {
+ global $wgScript;
+
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-postcommenttitle' )->text();
+ }
+
+ $htmlOut = Xml::openElement( 'div',
+ [
+ 'class' => 'mw-inputbox-centered',
+ 'style' => $this->bgColorStyle(),
+ ]
+ );
+ $commentFormParams = [
+ 'name' => 'commentbox',
+ 'class' => 'commentbox',
+ 'action' => $wgScript,
+ 'method' => 'get'
+ ];
+ if ( $this->mID !== '' ) {
+ $commentFormParams['id'] = Sanitizer::escapeId( $this->mID );
+ }
+ $htmlOut .= Xml::openElement( 'form', $commentFormParams );
+ $editArgs = $this->getEditActionArgs();
+ $htmlOut .= Html::hidden( $editArgs['name'], $editArgs['value'] );
+ if ( $this->mPreload !== null ) {
+ $htmlOut .= Html::hidden( 'preload', $this->mPreload );
+ }
+ if ( is_array( $this->mPreloadparams ) ) {
+ foreach ( $this->mPreloadparams as $preloadparams ) {
+ $htmlOut .= Html::hidden( 'preloadparams[]', $preloadparams );
+ }
+ }
+ if ( $this->mEditIntro !== null ) {
+ $htmlOut .= Html::hidden( 'editintro', $this->mEditIntro );
+ }
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'name' => 'preloadtitle',
+ 'class' => $this->getLinebreakClasses() . 'commentboxInput mw-ui-input mw-ui-input-inline',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth,
+ 'dir' => $this->mDir,
+ ]
+ );
+ $htmlOut .= Html::hidden( 'section', 'new' );
+ $htmlOut .= Html::hidden( 'title', $this->mPage );
+ $htmlOut .= $this->mBR;
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'create',
+ 'class' => 'mw-ui-button mw-ui-progressive',
+ 'value' => $this->mButtonLabel
+ ]
+ );
+ $htmlOut .= Xml::closeElement( 'form' );
+ $htmlOut .= Xml::closeElement( 'div' );
+
+ // Return HTML
+ return $htmlOut;
+ }
+
+ /**
+ * Extract options from a blob of text
+ *
+ * @param string $text Tag contents
+ */
+ public function extractOptions( $text ) {
+ // Parse all possible options
+ $values = [];
+ foreach ( explode( "\n", $text ) as $line ) {
+ if ( strpos( $line, '=' ) === false ) {
+ continue;
+ }
+ list( $name, $value ) = explode( '=', $line, 2 );
+ $name = strtolower( trim( $name ) );
+ $value = Sanitizer::decodeCharReferences( trim( $value ) );
+ if ( $name == 'preloadparams[]' ) {
+ // We have to special-case this one because it's valid for it to appear more than once.
+ $this->mPreloadparams[] = $value;
+ } else {
+ $values[ $name ] = $value;
+ }
+ }
+
+ // Validate the dir value.
+ if ( isset( $values['dir'] ) && !in_array( $values['dir'], [ 'ltr', 'rtl' ] ) ) {
+ unset( $values['dir'] );
+ }
+
+ // Build list of options, with local member names
+ $options = [
+ 'type' => 'mType',
+ 'width' => 'mWidth',
+ 'preload' => 'mPreload',
+ 'page' => 'mPage',
+ 'editintro' => 'mEditIntro',
+ 'useve' => 'mUseVE',
+ 'summary' => 'mSummary',
+ 'nosummary' => 'mNosummary',
+ 'minor' => 'mMinor',
+ 'break' => 'mBR',
+ 'default' => 'mDefaultText',
+ 'placeholder' => 'mPlaceholderText',
+ 'bgcolor' => 'mBGColor',
+ 'buttonlabel' => 'mButtonLabel',
+ 'searchbuttonlabel' => 'mSearchButtonLabel',
+ 'fulltextbutton' => 'mFullTextButton',
+ 'namespaces' => 'mNamespaces',
+ 'labeltext' => 'mLabelText',
+ 'hidden' => 'mHidden',
+ 'id' => 'mID',
+ 'inline' => 'mInline',
+ 'prefix' => 'mPrefix',
+ 'dir' => 'mDir',
+ 'searchfilter' => 'mSearchFilter',
+ 'tour' => 'mTour'
+ ];
+ // Options we should maybe run through lang converter.
+ $convertOptions = [
+ 'default' => true,
+ 'buttonlabel' => true,
+ 'searchbuttonlabel' => true,
+ 'placeholder' => true
+ ];
+ foreach ( $options as $name => $var ) {
+ if ( isset( $values[$name] ) ) {
+ $this->$var = $values[$name];
+ if ( isset( $convertOptions[$name] ) ) {
+ $this->$var = $this->languageConvert( $this->$var );
+ }
+ }
+ }
+
+ // Insert a line break if configured to do so
+ $this->mBR = ( strtolower( $this->mBR ) == "no" ) ? ' ' : '<br />';
+
+ // Validate the width; make sure it's a valid, positive integer
+ $this->mWidth = intval( $this->mWidth <= 0 ? 50 : $this->mWidth );
+
+ // Validate background color
+ if ( !$this->isValidColor( $this->mBGColor ) ) {
+ $this->mBGColor = 'transparent';
+ }
+ }
+
+ /**
+ * Do a security check on the bgcolor parameter
+ */
+ public function isValidColor( $color ) {
+ $regex = <<<REGEX
+ /^ (
+ [a-zA-Z]* | # color names
+ \# [0-9a-f]{3} | # short hexadecimal
+ \# [0-9a-f]{6} | # long hexadecimal
+ rgb \s* \( \s* (
+ \d+ \s* , \s* \d+ \s* , \s* \d+ | # rgb integer
+ [0-9.]+% \s* , \s* [0-9.]+% \s* , \s* [0-9.]+% # rgb percent
+ ) \s* \)
+ ) $ /xi
+REGEX;
+ return (bool)preg_match( $regex, $color );
+ }
+
+ private function bgColorStyle() {
+ if ( $this->mBGColor != 'transparent' ) {
+ return 'background-color: ' . $this->mBGColor . ';';
+ }
+ return '';
+ }
+
+ /**
+ * Returns true, if the VisualEditor is requested from the inputbox wikitext definition and
+ * if the VisualEditor extension is actually installed or not, false otherwise.
+ *
+ * @return bool
+ */
+ private function shouldUseVE() {
+ return ExtensionRegistry::getInstance()->isLoaded( 'VisualEditor' ) && $this->mUseVE !== null;
+ }
+
+ /**
+ * For compatability with pre T119158 behaviour
+ *
+ * If a field that is going to be used as an attribute
+ * and it contains "-{" in it, run it through language
+ * converter.
+ *
+ * Its not really clear if it would make more sense to
+ * always convert instead of only if -{ is present. This
+ * function just more or less restores the previous
+ * accidental behaviour.
+ *
+ * @see https://phabricator.wikimedia.org/T180485
+ */
+ private function languageConvert( $text ) {
+ $lang = $this->mParser->getConverterLanguage();
+ if ( $lang->hasVariants() && strpos( $text, '-{' ) !== false ) {
+ $text = $lang->convert( $text );
+ }
+ return $text;
+ }
+}
diff --git a/www/wiki/extensions/InputBox/InputBox.hooks.php b/www/wiki/extensions/InputBox/InputBox.hooks.php
new file mode 100644
index 00000000..50636faa
--- /dev/null
+++ b/www/wiki/extensions/InputBox/InputBox.hooks.php
@@ -0,0 +1,90 @@
+<?php
+/**
+ * Hooks for InputBox extension
+ *
+ * @file
+ * @ingroup Extensions
+ */
+
+// InputBox hooks
+class InputBoxHooks {
+ // Initialization
+ public static function register( Parser &$parser ) {
+ // Register the hook with the parser
+ $parser->setHook( 'inputbox', [ 'InputBoxHooks', 'render' ] );
+
+ // Continue
+ return true;
+ }
+
+ // Prepend prefix to wpNewTitle if necessary
+ public static function onSpecialPageBeforeExecute( $special, $subPage ) {
+ $request = $special->getRequest();
+ $prefix = $request->getText( 'prefix', '' );
+ $title = $request->getText( 'wpNewTitle', '' );
+ $search = $request->getText( 'search', '' );
+ $searchfilter = $request->getText( 'searchfilter', '' );
+ if ( $special->getName() == 'Movepage' && $prefix !== '' && $title !== '' ) {
+ $request->setVal( 'wpNewTitle', $prefix . $title );
+ $request->unsetVal( 'prefix' );
+ }
+ if ( $special->getName() == 'Search' && $searchfilter !== '' ) {
+ $request->setVal( 'search', $search . ' ' . $searchfilter );
+ }
+ return true;
+ }
+
+ // Render the input box
+ public static function render( $input, $args, Parser $parser ) {
+ // Create InputBox
+ $inputBox = new InputBox( $parser );
+
+ // Configure InputBox
+ $inputBox->extractOptions( $parser->replaceVariables( $input ) );
+
+ // Return output
+ return $inputBox->render();
+ }
+
+ /**
+ * <inputbox type=create...> sends requests with action=edit, and
+ * possibly a &prefix=Foo. So we pick that up here, munge prefix
+ * and title together, and redirect back out to the real page
+ * @param $output OutputPage
+ * @param $article Article
+ * @param $title Title
+ * @param $user User
+ * @param $request WebRequest
+ * @param $wiki MediaWiki
+ * @return bool
+ */
+ public static function onMediaWikiPerformAction(
+ $output,
+ $article,
+ $title,
+ $user,
+ $request,
+ $wiki
+ ) {
+ if ( $wiki->getAction( $request ) !== 'edit' ) {
+ // not our problem
+ return true;
+ }
+ if ( $request->getText( 'prefix', '' ) === '' ) {
+ // Fine
+ return true;
+ }
+
+ $params = $request->getValues();
+ $title = $params['prefix'];
+ if ( isset( $params['title'] ) ) {
+ $title .= $params['title'];
+ }
+ unset( $params['prefix'] );
+ $params['title'] = $title;
+
+ global $wgScript;
+ $output->redirect( wfAppendQuery( $wgScript, $params ), '301' );
+ return false;
+ }
+}
diff --git a/www/wiki/extensions/InputBox/InputBox.php b/www/wiki/extensions/InputBox/InputBox.php
new file mode 100644
index 00000000..3f8b9eb4
--- /dev/null
+++ b/www/wiki/extensions/InputBox/InputBox.php
@@ -0,0 +1,13 @@
+<?php
+if ( function_exists( 'wfLoadExtension' ) ) {
+ wfLoadExtension( 'InputBox' );
+ // Keep i18n globals so mergeMessageFileList.php doesn't break
+ $wgMessagesDirs['InputBox'] = __DIR__ . '/i18n';
+ /* wfWarn(
+ 'Deprecated PHP entry point used for InputBox extension. Please use wfLoadExtension instead, ' .
+ 'see https://www.mediawiki.org/wiki/Extension_registration for more details.'
+ ); */
+ return;
+} else {
+ die( 'This version of the InputBox extension requires MediaWiki 1.25+' );
+}
diff --git a/www/wiki/extensions/InputBox/composer.json b/www/wiki/extensions/InputBox/composer.json
new file mode 100644
index 00000000..b822010c
--- /dev/null
+++ b/www/wiki/extensions/InputBox/composer.json
@@ -0,0 +1,23 @@
+{
+ "require-dev": {
+ "jakub-onderka/php-parallel-lint": "1.0.0",
+ "jakub-onderka/php-console-highlighter": "0.3.2",
+ "mediawiki/mediawiki-codesniffer": "18.0.0",
+ "mediawiki/minus-x": "0.3.1",
+ "mediawiki/mediawiki-phan-config": "0.2.0"
+ },
+ "scripts": {
+ "fix": [
+ "phpcbf",
+ "minus-x fix ."
+ ],
+ "test": [
+ "parallel-lint . --exclude node_modules --exclude vendor",
+ "phpcs -p -s",
+ "minus-x check ."
+ ]
+ },
+ "extra": {
+ "phan-taint-check-plugin": "1.2.0"
+ }
+}
diff --git a/www/wiki/extensions/InputBox/extension.json b/www/wiki/extensions/InputBox/extension.json
new file mode 100644
index 00000000..f4cde3b6
--- /dev/null
+++ b/www/wiki/extensions/InputBox/extension.json
@@ -0,0 +1,62 @@
+{
+ "name": "InputBox",
+ "version": "0.3.0",
+ "author": [
+ "Erik Moeller",
+ "Leonardo Pimenta",
+ "Rob Church",
+ "Trevor Parscal",
+ "DaSch"
+ ],
+ "url": "https://www.mediawiki.org/wiki/Extension:InputBox",
+ "descriptionmsg": "inputbox-desc",
+ "requires": {
+ "MediaWiki": ">= 1.30.0"
+ },
+ "license-name": "MIT",
+ "type": "parserhook",
+ "MessagesDirs": {
+ "InputBox": [
+ "i18n"
+ ]
+ },
+ "AutoloadClasses": {
+ "InputBoxHooks": "includes/InputBoxHooks.php",
+ "InputBox": "includes/InputBox.php"
+ },
+ "ResourceModules": {
+ "ext.inputBox.styles": {
+ "styles": "ext.inputBox.styles.css",
+ "targets": [
+ "mobile",
+ "desktop"
+ ]
+ },
+ "ext.inputBox": {
+ "scripts": "ext.inputBox.js",
+ "dependencies": [
+ "jquery.throttle-debounce"
+ ],
+ "targets": [
+ "mobile",
+ "desktop"
+ ]
+ }
+ },
+ "ResourceFileModulePaths": {
+ "localBasePath": "resources",
+ "remoteExtPath": "InputBox/resources"
+ },
+ "Hooks": {
+ "ParserFirstCallInit": [
+ "InputBoxHooks::register"
+ ],
+ "MediaWikiPerformAction": [
+ "InputBoxHooks::onMediaWikiPerformAction"
+ ],
+ "SpecialPageBeforeExecute": [
+ "InputBoxHooks::onSpecialPageBeforeExecute"
+ ]
+ },
+ "manifest_version": 1
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ady-cyrl.json b/www/wiki/extensions/InputBox/i18n/ady-cyrl.json
new file mode 100644
index 00000000..9e3ea17d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ady-cyrl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "GR44 Luc"
+ ]
+ },
+ "inputbox-tryexact": "Тефэпэнэу лыхъу"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/af.json b/www/wiki/extensions/InputBox/i18n/af.json
new file mode 100644
index 00000000..dd9a549f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/af.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Naudefj"
+ ]
+ },
+ "inputbox-desc": "Laat die insluiting van vooraf gedefinieerde HTML-vorms moontlik",
+ "inputbox-error-no-type": "U het nie die tipe invoerveld gespesifiseer nie.",
+ "inputbox-error-bad-type": "Tipe invoerveld is \"$1\" nie herken nie.\nGebruik \"create\", \"comment\", \"search\", \"search2\" of \"fulltext\".",
+ "inputbox-tryexact": "Soek presiese ooreenkoms",
+ "inputbox-searchfulltext": "Deursoek volledige teks",
+ "inputbox-createarticle": "Skep bladsy",
+ "inputbox-ns-main": "Hoofnaamruimte"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ais.json b/www/wiki/extensions/InputBox/i18n/ais.json
new file mode 100644
index 00000000..40a5f332
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ais.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bunukwiki",
+ "Benel"
+ ]
+ },
+ "inputbox-desc": "kapah nicaliwan pataayaw misaheci tuway a HTML sapat nu sulit",
+ "inputbox-error-no-type": "caay henay kisu matuzu’ apatizengay a nikalahizaan nu sulitan nikatatapal.",
+ "inputbox-error-bad-type": "sulitan misabacu nikalahizaan \"$1\" mungangaw.\npisaungay \"create\", \"comment\", \"search\", \"search2\" saca \"fulltext\".",
+ "inputbox-tryexact": "nipitaneng caay ngangaw sasutili’ay",
+ "inputbox-searchfulltext": "mikilim tu hamin",
+ "inputbox-createarticle": "patizeng tu kasabelih",
+ "inputbox-movearticle": "milimad kasabelih",
+ "inputbox-postcomment": "baluhay a tusil",
+ "inputbox-postcommenttitle": "baluhay tusil",
+ "inputbox-ns-main": "angangan"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/am.json b/www/wiki/extensions/InputBox/i18n/am.json
new file mode 100644
index 00000000..7f42eb7e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/am.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Codex Sinaiticus"
+ ]
+ },
+ "inputbox-createarticle": "አዲስ አርዕስት ለመፍጠር"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/an.json b/www/wiki/extensions/InputBox/i18n/an.json
new file mode 100644
index 00000000..7ff9fe22
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/an.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Juanpabl"
+ ]
+ },
+ "inputbox-desc": "Premite a enclusión de formularios HTML predefinitos",
+ "inputbox-error-no-type": "No ha endicato o tipo de caixa de dentrada que cal creyar.",
+ "inputbox-error-bad-type": "No se reconoixe o tipo de caixa de dentrada \"$1\".\nPor favor, especifique \"create\", \"comment\", \"search\" u \"fulltext\".",
+ "inputbox-tryexact": "Mirar títol esauto",
+ "inputbox-searchfulltext": "Mirar por testo completo",
+ "inputbox-createarticle": "Creyar pachina",
+ "inputbox-ns-main": "Prencipal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ang.json b/www/wiki/extensions/InputBox/i18n/ang.json
new file mode 100644
index 00000000..dd10aa41
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ang.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Espreon"
+ ]
+ },
+ "inputbox-createarticle": "Scieppan tramet",
+ "inputbox-movearticle": "Wegan tramet"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/anp.json b/www/wiki/extensions/InputBox/i18n/anp.json
new file mode 100644
index 00000000..35fe6c38
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/anp.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Angpradesh"
+ ]
+ },
+ "inputbox-tryexact": "सटीक मिलान केरऽ कोशिश करऽ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ar.json b/www/wiki/extensions/InputBox/i18n/ar.json
new file mode 100644
index 00000000..0c2fcef3
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ar.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Meno25",
+ "زكريا",
+ "Omda4wady",
+ "Abanima"
+ ]
+ },
+ "inputbox-desc": "يسمح بتضمين أشكال HTML معرفة مسبقا.",
+ "inputbox-error-no-type": "لم تقم بتحديد نوع صندوق الإدخال للإنشاء.",
+ "inputbox-error-bad-type": "نوع صندوق الإدخال \"$1\" لم يتم التعرف عليه.\nمن فضلك حدد \"create\"، \"comment\"، \"search\"، \"search2\" أو \"fulltext\".",
+ "inputbox-tryexact": "ابحث عن عنوان مطابق",
+ "inputbox-searchfulltext": "ابحث في النص الكامل",
+ "inputbox-createarticle": "إنشاء صفحة",
+ "inputbox-movearticle": "انقل الصفحة",
+ "inputbox-postcomment": "قسم جديد",
+ "inputbox-postcommenttitle": "مقطع جديد",
+ "inputbox-ns-main": "رئيسي"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/arc.json b/www/wiki/extensions/InputBox/i18n/arc.json
new file mode 100644
index 00000000..7a4772b5
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/arc.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Basharh",
+ "Man2fly2002"
+ ]
+ },
+ "inputbox-createarticle": "ܒܪܝ ܦܐܬܐ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/arq.json b/www/wiki/extensions/InputBox/i18n/arq.json
new file mode 100644
index 00000000..2449d692
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/arq.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Oldstoneage"
+ ]
+ },
+ "inputbox-tryexact": "فتّش على مطابقة سواسوا"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/arz.json b/www/wiki/extensions/InputBox/i18n/arz.json
new file mode 100644
index 00000000..e74b200f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/arz.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ghaly",
+ "Ramsis II"
+ ]
+ },
+ "inputbox-desc": "يسمح بتضمين أشكال اتش تى ام ال معرفه من الاول",
+ "inputbox-error-no-type": "إنت ما حددتش نوع صندوق الإدخال للإنشاء",
+ "inputbox-error-bad-type": "ما اتعرفناش على نوع صندوق الإدخال \"$1\" .\nلو سمحت تحدد \"create\"، \"comment\"، \"search\" أو \"search2\".",
+ "inputbox-tryexact": "دور على عنوان مطابق",
+ "inputbox-searchfulltext": "دور فى النص كله",
+ "inputbox-createarticle": "إنشاء صفحة"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/as.json b/www/wiki/extensions/InputBox/i18n/as.json
new file mode 100644
index 00000000..4c7bd1ce
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/as.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bishnu Saikia",
+ "Chaipau",
+ "Gitartha.bordoloi",
+ "Rajuonline"
+ ]
+ },
+ "inputbox-desc": "পূৰ্বসংজ্ঞায়িত HTML ফৰ্মৰ অন্তৰ্ভুক্তি অনুমোদন কৰক",
+ "inputbox-error-no-type": "আপুনি সৃষ্টি কৰিবলগীয়া ইন্‌পুট বক্সৰ প্ৰকাৰ নিৰ্ধাৰণ কৰা নাই।",
+ "inputbox-error-bad-type": "ইন্‌পুট বক্স প্ৰকাৰ \"$1\" চিনাক্ত কৰিব পৰা নগ'ল।\nঅনুগ্ৰহ কৰি \"create\", \"comment\", \"search\", \"search2\" বা \"fulltext\" নিৰ্ধাৰণ কৰক",
+ "inputbox-tryexact": "কেবল দিয়া শব্দহে বিচাৰিব",
+ "inputbox-searchfulltext": "সম্পূৰ্ণ পাঠ্য বিচাৰিব",
+ "inputbox-createarticle": "পৃষ্ঠা সৃষ্টি কৰক",
+ "inputbox-ns-main": "মূখ্য"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ast.json b/www/wiki/extensions/InputBox/i18n/ast.json
new file mode 100644
index 00000000..c2d507c6
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ast.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Esbardu",
+ "Xuacu"
+ ]
+ },
+ "inputbox-desc": "Permite la inclusión de formularios HTML predefiníos",
+ "inputbox-error-no-type": "Nun especificasti la triba de caxellu d'entrada pa crear.",
+ "inputbox-error-bad-type": "Triba de caxa d'entrada $1 non reconocida.\nPor favor conseña la opción ''create'', ''comment'', ''search'', ''search2'' o \"fulltext\".",
+ "inputbox-tryexact": "Intentar concuayar exautamente",
+ "inputbox-searchfulltext": "Buscar testu completu",
+ "inputbox-createarticle": "Crear páxina",
+ "inputbox-movearticle": "Treslladar la páxina",
+ "inputbox-postcomment": "Seición nueva",
+ "inputbox-postcommenttitle": "Seición nueva",
+ "inputbox-ns-main": "Principal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/atj.json b/www/wiki/extensions/InputBox/i18n/atj.json
new file mode 100644
index 00000000..8f65f35b
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/atj.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jeannette Coocoo"
+ ]
+ },
+ "inputbox-tryexact": "Kotcita mia kata itactek"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/awa.json b/www/wiki/extensions/InputBox/i18n/awa.json
new file mode 100644
index 00000000..7a203888
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/awa.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "1AnuraagPandey"
+ ]
+ },
+ "inputbox-tryexact": "दिहा शब्द ही खोजा जाय",
+ "inputbox-searchfulltext": "पूरा पाठ खोजा जाए",
+ "inputbox-createarticle": "लेख बनावा जाय",
+ "inputbox-movearticle": "पन्ना घुसकावा जाय",
+ "inputbox-postcomment": "नवाँ श्रेणी",
+ "inputbox-postcommenttitle": "नवाँ श्रेणी",
+ "inputbox-ns-main": "मुख्य"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/az.json b/www/wiki/extensions/InputBox/i18n/az.json
new file mode 100644
index 00000000..cf16445a
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/az.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cekli829",
+ "Vugar 1981",
+ "Wertuose"
+ ]
+ },
+ "inputbox-tryexact": "Dəqiq uyğunluq",
+ "inputbox-searchfulltext": "Yaxşı mətni axtar",
+ "inputbox-createarticle": "Məqalə yarat",
+ "inputbox-ns-main": "Əsas"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/azb.json b/www/wiki/extensions/InputBox/i18n/azb.json
new file mode 100644
index 00000000..62ad5f88
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/azb.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amir a57",
+ "Koroğlu"
+ ]
+ },
+ "inputbox-tryexact": "اویدورمانی سیناقلا",
+ "inputbox-searchfulltext": "یاخشی متنی آختار",
+ "inputbox-createarticle": "صفحه یارات",
+ "inputbox-ns-main": "آنا"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ba.json b/www/wiki/extensions/InputBox/i18n/ba.json
new file mode 100644
index 00000000..571168b7
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ba.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Assele",
+ "Haqmar",
+ "Лилиә",
+ "Янмурза Баки"
+ ]
+ },
+ "inputbox-desc": "Алдан билдәләнгән HTML формаларҙы индереү мөмкинлеген бирә",
+ "inputbox-error-no-type": "Һеҙ булдырыла торған юлдың төрөн күрһәтмәгеҙ.",
+ "inputbox-error-bad-type": "\"$1\" юл төрө танылмаған.\nЗинһар, \"create\", \"comment\", \"search\", \"search2\" йәки \"fulltext\" төрөнөң береһен күрһәтегеҙ.",
+ "inputbox-tryexact": "Теүәл тура килеү буйынса эҙләү",
+ "inputbox-searchfulltext": "Тулы текст буйынса эҙләү",
+ "inputbox-createarticle": "Яңы бит яһарға",
+ "inputbox-movearticle": "Битте икенсе урынға күсерергә",
+ "inputbox-postcomment": "Яңы бүлек",
+ "inputbox-postcommenttitle": "Яңы бүлек",
+ "inputbox-ns-main": "Төп"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/bcc.json b/www/wiki/extensions/InputBox/i18n/bcc.json
new file mode 100644
index 00000000..f56dc696
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/bcc.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mostafadaneshvar",
+ "Baloch Afghanistan"
+ ]
+ },
+ "inputbox-desc": "اجازه داتن په هور بیگ فرم های HTML چه پیش تعریف بوتگین",
+ "inputbox-error-no-type": "شما نوع جعبه ورودی په شرکتن مشخص نه کتت",
+ "inputbox-error-bad-type": "نوع جعبه ورودی \"$1\" جاه آرگ نه بیت.\nلطفا مشخص کنیت \"شرکتن\", \"نظر\", \"گردگ\" یا \"گردگ2\".",
+ "inputbox-tryexact": "تطبیق کامل آزمایش کن",
+ "inputbox-searchfulltext": "متن کامل گرد",
+ "inputbox-createarticle": "تاکدیمِ جوڑ کورتین"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/bcl.json b/www/wiki/extensions/InputBox/i18n/bcl.json
new file mode 100644
index 00000000..4a655051
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/bcl.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "Filipinayzd",
+ "Geopoet",
+ "Amire80"
+ ]
+ },
+ "inputbox-desc": "Minatugot na balihon an pangenot na pakahulugan kan mga porma nin HTML",
+ "inputbox-error-no-type": "Ika dae nagsasambit kan tipo nin palaogang kahon tanganing maimukna.",
+ "inputbox-error-bad-type": "An tipo kan palaogang kahon na \"$1\" bakong rekonosido.\nPakisambit tabi an \"magmukna\", \"komento\", \"hanapa\" \"hanapa2\" o an \"kabilogang teksto\".",
+ "inputbox-tryexact": "Prubaran an eksaktong katampadan",
+ "inputbox-searchfulltext": "Hanapa an kabilogang teksto",
+ "inputbox-createarticle": "Muknaon an pahina",
+ "inputbox-ns-main": "Kapamayuhanan"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/be-tarask.json b/www/wiki/extensions/InputBox/i18n/be-tarask.json
new file mode 100644
index 00000000..580a02ae
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/be-tarask.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "EugeneZelenko",
+ "Jim-by",
+ "Red Winged Duck",
+ "Wizardist"
+ ]
+ },
+ "inputbox-desc": "Дазваляе дадаваць у тэкст перадвызначаныя HTML-формы",
+ "inputbox-error-no-type": "Вы не пазначылі тып ствараемага поля ўводу.",
+ "inputbox-error-bad-type": "Невядомы тып поля ўводу «$1».\nКалі ласка, выбірайце толькі з дазволеных тыпаў: «create», «comment», «search», «search2» ці «fulltext».",
+ "inputbox-tryexact": "Паспрабаваць дакладны пошук",
+ "inputbox-searchfulltext": "Шукаць увесь тэкст",
+ "inputbox-createarticle": "Стварыць старонку",
+ "inputbox-movearticle": "Перанесьці старонку",
+ "inputbox-postcomment": "Новы разьдзел",
+ "inputbox-postcommenttitle": "Новы разьдзел",
+ "inputbox-ns-main": "Асноўная"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/be.json b/www/wiki/extensions/InputBox/i18n/be.json
new file mode 100644
index 00000000..114e44c9
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/be.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Чаховіч Уладзіслаў"
+ ]
+ },
+ "inputbox-tryexact": "Строгі пошук",
+ "inputbox-createarticle": "Пачаць артыкул"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/bg.json b/www/wiki/extensions/InputBox/i18n/bg.json
new file mode 100644
index 00000000..80045416
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/bg.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "DCLXVI",
+ "Spiritia",
+ "Vodnokon4e",
+ "StanProg"
+ ]
+ },
+ "inputbox-desc": "Позволява вмъкването на HTML формуляри",
+ "inputbox-error-no-type": "Не се посочили типа на кутията за вход, която да бъде създадена.",
+ "inputbox-error-bad-type": "Неразпознат тип „$1“ на кутията за вход.\nНеобходимо е да се посочи „create“, „comment“, „search“, „search2“ или „fulltext“.",
+ "inputbox-tryexact": "Пълно и точно съвпадение",
+ "inputbox-searchfulltext": "Претърсване на целия текст",
+ "inputbox-createarticle": "Създаване",
+ "inputbox-movearticle": "Преместване на страница",
+ "inputbox-postcomment": "Нов раздел",
+ "inputbox-postcommenttitle": "Нов раздел"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/bgn.json b/www/wiki/extensions/InputBox/i18n/bgn.json
new file mode 100644
index 00000000..258775a0
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/bgn.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Baloch Afghanistan"
+ ]
+ },
+ "inputbox-tryexact": "نزیز به نزیز ئی متابکت ئا آزمایش بکن",
+ "inputbox-movearticle": "تاکدیمی انتقال"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/bho.json b/www/wiki/extensions/InputBox/i18n/bho.json
new file mode 100644
index 00000000..89ead989
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/bho.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "SatyamMishra"
+ ]
+ },
+ "inputbox-tryexact": "एकदम सटीक मैच करावे के कोसिस करीं"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/bi.json b/www/wiki/extensions/InputBox/i18n/bi.json
new file mode 100644
index 00000000..ed7822a3
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/bi.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ushanka"
+ ]
+ },
+ "inputbox-createarticle": "Mekem atikel"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/bn.json b/www/wiki/extensions/InputBox/i18n/bn.json
new file mode 100644
index 00000000..6632bfc5
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/bn.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bellayet",
+ "Zaheen",
+ "Bodhisattwa"
+ ]
+ },
+ "inputbox-desc": "পূর্বসংজ্ঞায়িত এইচটিএমএল ফর্মের অন্তর্ভুক্তি অনুমোদন করুন",
+ "inputbox-error-no-type": "আপনি ইনপুট বক্স তৈরির জন্য ইনপুট বক্সের ধরণ নির্ধারণ করেননি।",
+ "inputbox-error-bad-type": "\"$1\" ধরনেরর ইনপুট বাক্স সনাক্ত করা যায় নাই।\nঅনুগ্রহ করে \"create\", \"comment\", \"search\" অথবা \"search2\" নির্ধারণ করুন।",
+ "inputbox-tryexact": "ঠিক এই নামের নিবন্ধে যান",
+ "inputbox-searchfulltext": "সব বিষয়বস্তুতে খুঁজুন",
+ "inputbox-createarticle": "নিবন্ধ শুরু করো",
+ "inputbox-movearticle": "পাতা স্থানান্তর করুন",
+ "inputbox-postcomment": "নতুন অনুচ্ছেদ",
+ "inputbox-postcommenttitle": "নতুন অনুচ্ছেদ",
+ "inputbox-ns-main": "প্রধান"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/bqi.json b/www/wiki/extensions/InputBox/i18n/bqi.json
new file mode 100644
index 00000000..8df7c14e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/bqi.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Behdarvandyani"
+ ]
+ },
+ "inputbox-desc": "اجازه استفاده زه فرم‌های HTML قبلا تعریف وابیده را اده",
+ "inputbox-error-no-type": "نوع جعبه ورودی درست شونده را معلوم نکردین.",
+ "inputbox-error-bad-type": "نوع \"$1\" سی جعبه ورودی شناخته نه. لطفاً یکی زه موارد \n\"create\", \"comment\", \"search\" or \"search2\" را مشخص کنین.",
+ "inputbox-tryexact": "تطبیق مورد به مورد را آزمایش کن",
+ "inputbox-searchfulltext": "جستجوی همه متن",
+ "inputbox-createarticle": "درست کردن صفحه"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/br.json b/www/wiki/extensions/InputBox/i18n/br.json
new file mode 100644
index 00000000..475deaeb
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/br.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Fulup",
+ "Fohanno"
+ ]
+ },
+ "inputbox-desc": "Aotren a ra degas furmskridoù HTML raktermenet.",
+ "inputbox-error-no-type": "N'eo ket bet spisaet ganeoc'h ar seurt boest enmont da vezañ krouet",
+ "inputbox-error-bad-type": "N'eo ket anavaezet ar seurt boest enmont \"$1\".\nSpisait \"create\", \"comment\", \"search\" pe \"search2\" pe \"fulltext\".",
+ "inputbox-tryexact": "Klask ma klotfe rik",
+ "inputbox-searchfulltext": "Klask en destenn a-bezh",
+ "inputbox-createarticle": "Krouiñ ar pennad",
+ "inputbox-movearticle": "Dilec'hiañ ar bajenn",
+ "inputbox-postcomment": "Rann nevez",
+ "inputbox-postcommenttitle": "Rann nevez",
+ "inputbox-ns-main": "Pennañ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/bs.json b/www/wiki/extensions/InputBox/i18n/bs.json
new file mode 100644
index 00000000..0145c484
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/bs.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "CERminator",
+ "DzWiki",
+ "Srdjan m"
+ ]
+ },
+ "inputbox-desc": "Omogućuje uključivanje prethodno napravljenih HTML obrazaca",
+ "inputbox-error-no-type": "Niste odredili tip kutije za unos koju pravite.",
+ "inputbox-error-bad-type": "Tip kutije unosa \"$1\" nije prepoznat.\nMolimo odredite \"create\", \"comment\", \"search\", \"search2\" ili \"fulltext\".",
+ "inputbox-tryexact": "Isprobaj naći tačan upit",
+ "inputbox-searchfulltext": "Pretraži cijeli tekst",
+ "inputbox-createarticle": "Napravi stranicu",
+ "inputbox-movearticle": "Premjesti stranicu",
+ "inputbox-postcomment": "Novi odlomak",
+ "inputbox-postcommenttitle": "Novi odlomak",
+ "inputbox-ns-main": "Glavno"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ca.json b/www/wiki/extensions/InputBox/i18n/ca.json
new file mode 100644
index 00000000..219cfb2b
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ca.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aleator",
+ "Gemmaa",
+ "Paucabot",
+ "SMP",
+ "Toniher"
+ ]
+ },
+ "inputbox-desc": "Permet la inclusió de formularis HTML predefinits",
+ "inputbox-error-no-type": "No heu especificat el tipus de quadre d'entrada per crear.",
+ "inputbox-error-bad-type": "El tipus de quadre d'entrada «$1» no està reconegut.\n\nEspecifiqueu-hi «create», «comment», «search», «search2» o «fulltext».",
+ "inputbox-tryexact": "Prova una coincidència exacta",
+ "inputbox-searchfulltext": "Cerca un text sencer",
+ "inputbox-createarticle": "Crea una pàgina",
+ "inputbox-ns-main": "Principal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/cdo.json b/www/wiki/extensions/InputBox/i18n/cdo.json
new file mode 100644
index 00000000..07e01be6
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/cdo.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Yejianfei"
+ ]
+ },
+ "inputbox-createarticle": "開頁"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ce.json b/www/wiki/extensions/InputBox/i18n/ce.json
new file mode 100644
index 00000000..26d80f21
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ce.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "Sasan700",
+ "Умар"
+ ]
+ },
+ "inputbox-desc": "Аьтту хуьлуьйту хьалхе билгалйина HTML-формаш лато",
+ "inputbox-error-no-type": "Ахьа язъечу меттиган тайп билгала йина яц.",
+ "inputbox-tryexact": "Леррина лахар",
+ "inputbox-searchfulltext": "Дуьззина йозанца лахар",
+ "inputbox-createarticle": "АгӀо кхолла",
+ "inputbox-movearticle": "АгӀон цӀе хийца",
+ "inputbox-postcomment": "Керла дакъа",
+ "inputbox-postcommenttitle": "Керла дакъа"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ckb.json b/www/wiki/extensions/InputBox/i18n/ckb.json
new file mode 100644
index 00000000..4c4bc2ae
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ckb.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Calak",
+ "Lost Whispers",
+ "Épine"
+ ]
+ },
+ "inputbox-tryexact": "لێکچوونی تەواوەتی تاقی بکەرەوە",
+ "inputbox-ns-main": "سەرەکی"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/co.json b/www/wiki/extensions/InputBox/i18n/co.json
new file mode 100644
index 00000000..1bce3e7d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/co.json
@@ -0,0 +1,5 @@
+{
+ "@metadata": [],
+ "inputbox-searchfulltext": "Ricerca testu cumplettu",
+ "inputbox-createarticle": "Creà l'articulu"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/crh-cyrl.json b/www/wiki/extensions/InputBox/i18n/crh-cyrl.json
new file mode 100644
index 00000000..aa672bed
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/crh-cyrl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Don Alessandro"
+ ]
+ },
+ "inputbox-createarticle": "Саифени ярат"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/crh-latn.json b/www/wiki/extensions/InputBox/i18n/crh-latn.json
new file mode 100644
index 00000000..45bdf241
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/crh-latn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Don Alessandro"
+ ]
+ },
+ "inputbox-createarticle": "Saifeni yarat"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/cs.json b/www/wiki/extensions/InputBox/i18n/cs.json
new file mode 100644
index 00000000..44f418ee
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/cs.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Danny B.",
+ "Li-sung",
+ "Mormegil",
+ "Dvorapa"
+ ]
+ },
+ "inputbox-desc": "Umožňuje vkládat určité HTML formuláře.",
+ "inputbox-error-no-type": "Není určen typ formulářového pole k vytvoření.",
+ "inputbox-error-bad-type": "Nerozpoznaný typ pole „$1“.\nUveďte jednu z možností: „create“, „comment“, „search“, „search2“ nebo „fulltext“.",
+ "inputbox-tryexact": "Zkusit přesný název",
+ "inputbox-searchfulltext": "Plnotextové hledání",
+ "inputbox-createarticle": "Vytvořit článek",
+ "inputbox-movearticle": "Přesunout stránku",
+ "inputbox-postcomment": "Nová sekce",
+ "inputbox-postcommenttitle": "Nová sekce",
+ "inputbox-ns-main": "Hlavní"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/csb.json b/www/wiki/extensions/InputBox/i18n/csb.json
new file mode 100644
index 00000000..0a1293e1
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/csb.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kaszeba",
+ "Kirsan"
+ ]
+ },
+ "inputbox-tryexact": "Ùżëjë akùratnegò wësłowia",
+ "inputbox-createarticle": "Ùsadzë starnã"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/cu.json b/www/wiki/extensions/InputBox/i18n/cu.json
new file mode 100644
index 00000000..8b37c116
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/cu.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "ОйЛ"
+ ]
+ },
+ "inputbox-createarticle": "съꙁижди страницѧ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/cv.json b/www/wiki/extensions/InputBox/i18n/cv.json
new file mode 100644
index 00000000..69c1f259
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/cv.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Çĕнĕ статья çыр"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/cy.json b/www/wiki/extensions/InputBox/i18n/cy.json
new file mode 100644
index 00000000..2bb238df
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/cy.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lloffiwr"
+ ]
+ },
+ "inputbox-desc": "Yn caniatau creu blychau mewnbynnu sy'n cynnwys ffurflenni HTML wedi eu gosod yn barod i'w defnyddio",
+ "inputbox-error-no-type": "Nid ydych wedi pennu'r math o flwch mewnbynnu yr ydych am ei greu.",
+ "inputbox-error-bad-type": "Nid yw'r gair \"$1\" ar y math o flwch mewnbynnu yn ddealladwy gan y meddalwedd.\nDewiswch rhwng \"create\", \"comment\", \"search\" a \"search2\" neu \"fulltext\".",
+ "inputbox-tryexact": "Chwilio am yr union gymal",
+ "inputbox-searchfulltext": "Chwilio'r testun cyfan",
+ "inputbox-createarticle": "Creu'r dudalen",
+ "inputbox-ns-main": "Prif"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/da.json b/www/wiki/extensions/InputBox/i18n/da.json
new file mode 100644
index 00000000..3ba81b56
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/da.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Byrial",
+ "Peter Alberti",
+ "Christian List"
+ ]
+ },
+ "inputbox-desc": "Muliggør inkludering af forhåndsdefinerede HTML-formularer",
+ "inputbox-error-no-type": "Du har ikke angivet type i inputboksen som skal laves.",
+ "inputbox-error-bad-type": "Inputboks-type \"$1\" kendes ikke.\nVælg venligst \"create\", \"comment\", \"search\", \"search2\" eller \"fulltext\".",
+ "inputbox-tryexact": "Prøv præcis match",
+ "inputbox-searchfulltext": "Fuldtekstsøgning",
+ "inputbox-createarticle": "Opret side",
+ "inputbox-movearticle": "Flyt side",
+ "inputbox-postcomment": "Nyt afsnit",
+ "inputbox-postcommenttitle": "Nyt afsnit",
+ "inputbox-ns-main": "Hoved"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/de.json b/www/wiki/extensions/InputBox/i18n/de.json
new file mode 100644
index 00000000..8f056a83
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/de.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kghbln",
+ "LWChris",
+ "Metalhead64",
+ "Raimond Spekking",
+ "Umherirrender"
+ ]
+ },
+ "inputbox-desc": "Ergänzt das Tag <code>&lt;inputbox&gt;</code> zum Einbinden vordefinierter HTML-Eingabefelder",
+ "inputbox-error-no-type": "Es wurde kein Eingabefeldtyp angegeben.",
+ "inputbox-error-bad-type": "Der Eingabefeldtyp „$1“ ist unbekannt.\nBitte „create“, „comment“, „search“, „search2“ oder „fulltext“ angeben.",
+ "inputbox-tryexact": "Exakte Suche durchführen",
+ "inputbox-searchfulltext": "Volltextsuche",
+ "inputbox-createarticle": "Seite erstellen",
+ "inputbox-movearticle": "Seite verschieben",
+ "inputbox-postcomment": "Neuer Abschnitt",
+ "inputbox-postcommenttitle": "Neuer Abschnitt",
+ "inputbox-ns-main": "Seiten"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/din.json b/www/wiki/extensions/InputBox/i18n/din.json
new file mode 100644
index 00000000..34bbded8
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/din.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dinkawiki"
+ ]
+ },
+ "inputbox-desc": "Cɔk dom HTML cï teetic wänthɛɛr mɛtë thïn",
+ "inputbox-error-no-type": "Yïn akëc kuat de akuɔ̈p de tɛ̈uthïn wïc bï cak lueel.",
+ "inputbox-error-bad-type": "Kuat akuɔ̈p de tɛ̈uthïn “$1” acï baai.\nYïnacalaaŋ, luel “cak”, “këluel”, “göric”, “göric2” tëdɛ̈ “gääräbɛ̈n”.",
+ "inputbox-tryexact": "Them kot käthöŋ",
+ "inputbox-searchfulltext": "Caath në athör ëbɛ̈n",
+ "inputbox-createarticle": "Cak apam",
+ "inputbox-movearticle": "Jɔt apam",
+ "inputbox-postcomment": "Abak yam",
+ "inputbox-postcommenttitle": "Abak yam",
+ "inputbox-ns-main": "Këdït"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/diq.json b/www/wiki/extensions/InputBox/i18n/diq.json
new file mode 100644
index 00000000..b15b17b3
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/diq.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aspar",
+ "Erdemaslancan",
+ "Xoser",
+ "Mirzali",
+ "Kumkumuk"
+ ]
+ },
+ "inputbox-desc": "desturê daxilbiyayişê formê HTMLyi dano, no HTML gani ver ra şınasi bıbo.",
+ "inputbox-error-no-type": "Qutiya daxilbiyayişi ya ke vıraziyena gani tipê aye diyari bıbo",
+ "inputbox-error-bad-type": "Qutiyê tîp ê \"$1\"î kebul nikerd.\nMa şima rê \"create\", \"comment\", \"search\", \"search2\" or \"fulltext\" spesife bike.",
+ "inputbox-tryexact": "tam hemcıt biyayiş tesel bıker/bıcereb",
+ "inputbox-searchfulltext": "pêroyê metni bıgêr",
+ "inputbox-createarticle": "Pele vıraze",
+ "inputbox-movearticle": "Pele bıkırışe",
+ "inputbox-postcomment": "Leteyo newe",
+ "inputbox-postcommenttitle": "Leteyo newe",
+ "inputbox-ns-main": "Ser"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/dsb.json b/www/wiki/extensions/InputBox/i18n/dsb.json
new file mode 100644
index 00000000..a4bfb501
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/dsb.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Michawiki",
+ "Pe7er"
+ ]
+ },
+ "inputbox-desc": "Zapśěgnjenje pśeddefiněrowanych HTML-formularow dowóliś",
+ "inputbox-error-no-type": "Njejsy pódał typ zapódawańskego póla za napóranje.",
+ "inputbox-error-bad-type": "Zapódawańske pólo typa \"$1\" njespóznane.\nPšosym pódaj \"create\", \"comment\", \"search\", \"search2\" abo \"fulltext\".",
+ "inputbox-tryexact": "Eksaktne pytanje",
+ "inputbox-searchfulltext": "Ceły tekst pytaś",
+ "inputbox-createarticle": "Bok załožyś",
+ "inputbox-ns-main": "Boki"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/dty.json b/www/wiki/extensions/InputBox/i18n/dty.json
new file mode 100644
index 00000000..5a862f58
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/dty.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "जनक राज भट्ट",
+ "Nirajan pant"
+ ]
+ },
+ "inputbox-tryexact": "दुरुस्त मिलौन्या प्रयास गरऽ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/dv.json b/www/wiki/extensions/InputBox/i18n/dv.json
new file mode 100644
index 00000000..8f941e4b
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/dv.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Spacebirdy"
+ ]
+ },
+ "inputbox-createarticle": "މަޒުމޫނެއް ފައްޓަވާ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ee.json b/www/wiki/extensions/InputBox/i18n/ee.json
new file mode 100644
index 00000000..9021433c
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ee.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Natsubee",
+ "Aguve"
+ ]
+ },
+ "inputbox-tryexact": "Ŋlɔ nya pɛpɛpɛ",
+ "inputbox-searchfulltext": "Di nuŋɔŋlɔ bliboa me",
+ "inputbox-createarticle": "Dze nuŋɔŋlɔ yeye gɔme"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/el.json b/www/wiki/extensions/InputBox/i18n/el.json
new file mode 100644
index 00000000..eb4cd1ba
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/el.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dead3y3",
+ "ZaDiak"
+ ]
+ },
+ "inputbox-desc": "Επιτρέπει την περίληψη προκαθορισμένων φορμών HTML",
+ "inputbox-error-no-type": "Δεν έχετε καθορίσει τον τύπο του κουτιού εισόδου προς δημιουργία.",
+ "inputbox-error-bad-type": "Τύπος κουτιού εισόδου \"$1\" δεν αναγνωρίστηκε.<br />\nΠαρακαλώ ορίστε \"create\", \"comment\", \"search\", \"search2\" ή \"fulltext\".",
+ "inputbox-tryexact": "Δοκιμάστε την επακριβή αντιστοιχία.",
+ "inputbox-searchfulltext": "Αναζήτηση με το πλήρες κείμενο",
+ "inputbox-createarticle": "Δημιουργία σελίδας",
+ "inputbox-ns-main": "Κύριος"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/en-gb.json b/www/wiki/extensions/InputBox/i18n/en-gb.json
new file mode 100644
index 00000000..b8293add
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/en-gb.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Shirayuki"
+ ]
+ },
+ "inputbox-error-bad-type": "Input box type \"$1\" not recognised.\nPlease specify \"create\", \"comment\", \"search\", \"search2\" or \"fulltext\"."
+}
diff --git a/www/wiki/extensions/InputBox/i18n/en.json b/www/wiki/extensions/InputBox/i18n/en.json
new file mode 100644
index 00000000..25940819
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/en.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": []
+ },
+ "inputbox-desc": "Allow inclusion of predefined HTML forms",
+ "inputbox-error-no-type": "You have not specified the type of input box to create.",
+ "inputbox-error-bad-type": "Input box type \"$1\" not recognized.\nPlease specify \"create\", \"comment\", \"search\", \"search2\" or \"fulltext\".",
+ "inputbox-tryexact": "Try exact match",
+ "inputbox-searchfulltext": "Search full text",
+ "inputbox-createarticle": "Create page",
+ "inputbox-movearticle": "Move page",
+ "inputbox-postcomment": "New section",
+ "inputbox-postcommenttitle": "New section",
+ "inputbox-ns-main": "Main"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/eo.json b/www/wiki/extensions/InputBox/i18n/eo.json
new file mode 100644
index 00000000..6d527a42
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/eo.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "Michawiki",
+ "Yekrats"
+ ]
+ },
+ "inputbox-desc": "Permesi enhavon de antaŭdifinitaj HTML-kamparoj",
+ "inputbox-error-no-type": "Vi ne enigis la specon de enigo-kesto por krei.",
+ "inputbox-error-bad-type": "Enigo-kesto \"$1\" ne estas konata.\nBonvolu specifi keston \"create\", \"comment\", \"seatch\", \"search2\", aŭ \"fulltext\".",
+ "inputbox-tryexact": "Provu ekzaktan trafon",
+ "inputbox-searchfulltext": "Serĉi plentekste",
+ "inputbox-createarticle": "Krei artikolon",
+ "inputbox-postcommenttitle": "Nova sekcio",
+ "inputbox-ns-main": "Ĉefa"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/es.json b/www/wiki/extensions/InputBox/i18n/es.json
new file mode 100644
index 00000000..596eb94a
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/es.json
@@ -0,0 +1,23 @@
+{
+ "@metadata": {
+ "authors": [
+ "Crazymadlover",
+ "Icvav",
+ "MetalBrasil",
+ "Muro de Aguas",
+ "Sanbec",
+ "Fitoschido",
+ "Macofe"
+ ]
+ },
+ "inputbox-desc": "Permite la inclusión de formularios HTML predefinidos",
+ "inputbox-error-no-type": "No has especificado el tipo de casilla de entrada que se creará.",
+ "inputbox-error-bad-type": "No se reconoce el tipo de casilla de entrada «$1».\nElige entre «create», «comment», «search», «search2» o «fulltext».",
+ "inputbox-tryexact": "Buscar título exacto",
+ "inputbox-searchfulltext": "Buscar por texto completo",
+ "inputbox-createarticle": "Crear página",
+ "inputbox-movearticle": "Trasladar página",
+ "inputbox-postcomment": "Sección nueva",
+ "inputbox-postcommenttitle": "Sección nueva",
+ "inputbox-ns-main": "Principal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/et.json b/www/wiki/extensions/InputBox/i18n/et.json
new file mode 100644
index 00000000..7865ae60
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/et.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Avjoska",
+ "Jaan513",
+ "Pikne"
+ ]
+ },
+ "inputbox-desc": "Lubab kaasata eelmääratletud HTML-vormid.",
+ "inputbox-error-no-type": "Sisendkasti tüüp on määramata.",
+ "inputbox-error-bad-type": "Tundmatu sisendkasti tüüp \"$1\".\nPalun vali tüübiks \"create\", \"comment\", \"search\", \"search2\" või \"fulltext\".",
+ "inputbox-tryexact": "Proovi täpset vastet",
+ "inputbox-searchfulltext": "Otsi täisteksti",
+ "inputbox-createarticle": "Alusta lehekülge",
+ "inputbox-movearticle": "Teisalda lehekülg",
+ "inputbox-postcomment": "Uus alaosa",
+ "inputbox-postcommenttitle": "Uus alaosa",
+ "inputbox-ns-main": "Põhinimeruum"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/eu.json b/www/wiki/extensions/InputBox/i18n/eu.json
new file mode 100644
index 00000000..d65dec1d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/eu.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "පසිඳු කාවින්ද",
+ "Sator",
+ "Subi"
+ ]
+ },
+ "inputbox-tryexact": "Izenburu zehatza bilatu",
+ "inputbox-searchfulltext": "Testu osoa bilatu",
+ "inputbox-createarticle": "Artikulua sortu",
+ "inputbox-movearticle": "Mugitu orria",
+ "inputbox-postcomment": "Atal berria",
+ "inputbox-postcommenttitle": "Atal berria",
+ "inputbox-ns-main": "Nagusia"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ext.json b/www/wiki/extensions/InputBox/i18n/ext.json
new file mode 100644
index 00000000..81676a7e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ext.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Crial página"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/fa.json b/www/wiki/extensions/InputBox/i18n/fa.json
new file mode 100644
index 00000000..a816734c
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/fa.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ebraminio",
+ "Huji",
+ "Mjbmr",
+ "Calak",
+ "Alirezaaa"
+ ]
+ },
+ "inputbox-desc": "اجازهٔ استفاده از فرم‌های HTML از پیش تعریف شده را می‌دهد",
+ "inputbox-error-no-type": "نوع جعبهٔ ورودی ایجادشونده را مشخص نکرده‌اید.",
+ "inputbox-error-bad-type": "نوع «$1» برای جعبهٔ ورودی شناخته شده نیست.\nلطفاً یکی از موارد «create»، «comment»، «search»، «search2» یا «fulltext» را مشخص کنید.",
+ "inputbox-tryexact": "مطابقت نظیر به نظیر را بیازما",
+ "inputbox-searchfulltext": "جستجوی کل متن",
+ "inputbox-createarticle": "ایجاد صفحه",
+ "inputbox-movearticle": "انتقال صفحه",
+ "inputbox-postcomment": "بخش جدید",
+ "inputbox-postcommenttitle": "بخش تازه",
+ "inputbox-ns-main": "اصلی"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/fi.json b/www/wiki/extensions/InputBox/i18n/fi.json
new file mode 100644
index 00000000..1a051b02
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/fi.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Crt",
+ "Nike",
+ "Olli",
+ "Stryn",
+ "01miki10"
+ ]
+ },
+ "inputbox-desc": "Mahdollistaa ennalta määriteltyjen lomakkeiden sisällyttämisen sivuille.",
+ "inputbox-error-no-type": "Et määritellyt syötekentän tyyppiä.",
+ "inputbox-error-bad-type": "Syötekentän tyyppi ”$1” ei kelpaa.\nSallittuja arvoja ovat create, comment, search, search2 ja fulltext.",
+ "inputbox-tryexact": "Yritä tarkkaa osumaa",
+ "inputbox-searchfulltext": "Etsi koko tekstiä",
+ "inputbox-createarticle": "Luo sivu",
+ "inputbox-movearticle": "Siirrä sivu",
+ "inputbox-postcomment": "Uusi osio",
+ "inputbox-postcommenttitle": "Uusi osio",
+ "inputbox-ns-main": "(sivut)"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/fo.json b/www/wiki/extensions/InputBox/i18n/fo.json
new file mode 100644
index 00000000..be824f80
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/fo.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "EileenSanda"
+ ]
+ },
+ "inputbox-tryexact": "Far til síðu",
+ "inputbox-searchfulltext": "Leita eftir hesum teksti",
+ "inputbox-createarticle": "Upprætta síðu",
+ "inputbox-ns-main": "Høvuðs"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/fr.json b/www/wiki/extensions/InputBox/i18n/fr.json
new file mode 100644
index 00000000..f9033531
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/fr.json
@@ -0,0 +1,23 @@
+{
+ "@metadata": {
+ "authors": [
+ "Crochet.david",
+ "IAlex",
+ "Kghbln",
+ "Sherbrooke",
+ "Wyz",
+ "Gomoko",
+ "Zetud"
+ ]
+ },
+ "inputbox-desc": "Permet l’inclusion de formulaires HTML prédéfinis.",
+ "inputbox-error-no-type": "Vous n’avez pas précisé le type de la boîte d’entrée à créer.",
+ "inputbox-error-bad-type": "Type de boîte entrée « $1 » non reconnue.\nIndiquez une option parmi « create », « comment », « search », « searche2 » ou « fulltext ».",
+ "inputbox-tryexact": "Essayez la correspondance exacte",
+ "inputbox-searchfulltext": "Recherche en texte intégral",
+ "inputbox-createarticle": "Créer une page",
+ "inputbox-movearticle": "Renommer la page",
+ "inputbox-postcomment": "Nouvelle section",
+ "inputbox-postcommenttitle": "Nouvelle section",
+ "inputbox-ns-main": "Principal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/frp.json b/www/wiki/extensions/InputBox/i18n/frp.json
new file mode 100644
index 00000000..2bde67a8
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/frp.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "ChrisPtDe"
+ ]
+ },
+ "inputbox-desc": "Pèrmèt l’encllusion de formulèros HTML prèdèfenis.",
+ "inputbox-error-no-type": "Vos éd pas spècefiâ lo tipo de la bouèta d’entrâ a fâre.",
+ "inputbox-error-bad-type": "Tipo de bouèta d’entrâ « $1 » pas recognu.\nVolyéd spècefiar un chouèx permié « create », « comment », « search », « searche2 » ou ben « fulltext ».",
+ "inputbox-tryexact": "Èprovâd la corrèspondence ègzacta.",
+ "inputbox-searchfulltext": "Rechèrche en tèxto complèt",
+ "inputbox-createarticle": "Fâre la pâge",
+ "inputbox-ns-main": "Principâl"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/frr.json b/www/wiki/extensions/InputBox/i18n/frr.json
new file mode 100644
index 00000000..762a9053
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/frr.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Murma174"
+ ]
+ },
+ "inputbox-desc": "Föörformatiaret HTML-fialen tuläät",
+ "inputbox-error-no-type": "Dü heest ei uunden, hün slach faan fial iinracht wurd skal.",
+ "inputbox-error-bad-type": "Di slach „$1“ as ei tuläät. Wees so gud an nem „create“, „comment“, „search“, „search2“ of „fulltext“.",
+ "inputbox-tryexact": "Schük genau",
+ "inputbox-searchfulltext": "Schük uun di hialer tekst",
+ "inputbox-createarticle": "Maage en nei sidj",
+ "inputbox-movearticle": "Sidj fersküüw",
+ "inputbox-postcomment": "Nei kirew",
+ "inputbox-postcommenttitle": "Nei kirew",
+ "inputbox-ns-main": "Sidjen"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/fur.json b/www/wiki/extensions/InputBox/i18n/fur.json
new file mode 100644
index 00000000..5453489e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/fur.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Klenje"
+ ]
+ },
+ "inputbox-tryexact": "Cîr une corispondence esate",
+ "inputbox-searchfulltext": "Cîr in dut il test",
+ "inputbox-createarticle": "Cree vôs"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/fy.json b/www/wiki/extensions/InputBox/i18n/fy.json
new file mode 100644
index 00000000..cb864c59
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/fy.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Snakesteuben"
+ ]
+ },
+ "inputbox-createarticle": "Side oanmeitsje"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ga.json b/www/wiki/extensions/InputBox/i18n/ga.json
new file mode 100644
index 00000000..a78a8ede
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ga.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Evertype"
+ ]
+ },
+ "inputbox-desc": "Ceadaigh glactha foirmeacha HTML réamhshainithe",
+ "inputbox-error-no-type": "Níor shocraigh tú an cineál bosca ionchur a bheadh le cruthú.",
+ "inputbox-error-bad-type": "Bosca iochur den chineál \"$1\" gan aithint.\nSonraigh \"create\", \"comment\", \"search\", \"search2\" nó \"fulltext\".",
+ "inputbox-tryexact": "Déan iarracht ar meaitseáil cruinn",
+ "inputbox-searchfulltext": "Cuardaigh sa téacs iomlán",
+ "inputbox-createarticle": "Cruthaigh alt"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/gcr.json b/www/wiki/extensions/InputBox/i18n/gcr.json
new file mode 100644
index 00000000..18b1c800
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/gcr.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "LeGuyanaisPure"
+ ]
+ },
+ "inputbox-tryexact": "Éséyé korèspondans ègzak-a"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/gd.json b/www/wiki/extensions/InputBox/i18n/gd.json
new file mode 100644
index 00000000..7fab0291
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/gd.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Akerbeltz"
+ ]
+ },
+ "inputbox-tryexact": "Dèan lorg pongail"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/gl.json b/www/wiki/extensions/InputBox/i18n/gl.json
new file mode 100644
index 00000000..75a394f4
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/gl.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Alma",
+ "Toliño",
+ "Banjo"
+ ]
+ },
+ "inputbox-desc": "Permitir a inclusión de formularios predefinidos de HTML",
+ "inputbox-error-no-type": "Non especificou o tipo de caixa de entrada que quere crear.",
+ "inputbox-error-bad-type": "O tipo de caixa de entrada \"$1\" non foi recoñecido.\nPor favor, especifique \"create\", \"comment\", \"search\", \"search2\" ou \"fulltext\".",
+ "inputbox-tryexact": "Buscar coincidencias exactas",
+ "inputbox-searchfulltext": "Buscar o texto completo",
+ "inputbox-createarticle": "Crear a páxina",
+ "inputbox-movearticle": "Mover páxina",
+ "inputbox-postcomment": "Nova sección",
+ "inputbox-postcommenttitle": "Nova sección",
+ "inputbox-ns-main": "Principal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/gom-deva.json b/www/wiki/extensions/InputBox/i18n/gom-deva.json
new file mode 100644
index 00000000..8710f59a
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/gom-deva.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Supriya kankumbikar"
+ ]
+ },
+ "inputbox-tryexact": "दिल्लेच उतर सोदात"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/gom-latn.json b/www/wiki/extensions/InputBox/i18n/gom-latn.json
new file mode 100644
index 00000000..eabe7617
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/gom-latn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "The Discoverer"
+ ]
+ },
+ "inputbox-tryexact": "Dil'lech utram sod"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/gor.json b/www/wiki/extensions/InputBox/i18n/gor.json
new file mode 100644
index 00000000..3b86b0fe
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/gor.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Marwan Mohamad"
+ ]
+ },
+ "inputbox-tryexact": "Yimontali mopotuwawuwo lo eksak"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/grc.json b/www/wiki/extensions/InputBox/i18n/grc.json
new file mode 100644
index 00000000..ca3482eb
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/grc.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Omnipaedista"
+ ]
+ },
+ "inputbox-desc": "Ἐπιτρέπειν τὴν εἰσαγωγὴν προκαθωρισμένων μορφῶν HTML",
+ "inputbox-error-no-type": "Οὐχ ὥρισας τὸν τύπον τοῦ ποιηθέντος κυτίου εἰσηγμένων δεδομένων.",
+ "inputbox-error-bad-type": "Ὁ τύπος τοῦ ποιηθέντος κυτίου εἰσηγμένων δεδομένων \"$1\" ἀνεγνωρισμένος οὐκ ἔστιν.\nΚαθόρισον \"create\", \"comment\", \"search\", \"search2\" ἢ \"fulltext\".",
+ "inputbox-tryexact": "Πείρασον τὴν ἀκριβῆ ἀντιστοιχίαν",
+ "inputbox-searchfulltext": "Ζητεῖν ἐν τῷ πλήρει κειμένῳ",
+ "inputbox-createarticle": "Δέλτον δημιουργήσειν"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/gsw.json b/www/wiki/extensions/InputBox/i18n/gsw.json
new file mode 100644
index 00000000..89c9bd8f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/gsw.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Als-Chlämens",
+ "Als-Holder"
+ ]
+ },
+ "inputbox-desc": "Erlaubt d Yybindig vu vordefinierte HTML-Formular",
+ "inputbox-error-no-type": "Du hesch kei Yygabfäld-Typ aagee.",
+ "inputbox-error-bad-type": "Yygabfäld-Typ „$1“ nit bekannt.\nBitte „create“, „comment“, „search“, „search2“ oder „fulltext“ aagee.",
+ "inputbox-tryexact": "Versuech es mitenere exakte Suech",
+ "inputbox-searchfulltext": "De gsamti Teggscht durchsueche",
+ "inputbox-createarticle": "Syte aalaie",
+ "inputbox-ns-main": "Hauptsyte"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/gu.json b/www/wiki/extensions/InputBox/i18n/gu.json
new file mode 100644
index 00000000..73fc7e4e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/gu.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dsvyas",
+ "KartikMistry",
+ "Sushant savla",
+ "NehalDaveND"
+ ]
+ },
+ "inputbox-desc": "પૂર્વવ્યાખ્યાયિત HTML પત્રકોનો સમાવેશ માન્ય",
+ "inputbox-error-no-type": "તમે બનાવવા માટેના ઈનપુટ બોક્સનો પ્રકાર સ્પષ્ટ કર્યો નથી.",
+ "inputbox-error-bad-type": "ઈનપુટ ખાનાનો પ્રકર \"$1\" ન ઓળખી શકાયો.\nઆમાંથી કોઈ એક હણાવો \"create\", \"comment\", \"search\", \"search2\" or \"fulltext\".",
+ "inputbox-tryexact": "આબેહૂબ સરખામણી ધારી પ્રયત્ન કરો",
+ "inputbox-searchfulltext": "સંપૂર્ણ લખાણ શોધો",
+ "inputbox-createarticle": "નવો લેખ શરૂ કરો",
+ "inputbox-movearticle": "નામ બદલો",
+ "inputbox-postcomment": "નવો વિભાગ",
+ "inputbox-postcommenttitle": "નવો વિભાગ",
+ "inputbox-ns-main": "મુખ્ય"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/gv.json b/www/wiki/extensions/InputBox/i18n/gv.json
new file mode 100644
index 00000000..e4a0602d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/gv.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "MacTire02"
+ ]
+ },
+ "inputbox-createarticle": "Croo duillag"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/hak.json b/www/wiki/extensions/InputBox/i18n/hak.json
new file mode 100644
index 00000000..561e3ec1
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/hak.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hakka"
+ ]
+ },
+ "inputbox-tryexact": "Sòng-chhṳ chîn-khok phit-phi",
+ "inputbox-searchfulltext": "Chhiòn vùn-kiám chhìm-cháu",
+ "inputbox-createarticle": "Kien-li̍p vùn-chông"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/he.json b/www/wiki/extensions/InputBox/i18n/he.json
new file mode 100644
index 00000000..a1054233
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/he.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "Guycn2",
+ "Rotem Liss"
+ ]
+ },
+ "inputbox-desc": "אפשרות להכללת טופסי HTML שהוגדרו מראש",
+ "inputbox-error-no-type": "לא ציינת את סוג תיבת הקלט ליצירה.",
+ "inputbox-error-bad-type": "סוג תיבת הקלט \"$1\" אינו ידוע.\nאנא ציינו \"create\", \"comment\", \"search\", \"search2\" או \"fulltext\".",
+ "inputbox-tryexact": "לדף בשם זה",
+ "inputbox-searchfulltext": "חיפוש בתוכן הדפים",
+ "inputbox-createarticle": "יצירת הדף",
+ "inputbox-movearticle": "העברת דף",
+ "inputbox-postcomment": "פסקה חדשה",
+ "inputbox-postcommenttitle": "פסקה חדשה",
+ "inputbox-ns-main": "ראשי"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/hi.json b/www/wiki/extensions/InputBox/i18n/hi.json
new file mode 100644
index 00000000..609318a5
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/hi.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ansumang",
+ "Kaustubh",
+ "Siddhartha Ghai",
+ "NehalDaveND"
+ ]
+ },
+ "inputbox-desc": "पहले से लिखे गये एच॰टी॰एम॰एल फ़ॉर्म प्रयोग करने की सुविधा दें",
+ "inputbox-error-no-type": "आपने बनाने हेतु इनपुट बक्से का प्रकार नहीं बताया है।",
+ "inputbox-error-bad-type": "इनपुट बक्सा प्रकार \"$1\" ज्ञात नहीं है।\nकृपया \"create\", \"comment\", \"search\", \"search2\" या \"fulltext\" में से एक चुनें।",
+ "inputbox-tryexact": "दिये हुए शब्द ही खोजें",
+ "inputbox-searchfulltext": "पूरा पाठ खोजें",
+ "inputbox-createarticle": "पृष्ठ बनाएँ",
+ "inputbox-movearticle": "नाम बदलें",
+ "inputbox-postcomment": "नवीनः विभागः",
+ "inputbox-postcommenttitle": "नवीनः विभागः",
+ "inputbox-ns-main": "मुख्य"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/hif-latn.json b/www/wiki/extensions/InputBox/i18n/hif-latn.json
new file mode 100644
index 00000000..d6641806
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/hif-latn.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Thakurji"
+ ]
+ },
+ "inputbox-desc": "Predefined HTML forms ke allow karo",
+ "inputbox-error-no-type": "Aap ii nai bataya hai ki kon rakam ke input box ke banae ke chaahi",
+ "inputbox-error-bad-type": "Input box type \"$1\" ke pehchana nai gais hai.\nMeharbani kar kr ii batao ki \"create\", \"comment\", \"search\", \"search2\" nai to \"fulltext\" hai.",
+ "inputbox-tryexact": "Exact match ke try karo",
+ "inputbox-searchfulltext": "Puura text me khojo",
+ "inputbox-createarticle": "Panna banao"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/hil.json b/www/wiki/extensions/InputBox/i18n/hil.json
new file mode 100644
index 00000000..ca422b7f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/hil.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jose77"
+ ]
+ },
+ "inputbox-createarticle": "Maghimo artikulo"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/hr.json b/www/wiki/extensions/InputBox/i18n/hr.json
new file mode 100644
index 00000000..d8be3945
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/hr.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Brest",
+ "Dnik",
+ "SpeedyGonsales",
+ "MaGa"
+ ]
+ },
+ "inputbox-desc": "Dozvoli uključivanje predefiniranih obrazaca u HTML-u",
+ "inputbox-error-no-type": "Niste naveli tip ulaznog polja koje želite stvoriti.",
+ "inputbox-error-bad-type": "Tip ulaznog polja \"$1\" nije prepoznat. \nMolimo navedite \"create\", \"comment\", \"search\", \"search2\" ili \"fulltext\".",
+ "inputbox-tryexact": "Pokušaj naći točan pogodak",
+ "inputbox-searchfulltext": "Traži po cjelokupnom tekstu",
+ "inputbox-createarticle": "Stvori stranicu",
+ "inputbox-postcomment": "Novi odlomak",
+ "inputbox-postcommenttitle": "Novi odlomak"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/hsb.json b/www/wiki/extensions/InputBox/i18n/hsb.json
new file mode 100644
index 00000000..f0f6b24a
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/hsb.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dundak",
+ "Michawiki"
+ ]
+ },
+ "inputbox-desc": "Zapřijeće předdefinowanych HTML-formularow dowolić.",
+ "inputbox-error-no-type": "Njesy typ zapodatneho kašćika podał.",
+ "inputbox-error-bad-type": "Typ zapodatneho kašćika \"$1\" je njeznaty. Prošu podaj płaćiwy typ: \"create\", \"comment\", \"search\", \"search2\" abo \"fulltext\".",
+ "inputbox-tryexact": "Dokładne pytanje spytać",
+ "inputbox-searchfulltext": "Dospołny tekst pytać",
+ "inputbox-createarticle": "Nastawk wutworić",
+ "inputbox-ns-main": "Strony"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ht.json b/www/wiki/extensions/InputBox/i18n/ht.json
new file mode 100644
index 00000000..828e0966
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ht.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Boukman",
+ "Masterches"
+ ]
+ },
+ "inputbox-desc": "Pèmèt ou mete fòmilè HTML yo ki deja defini.",
+ "inputbox-error-no-type": "Atansyon, ou pa bay detay sou tip, kalite bwat antre pou ou kreye",
+ "inputbox-error-bad-type": "Kalite bwat $1 ou antre pa bon, sistèm nan pa konnen l.\nTanpri mete youn nan opsyon sa yo: \"create\", \"comment\", \"search\", \"search2\" oubyen \"fulltext\".",
+ "inputbox-tryexact": "Eseye paj ki koresponn toutbon.",
+ "inputbox-searchfulltext": "Fouye nan tout teks nèt",
+ "inputbox-createarticle": "Kreye atik sa"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/hu.json b/www/wiki/extensions/InputBox/i18n/hu.json
new file mode 100644
index 00000000..440728bf
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/hu.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dani",
+ "Dj",
+ "Glanthor Reviol",
+ "KossuthRad",
+ "Tgr",
+ "Tacsipacsi"
+ ]
+ },
+ "inputbox-desc": "Lehetővé teszi előre megadott HTML-űrlapok beillesztését",
+ "inputbox-error-no-type": "Nem adtad meg, hogy milyen típusú beviteli mezőt akarsz készíteni.",
+ "inputbox-error-bad-type": "„$1” típusú beviteli mező nem ismert.\nA „create”, „comment”, „search”, „search2” vagy „fulltext” egyikét add meg.",
+ "inputbox-tryexact": "Ugrás a szócikkre",
+ "inputbox-searchfulltext": "Keresés a teljes szövegben",
+ "inputbox-createarticle": "Szócikk létrehozása",
+ "inputbox-movearticle": "Lap átnevezése",
+ "inputbox-postcomment": "Új szakasz",
+ "inputbox-postcommenttitle": "Új szakasz",
+ "inputbox-ns-main": "Fő"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/hy.json b/www/wiki/extensions/InputBox/i18n/hy.json
new file mode 100644
index 00000000..c3da76ea
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/hy.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Xelgen",
+ "Vahe Gharakhanyan"
+ ]
+ },
+ "inputbox-tryexact": "Փնտրել լիովին համընկնում",
+ "inputbox-createarticle": "Ստեղծել էջ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ia.json b/www/wiki/extensions/InputBox/i18n/ia.json
new file mode 100644
index 00000000..23fb4508
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ia.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "McDutchie"
+ ]
+ },
+ "inputbox-desc": "Permitter le inclusion de formularios HTML predefinite",
+ "inputbox-error-no-type": "Tu non ha specificate le typo de quadro de entrata a crear.",
+ "inputbox-error-bad-type": "Le typo de quadro de entrata \"$1\" non es recognoscite.\nPer favor specifica \"create\", \"comment\", \"search\", \"search2\" o \"fulltext\".",
+ "inputbox-tryexact": "Cercar le titulo exacte",
+ "inputbox-searchfulltext": "Cercar in texto integre",
+ "inputbox-createarticle": "Crear pagina",
+ "inputbox-ns-main": "Principal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/id.json b/www/wiki/extensions/InputBox/i18n/id.json
new file mode 100644
index 00000000..73f450dc
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/id.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "-iNu-",
+ "Aldnonymous",
+ "IvanLanin",
+ "Rex",
+ "Gombang"
+ ]
+ },
+ "inputbox-desc": "Memungkinkan penggunaan form HTML yang telah ditentukan",
+ "inputbox-error-no-type": "Anda harus menentukan tipe kotak input yang ingin dibuat.",
+ "inputbox-error-bad-type": "Tipe kotak input \"$1\" tak dikenal.\nHarap gunakan \"create\", \"comment\", \"search\", \"search2\", atau \"fulltext\".",
+ "inputbox-tryexact": "Coba pencocokan eksak",
+ "inputbox-searchfulltext": "Cari di teks lengkap",
+ "inputbox-createarticle": "Buat halaman",
+ "inputbox-movearticle": "Pindahkan halaman",
+ "inputbox-postcomment": "Bagian baru",
+ "inputbox-postcommenttitle": "Bagian baru",
+ "inputbox-ns-main": "Utama"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ig.json b/www/wiki/extensions/InputBox/i18n/ig.json
new file mode 100644
index 00000000..dcfa1137
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ig.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ukabia"
+ ]
+ },
+ "inputbox-createarticle": "Ké ihü"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ilo.json b/www/wiki/extensions/InputBox/i18n/ilo.json
new file mode 100644
index 00000000..cc28b8b9
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ilo.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lam-ang"
+ ]
+ },
+ "inputbox-desc": "Mangipalubos ti panangiraman kadagiti nasakbayan a naipalawag a porma ti HTML",
+ "inputbox-error-no-type": "Saanmo pay a nainaganan no ania a kita ti partuaten a kahon ti pagikabilan.",
+ "inputbox-error-bad-type": "Saan a mabigbigan ti kita ti kahon a pigikabilan ti \"$1\".\nPangngaasi nga inaganam ti \"create\", \"comment\", \"search\", \"search2\" wenno \"fulltext\".",
+ "inputbox-tryexact": "Padasem to pudno a kapada",
+ "inputbox-searchfulltext": "Agbiruk iti napno a teksto",
+ "inputbox-createarticle": "Agpartuat ti panid",
+ "inputbox-movearticle": "Iyalis ti panid",
+ "inputbox-postcomment": "Baro a paset",
+ "inputbox-postcommenttitle": "Baro a paset",
+ "inputbox-ns-main": "Nangruna"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/inh.json b/www/wiki/extensions/InputBox/i18n/inh.json
new file mode 100644
index 00000000..b11de729
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/inh.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Adam-Yourist"
+ ]
+ },
+ "inputbox-desc": "Аьттув хулийта хана хьалхе белгалъяьккха йола HTML-формаш хьалсага",
+ "inputbox-error-no-type": "Iочуяздара урда тайпа белгалдаьккхадац Iа.",
+ "inputbox-error-bad-type": "Iочуяздара урда «$1» довзаш доаца тайпа.\nДехар да, белгалде мегаш долча тайпашта юкъера цаI: «create», «comment», «search», «search2» е «fulltext».",
+ "inputbox-tryexact": "ЛаьрххIа дола лахар",
+ "inputbox-searchfulltext": "Дизза йоазонца дола лахар",
+ "inputbox-createarticle": "Хьакхолла статья",
+ "inputbox-movearticle": "Хувца оагIон цӀи",
+ "inputbox-postcomment": "Керда дáкъа",
+ "inputbox-postcommenttitle": "Керда дáкъа",
+ "inputbox-ns-main": "Кертера"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/io.json b/www/wiki/extensions/InputBox/i18n/io.json
new file mode 100644
index 00000000..94268382
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/io.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Malafaya",
+ "Joao Xavier"
+ ]
+ },
+ "inputbox-tryexact": "Probar simileso exakta",
+ "inputbox-searchfulltext": "Serchar tota texto",
+ "inputbox-createarticle": "Krear pagino"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/is.json b/www/wiki/extensions/InputBox/i18n/is.json
new file mode 100644
index 00000000..6a558194
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/is.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "S.Örvarr.S",
+ "Snævar",
+ "Sveinn í Felli"
+ ]
+ },
+ "inputbox-error-no-type": "Þú hefur ekki tilgreint hverskonar kassa þú villt búa til.",
+ "inputbox-error-bad-type": "\"$1\" gerð innsetningarkassa þekkist ekki.\nVinsamlegast tilgreindu \"create\", \"comment\", \"search\", \"search2\" eða \"fulltext\".",
+ "inputbox-tryexact": "Prófa nákvæma samsvörun.",
+ "inputbox-createarticle": "Búa til síðu",
+ "inputbox-movearticle": "Færa síðu",
+ "inputbox-postcomment": "Nýr hluti",
+ "inputbox-postcommenttitle": "Nýr hluti",
+ "inputbox-ns-main": "Aðalsíða"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/it.json b/www/wiki/extensions/InputBox/i18n/it.json
new file mode 100644
index 00000000..4522284e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/it.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "BrokenArrow",
+ "Darth Kule",
+ "Karika",
+ "Beta16"
+ ]
+ },
+ "inputbox-desc": "Consente l'inserimento di moduli HTML predefiniti",
+ "inputbox-error-no-type": "Non è stato specificato il tipo di inputbox da creare.",
+ "inputbox-error-bad-type": "\"$1\" non è un tipo di inputbox riconosciuto. Scegliere il tipo tra \"create\", \"comment\", \"search\", \"search2\" e \"fulltext\".",
+ "inputbox-tryexact": "Cerca corrispondenza esatta",
+ "inputbox-searchfulltext": "Ricerca nel testo",
+ "inputbox-createarticle": "Crea pagina",
+ "inputbox-movearticle": "Sposta la pagina",
+ "inputbox-postcomment": "Nuova sezione",
+ "inputbox-postcommenttitle": "Nuova sezione",
+ "inputbox-ns-main": "Principale"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ja.json b/www/wiki/extensions/InputBox/i18n/ja.json
new file mode 100644
index 00000000..6fcd354a
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ja.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Fryed-peach",
+ "JtFuruhata",
+ "Schu",
+ "Shirayuki",
+ "Otokoume"
+ ]
+ },
+ "inputbox-desc": "あらかじめ定義されたHTMLフォーム埋め込み機能を有効にする",
+ "inputbox-error-no-type": "作成する入力ボックスの種類を指定していません。",
+ "inputbox-error-bad-type": "「$1」という種類の入力ボックスは定義されていません。\n\"create\"、\"comment\"、\"search\"、\"search2\"、\"fulltext\"のいずれかを指定してください。",
+ "inputbox-tryexact": "一致する項目を検索",
+ "inputbox-searchfulltext": "全文検索",
+ "inputbox-createarticle": "項目を作成",
+ "inputbox-movearticle": "ページを移動",
+ "inputbox-postcomment": "新しい節",
+ "inputbox-postcommenttitle": "新しい節",
+ "inputbox-ns-main": "(標準)"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/jam.json b/www/wiki/extensions/InputBox/i18n/jam.json
new file mode 100644
index 00000000..67d13767
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/jam.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Katxis"
+ ]
+ },
+ "inputbox-tryexact": "Chrai egzak mach‎"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/jut.json b/www/wiki/extensions/InputBox/i18n/jut.json
new file mode 100644
index 00000000..0d708e30
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/jut.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Huslåke",
+ "Jyllanj"
+ ]
+ },
+ "inputbox-desc": "Mulidjör inkludiireng å forhånjsdefiniirtje HTML-formulare",
+ "inputbox-error-no-type": "Du hår ett åndjøwen typ i inputboksi som skal laws.",
+ "inputbox-error-bad-type": "Input boks type \"$1\" ekke herkonnen. Spæsifiær \"skep\", \"bimærkenge\", \"søĝ\" æller \"søĝ2\".",
+ "inputbox-tryexact": "Forsyeg go te siden",
+ "inputbox-searchfulltext": "Syeg ette hielteksten",
+ "inputbox-createarticle": "Oprett siid"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/jv.json b/www/wiki/extensions/InputBox/i18n/jv.json
new file mode 100644
index 00000000..c39539f8
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/jv.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "Meursault2004",
+ "NoiX180",
+ "Pras"
+ ]
+ },
+ "inputbox-desc": "Ngidinaké nganggo formulir HTML sing wis ditemtokaké",
+ "inputbox-error-no-type": "Panjenengan durung nemtokaké tipe kothak input sing arep digawé.",
+ "inputbox-error-bad-type": "Tipe kothak input \"$1\" ora dikenal.\nSupaya migunakaké \"create\", \"comment\", \"search\", \"search2\", utawa \"fulltext\".",
+ "inputbox-tryexact": "Jajal pasangan sing pas",
+ "inputbox-searchfulltext": "Golèk ing tèks jangkep",
+ "inputbox-createarticle": "Damel artikel",
+ "inputbox-ns-main": "Pokok"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ka.json b/www/wiki/extensions/InputBox/i18n/ka.json
new file mode 100644
index 00000000..347c619e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ka.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Alsandro",
+ "David1010",
+ "ITshnik",
+ "Dawid Deutschland"
+ ]
+ },
+ "inputbox-desc": "საშუალებას იძლევა ჩართოს წინასწარ განსაზღვრული HTML ფორმები",
+ "inputbox-error-no-type": "თქვენ არ მიგითითებიათ აკრეფვის შესაქმნელი ველის ტიპი.",
+ "inputbox-error-bad-type": "ველის შეყვანის უცნობი ტიპი „$1“.\nგთხოვთ, მიუთითეთ ერთ-ერთი დასაშვები ტიპი: „create“, „comment“, „search“, „search2“ ან „fulltext“.",
+ "inputbox-tryexact": "სცადე ზუსტი დამთხვევა",
+ "inputbox-searchfulltext": "სრული ტექსტის ძიება",
+ "inputbox-createarticle": "სტატიის შექმნა",
+ "inputbox-movearticle": "გვერდის გადატანა",
+ "inputbox-postcomment": "ახალი ქვეთავი",
+ "inputbox-postcommenttitle": "ახალი ქვეთავი",
+ "inputbox-ns-main": "მთავარი"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/kaa.json b/www/wiki/extensions/InputBox/i18n/kaa.json
new file mode 100644
index 00000000..32986747
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/kaa.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Bet jaratıw"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/kab.json b/www/wiki/extensions/InputBox/i18n/kab.json
new file mode 100644
index 00000000..234dbd0d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/kab.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Agurzil",
+ "Mmistmurt"
+ ]
+ },
+ "inputbox-tryexact": "Nadi ɣef uzwel kif-kif",
+ "inputbox-searchfulltext": "Nadi aḍris ettmam",
+ "inputbox-createarticle": "Xleq amagrad"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/kbp.json b/www/wiki/extensions/InputBox/i18n/kbp.json
new file mode 100644
index 00000000..3dc453fb
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/kbp.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gnangbade"
+ ]
+ },
+ "inputbox-tryexact": "Maɣzɩ mbʋ ŋnaɣ keekee yɔ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/khw.json b/www/wiki/extensions/InputBox/i18n/khw.json
new file mode 100644
index 00000000..673d24e0
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/khw.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Rachitrali"
+ ]
+ },
+ "inputbox-tryexact": "خود بخود ٹیکسٹو ملاو کوریکو کوشش کورے"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/kk-arab.json b/www/wiki/extensions/InputBox/i18n/kk-arab.json
new file mode 100644
index 00000000..79ab1369
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/kk-arab.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": [],
+ "inputbox-error-no-type": "جاسالاتىن ەنگٸزۋ جولاعىنىڭ تٷرٸن كەلتٸرمەپسٸز.",
+ "inputbox-error-bad-type": "ەنگٸزۋ جولاقتىڭ «$1» تٷرٸ تانىلمادى. تەك «create», «comment», «search» نە «search2» دەگەن تٷرلەردٸ كەلتٸرٸڭٸز.",
+ "inputbox-tryexact": "دٵل سٵيكەسٸن سىناپ كٶرٸڭٸز",
+ "inputbox-searchfulltext": "تولىق مٵتٸنٸمەن ٸزدەۋ",
+ "inputbox-createarticle": "بەتتٸ باستاۋ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/kk-cyrl.json b/www/wiki/extensions/InputBox/i18n/kk-cyrl.json
new file mode 100644
index 00000000..fce580ff
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/kk-cyrl.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "Arystanbek"
+ ]
+ },
+ "inputbox-error-no-type": "Жасалатын енгізу жолағының түрін келтірмепсіз.",
+ "inputbox-error-bad-type": "Енгізу жолағының «$1» түрі танылмады. Тек «create», «comment», «search» не «search2» деген түрлерін келтіріңіз.",
+ "inputbox-tryexact": "Дәл сәйкесін сынап көріңіз",
+ "inputbox-searchfulltext": "Толық мәтінімен іздеу",
+ "inputbox-createarticle": "Бетті бастау",
+ "inputbox-movearticle": "Бетті жылжыту",
+ "inputbox-postcomment": "Жаңа бөлім",
+ "inputbox-postcommenttitle": "Жаңа бөлім",
+ "inputbox-ns-main": "Басты"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/kk-latn.json b/www/wiki/extensions/InputBox/i18n/kk-latn.json
new file mode 100644
index 00000000..dbf0aceb
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/kk-latn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": [],
+ "inputbox-error-no-type": "Jasalatın engizw jolağınıñ türin keltirmepsiz.",
+ "inputbox-error-bad-type": "Engizw jolaqtıñ «$1» türi tanılmadı. Tek «create», «comment», «search» ne «search2» degen türlerdi keltiriñiz.",
+ "inputbox-tryexact": "Däl säýkesin sınap köriñiz",
+ "inputbox-searchfulltext": "Tolıq mätinimen izdew",
+ "inputbox-createarticle": "Betti bastaw"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/km.json b/www/wiki/extensions/InputBox/i18n/km.json
new file mode 100644
index 00000000..23d7f4e3
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/km.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chhorran",
+ "Lovekhmer",
+ "T-Rithy",
+ "គីមស៊្រុន"
+ ]
+ },
+ "inputbox-error-no-type": "អ្នកមិនទាន់បញ្ជាក់ប្រភេទប្រអប់បញ្ចូលដើម្បីបង្កើត។",
+ "inputbox-tryexact": "ស្វែងរកពាក្យត្រូវគ្នាទាំងស្រុង",
+ "inputbox-searchfulltext": "ស្វែងរកពាក្យពេញ",
+ "inputbox-createarticle": "បង្កើតទំព័រ",
+ "inputbox-movearticle": "ប្តូរទីតាំងទំព័រ",
+ "inputbox-postcomment": "ផ្នែកថ្មី",
+ "inputbox-postcommenttitle": "ផ្នែកថ្មី",
+ "inputbox-ns-main": "ចម្បង​"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/kn.json b/www/wiki/extensions/InputBox/i18n/kn.json
new file mode 100644
index 00000000..8420ad7f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/kn.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "VASANTH S.N.",
+ "Omshivaprakash"
+ ]
+ },
+ "inputbox-tryexact": "ಇದೇ ಹೊಂದಾಣಿಕೆ ಪ್ರಯತ್ನಿಸಿ",
+ "inputbox-createarticle": "ಪುಟಗಳನ್ನು ಸೃಷ್ಟಿಸು",
+ "inputbox-movearticle": "ಪುಟವನ್ನು ಸ್ಥಳಾಂತರಿಸಿ",
+ "inputbox-postcomment": "ಹೊಸ ವಿಭಾಗ",
+ "inputbox-postcommenttitle": "ಹೊಸ ವಿಭಾಗ",
+ "inputbox-ns-main": "ಮುಖ್ಯ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ko.json b/www/wiki/extensions/InputBox/i18n/ko.json
new file mode 100644
index 00000000..76b8d7ce
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ko.json
@@ -0,0 +1,23 @@
+{
+ "@metadata": {
+ "authors": [
+ "Albamhandae",
+ "Klutzy",
+ "Kwj2772",
+ "ToePeu",
+ "아라",
+ "Keysuck",
+ "Revi"
+ ]
+ },
+ "inputbox-desc": "사전 정의된 HTML 양식을 포함할 수 있습니다",
+ "inputbox-error-no-type": "만드려는 입력 상자의 종류를 지정하지 않았습니다.",
+ "inputbox-error-bad-type": "\"$1\" 입력 상자 종류는 정의되어 있지 않습니다.\n\"create\", \"comment\", \"search\", \"search2\"나 \"fulltext\" 중 하나를 지정하세요.",
+ "inputbox-tryexact": "일치하는 항목 찾기",
+ "inputbox-searchfulltext": "전체 글 검색",
+ "inputbox-createarticle": "문서 만들기",
+ "inputbox-movearticle": "문서 이동",
+ "inputbox-postcomment": "새 문단",
+ "inputbox-postcommenttitle": "새 문단",
+ "inputbox-ns-main": "문서"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/koi.json b/www/wiki/extensions/InputBox/i18n/koi.json
new file mode 100644
index 00000000..030dd6b8
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/koi.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Enye Lav"
+ ]
+ },
+ "inputbox-tryexact": "Кошшыны утлянно сiйö",
+ "inputbox-searchfulltext": "Кошшыны тыр текст",
+ "inputbox-createarticle": "Лöсьöтны листбок"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/krc.json b/www/wiki/extensions/InputBox/i18n/krc.json
new file mode 100644
index 00000000..f5e6cad9
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/krc.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Iltever",
+ "Ernác"
+ ]
+ },
+ "inputbox-tryexact": "Тюп-тюз излеу"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/krl.json b/www/wiki/extensions/InputBox/i18n/krl.json
new file mode 100644
index 00000000..266150e3
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/krl.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mashoi7",
+ "Varvana"
+ ]
+ },
+ "inputbox-tryexact": "Yritä tarkkua ošumua"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ksh.json b/www/wiki/extensions/InputBox/i18n/ksh.json
new file mode 100644
index 00000000..1c29bf31
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ksh.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Purodha"
+ ]
+ },
+ "inputbox-desc": "Bestemmpte HTML-Formulare könne hee met enjebonge wääde.",
+ "inputbox-error-no-type": "Wat för en Zoot Kaste wells De dann han?",
+ "inputbox-error-bad-type": "De Zoot „$1“ för et Feld för jet enzejävve kenne mer nit, De moss schunn „create“, „comment“, „search“, „search2“, udder „fulltext“ doför aanjävve.",
+ "inputbox-tryexact": "Versök en akkurate Üvvereinstimmung:",
+ "inputbox-searchfulltext": "Sök durch dä janze Tex",
+ "inputbox-createarticle": "Sigg aanlähje",
+ "inputbox-movearticle": "Sigg Ömbenänne",
+ "inputbox-postcomment": "Neue Avschnedd onge draan",
+ "inputbox-postcommenttitle": "Neue Avschnedd",
+ "inputbox-ns-main": "{{int:blanknamespace}}"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ku-latn.json b/www/wiki/extensions/InputBox/i18n/ku-latn.json
new file mode 100644
index 00000000..2e51a638
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ku-latn.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Gotarê biafirîne"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/kum.json b/www/wiki/extensions/InputBox/i18n/kum.json
new file mode 100644
index 00000000..8a6ac1be
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/kum.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Arsenekoumyk"
+ ]
+ },
+ "inputbox-tryexact": "Мекенли излев"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/la.json b/www/wiki/extensions/InputBox/i18n/la.json
new file mode 100644
index 00000000..f122f53c
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/la.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Paginam creare"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lad.json b/www/wiki/extensions/InputBox/i18n/lad.json
new file mode 100644
index 00000000..c17e26d9
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lad.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Menachem.Moreira"
+ ]
+ },
+ "inputbox-createarticle": "Krear pajina"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lb.json b/www/wiki/extensions/InputBox/i18n/lb.json
new file mode 100644
index 00000000..e6eda298
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lb.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Robby"
+ ]
+ },
+ "inputbox-desc": "Erlaabt d'Afüge vu viirdefinéierten HTML-Formulairen",
+ "inputbox-error-no-type": "Dir hutt den Typ vu Këscht fir eppes anzeginn net uginn.",
+ "inputbox-error-bad-type": "Këscht fir anzeginn vum Typ \"$1\" net erkannt.\nGitt w.e.g. \"create\", \"comment\", \"search\", \"search2\" oder \"fulltext\" un.",
+ "inputbox-tryexact": "Versicht et matt der preziser Sich:",
+ "inputbox-searchfulltext": "Am ganzen Text sichen",
+ "inputbox-createarticle": "Säit uleeën",
+ "inputbox-movearticle": "Säit réckelen",
+ "inputbox-postcomment": "Neien Abschnitt",
+ "inputbox-postcommenttitle": "Neien Abschnitt",
+ "inputbox-ns-main": "Haapt"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lez.json b/www/wiki/extensions/InputBox/i18n/lez.json
new file mode 100644
index 00000000..6f7dde1e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lez.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Migraghvi"
+ ]
+ },
+ "inputbox-createarticle": "Макъала туькIуьрун",
+ "inputbox-ns-main": "КЬилдин"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lfn.json b/www/wiki/extensions/InputBox/i18n/lfn.json
new file mode 100644
index 00000000..1971fc91
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lfn.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Malafaya",
+ "Cgboeree",
+ "Katxis"
+ ]
+ },
+ "inputbox-tryexact": "Atenta trova esata",
+ "inputbox-createarticle": "Crea paje"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lg.json b/www/wiki/extensions/InputBox/i18n/lg.json
new file mode 100644
index 00000000..d34e85cb
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lg.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Wandika omuko"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/li.json b/www/wiki/extensions/InputBox/i18n/li.json
new file mode 100644
index 00000000..b284a9ce
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/li.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aelske",
+ "Matthias",
+ "Ooswesthoesbes"
+ ]
+ },
+ "inputbox-desc": "Maakt 't toevoege van veurgedefinieerde HTML-formuliere meugelijk",
+ "inputbox-error-no-type": "U heeft 't type inputbox neet aangegeve. Zie [http://www.mediawiki.org/wiki/Extension:Inputbox MediaWiki.org] veur meer informatie.",
+ "inputbox-error-bad-type": "Inputbox-type \"$1\" neet herkend. \nGebroek \"create\", \"comment\", \"search\", \"search2\" óf \"fulltext\".",
+ "inputbox-tryexact": "Perbeer exacte euvereinkoms",
+ "inputbox-searchfulltext": "Zeuk de volledige teks",
+ "inputbox-createarticle": "Maak 'n pagina aan",
+ "inputbox-movearticle": "Verplaats pazjena",
+ "inputbox-postcomment": "Nuuj sectie",
+ "inputbox-postcommenttitle": "Nuuj sectie",
+ "inputbox-ns-main": "Houfnaamruumdje"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lij.json b/www/wiki/extensions/InputBox/i18n/lij.json
new file mode 100644
index 00000000..048c2cc7
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lij.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Giromin Cangiaxo"
+ ]
+ },
+ "inputbox-tryexact": "Çerca corespondensa esatta"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lki.json b/www/wiki/extensions/InputBox/i18n/lki.json
new file mode 100644
index 00000000..71f2b66a
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lki.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hosseinblue"
+ ]
+ },
+ "inputbox-desc": "اجازهٔ استفاده از فرم‌های HTML از پیش تعریف شده را می‌دهد",
+ "inputbox-error-no-type": "نوع جعبهٔ ورودی ایجادشونده را مشخص نکرده‌اید.",
+ "inputbox-error-bad-type": "نوع «$1» برای جعبهٔ ورودی شناخته شده نیست.\nلطفاً یکی از موارد «create»، «comment»، «search»، «search2» یا «fulltext» را مشخص کنید.",
+ "inputbox-tryexact": "مطابقت نظیر به نظیر را بیازما",
+ "inputbox-searchfulltext": "جستجوی کل متن",
+ "inputbox-createarticle": "دورس کردن وةڵگة",
+ "inputbox-movearticle": "جاوواز کردن وةڵگة",
+ "inputbox-postcomment": "بخش جدید",
+ "inputbox-postcommenttitle": "بخش تازه",
+ "inputbox-ns-main": "اصلی(سەر)"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ln.json b/www/wiki/extensions/InputBox/i18n/ln.json
new file mode 100644
index 00000000..907e1776
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ln.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Moyogo"
+ ]
+ },
+ "inputbox-createarticle": "Kokela ekakoli"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lo.json b/www/wiki/extensions/InputBox/i18n/lo.json
new file mode 100644
index 00000000..46270825
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lo.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tuinui"
+ ]
+ },
+ "inputbox-tryexact": "ໄປ",
+ "inputbox-searchfulltext": "ຊອກຫາ",
+ "inputbox-createarticle": "ສ້າງບົດຄວາມ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lrc.json b/www/wiki/extensions/InputBox/i18n/lrc.json
new file mode 100644
index 00000000..f8e11681
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lrc.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bonevarluri",
+ "Mogoeilor"
+ ]
+ },
+ "inputbox-tryexact": "تلاش سی یکی کردن راستکی",
+ "inputbox-searchfulltext": "پی جوری متنی",
+ "inputbox-createarticle": "راس كردن بلگه",
+ "inputbox-movearticle": "بلگه نه جا وه جا کو",
+ "inputbox-postcomment": "بشه تازه",
+ "inputbox-postcommenttitle": "بشه تازه",
+ "inputbox-ns-main": "اصلی"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lt.json b/www/wiki/extensions/InputBox/i18n/lt.json
new file mode 100644
index 00000000..5673c17f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lt.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Vogone",
+ "Albertas"
+ ]
+ },
+ "inputbox-desc": "Leisti iš anksto apibrėžtų HTML formų įterpimą",
+ "inputbox-error-no-type": "Jūs nenurodėte įvesties dėžutės tipo.",
+ "inputbox-error-bad-type": "Neatpažintas įvesties dėžutės tipas \"$1\".\nPrašome nurodyti \"create\", \"comment\", \"search\", \"search2\" arba \"fulltext\".",
+ "inputbox-tryexact": "Mėginti tikslų atitikimą",
+ "inputbox-searchfulltext": "Ieškoti pilno teksto",
+ "inputbox-createarticle": "Kurti straipsnį",
+ "inputbox-movearticle": "Perkelti puslapį",
+ "inputbox-postcomment": "Naujas skyrius",
+ "inputbox-postcommenttitle": "Naujas skyrius",
+ "inputbox-ns-main": "Pagrindinis"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ltg.json b/www/wiki/extensions/InputBox/i18n/ltg.json
new file mode 100644
index 00000000..1f4cec93
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ltg.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dark Eagle"
+ ]
+ },
+ "inputbox-createarticle": "Sataiseit rakstīņu"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lus.json b/www/wiki/extensions/InputBox/i18n/lus.json
new file mode 100644
index 00000000..7b9f3bdf
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lus.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "RMizo"
+ ]
+ },
+ "inputbox-createarticle": "Hemi phêk hi siam rawh le",
+ "inputbox-ns-main": "Phekpui"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/luz.json b/www/wiki/extensions/InputBox/i18n/luz.json
new file mode 100644
index 00000000..392e3a3d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/luz.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "علی ساکی لرستانی"
+ ]
+ },
+ "inputbox-tryexact": "تطبیق مۉرد ۉھ مۉرد رنه آزمایش کۉ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lv.json b/www/wiki/extensions/InputBox/i18n/lv.json
new file mode 100644
index 00000000..2be8e2c1
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lv.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dark Eagle",
+ "Xil",
+ "Yyy",
+ "Papuass"
+ ]
+ },
+ "inputbox-desc": "Atļaut iekļaut iepriekš noteiktās HTML formas",
+ "inputbox-error-no-type": "Tu neesi norādījis ievades lauka tipu",
+ "inputbox-error-bad-type": "Ievades lauka tips \"$1\" nav atpazīts.\nLūdzu norādi \"create\", \"comment\", \"search\", \"search2\" vai \"fulltext\".",
+ "inputbox-tryexact": "Meklēt precīzi",
+ "inputbox-searchfulltext": "Meklēt visu tekstu",
+ "inputbox-createarticle": "Izveidot lapu",
+ "inputbox-postcomment": "Jauna sadaļa",
+ "inputbox-postcommenttitle": "Jauna sadaļa"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/lzh.json b/www/wiki/extensions/InputBox/i18n/lzh.json
new file mode 100644
index 00000000..d7096733
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/lzh.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": [],
+ "inputbox-error-no-type": "汝未定輸入盒之類也。",
+ "inputbox-error-bad-type": "輸入盒之類\"$1\"無認耳。指\"create\"、\"comment\"、\"search\"或\"search2\"之。",
+ "inputbox-tryexact": "查全合",
+ "inputbox-searchfulltext": "尋全文",
+ "inputbox-createarticle": "撰文"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/mai.json b/www/wiki/extensions/InputBox/i18n/mai.json
new file mode 100644
index 00000000..7b7fa037
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/mai.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "बिप्लब आनन्द"
+ ]
+ },
+ "inputbox-tryexact": "देल गेल शब्द मात्र ताकी"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/mg.json b/www/wiki/extensions/InputBox/i18n/mg.json
new file mode 100644
index 00000000..9f7f93f7
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/mg.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jagwar"
+ ]
+ },
+ "inputbox-tryexact": "Hanandrana io soratra io"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/min.json b/www/wiki/extensions/InputBox/i18n/min.json
new file mode 100644
index 00000000..71367da7
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/min.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Iwan Novirion"
+ ]
+ },
+ "inputbox-desc": "Mamungkinan panggunoan form HTML nan alah ditantuan",
+ "inputbox-error-no-type": "Sanak musti manantuan jinih kotak input nan ka dibuek.",
+ "inputbox-error-bad-type": "Jinih kotak input \"$1\" indak dikenal.\nGunoan \"create\", \"comment\", \"search\", \"search2\", atau \"fulltext\".",
+ "inputbox-tryexact": "Cubo pancocokan eksak",
+ "inputbox-searchfulltext": "Cari teks langkok",
+ "inputbox-createarticle": "Buek laman",
+ "inputbox-ns-main": "Utamo"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/mk.json b/www/wiki/extensions/InputBox/i18n/mk.json
new file mode 100644
index 00000000..ecc190c2
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/mk.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bjankuloski06",
+ "Brest",
+ "Misos"
+ ]
+ },
+ "inputbox-desc": "Овозможува вклучување на предодредени HTML-облици",
+ "inputbox-error-no-type": "Немате наведено тип на поле за внос кое сакате да го создадете.",
+ "inputbox-error-bad-type": "Типот на полето за внос „$1“ не е познат.\nУкажете еден од допуштените: „create“, „comment“, „search“, „search2“ или „fulltext“.",
+ "inputbox-tryexact": "Строго ова",
+ "inputbox-searchfulltext": "По цел текст",
+ "inputbox-createarticle": "Создај страница",
+ "inputbox-movearticle": "Премести страница",
+ "inputbox-postcomment": "Нов поднаслов",
+ "inputbox-postcommenttitle": "Нов поднаслов",
+ "inputbox-ns-main": "Главна"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ml.json b/www/wiki/extensions/InputBox/i18n/ml.json
new file mode 100644
index 00000000..f06c3540
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ml.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Praveenp",
+ "Shijualex"
+ ]
+ },
+ "inputbox-desc": "നിർവ്വചിക്കപ്പെട്ടു വെച്ചിരിക്കുന്ന HTML ഫോമുകൾ ഉൾപ്പെടുത്താൻ അനുവദിക്കുക",
+ "inputbox-error-no-type": "സൃഷ്ടിക്കേണ്ട ഇൻപുട്ട് ബോക്സിന്റെ തരം നിഷ്കർഷിച്ചിട്ടില്ല",
+ "inputbox-error-bad-type": "ഇൻപുട്ട് ബോക്സ് \"$1\" ഏതു തരം എന്നു തിരിച്ചറിയാൻ കഴിഞ്ഞില്ല.\nദയവു ചെയ്ത് \"create\", \"comment\", \"search\", \"search2\" ഇവയിലൊന്നു നിഷ്കർഷിക്കുക",
+ "inputbox-tryexact": "കൃത്യമായി യോജിക്കുന്ന ഫലങ്ങൾ ഉണ്ടോയെന്നു പരിശോധിക്കുക",
+ "inputbox-searchfulltext": "എഴുത്ത് മൊത്തമായി തിരയുക",
+ "inputbox-createarticle": "താൾ സൃഷ്ടിക്കുക",
+ "inputbox-movearticle": "താൾ മാറ്റുക",
+ "inputbox-postcomment": "പുതിയ വിഭാഗം",
+ "inputbox-postcommenttitle": "പുതിയ വിഭാഗം",
+ "inputbox-ns-main": "മുഖ്യം"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/mn.json b/www/wiki/extensions/InputBox/i18n/mn.json
new file mode 100644
index 00000000..a6dbd487
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/mn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chinneeb"
+ ]
+ },
+ "inputbox-createarticle": "Хуудас үүсгэх"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/mr.json b/www/wiki/extensions/InputBox/i18n/mr.json
new file mode 100644
index 00000000..de58d000
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/mr.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kaustubh",
+ "Mahitgar",
+ "Rahuldeshmukh101",
+ "V.narsikar"
+ ]
+ },
+ "inputbox-desc": "पूर्वी लिहिलेले HTML अर्ज वापरण्याची परवानगी द्या",
+ "inputbox-error-no-type": "कुठल्या प्रकारची पृष्ठपेटी तयार करायची ते तुम्ही स्पष्ट केलेले नाही.",
+ "inputbox-error-bad-type": "तुम्ही दिलेला पृष्ठपेटीचा \"$1\" हा प्रकार ओळखीचा नाही. \nकृपया \"create\", \"comment\", \"search\" किंवा \"search2\" किंवा \"fulltext\".यातील एक निवडा.",
+ "inputbox-tryexact": "नेमके अनुरुप शब्द शोधा",
+ "inputbox-searchfulltext": "पूर्ण मजकूर शोधा",
+ "inputbox-createarticle": "लेख बनवा",
+ "inputbox-ns-main": "मुख्य"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ms.json b/www/wiki/extensions/InputBox/i18n/ms.json
new file mode 100644
index 00000000..4a61a5cc
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ms.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Anakmalaysia",
+ "Aviator"
+ ]
+ },
+ "inputbox-desc": "Membenarkan penyertaan borang HTML yang sudah ditetapkan.",
+ "inputbox-error-no-type": "Anda tidak menyatakan jenis kotak input untuk diciptakan.",
+ "inputbox-error-bad-type": "Jenis kotak input \"$1\" tidak dikenali. Sila nyatakan \"create\", \"comment\", \"search\", \"search2\" atau \"fulltext\".",
+ "inputbox-tryexact": "Cuba padanan tepat",
+ "inputbox-searchfulltext": "Cari dalam teks penuh",
+ "inputbox-createarticle": "Cipta laman",
+ "inputbox-movearticle": "Pindah laman",
+ "inputbox-postcomment": "Bahagian baru",
+ "inputbox-postcommenttitle": "Bahagian baru",
+ "inputbox-ns-main": "Utama"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/mt.json b/www/wiki/extensions/InputBox/i18n/mt.json
new file mode 100644
index 00000000..c1b08a4c
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/mt.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chrisportelli",
+ "Giangian15"
+ ]
+ },
+ "inputbox-desc": "Tħalli formuli ta' HTML predefiniti",
+ "inputbox-error-no-type": "Inti ma speċifikajtx it-tip ta' ''input box'' li trid toħloq.",
+ "inputbox-error-bad-type": "\"$1\" mhuwiex tip magħruf ta' ''inputbox''.\nJekk jogħġbok speċifika fost \"create\", \"comment\", \"search\", \"search2\" jew \"fulltext\".",
+ "inputbox-tryexact": "Fittex korrispondenza eżatta",
+ "inputbox-searchfulltext": "Fittex fit-test",
+ "inputbox-createarticle": "Oħloq paġna",
+ "inputbox-ns-main": "Prinċipali"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/mwl.json b/www/wiki/extensions/InputBox/i18n/mwl.json
new file mode 100644
index 00000000..32a66c02
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/mwl.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "MokaAkashiyaPT",
+ "Athena in Wonderland"
+ ]
+ },
+ "inputbox-tryexact": "Tentar la spresson eisata"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/my.json b/www/wiki/extensions/InputBox/i18n/my.json
new file mode 100644
index 00000000..a72476a2
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/my.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ninjastrikers"
+ ]
+ },
+ "inputbox-tryexact": "အတိအကျဖြင့် ကြိုးပမ်းရန်"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/myv.json b/www/wiki/extensions/InputBox/i18n/myv.json
new file mode 100644
index 00000000..5d7043da
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/myv.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Botuzhaleny-sodamo"
+ ]
+ },
+ "inputbox-createarticle": "Шкамс лопа"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/mzn.json b/www/wiki/extensions/InputBox/i18n/mzn.json
new file mode 100644
index 00000000..5a0cca8b
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/mzn.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mehdi",
+ "Spacebirdy",
+ "محک"
+ ]
+ },
+ "inputbox-tryexact": "کلمه-کلمه مطابقت ره چک هاکن",
+ "inputbox-createarticle": "صفحه بساتن"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nah.json b/www/wiki/extensions/InputBox/i18n/nah.json
new file mode 100644
index 00000000..836b7af6
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nah.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Fluence"
+ ]
+ },
+ "inputbox-createarticle": "Ticchīhuāz zāzanilli"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nan.json b/www/wiki/extensions/InputBox/i18n/nan.json
new file mode 100644
index 00000000..4b3e98aa
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nan.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "唐吉訶德的侍從"
+ ]
+ },
+ "inputbox-searchfulltext": "Chhoē choan-bûn"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nap.json b/www/wiki/extensions/InputBox/i18n/nap.json
new file mode 100644
index 00000000..ff30677d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nap.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chelin",
+ "SabineCretella",
+ "C.R."
+ ]
+ },
+ "inputbox-desc": "Premmettesse appennere module predefinite HTML",
+ "inputbox-error-no-type": "Nun avite specificato 'o tipo 'e casciulella d'input a crià.",
+ "inputbox-error-bad-type": "Casciulella d'input \"$1\" scanusciuta.\nPe' piacere specificate \"create\", \"comment\", \"search\", \"search2\" o \"fulltext\".",
+ "inputbox-tryexact": "Pròva cu nu cunfronto eguale-eguale",
+ "inputbox-searchfulltext": "Ascià dint''o testo",
+ "inputbox-createarticle": "Crèa paggena",
+ "inputbox-movearticle": "Mòve paggena",
+ "inputbox-postcomment": "Seziona nova",
+ "inputbox-postcommenttitle": "Seziona nova",
+ "inputbox-ns-main": "Prencepale"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nb.json b/www/wiki/extensions/InputBox/i18n/nb.json
new file mode 100644
index 00000000..91bf039e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nb.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "EivindJ",
+ "Danmichaelo",
+ "Jon Harald Søby"
+ ]
+ },
+ "inputbox-desc": "Tillater inkludering av forhåndsdefinerte HTML-skjemaer",
+ "inputbox-error-no-type": "Du har ikke angitt hva slags inputboks du vil lage.",
+ "inputbox-error-bad-type": "Inputboks av typen «$1» gjenkjennes ikke.\nVennligst velg «create», «comment», «search», «search2» eller «fulltext».",
+ "inputbox-tryexact": "Prøv nøyaktig treff",
+ "inputbox-searchfulltext": "Søk full tekst",
+ "inputbox-createarticle": "Opprett side",
+ "inputbox-movearticle": "Flytt side",
+ "inputbox-postcomment": "Nytt avsnitt",
+ "inputbox-postcommenttitle": "Nytt avsnitt",
+ "inputbox-ns-main": "Hoved"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nds-nl.json b/www/wiki/extensions/InputBox/i18n/nds-nl.json
new file mode 100644
index 00000000..410b5e9b
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nds-nl.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Servien"
+ ]
+ },
+ "inputbox-tryexact": "Naor sekuur zeuken",
+ "inputbox-searchfulltext": "De hele tekste deurzeuken",
+ "inputbox-createarticle": "Nieje zied anmaken"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nds.json b/www/wiki/extensions/InputBox/i18n/nds.json
new file mode 100644
index 00000000..f090f60f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nds.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Slomox"
+ ]
+ },
+ "inputbox-desc": "Verlöövt dat Inbinnen vun vördefineerte HTML-Formularen",
+ "inputbox-error-no-type": "Du hest keen Typ för dat Ingaav-Feld angeven.",
+ "inputbox-error-bad-type": "De Typ „$1“ för dat Ingaav-Feld is nich bekannt.\nGeev een vun disse Typen an: „create“, „comment“, „search“, „search2“ oder „fulltext“.",
+ "inputbox-tryexact": "exakte Söök versöken",
+ "inputbox-searchfulltext": "in’n Vulltext söken",
+ "inputbox-createarticle": "Siet anleggen"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ne.json b/www/wiki/extensions/InputBox/i18n/ne.json
new file mode 100644
index 00000000..b53f7dfd
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ne.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "NehalDaveND",
+ "राम प्रसाद जोशी"
+ ]
+ },
+ "inputbox-tryexact": "दिइएका शब्द नै खोज्नुहोस् ।",
+ "inputbox-createarticle": "लेख थाल्नुहोस्",
+ "inputbox-ns-main": "मुख्य"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/niu.json b/www/wiki/extensions/InputBox/i18n/niu.json
new file mode 100644
index 00000000..8f2587ca
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/niu.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jose77"
+ ]
+ },
+ "inputbox-createarticle": "Talaga tohi tala"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nl-informal.json b/www/wiki/extensions/InputBox/i18n/nl-informal.json
new file mode 100644
index 00000000..8350bbae
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nl-informal.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Siebrand"
+ ]
+ },
+ "inputbox-error-no-type": "Je hebt het type invoerveld niet opgegeven."
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nl.json b/www/wiki/extensions/InputBox/i18n/nl.json
new file mode 100644
index 00000000..d6afa5bc
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nl.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "SPQRobin",
+ "Siebrand"
+ ]
+ },
+ "inputbox-desc": "Maakt het toevoegen van voorgedefinieerde HTML-formulieren mogelijk",
+ "inputbox-error-no-type": "U hebt het type invoerveld niet opgegeven.",
+ "inputbox-error-bad-type": "Type invoerveld \"$1\" niet herkend.\nGebruik \"create\", \"comment\", \"search\", \"search2\" of \"fulltext\".",
+ "inputbox-tryexact": "Op exacte overeenkomst zoeken",
+ "inputbox-searchfulltext": "Volledige tekst doorzoeken",
+ "inputbox-createarticle": "Pagina aanmaken",
+ "inputbox-movearticle": "Pagina hernoemen",
+ "inputbox-postcomment": "Nieuw kopje",
+ "inputbox-postcommenttitle": "Nieuw kopje",
+ "inputbox-ns-main": "Hoofdnaamruimte"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nn.json b/www/wiki/extensions/InputBox/i18n/nn.json
new file mode 100644
index 00000000..2ed53815
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nn.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Frokor",
+ "Harald Khan",
+ "Njardarlogar"
+ ]
+ },
+ "inputbox-desc": "Tillet inkludering av førehandsdefinerte HTML-skjema",
+ "inputbox-error-no-type": "Du har ikkje gjeve kva slags inputboks du vil lage.",
+ "inputbox-error-bad-type": "Inntekstboks av typen «$1» vart ikkje gjenkjent.\nVer venleg og velg «create», «comment», «search», «search2», eller «fulltext».",
+ "inputbox-tryexact": "Prøv nøyaktig treff",
+ "inputbox-searchfulltext": "Søk i all tekst",
+ "inputbox-createarticle": "Lag side"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nov.json b/www/wiki/extensions/InputBox/i18n/nov.json
new file mode 100644
index 00000000..ccd94b4c
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nov.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Malafaya"
+ ]
+ },
+ "inputbox-searchfulltext": "Sercha kompleti texte"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nso.json b/www/wiki/extensions/InputBox/i18n/nso.json
new file mode 100644
index 00000000..b892856d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nso.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mohau"
+ ]
+ },
+ "inputbox-createarticle": "Tlhoma letlakala"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/nys.json b/www/wiki/extensions/InputBox/i18n/nys.json
new file mode 100644
index 00000000..38e7b49a
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/nys.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gnangarra"
+ ]
+ },
+ "inputbox-tryexact": "Kuttock mokin mokin"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/oc.json b/www/wiki/extensions/InputBox/i18n/oc.json
new file mode 100644
index 00000000..bb90901f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/oc.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cedric31"
+ ]
+ },
+ "inputbox-desc": "Permet l’inclusion de formularis HTML predefinits",
+ "inputbox-error-no-type": "Avètz pas precisat lo tipe de la bóstia d'entrada de crear.",
+ "inputbox-error-bad-type": "Tipe de bóstia d'entrada « $1 » pas reconeguda.\nIndicatz una opcion demest ''create'', ''comment'', ''search'' o ''searche2'' o « fulltext ».",
+ "inputbox-tryexact": "Ensajatz la correspondéncia exacta",
+ "inputbox-searchfulltext": "Recèrca en tèxte integral",
+ "inputbox-createarticle": "Crear l’article",
+ "inputbox-movearticle": "Renomenar una pagina",
+ "inputbox-ns-main": "Principal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/olo.json b/www/wiki/extensions/InputBox/i18n/olo.json
new file mode 100644
index 00000000..a476f1ae
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/olo.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mashoi7",
+ "Ilja.mos"
+ ]
+ },
+ "inputbox-tryexact": "Opi tarkah yhtehpädijiä",
+ "inputbox-searchfulltext": "Eči kogo tekstal",
+ "inputbox-createarticle": "Luaji sivu",
+ "inputbox-movearticle": "Siirrä sivu",
+ "inputbox-postcomment": "Uuzi sektsii",
+ "inputbox-postcommenttitle": "Uuzi sektsii",
+ "inputbox-ns-main": "Piänimitila"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/or.json b/www/wiki/extensions/InputBox/i18n/or.json
new file mode 100644
index 00000000..d915f071
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/or.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Odisha1",
+ "Psubhashish"
+ ]
+ },
+ "inputbox-desc": "ଆଗରୁ ତିଆରି HTML ରୂପରେ ଆହରଣକୁ ଅନୁମୋଦନ ଦେବା",
+ "inputbox-error-no-type": "ଆପଣ ନିବେଶ ଘରେ ଦେବାକୁ ଥିବା ଲେଖାର ପ୍ରକାର ଏଯାଏଁ ଦେଇନାହାନ୍ତି ।",
+ "inputbox-error-bad-type": "ନିବେଶ ଘର ପ୍ରକାର \"$1\" ବାରିପାରିଲୁ ନାହିଁ ।\nଦୟାକରି \"create\", \"comment\", \"search\", \"search2\" ଅବା \"fulltext\" ସ୍ଥିର କରନ୍ତୁ ।",
+ "inputbox-tryexact": "ପୂରାପୂରି ମେଳ କରିବାକୁ ଚେଷ୍ଟାକରିବେ",
+ "inputbox-searchfulltext": "ପୁରା ଲେଖା ଖୋଜିବେ",
+ "inputbox-createarticle": "ନୂଆ ପୃଷ୍ଠାଟିଏ ତିଆରିବେ",
+ "inputbox-postcomment": "ନୂଆ ବିଭାଗ",
+ "inputbox-postcommenttitle": "ନୂଆ ବିଭାଗ",
+ "inputbox-ns-main": "ମୁଖ୍ୟ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pa.json b/www/wiki/extensions/InputBox/i18n/pa.json
new file mode 100644
index 00000000..1ad44de7
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pa.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Satdeep gill"
+ ]
+ },
+ "inputbox-tryexact": "ਹੂਬਹੂ ਲਿਖਤ ਨਾਲ ਕਰੋ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pag.json b/www/wiki/extensions/InputBox/i18n/pag.json
new file mode 100644
index 00000000..0cdf6d10
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pag.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Mangawa na artikulo"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pam.json b/www/wiki/extensions/InputBox/i18n/pam.json
new file mode 100644
index 00000000..a87a6e24
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pam.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Gawang artikulu"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pdc.json b/www/wiki/extensions/InputBox/i18n/pdc.json
new file mode 100644
index 00000000..bc8fdda4
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pdc.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Xqt"
+ ]
+ },
+ "inputbox-ns-main": "Bledder"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pfl.json b/www/wiki/extensions/InputBox/i18n/pfl.json
new file mode 100644
index 00000000..f2524b60
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pfl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Manuae"
+ ]
+ },
+ "inputbox-tryexact": "Vasugs midda gnaue Iwwaoischdimmung"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pl.json b/www/wiki/extensions/InputBox/i18n/pl.json
new file mode 100644
index 00000000..e57baad3
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pl.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Derbeth",
+ "Sp5uhe",
+ "Alan ffm"
+ ]
+ },
+ "inputbox-desc": "Umożliwia włączenie w treść strony wcześniej zdefiniowanych formularzy HTML",
+ "inputbox-error-no-type": "Typ pola wejściowego nie został określony",
+ "inputbox-error-bad-type": "Typ „$1” pola wejściowego nie został rozpoznany.\nNależy wybrać „create”, „comment”, „search”, „search2” or „fulltext”.",
+ "inputbox-tryexact": "Użyj dokładnego wyrażenia",
+ "inputbox-searchfulltext": "Szukaj w całych tekstach",
+ "inputbox-createarticle": "Utwórz artykuł",
+ "inputbox-movearticle": "Przenieś stronę",
+ "inputbox-postcomment": "Nowa sekcja",
+ "inputbox-postcommenttitle": "Nowa sekcja",
+ "inputbox-ns-main": "Główna"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pms.json b/www/wiki/extensions/InputBox/i18n/pms.json
new file mode 100644
index 00000000..382f712f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pms.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "Borichèt",
+ "Bèrto 'd Sèra",
+ "Dragonòt"
+ ]
+ },
+ "inputbox-desc": "A përmëtt l'anseriment ëd forme HTML predefinìe",
+ "inputbox-error-no-type": "A l'ha nen dit che sòrt ëd quàder ëd caria dat ch'a debia fesse.",
+ "inputbox-error-bad-type": "La sòrt ëd quàder \"$1\" a l'é nen conossùa. \nPër piasì, ch'a sërna antra \"create\", \"comment\", \"search\", \"search2\" o \"fulltext\".",
+ "inputbox-tryexact": "Sërché la rëspondensa precisa",
+ "inputbox-searchfulltext": "Sërca an tut ël test",
+ "inputbox-createarticle": "Creé na pàgina",
+ "inputbox-ns-main": "Prinsipal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pnb.json b/www/wiki/extensions/InputBox/i18n/pnb.json
new file mode 100644
index 00000000..da32ce77
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pnb.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Khalid Mahmood"
+ ]
+ },
+ "inputbox-desc": "ایچ ٹی ایم ایل پریڈیفائینڈ فورمز نوں رلان دی اجازت دیو۔",
+ "inputbox-error-no-type": "تساں انپٹ ڈبے بنان دی ٹائپ نئیں دسی۔",
+ "inputbox-error-bad-type": "انپٹ ڈبہ ٹائپ \"$1\" نئیں پچھانیا گیا۔\nمہربانی کرکے \"create\", \"comment\", \"search\", \"search2\" \"fulltext\" بارے دسو۔",
+ "inputbox-tryexact": "ٹھیک جوڑ رلاؤ",
+ "inputbox-searchfulltext": "پوری لکھت لبو",
+ "inputbox-createarticle": "صفہ بناؤ",
+ "inputbox-ns-main": "مین"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pnt.json b/www/wiki/extensions/InputBox/i18n/pnt.json
new file mode 100644
index 00000000..3e7b9046
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pnt.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Sinopeus"
+ ]
+ },
+ "inputbox-createarticle": "Ποίσον σελίδαν"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ps.json b/www/wiki/extensions/InputBox/i18n/ps.json
new file mode 100644
index 00000000..16a5bb7f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ps.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ahmed-Najib-Biabani-Ibrahimkhel"
+ ]
+ },
+ "inputbox-desc": "د پخوا څخه د HTML څرگند شويو فورمو کارولو اجازه ورکوي",
+ "inputbox-tryexact": "کټ مټ انډول يې وآزمويه",
+ "inputbox-searchfulltext": "بشپړ متن پلټل",
+ "inputbox-createarticle": "نوې ليکنه پيلول",
+ "inputbox-movearticle": "مخ لېږدول",
+ "inputbox-postcomment": "نوې برخه",
+ "inputbox-postcommenttitle": "نوې برخه",
+ "inputbox-ns-main": "آرنی"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pt-br.json b/www/wiki/extensions/InputBox/i18n/pt-br.json
new file mode 100644
index 00000000..30aca9cb
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pt-br.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "Brunoy Anastasiya Seryozhenko",
+ "Eduardo.mps",
+ "MetalBrasil",
+ "Opraco",
+ "!Silent",
+ "Felipe L. Ewald"
+ ]
+ },
+ "inputbox-desc": "Permite a inclusão de formulários definidos de HTML",
+ "inputbox-error-no-type": "Você não especificou o tipo de inputbox a ser criada.",
+ "inputbox-error-bad-type": "O tipo de caixa de introdução de dados \"$1\" não foi reconhecido.\nPor favor, especifique \"create\", \"comment\", \"search\", \"search2\" ou \"fulltext\".",
+ "inputbox-tryexact": "Tentar a expressão exata",
+ "inputbox-searchfulltext": "Pesquisar em todo o texto",
+ "inputbox-createarticle": "Criar página",
+ "inputbox-movearticle": "Mover página",
+ "inputbox-postcomment": "Nova seção",
+ "inputbox-postcommenttitle": "Nova seção",
+ "inputbox-ns-main": "Principal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/pt.json b/www/wiki/extensions/InputBox/i18n/pt.json
new file mode 100644
index 00000000..0f7303f5
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/pt.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hamilton Abreu",
+ "Malafaya",
+ "Imperadeiro98",
+ "Vitorvicentevalente",
+ "He7d3r"
+ ]
+ },
+ "inputbox-desc": "Permite a inclusão de formulários HTML pré-definidos.",
+ "inputbox-error-no-type": "Não especificou o tipo de caixa de introdução de dados a ser criado.",
+ "inputbox-error-bad-type": "O tipo de caixa de introdução de dados \"$1\" não foi reconhecido.\nPor favor, especifique \"create\", \"comment\", \"search\", \"search2\" ou \"fulltext\".",
+ "inputbox-tryexact": "Tentar a expressão exata",
+ "inputbox-searchfulltext": "Pesquisar no texto completo",
+ "inputbox-createarticle": "Criar página",
+ "inputbox-movearticle": "Mover página",
+ "inputbox-postcomment": "Nova secção",
+ "inputbox-postcommenttitle": "Nova secção",
+ "inputbox-ns-main": "Principal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/qqq.json b/www/wiki/extensions/InputBox/i18n/qqq.json
new file mode 100644
index 00000000..6ebc5895
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/qqq.json
@@ -0,0 +1,25 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lloffiwr",
+ "Meno25",
+ "SPQRobin",
+ "Shirayuki",
+ "Siebrand",
+ "The Evil IP address",
+ "Raymond",
+ "Umherirrender",
+ "Amire80"
+ ]
+ },
+ "inputbox-desc": "{{desc|name=Input Box|url=https://www.mediawiki.org/wiki/Extension:InputBox}}",
+ "inputbox-error-no-type": "Used as error message.\n\nSee also:\n* {{msg-mw|Inputbox-error-bad-type}}",
+ "inputbox-error-bad-type": "{{doc-important|Don't translate \"create\", \"comment\", \"search\", \"search2\" and \"fulltext\"!}}\nUsed as error message. Parameters:\n* $1 - invalid type. Valid types are: \"create\", \"comment\", \"commenttitle\", \"search\", \"fulltext\", and \"search2\"\nSee also:\n* {{msg-mw|Inputbox-error-no-type}}",
+ "inputbox-tryexact": "Part of the \"Inputbox\" extension. This message is the text of the button to search the page you typed in the inputbox. If the page with the exact name exists, you will go directly to that page.",
+ "inputbox-searchfulltext": "Part of the \"Inputbox\" extension. This message is the text of the button to search the page you typed in the inputbox. This button always goes to the search page, even if the page with the exact name exists.\n\nSee also:\n* {{msg-mw|Search}}\n* {{msg-mw|Accesskey-search-fulltext}}\n* {{msg-mw|Tooltip-search-fulltext}}",
+ "inputbox-createarticle": "Part of the \"Inputbox\" extension. This message is the text of the button to create the page you typed in the inputbox.\n{{Identical|Create page}}",
+ "inputbox-movearticle": "Part of the \"Inputbox\" extension. This message is the text of the button to move the page to the name you typed in the inputbox.\n{{Identical|Move page}}",
+ "inputbox-postcomment": "Part of the \"Inputbox\" extension. This message is the text of the button to add a new section to the bottom of the page you typed in the inputbox.",
+ "inputbox-postcommenttitle": "Part of the \"Inputbox\" extension. This message is the text of the button to add a new section of the name you typed in the inputbox to the page.",
+ "inputbox-ns-main": "Probably refers to the main namespace.\n{{Identical|Main}}"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/qu.json b/www/wiki/extensions/InputBox/i18n/qu.json
new file mode 100644
index 00000000..391b0823
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/qu.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "AlimanRuna"
+ ]
+ },
+ "inputbox-tryexact": "Hinalla taripanayaspa maskay",
+ "inputbox-searchfulltext": "Hunt'a qillqata maskay",
+ "inputbox-createarticle": "Qillqata kamariy"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ro.json b/www/wiki/extensions/InputBox/i18n/ro.json
new file mode 100644
index 00000000..bc3eff5b
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ro.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "AdiJapan",
+ "Emily",
+ "Firilacroco",
+ "KlaudiuMihaila",
+ "Mihai",
+ "Minisarm",
+ "Danutz",
+ "ImGelu"
+ ]
+ },
+ "inputbox-desc": "Permite includerea formelor HTML predefinite",
+ "inputbox-error-no-type": "Nu ați specificat ce tip de cutie intrare să fie creată.",
+ "inputbox-error-bad-type": "Tipul de cutie intrare „$1” nu este recunoscut.\nVă rugăm să specificați parametrii „create”, „comment”, „search”, „search2” sau „fulltext”.",
+ "inputbox-tryexact": "Încearcă varianta exactă",
+ "inputbox-searchfulltext": "Caută textul întreg",
+ "inputbox-createarticle": "Creare pagină",
+ "inputbox-ns-main": "Principal"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/roa-tara.json b/www/wiki/extensions/InputBox/i18n/roa-tara.json
new file mode 100644
index 00000000..bdc9a094
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/roa-tara.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Joetaras"
+ ]
+ },
+ "inputbox-desc": "Permette l'inglusione de module predefinite de HTML",
+ "inputbox-error-no-type": "Tu non g'è specificate 'u tipe de scatele de input da ccrejà.",
+ "inputbox-error-bad-type": "'U tipe d'a scatele de input \"$1\" non g'è corrette.\nPe piacere mitte \"create\", \"comment\", \"search\", \"search2\" o \"fulltext\".",
+ "inputbox-tryexact": "Pruève cu 'u combronde satte-satte",
+ "inputbox-searchfulltext": "Cirche jndr'à tutte 'u teste",
+ "inputbox-createarticle": "Ccreje 'a vôsce",
+ "inputbox-movearticle": "Spuèste 'a pàgene",
+ "inputbox-postcomment": "Seziona nove",
+ "inputbox-postcommenttitle": "Seziona nove",
+ "inputbox-ns-main": "Prengepàle"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ru.json b/www/wiki/extensions/InputBox/i18n/ru.json
new file mode 100644
index 00000000..4c048531
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ru.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Александр Сигачёв",
+ "Okras",
+ "Meshkov.a"
+ ]
+ },
+ "inputbox-desc": "Позволяет включать заранее определённые HTML-формы",
+ "inputbox-error-no-type": "Вы не указали тип создаваемого поля ввода.",
+ "inputbox-error-bad-type": "Неизвестный тип поля ввода «$1».\nПожалуйста, укажите один из допустимых типов: «create», «comment», «search», «search2» или «fulltext».",
+ "inputbox-tryexact": "Строгий поиск",
+ "inputbox-searchfulltext": "Полнотекстовый поиск",
+ "inputbox-createarticle": "Создать статью",
+ "inputbox-movearticle": "Переместить страницу",
+ "inputbox-postcomment": "Новый раздел",
+ "inputbox-postcommenttitle": "Новый раздел",
+ "inputbox-ns-main": "Главная"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/rue.json b/www/wiki/extensions/InputBox/i18n/rue.json
new file mode 100644
index 00000000..b1e167d6
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/rue.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gazeb"
+ ]
+ },
+ "inputbox-desc": "Доволює вкладати вызначены HTML формуларї.",
+ "inputbox-error-no-type": "Не задали сьте тіп формуларёвого поля про створїня.",
+ "inputbox-error-bad-type": "Нерозпознаный тіп поля „$1“.\nЗазначте єдну з можностей: „create“, „comment“, „search“, „search2“ або „fulltext“.",
+ "inputbox-tryexact": "Спробуйте точне гляданя",
+ "inputbox-searchfulltext": "Повнотекстове гляданя",
+ "inputbox-createarticle": "Створити статю",
+ "inputbox-ns-main": "Головна"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/rup.json b/www/wiki/extensions/InputBox/i18n/rup.json
new file mode 100644
index 00000000..2eb82808
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/rup.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "D'AroemenenZullenNiVergaan"
+ ]
+ },
+ "inputbox-createarticle": "Adrari frândzâ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sa.json b/www/wiki/extensions/InputBox/i18n/sa.json
new file mode 100644
index 00000000..24bbd112
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sa.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ansumang",
+ "Shubha",
+ "NehalDaveND",
+ "Amire80"
+ ]
+ },
+ "inputbox-desc": "पूर्वनिरूपितस्य HTML प्रपत्रयोजनम् अनुमन्यताम्",
+ "inputbox-error-no-type": "कीदृशी पूरणपेटिका निर्मातव्या इति भवता न निर्दिष्टम् ।",
+ "inputbox-error-bad-type": "पूरणपेटिकाप्रकारः \"$1\" न अभिज्ञातः ।\n\"निर्मितिः\", \"विमर्शः\", \"अन्वेषणम्\", \"अन्वेषणम् २\" अथवा \"पूर्णपाठ्यांशः\" इति निर्दिश्यताम् ।",
+ "inputbox-tryexact": "दत्तः शब्दः एव लिख्यताम्",
+ "inputbox-searchfulltext": "सम्पूर्णः पाठ्यांशः अन्विष्यताम्",
+ "inputbox-createarticle": "पृष्ठं सृज्यताम्",
+ "inputbox-movearticle": "शीर्षकं परिवर्त्यताम्",
+ "inputbox-postcomment": "नवीनः विभागः",
+ "inputbox-postcommenttitle": "नवीनः विभागः",
+ "inputbox-ns-main": "मुख्यम्"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sah.json b/www/wiki/extensions/InputBox/i18n/sah.json
new file mode 100644
index 00000000..9b529561
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sah.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "HalanTul"
+ ]
+ },
+ "inputbox-desc": "Эрдэттэн талыллыбыт HTML-формалары холбуур",
+ "inputbox-error-no-type": "Вы не указали тип создаваемого поля ввода.",
+ "inputbox-error-bad-type": "«$1» көрүҥэ кыайан өйдөммөтө. Бука диэн көҥүллэнэри тал: «create», «comment», «search», «search2» эбэтэр «fulltext».",
+ "inputbox-tryexact": "Чопчу булуу",
+ "inputbox-searchfulltext": "Тиэкиһин барытын көрдөөһүн",
+ "inputbox-createarticle": "Ыстатыйаны айарга",
+ "inputbox-ns-main": "Сүрүн"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sat.json b/www/wiki/extensions/InputBox/i18n/sat.json
new file mode 100644
index 00000000..7395a145
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sat.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Albinus",
+ "Manik Soren"
+ ]
+ },
+ "inputbox-tryexact": "ᱡᱚᱛᱷᱟᱛ ᱢᱤᱞᱟᱹᱣ ᱠᱩᱨᱩᱢᱩᱴᱩᱭ ᱢᱮ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sc.json b/www/wiki/extensions/InputBox/i18n/sc.json
new file mode 100644
index 00000000..07863d22
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sc.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Marzedu"
+ ]
+ },
+ "inputbox-createarticle": "Crea artìculu"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/scn.json b/www/wiki/extensions/InputBox/i18n/scn.json
new file mode 100644
index 00000000..d6712d0e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/scn.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aushulz",
+ "Santu",
+ "Sarvaturi"
+ ]
+ },
+ "inputbox-desc": "Pirmetti nzirimenti di mòduli HTML predifiniti",
+ "inputbox-error-no-type": "Non vinni spicificatu lu tipu di inputbox di criari.",
+ "inputbox-error-bad-type": "\"$1\" nun è nu tipu di inputbox canusciutu. S'hà scègghiri lu tipu ntra \"create\", \"comment\", \"search\" e \"search2\".",
+ "inputbox-tryexact": "Cerca currispunnenza giusta",
+ "inputbox-searchfulltext": "Circata ntô testu",
+ "inputbox-createarticle": "Crea vuci",
+ "inputbox-ns-main": "Principali"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sco.json b/www/wiki/extensions/InputBox/i18n/sco.json
new file mode 100644
index 00000000..678c1263
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sco.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "AmaryllisGardener"
+ ]
+ },
+ "inputbox-tryexact": "Try exact match"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sd.json b/www/wiki/extensions/InputBox/i18n/sd.json
new file mode 100644
index 00000000..d01962a0
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sd.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mehtab ahmed"
+ ]
+ },
+ "inputbox-tryexact": "بلڪل ساڳي مشابھت آزمايو",
+ "inputbox-createarticle": "نئون مضمون تخليق ڪريو"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sg.json b/www/wiki/extensions/InputBox/i18n/sg.json
new file mode 100644
index 00000000..b82d4c85
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sg.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Sü soura"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sgs.json b/www/wiki/extensions/InputBox/i18n/sgs.json
new file mode 100644
index 00000000..57073e8d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sgs.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hugo.arg"
+ ]
+ },
+ "inputbox-tryexact": "Miegīkat tėkslė paėiška",
+ "inputbox-searchfulltext": "Ėiškuotė pėlna teksta"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sh.json b/www/wiki/extensions/InputBox/i18n/sh.json
new file mode 100644
index 00000000..ba3f36a3
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sh.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kolega2357",
+ "OC Ripper",
+ "Conquistador"
+ ]
+ },
+ "inputbox-tryexact": "Isprobaj naći tačan upit",
+ "inputbox-searchfulltext": "Pretraži cijeli tekst - Претражи цео текст",
+ "inputbox-movearticle": "Premjesti stranicu"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/shn.json b/www/wiki/extensions/InputBox/i18n/shn.json
new file mode 100644
index 00000000..d8d79de4
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/shn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Saimawnkham"
+ ]
+ },
+ "inputbox-tryexact": "သွၵ်ႉႁႃ ႁႂ်ႈၼႄႉၼွၼ်းလီလီ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/si.json b/www/wiki/extensions/InputBox/i18n/si.json
new file mode 100644
index 00000000..af185146
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/si.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Asiri wiki",
+ "Budhajeewa",
+ "නන්දිමිතුරු",
+ "බිඟුවා"
+ ]
+ },
+ "inputbox-desc": "පූර්වාර්ථදැක්වූණු HTML ආකාරයන් අඩංගුකිරීමට ඉඩදෙන්න",
+ "inputbox-error-no-type": "තැනිය යුතු ප්‍රදාන කොටුවේ මාදිලිය ඔබ විසින් නිර්දේශ කොට දක්වා නොමැත.",
+ "inputbox-error-bad-type": "\"$1\" ඇතුලත් කෙරුම් කොටු වර්ගය හඳුනාගත නොහැක.\n\"create\", \"comment\", \"search\", \"search2\" හෝ \"fulltext\" බව සඳහන් කරන්න.",
+ "inputbox-tryexact": "තථ්‍ය ගැලපීම වෑයම් කරන්න",
+ "inputbox-searchfulltext": "සම්පූර්ණ පෙළ ගවේෂණය කරන්න",
+ "inputbox-createarticle": "පිටුවක් සාදන්න",
+ "inputbox-ns-main": "ප්‍රධාන"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sk.json b/www/wiki/extensions/InputBox/i18n/sk.json
new file mode 100644
index 00000000..17b0959d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sk.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Helix84",
+ "Teslaton"
+ ]
+ },
+ "inputbox-desc": "Umožňuje vloženie preddefinovaných HTML formulárov",
+ "inputbox-error-no-type": "Neuviedli ste typ vstupného poľa, ktoré sa má vytvoriť.",
+ "inputbox-error-bad-type": "Vstupné pole typu „$1“ nie je podporované.\nProsím, použite „create“, „comment“, „search“ alebo „search2“.",
+ "inputbox-tryexact": "Skúste presné vyhľadávanie",
+ "inputbox-searchfulltext": "Fulltextové vyhľadávanie",
+ "inputbox-createarticle": "Vytvoriť stránku",
+ "inputbox-ns-main": "Hlavný"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/skr-arab.json b/www/wiki/extensions/InputBox/i18n/skr-arab.json
new file mode 100644
index 00000000..0f01e6e0
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/skr-arab.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Saraiki"
+ ]
+ },
+ "inputbox-tryexact": "ٹھیک جوڑ رلاؤ",
+ "inputbox-createarticle": "ورقہ بݨاؤ",
+ "inputbox-movearticle": "ورقہ ٹورو",
+ "inputbox-postcomment": "نواں سیکشن",
+ "inputbox-postcommenttitle": "نواں سیکشن",
+ "inputbox-ns-main": "مین"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sl.json b/www/wiki/extensions/InputBox/i18n/sl.json
new file mode 100644
index 00000000..962b1afb
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sl.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dbc334",
+ "Eleassar",
+ "Irena Plahuta"
+ ]
+ },
+ "inputbox-desc": "Omogoča vključitev vnaprej določenih obrazcev HTML",
+ "inputbox-error-no-type": "Niste določili vrste vnosnega polja za ustvarjanje.",
+ "inputbox-error-bad-type": "Vrsta vnosnega polja »$1« ni prepoznana.\nProsimo, določite »create«, »comment«, »search«, »search2« ali »fulltext«.",
+ "inputbox-tryexact": "Poskusite z natančnim ujemanjem",
+ "inputbox-searchfulltext": "Preišči vse besedilo",
+ "inputbox-createarticle": "Ustvari stran",
+ "inputbox-movearticle": "Prestavi stran",
+ "inputbox-postcomment": "Nov razdelek",
+ "inputbox-postcommenttitle": "Nov razdelek",
+ "inputbox-ns-main": "Osnovno"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sq.json b/www/wiki/extensions/InputBox/i18n/sq.json
new file mode 100644
index 00000000..9f3b3d1b
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sq.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dori",
+ "Olsi"
+ ]
+ },
+ "inputbox-desc": "Lejoni futjen e formave të paracaktuara HTML",
+ "inputbox-error-no-type": "Ju nuk keni specifikuar llojin e kutisë për ta krijuar.",
+ "inputbox-error-bad-type": "Lloji i kutisë \"$1\" nuk njihet.\nJu lutemi specifikoni \"create\", \"comment\", \"search\", \"search2\" ose \"fulltext\".",
+ "inputbox-tryexact": "Kërko përputhje të plotë",
+ "inputbox-searchfulltext": "Kërko tekstin e plotë",
+ "inputbox-createarticle": "Krijo artikull",
+ "inputbox-ns-main": "Kryesor"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sr-ec.json b/www/wiki/extensions/InputBox/i18n/sr-ec.json
new file mode 100644
index 00000000..22334dce
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sr-ec.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Millosh",
+ "Rancher",
+ "Михајло Анђелковић",
+ "Milicevic01"
+ ]
+ },
+ "inputbox-desc": "Омогући укључивање претходно дефинисаних HTML форми.",
+ "inputbox-error-no-type": "Нисте одредили тип кутије за унос коју правите.",
+ "inputbox-error-bad-type": "Тип „$1“ кутијице за унос података је непознат.\nМолимо вас да га промените на „create“, „comment“, „search“, „search2“ или „fulltext“.",
+ "inputbox-tryexact": "Покушај тачно",
+ "inputbox-searchfulltext": "Претражи цео текст",
+ "inputbox-createarticle": "Направи страницу",
+ "inputbox-postcomment": "Нови одељак",
+ "inputbox-postcommenttitle": "Нови одељак",
+ "inputbox-ns-main": "Главни"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sr-el.json b/www/wiki/extensions/InputBox/i18n/sr-el.json
new file mode 100644
index 00000000..aa3b3c74
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sr-el.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Michaello",
+ "Milicevic01"
+ ]
+ },
+ "inputbox-desc": "Omogući uključivanje prethodno definisanih HTML formi.",
+ "inputbox-error-no-type": "Niste odredili tip kutije za unos koju pravite.",
+ "inputbox-error-bad-type": "Tip „$1“ kutijice za unos podataka je nepoznat.\nMolimo vas da ga promenite na „create“, „comment“, „search“, „search2“ ili „fulltext“.",
+ "inputbox-tryexact": "Pokušaj tačno",
+ "inputbox-searchfulltext": "Pretraži ceo tekst",
+ "inputbox-createarticle": "Napravi stranicu",
+ "inputbox-postcomment": "Novi odeljak",
+ "inputbox-postcommenttitle": "Novi odeljak",
+ "inputbox-ns-main": "Glavni"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ss.json b/www/wiki/extensions/InputBox/i18n/ss.json
new file mode 100644
index 00000000..ad7368db
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ss.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jatrobat"
+ ]
+ },
+ "inputbox-createarticle": "Kúdála intfo"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/stq.json b/www/wiki/extensions/InputBox/i18n/stq.json
new file mode 100644
index 00000000..c89caae6
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/stq.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Maartenvdbent",
+ "Pyt"
+ ]
+ },
+ "inputbox-desc": "Ferlööwet dät Apniemen fon foardefinierde HTML-Formulare",
+ "inputbox-error-no-type": "Du hääst naan Inputbox-Typ ounroat.",
+ "inputbox-error-bad-type": "Iengoawefäild-Typ \"$1\" uunbekoand.\nReek n gultigen Typ an: „create“, „comment“, „search“, „search2“ of \"fulltext\".",
+ "inputbox-tryexact": "Fersäik exakte Säike:",
+ "inputbox-searchfulltext": "Dän ganse Text truchsäike",
+ "inputbox-createarticle": "Siede anlääse"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sty.json b/www/wiki/extensions/InputBox/i18n/sty.json
new file mode 100644
index 00000000..b2248c47
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sty.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Khanmarat"
+ ]
+ },
+ "inputbox-tryexact": "Ҡаты эстәү"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/su.json b/www/wiki/extensions/InputBox/i18n/su.json
new file mode 100644
index 00000000..a626ccd5
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/su.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Irwangatot",
+ "Uchup19"
+ ]
+ },
+ "inputbox-tryexact": "Coba jeung anu cocog",
+ "inputbox-searchfulltext": "Paluruh na téks lengkep",
+ "inputbox-createarticle": "Jieun artikel"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sv.json b/www/wiki/extensions/InputBox/i18n/sv.json
new file mode 100644
index 00000000..814a88da
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sv.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Boivie",
+ "Lejonel",
+ "Najami",
+ "Lokal Profil"
+ ]
+ },
+ "inputbox-desc": "Tillåt inkluderingen av fördefinierade HTML-formulär.",
+ "inputbox-error-no-type": "Du har inte angivit vilken typ av inputbox som ska skapas.",
+ "inputbox-error-bad-type": "\"$1\" är inte en känd typ av inputbox.\nVar god specificera \"create\", \"comment\", \"search\", \"search2\" eller \"fulltext\".",
+ "inputbox-tryexact": "Försök hitta exakt matchning",
+ "inputbox-searchfulltext": "Fulltextsökning",
+ "inputbox-createarticle": "Skapa sida",
+ "inputbox-movearticle": "Flytta sida",
+ "inputbox-postcomment": "Nytt avsnitt",
+ "inputbox-postcommenttitle": "Nytt avsnitt",
+ "inputbox-ns-main": "Huvud"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/sw.json b/www/wiki/extensions/InputBox/i18n/sw.json
new file mode 100644
index 00000000..469d0b99
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/sw.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lloffiwr"
+ ]
+ },
+ "inputbox-createarticle": "Anzisha ukurasa",
+ "inputbox-ns-main": "Kuu"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/szl.json b/www/wiki/extensions/InputBox/i18n/szl.json
new file mode 100644
index 00000000..8fe7fa4f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/szl.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ozi64",
+ "Przemub"
+ ]
+ },
+ "inputbox-createarticle": "Naszkryflej artikel"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ta.json b/www/wiki/extensions/InputBox/i18n/ta.json
new file mode 100644
index 00000000..35eeeb25
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ta.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kanags",
+ "Karthi.dr",
+ "Shanmugamp7",
+ "TRYPPN",
+ "ElangoRamanujam"
+ ]
+ },
+ "inputbox-error-no-type": "எவ்வகையான உள்ளீட்டுப் பெட்டியை உருவாக்குவது என்பதை நீங்கள் குறிப்பிடவில்லை.",
+ "inputbox-tryexact": "சரியான பொருத்தத்தை முயற்சி செய்",
+ "inputbox-searchfulltext": " முழு உரையையும் தேடு",
+ "inputbox-createarticle": "பக்கத்தை உருவாக்கவும்",
+ "inputbox-movearticle": "பக்கத்தை நகர்த்துக",
+ "inputbox-ns-main": "முதன்மை"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tay.json b/www/wiki/extensions/InputBox/i18n/tay.json
new file mode 100644
index 00000000..a086ecee
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tay.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Translatealcd",
+ "Hitaypayan"
+ ]
+ },
+ "inputbox-tryexact": "Tlamiy pspung kin ini’ ptkari’",
+ "inputbox-searchfulltext": "Inblaq mita’ kwara’ binrwan",
+ "inputbox-createarticle": "Ps’rux zzngayan",
+ "inputbox-movearticle": "Hzyaniy quw zngazyan",
+ "inputbox-postcomment": "New section",
+ "inputbox-ns-main": "Spzyang balay na zyuwaw"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tcy.json b/www/wiki/extensions/InputBox/i18n/tcy.json
new file mode 100644
index 00000000..432d98f9
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tcy.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bharathesha Alasandemajalu",
+ "Vishwanatha Badikana"
+ ]
+ },
+ "inputbox-tryexact": "ಸರಿಯಾಯಿನ ಹೊಂದಾಣಿಕೆಗ್ ಪ್ರಯತ್ನೊ ಮಲ್ಪುಲೆ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/te.json b/www/wiki/extensions/InputBox/i18n/te.json
new file mode 100644
index 00000000..0a679de0
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/te.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chaduvari",
+ "Kiranmayee",
+ "Veeven"
+ ]
+ },
+ "inputbox-desc": "ముందే నిర్వచించబడిన HTML ఫారములను చేర్చనివ్వు",
+ "inputbox-error-no-type": "ఏ రకమైన ఇన్&zwnj;పుట్ పెట్టెని తయారుచేయాలో మీరు చెప్పలేదు.",
+ "inputbox-error-bad-type": "ప్రవేశికము పెట్టె యొక్క బాపతు \"$1\"ను గుర్తించలేదు .\nదయచేసి \"create\", \"comment\", \"search\", \"search2\" లేదా \"fulltext\" లను పేర్కొనండి.",
+ "inputbox-tryexact": "ఖచ్చితమైన పోలిక కొరకు ప్రయత్నించు",
+ "inputbox-searchfulltext": "పూర్తి పాఠ్యంలో వెతుకు",
+ "inputbox-createarticle": "వ్యాసాన్ని సృష్టించు",
+ "inputbox-postcomment": "కొత్త విభాగం",
+ "inputbox-postcommenttitle": "కొత్త విభాగం",
+ "inputbox-ns-main": "ప్రధాన"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tg-cyrl.json b/www/wiki/extensions/InputBox/i18n/tg-cyrl.json
new file mode 100644
index 00000000..4d9043e2
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tg-cyrl.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ibrahim"
+ ]
+ },
+ "inputbox-desc": "Иҷозаи истифода аз формҳои HTML аз пеш таърифшударо медиҳад",
+ "inputbox-error-no-type": "Навъи ҷаъбаи вурудии эҷодшавандаро мушаххас накардаед.",
+ "inputbox-error-bad-type": "Навъи ҷаъбаи вурудии \"$1\" ношинохта аст. Лутфан як аз маворидро аз инҳо \"create\", \"comment\", \"search\" ё \"search2\" мушаххас кунед.",
+ "inputbox-tryexact": "Мутобиқати аниқро бисанҷед",
+ "inputbox-searchfulltext": "Ҷустуҷӯи матни пурра",
+ "inputbox-createarticle": "Эҷоди мақола"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tg-latn.json b/www/wiki/extensions/InputBox/i18n/tg-latn.json
new file mode 100644
index 00000000..227907ed
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tg-latn.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Liangent"
+ ]
+ },
+ "inputbox-desc": "Içozai istifoda az formhoi HTML az peş ta'rifşudaro medihad",
+ "inputbox-error-no-type": "Nav'i ça'bai vurudiji eçodşavandaro muşaxxas nakardaed.",
+ "inputbox-tryexact": "Mutobiqati aniqro bisançed",
+ "inputbox-searchfulltext": "Çustuçūi matni purra",
+ "inputbox-createarticle": "Eçodi maqola"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/th.json b/www/wiki/extensions/InputBox/i18n/th.json
new file mode 100644
index 00000000..fde89e7d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/th.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Horus"
+ ]
+ },
+ "inputbox-tryexact": "ลองตรงทุกตัวอักษร",
+ "inputbox-searchfulltext": "ค้นหาข้อมูล",
+ "inputbox-createarticle": "สร้างเนื้อหา"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tk.json b/www/wiki/extensions/InputBox/i18n/tk.json
new file mode 100644
index 00000000..b3d0f24f
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tk.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hanberke"
+ ]
+ },
+ "inputbox-desc": "Deslapky kesgitlenen HTML formlarynyň goşulmagyna rugsat berýär",
+ "inputbox-error-no-type": "Dörediljek giriş gutusynyň tipini görkezmediňiz.",
+ "inputbox-error-bad-type": "Giriş gutusynyň tipi \"$1\" ykrar edilmedi.\n\"create\", \"comment\", \"search\", \"search2\" ýa-da \"fulltext\" diýip görkeziň.",
+ "inputbox-tryexact": "Takyk gabat gelýänini syna",
+ "inputbox-searchfulltext": "Tutuş teksti gözle",
+ "inputbox-createarticle": "Sahypa döret"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tl.json b/www/wiki/extensions/InputBox/i18n/tl.json
new file mode 100644
index 00000000..9c97aaa1
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tl.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "AnakngAraw"
+ ]
+ },
+ "inputbox-desc": "Pahintulutan ang pagsasama ng mga pormularyong HTML na may paunang kahulugan",
+ "inputbox-error-no-type": "Hindi mo tinukoy ang uri ng pasukang kahong lilikhain.",
+ "inputbox-error-bad-type": "Hindi nakikilala ang uri ng pasukang kahong \"$1\".\nPakitukoy ang \"create\", \"comment\", \"search\", \"search2\" o \"fulltext\".",
+ "inputbox-tryexact": "Subukin ang hustung-hustong katugmaan",
+ "inputbox-searchfulltext": "Maghanap sa buong teksto",
+ "inputbox-createarticle": "Likhain ang pahina",
+ "inputbox-ns-main": "Pangunahin"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tn.json b/www/wiki/extensions/InputBox/i18n/tn.json
new file mode 100644
index 00000000..a0971b5c
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tn.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Kwala mokwalo"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/to.json b/www/wiki/extensions/InputBox/i18n/to.json
new file mode 100644
index 00000000..274e0079
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/to.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Fakatupu ʻa e kupu"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tr.json b/www/wiki/extensions/InputBox/i18n/tr.json
new file mode 100644
index 00000000..37465729
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tr.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Emperyan",
+ "Erkan Yilmaz",
+ "Joseph",
+ "Srhat",
+ "Arystanbek"
+ ]
+ },
+ "inputbox-desc": "Öntanımlı HTML formlarının dahil edilmesine olanak verir",
+ "inputbox-error-no-type": "Oluşturulacak girdi kutusunun tipini belirtmediniz.",
+ "inputbox-error-bad-type": "Girdi kutusu tipi \"$1\" tanınmadı.\nLütfen \"create\", \"comment\", \"search\", \"search2\" ya da \"fulltext\" olarak belirtin.",
+ "inputbox-tryexact": "Tam eşleşme dene",
+ "inputbox-searchfulltext": "Tüm metni ara",
+ "inputbox-createarticle": "Sayfayı oluştur",
+ "inputbox-movearticle": "Sayfayı taşı",
+ "inputbox-postcomment": "Yeni bölüm",
+ "inputbox-postcommenttitle": "Yeni bölüm",
+ "inputbox-ns-main": "Ana"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ts.json b/www/wiki/extensions/InputBox/i18n/ts.json
new file mode 100644
index 00000000..8a66fb69
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ts.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Thuvack"
+ ]
+ },
+ "inputbox-createarticle": "Tumbuluxa tluka"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tt-cyrl.json b/www/wiki/extensions/InputBox/i18n/tt-cyrl.json
new file mode 100644
index 00000000..a6325ea7
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tt-cyrl.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Derslek",
+ "Ильнар"
+ ]
+ },
+ "inputbox-desc": "Алдан билгеләнгән HTML формаларын кую мөмкинлеген бирә",
+ "inputbox-error-no-type": "Сез төзелүче юлның төрен күрсәтмәгәнсез.",
+ "inputbox-error-bad-type": "«$1» билгесез төрдәге кертү юлы.\nЗиһар, күрсәтелгәннәрнең берсен сайлагыз: «create», «comment», «search», «search2» яисә «fulltext».",
+ "inputbox-tryexact": "Төгәл эзләү",
+ "inputbox-searchfulltext": "Тулы текст буенча эзләү",
+ "inputbox-createarticle": "Мәкалә ясау",
+ "inputbox-movearticle": "Битне күчерү",
+ "inputbox-postcomment": "Яңа бүлек",
+ "inputbox-postcommenttitle": "Яңа бүлекчә",
+ "inputbox-ns-main": "Төп"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tyv.json b/www/wiki/extensions/InputBox/i18n/tyv.json
new file mode 100644
index 00000000..50840702
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tyv.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Agilight",
+ "Sborsody"
+ ]
+ },
+ "inputbox-createarticle": "Арын чаяар",
+ "inputbox-ns-main": "Кол"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/tzm.json b/www/wiki/extensions/InputBox/i18n/tzm.json
new file mode 100644
index 00000000..8f71026d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/tzm.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tifinaghes"
+ ]
+ },
+ "inputbox-createarticle": "ⴰⵔⴰ ⵜⴰⵙⵏⴰ"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/udm.json b/www/wiki/extensions/InputBox/i18n/udm.json
new file mode 100644
index 00000000..b7d8777c
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/udm.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Wadorgurt"
+ ]
+ },
+ "inputbox-tryexact": "Быдэсак лэсясез утчано"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ug-arab.json b/www/wiki/extensions/InputBox/i18n/ug-arab.json
new file mode 100644
index 00000000..ca6d149b
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ug-arab.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Sahran",
+ "Uzdil"
+ ]
+ },
+ "inputbox-tryexact": "مۇتلەق ماسلىشىشنى سىناش",
+ "inputbox-createarticle": "بەت قۇر",
+ "inputbox-ns-main": "ئاساسىي تىزىملىك"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/uk.json b/www/wiki/extensions/InputBox/i18n/uk.json
new file mode 100644
index 00000000..e142a8c5
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/uk.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "AS",
+ "Ahonc",
+ "Dim Grits",
+ "Ата",
+ "Piramidion"
+ ]
+ },
+ "inputbox-desc": "Дозволяє включати заздалегідь визначені HTML-форми",
+ "inputbox-error-no-type": "Ви не зазначили тип поля вводу, яке створюється.",
+ "inputbox-error-bad-type": "Невідомий тип поля вводу «$1».\nБудь ласка, зазначте один з допустимих типів: «create», «comment», «search», «search2» або «fulltext».",
+ "inputbox-tryexact": "Строгий пошук",
+ "inputbox-searchfulltext": "Повнотекстовий пошук",
+ "inputbox-createarticle": "Створити сторінку",
+ "inputbox-movearticle": "Перейменувати сторінку",
+ "inputbox-postcomment": "Новий розділ",
+ "inputbox-postcommenttitle": "Новий розділ",
+ "inputbox-ns-main": "Головна"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/ur.json b/www/wiki/extensions/InputBox/i18n/ur.json
new file mode 100644
index 00000000..d4e372c5
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/ur.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "පසිඳු කාවින්ද",
+ "عثمان خان شاہ",
+ "BukhariSaeed"
+ ]
+ },
+ "inputbox-tryexact": "خو بخو ٹیکسٹ کو ملانے کی کوشش کریں",
+ "inputbox-searchfulltext": "تلاش ِکل متن",
+ "inputbox-createarticle": "نیا مضمون",
+ "inputbox-movearticle": "منتقلئ صفحہ",
+ "inputbox-postcomment": "نیا قطعہ",
+ "inputbox-postcommenttitle": "نیا قطعہ",
+ "inputbox-ns-main": "مین"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/uz.json b/www/wiki/extensions/InputBox/i18n/uz.json
new file mode 100644
index 00000000..825c8d02
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/uz.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Maqola kiritish"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/vec.json b/www/wiki/extensions/InputBox/i18n/vec.json
new file mode 100644
index 00000000..a84231af
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/vec.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Candalua",
+ "GatoSelvadego"
+ ]
+ },
+ "inputbox-desc": "Consente l'inserimento de moduli HTML predefinìi",
+ "inputbox-error-no-type": "No te ghè specificà el tipo de inputbox da crear.",
+ "inputbox-error-bad-type": "\"$1\" no'l xe mìa un tipo de inputbox riconossiùo.\nSiegli el tipo tra \"create\", \"comment\", \"search\", \"search2\" o \"fulltext\".",
+ "inputbox-tryexact": "Çerca corispondenza precisa",
+ "inputbox-searchfulltext": "Çerca nel testo",
+ "inputbox-createarticle": "Crea pagina",
+ "inputbox-ns-main": "Prinsipałe"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/vep.json b/www/wiki/extensions/InputBox/i18n/vep.json
new file mode 100644
index 00000000..ee83c611
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/vep.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Игорь Бродский"
+ ]
+ },
+ "inputbox-tryexact": "Lat'kat tehta tarkoiged ecind",
+ "inputbox-searchfulltext": "Ectä täudes tekstas",
+ "inputbox-createarticle": "Säta lehtpol'",
+ "inputbox-ns-main": "Pänimiavaruz"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/vi.json b/www/wiki/extensions/InputBox/i18n/vi.json
new file mode 100644
index 00000000..735c877d
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/vi.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Minh Nguyen"
+ ]
+ },
+ "inputbox-desc": "Thêm những biểu mẫu HTML đơn giản",
+ "inputbox-error-no-type": "Bạn chưa định rõ loại biểu mẫu để tạo ra.",
+ "inputbox-error-bad-type": "Loại biểu mẫu “$1” không hợp lệ. Xin hãy chọn “create”, “comment”, “search”, “search2”, hay “fulltext”.",
+ "inputbox-tryexact": "Thử khớp chính xác",
+ "inputbox-searchfulltext": "Tìm toàn văn",
+ "inputbox-createarticle": "Tạo trang",
+ "inputbox-movearticle": "Di chuyển trang",
+ "inputbox-postcomment": "Đề mục mới",
+ "inputbox-postcommenttitle": "Đề mục mới",
+ "inputbox-ns-main": "Chính"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/vo.json b/www/wiki/extensions/InputBox/i18n/vo.json
new file mode 100644
index 00000000..4f79f97a
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/vo.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Malafaya",
+ "Smeira"
+ ]
+ },
+ "inputbox-desc": "Dälön keninükami fomas-HTLM büo pemiedetölas",
+ "inputbox-searchfulltext": "Sukön zi da vödem lölik",
+ "inputbox-createarticle": "Jafön padi"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/vro.json b/www/wiki/extensions/InputBox/i18n/vro.json
new file mode 100644
index 00000000..12eb0a27
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/vro.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Võrok"
+ ]
+ },
+ "inputbox-desc": "Lupa pruukiq ette ärqmäärätüid HTML-vormõ.",
+ "inputbox-error-no-type": "Sa olõ-õi määränüq sisseandmisvälä tüüpi.",
+ "inputbox-error-bad-type": "Sisseandmisvälä tüüp ”$1” ei kõlbaq.\nTüüp piät olõma create, comment, search, search2 vai fulltext.",
+ "inputbox-tryexact": "Täpsä otsminõ",
+ "inputbox-searchfulltext": "Otsiq terveq tekst",
+ "inputbox-createarticle": "Luuq leht"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/wa.json b/www/wiki/extensions/InputBox/i18n/wa.json
new file mode 100644
index 00000000..3c4fda3c
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/wa.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Ahiver årtike"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/war.json b/www/wiki/extensions/InputBox/i18n/war.json
new file mode 100644
index 00000000..d75bf1aa
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/war.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "JinJian"
+ ]
+ },
+ "inputbox-tryexact": "Pagbiling hin kapareho"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/wo.json b/www/wiki/extensions/InputBox/i18n/wo.json
new file mode 100644
index 00000000..4ca05fba
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/wo.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ibou"
+ ]
+ },
+ "inputbox-error-no-type": "Leeraloo ban xeetu boyotu duggit nga bëgga sos.",
+ "inputbox-error-bad-type": "↓\"$1\" du xeetu boyotu duggiit bees xam. Tànnal benn ci yii \"create\", \"comment\", \"seach\" walla \"search2\"",
+ "inputbox-tryexact": "Seet wi mu yamal",
+ "inputbox-searchfulltext": "Ceet ci mbind mi",
+ "inputbox-createarticle": "Sos jukki bi"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/wuu.json b/www/wiki/extensions/InputBox/i18n/wuu.json
new file mode 100644
index 00000000..eb87a668
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/wuu.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Poiuyt"
+ ]
+ },
+ "inputbox-tryexact": "试试精准配对",
+ "inputbox-searchfulltext": "全文搜寻",
+ "inputbox-createarticle": "建立新文章"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/xal.json b/www/wiki/extensions/InputBox/i18n/xal.json
new file mode 100644
index 00000000..ef952c8b
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/xal.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Huuchin"
+ ]
+ },
+ "inputbox-error-no-type": "Та бүтәлдг оруллһна теегин янз заав уга.",
+ "inputbox-error-bad-type": "«$1» буру оруллһна теегин янз болҗана.\nБуйн болтха, нег йоста янз автн: «create», «comment», «search», «search2» аль «fulltext».",
+ "inputbox-tryexact": "Дарата хәәлһн",
+ "inputbox-searchfulltext": "Күцц бичг хәәлһн",
+ "inputbox-createarticle": "Халхиг бүтәх"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/xh.json b/www/wiki/extensions/InputBox/i18n/xh.json
new file mode 100644
index 00000000..0d43ddf0
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/xh.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-createarticle": "Bhala Ibali"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/xmf.json b/www/wiki/extensions/InputBox/i18n/xmf.json
new file mode 100644
index 00000000..4f404aa5
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/xmf.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Silovan"
+ ]
+ },
+ "inputbox-tryexact": "ქოცადი ზუსტი აკოხვალამა"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/yi.json b/www/wiki/extensions/InputBox/i18n/yi.json
new file mode 100644
index 00000000..c6684637
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/yi.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Yidel",
+ "פוילישער"
+ ]
+ },
+ "inputbox-tryexact": "פרובירן גענויעם זוך",
+ "inputbox-searchfulltext": "זוך אין אלע בלעטער",
+ "inputbox-createarticle": "באשאפט ארטיקל",
+ "inputbox-ns-main": "הויפט"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/yo.json b/www/wiki/extensions/InputBox/i18n/yo.json
new file mode 100644
index 00000000..7f51d488
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/yo.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Demmy",
+ "Wikicology"
+ ]
+ },
+ "inputbox-tryexact": "Gbìyànjú èyí tó ṣe dédé",
+ "inputbox-createarticle": "Dá ojúewé"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/yue.json b/www/wiki/extensions/InputBox/i18n/yue.json
new file mode 100644
index 00000000..d1a42766
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/yue.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Yueman"
+ ]
+ },
+ "inputbox-desc": "容許包含預先設定嘅HTML表格",
+ "inputbox-error-no-type": "你重未指定開輸入盒嘅指定類型。",
+ "inputbox-error-bad-type": "輸入盒類型\"$1\"認唔到。\n請指定\"create\"、\"comment\"、\"search\"、\"search2\"或者\"fulltext\"。",
+ "inputbox-tryexact": "試吓精確嘅比較",
+ "inputbox-searchfulltext": "搵全文",
+ "inputbox-createarticle": "建立文章",
+ "inputbox-movearticle": "搬頁",
+ "inputbox-postcomment": "新小節",
+ "inputbox-postcommenttitle": "新小節",
+ "inputbox-ns-main": "主要"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/zh-hans.json b/www/wiki/extensions/InputBox/i18n/zh-hans.json
new file mode 100644
index 00000000..1d4b1e02
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/zh-hans.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "Liangent",
+ "PhiLiP",
+ "Wmr89502270",
+ "Xiaomingyan",
+ "Liuxinyu970226",
+ "D41D8CD98F"
+ ]
+ },
+ "inputbox-desc": "允许包含预先设置的HTML表单",
+ "inputbox-error-no-type": "您没有指定所创建输入框的类型。",
+ "inputbox-error-bad-type": "输入框类型“$1”无法识别。\n请指定“create”、“comment”、“search”、“search2”或“fulltext”。",
+ "inputbox-tryexact": "尝试精确匹配",
+ "inputbox-searchfulltext": "搜索全文",
+ "inputbox-createarticle": "创建页面",
+ "inputbox-movearticle": "移动页面",
+ "inputbox-postcomment": "新段落",
+ "inputbox-postcommenttitle": "新段落",
+ "inputbox-ns-main": "主"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/zh-hant.json b/www/wiki/extensions/InputBox/i18n/zh-hant.json
new file mode 100644
index 00000000..c58faf1a
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/zh-hant.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "Anakmalaysia",
+ "Gaoxuewei",
+ "Liangent",
+ "Mark85296341",
+ "Liuxinyu970226",
+ "Cwlin0416"
+ ]
+ },
+ "inputbox-desc": "可引用預先定義好的 HTML 表格",
+ "inputbox-error-no-type": "您尚未指定要建立的輸入框類型。",
+ "inputbox-error-bad-type": "輸入框類型 \"$1\" 錯誤。\n請使用 \"create\", \"comment\", \"search\", \"search2\" 或 \"fulltext\"。",
+ "inputbox-tryexact": "嘗試精確比對",
+ "inputbox-searchfulltext": "全文檢索",
+ "inputbox-createarticle": "建立頁面",
+ "inputbox-movearticle": "移動頁面",
+ "inputbox-postcomment": "新章節",
+ "inputbox-postcommenttitle": "新章節",
+ "inputbox-ns-main": "主要"
+}
diff --git a/www/wiki/extensions/InputBox/i18n/zu.json b/www/wiki/extensions/InputBox/i18n/zu.json
new file mode 100644
index 00000000..a394c8fb
--- /dev/null
+++ b/www/wiki/extensions/InputBox/i18n/zu.json
@@ -0,0 +1,4 @@
+{
+ "@metadata": [],
+ "inputbox-searchfulltext": "Sesha ukubhala konke"
+}
diff --git a/www/wiki/extensions/InputBox/includes/InputBox.php b/www/wiki/extensions/InputBox/includes/InputBox.php
new file mode 100644
index 00000000..469ea24c
--- /dev/null
+++ b/www/wiki/extensions/InputBox/includes/InputBox.php
@@ -0,0 +1,729 @@
+<?php
+/**
+ * Classes for InputBox extension
+ *
+ * @file
+ * @ingroup Extensions
+ */
+
+/**
+ * InputBox class
+ */
+class InputBox {
+
+ /* Fields */
+
+ private $mParser;
+ private $mType = '';
+ private $mWidth = 50;
+ private $mPreload = null;
+ private $mPreloadparams = null;
+ private $mEditIntro = null;
+ private $mUseVE = null;
+ private $mSummary = null;
+ private $mNosummary = null;
+ private $mMinor = null;
+ private $mPage = '';
+ private $mBR = 'yes';
+ private $mDefaultText = '';
+ private $mPlaceholderText = '';
+ private $mBGColor = 'transparent';
+ private $mButtonLabel = '';
+ private $mSearchButtonLabel = '';
+ private $mFullTextButton = '';
+ private $mLabelText = '';
+ private $mHidden = '';
+ private $mNamespaces = '';
+ private $mID = '';
+ private $mInline = false;
+ private $mPrefix = '';
+ private $mDir = '';
+ private $mSearchFilter = '';
+ private $mTour = '';
+
+ /* Functions */
+
+ /**
+ * @param Parser $parser
+ */
+ public function __construct( $parser ) {
+ $this->mParser = $parser;
+ // Default value for dir taken from the page language (bug 37018)
+ $this->mDir = $this->mParser->getTargetLanguage()->getDir();
+ // Split caches by language, to make sure visitors do not see a cached
+ // version in a random language (since labels are in the user language)
+ $this->mParser->getOptions()->getUserLangObj();
+ $this->mParser->getOutput()->addModuleStyles( [
+ 'ext.inputBox.styles',
+ 'mediawiki.ui.input',
+ 'mediawiki.ui.checkbox',
+ ] );
+ }
+
+ public function render() {
+ // Handle various types
+ switch ( $this->mType ) {
+ case 'create':
+ case 'comment':
+ $this->mParser->getOutput()->addModules( 'ext.inputBox' );
+ return $this->getCreateForm();
+ case 'move':
+ return $this->getMoveForm();
+ case 'commenttitle':
+ return $this->getCommentForm();
+ case 'search':
+ return $this->getSearchForm( 'search' );
+ case 'fulltext':
+ return $this->getSearchForm( 'fulltext' );
+ case 'search2':
+ return $this->getSearchForm2();
+ default:
+ return Xml::tags( 'div', null,
+ Xml::element( 'strong',
+ [ 'class' => 'error' ],
+ strlen( $this->mType ) > 0
+ ? wfMessage( 'inputbox-error-bad-type', $this->mType )->text()
+ : wfMessage( 'inputbox-error-no-type' )->text()
+ )
+ );
+ }
+ }
+
+ /**
+ * Returns the action name and value to use in inputboxes which redirects to edit pages.
+ * Decides, if the link should redirect to VE edit page (veaction=edit) or to wikitext editor
+ * (action=edit).
+ *
+ * @return Array Array with name and value data
+ */
+ private function getEditActionArgs() {
+ // default is wikitext editor
+ $args = [
+ 'name' => 'action',
+ 'value' => 'edit',
+ ];
+ // check, if VE is installed and VE editor is requested
+ if ( $this->shouldUseVE() ) {
+ $args = [
+ 'name' => 'veaction',
+ 'value' => 'edit',
+ ];
+ }
+ return $args;
+ }
+
+ /**
+ * Get common classes, that could be added and depend on, if
+ * a line break between a button and an input field is added or not.
+ *
+ * @return String
+ */
+ private function getLinebreakClasses() {
+ return strtolower( $this->mBR ) === '<br />' ? 'mw-inputbox-input ' : '';
+ }
+
+ /**
+ * Generate search form
+ * @param string $type
+ * @return string HTML
+ */
+ public function getSearchForm( $type ) {
+ global $wgContLang, $wgNamespaceAliases;
+
+ // Use button label fallbacks
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-tryexact' )->text();
+ }
+ if ( !$this->mSearchButtonLabel ) {
+ $this->mSearchButtonLabel = wfMessage( 'inputbox-searchfulltext' )->text();
+ }
+ if ( $this->mID !== '' ) {
+ $idArray = [ 'id' => Sanitizer::escapeIdForAttribute( $this->mID ) ];
+ } else {
+ $idArray = [];
+ }
+ // We need a unqiue id to link <label> to checkboxes, but also
+ // want multiple <inputbox>'s to not be invalid html
+ $idRandStr = Sanitizer::escapeIdForAttribute( '-' . $this->mID . wfRandom() );
+
+ // Build HTML
+ $htmlOut = Xml::openElement( 'div',
+ [
+ 'class' => 'mw-inputbox-centered',
+ 'style' => $this->bgColorStyle(),
+ ]
+ );
+ $htmlOut .= Xml::openElement( 'form',
+ [
+ 'name' => 'searchbox',
+ 'class' => 'searchbox',
+ 'action' => SpecialPage::getTitleFor( 'Search' )->getLocalUrl(),
+ ] + $idArray
+ );
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'class' => $this->getLinebreakClasses() . 'searchboxInput mw-ui-input mw-ui-input-inline',
+ 'name' => 'search',
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth,
+ 'dir' => $this->mDir,
+ ]
+ );
+
+ if ( $this->mPrefix != '' ) {
+ $htmlOut .= Html::hidden( 'prefix', $this->mPrefix );
+ }
+
+ if ( $this->mSearchFilter != '' ) {
+ $htmlOut .= Html::hidden( 'searchfilter', $this->mSearchFilter );
+ }
+
+ if ( $this->mTour != '' ) {
+ $htmlOut .= Html::hidden( 'tour', $this->mTour );
+ }
+
+ $htmlOut .= $this->mBR;
+
+ // Determine namespace checkboxes
+ $namespacesArray = explode( ',', $this->mNamespaces );
+ if ( $this->mNamespaces ) {
+ $namespaces = $wgContLang->getNamespaces();
+ $nsAliases = array_merge( $wgContLang->getNamespaceAliases(), $wgNamespaceAliases );
+ $showNamespaces = [];
+ $checkedNS = [];
+ // Check for valid namespaces
+ foreach ( $namespacesArray as $userNS ) {
+ $userNS = trim( $userNS ); // no whitespace
+
+ // Namespace needs to be checked if flagged with "**"
+ if ( strpos( $userNS, '**' ) ) {
+ $userNS = str_replace( '**', '', $userNS );
+ $checkedNS[$userNS] = true;
+ }
+
+ $mainMsg = wfMessage( 'inputbox-ns-main' )->inContentLanguage()->text();
+ if ( $userNS == 'Main' || $userNS == $mainMsg ) {
+ $i = 0;
+ } elseif ( array_search( $userNS, $namespaces ) ) {
+ $i = array_search( $userNS, $namespaces );
+ } elseif ( isset( $nsAliases[$userNS] ) ) {
+ $i = $nsAliases[$userNS];
+ } else {
+ continue; // Namespace not recognized, skip
+ }
+ $showNamespaces[$i] = $userNS;
+ if ( isset( $checkedNS[$userNS] ) && $checkedNS[$userNS] ) {
+ $checkedNS[$i] = true;
+ }
+ }
+
+ // Show valid namespaces
+ foreach ( $showNamespaces as $i => $name ) {
+ $checked = [];
+ // Namespace flagged with "**" or if it's the only one
+ if ( ( isset( $checkedNS[$i] ) && $checkedNS[$i] ) || count( $showNamespaces ) == 1 ) {
+ $checked = [ 'checked' => 'checked' ];
+ }
+
+ if ( count( $showNamespaces ) == 1 ) {
+ // Checkbox
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => 'hidden',
+ 'name' => 'ns' . $i,
+ 'value' => 1,
+ 'id' => 'mw-inputbox-ns' . $i . $idRandStr
+ ] + $checked
+ );
+ } else {
+ // Checkbox
+ $htmlOut .= ' <div class="mw-inputbox-element mw-ui-checkbox">';
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => 'checkbox',
+ 'name' => 'ns' . $i,
+ 'value' => 1,
+ 'id' => 'mw-inputbox-ns' . $i . $idRandStr
+ ] + $checked
+ );
+ // Label
+ $htmlOut .= Xml::label( $name, 'mw-inputbox-ns' . $i . $idRandStr );
+ $htmlOut .= '</div> ';
+ }
+ }
+
+ // Line break
+ $htmlOut .= $this->mBR;
+ } elseif ( $type == 'search' ) {
+ // Go button
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'go',
+ 'class' => 'mw-ui-button',
+ 'value' => $this->mButtonLabel
+ ]
+ );
+ $htmlOut .= '&#160;';
+ }
+
+ // Search button
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'fulltext',
+ 'class' => 'mw-ui-button',
+ 'value' => $this->mSearchButtonLabel
+ ]
+ );
+
+ // Hidden fulltext param for IE (bug 17161)
+ if ( $type == 'fulltext' ) {
+ $htmlOut .= Html::hidden( 'fulltext', 'Search' );
+ }
+
+ $htmlOut .= Xml::closeElement( 'form' );
+ $htmlOut .= Xml::closeElement( 'div' );
+
+ // Return HTML
+ return $htmlOut;
+ }
+
+ /**
+ * Generate search form version 2
+ * @return string
+ */
+ public function getSearchForm2() {
+ // Use button label fallbacks
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-tryexact' )->text();
+ }
+
+ if ( $this->mID !== '' ) {
+ $unescapedID = $this->mID;
+ } else {
+ // The label element needs a unique id, use
+ // random number to avoid multiple input boxes
+ // having conflicts.
+ $unescapedID = wfRandom();
+ }
+ $id = Sanitizer::escapeIdForAttribute( $unescapedID );
+ $htmlLabel = '';
+ if ( isset( $this->mLabelText ) && strlen( trim( $this->mLabelText ) ) ) {
+ $htmlLabel = Xml::openElement( 'label', [ 'for' => 'bodySearchInput' . $id ] );
+ $htmlLabel .= $this->mParser->recursiveTagParse( $this->mLabelText );
+ $htmlLabel .= Xml::closeElement( 'label' );
+ }
+ $htmlOut = Xml::openElement( 'form',
+ [
+ 'name' => 'bodySearch' . $id,
+ 'id' => 'bodySearch' . $id,
+ 'class' => 'bodySearch' . ( $this->mInline ? ' mw-inputbox-inline' : '' ),
+ 'action' => SpecialPage::getTitleFor( 'Search' )->getLocalUrl(),
+ ]
+ );
+ $htmlOut .= Xml::openElement( 'div',
+ [
+ 'class' => 'bodySearchWrap' . ( $this->mInline ? ' mw-inputbox-inline' : '' ),
+ 'style' => $this->bgColorStyle(),
+ ]
+ );
+ $htmlOut .= $htmlLabel;
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'name' => 'search',
+ 'class' => 'mw-ui-input mw-ui-input-inline',
+ 'size' => $this->mWidth,
+ 'id' => 'bodySearchInput' . $id,
+ 'dir' => $this->mDir,
+ ]
+ );
+ $htmlOut .= '&#160;' . Xml::element( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'go',
+ 'value' => $this->mButtonLabel,
+ 'class' => 'mw-ui-button',
+ ]
+ );
+
+ // Better testing needed here!
+ if ( !empty( $this->mFullTextButton ) ) {
+ $htmlOut .= Xml::element( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'fulltext',
+ 'class' => 'mw-ui-button',
+ 'value' => $this->mSearchButtonLabel
+ ]
+ );
+ }
+
+ $htmlOut .= Xml::closeElement( 'div' );
+ $htmlOut .= Xml::closeElement( 'form' );
+
+ // Return HTML
+ return $htmlOut;
+ }
+
+ /**
+ * Generate create page form
+ * @return string
+ */
+ public function getCreateForm() {
+ global $wgScript;
+
+ if ( $this->mType == "comment" ) {
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-postcomment' )->text();
+ }
+ } else {
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-createarticle' )->text();
+ }
+ }
+
+ $htmlOut = Xml::openElement( 'div',
+ [
+ 'class' => 'mw-inputbox-centered',
+ 'style' => $this->bgColorStyle(),
+ ]
+ );
+ $createBoxParams = [
+ 'name' => 'createbox',
+ 'class' => 'createbox',
+ 'action' => $wgScript,
+ 'method' => 'get'
+ ];
+ if ( $this->mID !== '' ) {
+ $createBoxParams['id'] = Sanitizer::escapeIdForAttribute( $this->mID );
+ }
+ $htmlOut .= Xml::openElement( 'form', $createBoxParams );
+ $editArgs = $this->getEditActionArgs();
+ $htmlOut .= Html::hidden( $editArgs['name'], $editArgs['value'] );
+ if ( $this->mPreload !== null ) {
+ $htmlOut .= Html::hidden( 'preload', $this->mPreload );
+ }
+ if ( is_array( $this->mPreloadparams ) ) {
+ foreach ( $this->mPreloadparams as $preloadparams ) {
+ $htmlOut .= Html::hidden( 'preloadparams[]', $preloadparams );
+ }
+ }
+ if ( $this->mEditIntro !== null ) {
+ $htmlOut .= Html::hidden( 'editintro', $this->mEditIntro );
+ }
+ if ( $this->mSummary !== null ) {
+ $htmlOut .= Html::hidden( 'summary', $this->mSummary );
+ }
+ if ( $this->mNosummary !== null ) {
+ $htmlOut .= Html::hidden( 'nosummary', $this->mNosummary );
+ }
+ if ( $this->mPrefix !== '' ) {
+ $htmlOut .= Html::hidden( 'prefix', $this->mPrefix );
+ }
+ if ( $this->mMinor !== null ) {
+ $htmlOut .= Html::hidden( 'minor', $this->mMinor );
+ }
+ if ( $this->mType == 'comment' ) {
+ $htmlOut .= Html::hidden( 'section', 'new' );
+ }
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'name' => 'title',
+ 'class' => $this->getLinebreakClasses() .
+ 'mw-ui-input mw-ui-input-inline createboxInput',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth,
+ 'dir' => $this->mDir,
+ ]
+ );
+ $htmlOut .= $this->mBR;
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'create',
+ 'class' => 'mw-ui-button mw-ui-progressive createboxButton',
+ 'value' => $this->mButtonLabel
+ ]
+ );
+ $htmlOut .= Xml::closeElement( 'form' );
+ $htmlOut .= Xml::closeElement( 'div' );
+
+ // Return HTML
+ return $htmlOut;
+ }
+
+ /**
+ * Generate move page form
+ * @return string
+ */
+ public function getMoveForm() {
+ global $wgScript;
+
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-movearticle' )->text();
+ }
+
+ $htmlOut = Xml::openElement( 'div',
+ [
+ 'class' => 'mw-inputbox-centered',
+ 'style' => $this->bgColorStyle(),
+ ]
+ );
+ $moveBoxParams = [
+ 'name' => 'movebox',
+ 'class' => 'mw-movebox',
+ 'action' => $wgScript,
+ 'method' => 'get'
+ ];
+ if ( $this->mID !== '' ) {
+ $moveBoxParams['id'] = Sanitizer::escapeIdForAttribute( $this->mID );
+ }
+ $htmlOut .= Xml::openElement( 'form', $moveBoxParams );
+ $htmlOut .= Html::hidden( 'title',
+ SpecialPage::getTitleFor( 'Movepage', $this->mPage )->getPrefixedText() );
+ $htmlOut .= Html::hidden( 'wpReason', $this->mSummary );
+ $htmlOut .= Html::hidden( 'prefix', $this->mPrefix );
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'name' => 'wpNewTitle',
+ 'class' => $this->getLinebreakClasses() . 'mw-moveboxInput mw-ui-input mw-ui-input-inline',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth,
+ 'dir' => $this->mDir,
+ ]
+ );
+ $htmlOut .= $this->mBR;
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => 'submit',
+ 'class' => 'mw-ui-button mw-ui-progressive',
+ 'value' => $this->mButtonLabel
+ ]
+ );
+ $htmlOut .= Xml::closeElement( 'form' );
+ $htmlOut .= Xml::closeElement( 'div' );
+
+ // Return HTML
+ return $htmlOut;
+ }
+
+ /**
+ * Generate new section form
+ * @return string
+ */
+ public function getCommentForm() {
+ global $wgScript;
+
+ if ( !$this->mButtonLabel ) {
+ $this->mButtonLabel = wfMessage( 'inputbox-postcommenttitle' )->text();
+ }
+
+ $htmlOut = Xml::openElement( 'div',
+ [
+ 'class' => 'mw-inputbox-centered',
+ 'style' => $this->bgColorStyle(),
+ ]
+ );
+ $commentFormParams = [
+ 'name' => 'commentbox',
+ 'class' => 'commentbox',
+ 'action' => $wgScript,
+ 'method' => 'get'
+ ];
+ if ( $this->mID !== '' ) {
+ $commentFormParams['id'] = Sanitizer::escapeIdForAttribute( $this->mID );
+ }
+ $htmlOut .= Xml::openElement( 'form', $commentFormParams );
+ $editArgs = $this->getEditActionArgs();
+ $htmlOut .= Html::hidden( $editArgs['name'], $editArgs['value'] );
+ if ( $this->mPreload !== null ) {
+ $htmlOut .= Html::hidden( 'preload', $this->mPreload );
+ }
+ if ( is_array( $this->mPreloadparams ) ) {
+ foreach ( $this->mPreloadparams as $preloadparams ) {
+ $htmlOut .= Html::hidden( 'preloadparams[]', $preloadparams );
+ }
+ }
+ if ( $this->mEditIntro !== null ) {
+ $htmlOut .= Html::hidden( 'editintro', $this->mEditIntro );
+ }
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => $this->mHidden ? 'hidden' : 'text',
+ 'name' => 'preloadtitle',
+ 'class' => $this->getLinebreakClasses() . 'commentboxInput mw-ui-input mw-ui-input-inline',
+ 'value' => $this->mDefaultText,
+ 'placeholder' => $this->mPlaceholderText,
+ 'size' => $this->mWidth,
+ 'dir' => $this->mDir,
+ ]
+ );
+ $htmlOut .= Html::hidden( 'section', 'new' );
+ $htmlOut .= Html::hidden( 'title', $this->mPage );
+ $htmlOut .= $this->mBR;
+ $htmlOut .= Xml::openElement( 'input',
+ [
+ 'type' => 'submit',
+ 'name' => 'create',
+ 'class' => 'mw-ui-button mw-ui-progressive',
+ 'value' => $this->mButtonLabel
+ ]
+ );
+ $htmlOut .= Xml::closeElement( 'form' );
+ $htmlOut .= Xml::closeElement( 'div' );
+
+ // Return HTML
+ return $htmlOut;
+ }
+
+ /**
+ * Extract options from a blob of text
+ *
+ * @param string $text Tag contents
+ */
+ public function extractOptions( $text ) {
+ // Parse all possible options
+ $values = [];
+ foreach ( explode( "\n", $text ) as $line ) {
+ if ( strpos( $line, '=' ) === false ) {
+ continue;
+ }
+ list( $name, $value ) = explode( '=', $line, 2 );
+ $name = strtolower( trim( $name ) );
+ $value = Sanitizer::decodeCharReferences( trim( $value ) );
+ if ( $name == 'preloadparams[]' ) {
+ // We have to special-case this one because it's valid for it to appear more than once.
+ $this->mPreloadparams[] = $value;
+ } else {
+ $values[ $name ] = $value;
+ }
+ }
+
+ // Validate the dir value.
+ if ( isset( $values['dir'] ) && !in_array( $values['dir'], [ 'ltr', 'rtl' ] ) ) {
+ unset( $values['dir'] );
+ }
+
+ // Build list of options, with local member names
+ $options = [
+ 'type' => 'mType',
+ 'width' => 'mWidth',
+ 'preload' => 'mPreload',
+ 'page' => 'mPage',
+ 'editintro' => 'mEditIntro',
+ 'useve' => 'mUseVE',
+ 'summary' => 'mSummary',
+ 'nosummary' => 'mNosummary',
+ 'minor' => 'mMinor',
+ 'break' => 'mBR',
+ 'default' => 'mDefaultText',
+ 'placeholder' => 'mPlaceholderText',
+ 'bgcolor' => 'mBGColor',
+ 'buttonlabel' => 'mButtonLabel',
+ 'searchbuttonlabel' => 'mSearchButtonLabel',
+ 'fulltextbutton' => 'mFullTextButton',
+ 'namespaces' => 'mNamespaces',
+ 'labeltext' => 'mLabelText',
+ 'hidden' => 'mHidden',
+ 'id' => 'mID',
+ 'inline' => 'mInline',
+ 'prefix' => 'mPrefix',
+ 'dir' => 'mDir',
+ 'searchfilter' => 'mSearchFilter',
+ 'tour' => 'mTour'
+ ];
+ // Options we should maybe run through lang converter.
+ $convertOptions = [
+ 'default' => true,
+ 'buttonlabel' => true,
+ 'searchbuttonlabel' => true,
+ 'placeholder' => true
+ ];
+ foreach ( $options as $name => $var ) {
+ if ( isset( $values[$name] ) ) {
+ $this->$var = $values[$name];
+ if ( isset( $convertOptions[$name] ) ) {
+ $this->$var = $this->languageConvert( $this->$var );
+ }
+ }
+ }
+
+ // Insert a line break if configured to do so
+ $this->mBR = ( strtolower( $this->mBR ) == "no" ) ? ' ' : '<br />';
+
+ // Validate the width; make sure it's a valid, positive integer
+ $this->mWidth = intval( $this->mWidth <= 0 ? 50 : $this->mWidth );
+
+ // Validate background color
+ if ( !$this->isValidColor( $this->mBGColor ) ) {
+ $this->mBGColor = 'transparent';
+ }
+ }
+
+ /**
+ * Do a security check on the bgcolor parameter
+ * @param string $color
+ * @return bool
+ */
+ public function isValidColor( $color ) {
+ $regex = <<<REGEX
+ /^ (
+ [a-zA-Z]* | # color names
+ \# [0-9a-f]{3} | # short hexadecimal
+ \# [0-9a-f]{6} | # long hexadecimal
+ rgb \s* \( \s* (
+ \d+ \s* , \s* \d+ \s* , \s* \d+ | # rgb integer
+ [0-9.]+% \s* , \s* [0-9.]+% \s* , \s* [0-9.]+% # rgb percent
+ ) \s* \)
+ ) $ /xi
+REGEX;
+ return (bool)preg_match( $regex, $color );
+ }
+
+ private function bgColorStyle() {
+ if ( $this->mBGColor != 'transparent' ) {
+ return 'background-color: ' . $this->mBGColor . ';';
+ }
+ return '';
+ }
+
+ /**
+ * Returns true, if the VisualEditor is requested from the inputbox wikitext definition and
+ * if the VisualEditor extension is actually installed or not, false otherwise.
+ *
+ * @return bool
+ */
+ private function shouldUseVE() {
+ return ExtensionRegistry::getInstance()->isLoaded( 'VisualEditor' ) && $this->mUseVE !== null;
+ }
+
+ /**
+ * For compatability with pre T119158 behaviour
+ *
+ * If a field that is going to be used as an attribute
+ * and it contains "-{" in it, run it through language
+ * converter.
+ *
+ * Its not really clear if it would make more sense to
+ * always convert instead of only if -{ is present. This
+ * function just more or less restores the previous
+ * accidental behaviour.
+ *
+ * @see https://phabricator.wikimedia.org/T180485
+ */
+ private function languageConvert( $text ) {
+ $lang = $this->mParser->getConverterLanguage();
+ if ( $lang->hasVariants() && strpos( $text, '-{' ) !== false ) {
+ $text = $lang->convert( $text );
+ }
+ return $text;
+ }
+}
diff --git a/www/wiki/extensions/InputBox/includes/InputBoxHooks.php b/www/wiki/extensions/InputBox/includes/InputBoxHooks.php
new file mode 100644
index 00000000..75b01464
--- /dev/null
+++ b/www/wiki/extensions/InputBox/includes/InputBoxHooks.php
@@ -0,0 +1,108 @@
+<?php
+/**
+ * Hooks for InputBox extension
+ *
+ * @file
+ * @ingroup Extensions
+ */
+
+/**
+ * InputBox hooks
+ */
+class InputBoxHooks {
+
+ /**
+ * Initialization
+ * @param Parser &$parser
+ * @return true
+ */
+ public static function register( Parser &$parser ) {
+ // Register the hook with the parser
+ $parser->setHook( 'inputbox', [ 'InputBoxHooks', 'render' ] );
+
+ // Continue
+ return true;
+ }
+
+ /**
+ * Prepend prefix to wpNewTitle if necessary
+ * @param SpecialPage $special
+ * @param string $subPage
+ * @return true
+ */
+ public static function onSpecialPageBeforeExecute( $special, $subPage ) {
+ $request = $special->getRequest();
+ $prefix = $request->getText( 'prefix', '' );
+ $title = $request->getText( 'wpNewTitle', '' );
+ $search = $request->getText( 'search', '' );
+ $searchfilter = $request->getText( 'searchfilter', '' );
+ if ( $special->getName() == 'Movepage' && $prefix !== '' && $title !== '' ) {
+ $request->setVal( 'wpNewTitle', $prefix . $title );
+ $request->unsetVal( 'prefix' );
+ }
+ if ( $special->getName() == 'Search' && $searchfilter !== '' ) {
+ $request->setVal( 'search', $search . ' ' . $searchfilter );
+ }
+ return true;
+ }
+
+ /**
+ * Render the input box
+ * @param string $input
+ * @param array $args
+ * @param Parser $parser
+ * @return string
+ */
+ public static function render( $input, $args, Parser $parser ) {
+ // Create InputBox
+ $inputBox = new InputBox( $parser );
+
+ // Configure InputBox
+ $inputBox->extractOptions( $parser->replaceVariables( $input ) );
+
+ // Return output
+ return $inputBox->render();
+ }
+
+ /**
+ * <inputbox type=create...> sends requests with action=edit, and
+ * possibly a &prefix=Foo. So we pick that up here, munge prefix
+ * and title together, and redirect back out to the real page
+ * @param OutputPage $output
+ * @param Article $article
+ * @param Title $title
+ * @param User $user
+ * @param WebRequest $request
+ * @param MediaWiki $wiki
+ * @return bool
+ */
+ public static function onMediaWikiPerformAction(
+ $output,
+ $article,
+ $title,
+ $user,
+ $request,
+ $wiki
+ ) {
+ if ( $wiki->getAction() !== 'edit' && $request->getText( 'veaction' ) !== 'edit' ) {
+ // not our problem
+ return true;
+ }
+ if ( $request->getText( 'prefix', '' ) === '' ) {
+ // Fine
+ return true;
+ }
+
+ $params = $request->getValues();
+ $title = $params['prefix'];
+ if ( isset( $params['title'] ) ) {
+ $title .= $params['title'];
+ }
+ unset( $params['prefix'] );
+ $params['title'] = $title;
+
+ global $wgScript;
+ $output->redirect( wfAppendQuery( $wgScript, $params ), '301' );
+ return false;
+ }
+}
diff --git a/www/wiki/extensions/InputBox/phpcs.xml b/www/wiki/extensions/InputBox/phpcs.xml
new file mode 100644
index 00000000..6bfb86a8
--- /dev/null
+++ b/www/wiki/extensions/InputBox/phpcs.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<ruleset>
+ <rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
+ <exclude name="MediaWiki.Commenting.FunctionComment.MissingParamName" />
+ <exclude name="MediaWiki.Commenting.FunctionComment.MissingParamTag" />
+ <exclude name="MediaWiki.Commenting.FunctionComment.MissingReturn" />
+ <exclude name="MediaWiki.Commenting.FunctionComment.WrongStyle" />
+ <exclude name="MediaWiki.Files.ClassMatchesFilename.NotMatch" />
+ <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
+ <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
+ </rule>
+ <file>.</file>
+ <arg name="extensions" value="php,php5,inc" />
+ <arg name="encoding" value="utf8" />
+ <exclude-pattern>vendor</exclude-pattern>
+ <exclude-pattern>node_modules</exclude-pattern>
+</ruleset>
diff --git a/www/wiki/extensions/InputBox/resources/ext.inputBox.js b/www/wiki/extensions/InputBox/resources/ext.inputBox.js
new file mode 100644
index 00000000..7df4eeab
--- /dev/null
+++ b/www/wiki/extensions/InputBox/resources/ext.inputBox.js
@@ -0,0 +1,29 @@
+/**
+ * Disable InputBox submit button when the corresponding text input field is empty.
+ *
+ * @author Tony Thomas
+ * @license http://opensource.org/licenses/MIT MIT License
+ */
+( function ( $, mw ) {
+ 'use strict';
+ mw.hook( 'wikipage.content' ).add( function( $content ) {
+ var $input = $content.find( '.createboxInput:not([type=hidden])' ),
+ onChange = function() {
+ var $textbox = $( this ),
+ $submit = $textbox.data( 'form-submit' );
+
+ if ( !$submit ) {
+ $submit = $textbox.nextAll( 'input.createboxButton' ).first();
+ $textbox.data( 'form-submit', $submit );
+ }
+
+ $submit.prop( 'disabled', $textbox.val().length < 1 );
+ }, i;
+
+ for ( i = 0; i < $input.length; i++ ) {
+ onChange.call( $input.get( i ) );
+ }
+
+ $input.on( 'keyup input change', $.debounce( 50, onChange ) );
+ } );
+}( jQuery, mediaWiki ) );
diff --git a/www/wiki/extensions/InputBox/resources/ext.inputBox.styles.css b/www/wiki/extensions/InputBox/resources/ext.inputBox.styles.css
new file mode 100644
index 00000000..3c760f7e
--- /dev/null
+++ b/www/wiki/extensions/InputBox/resources/ext.inputBox.styles.css
@@ -0,0 +1,19 @@
+.mw-inputbox-centered {
+ margin-left: auto;
+ margin-right: auto;
+ text-align: center;
+}
+
+.mw-inputbox-inline {
+ display: inline;
+}
+
+.mw-inputbox-element {
+ /* important is needed to overwrite display:table from mw-ui checkbox */
+ display: inline-table !important;
+ white-space: nowrap;
+}
+
+.mw-inputbox-input {
+ margin-bottom: 0.5em;
+}
diff --git a/www/wiki/extensions/InputBox/tests/inputBoxParserTests.txt b/www/wiki/extensions/InputBox/tests/inputBoxParserTests.txt
new file mode 100644
index 00000000..cd629dd7
--- /dev/null
+++ b/www/wiki/extensions/InputBox/tests/inputBoxParserTests.txt
@@ -0,0 +1,350 @@
+!! test
+InputBox type=search
+!! wikitext
+<inputbox>
+type=search
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="searchbox" class="searchbox" action="/wiki/Special:Search" id="searchbox">
+<p><input class="mw-inputbox-input searchboxInput mw-ui-input mw-ui-input-inline" name="search" type="text" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="go" class="mw-ui-button" value="Try exact match" />&#160;<input type="submit" name="fulltext" class="mw-ui-button" value="Search full text" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create
+!! wikitext
+<inputbox>
+type=create
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with minor
+!! wikitext
+<inputbox>
+type=create
+minor=1
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" value="1" name="minor" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with minor=0
+!! wikitext
+<inputbox>
+type=create
+minor=0
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" value="0" name="minor" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with preloadparams
+!! wikitext
+<inputbox>
+type=create
+preloadparams[]=param1
+preloadparams[]=param2
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" value="param1" name="preloadparams[]" /><input type="hidden" value="param2" name="preloadparams[]" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with empty preloadparams
+!! wikitext
+<inputbox>
+type=create
+preloadparams[]=
+preloadparams[]=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" name="preloadparams[]" /><input type="hidden" name="preloadparams[]" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with editintro
+!! wikitext
+<inputbox>
+type=create
+editintro=MediaWiki:Test
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" value="MediaWiki:Test" name="editintro" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with empty editintro
+!! wikitext
+<inputbox>
+type=create
+editintro=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" name="editintro" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with summary
+!! wikitext
+<inputbox>
+type=create
+summary=Summary test
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" value="Summary test" name="summary" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with empty summary
+!! wikitext
+<inputbox>
+type=create
+summary=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" name="summary" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with nosummary
+!! wikitext
+<inputbox>
+type=create
+nosummary=true
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" value="true" name="nosummary" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with empty nosummary
+!! wikitext
+<inputbox>
+type=create
+nosummary=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" name="nosummary" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with prefix
+!! wikitext
+<inputbox>
+type=create
+prefix=Test/
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" value="Test/" name="prefix" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with empty prefix
+!! wikitext
+<inputbox>
+type=create
+prefix=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with preload
+!! wikitext
+<inputbox>
+type=create
+preload=test
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" value="test" name="preload" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=create with empty preload
+!! wikitext
+<inputbox>
+type=create
+preload=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" name="preload" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=comment
+!! wikitext
+<inputbox>
+type=comment
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="hidden" value="new" name="section" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="New section" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=commenttitle
+!! wikitext
+<inputbox>
+type=commenttitle
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="commentbox" class="commentbox" action="/index.php" method="get" id="commentbox">
+<p><input type="hidden" value="edit" name="action" /><input type="text" name="preloadtitle" class="mw-inputbox-input commentboxInput mw-ui-input mw-ui-input-inline" value="" placeholder="" size="50" dir="ltr" /><input type="hidden" value="new" name="section" /><input type="hidden" name="title" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive" value="New section" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=fulltext
+!! wikitext
+<inputbox>
+type=fulltext
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="searchbox" class="searchbox" action="/wiki/Special:Search" id="searchbox">
+<p><input class="mw-inputbox-input searchboxInput mw-ui-input mw-ui-input-inline" name="search" type="text" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" name="fulltext" class="mw-ui-button" value="Search full text" /><input type="hidden" value="Search" name="fulltext" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=move
+!! wikitext
+<inputbox>
+type=move
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="movebox" class="mw-movebox" action="/index.php" method="get" id="movebox">
+<p><input type="hidden" value="Special:MovePage/" name="title" /><input type="hidden" name="wpReason" /><input type="hidden" name="prefix" /><input type="text" name="wpNewTitle" class="mw-inputbox-input mw-moveboxInput mw-ui-input mw-ui-input-inline" value="" placeholder="" size="50" dir="ltr" /><br />
+<input type="submit" class="mw-ui-button mw-ui-progressive" value="Move page" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox type=search with tour
+!! wikitext
+<inputbox>
+type=search
+tour=test
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="searchbox" class="searchbox" action="/wiki/Special:Search" id="searchbox">
+<p><input class="mw-inputbox-input searchboxInput mw-ui-input mw-ui-input-inline" name="search" type="text" value="" placeholder="" size="50" dir="ltr" /><input type="hidden" value="test" name="tour" /><br />
+<input type="submit" name="go" class="mw-ui-button" value="Try exact match" />&#160;<input type="submit" name="fulltext" class="mw-ui-button" value="Search full text" /></p>
+</form>
+</div>
+!! end
+
+!! test
+InputBox langconvert
+!! options
+language=sr variant=sr-el
+!! wikitext
+<inputbox>
+type=create
+default=-{sr-el: Some latin; sr-ec: Not latin }-
+placeholder=-{sr-el: el; sr-ec: ec}-
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style="">
+<form name="createbox" class="createbox" action="/index.php" method="get" id="createbox">
+<p><input type="hidden" value="edit" name="action" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="Some latin" placeholder="el" size="50" dir="ltr" /><br />
+<input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Направи страницу" /></p>
+</form>
+</div>
+!! end
diff --git a/www/wiki/extensions/InputBox/tests/parser/inputBoxParserTests.txt b/www/wiki/extensions/InputBox/tests/parser/inputBoxParserTests.txt
new file mode 100644
index 00000000..0f205670
--- /dev/null
+++ b/www/wiki/extensions/InputBox/tests/parser/inputBoxParserTests.txt
@@ -0,0 +1,240 @@
+!! test
+InputBox type=search
+!! wikitext
+<inputbox>
+type=search
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="searchbox" class="searchbox" action="/wiki/Special:Search"><input class="mw-inputbox-input searchboxInput mw-ui-input mw-ui-input-inline" name="search" type="text" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="go" class="mw-ui-button" value="Try exact match" />&#160;<input type="submit" name="fulltext" class="mw-ui-button" value="Search full text" /></form></div>
+!! end
+
+!! test
+InputBox type=create
+!! wikitext
+<inputbox>
+type=create
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with minor
+!! wikitext
+<inputbox>
+type=create
+minor=1
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" value="1" name="minor" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with minor=0
+!! wikitext
+<inputbox>
+type=create
+minor=0
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" value="0" name="minor" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with preloadparams
+!! wikitext
+<inputbox>
+type=create
+preloadparams[]=param1
+preloadparams[]=param2
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" value="param1" name="preloadparams[]" /><input type="hidden" value="param2" name="preloadparams[]" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with empty preloadparams
+!! wikitext
+<inputbox>
+type=create
+preloadparams[]=
+preloadparams[]=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" name="preloadparams[]" /><input type="hidden" name="preloadparams[]" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with editintro
+!! wikitext
+<inputbox>
+type=create
+editintro=MediaWiki:Test
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" value="MediaWiki:Test" name="editintro" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with empty editintro
+!! wikitext
+<inputbox>
+type=create
+editintro=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" name="editintro" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with summary
+!! wikitext
+<inputbox>
+type=create
+summary=Summary test
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" value="Summary test" name="summary" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with empty summary
+!! wikitext
+<inputbox>
+type=create
+summary=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" name="summary" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with nosummary
+!! wikitext
+<inputbox>
+type=create
+nosummary=true
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" value="true" name="nosummary" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with empty nosummary
+!! wikitext
+<inputbox>
+type=create
+nosummary=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" name="nosummary" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with prefix
+!! wikitext
+<inputbox>
+type=create
+prefix=Test/
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" value="Test/" name="prefix" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with empty prefix
+!! wikitext
+<inputbox>
+type=create
+prefix=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with preload
+!! wikitext
+<inputbox>
+type=create
+preload=test
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" value="test" name="preload" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=create with empty preload
+!! wikitext
+<inputbox>
+type=create
+preload=
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" name="preload" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Create page" /></form></div>
+!! end
+
+!! test
+InputBox type=comment
+!! wikitext
+<inputbox>
+type=comment
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="hidden" value="new" name="section" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="New section" /></form></div>
+!! end
+
+!! test
+InputBox type=commenttitle
+!! wikitext
+<inputbox>
+type=commenttitle
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="commentbox" class="commentbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="text" name="preloadtitle" class="mw-inputbox-input commentboxInput mw-ui-input mw-ui-input-inline" value="" placeholder="" size="50" dir="ltr" /><input type="hidden" value="new" name="section" /><input type="hidden" name="title" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive" value="New section" /></form></div>
+!! end
+
+!! test
+InputBox type=fulltext
+!! wikitext
+<inputbox>
+type=fulltext
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="searchbox" class="searchbox" action="/wiki/Special:Search"><input class="mw-inputbox-input searchboxInput mw-ui-input mw-ui-input-inline" name="search" type="text" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" name="fulltext" class="mw-ui-button" value="Search full text" /><input type="hidden" value="Search" name="fulltext" /></form></div>
+!! end
+
+!! test
+InputBox type=move
+!! wikitext
+<inputbox>
+type=move
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="movebox" class="mw-movebox" action="/index.php" method="get"><input type="hidden" value="Special:MovePage/" name="title" /><input type="hidden" name="wpReason" /><input type="hidden" name="prefix" /><input type="text" name="wpNewTitle" class="mw-inputbox-input mw-moveboxInput mw-ui-input mw-ui-input-inline" value="" placeholder="" size="50" dir="ltr" /><br /><input type="submit" class="mw-ui-button mw-ui-progressive" value="Move page" /></form></div>
+!! end
+
+!! test
+InputBox type=search with tour
+!! wikitext
+<inputbox>
+type=search
+tour=test
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="searchbox" class="searchbox" action="/wiki/Special:Search"><input class="mw-inputbox-input searchboxInput mw-ui-input mw-ui-input-inline" name="search" type="text" value="" placeholder="" size="50" dir="ltr" /><input type="hidden" value="test" name="tour" /><br /><input type="submit" name="go" class="mw-ui-button" value="Try exact match" />&#160;<input type="submit" name="fulltext" class="mw-ui-button" value="Search full text" /></form></div>
+!! end
+
+!! test
+InputBox langconvert
+!! options
+language=sr variant=sr-el
+!! wikitext
+<inputbox>
+type=create
+default=-{sr-el: Some latin; sr-ec: Not latin }-
+placeholder=-{sr-el: el; sr-ec: ec}-
+</inputbox>
+!! html+tidy
+<div class="mw-inputbox-centered" style=""><form name="createbox" class="createbox" action="/index.php" method="get"><input type="hidden" value="edit" name="action" /><input type="text" name="title" class="mw-inputbox-input mw-ui-input mw-ui-input-inline createboxInput" value="Some latin" placeholder="el" size="50" dir="ltr" /><br /><input type="submit" name="create" class="mw-ui-button mw-ui-progressive createboxButton" value="Направи страницу" /></form></div>
+!! end
diff --git a/www/wiki/extensions/InputBox/tests/phan/config.php b/www/wiki/extensions/InputBox/tests/phan/config.php
new file mode 100644
index 00000000..f2660b8a
--- /dev/null
+++ b/www/wiki/extensions/InputBox/tests/phan/config.php
@@ -0,0 +1,3 @@
+<?php
+
+return require __DIR__ . '/../../vendor/mediawiki/mediawiki-phan-config/src/config.php';