summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Validator
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/Validator
first commit
Diffstat (limited to 'www/wiki/extensions/Validator')
-rw-r--r--www/wiki/extensions/Validator/.gitignore10
-rw-r--r--www/wiki/extensions/Validator/.scrutinizer.yml12
-rw-r--r--www/wiki/extensions/Validator/.travis.yml20
-rw-r--r--www/wiki/extensions/Validator/COPYING103
-rw-r--r--www/wiki/extensions/Validator/README.md348
-rw-r--r--www/wiki/extensions/Validator/Validator.php82
-rw-r--r--www/wiki/extensions/Validator/build/travis/after_success.sh14
-rw-r--r--www/wiki/extensions/Validator/build/travis/before_script.sh39
-rw-r--r--www/wiki/extensions/Validator/build/travis/script.sh14
-rw-r--r--www/wiki/extensions/Validator/composer.json48
-rw-r--r--www/wiki/extensions/Validator/i18n/af.json51
-rw-r--r--www/wiki/extensions/Validator/i18n/aln.json24
-rw-r--r--www/wiki/extensions/Validator/i18n/ar.json48
-rw-r--r--www/wiki/extensions/Validator/i18n/be-tarask.json96
-rw-r--r--www/wiki/extensions/Validator/i18n/bg.json17
-rw-r--r--www/wiki/extensions/Validator/i18n/bn.json9
-rw-r--r--www/wiki/extensions/Validator/i18n/br.json73
-rw-r--r--www/wiki/extensions/Validator/i18n/bs.json33
-rw-r--r--www/wiki/extensions/Validator/i18n/ca.json9
-rw-r--r--www/wiki/extensions/Validator/i18n/ce.json37
-rw-r--r--www/wiki/extensions/Validator/i18n/cs.json70
-rw-r--r--www/wiki/extensions/Validator/i18n/cu.json9
-rw-r--r--www/wiki/extensions/Validator/i18n/da.json8
-rw-r--r--www/wiki/extensions/Validator/i18n/de.json99
-rw-r--r--www/wiki/extensions/Validator/i18n/diq.json19
-rw-r--r--www/wiki/extensions/Validator/i18n/dsb.json51
-rw-r--r--www/wiki/extensions/Validator/i18n/el.json22
-rw-r--r--www/wiki/extensions/Validator/i18n/en.json96
-rw-r--r--www/wiki/extensions/Validator/i18n/eo.json17
-rw-r--r--www/wiki/extensions/Validator/i18n/es.json100
-rw-r--r--www/wiki/extensions/Validator/i18n/et.json30
-rw-r--r--www/wiki/extensions/Validator/i18n/eu.json22
-rw-r--r--www/wiki/extensions/Validator/i18n/fa.json94
-rw-r--r--www/wiki/extensions/Validator/i18n/fi.json31
-rw-r--r--www/wiki/extensions/Validator/i18n/fr.json105
-rw-r--r--www/wiki/extensions/Validator/i18n/frp.json60
-rw-r--r--www/wiki/extensions/Validator/i18n/frr.json8
-rw-r--r--www/wiki/extensions/Validator/i18n/fy.json11
-rw-r--r--www/wiki/extensions/Validator/i18n/ga.json11
-rw-r--r--www/wiki/extensions/Validator/i18n/gl.json94
-rw-r--r--www/wiki/extensions/Validator/i18n/gsw.json81
-rw-r--r--www/wiki/extensions/Validator/i18n/he.json98
-rw-r--r--www/wiki/extensions/Validator/i18n/hsb.json92
-rw-r--r--www/wiki/extensions/Validator/i18n/hu.json64
-rw-r--r--www/wiki/extensions/Validator/i18n/ia.json92
-rw-r--r--www/wiki/extensions/Validator/i18n/id.json82
-rw-r--r--www/wiki/extensions/Validator/i18n/it.json95
-rw-r--r--www/wiki/extensions/Validator/i18n/ja.json82
-rw-r--r--www/wiki/extensions/Validator/i18n/ka.json40
-rw-r--r--www/wiki/extensions/Validator/i18n/ko.json96
-rw-r--r--www/wiki/extensions/Validator/i18n/ksh.json65
-rw-r--r--www/wiki/extensions/Validator/i18n/ku-latn.json17
-rw-r--r--www/wiki/extensions/Validator/i18n/lb.json79
-rw-r--r--www/wiki/extensions/Validator/i18n/lki.json9
-rw-r--r--www/wiki/extensions/Validator/i18n/lt.json59
-rw-r--r--www/wiki/extensions/Validator/i18n/lv.json10
-rw-r--r--www/wiki/extensions/Validator/i18n/mk.json95
-rw-r--r--www/wiki/extensions/Validator/i18n/ms.json11
-rw-r--r--www/wiki/extensions/Validator/i18n/nb.json81
-rw-r--r--www/wiki/extensions/Validator/i18n/nl.json94
-rw-r--r--www/wiki/extensions/Validator/i18n/oc.json45
-rw-r--r--www/wiki/extensions/Validator/i18n/os.json8
-rw-r--r--www/wiki/extensions/Validator/i18n/pfl.json10
-rw-r--r--www/wiki/extensions/Validator/i18n/pl.json96
-rw-r--r--www/wiki/extensions/Validator/i18n/pms.json94
-rw-r--r--www/wiki/extensions/Validator/i18n/ps.json21
-rw-r--r--www/wiki/extensions/Validator/i18n/pt-br.json96
-rw-r--r--www/wiki/extensions/Validator/i18n/pt.json94
-rw-r--r--www/wiki/extensions/Validator/i18n/qqq.json101
-rw-r--r--www/wiki/extensions/Validator/i18n/qu.json8
-rw-r--r--www/wiki/extensions/Validator/i18n/ro.json49
-rw-r--r--www/wiki/extensions/Validator/i18n/roa-tara.json24
-rw-r--r--www/wiki/extensions/Validator/i18n/ru.json102
-rw-r--r--www/wiki/extensions/Validator/i18n/rue.json9
-rw-r--r--www/wiki/extensions/Validator/i18n/sah.json14
-rw-r--r--www/wiki/extensions/Validator/i18n/si.json71
-rw-r--r--www/wiki/extensions/Validator/i18n/sr-ec.json10
-rw-r--r--www/wiki/extensions/Validator/i18n/sr-el.json9
-rw-r--r--www/wiki/extensions/Validator/i18n/sv.json100
-rw-r--r--www/wiki/extensions/Validator/i18n/ta.json38
-rw-r--r--www/wiki/extensions/Validator/i18n/te.json33
-rw-r--r--www/wiki/extensions/Validator/i18n/tl.json93
-rw-r--r--www/wiki/extensions/Validator/i18n/tr.json20
-rw-r--r--www/wiki/extensions/Validator/i18n/uk.json99
-rw-r--r--www/wiki/extensions/Validator/i18n/ur.json20
-rw-r--r--www/wiki/extensions/Validator/i18n/vi.json52
-rw-r--r--www/wiki/extensions/Validator/i18n/yi.json12
-rw-r--r--www/wiki/extensions/Validator/i18n/zh-hans.json101
-rw-r--r--www/wiki/extensions/Validator/i18n/zh-hant.json90
-rw-r--r--www/wiki/extensions/Validator/phpunit.xml.dist24
-rw-r--r--www/wiki/extensions/Validator/src/ParamProcessor/MediaWikiTitleValue.php105
-rw-r--r--www/wiki/extensions/Validator/src/ParamProcessor/TitleParser.php36
-rw-r--r--www/wiki/extensions/Validator/src/legacy/ParserHook.php613
-rw-r--r--www/wiki/extensions/Validator/src/legacy/README.md4
-rw-r--r--www/wiki/extensions/Validator/tests/bootstrap.php24
-rw-r--r--www/wiki/extensions/Validator/tests/evilMediaWikiBootstrap.php72
-rw-r--r--www/wiki/extensions/Validator/tests/phpunit/Definitions/TitleParamTest.php77
-rw-r--r--www/wiki/extensions/Validator/tests/phpunit/MediaWikiTitleValueTest.php22
-rw-r--r--www/wiki/extensions/Validator/tests/phpunit/TitleParserTest.php43
99 files changed, 5925 insertions, 0 deletions
diff --git a/www/wiki/extensions/Validator/.gitignore b/www/wiki/extensions/Validator/.gitignore
new file mode 100644
index 00000000..9421515a
--- /dev/null
+++ b/www/wiki/extensions/Validator/.gitignore
@@ -0,0 +1,10 @@
+*~
+*.kate-swp
+
+!.*
+.idea
+
+composer.phar
+composer.lock
+
+vendor/ \ No newline at end of file
diff --git a/www/wiki/extensions/Validator/.scrutinizer.yml b/www/wiki/extensions/Validator/.scrutinizer.yml
new file mode 100644
index 00000000..19751cec
--- /dev/null
+++ b/www/wiki/extensions/Validator/.scrutinizer.yml
@@ -0,0 +1,12 @@
+inherit: true
+
+tools:
+ external_code_coverage: true
+ php_code_sniffer: true
+ php_cpd: true
+ php_cs_fixer: true
+ php_loc: true
+ php_mess_detector: true
+ php_pdepend: true
+ php_analyzer: true
+ sensiolabs_security_checker: true
diff --git a/www/wiki/extensions/Validator/.travis.yml b/www/wiki/extensions/Validator/.travis.yml
new file mode 100644
index 00000000..a98998bf
--- /dev/null
+++ b/www/wiki/extensions/Validator/.travis.yml
@@ -0,0 +1,20 @@
+language: php
+
+matrix:
+ include:
+ - env: DBTYPE=mysql; MW=master
+ php: 5.6
+ - env: DBTYPE=mysql; MW=1.21.0
+ php: 5.5
+ - env: DBTYPE=sqlite; MW=1.22.0
+ php: 5.6
+ - env: DBTYPE=sqlite; MW=master; TYPE=coverage
+ php: 7
+
+before_script: bash ./build/travis/before_script.sh
+
+script: bash ./build/travis/script.sh
+
+after_success: bash ./build/travis/after_success.sh
+
+sudo: false
diff --git a/www/wiki/extensions/Validator/COPYING b/www/wiki/extensions/Validator/COPYING
new file mode 100644
index 00000000..72ef1f32
--- /dev/null
+++ b/www/wiki/extensions/Validator/COPYING
@@ -0,0 +1,103 @@
+'''Valitator''' is a free, open-source extension to MediaWiki that provides a parameter processing framework allowing to declaratively define a set of parameters and how they should be processed.
+
+Copyright (C) 2009
+
+
+The license text below "====" applies to all files within this distribution, other than those that are in a directory which contains files named "LICENSE" or "COPYING", or a subdirectory thereof. For those files, the license text contained in said file overrides any license information contained in directories of smaller depth. Alternative licenses are typically used for software that is provided by external parties, and merely packaged with this extension for convenience.
+----
+----
+
+== GNU GENERAL PUBLIC LICENSE ==
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.,<br />
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies<br />
+of this license document, but changing it is not allowed.
+
+=== Preamble ===
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software - to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+=== TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ===
+
+'''0.''' This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+'''1.''' You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+'''2.''' You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+: '''a)''' You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+: '''b)''' You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+: '''c)''' If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+'''3.''' You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+
+: '''a)''' Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+: '''b)''' Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+: '''c)''' Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+'''4.''' You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+'''5.''' You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+'''6.''' Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+'''7.''' If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+'''8.''' If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+'''9.''' The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+'''10.''' If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+'''<big>NO WARRANTY</big>'''
+
+'''11.''' BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+'''12.''' IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+'''<big>END OF TERMS AND CONDITIONS</big>'''
diff --git a/www/wiki/extensions/Validator/README.md b/www/wiki/extensions/Validator/README.md
new file mode 100644
index 00000000..57eea7ca
--- /dev/null
+++ b/www/wiki/extensions/Validator/README.md
@@ -0,0 +1,348 @@
+# Validator
+
+The Validator MediaWiki extension, provides a parameter processing
+framework that provides a way to declaratively define a set of parameters and how they
+should be processed. It can take such declarations together with a list of raw
+parameters and provide the processed values.
+
+The functionality provided by this extension largely comes from the [ParamProcessor library]
+(https://github.com/JeroenDeDauw/ParamProcessor).
+
+[![Build Status](https://travis-ci.org/JeroenDeDauw/Validator.svg?branch=master)](https://travis-ci.org/JeroenDeDauw/Validator)
+[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/JeroenDeDauw/Validator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/JeroenDeDauw/Validator/?branch=master)
+[![Code Coverage](https://scrutinizer-ci.com/g/JeroenDeDauw/Validator/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/JeroenDeDauw/Validator/?branch=master)
+[![Dependency Status](https://www.versioneye.com/php/mediawiki:validator/badge.png)](https://www.versioneye.com/php/mediawiki:validator)
+
+On [Packagist](https://packagist.org/packages/mediawiki/validator):
+[![Latest Stable Version](https://poser.pugx.org/mediawiki/validator/version.png)](https://packagist.org/packages/mediawiki/validator)
+[![Download count](https://poser.pugx.org/mediawiki/validator/d/total.png)](https://packagist.org/packages/mediawiki/validator)
+
+## Installation
+
+You can use [Composer](http://getcomposer.org/) to download and install
+this package as well as its dependencies. Alternatively you can simply clone
+the git repository and take care of loading yourself.
+
+### Composer
+
+To add this package as a local, per-project dependency to your project, simply add a
+dependency on `mediawiki/validator` to your project's `composer.json` file.
+Here is a minimal example of a `composer.json` file that just defines a dependency on
+Validator 2.2:
+
+ {
+ "require": {
+ "mediawiki/validator": "2.2.*"
+ }
+ }
+
+### Manual
+
+Get the Validator code, either via git, or some other means. Also get all dependencies.
+You can find a list of the dependencies in the "require" section of the composer.json file.
+Load all dependencies and the load the Validator extension by including its entry point:
+Validator.php.
+
+Simply include the entry point in your LocalSettings.php file:
+
+```php
+require_once( "$IP/extensions/Validator/Validator.php" );
+```
+
+## Authors
+
+Validator has been written by
+[Jeroen De Dauw](https://www.mediawiki.org/wiki/User:Jeroen_De_Dauw)
+to support [Maps](https://github.com/JeroenDeDauw/Maps)
+and [Semantic MediaWiki](https://www.semantic-mediawiki.org/).
+
+## Release notes
+
+### Version 2.2.1 (2016-10-10)
+
+* Moved i18n registration out of wgExtensionFunctions
+
+### Version 2.2.0 (2016-10-09)
+
+* Improved initialization code so that the entry point can be included when MediaWiki is not loaded
+
+### Version 2.1.0 (2016-10-09)
+
+* Dropped support for MediaWiki older than 1.23
+* Dropped support for PHP older than 5.5
+
+### Version 2.0.6 (2016-07-01)
+
+* Added missing system message
+* Translation updates
+* Fixed failing test (only the test itself had an issue)
+
+### Version 2.0.5 (2016-04-04)
+
+* Translation updates
+* Compatibility with PHP 7 has now been tested
+
+### Version 2.0.4 (2014-06-25)
+
+* Updated used ParamProcessor version from ~1.0.0 to ~1.1
+
+### Version 2.0.3 (2014-06-16)
+
+* Removed obsolete magic words internationalization file
+
+### Version 2.0.2 (2014-06-14)
+
+* Fixed issue in deprecated ParserHook class
+
+### Version 2.0.1 (2014-06-14)
+
+* Removed #listerrors and #describe parser hooks
+
+### Version 2.0 (2014-06-14)
+
+* Dropped deprecated class aliases
+* Dropped deprecated ParamProcessor.php entry point
+* Use composer based autoloading
+* Added TravisCI and ScrutinizerCI integration
+* Changed minimum MediaWiki version from 1.16 to 1.17
+* Migrated messages to the new MediaWiki i18n JSON format
+
+### Version 1.0.1 (2014-03-25)
+
+* Translation updates
+* Main copy of the source code is now on GitHub
+
+### Version 1.0 (2013-11-21)
+
+This release is primarily a redesign of many internal APIs aimed at greater
+stability and cleaner interfaces exposed to the outside.
+
+Most code has been moved to the new [ParamProcessor library]
+(https://github.com/JeroenDeDauw/ParamProcessor), leaving the Validator extension
+as a thin MediaWiki specific wrapper.
+
+##### Compatibility changes
+
+* The ParamProcessor library is now required, version 1.0 or later.
+* Changed minimum MediaWiki version from 1.16 to 1.18.
+* Full compatibility with MediaWiki 1.20, 1.21, 1.22 and forward-compatibility with 1.23.
+* Added compatibility with PHP 5.4.x and PHP 5.5.x
+* Dropped support for Validator 0.4.x parameter definitions, including Criteria and Manipulations
+
+##### Deprecations
+
+* Deprecated the ParserHook class
+* Deprecated the describe parser hook
+* Deprecated the listerrors parser hook
+
+### Version 0.5.1 (2012-11-21)
+
+* Added compatibility with PHP 5.4.
+
+### Version 0.5 (2012-10-05)
+
+##### Compatibility changes
+
+* Changed minimum MediaWiki version from 1.16 to 1.17.
+* Full compatibility with MediaWiki 1.19 and MediaWiki 1.20 and forward-compatibility with 1.21.
+
+#### New features
+
+* New light-weight array definition of ParamDefinition objects supported.
+* Added DimensionParam.
+* Added ValidatorOptions class of which an instance can be passed to Validator
+to globally change precessing behaviour. The most notable new option is the
+'rawStringParameters' one, which when set to true (default) will expect values
+in string format, and when set to false (new capability) will expect values
+in their native formats (ie lists should be actual array objects).
+
+#### Enhancements
+
+* Split Parameter into Param and ParamDefinition classes.
+ * ParamDefinition objects each represent a type and contain the
+logic to validate and manipulate values.
+ * Param objects hold a ParamDefinition, the user provided value,
+and processing state.
+* Added several new options to various of the ParamDefinition objects that
+where not available in earlier criteria and manipulation objects.
+* Added tests for all ParamDefinition objects.
+* Added high level tests for Validator and tests for ValidatorOptions.
+
+#### Deprecations
+
+* Deprecated Parameter (and deriving) classes.
+* Deprecated ParameterCriterion (and deriving) classes.
+* Deprecated ParameterManipulation (and deriving) classes.
+* Deprecated the constructor method of the Validator class.
+
+### Version 0.4.14 (2012-03-10)
+
+* New built-in parameter type 'title'. Accepts existing and non-existing page titles which are valid within the wiki.
+
+### Version 0.4.13 (2011-11-30)
+
+* ParserHook::$parser now is a reference to the original parser object, as one would suspect.
+ Before this has only been the case for tag extension but not for parser function calls.
+
+* if SFH_OBJECT_ARGS and therefore object parser function arguments are available in the MW
+ version used with Validator, ParserHook::$frame will not be null anymore. Therefore a new
+ function ParserHook::renderFunctionObj() is introduced, handling these SFH_OBJECT_ARGS hooks.
+
+* ParserHook constructor now accepts a bitfield for flags to define further customization for
+ registered Hooks. First option can be set via ParserHook::FH_NO_HASH to define that the function
+ hook should be callable without leading hash ("{{plural:...}}"-like style).
+
+* Option for unnamed parameter handling to work without named fallback. This allows to ignore '='
+ within parameter values entirely, these parameters bust be set before any named parameter then.
+ See Validator::setFunctionParams() and ParserHook::getParameterInfo() for details.
+
+* ParserHook Validation messages will now output text in global content language instead of users interface language.
+
+### Version 0.4.12 (2011-10-15)
+
+* Internationalization fix in the describe parser hook.
+
+### Version 0.4.11 (2011-09-14)
+
+* Fixed compatibility fallback in Parameter::getDescription.
+* Fixed handling of list parameters in ParameterInput.
+
+### Version 0.4.10 (2011-08-04)
+
+* Added language parameter to describe that allows setting the lang for the generated docs.
+* Added getMessage method to ParserHook class for better i18n.
+
+### Version 0.4.9 (2011-07-30)
+
+* Added setMessage and getMessage methods to Parameter class for better i18n.
+
+### Version 0.4.8 (2011-07-19)
+
+* Added unit tests for the criteria.
+* Fixed issue with handling floats in CriterionInRange.
+* Added support for open limits in CriterionHasLength and CriterionItemCount.
+
+### Version 0.4.7 (2011-05-15)
+
+* Added ParameterInput class to generate HTML inputs for parameters, based on code from SMWs Special:Ask.
+* Added "$manipulate = true" as second parameter for Parameter::setDefault,
+ which gets passed to Parameter::setDoManipulationOfDefault.
+* Boolean manipulation now ignores values that are already a boolean.
+
+### Version 0.4.6 (2011-03-21)
+
+* Removed ParamManipulationBoolstr.
+* Added method to get the allowed values to CriterionInArray.
+* Added automatic non-using of boolean manipulation when a boolean param was defaulted to a boolean value.
+* Parameter fix in ListParameter::setDefault, follow up to change in 0.4.5.
+
+### Version 0.4.5 (2011-03-05)
+
+* Escaping fix in the describe parser hook.
+* Added string manipulation, applied by default on strings and chars.
+
+### Version 0.4.4 (2011-02-16)
+
+* Tweaks to parser usage in the ParserHook class.
+* Fixed incorrect output of nested pre-tags in the describe parser hook.
+
+### Version 0.4.3.1 (2011-01-20)
+
+* Removed underscore and space switching behavior for tag extensions and parser functions.
+
+### Version 0.4.3 (2011-01-11)
+
+* Added describe parser hook that enables automatic documentation generation of parser hooks defined via Validator.
+* Modified the ParserHook and Parameter classes to allow specifying a description message.
+
+### Version 0.4.2 (2010-10-28)
+
+* Fixed compatibility with MediaWiki 1.15.x.
+* Removed the lowerCaseValue field in the Parameter class and replaced it's functionality with a ParameterManipulation.
+
+### Version 0.4.1 (2010-10-20)
+
+* Made several small fixes and improvements.
+
+### Version 0.4 (2010-10-15)
+
+##### New features
+
+* Added ParserHook class that allows for out-of-the-box parser function and tag extension creation
+with full Validator support.
+* Added listerrors parser hook that allows you to list all validation errors that occurred at the point it's rendered.
+* Added support for conditional parameter adding.
+
+##### Refactoring
+
+Basically everything got rewritten...
+
+* Added Parameter and ListParameter classes to replace parameter definitions in array form.
+* Added ParameterCriterion and ListParameterCriterion classes for better handling of parameter criteria.
+* Added ParameterManipulation and ListParameterManipulation classes for more structured formatting of parameters.
+* Added ValidationError class to better describe errors.
+* Replaced the error level enum by ValidationError::SEVERITY_ and ValidationError::ACTION_, which are linked in $egErrorActions.
+
+### Version 0.3.6 (2010-08-26)
+
+* Added support for 'tolower' argument in parameter info definitions.
+
+### Version 0.3.5 (2010-07-26)
+
+* Fixed issue with the original parameter name (and in some cases also value) in error messages.
+
+### Version 0.3.4 (2010-07-07)
+
+* Fixed issue with parameter reference that occurred in php 5.3 and later.
+* Fixed escaping issue that caused parameter names in error messages to be shown incorrectly.
+* Fixed small issue with parameter value trimming that caused problems when objects where passed.
+
+### Version 0.3.3 (2010-06-20)
+
+* Fixed bug that caused notices when using the ValidatorManager::manageParsedParameters method in some cases.
+
+### Version 0.3.2 (2010-06-07)
+
+* Added lower casing to parameter names, and optionally, but default on, lower-casing for parameter values.
+* Added removal of default parameters from the default parameter queue when used as a named parameter.
+
+### Version 0.3.1 (2010-06-04)
+
+* Added ValidatorManager::manageParsedParameters and Validator::setParameters.
+
+### Version 0.3 (2010-05-31)
+
+* Added generic default parameter support.
+* Added parameter dependency support.
+* Added full meta data support for validation and formatting functions, enabling more advanced handling of parameters.
+* Major refactoring to conform to MediaWiki convention.
+
+### Version 0.2.2 (2010-03-01)
+
+* Fixed potential xss vectors.
+* Minor code improvements.
+
+### Version 0.2.1 (2010-02-01)
+
+* Changed the inclusion of the upper bound for range validation functions.
+* Small language fixes.
+
+### Version 0.2 (2009-12-25)
+
+* Added handling for lists of a type, instead of having list as a type. This includes per-item-validation and per-item-defaulting.
+* Added list validation functions: item_count and unique_items
+* Added boolean, number and char types.
+* Added support for output types. The build in output types are lists, arrays, booleans and strings. Via a hook you can add your own output types.
+* Added Validator_ERRORS_MINIMAL value for $egValidatorErrorLevel.
+* Added warning message to ValidatorManager that will be shown for errors when egValidatorErrorLevel is Validator_ERRORS_WARN.
+* Added criteria support for is_boolean, has_length and regex.
+
+### Version 0.1 (2009-12-17)
+
+* Initial release, featuring parameter validation, defaulting and error generation.
+
+## Links
+
+* [Validator on Packagist](https://packagist.org/packages/mediawiki/validator)
+* [Validator on Ohloh](https://www.ohloh.net/p/validator)
+* [Validator on MediaWiki.org](https://www.mediawiki.org/wiki/Extension:Validator)
diff --git a/www/wiki/extensions/Validator/Validator.php b/www/wiki/extensions/Validator/Validator.php
new file mode 100644
index 00000000..d172e129
--- /dev/null
+++ b/www/wiki/extensions/Validator/Validator.php
@@ -0,0 +1,82 @@
+<?php
+
+/**
+ * Initialization file for the Validator MediaWiki extension.
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+
+if ( defined( 'ParamProcessor_VERSION' ) ) {
+ // Do not initialize more than once.
+ return 1;
+}
+
+define( 'Validator_VERSION', '2.2.1' );
+define( 'ParamProcessor_VERSION', Validator_VERSION ); // @deprecated since 1.0
+
+// Internationalization
+$GLOBALS['wgMessagesDirs']['Validator'] = __DIR__ . '/i18n';
+
+
+$GLOBALS['wgExtensionFunctions'][] = function () {
+ if ( version_compare( $GLOBALS['wgVersion'], '1.23c', '<' ) ) {
+ die( '<b>Error:</b> This version of Validator requires MediaWiki 1.23 or above.' );
+ }
+
+ if ( is_readable( __DIR__ . '/vendor/autoload.php' ) ) {
+ include_once( __DIR__ . '/vendor/autoload.php' );
+ }
+
+ if ( !class_exists( ParamProcessor\Processor::class ) ) {
+ throw new Exception( 'Validator depends on the ParamProcessor library.' );
+ }
+
+ // Display extension information
+ $GLOBALS['wgExtensionCredits']['other'][] = array(
+ 'path' => __FILE__,
+ 'name' => 'Validator',
+ 'version' => Validator_VERSION,
+ 'author' => array(
+ '[https://www.mediawiki.org/wiki/User:Jeroen_De_Dauw Jeroen De Dauw]'
+ ),
+ 'url' => 'https://github.com/JeroenDeDauw/Validator',
+ 'descriptionmsg' => 'validator-desc',
+ 'license-name' => 'GPL-2.0+'
+ );
+
+ /**
+ * Hook to add PHPUnit test cases.
+ * @see https://www.mediawiki.org/wiki/Manual:Hooks/UnitTestsList
+ *
+ * @since 1.0
+ *
+ * @param array $files
+ *
+ * @return boolean
+ */
+ $GLOBALS['wgHooks']['UnitTestsList'][] = function( array &$files ) {
+ // @codeCoverageIgnoreStart
+ $directoryIterator = new RecursiveDirectoryIterator( __DIR__ . '/tests/phpunit/' );
+
+ /**
+ * @var SplFileInfo $fileInfo
+ */
+ foreach ( new RecursiveIteratorIterator( $directoryIterator ) as $fileInfo ) {
+ if ( substr( $fileInfo->getFilename(), -8 ) === 'Test.php' ) {
+ $files[] = $fileInfo->getPathname();
+ }
+ }
+
+ return true;
+ // @codeCoverageIgnoreEnd
+ };
+
+ $GLOBALS['wgDataValues']['mediawikititle'] = ParamProcessor\MediaWikiTitleValue::class;
+
+ $GLOBALS['wgParamDefinitions']['title'] = array(
+ 'string-parser' => ParamProcessor\TitleParser::class,
+ 'validator' => ValueValidators\TitleValidator::class,
+ );
+};
+
diff --git a/www/wiki/extensions/Validator/build/travis/after_success.sh b/www/wiki/extensions/Validator/build/travis/after_success.sh
new file mode 100644
index 00000000..62e3bd6c
--- /dev/null
+++ b/www/wiki/extensions/Validator/build/travis/after_success.sh
@@ -0,0 +1,14 @@
+#! /bin/bash
+
+set -x
+
+originalDirectory=$(pwd)
+
+if [ "$TYPE" == "coverage" ]
+then
+ wget https://scrutinizer-ci.com/ocular.phar
+ du -hs $originalDirectory/build/coverage.clover
+ ls -lap $originalDirectory
+ ls -lap $originalDirectory/build
+ php ocular.phar code-coverage:upload --format=php-clover $originalDirectory/build/coverage.clover
+fi \ No newline at end of file
diff --git a/www/wiki/extensions/Validator/build/travis/before_script.sh b/www/wiki/extensions/Validator/build/travis/before_script.sh
new file mode 100644
index 00000000..1221cb0c
--- /dev/null
+++ b/www/wiki/extensions/Validator/build/travis/before_script.sh
@@ -0,0 +1,39 @@
+#! /bin/bash
+
+set -x
+
+originalDirectory=$(pwd)
+
+cd ..
+
+wget https://github.com/wikimedia/mediawiki-core/archive/$MW.tar.gz
+tar -zxf $MW.tar.gz
+mv mediawiki-$MW phase3
+
+cd phase3
+
+composer self-update
+composer install --prefer-source
+
+mysql -e 'create database its_a_mw;'
+php maintenance/install.php --dbtype $DBTYPE --dbuser root --dbname its_a_mw --dbpath $(pwd) --pass nyan TravisWiki admin
+
+cd extensions
+
+cp -r $originalDirectory Validator
+
+cd Validator
+composer install --prefer-source
+composer require 'phpunit/phpunit=3.7.*' --prefer-source
+
+cd ../..
+
+echo 'require_once( __DIR__ . "/extensions/Validator/Validator.php" );' >> LocalSettings.php
+
+echo 'error_reporting(E_ALL| E_STRICT);' >> LocalSettings.php
+echo 'ini_set("display_errors", 1);' >> LocalSettings.php
+echo '$wgShowExceptionDetails = true;' >> LocalSettings.php
+echo '$wgDevelopmentWarnings = true;' >> LocalSettings.php
+echo "putenv( 'MW_INSTALL_PATH=$(pwd)' );" >> LocalSettings.php
+
+php maintenance/update.php --quick
diff --git a/www/wiki/extensions/Validator/build/travis/script.sh b/www/wiki/extensions/Validator/build/travis/script.sh
new file mode 100644
index 00000000..1fd5f119
--- /dev/null
+++ b/www/wiki/extensions/Validator/build/travis/script.sh
@@ -0,0 +1,14 @@
+#! /bin/bash
+
+set -x
+
+originalDirectory=$(pwd)
+
+cd ../phase3/tests/phpunit
+
+if [ "$TYPE" == "coverage" ]
+then
+ php phpunit.php --group Validator -c ../../extensions/Validator/phpunit.xml.dist --coverage-clover $originalDirectory/build/coverage.clover
+else
+ php phpunit.php --group Validator -c ../../extensions/Validator/phpunit.xml.dist
+fi \ No newline at end of file
diff --git a/www/wiki/extensions/Validator/composer.json b/www/wiki/extensions/Validator/composer.json
new file mode 100644
index 00000000..ca0efcb9
--- /dev/null
+++ b/www/wiki/extensions/Validator/composer.json
@@ -0,0 +1,48 @@
+{
+ "name": "mediawiki/validator",
+ "type": "mediawiki-extension",
+ "description": "MediaWiki wrapper for the ParamProcessor library",
+ "keywords": [
+ "ParamProcessor",
+ "Validator",
+ "MediaWiki",
+ "SMW",
+ "Semantic MediaWiki"
+ ],
+ "homepage": "https://github.com/JeroenDeDauw/Validator",
+ "license": "GPL-2.0+",
+ "authors": [
+ {
+ "name": "Jeroen De Dauw",
+ "email": "jeroendedauw@gmail.com",
+ "homepage": "http://jeroendedauw.com",
+ "role": "Developer"
+ }
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.net/mediawiki"
+ },
+ "require": {
+ "php": ">=5.5.0",
+ "param-processor/param-processor": "~1.1"
+ },
+ "require-dev": {
+ "data-values/common": "~0.3.1"
+ },
+ "autoload": {
+ "files" : [
+ "Validator.php"
+ ],
+ "psr-4": {
+ "ParamProcessor\\": "src/ParamProcessor/"
+ },
+ "classmap": [
+ "src/legacy/"
+ ]
+ },
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.2.x-dev"
+ }
+ }
+}
diff --git a/www/wiki/extensions/Validator/i18n/af.json b/www/wiki/extensions/Validator/i18n/af.json
new file mode 100644
index 00000000..0af79f5e
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/af.json
@@ -0,0 +1,51 @@
+{
+ "@metadata": {
+ "authors": [
+ "Naudefj"
+ ]
+ },
+ "validator-desc": "Die valideerder gee ander uitbreidings die vermoë om parameters van ontlederfunksies en etiket-uitbreidings te valideer, op hulle verstekwaardes in te stel en om foutboodskappe te genereer",
+ "validator-warning": "Waarskuwing: $1",
+ "validator-error": "Fout: $1",
+ "validator-fatal-error": "Onherstelbare fout: $1",
+ "validator_error_parameters": "Die volgende {{PLURAL:$1|fout|foute}} is in u sintaks waargeneem:",
+ "validator_error_unknown_argument": "$1 is nie 'n geldige parameter nie.",
+ "validator_error_required_missing": "Die verpligte parameter $1 is nie verskaf nie.",
+ "validator-type-string": "teks",
+ "validator-type-integer": "geheel getal",
+ "validator-type-float": "getal",
+ "validator-type-boolean": "ja/nee",
+ "validator-type-char": "karakter",
+ "validator-type-title": "titel",
+ "validator-type-string-list": "lys met tekste",
+ "validator-type-integer-list": "lys met gehele getalle",
+ "validator-type-float-list": "lys met getalle",
+ "validator-type-boolean-list": "lys met ja/nee",
+ "validator-type-char-list": "lys met karakters",
+ "validator-type-title-list": "lys met titels",
+ "validator-listerrors-errors": "Foute",
+ "validator-listerrors-minor": "Oorkomelik",
+ "validator-listerrors-low": "Laag",
+ "validator-listerrors-normal": "Gemiddeld",
+ "validator-listerrors-high": "Groot",
+ "validator-listerrors-fatal": "Fataal",
+ "validator-describe-descriptionmsg": "'''Beskrywing''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliasse}}''': $1",
+ "validator-describe-listtype": "Lys met $1 items",
+ "validator-describe-empty": "leeg",
+ "validator-describe-required": "verpligtend",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Aliasse",
+ "validator-describe-header-type": "Tipe",
+ "validator-describe-header-default": "Standaard",
+ "validator-describe-header-description": "Beskrywing",
+ "validator-describe-parameters": "Parameters",
+ "validator-describe-syntax": "Sintaks",
+ "validator_error_empty_argument": "Die parameter $1 mag nie leeg wees nie.",
+ "validator_error_must_be_number": "Die parameter $1 mag net 'n getal wees.",
+ "validator_error_must_be_integer": "Die parameter $1 kan slegs 'n heelgetal wees.",
+ "validator_error_invalid_range": "Die parameter $1 moet tussen $2 en $3 lê.",
+ "validator_error_invalid_argument": "Die waarde $1 is nie geldig vir parameter $2 nie.",
+ "validator_error_accepts_only": "Die parameter $1 kan slegs die volgende {{PLURAL:$3|waarde|waardes}} hê: $2.",
+ "validator-message-nodesc": "Geen beskrywing"
+}
diff --git a/www/wiki/extensions/Validator/i18n/aln.json b/www/wiki/extensions/Validator/i18n/aln.json
new file mode 100644
index 00000000..46b97e1c
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/aln.json
@@ -0,0 +1,24 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mdupont"
+ ]
+ },
+ "validator-desc": "Validator është një zgjerim MediaWiki që ofron parametër përgjithshme trajtimin mbështetje të shtesave të tjera",
+ "validator_error_parameters": "Më poshtë {{PLURAL:$1|gabim ka gabime|kanë}} është zbuluar në sintaksën e juaj:",
+ "validator_warning_parameters": "Ka {{PLURAL:$1|është|janë gabime gabim}} në sintaksë tuaj.",
+ "validator_error_unknown_argument": "$1 nuk është një parametër i vlefshëm.",
+ "validator_error_required_missing": "Parametrat e nevojshëm $1 nuk jepet.",
+ "validator_error_empty_argument": "Parametër $1 nuk mund të ketë një vlerë bosh.",
+ "validator_error_must_be_number": "Parametër $1 mund të jetë vetëm një numër.",
+ "validator_error_must_be_integer": "Parametër $1 mund të jetë vetëm një numër i plotë.",
+ "validator_error_invalid_range": "Parametër $1 duhet të jetë në mes të $2 dhe $3.",
+ "validator_error_invalid_argument": "Vlera $1 nuk është i vlefshëm për parametër $2.",
+ "validator_list_error_empty_argument": "Parametër $1 nuk e pranon vlerat bosh.",
+ "validator_list_error_must_be_number": "Parametër $1 mund të përmbajë vetëm numrat.",
+ "validator_list_error_must_be_integer": "Parametër $1 mund të përmbajë vetëm numra të plotë.",
+ "validator_list_error_invalid_range": "Të gjitha vlerat e parametrit $1 duhet të jetë në mes të $2 dhe $3.",
+ "validator_list_error_invalid_argument": "Një ose më shumë vlera për parametër $1 janë të pavlefshme.",
+ "validator_error_accepts_only": "Parametër $1 vetëm pranon {{PLURAL:$3|kjo vlerë|këtyre vlerave}}: $2.",
+ "validator_list_omitted": "{{PLURAL:$2 |vlerë|vlerat}} $1 {{PLURAL:$2|ka|kanë}} janë lënë jashtë."
+}
diff --git a/www/wiki/extensions/Validator/i18n/ar.json b/www/wiki/extensions/Validator/i18n/ar.json
new file mode 100644
index 00000000..8ed5864a
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ar.json
@@ -0,0 +1,48 @@
+{
+ "@metadata": {
+ "authors": [
+ "Meno25",
+ "روخو"
+ ]
+ },
+ "validator-desc": "المحقق يوفر طريقة سهلة للامتدادات الأخرى للتحقق من محددات دوال المحلل وامتدادات الوسوم، وضبط القيم الافتراضية وتوليد رسائل الخطأ",
+ "validator-warning": "تحذير: $1",
+ "validator-error": "خطأ: $1",
+ "validator-fatal-error": "خطأ قاتل: $1",
+ "validator_error_parameters": "{{PLURAL:$1|الخطأ التالي|الاخطاء التالية}} تم كشفها في صياغتك:",
+ "validator_warning_parameters": "هناك {{PLURAL:$1|خطأ|أخطاء}} في صياغتك.",
+ "validator_error_unknown_argument": "$1 ليس محددا صحيحا.",
+ "validator_error_required_missing": "المحدد المطلوب $1 ليس متوفرا.",
+ "validator-type-string": "نص",
+ "validator-type-float": "رقم",
+ "validator-type-boolean": "نعم/لا",
+ "validator-type-title": "عنوان",
+ "validator-listerrors-errors": "أخطاء",
+ "validator-listerrors-minor": "ثانوي",
+ "validator-listerrors-low": "منخفض",
+ "validator-listerrors-normal": "طبيعي",
+ "validator-listerrors-high": "مرتفع",
+ "validator-listerrors-fatal": "قاتل",
+ "validator-describe-descriptionmsg": "'''وصف''': $1",
+ "validator-describe-empty": "فارغ",
+ "validator-describe-required": "مطلوب",
+ "validator-describe-header-parameter": "محدد",
+ "validator-describe-header-type": "نوع",
+ "validator-describe-header-default": "افتراضي",
+ "validator-describe-header-description": "الوصف",
+ "validator-describe-parameters": "محددات",
+ "validator-describe-syntax": "صياغة",
+ "validator_error_empty_argument": "المحدد $1 لا يمكن أن تكون قيمته فارغة.",
+ "validator_error_must_be_number": "المحدد $1 يمكن أن يكون فقط عددا.",
+ "validator_error_must_be_integer": "المحدد $1 يمكن أن يكون عددا صحيحا فقط.",
+ "validator_error_invalid_range": "المحدد $1 يجب أن يكون بين $2 و $3.",
+ "validator_error_invalid_argument": "القيمة $1 ليست صحيحة للمحدد $2.",
+ "validator_list_error_empty_argument": "المحدد $1 لا يقبل القيم الفارغة.",
+ "validator_list_error_must_be_number": "المحدد $1 يمكن أن يحتوي فقط على أرقام.",
+ "validator_list_error_must_be_integer": "المحدد $1 يمكن أن يحتوي فقط على أرقام صحيحة.",
+ "validator_list_error_invalid_range": "كل قيم المحدد $1 يجب أن تكون بين $2 و$3.",
+ "validator_list_error_invalid_argument": "قيمة واحدة أو أكثر للمحدد $1 غير صحيحة.",
+ "validator_error_accepts_only": "المحدد $1 يقبل فقط {{PLURAL:$3|هذه القيمة|هذه القيم}}: $2.",
+ "validator_list_omitted": "{{PLURAL:$2|القيمة|القيم}} $1 {{PLURAL:$2|تم|تم}} مسحها.",
+ "validator-message-nodesc": "لا وصف تم توفيره"
+}
diff --git a/www/wiki/extensions/Validator/i18n/be-tarask.json b/www/wiki/extensions/Validator/i18n/be-tarask.json
new file mode 100644
index 00000000..209fdc80
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/be-tarask.json
@@ -0,0 +1,96 @@
+{
+ "@metadata": {
+ "authors": [
+ "EugeneZelenko",
+ "Jim-by",
+ "Wizardist",
+ "Red Winged Duck"
+ ]
+ },
+ "validator-desc": "Бібліятэка апрацоўкі дэкляратыўных парамэтраў",
+ "validator-warning": "Папярэджаньне: $1",
+ "validator-error": "Памылка: $1",
+ "validator-fatal-error": "Крытычная памылка: $1",
+ "validator_error_parameters": "У вашым сынтаксісе {{PLURAL:$1|1=выяўленая наступная памылка|выяўленыя наступныя памылкі}}:",
+ "validator_warning_parameters": "У вашым сынтаксісе {{PLURAL:$1|1=маецца памылка|маюцца памылкі}}.",
+ "validator-warning-adittional-errors": "… і {{PLURAL:$1|1=яшчэ адна праблема|яшчэ некалькі праблемаў}}.",
+ "validator-error-omitted": "{{PLURAL:$2|1=Значэньне «$1» было прапушчанае|Значэньні «$1» былі прапушчаныя}}.",
+ "validator-error-problem": "Узьнікла праблема з парамэтрам $1.",
+ "validator_error_unknown_argument": "Няслушны парамэтар $1.",
+ "validator_error_required_missing": "Не пададзены абавязковы парамэтар $1.",
+ "validator-error-override-argument": "Спрабаваў памяняць значэньне парамэтру $1 з «$2» на «$3»",
+ "validator-type-string": "тэкст",
+ "validator-type-integer": "цэлы лік",
+ "validator-type-float": "лік",
+ "validator-type-boolean": "так/не",
+ "validator-type-char": "сымбаль",
+ "validator-type-dimension": "колькасьць і адзінка вымярэньня",
+ "validator-type-title": "назва",
+ "validator-type-string-list": "сьпіс тэкстаў",
+ "validator-type-integer-list": "сьпіс цэлых лікаў",
+ "validator-type-float-list": "сьпіс лічбаў",
+ "validator-type-boolean-list": "сьпіс «так/не»",
+ "validator-type-char-list": "сьпіс сымбаляў",
+ "validator-type-title-list": "сьпіс загалоўкаў",
+ "validator-listerrors-errors": "Памылкі",
+ "validator-listerrors-minor": "Дробная",
+ "validator-listerrors-low": "Малая",
+ "validator-listerrors-normal": "Звычайная",
+ "validator-listerrors-high": "Значная",
+ "validator-listerrors-fatal": "Фатальная",
+ "validator-listerrors-description": "Пералічвае памылкі (і папярэджаньні), якія адбыліся ў працэдурах-перахопніках парсэра, дададзеных праз Validator.\nПаказваюцца толькі працэдуры-перахопнікі парсэра, якія знаходзяцца Вышэй listerrors.\nЗьмясьціце listerrors у самы канец старонкі, каб атрымаць сьпіс усіх памылак.",
+ "validator-listerrors-par-minseverity": "Мінімальная сур’ёзнасьць праблемы, для таго каб яна была ўключаная ў сьпіс.",
+ "validator-describe-description": "Стварае дакумэнтацыю для аднаго ці болей працэдур-перахопнікаў парсэра, атрымаўшым вызначэньне праз Validator.",
+ "validator-describe-notfound": "Не існуе працэдур-перахопніка парсэра для «$1».",
+ "validator-describe-descriptionmsg": "'''Апісаньне''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|1=Псэўданім|Псэўданімы}}''': $1",
+ "validator-describe-parserfunction": "Рэалізаваная толькі функцыя парсэру.",
+ "validator-describe-tagextension": "Рэалізаваная толькі як пашырэньне тэгу.",
+ "validator-describe-bothhooks": "Рэалізаваная як функцыя парсэру і як пашырэньне тэгу.",
+ "validator-describe-par-hooks": "Працэдура-перахопнік парсэра, для якой паказваць дакумэнтацыю.",
+ "validator-describe-par-pre": "Дазваляе Вам атрымліваць актуальны вікі-тэкст для дакумэнтацыі, без паказу на старонцы.",
+ "validator-describe-par-language": "Мова, на якой паказваць апісаньні",
+ "validator-describe-listtype": "Сьпіс элемэнтаў $1",
+ "validator-describe-empty": "пуста",
+ "validator-describe-required": "абавязкова",
+ "validator-describe-header-parameter": "Парамэтар",
+ "validator-describe-header-aliases": "Псэўданімы",
+ "validator-describe-header-type": "Тып",
+ "validator-describe-header-default": "Па змоўчваньні",
+ "validator-describe-header-description": "Апісаньне",
+ "validator-describe-parameters": "Парамэтры",
+ "validator-describe-syntax": "Сынтаксіс",
+ "validator-describe-tagmin": "Пашырэньне тэга, якое мае толькі неабходныя парамэтры.",
+ "validator-describe-tagmax": "Пашырэньне тэга з усімі парамэтрамі.",
+ "validator-describe-tagdefault": "Пашырэньне тэга з усімі парамэтрамі, выкарыстаньнем запісаў парамэтраў па змоўчваньні.",
+ "validator-describe-pfmin": "Функцыя парсэра, якае мае толькі неабходныя парамэтры.",
+ "validator-describe-pfmax": "Функцыя парсэра з усімі парамэтрамі.",
+ "validator-describe-pfdefault": "Функцыя парсэра з усімі парамэтрамі, выкарыстаньнем запісаў парамэтраў па змоўчваньні.",
+ "validator-describe-autogen": "Зьмест гэтай сэкцыі быў аўтаматычна створаны працэдурай-перахопнікам парсэра «describe» пашырэньня Validator.",
+ "validator_error_empty_argument": "Парамэтар $1 ня можа мець пустое значэньне.",
+ "validator_error_must_be_number": "Парамэтар $1 можа быць толькі лікам.",
+ "validator_error_must_be_integer": "Парамэтар $1 можа быць толькі цэлым лікам.",
+ "validator_error_must_be_title": "Парамэтар $1 можа быць роўны толькі слушнай назьве вікістаронкі.",
+ "validator_error_must_be_existing_title": "Парамэтар $1 можа быць роўны толькі назьве наяўнай вікістаронкі.",
+ "validator-error-must-be-float": "Парамэтар $1 можа быць толькі лікам з плаваючай коскай.",
+ "validator_error_invalid_range": "Парамэтар $1 павінен быць паміж $2 і $3.",
+ "validator-error-invalid-regex": "парамэтар $1 мусіць адпавядаць гэтаму рэгулярнаму выразу: $2.",
+ "validator-error-invalid-length": "Парамэтар $1 павінен мець даўжыню $2.",
+ "validator-error-invalid-length-range": "Парамэтар $1 павінен мець даўжыню паміж $2 і $3.",
+ "validator_error_invalid_argument": "Значэньне $1 не зьяўляецца слушным для парамэтру $2.",
+ "validator_list_error_empty_argument": "Парамэтар $1 ня можа прымаць пустыя значэньні.",
+ "validator_list_error_must_be_number": "Парамэтар $1 можа ўтрымліваць толькі лікі.",
+ "validator_list_error_must_be_integer": "Парамэтар $1 можа ўтрымліваць толькі цэлыя лікі.",
+ "validator_list_error_must_be_title": "Парамэтра $1 можа ўтрымліваць толькі слушныя назвы вікістаронак.",
+ "validator_list_error_must_be_existing_title": "Парамэтар $1 можа ўтрымліваць толькі назвы наяўных вікістаронак.",
+ "validator-list-error-must-be-float": "Парамэтар $1 можа ўтрымліваць толькі лікі з плаваючай кропкай.",
+ "validator_list_error_invalid_range": "Усе значэньні парамэтру $1 павінны знаходзіцца паміж $2 і $3.",
+ "validator-list-error-invalid-regex": "Усе значэньні парамэтру $1 мусяць адпавядаць гэтаму рэгулярнаму выразу: $2.",
+ "validator_list_error_invalid_argument": "Адно ці болей значэньняў парамэтру $1 зьяўляюцца няслушнымі.",
+ "validator-list-error-accepts-only": "Адно ці некалькі значэньняў парамэтру $1 зьяўляюцца няслушнымі. {{PLURAL:$3|1=Мусіць быць наступнае значэньне|Мусяць быць наступныя значэньні}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Адно ці некалькі значэньняў парамэтру $1 зьяўляюцца няслушнымі. {{PLURAL:$3|1=Мусіць быць наступнае значэньне|Мусяць быць наступныя значэньні}}: $2 (і $4 {{PLURAL:$4|прапушчанае значэньне|прапушчаныя значэньні|прапушчаных значэньняў}}).",
+ "validator_error_accepts_only": "Значэньне «$4» зьяўляецца няслушным для парамэтру $1. Ён можа прымаць толькі {{PLURAL:$3|1=гэтае значэньне|гэтыя значэньні}}: $2.",
+ "validator-error-accepts-only-omitted": "Значэньне «$2» зьяўляецца няслушным для парамэтру $1. Ён мусіць мець {{PLURAL:$5|1=наступнае значэньне|наступныя значэньні}}: $3 (і $4 {{PLURAL:$4|прапушчанае значэньне|прапушчаныя значэньні|прапушчаных значэньняў}}).",
+ "validator_list_omitted": "{{PLURAL:$2|1=Значэньне|Значэньні}} $1 {{PLURAL:$2|1=было прапушчанае|былі прапушчаныя}}.",
+ "validator-message-nodesc": "Апісаньне не пазначанае"
+}
diff --git a/www/wiki/extensions/Validator/i18n/bg.json b/www/wiki/extensions/Validator/i18n/bg.json
new file mode 100644
index 00000000..7e80a288
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/bg.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "DCLXVI",
+ "Reedy",
+ "පසිඳු කාවින්ද"
+ ]
+ },
+ "validator-type-string": "текст",
+ "validator-type-float": "номер",
+ "validator-type-title": "заглавие",
+ "validator-describe-empty": "празно",
+ "validator-describe-header-type": "Тип",
+ "validator-describe-header-default": "По подразбиране",
+ "validator-describe-parameters": "Параметри",
+ "validator_error_empty_argument": "Параметърът $1 не може да има празна стойност."
+}
diff --git a/www/wiki/extensions/Validator/i18n/bn.json b/www/wiki/extensions/Validator/i18n/bn.json
new file mode 100644
index 00000000..0ccf26c5
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/bn.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ehsanulhb"
+ ]
+ },
+ "validator-describe-descriptionmsg": "'''বিবরণ''': $1",
+ "validator-describe-header-description": "বিবরণ"
+}
diff --git a/www/wiki/extensions/Validator/i18n/br.json b/www/wiki/extensions/Validator/i18n/br.json
new file mode 100644
index 00000000..b177efc6
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/br.json
@@ -0,0 +1,73 @@
+{
+ "@metadata": {
+ "authors": [
+ "Fohanno",
+ "Fulup",
+ "Gwendal",
+ "Y-M D"
+ ]
+ },
+ "validator-desc": "Un doare aes eo kadarnataer evit an astennoù all da gadarnaat arventennoù ar fonksionoù parser hag astennoù ar balizennoù, evit termeniñ talvoudennoù dre ziouer ha sevel kemennoù fazioù",
+ "validator-warning": "Diwallit : $1",
+ "validator-error": "Fazi : $1",
+ "validator-fatal-error": "Fazi diremed: $1",
+ "validator_error_parameters": "Kavet eo bet ar {{PLURAL:$1|fazi|fazioù}} da-heul en hoc'h ereadur :",
+ "validator_warning_parameters": "{{PLURAL:$1|Ur fazi|Fazioù}} zo en hoc'h ereadur.",
+ "validator-warning-adittional-errors": "... {{PLURAL:$1|hag ur gudenn bennak all|ha meur a gudenn all}}.",
+ "validator-error-omitted": "N'eo ket bet merket ar {{PLURAL:$2|roadenn \"$1\"|roadennoù \"$1\"}}.",
+ "validator-error-problem": "Ur gudenn zo bet gant an arventenn $1.",
+ "validator_error_unknown_argument": "$1 n'eo ket un arventenn reizh.",
+ "validator_error_required_missing": "N'eo ket bet pourchaset an arventenn rekis $1",
+ "validator-error-override-argument": "Klasket en deus ar meziant erlec'hiañ an arventenn $1 (talvoud : $2) gant an talvoud \"$3\"",
+ "validator-type-string": "testenn",
+ "validator-type-integer": "Niver klok",
+ "validator-type-float": "niver",
+ "validator-type-boolean": "ya/nann",
+ "validator-type-char": "arouezenn",
+ "validator-type-title": "titl",
+ "validator-type-string-list": "roll testennoù",
+ "validator-type-integer-list": "roll niveroù anterin",
+ "validator-type-float-list": "roll niveroù",
+ "validator-type-boolean-list": "roll ya/ket",
+ "validator-type-char-list": "roll arouezennoù",
+ "validator-type-title-list": "roll titiloù",
+ "validator-listerrors-errors": "Fazioù",
+ "validator-listerrors-minor": "Minor",
+ "validator-listerrors-low": "Gwan",
+ "validator-listerrors-normal": "Reizh",
+ "validator-listerrors-high": "Uhel",
+ "validator-listerrors-fatal": "Diremed",
+ "validator-describe-descriptionmsg": "'''Deskrivadur''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliasoù}}''': $1",
+ "validator-describe-listtype": "Roll gant $1 elfenn",
+ "validator-describe-empty": "goullo",
+ "validator-describe-required": "rekis",
+ "validator-describe-header-parameter": "Arventenn",
+ "validator-describe-header-aliases": "Aliasoù",
+ "validator-describe-header-type": "Seurt",
+ "validator-describe-header-default": "Dre ziouer",
+ "validator-describe-header-description": "Deskrivadur",
+ "validator-describe-parameters": "Arventennoù",
+ "validator-describe-syntax": "Ereadurezh",
+ "validator_error_empty_argument": "N'hall ket an arventenn $1 bezañ goullo he zalvoudenn",
+ "validator_error_must_be_number": "Un niver e rank an arventenn $1 bezañ hepken.",
+ "validator_error_must_be_integer": "Rankout a ra an arventenn $1 bezañ un niver anterin.",
+ "validator-error-must-be-float": "Rankout a ra an arventenn $1 bezañ un niver skej war-neuñv.",
+ "validator_error_invalid_range": "Rankout a ra an arventenn $1 bezañ etre $2 hag $3.",
+ "validator-error-invalid-regex": "Rankout a ra an arventenn $1 klotañ gant ar jedad poellek-mañ : $2.",
+ "validator-error-invalid-length": "Ret eo d'an arventenn $1 bezañ par he hed da $2.",
+ "validator-error-invalid-length-range": "Rankout a ra an arventenn $1 bezañ he hed etre $2 hag $3.",
+ "validator_error_invalid_argument": "N'eo ket reizh an dalvoudenn $1 evit an arventenn $2.",
+ "validator_list_error_empty_argument": "Ne zegemer ket an arventenn $1 an talvoudennoù goullo.",
+ "validator_list_error_must_be_number": "N'hall bezañ nemet niveroù en arventenn $1.",
+ "validator_list_error_must_be_integer": "N'hall bezañ nemet niveroù anterin en arventenn $1.",
+ "validator-list-error-must-be-float": "N'hall bezañ nemet niveroù gant skej en arventenn $1.",
+ "validator_list_error_invalid_range": "An holl talvoudennoù eus an arventenn $1 a rank bezañ etre $2 ha $3.",
+ "validator-list-error-invalid-regex": "Rankout a ra holl dalvoudoù an arventenn $1 klotañ gant ar jedad poellek-mañ : $2.",
+ "validator_list_error_invalid_argument": "Faziek eo unan pe meur a dalvoudenn eus an arventenn $1.",
+ "validator-list-error-accepts-only": "Direizh eo unan pe meur a hini eus an talvoudoù evit an arventenn $1.\nNe zegemer nemet an {{PLURAL:$3|talvoud|talvoudoù}}-mañ : $2.",
+ "validator-list-error-accepts-only-omitted": "Direizh eo unan pe meur a hini eus an talvoudoù evit an arventenn $1.\nNe zegemer nemet an {{PLURAL:$3|talvoud|talvoudoù}}-mañ : $2 (ha $4 {{PLURAL:$4|talvoud anroet|talvoud anroet}}).",
+ "validator_error_accepts_only": "Ne zegemer ket an arventenn $1 an talvoud \"$4\". Ne zegemer nemet {{PLURAL:$3|an talvoud|an talvoudoù}}-mañ : $2.",
+ "validator-error-accepts-only-omitted": "Direizh eo an talvoud \"$2\" evit an arventenn $1.\nNe zegemer nemet an {{PLURAL:$5|talvoud|talvoudoù}}-mañ : $3 (ha $4 {{PLURAL:$4|talvoud anroet|talvoud anroet}}).",
+ "validator_list_omitted": "Disoñjet eo bet an {{PLURAL:$2|talvoudenn|talvoudennoù}} $1."
+}
diff --git a/www/wiki/extensions/Validator/i18n/bs.json b/www/wiki/extensions/Validator/i18n/bs.json
new file mode 100644
index 00000000..bc939009
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/bs.json
@@ -0,0 +1,33 @@
+{
+ "@metadata": {
+ "authors": [
+ "CERminator"
+ ]
+ },
+ "validator-desc": "Validator pruža jednostavni način za druga proširenja u svrhu validacije parametara parserskih funkcija i proširenja oznaka, postavlja pretpostavljene vrijednosti i generira poruke pogrešaka.",
+ "validator-warning": "Upozorenje: $1",
+ "validator-error": "Greška: $1",
+ "validator-fatal-error": "Fatalna greška: $1",
+ "validator_error_parameters": "U Vašoj sintaksi {{PLURAL:$1|je|su}} {{PLURAL:$1|otkivena slijedeća greška|otkrivene slijedeće greške}}:",
+ "validator_warning_parameters": "{{PLURAL:$1|Postoji greška|Postoje greške}} u Vašoj sintaksi.",
+ "validator-warning-adittional-errors": "... i {{PLURAL:$1|još jedan problem|još nekoliko problema}}.",
+ "validator_error_unknown_argument": "$1 nije valjan parametar.",
+ "validator_error_required_missing": "Obavezni parametar $1 nije naveden.",
+ "validator-error-override-argument": "Pokušano da se preskoči parametar $1 (vrijednost: $2) vrijednošću \"$3\"",
+ "validator-listerrors-normal": "Normalno",
+ "validator_error_empty_argument": "Parametar $1 ne može imati praznu vrijednost.",
+ "validator_error_must_be_number": "Parametar $1 može biti samo broj.",
+ "validator_error_must_be_integer": "Parametar $1 može biti samo cijeli broj.",
+ "validator-error-must-be-float": "Parametar $1 može biti samo broj sa plutajućim zarezom.",
+ "validator_error_invalid_range": "Parametar $1 mora biti između $2 i $3.",
+ "validator-error-invalid-length": "Parametar $1 mora imati dužinu $2.",
+ "validator-error-invalid-length-range": "Parametar $1 mora imati dužinu između $2 i $3.",
+ "validator_error_invalid_argument": "Vrijednost $1 nije valjana za parametar $2.",
+ "validator_list_error_empty_argument": "Parametar $1 ne prima prazne vrijednosti.",
+ "validator_list_error_must_be_number": "Parametar $1 može sadržavati samo brojeve.",
+ "validator_list_error_must_be_integer": "Parametar $1 može sadržavati samo cijele brojeve.",
+ "validator_list_error_invalid_range": "Sve vrijednosti parametra $1 moraju biti između $2 i $3.",
+ "validator_list_error_invalid_argument": "Jedna ili više vrijednosti za parametar $1 nisu valjane.",
+ "validator_error_accepts_only": "Vrijednost \"$4\" nije valjana za parametar $1. On prihvata samo {{PLURAL:$3|ovu vrijednost|ove vrijednosti}}: $2.",
+ "validator_list_omitted": "{{PLURAL:$2|Vrijednost|Vrijednosti}} $1 {{PLURAL:$2|je ispuštena|su ispuštene}}."
+}
diff --git a/www/wiki/extensions/Validator/i18n/ca.json b/www/wiki/extensions/Validator/i18n/ca.json
new file mode 100644
index 00000000..d1f307ea
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ca.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Luckas"
+ ]
+ },
+ "validator-describe-descriptionmsg": "'''Descripció''': $1",
+ "validator-describe-header-description": "Descripció"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ce.json b/www/wiki/extensions/Validator/i18n/ce.json
new file mode 100644
index 00000000..ffac3a87
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ce.json
@@ -0,0 +1,37 @@
+{
+ "@metadata": {
+ "authors": [
+ "Умар"
+ ]
+ },
+ "validator-warning": "Тергам: $1",
+ "validator-error": "ГӀалат: $1",
+ "validator-fatal-error": "Кхераме гӀалат: $1",
+ "validator-warning-adittional-errors": "… и {{PLURAL:$1|1=кхин цхьа бала|кхин маситта баланаш}}.",
+ "validator-type-string": "йоза",
+ "validator-type-integer": "дуьззина терахь",
+ "validator-type-float": "терахь",
+ "validator-type-boolean": "хӀаъ/хӀахӀа",
+ "validator-type-char": "символ",
+ "validator-type-title": "цӀе",
+ "validator-type-string-list": "йозанийн могӀам",
+ "validator-type-integer-list": "дуьззина терхьийн могӀам",
+ "validator-type-float-list": "терхьийн могӀам",
+ "validator-type-boolean-list": "могӀам хӀаъ/хӀахӀа",
+ "validator-type-char-list": "символийн могӀам",
+ "validator-type-title-list": "цӀерийн могӀам",
+ "validator-listerrors-errors": "ГӀалаташ",
+ "validator-listerrors-minor": "Ладамбоцу",
+ "validator-listerrors-low": "Лахара",
+ "validator-listerrors-normal": "ЛартӀахь",
+ "validator-listerrors-high": "Лаккхара",
+ "validator-listerrors-fatal": "Фаталан",
+ "validator-describe-descriptionmsg": "'''Цуьнах лаьцна''': $1",
+ "validator-describe-par-language": "Яздаран йолу интерфейсан мотт",
+ "validator-describe-required": "оьшу",
+ "validator-describe-header-type": "Тайпа",
+ "validator-describe-header-default": "Iад йитарца",
+ "validator-describe-header-description": "Цуьнах лаьцна",
+ "validator-describe-parameters": "Параметраш",
+ "validator-describe-syntax": "Синтаксис"
+}
diff --git a/www/wiki/extensions/Validator/i18n/cs.json b/www/wiki/extensions/Validator/i18n/cs.json
new file mode 100644
index 00000000..db27d683
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/cs.json
@@ -0,0 +1,70 @@
+{
+ "@metadata": {
+ "authors": [
+ "Matěj Grabovský",
+ "Mormegil",
+ "Reaperman",
+ "Vks",
+ "XenoPheX",
+ "Dvorapa"
+ ]
+ },
+ "validator-desc": "Knihovna pro deklarativní zpracování parametrů",
+ "validator-warning": "Varování: $1",
+ "validator-error": "Chyba: $1",
+ "validator-fatal-error": "Kritická chyba: $1",
+ "validator_error_parameters": "Ve vaší syntaxi {{PLURAL:$1|byla nalezena následující chyba|byly nalezeny následující chyby}}:",
+ "validator_warning_parameters": "Ve vaší syntaxi {{PLURAL:$1|je chyba|jsou chyby}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Hodnota „$1“ byla|Hodnoty „$1“ byly}} vynechány.",
+ "validator-error-problem": "Vyskytl se problém s parametrem $1.",
+ "validator_error_unknown_argument": "$1 není platný parametr.",
+ "validator_error_required_missing": "Povinný parameter $1 nebyl specifikován.",
+ "validator-type-string": "text",
+ "validator-type-integer": "celé číslo",
+ "validator-type-float": "číslo",
+ "validator-type-boolean": "ano/ne",
+ "validator-type-char": "znak",
+ "validator-type-dimension": "číslo a jednotka délky",
+ "validator-listerrors-errors": "Chyby",
+ "validator-listerrors-low": "Nízká",
+ "validator-listerrors-normal": "Střední",
+ "validator-listerrors-high": "Vysoká",
+ "validator-listerrors-fatal": "Kritická",
+ "validator-describe-descriptionmsg": "''' Popis ''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliasy}}''': $1",
+ "validator-describe-empty": "prázdné",
+ "validator-describe-required": "vyžadované",
+ "validator-describe-header-parameter": "Parametr",
+ "validator-describe-header-aliases": "Aliasy",
+ "validator-describe-header-type": "Typ",
+ "validator-describe-header-default": "Výchozí",
+ "validator-describe-header-description": "Popis",
+ "validator-describe-parameters": "Parametry",
+ "validator-describe-syntax": "Syntaxe",
+ "validator_error_empty_argument": "Parametr $1 nemůže být prázdný.",
+ "validator_error_must_be_number": "Parametr $1 může být pouze číslo.",
+ "validator_error_must_be_integer": "Parametr $1 může být pouze celé číslo.",
+ "validator_error_must_be_title": "Parametr $1 může být pouze platný název wiki stránky.",
+ "validator_error_must_be_existing_title": "Parametr $1 může být pouze název existující wiki stránky.",
+ "validator-error-must-be-float": "Parametr $1 může být pouze číslo s desetinnou čárkou.",
+ "validator_error_invalid_range": "Parametr $1 musí být v rozmezí $2 až $3.",
+ "validator-error-invalid-regex": "Parametr $1 musí odpovídat tomuto regulárnímu výrazu: $2.",
+ "validator-error-invalid-length": "Parametr $1 musí mít délku $2.",
+ "validator-error-invalid-length-range": "Parametr $1 musí mít délku mezi $2 a $3.",
+ "validator_error_invalid_argument": "$1 není platná hodnota pro parametr $2.",
+ "validator_list_error_empty_argument": "Parametr $1 npeřijímá prázdné hoodnoty.",
+ "validator_list_error_must_be_number": "Parametr $1 může obsahovat pouze čísla.",
+ "validator_list_error_must_be_integer": "Paramter $1 může obsahovat pouze celá čísla.",
+ "validator_list_error_must_be_title": "Parametr $1 může obsahovat pouze platné názvy wiki stránek.",
+ "validator_list_error_must_be_existing_title": "Parametr $1 může obsahovat pouze názvy existujících wiki stránek.",
+ "validator-list-error-must-be-float": "Parametr $1 může obsahovat pouze čísla s desetinnou čárkou.",
+ "validator_list_error_invalid_range": "Všechny hodnoty parametru $1 musí být v rozmezí $2 až $3.",
+ "validator-list-error-invalid-regex": "Všechny hodnoty parametru $1 musí odpovídat tomuto regulárnímu výrazu: $2.",
+ "validator_list_error_invalid_argument": "Jedna nebo více hodnot parametru $1 jsou neplatné.",
+ "validator-list-error-accepts-only": "Jedna či více hodnot parametru $1 jsou neplatné. {{{{PLURAL:$3|Platná je pouze tato hodnota|Platné jsou pouze tyto hodnoty}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Jedna či více hodnot parametru $1 jsou neplatné. {{PLURAL:$3|Platná je pouze tato hodnota|Platné jsou pouze tyto hodnoty}}: $2 (a $4 {{PLURAL:$4|vynechaná hodnota|vynechané hodnoty|vynechaných hodnot}}).",
+ "validator_error_accepts_only": "Parametr $1 nemůže mít hodnotu „$4“; přijímá pouze {{PLURAL:$3|tuto hodnotu|tyto hodnoty}}: $2.",
+ "validator-error-accepts-only-omitted": "Hodnota \"$2\" není pro parametr $1 platná. {{PLURAL:$3|Platná je pouze tato hodnota|Platné jsou pouze tyto hodnoty}}: $2 (a $4 {{PLURAL:$4|vynechaná hodnota|vynechané hodnoty}}).",
+ "validator_list_omitted": "{{PLURAL:$2|Hodnota $1 byla vynechána|Hodnoty $1 byly vynechány}}.",
+ "validator-message-nodesc": "Popis není k dispozici"
+}
diff --git a/www/wiki/extensions/Validator/i18n/cu.json b/www/wiki/extensions/Validator/i18n/cu.json
new file mode 100644
index 00000000..79c70a5a
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/cu.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "ОйЛ"
+ ]
+ },
+ "validator-error": "блаꙁна : $1",
+ "validator-listerrors-errors": "блаꙁнꙑ"
+}
diff --git a/www/wiki/extensions/Validator/i18n/da.json b/www/wiki/extensions/Validator/i18n/da.json
new file mode 100644
index 00000000..d8740e41
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/da.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Christian List"
+ ]
+ },
+ "validator-type-string": "tekst"
+}
diff --git a/www/wiki/extensions/Validator/i18n/de.json b/www/wiki/extensions/Validator/i18n/de.json
new file mode 100644
index 00000000..d80e0fc8
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/de.json
@@ -0,0 +1,99 @@
+{
+ "@metadata": {
+ "authors": [
+ "DaSch",
+ "Imre",
+ "Kghbln",
+ "LWChris",
+ "Metalhead64",
+ "Purodha",
+ "Das Schäfchen"
+ ]
+ },
+ "validator-desc": "Stellt anderen Programmerweiterungen eine deklarative Bibliothek zur Verarbeitung von Parametern bereit",
+ "validator-warning": "Warnung: $1",
+ "validator-error": "Fehler: $1",
+ "validator-fatal-error": "'''Schwerwiegender Fehler:''' $1",
+ "validator_error_parameters": "{{PLURAL:$1|Der folgende Fehler wurde|Die folgenden Fehler wurden}} in der Syntax gefunden:",
+ "validator_warning_parameters": "{{PLURAL:$1|Es ist ein Fehler|Es sind Fehler}} in der Syntax.",
+ "validator-warning-adittional-errors": "… und {{PLURAL:$1|ein weiteres Problem|weitere Probleme}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Der Wert „$1“ wurde|Die Werte „$1“ wurden}} ausgelassen.",
+ "validator-error-problem": "Es gab ein Problem mit Parameter $1.",
+ "validator_error_unknown_argument": "„$1“ ist kein gültiger Parameter.",
+ "validator_error_required_missing": "Der notwendige Parameter „$1“ wurde nicht angegeben.",
+ "validator-error-override-argument": "Es wurde versucht Parameter $1 ($2) mit dem Wert „$3“ zu überschreiben.",
+ "validator-type-string": "Text",
+ "validator-type-integer": "Ganzzahl",
+ "validator-type-float": "Gleitkommazahl",
+ "validator-type-boolean": "ja/nein",
+ "validator-type-char": "Zeichen",
+ "validator-type-dimension": "Zahl mit Maßeinheit",
+ "validator-type-title": "Titel",
+ "validator-type-string-list": "Liste mit Texten",
+ "validator-type-integer-list": "Liste mit ganzen Zahlen",
+ "validator-type-float-list": "Liste mit Zahlen",
+ "validator-type-boolean-list": "Liste mit Ja/Nein-Angaben",
+ "validator-type-char-list": "Liste mit Zeichen",
+ "validator-type-title-list": "Liste mit Seitennamen",
+ "validator-listerrors-errors": "Fehler",
+ "validator-listerrors-minor": "Marginal",
+ "validator-listerrors-low": "Klein",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Groß",
+ "validator-listerrors-fatal": "Schwerwiegend",
+ "validator-listerrors-description": "Zeigt Fehler und Warnungen an, die bei über die Erweiterung Validator genutzten Parsererweiterungen auftraten.\nSie zeigt sie lediglich für die Parsererweiterungen an, die oberhalb des Tags „<code>listerrors</code>“ eingefügt wurden. „<code>listerrors</code>“ sollte daher am oder gegen Ende der Seite eingefügt werden, um alle Fehler und Warnungen angezeigt zu bekommen.",
+ "validator-listerrors-par-minseverity": "Der Mindestschweregrad eines Problems, damit dieses angezeigt wird.",
+ "validator-describe-description": "Erzeugt die Dokumentation für eine oder mehrere Parsererweiterungen, die über die Erweiterung Validator definiert wurden.",
+ "validator-describe-notfound": "Es ist keine Parsererweiterung vorhanden, die „$1“ verarbeitet.",
+ "validator-describe-descriptionmsg": "'''Beschreibung:''' $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliasse}}:''' $1",
+ "validator-describe-parserfunction": "Sie ist lediglich als Parsererweiterung in Form einer Funktion implementiert.",
+ "validator-describe-tagextension": "Sie ist lediglich als Parsererweiterung in Form eines Tags implementiert.",
+ "validator-describe-bothhooks": "Sie ist sowohl als Parsererweiterung in Form einer Funktion wie auch eines Tags implementiert.",
+ "validator-describe-par-hooks": "Die Parsererweiterungen, zu der die Dokumentation angezeigt werden soll.",
+ "validator-describe-par-pre": "Ermöglicht die Ausgabe der Dokumentation in Wikitext, wobei dieser nicht gerendert wird.",
+ "validator-describe-par-language": "Die Sprache, in der die Beschreibungen angezeigt werden sollen",
+ "validator-describe-listtype": "Liste von Elementen: $1",
+ "validator-describe-empty": "leer",
+ "validator-describe-required": "erforderlich",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Aliasse",
+ "validator-describe-header-type": "Typ",
+ "validator-describe-header-default": "Standard",
+ "validator-describe-header-description": "Beschreibung",
+ "validator-describe-parameters": "Parameter",
+ "validator-describe-syntax": "Syntax",
+ "validator-describe-tagmin": "Parsererweiterung als Tag, nur mit den erforderlichen Parametern.",
+ "validator-describe-tagmax": "Parsererweiterung als Tag mitsamt allen Parametern.",
+ "validator-describe-tagdefault": "Parsererweiterung als Tag mitsamt allen Parametern, welche die Standardnotation für Parameter nutzen.",
+ "validator-describe-pfmin": "Parsererweiterung als Funktion, nur mit den erforderlichen Parametern.",
+ "validator-describe-pfmax": "Parsererweiterung als Funktion mitsamt allen Parametern.",
+ "validator-describe-pfdefault": "Parsererweiterung als Funktion mitsamt allen Parametern, welche die Standardnotation für Parameter nutzen.",
+ "validator-describe-autogen": "Der Inhalt dieses Abschnitts wurde automatisch mit Hilfe der Parserfunktion „<code>describe</code>“ der Erweiterung Validator erstellt.",
+ "validator_error_empty_argument": "Parameter $1 kann keinen leeren Wert haben.",
+ "validator_error_must_be_number": "Parameter $1 kann nur eine Nummer sein.",
+ "validator_error_must_be_integer": "Parameter $1 kann nur eine ganze Zahl sein.",
+ "validator_error_must_be_title": "Parameter $1 kann nur ein gültiger Seitenname sein.",
+ "validator_error_must_be_existing_title": "Parameter $1 kann nur ein vorhandener Seitenname sein.",
+ "validator-error-must-be-float": "Parameter $1 kann nur eine Gleitkommazahl sein.",
+ "validator_error_invalid_range": "Parameter $1 muss zwischen $2 und $3 liegen.",
+ "validator-error-invalid-regex": "Parameter $1 muss diesem regulären Ausdruck entsprechen: $2.",
+ "validator-error-invalid-length": "Parameter $1 muss eine Länge von $2 haben.",
+ "validator-error-invalid-length-range": "Parameter $1 muss eine Länge zwischen $2 und $3 haben.",
+ "validator_error_invalid_argument": "Der Wert $1 ist nicht gültig für den Parameter $2.",
+ "validator_list_error_empty_argument": "Parameter $1 akzeptiert keine leeren Werte.",
+ "validator_list_error_must_be_number": "Parameter $1 kann nur Ziffern enthalten.",
+ "validator_list_error_must_be_integer": "Parameter $1 kann nur ganze Zahlen enthalten.",
+ "validator_list_error_must_be_title": "Parameter $1 kann nur gültige Seitennamen enthalten.",
+ "validator_list_error_must_be_existing_title": "Parameter $1 kann nur vorhandene Seitennamen enthalten.",
+ "validator-list-error-must-be-float": "Parameter $1 kann nur Gleitkommazahlen enthalten.",
+ "validator_list_error_invalid_range": "Alle Werte des Parameters $1 müssen zwischen $2 und $3 liegen.",
+ "validator-list-error-invalid-regex": "Alle Werte des Parameters $1 müssen diesem regulären Ausdruck entsprechen: $2.",
+ "validator_list_error_invalid_argument": "Einer oder mehrere Werte für Parameter $1 sind ungültig.",
+ "validator-list-error-accepts-only": "Einer oder mehrere Werte für Parameter $1 sind ungültig.\nNur {{PLURAL:$3|der folgende Wert wird|die folgenden Werte werden}} akzeptiert: $2.",
+ "validator-list-error-accepts-only-omitted": "Einer oder mehrere Werte für Parameter $1 sind ungültig.\nNur {{PLURAL:$3|der folgende Wert wird|die folgenden Werte werden}} akzeptiert: $2 (sowie $4 ausgelassene {{PLURAL:$4|Wert|Werte}}).",
+ "validator_error_accepts_only": "Der Wert „$4“ ist nicht gültig für den Parameter $1. Nur {{PLURAL:$3|der folgende Wert wird|die folgenden Werte werden}} akzeptiert: $2.",
+ "validator-error-accepts-only-omitted": "Der Wert „$2“ ist nicht gültig für den Parameter $1. Nur {{PLURAL:$5|der folgende Wert wird|die folgenden Werte werden}} akzeptiert: $3 (sowie $4 nicht angezeigte {{PLURAL:$4|Wert|Werte}}).",
+ "validator_list_omitted": "{{PLURAL:$2|Der Wert „$1“ wurde|Die Werte „$1“ wurden}} ausgelassen.",
+ "validator-message-nodesc": "Die Beschreibung dieses Parameters ist nicht vorhanden"
+}
diff --git a/www/wiki/extensions/Validator/i18n/diq.json b/www/wiki/extensions/Validator/i18n/diq.json
new file mode 100644
index 00000000..919794dc
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/diq.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Erdemaslancan",
+ "Mirzali"
+ ]
+ },
+ "validator-listerrors-errors": "Xırabi",
+ "validator-listerrors-minor": "Qıcek",
+ "validator-listerrors-low": "Kemi",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Berz",
+ "validator-describe-required": "lazım",
+ "validator-describe-header-parameter": "Parametre",
+ "validator-describe-header-type": "Babet",
+ "validator-describe-header-default": "Hesabiyaye",
+ "validator-describe-header-description": "Şınasnayış",
+ "validator-describe-parameters": "Parametrey"
+}
diff --git a/www/wiki/extensions/Validator/i18n/dsb.json b/www/wiki/extensions/Validator/i18n/dsb.json
new file mode 100644
index 00000000..778aece9
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/dsb.json
@@ -0,0 +1,51 @@
+{
+ "@metadata": {
+ "authors": [
+ "Michawiki"
+ ]
+ },
+ "validator-desc": "Deklaratiwna biblioteka za pśeźěłowanje parametrow",
+ "validator-warning": "Warnowanje: $1",
+ "validator-error": "Zmólka: $1",
+ "validator-fatal-error": "Rozwažna zmólka: $1",
+ "validator_error_parameters": "{{PLURAL:$1|Slědujuca zmólka jo se namakała|Slědujucej zmólce stej se namakałej|Slědujuce zmólki su se namakali|Slědujuce zmólki su se namakali}} w twójej syntaksy:",
+ "validator_warning_parameters": "{{PLURAL:$1|Jo zmólka|Stej zmólce|Su zmólki|Su zmólki}} w twójej syntaksy.",
+ "validator-error-problem": "Jo był problem z parametrom $1.",
+ "validator_error_unknown_argument": "$1 njejo płaśiwy parameter.",
+ "validator_error_required_missing": "Trěbny parameter $1 njejo pódany.",
+ "validator-type-string": "tekst",
+ "validator-type-integer": "ceła licba",
+ "validator-type-float": "licba",
+ "validator-type-boolean": "jo/ně",
+ "validator-type-char": "znamuško",
+ "validator-listerrors-errors": "Zmólki",
+ "validator-listerrors-minor": "Snadna",
+ "validator-listerrors-low": "Niska",
+ "validator-listerrors-normal": "Normalna",
+ "validator-listerrors-high": "Wusoka",
+ "validator-listerrors-fatal": "Rozwažna",
+ "validator-describe-descriptionmsg": "'''wopisanje''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliasa|Aliase|Aliase}}''': $1",
+ "validator-describe-listtype": "Lisćina $1 {{PLURAL:$1|elementa|elementowu|elementow|elementow}}",
+ "validator-describe-empty": "prozny",
+ "validator-describe-required": "trěbny",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Aliase",
+ "validator-describe-header-type": "Typ",
+ "validator-describe-header-default": "Standard",
+ "validator-describe-header-description": "Wopisanje",
+ "validator-describe-parameters": "Parametry",
+ "validator-describe-syntax": "Syntaksa",
+ "validator_error_empty_argument": "Parameter $1 njamóžo proznu gódnotu měś.",
+ "validator_error_must_be_number": "Parameter $1 móžo jano licba byś.",
+ "validator_error_must_be_integer": "Parameter $1 móžo jano ceła licba byś.",
+ "validator_error_invalid_range": "Parameter $1 musy mjazy $2 a $3 byś.",
+ "validator_error_invalid_argument": "Gódnota $1 njejo płaśiwa za parameter $2.",
+ "validator_list_error_empty_argument": "Parameter $1 njeakceptěrujo prozne gódnoty.",
+ "validator_list_error_must_be_number": "Parameter $1 móžo jano licby wopśimjeś.",
+ "validator_list_error_must_be_integer": "Parameter $1 móžo jano cełe licby wopśimjeś.",
+ "validator_list_error_invalid_range": "Wšykne gódnoty parametra $1 muse mjazy $2 a $3 byś.",
+ "validator_list_error_invalid_argument": "Jadna gódnota abo wěcej gódnotow za parameter $1 su njepłaśiwe.",
+ "validator_error_accepts_only": "Gódnota \"$4\" njejo płaśiwa za parameter $1. Akcepteptěrujo se jano {{PLURAL:$3|toś ta gódnota|toś tej gódnośe|toś te gódnoty|toś te gódnoty}}: $2.",
+ "validator_list_omitted": "{{PLURAL:$2|Gódnota|Gódnośe|Gódnoty|Gódnoty}} $1 {{PLURAL:$2|jo se wuwóstajiła|stej se wuwóstajiłej|su se wuwóstajili|su se wuwostajili}}."
+}
diff --git a/www/wiki/extensions/Validator/i18n/el.json b/www/wiki/extensions/Validator/i18n/el.json
new file mode 100644
index 00000000..304f07b8
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/el.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dada",
+ "Lou",
+ "Protnet",
+ "ZaDiak",
+ "Απεργός"
+ ]
+ },
+ "validator-desc": "Παρέχει γενική υποστήριξη χειρισμού παραμέτρων για άλλες επεκτάσεις",
+ "validator-error": "Σφάλμα: $1",
+ "validator-fatal-error": "Ανεπανόρθωτο σφάλμα: $1",
+ "validator_error_unknown_argument": "$1 δεν είναι μια έγκυρη παράμετρος.",
+ "validator_error_required_missing": "Λείπει η απαιτούμενη παράμετρος $1.",
+ "validator-type-string": "κείμενο",
+ "validator_error_must_be_number": "Η παράμετρος $1 μπορεί να είναι μόνο αριθμός.",
+ "validator_error_must_be_integer": "Η παράμετρος $1 μπορεί να είναι μόνο ακέραιος αριθμός.",
+ "validator_list_error_must_be_number": "Η παράμετρος $1 μπορεί να περιέχει μόνο αριθμούς.",
+ "validator_list_error_must_be_integer": "Η παράμετρος $1 μπορεί να περιέχει μόνο ακέραιους αριθμούς.",
+ "validator_list_error_invalid_range": "Όλες οι τιμές της παραμέτρου $1 πρέπει να είναι μεταξύ $2 και $3."
+}
diff --git a/www/wiki/extensions/Validator/i18n/en.json b/www/wiki/extensions/Validator/i18n/en.json
new file mode 100644
index 00000000..38e5a8ee
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/en.json
@@ -0,0 +1,96 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jeroen De Dauw",
+ "Daniel Werner",
+ "Karsten Hoffmeyer"
+ ]
+ },
+ "validator-desc": "Declarative parameter processing library",
+ "validator-warning": "Warning: $1",
+ "validator-error": "Error: $1",
+ "validator-fatal-error": "Fatal error: $1",
+ "validator_error_parameters": "The following {{PLURAL:$1|error has|errors have}} been detected in your syntax:",
+ "validator_warning_parameters": "There {{PLURAL:$1|is an error|are errors}} in your syntax.",
+ "validator-warning-adittional-errors": "... and {{PLURAL:$1|one more issue|multiple more issues}}.",
+ "validator-error-omitted": "The {{PLURAL:$2|value \"$1\" has|values \"$1\" have}} been omitted.",
+ "validator-error-problem": "There was a problem with parameter $1.",
+ "validator_error_unknown_argument": "$1 is not a valid parameter.",
+ "validator_error_required_missing": "The required parameter \"$1\" is not provided.",
+ "validator-error-override-argument": "Tried to override parameter $1 (value: $2) with value \"$3\"",
+ "validator-type-string": "text",
+ "validator-type-integer": "whole number",
+ "validator-type-float": "number",
+ "validator-type-boolean": "yes/no",
+ "validator-type-char": "character",
+ "validator-type-dimension": "number and dimensional unit",
+ "validator-type-title": "title",
+ "validator-type-string-list": "list of texts",
+ "validator-type-integer-list": "list of integers",
+ "validator-type-float-list": "list of numbers",
+ "validator-type-boolean-list": "list of yes/no",
+ "validator-type-char-list": "list characters",
+ "validator-type-title-list": "list of titles",
+ "validator-listerrors-errors": "Errors",
+ "validator-listerrors-severity-message": "($1) $2",
+ "validator-listerrors-minor": "Minor",
+ "validator-listerrors-low": "Low",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "High",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-listerrors-description": "Lists errors (and warnings) that occurred in parser hooks added via Validator.\nOnly lists for parser hooks added above where listerrors is inserted;\nplace listerrors at or near the bottom of the page to get all errors.",
+ "validator-listerrors-par-minseverity": "The minimum severity of an issue for it to be listed.",
+ "validator-describe-description": "Generates documentation for one or more parser hooks defined via Validator.",
+ "validator-describe-notfound": "There is no parser hook that handles \"$1\".",
+ "validator-describe-descriptionmsg": "'''Description''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliases}}''': $1",
+ "validator-describe-parserfunction": "Implemented only as parser function.",
+ "validator-describe-tagextension": "Implemented only as tag extension.",
+ "validator-describe-bothhooks": "Implemented as both parser function and as tag extension.",
+ "validator-describe-par-hooks": "The parser hooks for which to display documentation.",
+ "validator-describe-par-pre": "Allows you to get the actual wikitext for the documentation, without it being rendered on the page.",
+ "validator-describe-par-language": "The language to display the descriptions in",
+ "validator-describe-listtype": "List of $1 items",
+ "validator-describe-empty": "empty",
+ "validator-describe-required": "required",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Aliases",
+ "validator-describe-header-type": "Type",
+ "validator-describe-header-default": "Default",
+ "validator-describe-header-description": "Description",
+ "validator-describe-parameters": "Parameters",
+ "validator-describe-syntax": "Syntax",
+ "validator-describe-tagmin": "Tag extension with only the required parameters.",
+ "validator-describe-tagmax": "Tag extension with all parameters.",
+ "validator-describe-tagdefault": "Tag extension with all parameters using the default parameter notation.",
+ "validator-describe-pfmin": "Parser function with only the required parameters.",
+ "validator-describe-pfmax": "Parser function with all parameters.",
+ "validator-describe-pfdefault": "Parser function with all parameters using the default parameter notation.",
+ "validator-describe-autogen": "The contents of this section was auto-generated by the \"describe\" parser hook of the Validator extension.",
+ "validator_error_empty_argument": "Parameter $1 can not have an empty value.",
+ "validator_error_must_be_number": "Parameter $1 can only be a number.",
+ "validator_error_must_be_integer": "Parameter $1 can only be an integer.",
+ "validator_error_must_be_title": "Parameter $1 can only be a valid wiki page name.",
+ "validator_error_must_be_existing_title": "Parameter $1 can only be an existing wiki page name.",
+ "validator-error-must-be-float": "Parameter $1 can only be a floating point number.",
+ "validator_error_invalid_range": "Parameter $1 must be between $2 and $3.",
+ "validator-error-invalid-regex": "Parameter $1 must match this regular expression: $2.",
+ "validator-error-invalid-length": "Parameter $1 must have a length of $2.",
+ "validator-error-invalid-length-range": "Parameter $1 must have a length between $2 and $3.",
+ "validator_error_invalid_argument": "The value $1 is not valid for parameter $2.",
+ "validator_list_error_empty_argument": "Parameter $1 does not accept empty values.",
+ "validator_list_error_must_be_number": "Parameter $1 can only contain numbers.",
+ "validator_list_error_must_be_integer": "Parameter $1 can only contain integers.",
+ "validator_list_error_must_be_title": "Parameter $1 can only contain valid wiki page names.",
+ "validator_list_error_must_be_existing_title": "Parameter $1 can only contain existing wiki page names.",
+ "validator-list-error-must-be-float": "Parameter $1 can only contain floats.",
+ "validator_list_error_invalid_range": "All values of parameter $1 must be between $2 and $3.",
+ "validator-list-error-invalid-regex": "All values of parameter $1 must match this regular expression: $2.",
+ "validator_list_error_invalid_argument": "One or more values for parameter $1 are invalid.",
+ "validator-list-error-accepts-only": "One or more values for parameter $1 are invalid. It only accepts {{PLURAL:$3|this value|these values}}: $2.",
+ "validator-list-error-accepts-only-omitted": "One or more values for parameter $1 are invalid. It only accepts {{PLURAL:$3|this value|these values}}: $2 (and $4 omitted {{PLURAL:$4|value|values}}).",
+ "validator_error_accepts_only": "The value \"$4\" is not valid for parameter $1. It only accepts {{PLURAL:$3|this value|these values}}: $2.",
+ "validator-error-accepts-only-omitted": "The value \"$2\" is not valid for parameter $1. It only accepts {{PLURAL:$5|this value|these values}}: $3 (and $4 omitted {{PLURAL:$4|value|values}}).",
+ "validator_list_omitted": "The {{PLURAL:$2|value|values}} $1 {{PLURAL:$2|has|have}} been omitted.",
+ "validator-message-nodesc": "No description provided"
+}
diff --git a/www/wiki/extensions/Validator/i18n/eo.json b/www/wiki/extensions/Validator/i18n/eo.json
new file mode 100644
index 00000000..caa6b9cf
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/eo.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Luckas",
+ "Yekrats"
+ ]
+ },
+ "validator_error_unknown_argument": "$1 ne estas valida parametro.",
+ "validator_error_required_missing": "La nepra parametro $1 mankas.",
+ "validator-describe-descriptionmsg": "'''Priskribo''': $1",
+ "validator-describe-header-description": "Priskribo",
+ "validator_error_empty_argument": "Parametro $1 ne povas esti nula valoro.",
+ "validator_error_must_be_number": "Parametro $1 nur povas esti numero.",
+ "validator_error_must_be_integer": "Parametro $1 nur povas esti entjero.",
+ "validator_error_invalid_range": "Parametro $1 estu inter $2 kaj $3.",
+ "validator_list_error_invalid_argument": "Unu aŭ pliaj valoroj por parametro $1 estas malvalida."
+}
diff --git a/www/wiki/extensions/Validator/i18n/es.json b/www/wiki/extensions/Validator/i18n/es.json
new file mode 100644
index 00000000..cc21f0a3
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/es.json
@@ -0,0 +1,100 @@
+{
+ "@metadata": {
+ "authors": [
+ "Armando-Martin",
+ "Ciencia Al Poder",
+ "Crazymadlover",
+ "Imre",
+ "Translationista",
+ "Fitoschido",
+ "Macofe",
+ "Indiralena"
+ ]
+ },
+ "validator-desc": "Biblioteca de procesamiento de parámetros declarativa",
+ "validator-warning": "Advertencia: $1",
+ "validator-error": "Error: $1",
+ "validator-fatal-error": "Error fatal: $1",
+ "validator_error_parameters": "Se {{PLURAL:$1|detectó el siguiente error|detectaron los siguientes errores}} en la sintaxis empleada:",
+ "validator_warning_parameters": "Hay {{PLURAL:$1|un error|errores}} en tu sintaxis.",
+ "validator-warning-adittional-errors": "...y {{PLURAL:$1|otro problema|muchos otros problemas}}.",
+ "validator-error-omitted": "Se {{PLURAL:$2|omitió el valor «$1»|omitieron los valores «$1»}}.",
+ "validator-error-problem": "Ha habido un problema con el parámetro $1.",
+ "validator_error_unknown_argument": "$1 no es un parámetro válido.",
+ "validator_error_required_missing": "No se ha provisto el parámetro requerido $1.",
+ "validator-error-override-argument": "Se ha intentado sobreescribir el parámetro $1 (valor: $2) con el valor \"$3\"",
+ "validator-type-string": "texto",
+ "validator-type-integer": "número entero",
+ "validator-type-float": "número",
+ "validator-type-boolean": "sí/no",
+ "validator-type-char": "carácter",
+ "validator-type-dimension": "número y unidad de dimensión",
+ "validator-type-title": "título",
+ "validator-type-string-list": "lista de textos",
+ "validator-type-integer-list": "lista de números enteros",
+ "validator-type-float-list": "lista de números",
+ "validator-type-boolean-list": "lista de sí/no",
+ "validator-type-char-list": "listar caracteres",
+ "validator-type-title-list": "lista de títulos",
+ "validator-listerrors-errors": "Errores",
+ "validator-listerrors-minor": "Menor",
+ "validator-listerrors-low": "Bajo",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Alto",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-listerrors-description": "Lista los errores (y advertencias) que se produjeron en las asociaciones (hook) del analizador (parser) añadidas a través de validador.\nSólo se muestran en las listas las asociaciones del analizador agregados antes de la inserción de listerrors;\n coloque listerrors alfinal o cerca de la parte inferior de la página para obtener todos los errores.",
+ "validator-listerrors-par-minseverity": "La gravedad mínima de una cuestión para que aparezca en la lista.",
+ "validator-describe-description": "Genera documentación para una o más asociaciones del analizador (parser hooks) definidas a través de Validator.",
+ "validator-describe-notfound": "No hay ninguna asociación del analizador (parser hook) que controle \"$1\".",
+ "validator-describe-descriptionmsg": "'''Descripción''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Alias}}''': $1",
+ "validator-describe-parserfunction": "Implementado sólo como función del analizador (parser).",
+ "validator-describe-tagextension": "Implementado sólo como etiqueta de extensión.",
+ "validator-describe-bothhooks": "Implementado como función del analizador y como etiqueta de extensión.",
+ "validator-describe-par-hooks": "Asociación del analizador (parser hook) para que la que desea mostrar la documentación.",
+ "validator-describe-par-pre": "Le permite obtener el texto wiki real para la documentación, sin que se procese (render) como imagen en la página.",
+ "validator-describe-par-language": "El idioma en el que mostrar las descripciones",
+ "validator-describe-listtype": "Lista de $1 elementos",
+ "validator-describe-empty": "vacío",
+ "validator-describe-required": "obligatorio",
+ "validator-describe-header-parameter": "Parámetro",
+ "validator-describe-header-aliases": "Alias",
+ "validator-describe-header-type": "Tipo",
+ "validator-describe-header-default": "Predeterminado",
+ "validator-describe-header-description": "Descripción",
+ "validator-describe-parameters": "Parámetros",
+ "validator-describe-syntax": "Sintaxis",
+ "validator-describe-tagmin": "Etiqueta de extensión sólo con los parámetros obligatorios.",
+ "validator-describe-tagmax": "Etiqueta de extensión con todos los parámetros.",
+ "validator-describe-tagdefault": "Etiqueta de extensión con todos los parámetros, empleando la notación de los parámetros por defecto.",
+ "validator-describe-pfmin": "Función del analizador (parser) sólo con los parámetros obligatorios.",
+ "validator-describe-pfmax": "Función del analizador (parser) con todos los parámetros.",
+ "validator-describe-pfdefault": "Función del analizador (parser) con todos los parámetros, empleando la notación predeterminada de los parámetros.",
+ "validator-describe-autogen": "El contenido de esta sección fue generado automáticamente por la asociación del analizador (parser hook) \"describe\" de la extensión Validator.",
+ "validator_error_empty_argument": "El parámetro $1 no puede tener un valor vacío.",
+ "validator_error_must_be_number": "El parámetro $1 sólo puede ser un número.",
+ "validator_error_must_be_integer": "El parámetro $1 sólo puede ser un número entero.",
+ "validator_error_must_be_title": "El parámetro $1 sólo puede ser un nombre de página wiki válido.",
+ "validator_error_must_be_existing_title": "El parámetro $1 sólo puede ser un nombre de página wiki existente.",
+ "validator-error-must-be-float": "El parámetro $1 tiene que ser un número de punto flotante.",
+ "validator_error_invalid_range": "El parámetro $1 debe ser entre $2 y $3.",
+ "validator-error-invalid-regex": "El parámetro $1 tiene que coincidir con esta expresión racional : $2.",
+ "validator-error-invalid-length": "El parámetro $1 tiene que tener una longitud de $2.",
+ "validator-error-invalid-length-range": "El parámetro $1 tiene que tener una longitud comprendida entre $2 y $3.",
+ "validator_error_invalid_argument": "El valor $1 no es válido para el parámetro $2.",
+ "validator_list_error_empty_argument": "El parámetro $1 no acepta valores vacíos.",
+ "validator_list_error_must_be_number": "El parámetro $1 sólo puede contener números.",
+ "validator_list_error_must_be_integer": "El parámetro $1 sólo puede contener números enteros.",
+ "validator_list_error_must_be_title": "El parámetro $1 sólo puede contener nombres válidos de página wiki.",
+ "validator_list_error_must_be_existing_title": "El parámetro $1 sólo puede contener nombres de páginas wiki existentes.",
+ "validator-list-error-must-be-float": "El parámetro $1 sólo puede contener floats.",
+ "validator_list_error_invalid_range": "Todos los valores del parámetro $1 deben ser entre $2 y $3.",
+ "validator-list-error-invalid-regex": "El parámetro $1 tiene que coincidir con esta expresión regular: $2.",
+ "validator_list_error_invalid_argument": "Uno o más valores del parámetros $1 son inválidos.",
+ "validator-list-error-accepts-only": "Uno o más valores para el parámetro $1 son inválidos.\nSólo acepta{{PLURAL:$3|este valor| estos valores}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Uno o más valores para el parámetro $1 son inválidos. Sólo acepta {{PLURAL:$3|este valor|estos valores}}: $2 (y $4 {{PLURAL:$4|valor omitido|valores omitidos}}).",
+ "validator_error_accepts_only": "El valor \"$4\" no es válido para el parámetro $1. El parámetro sólo acepta {{PLURAL:$3|este valor|estos valores}}: $2.",
+ "validator-error-accepts-only-omitted": "El valor $2 no es válido para el parámetro $1.\nSólo acepta {{PLURAL:$5|este valor|estos valores}}: $3 (y $4 {{PLURAL:$4|valor omitido|valores omitidos}}).",
+ "validator_list_omitted": "{{PLURAL:$2|El valor|Los valores}} $1 {{PLURAL:$2|ha sido omitido|han sido omitidos}}.",
+ "validator-message-nodesc": "No se aporta ninguna descripción"
+}
diff --git a/www/wiki/extensions/Validator/i18n/et.json b/www/wiki/extensions/Validator/i18n/et.json
new file mode 100644
index 00000000..bbcbe32c
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/et.json
@@ -0,0 +1,30 @@
+{
+ "@metadata": {
+ "authors": [
+ "Avjoska",
+ "Pikne"
+ ]
+ },
+ "validator-warning": "Hoiatus: $1",
+ "validator-error": "Tõrge: $1",
+ "validator-type-string": "tekst",
+ "validator-type-integer": "täisarv",
+ "validator-type-float": "number",
+ "validator-type-boolean": "jah/ei",
+ "validator-type-char": "märk",
+ "validator-type-title": "pealkiri",
+ "validator-type-string-list": "tekstide loetelu",
+ "validator-type-float-list": "numbrite loetelu",
+ "validator-listerrors-errors": "Vead",
+ "validator-listerrors-low": "Madal",
+ "validator-listerrors-normal": "Normaalne",
+ "validator-listerrors-high": "Kõrge",
+ "validator-describe-descriptionmsg": "'''Kirjeldus''': $1",
+ "validator-describe-empty": "tühi",
+ "validator-describe-required": "nõutav",
+ "validator-describe-header-parameter": "Parameeter",
+ "validator-describe-header-type": "Tüüp",
+ "validator-describe-header-description": "Kirjeldus",
+ "validator-describe-parameters": "Parameetrid",
+ "validator-describe-syntax": "Süntaks"
+}
diff --git a/www/wiki/extensions/Validator/i18n/eu.json b/www/wiki/extensions/Validator/i18n/eu.json
new file mode 100644
index 00000000..58380627
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/eu.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "පසිඳු කාවින්ද",
+ "Subi"
+ ]
+ },
+ "validator-type-string": "testua",
+ "validator-type-integer": "zenbaki osoa",
+ "validator-type-float": "zenbakia",
+ "validator-type-boolean": "bai/ez",
+ "validator-type-char": "karakterea",
+ "validator-listerrors-errors": "Erroreak",
+ "validator-listerrors-low": "Baxua",
+ "validator-listerrors-normal": "Normala",
+ "validator-listerrors-high": "Altua",
+ "validator-describe-descriptionmsg": "'''Deskribapena''': $1",
+ "validator-describe-empty": "hutsik",
+ "validator-describe-header-type": "Mota",
+ "validator-describe-header-default": "Lehenetsia",
+ "validator-describe-header-description": "Deskribapena"
+}
diff --git a/www/wiki/extensions/Validator/i18n/fa.json b/www/wiki/extensions/Validator/i18n/fa.json
new file mode 100644
index 00000000..0fc92869
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/fa.json
@@ -0,0 +1,94 @@
+{
+ "@metadata": {
+ "authors": [
+ "Armin1392",
+ "Mjbmr",
+ "پاناروما"
+ ]
+ },
+ "validator-desc": "پارامتر اعلانی پردازش کتابخانه",
+ "validator-warning": "هشدار: $1",
+ "validator-error": "خطا: $1",
+ "validator-fatal-error": "خطای مهلک: $1",
+ "validator_error_parameters": "{{PLURAL:$1|خطا|خطاها}} در نحو شما تشخیص داده شده‌اندː",
+ "validator_warning_parameters": "{{PLURAL:$1|یک خطا|خطاهایی}} در نحو شما است.",
+ "validator-warning-adittional-errors": "... و {{PLURAL:$1|یک مسئله بیشتر|چند مسئله بیشتر}}.",
+ "validator-error-omitted": "{{PLURAL:$2|مقدار \"$1\" |مقدارها \"$1\"}} حذف شده‌اند.",
+ "validator-error-problem": "مشکلی با پارامتر $1 وجود داشت.",
+ "validator_error_unknown_argument": "$1 یک پارامتر معتبر نیست.",
+ "validator_error_required_missing": "پارامتر مورد نیاز \"$1\" ارائه نشده‌است.",
+ "validator-error-override-argument": "سعی به لغو پارامتر $1 (مقدارː$2) با مقدار \"$3\"",
+ "validator-type-string": "متن",
+ "validator-type-integer": "عدد صحیح",
+ "validator-type-float": "شماره",
+ "validator-type-boolean": "بله/خیر",
+ "validator-type-char": "شخصیت",
+ "validator-type-title": "عنوان",
+ "validator-type-string-list": "فهرست متون",
+ "validator-type-integer-list": "فهرست اعداد صحیح",
+ "validator-type-float-list": "فهرست شماره‌ها",
+ "validator-type-boolean-list": "فهرست بله/خیر",
+ "validator-type-char-list": "فهرست شخصیت‌ها",
+ "validator-type-title-list": "فهرست عناوین",
+ "validator-listerrors-errors": "خطاها",
+ "validator-listerrors-minor": "جزئی",
+ "validator-listerrors-low": "کم",
+ "validator-listerrors-normal": "عادی",
+ "validator-listerrors-high": "زیاد",
+ "validator-listerrors-fatal": "کشنده",
+ "validator-listerrors-description": "فهرست خطاهایی (و هشدارهایی) که در قلاب تجزیه‌کننده از طریق اعتبارسنج افزوده شده.\nفقط فهرست‌ها برای افزودن قلاب‌های تجزیه‌کننده بالای جایی که فهرست خطاها قرار داده شده‌است؛\nقرار دادن فهرست خطاها در نزدیکی پایین صفحه برای دریافت همه خطاها.",
+ "validator-listerrors-par-minseverity": "حداقل شدت مسئله برای فهرست شدن.",
+ "validator-describe-description": "تولید اسناد برای یک یا چند قلاب‌های تجزیه‌کننده تعریف شده از طریق اعتبارسنج.",
+ "validator-describe-notfound": "هیچ قلاب تجزیه‌کننده‌ای که \"$1\" را کنترل کند وجود ندارد.",
+ "validator-describe-descriptionmsg": "'''شرح''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|نام مستعار|نام‌های مستعار}}''': $1",
+ "validator-describe-parserfunction": "تنها به عنوان عملیات تجزیه‌مننده اجرا شده.",
+ "validator-describe-tagextension": "تنها به عنوان گستره برچسب اجرا شده.",
+ "validator-describe-bothhooks": "اجرا شده به عنوان هر دو عملیات تجزیه‌کننده و گستره برچسب.",
+ "validator-describe-par-hooks": "قلاب‌های تجریه کننده برای نمایش اسناد.",
+ "validator-describe-par-pre": "به شما برای دریافت متن ویکی واقعی برای اسناد، بدون اینکه در صفحه ارائه شود، اجازه می‌دهد.",
+ "validator-describe-par-language": "زبان برای نمایش توصیفات در",
+ "validator-describe-listtype": "فهرست موارد $1",
+ "validator-describe-empty": "خالی",
+ "validator-describe-required": "ضروری",
+ "validator-describe-header-parameter": "مولفه",
+ "validator-describe-header-aliases": "نام‌های مستعار",
+ "validator-describe-header-type": "نوع",
+ "validator-describe-header-default": "پیش فرض",
+ "validator-describe-header-description": "تشریح",
+ "validator-describe-parameters": "پارامترها",
+ "validator-describe-syntax": "نحو",
+ "validator-describe-tagmin": "برچسب گستره فقط با پارامترهای مورد نیاز",
+ "validator-describe-tagmax": "برچسب گستره با همهٔ پارامترها",
+ "validator-describe-tagdefault": "گستره برچسب با هر پارامتری با استفاده از نماد پارامتر پیش‌فرض.",
+ "validator-describe-pfmin": "عملیات تجزیه‌کننده فقط با پارامترهای مورد نیاز.",
+ "validator-describe-pfmax": "فعالیت تجزیه کننده با همهٔ پارامترها.",
+ "validator-describe-pfdefault": "عملیات تجزیه‌کننده با همه پارامترها با استفاده از نماد پارامتر پیش‌فرض.",
+ "validator-describe-autogen": "محتوای این بخش توسط \"توصیف\" قلاب تجزیه‌کننده گیتره اعتبارسنج، به طور خودکار تولید شده‌بود.",
+ "validator_error_empty_argument": "پارامتر $1 نمی‌تواند یک مقدار خالی باشد.",
+ "validator_error_must_be_number": "پارامتر $1 می‌تواند فقط یک عدد باشد.",
+ "validator_error_must_be_integer": "پارامتر $1 می‌تواند فقط یک عدد صحیح باشد.",
+ "validator_error_must_be_title": "پارامتر $1 می‌تواند فقط یک نام صفحهٔ ویکی معتبر باشد.",
+ "validator_error_must_be_existing_title": "پارامتر $1 می‌تواند فقط یک نام صفحهٔ ویکی موجود باشد.",
+ "validator-error-must-be-float": "پارامتر $1 می‌تواند فقط یک عدد نقطهٔ معلق باشد.",
+ "validator_error_invalid_range": "پارامتر $1 باید بین $2 و $3 باشد.",
+ "validator-error-invalid-regex": "پارامتر $1باید با این عبارت منظم مطابق باشد: $2",
+ "validator-error-invalid-length": "پارامتر $1 باید طول $2 داشته باشد.",
+ "validator-error-invalid-length-range": "پارامتر $1 باید طول بین $2 و $3 داشته باشد.",
+ "validator_error_invalid_argument": "مقدار $1 برای پارامتر $2 معتبر نیست.",
+ "validator_list_error_empty_argument": "پارامتر $1 مقادیر خالی را نمی‌پذیرد.",
+ "validator_list_error_must_be_number": "پارامتر $1 می‌تواند فقط شامل اعداد باشد.",
+ "validator_list_error_must_be_integer": "پارامتر $1 می‌تواند فقط شامل اعداد صحیح باشد.",
+ "validator_list_error_must_be_title": "پارامتر $1 می‌تواند فقط شامل نام‌های صفحهٔ ویکی معتبر باشد.",
+ "validator_list_error_must_be_existing_title": "پارامتر $1 می‌تواند فقط شامل نام‌های صفحهٔ ویکی موجود باشد.",
+ "validator-list-error-must-be-float": "پارامتر $1 می‌تواند فقط شامل معلق‌ها باشد.",
+ "validator_list_error_invalid_range": "همهٔ مقادیر پارامتر $1 باید بین $2 و $3 باشند.",
+ "validator-list-error-invalid-regex": "همهٔ مقادیر پارامتر $1 باید با این عبارت منظم مطابق باشند: $2.",
+ "validator_list_error_invalid_argument": "یک یا چند مقادیر برای پارامتر $1 نامعتبر است.",
+ "validator-list-error-accepts-only": "یک یا چند مقدار برای پارامتر $1 نامعتبر است. این فقط {{PLURAL:$3|این مقدار|این مقادیر}} را می‌پذیردː $2.",
+ "validator-list-error-accepts-only-omitted": "یک یا جند مقادیر برای پارامتر $1 نامعتبر است. این فقط {{PLURAL:$3|این مقدار|این مقادیر}} را می‌پذیردː $2 (و $4حذف شده {{PLURAL:$4|مقدار|مقادیر}}).",
+ "validator_error_accepts_only": "مقدار \"$4\" برای پارامتر $1 معتبر نیست. این فقط {{PLURAL:$3|این مقدار|این مقادیر}} را می‌پذیردː $2.",
+ "validator-error-accepts-only-omitted": "مقدار \"$2\" برای پارامتر $1 معتبر نیست . این فقط {{PLURAL:$5|این مقدار|این مقادیر}} را می‌پذیردː $3 (و $4 حذف شده {{PLURAL:$4|مقدار|مقادیر}}).",
+ "validator_list_omitted": "{{PLURAL:$2|مقدار|مقادیر}} $1 {{PLURAL:$2|has|have}} حذف شده‌اند.",
+ "validator-message-nodesc": "هیچ توصیفی ارائه نشده"
+}
diff --git a/www/wiki/extensions/Validator/i18n/fi.json b/www/wiki/extensions/Validator/i18n/fi.json
new file mode 100644
index 00000000..0768b7f2
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/fi.json
@@ -0,0 +1,31 @@
+{
+ "@metadata": {
+ "authors": [
+ "Beluga",
+ "Crt",
+ "Nedergard",
+ "Silvonen",
+ "Str4nd",
+ "VezonThunder"
+ ]
+ },
+ "validator-desc": "Tarkastaja tarjoaa helpon tavan muille laajennuksille jäsenninfunktioiden ja tagilaajennusten parametrien tarkastukseen, oletusarvojen asettamiseen ja virheilmoitusten luomiseen.",
+ "validator-warning": "Varoitus: $1",
+ "validator-error": "Virhe: $1",
+ "validator-fatal-error": "Vakava virhe: $1",
+ "validator_error_unknown_argument": "$1 ei ole sallittu parametri.",
+ "validator-type-string": "teksti",
+ "validator-type-integer": "kokonaisluku",
+ "validator-type-float": "luku",
+ "validator-type-boolean": "kyllä/ei",
+ "validator-type-char": "merkki",
+ "validator-type-title": "otsikko",
+ "validator-listerrors-errors": "Virheet",
+ "validator-describe-empty": "tyhjä",
+ "validator-describe-required": "pakollinen",
+ "validator-describe-header-type": "Tyyppi",
+ "validator-describe-header-default": "Oletus",
+ "validator-describe-header-description": "Kuvaus",
+ "validator_error_must_be_number": "Parametrin $1 on oltava luku.",
+ "validator_error_must_be_integer": "Parametrin $1 on oltava kokonaisluku."
+}
diff --git a/www/wiki/extensions/Validator/i18n/fr.json b/www/wiki/extensions/Validator/i18n/fr.json
new file mode 100644
index 00000000..c3c829ba
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/fr.json
@@ -0,0 +1,105 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cedric31",
+ "Crochet.david",
+ "DavidL",
+ "Gomoko",
+ "IAlex",
+ "Jean-Frédéric",
+ "LIMAFOX76",
+ "McDutchie",
+ "Peter17",
+ "PieRRoMaN",
+ "Sherbrooke",
+ "Urhixidur",
+ "Verdy p"
+ ]
+ },
+ "validator-desc": "Bibliothèque de traitement des paramètres déclaratifs",
+ "validator-warning": "Attention : $1",
+ "validator-error": "Erreur : $1",
+ "validator-fatal-error": "Erreur fatale : $1",
+ "validator_error_parameters": "{{PLURAL:$1|L’erreur suivante a été détectée|Les erreurs suivantes ont été détectées}} dans votre syntaxe :",
+ "validator_warning_parameters": "Il y a {{PLURAL:$1|une erreur|des erreurs}} dans votre syntaxe.",
+ "validator-warning-adittional-errors": "... ainsi {{PLURAL:$1|qu'un problème supplémentaire|que plusieurs autres problèmes}}.",
+ "validator-error-omitted": "{{PLURAL:$2|La valeur « $1 » a été oubliée|Les valeurs « $1 » ont été oubliées}}.",
+ "validator-error-problem": "Il y a un problème avec le paramètre $1.",
+ "validator_error_unknown_argument": "$1 n’est pas un paramètre valide.",
+ "validator_error_required_missing": "Le paramètre requis $1 n’est pas renseigné.",
+ "validator-error-override-argument": "Le logiciel a essayé de remplacer le paramètre $1 (valeur : $2) avec la valeur « $3 »",
+ "validator-type-string": "texte",
+ "validator-type-integer": "nombre entier",
+ "validator-type-float": "nombre",
+ "validator-type-boolean": "oui/non",
+ "validator-type-char": "caractère",
+ "validator-type-dimension": "nombre et unité de dimension",
+ "validator-type-title": "titre",
+ "validator-type-string-list": "liste de textes",
+ "validator-type-integer-list": "liste de nombres entiers",
+ "validator-type-float-list": "liste de nombres",
+ "validator-type-boolean-list": "liste de oui/non",
+ "validator-type-char-list": "caractères de la liste",
+ "validator-type-title-list": "liste de titres",
+ "validator-listerrors-errors": "Erreurs",
+ "validator-listerrors-minor": "Mineur",
+ "validator-listerrors-low": "Faible",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Élevé",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-listerrors-description": "Liste les erreurs (et les avertissements) qui se sont produites dans les ''hooks'' de l'analyseur syntaxique ''via'' ''Validator''.\nSeules les listes pour les ''hooks'' de l'analyseur syntaxique (ajoutées où apparaît <code>listerrors</code>) sont insérées ;\nplacer <code>listerrors</code> au plus bas de la page pour obtenir toutes les erreurs.",
+ "validator-listerrors-par-minseverity": "La sévérité minimale d'une erreur pour être listée.",
+ "validator-describe-description": "Génère la documentation pour un ou plusieurs ''hooks'' de l'analyseur syntaxique ''via'' ''Validator'.",
+ "validator-describe-notfound": "Il n'y a pas de ''hook'' qui gère « $1 ».",
+ "validator-describe-descriptionmsg": "'''Description''' : $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias}}''' : $1",
+ "validator-describe-parserfunction": "Mis en œuvre uniquement comme fonction de l'analyseur syntaxique.",
+ "validator-describe-tagextension": "Mis en œuvre seulement comme balise d'extension.",
+ "validator-describe-bothhooks": "Mis en œuvre comme fonction de l'analyseur syntaxique et comme balise d'extension.",
+ "validator-describe-par-hooks": "Les ''hooks'' de l'analyseur syntaxique dont il faut afficher la documentation.",
+ "validator-describe-par-pre": "Vous permet d'obtenir le wikitexte courant de la documentation, sans qu'il soit rendu sur la page.",
+ "validator-describe-par-language": "La langue dans laquelle afficher les descriptions",
+ "validator-describe-listtype": "Liste de $1 éléments",
+ "validator-describe-empty": "vide",
+ "validator-describe-required": "requis",
+ "validator-describe-header-parameter": "Paramètre",
+ "validator-describe-header-aliases": "Alias",
+ "validator-describe-header-type": "Type",
+ "validator-describe-header-default": "Par défaut",
+ "validator-describe-header-description": "Description",
+ "validator-describe-parameters": "Paramètres",
+ "validator-describe-syntax": "Syntaxe",
+ "validator-describe-tagmin": "Balise d'extension comprenant seulement les paramètres requis.",
+ "validator-describe-tagmax": "Balise d'extension comprenant tous les paramètres.",
+ "validator-describe-tagdefault": "Balise d'extension comprenant tous les paramètres en utilisant la notation par défaut des paramètres.",
+ "validator-describe-pfmin": "Fonction de l'analyseur syntaxique comprenant seulement les paramètres requis.",
+ "validator-describe-pfmax": "Fonction de l'analyseur syntaxique comprenant tous les paramètres.",
+ "validator-describe-pfdefault": "Fonction de l'analyseur syntaxique comprenant tous les paramètres en utilisant la notation par défaut des paramètres.",
+ "validator-describe-autogen": "Le contenu de cette section a été généré automatiquement par le ''hook'' ''Describe'' de l'extension ''Validator''.",
+ "validator_error_empty_argument": "Le paramètre $1 ne peut pas avoir une valeur vide.",
+ "validator_error_must_be_number": "Le paramètre $1 ne peut être qu'un nombre.",
+ "validator_error_must_be_integer": "Le paramètre $1 ne peut être qu'un entier.",
+ "validator_error_must_be_title": "Le paramètre $1 ne peut être qu'un nom de page wiki valide.",
+ "validator_error_must_be_existing_title": "Le paramètre $1 ne peut être qu'un nom de page wiki existante.",
+ "validator-error-must-be-float": "Le paramètre $1 ne peut être qu'un nombre à virgule flottante.",
+ "validator_error_invalid_range": "Le paramètre $1 doit être compris entre $2 et $3.",
+ "validator-error-invalid-regex": "Le paramètre $1 doit concorder avec cette expression rationnelle : « $2 ».",
+ "validator-error-invalid-length": "Le paramètre $1 doit avoir une longueur de $2.",
+ "validator-error-invalid-length-range": "Le paramètre $1 doit avoir une longueur comprise entre $2 et $3.",
+ "validator_error_invalid_argument": "La valeur $1 n’est pas valide pour le paramètre $2.",
+ "validator_list_error_empty_argument": "Le paramètre $1 n’accepte pas les valeurs vides.",
+ "validator_list_error_must_be_number": "Le paramètre $1 ne peut contenir que des nombres.",
+ "validator_list_error_must_be_integer": "Le paramètre $1 ne peut contenir que des entiers.",
+ "validator_list_error_must_be_title": "Le paramètre $1 ne peut contenir que des noms de page wiki valides.",
+ "validator_list_error_must_be_existing_title": "Le paramètre $1 ne peut contenir que des noms de page wiki existantes.",
+ "validator-list-error-must-be-float": "Le paramètre $1 ne peut contenir que des nombres à virgule.",
+ "validator_list_error_invalid_range": "Toutes les valeurs du paramètre $1 doivent être comprises entre $2 et $3.",
+ "validator-list-error-invalid-regex": "Toutes les valeurs du paramètre $1 doivent concorder avec cette expression rationnelle : « $2 ».",
+ "validator_list_error_invalid_argument": "Une ou plusieurs valeurs du paramètre $1 sont invalides.",
+ "validator-list-error-accepts-only": "Une ou plusieurs valeurs du paramètre $1 sont invalides. Ce paramètre n’accepte que {{PLURAL:$3|cette valeur|ces valeurs}} : $2.",
+ "validator-list-error-accepts-only-omitted": "Une ou plusieurs valeurs du paramètre $1 sont invalides. Ce paramètre n’accepte que {{PLURAL:$3|cette valeur|ces valeurs}} : $2 (et {{PLURAL:$4|la valeur omise|les valeurs omises}} $4).",
+ "validator_error_accepts_only": "La valeur « $4 » n'est pas valable pour le paramètre $1. Ce paramètre accepte uniquement {{PLURAL:$3|cette valeur|ces valeurs}} : $2.",
+ "validator-error-accepts-only-omitted": "La valeur « $2 » n’est pas valable pour le paramètre $1. Ce paramètre n’accepte que {{PLURAL:$5|cette valeur|ces valeurs}} : $3 (et {{PLURAL:$4|la valeur omise|les valeurs omises}} $4).",
+ "validator_list_omitted": "{{PLURAL:$2|La valeur|Les valeurs}} $1 {{PLURAL:$2|a été oubliée|ont été oubliées}}.",
+ "validator-message-nodesc": "Aucune description fournie"
+}
diff --git a/www/wiki/extensions/Validator/i18n/frp.json b/www/wiki/extensions/Validator/i18n/frp.json
new file mode 100644
index 00000000..06d4dc5c
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/frp.json
@@ -0,0 +1,60 @@
+{
+ "@metadata": {
+ "authors": [
+ "ChrisPtDe"
+ ]
+ },
+ "validator-warning": "Avèrtissement : $1",
+ "validator-error": "Èrror : $1",
+ "validator-fatal-error": "Èrror fatala : $1",
+ "validator_error_parameters": "{{PLURAL:$1|Ceta èrror at étâ dècelâ|Cetes èrrors ont étâ dècelâs}} dens voutra sintaxa :",
+ "validator_warning_parameters": "Y at {{PLURAL:$1|una èrror|des èrrors}} dens voutra sintaxa.",
+ "validator-warning-adittional-errors": "... et un {{PLURAL:$1|problèmo de ples|mouél d’ôtros problèmos}}.",
+ "validator-error-omitted": "{{PLURAL:$2|La valor « $1 » at étâ oubliâ|Les valors « $1 » ont étâ oubliâs}}.",
+ "validator-error-problem": "Y at un problèmo avouéc lo paramètre $1.",
+ "validator_error_unknown_argument": "$1 est pas un paramètre valido.",
+ "validator_error_required_missing": "Lo paramètre nècèssèro $1 est pas balyê.",
+ "validator-error-override-argument": "La programeria at tâchiê de remplaciér lo paramètre $1 (valor : $2) avouéc la valor « $3 »",
+ "validator-type-string": "tèxto",
+ "validator-type-integer": "nombro entiér",
+ "validator-type-float": "nombro",
+ "validator-type-boolean": "ouè/nan",
+ "validator-type-char": "caractèro",
+ "validator-type-title": "titro",
+ "validator-type-string-list": "lista de tèxtos",
+ "validator-type-integer-list": "lista de nombros entiérs",
+ "validator-type-float-list": "lista de nombros",
+ "validator-type-boolean-list": "lista de ouè / nan",
+ "validator-type-char-list": "lista de caractèros",
+ "validator-type-title-list": "lista de titros",
+ "validator-listerrors-errors": "Èrrors",
+ "validator-listerrors-minor": "Petiôt",
+ "validator-listerrors-low": "Fêblo",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Hôt",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-describe-descriptionmsg": "'''Dèscripcion :''' $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Nom paralèlo|Noms paralèlos}} :''' $1",
+ "validator-describe-listtype": "Lista de $1 èlèments",
+ "validator-describe-empty": "vouedo",
+ "validator-describe-required": "nècèssèro",
+ "validator-describe-header-parameter": "Paramètre",
+ "validator-describe-header-aliases": "Noms paralèlos",
+ "validator-describe-header-type": "Tipo",
+ "validator-describe-header-default": "Per dèfôt",
+ "validator-describe-header-description": "Dèscripcion",
+ "validator-describe-parameters": "Paramètres",
+ "validator-describe-syntax": "Sintaxa",
+ "validator_error_empty_argument": "Lo paramètre $1 pôt pas avêr una valor voueda.",
+ "validator_error_must_be_number": "Lo paramètre $1 pôt étre ren qu’un nombro.",
+ "validator_error_must_be_integer": "Lo paramètre $1 pôt étre ren qu’un entiér.",
+ "validator_error_invalid_range": "Lo paramètre $1 dêt étre entre-mié $2 et $3.",
+ "validator_error_invalid_argument": "La valor $1 est pas valida por lo paramètre $2.",
+ "validator_list_error_empty_argument": "Lo paramètre $1 accèpte pas les valors vouedes.",
+ "validator_list_error_must_be_number": "Lo paramètre $1 pôt contegnir ren que des nombros.",
+ "validator_list_error_must_be_integer": "Lo paramètre $1 pôt contegnir ren que des entiérs.",
+ "validator_list_error_invalid_range": "Totes les valors du paramètre $1 dêvont étre entre-mié $2 et $3.",
+ "validator_list_error_invalid_argument": "Yona ou ben un mouél de valors du paramètre $1 sont envalides.",
+ "validator_error_accepts_only": "La valor « $4 » est pas valida por lo paramètre $1. Accèpte ren que {{PLURAL:$3|ceta valor|cetes valors}} : $2.",
+ "validator_list_omitted": "{{PLURAL:$2|La valor|Les valors}} $1 {{PLURAL:$2|at étâ oubliâ|ont étâ oubliâs}}."
+}
diff --git a/www/wiki/extensions/Validator/i18n/frr.json b/www/wiki/extensions/Validator/i18n/frr.json
new file mode 100644
index 00000000..9849cdab
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/frr.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Murma174"
+ ]
+ },
+ "validator-describe-empty": "leesag"
+}
diff --git a/www/wiki/extensions/Validator/i18n/fy.json b/www/wiki/extensions/Validator/i18n/fy.json
new file mode 100644
index 00000000..56b636f3
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/fy.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Robin0van0der0vliet",
+ "Robin van der Vliet"
+ ]
+ },
+ "validator-warning": "Warskôging: $1",
+ "validator-error": "Flater: $1",
+ "validator-listerrors-normal": "Normaal"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ga.json b/www/wiki/extensions/Validator/i18n/ga.json
new file mode 100644
index 00000000..7aa2c519
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ga.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "පසිඳු කාවින්ද"
+ ]
+ },
+ "validator-type-title": "Teideal",
+ "validator-listerrors-normal": "Gnáth",
+ "validator-describe-header-type": "Cineál",
+ "validator-describe-header-default": "réamhshocrú"
+}
diff --git a/www/wiki/extensions/Validator/i18n/gl.json b/www/wiki/extensions/Validator/i18n/gl.json
new file mode 100644
index 00000000..25402dec
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/gl.json
@@ -0,0 +1,94 @@
+{
+ "@metadata": {
+ "authors": [
+ "Toliño",
+ "Elisardojm"
+ ]
+ },
+ "validator-desc": "Biblioteca de procesamento de parámetros declarativos",
+ "validator-warning": "Atención: $1",
+ "validator-error": "Erro: $1",
+ "validator-fatal-error": "Erro fatal: $1",
+ "validator_error_parameters": "{{PLURAL:$1|Detectouse o seguinte erro|Detectáronse os seguintes erros}} na sintaxe empregada:",
+ "validator_warning_parameters": "Hai {{PLURAL:$1|un erro|erros}} na súa sintaxe.",
+ "validator-warning-adittional-errors": "... e {{PLURAL:$1|un problema máis|moitos máis problemas}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Omitiuse o valor \"$1\"|Omitíronse os valores \"$1\"}}.",
+ "validator-error-problem": "Houbo un problema co parámetro $1.",
+ "validator_error_unknown_argument": "\"$1\" non é un parámetro válido.",
+ "validator_error_required_missing": "Non se proporcionou o parámetro obrigatorio \"$1\".",
+ "validator-error-override-argument": "Intentouse sobrescribir o parámetro $1 (valor: $2) co valor \"$3\"",
+ "validator-type-string": "texto",
+ "validator-type-integer": "número enteiro",
+ "validator-type-float": "número",
+ "validator-type-boolean": "si/non",
+ "validator-type-char": "carácter",
+ "validator-type-dimension": "número e unidade de dimensión",
+ "validator-type-title": "título",
+ "validator-type-string-list": "lista de textos",
+ "validator-type-integer-list": "lista de números enteiros",
+ "validator-type-float-list": "lista de números",
+ "validator-type-boolean-list": "lista de si/non",
+ "validator-type-char-list": "lista de caracteres",
+ "validator-type-title-list": "lista de títulos",
+ "validator-listerrors-errors": "Erros",
+ "validator-listerrors-minor": "Menor",
+ "validator-listerrors-low": "Baixo",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Alto",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-listerrors-description": "Lista os erros (e avisos) que ocorreron no asociador do analizador engadidos a través do Validator.\nSó aparecerán nas listas para os asociadores do analizador que estean colocados enriba de listerrors;\ncoloque listerrors na parte inferior da páxina para obter todos os erros.",
+ "validator-listerrors-par-minseverity": "A severidade mínima dun problema para que apareza na lista.",
+ "validator-describe-description": "Xera a documentación para un ou máis asociadores do analizador definidos a través do Validator.",
+ "validator-describe-notfound": "Non hai ningún asociador do analizador que manexe \"$1\".",
+ "validator-describe-descriptionmsg": "'''Descrición:''' $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alcume|Alcumes}}:''' $1",
+ "validator-describe-parserfunction": "Implementado só como función analítica.",
+ "validator-describe-tagextension": "Implementado só como etiqueta de extensión.",
+ "validator-describe-bothhooks": "Implementado como función analítica e como etiqueta de extensión.",
+ "validator-describe-par-hooks": "O analizador de asociadores para o que mostrar a documentación.",
+ "validator-describe-par-pre": "Permite obter o texto wiki para a documentación, sen que sexa renderizado na páxina.",
+ "validator-describe-par-language": "A lingua na que mostrar as descricións",
+ "validator-describe-listtype": "Lista de $1 elementos",
+ "validator-describe-empty": "baleiro",
+ "validator-describe-required": "obrigatorio",
+ "validator-describe-header-parameter": "Parámetro",
+ "validator-describe-header-aliases": "Pseudónimos",
+ "validator-describe-header-type": "Tipo",
+ "validator-describe-header-default": "Por defecto",
+ "validator-describe-header-description": "Descrición",
+ "validator-describe-parameters": "Parámetros",
+ "validator-describe-syntax": "Sintaxe",
+ "validator-describe-tagmin": "Etiqueta de extensión cos únicos parámetros obrigatorios.",
+ "validator-describe-tagmax": "Etiqueta de extensión con todos os parámetros.",
+ "validator-describe-tagdefault": "Etiqueta de extensión con todos os parámetros, empregando a notación por defecto dos parámetros.",
+ "validator-describe-pfmin": "Función analítica cos únicos parámetros obrigatorios.",
+ "validator-describe-pfmax": "Función analítica con todos os parámetros.",
+ "validator-describe-pfdefault": "Función analítica con todos os parámetros, empregando a notación por defecto dos parámetros.",
+ "validator-describe-autogen": "O contido desta sección foi xerado automaticamente polo analizador do asociador \"describir\" da extensión Validator.",
+ "validator_error_empty_argument": "O parámetro \"$1\" non pode ter un valor baleiro.",
+ "validator_error_must_be_number": "O parámetro \"$1\" só pode ser un número.",
+ "validator_error_must_be_integer": "O parámetro \"$1\" só pode ser un número enteiro.",
+ "validator_error_must_be_title": "O parámetro \"$1\" só pode ser o nome válido para unha páxina do wiki.",
+ "validator_error_must_be_existing_title": "O parámetro \"$1\" só pode ser o nome dunha páxina do wiki que exista.",
+ "validator-error-must-be-float": "O parámetro \"$1\" só pode ser un número de coma flotante.",
+ "validator_error_invalid_range": "O parámetro \"$1\" debe estar entre $2 e $3.",
+ "validator-error-invalid-regex": "O parámetro \"$1\" debe coincidir con esta expresión regular: $2.",
+ "validator-error-invalid-length": "O parámetro \"$1\" debe ter unha lonxitude de $2.",
+ "validator-error-invalid-length-range": "O parámetro \"$1\" ter unha lonxitude de entre $2 e $3.",
+ "validator_error_invalid_argument": "O valor \"$1\" non é válido para o parámetro \"$2\".",
+ "validator_list_error_empty_argument": "O parámetro \"$1\" non acepta valores en branco.",
+ "validator_list_error_must_be_number": "O parámetro \"$1\" só pode conter números.",
+ "validator_list_error_must_be_integer": "O parámetro \"$1\" só pode conter números enteiros.",
+ "validator_list_error_must_be_title": "O parámetro \"$1\" só pode conter nomes válidos para páxinas do wiki.",
+ "validator_list_error_must_be_existing_title": "O parámetro \"$1\" só pode conter nomes de páxinas do wiki que existan.",
+ "validator-list-error-must-be-float": "O parámetro \"$1\" só pode conter comas flotantes.",
+ "validator_list_error_invalid_range": "Todos os valores do parámetro \"$1\" deben estar comprendidos entre $2 e $3.",
+ "validator-list-error-invalid-regex": "Todos os valores do parámetro \"$1\" deben coincidir con esta expresión regular: $2.",
+ "validator_list_error_invalid_argument": "Un ou varios valores do parámetro \"$1\" non son válidos.",
+ "validator-list-error-accepts-only": "Un ou varios valores do parámetro \"$1\" non son válidos. Só acepta {{PLURAL:$3|este valor|estes valores}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Un ou varios valores do parámetro \"$1\" non son válidos. Só acepta {{PLURAL:$3|este valor|estes valores}}: $2 (e $4 {{PLURAL:$4|valor omitido|valores omitidos}}).",
+ "validator_error_accepts_only": "O valor \"$4\" non é válido para o parámetro \"$1\". Só acepta {{PLURAL:$3|este valor|estes valores}}: $2.",
+ "validator-error-accepts-only-omitted": "O valor \"$2\" non é válido para o parámetro \"$1\". Só acepta {{PLURAL:$5|este valor|estes valores}}: $3 (e $4 {{PLURAL:$4|valor omitido|valores omitidos}}).",
+ "validator_list_omitted": "{{PLURAL:$2|O valor|Os valores}} \"$1\" {{PLURAL:$2|foi omitido|foron omitidos}}.",
+ "validator-message-nodesc": "Non se achegou descrición ningunha"
+}
diff --git a/www/wiki/extensions/Validator/i18n/gsw.json b/www/wiki/extensions/Validator/i18n/gsw.json
new file mode 100644
index 00000000..810de37f
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/gsw.json
@@ -0,0 +1,81 @@
+{
+ "@metadata": {
+ "authors": [
+ "Als-Chlämens",
+ "Als-Holder"
+ ]
+ },
+ "validator-desc": "Validator stellt e eifachi Form z Verfiegig fir anderi Erwyterige go Parameter validiere vu Parser- un Tag-Funktione, go Standardwärt definiere un Fählermäldige generiere",
+ "validator-warning": "Warnig: $1",
+ "validator-error": "Fähler: $1",
+ "validator-fatal-error": "Fähler, wu nit cha behobe wäre: $1",
+ "validator_error_parameters": "{{PLURAL:$1|Dää Fähler isch|Die Fähler sin}} in Dyyre Syntax gfunde wore:",
+ "validator_warning_parameters": "S het {{PLURAL:$1|e Fähler|Fähler}} in dyyre Syntax.",
+ "validator-warning-adittional-errors": "... un {{PLURAL:$1|e ander Probläm|$1 anderi Probläm}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Dr Wärt|D Wärt}} „$1“ {{PLURAL:$2|isch|sin}} uusgloo wore.",
+ "validator-error-problem": "S het e Probläm gee mit em Parameter $1.",
+ "validator_error_unknown_argument": "$1 isch kei giltige Parameter.",
+ "validator_error_required_missing": "Dr Paramter $1, wu aagforderet woren isch, wird nit z Verfiegig gstellt.",
+ "validator-error-override-argument": "S isch versuecht wore, dr Parameter $1 (Wärt: $2) mit em Wärt „$3“ z iberschryybe",
+ "validator-type-string": "Täxt",
+ "validator-type-integer": "Ganzzahl",
+ "validator-type-float": "Zahl",
+ "validator-type-boolean": "Jo/Nei",
+ "validator-type-char": "Zeiche",
+ "validator-listerrors-errors": "Fähler",
+ "validator-listerrors-minor": "Gring",
+ "validator-listerrors-low": "Chlei",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Groß",
+ "validator-listerrors-fatal": "Schwär",
+ "validator-listerrors-description": "Zeigt Fähler un Warnigen aa, wu ufträtte sin bi dr Parserhook, wu iber d Erwyterig Validator gnutzt wäre.\nZeigt nume d Parserhook aa, wu iber em Elemänt „listerrors“ yygfiegt wore sin.\n„Listerrors“ sott wäge däm am oder gege Änd vu dr Syte yygfiegt wäre, ass alli Fähler un Warnigen aazeigt wäre.",
+ "validator-listerrors-par-minseverity": "Dr Mindeschtschwärigrad vun eme Probläm, ass es aazeigt wird.",
+ "validator-describe-description": "Generiert d Dokumentation fir ein oder mehreri Parserhook, wu mit dr Erwyterig Validator definiert wore sin.",
+ "validator-describe-notfound": "S git kei Parserhook, wu „$1“ verarbeitet.",
+ "validator-describe-descriptionmsg": "'''Bschrybig:''' $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliasse}}:''' $1",
+ "validator-describe-parserfunction": "Numen as Parserfunktion implementiert.",
+ "validator-describe-tagextension": "Numen as Elementerweiteryg implementiert.",
+ "validator-describe-bothhooks": "As Parserfunktion un au as Elementerwyterig implementiert.",
+ "validator-describe-par-hooks": "D Parserhook, wu d Dokumentation derfir soll aazeigt wäre.",
+ "validator-describe-par-pre": "Macht d Uusgab vu dr Dokumentation in Wikitext megli ohni ass dää bi dr Darstellig vu dr Syte gnutzt wird.",
+ "validator-describe-par-language": "D Sprooch, wo d Beschrybe drin aazeigt worde sölle",
+ "validator-describe-listtype": "Lischt vu $1 {{PLURAL:$1|Element|Element}}",
+ "validator-describe-empty": "läär",
+ "validator-describe-required": "erforderlig",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Aliasse",
+ "validator-describe-header-type": "Typ",
+ "validator-describe-header-default": "Standard",
+ "validator-describe-header-description": "Bschrybig",
+ "validator-describe-parameters": "Parameter",
+ "validator-describe-syntax": "Syntax",
+ "validator-describe-tagmin": "Elementerwyterig, nume mit dr erforderlige Parameter.",
+ "validator-describe-tagmax": "Elementerwyterig mit allne Parameter.",
+ "validator-describe-tagdefault": "Elementerwyterig mit allne Parameter, wu d Standardnotation fir Parameter nutze.",
+ "validator-describe-pfmin": "Parserfunktion, nume mit dr erforderlige Parameter.",
+ "validator-describe-pfmax": "Parserfunktion mit allne Parameter.",
+ "validator-describe-pfdefault": "Parserfunktion mit allne Parameter, wu d Standardnotation fir Parameter nutze.",
+ "validator-describe-autogen": "Dr Inhalt vu däm Abschnitt isch automatisch dur dr Parserhook „describe“ vu dr Erwyterig Validator generiert wore.",
+ "validator_error_empty_argument": "Dr Parameter $1 cha kei lääre Wärt haa.",
+ "validator_error_must_be_number": "Dr Parameter $1 cha nume ne Zahl syy.",
+ "validator_error_must_be_integer": "Parameter $1 cha nume ne giltigi Zahl syy.",
+ "validator-error-must-be-float": "Parameter $1 cha nume ne Gleitkommazahl syy.",
+ "validator_error_invalid_range": "Dr Parameter $1 muess zwische $2 un $3 syy.",
+ "validator-error-invalid-regex": "Parameter $1 mueß däm reguläre Uusdruck entspräche: $2.",
+ "validator-error-invalid-length": "Parameter $1 mueß e Lengi haa vu $2.",
+ "validator-error-invalid-length-range": "Parameter $1 mueß e Lengi haa zwische $2 un $3.",
+ "validator_error_invalid_argument": "Dr Wärt $1 isch nit giltig fir dr Parameter $2.",
+ "validator_list_error_empty_argument": "Bim Parameter $1 sin keini lääre Wärt zuegloo.",
+ "validator_list_error_must_be_number": "Fir dr Parameter $1 si nume Zahle zuegloo.",
+ "validator_list_error_must_be_integer": "Fir dr Parameter $1 sin nume ganzi Zahle zuegloo.",
+ "validator-list-error-must-be-float": "Im Parameter $1 cha s nume Gleitkommazahle haa.",
+ "validator_list_error_invalid_range": "Alli Wärt fir dr Parameter $1 mien zwische $2 un $3 lige.",
+ "validator-list-error-invalid-regex": "Alli Wärt vum Parameter $1 mien däm reguläre Uusdruck entspräche: $2.",
+ "validator_list_error_invalid_argument": "Ein oder mehreri Wärt fir dr Parameter $1 sin nit giltig.",
+ "validator-list-error-accepts-only": "Ein oder meh Wärt fir dr Parameter $1 sin nit giltig.\nNume {{PLURAL:$3|dää Wärt wird|die Wärt wäre}} akzeptiert: $2.",
+ "validator-list-error-accepts-only-omitted": "Ein oder meh Wärt fir dr Parameter $1 sin nit giltig.\nNume {{PLURAL:$3|dää Wärt wird|die Wärt wäre}} akzeptiert: $2 (un $4 uusglosseni {{PLURAL:$4|Wärt|Wärt}}).",
+ "validator_error_accepts_only": "Dr Wärt „$4“ isch nit giltig fir dr Parameter $1. Nume {{PLURAL:$3|dää Wärt wird|die Wärt wäre}} akzeptiert: „$2“.",
+ "validator-error-accepts-only-omitted": "Dr Wärt „$2“ isch nit giltig fir dr Parameter $1.\nNume {{PLURAL:$5|dää Wärt wird|die Wärt wäre}} akzeptiert: $3 (un $4 uusglosseni {{PLURAL:$4|Wärt|Wärt}}).",
+ "validator_list_omitted": "{{PLURAL:$2|Dr Wärt|D Wärt}} $1 {{PLURAL:$2|isch|sin}} uusgloo wore."
+}
diff --git a/www/wiki/extensions/Validator/i18n/he.json b/www/wiki/extensions/Validator/i18n/he.json
new file mode 100644
index 00000000..90eba7f2
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/he.json
@@ -0,0 +1,98 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "Inkbug",
+ "Rotemliss",
+ "YaronSh",
+ "IKhitron",
+ "Guycn2"
+ ]
+ },
+ "validator-desc": "ספריית עיבוד פרמטרים הצהרתי",
+ "validator-warning": "אזהרה: $1",
+ "validator-error": "שגיאה: $1",
+ "validator-fatal-error": "שגיאה חמורה: $1",
+ "validator_error_parameters": "{{PLURAL:$1|השגיאה הבאה נמצאה|השגיאות הבאות נמצאו}} בתחביר:",
+ "validator_warning_parameters": "{{PLURAL:$1|ישנה שגיאה|ישנן שגיאות}} בתחביר שלכם.",
+ "validator-warning-adittional-errors": "... ועוד {{PLURAL:$1|בעיה אחת|מספר בעיות}}.",
+ "validator-error-omitted": "{{PLURAL:$2|הערך|הערכים}} \"$1\" {{PLURAL:$2|הושמט|הושמטו}}.",
+ "validator-error-problem": "הייתה בעיה עם הפרמטר $1.",
+ "validator_error_unknown_argument": "$1 אינו פרמטר תקני.",
+ "validator_error_required_missing": "הפרמטר הדרוש $1 לא צוין.",
+ "validator-error-override-argument": "ניסיון לעקוף את הפרמטר $1 (ערך: $2) ולהציב את הערך \"$3\"",
+ "validator-type-string": "טקסט",
+ "validator-type-integer": "מספר שלם",
+ "validator-type-float": "מספר",
+ "validator-type-boolean": "כן או לא",
+ "validator-type-char": "תו",
+ "validator-type-dimension": "מספר ויחידה ממדית",
+ "validator-type-title": "כותרת",
+ "validator-type-string-list": "רשימת טקסטים",
+ "validator-type-integer-list": "רשימת מספרים שלמים",
+ "validator-type-float-list": "רשימת מספרים",
+ "validator-type-boolean-list": "רשימת כן/לא",
+ "validator-type-char-list": "רשימת תווים",
+ "validator-type-title-list": "רשימת כותרות",
+ "validator-listerrors-errors": "שגיאות",
+ "validator-listerrors-minor": "משנית",
+ "validator-listerrors-low": "נמוכה",
+ "validator-listerrors-normal": "רגילה",
+ "validator-listerrors-high": "גבוהה",
+ "validator-listerrors-fatal": "חמורה",
+ "validator-listerrors-description": "מכין רשימת של שגיאות ואזהרות שהתרחשו במילות הפעלה של מפענח שנוספו דרך Validator.\nרק רשימות עבור מילות הפעלה של מפענח מעל listerrors;\nיש לשים את listerrors בתחתית העמוד או קרוב אליה כדי לקבל את כל השגיאות.",
+ "validator-listerrors-par-minseverity": "יש להזין את רמת החומרה המזערית.",
+ "validator-describe-description": "מחולל תיעוד עבור מילות הפעלה במפענח שמוגדרות דרך Validator.",
+ "validator-describe-notfound": "\"$1\" אינו מטופל על־ידי שום מילת הפעלה במפענח.",
+ "validator-describe-descriptionmsg": "'''תיאור''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|כינוי|כינויים}}''': $1",
+ "validator-describe-parserfunction": "מיושם רק בתור פונקציית מפענח.",
+ "validator-describe-tagextension": "מיושם רק בתור הרחבת תג.",
+ "validator-describe-bothhooks": "מיושם הן בתור פונקציית מפענח והן בתור הרחבת תג.",
+ "validator-describe-par-hooks": "מילות הפעלה של מפענח שעבורן יש להציג תיעוד.",
+ "validator-describe-par-pre": "מאפשר לייצר את קוד הוויקי עבור התיעוד מבלי להציג אותו על הדף.",
+ "validator-describe-par-language": "באיזו שפה להציג את התיאורים",
+ "validator-describe-listtype": "רשימה של פריטים מסוג \"$1\"",
+ "validator-describe-empty": "ריק",
+ "validator-describe-required": "נדרש",
+ "validator-describe-header-parameter": "פרמטר",
+ "validator-describe-header-aliases": "כינויים",
+ "validator-describe-header-type": "סוג",
+ "validator-describe-header-default": "בררת המחדל",
+ "validator-describe-header-description": "תיאור",
+ "validator-describe-parameters": "פרמטרים",
+ "validator-describe-syntax": "תחביר",
+ "validator-describe-tagmin": "הרחבת תג רק עם הפרמטרים הדרושים.",
+ "validator-describe-tagmax": "הרחבת תג עם כל הפרמטרים.",
+ "validator-describe-tagdefault": "הרחבת תג עם כל הפרמטרים עם ציון פרמטרים בבררת מחדל.",
+ "validator-describe-pfmin": "פונקציית מפענח רק עם הפרמטרים הדרושים.",
+ "validator-describe-pfmax": "פונקציית מפענח עם כל הפרמטרים.",
+ "validator-describe-pfdefault": "פונקציית מפענח שבה כל הפרמטרים משתמשים בציון פרמטרים בבררת מחדל.",
+ "validator-describe-autogen": "תוכן החלק הזה חולל באופן אוטומטי באמצעות מילת ההפעלה \"descrbibe\" של ההרחבה Validator.",
+ "validator_error_empty_argument": "הפרמטר $1 לא יכול להיות ערך ריק.",
+ "validator_error_must_be_number": "הפרמטר $1 יכול להיות מספר בלבד.",
+ "validator_error_must_be_integer": "הפרמטר $1 יכול להיות מספר שלם בלבד.",
+ "validator_error_must_be_title": "פרמטר $1 יכול להיות רק שם תקין של דף ויקי.",
+ "validator_error_must_be_existing_title": "פרמטר $1 יכול להיות רק שם של דף ויקי קיים.",
+ "validator-error-must-be-float": "הפרמטר $1 יכול להיות רק מספר עם נקודה צפה.",
+ "validator_error_invalid_range": "הפרמטר $1 חייב להיות בין $2 ל־$3.",
+ "validator-error-invalid-regex": "פרמטר $1 חייב להתאים לביטוי הרגולרי הבא: $2.",
+ "validator-error-invalid-length": "אורך פרמטר $1 חייב להיות $2.",
+ "validator-error-invalid-length-range": "אורך פרמטר $1 חייב להיות בין $2 לבין $3.",
+ "validator_error_invalid_argument": "הערך $1 אינו תקני עבור הפרמטר $2.",
+ "validator_list_error_empty_argument": "פרמטר $1 אינו יכול להיות ריק.",
+ "validator_list_error_must_be_number": "פרמטר $1 יכול להכיל רק מספרים.",
+ "validator_list_error_must_be_integer": "פרמטר $1 יכול להכיל רק מספרים שלמים.",
+ "validator_list_error_must_be_title": "פרמטר $1 יכול להכיל רק שמות של דפי ויקי תקינים.",
+ "validator_list_error_must_be_existing_title": "פרמטר $1 יכול להכיל רק שמות של דפי ויקי קיימים.",
+ "validator-list-error-must-be-float": "פרמטר $1 יכול להכיל רק מספר עם נקודה צפה.",
+ "validator_list_error_invalid_range": "כל הערכים של הפרמטר $1 צריכים להיות בין $2 לבין $3.",
+ "validator-list-error-invalid-regex": "כל הערכים של הפרמטר $1 צריכים להתאים לביטוי הרגולרי הבא: $2.",
+ "validator_list_error_invalid_argument": "ערך בלתי־חוקי אחד או יותר עבור הפרמטר $1.",
+ "validator-list-error-accepts-only": "ערך בלתי־חוקי אחד או יותר עבור הפרמטר $1. הוא מקבל רק את {{PLURAL:$3|הערך הזה|הערכים האלה}}: $2.",
+ "validator-list-error-accepts-only-omitted": "ערכים לא תקינים הוזנו לפרמטר \"$1\". הוא יכול לקבל רק את {{PLURAL:$3|הערך הבא|הערכים הבאים}}: $2 (וכן {{PLURAL:$4|ערך מושמט אחד|$4 ערכים מושמטים}}).",
+ "validator_error_accepts_only": "הערך \"$4\" אינו תקין עבור הפרמטר $1. הוא מקבל רק את {{PLURAL:$3|הערך הבא|הערכים הבאים}}: $2.",
+ "validator-error-accepts-only-omitted": "הערך \"$2\" אינו תקין עבור הפרמטר $1. הוא יכול לקבל רק את {{PLURAL:$5|הערך הבא|הערכים הבאים}}: $3 (וכן {{PLURAL:$4|ערך מושמט אחד|$4 ערכים מושמטים}}).",
+ "validator_list_omitted": "{{PLURAL:$2|הערך|הערכים}} $1 {{PLURAL:$2|הושמט|הושמטו}}.",
+ "validator-message-nodesc": "ללא תיאור"
+}
diff --git a/www/wiki/extensions/Validator/i18n/hsb.json b/www/wiki/extensions/Validator/i18n/hsb.json
new file mode 100644
index 00000000..ee093682
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/hsb.json
@@ -0,0 +1,92 @@
+{
+ "@metadata": {
+ "authors": [
+ "Michawiki"
+ ]
+ },
+ "validator-desc": "Deklaratiwna biblioteka za předźěłowanje parametrow",
+ "validator-warning": "Warnowanje: $1",
+ "validator-error": "Zmylk: $1",
+ "validator-fatal-error": "Chutny zmylk: $1",
+ "validator_error_parameters": "{{PLURAL:$1|Slědowacy zmylk bu|Slědowacej zmylkaj buštej|Slědowace zmylki buchu|Slědowace zmylki buchu}} w twojej syntaksy {{PLURAL:$1|wotkryty|wotkrytej|wotkryte|wotkryte}}:",
+ "validator_warning_parameters": "{{PLURAL:$1|Je zmylk|Stej zmylkaj|Su zmylki|Su zmylki}} w twojej syntaksy.",
+ "validator-warning-adittional-errors": "... a {{PLURAL:$1|dalši problem|dalšej problemaj|dalše problemy|dalše problemy}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Hódnota \"$1\" je so wuwostajena|Hódnoće \"$1\" stej so wuwostajenej|Hódnoty \"$1\" su so wuwostajene|Hódnoty \"$1\" su so wuwostajene}}.",
+ "validator-error-problem": "Bě problem z parametrom $1.",
+ "validator_error_unknown_argument": "$1 płaćiwy parameter njeje.",
+ "validator_error_required_missing": "Trěbny parameter $1 njeje podaty.",
+ "validator-error-override-argument": "Spyta so parameter $1 (hódnota: $2) přez \"$3\" přepisować",
+ "validator-type-string": "tekst",
+ "validator-type-integer": "cyła ličba",
+ "validator-type-float": "ličba",
+ "validator-type-boolean": "haj/ně",
+ "validator-type-char": "znamješko",
+ "validator-type-title": "titul",
+ "validator-type-string-list": "tekstowa lisćina",
+ "validator-type-integer-list": "lisćina cyłych ličbow",
+ "validator-type-float-list": "lisćina ličbow",
+ "validator-type-boolean-list": "lisćina haj-ně",
+ "validator-type-char-list": "znamješka nalistować",
+ "validator-type-title-list": "lisćina titulow",
+ "validator-listerrors-errors": "Zmylki",
+ "validator-listerrors-minor": "Snadny",
+ "validator-listerrors-low": "Niski",
+ "validator-listerrors-normal": "Normalny",
+ "validator-listerrors-high": "Wysoki",
+ "validator-listerrors-fatal": "Chutny",
+ "validator-listerrors-description": "Nalistuje zmylki (a warnowanja), kotrež su w parserowych hóčkach wustupili, kotrež su so přez Validator přidali.\nListuje jenož parserowe hóčki, kotrež bu wyše \"listerror\" zasunjene;\nstaj \"listerrors\" deleka na stronje abo blisko kónca strony, zo by wšě zmylki widźał.",
+ "validator-listerrors-par-minseverity": "Minimalna ćežkosć problema, zo by so zwobraznił.",
+ "validator-describe-description": "Płodźi dokumentaciju za jednu parserowu hóčku abo wjacore parserowe hóčki přez Validator.",
+ "validator-describe-notfound": "Njeje parserowa hóčka, kotraž \"$1\" wobdźěłuje.",
+ "validator-describe-descriptionmsg": "'''Wopisanje''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliasaj|Aliasy|Aliasow}}''': $1",
+ "validator-describe-parserfunction": "Jenož jako parserowa funkcija implementowany.",
+ "validator-describe-tagextension": "Jenož jako elementowe rozšěrjenje implementowany.",
+ "validator-describe-bothhooks": "Jako parserowa funkcija kaž tež jako elementowe rozšěrjenje implementowany.",
+ "validator-describe-par-hooks": "Parserowe hóčki, za kotrež ma so dokumentacija zwobraznić.",
+ "validator-describe-par-pre": "Zmóžnja woprawdźity wikitekst za dokumentaciju wobstarać, bjez toho zo so na stronje rysował.",
+ "validator-describe-par-language": "Rěč, w kotrejž wopisanje ma so zwobraznić",
+ "validator-describe-listtype": "Lisćina $1 {{PLURAL:$1|elementa|elementow|elementow|elementow}}",
+ "validator-describe-empty": "prózdny",
+ "validator-describe-required": "trěbny",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Aliasy",
+ "validator-describe-header-type": "Typ",
+ "validator-describe-header-default": "Standard",
+ "validator-describe-header-description": "Wopisanje",
+ "validator-describe-parameters": "Parametry",
+ "validator-describe-syntax": "Syntaksa",
+ "validator-describe-tagmin": "Elementowe rozšěrjenje jenož z trěbnymi parametrami.",
+ "validator-describe-tagmax": "Elementowe rozšěrjenje ze wšěmi parametrami.",
+ "validator-describe-tagdefault": "Elementowe rozšěrjenje ze wšěmi parametrami, kotrež standardnu notaciju za parametry wužiwaja.",
+ "validator-describe-pfmin": "Parserowa funkcija jenož z trěbnymi parametrami.",
+ "validator-describe-pfmax": "Parserowa funkcija ze wšěmi parametrami.",
+ "validator-describe-pfdefault": "Parserowa funkcija ze wšěmi parametrami, kotrež standardnu notaciju za parametry wužiwaja.",
+ "validator-describe-autogen": "Wobsah tutoho wotrězka je so přez parserowu hóčku rozšěrjenja Validator awtomatisce spłodźił.",
+ "validator_error_empty_argument": "Parameter $1 njemóže prózdnu hódnotu měć.",
+ "validator_error_must_be_number": "Parameter $1 móže jenož ličba być.",
+ "validator_error_must_be_integer": "Parameter $1 móže jenož cyła ličba być.",
+ "validator_error_must_be_title": "Parameter $1 móže jenož płaćiwe mjeno wikistrony być.",
+ "validator_error_must_be_existing_title": "Parameter $1 móže jenož ekistowace mjeno wikistrony być.",
+ "validator-error-must-be-float": "Parameter $1 móže jenož ličba z pohibliwej komu być.",
+ "validator_error_invalid_range": "Parameter $1 dyrbi mjez $2 a $3 być.",
+ "validator-error-invalid-regex": "Parameter $1 dyrbi tutomu regularnemu wurazej wotpowědować: $2",
+ "validator-error-invalid-length": "Parameter $1 dyrbi $2 dołhi być.",
+ "validator-error-invalid-length-range": "Parameter $1 dyrbi mjez $2 a $3 dołhi być.",
+ "validator_error_invalid_argument": "Hódnota $1 njeje płaćiwa za parameter $2.",
+ "validator_list_error_empty_argument": "Parameter $1 njeakceptuje prózdne hódnoty.",
+ "validator_list_error_must_be_number": "Parameter $1 móže jenož ličby wobsahować.",
+ "validator_list_error_must_be_integer": "Parameter $1 móže jenož cyłe ličby wobsahować.",
+ "validator_list_error_must_be_title": "Parameter $1 móže jenož płaćiwe mjena wikistronow wobsahować.",
+ "validator_list_error_must_be_existing_title": "Parameter $1 móže jenož eksistowace mjena wikistronow wobsahować.",
+ "validator-list-error-must-be-float": "Parameter $1 móže jenož ličby z pohibliwej komu wobsahować.",
+ "validator_list_error_invalid_range": "Wšě hódnoty parametra $1 dyrbja mjez $2 a $3 być.",
+ "validator-list-error-invalid-regex": "Wšě hódnoty parametra $1 dyrbja tutomu regularnemu wurazej wotpowědować: $2",
+ "validator_list_error_invalid_argument": "Jedna hódnota abo wjace hódnotow za parameter $1 su njepłaćiwe.",
+ "validator-list-error-accepts-only": "Jedna abo wjacore hódnoty za parameter $1 su njepłaćiwe. {{PLURAL:$3|Akceptuje|Akceptujetej|Akceptuja|Akceptuja}} so jenož {{PLURAL:$3|tuta hódnota|tutej hódnoće|tute hódnoty|tute hódnoty}}: $2",
+ "validator-list-error-accepts-only-omitted": "Jedna abo wjacore hódnoty za parameter $1 su njepłaćiwe. {{PLURAL:$3|Akceptuje|Akceptujetej|Akceptuja|Akceptuja}} so jenož {{PLURAL:$3|tuta hódnota|tutej hódnoće|tute hódnoty|tute hódnoty}}: $2 (a $4 {{PLURAl:$4|wuwostajena hódnota|wuwostajenej hódnoće|wuwostajene hódnoty|wuwostajenych hódnotow}}).",
+ "validator_error_accepts_only": "Hódnota \"$4\" za parameter $1 płaćiwa njeje. Akceptuje jenož {{PLURAL:$3|tutu hódnotu|tutej hódnoće|tute hódnoty|tute hódnoty}}: $2.",
+ "validator-error-accepts-only-omitted": "Hódnota \"$2\" njeje płaćiwa za parameter $1. {{PLURAL:$5|Akceptuje|Akceptujetej|Akceptuja|Akceptuja}} so jenož {{PLURAL:$5|tuta hódnota|tutej hódnoće|tute hódnoty|tute hódnoty}}: $3 (a $4 {{PLURAl:$4|wuwostajena hódnota|wuwostajenej hódnoće|wuwostajene hódnoty|wuwostajenych hódnotow}}).",
+ "validator_list_omitted": "{{PLURAL:$2|Hódnota|Hódnoće|Hódnoty|Hódnoty}} $1 {{PLURAL:$2|je so wuwostajiła|stej so wuwostajiłoj|su so wuwostajili|su so wuwostajili}}.",
+ "validator-message-nodesc": "Žane wopisanje podate"
+}
diff --git a/www/wiki/extensions/Validator/i18n/hu.json b/www/wiki/extensions/Validator/i18n/hu.json
new file mode 100644
index 00000000..b9b97192
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/hu.json
@@ -0,0 +1,64 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dani",
+ "Glanthor Reviol",
+ "TK-999"
+ ]
+ },
+ "validator-desc": "Az érvényesség-ellenőrző egyszerű lehetőséget nyújt más kiterjesztéseknek az elemzőfüggvények és tagek paramétereinek ellenőrzésére, alapértelmezett értékek beállítására, valamint hibaüzenetek generálására.",
+ "validator-warning": "Figyelmeztetés: $1",
+ "validator-error": "Hiba: $1",
+ "validator-fatal-error": "Végzetes hiba: $1",
+ "validator_error_parameters": "A következő {{PLURAL:$1|hiba található|hibák találhatóak}} a szintaxisban:",
+ "validator_warning_parameters": "{{PLURAL:$1|Hiba van|Hibák vannak}} a szintaxisodban.",
+ "validator-warning-adittional-errors": "... és {{PLURAL:$1|egy|több}} további hiba.",
+ "validator-error-omitted": "A(z) \"$1\" {{PLURAL:$2|értéket|értékeket}} kihagyták.",
+ "validator-error-problem": "Probléma volt a(z) $1 paraméterrel.",
+ "validator_error_unknown_argument": "A(z) $1 nem érvényes paraméter.",
+ "validator_error_required_missing": "A(z) $1 kötelező paraméter nem lett megadva.",
+ "validator-error-override-argument": "Megkísérelte a(z) $1 paraméter (érték: $2) felülírását a(z) \"$3\" értékkel.",
+ "validator-type-string": "szöveg",
+ "validator-type-integer": "egész szám",
+ "validator-type-float": "szám",
+ "validator-type-boolean": "igen/nem",
+ "validator-type-char": "karakter",
+ "validator-type-title": "cím",
+ "validator-type-string-list": "szövegek listája",
+ "validator-type-integer-list": "egész számok listája",
+ "validator-type-float-list": "számok listája",
+ "validator-type-boolean-list": "igen/nem lista",
+ "validator-listerrors-errors": "Hibák",
+ "validator-listerrors-minor": "Apró",
+ "validator-listerrors-low": "Alacsony",
+ "validator-listerrors-normal": "Normális",
+ "validator-listerrors-high": "Komoly",
+ "validator-listerrors-fatal": "Végzetes",
+ "validator-describe-descriptionmsg": "'''Leírás''': $1",
+ "validator-describe-empty": "üres",
+ "validator-describe-required": "kötelező",
+ "validator-describe-header-parameter": "Paraméter",
+ "validator-describe-header-aliases": "Álnevek",
+ "validator-describe-header-type": "Típus",
+ "validator-describe-header-default": "Alapértelmezett",
+ "validator-describe-header-description": "Leírás",
+ "validator-describe-parameters": "Paraméterek",
+ "validator-describe-syntax": "Szintaxis",
+ "validator_error_empty_argument": "A(z) $1 paraméter értéke nem lehet üres.",
+ "validator_error_must_be_number": "A(z) $1 paraméter csak szám lehet.",
+ "validator_error_must_be_integer": "A(z) $1 paraméter csak egész szám lehet.",
+ "validator-error-must-be-float": "A(z) $1 paraméter csak lebegőpontos szám lehet.",
+ "validator_error_invalid_range": "A(z) $1 paraméter értékének $2 és $3 között kell lennie.",
+ "validator-error-invalid-regex": "A(z) $1 paraméternek illeszkednie kell a következő reguláris kifejezésre: $2.",
+ "validator-error-invalid-length": "A(z) $1 paraméternek legalább $2 karakter hosszúnak kell lennie.",
+ "validator-error-invalid-length-range": "A(z) $1 paraméternek $2 és $3 karakter közötti hosszúnak kell lennie.",
+ "validator_error_invalid_argument": "A(z) $1 érték nem érvényes a(z) $2 paraméterhez.",
+ "validator_list_error_empty_argument": "A(z) $1 paraméter nem fogad el üres értékeket.",
+ "validator_list_error_must_be_number": "A(z) $1 paraméter csak számokat tartalmazhat.",
+ "validator_list_error_must_be_integer": "A(z) $1 paraméter csak egész számokat tartalmazhat.",
+ "validator-list-error-must-be-float": "A(z) $1 paraméter csak lebegőpontos számokat tartalmazhat.",
+ "validator_list_error_invalid_range": "A(z) $1 paraméter összes értékének $2 és $3 közöttinek kell lennie.",
+ "validator_list_error_invalid_argument": "A(z) $1 paraméter egy vagy több értéke érvénytelen.",
+ "validator_error_accepts_only": "A(z) $1 paraméter csak a következő {{PLURAL:$3|értéket|értékeket}} fogadja el: $2",
+ "validator_list_omitted": "A(z) $1 {{PLURAL:$2|érték mellőzve lett.|értékek mellőzve lettek.}}"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ia.json b/www/wiki/extensions/Validator/i18n/ia.json
new file mode 100644
index 00000000..670ac9a5
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ia.json
@@ -0,0 +1,92 @@
+{
+ "@metadata": {
+ "authors": [
+ "McDutchie"
+ ]
+ },
+ "validator-desc": "Bibliotheca pro le tractamento de parametros declarative",
+ "validator-warning": "Aviso: $1",
+ "validator-error": "Error: $1",
+ "validator-fatal-error": "Error fatal: $1",
+ "validator_error_parameters": "Le sequente {{PLURAL:$1|error|errores}} ha essite detegite in tu syntaxe:",
+ "validator_warning_parameters": "Il ha {{PLURAL:$1|un error|errores}} in tu syntaxe.",
+ "validator-warning-adittional-errors": "... e {{PLURAL:$1|un altere problema|plure altere problemas}}.",
+ "validator-error-omitted": "Le {{PLURAL:$2|valor|valores}} \"$1\" ha essite omittite.",
+ "validator-error-problem": "Il habeva un problema con le parametro $1.",
+ "validator_error_unknown_argument": "$1 non es un parametro valide.",
+ "validator_error_required_missing": "Le parametro requisite $1 non ha essite fornite.",
+ "validator-error-override-argument": "Tentava supplantar le parametro $1 (valor: $2) con le valor \"$3\"",
+ "validator-type-string": "texto",
+ "validator-type-integer": "numero integre",
+ "validator-type-float": "numero",
+ "validator-type-boolean": "si/no",
+ "validator-type-char": "character",
+ "validator-type-title": "titulo",
+ "validator-type-string-list": "lista de textos",
+ "validator-type-integer-list": "lista de numeros integre",
+ "validator-type-float-list": "lista de numeros",
+ "validator-type-boolean-list": "lista de si/no",
+ "validator-type-char-list": "lista de characteres",
+ "validator-type-title-list": "lista de titulos",
+ "validator-listerrors-errors": "Errores",
+ "validator-listerrors-minor": "Minor",
+ "validator-listerrors-low": "Basse",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Alte",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-listerrors-description": "Lista errores (e advertimentos) que occurreva in uncinos analysator addite con Validator.\nIsto face listas solmente pro le uncinos analysator addite supra le loco ubi \"listerrors\" es inserite;\nmitte \"listerrors\" al fin del pagina, o proxime al fin, pro obtener tote le errores.",
+ "validator-listerrors-par-minseverity": "Le severitate minime de un problema pro esser listate.",
+ "validator-describe-description": "Genera documentation pro un o plus uncinos del analysator syntactic, definite via Validator.",
+ "validator-describe-notfound": "Non existe un uncino del analysator syntactic que manea \"$1\".",
+ "validator-describe-descriptionmsg": "'''Description''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliases}}''': $1",
+ "validator-describe-parserfunction": "Implementate solmente como function del analysator syntactic.",
+ "validator-describe-tagextension": "Implementate solmente como extension de etiquetta.",
+ "validator-describe-bothhooks": "Implementate como function del analysator syntactic e como extension de etiquetta.",
+ "validator-describe-par-hooks": "Le uncinos del analysator syntactic pro le quales presentar documentation.",
+ "validator-describe-par-pre": "Permitte obtener le ver wikitexto pro le documentation, sin render lo in le pagina.",
+ "validator-describe-par-language": "Le lingua in que presentar le descriptiones",
+ "validator-describe-listtype": "Lista de $1 elementos",
+ "validator-describe-empty": "vacue",
+ "validator-describe-required": "requirite",
+ "validator-describe-header-parameter": "Parametro",
+ "validator-describe-header-aliases": "Aliases",
+ "validator-describe-header-type": "Typo",
+ "validator-describe-header-default": "Predefinition",
+ "validator-describe-header-description": "Description",
+ "validator-describe-parameters": "Parametros",
+ "validator-describe-syntax": "Syntaxe",
+ "validator-describe-tagmin": "Extension de etiquetta con solmente le parametros obligatori.",
+ "validator-describe-tagmax": "Extension de etiquetta con tote le parametros.",
+ "validator-describe-tagdefault": "Extension de etiquetta con tote le parametros usante le notation predefinite de parametros.",
+ "validator-describe-pfmin": "Function analysator con solmente le parametros obligatori.",
+ "validator-describe-pfmax": "Function analysator con tote le parametros.",
+ "validator-describe-pfdefault": "Function analysator con tote le parametros usante le notation predefinite de parametros.",
+ "validator-describe-autogen": "Le contento de iste section esseva auto-generate per le uncino analysator \"describe\" del extension Validator.",
+ "validator_error_empty_argument": "Le parametro $1 non pote haber un valor vacue.",
+ "validator_error_must_be_number": "Le parametro $1 pote solmente esser un numero.",
+ "validator_error_must_be_integer": "Le parametro $1 pote solmente esser un numero integre.",
+ "validator_error_must_be_title": "Le parametro $1 pote solmente esser un nomine de pagina wiki valide.",
+ "validator_error_must_be_existing_title": "Le parametro $1 pote solmente esser un nomine de pagina wiki existente.",
+ "validator-error-must-be-float": "Le parametro $1 pote solmente esser un numero con fraction decimal.",
+ "validator_error_invalid_range": "Le parametro $1 debe esser inter $2 e $3.",
+ "validator-error-invalid-regex": "Le parametro $1 debe corresponder a iste expression regular: $2.",
+ "validator-error-invalid-length": "Le parametro $1 debe haber un longitude de $2.",
+ "validator-error-invalid-length-range": "Le parametro $1 debe haber un longitude inter $2 e $3.",
+ "validator_error_invalid_argument": "Le valor $1 non es valide pro le parametro $2.",
+ "validator_list_error_empty_argument": "Le parametro $1 non accepta valores vacue.",
+ "validator_list_error_must_be_number": "Le parametro $1 pote solmente continer numeros.",
+ "validator_list_error_must_be_integer": "Le parametro $1 pote solmente continer numeros integre.",
+ "validator_list_error_must_be_title": "Le parametro $1 pote solmente continer nomines de pagina wiki valide.",
+ "validator_list_error_must_be_existing_title": "Le parametro $1 pote solmente continer nomines de pagina wiki existente.",
+ "validator-list-error-must-be-float": "Le parametro $1 pote solmente continer numeros a comma flottante.",
+ "validator_list_error_invalid_range": "Tote le valores del parametro $1 debe esser inter $2 e $3.",
+ "validator-list-error-invalid-regex": "Tote le valores del parametro $1 debe corresponder a iste expression regular: $2.",
+ "validator_list_error_invalid_argument": "Un o plus valores pro le parametro $1 es invalide.",
+ "validator-list-error-accepts-only": "Un o plus valores del parametro $1 es invalide.\nIllo accepta solmente iste {{PLURAL:$3|valor|valores}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Un o plus valores del parametro $1 es invalide.\nIllo accepta solmente iste {{PLURAL:$3|valor|valores}}: $2. (e $4 {{PLURAL:$4|valor|valores}} omittite).",
+ "validator_error_accepts_only": "Le valor \"$4\" non es valide pro le parametro $1. Illo accepta solmente iste {{PLURAL:$3|valor|valores}}: $2.",
+ "validator-error-accepts-only-omitted": "Le valor \"$2\" non es valide pro le parametro $1.\nIllo accepta solmente iste {{PLURAL:$5|valor|valores}}: $3 (e $4 {{PLURAL:$4|valor|valores}} omittite).",
+ "validator_list_omitted": "Le {{PLURAL:$2|valor|valores}} $1 ha essite omittite.",
+ "validator-message-nodesc": "Sin description"
+}
diff --git a/www/wiki/extensions/Validator/i18n/id.json b/www/wiki/extensions/Validator/i18n/id.json
new file mode 100644
index 00000000..7d242067
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/id.json
@@ -0,0 +1,82 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bennylin",
+ "Farras",
+ "Irwangatot",
+ "IvanLanin"
+ ]
+ },
+ "validator-desc": "Validator memberikan cara mudah untuk ekstensi lain untuk memvalidasi parameter ParserFunction dan ekstensi tag, mengatur nilai biasa dan membuat pesan kesalahan",
+ "validator-warning": "Peringatan: $1",
+ "validator-error": "Kesalahan: $1",
+ "validator-fatal-error": "Kesalahan fatal: $1",
+ "validator_error_parameters": "{{PLURAL:$1|Kesalahan|Kesalahan}} berikut telah terdeteksi pada sintaks Anda:",
+ "validator_warning_parameters": "Terdapat {{PLURAL:$1|kesalahan|kesalahan}} pada sintaks Anda.",
+ "validator-warning-adittional-errors": "... dan {{PLURAL:$1|satu|banyak}} masalah lain.",
+ "validator-error-omitted": "Nilai {{PLURAL:$2|\"$1\"|\"$1\"}} telah diabaikan.",
+ "validator-error-problem": "Ada masalah dengan parameter $1.",
+ "validator_error_unknown_argument": "$1 bukan parameter yang benar.",
+ "validator_error_required_missing": "Parameter $1 yang diperlukan tidak diberikan.",
+ "validator-error-override-argument": "Mencoba menimpa parameter $1 (nilai: $2) dengan nilai \"$3\"",
+ "validator-type-string": "teks",
+ "validator-type-integer": "bilangan bulat",
+ "validator-type-float": "nomor",
+ "validator-type-boolean": "ya/tidak",
+ "validator-type-char": "karakter",
+ "validator-listerrors-errors": "Kesalahan",
+ "validator-listerrors-minor": "Kecil",
+ "validator-listerrors-low": "Rendah",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Tinggi",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-listerrors-description": "Daftar galat (dan peringatan) yang terjadi pada pengait parser yang ditambahkan melalui Validator.\nHanya daftar untuk pengait parser yang ditambahkan di atas bagian tempat listerrors disisipkan;\ntempatkan listerrors pada atau di dekat bagian bawah halaman untuk mendapatkan semua kesalahan.",
+ "validator-listerrors-par-minseverity": "Tingkat keparahan minimum masalah yang didaftarkan.",
+ "validator-describe-description": "Menghasilkan dokumentasi untuk satu atau beberapa pengait parser yang didefinisikan melalui Validator.",
+ "validator-describe-notfound": "Tidak ada pengait parser yang menangani \"$1\".",
+ "validator-describe-descriptionmsg": "'''Deskripsi''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Alias}}''': $1",
+ "validator-describe-parserfunction": "Diterapkan hanya sebagai fungsi parser.",
+ "validator-describe-tagextension": "Diterapkan hanya sebagai ekstensi tag.",
+ "validator-describe-bothhooks": "Diterapkan sebagai fungsi parser dan ekstensi tag.",
+ "validator-describe-par-hooks": "Pengait parser untuk menampilkan dokumentasi.",
+ "validator-describe-par-pre": "Memungkinkan Anda mengambil tekswiki aktual untuk dokumentasi, tanpa ditampilkan pada halaman.",
+ "validator-describe-listtype": "Daftar $1 butir",
+ "validator-describe-empty": "kosong",
+ "validator-describe-required": "wajib diisi",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Alias",
+ "validator-describe-header-type": "Jenis",
+ "validator-describe-header-default": "Bawaan",
+ "validator-describe-header-description": "Deskripsi",
+ "validator-describe-parameters": "Parameter",
+ "validator-describe-syntax": "Sintaksis",
+ "validator-describe-tagmin": "Ekstensi tag hanya dengan parameter wajib.",
+ "validator-describe-tagmax": "Ekstensi tag dengan semua parameter.",
+ "validator-describe-tagdefault": "Ekstensi tag dengan semua parameter menggunakan notasi parameter bawaan.",
+ "validator-describe-pfmin": "Fungsi parser hanya dengan parameter wajib.",
+ "validator-describe-pfmax": "Fungsi parser dengan semua parameter.",
+ "validator-describe-pfdefault": "Fungsi parser dengan semua parameter menggunakan notasi parameter bawaan.",
+ "validator-describe-autogen": "Isi bagian ini adalah dihasilkan otomatis oleh pengait parser \"describe\" dari ekstensi Validator.",
+ "validator_error_empty_argument": "Parameter $1 tidak dapat bernilai kosong.",
+ "validator_error_must_be_number": "Parameter $1 hanya dapat berupa angka.",
+ "validator_error_must_be_integer": "Parameter $1 hanya dapat berupa integer.",
+ "validator-error-must-be-float": "Parameter $1 hanya dapat berupa angka titik kambang.",
+ "validator_error_invalid_range": "Parameter $1 harus antara $2 dan $3.",
+ "validator-error-invalid-regex": "Parameter $1 harus sesuai dengan persamaan reguler: $2.",
+ "validator-error-invalid-length": "Parameter $1 harus memiliki panjang $2.",
+ "validator-error-invalid-length-range": "Parameter $1 harus memiliki panjang antara $2 dan $3.",
+ "validator_error_invalid_argument": "Nilai $1 tidak valid untuk parameter $2.",
+ "validator_list_error_empty_argument": "Parameter $1 tidak menerima nilai kosong.",
+ "validator_list_error_must_be_number": "Parameter $1 hanya dapat berisi angka.",
+ "validator_list_error_must_be_integer": "Parameter $1 hanya dapat berisi bilangan bulat.",
+ "validator-list-error-must-be-float": "Parameter $1 hanya dapat berisi angka kambang.",
+ "validator_list_error_invalid_range": "Semua nilai parameter $1 harus antara $2 dan $3.",
+ "validator-list-error-invalid-regex": "Semua nilai parameter $1 harus sesuai dengan persamaan reguler: $2.",
+ "validator_list_error_invalid_argument": "Satu nilai atau lebih untuk parameter $1 tidak sah.",
+ "validator-list-error-accepts-only": "Satu atau lebih nilai untuk parameter $1 tidak sah. Parameter itu hanya menerima {{PLURAL:$3|nilai berikut|nilai berikut}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Satu atau lebih nilai untuk parameter $1 tidak sah. Parameter itu hanya menerima {{PLURAL:$3|nilai berikut|nilai berikut}}: $2 (dan $4 {{PLURAL:$4|nilai|nilai}} yang diabaikan).",
+ "validator_error_accepts_only": "Nilai \"$4\" tidak sah untuk parameter $1. Nilai yang diterima hanyalah {{PLURAL:$3|nilai ini|nilai-nilai ini}}: $2.",
+ "validator-error-accepts-only-omitted": "Nilai \"$2\" tidak sah untuk parameter $1. Parameter itu hanya menerima {{PLURAL:$5|nilai berikut|nilai berikut}}: $3 (dan $4 {{PLURAL:$4|nilai|nilai}} yang diabaikan).",
+ "validator_list_omitted": "{{PLURAL:$2|Nilai|Nilai}} $1 {{PLURAL:$2|telah|telah}} dihapus."
+}
diff --git a/www/wiki/extensions/Validator/i18n/it.json b/www/wiki/extensions/Validator/i18n/it.json
new file mode 100644
index 00000000..323469f6
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/it.json
@@ -0,0 +1,95 @@
+{
+ "@metadata": {
+ "authors": [
+ "Beta16",
+ "Civvì",
+ "HalphaZ"
+ ]
+ },
+ "validator-desc": "Libreria per la dichiarazione dei parametri di elaborazione",
+ "validator-warning": "Attenzione: $1",
+ "validator-error": "Errore: $1",
+ "validator-fatal-error": "Errore fatale: $1",
+ "validator_error_parameters": "Nella tua sintassi {{PLURAL:$1|è stato individuato il seguente errore|sono stati individuati i seguenti errori}}:",
+ "validator_warning_parameters": "Nella tua sintassi {{PLURAL:$1|c'è un errore|ci sono errori}}.",
+ "validator-warning-adittional-errors": "... e {{PLURAL:$1|un altro problema|altri problemi}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Il valore \"$1\" è stato omesso|I valori \"$1\" sono stati omessi}}.",
+ "validator-error-problem": "C'era un problema con il parametro $1.",
+ "validator_error_unknown_argument": "$1 non è un parametro valido.",
+ "validator_error_required_missing": "Il parametro richiesto $1 non è stato fornito.",
+ "validator-error-override-argument": "Tentativo di sovrascrivere il parametro $1 (valore: $2) con il valore \"$3\"",
+ "validator-type-string": "testo",
+ "validator-type-integer": "numero intero",
+ "validator-type-float": "numero",
+ "validator-type-boolean": "sì/no",
+ "validator-type-char": "carattere",
+ "validator-type-dimension": "numero e unità di misura",
+ "validator-type-title": "titolo",
+ "validator-type-string-list": "elenco dei testi",
+ "validator-type-integer-list": "elenco di numeri interi",
+ "validator-type-float-list": "elenco dei numeri",
+ "validator-type-boolean-list": "elenco di sì/no",
+ "validator-type-char-list": "elenco dei caratteri",
+ "validator-type-title-list": "elenco dei titoli",
+ "validator-listerrors-errors": "Errori",
+ "validator-listerrors-minor": "Minore",
+ "validator-listerrors-low": "Bassa",
+ "validator-listerrors-normal": "Normale",
+ "validator-listerrors-high": "Alta",
+ "validator-listerrors-fatal": "Fatale",
+ "validator-listerrors-description": "Elenca gli errori (e gli avvisi) che si sono verificati negli hook del parser aggiunti tramite Validator.\nVengono elencati solo per gli hook del parser aggiunti sopra l'inserimento di listerrors;\nmetti listerrors alla fine o in prossimità della parte inferiore della pagina per ottenere tutti gli errori.",
+ "validator-listerrors-par-minseverity": "Il livello minimo di gravità di un problema per poter essere elencato.",
+ "validator-describe-description": "Genera la documentazione per uno o più hook del parser definito tramite Validator.",
+ "validator-describe-notfound": "Non c'è alcun hook del parser che gestisce \"$1\".",
+ "validator-describe-descriptionmsg": "'''Descrizione''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias}}''': $1",
+ "validator-describe-parserfunction": "Implementato solo come funzione parser.",
+ "validator-describe-tagextension": "Implementato solo come tag di estensione.",
+ "validator-describe-bothhooks": "Implementato come sia funzione parser che come tag di estensione.",
+ "validator-describe-par-hooks": "L'hook del parser di cui visualizzare la documentazione.",
+ "validator-describe-par-pre": "Consente di ottenere il wikitesto attuale per la documentazione, senza che sia stato effettuato il rendering della pagina.",
+ "validator-describe-par-language": "La lingua in cui visualizzare la descrizione",
+ "validator-describe-listtype": "Elenco di elementi di tipo $1",
+ "validator-describe-empty": "vuota",
+ "validator-describe-required": "obbligatorio",
+ "validator-describe-header-parameter": "Parametro",
+ "validator-describe-header-aliases": "Alias",
+ "validator-describe-header-type": "Tipo",
+ "validator-describe-header-default": "Predefinito",
+ "validator-describe-header-description": "Descrizione",
+ "validator-describe-parameters": "Parametri",
+ "validator-describe-syntax": "Sintassi",
+ "validator-describe-tagmin": "Ttag di estensione con solo i parametri obbligatori.",
+ "validator-describe-tagmax": "Ttag di estensione con tutti i parametri.",
+ "validator-describe-tagdefault": "Ttag di estensione con tutti i parametri utilizzando la notazione per i parametri predefinita.",
+ "validator-describe-pfmin": "Funzione parser con solo i parametri obbligatori.",
+ "validator-describe-pfmax": "Funzione parser con tutti i parametri.",
+ "validator-describe-pfdefault": "Funzione parser con tutti i parametri utilizzando la notazione per i parametri predefinita.",
+ "validator-describe-autogen": "Il contenuto di questa sezione è stata generata automaticamente dal hook del parser \"describe\" dell'estensione Validator.",
+ "validator_error_empty_argument": "Il parametro $1 non può avere un valore vuoto.",
+ "validator_error_must_be_number": "Il parametro $1 può essere solo un numero.",
+ "validator_error_must_be_integer": "Il parametro $1 può essere solo un intero.",
+ "validator_error_must_be_title": "Il parametro $1 può essere solo un nome valido di una pagina wiki.",
+ "validator_error_must_be_existing_title": "Il parametro $1 può essere solo un nome di una pagina wiki esistente.",
+ "validator-error-must-be-float": "Il parametro $1 può essere solo un numero decimale.",
+ "validator_error_invalid_range": "Il parametro $1 deve essere compreso tra $2 e $3.",
+ "validator-error-invalid-regex": "Il parametro $1 deve corrispondere a questa espressione regolare: $2.",
+ "validator-error-invalid-length": "Il parametro $1 deve avere una lunghezza di $2.",
+ "validator-error-invalid-length-range": "Il parametro $1 deve avere una lunghezza compresa tra $2 e $3.",
+ "validator_error_invalid_argument": "Il valore $1 non è valido per il parametro $2.",
+ "validator_list_error_empty_argument": "Il parametro $1 non accetta valori vuoti.",
+ "validator_list_error_must_be_number": "Il parametro $1 può contenere solo numeri.",
+ "validator_list_error_must_be_integer": "Il parametro $1 può contenere solo numeri interi.",
+ "validator_list_error_must_be_title": "Il parametro $1 può contenere solo un nome valido di una pagina wiki.",
+ "validator_list_error_must_be_existing_title": "Il parametro $1 può contenere solo un nome di una pagina wiki esistente.",
+ "validator-list-error-must-be-float": "Il parametro $1 può contenere solo numeri decimali.",
+ "validator_list_error_invalid_range": "Tutti i valori del parametro $1 devono essere compresi tra $2 e $3.",
+ "validator-list-error-invalid-regex": "Tutti i valori del parametro $1 devono corrispondere a questa espressione regolare: $2.",
+ "validator_list_error_invalid_argument": "Uno o più valori del parametro $1 non sono validi.",
+ "validator-list-error-accepts-only": "Uno o più valori del parametro $1 non sono validi. {{PLURAL:$3|Il valore accettato è|I valori accettati sono}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Uno o più valori del parametro $1 non sono validi. {{PLURAL:$3|Il valore accettato è|I valori accettati sono}}: $2 (e $4 {{PLURAL:$4|valore omesso|valori omessi}}).",
+ "validator_error_accepts_only": "Il valore \"$4\" non è valido per il parametro $1. Accetta solo {{PLURAL:$3|questo valore|questi valori}}: $2.",
+ "validator-error-accepts-only-omitted": "Il valore \"$2\" non è valido per il parametro $1. {{PLURAL:$5|Il valore accettato è|I valori accettati sono}}: $3 (e $4 {{PLURAL:$4|valore omesso|valori omessi}}).",
+ "validator_list_omitted": "{{PLURAL:$2|Il valore|I valori}} $1 {{PLURAL:$2|è stato omesso|sono stati omessi}}.",
+ "validator-message-nodesc": "Nessuna descrizione fornita"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ja.json b/www/wiki/extensions/Validator/i18n/ja.json
new file mode 100644
index 00000000..135ad822
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ja.json
@@ -0,0 +1,82 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aotake",
+ "Fryed-peach",
+ "Marine-Blue",
+ "Shirayuki",
+ "Whym",
+ "Yanajin66"
+ ]
+ },
+ "validator-desc": "宣言的引数処理ライブラリ",
+ "validator-warning": "警告: $1",
+ "validator-error": "エラー: $1",
+ "validator-fatal-error": "致命的なエラー: $1",
+ "validator_error_parameters": "以下の構文{{PLURAL:$1|エラー}}を検出しました:",
+ "validator_warning_parameters": "構文{{PLURAL:$1|エラー}}があります。",
+ "validator-warning-adittional-errors": "...と{{PLURAL:$1|​&#32;1 件の問題点|複数の問題点}}。",
+ "validator-error-omitted": "{{PLURAL:$2|値「$1」}}を省略しました。",
+ "validator-error-problem": "引数 $1 に問題点がありました。",
+ "validator_error_unknown_argument": "$1 は有効な引数ではありません。",
+ "validator_error_required_missing": "必須の引数「$1」が指定されていません。",
+ "validator-error-override-argument": "引数 $1 (値: $2) を値「$3」で上書きしようとしました",
+ "validator-type-string": "テキスト",
+ "validator-type-float": "数値",
+ "validator-type-boolean": "はい/いいえ",
+ "validator-type-char": "文字",
+ "validator-type-title": "ページ名",
+ "validator-listerrors-errors": "エラー",
+ "validator-listerrors-minor": "非常に軽度",
+ "validator-listerrors-low": "軽度",
+ "validator-listerrors-normal": "普通",
+ "validator-listerrors-high": "重大",
+ "validator-listerrors-fatal": "非常に重大",
+ "validator-describe-notfound": "「$1」を処理できるパーサーフックはありません。",
+ "validator-describe-descriptionmsg": "'''説明''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|別名}}''': $1",
+ "validator-describe-parserfunction": "パーサー関数としてのみ実装されています。",
+ "validator-describe-tagextension": "タグ拡張機能としてのみ実装されています。",
+ "validator-describe-bothhooks": "パーサー関数およびタグ拡張機能の両方として実装されています。",
+ "validator-describe-par-hooks": "説明文を表示するパーサーフックです。",
+ "validator-describe-par-language": "説明を表示する言語",
+ "validator-describe-empty": "空",
+ "validator-describe-required": "必須",
+ "validator-describe-header-parameter": "引数",
+ "validator-describe-header-aliases": "別名",
+ "validator-describe-header-type": "種類",
+ "validator-describe-header-default": "既定",
+ "validator-describe-header-description": "説明",
+ "validator-describe-parameters": "引数",
+ "validator-describe-syntax": "構文",
+ "validator-describe-tagmin": "必須の引数のみを持つタグ拡張機能です。",
+ "validator-describe-tagmax": "すべての引数を持つタグ拡張機能です。",
+ "validator-describe-pfmin": "必須の引数のみを持つパーサー関数です。",
+ "validator-describe-pfmax": "すべての引数を持つパーサー関数です。",
+ "validator_error_empty_argument": "引数 $1 は空の値を取ることはできません。",
+ "validator_error_must_be_number": "引数 $1 には数値のみを指定できます。",
+ "validator_error_must_be_integer": "引数 $1 には整数のみを指定できます。",
+ "validator_error_must_be_title": "引数 $1 には有効なウィキ ページ名のみを指定できます。",
+ "validator_error_must_be_existing_title": "引数 $1 には既存のウィキ ページ名のみを指定できます。",
+ "validator-error-must-be-float": "引数 $1 には浮動小数点数のみ指定できます。",
+ "validator_error_invalid_range": "引数 $1 は $2 から $3 の間の値である必要があります。",
+ "validator-error-invalid-regex": "引数 $1 はこの正規表現に一致する必要があります: $2",
+ "validator-error-invalid-length": "引数 $1 は長さが $2 である必要があります。",
+ "validator-error-invalid-length-range": "引数 $1 は長さが $2 から $3 までの範囲である必要があります。",
+ "validator_error_invalid_argument": "引数 $2 の値 $1 は無効です。",
+ "validator_list_error_empty_argument": "引数 $1 は空の値を取りません。",
+ "validator_list_error_must_be_number": "引数 $1 には数値のみを指定できます。",
+ "validator_list_error_must_be_integer": "引数 $1 には整数のみを指定できます。",
+ "validator_list_error_must_be_title": "引数 $1 には有効なウィキ ページ名 (複数) のみを指定できます。",
+ "validator_list_error_must_be_existing_title": "引数 $1 には既存のウィキ ページ名 (複数) のみを指定できます。",
+ "validator-list-error-must-be-float": "引数 $1 には浮動小数点数のみを指定できます。",
+ "validator_list_error_invalid_range": "引数 $1 の値はすべて $2 と $3 の間のものでなくてはなりません。",
+ "validator-list-error-invalid-regex": "引数 $1 のすべての値は以下の正規表現と一致する必要があります: $2",
+ "validator_list_error_invalid_argument": "引数 $1 に 1 つ以上の無効な値があります。",
+ "validator-list-error-accepts-only": "引数 $1 に 1 つ以上の無効な値があります。{{PLURAL:$3|この値|これらの値}}のみを使用できます: $2",
+ "validator-list-error-accepts-only-omitted": "引数 $1 に 1 つ以上の無効な値があります。{{PLURAL:$3|この値|これらの値}}のみを使用できます: $2 (と省略された $4 の{{PLURAL:$4|値}})",
+ "validator_error_accepts_only": "引数 $1 の値「$4」は無効です。{{PLURAL:$3|この値|これらの値}}のみを使用できます: $2",
+ "validator-error-accepts-only-omitted": "引数 $1 の値「$2」は無効です。{{PLURAL:$5|この値|これらの値}}のみを使用できます: $3 (と省略された $4 の{{PLURAL:$4|値}})",
+ "validator_list_omitted": "{{PLURAL:$2|値}} $1 は省略されました。",
+ "validator-message-nodesc": "説明はありません"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ka.json b/www/wiki/extensions/Validator/i18n/ka.json
new file mode 100644
index 00000000..072e6e62
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ka.json
@@ -0,0 +1,40 @@
+{
+ "@metadata": {
+ "authors": [
+ "David1010",
+ "ITshnik"
+ ]
+ },
+ "validator-warning": "გაფრთხილება: $1",
+ "validator-error": "შეცდომა: $1",
+ "validator-fatal-error": "ფატალური შეცდომა: $1",
+ "validator_error_unknown_argument": "$1 არ არის სწორი პარამეტრი.",
+ "validator-type-string": "ტექსტი",
+ "validator-type-integer": "მთლიანი რიცხვი",
+ "validator-type-float": "ნომერი",
+ "validator-type-boolean": "დიახ/არა",
+ "validator-type-char": "სიმბოლო",
+ "validator-type-title": "სათაური",
+ "validator-type-string-list": "ტექსტების სია",
+ "validator-type-float-list": "რიცხვების სია",
+ "validator-type-boolean-list": "დიახ/არა სია",
+ "validator-type-char-list": "სიმბოლოების სია",
+ "validator-type-title-list": "სათაურების სია",
+ "validator-listerrors-errors": "შეცდომები",
+ "validator-listerrors-minor": "უმნიშვნელო",
+ "validator-listerrors-low": "დაბალი",
+ "validator-listerrors-normal": "ნორმალური",
+ "validator-listerrors-high": "მაღალი",
+ "validator-listerrors-fatal": "ფატალური",
+ "validator-describe-descriptionmsg": "'''აღწერა''': $1",
+ "validator-describe-empty": "ცარიელი",
+ "validator-describe-required": "სავალდებულოა",
+ "validator-describe-header-parameter": "პარამეტრი",
+ "validator-describe-header-aliases": "ფსევდონიმები",
+ "validator-describe-header-type": "ტიპი",
+ "validator-describe-header-default": "სტანდარტული",
+ "validator-describe-header-description": "აღწერა",
+ "validator-describe-parameters": "პარამეტრები",
+ "validator-describe-syntax": "სინტაქსი",
+ "validator_error_empty_argument": "პარამეტრი $1 არ შეუძლია ცარიელი მნიშვნელობის მიღება."
+}
diff --git a/www/wiki/extensions/Validator/i18n/ko.json b/www/wiki/extensions/Validator/i18n/ko.json
new file mode 100644
index 00000000..d4cfa424
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ko.json
@@ -0,0 +1,96 @@
+{
+ "@metadata": {
+ "authors": [
+ "Priviet",
+ "아라",
+ "Ykhwong",
+ "Revi"
+ ]
+ },
+ "validator-desc": "선언적 변수 처리 라이브러리",
+ "validator-warning": "경고: $1",
+ "validator-error": "오류: $1",
+ "validator-fatal-error": "치명적인 오류: $1",
+ "validator_error_parameters": "문법에서 지정한 다음 {{PLURAL:$1|오류가 있습니다}}:",
+ "validator_warning_parameters": "문법에서 {{PLURAL:$1|오류가 있습니다}}.",
+ "validator-warning-adittional-errors": "... 그리고 {{PLURAL:$1|하나의 많은 문제|여러 많은 문제}}가 있습니다.",
+ "validator-error-omitted": "{{PLURAL:$2|\"$1\" 값}}은 생략합니다.",
+ "validator-error-problem": "$1 변수에 문제가 있습니다.",
+ "validator_error_unknown_argument": "$1은(는) 올바른 변수가 아닙니다.",
+ "validator_error_required_missing": "\"$1\" 필수 변수를 제공하지 않았습니다.",
+ "validator-error-override-argument": "\"$3\" 값으로 $1 변수(값: $2)를 무시하려 했습니다",
+ "validator-type-string": "텍스트",
+ "validator-type-integer": "정수",
+ "validator-type-float": "숫자",
+ "validator-type-boolean": "예/아니오",
+ "validator-type-char": "글자",
+ "validator-type-dimension": "수치 단위",
+ "validator-type-title": "제목",
+ "validator-type-string-list": "텍스트 목록",
+ "validator-type-integer-list": "정수 목록",
+ "validator-type-float-list": "숫자 목록",
+ "validator-type-boolean-list": "예/아니오 목록",
+ "validator-type-char-list": "글자 목록",
+ "validator-type-title-list": "제목 목록",
+ "validator-listerrors-errors": "오류",
+ "validator-listerrors-minor": "사소",
+ "validator-listerrors-low": "낮음",
+ "validator-listerrors-normal": "보통",
+ "validator-listerrors-high": "높음",
+ "validator-listerrors-fatal": "심각",
+ "validator-listerrors-description": "변수기를 통해 추가한 파서 훅에서 발생한 오류(와 경고) 목록입니다.\n파서 훅에 대한 목록만 오류 목록이 삽입하는 곳에 추가됩니다.\n모든 오류를 얻으려면 문서 하단이나 가까운 오류 목록에 넣으십시오.",
+ "validator-listerrors-par-minseverity": "이에 대한 문제의 최소 심각도를 나타내야 합니다.",
+ "validator-describe-description": "변수기를 통해 지정한 하나 이상의 파서 훅에 대한 문서를 생성합니다.",
+ "validator-describe-notfound": "\"$1\" 핸들에는 파서 훅이 없습니다.",
+ "validator-describe-descriptionmsg": "'''설명''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|별명}}''': $1",
+ "validator-describe-parserfunction": "파서 함수로만 구현합니다.",
+ "validator-describe-tagextension": "태그 확장 기능으로만 구현합니다.",
+ "validator-describe-bothhooks": "파서 함수와 태그 확장 기능 모두로 구현합니다.",
+ "validator-describe-par-hooks": "파서는 문서를 보여주는 데에 대해서 연결합니다.",
+ "validator-describe-par-pre": "문서에 렌더링되지 않고 문서에 대한 실제 위키텍스트를 얻도록 허용합니다.",
+ "validator-describe-par-language": "설명을 보여줄 언어",
+ "validator-describe-listtype": "$1 항목의 목록",
+ "validator-describe-empty": "비었음",
+ "validator-describe-required": "필수",
+ "validator-describe-header-parameter": "변수",
+ "validator-describe-header-aliases": "별명",
+ "validator-describe-header-type": "종류",
+ "validator-describe-header-default": "기본값",
+ "validator-describe-header-description": "설명",
+ "validator-describe-parameters": "변수",
+ "validator-describe-syntax": "문법",
+ "validator-describe-tagmin": "필요한 변수에만 태그 확장 기능.",
+ "validator-describe-tagmax": "모든 변수와 태그 확장 기능.",
+ "validator-describe-tagdefault": "기본 변수 표기을 사용하여 모든 변수와 태그 확장 기능.",
+ "validator-describe-pfmin": "필요한 변수에만 파서 함수.",
+ "validator-describe-pfmax": "모든 변수와 파서 함수.",
+ "validator-describe-pfdefault": "기본 변수 표기을 사용하여 모든 변수와 파서 함수.",
+ "validator-describe-autogen": "이 부분의 내용은 변수기 확장 기능의 \"설명\" 파서 훅에 의해 자동으로 만들었습니다.",
+ "validator_error_empty_argument": "$1 변수는 빈 값을 가질 수 없습니다.",
+ "validator_error_must_be_number": "$1 변수만 숫자가 될 수 있습니다.",
+ "validator_error_must_be_integer": "$1 변수만 정수가 될 수 있습니다.",
+ "validator_error_must_be_title": "$1 변수만 유효한 위키 문서 이름이 될 수 있습니다.",
+ "validator_error_must_be_existing_title": "$1 변수만 기존 위키 문서 이름이 될 수 있습니다.",
+ "validator-error-must-be-float": "$1 변수만 부동 소수점 숫자가 될 수 있습니다.",
+ "validator_error_invalid_range": "$1 변수는 $2와(과) $3 사이여야 합니다.",
+ "validator-error-invalid-regex": "$1 변수는 이 정규 표현식과 일치해야 합니다: $2.",
+ "validator-error-invalid-length": "$1 변수는 $2의 길이를 가져야 합니다.",
+ "validator-error-invalid-length-range": "$1 변수는 $2와(과) $3 사이의 길이를 가져야 합니다.",
+ "validator_error_invalid_argument": "$1 값은 $2 변수에 유효하지 않습니다.",
+ "validator_list_error_empty_argument": "$1 변수는 빈 값을 허용하지 않습니다.",
+ "validator_list_error_must_be_number": "$1 변수는 숫자만 포함할 수 있습니다.",
+ "validator_list_error_must_be_integer": "$1 변수는 정수만 포함할 수 있습니다.",
+ "validator_list_error_must_be_title": "$1 변수는 유효한 위키 문서 이름만 포함할 수 있습니다.",
+ "validator_list_error_must_be_existing_title": "$1 변수는 기존 위키 문서 이름만 포함할 수 있습니다.",
+ "validator-list-error-must-be-float": "$1 변수는 부동 소수점 숫자만 포함할 수 있습니다.",
+ "validator_list_error_invalid_range": "$1 변수의 모든 값은 $2와(과) $3 사이여야 합니다.",
+ "validator-list-error-invalid-regex": "$1 변수의 모든 값은 이 정규 표현식과 일치해야 합니다: $2.",
+ "validator_list_error_invalid_argument": "$1 변수에 대해 하나 이상의 값이 잘못되었습니다.",
+ "validator-list-error-accepts-only": "$1 변수에 대해 하나 이상의 값이 잘못되었습니다. {{PLURAL:$3|이 값}}만 승인합니다: $2.",
+ "validator-list-error-accepts-only-omitted": "$1 변수에 대해 하나 이상의 값이 잘못되었습니다. {{PLURAL:$3|이 값}}만 승인합니다: $2 (그리고 $4 값은 생략합니다).",
+ "validator_error_accepts_only": "\"$4\" 값은 $1 변수에 대해 유효하지 않습니다. {{PLURAL:$3|이 값}}만 승인합니다: $2.",
+ "validator-error-accepts-only-omitted": "\"$2\" 값은 $1 변수에 대해 유효하지 않습니다. {{PLURAL:$5|이 값}}만 승인합니다: $3 (그리고 $4 값은 생략합니다).",
+ "validator_list_omitted": "$1 {{PLURAL:$2|값}}은 생략{{PLURAL:$2|합니다}}.",
+ "validator-message-nodesc": "설명을 제공하지 않았습니다"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ksh.json b/www/wiki/extensions/Validator/i18n/ksh.json
new file mode 100644
index 00000000..524be449
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ksh.json
@@ -0,0 +1,65 @@
+{
+ "@metadata": {
+ "authors": [
+ "Purodha"
+ ]
+ },
+ "validator-desc": "{{int:validator_name}} brängk eine eijfache Wääsch, der Parrammeetere fun Paaser-Fungkßjohne un Zohsatzprojramme ze prööve, Schtandatt-Wääte enzefööje, un Fähler ze mällde.",
+ "validator-warning": "Opjepaß: $1",
+ "validator-error": "Fähler: $1",
+ "validator-fatal-error": "'''Dä!''' $1",
+ "validator_error_parameters": "{{PLURAL:$1|Heh dä|Heh di|Keine}} Fähler {{PLURAL:$1|es|sin|es}} en Dinge Syntax opjevalle:",
+ "validator_warning_parameters": "Et {{PLURAL:$1|es ene|sin|es keine}} Fähler en Dinge Süntax.",
+ "validator-warning-adittional-errors": "…&nbsp;un {{PLURAL:$1|noch e Problehm|söns Problehme|söns kei Problehm}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Dä Wert „$1“ fählt|De Wääte „$1“ fähle|Nix fählt}}.",
+ "validator-error-problem": "Et johv e Problehm mem Parrameehter $1.",
+ "validator_error_unknown_argument": "„$1“ es keine jöltijje Parameeter.",
+ "validator_error_required_missing": "Dä Parameeter $1 moß aanjejovve sin, un fählt.",
+ "validator-error-override-argument": "Versooht, dä Parrameeter $1 (mem Wäät: $2) met „$3“ ze övverschriive.",
+ "validator-type-string": "Täx",
+ "validator-type-integer": "janze Zahl (ohne Komma!)",
+ "validator-type-float": "Zahl (met Komma)",
+ "validator-type-boolean": "Joh udder Nää",
+ "validator-type-char": "Zeische, Zeffer, Boochschtaabe,&nbsp;…",
+ "validator-type-title": "Övverschreff",
+ "validator-type-string-list": "Lėß met Täxte",
+ "validator-type-integer-list": "Lėß met janze Zahle",
+ "validator-type-float-list": "Lėß met Zahle",
+ "validator-type-boolean-list": "Lėß met Joh udder Nää",
+ "validator-type-title-list": "Leß vun Övverschreffte",
+ "validator-listerrors-errors": "Fähler",
+ "validator-listerrors-minor": "Bahl ejahl",
+ "validator-listerrors-low": "Kleineshkeit",
+ "validator-listerrors-normal": "Nommahl",
+ "validator-listerrors-high": "Huh",
+ "validator-listerrors-fatal": "Schlemm",
+ "validator-listerrors-par-minseverity": "Wi schlemm ene Fähler winnishßdens sin moß, domet_e aanjezeish weed.",
+ "validator-describe-notfound": "Et jidd_er keine Paaserhooke, dä „$1“ afhandele deiht.",
+ "validator-describe-parserfunction": "Bloß als ene Paaserfunxjuhn enjeresht.",
+ "validator-describe-listtype": "Leß met {{PLURAL:$1|einem Endraach|$1 Endrääsh|keinem Endraach}}",
+ "validator-describe-empty": "nix dren",
+ "validator-describe-required": "nüüdesch",
+ "validator-describe-header-parameter": "Parrameeter",
+ "validator-describe-header-type": "Zoot",
+ "validator-describe-header-default": "Schtandatt",
+ "validator-describe-header-description": "Beschrievong",
+ "validator-describe-parameters": "Parrameetere",
+ "validator-describe-syntax": "Süntax",
+ "validator_error_empty_argument": "Dä Parameeter $1 kann keine Wäät met nix dren hann.",
+ "validator_error_must_be_number": "Dä Parameeter $1 kann blohß en Zahl sin.",
+ "validator_error_must_be_integer": "Dä Parrameeter $1 kann bloß en jannze Zahl sin.",
+ "validator-error-must-be-float": "Dä Parameeter $1 kann blohß en Zahl met Komma sin.",
+ "validator_error_invalid_range": "Dä Parameeter $1 moß zwesche $2 un $3 sin.",
+ "validator-error-invalid-regex": "Dä Parrameeter $1 moß op dä rejolähre Ußdrok „<code>$2</code>“ paße.",
+ "validator-error-invalid-length": "Dä Parameeter $1 moß $2 Zeijshe lang sin.",
+ "validator-error-invalid-length-range": "Dä Parameeter $1 moß zwesche $2 un $3 Zeijshe lang sin.",
+ "validator_error_invalid_argument": "Däm Parameeter $2 singe Wäät es $1, dat es ävver doför nit jöltesch.",
+ "validator_list_error_empty_argument": "Dä Parameeter $1 kann nit läddesh sin.",
+ "validator_list_error_must_be_number": "Dä Parameeter $1 kann blohß Zeffere änthallde.",
+ "validator_list_error_must_be_integer": "Dä Parameeter $1 kann blohß janze Zahle änthallde.",
+ "validator-list-error-must-be-float": "Dä Parameeter $1 kann blohß Zahle met Komma dren änthallde.",
+ "validator_list_error_invalid_range": "All de Wääte vum Parameeter $1 möße zwesche $2 un $3 lijje.",
+ "validator_error_accepts_only": "„$4“ es nit ze Bruche, weil dä Parameeter $1 {{PLURAL:$3|bloß eine Wäät|bloß eine vun heh dä Wääte|keine Wäät}} han kann: $2",
+ "validator_list_omitted": "{{PLURAL:$2|Dä Wäät|De Wääte|Keine Wäät}} $1 {{PLURAL:$2|es|sen|se}} fottjelohße woode.",
+ "validator-message-nodesc": "Kein Beschrievong doh"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ku-latn.json b/www/wiki/extensions/Validator/i18n/ku-latn.json
new file mode 100644
index 00000000..f1f3d057
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ku-latn.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "George Animal"
+ ]
+ },
+ "validator-error": "Çewtî:$1",
+ "validator-type-string": "nivîs",
+ "validator-type-boolean": "erê/na",
+ "validator-type-title": "sernav",
+ "validator-listerrors-errors": "Çewtî",
+ "validator-listerrors-high": "bilind",
+ "validator-describe-empty": "vala",
+ "validator-describe-header-parameter": "Parametre",
+ "validator-describe-header-type": "Cure",
+ "validator-describe-header-description": "Danasîn"
+}
diff --git a/www/wiki/extensions/Validator/i18n/lb.json b/www/wiki/extensions/Validator/i18n/lb.json
new file mode 100644
index 00000000..a53695bc
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/lb.json
@@ -0,0 +1,79 @@
+{
+ "@metadata": {
+ "authors": [
+ "Les Meloures",
+ "Robby",
+ "Soued031"
+ ]
+ },
+ "validator-desc": "Library fir d'Behandlung vun deklarative Parameter",
+ "validator-warning": "Opgepasst: $1",
+ "validator-error": "Feeler: $1",
+ "validator-fatal-error": "Fatale Feeler: $1",
+ "validator_error_parameters": "{{PLURAL:$1|Dëse Feeler gouf|Dës Feeler goufen}} an Ärer Syntax fonnt:",
+ "validator_warning_parameters": "Et {{PLURAL:$1|ass ee|si}} Feeler an Ärer Syntax.",
+ "validator-warning-adittional-errors": "… an {{PLURAL:$1|e weidere Sujet|weider Sujeten}}.",
+ "validator-error-omitted": "{{PLURAL:$2|De Wäert|D'Wäerter}} \"$1\" {{PLURAL:$2|gouf|goufe}} vergiess.",
+ "validator-error-problem": "Et gouf e Problem mam Parameter $1.",
+ "validator_error_unknown_argument": "$1 ass kee valbele Parameter.",
+ "validator_error_required_missing": "Den obligatoresche Parameter $1 war net derbäi.",
+ "validator-error-override-argument": "huet versicht de Parameter $1 (Wäert: $2) mam Wäert \"$3\" z'iwwerschreiwen",
+ "validator-type-string": "Text",
+ "validator-type-integer": "Ganz Zuel",
+ "validator-type-float": "Zuel",
+ "validator-type-boolean": "Jo/Neen",
+ "validator-type-char": "Zeechen",
+ "validator-type-title": "Titel",
+ "validator-type-string-list": "Lëscht vun den Texter",
+ "validator-type-float-list": "Lëscht vun Zuelen",
+ "validator-type-boolean-list": "Jo/Neen Lëscht",
+ "validator-type-title-list": "Lëscht vun Titelen",
+ "validator-listerrors-errors": "Feeler",
+ "validator-listerrors-minor": "Marginal",
+ "validator-listerrors-low": "Niddreg",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Héich",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-listerrors-par-minseverity": "Déi mannste Schwieregkeet vun engem Feeler fir datt en hei gewise gëtt.",
+ "validator-describe-descriptionmsg": "'''Beschreiwung''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliasen}}:''' $1",
+ "validator-describe-parserfunction": "Nëmmen als Parser-Funktioun implementéiert.",
+ "validator-describe-tagextension": "Nëmmen als Tag-Erweiderung implementéiert.",
+ "validator-describe-par-language": "D'Sprooch an där d'Beschreiwunge gewise solle ginn",
+ "validator-describe-listtype": "Lëscht mat {{PLURAL:$1|engem Element|$1 Elementer}}",
+ "validator-describe-empty": "eidel",
+ "validator-describe-required": "obligatoresch",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Aliasen",
+ "validator-describe-header-type": "Typ",
+ "validator-describe-header-default": "Standard",
+ "validator-describe-header-description": "Beschreiwung",
+ "validator-describe-parameters": "Parameteren",
+ "validator-describe-syntax": "Syntax",
+ "validator-describe-pfmax": "Parserfonctioun mat alle Parameter.",
+ "validator_error_empty_argument": "De Parameter $1 ka keen eidele Wäert hunn.",
+ "validator_error_must_be_number": "De Parameter $1 ka just eng Zuel sinn",
+ "validator_error_must_be_integer": "De Parameter $1 ka just eng ganz Zuel sinn.",
+ "validator_error_must_be_title": "Parameter $1 kann nëmmen e valabele Wiki-Säitennumm sinn.",
+ "validator_error_must_be_existing_title": "Parameter $1 kann nëmmen e Wiki-Säitennumm sinn deen et gëtt.",
+ "validator-error-must-be-float": "Parameter $1 kann nëmmen eng Féisskommazuel sinn.",
+ "validator_error_invalid_range": "De Parameter $1 muss tëscht $2 an $3 leien.",
+ "validator-error-invalid-regex": "De Parameter $1 muss sou ausgesinn: $2",
+ "validator-error-invalid-length": "Parameter $1 muss eng Längt vu(n) $2 hunn.",
+ "validator-error-invalid-length-range": "De Parameter $1 muss eng Längt tëscht $2 an $3 hunn.",
+ "validator_error_invalid_argument": "De Wäert $1 ass net valabel fir de Parameter $2.",
+ "validator_list_error_empty_argument": "De Parameter $1 hëlt keng eidel Wäerter un.",
+ "validator_list_error_must_be_number": "Am Parameter $1 kënnen nëmmen Zuelen dra sinn.",
+ "validator_list_error_must_be_integer": "Am Parameter $1 kënnen nëmme ganz Zuele sinn.",
+ "validator_list_error_must_be_title": "Am Parameter $1 kënnen nëmme valabel Wiki-Säitennimm sinn.",
+ "validator-list-error-must-be-float": "Am Parameter $1 kënnen nëmme Kommazuelen dra sinn.",
+ "validator_list_error_invalid_range": "All Wäerter vum Parameter $1 mussen tëscht $2 an $3 leien.",
+ "validator-list-error-invalid-regex": "All Wäerter vum Parameter $1 mussen dësem regulären Ausdrock entspriechen: $2",
+ "validator_list_error_invalid_argument": "Een oder méi Wäerter fir de Parameter $1 sinn net valabel.",
+ "validator-list-error-accepts-only": "Een oder méi Wäerter vum Parameter $1 sinn net valabel.\nEn akzeptéiert nëmmen {{PLURAL:$3|dëse Wäert|dës Wäerter}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Een oder méi Wäerter fir de Parameter $1 sinn net valabel.\nEn akzeptéiert nëmmen {{PLURAL:$3|dëse Wäert|dës Wäerter}}: $2 (an {{PLURAL:$4|een ausgeloossene Wäert|$4 ausgeloosse Wäerter}}).",
+ "validator_error_accepts_only": "De Wäert $4 ass net valabel fir de Parameter $1. En akzeptéiert just {{PLURAL:$3|dëse Wäert|dës Wäerter}}: $2",
+ "validator-error-accepts-only-omitted": "De Wäert \"$2\" ass net valabel fir de Parameter $1.\nEn akzeptéiert nëmmen {{PLURAL:$5|dëse Wäert|dës Wäerter}}: $3 (an {{PLURAL:$4|een ausgeloossene Wäert|$4 ausgeloosse Wäerter}}).",
+ "validator_list_omitted": "{{PLURAL:$2|De Wäert|D'Wäerter}} $1 {{PLURAL:$2|gouf|goufe}} vergiess.",
+ "validator-message-nodesc": "Et gëtt keng Beschreiwung"
+}
diff --git a/www/wiki/extensions/Validator/i18n/lki.json b/www/wiki/extensions/Validator/i18n/lki.json
new file mode 100644
index 00000000..aead5f60
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/lki.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lakzon"
+ ]
+ },
+ "validator-describe-descriptionmsg": "'''شرح''': $1",
+ "validator-describe-header-description": "تشریح"
+}
diff --git a/www/wiki/extensions/Validator/i18n/lt.json b/www/wiki/extensions/Validator/i18n/lt.json
new file mode 100644
index 00000000..c6250298
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/lt.json
@@ -0,0 +1,59 @@
+{
+ "@metadata": {
+ "authors": [
+ "Eitvys200"
+ ]
+ },
+ "validator-warning": "Įspėjimas: $1",
+ "validator-error": "Klaida: $1",
+ "validator-fatal-error": "Lemtinga klaida: $1",
+ "validator-error-problem": "Kilo problema su parametru $1.",
+ "validator_error_unknown_argument": "$1 nėra galimas parametras.",
+ "validator_error_required_missing": "Reikalingas parametras „$1“ nepateiktas.",
+ "validator-type-string": "tekstas",
+ "validator-type-integer": "visas skaičius",
+ "validator-type-float": "skaičius",
+ "validator-type-boolean": "taip/ne",
+ "validator-type-char": "simbolis",
+ "validator-type-dimension": "skaičiaus ir matavimo vienetas",
+ "validator-type-title": "pavadinimas",
+ "validator-type-string-list": "tekstų sąrašas",
+ "validator-type-integer-list": "sveikųjų skaičių sąrašas",
+ "validator-type-float-list": "skaičių sąrašas",
+ "validator-type-boolean-list": "taip/ne sąrašas",
+ "validator-type-title-list": "pavadinimų sąrašas",
+ "validator-listerrors-errors": "Klaidos",
+ "validator-listerrors-low": "Žemas",
+ "validator-listerrors-normal": "Normalus",
+ "validator-listerrors-high": "Aukštas",
+ "validator-listerrors-fatal": "Lemtingas",
+ "validator-describe-listtype": "$1 objektų sąrašas",
+ "validator-describe-empty": "tuščia",
+ "validator-describe-required": "privalomas",
+ "validator-describe-header-parameter": "Parametras",
+ "validator-describe-header-aliases": "Alternatyvūs vardai",
+ "validator-describe-header-type": "Tipas",
+ "validator-describe-header-default": "Numatytasis",
+ "validator-describe-header-description": "Aprašymas",
+ "validator-describe-parameters": "Parametrai",
+ "validator-describe-syntax": "Sintaksė",
+ "validator-describe-tagmin": "Žymės plėtinys tik su privalomais parametrais.",
+ "validator-describe-tagmax": "Žymės plėtinys su visais parametrais.",
+ "validator_error_empty_argument": "Parametras $1 negali turėti tuščios vertės.",
+ "validator_error_must_be_number": "Parametras $1 gali būti tik skaičius",
+ "validator_error_must_be_integer": "Parametras $1 gali būti tik sveikasis skaičius.",
+ "validator_error_must_be_title": "Parametras $1 gali būti tik galiojantis viki puslapio pavadinimas.",
+ "validator_error_must_be_existing_title": "Parametras $1 būti tik egzistuojantis viki puslapio pavadinimas.",
+ "validator_error_invalid_range": "Parametras $1 turi būti tarp $2 ir $3.",
+ "validator-error-invalid-regex": "Parametras $1 turi atitikti įprastą išraišką: $2.",
+ "validator-error-invalid-length": "Parametras $1 turi būti $2 ilgio.",
+ "validator-error-invalid-length-range": "Parametras $1 turi būti tarp $2 ir $3 ilgio.",
+ "validator_error_invalid_argument": "$1 vertė nėra galimas $2 parametras.",
+ "validator_list_error_empty_argument": "Parametras $1 nepriima tuščių reikšmių.",
+ "validator_list_error_must_be_number": "Parametre $1 gali būti tik skaičiai.",
+ "validator_list_error_must_be_integer": "Parametre $1 gali būti tik sveikieji skaičiai.",
+ "validator_list_error_must_be_title": "Parametre $1 gali būti tik galiojantys viki puslapio pavadinimai.",
+ "validator_list_error_must_be_existing_title": "Parametre $1 gali būti tik egzistuojantys viki puslapio pavadinimai.",
+ "validator_list_error_invalid_range": "Visos parametro $1 reikšmės turi būti tarp $2 ir $3.",
+ "validator-message-nodesc": "Nepateiktas joks aprašymas"
+}
diff --git a/www/wiki/extensions/Validator/i18n/lv.json b/www/wiki/extensions/Validator/i18n/lv.json
new file mode 100644
index 00000000..c74a9fd6
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/lv.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "GreenZeb"
+ ]
+ },
+ "validator-listerrors-errors": "Kļūdas",
+ "validator-listerrors-minor": "Maznozīmīgas",
+ "validator-listerrors-fatal": "Fatālas"
+}
diff --git a/www/wiki/extensions/Validator/i18n/mk.json b/www/wiki/extensions/Validator/i18n/mk.json
new file mode 100644
index 00000000..5757b609
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/mk.json
@@ -0,0 +1,95 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bjankuloski06",
+ "McDutchie"
+ ]
+ },
+ "validator-desc": "Декларативна библиотека за обработка на параметри",
+ "validator-warning": "Предупредување: $1",
+ "validator-error": "Грешка: $1",
+ "validator-fatal-error": "Кобна грешка: $1",
+ "validator_error_parameters": "Во вашата синтакса {{PLURAL:$1|е откриена следнава грешка|се откриени следниве грешки}}:",
+ "validator_warning_parameters": "Имате {{PLURAL:$1|грешка|грешки}} во синтаксата.",
+ "validator-warning-adittional-errors": "... и {{PLURAL:$1|уште еден проблем|повеќе други проблеми}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Изоставена е вредноста „$1“|Изоставени се вредностите „$1“}}.",
+ "validator-error-problem": "Се појави проблем со параметарот $1.",
+ "validator_error_unknown_argument": "$1 не е важечки параметар.",
+ "validator_error_required_missing": "Бараниот параметар $1 не е наведен.",
+ "validator-error-override-argument": "Се обидовте да презапишете врз параметарот $1 (вредност: $2) со вредност „$3“",
+ "validator-type-string": "текст",
+ "validator-type-integer": "цел број",
+ "validator-type-float": "број",
+ "validator-type-boolean": "да/не",
+ "validator-type-char": "знак",
+ "validator-type-dimension": "број и димензионална единица",
+ "validator-type-title": "наслов",
+ "validator-type-string-list": "список на текстови",
+ "validator-type-integer-list": "список на цели броеви",
+ "validator-type-float-list": "список на броеви",
+ "validator-type-boolean-list": "список на да/не",
+ "validator-type-char-list": "список на знаци",
+ "validator-type-title-list": "списо на наслови",
+ "validator-listerrors-errors": "Грешки",
+ "validator-listerrors-severity-message": "($1) $2",
+ "validator-listerrors-minor": "Ситни",
+ "validator-listerrors-low": "Малку",
+ "validator-listerrors-normal": "Нормално",
+ "validator-listerrors-high": "Многу",
+ "validator-listerrors-fatal": "Кобна",
+ "validator-listerrors-description": "Ги наведува грешките (и предупредувањата) што се јавиле кај расчленувачките пресретници додадени преку Потврдувачот (Validator).\nГи наведува само расчленувачките пресретници додадени погоре каде е вметнато „listerrors“;\nставете го „listerrors“ на или близу дното на страницата за да ви се прикажат сите грешки.",
+ "validator-listerrors-par-minseverity": "Минималната сериозност на проблемот за да биде наведен.",
+ "validator-describe-description": "Создава документација за една или повеќе расчленувачки пресретници определени преку Потврдувачот.",
+ "validator-describe-notfound": "Нема расчленувачки пресретник што работи со „$1“.",
+ "validator-describe-descriptionmsg": "'''Опис''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Истозначник|Истозначници}}''': $1",
+ "validator-describe-parserfunction": "Се применува само во својство на расчленувачка функција.",
+ "validator-describe-tagextension": "Се применува само во својство на додаток за означување.",
+ "validator-describe-bothhooks": "Се применува во својство на расчленувачка функција и додаток за означување (обете).",
+ "validator-describe-par-hooks": "Расчленувачките пресретници за кои сакате да се прикаже документација.",
+ "validator-describe-par-pre": "Ви овозможува да го добиете самиот викитекст за документацијата, без да се испише на страницата",
+ "validator-describe-par-language": "На кој јазик да се прикажуваат описите",
+ "validator-describe-listtype": "Список на $1 ставки",
+ "validator-describe-empty": "празно",
+ "validator-describe-required": "задолжително",
+ "validator-describe-header-parameter": "Параметар",
+ "validator-describe-header-aliases": "Истозначници",
+ "validator-describe-header-type": "Вид",
+ "validator-describe-header-default": "По основно",
+ "validator-describe-header-description": "Опис",
+ "validator-describe-parameters": "Параметри",
+ "validator-describe-syntax": "Синтакса",
+ "validator-describe-tagmin": "Додаток за означување само со задолжителните параметри.",
+ "validator-describe-tagmax": "Додаток за означување со сите параметри.",
+ "validator-describe-tagdefault": "Додаток за означување кајшто сите параметри ја користат стандардната параметарска нотација.",
+ "validator-describe-pfmin": "Расчленувачка функција само со задолжителните параметри.",
+ "validator-describe-pfmax": "Расчленувачка функција со сите параметри.",
+ "validator-describe-pfdefault": "Расчленувачка функција кајшто сите параметри ја користат стандардната параметарска нотација.",
+ "validator-describe-autogen": "Содржината на овој поднаслов е создадена автоматски од расчленувачкиот пресретник „describe“ на додатокот Потврдувач (Validator).",
+ "validator_error_empty_argument": "Параметарот $1 не може да има празна вредност.",
+ "validator_error_must_be_number": "Параметарот $1 може да биде само број.",
+ "validator_error_must_be_integer": "Параметарот $1 може да биде само цел број.",
+ "validator_error_must_be_title": "Параметарот $1 може да биде само важечко име на викистраница.",
+ "validator_error_must_be_existing_title": "Параметарот $1 може да биде само постоечко име на викистраница.",
+ "validator-error-must-be-float": "Параметарот $1 може да биде само број со подвижна точка.",
+ "validator_error_invalid_range": "Параметарот $1 мора да изнесува помеѓу $2 и $3.",
+ "validator-error-invalid-regex": "Параметарот $1 мора да се совпаѓа со следниов регуларен израз: $2.",
+ "validator-error-invalid-length": "Параметарот $1 мора да има должина од $2.",
+ "validator-error-invalid-length-range": "Должината на параметарот параметарот $1 мора да изнесува помеѓу $2 и $3.",
+ "validator_error_invalid_argument": "Вредноста $1 е неважечка за параметарот $2.",
+ "validator_list_error_empty_argument": "Параметарот $1 не прифаќа празни вредности.",
+ "validator_list_error_must_be_number": "Параметарот $1 може да содржи само бројки.",
+ "validator_list_error_must_be_integer": "Параметарот $1 може да содржи само цели броеви.",
+ "validator_list_error_must_be_title": "Параметарот $1 може да содржи само важечки имиња на викистраници.",
+ "validator_list_error_must_be_existing_title": "Параметарот $1 може да содржи само постоечки имиња на викистраници.",
+ "validator-list-error-must-be-float": "Параметарот $1 може да содржи само подвижни бинарни точки.",
+ "validator_list_error_invalid_range": "Сите вредности на параметарот $1 мора да бидат помеѓу $2 и $3.",
+ "validator-list-error-invalid-regex": "Сите вредности на параметарот $1 мора да се совпаднат со следниов регуларен израз: $2.",
+ "validator_list_error_invalid_argument": "Една или повеќе вредности на параметарот $1 се неважечки.",
+ "validator-list-error-accepts-only": "Параметарот $1 има една или повеќе неважечки вредности.\nСе {{PLURAL:$3|прифаќа само следнава вредност|прифаќаат само следниве вредности}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Параметарот $1 има една или повеќе неважечки вредности.\nСе {{PLURAL:$3|прифаќа само следнава вредност|прифаќаат само следниве вредности}}: $2 (и $4 {{PLURAL:$4|изоставена вредност|изоставени вредности}}).",
+ "validator_error_accepts_only": "Вредноста „$4“ е неважечка за параметарот $1. Се {{PLURAL:$3|прифаќа само следнава вредност|прифаќаат само следниве вредности}}: $2.",
+ "validator-error-accepts-only-omitted": "Вредноста „$2“ не е важечка за параметарот $1. Се прифаќаат само следниве вредности: $3 (и $4 изоставени вредности).",
+ "validator_list_omitted": "{{PLURAL:$2|Вредноста|Вредностите}} $1 {{PLURAL:$2|беше испуштена|беа испуштени}}.",
+ "validator-message-nodesc": "Нема наведено опис"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ms.json b/www/wiki/extensions/Validator/i18n/ms.json
new file mode 100644
index 00000000..45ce2155
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ms.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Anakmalaysia"
+ ]
+ },
+ "validator-describe-descriptionmsg": "'''Keterangan''': $1",
+ "validator-describe-empty": "kosong",
+ "validator-describe-required": "wajib",
+ "validator-describe-header-default": "Asali"
+}
diff --git a/www/wiki/extensions/Validator/i18n/nb.json b/www/wiki/extensions/Validator/i18n/nb.json
new file mode 100644
index 00000000..0420f720
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/nb.json
@@ -0,0 +1,81 @@
+{
+ "@metadata": {
+ "authors": [
+ "Event",
+ "Nghtwlkr"
+ ]
+ },
+ "validator-desc": "Gir generisk støtte for parameterhåndtering fra andre utvidelser",
+ "validator-warning": "Advarsel: $1",
+ "validator-error": "Feil: $1",
+ "validator-fatal-error": "Kritisk feil: $1",
+ "validator_error_parameters": "Følgende {{PLURAL:$1|feil|feil}} har blitt oppdaget i syntaksen din:",
+ "validator_warning_parameters": "Det er {{PLURAL:$1|én feil|flere feil}} i syntaksen din.",
+ "validator-warning-adittional-errors": "... og {{PLURAL:$1|ett problem til|flere problem}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Verdien|Verdiene}} «$1» har blitt utelatt.",
+ "validator-error-problem": "Det var et problem med parameter $1.",
+ "validator_error_unknown_argument": "$1 er ikke en gyldig parameter.",
+ "validator_error_required_missing": "Den nødvendige parameteren «$1» er ikke angitt.",
+ "validator-error-override-argument": "Prøvde å overkjøre parameter $1 (verdi: $2) med verdien «$3»",
+ "validator-type-string": "tekst",
+ "validator-type-integer": "heltall",
+ "validator-type-float": "tall",
+ "validator-type-boolean": "ja/nei",
+ "validator-type-char": "tegn",
+ "validator-listerrors-errors": "Feil",
+ "validator-listerrors-minor": "Mindre",
+ "validator-listerrors-low": "Lav",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Høy",
+ "validator-listerrors-fatal": "Kritisk",
+ "validator-listerrors-description": "Lister opp feil (og advarsler) som oppsto i \"parser hooks\" via Validator.\nLister bare opp for \"parser hooks\" lagt til over der \"listerrors\" er satt inn;\nplasser \"listerrors\" på eller nær bunnen av siden for å få frem alle feilene.",
+ "validator-listerrors-par-minseverity": "Minimum alvorlighetsgrad for at en sak skal listes opp.",
+ "validator-describe-description": "Genererer dokumentasjon for en eller flere \"parser hooks\" definert via Validator.",
+ "validator-describe-notfound": "Det finnes ingen \"parser hook\" som håndterer \"$1\".",
+ "validator-describe-descriptionmsg": "''Beskrivelse''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliaser}}''': $1",
+ "validator-describe-parserfunction": "Bare implementert som en parser-funksjon.",
+ "validator-describe-tagextension": "Bare implementert som en tag-utvidelse.",
+ "validator-describe-bothhooks": "Implementert både som en parser-funksjon og en tag-utvidelse.",
+ "validator-describe-par-hooks": "\"Parser hooks\" som brukes for å angi dokumentasjon.",
+ "validator-describe-par-pre": "Tillater deg å få den faktiske wikiteksten for dokumentasjonen uten at den blir gjengitt på siden.",
+ "validator-describe-par-language": "Språket som brukes for beskrivelsene",
+ "validator-describe-listtype": "Liste av $1 elementer",
+ "validator-describe-empty": "tom",
+ "validator-describe-required": "påkrevet",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Aliaser",
+ "validator-describe-header-type": "Type",
+ "validator-describe-header-default": "Standard",
+ "validator-describe-header-description": "Beskrivelse",
+ "validator-describe-parameters": "Parametre",
+ "validator-describe-syntax": "Syntaks",
+ "validator-describe-tagmin": "Tag-utvidelse bare med de påkrevde parametrene.",
+ "validator-describe-tagmax": "Tag-utvidelse med alle parametrene.",
+ "validator-describe-tagdefault": "Tag-utvidelse med alle parametrene som bruker standard parameternotasjon.",
+ "validator-describe-pfmin": "Parser-funksjon bare med de påkrevde parametrene.",
+ "validator-describe-pfmax": "Parser-funksjon med alle parametrene.",
+ "validator-describe-pfdefault": "Parser-funksjon med alle parametrene som bruker standard parameternotasjon.",
+ "validator-describe-autogen": "Innholdet i dette avsnittet ble autogenerert av \"describe parser hook\" fra Validator-utvidelsen.",
+ "validator_error_empty_argument": "Parameter $1 kan ikke ha en tom verdi.",
+ "validator_error_must_be_number": "Parameter $1 må være et tall.",
+ "validator_error_must_be_integer": "Parameter $1 må være et heltall.",
+ "validator-error-must-be-float": "Parameter $1 må være et flyttall.",
+ "validator_error_invalid_range": "Parameter $1 må være mellom $2 og $3.",
+ "validator-error-invalid-regex": "Parameter $1 må samsvare med dette regulæruttrykket: $2.",
+ "validator-error-invalid-length": "Parameter $1 må ha en lengde på $2.",
+ "validator-error-invalid-length-range": "Parameter $1 må ha en lengde mellom $2 og $3.",
+ "validator_error_invalid_argument": "Verdien $1 er ikke gyldig for parameter $2.",
+ "validator_list_error_empty_argument": "Parameter $1 kan ikke ikke ha en tom verdi.",
+ "validator_list_error_must_be_number": "Parameter $1 kan bare inneholde tall.",
+ "validator_list_error_must_be_integer": "Parameter $1 kan bare inneholde heltall.",
+ "validator-list-error-must-be-float": "Parameter $1 kan bare innholde flyttall.",
+ "validator_list_error_invalid_range": "Alle verdier av parameter $1 må være mellom $2 og $3.",
+ "validator-list-error-invalid-regex": "Alle verdier av parameter $1 må samsvare med dette regulæruttrykket: $2.",
+ "validator_list_error_invalid_argument": "Parameter $1 har en eller flere ugyldige verdier.",
+ "validator-list-error-accepts-only": "En eller flere verdier for parameter $1 er ugyldige.\nDen godtar bare {{PLURAL:$3|denne verdien|disse verdiene}}: $2.",
+ "validator-list-error-accepts-only-omitted": "En eller flere verdier for parameter $1 er ugyldige.\nDen godtar bare {{PLURAL:$3|denne verdien|disse verdiene}}: $2 (og $4 {{PLURAL:$4|utelatt verdi|utelatte verdier}}).",
+ "validator_error_accepts_only": "Verdien «$4» er ikke gyldig for parameter $1. Den godtar kun {{PLURAL:$3|denne verdien|disse verdiene}}: $2.",
+ "validator-error-accepts-only-omitted": "Verdien «$2» er ikke gyldig for parameter $1.\nDen godtar bare {{PLURAL:$5|denne verdien|disse verdiene}}: $3 (og $4 {{PLURAL:$4|utelatt verdi|utelatte verdier}}).",
+ "validator_list_omitted": "{{PLURAL:$2|Verdien|Verdiene}} $1 har blitt utelatt."
+}
diff --git a/www/wiki/extensions/Validator/i18n/nl.json b/www/wiki/extensions/Validator/i18n/nl.json
new file mode 100644
index 00000000..e11b964a
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/nl.json
@@ -0,0 +1,94 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jeroen De Dauw",
+ "SPQRobin",
+ "Siebrand"
+ ]
+ },
+ "validator-desc": "Bibliotheek voor het verwerken van declaratieve parameters",
+ "validator-warning": "Waarschuwing: $1",
+ "validator-error": "Fout: $1",
+ "validator-fatal-error": "Onherstelbare fout: $1",
+ "validator_error_parameters": "In uw syntaxis {{PLURAL:$1|is de volgende fout|zijn de volgende fouten}} gedetecteerd:",
+ "validator_warning_parameters": "Er {{PLURAL:$1|zit een fout|zitten $1 fouten}} in uw syntaxis.",
+ "validator-warning-adittional-errors": "... en nog {{PLURAL:$1|een ander probleem|$1 andere problemen}}.",
+ "validator-error-omitted": "De {{PLURAL:$2|waarde \"$1\" ontbreekt|waarden \"$1\" ontbreken}}.",
+ "validator-error-problem": "Er was een probleem met de parameter $1.",
+ "validator_error_unknown_argument": "$1 is geen geldige parameter.",
+ "validator_error_required_missing": "De verplichte parameter $1 is niet opgegeven.",
+ "validator-error-override-argument": "Geprobeerd de parameter $1 (waarde: $2) te overschrijven met waarde \"$3\".",
+ "validator-type-string": "tekst",
+ "validator-type-integer": "geheel getal",
+ "validator-type-float": "getal",
+ "validator-type-boolean": "ja / nee",
+ "validator-type-char": "teken",
+ "validator-type-title": "paginanaam",
+ "validator-type-string-list": "lijst met teksten",
+ "validator-type-integer-list": "lijst met gehele getallen",
+ "validator-type-float-list": "lijst met getallen",
+ "validator-type-boolean-list": "lijst met ja/nee",
+ "validator-type-char-list": "lijst met tekens",
+ "validator-type-title-list": "lijst met paginanamen",
+ "validator-listerrors-errors": "Fouten",
+ "validator-listerrors-minor": "Overkomelijk",
+ "validator-listerrors-low": "Laag",
+ "validator-listerrors-normal": "Gemiddeld",
+ "validator-listerrors-high": "Groot",
+ "validator-listerrors-fatal": "Fataal",
+ "validator-listerrors-description": "Fouten en waarschuwingen weergeven die zijn opgetreden in parserhooks die via Validator zijn toegevoegd.\nGeeft alleen parserhooks weer die zijn toegevoegd voordat de fout is opgetreden;\nplaats fouten onderaan of bijna onderaan pagina's om alle fouten weer te geven.",
+ "validator-listerrors-par-minseverity": "De minimale ernst van een probleem voordat het wordt weergegeven.",
+ "validator-describe-description": "Maakt documentatie aan voor een of meer parserhooks die via Validator zijn gedefinieerd.",
+ "validator-describe-notfound": "Er is geen parserhook die \"$1\" afhandelt.",
+ "validator-describe-descriptionmsg": "'''Beschrijving''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliassen}}''': $1",
+ "validator-describe-parserfunction": "Alleen als parserfunctie geïmplementeerd.",
+ "validator-describe-tagextension": "Alleen als labeluitbreiding geïmplementeerd.",
+ "validator-describe-bothhooks": "Als parserfunctie en labeluitbreiding geïmplementeerd.",
+ "validator-describe-par-hooks": "Parserhooks waarvoor documentatie weergegeven moet worden.",
+ "validator-describe-par-pre": "Maakt het mogelijk de wikitekst voor de documentatie weer te geven zonder dat deze wordt verwerkt.",
+ "validator-describe-par-language": "De taal om de beschrijvingen in weer te geven",
+ "validator-describe-listtype": "Lijst met $1 items",
+ "validator-describe-empty": "leeg",
+ "validator-describe-required": "vereist",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Aliassen",
+ "validator-describe-header-type": "Type",
+ "validator-describe-header-default": "Standaard",
+ "validator-describe-header-description": "Beschrijving",
+ "validator-describe-parameters": "Parameters",
+ "validator-describe-syntax": "Syntaxis",
+ "validator-describe-tagmin": "Labeluitbreiding met alleen de verplichte parameters.",
+ "validator-describe-tagmax": "Labeluitbreiding met alle parameters.",
+ "validator-describe-tagdefault": "Labeluitbreiding met alle parameters die de standaard parameternotatie gebruiken.",
+ "validator-describe-pfmin": "Parserfunctie met alleen de verplichte parameters.",
+ "validator-describe-pfmax": "Parserfunctie met alle parameters.",
+ "validator-describe-pfdefault": "Parserfunctie met alle parameters die de standaard parameternotatie gebruiken.",
+ "validator-describe-autogen": "De inhoud van deze paragraaf is automatisch aangemaakt door de parserhook \"beschrijven\" (describe) van de uitbreiding Validator.",
+ "validator_error_empty_argument": "De parameter $1 mag niet leeg zijn.",
+ "validator_error_must_be_number": "De parameter $1 mag alleen een getal zijn.",
+ "validator_error_must_be_integer": "De parameter $1 kan alleen een heel getal zijn.",
+ "validator_error_must_be_title": "Parameter $1 kan alleen een geldige wikipaginanaam zijn.",
+ "validator_error_must_be_existing_title": "Parameter $1 kan alleen een bestaande wikipaginanaam zijn.",
+ "validator-error-must-be-float": "Parameter $1 kan alleen een getal met decimalen zijn.",
+ "validator_error_invalid_range": "De parameter $1 moet tussen $2 en $3 liggen.",
+ "validator-error-invalid-regex": "De parameter $1 moet voldoen aan deze reguliere expressie: $2.",
+ "validator-error-invalid-length": "Parameter $1 moet een lengte hebben van $2.",
+ "validator-error-invalid-length-range": "Parameter $1 moet een lengte hebben tussen $2 en $3.",
+ "validator_error_invalid_argument": "De waarde $1 is niet geldig voor de parameter $2.",
+ "validator_list_error_empty_argument": "Voor de parameter $1 zijn lege waarden niet toegestaan.",
+ "validator_list_error_must_be_number": "Voor de parameter $1 zijn alleen getallen toegestaan.",
+ "validator_list_error_must_be_integer": "Voor de parameter $1 zijn alleen hele getallen toegestaan.",
+ "validator_list_error_must_be_title": "Parameter $1 kan alleen geldige wikipaginanamen bevatten.",
+ "validator_list_error_must_be_existing_title": "Parameter $1 kan alleen bestaande wikipaginanamen bevatten.",
+ "validator-list-error-must-be-float": "Voor de parameter $1 zijn alleen getallen met drijvende komma toegestaan.",
+ "validator_list_error_invalid_range": "Alle waarden voor de parameter $1 moeten tussen $2 en $3 liggen.",
+ "validator-list-error-invalid-regex": "Alle waarden voor de parameter $1 moeten voldoen aan deze reguliere expressie: $2.",
+ "validator_list_error_invalid_argument": "Een of meerdere waarden voor de parameter $1 zijn ongeldig.",
+ "validator-list-error-accepts-only": "Een of meer waarden voor de parameter $1 zijn ongeldig.\nAlleen deze {{PLURAL:$3|waarde is|waarden zijn}} toegestaan: $2.",
+ "validator-list-error-accepts-only-omitted": "Een of meer waarden voor de parameter $1 zijn ongeldig.\nAlleen deze {{PLURAL:$3|waarde is|waarden zijn}} toegestaan: $2.\nAls ook $4 weggelaten {{PLURAL:$4|waarde|waarden}}.",
+ "validator_error_accepts_only": "De waarde \"$4\" is ongeldig voor parameter $1. Deze kan alleen de volgende {{PLURAL:$3|waarde|waarden}} hebben: $2.",
+ "validator-error-accepts-only-omitted": "De waarde \"$2\" is niet geldig voor de parameter $1.\nAlleen deze {{PLURAL:$5|waarde is|waarden zijn}} toegestaan: $3.\nAls ook $4 weggelaten {{PLURAL:$4|waarde|waarden}}.",
+ "validator_list_omitted": "De {{PLURAL:$2|waarde|waarden}} $1 {{PLURAL:$2|ontbreekt|ontbreken}}.",
+ "validator-message-nodesc": "Geen beschrijving"
+}
diff --git a/www/wiki/extensions/Validator/i18n/oc.json b/www/wiki/extensions/Validator/i18n/oc.json
new file mode 100644
index 00000000..d0eed61c
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/oc.json
@@ -0,0 +1,45 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cedric31",
+ "Jfblanc"
+ ]
+ },
+ "validator-desc": "Bibliotèca de tractament dels paramètres declaratius",
+ "validator-error": "Error : $1",
+ "validator-fatal-error": "Error fatal : $1",
+ "validator_error_parameters": "{{PLURAL:$1|L'error seguenta es estada detectada|Las errors seguentas son estadas detectadas}} dins vòstra sintaxi",
+ "validator_error_unknown_argument": "$1 es pas un paramètre valedor.",
+ "validator_error_required_missing": "Manca lo paramètre $1 qu'es obligatòri.",
+ "validator-type-string": "tèxte",
+ "validator-type-integer": "nombre entièr",
+ "validator-type-float": "nombre",
+ "validator-type-boolean": "òc/non",
+ "validator-type-char": "caractèr",
+ "validator-type-title": "títol",
+ "validator-type-string-list": "lista de tèxtes",
+ "validator-type-integer-list": "lista de nombres entièrs",
+ "validator-type-float-list": "lista de nombres",
+ "validator-listerrors-errors": "Errors",
+ "validator-listerrors-minor": "Menor",
+ "validator-listerrors-low": "Feble",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Elevat",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-describe-descriptionmsg": "'''Descripcion''' : $1",
+ "validator-describe-empty": "void",
+ "validator-describe-required": "requesit",
+ "validator-describe-header-parameter": "Paramètre",
+ "validator-describe-header-aliases": "Aliasses",
+ "validator-describe-header-type": "Tipe",
+ "validator-describe-header-default": "Per defaut",
+ "validator-describe-header-description": "Descripcion",
+ "validator-describe-parameters": "Paramètres",
+ "validator-describe-syntax": "Sintaxi",
+ "validator_error_empty_argument": "Lo paramètre $1 pòt pas estar voide.",
+ "validator_error_must_be_number": "Lo paramètre $1 deu èsser un nombre.",
+ "validator_error_must_be_integer": "Lo paramètre $1 deu èsser un nombre entièr.",
+ "validator_error_invalid_range": "Lo paramètre $1 deu èsser entre $2 e $3.",
+ "validator_error_invalid_argument": "$1 es pas valedor pel paramètre $2.",
+ "validator_error_accepts_only": "La valor « $4 » es pas valabla pel paramètre $1. Aqueste paramètre accèpta pas qu'{{PLURAL:$3|aquesta valor|aquestas valors}} : $2."
+}
diff --git a/www/wiki/extensions/Validator/i18n/os.json b/www/wiki/extensions/Validator/i18n/os.json
new file mode 100644
index 00000000..85ee81da
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/os.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amikeco"
+ ]
+ },
+ "validator-describe-empty": "афтид"
+}
diff --git a/www/wiki/extensions/Validator/i18n/pfl.json b/www/wiki/extensions/Validator/i18n/pfl.json
new file mode 100644
index 00000000..76fbccb9
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/pfl.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Manuae"
+ ]
+ },
+ "validator-type-string": "Tegschd",
+ "validator-type-boolean": "Ja/Nä",
+ "validator-type-char": "Zaische"
+}
diff --git a/www/wiki/extensions/Validator/i18n/pl.json b/www/wiki/extensions/Validator/i18n/pl.json
new file mode 100644
index 00000000..5dde86df
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/pl.json
@@ -0,0 +1,96 @@
+{
+ "@metadata": {
+ "authors": [
+ "BeginaFelicysym",
+ "Fizykaa",
+ "Matma Rex",
+ "Sp5uhe",
+ "Woytecr"
+ ]
+ },
+ "validator-desc": "Dostarcza innym rozszerzeniom ogólną obsługę parametrów",
+ "validator-warning": "Uwaga: $1",
+ "validator-error": "Błąd: $1",
+ "validator-fatal-error": "Błąd krytyczny – $1",
+ "validator_error_parameters": "W Twoim kodzie {{PLURAL:$1|został wykryty następujący błąd|zostały wykryte następujące błędy}} składni:",
+ "validator_warning_parameters": "W Twoim kodzie {{PLURAL:$1|wystąpił błąd|wystąpiły błędy}} składni.",
+ "validator-warning-adittional-errors": "... i {{PLURAL:$1|jeszcze jeden problem|wiele więcej problemów}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Wartość „$1” została pominięta|Wartości „$1” zostały pominięte}}.",
+ "validator-error-problem": "Wystąpił problem z parametrem $1.",
+ "validator_error_unknown_argument": "$1 jest niepoprawnym parametrem.",
+ "validator_error_required_missing": "Obowiązkowy parametr $1 nie został przekazany.",
+ "validator-error-override-argument": "Próba nadpisania parametru $1 o wartości „$2” nową wartością „$3”",
+ "validator-type-string": "tekst",
+ "validator-type-integer": "liczba całkowita",
+ "validator-type-float": "liczba rzeczywista",
+ "validator-type-boolean": "tak lub nie",
+ "validator-type-char": "znak",
+ "validator-type-title": "tytuł",
+ "validator-type-string-list": "lista ciągów znaków",
+ "validator-type-integer-list": "lista liczb całkowitych",
+ "validator-type-float-list": "lista liczb",
+ "validator-type-boolean-list": "lista tak/nie",
+ "validator-type-char-list": "lista znaków",
+ "validator-type-title-list": "lista tytułów",
+ "validator-listerrors-errors": "Błędy",
+ "validator-listerrors-minor": "Nieistotny",
+ "validator-listerrors-low": "Mało istotny",
+ "validator-listerrors-normal": "Typowy",
+ "validator-listerrors-high": "Istotny",
+ "validator-listerrors-fatal": "Krytyczny",
+ "validator-listerrors-description": "Wyświetla błędy (i ostrzeżenia), które wystąpiły w przechwyceniu parsera dodawanemu przez walidator.\nTylko wyświetlenia dla przechwyceń parsera dodanych powyżej miejsca umieszczenia listerrors;\n umieść listerrors na lub w pobliżu końca strony, aby uzyskać wszystkie błędy.",
+ "validator-listerrors-par-minseverity": "Minimalna waga problemu aby został wymieniony.",
+ "validator-describe-description": "Generuje dokumentację dla jednego lub więcej przechwyceń parsera, zdefiniowanych przez walidator.",
+ "validator-describe-notfound": "Nie ma żadnych przechwyceń analizatora składni, obsługujących \" $1 \".",
+ "validator-describe-descriptionmsg": "'''Opis''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliasy}}''': $1",
+ "validator-describe-parserfunction": "Zaimplementowano wyłącznie jako funkcję parsera.",
+ "validator-describe-tagextension": "Zaimplementowano wyłącznie jako rozszerzenie znacznika.",
+ "validator-describe-bothhooks": "Zaimplementowano jako zarówno funkcję parsera i rozszerzenie znacznika.",
+ "validator-describe-par-hooks": "Przechwycenia parsera, dla których wyświetlić dokumentację.",
+ "validator-describe-par-pre": "Umożliwia uzyskanie rzeczywistego wikitekstu dokumentacji, bez renderowania na stronie.",
+ "validator-describe-par-language": "Język wyświetlania opisów",
+ "validator-describe-listtype": "Lista $1 elementów",
+ "validator-describe-empty": "puste",
+ "validator-describe-required": "wymagane",
+ "validator-describe-header-parameter": "Parametr",
+ "validator-describe-header-aliases": "Aliasy",
+ "validator-describe-header-type": "Typ",
+ "validator-describe-header-default": "Domyślnie",
+ "validator-describe-header-description": "Opis",
+ "validator-describe-parameters": "Parametry",
+ "validator-describe-syntax": "Składnia",
+ "validator-describe-tagmin": "Rozszerzenie znacznika wyłącznie z wymaganymi parametrami.",
+ "validator-describe-tagmax": "Rozszerzenie znacznika ze wszystkimi parametrami.",
+ "validator-describe-tagdefault": "Rozszerzenie znacznika z wszystkimi parametrami przy użyciu domyślnej notacji parametrów.",
+ "validator-describe-pfmin": "Funkcja parsera wyłącznie z wymaganymi parametrami.",
+ "validator-describe-pfmax": "Funkcja parsera ze wszystkimi parametrami.",
+ "validator-describe-pfdefault": "Funkcja analizatora składni ze wszystkimi parametrami przy użyciu domyślnej notacji parametrów.",
+ "validator-describe-autogen": "Zawartość niniejszej sekcji została automatycznie wygenerowana przez przechwycenie analizatora składni \"describe\" rozszerzenia walidatora.",
+ "validator_error_empty_argument": "Parametr $1 nie może być pusty.",
+ "validator_error_must_be_number": "Parametr $1 musi być liczbą.",
+ "validator_error_must_be_integer": "Parametr $1 musi być liczbą całkowitą.",
+ "validator_error_must_be_title": "Parametr $1 może być tylko poprawną nazwą strony wiki.",
+ "validator_error_must_be_existing_title": "Parametr $1 może być tylko nazwą istniejącej strony wiki.",
+ "validator-error-must-be-float": "Parametr $1 musi być liczbą rzeczywistą.",
+ "validator_error_invalid_range": "Parametr $1 musi zawierać się w przedziale od $2 do $3.",
+ "validator-error-invalid-regex": "Parametr $1 musi pasować do wyrażenia regularnego $2.",
+ "validator-error-invalid-length": "Parametr $1 musi mieć długość $2.",
+ "validator-error-invalid-length-range": "Długość parametru $1 musi zawierać się w przedziale od $2 do $3.",
+ "validator_error_invalid_argument": "Nieprawidłowa wartość $1 parametru $2.",
+ "validator_list_error_empty_argument": "Parametr $1 nie może być pusty.",
+ "validator_list_error_must_be_number": "Parametrem $1 mogą być wyłącznie liczby.",
+ "validator_list_error_must_be_integer": "Parametrem $1 mogą być wyłącznie liczby całkowite.",
+ "validator_list_error_must_be_title": "Parametr $1 może być tylko poprawnymi nazwami stron wiki.",
+ "validator_list_error_must_be_existing_title": "Parametr $1 może być tylko nazwami istniejących stron wiki.",
+ "validator-list-error-must-be-float": "Parametrem $1 mogą być wyłącznie liczby rzeczywiste.",
+ "validator_list_error_invalid_range": "Wartości parametru $1 muszą zawierać się w przedziale od $2 do $3.",
+ "validator-list-error-invalid-regex": "Wszystkie wartości parametru $1 muszą pasować do wyrażenia regularnego $2.",
+ "validator_list_error_invalid_argument": "Przynajmniej jedna wartość parametru $1 jest nieprawidłowa.",
+ "validator-list-error-accepts-only": "Jedna lub więcej wartości parametru $1 są nieprawidłowe.\nMoże przyjmować wyłącznie {{PLURAL:$3|wartość|wartości:}} $2.",
+ "validator-list-error-accepts-only-omitted": "Jedna lub więcej wartości parametru $1 są nieprawidłowe.\nMoże przyjmować wyłącznie {{PLURAL:$3|wartość|wartości:}} $2 (oraz $4 {{PLURAL:$4|pominiętą wartość|pominięte wartości|pominiętych wartości}}).",
+ "validator_error_accepts_only": "Wartość „$4” jest nieprawidłowa dla parametru $1. {{PLURAL:$3|Dopuszczalna jest wyłącznie wartość|Dopuszczalne są wyłącznie wartości:}} $2.",
+ "validator-error-accepts-only-omitted": "Wartość „$2” parametru $1 jest nieprawidłowa.\nParametr może przyjmować wyłącznie {{PLURAL:$5|wartość|wartości:}} $3 (oraz $4 {{PLURAL:$4|pominiętą wartość|pominięte wartości|pominiętych wartości}}).",
+ "validator_list_omitted": "{{PLURAL:$2|Parametr|Parametry}} $1 {{PLURAL:$2|został opuszczony|zostały opuszczone}}.",
+ "validator-message-nodesc": "Nie podano opisu"
+}
diff --git a/www/wiki/extensions/Validator/i18n/pms.json b/www/wiki/extensions/Validator/i18n/pms.json
new file mode 100644
index 00000000..d33f7ac0
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/pms.json
@@ -0,0 +1,94 @@
+{
+ "@metadata": {
+ "authors": [
+ "Borichèt",
+ "Dragonòt",
+ "McDutchie"
+ ]
+ },
+ "validator-desc": "Librarìe ëd tratament dij paràmeter diciairativ",
+ "validator-warning": "Avis: $1",
+ "validator-error": "Eror: $1",
+ "validator-fatal-error": "Eror Fatal: $1",
+ "validator_error_parameters": "{{PLURAL:$1|L'eror sì-sota a l'é stàit|J'eror sì-sota a son ëstàit}} trovà an soa sintassi:",
+ "validator_warning_parameters": "{{PLURAL:$1|A-i é n'|A-i son dj'}}eror ant soa sintassi.",
+ "validator-warning-adittional-errors": "... e {{PLURAL:$1|ëdcò n'àutr problema|vàire àutri problema}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Ël valor \"$1\" a l'é|Ij valor \"$1\" a son}} stàit sautà.",
+ "validator-error-problem": "A-i é staje un problema con ël paràmetr $1.",
+ "validator_error_unknown_argument": "$1 a l'é un paràmetr pa bon.",
+ "validator_error_required_missing": "Ël paràmetr obligatòri $1 a l'é pa dàit.",
+ "validator-error-override-argument": "Provà a coaté ël paràmetr $1 (valor: $2) con ël valor \"$3\"",
+ "validator-type-string": "test",
+ "validator-type-integer": "nùmer antregh",
+ "validator-type-float": "nùmer",
+ "validator-type-boolean": "bò/nò",
+ "validator-type-char": "caràter",
+ "validator-type-title": "tìtol",
+ "validator-type-string-list": "lista ëd test",
+ "validator-type-integer-list": "lista d'antregh",
+ "validator-type-float-list": "lista ëd nùmer",
+ "validator-type-boolean-list": "lista ëd sì/nò",
+ "validator-type-char-list": "caràter ëd la lista",
+ "validator-type-title-list": "lista ëd tìtoj",
+ "validator-listerrors-errors": "Eror",
+ "validator-listerrors-minor": "Pi cit",
+ "validator-listerrors-low": "Bass",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Àut",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-listerrors-description": "A lista j'eror (e j'avis) che a son capità ant ij gancio ëd l'analisator sintàtich via Validator.\nMach le liste dij gancio ëd l'analisator sintàtich giontà anté ch'a-i é listerrors a son anserìe;\npiassé listerrors dzora o davzin ël fond ëd la pàgina për ciapé tùit j'eror.",
+ "validator-listerrors-par-minseverity": "La gravità mìnima ëd n'eror përchè a sia listà.",
+ "validator-describe-description": "A genera la documentassion për un o pi gancio ëd l'analisator sintàtich definì via Validator.",
+ "validator-describe-notfound": "A-i é gnun gancio ëd l'analisator sintàtich ch'a gestissa \"$1\".",
+ "validator-describe-descriptionmsg": "'''Descrission''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Alias}}''': $1",
+ "validator-describe-parserfunction": "Realisà mach com funsion ëd l'analisator sintàtich.",
+ "validator-describe-tagextension": "Realisà mach com estension ëd tichëtta.",
+ "validator-describe-bothhooks": "Realisà sia com funsion ëd l'analisator sintàtich che com estension ëd tichëtta.",
+ "validator-describe-par-hooks": "Ij gancio ëd l'analisator sintàtich dont ësmon-e la documentassion.",
+ "validator-describe-par-pre": "A-j përmët d'avèj ël wikitest atual për la documentassion, sensa ch'a sia smonù an sla pàgina.",
+ "validator-describe-par-language": "La lenga ant la qual smon-e le descrission",
+ "validator-describe-listtype": "Lista ëd $1 element",
+ "validator-describe-empty": "veuid",
+ "validator-describe-required": "ciamà",
+ "validator-describe-header-parameter": "Paràmetr",
+ "validator-describe-header-aliases": "Alias",
+ "validator-describe-header-type": "Sòrt",
+ "validator-describe-header-default": "Për sòlit",
+ "validator-describe-header-description": "Descrission",
+ "validator-describe-parameters": "Paràmetr",
+ "validator-describe-syntax": "Sintassi",
+ "validator-describe-tagmin": "Estension ëd tichëtta con mach ij paràmetr obligatòri.",
+ "validator-describe-tagmax": "Estension ëd tichëtta con tùit ij paràmetr.",
+ "validator-describe-tagdefault": "Estension ëd tichëtta con tùit ij paràmetr an dovrand la notassion dë stàndard dij paràmetr.",
+ "validator-describe-pfmin": "Funsion ëd l'analisator sintàtich con mach ij paràmetr obligatòri.",
+ "validator-describe-pfmax": "Funsion ëd l'analisator sintàtich con tùit ij paràmetr.",
+ "validator-describe-pfdefault": "Funsion ëd l'analisator sintàtich con tùit ij paràmetr an dovrand la notassion dë stàndard dij paràmetr.",
+ "validator-describe-autogen": "Ël contnù dë sta session a l'é stàit generà an automàtich dal gancio \"descrive\" ëd l'analisator sintàtich ëd l'estension ëd Validator.",
+ "validator_error_empty_argument": "Ël paràmetr $1 a peul pa avèj un valor veuid.",
+ "validator_error_must_be_number": "Ël paràmetr $1 a peul mach esse un nùmer.",
+ "validator_error_must_be_integer": "Ël paràmetr $1 a peul mach esse n'antregh.",
+ "validator_error_must_be_title": "Ël paràmeter $1 a peul mach esse un nòm ëd pàgina wiki bon.",
+ "validator_error_must_be_existing_title": "Ël paràmetr $1 a peul mach esse un nòm ëd pàgina wiki esistenta.",
+ "validator-error-must-be-float": "Ël paràmetr $1 a peul mach esse un nùmer an vìrgola mòbil.",
+ "validator_error_invalid_range": "Ël paràmetr $1 a deuv esse an tra $2 e $3.",
+ "validator-error-invalid-regex": "Ël paràmetr $1 a dev cobiesse con sta espression regolar: $2.",
+ "validator-error-invalid-length": "Ël paràmetr $1 a dev avèj na longheur ëd $2.",
+ "validator-error-invalid-length-range": "Ël paràmetr $1 a dev avèj na longheur antra $2 e $3.",
+ "validator_error_invalid_argument": "Ël valor $1 a l'é pa bon për ël paràmetr $2.",
+ "validator_list_error_empty_argument": "Ël paràmetr $1 a aceta pa dij valor veuid.",
+ "validator_list_error_must_be_number": "Ël paràmetr $1 a peul mach conten-e dij nùmer.",
+ "validator_list_error_must_be_integer": "Ël paràmetr $1 a peul mach conten-e dj'antegr.",
+ "validator_list_error_must_be_title": "Ël paràmetr $1 a peul mach conten-e dij nòm ëd pàgina wiki bon.",
+ "validator_list_error_must_be_existing_title": "Ël paràmetr $1 a peul mach conten-e dij nòm ëd pàgine wiki esistente.",
+ "validator-list-error-must-be-float": "Ël paràmetr $1 a peul mach conten-e dij nùmer con vìrgola.",
+ "validator_list_error_invalid_range": "Tùit ij valor dël paràmetr $1 a deuvo esse tra $2 e $3.",
+ "validator-list-error-invalid-regex": "Tùit ij valor dël paràmetr $1 a devo cobiesse con sta espression regolar: $2.",
+ "validator_list_error_invalid_argument": "Un o pi valor dël paràmetr $1 a son pa bon.",
+ "validator-list-error-accepts-only": "Un o pi valor për ël paràmetr $1 a son pa bon.\nA aceta mach {{PLURAL:$3|sto valor|sti valor}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Un o pi valor për ël paràmetr $1 a son pa bon.\nA aceta mach {{PLURAL:$3|sto valor|sti valor}}: $2 (e $4 {{PLURAL:$4|valor|valor}} sautà).",
+ "validator_error_accepts_only": "Ël valor \"$4\" a l'é pa bon për ël paràmetr $1. A aceta mach {{PLURAL:$3|sto valor-sì|sti valor-sì}}: $2.",
+ "validator-error-accepts-only-omitted": "Ël valor \"$2\" a l'é pa bon për ël paràmetr $1. A aceta mach sti valor: $3 (e ij valor pa butà $4).",
+ "validator_list_omitted": "{{PLURAL:$2|Ël valor|Ij valor}} $1 {{PLURAL:$2|a l'é|a son}} pa stàit butà.",
+ "validator-message-nodesc": "Gnun-a descrission fornìa"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ps.json b/www/wiki/extensions/Validator/i18n/ps.json
new file mode 100644
index 00000000..873863ec
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ps.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ahmed-Najib-Biabani-Ibrahimkhel"
+ ]
+ },
+ "validator-error": "تېروتنه: $1",
+ "validator-type-string": "متن",
+ "validator-type-float": "شمېره",
+ "validator-type-boolean": "هو/نه",
+ "validator-type-char": "لوښه",
+ "validator-type-title": "سرليک",
+ "validator-type-float-list": "د شمېرو لړليک",
+ "validator-type-boolean-list": "د هو/نه لړليک",
+ "validator-type-char-list": "د لوښو لړليک",
+ "validator-listerrors-errors": "تېروتنې",
+ "validator-listerrors-normal": "نورمال",
+ "validator-describe-empty": "تش",
+ "validator-describe-header-default": "تلواليز",
+ "validator-describe-header-description": "څرگندونه"
+}
diff --git a/www/wiki/extensions/Validator/i18n/pt-br.json b/www/wiki/extensions/Validator/i18n/pt-br.json
new file mode 100644
index 00000000..895668ac
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/pt-br.json
@@ -0,0 +1,96 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cainamarques",
+ "Giro720",
+ "Jaideraf",
+ "Luckas",
+ "Luckas Blade"
+ ]
+ },
+ "validator-desc": "Biblioteca para o processamento de parâmetros declarativos",
+ "validator-warning": "Atenção: $1",
+ "validator-error": "Erro: $1",
+ "validator-fatal-error": "Erro crítico: $1",
+ "validator_error_parameters": "{{PLURAL:$1|Foi detectado o seguinte erro sintático|Foram detectados os seguintes erros sintáticos}}:",
+ "validator_warning_parameters": "{{PLURAL:$1|Existe um erro|Existem erros}} em sua sintaxe.",
+ "validator-warning-adittional-errors": "... e {{PLURAL:$1|mais um problema|vários outros problemas}}.",
+ "validator-error-omitted": "{{PLURAL:$2|O valor \"$1\" foi omitido|Os valores \"$1\" foram omitidos}}.",
+ "validator-error-problem": "Houve um problema com o parâmetro $1.",
+ "validator_error_unknown_argument": "$1 não é um parâmetro válido.",
+ "validator_error_required_missing": "O parâmetro obrigatório \"$1\" não foi fornecido.",
+ "validator-error-override-argument": "Tentativa de sobrepor o parâmetro $1 (valor: $2) com o valor \"$3\"",
+ "validator-type-string": "texto",
+ "validator-type-integer": "número inteiro",
+ "validator-type-float": "número",
+ "validator-type-boolean": "sim/não",
+ "validator-type-char": "caractere",
+ "validator-type-title": "título",
+ "validator-type-string-list": "lista de textos",
+ "validator-type-integer-list": "lista de números inteiros",
+ "validator-type-float-list": "lista de números",
+ "validator-type-boolean-list": "lista de sim/não",
+ "validator-type-char-list": "lista de caracteres",
+ "validator-type-title-list": "lista de títulos",
+ "validator-listerrors-errors": "Erros",
+ "validator-listerrors-minor": "Menor",
+ "validator-listerrors-low": "Baixo",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Alto",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-listerrors-description": "Lista os erros (e avisos) que ocorreram nos hooks do analisador sintático adicionados através da extensão Validator.\nConstarão na lista apenas os hooks adicionados acima de onde estão inseridos os listerrors;\npara obter todos os erros, coloque listerrors ao final da página.",
+ "validator-listerrors-par-minseverity": "A gravidade mínima de um problema para que ele seja listado.",
+ "validator-describe-description": "Gera a documentação para um ou mais hooks do analisador sintático definidos através da extensão Validator.",
+ "validator-describe-notfound": "Não existe qualquer hook para lidar com \"$1\".",
+ "validator-describe-descriptionmsg": "'''Descrição''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Nome alternativo|Nomes alternativos}}''': $1",
+ "validator-describe-parserfunction": "Implementado apenas como parser function.",
+ "validator-describe-tagextension": "Implementado apenas como extensão de tag.",
+ "validator-describe-bothhooks": "Implementado tanto como parser function e como extensão de tag.",
+ "validator-describe-par-hooks": "Os hooks do analisador sintático para os quais serão mostradas a documentação.",
+ "validator-describe-par-pre": "Permite obter o wikitexto real da documentação sem que ele esteja formatado na página.",
+ "validator-describe-par-language": "A língua em que as descrições serão apresentadas",
+ "validator-describe-listtype": "Lista de $1 itens",
+ "validator-describe-empty": "vazio",
+ "validator-describe-required": "obrigatório",
+ "validator-describe-header-parameter": "Parâmetro",
+ "validator-describe-header-aliases": "Nomes alternativos",
+ "validator-describe-header-type": "Tipo",
+ "validator-describe-header-default": "Padrão",
+ "validator-describe-header-description": "Descrição",
+ "validator-describe-parameters": "Parâmetros",
+ "validator-describe-syntax": "Sintaxe",
+ "validator-describe-tagmin": "Extensão de tag só com os parâmetros obrigatórios.",
+ "validator-describe-tagmax": "Extensão de tag com todos os parâmetros.",
+ "validator-describe-tagdefault": "Extensão de tag com todos os parâmetros utilizando a notação de parâmetro padrão.",
+ "validator-describe-pfmin": "Parser function só com os parâmetros obrigatórios.",
+ "validator-describe-pfmax": "Parser function com todos os parâmetros.",
+ "validator-describe-pfdefault": "Parser function com todos os parâmetros utilizando a notação de parâmetro padrão.",
+ "validator-describe-autogen": "O conteúdo desta seção foi gerado de forma automática pelo hook \"describe\" do analisador sintático criado pela extensão Validator.",
+ "validator_error_empty_argument": "O parâmetro $1 não pode estar vazio.",
+ "validator_error_must_be_number": "O parâmetro $1 só pode ser um número.",
+ "validator_error_must_be_integer": "O parâmetro $1 só pode ser um número inteiro.",
+ "validator_error_must_be_title": "O parâmetro $1 só pode ser um nome válido de página wiki.",
+ "validator_error_must_be_existing_title": "O parâmetro $1 só pode ser um nome de página wiki existente.",
+ "validator-error-must-be-float": "O parâmetro $1 deve ser um número de ponto flutuante.",
+ "validator_error_invalid_range": "O parâmetro $1 precisa estar entre $2 e $3.",
+ "validator-error-invalid-regex": "O parâmetro $1 deve corresponder à expressão regular: $2.",
+ "validator-error-invalid-length": "O parâmetro $1 deve ter um comprimento de $2.",
+ "validator-error-invalid-length-range": "O parâmetro $1 precisa ter um comprimento entre $2 e $3.",
+ "validator_error_invalid_argument": "O valor $1 não é válido para o parâmetro $2.",
+ "validator_list_error_empty_argument": "O parâmetro $1 não pode estar vazio.",
+ "validator_list_error_must_be_number": "O parâmetro $1 só pode conter números.",
+ "validator_list_error_must_be_integer": "O parâmetro $1 só pode conter números inteiros.",
+ "validator_list_error_must_be_title": "O parâmetro $1 só pode conter nomes válidos de páginas wiki.",
+ "validator_list_error_must_be_existing_title": "O parâmetro $1 só pode conter nomes de páginas wiki existentes.",
+ "validator-list-error-must-be-float": "O parâmetro $1 só pode conter valores de ponto flutuante.",
+ "validator_list_error_invalid_range": "Todos os valores do parâmetro $1 precisam estar entre $2 e $3.",
+ "validator-list-error-invalid-regex": "Todos os valores do parâmetro $1 devem corresponder à expressão regular: $2.",
+ "validator_list_error_invalid_argument": "Um ou mais valores do parâmetro $1 são inválidos.",
+ "validator-list-error-accepts-only": "Um ou mais valores para o parâmetro $1 são inválidos. Só {{PLURAL:$3|é permitido este valor|são permitidos estes valores}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Um ou mais valores para o parâmetro $1 são inválidos. Só {{PLURAL:$3|é permitido este valor|são permitidos estes valores}}: $2 (e $4 {{PLURAL:$4|valor omitido|valores omitidos}}).",
+ "validator_error_accepts_only": "O valor \"$4\" não é válido para o parâmetro $1. Esse parâmetro só aceita {{PLURAL:$3|este valor|estes valores}}: $2.",
+ "validator-error-accepts-only-omitted": "O valor \"$2\" não é válido para o parâmetro $1. Só {{PLURAL:$5|é permitido este valor|são permitidos estes valores}}: $3 (e $4 {{PLURAL:$4|valor omitido|valores omitidos}}).",
+ "validator_list_omitted": "{{PLURAL:$2|O valor $1 foi omitido|Os valores $1 foram omitidos}}.",
+ "validator-message-nodesc": "Nenhuma descrição fornecida"
+}
diff --git a/www/wiki/extensions/Validator/i18n/pt.json b/www/wiki/extensions/Validator/i18n/pt.json
new file mode 100644
index 00000000..8554e5a9
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/pt.json
@@ -0,0 +1,94 @@
+{
+ "@metadata": {
+ "authors": [
+ "Giro720",
+ "Hamilton Abreu",
+ "Lijealso",
+ "Luckas",
+ "SandroHc",
+ "Waldir"
+ ]
+ },
+ "validator-desc": "O Serviço de Validação permite que, de forma simples, as outras extensões possam validar parâmetros das funções do analisador sintáctico e das extensões dos elementos HTML, definir valores por omissão e gerar mensagens de erro",
+ "validator-warning": "Aviso: $1",
+ "validator-error": "Erro: $1",
+ "validator-fatal-error": "Erro fatal: $1",
+ "validator_error_parameters": "{{PLURAL:$1|Foi detectado o seguinte erro sintático|Foram detectados os seguintes erros sintáticos}}:",
+ "validator_warning_parameters": "{{PLURAL:$1|Existe um erro sintáctico|Existem erros sintácticos}}.",
+ "validator-warning-adittional-errors": "... e {{PLURAL:$1|mais um problema|vários outros problemas}}.",
+ "validator-error-omitted": "{{PLURAL:$2|O valor \"$1\" foi omitido|Os valores \"$1\" foram omitidos}}.",
+ "validator-error-problem": "Houve um problema com o parâmetro $1.",
+ "validator_error_unknown_argument": "$1 não é um parâmetro válido.",
+ "validator_error_required_missing": "O parâmetro obrigatório $1 não foi fornecido.",
+ "validator-error-override-argument": "Tentativa de sobrepor o parâmetro $1 (valor: $2) com o valor \"$3\"",
+ "validator-type-string": "texto",
+ "validator-type-integer": "número inteiro",
+ "validator-type-float": "número",
+ "validator-type-boolean": "sim/não",
+ "validator-type-char": "carácter",
+ "validator-type-title": "título",
+ "validator-type-string-list": "lista de textos",
+ "validator-type-integer-list": "lista de números inteiros",
+ "validator-type-float-list": "lista de números",
+ "validator-type-boolean-list": "lista de sim/não",
+ "validator-type-char-list": "lista de caracteres",
+ "validator-type-title-list": "lista de títulos",
+ "validator-listerrors-errors": "Erros",
+ "validator-listerrors-minor": "Menor",
+ "validator-listerrors-low": "Baixo",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Alto",
+ "validator-listerrors-fatal": "Fatal",
+ "validator-listerrors-description": "Lista os erros (e avisos) que ocorreram nos hooks do analisador sintáctico adicionados através do Serviço de Validação.\nDa lista constarão apenas os hooks que apareçam acima do ponto na página onde está listerrors;\npara obter todos os erros, coloque listerrors ao fundo da página.",
+ "validator-listerrors-par-minseverity": "A gravidade mínima de um problema, para que este seja listado.",
+ "validator-describe-description": "Gera documentação para um ou mais hooks do analisador sintáctico definidos através do Serviço de Validação.",
+ "validator-describe-notfound": "Não existe nenhum hook para lidar com \"$1\".",
+ "validator-describe-descriptionmsg": "'''Descrição''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Nome alternativo|Nomes alternativos}}''': $1",
+ "validator-describe-parserfunction": "Implementada apenas como função do analisador sintáctico.",
+ "validator-describe-tagextension": "Implementada apenas como extensão de tag.",
+ "validator-describe-bothhooks": "Implementada como função do analisador sintáctico e como extensão de tag.",
+ "validator-describe-par-hooks": "Os hooks do analisador sintáctico para os quais será mostrada documentação.",
+ "validator-describe-par-pre": "Permite obter o texto wiki real da documentação, sem que este seja formatado na página.",
+ "validator-describe-par-language": "A língua em que as descrições serão apresentadas",
+ "validator-describe-listtype": "Lista de $1 elementos",
+ "validator-describe-empty": "vazio",
+ "validator-describe-required": "necessário",
+ "validator-describe-header-parameter": "Parâmetro",
+ "validator-describe-header-aliases": "Nomes alternativos",
+ "validator-describe-header-type": "Tipo",
+ "validator-describe-header-default": "Por omissão",
+ "validator-describe-header-description": "Descrição",
+ "validator-describe-parameters": "Parâmetros",
+ "validator-describe-syntax": "Sintaxe",
+ "validator-describe-tagmin": "Extensão de tag só com os parâmetros obrigatórios.",
+ "validator-describe-tagmax": "Extensão de tag com todos os parâmetros.",
+ "validator-describe-tagdefault": "Extensão de tag com todos os parâmetros, usando a notação do parâmetro por omissão.",
+ "validator-describe-pfmin": "Função do analisador sintáctico só com os parâmetros obrigatórios.",
+ "validator-describe-pfmax": "Função do analisador sintáctico com todos os parâmetros.",
+ "validator-describe-pfdefault": "Função do analisador sintáctico com todos os parâmetros, usando a notação do parâmetro por omissão.",
+ "validator-describe-autogen": "O conteúdo desta seção foi gerado de forma automática pelo hook \"describe\" do analisador sintático, criado pela extensão Serviço de Validação.",
+ "validator_error_empty_argument": "O parâmetro $1 não pode estar vazio.",
+ "validator_error_must_be_number": "O parâmetro $1 só pode ser numérico.",
+ "validator_error_must_be_integer": "O parâmetro $1 só pode ser um número inteiro.",
+ "validator_error_must_be_title": "O parâmetro $1 só pode ser um nome válido de página wiki.",
+ "validator_error_must_be_existing_title": "O parâmetro $1 só pode ser um nome de uma página wiki já existente.",
+ "validator-error-must-be-float": "O parâmetro $1 só pode ser um número de vírgula flutuante.",
+ "validator_error_invalid_range": "O parâmetro $1 tem de ser entre $2 e $3.",
+ "validator-error-invalid-regex": "O parâmetro $1 deve corresponder à expressão regular: $2.",
+ "validator-error-invalid-length": "O parâmetro $1 tem de ter um comprimento de $2.",
+ "validator-error-invalid-length-range": "O parâmetro $1 tem de ter um comprimento entre $2 e $3.",
+ "validator_error_invalid_argument": "O valor $1 não é válido para o parâmetro $2.",
+ "validator_list_error_empty_argument": "O parâmetro $1 não pode estar vazio.",
+ "validator_list_error_must_be_number": "O parâmetro $1 só pode ser numérico.",
+ "validator_list_error_must_be_integer": "O parâmetro $1 só pode ser um número inteiro.",
+ "validator-list-error-must-be-float": "O parâmetro $1 só pode conter valores de vírgula flutuante.",
+ "validator_list_error_invalid_range": "Todos os valores do parâmetro $1 têm de ser entre $2 e $3.",
+ "validator-list-error-invalid-regex": "Todos os valores do parâmetro $1 devem corresponder à expressão regular: $2.",
+ "validator_list_error_invalid_argument": "Um ou mais valores do parâmetro $1 são inválidos.",
+ "validator-list-error-accepts-only": "Um ou mais valores para o parâmetro $1 são inválidos.\nSó {{PLURAL:$3|é aceite este valor|são aceites estes valores}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Um ou mais valores para o parâmetro $1 são inválidos.\nSó {{PLURAL:$3|é aceite este valor|são aceites estes valores}}: $2 (e $4 {{PLURAL:$4|valor omitido|valores omitidos}}).",
+ "validator_error_accepts_only": "O valor \"$4\" não é válido para o parâmetro $1. O parâmetro só aceita {{PLURAL:$3|este valor|estes valores}}: $2.",
+ "validator-error-accepts-only-omitted": "O valor $2 não é válido para o parâmetro $1.\nSó {{PLURAL:$5|é aceite este valor|são aceites estes valores}}: $3 (e $4 {{PLURAL:$4|valor omitido|valores omitidos}}).",
+ "validator_list_omitted": "{{PLURAL:$2|O valor $1 foi omitido|Os valores $1 foram omitidos}}."
+}
diff --git a/www/wiki/extensions/Validator/i18n/qqq.json b/www/wiki/extensions/Validator/i18n/qqq.json
new file mode 100644
index 00000000..d19a6379
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/qqq.json
@@ -0,0 +1,101 @@
+{
+ "@metadata": {
+ "authors": [
+ "EugeneZelenko",
+ "Fryed-peach",
+ "Kghbln",
+ "Purodha",
+ "Raymond",
+ "Shirayuki",
+ "Liuxinyu970226",
+ "Umherirrender"
+ ]
+ },
+ "validator-desc": "{{desc|name=Validator|url=https://www.mediawiki.org/wiki/Extension:Validator}}",
+ "validator-warning": "This message indicates an error detected. $1 holds the warning message.\n\n{{Identical|Warning}}",
+ "validator-error": "This message indicates an error detected. $1 holds the error report.\n\n{{Identical|Error}}",
+ "validator-fatal-error": "This message indicates a fatal error detected. $1 holds the fatal error report.",
+ "validator_error_parameters": "Parameters:\n* $1 is the number of syntax errors, for PLURAL support (optional)",
+ "validator_warning_parameters": "Parameters:\n* $1 - the number of syntax errors, for PLURAL support (optional)",
+ "validator-warning-adittional-errors": "Parameters:\n* $1 - number of issues",
+ "validator-error-omitted": "Parameters:\n* $1 - ...\n* $2 - number of values",
+ "validator-error-problem": "This is an error message. $1 holds the name of the parameter causing the error.",
+ "validator_error_unknown_argument": "This is an error message. Parameters:\n* $1 - the name of the erroneous parameter provided",
+ "validator_error_required_missing": "This is an error message. $1 holds the name of the parameter which was not provided.",
+ "validator-error-override-argument": "Parameters:\n* $1 - parameter name\n* $2 - old value\n* $3 - new value",
+ "validator-type-string": "This is the name of a type of values that may be assigned to a parameter. In this case it is some \"text\" (string).\n{{Related|Validator-type}}\n{{Identical|Text}}",
+ "validator-type-integer": "This is the name of a type of values that may be assigned to a parameter. In this case it is some \"whole number\" (integer).\n{{Related|Validator-type}}",
+ "validator-type-float": "This is the name of a type of values that may be assigned to a parameter. In this case it is some \"number\".\n{{Related|Validator-type}}\n{{Identical|Number}}",
+ "validator-type-boolean": "This is the name of a type of values that may be assigned to a parameter. In this case it is a boolean value (yes or no).\n{{Related|Validator-type}}",
+ "validator-type-char": "This is the name of a type of values that may be assigned to a parameter. In this case it is some \"character\".\n{{Related|Validator-type}}\n{{Identical|Character}}",
+ "validator-type-dimension": "This is the name of a type of values that may be assigned to a parameter. In this case it is some \"number with a dimensional unit\", e.g. 5px, 2em, etc.,\n{{Related|Validator-type}}",
+ "validator-type-title": "This is the name of a type of values that may be assigned to a parameter. In this case it is the \"title\" of a page.\n{{Related|Validator-type}}\n{{Identical|Title}}",
+ "validator-type-string-list": "This is the name of a type of values that may be assigned to a parameter. In this case multiple \"texts\" (strings).\n{{Related|Validator-type}}",
+ "validator-type-integer-list": "This is the name of a type of values that may be assigned to a parameter. In this case multiple \"whole numbers\" (integers).\n{{Related|Validator-type}}",
+ "validator-type-float-list": "This is the name of a type of values that may be assigned to a parameter. In this case multiple \"numbers\".\n{{Related|Validator-type}}",
+ "validator-type-boolean-list": "This is the name of a type of values that may be assigned to a parameter. In this case multiple \"booleans\" (yes or no).\n{{Related|Validator-type}}",
+ "validator-type-char-list": "This is the name of a type of values that may be assigned to a parameter. In this case multiple \"characters\".\n{{Related|Validator-type}}",
+ "validator-type-title-list": "This is the name of a type of values that may be assigned to a parameter. In this case multiple \"page names\".\n{{Related|Validator-type}}",
+ "validator-listerrors-errors": "This is the title of the section added to a page after inserting the \"listerrors\" tag or the \"listerrors\" parser function. Possible errors which were detected are listed in this section.\n\n{{Identical|Error}}",
+ "validator-listerrors-severity-message": "{{Optional}}\n* $1 = severity\n* $2 = message",
+ "validator-listerrors-minor": "This is the name of a status that is assigned to an error report.\n{{Identical|Minor}}",
+ "validator-listerrors-low": "This is the name of a status that is assigned to an error report.\n{{Identical|Low}}",
+ "validator-listerrors-normal": "This is the name of a status that is assigned to an error report.\n\n{{Identical|Normal}}",
+ "validator-listerrors-high": "This is the name of a status that is assigned to an error report.\n{{Identical|High}}",
+ "validator-listerrors-fatal": "This is the name of a status that is assigned to an error report.\n{{Identical|Fatal}}",
+ "validator-listerrors-description": "This is the message describing purpose of the „<code>listerrors</code>“ tag.",
+ "validator-listerrors-par-minseverity": "This is the description message for the \"minseverity\" parameter that may be used in conjunction with the <code>listerrors</code> tag.",
+ "validator-describe-description": "This is the message describing purpose of the „<code>describe</code>“ tag.\n{{related|Validator-describe}}",
+ "validator-describe-notfound": "Parameters:\n* $1 - parser hook name",
+ "validator-describe-descriptionmsg": "Preceded by HTML comment {{msg-mw|Validator-describe-autogen}}.\n\nParameters:\n* $1 - message or description\n{{Identical|Description}}\n{{related|Validator-describe}}",
+ "validator-describe-aliases": "Used to describe the list of aliases. Parameters:\n* $1 - list of aliases\n* $2 - number of aliases\nPreceded by {{msg-mw|validator-describe-descriptionmsg}} and a new line.\n{{Identical|Alias}}\n{{related|Validator-describe}}",
+ "validator-describe-parserfunction": "{{Related|Validator-describe}}",
+ "validator-describe-tagextension": "{{Related|Validator-describe}}",
+ "validator-describe-bothhooks": "{{Related|Validator-describe}}",
+ "validator-describe-par-hooks": "This is the description message for the \"hooks\" parameter that may be used in conjunction with the <code>describe</code> tag.\n{{related|Validator-describe}}",
+ "validator-describe-par-pre": "This is the description message for the \"pre\" parameter that may be used in conjunction with the <code>describe</code> tag.\n{{related|Validator-describe}}",
+ "validator-describe-par-language": "This is the description message for the \"language\" parameter that may be used in conjunction with the <code>describe</code> tag.\n{{related|Validator-describe}}",
+ "validator-describe-listtype": "This is a patchwork message. $1 stands for one of these messages: {{msg-mw|Validator-type-string}}, {{msg-mw|Validator-type-number}}, {{msg-mw|Validator-type-integer}}, {{msg-mw|Validator-type-float}}, {{msg-mw|Validator-type-boolean}}, {{msg-mw|Validator-type-char}}\n{{related|Validator-describe}}",
+ "validator-describe-empty": "{{Identical|Empty}}\n{{related|Validator-describe}}",
+ "validator-describe-required": "{{related|Validator-describe}}\n{{Identical|Required}}",
+ "validator-describe-header-parameter": "{{Identical|Parameter}}\n{{related|Validator-describe}}",
+ "validator-describe-header-aliases": "{{Identical|Alias}}\n{{related|Validator-describe}}",
+ "validator-describe-header-type": "{{Identical|Type}}\n{{Related|Validator-describe}}",
+ "validator-describe-header-default": "{{Identical|Default}}\n{{related|Validator-describe}}",
+ "validator-describe-header-description": "{{Identical|Description}}\n{{Related|Validator-describe}}",
+ "validator-describe-parameters": "{{Identical|Parameter}}\n{{related|Validator-describe}}",
+ "validator-describe-syntax": "{{related|Validator-describe}}\n{{Identical|Syntax}}",
+ "validator-describe-tagmin": "{{Related|Validator-describe}}",
+ "validator-describe-tagmax": "{{Related|Validator-describe}}",
+ "validator-describe-tagdefault": "{{Related|Validator-describe}}",
+ "validator-describe-pfmin": "{{Related|Validator-describe}}",
+ "validator-describe-pfmax": "{{Related|Validator-describe}}",
+ "validator-describe-pfdefault": "{{Related|Validator-describe}}",
+ "validator-describe-autogen": "{{Related|Validator-describe}}",
+ "validator_error_empty_argument": "Unused at this time.\n\nParameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator list error empty argument}}\n{{Related|Validator error}}",
+ "validator_error_must_be_number": "Unused at this time.\n\nParameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator list error must be number}}\n{{Related|Validator error}}",
+ "validator_error_must_be_integer": "Unused at this time.\n\nParameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator list error must be integer}}\n{{Related|Validator error}}",
+ "validator_error_must_be_title": "Parameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator list error must be title}}\n{{Related|Validator error}}",
+ "validator_error_must_be_existing_title": "Parameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator list error must be existing title}}\n{{Related|Validator error}}",
+ "validator-error-must-be-float": "Parameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator-list-error-must-be-float}}\n{{Related|Validator error}}",
+ "validator_error_invalid_range": "Parameters:\n* $1 - parameter name\n* $2 - value\n* $3 - value\nSee also:\n* {{msg-mw|Validator list error invalid range}}\n{{Related|Validator error}}",
+ "validator-error-invalid-regex": "Parameters:\n* $1 - parameter name\n* $2 - regular expression\nSee also:\n* {{msg-mw|Validator-list-error-invalid-regex}}\n{{Related|Validator error}}",
+ "validator-error-invalid-length": "Parameters:\n* $1 - parameter name\n* $2 - length\n{{Related|Validator error}}",
+ "validator-error-invalid-length-range": "Parameters:\n* $1 - parameter name\n* $2 - length\n* $3 - length\n{{Related|Validator error}}",
+ "validator_error_invalid_argument": "Parameters:\n* $1 - value\n* $2 - parameter name\nSee also:\n* {{msg-mw|Validator list error invalid argument}}\n{{Related|Validator error}}",
+ "validator_list_error_empty_argument": "Parameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator error empty argument}}\n{{Related|Validator list error}}",
+ "validator_list_error_must_be_number": "Parameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator error must be number}}\n{{Related|Validator list error}}",
+ "validator_list_error_must_be_integer": "Parameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator error must be integer}}\n{{Related|Validator list error}}",
+ "validator_list_error_must_be_title": "Parameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator error must be title}}\n{{Related|Validator list error}}",
+ "validator_list_error_must_be_existing_title": "Parameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator error must be existing title}}\n{{Related|Validator list error}}",
+ "validator-list-error-must-be-float": "Parameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator-error-must-be-float}}\n{{Related|Validator list error}}",
+ "validator_list_error_invalid_range": "Parameters:\n* $1 - parameter name\n* $2 - value\n* $3 - value\nSee also:\n* {{msg-mw|Validator error invalid range}}\n{{Related|Validator list error}}",
+ "validator-list-error-invalid-regex": "Parameters:\n* $1 - parameter name\n* $2 - regular expression\nSee also:\n* {{msg-mw|Validator-error-invalid-regex}}\n{{Related|Validator list error}}",
+ "validator_list_error_invalid_argument": "Parameters:\n* $1 - parameter name\nSee also:\n* {{msg-mw|Validator-list-error-accepts-only}}\n* {{msg-mw|Validator-list-error-accepts-only-omitted}}\n* {{msg-mw|Validator error accepts only}}\n* {{msg-mw|Validator-error-accepts-only-omitted}}\n{{Related|Validator list error}}",
+ "validator-list-error-accepts-only": "Parameters:\n* $1 - parameter name\n* $2 - list of values\n* $3 - number of values\nSee also:\n* {{msg-mw|Validator list error invalid argument}}\n* {{msg-mw|Validator-list-error-accepts-only-omitted}}\n* {{msg-mw|Validator error accepts only}}\n* {{msg-mw|Validator-error-accepts-only-omitted}}\n{{Related|Validator list error}}",
+ "validator-list-error-accepts-only-omitted": "Parameters:\n* $1 - parameter name\n* $2 - ...\n* $3 - number of values\n* $4 - number of values\nSee also:\n* {{msg-mw|Validator list error invalid argument}}\n* {{msg-mw|Validator-list-error-accepts-only}}\n* {{msg-mw|Validator error accepts only}}\n* {{msg-mw|Validator-error-accepts-only-omitted}}\n{{Related|Validator list error}}",
+ "validator_error_accepts_only": "Parameters:\n* $1 - parameter name\n* $2 - ...\n* $3 - number of values\n* $4 - value\nSee also:\n* {{msg-mw|Validator list error invalid argument}}\n* {{msg-mw|Validator-list-error-accepts-only}}\n* {{msg-mw|Validator-list-error-accepts-only-omitted}}\n* {{msg-mw|Validator-error-accepts-only-omitted}}",
+ "validator-error-accepts-only-omitted": "Parameters:\n* $1 - parameter name\n* $2 - value\n* $3 - ...\n* $4 - number of values\n* $5 - number of values\nSee also:\n* {{msg-mw|Validator list error invalid argument}}\n* {{msg-mw|Validator-list-error-accepts-only}}\n* {{msg-mw|Validator-list-error-accepts-only-omitted}}\n* {{msg-mw|Validator error accepts only}}",
+ "validator_list_omitted": "Parameters:\n* $1 - ...\n* $2 - number of values",
+ "validator-message-nodesc": "Indicates that no parameter description is available"
+}
diff --git a/www/wiki/extensions/Validator/i18n/qu.json b/www/wiki/extensions/Validator/i18n/qu.json
new file mode 100644
index 00000000..a414792d
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/qu.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "AlimanRuna"
+ ]
+ },
+ "validator-warning": "Yuyampay: $1"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ro.json b/www/wiki/extensions/Validator/i18n/ro.json
new file mode 100644
index 00000000..4e4e0366
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ro.json
@@ -0,0 +1,49 @@
+{
+ "@metadata": {
+ "authors": [
+ "Minisarm",
+ "Stelistcristi"
+ ]
+ },
+ "validator-warning": "Avertisment: $1",
+ "validator-error": "Eroare: $1",
+ "validator-fatal-error": "Eroare fatală: $1",
+ "validator_error_parameters": "{{PLURAL:$1|Următoarea eroare a fost detectată|Următoarele erori au fost detectate}} în sintaxa dumneavoastră:",
+ "validator_warning_parameters": "Există {{PLURAL:$1|o eroare|erori}} în sintaxa dumneavoastră.",
+ "validator-warning-adittional-errors": "... și încă {{PLURAL:$1|o problemă|alte câteva probleme}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Valoarea „$1” a fost omisă|Valorile „$1” au fost omise}}.",
+ "validator-error-problem": "S-a produs o problemă cu parametrul $1.",
+ "validator_error_unknown_argument": "$1 nu este un parametru valid.",
+ "validator_error_required_missing": "Parametrul solicitat „$1” nu este furnizat.",
+ "validator-error-override-argument": "S-a încercat suprascrierea parametrului $1 (valoare: $2) cu valoarea „$3”",
+ "validator-type-string": "text",
+ "validator-type-integer": "număr întreg",
+ "validator-type-float": "număr",
+ "validator-type-boolean": "da/nu",
+ "validator-type-char": "caracter",
+ "validator-type-title": "titlu",
+ "validator-type-string-list": "listă de texte",
+ "validator-type-integer-list": "listă de numere întregi",
+ "validator-type-float-list": "listă de numere",
+ "validator-type-boolean-list": "listă de valori da/nu",
+ "validator-type-char-list": "listă de caractere",
+ "validator-type-title-list": "listă de titluri",
+ "validator-listerrors-errors": "Erori",
+ "validator-listerrors-minor": "Minoră",
+ "validator-describe-descriptionmsg": "'''Descriere''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias|Aliasuri}}''': $1",
+ "validator-describe-listtype": "Listă de elemente „$1”",
+ "validator-describe-empty": "fără conținut",
+ "validator-describe-required": "necesar",
+ "validator-describe-header-parameter": "Parametru",
+ "validator-describe-header-aliases": "Aliasuri",
+ "validator-describe-header-type": "Tip",
+ "validator-describe-header-default": "Implicit",
+ "validator-describe-header-description": "Descriere",
+ "validator-describe-parameters": "Parametri",
+ "validator-describe-syntax": "Sintaxă",
+ "validator_error_empty_argument": "Parametrul $1 nu poate avea o valoare goală.",
+ "validator_error_must_be_number": "Parametrul $1 poate fi doar un număr.",
+ "validator_error_must_be_integer": "Parametrul $1 poate fi doar un număr întreg.",
+ "validator-message-nodesc": "Nicio descriere furnizată"
+}
diff --git a/www/wiki/extensions/Validator/i18n/roa-tara.json b/www/wiki/extensions/Validator/i18n/roa-tara.json
new file mode 100644
index 00000000..c0934785
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/roa-tara.json
@@ -0,0 +1,24 @@
+{
+ "@metadata": {
+ "authors": [
+ "Joetaras"
+ ]
+ },
+ "validator-warning": "Avvertimende: $1",
+ "validator-error": "Errore: $1",
+ "validator-fatal-error": "Errore fatale: $1",
+ "validator_error_unknown_argument": "$1 non g'è 'nu parametre valide.",
+ "validator_error_required_missing": "'U parametre richieste \"$1\" non g'è disponibbile.",
+ "validator-type-string": "teste",
+ "validator-type-float": "numere",
+ "validator-type-boolean": "sìne/none",
+ "validator-type-char": "carattere",
+ "validator-type-title": "titole",
+ "validator-type-string-list": "elenghe de teste",
+ "validator-type-integer-list": "elenghe de intere",
+ "validator-type-float-list": "elenghe de numere",
+ "validator-type-boolean-list": "elenghe de sìne/none",
+ "validator-type-char-list": "elenghe de carattere",
+ "validator-type-title-list": "elenghe de titole",
+ "validator-listerrors-errors": "Errore"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ru.json b/www/wiki/extensions/Validator/i18n/ru.json
new file mode 100644
index 00000000..9926ee85
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ru.json
@@ -0,0 +1,102 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aleksandrit",
+ "Eleferen",
+ "Haffman",
+ "Kaganer",
+ "Lockal",
+ "MaxSem",
+ "McDutchie",
+ "Okras",
+ "Van de Bugger",
+ "Александр Сигачёв"
+ ]
+ },
+ "validator-desc": "Библиотека обработки декларативных параметров",
+ "validator-warning": "Внимание: $1",
+ "validator-error": "Ошибка: $1",
+ "validator-fatal-error": "Критическая ошибка: $1",
+ "validator_error_parameters": "В вашем синтаксисе {{PLURAL:$1|1=обнаружена следующая ошибка|обнаружены следующие ошибки}}:",
+ "validator_warning_parameters": "В вашем синтаксисе {{PLURAL:$1|1=имеется ошибка|имеются ошибки}}.",
+ "validator-warning-adittional-errors": "… и {{PLURAL:$1|1=ещё одна проблема|ещё несколько проблем}}.",
+ "validator-error-omitted": "{{PLURAL:$2|1=Значение «$1» пропущено|Значения «$1» пропущены}}.",
+ "validator-error-problem": "Обнаружена проблема с параметром «$1».",
+ "validator_error_unknown_argument": "$1 — недопустимый параметр.",
+ "validator_error_required_missing": "Не указан обязательный параметр $1.",
+ "validator-error-override-argument": "Попытка переопределения параметра $1 (значение: $2) значением «$3»",
+ "validator-type-string": "текст",
+ "validator-type-integer": "целое число",
+ "validator-type-float": "число",
+ "validator-type-boolean": "да/нет",
+ "validator-type-char": "символ",
+ "validator-type-dimension": "число и единица измерения",
+ "validator-type-title": "название",
+ "validator-type-string-list": "список текстов",
+ "validator-type-integer-list": "список целых чисел",
+ "validator-type-float-list": "список цифр",
+ "validator-type-boolean-list": "список да/нет",
+ "validator-type-char-list": "список символов",
+ "validator-type-title-list": "список названий",
+ "validator-listerrors-errors": "Ошибки",
+ "validator-listerrors-minor": "Незначительная",
+ "validator-listerrors-low": "Низкая",
+ "validator-listerrors-normal": "Обычная",
+ "validator-listerrors-high": "Высокая",
+ "validator-listerrors-fatal": "Фатальная",
+ "validator-listerrors-description": "Перечисляет ошибки (и предупреждения), произошедшие в обработчиках парсера, добавленных с помощью Validator.\nВыводятся только обработчики парсера, добавленные выше вставленно listerrors.\nПоместите listerrors в самый конец страницы, чтобы получить все ошибки.",
+ "validator-listerrors-par-minseverity": "Минимальная серьезность вопроса, для включения в список.",
+ "validator-describe-description": "Создает документацию для одного или нескольких обработчиков парсера, по пределениям Validator.",
+ "validator-describe-notfound": "Не существует обработчика парсера для «$1».",
+ "validator-describe-descriptionmsg": "'''Описание''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|1=Псевдоним|Псевдонимы}}''': $1",
+ "validator-describe-parserfunction": "Реализована только функция парсера.",
+ "validator-describe-tagextension": "Реализовано только как дополнительный тег.",
+ "validator-describe-bothhooks": "Реализовано и функция парсера, и дополнительный тег.",
+ "validator-describe-par-hooks": "Обработчик парсера, для которого отображать документацию.",
+ "validator-describe-par-pre": "Позволяет получить фактический викитекст для документации, без показа на странице.",
+ "validator-describe-par-language": "Язык для отображения описания",
+ "validator-describe-listtype": "Перечень пунктов $1",
+ "validator-describe-empty": "пусто",
+ "validator-describe-required": "требуется",
+ "validator-describe-header-parameter": "Параметр",
+ "validator-describe-header-aliases": "Псевдонимы",
+ "validator-describe-header-type": "Тип",
+ "validator-describe-header-default": "По умолчанию",
+ "validator-describe-header-description": "Описание",
+ "validator-describe-parameters": "Параметры",
+ "validator-describe-syntax": "Синтаксис",
+ "validator-describe-tagmin": "Теговое расширение, имеющее только обязательные параметры.",
+ "validator-describe-tagmax": "Теговое расширение со всеми параметрами.",
+ "validator-describe-tagdefault": "Теговое расширение со всеми параметрами, использованием параметров по умолчанию.",
+ "validator-describe-pfmin": "Парсерная функция, имеющая только обязательные параметры.",
+ "validator-describe-pfmax": "Парсерная функция со всеми параметрами.",
+ "validator-describe-pfdefault": "Парсерная функция со всеми параметрами, использованием параметров по умолчанию.",
+ "validator-describe-autogen": "Содержимое этого раздела было автоматически создано парсерным обработчиком «describe» расширения Validator.",
+ "validator_error_empty_argument": "Параметр «$1» не может принимать пустое значение.",
+ "validator_error_must_be_number": "Значением параметра «$1» могут быть только числа.",
+ "validator_error_must_be_integer": "Параметр «$1» может быть только целым числом.",
+ "validator_error_must_be_title": "Параметр «$1» может быть только допустимым именем вики-страницы.",
+ "validator_error_must_be_existing_title": "Параметр «$1» может быть только именем существующей вики-страницы.",
+ "validator-error-must-be-float": "Параметр «$1» может быть числом с плавающей точкой.",
+ "validator_error_invalid_range": "Параметр «$1» должен быть от $2 до $3.",
+ "validator-error-invalid-regex": "Параметр «$1» должен соответствовать регулярному выражению «$2».",
+ "validator-error-invalid-length": "Параметр «$1» должен иметь длину $2.",
+ "validator-error-invalid-length-range": "Параметр «$1» должен иметь длину от $2 до $3.",
+ "validator_error_invalid_argument": "Значение $1 недопустимо для параметра $2",
+ "validator_list_error_empty_argument": "Параметр $1 не может принимать пустые значения.",
+ "validator_list_error_must_be_number": "Параметр $1 может содержать только цифры.",
+ "validator_list_error_must_be_integer": "Параметр $1 может содержать только целые числа.",
+ "validator_list_error_must_be_title": "Параметр $1 может содержать только допустимые имена вики-страниц.",
+ "validator_list_error_must_be_existing_title": "Параметр $1 может содержать только имена существующих вики-страниц.",
+ "validator-list-error-must-be-float": "Параметр «$1» может содержать только числа с плавающей точкой.",
+ "validator_list_error_invalid_range": "Все значения параметра $1 должна находиться в диапазоне от $2 до $3.",
+ "validator-list-error-invalid-regex": "Все значения параметра «$1» должны соответствовать регулярноve выражению «$2».",
+ "validator_list_error_invalid_argument": "Одно или несколько значений параметра $1 ошибочны.",
+ "validator-list-error-accepts-only": "Одно или несколько значений параметра $1 ошибочны. {{PLURAL:$3|1=Допустимо только следующее значение|Допустимы только следующие значения}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Одно или несколько значений параметра $1 ошибочны.\n{{PLURAL:$3|1=Допустимо только следующее значение|Допустимы только следующие значения}}: $2 (и $4 {{PLURAL:$4|опущенное значение|опущенных значений|опущенных значения}}).",
+ "validator_error_accepts_only": "Значение «$4» не подходит для параметра $1. Он может принимать только {{PLURAL:$3|1=следующее значение|следующие значения}}: $2.",
+ "validator-error-accepts-only-omitted": "Значение «$2» не подходит для параметра $1.\n{{PLURAL:$5|1=Допускается только значение|Допускаются только значения}}: $3 (и $4 {{PLURAL:$4|пропущенное значение|пропущенных значений|пропущенных значения}}).",
+ "validator_list_omitted": "{{PLURAL:$2|1=Значение $1 было пропущено|Значения $1 были пропущены}}.",
+ "validator-message-nodesc": "Описание не предоставлено"
+}
diff --git a/www/wiki/extensions/Validator/i18n/rue.json b/www/wiki/extensions/Validator/i18n/rue.json
new file mode 100644
index 00000000..9120de83
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/rue.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gazeb"
+ ]
+ },
+ "validator-type-string": "текст",
+ "validator-listerrors-errors": "Хыбы"
+}
diff --git a/www/wiki/extensions/Validator/i18n/sah.json b/www/wiki/extensions/Validator/i18n/sah.json
new file mode 100644
index 00000000..103c62a4
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/sah.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "HalanTul"
+ ]
+ },
+ "validator-warning": "Болҕой: $1",
+ "validator-error": "Алҕас: $1",
+ "validator-fatal-error": "Бөдөҥ алҕас: $1",
+ "validator-type-boolean": "сөп/суох",
+ "validator-type-char": "бэлиэ",
+ "validator-type-title": "аат",
+ "validator-type-string-list": "тиэкис тиһилигэ"
+}
diff --git a/www/wiki/extensions/Validator/i18n/si.json b/www/wiki/extensions/Validator/i18n/si.json
new file mode 100644
index 00000000..4b596c98
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/si.json
@@ -0,0 +1,71 @@
+{
+ "@metadata": {
+ "authors": [
+ "Calcey",
+ "පසිඳු කාවින්ද"
+ ]
+ },
+ "validator-desc": "තහවුරු කරන්නා ටැග් දිඟුවන් හා parser ශ්‍රිතවල පරාමිතීන් තහවුරු කිරීමට අනෙක් දිඟුවන් සඳහා පහසු ක්‍රමයක් සපයයි,පෙරනිමි අගයන් පිහිටුවීම හා දෝෂ පණිවුඩ ජනනය කිරීම ද සිදු කරයි",
+ "validator-warning": "අවවාදය: $1",
+ "validator-error": "දෝෂය: $1",
+ "validator-fatal-error": "මාරාන්තික දෝෂය: $1",
+ "validator_error_parameters": "ඔබේ වාග් රීතිය මඟින් පහත {{PLURAL:$1|දෝෂය|දෝෂයන්}} අනාවරණය කරනු ලැබ ඇත",
+ "validator-error-problem": "$1 පරාමිතිය සමඟ ගැටලුවක් තිබුණි.",
+ "validator_error_unknown_argument": "$1 වලංගු පරාමිතියක් නොවේ.",
+ "validator_error_required_missing": "අවශ්‍ය වන $1 පරාමිතිය සපයා නොමැත.",
+ "validator-type-string": "පෙළ",
+ "validator-type-integer": "සම්පූර්ණ අංකය",
+ "validator-type-float": "අංකය",
+ "validator-type-boolean": "ඔව්/නැහැ",
+ "validator-type-char": "අක්ෂරය",
+ "validator-type-title": "ශීර්ෂය",
+ "validator-type-string-list": "පාඨ ලැයිස්තුව",
+ "validator-type-integer-list": "පූර්ණ සංඛ්‍යා ලැයිස්තුව",
+ "validator-type-float-list": "අංක ලැයිස්තුව",
+ "validator-type-boolean-list": "ඔව්/නැහැ ලැයිස්තුව",
+ "validator-type-char-list": "අක්ෂර ලැයිස්තුව",
+ "validator-type-title-list": "ශීර්ෂ ලැයිස්තුව",
+ "validator-listerrors-errors": "දෝෂ",
+ "validator-listerrors-minor": "සුළු",
+ "validator-listerrors-low": "අවම",
+ "validator-listerrors-normal": "සාමාන්‍ය",
+ "validator-listerrors-high": "ඉහළ",
+ "validator-listerrors-fatal": "මාරාන්තික",
+ "validator-describe-descriptionmsg": "'''විස්තරය''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|අන්වර්ථ නාමය|අන්වර්ථ නාම}}''': $1",
+ "validator-describe-parserfunction": "ව්‍යාකරණ විග්‍රහ කෘත්‍යක් ලෙස පමණක් ක්‍රියාවට නංවා ඇත.",
+ "validator-describe-tagextension": "ටැග විස්තීර්ණයක් ලෙස පමණක් ක්‍රියාවට නංවා ඇත.",
+ "validator-describe-par-language": "විස්තර සංදර්ශනය කල යුතු භාෂාව",
+ "validator-describe-listtype": "$1 අයිතමවල ලැයිස්තුව",
+ "validator-describe-empty": "හිස්",
+ "validator-describe-required": "අවශ්‍යයි",
+ "validator-describe-header-parameter": "පරාමිතිය",
+ "validator-describe-header-aliases": "අන්වර්ථ නාම",
+ "validator-describe-header-type": "වර්ගය",
+ "validator-describe-header-default": "සාමාන්‍ය",
+ "validator-describe-header-description": "විස්තරය",
+ "validator-describe-parameters": "පරාමිතීන්",
+ "validator-describe-syntax": "වාක්‍ය වින්‍යාසය",
+ "validator-describe-tagmax": "සියලුම පරාමිතීන් සමඟ සම්බන්ධක දිගුව.",
+ "validator-describe-pfmax": "සියලුම පරාමිතීන් සමඟ ව්‍යාකරණ විග්‍රහ කෘත්‍ය.",
+ "validator_error_empty_argument": "$1 පරාමිතියට හිස් අගයක් තිබිය නොහැක.",
+ "validator_error_must_be_number": "$1 පරාමිතිය විය හැක්කේ ඉලක්කමක් පමණි.",
+ "validator_error_must_be_integer": "$1 පරාමිතිය විය හැක්කේ පූර්ණාංකයක් පමණි.",
+ "validator_error_must_be_title": "$1 පරාමිතිය විය හැක්කේ වලංගු විකි පිටු නාමයක් පමණි.",
+ "validator_error_must_be_existing_title": "$1 පරාමිතිය විය හැක්කේ පවත්නා විකි පිටු නාමයක් පමණි.",
+ "validator-error-must-be-float": "$1 පරාමිතිය විය හැක්කේ ඉපිලෙන ලක්ෂ්‍ය අංකයක් පමණි.",
+ "validator_error_invalid_range": "$1 පරාමිතිය $2 හා $3 අතර විය යුතුය.",
+ "validator-error-invalid-regex": "$1 පරාමිතිය විය මෙම ක්‍රමවත් උච්චාරණයට ගැලපිය යුතුය: $2.",
+ "validator-error-invalid-length": "$1 පරාමිතිය $2 දිගකින් යුක්ත විය යුතුය.",
+ "validator-error-invalid-length-range": "$1 පරාමිතිය $2 සහ $3 අතර දිගකින් යුක්ත විය යුතුය.",
+ "validator_error_invalid_argument": "$2 පරාමිතිය සඳහා $1 අගය වලංගු නොවේ.",
+ "validator_list_error_empty_argument": "$1 පරාමිතිය හිස් අගයන් බාරගනු නොලැබේ.",
+ "validator_list_error_must_be_number": "$1 පරාමිතියේ අඩංගු විය හැක්කේ ඉලක්කම් පමණි.",
+ "validator_list_error_must_be_integer": "$1 පරාමිතියේ අඩංගු විය හැක්කේ පූර්ණාංක පමණි.",
+ "validator_list_error_must_be_title": "$1 පරාමිතියේ අඩංගු විය හැක්කේ වලංගු විකි පිටු නාම පමණි.",
+ "validator_list_error_must_be_existing_title": "$1 පරාමිතියේ අඩංගු විය හැක්කේ පවත්නා විකි පිටු නාම පමණි.",
+ "validator-list-error-must-be-float": "$1 පරාමිතියේ අඩංගු විය හැක්කේ ප්ලාවක පමණි.",
+ "validator_list_error_invalid_argument": "$1 පරාමිතිය සඳහා එක් හෝ තවත් අගයන් වලංගු ඒවා නොවේ.",
+ "validator_error_accepts_only": "$1 පරාමිතිය විසින් පිළිගනු ලබන්නේ {{PLURAL:$3|මෙම අගය|මෙම අගයන්}}: $2 පමණි.",
+ "validator-message-nodesc": "විස්තරයක් සපයා නොමැත"
+}
diff --git a/www/wiki/extensions/Validator/i18n/sr-ec.json b/www/wiki/extensions/Validator/i18n/sr-ec.json
new file mode 100644
index 00000000..f7ccd8db
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/sr-ec.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Rancher",
+ "Milicevic01"
+ ]
+ },
+ "validator-error": "Грешка: $1",
+ "validator-listerrors-severity-message": "($1) $2"
+}
diff --git a/www/wiki/extensions/Validator/i18n/sr-el.json b/www/wiki/extensions/Validator/i18n/sr-el.json
new file mode 100644
index 00000000..17f05a27
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/sr-el.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Milicevic01"
+ ]
+ },
+ "validator-error": "Greška: $1",
+ "validator-listerrors-severity-message": "($1) $2"
+}
diff --git a/www/wiki/extensions/Validator/i18n/sv.json b/www/wiki/extensions/Validator/i18n/sv.json
new file mode 100644
index 00000000..7d71f69c
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/sv.json
@@ -0,0 +1,100 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cybjit",
+ "Fluff",
+ "Jopparn",
+ "Martinwiss",
+ "Ozp",
+ "Per",
+ "Sertion",
+ "WikiPhoenix",
+ "Lokal Profil"
+ ]
+ },
+ "validator-desc": "Bibliotek för bearbetning av deklarativa parametrar",
+ "validator-warning": "Varning: $1",
+ "validator-error": "Fel: $1",
+ "validator-fatal-error": "Kritiskt fel: $1",
+ "validator_error_parameters": "Följande {{PLURAL:$1|fel|fel}} har upptäckts i din syntax:",
+ "validator_warning_parameters": "Det finns {{PLURAL:$1|ett|flera}} fel i din syntax.",
+ "validator-warning-adittional-errors": "\n... och {{PLURAL:$1|ett problem till|fler problem}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Värdet \"$1\" har|Värdena\"$1\" har}} uteslutits",
+ "validator-error-problem": "Ett problem uppstod med parametern $1.",
+ "validator_error_unknown_argument": "$1 är inte en giltig paramter.",
+ "validator_error_required_missing": "Den nödvändiga parametern $1 har inte angivits.",
+ "validator-error-override-argument": "Försökte skriva över parametern $1 (värde: $2) med värde \"$3\"",
+ "validator-type-string": "text",
+ "validator-type-integer": "helt nummer",
+ "validator-type-float": "nummer",
+ "validator-type-boolean": "ja/nej",
+ "validator-type-char": "tecken",
+ "validator-type-title": "titel",
+ "validator-type-string-list": "listor med texter",
+ "validator-type-integer-list": "listor med heltal",
+ "validator-type-float-list": "listor med siffror",
+ "validator-type-boolean-list": "listor med ja/nej",
+ "validator-type-char-list": "listor med tecken",
+ "validator-type-title-list": "listor med rubriker",
+ "validator-listerrors-errors": "Fel",
+ "validator-listerrors-minor": "Smärre",
+ "validator-listerrors-low": "Låg",
+ "validator-listerrors-normal": "Normal",
+ "validator-listerrors-high": "Hög",
+ "validator-listerrors-fatal": "Kritisk",
+ "validator-listerrors-description": "Listar fel (och varningar) som inträffat i parserhookar vilka lagts till via Validator.\nEnbart listor för parserhookar som lagts till ovanför <code>listerrors</code>-taggen infogats;\nplacera <code>listerrors</code>-taggen vid eller nära slutet av sidan för att få med alla fel.",
+ "validator-listerrors-par-minseverity": "Minsta allvarlighetsgraden för att ett fel ska listas.",
+ "validator-describe-description": "Genererar dokumentation för en eller flera parserhookar som definierats via Validator.",
+ "validator-describe-notfound": "Det finns ingen parserhook som hanterar \"$1\".",
+ "validator-describe-descriptionmsg": "'''Beskrivning''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Alias}}''': $1",
+ "validator-describe-parserfunction": "Endast implementerad som parserfunktion.",
+ "validator-describe-tagextension": "Endast implementerad som tagg-tillägg.",
+ "validator-describe-bothhooks": "Implementerad som både parserfunktion och tagg-tillägg.",
+ "validator-describe-par-hooks": "Parserhooken för vilken dokumentation ska visas.",
+ "validator-describe-par-pre": "Gör att du kan få de faktiska wikitext för dokumentation, utan att den renderas på sidan.",
+ "validator-describe-par-language": "Det språk beskrivningarna ska visas i",
+ "validator-describe-listtype": "Lista med \"$1\"-element",
+ "validator-describe-empty": "tom",
+ "validator-describe-required": "behövs",
+ "validator-describe-header-parameter": "Parameter",
+ "validator-describe-header-aliases": "Alias",
+ "validator-describe-header-type": "Typ",
+ "validator-describe-header-default": "Förvalt",
+ "validator-describe-header-description": "Beskrivning",
+ "validator-describe-parameters": "Parametrar",
+ "validator-describe-syntax": "Syntax",
+ "validator-describe-tagmin": "Tagg-tillägg med enbart de krävda parametrarna.",
+ "validator-describe-tagmax": "Tagg-tillägg med alla parametrar.",
+ "validator-describe-tagdefault": "Tagg-tillägg där alla parametrar använder standardnotation.",
+ "validator-describe-pfmin": "Parserfunktion med enbart de krävda parametrarna.",
+ "validator-describe-pfmax": "Parserfunktion med alla parametrar.",
+ "validator-describe-pfdefault": "Parserfunktion där alla parametrar använder standardnotation.",
+ "validator-describe-autogen": "Innehållet i det här avsnittet auto-genererades av \"describe\"-parserhooken i Validator-tillägget.",
+ "validator_error_empty_argument": "Parameter $1 kan inte lämnas tom.",
+ "validator_error_must_be_number": "Parameter $1 måste bestå av ett tal.",
+ "validator_error_must_be_integer": "Parameter $1 måste vara ett heltal.",
+ "validator_error_must_be_title": "Parameter $1 kan endast vara namnet på en giltig wikisida.",
+ "validator_error_must_be_existing_title": "Parameter $1 kan endast vara namnet på en existerande wikisida.",
+ "validator-error-must-be-float": "Parameter $1 kan endast vara ett flyttal.",
+ "validator_error_invalid_range": "Parameter $1 måste vara i mellan $2 och $3.",
+ "validator-error-invalid-regex": "Parameter $1 måste matcha detta reguljära uttryck: $2.",
+ "validator-error-invalid-length": "Parameter $1 måste ha en längd på $2.",
+ "validator-error-invalid-length-range": "Parameter $1 måste ha en längd mellan $2 och $3.",
+ "validator_error_invalid_argument": "Värdet $1 är inte giltigt för parameter $2.",
+ "validator_list_error_empty_argument": "Parameter $1 accepterar inte tomma värden.",
+ "validator_list_error_must_be_number": "Parameter $1 får endast innehålla siffror.",
+ "validator_list_error_must_be_integer": "Parameter $1 får endast innehålla heltal.",
+ "validator_list_error_must_be_title": "Parameter $1 kan endast innehåll giltiga namn på wikisidor.",
+ "validator_list_error_must_be_existing_title": "Parameter $1 kan endast innehåll existerande namn på wikisidor.",
+ "validator-list-error-must-be-float": "Parameter $1 får endast innehålla flyttal.",
+ "validator_list_error_invalid_range": "Alla värden på parameter $1 måste vara mellan $2 och $3.",
+ "validator-list-error-invalid-regex": "Alla värden på parameter $1 måste matcha detta reguljära uttryck: $2.",
+ "validator_list_error_invalid_argument": "Ett eller flera värden på parameter $1 är ogiltiga.",
+ "validator-list-error-accepts-only": "Ett eller flera värden på parameter $1 är ogiltiga. Den accepterar enbart {{PLURAL:$3|detta värde|dessa värden}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Ett eller flera värden på parameter $1 är ogiltiga. Den accepterar enbart {{PLURAL:$3|detta värde|dessa värden}}: $2 (och $4 {{PLURAL:$4|värde|värden}} utelämnades).",
+ "validator_error_accepts_only": "Värdet \"$4\" är inte giltigt för parametern $1. Den accepterar bara {{PLURAL:$3|detta värde|dessa värden}}: $2.",
+ "validator-error-accepts-only-omitted": "Värdet \"$2\" är ogiltigt för parameter $1. Den accepterar enbart {{PLURAL:$5|detta värde|dessa värden}}: $3 (och $4 {{PLURAL:$4|värde|värden}} utelämnades).",
+ "validator_list_omitted": "{{PLURAL:$2|Värdet|Värdena}} $1 har blivit {{PLURAL:$2|utelämnat|utelämnade}}.",
+ "validator-message-nodesc": "Ingen beskrivning tillhandahölls"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ta.json b/www/wiki/extensions/Validator/i18n/ta.json
new file mode 100644
index 00000000..a4118ecb
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ta.json
@@ -0,0 +1,38 @@
+{
+ "@metadata": {
+ "authors": [
+ "Karthi.dr",
+ "Shanmugamp7",
+ "மதனாஹரன்"
+ ]
+ },
+ "validator-warning": "எச்சரிக்கை: $1",
+ "validator-error": "பிழை: $1",
+ "validator-type-string": "உரை",
+ "validator-type-integer": "முழு எண்",
+ "validator-type-float": "எண்",
+ "validator-type-boolean": "ஆம்/இல்லை",
+ "validator-type-char": "வரியுரு",
+ "validator-type-title": "தலைப்பு",
+ "validator-type-string-list": "உரைகளின் பட்டியல்",
+ "validator-type-integer-list": "முழு எண்களின் பட்டியல்",
+ "validator-type-float-list": "எண்களின் பட்டியல்",
+ "validator-type-boolean-list": "ஆம்/இல்லை களின் பட்டியல்",
+ "validator-type-char-list": "எழுத்துகளை பட்டியலிடு",
+ "validator-type-title-list": "தலைப்புகளின் பட்டியல்",
+ "validator-listerrors-errors": "பிழைகள்",
+ "validator-listerrors-minor": "சிறிய",
+ "validator-listerrors-low": "குறைவு",
+ "validator-listerrors-normal": "சாதரணம்",
+ "validator-listerrors-high": "அதிகம்",
+ "validator-describe-listtype": "$1 உருப்படிகளின் பட்டியல்",
+ "validator-describe-empty": "காலி",
+ "validator-describe-required": "தேவைபடுகிறது",
+ "validator-describe-header-parameter": "அளபுரு",
+ "validator-describe-header-type": "வகை",
+ "validator-describe-header-default": "இயல்புநிலை",
+ "validator-describe-header-description": "விளக்கம்",
+ "validator-describe-parameters": "அளபுருக்கள்",
+ "validator-describe-syntax": "வழிமுறைத் தொடரமைப்பு",
+ "validator-message-nodesc": "விவரணமேதும் வழங்கப்படவில்லை"
+}
diff --git a/www/wiki/extensions/Validator/i18n/te.json b/www/wiki/extensions/Validator/i18n/te.json
new file mode 100644
index 00000000..a9791eec
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/te.json
@@ -0,0 +1,33 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chaduvari",
+ "Ravichandra",
+ "Veeven"
+ ]
+ },
+ "validator-warning": "హెచ్చరిక: $1",
+ "validator-error": "లోపం: $1",
+ "validator_error_unknown_argument": "$1 అనేది సరైన పరామితి కాదు.",
+ "validator_error_required_missing": "తప్పకుండా కావాల్సిన $1 పరామితిని ఇవ్వలేదు.",
+ "validator-type-string": "పాఠ్యం",
+ "validator-type-integer": "పూర్ణ సంఖ్య",
+ "validator-type-float": "సంఖ్య",
+ "validator-type-boolean": "అవును/కాదు",
+ "validator-type-title": "శీర్షిక",
+ "validator-listerrors-errors": "పొరపాట్లు",
+ "validator-describe-descriptionmsg": "'''వివరణ''': $1",
+ "validator-describe-required": "తప్పనిసరి",
+ "validator-describe-header-aliases": "మారుపేర్లు",
+ "validator-describe-header-type": "రకం",
+ "validator-describe-header-default": "అప్రమేయం",
+ "validator-describe-header-description": "వివరణ",
+ "validator-describe-parameters": "పరామితులు",
+ "validator_error_empty_argument": "$1 పరామితి ఖాళీగా ఉండకూడదు",
+ "validator_error_must_be_number": "$1 పరామితి ఖచ్చితంగా ఓ సంఖ్య అయిఉండాలి",
+ "validator_error_must_be_integer": "$1 పరామితి ఒక పూర్ణసంఖ్య అయిఉండాలి",
+ "validator_error_invalid_range": "$1 పరామితి $2, $3 మద్యలో ఉండాలి.",
+ "validator_error_invalid_argument": "$2 పరామితి కోసం $1 విలువ సరైంది కాదు",
+ "validator_list_error_must_be_number": "$1 పరామితి ఖచ్చితంగా సంఖ్యలను మాత్రమే కలిగివుండాలి.",
+ "validator_list_error_must_be_integer": "$1 పరామితి పూర్ణసంఖ్యలను మాత్రమే కలిగివుండాలి."
+}
diff --git a/www/wiki/extensions/Validator/i18n/tl.json b/www/wiki/extensions/Validator/i18n/tl.json
new file mode 100644
index 00000000..5c255bc2
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/tl.json
@@ -0,0 +1,93 @@
+{
+ "@metadata": {
+ "authors": [
+ "AnakngAraw"
+ ]
+ },
+ "validator-desc": "Nagbibigay ng panlahatang magtangkilik na paghawak sa ibang mga dugtong",
+ "validator-warning": "Babala: $1",
+ "validator-error": "Kamalian: $1",
+ "validator-fatal-error": "Masidhing kamalian: $1",
+ "validator_error_parameters": "Ang sumusunod na {{PLURAL:$1|kamalian|mga kamalian}} ay napansin sa iyong sintaks:",
+ "validator_warning_parameters": "May {{PLURAL:$1|mali|mga mali}} sa sintaks mo.",
+ "validator-warning-adittional-errors": "... at {{PLURAL:$1|isa pang paksa|maramihan pang mga paksa}}.",
+ "validator-error-omitted": "Ang {{PLURAL:$2|halagang \"$1\" ay|mga halaga \"$1\" ay}} natanggal na.",
+ "validator-error-problem": "Nagkaroon ng suliranin sa parametrong $1.",
+ "validator_error_unknown_argument": "Ang $1 ay isang hindi tanggap na parametro.",
+ "validator_error_required_missing": "Hindi ibinigay ang kailangang parametro na $1.",
+ "validator-error-override-argument": "Sinubukang pangingibabawan ang parametrong $1 (halaga: $2) ng halagang \"$3\"",
+ "validator-type-string": "teksto",
+ "validator-type-integer": "buong bilang",
+ "validator-type-float": "bilang",
+ "validator-type-boolean": "oo/hindi",
+ "validator-type-char": "panitik",
+ "validator-type-title": "pamagat",
+ "validator-type-string-list": "lista ng mga teksto",
+ "validator-type-integer-list": "lista ng mga buumbilang",
+ "validator-type-float-list": "lista ng mga bilang",
+ "validator-type-boolean-list": "lista ng oo/hindi",
+ "validator-type-char-list": "lista ng mga panitik",
+ "validator-type-title-list": "lista ng mga pamagat",
+ "validator-listerrors-errors": "Mga kamalian",
+ "validator-listerrors-severity-message": "($1) $2",
+ "validator-listerrors-minor": "Munti",
+ "validator-listerrors-low": "Mababa",
+ "validator-listerrors-normal": "Karaniwan",
+ "validator-listerrors-high": "Mataas",
+ "validator-listerrors-fatal": "Nakamamatay",
+ "validator-listerrors-description": "Naglilista ng mga kamalian (at mga babala) na naganap sa mga kawit na pambanghay na idinagdag sa pamamagitan ng Validator (Tagapagpatunay).\nNaglilista lang ng mga kawit na pambanghay na idinagdag sa itaas kung saan isiningit ang listerrors (mga kamalian sa lista);\nilagay ang listerrrors (mga kamalian sa lista) doon o malapit sa ilalim ng pahina upang makuha ang lahat ng mga kamalian.",
+ "validator-listerrors-par-minseverity": "Ang pinakamaliit na kalubhaan ng isang paksa para ito maitala.",
+ "validator-describe-description": "Bumbuo ng dokumentasyon para sa isa o mahigit pang mga kalawit na pambanghay na binigyan ng kahulugan sa pamamagitan ng Tagapagpatunay.",
+ "validator-describe-notfound": "Walang kawit ng pambanghay na humahawak sa \"$1\".",
+ "validator-describe-descriptionmsg": "'''Paglalarawan''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Taguri|Mga taguri}}''': $1",
+ "validator-describe-parserfunction": "Ipinatupad lamang bilang tungkuling pambanghay.",
+ "validator-describe-tagextension": "Ipinatupad lamang bilang dugtong ng tatak.",
+ "validator-describe-bothhooks": "Ipinatupad bilang kapwa tungkulin ng pambanghay at bilang dugtong ng tatak.",
+ "validator-describe-par-hooks": "Ang mga kalawit ng pambanghay para kung saan ipapakita ang dokumentasyon.",
+ "validator-describe-par-pre": "Nagpapahintulot sa iyo upang makuha ang talagang teksto ng wiki para sa dokumentasyon, na hindi ito inihaharap sa ibabaw ng pahina.",
+ "validator-describe-par-language": "Ang wika na pagpapakitaan ng mga paglalarawan",
+ "validator-describe-listtype": "Tala ng $1 mga bagay",
+ "validator-describe-empty": "walang laman",
+ "validator-describe-required": "kailangan",
+ "validator-describe-header-parameter": "parametro",
+ "validator-describe-header-aliases": "Mga taguri",
+ "validator-describe-header-type": "Uri",
+ "validator-describe-header-default": "Likas na nakatakda",
+ "validator-describe-header-description": "Paglalarawan",
+ "validator-describe-parameters": "Mga parametro",
+ "validator-describe-syntax": "Palaugnayan",
+ "validator-describe-tagmin": "Tatakan ang mga dugtong na may kinakailangang mga parametro lamang.",
+ "validator-describe-tagmax": "Dugtong ng tatak na mayroon ng lahat ng mga parametro.",
+ "validator-describe-tagdefault": "Dugtong ng tatak na mayroon ng lahat ng mga parametro na ginagamit ang likas na nakatakdang talihalat ng parametro.",
+ "validator-describe-pfmin": "Tungkuling pambanghay na mayroon lamang ng kinakailangang mga parametro.",
+ "validator-describe-pfmax": "Tungkulin ng pambanghay na mayroon ng lahat ng mga parametro.",
+ "validator-describe-pfdefault": "Tungkulin ng pambanghay na mayroon ng lahat ng mga parametro na ginagamit ang likas na nakatakdang katalaan ng parametro.",
+ "validator-describe-autogen": "Ang nilalaman ng seksiyong ito ay kusang nilikha ng kawit na pambanghay na \"describe\" ng dugtong na Validator.",
+ "validator_error_empty_argument": "Hindi dapat na isang halagang walang laman ang parametrong $1.",
+ "validator_error_must_be_number": "Dapat na bilang lang ang parametrong $1.",
+ "validator_error_must_be_integer": "Dapat na tambilang lang ang parametrong $1.",
+ "validator_error_must_be_title": "Ang parametrong $1 ay maaaring maging isang katanggap-tanggap na pangalan ng pahina ng wiki lamang.",
+ "validator_error_must_be_existing_title": "Ang parametrong $1 ay maaaring maging isang umiiral na pangalan ng pahina ng wiki lamang.",
+ "validator-error-must-be-float": "Ang parametrong $1 ay maaaring isang lumulutang na bilang ng punto lamang.",
+ "validator_error_invalid_range": "Dapat na nasa pagitan ng $2 at $3 ang parametrong $1.",
+ "validator-error-invalid-regex": "Ang parametrong $1 ay dapat tumugma sa ganitong pangkaraniwang pagsasaad: $2.",
+ "validator-error-invalid-length": "Ang parametrong $1 ay dapat na may isang haba na $2.",
+ "validator-error-invalid-length-range": "Ang parametrong $1 ay dapat na may isang haba na nasa pagitan ng $2 at $3.",
+ "validator_error_invalid_argument": "Ang halagang $1 ay hindi tanggap para sa parametrong $2.",
+ "validator_list_error_empty_argument": "Hindi tumatanggap ng halagang walang laman ang parametrong $1.",
+ "validator_list_error_must_be_number": "Dapat na naglalaman lang ng mga bilang ang parametrong $1.",
+ "validator_list_error_must_be_integer": "Dapat na naglalaman lang ng mga tambilang ang parametrong $1.",
+ "validator_list_error_must_be_title": "Ang parametrong $1 ay maaaring maglaman lamang ng katanggap-tanggap na mga pangalan ng pahina ng wiki.",
+ "validator_list_error_must_be_existing_title": "Ang parametrong $1 ay maaaring maglaman lamang ng umiiral na mga pangalan ng pahina ng wiki lamang.",
+ "validator-list-error-must-be-float": "Ang parametrong $1 ay maaaring maglaman lamang ng mga palutang.",
+ "validator_list_error_invalid_range": "Dapat na nasa pagitan ng $2 at $3 ang lahat ng mga halaga ng parametrong $1.",
+ "validator-list-error-invalid-regex": "Ang lahat ng mga halaga ng parametrong $1 ay dapat na tumugma sa pangkaraniwang pagsasaad na ito: $2.",
+ "validator_list_error_invalid_argument": "Hindi tanggap ang isa o higit pang mga halaga para sa parametrong $1.",
+ "validator-list-error-accepts-only": "Hindi katanggap-tanggap ang isa o mas maraming mga halaga para sa parametrong $1. Tumatanggap lamang ito ng {{PLURAL:$3|ganitong halaga|ganitong mga halaga}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Hindi katanggap-tanggap ang isa o masa marami pang mga halaga para sa parametrong $1. Tumatanggap lamang ito ng {{PLURAL:$3|ganitong halaga|ganitong mga halaga}}: $2 (at $4 na inalis na {{PLURAL:$4|halaga|mga halaga}}).",
+ "validator_error_accepts_only": "Ang halagang \"$4\" ay hindi katanggap-tanggap para sa parametrong $1. Tumatanggap lamang ito ng\n{{PLURAL:$3|ganitong halaga|ganitong mga halaga}}: $2.",
+ "validator-error-accepts-only-omitted": "Ang halagang \"$2\" ay hindi katanggap-tanggap para sa parametrong $1. Tumatanggap lamang ito ng {{PLURAL:$5|ganitong halaga|ganitong mga halaga}}: $3 (at $4 na inalis na {{PLURAL:$4|halaga|mga halaga}}).",
+ "validator_list_omitted": "Tinanggal {{PLURAL:$2|na ang|na ang mga}} {{PLURAL:$2|halaga|halaga}} ng $1.",
+ "validator-message-nodesc": "Walang ibinigay na paglalarawan"
+}
diff --git a/www/wiki/extensions/Validator/i18n/tr.json b/www/wiki/extensions/Validator/i18n/tr.json
new file mode 100644
index 00000000..03550b20
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/tr.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Erdemaslancan",
+ "Vito Genovese",
+ "Stultiwikia"
+ ]
+ },
+ "validator_error_unknown_argument": "$1, geçerli bir parametre değildir.",
+ "validator-describe-aliases": "$2 Eşdeş: $1",
+ "validator-describe-required": "gerekli",
+ "validator-describe-header-parameter": "Parametre",
+ "validator-describe-header-aliases": "Eşdeşler",
+ "validator-describe-header-type": "Tür",
+ "validator_error_empty_argument": "$1 parametresi boş bir değere sahip olamaz.",
+ "validator_error_must_be_number": "$1 parametresi sadece sayı olabilir.",
+ "validator_error_must_be_integer": "$1 parametresi sadece bir tamsayı olabilir",
+ "validator_list_error_empty_argument": "$1 parametresi boş değerleri kabul etmemektedir.",
+ "validator_list_error_must_be_number": "$1 parametresi sadece sayı içerebilir."
+}
diff --git a/www/wiki/extensions/Validator/i18n/uk.json b/www/wiki/extensions/Validator/i18n/uk.json
new file mode 100644
index 00000000..c9093d20
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/uk.json
@@ -0,0 +1,99 @@
+{
+ "@metadata": {
+ "authors": [
+ "Andriykopanytsia",
+ "Base",
+ "NickK",
+ "Olvin",
+ "Prima klasy4na",
+ "Ата",
+ "Piramidion"
+ ]
+ },
+ "validator-desc": "Бібліотека обробки декларативних параметрів",
+ "validator-warning": "Увага: $1",
+ "validator-error": "Помилка: $1",
+ "validator-fatal-error": "Критична помилка: $1",
+ "validator_error_parameters": "У вашому синтаксисі {{PLURAL:$1|1=виявлена така помилка|виявлені такі помилки}}:",
+ "validator_warning_parameters": "У Вашому синтаксисі {{PLURAL:$1|1=є помилка|є помилки}}",
+ "validator-warning-adittional-errors": "… і {{PLURAL:$1|1=ще одна проблема|ще декілька проблем}}.",
+ "validator-error-omitted": "{{PLURAL:$2|Значення «$1»}} пропущено.",
+ "validator-error-problem": "Виявлено проблему із параметром $1.",
+ "validator_error_unknown_argument": "$1 не є допустимим параметром.",
+ "validator_error_required_missing": "Не вказано обов'язковий параметр «$1».",
+ "validator-error-override-argument": "Спроба перевизначення параметра $1 (значення: $2) значенням «$3»",
+ "validator-type-string": "текст",
+ "validator-type-integer": "ціле число",
+ "validator-type-float": "число",
+ "validator-type-boolean": "так/ні",
+ "validator-type-char": "символ",
+ "validator-type-dimension": "число й одиниця виміру",
+ "validator-type-title": "заголовок",
+ "validator-type-string-list": "список текстів",
+ "validator-type-integer-list": "список цілих чисел",
+ "validator-type-float-list": "список чисел",
+ "validator-type-boolean-list": "число так/ні",
+ "validator-type-char-list": "список символів",
+ "validator-type-title-list": "список заголовків",
+ "validator-listerrors-errors": "Помилки",
+ "validator-listerrors-minor": "Незначна",
+ "validator-listerrors-low": "Низька",
+ "validator-listerrors-normal": "Звичайна",
+ "validator-listerrors-high": "Висока",
+ "validator-listerrors-fatal": "Фатальна",
+ "validator-listerrors-description": "Перераховує помилки (і попередження), що трапляються в обробниках парсеру, доданих через Validator.\nВиводяться тільки обробники парсеру, додані вище, де вставлено listerrors;\nпомістіть listerrors в кінець сторінки, щоб отримати усі помилки.",
+ "validator-listerrors-par-minseverity": "Мінімальна серйозність питання для включення його в список.",
+ "validator-describe-description": "Створює документацію для одного чи декількох обробників парсеру, визначених через Validator.",
+ "validator-describe-notfound": "Не існує обробнику парсеру для «$1».",
+ "validator-describe-descriptionmsg": "'''Опис''': $1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|Псевдонім|Псевдоніми|Псевдонімів}}''': $1",
+ "validator-describe-parserfunction": "Реалізовано лише як парсерна функція.",
+ "validator-describe-tagextension": "Реалізовано лише як тег розширення.",
+ "validator-describe-bothhooks": "Реалізовано і як парсерна функція, і як тег розширення.",
+ "validator-describe-par-hooks": "Обробник парсеру, для якого відображається документація.",
+ "validator-describe-par-pre": "Дозволяє отримувати фактичний вікітекст для документації без виведення його на сторінку.",
+ "validator-describe-par-language": "Мова для відображення описів",
+ "validator-describe-listtype": "Список елементів типу $1",
+ "validator-describe-empty": "пусто",
+ "validator-describe-required": "обов'язково",
+ "validator-describe-header-parameter": "Параметр",
+ "validator-describe-header-aliases": "Псевдоніми",
+ "validator-describe-header-type": "Тип",
+ "validator-describe-header-default": "Стандартно",
+ "validator-describe-header-description": "Опис",
+ "validator-describe-parameters": "Параметри",
+ "validator-describe-syntax": "Синтаксис",
+ "validator-describe-tagmin": "Доповнення тегу з одними лише обов'язковими параметрами.",
+ "validator-describe-tagmax": "Доповнення тегу з усіма параметрами.",
+ "validator-describe-tagdefault": "Доповнення тегу з усіма параметрами, із застосуванням стандартної нотації параметрів.",
+ "validator-describe-pfmin": "Функція аналізатора, що має лише обов'язкові параметри.",
+ "validator-describe-pfmax": "Функція парсера зі всіма параметрами.",
+ "validator-describe-pfdefault": "Парсерна функція з усіма параметрами, із застосуванням стандартної нотації параметрів.",
+ "validator-describe-autogen": "Вміст цього розділу було автоматично створено обробником парсеру \"describe\" розширення Validator.",
+ "validator_error_empty_argument": "Параметр $1 не може приймати порожнє значення.",
+ "validator_error_must_be_number": "Параметр $1 може бути лише числом.",
+ "validator_error_must_be_integer": "Параметр $1 може бути лише цілим числом.",
+ "validator_error_must_be_title": "Параметр $1 може бути лише допустимою назвою вікі-сторінки.",
+ "validator_error_must_be_existing_title": "Параметр $1 може бути лише назвою існуючої вікі-сторінки.",
+ "validator-error-must-be-float": "Параметр $1 може бути лише числом з плаваючою крапкою.",
+ "validator_error_invalid_range": "Параметр $1 повинен бути від $2 до $3.",
+ "validator-error-invalid-regex": "Параметр $1 повинен відповідати регулярному виразу: $2.",
+ "validator-error-invalid-length": "Параметр $1 повинен мати довжину $2.",
+ "validator-error-invalid-length-range": "Параметр $1 повинен мати довжину від $2 до $3.",
+ "validator_error_invalid_argument": "Значення $1 не є допустимим для параметра $2.",
+ "validator_list_error_empty_argument": "Параметр $1 не може приймати порожні значення.",
+ "validator_list_error_must_be_number": "Параметр $1 може включати лише числа.",
+ "validator_list_error_must_be_integer": "Параметр $1 може включати лише цілі числа.",
+ "validator_list_error_must_be_title": "Параметр $1 може включати лише допустимі назви вікі-сторінок.",
+ "validator_list_error_must_be_existing_title": "Параметр $1 може включати лише назви існуючих вікі-сторінок.",
+ "validator-list-error-must-be-float": "Параметр $1 може включати лише числа з плаваючою крапкою.",
+ "validator_list_error_invalid_range": "Усі значення параметра $1 мають лежати між $2 і $3.",
+ "validator-list-error-invalid-regex": "Усі значення параметра $1 мають відповідати цьому регулярному виразу: $2.",
+ "validator_list_error_invalid_argument": "Одне або більше значень параметра $1 не припустимі.",
+ "validator-list-error-accepts-only": "Одне або більше значень параметра $1 не припустимі. {{PLURAL:$3|1=Допустиме лише таке значення|Допустимі лише такі значення}}: $2.",
+ "validator-list-error-accepts-only-omitted": "Одне або більше значень параметра $1 не припустимі. {{PLURAL:$3|1=Допустиме лише таке значення|Допустимі лише такі значення}}: $2 (і $4 {{PLURAL:$4|опущене значення|опущені значення|опущених значень}}).",
+ "validator_error_accepts_only": "Значення \"$4\" не припустиме для параметра $1. {{PLURAL:$3|1=Допустиме лише таке значення|Допустимі лише такі значення}}: $2.",
+ "validator-error-accepts-only-omitted": "Значення параметра \"$2\" не припустиме для параметра $1. {{PLURAL:$5|1=Допустиме лише таке значення|Допустимі лише такі значення}}: $3 (і $4 {{PLURAL:$4|опущене значення|опущені значення|опущених значень}}).",
+ "validator_list_omitted": "{{PLURAL:$2|Значення}} $1 {{PLURAL:$2|1=було пропущене|були пропущені}}.",
+ "validator-message-nodesc": "Опис відсутній"
+}
diff --git a/www/wiki/extensions/Validator/i18n/ur.json b/www/wiki/extensions/Validator/i18n/ur.json
new file mode 100644
index 00000000..cbc16bfa
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/ur.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "පසිඳු කාවින්ද"
+ ]
+ },
+ "validator-type-string": "ٹیکسٹ",
+ "validator-type-char": "کردار",
+ "validator-type-title": "عنوان",
+ "validator-listerrors-errors": "غلطیاں",
+ "validator-listerrors-low": "کم",
+ "validator-listerrors-normal": "عام",
+ "validator-listerrors-high": "اعلی",
+ "validator-listerrors-fatal": "مہلک",
+ "validator-describe-empty": "خالی",
+ "validator-describe-header-type": "قسم",
+ "validator-describe-header-default": "پہلے سے طے شدہ",
+ "validator-describe-header-description": "تفصیل",
+ "validator-describe-syntax": "نحو"
+}
diff --git a/www/wiki/extensions/Validator/i18n/vi.json b/www/wiki/extensions/Validator/i18n/vi.json
new file mode 100644
index 00000000..3e54df09
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/vi.json
@@ -0,0 +1,52 @@
+{
+ "@metadata": {
+ "authors": [
+ "Minh Nguyen",
+ "Vinhtantran",
+ "පසිඳු කාවින්ද"
+ ]
+ },
+ "validator-desc": "Thư viện xử lý tham số một cách khai báo",
+ "validator-warning": "Cảnh báo: $1",
+ "validator-error": "Lỗi: $1",
+ "validator_error_parameters": "{{PLURAL:$1|Lỗi|Các lỗi}} cú pháp sau được nhận ra trong mã của bạn:",
+ "validator_warning_parameters": "Có {{PLURAL:$1}}lỗi cú pháp trong mã của bạn.",
+ "validator_error_unknown_argument": "$1 không phải là tham số hợp lệ.",
+ "validator_error_required_missing": "Không định rõ tham số bắt buộc “$1”.",
+ "validator-type-string": "văn bản",
+ "validator-type-integer": "số nguyên",
+ "validator-type-float": "Số",
+ "validator-type-boolean": "có/không",
+ "validator-type-char": "ký tự",
+ "validator-type-title": "Tựa đề",
+ "validator-type-string-list": "danh sách văn bản",
+ "validator-type-integer-list": "danh sách số nguyên",
+ "validator-type-float-list": "danh sách con số",
+ "validator-type-boolean-list": "danh sách có/không",
+ "validator-type-char-list": "danh sách ký tự",
+ "validator-type-title-list": "danh sách tiêu đề",
+ "validator-listerrors-errors": "Lỗi",
+ "validator-listerrors-low": "Thấp",
+ "validator-listerrors-normal": "Thường",
+ "validator-listerrors-high": "Cao",
+ "validator-describe-descriptionmsg": "'''Miêu tả''': $1",
+ "validator-describe-empty": "có sản phẩm nào",
+ "validator-describe-header-parameter": "Tham số",
+ "validator-describe-header-type": "Loại",
+ "validator-describe-header-default": "Mặc định",
+ "validator-describe-header-description": "Miêu tả",
+ "validator-describe-parameters": "Tham số",
+ "validator-describe-syntax": "Cú pháp",
+ "validator_error_empty_argument": "Tham số “$1” không được để trống.",
+ "validator_error_must_be_number": "Tham số “$1” phải là con số.",
+ "validator_error_must_be_integer": "Tham số “$1” phải là số nguyên.",
+ "validator_error_invalid_range": "Tham số “$1” phải nằm giữa $2 và $3.",
+ "validator_error_invalid_argument": "Giá trị “$1” không hợp tham số “$2”.",
+ "validator_list_error_empty_argument": "Không được để trống tham số “$1”.",
+ "validator_list_error_must_be_number": "Tham số “$1” chỉ được phép bao gồm con số.",
+ "validator_list_error_must_be_integer": "Tham số “$1” chỉ được phép bao gồm số nguyên.",
+ "validator_list_error_invalid_range": "Tất cả các giá trị của tham số “$1” phải nằm giữa $2 và $3.",
+ "validator_list_error_invalid_argument": "Ít nhất một giá trị của tham số “$1” không hợp lệ.",
+ "validator_error_accepts_only": "Tham số $1 có giá trị không hợp lệ “$4”. Tham số chỉ nhận được {{PLURAL:$3|giá trị|các giá trị}} này: $2.",
+ "validator_list_omitted": "{{PLURAL:$2|Giá trị|Các giá trị}} “$1” bị bỏ qua."
+}
diff --git a/www/wiki/extensions/Validator/i18n/yi.json b/www/wiki/extensions/Validator/i18n/yi.json
new file mode 100644
index 00000000..12421bce
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/yi.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "පසිඳු කාවින්ද"
+ ]
+ },
+ "validator-type-string": "טעקסט",
+ "validator-type-title": "קעפל",
+ "validator-listerrors-normal": "נארמאַל",
+ "validator-describe-empty": "ליידיק",
+ "validator-describe-header-description": "באַשרײַבונג"
+}
diff --git a/www/wiki/extensions/Validator/i18n/zh-hans.json b/www/wiki/extensions/Validator/i18n/zh-hans.json
new file mode 100644
index 00000000..417d0034
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/zh-hans.json
@@ -0,0 +1,101 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hydra",
+ "Liuxinyu970226",
+ "Richarddong",
+ "Shirayuki",
+ "Wilsonmess",
+ "Xiaomingyan",
+ "Yfdyh000",
+ "乌拉跨氪"
+ ]
+ },
+ "validator-desc": "声明参数处理库",
+ "validator-warning": "警告:$1",
+ "validator-error": "错误:$1",
+ "validator-fatal-error": "致命错误:$1",
+ "validator_error_parameters": "从您的语法中检测到以下{{PLURAL:$1|错误}}:",
+ "validator_warning_parameters": "您的语法中存在{{PLURAL:$1|一个错误|若干错误}}。",
+ "validator-warning-adittional-errors": "......以及{{PLURAL:$1|更多的问题}}。",
+ "validator-error-omitted": "{{PLURAL:$2|值“$1”|“$1”等值}}已被忽略。",
+ "validator-error-problem": "参数$1存在一个问题。",
+ "validator_error_unknown_argument": "$1 不是一个有效的参数。",
+ "validator_error_required_missing": "未提供必需参数“$1”。",
+ "validator-error-override-argument": "试图将参数$1(值:$2)覆盖为值“$3”",
+ "validator-type-string": "文本",
+ "validator-type-integer": "整数",
+ "validator-type-float": "浮点数",
+ "validator-type-boolean": "布尔值",
+ "validator-type-char": "字符",
+ "validator-type-dimension": "数字和空间单位",
+ "validator-type-title": "标题",
+ "validator-type-string-list": "文本列表",
+ "validator-type-integer-list": "整数列表",
+ "validator-type-float-list": "数字列表",
+ "validator-type-boolean-list": "是否列表",
+ "validator-type-char-list": "字符列表",
+ "validator-type-title-list": "标题列表",
+ "validator-listerrors-errors": "错误",
+ "validator-listerrors-severity-message": "($1)$2",
+ "validator-listerrors-minor": "很小",
+ "validator-listerrors-low": "小",
+ "validator-listerrors-normal": "中",
+ "validator-listerrors-high": "大",
+ "validator-listerrors-fatal": "致命",
+ "validator-listerrors-description": "列举发生在通过Validator添加的解析器钩的错误(及警告)。只列举上面插入listerrors的地方添加的解析器钩;将listerrors放置在页面底部或其附近以获取所有错误。",
+ "validator-listerrors-par-minseverity": "要被列举的问题的最小严重度。",
+ "validator-describe-description": "为一个或更多通过Validator定义的解析器钩生成文档。",
+ "validator-describe-notfound": "没有处理“$1”的解析器钩子。",
+ "validator-describe-descriptionmsg": "'''说明''':$1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|别名}}''':$1",
+ "validator-describe-parserfunction": "只作为解析器函数执行。",
+ "validator-describe-tagextension": "只执行为标签扩展。",
+ "validator-describe-bothhooks": "同时作为解析器函数和标签扩展执行。",
+ "validator-describe-par-hooks": "显示文档的解析器钩。",
+ "validator-describe-par-pre": "允许您获取文档实际的wiki文本,而不需要将其呈现在页面上。",
+ "validator-describe-par-language": "要在描述中显示的语言",
+ "validator-describe-listtype": "$1项列表",
+ "validator-describe-empty": "空白",
+ "validator-describe-required": "必填",
+ "validator-describe-header-parameter": "参数",
+ "validator-describe-header-aliases": "别名",
+ "validator-describe-header-type": "类型",
+ "validator-describe-header-default": "默认",
+ "validator-describe-header-description": "说明",
+ "validator-describe-parameters": "参数",
+ "validator-describe-syntax": "语法",
+ "validator-describe-tagmin": "只标记需要参数的扩展。",
+ "validator-describe-tagmax": "带所有参数的标签扩展。",
+ "validator-describe-tagdefault": "具有所有参数并使用默认参数表示法的标签扩展。",
+ "validator-describe-pfmin": "只带必须参数的解析器函数。",
+ "validator-describe-pfmax": "带所有参数的解析器函数。",
+ "validator-describe-pfdefault": "带所有使用默认参数符号的参数解析器函数。",
+ "validator-describe-autogen": "此段落的内容由Validator扩展的“describe”解析器钩自动生成。",
+ "validator_error_empty_argument": "参数 $1 不能为空。",
+ "validator_error_must_be_number": "参数 $1 只能为数字。",
+ "validator_error_must_be_integer": "参数 $1 只能为整数。",
+ "validator_error_must_be_title": "参数$1只能是有效的wiki页面名。",
+ "validator_error_must_be_existing_title": "参数$1只能是现有wiki页面名。",
+ "validator-error-must-be-float": "参数$1只能是一个浮点数。",
+ "validator_error_invalid_range": "参数 $1 的范围必须介于 $2 与 $3 之间。",
+ "validator-error-invalid-regex": "参数$1必须匹配此正则表达式:$2。",
+ "validator-error-invalid-length": "参数$1必须指定$2的长度。",
+ "validator-error-invalid-length-range": "参数$1的长度必须介于$2和$3之间。",
+ "validator_error_invalid_argument": "值 $1 对于参数 $2 不合法。",
+ "validator_list_error_empty_argument": "参数 $1 不接受空值。",
+ "validator_list_error_must_be_number": "参数 $1 只能包含数字。",
+ "validator_list_error_must_be_integer": "参数 $1 只能包含整数。",
+ "validator_list_error_must_be_title": "参数 $1 只能包含有效的wiki页面名。",
+ "validator_list_error_must_be_existing_title": "参数 $1 只能包含现有的wiki页面名。",
+ "validator-list-error-must-be-float": "参数 $1 只能包含浮点数。",
+ "validator_list_error_invalid_range": "参数 $1 所有合法的值都必须介于 $2 与 $3 之间。",
+ "validator-list-error-invalid-regex": "参数 $1 所有合法的值都必须匹配此正则表达式:$2。",
+ "validator_list_error_invalid_argument": "参数 $1 的一个或多个值不合法。",
+ "validator-list-error-accepts-only": "参数$1的一个或更多值无效。它只允许以下$3个值:$2。",
+ "validator-list-error-accepts-only-omitted": "参数$1的一个或更多值无效。它只允许以下$3个值:$2(以及$4个省略值)。",
+ "validator_error_accepts_only": "参数$1的值“$4”无效。它只允许以下$3个值:$2。",
+ "validator-error-accepts-only-omitted": "参数$1的值“$2”无效。它只允许以下$5个值:$3(以及$4个省略值)。",
+ "validator_list_omitted": "{{PLURAL:$2|值}}$1已省略。",
+ "validator-message-nodesc": "没有提供描述"
+}
diff --git a/www/wiki/extensions/Validator/i18n/zh-hant.json b/www/wiki/extensions/Validator/i18n/zh-hant.json
new file mode 100644
index 00000000..9946830a
--- /dev/null
+++ b/www/wiki/extensions/Validator/i18n/zh-hant.json
@@ -0,0 +1,90 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mark85296341",
+ "Shirayuki",
+ "Wrightbus",
+ "LNDDYL",
+ "Cwlin0416",
+ "Liuxinyu970226"
+ ]
+ },
+ "validator-desc": "宣告式參數處理程式庫",
+ "validator-warning": "警告:$1",
+ "validator-error": "錯誤:$1",
+ "validator-fatal-error": "嚴重錯誤:$1",
+ "validator_error_parameters": "已偵測到您的語法中有下列{{PLURAL:$1|一個錯誤|多個錯誤}}:",
+ "validator_warning_parameters": "您的語法有{{PLURAL:$1|一個錯誤|多個錯誤}} 。",
+ "validator-warning-adittional-errors": "... 且還有{{PLURAL:$1|一個問題|多個問題}}。",
+ "validator-error-omitted": "{{PLURAL:$2|數值 \"$1\"|數值 \"$1\"}} 已被省略。",
+ "validator-error-problem": "參數 $1 有問題。",
+ "validator_error_unknown_argument": "$1 不是一個有效的參數。",
+ "validator_error_required_missing": "未提供必要的參數 $1 。",
+ "validator-error-override-argument": "嘗試使用數值 \"$3\" 覆蓋參數 $1 (數值:$2)",
+ "validator-type-string": "文字",
+ "validator-type-integer": "整數",
+ "validator-type-float": "浮點數",
+ "validator-type-boolean": "布林值",
+ "validator-type-char": "字元",
+ "validator-type-title": "標題",
+ "validator-type-string-list": "文字清單",
+ "validator-type-integer-list": "整數清單",
+ "validator-type-float-list": "浮點數清單",
+ "validator-type-boolean-list": "布林值清單",
+ "validator-type-char-list": "字元清單",
+ "validator-type-title-list": "標題清單",
+ "validator-listerrors-errors": "錯誤",
+ "validator-listerrors-severity-message": "($1)$2",
+ "validator-listerrors-minor": "微小",
+ "validator-listerrors-low": "小",
+ "validator-listerrors-normal": "一般",
+ "validator-listerrors-high": "大",
+ "validator-listerrors-fatal": "嚴重",
+ "validator-describe-descriptionmsg": "'''描述''':$1",
+ "validator-describe-aliases": "'''{{PLURAL:$2|別名}}''':$1",
+ "validator-describe-parserfunction": "僅開啟分析器函數。",
+ "validator-describe-tagextension": "僅開啟標籤擴充套件。",
+ "validator-describe-bothhooks": "開啟分析器函數與標籤擴充套件。",
+ "validator-describe-listtype": "$1 個清單項目",
+ "validator-describe-empty": "空白",
+ "validator-describe-required": "必填",
+ "validator-describe-header-parameter": "參數",
+ "validator-describe-header-aliases": "別名",
+ "validator-describe-header-type": "類型",
+ "validator-describe-header-default": "預設",
+ "validator-describe-header-description": "描述",
+ "validator-describe-parameters": "參數",
+ "validator-describe-syntax": "語法",
+ "validator-describe-tagmin": "標籤擴充套件,只含必填參數。",
+ "validator-describe-tagmax": "標籤擴充套件,含所有參數。",
+ "validator-describe-tagdefault": "標籤擴充套件,含所有參數並使用預設參數表示法。",
+ "validator-describe-pfmin": "分析器函數,只含密填參數。",
+ "validator-describe-pfmax": "分析器函數,含所有參數。",
+ "validator-describe-pfdefault": "分析器函數,含所有參數並使用預設參數表示法",
+ "validator_error_empty_argument": "參數 $1 不可為空。",
+ "validator_error_must_be_number": "參數 $1 只能為數字。",
+ "validator_error_must_be_integer": "參數 $1 只能為整數。",
+ "validator_error_must_be_title": "參數 $1 只能為有效的 Wiki 頁面名稱。",
+ "validator_error_must_be_existing_title": "參數 $1 只能為已存在的 Wiki 頁面名稱。",
+ "validator-error-must-be-float": "參數 $1 只能為浮點數。",
+ "validator_error_invalid_range": "參數 $1 必須介於 $2 與 $3 之間。",
+ "validator-error-invalid-regex": "參數 $1 必須符合此正規表示法:$2",
+ "validator-error-invalid-length": "參數 $1 長度必須為 $2",
+ "validator-error-invalid-length-range": "參數 $1 長度必須介於 $2 與 $3 之間。",
+ "validator_error_invalid_argument": "參數 $2 的參數值 $1 無效。",
+ "validator_list_error_empty_argument": "參數 $1 不接受空值。",
+ "validator_list_error_must_be_number": "參數 $1 只能包含數字。",
+ "validator_list_error_must_be_integer": "參數 $1 只能包含整數。",
+ "validator_list_error_must_be_title": "參數 $1 只能包含有效的 Wiki 頁面名稱。",
+ "validator_list_error_must_be_existing_title": "參數 $1 只能包含已存在的 Wiki 頁面名稱。",
+ "validator-list-error-must-be-float": "參數 $1 只能包含浮點數。",
+ "validator_list_error_invalid_range": "參數 $1 所有的參數值都必須介於 $2 與 $3 之間。",
+ "validator-list-error-invalid-regex": "參數 $1 所有的參數值都必須符合此正規表示法:$2。",
+ "validator_list_error_invalid_argument": "參數 $1 的一個或多個參數值無效。",
+ "validator-list-error-accepts-only": "參數 $1 的一個或多個參數值無效,只接受{{PLURAL:$3|參數值|參數值}}:$2。",
+ "validator-list-error-accepts-only-omitted": "參數 $1 的一個或多個參數值無效,只接受{{PLURAL:$3|參數值|參數值}}:$2 (且略過 $4 個{{PLURAL:$4|參數值|參數值}})。",
+ "validator_error_accepts_only": "參數 $1 的參數值 \"$4\" 無效,只接受{{PLURAL:$3|參數值|參數值}}:$2。",
+ "validator-error-accepts-only-omitted": "參數 $1 的參數值 \"$2\" 無效,只接受{{PLURAL:$5|參數值|參數值}}:$3 (且略過 $4 個{{PLURAL:$4|參數值|參數值}})。",
+ "validator_list_omitted": "已略過 $1 個{{PLURAL:$2|參數值}}。",
+ "validator-message-nodesc": "未提供任何描述"
+}
diff --git a/www/wiki/extensions/Validator/phpunit.xml.dist b/www/wiki/extensions/Validator/phpunit.xml.dist
new file mode 100644
index 00000000..0f791be2
--- /dev/null
+++ b/www/wiki/extensions/Validator/phpunit.xml.dist
@@ -0,0 +1,24 @@
+<phpunit backupGlobals="false"
+ backupStaticAttributes="false"
+ bootstrap="tests/bootstrap.php"
+ cacheTokens="false"
+ colors="true"
+ convertErrorsToExceptions="true"
+ convertNoticesToExceptions="true"
+ convertWarningsToExceptions="true"
+ stopOnError="false"
+ stopOnFailure="false"
+ stopOnIncomplete="false"
+ stopOnSkipped="false"
+ verbose="true">
+ <testsuites>
+ <testsuite name="Validator">
+ <directory>tests/phpunit</directory>
+ </testsuite>
+ </testsuites>
+ <filter>
+ <whitelist addUncoveredFilesFromWhitelist="true">
+ <directory suffix=".php">src</directory>
+ </whitelist>
+ </filter>
+</phpunit>
diff --git a/www/wiki/extensions/Validator/src/ParamProcessor/MediaWikiTitleValue.php b/www/wiki/extensions/Validator/src/ParamProcessor/MediaWikiTitleValue.php
new file mode 100644
index 00000000..d8f4e708
--- /dev/null
+++ b/www/wiki/extensions/Validator/src/ParamProcessor/MediaWikiTitleValue.php
@@ -0,0 +1,105 @@
+<?php
+
+namespace ParamProcessor;
+
+use DataValues\DataValueObject;
+use InvalidArgumentException;
+use Title;
+
+/**
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+class MediaWikiTitleValue extends DataValueObject {
+
+ /**
+ * @since 0.1
+ *
+ * @var Title
+ */
+ protected $title;
+
+ /**
+ * @since 0.1
+ *
+ * @param Title $title
+ *
+ * @throws InvalidArgumentException
+ */
+ public function __construct( Title $title ) {
+ $this->title = $title;
+ }
+
+ /**
+ * @see Serializable::serialize
+ *
+ * @since 0.1
+ *
+ * @return string
+ */
+ public function serialize() {
+ return $this->title->getFullText();
+ }
+
+ /**
+ * @see Serializable::unserialize
+ *
+ * @since 0.1
+ *
+ * @param string $value
+ *
+ * @return MediaWikiTitleValue
+ */
+ public function unserialize( $value ) {
+ $this->__construct( Title::newFromText( $value ) );
+ }
+
+ /**
+ * @see DataValue::getType
+ *
+ * @since 0.1
+ *
+ * @return string
+ */
+ public static function getType() {
+ return 'mediawikititle';
+ }
+
+ /**
+ * @see DataValue::getSortKey
+ *
+ * @since 0.1
+ *
+ * @return string|float|int
+ */
+ public function getSortKey() {
+ return $this->title->getCategorySortkey();
+ }
+
+ /**
+ * Returns the Title object.
+ * @see DataValue::getValue
+ *
+ * @since 0.1
+ *
+ * @return Title
+ */
+ public function getValue() {
+ return $this->title;
+ }
+
+ /**
+ * Constructs a new instance of the DataValue from the provided data.
+ * This can round-trip with @see getArrayValue
+ *
+ * @since 0.1
+ *
+ * @param mixed $data
+ *
+ * @return MediaWikiTitleValue
+ */
+ public static function newFromArray( $data ) {
+ return new static( $data );
+ }
+
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Validator/src/ParamProcessor/TitleParser.php b/www/wiki/extensions/Validator/src/ParamProcessor/TitleParser.php
new file mode 100644
index 00000000..a6f2b887
--- /dev/null
+++ b/www/wiki/extensions/Validator/src/ParamProcessor/TitleParser.php
@@ -0,0 +1,36 @@
+<?php
+
+namespace ParamProcessor;
+
+use ValueParsers\ParseException;
+use ValueParsers\StringValueParser;
+
+/**
+ * ValueParser that parses the string representation of a MediaWiki Title object.
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+class TitleParser extends StringValueParser {
+
+ /**
+ * @see StringValueParser::stringParse
+ *
+ * @since 0.1
+ *
+ * @param string $value
+ *
+ * @return MediaWikiTitleValue
+ * @throws ParseException
+ */
+ protected function stringParse( $value ) {
+ $value = \Title::newFromText( $value );
+
+ if ( is_null( $value ) ) {
+ throw new ParseException( 'Not a title' );
+ }
+
+ return new MediaWikiTitleValue( $value );
+ }
+
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Validator/src/legacy/ParserHook.php b/www/wiki/extensions/Validator/src/legacy/ParserHook.php
new file mode 100644
index 00000000..d7b4925c
--- /dev/null
+++ b/www/wiki/extensions/Validator/src/legacy/ParserHook.php
@@ -0,0 +1,613 @@
+<?php
+
+use ParamProcessor\ParamDefinition;
+use ParamProcessor\ProcessingError;
+use ParamProcessor\Processor;
+
+/**
+ * Class for out of the box parser hook functionality integrated with the validation
+ * provided by Validator.
+ *
+ * @since 0.4
+ * @deprecated since 1.0 in favour of the ParserHooks library
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ * @author Daniel Werner
+ */
+abstract class ParserHook {
+
+ const TYPE_TAG = 0;
+ const TYPE_FUNCTION = 1;
+
+ /**
+ * @since 0.4.3
+ *
+ * @var array
+ */
+ protected static $registeredHooks = array();
+
+ /**
+ * Returns an array of registered parser hooks (keys) and their handling
+ * ParserHook deriving class names (values).
+ *
+ * @since 0.4.3
+ *
+ * @return array
+ */
+ public static function getRegisteredParserHooks() {
+ return self::$registeredHooks;
+ }
+
+ /**
+ * Returns the name of the ParserHook deriving class that defines a certain parser hook,
+ * or false if there is none.
+ *
+ * @since 0.4.3
+ *
+ * @param string $hookName
+ *
+ * @return mixed string or false
+ */
+ public static function getHookClassName( $hookName ) {
+ return array_key_exists( $hookName, self::$registeredHooks ) ? self::$registeredHooks[$hookName] : false;
+ }
+
+ /**
+ * @since 0.4
+ *
+ * @var Processor
+ */
+ protected $validator;
+
+ /**
+ * @since 0.4
+ *
+ * @var Parser
+ */
+ protected $parser;
+
+ /**
+ * @since 0.4.4
+ *
+ * @var PPFrame
+ */
+ protected $frame;
+
+ /**
+ * @since 0.4.4
+ *
+ * @var ParserHook::TYPE_ enum item
+ */
+ protected $currentType;
+
+ /**
+ * @since 0.4
+ *
+ * @var boolean
+ */
+ public $forTagExtensions;
+
+ /**
+ * @since 0.4
+ *
+ * @var boolean
+ */
+ public $forParserFunctions;
+
+ /**
+ * Bitfifeld of Options influencing the characteristics of the registered
+ * tag/parser function.
+ *
+ * @since 0.4.13
+ *
+ * @var int
+ */
+ protected $parserHookOptions;
+
+ /**
+ * Gets the name of the parser hook.
+ *
+ * @since 0.4
+ *
+ * @return string or array of string
+ */
+ protected abstract function getName();
+
+ /**
+ * Renders and returns the output.
+ *
+ * @since 0.4
+ *
+ * @param array $parameters
+ *
+ * @return string
+ */
+ protected abstract function render( array $parameters );
+
+ /**
+ * Flag for constructor, whether the function hook should be one callable without
+ * leading hash, i.e. {{plural:...}} instead of {{#if:...}}
+ *
+ * @since 0.4.13
+ */
+ const FH_NO_HASH = 1;
+
+ /* *
+ * @ToDo: implementation of this functionality
+ *
+ * Flag for constructor, whether the tag hook should be handled as function tag hook
+ * and not as a normal tag hook. See Parser::setFunctionTagHook() for details.
+ */
+ #const TH_AS_FUNCTION_TAG = 2;
+
+ /**
+ * Constructor.
+ *
+ * @since 0.4
+ *
+ * @param boolean $forTagExtensions
+ * @param boolean $forParserFunctions
+ * @param integer $flag combination of option flags to manipulare the parser hooks
+ * characteristics. The following are available:
+ * - ParserHook::FH_NO_HASH makes the function callable without leading hash.
+ */
+ public function __construct( $forTagExtensions = true, $forParserFunctions = true, $flags = 0 ) {
+ $this->forTagExtensions = $forTagExtensions;
+ $this->forParserFunctions = $forParserFunctions;
+ // store flags:
+ $this->parserHookOptions = $flags;
+ }
+
+ /**
+ * Function to hook up the coordinate rendering functions to the parser.
+ *
+ * @since 0.4
+ *
+ * @param Parser $parser
+ *
+ * @return true
+ */
+ public function init( Parser &$parser ) {
+ $className = get_class( $this );
+ $first = true;
+
+ foreach ( $this->getNames() as $name ) {
+ if ( $first ) {
+ self::$registeredHooks[$name] = $className;
+ $first = false;
+ }
+
+ // Parser Tag hooking:
+ if ( $this->forTagExtensions ) {
+ $parser->setHook(
+ $name,
+ array( new ParserHookCaller( $className, 'renderTag' ), 'runTagHook' )
+ );
+ }
+
+ // Parser Function hooking:
+ if ( $this->forParserFunctions ) {
+ $flags = 0;
+ $function = 'renderFunction';
+ $callerFunction = 'runFunctionHook';
+
+ // use object arguments if available:
+ if ( defined( 'SFH_OBJECT_ARGS' ) ) {
+ $flags = $flags | SFH_OBJECT_ARGS;
+ $function .= 'Obj';
+ $callerFunction .= 'Obj';
+ }
+ // no leading Hash required?
+ if ( $this->parserHookOptions & self::FH_NO_HASH ) {
+ $flags = $flags | SFH_NO_HASH;
+ }
+
+ $parser->setFunctionHook(
+ $name,
+ array( new ParserHookCaller( $className, $function ), $callerFunction ),
+ $flags
+ );
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Returns an array with the names for the parser hook.
+ *
+ * @since 0.4
+ *
+ * @return array
+ */
+ protected function getNames() {
+ $names = $this->getName();
+
+ if ( !is_array( $names ) ) {
+ $names = array( $names );
+ }
+
+ return $names;
+ }
+
+ /**
+ * Function to add the magic word in pre MW 1.16.
+ *
+ * @since 0.4
+ *
+ * @param array $magicWords
+ * @param string $langCode
+ *
+ * @return boolean
+ */
+ public function magic( array &$magicWords, $langCode ) {
+ foreach ( $this->getNames() as $name ) {
+ $magicWords[$name] = array( 0, $name );
+ }
+
+ return true;
+ }
+
+ /**
+ * Handler for rendering the tag hook registered by Parser::setHook()
+ *
+ * @since 0.4
+ *
+ * @param mixed $input string or null
+ * @param array $args
+ * @param Parser $parser
+ * @param PPFrame $frame Available from 1.16
+ *
+ * @return string
+ */
+ public function renderTag( $input, array $args, Parser $parser, PPFrame $frame = null ) {
+ $this->parser = $parser;
+ $this->frame = $frame;
+
+ $defaultParameters = $this->getDefaultParameters( self::TYPE_TAG );
+ $defaultParam = array_shift( $defaultParameters );
+
+ // If there is a first default parameter, set the tag contents as its value.
+ if ( !is_null( $defaultParam ) && !is_null( $input ) ) {
+ $args[$defaultParam] = $input;
+ }
+
+ return $this->validateAndRender( $args, self::TYPE_TAG );
+ }
+
+ /**
+ * Handler for rendering the function hook registered by Parser::setFunctionHook()
+ *
+ * @since 0.4
+ *
+ * @param Parser &$parser
+ * ... further arguments ...
+ *
+ * @return array
+ */
+ public function renderFunction( Parser &$parser /*, n args */ ) {
+ $args = func_get_args();
+
+ $this->parser = array_shift( $args );
+
+ $output = $this->validateAndRender( $args, self::TYPE_FUNCTION );
+ $options = $this->getFunctionOptions();
+
+ if ( array_key_exists( 'isHTML', $options ) && $options['isHTML'] ) {
+ /** @ToDo: FIXME: Is this really necessary? The same thing is propably going to
+ * happen in Parser::braceSubstitution() if 'isHTML' is set!
+ * @ToDo: other options besides 'isHTML' like 'noparse' are ignored here!
+ */
+ return $this->parser->insertStripItem( $output, $this->parser->mStripState );
+ }
+
+ return array_merge(
+ array( $output ),
+ $options
+ );
+ }
+
+ /**
+ * Handler for rendering the function hook registered by Parser::setFunctionHook() together
+ * with object style arguments (SFH_OBJECT_ARGS flag).
+ *
+ * @since 0.4.13
+ *
+ * @param Parser &$parser
+ * @param PPFrame $frame
+ * @param type $args
+ * @return array
+ */
+ public function renderFunctionObj( Parser &$parser, PPFrame $frame, $args ) {
+ $this->frame = $frame;
+
+ // create non-object args for old style 'renderFunction()'
+ $oldStyleArgs = array( &$parser );
+
+ foreach( $args as $arg ) {
+ $oldStyleArgs[] = trim( $frame->expand( $arg ) );
+ }
+
+ /*
+ * since we can't validate un-expandet arguments, we just go on with old-style function
+ * handling from here. Only advantage is that we have $this->frame set properly.
+ */
+ return call_user_func_array( array( $this, 'renderFunction' ), $oldStyleArgs );
+ }
+
+ /**
+ * Returns the parser function otpions.
+ *
+ * @since 0.4
+ *
+ * @return array
+ */
+ protected function getFunctionOptions() {
+ return array();
+ }
+
+ /**
+ * Takes care of validation and rendering, and returns the output.
+ *
+ * @since 0.4
+ *
+ * @param array $arguments
+ * @param integer $type Item of the ParserHook::TYPE_ enum
+ *
+ * @return string
+ */
+ public function validateAndRender( array $arguments, $type ) {
+ $names = $this->getNames();
+ $this->validator = Processor::newDefault();
+ $this->validator->getOptions()->setName( $names[0] );
+
+ if ( $type === self::TYPE_FUNCTION ) {
+ $this->validator->setFunctionParams( $arguments, $this->getParameterInfo( $type ), $this->getDefaultParameters( $type ) );
+ }
+ else {
+ $this->validator->setParameters( $arguments, $this->getParameterInfo( $type ) );
+ }
+
+ $this->validator->validateParameters();
+
+ $fatalError = $this->validator->hasFatalError();
+
+ if ( $fatalError === false ) {
+ $output = $this->render( $this->validator->getParameterValues() );
+ }
+ else {
+ $output = $this->renderFatalError( $fatalError );
+ }
+
+ return $output;
+ }
+
+ /**
+ * Returns the ProcessingError objects for the errors and warnings that should be displayed.
+ *
+ * @since 0.4
+ *
+ * @return array of array of ProcessingError
+ */
+ protected function getErrorsToDisplay() {
+ $errors = array();
+ $warnings = array();
+
+ foreach ( $this->validator->getErrors() as $error ) {
+ // Check if the severity of the error is high enough to display it.
+ if ( $error->shouldShow() ) {
+ $errors[] = $error;
+ }
+ elseif ( $error->shouldWarn() ) {
+ $warnings[] = $error;
+ }
+ }
+
+ return array( 'errors' => $errors, 'warnings' => $warnings );
+ }
+
+ /**
+ * Creates and returns the output when a fatal error prevent regular rendering.
+ *
+ * @since 0.4
+ *
+ * @param ProcessingError $error
+ *
+ * @return string
+ */
+ protected function renderFatalError( ProcessingError $error ) {
+ return '<div><span class="errorbox">' .
+ wfMessage( 'validator-fatal-error', $error->getMessage() )->parse() .
+ '</span></div><br /><br />';
+ }
+
+ // TODO: replace render errors functionality
+
+ /**
+ * Returns an array containing the parameter info.
+ * Override in deriving classes to add parameter info.
+ *
+ * @since 0.4
+ *
+ * @param integer $type Item of the ParserHook::TYPE_ enum
+ *
+ * @return array
+ */
+ protected function getParameterInfo( $type ) {
+ return array();
+ }
+
+ public function getParamDefinitions( $type = self::TYPE_FUNCTION ) {
+ return $this->getParameterInfo( $type );
+ }
+
+ /**
+ * Returns the list of default parameters. These parameters can be used as
+ * unnamed parameters where it is not necessary to use the name and the '=' as
+ * long as there is no '=' within the value.
+ * It is possible to define that a parameter should not have a named fallback.
+ * Therefore the information has to be returnd as sub-array with the parameter
+ * name as first and Validator::PARAM_UNNAMED as second value. Parameter using
+ * this option must be set first, before any unnamed parameter in the same order
+ * as set here. All parameters defined before the last parameter making use of
+ * Validator::PARAM_UNNAMED will automatically be populated with this option.
+ *
+ * Override in deriving classes to add default parameters.
+ *
+ * @since 0.4
+ *
+ * @param integer $type Item of the ParserHook::TYPE_ enum
+ *
+ * @return array
+ */
+ protected function getDefaultParameters( $type ) {
+ return array();
+ }
+
+ /**
+ * Returns the data needed to describe the parser hook.
+ * This is mainly needed because some of the individual get methods
+ * that return the needed data are protected, and cannot be made
+ * public without breaking b/c in a rather bad way.
+ *
+ * @since 0.4.3
+ *
+ * @param integer $type Item of the ParserHook::TYPE_ enum
+ *
+ * @return array
+ */
+ public function getDescriptionData( $type ) {
+ return array(
+ 'names' => $this->getNames(),
+ 'description' => $this->getDescription(),
+ 'message' => $this->getMessage(),
+ 'parameters' => ParamDefinition::getCleanDefinitions( $this->getParameterInfo( $type ) ),
+ 'defaults' => $this->getDefaultParameters( $type ),
+ );
+ }
+
+ /**
+ * Returns a description for the parser hook, or false when there is none.
+ * Override in deriving classes to add a message.
+ *
+ * @since 0.4.3
+ * @deprecated since 1.0
+ *
+ * @return mixed string or false
+ */
+ public function getDescription() {
+ $msg = $this->getMessage();
+ return $msg === false ? false : wfMessage( $msg )->plain();
+ }
+
+ /**
+ * Returns a description message for the parser hook, or false when there is none.
+ * Override in deriving classes to add a message.
+ *
+ * @since 0.4.10
+ *
+ * @return mixed string or false
+ */
+ public function getMessage() {
+ return false;
+ }
+
+ /**
+ * Returns if the current render request is coming from a tag extension.
+ *
+ * @since 0.4.4
+ *
+ * @return boolean
+ */
+ protected function isTag() {
+ return $this->currentType == self::TYPE_TAG;
+ }
+
+ /**
+ * Returns if the current render request is coming from a parser function.
+ *
+ * @since 0.4.4
+ *
+ * @return boolean
+ */
+ protected function isFunction() {
+ return $this->currentType == self::TYPE_FUNCTION;
+ }
+
+ /**
+ * Utility function to parse wikitext without having to care
+ * about handling a tag extension or parser function.
+ *
+ * @since 0.4.4
+ *
+ * @param string $text The wikitext to be parsed
+ *
+ * @return string the parsed output
+ */
+ protected function parseWikitext( $text ) {
+ // Parse the wikitext to HTML.
+ if ( $this->isFunction() ) {
+ return $this->parser->parse(
+ $text,
+ $this->parser->mTitle,
+ $this->parser->mOptions,
+ true,
+ false
+ )->getText();
+ }
+ else {
+ return $this->parser->recursiveTagParse(
+ $text,
+ $this->frame
+ );
+ }
+ }
+
+}
+
+/**
+ * Completely evil class to create a new instance of the handling ParserHook when the actual hook gets called.
+ *
+ * @evillness >9000 - to be replaced when a better solution (LSB?) is possible.
+ *
+ * @since 0.4
+ *
+ * @author Jeroen De Dauw
+ * @author Daniel Werner
+ */
+class ParserHookCaller {
+
+ protected $class;
+ protected $method;
+
+ function __construct( $class, $method ) {
+ $this->class = $class;
+ $this->method = $method;
+ }
+
+ /*
+ * See Parser::braceSubstitution() and Parser::extensionSubstitution() for details about
+ * how the Parser object and other parameters are being passed. Therefore for function
+ * hooks &$parser fullfills the same purpos as $parser for the tag hook.
+ * functionTagHook (!) calls (if implemented at a later time) are more like function hooks,
+ * meaning, they would require &$parser as well.
+ */
+
+ public function runTagHook( $input, array $args, Parser $parser, PPFrame $frame = null ) {
+ $obj = new $this->class();
+ return $obj->{$this->method}( $input, $args, $parser, $frame );
+ }
+
+ public function runFunctionHook( Parser &$parser /*, n args */ ) {
+ $args = func_get_args();
+ $args[0] = &$parser; // with '&' becaus call_user_func_array is being used
+ return call_user_func_array( array( new $this->class(), $this->method ), $args );
+ }
+
+ public function runFunctionHookObj( Parser &$parser, PPFrame $frame, array $args ) {
+ $obj = new $this->class();
+ return $obj->{$this->method}( $parser, $frame, $args );
+ }
+
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Validator/src/legacy/README.md b/www/wiki/extensions/Validator/src/legacy/README.md
new file mode 100644
index 00000000..c23a5130
--- /dev/null
+++ b/www/wiki/extensions/Validator/src/legacy/README.md
@@ -0,0 +1,4 @@
+The files is this directory contain functionality that although
+it's currently bundled with ParamProcessor and make use it,
+do not really belong to ParamProcessor, and could just as well
+be put into their own extension(s). \ No newline at end of file
diff --git a/www/wiki/extensions/Validator/tests/bootstrap.php b/www/wiki/extensions/Validator/tests/bootstrap.php
new file mode 100644
index 00000000..55d8f80e
--- /dev/null
+++ b/www/wiki/extensions/Validator/tests/bootstrap.php
@@ -0,0 +1,24 @@
+<?php
+
+if ( php_sapi_name() !== 'cli' ) {
+ die( 'Not an entry point' );
+}
+
+$pwd = getcwd();
+chdir( __DIR__ . '/..' );
+passthru( 'composer update' );
+chdir( $pwd );
+
+$shouldUseMwHack = !defined( 'MEDIAWIKI' );
+
+if ( $shouldUseMwHack ) {
+ require_once( __DIR__ . '/evilMediaWikiBootstrap.php' );
+}
+
+require_once( __DIR__ . '/../vendor/autoload.php' );
+
+if ( $shouldUseMwHack ) {
+ foreach ( $GLOBALS['wgExtensionFunctions'] as $extensionFunction ) {
+ call_user_func( $extensionFunction );
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Validator/tests/evilMediaWikiBootstrap.php b/www/wiki/extensions/Validator/tests/evilMediaWikiBootstrap.php
new file mode 100644
index 00000000..776a6c14
--- /dev/null
+++ b/www/wiki/extensions/Validator/tests/evilMediaWikiBootstrap.php
@@ -0,0 +1,72 @@
+<?php
+
+define( 'MEDIAWIKI', true );
+
+global $IP;
+$IP = getenv( 'MW_INSTALL_PATH' );
+
+if ( $IP === false ) {
+ $IP = dirname( __FILE__ ) . '/../../..';
+}
+
+$self = 'foobar';
+
+// Detect compiled mode
+# Get the MWInit class
+require_once "$IP/includes/Init.php";
+require_once "$IP/includes/AutoLoader.php";
+# Stub the profiler
+require_once "$IP/includes/profiler/Profiler.php";
+
+# Start the profiler
+$wgProfiler = array();
+if ( file_exists( "$IP/StartProfiler.php" ) ) {
+ require "$IP/StartProfiler.php";
+}
+
+// Some other requires
+require_once "$IP/includes/Defines.php";
+
+require_once MWInit::compiledPath( 'includes/DefaultSettings.php' );
+
+foreach ( get_defined_vars() as $key => $var ) {
+ if ( !array_key_exists( $key, $GLOBALS ) ) {
+ $GLOBALS[$key] = $var;
+ }
+}
+
+if ( defined( 'MW_CONFIG_CALLBACK' ) ) {
+ # Use a callback function to configure MediaWiki
+ MWFunction::call( MW_CONFIG_CALLBACK );
+} else {
+ // Require the configuration (probably LocalSettings.php)
+ require loadSettings();
+}
+
+// Some last includes
+require_once MWInit::compiledPath( 'includes/Setup.php' );
+
+// Much much faster startup than creating a title object
+$wgTitle = null;
+
+global $wgAutoloadClasses;
+
+if ( is_null( $wgAutoloadClasses ) ) {
+ $wgAutoloadClasses = array();
+}
+
+require_once $IP . '/tests/TestsAutoLoader.php';
+
+function loadSettings() {
+ global $wgCommandLineMode, $IP;
+
+ $settingsFile = "$IP/LocalSettings.php";
+
+ if ( !is_readable( $settingsFile ) ) {
+ $this->error( "A copy of your installation's LocalSettings.php\n" .
+ "must exist and be readable in the source directory.\n" .
+ "Use --conf to specify it.", true );
+ }
+ $wgCommandLineMode = true;
+ return $settingsFile;
+}
diff --git a/www/wiki/extensions/Validator/tests/phpunit/Definitions/TitleParamTest.php b/www/wiki/extensions/Validator/tests/phpunit/Definitions/TitleParamTest.php
new file mode 100644
index 00000000..eab6a3fe
--- /dev/null
+++ b/www/wiki/extensions/Validator/tests/phpunit/Definitions/TitleParamTest.php
@@ -0,0 +1,77 @@
+<?php
+
+namespace ParamProcessor\Tests\Definitions;
+
+/**
+ * @group Validator
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+class TitleParamTest extends ParamDefinitionTest {
+
+ /**
+ * @see ParamDefinitionTest::getDefinitions
+ */
+ public function getDefinitions() {
+ $params = parent::getDefinitions();
+
+ $params['empty-empty'] = $params['empty'];
+ $params['empty-empty']['hastoexist'] = false;
+
+ $params['values-empty'] = $params['values'];
+ $params['values-empty']['hastoexist'] = false;
+ $params['values-empty']['values'][] = \Title::newFromText( 'foo' );
+
+ return $params;
+ }
+
+ /**
+ * @see ParamDefinitionTest::valueProvider
+ *
+ * @param boolean $stringlyTyped
+ *
+ * @return array
+ */
+ public function valueProvider( $stringlyTyped = true ) {
+ $values = array(
+ 'empty-empty' => array(
+ array( 'foo bar page', true, \Title::newFromText( 'foo bar page' ) ),
+ array( '|', false ),
+ array( '', false ),
+ ),
+ 'empty' => array(
+ array( 'foo bar page', false ),
+ array( '|', false ),
+ array( '', false ),
+ ),
+ 'values-empty' => array(
+ array( 'foo', true, \Title::newFromText( 'foo' ) ),
+ array( 'foo bar page', false ),
+ ),
+ 'values' => array(
+ array( 'foo', false ),
+ array( 'foo bar page', false ),
+ ),
+ );
+
+ if ( !$stringlyTyped ) {
+ foreach ( $values as &$set ) {
+ foreach ( $set as &$value ) {
+ $value[0] = \Title::newFromText( $value[0] );
+ }
+ }
+ }
+
+ return $values;
+ }
+
+ /**
+ * @see ParamDefinitionTest::getType
+ * @return string
+ */
+ public function getType() {
+ return 'title';
+ }
+
+}
diff --git a/www/wiki/extensions/Validator/tests/phpunit/MediaWikiTitleValueTest.php b/www/wiki/extensions/Validator/tests/phpunit/MediaWikiTitleValueTest.php
new file mode 100644
index 00000000..3545b788
--- /dev/null
+++ b/www/wiki/extensions/Validator/tests/phpunit/MediaWikiTitleValueTest.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace ParamProcessor\Tests;
+
+use ParamProcessor\MediaWikiTitleValue;
+
+/**
+ * @covers ParamProcessor\MediaWikiTitleValue
+ *
+ * @group Validator
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+class MediaWikiTitleValueTest extends \PHPUnit_Framework_TestCase {
+
+ public function testGivenValidPage_getValueWorks( ) {
+ $titleValue = new MediaWikiTitleValue( \Title::newFromText( 'Foobar' ) );
+ $this->assertSame( 'Foobar', $titleValue->getValue()->getFullText() );
+ }
+
+}
diff --git a/www/wiki/extensions/Validator/tests/phpunit/TitleParserTest.php b/www/wiki/extensions/Validator/tests/phpunit/TitleParserTest.php
new file mode 100644
index 00000000..18194c9e
--- /dev/null
+++ b/www/wiki/extensions/Validator/tests/phpunit/TitleParserTest.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace ParamProcessor\Tests;
+
+use ParamProcessor\MediaWikiTitleValue;
+use ParamProcessor\TitleParser;
+
+/**
+ * @group Validator
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+class TitleParserTest extends \PHPUnit_Framework_TestCase {
+
+ /**
+ * @dataProvider validInputProvider
+ */
+ public function testValidInputs( $input, $expected ) {
+ $parser = new TitleParser();
+
+ $this->assertEquals(
+ $expected,
+ $parser->parse( $input )
+ );
+ }
+
+ public function validInputProvider() {
+ $argLists = array();
+
+ $valid = array(
+ 'Foo bar',
+ 'Ohi there!',
+ );
+
+ foreach ( $valid as $value ) {
+ $argLists[] = array( $value, new MediaWikiTitleValue( \Title::newFromText( $value ) ) );
+ }
+
+ return $argLists;
+ }
+
+} \ No newline at end of file